{"version":3,"sources":["_metronic/_helpers/ATHelpers.js","app/pages/ImportOrderItems/ImportOrderItems.js","app/pages/ImportOrderItems/ImportOrderItemsComp.js","app/modules/eMPower/pages/PalletsManagmentBeta/PalletManifestLabel.js","app/modules/eMPower/pages/PalletsManagmentBeta/customer-edit-dialog/CustomerEditForm.js","app/modules/eMPower/pages/Transload/ManageContacts/customers-loading-dialog/CustomersLoadingDialog.js","app/modules/eMPower/_redux/Transload/ManageContacts/customersCrud.js","app/modules/eMPower/_redux/Transload/ManageContacts/customersSlice.js","app/modules/eMPower/_redux/Transload/ManageContacts/customersActions.js","app/modules/eMPower/pages/Transload/ManageContacts/customer-edit-dialog/CustomerEditDialogHeader.js","app/modules/eMPower/pages/Transload/ManageContacts/DateFieldFilter.js","app/modules/eMPower/pages/Transload/ManageContacts/customer-edit-dialog/DownshiftMultipleSelect.js","app/modules/eMPower/pages/Transload/ManageContacts/customer-edit-dialog/CustomerEditForm.js","app/modules/eMPower/pages/Transload/ManageContacts/CustomersUIHelpers.js","app/modules/eMPower/pages/Transload/ManageContacts/CustomersUIContext.js","app/modules/eMPower/pages/Transload/ManageContacts/customer-edit-dialog/CustomerEditDialog.js","app/modules/eMPower/pages/Transload/ManageContacts/customer-delete-dialog/CustomerDeleteDialog.js","app/modules/eMPower/pages/Transload/ManageContacts/customers-delete-dialog/CustomersDeleteDialog.js","app/modules/eMPower/pages/Transload/ManageContacts/customers-fetch-dialog/CustomersFetchDialog.js","app/modules/eMPower/pages/Transload/ManageContacts/customers-update-status-dialog/CustomersUpdateStateDialog.js","app/modules/eMPower/pages/Transload/ManageContacts/customers-filter/CustomersFilter.js","app/modules/eMPower/pages/Transload/ManageContacts/customers-table/column-formatters/ActionsColumnFormatter.js","app/modules/eMPower/pages/Transload/ManageContacts/customers-table/CustomersTable.js","app/modules/eMPower/pages/Transload/ManageContacts/customers-grouping/CustomersGrouping.js","app/modules/eMPower/pages/Transload/ManageContacts/CustomersCard.js","app/modules/eMPower/pages/Transload/ManageContacts/CustomersPage.js","app/modules/eMPower/pages/ServiceManageCarriers/customers-loading-dialog/CustomersLoadingDialog.js","app/modules/eMPower/_redux/ServiceManageCarriers/customersCrud.js","app/modules/eMPower/_redux/ServiceManageCarriers/customersSlice.js","app/modules/eMPower/_redux/ServiceManageCarriers/customersActions.js","app/modules/eMPower/pages/ServiceManageCarriers/customer-edit-dialog/CustomerEditDialogHeader.js","app/modules/eMPower/pages/ServiceManageCarriers/CustomersUIHelpers.js","app/modules/eMPower/pages/ServiceManageCarriers/CustomersUIContext.js","app/modules/eMPower/pages/ServiceManageCarriers/customers-grouping/CustomersGrouping.js","app/modules/eMPower/pages/ServiceManageCarriers/customer-edit-dialog/CustomerEditForm.js","app/modules/eMPower/pages/ServiceManageCarriers/customer-edit-dialog/CustomerEditDialog.js","app/modules/eMPower/pages/ServiceManageCarriers/customer-delete-dialog/CustomerDeleteDialog.js","app/modules/eMPower/pages/ServiceManageCarriers/customers-delete-dialog/CustomersDeleteDialog.js","app/modules/eMPower/pages/ServiceManageCarriers/customers-fetch-dialog/CustomersFetchDialog.js","app/modules/eMPower/pages/ServiceManageCarriers/customers-update-status-dialog/CustomersUpdateStateDialog.js","app/modules/eMPower/pages/ServiceManageCarriers/customers-filter/CustomersFilter.js","app/modules/eMPower/pages/ServiceManageCarriers/customers-table/column-formatters/StatusColumnFormatter.js","app/modules/eMPower/pages/ServiceManageCarriers/customers-table/column-formatters/MoveColumnFormatter.js","app/modules/eMPower/pages/ServiceManageCarriers/customers-table/column-formatters/ActionsColumnFormatter.js","app/modules/eMPower/pages/ServiceManageCarriers/customers-table/CustomersTable.js","app/modules/eMPower/pages/ServiceManageCarriers/customer-notify-dialog/CustomerDialogForm.js","app/modules/eMPower/pages/ServiceManageCarriers/CustomersCard.js","app/modules/eMPower/pages/ServiceManageCarriers/CustomersPage.js","app/modules/eMPower/pages/ManagerRatesXW/customers-loading-dialog/CustomersLoadingDialog.js","app/modules/eMPower/_redux/ManageRates/customersSlice.js","app/modules/eMPower/_redux/ManageRates/customersActions.js","app/modules/eMPower/_redux/ManageRates/customersCrud.js","app/modules/eMPower/pages/ManagerRatesXW/customer-edit-dialog/CustomerEditDialogHeader.js","app/modules/eMPower/pages/ManagerRatesXW/customer-edit-dialog/CustomerEditForm.js","app/modules/eMPower/pages/ManagerRatesXW/CustomersUIHelpers.js","app/modules/eMPower/pages/ManagerRatesXW/CustomersUIContext.js","app/modules/eMPower/pages/ManagerRatesXW/customer-edit-dialog/CustomerEditDialog.js","app/modules/eMPower/pages/ManagerRatesXW/customer-delete-dialog/CustomerDeleteDialog.js","app/modules/eMPower/pages/ManagerRatesXW/customers-delete-dialog/CustomersDeleteDialog.js","app/modules/eMPower/pages/ManagerRatesXW/customers-fetch-dialog/CustomersFetchDialog.js","app/modules/eMPower/pages/ManagerRatesXW/customers-update-status-dialog/CustomersUpdateStateDialog.js","app/modules/eMPower/pages/ManagerRatesXW/customers-filter/CustomersFilter.js","app/modules/eMPower/pages/ManagerRatesXW/customers-table/column-formatters/ActionsColumnFormatter.js","app/modules/eMPower/pages/ManagerRatesXW/customers-table/column-formatters/DateColumnFormatterDateEnd.js","app/modules/eMPower/pages/ManagerRatesXW/customers-table/column-formatters/DateColumnFormatterDateStart.js","app/modules/eMPower/pages/ManagerRatesXW/customers-table/CustomersTable.js","app/modules/eMPower/pages/ManagerRatesXW/customers-grouping/CustomersGrouping.js","app/modules/eMPower/pages/ManagerRatesXW/CustomersCard.js","app/modules/eMPower/pages/ManagerRatesXW/CustomersPage.js","app/modules/eMPower/pages/TransactionBillingShipping/customers-loading-dialog/CustomersLoadingDialog.js","app/modules/eMPower/_redux/TransactionBillingShipping/customersCrud.js","app/modules/eMPower/_redux/TransactionBillingShipping/customersSlice.js","app/modules/eMPower/_redux/TransactionBillingShipping/customersActions.js","app/modules/eMPower/pages/TransactionBillingShipping/customer-edit-dialog/CustomerEditDialogHeader.js","app/modules/eMPower/pages/TransactionBillingShipping/customer-edit-dialog/CustomerEditForm.js","app/modules/eMPower/pages/TransactionBillingShipping/CustomersUIHelpers.js","app/modules/eMPower/pages/TransactionBillingShipping/CustomersUIContext.js","app/modules/eMPower/pages/TransactionBillingShipping/customer-edit-dialog/CustomerEditDialog.js","app/modules/eMPower/pages/TransactionBillingShipping/customer-delete-dialog/CustomerDeleteDialog.js","app/modules/eMPower/pages/TransactionBillingShipping/customers-delete-dialog/CustomersDeleteDialog.js","app/modules/eMPower/pages/TransactionBillingShipping/customers-fetch-dialog/CustomersFetchDialog.js","app/modules/eMPower/pages/TransactionBillingShipping/customers-update-status-dialog/CustomersUpdateStateDialog.js","app/modules/eMPower/pages/TransactionBillingShipping/customers-filter/CustomersFilter.js","app/modules/eMPower/pages/TransactionBillingShipping/customers-table/column-formatters/ActionsColumnFormatter.js","app/modules/eMPower/pages/TransactionBillingShipping/customers-table/CustomersTable.js","app/modules/eMPower/pages/TransactionBillingShipping/customers-grouping/CustomersGrouping.js","app/modules/eMPower/pages/TransactionBillingShipping/customer-import-dialog/CustomerDialogForm.js","app/modules/eMPower/pages/TransactionBillingShipping/CustomersCard.js","app/modules/eMPower/pages/TransactionBillingShipping/CustomersPage.js","app/modules/eMPower/pages/Transload/ManageEquipments/customers-loading-dialog/CustomersLoadingDialog.js","app/modules/eMPower/_redux/Transload/ManageEquipments/customersCrud.js","app/modules/eMPower/_redux/Transload/ManageEquipments/customersSlice.js","app/modules/eMPower/_redux/Transload/ManageEquipments/customersActions.js","app/modules/eMPower/pages/Transload/ManageEquipments/customer-edit-dialog/CustomerEditDialogHeader.js","app/modules/eMPower/pages/Transload/ManageEquipments/customer-edit-dialog/CustomerEditForm.js","app/modules/eMPower/pages/Transload/ManageEquipments/CustomersUIHelpers.js","app/modules/eMPower/pages/Transload/ManageEquipments/CustomersUIContext.js","app/modules/eMPower/pages/Transload/ManageEquipments/customer-edit-dialog/CustomerEditDialog.js","app/modules/eMPower/pages/Transload/ManageEquipments/customer-delete-dialog/CustomerDeleteDialog.js","app/modules/eMPower/pages/Transload/ManageEquipments/customers-delete-dialog/CustomersDeleteDialog.js","app/modules/eMPower/pages/Transload/ManageEquipments/customers-fetch-dialog/CustomersFetchDialog.js","app/modules/eMPower/pages/Transload/ManageEquipments/customers-update-status-dialog/CustomersUpdateStateDialog.js","app/modules/eMPower/pages/Transload/ManageEquipments/customers-filter/CustomersFilter.js","app/modules/eMPower/pages/Transload/ManageEquipments/customers-table/column-formatters/StatusColumnFormatter.js","app/modules/eMPower/pages/Transload/ManageEquipments/customers-table/column-formatters/ActionsColumnFormatter.js","app/modules/eMPower/pages/Transload/ManageEquipments/customers-table/column-formatters/RefrigeratedColumnFormatter.js","app/modules/eMPower/pages/Transload/ManageEquipments/customers-table/CustomersTable.js","app/modules/eMPower/pages/Transload/ManageEquipments/customers-grouping/CustomersGrouping.js","app/modules/eMPower/pages/Transload/ManageEquipments/CustomersCard.js","app/modules/eMPower/pages/Transload/ManageEquipments/CustomersPage.js","app/modules/eMPower/pages/LocationBillings/customers-loading-dialog/CustomersLoadingDialog.js","app/modules/eMPower/_redux/LocationBillings/customersCrud.js","app/modules/eMPower/_redux/LocationBillings/customersSlice.js","app/modules/eMPower/_redux/LocationBillings/customersActions.js","app/modules/eMPower/pages/LocationBillings/customer-edit-dialog/CustomerEditDialogHeader.js","app/modules/eMPower/pages/LocationBillings/customer-edit-dialog/CustomerEditForm.js","app/modules/eMPower/pages/LocationBillings/CustomersUIHelpers.js","app/modules/eMPower/pages/LocationBillings/CustomersUIContext.js","app/modules/eMPower/pages/LocationBillings/customer-edit-dialog/CustomerEditDialog.js","app/modules/eMPower/pages/LocationBillings/customer-delete-dialog/CustomerDeleteDialog.js","app/modules/eMPower/pages/LocationBillings/customers-delete-dialog/CustomersDeleteDialog.js","app/modules/eMPower/pages/LocationBillings/customers-fetch-dialog/CustomersFetchDialog.js","app/modules/eMPower/pages/LocationBillings/customers-update-status-dialog/CustomersUpdateStateDialog.js","app/modules/eMPower/pages/LocationBillings/customers-filter/CustomersFilter.js","app/modules/eMPower/pages/LocationBillings/customers-table/column-formatters/ActionsColumnFormatter.js","app/modules/eMPower/pages/LocationBillings/customers-table/CustomersTable.js","app/modules/eMPower/pages/LocationBillings/customers-grouping/CustomersGrouping.js","app/modules/eMPower/pages/LocationBillings/CustomersCard.js","app/modules/eMPower/pages/LocationBillings/CustomersPage.js","app/modules/eMPower/pages/RecurringStorageCharges/customers-loading-dialog/CustomersLoadingDialog.js","app/modules/eMPower/_redux/RecurringStorageCharges/customersCrud.js","app/modules/eMPower/_redux/RecurringStorageCharges/customersSlice.js","app/modules/eMPower/_redux/RecurringStorageCharges/customersActions.js","app/modules/eMPower/pages/RecurringStorageCharges/customer-edit-dialog/CustomerEditDialogHeader.js","app/modules/eMPower/pages/RecurringStorageCharges/customer-edit-dialog/CustomerEditForm.js","app/modules/eMPower/pages/RecurringStorageCharges/CustomersUIHelpers.js","app/modules/eMPower/pages/RecurringStorageCharges/CustomersUIContext.js","app/modules/eMPower/pages/RecurringStorageCharges/customer-edit-dialog/CustomerEditDialog.js","app/modules/eMPower/pages/RecurringStorageCharges/customer-delete-dialog/CustomerDeleteDialog.js","app/modules/eMPower/pages/RecurringStorageCharges/customers-delete-dialog/CustomersDeleteDialog.js","app/modules/eMPower/pages/RecurringStorageCharges/customers-fetch-dialog/CustomersFetchDialog.js","app/modules/eMPower/pages/RecurringStorageCharges/customers-update-status-dialog/CustomersUpdateStateDialog.js","app/modules/eMPower/pages/RecurringStorageCharges/customers-filter/CustomersFilter.js","app/modules/eMPower/pages/RecurringStorageCharges/customers-table/column-formatters/ActionsColumnFormatter.js","app/modules/eMPower/pages/RecurringStorageCharges/customers-table/CustomersTable.js","app/modules/eMPower/pages/RecurringStorageCharges/customers-grouping/CustomersGrouping.js","app/modules/eMPower/pages/RecurringStorageCharges/CustomersCard.js","app/modules/eMPower/pages/RecurringStorageCharges/CustomersPage.js","app/modules/eMPower/pages/ManageTPLScales/customers-loading-dialog/CustomersLoadingDialog.js","app/modules/eMPower/_redux/ManageTPLScales/customersCrud.js","app/modules/eMPower/_redux/ManageTPLScales/customersSlice.js","app/modules/eMPower/_redux/ManageTPLScales/customersActions.js","app/modules/eMPower/pages/ManageTPLScales/customer-edit-dialog/CustomerEditDialogHeader.js","app/modules/eMPower/pages/ManageTPLScales/customer-edit-dialog/CustomerEditForm.js","app/modules/eMPower/pages/ManageTPLScales/CustomersUIHelpers.js","app/modules/eMPower/pages/ManageTPLScales/CustomersUIContext.js","app/modules/eMPower/pages/ManageTPLScales/customer-edit-dialog/CustomerEditDialog.js","app/modules/eMPower/pages/ManageTPLScales/customer-delete-dialog/CustomerDeleteDialog.js","app/modules/eMPower/pages/ManageTPLScales/customers-delete-dialog/CustomersDeleteDialog.js","app/modules/eMPower/pages/ManageTPLScales/customers-fetch-dialog/CustomersFetchDialog.js","app/modules/eMPower/pages/ManageTPLScales/customers-update-status-dialog/CustomersUpdateStateDialog.js","app/modules/eMPower/pages/ManageTPLScales/customers-filter/CustomersFilter.js","app/modules/eMPower/pages/ManageTPLScales/customers-table/column-formatters/ActionsColumnFormatter.js","app/modules/eMPower/pages/ManageTPLScales/customers-table/CustomersTable.js","app/modules/eMPower/pages/ManageTPLScales/customers-grouping/CustomersGrouping.js","app/modules/eMPower/pages/ManageTPLScales/CustomersCard.js","app/modules/eMPower/pages/ManageTPLScales/CustomersPage.js","app/modules/eMPower/pages/CustomLabels/customers-loading-dialog/CustomersLoadingDialog.js","app/modules/eMPower/_redux/CustomLabels/customersCrud.js","app/modules/eMPower/_redux/CustomLabels/customersSlice.js","app/modules/eMPower/_redux/CustomLabels/customersActions.js","app/modules/eMPower/pages/CustomLabels/customer-edit-dialog/CustomerEditDialogHeader.js","app/modules/eMPower/pages/CustomLabels/customer-edit-dialog/CustomerEditForm.js","app/modules/eMPower/pages/CustomLabels/CustomersUIHelpers.js","app/modules/eMPower/pages/CustomLabels/CustomersUIContext.js","app/modules/eMPower/pages/CustomLabels/customer-edit-dialog/CustomerEditDialog.js","app/modules/eMPower/pages/CustomLabels/customer-delete-dialog/CustomerDeleteDialog.js","app/modules/eMPower/pages/CustomLabels/customers-delete-dialog/CustomersDeleteDialog.js","app/modules/eMPower/pages/CustomLabels/customers-fetch-dialog/CustomersFetchDialog.js","app/modules/eMPower/pages/CustomLabels/customers-update-status-dialog/CustomersUpdateStateDialog.js","app/modules/eMPower/pages/CustomLabels/customers-filter/CustomersFilter.js","app/modules/eMPower/pages/CustomLabels/customers-table/column-formatters/ActionsColumnFormatter.js","app/modules/eMPower/pages/CustomLabels/customers-table/CustomersTable.js","app/modules/eMPower/pages/CustomLabels/customers-grouping/CustomersGrouping.js","app/modules/eMPower/pages/CustomLabels/CustomersCard.js","app/modules/eMPower/pages/CustomLabels/CustomersPage.js","app/modules/eMPower/pages/ManageSmartParcelCarriers/customers-loading-dialog/CustomersLoadingDialog.js","app/modules/eMPower/_redux/ManageSmartParcelCarriers/customersCrud.js","app/modules/eMPower/_redux/ManageSmartParcelCarriers/customersSlice.js","app/modules/eMPower/_redux/ManageSmartParcelCarriers/customersActions.js","app/modules/eMPower/pages/ManageSmartParcelCarriers/customer-edit-dialog/CustomerEditDialogHeader.js","app/modules/eMPower/pages/ManageSmartParcelCarriers/customer-edit-dialog/CustomerEditForm.js","app/modules/eMPower/pages/ManageSmartParcelCarriers/CustomersUIHelpers.js","app/modules/eMPower/pages/ManageSmartParcelCarriers/CustomersUIContext.js","app/modules/eMPower/pages/ManageSmartParcelCarriers/customer-edit-dialog/CustomerEditDialog.js","app/modules/eMPower/pages/ManageSmartParcelCarriers/customer-delete-dialog/CustomerDeleteDialog.js","app/modules/eMPower/pages/ManageSmartParcelCarriers/customers-delete-dialog/CustomersDeleteDialog.js","app/modules/eMPower/pages/ManageSmartParcelCarriers/customers-fetch-dialog/CustomersFetchDialog.js","app/modules/eMPower/pages/ManageSmartParcelCarriers/customers-update-status-dialog/CustomersUpdateStateDialog.js","app/modules/eMPower/pages/ManageSmartParcelCarriers/customers-filter/CustomersFilter.js","app/modules/eMPower/pages/ManageSmartParcelCarriers/customers-table/CustomersTable.js","app/modules/eMPower/pages/ManageSmartParcelCarriers/customers-grouping/CustomersGrouping.js","app/modules/eMPower/pages/ManageSmartParcelCarriers/CustomersCard.js","app/modules/eMPower/pages/ManageSmartParcelCarriers/CustomersPage.js","app/modules/eMPower/pages/FreezeTransactions/customers-loading-dialog/CustomersLoadingDialog.js","app/modules/eMPower/_redux/FreezeTransactions/customersCrud.js","app/modules/eMPower/_redux/FreezeTransactions/customersSlice.js","app/modules/eMPower/_redux/FreezeTransactions/customersActions.js","app/modules/eMPower/pages/FreezeTransactions/customer-edit-dialog/CustomerEditDialogHeader.js","app/modules/eMPower/pages/FreezeTransactions/customer-edit-dialog/CustomerEditForm.js","app/modules/eMPower/pages/FreezeTransactions/CustomersUIHelpers.js","app/modules/eMPower/pages/FreezeTransactions/CustomersUIContext.js","app/modules/eMPower/pages/FreezeTransactions/customer-edit-dialog/CustomerEditDialog.js","app/modules/eMPower/pages/FreezeTransactions/customer-delete-dialog/CustomerDeleteDialog.js","app/modules/eMPower/pages/FreezeTransactions/customers-delete-dialog/CustomersDeleteDialog.js","app/modules/eMPower/pages/FreezeTransactions/customers-fetch-dialog/CustomersFetchDialog.js","app/modules/eMPower/pages/FreezeTransactions/customers-update-status-dialog/CustomersUpdateStateDialog.js","app/modules/eMPower/pages/FreezeTransactions/customers-filter/CustomersFilter.js","app/modules/eMPower/pages/FreezeTransactions/customers-table/column-formatters/ActionsColumnFormatter.js","app/modules/eMPower/pages/FreezeTransactions/customers-table/CustomersTable.js","app/modules/eMPower/pages/FreezeTransactions/customers-grouping/CustomersGrouping.js","app/modules/eMPower/pages/FreezeTransactions/CustomersCard.js","app/modules/eMPower/pages/FreezeTransactions/CustomersPage.js","app/modules/eMPower/pages/MovableUnits/customers-loading-dialog/CustomersLoadingDialog.js","app/modules/eMPower/_redux/MovableUnits/customersCrud.js","app/modules/eMPower/_redux/MovableUnits/customersSlice.js","app/modules/eMPower/_redux/MovableUnits/customersActions.js","app/modules/eMPower/pages/MovableUnits/customer-edit-dialog/CustomerEditDialogHeader.js","app/modules/eMPower/pages/MovableUnits/customer-edit-dialog/CustomerEditForm.js","app/modules/eMPower/pages/MovableUnits/CustomersUIHelpers.js","app/modules/eMPower/pages/MovableUnits/CustomersUIContext.js","app/modules/eMPower/pages/MovableUnits/customer-edit-dialog/CustomerEditDialog.js","app/modules/eMPower/pages/MovableUnits/customer-delete-dialog/CustomerDeleteDialog.js","app/modules/eMPower/pages/MovableUnits/customers-delete-dialog/CustomersDeleteDialog.js","app/modules/eMPower/pages/MovableUnits/customers-fetch-dialog/CustomersFetchDialog.js","app/modules/eMPower/pages/MovableUnits/customers-update-status-dialog/CustomersUpdateStateDialog.js","app/modules/eMPower/pages/MovableUnits/customers-filter/CustomersFilter.js","app/modules/eMPower/pages/MovableUnits/customers-table/column-formatters/ActionsColumnFormatter.js","app/modules/eMPower/pages/MovableUnits/customers-table/CustomersTable.js","app/modules/eMPower/pages/MovableUnits/customers-grouping/CustomersGrouping.js","app/modules/eMPower/pages/MovableUnits/CustomersCard.js","app/modules/eMPower/pages/MovableUnits/CustomersPage.js","app/modules/eMPower/pages/ManageModes/customers-loading-dialog/CustomersLoadingDialog.js","app/modules/eMPower/_redux/ManageModes/customersSlice.js","app/modules/eMPower/_redux/ManageModes/customersActions.js","app/modules/eMPower/_redux/ManageModes/customersCrud.js","app/modules/eMPower/pages/ManageModes/customer-edit-dialog/CustomerEditDialogHeader.js","app/modules/eMPower/pages/ManageModes/customer-edit-dialog/CustomerEditForm.js","app/modules/eMPower/pages/ManageModes/CustomersUIHelpers.js","app/modules/eMPower/pages/ManageModes/CustomersUIContext.js","app/modules/eMPower/pages/ManageModes/customer-edit-dialog/CustomerEditDialog.js","app/modules/eMPower/pages/ManageModes/customer-delete-dialog/CustomerDeleteDialog.js","app/modules/eMPower/pages/ManageModes/customers-delete-dialog/CustomersDeleteDialog.js","app/modules/eMPower/pages/ManageModes/customers-fetch-dialog/CustomersFetchDialog.js","app/modules/eMPower/pages/ManageModes/customers-update-status-dialog/CustomersUpdateStateDialog.js","app/modules/eMPower/pages/ManageModes/customers-filter/CustomersFilter.js","app/modules/eMPower/pages/ManageModes/customers-table/column-formatters/ActionsColumnFormatter.js","app/modules/eMPower/pages/ManageModes/customers-table/CustomersTable.js","app/modules/eMPower/pages/ManageModes/customers-grouping/CustomersGrouping.js","app/modules/eMPower/pages/ManageModes/CustomersCard.js","app/modules/eMPower/pages/ManageModes/CustomersPage.js","app/modules/eMPower/pages/ManageEquipmentsType/customers-loading-dialog/CustomersLoadingDialog.js","app/modules/eMPower/_redux/ManageEquipmentsType/customersCrud.js","app/modules/eMPower/_redux/ManageEquipmentsType/customersSlice.js","app/modules/eMPower/_redux/ManageEquipmentsType/customersActions.js","app/modules/eMPower/pages/ManageEquipmentsType/customer-edit-dialog/CustomerEditDialogHeader.js","app/modules/eMPower/pages/ManageEquipmentsType/customer-edit-dialog/CustomerEditForm.js","app/modules/eMPower/pages/ManageEquipmentsType/CustomersUIHelpers.js","app/modules/eMPower/pages/ManageEquipmentsType/CustomersUIContext.js","app/modules/eMPower/pages/ManageEquipmentsType/customer-edit-dialog/CustomerEditDialog.js","app/modules/eMPower/pages/ManageEquipmentsType/customer-delete-dialog/CustomerDeleteDialog.js","app/modules/eMPower/pages/ManageEquipmentsType/customers-delete-dialog/CustomersDeleteDialog.js","app/modules/eMPower/pages/ManageEquipmentsType/customers-fetch-dialog/CustomersFetchDialog.js","app/modules/eMPower/pages/ManageEquipmentsType/customers-update-status-dialog/CustomersUpdateStateDialog.js","app/modules/eMPower/pages/ManageEquipmentsType/customers-filter/CustomersFilter.js","app/modules/eMPower/pages/ManageEquipmentsType/customers-table/column-formatters/ActionsColumnFormatter.js","app/modules/eMPower/pages/ManageEquipmentsType/customers-table/CustomersTable.js","app/modules/eMPower/pages/ManageEquipmentsType/customers-grouping/CustomersGrouping.js","app/modules/eMPower/pages/ManageEquipmentsType/CustomersCard.js","app/modules/eMPower/pages/ManageEquipmentsType/CustomersPage.js","app/modules/eMPower/pages/ManageServiceLevels/customers-loading-dialog/CustomersLoadingDialog.js","app/modules/eMPower/_redux/ManageServiceLevels/customersCrud.js","app/modules/eMPower/_redux/ManageServiceLevels/customersSlice.js","app/modules/eMPower/_redux/ManageServiceLevels/customersActions.js","app/modules/eMPower/pages/ManageServiceLevels/customer-edit-dialog/CustomerEditDialogHeader.js","app/modules/eMPower/pages/ManageServiceLevels/customer-edit-dialog/CustomerEditForm.js","app/modules/eMPower/pages/ManageServiceLevels/CustomersUIHelpers.js","app/modules/eMPower/pages/ManageServiceLevels/CustomersUIContext.js","app/modules/eMPower/pages/ManageServiceLevels/customer-edit-dialog/CustomerEditDialog.js","app/modules/eMPower/pages/ManageServiceLevels/customer-delete-dialog/CustomerDeleteDialog.js","app/modules/eMPower/pages/ManageServiceLevels/customers-delete-dialog/CustomersDeleteDialog.js","app/modules/eMPower/pages/ManageServiceLevels/customers-fetch-dialog/CustomersFetchDialog.js","app/modules/eMPower/pages/ManageServiceLevels/customers-update-status-dialog/CustomersUpdateStateDialog.js","app/modules/eMPower/pages/ManageServiceLevels/customers-filter/CustomersFilter.js","app/modules/eMPower/pages/ManageServiceLevels/customers-table/column-formatters/ActionsColumnFormatter.js","app/modules/eMPower/pages/ManageServiceLevels/customers-table/CustomersTable.js","app/modules/eMPower/pages/ManageServiceLevels/customers-grouping/CustomersGrouping.js","app/modules/eMPower/pages/ManageServiceLevels/CustomersCard.js","app/modules/eMPower/pages/ManageServiceLevels/CustomersPage.js","app/modules/eMPower/pages/ZoneBilling/customers-loading-dialog/CustomersLoadingDialog.js","app/modules/eMPower/_redux/ZoneBilling/customersSlice.js","app/modules/eMPower/_redux/ZoneBilling/customersActions.js","app/modules/eMPower/_redux/ZoneBilling/customersCrud.js","app/modules/eMPower/pages/ZoneBilling/customer-edit-dialog/CustomerEditDialogHeader.js","app/modules/eMPower/pages/ZoneBilling/customer-edit-dialog/CustomerEditForm.js","app/modules/eMPower/pages/ZoneBilling/CustomersUIHelpers.js","app/modules/eMPower/pages/ZoneBilling/CustomersUIContext.js","app/modules/eMPower/pages/ZoneBilling/customer-edit-dialog/CustomerEditDialog.js","app/modules/eMPower/pages/ZoneBilling/customer-delete-dialog/CustomerDeleteDialog.js","app/modules/eMPower/pages/ZoneBilling/customers-delete-dialog/CustomersDeleteDialog.js","app/modules/eMPower/pages/ZoneBilling/customers-fetch-dialog/CustomersFetchDialog.js","app/modules/eMPower/pages/ZoneBilling/customers-update-status-dialog/CustomersUpdateStateDialog.js","app/modules/eMPower/pages/ZoneBilling/customers-filter/CustomersFilter.js","app/modules/eMPower/pages/ZoneBilling/customers-table/column-formatters/ActionsColumnFormatter.js","app/modules/eMPower/pages/ZoneBilling/customers-table/CustomersTable.js","app/modules/eMPower/pages/ZoneBilling/customers-grouping/CustomersGrouping.js","app/modules/eMPower/pages/ZoneBilling/CustomersCard.js","app/modules/eMPower/pages/ZoneBilling/CustomersPage.js","app/modules/eMPower/pages/ManageWarehouse/customers-loading-dialog/CustomersLoadingDialog.js","app/modules/eMPower/_redux/ManageWarehouse/customersCrud.js","app/modules/eMPower/_redux/ManageWarehouse/customersSlice.js","app/modules/eMPower/_redux/ManageWarehouse/customersActions.js","app/modules/eMPower/pages/ManageWarehouse/customer-edit-dialog/CustomerEditForm.js","app/modules/eMPower/pages/ManageWarehouse/CustomersUIHelpers.js","app/modules/eMPower/pages/ManageWarehouse/CustomersUIContext.js","app/modules/eMPower/pages/ManageWarehouse/customer-edit-dialog/CustomerEditDialogHeader.js","app/modules/eMPower/pages/ManageWarehouse/customer-edit-dialog/CustomerEditDialog.js","app/modules/eMPower/pages/ManageWarehouse/customer-delete-dialog/CustomerDeleteDialog.js","app/modules/eMPower/pages/ManageWarehouse/customers-delete-dialog/CustomersDeleteDialog.js","app/modules/eMPower/pages/ManageWarehouse/customers-fetch-dialog/CustomersFetchDialog.js","app/modules/eMPower/pages/ManageWarehouse/customers-update-status-dialog/CustomersUpdateStateDialog.js","app/modules/eMPower/pages/ManageWarehouse/customers-filter/CustomersFilter.js","app/modules/eMPower/pages/ManageWarehouse/customers-table/column-formatters/StatusColumnFormatter.js","app/modules/eMPower/pages/ManageWarehouse/customers-table/column-formatters/ActionsColumnFormatter.js","app/modules/eMPower/pages/ManageWarehouse/customers-table/CustomersTable.js","app/modules/eMPower/pages/ManageWarehouse/customers-grouping/CustomersGrouping.js","app/modules/eMPower/pages/ManageWarehouse/CustomersCard.js","app/modules/eMPower/pages/ManageWarehouse/CustomersPage.js","app/modules/eMPower/pages/carriers/customers-loading-dialog/CustomersLoadingDialog.js","app/modules/eMPower/pages/carriers/customer-edit-dialog/CustomerEditDialogHeader.js","app/modules/eMPower/pages/carriers/customer-edit-dialog/CustomerEditForm.js","app/modules/eMPower/pages/carriers/CustomersUIHelpers.js","app/modules/eMPower/pages/carriers/CustomersUIContext.js","app/modules/eMPower/pages/carriers/customer-edit-dialog/CustomerEditDialog.js","app/modules/eMPower/pages/carriers/customer-delete-dialog/CustomerDeleteDialog.js","app/modules/eMPower/pages/carriers/customers-delete-dialog/CustomersDeleteDialog.js","app/modules/eMPower/pages/carriers/customers-fetch-dialog/CustomersFetchDialog.js","app/modules/eMPower/pages/carriers/customers-update-status-dialog/CustomersUpdateStateDialog.js","app/modules/eMPower/pages/carriers/customers-filter/CustomersFilter.js","app/modules/eMPower/pages/carriers/customers-table/column-formatters/StatusColumnFormatter.js","app/modules/eMPower/pages/carriers/customers-table/column-formatters/ActionsColumnFormatter.js","app/modules/eMPower/pages/carriers/customers-table/column-formatters/BooleanColumnFormatter.js","app/modules/eMPower/pages/carriers/customers-table/CustomersTable.js","app/modules/eMPower/pages/carriers/customers-grouping/CustomersGrouping.js","app/modules/eMPower/pages/carriers/customer-notify-dialog/CustomerDialogForm.js","app/modules/eMPower/pages/carriers/CustomersCard.js","app/modules/eMPower/pages/carriers/CustomersPage.js","app/modules/eMPower/pages/ManageCustomers/customers-loading-dialog/CustomersLoadingDialog.js","app/modules/eMPower/pages/ManageCustomers/customer-edit-dialog/CustomerEditDialogHeader.js","app/modules/eMPower/pages/ManageCustomers/customer-edit-dialog/DownshiftMultipleSelectCustom.js","app/modules/eMPower/pages/ManageCustomers/customer-edit-dialog/CustomerEditForm.js","app/modules/eMPower/pages/ManageCustomers/CustomersUIHelpers.js","app/modules/eMPower/pages/ManageCustomers/CustomersUIContext.js","app/modules/eMPower/pages/ManageCustomers/customer-edit-dialog/CustomerEditDialog.js","app/modules/eMPower/pages/ManageCustomers/customer-delete-dialog/CustomerDeleteDialog.js","app/modules/eMPower/pages/ManageCustomers/customers-delete-dialog/CustomersDeleteDialog.js","app/modules/eMPower/pages/ManageCustomers/customers-fetch-dialog/CustomersFetchDialog.js","app/modules/eMPower/pages/ManageCustomers/customers-update-status-dialog/CustomersUpdateStateDialog.js","app/modules/eMPower/pages/ManageCustomers/customers-filter/CustomersFilter.js","app/modules/eMPower/pages/ManageCustomers/customers-table/column-formatters/StatusColumnFormatter.js","app/modules/eMPower/pages/ManageCustomers/customers-table/column-formatters/ActionsColumnFormatter.js","app/modules/eMPower/pages/ManageCustomers/customers-table/CustomersTable.js","app/modules/eMPower/pages/ManageCustomers/customers-grouping/CustomersGrouping.js","app/modules/eMPower/pages/ManageCustomers/CustomersCard.js","app/modules/eMPower/pages/ManageCustomers/customer-details-dialog/CustomerDetailsDialog.js","app/modules/eMPower/pages/ManageCustomers/CustomersPage.js","app/modules/eMPower/pages/Transload/ManageAddress/customers-loading-dialog/CustomersLoadingDialog.js","app/modules/eMPower/_redux/Transload/ManageAddress/customersCrud.js","app/modules/eMPower/_redux/Transload/ManageAddress/customersSlice.js","app/modules/eMPower/_redux/Transload/ManageAddress/customersActions.js","app/modules/eMPower/pages/Transload/ManageAddress/CustomersUIHelpers.js","app/modules/eMPower/pages/Transload/ManageAddress/CustomersUIContext.js","app/modules/eMPower/pages/Transload/ManageAddress/customer-edit-dialog/CustomerEditDialog.js","app/modules/eMPower/pages/Transload/ManageAddress/customer-delete-dialog/CustomerDeleteDialog.js","app/modules/eMPower/pages/Transload/ManageAddress/customers-delete-dialog/CustomersDeleteDialog.js","app/modules/eMPower/pages/Transload/ManageAddress/customers-fetch-dialog/CustomersFetchDialog.js","app/modules/eMPower/pages/Transload/ManageAddress/customers-update-status-dialog/CustomersUpdateStateDialog.js","app/modules/eMPower/pages/Transload/ManageAddress/customers-filter/CustomersFilter.js","app/modules/eMPower/pages/Transload/ManageAddress/customers-table/column-formatters/StatusColumnFormatter.js","app/modules/eMPower/pages/Transload/ManageAddress/customers-table/column-formatters/ActionsColumnFormatter.js","app/modules/eMPower/pages/Transload/ManageAddress/customers-table/CustomersTable.js","app/modules/eMPower/pages/Transload/ManageAddress/customers-grouping/CustomersGrouping.js","app/modules/eMPower/pages/Transload/ManageAddress/CustomersCard.js","app/modules/eMPower/pages/Transload/ManageAddress/CustomersPage.js","app/modules/eMPower/pages/ManageZoneBilling/customers-loading-dialog/CustomersLoadingDialog.js","app/modules/eMPower/pages/ManageZoneBilling/customer-edit-dialog/CustomerEditDialogHeader.js","app/modules/eMPower/pages/ManageZoneBilling/customer-edit-dialog/CustomerEditForm.js","app/modules/eMPower/pages/ManageZoneBilling/CustomersUIHelpers.js","app/modules/eMPower/pages/ManageZoneBilling/CustomersUIContext.js","app/modules/eMPower/pages/ManageZoneBilling/customer-edit-dialog/CustomerEditDialog.js","app/modules/eMPower/pages/ManageZoneBilling/customer-delete-dialog/CustomerDeleteDialog.js","app/modules/eMPower/pages/ManageZoneBilling/customers-delete-dialog/CustomersDeleteDialog.js","app/modules/eMPower/pages/ManageZoneBilling/customers-fetch-dialog/CustomersFetchDialog.js","app/modules/eMPower/pages/ManageZoneBilling/customers-update-status-dialog/CustomersUpdateStateDialog.js","app/modules/eMPower/pages/ManageZoneBilling/customers-filter/CustomersFilter.js","app/modules/eMPower/pages/ManageZoneBilling/customers-table/column-formatters/ActionsColumnFormatter.js","app/modules/eMPower/pages/ManageZoneBilling/customers-table/CustomersTable.js","app/modules/eMPower/pages/ManageZoneBilling/customers-grouping/CustomersGrouping.js","app/modules/eMPower/pages/ManageZoneBilling/customer-import-dialog/CustomerDialogForm.js","app/modules/eMPower/pages/ManageZoneBilling/CustomersCard.js","app/modules/eMPower/pages/ManageZoneBilling/CustomersPage.js","app/modules/eMPower/pages/ManageCarrierAccounts/customers-loading-dialog/CustomersLoadingDialog.js","app/modules/eMPower/pages/ManageCarrierAccounts/customer-edit-dialog/CustomerEditDialogHeader.js","app/modules/eMPower/pages/ManageCarrierAccounts/customer-edit-dialog/CustomerEditForm.js","app/modules/eMPower/pages/ManageCarrierAccounts/CustomersUIHelpers.js","app/modules/eMPower/pages/ManageCarrierAccounts/CustomersUIContext.js","app/modules/eMPower/pages/ManageCarrierAccounts/customer-edit-dialog/CustomerEditDialog.js","app/modules/eMPower/pages/ManageCarrierAccounts/customer-delete-dialog/CustomerDeleteDialog.js","app/modules/eMPower/pages/ManageCarrierAccounts/customers-delete-dialog/CustomersDeleteDialog.js","app/modules/eMPower/pages/ManageCarrierAccounts/customers-fetch-dialog/CustomersFetchDialog.js","app/modules/eMPower/pages/ManageCarrierAccounts/customers-update-status-dialog/CustomersUpdateStateDialog.js","app/modules/eMPower/pages/ManageCarrierAccounts/customers-filter/CustomersFilter.js","app/modules/eMPower/pages/ManageCarrierAccounts/customers-table/column-formatters/ActionsColumnFormatter.js","app/modules/eMPower/pages/ManageCarrierAccounts/customers-table/CustomersTable.js","app/modules/eMPower/pages/ManageCarrierAccounts/customers-grouping/CustomersGrouping.js","app/modules/eMPower/pages/ManageCarrierAccounts/CustomersCard.js","app/modules/eMPower/pages/ManageCarrierAccounts/CustomersPage.js","app/modules/eMPower/pages/ManageServices/customers-loading-dialog/CustomersLoadingDialog.js","app/modules/eMPower/pages/ManageServices/customer-edit-dialog/CustomerEditDialogHeader.js","app/modules/eMPower/pages/ManageServices/customer-edit-dialog/CustomerEditForm.js","app/modules/eMPower/pages/ManageServices/CustomersUIHelpers.js","app/modules/eMPower/pages/ManageServices/CustomersUIContext.js","app/modules/eMPower/pages/ManageServices/customer-edit-dialog/CustomerEditDialog.js","app/modules/eMPower/pages/ManageServices/customer-delete-dialog/CustomerDeleteDialog.js","app/modules/eMPower/pages/ManageServices/customers-delete-dialog/CustomersDeleteDialog.js","app/modules/eMPower/pages/ManageServices/customers-fetch-dialog/CustomersFetchDialog.js","app/modules/eMPower/pages/ManageServices/customers-update-status-dialog/CustomersUpdateStateDialog.js","app/modules/eMPower/pages/ManageServices/customers-filter/CustomersFilter.js","app/modules/eMPower/pages/ManageServices/customers-table/column-formatters/ActionsColumnFormatter.js","app/modules/eMPower/pages/ManageServices/customers-table/CustomersTable.js","app/modules/eMPower/pages/ManageServices/customers-grouping/CustomersGrouping.js","app/modules/eMPower/pages/ManageServices/CustomersCard.js","app/modules/eMPower/pages/ManageServices/CustomersPage.js","app/modules/eMPower/pages/FindReceipts/receipts-loading-dialog/ReceiptsLoadingDialog.js","app/modules/eMPower/pages/FindReceipts/ReceiptsUIHelpers.js","app/modules/eMPower/pages/FindReceipts/ReceiptsUIContext.js","app/modules/eMPower/pages/FindReceipts/receipt-delete-dialog/ReceiptDeleteDialog.js","app/modules/eMPower/pages/FindReceipts/receipts-delete-dialog/ReceiptsDeleteDialog.js","app/modules/eMPower/pages/FindReceipts/receipts-fetch-dialog/ReceiptsFetchDialog.js","app/modules/eMPower/pages/FindReceipts/receipts-update-status-dialog/ReceiptsUpdateStatusDialog.js","app/modules/eMPower/pages/FindReceipts/receipts-filter/ReceiptsFilter.js","app/modules/eMPower/pages/FindReceipts/receipts-table/column-formatters/ActionsColumnFormatter.js","app/modules/eMPower/pages/FindReceipts/receipts-table/column-formatters/DateColumnFormatter.js","app/modules/eMPower/pages/FindReceipts/receipts-table/ReceiptsTable.js","app/modules/eMPower/pages/FindReceipts/receipts-grouping/ReceiptsGrouping.js","app/modules/eMPower/pages/FindReceipts/ReceiptsCard.js","app/modules/eMPower/pages/FindReceipts/ReceiptsPage.js","app/modules/eMPower/pages/Transload/ManageUOM/customers-loading-dialog/CustomersLoadingDialog.js","app/modules/eMPower/pages/Transload/ManageUOM/customer-edit-dialog/CustomerEditDialogHeader.js","app/modules/eMPower/pages/Transload/ManageUOM/customer-edit-dialog/CustomerEditForm.js","app/modules/eMPower/pages/Transload/ManageUOM/CustomersUIHelpers.js","app/modules/eMPower/pages/Transload/ManageUOM/CustomersUIContext.js","app/modules/eMPower/pages/Transload/ManageUOM/customer-edit-dialog/CustomerEditDialog.js","app/modules/eMPower/pages/Transload/ManageUOM/customer-delete-dialog/CustomerDeleteDialog.js","app/modules/eMPower/pages/Transload/ManageUOM/customers-delete-dialog/CustomersDeleteDialog.js","app/modules/eMPower/pages/Transload/ManageUOM/customers-fetch-dialog/CustomersFetchDialog.js","app/modules/eMPower/pages/Transload/ManageUOM/customers-update-status-dialog/CustomersUpdateStateDialog.js","app/modules/eMPower/pages/Transload/ManageUOM/customers-filter/CustomersFilter.js","app/modules/eMPower/pages/Transload/ManageUOM/customers-table/column-formatters/ActionsColumnFormatter.js","app/modules/eMPower/pages/Transload/ManageUOM/customers-table/CustomersTable.js","app/modules/eMPower/pages/Transload/ManageUOM/customers-grouping/CustomersGrouping.js","app/modules/eMPower/pages/Transload/ManageUOM/CustomersCard.js","app/modules/eMPower/pages/Transload/ManageUOM/CustomersPage.js","app/modules/eMPower/pages/ManageTMS/products-loading-dialog/ProductsLoadingDialog.js","app/modules/eMPower/pages/ManageTMS/ProductsUIHelpers.js","app/modules/eMPower/pages/ManageTMS/ProductsUIContext.js","app/modules/eMPower/pages/ManageTMS/products-filter/ProductsFilter.js","app/modules/eMPower/pages/ManageTMS/ProductsCard.js","app/modules/eMPower/pages/ManageTMS/ProductsPage.js","app/modules/eMPower/pages/CapacityBoard/customers-loading-dialog/CustomersLoadingDialog.js","app/modules/eMPower/pages/CapacityBoard/customer-edit-dialog/CustomerEditDialogHeader.js","app/modules/eMPower/pages/CapacityBoard/customer-edit-dialog/CustomerEditForm.js","app/modules/eMPower/pages/CapacityBoard/CustomersUIHelpers.js","app/modules/eMPower/pages/CapacityBoard/CustomersUIContext.js","app/modules/eMPower/pages/CapacityBoard/customer-edit-dialog/CustomerEditDialog.js","app/modules/eMPower/pages/CapacityBoard/customer-delete-dialog/CustomerDeleteDialog.js","app/modules/eMPower/pages/CapacityBoard/customers-filter/CustomersFilter.js","app/modules/eMPower/pages/CapacityBoard/customers-grouping/CustomersGrouping.js","app/modules/eMPower/pages/CapacityBoard/CustomersCard.js","app/modules/eMPower/pages/CapacityBoard/CustomersPageTab.js","app/modules/eMPower/pages/Transload/FindOrders/product-Receiving/RemarksFilter.js","app/modules/eMPower/_redux/Transload/TransloadReceiving/remarksCrud.js","app/modules/eMPower/_redux/Transload/TransloadReceiving/remarksActions.js","app/modules/eMPower/pages/Transload/FindOrders/product-Receiving/column-formatters/ActionsColumnFormatter.js","app/modules/eMPower/pages/Transload/FindOrders/product-Receiving/RemarksTable.js","app/modules/eMPower/pages/Transload/FindOrders/product-Receiving/RemarksLoadingDialog.js","app/modules/eMPower/pages/Transload/FindOrders/product-Receiving/RemarksDeleteDialog.js","app/modules/eMPower/pages/Transload/FindOrders/product-Receiving/RemarkDeleteDialog.js","app/modules/eMPower/pages/Transload/FindOrders/product-Receiving/RemarksFetchDialog.js","app/modules/eMPower/pages/Transload/FindOrders/product-Receiving/remark-edit-dialog/RemarkEditDialogHeader.js","app/modules/eMPower/pages/Transload/FindOrders/product-Receiving/remark-edit-dialog/RemarkEditDialog.js","app/modules/eMPower/pages/Transload/FindOrders/product-Receiving/Remarks.js","app/modules/eMPower/pages/ManageTMS/TmsWarehouseManagement/SendEmail.js","app/modules/eMPower/pages/ManageTMS/TmsWarehouseManagement/SendEmailfromGrid.js","app/modules/eMPower/pages/ManageTMS/TmsWarehouseManagement/ActionsFormatter.js","app/modules/eMPower/pages/ManageTMS/TmsWarehouseManagement/ActionsStatus.js","app/modules/eMPower/pages/ManageTMS/TmsWarehouseManagement/Status.js","app/modules/eMPower/pages/ManageTMS/TmsWarehouseManagement/WarehouseFilter.js","app/modules/eMPower/pages/ManageTMS/TmsWarehouseManagement/Menu/Index.js","app/modules/eMPower/pages/ManageTMS/TmsWarehouseManagement/ModelMnagementTMSWarehouse.js","app/modules/eMPower/pages/ManageTMS/TmsWarehouseManagement/TmsWarehouseManagement.js","app/modules/eMPower/_redux/TMSLoadBoard/productsCrud.js","app/modules/eMPower/_redux/TMSLoadBoard/productsSlice.js","app/modules/eMPower/_redux/TMSLoadBoard/productsActions.js","app/modules/eMPower/pages/ManageTMS/product-edit/ProductEditForm.js","app/modules/eMPower/pages/ManageTMS/product-edit/ProductEdit.js","_metronic/_assets/js/components/card.js","_metronic/_assets/js/components/scrolltop.js","app/modules/eMPower/pages/NewShipmentsBeta/customers-loading-dialog/CustomersLoadingDialog.js","app/modules/eMPower/pages/NewShipmentsBeta/customer-edit-dialog/CustomerEditDialogHeader.js","app/modules/eMPower/pages/NewShipmentsBeta/customer-edit-dialog/CustomerEditForm.js","app/modules/eMPower/pages/NewShipmentsBeta/CustomersUIContext.js","app/modules/eMPower/pages/NewShipmentsBeta/customer-edit-dialog/CustomerEditDialog.js","app/modules/eMPower/pages/NewShipmentsBeta/customer-delete-dialog/CustomerDeleteDialog.js","_metronic/layout/components/extras/ShipmentActionsBeta.js","app/modules/eMPower/pages/NewShipmentsBeta/customers-filter/CustomersFilter.js","app/modules/eMPower/pages/NewShipmentsBeta/customers-grouping/ShippingBulkEmail.js","app/modules/eMPower/pages/NewShipmentsBeta/customers-grouping/CustomersGrouping.js","app/modules/eMPower/pages/NewShipmentsBeta/customers-table/CustomersTable.js","app/modules/eMPower/pages/NewShipmentsBeta/CustomersCard.js","app/modules/eMPower/pages/NewShipmentsBeta/CustomersPageTab.js","app/modules/eMPower/pages/Transload/FindOrders/product-Containers/remark-edit-dialog/TransportationItems/RemarksFilter.js","app/modules/eMPower/_redux/Transload/TransportationItems/remarksCrud.js","app/modules/eMPower/_redux/Transload/TransportationItems/remarksSlice.js","app/modules/eMPower/_redux/Transload/TransportationItems/remarksActions.js","app/modules/eMPower/pages/Transload/FindOrders/product-Containers/remark-edit-dialog/TransportationItems/column-formatters/ActionsColumnFormatter.js","app/modules/eMPower/pages/Transload/FindOrders/product-Containers/remark-edit-dialog/TransportationItems/RemarksTable.js","app/modules/eMPower/pages/Transload/FindOrders/product-Containers/remark-edit-dialog/TransportationItems/RemarksLoadingDialog.js","app/modules/eMPower/pages/Transload/FindOrders/product-Containers/remark-edit-dialog/TransportationItems/RemarksDeleteDialog.js","app/modules/eMPower/pages/Transload/FindOrders/product-Containers/remark-edit-dialog/TransportationItems/RemarkDeleteDialog.js","app/modules/eMPower/pages/Transload/FindOrders/product-Containers/remark-edit-dialog/TransportationItems/RemarksFetchDialog.js","app/modules/eMPower/pages/Transload/FindOrders/product-Containers/remark-edit-dialog/TransportationItems/remark-edit-dialog/RemarkEditDialogHeader.js","app/modules/eMPower/pages/Transload/FindOrders/product-Containers/remark-edit-dialog/TransportationItems/remark-edit-dialog/RemarkEditDialog.js","app/modules/eMPower/pages/Transload/FindOrders/product-Containers/remark-edit-dialog/TransportationItems/Remarks.js","app/modules/eMPower/pages/Transload/FindOrders/product-Containers/remark-edit-dialog/OneMoveMaster.js","app/modules/eMPower/_redux/carriers/carriersSlice.js","app/modules/eMPower/_redux/carriers/carriersActions.js","app/modules/eMPower/_redux/carriers/carriersCrud.js","app/modules/eMPower/_redux/ManageCarrierAccounts/customersCrud.js","app/modules/eMPower/_redux/ManageCarrierAccounts/customersSlice.js","app/modules/eMPower/_redux/ManageCarrierAccounts/customersActions.js","app/modules/eMPower/pages/NewShipmentsBeta/customers-table/Menu/Index.js","app/modules/eMPower/pages/NewShipmentsBeta/customers-table/ModelShipmentManagment.js","app/SpecificTabs.js","app/modules/eMPower/_redux/customers/customersSlice.js","app/modules/eMPower/_redux/products/productsSlice.js","app/modules/eMPower/pages/Transload/FindOrders/product-Receiving/RemarksUIHelper.js","app/modules/eMPower/pages/Transload/FindOrders/product-Receiving/RemarksUIContext.js","app/modules/eMPower/_redux/remarks/remarksSlice.js","app/modules/eMPower/_redux/Transload/TransloadReceiving/remarksSlice.js","app/modules/Auth/__mocks__/userTableMock.js","app/modules/Auth/__mocks__/mockAuth.js","app/modules/eMPower/__mocks__/ManageZoneBillingTableMock.js","app/modules/eMPower/__mocks__/mock.utils.js","app/modules/eMPower/__mocks__/mockManageZoneBilling.js","app/modules/eMPower/__mocks__/ManageSmartParcelCarriersTableMock.js","app/modules/eMPower/__mocks__/mockManageSmartParcelCarriers.js","app/modules/eMPower/__mocks__/RecurringStorageChargesTableMock.js","app/modules/eMPower/__mocks__/mockRecurringStorageCharges.js","app/modules/eMPower/__mocks__/mockMovableUnits.js","app/modules/eMPower/__mocks__/mockNotes.js","app/modules/eMPower/__mocks__/mockManageServices.js","app/modules/eMPower/__mocks__/mockManageTrackingDevices.js","app/modules/eMPower/__mocks__/mockManageModes.js","app/modules/eMPower/__mocks__/mockManageEquipmentsType.js","app/modules/eMPower/__mocks__/mockManageServiceLevels.js","app/modules/eMPower/__mocks__/customerTableMock.js","app/modules/eMPower/__mocks__/mockCustomer.js","app/modules/eMPower/__mocks__/AssignmentsTableMock.js","app/modules/eMPower/__mocks__/mockAssignments.js","app/modules/eMPower/__mocks__/mockCommodities.js","app/modules/eMPower/__mocks__/mockClassifications.js","app/modules/eMPower/__mocks__/mockPurchaseOrders.js","app/modules/eMPower/__mocks__/mock.utils4.js","app/modules/eMPower/__mocks__/mockManageCustomer.js","app/modules/eMPower/__mocks__/mockManageWarehouse.js","app/modules/eMPower/__mocks__/packingSlipTemplatesTableMock.js","app/modules/eMPower/__mocks__/mockpackingSlipTemplates.js","app/modules/eMPower/__mocks__/mockUsers.js","app/modules/eMPower/__mocks__/mockManageRoles.js","app/modules/eMPower/__mocks__/mockManageUserGroups.js","app/modules/eMPower/__mocks__/carTableMock.js","app/modules/eMPower/__mocks__/mockProduct.js","app/modules/eMPower/__mocks__/remarkTableMock.js","app/modules/eMPower/__mocks__/mockRemark.js","app/modules/eMPower/__mocks__/specificationTableMock.js","app/modules/eMPower/__mocks__/mockSpecification.js","app/modules/eMPower/__mocks__/ManageCarrierAccountTableMock.js","app/modules/eMPower/__mocks__/mockManageCarrierAccounts.js","app/modules/eMPower/__mocks__/LocationBillingTableMock.js","app/modules/eMPower/__mocks__/mockCustomLabels.js","app/modules/eMPower/__mocks__/mockLocationBilling.js","app/modules/eMPower/__mocks__/mockEmpowerCMS.js","app/modules/eMPower/__mocks__/mockCarriers.js","app/modules/eMPower/__mocks__/mockServiceManageCarriers.js","app/modules/eMPower/__mocks__/FreezeTransactionsTableMock.js","app/modules/eMPower/__mocks__/mockFreezeTransactions.js","app/modules/eMPower/__mocks__/ManageTPLScaleTableMock.js","app/modules/eMPower/__mocks__/mockManageTPLScale.js","app/modules/eMPower/__mocks__/mockFindOrders.js","app/modules/eMPower/__mocks__/mockFindReceipts.js","app/modules/eMPower/__mocks__/mockManageLocations.js","app/modules/eMPower/__mocks__/mockManageItems.js","app/modules/eMPower/__mocks__/mockPurchaseLineItems.js","app/modules/eMPower/__mocks__/mockImportContacts.js","app/modules/eMPower/__mocks__/mockReceipts.js","app/modules/eMPower/__mocks__/mockIgnoreSkus.js","app/modules/eMPower/__mocks__/mockCompanyInfo.js","app/modules/eMPower/__mocks__/mockCustomFields.js","app/modules/eMPower/__mocks__/mockManageSuppliers.js","app/modules/eMPower/__mocks__/mock.utils3.js","app/modules/eMPower/__mocks__/Transload/mockFindOrders.js","app/modules/eMPower/__mocks__/Transload/mockContainers.js","app/modules/eMPower/__mocks__/mockTransactionBillingShipping.js","app/modules/eMPower/__mocks__/mockTransactionBilling.js","app/modules/eMPower/__mocks__/mockTMSLoadBoard.js","app/modules/eMPower/__mocks__/mockZoneBilling.js","app/modules/eMPower/__mocks__/mockOrderReceiver.js","app/modules/eMPower/__mocks__/BillingManualTableMock.js","app/modules/eMPower/__mocks__/mockBillingManual.js","app/modules/eMPower/__mocks__/mockLocStorageRates.js","app/modules/eMPower/__mocks__/mockReceiptItems.js","app/modules/eMPower/__mocks__/mockReceiptCustomFields.js","app/modules/eMPower/__mocks__/mockOrderLineItems.js","app/modules/eMPower/__mocks__/mockOrdercharges.js","app/modules/eMPower/__mocks__/mockOrderCustomFields.js","app/modules/eMPower/__mocks__/mockReceiptcharges.js","app/modules/eMPower/__mocks__/mock.utilsDynamic.js","app/modules/eMPower/__mocks__/Transload/mockTransloadReceiving.js","app/modules/eMPower/__mocks__/Transload/mockManageAddress.js","app/modules/eMPower/__mocks__/Transload/mockManageEquipments.js","app/modules/eMPower/__mocks__/Transload/mockVesselVoyage.js","app/modules/eMPower/__mocks__/Transload/mockVesselVoyageBeta.js","app/modules/eMPower/__mocks__/Transload/mockManageContacts.js","app/modules/eMPower/__mocks__/Transload/mockManageUOM.js","app/modules/eMPower/__mocks__/mockFindShipments.js","app/modules/eMPower/__mocks__/mockManageLSPCarrier.js","app/modules/eMPower/__mocks__/AttachmentsTableMock.js","app/modules/eMPower/__mocks__/mockAttachments.js","app/modules/eMPower/__mocks__/ContactInformationTableMock.js","app/modules/eMPower/__mocks__/mockContactInformation.js","app/modules/eMPower/__mocks__/InsuranceInformationTableMock.js","app/modules/eMPower/__mocks__/mockInsuranceInformation.js","app/modules/eMPower/__mocks__/Transload/mockVessels.js","app/modules/eMPower/__mocks__/mockManageRates.js","app/modules/eMPower/__mocks__/mockAddInventory.js","app/modules/eMPower/__mocks__/mockAllOrdersBeta.js","app/modules/eMPower/__mocks__/mockAllOrdersBetaTMS.js","app/modules/eMPower/__mocks__/mockReceiptsManagmentNewVersion.js","app/modules/eMPower/__mocks__/mockCustomerProfileRating.js","app/modules/eMPower/__mocks__/mockCarrierProfileRating.js","app/modules/eMPower/__mocks__/mockManageQuotes.js","app/modules/eMPower/__mocks__/mockManageQuotesCarriers.js","app/modules/eMPower/__mocks__/Transload/mockTransportationItems.js","app/modules/eMPower/__mocks__/mockManageTripsManagement.js","app/modules/eMPower/__mocks__/mockPickUpManagement.js","app/modules/eMPower/__mocks__/mockPoBillingManagement.js","app/modules/eMPower/__mocks__/mockManageGlAccounts.js","app/modules/eMPower/__mocks__/mockManageGlAccountsSage.js","app/modules/eMPower/__mocks__/LulusProcessTableMock.js","app/modules/eMPower/__mocks__/mockLulusProcess.js","app/modules/eMPower/__mocks__/mockManageCmsNews.js","app/modules/eMPower/__mocks__/mockPalletsManagment.js","app/modules/eMPower/__mocks__/mockPalletsManagmentBeta.js","app/modules/eMPower/__mocks__/mockPickUpBillingManagement.js","app/modules/eMPower/__mocks__/mockReleaseNotes.js","app/modules/eMPower/__mocks__/mocksynchronizeProcess.js","app/modules/eMPower/__mocks__/mockSynchronizeProcess2.js","app/modules/eMPower/__mocks__/mockTriniumCodes.js","app/modules/eMPower/__mocks__/mockTriniumCodes2.js","app/modules/eMPower/__mocks__/mockPerMiles.js","app/modules/eMPower/__mocks__/mockRegions.js","app/modules/Auth/_redux/authRedux.js","app/modules/Auth/_redux/authCrud.js","redux/rootReducer.js","redux/store.js","_metronic/_partials/dashboards/DashboardScentsy.js","app/pages/Address/ManageContacts.js","app/pages/Address/ManageAdresses.js","_metronic/_partials/customer-dashboard/DollarTab.js","_metronic/_partials/customer-dashboard/AllShipment.js","_metronic/_partials/customer-dashboard/FuelSurcharge.js","_metronic/_partials/customer-dashboard/VolumeTrends.js","_metronic/_partials/customer-dashboard/Performance/Pickedup.js","_metronic/_partials/customer-dashboard/Performance/Delivered.js","_metronic/_partials/user-dashboard/component/Ar.js","_metronic/_partials/user-dashboard/component/Volume.js","_metronic/_partials/user-dashboard/index.js","_metronic/_partials/customer-dashboard/index.js","app/pages/CustomerDashboard/CustomerDashboard.js","app/pages/Admin/LocationBillingPage.js","app/pages/Admin/RecurringStorageChargesPage.js","app/pages/Admin/ManageTPLScalePage.js","app/pages/Admin/CustomLabelPage.js","app/pages/Admin/ManageAttachedFiles.js","app/pages/Admin/ManageSmartParcelCarriersPage.js","app/pages/Admin/ManageCompanyInfo.js","app/pages/Admin/ManageCarriers.js","app/pages/Admin/FreezeTransactionsPage.js","app/pages/Admin/ManageZoneBilling.js","app/pages/Admin/ManageCarrierAccountsPage.js","app/pages/Admin/MovableUnitsPage.js","app/pages/Admin/ManageServicesPage.js","app/pages/Admin/ManageModesPage.js","app/pages/Admin/ManageEquipmentsTypePage.js","app/pages/Admin/ManageServiceLevelsPage.js","app/pages/Admin/AddCarrierServices.js","app/pages/Admin/EditCarrierServices.js","app/pages/Admin/ServiceManageCarriersPage.js","app/pages/Admin/ManageLSPCarrierPage.js","app/pages/QueryBuilder/QueryTable.js","app/pages/QueryBuilder/QueryBuilder.js","app/pages/QueryBuilder/QueryBuilderSetting.js","app/pages/Customers/ManageCustomersPage.js","app/pages/Customers/billingWizard.js","app/pages/Customers/ImportContacts.js","app/pages/Customers/ImportZoneBilling.js","app/pages/Customers/ManageBarcodes.js","app/pages/Customers/SmartParcelSettings.js","app/pages/Customers/ManageConnections.js","app/pages/Customers/ClassicBOLMessages.js","app/pages/Customers/PackingSlipTemplates.js","app/pages/Customers/ClassicBOLTemplates.js","app/pages/Customers/CustomerNotifs.js","app/pages/Customers/CustomerNotifsDetails.js","app/pages/Customers/TransactionBillingSelect.js","app/pages/Customers/TransactionBilling.js","app/pages/Customers/TransactionBillingShippingPage.js","app/pages/Customers/ErrorLog.js","app/pages/Customers/BillingRatesExport.js","app/pages/Customers/ZoneBillingPage.js","app/modules/eMPower/pages/OrderReceiver/RemarksUIHelper.js","app/modules/eMPower/pages/OrderReceiver/RemarksUIContext.js","app/modules/eMPower/pages/OrderReceiver/RemarksFilter.js","app/modules/eMPower/_redux/OrderReceivers/remarksCrud.js","app/modules/eMPower/_redux/OrderReceivers/remarksSlice.js","app/modules/eMPower/_redux/OrderReceivers/remarksActions.js","app/modules/eMPower/pages/OrderReceiver/column-formatters/ActionsColumnFormatter.js","app/modules/eMPower/pages/OrderReceiver/RemarksTable.js","app/modules/eMPower/pages/OrderReceiver/RemarksLoadingDialog.js","app/modules/eMPower/pages/OrderReceiver/RemarksDeleteDialog.js","app/modules/eMPower/pages/OrderReceiver/RemarkDeleteDialog.js","app/modules/eMPower/pages/OrderReceiver/RemarksFetchDialog.js","app/modules/eMPower/pages/OrderReceiver/RemarksGrouping.js","app/modules/eMPower/pages/OrderReceiver/remark-edit-dialog/RemarkEditDialogHeader.js","app/modules/eMPower/pages/OrderReceiver/remark-edit-dialog/RemarkEditForm.js","app/modules/eMPower/pages/OrderReceiver/remark-edit-dialog/RemarkEditDialog.js","app/modules/eMPower/pages/OrderReceiver/Remarks.js","app/modules/eMPower/pages/BillingManual/RemarksUIHelper.js","app/modules/eMPower/pages/BillingManual/RemarksUIContext.js","app/modules/eMPower/pages/BillingManual/RemarksFilter.js","app/modules/eMPower/_redux/BillingManuals/remarksSlice.js","app/modules/eMPower/_redux/BillingManuals/remarksActions.js","app/modules/eMPower/_redux/BillingManuals/remarksCrud.js","app/modules/eMPower/pages/BillingManual/column-formatters/ActionsColumnFormatter.js","app/modules/eMPower/pages/BillingManual/RemarksTable.js","app/modules/eMPower/pages/BillingManual/RemarksLoadingDialog.js","app/modules/eMPower/pages/BillingManual/RemarksDeleteDialog.js","app/modules/eMPower/pages/BillingManual/RemarkDeleteDialog.js","app/modules/eMPower/pages/BillingManual/RemarksFetchDialog.js","app/modules/eMPower/pages/BillingManual/RemarksGrouping.js","app/modules/eMPower/pages/BillingManual/remark-edit-dialog/RemarkEditDialogHeader.js","app/modules/eMPower/pages/BillingManual/remark-edit-dialog/RemarkEditForm.js","app/modules/eMPower/pages/BillingManual/remark-edit-dialog/RemarkEditDialog.js","app/modules/eMPower/pages/BillingManual/Remarks.js","app/modules/eMPower/pages/LocStorageRates/RemarksUIHelper.js","app/modules/eMPower/pages/LocStorageRates/RemarksUIContext.js","app/modules/eMPower/pages/LocStorageRates/RemarksFilter.js","app/modules/eMPower/_redux/LocStorageRates/remarksSlice.js","app/modules/eMPower/_redux/LocStorageRates/remarksActions.js","app/modules/eMPower/_redux/LocStorageRates/remarksCrud.js","app/modules/eMPower/pages/LocStorageRates/column-formatters/ActionsColumnFormatter.js","app/modules/eMPower/pages/LocStorageRates/RemarksTable.js","app/modules/eMPower/pages/LocStorageRates/RemarksLoadingDialog.js","app/modules/eMPower/pages/LocStorageRates/RemarksDeleteDialog.js","app/modules/eMPower/pages/LocStorageRates/RemarkDeleteDialog.js","app/modules/eMPower/pages/LocStorageRates/RemarksFetchDialog.js","app/modules/eMPower/pages/LocStorageRates/RemarksGrouping.js","app/modules/eMPower/pages/LocStorageRates/remark-edit-dialog/RemarkEditDialogHeader.js","app/modules/eMPower/pages/LocStorageRates/remark-edit-dialog/RemarkEditForm.js","app/modules/eMPower/pages/LocStorageRates/remark-edit-dialog/RemarkEditDialog.js","app/modules/eMPower/pages/LocStorageRates/Remarks.js","app/pages/Customers/SystemCalculated.js","app/pages/Customers/ManageRatesPage.js","app/pages/Customers/ManageRatesSelect.js","app/pages/Equipments/ManageEquipments.js","app/pages/ImportReceiptItems/ImportReceiptItems.js","app/pages/ImportUsers/ImportUsers.js","app/pages/Items/BatchItemUpdate.js","app/pages/Items/CancelAssembly.js","app/pages/Items/ImportAssemblies.js","app/pages/Items/ImportItems.js","app/pages/Items/ItemAlias.js","app/pages/Items/ManageAssemblies.js","app/pages/Items/ManageClassifications.js","app/pages/Items/ManageCommodities.js","app/pages/Items/ManageItems.js","app/pages/Items/ManageStorageRates.js","app/pages/Orders/ShippingSetups.js","app/pages/Orders/ImportOrders.js","app/pages/Orders/PackagingOptions.js","app/pages/Orders/OrderImportPreferences.js","app/modules/eMPower/pages/ReprintUPSLabels/customers-loading-dialog/CustomersLoadingDialog.js","app/modules/eMPower/pages/ReprintUPSLabels/customer-edit-dialog/CustomerEditDialogHeader.js","app/modules/eMPower/pages/ReprintUPSLabels/customer-edit-dialog/CustomerEditForm.js","app/modules/eMPower/pages/ReprintUPSLabels/CustomersUIHelpers.js","app/modules/eMPower/pages/ReprintUPSLabels/CustomersUIContext.js","app/modules/eMPower/pages/ReprintUPSLabels/customer-edit-dialog/CustomerEditDialog.js","app/modules/eMPower/pages/ReprintUPSLabels/customer-delete-dialog/CustomerDeleteDialog.js","app/modules/eMPower/pages/ReprintUPSLabels/customers-delete-dialog/CustomersDeleteDialog.js","app/modules/eMPower/pages/ReprintUPSLabels/customers-fetch-dialog/CustomersFetchDialog.js","app/modules/eMPower/pages/ReprintUPSLabels/customers-update-status-dialog/CustomersUpdateStateDialog.js","app/modules/eMPower/pages/ReprintUPSLabels/customers-table/column-formatters/DateColumnFormatter.js","app/modules/eMPower/pages/ReprintUPSLabels/customers-table/CustomersTable.js","app/modules/eMPower/pages/ReprintUPSLabels/CustomersCard.js","app/modules/eMPower/pages/ReprintUPSLabels/CustomersPage.js","app/pages/PurchaseOrders/CreatePurchaseOrder.js","app/pages/PurchaseOrders/ImportPurchaseOrder.js","app/pages/PurchaseOrders/ManagePurchaseOrders.js","app/pages/PurchaseOrders/PurchaseOrderReports.js","app/pages/PurchaseOrders/purchaseOrderLineItems/RemarksUIHelper.js","app/pages/PurchaseOrders/purchaseOrderLineItems/RemarksUIContext.js","app/pages/PurchaseOrders/purchaseOrderLineItems/RemarksFilter.js","app/modules/eMPower/_redux/PurchaseOrders/remarksSlice.js","app/modules/eMPower/_redux/PurchaseOrders/remarksActions.js","app/modules/eMPower/_redux/PurchaseOrders/remarksCrud.js","app/pages/PurchaseOrders/purchaseOrderLineItems/column-formatters/ActionsColumnFormatter.js","app/pages/PurchaseOrders/purchaseOrderLineItems/column-formatters/DateColumnFormatter.js","app/pages/PurchaseOrders/purchaseOrderLineItems/column-formatters/DateColumnFormatterExcepted.js","app/pages/PurchaseOrders/purchaseOrderLineItems/RemarksTable.js","app/pages/PurchaseOrders/purchaseOrderLineItems/RemarksLoadingDialog.js","app/pages/PurchaseOrders/purchaseOrderLineItems/RemarkDeleteDialog.js","app/pages/PurchaseOrders/purchaseOrderLineItems/remark-edit-dialog/RemarkEditDialogHeader.js","app/pages/PurchaseOrders/purchaseOrderLineItems/remark-edit-dialog/RemarkEditForm.js","app/pages/PurchaseOrders/purchaseOrderLineItems/remark-edit-dialog/RemarkEditDialog.js","app/pages/PurchaseOrders/purchaseOrderLineItems/Remarks.js","app/pages/PurchaseOrders/EditPurchaseOrder.js","app/pages/PurchaseOrders/PurchaseOrderReport.js","app/pages/PurchaseOrders/PurchaseOrderProgressReport.js","app/pages/PurchaseOrders/FindPurchaseOrders.js","app/pages/Rating/Quoting.js","app/pages/Rating/Rating.js","app/modules/eMPower/pages/AdjustReceiptCharges/customers-loading-dialog/CustomersLoadingDialog.js","app/modules/eMPower/pages/AdjustReceiptCharges/customer-edit-dialog/CustomerEditDialogHeader.js","app/modules/eMPower/pages/AdjustReceiptCharges/customer-edit-dialog/CustomerEditForm.js","app/modules/eMPower/pages/AdjustReceiptCharges/CustomersUIHelpers.js","app/modules/eMPower/pages/AdjustReceiptCharges/CustomersUIContext.js","app/modules/eMPower/pages/AdjustReceiptCharges/customer-edit-dialog/CustomerEditDialog.js","app/modules/eMPower/pages/AdjustReceiptCharges/customer-delete-dialog/CustomerDeleteDialog.js","app/modules/eMPower/pages/AdjustReceiptCharges/customers-delete-dialog/CustomersDeleteDialog.js","app/modules/eMPower/pages/AdjustReceiptCharges/customers-fetch-dialog/CustomersFetchDialog.js","app/modules/eMPower/pages/AdjustReceiptCharges/customers-update-status-dialog/CustomersUpdateStateDialog.js","app/modules/eMPower/pages/AdjustReceiptCharges/customers-filter/CustomersFilter.js","app/modules/eMPower/pages/AdjustReceiptCharges/CustomersCard.js","app/modules/eMPower/pages/AdjustReceiptCharges/CustomersPage.js","app/pages/Receipts/AdjustReceiptCharges.js","app/pages/Receipts/CreateReceipts.js","app/pages/Receipts/ImportReceipts.js","app/pages/Receipts/ReceiptImportPreferences.js","app/pages/shipment/GlobalTransload/AssigntoOutbound2/TransloadShipmentManifest.js","app/pages/shipment/GlobalTransload/AssignToWareHouse/TransloadPalletManifest.js","app/pages/shipment/Active Shipment Drag Component/styles/Base.js","app/pages/shipment/Active Shipment Drag Component/widgets/InlineInput.js","app/pages/shipment/Active Shipment Drag Component/styles/Elements.js","app/pages/shipment/Active Shipment Drag Component/components/Lane/LaneHeader/LaneMenu.js","app/pages/shipment/Active Shipment Drag Component/components/Lane/LaneHeader.js","app/pages/shipment/Active Shipment Drag Component/components/Columns/DateColumnFormatter.js","app/pages/shipment/Active Shipment Drag Component/components/Columns/DateColumnFormatter2.js","app/pages/shipment/Active Shipment Drag Component/components/Card/Tag.js","app/pages/shipment/Active Shipment Drag Component/widgets/DeleteButton.js","app/pages/shipment/Active Shipment Drag Component/components/Card.js","app/pages/shipment/Active Shipment Drag Component/styles/Loader.js","app/pages/shipment/Active Shipment Drag Component/components/Loader.js","app/pages/shipment/Active Shipment Drag Component/widgets/NewLaneTitleEditor.js","app/pages/shipment/Active Shipment Drag Component/components/NewLaneForm.js","app/pages/shipment/Active Shipment Drag Component/widgets/EditableLabel.js","app/pages/shipment/Active Shipment Drag Component/components/NewCardForm.js","app/pages/shipment/Active Shipment Drag Component/components/index.js","app/pages/shipment/Active Shipment Drag Component/components/Lane/LaneFooter.js","app/pages/shipment/Active Shipment Drag Component/components/NewLaneSection.js","app/pages/shipment/Active Shipment Drag Component/components/AddCardLink.js","app/pages/shipment/UpdateStatus.js","app/pages/shipment/AssigntoOutbound.js","app/pages/shipment/AssignPallettoLoad/TableComponent.js","app/pages/shipment/AssignPallettoLoad/Pallets/Item.js","app/pages/shipment/AssignPallettoLoad/Pallets/IndexPalletsList.js","app/pages/shipment/AssignPallettoLoad/Index.js","app/pages/shipment/AssignPallettoLoad.js","app/pages/shipment/AssigntoPallet/TableComponent.js","app/pages/shipment/AssigntoPallet/Pallets/Item.js","app/pages/shipment/AssigntoPallet/Pallets/IndexPalletsList.js","app/pages/shipment/AssigntoPallet/Index.js","app/pages/shipment/AssigntoPallet.js","app/pages/shipment/AssigntoOutboundV2/TableComponent.js","app/pages/shipment/AssigntoOutboundV2/Pallets/Item.js","app/pages/shipment/AssigntoOutboundV2/Pallets/IndexPalletsList.js","app/pages/shipment/AssigntoOutboundV2/Index.js","app/pages/shipment/AssigntoOutboundV2.js","app/pages/shipment/AssigntoOutboundV3/TableComponent.js","app/pages/shipment/AssigntoOutboundV3/Pallets/Item.js","app/pages/shipment/AssigntoOutboundV3/Pallets/ScrollingMenuReceipt.js","app/pages/shipment/AssigntoOutboundV3/Pallets/IndexPalletsList.js","app/pages/shipment/AssigntoOutboundV3/Index.js","app/pages/shipment/AssigntoOutboundV3.js","app/pages/shipment/GlobalTransload/AssignToWareHouse/TableComponent.js","app/pages/shipment/GlobalTransload/AssignToWareHouse/Pallets/Item.js","app/pages/shipment/GlobalTransload/AssignToWareHouse/Pallets/IndexPalletsList.js","app/pages/shipment/GlobalTransload/AssignToWareHouse/Index.js","app/pages/shipment/GlobalTransload/AssignToWareHouse.js","app/pages/shipment/GlobalTransload/AssignToWareHouseFolder/TableComponent.js","app/pages/shipment/GlobalTransload/AssignToWareHouseFolder/Pallets/Item.js","app/pages/shipment/GlobalTransload/AssignToWareHouseFolder/Pallets/ScrollingMenuReceipt.js","app/pages/shipment/GlobalTransload/AssignToWareHouseFolder/Pallets/IndexPalletsList.js","app/pages/shipment/GlobalTransload/AssignToWareHouseFolder/Index.js","app/pages/shipment/GlobalTransload/AssignToWareHouseFolder/SendEmail.js","app/pages/shipment/GlobalTransload/AssignToWareHousePage.js","app/pages/shipment/GlobalTransload/AssigntoOutbound2/TableComponent.js","app/pages/shipment/GlobalTransload/AssigntoOutbound2/Pallets/Item.js","app/pages/shipment/GlobalTransload/AssigntoOutbound2/Pallets/IndexPalletsList.js","app/pages/shipment/GlobalTransload/AssigntoOutbound2/Index.js","app/pages/shipment/GlobalTransload/AssigntoOutboundPage.js","app/pages/shipment/GlobalTransload/GlobalTransload.js","app/pages/shipment/PoToLocation/TableComponent.js","app/pages/shipment/PoToLocation/Pallets/Item.js","app/pages/shipment/PoToLocation/Pallets/IndexPalletsList.js","app/pages/shipment/PoToLocation/Index.js","app/pages/shipment/PoToLocation.js","app/pages/shipment/PoToLocationV2.js","app/pages/Unitofmeasures/ManageUOM.js","app/pages/Warehouse/ManageWarehousePages.js","app/pages/Warehouse/Managelocations.js","app/pages/Warehouse/Importlocations.js","app/pages/Warehouse/MassUpdateLocations.js","app/modules/eMPower/pages/Department/Departments.js","_metronic/_partials/dashboards/AccountManagementDashboard.js","app/BasePage.js","app/modules/Auth/pages/Login.js","app/modules/Auth/pages/Registration.js","app/modules/Auth/pages/ForgotPassword.js","app/modules/Auth/pages/AuthPage.js","app/modules/Auth/pages/Logout.js","app/modules/ErrorsExamples/ErrorPage1.js","app/modules/ErrorsExamples/ErrorPage2.js","app/modules/ErrorsExamples/ErrorPage3.js","app/modules/ErrorsExamples/ErrorPage401.js","app/modules/ErrorsExamples/ErrorPage404.js","app/modules/ErrorsExamples/ErrorPage500.js","app/modules/ErrorsExamples/ErrorsPage.js","app/pages/Home/Body.js","app/pages/Home/Layout.js","app/pages/Home/index.js","app/pages/Landing/Slide-Landing.js","app/pages/Landing/Body.js","app/pages/Landing/Layout.js","app/pages/Landing/index.js","app/Routes.js","ClearCache.js","app/App.js","redux/setupAxios.js","redux/__mocks__/mockAxios.js","index.js","app/modules/eMPower/pages/Transload/FindOrders/product-Containers/remark-edit-dialog/TransportationItems/RemarksUIContext.js","app/modules/eMPower/_redux/ManageServices/customersCrud.js","app/modules/eMPower/_redux/ManageServices/customersSlice.js","app/modules/eMPower/_redux/ManageServices/customersActions.js","app/modules/eMPower/_redux/Transload/ManageUOM/customersSlice.js","app/modules/eMPower/_redux/Transload/ManageUOM/customersActions.js","app/modules/eMPower/_redux/Transload/ManageUOM/customersCrud.js","app/modules/eMPower/pages/NewShipmentsBeta/CustomersUIHelpers.js","_metronic/_assets/js/components/util.js","app/modules/eMPower/_redux/ManageZoneBilling/customersCrud.js","app/modules/eMPower/_redux/ManageZoneBilling/customersSlice.js","app/modules/eMPower/_redux/ManageZoneBilling/customersActions.js","app/modules/eMPower/pages/Transload/FindOrders/product-edit/OrderAttachements.js","app/modules/eMPower/pages/ReportingPortView/ReportingPortView.js","_metronic/_partials/dropdowns/DropdownCustomToggler.js","app/modules/eMPower/pages/Transload/FindOrders/product-Containers/remark-edit-dialog/RemarkEditForm.js","app/modules/eMPower/pages/Transload/FindOrders/product-Containers/remark-edit-dialog/AssignToOutboundHeaderForm.js","app/modules/eMPower/pages/ReceiptsManagementNewVersion/customers-table/Shipment/ModelManagmentFirstReporting.js","app/pages/DynamicReport/DynamicReport.js","app/modules/eMPower/_redux/products/productsActions.js","app/modules/eMPower/_redux/products/productsCrud.js","app/modules/eMPower/_redux/FindReceipts/receiptsCrud.js","app/modules/eMPower/_redux/FindReceipts/receiptsSlice.js","app/modules/eMPower/_redux/FindReceipts/receiptsActions.js","_metronic/_partials/controls/forms/DateTime30GL.js","app/modules/eMPower/pages/Transload/FindOrders/product-Containers/remark-edit-dialog/ChargesFunction.js","app/modules/eMPower/pages/ManageTMS/master-order-detail/ProductDetail.js","app/modules/eMPower/_redux/ManageCustomer/customersCrud.js","app/modules/eMPower/_redux/ManageCustomer/customersSlice.js","app/modules/eMPower/_redux/ManageCustomer/customersActions.js","app/pages/BL/CheckboxLargeWBFob.js","app/modules/eMPower/_redux/AllOrdersBeta/customersCrud.js","app/modules/eMPower/_redux/AllOrdersBeta/customersSlice.js","app/modules/eMPower/_redux/AllOrdersBeta/customersActions.js","_metronic/_partials/controls/Notes/LulusHandlingExceptions.js","_metronic/_partials/controls/forms/DatePickerField.js","_metronic/_partials/controls/forms/FieldFeedbackLabel.js","_metronic/_partials/controls/forms/Input.js","_metronic/_partials/controls/forms/TextArea.js","_metronic/_partials/controls/forms/Select.js","_metronic/_partials/controls/forms/RadioButton.js","_metronic/_partials/controls/forms/Checkbox.js","_metronic/_partials/controls/forms/CheckboxLarge.js","_metronic/_partials/controls/forms/CheckboxLargeWB.js","_metronic/_partials/controls/forms/DownshiftMultipleSelect.js","_metronic/_partials/controls/forms/DateTime30.js","_metronic/_partials/controls/forms/DateTime12.js","_metronic/_partials/controls/forms/CreatableSelect2.js","_metronic/_partials/controls/forms/CreatableSelect3.js","_metronic/_partials/controls/forms/DateTimeSimple.js","_metronic/_partials/controls/pagination/PaginationLinks.js","_metronic/_partials/controls/pagination/PaginationToolbar.js","_metronic/_partials/controls/pagination/Pagination.js","_metronic/_partials/controls/Card.js","_metronic/_partials/controls/AnimateLoading.js","_metronic/_partials/controls/LoadingDialog.js","_metronic/_partials/controls/Notice.js","_metronic/_partials/controls/ModalProgressBar.js","_metronic/_partials/controls/Notes/NotesComponent.js","_metronic/_partials/controls/Notes/NotesComponentDashboard.js","_metronic/_partials/controls/Attachements/AttachementsComponent.js","_metronic/_partials/controls/Table/Customizedtables.js","_metronic/_partials/controls/Table/DenseTable.js","_metronic/_partials/controls/Table/EnhancedTable.js","_metronic/_partials/controls/Table/DenseTableSm.js","_metronic/_partials/controls/Table/SimpleTabs.js","_metronic/_partials/controls/index.js","_metronic/_partials/widgets/advance-tables/ItemTablesWidget.js","_metronic/_partials/widgets/Lulus/ShipmentChart.js","_metronic/_partials/widgets/Transaction/Performance.js","_metronic/_partials/widgets/GlobalTransportation/DonutTransportationGlobal.js","_metronic/_partials/widgets/GlobalTransportation/PerformanceGlobal.js","_metronic/_partials/widgets/GlobalTransportation/PerformanceGrid.js","_metronic/_partials/widgets/Scentsy/EnhancedTableItems.js","_metronic/_partials/widgets/Scentsy/EnhancedTableContainers.js","_metronic/_partials/widgets/Scentsy/EnhancedTable.js","_metronic/_partials/widgets/Scentsy/ShippedOrders.js","_metronic/_partials/widgets/Transaction/DonutTransactionInbound.js","_metronic/_partials/widgets/Transaction/Crosspartner.js","_metronic/_partials/widgets/Transaction/OveralTransaction.js","_metronic/_partials/widgets/LulusFashion/PerformanceLulus.js","_metronic/_partials/widgets/CustomDashboard/DonutDomestics.js","_metronic/_partials/widgets/account-management/FilterAccount.js","_metronic/_partials/widgets/account-management/RevenueAccount.js","_metronic/_partials/widgets/account-management/HistoricalLanes.js","_metronic/_partials/widgets/account-management/PerformanceAccount.js","_metronic/_partials/widgets/account-management/ARAccount.js","_metronic/_partials/widgets/index.js","_metronic/layout/_core/HTMLClassService.js","_metronic/layout/_core/MetronicLayout.js","_metronic/layout/_core/LayoutConfig.js","_metronic/layout/components/extras/dropdowns/search/SearchResult.js","_metronic/layout/components/extras/dropdowns/search/SearchDropdown.js","_metronic/layout/components/extras/dropdowns/LanguageSelectorDropdown.js","_metronic/layout/components/extras/dropdowns/UserProfileDropdown.js","_metronic/layout/components/extras/QuiclUserToggler.js","_metronic/layout/components/header/Topbar.js","_metronic/layout/components/subheader/components/BreadCrumbs.js","_metronic/layout/components/header/header-menu/HeaderMenu.js","_metronic/layout/components/header/header-menu/HeaderMenuWrapper.js","_metronic/layout/components/header/Header.js","_metronic/layout/components/header-mobile/HeaderMobile.js","_metronic/layout/components/brand/Brand.js","_metronic/layout/components/aside/aside-menu/AsideMenuList.js","_metronic/layout/components/aside/aside-menu/AsideMenu.js","_metronic/layout/components/aside/Aside.js","_metronic/layout/components/footer/Footer.js","_metronic/_assets/js/layout/base/header.js","_metronic/_assets/js/layout/base/header-menu.js","_metronic/_assets/js/layout/base/header-topbar.js","_metronic/_assets/js/layout/base/brand.js","_metronic/_assets/js/layout/base/aside-menu.js","_metronic/_assets/js/layout/base/aside.js","_metronic/_assets/js/layout/base/subheader.js","_metronic/_assets/js/layout/base/sticky-card.js","_metronic/_assets/js/layout/base/aside-toggle.js","_metronic/_assets/js/layout/base/footer.js","_metronic/_assets/js/layout/base/content.js","_metronic/_assets/js/layout/extended/scrolltop.js","_metronic/_assets/js/layout/base/stretched-card.js","_metronic/_assets/js/layout/extended/quick-panel.js","_metronic/_assets/js/layout/extended/quick-user.js","_metronic/layout/components/LayoutInit.js","_metronic/layout/components/subheader/components/QuickActions.js","_metronic/layout/_core/MetronicSubheader.js","_metronic/layout/components/subheader/SubHeader.js","_metronic/layout/components/extras/offcanvas/QuickPanel.js","_metronic/layout/components/extras/offcanvas/QuickUser.js","_metronic/layout/components/extras/ScrollTop.js","_metronic/layout/components/Layout.js","_metronic/layout/components/content/Content.js","_metronic/layout/components/content/ContentRoute.js","_metronic/layout/_core/MetronicSplashScreen.js","_metronic/layout/_core/MaterialThemeProvider.js","_metronic/layout/index.js","app/modules/eMPower/pages/Transload/FindOrders/product-Receiving/remark-edit-dialog/RemarkEditForm.js","app/modules/eMPower/pages/PalletsManagmentBeta/customers-table/ModelManagment.js","app/modules/eMPower/pages/ManageTMS/MultiStops/index.js","app/modules/eMPower/pages/ManageTMS/product-detail/ServiceOrderFtlDetail.js","app/modules/eMPower/pages/ManageTMS/Charges.js","app/modules/eMPower/pages/ManageTMS/product-detail/ServiceOrderLtlDetail.js","app/modules/eMPower/pages/ManageTMS/product-detail/TmsNotes.js","app/modules/eMPower/pages/ManageTMS/product-detail/ProductDetail.js","_metronic/_assets/js/components/offcanvas.js","app/pages/DynamicReport/DyanmicReport.js","app/pages/BL/BLFORM.js","_metronic/i18n/Metronici18n.js","_metronic/i18n/I18nProvider.js","_metronic/i18n/index.js","app/modules/eMPower/pages/Transload/FindOrders/product-Containers/RemarksUIContext.js","app/modules/eMPower/pages/ReceiptsManagementNewVersion/customers-table/Shipment/DetailMangment.js","app/modules/eMPower/pages/ReceiptsManagementNewVersion/customers-table/Shipment/ModelManagmentFirstDashboard.js","app/modules/Notification.js","app/modules/eMPower/pages/Transload/FindOrders/product-Containers/remark-edit-dialog/OneMoveMasterVendors.js","app/modules/eMPower/_redux/Transload/FindOrderContainers/remarksCrud.js","app/modules/eMPower/_redux/Transload/FindOrderContainers/remarksSlice.js","app/modules/eMPower/_redux/Transload/FindOrderContainers/remarksActions.js","app/modules/eMPower/pages/NewShipmentsBeta/customers-table/column-formatters/StatusColumnFormatter.js","app/modules/eMPower/pages/NewShipmentsBeta/customers-table/column-formatters/ActionsColumnFormatter.js","app/modules/eMPower/pages/NewShipmentsBeta/customers-table/column-formatters/AlertsColumnFormatter.js","app/modules/eMPower/pages/NewShipmentsBeta/customers-table/column-formatters/index.js","app/pages/Drayage/DRAYAGEFORM.js","app/modules/eMPower/pages/PerformanceGraph/ChartZoomBar.js","_metronic/_assets/js/components/cookie.js","app/modules/eMPower/pages/Transload/FindOrders/product-Containers/remark-edit-dialog/TransportationItems/RemarksUIHelper.js","app/modules/eMPower/pages/Transload/FindOrders/product-Containers/remark-edit-dialog/RemarkEditDialogHeader.js","app/modules/eMPower/pages/Transload/FindOrders/product-Containers/remark-edit-dialog/RemarkEditDialog.js","_metronic/_helpers/AssetsHelpers.js","_metronic/_helpers/RouterHelpers.js","_metronic/_helpers/TablePaginationHelpers.js","_metronic/_helpers/TableRowSelectionHelpers.js","_metronic/_helpers/TableSortingHelpers.js","_metronic/_helpers/SimplePopover.js","_metronic/_helpers/index.js","app/modules/eMPower/pages/ReceiptsManagementNewVersion/customers-table/Functions/Validation.js","app/modules/eMPower/pages/ManageTMS/Order-Creation/OrderCreation.js","app/pages/SCENTSY/OutboundManifest.js","app/pages/PL/PLFORM.js","app/pages/TRC/TRCFORM.js","app/modules/eMPower/pages/Transload/FindOrders/product-Containers/remark-edit-dialog/ScrollingMenu.js","app/modules/eMPower/pages/Transload/FindOrders/product-Containers/remark-edit-dialog/ScrollingMenuReceipt.js","app/modules/eMPower/pages/Transload/FindOrders/product-Containers/remark-edit-dialog/AssignToOutbound.js","_metronic/_assets/js/components/menu.js","_metronic/_assets/js/components/toggle.js","app/pages/BL/BlFormMulti.js","app/pages/Drayage/RateConfirmationBeta.js","app/modules/eMPower/_redux/remarks/remarksActions.js","app/modules/eMPower/_redux/remarks/remarksCrud.js","_metronic/_partials/widgets/Select/SelectPagination.js","_metronic/_partials/dropdowns/DropdownMenu1.js","_metronic/_partials/dropdowns/DropdownMenu2.js","_metronic/_partials/dropdowns/DropdownMenu4.js","_metronic/_partials/dropdowns/DropdownDocuments.js","_metronic/_partials/dropdowns/DropdownTopbarItemToggler.js","_metronic/_partials/dropdowns/DropdownCustomTo.js","_metronic/_partials/dropdowns/index.js","app/pages/LTL/LTLFORM.js","app/modules/eMPower/pages/NewShipmentsBeta/customers-table/ShipmentManifest.js","app/pages/shipment/UpdateShipmentStatus.js","app/modules/eMPower/pages/Transload/FindOrders/product-edit/OrderNotes.js","app/modules/eMPower/_redux/specifications/specificationsSlice.js","app/modules/eMPower/_redux/ContactInformation/remarksSlice.js","app/modules/eMPower/_redux/Attachments/remarksSlice.js","app/modules/eMPower/_redux/InsuranceInformation/remarksSlice.js","app/modules/eMPower/_redux/ReceiptsManagementNewVersion/customersSlice.js","app/modules/eMPower/_redux/PalletsManagment/customersSlice.js","app/modules/eMPower/_redux/customers/customersActions.js","app/modules/eMPower/_redux/customers/customersCrud.js","app/modules/eMPower/pages/Notes/customer-edit-dialog/CustomerEditForm.js","app/modules/eMPower/pages/Transload/FindOrders/product-Containers/remark-edit-dialog/ChargesOnly.js","app/modules/eMPower/pages/ManageTMS/TrackingLoadBaord/TrackingLoadBoard.js","app/modules/eMPower/pages/Transload/FindOrders/product-Containers/RemarksUIHelper.js","app/modules/eMPower/pages/ReceiptsManagementNewVersion/customers-table/Functions/Main.js","app/modules/eMPower/pages/Transload/ManageAddress/customer-edit-dialog/CustomerEditDialogHeader.js","app/modules/eMPower/pages/Transload/ManageAddress/customer-edit-dialog/CustomerEditForm.js"],"names":["_holidays","require","allForYear","shiftSaturdayHolidays","shiftSundayHolidays","adapter","LocalStorage","db","low","stripHtml","html","tmp","document","createElement","innerHTML","textContent","innerText","containsHTML","str","test","CopyTextToClipboardGlobal","text","copyText","value","body","appendChild","select","setSelectionRange","navigator","clipboard","writeText","removeChild","Notification","err","MenuIdsCopy","props","className","isTop","alignRight","Toggle","id","as","DropdownCustomTogglerPrimary","classes","Menu","Content","Export","List","Type","Entity","dataExportList","JSON","parse","stringify","forEach","o","Object","keys","k","moment","String","slice","isValid","Date","date","now","dateformat","getMonth","getDate","getFullYear","getHours","getMinutes","getSeconds","wb","Sheets","data","XLSX","json_to_sheet","cellDates","dateNF","SheetNames","excelBuffer","bookType","type","Blob","FileSaver","data2","returncsv","console","log","Exportd2d","ComparisonGlobalSearchOptions","label","PickTypeList","timeList","StatesUs","Id","Name","DateTime30minInterval","map","item","index","RequiredHtml","class","style","fontSize","position","TimeSpanColumnFormatter","dateTime","_dateTime","currentDate","utcTime","getTime","window","$timezone","convertedDate","getTimezoneOffset","b","diffYear","diff","diffMonths","diffDays","diffHours","diffMinutes","Close_aside","aside","$","hasClass","addClass","CheckDetail","undefined","jqueryChange","name","ready","setTimeout","$CreatableSelect2","val","trigger","is","point","toString","ReturnEmptyOrString","IsValidMessage","IsValid","Try","fun","message","strip","implementation","createHTMLDocument","values","json","fields","replacer","key","csv","row","fieldName","join","unshift","returnColorAlert","x","TryList","list","currencyFormat","no","ar","toFixed","split","numberFormat","numberWithCommas","placeContent","src","toAbsoluteUrl","href","replace","i","length","push","reverse","ConvertDate","timezone","ISODate","toISOString","utcOffset","DeConvertDate","momentDateTimeByDay","a","format","c","GetTimeZone","momentDate","momentTime","momentDateOnly","PostMomentDate","PostMomentTimeOnly","uct","read","getState","user","TimeZone","subStr","parseInt","error","workingDaysBetweenDates","d0","holidays","dateString","dateOneObj","dateTwoObj","hours","Math","abs","startDate","parseDate","endDate","setHours","days","ceil","weeks","floor","startDay","getDay","endDay","day","input","parts","match","d","startOf","valueOf","columns","dataField","formatter","cell","Fields","overlay","onClick","sort","sortCaret","headerSortingClasses","Created","ActivityFunction","Activitys","useState","activitys","Index","NewActivites","Activities","setActivities","jsonValue","setJsonValue","showModalJson","setShowJsonModal","rowItem","setRowItem","modalShowAttachment","setModalShowAttachment","modalShowHtml","setModalShowHtml","getExtension","path","basename","pop","pos","lastIndexOf","dataString","expandRow","renderer","Field","component","scope","OldValue","jsonData","NewValue","color","fetchTypeImages","imgPath","toLowerCase","result","placeholder","onChange","e","filter","Action","toLocaleLowerCase","trim","includes","target","User","getElementById","to","vv","vv2","filteredArray","element","some","subElement","assign","filteredArray2","uniunarr","concat","textAlign","keyField","defaultSorted","order","pagination","paginationFactory","wrapperClasses","bootstrap4","bordered","size","show","onHide","aria-labelledby","Header","aria-label","Body","Footer","Title","StrictMode","textAlignLast","fileName","random","url","alt","fileType","filePath","onError","dangerouslySetInnerHTML","__html","twoDigit","number","DateTime30GL","field","span","required","withFeedbackLabel","customFeedbackLabel","IdName","ClassLabel","defaultvalue","setFieldValue","disabled","Time","idInput","DateValue","setDateValue","TimeValue","setTimeValue","valueDate","setvalueDate","border","setborder","useEffect","InputLabelProps","shrink","event","onKeyUp","keyCode","GetBaseData","fetch","$apiurl","method","withCredentials","headers","Authorization","Token","then","response","statusCode","status","Promise","all","res","catch","GetCarrierCheckedInData","myHeaders","Headers","append","requestOptions","redirect","contentType","get","indexOf","Message","ImportOrderItems","isFromImport","ImportOrderItemsComp","makeStyles","theme","root","width","paper","marginTop","spacing","overflowX","marginBottom","table","minWidth","height","rowBody","fontWeight","button","margin","leftIcon","marginRight","rightIcon","marginLeft","iconSmall","useStyles","rowsState","setRowsState","rowsStatBool","setRowsStatBool","ServiceId","setServiceId","ModeId","setModeId","ServiceLevelId","setServiceLevelId","EqTypeId","setEqTypeId","EqSizeId","setEqSizeId","rowsEmpty","setRowsEmpty","ServiceListOption","setServiceListOption","customersList","setCustomersList","importInProgress","setImportInProgress","showProgress","CustomerIdValue","setCustomerId","loading","setLoading","fetchCustomersAsync","Customers","Services","fileUploadeOnclick","CustomerId","EquipmentTypeId","EquipmentSizeId","Items","msg","TryParseInt","retValue","isNaN","TryParseFloat","parseFloat","Row","Label","isClearable","options","Modes","ServiceLevels","EquipmentTypes","EquipmentSizes","Group","Col","controlId","Control","accept","fileObj","files","ExcelRenderer","resp","rows","f","g","h","j","l","m","n","p","q","r","s","t","u","v","w","y","z","aa","ab","ac","ad","ae","af","empty","isValidDate","Empty","MasterBill","OrderDate","Vessel","Eta","Voyage","CustomerRefNo","CustomerRefNo2","Equipment","SealNumber","FreightCharge","PickupLocation","ShiptoLocation","PurchaseOrder","Sku","Pieces","UnitOfMeasure","UnitCount","Weight","WeightType","Cube","CubeType","Description","OverQuantity","ShortQuantity","DamagedQuantity","Pallets","IsHot","IsHazMat","Location","UpcNumber","Size","Color","Error","createData","bind","this","download","readOnly","fileHandlerOnclick","data-toggle","title","ManifestLabel","state","Carriers","Statistiques","LocationItems","Accept","setState","pallet","formData","ItemsList","ConsigneeName","fgColor","Unitcount","ContainerNumber","CustomerName","whiteSpace","ShipperName","Component","PalletManifestLabel","componentRef","useRef","handlePrint","useReactToPrint","content","current","printOnly","single","ref","CustomerEditSchema","Yup","shape","CustomerEditForm","saveCustomer","customer","actionsLoading","defaultValue","setCustomers","warehouses","setwarehouses","Locations","setLocations","consignees","setconsignees","shippers","setshippers","setshipperIds","CustomerIdDisabled","setCustomerIdDisabled","fetchUsersAsync","axios","enableReinitialize","initialValues","validationSchema","onSubmit","ConsigneeId","WarehouseId","ShipperId","LocationId","handleSubmit","isDisabled","valueSelect","Code","find","CustomersLoadingDialog","isLoading","useSelector","customers","listLoading","shallowEqual","CUSTOMERS_URL","initialCustomersState","totalCount","entities","customerForEdit","lastError","callTypes","actions","createSlice","initialState","reducers","catchError","action","payload","callType","startCall","customerFetched","customersFetched","customerCreated","customerUpdated","entity","customerDeleted","el","customersDeleted","ids","customersStatusUpdated","findIndex","fetchCustomers","queryParams","dispatch","post","requestFromServer","clientMessage","fetchCustomer","customerId","deleteCustomer","delete","createCustomer","customerForCreation","updateCustomer","put","updateCustomersStatus","deleteCustomers","CustomerEditDialogHeader","setTitle","_title","LastName","Modal","closeButton","getFieldCSSClasses","touched","errors","DateFieldFilter","useFormikContext","useField","selected","flexGrow","display","padding","valueContainer","flexWrap","flex","alignItems","overflow","chip","chipFocused","backgroundColor","emphasize","palette","grey","noOptionsMessage","singleValue","left","bottom","zIndex","right","divider","inputComponent","inputRef","components","children","innerProps","innerRef","selectProps","TextFieldProps","TextField","fullWidth","InputProps","inputProps","Paper","square","MultiValue","Chip","tabIndex","clsx","isFocused","onDelete","removeProps","deleteIcon","NoOptionsMessage","Typography","Option","MenuItem","isSelected","Placeholder","SingleValue","ValueContainer","DownshiftMultipleSelect","suggestions","FieldName","DefalutValue","useTheme","React","setSingle","suggestionStat","setsuggestionStat","handleChangeSingle","suggestion","CompanyName","selectStyles","base","primary","font","NoSsr","styles","inputId","htmlFor","formatDate","month","year","container","textField","setShowProgress","showStateProgress","setShowStateProgress","companiesList","setcompaniesList","countriesList","setcountriesList","states","setStates","gendersList","setgendersList","CategoriesList","setCategoriesList","companyValue","setValueCompany","fetchOrderAsync","obj","CompanyCode","CompanyId","State","setStateValue","Gender","setGenderValue","GenderId","CategoryId","setCategoryValue","Category","prop","handleCountryChangeUS","birthDate","BirthDate","handleCountryChange","vale","genderValue","categoryValue","stateValue","CountryId","newValue","LinearProgress","Input","CustomerStatusCssClasses","sizePerPageList","initialFilter","lastName","firstName","email","ipAddress","sortOrder","sortField","pageNumber","pageSize","CustomersUIContext","createContext","useCustomersUIContext","useContext","Consumer","CustomersUIProvider","customersUIEvents","setQueryParamsBase","setIds","setQueryParams","useCallback","nextQueryParams","prevQueryParams","isFunction","isEqual","initCustomer","Address","City","userName","gender","dateOfBbirth","newCustomerButtonClick","openEditCustomerDialog","openDeleteCustomerDialog","openDeleteCustomersDialog","openFetchCustomersDialog","openUpdateCustomersStatusDialog","Provider","CustomerEditDialog","customersUIContext","customersUIProps","useMemo","useDispatch","CustomerDeleteDialog","CustomersDeleteDialog","selectedCustomers","_customers","CustomersFetchDialog","CustomersUpdateStateDialog","setStatus","StyledMenu","withStyles","elevation","getContentAnchorEl","anchorOrigin","vertical","horizontal","transformOrigin","StyledMenuItem","main","common","white","CustomersFilter","QueryFilter","setQueryFilter","applyFilter","newQueryParams","searchText","ReLoadTable","prepareFilter","anchorEl","setAnchorEl","handleClick","currentTarget","handleClose","fetchMyAPI2","entityName","handleBlur","handleChange","onBlur","ButtonToolbar","Button","aria-controls","aria-haspopup","variant","Icon","keepMounted","open","Boolean","onClose","ListItemIcon","ListItemText","ActionsColumnFormatter","cellContent","rowIndex","CustomersTable","currentState","columnFormatters","formatExtraData","headerClasses","paginationOptions","custom","totalSize","uiHelpers","sizePerPage","page","paginationProps","paginationTableProps","remote","onTableChange","getHandlerTableChange","CustomersGrouping","CustomersCard","ManageContactsPage","history","params","ExternalServiceId","IsActive","CarrierId","min","max","lenght","Lenght","eventChange","Event","bubbles","eventChangefunction","dispatchEvent","SetValuefunction","externalservices","setexternalservices","Carrier","setCarrier","serviceManageCarriers","ServiceManageCarriers","checked","click","ShowInactive","CarriersId","setCarriers","StatusColumnFormatter","isActive","Active","MoveColumnFormatter","OnClickActive","num","cursor","selectRow","getSelectRow","textDecoration","lineHeight","useParams","suhbeader","useSubheader","products","productForEdit","dense","menu","col4Check","placeSelf","paddingTop","fetchAsync","DateStart","DateEnd","IsQuickAdd","attr","setshowProgress","BillingTypeId","Rate","setName","BillintTypeId","DateColumnFormatterEnd","elapsed","re","RegExp","toLocaleString","DateColumnFormatterStart","ManageRatesBilling","ReceiptEditSchema","formControl","group","viewModelDataLabels","setViewModelLabels","viewModelDataUnits","setViewModelUnits","isManual","setisActive","IsManual","Labels","Units","FormControlLabel","control","Radio","labelPlacement","Unit","Notes","ItemId","ArAcct","GlAcctNumber","openImportCustomerDialog","$ManageTransactionBillingPut","$ManageTransactionBillingPutMessage","$ManageBillingShippingPost","$ManageBillingShippingPostMessage","description","desc","orderBy","headRows","numeric","disablePadding","EnhancedTableHead","onSelectAllClick","numSelected","rowCount","onRequestSort","TableHead","TableRow","TableCell","Checkbox","indeterminate","align","sortDirection","TableSortLabel","active","direction","property","useToolbarStyles","paddingLeft","paddingRight","highlight","secondary","lighten","light","dark","spacer","EnhancedTableToolbar","Toolbar","Tooltip","IconButton","tableWrapper","CustomerDialogForm","setOrder","setOrderBy","setSelected","rowsPerPage","emptyRows","setOpen","Dialog","DialogTitle","DialogContent","Table","newSelecteds","TableBody","array","cmp","stabilizedThis","stableSort","getSorting","isItemSelected","labelId","hover","selectedIndex","newSelected","role","aria-checked","colSpan","DialogActions","typography","popupId","popupState","bindTrigger","Popover","bindPopover","TransactionBillingShipping","Refrigerated","setRefrigerated","Status","ServicesList","setServicesList","ServicesListOption","setServicesListOption","ModesList","setModesList","ModesListOption","setModesListOption","ServiceLevelsList","setServiceLevelsList","ServiceLevelsListOption","setServiceLevelsListOption","setEquipmentTypesList","EquipmentTypesListOption","setEquipmentTypesListOption","EquepmentTypeId","setEquepmentTypeId","fetchGetCountriesAsync","dataFilter","gg","tt","hh","RefrigeratedColumnFormatter","Helmet","ManageEquipmentsPage","LoginUserName","Password","ConfirmPassword","Phone","nullable","age","multiline","currency","setValues","LocationBilling","RecurringStorageCharges","ManageTPLScales","Value","CustomLabel","for","ManageSmartParcelCarriers","noValidate","FreezeTransactions","LoadTypeId","LoadType","MaterialTypeId","Material","isActiveLoadType","setisisActiveLoadType","FormLabel","MovableUnits","Service","ManageModes","ManageEquipmentsType","ManageServiceLevels","ZoneName","ServiceLevel","setcustomersList","wareHousesList","setwareHousesList","handleCustomerChange","$ManageZoneBillingPut","$ManageZoneBillingPutMessage","$ManageZoneBillingPost","$ManageZoneBillingPostMessage","warehouseId","zoneName","ZoneBilling","Contacts","NumberPerLocation","Email","timeZoneInfoList","setTimeZoneInfoList","setCountriesList","addClick","setusers","prevState","FirstName","WorkPhone","Cellular","HomePhone","Fax","Birthday","users","removeClickContact","splice","fetchCategories","ContactCategories","Accordion","defaultActiveKey","Form","eventKey","Alert","top","Collapse","Card","createUI","float","WarehouseName","Address1","Address2","ZipCode","PhoneNumber","UPSNumber","FedExNumber","FuelSurcharge","FreightRate","Country","setContacts","GetWarehouse","setloading","ManageWarehouse","widht","NeedBill","SCAC","BooleanColumnFormatter","ManageCarriers","DownshiftMultipleSelectCustom","MilesPerDay","FromCity","FromState","ToCity","ToState","TransitDays","setETAGrid","ServiceList","setServiceList","items","setServices","addNewRow","handleChangeInputItems","index2","handleChangeSelect","handleChangeSelectItems","createServicesUI","handleChangeInput","removeRow","r2","statesList","removeRowItems","addNewRowItems","LoacationsTransitDays","setLoacationsTransitDays","TmsOptions","setTmsOptions","setcountryList","locationOptionsList","setlocationOptionsList","warhousesList","setwarhousesList","ShipmentModeList","setShipmentModeList","postWarehouseList","setPostWarehouseList","getWarehouseList","setGetWarehouseList","setstatesList","LocationList","setLocationList","movableUnitOptionList","setmovableUnitOptionList","fulfillmentInvoicesOptionsList","setfulfillmentInvoicesOptionsList","carrierInfoOptionList","setcarrierInfoOptionListList","supplierOptionsList","setsupplierOptionsList","defaultInvoicesOptionsList","setdefaultInvoicesOptionsList","InvoiceOptionId","setInvoiceOptionId","InvoiceGrpOptionId","setInvoiceGrpOptionId","TermsList","setTermsList","BillingAddress","setBillingAddress","tmsStatteOptions","settmsStatteOptions","BillingAddressValue","setBillingAddressValue","PrimaryWarehouseValue","setPrimaryWarehouseValue","PrimaryZoneValue","setPrimaryZoneValue","Method","setMethod","setService","setAllModes","UsersOtions","setUsersOtions","TmsMode","setTmsMode","AddressTypeId","setShowModal","modalConfirmationReasonSelected","setModalConfirmationSelected","ReasonCodeId","setReasonCodeId","ReasonCode","setReasonCode","showBillingModal","setShowModalBilling","billingId","setBillingId","billingData","setBillingAddressData","FuelSurchargePercentage","integer","ContactEmail","LocationOptionId","MovableUnitOptionId","SupplierOptionId","InvoicingOptionId","CarrierInfoOptionId","CreateInvoicesOptionId","fetchDataAsync","country","objWarehouses","genericAddresses","$dataGenericAdd","objBlAddress","InvoiceGrpOptions","fetchViewModelAsync","setCountry","AddressTypes","removeClickTmsOptions","eTAGrid","handleChangeTmsOptionsUserId","UserId","UserIsGroup","IsGroup","handleChangeTmsOptionsShippingCity","ShippingCity","handleChangeTmsOptionsMode","handleChangeTmsOptionsShippingState","ShippingState","handleChangeTmsOptionsReceivingCity","ReceivingCity","handleChangeTmsOptionsReceivingState","ReceivingState","addClickLoacationsTransitDays","addClickTmsOptions","removeClickLoacationsTransitDays","handleChangeLoacations","handleChangeLocationTransitDays","PrimaryWarehouseId","PrimaryWarehouse","PetroleumZoneId","CustomerServiceLevels","serviceLits","FuelSurchargeMethodId","MethodFuelSurchargeName","BillingAddressId","InboundManifestHasUpc","IsPodRequired","POManage","ReceiveAgaintAsn","OneFileAtLeast","TotalPackageVolume","TotalPackageWeight","AutoAllocate","SplitMovableUnit","SuggestedPutWay","UseBlindReceipt","DefaultQuantity","FileImportTracking","AllocateOrderManually","AutomaticallyTrackBy","RequireScac","RequireCarrier","RequireLoadNumber","RequireLadingNumber","RequirePurchaseOrder","PackageCount","ConnectionUpdatesTracking","ScannerApplication","RequireTrackingNumber","FullMovableUnits","LocationIdentifierReport","EnableCustomFields","AllowPurchaseOrder","EnableDashboard","InvoiceConfirmation","UseTransactionBillNumber","DisplayVendorId","RequireOrderClosed","Assignments","deepClone","defaultForm","deepClone2","arrayserviceMode","objcts","itm","newobj","WarehousesAccess","InboundInvoiceOptionId","HtmlTooltip","tooltip","maxWidth","pxToRem","borderBtmCst","borderBottom","scrollHeighRates","CustomerEditSchema2","CustomerBillingAddressModal","CountryObj","setCountryObj","setAddressTypes","AddressTypeValue","setAddressTypeValue","countryIdFetch","setCountryValue","removeClick","hide","removeClass","countryId","OrganizationId","OrganizationName","css","Charges","handleChangeName","handleChangeCode","handleChangeRate","handleChangeDescription","handleChangeDateStart","handleChangeDateEnd","handleChangeIsQuick","StatusMessage","statusText","someData","PutModel","PostModel","handleCountryChange2","$StatesAddress","isEmpty","set","Set","has","add","hasDuplicateObjects","Reason","DeleteReasonId","IsOnHold","GetModelId","isMulti","classNamePrefix","TurnTimes","CustomerShipmentModes","WeightLimit","data-container","data-placement","wList","Fragment","DefaultServiceId","DefaultModeId","DefaultServiceLevelId","CommercialAssigneeId","CommercialOperationId","CapacityOperationId","CapacityAssigneeId","idx","borderRadius","boxShadow","createTmsOptionsUI","createLoacationsTransitDaysUI","ContactPhone","ExternalId","Website","PostalCode","ContactName","VicsBillLadingId","UspNumber","fedExNumber","CarrierPostalCode","AccountingName","InterchangeId","IdQualifier","EwmsInterchangeId","LowCube","EwmsIdQualifier","SpsTradingPartnerId","ManufacturingId","InboundInvoiceGrpOptionId","NetTermId","Sales","CreditLimit","Balance","LineHaulDefaultPercentage","FuelPercentage","AvgDaysToRelease","AvgDaysToPickupOn","AvgDaysToDevan","AvgDaysToPickup","AvgDaysToReleaseHot","AvgDaysToPickupOnHot","AvgDaysToDevanHot","AvgDaysToPickupHot","AvgDaysToHotFlag","AvgDaysToReceived","AvgDaysToAppointment","AvgDaysToDischarge","openDetailsCustomerDialog","$statusPut","$ManageCustomerPost","$ManageCustomerPostMessage","warehouse","url_string","location","URL","searchParams","$GlobalSearchCustomerid","isexecut","OverlayTrigger","CustomerDetailsDialog","activitiesData","setActDataCustomer","ManageCustomers","typeId","organisationName","OrganisationName","GetCustomers","types","$customersAddress","showTotal","ManageAddressPage","cols","ManageZoneBilling","DropdownButton","Dropdown","Item","ManageCarrierAccounts","DepartementsTypeList","setDepartementsTypeList","DepartementsType","setDepartementsType","DepartementId","handleGetViewModel","ManageServices","ProductsLoadingDialog","ProductStatusCssClasses","Customer","Warehouse","ProductsUIContext","useProductsUIContext","ProductsUIProvider","productsUIEvents","ReferenceNumber","newProductButtonClick","openEditProductPage","openDeleteProductDialog","openDeleteProductsDialog","openFetchProductsDialog","openUpdateProductsStatusDialog","ProductDeleteDialog","productsUIContext","productsUIProps","ProductsDeleteDialog","selectedProducts","_products","product","ProductsFetchDialog","manufacture","model","ProductsUpdateStatusDialog","ProductsFilter","datefilter","lastTransNumber","firstTransNumber","referenceNumber","purchaseOrderId","receiptAdviceNumber","notes","startDateFormatter","endDateFormatter","StartDate","EndDate","DateFilter","PurchaseOrderId","ReceiptAdviceNumber","FirstTransactionId","LastTransactionId","showProgressWarehouse","InputGroup","DateColumnFormatter","ProductsTable","ProductsGrouping","ProductsCard","FindReceiptsPage","ManageUOMPage","LoadBoardId","SearchText","newCreateOrderButtonClick","openDetailProductPage","typingTimer","IsFilterHide","CustomersList","CarriersList","setCarriersList","UsersList","setUsersList","ModeList","setModeList","LoadBoardsList","setLoadBoardsList","getDataViewModel","Updators","$RefreshTMSLoadBoaed","startDatePlaceholder","endDatePlaceholder","clearTimeout","IsReadOnly","ele1","ReadOnly","Spinner","useHistory","ShowData","setShowData","loadingData","setloadingData","loadingDataNew","setloadingDataNew","loadingDataBooked","setloadingDataBooked","loadingDataAtShipper","setloadingDataAtShipper","loadingDataInTransit","setloadingDataInTransit","loadingDataAtReceiver","setloadingDataAtReceiver","loadingDataDelivered","setloadingDataDelivered","setIsFilterHide","NewOrderData","setNewOrderData","BookedData","setBookedData","AtShipperData","setAtShipperData","InTransitData","setInTransitData","AtReceiverData","setAtReceiverData","DeliveredData","setDeliveredData","PaginationProperty","setPaginationProperty","fromLoading","paginationOptionsNew","setpaginationOptionsNew","paginationOptionsBooked","setpaginationOptionsBooked","paginationOptionsAtShipper","setpaginationOptionsAtShipper","paginationOptionsInTransit","setpaginationOptionsInTransit","paginationOptionsAtReceiver","setpaginationOptionsAtReceiver","paginationOptionsDelivered","setpaginationOptionsDelivered","OnHold","ClickFun","GetDataLoadBoardFunction","carriers","search","listcarriers","listCustomers","listCapacityOperationId","listCommercialAssigneeId","listCommercialOperationId","listModes","dataObj","_paginationOptionsNew","Data","StatusId","Pagination","TotalItemCount","_paginationOptionsBooked","_paginationOptionsAtShipper","_paginationOptionsInTransit","_paginationOptionsAtReceiver","_paginationOptionsDelivered","Shipments","GetDataByStatus","GetHandlerTableChangeNew","newState","GetHandlerTableChangeBooked","GetHandlerTableChangeAtShipper","GetHandlerTableChangeInTransit","GetHandlerTableChangeAtReceiver","GetHandlerTableChangeDelivered","ProgressBar","animated","noDataIndication","ProductsPage","EditModal","setEditModal","MODetail","setMODetail","LoadBoardEdit","setLoadBoardEdit","setLoadBoardGrid","OrderCreationModal","setOrderCreationModal","SO","OrderCreation","MO","Mode","userAssignee","So","shipDateFilter","Pu","Del","Cust","Bid","listShipDates","lg","md","expendedDefault","loadingDataNotConfirmed","setloadingDataNotConfirmed","ShowAddOfferModal","setShowAddOfferModal","LoadingPost","setLoadingPost","NotConfirmedData","setNotConfirmedData","setDataExpandedRow","EmailAddressList","setEmailAddressList","ToDataDefeault","setToDataDefeault","ToData","setToData","includCCData","setincludCCData","SubjectData","setSubjectData","BodyData","setBodyData","AttachmentData","setAttachmentData","isLoadingSend","setisLoadingSend","showModalSend","setshowModalSend","paginationOptionsNotConfirmed","setpaginationOptionsNotConfirmed","GetHandlerTableChangeNotConfirmed","columnsNew","DropdownCustomTo","BidsInfo","ShipmentId","setBidsInfo","TotalPayable","TotalReceivables","columnsOrder","columnsBids","columnsNoteCofirmed","New","OrderBids","NotConfirmed","BidsAccepted","_paginationOptionsNotConfirmed","VendorId","VendorName","SpecialReq","Amount","PickupAppointmentDate","DeliveryDate","IsTendered","dataemail","Emails","Shipment","ShipmentDate","ReqShipDate","MustArriveByDate","Commodities","VendorListCapasityLB","Vendors","SendDispatchShipmentsList","Ids","Subject","IncludeCc","Attachments","Bol","OutboundDispatch","ShipmentManifest","raw","ModelState","modelState","BidAmount","Note","expanded","expandByColumnOnly","objDefeault","editor","ClassicEditor","config","removePlugins","getData","animation","aria-hidden","GetEmailNotification","xl","CapacityBoardPageTab","NewModal","setNewModal","setCBDetail","DeleteModal","setDeleteModal","RemarksFilter","remarksUIContext","useRemarksUIContext","ModelShowingConfirmation","setModelShowingConfirmation","remarksUIProps","openNewRemarkDialog","ReLoadTableCustomTrRm","value1","value2","$ItemsRmId","$ItemsCusId","REMARKS_URL","ReceivingsSlice","fetchRemarks","productId","remarksFetched","fetchRemark","remarkId","remark","remarkFetched","remarkForEdit","deleteRemark","remarkDeleted","createRemark","remarkForCreation","remarkCreated","updateRemark","remarkUpdated","openEditRemarkDialog","openDeleteRemarkDialog","AcceptRejeted","ChangedModeServiceLevel","Swal","fire","icon","showCancelButton","confirmButtonColor","cancelButtonColor","confirmButtonText","isConfirmed","ReceiptId","RemarksTable","Receiving","IsRtvConfirmed","hidden","ReceivedDate","ProcessedDate","PoExpectedDate","IsHazardousMateriel","POs","Allow","pageDropDownSelect","onclick","RemarksLoadingDialog","RemarksDeleteDialog","showDeleteRemarksDialog","closeDeleteRemarksDialog","RemarkDeleteDialog","selectedId","showDeleteRemarkDialog","closeDeleteRemarkDialog","selectedRemarks","_remarks","RemarksFetchDialog","showFetchRemarksDialog","closeFetchRemarksDialog","remarks","RemarkEditDialogHeader","RemarkEditDialog","showEditRemarkDialog","closeEditRemarkDialog","initRemark","$NewItemSaveClose","RemarkEditForm","saveRemark","AutoRatingClick","SendEmail","IsMultu","GetWarehousDataPageChanges","includBol","setincludBol","includOutboundDispatch","setincludOutboundDispatch","includShipmentManifest","setincludShipmentManifest","AttachementList","setAttachementList","AccessLevels","setAccessLevels","AttachmentTypes","setAttachmentTypes","isLoadingSubmit","setisLoadingSubmit","resultobj","obj2","objs","SendEmailfunctions","SaveShipementAattachement","formdata","FormData","inputElement","AccessLevelId","AttachmentTypeId","inputs","querySelectorAll","getAttachmentData","rel","Path","statusId","ShipmentIds","ShipmentStatus","NextStatus","pointerEvents","opacity","justifyContent","fullList","ActionsStatus","filterOptions","DataWareHouse","SelectedRow","setSelectedRow","SelectedRowBulk","loadingModalShow","setloadingModalShow","showModalPickedUp","setshowModalPickedUp","loadedModalShow","setloadedModalShow","LoadingPostStatus","setLoadingPostStatus","ShowModalAssigned","setShowModalAssigned","optionsVandorList","setoptionsVandorList","VendorTypeId","ThirdPartyBillToId","FreightChargeId","initAssignedStatusVendor","setinitAssignedStatusVendor","FreightChargeList","setFreightChargeList","optionsVandorTypeList","setoptionsVandorTypeList","BillToList","setBillToList","nextOrder","ShipmentsCount","toggleDrawer","side","getElementsByClassName","visibility","preventDefault","PostAssignedVandors","VandorSelected","IsApproved","dataobj","Traillerdrop","EquipmentNumber","SubmitLoadingDetail","parameters","SubmitLoadedDetail","placement","Drawer","anchor","kt-hidden-height","opt","Vendor","FreightCharges","VendorTypes","BillTo","getvandorsList","StatusName","setfilterOptions","setpaginationOptions","ShipmentsException","setShipmentsException","service","mode","serviceLevelId","eqTypeId","eqSizeId","ShipFrom","DateRangeType","hot","hasMat","canceled","closed","getExceptionAscync","MenuList","datapagination","exceptionsId","xmlns","xlink","viewBox","version","stroke","strokeWidth","fill","fillRule","rx","reduce","CountItems","substring","Count","DateRangeTypeList","WarehouseFilter","ViewModel","statusesList","IsCancel","setIsCancel","setOnHold","listDriver","searchValue","setSearchValue","currentData","$SmGsearchText","delayDebounceFn","$ShipmentManagementModeId","$ShipmentManagementServiceId","Shippers","dateFormat","minDate","maxDate","startWeekDay","IsCanceled","$ShipmentManagementCanceled","driverCheckedIn","isHeavy","$ShipmentManagementClosed","filterOptionsReset","MenuIndex","GetShipmentManifest","link","OneMoveMasterFunction","OneMoveMasterShow","setOneMoveMasterShow","OneMoveMaster","Show","statSHipmentId","SendEmailFunction","modalActions","setBol","setOutboundManifest","localStorage","setItem","setModeItem","setRateConfirmation","setPL","currentList","ShipItems","PO","SKU","CasePack","ShipQTY","ShipQuantity","ShipUOM","ShipUom","Weight_LBS","Cube_CBM","ItemQty","Container","EquipmentRef","pallets","itemX","itemY","PalletId","isDropdown","statusNoteRollBack","IsValidColumn","tConvert","time","checkindriver","DriverName","PickupNumber","PickupAppDate","SealDroppingTrailerNumber","SealDroppingNumber","SealPickingUpTrailerNumber","SealPickingUpNumber","IsChanged","checkindriverOut","ModelMnagementTMSWarehouse","PrevOrder","setShow","Issue210","setIssue210","Show210issue","setShow210issue","CancelModelShowingConfirmation","setModelShowingConfirmationCancel","DriverSheckInModal","setDriverSheckInModal","ShowRemarks","setShowRemarks","RollBackLoadingPost","setRollBackLoadingPost","ReceiptVendorRemoved","setReceiptVendorRemoved","GlobalStatusListOptions","setGlobalStatusListOptions","ReceiptVendorList","setReceiptVendorList","StatusListOptions","setStatusListOptions","initCarrier","setinitCarrier","initCarrierOut","setinitCarrierOut","setIsCustomer","ActivitiesCarriersCheck","setActivitiesCarriersCheck","NextStatusCancel","noteValue","Remarks","showing","setshowing","SimplePopover","showBol","setRow","StatusSelectedRolledBack","setStatusSelectedRolledBack","statusList","SubmitCarrierCheckIn","objPosted","Checks","isSearchable","Position","VendorAddress","VendorsIds","KeepChanges","IsCancelled","DynamicReport","showModal","reportContent","BLFORM","DropdownCustomTogglerYellow","shipmentEditCommingFrom","Errors","resObject","dataBased","CheckIn","newObject","CheckOut","newObjectOut","IsLowCube","IsManager","GetListOfPreviewsStatus","listonstatus","userDefault","IsCustomer","ReceiptManagmetShow","DetailMangment","isTms","isDashboard","Detail","setDetail","VendorsList","setVendorsList","setNotesList","setAttachmentsList","DetailTrakingInfo","setDetailTrakingInfo","DetailTrakingGeometryInfo","setDetailTrakingGeometryInfo","DetailActivityRatesInfo","setDetailActivityRatesInfo","DetailShipmentInfo","setDetailShipmentInfo","useStyles1","flexShrink","setPage","setRowsPerPage","Result","setResult","GetModel","contactModal","setContactModal","contactsVendor","setContactsVendor","vendorIdContact","setVendorIdContact","CheckStatus","shortQuantity","setShortQuantity","damagedQuantity","setDamagedQuantity","overQuantity","setOverQuantity","modalOsdEdit","showModalEditOsd","saveEditOsd","setSaveOsd","rowOsd","setRowOsd","PutOsd","$statusCodePut","showAttachment","setShowAttachment","disabledDownload","setDisabledDownload","setFileType","setFilePath","OrderId","InvoiceNumber","InvoiceDate","CustomerAddress","CustomerNumber","BillToAddress","BillingNumber","ShipperAddress","ShipperNumber","CreatedAt","ConsigneeAddress","ConsigneeNumber","StatusPlannedDate","TraillerDropDate","StatusNotifyTrucker","StatusCheckedInDate","StatusQuotedDate","StatusBookedDate","StatusLoadingFromOurWarehouseDate","StatusPickedUpDate","StatusInTransitDate","StatusDeliveredToConsigneeDate","StatusEmptyDate","RequestedPickUpDate","LastShipDate","PuAppointment","PuAppointmentTo","StatusNewDate","StatusDispatchedDate","StatusLoadedFromOurWarehouseDate","StatusInGateAtOriginHubDate","StatusArrivedDestinationHubDate","StatusDeliveredDate","StatusClosedDate","AppointmentDate","AppointmentTo","EstimatedArrivalDate","Rdd","CommodityId","EnteredBy","ServiceName","ModeName","ServiceLevelName","EquipmentTypeName","EquipmentSizeName","PalletType","PalletLoadType","PalletCount","DeviceName","VesselVoyage","Cartons","EquipmentType","TotalWeight1","TotalCube1","CurrentEvent","CurrentCity","CurrentState","CurrentDate","CurrentTime","DestinationInformation","Tabs","Tab","bootstrapURLKeys","$GoogleMapsKey","defaultCenter","lat","lng","defaultZoom","onGoogleApiLoaded","maps","Number","Lat","Lng","TraceType","directionsService","DirectionsService","directionsRenderer","DirectionsRenderer","gMap","Marker","waypoints","stopover","service_options","origin","destination","travelMode","route","gRenderers","setMap","setOptions","suppressMarkers","preserveViewport","setDirections","calculateAndDisplayRoute","renderMarkers","LocationCity","LocationState","EventName","TraceDate","TraceTime","LocationCountry","EtaDate","EtaTime","CreatedBy","ShipmentItems","LocationCode","Upc","Quantity","IsHazmat","ShipmentShortQuantity","ShipmentOverQuantity","ShipmentDamagedQuantity","TablePagination","rowsPerPageOptions","count","SelectProps","native","onChangePage","newPage","onChangeRowsPerPage","ActionsComponent","rowsName","TransportationItems","CalculatedCharges","ChargeDescription","FreightChargeName","BillAmount","PayableAmount","Margin","MarginPercentage","TotalReceivable","Revenue","word","UserEmail","CategoryName","OrderAttachements","AttachmentList","CardFunction","Tracking","Polyline","SecureFileFetch","receiptId","attachmentId","AttachmentFile","Text","FileName","AccessLevel","TmsWarehouseManagementPage","LoadingGridData","setLoadingGridData","showModalSends","setshowModalSends","setDataWareHouse","setViewModel","ExportLoadingData","setExportLoadingData","setSelectedRowBulk","setSelectedRowBulkButtonShow","addDays","GetWarehousData","searchVal","currentFilter","_paginationOptions","oldPaginationValue","$SmGsearchStartDate","hideSelectColumn","onSelect","isSelect","onSelectAll","GetHandlerTableChange","setcolumns","columnsWareHouse","setstatusId","showInboundManifest","showDispatchReport","showPl","CustomerCode","string","OriginCompanyName","OriginCompanyCode","DestinationCompanyName","DestinationCompanyCode","DeliveryEta","DeliveryAppointmentDate","CarrierName","CarrierCode","getItem","titleButton","BlFormMulti","RateConfirmationBeta","PLFORM","OutboundManifest","smId","PRODUCTS_URL","initialProductsState","productFetched","productsFetched","productCreated","productUpdated","productDeleted","productsDeleted","productsStatusUpdated","fetchProduct","heading","fontWeightRegular","ProductEditForm","btnRef","saveProduct","ShowDeleteLBModal","setShowDeleteLBModal","setDataFilter","UpdatorsList","setUpdatorsList","deleteProduct","Axios","filterCustomerCheckbox","isCustomer","Public","ExpansionPanel","ExpansionPanelSummary","expandIcon","ExpansionPanelDetails","initProduct","IsPublic","ProductTMSEdit","tab","backToProductsList","myHeaders2","requestOptions2","module","exports","KTCard","elementId","the","KTUtil","getById","getBody","defaultOptions","toggleSpeed","sticky","releseOnReverse","offset","Plugin","construct","init","build","events","deepExtend","header","child","footer","remove","addEvent","reload","toggle","initSticky","addEventListener","onScrollSticky","st","getScrollTop","eventTrigger","updateSticky","resetSticky","Function","call","setContent","getSelf","expand","collapse","slideUp","slideDown","one","handler","fired","setDefaults","destroySticky","removeEventListener","on","apply","KTScrolltop","speed","throttle","timer","handle","scroll","hasAttribute","setAttribute","removeAttribute","scrollTop","args","shipmentId","pathname","CategoriesShipmentNotes","ShipmentNotes","handleSubmited","Categories","ShipmentNote","resulting","IsValidAddress","isFirstItem","prototype","addHours","setTime","ShipmentActions","ShowModalDespatch","setShowModalDespatch","ckEditorData","setckEditorData","LoadingchangeDespatchStatus","setLoadingchangeDespatchStatus","ShowModalBooked","setShowModalBooked","ShowModalLoading","setShowModalLoading","ShowModalLoaded","setShowModalLoaded","VandorSelectedData","setVandorSelectedData","FreightChargeIdSelectedData","setFreightChargeIdSelectedData","BillToSelectedId","setBillToSelectedId","VendorTypeIdSelectedData","setVendorTypeIdSelectedData","SelectShipmentIds","setSelectShipmentIds","ShowModalDispatched","setShowModalDispatched","showSendEmail","setShowSendEmail","ShipmentStatusId","setShipmentStatusId","ShowModalPreviewDispatched","setShowModalPreviewDispatched","ShowModalPickUp","setShowModalPickUp","ShowModalAppointed","setShowModalAppointed","ShowModalSentInterModal","setShowModalSentInterModal","setformData","vendorid","multiCustomersGet","$filterActionsSm","submitShipmentStatus","ShipmentsId","checkboxes","Array","getElementsByTagName","PostDispatchVandors","ShpmentsIdFrowSendEmail","PostbookedchVandors","pickupToDates","pickupOnDates","PickupToDate","PickupOnDate","PickupToDates","PickupOnDates","dataRowes","$payablesRates","SubmitEqNumber","EqNumber","SubmitAppointedDetail","DeliveryAptDate","PickupAptDate","DeliveryOnDate","PostPickUpStatus","ETADates","EtaDates","SubmitSentInterModalDetail","SendDespatchEmail","Nav","Link","frmData","Pane","Reference","ReadyDate","DateNeeded","LoadNumber","ShipperRef","EquipmentSize","colspan","Shipper","Contact","ReadyTime","Consignee","CloseTime","handlingUnit","PackageType","HasMat","TotalLBSWeight","TotalWeight","Payables","VendorNumber","Total","DriverPhone","MCNumber","TruckNumber","From","PickUpDate","ShipmentRef","PickUp","PickUpReadyTime","PickUpCloseTIme","Delivery","DeliveryReadyTime","DeliveryCloseTIme","PickUpInstructions","DeliveryInstructions","CarrierCost","substr","isInbound","linq","GetAttachements","$ShipmentManagementStatus","__FOUND","parentNode","every","ShipmentTypes","setShipmentTypes","setShipFrom","CarrierOptions","setCarrierOptions","ShipmentTypesOption","setShipmentTypesOption","ShipmentServiceLevelsOption","setShipmentServiceLevelsOption","ShipmentServicesOption","setShipmentServicesOption","ShipmentServices","setShipmentServices","ShipmentServiceLeveles","setShipmentServiceLeveles","ShipmentEquipmentTypes","setShipmentEquipmentTypes","ShipmentEquipmentTypesOption","setShipmentEquipmentTypesOption","$ShipmentManagementCustomerId","$ShipmentManagementCustomerName","customerIdItem","setCustomerIdItem","$ShipmentManagementServiceName","ShipmentEquipmentSizeOption","setShipmentEquipmentSizeOption","$ShipmentManagementModeName","$clearableDate","shipmentDefaultFilter","DefaultFilter","Flow","userDbFilterRm","DefaultCustomerId","DefaultCustomer","DefaultCustomerName","DefaultService","DefaultServiceName","DefaultMode","DefaultModeName","$isGlobalSearch","setmodeId","fetchGlobalSearchFilter","suggestionsShipper","suggestionsCarriers","shipmentTypeId","equipmentTypeId","equipmentSizeId","shipFrom","isHazardousMaterial","Cancled","Closed","isHot","IsHeavy","CustomerIds","Filter","startDateValue","endDateValue","modeId","setserviceLevelId","setStartDateValue","setEndDateValue","listCanceled","listCustomer","$CustomerListOverview","$CustomerIdsSm","IsCustomerFilter","$ShipmentManagementType","$ShipmentManagementServiceLevelId","$ShipmentManagementStatusName","$ShipmentManagementHot","$ShipmentManagementHazmat","$ShipmentManagementHeavy","ShippingBulkEmail","isShowModal","setisShowModal","CustomerEmailsList","setCustomerEmailsList","CustomerEmailsListDefeault","setCustomerEmailsListDefeault","dataTableCarriers","setDataTableCarriers","paramsIds","IsTheSameCarrier","listShipments","$dataNewShipments","listTable","currentShipment","PickUpLocation","LoadDate","div","OpenEmailBulkPage","setOpenEmailBulkPage","AllOrderTableTable","OneMoveMasterShowLink","setOneMoveMasterShowLink","OneMoveMasterShowId","modeItem","columnsFirst","LTLFORM","TRCFORM","DRAYAGEFORM","subHeader","setShipmentsCount","ExceptionsLoading","setExceptionsLoading","ShipmentNewModel","setShipmentNewModelt","PostNewShipment","SMLinkUsed","exportSMLink","SM_GetViewModel","refreshIntervalId","setInterval","shipmentCount","clearInterval","$ShipmentManagementexception","$exportFilterSM","ShipmentsManagmentBetaPage","SendEmailModal","setSendEmailModal","ShowConst","setShowConst","suggestions2","suggestion2","lengthValue","widthValue","heightValue","weightValue","isMeter","setFreightClasses","Classes","setFreightClassValue","setCubicValueF","CubicFeet","setCubicValueM","CubicMeter","setPcfValue","Density","freightClassValue","freightClasses","setLengthValue","setWidthValue","setHeightValue","setWeightValue","cubicValueM","pcfValue","cubicValueF","setIsMeter","unitWeight","setUnitWeight","ClassCalculatorFunctionFetch","FormControl","aria-describedby","responsive","EstimatedClass","localeCompare","GreaterThanOrEqual","initialRemarksState","remarksDeleted","remarksStatusUpdated","deleteRemarks","shipment","ViewModelSipmentMgt","vendorsOrg","setTab","idStat","setidStat","setactionsLoading","setShipment","ShipmentObj","setShipmentObj","PUContact","setPUContact","setShippers","setConsignee","GenericAddresses","setGenericAddresses","setBillTo","setCommodities","setVendors","VendorListStat","setVendorListStat","setFreightChargeId","EmptyPuLocation","setEmptyPuLocation","EquipmentProvider","setEquipmentProvider","PackagingGroupsViewModelOptions","setPackagingGroupsViewModelOptions","PalletTypesViewModelOptions","setPalletTypesViewModelOptions","PuLocationDetail","setPuLocationDetail","NotifyPartyIdDetail","setNotifyPartyIdDetail","DestinationIdDetail","setDestinationIdDetail","NoteTypes","setNoteTypes","LastShipDateStat","setLastShipDateStat","EstimatedArrivalDateStat","setEstimatedArrivalDateStat","ProofOfDeliveryStat","setProofOfDeliveryStat","ActualDeliveryStat","setActualDeliveryStat","InvoiceDateStat","setInvoiceDateStat","ReloadCalc","setReloadCalc","ChargesFunctionOne","setChargesFunctionOne","ChargesFunctionModel","setChargesFunctionModel","TrackingDevices","setTrackingDevices","setShipmentItems","VendorChargesRates","setVendorChargesRates","isLinearProgress","setIsLinearProgress","EmptyReturnLocationIdDetail","setEmptyReturnLocationIdDetail","setReloadCalcF","ele","GetItemsTms","UnitValue","IsPost","IsEditMode","UnitOfMeasureId","WeightMode","WeightModeValue","Length","Height","Width","PalletTypeId","FreightClass","FreightClassValue","Nmfc","StopId","DeliveryStopId","StopValue","StopValueDelivery","UnitOfMeasureValue","itemsTms","setItemsTms","PostItemTms","Commodity","HandlingAmount","PackagingGroupId","Class","Stop","DeliveryStop","PutItemTms","DeleteItemTms","weight","suggestionsFreightClass","$S_ChargesIs_Ok","C_ChargesReadOnly","$OneMoveMasterSaveClose","$appDateTo","ARCartons","ARTotalWeight1","ARTotalWeight2","ARTotalCube1","$S_CustomerId","AreChargesReadOnly","C_PayablesReadOnly","ArePayablesReadOnly","charges","OneMoveMastercharges","freightChargeId","SaveDisabledFunction","WillCall","IsCustomerCheckAcceptable","lastShipDate","proofOfDelivery","ProofOfDelivery","ActualDelivery","VendorTypeListOption","BillToOptionsList","vendorsList","GetViewModel","outboundUrl","vendorss","shipmentFun","countId","Vendorsf","isInboundV","isPayableV","S_ChargesReadOnly","isShipment","GetAddress","setvalueEquipmentProviderId","EmptyPuLocationId","PuLocationId","EquipmentProviderId","NotifyPartyId","DestinationId","EmptyReturnLocationId","NigativePositiveStop","ChargesOriAddSup","checkBool","checkVendor","IdOrg","AlertType","AlertMessage","msgType","CheckVandorIsDanger","IsDomestic","eq","CarrierCodFeeId","BillToId","ReLoadTableId","refreshShipmentsException","parentElement","SetFieldValueFunction","closeOnOverlayClick","ShipmentHeader","DatesComponent","isPayable","PuContactId","DestinationContactId","IsReceipt","setArePayablesReadOnly","ChargesReadOnly","notesList","CategorysList","classList","contains","CustomersDetail","setCustomersDetail","BillToIdDetail","setBillToIdDetail","ShipperDetail","setShipperDetail","ConsigneeIdDetail","setConsigneeIdDetail","setModes","setServiceLevels","setEquipmentTypes","setEquipmentSizes","appointmentToDate","setAppointmentDateTo","puAppointmentToDate","setPuAppointmentDateTo","isPalletized","setIsPalletized","OpenChargesModel","sum","appToDate","$puAppDateTo","querySelector","PickedUpDate","onChangefirst","maxlength","NMFC","DeviceId","TrackiId","StatusLock","setStatusLock","fontAize","ShippingArrivalDate","StatusSentDate","StatusReleasedDate","StatusAppointedDate","StatusTerminatedDate","bool","customersSlice","ModelManagmentFirst","isReporting","CopyComponent","OsdConfirmed","Trailer","ModelManagmentFirstDashboardSm","trailer","ShipmentDriversInfo","setShipmentDriversInfo","getCarrierInfodata","listi","statusBuild","ModelManagment","ChangeStatus","ModelShowing","setModelShowing","ModelTitle","ModelText","NotesText","setNotesText","BackStatusText","setBackStatusText","CancelModelShowingConfirmationOsd","setModelShowingConfirmationCancelOsd","OdsShipmentSelectedId","setOdsShipmentSelectedId","Model","nextSibling","ListPagesForTabs","listLocationHref","SpecificTabs","TablsOptionsList","idSo","GlobalInSo","Selected","setTabs","activeTab","gl","TabsIsExist","ExistUrl","onSelectTab","createTabe","CreateTabe","CheckIsRepeatTab","TabId","scrollTo","SpaceBetweenChar","txt","textRe","listEles","getAttribute","pushState","RemoveTab","tabActive","tabsGlobal","previousElementSibling","data-tab","background","stopPropagation","alignLeft","data-link","Options","CheckIsExist","CheckComponent","ProductTMSDetailTab","isId","BoolTabs","setBoolTabs","isTabs","isShow","IncludesList","Mo","setMo","setSo","urlTMS","CheckUrlTMS","productsSlice","RemarksUIContext","ReceivingUIProvider","currentProductId","setProductId","setSelectedId","setShowEditRemarkDialog","UnNumber","PackagingGroup","HazardClass","PieceDescription","EmergencyContactNumber","CFTCube","LBSWeight","carId","setShowDeleteRemarkDialog","setShowDeleteRemarksDialog","setShowFetchRemarksDialog","openDeleteRemarksDialog","openFetchRemarksDialog","remarksSlice","username","password","accessToken","refreshToken","roles","pic","fullname","occupation","companyName","phone","address","addressLine","city","postCode","socialNetworks","linkedIn","facebook","twitter","instagram","ZONENAME","STARTZIP","ENDZIP","MockUtils","_entities","_queryParams","_filtrationFields","entitiesResult","searchInArray","sortArray","initialPos","queryResults","errorMessage","_incomingArray","_sortField","_sortOrder","_queryObj","resultBuffer","indexes","firstIndexes","doSearch","ex","mockManageZoneBilling","mock","onPost","reply","newCustomer","customerTableMock","generateUserId","mockUtils","baseFilter","onGet","onPut","CUSTOMERNAME","FACILITY","mockManageSmartParcelCarriers","frequency","periodEnd","amount","mockRecurringStorageCharges","ChangeId","DeleteModel","Containers","filterdCustomers","Putcustomer","_userId","_createdDate","_updatedDate","mockCustomer","mockAssignments","AssignmentsTableMock","commodityTableMock","GetCommodities","PostCommodity","PutCommodity","DeleteCommodity","userDate","newCommodity","postCommodity","filterdCommodities","commodity","Putcommodity","GetClassifications","GetClassification","GetAllClassifications","PostClassification","PutClassification","DeleteClassification","deleteChildren","classification","ParentId","newClassification","getClassification","Putclassification","DeleteChildren","GetPurchaseOrders","GetPurchaseOrder","ClosePurchaseOrder","ImportPurchaseOrders","PostPurchaseOrder","PutPurchaseOrder","GetSuppliers","GetSupplier","purchaseorder","purchaseOrders","success","purchaseOrder","purhcaseorder","getSuppliers","getSupplier","hasdate","resolve","reject","check","GetWarehouses","PostWarehouse","PutWarehouse","DeleteWarehouse","GetTimeZoneInfo","GetCountries","UpsNumber","IsMetric","postWarehouse","filterSearchText","Addr1Label","Addr1Source","Addr2Label","Addr2Source","mockManageCustomer","GetUsersData","PostUser","PutUser","DeleteUser","GetRoles","Getlevels","GetAccessLevels","GetViewModelWarehouseTrue","GetWarehousesFetch","GetViewModelWarehouseFalse","GetUser","DataGetsValue","messageCompany","valueUsersMsg","$objCustomers","UserName","Login","CellCarrierId","AccountName","CellCarrier","RoleId","RoleTypeId","Warehouses","IsGeneratedPassword","postUser","$CodeSuccess","putUserObj","putUser","GetRole","PostRole","PutRole","DeleteManageLocation","GetRolesChecbox","RolePermissions","newRole","postRole","putRole","$statusPostRole","UserIds","Users","Groups","detail","PU","mockProducts","newProduct","carTableMock","generateProductId","_isEditMode","dueDate","mockRemarks","newRemark","remarkTableMock","generateRemarkId","productRemarks","specId","mockSpecifications","specification","newSpecification","specificationTableMock","generateSpecificationId","specifications","wrapSpecification","spec","newSpec","ACCOUNTOWNER","CARRIER","ACCOUNTNICKNAME","ACCOUNTTYPE","ACCOUNTNUMBER","mockManageCarrierAccounts","code","mockLocationBilling","GetViewmodel","inputElement1","inputElement2","$falseModalCms","SubTitle","TeaserText","Published","MainImg","ReloadTable","alert","carriersTableMock","freeze","lastFrozen","oldestOpenReceiver","oldestOpenOrder","oldestOpenAssembly","mockFreezeTransactions","material","loadtype","warehouseList","GetManageLocations","GetManageLocation","GetLocationsOption","PostManageLocation","PostManageLocations","PutManageLocation","locations","locatioList","getManageLocations","LocationTypeId","MaxWeight","MinTemperature","MinQuantity","AllocationPriority","DirectedPutWays","warehouseIdDefault","getManageLocation","ImportImportContacts","contacts","ImportReceipts","getWarehouses","modelData","parserId","IgnoreSku","ParserId","ParsersId","GetCompanyInfo","GetStates","PutCompany","company","getStates","CustomFields_CustomFieldTypes","TypeId","SortOrder","IsRequired","GetRetailers","iso","isoValue","RetailerId","DepartmentId","ContactId","IsQuickLookup","TotalItems","UrlId","GetTransactionBilling","GetBillingRates","PostLoadBoard","LoadData","PutLoadBoard","GetLoadBoartEdit","DeleteLoadBoard","mockOrderReceiver","GetWarhouses","GetLocStorage","listViewModel","unitofmeasure","splitperiodsthalf","splitperiodndhalf","freedays","rcvhandlingrate","shphandlingrate","genercvhandlingrateUserId","dataTable","dataResult","OrderReceivers","RecurringStorageGlAcct","MinStorageCharge","GetApiCall","unit","rate","dfltqty","glacctnum","mockBillingManual","mockLocStorageRates","locationbillingtype","cube","GetShipmentsStatus","GetShipmentDetail","PostStartTracking","UpdateStatus","ShipmentTypeId","carTableMock2","AttachmentType","CreatedDate","GetCarrier","Attachements","PostAttachment","AcceptedFiles","file","DeleteInsurInfo","AttachmentsTableMock","AirportsServiced","ContactType","DayPhone","NightPhone","MobilePhone","PostContactCarrier","GetContact","DeleteContactInfo","mockContactInformation","urls","ContactTypeId","ContactInformationTableMock","filterdRemarks","PutContactCarrier","InsuranceType","PolicyNumber","SourceType","EffectiveDate","ExpirationDate","InsuredAmount","InsuredPerPound","Insurances","PostInsuranceCarrier","GetInsur","GetTransloadBillingById","PostTransloadBilling","PutTransloadBilling","DeleteTransloadBilling","GetTransloadBilling","BillingType","mockAddInventory","Qualifier","Qty","Vol","Lot","Serial","ExpDate","Cost","mockAllOrderBeta","ShipmentException","srch","WHlocation","Pickuplocation","PickupApt","PlanDate","_filter","mockAllOrderBetaTMS","$ShipmentManagementTMSModeId","$ShipmentManagementTMSServiceId","$ShipmentManagementTMSStatus","$ShipmentManagementTMSStatusName","$ShipmentManagementTMSServiceName","$ShipmentManagementTMSModeName","mockReceiptsManagmentNewVersion","$ItemExceptions","mockReceiptsManagmentLinq","mockReceiptsManagmentList","receiptDefaultFilter","resultFilteredByUser","$CustomerIdsRm","$ReceiptManagementCustomerId","$filterActionsRm","VoyageId","vendorId","$RmGsearchStartDate","$ReceiptsManagmentStatu","ExceptionId","$ReceiptsManagmentExceptions","serviceId","$ReceiptManagementServiceId","$ReceiptManagementModeId","minCube","maxCube","isHazmat","isCancled","$RmCanceled","Search","$RmGsearchText","Exportlinq","$exportFilterRM","$RmStatusName","$ReceiptManagementServiceName","$ReceiptManagementModeName","$CustomerListOverviewRm","$ReceiptManagementCustomerName","RMLinkUsed","Receipts","$Containers_StatusCount","StatusCount","CountAll","PostCustomerProfileRating","PostCloneRate","GetViewModelCompanies","GetGlAccounts","stringValue","Countries","$RateId","start","RateTypeId","IsForTwoTen","PickUpAddress1","PickUpAddress2","PickUpZipCode","PickUpCity","PickUpState","PickUpCountry","DeliveryAddress1","DeliveryAddress2","DeliveryZipCode","DeliveryCity","DeliveryState","DeliveryCountry","GlAccounts","ChargeOptionId","vendorTypeId","OverrideBranchId","OverrideDepartmentId","GLAccountId","postCustomerProfile","oldData","$CustomerDataFiltered","dataFiltered","$filterRatingCust","RateType","filterIsActive","filteredCustomers","GetViewModelCountries","PickupType","MaxPallets","MinPallets","$CarrierDataFiltered","$filterRatingCarriers","$AllCountQuote","AllCount","listStatus","DraftCount","NewCount","PendingCount","AcceptedCount","RejectedCount","$statusList","ValidFrom","ValidTo","QuoteTypeId","Rates","$QuoteCustomer400","carrierId","$QuotesManagmentStatu","validFrom","validTo","expired","Expired","putQuote","CarrierIds","$QuoteCarrier400","CarriersIds","GetVendors","TrailerNumber","ReceiveDate","DevanDate","$tripsMngStatus","$tripMngLoading","isClosed","PickUpManagement_StatusCount","$PickUpManagementStatus","$pickUpMgtType","PickUpManagement_Vendors","PickUpManagement_Locations","Pickups","$PickUpsManagementsearchText","receiptIdSearch","$PickUpsManagementsearchReceiptId","receiptIdValue","$PickUpsManagementsearchReceiptIdValue","VendorPhone","toUpperCase","PoVendor","tempList","ReceiptPos","$pickUpMgmtList","customerIdApi","AdjustedPieces","MiffId","AstrayQuantity","Shipped","BuyerId","Department","ThirdPartyQuantity","ThirdPartyName","PoEta","ReceivedQuantity","ProcDate","QuarantinedQuantity","Destination","statuses","Order","Po","Recv","Proc","Pcs","Adj","O","S","D","Crtns","NUMBER","VENDOR","STATUS","DELIVERYNOTBEFORE","DELIVERYNOTAFTER","DELIVERYASSIGNED","EXTENSION1","EXTENSION2","mockLulusProcess","CategoryIds","VideoEmbed","Featured","MenuId","$cmsStatus","listofCatgName","$CMSManagementsearchText","IsPublished","IsFeatured","$PalletManagementsearchText","GetModelInvoice","GetCharges","PutCharges","ExceptionsStatus","isSent","DateType","hasAdditional","hasSupplemental","StatusBillingPickUpManagement","ExceprionsStatusBillingPickUpManagement","$pickUpMgtIsSent","Invoices","Exceptions","GetUserData","empowerName","empowerCode","triniumName","triniumCode","mBOLPrefiex","steamshipline","putuser","saga","actionTypes","initialAuthState","authToken","reducer","persistReducer","storage","whitelist","login","register","logout","requestUser","fulfillUser","takeLatest","loginSaga","registerSaga","userRequested","rootSaga","rootReducer","combineReducers","auth","specificationsSlice","ContactInformation","CarrierAttachment","InsuranceInformation","ReceiptsManagment","ReceiptsManagmentSlice","PalletsManagment","PalletsManagmentSlice","sagaMiddleware","createSagaMiddleware","middleware","getDefaultMiddleware","immutableCheck","serializableCheck","thunk","store","configureStore","devTools","process","enhancers","reduxBatch","persistor","persistStore","run","DashboardScentsy","isoWeek","Weeks","setWeeks","WeekId","setWeekId","NotShippedOrdersCount","setNotShippedOrdersCount","ShippedOrdersCount","setShippedOrdersCount","NotShippedOrders","setNotShippedOrders","ShippedOrders","setShippedOrders","Loading","getviewmodel","NotShippedContainersCount","ShippedContainersCount","Orders","ManageContacts","ManageAdresses","colors","DollarTab","BalanceList","series","Intermodal","Ltl","OTR","chart","legend","dataLabels","enabled","curve","xaxis","categories","Month","Year","yaxis","labels","getChartOption","ApexCharts","render","destroy","Spinner2","AllShipment","initFilter","paginationFilter","setpaginationFilter","LoadingDataProgress","setLoadingDataProgress","listcustomerId","setentities","objfilter","PageSize","PageNumber","FfAlert","PickupAllert","IsDispatchReportSent","AlertHeavy","AlertHot","AlertDate","AlertHazardousMaterial","FuelSurchargeTab","FuelSurchargeList","loadingDataFuelSurcharge","VolumeTrendsTab","VolumeList","loadingDataVolume","plotOptions","bar","columnWidth","Pickedup","PerformanceList","loadingDataPerformance","PickedUpOnTimeCount","PickedUp","radialBar","startAngle","endAngle","track","grid","ModeNam","Delivered","DeliveredOnTimeCount","AR","setKey","saveCurrentTab","_tab","uiService","useHtmlClassService","layoutProps","colorsGrayGray500","objectPath","colorsGrayGray200","colorsGrayGray300","colorsThemeBaseSuccess","colorsThemeLightSuccess","fontFamily","element1","element2","element3","data-remember-tab","Volume","UserDashboardIndex","xmlnsXlink","xs","CustomerDashboardIndex","loadingCustomer","setloadingCustomer","loadingLane","setloadingLane","setloadingDataFuelSurcharge","setloadingDataVolume","setloadingDataPerformance","CustomerList","setCustomerList","setBalanceList","setFuelSurchargeList","setPerformanceList","setVolumeList","LineList","setLineList","Lane","setinitFilter","GetLaneList","GetBalances","GetFuelSurcharge","GetVolume","GetPerformance","GetCustomerList","SelectPagination","CustomerDashboard","LocationBillingPage","RecurringStorageChargesPage","ManageTPLScalesPage","CustomLabelPage","ManageAttachedFiles","ManageSmartParcelCarriersPage","ManageCompanyInfo","AutomaticallySetArrival","CheckAllocation","DbNumber","FederalId","PrimaryContactCellPhone","PrimaryContactEmail","PrimaryContactFax","PrimaryContactName","PrimaryContactPhoneNumber","PrimaryContactTitle","SecondaryContactCellPhone","SecondaryContactEmail","SecondaryContactFax","SecondaryContactName","SecondaryContactPhoneNumber","SecondaryContactTitle","UpsLogin","UpsPassword","WebsiteUrl","companyInfos","setCompanyInfos","countries","setCountries","showGeneralProgress","setshowGeneralProgress","companySchema","resultCountries","resultStates","saveCompany","Iso","ManageCarriersPage","FreezeTransactionsPage","dNone","ManageCarrierAccountsPage","MovableUnitsPage","ManageServicesPage","ManageModesPage","ManageEquipmentsTypePage","ManageServiceLevelsPage","fieldGroup","h6Text","headerAcc","svgIcon","AddCarrierServices","EditCarrierServices","ServiceManageCarriersPage","ManageLSPCarrierPage","QueryTable","ReportingData","setColumns","CheckContaint","GetIsNoteIcone","GetIsHoteIcone","GetSlaIcone","GetTransloadDays","GetPhotoFileIcone","ContainerId","ModelManagmentFirstReporting","QuerFormatter","QueryBuilderComponent","setFields","setReportingData","setselected","OrderbyFields","setOrderbyFields","combinator","rules","operator","query","setQuery","SelectEnabled","ExportComponent","onQueryChange","translations","controlClassnames","querySql","formatQuery","SelectFields","GroupByFields","OrderByFields","WhereQuery","Nodatafound","addRule","addGroup","removeRule","ruleGroup","cloneGroup","cloneRule","removeGroup","combinators","operators","Reload","setReload","activeElement","blur","QueryBuilderSetting","ViewModel2","setViewModel2","LoadingSave","setLoadingSave","setfilter","Settings","SettengsComponent","defaultChecked","GroupByEnabled","ManageCustomersPage","billingWizard","ImportContacts","contactTypes","Dept","QuickLookup","ImportZoneBilling","Zones","BootstrapInput","transition","transitions","create","borderColor","InputBase","ManageBarcodes","NativeSelect","SmartParcelSettings","StyledTableCell","head","black","StyledTableRow","default","servername","skipoverallocs","ManageConnections","ClassicBOLMessages","form","flexDirection","formControlLabel","GreenCheckbox","green","PackingSlipTemplates","checkedA","checkedB","checkedF","checkedG","DialogContentText","ClassicBOLTemplates","CustomerNotifs","CustomerNotifsDetails","TransactionBillingSelect","setId","SelectOnclick","TabContainer","dir","TransactionBilling","billingShippingList","setbillingShippingList","billingReceivingList","setbillingReceivingList","billingAssembiesList","setbillingAssembiesList","billingAdjustmentsList","setbillingAdjustmentsList","billingTransferInList","setbillingTransferInList","billingTransferOutList","setbillingTransferOutList","setValue","fetchBillingViewModelAsync","Calculators","AppBar","indicatorColor","textColor","onChangeIndex","chargeTypeId","calculatorId","TransactionBillingShippingPage","ErrorLog","ExcelFile","ReactExport","ExcelSheet","ExcelColumn","BillingRatesExport","dataState","setdataState","fileExport","jsonToExcel","filename","CircularProgress","disableShrink","ZoneBillingPage","RemarksUIProvider","RemarksGrouping","RemarkEditSchema","viewModelUnits","setUnitsData","RemarksUIProviderManual","helperText","getFormattedDate","RemarksManual","RemarksUIProviderLocStorageRates","RemarksLocStorageRates","SystemCalculated","setOrderReceiverList","setRecurStorageList","setManualList","setLocStorageRatesListList","HandleChange","handleChangess","viewModelOrderReceiverOptions","setViewModelOrderReceiverOptions","viewModelBillingPeriodOptions","setViewModelBillingPeriodOptions","viewModelInventoryOptions","setViewModelInventoryOptions","viewModelCustomers","setViewModelCustomers","viewModelWarehouses","setViewModelWarehouses","ReccuringAcct","setDataReccuringAcct","MinStorage","setDataMinStorage","OrderReceiverOptions","BillingPeriodOptions","InventoryOptions","fetchDataTable","autoComplete","RadioGroup","ManageRatesPage","ManageRatesSelect","ManageEquipments","ImportReceiptItems","matchPath","cs","receiptsList","setReceiptsList","ReceiptIdValue","setReceiptId","ImportUsersPage","usersList","UserAccess","Role","ClassicViewAccess","BatchItemUpdateItems","CancelAssemblyItems","ImportAssembliesItems","IconFont","ImportItems","rowsStat","setRowsStat","rowsStatValid","setRowsStatValid","Description2","Min","Max","CycleCount","ReorderQty","InventoryMethod","Temperature","UPC","TrackLot","TrackSerial","TrackExpDate","PrimaryInventoryUnitOfMeasureId","PackagingUnitOfMeasureId","PackingUOMQty","Qualifiers","StorageSetup","VariableSetup","LotNumberRequired","SerialNumberRequired","SerialNumber","ExpDateReqRequired","EnableCost","CostRequired","HazardousMaterial","HazMatID","HazMatShippingName","HazMatHazardClass","HazMatPackingGroup","HazMatFlashPoint","HazMatLabelCode","HazMatFlag","ImageURL","StorageCountScriptTemplateID","StorageRates","OutboundMobileSerializationBehavior","Price","TotalQty","UnitType","aj","ah","ai","ag","ak","am","ba","bb","bc","bd","be","bf","bj","bh","bi","bg","bk","bm","ca","cb","cc","cd","ce","cf","cj","ch","ci","cg","rows2","ImportItemBindingViewModel","ItemAliasItems","Check","ManageAssembliesItems","ManageClassificationsItems","ManageCommoditiesItems","ManageItemsPage","ManageStorageRatesItems","ShippingSetups","ata-toggle","ImportOrders","warehousesList","setWarehousesList","rowsStatVlue","setrowsStatVlue","fetchUsersAsync2","i2","i3","i4","i5","i6","i7","i8","i9","i10","i11","i12","i13","i14","i15","i16","i17","i18","i19","i20","i21","i22","PurchaseOrderNumber","ShipCarrier","ShipService","ShipBilling","ShipAccount","ShipDate","CancelDate","ShipToName","ShipToCompany","ShipToAddress1","ShipToAddress2","ShipToCity","ShipToState","ShipToZip","ShipToCountry","ShipToPhone","ShipToFax","ShipToEmail","ShipToCustomerID","ShipToDeptNumber","RetailerID","UseCOD","UseInsurance","SavedElements","OrderItemSavedElements","CarrierNotes","ShipServic","PackagingOptions","OrderImportPreferences","TransactionID","CreateDate","ReprintUPSLabels","CreatePurchaseOrder","purchaseOrderSchema","savePurchaseOrder","ImportPurchaseOrder","getJsDateFromExcel","serial","utc_days","date_info","PoNumber","SupplierName","IssueDate","ItemNumber","ItemQuantity","Facility","ExcpectedDate","ItemNotes","ManagePurchaseOrders","purchaseOrdersList","setPurchaseOrdersList","SetNumber","ClosePurchase","PurchaseOrderReports","RemarksUIProviderCustomField","currentPurchaseOrderId","setPurchaseOrderId","QualifierId","CanceledDate","columnFormattersExcepted","classes2","useStyles2","skuList","setskuList","skuData","setskuData","retilerList","setretilerList","result2","RemarksCustomFields","EditPurchaseOrder","suppliers","setSuppliers","showSupplierProgress","setshowSupplierProgress","SupplierId","setPurchaseOrder","issueDate","supplierId","resultSuppliers","newSupplier","updatePurchaseOrder","PurchaseOrderReport","PurchaseOrderProgressReport","customerName","po","created","issued","Quoting","Rating","AdjustReceiptCharges","AdjustReceiptChargesPage","ImportReceiptsPage","receipts","LotNumber","LocationField1","LocationField2","LocationField3","LocationField4","Uom","ReceiptImportPreferencesPage","ComponentToPrint","DateShipped","TransloadShipmentManifest","databody","showSendManifestEmail","setshowSendManifestEmail","setid","$smIdOutbound","ShipperPhoneNumber","ShipperEmail","ConsigneeComapanyName","TransloadPalletManifest","GlobalStyle","createGlobalStyle","CustomPopoverContainer","styled","PopoverContainer","CustomPopoverContent","PopoverContent","BoardWrapper","Section","section","LaneHeader","editLaneTitle","LaneFooter","ScrollableLane","RightContent","CardWrapper","article","MovableCardWrapper","CardHeader","CardTitle","CardRightContent","TagSpan","AddCardLink","LaneTitle","LaneSection","NewLaneSection","NewLaneButtons","CardForm","InlineInput","textarea","InlineInputController","onFocus","onMouseDown","refInput","focus","updateValue","onKeyDown","getValue","onCancel","onSave","setRef","resize","autosize","nextProps","autoFocus","autoCorrect","autoCapitalize","spellCheck","dataGramm","defaultProps","DeleteWrapper","GenDelButton","DelButton","MenuButton","LaneMenuHeader","LaneMenuContent","LaneMenuItem","LaneMenuTitle","ExpandCollapseBase","CollapseBtn","ExpandBtn","AddButton","CancelButton","AddLaneLink","LaneMenu","PropTypes","elementType","LaneHeaderComponent","updateTitle","canAddLanes","onDoubleClick","titleStyle","labelStyle","laneDraggable","draggable","DateColumnFormatter2","Tag","bgcolor","tagStyle","otherProps","DeleteButton","showDeleteButton","tags","cardDraggable","Updated","data-id","tag","keyframeAnimation","keyframes","LoaderDiv","LoadingBar","Loader","NewLaneTitleEditor","cancel","saveValue","autoResize","NewLane","onAdd","onClickOutside","EditableLabel","getText","onTextChange","ev","onPaste","clipboardData","execCommand","getClassName","refDiv","contentEditable","onInput","inline","NewCardForm","updateField","handleAdd","collapsed","NewLaneForm","lanes","StatusShipments","setStatusShipments","modes","services","setshow","modeIdValueLBl","setModeValueLabel","json_data","cards","resultRm","DefaultComponents","mystyleTabs","AssigntoOutbound","ShipmentIDStat","setShipmentIDStat","ShipmentsIds","setShipmentsIds","setShipmentLabelStat","showAssignTo","setShowAssignTo","setShipmentId","setSmId","GetShipmentsIds","$ShipmentsAssigntoOutbound","$ReceiptsAssigntoOutbound","fadeIn","GetShipmentId","AssignToOutbound","ShipmentID","TableComponent","DeleteShipmentRow","ReloadPallets","IsClosedFunction","AssignToOutboundHeader","PalletID","TableTrFunction","Consignees","setConsignees","statSHipment","setstatSHipment","LineItems","setLineItems","setFreightCharges","fetchContainersAsync","IsClosed","AssignToOutboundHeaderForm","Consigneesf","Shippersf","Customersf","Servicesf","SHipmentId","SHipment","TrackingDevicesf","FreightChargesf","TableShow","SetTableShipment","removeId","SelectIDforPallet","ModelShow","setModelShow","stateItem","setstateItem","tableElement","JsNative","handleSave","PostPallet","axis","scale","onDrag","pageY","removeAttr","onStop","htmlP","text2","IndexPalletsList","DeletRowId","setPallets","Search2","setSearch2","ShowModel","setShowModel","IdSelect","setIdSelect","GetPallets","GetPalletsFunction","iShipmentsID","setTable","setDeletRowId","ShipmentsID","setShipmentsID","ReloadPalletsList","setReloadPalletsList","RemovePallet","GetPalletsForShipments","AssignPallettoLoad","setIsClosed","PosttoClosed","PalletsIDStat","Pallet","setPallet","setvalues","GetAllApi","parms","CheckboxList","CheckboxListIds","POChaekced","POChaekcedisabled","setQuantity","setColor","Checked","setChecked","thisItem","Qnty","htmlP2","PoBar","tableElement2","offset2","setSearch","setCheckboxListIds","GetItems","sortBy","poString","fn","rect","getBoundingClientRect","fadeOut","ItemsId","ItemIds","PostPallets","CheckList","setPalletID","GetItemsForPallet","AssigntoPallet","setPalletsStat","showPalletManifestLabel","setPalletManifestLabel","PostNewPallet","palletVm","PostClonePallet","GetParms","IdShip","LeftQuantity","ReceiptItemId","setparams","AssigntoOutboundV2","setCustomerName","GetOrdersIds","ordersIds","TransloadOrderId","wareHouse","ScrollingMenuReceipt","setselectedId","Arrow","ArrowLeft","ArrowRight","arrowLeft","arrowRight","scrollToSelected","OrdersIds","o1","o2","CustomerRefNumber2","onCreateOption","createOptionPosition","PalletsFun","Pallets2","setPallets2","arrayUniqueByKey","Map","OrderOne","setReceipts","x1","i1","setOrdersIds","AssigntoOutboundV3","InTable","ClosedPallet","SavePalletInLocation","activeBtn","IsLocationZone","RemovePalletInLocation","setOSDList","RemoveSkuId","setModel","OnemoveMasterShow","ListOnly","setListOnly","isMove","setisMove","isOpenOSD","setisOpenOSD","GetTale","CheckPosition","offset1","pageX","changedTouches","locationId","onTouchEnd","transform","setPalletsFun","LinePath","isEditItem","setEditItem","OSDPallet","RemoveSku","NewPalletShow","setNewPalletShow","PalletsId","setPalletsId","thisOffset","maxHeight","GetItem","Components","el1","progress","data-number","aria-valuenow","aria-valuemin","aria-valuemax","OSDList","setSKUsList","setItems","CallFunction","last","el2","ProgressBar2","leftQuantity","el3","BtnSku","btnSku1","shipID","ShipID","cont","percentage","partialValue","totalValue","NaN","btn","repeat","CheckReapet","reciept","x2","PalletsIds","PalletsinLocation","setselectedShip","setInTable","setRemoveSkuId","BackItem","updatestatus","containerNumber","ShipmentFun","LocationFun","selectedShip","i0","minHeight","includDispatchReport","setincludDispatchReport","DispatchedContainer","FilePath","AssignToWareHousePage","WareHouse","setWareHouse","setContainers","setContainerId","setPalletsIds","setPalletsinLocation","setactiveBtn","NewItem","setNewItem","EditItem","EditItemFirst","setEditItemFirst","JsonItem","setJsonItem","SKUsList","OnHide","saveRemarkEdit","PutItem","OnHideEdit","GetAllLocations","openSendEmail","isScencty","typeQnty","ShortOnly","DamagedOnly","GetSKu","GetContainers","isArray","autocomplete","OverOnly","IsOsdNotification","GetPalletsByLocation","CheckCount","palletsinLocation","ids2","palletsIds","setContainer","ok","DetailMangmentShow","setDetailMangmentShow","setOnemoveMasterShow","ShipId","EqSizeToPallet","CheckboxListId","isWarningColor","IsChecked","setIsChecked","onTouchStart","palletNolane","IdsExist","listIdsExist","listIds","ConsigneeCompanyName","AssigntoOutboundPage","GlobalTransload","Select","setSelect","IsHazardousMaterial","OnHand","ProductType","Progress","PoToLocation","qrHtml","PoToLocationV2","Open1","setOpen1","Open2","setOpen2","then1","setthen1","then2","setthen2","Text1","setText1","Text2","setText2","handleScan","handleError","previewStyle","PostPotoLocation","delay","onScan","ManageUOM","ManageWarehousePages","Managelocations","Importlocations","MassUpdateLocations","setProgress","DepartmentPage","LoadingPageShow","setLoadingPageShow","ModalActivities","setModalActivities","ModelShowingDepartment","setModelShowingDepartment","initDepartment","setIinitDepartment","initSearch","setinitSearch","ItemsGrid","setItemsGrid","ActivitiesList","setActivitiesList","ItemsGridFilterd","setItemsGridFilterd","GetDepartments","filterFucntion","departement","putDepartment","postDepartment","AccountManagementDashboard","AccountManager","Account","MTD","setInitFilter","MetricsList","setMetricsList","LansList","setLansList","ReceivablesList","setReceivablesList","metricsData","setMetricsData","loadingMetrics","setloadingMetrics","loadingOnTime","setloadingOnTime","loadingAR","setloadingAR","loadingLanes","setloadingLanes","NameSelected","setNameSelected","getMetricsInfo","getLanesInfo","getReceivablesInfo","getMetricsData","getApi","ECommercePage","lazy","BasePage","fallback","exact","from","injectIntl","connect","intl","disableLoading","getInputClasses","meta","fieldname","validate","formatMessage","setSubmitting","isSubmitting","acceptTerms","confirmPassword","ForgotPassword","isRequested","forgotPasswordSuccess","AuthPage","setDate","backgroundImage","$BuildVersion","Registration","Logout","hasAuthToken","ErrorPage1","ErrorPage2","ErrorPage3","ErrorPage401","ErrorPage404","ErrorPage500","ErrorsPage","fadeImages","properties","infinite","indicators","arrows","autoPlayInterval","transitionDuration","duration","autoPlayDirection","autoPlay","fadeOutAnimation","mouseTrackingEnabled","disableAutoPlayOnAction","oldIndex","newIndex","objectFit","monuType","Layout","SampleNextArrow","SamplePrevArrow","SlideLanding","settings","dots","fade","slidesToShow","slidesToScroll","nextArrow","prevArrow","card","media","showContact","setShowContact","checkedC","checkedD","dataFetch","setDataFetch","News","Media","item2","sx","Skeleton","CardMedia","image","ThumbnailImg","CardContent","CardActionArea","gutterBottom","CardActions","GetDataFetch","fluid","points","tabindex","offsetTop","behavior","Landing","Routes","setTablsOptionsList","isAuthorized","withClearCache","isLatestBuildDate","setIsLatestBuildDate","latestDate","buildDateGreaterThan","buildDate","packageJson","refreshCacheAndReload","caches","names","ReactGA","initialize","ClearCacheComponent","App","Suspense","MockAdapter","delayResponse","GetModels","$NewReceipts","GetShipmentDetails","GetAssignToOutbound","FindOrderId","GetFindOrder","FindOrder","$AssigntoOutboundServices","FindOrderSearch","Close","GetOneMoveMaster","AutoRating","ContainerIsHot","$NewReceiptsID","PostShipment","postdata","PostShipmentWareHouse","PostAllShipments","RecvId","PostMultipleShipments","PutShipment","puttdata","DeleteShipment","DeleteWareHouseShipment","ContainerSaveClose","$Containers_AutoChares","Accessory","Apparel","FootWear","StudioPull","$Containers_BaseData","BaseData","$Containers_Services","$reciept_LineItem","$Containers_Services2","$ReceiptModeId","Receipt","TabeShipment","PutOneMoveMaster","putdata","postData","AccessorialAmount1","AccessorialAmount1Calculated","AccessorialAmount2","AccessorialAmount2Calculated","AccessorialAmount3","AccessorialAmount3Calculated","AccessorialDescription1","AccessorialDescription2","AccessorialDescription3","AvailableDate","BillingRate","BillingRateCalculated","CustomerRefNumber1","DoReceivedDate","Fsc","FscCalculated","LastFreeDate","PickupLocationId","ReleaseNumber","TotalCube2","TotalCubeType1","TotalCubeType2","TotalWeight2","TotalWeightType1","TotalWeightType2","VendorCost","VendorReference","PayableCharges","mockContainers","mockFindShipments","isCancelled","linqExportFindOrder","GetBillOfLanding","$OrderNewId","VesselVoyageId","FindOrdersTransload","CustomerIdOrderTransl","mockFindOrdersTransload","$reciept_LineItemList","mockTransloadReceiving","LbsWeight","CftCube","$ShipmentId","mockTransportationItems","mockManageSuppliers","mockCustomFields","mockIgnoreSkus","showInactives","PostItem","GetItemsEdit","customersId","items_customersId","PostManageItems","itemsList","getItemsEdit","SecondaryDescription","ClassificationId","SellPrice","ProductCost","MinOnHand","MaxOnHand","StorageTemp","ReorderQuantity","DaysBetweenCounts","SerialNumberRequireScan","ExpirationDateRequireScan","LotNumberRequireScan","HoldThresholdDays","OriginCountryId","HarmonizedTariffCode","MovableUnitZones","PackagingUnitZones","OverallocatedZones","MixedExpirationDaysThreshold","ShippingName","MaterialId","LabelCode","Flashpoint","PrimaryInventoryQuantity","SecondaryInventoryUnitOfMeasureId","SecondaryInventoryQuantity","PackagingPrimaryUnit","PackagingLength","PackagingWidth","PackagingHeight","PackagingTotalArea","PackagingTotalVolume","PackagingWeight","PackagingNetWeight","MaterialNotes","MovableUnitId","MovableUnitLength","MovableUnitWidth","MovableUnitHeight","MovableUnitTie","MovableUnitHigh","MovableUnitWeight","MovableUnitQuantity","CountingMechanismId","StorageUnitOfMeasureId","EachesPerEach","StorageRate","StorageMinCharge","StorageMonthsSkip","ItemMovableUnitsStorage","RecieveOntoHold","CycleCountTypeId","UseLocationFull","StoreWithItems","StoreMultipleLots","UseSecondaryUom","AllocationMethodId","SerialNumberTrackingId","OutboundMobileSerializationId","ExpirationDateTrackingId","LotNumberTrackingId","CostTrackingId","MaterialFlagId","AssemblyItems","customerIdDefault","mockManageItems","GetOrders","GetPurchaceOrders","GetCountry","GetUnitOfMeasure","GetCarriers","PostOrder","PutOrder","DeleteOrder","GetOrder","postOrder","filteredProducts","mockFindOrders","GetAllReceipts","GetReceiptById","GetQualifiersByItemId","GetViewModelItemReceipt","GetUnitOfMeasures","PostReceipt","PutReceipt","newReceipt","postReceipt","$ManageReceiptPost","$ManageReceiptPostMessage","dateFilter","filteredReceipts","TransactionId","listDate","ArrivalDate","resultItemReceipt","resultUnits","$fetchViewModel","$fetchViewModelSku","$fetchViewModelItemReceipt","$fetchViewModelReasonsHold","ReasonsForHold","$fetchViewModelSuppliers","Suppliers","$fetchUnits","$itemIdW","putReceipt","$ManageReceiptPut","$ManageReceiptPutMessage","mockFindReceipts","mockManageLocations","mockpackingSlipTemplates","FullName","ProfilePicture","RoleName","write","userTableMock","mockAuth","mockCustomers","mockCommodities","mockClassifications","mockManageWarehouse","mockUsers","PostCustomer","PutCustomer","DeleteCustomer","GetCustomer","WebSite","mockManageRoles","mockManageCarrierAccount","GetMovableUnitss","GetMovableUnitsById","HeightUs","LengthUs","Materiel","WeightUs","WidthUs","PostMovableUnit","DeleteMovableUnit","PutMovableUnit","postMovableUnit","resultById","mockMovableUnits","GetDataService","ServiceType","mockManageServices","device","Emei","mockManageTrackingDevices","mockManageModes","mockManageEquipmentsType","mockManageServiceLevels","GetCustomLabels","PutCustomLabel","mockCustomLabels","mockEmpowerCMS","GetTPLScales","PostTPLScales","PutTPLScales","DeleteTPLScales","dataw","mockManageTPLScale","showInactive","filterdCarriers","mockCarriers","GetOrderCustomFields","datas","PostOrderCustomField","DeleteOrderCustomField","GetOrderCustomField","PutOrderCustomField","itemId","GetRetilers","newcustomField","postCustomField","$ManageCustomField","$ManageCustomFieldMessage","mockPurchaseLineItems","mockPurchaseOrders","mockImportContacts","mockReceipts","GetServiceCarriers","Getexternalservices","carriersId","mockServiceManageCarriers","mockCompanyInfo","mockTransactionBilling","mockTMSLoadBoard","GetTransBillingShipping","PostBillingShipping","PutBillingShipping","DeleteTransBilling","GetTrtansactionSBillingShippingById","ChargeTypeId","CalclatorId","newtransBillingSh","postTransBilling","Infinity","putObj","mockTransactionBillingShipping","GetZoneBillingById","PutZoneBilling","PostZoneBilling","GetZoneBilling","DeleteZoneBilling","newZoneBilling","postZoneBilling","filteredZoneBilling","zonebilling","mockZoneBilling","PostReceiptLineItem","GetReceiptItems","DeleteReceiptItem","PutReceiptItem","GetReceiptLineItem","ReasonForHold","ItemCustomFields","newReceiptItem","postReceiptLine","mockReceiptItems","GetReceiptCustomFields","PostReceiptCustomField","DeleteReceiptCustomField","PutReceiptCustomField","ReLoadTableCustomId","mockReceiptCustomFields","GetOrderLineItems","GetSkuList","GetOrderLine","orderId","Itemid","PutOrderLine","PrimaryUnit","mockOrderLineItems","WebPage","mockManageAddress","MaxCft","MaxCbm","MaxLbs","MaxKgs","mockManageEquipments","PostOrderCharges","GetOrderCharges","GetOrderCharge","PutOrderCharge","DeleteOrderCharge","PostAutoCharge","ChargeCategoryId","chargeLabel","TypeChargePerUnit","ChargePerUnit","NumberOfUnits","GeneralLedgerAccount","ExternalItemIdentifier","ExternalAccountReceivable","ExternalItemDescription","filterdSpecifications","mockOrdercharges","mockReceiptcharges","mockOrderCustomFields","vesselVoyageErrormsg","dateFrom","dateTo","pickUpLocationId","vesselId","exception","isMerged","$paramsVVExceptions","vesselOrders","VoyageOrders","VesselId","EstimatedTimeArrival","SailDate","PickUpLocationId","TerminalCode","TerminalName","PortCode","VesselVoyageData","DateFrom","DateTo","$VVStatusName","$VVExceptionName","IsMerged","Voyages","VesselName","$statusCountAll","countAll","$StatsListVesselVoyages","mockVesselVoyage","GetAllContacts","DeleteContact","PostContact","$statusPostContact","PutContact","Compagnies","Genders","CellPhone","newContact","postContact","mockManageContacts","GetAllUOM","DeleteUOM","PostUOM","PutUOM","newUOM","postUOM","mockManageUOM","GetCarrierList","DotNUmber","IATANumber","Scac","TsaCompliance","Unapproved","IsSmartWayPartner","McNumber","rmisId","DeleteMasterCarrier","PutCarrier","PostCarrier","ScacCode","IsIntraStateCarrier","Approved","SmartWayFleetId","TsaComplianceId","WebUrl","TrackingUrl","Street1","Street2","Borkers","Score","ScoreText","RequiredId","TaxId","IsTruckTools","IsSmallPckage","IsLTL","IsTruckLoad","IsDomesticFreight","IsCartage","IsOther","IsInsuranceProvider","IsDrayage","IsAirHouse","IsAirMaster","IsOcean","IsOceanCombined","IsNationalCarrier","IsZone0","IsZone1","IsZone2","IsZone3","IsZone4","IsZone5","IsZone6","IsZone7","IsZone8","IsZone9","IsZoneCA","IsZoneMX","UseFactoringCompany","AddressToUseId","ComanyName","PrimaryStreet1","PrimaryStreet2","PrimaryCity","PrimaryState","PrimaryZipCode","PrimaryCountry","AccountPhone","AccountFax","NetTermsId","PreferredPaymentTypeId","AcceptCreditCards","CreditCardPrcessFee","PaymentFrequencyId","NewMaxCoveredValue","NewBuyRate","NewBuyMinimum","NewSellRate","NewSellMiniumum","NewDisclaimer","UsedMaxCoveredValue","UsedBuyRate","UsedBuyMinimum","UsedSellRate","UsedSellMiniumum","UsedDisclaimer","DotStatus","BrokerAuthority","CommonAuthority","ContractAuthority","OutOfService","Drivers","PowerUnits","UnsafeDriving","HoursofService","VehicleMaintenance","ControlledSubstance","DriverFitness","PostCarrie","$LSPCarrierMsg","MasterCarrierId","deleteMasterCarrier","mockManageLSPCarrier","$FilesCarriers","AttachmentCarrierContract","mockAttachments","InsuranceTypeId","InsuredAmountPerPound","InsuranceInformationTableMock","AttachmentCarrierInsurance","isCargoInsurance","isAutoLiabilityInsurance","isExpirationDate","round","carrierInsuranceExpirationDate","carrierInsuranceTypeAmount","isGeneralLiability","mockInsuranceInformation","GetAllVessels","PostVessel","PutVessel","DeleteVessel","Imo","Mmsi","newVessel","postModel","VoyagesCount","mockVessels","mockManageRates","mockCustomerProfileRating","mockCarrierProfileRating","mockManageQuotes","mockManageQuotesCarriers","mockManageTripsManagement","mockPickUpManagement","GlAccount","DepartmentExternalId","BranchId","$error400Gl","$dataGlAccountsFiltered","mockManageGlAccounts","mockManageGlAccountsSage","mockManageCmsNews","mockPickUpBillingManagement","mockPoBillingManagement","mockPalletsManagment","mockPalletsManagmentBeta","BuildVersion","$releaseStatus","mockReleaseNotes","mocksynchronizeProcess","DriveInList","DriveOutList","DriveIn","newDriveIn","mocksynchronizeProcess2","mockNotes","mockTriniumCodes","mockTriniumCodes2","mockManageUserGroups","port","paginationObject","paramsExport","params2","paramsExceptions","$paramVVExport","$paramsVVExceptions2","GetStatuses","resultStatuses","mockVesselVoyageBeta","RegionTypeId","IsExpired","Matrices","mockPerMiles","mockRegions","_redux","interceptors","request","use","receiptEditCommingFrom","TMSEditSOCommingFrom","$isFromGlobalSearch","$ShipmentManagementTMSType","$ShipmentManagementServiceLevelName","AllPosStatus","onkeydown","evt","ctrlKey","$VVExceptions","$RmModeName","$RmServiceName","$RmHot","$RmHazmat","$ShipmentAsideMenuClick","$RefrichshipmentStatus","$RefrichPickUpStatus","NotifyRMEmptycontainer","reportingGraph","ReactDOM","shipmentObject","CustomerTypeCssClasses","CustomerTypeTitles","Element","matches","msMatchesSelector","webkitMatchesSelector","closest","ancestor","documentElement","elem","lastTime","vendors","requestAnimationFrame","cancelAnimationFrame","callback","currTime","timeToCall","Document","DocumentFragment","hasOwnProperty","defineProperty","configurable","enumerable","writable","argArr","arguments","docFrag","createDocumentFragment","argItem","isNode","Node","createTextNode","insertBefore","firstChild","KTUtilElementDataStore","KTUtilElementDataStoreID","KTUtilDelegatedEventHandlers","resizeHandlers","breakpoints","sm","_windowResizeHandler","_runResizeHandlers","addResizeHandler","removeResizeHandler","runResizeHandlers","createEvent","initUIEvent","getURLParam","paramName","unescape","isMobileDevice","getViewPort","getBreakpoint","isDesktopDevice","isInResponsiveRange","breakpoint","isBreakpointUp","isBreakpointDown","getUniqueID","prefix","isset","stone","shift","getHighestZindex","hasFixedPositionedParent","sleep","milliseconds","getRandomInt","isAngularVersion","Zone","out","extend","getByTag","getByTagName","getByClass","hasClasses","classesArr","classNames","triggerCustomEvent","eventName","CustomEvent","initCustomEvent","triggerEvent","node","doc","ownerDocument","nodeType","eventClass","initEvent","synthetic","fireEvent","createEventObject","eventTriggered","dataset","triggered","parent","findAll","insertAfter","referenceNode","parents","selector","matchesSelector","mozMatchesSelector","oMatchesSelector","childNodes","tagName","customDataTag","outerWidth","offsetWidth","win","getClientRects","defaultView","pageYOffset","pageXOffset","visible","offsetHeight","hasAttr","animate","update","easing","done","easings","linear","rAF","change","performance","loop","timestamp","actualCss","cache","HTMLElement","cssText","actualHeight","actualWidth","getScroll","self","browserSupportsBoxModel","styleProp","getComputedStyle","getPropertyValue","currentStyle","letter","oldLeft","oldRsLeft","runtimeStyle","pixelLeft","slide","recalcMaxHeight","calcHeight","calcPaddingTop","calcPaddingBottom","paddingBottom","removeEvent","eventId","targets","off","callee","hash","charCodeAt","animateClass","animationName","animations","OAnimation","MozAnimation","WebkitAnimation","msAnimation","transitionEnd","OTransition","MozTransition","WebkitTransition","msTransition","animationEnd","animateDelay","animateDuration","targetPos","scrollPos","attachEvent","readyState","numberString","nStr","rgx","detectIE","ua","userAgent","msie","rv","edge","isRTL","scrollInit","ps","mobileNativeScroll","disableForMobile","resetHeightOnDestroy","desktopNativeScroll","windowScroll","PerfectScrollbar","wheelSpeed","swipeEasing","wheelPropagation","minScrollbarLength","maxScrollbarLength","suppressScrollX","uid","cookie","KTCookie","getCookie","rememberPosition","setCookie","scrollDestroy","handleWindowResize","scrollUpdate","scrollUpdateAll","scrollers","len","resetAll","setProperty","setHTML","getHTML","getDocumentHeight","scrollHeight","clientHeight","scrollingElement","colorDarken","subtractLight","colorLighten","addLight","func","debounce","KTAppSettings","onload","setisLoading","accessLevelPut","setAccessLevelPut","attachmentTypePut","setAttachmentTypePut","accessLevelPost","setAccessLevelPost","attachmentTypePost","setAttachmentTypePost","EditMode","UpdateShipementAttachement","getAttachments","attachmentTypeId","accessLevelId","acceptedFiles","DeleteAttachment","fetchMyAPI","baseStyle","borderWidth","borderStyle","outline","activeStyle","acceptStyle","rejectStyle","useDropzone","isDragActive","isDragAccept","isDragReject","getRootProps","getInputProps","accessLevelItem","focusable","fill-rule","OrderAttachementsV2","attachmentTypes","accessLevels","TmsAttachementsStatus","NextStatusPickedUp","ShippingDeparture","ShippingDepartureDate","champFiltring","onlyUnique","GetDateFilterIfIsFistTime","isMin","dateType","Columns","dateArrayfromData","latest","earliest","filterByValueExact","searchBy","DownLoadFile","xmlhttp","XMLHttpRequest","onreadystatechange","DONE","send","reportTypeSelected","ReportingPortViewPage","rowClasses","RowColor","myParam","URLSearchParams","DateFilterOptions","setDateFilterOptions","FealdsFilterOptions","setFealdsFilterOptions","setDateFilter","SearchByFilter","setSearchByFilter","SearchByService","setSearchByService","SearchByWareHouse","setSearchByWareHouse","SearchByMode","setSearchByMode","SearchByWeek","setSearchByWeek","ReportingDataFilter","setReportingDataFilter","ReportingType","setReportingType","setReportingTypeFiltred","ReportingWarehouseOption","setReportingWarehouseOption","ReportingWeekOption","setReportingWeekOption","ReportingCustomerOption","setReportingCustomerOption","ReportingServiceOption","setReportingServiceOption","ReportingModeOption","setReportingModeOption","menuIsOpen","setmenuIsOpen","ReportingTypeId","setReportingTypeId","DateFilterType","SearchBy","Week","FilterReportData","setFilterReportData","onInputChange","openMenu","closeMenu","dateconvertFroeExport","datetime","formatedDate","DateObject","GetTime","dataformated","Key","TransloadDays","Gettime","ws","saveAs","GlobalDashboardGetData","datashow","Reporting","notDateType","ActionsReportingView","setIdHot","postPoList","postPoHotList","getPoListHotItems","getPoListHot","getPoListItems","getPoList","PostPOHotList","objTrue","objIdsPO","objPostGet","PoIds","ModalHot","setModalHot","ModalNote","setModalNotes","NoteCategories","isHaz","POIds","GetPoListAsync","filtered","arr","dateObjectfilter","checkDateFromat","datewareHouse","dateWeek","dateCustomer","dateCustomerSelected","dateService","dateMode","userDefaultDates","DropdownCustomToggler","forwardRef","Str","Required","ModesStatus","setModesStatus","setWarehouses","AutoQuantity","setAutoQuantity","setFreightChargeIdFun","baseData","vendorList","UnitOfMeasures","OneMoveMasterVendors","C_CarrierId","CustomerRefNumber","ContainerBasicFun","OrderDetails","ChargesFunction","autoQuantity","VendorListComp","ChargesId","CustomVendors","PeoplesComponent","aria-disabled","BillToDetail","setBillToDetail","WarehousesDetail","setWarehousesDetail","ConsigneesDetail","setConsigneesDetail","ShippersDetail","setShippersDetail","GetShipper","GetConsignee","TerminatedDate","DispatchedDate","DischargeDate","ReleasedDate","AppointedDate","DevannedDate","ClosedDate","PickedUpOnDate","PlannedDate","QcDate","GetChargesLink","GetCalculatedLink","PayablesReadOnly","OpenFirst","setOpenFirst","GetCalculatedChargesLink","setChergesFun","setChargesTotal","colorTable","isVariableOpen","isVariableOpenDefault","BillId","setIsEditedCharges","ChargeModel","setChargeModel","setCharges","ChargesRemove","setChargesRemove","ChargesN","setChargesN","loadingCharges","setloadingCharges","FilterCharges","setFilterCharges","AutoRatingModal","setAutoRatingModal","AutoRatingCheck","setAutoRatingCheck","NoteModal","setNoteModal","CalcTotal","GetPayableForVendor","FieldID","fromCity","fromAddress","fromState","fromZipCode","toCity","toAddress","toState","toZipCode","thisList","chargesVar","CheckRateInCharges","findv","VendorBillId","VendorBill","objCalc","GetPayableForVendorCalc","idv","RemoveDuplicate","Id2","ChargeId","allObjs","resArr","StartAutoRate","Calc","each","AddSpace3","category","invoice","vendorBill","Invoice","total","CalculateCharge","RoundToFixed","Rounding","IsRounding","rateType","MinCharge","MaxCharge","FreeTime","OriAddSup","CategoryTotalId","SetSubTotal","CheckHidden","param1","param2","CategoryPosition","InvoiceId","Calcul","QuoteId","CalculName","RatingTable","numberofSort","headerStyle","listdistinctFunction","isAddCharges","isInfo","listCharge","CheckIsNigativeRate","CheckIsNigativePositive","Priority","IsVariable","IndexId","note","PostNote","SortAndRename","iiii","HideIsNotBill","CategoryAppend","ChargesColorCategory","data-Name","data-Invoice","data-VendorBill","isChangeFunction","ChargesColor","RateClassName","readonly","RateReadOnly","GetLengthRound","InputValueCharge","checkIs0","Child1","autoRatingCheck","SortOnlyCharge","AutoRatingCharges","Child2","SubTotal","data-type","SelectedItem","setSelectedItem","CustomOption","img","PeoplesProfile","Info","SelectedId","setInfo","GetShipmentData","setremark","ConsigneeID","setConsigneeID","setVendor","VendorID","setVendorID","setShippersID","CustomersID","setCustomersID","ConsigneeDetail","setConsigneeDetail","VendorDetail","setVendorDetail","setPalletizedForm","fetchTabeAsync","PickupAppointmentToDate","GetShipmentDataHeader","idREcipt","lineItems","acc","ColorBool","TableFunction","Remark","setRemark","SumQuantity","SumWeight","SumCube","DeletehipmentRow","fullscreen","fetchProducts","updateProductsStatus","deleteProducts","createProduct","productForCreation","updateProduct","ARCheckZeroAndSame","AutoRatingFunction","Round","patt","qnty","isVariable","rateChanged","RateChanged","isFinite","find2","notification","findNigative","findPositive","checkInvoice","oriAddSup","quantity","findInvoice","RemoveSpace","ChargesModel","setChargesId","ChargesOnly","InvoiceorBill","InvoiceAppend","VendorBillAppend","propertyName","isChargesType","applicatInvoice","applicatCategory","inv","cat","AutoRateComponent","AutoRatingItem","autoRating","rounding","autoType","CubeCbm","CubeCft","WeightKgs","WeightLbs","Spinner2s","CheckAutoRate","eles","EventChangeAutoRate","ShowChassis","setShowChassis","ShowMail","setShowMail","ConfirmationDateAutoRate","promise","clc","CalcTime","GetEmilCharge","list1","list2","listRemove","QuoteIdFist","RateFist","isChange","auroRating","date1","date2","replaceAll","CalculIdCheck","CalculId","OnlyTime","setOnlyTime","setvalue1","setvalue2","GetOnlyDate","GetOnlyDateFun","ele2","JSChargeN","data-time","data-Start","data-End","LockPayblesButton","isPrimary","setfreightChargeId","isLock","setisLock","LockPaybles","Lock","MenuListComposition","Child3","popover","handleHide","rootClose","ChargesFunctionCompo","VendorsId","setVendorsId","setCarrierId","vendorItem","GetList","FromAddress","FromZipcode","ToAddress","ToZipcode","idsShipments","ChargesFirstColumn","ChargesRemoveComponent","Bg","ProductMODetail","setinitProduct","ViewModelOptions","setViewModelOptions","modalAddresses","setmodalAddresses","stateId","setStateId","ConsigneeCity","ConsigneeState","ConsigneeZipCode","ConsigneePhoneNumber","ConsigneeFax","ConsigneeContactName","ConsigneeEmail","consignee","ShipperCity","ShipperState","ShipperZipCode","ShipperFax","ShipperContactName","shipper","setShipper","fetchSelectedAddress","isShipper","GetShipperAddress","currentAddress","CreateSO","setCreateSO","CreateSOSelectedMode","setCreateSOSelectedMode","setLoadingPCost","IsShipperSelected","setIsShipperSelected","AddressObjectPost","setAddressObjectPost","postAddress","__isNew__","Packaging","SpaceReq","TempControl","TempMin","TempMax","ItemsTmsComponent","rowSpan","CheckboxLargeWBFob","inputEl","colorStat","setColorStat","LulusHandlingExceptions","IsExceptionLulus","isLulusDashboard","exceptionId","saveNote","NotesList","setCategorysList","NewText","setNewText","setisSave","GetNotes","$NoteCategoryId","$NoteAccessLevelId","getNots","FetchSaveNoteHandled","GetExceptionsLists","setExceptionsList","RequestId","bodytext","selectedException","Showing","setShowing","setText","setCategory","categoryPut","setCategoryPut","titleBtnDeletePut","setTitleBtnDeletePut","PutNote","DeleteNote","selectedAccessLevel","setSelectedAccessLevel","selectedCategory","setCategoryPost","DatePickerField","inputLabel","FieldFeedbackLabel","selectLabel","TextArea","erros","RadioButton","CheckboxLarge","CheckboxLargeWB","DateTime30","setvalueSelect","curr","minOr30","DateTime12","dateNow","curr1","CreatableSelect2","setstate","state2","setstate2","CreatableSelect3","valueSelect2","setvalueSelect2","LoadingBool","setLoadingBool","dot","colourStyles","option","chroma","alpha","contrast","stop","DateTimeSimple","PaginationLinks","paginationSize","pagesCount","getPagesCount","pages","getPages","disabledClass","onPageChange","handlePrevPage","pageNum","handleNextPage","PaginationToolbar","onSizePerPageChange","newSize","CardHeaderTitle","CardHeaderToolbar","toolbar","labelRef","setTop","windowHeight","setWindowHeight","handleResize","innerWidth","headerElement","subheaderElement","headerMobileElement","nextMarginTop","isFragment","CardBody","fit","CardFooter","fluidHeight","AnimateLoading","routeChanged","scrollToTop","scrollToTopBtn","animateTimeout","stopAnimate","animateInterval","stopAnimateTimeout","withRouter","initCssClasses","LoadingDialog","newHtml","cssClasses","setCssClasses","timeoutId","svg","iconRef","textRef","iconWrapperRef","ModalProgressBar","NotesComponent","isBilling","isViewModel","hideExistingNotes","customViewModel","NoteShow","setNoteShow","NoteShow2","setNoteShow2","noteToggle","setNoteToggle","GetViewModelList","exceptionsLists","setNoteId","setExceptionPost","Titles","setTitles","GetAllTitles","NoteId","AssignNote","NotesEdit","receiptid","NotesComponentDashboard","publicNotes","setAction","putId","$actionPutNote","AttachementsComponent","accessLevelsId","DenseTable","lastBold","EnhancedTable","backIconButtonProps","nextIconButtonProps","DenseTableSm","ItemTablesWidget","ExceptionColums","DateException","ShipmentChart","GlobalShartData","ChartLoadingSpinner","opts","seriesIndex","GlobalTable","Details","PerformanceTransaction","endingShape","forceNiceScale","colorIcon","DonutTransportationGlobal","globalShart","globalShartCount","getDateName","TablePaginationActions","calories","fat","PerformanceGrid","showTransload","setShowTransload","performancetavselected","setperformancetavselected","showInBound","setShowInBound","showOutBound","setShowOutBound","valuesTab","setvaluesTab","showContainerPort","setShowContainerPort","TransloadPerformanceReportLoadingSpinner2","setTransloadPerformanceReportLoadingSpinner2","ContainersDetails","PerformanceReportData","setPerformanceReportData","pageContainer","setPageContainer","rowsPerPageContainer","setRowsPerPageContainer","setStartDate","setEndDate","Performance","pageInboundContainerDetails","setPageInboundContainerDetails","rowsPerPageInboundContainerDetails","setRowsPerPageInboundContainerDetails","pageOutboundContainerDetails","setPageOutboundContainerDetails","rowsPerPageOutboundContainerDetails","setRowsPerPageOutboundContainerDetails","totalALLContainers0","AllContainers","Whithin24Hours","Whithin48Hours","Whithin72Hours","MoreThan72Hours","totalALLContainers1","totalALLContainers2","totalHotContainers0","HotContainers","totalHotContainers1","totalHotContainers2","Line","Whs","QtyRecv","QtyShpd","PerformanceReportDetails","onj","Released","ReleaseDate","Received","Devanned","TransloadTime","CustomerNote","ModelManagmentFirstDashboard","DimensionInboundDetails","DimensionOutboundDetails","Loaded","Delivred","dataAccepted","textTransform","DimensionsInbound","AverageCartons","AverageCubeCbm","AverageWeightKgm","DimensionsOutbound","EnhancedTableContainers","setDense","Switch","ReferenceNumber2","setItemsId","EqtimatedTimeArrival","OrderType","ShippedOrdersComp","tabe","settabe","DonutTransactionInbound","Crosspartner","OveralTransaction","PerformanceLulus","valuesTabParent","setvaluesTabParent","PerformanceReportGraphData","setPerformanceReportGraphData","setPerformanceReportDetails","performanceGraph","Bucket","totalALLContainers3","totalALLContainers4","processed","QCDate","ShippedDate","indexs","GetPerformanceLulusDetails","DonutDomestics","FilterAccount","isOpened","setIsOpened","loaderFilter","viewModel","scrollIntoView","block","startOfmonth","startOfyear","RevenueAccount","fetchFilterItemChar","initFilterEdit","_NameSelected","AssessorialCharges","stacked","gradient","shadeIntensity","inverseColors","opacityFrom","opacityTo","stops","shared","HistoricalLanes","LansListFilter","setLansListFilter","datainput","PerformanceAccount","PickupChartPurcentage","goals","PickupPurcentage","Failed","PickupFaillureCount","PickupSuccessCount","strokeColor","DeliveryChartPurcentage","DeliveryPurcentage","DeliveryFaillureCount","DeliverySuccessCount","OnTimeChartPurcentage","OnTimePurcentage","OnTimeFaillureCount","OnTimeSuccessCount","stackType","dataPointIndex","globals","initialSeries","orientation","offsetX","dropShadow","ARAccount","zoom","sparkline","colorsThemeBasePrimary","axisBorder","axisTicks","crosshairs","dashArray","offsetY","normal","allowMultipleDataPointsSelection","colorsThemeLightPrimary","markers","chartnewUsers","Ar","HtmlClassService","layoutConfig","preInit","header_container","header_mobile","header_menu","aside_menu","subheader","subheader_container","content_container","footer_container","attributes","initLayout","initLoader","initHeader","initSubheader","initContent","initAside","initFooter","initTheme","updatedConfig","headerSelfFixedDesktop","fixed","logo","getLogo","selfBodyBackgroundImage","_selfBodyClass","cssClass","headerMenuSelfLayout","headerMenuLayoutCssClass","subheaderFixed","subheaderStyle","subheaderClass","asideSelfDisplay","asideMenuDropdown","asideSubmenuDHoverTimeout","brandSelfTheme","headerSelfTheme","LAYOUT_CONFIG_KEY","REACT_APP_LAYOUT_CONFIG_KEY","getConfig","ls","er","demo","js","xxl","inverse","gray","loader","desktop","mobile","layout","arrow","submenu","accordion","displayDesc","displayDaterangepicker","clear","brand","minimize","hoverable","dropdown","extras","offcanvas","notifications","directions","languages","cart","chat","scrolltop","HtmlClassServiceContext","MetronicLayoutProvider","lc","hcs","setConfig","perfectScrollbarOptions","generateIcone","classe","SearchResult","dataSearch","character","SearchDropdown","setData","searchValueSubmited","setsearchValueSubmited","bgImage","drop","onToggle","DropdownTopbarItemToggler","Results","lang","flag","LanguageSelectorDropdown","useLang","currentLanguage","language","setLanguage","UserProfileDropdown","QuickUserToggler","userLogin","setuserLogin","Topbar","viewSearchDisplay","viewNotificationsDisplay","viewQuickActionsDisplay","viewCartDisplay","viewQuickPanelDisplay","viewLanguagesDisplay","viewUserDisplay","BreadCrumbs","HeaderMenu","useLocation","subheaderMobileToggle","subheaderCssClasses","getClasses","subheaderContainerCssClasses","useLayoutEffect","getBreadcrumbsAndTitle","setBreadcrumbs","breadcrumbs","ktMenuClasses","headerMenuAttributes","HeaderMenuWrapper","rootArrowEnabled","menuDesktopToggle","getAttributes","ulClasses","disabledAsideSelfDisplay","getHeaderLogo","headerAttributes","headerContainerClasses","menuHeaderDisplay","HeaderMobile","headerLogo","getStickyLogo","asideDisplay","headerMenuSelfDisplay","headerMobileCssClasses","headerMobileAttributes","Brand","brandClasses","asideSelfMinimizeToggle","headerStickyLogo","AsideMenuList","menuListLinks","setMenuListLinks","setReleaseNotesList","itemRelease","setItemRelease","fetchStatus","setFetchStatus","getMenuItemActive","checkIsActive","showConfirmButton","menus","SubMenu","isSame","$isSeenToday","$idReleaseToday","onHideModal","getSvgItems","GetMenuList","GetReleaseNotesList","showModalPassword","onHideModalPassword","passwordValue","setPassword","passwordConfirmValue","setConfirmPassword","typePassword","setTypePassword","passwordVisible","setPasswordVisible","ResetPassword","GetBuildVersion","ForceClearCache","host","data-menu-toggle","isTodaySeen","idRelease","Success","AsideMenu","disableScroll","asideMenuAttr","asideClassesFromConfig","data-menu-vertical","Aside","disableAsideSelfDisplay","epoch","today","footerClasses","footerContainerClasses","KTLayoutHeader","_element","_elementForMobile","idForMobile","isFixed","isFixedForMobile","getElement","getElementForMobile","getHeader","getHeight","_getHeight","getHeightForMobile","KTLayoutHeaderMenu","_menuElement","_menuObject","_offcanvasElement","_offcanvasObject","menuId","offcanvasId","KTOffcanvas","baseClass","closeBy","toggleBy","KTMenu","tablet","slideSpeed","expandAll","getMenuElement","getOffcanvasElement","getMenu","pauseDropdownHover","getOffcanvas","closeMobileOffcanvas","KTLayoutHeaderTopbar","_toggleElement","KTToggle","targetState","toggleState","getToggleElement","KTLayoutBrand","KTLayoutAsideMenu","menuDesktopMode","KTLayoutAside","isMinimized","isHoverable","_init","_body","insideTm","outsideTm","offcanvasClass","KTLayoutSubheader","KTLayoutStickyCard","_object","cardWidth","KTLayoutAsideToggle","_toggleObject","getToggle","KTLayoutFooter","KTLayoutContent","KTLayoutScrolltop","KTLayoutStretchedCard","cardBody","cardHeader","KTLayoutQuickPanel","_notificationsElement","_logsElement","_settingsElement","_getContentHeight","KTLayoutQuickUser","LayoutInit","QuickActionsDropdownToggle","isCustomerValue","QuickActions","pathName","activeLinks","titleSpans","titleSpan","breadCrumbs","getTitle","SubheaderContext","MetronicSubheaderProvider","SubHeader","useTranslation","Today","setToday","hour","minute","hour12","QuickPanel","selectedTab","setSelectedTab","_tabName","QuickUser","modalReleaseNotes","setModalReleaseNotes","releaseNotes","ScrollTop","selfLayout","subheaderDisplay","desktopHeaderDisplay","contentCssClasses","contentContainerClasses","contentExtended","useRouteMatch","cssClassesState","setCssClassesState","fullClasses","startAnimation","timeOutId","ContentRoute","routeProps","MetronicSplashScreenContext","MetronicSplashScreenProvider","setCount","timeout","splashScreen","LayoutSplashScreen","prev","createMuiTheme","MuiButtonBase","disableRipple","MuiPopover","MaterialThemeProvider","ThemeProvider","PackagingGroupsList","setPackagingGroupsList","HazardClassesList","setHazardClassesList","isHasardOfMaterial","setisHasardOfMaterial","setLBSWeight","LBSWeightPut","setLBSWeightPut","putModeWeight","setPutModeWeight","disabledInput","setdisabledInput","setCFTCube","CFTCubePut","setCFTCubePut","putModeCFTCube","setPutModeCFTCube","isLtlForm","setIsLtl","setUnitOfMeasures","consigneList","setConsigneList","weightType","cubeType","IsLocked","setReadOnly","setFreightClassSelect","setIsChangingClass","$consigneeList","fetchConsigneList","GetViewModelStops","setConsigneValue","stopsList","setStopsList","Stops","PackagingGroups","HazardClasses","CubeTypeCalc","cubeTypeId","cubeId","WeightTypeCalc","isChangingClass","consigneValue","currentStop","setStopValue","isReadOnly","unitValue","setUnitValue","stopValue","freightClassSelect","stringfyJson","parseJson","$modeNameLtl","$LBSWeight","$CFTCube","ShortOverChange","$NewItemSaveandClose","reloadFunction","StatusShow","setStatusShow","next","IsRollBack","IsNext","TransloadShipmentId","MultiStopsIndexShipping","modalDelete","setModalDelete","loadingDelete","setLoadingDelete","loadingPosition","setLoadingPosition","showModalPosition","setShowModalConfirmationPosition","PostStop","isPut","setLoaderStops","DeleteStop","FetchValueItem","column","valueColumn","currentValue","IsEdited","setMultiStopsData","StreetAddress","SavePositionsReceivingShipping","isReceiving","setLoaderSoStop","ClassName","IsNew","setShowSaveButton","checkItem","AddressId","IsCollapsed","currentObject","SpecialReqs","IsAppointed","AppointmentDateFrom","AppointmentDateTo","AppointmentDateEntredBy","IsDropRecovery","DropDate","ActualArrivalDate","ActualArrivalDateEntredBy","ActualArrivalDateEntredDate","DepartureDate","DepartureDateEntredBy","DepartureDateEntredDate","DeliveryNumber","DeliveryAppointmentFromDate","DeliveryAppointmentToDate","DeliveryAppointmentEntredBy","Pod","Spinners","AlertListData","Alerts","ServiceOrderFtlDetail","getAssignment","GetSoData","setShowLoadBidsModal","ShowLoadBidsModal","loaderSoStop","rowClassesBids","IsAccepted","GetStops","GetStopsNewIntegration","ChargesTotal","PayblesTotal","setPayblesTotal","DataListBids","setDataListBids","LoadingBidsStatus","setLoadingBidsStatus","listMultiStopsShipping","setMultiStopsDataShipping","showSaveArrows","GetLoadBidsData","Bids","TrackingDataGrid","setTrackingDataGrid","TrackingDataPoliLyne","setTrackingDataPoliLyne","TrackingStatusOptions","setTrackingStatusOptions","phoneNumberStop","setPhoneNumberStop","zipCodeStop","setZipCodeStop","stateStop","setStateStop","cityStop","setCityStop","addressStop","setAddressStop","companyNameStop","setCompanyNameStop","faxStop","setFaxStop","contactName","setContactName","EmailStop","setEmailStop","stopAddressValue","setStopAddressValue","ReceivingNote","TraceCode","CurrentEtaDate","NextTrackingDue","padStart","TrackingObject","setTrackingObject","ShippingNote","shipper2","setShipper2","iShipper2","StopAddressValues","setStopAddressValues","fetchSelectedAddressOnLoad","handleSubmitNewBids","vendorName","BidsStatuChange2","setShowLoadBids","GetTrackingGridData","fetchSelectedAddressOnLoadShipper2","GetTrackingStatus","Addresses","isLoaded","stopsAll","loaderStops","columnsItems","calculateTotalItems","PostStop1","PostStop2","ShowInfo","setShowInfo","BidsStatuChange","modalDeleteTracking","setModalTrackingDelete","DeleteTracking","headerAlign","setRowItemTracking","Bidscolumns","iggndex","dscdcdsc","IsBooked","ShowTrace","setShowTrace","ShowLoadBids","ShowAlert","setShowAlert","isNewAlert","setIsNewAlert","ShowMapView","setShowMapView","ShowStop","setShowStop","ShowStop2","setShowStop2","FlatbedTypeId","FlatbedType","FlatbedRequired","isCollapsedShipping","setIsCollapsedShipping","isCollapsedTracking","setIsCollapsedTracking","isCollapsedReceiving2","setIsCollapsedReceiving2","isCollapsedBids","setIsCollapsedBids","isCollapsedInvoincing","setIsCollapsedInvoicing","isCollapsedAttachments","setIsCollapsedAttachments","isCollapsedCommodity","setIsCollapsedCommodity","isCollapsedCommodityDrag","setIsCollapsedCommodityDrag","isCollapsedReceiving","setIsCollapsedReceiving","SavePositions","dataPut","rowItemTracking","fetchNewStop","valuesCc","objectPost","trackingObject","getElementsByName","StatusCode","nextTracking","_Note","NextTracking","ShipperArrivalDate","MaxBuy","currentItem","listPut","ValueId","IsEditedReceiving2","EmptyReturnNumber","ShipperSpecialReq","ShipperApptRequired","VesselEta","AvailableEta","PUAppointment","PUAppointementTo","PUAppointmentEnteredBy","ShipperDt","PUAppointmentDt","ShipperArrivalDateEnteredBy","ShipperArrivalDateEnteredDate","LoadedDate","LoadedDateEnteredBy","LoadedDateEnteredDate","ShipperDepartureDate","ShipperDepartureDateEnteredBy","ShipperDepartureDateEnteredDate","ConsigneeSpecialReq","ConsigneeApptRequired","DeliveryAppointmentDateTo","DeliveryAppointmentDateEnteredBy","ConsigneeDt","DeliveryAppointmentRecoveryDate","ConsigneeArrivalDate","ConsigneeArrivalDateEnteredBy","ConsigneeArrivalDateEnteredDate","ConsigneeDepartureDate","ConsigneeDepartureDateEnteredBy","ConsigneeDepartureDateEnteredDate","ReportedEmpty","EmptyReturnApptRequired","EmptyReturnDeliveryAppointmentDate","EmptyReturnDeliveryAppointmentDateTo","EmptyReturndeliveryAppointmentDateEnteredBy","EmptyReturnArrivalDate","EmptyReturnArrivalDateEnteredBy","EmptyReturnArrivalDateEnteredDate","EmptyReturnDepartureDate","EmptyReturnDepartureDateEnteredBy","EmptyReturnDepartureDateEnteredDate","EmptyReturnPod","PalletTypes","ShipperCompanyName","FlatbedTypes","ChargesValues","IdAddCharges","CalculateAmount","BillToRating","objectTms","ChargesModal","setChargesAdded","noteModal","modalCharges","setModalCharges","setLoaderCharges","shipmentDetail","setShipmentDetail","totalRates","setTotalRates","currentCharges","TotalRate","IsReloadCharges","GetCalculated","paramsAddresses","chargesList","chargesModalList","listChargesModal","calculatedCharges","currentCharge","valuesCharges","VendorRating","setVendorsPayables","vendorPayables","IsReloadPayables","ServiceOrderLtlDetail","setTextMasterOrder","setLoaderSo","setVendorPayables","loaderSo","ModeSO","loaderData","setLoaderData","isCollapsedCarrier","setIsCollapsedCarrier","isCollapsedInvoicing","showResults","setShowResults","modalPercentage","setModalPercentage","percentageValue","setPercentageValue","ratesCalculated","setRatesCalculated","totalPayable","setTotalPayable","totalReceivable","setTotalReceivable","totalMargin","setTotalMargin","datatable","setdatatable","isSpinnerLoading","setIsSpinnerLoading","showModalRates","setShowRatesModal","ratesRow","setRatesCarrierRow","allRates","setAllRatesCarrier","carrierRowSelect","setSelectCarrierRow","accessorialsList","setAccessorialsList","carriersHash","setCarriersHash","LtlCarriers","setLtlCarriers","Select7LQuote","fetchCamelCaseSpaces","charAt","PostGenerate7LRates","fetchImgCarriers","calculateTotal","ratesListParam","isReceivable","isItemEditable","listRates","rates","minRate","maxRate","Receivable","Payable","totalRatesPayable","hashes","Hash","columnsLTLRate","selectObject","Percentage","IsChangedPercentage","totalPayableCalc","totalReceivableCalc","expandRowQuotes","showExpandColumn","accessorialList","postObject","OriginCity","OriginState","OriginZipcode","OriginCountry","DestinationCity","DestinationState","DestinationZipcode","DestinationCountry","AccessorialsList","CarrierHashes","ratesList","fetchSelectedRates","selectedObject","SelectedGroupNote2","NotesType","TmsNotesGroup","setmodalNotes","modalNotes","SONotesData","setSONotesData","GroupNotesData","setGroupNotesData","loadingPostNote","setloadingPostNote","SelectedGroupNote","setSelectedGroupNote","getDetailGroupNote","columnsNote","GroupId","getSoNotes","_id","getSoNotesfirst","ProductTMSDetail","showBolMulti","setBolMulti","showDispatchReportMulti","setRateConfirmationMulti","ShowDeleteSOModal","setShowDeleteSOModal","ShowCancelSOModal","setShowCancelSOModal","IsCollapsedBasic","setIsCollapsedBasic","LoadingDuplicateSo","setLoadingDuplicateSo","inputList","setInputList","handleChangeProccess","isloaderSo","EmptyLocation","ItemVendorId","OrderIds","Save","hasError","valuesClone","chargeslist","buttnRefresh","CheckStops","shipmentData","_initProduct","TotalMiles","GetMilageFunctions","IsTeam","CapacityAssigneeIsGroup","CapacityOperationIsGroup","CommercialAssigneeIsGroup","CommercialOperationIsGroup","assignment","setAssignment","oldValue","cancelButtonText","NewObj","currentValueAssignment","duplicateSo","EmailTypeChangedFuction","isOptionDisabled","MasterOrders","CustomerReferenceNumber","_arrayobj","currentVendor","IsDispatcher","ProNumber","MarkEmpty","VendorConfirmed","valueAssigment","ele3","ele4","aria-selected","customClass","classBase","classCustom","classShown","classOverlay","isShown","toggleClass","classPush","stopsItems","FreightChargesterms","BOLDate","ShipFromAddress","rowspan","BolNumber","Street","ShippersRefNo","ShipToAddress","EquipmentIdNumber","ConsigneRefNo","ThirdPartyAddress","SpecialInstructions","HZName","IsTransportation","ItemNo","PackageQty","HZ","CommodityDescription","ItemDescription","TotalPackages","CodAmount","Handling","paramId","I18N_CONFIG_KEY","REACT_APP_I18N_CONFIG_KEY","selectedLang","I18nContext","MetronicI18nProvider","allMessages","de","en","es","fr","ja","zh","I18nProvider","locale","messages","ContainersUIProvider","showAssigntoOutbound","setShowAssigntoOutbound","openAssigntoOutboundDialog","isLulusDashboardException","GetAttachments","setUsers","GetUsers","fuelSurcharge","setFuelSurcharge","distance","setDistance","surcharge","setSurcharge","GetExceptionList","PayableCode","DispatchDate","AppointementDate","PickupDate","attachments","ReceiptItems","Pieces2","DateCreated","exceptionsRmList","setExceptionList","checkedIsActive","setIsActiveFilter","filterDisposition","exceptions","Disposition","RequestDate","showModalRemoveException","setModalRemoveException","setExceptionId","notesExceptionShow","setNotesExceptionsModal","exceptionNotesList","setExceptionNotesList","RemoveException","dispositionFilter","setDispositionFilter","QRCodeShow","setQRCodeShow","OrderNumebr","ReceiptNumber","CustomerAddress1","CustomerCity","CustomerState","CustomerZipCode","CustomerReference1","CustomerReference2","BillToCode","BillToName","BillToAddress1","BillToCity","BillToState","BillToZipCode","BillingReference1","BillingReference2","ShipperCode","ShipperAddress1","OriginsShipper","ConsigneeCode","ConsigneeAddress1","PhotoFile","ExcpetionType","notesExceptions","PoLocations","$FilterExceptionsOn","nodeName","setList","setLocationsType","setLocationSelected","locationsType","viewModal","LocationSelected","LocatiosType","GetLocations","scrollLeft","index1","LocationName","LocationType","NotificationManager","info","warning","TotalPallets","ParmPickUp","VendorContact","setVendorContact","VendorDelete","setVendorDelete","CarrierIdS","setCarrierIdS","setBillToOptionsList","VendorTypeOptionsList","setVendorTypeOptionsList","FreightChargeIdSelected","setFreightChargeIdSelected","BillToIdSelected","setBillToIdSelected","defaultFreightChargeId","setdefaultFreightChargeId","setVendorTypeId","setFieldValueF","setChargesReadOnly","listChargesSelect","listChargesModel","getVendorAddress","IsDeletable","thisLink","OnemoveMasterCharges","StatusColumnFormatter2","close","UpdateShipmentStatus","ParentStatusId","SaveDone","AlertsColumnFormatter","Chart","zoomPlugin","Colors","Chart2","randomNumber","setrandomNumber","objects","datasets","plugins","scales","yAxes","ticks","autoSkip","maxTicksLimit","beginAtZero","gridLines","xAxes","wheel","pan","decodeURIComponent","expires","toUTCString","updatedCookie","encodeURIComponent","optionKey","optionValue","deleteCookie","getCurrentUrl","shiftCount","PleaseWaitMessage","NoRecordsFoundMessage","SelectionCheckbox","clickToSelect","hideSelectAll","isSelectAll","selectionHeaderRenderer","allIds","groupingAllOnSelect","selectionRenderer","newIds","groupingItemOnSelect","isLastSorting","colIndex","SimpleZoom","Zoom","in","RequiredShipDate","ShowLegs","setShowLegs","ConsigneeZip","ConsigneePhone","TotalCurrency","revenuValue","ShopDate","ShipTo","isGlobalSearch","smCustomer","fetchApiOutboundReportManifest","isSuccess","setSuccessApi","BillingRefNumber","InvoiceType","PrintedBy","PickUpAddress","DeliverToAddress","RateCharges","ScrollingMenu","data-filter","Draggable","PositionDrag","ModelShowAll","setModelShowAll","ModelShowMultiple","setModelShowMultiple","ModelShowNotSHipment","setModelShowNotSHipment","TabHtml","setTabHtml","TabHtml2","setTabHtml2","TabHtml3","setTabHtml3","OrdersIdsList","setOrdersIdsList","DistributionWarehouses","setDistributionWarehouses","setstatSHipmentId","reciptsBtn","multipleBtnList","dblclick","dis","disList","IsOutbound210Generated","id2","GetShipmentDataTable","isTrue","shipments","nameShipment","TabeButtonFunction","OneMoveMasterWeight","LineItemsFun","lineItemsFirst","findOrder","ordersId","ordersList","IsNull","tabsActive","QuantityMax","PostShipmentAssigntoWareHouse","DeleteShipmentAssigntoWareHouse","MultipleRecipt","ListLineItem0","ListLineItem","setListLineItem","ListLineItem2","setListLineItem2","TabsHtml","onKeyPress","inputSearch","DraggableFunctionALL","setMessage","clientY","handleStop","DraggableFunction","onChangeFunction","TotalCube","ModelShowCheckService","setModelShowCheckService","OSD","rect2","isSameSevice","MoveItemtoList","eIsChecked","not","multipleBtn","Bool","DraggableFunctionMultiple","setdisabledBtnMul","setMultipleSelectNumber","setstatSHipmentMulitple","TableHeaderFunction","WareHouseModal","setWareHouseModal","WareHouseList","setWareHouseList","stateAOHeader","setstateAOHeader","myVar","getSubmenuMode","hideDropdowns","autoScroll","autoScrollSpeed","reset","eventHandlers","pauseDropdownHoverTime","resetSubmenuProps","handleSubmenuAccordion","isConditionalSubmenuDropdown","handleSubmenuDrodownHoverEnter","handleSubmenuDrodownHoverExit","handleSubmenuDropdownClick","handleSubmenuDropdownTabClick","handleLinkClick","submenus","resumeDropdownHover","showSubmenuDropdown","hideSubmenuDropdown","hideSubmenuDropdowns","handleSubmenuDropdownClose","shown","li","subnav","closables","el_","submenu_","scrollToItem","classAlso","cnt","createSubmenuDropdownClickDropoff","dropoff","resetActiveItem","i_","len_","setActiveItem","getBreadcrumbs","submenuLink","getPageTitle","scrollReInit","hideDropdown","toggleOn","toggleOff","BolRoutes","bolRoute","PickupStopId","PickupStop","DropStopId","DropStop","ShipperStopPosition","ReceiverStopPosition","indexX","ms","loadOptions","prevOptions","filteredOptions","hasMore","slicedOptions","initialOptions","getOptionValue","getOptionLabel","additional","DropdownMenu1","DropdownMenu2","DropdownMenu4","DropdownDocuments","displayName","Division","onReady","filterStatus","setcustomer","ShipmentParentStatus","setShipmentParentStatus","setShipmentStatus","ShipmentAccessLevels","setShipmentAccessLevels","ShipmentStatusSumParent","setShipmentStatusSumParent","ShipmentStatusColumn","setShipmentStatusColumn","StatusStatId","setStatusStatId","StatusStatId2","setStatusStatId2","fetchShipmentDetailAsync","ActualPickupDate","ProofOfDeliveryDate","activityNotes","ActivityNotes","Arrival","Departure","DeliveryEstimatedDateTime","PickupReadyDateTime","StatusIdValue","shipmentParent","s1","s2","s3","fetchUpdateAsync","step","Abbreviation","OrderNotes","newOnly","ListNewOnly","setListNewOnly","UpdatedAt","notShowing","OrderNotesV2","initialSpecificationsState","specificationForEdit","specificationFetched","specificationsFetched","specificationCreated","specificationUpdated","specificationDeleted","specificationsDeleted","ReceiptsIds","setReceiptsIds","setAccessLevel","GetReceiptsIds","ContainersIds","getContainersNumber","GetContainersNumber","GetData","ClosePopup","handleSubmit2","PutData","EntredBy","leftover","Dates","TrackingLoadBoardPage","capacityAssigneeId","originCity","originState","destinationCity","destinationState","ShipStartDate","ShipEndDate","DeliveryStartDate","DeliveryEndDate","FilterTrackingBoard","setFilterTrackingBoard","StatusList","setStatusList","CurrentEventList","setCurrentEventList","ShipmentTypeList","setShipmentTypeList","freightCharges","TrackingBoard","setTrackingBoard","LoadingData","setLoadingData","SoSelectedId","setSoSelectedId","columnTrackingBoard","LastTracking","GetApiExport","listmodeId","trackingEvents","listShipmentTypeId","listcapacityAssigneeId","liststatus","isExport","dataExport","Statuses","Events","GetTrackingBoardViewModel","GetTrackingBoardData","fetchViewModelAsyncCountry","handleSubmitTraceLog","paginationOption","ModelShowingQcVendor","setModelShowingQcVendor","setReceiveNowVendorId","ReceiveNowLoading","setReceiveNowLoading","LoadReceivedItems","setLoadReceivedItems","TotalCartons","ReceiveNowDataObject","setReceiveNowDataObject","columnsLoadReceivedItems","GetDataLoadReceived","PullQty","OriginQty","UpdatedPull","GetVendorsOptions","$StatusReceiptList","IsReceiveNow","disabledZipCode","selectedItem","setCustomerValue","StateId","setUpdatedAddress","isUpdatedAddress","customerValue","isClearables"],"mappings":"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AAM,MAER,CACED,GAAI,GACJC,KAAM,MAER,CACED,GAAI,GACJC,KAAM,MAER,CACED,GAAI,GACJC,KAAM,MAER,CACED,GAAI,GACJC,KAAM,MAER,CACED,GAAI,GACJC,KAAM,MAER,CACED,GAAI,GACJC,KAAM,MAER,CACED,GAAI,GACJC,KAAM,MAER,CACED,GAAI,GACJC,KAAM,MAER,CACED,GAAI,GACJC,KAAM,MAER,CACED,GAAI,GACJC,KAAM,MAER,CACED,GAAI,GACJC,KAAM,MAER,CACED,GAAI,GACJC,KAAM,MAER,CACED,GAAI,GACJC,KAAM,MAER,CACED,GAAI,GACJC,KAAM,MAER,CACED,GAAI,GACJC,KAAM,MAER,CACED,GAAI,GACJC,KAAM,MAER,CACED,GAAI,GACJC,KAAM,MAER,CACED,GAAI,GACJC,KAAM,MAER,CACED,GAAI,GACJC,KAAM,MAER,CACED,GAAI,GACJC,KAAM,MAER,CACED,GAAI,GACJC,KAAM,MAER,CACED,GAAI,GACJC,KAAM,MAER,CACED,GAAI,GACJC,KAAM,MAER,CACED,GAAI,GACJC,KAAM,MAER,CACED,GAAI,GACJC,KAAM,MAER,CACED,GAAI,GACJC,KAAM,MAER,CACED,GAAI,GACJC,KAAM,MAER,CACED,GAAI,GACJC,KAAM,MAER,CACED,GAAI,GACJC,KAAM,OAGGC,GAAwB,WACnC,OACE,oCACE,4BAAQ3E,MAAM,KAAd,UACCuE,GAASK,KAAI,SAACC,EAAMC,GAAP,OACZ,4BAAQ9E,MAAK,UAAK6E,EAAK7E,QAAU6E,EAAKR,YAKjCU,GAAe,WAC1B,OACE,uBACEC,MAAM,6CACNC,MAAO,CAAEC,SAAU,MAAOC,SAAU,eAKnC,SAASC,GAAwBC,GACtC,IAAIC,EAAY,IAAI9C,KAAK6C,GACrBE,EAAc,IAAI/C,KAClBgD,EAAU,IAAIhD,KAChB8C,EAAUG,UAAmB,IAAQC,OAAOC,WAArB,IAErBC,EAAgB,IAAIpD,KACtBgD,EAAQC,WAA+C,IAAnCF,EAAYM,qBAE9BC,EAAI1D,IAAO,IAAII,MACfuD,EAAWD,EAAEE,KAAKJ,EAAe,QACjCK,EAAaH,EAAEE,KAAKJ,EAAe,UACnCM,EAAWJ,EAAEE,KAAKJ,EAAe,QACjCO,EAAYL,EAAEE,KAAKJ,EAAe,SAClCQ,EAAcN,EAAEE,KAAKJ,EAAe,WAWxC,OATIG,EAAW,EAAUA,EAAQ,eAAWA,EAAW,EAAI,IAAM,GAAhC,QACxBE,EAAa,EACbA,EAAU,gBAAYA,EAAa,EAAI,IAAM,GAAnC,QACVC,EAAW,EAAUA,EAAQ,cAAUA,EAAW,EAAI,IAAM,GAA/B,QAC7BC,EAAY,EACZA,EAAS,eAAWA,EAAY,EAAI,IAAM,GAAjC,QACTC,EAAc,EACdA,EAAW,iBAAaA,EAAc,EAAI,IAAM,GAArC,QACR,MAUP,SAASC,KACd,IAAIC,EAAQC,IAAE,YACTD,EAAME,SAAS,mBAClBF,EAAMG,SAAS,kBAIZ,SAASC,GAAY1G,GAC1B,YAAc2G,IAAV3G,GAAiC,KAAVA,GAA0B,OAAVA,EAAuB,GAEhE,oCACGA,EACD,8BAKC,SAAS4G,GAAaC,EAAM7G,GACjCuG,IAAE,UAAD,OAAWM,EAAX,OAAqBC,OAAM,WAC1BC,YAAW,WACL/G,GAAmB,KAAVA,QAA0B2G,IAAV3G,GAAiC,OAAVA,IAClD0F,OAAOsB,kBAAoBhH,EAC3BuG,IAAE,UAAD,OAAWM,EAAX,OACEI,IAAIjH,GACJkH,QAAQ,aAEZ,QAIA,SAASC,GAAGxH,GAAoB,IAAfyH,IAAc,yDACpC,OAAKzH,GAAe,OAARA,QAAwBgH,IAARhH,EACrBA,EAAI0H,YAAcD,EAAQ,MAAQ,IADa,GASjD,SAASE,GAAoB3H,GAClC,OAAKA,GAAe,OAARA,GAAwB,KAARA,QAAsBgH,IAARhH,EAEnC,oCAAGA,GADD,2BAAOkB,UAAU,eAAjB,SAIJ,SAAS0G,GAAeV,EAAM7G,GAC9BA,IACHS,YAAa,QAASoG,EAAO,gBAC7BnB,OAAO8B,SAAU,GAId,SAASC,GAAIC,GAClB,IACE,OAAOA,EACP,MAAOhH,GACPuD,QAAQC,IAAIxD,EAAIiH,UAIb,SAASC,GAAMzI,GACpB,IAAIC,EAAMC,SAASwI,eAAeC,mBAAmB,OAAO7H,KAE5D,OADAb,EAAIG,UAAYJ,EACTC,EAAII,aAAeJ,EAAIK,WAAa,GAG7C,SAASuE,GAAU+D,GACjB,IAAIC,EAAOD,EACPE,EAAShG,OAAOC,KAAK8F,EAAK,IAC1BE,EAAW,SAASC,EAAKnI,GAC3B,OAAiB,OAAVA,EAAiB,GAAKA,GAE3BoI,EAAMJ,EAAKpD,KAAI,SAASyD,GAC1B,OAAOJ,EACJrD,KAAI,SAAS0D,GACZ,OAAO1G,KAAKE,UAAUuG,EAAIC,GAAYJ,MAEvCK,KAAK,QAIV,OAFAH,EAAII,QAAQP,EAAOM,KAAK,MACxBH,EAAMA,EAAIG,KAAK,QAGjB,SAASE,GAAiBzI,EAAO0I,GAC/B,GAAU,iBAANA,GACF,GAAc,OAAV1I,EACF,OAAIA,EAAQ,IAAO,IACV,SACEA,EAAQ,KAAQ,GAClB,UAEA,eAGN,GAAU,QAAN0I,GACT,GAAc,OAAV1I,EACF,OAAIA,EAAQ,IACH,SACEA,GAAS,IACX,UAEA,eAGN,GAAU,gBAAN0I,GACK,OAAV1I,EACF,OAAIA,EAAQ,IACH,SACEA,GAAS,IACX,UAEA,UAKR,SAAS2I,GAAQC,GACtB,OAAOA,GAAQ,GAGV,SAASC,GAAeC,GAClB,OAAPA,IACFA,EAAK,GAEP,IAAIC,IAAOD,GAAIE,QAAQ,GAAGC,MAAM,KAChC,MAAO,CAACC,GAAqB,EAARH,EAAG,IAAS,IAAKA,EAAG,IAAIR,KAAK,IAO7C,SAASY,GAAiBT,EAAG9E,GAClC,OAAU,OAAN8E,GAAoB,KAANA,EAEd,oCACE,yBAAK7H,UAAU,MAAMoE,MAAO,CAAEmE,aAAc,WACX,YAA9BX,GAAiBC,EAAG9E,GACnB,0BACE/C,UAAS,kDAA6C4H,GACpDC,EACA9E,KAGF,kBAAC,IAAD,CAAKyF,IAAKC,YAAc,0CAG1B,GAEF,uBACEC,KAAM,kBAAM,GACZvE,MAAK,oCAA+ByD,GAClCC,EACA9E,GAFG,qBAGS6E,GAAiBC,EAAG9E,KAEjCvB,OAAOqG,GACLrB,WACAmC,QAAQ,2BAA4B,UAMxC,GAGX,SAASN,GAAaJ,GAKpB,IAJA,IAAInJ,EAAMmJ,EAAK,GACXC,EAAK,GACLU,EAAI9J,EAAI+J,OAAS,EAEdD,GAAK,GACVV,EAAGY,MAAMhK,EAAI8J,EAAI,IAAM,KAAO9J,EAAI8J,EAAI,IAAM,KAAO9J,EAAI8J,IAAM,KAC7DA,GAAQ,EAEV,OAAOV,EAAGa,UAAUrB,KAAK,KAIpB,SAASsB,GAAYxE,EAAUyE,GACpC,IAAKzE,IAAa7C,KAAKX,MAAMwD,GAAW,MAAO,GAC/C,IAAI0E,EAAU,IAAIvH,KAAJ,UAAY6C,EAAZ,YAAwBK,OAAOC,YAAaqE,cAC1D,OAAO5H,IAAO2H,GAASE,UAAUH,GAInC,SAASI,GAAc7E,EAAUyE,GAC/B,IAAKzE,IAAa7C,KAAKX,MAAMwD,GAAW,MAAO,GAC/C,IAAI0E,EAAU,IAAIvH,KAAJ,UAAY6C,EAAZ,YAAwBK,OAAOC,YAAaqE,cAC1D,OAAO5H,IAAO2H,GAASE,UAAUH,GAI5B,SAASK,GAAoBC,GAAmC,IAAhCC,EAA+B,uDAAtB,qBAC9C,IAAKD,IAAM5H,KAAKX,MAAMuI,GAAI,MAAO,GACjC,IAAIE,EAAIlI,IAAO,IAAII,KAAK4H,GAAI,YACxBtE,EAAI1D,IAAO,IAAII,KAAQ,YAC3B,OAAOqH,GAAYO,GAAIG,MAAeF,OACd,IAAtBvE,EAAEE,KAAKsE,EAAG,QAAgBD,EAAS,cAKhC,SAASG,GAAWJ,GAAmC,IAAhCC,EAA+B,uDAAtB,qBACrC,OAAKD,GAAM5H,KAAKX,MAAMuI,GACfP,GAAYO,GAAIG,MAAeF,OAAOA,GADZ,GAI5B,SAASI,GAAWL,GAAuB,IAApBC,EAAmB,uDAAV,SACrC,OAAKD,GAAM5H,KAAKX,MAAMuI,GACfP,GAAYO,GAAIG,MAAeF,OAAOA,GADZ,GAK5B,SAASK,GAAeN,GAC7B,OAAKA,GAAM5H,KAAKX,MAAMuI,GACfP,GAAYO,GAAIG,MAAeF,OAAO,cADZ,GAM5B,SAASM,GAAetF,GAC7B,IAAKA,IAAa7C,KAAKX,MAAMwD,GAAW,MAAO,GAC3CA,EAAW6E,GAAc7E,GAAWkF,MACxC,OAAOnI,IAAOiD,GAAUgF,OAAO,sBAG1B,SAASO,GAAmBvF,GAEjC,KADAA,EAAW,YAAcA,KACP7C,KAAKX,MAAMwD,GAAW,MAAO,GAC3CA,EAAW6E,GAAc7E,GAAWkF,MACxC,OAAOnI,IAAOiD,GAAUgF,OAAO,YAGjC,SAASE,KACP,IAAK,IAAD,MACEM,EAAG,UAAG7L,EAAG8L,OAAOC,kBAAb,iBAAG,EAAsBC,YAAzB,aAAG,EAA4BC,SACtC,QAAYtE,IAARkE,EAAmB,OAAO,EAC9B,IAAIK,EAAM,OAAGL,QAAH,IAAGA,GAAH,UAAGA,EAAK5B,MAAM,UAAU,UAAxB,aAAG,EAAyBO,QAAQ,IAAK,IACnD,OAAO2B,SAAQ,OAACD,QAAD,IAACA,IAAU,KAC1B,MAAOE,GACP,OAAO,GAIJ,SAASC,GAAwBC,GAEtC,GAAW,OAAPA,GAAsB,KAAPA,QAAoB3E,IAAP2E,EAC9B,OAAO,EAGT,IAAIC,EAAW9M,EAAUmG,KAAI,SAACwF,GAAD,OAAOA,EAAEoB,cAEhCC,EAAa,IAAIjJ,KAAKK,GAAQyI,IAC9BI,EAAa,IAAIlJ,KAEnBmJ,EADiBC,KAAKC,IAAIH,EAAaD,GAChB,KACvBK,EAAYC,GAAU3J,IAAOkJ,GAAIjB,OAAO,eACxC2B,EAAUD,GAAU3J,MAASiI,OAAO,eAExC,GAAI2B,EAAUF,EACZ,OAAO,EAET,GAAIE,IAAYF,EACd,OAAOH,EAMTG,EAAUG,SAAS,EAAG,EAAG,EAAG,GAC5BD,EAAQC,SAAS,GAAI,GAAI,GAAI,KAC7B,IAAIjG,EAAOgG,EAAUF,EACjBI,EAAON,KAAKO,KAAKnG,EAJI,OAOrBoG,EAAQR,KAAKS,MAAMH,EAAO,GAC9BP,GAAiB,EAARS,EAAY,GAGrB,IAAIE,EAAWR,EAAUS,SACrBC,EAASR,EAAQO,SAuBrB,OApBID,EAAWE,EAAS,IACtBb,GAAS,IAGK,GAAZW,GAA2B,GAAVE,IACnBb,GAAS,IAGG,GAAVa,GAA2B,GAAZF,IACjBX,GAAS,IAGXJ,EAASxJ,SAAQ,SAAC0K,GACZA,GAAOnB,GAAMmB,GAAOrK,MAASiI,OAAO,eAElC0B,GAAUU,GAAKF,SAAW,GAAK,IACjCZ,GAAS,OAIRA,EAGT,SAASI,GAAUW,GAEjB,IAAIC,EAAQD,EAAME,MAAM,UAExB,OAAO,IAAIpK,KAAKmK,EAAM,GAAIA,EAAM,GAAK,EAAGA,EAAM,IAEhD,IAAI9J,GAAU,SAASgK,GACrB,GAAU,OAANA,GAAoB,KAANA,QAAkBlG,IAANkG,EAAiB,MAAO,GACtD,IAAIxC,EAAS,sBAQb,OANEjI,IAAOyK,GACJC,QAAQ,OACRC,YAAc3K,IAAOyK,GAAGE,YAE3B1C,EAAS,cAEJG,GAAWpI,IAAOyK,GAAGxC,OAAOA,KAI/B2C,GAAU,CACd,CACEC,UAAW,OACXnN,KAAM,GACNsB,QAAS,cACT8L,UAAW,SAACC,EAAM9E,GAChB,GAA0B,IAAtBA,EAAI+E,OAAO1D,OACb,OACE,oCACE,kBAAC,IAAD,CACE2D,QACE,kBAAC,IAAD,CAASpM,GAAG,4BAAZ,qBAKF,uBACEJ,UAAU,kDACVyM,QAAS,cAET,0BAAMzM,UAAU,yCACd,kBAAC,IAAD,CACEwI,IAAKC,YAAc,iDAUrC,CACE2D,UAAW,OACXnN,KAAM,OACNyN,MAAM,EACNC,UAAWA,IACXC,0BAEF,CACER,UAAW,UACXnN,KAAM,OACNyN,MAAM,EACNC,UAAWA,IACXC,yBACAP,UAAW,SAACC,EAAM9E,GAChB,OACE,oCACE,yBAAKxH,UAAU,sBACb,0BAAMA,UAAU,sCACb2J,GAAWnC,EAAIqF,cAO5B,CACET,UAAW,SACXnN,KAAM,QACNyN,MAAM,EACNC,UAAWA,IACXC,2BAGG,SAASE,GAAT,GAA+C,IAAD,QAAlBC,iBAAkB,MAAN,GAAM,EACnD,EAAoCC,mBASpC,WAAuC,IAAjBC,EAAgB,uDAAJ,GAChC,IACE,IAAIlF,EAAOhH,KAAKC,MAAMD,KAAKE,UAAUgM,IAIrC,OAHA,OAAClF,QAAD,IAACA,IAAQ,IAAI7G,SAAQ,SAACqI,EAAG2D,GACvB3D,EAAE3F,GAAKsJ,KAEFnF,EACP,MAAOwC,GAEP,OADAnH,QAAQC,IAAIkH,GACL,IAjBT4C,CACEJ,EAAUhJ,KAAI,SAACwF,EAAG2D,GAEhB,OADA3D,EAAE3F,GAAKsJ,EACA3D,OAJb,mBAAO6D,EAAP,KAAmBC,EAAnB,KAsBA,MAAkCL,mBAAS,IAA3C,mBAAOM,EAAP,KAAkBC,EAAlB,KACA,EAA0CP,oBAAS,GAAnD,mBAAOQ,EAAP,KAAsBC,EAAtB,KACA,EAA8BT,mBAAS,MAAvC,mBAAOU,EAAP,KAAgBC,EAAhB,KACA,EAAsDX,oBAAS,GAA/D,mBAAOY,EAAP,KAA4BC,EAA5B,KACA,EAA0Cb,oBAAS,GAAnD,mBAAOc,EAAP,KAAsBC,EAAtB,KAOA,SAASC,EAAaC,GACpB,IACE,IAAIC,EAAQ,OAAGD,QAAH,IAAGA,OAAH,EAAGA,EAAM7F,MAAM,SAAS+F,MAClCC,EAAG,OAAGF,QAAH,IAAGA,OAAH,EAAGA,EAAUG,YAAY,KAC9B,MAAiB,KAAbH,GAAmBE,EAAM,EAAU,GACvC,OAAOF,QAAP,IAAOA,OAAP,EAAOA,EAAUzM,MAAM2M,EAAM,GAC7B,MAAOvO,GACPuD,QAAQC,IAAIxD,IAGhB,IAbsByO,EAahBC,GAAY,CAChBC,SAAU,SAAChH,GACT,GAA0B,IAAtBA,EAAI+E,OAAO1D,OACb,OACE,kBAAC,IAAD,KACE,kBAAC,IAAD,KACE,kBAAC,IAAD,KACE,kBAAC,IAAD,cACA,kBAAC,IAAD,kBACA,kBAAC,IAAD,oBAGJ,kBAAC,IAAD,KACGrB,EAAI+E,OAAOxI,KAAI,SAAC8D,GACf,MAAgB,UAAZA,EAAE4G,MAEF,kBAAC,IAAD,KACE,kBAAC,IAAD,CAAWC,UAAU,KAAKC,MAAM,OAC9B,gCAAS9G,EAAE4G,QAEb,kBAAC,IAAD,KACE,gCACe,UAAX,OAAD5G,QAAC,IAADA,OAAA,EAAAA,EAAGjH,OAAmC,WAAf,OAADiH,QAAC,IAADA,OAAA,EAAAA,EAAG+G,UACxB,4BACE5O,UAAU,wBACVyM,QAAS,WACP,IACEgB,GAAiB,GACjB,IAAMoB,EAAW9N,KAAKC,MAAL,OAAW6G,QAAX,IAAWA,OAAX,EAAWA,EAAG+G,UAC/BrB,EAAasB,GACb,MAAOhP,GACPuD,QAAQC,IAAIxD,MARlB,kBADD,OAgBCgI,QAhBD,IAgBCA,OAhBD,EAgBCA,EAAG+G,WAIT,kBAAC,IAAD,KACE,gCACe,UAAX,OAAD/G,QAAC,IAADA,OAAA,EAAAA,EAAGjH,MACF,4BACEZ,UAAU,wBACVyM,QAAS,WACP,IACEgB,GAAiB,GACjB,IAAMoB,EAAW9N,KAAKC,MAAL,OAAW6G,QAAX,IAAWA,OAAX,EAAWA,EAAGiH,UAC/BvB,EAAasB,GACb,MAAOhP,GACPuD,QAAQC,IAAIxD,MARlB,kBAcc,gBAAX,OAADgI,QAAC,IAADA,OAAA,EAAAA,EAAGjH,MACL,4BACEZ,UAAU,wBACVyM,QAAS,WACPoB,GAAuB,GACvBF,EAAW9F,KAJf,mBASc,UAAX,OAADA,QAAC,IAADA,OAAA,EAAAA,EAAGjH,MACL,4BACEZ,UAAU,wBACVyM,QAAS,WACPsB,GAAiB,GACjBJ,EAAW9F,KAJf,aADE,OAWFA,QAXE,IAWFA,OAXE,EAWFA,EAAGiH,YAMW,YAAfjH,EAAEiH,SAET,kBAAC,IAAD,KACE,kBAAC,IAAD,CAAWJ,UAAU,KAAKC,MAAM,OAC7B9G,EAAE4G,OAEL,kBAAC,IAAD,KAAY5G,EAAE+G,UACd,kBAAC,IAAD,CAAWxK,MAAO,CAAE2K,MAAO,QACxBlH,EAAEiH,WAIe,UAAfjH,EAAE+G,SAET,kBAAC,IAAD,KACE,kBAAC,IAAD,CAAWF,UAAU,KAAKC,MAAM,OAC7B9G,EAAE4G,OAEL,kBAAC,IAAD,CAAWrK,MAAO,CAAE2K,MAAO,SACZ,UAAX,OAADlH,QAAC,IAADA,OAAA,EAAAA,EAAGjH,OAAmC,WAAf,OAADiH,QAAC,IAADA,OAAA,EAAAA,EAAG+G,UACxB,4BACE5O,UAAU,wBACVyM,QAAS,WACP,IACEgB,GAAiB,GACjB,IAAMoB,EAAW9N,KAAKC,MAAL,OAAW6G,QAAX,IAAWA,OAAX,EAAWA,EAAG+G,UAC/BrB,EAAasB,GACb,MAAOhP,GACPuD,QAAQC,IAAIxD,MARlB,kBADD,OAgBCgI,QAhBD,IAgBCA,OAhBD,EAgBCA,EAAG+G,UAGP,kBAAC,IAAD,KACe,UAAX,OAAD/G,QAAC,IAADA,OAAA,EAAAA,EAAGjH,MACF,4BACEZ,UAAU,wBACVyM,QAAS,WACP,IACEgB,GAAiB,GACjB,IAAMoB,EAAW9N,KAAKC,MAAL,OAAW6G,QAAX,IAAWA,OAAX,EAAWA,EAAGiH,UAC/BvB,EAAasB,GACb,MAAOhP,GACPuD,QAAQC,IAAIxD,MARlB,kBAcc,gBAAX,OAADgI,QAAC,IAADA,OAAA,EAAAA,EAAGjH,MACL,4BACEZ,UAAU,wBACVyM,QAAS,WACPoB,GAAuB,GACvBF,EAAW9F,KAJf,mBASc,UAAX,OAADA,QAAC,IAADA,OAAA,EAAAA,EAAGjH,MACL,4BACEZ,UAAU,wBACVyM,QAAS,WACPsB,GAAiB,GACjBJ,EAAW9F,KAJf,aADE,OAWFA,QAXE,IAWFA,OAXE,EAWFA,EAAGiH,WAOT,kBAAC,IAAD,KACE,kBAAC,IAAD,CAAWJ,UAAU,KAAKC,MAAM,OAC7B9G,EAAE4G,OAEL,kBAAC,IAAD,KACe,UAAX,OAAD5G,QAAC,IAADA,OAAA,EAAAA,EAAGjH,OAAmC,WAAf,OAADiH,QAAC,IAADA,OAAA,EAAAA,EAAG+G,UACxB,4BACE5O,UAAU,wBACVyM,QAAS,WACP,IACEgB,GAAiB,GACjB,IAAMoB,EAAW9N,KAAKC,MAAL,OAAW6G,QAAX,IAAWA,OAAX,EAAWA,EAAG+G,UAC/BrB,EAAasB,GACb,MAAOhP,GACPuD,QAAQC,IAAIxD,MARlB,kBADD,OAgBCgI,QAhBD,IAgBCA,OAhBD,EAgBCA,EAAG+G,UAGP,kBAAC,IAAD,KACe,UAAX,OAAD/G,QAAC,IAADA,OAAA,EAAAA,EAAGjH,MACF,4BACEZ,UAAU,wBACVyM,QAAS,WACP,IACEgB,GAAiB,GACjB,IAAMoB,EAAW9N,KAAKC,MAAL,OAAW6G,QAAX,IAAWA,OAAX,EAAWA,EAAGiH,UAC/BvB,EAAasB,GACb,MAAOhP,GACPuD,QAAQC,IAAIxD,MARlB,kBAcc,gBAAX,OAADgI,QAAC,IAADA,OAAA,EAAAA,EAAGjH,MACL,4BACEZ,UAAU,wBACVyM,QAAS,WACPoB,GAAuB,GACvBF,EAAW9F,KAJf,mBASc,UAAX,OAADA,QAAC,IAADA,OAAA,EAAAA,EAAGjH,MACL,4BACEZ,UAAU,wBACVyM,QAAS,WACPsB,GAAiB,GACjBJ,EAAW9F,KAJf,aADE,OAWFA,QAXE,IAWFA,OAXE,EAWFA,EAAGiH,kBAc3B,SAASE,GAAgBf,GACvB,IAAK,IAAD,EACIgB,EAAO,UAAGjB,EAAaC,UAAhB,aAAG,EAAoBiB,cAChCC,GAAS,EACb,OAAQF,GACN,IAAK,MAIL,IAAK,MAIL,IAAK,OAIL,IAAK,OACHE,GAAS,EACT,MAEF,QACEA,GAAS,EAGb,OAAOA,EACP,MAAOtP,GACPuD,QAAQC,IAAIxD,IAGhB,OACE,oCACE,yBAAKG,UAAS,yBACZ,yBAAKA,UAAU,mCACb,yBAAKA,UAAU,aACb,yBAAKA,UAAU,kBACb,yBAAKA,UAAU,YACb,2BACE+C,KAAK,OACL3C,GAAG,wBACHJ,UAAU,eACVgG,KAAK,aACLoJ,YAAY,SACZC,SAAU,SAACC,GACTjC,EACEN,EAAUwC,QACR,SAAChG,GAAD,OACE/H,OAAO+H,EAAEiG,QACNC,oBACAC,OACAC,SACCnO,OAAO8N,EAAEM,OAAOzQ,OACbsQ,oBACAC,SAEPlO,OAAO+H,EAAEsG,MACNJ,oBACAC,OACAC,SACCnO,OAAO8N,EAAEM,OAAOzQ,OACbsQ,oBACAC,eAMjB,2BAAO1P,UAAU,wBACf,qCADF,mBAIF,yBAAKA,UAAU,YACb,yBAAKA,UAAU,OACb,kBAAC,IAAD,CACEwM,QACE,kBAAC,IAAD,CAASpM,GAAG,4BAAZ,mBAKF,kBAAC,IAAD,CACEqM,QAAS,WACPjO,SAASsR,eAAe,yBAAyB3Q,MAC/C,GACFkO,EAAcN,IAEhBgD,GAAG,IACH/P,UAAU,mEAEV,uBAAGmE,MAAM,8BAGb,kBAAC,IAAD,CACEqI,QACE,kBAAC,IAAD,CAASpM,GAAG,4BAAZ,YAGF,kBAAC,IAAD,CACEqM,QAAS,WACPjO,SAASsR,eAAe,yBAAyB3Q,MAC/C,GACFkO,EACEN,EAAUwC,QACR,SAAChG,GAAD,OACE/H,OAAO+H,EAAEiG,QACNC,oBACAC,OACAC,SACCnO,OAAO,UACJiO,oBACAC,UAENlO,OAAO+H,EAAEiG,QACPC,oBACAC,OACAC,SACCnO,OAAO,UACJiO,oBACAC,UAENlO,OAAO+H,EAAEiG,QACPC,oBACAC,OACAC,SACCnO,OAAO,eACJiO,oBACAC,UAENlO,OAAO+H,EAAEiG,QACPC,oBACAC,OACAC,SACCnO,OAAO,YACJiO,oBACAC,aAKfK,GAAG,IACH/P,UAAU,kEAEV,uBAAGmE,MAAM,2BAGb,kBAAC,IAAD,CACEqI,QACE,kBAAC,IAAD,CAASpM,GAAG,4BAAZ,aAGF,kBAAC,IAAD,CACEqM,QAAS,WACPjO,SAASsR,eAAe,yBAAyB3Q,MAC/C,GAEFkO,EACEN,EAAUwC,QAAO,SAAChG,GAAD,OACf/H,OAAO+H,EAAEiG,QACNC,oBACAC,OACAC,SACCnO,OAAO,UACJiO,oBACAC,aAKbK,GAAG,IACH/P,UAAU,kEAEV,uBAAGmE,MAAM,kCAGb,kBAAC,IAAD,CACEqI,QACE,kBAAC,IAAD,CAASpM,GAAG,4BAAZ,mBAKF,kBAAC,IAAD,CACEqM,QAAS,WACP,IAAIuD,EAAE,YAAOjD,GACTkD,EAAG,YAAOlD,GACVmD,EAAgBF,EACjBT,QACC,SAACY,GAAD,OACEA,EAAQ5D,OAAO6D,MACb,SAACC,GAAD,MAAqC,cAArBA,EAAW5B,UACL,yBAAnB0B,EAAQX,UAEhBzL,KAAI,SAACoM,GACJ,OAAO/O,OAAOkP,OAAO,GAAIH,MAGzBI,EAAiBN,EAAIV,QAAO,SAAChG,GAAD,OAC9B/H,OAAO+H,EAAEiG,QACNC,oBACAC,OACAC,SACCnO,OAAO,UACJiO,oBACAC,WAGTlR,SAASsR,eAAe,yBAAyB3Q,MAC/C,GACF,IAAIqR,EAAWN,EAAcO,OAAOF,GACpClD,EAAcmD,IAEhBT,GAAG,IACH/P,UAAU,gDAEV,uBAAGmE,MAAM,2BAGb,kBAAC,IAAD,CACEqI,QACE,kBAAC,IAAD,CAASpM,GAAG,4BAAZ,mBAKF,kBAAC,IAAD,CACEqM,QAAS,WACPjO,SAASsR,eAAe,yBAAyB3Q,MAC/C,GAEFkO,EACEN,EAAUwC,QACR,SAAChG,GAAD,OACE/H,OAAO+H,EAAEiG,QACNC,oBACAC,OACAC,SACCnO,OAAO,eACJiO,oBACAC,SAEPlO,OAAO+H,EAAEiG,QACNC,oBACAC,OACAC,SACCnO,OAAO,YACJiO,oBACAC,aAKfK,GAAG,IACH/P,UAAU,2CAEV,uBAAGmE,MAAM,qCAOrB,yBAAKnE,UAAU,YAAYoE,MAAO,CAAEsM,UAAW,SAC5CtD,EAAWvE,OAAS,EACnB,kBAAC,IAAD,CACE8H,SAAS,UACTC,cAAe,CAAC,CAAExE,UAAW,UAAWyE,MAAO,SAC/CtO,KAAI,OAAE6K,QAAF,IAAEA,OAAF,EAAEA,EAAYmC,QAChB,SAAChG,GAAD,QAEIA,EAAEiG,OAAOC,oBAAoBE,SAC3B,eAAeF,sBACQ,IAApBlG,EAAEgD,OAAO1D,WAGpBsD,QAASA,GACT2E,WAAYC,MACZxC,UAAWA,GACXyC,eAAe,mBACfzQ,QAAQ,gDACR0Q,YAAU,EACVC,UAAU,IAGZ,yDAKR,kBAAC,IAAD,CACEC,KAAK,KACLC,KAAM5D,EACN6D,OAAQ,WACN5D,GAAiB,GACjBF,EAAa,KAEf+D,kBAAgB,gCAEhB,kBAAC,IAAMC,OAAP,KACE,yBAAKvR,UAAU,aACb,yBAAKA,UAAU,YACb,wBAAIA,UAAU,gCAAd,qBAGJ,kBAAC,IAAD,CACEwR,aAAW,QACX/E,QAAS,WACPgB,GAAiB,GACjBF,EAAa,MAGf,kBAAC,IAAD,QAGJ,kBAAC,IAAMkE,KAAP,KACE,kBAAC,IAAD,KACE,kBAAC,IAAD,KACE,2CAGJ,kBAAC,IAAD,KACE,kBAAC,IAAD,KACE,kBAAC,cAAD,CAAatK,KAAMmG,OAIzB,kBAAC,IAAMoE,OAAP,KACE,4BACE1R,UAAU,gBACVyM,QAAS,WACPc,EAAa,IACbE,GAAiB,KAJrB,WAaJ,kBAAC,IAAD,CACE0D,KAAK,KACLC,KAAMxD,EACNyD,OAAQ,WACNxD,GAAuB,IAEzByD,kBAAgB,gCAEhB,kBAAC,IAAMC,OAAP,KACE,kBAAC,IAAMI,MAAP,0BACA,kBAAC,IAAD,CACEH,aAAW,QACX/E,QAAS,WACPoB,GAAuB,KAGzB,kBAAC,IAAD,QAGJ,kBAAC,IAAM4D,KAAP,KACE,kBAAC,IAAMG,WAAP,KACE,yBAAK5R,UAAU,uBACb,yBAAKA,UAAU,aACf,yBAAKA,UAAU,WAAWoE,MAAO,CAAEyN,cAAe,UAChD,4BACE9O,KAAK,SACL/C,UAAU,8BACVyM,QAAS,WAAO,IAAD,EACPqF,EAAQ,OAAGpE,QAAH,IAAGA,GAAH,UAAGA,EAASoB,gBAAZ,aAAG,EAAmBnG,QAClC,YACA,IAEF1F,EAAS,OAACyK,QAAD,IAACA,OAAD,EAACA,EAASoB,SAAUgD,KARjC,YAYU,MAGsC,SAAnD,UAAA9D,EAAY,OAACN,QAAD,IAACA,OAAD,EAACA,EAASoB,iBAAtB,eAAiCI,eAChC,yBAAKlP,UAAU,iBAAiBsH,IAAKyD,KAAKgH,UACxC,yBAAK/R,UAAU,sBAAsBsH,IAAKyD,KAAKgH,UAC7C,kBAAC,IAAD,CACEvT,SAAU,CACRwT,IAAG,OAAEtE,QAAF,IAAEA,OAAF,EAAEA,EAASoB,cAMtB,kBAAC,aAAD,KACE,yBAAK9O,UAAU,iBAAiBsH,IAAKyD,KAAKgH,UACxC,yBACE/R,UAAS,oBACPgP,GAAe,OAACtB,QAAD,IAACA,OAAD,EAACA,EAASoB,UAAY,eAAiB,IAExDxH,IAAKyD,KAAKgH,UAET/C,GAAe,OAACtB,QAAD,IAACA,OAAD,EAACA,EAASoB,UACxB,yBACEtG,IAAG,OAAEkF,QAAF,IAAEA,OAAF,EAAEA,EAASoB,SACdmD,IAAI,OACJjS,UAAU,WAGZ,kBAAC,aAAD,CACEkS,SAAQ,UAAElE,EAAY,OACpBN,QADoB,IACpBA,OADoB,EACpBA,EAASoB,iBADH,aAAE,EAEPI,cACHiD,SAAQ,OAAEzE,QAAF,IAAEA,OAAF,EAAEA,EAASoB,SACnBsD,QA5pBN,SAAC9C,GACflM,QAAQC,IAAIiM,EAAG,yBA4pBKtP,UAAU,eAS1B,kBAAC,IAAM0R,OAAP,KACE,4BACE3O,KAAK,SACL0J,QAAS,WACPoB,GAAuB,IAEzB7N,UAAU,kCALZ,WAaJ,kBAAC,IAAD,CACEmR,KAAK,KACLC,KAAMtD,EACNuD,OAAQ,WACNtD,GAAiB,IAEnBuD,kBAAgB,gCAEhB,kBAAC,IAAMC,OAAP,KACE,kBAAC,IAAMI,MAAP,oBACA,kBAAC,IAAD,CACEH,aAAW,QACX/E,QAAS,WACPsB,GAAiB,KAGnB,kBAAC,IAAD,QAGJ,kBAAC,IAAM0D,KAAP,KACE,oCACE,yBAAKzR,UAAU,uBACb,kBAAC,IAAD,KACE,yBACEA,UAAU,aACVqS,yBA1sBM/D,EA0sB+B,OAACZ,QAAD,IAACA,OAAD,EAACA,EAASoB,SAzsBtD,CAAEwD,OAAQhE,UA+sBb,kBAAC,IAAMoD,OAAP,KACE,4BACE3O,KAAK,SACL0J,QAAS,WACPsB,GAAiB,IAEnB/N,UAAU,kCALZ,YAuCV,SAASuS,GAASC,GAEhB,OADeA,GAAU,GAAKA,EAAS,IAAMA,EAAOhM,WAgB/C,SAASiM,GAAT,GAeJ,EAdDC,MAcE,IAbFlP,EAaC,EAbDA,MACAmP,EAYC,EAZDA,KAKAC,GAOC,EAXDC,kBAWC,EAVDC,oBAUC,EATD/P,KASC,EARDgQ,OAQC,EAPDH,UACAI,EAMC,EANDA,WAEAC,GAIC,EALDC,cAKC,EAJDD,cAIC,IAHDE,gBAGC,aAFDC,YAEC,SADErT,EACF,iBACsBsP,GAAatP,EAA5BiG,KAA4BjG,EAAtBsT,QAAsBtT,EAAbsP,UAEvB,EAAkCrC,mBAAS,IAA3C,mBAAOsG,EAAP,KAAkBC,EAAlB,KACA,EAAkCvG,mBAAS,IAA3C,mBAAOwG,EAAP,KAAkBC,EAAlB,KACA,EAAkCzG,mBAAS,IAA3C,mBAAO0G,EAAP,KAAkBC,EAAlB,KACA,EAA4B3G,mBAAS,IAArC,mBAAO4G,EAAP,KAAeC,EAAf,KAEAC,qBAAU,WACR,GAAkB,KAAdR,GAAkC,OAAdA,QAAoCxN,IAAdwN,EAC5CK,EAAa,IACbF,EAAa,IACbF,EAAa,SACR,GAAI/R,OAAO,IAAIG,KAAK2R,GAAWrR,eAAe4G,OAAS,GAC1C,KAAdyK,EACF,GAAIE,EAAU3K,OAAS,EAAG,CAnClB,oDAAoD9J,KAoCpCyU,GAEpBG,EAAaL,EAAY,IAAME,EAAY,QAE3CC,EAAa,SACbE,EAAaL,EAAY,mBAG3BK,EAAaL,EAAY,eAG9B,CAACA,EAAWE,IAEfM,qBAAU,WACRzE,EAASqE,KACR,CAACA,IAEJI,qBAAU,WACR,GAAIb,EAAc,CAChB,IAAIxJ,EAAI,IAAI9H,KAAKgI,GAAWsJ,IAExBrR,EAAI,UAAM6H,EAAExH,cAAR,YAAyBsQ,GAAS9I,EAAE1H,WAAa,GAAjD,YAAuDwQ,GAC7D9I,EAAEzH,YAGAwB,EAAQ+O,GAAS9I,EAAEvH,YAAc,IAAMqQ,GAAS9I,EAAEtH,cAGtDoR,EAAa3R,GACb6R,EAAajQ,MAEd,CAACyP,IAEJ,IAAM/O,EAAe,WACnB,OACE,uBACEC,MAAM,6CACNC,MAAO,CAAEC,SAAU,MAAOC,SAAU,eAK1C,OACE,oCACE,yBAAKtE,UAAU,YACb,yBAAKA,UAAW,mBAAqBoT,GAAQ,eAC1C5P,GACC,2BAAOxD,UAAWgT,GACfxP,EADH,IACWoP,GAAY,kBAAC1O,EAAD,MACpByO,GACC,2BAAO3S,UAAU,+CACd,IACA2S,IAKT,kBAAC,IAAD,CACE5P,KAAM,OACN/C,UAAU,eACVb,MAAOmU,EACPH,SAAUA,EACVY,gBAAiB,CACfC,QAAQ,GAEV3E,SAAU,SAAC4E,GACTV,EAAaU,EAAMrE,OAAOzQ,WAIhC,yBAAKa,UAAW,cAAgBoT,GAAQ,YACrC5P,GAAS,2BAAOxD,UAAWgT,GAAlB,QACV,2BACEhT,UAAS,uBAAkB4T,GAC3BzU,MAAOqU,EACPpE,YAAY,QACZ+D,SAAUA,EACVe,QAAS,SAAC5E,GACR,GAAkB,IAAdA,EAAE6E,QAGJ,OAFAV,EAAa,SACbI,EAAU,KAIdxE,SAAU,SAACC,GAAO,IAAD,EACXnQ,EAAK,UAAGmQ,EAAEM,cAAL,aAAG,EAAUzQ,MACtB,GAAKA,GAAmB,KAAVA,EAAd,CACqB,IAAjBA,EAAM0J,SAAc1J,GAAS,KAC7BA,EAAM0J,OAAS,IAAG1J,EAAQA,EAAM,IACpCsU,EAAatU,GAEb0U,EADS,oCACI9U,KAAKI,GAAS,GAAK,wBASvC,SAAeiV,GAAtB,mC,8CAAO,WAA2BhU,GAA3B,iFACQiU,MAAM,GAAD,OAAIxP,OAAOyP,QAAX,wCAAkDlU,GAAM,CACxEmU,OAAQ,MACRC,iBAAiB,EACjBC,QAAS,CACPC,cAAc,UAAD,OAAYvW,EAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,sBAGjBC,KATU,uCASL,WAAOC,GAAP,gFACEC,EAAaD,EAASE,OADxB,SAEeF,EAAS1N,OAFxB,cAEE5E,EAFF,yBAGGyS,QAAQC,IAAI,CAACH,EAAYvS,KAH5B,2CATK,uDAcVqS,MAAK,SAACM,GACL,OAAOA,EAAI,MAEZC,OAAM,SAAC5K,GACNnH,QAAQmH,MAAMA,MAnBb,oF,sBAuBA,SAAe6K,GAAtB,mC,8CAAO,WAAuChV,GAAvC,gFACDiV,EAAY,IAAIC,SACVC,OAAO,gBAAjB,iBAA4CpX,EAAG8L,OAAOC,WAAWyK,QAE7Da,EAAiB,CACnBjB,OAAQ,MACRE,QAASY,EACTI,SAAU,UAPP,SAUQpB,MAAM,GAAD,OAAIxP,OAAOyP,QAAX,4BAAsClU,GAAMoV,GAC3DZ,KADU,uCACL,WAAOC,GAAP,4EACEC,EAAaD,EAASE,SACtBW,EAAcb,EAASJ,QAAQkB,IAAI,mBACuB,IAA7CD,EAAYE,QAAQ,oBAHnC,yCAIKf,EAAS1N,OAAOyN,MAAK,SAACrS,GAAD,MAAU,CAACuS,EAAYvS,OAJjD,gCAMKsS,EAAS5V,OAAO2V,MAAK,SAAC3V,GAAD,MAAU,CAAC6V,EAAY,CAAEe,QAAS,SAN5D,2CADK,uDAUVjB,KAVU,uCAUL,WAAOzF,GAAP,oEACc,MAAdA,EAAO,GADP,yCAEKA,EAAO,IAFZ,OAIoB,OAAtBA,EAAO,GAAG0G,cACY/P,IAAtBqJ,EAAO,GAAG0G,SACY,KAAtB1G,EAAO,GAAG0G,QAEVjW,YAAa,YAAauP,EAAO,GAAG0G,SAEpCjW,YAAa,YAAa,qBAVxB,2CAVK,uDAuBVuV,OAAM,SAAC5K,GACNnH,QAAQC,IAAI,QAASkH,MAlCpB,oF,0DCj4DP,yEAIO,SAASuL,EAAT,GAA4C,EAAhBC,aACjC,OACE,kBAAC,IAAD,KACE,kBAAC,IAAKtE,KAAN,KACE,kBAAC,IAAD,U,olNCWR,IAAMxT,EAAU,IAAIC,IAAa,MAC3BC,EAAKC,IAAIH,GAMR,SAAS+X,EAAT,GAAgD,EAAhBD,aAAiB,IAAD,wCAkC/CxV,EAjCY0V,aAAW,SAACC,GAAD,MAAY,CACvCC,KAAM,CACJC,MAAO,QAETC,MAAO,CACLC,UAAWJ,EAAMK,QAAQ,GACzBH,MAAO,OACPI,UAAW,OACXC,aAAcP,EAAMK,QAAQ,IAE9BG,MAAO,CACLC,SAAU,KAEZnP,IAAK,CACHoP,OAAQ,IAEVC,QAAS,CACPD,OAAQ,GACRE,WAAY,QAEdC,OAAQ,CACNC,OAAQd,EAAMK,QAAQ,IAExBU,SAAU,CACRC,YAAahB,EAAMK,QAAQ,IAE7BY,UAAW,CACTC,WAAYlB,EAAMK,QAAQ,IAE5Bc,UAAW,CACThT,SAAU,OAGEiT,GAChB,EAAkCtK,mBAAS,IAA3C,mBAAOuK,EAAP,KAAkBC,EAAlB,KACA,EAAwCxK,oBAAS,GAAjD,mBAAOyK,EAAP,KAAqBC,EAArB,KACA,EAAkC1K,mBAAS,IAA3C,mBAAO2K,GAAP,KAAkBC,GAAlB,KACA,GAA4B5K,mBAAS,IAArC,qBAAO6K,GAAP,MAAeC,GAAf,MACA,GAA4C9K,mBAAS,IAArD,qBAAO+K,GAAP,MAAuBC,GAAvB,MACA,GAAgChL,mBAAS,IAAzC,qBAAOiL,GAAP,MAAiBC,GAAjB,MACA,GAAgClL,mBAAS,IAAzC,qBAAOmL,GAAP,MAAiBC,GAAjB,MACA,GAAkCpL,oBAAS,GAA3C,qBAAOqL,GAAP,MAAkBC,GAAlB,MACA,GAAkDtL,mBAAS,IAA3D,qBAAOuL,GAAP,MAA0BC,GAA1B,MACA,GAA0CxL,mBAAS,IAAnD,qBAAOyL,GAAP,MAAsBC,GAAtB,MACA,GAAgD1L,oBAAS,GAAzD,qBAAO2L,GAAP,MAAyBC,GAAzB,MACA,GAAwC5L,oBAAS,GAAjD,qBAAO6L,GAAP,MACA,IADA,MACyC7L,mBAAS,CAChD7N,MAAO,GACPqE,MAAO,eAFT,qBAAOsV,GAAP,MAAwBC,GAAxB,MAIA,GAA8B/L,oBAAS,GAAvC,qBAAOgM,GAAP,MAAgBC,GAAhB,MACAnF,qBAAU,WACRoF,OACC,IACH,IAAMA,GAAmB,uCAAG,sFAC1B,KACM7D,EAAY,IAAIC,SACVC,OAAO,gBAAjB,iBAA4CpX,EAAG8L,OAAOC,WAAWyK,QAE7Da,EAAiB,CACnBjB,OAAQ,MACRE,QAASY,EACTI,SAAU,UAGZpB,MAAM,GAAD,OAAIxP,OAAOyP,QAAX,oCAAsDkB,GACxDZ,MAAK,SAACC,GAAD,OAAcA,EAAS5V,UAC5B2V,MAAK,SAACzF,GACL/L,QAAQC,IAAI8L,GACZ,IAAI5M,EAAOxB,KAAKC,MAAMmO,GACtBuJ,GAAiBnW,EAAK4W,WACtBX,GAAqBjW,EAAK6W,aAE3BjE,OAAM,SAAC5K,GAAD,OAAWnH,QAAQC,IAAI,QAASkH,MACzC,MAAO+E,IApBiB,2CAAH,qDA2QnB+J,GAAkB,uCAAG,8FACMvT,KAAZ,OAAfgT,SAAe,IAAfA,QAAA,EAAAA,GAAiB3Z,QAAkD,MAAZ,OAAf2Z,SAAe,IAAfA,QAAA,EAAAA,GAAiB3Z,OADpC,uBAEvBS,YAAa,QAAS,wBAFC,kCAKAkG,KAAZ,OAAT6R,SAAS,IAATA,QAAA,EAAAA,GAAWxY,QAA4C,MAAZ,OAATwY,SAAS,IAATA,QAAA,EAAAA,GAAWxY,OALxB,uBAMvBS,YAAa,QAAS,uBANC,kCASHkG,KAAZ,OAAN+R,SAAM,IAANA,QAAA,EAAAA,GAAQ1Y,QAAyC,MAAZ,OAAN0Y,SAAM,IAANA,QAAA,EAAAA,GAAQ1Y,OATlB,uBAUvBS,YAAa,QAAS,oBAVC,0BAazBgZ,IAAoB,GACpBK,IAAW,GACPxB,EACEF,EAAU1O,OAAS,IACjBwM,EAAY,IAAIC,SACVC,OACR,gBADF,iBAEYpX,EAAG8L,OAAOC,WAAWyK,QAEjCU,EAAUE,OAAO,eAAgB,oBACjCF,EAAUE,OAAO,eAAgB,UAC7BC,EAAiB,CACnBjB,OAAQ,OACRC,iBAAiB,EACjBC,QAASY,EACTjW,KAAM2B,KAAKE,UAAU,CACnBqY,WAAU,OAAER,SAAF,IAAEA,QAAF,EAAEA,GAAiB3Z,MAC7BwY,UAAS,OAAEA,SAAF,IAAEA,QAAF,EAAEA,GAAWxY,MACtB0Y,OAAM,OAAEA,SAAF,IAAEA,QAAF,EAAEA,GAAQ1Y,MAChB4Y,oBAC4BjS,KAAZ,OAAdiS,SAAc,IAAdA,QAAA,EAAAA,GAAgB5Y,OAAsB,GAAtC,OAA2C4Y,SAA3C,IAA2CA,QAA3C,EAA2CA,GAAgB5Y,MAC7Doa,qBACsBzT,KAAZ,OAARmS,SAAQ,IAARA,QAAA,EAAAA,GAAU9Y,OAAsB,GAAhC,OAAqC8Y,SAArC,IAAqCA,QAArC,EAAqCA,GAAU9Y,MACjDqa,qBACsB1T,KAAZ,OAARqS,SAAQ,IAARA,QAAA,EAAAA,GAAUhZ,OAAsB,GAAhC,OAAqCgZ,SAArC,IAAqCA,QAArC,EAAqCA,GAAUhZ,MACjDsa,MAAOlC,KAGXlD,MAAM,GAAD,OAAIxP,OAAOyP,QAAX,kBAAoCkB,GACtCZ,KADH,uCACQ,WAAOC,GAAP,gFACEC,EAAaD,EAASE,OACxBxS,EAAO,GACQ,MAAfuS,EAHA,gBAIFlV,YAAa,UAAW,6BAJtB,uCAMWiV,EAAS1N,OANpB,OAMF5E,EANE,OAOImX,OACc5T,KAAd,QAAJ,EAAAvD,SAAA,eAAMsT,SACF,iEACAtT,EAAKsT,QACXjW,YAAa,QAAS8Z,GAXpB,4CADR,uDAeG9E,MAAK,SAACM,GACL,OAAOA,KAERC,OAAM,SAACtV,GACNuD,QAAQC,IAAIxD,OAGhBD,YAAa,QAAS,yCAGxBA,YAAa,QAAS,yCAGxBqZ,IAAW,GACXL,IAAoB,GAtEK,4CAAH,qDAqJxB,SAASe,GAAY7a,GACnB,IAAI8a,EAAW,EACf,MAAmB,kBAAR9a,EAAyBA,GACxB,OAARA,QAAwBgH,IAARhH,GACdA,EAAI+J,OAAS,IACVgR,MAAM/a,KACT8a,EAAWtP,SAASxL,KAInB8a,GAGT,SAASE,GAAchb,GACrB,IAAI8a,EAAW,EACf,MAAmB,kBAAR9a,EAAyBA,GACxB,OAARA,QAAwBgH,IAARhH,GACdA,EAAI+J,OAAS,IACVgR,MAAM/a,KACT8a,EAAWG,WAAWjb,KAIrB8a,GAET,OACE,kBAAC,IAAD,KACE,kBAAC,IAAKI,IAAN,KACE,yBAAKha,UAAU,SACb,kBAAC,IAAKia,MAAN,0BACA,kBAAC,IAAD,CACEC,aAAW,EACX/a,MAAO2Z,GACPzJ,SAAU,SAACC,GAEPyJ,GADQ,OAANzJ,EACY,CACZnQ,MAAO,GACPqE,MAAO,aAGK8L,IAGlB6K,QAAS1B,GAAc1U,KAAI,SAAC8D,GAC1B,MAAO,CAAE1I,MAAK,OAAE0I,QAAF,IAAEA,OAAF,EAAEA,EAAGjE,GAAIJ,MAAK,OAAEqE,QAAF,IAAEA,OAAF,EAAEA,EAAGhE,SAEnCmC,KAAK,aACL5F,GAAG,aACHJ,UAAU,gBAGd,yBAAKA,UAAU,SACb,uBAAGA,UAAU,QAAb,WACA,kBAAC,IAAD,CACEka,aAAW,EACX/a,MAAOwY,GACPtI,SAAU,SAACC,GACTwI,GAAU,CACR3Y,MAAO,GACPqE,MAAO,cAETwU,GAAkB,CAChB7Y,MAAO,GACPqE,MAAO,cAET4U,GAAY,CACVjZ,MAAO,GACPqE,MAAO,cAET0U,GAAY,CACV/Y,MAAO,GACPqE,MAAO,cAGPoU,GADQ,OAANtI,EACW,CACXnQ,MAAO,GACPqE,MAAO,aAGI8L,IAGjB6K,QAAS5B,GAAkBxU,KAAI,SAACwF,GAAD,MAAQ,CACrCpK,MAAOoK,EAAE3F,GACTJ,MAAO+F,EAAE1F,SAEXmC,KAAK,YACL5F,GAAG,YACHJ,UAAU,eAEX6Y,IAAgB,kBAAC,IAAD,OAEnB,yBAAK7Y,UAAU,SACb,uBAAGA,UAAU,QAAb,QACA,kBAAC,IAAD,CACEka,aAAW,EACX/a,MAAO0Y,GACPxI,SAAU,SAACC,GACT0I,GAAkB,CAChB7Y,MAAO,GACPqE,MAAO,cAET4U,GAAY,CACVjZ,MAAO,GACPqE,MAAO,cAET0U,GAAY,CACV/Y,MAAO,GACPqE,MAAO,cAGPsU,GADQ,OAANxI,EACQ,CACRnQ,MAAO,GACPqE,MAAO,aAGC8L,IAGd6K,QAAO,UAAE5B,GAAkBhJ,QACzB,SAAChG,GAAD,OAAO/H,OAAO+H,EAAE3F,MAAQpC,OAAM,OAACmW,SAAD,IAACA,QAAD,EAACA,GAAWxY,UAC1C,UAFK,iBAAE,EAEHib,aAFC,aAAE,EAEIrW,KAAI,SAACwF,GAAD,MAAQ,CAAEpK,MAAOoK,EAAE3F,GAAIJ,MAAO+F,EAAE1F,SACjDmC,KAAK,SACL5F,GAAG,SACHJ,UAAU,eAEX6Y,IAAgB,kBAAC,IAAD,OAEnB,yBAAK7Y,UAAU,cACb,uBAAGA,UAAU,QAAb,iBACA,kBAAC,IAAD,CACEka,aAAW,EACX/a,MAAO4Y,GACP1I,SAAU,SAACC,GACT8I,GAAY,CACVjZ,MAAO,GACPqE,MAAO,cAET0U,GAAY,CACV/Y,MAAO,GACPqE,MAAO,cAGPwU,GADQ,OAAN1I,EACgB,CAChBnQ,MAAO,GACPqE,MAAO,aAGS8L,IAGtB6K,QAAO,UAAE5B,GAAkBhJ,QACzB,SAAChG,GAAD,OAAO/H,OAAO+H,EAAE3F,MAAQpC,OAAM,OAACmW,SAAD,IAACA,QAAD,EAACA,GAAWxY,UAC1C,UAFK,iBAAE,EAGLib,aAHG,iBAAE,EAGE7K,QAAO,SAAChG,GAAD,OAAO/H,OAAO+H,EAAE3F,MAAQpC,OAAM,OAACqW,SAAD,IAACA,QAAD,EAACA,GAAQ1Y,UAAQ,UAH1D,iBAAE,EAILkb,qBAJG,aAAE,EAIUtW,KAAI,SAACwF,GAAD,MAAQ,CAAEpK,MAAOoK,EAAE3F,GAAIJ,MAAO+F,EAAE1F,SACvDmC,KAAK,iBACL5F,GAAG,iBACHJ,UAAU,eAEX6Y,IAAgB,kBAAC,IAAD,OAEnB,yBAAK7Y,UAAU,cACb,uBAAGA,UAAU,QAAb,WACA,kBAAC,IAAD,CACEka,aAAW,EACX/a,MAAO8Y,GACP5I,SAAU,SAACC,GACT8I,GAAY,CACVjZ,MAAO,GACPqE,MAAO,cAGP0U,GADQ,OAAN5I,EACU,CACVnQ,MAAO,GACPqE,MAAO,aAGG8L,IAGhB6K,QAAO,UAAE5B,GAAkBhJ,QACzB,SAAChG,GAAD,OAAO/H,OAAO+H,EAAE3F,MAAQpC,OAAM,OAACmW,SAAD,IAACA,QAAD,EAACA,GAAWxY,UAC1C,UAFK,iBAAE,EAGLib,aAHG,iBAAE,EAGE7K,QAAO,SAAChG,GAAD,OAAO/H,OAAO+H,EAAE3F,MAAQpC,OAAM,OAACqW,SAAD,IAACA,QAAD,EAACA,GAAQ1Y,UAAQ,UAH1D,iBAAE,EAILkb,qBAJG,iBAAE,EAIU9K,QACf,SAAChG,GAAD,OAAO/H,OAAO+H,EAAE3F,MAAQpC,OAAM,OAACuW,SAAD,IAACA,QAAD,EAACA,GAAgB5Y,UAC/C,UANG,iBAAE,EAOLmb,sBAPG,aAAE,EAOWvW,KAAI,SAACwF,GAAD,MAAQ,CAC5BpK,MAAOoK,EAAE3F,GACTJ,MAAO+F,EAAE1F,SAEbmC,KAAK,WACL5F,GAAG,WACHJ,UAAU,eAEX6Y,IAAgB,kBAAC,IAAD,OAEnB,yBAAK7Y,UAAU,cACb,uBAAGA,UAAU,QAAb,WACA,kBAAC,IAAD,CACEka,aAAW,EACX/a,MAAOgZ,GACP9I,SAAU,SAACC,GAEP8I,GADQ,OAAN9I,EACU,CACVnQ,MAAO,GACPqE,MAAO,aAGG8L,IAGhB6K,QAAO,UAAE5B,GAAkBhJ,QACzB,SAAChG,GAAD,OAAO/H,OAAO+H,EAAE3F,MAAQpC,OAAM,OAACmW,SAAD,IAACA,QAAD,EAACA,GAAWxY,UAC1C,UAFK,iBAAE,EAGLib,aAHG,iBAAE,EAGE7K,QAAO,SAAChG,GAAD,OAAO/H,OAAO+H,EAAE3F,MAAQpC,OAAM,OAACqW,SAAD,IAACA,QAAD,EAACA,GAAQ1Y,UAAQ,UAH1D,iBAAE,EAILkb,qBAJG,iBAAE,EAIU9K,QACf,SAAChG,GAAD,OAAO/H,OAAO+H,EAAE3F,MAAQpC,OAAM,OAACuW,SAAD,IAACA,QAAD,EAACA,GAAgB5Y,UAC/C,UANG,iBAAE,EAOLmb,sBAPG,iBAAE,EAOW/K,QAChB,SAAChG,GAAD,OAAO/H,OAAO+H,EAAE3F,MAAQpC,OAAM,OAACyW,SAAD,IAACA,QAAD,EAACA,GAAU9Y,UACzC,UATG,iBAAE,EAULob,sBAVG,aAAE,EAUWxW,KAAI,SAACwF,GAAD,MAAQ,CAC5BpK,MAAOoK,EAAE3F,GACTJ,MAAO+F,EAAE1F,SAEbmC,KAAK,WACL5F,GAAG,WACHJ,UAAU,eAEX6Y,IAAgB,kBAAC,IAAD,OAEnB,kBAAC,IAAK2B,MAAN,CAAYna,GAAIoa,IAAKC,UAAU,oBAC7B,kBAAC,IAAKT,MAAN,CAAYja,UAAU,QAAtB,WACA,kBAAC,IAAD,CAAMA,UAAU,qCACd,kBAAC,IAAK2a,QAAN,CACE5X,KAAK,OACL6X,OAAO,8FACPvL,SA3mBQ,SAAC4E,GACnByD,GAAgB,GAChBF,EAAa,IACbc,IAAa,GACb,IAAIuC,EAAU5G,EAAMrE,OAAOkL,MAAM,GACjCC,wBAAcF,GAAS,SAAChb,EAAKmb,GAC3B,GAAInb,EAEF,OADAyY,IAAa,IACN,EAEP,GAAI0C,EAAKC,KAAKpS,OAAS,EAErB,OADAyP,IAAa,IACN,EAET,IAAI/O,EAAIyR,EAAKC,KAAK,GAAGrF,QAAQ,eACzB3Q,EAAI+V,EAAKC,KAAK,GAAGrF,QAAQ,eACzBnM,EAAIuR,EAAKC,KAAK,GAAGrF,QAAQ,UACzB5J,EAAIgP,EAAKC,KAAK,GAAGrF,QAAQ,OACzBtG,EAAI0L,EAAKC,KAAK,GAAGrF,QAAQ,UACzBsF,EAAIF,EAAKC,KAAK,GAAGrF,QAAQ,mBACzBuF,EAAIH,EAAKC,KAAK,GAAGrF,QAAQ,oBACzBwF,EAAIJ,EAAKC,KAAK,GAAGrF,QAAQ,cACzBhN,EAAIoS,EAAKC,KAAK,GAAGrF,QAAQ,eACzByF,EAAIL,EAAKC,KAAK,GAAGrF,QAAQ,kBACzBtU,EAAI0Z,EAAKC,KAAK,GAAGrF,QAAQ,mBACzB0F,EAAIN,EAAKC,KAAK,GAAGrF,QAAQ,oBACzB2F,EAAIP,EAAKC,KAAK,GAAGrF,QAAQ,mBACzB4F,EAAIR,EAAKC,KAAK,GAAGrF,QAAQ,OACzBzU,EAAI6Z,EAAKC,KAAK,GAAGrF,QAAQ,cACzB6F,EAAIT,EAAKC,KAAK,GAAGrF,QAAQ,kBACzB8F,EAAIV,EAAKC,KAAK,GAAGrF,QAAQ,cACzB+F,EAAIX,EAAKC,KAAK,GAAGrF,QAAQ,WACzBgG,EAAIZ,EAAKC,KAAK,GAAGrF,QAAQ,eACzBiG,EAAIb,EAAKC,KAAK,GAAGrF,QAAQ,SACzBkG,EAAId,EAAKC,KAAK,GAAGrF,QAAQ,aACzBmG,EAAIf,EAAKC,KAAK,GAAGrF,QAAQ,eACzBoG,EAAIhB,EAAKC,KAAK,GAAGrF,QAAQ,gBACzB/N,EAAImT,EAAKC,KAAK,GAAGrF,QAAQ,iBACzBqG,EAAIjB,EAAKC,KAAK,GAAGrF,QAAQ,mBACzBsG,EAAIlB,EAAKC,KAAK,GAAGrF,QAAQ,WACzBuG,EAAKnB,EAAKC,KAAK,GAAGrF,QAAQ,SAC1BwG,EAAKpB,EAAKC,KAAK,GAAGrF,QAAQ,YAC1ByG,EAAKrB,EAAKC,KAAK,GAAGrF,QAAQ,YAC1B0G,EAAKtB,EAAKC,KAAK,GAAGrF,QAAQ,aAC1B2G,EAAKvB,EAAKC,KAAK,GAAGrF,QAAQ,QAC1B4G,EAAKxB,EAAKC,KAAK,GAAGrF,QAAQ,SAC9B,IACS,IAAPrM,IACO,IAAPtE,IACO,IAAPwE,IACO,IAAPuC,IACO,IAAPsD,IACO,IAAP4L,IACO,IAAPC,IACO,IAAPC,IACO,IAAPxS,IACO,IAAPyS,IACO,IAAP/Z,IACO,IAAPga,IACO,IAAPC,IACO,IAAPC,IACO,IAAPra,IACO,IAAPsa,IACO,IAAPC,IACO,IAAPC,IACO,IAAPC,IACO,IAAPC,IACO,IAAPC,IACO,IAAPC,IACO,IAAPC,IACO,IAAPnU,IACO,IAAPoU,IACO,IAAPC,IACQ,IAARC,IACQ,IAARC,IACQ,IAARC,IACQ,IAARC,IACQ,IAARC,IACQ,IAARC,EAGA,OADAlE,IAAa,IACN,EAGT,IAAI2C,EAAO,GACXD,EAAKC,KAAKxZ,MAAM,EAAGuZ,EAAKC,KAAKpS,QAAQ3H,SAAQ,SAACiP,EAASlM,GACrD,IAAIwY,EAAQ,EACRlS,EAAQ,QAEKzE,IAAfqK,EAAQlL,SACOa,IAAfqK,EAAQiL,SACOtV,IAAfqK,EAAQoL,SACOzV,IAAfqK,EAAQhP,SACO2E,IAAfqK,EAAQsL,SACO3V,IAAfqK,EAAQuL,SACO5V,IAAfqK,EAAQwL,SACO7V,IAAfqK,EAAQyL,SACO9V,IAAfqK,EAAQ0L,SACO/V,IAAfqK,EAAQ2L,KAERW,EAAQ,EACRlS,EAAQ,sCAGNoP,GAAYxJ,EAAQhP,IAAM,IAC5Bsb,EAAQ,EACRlS,EAAQ,oCAENoP,GAAYxJ,EAAQuL,IAAM,IAC5Be,EAAQ,EACRlS,EAAQ,qCAENuP,GAAc3J,EAAQsL,IAAM,IAC9BgB,EAAQ,EACRlS,EAAQ,0CAjNpB,SAAqByB,GACnB,OAAOzK,IAAOyK,EAAG,YAAY,GAAMtK,UAkNtBgb,CAAYvM,EAAQlL,MACvBwX,EAAQ,EACRlS,EAAQ,mCAENuP,GAAc3J,EAAQwL,IAAM,IAC9Bc,EAAQ,EACRlS,EAAQ,iCAES,KAAf4F,EAAQlL,SAA4Ba,IAAfqK,EAAQlL,KAC/BwX,EAAQ,EACRlS,EAAQ,0BAES,KAAf4F,EAAQiL,SAA4BtV,IAAfqK,EAAQiL,KAC/BqB,EAAQ,EACRlS,EAAQ,yBAES,KAAf4F,EAAQoL,SAA4BzV,IAAfqK,EAAQoL,KAC/BkB,EAAQ,EACRlS,EAAQ,8BAES,KAAf4F,EAAQqL,SAA4B1V,IAAfqK,EAAQqL,KAC/BiB,EAAQ,EACRlS,EAAQ,yBAES,KAAf4F,EAAQuL,SAA4B5V,IAAfqK,EAAQuL,KAC/Be,EAAQ,EACRlS,EAAQ,0BAES,KAAf4F,EAAQwL,SAA4B7V,IAAfqK,EAAQwL,KAC/Bc,EAAQ,EACRlS,EAAQ,sBAES,KAAf4F,EAAQ0L,SAA4B/V,IAAfqK,EAAQ0L,KAC/BY,EAAQ,EACRlS,EAAQ,oBAGO,KAAf4F,EAAQ6L,SACOlW,IAAfqK,EAAQ6L,IACRrC,GAAYxJ,EAAQ6L,KAAO,IAE3BS,EAAQ,EACRlS,EAAQ,wCAGO,KAAf4F,EAAQtI,SACO/B,IAAfqK,EAAQtI,IACR8R,GAAYxJ,EAAQtI,KAAO,IAE3B4U,EAAQ,EACRlS,EAAQ,yCAGO,KAAf4F,EAAQ8L,SACOnW,IAAfqK,EAAQ8L,IACRtC,GAAYxJ,EAAQ8L,KAAO,IAE3BQ,EAAQ,EACRlS,EAAQ,2CAGO,KAAf4F,EAAQ+L,SACOpW,IAAfqK,EAAQ+L,IACRvC,GAAYxJ,EAAQ+L,KAAO,IAE3BO,EAAQ,EACRlS,EAAQ,uCAESzE,IAAfqK,EAAQ5G,IACV0R,EAAKnS,KAuHf,SACE6T,EACAzP,EACA0P,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,GAEA,MAAO,CACLjC,QACAzP,QACA0P,aACAC,YACAC,SACAC,MACAC,SACAC,gBACAC,iBACAC,YACAC,aACAC,gBACAC,iBACAC,iBACAC,gBACAC,MACAC,SACAC,gBACAC,YACAC,SACAC,aACAC,OACAC,WACAC,cACAC,eACAC,gBACAC,kBACAC,UACAC,QACAC,WACAC,WACAC,YACAC,OACAC,QACAC,SA9LQC,CACEpC,EACAxY,EAAQ,EACRkM,EAAQ5G,GACR4G,EAAQlL,GACRkL,EAAQ1G,GACR0G,EAAQnE,GACRmE,EAAQb,GACRa,EAAQ+K,GACR/K,EAAQgL,GACRhL,EAAQiL,GACRjL,EAAQvH,GACRuH,EAAQkL,GACRlL,EAAQ7O,GACR6O,EAAQmL,GACRnL,EAAQoL,GACRpL,EAAQqL,GACRrL,EAAQhP,GACRgP,EAAQsL,GACRtL,EAAQuL,GACRvL,EAAQwL,GACRxL,EAAQyL,GACRzL,EAAQ0L,GACR1L,EAAQ2L,GACR3L,EAAQ4L,GACR5L,EAAQ6L,GACR7L,EAAQtI,GACRsI,EAAQ8L,GACR9L,EAAQ+L,GACR/L,EAAQgM,GACRhM,EAAQiM,GACRjM,EAAQkM,GACRlM,EAAQmM,GACRnM,EAAQoM,GACRpM,EAAQqM,GACRjS,OAIRiN,EAAayD,EAAKlS,WAClBuP,IAAa,OAyYewG,KAAKC,MAC3BtS,QAhnBM,SAACwH,GACjBA,EAAMrE,OAAOzQ,MAAQ,IA+mBQ2f,KAAKC,WAKhC,kBAAC,IAAK/E,IAAN,KACE,kBAAC,IAAKQ,MAAN,CAAYna,GAAIoa,IAAKC,UAAU,oBAC7B,kBAAC,IAAKT,MAAN,CAAYja,UAAU,8BAAtB,eAGA,yBAAKA,UAAU,mCACb,4FACiE,IAC/D,uBACE0I,KAAK,8FACLsW,UAAQ,EACRpP,OAAO,UAHT,uBASJ,yBAAK5P,UAAU,mCACb,gFAGF,kBAAC,IAAD,CACEK,GAAG,QACH0C,KAAK,SACLgM,MAAM,YACNkQ,UAAQ,EACR9f,MAAM,SACNa,UAAU,wCACVyM,QAAS,YA1pBQ,WACzB,GAAI4L,GAGF,OAFAzY,YAAa,QAAS,yCACtB8X,GAAgB,IACT,EAETA,GAAgB,GAqpBNwH,QAKPzH,GACC,kBAAC,IAAKuC,IAAN,CAAUha,UAAU,kBAClB,kBAAC,IAAD,CAAOA,UAAWO,EAAQ8V,OACxB,kBAAC,IAAD,CAAOrW,UAAWO,EAAQmW,MAAOvF,KAAK,SACpC,kBAAC,IAAD,CAAWnR,UAAU,WACnB,kBAAC,IAAD,CAAUA,UAAWO,EAAQiH,KAC3B,kBAAC,IAAD,CAAWxH,UAAU,cACnB,wCAKF,kBAAC,IAAD,CAAWA,UAAU,cACnB,2CAEF,kBAAC,IAAD,CAAWA,UAAU,cACnB,2CAEF,kBAAC,IAAD,CAAWA,UAAU,cACnB,sCAEF,kBAAC,IAAD,CAAWA,UAAU,cACnB,mCAEF,kBAAC,IAAD,CAAWA,UAAU,cACnB,sCAEF,kBAAC,IAAD,CAAWA,UAAU,cACnB,+CAEF,kBAAC,IAAD,CAAWA,UAAU,cACnB,gDAEF,kBAAC,IAAD,CAAWA,UAAU,cACnB,yCAEF,kBAAC,IAAD,CAAWA,UAAU,cACnB,2CAEF,kBAAC,IAAD,CAAWA,UAAU,cACnB,8CAEF,kBAAC,IAAD,CAAWA,UAAU,cACnB,+CAEF,kBAAC,IAAD,CAAWA,UAAU,cACnB,gDAEF,kBAAC,IAAD,CAAWA,UAAU,cACnB,+CAEF,kBAAC,IAAD,CAAWA,UAAU,cACnB,mCAEF,kBAAC,IAAD,CAAWA,UAAU,cACnB,0CAEF,kBAAC,IAAD,CAAWA,UAAU,cACnB,gDAEF,kBAAC,IAAD,CAAWA,UAAU,cACnB,2CAEF,kBAAC,IAAD,CAAWA,UAAU,cACnB,uCAEF,kBAAC,IAAD,CAAWA,UAAU,cACnB,4CAEF,kBAAC,IAAD,CAAWA,UAAU,cACnB,qCAEF,kBAAC,IAAD,CAAWA,UAAU,cACnB,0CAEF,kBAAC,IAAD,CAAWA,UAAU,cACnB,2CAEF,kBAAC,IAAD,CAAWA,UAAU,cACnB,uCAEF,kBAAC,IAAD,CAAWA,UAAU,cACnB,yCAEF,kBAAC,IAAD,CAAWA,UAAU,cACnB,2CAEF,kBAAC,IAAD,CAAWA,UAAU,cACnB,uCAEF,kBAAC,IAAD,CAAWA,UAAU,cACnB,sCAEF,kBAAC,IAAD,CAAWA,UAAU,cACnB,yCAEF,kBAAC,IAAD,CAAWA,UAAU,cACnB,wCAEF,kBAAC,IAAD,CAAWA,UAAU,cACnB,0CAEF,kBAAC,IAAD,CAAWA,UAAU,cACnB,oCAEF,kBAAC,IAAD,CAAWA,UAAU,cACnB,uCAIN,kBAAC,IAAD,KACGuX,EAAUxT,KAAI,SAACyD,GAAD,OACb,kBAAC,IAAD,CAAUxH,UAAWO,EAAQsW,QAASvP,IAAKE,EAAI0F,OAC7C,kBAAC,IAAD,KACiB,IAAd1F,EAAImV,OACH,uBACEwC,cAAY,UACZC,MAAM,QACNpf,UAAU,sCAGC,IAAdwH,EAAImV,OACH,uBACEwC,cAAY,UACZC,MAAO5X,EAAIoX,MACX5e,UAAU,6CAKhB,kBAAC,IAAD,KAAYwH,EAAIoV,YAChB,kBAAC,IAAD,KAAYpV,EAAIqV,WAChB,kBAAC,IAAD,KAAYrV,EAAIsV,QAChB,kBAAC,IAAD,KAAYtV,EAAIuV,KAChB,kBAAC,IAAD,KAAYvV,EAAIwV,QAChB,kBAAC,IAAD,KAAYxV,EAAIyV,eAChB,kBAAC,IAAD,KAAYzV,EAAI0V,gBAChB,kBAAC,IAAD,KAAY1V,EAAI2V,WAChB,kBAAC,IAAD,KAAY3V,EAAI4V,YAChB,kBAAC,IAAD,KAAY5V,EAAI6V,eAChB,kBAAC,IAAD,KAAY7V,EAAI8V,gBAChB,kBAAC,IAAD,KAAY9V,EAAI+V,gBAChB,kBAAC,IAAD,KAAY/V,EAAIgW,eAChB,kBAAC,IAAD,KAAYhW,EAAIiW,KAChB,kBAAC,IAAD,KAAYjW,EAAIkW,QAChB,kBAAC,IAAD,KAAYlW,EAAImW,eAChB,kBAAC,IAAD,KAAYnW,EAAIoW,WAChB,kBAAC,IAAD,KAAYpW,EAAIqW,QAChB,kBAAC,IAAD,KAAYrW,EAAIsW,YAChB,kBAAC,IAAD,KAAYtW,EAAIuW,MAChB,kBAAC,IAAD,KAAYvW,EAAIwW,UAChB,kBAAC,IAAD,KAAYxW,EAAIyW,aAChB,kBAAC,IAAD,KAAYzW,EAAI0W,cAChB,kBAAC,IAAD,KAAY1W,EAAI2W,eAChB,kBAAC,IAAD,KAAY3W,EAAI4W,iBAChB,kBAAC,IAAD,KAAY5W,EAAI6W,SAChB,kBAAC,IAAD,KAAY7W,EAAI8W,OAChB,kBAAC,IAAD,KAAY9W,EAAI+W,UAChB,kBAAC,IAAD,KAAY/W,EAAIgX,UAChB,kBAAC,IAAD,KAAYhX,EAAIiX,WAChB,kBAAC,IAAD,KAAYjX,EAAIkX,MAChB,kBAAC,IAAD,KAAYlX,EAAImX,cAM1B,yBAAK3e,UAAU,sBACZ,IACD,2BACGuX,EAAU1O,OAAS,EAChB0O,EAAU1O,OAAS,YACnB,uBAHN,OAQH,IACH,kBAAC,IAAKmR,IAAN,KACE,kBAAC,IAAKQ,MAAN,CAAYna,GAAIoa,IAAKC,UAAU,oBAC7B,kBAAC,IAAKT,MAAN,CAAYja,UAAU,8BAAtB,UACA,yBAAKA,UAAU,mCACb,8FAIF,yBAAKA,UAAU,mCACb,+EAGF,4BACE+C,KAAK,SACLqB,MAAO,CAAEgS,MAAO,SAChB3J,QAAS,WACP4M,MAEFlG,SAAUwF,GACV3Y,UAAU,yCAEV,8BAAO2Y,GAAmB,eAAiB,UAC1CK,IAAW,0BAAMhZ,UAAU,qC,ihNCt8BxC,IAAM/B,EAAU,IAAIC,IAAa,MAC3BC,EAAKC,IAAIH,GACTohB,E,kDACJ,aAAe,IAAD,6BACZ,gBAOKC,MAAQ,CAAE/c,KANL,CACRgd,SAAU,GACV9F,MAAO,GACP+F,aAAc,GACdC,cAAe,KANL,E,4FAUd,yGACQpL,MAAMxP,OAAOyP,QAAU,YAAcyK,KAAKhf,MAAMK,GAAI,CACxDmU,OAAQ,MACRC,iBAAiB,EACjBC,QAAS,CACPiL,OAAQ,oCACRhL,cAAc,UAAD,OAAYvW,EAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,sBAEjBC,KATG,uCASE,WAAOC,GAAP,8EAEa,MADAA,EAASE,QAE1BnV,YAAa,QAAS,mBAHlB,SAKaiV,EAAS1N,OALtB,OAKAA,EALA,OAMN,EAAKwY,SAAS,CAAEpd,KAAI,OAAE4E,QAAF,IAAEA,OAAF,EAAEA,EAAMyY,SANtB,2CATF,uDADR,gD,0EAmBA,WAAU,IAAD,MAEuC,MAFvC,OACDC,EAAWd,KAAKO,MAAM/c,KAC5B,OAAI,OAAAwc,WAAA,IAAAA,MAAA,UAAAA,KAAMO,aAAN,mBAAa/c,YAAb,mBAAmBud,iBAAnB,eAA8BjX,QAAS,EAEvC,yBAAK7I,UAAU,qCAAf,OACG+e,WADH,IACGA,MADH,UACGA,KAAMO,aADT,iBACG,EAAa/c,YADhB,iBACG,EAAmBud,iBADtB,aACG,EAA8B/b,KAAI,SAACC,EAAMC,GAAP,OACjC,yBAAKjE,UAAU,yDACb,wBACEoE,MAAO,CACLC,SAAU,OACVyS,WAAY,OACZ/H,MAAO,YAJX,OAOG8Q,QAPH,IAOGA,OAPH,EAOGA,EAAUE,eAEb,kBAAC,IAAD,CACE5gB,MAAK,sBAAiB,EAAKY,MAAMK,IACjC+Q,KAAM,IACN6O,QAAQ,UACRhgB,UAAU,SAEZ,wBACEoE,MAAO,CACLC,SAAU,OACVyS,WAAY,OACZ/H,MAAO,YAGR,EAAKhP,MAAMK,IAEd,wBACEgE,MAAO,CACLC,SAAU,OACVyS,WAAY,OACZ/H,MAAO,YAJX,OAOO8Q,EAASI,WAEhB,wBACE7b,MAAO,CACLC,SAAU,OACVyS,WAAY,OACZ/H,MAAO,YAJX,cAOO/K,QAPP,IAOOA,OAPP,EAOOA,EAAMwZ,eAEb,wBACEpZ,MAAO,CACLC,SAAU,OACVyS,WAAY,OACZ/H,MAAO,YAJX,cAOO/K,QAPP,IAOOA,OAPP,EAOOA,EAAMyZ,KAEb,wBACErZ,MAAO,CACLC,SAAU,OACVyS,WAAY,OACZ/H,MAAO,YAJX,qBAOc/K,QAPd,IAOcA,OAPd,EAOcA,EAAMkc,iBAEpB,wBACE9b,MAAO,CACLC,SAAU,OACVyS,WAAY,OACZ/H,MAAO,YAJX,OAOG8Q,QAPH,IAOGA,OAPH,EAOGA,EAAUM,cAGb,wBACE/b,MAAO,CACLC,SAAU,OACVyS,WAAY,OACZ/H,MAAO,UACPqR,WAAY,kBAGata,KAAlB,OAAR+Z,QAAQ,IAARA,OAAA,EAAAA,EAAUQ,cACe,QAAlB,OAARR,QAAQ,IAARA,OAAA,EAAAA,EAAUQ,cACgB,MAAlB,OAARR,QAAQ,IAARA,OAAA,EAAAA,EAAUQ,aAFT,OAGGR,QAHH,IAGGA,OAHH,EAGGA,EAAUrB,SAHb,OAIGqB,QAJH,IAIGA,OAJH,EAIGA,EAAUQ,kBAQtB,yBAAKrgB,UAAU,wEACb,yBAAKA,UAAU,sBACb,wBACEoE,MAAO,CACLC,SAAU,OACVyS,WAAY,OACZ/H,MAAO,YAJX,OAOG8Q,QAPH,IAOGA,OAPH,EAOGA,EAAUE,eAEb,kBAAC,IAAD,CACE5gB,MAAK,sBAAiB4f,KAAKhf,MAAMK,IACjC+Q,KAAM,IACN6O,QAAQ,UACRhgB,UAAU,SAEZ,wBACEoE,MAAO,CACLC,SAAU,OACVyS,WAAY,OACZ/H,MAAO,YAGRgQ,KAAKhf,MAAMK,IAEd,wBACEgE,MAAO,CACLC,SAAU,OACVyS,WAAY,OACZ/H,MAAO,YAJX,OAOO8Q,EAASI,WAEhB,wBACE7b,MAAO,CACLC,SAAU,OACVyS,WAAY,OACZ/H,MAAO,YAJX,OAOG8Q,QAPH,IAOGA,OAPH,EAOGA,EAAUM,cAEb,wBACE/b,MAAO,CACLC,SAAU,OACVyS,WAAY,OACZ/H,MAAO,UACPqR,WAAY,kBAGata,KAAlB,OAAR+Z,QAAQ,IAARA,OAAA,EAAAA,EAAUQ,cACe,QAAlB,OAARR,QAAQ,IAARA,OAAA,EAAAA,EAAUQ,cACgB,MAAlB,OAARR,QAAQ,IAARA,OAAA,EAAAA,EAAUQ,aAFT,OAGGR,QAHH,IAGGA,OAHH,EAGGA,EAAUrB,SAHb,OAIGqB,QAJH,IAIGA,OAJH,EAIGA,EAAUQ,mB,GAvLAC,aAgMrB,SAASC,EAAT,GAAsC,IAAPngB,EAAM,EAANA,GAC9BogB,EAAeC,mBACfC,EAAcC,0BAAgB,CAClCC,QAAS,kBAAMJ,EAAaK,WAE9B,OACE,kBAAC,IAAD,KACE,kBAAC,IAAD,KACE,4BACE7gB,UAAU,qCACVyM,QAASiU,GAFX,eAMA,yBAAK1gB,UAAU,cACb,kBAAC,IAAD,CAAO8gB,WAAW,EAAOC,QAAQ,EAAM/a,KAAK,OAC1C,kBAACqZ,EAAD,CAAejf,GAAIA,EAAI4gB,IAAKR,U,u8MChNxC,IAAMS,EAAqBC,MAAaC,MAAM,IAEvC,SAASC,EAAT,GAMH,IALFC,EAKC,EALDA,aACAC,EAIC,EAJDA,SACAC,EAGC,EAHDA,eACAlQ,EAEC,EAFDA,OAGA,GADC,EADDmQ,aAEkCxU,mBAAS,KAA3C,mBAAOmM,EAAP,KAAkBsI,EAAlB,KACA,EAAoCzU,mBAAS,IAA7C,mBAAO0U,EAAP,KAAmBC,EAAnB,KACA,EAAkC3U,mBAAS,IAA3C,mBAAO4U,EAAP,KAAkBC,EAAlB,KACA,EAAoC7U,mBAAS,IAA7C,mBAAO8U,EAAP,KAAmBC,EAAnB,KACA,EAAgC/U,mBAAS,IAAzC,mBAAOgV,EAAP,KAAiBC,EAAjB,KACA,EAAoCjV,qBAApC,mBAAmBkV,GAAnB,WACA,EAAoDlV,oBAAS,GAA7D,mBAAOmV,EAAP,KAA2BC,EAA3B,KAEMC,EAAe,uCAAG,6GAECC,IAAM3M,IAAI,kCAFX,OAEdxG,EAFc,OAGpBsS,EAAatS,EAAO5M,KAAP,WAA4B,IACzCof,EAAcxS,EAAO5M,KAAP,YAA6B,IAC3Cwf,EAAc5S,EAAO5M,KAAP,YAA6B,IAC3C0f,EAAY9S,EAAO5M,KAAP,UAA2B,IANnB,4GAAH,qDAkBrB,OARAuR,qBAAU,WACRuO,MACC,IAEHvO,qBAAU,YACR,OAAIwN,QAAJ,IAAIA,OAAJ,EAAIA,EAAUhI,aAAY8I,GAAsB,KAC/C,QAACd,QAAD,IAACA,OAAD,EAACA,EAAUhI,aAGZ,oCACE,kBAAC,IAAD,CACEiJ,oBAAoB,EACpBC,cAAelB,EACfmB,iBAAkBxB,EAClByB,SAAU,SAACxb,GAOT,GANArC,OAAO8B,SAAU,EACjBD,YAAe,WAAD,OAAaQ,QAAb,IAAaA,OAAb,EAAaA,EAAQoS,YACnC5S,YAAe,cAAD,OAAgBQ,QAAhB,IAAgBA,OAAhB,EAAgBA,EAAQyb,aACtCjc,YAAe,YAAD,OAAcQ,QAAd,IAAcA,OAAd,EAAcA,EAAQ0b,aACpClc,YAAe,UAAD,OAAYQ,QAAZ,IAAYA,OAAZ,EAAYA,EAAQ2b,WAClCnc,YAAe,WAAD,OAAaQ,QAAb,IAAaA,OAAb,EAAaA,EAAQ4b,YAC/Bje,OAAO8B,QAAS,OAAO,EAC3B0a,EAAana,MAGd,gBAAG6b,EAAH,EAAGA,aAAc7P,EAAjB,EAAiBA,cAAehM,EAAhC,EAAgCA,OAAhC,OACC,oCACE,kBAAC,IAAMuK,KAAP,CAAYzR,UAAU,WACnBuhB,GACC,yBAAKvhB,UAAU,gCACb,yBAAKA,UAAU,wCAGnB,kBAAC,IAAD,CAAMA,UAAU,yBACd,yBAAKA,UAAU,kBACb,yBAAKA,UAAU,iBACb,kBAAC,IAAD,CACEwD,MAAM,WACNwC,KAAK,aACLkN,cAAeA,EACfN,UAAU,EACVoQ,WAAYb,EACZc,YAAW,OAAE/b,QAAF,IAAEA,OAAF,EAAEA,EAAQoS,WACrBa,QAAShB,EAAUpV,KAAI,SAAC8D,GACtB,MAAO,CACL1I,MAAK,OAAE0I,QAAF,IAAEA,OAAF,EAAEA,EAAGjE,GACVJ,MAAO8C,YAAE,OAACuB,QAAD,IAACA,OAAD,EAACA,EAAGqb,OAAN,OAAcrb,QAAd,IAAcA,OAAd,EAAcA,EAAGhE,aAKhC,yBAAK7D,UAAU,iBACb,kBAAC,IAAD,CACEwD,MAAM,eACNoP,UAAU,EACV5M,KAAK,cACLkN,cAAeA,EACf+P,YAAW,OAAE/b,QAAF,IAAEA,OAAF,EAAEA,EAAQyb,YACrBxI,QAAS2H,EAAW/d,KAAI,SAAC8D,GACvB,MAAO,CACL1I,MAAK,OAAE0I,QAAF,IAAEA,OAAF,EAAEA,EAAGjE,GACVJ,MAAK,OAAEqE,QAAF,IAAEA,OAAF,EAAEA,EAAGhE,YAKlB,yBAAK7D,UAAU,iBACb,kBAAC,IAAD,CACEwD,MAAM,UACNoP,UAAU,EACV5M,KAAK,YACLkN,cAAeA,EAEf+P,YAAW,OAAE/b,QAAF,IAAEA,OAAF,EAAEA,EAAQ2b,UACrB1I,QAAS6H,EAASje,KAAI,SAAC8D,GACrB,MAAO,CACL1I,MAAK,OAAE0I,QAAF,IAAEA,OAAF,EAAEA,EAAGjE,GACVJ,MAAK,OAAEqE,QAAF,IAAEA,OAAF,EAAEA,EAAGhE,SAGdwL,SAAU,SAACC,GACT4S,EAAa,OAAC5S,QAAD,IAACA,OAAD,EAACA,EAAGnQ,WAIvB,yBAAKa,UAAU,iBACb,kBAAC,IAAD,CACEwD,MAAM,YACNoP,UAAU,EACV5M,KAAK,cACLkN,cAAeA,EACf+P,YAAW,OAAE/b,QAAF,IAAEA,OAAF,EAAEA,EAAQ0b,YACrBzI,QAASuH,EAAW3d,KAAI,SAAC8D,GACvB,MAAO,CACL1I,MAAK,OAAE0I,QAAF,IAAEA,OAAF,EAAEA,EAAGjE,GACVJ,MAAK,OAAEqE,QAAF,IAAEA,OAAF,EAAEA,EAAGhE,SAGdwL,SAAU,SAACC,GACT,IAAM/F,EAAImY,EAAWyB,MAAK,SAACtb,GAAD,OAAQ,OAADA,QAAC,IAADA,OAAA,EAAAA,EAAGjE,OAAH,OAAU0L,QAAV,IAAUA,OAAV,EAAUA,EAAGnQ,UAC9C0iB,EAAa,IACb3b,YAAW,WACT2b,GAAc,OAADtY,QAAC,IAADA,OAAA,EAAAA,EAAGqY,YAAa,MAC5B,OAIT,yBAAK5hB,UAAU,iBACb,kBAAC,IAAD,CACEwD,MAAM,qBACNwC,KAAK,aACLkN,cAAeA,EACfN,UAAU,EACVqQ,YAAW,OAAE/b,QAAF,IAAEA,OAAF,EAAEA,EAAQ4b,WACrB3I,QAASyH,EAAU7d,KAAI,SAAC8D,GACtB,MAAO,CACL1I,MAAK,OAAE0I,QAAF,IAAEA,OAAF,EAAEA,EAAGjE,GACVJ,MAAK,OAAEqE,QAAF,IAAEA,OAAF,EAAEA,EAAGoW,sBAQxB,kBAAC,IAAMvM,OAAP,KACE,4BACE3O,KAAK,SACL0J,QAAS4E,EACTrR,UAAU,6BAHZ,UAOA,yCACA,4BACE+C,KAAK,SACL0J,QAAS,kBAAMsW,KACf/iB,UAAU,+BAHZ,gB,6ECzKP,SAASojB,IAEd,IAAQC,EAAcC,aACpB,SAAChE,GAAD,MAAY,CAAE+D,UAAW/D,EAAMiE,UAAUC,eACzCC,KAFMJ,UAMR,OADAvP,qBAAU,cAAU,CAACuP,IACd,kBAAC,IAAD,CAAeA,UAAWA,EAAWpkB,KAAK,gB,6BCVtCykB,EAAgB,qB,YCAvBC,EAAwB,CAC5BH,aAAa,EACbjC,gBAAgB,EAChBqC,WAAY,EACZC,SAAU,KACVC,qBAAiBhe,EACjBie,UAAW,MAEAC,EACL,OADKA,EAEH,SCTHC,EDYuBC,YAAY,CACxCle,KAAM,YACNme,aAAcR,EACdS,SAAU,CACRC,WAAY,SAAC/E,EAAOgF,GAClBhF,EAAM/U,MAAN,UAAiB+Z,EAAOvhB,KAAxB,aAAiCuhB,EAAOC,QAAQha,OAC5C+Z,EAAOC,QAAQC,WAAaR,EAC9B1E,EAAMkE,aAAc,EAEpBlE,EAAMiC,gBAAiB,GAG3BkD,UAAW,SAACnF,EAAOgF,GACjBhF,EAAM/U,MAAQ,KACV+Z,EAAOC,QAAQC,WAAaR,EAC9B1E,EAAMkE,aAAc,EAEpBlE,EAAMiC,gBAAiB,GAI3BmD,gBAAiB,SAACpF,EAAOgF,GACvBhF,EAAMiC,gBAAiB,EACvBjC,EAAMwE,gBAAkBQ,EAAOC,QAAQT,gBACvCxE,EAAM/U,MAAQ,MAGhBoa,iBAAkB,SAACrF,EAAOgF,GACxB,MAAiCA,EAAOC,QAAhCX,EAAR,EAAQA,WAAYC,EAApB,EAAoBA,SACpBvE,EAAMkE,aAAc,EACpBlE,EAAM/U,MAAQ,KACd+U,EAAMuE,SAAWA,EACjBvE,EAAMsE,WAAaA,GAGrBgB,gBAAiB,SAACtF,EAAOgF,GACvBhF,EAAMiC,gBAAiB,EACvBjC,EAAM/U,MAAQ,KACd+U,EAAMuE,SAAS/a,KAAKwb,EAAOC,QAAQjD,WAGrCuD,gBAAiB,SAACvF,EAAOgF,GACvBhF,EAAM/U,MAAQ,KACd+U,EAAMiC,gBAAiB,EACvBjC,EAAMuE,SAAWvE,EAAMuE,SAAS9f,KAAI,SAAA+gB,GAClC,OAAIA,EAAO1kB,KAAOkkB,EAAOC,QAAQjD,SAASlhB,GACjCkkB,EAAOC,QAAQjD,SAEjBwD,MAIXC,gBAAiB,SAACzF,EAAOgF,GACvBhF,EAAM/U,MAAQ,KACd+U,EAAMiC,gBAAiB,EACvBjC,EAAMuE,SAAWvE,EAAMuE,SAAStU,QAAO,SAAAyV,GAAE,OAAIA,EAAG5kB,KAAOkkB,EAAOC,QAAQnkB,OAGxE6kB,iBAAkB,SAAC3F,EAAOgF,GACxBhF,EAAM/U,MAAQ,KACd+U,EAAMiC,gBAAiB,EACvBjC,EAAMuE,SAAWvE,EAAMuE,SAAStU,QAC9B,SAAAyV,GAAE,OAAKV,EAAOC,QAAQW,IAAIvV,SAASqV,EAAG5kB,QAI1C+kB,uBAAwB,SAAC7F,EAAOgF,GAC9BhF,EAAMiC,gBAAiB,EACvBjC,EAAM/U,MAAQ,KACd,MAAwB+Z,EAAOC,QAAvBW,EAAR,EAAQA,IAAKnQ,EAAb,EAAaA,OACbuK,EAAMuE,SAAWvE,EAAMuE,SAAS9f,KAAI,SAAA+gB,GAIlC,OAHII,EAAIE,WAAU,SAAAhlB,GAAE,OAAIA,IAAO0kB,EAAO1kB,OAAO,IAC3C0kB,EAAO/P,OAASA,GAEX+P,SCtFRb,QAEMoB,EAAiB,SAAAC,GAAW,OAAI,SAAAC,GAE3C,OADAA,EAAStB,EAAQQ,UAAU,CAAED,SAAUR,KFclC,SAAuBsB,GAC5B,OAAOhD,IAAMkD,KAAN,UAAc9B,EAAd,SAAoC,CAAE4B,gBEdtCG,CACUH,GACd1Q,MAAK,SAAAC,GACJ,MAAiCA,EAAStS,KAAlCqhB,EAAR,EAAQA,WAAYC,EAApB,EAAoBA,SACpB0B,EAAStB,EAAQU,iBAAiB,CAAEf,aAAYC,iBAEjD1O,OAAM,SAAA5K,GACLA,EAAMmb,cAAgB,uBACtBH,EAAStB,EAAQI,WAAW,CAAE9Z,QAAOia,SAAUR,UAIxC2B,EAAgB,SAAAvlB,GAAE,OAAI,SAAAmlB,GACjC,OAAKnlB,GAILmlB,EAAStB,EAAQQ,UAAU,CAAED,SAAUR,MFVT4B,EEYXxlB,EFXZkiB,IAAM3M,IAAN,UAAa+N,EAAb,YAA8BkC,KEYlChR,MAAK,SAAAC,GACJ,IAAMyM,EAAWzM,EAAStS,KAC1BgjB,EAAStB,EAAQS,gBAAgB,CAAEZ,gBAAiBxC,QAErDnM,OAAM,SAAA5K,GACLA,EAAMmb,cAAgB,sBACtBH,EAAStB,EAAQI,WAAW,CAAE9Z,QAAOia,SAAUR,SAZ1CuB,EAAStB,EAAQS,gBAAgB,CAAEZ,qBAAiBhe,KFPxD,IAAyB8f,IEuBnBC,EAAiB,SAAAzlB,GAAE,OAAI,SAAAmlB,GAElC,OADAA,EAAStB,EAAQQ,UAAU,CAAED,SAAUR,MFAV4B,EEEXxlB,EFDXkiB,IAAMwD,OAAN,UAAgBpC,EAAhB,YAAiCkC,KEErChR,MAAK,SAAAC,GACJ0Q,EAAStB,EAAQc,gBAAgB,CAAE3kB,WAEpC+U,OAAM,SAAA5K,GACLA,EAAMmb,cAAgB,wBACtBH,EAAStB,EAAQI,WAAW,CAAE9Z,QAAOia,SAAUR,QFR9C,IAAwB4B,IEYlBG,EAAiB,SAAAC,GAAmB,OAAI,SAAAT,GAEnD,OADAA,EAAStB,EAAQQ,UAAU,CAAED,SAAUR,MF9CV1C,EEgDX0E,EF/CX1D,IAAMkD,KAAK9B,EAAe,CAAEpC,cEgDhC1M,MAAK,SAAAC,GACJ,IAAQyM,EAAazM,EAAStS,KAAtB+e,SACRiE,EAAStB,EAAQW,gBAAgB,CAAEtD,iBAEpCnM,OAAM,SAAA5K,GACLA,EAAMmb,cAAgB,wBACtBH,EAAStB,EAAQI,WAAW,CAAE9Z,QAAOia,SAAUR,QFvD9C,IAAwB1C,IE2DlB2E,EAAiB,SAAA3E,GAAQ,OAAI,SAAAiE,GAExC,OADAA,EAAStB,EAAQQ,UAAU,CAAED,SAAUR,KFxClC,SAAwB1C,GAC7B,OAAOgB,IAAM4D,IAAN,UAAaxC,EAAb,YAA8BpC,EAAS1d,IAAM,CAAE0d,aEwC/CmE,CACWnE,GACf1M,MAAK,WACJ2Q,EAAStB,EAAQY,gBAAgB,CAAEvD,iBAEpCnM,OAAM,SAAA5K,GACLA,EAAMmb,cAAgB,wBACtBH,EAAStB,EAAQI,WAAW,CAAE9Z,QAAOia,SAAUR,UAIxCmC,EAAwB,SAACjB,EAAKnQ,GAAN,OAAiB,SAAAwQ,GAEpD,OADAA,EAAStB,EAAQQ,UAAU,CAAED,SAAUR,KFhDlC,SAAkCkB,EAAKnQ,GAC5C,OAAOuN,IAAMkD,KAAN,UAAc9B,EAAd,6BAAwD,CAC7DwB,MACAnQ,WE8CK0Q,CACqBP,EAAKnQ,GAC9BH,MAAK,WACJ2Q,EAAStB,EAAQkB,uBAAuB,CAAED,MAAKnQ,eAEhDI,OAAM,SAAA5K,GACLA,EAAMmb,cAAgB,gCACtBH,EAAStB,EAAQI,WAAW,CAAE9Z,QAAOia,SAAUR,UAIxCoC,EAAkB,SAAAlB,GAAG,OAAI,SAAAK,GAEpC,OADAA,EAAStB,EAAQQ,UAAU,CAAED,SAAUR,KFhDlC,SAAyBkB,GAC9B,OAAO5C,IAAMkD,KAAN,UAAc9B,EAAd,oBAA+C,CAAEwB,QEgDjDO,CACYP,GAChBtQ,MAAK,WACJ2Q,EAAStB,EAAQgB,iBAAiB,CAAEC,YAErC/P,OAAM,SAAA5K,GACLA,EAAMmb,cAAgB,yBACtBH,EAAStB,EAAQI,WAAW,CAAE9Z,QAAOia,SAAUR,U,OC9F9C,SAASqC,EAAT,GAA2C,IAAPjmB,EAAM,EAANA,GAEzC,EAA4CkjB,aAC1C,SAAChE,GAAD,MAAY,CACVwE,gBAAiBxE,EAAMiE,UAAUO,gBACjCvC,eAAgBjC,EAAMiE,UAAUhC,kBAElCkC,KALMK,EAAR,EAAQA,gBAAiBvC,EAAzB,EAAyBA,eAQzB,EAA0BvU,mBAAS,IAAnC,mBAAOoS,EAAP,KAAckH,EAAd,KAYA,OAVAxS,qBAAU,WACR,IAAIyS,EAASnmB,EAAK,GAAK,cACnB0jB,GAAmB1jB,IACrBmmB,EAAM,yBAAqBzC,EAAgBjgB,KAArC,YAAyE,MAA5BigB,EAAgB0C,SAAmB,GAAK1C,EAAgB0C,SAArG,MAGRF,EAASC,KAER,CAACzC,EAAiBvC,IAGnB,oCACGA,GAAkB,kBAAC,IAAD,MACnB,kBAACkF,EAAA,EAAMlV,OAAP,CAAcmV,aAAW,GACvB,kBAACD,EAAA,EAAM9U,MAAP,CAAavR,GAAG,gCAAgCgf,K,sEC3BlDuH,EAAqB,SAACC,EAASC,GACnC,IAAMtmB,EAAU,CAAC,gBASjB,OARIqmB,GAAWC,GACbtmB,EAAQuI,KAAK,cAGX8d,IAAYC,GACdtmB,EAAQuI,KAAK,YAGRvI,EAAQmH,KAAK,MAGf,SAASof,EAAT,GAAwC,IAAV/mB,EAAS,oBAC5C,EAA2CgnB,cAAnC7T,EAAR,EAAQA,cAAe2T,EAAvB,EAAuBA,OAAQD,EAA/B,EAA+BA,QAC/B,EAAgBI,YAASjnB,GAAlB2S,EAAP,oBACA,OACE,oCACG3S,EAAMyD,OAAS,+BAAQzD,EAAMyD,OAC9B,kBAAC,IAAD,eACExD,UAAW2mB,EAAmBC,EAAQlU,EAAM1M,MAAO6gB,EAAOnU,EAAM1M,OAChE5B,MAAO,CAAEgS,MAAO,SACZ1D,EACA3S,EAJN,CAKEknB,SAAWvU,EAAMvT,OAAS,IAAIwC,KAAK+Q,EAAMvT,QAAW,KACpDkQ,SAAU,SAAAjJ,GACR8M,EAAcR,EAAM1M,KAAMI,OAG7BygB,EAAOnU,EAAM1M,OAAS4gB,EAAQlU,EAAM1M,MACnC,yBAAKhG,UAAU,+BACZ6mB,EAAOnU,EAAM1M,MAAMQ,YAGtB,yBAAKxG,UAAU,c,qJCxBjBsX,EAAYrB,aAAW,SAACC,GAAD,MAAY,CACvCC,KAAM,CACJ+Q,SAAU,GAEZrb,MAAO,CACLsb,QAAS,OACTC,QAAS,EACTxQ,OAAQ,QAEVyQ,eAAgB,CACdF,QAAS,OACTG,SAAU,OACVC,KAAM,EACNC,WAAY,SACZC,SAAU,UAEZC,KAAM,CACJ1Q,OAAQd,EAAMK,QAAQ,GAAK,MAE7BoR,YAAa,CACXC,gBAAiBC,YACQ,UAAvB3R,EAAM4R,QAAQ/kB,KACVmT,EAAM4R,QAAQC,KAAK,KACnB7R,EAAM4R,QAAQC,KAAK,KACvB,MAGJC,iBAAkB,CAChBZ,QAASlR,EAAMK,QAAQ,EAAG,IAE5B0R,YAAa,CACX5jB,SAAU,IAEZ+K,YAAa,CACX9K,SAAU,WACV4jB,KAAM,EACNC,OAAQ,EACR9jB,SAAU,IAEZgS,MAAO,CACL/R,SAAU,WACV8jB,OAAQ,EACR9R,UAAWJ,EAAMK,QAAQ,GACzB2R,KAAM,EACNG,MAAO,GAETC,QAAS,CACP1R,OAAQV,EAAMK,QAAQ,QAsB1B,SAASgS,GAAT,GAAiD,IAAvBC,EAAsB,EAAtBA,SAAazoB,EAAS,iBAC9C,OAAO,uCAAKihB,IAAKwH,GAAczoB,IAsJjC,IAAM0oB,GAAa,CACjB9N,QAhJF,SAAiB5a,GACf,IACE2oB,EAIE3oB,EAJF2oB,SACAC,EAGE5oB,EAHF4oB,WACAC,EAEE7oB,EAFF6oB,SAHF,EAKI7oB,EADF8oB,YAAetoB,EAJjB,EAIiBA,QAASuoB,EAJ1B,EAI0BA,eAG1B,OACE,kBAACC,EAAA,EAAD,eACEC,WAAS,EACTC,WAAY,CACVV,kBACAW,WAAW,aACTlpB,UAAWO,EAAQsL,MACnBmV,IAAK4H,EACLF,YACGC,KAGHG,KA6HRtoB,KApBF,SAAcT,GACZ,OACE,kBAACopB,EAAA,EAAD,eACEC,QAAM,EACNppB,UAAWD,EAAM8oB,YAAYtoB,QAAQ8V,OACjCtW,EAAM4oB,YAET5oB,EAAM2oB,WAcXW,WA1CF,SAAoBtpB,GAClB,OACE,kBAACupB,EAAA,EAAD,CACEC,UAAW,EACX/lB,MAAOzD,EAAM2oB,SACb1oB,UAAWwpB,YAAKzpB,EAAM8oB,YAAYtoB,QAAQmnB,KAA3B,eACZ3nB,EAAM8oB,YAAYtoB,QAAQonB,YAAc5nB,EAAM0pB,YAEjDC,SAAU3pB,EAAM4pB,YAAYld,QAC5Bmd,WAAY,kBAAC,IAAe7pB,EAAM4pB,gBAkCtCE,iBA7KF,SAA0B9pB,GACxB,OACE,kBAAC+pB,EAAA,EAAD,eACE/a,MAAM,gBACN/O,UAAWD,EAAM8oB,YAAYtoB,QAAQynB,kBACjCjoB,EAAM4oB,YAET5oB,EAAM2oB,WAuKXqB,OApHF,SAAgBhqB,GACd,OACE,kBAACiqB,EAAA,EAAD,eACEhJ,IAAKjhB,EAAM6oB,SACX3B,SAAUlnB,EAAM0pB,UAChB/a,UAAU,MACVtK,MAAO,CACL0S,WAAY/W,EAAMkqB,WAAa,IAAM,MAEnClqB,EAAM4oB,YAET5oB,EAAM2oB,WA0GXwB,YA7FF,SAAqBnqB,GACnB,OACE,kBAAC+pB,EAAA,EAAD,eACE/a,MAAM,gBACN/O,UAAWD,EAAM8oB,YAAYtoB,QAAQ6O,aACjCrP,EAAM4oB,YAET5oB,EAAM2oB,WAuFXyB,YA5EF,SAAqBpqB,GACnB,OACE,kBAAC+pB,EAAA,EAAD,eACE9pB,UAAWD,EAAM8oB,YAAYtoB,QAAQ0nB,aACjCloB,EAAM4oB,YAET5oB,EAAM2oB,WAuEX0B,eA5DF,SAAwBrqB,GACtB,OACE,yBAAKC,UAAWD,EAAM8oB,YAAYtoB,QAAQ8mB,gBACvCtnB,EAAM2oB,YA4DN,SAAS2B,GAAT,GAMH,IALFC,EAKC,EALDA,YACApX,EAIC,EAJDA,cAEAqX,GAEC,EAHDxH,aAGC,EAFDwH,WACAC,EACC,EADDA,aAEMjqB,EAAU+W,IACVpB,EAAQuU,cACd,EAA4BC,IAAM1d,SAASwd,GAAgB,MAA3D,mBAAOzJ,EAAP,KAAe4J,EAAf,KACA,EAA4CD,IAAM1d,SAAS,IAA3D,mBAAO4d,EAAP,KAAuBC,EAAvB,KAyBA,SAASC,EAAmB3rB,GAC1BwrB,EAAUxrB,GAzBZ2U,qBAAU,WACR,IAAIvK,EAAI,CAAC,CAAEpK,MAAO,EAAGqE,MAAO,KACxB8mB,GACFA,EAAYvmB,KAAI,SAACgnB,GACfxhB,EAAET,KAAK,CACL3J,MAAO4rB,EAAWnnB,GAClBJ,MAAQunB,EAAW7H,KAAO,MAAQ6H,EAAWC,iBAInDH,EAAkBthB,KACjB,CAAC+gB,IACJxW,qBAAU,WACM,MAAViN,GACF7N,EAAcqX,EAAWxJ,EAAO5hB,SAEjC,CAAC4hB,IAEJjN,qBAAU,WACY,MAAhB0W,GAAwBA,EAAarrB,OACvC2rB,EAAmBN,KAEpB,CAACA,IAKJ,IAAMS,EAAe,CACnBpf,MAAO,SAACqf,GAAD,mBAAC,eACHA,GADE,IAELnc,MAAOmH,EAAM4R,QAAQ7oB,KAAKksB,QAC1B,UAAW,CACTC,KAAM,eAIZ,OACE,yBAAKprB,UAAWO,EAAQ4V,MACtB,kBAACkV,EAAA,EAAD,KACE,kBAAC,IAAD,CACE9qB,QAASA,EACT6O,YAAY,SACZkc,OAAQL,EACRM,QAAS,sBACTzC,eAAgB,CACd/U,gBAAiB,CACfyX,QAAS,sBACTxX,QAAQ,GAEV5E,YAAa,mCAEf+K,QAASyQ,EACTnC,WAAYA,GACZtpB,MAAO4hB,EACP1R,SAAUyb,M,40MChSpB,SAASW,GAAW7pB,GAClB,IAAIoK,EAAI,IAAIrK,KAAKC,GACf8pB,EAAQ,IAAM1f,EAAEjK,WAAa,GAC7B6J,EAAM,GAAKI,EAAEhK,UACb2pB,EAAO3f,EAAE/J,cAEPypB,EAAM7iB,OAAS,IACjB6iB,EAAQ,IAAMA,GACZ9f,EAAI/C,OAAS,IACf+C,EAAM,IAAMA,GAEd,IAAMuD,EAAS,CAACuc,EAAO9f,EAAK+f,GAAMjkB,KAAK,KACvC,MAAe,gBAAXyH,EACKA,EAEA,aAIX,IAUI8R,GAVE3J,GAAYrB,aAAW,SAAAC,GAAK,MAAK,CACrC0V,UAAW,CACTzE,QAAS,OACTG,SAAU,QAEZuE,UAAW,CACTzU,WAAYlB,EAAMK,QAAQ,GAC1BW,YAAahB,EAAMK,QAAQ,QAgCxB,SAAS6K,GAAT,GAKH,IAJFC,EAIC,EAJDA,aACAC,EAGC,EAHDA,SACAC,EAEC,EAFDA,eACAlQ,EACC,EADDA,OAEA,EAAwCrE,oBAAS,GAAjD,mBAAO6L,EAAP,KAAqBiT,EAArB,KACA,EAAkD9e,oBAAS,GAA3D,mBAAO+e,EAAP,KAA0BC,EAA1B,KACA,EAA0Chf,mBAAS,IAAnD,mBAAOif,EAAP,KAAsBC,EAAtB,KACA,EAA0Clf,mBAAS,IAAnD,mBAAOmf,EAAP,KAAsBC,EAAtB,KACA,EAA4Bpf,mBAAS,IAArC,mBAAOqf,EAAP,KAAeC,EAAf,KACA,EAAsCtf,mBAAS,IAA/C,mBAAOuf,EAAP,KAAoBC,EAApB,KACA,EAA4Cxf,mBAAS,IAArD,mBAAOyf,EAAP,KAAuBC,EAAvB,KACA,EAAwC1f,mBAAS,IAAjD,mBAAO2f,EAAP,KAAqBC,EAArB,KACA9Y,qBAAU,WACR+Y,MACC,IACH/Y,qBAAU,WACR,QAAoBhO,IAAhBwb,EAAS1d,GAAkB,CAC7B,IAAMkpB,EAAM,CACVtpB,MAAO8d,EAASyL,YAAc,MAAQzL,EAAS0J,YAC/C7rB,MAAOmiB,EAAS0L,WAElBJ,EAAgBE,OACX,CAKLF,EAJY,CACVppB,MAAO,SACPrE,MAAO,IAIRmiB,EAAS2L,OACVC,GAAc,CAAC/tB,MAAQmiB,EAAS2L,MAAMzpB,MAAQ8d,EAAS2L,QAEtD3L,EAAS6L,QACVC,GAAe,CAACjuB,MAAQmiB,EAAS+L,SAAS7pB,MAAQ8d,EAAS6L,SAE1D7L,EAASgM,YACVC,GAAiB,CAACpuB,MAAQmiB,EAASgM,WAAW9pB,MAAQ8d,EAASkM,aAEhE,CAAClM,IACJ,IAAMuL,EAAe,wCAAG,qGAEpBf,GAAgB,GAFI,SAGCxJ,IAAM3M,IAAI,gCAHX,OAGdxG,EAHc,OAIpB+c,EAAiB/c,EAAO5M,KAAP,eACjB6pB,EAAiBjd,EAAO5M,KAAP,eACjBiqB,EAAerd,EAAO5M,KAAP,aACfmqB,EAAkBvd,EAAO5M,KAAP,qBACEuD,IAAhBwb,EAASlhB,KACXsF,KAAE,qCAAqC+nB,KAAK,WAAY,YACxDC,EAAsB,OAExB5B,GAAgB,GAZI,4GAAH,qDAejB6B,EAAYrM,EAASsM,YAAa,EAClCD,GACFjoB,KAAE,mBAAmBU,IAAIqlB,GAAWnK,EAASsM,YAE/BtW,KAAhB,IACMuW,EAAmB,wCAAG,WAAO5Z,GAAP,2EAC1B+X,GAAqB,GACrBM,EAAU,IACiB,KAAvBrY,EAAMrE,OAAOzQ,OAAsC,OAAtB8U,EAAMrE,OAAOke,KAHpB,gCAIHxL,IAAM3M,IAAN,oCAAuC1B,EAAMrE,OAAOzQ,QAJjD,OAKH,MADfgQ,EAJkB,QAKb4F,SACL5F,EAAO5M,KAAKsG,OAAS,EACvByjB,EAAUnd,EAAO5M,MAEjB3C,YAAa,UAAW,yCATJ,OAY1BosB,GAAqB,GAZK,2CAAH,sDAcnB0B,EAAqB,wCAAG,WAAOzZ,GAAP,2EAC5B+X,GAAqB,GACrBM,EAAU,IACI,KAAVrY,GAA0B,OAAVA,EAHQ,gCAILqO,IAAM3M,IAAN,oCAAuC1B,IAJlC,OAKL,MADf9E,EAJoB,QAKf4F,SACL5F,EAAO5M,KAAKsG,OAAS,EACvByjB,EAAUnd,EAAO5M,MAEjB3C,YAAa,UAAW,yCATF,OAY5BosB,GAAqB,GAZO,2CAAH,sDAe3B,EAAqChf,mBAAS,CAAC7N,MAAQ,GAAGqE,MAAQ,WAAlE,mBAAOuqB,GAAP,KAAmBX,GAAnB,KACA,GAAyCpgB,mBAAS,CAAC7N,MAAQ,GAAGqE,MAAQ,WAAtE,qBAAOwqB,GAAP,MAAqBT,GAArB,MACA,GAAmCvgB,mBAAS,CAAC7N,MAAQ,GAAGqE,MAAQ,WAAhE,qBAAOyqB,GAAP,MAAkBf,GAAlB,MACA,OACE,oCACE,kBAAC,IAAD,CACE3K,oBAAoB,EACpBC,cAAelB,EACfmB,iBAAkBxB,GAClByB,SAAU,SAACxb,GACT,MAAoB,KAAhBA,EAAOrD,MACTjE,YAAa,QAAS,qBACf,GAEY,KAAjBsH,EAAO+lB,OACTrtB,YAAa,QAAS,sBACf,QAEgBkG,IAArBoB,EAAO8lB,WACTptB,YAAa,QAAS,wBACf,IAETsH,EAAOgnB,UAAY1vB,SAASsR,eAAe,mBAAmB3Q,WAC9DkiB,EAAana,OAGd,kBAAG6b,EAAH,EAAGA,aAAc7P,EAAjB,EAAiBA,cAAjB,OACC,oCACE,kBAACuT,EAAA,EAAMhV,KAAP,CAAYzR,UAAU,iBACnBuhB,GACC,yBAAKvhB,UAAU,gCACb,yBAAKA,UAAU,wCAGnB,kBAAC,IAAD,CAAMA,UAAU,yBACd,yBAAKA,UAAU,uBAEb,yBAAKA,UAAU,YACb,yCACA,kBAAC,KAAD,CACEgG,KAAK,SACLxC,MAAM,SACN2W,QAASoS,EAAYxoB,KAAI,SAAC8D,GACxB,MAAO,CACL1I,MAAO0I,EAAEjE,GACTJ,MAAK,OAAEqE,QAAF,IAAEA,OAAF,EAAEA,EAAGhE,SAGd1E,MAAO4uB,GACP1e,SAAU,SAAC8e,GACTf,GAAee,GACfjb,EAAc,SAAD,OAAWib,QAAX,IAAWA,OAAX,EAAWA,EAAUhvB,UAGrC0Z,GAAgB,kBAACuV,EAAA,EAAD,OAEnB,yBAAKpuB,UAAU,YACb,2CACA,kBAAC,KAAD,CACEgG,KAAK,aACLxC,MAAM,WACN2W,QAASsS,EAAe1oB,KAAI,SAAC8D,GAC3B,MAAO,CACL1I,MAAO0I,EAAEjE,GACTJ,MAAK,OAAEqE,QAAF,IAAEA,OAAF,EAAEA,EAAGhE,SAGd1E,MAAO6uB,GACP3e,SAAU,SAAC8e,GACTZ,GAAiBY,GACjBjb,EAAc,aAAD,OAAeib,QAAf,IAAeA,OAAf,EAAeA,EAAUhvB,UAGzC0Z,GAAgB,kBAACuV,EAAA,EAAD,OAGnB,yBAAKpuB,UAAU,iBACb,kBAAC,IAAD,CACEgG,KAAK,OACL0I,UAAW2f,IACXjf,YAAY,aACZ5L,MAAM,gBAGV,yBAAKxD,UAAU,iBACb,kBAAC,IAAD,CACEgG,KAAK,WACL0I,UAAW2f,IACXjf,YAAY,4BACZ5L,MAAM,gCAIZ,yBAAKxD,UAAU,kBACb,yBAAKA,UAAU,iBACb,yBAAKA,UAAU,kBACb,kBAAC,IAAD,CACEgG,KAAK,YACL0I,UAAW2f,IACXjf,YAAY,YACZ5L,MAAM,YACNT,KAAK,SAGT,yBAAK/C,UAAU,kBACb,kBAAC,IAAD,CACEgG,KAAK,YACL0I,UAAW2f,IACXjf,YAAY,YACZ5L,MAAM,YACNT,KAAK,SAGT,yBAAK/C,UAAU,kBACb,kBAAC,IAAD,CACEgG,KAAK,MACL0I,UAAW2f,IACXjf,YAAY,MACZ5L,MAAM,MACNT,KAAK,UAIX,yBAAK/C,UAAU,iBACb,yBAAKA,UAAU,kBACb,kBAAC,IAAD,CACEgG,KAAK,YACL0I,UAAW2f,IACXjf,YAAY,WACZ5L,MAAM,cAGV,yBAAKxD,UAAU,kBACb,kBAAC,IAAD,CACEgG,KAAK,QACL0I,UAAW2f,IACXjf,YAAY,QACZ5L,MAAM,WAGV,yBAAKxD,UAAU,iBAAiBoE,MAAO,CAAE+iB,QAAS,SAChD,kBAACL,EAAD,CACE3nB,MAAK,eACoB2G,IAAvBwb,EAASsM,iBADN,QAEHnC,GAAWkC,GAEb3nB,KAAK,YACLxC,MAAM,kBAKd,yBAAKxD,UAAU,kBACb,yBAAKA,UAAU,YACb,0CACA,kBAACqqB,GAAD,CACEE,UAAU,YACVrX,cAAeA,EACfoX,YAAa2B,EACbzB,aAAcmC,IAEf9T,GAAgB,kBAACuV,EAAA,EAAD,OAEnB,yBAAKpuB,UAAU,YACb,yBAAKA,UAAU,kBACb,0CACA,kBAAC,IAAD,CACEgG,KAAK,UACL3F,GAAG,WACHL,UAAU,oBAMlB,yBAAKA,UAAU,kBACb,yBAAKA,UAAU,YACb,kBAAC,IAAD,CACEgG,KAAK,OACL0I,UAAW2f,IACXjf,YAAY,OACZ5L,MAAM,UAIV,yBAAKxD,UAAU,YACb,kBAAC,IAAD,CACEgG,KAAK,aACL0I,UAAW2f,IACXjf,YAAY,cACZ5L,MAAM,iBAIV,yBAAKxD,UAAU,YACb,0CACA,4BACEA,UAAU,eACVI,GAAG,kBACH4F,KAAK,YACLxC,MAAM,UACN6L,SAAU,SAAC4E,GACT4Z,EAAoB5Z,KAGtB,4BAAQ3M,IAAI,GAAGnI,MAAM,KAArB,UAGCgtB,EAAcpoB,KAAI,SAACC,EAAMC,GAAP,OACjB,4BAAQqD,IAAKrD,EAAO9E,MAAO6E,EAAKJ,IAC7BI,EAAKH,UAKXgV,GAAgB,kBAACuV,EAAA,EAAD,OAEnB,yBAAKpuB,UAAU,YACb,wCACA,kBAAC,KAAD,CACEgG,KAAK,QACLxC,MAAM,QACN2W,QAASkS,EAAOtoB,KAAI,SAAC8D,GACnB,MAAO,CACL1I,MAAO0I,EAAEhE,KACTL,MAAK,OAAEqE,QAAF,IAAEA,OAAF,EAAEA,EAAGhE,SAGd1E,MAAO8uB,GACP5e,SAAU,SAAC8e,GACTjB,GAAciB,GACdjb,EAAc,QAAD,OAAUib,QAAV,IAAUA,OAAV,EAAUA,EAAUhvB,UAGpC4sB,GAAqB,kBAACqC,EAAA,EAAD,CAAgBrf,MAAM,kBAKpD,kBAAC0X,EAAA,EAAM/U,OAAP,KACE,4BACE3O,KAAK,SACL0J,QAAS4E,EACTrR,UAAU,6BAHZ,UAOA,yCACA,4BACE+C,KAAK,SACL0J,QAAS,kBAAMsW,KACf/iB,UAAU,+BAHZ,cA7WdihB,GAAqBC,MAAaC,MAAM,I,aCrD3BmN,GAA2B,CAAC,SAAU,UAAW,OAAQ,IAIzD1d,GAAgB,CAAC,CAAExE,UAAW,KAAMyE,MAAO,SAC3C0d,GAAkB,CAC7B,CAAEtvB,KAAM,IAAKE,MAAO,GACpB,CAAEF,KAAM,IAAKE,MAAO,GACpB,CAAEF,KAAM,KAAME,MAAO,KAEVqvB,GAAgB,CAC3Bjf,OAAQ,CACNkf,SAAU,GACVC,UAAW,GACXC,MAAO,GACPC,UAAW,IAEbC,UAAW,MACXC,UAAW,KACXC,WAAY,EACZC,SAAU,IChBNC,GAAqBC,0BAEpB,SAASC,KACd,OAAOC,qBAAWH,IAGeA,GAAmBI,SAE/C,SAASC,GAAT,GAA6D,IAA/BC,EAA8B,EAA9BA,kBAAmB7G,EAAW,EAAXA,SACtD,EAA0C1b,mBAASwhB,IAAnD,mBAAOlJ,EAAP,KAAoBkK,EAApB,KACA,EAAsBxiB,mBAAS,IAA/B,mBAAOkY,EAAP,KAAYuK,EAAZ,KACMC,EAAiBC,uBAAY,SAAAC,GACjCJ,GAAmB,SAAAK,GAKjB,OAJIC,sBAAWF,KACbA,EAAkBA,EAAgBC,IAGhCE,mBAAQF,EAAiBD,GACpBC,EAGFD,OAER,IAqBGzwB,EAAQ,CACZmmB,cACAkK,qBACAtK,MACAuK,SACAC,iBACAM,aAzBmB,CACnB5vB,QAAI0F,EACJjC,KAAK,GACL6qB,UAAW,GACX1B,UAAU,EACVyB,SAAU,GACVwB,QAAQ,GACRC,KAAK,GACLjD,MAAM,GACN0B,MAAO,GACPwB,SAAU,GACVC,OAAQ,SACR9C,WAAW,GACXvY,OAAQ,EACRsb,aAAc,GACdzB,UAAW,GACX7rB,KAAM,GAUNutB,uBAAwBf,EAAkBe,uBAC1CC,uBAAwBhB,EAAkBgB,uBAC1CC,yBAA0BjB,EAAkBiB,yBAC5CC,0BAA2BlB,EAAkBkB,0BAC7CC,yBAA0BnB,EAAkBmB,yBAC5CC,gCAAiCpB,EAAkBoB,iCAGrD,OAAO,kBAAC1B,GAAmB2B,SAApB,CAA6BzxB,MAAOA,GAAQupB,GCvD9C,SAASmI,GAAT,GAAmD,IAArBzwB,EAAoB,EAApBA,GAAIgR,EAAgB,EAAhBA,KAAMC,EAAU,EAAVA,OAEvCyf,EAAqB3B,KACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACLhB,aAAcc,EAAmBd,gBAElC,CAACc,IAGEvL,EAAW0L,cACjB,EAA4C3N,aAC1C,SAAChE,GAAD,MAAY,CACViC,eAAgBjC,EAAMiE,UAAUhC,eAChCuC,gBAAiBxE,EAAMiE,UAAUO,mBAEnCL,KALMlC,EAAR,EAAQA,eAAgBuC,EAAxB,EAAwBA,gBAQxBhQ,qBAAU,WAERyR,EAAStB,EAAsB7jB,MAC9B,CAACA,EAAImlB,IAaR,OACE,kBAACkB,EAAA,EAAD,CACEtV,KAAK,KACLC,KAAMA,EACNC,OAAQA,EACRC,kBAAgB,gCAEhB,kBAAC+U,EAAD,CAA0BjmB,GAAIA,IAC9B,kBAACghB,GAAD,CACEC,aAnBe,SAACC,GACflhB,EAKHmlB,EAAStB,EAAuB3C,IAAW1M,MAAK,kBAAMvD,OAHtDkU,EAAStB,EAAuB3C,IAAW1M,MAAK,kBAAKvD,QAiBnDkQ,eAAgBA,EAChBD,SAAUwC,GAAmBiN,EAAiBf,aAC9C3e,OAAQA,KChDT,SAAS6f,GAAT,GAAqD,IAArB9wB,EAAoB,EAApBA,GAAIgR,EAAgB,EAAhBA,KAAMC,EAAU,EAAVA,OAEzCyf,EAAqB3B,KACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACLvB,OAAQqB,EAAmBrB,OAC3BnK,YAAawL,EAAmBxL,eAEjC,CAACwL,IAGEvL,EAAW0L,cACT5N,EAAcC,aACpB,SAAChE,GAAD,MAAY,CAAE+D,UAAW/D,EAAMiE,UAAUhC,kBACzCkC,KAFMJ,UAMRvP,qBAAU,WACH1T,GACHiR,MAGD,CAACjR,IAGJ0T,qBAAU,cAAU,CAACuP,EAAWkC,IAchC,OACE,kBAACkB,EAAA,EAAD,CACErV,KAAMA,EACNC,OAAQA,EACRC,kBAAgB,gCAGf+R,GAAa,kBAAC,IAAD,MAEd,kBAACoD,EAAA,EAAMlV,OAAP,CAAcmV,aAAW,GACvB,kBAACD,EAAA,EAAM9U,MAAP,CAAavR,GAAG,gCAAhB,mBAIF,kBAACqmB,EAAA,EAAMhV,KAAP,MACI4R,GACA,kFAEDA,GAAa,yDAEhB,kBAACoD,EAAA,EAAM/U,OAAP,KACE,6BACE,4BACE3O,KAAK,SACL0J,QAAS4E,EACTrR,UAAU,6BAHZ,UAOA,yCACA,4BACE+C,KAAK,SACL0J,QA5Ca,WAErB8Y,EAAStB,EAAuB7jB,IAAKwU,MAAK,WAExC2Q,EAAStB,EAAuB8M,EAAiBzL,cAEjDyL,EAAiBtB,OAAO,IAExBpe,QAqCMrR,UAAU,8BAHZ,aCtEH,SAASmxB,GAAT,GAAkD,IAAjB/f,EAAgB,EAAhBA,KAAMC,EAAU,EAAVA,OAEtCyf,EAAqB3B,KACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACL9L,IAAK4L,EAAmB5L,IACxBuK,OAAQqB,EAAmBrB,OAC3BnK,YAAawL,EAAmBxL,eAEjC,CAACwL,IAGEvL,EAAW0L,cACT5N,EAAcC,aACpB,SAAChE,GAAD,MAAY,CAAE+D,UAAW/D,EAAMiE,UAAUhC,kBACzCkC,KAFMJ,UAMRvP,qBAAU,WACHid,EAAiB7L,KAAuC,IAAhC6L,EAAiB7L,IAAIrc,QAChDwI,MAGD,CAAC0f,EAAiB7L,MAGrBpR,qBAAU,cAAU,CAACuP,EAAWkC,IAiBhC,OACE,kBAACkB,EAAA,EAAD,CACErV,KAAMA,EACNC,OAAQA,EACRC,kBAAgB,gCAGf+R,GAAa,kBAAC,IAAD,MAEd,kBAACoD,EAAA,EAAMlV,OAAP,CAAcmV,aAAW,GACvB,kBAACD,EAAA,EAAM9U,MAAP,CAAavR,GAAG,gCAAhB,qBAIF,kBAACqmB,EAAA,EAAMhV,KAAP,MACI4R,GACA,wFAEDA,GAAa,2DAEhB,kBAACoD,EAAA,EAAM/U,OAAP,KACE,6BACE,4BACE3O,KAAK,SACL0J,QAAS4E,EACTrR,UAAU,6BAHZ,UAOA,yCACA,4BACE+C,KAAK,SACL0J,QA/Cc,WAEtB8Y,EAAStB,EAAwB8M,EAAiB7L,MAAMtQ,MAAK,WAE3D2Q,EAAStB,EAAuB8M,EAAiBzL,cAAc1Q,MAC7D,WAEEmc,EAAiBtB,OAAO,IAExBpe,WAuCErR,UAAU,+BAHZ,aC3EV,IAAMoxB,GAAoB,SAACvN,EAAUqB,GACnC,IAAMmM,EAAa,GAOnB,OANAnM,EAAIhkB,SAAQ,SAACd,GACX,IAAMkhB,EAAWuC,EAASV,MAAK,SAAC6B,GAAD,OAAQA,EAAG5kB,KAAOA,KAC7CkhB,GACF+P,EAAWvoB,KAAKwY,MAGb+P,GAGF,SAASC,GAAT,GAAiD,IAAjBlgB,EAAgB,EAAhBA,KAAMC,EAAU,EAAVA,OAErCyf,EAAqB3B,KACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACL9L,IAAK4L,EAAmB5L,OAEzB,CAAC4L,IAGIvN,EAAcD,aACpB,SAAChE,GAAD,MAAY,CACViE,UAAW6N,GACT9R,EAAMiE,UAAUM,SAChBkN,EAAiB7L,QAGrBzB,KAPMF,UAkBR,OAPAzP,qBAAU,WACHid,EAAiB7L,KAAuC,IAAhC6L,EAAiB7L,IAAIrc,QAChDwI,MAGD,CAAC0f,EAAiB7L,MAGnB,kBAACuB,EAAA,EAAD,CACErV,KAAMA,EACNC,OAAQA,EACRC,kBAAgB,gCAEhB,kBAACmV,EAAA,EAAMlV,OAAP,CAAcmV,aAAW,GACvB,kBAACD,EAAA,EAAM9U,MAAP,CAAavR,GAAG,gCAAhB,4BAIF,kBAACqmB,EAAA,EAAMhV,KAAP,KACE,yBAAKzR,UAAU,4BACZujB,EAAUxf,KAAI,SAACud,GAAD,OACb,yBAAKthB,UAAU,kCAAkCsH,IAAG,YAAOga,EAASlhB,KAClE,yBAAKJ,UAAU,gFACf,yBAAKA,UAAU,kBACb,uBACEA,UAAS,gCACPsuB,GAAyBhN,EAASvM,QAD3B,gBAKb,yBAAK/U,UAAU,sCACb,0BACIA,UAAS,qCACPsuB,GAAyBhN,EAASvM,QAD3B,kBADb,OAKSuM,EAASlhB,IAElB,0BAAMJ,UAAU,QAAQshB,EAASmN,SAAjC,KAA6CnN,EAASoN,kBAMhE,kBAACjI,EAAA,EAAM/U,OAAP,KACE,6BACE,4BACE3O,KAAK,SACL0J,QAAS4E,EACTrR,UAAU,6BAHZ,UAOA,yCACA,4BACE+C,KAAK,SACL0J,QAAS4E,EACTrR,UAAU,+BAHZ,SCrFV,IAAMoxB,GAAoB,SAACvN,EAAUqB,GACnC,IAAMmM,EAAa,GAOnB,OANAnM,EAAIhkB,SAAQ,SAACd,GACX,IAAMkhB,EAAWuC,EAASV,MAAK,SAAC6B,GAAD,OAAQA,EAAG5kB,KAAOA,KAC7CkhB,GACF+P,EAAWvoB,KAAKwY,MAGb+P,GAGF,SAASE,GAAT,GAAuD,IAAjBngB,EAAgB,EAAhBA,KAAMC,EAAU,EAAVA,OAE3Cyf,EAAqB3B,KACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACL9L,IAAK4L,EAAmB5L,IACxBuK,OAAQqB,EAAmBrB,OAC3BnK,YAAawL,EAAmBxL,eAEjC,CAACwL,IAGJ,EAAiCxN,aAC/B,SAAChE,GAAD,MAAY,CACViE,UAAW6N,GACT9R,EAAMiE,UAAUM,SAChBkN,EAAiB7L,KAEnB7B,UAAW/D,EAAMiE,UAAUhC,kBAE7BkC,KARMF,EAAR,EAAQA,UAAWF,EAAnB,EAAmBA,UAYnBvP,qBAAU,WACHid,EAAiB7L,KAAuC,IAAhC6L,EAAiB7L,IAAIrc,QAChDwI,MAGD,CAAC0f,EAAiB7L,MAErB,MAA4BlY,mBAAS,GAArC,mBAAO+H,EAAP,KAAeyc,EAAf,KAEMjM,EAAW0L,cAkBjB,OACE,kBAACxK,EAAA,EAAD,CACErV,KAAMA,EACNC,OAAQA,EACRC,kBAAgB,gCAEhB,kBAACmV,EAAA,EAAMlV,OAAP,CAAcmV,aAAW,GACvB,kBAACD,EAAA,EAAM9U,MAAP,CAAavR,GAAG,gCAAhB,mDAIF,kBAACqmB,EAAA,EAAMhV,KAAP,CAAYzR,UAAU,yBAEnBqjB,GACC,yBAAKrjB,UAAU,iBACb,yBAAKA,UAAU,wCAKnB,yBAAKA,UAAU,4BACZujB,EAAUxf,KAAI,SAACud,GAAD,OACb,yBACEthB,UAAU,kCACVsH,IAAG,yBAAoBga,EAASlhB,KAEhC,yBAAKJ,UAAU,gFACf,yBAAKA,UAAU,kBACb,uBACEA,UAAS,gCACPsuB,GAAyBhN,EAASvM,QAD3B,gBAKb,yBAAK/U,UAAU,sCACb,0BACEA,UAAS,qCACPsuB,GAAyBhN,EAASvM,QAD3B,kBADX,OAKOuM,EAASlhB,IAEhB,0BAAMJ,UAAU,QACbshB,EAASmN,SADZ,KACwBnN,EAASoN,kBAO3C,kBAACjI,EAAA,EAAM/U,OAAP,CAAc1R,UAAU,QACtB,yBAAKA,UAAU,cACb,4BACEA,UAAU,eACVb,MAAO4V,EACP1F,SAAU,SAACC,GAAD,OAAOkiB,GAAWliB,EAAEM,OAAOzQ,SAErC,4BAAQA,MAAM,KAAd,aACA,4BAAQA,MAAM,KAAd,UACA,4BAAQA,MAAM,KAAd,aAGJ,yBAAKa,UAAU,cACb,4BACE+C,KAAK,SACL0J,QAAS4E,EACTrR,UAAU,kCAHZ,UAOA,4BACE+C,KAAK,SACL0J,QAzFW,WAEnB8Y,EAAStB,EAA8B8M,EAAiB7L,IAAKnQ,IAASH,MACpE,WAEE2Q,EAAStB,EAAuB8M,EAAiBzL,cAAc1Q,MAC7D,WAEEmc,EAAiBtB,OAAO,IAExBpe,WAgFArR,UAAU,+BAHZ,oB,63MCzHV,IAAMyxB,GAAaC,aAAW,CAC5Brb,MAAO,CACLzC,OAAQ,sBAFO8d,EAIhB,SAAA3xB,GAAK,OACN,kBAAC,KAAD,eACE4xB,UAAW,EACXC,mBAAoB,KACpBC,aAAc,CACZC,SAAU,SACVC,WAAY,UAEdC,gBAAiB,CACfF,SAAU,MACVC,WAAY,WAEVhyB,OAGFkyB,GAAiBP,cAAW,SAAAxb,GAAK,MAAK,CAC1CC,KAAM,CACJ,UAAW,CACTyR,gBAAiB1R,EAAM4R,QAAQqD,QAAQ+G,KACvC,sDAAuD,CACrDnjB,MAAOmH,EAAM4R,QAAQqK,OAAOC,YALbV,CASnB1H,KACc/T,aAAW,SAAAC,GAAK,MAAK,CACrCa,OAAQ,CACNC,OAAQd,EAAMK,QAAQ,IAExBU,SAAU,CACRC,YAAahB,EAAMK,QAAQ,IAE7BY,UAAW,CACTC,WAAYlB,EAAMK,QAAQ,IAE5Bc,UAAW,CACThT,SAAU,QAeP,SAASguB,GAAT,GAA0C,EAAf7O,YAAgB,IAE1CsN,EAAqB3B,KAC3B,EAAsCniB,mBAAS,IAA/C,mBAAOslB,EAAP,KAAoBC,EAApB,KAEMxB,EAAmBC,mBAAQ,WAC/B,MAAO,CACL1L,YAAawL,EAAmBxL,YAChCoK,eAAgBoB,EAAmBpB,kBAEpC,CAACoB,IAGE0B,EAAc,SAACtrB,GACnB,IAAMurB,EA1BY,SAACnN,EAAape,GAClC,IAAQwrB,EAA4BxrB,EAA5BwrB,WAAYC,EAAgBzrB,EAAhByrB,YACdF,EAAc,eAAQnN,GACtB/V,EAAS,GAMf,OALAA,EAAOojB,YAAcA,IAAe,EAChCD,IACFnjB,EAAO0gB,QAAUyC,GAEnBD,EAAeljB,OAASA,EACjBkjB,EAiBkBG,CAAc7B,EAAiBzL,YAAape,GAC9D6oB,mBAAQ0C,EAAgB1B,EAAiBzL,eAC5CmN,EAAe1D,WAAa,EAE5BwD,EAAeE,GAEf1B,EAAiBrB,eAAe+C,KAc9BlyB,EAXY0V,aAAW,SAAAC,GAAK,MAAK,CACrC0V,UAAW,CACTzE,QAAS,OACTG,SAAU,QAEZuE,UAAW,CACTzU,WAAYlB,EAAMK,QAAQ,GAC1BW,YAAahB,EAAMK,QAAQ,GAC3BH,MAAO,QAGKkB,GAChB,EAAgCoT,IAAM1d,SAAS,MAA/C,mBAAO6lB,EAAP,KAAiBC,EAAjB,KACA,SAASC,EAAY9e,GACnB6e,EAAY7e,EAAM+e,eAEpB,SAASC,IACPH,EAAY,MAxCiC,SA2ChCI,EA3CgC,iFA2C/C,WAA2BnwB,EAAMowB,GAAjC,iFACM5jB,EAAS+iB,GADf,uBAGI/iB,EAAOyf,SAAS,IAHpB,SAIyB1M,IAAMkD,KAAN,4BAAwC,CAAE,YAAejW,IAJlF,OAIUJ,EAJV,OAKIzO,aAAOyO,EAAO5M,KAAKshB,SAAU9gB,EAAMowB,GALvC,wCAOyB7Q,IAAMkD,KAAN,4BAAwC,CAAE,YAAe,CAAE,OAAU,CAAC,aAAe,GAAS,UAAa,MAAO,UAAa,KAAM,WAAc,EAAG,SAAY,OAP3L,QAOUrW,EAPV,OAQIzO,aAAOyO,EAAO5M,KAAKshB,SAAU9gB,EAAMowB,GARvC,6CA3C+C,sBAsD/C,OACE,oCACE,kBAAC,IAAD,CACE3Q,cAAe,CACbkQ,WAAY,IAEdhQ,SAAU,SAACxb,GACTsrB,EAAYtrB,MAGb,gBACCA,EADD,EACCA,OACA6b,EAFD,EAECA,aACAqQ,EAHD,EAGCA,WAEAlgB,GALD,EAICmgB,aAJD,EAKCngB,eALD,OAOG,0BAAMwP,SAAUK,EAAc/iB,UAAU,yBACtC,2BACE+C,KAAK,SACL/C,UAAU,SACVI,GAAG,gBACHqM,QAAS,SAAC6C,GACc,KAAlBA,EAAEM,OAAOzQ,MACXX,SAASsR,eAAe,iBAAiB3Q,MAAQ,EAC9CX,SAASsR,eAAe,iBAAiB3Q,MAAQ,EACtD+T,EAAc,cAAe5D,EAAEM,OAAOzQ,OACtC4jB,OAGJ,yBAAK/iB,UAAU,kBACb,yBAAKA,UAAU,YACb,2BACE+C,KAAK,OACL/C,UAAU,eACVgG,KAAK,aACLoJ,YAAY,SACZkkB,OAAQF,EACRj0B,MAAO+H,EAAOwrB,WACdrjB,SAAU,SAACC,GACT4D,EAAc,aAAc5D,EAAEM,OAAOzQ,OACrC4jB,OAGJ,2BAAO/iB,UAAU,wBACf,qCADF,mBAIF,yBAAKA,UAAU,aAGf,yBAAKA,UAAU,YACb,kBAACuzB,GAAA,EAAD,CAAevzB,UAAU,gCACvB,kBAACwzB,GAAA,EAAD,CAAQpvB,MAAO,CAAEwS,OAAQ,QAEvB6c,gBAAc,kBACdC,gBAAc,OACdC,QAAQ,WAAW5kB,MAAM,UACzBtC,QAASsmB,GALX,YAQgC,kBAACa,GAAA,EAAD,CAAM5zB,UAAWO,EAAQ4W,WAAzB,SAGhC,kBAACsa,GAAD,CACErxB,GAAG,kBACHyyB,SAAUA,EACVgB,aAAW,EACXC,KAAMC,QAAQlB,GACdmB,QAASf,GAET,kBAAChB,GAAD,CAAgBxlB,QAAS,SAACwH,GACxBif,EAAY,QAAS,cAGrB,kBAACe,GAAA,EAAD,KACE,uBAAG9vB,MAAM,uBAEX,kBAAC+vB,GAAA,EAAD,CAAc/I,QAAQ,WAGxB,kBAAC8G,GAAD,CAAgBxlB,QAAS,SAACwH,GACxBif,EAAY,MAAO,cAEnB,kBAACe,GAAA,EAAD,KACE,uBAAG9vB,MAAM,qBAEX,kBAAC+vB,GAAA,EAAD,CAAc/I,QAAQ,SAGxB,kBAAC8G,GAAD,CAAgBxlB,QAAS,SAACwH,GACxBif,EAAY,OAAQ,cAEpB,kBAACe,GAAA,EAAD,KACE,uBAAG9vB,MAAM,sBAGX,kBAAC+vB,GAAA,EAAD,CAAc/I,QAAQ,mB,4ECzNvC,SAASgJ,GACdC,EACA5sB,EACA6sB,EAHK,GAKJ,IADC9D,EACF,EADEA,uBAAwBC,EAC1B,EAD0BA,yBAE1B,OACE,oCACE,uBACEpR,MAAM,eACNpf,UAAU,uDACVyM,QAAS,kBAAM8jB,EAAuB/oB,EAAIpH,MAE1C,0BAAMJ,UAAU,yCACd,kBAAC,KAAD,CACEwI,IAAKC,aAAc,gDAIzB,yCAEA,uBACE2W,MAAM,iBACNpf,UAAU,iDACVyM,QAAS,kBAAM+jB,EAAyBhpB,EAAIpH,MAE5C,0BAAMJ,UAAU,wCACd,kBAAC,KAAD,CAAKwI,IAAKC,aAAc,2CCX3B,SAAS6rB,KAEd,IAAMxD,EAAqB3B,KACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACL9L,IAAK4L,EAAmB5L,IACxBuK,OAAQqB,EAAmBrB,OAC3BnK,YAAawL,EAAmBxL,YAChCoK,eAAgBoB,EAAmBpB,eACnCa,uBAAwBO,EAAmBP,uBAC3CC,yBAA0BM,EAAmBN,4BAE9C,CAACM,IAGIyD,EAAiBjR,aACvB,SAAChE,GAAD,MAAY,CAAEiV,aAAcjV,EAAMiE,aAClCE,KAFM8Q,aAIA3Q,EAAsC2Q,EAAtC3Q,WAAYC,EAA0B0Q,EAA1B1Q,SAAUL,EAAgB+Q,EAAhB/Q,YAGxB+B,EAAW0L,cACjBnd,qBAAU,WAERid,EAAiBtB,OAAO,IAExBlK,EAAStB,EAAuB8M,EAAiBzL,gBAEhD,CAACyL,EAAiBzL,YAAaC,IAElC,IAAMpZ,EAAU,CACd,CACEC,UAAW,KACXnN,KAAM,aACNyN,MAAM,EACNC,UAAWA,KACXC,2BAEF,CACER,UAAW,OACXnN,KAAM,aACNyN,MAAM,EACNC,UAAWA,KACXC,2BAEF,CACER,UAAW,WACXnN,KAAM,YACNyN,MAAM,EACNC,UAAWA,KACXC,2BAEF,CACER,UAAW,cACXnN,KAAM,YACNyN,MAAM,EACNC,UAAWA,KACXC,2BAEF,CACER,UAAW,QACXnN,KAAM,QACNyN,MAAM,EACNC,UAAWA,KACXC,2BAEF,CACER,UAAW,cACXnN,KAAM,UACNyN,MAAM,EACNC,UAAWA,KACXC,2BAEF,CACER,UAAW,UACXnN,KAAM,UACNyN,MAAM,EACNC,UAAWA,KACXC,2BAEF,CACER,UAAW,SACXnN,KAAM,UACNoN,UAAWmoB,GACXC,gBAAiB,CACflE,uBAAwBQ,EAAiBR,uBACzCC,yBAA0BO,EAAiBP,0BAE7CjwB,QAAS,mBACTm0B,cAAe,mBACftwB,MAAO,CACLuS,SAAU,WAKVge,EAAoB,CACxBC,QAAQ,EACRC,UAAWjR,EACX2K,gBAAiBuG,GACjBC,YAAahE,EAAiBzL,YAAY0J,SAC1CgG,KAAMjE,EAAiBzL,YAAYyJ,YAErC,OACE,oCACE,kBAAC,sBAAD,CAAoBje,WAAYC,KAAkB4jB,KAC/C,YAAgD,IAA7CM,EAA4C,EAA5CA,gBAAiBC,EAA2B,EAA3BA,qBACnB,OACE,kBAAC,IAAD,CACE7R,UAAWG,EACXyR,gBAAiBA,GAEjB,kBAAC,KAAD,eACEjkB,eAAe,mBACfE,UAAU,EACV3Q,QAAQ,gDACR0Q,YAAU,EACVkkB,QAAM,EACNxkB,SAAS,KACTpO,KAAmB,OAAbshB,EAAoB,GAAKA,EAC/B1X,QAASA,EACTyE,cAAekkB,GACfM,cAAeC,aACbtE,EAAiBrB,iBAEfwF,GAEJ,kBAAC,KAAD,CAAmBrR,SAAUA,IAC7B,kBAAC,KAAD,CAAuBA,SAAUA,UCrJ1C,SAASyR,KAEd,IAAMxE,EAAqB3B,KACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACL9L,IAAK4L,EAAmB5L,IACxBuK,OAAQqB,EAAmBrB,OAC3BgB,0BAA2BK,EAAmBL,0BAC9CC,yBAA0BI,EAAmBJ,yBAC7CC,gCACEG,EAAmBH,mCAEtB,CAACG,IAEJ,OACE,yBAAK9wB,UAAU,QACb,yBAAKA,UAAU,4EACb,yBAAKA,UAAU,aACb,yBAAKA,UAAU,gCACb,yBAAKA,UAAU,iCACb,2BAAOA,UAAU,yBACf,yDAC0B,2BAAI+wB,EAAiB7L,IAAIrc,WAIvD,6BACE,4BACE9F,KAAK,SACL/C,UAAU,iDACVyM,QAASskB,EAAiBN,2BAE1B,uBAAGzwB,UAAU,gBALf,eADF,OASE,4BACE+C,KAAK,SACL/C,UAAU,wDACVyM,QAASskB,EAAiBL,0BAE1B,uBAAG1wB,UAAU,iBALf,mBATF,OAiBE,4BACE+C,KAAK,SACL/C,UAAU,wDACVyM,QAASskB,EAAiBJ,iCAE1B,uBAAG3wB,UAAU,mBALf,uBClCP,SAASu1B,KACd,IAAMzE,EAAqB3B,KACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACL9L,IAAK4L,EAAmB5L,IACxBoL,uBAAwBQ,EAAmBR,0BAE5C,CAACQ,IAEJ,OACE,kBAAC,IAAD,KACE,kBAAC,IAAD,CAAY1R,MAAM,mBAChB,kBAAC,IAAD,KACE,4BACErc,KAAK,SACL/C,UAAU,kBACVyM,QAASskB,EAAiBT,wBAH5B,iBASJ,kBAAC,IAAD,KACE,kBAAC+B,GAAD,MACCtB,EAAiB7L,IAAIrc,OAAS,GAAK,kBAACysB,GAAD,MACpC,kBAAChB,GAAD,QC1BD,SAASkB,GAAT,GAA0C,IAAZC,EAAW,EAAXA,QAC7BlG,EAAoB,CACxBe,uBAAwB,WACtBmF,EAAQ3sB,KAAK,kCAEfynB,uBAAwB,SAACnwB,GACvBq1B,EAAQ3sB,KAAR,oCAA0C1I,EAA1C,WAEFowB,yBAA0B,SAACpwB,GACzBq1B,EAAQ3sB,KAAR,oCAA0C1I,EAA1C,aAEFqwB,0BAA2B,WACzBgF,EAAQ3sB,KAAR,8CAEF4nB,yBAA0B,WACxB+E,EAAQ3sB,KAAR,oCAEF6nB,gCAAiC,WAC/B8E,EAAQ3sB,KAAK,4CAIjB,OACE,kBAACwmB,GAAD,CAAqBC,kBAAmBA,GACtC,kBAACnM,EAAD,MACA,kBAAC,IAAD,CAAOnV,KAAK,kCACT,gBAAGwnB,EAAH,EAAGA,QAAS1pB,EAAZ,EAAYA,MAAZ,OACC,kBAAC8kB,GAAD,CACEzf,KAAe,MAATrF,EACNsF,OAAQ,WACNokB,EAAQ3sB,KAAK,mCAKrB,kBAAC,IAAD,CAAOmF,KAAK,uCACT,gBAAGwnB,EAAH,EAAGA,QAAS1pB,EAAZ,EAAYA,MAAZ,OACC,kBAAC8kB,GAAD,CACEzf,KAAe,MAATrF,EACN3L,GAAI2L,GAASA,EAAM2pB,OAAOt1B,GAC1BiR,OAAQ,WACNokB,EAAQ3sB,KAAK,mCAKrB,kBAAC,IAAD,CAAOmF,KAAK,8CACT,gBAAGwnB,EAAH,EAAGA,QAAS1pB,EAAZ,EAAYA,MAAZ,OACC,kBAAColB,GAAD,CACE/f,KAAe,MAATrF,EACNsF,OAAQ,WACNokB,EAAQ3sB,KAAK,mCAKrB,kBAAC,IAAD,CAAOmF,KAAK,yCACT,gBAAGwnB,EAAH,EAAGA,QAAS1pB,EAAZ,EAAYA,MAAZ,OACC,kBAACmlB,GAAD,CACE9f,KAAe,MAATrF,EACN3L,GAAI2L,GAASA,EAAM2pB,OAAOt1B,GAC1BiR,OAAQ,WACNokB,EAAQ3sB,KAAK,mCAKrB,kBAAC,IAAD,CAAOmF,KAAK,oCACT,gBAAGwnB,EAAH,EAAGA,QAAS1pB,EAAZ,EAAYA,MAAZ,OACC,kBAACulB,GAAD,CACElgB,KAAe,MAATrF,EACNsF,OAAQ,WACNokB,EAAQ3sB,KAAK,mCAKrB,kBAAC,IAAD,CAAOmF,KAAK,2CACT,gBAAGwnB,EAAH,EAAGA,QAAS1pB,EAAZ,EAAYA,MAAZ,OACC,kBAACwlB,GAAD,CACEngB,KAAe,MAATrF,EACNsF,OAAQ,WACNokB,EAAQ3sB,KAAK,mCAKrB,kBAACysB,GAAD,OAlGN,oC,6ECIO,SAASnS,IAEd,IAAQC,EAAcC,aACpB,SAAChE,GAAD,MAAY,CAAE+D,UAAW/D,EAAMiE,UAAUC,eACzCC,KAFMJ,UAMR,OADAvP,qBAAU,cAAU,CAACuP,IACd,kBAAC,IAAD,CAAeA,UAAWA,EAAWpkB,KAAK,gB,6BCVtCykB,EAAgB,4B,YCAvBC,EAAwB,CAC5BH,aAAa,EACbjC,gBAAgB,EAChBqC,WAAY,EACZC,SAAU,KACVC,qBAAiBhe,EACjBie,UAAW,MAEAC,EACL,OADKA,EAEH,SCTHC,EDYuBC,YAAY,CACxCle,KAAM,YACNme,aAAcR,EACdS,SAAU,CACRC,WAAY,SAAC/E,EAAOgF,GAClBhF,EAAM/U,MAAN,UAAiB+Z,EAAOvhB,KAAxB,aAAiCuhB,EAAOC,QAAQha,OAC5C+Z,EAAOC,QAAQC,WAAaR,EAC9B1E,EAAMkE,aAAc,EAEpBlE,EAAMiC,gBAAiB,GAG3BkD,UAAW,SAACnF,EAAOgF,GACjBhF,EAAM/U,MAAQ,KACV+Z,EAAOC,QAAQC,WAAaR,EAC9B1E,EAAMkE,aAAc,EAEpBlE,EAAMiC,gBAAiB,GAI3BmD,gBAAiB,SAACpF,EAAOgF,GACvBhF,EAAMiC,gBAAiB,EACvBjC,EAAMwE,gBAAkBQ,EAAOC,QAAQT,gBACvCxE,EAAM/U,MAAQ,MAGhBoa,iBAAkB,SAACrF,EAAOgF,GACxB,MAAiCA,EAAOC,QAAhCX,EAAR,EAAQA,WAAYC,EAApB,EAAoBA,SACpBvE,EAAMkE,aAAc,EACpBlE,EAAM/U,MAAQ,KACd+U,EAAMuE,SAAWA,EACjBvE,EAAMsE,WAAaA,GAGrBgB,gBAAiB,SAACtF,EAAOgF,GACvBhF,EAAMiC,gBAAiB,EACvBjC,EAAM/U,MAAQ,KACd+U,EAAMuE,SAAS/a,KAAKwb,EAAOC,QAAQjD,WAGrCuD,gBAAiB,SAACvF,EAAOgF,GACvBhF,EAAM/U,MAAQ,KACd+U,EAAMiC,gBAAiB,EACvBjC,EAAMuE,SAAWvE,EAAMuE,SAAS9f,KAAI,SAAA+gB,GAClC,OAAIA,EAAO1kB,KAAOkkB,EAAOC,QAAQjD,SAASlhB,GACjCkkB,EAAOC,QAAQjD,SAEjBwD,MAIXC,gBAAiB,SAACzF,EAAOgF,GACvBhF,EAAM/U,MAAQ,KACd+U,EAAMiC,gBAAiB,EACvBjC,EAAMuE,SAAWvE,EAAMuE,SAAStU,QAAO,SAAAyV,GAAE,OAAIA,EAAG5kB,KAAOkkB,EAAOC,QAAQnkB,OAGxE6kB,iBAAkB,SAAC3F,EAAOgF,GACxBhF,EAAM/U,MAAQ,KACd+U,EAAMiC,gBAAiB,EACvBjC,EAAMuE,SAAWvE,EAAMuE,SAAStU,QAC9B,SAAAyV,GAAE,OAAKV,EAAOC,QAAQW,IAAIvV,SAASqV,EAAG5kB,QAI1C+kB,uBAAwB,SAAC7F,EAAOgF,GAC9BhF,EAAMiC,gBAAiB,EACvBjC,EAAM/U,MAAQ,KACd,MAAwB+Z,EAAOC,QAAvBW,EAAR,EAAQA,IAAKnQ,EAAb,EAAaA,OACbuK,EAAMuE,SAAWvE,EAAMuE,SAAS9f,KAAI,SAAA+gB,GAIlC,OAHII,EAAIE,WAAU,SAAAhlB,GAAE,OAAIA,IAAO0kB,EAAO1kB,OAAO,IAC3C0kB,EAAO/P,OAASA,GAEX+P,SCtFRb,QAEMoB,EAAiB,SAAAC,GAAW,OAAI,SAAAC,GAE3C,OADAA,EAAStB,EAAQQ,UAAU,CAAED,SAAUR,KFclC,SAAuBsB,GAC5B,OAAOhD,IAAMkD,KAAN,UAAc9B,EAAd,SAAoC,CAAE4B,gBEdtCG,CACUH,GACd1Q,MAAK,SAAAC,GACJ,MAAiCA,EAAStS,KAAlCqhB,EAAR,EAAQA,WAAYC,EAApB,EAAoBA,SACpB0B,EAAStB,EAAQU,iBAAiB,CAAEf,aAAYC,iBAEjD1O,OAAM,SAAA5K,GACLA,EAAMmb,cAAgB,uBACtBH,EAAStB,EAAQI,WAAW,CAAE9Z,QAAOia,SAAUR,UAIxC2B,EAAgB,SAAAvlB,GAAE,OAAI,SAAAmlB,GACjC,OAAKnlB,GAILmlB,EAAStB,EAAQQ,UAAU,CAAED,SAAUR,MFVT4B,EEYXxlB,EFXZkiB,IAAM3M,IAAN,UAAa+N,EAAb,YAA8BkC,KEYlChR,MAAK,SAAAC,GACJ,IAAMyM,EAAWzM,EAAStS,KAC1BgjB,EAAStB,EAAQS,gBAAgB,CAAEZ,gBAAiBxC,QAErDnM,OAAM,SAAA5K,GACLA,EAAMmb,cAAgB,sBACtBH,EAAStB,EAAQI,WAAW,CAAE9Z,QAAOia,SAAUR,SAZ1CuB,EAAStB,EAAQS,gBAAgB,CAAEZ,qBAAiBhe,KFPxD,IAAyB8f,IEuBnBC,EAAiB,SAAAzlB,GAAE,OAAI,SAAAmlB,GAElC,OADAA,EAAStB,EAAQQ,UAAU,CAAED,SAAUR,MFAV4B,EEEXxlB,EFDXkiB,IAAMwD,OAAN,UAAgBpC,EAAhB,YAAiCkC,KEErChR,MAAK,SAAAC,GACJ0Q,EAAStB,EAAQc,gBAAgB,CAAE3kB,WAEpC+U,OAAM,SAAA5K,GACLA,EAAMmb,cAAgB,wBACtBH,EAAStB,EAAQI,WAAW,CAAE9Z,QAAOia,SAAUR,QFR9C,IAAwB4B,IEYlBG,EAAiB,SAAAC,GAAmB,OAAI,SAAAT,GAEnD,OADAA,EAAStB,EAAQQ,UAAU,CAAED,SAAUR,MF9CV1C,EEgDX0E,EF/CX1D,IAAMkD,KAAK9B,EAAe,CAAEpC,cEgDhC1M,MAAK,SAAAC,GACJ,IAAQyM,EAAazM,EAAStS,KAAtB+e,SACRiE,EAAStB,EAAQW,gBAAgB,CAAEtD,iBAEpCnM,OAAM,SAAA5K,GACLA,EAAMmb,cAAgB,wBACtBH,EAAStB,EAAQI,WAAW,CAAE9Z,QAAOia,SAAUR,QFvD9C,IAAwB1C,IE2DlB2E,EAAiB,SAAA3E,GAAQ,OAAI,SAAAiE,GAExC,OADAA,EAAStB,EAAQQ,UAAU,CAAED,SAAUR,KFxClC,SAAwB1C,GAC7B,OAAOgB,IAAM4D,IAAN,UAAaxC,EAAb,YAA8BpC,EAASlhB,IAAM,CAAEkhB,aEwC/CmE,CACWnE,GACf1M,MAAK,WACJ2Q,EAAStB,EAAQY,gBAAgB,CAAEvD,iBAEpCnM,OAAM,SAAA5K,GACLA,EAAMmb,cAAgB,wBACtBH,EAAStB,EAAQI,WAAW,CAAE9Z,QAAOia,SAAUR,UAIxCmC,EAAwB,SAACjB,EAAKnQ,GAAN,OAAiB,SAAAwQ,GAEpD,OADAA,EAAStB,EAAQQ,UAAU,CAAED,SAAUR,KFhDlC,SAAkCkB,EAAKnQ,GAC5C,OAAOuN,IAAMkD,KAAN,UAAc9B,EAAd,6BAAwD,CAC7DwB,MACAnQ,WE8CK0Q,CACqBP,EAAKnQ,GAC9BH,MAAK,WACJ2Q,EAAStB,EAAQkB,uBAAuB,CAAED,MAAKnQ,eAEhDI,OAAM,SAAA5K,GACLA,EAAMmb,cAAgB,gCACtBH,EAAStB,EAAQI,WAAW,CAAE9Z,QAAOia,SAAUR,UAIxCoC,EAAkB,SAAAlB,GAAG,OAAI,SAAAK,GAEpC,OADAA,EAAStB,EAAQQ,UAAU,CAAED,SAAUR,KFhDlC,SAAyBkB,GAC9B,OAAO5C,IAAMkD,KAAN,UAAc9B,EAAd,oBAA+C,CAAEwB,QEgDjDO,CACYP,GAChBtQ,MAAK,WACJ2Q,EAAStB,EAAQgB,iBAAiB,CAAEC,YAErC/P,OAAM,SAAA5K,GACLA,EAAMmb,cAAgB,yBACtBH,EAAStB,EAAQI,WAAW,CAAE9Z,QAAOia,SAAUR,U,OC9F9C,SAASqC,EAAT,GAA2C,IAAPjmB,EAAM,EAANA,GAEzC,EAA4CkjB,aAC1C,SAAChE,GAAD,MAAY,CACVwE,gBAAiBxE,EAAMiE,UAAUO,gBACjCvC,eAAgBjC,EAAMiE,UAAUhC,kBAElCkC,KALMK,EAAR,EAAQA,gBAAiBvC,EAAzB,EAAyBA,eAQzB,EAA0BvU,mBAAS,IAAnC,mBAAOoS,EAAP,KAAckH,EAAd,KAYA,OAVAxS,qBAAU,WACR,IAAIyS,EAASnmB,EAAK,GAAK,mBACnB0jB,GAAmB1jB,IACrBmmB,EAAM,wBAAoBzC,EAAgB4K,UAApC,YAAiD5K,EAAgB2K,SAAjE,MAGRnI,EAASC,KAER,CAACzC,EAAiBvC,IAGnB,oCACGA,GAAkB,kBAAC,IAAD,MACnB,kBAACkF,EAAA,EAAMlV,OAAP,CAAcmV,aAAW,GACvB,kBAACD,EAAA,EAAM9U,MAAP,CAAavR,GAAG,gCAAgCgf,K,mCC/B3CkP,EAA2B,CAAC,SAAU,UAAW,OAAQ,IAIzD1d,EAAgB,CAAC,CAAExE,UAAW,WAAYyE,MAAO,QACjD0d,EAAkB,CAC7B,CAAEtvB,KAAM,IAAKE,MAAO,GACpB,CAAEF,KAAM,IAAKE,MAAO,GACpB,CAAEF,KAAM,KAAME,MAAO,KAEVqvB,EAAgB,CAC3Bjf,OAAQ,CACNkf,SAAU,GACVC,UAAW,GACXC,MAAO,GACPC,UAAW,IAEbC,UAAW,MACXC,UAAW,WACXC,WAAY,EACZC,SAAU,IChBNC,EAAqBC,0BAEpB,SAASC,IACd,OAAOC,qBAAWH,GAGeA,EAAmBI,SAE/C,SAASC,EAAT,GAA+D,IAAhCC,EAA+B,EAA/BA,kBAAmB7G,EAAY,EAAZA,SACvD,EAA0C1b,mBAASwhB,GAAnD,mBAAOlJ,EAAP,KAAoBkK,EAApB,KACA,EAAsBxiB,mBAAS,IAA/B,mBAAOkY,EAAP,KAAYuK,EAAZ,KACMC,EAAiBC,uBAAY,SAACC,GAClCJ,GAAmB,SAACK,GAKlB,OAJIC,qBAAWF,KACbA,EAAkBA,EAAgBC,IAGhCE,kBAAQF,EAAiBD,GACpBC,EAGFD,OAER,IAUGzwB,EAAQ,CACZmmB,cACAkK,qBACAtK,MACAuK,SACAC,iBACAM,aAdmB,CACnB5vB,QAAI0F,EACJjC,KAAM,GACN8xB,kBAAmB,GACnBC,UAAU,EACVC,UAAW,GAUXvF,uBAAwBf,EAAkBe,uBAC1CC,uBAAwBhB,EAAkBgB,uBAC1CC,yBAA0BjB,EAAkBiB,yBAC5CC,0BAA2BlB,EAAkBkB,0BAC7CC,yBAA0BnB,EAAkBmB,yBAC5CC,gCACEpB,EAAkBoB,iCAGtB,OACE,kBAAC1B,EAAmB2B,SAApB,CAA6BzxB,MAAOA,GACjCupB,GCpDA,SAAS4M,IAEd,IAAMxE,EAAqB3B,IACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACL9L,IAAK4L,EAAmB5L,IACxBuK,OAAQqB,EAAmBrB,OAC3BgB,0BAA2BK,EAAmBL,0BAC9CC,yBAA0BI,EAAmBJ,yBAC7CC,gCACEG,EAAmBH,mCAEtB,CAACG,IAEJ,OACE,yBAAK9wB,UAAU,QACb,yBAAKA,UAAU,4EACb,yBAAKA,UAAU,aACb,yBAAKA,UAAU,gCACb,yBAAKA,UAAU,iCACb,2BAAOA,UAAU,yBACf,yDAC0B,2BAAI+wB,EAAiB7L,IAAIrc,WAIvD,6BACE,4BACE9F,KAAK,SACL/C,UAAU,iDACVyM,QAASskB,EAAiBN,2BAE1B,uBAAGzwB,UAAU,gBALf,eADF,Y,q0MCbZ,IAAMihB,EAAqBC,MAAaC,MAAM,CAC5Ctd,KAAMqd,MACH4U,IAAI,EAAG,qBACPC,IAAI,GAAI,sBACRnjB,SAAS,yBAEd,SAASiM,EAAW7Y,EAAMgwB,EAAQC,EAAQ7f,GACxC,OAAO,aAAEpQ,OAAMgwB,SAAQ5f,QAAO6f,UAA9B,QAAsC7f,GAExC,IAAM8f,EAAc,IAAIC,MAAM,SAAU,CAAEC,SAAS,IACnD,SAASC,EAAoBj2B,GAC3B,IAAM+P,EAAU3R,SAASsR,eAAe1P,GACzB,MAAX+P,GACFjK,YAAW,WACTiK,EAAQmmB,cAAcJ,KACrB,KAEP,SAASK,EAAiBn2B,EAAIjB,GAC5B,IAAMgR,EAAU3R,SAASsR,eAAe1P,GACzB,MAAX+P,GACFjK,YAAW,WACTiK,EAAQhR,MAAQA,IACf,KAEO0f,EAAW,eAAgBA,EAAW,UAE7C,SAASuC,EAAT,GAKH,IAJFC,EAIC,EAJDA,aACAC,EAGC,EAHDA,SACAC,EAEC,EAFDA,eACAlQ,EACC,EADDA,OAEMyf,EAAqB3B,IACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACL9L,IAAK4L,EAAmB5L,IACxBoL,uBAAwBQ,EAAmBR,0BAE5C,CAACQ,IACJ,EAAgD9jB,mBAAS,IAAzD,mBAAOwpB,EAAP,KAAyBC,EAAzB,KACA,EAA8BzpB,mBAAS,IAAvC,mBAAO0pB,EAAP,KAAgBC,EAAhB,KACA7iB,qBAAU,WACRuO,MACC,IAEH,IAAMA,EAAe,uCAAG,+GAECC,IAAM3M,IACzB,8CAHkB,OAEdxG,EAFc,OAKpBsnB,EAAoBtnB,EAAO5M,KAAP,kBAAmC,IACvDo0B,EAAWxnB,EAAO5M,KAAP,SAA0B,KAE/Bq0B,EAAwB/xB,OAAOgyB,wBAAyB,KAE5DN,EAAiB,YAAaK,GAC9BP,EAAoB,cAXF,4GAAH,qDAqBrB,OANAviB,qBAAU,YACkB,IAAtBwN,EAASsU,WACXp3B,SAASsR,eAAe,cAAcgnB,SAAU,KAEjD,CAACxV,IAGF,oCACE,kBAAC,IAAD,CACEiB,oBAAoB,EACpBC,cAAelB,EACfmB,iBAAkBxB,EAClByB,SAAU,SAACxb,GACT,GAA0B,KAArBA,EAAO2uB,UAEV,OADAj2B,YAAa,QAAS,8BACf,EAETyhB,EAAana,MAGd,gBAAG6b,EAAH,EAAGA,aAAc7P,EAAjB,EAAiBA,cAAjB,OACC,oCACE,kBAACuT,EAAA,EAAMhV,KAAP,KACG8P,GACC,yBAAKvhB,UAAU,gCACb,yBAAKA,UAAU,wCAGnB,kBAAC,IAAD,CAAMA,UAAU,yBACd,yBAAKA,UAAU,kBACb,yBAAKA,UAAU,YACb,kBAAC,IAAD,CAAQgG,KAAK,YAAY5F,GAAG,YAAYoD,MAAM,WAC5C,4BAAQrE,MAAM,KAAd,UACCu3B,EAAQ3yB,KAAI,SAACC,EAAMC,GAAP,OACX,4BAAQ9E,MAAO6E,EAAKJ,IAAKI,EAAK0yB,aAGd,IAAnBA,EAAQ7tB,QAAgB,kBAACulB,EAAA,EAAD,OAE3B,yBAAKpuB,UAAU,YACZ+wB,EAAiB7L,IAAIrc,OAAS,GAAK,kBAACysB,EAAD,MACpC,kBAAC,IAAD,CACEtvB,KAAK,OACL0I,UAAW2f,IACXjf,YAAY,UACZ5L,MAAM,eACNoP,UAAU,KAGd,yBAAK5S,UAAU,iBACb,kBAAC,IAAD,CAAQgG,KAAK,oBAAoBxC,MAAM,oBACrC,0CACCgzB,EAAiBzyB,KAAI,SAACC,EAAMC,GAAP,OACpB,4BAAQ9E,MAAO6E,EAAKJ,IAAKI,EAAKH,UAGL,IAA5B2yB,EAAiB3tB,QAAgB,kBAACulB,EAAA,EAAD,OAGpC,yBAAKpuB,UAAU,sBACb,kBAAC,IAAD,CACEwD,MAAM,IACNvE,KAAK,WACL+G,KAAK,WACL5F,GAAG,aACHiP,SAAU,SAAC4E,GACTf,EAAc,WAAYe,EAAMrE,OAAOknB,gBAOnD,kBAACrQ,EAAA,EAAM/U,OAAP,KACE,4BACE3O,KAAK,SACL0J,QAAS4E,EACTrR,UAAU,6BAHZ,UAOA,yCACA,4BACE+C,KAAK,SACL0J,QAAS,kBAAMsW,KACf/iB,UAAU,+BAHZ,cCtJP,SAAS6wB,EAAT,GAAmD,IAArBzwB,EAAoB,EAApBA,GAAIgR,EAAgB,EAAhBA,KAAMC,EAAU,EAAVA,OAEvCyf,EAAqB3B,IACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACLhB,aAAcc,EAAmBd,gBAElC,CAACc,IAGEvL,EAAW0L,cACjB,EAA4C3N,aAC1C,SAAChE,GAAD,MAAY,CACViC,eAAgBjC,EAAMiE,UAAUhC,eAChCuC,gBAAiBxE,EAAMiE,UAAUO,mBAEnCL,KALMlC,EAAR,EAAQA,eAAgBuC,EAAxB,EAAwBA,gBAQxBhQ,qBAAU,WAERyR,EAAStB,EAAsB7jB,MAC9B,CAACA,EAAImlB,IAmBR,OACE,kBAACkB,EAAA,EAAD,CACEtV,KAAK,KACLC,KAAMA,EACNC,OAAQA,EACRC,kBAAgB,gCAEhB,kBAAC+U,EAAD,CAA0BjmB,GAAIA,IAC9B,kBAACghB,EAAD,CACEC,aAzBe,SAACC,GACflhB,EAQHmlB,EAAStB,EAAuB3C,IAAW1M,MAAK,WAC9CvD,IACA7S,SAASsR,eAAe,iBAAiBinB,WAR3CxR,EAAStB,EAAuB3C,IAAW1M,MAAK,WAC9CvD,IACA7S,SAASsR,eAAe,iBAAiBinB,YAqBzCxV,eAAgBA,EAChBD,SAAUwC,GAAmBiN,EAAiBf,aAC9C3e,OAAQA,KCtDT,SAAS6f,EAAT,GAAqD,IAArB9wB,EAAoB,EAApBA,GAAIgR,EAAgB,EAAhBA,KAAMC,EAAU,EAAVA,OAEzCyf,EAAqB3B,IACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACLvB,OAAQqB,EAAmBrB,OAC3BnK,YAAawL,EAAmBxL,eAEjC,CAACwL,IAGEvL,EAAW0L,cACT5N,EAAcC,aACpB,SAAChE,GAAD,MAAY,CAAE+D,UAAW/D,EAAMiE,UAAUhC,kBACzCkC,KAFMJ,UAMRvP,qBAAU,WACH1T,GACHiR,MAGD,CAACjR,IAGJ0T,qBAAU,cAAU,CAACuP,EAAWkC,IAchC,OACE,kBAACkB,EAAA,EAAD,CACErV,KAAMA,EACNC,OAAQA,EACRC,kBAAgB,gCAGf+R,GAAa,kBAAC,IAAD,MAEd,kBAACoD,EAAA,EAAMlV,OAAP,CAAcmV,aAAW,GACvB,kBAACD,EAAA,EAAM9U,MAAP,CAAavR,GAAG,gCAAhB,2BAIF,kBAACqmB,EAAA,EAAMhV,KAAP,MACI4R,GACA,0FAEDA,GAAa,iEAEhB,kBAACoD,EAAA,EAAM/U,OAAP,KACE,6BACE,4BACE3O,KAAK,SACL0J,QAAS4E,EACTrR,UAAU,6BAHZ,UAOA,yCACA,4BACE+C,KAAK,SACL0J,QA5Ca,WAErB8Y,EAAStB,EAAuB7jB,IAAKwU,MAAK,WAExC2Q,EAAStB,EAAuB8M,EAAiBzL,cAEjDyL,EAAiBtB,OAAO,IAExBpe,QAqCMrR,UAAU,8BAHZ,aCtEH,SAASmxB,EAAT,GAAkD,IAAjB/f,EAAgB,EAAhBA,KAAMC,EAAU,EAAVA,OAEtCyf,EAAqB3B,IACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACL9L,IAAK4L,EAAmB5L,IACxBuK,OAAQqB,EAAmBrB,OAC3BnK,YAAawL,EAAmBxL,eAEjC,CAACwL,IAGEvL,EAAW0L,cACT5N,EAAcC,aACpB,SAAChE,GAAD,MAAY,CAAE+D,UAAW/D,EAAMiE,UAAUhC,kBACzCkC,KAFMJ,UAMRvP,qBAAU,WACHid,EAAiB7L,KAAuC,IAAhC6L,EAAiB7L,IAAIrc,QAChDwI,MAGD,CAAC0f,EAAiB7L,MAGrBpR,qBAAU,cAAU,CAACuP,EAAWkC,IAiBhC,OACE,kBAACkB,EAAA,EAAD,CACErV,KAAMA,EACNC,OAAQA,EACRC,kBAAgB,gCAGf+R,GAAa,kBAAC,IAAD,MAEd,kBAACoD,EAAA,EAAMlV,OAAP,CAAcmV,aAAW,GACvB,kBAACD,EAAA,EAAM9U,MAAP,CAAavR,GAAG,gCAAhB,qBAIF,kBAACqmB,EAAA,EAAMhV,KAAP,MACI4R,GACA,wFAEDA,GAAa,2DAEhB,kBAACoD,EAAA,EAAM/U,OAAP,KACE,6BACE,4BACE3O,KAAK,SACL0J,QAAS4E,EACTrR,UAAU,6BAHZ,UAOA,yCACA,4BACE+C,KAAK,SACL0J,QA/Cc,WAEtB8Y,EAAStB,EAAwB8M,EAAiB7L,MAAMtQ,MAAK,WAE3D2Q,EAAStB,EAAuB8M,EAAiBzL,cAAc1Q,MAC7D,WAEEmc,EAAiBtB,OAAO,IAExBpe,WAuCErR,UAAU,+BAHZ,aC3EV,IAAMoxB,EAAoB,SAACvN,EAAUqB,GACnC,IAAMmM,EAAa,GAOnB,OANAnM,EAAIhkB,SAAQ,SAACd,GACX,IAAMkhB,EAAWuC,EAASV,MAAK,SAAC6B,GAAD,OAAQA,EAAG5kB,KAAOA,KAC7CkhB,GACF+P,EAAWvoB,KAAKwY,MAGb+P,GAGF,SAASC,EAAT,GAAiD,IAAjBlgB,EAAgB,EAAhBA,KAAMC,EAAU,EAAVA,OAErCyf,EAAqB3B,IACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACL9L,IAAK4L,EAAmB5L,OAEzB,CAAC4L,IAGIvN,EAAcD,aACpB,SAAChE,GAAD,MAAY,CACViE,UAAW6N,EACT9R,EAAMiE,UAAUM,SAChBkN,EAAiB7L,QAGrBzB,KAPMF,UAkBR,OAPAzP,qBAAU,WACHid,EAAiB7L,KAAuC,IAAhC6L,EAAiB7L,IAAIrc,QAChDwI,MAGD,CAAC0f,EAAiB7L,MAGnB,kBAACuB,EAAA,EAAD,CACErV,KAAMA,EACNC,OAAQA,EACRC,kBAAgB,gCAEhB,kBAACmV,EAAA,EAAMlV,OAAP,CAAcmV,aAAW,GACvB,kBAACD,EAAA,EAAM9U,MAAP,CAAavR,GAAG,gCAAhB,4BAIF,kBAACqmB,EAAA,EAAMhV,KAAP,KACE,yBAAKzR,UAAU,4BACZujB,EAAUxf,KAAI,SAACud,GAAD,OACb,yBAAKthB,UAAU,kCAAkCsH,IAAG,YAAOga,EAASlhB,KAClE,yBAAKJ,UAAU,gFACf,yBAAKA,UAAU,kBACb,uBACEA,UAAS,gCACPsuB,EAAyBhN,EAASvM,QAD3B,gBAKb,yBAAK/U,UAAU,sCACb,0BACIA,UAAS,qCACPsuB,EAAyBhN,EAASvM,QAD3B,kBADb,OAKSuM,EAASlhB,IAElB,0BAAMJ,UAAU,QAAQshB,EAASmN,SAAjC,KAA6CnN,EAASoN,kBAMhE,kBAACjI,EAAA,EAAM/U,OAAP,KACE,6BACE,4BACE3O,KAAK,SACL0J,QAAS4E,EACTrR,UAAU,6BAHZ,UAOA,yCACA,4BACE+C,KAAK,SACL0J,QAAS4E,EACTrR,UAAU,+BAHZ,SCrFV,IAAMoxB,GAAoB,SAACvN,EAAUqB,GACnC,IAAMmM,EAAa,GAOnB,OANAnM,EAAIhkB,SAAQ,SAACd,GACX,IAAMkhB,EAAWuC,EAASV,MAAK,SAAC6B,GAAD,OAAQA,EAAG5kB,KAAOA,KAC7CkhB,GACF+P,EAAWvoB,KAAKwY,MAGb+P,GAGF,SAASE,GAAT,GAAuD,IAAjBngB,EAAgB,EAAhBA,KAAMC,EAAU,EAAVA,OAE3Cyf,EAAqB3B,IACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACL9L,IAAK4L,EAAmB5L,IACxBuK,OAAQqB,EAAmBrB,OAC3BnK,YAAawL,EAAmBxL,eAEjC,CAACwL,IAGJ,EAAiCxN,aAC/B,SAAChE,GAAD,MAAY,CACViE,UAAW6N,GACT9R,EAAMiE,UAAUM,SAChBkN,EAAiB7L,KAEnB7B,UAAW/D,EAAMiE,UAAUhC,kBAE7BkC,KARMF,EAAR,EAAQA,UAAWF,EAAnB,EAAmBA,UAYnBvP,qBAAU,WACHid,EAAiB7L,KAAuC,IAAhC6L,EAAiB7L,IAAIrc,QAChDwI,MAGD,CAAC0f,EAAiB7L,MAErB,MAA4BlY,mBAAS,GAArC,mBAAO+H,EAAP,KAAeyc,EAAf,KAEMjM,EAAW0L,cAkBjB,OACE,kBAACxK,EAAA,EAAD,CACErV,KAAMA,EACNC,OAAQA,EACRC,kBAAgB,gCAEhB,kBAACmV,EAAA,EAAMlV,OAAP,CAAcmV,aAAW,GACvB,kBAACD,EAAA,EAAM9U,MAAP,CAAavR,GAAG,gCAAhB,8CAIF,kBAACqmB,EAAA,EAAMhV,KAAP,CAAYzR,UAAU,yBAEnBqjB,GACC,yBAAKrjB,UAAU,iBACb,yBAAKA,UAAU,wCAKnB,yBAAKA,UAAU,4BACZujB,EAAUxf,KAAI,SAACud,GAAD,OACb,yBACEthB,UAAU,kCACVsH,IAAG,yBAAoBga,EAASlhB,KAEhC,yBAAKJ,UAAU,gFACf,yBAAKA,UAAU,kBACb,uBACEA,UAAS,gCACPsuB,EAAyBhN,EAASvM,QAD3B,gBAKb,yBAAK/U,UAAU,sCACb,0BACEA,UAAS,qCACPsuB,EAAyBhN,EAASvM,QAD3B,kBADX,OAKOuM,EAASlhB,IAEhB,0BAAMJ,UAAU,QACbshB,EAASmN,SADZ,KACwBnN,EAASoN,kBAO3C,kBAACjI,EAAA,EAAM/U,OAAP,CAAc1R,UAAU,QACtB,yBAAKA,UAAU,cACb,4BACEA,UAAU,eACVb,MAAO4V,EACP1F,SAAU,SAACC,GAAD,OAAOkiB,GAAWliB,EAAEM,OAAOzQ,SAErC,4BAAQA,MAAM,KAAd,YACA,4BAAQA,MAAM,KAAd,YAGJ,yBAAKa,UAAU,cACb,4BACE+C,KAAK,SACL0J,QAAS4E,EACTrR,UAAU,kCAHZ,UAOA,4BACE+C,KAAK,SACL0J,QAxFW,WAEnB8Y,EAAStB,EAA8B8M,EAAiB7L,IAAKnQ,IAASH,MACpE,WAEE2Q,EAAStB,EAAuB8M,EAAiBzL,cAAc1Q,MAC7D,WAEEmc,EAAiBtB,OAAO,IAExBpe,WA+EArR,UAAU,+BAHZ,oB,uzMCrHH,SAASqyB,GAAT,GAA0C,EAAf7O,YAAgB,IAE1CsN,EAAqB3B,IACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACL1L,YAAawL,EAAmBxL,YAChCoK,eAAgBoB,EAAmBpB,kBAEpC,CAACoB,IAGE0B,EAAc,SAACtrB,GACnB,IAAMurB,EAvBY,SAACnN,EAAape,GAClC,IAAQ8vB,EAA0C9vB,EAA1C8vB,aAAcC,EAA4B/vB,EAA5B+vB,WAAYtE,EAAgBzrB,EAAhByrB,YAC5BF,EAAc,gBAAQnN,GACtB/V,EAAS,GAKf,OAJAA,EAAOojB,YAAcA,IAAe,EACpCpjB,EAAOynB,aAAeA,EACtBznB,EAAO0nB,WAAaA,EACpBxE,EAAeljB,OAASA,EACjBkjB,EAekBG,CAAc7B,EAAiBzL,YAAape,GAC9D6oB,kBAAQ0C,EAAgB1B,EAAiBzL,eAC5CmN,EAAe1D,WAAa,EAE5BgC,EAAiBrB,eAAe+C,KAGpC,EAAgCzlB,mBAAS,IAAzC,mBAAOuS,EAAP,KAAiB2X,EAAjB,KACApjB,qBAAU,WACRuO,MACC,IAEH,IAAMA,EAAe,wCAAG,8GAECC,IAAM3M,IAAI,yCAFX,OAEdxG,EAFc,OAGpB+nB,EAAY/nB,EAAO5M,MAHC,uGAAH,qDAMrB,OACE,oCACE,kBAAC,IAAD,CACEigB,cAAe,CACbwU,cAAc,EACdC,gBAAYnxB,EACZ6sB,YAAa,GAEfjQ,SAAU,SAACxb,GACTsrB,EAAYtrB,MAGb,cACCA,OADD,IAEC6b,EAFD,EAECA,aAGA7P,GALD,EAGCkgB,WAHD,EAICC,aAJD,EAKCngB,eALD,OAOC,0BAAMwP,SAAUK,EAAc/iB,UAAU,yBACtC,2BACE+C,KAAK,SACL/C,UAAU,SACVI,GAAG,gBACHqM,QAAS,SAAC6C,GACe,MAAnBA,EAAEM,OAAOzQ,MACXX,SAASsR,eAAe,iBAAiB3Q,MAAQ,EAC9CX,SAASsR,eAAe,iBAAiB3Q,MAAQ,EACtD+T,EAAc,cAAe5D,EAAEM,OAAOzQ,OACtC4jB,OAGJ,yBAAK/iB,UAAU,kBACb,yBAAKA,UAAU,YACb,4BACEA,UAAU,eACVgG,KAAK,aACLoJ,YAAY,mBACZC,SAAU,SAACC,GACT4D,EAAc,aAAc5D,EAAEM,OAAOzQ,OACrC0F,OAAOgyB,sBAAwBvnB,EAAEM,OAAOzQ,MACxC4jB,MAGF,4BAAQ5jB,MAAM,KAAd,UACCogB,EAASxb,KAAI,SAACC,EAAMC,GAAP,OACZ,4BAAQ9E,MAAO6E,EAAKJ,GAAI0D,IAAKrD,GAC1BD,EAAK0yB,aAIS,IAApBnX,EAAS1W,QAAgB,kBAACulB,EAAA,EAAD,MAC1B,2BAAOpuB,UAAU,wBACf,qCADF,iBAIF,yBAAKA,UAAU,YACb,kBAAC,IAAD,CACEf,KAAK,iBACL+G,KAAK,eACL5F,GAAG,iBACHiP,SAAU,SAAC4E,GACTf,EAAc,eAAgBe,EAAMrE,OAAOknB,SAC3C/T,c,oDChHb,SAASoU,GAAsB/C,EAAa5sB,GACjD,IAAM8mB,EAA2B,CAAC,UAAW,UAGzC8I,EAAW5vB,EAAI6vB,OAAS,EAAI,EAIhC,OACE,0BACEr3B,UAJI,8BAAN,OAAqCsuB,EAAyB8I,GAA9D,kBAJ2B,CAAC,SAAU,YAUdA,I,2yMCXrB,SAASE,GAAoBlD,EAAa5sB,GAC/C,IAGM+vB,EAAgB,SAACC,GACrBnjB,MAAM,GAAD,OACAxP,OAAOyP,QADP,wCAC8C9M,EAAIpH,GADlD,mBAC+Do3B,IAEjE5iB,KAHH,wCAGQ,WAAOC,GAAP,2FACGA,GADH,2CAHR,uDAMGD,MAAK,SAACM,GACL1W,SAASsR,eAAe,iBAAiBinB,QACzCn3B,YAAa,UAAW,cAEzBuV,OAAM,SAAC5K,GACNnH,QAAQmH,MAAMA,OAGpB,OACE,oCACE,0BACEvK,UApBE,4DAqBFoE,MAAO,CAAEqzB,OAAQ,WACjBhrB,QAAS,kBAAM8qB,EAAc,UAE7B,uBAAGpzB,MAAM,oCAGX,0BACEnE,UA5BE,4DA6BFoE,MAAO,CAAEqzB,OAAQ,WACjBhrB,QAAS,kBAAM8qB,EAAc,WAE7B,uBAAGpzB,MAAM,uC,wBC9BV,SAASgwB,GACdC,EACA5sB,EACA6sB,EAHK,GAKJ,IADC9D,EACF,EADEA,uBAAwBC,EAC1B,EAD0BA,yBAE1B,OACE,oCACE,uBACEpR,MAAM,gBACNpf,UAAU,uDACVyM,QAAS,kBAAM8jB,EAAuB/oB,EAAIpH,MAE1C,0BAAMJ,UAAU,yCACd,kBAAC,KAAD,CACEwI,IAAKC,aAAc,gDAIzB,yCAEA,uBACE2W,MAAM,kBACNpf,UAAU,iDACVyM,QAAS,kBAAM+jB,EAAyBhpB,EAAIpH,MAE5C,0BAAMJ,UAAU,wCACd,kBAAC,KAAD,CAAKwI,IAAKC,aAAc,2CCd3B,SAAS6rB,KAEd,IAAMxD,EAAqB3B,IACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACL9L,IAAK4L,EAAmB5L,IACxBuK,OAAQqB,EAAmBrB,OAC3BnK,YAAawL,EAAmBxL,YAChCoK,eAAgBoB,EAAmBpB,eACnCa,uBAAwBO,EAAmBP,uBAC3CC,yBAA0BM,EAAmBN,4BAE9C,CAACM,IAGIyD,EAAiBjR,aACvB,SAAChE,GAAD,MAAY,CAAEiV,aAAcjV,EAAMiE,aAClCE,KAFM8Q,aAIA3Q,EAAsC2Q,EAAtC3Q,WAAYC,EAA0B0Q,EAA1B1Q,SAAUL,EAAgB+Q,EAAhB/Q,YAGxB+B,EAAW0L,cACjBnd,qBAAU,WAERid,EAAiBtB,OAAO,IAExBlK,EAAStB,EAAuB8M,EAAiBzL,gBAEhD,CAACyL,EAAiBzL,YAAaC,IAElC,IAAMpZ,EAAU,CAQd,CACEC,UAAW,KACXnN,KAAM,KACNyN,MAAM,EACNC,UAAWA,KACXC,2BAEF,CACER,UAAW,OACXnN,KAAM,OACNyN,MAAM,EACNC,UAAWA,KACXC,2BAEF,CACER,UAAW,SACXnN,KAAM,WACNyN,MAAM,EACNC,UAAWA,KACXN,UAAWmoB,GACX5nB,2BAEF,CACER,UAAW,GACXnN,KAAM,OACNyN,MAAM,EACNC,UAAWA,KACXN,UAAWmoB,GACX5nB,2BAEF,CACER,UAAW,SACXnN,KAAM,UACNoN,UAAWmoB,GACXC,gBAAiB,CACflE,uBAAwBQ,EAAiBR,uBACzCC,yBAA0BO,EAAiBP,0BAE7CjwB,QAAS,mBACTm0B,cAAe,mBACftwB,MAAO,CACLuS,SAAU,WAKVge,EAAoB,CACxBC,QAAQ,EACRC,UAAWjR,EACX2K,gBAAiBuG,EACjBC,YAAahE,EAAiBzL,YAAY0J,SAC1CgG,KAAMjE,EAAiBzL,YAAYyJ,YAErC,OACE,oCACE,kBAAC,sBAAD,CAAoBje,WAAYC,KAAkB4jB,KAC/C,YAAgD,IAA7CM,EAA4C,EAA5CA,gBAAiBC,EAA2B,EAA3BA,qBACnB,OACE,kBAAC,IAAD,CACE7R,UAAWG,EACXyR,gBAAiBA,GAEjB,kBAAC,KAAD,eACEjkB,eAAe,mBACfE,UAAU,EACV3Q,QAAQ,gDACR0Q,YAAU,EACVkkB,QAAM,EACNxkB,SAAS,KACTpO,KAAmB,OAAbshB,EAAoB,GAAKA,EAC/B1X,QAASA,EACTyE,cAAekkB,EACfM,cAAeC,aACbtE,EAAiBrB,gBAEnBgI,UAAWC,aAAa,CACtB9T,WACAqB,IAAK6L,EAAiB7L,IACtBuK,OAAQsB,EAAiBtB,UAEvByF,GAEJ,kBAAC,KAAD,CAAmBrR,SAAUA,IAC7B,kBAAC,KAAD,CAAuBA,SAAUA,U,+DCnI/B5N,cAAW,SAAAC,GAAK,MAAK,CACnC0hB,eAAgB,CACZC,WAAY,Y,aCWb,SAAStC,KACd,IAAQn1B,EAAO03B,YAAU,MAAjB13B,GACF0wB,EAAqB3B,IACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACL9L,IAAK4L,EAAmB5L,IACxBoL,uBAAwBQ,EAAmBR,0BAE5C,CAACQ,IACEiH,EAAYC,eAClB,EAA0BhrB,mBAAS,IAAnC,mBAAcsZ,GAAd,WACA,EAA2ChD,aACzC,SAAChE,GAAD,MAAY,CACViC,eAAgBjC,EAAM2Y,SAAS1W,eAC/B2W,eAAgB5Y,EAAM2Y,SAASC,kBAEjCzU,KALsByU,GAAxB,EAAQ3W,eAAR,EAAwB2W,gBAgBxB,OATApkB,qBAAU,WACR,IAAIyS,EAASnmB,EAAK,GAAK,0BACnB83B,GAAkB93B,IACpBmmB,EAAM,WAAO2R,EAAeza,IAAtB,MAGR6I,EAASC,GACTwR,EAAUzR,SAASC,KAClB,CAAC2R,EAAgB93B,IAElB,kBAAC,IAAD,KACE,kBAAC,IAAD,CAAYgf,MAAM,2BAChB,kBAAC,IAAD,KACE,kBAACpF,GAAA,EAAD,KACE,4BACEjX,KAAK,SACL/C,UAAU,wCACVyM,QAASskB,EAAiBT,wBAH5B,0BAUN,kBAAC,IAAD,KACE,kBAAC+B,GAAD,MACCtB,EAAiB7L,IAAIrc,OAAS,GAAK,kBAACysB,EAAD,MACpC,kBAAChB,GAAD,OAEF,kBAAC,IAAD,OC5DC,SAASuC,GAAT,GAA6C,IAAZpB,EAAW,EAAXA,QAChClG,EAAoB,CACxBe,uBAAwB,WACtBmF,EAAQ3sB,KAAK,mCAEfynB,uBAAwB,SAACnwB,GACvBq1B,EAAQ3sB,KAAR,qCAA2C1I,EAA3C,WAEFowB,yBAA0B,SAACpwB,GACzBq1B,EAAQ3sB,KAAR,qCAA2C1I,EAA3C,aAEFqwB,0BAA2B,WACzBgF,EAAQ3sB,KAAR,+CAEF4nB,yBAA0B,WACxB+E,EAAQ3sB,KAAR,qCAEF6nB,gCAAiC,WAC/B8E,EAAQ3sB,KAAK,6CAIjB,OACE,kBAACwmB,EAAD,CAAqBC,kBAAmBA,GACtC,kBAACnM,EAAD,MACA,kBAAC,IAAD,CAAOnV,KAAK,mCACT,gBAAGwnB,EAAH,EAAGA,QAAS1pB,EAAZ,EAAYA,MAAZ,OACC,kBAAC8kB,EAAD,CACEzf,KAAe,MAATrF,EACNsF,OAAQ,WACNokB,EAAQ3sB,KAAK,oCAKrB,kBAAC,IAAD,CAAOmF,KAAK,wCACT,gBAAGwnB,EAAH,EAAGA,QAAS1pB,EAAZ,EAAYA,MAAZ,OACC,kBAAC8kB,EAAD,CACEzf,KAAe,MAATrF,EACN3L,GAAI2L,GAASA,EAAM2pB,OAAOt1B,GAC1BiR,OAAQ,WACNokB,EAAQ3sB,KAAK,oCAKrB,kBAAC,IAAD,CAAOmF,KAAK,+CACT,gBAAGwnB,EAAH,EAAGA,QAAS1pB,EAAZ,EAAYA,MAAZ,OACC,kBAAColB,EAAD,CACE/f,KAAe,MAATrF,EACNsF,OAAQ,WACNokB,EAAQ3sB,KAAK,oCAKrB,kBAAC,IAAD,CAAOmF,KAAK,0CACT,gBAAGwnB,EAAH,EAAGA,QAAS1pB,EAAZ,EAAYA,MAAZ,OACC,kBAACmlB,EAAD,CACE9f,KAAe,MAATrF,EACN3L,GAAI2L,GAASA,EAAM2pB,OAAOt1B,GAC1BiR,OAAQ,WACNokB,EAAQ3sB,KAAK,oCAKrB,kBAAC,IAAD,CAAOmF,KAAK,qCACT,gBAAGwnB,EAAH,EAAGA,QAAS1pB,EAAZ,EAAYA,MAAZ,OACC,kBAACulB,EAAD,CACElgB,KAAe,MAATrF,EACNsF,OAAQ,WACNokB,EAAQ3sB,KAAK,oCAKrB,kBAAC,IAAD,CAAOmF,KAAK,4CACT,gBAAGwnB,EAAH,EAAGA,QAAS1pB,EAAZ,EAAYA,MAAZ,OACC,kBAACwlB,GAAD,CACEngB,KAAe,MAATrF,EACNsF,OAAQ,WACNokB,EAAQ3sB,KAAK,oCAKrB,kBAACysB,GAAD,OAlGN,oC,6ECIO,SAASnS,IAEd,IAAQC,EAAcC,aACpB,SAAChE,GAAD,MAAY,CAAE+D,UAAW/D,EAAMiE,UAAUC,eACzCC,KAFMJ,UAMR,OADAvP,qBAAU,cAAU,CAACuP,IACd,kBAAC,IAAD,CAAeA,UAAWA,EAAWpkB,KAAK,gB,yCCV7C0kB,EAAwB,CAC5BH,aAAa,EACbjC,gBAAgB,EAChBqC,WAAY,EACZC,SAAU,KACVC,qBAAiBhe,EACjBie,UAAW,MAEAC,EACL,OADKA,EAEH,SCTHC,EDYuBC,YAAY,CACxCle,KAAM,YACNme,aAAcR,EACdS,SAAU,CACRC,WAAY,SAAC/E,EAAOgF,GAClBhF,EAAM/U,MAAN,UAAiB+Z,EAAOvhB,KAAxB,aAAiCuhB,EAAOC,QAAQha,OAC5C+Z,EAAOC,QAAQC,WAAaR,EAC9B1E,EAAMkE,aAAc,EAEpBlE,EAAMiC,gBAAiB,GAG3BkD,UAAW,SAACnF,EAAOgF,GACjBhF,EAAM/U,MAAQ,KACV+Z,EAAOC,QAAQC,WAAaR,EAC9B1E,EAAMkE,aAAc,EAEpBlE,EAAMiC,gBAAiB,GAI3BmD,gBAAiB,SAACpF,EAAOgF,GACvBhF,EAAMiC,gBAAiB,EACvBjC,EAAMwE,gBAAkBQ,EAAOC,QAAQT,gBACvCxE,EAAM/U,MAAQ,MAGhBoa,iBAAkB,SAACrF,EAAOgF,GACxB,MAAiCA,EAAOC,QAAhCX,EAAR,EAAQA,WAAYC,EAApB,EAAoBA,SACpBvE,EAAMkE,aAAc,EACpBlE,EAAM/U,MAAQ,KACd+U,EAAMuE,SAAWA,EACjBvE,EAAMsE,WAAaA,GAGrBgB,gBAAiB,SAACtF,EAAOgF,GACvBhF,EAAMiC,gBAAiB,EACvBjC,EAAM/U,MAAQ,KACd+U,EAAMuE,SAAS/a,KAAKwb,EAAOC,QAAQjD,WAGrCuD,gBAAiB,SAACvF,EAAOgF,GACvBhF,EAAM/U,MAAQ,KACd+U,EAAMiC,gBAAiB,EACvBjC,EAAMuE,SAAWvE,EAAMuE,SAAS9f,KAAI,SAAA+gB,GAClC,OAAIA,EAAO1kB,KAAOkkB,EAAOC,QAAQjD,SAASlhB,GACjCkkB,EAAOC,QAAQjD,SAEjBwD,MAIXC,gBAAiB,SAACzF,EAAOgF,GACvBhF,EAAM/U,MAAQ,KACd+U,EAAMiC,gBAAiB,EACvBjC,EAAMuE,SAAWvE,EAAMuE,SAAStU,QAAO,SAAAyV,GAAE,OAAIA,EAAG5kB,KAAOkkB,EAAOC,QAAQnkB,OAGxE6kB,iBAAkB,SAAC3F,EAAOgF,GACxBhF,EAAM/U,MAAQ,KACd+U,EAAMiC,gBAAiB,EACvBjC,EAAMuE,SAAWvE,EAAMuE,SAAStU,QAC9B,SAAAyV,GAAE,OAAKV,EAAOC,QAAQW,IAAIvV,SAASqV,EAAG5kB,QAI1C+kB,uBAAwB,SAAC7F,EAAOgF,GAC9BhF,EAAMiC,gBAAiB,EACvBjC,EAAM/U,MAAQ,KACd,MAAwB+Z,EAAOC,QAAvBW,EAAR,EAAQA,IAAKnQ,EAAb,EAAaA,OACbuK,EAAMuE,SAAWvE,EAAMuE,SAAS9f,KAAI,SAAA+gB,GAIlC,OAHII,EAAIE,WAAU,SAAAhlB,GAAE,OAAIA,IAAO0kB,EAAO1kB,OAAO,IAC3C0kB,EAAO/P,OAASA,GAEX+P,SCtFRb,QAEMoB,EAAiB,SAAAC,GAAW,OAAI,SAAAC,GAE3C,OADAA,EAAStB,EAAQQ,UAAU,CAAED,SAAUR,KCclC,SAAuBsB,GAC5B,OAAOhD,IAAMkD,KAAN,UAnBoB,kBAmBpB,SAAoC,CAAEF,gBDdtCG,CACUH,GACd1Q,MAAK,SAAAC,GACJ,MAAiCA,EAAStS,KAAlCqhB,EAAR,EAAQA,WAAYC,EAApB,EAAoBA,SACpB0B,EAAStB,EAAQU,iBAAiB,CAAEf,aAAYC,iBAEjD1O,OAAM,SAAA5K,GACLA,EAAMmb,cAAgB,uBACtBH,EAAStB,EAAQI,WAAW,CAAE9Z,QAAOia,SAAUR,UAIxC2B,EAAgB,SAAAvlB,GAAE,OAAI,SAAAmlB,GACjC,OAAKnlB,GAILmlB,EAAStB,EAAQQ,UAAU,CAAED,SAAUR,MCVT4B,EDYXxlB,ECXZkiB,IAAM3M,IAAN,UAboB,kBAapB,YAA8BiQ,KDYlChR,MAAK,SAAAC,GACJ,IAAMyM,EAAWzM,EAAStS,KAC1BgjB,EAAStB,EAAQS,gBAAgB,CAAEZ,gBAAiBxC,QAErDnM,OAAM,SAAA5K,GACLA,EAAMmb,cAAgB,sBACtBH,EAAStB,EAAQI,WAAW,CAAE9Z,QAAOia,SAAUR,SAZ1CuB,EAAStB,EAAQS,gBAAgB,CAAEZ,qBAAiBhe,KCPxD,IAAyB8f,IDuBnBC,EAAiB,SAAAzlB,GAAE,OAAI,SAAAmlB,GAElC,OADAA,EAAStB,EAAQQ,UAAU,CAAED,SAAUR,MCAV4B,EDEXxlB,ECDXkiB,IAAMwD,OAAN,UArCoB,kBAqCpB,YAAiCF,KDErChR,MAAK,SAAAC,GACJ0Q,EAAStB,EAAQc,gBAAgB,CAAE3kB,WAEpC+U,OAAM,SAAA5K,GACLA,EAAMmb,cAAgB,wBACtBH,EAAStB,EAAQI,WAAW,CAAE9Z,QAAOia,SAAUR,QCR9C,IAAwB4B,IDYlBG,EAAiB,SAAAC,GAAmB,OAAI,SAAAT,GAEnD,OADAA,EAAStB,EAAQQ,UAAU,CAAED,SAAUR,MC9CV1C,EDgDX0E,EC/CX1D,IAAMkD,KAJc,kBAIM,CAAElE,cDgDhC1M,MAAK,SAAAC,GACJ,IAAQyM,EAAazM,EAAStS,KAAtB+e,SACRiE,EAAStB,EAAQW,gBAAgB,CAAEtD,iBAEpCnM,OAAM,SAAA5K,GACLA,EAAMmb,cAAgB,wBACtBH,EAAStB,EAAQI,WAAW,CAAE9Z,QAAOia,SAAUR,QCvD9C,IAAwB1C,ID2DlB2E,EAAiB,SAAA3E,GAAQ,OAAI,SAAAiE,GAExC,OADAA,EAAStB,EAAQQ,UAAU,CAAED,SAAUR,KCxClC,SAAwB1C,GAC7B,OAAOgB,IAAM4D,IAAN,UAxBoB,kBAwBpB,YAA8B5E,EAAS1d,IAAM,CAAE0d,aDwC/CmE,CACWnE,GACf1M,MAAK,WACJ2Q,EAAStB,EAAQY,gBAAgB,CAAEvD,iBAEpCnM,OAAM,SAAA5K,GACLA,EAAMmb,cAAgB,wBACtBH,EAAStB,EAAQI,WAAW,CAAE9Z,QAAOia,SAAUR,UAIxCmC,EAAwB,SAACjB,EAAKnQ,GAAN,OAAiB,SAAAwQ,GAEpD,OADAA,EAAStB,EAAQQ,UAAU,CAAED,SAAUR,KChDlC,SAAkCkB,EAAKnQ,GAC5C,OAAOuN,IAAMkD,KAAN,UA7BoB,kBA6BpB,6BAAwD,CAC7DN,MACAnQ,WD8CK0Q,CACqBP,EAAKnQ,GAC9BH,MAAK,WACJ2Q,EAAStB,EAAQkB,uBAAuB,CAAED,MAAKnQ,eAEhDI,OAAM,SAAA5K,GACLA,EAAMmb,cAAgB,gCACtBH,EAAStB,EAAQI,WAAW,CAAE9Z,QAAOia,SAAUR,UAIxCoC,EAAkB,SAAAlB,GAAG,OAAI,SAAAK,GAEpC,OADAA,EAAStB,EAAQQ,UAAU,CAAED,SAAUR,KChDlC,SAAyBkB,GAC9B,OAAO5C,IAAMkD,KAAN,UA1CoB,kBA0CpB,oBAA+C,CAAEN,QDgDjDO,CACYP,GAChBtQ,MAAK,WACJ2Q,EAAStB,EAAQgB,iBAAiB,CAAEC,YAErC/P,OAAM,SAAA5K,GACLA,EAAMmb,cAAgB,yBACtBH,EAAStB,EAAQI,WAAW,CAAE9Z,QAAOia,SAAUR,U,OE9F9C,SAASqC,EAAT,GAA2C,IAAPjmB,EAAM,EAANA,GAEzC,EAA4CkjB,aAC1C,SAAChE,GAAD,MAAY,CACVwE,gBAAiBxE,EAAMiE,UAAUO,gBACjCvC,eAAgBjC,EAAMiE,UAAUhC,kBAElCkC,KALMK,EAAR,EAAQA,gBAAiBvC,EAAzB,EAAyBA,eAQzB,EAA0BvU,mBAAS,IAAnC,mBAAOoS,EAAP,KAAckH,EAAd,KAYA,OAVAxS,qBAAU,WACR,IAAIyS,EAASnmB,EAAK,GAAK,WACnB0jB,GAAmB1jB,IACrBmmB,EAAM,wBAAoBnmB,EAApB,MAGRkmB,EAASC,KAER,CAACzC,EAAiBvC,IAGnB,oCACGA,GAAkB,kBAAC,IAAD,MACnB,kBAACkF,EAAA,EAAMlV,OAAP,CAAcmV,aAAW,GACvB,kBAACD,EAAA,EAAM9U,MAAP,CAAavR,GAAG,gCAAgCgf,K,u3MCXxD,IAAM9H,EAAYrB,aAAW,SAAAC,GAAK,MAAK,CACrC0V,UAAW,CACTzE,QAAS,OACTG,SAAU,QAEZuE,UAAW,CACTzU,WAAYlB,EAAMK,QAAQ,GAC1BW,YAAahB,EAAMK,QAAQ,GAC3BE,aAAc,QAEhB0hB,MAAO,CACL7hB,UAAWJ,EAAMK,QAAQ,IAE3B6hB,KAAM,CACJhiB,MAAO,KAETiiB,UAAW,CACTC,UAAW,SACXC,WAAY,cAGT,SAASnX,EAAT,GAKH,IAEEH,EANJI,EAIC,EAJDA,aACAC,EAGC,EAHDA,SACAC,EAEC,EAFDA,eACAlQ,EACC,EADDA,OAEM9Q,EAAU+W,IAGd2J,GADEK,EAASlhB,GACU8gB,MAAaC,MAAM,KAuB1CrN,qBAAU,WACR0kB,MACC,IACH1kB,qBAAU,WACLwN,EAASmX,WACV/yB,IAAE,cAAcU,IAAIkb,EAASmX,WAE5BnX,EAASoX,SACVhzB,IAAE,YAAYU,IAAIkb,EAASoX,SAE1BpX,EAASqX,WACRjzB,IAAE,eAAekzB,KAAK,WAAU,GAElClzB,IAAE,eAAekzB,KAAK,WAAU,KAEjC,CAACtX,IACJ,MAAsCtU,mBAAS,IAA/C,mBAAOyL,EAAP,KAAsBgJ,EAAtB,KACA,EAAwCzU,oBAAS,GAAjD,mBAAO6L,EAAP,KAAqBggB,EAArB,KACML,EAAU,uCAAG,oGAEfK,GAAgB,GAFD,SAGMvW,IAAM3M,IAAI,6BAHhB,OAGTxG,EAHS,OAIfsS,EAAatS,EAAO5M,KAAP,WACbs2B,GAAgB,GALD,yGAAH,qDAQhB,OACE,oCACE,kBAAC,IAAD,CACEtW,oBAAoB,EACpBC,cAAelB,EACfmB,iBAAkBxB,EAClByB,SAAU,SAACxb,GACT,GACmB,MAAhBA,EAAOgc,WACQpd,IAAhBoB,EAAOgc,MACgB,KAAtBhc,EAAOoS,iBACcxT,IAAtBoB,EAAOoS,YACmB,KAAzBpS,EAAO4xB,oBACiBhzB,IAAzBoB,EAAO4xB,eACU,MAAhB5xB,EAAO6xB,WACQjzB,IAAhBoB,EAAO6xB,MACU,MAAhB7xB,EAAOrD,WACQiC,IAAhBoB,EAAOrD,KAGP,OADAjE,YAAa,QAAS,yBACf,EAETyhB,EAAana,MAGd,gBAAG6b,EAAH,EAAGA,aAAc7P,EAAjB,EAAiBA,cAAekgB,EAAhC,EAAgCA,WAAhC,OACC,oCACE,kBAAC3M,EAAA,EAAMhV,KAAP,CAAYzR,UAAU,yBACnBuhB,GACC,yBAAKvhB,UAAU,gCACb,yBAAKA,UAAU,wCAGnB,kBAAC,IAAD,CAAMA,UAAU,yBACd,yBAAKA,UAAU,kBACb,yBAAKA,UAAU,YACb,kBAAC,IAAD,CACEgG,KAAK,aACLxC,MAAM,WACN8vB,OAAQF,EACR/jB,SAAU,SAACC,GACT4D,EAAc,aAAc5D,EAAEM,OAAOzQ,SAGvC,4BAAQA,MAAM,IAAd,UACCsZ,EAAc1U,KAAI,SAACC,EAAMC,GAAP,OACjB,4BAAQ9E,MAAO6E,EAAK5D,IAAK4D,EAAKgnB,iBAGjCnS,GAAgB,kBAACuV,EAAA,EAAD,OAEnB,yBAAKpuB,UAAU,YACX,kBAAC,IAAD,CACEwD,MAAM,eACNwC,KAAK,gBACL0I,UAAW2f,IACXjf,YAAY,cACZ4H,OAAO,UAEP,4BAAQ7X,MAAM,IAAd,UACA,4BAAQA,MAAM,KAAd,cACA,4BAAQA,MAAM,KAAd,cAGN,yBAAKa,UAAW,YAAcO,EAAQ83B,WACpC,kBAAC,IAAD,CACEr4B,UAAU,eACVf,KAAK,aACL+G,KAAK,aACL5F,GAAG,aACHiP,SAAU,SAAC4E,GACTf,EAAc,aAAce,EAAMrE,OAAOknB,cAMjD,yBAAK92B,UAAU,kBACb,yBAAKA,UAAU,YACb,kBAAC,IAAD,CACEgG,KAAK,OACL0I,UAAW2f,IACXtrB,KAAK,SACLqM,YAAY,OACZ5L,MAAM,UAGV,yBAAKxD,UAAU,YACb,kBAAC,IAAD,CACEgG,KAAK,OACL0I,UAAW2f,IACXjf,YAAY,OACZ5L,MAAM,WAKZ,yBAAKxD,UAAU,kBACb,yBAAKA,UAAU,YACb,kBAAC+oB,EAAA,EAAD,CACI3oB,GAAG,YACH4F,KAAK,YACLxC,MAAM,aACNT,KAAK,iBACLye,aAAa,GACbxhB,UAAWO,EAAQsrB,UACnB9X,gBAAiB,CACfC,QAAQ,GAEV3E,SAAU,SAAC4E,GACTf,EAAc,YAAae,EAAMrE,OAAOzQ,WAIhD,yBAAKa,UAAU,YACf,kBAAC+oB,EAAA,EAAD,CACM3oB,GAAG,UACH4F,KAAK,UACLxC,MAAM,WACNT,KAAK,iBACLye,aAAa,GACbxhB,UAAWO,EAAQsrB,UACnB9X,gBAAiB,CACfC,QAAQ,GAEV3E,SAAU,SAAC4E,GACTf,EAAc,UAAWe,EAAMrE,OAAOzQ,YAMhD,yBAAKa,UAAU,kBACb,yBAAKA,UAAU,YACb,kBAAC,IAAD,CACEgG,KAAK,OACL0I,UAAW2f,IACXjf,YAAY,OACZ5L,MAAM,UAGV,yBAAKxD,UAAU,YACb,kBAAC,IAAD,CACEgG,KAAK,cACL0I,UAAW2f,IACXjf,YAAY,cACZ5L,MAAM,oBAMhB,kBAACijB,EAAA,EAAM/U,OAAP,KACE,4BACE3O,KAAK,SACL0J,QAAS4E,EACTrR,UAAU,6BAHZ,UAOA,yCACA,4BACE+C,KAAK,SACL0J,QAAS,kBAAMsW,KACf/iB,UAAU,+BAHZ,c,YCpQDsuB,EAA2B,CAAC,SAAU,UAAW,OAAQ,IAIzD1d,EAAgB,CAAC,CAAExE,UAAW,KAAMyE,MAAO,SAC3C0d,EAAkB,CAC7B,CAAEtvB,KAAM,IAAKE,MAAO,GACpB,CAAEF,KAAM,IAAKE,MAAO,GACpB,CAAEF,KAAM,KAAME,MAAO,KAEVqvB,EAAgB,CAC3Bjf,OAAQ,CACNkf,SAAU,GACVC,UAAW,GACXC,MAAO,GACPC,UAAW,IAEbC,UAAW,MACXC,UAAW,KACXC,WAAY,EACZC,SAAU,IChBNC,EAAqBC,0BAEpB,SAASC,IACd,OAAOC,qBAAWH,GAGeA,EAAmBI,SAE/C,SAASC,EAAT,GAA6D,IAA/BC,EAA8B,EAA9BA,kBAAmB7G,EAAW,EAAXA,SACtD,EAA0C1b,mBAASwhB,GAAnD,mBAAOlJ,EAAP,KAAoBkK,EAApB,KACA,EAAsBxiB,mBAAS,IAA/B,mBAAOkY,EAAP,KAAYuK,EAAZ,KACMC,EAAiBC,uBAAY,SAAAC,GACjCJ,GAAmB,SAAAK,GAKjB,OAJIC,qBAAWF,KACbA,EAAkBA,EAAgBC,IAGhCE,kBAAQF,EAAiBD,GACpBC,EAGFD,OAER,IAMGzwB,EAAQ,CACZmmB,cACAkK,qBACAtK,MACAuK,SACAC,iBACAM,aAVmB,CACnB5vB,QAAI0F,GAUJwqB,uBAAwBf,EAAkBe,uBAC1CC,uBAAwBhB,EAAkBgB,uBAC1CC,yBAA0BjB,EAAkBiB,yBAC5CC,0BAA2BlB,EAAkBkB,0BAC7CC,yBAA0BnB,EAAkBmB,yBAC5CC,gCAAiCpB,EAAkBoB,iCAGrD,OAAO,kBAAC1B,EAAmB2B,SAApB,CAA6BzxB,MAAOA,GAAQupB,GCxC9C,SAASmI,EAAT,GAAmD,IAArBzwB,EAAoB,EAApBA,GAAIgR,EAAgB,EAAhBA,KAAMC,EAAU,EAAVA,OAEvCyf,EAAqB3B,IACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACLhB,aAAcc,EAAmBd,gBAElC,CAACc,IAGEvL,EAAW0L,cACjB,EAA4C3N,aAC1C,SAAChE,GAAD,MAAY,CACViC,eAAgBjC,EAAMiE,UAAUhC,eAChCuC,gBAAiBxE,EAAMiE,UAAUO,mBAEnCL,KALMlC,EAAR,EAAQA,eAAgBuC,EAAxB,EAAwBA,gBAQxBhQ,qBAAU,WAERyR,EAAStB,EAAsB7jB,MAC9B,CAACA,EAAImlB,IAaR,OACE,kBAACkB,EAAA,EAAD,CACEtV,KAAK,KACLC,KAAMA,EACNC,OAAQA,EACRC,kBAAgB,gCAEhB,kBAAC+U,EAAD,CAA0BjmB,GAAIA,IAC9B,kBAACghB,EAAD,CACEC,aAnBe,SAACC,GACflhB,EAKHmlB,EAAStB,EAAuB3C,IAAW1M,MAAK,kBAAMvD,OAHtDkU,EAAStB,EAAuB3C,IAAW1M,MAAK,kBAAMvD,QAiBpDkQ,eAAgBA,EAChBD,SAAUwC,GAAmBiN,EAAiBf,aAC9C3e,OAAQA,KChDT,SAAS6f,EAAT,GAAqD,IAArB9wB,EAAoB,EAApBA,GAAIgR,EAAgB,EAAhBA,KAAMC,EAAU,EAAVA,OAEzCyf,EAAqB3B,IACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACLvB,OAAQqB,EAAmBrB,OAC3BnK,YAAawL,EAAmBxL,eAEjC,CAACwL,IAGEvL,EAAW0L,cACT5N,EAAcC,aACpB,SAAChE,GAAD,MAAY,CAAE+D,UAAW/D,EAAMiE,UAAUhC,kBACzCkC,KAFMJ,UAMRvP,qBAAU,WACH1T,GACHiR,MAGD,CAACjR,IAGJ0T,qBAAU,cAAU,CAACuP,EAAWkC,IAchC,OACE,kBAACkB,EAAA,EAAD,CACErV,KAAMA,EACNC,OAAQA,EACRC,kBAAgB,gCAGf+R,GAAa,kBAAC,IAAD,MAEd,kBAACoD,EAAA,EAAMlV,OAAP,CAAcmV,aAAW,GACvB,kBAACD,EAAA,EAAM9U,MAAP,CAAavR,GAAG,gCAAhB,gBAIF,kBAACqmB,EAAA,EAAMhV,KAAP,MACI4R,GACA,gFAEDA,GAAa,sDAEhB,kBAACoD,EAAA,EAAM/U,OAAP,KACE,6BACE,4BACE3O,KAAK,SACL0J,QAAS4E,EACTrR,UAAU,6BAHZ,UAOA,yCACA,4BACE+C,KAAK,SACL0J,QA5Ca,WAErB8Y,EAAStB,EAAuB7jB,IAAKwU,MAAK,WAExC2Q,EAAStB,EAAuB8M,EAAiBzL,cAEjDyL,EAAiBtB,OAAO,IAExBpe,QAqCMrR,UAAU,8BAHZ,aCtEH,SAASmxB,EAAT,GAAkD,IAAjB/f,EAAgB,EAAhBA,KAAMC,EAAU,EAAVA,OAEtCyf,EAAqB3B,IACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACL9L,IAAK4L,EAAmB5L,IACxBuK,OAAQqB,EAAmBrB,OAC3BnK,YAAawL,EAAmBxL,eAEjC,CAACwL,IAGEvL,EAAW0L,cACT5N,EAAcC,aACpB,SAAChE,GAAD,MAAY,CAAE+D,UAAW/D,EAAMiE,UAAUhC,kBACzCkC,KAFMJ,UAMRvP,qBAAU,WACHid,EAAiB7L,KAAuC,IAAhC6L,EAAiB7L,IAAIrc,QAChDwI,MAGD,CAAC0f,EAAiB7L,MAGrBpR,qBAAU,cAAU,CAACuP,EAAWkC,IAiBhC,OACE,kBAACkB,EAAA,EAAD,CACErV,KAAMA,EACNC,OAAQA,EACRC,kBAAgB,gCAGf+R,GAAa,kBAAC,IAAD,MAEd,kBAACoD,EAAA,EAAMlV,OAAP,CAAcmV,aAAW,GACvB,kBAACD,EAAA,EAAM9U,MAAP,CAAavR,GAAG,gCAAhB,iBAIF,kBAACqmB,EAAA,EAAMhV,KAAP,MACI4R,GACA,oFAEDA,GAAa,uDAEhB,kBAACoD,EAAA,EAAM/U,OAAP,KACE,6BACE,4BACE3O,KAAK,SACL0J,QAAS4E,EACTrR,UAAU,6BAHZ,UAOA,yCACA,4BACE+C,KAAK,SACL0J,QA/Cc,WAEtB8Y,EAAStB,EAAwB8M,EAAiB7L,MAAMtQ,MAAK,WAE3D2Q,EAAStB,EAAuB8M,EAAiBzL,cAAc1Q,MAC7D,WAEEmc,EAAiBtB,OAAO,IAExBpe,WAuCErR,UAAU,8BAHZ,aC3EV,IAAMoxB,EAAoB,SAACvN,EAAUqB,GACnC,IAAMmM,EAAa,GAOnB,OANAnM,EAAIhkB,SAAQ,SAACd,GACX,IAAMkhB,EAAWuC,EAASV,MAAK,SAAC6B,GAAD,OAAQA,EAAG5kB,KAAOA,KAC7CkhB,GACF+P,EAAWvoB,KAAKwY,MAGb+P,GAGF,SAASC,EAAT,GAAiD,IAAjBlgB,EAAgB,EAAhBA,KAAMC,EAAU,EAAVA,OAErCyf,EAAqB3B,IACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACL9L,IAAK4L,EAAmB5L,OAEzB,CAAC4L,IAGIvN,EAAcD,aACpB,SAAChE,GAAD,MAAY,CACViE,UAAW6N,EACT9R,EAAMiE,UAAUM,SAChBkN,EAAiB7L,QAGrBzB,KAPMF,UAkBR,OAPAzP,qBAAU,WACHid,EAAiB7L,KAAuC,IAAhC6L,EAAiB7L,IAAIrc,QAChDwI,MAGD,CAAC0f,EAAiB7L,MAGnB,kBAACuB,EAAA,EAAD,CACErV,KAAMA,EACNC,OAAQA,EACRC,kBAAgB,gCAEhB,kBAACmV,EAAA,EAAMlV,OAAP,CAAcmV,aAAW,GACvB,kBAACD,EAAA,EAAM9U,MAAP,CAAavR,GAAG,gCAAhB,4BAIF,kBAACqmB,EAAA,EAAMhV,KAAP,KACE,yBAAKzR,UAAU,4BACZujB,EAAUxf,KAAI,SAACud,GAAD,OACb,yBAAKthB,UAAU,kCAAkCsH,IAAG,YAAOga,EAASlhB,KAClE,yBAAKJ,UAAU,gFACf,yBAAKA,UAAU,kBACb,uBACEA,UAAS,gCACPsuB,EAAyBhN,EAASvM,QAD3B,gBAKb,yBAAK/U,UAAU,sCACb,0BACIA,UAAS,qCACPsuB,EAAyBhN,EAASvM,QAD3B,kBADb,OAKSuM,EAASlhB,IAElB,0BAAMJ,UAAU,QAAQshB,EAASmN,SAAjC,KAA6CnN,EAASoN,kBAMhE,kBAACjI,EAAA,EAAM/U,OAAP,KACE,6BACE,4BACE3O,KAAK,SACL0J,QAAS4E,EACTrR,UAAU,6BAHZ,UAOA,yCACA,4BACE+C,KAAK,SACL0J,QAAS4E,EACTrR,UAAU,+BAHZ,SCrFV,IAAMoxB,EAAoB,SAACvN,EAAUqB,GACnC,IAAMmM,EAAa,GAOnB,OANAnM,EAAIhkB,SAAQ,SAACd,GACX,IAAMkhB,EAAWuC,EAASV,MAAK,SAAC6B,GAAD,OAAQA,EAAG5kB,KAAOA,KAC7CkhB,GACF+P,EAAWvoB,KAAKwY,MAGb+P,GAGF,SAASE,EAAT,GAAuD,IAAjBngB,EAAgB,EAAhBA,KAAMC,EAAU,EAAVA,OAE3Cyf,EAAqB3B,IACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACL9L,IAAK4L,EAAmB5L,IACxBuK,OAAQqB,EAAmBrB,OAC3BnK,YAAawL,EAAmBxL,eAEjC,CAACwL,IAGJ,EAAiCxN,aAC/B,SAAChE,GAAD,MAAY,CACViE,UAAW6N,EACT9R,EAAMiE,UAAUM,SAChBkN,EAAiB7L,KAEnB7B,UAAW/D,EAAMiE,UAAUhC,kBAE7BkC,KARMF,EAAR,EAAQA,UAAWF,EAAnB,EAAmBA,UAYnBvP,qBAAU,WACHid,EAAiB7L,KAAuC,IAAhC6L,EAAiB7L,IAAIrc,QAChDwI,MAGD,CAAC0f,EAAiB7L,MAErB,MAA4BlY,mBAAS,GAArC,mBAAO+H,EAAP,KAAeyc,EAAf,KAEMjM,EAAW0L,cAkBjB,OACE,kBAACxK,EAAA,EAAD,CACErV,KAAMA,EACNC,OAAQA,EACRC,kBAAgB,gCAEhB,kBAACmV,EAAA,EAAMlV,OAAP,CAAcmV,aAAW,GACvB,kBAACD,EAAA,EAAM9U,MAAP,CAAavR,GAAG,gCAAhB,8CAIF,kBAACqmB,EAAA,EAAMhV,KAAP,CAAYzR,UAAU,yBAEnBqjB,GACC,yBAAKrjB,UAAU,iBACb,yBAAKA,UAAU,wCAKnB,yBAAKA,UAAU,4BACZujB,EAAUxf,KAAI,SAACud,GAAD,OACb,yBACEthB,UAAU,kCACVsH,IAAG,yBAAoBga,EAASlhB,KAEhC,yBAAKJ,UAAU,gFACf,yBAAKA,UAAU,kBACb,uBACEA,UAAS,gCACPsuB,EAAyBhN,EAASvM,QAD3B,gBAKb,yBAAK/U,UAAU,sCACb,0BACEA,UAAS,qCACPsuB,EAAyBhN,EAASvM,QAD3B,kBADX,OAKOuM,EAASlhB,IAEhB,0BAAMJ,UAAU,QACbshB,EAASmN,SADZ,KACwBnN,EAASoN,kBAO3C,kBAACjI,EAAA,EAAM/U,OAAP,CAAc1R,UAAU,QACtB,yBAAKA,UAAU,cACb,4BACEA,UAAU,eACVb,MAAO4V,EACP1F,SAAU,SAACC,GAAD,OAAOkiB,GAAWliB,EAAEM,OAAOzQ,SAErC,4BAAQA,MAAM,KAAd,YACA,4BAAQA,MAAM,KAAd,YAGJ,yBAAKa,UAAU,cACb,4BACE+C,KAAK,SACL0J,QAAS4E,EACTrR,UAAU,kCAHZ,UAOA,4BACE+C,KAAK,SACL0J,QAxFW,WAEnB8Y,EAAStB,EAA8B8M,EAAiB7L,IAAKnQ,IAASH,MACpE,WAEE2Q,EAAStB,EAAuB8M,EAAiBzL,cAAc1Q,MAC7D,WAEEmc,EAAiBtB,OAAO,IAExBpe,WA+EArR,UAAU,+BAHZ,oB,84MCvHV,IAAMsX,GAAYrB,aAAW,SAAAC,GAAK,MAAK,CACrCa,OAAQ,CACNC,OAAQd,EAAMK,QAAQ,IAExBU,SAAU,CACRC,YAAahB,EAAMK,QAAQ,IAE7BY,UAAW,CACTC,WAAYlB,EAAMK,QAAQ,IAE5Bc,UAAW,CACThT,SAAU,QAGRotB,GAAaC,aAAW,CAC5Brb,MAAO,CACLzC,OAAQ,sBAFO8d,EAIhB,SAAA3xB,GAAK,OACN,kBAACS,GAAA,EAAD,eACEmxB,UAAW,EACXC,mBAAoB,KACpBC,aAAc,CACZC,SAAU,SACVC,WAAY,UAEdC,gBAAiB,CACfF,SAAU,MACVC,WAAY,WAEVhyB,OAGFkyB,GAAiBP,cAAW,SAAAxb,GAAK,MAAK,CAC1CC,KAAM,CACJ,UAAW,CACTyR,gBAAiB1R,EAAM4R,QAAQqD,QAAQ+G,KACvC,sDAAuD,CACrDnjB,MAAOmH,EAAM4R,QAAQqK,OAAOC,YALbV,CASnB1H,MACG,SAASqI,GAAT,GAA0C,EAAf7O,YAAgB,IAChD,EAAgCkH,IAAM1d,SAAS,MAA/C,mBAAO6lB,EAAP,KAAiBC,EAAjB,KACA,EAAsC9lB,mBAAS,IAA/C,mBAAOslB,EAAP,KAAoBC,EAApB,KACA,SAASQ,EAAY9e,GACnB6e,EAAY7e,EAAM+e,eAEpB,SAASC,IACPH,EAAY,MAPiC,SAShCI,EATgC,iFAS/C,WAA2BnwB,EAAMowB,GAAjC,8EACMb,EADN,uBAEIA,EAAYtD,SAAW,IAF3B,SAGyB1M,IAAMkD,KAAN,uBAAmC,CAAE,YAAe8M,IAH7E,OAGUnjB,EAHV,OAIIzO,aAAOyO,EAAO5M,KAAKshB,SAAU9gB,EAAMowB,GAJvC,wCAMyB7Q,IAAMkD,KAAN,uBAAmC,CAAE,YAAe,CAAE,OAAU,CAAE,WAAc,GAAI,cAAiB,IAAK,UAAa,MAAO,UAAa,KAAM,WAAc,EAAG,SAAY,OANvM,QAMUrW,EANV,OAOIzO,aAAOyO,EAAO5M,KAAKshB,SAAU9gB,EAAMowB,GAPvC,6CAT+C,sBAoB/C,IAAMrC,EAAqB3B,IACrB5uB,EAAU+W,KACVyZ,EAAmBC,mBAAQ,WAC/B,MAAO,CACL1L,YAAawL,EAAmBxL,YAChCoK,eAAgBoB,EAAmBpB,kBAEpC,CAACoB,IAYE8B,EAAgB,SAACtN,EAAape,GAClC,IAAQyrB,EAA4CzrB,EAA5CyrB,YAAcrZ,EAA8BpS,EAA9BoS,WAAawf,EAAiB5xB,EAAjB4xB,cAC7BrG,EAAc,eAAQnN,GACtB/V,EAAS,GAKf,OAJAA,EAAO+J,WAA4B,KAAfA,EAAoBA,EAAa,GACrD/J,EAAOupB,cAAkC,KAAlBA,EAAuBA,EAAgB,GAC9DvpB,EAAOojB,YAAcA,EACrBF,EAAeljB,OAASA,EACjBkjB,GAGT3e,qBAAU,WACR0kB,MACC,IACH,MAAwBxrB,mBAAS,IAAjC,mBAAOnJ,EAAP,KAAam1B,EAAb,KACA,EAAwChsB,oBAAS,GAAjD,mBAAO6L,EAAP,KAAqBggB,EAArB,KACML,EAAU,wCAAG,qGAEfK,GAAgB,GAFD,SAGMvW,IAAM3M,IAAI,6BAHhB,OAGTxG,EAHS,OAIf6pB,EAAQ7pB,EAAO5M,KAAP,WACRs2B,GAAgB,GALD,yGAAH,qDAShB,OACE,oCACE,kBAAC,IAAD,CACErW,cAAe,CACblJ,WAAY,GACZ2f,cAAe,GACftG,YAAc,GAEhBjQ,SAAU,SAACxb,GACTsxB,IA3CY,SAACtxB,GACnB,IAAMurB,EAAiBG,EAAc7B,EAAiBzL,YAAape,GAC9D6oB,kBAAQ0C,EAAgB1B,EAAiBzL,eAC5CmN,EAAe1D,WAAa,EAE5BgC,EAAiBrB,eAAe+C,GAChCF,EAAeE,IAsCXD,CAAYtrB,MAGb,gBACCA,EADD,EACCA,OACA6b,EAFD,EAECA,aACAqQ,EAHD,EAGCA,WAEAlgB,GALD,EAICmgB,aAJD,EAKCngB,eALD,OAOG,0BAAMwP,SAAUK,EAAc/iB,UAAU,yBACtC,2BACE+C,KAAK,SACL/C,UAAU,SACVI,GAAG,gBACHqM,QAAS,SAAC6C,GACc,KAAlBA,EAAEM,OAAOzQ,MACXX,SAASsR,eAAe,iBAAiB3Q,MAAQ,EAC9CX,SAASsR,eAAe,iBAAiB3Q,MAAQ,EACtD+T,EAAc,cAAe5D,EAAEM,OAAOzQ,OACtC4jB,OAGJ,yBAAK/iB,UAAU,kBACf,yBAAKA,UAAU,aACX,kBAACuzB,GAAA,EAAD,CAAevzB,UAAU,eACvB,kBAACwzB,GAAA,EAAD,CAAQpvB,MAAO,CAAE8S,YAAa,UAC5Buc,gBAAc,kBACdC,gBAAc,OACdC,QAAQ,WACR5kB,MAAM,UACNtC,QAASsmB,GALX,YAQE,kBAACa,GAAA,EAAD,CAAM5zB,UAAWO,EAAQ4W,WAAzB,SAGF,kBAACsa,GAAD,CACErxB,GAAG,kBACHyyB,SAAUA,EACVgB,aAAW,EACXC,KAAMC,QAAQlB,GACdmB,QAASf,GAET,kBAAChB,GAAD,CAAgBxlB,QAAS,SAACwH,GACxBif,EAAY,QAAS,kBAErB,kBAACe,GAAA,EAAD,KACA,uBAAG9vB,MAAM,uBAET,kBAAC+vB,GAAA,EAAD,CAAc/I,QAAQ,WAGxB,kBAAC8G,GAAD,CAAgBxlB,QAAS,SAACwH,GACxBif,EAAY,MAAO,mBAEnB,kBAACe,GAAA,EAAD,KACA,uBAAG9vB,MAAM,qBAET,kBAAC+vB,GAAA,EAAD,CAAc/I,QAAQ,SAGxB,kBAAC8G,GAAD,CAAgBxlB,QAAS,SAACwH,GACxBif,EAAY,OAAQ,kBAEpB,kBAACe,GAAA,EAAD,KACA,uBAAG9vB,MAAM,sBAGT,kBAAC+vB,GAAA,EAAD,CAAc/I,QAAQ,cAOhC,yBAAKnrB,UAAU,kBACb,yBAAKA,UAAU,YACb,kBAAC,IAAD,CACEgG,KAAK,aACL5F,GAAG,aACHkzB,OAAQF,EACR/jB,SAAU,SAACC,GACT4D,EAAc,aAAc5D,EAAEM,OAAOzQ,OACrC4jB,KAEF5jB,MAAO+H,EAAOoS,YAEd,4BAAQna,MAAM,IAAd,UACC0E,EAAKE,KAAI,SAACC,EAAMC,GAAP,OACR,4BAAQ9E,MAAO6E,EAAK5D,IAAK4D,EAAKgnB,iBAGjCnS,GAAgB,kBAACuV,EAAA,EAAD,MACjB,2BAAOpuB,UAAU,wBACf,qCADF,gBAIF,yBAAKA,UAAU,YACb,kBAAC,IAAD,CACEgG,KAAK,OACL5F,GAAG,gBACHkzB,OAAQF,EACR/jB,SAAU,SAACC,GACT4D,EAAc,gBAAiB5D,EAAEM,OAAOzQ,OACxC4jB,KAEF5jB,MAAO+H,EAAO4xB,eAEd,4BAAQ35B,MAAM,IAAd,WACA,4BAAQA,MAAM,KAAd,cACA,4BAAQA,MAAM,KAAd,aAEF,2BAAOa,UAAU,wBACf,qCADF,0B,4EClPX,SAASm0B,GACdC,EACA5sB,EACA6sB,EAHK,GAKJ,IADC9D,EACF,EADEA,uBAAwBC,EAC1B,EAD0BA,yBAE1B,OACE,oCACE,uBACEpR,MAAM,YACNpf,UAAU,uDACVyM,QAAS,kBAAM8jB,EAAuB/oB,EAAIpH,MAE1C,0BAAMJ,UAAU,yCACd,kBAAC,KAAD,CACEwI,IAAKC,aAAc,gDAIzB,yCAEA,uBACE2W,MAAM,cACNpf,UAAU,iDACVyM,QAAS,kBAAM+jB,EAAyBhpB,EAAIpH,MAE5C,0BAAMJ,UAAU,wCACd,kBAAC,KAAD,CAAKwI,IAAKC,aAAc,2CCjC3B,SAASywB,GAAuB9E,EAAa5sB,GAClD,IACI2xB,EADAC,EAAK,IAAIC,OAAO,IAAK,KAOzB,OAJEF,EADC3xB,EAAIkxB,QACK,IAAI/2B,KAAK6F,EAAIkxB,SAASY,iBAAiB3wB,QAAQywB,EAAI,KAEnD,QAGV,oCACE,0BAAMj1B,MAAM,mDACPg1B,ICXJ,SAASI,GAAyBnF,EAAa5sB,GACpD,IACI2xB,EADAC,EAAK,IAAIC,OAAO,IAAK,KAOzB,OAJEF,EADC3xB,EAAIixB,UACK,IAAI92B,KAAK6F,EAAIixB,WAAWa,iBAAiB3wB,QAAQywB,EAAI,KAErD,QAGV,oCACE,0BAAMj1B,MAAM,mDACPg1B,ICWJ,SAAS7E,KAEd,IAAMxD,EAAqB3B,IACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACL9L,IAAK4L,EAAmB5L,IACxBuK,OAAQqB,EAAmBrB,OAC3BnK,YAAawL,EAAmBxL,YAChCoK,eAAgBoB,EAAmBpB,eACnCa,uBAAwBO,EAAmBP,uBAC3CC,yBAA0BM,EAAmBN,4BAE9C,CAACM,IAGIyD,EAAiBjR,aACvB,SAAChE,GAAD,MAAY,CAAEiV,aAAcjV,EAAMiE,aAClCE,KAFM8Q,aAIA3Q,EAAsC2Q,EAAtC3Q,WAAYC,EAA0B0Q,EAA1B1Q,SAAUL,EAAgB+Q,EAAhB/Q,YAGxB+B,EAAW0L,cACjBnd,qBAAU,WAERid,EAAiBtB,OAAO,IAExBlK,EAAStB,EAAuB8M,EAAiBzL,gBAEhD,CAACyL,EAAiBzL,YAAaC,IAElC,IAAMpZ,EAAU,CACd,CACEC,UAAW,KACXnN,KAAM,KACNyN,MAAM,EACNC,UAAWA,KACXC,2BAEF,CACER,UAAW,OACXnN,KAAM,OACNyN,MAAM,EACNC,UAAWA,KACXC,2BAEF,CACER,UAAW,OACXnN,KAAM,OACNyN,MAAM,EACNC,UAAWA,KACXC,2BAEF,CACER,UAAW,eACXnN,KAAM,WACNyN,MAAM,EACNC,UAAWA,KACXC,2BAEF,CACER,UAAW,cACXnN,KAAM,eACNyN,MAAM,EACNC,UAAWA,KACXC,2BAEF,CACER,UAAW,OACXnN,KAAM,OACNyN,MAAM,EACNC,UAAWA,KACXC,2BAEF,CACER,UAAW,cACXnN,KAAM,cACNyN,MAAM,EACNC,UAAWA,KACXC,2BAEF,CACER,UAAW,YACXnN,KAAM,aACNyN,MAAM,EACNC,UAAWA,KACXC,0BACAP,UAAWmoB,IAEb,CACEpoB,UAAW,UACXnN,KAAM,WACNyN,MAAM,EACNC,UAAWA,KACXC,0BACAP,UAAWmoB,IAEb,CACEpoB,UAAW,aACXnN,KAAM,eACNyN,MAAM,EACNC,UAAWA,KACXC,2BAEF,CACER,UAAW,SACXnN,KAAM,UACNoN,UAAWmoB,GACXC,gBAAiB,CACflE,uBAAwBQ,EAAiBR,uBACzCC,yBAA0BO,EAAiBP,0BAE7CjwB,QAAS,mBACTm0B,cAAe,mBACftwB,MAAO,CACLuS,SAAU,WAKVge,EAAoB,CACxBC,QAAQ,EACRC,UAAWjR,EACX2K,gBAAiBuG,EACjBC,YAAahE,EAAiBzL,YAAY0J,SAC1CgG,KAAMjE,EAAiBzL,YAAYyJ,YAErC,OACE,oCACE,kBAAC,sBAAD,CAAoBje,WAAYC,KAAkB4jB,KAC/C,YAAgD,IAA7CM,EAA4C,EAA5CA,gBAAiBC,EAA2B,EAA3BA,qBACnB,OACE,kBAAC,IAAD,CACE7R,UAAWG,EACXyR,gBAAiBA,GAEjB,kBAAC,KAAD,eACEjkB,eAAe,mBACfE,UAAU,EACV3Q,QAAQ,gDACR0Q,YAAU,EACVkkB,QAAM,EACNxkB,SAAS,KACTpO,KAAmB,OAAbshB,EAAoB,GAAKA,EAC/B1X,QAASA,EACTyE,cAAekkB,EACfM,cAAeC,aACbtE,EAAiBrB,gBAEnBgI,UAAWC,aAAa,CACtB9T,WACAqB,IAAK6L,EAAiB7L,IACtBuK,OAAQsB,EAAiBtB,UAEvByF,GAEJ,kBAAC,KAAD,CAAmBrR,SAAUA,IAC7B,kBAAC,KAAD,CAAuBA,SAAUA,UCjL1C,SAASyR,KAEd,IAAMxE,EAAqB3B,IACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACL9L,IAAK4L,EAAmB5L,IACxBuK,OAAQqB,EAAmBrB,OAC3BgB,0BAA2BK,EAAmBL,0BAC9CC,yBAA0BI,EAAmBJ,yBAC7CC,gCACEG,EAAmBH,mCAEtB,CAACG,IAEJ,OACE,yBAAK9wB,UAAU,QACb,yBAAKA,UAAU,4EACb,yBAAKA,UAAU,aACb,yBAAKA,UAAU,gCACb,yBAAKA,UAAU,iCACb,2BAAOA,UAAU,yBACf,yDAC0B,2BAAI+wB,EAAiB7L,IAAIrc,WAIvD,6BACE,4BACE9F,KAAK,SACL/C,UAAU,iDACVyM,QAASskB,EAAiBN,2BAE1B,uBAAGzwB,UAAU,gBALf,eADF,YClBL,SAASu1B,KACd,IAAMzE,EAAqB3B,IACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACL9L,IAAK4L,EAAmB5L,IACxBoL,uBAAwBQ,EAAmBR,0BAE5C,CAACQ,IAEJ,OACE,kBAAC,IAAD,KACE,kBAAC,IAAD,CAAY1R,MAAM,gBAChB,kBAAC,IAAD,KACE,4BACErc,KAAK,SACL/C,UAAU,wCACVyM,QAASskB,EAAiBT,wBAH5B,cASJ,kBAAC,IAAD,KACE,kBAAC+B,GAAD,MACCtB,EAAiB7L,IAAIrc,OAAS,GAAK,kBAACysB,GAAD,MACpC,kBAAChB,GAAD,QCzBD,SAASkF,GAAT,GAA0C,IAAZ/D,EAAW,EAAXA,QAC7BlG,EAAoB,CACxBe,uBAAwB,WACtBmF,EAAQ3sB,KAAK,4BAEfynB,uBAAwB,SAACnwB,GACvBq1B,EAAQ3sB,KAAR,8BAAoC1I,EAApC,WAEFowB,yBAA0B,SAACpwB,GACzBq1B,EAAQ3sB,KAAR,8BAAoC1I,EAApC,aAEFqwB,0BAA2B,WACzBgF,EAAQ3sB,KAAR,wCAEF4nB,yBAA0B,WACxB+E,EAAQ3sB,KAAR,8BAEF6nB,gCAAiC,WAC/B8E,EAAQ3sB,KAAK,sCAIjB,OACE,kBAACwmB,EAAD,CAAqBC,kBAAmBA,GACtC,kBAACnM,EAAD,MACA,kBAAC,IAAD,CAAOnV,KAAK,4BACT,gBAAGwnB,EAAH,EAAGA,QAAS1pB,EAAZ,EAAYA,MAAZ,OACC,kBAAC8kB,EAAD,CACEzf,KAAe,MAATrF,EACNsF,OAAQ,WACNokB,EAAQ3sB,KAAK,6BAKrB,kBAAC,IAAD,CAAOmF,KAAK,iCACT,gBAAGwnB,EAAH,EAAGA,QAAS1pB,EAAZ,EAAYA,MAAZ,OACC,kBAAC8kB,EAAD,CACEzf,KAAe,MAATrF,EACN3L,GAAI2L,GAASA,EAAM2pB,OAAOt1B,GAC1BiR,OAAQ,WACNokB,EAAQ3sB,KAAK,6BAKrB,kBAAC,IAAD,CAAOmF,KAAK,wCACT,gBAAGwnB,EAAH,EAAGA,QAAS1pB,EAAZ,EAAYA,MAAZ,OACC,kBAAColB,EAAD,CACE/f,KAAe,MAATrF,EACNsF,OAAQ,WACNokB,EAAQ3sB,KAAK,6BAKrB,kBAAC,IAAD,CAAOmF,KAAK,mCACT,gBAAGwnB,EAAH,EAAGA,QAAS1pB,EAAZ,EAAYA,MAAZ,OACC,kBAACmlB,EAAD,CACE9f,KAAe,MAATrF,EACN3L,GAAI2L,GAASA,EAAM2pB,OAAOt1B,GAC1BiR,OAAQ,WACNokB,EAAQ3sB,KAAK,6BAKrB,kBAAC,IAAD,CAAOmF,KAAK,8BACT,gBAAGwnB,EAAH,EAAGA,QAAS1pB,EAAZ,EAAYA,MAAZ,OACC,kBAACulB,EAAD,CACElgB,KAAe,MAATrF,EACNsF,OAAQ,WACNokB,EAAQ3sB,KAAK,6BAKrB,kBAAC,IAAD,CAAOmF,KAAK,qCACT,gBAAGwnB,EAAH,EAAGA,QAAS1pB,EAAZ,EAAYA,MAAZ,OACC,kBAACwlB,EAAD,CACEngB,KAAe,MAATrF,EACNsF,OAAQ,WACNokB,EAAQ3sB,KAAK,6BAKrB,kBAACysB,GAAD,OAlGN,oC,6ECIO,SAASnS,IAEd,IAAQC,EAAcC,aACpB,SAAChE,GAAD,MAAY,CAAE+D,UAAW/D,EAAMiE,UAAUC,eACzCC,KAFMJ,UAMR,OADAvP,qBAAU,cAAU,CAACuP,IACd,kBAAC,IAAD,CAAeA,UAAWA,EAAWpkB,KAAK,gB,6BCVtCykB,EAAgB,iC,YCAvBC,EAAwB,CAC5BH,aAAa,EACbjC,gBAAgB,EAChBqC,WAAY,EACZC,SAAU,KACVC,qBAAiBhe,EACjBie,UAAW,MAEAC,EACL,OADKA,EAEH,SCTHC,EDYuBC,YAAY,CACxCle,KAAM,YACNme,aAAcR,EACdS,SAAU,CACRC,WAAY,SAAC/E,EAAOgF,GAClBhF,EAAM/U,MAAN,UAAiB+Z,EAAOvhB,KAAxB,aAAiCuhB,EAAOC,QAAQha,OAC5C+Z,EAAOC,QAAQC,WAAaR,EAC9B1E,EAAMkE,aAAc,EAEpBlE,EAAMiC,gBAAiB,GAG3BkD,UAAW,SAACnF,EAAOgF,GACjBhF,EAAM/U,MAAQ,KACV+Z,EAAOC,QAAQC,WAAaR,EAC9B1E,EAAMkE,aAAc,EAEpBlE,EAAMiC,gBAAiB,GAI3BmD,gBAAiB,SAACpF,EAAOgF,GACvBhF,EAAMiC,gBAAiB,EACvBjC,EAAMwE,gBAAkBQ,EAAOC,QAAQT,gBACvCxE,EAAM/U,MAAQ,MAGhBoa,iBAAkB,SAACrF,EAAOgF,GACxB,MAAiCA,EAAOC,QAAhCX,EAAR,EAAQA,WAAYC,EAApB,EAAoBA,SACpBvE,EAAMkE,aAAc,EACpBlE,EAAM/U,MAAQ,KACd+U,EAAMuE,SAAWA,EACjBvE,EAAMsE,WAAaA,GAGrBgB,gBAAiB,SAACtF,EAAOgF,GACvBhF,EAAMiC,gBAAiB,EACvBjC,EAAM/U,MAAQ,KACd+U,EAAMuE,SAAS/a,KAAKwb,EAAOC,QAAQjD,WAGrCuD,gBAAiB,SAACvF,EAAOgF,GACvBhF,EAAM/U,MAAQ,KACd+U,EAAMiC,gBAAiB,EACvBjC,EAAMuE,SAAWvE,EAAMuE,SAAS9f,KAAI,SAAA+gB,GAClC,OAAIA,EAAO1kB,KAAOkkB,EAAOC,QAAQjD,SAASlhB,GACjCkkB,EAAOC,QAAQjD,SAEjBwD,MAIXC,gBAAiB,SAACzF,EAAOgF,GACvBhF,EAAM/U,MAAQ,KACd+U,EAAMiC,gBAAiB,EACvBjC,EAAMuE,SAAWvE,EAAMuE,SAAStU,QAAO,SAAAyV,GAAE,OAAIA,EAAG5kB,KAAOkkB,EAAOC,QAAQnkB,OAGxE6kB,iBAAkB,SAAC3F,EAAOgF,GACxBhF,EAAM/U,MAAQ,KACd+U,EAAMiC,gBAAiB,EACvBjC,EAAMuE,SAAWvE,EAAMuE,SAAStU,QAC9B,SAAAyV,GAAE,OAAKV,EAAOC,QAAQW,IAAIvV,SAASqV,EAAG5kB,QAI1C+kB,uBAAwB,SAAC7F,EAAOgF,GAC9BhF,EAAMiC,gBAAiB,EACvBjC,EAAM/U,MAAQ,KACd,MAAwB+Z,EAAOC,QAAvBW,EAAR,EAAQA,IAAKnQ,EAAb,EAAaA,OACbuK,EAAMuE,SAAWvE,EAAMuE,SAAS9f,KAAI,SAAA+gB,GAIlC,OAHII,EAAIE,WAAU,SAAAhlB,GAAE,OAAIA,IAAO0kB,EAAO1kB,OAAO,IAC3C0kB,EAAO/P,OAASA,GAEX+P,SCtFRb,QAEMoB,EAAiB,SAAAC,GAAW,OAAI,SAAAC,GAE3C,OADAA,EAAStB,EAAQQ,UAAU,CAAED,SAAUR,KFclC,SAAuBsB,GAC5B,OAAOhD,IAAMkD,KAAN,UAAc9B,EAAd,SAAoC,CAAE4B,gBEdtCG,CACUH,GACd1Q,MAAK,SAAAC,GACJ,MAAiCA,EAAStS,KAAlCqhB,EAAR,EAAQA,WAAYC,EAApB,EAAoBA,SACpB0B,EAAStB,EAAQU,iBAAiB,CAAEf,aAAYC,iBAEjD1O,OAAM,SAAA5K,GACLA,EAAMmb,cAAgB,0CACtBH,EAAStB,EAAQI,WAAW,CAAE9Z,QAAOia,SAAUR,UAIxC2B,EAAgB,SAAAvlB,GAAE,OAAI,SAAAmlB,GACjC,OAAKnlB,GAILmlB,EAAStB,EAAQQ,UAAU,CAAED,SAAUR,MFVT4B,EEYXxlB,EFXZkiB,IAAM3M,IAAN,UAAa+N,EAAb,YAA8BkC,KEYlChR,MAAK,SAAAC,GACJ,IAAMyM,EAAWzM,EAAStS,KAC1BgjB,EAAStB,EAAQS,gBAAgB,CAAEZ,gBAAiBxC,QAErDnM,OAAM,SAAA5K,GACLA,EAAMmb,cAAgB,0CACtBH,EAAStB,EAAQI,WAAW,CAAE9Z,QAAOia,SAAUR,SAZ1CuB,EAAStB,EAAQS,gBAAgB,CAAEZ,qBAAiBhe,KFPxD,IAAyB8f,IEuBnBC,EAAiB,SAAAzlB,GAAE,OAAI,SAAAmlB,GAElC,OADAA,EAAStB,EAAQQ,UAAU,CAAED,SAAUR,MFAV4B,EEEXxlB,EFDXkiB,IAAMwD,OAAN,UAAgBpC,EAAhB,YAAiCkC,KEErChR,MAAK,SAAAC,GACJ0Q,EAAStB,EAAQc,gBAAgB,CAAE3kB,WAEpC+U,OAAM,SAAA5K,GACLA,EAAMmb,cAAgB,4CACtBH,EAAStB,EAAQI,WAAW,CAAE9Z,QAAOia,SAAUR,QFR9C,IAAwB4B,IEYlBG,EAAiB,SAAAC,GAAmB,OAAI,SAAAT,GAEnD,OADAA,EAAStB,EAAQQ,UAAU,CAAED,SAAUR,MF9CV1C,EEgDX0E,EF/CX1D,IAAMkD,KAAK9B,EAAe,CAAEpC,cEgDhC1M,MAAK,SAAAC,GACJ,IAAQyM,EAAazM,EAAStS,KAAtB+e,SACRiE,EAAStB,EAAQW,gBAAgB,CAAEtD,iBAEpCnM,OAAM,SAAA5K,GACLA,EAAMmb,cAAgB,4CACtBH,EAAStB,EAAQI,WAAW,CAAE9Z,QAAOia,SAAUR,QFvD9C,IAAwB1C,IE2DlB2E,EAAiB,SAAA3E,GAAQ,OAAI,SAAAiE,GAExC,OADAA,EAAStB,EAAQQ,UAAU,CAAED,SAAUR,KFxClC,SAAwB1C,GAC7B,OAAOgB,IAAM4D,IAAN,UAAaxC,EAAb,YAA8BpC,EAASlhB,IAAM,CAAEkhB,aEwC/CmE,CACWnE,GACf1M,MAAK,WACJ2Q,EAAStB,EAAQY,gBAAgB,CAAEvD,iBAEpCnM,OAAM,SAAA5K,GACLA,EAAMmb,cAAgB,4CACtBH,EAAStB,EAAQI,WAAW,CAAE9Z,QAAOia,SAAUR,UAiBxCoC,EAAkB,SAAAlB,GAAG,OAAI,SAAAK,GAEpC,OADAA,EAAStB,EAAQQ,UAAU,CAAED,SAAUR,KFhDlC,SAAyBkB,GAC9B,OAAO5C,IAAMkD,KAAN,UAAc9B,EAAd,oBAA+C,CAAEwB,QEgDjDO,CACYP,GAChBtQ,MAAK,WACJ2Q,EAAStB,EAAQgB,iBAAiB,CAAEC,YAErC/P,OAAM,SAAA5K,GACLA,EAAMmb,cAAgB,4CACtBH,EAAStB,EAAQI,WAAW,CAAE9Z,QAAOia,SAAUR,U,OC9F9C,SAASqC,EAAT,GAA2C,IAAPjmB,EAAM,EAANA,GAEzC,EAA4CkjB,aAC1C,SAAChE,GAAD,MAAY,CACVwE,gBAAiBxE,EAAMiE,UAAUO,gBACjCvC,eAAgBjC,EAAMiE,UAAUhC,kBAElCkC,KALMK,EAAR,EAAQA,gBAAiBvC,EAAzB,EAAyBA,eAQzB,EAA0BvU,mBAAS,IAAnC,mBAAOoS,EAAP,KAAckH,EAAd,KAYA,OAVAxS,qBAAU,WACR,IAAIyS,EAASnmB,EAAK,GAAK,SACnB0jB,GAAmB1jB,IACrBmmB,EAAM,6CAAyCzC,EAAgB7F,YAAzD,MAGRqI,EAASC,KAER,CAACzC,EAAiBvC,IAGnB,oCACGA,GAAkB,kBAAC,IAAD,MACnB,kBAACkF,EAAA,EAAMlV,OAAP,CAAcmV,aAAW,GACvB,kBAACD,EAAA,EAAM9U,MAAP,CAAavR,GAAG,gCAAgCgf,K,62MCLtD,IAAMqa,EAAoBvY,MAAaC,MAAM,CAC3C4X,KAAM7X,MACHtO,SAAS,sBAEV0E,EAAYrB,aAAW,SAAAC,GAAK,MAAK,CACrCC,KAAM,CACJgR,QAAS,QAEXuS,YAAa,CACX1iB,OAAQd,EAAMK,QAAQ,IAExBojB,MAAO,CACL3iB,OAAQd,EAAMK,QAAQ,EAAG,QAGtB,SAAS6K,EAAT,GAKH,IAJFC,EAIC,EAJDA,aACAC,EAGC,EAHDA,SACAC,EAEC,EAFDA,eACAlQ,EACC,EADDA,OAGA,GADgBiG,IACUtK,mBAAS,WAAnC,6BAKA,MAAkDA,mBAAS,IAA3D,mBAAO4sB,EAAP,KAA4BC,EAA5B,KACA,EAAgD7sB,mBAAS,IAAzD,mBAAO8sB,EAAP,KAA2BC,EAA3B,KACA,EAAgC/sB,oBAAS,GAAzC,mBAAOgtB,EAAP,KAAiBC,EAAjB,KACAnmB,qBAAU,WACR+Y,MACC,IAEH/Y,qBAAU,WACR,GAA0B,KAAtBwN,EAAS4Y,SAAiB,CAC5B,IAAI3wB,EAAI+X,EAAS4Y,SAAW,OAAS,QACrCD,EAAY1wB,MAEb,CAAC+X,IACJ,IAAMuL,EAAe,uCAAG,6GAECvK,IAAM3M,IAAI,4CAFX,OAEdxG,EAFc,OAGpB0qB,EAAmB1qB,EAAO5M,KAAP,gBAA+B43B,QAClDJ,EAAkB5qB,EAAO5M,KAAP,eAA8B63B,OAJ5B,yGAAH,qDAOrB,OACE,oCACE,kBAAC,IAAD,CACE7X,oBAAoB,EACpBC,cAAelB,EACfmB,iBAAkBgX,EAClB/W,SAAU,SAACxb,GACTA,EAAO9G,GAAK8G,EAAOtD,GACnByd,EAAana,MAGd,kBAAG6b,EAAH,EAAGA,aAAc7P,EAAjB,EAAiBA,cAAjB,OACC,oCACE,kBAACuT,EAAA,EAAMhV,KAAP,CAAYzR,UAAU,yBACnBuhB,GACC,yBAAKvhB,UAAU,gCACb,yBAAKA,UAAU,wCAGnB,kBAAC,IAAD,CAAMA,UAAU,yBACd,yBAAKA,UAAU,kBACb,yBAAKA,UAAU,2BACb,wBAAIA,UAAU,0BAAd,qCACA,2FAGJ,yBAAKA,UAAU,kBACb,yBAAKA,UAAU,YACb,kBAAC,IAAD,CAAQgG,KAAK,QAAQxC,MAAM,gBACzB,4BAAQ8D,IAAK,GAAGnI,MAAM,IAAtB,UACCy6B,EAAoB71B,KAAI,SAACC,EAAMC,GAAP,OACvB,4BAAQqD,IAAKrD,EAAO9E,MAAO6E,EAAKH,MAAOG,EAAKH,UAGhD,2BAAO7D,UAAU,wBAAjB,yCAIF,yBAAKA,UAAU,YACb,kBAAC,IAAD,CAAQgG,KAAK,OAAOxC,MAAM,QACxB,4BAAQ8D,IAAK,GAAGnI,MAAM,IAAtB,UACC26B,EAAmB/1B,KAAI,SAACC,EAAMC,GAAP,OACtB,4BAAQqD,IAAKrD,EAAO9E,MAAO6E,EAAKH,MAAOG,EAAKH,UAGhD,2BAAO7D,UAAU,wBAAjB,yCAIF,yBAAKA,UAAU,kBAEb,kBAAC,IAAD,CAAagG,KAAK,WAAWxC,MAAM,eAAegE,KAAG,EACrDrI,MAAO66B,EACP3qB,SAAU,SAACC,GACT2qB,EAAY3qB,EAAEM,OAAOzQ,OACrB+T,EAAc,WAAY5D,EAAEM,OAAOzQ,SAGnC,kBAACk7B,EAAA,EAAD,CACEl7B,MAAM,QACN6G,KAAK,WACLs0B,QAAS,kBAACC,EAAA,EAAD,CAAOxrB,MAAM,YACtBvL,MAAM,OACNg3B,eAAe,UAEjB,kBAACH,EAAA,EAAD,CACEl7B,MAAM,OACN6G,KAAK,WACLs0B,QAAS,kBAACC,EAAA,EAAD,CAAOxrB,MAAM,YACtBvL,MAAM,SACNg3B,eAAe,aAKvB,yBAAKx6B,UAAU,kBACb,yBAAKA,UAAU,YAEb,kBAAC,KAAD,GACE+C,KAAK,QADP,qBAEO,UAFP,qBAGO,QAHP,0BAIasrB,KAJb,4BAKc,mBALd,sBAMQ,mBANR,IAQA,2BAAOruB,UAAU,wBAAjB,yBAKF,yBAAKA,UAAU,YAEb,kBAAC,IAAD,CACE+C,KAAK,QACLiD,KAAK,QACL0I,UAAW2f,IACXjf,YAAY,QACZ5L,MAAM,WAGV,yBAAKxD,UAAU,YAEb,kBAAC,IAAD,CACE+C,KAAK,OACLiD,KAAK,SACL0I,UAAW2f,IACXjf,YAAY,UACZ5L,MAAM,cAIZ,yBAAKxD,UAAU,kBACb,yBAAKA,UAAU,YAEb,kBAAC,IAAD,CACE+C,KAAK,OACLiD,KAAK,cACL0I,UAAW2f,IACXjf,YAAY,mBACZ5L,MAAM,sBAIV,yBAAKxD,UAAU,YAEb,kBAAC,IAAD,CACE+C,KAAK,OACLiD,KAAK,SACL0I,UAAW2f,IACXjf,YAAY,aACZ5L,MAAM,gBAGV,yBAAKxD,UAAU,YAEb,kBAAC,IAAD,CACE+C,KAAK,OACLiD,KAAK,eACL0I,UAAW2f,IACXjf,YAAY,gBACZ5L,MAAM,kBAER,2BAAOxD,UAAU,wBAAjB,wCAOR,kBAACymB,EAAA,EAAM/U,OAAP,KACE,4BACE3O,KAAK,SACL0J,QAAS4E,EACTrR,UAAU,6BAHZ,UAOA,yCACA,4BACE+C,KAAK,SACL0J,QAAS,kBAAMsW,KACf/iB,UAAU,+BAHZ,c,YCxODsuB,EAA2B,CAAC,SAAU,UAAW,OAAQ,IAIzD1d,EAAgB,CAAC,CAAExE,UAAW,KAAMyE,MAAO,SAC3C0d,EAAkB,CAC7B,CAAEtvB,KAAM,IAAKE,MAAO,GACpB,CAAEF,KAAM,IAAKE,MAAO,GACpB,CAAEF,KAAM,KAAME,MAAO,KAEVqvB,EAAgB,CAC3Bjf,OAAQ,CACNkf,SAAU,GACVC,UAAW,GACXC,MAAO,GACPC,UAAW,IAEbC,UAAW,MACXC,UAAW,KACXC,WAAY,EACZC,SAAU,IChBNC,EAAqBC,0BAEpB,SAASC,IACd,OAAOC,qBAAWH,GAGeA,EAAmBI,SAE/C,SAASC,EAAT,GAA6D,IAA/BC,EAA8B,EAA9BA,kBAAmB7G,EAAW,EAAXA,SACtD,EAA0C1b,mBAASwhB,GAAnD,mBAAOlJ,EAAP,KAAoBkK,EAApB,KACA,EAAsBxiB,mBAAS,IAA/B,mBAAOkY,EAAP,KAAYuK,EAAZ,KACMC,EAAiBC,uBAAY,SAAAC,GACjCJ,GAAmB,SAAAK,GAKjB,OAJIC,qBAAWF,KACbA,EAAkBA,EAAgBC,IAGhCE,kBAAQF,EAAiBD,GACpBC,EAGFD,OAER,IAeGzwB,EAAQ,CACZmmB,cACAkK,qBACAtK,MACAuK,SACAC,iBACAM,aAnBmB,CACnB5vB,QAAI0F,EACJmU,MAAO,GACPwgB,KAAM,GACNP,SAAU,GACVnB,KAAM,GACN2B,MAAO,GACPC,OAAQ,GACR1c,YAAa,GACb2c,OAAQ,GACRC,aAAc,IAUdvK,uBAAwBf,EAAkBe,uBAC1CC,uBAAwBhB,EAAkBgB,uBAC1CuK,yBAA0BvL,EAAkBuL,yBAC5CtK,yBAA0BjB,EAAkBiB,yBAC5CC,0BAA2BlB,EAAkBkB,0BAC7CC,yBAA0BnB,EAAkBmB,yBAC5CC,gCAAiCpB,EAAkBoB,iCAGrD,OAAO,kBAAC1B,EAAmB2B,SAApB,CAA6BzxB,MAAOA,GAAQupB,G,WCjD9C,SAASmI,EAAT,GAAmD,IAArBzwB,EAAoB,EAApBA,GAAIgR,EAAgB,EAAhBA,KAAMC,EAAU,EAAVA,OAEvCyf,EAAqB3B,IACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACLhB,aAAcc,EAAmBd,gBAElC,CAACc,IAGEvL,EAAW0L,cACjB,EAA4C3N,aAC1C,SAAChE,GAAD,MAAY,CACViC,eAAgBjC,EAAMiE,UAAUhC,eAChCuC,gBAAiBxE,EAAMiE,UAAUO,mBAEnCL,KALMlC,EAAR,EAAQA,eAAgBuC,EAAxB,EAAwBA,gBAQxBhQ,qBAAU,WAERyR,EAAStB,EAAsB7jB,MAC9B,CAACA,EAAImlB,IA4BR,OACE,kBAACkB,EAAA,EAAD,CACEtV,KAAK,KACLC,KAAMA,EACNC,OAAQA,EACRC,kBAAgB,gCAEhB,kBAAC+U,EAAD,CAA0BjmB,GAAIA,IAC9B,kBAACghB,EAAD,CACEC,aAlCe,SAACC,GACflhB,EAaHmlB,EAAStB,EAAuB3C,IAAW1M,MAAK,WACH,MAAxC/P,OAAOk2B,8BACRn7B,YAAa,UAAW,WACxByR,KAEAzR,YAAa,QAASiF,OAAOm2B,wCAhBjCzV,EAAStB,EAAuB3C,IAAW1M,MAAK,WAEL,MAAtC/P,OAAOo2B,4BACRr7B,YAAa,UAAWiF,OAAOq2B,mCAC/B7pB,KAEAzR,YAAa,QAASiF,OAAOq2B,uCA0B/B3Z,eAAgBA,EAChBD,SAAUwC,GAAmBiN,EAAiBf,aAC9C3e,OAAQA,KChET,SAAS6f,EAAT,GAAqD,IAArB9wB,EAAoB,EAApBA,GAAIgR,EAAgB,EAAhBA,KAAMC,EAAU,EAAVA,OAEzCyf,EAAqB3B,IACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACLvB,OAAQqB,EAAmBrB,OAC3BnK,YAAawL,EAAmBxL,eAEjC,CAACwL,IAGEvL,EAAW0L,cACT5N,EAAcC,aACpB,SAAChE,GAAD,MAAY,CAAE+D,UAAW/D,EAAMiE,UAAUhC,kBACzCkC,KAFMJ,UAMRvP,qBAAU,WACH1T,GACHiR,MAGD,CAACjR,IAGJ0T,qBAAU,cAAU,CAACuP,EAAWkC,IAchC,OACE,kBAACkB,EAAA,EAAD,CACErV,KAAMA,EACNC,OAAQA,EACRC,kBAAgB,gCAGf+R,GAAa,kBAAC,IAAD,MAEd,kBAACoD,EAAA,EAAMlV,OAAP,CAAcmV,aAAW,GACvB,kBAACD,EAAA,EAAM9U,MAAP,CAAavR,GAAG,gCAAhB,wCAIF,kBAACqmB,EAAA,EAAMhV,KAAP,MACI4R,GACA,uGAEDA,GAAa,8EAEhB,kBAACoD,EAAA,EAAM/U,OAAP,KACE,6BACE,4BACE3O,KAAK,SACL0J,QAAS4E,EACTrR,UAAU,6BAHZ,UAOA,yCACA,4BACE+C,KAAK,SACL0J,QA5Ca,WAErB8Y,EAAStB,EAAuB7jB,IAAKwU,MAAK,WAExC2Q,EAAStB,EAAuB8M,EAAiBzL,cAEjDyL,EAAiBtB,OAAO,IAExBpe,QAqCMrR,UAAU,8BAHZ,aCtEH,SAASmxB,EAAT,GAAkD,IAAjB/f,EAAgB,EAAhBA,KAAMC,EAAU,EAAVA,OAEtCyf,EAAqB3B,IACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACL9L,IAAK4L,EAAmB5L,IACxBuK,OAAQqB,EAAmBrB,OAC3BnK,YAAawL,EAAmBxL,eAEjC,CAACwL,IAGEvL,EAAW0L,cACT5N,EAAcC,aACpB,SAAChE,GAAD,MAAY,CAAE+D,UAAW/D,EAAMiE,UAAUhC,kBACzCkC,KAFMJ,UAMRvP,qBAAU,WACHid,EAAiB7L,KAAuC,IAAhC6L,EAAiB7L,IAAIrc,QAChDwI,MAGD,CAAC0f,EAAiB7L,MAGrBpR,qBAAU,cAAU,CAACuP,EAAWkC,IAiBhC,OACE,kBAACkB,EAAA,EAAD,CACErV,KAAMA,EACNC,OAAQA,EACRC,kBAAgB,gCAGf+R,GAAa,kBAAC,IAAD,MAEd,kBAACoD,EAAA,EAAMlV,OAAP,CAAcmV,aAAW,GACvB,kBAACD,EAAA,EAAM9U,MAAP,CAAavR,GAAG,gCAAhB,sCAIF,kBAACqmB,EAAA,EAAMhV,KAAP,MACI4R,GACA,4GAEDA,GAAa,+EAEhB,kBAACoD,EAAA,EAAM/U,OAAP,KACE,6BACE,4BACE3O,KAAK,SACL0J,QAAS4E,EACTrR,UAAU,6BAHZ,UAOA,yCACA,4BACE+C,KAAK,SACL0J,QA/Cc,WAEtB8Y,EAAStB,EAAwB8M,EAAiB7L,MAAMtQ,MAAK,WAE3D2Q,EAAStB,EAAuB8M,EAAiBzL,cAAc1Q,MAC7D,WAEEmc,EAAiBtB,OAAO,IAExBpe,WAuCErR,UAAU,8BAHZ,aC3EV,IAAMoxB,EAAoB,SAACvN,EAAUqB,GACnC,IAAMmM,EAAa,GAOnB,OANAnM,EAAIhkB,SAAQ,SAACd,GACX,IAAMkhB,EAAWuC,EAASV,MAAK,SAAC6B,GAAD,OAAQA,EAAG5kB,KAAOA,KAC7CkhB,GACF+P,EAAWvoB,KAAKwY,MAGb+P,GAGF,SAASC,EAAT,GAAiD,IAAjBlgB,EAAgB,EAAhBA,KAAMC,EAAU,EAAVA,OAErCyf,EAAqB3B,IACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACL9L,IAAK4L,EAAmB5L,OAEzB,CAAC4L,IAGIvN,EAAcD,aACpB,SAAChE,GAAD,MAAY,CACViE,UAAW6N,EACT9R,EAAMiE,UAAUM,SAChBkN,EAAiB7L,QAGrBzB,KAPMF,UAkBR,OAPAzP,qBAAU,WACHid,EAAiB7L,KAAuC,IAAhC6L,EAAiB7L,IAAIrc,QAChDwI,MAGD,CAAC0f,EAAiB7L,MAGnB,kBAACuB,EAAA,EAAD,CACErV,KAAMA,EACNC,OAAQA,EACRC,kBAAgB,gCAEhB,kBAACmV,EAAA,EAAMlV,OAAP,CAAcmV,aAAW,GACvB,kBAACD,EAAA,EAAM9U,MAAP,CAAavR,GAAG,gCAAhB,4BAIF,kBAACqmB,EAAA,EAAMhV,KAAP,KACE,yBAAKzR,UAAU,4BACZujB,EAAUxf,KAAI,SAACud,GAAD,OACb,yBAAKthB,UAAU,kCAAkCsH,IAAG,YAAOga,EAASlhB,KAClE,yBAAKJ,UAAU,gFACf,yBAAKA,UAAU,kBACb,uBACEA,UAAS,gCACPsuB,EAAyBhN,EAASvM,QAD3B,gBAKb,yBAAK/U,UAAU,sCACb,0BACIA,UAAS,qCACPsuB,EAAyBhN,EAASvM,QAD3B,kBADb,OAKSuM,EAASlhB,IAElB,0BAAMJ,UAAU,QAAQshB,EAASmN,SAAjC,KAA6CnN,EAASoN,kBAMhE,kBAACjI,EAAA,EAAM/U,OAAP,KACE,6BACE,4BACE3O,KAAK,SACL0J,QAAS4E,EACTrR,UAAU,6BAHZ,UAOA,yCACA,4BACE+C,KAAK,SACL0J,QAAS4E,EACTrR,UAAU,+BAHZ,S,aCrFJoxB,EAAoB,SAACvN,EAAUqB,GACnC,IAAMmM,EAAa,GAOnB,OANAnM,EAAIhkB,SAAQ,SAACd,GACX,IAAMkhB,EAAWuC,EAASV,MAAK,SAAC6B,GAAD,OAAQA,EAAG5kB,KAAOA,KAC7CkhB,GACF+P,EAAWvoB,KAAKwY,MAGb+P,GAGF,SAASE,EAAT,GAAuD,IAAjBngB,EAAgB,EAAhBA,KAAMC,EAAU,EAAVA,OAE3Cyf,EAAqB3B,IACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACL9L,IAAK4L,EAAmB5L,IACxBuK,OAAQqB,EAAmBrB,OAC3BnK,YAAawL,EAAmBxL,eAEjC,CAACwL,IAGJ,EAAiCxN,aAC/B,SAAChE,GAAD,MAAY,CACViE,UAAW6N,EACT9R,EAAMiE,UAAUM,SAChBkN,EAAiB7L,KAEnB7B,UAAW/D,EAAMiE,UAAUhC,kBAE7BkC,KARMF,EAAR,EAAQA,UAAWF,EAAnB,EAAmBA,UAYnBvP,qBAAU,WACHid,EAAiB7L,KAAuC,IAAhC6L,EAAiB7L,IAAIrc,QAChDwI,MAGD,CAAC0f,EAAiB7L,MAErB,MAA4BlY,mBAAS,GAArC,mBAAO+H,EAAP,KAAeyc,EAAf,KAEMjM,EAAW0L,cAkBjB,OACE,kBAACxK,EAAA,EAAD,CACErV,KAAMA,EACNC,OAAQA,EACRC,kBAAgB,gCAEhB,kBAACmV,EAAA,EAAMlV,OAAP,CAAcmV,aAAW,GACvB,kBAACD,EAAA,EAAM9U,MAAP,CAAavR,GAAG,gCAAhB,8CAIF,kBAACqmB,EAAA,EAAMhV,KAAP,CAAYzR,UAAU,yBAEnBqjB,GACC,yBAAKrjB,UAAU,iBACb,yBAAKA,UAAU,wCAKnB,yBAAKA,UAAU,4BACZujB,EAAUxf,KAAI,SAACud,GAAD,OACb,yBACEthB,UAAU,kCACVsH,IAAG,yBAAoBga,EAASlhB,KAEhC,yBAAKJ,UAAU,gFACf,yBAAKA,UAAU,kBACb,uBACEA,UAAS,gCACPsuB,EAAyBhN,EAASvM,QAD3B,gBAKb,yBAAK/U,UAAU,sCACb,0BACEA,UAAS,qCACPsuB,EAAyBhN,EAASvM,QAD3B,kBADX,OAKOuM,EAASlhB,IAEhB,0BAAMJ,UAAU,QACbshB,EAASmN,SADZ,KACwBnN,EAASoN,kBAO3C,kBAACjI,EAAA,EAAM/U,OAAP,CAAc1R,UAAU,QACtB,yBAAKA,UAAU,cACb,4BACEA,UAAU,eACVb,MAAO4V,EACP1F,SAAU,SAACC,GAAD,OAAOkiB,GAAWliB,EAAEM,OAAOzQ,SAErC,4BAAQA,MAAM,KAAd,YACA,4BAAQA,MAAM,KAAd,YAGJ,yBAAKa,UAAU,cACb,4BACE+C,KAAK,SACL0J,QAAS4E,EACTrR,UAAU,kCAHZ,UAOA,4BACE+C,KAAK,SACL0J,QAxFW,WAEnB8Y,EAAStB,IAA8B8M,EAAiB7L,IAAKnQ,IAASH,MACpE,WAEE2Q,EAAStB,IAAuB8M,EAAiBzL,cAAc1Q,MAC7D,WAEEmc,EAAiBtB,OAAO,IAExBpe,WA+EArR,UAAU,+BAHZ,oB,YClHH,SAASqyB,GAAT,GAA0C,EAAf7O,YAAgB,IAE1CsN,EAAqB3B,IACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACL1L,YAAawL,EAAmBxL,YAChCoK,eAAgBoB,EAAmBpB,kBAEpC,CAACoB,IAGE0B,EAAc,SAACtrB,GACnB,IAAMurB,EAhCY,SAACnN,EAAape,GAClC,IAAQyrB,EAAezrB,EAAfyrB,YACFF,EAAc,gBAAQnN,GACtB/V,EAAS,GAcf,OAFAA,EAAOojB,YAAcA,EACrBF,EAAeljB,OAASA,EACjBkjB,EAekBG,CAAc7B,EAAiBzL,YAAape,GAC9D6oB,kBAAQ0C,EAAgB1B,EAAiBzL,eAC5CmN,EAAe1D,WAAa,EAE5BgC,EAAiBrB,eAAe+C,KAIpC,OACE,oCACE,kBAAC,IAAD,CACEjQ,cAAe,CACbzN,OAAQ,GACRhS,KAAM,GACN2vB,WAAY,IAEdhQ,SAAU,SAACxb,GACTsrB,EAAYtrB,MAGb,cACCA,OADD,IAEC6b,EAFD,EAECA,aAEA7P,GAJD,EAGCkgB,WAHD,EAIClgB,eAJD,OAMG,0BAAMwP,SAAUK,EAAc/iB,UAAU,yBACtC,2BACA+C,KAAK,SACL/C,UAAU,SACVI,GAAG,gBACHqM,QAAS,SAAC6C,GACe,MAAnBA,EAAEM,OAAOzQ,MACXX,SAASsR,eAAe,iBAAiB3Q,MAAQ,EAC9CX,SAASsR,eAAe,iBAAiB3Q,MAAQ,EACtD+T,EAAc,cAAe5D,EAAEM,OAAOzQ,OACtC4jB,OAGF,yBAAK/iB,UAAU,kBACb,yBAAKA,UAAU,YACb,6FAGJ,yBAAKA,UAAU,kBACb,yBAAKA,UAAU,YACb,yBAAKmE,MAAM,eACT,2BAAOpB,KAAK,OAAOoB,MAAM,eAAeqN,aAAW,qCAErD,2BAAOxR,UAAU,wBAAjB,kCAKF,yBAAKA,UAAU,YACb,4BACE+C,KAAK,SACL/C,UAAU,yCAFZ,UASJ,yBAAKA,UAAU,kBACb,yBAAKA,UAAU,YACb,qHAEA,iG,4ECjGX,SAASm0B,GACdC,EACA5sB,EACA6sB,EAHK,GAKJ,IADC9D,EACF,EADEA,uBAAwBC,EAC1B,EAD0BA,yBAE1B,OACE,oCACE,uBACEpR,MAAM,oCACNpf,UAAU,uDACVyM,QAAS,kBAAM8jB,EAAuB/oB,EAAI5D,MAE1C,0BAAM5D,UAAU,yCACd,kBAAC,KAAD,CACEwI,IAAKC,aAAc,gDAIzB,yCAEA,uBACE2W,MAAM,sCACNpf,UAAU,iDACVyM,QAAS,kBAAM+jB,EAAyBhpB,EAAI5D,MAE5C,0BAAM5D,UAAU,wCACd,kBAAC,KAAD,CAAKwI,IAAKC,aAAc,2CCX3B,SAAS6rB,KAEd,IAAMxD,EAAqB3B,IACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACL9L,IAAK4L,EAAmB5L,IACxBuK,OAAQqB,EAAmBrB,OAC3BnK,YAAawL,EAAmBxL,YAChCoK,eAAgBoB,EAAmBpB,eACnCa,uBAAwBO,EAAmBP,uBAC3CC,yBAA0BM,EAAmBN,4BAE9C,CAACM,IAGIyD,EAAiBjR,aACvB,SAAChE,GAAD,MAAY,CAAEiV,aAAcjV,EAAMiE,aAClCE,KAFM8Q,aAIA3Q,EAAsC2Q,EAAtC3Q,WAAYC,EAA0B0Q,EAA1B1Q,SAAUL,EAAgB+Q,EAAhB/Q,YAGxB+B,EAAW0L,cACjBnd,qBAAU,WAERid,EAAiBtB,OAAO,IAExBlK,EAAStB,EAAuB8M,EAAiBzL,gBAEhD,CAACyL,EAAiBzL,YAAaC,IAElC,IAAMpZ,EAAU,CACd,CACEC,UAAW,KACXnN,KAAM,KACNyN,MAAM,EACNC,UAAWA,KACXC,2BAEF,CACER,UAAW,QACXnN,KAAM,QACNyN,MAAM,EACNC,UAAWA,KACXC,2BAEF,CACER,UAAW,OACXnN,KAAM,OACNyN,MAAM,EACNC,UAAWA,KACXC,2BAEF,CACER,UAAW,OACXnN,KAAM,OACNyN,MAAM,EACNC,UAAWA,KACXC,2BAEF,CACER,UAAW,QACXnN,KAAM,QACNyN,MAAM,EACNC,UAAWA,KACXC,2BAEF,CACER,UAAW,SACXnN,KAAM,UACNyN,MAAM,EACNC,UAAWA,KACXC,2BAEF,CACER,UAAW,cACXnN,KAAM,cACNyN,MAAM,EACNC,UAAWA,KACXC,2BAEF,CACER,UAAW,SACXnN,KAAM,UACNyN,MAAM,EACNC,UAAWA,KACXC,2BAEF,CACER,UAAW,eACXnN,KAAM,eACNyN,MAAM,EACNC,UAAWA,KACXC,2BAEF,CACER,UAAW,SACXnN,KAAM,UACNoN,UAAWmoB,GACXC,gBAAiB,CACflE,uBAAwBQ,EAAiBR,uBACzCC,yBAA0BO,EAAiBP,0BAE7CjwB,QAAS,mBACTm0B,cAAe,mBACftwB,MAAO,CACLuS,SAAU,WAKVge,EAAoB,CACxBC,QAAQ,EACRC,UAAWjR,EACX2K,gBAAiBuG,EACjBC,YAAahE,EAAiBzL,YAAY0J,SAC1CgG,KAAMjE,EAAiBzL,YAAYyJ,YAErC,OACE,oCACE,kBAAC,sBAAD,CAAoBje,WAAYC,KAAkB4jB,KAC/C,YAAgD,IAA7CM,EAA4C,EAA5CA,gBAAiBC,EAA2B,EAA3BA,qBACnB,OACE,kBAAC,IAAD,CACE7R,UAAWG,EACXyR,gBAAiBA,GAEjB,kBAAC,KAAD,eACEjkB,eAAe,mBACfE,UAAU,EACV3Q,QAAQ,gDACR0Q,YAAU,EACVkkB,QAAM,EACNxkB,SAAS,KACTpO,KAAmB,OAAbshB,EAAoB,GAAKA,EAC/B1X,QAASA,EACTyE,cAAekkB,EACfM,cAAeC,aACbtE,EAAiBrB,gBAEnBgI,UAAWC,aAAa,CACtB9T,WACAqB,IAAK6L,EAAiB7L,IACtBuK,OAAQsB,EAAiBtB,UAEvByF,GAEJ,kBAAC,KAAD,CAAmBrR,SAAUA,IAC7B,kBAAC,KAAD,CAAuBA,SAAUA,UCxK1C,SAASyR,KAEd,IAAMxE,EAAqB3B,IACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACL9L,IAAK4L,EAAmB5L,IACxBuK,OAAQqB,EAAmBrB,OAC3BgB,0BAA2BK,EAAmBL,0BAC9CC,yBAA0BI,EAAmBJ,yBAC7CC,gCACEG,EAAmBH,mCAEtB,CAACG,IAEJ,OACE,yBAAK9wB,UAAU,QACb,yBAAKA,UAAU,4EACb,yBAAKA,UAAU,aACb,yBAAKA,UAAU,gCACb,yBAAKA,UAAU,iCACb,2BAAOA,UAAU,yBACf,yDAC0B,2BAAI+wB,EAAiB7L,IAAIrc,WAIvD,6BACE,4BACE9F,KAAK,SACL/C,UAAU,iDACVyM,QAASskB,EAAiBN,2BAE1B,uBAAGzwB,UAAU,gBALf,eADF,Y,0NCCZ,IAJoBgG,GAAMm1B,GAIpBlgB,GAAO,EAJOjV,GAKL,kBALWm1B,GAKO,kBAJtB,CAAEn1B,QAAMm1B,kBAOnB,SAASC,GAAK7xB,EAAGtE,EAAGo2B,GAChB,OAAIp2B,EAAEo2B,GAAW9xB,EAAE8xB,IACP,EAERp2B,EAAEo2B,GAAW9xB,EAAE8xB,GACR,EAEJ,EAiBX,IAAMC,GAAW,CACb,CAAEl7B,GAAI,OAAQm7B,SAAS,EAAOC,gBAAgB,EAAMh4B,MAAO,QAC3D,CAAEpD,GAAI,cAAem7B,SAAS,EAAMC,gBAAgB,EAAOh4B,MAAO,gBAGtE,SAASi4B,GAAkB17B,GACvB,IAAQ27B,EAA2E37B,EAA3E27B,iBAAkB7qB,EAAyD9Q,EAAzD8Q,MAAOwqB,EAAkDt7B,EAAlDs7B,QAASM,EAAyC57B,EAAzC47B,YAAaC,EAA4B77B,EAA5B67B,SAAUC,EAAkB97B,EAAlB87B,cAKjE,OACI,kBAACC,GAAA,EAAD,KACI,kBAACC,GAAA,EAAD,KACI,kBAACC,GAAA,EAAD,CAAW5U,QAAQ,YACf,kBAAC6U,GAAA,EAAD,CACIC,cAAeP,EAAc,GAAKA,EAAcC,EAChD9E,QAAS6E,IAAgBC,EACzBvsB,SAAUqsB,EACVxS,WAAY,CAAE,aAAc,0BAGnCoS,GAASv3B,KAAI,SAAAyD,GAAG,OACb,kBAACw0B,GAAA,EAAD,CACI10B,IAAKE,EAAIpH,GACT+7B,OAAO30B,EAAI+zB,QAAU,QACrBnU,QAAS5f,EAAIg0B,eAAiB,OAAS,UACvCY,cAAef,IAAY7zB,EAAIpH,IAAKyQ,GAEpC,kBAACwrB,GAAA,EAAD,CACIC,OAAQjB,IAAY7zB,EAAIpH,GACxBm8B,UAAW1rB,EACXpE,SAzBE+vB,EAyByBh1B,EAAIpH,GAzBjB,SAAA6T,GAClC4nB,EAAc5nB,EAAOuoB,MA0BAh1B,EAAIhE,QA3BH,IAAAg5B,OA6C9B,IAAMC,GAAmBxmB,aAAW,SAAAC,GAAK,MAAK,CAC1CC,KAAM,CACFumB,YAAaxmB,EAAMK,QAAQ,GAC3BomB,aAAczmB,EAAMK,QAAQ,IAEhCqmB,UAC2B,UAAvB1mB,EAAM4R,QAAQ/kB,KACR,CACEgM,MAAOmH,EAAM4R,QAAQ+U,UAAU3K,KAC/BtK,gBAAiBkV,aAAQ5mB,EAAM4R,QAAQ+U,UAAUE,MAAO,MAE1D,CACEhuB,MAAOmH,EAAM4R,QAAQ7oB,KAAKksB,QAC1BvD,gBAAiB1R,EAAM4R,QAAQ+U,UAAUG,MAErDC,OAAQ,CACJ1V,KAAM,YAEVtD,QAAS,CACLlV,MAAOmH,EAAM4R,QAAQ7oB,KAAK49B,WAE9Bzd,MAAO,CACHmI,KAAM,gBAIR2V,GAAuB,SAAAn9B,GACzB,IAAMQ,EAAUk8B,KACRd,EAAgB57B,EAAhB47B,YAER,OACI,kBAACwB,GAAA,EAAD,CACIn9B,UAAWwpB,aAAKjpB,EAAQ4V,KAAT,eACV5V,EAAQq8B,UAAYjB,EAAc,KAGvC,yBAAK37B,UAAWO,EAAQ6e,OACnBuc,EAAc,EACX,kBAAC7R,GAAA,EAAD,CAAY/a,MAAM,UAAU4kB,QAAQ,aAC/BgI,EADL,aAII,kBAAC7R,GAAA,EAAD,CAAY6J,QAAQ,KAAKvzB,GAAG,gBAKxC,yBAAKJ,UAAWO,EAAQ08B,SACxB,yBAAKj9B,UAAWO,EAAQ0jB,SACnB0X,EAAc,EACX,kBAACyB,GAAA,EAAD,CAAShe,MAAM,UACX,kBAACie,GAAA,EAAD,CAAY7rB,aAAW,UACnB,kBAAC,KAAD,QAIJ,kBAAC4rB,GAAA,EAAD,CAAShe,MAAM,eACX,kBAACie,GAAA,EAAD,CAAY7rB,aAAW,oBAa7C8F,GAAYrB,aAAW,SAAAC,GAAK,MAAK,CACnCC,KAAM,CACFC,MAAO,OACPE,UAAWJ,EAAMK,QAAQ,IAE7BF,MAAO,CACHD,MAAO,OACPK,aAAcP,EAAMK,QAAQ,IAEhCG,MAAO,CACHC,SAAU,KAEd2mB,aAAc,CACV9mB,UAAW,QAEfohB,eAAgB,CACZC,WAAY,YAGb,SAAS0F,KACZ,IAAMh9B,EAAU+W,KAChB,EAA0BoT,IAAM1d,SAAS,OAAzC,mBAAO6D,EAAP,KAAc2sB,EAAd,KACA,EAA8B9S,IAAM1d,SAAS,YAA7C,mBAAOquB,EAAP,KAAgBoC,EAAhB,KACA,EAAgC/S,IAAM1d,SAAS,IAA/C,mBAAOia,EAAP,KAAiByW,EAAjB,KACA,EAAwBhT,IAAM1d,SAAS,GAAvC,mBAAOgoB,EAAP,KACA,GADA,KAC0BtK,IAAM1d,UAAS,IAAzC,mBAAOmrB,EAAP,KACA,GADA,KACsCzN,IAAM1d,SAAS,IAArD,mBAAO2wB,EAAP,UAiDA,IAEMC,EAAYD,EAAc5yB,KAAK+qB,IAAI6H,EAAa1iB,GAAKpS,OAASmsB,EAAO2I,GAE3E,EAAwBjT,IAAM1d,UAAS,GAAvC,mBAAO8mB,EAAP,KAAa+J,EAAb,KAMA,SAAS5K,IACL4K,GAAQ,GAEZ,OACI,6BACI,4BACI96B,KAAK,SACL/C,UAAU,wCACV2zB,QAAQ,WAAWlnB,QAZ/B,WACIoxB,GAAQ,KAQJ,UAOA,kBAACC,GAAA,EAAD,CAAShK,KAAMA,EAAME,QAASf,EAAa3hB,kBAAgB,qBACvD,kBAACysB,GAAA,EAAD,CAAa39B,GAAG,qBAAhB,UACA,kBAAC49B,GAAA,EAAD,KACI,yBAAKh+B,UAAWO,EAAQ4V,MACpB,kBAACgT,GAAA,EAAD,CAAOnpB,UAAWO,EAAQ8V,OACtB,kBAAC,GAAD,CAAsBslB,YAAa1U,EAASpe,SAC5C,yBAAK7I,UAAWO,EAAQ+8B,cACpB,kBAACW,GAAA,EAAD,CACIj+B,UAAWO,EAAQmW,MACnBpF,kBAAgB,aAChBH,KAAMgnB,EAAQ,QAAU,UAExB,kBAACsD,GAAD,CACIE,YAAa1U,EAASpe,OACtBgI,MAAOA,EACPwqB,QAASA,EACTK,iBA/EpC,SAA8BznB,GAC1B,GAAIA,EAAMrE,OAAOknB,QAAjB,CACI,IAAMoH,EAAejjB,GAAKlX,KAAI,SAAAyX,GAAC,OAAIA,EAAExV,QACrC03B,EAAYQ,QAGhBR,EAAY,KA0EoB7B,cAtFpC,SAA2B5nB,EAAOuoB,GAE9BgB,EADenC,IAAYmB,GAAsB,SAAV3rB,EACrB,MAAQ,QAC1B4sB,EAAWjB,IAoFqBZ,SAAU3gB,GAAKpS,SAEnB,kBAACs1B,GAAA,EAAD,KA7PpC,SAAoBC,EAAOC,GACvB,IAAMC,EAAiBF,EAAMr6B,KAAI,SAACihB,EAAI/gB,GAAL,MAAe,CAAC+gB,EAAI/gB,MAMrD,OALAq6B,EAAe5xB,MAAK,SAACnD,EAAGtE,GACpB,IAAM4L,EAAQwtB,EAAI90B,EAAE,GAAItE,EAAE,IAC1B,OAAc,IAAV4L,EAAoBA,EACjBtH,EAAE,GAAKtE,EAAE,MAEbq5B,EAAev6B,KAAI,SAAAihB,GAAE,OAAIA,EAAG,MAuPEuZ,CAAWtjB,GApPpD,SAAoBpK,EAAOwqB,GACvB,MAAiB,SAAVxqB,EAAmB,SAACtH,EAAGtE,GAAJ,OAAUm2B,GAAK7xB,EAAGtE,EAAGo2B,IAAW,SAAC9xB,EAAGtE,GAAJ,OAAWm2B,GAAK7xB,EAAGtE,EAAGo2B,IAmP1BmD,CAAW3tB,EAAOwqB,IAC/B55B,MAAMuzB,EAAO2I,EAAa3I,EAAO2I,EAAcA,GAC/C55B,KAAI,SAACyD,EAAKvD,GACP,IAAMw6B,EA9C/B,SAAAz4B,GAAI,OAAgC,IAA5BihB,EAASrR,QAAQ5P,GA8CuBikB,CAAWziB,EAAIxB,MAChC04B,EAAO,kCAA8Bz6B,GAE3C,OACI,kBAAC83B,GAAA,EAAD,CACI4C,OAAK,EACLlyB,QAAS,SAAAwH,GAAK,OApFlE,SAAqBA,EAAOjO,GACxB,IAAM44B,EAAgB3X,EAASrR,QAAQ5P,GACnC64B,EAAc,IAEK,IAAnBD,EACAC,EAAcA,EAAYpuB,OAAOwW,EAAUjhB,GAClB,IAAlB44B,EACPC,EAAcA,EAAYpuB,OAAOwW,EAASxlB,MAAM,IACzCm9B,IAAkB3X,EAASpe,OAAS,EAC3Cg2B,EAAcA,EAAYpuB,OAAOwW,EAASxlB,MAAM,GAAI,IAC7Cm9B,EAAgB,IACvBC,EAAcA,EAAYpuB,OACtBwW,EAASxlB,MAAM,EAAGm9B,GAClB3X,EAASxlB,MAAMm9B,EAAgB,KAIvClB,EAAYmB,GAmEsD9L,CAAY9e,EAAOzM,EAAIxB,OACzC84B,KAAK,WACLC,eAAcN,EACdlV,UAAW,EACXjiB,IAAKE,EAAIxB,KACTihB,SAAUwX,GAEV,kBAACzC,GAAA,EAAD,CAAW5U,QAAQ,YACf,kBAAC6U,GAAA,EAAD,CACInF,QAAS2H,EACTvV,WAAY,CAAE,kBAAmBwV,MAGzC,kBAAC1C,GAAA,EAAD,CAAYttB,UAAU,KAAKtO,GAAIs+B,EAAS/vB,MAAM,MAAMyY,QAAQ,QACvD5f,EAAIxB,MAET,kBAACg2B,GAAA,EAAD,CAAWG,MAAM,QAAQ30B,EAAI2zB,iBAI5CyC,EAAY,GACT,kBAAC7B,GAAA,EAAD,CAAU33B,MAAO,CAAEwS,OAAQ,GAAKgnB,IAC5B,kBAAC5B,GAAA,EAAD,CAAWgD,QAAS,WASpD,kBAACC,GAAA,EAAD,KACA,kBAACzL,GAAA,EAAD,CAAQ/mB,SAAO,EAACsC,MAAM,WAAtB,UAGI,kBAACykB,GAAA,EAAD,CAAQ/mB,QAASwmB,EAAalkB,MAAM,WAApC,a,oCC9TduI,GAAYrB,aAAW,SAAAC,GAAK,MAAK,CACrCgpB,WAAY,CACV9X,QAASlR,EAAMK,QAAQ,QAGpB,SAASgf,KACd,IAAMh1B,EAAU+W,KACVwZ,EAAqB3B,IACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACL9L,IAAK4L,EAAmB5L,IACxBoL,uBAAwBQ,EAAmBR,0BAE5C,CAACQ,IAGJ,OAFA1tB,QAAQC,IAAI,eACbD,QAAQC,IAAI0tB,GAET,kBAAC,IAAD,KACE,kBAAC,IAAD,CAAY3R,MAAM,qCAChB,kBAAC,IAAD,KACE,4BACErc,KAAK,SACL/C,UAAU,wCACVyM,QAASskB,EAAiBT,wBAH5B,SAUJ,kBAAC,IAAD,KACE,kBAAC+B,GAAD,MACCtB,EAAiB7L,IAAIrc,OAAS,GAAK,kBAACysB,GAAD,MACpC,kBAAChB,GAAD,OAEF,kBAAC,IAAD,KACE,uBAAGt0B,UAAU,oBAAb,uBACA,kBAAC,KAAD,CAAY2zB,QAAQ,UAAUwL,QAAQ,uBACjC,SAAAC,GAAU,OACT,8BACE,qCAAGp/B,UAAU,mCAAmC+O,MAAM,UAAaswB,uBAAYD,KAC/E,kBAACE,GAAA,EAAD,iBACMC,uBAAYH,GADlB,CAEEvN,aAAc,CACZC,SAAU,SACVC,WAAY,UAEdC,gBAAiB,CACfF,SAAU,MACVC,WAAY,YAGd,kBAACjI,GAAA,EAAD,CAAY6J,QAAQ,KAAK3zB,UAAWO,EAAQ2+B,YAA5C,kCACA,kBAACpV,GAAA,EAAD,aAAY6J,QAAQ,YAAY3zB,UAAWO,EAAQ2+B,YAAnD,YAAyE,aAAzE,qFACA,kBAACpV,GAAA,EAAD,aAAY6J,QAAQ,YAAY3zB,UAAWO,EAAQ2+B,YAAnD,YAAyE,aAAzE,6FACA,kBAACpV,GAAA,EAAD,aAAY6J,QAAQ,YAAY3zB,UAAWO,EAAQ2+B,YAAnD,YAAyE,aAAzE,yFAKR,iDAEF,6BACE,kBAAC3B,GAAD,QAGJ,kBAAC,IAAD,KACE,uBACEx6B,KAAK,SACL/C,UAAU,wCACV0I,KAAO,uBAAuB7D,OAAO+gB,YAHvC,UChFD,SAAS4Z,GAAT,GAAkD,IAAZ/J,EAAW,EAAXA,QACrClG,EAAoB,CACxBe,uBAAwB,WACtBmF,EAAQ3sB,KAAK,oCAEfynB,uBAAwB,SAACnwB,GACvBq1B,EAAQ3sB,KAAR,sCAA4C1I,EAA5C,WAEFowB,yBAA0B,SAACpwB,GACzBq1B,EAAQ3sB,KAAR,sCAA4C1I,EAA5C,aAEFqwB,0BAA2B,WACzBgF,EAAQ3sB,KAAR,gDAEF4nB,yBAA0B,WACxB+E,EAAQ3sB,KAAR,sCAEF6nB,gCAAiC,WAC/B8E,EAAQ3sB,KAAK,8CAIjB,OACE,kBAACwmB,EAAD,CAAqBC,kBAAmBA,GACtC,kBAACnM,EAAD,MACA,kBAAC,IAAD,CAAOnV,KAAK,oCACT,gBAAGwnB,EAAH,EAAGA,QAAS1pB,EAAZ,EAAYA,MAAZ,OACC,kBAAC8kB,EAAD,CACEzf,KAAe,MAATrF,EACNsF,OAAQ,WACNokB,EAAQ3sB,KAAK,qCAKrB,kBAAC,IAAD,CAAOmF,KAAK,uCACT,gBAAGwnB,EAAH,EAAGA,QAAS1pB,EAAZ,EAAYA,MAAZ,OACC,kBAAC8kB,EAAD,CACEzf,KAAe,MAATrF,EACNsF,OAAQ,WACNokB,EAAQ3sB,KAAK,qCAKrB,kBAAC,IAAD,CAAOmF,KAAK,yCACT,gBAAGwnB,EAAH,EAAGA,QAAS1pB,EAAZ,EAAYA,MAAZ,OACC,kBAAC8kB,EAAD,CACEzf,KAAe,MAATrF,EACN3L,GAAI2L,GAASA,EAAM2pB,OAAOt1B,GAC1BiR,OAAQ,WACNokB,EAAQ3sB,KAAK,qCAKrB,kBAAC,IAAD,CAAOmF,KAAK,gDACT,gBAAGwnB,EAAH,EAAGA,QAAS1pB,EAAZ,EAAYA,MAAZ,OACC,kBAAColB,EAAD,CACE/f,KAAe,MAATrF,EACNsF,OAAQ,WACNokB,EAAQ3sB,KAAK,qCAKrB,kBAAC,IAAD,CAAOmF,KAAK,2CACT,gBAAGwnB,EAAH,EAAGA,QAAS1pB,EAAZ,EAAYA,MAAZ,OACC,kBAACmlB,EAAD,CACE9f,KAAe,MAATrF,EACN3L,GAAI2L,GAASA,EAAM2pB,OAAOt1B,GAC1BiR,OAAQ,WACNokB,EAAQ3sB,KAAK,qCAKrB,kBAAC,IAAD,CAAOmF,KAAK,sCACT,gBAAGwnB,EAAH,EAAGA,QAAS1pB,EAAZ,EAAYA,MAAZ,OACC,kBAACulB,EAAD,CACElgB,KAAe,MAATrF,EACNsF,OAAQ,WACNokB,EAAQ3sB,KAAK,qCAKrB,kBAAC,IAAD,CAAOmF,KAAK,6CACT,gBAAGwnB,EAAH,EAAGA,QAAS1pB,EAAZ,EAAYA,MAAZ,OACC,kBAACwlB,EAAD,CACEngB,KAAe,MAATrF,EACNsF,OAAQ,WACNokB,EAAQ3sB,KAAK,qCAKrB,kBAACysB,GAAD,OA5GN,oC,6ECIO,SAASnS,IAEd,IAAQC,EAAcC,aACpB,SAAChE,GAAD,MAAY,CAAE+D,UAAW/D,EAAMiE,UAAUC,eACzCC,KAFMJ,UAMR,OADAvP,qBAAU,cAAU,CAACuP,IACd,kBAAC,IAAD,CAAeA,UAAWA,EAAWpkB,KAAK,gB,6BCVtCykB,EAAgB,uB,YCAvBC,EAAwB,CAC5BH,aAAa,EACbjC,gBAAgB,EAChBqC,WAAY,EACZC,SAAU,KACVC,qBAAiBhe,EACjBie,UAAW,MAEAC,EACL,OADKA,EAEH,SCTHC,EDYuBC,YAAY,CACxCle,KAAM,YACNme,aAAcR,EACdS,SAAU,CACRC,WAAY,SAAC/E,EAAOgF,GAClBhF,EAAM/U,MAAN,UAAiB+Z,EAAOvhB,KAAxB,aAAiCuhB,EAAOC,QAAQha,OAC5C+Z,EAAOC,QAAQC,WAAaR,EAC9B1E,EAAMkE,aAAc,EAEpBlE,EAAMiC,gBAAiB,GAG3BkD,UAAW,SAACnF,EAAOgF,GACjBhF,EAAM/U,MAAQ,KACV+Z,EAAOC,QAAQC,WAAaR,EAC9B1E,EAAMkE,aAAc,EAEpBlE,EAAMiC,gBAAiB,GAI3BmD,gBAAiB,SAACpF,EAAOgF,GACvBhF,EAAMiC,gBAAiB,EACvBjC,EAAMwE,gBAAkBQ,EAAOC,QAAQT,gBACvCxE,EAAM/U,MAAQ,MAGhBoa,iBAAkB,SAACrF,EAAOgF,GACxB,MAAiCA,EAAOC,QAAhCX,EAAR,EAAQA,WAAYC,EAApB,EAAoBA,SACpBvE,EAAMkE,aAAc,EACpBlE,EAAM/U,MAAQ,KACd+U,EAAMuE,SAAWA,EACjBvE,EAAMsE,WAAaA,GAGrBgB,gBAAiB,SAACtF,EAAOgF,GACvBhF,EAAMiC,gBAAiB,EACvBjC,EAAM/U,MAAQ,KACd+U,EAAMuE,SAAS/a,KAAKwb,EAAOC,QAAQjD,WAGrCuD,gBAAiB,SAACvF,EAAOgF,GACvBhF,EAAM/U,MAAQ,KACd+U,EAAMiC,gBAAiB,EACvBjC,EAAMuE,SAAWvE,EAAMuE,SAAS9f,KAAI,SAAA+gB,GAClC,OAAIA,EAAO1kB,KAAOkkB,EAAOC,QAAQjD,SAASlhB,GACjCkkB,EAAOC,QAAQjD,SAEjBwD,MAIXC,gBAAiB,SAACzF,EAAOgF,GACvBhF,EAAM/U,MAAQ,KACd+U,EAAMiC,gBAAiB,EACvBjC,EAAMuE,SAAWvE,EAAMuE,SAAStU,QAAO,SAAAyV,GAAE,OAAIA,EAAG5kB,KAAOkkB,EAAOC,QAAQnkB,OAGxE6kB,iBAAkB,SAAC3F,EAAOgF,GACxBhF,EAAM/U,MAAQ,KACd+U,EAAMiC,gBAAiB,EACvBjC,EAAMuE,SAAWvE,EAAMuE,SAAStU,QAC9B,SAAAyV,GAAE,OAAKV,EAAOC,QAAQW,IAAIvV,SAASqV,EAAG5kB,QAI1C+kB,uBAAwB,SAAC7F,EAAOgF,GAC9BhF,EAAMiC,gBAAiB,EACvBjC,EAAM/U,MAAQ,KACd,MAAwB+Z,EAAOC,QAAvBW,EAAR,EAAQA,IAAKnQ,EAAb,EAAaA,OACbuK,EAAMuE,SAAWvE,EAAMuE,SAAS9f,KAAI,SAAA+gB,GAIlC,OAHII,EAAIE,WAAU,SAAAhlB,GAAE,OAAIA,IAAO0kB,EAAO1kB,OAAO,IAC3C0kB,EAAO/P,OAASA,GAEX+P,SCtFRb,QAEMoB,EAAiB,SAAAC,GAAW,OAAI,SAAAC,GAE3C,OADAA,EAAStB,EAAQQ,UAAU,CAAED,SAAUR,KFclC,SAAuBsB,GAC5B,OAAOhD,IAAMkD,KAAN,UAAc9B,EAAd,SAAoC,CAAE4B,gBEdtCG,CACUH,GACd1Q,MAAK,SAAAC,GACJ,MAAiCA,EAAStS,KAAlCqhB,EAAR,EAAQA,WAAYC,EAApB,EAAoBA,SACpB0B,EAAStB,EAAQU,iBAAiB,CAAEf,aAAYC,iBAEjD1O,OAAM,SAAA5K,GACLA,EAAMmb,cAAgB,uBACtBH,EAAStB,EAAQI,WAAW,CAAE9Z,QAAOia,SAAUR,UAIxC2B,EAAgB,SAAAvlB,GAAE,OAAI,SAAAmlB,GACjC,OAAKnlB,GAILmlB,EAAStB,EAAQQ,UAAU,CAAED,SAAUR,MFVT4B,EEYXxlB,EFXZkiB,IAAM3M,IAAN,UAAa+N,EAAb,YAA8BkC,KEYlChR,MAAK,SAAAC,GACJ,IAAMyM,EAAWzM,EAAStS,KAC1BgjB,EAAStB,EAAQS,gBAAgB,CAAEZ,gBAAiBxC,QAErDnM,OAAM,SAAA5K,GACLA,EAAMmb,cAAgB,sBACtBH,EAAStB,EAAQI,WAAW,CAAE9Z,QAAOia,SAAUR,SAZ1CuB,EAAStB,EAAQS,gBAAgB,CAAEZ,qBAAiBhe,KFPxD,IAAyB8f,IEuBnBC,EAAiB,SAAAzlB,GAAE,OAAI,SAAAmlB,GAElC,OADAA,EAAStB,EAAQQ,UAAU,CAAED,SAAUR,MFAV4B,EEEXxlB,EFDXkiB,IAAMwD,OAAN,UAAgBpC,EAAhB,YAAiCkC,KEErChR,MAAK,SAAAC,GACJ0Q,EAAStB,EAAQc,gBAAgB,CAAE3kB,WAEpC+U,OAAM,SAAA5K,GACLA,EAAMmb,cAAgB,wBACtBH,EAAStB,EAAQI,WAAW,CAAE9Z,QAAOia,SAAUR,QFR9C,IAAwB4B,IEYlBG,EAAiB,SAAAC,GAAmB,OAAI,SAAAT,GAEnD,OADAA,EAAStB,EAAQQ,UAAU,CAAED,SAAUR,MF9CV1C,EEgDX0E,EF/CX1D,IAAMkD,KAAK9B,EAAe,CAAEpC,cEgDhC1M,MAAK,SAAAC,GACJ,IAAQyM,EAAazM,EAAStS,KAAtB+e,SACRiE,EAAStB,EAAQW,gBAAgB,CAAEtD,iBAEpCnM,OAAM,SAAA5K,GACLA,EAAMmb,cAAgB,wBACtBH,EAAStB,EAAQI,WAAW,CAAE9Z,QAAOia,SAAUR,QFvD9C,IAAwB1C,IE2DlB2E,EAAiB,SAAA3E,GAAQ,OAAI,SAAAiE,GAExC,OADAA,EAAStB,EAAQQ,UAAU,CAAED,SAAUR,KFxClC,SAAwB1C,GAC7B,OAAOgB,IAAM4D,IAAN,UAAaxC,EAAb,YAA8BpC,EAASlhB,IAAM,CAAEkhB,aEwC/CmE,CACWnE,GACf1M,MAAK,WACJ2Q,EAAStB,EAAQY,gBAAgB,CAAEvD,iBAEpCnM,OAAM,SAAA5K,GACLA,EAAMmb,cAAgB,wBACtBH,EAAStB,EAAQI,WAAW,CAAE9Z,QAAOia,SAAUR,UAIxCmC,EAAwB,SAACjB,EAAKnQ,GAAN,OAAiB,SAAAwQ,GAEpD,OADAA,EAAStB,EAAQQ,UAAU,CAAED,SAAUR,KFhDlC,SAAkCkB,EAAKnQ,GAC5C,OAAOuN,IAAMkD,KAAN,UAAc9B,EAAd,6BAAwD,CAC7DwB,MACAnQ,WE8CK0Q,CACqBP,EAAKnQ,GAC9BH,MAAK,WACJ2Q,EAAStB,EAAQkB,uBAAuB,CAAED,MAAKnQ,eAEhDI,OAAM,SAAA5K,GACLA,EAAMmb,cAAgB,gCACtBH,EAAStB,EAAQI,WAAW,CAAE9Z,QAAOia,SAAUR,UAIxCoC,EAAkB,SAAAlB,GAAG,OAAI,SAAAK,GAEpC,OADAA,EAAStB,EAAQQ,UAAU,CAAED,SAAUR,KFhDlC,SAAyBkB,GAC9B,OAAO5C,IAAMkD,KAAN,UAAc9B,EAAd,oBAA+C,CAAEwB,QEgDjDO,CACYP,GAChBtQ,MAAK,WACJ2Q,EAAStB,EAAQgB,iBAAiB,CAAEC,YAErC/P,OAAM,SAAA5K,GACLA,EAAMmb,cAAgB,yBACtBH,EAAStB,EAAQI,WAAW,CAAE9Z,QAAOia,SAAUR,U,gCC7F9C,SAASqC,EAAT,GAAkD,IAAdjmB,EAAa,EAAbA,GAAGiR,EAAU,EAAVA,OAE5C,EAA4CiS,aAC1C,SAAChE,GAAD,MAAY,CACVwE,gBAAiBxE,EAAMiE,UAAUO,gBACjCvC,eAAgBjC,EAAMiE,UAAUhC,kBAElCkC,KALMK,EAAR,EAAQA,gBAAiBvC,EAAzB,EAAyBA,eAQzB,EAA0BvU,mBAAS,IAAnC,mBAAOoS,EAAP,KAAckH,EAAd,KAYA,OAVAxS,qBAAU,WACR,IAAIyS,EAASnmB,EAAK,GAAK,qBACnB0jB,GAAmB1jB,IACrBmmB,EAAM,+BAA2BzC,EAAgBjgB,KAA3C,MAGRyiB,EAASC,KAER,CAACzC,EAAiBvC,IAGnB,oCACGA,GAAkB,kBAAC,IAAD,MACnB,kBAACkF,EAAA,EAAMlV,OAAP,KACE,kBAACkV,EAAA,EAAM9U,MAAP,CAAavR,GAAG,gCAAgCgf,GAChD,kBAACie,EAAA,EAAD,CAEE7rB,aAAW,QACX/E,QAAS,SAAC6C,GACR+B,GAAO,KAGT,kBAAC,IAAD,S,m1MC3BV,IAAM4P,EAAqBC,MAAaC,MAAM,CAC5Ctd,KAAMqd,MACH4U,IAAI,EAAG,qBACPC,IAAI,GAAI,sBACRnjB,SAAS,0BACZ2G,gBAAiB2H,MACdtO,SAAS,gCAGP,SAASwO,EAAT,GAKH,IAJFC,EAIC,EAJDA,aACAC,EAGC,EAHDA,SACAC,EAEC,EAFDA,eACAlQ,EACC,EADDA,OAEA,EAAwCrE,oBAAS,GAAjD,mBAAOyyB,EAAP,KAAqBC,EAArB,KACA,EAA4B1yB,oBAAS,GAArC,mBAAO2yB,EAAP,KAAenO,EAAf,KACA,EAAwCxkB,mBAAS,IAAjD,mBAAO4yB,EAAP,KAAqBC,EAArB,KACA,EAAoD7yB,mBAAS,IAA7D,mBAAO8yB,EAAP,KAA2BC,EAA3B,KACA,EAAkC/yB,mBAAS,IAA3C,mBAAOgzB,EAAP,KAAkBC,EAAlB,KACA,EAA8CjzB,mBAAS,IAAvD,mBAAOkzB,EAAP,KAAwBC,EAAxB,KACA,EAAkDnzB,mBAAS,IAA3D,mBAAOozB,EAAP,KAA0BC,EAA1B,KACA,EAA8DrzB,mBAAS,IAAvE,mBAAOszB,EAAP,KAAgCC,EAAhC,KACA,EAAoDvzB,mBAAS,IAA7D,mBAA2BwzB,GAA3B,WACA,EAAgExzB,mBAAS,IAAzE,mBAAOyzB,GAAP,KAAiCC,GAAjC,KACA,GAA4B1zB,mBAAS,MAArC,qBAAO6K,GAAP,MAAeC,GAAf,MACA,GAAkC9K,mBAAS,MAA3C,qBAAO2K,GAAP,MAAkBC,GAAlB,MACA,GAA4C5K,mBAAS,MAArD,qBAAO+K,GAAP,MAAuBC,GAAvB,MACA,GAA8ChL,mBAAS,MAAvD,qBAAO2zB,GAAP,MAAwBC,GAAxB,MAEA9sB,qBAAU,WACR4rB,EAAgBpe,EAASme,eAAgB,GACzCjO,EAAUlQ,EAASsU,WAAY,GAC/BiL,UAC6B/6B,IAAvBwb,EAAS3J,WAAkD,KAAvB2J,EAAS3J,WAA2C,OAAvB2J,EAAS3J,WAC5EC,GAAa0J,EAAS3J,aAEzB,CAAC2J,IACJ,IAAMuf,GAAsB,uCAAG,qHAENve,IAAM3M,IAAI,8BAFJ,OAErBxG,EAFqB,OAG3B4wB,EAAsB5wB,EAAO5M,KAAKwB,KAAI,SAAAgnB,GAAU,MAAK,CACnD5rB,MAAO4rB,EAAW3qB,GAClBoD,MAAOunB,EAAWlnB,UAEpBg8B,EAAgB1wB,EAAO5M,MAAQ,SACPuD,IAApBwb,EAASzJ,QAA4C,KAApByJ,EAASzJ,QAAqC,OAApByJ,EAASzJ,SAChEipB,EAAa3xB,EAAO5M,KAAKgN,QAAO,SAAAhG,GAAC,OAAIA,EAAEnJ,KAAOkhB,EAAS3J,cAC9C9O,OAAS,IAClBk4B,EAAKD,EAAW,GAAG1mB,MACvB+lB,EAAmBY,EAAGh9B,KAAI,SAAAgnB,GAAU,MAAK,CACvC5rB,MAAO4rB,EAAWnnB,GAClBJ,MAAOunB,EAAWlnB,UAEpBo8B,EAAac,IACPC,EAAKD,EAAGxxB,QAAO,SAAAhG,GAAC,OAAIA,EAAE3F,KAAO0d,EAASzJ,WACrChP,OAAS,IACdw3B,EAAqBW,EAAG,GAAG3mB,eAC3BkmB,EAA2BS,EAAG,GAAG3mB,cAActW,KAAI,SAAAgnB,GAAU,MAAK,CAChE5rB,MAAO4rB,EAAWnnB,GAClBJ,MAAOunB,EAAWlnB,WAEdo9B,EAAKD,EAAG,GAAG3mB,cAAc9K,QAAO,SAAAhG,GAAC,OAAIA,EAAE3F,KAAO0d,EAASvJ,mBACtDlP,OAAS,IACd23B,EAAsBS,EAAG,GAAG3mB,gBAC5BomB,GAA4BO,EAAG,GAAG3mB,eAAevW,KAAI,SAAAgnB,GAAU,MAAK,CAClE5rB,MAAO4rB,EAAWnnB,GAClBJ,MAAOunB,EAAWlnB,YAIxBiU,GAAUwJ,EAASzJ,QACnBG,GAAkBsJ,EAASvJ,gBAC3B6oB,GAAmBtf,EAAS/H,kBAnCL,yGAAH,qDAwC5B,OACE,oCACE,kBAAC,IAAD,CACEgJ,oBAAoB,EACpBC,cAAelB,EACfmB,iBAAkBxB,EAClByB,SAAU,SAACxb,GACTma,EAAana,MAGd,gBAAG2f,EAAH,EAAGA,OAAQD,EAAX,EAAWA,QAAS7D,EAApB,EAAoBA,aAAc7P,EAAlC,EAAkCA,cAAlC,OACC,oCACE,kBAACuT,EAAA,EAAMhV,KAAP,KACG8P,GACC,yBAAKvhB,UAAU,gCACb,yBAAKA,UAAU,wCAGnB,kBAAC,IAAD,CAAMA,UAAU,yBACd,yBAAKA,UAAU,kBACb,yBAAKA,UAAU,kBACb,kBAAC,IAAD,CACEgG,KAAK,OACL0I,UAAW2f,IACXjf,YAAY,aACZ5L,MAAM,aACNoP,UAAU,KAGd,yBAAK5S,UAAU,YACb,yBAAKA,UAAU,qBACZ8/B,GACC,oCACE,uBAAG9/B,UAAU,QAAb,WACA,kBAAC,IAAD,CACEwD,MAAM,UACNwC,KAAI,YACJ5F,GAAE,YACF+Z,QAAS2lB,EACT3gC,MAAO2gC,EAAmBvwB,QAAO,SAAAhG,GAAC,OAAIA,EAAEpK,QAAUwY,MAClDtI,SAAU,SAAC4E,GACT2D,GAAa3D,EAAM9U,OACnB+T,EAAc,YAAae,EAAM9U,OACjC+T,EAAc,SAAU,MACxBA,EAAc,iBAAkB,MAChC,IAAM4tB,EAAalB,EAAarwB,QAAO,SAAAhG,GAAC,OAAIA,EAAEnJ,KAAO6T,EAAM9U,SAC3DiE,QAAQC,IAAIy9B,GACRA,EAAW,GAAG1mB,MAAMvR,OAAS,GAC/Bo3B,EAAaa,EAAW,GAAG1mB,OAC3B+lB,EAAmBW,EAAW,GAAG1mB,MAAMrW,KAAI,SAAAgnB,GAAU,MAAK,CACxD5rB,MAAO4rB,EAAWnnB,GAClBJ,MAAOunB,EAAWlnB,YAGpBo8B,EAAa,IACbnoB,GAAU,MACVE,GAAkB,MAClBqoB,EAAqB,IACrBF,EAAmB,IACnBI,EAA2B,IAC3B3gC,YAAa,UAAW,6CAStC,yBAAKI,UAAU,YACb,yBAAKA,UAAU,qBAEXkgC,GACE,oCACE,uBAAGlgC,UAAU,QAAb,QAEA,kBAAC,IAAD,CACEwD,MAAM,OACNwC,KAAI,SACJ5F,GAAE,SACF+Z,QAAS+lB,EACT/gC,MAAO+gC,EAAgB3wB,QAAO,SAAAhG,GAAC,OAAIA,EAAEpK,QAAU0Y,MAE/CxI,SAAU,SAAC4E,GACT6D,GAAU7D,EAAM9U,OAChB+T,EAAc,SAAUe,EAAM9U,OAC9B+T,EAAc,iBAAkB,MAChC,IAAM4tB,EAAad,EAAUzwB,QAAO,SAAAhG,GAAC,OAAIA,EAAE3F,KAAOqQ,EAAM9U,SACpD2hC,EAAW,GAAGzmB,cAAcxR,OAAS,GACvCw3B,EAAqBS,EAAW,GAAGzmB,eACnCkmB,EAA2BO,EAAW,GAAGzmB,cAActW,KAAI,SAAAgnB,GAAU,MAAK,CACxE5rB,MAAO4rB,EAAWnnB,GAClBJ,MAAOunB,EAAWlnB,YAGpBmU,GAAkB,MAClBqoB,EAAqB,IACrBJ,EAAa,IACbM,EAA2B,IAC3BJ,EAAmB,IACnBvgC,YAAa,UAAW,mDAWxC,yBAAKI,UAAU,iBACb,yBAAKA,UAAU,qBACb,uBAAGA,UAAU,QAAb,iBAEA,kBAAC,IAAD,CACEwD,MAAM,gBACNwC,KAAI,iBACJ5F,GAAE,iBACFjB,MAAOmhC,EAAwB/wB,QAAO,SAAAhG,GAAC,OAAIA,EAAEpK,QAAU4Y,MACvDoC,QAASmmB,EACTjxB,SAAU,SAAC4E,GACT+D,GAAkB/D,EAAM9U,OACxB+T,EAAc,iBAAkBe,EAAM9U,OACtC,IAAM2hC,EAAaV,EAAkB7wB,QAAO,SAAAhG,GAAC,OAAIA,EAAE3F,KAAOqQ,EAAM9U,SAC5D2hC,EAAW,GAAGxmB,eAAezR,OAAS,GACxC23B,EAAsBM,EAAW,GAAGxmB,gBACpComB,GAA4BI,EAAW,GAAGxmB,eAAevW,KAAI,SAAAgnB,GAAU,MAAK,CAC1E5rB,MAAO4rB,EAAWnnB,GAClBJ,MAAOunB,EAAWlnB,YAGpB+8B,GAAmB,IACnB1tB,EAAc,kBAAmB,MACjCqtB,EAA2B,IAC3BC,EAAsB,IACtBE,GAA4B,IAC5B9gC,YAAa,UAAW,kDAQlC,yBAAKI,UAAU,iBACb,yBAAKA,UAAU,qBACb,uBAAGA,UAAU,QAAb,kBAEA,kBAAC,IAAD,CACEwD,MAAM,iBACNwC,KAAI,kBACJ5F,GAAE,kBACFjB,MAAOshC,GAAyBlxB,QAAO,SAAAhG,GAAC,OAAIA,EAAEpK,QAAUwhC,MACxDxmB,QAASsmB,GACTpxB,SAAU,SAAC4E,GACT2sB,GAAmB3sB,EAAM9U,OACzB+T,EAAc,kBAAmBe,EAAM9U,UAI1C0nB,EAAOtN,iBAAmBqN,EAAQrN,gBACjC,yBAAKnV,MAAO,CAAE2K,MAAO,MAAO1K,SAAU,SAAWwiB,EAAOtN,iBACtD,QAIV,wBAAIvZ,UAAU,sCAAd,8CAGA,yBAAKA,UAAU,mBACb,yBAAKA,UAAU,YACb,kBAAC,IAAD,CACEgG,KAAK,SACL0I,UAAW2f,IACXjf,YAAY,UACZ5L,MAAM,UACNsyB,IAAI,IACJ/yB,KAAK,YAGT,yBAAK/C,UAAU,YACb,kBAAC,IAAD,CACEgG,KAAK,SACL0I,UAAW2f,IACXjf,YAAY,UACZ5L,MAAM,UACNsyB,IAAI,IACJ/yB,KAAK,YAGT,yBAAK/C,UAAU,YACb,kBAAC,IAAD,CACEgG,KAAK,SACL0I,UAAW2f,IACXjf,YAAY,UACZ5L,MAAM,UACNsyB,IAAI,IACJ/yB,KAAK,YAGT,yBAAK/C,UAAU,YACb,kBAAC,IAAD,CACEgG,KAAK,SACL0I,UAAW2f,IACXjf,YAAY,UACZ5L,MAAM,UACNsyB,IAAI,IACJ/yB,KAAK,aAIX,yBAAK/C,UAAU,kBACb,yBAAKA,UAAU,iBACb,kBAAC,IAAD,CACE82B,QAAS2I,EACTj8B,MAAM,IACNvE,KAAK,eACL+G,KAAK,eACL5F,GAAG,iBACHiP,SAAU,SAAC4E,GACTf,EAAc,eAAgBe,EAAMrE,OAAOknB,SAC3C4I,EAAgBzrB,EAAMrE,OAAOknB,aAInC,yBAAK92B,UAAU,iBACb,kBAAC,IAAD,CACE82B,QAAS6I,EACTn8B,MAAM,IACNvE,KAAK,SACL+G,KAAK,WACL5F,GAAG,WACHiP,SAAU,SAAC4E,GACTf,EAAc,WAAYe,EAAMrE,OAAOknB,SACvCtF,EAAUvd,EAAMrE,OAAOknB,gBAOnC,kBAACrQ,EAAA,EAAM/U,OAAP,KACE,4BACE3O,KAAK,SACL0J,QAAS4E,EACTrR,UAAU,6BAHZ,UAOA,yCACA,4BACE+C,KAAK,SACL0J,QAAS,kBAAMsW,KACf/iB,UAAU,+BAHZ,c,YCtVDsuB,EAA2B,CAAC,SAAU,UAAW,OAAQ,IAIzD1d,EAAgB,CAAC,CAAExE,UAAW,KAAMyE,MAAO,SAC3C0d,EAAkB,CAC7B,CAAEtvB,KAAM,IAAKE,MAAO,GACpB,CAAEF,KAAM,IAAKE,MAAO,GACpB,CAAEF,KAAM,KAAME,MAAO,KAEVqvB,EAAgB,CAC3Bjf,OAAQ,CACNkf,SAAU,GACVC,UAAW,GACXC,MAAO,GACPC,UAAW,IAEbC,UAAW,MACXC,UAAW,KACXC,WAAY,EACZC,SAAU,IChBNC,EAAqBC,0BAEpB,SAASC,IACd,OAAOC,qBAAWH,GAGeA,EAAmBI,SAE/C,SAASC,EAAT,GAA6D,IAA/BC,EAA8B,EAA9BA,kBAAmB7G,EAAW,EAAXA,SACtD,EAA0C1b,mBAASwhB,GAAnD,mBAAOlJ,EAAP,KAAoBkK,EAApB,KACA,EAAsBxiB,mBAAS,IAA/B,mBAAOkY,EAAP,KAAYuK,EAAZ,KACMC,EAAiBC,uBAAY,SAAAC,GACjCJ,GAAmB,SAAAK,GAKjB,OAJIC,qBAAWF,KACbA,EAAkBA,EAAgBC,IAGhCE,kBAAQF,EAAiBD,GACpBC,EAGFD,OAER,IASGzwB,EAAQ,CACZmmB,cACAkK,qBACAtK,MACAuK,SACAC,iBACAM,aAbmB,CACnB5vB,QAAI0F,EACJjC,KAAM,GACN0V,gBAAgB,GAChBkmB,cAAc,GAUdnP,uBAAwBf,EAAkBe,uBAC1CC,uBAAwBhB,EAAkBgB,uBAC1CC,yBAA0BjB,EAAkBiB,yBAC5CC,0BAA2BlB,EAAkBkB,0BAC7CC,yBAA0BnB,EAAkBmB,yBAC5CC,gCAAiCpB,EAAkBoB,iCAGrD,OAAO,kBAAC1B,EAAmB2B,SAApB,CAA6BzxB,MAAOA,GAAQupB,GC3C9C,SAASmI,EAAT,GAAmD,IAArBzwB,EAAoB,EAApBA,GAAIgR,EAAgB,EAAhBA,KAAMC,EAAU,EAAVA,OAEvCyf,EAAqB3B,IACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACLhB,aAAcc,EAAmBd,gBAElC,CAACc,IAGEvL,EAAW0L,cACjB,EAA4C3N,aAC1C,SAAChE,GAAD,MAAY,CACViC,eAAgBjC,EAAMiE,UAAUhC,eAChCuC,gBAAiBxE,EAAMiE,UAAUO,mBAEnCL,KALMlC,EAAR,EAAQA,eAAgBuC,EAAxB,EAAwBA,gBAQxBhQ,qBAAU,WAERyR,EAAStB,EAAsB7jB,MAC9B,CAACA,EAAImlB,IAmBR,OACE,kBAACkB,EAAA,EAAD,CACEtV,KAAK,KACLC,KAAMA,EACNC,OAAQA,EACRC,kBAAgB,gCAEhB,kBAAC+U,EAAD,CAA0BjmB,GAAIA,EAAIiR,OAAQA,IAC1C,kBAAC+P,EAAD,CACEC,aAzBe,SAACC,GACflhB,EAQHmlB,EAAStB,EAAuB3C,IAAW1M,MAAK,WAC9CvD,IACA7S,SAASsR,eAAe,iBAAiBinB,WAR3CxR,EAAStB,EAAuB3C,IAAW1M,MAAK,WAC9CvD,IACA7S,SAASsR,eAAe,iBAAiBinB,YAqBzCxV,eAAgBA,EAChBD,SAAUwC,GAAmBiN,EAAiBf,aAC9C3e,OAAQA,KCtDT,SAAS6f,EAAT,GAAqD,IAArB9wB,EAAoB,EAApBA,GAAIgR,EAAgB,EAAhBA,KAAMC,EAAU,EAAVA,OAEzCyf,EAAqB3B,IACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACLvB,OAAQqB,EAAmBrB,OAC3BnK,YAAawL,EAAmBxL,eAEjC,CAACwL,IAGEvL,EAAW0L,cACT5N,EAAcC,aACpB,SAAChE,GAAD,MAAY,CAAE+D,UAAW/D,EAAMiE,UAAUhC,kBACzCkC,KAFMJ,UAMRvP,qBAAU,WACH1T,GACHiR,MAGD,CAACjR,IAGJ0T,qBAAU,cAAU,CAACuP,EAAWkC,IAchC,OACE,kBAACkB,EAAA,EAAD,CACErV,KAAMA,EACNC,OAAQA,EACRC,kBAAgB,gCAGf+R,GAAa,kBAAC,IAAD,MAEd,kBAACoD,EAAA,EAAMlV,OAAP,CAAcmV,aAAW,GACvB,kBAACD,EAAA,EAAM9U,MAAP,CAAavR,GAAG,gCAAhB,qBAIF,kBAACqmB,EAAA,EAAMhV,KAAP,MACI4R,GACA,oFAEDA,GAAa,2DAEhB,kBAACoD,EAAA,EAAM/U,OAAP,KACE,6BACE,4BACE3O,KAAK,SACL0J,QAAS4E,EACTrR,UAAU,6BAHZ,UAOA,yCACA,4BACE+C,KAAK,SACL0J,QA5Ca,WAErB8Y,EAAStB,EAAuB7jB,IAAKwU,MAAK,WAExC2Q,EAAStB,EAAuB8M,EAAiBzL,cAEjDyL,EAAiBtB,OAAO,IAExBpe,QAqCMrR,UAAU,8BAHZ,aCtEH,SAASmxB,EAAT,GAAkD,IAAjB/f,EAAgB,EAAhBA,KAAMC,EAAU,EAAVA,OAEtCyf,EAAqB3B,IACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACL9L,IAAK4L,EAAmB5L,IACxBuK,OAAQqB,EAAmBrB,OAC3BnK,YAAawL,EAAmBxL,eAEjC,CAACwL,IAGEvL,EAAW0L,cACT5N,EAAcC,aACpB,SAAChE,GAAD,MAAY,CAAE+D,UAAW/D,EAAMiE,UAAUhC,kBACzCkC,KAFMJ,UAMRvP,qBAAU,WACHid,EAAiB7L,KAAuC,IAAhC6L,EAAiB7L,IAAIrc,QAChDwI,MAGD,CAAC0f,EAAiB7L,MAGrBpR,qBAAU,cAAU,CAACuP,EAAWkC,IAiBhC,OACE,kBAACkB,EAAA,EAAD,CACErV,KAAMA,EACNC,OAAQA,EACRC,kBAAgB,gCAGf+R,GAAa,kBAAC,IAAD,MAEd,kBAACoD,EAAA,EAAMlV,OAAP,CAAcmV,aAAW,GACvB,kBAACD,EAAA,EAAM9U,MAAP,CAAavR,GAAG,gCAAhB,qBAIF,kBAACqmB,EAAA,EAAMhV,KAAP,MACI4R,GACA,wFAEDA,GAAa,2DAEhB,kBAACoD,EAAA,EAAM/U,OAAP,KACE,6BACE,4BACE3O,KAAK,SACL0J,QAAS4E,EACTrR,UAAU,6BAHZ,UAOA,yCACA,4BACE+C,KAAK,SACL0J,QA/Cc,WAEtB8Y,EAAStB,EAAwB8M,EAAiB7L,MAAMtQ,MAAK,WAE3D2Q,EAAStB,EAAuB8M,EAAiBzL,cAAc1Q,MAC7D,WAEEmc,EAAiBtB,OAAO,IAExBpe,WAuCErR,UAAU,+BAHZ,aC3EV,IAAMoxB,EAAoB,SAACvN,EAAUqB,GACnC,IAAMmM,EAAa,GAOnB,OANAnM,EAAIhkB,SAAQ,SAACd,GACX,IAAMkhB,EAAWuC,EAASV,MAAK,SAAC6B,GAAD,OAAQA,EAAG5kB,KAAOA,KAC7CkhB,GACF+P,EAAWvoB,KAAKwY,MAGb+P,GAGF,SAASC,EAAT,GAAiD,IAAjBlgB,EAAgB,EAAhBA,KAAMC,EAAU,EAAVA,OAErCyf,EAAqB3B,IACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACL9L,IAAK4L,EAAmB5L,OAEzB,CAAC4L,IAGIvN,EAAcD,aACpB,SAAChE,GAAD,MAAY,CACViE,UAAW6N,EACT9R,EAAMiE,UAAUM,SAChBkN,EAAiB7L,QAGrBzB,KAPMF,UAkBR,OAPAzP,qBAAU,WACHid,EAAiB7L,KAAuC,IAAhC6L,EAAiB7L,IAAIrc,QAChDwI,MAGD,CAAC0f,EAAiB7L,MAGnB,kBAACuB,EAAA,EAAD,CACErV,KAAMA,EACNC,OAAQA,EACRC,kBAAgB,gCAEhB,kBAACmV,EAAA,EAAMlV,OAAP,CAAcmV,aAAW,GACvB,kBAACD,EAAA,EAAM9U,MAAP,CAAavR,GAAG,gCAAhB,4BAIF,kBAACqmB,EAAA,EAAMhV,KAAP,KACE,yBAAKzR,UAAU,4BACZujB,EAAUxf,KAAI,SAACud,GAAD,OACb,yBAAKthB,UAAU,kCAAkCsH,IAAG,YAAOga,EAASlhB,KAClE,yBAAKJ,UAAU,gFACf,yBAAKA,UAAU,kBACb,uBACEA,UAAS,gCACPsuB,EAAyBhN,EAASvM,QAD3B,gBAKb,yBAAK/U,UAAU,sCACb,0BACIA,UAAS,qCACPsuB,EAAyBhN,EAASvM,QAD3B,kBADb,OAKSuM,EAASlhB,IAElB,0BAAMJ,UAAU,QAAQshB,EAASmN,SAAjC,KAA6CnN,EAASoN,kBAMhE,kBAACjI,EAAA,EAAM/U,OAAP,KACE,6BACE,4BACE3O,KAAK,SACL0J,QAAS4E,EACTrR,UAAU,6BAHZ,UAOA,yCACA,4BACE+C,KAAK,SACL0J,QAAS4E,EACTrR,UAAU,+BAHZ,SCrFV,IAAMoxB,EAAoB,SAACvN,EAAUqB,GACnC,IAAMmM,EAAa,GAOnB,OANAnM,EAAIhkB,SAAQ,SAACd,GACX,IAAMkhB,EAAWuC,EAASV,MAAK,SAAC6B,GAAD,OAAQA,EAAG5kB,KAAOA,KAC7CkhB,GACF+P,EAAWvoB,KAAKwY,MAGb+P,GAGF,SAASE,EAAT,GAAuD,IAAjBngB,EAAgB,EAAhBA,KAAMC,EAAU,EAAVA,OAE3Cyf,EAAqB3B,IACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACL9L,IAAK4L,EAAmB5L,IACxBuK,OAAQqB,EAAmBrB,OAC3BnK,YAAawL,EAAmBxL,eAEjC,CAACwL,IAGJ,EAAiCxN,aAC/B,SAAChE,GAAD,MAAY,CACViE,UAAW6N,EACT9R,EAAMiE,UAAUM,SAChBkN,EAAiB7L,KAEnB7B,UAAW/D,EAAMiE,UAAUhC,kBAE7BkC,KARMF,EAAR,EAAQA,UAAWF,EAAnB,EAAmBA,UAYnBvP,qBAAU,WACHid,EAAiB7L,KAAuC,IAAhC6L,EAAiB7L,IAAIrc,QAChDwI,MAGD,CAAC0f,EAAiB7L,MAErB,MAA4BlY,mBAAS,GAArC,mBAAO+H,EAAP,KAAeyc,EAAf,KAEMjM,EAAW0L,cAkBjB,OACE,kBAACxK,EAAA,EAAD,CACErV,KAAMA,EACNC,OAAQA,EACRC,kBAAgB,gCAEhB,kBAACmV,EAAA,EAAMlV,OAAP,CAAcmV,aAAW,GACvB,kBAACD,EAAA,EAAM9U,MAAP,CAAavR,GAAG,gCAAhB,mDAIF,kBAACqmB,EAAA,EAAMhV,KAAP,CAAYzR,UAAU,yBAEnBqjB,GACC,yBAAKrjB,UAAU,iBACb,yBAAKA,UAAU,wCAKnB,yBAAKA,UAAU,4BACZujB,EAAUxf,KAAI,SAACud,GAAD,OACb,yBACEthB,UAAU,kCACVsH,IAAG,yBAAoBga,EAASlhB,KAEhC,yBAAKJ,UAAU,gFACf,yBAAKA,UAAU,kBACb,uBACEA,UAAS,gCACPsuB,EAAyBhN,EAASvM,QAD3B,gBAKb,yBAAK/U,UAAU,sCACb,0BACEA,UAAS,qCACPsuB,EAAyBhN,EAASvM,QAD3B,kBADX,OAKOuM,EAASlhB,IAEhB,0BAAMJ,UAAU,QACbshB,EAASmN,SADZ,KACwBnN,EAASoN,kBAO3C,kBAACjI,EAAA,EAAM/U,OAAP,CAAc1R,UAAU,QACtB,yBAAKA,UAAU,cACb,4BACEA,UAAU,eACVb,MAAO4V,EACP1F,SAAU,SAACC,GAAD,OAAOkiB,GAAWliB,EAAEM,OAAOzQ,SAErC,4BAAQA,MAAM,KAAd,aACA,4BAAQA,MAAM,KAAd,UACA,4BAAQA,MAAM,KAAd,aAGJ,yBAAKa,UAAU,cACb,4BACE+C,KAAK,SACL0J,QAAS4E,EACTrR,UAAU,kCAHZ,UAOA,4BACE+C,KAAK,SACL0J,QAzFW,WAEnB8Y,EAAStB,EAA8B8M,EAAiB7L,IAAKnQ,IAASH,MACpE,WAEE2Q,EAAStB,EAAuB8M,EAAiBzL,cAAc1Q,MAC7D,WAEEmc,EAAiBtB,OAAO,IAExBpe,WAgFArR,UAAU,+BAHZ,oB,w5MCzHV,IAAMyxB,GAAaC,aAAW,CAC5Brb,MAAO,CACLzC,OAAQ,sBAFO8d,EAIhB,SAAA3xB,GAAK,OACN,kBAACS,GAAA,EAAD,eACEmxB,UAAW,EACXC,mBAAoB,KACpBC,aAAc,CACZC,SAAU,SACVC,WAAY,UAEdC,gBAAiB,CACfF,SAAU,MACVC,WAAY,WAEVhyB,OAGFkyB,GAAiBP,cAAW,SAAAxb,GAAK,MAAK,CAC1CC,KAAM,CACJ,UAAW,CACTyR,gBAAiB1R,EAAM4R,QAAQqD,QAAQ+G,KACvC,sDAAuD,CACrDnjB,MAAOmH,EAAM4R,QAAQqK,OAAOC,YALbV,CASnB1H,MACc/T,cAAW,SAAAC,GAAK,MAAK,CACrCa,OAAQ,CACNC,OAAQd,EAAMK,QAAQ,IAExBU,SAAU,CACRC,YAAahB,EAAMK,QAAQ,IAE7BY,UAAW,CACTC,WAAYlB,EAAMK,QAAQ,IAE5Bc,UAAW,CACThT,SAAU,QAgBP,SAASguB,GAAT,GAA0C,EAAf7O,YAAgB,IAE1CsN,EAAqB3B,IAC3B,EAAsCniB,mBAAS,IAA/C,mBAAOslB,EAAP,KAAoBC,EAApB,KAEMxB,EAAmBC,mBAAQ,WAC/B,MAAO,CACL1L,YAAawL,EAAmBxL,YAChCoK,eAAgBoB,EAAmBpB,kBAEpC,CAACoB,IAGE0B,EAAc,SAACtrB,GACnB,IAAMurB,EA3BY,SAACnN,EAAape,GAClC,IAAQyrB,EAA4BzrB,EAA5ByrB,YAAaD,EAAexrB,EAAfwrB,WACfD,EAAc,eAAQnN,GACtB/V,EAAS,GAOf,OANAA,EAAOnP,GAAKsyB,EACRA,IACFnjB,EAAOnP,GAAKsyB,GAEdnjB,EAAOojB,YAAcA,EACrBF,EAAeljB,OAASA,EACjBkjB,EAiBkBG,CAAc7B,EAAiBzL,YAAape,GAC9D6oB,kBAAQ0C,EAAgB1B,EAAiBzL,eAC5CmN,EAAe1D,WAAa,EAE5BwD,EAAeE,GAEf1B,EAAiBrB,eAAe+C,KAc9BlyB,EAXY0V,cAAW,SAAAC,GAAK,MAAK,CACrC0V,UAAW,CACTzE,QAAS,OACTG,SAAU,QAEZuE,UAAW,CACTzU,WAAYlB,EAAMK,QAAQ,GAC1BW,YAAahB,EAAMK,QAAQ,GAC3BH,MAAO,QAGKkB,GAChB,EAAgCoT,IAAM1d,SAAS,MAA/C,mBAAO6lB,EAAP,KAAiBC,EAAjB,KACA,SAASC,EAAY9e,GACnB6e,EAAY7e,EAAM+e,eAEpB,SAASC,IACPH,EAAY,MAxCiC,SA2ChCI,EA3CgC,iFA2C/C,WAA2BnwB,EAAMowB,GAAjC,iFACM5jB,EAAS+iB,GADf,uBAGI/iB,EAAOyf,SAAS,IAHpB,SAIyB1M,IAAMkD,KAAN,8BAA0C,CAAE,YAAejW,IAJpF,OAIUJ,EAJV,OAKIzO,aAAOyO,EAAO5M,KAAKshB,SAAU9gB,EAAMowB,GALvC,wCAOyB7Q,IAAMkD,KAAN,8BAA0C,CAAE,YAAe,CAAE,OAAU,CAAC,aAAe,GAAS,UAAa,MAAO,UAAa,KAAM,WAAc,EAAG,SAAY,OAP7L,QAOUrW,EAPV,OAQIzO,aAAOyO,EAAO5M,KAAKshB,SAAU9gB,EAAMowB,GARvC,6CA3C+C,sBAsD/C,OACE,oCACE,kBAAC,IAAD,CACE3Q,cAAe,CACbmQ,YAAa,GACbD,WAAY,IAEdhQ,SAAU,SAACxb,GACTsrB,EAAYtrB,MAGb,gBACCA,EADD,EACCA,OACA6b,EAFD,EAECA,aACAqQ,EAHD,EAGCA,WAEAlgB,GALD,EAICmgB,aAJD,EAKCngB,eALD,OAOC,0BAAMwP,SAAUK,EAAc/iB,UAAU,yBACtC,2BACE+C,KAAK,SACL/C,UAAU,SACVI,GAAG,gBACHqM,QAAS,SAAC6C,GACc,KAAlBA,EAAEM,OAAOzQ,MACXX,SAASsR,eAAe,iBAAiB3Q,MAAQ,EAC9CX,SAASsR,eAAe,iBAAiB3Q,MAAQ,EACtD+T,EAAc,cAAe5D,EAAEM,OAAOzQ,OACtC4jB,OAGJ,yBAAK/iB,UAAU,kBACb,yBAAKA,UAAU,YACb,2BACE+C,KAAK,OACL/C,UAAU,eACVgG,KAAK,aACLoJ,YAAY,SACZkkB,OAAQF,EACRj0B,MAAO+H,EAAOwrB,WACdrjB,SAAU,SAACC,GACT4D,EAAc,aAAc5D,EAAEM,OAAOzQ,OACrC4jB,OAGJ,2BAAO/iB,UAAU,wBACf,qCADF,WAIF,yBAAKA,UAAU,YACf,kBAACuzB,GAAA,EAAD,CAAevzB,UAAU,gCACnB,kBAACwzB,GAAA,EAAD,CAAQpvB,MAAO,CAAEwS,OAAQ,QAEvB6c,gBAAc,kBACdC,gBAAc,OACdC,QAAQ,WAAW5kB,MAAM,UACzBtC,QAASsmB,GALX,YAQgC,kBAACa,GAAA,EAAD,CAAM5zB,UAAWO,EAAQ4W,WAAzB,SAGhC,kBAACsa,GAAD,CACErxB,GAAG,kBACHyyB,SAAUA,EACVgB,aAAW,EACXC,KAAMC,QAAQlB,GACdmB,QAASf,GAET,kBAAChB,GAAD,CAAgBxlB,QAAS,SAACwH,GACxBif,EAAY,QAAS,eAGrB,kBAACe,GAAA,EAAD,KACE,uBAAG9vB,MAAM,uBAEX,kBAAC+vB,GAAA,EAAD,CAAc/I,QAAQ,WAGxB,kBAAC8G,GAAD,CAAgBxlB,QAAS,SAACwH,GACxBif,EAAY,MAAO,eAEnB,kBAACe,GAAA,EAAD,KACE,uBAAG9vB,MAAM,qBAEX,kBAAC+vB,GAAA,EAAD,CAAc/I,QAAQ,SAGxB,kBAAC8G,GAAD,CAAgBxlB,QAAS,SAACwH,GACxBif,EAAY,OAAQ,eAEpB,kBAACe,GAAA,EAAD,KACE,uBAAG9vB,MAAM,sBAGX,kBAAC+vB,GAAA,EAAD,CAAc/I,QAAQ,mB,oDC3NvC,SAASgM,GAAsB/C,EAAa5sB,GACjD,IAAM8mB,EAA2B,CAAC,UAAW,UAGzC8I,GAA4B,IAAjB5vB,EAAIouB,SAAoB,EAAI,EAK3C,OACE,0BAAM51B,UAHA,8BAAN,OAAqCsuB,EAAyB8I,GAA9D,kBAL2B,CAAC,SAAU,YASdA,I,wBCRrB,SAASjD,GACdC,EACA5sB,EACA6sB,EAHK,GAKJ,IADC9D,EACF,EADEA,uBAAwBC,EAC1B,EAD0BA,yBAE1B,OACE,oCACE,uBACEpR,MAAM,gBACNpf,UAAU,uDACVyM,QAAS,kBAAM8jB,EAAuB/oB,EAAIpH,MAE1C,0BAAMJ,UAAU,yCACd,kBAAC,KAAD,CACEwI,IAAKC,aAAc,gDAIzB,yCAEA,uBACE2W,MAAM,kBACNpf,UAAU,iDACVyM,QAAS,kBAAM+jB,EAAyBhpB,EAAIpH,MAE5C,0BAAMJ,UAAU,wCACd,kBAAC,KAAD,CAAKwI,IAAKC,aAAc,2CChC3B,SAASy4B,GAA4B9M,EAAa5sB,GACvD,IAAM8mB,EAA2B,CAAC,UAAW,UAGzC8I,GAAgC,IAArB5vB,EAAIi4B,aAAwB,EAAI,EAC/C,OACE,0BAAMz/B,UAAS,eAAUsuB,EAAyB8I,KAChD,0BAAMp3B,UAAS,gCAA2BsuB,EAAyB8I,GAApD,WALU,CAAC,OAAQ,SAMZA,ICarB,SAAS9C,KAEd,IAAMxD,EAAqB3B,IACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACL9L,IAAK4L,EAAmB5L,IACxBuK,OAAQqB,EAAmBrB,OAC3BnK,YAAawL,EAAmBxL,YAChCoK,eAAgBoB,EAAmBpB,eACnCa,uBAAwBO,EAAmBP,uBAC3CC,yBAA0BM,EAAmBN,4BAE9C,CAACM,IAGIyD,EAAiBjR,aACvB,SAAChE,GAAD,MAAY,CAAEiV,aAAcjV,EAAMiE,aAClCE,KAFM8Q,aAIA3Q,EAAsC2Q,EAAtC3Q,WAAYC,EAA0B0Q,EAA1B1Q,SAAUL,EAAgB+Q,EAAhB/Q,YAGxB+B,EAAW0L,cACjBnd,qBAAU,WAERid,EAAiBtB,OAAO,IAExBlK,EAAStB,EAAuB8M,EAAiBzL,gBAEhD,CAACyL,EAAiBzL,YAAaC,IAElC,IAAMpZ,EAAU,CACd,CACEC,UAAW,KACXnN,KAAM,KACNyN,MAAM,EACNC,UAAWA,KACXC,2BAEF,CACER,UAAW,UACXnN,KAAM,UACNyN,MAAM,EACNC,UAAWA,KACXC,2BAEF,CACER,UAAW,OACXnN,KAAM,OACNyN,MAAM,EACNC,UAAWA,KACXC,2BAEF,CACER,UAAW,eACXnN,KAAM,gBACNyN,MAAM,EACNC,UAAWA,KACXC,2BAEF,CACER,UAAW,gBACXnN,KAAM,iBACNyN,MAAM,EACNC,UAAWA,KACXC,2BAEF,CACER,UAAW,OACXnN,KAAM,iBACNyN,MAAM,EACNC,UAAWA,KACXC,2BAEF,CACER,UAAW,eACXnN,KAAM,eACNyN,MAAM,EACNC,UAAWA,KACXN,UAAWmoB,IAEb,CACEpoB,UAAW,SACXnN,KAAM,UACNyN,MAAM,EACNC,UAAWA,MAEb,CACEP,UAAW,SACXnN,KAAM,UACNyN,MAAM,EACNC,UAAWA,MAEb,CACEP,UAAW,SACXnN,KAAM,UACNyN,MAAM,EACNC,UAAWA,MAEb,CACEP,UAAW,SACXnN,KAAM,UACNyN,MAAM,EACNC,UAAWA,MAEb,CACEP,UAAW,WACXnN,KAAM,SACNyN,MAAM,EACNC,UAAWA,KACXN,UAAWmoB,GACX5nB,2BAEF,CACER,UAAW,SACXnN,KAAM,UACNoN,UAAWmoB,GACXC,gBAAiB,CACflE,uBAAwBQ,EAAiBR,uBACzCC,yBAA0BO,EAAiBP,0BAE7CjwB,QAAS,mBACTm0B,cAAe,mBACftwB,MAAO,CACLuS,SAAU,WAKVge,EAAoB,CACxBC,QAAQ,EACRC,UAAWjR,EACX2K,gBAAiBuG,EACjBC,YAAahE,EAAiBzL,YAAY0J,SAC1CgG,KAAMjE,EAAiBzL,YAAYyJ,YAErC,OACE,oCACE,kBAAC,sBAAD,CAAoBje,WAAYC,KAAkB4jB,KAC/C,YAAgD,IAA7CM,EAA4C,EAA5CA,gBAAiBC,EAA2B,EAA3BA,qBACnB,OACE,kBAAC,IAAD,CACE7R,UAAWG,EACXyR,gBAAiBA,GAEjB,kBAAC,KAAD,eACEjkB,eAAe,mBACfE,UAAU,EACV3Q,QAAQ,gDACR0Q,YAAU,EACVkkB,QAAM,EACNxkB,SAAS,KACTpO,KAAmB,OAAbshB,EAAoB,GAAKA,EAC/B1X,QAASA,EACTyE,cAAekkB,EACfM,cAAeC,aACbtE,EAAiBrB,iBAEfwF,GAEJ,kBAAC,KAAD,CAAmBrR,SAAUA,IAC7B,kBAAC,KAAD,CAAuBA,SAAUA,UCrL1C,SAASyR,KAEd,IAAMxE,EAAqB3B,IACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACL9L,IAAK4L,EAAmB5L,IACxBuK,OAAQqB,EAAmBrB,OAC3BgB,0BAA2BK,EAAmBL,0BAC9CC,yBAA0BI,EAAmBJ,yBAC7CC,gCACEG,EAAmBH,mCAEtB,CAACG,IAEJ,OACE,yBAAK9wB,UAAU,QACb,yBAAKA,UAAU,4EACb,yBAAKA,UAAU,aACb,yBAAKA,UAAU,gCACb,yBAAKA,UAAU,iCACb,2BAAOA,UAAU,yBACf,yDAC0B,2BAAI+wB,EAAiB7L,IAAIrc,WAIvD,6BACE,4BACE9F,KAAK,SACL/C,UAAU,iDACVyM,QAASskB,EAAiBN,2BAE1B,uBAAGzwB,UAAU,gBALf,eADF,OASE,4BACE+C,KAAK,SACL/C,UAAU,wDACVyM,QAASskB,EAAiBL,0BAE1B,uBAAG1wB,UAAU,iBALf,mBATF,OAiBE,4BACE+C,KAAK,SACL/C,UAAU,wDACVyM,QAASskB,EAAiBJ,iCAE1B,uBAAG3wB,UAAU,mBALf,uB,aCjCP,SAASu1B,KACd,IAAMzE,EAAqB3B,IACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACL9L,IAAK4L,EAAmB5L,IACxBoL,uBAAwBQ,EAAmBR,0BAE5C,CAACQ,IAEJ,OACE,oCACA,kBAACqQ,GAAA,EAAD,KACI,2DACA,0BAAMn7B,KAAK,cAAc4a,QAAQ,iCAErC,kBAAC,IAAD,KACE,kBAAC,IAAD,CAAYxB,MAAM,kBAChB,kBAAC,IAAD,KACE,4BACErc,KAAK,SACL/C,UAAU,mCACVyM,QAASskB,EAAiBT,wBAH5B,wBASJ,kBAAC,IAAD,KACE,kBAAC+B,GAAD,MACCtB,EAAiB7L,IAAIrc,OAAS,GAAK,kBAACysB,GAAD,MACpC,kBAAChB,GAAD,SChCD,SAAS8M,GAAT,GAA4C,IAAZ3L,EAAW,EAAXA,QAC/BlG,EAAoB,CACxBe,uBAAwB,WACtBmF,EAAQ3sB,KAAK,8BAEfynB,uBAAwB,SAACnwB,GACvBq1B,EAAQ3sB,KAAR,gCAAsC1I,EAAtC,WAEFowB,yBAA0B,SAACpwB,GACzBq1B,EAAQ3sB,KAAR,gCAAsC1I,EAAtC,aAEFqwB,0BAA2B,WACzBgF,EAAQ3sB,KAAR,0CAEF4nB,yBAA0B,WACxB+E,EAAQ3sB,KAAR,gCAEF6nB,gCAAiC,WAC/B8E,EAAQ3sB,KAAK,wCAIjB,OACE,kBAACwmB,EAAD,CAAqBC,kBAAmBA,GACtC,kBAACnM,EAAD,MACA,kBAAC,IAAD,CAAOnV,KAAK,8BACT,gBAAGwnB,EAAH,EAAGA,QAAS1pB,EAAZ,EAAYA,MAAZ,OACC,kBAAC8kB,EAAD,CACEzf,KAAe,MAATrF,EACNsF,OAAQ,WACNokB,EAAQ3sB,KAAK,+BAKrB,kBAAC,IAAD,CAAOmF,KAAK,mCACT,gBAAGwnB,EAAH,EAAGA,QAAS1pB,EAAZ,EAAYA,MAAZ,OACC,kBAAC8kB,EAAD,CACEzf,KAAe,MAATrF,EACN3L,GAAI2L,GAASA,EAAM2pB,OAAOt1B,GAC1BiR,OAAQ,WACNokB,EAAQ3sB,KAAK,+BAKrB,kBAAC,IAAD,CAAOmF,KAAK,0CACT,gBAAGwnB,EAAH,EAAGA,QAAS1pB,EAAZ,EAAYA,MAAZ,OACC,kBAAColB,EAAD,CACE/f,KAAe,MAATrF,EACNsF,OAAQ,WACNokB,EAAQ3sB,KAAK,+BAKrB,kBAAC,IAAD,CAAOmF,KAAK,qCACT,gBAAGwnB,EAAH,EAAGA,QAAS1pB,EAAZ,EAAYA,MAAZ,OACC,kBAACmlB,EAAD,CACE9f,KAAe,MAATrF,EACN3L,GAAI2L,GAASA,EAAM2pB,OAAOt1B,GAC1BiR,OAAQ,WACNokB,EAAQ3sB,KAAK,+BAKrB,kBAAC,IAAD,CAAOmF,KAAK,gCACT,gBAAGwnB,EAAH,EAAGA,QAAS1pB,EAAZ,EAAYA,MAAZ,OACC,kBAACulB,EAAD,CACElgB,KAAe,MAATrF,EACNsF,OAAQ,WACNokB,EAAQ3sB,KAAK,+BAKrB,kBAAC,IAAD,CAAOmF,KAAK,uCACT,gBAAGwnB,EAAH,EAAGA,QAAS1pB,EAAZ,EAAYA,MAAZ,OACC,kBAACwlB,EAAD,CACEngB,KAAe,MAATrF,EACNsF,OAAQ,WACNokB,EAAQ3sB,KAAK,+BAKrB,kBAACysB,GAAD,OAlGN,oC,6ECIO,SAASnS,IAEd,IAAQC,EAAcC,aACpB,SAAChE,GAAD,MAAY,CAAE+D,UAAW/D,EAAMiE,UAAUC,eACzCC,KAFMJ,UAMR,OADAvP,qBAAU,cAAU,CAACuP,IACd,kBAAC,IAAD,CAAeA,UAAWA,EAAWpkB,KAAK,gB,6BCVtCykB,EAAgB,sB,YCAvBC,EAAwB,CAC5BH,aAAa,EACbjC,gBAAgB,EAChBqC,WAAY,EACZC,SAAU,KACVC,qBAAiBhe,EACjBie,UAAW,MAEAC,EACL,OADKA,EAEH,SCTHC,EDYuBC,YAAY,CACxCle,KAAM,YACNme,aAAcR,EACdS,SAAU,CACRC,WAAY,SAAC/E,EAAOgF,GAClBhF,EAAM/U,MAAN,UAAiB+Z,EAAOvhB,KAAxB,aAAiCuhB,EAAOC,QAAQha,OAC5C+Z,EAAOC,QAAQC,WAAaR,EAC9B1E,EAAMkE,aAAc,EAEpBlE,EAAMiC,gBAAiB,GAG3BkD,UAAW,SAACnF,EAAOgF,GACjBhF,EAAM/U,MAAQ,KACV+Z,EAAOC,QAAQC,WAAaR,EAC9B1E,EAAMkE,aAAc,EAEpBlE,EAAMiC,gBAAiB,GAI3BmD,gBAAiB,SAACpF,EAAOgF,GACvBhF,EAAMiC,gBAAiB,EACvBjC,EAAMwE,gBAAkBQ,EAAOC,QAAQT,gBACvCxE,EAAM/U,MAAQ,MAGhBoa,iBAAkB,SAACrF,EAAOgF,GACxB,MAAiCA,EAAOC,QAAhCX,EAAR,EAAQA,WAAYC,EAApB,EAAoBA,SACpBvE,EAAMkE,aAAc,EACpBlE,EAAM/U,MAAQ,KACd+U,EAAMuE,SAAWA,EACjBvE,EAAMsE,WAAaA,GAGrBgB,gBAAiB,SAACtF,EAAOgF,GACvBhF,EAAMiC,gBAAiB,EACvBjC,EAAM/U,MAAQ,KACd+U,EAAMuE,SAAS/a,KAAKwb,EAAOC,QAAQjD,WAGrCuD,gBAAiB,SAACvF,EAAOgF,GACvBhF,EAAM/U,MAAQ,KACd+U,EAAMiC,gBAAiB,EACvBjC,EAAMuE,SAAWvE,EAAMuE,SAAS9f,KAAI,SAAA+gB,GAClC,OAAIA,EAAO1kB,KAAOkkB,EAAOC,QAAQjD,SAASlhB,GACjCkkB,EAAOC,QAAQjD,SAEjBwD,MAIXC,gBAAiB,SAACzF,EAAOgF,GACvBhF,EAAM/U,MAAQ,KACd+U,EAAMiC,gBAAiB,EACvBjC,EAAMuE,SAAWvE,EAAMuE,SAAStU,QAAO,SAAAyV,GAAE,OAAIA,EAAG5kB,KAAOkkB,EAAOC,QAAQnkB,OAGxE6kB,iBAAkB,SAAC3F,EAAOgF,GACxBhF,EAAM/U,MAAQ,KACd+U,EAAMiC,gBAAiB,EACvBjC,EAAMuE,SAAWvE,EAAMuE,SAAStU,QAC9B,SAAAyV,GAAE,OAAKV,EAAOC,QAAQW,IAAIvV,SAASqV,EAAG5kB,QAI1C+kB,uBAAwB,SAAC7F,EAAOgF,GAC9BhF,EAAMiC,gBAAiB,EACvBjC,EAAM/U,MAAQ,KACd,MAAwB+Z,EAAOC,QAAvBW,EAAR,EAAQA,IAAKnQ,EAAb,EAAaA,OACbuK,EAAMuE,SAAWvE,EAAMuE,SAAS9f,KAAI,SAAA+gB,GAIlC,OAHII,EAAIE,WAAU,SAAAhlB,GAAE,OAAIA,IAAO0kB,EAAO1kB,OAAO,IAC3C0kB,EAAO/P,OAASA,GAEX+P,SCtFRb,QAEMoB,EAAiB,SAAAC,GAAW,OAAI,SAAAC,GAE3C,OADAA,EAAStB,EAAQQ,UAAU,CAAED,SAAUR,KFclC,SAAuBsB,GAC5B,OAAOhD,IAAMkD,KAAN,UAAc9B,EAAd,SAAoC,CAAE4B,gBEdtCG,CACUH,GACd1Q,MAAK,SAAAC,GACJ,MAAiCA,EAAStS,KAAlCqhB,EAAR,EAAQA,WAAYC,EAApB,EAAoBA,SACpB0B,EAAStB,EAAQU,iBAAiB,CAAEf,aAAYC,iBAEjD1O,OAAM,SAAA5K,GACLA,EAAMmb,cAAgB,uBACtBH,EAAStB,EAAQI,WAAW,CAAE9Z,QAAOia,SAAUR,UAIxC2B,EAAgB,SAAAvlB,GAAE,OAAI,SAAAmlB,GACjC,OAAKnlB,GAILmlB,EAAStB,EAAQQ,UAAU,CAAED,SAAUR,MFVT4B,EEYXxlB,EFXZkiB,IAAM3M,IAAN,UAAa+N,EAAb,YAA8BkC,KEYlChR,MAAK,SAAAC,GACJ,IAAMyM,EAAWzM,EAAStS,KAC1BgjB,EAAStB,EAAQS,gBAAgB,CAAEZ,gBAAiBxC,QAErDnM,OAAM,SAAA5K,GACLA,EAAMmb,cAAgB,sBACtBH,EAAStB,EAAQI,WAAW,CAAE9Z,QAAOia,SAAUR,SAZ1CuB,EAAStB,EAAQS,gBAAgB,CAAEZ,qBAAiBhe,KFPxD,IAAyB8f,IEuBnBC,EAAiB,SAAAzlB,GAAE,OAAI,SAAAmlB,GAElC,OADAA,EAAStB,EAAQQ,UAAU,CAAED,SAAUR,MFAV4B,EEEXxlB,EFDXkiB,IAAMwD,OAAN,UAAgBpC,EAAhB,YAAiCkC,KEErChR,MAAK,SAAAC,GACJ0Q,EAAStB,EAAQc,gBAAgB,CAAE3kB,WAEpC+U,OAAM,SAAA5K,GACLA,EAAMmb,cAAgB,wBACtBH,EAAStB,EAAQI,WAAW,CAAE9Z,QAAOia,SAAUR,QFR9C,IAAwB4B,IEYlBG,EAAiB,SAAAC,GAAmB,OAAI,SAAAT,GAEnD,OADAA,EAAStB,EAAQQ,UAAU,CAAED,SAAUR,MF9CV1C,EEgDX0E,EF/CX1D,IAAMkD,KAAK9B,EAAe,CAAEpC,cEgDhC1M,MAAK,SAAAC,GACJ,IAAQyM,EAAazM,EAAStS,KAAtB+e,SACRiE,EAAStB,EAAQW,gBAAgB,CAAEtD,iBAEpCnM,OAAM,SAAA5K,GACLA,EAAMmb,cAAgB,wBACtBH,EAAStB,EAAQI,WAAW,CAAE9Z,QAAOia,SAAUR,QFvD9C,IAAwB1C,IE2DlB2E,EAAiB,SAAA3E,GAAQ,OAAI,SAAAiE,GAExC,OADAA,EAAStB,EAAQQ,UAAU,CAAED,SAAUR,KFxClC,SAAwB1C,GAC7B,OAAOgB,IAAM4D,IAAN,UAAaxC,EAAb,YAA8BpC,EAASlhB,IAAM,CAAEkhB,aEwC/CmE,CACWnE,GACf1M,MAAK,WACJ2Q,EAAStB,EAAQY,gBAAgB,CAAEvD,iBAEpCnM,OAAM,SAAA5K,GACLA,EAAMmb,cAAgB,wBACtBH,EAAStB,EAAQI,WAAW,CAAE9Z,QAAOia,SAAUR,UAIxCmC,EAAwB,SAACjB,EAAKnQ,GAAN,OAAiB,SAAAwQ,GAEpD,OADAA,EAAStB,EAAQQ,UAAU,CAAED,SAAUR,KFhDlC,SAAkCkB,EAAKnQ,GAC5C,OAAOuN,IAAMkD,KAAN,UAAc9B,EAAd,6BAAwD,CAC7DwB,MACAnQ,WE8CK0Q,CACqBP,EAAKnQ,GAC9BH,MAAK,WACJ2Q,EAAStB,EAAQkB,uBAAuB,CAAED,MAAKnQ,eAEhDI,OAAM,SAAA5K,GACLA,EAAMmb,cAAgB,gCACtBH,EAAStB,EAAQI,WAAW,CAAE9Z,QAAOia,SAAUR,UAIxCoC,EAAkB,SAAAlB,GAAG,OAAI,SAAAK,GAEpC,OADAA,EAAStB,EAAQQ,UAAU,CAAED,SAAUR,KFhDlC,SAAyBkB,GAC9B,OAAO5C,IAAMkD,KAAN,UAAc9B,EAAd,oBAA+C,CAAEwB,QEgDjDO,CACYP,GAChBtQ,MAAK,WACJ2Q,EAAStB,EAAQgB,iBAAiB,CAAEC,YAErC/P,OAAM,SAAA5K,GACLA,EAAMmb,cAAgB,yBACtBH,EAAStB,EAAQI,WAAW,CAAE9Z,QAAOia,SAAUR,U,OC9F9C,SAASqC,EAAT,GAA2C,IAAPjmB,EAAM,EAANA,GAEzC,EAA4CkjB,aAC1C,SAAChE,GAAD,MAAY,CACVwE,gBAAiBxE,EAAMiE,UAAUO,gBACjCvC,eAAgBjC,EAAMiE,UAAUhC,kBAElCkC,KALMK,EAAR,EAAQA,gBAAiBvC,EAAzB,EAAyBA,eAQzB,EAA0BvU,mBAAS,IAAnC,mBAAOoS,EAAP,KAAckH,EAAd,KAYA,OAVAxS,qBAAU,WACR,IAAIyS,EAASnmB,EAAK,GAAK,uBACnB0jB,GAAmB1jB,IACrBmmB,EAAM,yBAAqBzC,EAAgB4K,UAArC,YAAkD5K,EAAgB2K,SAAlE,MAGRnI,EAASC,KAER,CAACzC,EAAiBvC,IAGnB,oCACGA,GAAkB,kBAAC,IAAD,MACnB,kBAACkF,EAAA,EAAMlV,OAAP,CAAcmV,aAAW,GACvB,kBAACD,EAAA,EAAM9U,MAAP,CAAavR,GAAG,gCAAgCgf,K,qDCpBlD6B,EAAqBC,MAAaC,MAAM,CAC5CkgB,cAAengB,MACZ4U,IAAI,EAAG,qBACPC,IAAI,GAAI,sBACRnjB,SAAS,iCACZ0uB,SAAUpgB,MACP4U,IAAI,EAAG,qBACPC,IAAI,GAAI,sBACRnjB,SAAS,wBACZ2uB,gBAAiBrgB,MACd4U,IAAI,EAAG,qBACPC,IAAI,GAAI,sBACRnjB,SAAS,wBACZ+b,MAAOzN,MACJyN,MAAM,iBACN/b,SAAS,qBACZ4uB,MAAOtgB,MACJ4U,IAAI,EAAG,oBACPC,IAAI,GAAI,qBACRnjB,SAAS,4BACZud,SAAUjP,MAAatO,SAAS,wBAChCyd,aAAcnP,MACXugB,UAAS,GACT7uB,SAAS,6BACZgc,UAAW1N,MAAatO,SAAS,4BAE7B0E,EAAYrB,aAAW,SAAAC,GAAK,MAAK,CACrC0V,UAAW,CACTzE,QAAS,OACTG,SAAU,QAEZuE,UAAW,CACTzU,WAAYlB,EAAMK,QAAQ,GAC1BW,YAAahB,EAAMK,QAAQ,IAE7B4hB,MAAO,CACL7hB,UAAWJ,EAAMK,QAAQ,IAE3B6hB,KAAM,CACJhiB,MAAO,SAIJ,SAASgL,EAAT,GAKH,IAJFC,EAIC,EAJDA,aACAC,EAGC,EAHDA,SACAC,EAEC,EAFDA,eACAlQ,EACC,EADDA,OAEM9Q,EAAU+W,IAChB,EAA4BoT,IAAM1d,SAAS,CACzChH,KAAM,GACN07B,IAAK,GACLC,UAAW,aACXC,SAAU,QAJZ,mBAAO16B,EAAP,KAAe26B,EAAf,KAUA,OACE,oCACE,kBAAC,IAAD,CACEtf,oBAAoB,EACpBC,cAAelB,EACfmB,iBAAkBxB,EAClByB,SAAU,SAACxb,GACTma,EAAana,MAGd,gBAbclB,EAaX+c,EAAH,EAAGA,aAAH,OACC,oCACE,kBAAC0D,EAAA,EAAMhV,KAAP,CAAYzR,UAAU,yBACnBuhB,GACC,yBAAKvhB,UAAU,gCACb,yBAAKA,UAAU,wCAGnB,kBAAC,IAAD,CAAMA,UAAU,yBACd,yBAAKA,UAAU,kBACb,yBAAKA,UAAU,YACb,kBAAC+oB,EAAA,EAAD,CACE3oB,GAAG,gBACHoD,MAAM,OACNxD,UAAWO,EAAQsrB,UACnB1sB,MAAO+H,EAAOlB,KACdqJ,UA7BCrJ,EA6BsB,OA7Bd,SAAAiO,GAC3B4tB,EAAU,2BAAK36B,GAAN,kBAAelB,EAAOiO,EAAMrE,OAAOzQ,WA6B1B6X,OAAO,SACP2c,QAAQ,eAId,yBAAK3zB,UAAU,kBACb,yBAAKA,UAAU,YACb,kBAAC+oB,EAAA,EAAD,CACE3oB,GAAG,4BACHoD,MAAM,cACNm+B,WAAS,EACT1mB,KAAK,IACLuG,aAAa,GACbxhB,UAAWO,EAAQsrB,UACnB7U,OAAO,SACP2c,QAAQ,iBAMlB,kBAAClN,EAAA,EAAM/U,OAAP,KACE,4BACE3O,KAAK,SACL0J,QAAS4E,EACTrR,UAAU,6BAHZ,UAOA,yCACA,4BACE+C,KAAK,SACL0J,QAAS,kBAAMsW,KACf/iB,UAAU,+BAHZ,c,YChIDsuB,EAA2B,CAAC,SAAU,UAAW,OAAQ,IAIzD1d,EAAgB,CAAC,CAAExE,UAAW,KAAMyE,MAAO,SAC3C0d,EAAkB,CAC7B,CAAEtvB,KAAM,IAAKE,MAAO,GACpB,CAAEF,KAAM,IAAKE,MAAO,GACpB,CAAEF,KAAM,KAAME,MAAO,KAEVqvB,EAAgB,CAC3Bjf,OAAQ,CACNkf,SAAU,GACVC,UAAW,GACXC,MAAO,GACPC,UAAW,IAEbC,UAAW,MACXC,UAAW,KACXC,WAAY,EACZC,SAAU,IChBNC,EAAqBC,0BAEpB,SAASC,IACd,OAAOC,qBAAWH,GAGeA,EAAmBI,SAE/C,SAASC,EAAT,GAA6D,IAA/BC,EAA8B,EAA9BA,kBAAmB7G,EAAW,EAAXA,SACtD,EAA0C1b,mBAASwhB,GAAnD,mBAAOlJ,EAAP,KAAoBkK,EAApB,KACA,EAAsBxiB,mBAAS,IAA/B,mBAAOkY,EAAP,KAAYuK,EAAZ,KACMC,EAAiBC,uBAAY,SAAAC,GACjCJ,GAAmB,SAAAK,GAKjB,OAJIC,qBAAWF,KACbA,EAAkBA,EAAgBC,IAGhCE,kBAAQF,EAAiBD,GACpBC,EAGFD,OAER,IAeGzwB,EAAQ,CACZmmB,cACAkK,qBACAtK,MACAuK,SACAC,iBACAM,aAnBmB,CACnB5vB,QAAI0F,EACJ4oB,UAAW,GACXD,SAAU,GACVE,MAAO,GACPwB,SAAU,GACVC,OAAQ,SACRrb,OAAQ,EACRsb,aAAc,GACdzB,UAAW,GACX7rB,KAAM,GAUNutB,uBAAwBf,EAAkBe,uBAC1CC,uBAAwBhB,EAAkBgB,uBAC1CC,yBAA0BjB,EAAkBiB,yBAC5CC,0BAA2BlB,EAAkBkB,0BAC7CC,yBAA0BnB,EAAkBmB,yBAC5CC,gCAAiCpB,EAAkBoB,iCAGrD,OAAO,kBAAC1B,EAAmB2B,SAApB,CAA6BzxB,MAAOA,GAAQupB,GCjD9C,SAASmI,EAAT,GAAmD,IAArBzwB,EAAoB,EAApBA,GAAIgR,EAAgB,EAAhBA,KAAMC,EAAU,EAAVA,OAEvCyf,EAAqB3B,IACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACLhB,aAAcc,EAAmBd,gBAElC,CAACc,IAGEvL,EAAW0L,cACjB,EAA4C3N,aAC1C,SAAChE,GAAD,MAAY,CACViC,eAAgBjC,EAAMiE,UAAUhC,eAChCuC,gBAAiBxE,EAAMiE,UAAUO,mBAEnCL,KALMlC,EAAR,EAAQA,eAAgBuC,EAAxB,EAAwBA,gBAQxBhQ,qBAAU,WAERyR,EAAStB,EAAsB7jB,MAC9B,CAACA,EAAImlB,IAaR,OACE,kBAACkB,EAAA,EAAD,CACEtV,KAAK,KACLC,KAAMA,EACNC,OAAQA,EACRC,kBAAgB,gCAEhB,kBAAC+U,EAAD,CAA0BjmB,GAAIA,IAC9B,kBAACghB,EAAD,CACEC,aAnBe,SAACC,GACflhB,EAKHmlB,EAAStB,EAAuB3C,IAAW1M,MAAK,kBAAMvD,OAHtDkU,EAAStB,EAAuB3C,IAAW1M,MAAK,kBAAMvD,QAiBpDkQ,eAAgBA,EAChBD,SAAUwC,GAAmBiN,EAAiBf,aAC9C3e,OAAQA,KChDT,SAAS6f,EAAT,GAAqD,IAArB9wB,EAAoB,EAApBA,GAAIgR,EAAgB,EAAhBA,KAAMC,EAAU,EAAVA,OAEzCyf,EAAqB3B,IACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACLvB,OAAQqB,EAAmBrB,OAC3BnK,YAAawL,EAAmBxL,eAEjC,CAACwL,IAGEvL,EAAW0L,cACT5N,EAAcC,aACpB,SAAChE,GAAD,MAAY,CAAE+D,UAAW/D,EAAMiE,UAAUhC,kBACzCkC,KAFMJ,UAMRvP,qBAAU,WACH1T,GACHiR,MAGD,CAACjR,IAGJ0T,qBAAU,cAAU,CAACuP,EAAWkC,IAchC,OACE,kBAACkB,EAAA,EAAD,CACErV,KAAMA,EACNC,OAAQA,EACRC,kBAAgB,gCAGf+R,GAAa,kBAAC,IAAD,MAEd,kBAACoD,EAAA,EAAMlV,OAAP,CAAcmV,aAAW,GACvB,kBAACD,EAAA,EAAM9U,MAAP,CAAavR,GAAG,gCAAhB,oBAIF,kBAACqmB,EAAA,EAAMhV,KAAP,MACI4R,GACA,mFAEDA,GAAa,0DAEhB,kBAACoD,EAAA,EAAM/U,OAAP,KACE,6BACE,4BACE3O,KAAK,SACL0J,QAAS4E,EACTrR,UAAU,6BAHZ,UAOA,yCACA,4BACE+C,KAAK,SACL0J,QA5Ca,WAErB8Y,EAAStB,EAAuB7jB,IAAKwU,MAAK,WAExC2Q,EAAStB,EAAuB8M,EAAiBzL,cAEjDyL,EAAiBtB,OAAO,IAExBpe,QAqCMrR,UAAU,+BAHZ,aCtEH,SAASmxB,EAAT,GAAkD,IAAjB/f,EAAgB,EAAhBA,KAAMC,EAAU,EAAVA,OAEtCyf,EAAqB3B,IACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACL9L,IAAK4L,EAAmB5L,IACxBuK,OAAQqB,EAAmBrB,OAC3BnK,YAAawL,EAAmBxL,eAEjC,CAACwL,IAGEvL,EAAW0L,cACT5N,EAAcC,aACpB,SAAChE,GAAD,MAAY,CAAE+D,UAAW/D,EAAMiE,UAAUhC,kBACzCkC,KAFMJ,UAMRvP,qBAAU,WACHid,EAAiB7L,KAAuC,IAAhC6L,EAAiB7L,IAAIrc,QAChDwI,MAGD,CAAC0f,EAAiB7L,MAGrBpR,qBAAU,cAAU,CAACuP,EAAWkC,IAiBhC,OACE,kBAACkB,EAAA,EAAD,CACErV,KAAMA,EACNC,OAAQA,EACRC,kBAAgB,gCAGf+R,GAAa,kBAAC,IAAD,MAEd,kBAACoD,EAAA,EAAMlV,OAAP,CAAcmV,aAAW,GACvB,kBAACD,EAAA,EAAM9U,MAAP,CAAavR,GAAG,gCAAhB,qBAIF,kBAACqmB,EAAA,EAAMhV,KAAP,MACI4R,GACA,wFAEDA,GAAa,2DAEhB,kBAACoD,EAAA,EAAM/U,OAAP,KACE,6BACE,4BACE3O,KAAK,SACL0J,QAAS4E,EACTrR,UAAU,6BAHZ,UAOA,yCACA,4BACE+C,KAAK,SACL0J,QA/Cc,WAEtB8Y,EAAStB,EAAwB8M,EAAiB7L,MAAMtQ,MAAK,WAE3D2Q,EAAStB,EAAuB8M,EAAiBzL,cAAc1Q,MAC7D,WAEEmc,EAAiBtB,OAAO,IAExBpe,WAuCErR,UAAU,+BAHZ,aC3EV,IAAMoxB,EAAoB,SAACvN,EAAUqB,GACnC,IAAMmM,EAAa,GAOnB,OANAnM,EAAIhkB,SAAQ,SAACd,GACX,IAAMkhB,EAAWuC,EAASV,MAAK,SAAC6B,GAAD,OAAQA,EAAG5kB,KAAOA,KAC7CkhB,GACF+P,EAAWvoB,KAAKwY,MAGb+P,GAGF,SAASC,EAAT,GAAiD,IAAjBlgB,EAAgB,EAAhBA,KAAMC,EAAU,EAAVA,OAErCyf,EAAqB3B,IACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACL9L,IAAK4L,EAAmB5L,OAEzB,CAAC4L,IAGIvN,EAAcD,aACpB,SAAChE,GAAD,MAAY,CACViE,UAAW6N,EACT9R,EAAMiE,UAAUM,SAChBkN,EAAiB7L,QAGrBzB,KAPMF,UAkBR,OAPAzP,qBAAU,WACHid,EAAiB7L,KAAuC,IAAhC6L,EAAiB7L,IAAIrc,QAChDwI,MAGD,CAAC0f,EAAiB7L,MAGnB,kBAACuB,EAAA,EAAD,CACErV,KAAMA,EACNC,OAAQA,EACRC,kBAAgB,gCAEhB,kBAACmV,EAAA,EAAMlV,OAAP,CAAcmV,aAAW,GACvB,kBAACD,EAAA,EAAM9U,MAAP,CAAavR,GAAG,gCAAhB,4BAIF,kBAACqmB,EAAA,EAAMhV,KAAP,KACE,yBAAKzR,UAAU,4BACZujB,EAAUxf,KAAI,SAACud,GAAD,OACb,yBAAKthB,UAAU,kCAAkCsH,IAAG,YAAOga,EAASlhB,KAClE,yBAAKJ,UAAU,gFACf,yBAAKA,UAAU,kBACb,uBACEA,UAAS,gCACPsuB,EAAyBhN,EAASvM,QAD3B,gBAKb,yBAAK/U,UAAU,sCACb,0BACIA,UAAS,qCACPsuB,EAAyBhN,EAASvM,QAD3B,kBADb,OAKSuM,EAASlhB,IAElB,0BAAMJ,UAAU,QAAQshB,EAASmN,SAAjC,KAA6CnN,EAASoN,kBAMhE,kBAACjI,EAAA,EAAM/U,OAAP,KACE,6BACE,4BACE3O,KAAK,SACL0J,QAAS4E,EACTrR,UAAU,6BAHZ,UAOA,yCACA,4BACE+C,KAAK,SACL0J,QAAS4E,EACTrR,UAAU,+BAHZ,SCrFV,IAAMoxB,EAAoB,SAACvN,EAAUqB,GACnC,IAAMmM,EAAa,GAOnB,OANAnM,EAAIhkB,SAAQ,SAACd,GACX,IAAMkhB,EAAWuC,EAASV,MAAK,SAAC6B,GAAD,OAAQA,EAAG5kB,KAAOA,KAC7CkhB,GACF+P,EAAWvoB,KAAKwY,MAGb+P,GAGF,SAASE,EAAT,GAAuD,IAAjBngB,EAAgB,EAAhBA,KAAMC,EAAU,EAAVA,OAE3Cyf,EAAqB3B,IACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACL9L,IAAK4L,EAAmB5L,IACxBuK,OAAQqB,EAAmBrB,OAC3BnK,YAAawL,EAAmBxL,eAEjC,CAACwL,IAGJ,EAAiCxN,aAC/B,SAAChE,GAAD,MAAY,CACViE,UAAW6N,EACT9R,EAAMiE,UAAUM,SAChBkN,EAAiB7L,KAEnB7B,UAAW/D,EAAMiE,UAAUhC,kBAE7BkC,KARMF,EAAR,EAAQA,UAAWF,EAAnB,EAAmBA,UAYnBvP,qBAAU,WACHid,EAAiB7L,KAAuC,IAAhC6L,EAAiB7L,IAAIrc,QAChDwI,MAGD,CAAC0f,EAAiB7L,MAErB,MAA4BlY,mBAAS,GAArC,mBAAO+H,EAAP,KAAeyc,EAAf,KAEMjM,EAAW0L,cAkBjB,OACE,kBAACxK,EAAA,EAAD,CACErV,KAAMA,EACNC,OAAQA,EACRC,kBAAgB,gCAEhB,kBAACmV,EAAA,EAAMlV,OAAP,CAAcmV,aAAW,GACvB,kBAACD,EAAA,EAAM9U,MAAP,CAAavR,GAAG,gCAAhB,8CAIF,kBAACqmB,EAAA,EAAMhV,KAAP,CAAYzR,UAAU,yBAEnBqjB,GACC,yBAAKrjB,UAAU,iBACb,yBAAKA,UAAU,wCAKnB,yBAAKA,UAAU,4BACZujB,EAAUxf,KAAI,SAACud,GAAD,OACb,yBACEthB,UAAU,kCACVsH,IAAG,yBAAoBga,EAASlhB,KAEhC,yBAAKJ,UAAU,gFACf,yBAAKA,UAAU,kBACb,uBACEA,UAAS,gCACPsuB,EAAyBhN,EAASvM,QAD3B,gBAKb,yBAAK/U,UAAU,sCACb,0BACEA,UAAS,qCACPsuB,EAAyBhN,EAASvM,QAD3B,kBADX,OAKOuM,EAASlhB,IAEhB,0BAAMJ,UAAU,QACbshB,EAASmN,SADZ,KACwBnN,EAASoN,kBAO3C,kBAACjI,EAAA,EAAM/U,OAAP,CAAc1R,UAAU,QACtB,yBAAKA,UAAU,cACb,4BACEA,UAAU,eACVb,MAAO4V,EACP1F,SAAU,SAACC,GAAD,OAAOkiB,GAAWliB,EAAEM,OAAOzQ,SAErC,4BAAQA,MAAM,KAAd,YACA,4BAAQA,MAAM,KAAd,YAGJ,yBAAKa,UAAU,cACb,4BACE+C,KAAK,SACL0J,QAAS4E,EACTrR,UAAU,kCAHZ,UAOA,4BACE+C,KAAK,SACL0J,QAxFW,WAEnB8Y,EAAStB,EAA8B8M,EAAiB7L,IAAKnQ,IAASH,MACpE,WAEE2Q,EAAStB,EAAuB8M,EAAiBzL,cAAc1Q,MAC7D,WAEEmc,EAAiBtB,OAAO,IAExBpe,WA+EArR,UAAU,+BAHZ,oBCnHH,SAASqyB,EAAT,GAA0C,EAAf7O,YAAgB,IAE1CsN,EAAqB3B,IACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACL1L,YAAawL,EAAmBxL,YAChCoK,eAAgBoB,EAAmBpB,kBAEpC,CAACoB,IAGE0B,EAAc,SAACtrB,GACnB,IAAMurB,EA/BY,SAACnN,EAAape,GAClC,IAAQ6N,EAA6B7N,EAA7B6N,OAAQhS,EAAqBmE,EAArBnE,KAAM2vB,EAAexrB,EAAfwrB,WAChBD,EAAc,eAAQnN,GACtB/V,EAAS,GAaf,OAXAA,EAAOwF,OAAoB,KAAXA,GAAiBA,OAASjP,EAE1CyJ,EAAOxM,KAAgB,KAATA,GAAeA,OAAO+C,EAEpCyJ,EAAOkf,SAAWiE,EACdA,IACFnjB,EAAOmf,UAAYgE,EACnBnjB,EAAOof,MAAQ+D,EACfnjB,EAAOqf,UAAY8D,GAErBD,EAAeljB,OAASA,EACjBkjB,EAekBG,CAAc7B,EAAiBzL,YAAape,GAC9D6oB,kBAAQ0C,EAAgB1B,EAAiBzL,eAC5CmN,EAAe1D,WAAa,EAE5BgC,EAAiBrB,eAAe+C,KAIpC,OACE,oCACE,kBAAC,IAAD,CACEjQ,cAAe,CACbzN,OAAQ,GACRhS,KAAM,GACN2vB,WAAY,IAEdhQ,SAAU,SAACxb,GACTsrB,EAAYtrB,MAGb,cACCA,OADD,IAEC6b,EAFD,EAECA,aAFD,EAGCqQ,WAHD,EAICC,aAJD,EAKCngB,cALD,OAOC,0BAAMwP,SAAUK,EAAc/iB,UAAU,8B,yECvD3C,SAASm0B,GACdC,EACA5sB,EACA6sB,EAHK,GAKJ,IADC9D,EACF,EADEA,uBAAwBC,EAC1B,EAD0BA,yBAE1B,OACE,oCACE,uBACEpR,MAAM,gBACNpf,UAAU,uDACVyM,QAAS,kBAAM8jB,EAAuB/oB,EAAIpH,MAE1C,0BAAMJ,UAAU,yCACd,kBAAC,KAAD,CACEwI,IAAKC,aAAc,gDAIzB,yCAEA,uBACE2W,MAAM,kBACNpf,UAAU,iDACVyM,QAAS,kBAAM+jB,EAAyBhpB,EAAIpH,MAE5C,0BAAMJ,UAAU,wCACd,kBAAC,KAAD,CAAKwI,IAAKC,aAAc,2CCX3B,SAAS6rB,KAEd,IAAMxD,EAAqB3B,IACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACL9L,IAAK4L,EAAmB5L,IACxBuK,OAAQqB,EAAmBrB,OAC3BnK,YAAawL,EAAmBxL,YAChCoK,eAAgBoB,EAAmBpB,eACnCa,uBAAwBO,EAAmBP,uBAC3CC,yBAA0BM,EAAmBN,4BAE9C,CAACM,IAGIyD,EAAiBjR,aACvB,SAAChE,GAAD,MAAY,CAAEiV,aAAcjV,EAAMiE,aAClCE,KAFM8Q,aAIA3Q,EAAsC2Q,EAAtC3Q,WAAYC,EAA0B0Q,EAA1B1Q,SAAUL,EAAgB+Q,EAAhB/Q,YAGxB+B,EAAW0L,cACjBnd,qBAAU,WAERid,EAAiBtB,OAAO,IAExBlK,EAAStB,EAAuB8M,EAAiBzL,gBAEhD,CAACyL,EAAiBzL,YAAaC,IAElC,IAAMpZ,EAAU,CACd,CACEC,UAAW,KACXnN,KAAM,KACNyN,MAAM,EACNC,UAAWA,KACXC,2BAEF,CACER,UAAW,OACXnN,KAAM,OACNyN,MAAM,EACNC,UAAWA,KACXC,2BAEF,CACER,UAAW,cACXnN,KAAM,cACNyN,MAAM,EACNC,UAAWA,KACXC,2BAEF,CACER,UAAW,SACXnN,KAAM,UACNoN,UAAWmoB,GACXC,gBAAiB,CACflE,uBAAwBQ,EAAiBR,uBACzCC,yBAA0BO,EAAiBP,0BAE7CjwB,QAAS,mBACTm0B,cAAe,mBACftwB,MAAO,CACLuS,SAAU,WAKVge,EAAoB,CACxBC,QAAQ,EACRC,UAAWjR,EACX2K,gBAAiBuG,EACjBC,YAAahE,EAAiBzL,YAAY0J,SAC1CgG,KAAMjE,EAAiBzL,YAAYyJ,YAErC,OACE,oCACE,kBAAC,sBAAD,CAAoBje,WAAYC,KAAkB4jB,KAC/C,YAAgD,IAA7CM,EAA4C,EAA5CA,gBAAiBC,EAA2B,EAA3BA,qBACnB,OACE,kBAAC,IAAD,CACE7R,UAAWG,EACXyR,gBAAiBA,GAEjB,kBAAC,IAAD,eACEjkB,eAAe,mBACfE,UAAU,EACV3Q,QAAQ,gDACR0Q,YAAU,EACVkkB,QAAM,EACNxkB,SAAS,KACTpO,KAAmB,OAAbshB,EAAoB,GAAKA,EAC/B1X,QAASA,EACTyE,cAAekkB,EACfM,cAAeC,aACbtE,EAAiBrB,gBAEnBgI,UAAWC,aAAa,CACtB9T,WACAqB,IAAK6L,EAAiB7L,IACtBuK,OAAQsB,EAAiBtB,UAEvByF,GAEJ,kBAAC,KAAD,CAAmBrR,SAAUA,IAC7B,kBAAC,KAAD,CAAuBA,SAAUA,UC9H1C,SAASyR,KAEd,IAAMxE,EAAqB3B,IACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACL9L,IAAK4L,EAAmB5L,IACxBuK,OAAQqB,EAAmBrB,OAC3BgB,0BAA2BK,EAAmBL,0BAC9CC,yBAA0BI,EAAmBJ,yBAC7CC,gCACEG,EAAmBH,mCAEtB,CAACG,IAEJ,OACE,yBAAK9wB,UAAU,QACb,yBAAKA,UAAU,4EACb,yBAAKA,UAAU,aACb,yBAAKA,UAAU,gCACb,yBAAKA,UAAU,iCACb,2BAAOA,UAAU,yBACf,yDAC0B,2BAAI+wB,EAAiB7L,IAAIrc,WAIvD,6BACE,4BACE9F,KAAK,SACL/C,UAAU,iDACVyM,QAASskB,EAAiBN,2BAE1B,uBAAGzwB,UAAU,gBALf,eADF,Y,aChBL,SAASu1B,KACd,IAAMzE,EAAqB3B,IACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACL9L,IAAK4L,EAAmB5L,IACxBoL,uBAAwBQ,EAAmBR,0BAE5C,CAACQ,IAEJ,OACE,oCACE,kBAACqQ,GAAA,EAAD,KACE,6DACA,0BAAMn7B,KAAK,cAAc4a,QAAQ,iCAEnC,kBAAC,IAAD,KACE,kBAAC,IAAD,CAAYxB,MAAM,2BAChB,kBAAC,IAAD,KACE,4BACErc,KAAK,SACL/C,UAAU,wCACVyM,QAASskB,EAAiBT,wBAH5B,SASJ,kBAAC,IAAD,KACE,kBAAC+B,EAAD,MACCtB,EAAiB7L,IAAIrc,OAAS,GAAK,kBAACysB,GAAD,MACpC,kBAAChB,GAAD,SChCH,SAASwN,GAAT,GAAuC,IAAZrM,EAAW,EAAXA,QAC1BlG,EAAoB,CACxBe,uBAAwB,WACtBmF,EAAQ3sB,KAAK,0BAEfynB,uBAAwB,SAACnwB,GACvBq1B,EAAQ3sB,KAAR,4BAAkC1I,EAAlC,WAEFowB,yBAA0B,SAACpwB,GACzBq1B,EAAQ3sB,KAAR,4BAAkC1I,EAAlC,aAEFqwB,0BAA2B,WACzBgF,EAAQ3sB,KAAR,sCAEF4nB,yBAA0B,WACxB+E,EAAQ3sB,KAAR,4BAEF6nB,gCAAiC,WAC/B8E,EAAQ3sB,KAAK,oCAIjB,OACE,kBAACwmB,EAAD,CAAqBC,kBAAmBA,GACtC,kBAACnM,EAAD,MACA,kBAAC,IAAD,CAAOnV,KAAK,0BACT,gBAAGwnB,EAAH,EAAGA,QAAS1pB,EAAZ,EAAYA,MAAZ,OACC,kBAAC8kB,EAAD,CACEzf,KAAe,MAATrF,EACNsF,OAAQ,WACNokB,EAAQ3sB,KAAK,2BAKrB,kBAAC,IAAD,CAAOmF,KAAK,+BACT,gBAAGwnB,EAAH,EAAGA,QAAS1pB,EAAZ,EAAYA,MAAZ,OACC,kBAAC8kB,EAAD,CACEzf,KAAe,MAATrF,EACN3L,GAAI2L,GAASA,EAAM2pB,OAAOt1B,GAC1BiR,OAAQ,WACNokB,EAAQ3sB,KAAK,0BAKrB,kBAAC,IAAD,CAAOmF,KAAK,sCACT,gBAAGwnB,EAAH,EAAGA,QAAS1pB,EAAZ,EAAYA,MAAZ,OACC,kBAAColB,EAAD,CACE/f,KAAe,MAATrF,EACNsF,OAAQ,WACNokB,EAAQ3sB,KAAK,0BAKrB,kBAAC,IAAD,CAAOmF,KAAK,iCACT,gBAAGwnB,EAAH,EAAGA,QAAS1pB,EAAZ,EAAYA,MAAZ,OACC,kBAACmlB,EAAD,CACE9f,KAAe,MAATrF,EACN3L,GAAI2L,GAASA,EAAM2pB,OAAOt1B,GAC1BiR,OAAQ,WACNokB,EAAQ3sB,KAAK,2BAKrB,kBAAC,IAAD,CAAOmF,KAAK,4BACT,gBAAGwnB,EAAH,EAAGA,QAAS1pB,EAAZ,EAAYA,MAAZ,OACC,kBAACulB,EAAD,CACElgB,KAAe,MAATrF,EACNsF,OAAQ,WACNokB,EAAQ3sB,KAAK,2BAKrB,kBAAC,IAAD,CAAOmF,KAAK,mCACT,gBAAGwnB,EAAH,EAAGA,QAAS1pB,EAAZ,EAAYA,MAAZ,OACC,kBAACwlB,EAAD,CACEngB,KAAe,MAATrF,EACNsF,OAAQ,WACNokB,EAAQ3sB,KAAK,2BAKrB,kBAACysB,GAAD,OAlGN,oC,6ECIO,SAASnS,IAEd,IAAQC,EAAcC,aACpB,SAAChE,GAAD,MAAY,CAAE+D,UAAW/D,EAAMiE,UAAUC,eACzCC,KAFMJ,UAMR,OADAvP,qBAAU,cAAU,CAACuP,IACd,kBAAC,IAAD,CAAeA,UAAWA,EAAWpkB,KAAK,gB,6BCVtCykB,EAAgB,8B,YCAvBC,EAAwB,CAC5BH,aAAa,EACbjC,gBAAgB,EAChBqC,WAAY,EACZC,SAAU,KACVC,qBAAiBhe,EACjBie,UAAW,MAEAC,EACL,OADKA,EAEH,SCTHC,EDYuBC,YAAY,CACxCle,KAAM,YACNme,aAAcR,EACdS,SAAU,CACRC,WAAY,SAAC/E,EAAOgF,GAClBhF,EAAM/U,MAAN,UAAiB+Z,EAAOvhB,KAAxB,aAAiCuhB,EAAOC,QAAQha,OAC5C+Z,EAAOC,QAAQC,WAAaR,EAC9B1E,EAAMkE,aAAc,EAEpBlE,EAAMiC,gBAAiB,GAG3BkD,UAAW,SAACnF,EAAOgF,GACjBhF,EAAM/U,MAAQ,KACV+Z,EAAOC,QAAQC,WAAaR,EAC9B1E,EAAMkE,aAAc,EAEpBlE,EAAMiC,gBAAiB,GAI3BmD,gBAAiB,SAACpF,EAAOgF,GACvBhF,EAAMiC,gBAAiB,EACvBjC,EAAMwE,gBAAkBQ,EAAOC,QAAQT,gBACvCxE,EAAM/U,MAAQ,MAGhBoa,iBAAkB,SAACrF,EAAOgF,GACxB,MAAiCA,EAAOC,QAAhCX,EAAR,EAAQA,WAAYC,EAApB,EAAoBA,SACpBvE,EAAMkE,aAAc,EACpBlE,EAAM/U,MAAQ,KACd+U,EAAMuE,SAAWA,EACjBvE,EAAMsE,WAAaA,GAGrBgB,gBAAiB,SAACtF,EAAOgF,GACvBhF,EAAMiC,gBAAiB,EACvBjC,EAAM/U,MAAQ,KACd+U,EAAMuE,SAAS/a,KAAKwb,EAAOC,QAAQjD,WAGrCuD,gBAAiB,SAACvF,EAAOgF,GACvBhF,EAAM/U,MAAQ,KACd+U,EAAMiC,gBAAiB,EACvBjC,EAAMuE,SAAWvE,EAAMuE,SAAS9f,KAAI,SAAA+gB,GAClC,OAAIA,EAAO1kB,KAAOkkB,EAAOC,QAAQjD,SAASlhB,GACjCkkB,EAAOC,QAAQjD,SAEjBwD,MAIXC,gBAAiB,SAACzF,EAAOgF,GACvBhF,EAAM/U,MAAQ,KACd+U,EAAMiC,gBAAiB,EACvBjC,EAAMuE,SAAWvE,EAAMuE,SAAStU,QAAO,SAAAyV,GAAE,OAAIA,EAAG5kB,KAAOkkB,EAAOC,QAAQnkB,OAGxE6kB,iBAAkB,SAAC3F,EAAOgF,GACxBhF,EAAM/U,MAAQ,KACd+U,EAAMiC,gBAAiB,EACvBjC,EAAMuE,SAAWvE,EAAMuE,SAAStU,QAC9B,SAAAyV,GAAE,OAAKV,EAAOC,QAAQW,IAAIvV,SAASqV,EAAG5kB,QAI1C+kB,uBAAwB,SAAC7F,EAAOgF,GAC9BhF,EAAMiC,gBAAiB,EACvBjC,EAAM/U,MAAQ,KACd,MAAwB+Z,EAAOC,QAAvBW,EAAR,EAAQA,IAAKnQ,EAAb,EAAaA,OACbuK,EAAMuE,SAAWvE,EAAMuE,SAAS9f,KAAI,SAAA+gB,GAIlC,OAHII,EAAIE,WAAU,SAAAhlB,GAAE,OAAIA,IAAO0kB,EAAO1kB,OAAO,IAC3C0kB,EAAO/P,OAASA,GAEX+P,SCtFRb,QAEMoB,EAAiB,SAAAC,GAAW,OAAI,SAAAC,GAE3C,OADAA,EAAStB,EAAQQ,UAAU,CAAED,SAAUR,KFclC,SAAuBsB,GAC5B,OAAOhD,IAAMkD,KAAN,UAAc9B,EAAd,SAAoC,CAAE4B,gBEdtCG,CACUH,GACd1Q,MAAK,SAAAC,GACJ,MAAiCA,EAAStS,KAAlCqhB,EAAR,EAAQA,WAAYC,EAApB,EAAoBA,SACpB0B,EAAStB,EAAQU,iBAAiB,CAAEf,aAAYC,iBAEjD1O,OAAM,SAAA5K,GACLA,EAAMmb,cAAgB,uBACtBH,EAAStB,EAAQI,WAAW,CAAE9Z,QAAOia,SAAUR,UAIxC2B,EAAgB,SAAAvlB,GAAE,OAAI,SAAAmlB,GACjC,OAAKnlB,GAILmlB,EAAStB,EAAQQ,UAAU,CAAED,SAAUR,MFVT4B,EEYXxlB,EFXZkiB,IAAM3M,IAAN,UAAa+N,EAAb,YAA8BkC,KEYlChR,MAAK,SAAAC,GACJ,IAAMyM,EAAWzM,EAAStS,KAC1BgjB,EAAStB,EAAQS,gBAAgB,CAAEZ,gBAAiBxC,QAErDnM,OAAM,SAAA5K,GACLA,EAAMmb,cAAgB,sBACtBH,EAAStB,EAAQI,WAAW,CAAE9Z,QAAOia,SAAUR,SAZ1CuB,EAAStB,EAAQS,gBAAgB,CAAEZ,qBAAiBhe,KFPxD,IAAyB8f,IEuBnBC,EAAiB,SAAAzlB,GAAE,OAAI,SAAAmlB,GAElC,OADAA,EAAStB,EAAQQ,UAAU,CAAED,SAAUR,MFAV4B,EEEXxlB,EFDXkiB,IAAMwD,OAAN,UAAgBpC,EAAhB,YAAiCkC,KEErChR,MAAK,SAAAC,GACJ0Q,EAAStB,EAAQc,gBAAgB,CAAE3kB,WAEpC+U,OAAM,SAAA5K,GACLA,EAAMmb,cAAgB,wBACtBH,EAAStB,EAAQI,WAAW,CAAE9Z,QAAOia,SAAUR,QFR9C,IAAwB4B,IEYlBG,EAAiB,SAAAC,GAAmB,OAAI,SAAAT,GAEnD,OADAA,EAAStB,EAAQQ,UAAU,CAAED,SAAUR,MF9CV1C,EEgDX0E,EF/CX1D,IAAMkD,KAAK9B,EAAe,CAAEpC,cEgDhC1M,MAAK,SAAAC,GACJ,IAAQyM,EAAazM,EAAStS,KAAtB+e,SACRiE,EAAStB,EAAQW,gBAAgB,CAAEtD,iBAEpCnM,OAAM,SAAA5K,GACLA,EAAMmb,cAAgB,wBACtBH,EAAStB,EAAQI,WAAW,CAAE9Z,QAAOia,SAAUR,QFvD9C,IAAwB1C,IE2DlB2E,EAAiB,SAAA3E,GAAQ,OAAI,SAAAiE,GAExC,OADAA,EAAStB,EAAQQ,UAAU,CAAED,SAAUR,KFxClC,SAAwB1C,GAC7B,OAAOgB,IAAM4D,IAAN,UAAaxC,EAAb,YAA8BpC,EAASlhB,IAAM,CAAEkhB,aEwC/CmE,CACWnE,GACf1M,MAAK,WACJ2Q,EAAStB,EAAQY,gBAAgB,CAAEvD,iBAEpCnM,OAAM,SAAA5K,GACLA,EAAMmb,cAAgB,wBACtBH,EAAStB,EAAQI,WAAW,CAAE9Z,QAAOia,SAAUR,UAIxCmC,EAAwB,SAACjB,EAAKnQ,GAAN,OAAiB,SAAAwQ,GAEpD,OADAA,EAAStB,EAAQQ,UAAU,CAAED,SAAUR,KFhDlC,SAAkCkB,EAAKnQ,GAC5C,OAAOuN,IAAMkD,KAAN,UAAc9B,EAAd,6BAAwD,CAC7DwB,MACAnQ,WE8CK0Q,CACqBP,EAAKnQ,GAC9BH,MAAK,WACJ2Q,EAAStB,EAAQkB,uBAAuB,CAAED,MAAKnQ,eAEhDI,OAAM,SAAA5K,GACLA,EAAMmb,cAAgB,gCACtBH,EAAStB,EAAQI,WAAW,CAAE9Z,QAAOia,SAAUR,UAIxCoC,EAAkB,SAAAlB,GAAG,OAAI,SAAAK,GAEpC,OADAA,EAAStB,EAAQQ,UAAU,CAAED,SAAUR,KFhDlC,SAAyBkB,GAC9B,OAAO5C,IAAMkD,KAAN,UAAc9B,EAAd,oBAA+C,CAAEwB,QEgDjDO,CACYP,GAChBtQ,MAAK,WACJ2Q,EAAStB,EAAQgB,iBAAiB,CAAEC,YAErC/P,OAAM,SAAA5K,GACLA,EAAMmb,cAAgB,yBACtBH,EAAStB,EAAQI,WAAW,CAAE9Z,QAAOia,SAAUR,U,OC9F9C,SAASqC,EAAT,GAA2C,IAAPjmB,EAAM,EAANA,GAEzC,EAA4CkjB,aAC1C,SAAChE,GAAD,MAAY,CACVwE,gBAAiBxE,EAAMiE,UAAUO,gBACjCvC,eAAgBjC,EAAMiE,UAAUhC,kBAElCkC,KALMK,EAAR,EAAQA,gBAAiBvC,EAAzB,EAAyBA,eAQzB,EAA0BvU,mBAAS,IAAnC,mBAAOoS,EAAP,KAAckH,EAAd,KAYA,OAVAxS,qBAAU,WACR,IAAIyS,EAASnmB,EAAK,GAAK,yBACnB0jB,GAAmB1jB,IACrBmmB,EAAM,yBAAqBzC,EAAgB4K,UAArC,YAAkD5K,EAAgB2K,SAAlE,MAGRnI,EAASC,KAER,CAACzC,EAAiBvC,IAGnB,oCACGA,GAAkB,kBAAC,IAAD,MACnB,kBAACkF,EAAA,EAAMlV,OAAP,CAAcmV,aAAW,GACvB,kBAACD,EAAA,EAAM9U,MAAP,CAAavR,GAAG,gCAAgCgf,K,oBClBlD6B,EAAqBC,MAAaC,MAAM,CAC5CkgB,cAAengB,MACZ4U,IAAI,EAAG,qBACPC,IAAI,GAAI,sBACRnjB,SAAS,iCACZ0uB,SAAUpgB,MACP4U,IAAI,EAAG,qBACPC,IAAI,GAAI,sBACRnjB,SAAS,wBACZ2uB,gBAAiBrgB,MACd4U,IAAI,EAAG,qBACPC,IAAI,GAAI,sBACRnjB,SAAS,wBACZ+b,MAAOzN,MACJyN,MAAM,iBACN/b,SAAS,qBACZ4uB,MAAOtgB,MACJ4U,IAAI,EAAG,oBACPC,IAAI,GAAI,qBACRnjB,SAAS,4BACZud,SAAUjP,MAAatO,SAAS,wBAChCyd,aAAcnP,MACXugB,UAAS,GACT7uB,SAAS,6BACZgc,UAAW1N,MAAatO,SAAS,4BAG5B,SAASwO,EAAT,GAKH,IAJFC,EAIC,EAJDA,aACAC,EAGC,EAHDA,SACAC,EAEC,EAFDA,eACAlQ,EACC,EADDA,OAEA,OACE,oCACE,kBAAC,IAAD,CACEkR,oBAAoB,EACpBC,cAAelB,EACfmB,iBAAkBxB,EAClByB,SAAU,SAACxb,GACTma,EAAana,MAGd,gBAAG6b,EAAH,EAAGA,aAAH,OACC,oCACE,kBAAC0D,EAAA,EAAMhV,KAAP,CAAYzR,UAAU,yBACnBuhB,GACC,yBAAKvhB,UAAU,gCACb,yBAAKA,UAAU,wCAGnB,kBAAC,IAAD,CAAMA,UAAU,yBACd,yBAAKA,UAAU,kBACb,yBAAKA,UAAU,2BACb,wBAAIA,UAAU,0BAAd,oBAGJ,yBAAKA,UAAU,kBACb,yBAAKA,UAAU,YACb,kBAAC,IAAD,CAAQgG,KAAK,aAAaxC,MAAM,mBAC9B,4BAAQrE,MAAM,MACd,4BAAQA,MAAM,KAAd,qBACA,4BAAQA,MAAM,KAAd,sBAGJ,yBAAKa,UAAU,YACb,kBAAC,IAAD,CAAQgG,KAAK,YAAYxC,MAAM,aAC7B,4BAAQrE,MAAM,OAGlB,yBAAKa,UAAU,YACb,kBAAC,IAAD,CAAQgG,KAAK,UAAUxC,MAAM,WAC3B,4BAAQrE,MAAM,MACd,4BAAQA,MAAM,KAAd,WACA,4BAAQA,MAAM,KAAd,uBAMV,kBAACsnB,EAAA,EAAM/U,OAAP,KACE,4BACE3O,KAAK,SACL0J,QAAS4E,EACTrR,UAAU,6BAHZ,UAOA,yCACA,4BACE+C,KAAK,SACL0J,QAAS,kBAAMsW,KACf/iB,UAAU,+BAHZ,c,YCtGDsuB,EAA2B,CAAC,SAAU,UAAW,OAAQ,IAIzD1d,EAAgB,CAAC,CAAExE,UAAW,KAAMyE,MAAO,SAC3C0d,EAAkB,CAC7B,CAAEtvB,KAAM,IAAKE,MAAO,GACpB,CAAEF,KAAM,IAAKE,MAAO,GACpB,CAAEF,KAAM,KAAME,MAAO,KAEVqvB,EAAgB,CAC3Bjf,OAAQ,CACNkf,SAAU,GACVC,UAAW,GACXC,MAAO,GACPC,UAAW,IAEbC,UAAW,MACXC,UAAW,KACXC,WAAY,EACZC,SAAU,IChBNC,EAAqBC,0BAEpB,SAASC,IACd,OAAOC,qBAAWH,GAGeA,EAAmBI,SAE/C,SAASC,EAAT,GAA6D,IAA/BC,EAA8B,EAA9BA,kBAAmB7G,EAAW,EAAXA,SACtD,EAA0C1b,mBAASwhB,GAAnD,mBAAOlJ,EAAP,KAAoBkK,EAApB,KACA,EAAsBxiB,mBAAS,IAA/B,mBAAOkY,EAAP,KAAYuK,EAAZ,KACMC,EAAiBC,uBAAY,SAAAC,GACjCJ,GAAmB,SAAAK,GAKjB,OAJIC,qBAAWF,KACbA,EAAkBA,EAAgBC,IAGhCE,kBAAQF,EAAiBD,GACpBC,EAGFD,OAER,IAeGzwB,EAAQ,CACZmmB,cACAkK,qBACAtK,MACAuK,SACAC,iBACAM,aAnBmB,CACnB5vB,QAAI0F,EACJ4oB,UAAW,GACXD,SAAU,GACVE,MAAO,GACPwB,SAAU,GACVC,OAAQ,SACRrb,OAAQ,EACRsb,aAAc,GACdzB,UAAW,GACX7rB,KAAM,GAUNutB,uBAAwBf,EAAkBe,uBAC1CC,uBAAwBhB,EAAkBgB,uBAC1CC,yBAA0BjB,EAAkBiB,yBAC5CC,0BAA2BlB,EAAkBkB,0BAC7CC,yBAA0BnB,EAAkBmB,yBAC5CC,gCAAiCpB,EAAkBoB,iCAGrD,OAAO,kBAAC1B,EAAmB2B,SAApB,CAA6BzxB,MAAOA,GAAQupB,GCjD9C,SAASmI,EAAT,GAAmD,IAArBzwB,EAAoB,EAApBA,GAAIgR,EAAgB,EAAhBA,KAAMC,EAAU,EAAVA,OAEvCyf,EAAqB3B,IACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACLhB,aAAcc,EAAmBd,gBAElC,CAACc,IAGEvL,EAAW0L,cACjB,EAA4C3N,aAC1C,SAAChE,GAAD,MAAY,CACViC,eAAgBjC,EAAMiE,UAAUhC,eAChCuC,gBAAiBxE,EAAMiE,UAAUO,mBAEnCL,KALMlC,EAAR,EAAQA,eAAgBuC,EAAxB,EAAwBA,gBAQxBhQ,qBAAU,WAERyR,EAAStB,EAAsB7jB,MAC9B,CAACA,EAAImlB,IAaR,OACE,kBAACkB,EAAA,EAAD,CACEtV,KAAK,KACLC,KAAMA,EACNC,OAAQA,EACRC,kBAAgB,gCAEhB,kBAAC+U,EAAD,CAA0BjmB,GAAIA,IAC9B,kBAACghB,EAAD,CACEC,aAnBe,SAACC,GACflhB,EAKHmlB,EAAStB,EAAuB3C,IAAW1M,MAAK,kBAAMvD,OAHtDkU,EAAStB,EAAuB3C,IAAW1M,MAAK,kBAAMvD,QAiBpDkQ,eAAgBA,EAChBD,SAAUwC,GAAmBiN,EAAiBf,aAC9C3e,OAAQA,KChDT,SAAS6f,EAAT,GAAqD,IAArB9wB,EAAoB,EAApBA,GAAIgR,EAAgB,EAAhBA,KAAMC,EAAU,EAAVA,OAEzCyf,EAAqB3B,IACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACLvB,OAAQqB,EAAmBrB,OAC3BnK,YAAawL,EAAmBxL,eAEjC,CAACwL,IAGEvL,EAAW0L,cACT5N,EAAcC,aACpB,SAAChE,GAAD,MAAY,CAAE+D,UAAW/D,EAAMiE,UAAUhC,kBACzCkC,KAFMJ,UAMRvP,qBAAU,WACH1T,GACHiR,MAGD,CAACjR,IAGJ0T,qBAAU,cAAU,CAACuP,EAAWkC,IAchC,OACE,kBAACkB,EAAA,EAAD,CACErV,KAAMA,EACNC,OAAQA,EACRC,kBAAgB,gCAGf+R,GAAa,kBAAC,IAAD,MAEd,kBAACoD,EAAA,EAAMlV,OAAP,CAAcmV,aAAW,GACvB,kBAACD,EAAA,EAAM9U,MAAP,CAAavR,GAAG,gCAAhB,oBAIF,kBAACqmB,EAAA,EAAMhV,KAAP,MACI4R,GACA,mFAEDA,GAAa,0DAEhB,kBAACoD,EAAA,EAAM/U,OAAP,KACE,6BACE,4BACE3O,KAAK,SACL0J,QAAS4E,EACTrR,UAAU,6BAHZ,UAOA,yCACA,4BACE+C,KAAK,SACL0J,QA5Ca,WAErB8Y,EAAStB,EAAuB7jB,IAAKwU,MAAK,WAExC2Q,EAAStB,EAAuB8M,EAAiBzL,cAEjDyL,EAAiBtB,OAAO,IAExBpe,QAqCMrR,UAAU,+BAHZ,aCtEH,SAASmxB,EAAT,GAAkD,IAAjB/f,EAAgB,EAAhBA,KAAMC,EAAU,EAAVA,OAEtCyf,EAAqB3B,IACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACL9L,IAAK4L,EAAmB5L,IACxBuK,OAAQqB,EAAmBrB,OAC3BnK,YAAawL,EAAmBxL,eAEjC,CAACwL,IAGEvL,EAAW0L,cACT5N,EAAcC,aACpB,SAAChE,GAAD,MAAY,CAAE+D,UAAW/D,EAAMiE,UAAUhC,kBACzCkC,KAFMJ,UAMRvP,qBAAU,WACHid,EAAiB7L,KAAuC,IAAhC6L,EAAiB7L,IAAIrc,QAChDwI,MAGD,CAAC0f,EAAiB7L,MAGrBpR,qBAAU,cAAU,CAACuP,EAAWkC,IAiBhC,OACE,kBAACkB,EAAA,EAAD,CACErV,KAAMA,EACNC,OAAQA,EACRC,kBAAgB,gCAGf+R,GAAa,kBAAC,IAAD,MAEd,kBAACoD,EAAA,EAAMlV,OAAP,CAAcmV,aAAW,GACvB,kBAACD,EAAA,EAAM9U,MAAP,CAAavR,GAAG,gCAAhB,qBAIF,kBAACqmB,EAAA,EAAMhV,KAAP,MACI4R,GACA,wFAEDA,GAAa,2DAEhB,kBAACoD,EAAA,EAAM/U,OAAP,KACE,6BACE,4BACE3O,KAAK,SACL0J,QAAS4E,EACTrR,UAAU,6BAHZ,UAOA,yCACA,4BACE+C,KAAK,SACL0J,QA/Cc,WAEtB8Y,EAAStB,EAAwB8M,EAAiB7L,MAAMtQ,MAAK,WAE3D2Q,EAAStB,EAAuB8M,EAAiBzL,cAAc1Q,MAC7D,WAEEmc,EAAiBtB,OAAO,IAExBpe,WAuCErR,UAAU,+BAHZ,aC3EV,IAAMoxB,EAAoB,SAACvN,EAAUqB,GACnC,IAAMmM,EAAa,GAOnB,OANAnM,EAAIhkB,SAAQ,SAACd,GACX,IAAMkhB,EAAWuC,EAASV,MAAK,SAAC6B,GAAD,OAAQA,EAAG5kB,KAAOA,KAC7CkhB,GACF+P,EAAWvoB,KAAKwY,MAGb+P,GAGF,SAASC,EAAT,GAAiD,IAAjBlgB,EAAgB,EAAhBA,KAAMC,EAAU,EAAVA,OAErCyf,EAAqB3B,IACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACL9L,IAAK4L,EAAmB5L,OAEzB,CAAC4L,IAGIvN,EAAcD,aACpB,SAAChE,GAAD,MAAY,CACViE,UAAW6N,EACT9R,EAAMiE,UAAUM,SAChBkN,EAAiB7L,QAGrBzB,KAPMF,UAkBR,OAPAzP,qBAAU,WACHid,EAAiB7L,KAAuC,IAAhC6L,EAAiB7L,IAAIrc,QAChDwI,MAGD,CAAC0f,EAAiB7L,MAGnB,kBAACuB,EAAA,EAAD,CACErV,KAAMA,EACNC,OAAQA,EACRC,kBAAgB,gCAEhB,kBAACmV,EAAA,EAAMlV,OAAP,CAAcmV,aAAW,GACvB,kBAACD,EAAA,EAAM9U,MAAP,CAAavR,GAAG,gCAAhB,4BAIF,kBAACqmB,EAAA,EAAMhV,KAAP,KACE,yBAAKzR,UAAU,4BACZujB,EAAUxf,KAAI,SAACud,GAAD,OACb,yBAAKthB,UAAU,kCAAkCsH,IAAG,YAAOga,EAASlhB,KAClE,yBAAKJ,UAAU,gFACf,yBAAKA,UAAU,kBACb,uBACEA,UAAS,gCACPsuB,EAAyBhN,EAASvM,QAD3B,gBAKb,yBAAK/U,UAAU,sCACb,0BACIA,UAAS,qCACPsuB,EAAyBhN,EAASvM,QAD3B,kBADb,OAKSuM,EAASlhB,IAElB,0BAAMJ,UAAU,QAAQshB,EAASmN,SAAjC,KAA6CnN,EAASoN,kBAMhE,kBAACjI,EAAA,EAAM/U,OAAP,KACE,6BACE,4BACE3O,KAAK,SACL0J,QAAS4E,EACTrR,UAAU,6BAHZ,UAOA,yCACA,4BACE+C,KAAK,SACL0J,QAAS4E,EACTrR,UAAU,+BAHZ,SCrFV,IAAMoxB,EAAoB,SAACvN,EAAUqB,GACnC,IAAMmM,EAAa,GAOnB,OANAnM,EAAIhkB,SAAQ,SAACd,GACX,IAAMkhB,EAAWuC,EAASV,MAAK,SAAC6B,GAAD,OAAQA,EAAG5kB,KAAOA,KAC7CkhB,GACF+P,EAAWvoB,KAAKwY,MAGb+P,GAGF,SAASE,EAAT,GAAuD,IAAjBngB,EAAgB,EAAhBA,KAAMC,EAAU,EAAVA,OAE3Cyf,EAAqB3B,IACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACL9L,IAAK4L,EAAmB5L,IACxBuK,OAAQqB,EAAmBrB,OAC3BnK,YAAawL,EAAmBxL,eAEjC,CAACwL,IAGJ,EAAiCxN,aAC/B,SAAChE,GAAD,MAAY,CACViE,UAAW6N,EACT9R,EAAMiE,UAAUM,SAChBkN,EAAiB7L,KAEnB7B,UAAW/D,EAAMiE,UAAUhC,kBAE7BkC,KARMF,EAAR,EAAQA,UAAWF,EAAnB,EAAmBA,UAYnBvP,qBAAU,WACHid,EAAiB7L,KAAuC,IAAhC6L,EAAiB7L,IAAIrc,QAChDwI,MAGD,CAAC0f,EAAiB7L,MAErB,MAA4BlY,mBAAS,GAArC,mBAAO+H,EAAP,KAAeyc,EAAf,KAEMjM,EAAW0L,cAkBjB,OACE,kBAACxK,EAAA,EAAD,CACErV,KAAMA,EACNC,OAAQA,EACRC,kBAAgB,gCAEhB,kBAACmV,EAAA,EAAMlV,OAAP,CAAcmV,aAAW,GACvB,kBAACD,EAAA,EAAM9U,MAAP,CAAavR,GAAG,gCAAhB,8CAIF,kBAACqmB,EAAA,EAAMhV,KAAP,CAAYzR,UAAU,yBAEnBqjB,GACC,yBAAKrjB,UAAU,iBACb,yBAAKA,UAAU,wCAKnB,yBAAKA,UAAU,4BACZujB,EAAUxf,KAAI,SAACud,GAAD,OACb,yBACEthB,UAAU,kCACVsH,IAAG,yBAAoBga,EAASlhB,KAEhC,yBAAKJ,UAAU,gFACf,yBAAKA,UAAU,kBACb,uBACEA,UAAS,gCACPsuB,EAAyBhN,EAASvM,QAD3B,gBAKb,yBAAK/U,UAAU,sCACb,0BACEA,UAAS,qCACPsuB,EAAyBhN,EAASvM,QAD3B,kBADX,OAKOuM,EAASlhB,IAEhB,0BAAMJ,UAAU,QACbshB,EAASmN,SADZ,KACwBnN,EAASoN,kBAO3C,kBAACjI,EAAA,EAAM/U,OAAP,CAAc1R,UAAU,QACtB,yBAAKA,UAAU,cACb,4BACEA,UAAU,eACVb,MAAO4V,EACP1F,SAAU,SAACC,GAAD,OAAOkiB,GAAWliB,EAAEM,OAAOzQ,SAErC,4BAAQA,MAAM,KAAd,YACA,4BAAQA,MAAM,KAAd,YAGJ,yBAAKa,UAAU,cACb,4BACE+C,KAAK,SACL0J,QAAS4E,EACTrR,UAAU,kCAHZ,UAOA,4BACE+C,KAAK,SACL0J,QAxFW,WAEnB8Y,EAAStB,EAA8B8M,EAAiB7L,IAAKnQ,IAASH,MACpE,WAEE2Q,EAAStB,EAAuB8M,EAAiBzL,cAAc1Q,MAC7D,WAEEmc,EAAiBtB,OAAO,IAExBpe,WA+EArR,UAAU,+BAHZ,oB,WCnHH,SAASqyB,EAAT,GAA0C,EAAf7O,YAAgB,IAE1CsN,EAAqB3B,IACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACL1L,YAAawL,EAAmBxL,YAChCoK,eAAgBoB,EAAmBpB,kBAEpC,CAACoB,IAGE0B,EAAc,SAACtrB,GACnB,IAAMurB,EA/BY,SAACnN,EAAape,GAClC,IAAQ6N,EAA6B7N,EAA7B6N,OAAQhS,EAAqBmE,EAArBnE,KAAM2vB,EAAexrB,EAAfwrB,WAChBD,EAAc,eAAQnN,GACtB/V,EAAS,GAaf,OAXAA,EAAOwF,OAAoB,KAAXA,GAAiBA,OAASjP,EAE1CyJ,EAAOxM,KAAgB,KAATA,GAAeA,OAAO+C,EAEpCyJ,EAAOkf,SAAWiE,EACdA,IACFnjB,EAAOmf,UAAYgE,EACnBnjB,EAAOof,MAAQ+D,EACfnjB,EAAOqf,UAAY8D,GAErBD,EAAeljB,OAASA,EACjBkjB,EAekBG,CAAc7B,EAAiBzL,YAAape,GAC9D6oB,kBAAQ0C,EAAgB1B,EAAiBzL,eAC5CmN,EAAe1D,WAAa,EAE5BgC,EAAiBrB,eAAe+C,KAIpC,OACE,oCACE,kBAAC,IAAD,CACEjQ,cAAe,CACbzN,OAAQ,GACRhS,KAAM,GACN2vB,WAAY,IAEdhQ,SAAU,SAACxb,GACTsrB,EAAYtrB,MAGb,cACCA,OADD,IAEC6b,EAFD,EAECA,aAFD,EAGCqQ,WAHD,EAICC,aAJD,EAKCngB,cALD,OAOG,0BAAMwP,SAAUK,EAAc/iB,UAAU,yBACtC,yBAAKA,UAAU,kBACb,yBAAKA,UAAU,kBAEb,uBAAGmE,MAAM,4CAAT,6HAGA,uBAAGA,MAAM,4CAAT,+BAC8B,0BAAMnE,UAAU,uDAAhB,mBAD9B,yD,mEC9DX,SAASm0B,GACdC,EACA5sB,EACA6sB,EAHK,GAKJ,IADC9D,EACF,EADEA,uBAAwBC,EAC1B,EAD0BA,yBAE1B,OACE,oCACE,uBACEpR,MAAM,gBACNpf,UAAU,uDACVyM,QAAS,kBAAM8jB,EAAuB/oB,EAAIpH,MAE1C,0BAAMJ,UAAU,yCACd,kBAAC,KAAD,CACEwI,IAAKC,YAAc,gDAIzB,yCAEA,uBACE2W,MAAM,kBACNpf,UAAU,iDACVyM,QAAS,kBAAM+jB,EAAyBhpB,EAAIpH,MAE5C,0BAAMJ,UAAU,wCACd,kBAAC,KAAD,CAAKwI,IAAKC,YAAc,2CCX3B,SAAS6rB,KAEd,IAAMxD,EAAqB3B,IACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACL9L,IAAK4L,EAAmB5L,IACxBuK,OAAQqB,EAAmBrB,OAC3BnK,YAAawL,EAAmBxL,YAChCoK,eAAgBoB,EAAmBpB,eACnCa,uBAAwBO,EAAmBP,uBAC3CC,yBAA0BM,EAAmBN,4BAE9C,CAACM,IAGIyD,EAAiBjR,aACvB,SAAChE,GAAD,MAAY,CAAEiV,aAAcjV,EAAMiE,aAClCE,KAFM8Q,aAIA3Q,EAAsC2Q,EAAtC3Q,WAAYC,EAA0B0Q,EAA1B1Q,SAAUL,EAAgB+Q,EAAhB/Q,YAGxB+B,EAAW0L,cACjBnd,qBAAU,WAERid,EAAiBtB,OAAO,IAExBlK,EAAStB,EAAuB8M,EAAiBzL,gBAEhD,CAACyL,EAAiBzL,YAAaC,IAElC,IAAMpZ,EAAU,CACd,CACEC,UAAW,KACXnN,KAAM,KACNyN,MAAM,EACNC,UAAWA,IACXC,0BAEF,CACER,UAAW,YACXnN,KAAM,WACNyN,MAAM,EACNC,UAAWA,IACXC,0BAEF,CACER,UAAW,YACXnN,KAAM,YACNyN,MAAM,EACNC,UAAWA,IACXC,0BAEF,CACER,UAAW,YACXnN,KAAM,YACNyN,MAAM,EACNC,UAAWA,IACXC,0BAEF,CACER,UAAW,YACXnN,KAAM,aACNyN,MAAM,EACNC,UAAWA,IACXC,0BAEF,CACER,UAAW,SACXnN,KAAM,SACNyN,MAAM,EACNC,UAAWA,IACXC,0BAEF,CACER,UAAW,SACXnN,KAAM,UACNoN,UAAWmoB,GACXC,gBAAiB,CACflE,uBAAwBQ,EAAiBR,uBACzCC,yBAA0BO,EAAiBP,0BAE7CjwB,QAAS,mBACTm0B,cAAe,mBACftwB,MAAO,CACLuS,SAAU,WAKVge,EAAoB,CACxBC,QAAQ,EACRC,UAAWjR,EACX2K,gBAAiBuG,EACjBC,YAAahE,EAAiBzL,YAAY0J,SAC1CgG,KAAMjE,EAAiBzL,YAAYyJ,YAErC,OACE,oCACE,kBAAC,qBAAD,CAAoBje,WAAYC,IAAkB4jB,KAC/C,YAAgD,IAA7CM,EAA4C,EAA5CA,gBAAiBC,EAA2B,EAA3BA,qBACnB,OACE,kBAAC,IAAD,CACE7R,UAAWG,EACXyR,gBAAiBA,GAEjB,kBAAC,IAAD,eACEjkB,eAAe,mBACfE,UAAU,EACV3Q,QAAQ,gDACR0Q,YAAU,EACVkkB,QAAM,EACNxkB,SAAS,KACTpO,KAAmB,OAAbshB,EAAoB,GAAKA,EAC/B1X,QAASA,EACTyE,cAAekkB,EACfM,cAAeC,YACbtE,EAAiBrB,gBAEnBgI,UAAWC,YAAa,CACtB9T,WACAqB,IAAK6L,EAAiB7L,IACtBuK,OAAQsB,EAAiBtB,UAEvByF,GAEJ,kBAAC,IAAD,CAAmBrR,SAAUA,IAC7B,kBAAC,IAAD,CAAuBA,SAAUA,UCnJ1C,SAASyR,KAEd,IAAMxE,EAAqB3B,IACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACL9L,IAAK4L,EAAmB5L,IACxBuK,OAAQqB,EAAmBrB,OAC3BgB,0BAA2BK,EAAmBL,0BAC9CC,yBAA0BI,EAAmBJ,yBAC7CC,gCACEG,EAAmBH,mCAEtB,CAACG,IAEJ,OACE,yBAAK9wB,UAAU,QACb,yBAAKA,UAAU,4EACb,yBAAKA,UAAU,aACb,yBAAKA,UAAU,gCACb,yBAAKA,UAAU,iCACb,2BAAOA,UAAU,yBACf,yDAC0B,2BAAI+wB,EAAiB7L,IAAIrc,WAIvD,6BACE,4BACE9F,KAAK,SACL/C,UAAU,iDACVyM,QAASskB,EAAiBN,2BAE1B,uBAAGzwB,UAAU,gBALf,eADF,YCXL,SAASu1B,KACd,IAAMzE,EAAqB3B,IACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACL9L,IAAK4L,EAAmB5L,IACxBoL,uBAAwBQ,EAAmBR,0BAE5C,CAACQ,IAEJ,OACE,kBAAC,IAAD,KACE,kBAAC,IAAD,CAAY1R,MAAM,2BAChB,kBAAC,IAAD,KACE,4BACErc,KAAK,SACL/C,UAAU,yCAFZ,WAMA,4BACE+C,KAAK,SACL/C,UAAU,yCAFZ,UAMA,4BACE+C,KAAK,SACL/C,UAAU,yCAFZ,eAQJ,kBAAC,IAAD,KACE,kBAACqyB,EAAD,MACCtB,EAAiB7L,IAAIrc,OAAS,GAAK,kBAACysB,GAAD,MACpC,kBAAChB,GAAD,QC3CD,SAASyN,GAAT,GAA+C,IAAZtM,EAAW,EAAXA,QAClClG,EAAoB,CACxBe,uBAAwB,WACtBmF,EAAQ3sB,KAAK,iCAEfynB,uBAAwB,SAACnwB,GACvBq1B,EAAQ3sB,KAAR,mCAAyC1I,EAAzC,WAEFowB,yBAA0B,SAACpwB,GACzBq1B,EAAQ3sB,KAAR,mCAAyC1I,EAAzC,aAEFqwB,0BAA2B,WACzBgF,EAAQ3sB,KAAR,6CAEF4nB,yBAA0B,WACxB+E,EAAQ3sB,KAAR,mCAEF6nB,gCAAiC,WAC/B8E,EAAQ3sB,KAAK,2CAIjB,OACE,kBAACwmB,EAAD,CAAqBC,kBAAmBA,GACtC,kBAACnM,EAAD,MACA,kBAAC,IAAD,CAAOnV,KAAK,iCACT,gBAAGwnB,EAAH,EAAGA,QAAS1pB,EAAZ,EAAYA,MAAZ,OACC,kBAAC8kB,EAAD,CACEzf,KAAe,MAATrF,EACNsF,OAAQ,WACNokB,EAAQ3sB,KAAK,kCAKrB,kBAAC,IAAD,CAAOmF,KAAK,sCACT,gBAAGwnB,EAAH,EAAGA,QAAS1pB,EAAZ,EAAYA,MAAZ,OACC,kBAAC8kB,EAAD,CACEzf,KAAe,MAATrF,EACN3L,GAAI2L,GAASA,EAAM2pB,OAAOt1B,GAC1BiR,OAAQ,WACNokB,EAAQ3sB,KAAK,kCAKrB,kBAAC,IAAD,CAAOmF,KAAK,6CACT,gBAAGwnB,EAAH,EAAGA,QAAS1pB,EAAZ,EAAYA,MAAZ,OACC,kBAAColB,EAAD,CACE/f,KAAe,MAATrF,EACNsF,OAAQ,WACNokB,EAAQ3sB,KAAK,kCAKrB,kBAAC,IAAD,CAAOmF,KAAK,wCACT,gBAAGwnB,EAAH,EAAGA,QAAS1pB,EAAZ,EAAYA,MAAZ,OACC,kBAACmlB,EAAD,CACE9f,KAAe,MAATrF,EACN3L,GAAI2L,GAASA,EAAM2pB,OAAOt1B,GAC1BiR,OAAQ,WACNokB,EAAQ3sB,KAAK,kCAKrB,kBAAC,IAAD,CAAOmF,KAAK,mCACT,gBAAGwnB,EAAH,EAAGA,QAAS1pB,EAAZ,EAAYA,MAAZ,OACC,kBAACulB,EAAD,CACElgB,KAAe,MAATrF,EACNsF,OAAQ,WACNokB,EAAQ3sB,KAAK,kCAKrB,kBAAC,IAAD,CAAOmF,KAAK,0CACT,gBAAGwnB,EAAH,EAAGA,QAAS1pB,EAAZ,EAAYA,MAAZ,OACC,kBAACwlB,EAAD,CACEngB,KAAe,MAATrF,EACNsF,OAAQ,WACNokB,EAAQ3sB,KAAK,kCAKrB,kBAACysB,GAAD,OAlGN,oC,6ECIO,SAASnS,IAEd,IAAQC,EAAcC,aACpB,SAAChE,GAAD,MAAY,CAAE+D,UAAW/D,EAAMiE,UAAUC,eACzCC,KAFMJ,UAMR,OADAvP,qBAAU,cAAU,CAACuP,IACd,kBAAC,IAAD,CAAeA,UAAWA,EAAWpkB,KAAK,gB,6BCVtCykB,EAAgB,qB,YCAvBC,EAAwB,CAC5BH,aAAa,EACbjC,gBAAgB,EAChBqC,WAAY,EACZC,SAAU,KACVC,qBAAiBhe,EACjBie,UAAW,MAEAC,EACL,OADKA,EAEH,SCTHC,EDYuBC,YAAY,CACxCle,KAAM,YACNme,aAAcR,EACdS,SAAU,CACRC,WAAY,SAAC/E,EAAOgF,GAClBhF,EAAM/U,MAAN,UAAiB+Z,EAAOvhB,KAAxB,aAAiCuhB,EAAOC,QAAQha,OAC5C+Z,EAAOC,QAAQC,WAAaR,EAC9B1E,EAAMkE,aAAc,EAEpBlE,EAAMiC,gBAAiB,GAG3BkD,UAAW,SAACnF,EAAOgF,GACjBhF,EAAM/U,MAAQ,KACV+Z,EAAOC,QAAQC,WAAaR,EAC9B1E,EAAMkE,aAAc,EAEpBlE,EAAMiC,gBAAiB,GAI3BmD,gBAAiB,SAACpF,EAAOgF,GACvBhF,EAAMiC,gBAAiB,EACvBjC,EAAMwE,gBAAkBQ,EAAOC,QAAQT,gBACvCxE,EAAM/U,MAAQ,MAGhBoa,iBAAkB,SAACrF,EAAOgF,GACxB,MAAiCA,EAAOC,QAAhCX,EAAR,EAAQA,WAAYC,EAApB,EAAoBA,SACpBvE,EAAMkE,aAAc,EACpBlE,EAAM/U,MAAQ,KACd+U,EAAMuE,SAAWA,EACjBvE,EAAMsE,WAAaA,GAGrBgB,gBAAiB,SAACtF,EAAOgF,GACvBhF,EAAMiC,gBAAiB,EACvBjC,EAAM/U,MAAQ,KACd+U,EAAMuE,SAAS/a,KAAKwb,EAAOC,QAAQjD,WAGrCuD,gBAAiB,SAACvF,EAAOgF,GACvBhF,EAAM/U,MAAQ,KACd+U,EAAMiC,gBAAiB,EACvBjC,EAAMuE,SAAWvE,EAAMuE,SAAS9f,KAAI,SAAA+gB,GAClC,OAAIA,EAAO1kB,KAAOkkB,EAAOC,QAAQjD,SAASlhB,GACjCkkB,EAAOC,QAAQjD,SAEjBwD,MAIXC,gBAAiB,SAACzF,EAAOgF,GACvBhF,EAAM/U,MAAQ,KACd+U,EAAMiC,gBAAiB,EACvBjC,EAAMuE,SAAWvE,EAAMuE,SAAStU,QAAO,SAAAyV,GAAE,OAAIA,EAAG5kB,KAAOkkB,EAAOC,QAAQnkB,OAGxE6kB,iBAAkB,SAAC3F,EAAOgF,GACxBhF,EAAM/U,MAAQ,KACd+U,EAAMiC,gBAAiB,EACvBjC,EAAMuE,SAAWvE,EAAMuE,SAAStU,QAC9B,SAAAyV,GAAE,OAAKV,EAAOC,QAAQW,IAAIvV,SAASqV,EAAG5kB,QAI1C+kB,uBAAwB,SAAC7F,EAAOgF,GAC9BhF,EAAMiC,gBAAiB,EACvBjC,EAAM/U,MAAQ,KACd,MAAwB+Z,EAAOC,QAAvBW,EAAR,EAAQA,IAAKnQ,EAAb,EAAaA,OACbuK,EAAMuE,SAAWvE,EAAMuE,SAAS9f,KAAI,SAAA+gB,GAIlC,OAHII,EAAIE,WAAU,SAAAhlB,GAAE,OAAIA,IAAO0kB,EAAO1kB,OAAO,IAC3C0kB,EAAO/P,OAASA,GAEX+P,SCtFRb,QAEMoB,EAAiB,SAAAC,GAAW,OAAI,SAAAC,GAE3C,OADAA,EAAStB,EAAQQ,UAAU,CAAED,SAAUR,KFclC,SAAuBsB,GAC5B,OAAOhD,IAAMkD,KAAN,UAAc9B,EAAd,SAAoC,CAAE4B,gBEdtCG,CACUH,GACd1Q,MAAK,SAAAC,GACJ,MAAiCA,EAAStS,KAAlCqhB,EAAR,EAAQA,WAAYC,EAApB,EAAoBA,SACpB0B,EAAStB,EAAQU,iBAAiB,CAAEf,aAAYC,iBAEjD1O,OAAM,SAAA5K,GACLA,EAAMmb,cAAgB,uBACtBH,EAAStB,EAAQI,WAAW,CAAE9Z,QAAOia,SAAUR,UAIxC2B,EAAgB,SAAAvlB,GAAE,OAAI,SAAAmlB,GACjC,OAAKnlB,GAILmlB,EAAStB,EAAQQ,UAAU,CAAED,SAAUR,MFVT4B,EEYXxlB,EFXZkiB,IAAM3M,IAAN,UAAa+N,EAAb,YAA8BkC,KEYlChR,MAAK,SAAAC,GACJ,IAAMyM,EAAWzM,EAAStS,KAC1BgjB,EAAStB,EAAQS,gBAAgB,CAAEZ,gBAAiBxC,QAErDnM,OAAM,SAAA5K,GACLA,EAAMmb,cAAgB,sBACtBH,EAAStB,EAAQI,WAAW,CAAE9Z,QAAOia,SAAUR,SAZ1CuB,EAAStB,EAAQS,gBAAgB,CAAEZ,qBAAiBhe,KFPxD,IAAyB8f,IEuBnBC,EAAiB,SAAAzlB,GAAE,OAAI,SAAAmlB,GAElC,OADAA,EAAStB,EAAQQ,UAAU,CAAED,SAAUR,MFAV4B,EEEXxlB,EFDXkiB,IAAMwD,OAAN,UAAgBpC,EAAhB,YAAiCkC,KEErChR,MAAK,SAAAC,GACJ0Q,EAAStB,EAAQc,gBAAgB,CAAE3kB,WAEpC+U,OAAM,SAAA5K,GACLA,EAAMmb,cAAgB,wBACtBH,EAAStB,EAAQI,WAAW,CAAE9Z,QAAOia,SAAUR,QFR9C,IAAwB4B,IEYlBG,EAAiB,SAAAC,GAAmB,OAAI,SAAAT,GAEnD,OADAA,EAAStB,EAAQQ,UAAU,CAAED,SAAUR,MF9CV1C,EEgDX0E,EF/CX1D,IAAMkD,KAAK9B,EAAe,CAAEpC,cEgDhC1M,MAAK,SAAAC,GACJ,IAAQyM,EAAazM,EAAStS,KAAtB+e,SACRiE,EAAStB,EAAQW,gBAAgB,CAAEtD,iBAEpCnM,OAAM,SAAA5K,GACLA,EAAMmb,cAAgB,wBACtBH,EAAStB,EAAQI,WAAW,CAAE9Z,QAAOia,SAAUR,QFvD9C,IAAwB1C,IE2DlB2E,EAAiB,SAAA3E,GAAQ,OAAI,SAAAiE,GAExC,OADAA,EAAStB,EAAQQ,UAAU,CAAED,SAAUR,KFxClC,SAAwB1C,GAC7B,OAAOgB,IAAM4D,IAAN,UAAaxC,EAAb,YAA8BpC,EAASlhB,IAAM,CAAEkhB,aEwC/CmE,CACWnE,GACf1M,MAAK,WACJ2Q,EAAStB,EAAQY,gBAAgB,CAAEvD,iBAEpCnM,OAAM,SAAA5K,GACLA,EAAMmb,cAAgB,wBACtBH,EAAStB,EAAQI,WAAW,CAAE9Z,QAAOia,SAAUR,UAIxCmC,EAAwB,SAACjB,EAAKnQ,GAAN,OAAiB,SAAAwQ,GAEpD,OADAA,EAAStB,EAAQQ,UAAU,CAAED,SAAUR,KFhDlC,SAAkCkB,EAAKnQ,GAC5C,OAAOuN,IAAMkD,KAAN,UAAc9B,EAAd,6BAAwD,CAC7DwB,MACAnQ,WE8CK0Q,CACqBP,EAAKnQ,GAC9BH,MAAK,WACJ2Q,EAAStB,EAAQkB,uBAAuB,CAAED,MAAKnQ,eAEhDI,OAAM,SAAA5K,GACLA,EAAMmb,cAAgB,gCACtBH,EAAStB,EAAQI,WAAW,CAAE9Z,QAAOia,SAAUR,UAIxCoC,EAAkB,SAAAlB,GAAG,OAAI,SAAAK,GAEpC,OADAA,EAAStB,EAAQQ,UAAU,CAAED,SAAUR,KFhDlC,SAAyBkB,GAC9B,OAAO5C,IAAMkD,KAAN,UAAc9B,EAAd,oBAA+C,CAAEwB,QEgDjDO,CACYP,GAChBtQ,MAAK,WACJ2Q,EAAStB,EAAQgB,iBAAiB,CAAEC,YAErC/P,OAAM,SAAA5K,GACLA,EAAMmb,cAAgB,yBACtBH,EAAStB,EAAQI,WAAW,CAAE9Z,QAAOia,SAAUR,U,OC9F9C,SAASqC,EAAT,GAA2C,IAAPjmB,EAAM,EAANA,GAEzC,EAA4CkjB,aAC1C,SAAChE,GAAD,MAAY,CACVwE,gBAAiBxE,EAAMiE,UAAUO,gBACjCvC,eAAgBjC,EAAMiE,UAAUhC,kBAElCkC,KALMK,EAAR,EAAQA,gBAAiBvC,EAAzB,EAAyBA,eAQzB,EAA0BvU,mBAAS,IAAnC,mBAAOoS,EAAP,KAAckH,EAAd,KAYA,OAVAxS,qBAAU,WACR,IAAIyS,EAASnmB,EAAK,GAAK,gBACnB0jB,GAAmB1jB,IACrBmmB,EAAM,0BAAsBzC,EAAgB7F,YAAtC,MAGRqI,EAASC,KAER,CAACzC,EAAiBvC,IAGnB,oCACGA,GAAkB,kBAAC,IAAD,MACnB,kBAACkF,EAAA,EAAMlV,OAAP,CAAcmV,aAAW,GACvB,kBAACD,EAAA,EAAM9U,MAAP,CAAavR,GAAG,gCAAgCgf,K,2CCKlD9H,EAAYrB,aAAW,SAAAC,GAAK,MAAK,CACrC0V,UAAW,CACTzE,QAAS,OACTG,SAAU,QAEZuE,UAAW,CACTzU,WAAYlB,EAAMK,QAAQ,GAC1BW,YAAahB,EAAMK,QAAQ,IAE7B4hB,MAAO,CACL7hB,UAAWJ,EAAMK,QAAQ,IAE3B6hB,KAAM,CACJhiB,MAAO,SAIJ,SAASgL,EAAT,GAKH,IAJFC,EAIC,EAJDA,aACAC,EAGC,EAHDA,SACAC,EAEC,EAFDA,eACAlQ,EACC,EADDA,OAEM9Q,EAAU+W,IAChB,EAA4BoT,IAAM1d,SAAS,CACzChH,KAAM,GACN07B,IAAK,GACLC,UAAW,aACXC,SAAU,QAJZ,6BAMA9tB,qBAAU,WACoB,MAAxBwN,EAASrD,cACXzf,SAASsR,eAAe,6BAA6B3Q,MAAQmiB,EAASrD,eAEvE,CAACqD,IAIJ,OACE,oCACE,kBAAC,IAAD,CACEiB,oBAAoB,EACpBC,cAAelB,EAEfoB,SAAU,SAACxb,GACTma,EAAana,MAGd,gBAAG6b,EAAH,EAAGA,aAAc7P,EAAjB,EAAiBA,cAAjB,OACC,oCACE,kBAACuT,EAAA,EAAMhV,KAAP,CAAYzR,UAAU,yBACnBuhB,GACC,yBAAKvhB,UAAU,gCACb,yBAAKA,UAAU,wCAGnB,kBAAC,IAAD,CAAMA,UAAU,yBACd,yBAAKA,UAAU,kBACb,yBAAKA,UAAU,aACb,kBAAC+oB,EAAA,EAAD,CACE3oB,GAAG,4BACHgP,YAAY,cACZpJ,KAAK,cACLqJ,SAAU,SAAC4E,GACTf,EAAc,cAAee,EAAMrE,OAAOzQ,QAE5CwiC,WAAS,EACT1mB,KAAK,IACLuG,aAAa,GACbxhB,UAAWO,EAAQsrB,UACnB7U,OAAO,SACP2c,QAAQ,iBAMlB,kBAAClN,EAAA,EAAM/U,OAAP,KACE,4BACE3O,KAAK,SACL0J,QAAS4E,EACTrR,UAAU,6BAHZ,UAOA,yCACA,4BACE+C,KAAK,SACL0J,QAAS,kBAAMsW,KACf/iB,UAAU,+BAHZ,c,YC1HDsuB,EAA2B,CAAC,SAAU,UAAW,OAAQ,IAIzD1d,EAAgB,CAAC,CAAExE,UAAW,KAAMyE,MAAO,SAC3C0d,EAAkB,CAC7B,CAAEtvB,KAAM,IAAKE,MAAO,GACpB,CAAEF,KAAM,IAAKE,MAAO,GACpB,CAAEF,KAAM,KAAME,MAAO,KAEVqvB,EAAgB,CAC3Bjf,OAAQ,CACNkf,SAAU,GACVC,UAAW,GACXC,MAAO,GACPC,UAAW,IAEbC,UAAW,MACXC,UAAW,KACXC,WAAY,EACZC,SAAU,IChBNC,EAAqBC,0BAEpB,SAASC,IACd,OAAOC,qBAAWH,GAGeA,EAAmBI,SAE/C,SAASC,EAAT,GAA6D,IAA/BC,EAA8B,EAA9BA,kBAAmB7G,EAAW,EAAXA,SACtD,EAA0C1b,mBAASwhB,GAAnD,mBAAOlJ,EAAP,KAAoBkK,EAApB,KACA,EAAsBxiB,mBAAS,IAA/B,mBAAOkY,EAAP,KAAYuK,EAAZ,KACMC,EAAiBC,uBAAY,SAAAC,GACjCJ,GAAmB,SAAAK,GAKjB,OAJIC,qBAAWF,KACbA,EAAkBA,EAAgBC,IAGhCE,kBAAQF,EAAiBD,GACpBC,EAGFD,OAER,IAeGzwB,EAAQ,CACZmmB,cACAkK,qBACAtK,MACAuK,SACAC,iBACAM,aAnBmB,CACnB5vB,QAAI0F,EACJ4oB,UAAW,GACXD,SAAU,GACVE,MAAO,GACPwB,SAAU,GACVC,OAAQ,SACRrb,OAAQ,EACRsb,aAAc,GACdzB,UAAW,GACX7rB,KAAM,GAUNutB,uBAAwBf,EAAkBe,uBAC1CC,uBAAwBhB,EAAkBgB,uBAC1CC,yBAA0BjB,EAAkBiB,yBAC5CC,0BAA2BlB,EAAkBkB,0BAC7CC,yBAA0BnB,EAAkBmB,yBAC5CC,gCAAiCpB,EAAkBoB,iCAGrD,OAAO,kBAAC1B,EAAmB2B,SAApB,CAA6BzxB,MAAOA,GAAQupB,GCjD9C,SAASmI,EAAT,GAAmD,IAArBzwB,EAAoB,EAApBA,GAAIgR,EAAgB,EAAhBA,KAAMC,EAAU,EAAVA,OAEvCyf,EAAqB3B,IACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACLhB,aAAcc,EAAmBd,gBAElC,CAACc,IAGEvL,EAAW0L,cACjB,EAA4C3N,aAC1C,SAAChE,GAAD,MAAY,CACViC,eAAgBjC,EAAMiE,UAAUhC,eAChCuC,gBAAiBxE,EAAMiE,UAAUO,mBAEnCL,KALMlC,EAAR,EAAQA,eAAgBuC,EAAxB,EAAwBA,gBAQxBhQ,qBAAU,WAERyR,EAAStB,EAAsB7jB,MAC9B,CAACA,EAAImlB,IAaR,OACE,kBAACkB,EAAA,EAAD,CACEtV,KAAK,KACLC,KAAMA,EACNC,OAAQA,EACRC,kBAAgB,gCAEhB,kBAAC+U,EAAD,CAA0BjmB,GAAIA,IAC9B,kBAACghB,EAAD,CACEC,aAnBe,SAACC,GACflhB,EAKHmlB,EAAStB,EAAuB3C,IAAW1M,MAAK,kBAAMvD,OAHtDkU,EAAStB,EAAuB3C,IAAW1M,MAAK,kBAAMvD,QAiBpDkQ,eAAgBA,EAChBD,SAAUwC,GAAmBiN,EAAiBf,aAC9C3e,OAAQA,KChDT,SAAS6f,EAAT,GAAqD,IAArB9wB,EAAoB,EAApBA,GAAIgR,EAAgB,EAAhBA,KAAMC,EAAU,EAAVA,OAEzCyf,EAAqB3B,IACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACLvB,OAAQqB,EAAmBrB,OAC3BnK,YAAawL,EAAmBxL,eAEjC,CAACwL,IAGEvL,EAAW0L,cACT5N,EAAcC,aACpB,SAAChE,GAAD,MAAY,CAAE+D,UAAW/D,EAAMiE,UAAUhC,kBACzCkC,KAFMJ,UAMRvP,qBAAU,WACH1T,GACHiR,MAGD,CAACjR,IAGJ0T,qBAAU,cAAU,CAACuP,EAAWkC,IAchC,OACE,kBAACkB,EAAA,EAAD,CACErV,KAAMA,EACNC,OAAQA,EACRC,kBAAgB,gCAGf+R,GAAa,kBAAC,IAAD,MAEd,kBAACoD,EAAA,EAAMlV,OAAP,CAAcmV,aAAW,GACvB,kBAACD,EAAA,EAAM9U,MAAP,CAAavR,GAAG,gCAAhB,qBAIF,kBAACqmB,EAAA,EAAMhV,KAAP,MACI4R,GACA,qFAEDA,GAAa,4DAEhB,kBAACoD,EAAA,EAAM/U,OAAP,KACE,6BACE,4BACE3O,KAAK,SACL0J,QAAS4E,EACTrR,UAAU,6BAHZ,UAOA,yCACA,4BACE+C,KAAK,SACL0J,QA5Ca,WAErB8Y,EAAStB,EAAuB7jB,IAAKwU,MAAK,WAExC2Q,EAAStB,EAAuB8M,EAAiBzL,cAEjDyL,EAAiBtB,OAAO,IAExBpe,QAqCMrR,UAAU,+BAHZ,aCtEH,SAASmxB,EAAT,GAAkD,IAAjB/f,EAAgB,EAAhBA,KAAMC,EAAU,EAAVA,OAEtCyf,EAAqB3B,IACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACL9L,IAAK4L,EAAmB5L,IACxBuK,OAAQqB,EAAmBrB,OAC3BnK,YAAawL,EAAmBxL,eAEjC,CAACwL,IAGEvL,EAAW0L,cACT5N,EAAcC,aACpB,SAAChE,GAAD,MAAY,CAAE+D,UAAW/D,EAAMiE,UAAUhC,kBACzCkC,KAFMJ,UAMRvP,qBAAU,WACHid,EAAiB7L,KAAuC,IAAhC6L,EAAiB7L,IAAIrc,QAChDwI,MAGD,CAAC0f,EAAiB7L,MAGrBpR,qBAAU,cAAU,CAACuP,EAAWkC,IAiBhC,OACE,kBAACkB,EAAA,EAAD,CACErV,KAAMA,EACNC,OAAQA,EACRC,kBAAgB,gCAGf+R,GAAa,kBAAC,IAAD,MAEd,kBAACoD,EAAA,EAAMlV,OAAP,CAAcmV,aAAW,GACvB,kBAACD,EAAA,EAAM9U,MAAP,CAAavR,GAAG,gCAAhB,qBAIF,kBAACqmB,EAAA,EAAMhV,KAAP,MACI4R,GACA,wFAEDA,GAAa,2DAEhB,kBAACoD,EAAA,EAAM/U,OAAP,KACE,6BACE,4BACE3O,KAAK,SACL0J,QAAS4E,EACTrR,UAAU,6BAHZ,UAOA,yCACA,4BACE+C,KAAK,SACL0J,QA/Cc,WAEtB8Y,EAAStB,EAAwB8M,EAAiB7L,MAAMtQ,MAAK,WAE3D2Q,EAAStB,EAAuB8M,EAAiBzL,cAAc1Q,MAC7D,WAEEmc,EAAiBtB,OAAO,IAExBpe,WAuCErR,UAAU,+BAHZ,aC3EV,IAAMoxB,EAAoB,SAACvN,EAAUqB,GACnC,IAAMmM,EAAa,GAOnB,OANAnM,EAAIhkB,SAAQ,SAACd,GACX,IAAMkhB,EAAWuC,EAASV,MAAK,SAAC6B,GAAD,OAAQA,EAAG5kB,KAAOA,KAC7CkhB,GACF+P,EAAWvoB,KAAKwY,MAGb+P,GAGF,SAASC,EAAT,GAAiD,IAAjBlgB,EAAgB,EAAhBA,KAAMC,EAAU,EAAVA,OAErCyf,EAAqB3B,IACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACL9L,IAAK4L,EAAmB5L,OAEzB,CAAC4L,IAGIvN,EAAcD,aACpB,SAAChE,GAAD,MAAY,CACViE,UAAW6N,EACT9R,EAAMiE,UAAUM,SAChBkN,EAAiB7L,QAGrBzB,KAPMF,UAkBR,OAPAzP,qBAAU,WACHid,EAAiB7L,KAAuC,IAAhC6L,EAAiB7L,IAAIrc,QAChDwI,MAGD,CAAC0f,EAAiB7L,MAGnB,kBAACuB,EAAA,EAAD,CACErV,KAAMA,EACNC,OAAQA,EACRC,kBAAgB,gCAEhB,kBAACmV,EAAA,EAAMlV,OAAP,CAAcmV,aAAW,GACvB,kBAACD,EAAA,EAAM9U,MAAP,CAAavR,GAAG,gCAAhB,4BAIF,kBAACqmB,EAAA,EAAMhV,KAAP,KACE,yBAAKzR,UAAU,4BACZujB,EAAUxf,KAAI,SAACud,GAAD,OACb,yBAAKthB,UAAU,kCAAkCsH,IAAG,YAAOga,EAASlhB,KAClE,yBAAKJ,UAAU,gFACf,yBAAKA,UAAU,kBACb,uBACEA,UAAS,gCACPsuB,EAAyBhN,EAASvM,QAD3B,gBAKb,yBAAK/U,UAAU,sCACb,0BACIA,UAAS,qCACPsuB,EAAyBhN,EAASvM,QAD3B,kBADb,OAKSuM,EAASlhB,IAElB,0BAAMJ,UAAU,QAAQshB,EAASmN,SAAjC,KAA6CnN,EAASoN,kBAMhE,kBAACjI,EAAA,EAAM/U,OAAP,KACE,6BACE,4BACE3O,KAAK,SACL0J,QAAS4E,EACTrR,UAAU,6BAHZ,UAOA,yCACA,4BACE+C,KAAK,SACL0J,QAAS4E,EACTrR,UAAU,+BAHZ,SCrFV,IAAMoxB,EAAoB,SAACvN,EAAUqB,GACnC,IAAMmM,EAAa,GAOnB,OANAnM,EAAIhkB,SAAQ,SAACd,GACX,IAAMkhB,EAAWuC,EAASV,MAAK,SAAC6B,GAAD,OAAQA,EAAG5kB,KAAOA,KAC7CkhB,GACF+P,EAAWvoB,KAAKwY,MAGb+P,GAGF,SAASE,EAAT,GAAuD,IAAjBngB,EAAgB,EAAhBA,KAAMC,EAAU,EAAVA,OAE3Cyf,EAAqB3B,IACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACL9L,IAAK4L,EAAmB5L,IACxBuK,OAAQqB,EAAmBrB,OAC3BnK,YAAawL,EAAmBxL,eAEjC,CAACwL,IAGJ,EAAiCxN,aAC/B,SAAChE,GAAD,MAAY,CACViE,UAAW6N,EACT9R,EAAMiE,UAAUM,SAChBkN,EAAiB7L,KAEnB7B,UAAW/D,EAAMiE,UAAUhC,kBAE7BkC,KARMF,EAAR,EAAQA,UAAWF,EAAnB,EAAmBA,UAYnBvP,qBAAU,WACHid,EAAiB7L,KAAuC,IAAhC6L,EAAiB7L,IAAIrc,QAChDwI,MAGD,CAAC0f,EAAiB7L,MAErB,MAA4BlY,mBAAS,GAArC,mBAAO+H,EAAP,KAAeyc,EAAf,KAEMjM,EAAW0L,cAkBjB,OACE,kBAACxK,EAAA,EAAD,CACErV,KAAMA,EACNC,OAAQA,EACRC,kBAAgB,gCAEhB,kBAACmV,EAAA,EAAMlV,OAAP,CAAcmV,aAAW,GACvB,kBAACD,EAAA,EAAM9U,MAAP,CAAavR,GAAG,gCAAhB,8CAIF,kBAACqmB,EAAA,EAAMhV,KAAP,CAAYzR,UAAU,yBAEnBqjB,GACC,yBAAKrjB,UAAU,iBACb,yBAAKA,UAAU,wCAKnB,yBAAKA,UAAU,4BACZujB,EAAUxf,KAAI,SAACud,GAAD,OACb,yBACEthB,UAAU,kCACVsH,IAAG,yBAAoBga,EAASlhB,KAEhC,yBAAKJ,UAAU,gFACf,yBAAKA,UAAU,kBACb,uBACEA,UAAS,gCACPsuB,EAAyBhN,EAASvM,QAD3B,gBAKb,yBAAK/U,UAAU,sCACb,0BACEA,UAAS,qCACPsuB,EAAyBhN,EAASvM,QAD3B,kBADX,OAKOuM,EAASlhB,IAEhB,0BAAMJ,UAAU,QACbshB,EAASmN,SADZ,KACwBnN,EAASoN,kBAO3C,kBAACjI,EAAA,EAAM/U,OAAP,CAAc1R,UAAU,QACtB,yBAAKA,UAAU,cACb,4BACEA,UAAU,eACVb,MAAO4V,EACP1F,SAAU,SAACC,GAAD,OAAOkiB,GAAWliB,EAAEM,OAAOzQ,SAErC,4BAAQA,MAAM,KAAd,YACA,4BAAQA,MAAM,KAAd,YAGJ,yBAAKa,UAAU,cACb,4BACE+C,KAAK,SACL0J,QAAS4E,EACTrR,UAAU,kCAHZ,UAOA,4BACE+C,KAAK,SACL0J,QAxFW,WAEnB8Y,EAAStB,EAA8B8M,EAAiB7L,IAAKnQ,IAASH,MACpE,WAEE2Q,EAAStB,EAAuB8M,EAAiBzL,cAAc1Q,MAC7D,WAEEmc,EAAiBtB,OAAO,IAExBpe,WA+EArR,UAAU,+BAHZ,oBCnHH,SAASqyB,EAAT,GAA0C,EAAf7O,YAAgB,IAE1CsN,EAAqB3B,IACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACL1L,YAAawL,EAAmBxL,YAChCoK,eAAgBoB,EAAmBpB,kBAEpC,CAACoB,IAGE0B,EAAc,SAACtrB,GACnB,IAAMurB,EA/BY,SAACnN,EAAape,GAClC,IAAQ6N,EAA6B7N,EAA7B6N,OAAQhS,EAAqBmE,EAArBnE,KAAM2vB,EAAexrB,EAAfwrB,WAChBD,EAAc,eAAQnN,GACtB/V,EAAS,GAaf,OAXAA,EAAOwF,OAAoB,KAAXA,GAAiBA,OAASjP,EAE1CyJ,EAAOxM,KAAgB,KAATA,GAAeA,OAAO+C,EAEpCyJ,EAAOkf,SAAWiE,EACdA,IACFnjB,EAAOmf,UAAYgE,EACnBnjB,EAAOof,MAAQ+D,EACfnjB,EAAOqf,UAAY8D,GAErBD,EAAeljB,OAASA,EACjBkjB,EAekBG,CAAc7B,EAAiBzL,YAAape,GAC9D6oB,kBAAQ0C,EAAgB1B,EAAiBzL,eAC5CmN,EAAe1D,WAAa,EAE5BgC,EAAiBrB,eAAe+C,KAIpC,OACE,oCACE,kBAAC,IAAD,CACEjQ,cAAe,CACbzN,OAAQ,GACRhS,KAAM,GACN2vB,WAAY,IAEdhQ,SAAU,SAACxb,GACTsrB,EAAYtrB,MAGb,cACCA,OADD,IAEC6b,EAFD,EAECA,aAFD,EAGCqQ,WAHD,EAICC,aAJD,EAKCngB,cALD,OAOC,0BAAMwP,SAAUK,EAAc/iB,UAAU,8B,qECvD3C,SAASm0B,GACdC,EACA5sB,EACA6sB,EAHK,GAKJ,IADC9D,EACF,EADEA,uBAAwBC,EAC1B,EAD0BA,yBAE1B,OACE,oCACE,uBACEpR,MAAM,iBACNpf,UAAU,uDACVyM,QAAS,kBAAM8jB,EAAuB/oB,EAAIpH,MAE1C,0BAAMJ,UAAU,yCACd,kBAAC,KAAD,CACEwI,IAAKC,YAAc,gDAIzB,yCAEA,uBACE2W,MAAM,mBACNpf,UAAU,iDACVyM,QAAS,kBAAM+jB,EAAyBhpB,EAAIpH,MAE5C,0BAAMJ,UAAU,wCACd,kBAAC,KAAD,CAAKwI,IAAKC,YAAc,2CCX3B,SAAS6rB,KAEd,IAAMxD,EAAqB3B,IACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACL9L,IAAK4L,EAAmB5L,IACxBuK,OAAQqB,EAAmBrB,OAC3BnK,YAAawL,EAAmBxL,YAChCoK,eAAgBoB,EAAmBpB,eACnCa,uBAAwBO,EAAmBP,uBAC3CC,yBAA0BM,EAAmBN,4BAE9C,CAACM,IAGIyD,EAAiBjR,aACvB,SAAChE,GAAD,MAAY,CAAEiV,aAAcjV,EAAMiE,aAClCE,KAFM8Q,aAIA3Q,EAAsC2Q,EAAtC3Q,WAAYC,EAA0B0Q,EAA1B1Q,SAAUL,EAAgB+Q,EAAhB/Q,YAGxB+B,EAAW0L,cACjBnd,qBAAU,WAERid,EAAiBtB,OAAO,IAExBlK,EAAStB,EAAuB8M,EAAiBzL,gBAEhD,CAACyL,EAAiBzL,YAAaC,IAElC,IAAMpZ,EAAU,CACd,CACEC,UAAW,KACXnN,KAAM,KACNyN,MAAM,EACNC,UAAWA,IACXC,0BAEF,CACER,UAAW,cACXnN,KAAM,cACNyN,MAAM,EACNC,UAAWA,IACXC,0BAEF,CACER,UAAW,SACXnN,KAAM,UACNoN,UAAWmoB,GACXC,gBAAiB,CACflE,uBAAwBQ,EAAiBR,uBACzCC,yBAA0BO,EAAiBP,0BAE7CjwB,QAAS,mBACTm0B,cAAe,mBACftwB,MAAO,CACLuS,SAAU,WAKVge,EAAoB,CACxBC,QAAQ,EACRC,UAAWjR,EACX2K,gBAAiBuG,EACjBC,YAAahE,EAAiBzL,YAAY0J,SAC1CgG,KAAMjE,EAAiBzL,YAAYyJ,YAErC,OACE,oCACE,kBAAC,qBAAD,CAAoBje,WAAYC,IAAkB4jB,KAC/C,YAAgD,IAA7CM,EAA4C,EAA5CA,gBAAiBC,EAA2B,EAA3BA,qBACnB,OACE,kBAAC,IAAD,CACE7R,UAAWG,EACXyR,gBAAiBA,GAEjB,kBAAC,IAAD,eACEjkB,eAAe,mBACfE,UAAU,EACV3Q,QAAQ,gDACR0Q,YAAU,EACVkkB,QAAM,EACNxkB,SAAS,KACTpO,KAAmB,OAAbshB,EAAoB,GAAKA,EAC/B1X,QAASA,EACTyE,cAAekkB,EACfM,cAAeC,YACbtE,EAAiBrB,gBAEnBgI,UAAWC,YAAa,CACtB9T,WACAqB,IAAK6L,EAAiB7L,IACtBuK,OAAQsB,EAAiBtB,UAEvByF,GAEJ,kBAAC,IAAD,CAAmBrR,SAAUA,IAC7B,kBAAC,IAAD,CAAuBA,SAAUA,UCvH1C,SAASyR,KAEd,IAAMxE,EAAqB3B,IACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACL9L,IAAK4L,EAAmB5L,IACxBuK,OAAQqB,EAAmBrB,OAC3BgB,0BAA2BK,EAAmBL,0BAC9CC,yBAA0BI,EAAmBJ,yBAC7CC,gCACEG,EAAmBH,mCAEtB,CAACG,IAEJ,OACE,yBAAK9wB,UAAU,QACb,yBAAKA,UAAU,4EACb,yBAAKA,UAAU,aACb,yBAAKA,UAAU,gCACb,yBAAKA,UAAU,iCACb,2BAAOA,UAAU,yBACf,yDAC0B,2BAAI+wB,EAAiB7L,IAAIrc,WAIvD,6BACE,4BACE9F,KAAK,SACL/C,UAAU,iDACVyM,QAASskB,EAAiBN,2BAE1B,uBAAGzwB,UAAU,gBALf,eADF,YCXL,SAASu1B,KACd,IAAMzE,EAAqB3B,IACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACL9L,IAAK4L,EAAmB5L,IACxBoL,uBAAwBQ,EAAmBR,0BAE5C,CAACQ,IAEJ,OACE,kBAAC,IAAD,KACE,kBAAC,IAAD,CAAY1R,MAAM,qBAChB,kBAAC,IAAD,KACE,4BACErc,KAAK,SACL/C,UAAU,wCACVyM,QAASskB,EAAiBT,wBAH5B,SASJ,kBAAC,IAAD,KACE,kBAAC+B,EAAD,MACCtB,EAAiB7L,IAAIrc,OAAS,GAAK,kBAACysB,GAAD,MACpC,kBAAChB,GAAD,QChCD,SAAS0N,GAAT,GAAuC,IAAZvM,EAAW,EAAXA,QAC1BlG,EAAoB,CACxBe,uBAAwB,WACtBmF,EAAQ3sB,KAAK,yBAEfynB,uBAAwB,SAACnwB,GACvBq1B,EAAQ3sB,KAAR,2BAAiC1I,EAAjC,WAEFowB,yBAA0B,SAACpwB,GACzBq1B,EAAQ3sB,KAAR,2BAAiC1I,EAAjC,aAEFqwB,0BAA2B,WACzBgF,EAAQ3sB,KAAR,qCAEF4nB,yBAA0B,WACxB+E,EAAQ3sB,KAAR,2BAEF6nB,gCAAiC,WAC/B8E,EAAQ3sB,KAAK,mCAIjB,OACE,kBAACwmB,EAAD,CAAqBC,kBAAmBA,GACtC,kBAACnM,EAAD,MACA,kBAAC,IAAD,CAAOnV,KAAK,yBACT,gBAAGwnB,EAAH,EAAGA,QAAS1pB,EAAZ,EAAYA,MAAZ,OACC,kBAAC8kB,EAAD,CACEzf,KAAe,MAATrF,EACNsF,OAAQ,WACNokB,EAAQ3sB,KAAK,0BAKrB,kBAAC,IAAD,CAAOmF,KAAK,8BACT,gBAAGwnB,EAAH,EAAGA,QAAS1pB,EAAZ,EAAYA,MAAZ,OACC,kBAAC8kB,EAAD,CACEzf,KAAe,MAATrF,EACN3L,GAAI2L,GAASA,EAAM2pB,OAAOt1B,GAC1BiR,OAAQ,WACNokB,EAAQ3sB,KAAK,0BAKrB,kBAAC,IAAD,CAAOmF,KAAK,qCACT,gBAAGwnB,EAAH,EAAGA,QAAS1pB,EAAZ,EAAYA,MAAZ,OACC,kBAAColB,EAAD,CACE/f,KAAe,MAATrF,EACNsF,OAAQ,WACNokB,EAAQ3sB,KAAK,0BAKrB,kBAAC,IAAD,CAAOmF,KAAK,gCACT,gBAAGwnB,EAAH,EAAGA,QAAS1pB,EAAZ,EAAYA,MAAZ,OACC,kBAACmlB,EAAD,CACE9f,KAAe,MAATrF,EACN3L,GAAI2L,GAASA,EAAM2pB,OAAOt1B,GAC1BiR,OAAQ,WACNokB,EAAQ3sB,KAAK,0BAKrB,kBAAC,IAAD,CAAOmF,KAAK,2BACT,gBAAGwnB,EAAH,EAAGA,QAAS1pB,EAAZ,EAAYA,MAAZ,OACC,kBAACulB,EAAD,CACElgB,KAAe,MAATrF,EACNsF,OAAQ,WACNokB,EAAQ3sB,KAAK,0BAKrB,kBAAC,IAAD,CAAOmF,KAAK,kCACT,gBAAGwnB,EAAH,EAAGA,QAAS1pB,EAAZ,EAAYA,MAAZ,OACC,kBAACwlB,EAAD,CACEngB,KAAe,MAATrF,EACNsF,OAAQ,WACNokB,EAAQ3sB,KAAK,0BAKrB,kBAACysB,GAAD,OAlGN,oC,6ECIO,SAASnS,IAEd,IAAQC,EAAcC,aACpB,SAAChE,GAAD,MAAY,CAAE+D,UAAW/D,EAAMiE,UAAUC,eACzCC,KAFMJ,UAMR,OADAvP,qBAAU,cAAU,CAACuP,IACd,kBAAC,IAAD,CAAeA,UAAWA,EAAWpkB,KAAK,gB,6BCVtCykB,EAAgB,mB,YCAvBC,EAAwB,CAC5BH,aAAa,EACbjC,gBAAgB,EAChBqC,WAAY,EACZC,SAAU,KACVC,qBAAiBhe,EACjBie,UAAW,MAEAC,EACL,OADKA,EAEH,SCTHC,EDYuBC,YAAY,CACxCle,KAAM,YACNme,aAAcR,EACdS,SAAU,CACRC,WAAY,SAAC/E,EAAOgF,GAClBhF,EAAM/U,MAAN,UAAiB+Z,EAAOvhB,KAAxB,aAAiCuhB,EAAOC,QAAQha,OAC5C+Z,EAAOC,QAAQC,WAAaR,EAC9B1E,EAAMkE,aAAc,EAEpBlE,EAAMiC,gBAAiB,GAG3BkD,UAAW,SAACnF,EAAOgF,GACjBhF,EAAM/U,MAAQ,KACV+Z,EAAOC,QAAQC,WAAaR,EAC9B1E,EAAMkE,aAAc,EAEpBlE,EAAMiC,gBAAiB,GAI3BmD,gBAAiB,SAACpF,EAAOgF,GACvBhF,EAAMiC,gBAAiB,EACvBjC,EAAMwE,gBAAkBQ,EAAOC,QAAQT,gBACvCxE,EAAM/U,MAAQ,MAGhBoa,iBAAkB,SAACrF,EAAOgF,GACxB,MAAiCA,EAAOC,QAAhCX,EAAR,EAAQA,WAAYC,EAApB,EAAoBA,SACpBvE,EAAMkE,aAAc,EACpBlE,EAAM/U,MAAQ,KACd+U,EAAMuE,SAAWA,EACjBvE,EAAMsE,WAAaA,GAGrBgB,gBAAiB,SAACtF,EAAOgF,GACvBhF,EAAMiC,gBAAiB,EACvBjC,EAAM/U,MAAQ,KACd+U,EAAMuE,SAAS/a,KAAKwb,EAAOC,QAAQjD,WAGrCuD,gBAAiB,SAACvF,EAAOgF,GACvBhF,EAAM/U,MAAQ,KACd+U,EAAMiC,gBAAiB,EACvBjC,EAAMuE,SAAWvE,EAAMuE,SAAS9f,KAAI,SAAA+gB,GAClC,OAAIA,EAAO1kB,KAAOkkB,EAAOC,QAAQjD,SAASlhB,GACjCkkB,EAAOC,QAAQjD,SAEjBwD,MAIXC,gBAAiB,SAACzF,EAAOgF,GACvBhF,EAAM/U,MAAQ,KACd+U,EAAMiC,gBAAiB,EACvBjC,EAAMuE,SAAWvE,EAAMuE,SAAStU,QAAO,SAAAyV,GAAE,OAAIA,EAAG5kB,KAAOkkB,EAAOC,QAAQnkB,OAGxE6kB,iBAAkB,SAAC3F,EAAOgF,GACxBhF,EAAM/U,MAAQ,KACd+U,EAAMiC,gBAAiB,EACvBjC,EAAMuE,SAAWvE,EAAMuE,SAAStU,QAC9B,SAAAyV,GAAE,OAAKV,EAAOC,QAAQW,IAAIvV,SAASqV,EAAG5kB,QAI1C+kB,uBAAwB,SAAC7F,EAAOgF,GAC9BhF,EAAMiC,gBAAiB,EACvBjC,EAAM/U,MAAQ,KACd,MAAwB+Z,EAAOC,QAAvBW,EAAR,EAAQA,IAAKnQ,EAAb,EAAaA,OACbuK,EAAMuE,SAAWvE,EAAMuE,SAAS9f,KAAI,SAAA+gB,GAIlC,OAHII,EAAIE,WAAU,SAAAhlB,GAAE,OAAIA,IAAO0kB,EAAO1kB,OAAO,IAC3C0kB,EAAO/P,OAASA,GAEX+P,SCtFRb,QAEMoB,EAAiB,SAAAC,GAAW,OAAI,SAAAC,GAE3C,OADAA,EAAStB,EAAQQ,UAAU,CAAED,SAAUR,KFclC,SAAuBsB,GAC5B,OAAOhD,IAAMkD,KAAN,UAAc9B,EAAd,SAAoC,CAAE4B,gBEdtCG,CACUH,GACd1Q,MAAK,SAAAC,GACJ,MAAiCA,EAAStS,KAAlCqhB,EAAR,EAAQA,WAAYC,EAApB,EAAoBA,SACpB0B,EAAStB,EAAQU,iBAAiB,CAAEf,aAAYC,iBAEjD1O,OAAM,SAAA5K,GACLA,EAAMmb,cAAgB,0BACtBH,EAAStB,EAAQI,WAAW,CAAE9Z,QAAOia,SAAUR,UAIxC2B,EAAgB,SAAAvlB,GAAE,OAAI,SAAAmlB,GACjC,OAAKnlB,GAILmlB,EAAStB,EAAQQ,UAAU,CAAED,SAAUR,MFVT4B,EEYXxlB,EFXZkiB,IAAM3M,IAAN,UAAa+N,EAAb,YAA8BkC,KEYlChR,MAAK,SAAAC,GACJ,IAAMyM,EAAWzM,EAAStS,KAC1BgjB,EAAStB,EAAQS,gBAAgB,CAAEZ,gBAAiBxC,QAErDnM,OAAM,SAAA5K,GACLA,EAAMmb,cAAgB,0BACtBH,EAAStB,EAAQI,WAAW,CAAE9Z,QAAOia,SAAUR,SAZ1CuB,EAAStB,EAAQS,gBAAgB,CAAEZ,qBAAiBhe,KFPxD,IAAyB8f,IEuBnBC,EAAiB,SAAAzlB,GAAE,OAAI,SAAAmlB,GAElC,OADAA,EAAStB,EAAQQ,UAAU,CAAED,SAAUR,MFAV4B,EEEXxlB,EFDXkiB,IAAMwD,OAAN,UAAgBpC,EAAhB,YAAiCkC,KEErChR,MAAK,SAAAC,GACJ0Q,EAAStB,EAAQc,gBAAgB,CAAE3kB,WAEpC+U,OAAM,SAAA5K,GACLA,EAAMmb,cAAgB,4BACtBH,EAAStB,EAAQI,WAAW,CAAE9Z,QAAOia,SAAUR,QFR9C,IAAwB4B,IEYlBG,EAAiB,SAAAC,GAAmB,OAAI,SAAAT,GAEnD,OADAA,EAAStB,EAAQQ,UAAU,CAAED,SAAUR,MF9CV1C,EEgDX0E,EF/CX1D,IAAMkD,KAAK9B,EAAe,CAAEpC,cEgDhC1M,MAAK,SAAAC,GACJ,IAAQyM,EAAazM,EAAStS,KAAtB+e,SACRiE,EAAStB,EAAQW,gBAAgB,CAAEtD,iBAEpCnM,OAAM,SAAA5K,GACLA,EAAMmb,cAAgB,4BACtBH,EAAStB,EAAQI,WAAW,CAAE9Z,QAAOia,SAAUR,QFvD9C,IAAwB1C,IE2DlB2E,EAAiB,SAAA3E,GAAQ,OAAI,SAAAiE,GAExC,OADAA,EAAStB,EAAQQ,UAAU,CAAED,SAAUR,KFxClC,SAAwB1C,GAC7B,OAAOgB,IAAM4D,IAAN,UAAaxC,EAAb,YAA8BpC,EAASlhB,IAAM,CAAEkhB,aEwC/CmE,CACWnE,GACf1M,MAAK,WACJ2Q,EAAStB,EAAQY,gBAAgB,CAAEvD,iBAEpCnM,OAAM,SAAA5K,GACLA,EAAMmb,cAAgB,4BACtBH,EAAStB,EAAQI,WAAW,CAAE9Z,QAAOia,SAAUR,UAIxCmC,EAAwB,SAACjB,EAAKnQ,GAAN,OAAiB,SAAAwQ,GAEpD,OADAA,EAAStB,EAAQQ,UAAU,CAAED,SAAUR,KFhDlC,SAAkCkB,EAAKnQ,GAC5C,OAAOuN,IAAMkD,KAAN,UAAc9B,EAAd,6BAAwD,CAC7DwB,MACAnQ,WE8CK0Q,CACqBP,EAAKnQ,GAC9BH,MAAK,WACJ2Q,EAAStB,EAAQkB,uBAAuB,CAAED,MAAKnQ,eAEhDI,OAAM,SAAA5K,GACLA,EAAMmb,cAAgB,mCACtBH,EAAStB,EAAQI,WAAW,CAAE9Z,QAAOia,SAAUR,UAIxCoC,EAAkB,SAAAlB,GAAG,OAAI,SAAAK,GAEpC,OADAA,EAAStB,EAAQQ,UAAU,CAAED,SAAUR,KFhDlC,SAAyBkB,GAC9B,OAAO5C,IAAMkD,KAAN,UAAc9B,EAAd,oBAA+C,CAAEwB,QEgDjDO,CACYP,GAChBtQ,MAAK,WACJ2Q,EAAStB,EAAQgB,iBAAiB,CAAEC,YAErC/P,OAAM,SAAA5K,GACLA,EAAMmb,cAAgB,4BACtBH,EAAStB,EAAQI,WAAW,CAAE9Z,QAAOia,SAAUR,U,OC9F9C,SAASqC,EAAT,GAA2C,IAAPjmB,EAAM,EAANA,GAEzC,EAA4CkjB,aAC1C,SAAChE,GAAD,MAAY,CACVwE,gBAAiBxE,EAAMiE,UAAUO,gBACjCvC,eAAgBjC,EAAMiE,UAAUhC,kBAElCkC,KALMK,EAAR,EAAQA,gBAAiBvC,EAAzB,EAAyBA,eAQzB,EAA0BvU,mBAAS,IAAnC,mBAAOoS,EAAP,KAAckH,EAAd,KAYA,OAVAxS,qBAAU,WACR,IAAIyS,EAASnmB,EAAK,GAAK,mBACnB0jB,GAAmB1jB,IACrBmmB,EAAM,6BAAyBzC,EAAgBjgB,KAAzC,MAGRyiB,EAASC,KAER,CAACzC,EAAiBvC,IAGnB,oCACGA,GAAkB,kBAAC,IAAD,MACnB,kBAACkF,EAAA,EAAMlV,OAAP,CAAcmV,aAAW,GACvB,kBAACD,EAAA,EAAM9U,MAAP,CAAavR,GAAG,gCAAgCgf,K,0CClBlD9H,EAAYrB,aAAW,SAAAC,GAAK,MAAK,CACrC0V,UAAW,CACTzE,QAAS,OACTG,SAAU,QAEZuE,UAAW,CACTzU,WAAYlB,EAAMK,QAAQ,GAC1BW,YAAahB,EAAMK,QAAQ,IAE7B4hB,MAAO,CACL7hB,UAAWJ,EAAMK,QAAQ,IAE3B6hB,KAAM,CACJhiB,MAAO,SAIJ,SAASgL,EAAT,GAKH,IAYEH,EAhBJI,EAIC,EAJDA,aACAC,EAGC,EAHDA,SACAC,EAEC,EAFDA,eACAlQ,EACC,EADDA,OAGA,GADgBiG,IACYoT,IAAM1d,SAAS,CACzChH,KAAM,GACN07B,IAAK,GACLC,UAAW,aACXC,SAAU,SAJZ,6BAqBA,OATE3gB,OADkBnb,IAAhBwb,EAASlhB,GACU8gB,MAAaC,MAAM,CACtC8gB,MAAO/gB,MACJ4U,IAAI,EAAG,qBACPC,IAAI,GAAI,sBACRnjB,SAAS,sBAGOsO,MAAaC,MAAM,IAGxC,oCACE,kBAAC,IAAD,CACEoB,oBAAoB,EACpBC,cAAelB,EACfmB,iBAAkBxB,EAClByB,SAAU,SAACxb,GACTma,EAAana,MAGd,gBAAG6b,EAAH,EAAGA,aAAH,OACC,oCACE,kBAAC0D,EAAA,EAAMhV,KAAP,CAAYzR,UAAU,yBACnBuhB,GACC,yBAAKvhB,UAAU,gCACb,yBAAKA,UAAU,wCAGnB,kBAAC,IAAD,CAAMA,UAAU,yBACd,yBAAKA,UAAU,kBACb,yBAAKA,UAAU,YACb,kBAAC,IAAD,CACEgG,KAAK,QACL0I,UAAW2f,IACXjf,YAAY,QACZ4H,OAAO,eAMjB,kBAACyP,EAAA,EAAM/U,OAAP,KACE,4BACE3O,KAAK,SACL0J,QAAS4E,EACTrR,UAAU,6BAHZ,UAOA,yCACA,4BACE+C,KAAK,SACL0J,QAAS,kBAAMsW,KACf/iB,UAAU,+BAHZ,c,YClGDsuB,EAA2B,CAAC,SAAU,UAAW,OAAQ,IAIzD1d,EAAgB,CAAC,CAAExE,UAAW,KAAMyE,MAAO,SAC3C0d,EAAkB,CAC7B,CAAEtvB,KAAM,IAAKE,MAAO,GACpB,CAAEF,KAAM,IAAKE,MAAO,GACpB,CAAEF,KAAM,KAAME,MAAO,KAEVqvB,EAAgB,CAC3Bjf,OAAQ,CACNkf,SAAU,GACVC,UAAW,GACXC,MAAO,GACPC,UAAW,IAEbC,UAAW,MACXC,UAAW,KACXC,WAAY,EACZC,SAAU,IChBNC,EAAqBC,0BAEpB,SAASC,IACd,OAAOC,qBAAWH,GAGeA,EAAmBI,SAE/C,SAASC,EAAT,GAA6D,IAA/BC,EAA8B,EAA9BA,kBAAmB7G,EAAW,EAAXA,SACtD,EAA0C1b,mBAASwhB,GAAnD,mBAAOlJ,EAAP,KAAoBkK,EAApB,KACA,EAAsBxiB,mBAAS,IAA/B,mBAAOkY,EAAP,KAAYuK,EAAZ,KACMC,EAAiBC,uBAAY,SAAAC,GACjCJ,GAAmB,SAAAK,GAKjB,OAJIC,qBAAWF,KACbA,EAAkBA,EAAgBC,IAGhCE,kBAAQF,EAAiBD,GACpBC,EAGFD,OAER,IAQGzwB,EAAQ,CACZmmB,cACAkK,qBACAtK,MACAuK,SACAC,iBACAM,aAZmB,CACnB5vB,QAAI0F,EACLE,KAAO,GACP7G,MAAM,IAULmxB,uBAAwBf,EAAkBe,uBAC1CC,uBAAwBhB,EAAkBgB,uBAC1CC,yBAA0BjB,EAAkBiB,yBAC5CC,0BAA2BlB,EAAkBkB,0BAC7CC,yBAA0BnB,EAAkBmB,yBAC5CC,gCAAiCpB,EAAkBoB,iCAGrD,OAAO,kBAAC1B,EAAmB2B,SAApB,CAA6BzxB,MAAOA,GAAQupB,GC1C9C,SAASmI,EAAT,GAAmD,IAArBzwB,EAAoB,EAApBA,GAAIgR,EAAgB,EAAhBA,KAAMC,EAAU,EAAVA,OAEvCyf,EAAqB3B,IACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACLhB,aAAcc,EAAmBd,gBAElC,CAACc,IAGEvL,EAAW0L,cACjB,EAA4C3N,aAC1C,SAAChE,GAAD,MAAY,CACViC,eAAgBjC,EAAMiE,UAAUhC,eAChCuC,gBAAiBxE,EAAMiE,UAAUO,mBAEnCL,KALMlC,EAAR,EAAQA,eAAgBuC,EAAxB,EAAwBA,gBAQxBhQ,qBAAU,WAERyR,EAAStB,EAAsB7jB,MAC9B,CAACA,EAAImlB,IAaR,OACE,kBAACkB,EAAA,EAAD,CACEtV,KAAK,KACLC,KAAMA,EACNC,OAAQA,EACRC,kBAAgB,gCAEhB,kBAAC+U,EAAD,CAA0BjmB,GAAIA,IAC9B,kBAACghB,EAAD,CACEC,aAnBe,SAACC,GACflhB,EAKHmlB,EAAStB,EAAuB3C,IAAW1M,MAAK,kBAAMvD,OAHtDkU,EAAStB,EAAuB3C,IAAW1M,MAAK,kBAAMvD,QAiBpDkQ,eAAgBA,EAChBD,SAAUwC,GAAmBiN,EAAiBf,aAC9C3e,OAAQA,KChDT,SAAS6f,EAAT,GAAqD,IAArB9wB,EAAoB,EAApBA,GAAIgR,EAAgB,EAAhBA,KAAMC,EAAU,EAAVA,OAEzCyf,EAAqB3B,IACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACLvB,OAAQqB,EAAmBrB,OAC3BnK,YAAawL,EAAmBxL,eAEjC,CAACwL,IAGEvL,EAAW0L,cACT5N,EAAcC,aACpB,SAAChE,GAAD,MAAY,CAAE+D,UAAW/D,EAAMiE,UAAUhC,kBACzCkC,KAFMJ,UAMRvP,qBAAU,WACH1T,GACHiR,MAGD,CAACjR,IAGJ0T,qBAAU,cAAU,CAACuP,EAAWkC,IAchC,OACE,kBAACkB,EAAA,EAAD,CACErV,KAAMA,EACNC,OAAQA,EACRC,kBAAgB,gCAGf+R,GAAa,kBAAC,IAAD,MAEd,kBAACoD,EAAA,EAAMlV,OAAP,CAAcmV,aAAW,GACvB,kBAACD,EAAA,EAAM9U,MAAP,CAAavR,GAAG,gCAAhB,oBAIF,kBAACqmB,EAAA,EAAMhV,KAAP,MACI4R,GACA,mFAEDA,GAAa,0DAEhB,kBAACoD,EAAA,EAAM/U,OAAP,KACE,6BACE,4BACE3O,KAAK,SACL0J,QAAS4E,EACTrR,UAAU,6BAHZ,UAOA,yCACA,4BACE+C,KAAK,SACL0J,QA5Ca,WAErB8Y,EAAStB,EAAuB7jB,IAAKwU,MAAK,WAExC2Q,EAAStB,EAAuB8M,EAAiBzL,cAEjDyL,EAAiBtB,OAAO,IAExBpe,QAqCMrR,UAAU,+BAHZ,aCtEH,SAASmxB,EAAT,GAAkD,IAAjB/f,EAAgB,EAAhBA,KAAMC,EAAU,EAAVA,OAEtCyf,EAAqB3B,IACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACL9L,IAAK4L,EAAmB5L,IACxBuK,OAAQqB,EAAmBrB,OAC3BnK,YAAawL,EAAmBxL,eAEjC,CAACwL,IAGEvL,EAAW0L,cACT5N,EAAcC,aACpB,SAAChE,GAAD,MAAY,CAAE+D,UAAW/D,EAAMiE,UAAUhC,kBACzCkC,KAFMJ,UAMRvP,qBAAU,WACHid,EAAiB7L,KAAuC,IAAhC6L,EAAiB7L,IAAIrc,QAChDwI,MAGD,CAAC0f,EAAiB7L,MAGrBpR,qBAAU,cAAU,CAACuP,EAAWkC,IAiBhC,OACE,kBAACkB,EAAA,EAAD,CACErV,KAAMA,EACNC,OAAQA,EACRC,kBAAgB,gCAGf+R,GAAa,kBAAC,IAAD,MAEd,kBAACoD,EAAA,EAAMlV,OAAP,CAAcmV,aAAW,GACvB,kBAACD,EAAA,EAAM9U,MAAP,CAAavR,GAAG,gCAAhB,qBAIF,kBAACqmB,EAAA,EAAMhV,KAAP,MACI4R,GACA,wFAEDA,GAAa,2DAEhB,kBAACoD,EAAA,EAAM/U,OAAP,KACE,6BACE,4BACE3O,KAAK,SACL0J,QAAS4E,EACTrR,UAAU,6BAHZ,UAOA,yCACA,4BACE+C,KAAK,SACL0J,QA/Cc,WAEtB8Y,EAAStB,EAAwB8M,EAAiB7L,MAAMtQ,MAAK,WAE3D2Q,EAAStB,EAAuB8M,EAAiBzL,cAAc1Q,MAC7D,WAEEmc,EAAiBtB,OAAO,IAExBpe,WAuCErR,UAAU,8BAHZ,aC3EV,IAAMoxB,EAAoB,SAACvN,EAAUqB,GACnC,IAAMmM,EAAa,GAOnB,OANAnM,EAAIhkB,SAAQ,SAACd,GACX,IAAMkhB,EAAWuC,EAASV,MAAK,SAAC6B,GAAD,OAAQA,EAAG5kB,KAAOA,KAC7CkhB,GACF+P,EAAWvoB,KAAKwY,MAGb+P,GAGF,SAASC,EAAT,GAAiD,IAAjBlgB,EAAgB,EAAhBA,KAAMC,EAAU,EAAVA,OAErCyf,EAAqB3B,IACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACL9L,IAAK4L,EAAmB5L,OAEzB,CAAC4L,IAGIvN,EAAcD,aACpB,SAAChE,GAAD,MAAY,CACViE,UAAW6N,EACT9R,EAAMiE,UAAUM,SAChBkN,EAAiB7L,QAGrBzB,KAPMF,UAkBR,OAPAzP,qBAAU,WACHid,EAAiB7L,KAAuC,IAAhC6L,EAAiB7L,IAAIrc,QAChDwI,MAGD,CAAC0f,EAAiB7L,MAGnB,kBAACuB,EAAA,EAAD,CACErV,KAAMA,EACNC,OAAQA,EACRC,kBAAgB,gCAEhB,kBAACmV,EAAA,EAAMlV,OAAP,CAAcmV,aAAW,GACvB,kBAACD,EAAA,EAAM9U,MAAP,CAAavR,GAAG,gCAAhB,4BAIF,kBAACqmB,EAAA,EAAMhV,KAAP,KACE,yBAAKzR,UAAU,4BACZujB,EAAUxf,KAAI,SAACud,GAAD,OACb,yBAAKthB,UAAU,kCAAkCsH,IAAG,YAAOga,EAASlhB,KAClE,yBAAKJ,UAAU,gFACf,yBAAKA,UAAU,kBACb,uBACEA,UAAS,gCACPsuB,EAAyBhN,EAASvM,QAD3B,gBAKb,yBAAK/U,UAAU,sCACb,0BACIA,UAAS,qCACPsuB,EAAyBhN,EAASvM,QAD3B,kBADb,OAKSuM,EAASlhB,IAElB,0BAAMJ,UAAU,QAAQshB,EAASmN,SAAjC,KAA6CnN,EAASoN,kBAMhE,kBAACjI,EAAA,EAAM/U,OAAP,KACE,6BACE,4BACE3O,KAAK,SACL0J,QAAS4E,EACTrR,UAAU,6BAHZ,UAOA,yCACA,4BACE+C,KAAK,SACL0J,QAAS4E,EACTrR,UAAU,+BAHZ,SCrFV,IAAMoxB,EAAoB,SAACvN,EAAUqB,GACnC,IAAMmM,EAAa,GAOnB,OANAnM,EAAIhkB,SAAQ,SAACd,GACX,IAAMkhB,EAAWuC,EAASV,MAAK,SAAC6B,GAAD,OAAQA,EAAG5kB,KAAOA,KAC7CkhB,GACF+P,EAAWvoB,KAAKwY,MAGb+P,GAGF,SAASE,EAAT,GAAuD,IAAjBngB,EAAgB,EAAhBA,KAAMC,EAAU,EAAVA,OAE3Cyf,EAAqB3B,IACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACL9L,IAAK4L,EAAmB5L,IACxBuK,OAAQqB,EAAmBrB,OAC3BnK,YAAawL,EAAmBxL,eAEjC,CAACwL,IAGJ,EAAiCxN,aAC/B,SAAChE,GAAD,MAAY,CACViE,UAAW6N,EACT9R,EAAMiE,UAAUM,SAChBkN,EAAiB7L,KAEnB7B,UAAW/D,EAAMiE,UAAUhC,kBAE7BkC,KARMF,EAAR,EAAQA,UAAWF,EAAnB,EAAmBA,UAYnBvP,qBAAU,WACHid,EAAiB7L,KAAuC,IAAhC6L,EAAiB7L,IAAIrc,QAChDwI,MAGD,CAAC0f,EAAiB7L,MAErB,MAA4BlY,mBAAS,GAArC,mBAAO+H,EAAP,KAAeyc,EAAf,KAEMjM,EAAW0L,cAkBjB,OACE,kBAACxK,EAAA,EAAD,CACErV,KAAMA,EACNC,OAAQA,EACRC,kBAAgB,gCAEhB,kBAACmV,EAAA,EAAMlV,OAAP,CAAcmV,aAAW,GACvB,kBAACD,EAAA,EAAM9U,MAAP,CAAavR,GAAG,gCAAhB,8CAIF,kBAACqmB,EAAA,EAAMhV,KAAP,CAAYzR,UAAU,yBAEnBqjB,GACC,yBAAKrjB,UAAU,iBACb,yBAAKA,UAAU,wCAKnB,yBAAKA,UAAU,4BACZujB,EAAUxf,KAAI,SAACud,GAAD,OACb,yBACEthB,UAAU,kCACVsH,IAAG,yBAAoBga,EAASlhB,KAEhC,yBAAKJ,UAAU,gFACf,yBAAKA,UAAU,kBACb,uBACEA,UAAS,gCACPsuB,EAAyBhN,EAASvM,QAD3B,gBAKb,yBAAK/U,UAAU,sCACb,0BACEA,UAAS,qCACPsuB,EAAyBhN,EAASvM,QAD3B,kBADX,OAKOuM,EAASlhB,IAEhB,0BAAMJ,UAAU,QACbshB,EAASmN,SADZ,KACwBnN,EAASoN,kBAO3C,kBAACjI,EAAA,EAAM/U,OAAP,CAAc1R,UAAU,QACtB,yBAAKA,UAAU,cACb,4BACEA,UAAU,eACVb,MAAO4V,EACP1F,SAAU,SAACC,GAAD,OAAOkiB,GAAWliB,EAAEM,OAAOzQ,SAErC,4BAAQA,MAAM,KAAd,YACA,4BAAQA,MAAM,KAAd,YAGJ,yBAAKa,UAAU,cACb,4BACE+C,KAAK,SACL0J,QAAS4E,EACTrR,UAAU,kCAHZ,UAOA,4BACE+C,KAAK,SACL0J,QAxFW,WAEnB8Y,EAAStB,EAA8B8M,EAAiB7L,IAAKnQ,IAASH,MACpE,WAEE2Q,EAAStB,EAAuB8M,EAAiBzL,cAAc1Q,MAC7D,WAEEmc,EAAiBtB,OAAO,IAExBpe,WA+EArR,UAAU,+BAHZ,oBCnHH,SAASqyB,EAAT,GAA0C,EAAf7O,YAAgB,IAE1CsN,EAAqB3B,IACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACL1L,YAAawL,EAAmBxL,YAChCoK,eAAgBoB,EAAmBpB,kBAEpC,CAACoB,IAGE0B,EAAc,SAACtrB,GACnB,IAAMurB,EA/BY,SAACnN,EAAape,GAClC,IAAQ6N,EAA6B7N,EAA7B6N,OAAQhS,EAAqBmE,EAArBnE,KAAM2vB,EAAexrB,EAAfwrB,WAChBD,EAAc,eAAQnN,GACtB/V,EAAS,GAaf,OAXAA,EAAOwF,OAAoB,KAAXA,GAAiBA,OAASjP,EAE1CyJ,EAAOxM,KAAgB,KAATA,GAAeA,OAAO+C,EAEpCyJ,EAAOkf,SAAWiE,EACdA,IACFnjB,EAAOmf,UAAYgE,EACnBnjB,EAAOof,MAAQ+D,EACfnjB,EAAOqf,UAAY8D,GAErBD,EAAeljB,OAASA,EACjBkjB,EAekBG,CAAc7B,EAAiBzL,YAAape,GAC9D6oB,kBAAQ0C,EAAgB1B,EAAiBzL,eAC5CmN,EAAe1D,WAAa,EAE5BgC,EAAiBrB,eAAe+C,KAIpC,OACE,oCACE,kBAAC,IAAD,CACEjQ,cAAe,CACbzN,OAAQ,GACRhS,KAAM,GACN2vB,WAAY,IAEdhQ,SAAU,SAACxb,GACTsrB,EAAYtrB,MAGb,cACCA,OADD,IAEC6b,EAFD,EAECA,aAFD,EAGCqQ,WAHD,EAICC,aAJD,EAKCngB,cALD,OAOC,0BAAMwP,SAAUK,EAAc/iB,UAAU,8B,qECvD3C,SAASm0B,GACdC,EACA5sB,EACA6sB,EAHK,GAKJ,IADC9D,EACF,EADEA,uBAEF,OACE,oCACE,uBACEnR,MAAM,oBACNpf,UAAU,uDACVyM,QAAS,kBAAM8jB,EAAuB/oB,EAAIpH,MAE1C,0BAAMJ,UAAU,yCACd,kBAAC,KAAD,CACEwI,IAAKC,YAAc,iDCCxB,SAAS6rB,KAEd,IAAMxD,EAAqB3B,IACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACL9L,IAAK4L,EAAmB5L,IACxBuK,OAAQqB,EAAmBrB,OAC3BnK,YAAawL,EAAmBxL,YAChCoK,eAAgBoB,EAAmBpB,eACnCa,uBAAwBO,EAAmBP,uBAC3CC,yBAA0BM,EAAmBN,4BAE9C,CAACM,IAGIyD,EAAiBjR,aACvB,SAAChE,GAAD,MAAY,CAAEiV,aAAcjV,EAAMiE,aAClCE,KAFM8Q,aAIA3Q,EAAsC2Q,EAAtC3Q,WAAYC,EAA0B0Q,EAA1B1Q,SAAUL,EAAgB+Q,EAAhB/Q,YAGxB+B,EAAW0L,cACjBnd,qBAAU,WAERid,EAAiBtB,OAAO,IAExBlK,EAAStB,EAAuB8M,EAAiBzL,gBAEhD,CAACyL,EAAiBzL,YAAaC,IAElC,IAAMpZ,EAAU,CACd,CACEC,UAAW,KACXnN,KAAM,KACNyN,MAAM,EACNC,UAAWA,IACXC,0BAEF,CACER,UAAW,OACXnN,KAAM,OACNyN,MAAM,EACNC,UAAWA,IACXC,0BAEF,CACER,UAAW,QACXnN,KAAM,QACNyN,MAAM,EACNC,UAAWA,IACXC,0BAEF,CACER,UAAW,SACXnN,KAAM,UACNoN,UAAWmoB,GACXC,gBAAiB,CACflE,uBAAwBQ,EAAiBR,uBACzCC,yBAA0BO,EAAiBP,0BAE7CjwB,QAAS,mBACTm0B,cAAe,mBACftwB,MAAO,CACLuS,SAAU,WAKVge,EAAoB,CACxBC,QAAQ,EACRC,UAAWjR,EACX2K,gBAAiBuG,EACjBC,YAAahE,EAAiBzL,YAAY0J,SAC1CgG,KAAMjE,EAAiBzL,YAAYyJ,YAErC,OACE,oCACE,kBAAC,qBAAD,CAAoBje,WAAYC,IAAkB4jB,KAC/C,YAAgD,IAA7CM,EAA4C,EAA5CA,gBAAiBC,EAA2B,EAA3BA,qBACnB,OACE,kBAAC,IAAD,CACE7R,UAAWG,EACXyR,gBAAiBA,GAEjB,kBAAC,IAAD,eACEjkB,eAAe,mBACfE,UAAU,EACV3Q,QAAQ,gDACR0Q,YAAU,EACVkkB,QAAM,EACNxkB,SAAS,KACTpO,KAAmB,OAAbshB,EAAoB,GAAKA,EAC/B1X,QAASA,EACTyE,cAAekkB,EACfM,cAAeC,YACbtE,EAAiBrB,gBAEnBgI,UAAWC,YAAa,CACtB9T,WACAqB,IAAK6L,EAAiB7L,IACtBuK,OAAQsB,EAAiBtB,UAEvByF,GAEJ,kBAAC,IAAD,CAAmBrR,SAAUA,IAC7B,kBAAC,IAAD,CAAuBA,SAAUA,UC9H1C,SAASyR,KAEd,IAAMxE,EAAqB3B,IACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACL9L,IAAK4L,EAAmB5L,IACxBuK,OAAQqB,EAAmBrB,OAC3BgB,0BAA2BK,EAAmBL,0BAC9CC,yBAA0BI,EAAmBJ,yBAC7CC,gCACEG,EAAmBH,mCAEtB,CAACG,IAEJ,OACE,yBAAK9wB,UAAU,QACb,yBAAKA,UAAU,4EACb,yBAAKA,UAAU,aACb,yBAAKA,UAAU,gCACb,yBAAKA,UAAU,iCACb,2BAAOA,UAAU,yBACf,yDAC0B,2BAAI+wB,EAAiB7L,IAAIrc,WAIvD,6BACE,4BACE9F,KAAK,SACL/C,UAAU,iDACVyM,QAASskB,EAAiBN,2BAE1B,uBAAGzwB,UAAU,gBALf,eADF,YCXL,SAASu1B,KACd,IAAMzE,EAAqB3B,IACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACL9L,IAAK4L,EAAmB5L,IACxBoL,uBAAwBQ,EAAmBR,0BAE5C,CAACQ,IAEJ,OACE,kBAAC,IAAD,KACE,kBAAC,IAAD,CAAY1R,MAAM,iBAChB,kBAAC,IAAD,OAGF,kBAAC,IAAD,KACE,kBAACiT,EAAD,MACCtB,EAAiB7L,IAAIrc,OAAS,GAAK,kBAACysB,GAAD,MACpC,kBAAChB,GAAD,QCzBD,SAAS4N,GAAT,GAAmC,IAAZzM,EAAW,EAAXA,QACtBlG,EAAoB,CACxBe,uBAAwB,WACtBmF,EAAQ3sB,KAAK,sBAEfynB,uBAAwB,SAACnwB,GACvBq1B,EAAQ3sB,KAAR,wBAA8B1I,EAA9B,WAEFowB,yBAA0B,SAACpwB,GACzBq1B,EAAQ3sB,KAAR,wBAA8B1I,EAA9B,aAEFqwB,0BAA2B,WACzBgF,EAAQ3sB,KAAR,kCAEF4nB,yBAA0B,WACxB+E,EAAQ3sB,KAAR,wBAEF6nB,gCAAiC,WAC/B8E,EAAQ3sB,KAAK,gCAIjB,OACE,kBAACwmB,EAAD,CAAqBC,kBAAmBA,GACtC,kBAACnM,EAAD,MACA,kBAAC,IAAD,CAAOnV,KAAK,sBACT,gBAAGwnB,EAAH,EAAGA,QAAS1pB,EAAZ,EAAYA,MAAZ,OACC,kBAAC8kB,EAAD,CACEzf,KAAe,MAATrF,EACNsF,OAAQ,WACNokB,EAAQ3sB,KAAK,uBAKrB,kBAAC,IAAD,CAAOmF,KAAK,2BACT,gBAAGwnB,EAAH,EAAGA,QAAS1pB,EAAZ,EAAYA,MAAZ,OACC,kBAAC8kB,EAAD,CACEzf,KAAe,MAATrF,EACN3L,GAAI2L,GAASA,EAAM2pB,OAAOt1B,GAC1BiR,OAAQ,WACNokB,EAAQ3sB,KAAK,uBAKrB,kBAAC,IAAD,CAAOmF,KAAK,kCACT,gBAAGwnB,EAAH,EAAGA,QAAS1pB,EAAZ,EAAYA,MAAZ,OACC,kBAAColB,EAAD,CACE/f,KAAe,MAATrF,EACNsF,OAAQ,WACNokB,EAAQ3sB,KAAK,uBAKrB,kBAAC,IAAD,CAAOmF,KAAK,6BACT,gBAAGwnB,EAAH,EAAGA,QAAS1pB,EAAZ,EAAYA,MAAZ,OACC,kBAACmlB,EAAD,CACE9f,KAAe,MAATrF,EACN3L,GAAI2L,GAASA,EAAM2pB,OAAOt1B,GAC1BiR,OAAQ,WACNokB,EAAQ3sB,KAAK,uBAKrB,kBAAC,IAAD,CAAOmF,KAAK,wBACT,gBAAGwnB,EAAH,EAAGA,QAAS1pB,EAAZ,EAAYA,MAAZ,OACC,kBAACulB,EAAD,CACElgB,KAAe,MAATrF,EACNsF,OAAQ,WACNokB,EAAQ3sB,KAAK,uBAKrB,kBAAC,IAAD,CAAOmF,KAAK,+BACT,gBAAGwnB,EAAH,EAAGA,QAAS1pB,EAAZ,EAAYA,MAAZ,OACC,kBAACwlB,EAAD,CACEngB,KAAe,MAATrF,EACNsF,OAAQ,WACNokB,EAAQ3sB,KAAK,uBAKrB,kBAACysB,GAAD,OAlGN,oC,6ECIO,SAASnS,IAEd,IAAQC,EAAcC,aACpB,SAAChE,GAAD,MAAY,CAAE+D,UAAW/D,EAAMiE,UAAUC,eACzCC,KAFMJ,UAMR,OADAvP,qBAAU,cAAU,CAACuP,IACd,kBAAC,IAAD,CAAeA,UAAWA,EAAWpkB,KAAK,gB,6BCVtCykB,EAAgB,gC,YCAvBC,EAAwB,CAC5BH,aAAa,EACbjC,gBAAgB,EAChBqC,WAAY,EACZC,SAAU,KACVC,qBAAiBhe,EACjBie,UAAW,MAEAC,EACL,OADKA,EAEH,SCTHC,EDYuBC,YAAY,CACxCle,KAAM,YACNme,aAAcR,EACdS,SAAU,CACRC,WAAY,SAAC/E,EAAOgF,GAClBhF,EAAM/U,MAAN,UAAiB+Z,EAAOvhB,KAAxB,aAAiCuhB,EAAOC,QAAQha,OAC5C+Z,EAAOC,QAAQC,WAAaR,EAC9B1E,EAAMkE,aAAc,EAEpBlE,EAAMiC,gBAAiB,GAG3BkD,UAAW,SAACnF,EAAOgF,GACjBhF,EAAM/U,MAAQ,KACV+Z,EAAOC,QAAQC,WAAaR,EAC9B1E,EAAMkE,aAAc,EAEpBlE,EAAMiC,gBAAiB,GAI3BmD,gBAAiB,SAACpF,EAAOgF,GACvBhF,EAAMiC,gBAAiB,EACvBjC,EAAMwE,gBAAkBQ,EAAOC,QAAQT,gBACvCxE,EAAM/U,MAAQ,MAGhBoa,iBAAkB,SAACrF,EAAOgF,GACxB,MAAiCA,EAAOC,QAAhCX,EAAR,EAAQA,WAAYC,EAApB,EAAoBA,SACpBvE,EAAMkE,aAAc,EACpBlE,EAAM/U,MAAQ,KACd+U,EAAMuE,SAAWA,EACjBvE,EAAMsE,WAAaA,GAGrBgB,gBAAiB,SAACtF,EAAOgF,GACvBhF,EAAMiC,gBAAiB,EACvBjC,EAAM/U,MAAQ,KACd+U,EAAMuE,SAAS/a,KAAKwb,EAAOC,QAAQjD,WAGrCuD,gBAAiB,SAACvF,EAAOgF,GACvBhF,EAAM/U,MAAQ,KACd+U,EAAMiC,gBAAiB,EACvBjC,EAAMuE,SAAWvE,EAAMuE,SAAS9f,KAAI,SAAA+gB,GAClC,OAAIA,EAAO1kB,KAAOkkB,EAAOC,QAAQjD,SAASlhB,GACjCkkB,EAAOC,QAAQjD,SAEjBwD,MAIXC,gBAAiB,SAACzF,EAAOgF,GACvBhF,EAAM/U,MAAQ,KACd+U,EAAMiC,gBAAiB,EACvBjC,EAAMuE,SAAWvE,EAAMuE,SAAStU,QAAO,SAAAyV,GAAE,OAAIA,EAAG5kB,KAAOkkB,EAAOC,QAAQnkB,OAGxE6kB,iBAAkB,SAAC3F,EAAOgF,GACxBhF,EAAM/U,MAAQ,KACd+U,EAAMiC,gBAAiB,EACvBjC,EAAMuE,SAAWvE,EAAMuE,SAAStU,QAC9B,SAAAyV,GAAE,OAAKV,EAAOC,QAAQW,IAAIvV,SAASqV,EAAG5kB,QAI1C+kB,uBAAwB,SAAC7F,EAAOgF,GAC9BhF,EAAMiC,gBAAiB,EACvBjC,EAAM/U,MAAQ,KACd,MAAwB+Z,EAAOC,QAAvBW,EAAR,EAAQA,IAAKnQ,EAAb,EAAaA,OACbuK,EAAMuE,SAAWvE,EAAMuE,SAAS9f,KAAI,SAAA+gB,GAIlC,OAHII,EAAIE,WAAU,SAAAhlB,GAAE,OAAIA,IAAO0kB,EAAO1kB,OAAO,IAC3C0kB,EAAO/P,OAASA,GAEX+P,SCtFRb,QAEMoB,EAAiB,SAAAC,GAAW,OAAI,SAAAC,GAE3C,OADAA,EAAStB,EAAQQ,UAAU,CAAED,SAAUR,KFclC,SAAuBsB,GAC5B,OAAOhD,IAAMkD,KAAN,UAAc9B,EAAd,SAAoC,CAAE4B,gBEdtCG,CACUH,GACd1Q,MAAK,SAAAC,GACJ,MAAiCA,EAAStS,KAAlCqhB,EAAR,EAAQA,WAAYC,EAApB,EAAoBA,SACpB0B,EAAStB,EAAQU,iBAAiB,CAAEf,aAAYC,iBAEjD1O,OAAM,SAAA5K,GACLA,EAAMmb,cAAgB,uBACtBH,EAAStB,EAAQI,WAAW,CAAE9Z,QAAOia,SAAUR,UAIxC2B,EAAgB,SAAAvlB,GAAE,OAAI,SAAAmlB,GACjC,OAAKnlB,GAILmlB,EAAStB,EAAQQ,UAAU,CAAED,SAAUR,MFVT4B,EEYXxlB,EFXZkiB,IAAM3M,IAAN,UAAa+N,EAAb,YAA8BkC,KEYlChR,MAAK,SAAAC,GACJ,IAAMyM,EAAWzM,EAAStS,KAC1BgjB,EAAStB,EAAQS,gBAAgB,CAAEZ,gBAAiBxC,QAErDnM,OAAM,SAAA5K,GACLA,EAAMmb,cAAgB,sBACtBH,EAAStB,EAAQI,WAAW,CAAE9Z,QAAOia,SAAUR,SAZ1CuB,EAAStB,EAAQS,gBAAgB,CAAEZ,qBAAiBhe,KFPxD,IAAyB8f,IEuBnBC,EAAiB,SAAAzlB,GAAE,OAAI,SAAAmlB,GAElC,OADAA,EAAStB,EAAQQ,UAAU,CAAED,SAAUR,MFAV4B,EEEXxlB,EFDXkiB,IAAMwD,OAAN,UAAgBpC,EAAhB,YAAiCkC,KEErChR,MAAK,SAAAC,GACJ0Q,EAAStB,EAAQc,gBAAgB,CAAE3kB,WAEpC+U,OAAM,SAAA5K,GACLA,EAAMmb,cAAgB,wBACtBH,EAAStB,EAAQI,WAAW,CAAE9Z,QAAOia,SAAUR,QFR9C,IAAwB4B,IEYlBG,EAAiB,SAAAC,GAAmB,OAAI,SAAAT,GAEnD,OADAA,EAAStB,EAAQQ,UAAU,CAAED,SAAUR,MF9CV1C,EEgDX0E,EF/CX1D,IAAMkD,KAAK9B,EAAe,CAAEpC,cEgDhC1M,MAAK,SAAAC,GACJ,IAAQyM,EAAazM,EAAStS,KAAtB+e,SACRiE,EAAStB,EAAQW,gBAAgB,CAAEtD,iBAEpCnM,OAAM,SAAA5K,GACLA,EAAMmb,cAAgB,wBACtBH,EAAStB,EAAQI,WAAW,CAAE9Z,QAAOia,SAAUR,QFvD9C,IAAwB1C,IE2DlB2E,EAAiB,SAAA3E,GAAQ,OAAI,SAAAiE,GAExC,OADAA,EAAStB,EAAQQ,UAAU,CAAED,SAAUR,KFxClC,SAAwB1C,GAC7B,OAAOgB,IAAM4D,IAAN,UAAaxC,EAAb,YAA8BpC,EAASlhB,IAAM,CAAEkhB,aEwC/CmE,CACWnE,GACf1M,MAAK,WACJ2Q,EAAStB,EAAQY,gBAAgB,CAAEvD,iBAEpCnM,OAAM,SAAA5K,GACLA,EAAMmb,cAAgB,wBACtBH,EAAStB,EAAQI,WAAW,CAAE9Z,QAAOia,SAAUR,UAIxCmC,EAAwB,SAACjB,EAAKnQ,GAAN,OAAiB,SAAAwQ,GAEpD,OADAA,EAAStB,EAAQQ,UAAU,CAAED,SAAUR,KFhDlC,SAAkCkB,EAAKnQ,GAC5C,OAAOuN,IAAMkD,KAAN,UAAc9B,EAAd,6BAAwD,CAC7DwB,MACAnQ,WE8CK0Q,CACqBP,EAAKnQ,GAC9BH,MAAK,WACJ2Q,EAAStB,EAAQkB,uBAAuB,CAAED,MAAKnQ,eAEhDI,OAAM,SAAA5K,GACLA,EAAMmb,cAAgB,gCACtBH,EAAStB,EAAQI,WAAW,CAAE9Z,QAAOia,SAAUR,UAIxCoC,EAAkB,SAAAlB,GAAG,OAAI,SAAAK,GAEpC,OADAA,EAAStB,EAAQQ,UAAU,CAAED,SAAUR,KFhDlC,SAAyBkB,GAC9B,OAAO5C,IAAMkD,KAAN,UAAc9B,EAAd,oBAA+C,CAAEwB,QEgDjDO,CACYP,GAChBtQ,MAAK,WACJ2Q,EAAStB,EAAQgB,iBAAiB,CAAEC,YAErC/P,OAAM,SAAA5K,GACLA,EAAMmb,cAAgB,yBACtBH,EAAStB,EAAQI,WAAW,CAAE9Z,QAAOia,SAAUR,U,OC9F9C,SAASqC,EAAT,GAA2C,IAAPjmB,EAAM,EAANA,GAEzC,EAA4CkjB,aAC1C,SAAChE,GAAD,MAAY,CACVwE,gBAAiBxE,EAAMiE,UAAUO,gBACjCvC,eAAgBjC,EAAMiE,UAAUhC,kBAElCkC,KALMK,EAAR,EAAQA,gBAAiBvC,EAAzB,EAAyBA,eAQzB,EAA0BvU,mBAAS,IAAnC,mBAAOoS,EAAP,KAAckH,EAAd,KAYA,OAVAxS,qBAAU,WACR,IAAIyS,EAASnmB,EAAK,GAAK,mBACnB0jB,GAAmB1jB,IACrBmmB,EAAM,yBAAqBzC,EAAgB4K,UAArC,YAAkD5K,EAAgB2K,SAAlE,MAGRnI,EAASC,KAER,CAACzC,EAAiBvC,IAGnB,oCACGA,GAAkB,kBAAC,IAAD,MACnB,kBAACkF,EAAA,EAAMlV,OAAP,CAAcmV,aAAW,GACvB,kBAACD,EAAA,EAAM9U,MAAP,CAAavR,GAAG,gCAAgCgf,K,oBCjBlD6B,EAAqBC,MAAaC,MAAM,CAC5CkgB,cAAengB,MACZ4U,IAAI,EAAG,qBACPC,IAAI,GAAI,sBACRnjB,SAAS,iCACZ0uB,SAAUpgB,MACP4U,IAAI,EAAG,qBACPC,IAAI,GAAI,sBACRnjB,SAAS,wBACZ2uB,gBAAiBrgB,MACd4U,IAAI,EAAG,qBACPC,IAAI,GAAI,sBACRnjB,SAAS,wBACZ+b,MAAOzN,MACJyN,MAAM,iBACN/b,SAAS,qBACZ4uB,MAAOtgB,MACJ4U,IAAI,EAAG,oBACPC,IAAI,GAAI,qBACRnjB,SAAS,4BACZud,SAAUjP,MAAatO,SAAS,wBAChCyd,aAAcnP,MACXugB,UAAS,GACT7uB,SAAS,6BACZgc,UAAW1N,MAAatO,SAAS,4BAG5B,SAASwO,EAAT,GAKH,IAJFC,EAIC,EAJDA,aACAC,EAGC,EAHDA,SACAC,EAEC,EAFDA,eACAlQ,EACC,EADDA,OAEA,OACE,oCACE,kBAAC,IAAD,CACEkR,oBAAoB,EACpBC,cAAelB,EACfmB,iBAAkBxB,EAClByB,SAAU,SAACxb,GACTma,EAAana,MAGd,gBAAG6b,EAAH,EAAGA,aAAH,OACC,oCACE,kBAAC0D,EAAA,EAAMhV,KAAP,CAAYzR,UAAU,yBACnBuhB,GACC,yBAAKvhB,UAAU,gCACb,yBAAKA,UAAU,wCAGnB,kBAAC,IAAD,CAAMA,UAAU,yBACd,yBAAKA,UAAU,kBACb,yBAAKA,UAAU,2BACb,wBAAIA,UAAU,0BAAd,yBAGJ,yBAAKA,UAAU,kBACb,yBAAKA,UAAU,YACb,kBAAC,IAAD,CAAQgG,KAAK,aAAaxC,MAAM,YAC9B,4BAAQrE,MAAM,MACd,4BAAQA,MAAM,KAAd,eAGJ,yBAAKa,UAAU,YAEb,kBAAC,IAAD,CACE+C,KAAK,OACLiD,KAAK,WACL0I,UAAW2f,IACXjf,YAAY,WACZ5L,MAAM,cAIV,yBAAKxD,UAAU,YAEb,kBAAC,IAAD,CACE+C,KAAK,OACLiD,KAAK,WACL0I,UAAW2f,IACXjf,YAAY,WACZ5L,MAAM,cAIV,yBAAKxD,UAAU,YAEb,kBAAC,IAAD,CACE+C,KAAK,OACLiD,KAAK,SACL0I,UAAW2f,IACXjf,YAAY,SACZ5L,MAAM,eAMhB,kBAACijB,EAAA,EAAM/U,OAAP,KACE,4BACE3O,KAAK,SACL0J,QAAS4E,EACTrR,UAAU,6BAHZ,UAOA,yCACA,4BACE+C,KAAK,SACL0J,QAAS,kBAAMsW,KACf/iB,UAAU,+BAHZ,c,YC1HDsuB,EAA2B,CAAC,SAAU,UAAW,OAAQ,IAIzD1d,EAAgB,CAAC,CAAExE,UAAW,KAAMyE,MAAO,SAC3C0d,EAAkB,CAC7B,CAAEtvB,KAAM,IAAKE,MAAO,GACpB,CAAEF,KAAM,IAAKE,MAAO,GACpB,CAAEF,KAAM,KAAME,MAAO,KAEVqvB,EAAgB,CAC3Bjf,OAAQ,CACNkf,SAAU,GACVC,UAAW,GACXC,MAAO,GACPC,UAAW,IAEbC,UAAW,MACXC,UAAW,KACXC,WAAY,EACZC,SAAU,IChBNC,EAAqBC,0BAEpB,SAASC,IACd,OAAOC,qBAAWH,GAGeA,EAAmBI,SAE/C,SAASC,EAAT,GAA6D,IAA/BC,EAA8B,EAA9BA,kBAAmB7G,EAAW,EAAXA,SACtD,EAA0C1b,mBAASwhB,GAAnD,mBAAOlJ,EAAP,KAAoBkK,EAApB,KACA,EAAsBxiB,mBAAS,IAA/B,mBAAOkY,EAAP,KAAYuK,EAAZ,KACMC,EAAiBC,uBAAY,SAAAC,GACjCJ,GAAmB,SAAAK,GAKjB,OAJIC,qBAAWF,KACbA,EAAkBA,EAAgBC,IAGhCE,kBAAQF,EAAiBD,GACpBC,EAGFD,OAER,IAeGzwB,EAAQ,CACZmmB,cACAkK,qBACAtK,MACAuK,SACAC,iBACAM,aAnBmB,CACnB5vB,QAAI0F,EACJ4oB,UAAW,GACXD,SAAU,GACVE,MAAO,GACPwB,SAAU,GACVC,OAAQ,SACRrb,OAAQ,EACRsb,aAAc,GACdzB,UAAW,GACX7rB,KAAM,GAUNutB,uBAAwBf,EAAkBe,uBAC1CC,uBAAwBhB,EAAkBgB,uBAC1CC,yBAA0BjB,EAAkBiB,yBAC5CC,0BAA2BlB,EAAkBkB,0BAC7CC,yBAA0BnB,EAAkBmB,yBAC5CC,gCAAiCpB,EAAkBoB,iCAGrD,OAAO,kBAAC1B,EAAmB2B,SAApB,CAA6BzxB,MAAOA,GAAQupB,GCjD9C,SAASmI,EAAT,GAAmD,IAArBzwB,EAAoB,EAApBA,GAAIgR,EAAgB,EAAhBA,KAAMC,EAAU,EAAVA,OAEvCyf,EAAqB3B,IACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACLhB,aAAcc,EAAmBd,gBAElC,CAACc,IAGEvL,EAAW0L,cACjB,EAA4C3N,aAC1C,SAAChE,GAAD,MAAY,CACViC,eAAgBjC,EAAMiE,UAAUhC,eAChCuC,gBAAiBxE,EAAMiE,UAAUO,mBAEnCL,KALMlC,EAAR,EAAQA,eAAgBuC,EAAxB,EAAwBA,gBAQxBhQ,qBAAU,WAERyR,EAAStB,EAAsB7jB,MAC9B,CAACA,EAAImlB,IAaR,OACE,kBAACkB,EAAA,EAAD,CACEtV,KAAK,KACLC,KAAMA,EACNC,OAAQA,EACRC,kBAAgB,gCAEhB,kBAAC+U,EAAD,CAA0BjmB,GAAIA,IAC9B,kBAACghB,EAAD,CACEC,aAnBe,SAACC,GACflhB,EAKHmlB,EAAStB,EAAuB3C,IAAW1M,MAAK,kBAAMvD,OAHtDkU,EAAStB,EAAuB3C,IAAW1M,MAAK,kBAAMvD,QAiBpDkQ,eAAgBA,EAChBD,SAAUwC,GAAmBiN,EAAiBf,aAC9C3e,OAAQA,KChDT,SAAS6f,EAAT,GAAqD,IAArB9wB,EAAoB,EAApBA,GAAIgR,EAAgB,EAAhBA,KAAMC,EAAU,EAAVA,OAEzCyf,EAAqB3B,IACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACLvB,OAAQqB,EAAmBrB,OAC3BnK,YAAawL,EAAmBxL,eAEjC,CAACwL,IAGEvL,EAAW0L,cACT5N,EAAcC,aACpB,SAAChE,GAAD,MAAY,CAAE+D,UAAW/D,EAAMiE,UAAUhC,kBACzCkC,KAFMJ,UAMRvP,qBAAU,WACH1T,GACHiR,MAGD,CAACjR,IAGJ0T,qBAAU,cAAU,CAACuP,EAAWkC,IAchC,OACE,kBAACkB,EAAA,EAAD,CACErV,KAAMA,EACNC,OAAQA,EACRC,kBAAgB,gCAGf+R,GAAa,kBAAC,IAAD,MAEd,kBAACoD,EAAA,EAAMlV,OAAP,CAAcmV,aAAW,GACvB,kBAACD,EAAA,EAAM9U,MAAP,CAAavR,GAAG,gCAAhB,oBAIF,kBAACqmB,EAAA,EAAMhV,KAAP,MACI4R,GACA,mFAEDA,GAAa,0DAEhB,kBAACoD,EAAA,EAAM/U,OAAP,KACE,6BACE,4BACE3O,KAAK,SACL0J,QAAS4E,EACTrR,UAAU,6BAHZ,UAOA,yCACA,4BACE+C,KAAK,SACL0J,QA5Ca,WAErB8Y,EAAStB,EAAuB7jB,IAAKwU,MAAK,WAExC2Q,EAAStB,EAAuB8M,EAAiBzL,cAEjDyL,EAAiBtB,OAAO,IAExBpe,QAqCMrR,UAAU,+BAHZ,aCtEH,SAASmxB,EAAT,GAAkD,IAAjB/f,EAAgB,EAAhBA,KAAMC,EAAU,EAAVA,OAEtCyf,EAAqB3B,IACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACL9L,IAAK4L,EAAmB5L,IACxBuK,OAAQqB,EAAmBrB,OAC3BnK,YAAawL,EAAmBxL,eAEjC,CAACwL,IAGEvL,EAAW0L,cACT5N,EAAcC,aACpB,SAAChE,GAAD,MAAY,CAAE+D,UAAW/D,EAAMiE,UAAUhC,kBACzCkC,KAFMJ,UAMRvP,qBAAU,WACHid,EAAiB7L,KAAuC,IAAhC6L,EAAiB7L,IAAIrc,QAChDwI,MAGD,CAAC0f,EAAiB7L,MAGrBpR,qBAAU,cAAU,CAACuP,EAAWkC,IAiBhC,OACE,kBAACkB,EAAA,EAAD,CACErV,KAAMA,EACNC,OAAQA,EACRC,kBAAgB,gCAGf+R,GAAa,kBAAC,IAAD,MAEd,kBAACoD,EAAA,EAAMlV,OAAP,CAAcmV,aAAW,GACvB,kBAACD,EAAA,EAAM9U,MAAP,CAAavR,GAAG,gCAAhB,qBAIF,kBAACqmB,EAAA,EAAMhV,KAAP,MACI4R,GACA,wFAEDA,GAAa,2DAEhB,kBAACoD,EAAA,EAAM/U,OAAP,KACE,6BACE,4BACE3O,KAAK,SACL0J,QAAS4E,EACTrR,UAAU,6BAHZ,UAOA,yCACA,4BACE+C,KAAK,SACL0J,QA/Cc,WAEtB8Y,EAAStB,EAAwB8M,EAAiB7L,MAAMtQ,MAAK,WAE3D2Q,EAAStB,EAAuB8M,EAAiBzL,cAAc1Q,MAC7D,WAEEmc,EAAiBtB,OAAO,IAExBpe,WAuCErR,UAAU,+BAHZ,aC3EV,IAAMoxB,EAAoB,SAACvN,EAAUqB,GACnC,IAAMmM,EAAa,GAOnB,OANAnM,EAAIhkB,SAAQ,SAACd,GACX,IAAMkhB,EAAWuC,EAASV,MAAK,SAAC6B,GAAD,OAAQA,EAAG5kB,KAAOA,KAC7CkhB,GACF+P,EAAWvoB,KAAKwY,MAGb+P,GAGF,SAASC,EAAT,GAAiD,IAAjBlgB,EAAgB,EAAhBA,KAAMC,EAAU,EAAVA,OAErCyf,EAAqB3B,IACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACL9L,IAAK4L,EAAmB5L,OAEzB,CAAC4L,IAGIvN,EAAcD,aACpB,SAAChE,GAAD,MAAY,CACViE,UAAW6N,EACT9R,EAAMiE,UAAUM,SAChBkN,EAAiB7L,QAGrBzB,KAPMF,UAkBR,OAPAzP,qBAAU,WACHid,EAAiB7L,KAAuC,IAAhC6L,EAAiB7L,IAAIrc,QAChDwI,MAGD,CAAC0f,EAAiB7L,MAGnB,kBAACuB,EAAA,EAAD,CACErV,KAAMA,EACNC,OAAQA,EACRC,kBAAgB,gCAEhB,kBAACmV,EAAA,EAAMlV,OAAP,CAAcmV,aAAW,GACvB,kBAACD,EAAA,EAAM9U,MAAP,CAAavR,GAAG,gCAAhB,4BAIF,kBAACqmB,EAAA,EAAMhV,KAAP,KACE,yBAAKzR,UAAU,4BACZujB,EAAUxf,KAAI,SAACud,GAAD,OACb,yBAAKthB,UAAU,kCAAkCsH,IAAG,YAAOga,EAASlhB,KAClE,yBAAKJ,UAAU,gFACf,yBAAKA,UAAU,kBACb,uBACEA,UAAS,gCACPsuB,EAAyBhN,EAASvM,QAD3B,gBAKb,yBAAK/U,UAAU,sCACb,0BACIA,UAAS,qCACPsuB,EAAyBhN,EAASvM,QAD3B,kBADb,OAKSuM,EAASlhB,IAElB,0BAAMJ,UAAU,QAAQshB,EAASmN,SAAjC,KAA6CnN,EAASoN,kBAMhE,kBAACjI,EAAA,EAAM/U,OAAP,KACE,6BACE,4BACE3O,KAAK,SACL0J,QAAS4E,EACTrR,UAAU,6BAHZ,UAOA,yCACA,4BACE+C,KAAK,SACL0J,QAAS4E,EACTrR,UAAU,+BAHZ,SCrFV,IAAMoxB,EAAoB,SAACvN,EAAUqB,GACnC,IAAMmM,EAAa,GAOnB,OANAnM,EAAIhkB,SAAQ,SAACd,GACX,IAAMkhB,EAAWuC,EAASV,MAAK,SAAC6B,GAAD,OAAQA,EAAG5kB,KAAOA,KAC7CkhB,GACF+P,EAAWvoB,KAAKwY,MAGb+P,GAGF,SAASE,EAAT,GAAuD,IAAjBngB,EAAgB,EAAhBA,KAAMC,EAAU,EAAVA,OAE3Cyf,EAAqB3B,IACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACL9L,IAAK4L,EAAmB5L,IACxBuK,OAAQqB,EAAmBrB,OAC3BnK,YAAawL,EAAmBxL,eAEjC,CAACwL,IAGJ,EAAiCxN,aAC/B,SAAChE,GAAD,MAAY,CACViE,UAAW6N,EACT9R,EAAMiE,UAAUM,SAChBkN,EAAiB7L,KAEnB7B,UAAW/D,EAAMiE,UAAUhC,kBAE7BkC,KARMF,EAAR,EAAQA,UAAWF,EAAnB,EAAmBA,UAYnBvP,qBAAU,WACHid,EAAiB7L,KAAuC,IAAhC6L,EAAiB7L,IAAIrc,QAChDwI,MAGD,CAAC0f,EAAiB7L,MAErB,MAA4BlY,mBAAS,GAArC,mBAAO+H,EAAP,KAAeyc,EAAf,KAEMjM,EAAW0L,cAkBjB,OACE,kBAACxK,EAAA,EAAD,CACErV,KAAMA,EACNC,OAAQA,EACRC,kBAAgB,gCAEhB,kBAACmV,EAAA,EAAMlV,OAAP,CAAcmV,aAAW,GACvB,kBAACD,EAAA,EAAM9U,MAAP,CAAavR,GAAG,gCAAhB,8CAIF,kBAACqmB,EAAA,EAAMhV,KAAP,CAAYzR,UAAU,yBAEnBqjB,GACC,yBAAKrjB,UAAU,iBACb,yBAAKA,UAAU,wCAKnB,yBAAKA,UAAU,4BACZujB,EAAUxf,KAAI,SAACud,GAAD,OACb,yBACEthB,UAAU,kCACVsH,IAAG,yBAAoBga,EAASlhB,KAEhC,yBAAKJ,UAAU,gFACf,yBAAKA,UAAU,kBACb,uBACEA,UAAS,gCACPsuB,EAAyBhN,EAASvM,QAD3B,gBAKb,yBAAK/U,UAAU,sCACb,0BACEA,UAAS,qCACPsuB,EAAyBhN,EAASvM,QAD3B,kBADX,OAKOuM,EAASlhB,IAEhB,0BAAMJ,UAAU,QACbshB,EAASmN,SADZ,KACwBnN,EAASoN,kBAO3C,kBAACjI,EAAA,EAAM/U,OAAP,CAAc1R,UAAU,QACtB,yBAAKA,UAAU,cACb,4BACEA,UAAU,eACVb,MAAO4V,EACP1F,SAAU,SAACC,GAAD,OAAOkiB,GAAWliB,EAAEM,OAAOzQ,SAErC,4BAAQA,MAAM,KAAd,YACA,4BAAQA,MAAM,KAAd,YAGJ,yBAAKa,UAAU,cACb,4BACE+C,KAAK,SACL0J,QAAS4E,EACTrR,UAAU,kCAHZ,UAOA,4BACE+C,KAAK,SACL0J,QAxFW,WAEnB8Y,EAAStB,EAA8B8M,EAAiB7L,IAAKnQ,IAASH,MACpE,WAEE2Q,EAAStB,EAAuB8M,EAAiBzL,cAAc1Q,MAC7D,WAEEmc,EAAiBtB,OAAO,IAExBpe,WA+EArR,UAAU,+BAHZ,oBCvIH,SAASqyB,EAAT,GAA0C,EAAf7O,YAIhC,OACE,yBAAKxjB,UAAU,kBACb,wBAAImE,MAAM,uCAAV,gBAGA,yBAAKA,MAAM,QACT,2BAAOA,MAAM,2CAA2Cg+B,IAAI,eAA5D,wBAGA,2BAAOp/B,KAAK,WAAWoB,MAAM,OAAO6B,KAAK,cAAc5F,GAAG,iBAE5D,wBAAI+D,MAAM,iDAAV,oBAGA,0BAAMA,MAAM,sDAAZ,uD,mDCEC,SAASmwB,IAEd,IAAMxD,EAAqB3B,IACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACL9L,IAAK4L,EAAmB5L,IACxBuK,OAAQqB,EAAmBrB,OAC3BnK,YAAawL,EAAmBxL,YAChCoK,eAAgBoB,EAAmBpB,eACnCa,uBAAwBO,EAAmBP,uBAC3CC,yBAA0BM,EAAmBN,4BAE9C,CAACM,IAGIyD,EAAiBjR,aACvB,SAAChE,GAAD,MAAY,CAAEiV,aAAcjV,EAAMiE,aAClCE,KAFM8Q,aAIA3Q,EAAsC2Q,EAAtC3Q,WAAYC,EAA0B0Q,EAA1B1Q,SAAUL,EAAgB+Q,EAAhB/Q,YAGxB+B,EAAW0L,cACjBnd,qBAAU,WAERid,EAAiBtB,OAAO,IAExBlK,EAAStB,EAAuB8M,EAAiBzL,gBAEhD,CAACyL,EAAiBzL,YAAaC,IAElC,IAAMpZ,EAAU,CACd,CACEC,UAAW,KACXnN,KAAM,KACNyN,MAAM,EACNC,UAAWA,IACXC,0BAEF,CACER,UAAW,eACXnN,KAAM,eACNyN,MAAM,EACNC,UAAWA,IACXC,0BAEF,CACER,UAAW,WACXnN,KAAM,WACNyN,MAAM,EACNC,UAAWA,IACXC,2BAIE+nB,EAAoB,CACxBC,QAAQ,EACRC,UAAWjR,EACX2K,gBAAiBuG,EACjBC,YAAahE,EAAiBzL,YAAY0J,SAC1CgG,KAAMjE,EAAiBzL,YAAYyJ,YAErC,OACE,oCACE,kBAAC,qBAAD,CAAoBje,WAAYC,IAAkB4jB,KAC/C,YAAgD,IAA7CM,EAA4C,EAA5CA,gBAAiBC,EAA2B,EAA3BA,qBACnB,OACE,kBAAC,IAAD,CACE7R,UAAWG,EACXyR,gBAAiBA,GAEjB,kBAAC,IAAD,eACEjkB,eAAe,mBACfE,UAAU,EACV3Q,QAAQ,gDACR0Q,YAAU,EACVkkB,QAAM,EACNxkB,SAAS,KACTpO,KAAmB,OAAbshB,EAAoB,GAAKA,EAC/B1X,QAASA,EACTyE,cAAekkB,EACfM,cAAeC,YACbtE,EAAiBrB,gBAEnBgI,UAAWC,YAAa,CACtB9T,WACAqB,IAAK6L,EAAiB7L,IACtBuK,OAAQsB,EAAiBtB,UAEvByF,GAEJ,kBAAC,IAAD,CAAmBrR,SAAUA,IAC7B,kBAAC,IAAD,CAAuBA,SAAUA,UChH1C,SAASyR,IAEd,IAAMxE,EAAqB3B,IACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACL9L,IAAK4L,EAAmB5L,IACxBuK,OAAQqB,EAAmBrB,OAC3BgB,0BAA2BK,EAAmBL,0BAC9CC,yBAA0BI,EAAmBJ,yBAC7CC,gCACEG,EAAmBH,mCAEtB,CAACG,IAEJ,OACE,yBAAK9wB,UAAU,QACb,yBAAKA,UAAU,4EACb,yBAAKA,UAAU,aACb,yBAAKA,UAAU,gCACb,yBAAKA,UAAU,iCACb,2BAAOA,UAAU,yBACf,yDAC0B,2BAAI+wB,EAAiB7L,IAAIrc,WAIvD,6BACE,4BACE9F,KAAK,SACL/C,UAAU,iDACVyM,QAASskB,EAAiBN,2BAE1B,uBAAGzwB,UAAU,gBALf,eADF,YClBL,SAASu1B,KACd,IAAMzE,EAAqB3B,IACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACL9L,IAAK4L,EAAmB5L,IACxBoL,uBAAwBQ,EAAmBR,0BAE5C,CAACQ,IAEJ,OACE,kBAAC,IAAD,KACE,kBAAC,IAAD,CAAY1R,MAAM,+BAChB,kBAAC,IAAD,OAGF,kBAAC,IAAD,KACE,kBAACiT,EAAD,MACCtB,EAAiB7L,IAAIrc,OAAS,GAAK,kBAACysB,EAAD,MACpC,kBAAChB,EAAD,QClBD,SAAS8N,GAAT,GAAiD,IAAZ3M,EAAW,EAAXA,QACpClG,EAAoB,CACxBe,uBAAwB,WACtBmF,EAAQ3sB,KAAK,mCAEfynB,uBAAwB,SAACnwB,GACvBq1B,EAAQ3sB,KAAR,qCAA2C1I,EAA3C,WAEFowB,yBAA0B,SAACpwB,GACzBq1B,EAAQ3sB,KAAR,qCAA2C1I,EAA3C,aAEFqwB,0BAA2B,WACzBgF,EAAQ3sB,KAAR,+CAEF4nB,yBAA0B,WACxB+E,EAAQ3sB,KAAR,qCAEF6nB,gCAAiC,WAC/B8E,EAAQ3sB,KAAK,6CAIjB,OACE,kBAACwmB,EAAD,CAAqBC,kBAAmBA,GACtC,kBAACnM,EAAD,MACA,kBAAC,IAAD,CAAOnV,KAAK,mCACT,gBAAGwnB,EAAH,EAAGA,QAAS1pB,EAAZ,EAAYA,MAAZ,OACC,kBAAC8kB,EAAD,CACEzf,KAAe,MAATrF,EACNsF,OAAQ,WACNokB,EAAQ3sB,KAAK,oCAKrB,kBAAC,IAAD,CAAOmF,KAAK,wCACT,gBAAGwnB,EAAH,EAAGA,QAAS1pB,EAAZ,EAAYA,MAAZ,OACC,kBAAC8kB,EAAD,CACEzf,KAAe,MAATrF,EACN3L,GAAI2L,GAASA,EAAM2pB,OAAOt1B,GAC1BiR,OAAQ,WACNokB,EAAQ3sB,KAAK,oCAKrB,kBAAC,IAAD,CAAOmF,KAAK,+CACT,gBAAGwnB,EAAH,EAAGA,QAAS1pB,EAAZ,EAAYA,MAAZ,OACC,kBAAColB,EAAD,CACE/f,KAAe,MAATrF,EACNsF,OAAQ,WACNokB,EAAQ3sB,KAAK,oCAKrB,kBAAC,IAAD,CAAOmF,KAAK,0CACT,gBAAGwnB,EAAH,EAAGA,QAAS1pB,EAAZ,EAAYA,MAAZ,OACC,kBAACmlB,EAAD,CACE9f,KAAe,MAATrF,EACN3L,GAAI2L,GAASA,EAAM2pB,OAAOt1B,GAC1BiR,OAAQ,WACNokB,EAAQ3sB,KAAK,oCAKrB,kBAAC,IAAD,CAAOmF,KAAK,qCACT,gBAAGwnB,EAAH,EAAGA,QAAS1pB,EAAZ,EAAYA,MAAZ,OACC,kBAACulB,EAAD,CACElgB,KAAe,MAATrF,EACNsF,OAAQ,WACNokB,EAAQ3sB,KAAK,oCAKrB,kBAAC,IAAD,CAAOmF,KAAK,4CACT,gBAAGwnB,EAAH,EAAGA,QAAS1pB,EAAZ,EAAYA,MAAZ,OACC,kBAACwlB,EAAD,CACEngB,KAAe,MAATrF,EACNsF,OAAQ,WACNokB,EAAQ3sB,KAAK,oCAKrB,kBAACysB,GAAD,OAlGN,oC,6ECIO,SAASnS,IAEd,IAAQC,EAAcC,aACpB,SAAChE,GAAD,MAAY,CAAE+D,UAAW/D,EAAMiE,UAAUC,eACzCC,KAFMJ,UAMR,OADAvP,qBAAU,cAAU,CAACuP,IACd,kBAAC,IAAD,CAAeA,UAAWA,EAAWpkB,KAAK,gB,6BCVtCykB,EAAgB,yB,YCAvBC,EAAwB,CAC5BH,aAAa,EACbjC,gBAAgB,EAChBqC,WAAY,EACZC,SAAU,KACVC,qBAAiBhe,EACjBie,UAAW,MAEAC,EACL,OADKA,EAEH,SCTHC,EDYuBC,YAAY,CACxCle,KAAM,YACNme,aAAcR,EACdS,SAAU,CACRC,WAAY,SAAC/E,EAAOgF,GAClBhF,EAAM/U,MAAN,UAAiB+Z,EAAOvhB,KAAxB,aAAiCuhB,EAAOC,QAAQha,OAC5C+Z,EAAOC,QAAQC,WAAaR,EAC9B1E,EAAMkE,aAAc,EAEpBlE,EAAMiC,gBAAiB,GAG3BkD,UAAW,SAACnF,EAAOgF,GACjBhF,EAAM/U,MAAQ,KACV+Z,EAAOC,QAAQC,WAAaR,EAC9B1E,EAAMkE,aAAc,EAEpBlE,EAAMiC,gBAAiB,GAI3BmD,gBAAiB,SAACpF,EAAOgF,GACvBhF,EAAMiC,gBAAiB,EACvBjC,EAAMwE,gBAAkBQ,EAAOC,QAAQT,gBACvCxE,EAAM/U,MAAQ,MAGhBoa,iBAAkB,SAACrF,EAAOgF,GACxB,MAAiCA,EAAOC,QAAhCX,EAAR,EAAQA,WAAYC,EAApB,EAAoBA,SACpBvE,EAAMkE,aAAc,EACpBlE,EAAM/U,MAAQ,KACd+U,EAAMuE,SAAWA,EACjBvE,EAAMsE,WAAaA,GAGrBgB,gBAAiB,SAACtF,EAAOgF,GACvBhF,EAAMiC,gBAAiB,EACvBjC,EAAM/U,MAAQ,KACd+U,EAAMuE,SAAS/a,KAAKwb,EAAOC,QAAQjD,WAGrCuD,gBAAiB,SAACvF,EAAOgF,GACvBhF,EAAM/U,MAAQ,KACd+U,EAAMiC,gBAAiB,EACvBjC,EAAMuE,SAAWvE,EAAMuE,SAAS9f,KAAI,SAAA+gB,GAClC,OAAIA,EAAO1kB,KAAOkkB,EAAOC,QAAQjD,SAASlhB,GACjCkkB,EAAOC,QAAQjD,SAEjBwD,MAIXC,gBAAiB,SAACzF,EAAOgF,GACvBhF,EAAM/U,MAAQ,KACd+U,EAAMiC,gBAAiB,EACvBjC,EAAMuE,SAAWvE,EAAMuE,SAAStU,QAAO,SAAAyV,GAAE,OAAIA,EAAG5kB,KAAOkkB,EAAOC,QAAQnkB,OAGxE6kB,iBAAkB,SAAC3F,EAAOgF,GACxBhF,EAAM/U,MAAQ,KACd+U,EAAMiC,gBAAiB,EACvBjC,EAAMuE,SAAWvE,EAAMuE,SAAStU,QAC9B,SAAAyV,GAAE,OAAKV,EAAOC,QAAQW,IAAIvV,SAASqV,EAAG5kB,QAI1C+kB,uBAAwB,SAAC7F,EAAOgF,GAC9BhF,EAAMiC,gBAAiB,EACvBjC,EAAM/U,MAAQ,KACd,MAAwB+Z,EAAOC,QAAvBW,EAAR,EAAQA,IAAKnQ,EAAb,EAAaA,OACbuK,EAAMuE,SAAWvE,EAAMuE,SAAS9f,KAAI,SAAA+gB,GAIlC,OAHII,EAAIE,WAAU,SAAAhlB,GAAE,OAAIA,IAAO0kB,EAAO1kB,OAAO,IAC3C0kB,EAAO/P,OAASA,GAEX+P,SCtFRb,QAEMoB,EAAiB,SAAAC,GAAW,OAAI,SAAAC,GAE3C,OADAA,EAAStB,EAAQQ,UAAU,CAAED,SAAUR,KFclC,SAAuBsB,GAC5B,OAAOhD,IAAMkD,KAAN,UAAc9B,EAAd,SAAoC,CAAE4B,gBEdtCG,CACUH,GACd1Q,MAAK,SAAAC,GACJ,MAAiCA,EAAStS,KAAlCqhB,EAAR,EAAQA,WAAYC,EAApB,EAAoBA,SACpB0B,EAAStB,EAAQU,iBAAiB,CAAEf,aAAYC,iBAEjD1O,OAAM,SAAA5K,GACLA,EAAMmb,cAAgB,uBACtBH,EAAStB,EAAQI,WAAW,CAAE9Z,QAAOia,SAAUR,UAIxC2B,EAAgB,SAAAvlB,GAAE,OAAI,SAAAmlB,GACjC,OAAKnlB,GAILmlB,EAAStB,EAAQQ,UAAU,CAAED,SAAUR,MFVT4B,EEYXxlB,EFXZkiB,IAAM3M,IAAN,UAAa+N,EAAb,YAA8BkC,KEYlChR,MAAK,SAAAC,GACJ,IAAMyM,EAAWzM,EAAStS,KAC1BgjB,EAAStB,EAAQS,gBAAgB,CAAEZ,gBAAiBxC,QAErDnM,OAAM,SAAA5K,GACLA,EAAMmb,cAAgB,sBACtBH,EAAStB,EAAQI,WAAW,CAAE9Z,QAAOia,SAAUR,SAZ1CuB,EAAStB,EAAQS,gBAAgB,CAAEZ,qBAAiBhe,KFPxD,IAAyB8f,IEuBnBC,EAAiB,SAAAzlB,GAAE,OAAI,SAAAmlB,GAElC,OADAA,EAAStB,EAAQQ,UAAU,CAAED,SAAUR,MFAV4B,EEEXxlB,EFDXkiB,IAAMwD,OAAN,UAAgBpC,EAAhB,YAAiCkC,KEErChR,MAAK,SAAAC,GACJ0Q,EAAStB,EAAQc,gBAAgB,CAAE3kB,WAEpC+U,OAAM,SAAA5K,GACLA,EAAMmb,cAAgB,wBACtBH,EAAStB,EAAQI,WAAW,CAAE9Z,QAAOia,SAAUR,QFR9C,IAAwB4B,IEYlBG,EAAiB,SAAAC,GAAmB,OAAI,SAAAT,GAEnD,OADAA,EAAStB,EAAQQ,UAAU,CAAED,SAAUR,MF9CV1C,EEgDX0E,EF/CX1D,IAAMkD,KAAK9B,EAAe,CAAEpC,cEgDhC1M,MAAK,SAAAC,GACJ,IAAQyM,EAAazM,EAAStS,KAAtB+e,SACRiE,EAAStB,EAAQW,gBAAgB,CAAEtD,iBAEpCnM,OAAM,SAAA5K,GACLA,EAAMmb,cAAgB,wBACtBH,EAAStB,EAAQI,WAAW,CAAE9Z,QAAOia,SAAUR,QFvD9C,IAAwB1C,IE2DlB2E,EAAiB,SAAA3E,GAAQ,OAAI,SAAAiE,GAExC,OADAA,EAAStB,EAAQQ,UAAU,CAAED,SAAUR,KFxClC,SAAwB1C,GAC7B,OAAOgB,IAAM4D,IAAN,UAAaxC,EAAb,YAA8BpC,EAASlhB,IAAM,CAAEkhB,aEwC/CmE,CACWnE,GACf1M,MAAK,WACJ2Q,EAAStB,EAAQY,gBAAgB,CAAEvD,iBAEpCnM,OAAM,SAAA5K,GACLA,EAAMmb,cAAgB,wBACtBH,EAAStB,EAAQI,WAAW,CAAE9Z,QAAOia,SAAUR,UAIxCmC,EAAwB,SAACjB,EAAKnQ,GAAN,OAAiB,SAAAwQ,GAEpD,OADAA,EAAStB,EAAQQ,UAAU,CAAED,SAAUR,KFhDlC,SAAkCkB,EAAKnQ,GAC5C,OAAOuN,IAAMkD,KAAN,UAAc9B,EAAd,6BAAwD,CAC7DwB,MACAnQ,WE8CK0Q,CACqBP,EAAKnQ,GAC9BH,MAAK,WACJ2Q,EAAStB,EAAQkB,uBAAuB,CAAED,MAAKnQ,eAEhDI,OAAM,SAAA5K,GACLA,EAAMmb,cAAgB,gCACtBH,EAAStB,EAAQI,WAAW,CAAE9Z,QAAOia,SAAUR,UAIxCoC,EAAkB,SAAAlB,GAAG,OAAI,SAAAK,GAEpC,OADAA,EAAStB,EAAQQ,UAAU,CAAED,SAAUR,KFhDlC,SAAyBkB,GAC9B,OAAO5C,IAAMkD,KAAN,UAAc9B,EAAd,oBAA+C,CAAEwB,QEgDjDO,CACYP,GAChBtQ,MAAK,WACJ2Q,EAAStB,EAAQgB,iBAAiB,CAAEC,YAErC/P,OAAM,SAAA5K,GACLA,EAAMmb,cAAgB,yBACtBH,EAAStB,EAAQI,WAAW,CAAE9Z,QAAOia,SAAUR,U,OC9F9C,SAASqC,EAAT,GAA2C,IAAPjmB,EAAM,EAANA,GAEzC,EAA4CkjB,aAC1C,SAAChE,GAAD,MAAY,CACVwE,gBAAiBxE,EAAMiE,UAAUO,gBACjCvC,eAAgBjC,EAAMiE,UAAUhC,kBAElCkC,KALMK,EAAR,EAAQA,gBAAiBvC,EAAzB,EAAyBA,eAQzB,EAA0BvU,mBAAS,IAAnC,mBAAOoS,EAAP,KAAckH,EAAd,KAYA,OAVAxS,qBAAU,WACR,IAAIyS,EAASnmB,EAAK,GAAK,gBACnB0jB,GAAmB1jB,IACrBmmB,EAAM,yBAAqBzC,EAAgB7F,YAArC,MAGRqI,EAASC,KAER,CAACzC,EAAiBvC,IAGnB,oCACGA,GAAkB,kBAAC,IAAD,MACnB,kBAACkF,EAAA,EAAMlV,OAAP,CAAcmV,aAAW,GACvB,kBAACD,EAAA,EAAM9U,MAAP,CAAavR,GAAG,gCAAgCgf,K,mDCpBlD6B,EAAqBC,MAAaC,MAAM,CAC5CkgB,cAAengB,MACZ4U,IAAI,EAAG,qBACPC,IAAI,GAAI,sBACRnjB,SAAS,iCACZ0uB,SAAUpgB,MACP4U,IAAI,EAAG,qBACPC,IAAI,GAAI,sBACRnjB,SAAS,wBACZ2uB,gBAAiBrgB,MACd4U,IAAI,EAAG,qBACPC,IAAI,GAAI,sBACRnjB,SAAS,wBACZ+b,MAAOzN,MACJyN,MAAM,iBACN/b,SAAS,qBACZ4uB,MAAOtgB,MACJ4U,IAAI,EAAG,oBACPC,IAAI,GAAI,qBACRnjB,SAAS,4BACZud,SAAUjP,MAAatO,SAAS,wBAChCyd,aAAcnP,MACXugB,UAAS,GACT7uB,SAAS,6BACZgc,UAAW1N,MAAatO,SAAS,4BAE7B0E,EAAYrB,aAAW,SAAAC,GAAK,MAAK,CACrC0V,UAAW,CACTzE,QAAS,OACTG,SAAU,QAEZuE,UAAW,CACTzU,WAAYlB,EAAMK,QAAQ,GAC1BW,YAAahB,EAAMK,QAAQ,IAE7B4hB,MAAO,CACL7hB,UAAWJ,EAAMK,QAAQ,IAE3B6hB,KAAM,CACJhiB,MAAO,SAIJ,SAASgL,EAAT,GAKH,IAJFC,EAIC,EAJDA,aACAC,EAGC,EAHDA,SACAC,EAEC,EAFDA,eACAlQ,EACC,EADDA,OAEM9Q,EAAU+W,IAChB,EAA4BoT,IAAM1d,SAAS,CACzChH,KAAM,GACN07B,IAAK,GACLC,UAAW,aACXC,SAAU,QAJZ,6BAUA,OACE,oCACE,kBAAC,IAAD,CACErf,oBAAoB,EACpBC,cAAelB,EACfmB,iBAAkBxB,EAClByB,SAAU,SAACxb,GACTma,EAAana,MAGd,gBAAG6b,EAAH,EAAGA,aAAH,OACC,oCACE,kBAAC0D,EAAA,EAAMhV,KAAP,CAAYzR,UAAU,yBACnBuhB,GACC,yBAAKvhB,UAAU,gCACb,yBAAKA,UAAU,wCAGnB,kBAAC,IAAD,CAAMA,UAAU,yBACd,yBAAKA,UAAU,kBACb,yBAAKA,UAAU,YACb,kBAAC+oB,EAAA,EAAD,CACE3oB,GAAG,4BACHoD,MAAM,cACNm+B,WAAS,EACT1mB,KAAK,IACLuG,aAAa,GACbxhB,UAAWO,EAAQsrB,UACnB7U,OAAO,SACP2c,QAAQ,iBAMlB,kBAAClN,EAAA,EAAM/U,OAAP,KACE,4BACE3O,KAAK,SACL0J,QAAS4E,EACTrR,UAAU,6BAHZ,UAOA,yCACA,4BACE+C,KAAK,SACL0J,QAAS,kBAAMsW,KACf/iB,UAAU,+BAHZ,c,YCnHDsuB,EAA2B,CAAC,SAAU,UAAW,OAAQ,IAIzD1d,EAAgB,CAAC,CAAExE,UAAW,KAAMyE,MAAO,SAC3C0d,EAAkB,CAC7B,CAAEtvB,KAAM,IAAKE,MAAO,GACpB,CAAEF,KAAM,IAAKE,MAAO,GACpB,CAAEF,KAAM,KAAME,MAAO,KAEVqvB,EAAgB,CAC3Bjf,OAAQ,CACNkf,SAAU,GACVC,UAAW,GACXC,MAAO,GACPC,UAAW,IAEbC,UAAW,MACXC,UAAW,KACXC,WAAY,EACZC,SAAU,IChBNC,EAAqBC,0BAEpB,SAASC,IACd,OAAOC,qBAAWH,GAGeA,EAAmBI,SAE/C,SAASC,EAAT,GAA6D,IAA/BC,EAA8B,EAA9BA,kBAAmB7G,EAAW,EAAXA,SACtD,EAA0C1b,mBAASwhB,GAAnD,mBAAOlJ,EAAP,KAAoBkK,EAApB,KACA,EAAsBxiB,mBAAS,IAA/B,mBAAOkY,EAAP,KAAYuK,EAAZ,KACMC,EAAiBC,uBAAY,SAAAC,GACjCJ,GAAmB,SAAAK,GAKjB,OAJIC,qBAAWF,KACbA,EAAkBA,EAAgBC,IAGhCE,kBAAQF,EAAiBD,GACpBC,EAGFD,OAER,IAeGzwB,EAAQ,CACZmmB,cACAkK,qBACAtK,MACAuK,SACAC,iBACAM,aAnBmB,CACnB5vB,QAAI0F,EACJ4oB,UAAW,GACXD,SAAU,GACVE,MAAO,GACPwB,SAAU,GACVC,OAAQ,SACRrb,OAAQ,EACRsb,aAAc,GACdzB,UAAW,GACX7rB,KAAM,GAUNutB,uBAAwBf,EAAkBe,uBAC1CC,uBAAwBhB,EAAkBgB,uBAC1CC,yBAA0BjB,EAAkBiB,yBAC5CC,0BAA2BlB,EAAkBkB,0BAC7CC,yBAA0BnB,EAAkBmB,yBAC5CC,gCAAiCpB,EAAkBoB,iCAGrD,OAAO,kBAAC1B,EAAmB2B,SAApB,CAA6BzxB,MAAOA,GAAQupB,GCjD9C,SAASmI,EAAT,GAAmD,IAArBzwB,EAAoB,EAApBA,GAAIgR,EAAgB,EAAhBA,KAAMC,EAAU,EAAVA,OAEvCyf,EAAqB3B,IACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACLhB,aAAcc,EAAmBd,gBAElC,CAACc,IAGEvL,EAAW0L,cACjB,EAA4C3N,aAC1C,SAAChE,GAAD,MAAY,CACViC,eAAgBjC,EAAMiE,UAAUhC,eAChCuC,gBAAiBxE,EAAMiE,UAAUO,mBAEnCL,KALMlC,EAAR,EAAQA,eAAgBuC,EAAxB,EAAwBA,gBAQxBhQ,qBAAU,WAERyR,EAAStB,EAAsB7jB,MAC9B,CAACA,EAAImlB,IAaR,OACE,kBAACkB,EAAA,EAAD,CACEtV,KAAK,KACLC,KAAMA,EACNC,OAAQA,EACRC,kBAAgB,gCAEhB,kBAAC+U,EAAD,CAA0BjmB,GAAIA,IAC9B,kBAACghB,EAAD,CACEC,aAnBe,SAACC,GACflhB,EAKHmlB,EAAStB,EAAuB3C,IAAW1M,MAAK,kBAAMvD,OAHtDkU,EAAStB,EAAuB3C,IAAW1M,MAAK,kBAAMvD,QAiBpDkQ,eAAgBA,EAChBD,SAAUwC,GAAmBiN,EAAiBf,aAC9C3e,OAAQA,KChDT,SAAS6f,EAAT,GAAqD,IAArB9wB,EAAoB,EAApBA,GAAIgR,EAAgB,EAAhBA,KAAMC,EAAU,EAAVA,OAEzCyf,EAAqB3B,IACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACLvB,OAAQqB,EAAmBrB,OAC3BnK,YAAawL,EAAmBxL,eAEjC,CAACwL,IAGEvL,EAAW0L,cACT5N,EAAcC,aACpB,SAAChE,GAAD,MAAY,CAAE+D,UAAW/D,EAAMiE,UAAUhC,kBACzCkC,KAFMJ,UAMRvP,qBAAU,WACH1T,GACHiR,MAGD,CAACjR,IAGJ0T,qBAAU,cAAU,CAACuP,EAAWkC,IAchC,OACE,kBAACkB,EAAA,EAAD,CACErV,KAAMA,EACNC,OAAQA,EACRC,kBAAgB,gCAGf+R,GAAa,kBAAC,IAAD,MAEd,kBAACoD,EAAA,EAAMlV,OAAP,CAAcmV,aAAW,GACvB,kBAACD,EAAA,EAAM9U,MAAP,CAAavR,GAAG,gCAAhB,oBAIF,kBAACqmB,EAAA,EAAMhV,KAAP,MACI4R,GACA,mFAEDA,GAAa,0DAEhB,kBAACoD,EAAA,EAAM/U,OAAP,KACE,6BACE,4BACE3O,KAAK,SACL0J,QAAS4E,EACTrR,UAAU,6BAHZ,UAOA,yCACA,4BACE+C,KAAK,SACL0J,QA5Ca,WAErB8Y,EAAStB,EAAuB7jB,IAAKwU,MAAK,WAExC2Q,EAAStB,EAAuB8M,EAAiBzL,cAEjDyL,EAAiBtB,OAAO,IAExBpe,QAqCMrR,UAAU,+BAHZ,aCtEH,SAASmxB,EAAT,GAAkD,IAAjB/f,EAAgB,EAAhBA,KAAMC,EAAU,EAAVA,OAEtCyf,EAAqB3B,IACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACL9L,IAAK4L,EAAmB5L,IACxBuK,OAAQqB,EAAmBrB,OAC3BnK,YAAawL,EAAmBxL,eAEjC,CAACwL,IAGEvL,EAAW0L,cACT5N,EAAcC,aACpB,SAAChE,GAAD,MAAY,CAAE+D,UAAW/D,EAAMiE,UAAUhC,kBACzCkC,KAFMJ,UAMRvP,qBAAU,WACHid,EAAiB7L,KAAuC,IAAhC6L,EAAiB7L,IAAIrc,QAChDwI,MAGD,CAAC0f,EAAiB7L,MAGrBpR,qBAAU,cAAU,CAACuP,EAAWkC,IAiBhC,OACE,kBAACkB,EAAA,EAAD,CACErV,KAAMA,EACNC,OAAQA,EACRC,kBAAgB,gCAGf+R,GAAa,kBAAC,IAAD,MAEd,kBAACoD,EAAA,EAAMlV,OAAP,CAAcmV,aAAW,GACvB,kBAACD,EAAA,EAAM9U,MAAP,CAAavR,GAAG,gCAAhB,qBAIF,kBAACqmB,EAAA,EAAMhV,KAAP,MACI4R,GACA,wFAEDA,GAAa,2DAEhB,kBAACoD,EAAA,EAAM/U,OAAP,KACE,6BACE,4BACE3O,KAAK,SACL0J,QAAS4E,EACTrR,UAAU,6BAHZ,UAOA,yCACA,4BACE+C,KAAK,SACL0J,QA/Cc,WAEtB8Y,EAAStB,EAAwB8M,EAAiB7L,MAAMtQ,MAAK,WAE3D2Q,EAAStB,EAAuB8M,EAAiBzL,cAAc1Q,MAC7D,WAEEmc,EAAiBtB,OAAO,IAExBpe,WAuCErR,UAAU,+BAHZ,aC3EV,IAAMoxB,EAAoB,SAACvN,EAAUqB,GACnC,IAAMmM,EAAa,GAOnB,OANAnM,EAAIhkB,SAAQ,SAACd,GACX,IAAMkhB,EAAWuC,EAASV,MAAK,SAAC6B,GAAD,OAAQA,EAAG5kB,KAAOA,KAC7CkhB,GACF+P,EAAWvoB,KAAKwY,MAGb+P,GAGF,SAASC,EAAT,GAAiD,IAAjBlgB,EAAgB,EAAhBA,KAAMC,EAAU,EAAVA,OAErCyf,EAAqB3B,IACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACL9L,IAAK4L,EAAmB5L,OAEzB,CAAC4L,IAGIvN,EAAcD,aACpB,SAAChE,GAAD,MAAY,CACViE,UAAW6N,EACT9R,EAAMiE,UAAUM,SAChBkN,EAAiB7L,QAGrBzB,KAPMF,UAkBR,OAPAzP,qBAAU,WACHid,EAAiB7L,KAAuC,IAAhC6L,EAAiB7L,IAAIrc,QAChDwI,MAGD,CAAC0f,EAAiB7L,MAGnB,kBAACuB,EAAA,EAAD,CACErV,KAAMA,EACNC,OAAQA,EACRC,kBAAgB,gCAEhB,kBAACmV,EAAA,EAAMlV,OAAP,CAAcmV,aAAW,GACvB,kBAACD,EAAA,EAAM9U,MAAP,CAAavR,GAAG,gCAAhB,4BAIF,kBAACqmB,EAAA,EAAMhV,KAAP,KACE,yBAAKzR,UAAU,4BACZujB,EAAUxf,KAAI,SAACud,GAAD,OACb,yBAAKthB,UAAU,kCAAkCsH,IAAG,YAAOga,EAASlhB,KAClE,yBAAKJ,UAAU,gFACf,yBAAKA,UAAU,kBACb,uBACEA,UAAS,gCACPsuB,EAAyBhN,EAASvM,QAD3B,gBAKb,yBAAK/U,UAAU,sCACb,0BACIA,UAAS,qCACPsuB,EAAyBhN,EAASvM,QAD3B,kBADb,OAKSuM,EAASlhB,IAElB,0BAAMJ,UAAU,QAAQshB,EAASmN,SAAjC,KAA6CnN,EAASoN,kBAMhE,kBAACjI,EAAA,EAAM/U,OAAP,KACE,6BACE,4BACE3O,KAAK,SACL0J,QAAS4E,EACTrR,UAAU,6BAHZ,UAOA,yCACA,4BACE+C,KAAK,SACL0J,QAAS4E,EACTrR,UAAU,+BAHZ,SCrFV,IAAMoxB,EAAoB,SAACvN,EAAUqB,GACnC,IAAMmM,EAAa,GAOnB,OANAnM,EAAIhkB,SAAQ,SAACd,GACX,IAAMkhB,EAAWuC,EAASV,MAAK,SAAC6B,GAAD,OAAQA,EAAG5kB,KAAOA,KAC7CkhB,GACF+P,EAAWvoB,KAAKwY,MAGb+P,GAGF,SAASE,EAAT,GAAuD,IAAjBngB,EAAgB,EAAhBA,KAAMC,EAAU,EAAVA,OAE3Cyf,EAAqB3B,IACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACL9L,IAAK4L,EAAmB5L,IACxBuK,OAAQqB,EAAmBrB,OAC3BnK,YAAawL,EAAmBxL,eAEjC,CAACwL,IAGJ,EAAiCxN,aAC/B,SAAChE,GAAD,MAAY,CACViE,UAAW6N,EACT9R,EAAMiE,UAAUM,SAChBkN,EAAiB7L,KAEnB7B,UAAW/D,EAAMiE,UAAUhC,kBAE7BkC,KARMF,EAAR,EAAQA,UAAWF,EAAnB,EAAmBA,UAYnBvP,qBAAU,WACHid,EAAiB7L,KAAuC,IAAhC6L,EAAiB7L,IAAIrc,QAChDwI,MAGD,CAAC0f,EAAiB7L,MAErB,MAA4BlY,mBAAS,GAArC,mBAAO+H,EAAP,KAAeyc,EAAf,KAEMjM,EAAW0L,cAkBjB,OACE,kBAACxK,EAAA,EAAD,CACErV,KAAMA,EACNC,OAAQA,EACRC,kBAAgB,gCAEhB,kBAACmV,EAAA,EAAMlV,OAAP,CAAcmV,aAAW,GACvB,kBAACD,EAAA,EAAM9U,MAAP,CAAavR,GAAG,gCAAhB,8CAIF,kBAACqmB,EAAA,EAAMhV,KAAP,CAAYzR,UAAU,yBAEnBqjB,GACC,yBAAKrjB,UAAU,iBACb,yBAAKA,UAAU,wCAKnB,yBAAKA,UAAU,4BACZujB,EAAUxf,KAAI,SAACud,GAAD,OACb,yBACEthB,UAAU,kCACVsH,IAAG,yBAAoBga,EAASlhB,KAEhC,yBAAKJ,UAAU,gFACf,yBAAKA,UAAU,kBACb,uBACEA,UAAS,gCACPsuB,EAAyBhN,EAASvM,QAD3B,gBAKb,yBAAK/U,UAAU,sCACb,0BACEA,UAAS,qCACPsuB,EAAyBhN,EAASvM,QAD3B,kBADX,OAKOuM,EAASlhB,IAEhB,0BAAMJ,UAAU,QACbshB,EAASmN,SADZ,KACwBnN,EAASoN,kBAO3C,kBAACjI,EAAA,EAAM/U,OAAP,CAAc1R,UAAU,QACtB,yBAAKA,UAAU,cACb,4BACEA,UAAU,eACVb,MAAO4V,EACP1F,SAAU,SAACC,GAAD,OAAOkiB,GAAWliB,EAAEM,OAAOzQ,SAErC,4BAAQA,MAAM,KAAd,YACA,4BAAQA,MAAM,KAAd,YAGJ,yBAAKa,UAAU,cACb,4BACE+C,KAAK,SACL0J,QAAS4E,EACTrR,UAAU,kCAHZ,UAOA,4BACE+C,KAAK,SACL0J,QAxFW,WAEnB8Y,EAAStB,EAA8B8M,EAAiB7L,IAAKnQ,IAASH,MACpE,WAEE2Q,EAAStB,EAAuB8M,EAAiBzL,cAAc1Q,MAC7D,WAEEmc,EAAiBtB,OAAO,IAExBpe,WA+EArR,UAAU,+BAHZ,oBCnHH,SAASqyB,EAAT,GAA0C,EAAf7O,YAAgB,IAE1CsN,EAAqB3B,IACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACL1L,YAAawL,EAAmBxL,YAChCoK,eAAgBoB,EAAmBpB,kBAEpC,CAACoB,IAGE0B,EAAc,SAACtrB,GACnB,IAAMurB,EA/BY,SAACnN,EAAape,GAClC,IAAQ6N,EAA6B7N,EAA7B6N,OAAQhS,EAAqBmE,EAArBnE,KAAM2vB,EAAexrB,EAAfwrB,WAChBD,EAAc,eAAQnN,GACtB/V,EAAS,GAaf,OAXAA,EAAOwF,OAAoB,KAAXA,GAAiBA,OAASjP,EAE1CyJ,EAAOxM,KAAgB,KAATA,GAAeA,OAAO+C,EAEpCyJ,EAAOkf,SAAWiE,EACdA,IACFnjB,EAAOmf,UAAYgE,EACnBnjB,EAAOof,MAAQ+D,EACfnjB,EAAOqf,UAAY8D,GAErBD,EAAeljB,OAASA,EACjBkjB,EAekBG,CAAc7B,EAAiBzL,YAAape,GAC9D6oB,kBAAQ0C,EAAgB1B,EAAiBzL,eAC5CmN,EAAe1D,WAAa,EAE5BgC,EAAiBrB,eAAe+C,KAIpC,OACE,oCACE,kBAAC,IAAD,CACEjQ,cAAe,CACbzN,OAAQ,GACRhS,KAAM,GACN2vB,WAAY,IAEdhQ,SAAU,SAACxb,GACTsrB,EAAYtrB,MAGb,cACCA,OADD,IAEC6b,EAFD,EAECA,aAFD,EAGCqQ,WAHD,EAICC,aAJD,EAKCngB,cALD,OAOG,0BAAMwP,SAAUK,EAAc/iB,UAAU,6BAI9C,yBAAKA,UAAU,kBACb,kHACA,kJACA,+H,uEC9DD,SAASm0B,GACdC,EACA5sB,EACA6sB,EAHK,GAKJ,IADC9D,EACF,EADEA,uBAAwBC,EAC1B,EAD0BA,yBAE1B,OACE,oCACE,uBACEpR,MAAM,gBACNpf,UAAU,uDACVyM,QAAS,kBAAM8jB,EAAuB/oB,EAAIpH,MAE1C,0BAAMJ,UAAU,yCACd,kBAAC,KAAD,CACEwI,IAAKC,aAAc,gDAIzB,yCAEA,uBACE2W,MAAM,kBACNpf,UAAU,iDACVyM,QAAS,kBAAM+jB,EAAyBhpB,EAAIpH,MAE5C,0BAAMJ,UAAU,wCACd,kBAAC,KAAD,CAAKwI,IAAKC,aAAc,2CCX3B,SAAS6rB,KAEd,IAAMxD,EAAqB3B,IACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACL9L,IAAK4L,EAAmB5L,IACxBuK,OAAQqB,EAAmBrB,OAC3BnK,YAAawL,EAAmBxL,YAChCoK,eAAgBoB,EAAmBpB,eACnCa,uBAAwBO,EAAmBP,uBAC3CC,yBAA0BM,EAAmBN,4BAE9C,CAACM,IAGIyD,EAAiBjR,aACvB,SAAChE,GAAD,MAAY,CAAEiV,aAAcjV,EAAMiE,aAClCE,KAFM8Q,aAIA3Q,EAAsC2Q,EAAtC3Q,WAAYC,EAA0B0Q,EAA1B1Q,SAAUL,EAAgB+Q,EAAhB/Q,YAGxB+B,EAAW0L,cACjBnd,qBAAU,WAERid,EAAiBtB,OAAO,IAExBlK,EAAStB,EAAuB8M,EAAiBzL,gBAEhD,CAACyL,EAAiBzL,YAAaC,IAElC,IAAMpZ,EAAU,CACd,CACEC,UAAW,KACXnN,KAAM,KACNyN,MAAM,EACNC,UAAWA,KACXC,2BAEF,CACER,UAAW,SACXnN,KAAM,SACNyN,MAAM,EACNC,UAAWA,KACXC,2BAEF,CACER,UAAW,YACXnN,KAAM,YACNyN,MAAM,EACNC,UAAWA,KACXC,2BAEF,CACER,UAAW,aACXnN,KAAM,cACNyN,MAAM,EACNC,UAAWA,KACXC,2BAEF,CACER,UAAW,qBACXnN,KAAM,uBACNyN,MAAM,EACNC,UAAWA,KACXC,2BAEF,CACER,UAAW,kBACXnN,KAAM,oBACNyN,MAAM,EACNC,UAAWA,KACXC,2BAEF,CACER,UAAW,qBACXnN,KAAM,uBACNyN,MAAM,EACNC,UAAWA,KACXC,2BAEF,CACER,UAAW,SACXnN,KAAM,UACNoN,UAAWmoB,GACXC,gBAAiB,CACflE,uBAAwBQ,EAAiBR,uBACzCC,yBAA0BO,EAAiBP,0BAE7CjwB,QAAS,mBACTm0B,cAAe,mBACftwB,MAAO,CACLuS,SAAU,WAKVge,EAAoB,CACxBC,QAAQ,EACRC,UAAWjR,EACX2K,gBAAiBuG,EACjBC,YAAahE,EAAiBzL,YAAY0J,SAC1CgG,KAAMjE,EAAiBzL,YAAYyJ,YAErC,OACE,oCACE,kBAAC,qBAAD,CAAoBje,WAAYC,KAAkB4jB,KAC/C,YAAgD,IAA7CM,EAA4C,EAA5CA,gBAAiBC,EAA2B,EAA3BA,qBACnB,OACE,kBAAC,IAAD,CACE7R,UAAWG,EACXyR,gBAAiBA,GAEjB,kBAAC,IAAD,eACEjkB,eAAe,mBACfE,UAAU,EACV3Q,QAAQ,gDACR0Q,YAAU,EACVkkB,QAAM,EACNxkB,SAAS,KACTpO,KAAmB,OAAbshB,EAAoB,GAAKA,EAC/B1X,QAASA,EACTyE,cAAekkB,EACfM,cAAeC,aACbtE,EAAiBrB,gBAEnBgI,UAAWC,aAAa,CACtB9T,WACAqB,IAAK6L,EAAiB7L,IACtBuK,OAAQsB,EAAiBtB,UAEvByF,GAEJ,kBAAC,KAAD,CAAmBrR,SAAUA,IAC7B,kBAAC,KAAD,CAAuBA,SAAUA,UC1J1C,SAASyR,KAEd,IAAMxE,EAAqB3B,IACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACL9L,IAAK4L,EAAmB5L,IACxBuK,OAAQqB,EAAmBrB,OAC3BgB,0BAA2BK,EAAmBL,0BAC9CC,yBAA0BI,EAAmBJ,yBAC7CC,gCACEG,EAAmBH,mCAEtB,CAACG,IAEJ,OACE,yBAAK9wB,UAAU,QACb,yBAAKA,UAAU,4EACb,yBAAKA,UAAU,aACb,yBAAKA,UAAU,gCACb,yBAAKA,UAAU,iCACb,2BAAOA,UAAU,yBACf,yDAC0B,2BAAI+wB,EAAiB7L,IAAIrc,WAIvD,6BACE,4BACE9F,KAAK,SACL/C,UAAU,iDACVyM,QAASskB,EAAiBN,2BAE1B,uBAAGzwB,UAAU,gBALf,eADF,YCPZ,IAAMsX,GAAYrB,aAAW,SAAAC,GAAK,MAAK,CACrC0V,UAAW,CACTzE,QAAS,OACTG,SAAU,QAEZuE,UAAW,CACTzU,WAAYlB,EAAMK,QAAQ,GAC1BW,YAAahB,EAAMK,QAAQ,GAC3BH,MAAO,SAIJ,SAASmf,KACd,IAAMh1B,EAAU+W,KACVwZ,EAAqB3B,IACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACL9L,IAAK4L,EAAmB5L,IACxBoL,uBAAwBQ,EAAmBR,0BAE5C,CAACQ,IAEJ,OACE,kBAAC,IAAD,KACE,kBAAC,IAAD,CAAY1R,MAAM,uBAChB,kBAAC,IAAD,OAGF,kBAAC,IAAD,KACE,kBAACiT,EAAD,MACCtB,EAAiB7L,IAAIrc,OAAS,GAAK,kBAACysB,GAAD,MACpC,kBAAChB,GAAD,MACA,yBAAKt0B,UAAU,uBACb,0BAAMA,UAAWO,EAAQqrB,UAAWyW,YAAU,GAC5C,kDACA,kBAACtZ,EAAA,EAAD,CACE3oB,GAAG,OACH2C,KAAK,OACLye,aAAa,aACbxhB,UAAWO,EAAQsrB,UACnB9X,gBAAiB,CACfC,QAAQ,OAKhB,6BACA,4BACE,4BAAI,+GACJ,4BAAI,oUACJ,4BAAI,2DAGR,kBAAC,IAAD,KACE,4BACEjR,KAAK,SACL/C,UAAU,wCACVyM,QAAQ,6CAHV,YCjED,SAAS61B,GAAT,GAA0C,IAAZ7M,EAAW,EAAXA,QAC7BlG,EAAoB,CACxBe,uBAAwB,WACtBmF,EAAQ3sB,KAAK,4BAEfynB,uBAAwB,SAACnwB,GACvBq1B,EAAQ3sB,KAAR,8BAAoC1I,EAApC,WAEFowB,yBAA0B,SAACpwB,GACzBq1B,EAAQ3sB,KAAR,8BAAoC1I,EAApC,aAEFqwB,0BAA2B,WACzBgF,EAAQ3sB,KAAR,wCAEF4nB,yBAA0B,WACxB+E,EAAQ3sB,KAAR,8BAEF6nB,gCAAiC,WAC/B8E,EAAQ3sB,KAAK,sCAIjB,OACE,kBAACwmB,EAAD,CAAqBC,kBAAmBA,GACtC,kBAACnM,EAAD,MACA,kBAAC,IAAD,CAAOnV,KAAK,4BACT,gBAAGwnB,EAAH,EAAGA,QAAS1pB,EAAZ,EAAYA,MAAZ,OACC,kBAAC8kB,EAAD,CACEzf,KAAe,MAATrF,EACNsF,OAAQ,WACNokB,EAAQ3sB,KAAK,6BAKrB,kBAAC,IAAD,CAAOmF,KAAK,iCACT,gBAAGwnB,EAAH,EAAGA,QAAS1pB,EAAZ,EAAYA,MAAZ,OACC,kBAAC8kB,EAAD,CACEzf,KAAe,MAATrF,EACN3L,GAAI2L,GAASA,EAAM2pB,OAAOt1B,GAC1BiR,OAAQ,WACNokB,EAAQ3sB,KAAK,6BAKrB,kBAAC,IAAD,CAAOmF,KAAK,wCACT,gBAAGwnB,EAAH,EAAGA,QAAS1pB,EAAZ,EAAYA,MAAZ,OACC,kBAAColB,EAAD,CACE/f,KAAe,MAATrF,EACNsF,OAAQ,WACNokB,EAAQ3sB,KAAK,6BAKrB,kBAAC,IAAD,CAAOmF,KAAK,mCACT,gBAAGwnB,EAAH,EAAGA,QAAS1pB,EAAZ,EAAYA,MAAZ,OACC,kBAACmlB,EAAD,CACE9f,KAAe,MAATrF,EACN3L,GAAI2L,GAASA,EAAM2pB,OAAOt1B,GAC1BiR,OAAQ,WACNokB,EAAQ3sB,KAAK,6BAKrB,kBAAC,IAAD,CAAOmF,KAAK,8BACT,gBAAGwnB,EAAH,EAAGA,QAAS1pB,EAAZ,EAAYA,MAAZ,OACC,kBAACulB,EAAD,CACElgB,KAAe,MAATrF,EACNsF,OAAQ,WACNokB,EAAQ3sB,KAAK,6BAKrB,kBAAC,IAAD,CAAOmF,KAAK,qCACT,gBAAGwnB,EAAH,EAAGA,QAAS1pB,EAAZ,EAAYA,MAAZ,OACC,kBAACwlB,EAAD,CACEngB,KAAe,MAATrF,EACNsF,OAAQ,WACNokB,EAAQ3sB,KAAK,6BAKrB,kBAACysB,GAAD,OAlGN,oC,6ECIO,SAASnS,IAEd,IAAQC,EAAcC,aACpB,SAAChE,GAAD,MAAY,CAAE+D,UAAW/D,EAAMiE,UAAUC,eACzCC,KAFMJ,UAMR,OADAvP,qBAAU,cAAU,CAACuP,IACd,kBAAC,IAAD,CAAeA,UAAWA,EAAWpkB,KAAK,gB,6BCVtCykB,EAAgB,mB,YCAvBC,EAAwB,CAC5BH,aAAa,EACbjC,gBAAgB,EAChBqC,WAAY,EACZC,SAAU,KACVC,qBAAiBhe,EACjBie,UAAW,MAEAC,EACL,OADKA,EAEH,SCTFC,EDYsBC,YAAY,CACxCle,KAAM,YACNme,aAAcR,EACdS,SAAU,CACRC,WAAY,SAAC/E,EAAOgF,GAClBhF,EAAM/U,MAAN,UAAiB+Z,EAAOvhB,KAAxB,aAAiCuhB,EAAOC,QAAQha,OAC5C+Z,EAAOC,QAAQC,WAAaR,EAC9B1E,EAAMkE,aAAc,EAEpBlE,EAAMiC,gBAAiB,GAG3BkD,UAAW,SAACnF,EAAOgF,GACjBhF,EAAM/U,MAAQ,KACV+Z,EAAOC,QAAQC,WAAaR,EAC9B1E,EAAMkE,aAAc,EAEpBlE,EAAMiC,gBAAiB,GAI3BmD,gBAAiB,SAACpF,EAAOgF,GACvBhF,EAAMiC,gBAAiB,EACvBjC,EAAMwE,gBAAkBQ,EAAOC,QAAQT,gBACvCxE,EAAM/U,MAAQ,MAGhBoa,iBAAkB,SAACrF,EAAOgF,GACxB,MAAiCA,EAAOC,QAAhCX,EAAR,EAAQA,WAAYC,EAApB,EAAoBA,SACpBvE,EAAMkE,aAAc,EACpBlE,EAAM/U,MAAQ,KACd+U,EAAMuE,SAAWA,EACjBvE,EAAMsE,WAAaA,GAGrBgB,gBAAiB,SAACtF,EAAOgF,GACvBhF,EAAMiC,gBAAiB,EACvBjC,EAAM/U,MAAQ,KACd+U,EAAMuE,SAAS/a,KAAKwb,EAAOC,QAAQjD,WAGrCuD,gBAAiB,SAACvF,EAAOgF,GACvBhF,EAAM/U,MAAQ,KACd+U,EAAMiC,gBAAiB,EACvBjC,EAAMuE,SAAWvE,EAAMuE,SAAS9f,KAAI,SAAA+gB,GAClC,OAAIA,EAAO1kB,KAAOkkB,EAAOC,QAAQjD,SAASlhB,GACjCkkB,EAAOC,QAAQjD,SAEjBwD,MAIXC,gBAAiB,SAACzF,EAAOgF,GACvBhF,EAAM/U,MAAQ,KACd+U,EAAMiC,gBAAiB,EACvBjC,EAAMuE,SAAWvE,EAAMuE,SAAStU,QAAO,SAAAyV,GAAE,OAAIA,EAAG5kB,KAAOkkB,EAAOC,QAAQnkB,OAGxE6kB,iBAAkB,SAAC3F,EAAOgF,GACxBhF,EAAM/U,MAAQ,KACd+U,EAAMiC,gBAAiB,EACvBjC,EAAMuE,SAAWvE,EAAMuE,SAAStU,QAC9B,SAAAyV,GAAE,OAAKV,EAAOC,QAAQW,IAAIvV,SAASqV,EAAG5kB,QAI1C+kB,uBAAwB,SAAC7F,EAAOgF,GAC9BhF,EAAMiC,gBAAiB,EACvBjC,EAAM/U,MAAQ,KACd,MAAwB+Z,EAAOC,QAAvBW,EAAR,EAAQA,IAAKnQ,EAAb,EAAaA,OACbuK,EAAMuE,SAAWvE,EAAMuE,SAAS9f,KAAI,SAAA+gB,GAIlC,OAHII,EAAIE,WAAU,SAAAhlB,GAAE,OAAIA,IAAO0kB,EAAO1kB,OAAO,IAC3C0kB,EAAO/P,OAASA,GAEX+P,SCtFPb,QAEKoB,EAAiB,SAAAC,GAAW,OAAI,SAAAC,GAE3C,OADAA,EAAStB,EAAQQ,UAAU,CAAED,SAAUR,KFclC,SAAuBsB,GAC5B,OAAOhD,IAAMkD,KAAN,UAAc9B,EAAd,SAAoC,CAAE4B,gBEdtCG,CACUH,GACd1Q,MAAK,SAAAC,GACJ,MAAiCA,EAAStS,KAAlCqhB,EAAR,EAAQA,WAAYC,EAApB,EAAoBA,SACpB0B,EAAStB,EAAQU,iBAAiB,CAAEf,aAAYC,iBAEjD1O,OAAM,SAAA5K,GACLA,EAAMmb,cAAgB,uBACtBH,EAAStB,EAAQI,WAAW,CAAE9Z,QAAOia,SAAUR,UAIxC2B,EAAgB,SAAAvlB,GAAE,OAAI,SAAAmlB,GACjC,OAAKnlB,GAILmlB,EAAStB,EAAQQ,UAAU,CAAED,SAAUR,MFVT4B,EEYXxlB,EFXZkiB,IAAM3M,IAAN,UAAa+N,EAAb,YAA8BkC,KEYlChR,MAAK,SAAAC,GACJ,IAAMyM,EAAWzM,EAAStS,KAC1BgjB,EAAStB,EAAQS,gBAAgB,CAAEZ,gBAAiBxC,QAErDnM,OAAM,SAAA5K,GACLA,EAAMmb,cAAgB,sBACtBH,EAAStB,EAAQI,WAAW,CAAE9Z,QAAOia,SAAUR,SAZ1CuB,EAAStB,EAAQS,gBAAgB,CAAEZ,qBAAiBhe,KFPxD,IAAyB8f,IEuBnBC,EAAiB,SAAAzlB,GAAE,OAAI,SAAAmlB,GAElC,OADAA,EAAStB,EAAQQ,UAAU,CAAED,SAAUR,MFAV4B,EEEXxlB,EFDXkiB,IAAMwD,OAAN,UAAgBpC,EAAhB,YAAiCkC,KEErChR,MAAK,SAAAC,GACJ0Q,EAAStB,EAAQc,gBAAgB,CAAE3kB,WAEpC+U,OAAM,SAAA5K,GACLA,EAAMmb,cAAgB,wBACtBH,EAAStB,EAAQI,WAAW,CAAE9Z,QAAOia,SAAUR,QFR9C,IAAwB4B,IEYlBG,EAAiB,SAAAC,GAAmB,OAAI,SAAAT,GAEnD,OADAA,EAAStB,EAAQQ,UAAU,CAAED,SAAUR,MF9CV1C,EEgDX0E,EF/CX1D,IAAMkD,KAAK9B,EAAe,CAAEpC,cEgDhC1M,MAAK,SAAAC,GACJ,IAAQyM,EAAazM,EAAStS,KAAtB+e,SACRiE,EAAStB,EAAQW,gBAAgB,CAAEtD,iBAEpCnM,OAAM,SAAA5K,GACLA,EAAMmb,cAAgB,wBACtBH,EAAStB,EAAQI,WAAW,CAAE9Z,QAAOia,SAAUR,QFvD9C,IAAwB1C,IE2DlB2E,EAAiB,SAAA3E,GAAQ,OAAI,SAAAiE,GAExC,OADAA,EAAStB,EAAQQ,UAAU,CAAED,SAAUR,KFxClC,SAAwB1C,GAC7B,OAAOgB,IAAM4D,IAAN,UAAaxC,EAAb,YAA8BpC,EAASlhB,IAAM,CAAEkhB,aEwC/CmE,CACWnE,GACf1M,MAAK,WACJ,OAAQ0M,EAASihB,YACf,IAAK,IACHjhB,EAASkhB,SAAW,UACpB,MACF,IAAK,IACHlhB,EAASkhB,SAAW,WAGxB,OAAQlhB,EAASmhB,gBACf,IAAK,IACHnhB,EAASohB,SAAW,OACpB,MACF,IAAK,IACHphB,EAASohB,SAAW,UACpB,MAEF,IAAK,IACHphB,EAASohB,SAAW,QACpB,MAEF,IAAK,IACHphB,EAASohB,SAAW,YACpB,MAEF,IAAK,IACHphB,EAASohB,SAAW,QAGxBnd,EAAStB,EAAQY,gBAAgB,CAAEvD,iBAEpCnM,OAAM,SAAA5K,GACLA,EAAMmb,cAAgB,wBACtBH,EAAStB,EAAQI,WAAW,CAAE9Z,QAAOia,SAAUR,UAIxCmC,EAAwB,SAACjB,EAAKnQ,GAAN,OAAiB,SAAAwQ,GAEpD,OADAA,EAAStB,EAAQQ,UAAU,CAAED,SAAUR,KF5ElC,SAAkCkB,EAAKnQ,GAC5C,OAAOuN,IAAMkD,KAAN,UAAc9B,EAAd,6BAAwD,CAC7DwB,MACAnQ,WE0EK0Q,CACqBP,EAAKnQ,GAC9BH,MAAK,WACJ2Q,EAAStB,EAAQkB,uBAAuB,CAAED,MAAKnQ,eAEhDI,OAAM,SAAA5K,GACLA,EAAMmb,cAAgB,gCACtBH,EAAStB,EAAQI,WAAW,CAAE9Z,QAAOia,SAAUR,UAIxCoC,EAAkB,SAAAlB,GAAG,OAAI,SAAAK,GAEpC,OADAA,EAAStB,EAAQQ,UAAU,CAAED,SAAUR,KF5ElC,SAAyBkB,GAC9B,OAAO5C,IAAMkD,KAAN,UAAc9B,EAAd,oBAA+C,CAAEwB,QE4EjDO,CACYP,GAChBtQ,MAAK,WACJ2Q,EAAStB,EAAQgB,iBAAiB,CAAEC,YAErC/P,OAAM,SAAA5K,GACLA,EAAMmb,cAAgB,yBACtBH,EAAStB,EAAQI,WAAW,CAAE9Z,QAAOia,SAAUR,U,gCCxH9C,SAASqC,EAAT,GAAmD,IAAfjmB,EAAc,EAAdA,GAAIiR,EAAU,EAAVA,OAE7C,EAA4CiS,aAC1C,SAAChE,GAAD,MAAY,CACVwE,gBAAiBxE,EAAMiE,UAAUO,gBACjCvC,eAAgBjC,EAAMiE,UAAUhC,kBAElCkC,KALMK,EAAR,EAAQA,gBAAiBvC,EAAzB,EAAyBA,eAQzB,EAA0BvU,mBAAS,IAAnC,mBAAOoS,EAAP,KAAckH,EAAd,KAYA,OAVAxS,qBAAU,WACR,IAAIyS,EAASnmB,EAAK,GAAK,mBACnB0jB,GAAmB1jB,IACrBmmB,EAAM,6BAAyBzC,EAAgBZ,KAAzC,MAGRoD,EAASC,KAER,CAACzC,EAAiBvC,IAGnB,oCACGA,GAAkB,kBAAC,IAAD,MACnB,kBAACkF,EAAA,EAAMlV,OAAP,KACE,kBAACkV,EAAA,EAAM9U,MAAP,CAAavR,GAAG,gCAAgCgf,GAChD,kBAACie,EAAA,EAAD,CAEE7rB,aAAW,QACX/E,QAAS,SAAC6C,GACR+B,GAAO,KAGT,kBAAC,IAAD,S,8GClBJiG,EAAYrB,aAAW,SAAAC,GAAK,MAAK,CACrC0V,UAAW,CACTzE,QAAS,OACTG,SAAU,QAEZuE,UAAW,CACTzU,WAAYlB,EAAMK,QAAQ,GAC1BW,YAAahB,EAAMK,QAAQ,GAC3BE,aAAc,QAEhB0hB,MAAO,CACL7hB,UAAWJ,EAAMK,QAAQ,IAE3B6hB,KAAM,CACJhiB,MAAO,SAGJ,SAASgL,EAAT,GAKH,IAEEH,EANJI,EAIC,EAJDA,aACAC,EAGC,EAHDA,SACAC,EAEC,EAFDA,eACAlQ,EACC,EADDA,OAEM9Q,EAAU+W,IAGd2J,OADkBnb,IAAhBwb,EAASlhB,GACU8gB,MAAaC,MAAM,CACtC+B,KAAMhC,MACH4U,IAAI,EAAG,qBACPC,IAAI,GAAI,sBACRnjB,SAAS,oBAEZ6vB,eAAgBvhB,MACbtO,SAAS,wBAEZ2vB,WAAYrhB,MACTtO,SAAS,0BAGOsO,MAAaC,MAAM,IAE1C,MAAgCnU,oBAAS,GAAzC,mBAAOoqB,EAAP,KAAiB6C,EAAjB,KACA,EAAkDjtB,oBAAS,GAA3D,mBAAO21B,EAAP,KAAyBC,EAAzB,KAUA,OATA9uB,qBAAU,gBACwBhO,IAA5Bwb,EAASmhB,gBACXxI,EAAY3Y,EAASmhB,eAAiB,SAEZ38B,IAAxBwb,EAASihB,YACXK,EAAsBthB,EAASihB,WAAa,MAG7C,CAACjhB,IAEF,oCACE,kBAAC,IAAD,CACEiB,oBAAoB,EACpBC,cAAelB,EACfmB,iBAAkBxB,EAClByB,SAAU,SAACxb,GACTma,EAAana,MAGd,gBAAG6b,EAAH,EAAGA,aAAc7P,EAAjB,EAAiBA,cAAjB,OACC,oCACE,kBAACuT,EAAA,EAAMhV,KAAP,CAAYzR,UAAU,yBACnBuhB,GACC,yBAAKvhB,UAAU,gCACb,yBAAKA,UAAU,wCAGnB,kBAAC,IAAD,CAAMA,UAAU,yBACd,yBAAKA,UAAU,kBACb,yBAAKA,UAAU,YACb,yBAAKA,UAAU,yBACb,kBAAC,IAAD,CACEgG,KAAK,OACL0I,UAAW2f,IACXjf,YAAY,OACZ4H,OAAO,YAGX,yBAAKhX,UAAU,qBACb,kBAAC,IAAD,CACEgG,KAAK,cACL0I,UAAW2f,IACXjf,YAAY,cACZ4H,OAAO,cAKf,yBAAKhX,UAAU,kBACb,yBAAKA,UAAU,aACb,kBAAC,IAAD,CAAagG,KAAK,iBAAiBxC,MAAM,WAAWgE,KAAG,EACrDrI,MAAOi4B,EACP/nB,SAAU,SAACC,GACT2qB,EAAY3qB,EAAEM,OAAOzQ,OACrB+T,EAAc,iBAAkB5D,EAAEM,OAAOzQ,SAG3C,kBAACk7B,EAAA,EAAD,CACEl7B,MAAM,IACN6G,KAAK,iBACLs0B,QAAS,kBAACC,EAAA,EAAD,CAAOxrB,MAAM,YACtBvL,MAAM,OACNg3B,eAAe,UAEjB,kBAACH,EAAA,EAAD,CACEl7B,MAAM,IACN6G,KAAK,iBACLs0B,QAAS,kBAACC,EAAA,EAAD,CAAOxrB,MAAM,YACtBvL,MAAM,UACNg3B,eAAe,UAEjB,kBAACH,EAAA,EAAD,CACEl7B,MAAM,IACN6G,KAAK,iBACLs0B,QAAS,kBAACC,EAAA,EAAD,CAAOxrB,MAAM,YACtBvL,MAAM,QACNg3B,eAAe,UAEjB,kBAACH,EAAA,EAAD,CACEl7B,MAAM,IACN6G,KAAK,iBACLs0B,QAAS,kBAACC,EAAA,EAAD,CAAOxrB,MAAM,YACtBvL,MAAM,YACNg3B,eAAe,UAEjB,kBAACH,EAAA,EAAD,CACEl7B,MAAM,IACN6G,KAAK,iBACLs0B,QAAS,kBAACC,EAAA,EAAD,CAAOxrB,MAAM,YACtBvL,MAAM,QACNg3B,eAAe,aAKvB,yBAAKx6B,UAAU,uBACb,yBAAKA,UAAU,aACb,kBAAC6iC,EAAA,EAAD,CAAWn0B,UAAU,UAArB,kBACA,kBAAC,IAAD,CAAa1I,KAAK,aAAaxC,MAAM,WAAWgE,KAAG,EACnDrI,MAAOwjC,EACPtzB,SAAU,SAACC,GACTszB,EAAsBtzB,EAAEM,OAAOzQ,OAC/B+T,EAAc,aAAc5D,EAAEM,OAAOzQ,SAGrC,kBAACk7B,EAAA,EAAD,CACEl7B,MAAM,IACNm7B,QAAS,kBAACC,EAAA,EAAD,CAAOxrB,MAAM,YACtBvL,MAAM,oDACNg3B,eAAe,QAEjB,kBAACH,EAAA,EAAD,CACEl7B,MAAM,IACNm7B,QAAS,kBAACC,EAAA,EAAD,CAAOxrB,MAAM,YACtBvL,MAAM,mDACNg3B,eAAe,WAKvB,yBAAKx6B,UAAU,kBACb,yBAAKA,UAAU,mBACb,yBAAKA,UAAU,mBACb,kBAAC,IAAD,CACEgG,KAAK,OACL0I,UAAW2f,IACXjf,YAAY,OACZ4H,OAAO,SACPjU,KAAK,YAGT,yBAAK/C,UAAU,oBACb,kBAAC,IAAD,CACEgG,KAAK,OACL0I,UAAW2f,IACXjf,YAAY,OACZ4H,OAAO,SACPjU,KAAK,cAKb,yBAAK/C,UAAU,kBACb,yBAAKA,UAAU,aACb,kBAACmpB,EAAA,EAAD,CAAOnpB,UAAWO,EAAQ4V,MACxB,kBAAC8nB,EAAA,EAAD,CAAOj+B,UAAWO,EAAQmW,OACxB,kBAAColB,EAAA,EAAD,KACE,kBAACC,EAAA,EAAD,KACE,kBAACC,EAAA,EAAD,MACA,kBAACA,EAAA,EAAD,CACEG,MAAM,QACN/3B,MAAO,CACLsM,UAAW,WAHf,UAMA,kBAACsrB,EAAA,EAAD,CACEG,MAAM,QACN/3B,MAAO,CACLsM,UAAW,WAHf,SAMA,kBAACsrB,EAAA,EAAD,CACEG,MAAM,QACN/3B,MAAO,CACLsM,UAAW,WAHf,UAMA,kBAACsrB,EAAA,EAAD,CACEG,MAAM,QACN/3B,MAAO,CACLsM,UAAW,WAHf,YAQJ,kBAACytB,EAAA,EAAD,KACE,kBAACpC,EAAA,EAAD,KACE,kBAACC,EAAA,EAAD,CAAWttB,UAAU,KAAKC,MAAM,OAAhC,eAGA,kBAACqtB,EAAA,EAAD,CAAWG,MAAM,SACf,kBAAC,IAAD,CACEn2B,KAAK,WACL0I,UAAW2f,IACXjf,YAAY,SACZ4H,OAAO,SACPjU,KAAK,YAGT,kBAACi5B,EAAA,EAAD,CAAWG,MAAM,SACf,kBAAC,IAAD,CACEn2B,KAAK,UACL0I,UAAW2f,IACXjf,YAAY,QACZ4H,OAAO,SACPjU,KAAK,YAGT,kBAACi5B,EAAA,EAAD,CAAWG,MAAM,SAAQ,kBAAC,IAAD,CACvBn2B,KAAK,WACL0I,UAAW2f,IACXjf,YAAY,SACZ4H,OAAO,SACPjU,KAAK,YAGP,kBAACi5B,EAAA,EAAD,CAAWG,MAAM,SAAQ,kBAAC,IAAD,CACvBn2B,KAAK,WACL0I,UAAW2f,IACXjf,YAAY,SACZ4H,OAAO,SACPjU,KAAK,aAKT,kBAACg5B,EAAA,EAAD,KACE,kBAACC,EAAA,EAAD,CAAWttB,UAAU,KAAKC,MAAM,OAAhC,UAGA,kBAACqtB,EAAA,EAAD,CAAWG,MAAM,SACf,kBAAC,IAAD,CACEn2B,KAAK,SACL0I,UAAW2f,IACXjf,YAAY,SACZ4H,OAAO,SACPjU,KAAK,YAGT,kBAACi5B,EAAA,EAAD,CAAWG,MAAM,SACf,kBAAC,IAAD,CACEn2B,KAAK,QACL0I,UAAW2f,IACXjf,YAAY,QACZ4H,OAAO,SACPjU,KAAK,YAGT,kBAACi5B,EAAA,EAAD,CAAWG,MAAM,SAAQ,kBAAC,IAAD,CACvBn2B,KAAK,SACL0I,UAAW2f,IACXjf,YAAY,SACZ4H,OAAO,SACPjU,KAAK,YAGP,kBAACi5B,EAAA,EAAD,CAAWG,MAAM,SAAQ,kBAAC,IAAD,CACvBn2B,KAAK,SACL0I,UAAW2f,IACXjf,YAAY,SACZ4H,OAAO,SACPjU,KAAK,oBAWvB,kBAAC0jB,EAAA,EAAM/U,OAAP,KACE,4BACE3O,KAAK,SACL0J,QAAS4E,EACTrR,UAAU,6BAHZ,UAOA,yCACA,4BACE+C,KAAK,SACL0J,QAAS,kBAAMsW,KACf/iB,UAAU,+BAHZ,c,YCjVDsuB,EAA2B,CAAC,SAAU,UAAW,OAAQ,IAIzD1d,EAAgB,CAAC,CAAExE,UAAW,KAAMyE,MAAO,SAC3C0d,EAAkB,CAC7B,CAAEtvB,KAAM,IAAKE,MAAO,GACpB,CAAEF,KAAM,IAAKE,MAAO,GACpB,CAAEF,KAAM,KAAME,MAAO,KAEVqvB,EAAgB,CAC3Bjf,OAAQ,CACNkf,SAAU,GACVC,UAAW,GACXC,MAAO,GACPC,UAAW,IAEbC,UAAW,MACXC,UAAW,KACXC,WAAY,EACZC,SAAU,IChBNC,EAAqBC,0BAEpB,SAASC,IACd,OAAOC,qBAAWH,GAGeA,EAAmBI,SAE/C,SAASC,EAAT,GAA6D,IAA/BC,EAA8B,EAA9BA,kBAAmB7G,EAAW,EAAXA,SACtD,EAA0C1b,mBAASwhB,GAAnD,mBAAOlJ,EAAP,KAAoBkK,EAApB,KACA,EAAsBxiB,mBAAS,IAA/B,mBAAOkY,EAAP,KAAYuK,EAAZ,KACMC,EAAiBC,uBAAY,SAAAC,GACjCJ,GAAmB,SAAAK,GAKjB,OAJIC,qBAAWF,KACbA,EAAkBA,EAAgBC,IAGhCE,kBAAQF,EAAiBD,GACpBC,EAGFD,OAER,IAMGzwB,EAAQ,CACZmmB,cACAkK,qBACAtK,MACAuK,SACAC,iBACAM,aAVmB,CACnB5vB,QAAI0F,GAUJwqB,uBAAwBf,EAAkBe,uBAC1CC,uBAAwBhB,EAAkBgB,uBAC1CC,yBAA0BjB,EAAkBiB,yBAC5CC,0BAA2BlB,EAAkBkB,0BAC7CC,yBAA0BnB,EAAkBmB,yBAC5CC,gCAAiCpB,EAAkBoB,iCAGrD,OAAO,kBAAC1B,EAAmB2B,SAApB,CAA6BzxB,MAAOA,GAAQupB,GCxC9C,SAASmI,EAAT,GAAmD,IAArBzwB,EAAoB,EAApBA,GAAIgR,EAAgB,EAAhBA,KAAMC,EAAU,EAAVA,OAEvCyf,EAAqB3B,IACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACLhB,aAAcc,EAAmBd,gBAElC,CAACc,IAGEvL,EAAW0L,cACjB,EAA4C3N,aAC1C,SAAChE,GAAD,MAAY,CACViC,eAAgBjC,EAAMiE,UAAUhC,eAChCuC,gBAAiBxE,EAAMiE,UAAUO,mBAEnCL,KALMlC,EAAR,EAAQA,eAAgBuC,EAAxB,EAAwBA,gBAQxBhQ,qBAAU,WAERyR,EAAStB,EAAsB7jB,MAC9B,CAACA,EAAImlB,IAaR,OACE,kBAACkB,EAAA,EAAD,CACEtV,KAAK,KACLC,KAAMA,EACNC,OAAQA,EACRC,kBAAgB,gCAEhB,kBAAC+U,EAAD,CAA0BjmB,GAAIA,EAAIiR,OAAQA,IAC1C,kBAAC+P,EAAD,CACEC,aAnBe,SAACC,GACflhB,EAKHmlB,EAAStB,EAAuB3C,IAAW1M,MAAK,kBAAMvD,OAHtDkU,EAAStB,EAAuB3C,IAAW1M,MAAK,kBAAMvD,QAiBpDkQ,eAAgBA,EAChBD,SAAUwC,GAAmBiN,EAAiBf,aAC9C3e,OAAQA,KChDT,SAAS6f,EAAT,GAAqD,IAArB9wB,EAAoB,EAApBA,GAAIgR,EAAgB,EAAhBA,KAAMC,EAAU,EAAVA,OAEzCyf,EAAqB3B,IACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACLvB,OAAQqB,EAAmBrB,OAC3BnK,YAAawL,EAAmBxL,eAEjC,CAACwL,IAGEvL,EAAW0L,cACT5N,EAAcC,aACpB,SAAChE,GAAD,MAAY,CAAE+D,UAAW/D,EAAMiE,UAAUhC,kBACzCkC,KAFMJ,UAMRvP,qBAAU,WACH1T,GACHiR,MAGD,CAACjR,IAGJ0T,qBAAU,cAAU,CAACuP,EAAWkC,IAchC,OACE,kBAACkB,EAAA,EAAD,CACErV,KAAMA,EACNC,OAAQA,EACRC,kBAAgB,gCAGf+R,GAAa,kBAAC,IAAD,MAEd,kBAACoD,EAAA,EAAMlV,OAAP,CAAcmV,aAAW,GACvB,kBAACD,EAAA,EAAM9U,MAAP,CAAavR,GAAG,gCAAhB,yBAIF,kBAACqmB,EAAA,EAAMhV,KAAP,MACI4R,GACA,uFAEDA,GAAa,8DAEhB,kBAACoD,EAAA,EAAM/U,OAAP,KACE,6BACE,4BACE3O,KAAK,SACL0J,QAAS4E,EACTrR,UAAU,6BAHZ,UAOA,yCACA,4BACE+C,KAAK,SACL0J,QA5Ca,WAErB8Y,EAAStB,EAAuB7jB,IAAKwU,MAAK,WAExC2Q,EAAStB,EAAuB8M,EAAiBzL,cAEjDyL,EAAiBtB,OAAO,IAExBpe,QAqCMrR,UAAU,8BAHZ,aCtEH,SAASmxB,GAAT,GAAkD,IAAjB/f,EAAgB,EAAhBA,KAAMC,EAAU,EAAVA,OAEtCyf,EAAqB3B,IACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACL9L,IAAK4L,EAAmB5L,IACxBuK,OAAQqB,EAAmBrB,OAC3BnK,YAAawL,EAAmBxL,eAEjC,CAACwL,IAGEvL,EAAW0L,cACT5N,EAAcC,aACpB,SAAChE,GAAD,MAAY,CAAE+D,UAAW/D,EAAMiE,UAAUhC,kBACzCkC,KAFMJ,UAMRvP,qBAAU,WACHid,EAAiB7L,KAAuC,IAAhC6L,EAAiB7L,IAAIrc,QAChDwI,MAGD,CAAC0f,EAAiB7L,MAGrBpR,qBAAU,cAAU,CAACuP,EAAWkC,IAiBhC,OACE,kBAACkB,EAAA,EAAD,CACErV,KAAMA,EACNC,OAAQA,EACRC,kBAAgB,gCAGf+R,GAAa,kBAAC,IAAD,MAEd,kBAACoD,EAAA,EAAMlV,OAAP,CAAcmV,aAAW,GACvB,kBAACD,EAAA,EAAM9U,MAAP,CAAavR,GAAG,gCAAhB,yBAIF,kBAACqmB,EAAA,EAAMhV,KAAP,MACI4R,GACA,2FAEDA,GAAa,+DAEhB,kBAACoD,EAAA,EAAM/U,OAAP,KACE,6BACE,4BACE3O,KAAK,SACL0J,QAAS4E,EACTrR,UAAU,6BAHZ,UAOA,yCACA,4BACE+C,KAAK,SACL0J,QA/Cc,WAEtB8Y,EAAStB,EAAwB8M,EAAiB7L,MAAMtQ,MAAK,WAE3D2Q,EAAStB,EAAuB8M,EAAiBzL,cAAc1Q,MAC7D,WAEEmc,EAAiBtB,OAAO,IAExBpe,WAuCErR,UAAU,8BAHZ,aC3EV,IAAMoxB,GAAoB,SAACvN,EAAUqB,GACnC,IAAMmM,EAAa,GAOnB,OANAnM,EAAIhkB,SAAQ,SAACd,GACX,IAAMkhB,EAAWuC,EAASV,MAAK,SAAC6B,GAAD,OAAQA,EAAG5kB,KAAOA,KAC7CkhB,GACF+P,EAAWvoB,KAAKwY,MAGb+P,GAGF,SAASC,GAAT,GAAiD,IAAjBlgB,EAAgB,EAAhBA,KAAMC,EAAU,EAAVA,OAErCyf,EAAqB3B,IACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACL9L,IAAK4L,EAAmB5L,OAEzB,CAAC4L,IAGIvN,EAAcD,aACpB,SAAChE,GAAD,MAAY,CACViE,UAAW6N,GACT9R,EAAMiE,UAAUM,SAChBkN,EAAiB7L,QAGrBzB,KAPMF,UAkBR,OAPAzP,qBAAU,WACHid,EAAiB7L,KAAuC,IAAhC6L,EAAiB7L,IAAIrc,QAChDwI,MAGD,CAAC0f,EAAiB7L,MAGnB,kBAACuB,EAAA,EAAD,CACErV,KAAMA,EACNC,OAAQA,EACRC,kBAAgB,gCAEhB,kBAACmV,EAAA,EAAMlV,OAAP,CAAcmV,aAAW,GACvB,kBAACD,EAAA,EAAM9U,MAAP,CAAavR,GAAG,gCAAhB,4BAIF,kBAACqmB,EAAA,EAAMhV,KAAP,KACE,yBAAKzR,UAAU,4BACZujB,EAAUxf,KAAI,SAACud,GAAD,OACb,yBAAKthB,UAAU,kCAAkCsH,IAAG,YAAOga,EAASlhB,KAClE,yBAAKJ,UAAU,gFACf,yBAAKA,UAAU,kBACb,uBACEA,UAAS,gCACPsuB,EAAyBhN,EAASvM,QAD3B,gBAKb,yBAAK/U,UAAU,sCACb,0BACIA,UAAS,qCACPsuB,EAAyBhN,EAASvM,QAD3B,kBADb,OAKSuM,EAASlhB,IAElB,0BAAMJ,UAAU,QAAQshB,EAASmN,SAAjC,KAA6CnN,EAASoN,kBAMhE,kBAACjI,EAAA,EAAM/U,OAAP,KACE,6BACE,4BACE3O,KAAK,SACL0J,QAAS4E,EACTrR,UAAU,6BAHZ,UAOA,yCACA,4BACE+C,KAAK,SACL0J,QAAS4E,EACTrR,UAAU,+BAHZ,SCrFV,IAAMoxB,GAAoB,SAACvN,EAAUqB,GACnC,IAAMmM,EAAa,GAOnB,OANAnM,EAAIhkB,SAAQ,SAACd,GACX,IAAMkhB,EAAWuC,EAASV,MAAK,SAAC6B,GAAD,OAAQA,EAAG5kB,KAAOA,KAC7CkhB,GACF+P,EAAWvoB,KAAKwY,MAGb+P,GAGF,SAASE,GAAT,GAAuD,IAAjBngB,EAAgB,EAAhBA,KAAMC,EAAU,EAAVA,OAE3Cyf,EAAqB3B,IACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACL9L,IAAK4L,EAAmB5L,IACxBuK,OAAQqB,EAAmBrB,OAC3BnK,YAAawL,EAAmBxL,eAEjC,CAACwL,IAGJ,EAAiCxN,aAC/B,SAAChE,GAAD,MAAY,CACViE,UAAW6N,GACT9R,EAAMiE,UAAUM,SAChBkN,EAAiB7L,KAEnB7B,UAAW/D,EAAMiE,UAAUhC,kBAE7BkC,KARMF,EAAR,EAAQA,UAAWF,EAAnB,EAAmBA,UAYnBvP,qBAAU,WACHid,EAAiB7L,KAAuC,IAAhC6L,EAAiB7L,IAAIrc,QAChDwI,MAGD,CAAC0f,EAAiB7L,MAErB,MAA4BlY,mBAAS,GAArC,mBAAO+H,EAAP,KAAeyc,EAAf,KAEMjM,EAAW0L,cAkBjB,OACE,kBAACxK,EAAA,EAAD,CACErV,KAAMA,EACNC,OAAQA,EACRC,kBAAgB,gCAEhB,kBAACmV,EAAA,EAAMlV,OAAP,CAAcmV,aAAW,GACvB,kBAACD,EAAA,EAAM9U,MAAP,CAAavR,GAAG,gCAAhB,8CAIF,kBAACqmB,EAAA,EAAMhV,KAAP,CAAYzR,UAAU,yBAEnBqjB,GACC,yBAAKrjB,UAAU,iBACb,yBAAKA,UAAU,wCAKnB,yBAAKA,UAAU,4BACZujB,EAAUxf,KAAI,SAACud,GAAD,OACb,yBACEthB,UAAU,kCACVsH,IAAG,yBAAoBga,EAASlhB,KAEhC,yBAAKJ,UAAU,gFACf,yBAAKA,UAAU,kBACb,uBACEA,UAAS,gCACPsuB,EAAyBhN,EAASvM,QAD3B,gBAKb,yBAAK/U,UAAU,sCACb,0BACEA,UAAS,qCACPsuB,EAAyBhN,EAASvM,QAD3B,kBADX,OAKOuM,EAASlhB,IAEhB,0BAAMJ,UAAU,QACbshB,EAASmN,SADZ,KACwBnN,EAASoN,kBAO3C,kBAACjI,EAAA,EAAM/U,OAAP,CAAc1R,UAAU,QACtB,yBAAKA,UAAU,cACb,4BACEA,UAAU,eACVb,MAAO4V,EACP1F,SAAU,SAACC,GAAD,OAAOkiB,GAAWliB,EAAEM,OAAOzQ,SAErC,4BAAQA,MAAM,KAAd,YACA,4BAAQA,MAAM,KAAd,YAGJ,yBAAKa,UAAU,cACb,4BACE+C,KAAK,SACL0J,QAAS4E,EACTrR,UAAU,kCAHZ,UAOA,4BACE+C,KAAK,SACL0J,QAxFW,WAEnB8Y,EAAStB,EAA8B8M,EAAiB7L,IAAKnQ,IAASH,MACpE,WAEE2Q,EAAStB,EAAuB8M,EAAiBzL,cAAc1Q,MAC7D,WAEEmc,EAAiBtB,OAAO,IAExBpe,WA+EArR,UAAU,+BAHZ,oB,YCnHH,SAASqyB,GAAT,GAA0C,EAAf7O,YAAgB,IAE1CsN,EAAqB3B,IACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACL1L,YAAawL,EAAmBxL,YAChCoK,eAAgBoB,EAAmBpB,kBAEpC,CAACoB,IAGE0B,EAAc,SAACtrB,GACnB,IAAMurB,EA/BY,SAACnN,EAAape,GAClC,IAAQ6N,EAA6B7N,EAA7B6N,OAAQhS,EAAqBmE,EAArBnE,KAAM2vB,EAAexrB,EAAfwrB,WAChBD,EAAc,gBAAQnN,GACtB/V,EAAS,GAaf,OAXAA,EAAOwF,OAAoB,KAAXA,GAAiBA,OAASjP,EAE1CyJ,EAAOxM,KAAgB,KAATA,GAAeA,OAAO+C,EAEpCyJ,EAAOkf,SAAWiE,EACdA,IACFnjB,EAAOmf,UAAYgE,EACnBnjB,EAAOof,MAAQ+D,EACfnjB,EAAOqf,UAAY8D,GAErBD,EAAeljB,OAASA,EACjBkjB,EAekBG,CAAc7B,EAAiBzL,YAAape,GAC9D6oB,kBAAQ0C,EAAgB1B,EAAiBzL,eAC5CmN,EAAe1D,WAAa,EAE5BgC,EAAiBrB,eAAe+C,KAIpC,OACE,oCACE,kBAAC,IAAD,CACEjQ,cAAe,CACbzN,OAAQ,GACRhS,KAAM,GACN2vB,WAAY,IAEdhQ,SAAU,SAACxb,GACTsrB,EAAYtrB,MAGb,cACCA,OADD,IAEC6b,EAFD,EAECA,aAFD,EAGCqQ,WAHD,EAICC,aAJD,EAKCngB,cALD,OAOC,0BAAMwP,SAAUK,EAAc/iB,UAAU,8B,4ECvD3C,SAASm0B,GACdC,EACA5sB,EACA6sB,EAHK,GAKJ,IADC9D,EACF,EADEA,uBAAwBC,EAC1B,EAD0BA,yBAE1B,OACE,oCACE,uBACEpR,MAAM,oBACNpf,UAAU,uDACVyM,QAAS,kBAAM8jB,EAAuB/oB,EAAIpH,MAE1C,0BAAMJ,UAAU,yCACd,kBAAC,KAAD,CACEwI,IAAKC,aAAc,gDAIzB,yCAEA,uBACE2W,MAAM,sBACNpf,UAAU,iDACVyM,QAAS,kBAAM+jB,EAAyBhpB,EAAIpH,MAE5C,0BAAMJ,UAAU,wCACd,kBAAC,KAAD,CAAKwI,IAAKC,aAAc,2CCX3B,SAAS6rB,KAEd,IAAMxD,EAAqB3B,IACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACL9L,IAAK4L,EAAmB5L,IACxBuK,OAAQqB,EAAmBrB,OAC3BnK,YAAawL,EAAmBxL,YAChCoK,eAAgBoB,EAAmBpB,eACnCa,uBAAwBO,EAAmBP,uBAC3CC,yBAA0BM,EAAmBN,4BAE9C,CAACM,IAGIyD,EAAiBjR,aACvB,SAAChE,GAAD,MAAY,CAAEiV,aAAcjV,EAAMiE,aAClCE,KAFM8Q,aAIA3Q,EAAsC2Q,EAAtC3Q,WAAYC,EAA0B0Q,EAA1B1Q,SAAUL,EAAgB+Q,EAAhB/Q,YAGxB+B,EAAW0L,cACjBnd,qBAAU,WAERid,EAAiBtB,OAAO,IAExBlK,EAAStB,EAAuB8M,EAAiBzL,gBAEhD,CAACyL,EAAiBzL,YAAaC,IAElC,IAAMpZ,EAAU,CACd,CACEC,UAAW,KACXnN,KAAM,KACNyN,MAAM,EACNC,UAAWA,KACXC,2BAEF,CACER,UAAW,OACXnN,KAAM,OACNyN,MAAM,EACNC,UAAWA,KACXC,2BAEF,CACER,UAAW,cACXnN,KAAM,cACNyN,MAAM,EACNC,UAAWA,KACXC,2BAEF,CACER,UAAW,WACXnN,KAAM,WACNyN,MAAM,EACNC,UAAWA,KACXC,2BAEF,CACER,UAAW,WACXnN,KAAM,WACNyN,MAAM,EACNC,UAAWA,KACXC,2BAEF,CACER,UAAW,SACXnN,KAAM,UACNoN,UAAWmoB,GACXC,gBAAiB,CACflE,uBAAwBQ,EAAiBR,uBACzCC,yBAA0BO,EAAiBP,0BAE7CjwB,QAAS,mBACTm0B,cAAe,mBACftwB,MAAO,CACLuS,SAAU,WAKVge,EAAoB,CACxBC,QAAQ,EACRC,UAAWjR,EACX2K,gBAAiBuG,EACjBC,YAAahE,EAAiBzL,YAAY0J,SAC1CgG,KAAMjE,EAAiBzL,YAAYyJ,YAErC,OACE,oCACE,kBAAC,sBAAD,CAAoBje,WAAYC,KAAkB4jB,KAC/C,YAAgD,IAA7CM,EAA4C,EAA5CA,gBAAiBC,EAA2B,EAA3BA,qBACnB,OACE,kBAAC,IAAD,CACE7R,UAAWG,EACXyR,gBAAiBA,GAEjB,kBAAC,KAAD,eACEjkB,eAAe,mBACfE,UAAU,EACV3Q,QAAQ,gDACR0Q,YAAU,EACVkkB,QAAM,EACNxkB,SAAS,KACTpO,KAAmB,OAAbshB,EAAoB,GAAKA,EAC/B1X,QAASA,EACTyE,cAAekkB,EACfM,cAAeC,aACbtE,EAAiBrB,iBAEfwF,GAEJ,kBAAC,KAAD,CAAmBrR,SAAUA,IAC7B,kBAAC,KAAD,CAAuBA,SAAUA,UCvI1C,SAASyR,KAEd,IAAMxE,EAAqB3B,IACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACL9L,IAAK4L,EAAmB5L,IACxBuK,OAAQqB,EAAmBrB,OAC3BgB,0BAA2BK,EAAmBL,0BAC9CC,yBAA0BI,EAAmBJ,yBAC7CC,gCACEG,EAAmBH,mCAEtB,CAACG,IAEJ,OACE,yBAAK9wB,UAAU,QACb,yBAAKA,UAAU,4EACb,yBAAKA,UAAU,aACb,yBAAKA,UAAU,gCACb,yBAAKA,UAAU,iCACb,2BAAOA,UAAU,yBACf,yDAC0B,2BAAI+wB,EAAiB7L,IAAIrc,WAIvD,6BACE,4BACE9F,KAAK,SACL/C,UAAU,iDACVyM,QAASskB,EAAiBN,2BAE1B,uBAAGzwB,UAAU,gBALf,eADF,YCXL,SAASu1B,KACd,IAAMzE,EAAqB3B,IACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACL9L,IAAK4L,EAAmB5L,IACxBoL,uBAAwBQ,EAAmBR,0BAE5C,CAACQ,IAEJ,OACE,kBAAC,IAAD,KACE,kBAAC,IAAD,CAAY1R,MAAM,iBAChB,kBAAC,IAAD,KACE,4BACErc,KAAK,SACL/C,UAAU,wCACVyM,QAASskB,EAAiBT,wBAH5B,SASJ,kBAAC,IAAD,KACE,kBAAC+B,GAAD,MACCtB,EAAiB7L,IAAIrc,OAAS,GAAK,kBAACysB,GAAD,MACpC,kBAAChB,GAAD,QChCD,SAASwO,GAAT,GAAoC,IAAZrN,EAAW,EAAXA,QACvBlG,EAAoB,CACxBe,uBAAwB,WACtBmF,EAAQ3sB,KAAK,sBAEfynB,uBAAwB,SAACnwB,GACvBq1B,EAAQ3sB,KAAR,wBAA8B1I,EAA9B,WAEFowB,yBAA0B,SAACpwB,GACzBq1B,EAAQ3sB,KAAR,wBAA8B1I,EAA9B,aAEFqwB,0BAA2B,WACzBgF,EAAQ3sB,KAAR,kCAEF4nB,yBAA0B,WACxB+E,EAAQ3sB,KAAR,wBAEF6nB,gCAAiC,WAC/B8E,EAAQ3sB,KAAK,gCAIjB,OACE,kBAACwmB,EAAD,CAAqBC,kBAAmBA,GACtC,kBAACnM,EAAD,MACA,kBAAC,IAAD,CAAOnV,KAAK,sBACT,gBAAGwnB,EAAH,EAAGA,QAAS1pB,EAAZ,EAAYA,MAAZ,OACC,kBAAC8kB,EAAD,CACEzf,KAAe,MAATrF,EACNsF,OAAQ,WACNokB,EAAQ3sB,KAAK,uBAKrB,kBAAC,IAAD,CAAOmF,KAAK,2BACT,gBAAGwnB,EAAH,EAAGA,QAAS1pB,EAAZ,EAAYA,MAAZ,OACC,kBAAC8kB,EAAD,CACEzf,KAAe,MAATrF,EACN3L,GAAI2L,GAASA,EAAM2pB,OAAOt1B,GAC1BiR,OAAQ,WACNokB,EAAQ3sB,KAAK,uBAKrB,kBAAC,IAAD,CAAOmF,KAAK,kCACT,gBAAGwnB,EAAH,EAAGA,QAAS1pB,EAAZ,EAAYA,MAAZ,OACC,kBAAColB,GAAD,CACE/f,KAAe,MAATrF,EACNsF,OAAQ,WACNokB,EAAQ3sB,KAAK,uBAKrB,kBAAC,IAAD,CAAOmF,KAAK,6BACT,gBAAGwnB,EAAH,EAAGA,QAAS1pB,EAAZ,EAAYA,MAAZ,OACC,kBAACmlB,EAAD,CACE9f,KAAe,MAATrF,EACN3L,GAAI2L,GAASA,EAAM2pB,OAAOt1B,GAC1BiR,OAAQ,WACNokB,EAAQ3sB,KAAK,uBAKrB,kBAAC,IAAD,CAAOmF,KAAK,wBACT,gBAAGwnB,EAAH,EAAGA,QAAS1pB,EAAZ,EAAYA,MAAZ,OACC,kBAACulB,GAAD,CACElgB,KAAe,MAATrF,EACNsF,OAAQ,WACNokB,EAAQ3sB,KAAK,uBAKrB,kBAAC,IAAD,CAAOmF,KAAK,+BACT,gBAAGwnB,EAAH,EAAGA,QAAS1pB,EAAZ,EAAYA,MAAZ,OACC,kBAACwlB,GAAD,CACEngB,KAAe,MAATrF,EACNsF,OAAQ,WACNokB,EAAQ3sB,KAAK,uBAKrB,kBAACysB,GAAD,OAlGN,oC,6ECIO,SAASnS,IAEd,IAAQC,EAAcC,aACpB,SAAChE,GAAD,MAAY,CAAE+D,UAAW/D,EAAMiE,UAAUC,eACzCC,KAFMJ,UAMR,OADAvP,qBAAU,cAAU,CAACuP,IACd,kBAAC,IAAD,CAAeA,UAAWA,EAAWpkB,KAAK,gB,yCCV7C0kB,EAAwB,CAC5BH,aAAa,EACbjC,gBAAgB,EAChBqC,WAAY,EACZC,SAAU,KACVC,qBAAiBhe,EACjBie,UAAW,MAEAC,EACL,OADKA,EAEH,SCTFC,EDYsBC,YAAY,CACxCle,KAAM,YACNme,aAAcR,EACdS,SAAU,CACRC,WAAY,SAAC/E,EAAOgF,GAClBhF,EAAM/U,MAAN,UAAiB+Z,EAAOvhB,KAAxB,aAAiCuhB,EAAOC,QAAQha,OAC5C+Z,EAAOC,QAAQC,WAAaR,EAC9B1E,EAAMkE,aAAc,EAEpBlE,EAAMiC,gBAAiB,GAG3BkD,UAAW,SAACnF,EAAOgF,GACjBhF,EAAM/U,MAAQ,KACV+Z,EAAOC,QAAQC,WAAaR,EAC9B1E,EAAMkE,aAAc,EAEpBlE,EAAMiC,gBAAiB,GAI3BmD,gBAAiB,SAACpF,EAAOgF,GACvBhF,EAAMiC,gBAAiB,EACvBjC,EAAMwE,gBAAkBQ,EAAOC,QAAQT,gBACvCxE,EAAM/U,MAAQ,MAGhBoa,iBAAkB,SAACrF,EAAOgF,GACxB,MAAiCA,EAAOC,QAAhCX,EAAR,EAAQA,WAAYC,EAApB,EAAoBA,SACpBvE,EAAMkE,aAAc,EACpBlE,EAAM/U,MAAQ,KACd+U,EAAMuE,SAAWA,EACjBvE,EAAMsE,WAAaA,GAGrBgB,gBAAiB,SAACtF,EAAOgF,GACvBhF,EAAMiC,gBAAiB,EACvBjC,EAAM/U,MAAQ,KACd+U,EAAMuE,SAAS/a,KAAKwb,EAAOC,QAAQjD,WAGrCuD,gBAAiB,SAACvF,EAAOgF,GACvBhF,EAAM/U,MAAQ,KACd+U,EAAMiC,gBAAiB,EACvBjC,EAAMuE,SAAWvE,EAAMuE,SAAS9f,KAAI,SAAA+gB,GAClC,OAAIA,EAAO1kB,KAAOkkB,EAAOC,QAAQjD,SAASlhB,GACjCkkB,EAAOC,QAAQjD,SAEjBwD,MAIXC,gBAAiB,SAACzF,EAAOgF,GACvBhF,EAAM/U,MAAQ,KACd+U,EAAMiC,gBAAiB,EACvBjC,EAAMuE,SAAWvE,EAAMuE,SAAStU,QAAO,SAAAyV,GAAE,OAAIA,EAAG5kB,KAAOkkB,EAAOC,QAAQnkB,OAGxE6kB,iBAAkB,SAAC3F,EAAOgF,GACxBhF,EAAM/U,MAAQ,KACd+U,EAAMiC,gBAAiB,EACvBjC,EAAMuE,SAAWvE,EAAMuE,SAAStU,QAC9B,SAAAyV,GAAE,OAAKV,EAAOC,QAAQW,IAAIvV,SAASqV,EAAG5kB,QAI1C+kB,uBAAwB,SAAC7F,EAAOgF,GAC9BhF,EAAMiC,gBAAiB,EACvBjC,EAAM/U,MAAQ,KACd,MAAwB+Z,EAAOC,QAAvBW,EAAR,EAAQA,IAAKnQ,EAAb,EAAaA,OACbuK,EAAMuE,SAAWvE,EAAMuE,SAAS9f,KAAI,SAAA+gB,GAIlC,OAHII,EAAIE,WAAU,SAAAhlB,GAAE,OAAIA,IAAO0kB,EAAO1kB,OAAO,IAC3C0kB,EAAO/P,OAASA,GAEX+P,SCtFPb,QAEKoB,EAAiB,SAAAC,GAAW,OAAI,SAAAC,GAE3C,OADAA,EAAStB,EAAQQ,UAAU,CAAED,SAAUR,KCclC,SAAuBsB,GAC5B,OAAOhD,IAAMkD,KAAN,UAnBoB,kBAmBpB,SAAoC,CAAEF,gBDdtCG,CACUH,GACd1Q,MAAK,SAAAC,GACJ,MAAiCA,EAAStS,KAAlCqhB,EAAR,EAAQA,WAAYC,EAApB,EAAoBA,SACpB0B,EAAStB,EAAQU,iBAAiB,CAAEf,aAAYC,iBAEjD1O,OAAM,SAAA5K,GACLA,EAAMmb,cAAgB,uBACtBH,EAAStB,EAAQI,WAAW,CAAE9Z,QAAOia,SAAUR,UAIxC2B,EAAgB,SAAAvlB,GAAE,OAAI,SAAAmlB,GACjC,OAAKnlB,GAILmlB,EAAStB,EAAQQ,UAAU,CAAED,SAAUR,MCVT4B,EDYXxlB,ECXZkiB,IAAM3M,IAAN,UAboB,kBAapB,YAA8BiQ,KDYlChR,MAAK,SAAAC,GACJ,IAAMyM,EAAWzM,EAAStS,KAC1BgjB,EAAStB,EAAQS,gBAAgB,CAAEZ,gBAAiBxC,QAErDnM,OAAM,SAAA5K,GACLA,EAAMmb,cAAgB,sBACtBH,EAAStB,EAAQI,WAAW,CAAE9Z,QAAOia,SAAUR,SAZ1CuB,EAAStB,EAAQS,gBAAgB,CAAEZ,qBAAiBhe,KCPxD,IAAyB8f,IDuBnBC,EAAiB,SAAAzlB,GAAE,OAAI,SAAAmlB,GAElC,OADAA,EAAStB,EAAQQ,UAAU,CAAED,SAAUR,MCAV4B,EDEXxlB,ECDXkiB,IAAMwD,OAAN,UArCoB,kBAqCpB,YAAiCF,KDErChR,MAAK,SAAAC,GACJ0Q,EAAStB,EAAQc,gBAAgB,CAAE3kB,WAEpC+U,OAAM,SAAA5K,GACLA,EAAMmb,cAAgB,wBACtBH,EAAStB,EAAQI,WAAW,CAAE9Z,QAAOia,SAAUR,QCR9C,IAAwB4B,IDYlBG,EAAiB,SAAAC,GAAmB,OAAI,SAAAT,GAEnD,OADAA,EAAStB,EAAQQ,UAAU,CAAED,SAAUR,MC9CV1C,EDgDX0E,EC/CX1D,IAAMkD,KAJc,kBAIM,CAAElE,cDgDhC1M,MAAK,SAAAC,GACJ,IAAQyM,EAAazM,EAAStS,KAAtB+e,SACRiE,EAAStB,EAAQW,gBAAgB,CAAEtD,cACnC9iB,SAASsR,eAAe,iBAAiBinB,WAE1C5hB,OAAM,SAAA5K,GACLA,EAAMmb,cAAgB,wBACtBH,EAAStB,EAAQI,WAAW,CAAE9Z,QAAOia,SAAUR,QCxD9C,IAAwB1C,ID4DlB2E,EAAiB,SAAA3E,GAAQ,OAAI,SAAAiE,GAExC,OADAA,EAAStB,EAAQQ,UAAU,CAAED,SAAUR,KCzClC,SAAwB1C,GAC7B,OAAOgB,IAAM4D,IAAN,UAxBoB,kBAwBpB,YAA8B5E,EAAS1d,IAAM,CAAE0d,aDyC/CmE,CACWnE,GACf1M,MAAK,WACJ2Q,EAAStB,EAAQY,gBAAgB,CAAEvD,cACnC9iB,SAASsR,eAAe,iBAAiBinB,WAE1C5hB,OAAM,SAAA5K,GACLA,EAAMmb,cAAgB,wBACtBH,EAAStB,EAAQI,WAAW,CAAE9Z,QAAOia,SAAUR,UAIxCmC,EAAwB,SAACjB,EAAKnQ,GAAN,OAAiB,SAAAwQ,GAEpD,OADAA,EAAStB,EAAQQ,UAAU,CAAED,SAAUR,KClDlC,SAAkCkB,EAAKnQ,GAC5C,OAAOuN,IAAMkD,KAAN,UA7BoB,kBA6BpB,6BAAwD,CAC7DN,MACAnQ,WDgDK0Q,CACqBP,EAAKnQ,GAC9BH,MAAK,WACJ2Q,EAAStB,EAAQkB,uBAAuB,CAAED,MAAKnQ,eAEhDI,OAAM,SAAA5K,GACLA,EAAMmb,cAAgB,gCACtBH,EAAStB,EAAQI,WAAW,CAAE9Z,QAAOia,SAAUR,UAIxCoC,EAAkB,SAAAlB,GAAG,OAAI,SAAAK,GAEpC,OADAA,EAAStB,EAAQQ,UAAU,CAAED,SAAUR,KClDlC,SAAyBkB,GAC9B,OAAO5C,IAAMkD,KAAN,UA1CoB,kBA0CpB,oBAA+C,CAAEN,QDkDjDO,CACYP,GAChBtQ,MAAK,WACJ2Q,EAAStB,EAAQgB,iBAAiB,CAAEC,YAErC/P,OAAM,SAAA5K,GACLA,EAAMmb,cAAgB,yBACtBH,EAAStB,EAAQI,WAAW,CAAE9Z,QAAOia,SAAUR,U,gCE/F9C,SAASqC,EAAT,GAAmD,IAAfjmB,EAAc,EAAdA,GAAIiR,EAAU,EAAVA,OAE7C,EAA4CiS,aAC1C,SAAChE,GAAD,MAAY,CACVwE,gBAAiBxE,EAAMiE,UAAUO,gBACjCvC,eAAgBjC,EAAMiE,UAAUhC,kBAElCkC,KALMK,EAAR,EAAQA,gBAAiBvC,EAAzB,EAAyBA,eAQzB,EAA0BvU,mBAAS,IAAnC,mBAAOoS,EAAP,KAAckH,EAAd,KAYA,OAVAxS,qBAAU,WACR,IAAIyS,EAASnmB,EAAK,GAAK,WACnB0jB,GAAmB1jB,IACrBmmB,EAAM,qBAAiBzC,EAAgBjgB,KAAjC,MAGRyiB,EAASC,KAER,CAACzC,EAAiBvC,IAGnB,oCACGA,GAAkB,kBAAC,IAAD,MACnB,kBAACkF,EAAA,EAAMlV,OAAP,KACE,kBAACkV,EAAA,EAAM9U,MAAP,CAAavR,GAAG,gCAAgCgf,GAChD,kBAACie,EAAA,EAAD,CAEE7rB,aAAW,QACX/E,QAAS,SAAC6C,GACR+B,GAAO,KAGT,kBAAC,IAAD,S,q1MC1BQ4E,aAAW,SAACC,GAAD,MAAY,CACvC0V,UAAW,CACTzE,QAAS,OACTG,SAAU,QAEZuE,UAAW,CACTzU,WAAYlB,EAAMK,QAAQ,GAC1BW,YAAahB,EAAMK,QAAQ,GAC3BE,aAAc,QAEhB0hB,MAAO,CACL7hB,UAAWJ,EAAMK,QAAQ,IAE3B6hB,KAAM,CACJhiB,MAAO,SAGJ,SAASgL,EAAT,GAKH,IACEH,EALJI,EAIC,EAJDA,aACAC,EAGC,EAHDA,SACAC,EAEC,EAFDA,eACAlQ,EACC,EADDA,OAIE4P,OADkBnb,IAAhBwb,EAASlhB,GACU8gB,MAAaC,MAAM,CACtCtd,KAAMqd,MAEH6U,IAAI,GAAI,sBACRnjB,SAAS,oBAEZ+E,UAAWuJ,MAAatO,SAAS,yBAGdsO,MAAaC,MAAM,IAE1C,MAAwCnU,mBAAS,IAAjD,mBAAqB6yB,GAArB,WACA,EAAoD7yB,mBAAS,IAA7D,mBAAO8yB,EAAP,KAA2BC,EAA3B,KACA,EAAkC/yB,mBAAS,MAA3C,mBAAO2K,EAAP,KAAkBC,EAAlB,KAEA9D,qBAAU,WACR+sB,MACC,CAACvf,IACJ,IAAMuf,EAAsB,uCAAG,6GAENve,IAAM3M,IAAI,8BAFJ,OAErBxG,EAFqB,OAG3B4wB,EACE5wB,EAAO5M,KAAKwB,KAAI,SAACgnB,GAAD,MAAiB,CAC/B5rB,MAAO4rB,EAAW3qB,GAClBoD,MAAOunB,EAAWlnB,UAGtBg8B,EAAgB1wB,EAAO5M,MAAQ,SAENuD,IAAvBwb,EAAS3J,WACc,KAAvB2J,EAAS3J,WACc,OAAvB2J,EAAS3J,WAETC,EAAa0J,EAAS3J,WAfG,yGAAH,qDAmB5B,OACE,oCACE,kBAAC,IAAD,CACE4K,oBAAoB,EACpBC,cAAelB,EACfmB,iBAAkBxB,EAClByB,SAAU,SAACxb,GACTma,EAAana,MAGd,gBAAG2f,EAAH,EAAGA,OAAQD,EAAX,EAAWA,QAAS7D,EAApB,EAAoBA,aAAc7P,EAAlC,EAAkCA,cAAehM,EAAjD,EAAiDA,OAAjD,OACC,oCACE,kBAACuf,EAAA,EAAMhV,KAAP,CAAYzR,UAAU,iBACnBuhB,GACC,yBAAKvhB,UAAU,gCACb,yBAAKA,UAAU,wCAGnB,kBAAC,IAAD,CAAMA,UAAU,yBACd,yBAAKA,UAAU,kBACb,yBAAKA,UAAU,YACb,yBAAKA,UAAU,yBACb,kBAAC,IAAD,CACEgG,KAAK,OACLxC,MAAM,OACNkL,UAAW2f,IACXjf,YAAY,OACZ4H,OAAO,aAIb,yBAAKhX,UAAU,YACb,yBAAKA,UAAU,qBACb,kBAAC,IAAD,CACEgG,KAAK,cACLxC,MAAM,cACNkL,UAAW2f,IACXjf,YAAY,cACZ4H,OAAO,aAIb,yBAAKhX,UAAU,YACb,yBAAKA,UAAU,qBACZ8/B,GACC,oCACE,uBAAG9/B,UAAU,QAAb,WACA,kBAAC,IAAD,CACEwD,MAAM,UACNwC,KAAI,YACJ5F,GAAE,YACF+Z,QAAS2lB,EACT3gC,MAAO2gC,EAAmBvwB,QACxB,SAAChG,GAAD,OAAOA,EAAEpK,QAAUwY,KAErBtI,SAAU,SAAC4E,GACT2D,EAAa3D,EAAM9U,OACnB+T,EAAc,YAAae,EAAM9U,UAGpC0nB,EAAOlP,WAAaiP,EAAQjP,UAC3B,yBAAKvT,MAAO,CAAE2K,MAAO,MAAO1K,SAAU,SACnCwiB,EAAOlP,WAER,QAKZ,yBAAK3X,UAAU,YACb,yBAAKA,UAAU,kCACb,0BAAMA,UAAU,kCAChB,2BAAOA,UAAU,sFACf,2BACE+C,KAAK,WACLiD,KAAK,WACL8wB,QAAS5vB,EAAO0uB,SAChBvmB,SAAU,SAACC,GACT4D,EAAc,WAAY5D,EAAEM,OAAOknB,YAGvC,gCAEF,yBAAK92B,UAAU,kCACb,uBAAGA,UAAU,sEAAb,kBASZ,kBAACymB,EAAA,EAAM/U,OAAP,KACE,4BACE3O,KAAK,SACL0J,QAAS4E,EACTrR,UAAU,6BAHZ,UAOA,yCACA,4BACE+C,KAAK,SACL0J,QAAS,kBAAMsW,KACf/iB,UAAU,+BAHZ,c,YClLDsuB,EAA2B,CAAC,SAAU,UAAW,OAAQ,IAIzD1d,EAAgB,CAAC,CAAExE,UAAW,KAAMyE,MAAO,SAC3C0d,EAAkB,CAC7B,CAAEtvB,KAAM,IAAKE,MAAO,GACpB,CAAEF,KAAM,IAAKE,MAAO,GACpB,CAAEF,KAAM,KAAME,MAAO,KAEVqvB,EAAgB,CAC3Bjf,OAAQ,CACNkf,SAAU,GACVC,UAAW,GACXC,MAAO,GACPC,UAAW,GACXgH,UAAU,GAEZ/G,UAAW,MACXC,UAAW,KACXC,WAAY,EACZC,SAAU,ICjBNC,EAAqBC,0BAEpB,SAASC,IACd,OAAOC,qBAAWH,GAGeA,EAAmBI,SAE/C,SAASC,EAAT,GAA6D,IAA/BC,EAA8B,EAA9BA,kBAAmB7G,EAAW,EAAXA,SACtD,EAA0C1b,mBAASwhB,GAAnD,mBAAOlJ,EAAP,KAAoBkK,EAApB,KACA,EAAsBxiB,mBAAS,IAA/B,mBAAOkY,EAAP,KAAYuK,EAAZ,KACMC,EAAiBC,uBAAY,SAAAC,GACjCJ,GAAmB,SAAAK,GAKjB,OAJIC,qBAAWF,KACbA,EAAkBA,EAAgBC,IAGhCE,kBAAQF,EAAiBD,GACpBC,EAGFD,OAER,IAUGzwB,EAAQ,CACZmmB,cACAkK,qBACAtK,MACAuK,SACAC,iBACAM,aAdmB,CACnB5vB,QAAI0F,EACJjC,KAAK,GACL8T,UAAU,GACVsG,YAAY,GACZ2X,UAAS,GAUTtF,uBAAwBf,EAAkBe,uBAC1CC,uBAAwBhB,EAAkBgB,uBAC1CC,yBAA0BjB,EAAkBiB,yBAC5CC,0BAA2BlB,EAAkBkB,0BAC7CC,yBAA0BnB,EAAkBmB,yBAC5CC,gCAAiCpB,EAAkBoB,iCAGrD,OAAO,kBAAC1B,EAAmB2B,SAApB,CAA6BzxB,MAAOA,GAAQupB,GC5C9C,SAASmI,EAAT,GAAmD,IAArBzwB,EAAoB,EAApBA,GAAIgR,EAAgB,EAAhBA,KAAMC,EAAU,EAAVA,OAEvCyf,EAAqB3B,IACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACLhB,aAAcc,EAAmBd,gBAElC,CAACc,IAGEvL,EAAW0L,cACjB,EAA4C3N,aAC1C,SAAChE,GAAD,MAAY,CACViC,eAAgBjC,EAAMiE,UAAUhC,eAChCuC,gBAAiBxE,EAAMiE,UAAUO,mBAEnCL,KALMlC,EAAR,EAAQA,eAAgBuC,EAAxB,EAAwBA,gBAQxBhQ,qBAAU,WAERyR,EAAStB,EAAsB7jB,MAC9B,CAACA,EAAImlB,IAaR,OACE,kBAACkB,EAAA,EAAD,CACEtV,KAAK,KACLC,KAAMA,EACNC,OAAQA,EACRC,kBAAgB,gCAEhB,kBAAC+U,EAAD,CAA0BjmB,GAAIA,EAAIiR,OAAQA,IAC1C,kBAAC+P,EAAD,CACEC,aAnBe,SAACC,GACflhB,EAKHmlB,EAAStB,EAAuB3C,IAAW1M,MAAK,kBAAMvD,OAHtDkU,EAAStB,EAAuB3C,IAAW1M,MAAK,kBAAMvD,QAiBpDkQ,eAAgBA,EAChBD,SAAUwC,GAAmBiN,EAAiBf,aAC9C3e,OAAQA,KChDT,SAAS6f,EAAT,GAAqD,IAArB9wB,EAAoB,EAApBA,GAAIgR,EAAgB,EAAhBA,KAAMC,EAAU,EAAVA,OAEzCyf,EAAqB3B,IACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACLvB,OAAQqB,EAAmBrB,OAC3BnK,YAAawL,EAAmBxL,eAEjC,CAACwL,IAGEvL,EAAW0L,cACT5N,EAAcC,aACpB,SAAChE,GAAD,MAAY,CAAE+D,UAAW/D,EAAMiE,UAAUhC,kBACzCkC,KAFMJ,UAMRvP,qBAAU,WACH1T,GACHiR,MAGD,CAACjR,IAGJ0T,qBAAU,cAAU,CAACuP,EAAWkC,IAchC,OACE,kBAACkB,EAAA,EAAD,CACErV,KAAMA,EACNC,OAAQA,EACRC,kBAAgB,gCAGf+R,GAAa,kBAAC,IAAD,MAEd,kBAACoD,EAAA,EAAMlV,OAAP,CAAcmV,aAAW,GACvB,kBAACD,EAAA,EAAM9U,MAAP,CAAavR,GAAG,gCAAhB,iBAIF,kBAACqmB,EAAA,EAAMhV,KAAP,MACI4R,GACA,+EAEDA,GAAa,sDAEhB,kBAACoD,EAAA,EAAM/U,OAAP,KACE,6BACE,4BACE3O,KAAK,SACL0J,QAAS4E,EACTrR,UAAU,6BAHZ,UAOA,yCACA,4BACE+C,KAAK,SACL0J,QA5Ca,WAErB8Y,EAAStB,EAAuB7jB,IAAKwU,MAAK,WAExC2Q,EAAStB,EAAuB8M,EAAiBzL,cAEjDyL,EAAiBtB,OAAO,IAExBpe,QAqCMrR,UAAU,8BAHZ,aCtEH,SAASmxB,EAAT,GAAkD,IAAjB/f,EAAgB,EAAhBA,KAAMC,EAAU,EAAVA,OAEtCyf,EAAqB3B,IACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACL9L,IAAK4L,EAAmB5L,IACxBuK,OAAQqB,EAAmBrB,OAC3BnK,YAAawL,EAAmBxL,eAEjC,CAACwL,IAGEvL,EAAW0L,cACT5N,EAAcC,aACpB,SAAChE,GAAD,MAAY,CAAE+D,UAAW/D,EAAMiE,UAAUhC,kBACzCkC,KAFMJ,UAMRvP,qBAAU,WACHid,EAAiB7L,KAAuC,IAAhC6L,EAAiB7L,IAAIrc,QAChDwI,MAGD,CAAC0f,EAAiB7L,MAGrBpR,qBAAU,cAAU,CAACuP,EAAWkC,IAiBhC,OACE,kBAACkB,EAAA,EAAD,CACErV,KAAMA,EACNC,OAAQA,EACRC,kBAAgB,gCAGf+R,GAAa,kBAAC,IAAD,MAEd,kBAACoD,EAAA,EAAMlV,OAAP,CAAcmV,aAAW,GACvB,kBAACD,EAAA,EAAM9U,MAAP,CAAavR,GAAG,gCAAhB,iBAIF,kBAACqmB,EAAA,EAAMhV,KAAP,MACI4R,GACA,mFAEDA,GAAa,uDAEhB,kBAACoD,EAAA,EAAM/U,OAAP,KACE,6BACE,4BACE3O,KAAK,SACL0J,QAAS4E,EACTrR,UAAU,6BAHZ,UAOA,yCACA,4BACE+C,KAAK,SACL0J,QA/Cc,WAEtB8Y,EAAStB,EAAwB8M,EAAiB7L,MAAMtQ,MAAK,WAE3D2Q,EAAStB,EAAuB8M,EAAiBzL,cAAc1Q,MAC7D,WAEEmc,EAAiBtB,OAAO,IAExBpe,WAuCErR,UAAU,8BAHZ,aC3EV,IAAMoxB,EAAoB,SAACvN,EAAUqB,GACnC,IAAMmM,EAAa,GAOnB,OANAnM,EAAIhkB,SAAQ,SAACd,GACX,IAAMkhB,EAAWuC,EAASV,MAAK,SAAC6B,GAAD,OAAQA,EAAG5kB,KAAOA,KAC7CkhB,GACF+P,EAAWvoB,KAAKwY,MAGb+P,GAGF,SAASC,EAAT,GAAiD,IAAjBlgB,EAAgB,EAAhBA,KAAMC,EAAU,EAAVA,OAErCyf,EAAqB3B,IACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACL9L,IAAK4L,EAAmB5L,OAEzB,CAAC4L,IAGIvN,EAAcD,aACpB,SAAChE,GAAD,MAAY,CACViE,UAAW6N,EACT9R,EAAMiE,UAAUM,SAChBkN,EAAiB7L,QAGrBzB,KAPMF,UAkBR,OAPAzP,qBAAU,WACHid,EAAiB7L,KAAuC,IAAhC6L,EAAiB7L,IAAIrc,QAChDwI,MAGD,CAAC0f,EAAiB7L,MAGnB,kBAACuB,EAAA,EAAD,CACErV,KAAMA,EACNC,OAAQA,EACRC,kBAAgB,gCAEhB,kBAACmV,EAAA,EAAMlV,OAAP,CAAcmV,aAAW,GACvB,kBAACD,EAAA,EAAM9U,MAAP,CAAavR,GAAG,gCAAhB,4BAIF,kBAACqmB,EAAA,EAAMhV,KAAP,KACE,yBAAKzR,UAAU,4BACZujB,EAAUxf,KAAI,SAACud,GAAD,OACb,yBAAKthB,UAAU,kCAAkCsH,IAAG,YAAOga,EAASlhB,KAClE,yBAAKJ,UAAU,gFACf,yBAAKA,UAAU,kBACb,uBACEA,UAAS,gCACPsuB,EAAyBhN,EAASvM,QAD3B,gBAKb,yBAAK/U,UAAU,sCACb,0BACIA,UAAS,qCACPsuB,EAAyBhN,EAASvM,QAD3B,kBADb,OAKSuM,EAASlhB,IAElB,0BAAMJ,UAAU,QAAQshB,EAASmN,SAAjC,KAA6CnN,EAASoN,kBAMhE,kBAACjI,EAAA,EAAM/U,OAAP,KACE,6BACE,4BACE3O,KAAK,SACL0J,QAAS4E,EACTrR,UAAU,6BAHZ,UAOA,yCACA,4BACE+C,KAAK,SACL0J,QAAS4E,EACTrR,UAAU,+BAHZ,SCrFV,IAAMoxB,EAAoB,SAACvN,EAAUqB,GACnC,IAAMmM,EAAa,GAOnB,OANAnM,EAAIhkB,SAAQ,SAACd,GACX,IAAMkhB,EAAWuC,EAASV,MAAK,SAAC6B,GAAD,OAAQA,EAAG5kB,KAAOA,KAC7CkhB,GACF+P,EAAWvoB,KAAKwY,MAGb+P,GAGF,SAASE,EAAT,GAAuD,IAAjBngB,EAAgB,EAAhBA,KAAMC,EAAU,EAAVA,OAE3Cyf,EAAqB3B,IACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACL9L,IAAK4L,EAAmB5L,IACxBuK,OAAQqB,EAAmBrB,OAC3BnK,YAAawL,EAAmBxL,eAEjC,CAACwL,IAGJ,EAAiCxN,aAC/B,SAAChE,GAAD,MAAY,CACViE,UAAW6N,EACT9R,EAAMiE,UAAUM,SAChBkN,EAAiB7L,KAEnB7B,UAAW/D,EAAMiE,UAAUhC,kBAE7BkC,KARMF,EAAR,EAAQA,UAAWF,EAAnB,EAAmBA,UAYnBvP,qBAAU,WACHid,EAAiB7L,KAAuC,IAAhC6L,EAAiB7L,IAAIrc,QAChDwI,MAGD,CAAC0f,EAAiB7L,MAErB,MAA4BlY,mBAAS,GAArC,mBAAO+H,EAAP,KAAeyc,EAAf,KAEMjM,EAAW0L,cAkBjB,OACE,kBAACxK,EAAA,EAAD,CACErV,KAAMA,EACNC,OAAQA,EACRC,kBAAgB,gCAEhB,kBAACmV,EAAA,EAAMlV,OAAP,CAAcmV,aAAW,GACvB,kBAACD,EAAA,EAAM9U,MAAP,CAAavR,GAAG,gCAAhB,8CAIF,kBAACqmB,EAAA,EAAMhV,KAAP,CAAYzR,UAAU,yBAEnBqjB,GACC,yBAAKrjB,UAAU,iBACb,yBAAKA,UAAU,wCAKnB,yBAAKA,UAAU,4BACZujB,EAAUxf,KAAI,SAACud,GAAD,OACb,yBACEthB,UAAU,kCACVsH,IAAG,yBAAoBga,EAASlhB,KAEhC,yBAAKJ,UAAU,gFACf,yBAAKA,UAAU,kBACb,uBACEA,UAAS,gCACPsuB,EAAyBhN,EAASvM,QAD3B,gBAKb,yBAAK/U,UAAU,sCACb,0BACEA,UAAS,qCACPsuB,EAAyBhN,EAASvM,QAD3B,kBADX,OAKOuM,EAASlhB,IAEhB,0BAAMJ,UAAU,QACbshB,EAASmN,SADZ,KACwBnN,EAASoN,kBAO3C,kBAACjI,EAAA,EAAM/U,OAAP,CAAc1R,UAAU,QACtB,yBAAKA,UAAU,cACb,4BACEA,UAAU,eACVb,MAAO4V,EACP1F,SAAU,SAACC,GAAD,OAAOkiB,GAAWliB,EAAEM,OAAOzQ,SAErC,4BAAQA,MAAM,KAAd,YACA,4BAAQA,MAAM,KAAd,YAGJ,yBAAKa,UAAU,cACb,4BACE+C,KAAK,SACL0J,QAAS4E,EACTrR,UAAU,kCAHZ,UAOA,4BACE+C,KAAK,SACL0J,QAxFW,WAEnB8Y,EAAStB,EAA8B8M,EAAiB7L,IAAKnQ,IAASH,MACpE,WAEE2Q,EAAStB,EAAuB8M,EAAiBzL,cAAc1Q,MAC7D,WAEEmc,EAAiBtB,OAAO,IAExBpe,WA+EArR,UAAU,+BAHZ,oB,WChHH,SAASqyB,EAAT,GAA0C,EAAf7O,YAAgB,IAE1CsN,EAAqB3B,IACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACL1L,YAAawL,EAAmBxL,YAChCoK,eAAgBoB,EAAmBpB,kBAEpC,CAACoB,IAGE0B,EAAc,SAACtrB,GACnB,IAAMurB,EAlCY,SAACnN,EAAape,GAClC,IAAQyrB,EAAoDzrB,EAApDyrB,YAAa5d,EAAuC7N,EAAvC6N,OAAQhS,EAA+BmE,EAA/BnE,KAAM2vB,EAAyBxrB,EAAzBwrB,WAAYkD,EAAa1uB,EAAb0uB,SACzCnD,EAAc,eAAQnN,GACtB/V,EAAS,GAgBf,OAdAA,EAAOwF,OAAoB,KAAXA,GAAiBA,OAASjP,EAE1CyJ,EAAOxM,KAAgB,KAATA,GAAeA,OAAO+C,EAEpCyJ,EAAOwzB,QAAUrQ,EACjBnjB,EAAOqmB,SAAWA,EAMlBrmB,EAAOojB,YAAcA,EAErBF,EAAeljB,OAASA,EACjBkjB,EAekBG,CAAc7B,EAAiBzL,YAAape,GAC9D6oB,kBAAQ0C,EAAgB1B,EAAiBzL,eAC5CmN,EAAe1D,WAAa,EAE5BgC,EAAiBrB,eAAe+C,KAIpC,OACE,oCACE,kBAAC,IAAD,CACEjQ,cAAe,CACbzN,OAAQ,GACRhS,KAAM,GACN2vB,WAAY,GACZC,YAAa,EACbiD,UAAU,GAEZlT,SAAU,SAACxb,GACTsrB,EAAYtrB,MAGb,gBACCA,EADD,EACCA,OACA6b,EAFD,EAECA,aACAqQ,EAHD,EAGCA,WAEAlgB,GALD,EAICmgB,aAJD,EAKCngB,eALD,OAOC,0BAAMwP,SAAUK,EAAc/iB,UAAU,yBACtC,2BACE+C,KAAK,SACL/C,UAAU,SACVI,GAAG,gBACHqM,QAAS,SAAC6C,GACe,MAAnBA,EAAEM,OAAOzQ,MACXX,SAASsR,eAAe,iBAAiB3Q,MAAQ,EAC9CX,SAASsR,eAAe,iBAAiB3Q,MAAQ,EACtD+T,EAAc,cAAe5D,EAAEM,OAAOzQ,OACtC4jB,OAGJ,yBAAK/iB,UAAU,kBACb,yBAAKA,UAAU,YACb,2BACE+C,KAAK,OACL/C,UAAU,eACVgG,KAAK,aACLoJ,YAAY,SACZkkB,OAAQF,EACRj0B,MAAO+H,EAAOwrB,WACdrjB,SAAU,SAACC,GACT4D,EAAc,aAAc5D,EAAEM,OAAOzQ,OACrC4jB,OAGJ,2BAAO/iB,UAAU,wBACf,qCADF,mBAIF,yBAAKA,UAAU,YACb,yBAAKA,UAAU,kCACb,0BAAMA,UAAU,kCAChB,2BAAOA,UAAU,sFACf,2BACE+C,KAAK,WACLiD,KAAK,WACL8wB,QAAS5vB,EAAO0uB,SAChBvmB,SAAU,SAACC,GACT4D,EAAc,WAAY5D,EAAEM,OAAOknB,SACnC/T,OAGJ,gCAEF,yBAAK/iB,UAAU,kCACb,uBAAGA,UAAU,sEAAb,qB,mFC3Gb,SAASm0B,GACdC,EACA5sB,EACA6sB,EAHK,GAKJ,IADC9D,EACF,EADEA,uBAAwBC,EAC1B,EAD0BA,yBAE1B,OACE,oCACE,uBACEpR,MAAM,YACNpf,UAAU,uDACVyM,QAAS,kBAAM8jB,EAAuB/oB,EAAIpH,MAE1C,0BAAMJ,UAAU,yCACd,kBAAC,KAAD,CACEwI,IAAKC,aAAc,gDAIzB,yCAEA,uBACE2W,MAAM,cACNpf,UAAU,iDACVyM,QAAS,kBAAM+jB,EAAyBhpB,EAAIpH,MAE5C,0BAAMJ,UAAU,wCACd,kBAAC,KAAD,CAAKwI,IAAKC,aAAc,2CCV3B,SAAS6rB,KAEd,IAAMxD,EAAqB3B,IACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACL9L,IAAK4L,EAAmB5L,IACxBuK,OAAQqB,EAAmBrB,OAC3BnK,YAAawL,EAAmBxL,YAChCoK,eAAgBoB,EAAmBpB,eACnCa,uBAAwBO,EAAmBP,uBAC3CC,yBAA0BM,EAAmBN,4BAE9C,CAACM,IAGIyD,EAAiBjR,aACvB,SAAChE,GAAD,MAAY,CAAEiV,aAAcjV,EAAMiE,aAClCE,KAFM8Q,aAIA3Q,EAAsC2Q,EAAtC3Q,WAAYC,EAA0B0Q,EAA1B1Q,SAAUL,EAAgB+Q,EAAhB/Q,YAGxB+B,EAAW0L,cACjBnd,qBAAU,WAERid,EAAiBtB,OAAO,IAExBlK,EAAStB,EAAuB8M,EAAiBzL,gBAEhD,CAACyL,EAAiBzL,YAAaC,IAElC,IAAMpZ,EAAU,CACd,CACEC,UAAW,KACXnN,KAAM,KACNyN,MAAM,EACNC,UAAWA,KACXC,2BAEF,CACER,UAAW,OACXnN,KAAM,OACNyN,MAAM,EACNC,UAAWA,KACXC,2BAEF,CACER,UAAW,cACXnN,KAAM,cACNyN,MAAM,EACNC,UAAWA,KACXC,2BAEF,CACER,UAAW,UACXnN,KAAM,UACNyN,MAAM,EACNC,UAAWA,KACXC,2BAEF,CACER,UAAW,UACXnN,KAAM,UACNyN,MAAM,EACNC,UAAWA,KACXC,0BACAP,UAAW,SAACC,EAAM9E,GAChB,OACE,oCACE,yBAAKxH,UAAU,sBACb,8BAAO2J,aAAU,OAACnC,QAAD,IAACA,OAAD,EAACA,EAAKqF,cAMjC,CACET,UAAW,WACXnN,KAAM,SACNyN,MAAM,EACNC,UAAWA,KACXN,UAAW,SAACC,EAAM9E,GAChB,IAAM8mB,EAA2B,CAAC,UAAW,UAGzC8I,GAA4B,IAAjB5vB,EAAIouB,SAAoB,EAAI,EAK3C,OACE,0BAAM51B,UAHA,8BAAN,OAAqCsuB,EAAyB8I,GAA9D,kBAL2B,CAAC,SAAU,YASdA,KAI5BxqB,2BAEF,CACER,UAAW,SACXnN,KAAM,UACNoN,UAAWmoB,GACXC,gBAAiB,CACflE,uBAAwBQ,EAAiBR,uBACzCC,yBAA0BO,EAAiBP,0BAE7CjwB,QAAS,mBACTm0B,cAAe,mBACftwB,MAAO,CACLuS,SAAU,WAKVge,EAAoB,CACxBC,QAAQ,EACRC,UAAWjR,EACX2K,gBAAiBuG,EACjBC,YAAahE,EAAiBzL,YAAY0J,SAC1CgG,KAAMjE,EAAiBzL,YAAYyJ,YAErC,OACE,oCACE,kBAAC,sBAAD,CAAoBje,WAAYC,KAAkB4jB,KAC/C,YAAgD,IAA7CM,EAA4C,EAA5CA,gBAAiBC,EAA2B,EAA3BA,qBACnB,OACE,kBAAC,IAAD,CACE7R,UAAWG,EACXyR,gBAAiBA,GAEjB,kBAAC,KAAD,eACEjkB,eAAe,mBACfE,UAAU,EACV3Q,QAAQ,gDACR0Q,YAAU,EACVkkB,QAAM,EACNxkB,SAAS,KACTpO,KAAmB,OAAbshB,EAAoB,GAAKA,EAC/B1X,QAASA,EACTyE,cAAekkB,EACfM,cAAeC,aACbtE,EAAiBrB,iBAEfwF,GAEJ,kBAAC,KAAD,CAAmBrR,SAAUA,IAC7B,kBAAC,KAAD,CAAuBA,SAAUA,UCvK1C,SAASyR,KAEd,IAAMxE,EAAqB3B,IACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACL9L,IAAK4L,EAAmB5L,IACxBuK,OAAQqB,EAAmBrB,OAC3BgB,0BAA2BK,EAAmBL,0BAC9CC,yBAA0BI,EAAmBJ,yBAC7CC,gCACEG,EAAmBH,mCAEtB,CAACG,IAEJ,OACE,yBAAK9wB,UAAU,QACb,yBAAKA,UAAU,4EACb,yBAAKA,UAAU,aACb,yBAAKA,UAAU,gCACb,yBAAKA,UAAU,iCACb,2BAAOA,UAAU,yBACf,yDAC0B,2BAAI+wB,EAAiB7L,IAAIrc,WAIvD,6BACE,4BACE9F,KAAK,SACL/C,UAAU,iDACVyM,QAASskB,EAAiBN,2BAE1B,uBAAGzwB,UAAU,gBALf,eADF,Y,aChBL,SAASu1B,KACd,IAAMzE,EAAqB3B,IACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACL9L,IAAK4L,EAAmB5L,IACxBoL,uBAAwBQ,EAAmBR,0BAE5C,CAACQ,IAEJ,OACE,oCACA,kBAACqQ,GAAA,EAAD,KACI,wDACA,0BAAMn7B,KAAK,cAAc4a,QAAQ,iCAErC,kBAAC,IAAD,KACE,kBAAC,IAAD,CAAYxB,MAAM,gBAChB,kBAAC,IAAD,KACE,4BACErc,KAAK,SACL/C,UAAU,wCACVyM,QAASskB,EAAiBT,wBAH5B,cASJ,kBAAC,IAAD,KACE,kBAAC+B,EAAD,MACCtB,EAAiB7L,IAAIrc,OAAS,GAAK,kBAACysB,GAAD,MACpC,kBAAChB,GAAD,SChCD,SAAS0O,GAAT,GAAmC,IAAZvN,EAAW,EAAXA,QACtBlG,EAAoB,CACxBe,uBAAwB,WACtBmF,EAAQ3sB,KAAK,qBAEfynB,uBAAwB,SAACnwB,GACvBq1B,EAAQ3sB,KAAR,uBAA6B1I,EAA7B,WAEFowB,yBAA0B,SAACpwB,GACzBq1B,EAAQ3sB,KAAR,uBAA6B1I,EAA7B,aAEFqwB,0BAA2B,WACzBgF,EAAQ3sB,KAAR,iCAEF4nB,yBAA0B,WACxB+E,EAAQ3sB,KAAR,uBAEF6nB,gCAAiC,WAC/B8E,EAAQ3sB,KAAK,+BAIjB,OACE,kBAACwmB,EAAD,CAAqBC,kBAAmBA,GACtC,kBAACnM,EAAD,MACA,kBAAC,IAAD,CAAOnV,KAAK,qBACT,gBAAGwnB,EAAH,EAAGA,QAAS1pB,EAAZ,EAAYA,MAAZ,OACC,kBAAC8kB,EAAD,CACEzf,KAAe,MAATrF,EACNsF,OAAQ,WACNokB,EAAQ3sB,KAAK,sBAKrB,kBAAC,IAAD,CAAOmF,KAAK,0BACT,gBAAGwnB,EAAH,EAAGA,QAAS1pB,EAAZ,EAAYA,MAAZ,OACC,kBAAC8kB,EAAD,CACEzf,KAAe,MAATrF,EACN3L,GAAI2L,GAASA,EAAM2pB,OAAOt1B,GAC1BiR,OAAQ,WACNokB,EAAQ3sB,KAAK,sBAKrB,kBAAC,IAAD,CAAOmF,KAAK,iCACT,gBAAGwnB,EAAH,EAAGA,QAAS1pB,EAAZ,EAAYA,MAAZ,OACC,kBAAColB,EAAD,CACE/f,KAAe,MAATrF,EACNsF,OAAQ,WACNokB,EAAQ3sB,KAAK,sBAKrB,kBAAC,IAAD,CAAOmF,KAAK,4BACT,gBAAGwnB,EAAH,EAAGA,QAAS1pB,EAAZ,EAAYA,MAAZ,OACC,kBAACmlB,EAAD,CACE9f,KAAe,MAATrF,EACN3L,GAAI2L,GAASA,EAAM2pB,OAAOt1B,GAC1BiR,OAAQ,WACNokB,EAAQ3sB,KAAK,sBAKrB,kBAAC,IAAD,CAAOmF,KAAK,uBACT,gBAAGwnB,EAAH,EAAGA,QAAS1pB,EAAZ,EAAYA,MAAZ,OACC,kBAACulB,EAAD,CACElgB,KAAe,MAATrF,EACNsF,OAAQ,WACNokB,EAAQ3sB,KAAK,sBAKrB,kBAAC,IAAD,CAAOmF,KAAK,8BACT,gBAAGwnB,EAAH,EAAGA,QAAS1pB,EAAZ,EAAYA,MAAZ,OACC,kBAACwlB,EAAD,CACEngB,KAAe,MAATrF,EACNsF,OAAQ,WACNokB,EAAQ3sB,KAAK,sBAKrB,kBAACysB,GAAD,OAlGN,oC,6ECIO,SAASnS,IAEd,IAAQC,EAAcC,aACpB,SAAChE,GAAD,MAAY,CAAE+D,UAAW/D,EAAMiE,UAAUC,eACzCC,KAFMJ,UAMR,OADAvP,qBAAU,cAAU,CAACuP,IACd,kBAAC,IAAD,CAAeA,UAAWA,EAAWpkB,KAAK,gB,6BCVtCykB,EAAgB,2B,YCAvBC,EAAwB,CAC5BH,aAAa,EACbjC,gBAAgB,EAChBqC,WAAY,EACZC,SAAU,KACVC,qBAAiBhe,EACjBie,UAAW,MAEAC,EACL,OADKA,EAEH,SCTFC,EDYsBC,YAAY,CACxCle,KAAM,YACNme,aAAcR,EACdS,SAAU,CACRC,WAAY,SAAC/E,EAAOgF,GAClBhF,EAAM/U,MAAN,UAAiB+Z,EAAOvhB,KAAxB,aAAiCuhB,EAAOC,QAAQha,OAC5C+Z,EAAOC,QAAQC,WAAaR,EAC9B1E,EAAMkE,aAAc,EAEpBlE,EAAMiC,gBAAiB,GAG3BkD,UAAW,SAACnF,EAAOgF,GACjBhF,EAAM/U,MAAQ,KACV+Z,EAAOC,QAAQC,WAAaR,EAC9B1E,EAAMkE,aAAc,EAEpBlE,EAAMiC,gBAAiB,GAI3BmD,gBAAiB,SAACpF,EAAOgF,GACvBhF,EAAMiC,gBAAiB,EACvBjC,EAAMwE,gBAAkBQ,EAAOC,QAAQT,gBACvCxE,EAAM/U,MAAQ,MAGhBoa,iBAAkB,SAACrF,EAAOgF,GACxB,MAAiCA,EAAOC,QAAhCX,EAAR,EAAQA,WAAYC,EAApB,EAAoBA,SACpBvE,EAAMkE,aAAc,EACpBlE,EAAM/U,MAAQ,KACd+U,EAAMuE,SAAWA,EACjBvE,EAAMsE,WAAaA,GAGrBgB,gBAAiB,SAACtF,EAAOgF,GACvBhF,EAAMiC,gBAAiB,EACvBjC,EAAM/U,MAAQ,KACd+U,EAAMuE,SAAS/a,KAAKwb,EAAOC,QAAQjD,WAGrCuD,gBAAiB,SAACvF,EAAOgF,GACvBhF,EAAM/U,MAAQ,KACd+U,EAAMiC,gBAAiB,EACvBjC,EAAMuE,SAAWvE,EAAMuE,SAAS9f,KAAI,SAAA+gB,GAClC,OAAIA,EAAO1kB,KAAOkkB,EAAOC,QAAQjD,SAASlhB,GACjCkkB,EAAOC,QAAQjD,SAEjBwD,MAIXC,gBAAiB,SAACzF,EAAOgF,GACvBhF,EAAM/U,MAAQ,KACd+U,EAAMiC,gBAAiB,EACvBjC,EAAMuE,SAAWvE,EAAMuE,SAAStU,QAAO,SAAAyV,GAAE,OAAIA,EAAG5kB,KAAOkkB,EAAOC,QAAQnkB,OAGxE6kB,iBAAkB,SAAC3F,EAAOgF,GACxBhF,EAAM/U,MAAQ,KACd+U,EAAMiC,gBAAiB,EACvBjC,EAAMuE,SAAWvE,EAAMuE,SAAStU,QAC9B,SAAAyV,GAAE,OAAKV,EAAOC,QAAQW,IAAIvV,SAASqV,EAAG5kB,QAI1C+kB,uBAAwB,SAAC7F,EAAOgF,GAC9BhF,EAAMiC,gBAAiB,EACvBjC,EAAM/U,MAAQ,KACd,MAAwB+Z,EAAOC,QAAvBW,EAAR,EAAQA,IAAKnQ,EAAb,EAAaA,OACbuK,EAAMuE,SAAWvE,EAAMuE,SAAS9f,KAAI,SAAA+gB,GAIlC,OAHII,EAAIE,WAAU,SAAAhlB,GAAE,OAAIA,IAAO0kB,EAAO1kB,OAAO,IAC3C0kB,EAAO/P,OAASA,GAEX+P,SCtFPb,QAEKoB,EAAiB,SAAAC,GAAW,OAAI,SAAAC,GAE3C,OADAA,EAAStB,EAAQQ,UAAU,CAAED,SAAUR,KFclC,SAAuBsB,GAC5B,OAAOhD,IAAMkD,KAAN,UAAc9B,EAAd,SAAoC,CAAE4B,gBEdtCG,CACUH,GACd1Q,MAAK,SAAAC,GACJ,MAAiCA,EAAStS,KAAlCqhB,EAAR,EAAQA,WAAYC,EAApB,EAAoBA,SACpB0B,EAAStB,EAAQU,iBAAiB,CAAEf,aAAYC,iBAEjD1O,OAAM,SAAA5K,GACLA,EAAMmb,cAAgB,uBACtBH,EAAStB,EAAQI,WAAW,CAAE9Z,QAAOia,SAAUR,UAIxC2B,EAAgB,SAAAvlB,GAAE,OAAI,SAAAmlB,GACjC,OAAKnlB,GAILmlB,EAAStB,EAAQQ,UAAU,CAAED,SAAUR,MFVT4B,EEYXxlB,EFXZkiB,IAAM3M,IAAN,UAAa+N,EAAb,YAA8BkC,KEYlChR,MAAK,SAAAC,GACJ,IAAMyM,EAAWzM,EAAStS,KAC1BgjB,EAAStB,EAAQS,gBAAgB,CAAEZ,gBAAiBxC,QAErDnM,OAAM,SAAA5K,GACLA,EAAMmb,cAAgB,sBACtBH,EAAStB,EAAQI,WAAW,CAAE9Z,QAAOia,SAAUR,SAZ1CuB,EAAStB,EAAQS,gBAAgB,CAAEZ,qBAAiBhe,KFPxD,IAAyB8f,IEuBnBC,EAAiB,SAAAzlB,GAAE,OAAI,SAAAmlB,GAElC,OADAA,EAAStB,EAAQQ,UAAU,CAAED,SAAUR,MFAV4B,EEEXxlB,EFDXkiB,IAAMwD,OAAN,UAAgBpC,EAAhB,YAAiCkC,KEErChR,MAAK,SAAAC,GACJ0Q,EAAStB,EAAQc,gBAAgB,CAAE3kB,WAEpC+U,OAAM,SAAA5K,GACLA,EAAMmb,cAAgB,wBACtBH,EAAStB,EAAQI,WAAW,CAAE9Z,QAAOia,SAAUR,QFR9C,IAAwB4B,IEYlBG,EAAiB,SAAAC,GAAmB,OAAI,SAAAT,GAEnD,OADAA,EAAStB,EAAQQ,UAAU,CAAED,SAAUR,MF9CV1C,EEgDX0E,EF/CX1D,IAAMkD,KAAK9B,EAAe,CAAEpC,cEgDhC1M,MAAK,SAAAC,GACJ,IAAQyM,EAAazM,EAAStS,KAAtB+e,SACRiE,EAAStB,EAAQW,gBAAgB,CAAEtD,cACnC9iB,SAASsR,eAAe,iBAAiBinB,WAE1C5hB,OAAM,SAAA5K,GACLA,EAAMmb,cAAgB,wBACtBH,EAAStB,EAAQI,WAAW,CAAE9Z,QAAOia,SAAUR,QFxD9C,IAAwB1C,IE4DlB2E,EAAiB,SAAA3E,GAAQ,OAAI,SAAAiE,GAExC,OADAA,EAAStB,EAAQQ,UAAU,CAAED,SAAUR,KFzClC,SAAwB1C,GAC7B,OAAOgB,IAAM4D,IAAN,UAAaxC,EAAb,YAA8BpC,EAAS1d,IAAM,CAAE0d,aEyC/CmE,CACWnE,GACf1M,MAAK,WACJ2Q,EAAStB,EAAQY,gBAAgB,CAAEvD,cACnC9iB,SAASsR,eAAe,iBAAiBinB,WAE1C5hB,OAAM,SAAA5K,GACLA,EAAMmb,cAAgB,wBACtBH,EAAStB,EAAQI,WAAW,CAAE9Z,QAAOia,SAAUR,UAIxCmC,EAAwB,SAACjB,EAAKnQ,GAAN,OAAiB,SAAAwQ,GAEpD,OADAA,EAAStB,EAAQQ,UAAU,CAAED,SAAUR,KFlDlC,SAAkCkB,EAAKnQ,GAC5C,OAAOuN,IAAMkD,KAAN,UAAc9B,EAAd,6BAAwD,CAC7DwB,MACAnQ,WEgDK0Q,CACqBP,EAAKnQ,GAC9BH,MAAK,WACJ2Q,EAAStB,EAAQkB,uBAAuB,CAAED,MAAKnQ,eAEhDI,OAAM,SAAA5K,GACLA,EAAMmb,cAAgB,gCACtBH,EAAStB,EAAQI,WAAW,CAAE9Z,QAAOia,SAAUR,UAIxCoC,EAAkB,SAAAlB,GAAG,OAAI,SAAAK,GAEpC,OADAA,EAAStB,EAAQQ,UAAU,CAAED,SAAUR,KFlDlC,SAAyBkB,GAC9B,OAAO5C,IAAMkD,KAAN,UAAc9B,EAAd,oBAA+C,CAAEwB,QEkDjDO,CACYP,GAChBtQ,MAAK,WACJ2Q,EAAStB,EAAQgB,iBAAiB,CAAEC,YAErC/P,OAAM,SAAA5K,GACLA,EAAMmb,cAAgB,yBACtBH,EAAStB,EAAQI,WAAW,CAAE9Z,QAAOia,SAAUR,U,gCC/F9C,SAASqC,EAAT,GAAmD,IAAfjmB,EAAc,EAAdA,GAAIiR,EAAU,EAAVA,OAE7C,EAA4CiS,aAC1C,SAAChE,GAAD,MAAY,CACVwE,gBAAiBxE,EAAMiE,UAAUO,gBACjCvC,eAAgBjC,EAAMiE,UAAUhC,kBAElCkC,KALMK,EAAR,EAAQA,gBAAiBvC,EAAzB,EAAyBA,eAQzB,EAA0BvU,mBAAS,IAAnC,mBAAOoS,EAAP,KAAckH,EAAd,KAYA,OAVAxS,qBAAU,WACR,IAAIyS,EAASnmB,EAAK,GAAK,qBACnB0jB,GAAmB1jB,IACrBmmB,EAAM,0BAAsBzC,EAAgBjgB,KAAtC,MAGRyiB,EAASC,KAER,CAACzC,EAAiBvC,IAGnB,oCACGA,GAAkB,kBAAC,IAAD,MACnB,kBAACkF,EAAA,EAAMlV,OAAP,KACE,kBAACkV,EAAA,EAAM9U,MAAP,CAAavR,GAAG,gCAAgCgf,GAChD,kBAACie,EAAA,EAAD,CAEE7rB,aAAW,QACX/E,QAAS,SAAC6C,GACR+B,GAAO,KAGT,kBAAC,IAAD,S,41MCxBQ4E,aAAW,SAAAC,GAAK,MAAK,CACrC0V,UAAW,CACTzE,QAAS,OACTG,SAAU,QAEZuE,UAAW,CACTzU,WAAYlB,EAAMK,QAAQ,GAC1BW,YAAahB,EAAMK,QAAQ,GAC3BE,aAAc,QAEhB0hB,MAAO,CACL7hB,UAAWJ,EAAMK,QAAQ,IAE3B6hB,KAAM,CACJhiB,MAAO,SAGJ,SAASgL,EAAT,GAKH,IACEH,EALJI,EAIC,EAJDA,aACAC,EAGC,EAHDA,SACAC,EAEC,EAFDA,eACAlQ,EACC,EADDA,OAIE4P,OADkBnb,IAAhBwb,EAASlhB,GACU8gB,MAAaC,MAAM,CACtCtd,KAAMqd,MACH4U,IAAI,EAAG,qBACPC,IAAI,GAAI,sBACRnjB,SAAS,oBAEZmF,eAAgBmJ,MACbtO,SAAS,gCAGOsO,MAAaC,MAAM,IAE1C,MAAwCnU,mBAAS,IAAjD,mBAAO4yB,EAAP,KAAqBC,EAArB,KACA,EAAoD7yB,mBAAS,IAA7D,mBAAO8yB,EAAP,KAA2BC,EAA3B,KACA,EAAkC/yB,mBAAS,IAA3C,mBAAOgzB,EAAP,KAAkBC,EAAlB,KACA,EAAkCjzB,mBAAS,MAA3C,mBAAO2K,EAAP,KAAkBC,EAAlB,KACA,EAA4B5K,mBAAS,MAArC,mBAAO6K,EAAP,KAAeC,EAAf,KACA,EAA4C9K,mBAAS,MAArD,mBAAO+K,EAAP,KAAuBC,EAAvB,KACA,EAA8ChL,mBAAS,IAAvD,mBAAOkzB,EAAP,KAAwBC,EAAxB,KACA,EAAkDnzB,mBAAS,IAA3D,mBAA0BqzB,GAA1B,WACA,EAA8DrzB,mBAAS,IAAvE,mBAAOszB,EAAP,KAAgCC,EAAhC,KAEAzsB,qBAAU,WACR+sB,SAC2B/6B,IAArBwb,EAASyhB,SAA8C,KAArBzhB,EAASyhB,SAAuC,OAArBzhB,EAASyhB,SACxEnrB,EAAa0J,EAASyhB,WAEzB,CAACzhB,IACJ,IAAMuf,EAAsB,uCAAG,mHAENve,IAAM3M,IAAI,8BAFJ,OAErBxG,EAFqB,OAG3B4wB,EAAsB5wB,EAAO5M,KAAKwB,KAAI,SAAAgnB,GAAU,MAAK,CACnD5rB,MAAO4rB,EAAW3qB,GAClBoD,MAAOunB,EAAWlnB,UAEpBg8B,EAAgB1wB,EAAO5M,MAAQ,SACPuD,IAApBwb,EAASzJ,QAA4C,KAApByJ,EAASzJ,QAAqC,OAApByJ,EAASzJ,SAChEipB,EAAa3xB,EAAO5M,KAAKgN,QAAO,SAAAhG,GAAC,OAAIA,EAAE1F,OAASyd,EAASyhB,YAChDl6B,OAAS,IAClBk4B,EAAKD,EAAW,GAAG1mB,MACvB+lB,EAAmBY,EAAGh9B,KAAI,SAAAgnB,GAAU,MAAK,CACvC5rB,MAAO4rB,EAAWnnB,GAClBJ,MAAOunB,EAAWlnB,UAEpBo8B,EAAac,IACPC,EAAKD,EAAGxxB,QAAO,SAAAhG,GAAC,OAAIA,EAAE3F,KAAO0d,EAASzJ,WACrChP,OAAS,IACdw3B,EAAqBW,EAAG,GAAG3mB,eAC3BkmB,EAA2BS,EAAG,GAAG3mB,cAActW,KAAI,SAAAgnB,GAAU,MAAK,CAChE5rB,MAAO4rB,EAAWnnB,GAClBJ,MAAOunB,EAAWlnB,WAGtBiU,EAAUwJ,EAASzJ,QACnBG,EAAkBsJ,EAASvJ,iBA1BJ,yGAAH,qDAiC5B,OACE,oCACE,kBAAC,IAAD,CACEwK,oBAAoB,EACpBC,cAAelB,EACfmB,iBAAkBxB,EAClByB,SAAU,SAACxb,GACTma,EAAana,MAGd,gBAAG2f,EAAH,EAAGA,OAAQD,EAAX,EAAWA,QAAS7D,EAApB,EAAoBA,aAAc7P,EAAlC,EAAkCA,cAAlC,OACC,oCACE,kBAACuT,EAAA,EAAMhV,KAAP,CAAYzR,UAAU,iBACnBuhB,GACC,yBAAKvhB,UAAU,gCACb,yBAAKA,UAAU,wCAGnB,kBAAC,IAAD,CAAMA,UAAU,yBACd,yBAAKA,UAAU,kBACb,yBAAKA,UAAU,YACb,yBAAKA,UAAU,yBACb,kBAAC,IAAD,CACEgG,KAAK,OACLxC,MAAM,OACNkL,UAAW2f,IACXjf,YAAY,OACZ4H,OAAO,aAIb,yBAAKhX,UAAU,YACb,yBAAKA,UAAU,qBACb,kBAAC,IAAD,CACEgG,KAAK,cACLxC,MAAM,cACNkL,UAAW2f,IACXjf,YAAY,cACZ4H,OAAO,aAIb,yBAAKhX,UAAU,YACb,yBAAKA,UAAU,qBACZ8/B,GACC,oCACE,uBAAG9/B,UAAU,QAAb,WACA,kBAAC,IAAD,CACEwD,MAAM,UACNwC,KAAI,YACJ5F,GAAE,YACF+Z,QAAS2lB,EACT3gC,MAAO2gC,EAAmBvwB,QAAO,SAAAhG,GAAC,OAAIA,EAAE/F,QAAUmU,KAClDtI,SAAU,SAAC4E,GACT2D,EAAa3D,EAAMzQ,OACnB0P,EAAc,YAAae,EAAM9U,OACjC+T,EAAc,SAAU,MACxBA,EAAc,iBAAkB,MAChC,IAAM4tB,EAAalB,EAAarwB,QAAO,SAAAhG,GAAC,OAAIA,EAAEnJ,KAAO6T,EAAM9U,SAC3DiE,QAAQC,IAAIy9B,GACRA,EAAW,GAAG1mB,MAAMvR,OAAS,GAC/Bo3B,EAAaa,EAAW,GAAG1mB,OAC3B+lB,EAAmBW,EAAW,GAAG1mB,MAAMrW,KAAI,SAAAgnB,GAAU,MAAK,CACxD5rB,MAAO4rB,EAAWnnB,GAClBJ,MAAOunB,EAAWlnB,YAGpBo8B,EAAa,IACbnoB,EAAU,MACVE,EAAkB,MAClBqoB,EAAqB,IACrBF,EAAmB,IACnBI,EAA2B,IAC3B3gC,YAAa,UAAW,6CAUtC,yBAAKI,UAAU,YACb,yBAAKA,UAAU,qBAEXkgC,GACE,oCACE,uBAAGlgC,UAAU,QAAb,QAEA,kBAAC,IAAD,CACEwD,MAAM,OACNwC,KAAI,SACJ5F,GAAE,SACF+Z,QAAS+lB,EACT/gC,MAAO+gC,EAAgB3wB,QAAO,SAAAhG,GAAC,OAAIA,EAAEpK,QAAU0Y,KAE/CxI,SAAU,SAAC4E,GACT6D,EAAU7D,EAAM9U,OAChB+T,EAAc,SAAUe,EAAM9U,OAC9B+T,EAAc,iBAAkB,MAChC,IAAM4tB,EAAad,EAAUzwB,QAAO,SAAAhG,GAAC,OAAIA,EAAE3F,KAAOqQ,EAAM9U,SACpD2hC,EAAW,GAAGzmB,cAAcxR,OAAS,GACvCw3B,EAAqBS,EAAW,GAAGzmB,eACnCkmB,EAA2BO,EAAW,GAAGzmB,cAActW,KAAI,SAAAgnB,GAAU,MAAK,CACxE5rB,MAAO4rB,EAAWnnB,GAClBJ,MAAOunB,EAAWlnB,YAGpBmU,EAAkB,MAClBqoB,EAAqB,IACrBJ,EAAa,IACbM,EAA2B,IAC3BJ,EAAmB,IACnBvgC,YAAa,UAAW,mDAYxC,yBAAKI,UAAU,YACb,yBAAKA,UAAU,qBACb,uBAAGA,UAAU,QAAb,kBACA,kBAAC,IAAD,CACEwD,MAAM,gBACNwC,KAAI,iBACJ5F,GAAE,iBACFjB,MAAOmhC,EAAwB/wB,QAAO,SAAAhG,GAAC,OAAIA,EAAEpK,QAAU4Y,KACvDoC,QAASmmB,EACTjxB,SAAU,SAAC4E,GACT+D,EAAkB/D,EAAM9U,OACxB+T,EAAc,iBAAkBe,EAAM9U,UAIzC0nB,EAAO9O,gBAAkB6O,EAAQ7O,eAChC,yBAAK3T,MAAO,CAAE2K,MAAO,MAAO1K,SAAU,SAAWwiB,EAAO9O,gBACtD,UAMd,kBAAC0O,EAAA,EAAM/U,OAAP,KACE,4BACE3O,KAAK,SACL0J,QAAS4E,EACTrR,UAAU,6BAHZ,UAOA,yCACA,4BACE+C,KAAK,SACL0J,QAAS,kBAAMsW,KACf/iB,UAAU,+BAHZ,c,YCpQDsuB,EAA2B,CAAC,SAAU,UAAW,OAAQ,IAIzD1d,EAAgB,CAAC,CAAExE,UAAW,KAAMyE,MAAO,SAC3C0d,EAAkB,CAC7B,CAAEtvB,KAAM,IAAKE,MAAO,GACpB,CAAEF,KAAM,IAAKE,MAAO,GACpB,CAAEF,KAAM,KAAME,MAAO,KAEVqvB,EAAgB,CAC3Bjf,OAAQ,CACNkf,SAAU,GACVC,UAAW,GACXC,MAAO,GACPC,UAAW,IAEbC,UAAW,MACXC,UAAW,KACXC,WAAY,EACZC,SAAU,IChBNC,EAAqBC,0BAEpB,SAASC,IACd,OAAOC,qBAAWH,GAGeA,EAAmBI,SAE/C,SAASC,EAAT,GAA6D,IAA/BC,EAA8B,EAA9BA,kBAAmB7G,EAAW,EAAXA,SACtD,EAA0C1b,mBAASwhB,GAAnD,mBAAOlJ,EAAP,KAAoBkK,EAApB,KACA,EAAsBxiB,mBAAS,IAA/B,mBAAOkY,EAAP,KAAYuK,EAAZ,KACMC,EAAiBC,uBAAY,SAAAC,GACjCJ,GAAmB,SAAAK,GAKjB,OAJIC,qBAAWF,KACbA,EAAkBA,EAAgBC,IAGhCE,kBAAQF,EAAiBD,GACpBC,EAGFD,OAER,IAQGzwB,EAAQ,CACZmmB,cACAkK,qBACAtK,MACAuK,SACAC,iBACAM,aAZmB,CACnB5vB,QAAI0F,EACJjC,KAAK,GACLkU,eAAe,IAUfuY,uBAAwBf,EAAkBe,uBAC1CC,uBAAwBhB,EAAkBgB,uBAC1CC,yBAA0BjB,EAAkBiB,yBAC5CC,0BAA2BlB,EAAkBkB,0BAC7CC,yBAA0BnB,EAAkBmB,yBAC5CC,gCAAiCpB,EAAkBoB,iCAGrD,OAAO,kBAAC1B,EAAmB2B,SAApB,CAA6BzxB,MAAOA,GAAQupB,GC1C9C,SAASmI,EAAT,GAAmD,IAArBzwB,EAAoB,EAApBA,GAAIgR,EAAgB,EAAhBA,KAAMC,EAAU,EAAVA,OAEvCyf,EAAqB3B,IACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACLhB,aAAcc,EAAmBd,gBAElC,CAACc,IAGEvL,EAAW0L,cACjB,EAA4C3N,aAC1C,SAAChE,GAAD,MAAY,CACViC,eAAgBjC,EAAMiE,UAAUhC,eAChCuC,gBAAiBxE,EAAMiE,UAAUO,mBAEnCL,KALMlC,EAAR,EAAQA,eAAgBuC,EAAxB,EAAwBA,gBAQxBhQ,qBAAU,WAERyR,EAAStB,EAAsB7jB,MAC9B,CAACA,EAAImlB,IAaR,OACE,kBAACkB,EAAA,EAAD,CACEtV,KAAK,KACLC,KAAMA,EACNC,OAAQA,EACRC,kBAAgB,gCAEhB,kBAAC+U,EAAD,CAA0BjmB,GAAIA,EAAIiR,OAAQA,IAC1C,kBAAC+P,EAAD,CACEC,aAnBe,SAACC,GACflhB,EAKHmlB,EAAStB,EAAuB3C,IAAW1M,MAAK,kBAAMvD,OAHtDkU,EAAStB,EAAuB3C,IAAW1M,MAAK,kBAAMvD,QAiBpDkQ,eAAgBA,EAChBD,SAAUwC,GAAmBiN,EAAiBf,aAC9C3e,OAAQA,KChDT,SAAS6f,EAAT,GAAqD,IAArB9wB,EAAoB,EAApBA,GAAIgR,EAAgB,EAAhBA,KAAMC,EAAU,EAAVA,OAEzCyf,EAAqB3B,IACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACLvB,OAAQqB,EAAmBrB,OAC3BnK,YAAawL,EAAmBxL,eAEjC,CAACwL,IAGEvL,EAAW0L,cACT5N,EAAcC,aACpB,SAAChE,GAAD,MAAY,CAAE+D,UAAW/D,EAAMiE,UAAUhC,kBACzCkC,KAFMJ,UAMRvP,qBAAU,WACH1T,GACHiR,MAGD,CAACjR,IAGJ0T,qBAAU,cAAU,CAACuP,EAAWkC,IAchC,OACE,kBAACkB,EAAA,EAAD,CACErV,KAAMA,EACNC,OAAQA,EACRC,kBAAgB,gCAGf+R,GAAa,kBAAC,IAAD,MAEd,kBAACoD,EAAA,EAAMlV,OAAP,CAAcmV,aAAW,GACvB,kBAACD,EAAA,EAAM9U,MAAP,CAAavR,GAAG,gCAAhB,2BAIF,kBAACqmB,EAAA,EAAMhV,KAAP,MACI4R,GACA,yFAEDA,GAAa,gEAEhB,kBAACoD,EAAA,EAAM/U,OAAP,KACE,6BACE,4BACE3O,KAAK,SACL0J,QAAS4E,EACTrR,UAAU,6BAHZ,UAOA,yCACA,4BACE+C,KAAK,SACL0J,QA5Ca,WAErB8Y,EAAStB,EAAuB7jB,IAAKwU,MAAK,WAExC2Q,EAAStB,EAAuB8M,EAAiBzL,cAEjDyL,EAAiBtB,OAAO,IAExBpe,QAqCMrR,UAAU,8BAHZ,aCtEH,SAASmxB,EAAT,GAAkD,IAAjB/f,EAAgB,EAAhBA,KAAMC,EAAU,EAAVA,OAEtCyf,EAAqB3B,IACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACL9L,IAAK4L,EAAmB5L,IACxBuK,OAAQqB,EAAmBrB,OAC3BnK,YAAawL,EAAmBxL,eAEjC,CAACwL,IAGEvL,EAAW0L,cACT5N,EAAcC,aACpB,SAAChE,GAAD,MAAY,CAAE+D,UAAW/D,EAAMiE,UAAUhC,kBACzCkC,KAFMJ,UAMRvP,qBAAU,WACHid,EAAiB7L,KAAuC,IAAhC6L,EAAiB7L,IAAIrc,QAChDwI,MAGD,CAAC0f,EAAiB7L,MAGrBpR,qBAAU,cAAU,CAACuP,EAAWkC,IAiBhC,OACE,kBAACkB,EAAA,EAAD,CACErV,KAAMA,EACNC,OAAQA,EACRC,kBAAgB,gCAGf+R,GAAa,kBAAC,IAAD,MAEd,kBAACoD,EAAA,EAAMlV,OAAP,CAAcmV,aAAW,GACvB,kBAACD,EAAA,EAAM9U,MAAP,CAAavR,GAAG,gCAAhB,2BAIF,kBAACqmB,EAAA,EAAMhV,KAAP,MACI4R,GACA,6FAEDA,GAAa,iEAEhB,kBAACoD,EAAA,EAAM/U,OAAP,KACE,6BACE,4BACE3O,KAAK,SACL0J,QAAS4E,EACTrR,UAAU,6BAHZ,UAOA,yCACA,4BACE+C,KAAK,SACL0J,QA/Cc,WAEtB8Y,EAAStB,EAAwB8M,EAAiB7L,MAAMtQ,MAAK,WAE3D2Q,EAAStB,EAAuB8M,EAAiBzL,cAAc1Q,MAC7D,WAEEmc,EAAiBtB,OAAO,IAExBpe,WAuCErR,UAAU,8BAHZ,aC3EV,IAAMoxB,EAAoB,SAACvN,EAAUqB,GACnC,IAAMmM,EAAa,GAOnB,OANAnM,EAAIhkB,SAAQ,SAACd,GACX,IAAMkhB,EAAWuC,EAASV,MAAK,SAAC6B,GAAD,OAAQA,EAAG5kB,KAAOA,KAC7CkhB,GACF+P,EAAWvoB,KAAKwY,MAGb+P,GAGF,SAASC,EAAT,GAAiD,IAAjBlgB,EAAgB,EAAhBA,KAAMC,EAAU,EAAVA,OAErCyf,EAAqB3B,IACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACL9L,IAAK4L,EAAmB5L,OAEzB,CAAC4L,IAGIvN,EAAcD,aACpB,SAAChE,GAAD,MAAY,CACViE,UAAW6N,EACT9R,EAAMiE,UAAUM,SAChBkN,EAAiB7L,QAGrBzB,KAPMF,UAkBR,OAPAzP,qBAAU,WACHid,EAAiB7L,KAAuC,IAAhC6L,EAAiB7L,IAAIrc,QAChDwI,MAGD,CAAC0f,EAAiB7L,MAGnB,kBAACuB,EAAA,EAAD,CACErV,KAAMA,EACNC,OAAQA,EACRC,kBAAgB,gCAEhB,kBAACmV,EAAA,EAAMlV,OAAP,CAAcmV,aAAW,GACvB,kBAACD,EAAA,EAAM9U,MAAP,CAAavR,GAAG,gCAAhB,4BAIF,kBAACqmB,EAAA,EAAMhV,KAAP,KACE,yBAAKzR,UAAU,4BACZujB,EAAUxf,KAAI,SAACud,GAAD,OACb,yBAAKthB,UAAU,kCAAkCsH,IAAG,YAAOga,EAASlhB,KAClE,yBAAKJ,UAAU,gFACf,yBAAKA,UAAU,kBACb,uBACEA,UAAS,gCACPsuB,EAAyBhN,EAASvM,QAD3B,gBAKb,yBAAK/U,UAAU,sCACb,0BACIA,UAAS,qCACPsuB,EAAyBhN,EAASvM,QAD3B,kBADb,OAKSuM,EAASlhB,IAElB,0BAAMJ,UAAU,QAAQshB,EAASmN,SAAjC,KAA6CnN,EAASoN,kBAMhE,kBAACjI,EAAA,EAAM/U,OAAP,KACE,6BACE,4BACE3O,KAAK,SACL0J,QAAS4E,EACTrR,UAAU,6BAHZ,UAOA,yCACA,4BACE+C,KAAK,SACL0J,QAAS4E,EACTrR,UAAU,+BAHZ,SCrFV,IAAMoxB,EAAoB,SAACvN,EAAUqB,GACnC,IAAMmM,EAAa,GAOnB,OANAnM,EAAIhkB,SAAQ,SAACd,GACX,IAAMkhB,EAAWuC,EAASV,MAAK,SAAC6B,GAAD,OAAQA,EAAG5kB,KAAOA,KAC7CkhB,GACF+P,EAAWvoB,KAAKwY,MAGb+P,GAGF,SAASE,EAAT,GAAuD,IAAjBngB,EAAgB,EAAhBA,KAAMC,EAAU,EAAVA,OAE3Cyf,EAAqB3B,IACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACL9L,IAAK4L,EAAmB5L,IACxBuK,OAAQqB,EAAmBrB,OAC3BnK,YAAawL,EAAmBxL,eAEjC,CAACwL,IAGJ,EAAiCxN,aAC/B,SAAChE,GAAD,MAAY,CACViE,UAAW6N,EACT9R,EAAMiE,UAAUM,SAChBkN,EAAiB7L,KAEnB7B,UAAW/D,EAAMiE,UAAUhC,kBAE7BkC,KARMF,EAAR,EAAQA,UAAWF,EAAnB,EAAmBA,UAYnBvP,qBAAU,WACHid,EAAiB7L,KAAuC,IAAhC6L,EAAiB7L,IAAIrc,QAChDwI,MAGD,CAAC0f,EAAiB7L,MAErB,MAA4BlY,mBAAS,GAArC,mBAAO+H,EAAP,KAAeyc,EAAf,KAEMjM,EAAW0L,cAkBjB,OACE,kBAACxK,EAAA,EAAD,CACErV,KAAMA,EACNC,OAAQA,EACRC,kBAAgB,gCAEhB,kBAACmV,EAAA,EAAMlV,OAAP,CAAcmV,aAAW,GACvB,kBAACD,EAAA,EAAM9U,MAAP,CAAavR,GAAG,gCAAhB,8CAIF,kBAACqmB,EAAA,EAAMhV,KAAP,CAAYzR,UAAU,yBAEnBqjB,GACC,yBAAKrjB,UAAU,iBACb,yBAAKA,UAAU,wCAKnB,yBAAKA,UAAU,4BACZujB,EAAUxf,KAAI,SAACud,GAAD,OACb,yBACEthB,UAAU,kCACVsH,IAAG,yBAAoBga,EAASlhB,KAEhC,yBAAKJ,UAAU,gFACf,yBAAKA,UAAU,kBACb,uBACEA,UAAS,gCACPsuB,EAAyBhN,EAASvM,QAD3B,gBAKb,yBAAK/U,UAAU,sCACb,0BACEA,UAAS,qCACPsuB,EAAyBhN,EAASvM,QAD3B,kBADX,OAKOuM,EAASlhB,IAEhB,0BAAMJ,UAAU,QACbshB,EAASmN,SADZ,KACwBnN,EAASoN,kBAO3C,kBAACjI,EAAA,EAAM/U,OAAP,CAAc1R,UAAU,QACtB,yBAAKA,UAAU,cACb,4BACEA,UAAU,eACVb,MAAO4V,EACP1F,SAAU,SAACC,GAAD,OAAOkiB,GAAWliB,EAAEM,OAAOzQ,SAErC,4BAAQA,MAAM,KAAd,YACA,4BAAQA,MAAM,KAAd,YAGJ,yBAAKa,UAAU,cACb,4BACE+C,KAAK,SACL0J,QAAS4E,EACTrR,UAAU,kCAHZ,UAOA,4BACE+C,KAAK,SACL0J,QAxFW,WAEnB8Y,EAAStB,EAA8B8M,EAAiB7L,IAAKnQ,IAASH,MACpE,WAEE2Q,EAAStB,EAAuB8M,EAAiBzL,cAAc1Q,MAC7D,WAEEmc,EAAiBtB,OAAO,IAExBpe,WA+EArR,UAAU,+BAHZ,oB,WCpHH,SAASqyB,GAAT,GAA0C,EAAf7O,YAAgB,IAE1CsN,EAAqB3B,IACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACL1L,YAAawL,EAAmBxL,YAChCoK,eAAgBoB,EAAmBpB,kBAEpC,CAACoB,IAGE0B,EAAc,SAACtrB,GACnB,IAAMurB,EA9BY,SAACnN,EAAape,GAClC,IAAQyrB,EAAyCzrB,EAAzCyrB,YAAY5d,EAA6B7N,EAA7B6N,OAAQhS,EAAqBmE,EAArBnE,KAAM2vB,EAAexrB,EAAfwrB,WAC5BD,EAAc,eAAQnN,GACtB/V,EAAS,GAYf,OAVAA,EAAOwF,OAAoB,KAAXA,GAAiBA,OAASjP,EAE1CyJ,EAAOxM,KAAgB,KAATA,GAAeA,OAAO+C,EAEpCyJ,EAAO1L,KAAO6uB,EACVA,IACFnjB,EAAO1L,KAAO6uB,GAEhBnjB,EAAOojB,YAAcA,EACrBF,EAAeljB,OAASA,EACjBkjB,EAekBG,CAAc7B,EAAiBzL,YAAape,GAC9D6oB,kBAAQ0C,EAAgB1B,EAAiBzL,eAC5CmN,EAAe1D,WAAa,EAE5BgC,EAAiBrB,eAAe+C,KAIpC,OACE,oCACE,kBAAC,IAAD,CACEjQ,cAAe,CACbzN,OAAQ,GACRhS,KAAM,GACN2vB,WAAY,GAAGC,YAAa,GAE9BjQ,SAAU,SAACxb,GACTsrB,EAAYtrB,MAGb,gBACCA,EADD,EACCA,OACA6b,EAFD,EAECA,aACAqQ,EAHD,EAGCA,WAEAlgB,GALD,EAICmgB,aAJD,EAKCngB,eALD,OAOC,0BAAMwP,SAAUK,EAAc/iB,UAAU,yBACrC,2BACC+C,KAAK,SACL/C,UAAU,SACVI,GAAG,gBACHqM,QAAS,SAAC6C,GACe,MAAnBA,EAAEM,OAAOzQ,MACXX,SAASsR,eAAe,iBAAiB3Q,MAAQ,EAC9CX,SAASsR,eAAe,iBAAiB3Q,MAAQ,EACtD+T,EAAc,cAAe5D,EAAEM,OAAOzQ,OACtC4jB,OAGJ,yBAAK/iB,UAAU,kBACX,yBAAKA,UAAU,YACb,2BACE+C,KAAK,OACL/C,UAAU,eACVgG,KAAK,aACLoJ,YAAY,SACZkkB,OAAQF,EACRj0B,MAAO+H,EAAOwrB,WACdrjB,SAAU,SAACC,GACT4D,EAAc,aAAc5D,EAAEM,OAAOzQ,OACrC4jB,OAGJ,2BAAO/iB,UAAU,wBACf,qCADF,yB,qFCjFX,SAASm0B,GACdC,EACA5sB,EACA6sB,EAHK,GAKJ,IADC9D,EACF,EADEA,uBAAwBC,EAC1B,EAD0BA,yBAE1B,OACE,oCACE,uBACEpR,MAAM,sBACNpf,UAAU,uDACVyM,QAAS,kBAAM8jB,EAAuB/oB,EAAIpH,MAE1C,0BAAMJ,UAAU,yCACd,kBAAC,KAAD,CACEwI,IAAKC,aAAc,gDAIzB,yCAEA,uBACE2W,MAAM,wBACNpf,UAAU,iDACVyM,QAAS,kBAAM+jB,EAAyBhpB,EAAIpH,MAE5C,0BAAMJ,UAAU,wCACd,kBAAC,KAAD,CAAKwI,IAAKC,aAAc,2CCV3B,SAAS6rB,KAEd,IAAMxD,EAAqB3B,IACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACL9L,IAAK4L,EAAmB5L,IACxBuK,OAAQqB,EAAmBrB,OAC3BnK,YAAawL,EAAmBxL,YAChCoK,eAAgBoB,EAAmBpB,eACnCa,uBAAwBO,EAAmBP,uBAC3CC,yBAA0BM,EAAmBN,4BAE9C,CAACM,IAGIyD,EAAiBjR,aACvB,SAAChE,GAAD,MAAY,CAAEiV,aAAcjV,EAAMiE,aAClCE,KAFM8Q,aAIA3Q,EAAsC2Q,EAAtC3Q,WAAYC,EAA0B0Q,EAA1B1Q,SAAUL,EAAgB+Q,EAAhB/Q,YAGxB+B,EAAW0L,cACjBnd,qBAAU,WAERid,EAAiBtB,OAAO,IAExBlK,EAAStB,EAAuB8M,EAAiBzL,gBAEhD,CAACyL,EAAiBzL,YAAaC,IAElC,IAAMpZ,EAAU,CACd,CACEC,UAAW,KACXnN,KAAM,KACNyN,MAAM,EACNC,UAAWA,KACXC,2BAEF,CACER,UAAW,OACXnN,KAAM,OACNyN,MAAM,EACNC,UAAWA,KACXC,2BAEF,CACER,UAAW,cACXnN,KAAM,cACNyN,MAAM,EACNC,UAAWA,KACXC,2BAEF,CACER,UAAW,UACXnN,KAAM,UACNyN,MAAM,EACNC,UAAWA,KACXC,2BAEF,CACER,UAAW,OACXnN,KAAM,OACNyN,MAAM,EACNC,UAAWA,KACXC,2BAEF,CACER,UAAW,eACXnN,KAAM,gBACNyN,MAAM,EACNC,UAAWA,KACXC,2BAEF,CACER,UAAW,UACXnN,KAAM,UACNyN,MAAM,EACNC,UAAWA,KACXC,0BACAP,UAAW,SAACC,EAAM9E,GAChB,OACE,oCACE,yBAAKxH,UAAU,sBACb,8BAAO2J,aAAU,OAACnC,QAAD,IAACA,OAAD,EAACA,EAAKqF,cAMjC,CACET,UAAW,SACXnN,KAAM,UACNoN,UAAWmoB,GACXC,gBAAiB,CACflE,uBAAwBQ,EAAiBR,uBACzCC,yBAA0BO,EAAiBP,0BAE7CjwB,QAAS,mBACTm0B,cAAe,mBACftwB,MAAO,CACLuS,SAAU,WAKVge,EAAoB,CACxBC,QAAQ,EACRC,UAAWjR,EACX2K,gBAAiBuG,EACjBC,YAAahE,EAAiBzL,YAAY0J,SAC1CgG,KAAMjE,EAAiBzL,YAAYyJ,YAErC,OACE,oCACE,kBAAC,sBAAD,CAAoBje,WAAYC,KAAkB4jB,KAC/C,YAAgD,IAA7CM,EAA4C,EAA5CA,gBAAiBC,EAA2B,EAA3BA,qBACnB,OACE,kBAAC,IAAD,CACE7R,UAAWG,EACXyR,gBAAiBA,GAEjB,kBAAC,KAAD,eACEjkB,eAAe,mBACfE,UAAU,EACV3Q,QAAQ,gDACR0Q,YAAU,EACVkkB,QAAM,EACNxkB,SAAS,KACTpO,KAAmB,OAAbshB,EAAoB,GAAKA,EAC/B1X,QAASA,EACTyE,cAAekkB,EACfM,cAAeC,aACbtE,EAAiBrB,iBAEfwF,GAEJ,kBAAC,KAAD,CAAmBrR,SAAUA,IAC7B,kBAAC,KAAD,CAAuBA,SAAUA,UC/J1C,SAASyR,KAEd,IAAMxE,EAAqB3B,IACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACL9L,IAAK4L,EAAmB5L,IACxBuK,OAAQqB,EAAmBrB,OAC3BgB,0BAA2BK,EAAmBL,0BAC9CC,yBAA0BI,EAAmBJ,yBAC7CC,gCACEG,EAAmBH,mCAEtB,CAACG,IAEJ,OACE,yBAAK9wB,UAAU,QACb,yBAAKA,UAAU,4EACb,yBAAKA,UAAU,aACb,yBAAKA,UAAU,gCACb,yBAAKA,UAAU,iCACb,2BAAOA,UAAU,yBACf,yDAC0B,2BAAI+wB,EAAiB7L,IAAIrc,WAIvD,6BACE,4BACE9F,KAAK,SACL/C,UAAU,iDACVyM,QAASskB,EAAiBN,2BAE1B,uBAAGzwB,UAAU,gBALf,eADF,Y,aChBL,SAASu1B,KACd,IAAMzE,EAAqB3B,IACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACL9L,IAAK4L,EAAmB5L,IACxBoL,uBAAwBQ,EAAmBR,0BAE5C,CAACQ,IAEJ,OACE,oCACA,kBAACqQ,GAAA,EAAD,KACI,4DACA,0BAAMn7B,KAAK,cAAc4a,QAAQ,iCAErC,kBAAC,IAAD,KACE,kBAAC,IAAD,CAAYxB,MAAM,mBAChB,kBAAC,IAAD,KACE,4BACErc,KAAK,SACL/C,UAAU,wCACVyM,QAASskB,EAAiBT,wBAH5B,yBASJ,kBAAC,IAAD,KACE,kBAAC+B,GAAD,MACCtB,EAAiB7L,IAAIrc,OAAS,GAAK,kBAACysB,GAAD,MACpC,kBAAChB,GAAD,SChCD,SAAS2O,GAAT,GAA4C,IAAZxN,EAAW,EAAXA,QAC/BlG,EAAoB,CACxBe,uBAAwB,WACtBmF,EAAQ3sB,KAAK,8BAEfynB,uBAAwB,SAACnwB,GACvBq1B,EAAQ3sB,KAAR,gCAAsC1I,EAAtC,WAEFowB,yBAA0B,SAACpwB,GACzBq1B,EAAQ3sB,KAAR,gCAAsC1I,EAAtC,aAEFqwB,0BAA2B,WACzBgF,EAAQ3sB,KAAR,0CAEF4nB,yBAA0B,WACxB+E,EAAQ3sB,KAAR,gCAEF6nB,gCAAiC,WAC/B8E,EAAQ3sB,KAAK,wCAIjB,OACE,kBAACwmB,EAAD,CAAqBC,kBAAmBA,GACtC,kBAACnM,EAAD,MACA,kBAAC,IAAD,CAAOnV,KAAK,8BACT,gBAAGwnB,EAAH,EAAGA,QAAS1pB,EAAZ,EAAYA,MAAZ,OACC,kBAAC8kB,EAAD,CACEzf,KAAe,MAATrF,EACNsF,OAAQ,WACNokB,EAAQ3sB,KAAK,+BAKrB,kBAAC,IAAD,CAAOmF,KAAK,mCACT,gBAAGwnB,EAAH,EAAGA,QAAS1pB,EAAZ,EAAYA,MAAZ,OACC,kBAAC8kB,EAAD,CACEzf,KAAe,MAATrF,EACN3L,GAAI2L,GAASA,EAAM2pB,OAAOt1B,GAC1BiR,OAAQ,WACNokB,EAAQ3sB,KAAK,+BAKrB,kBAAC,IAAD,CAAOmF,KAAK,0CACT,gBAAGwnB,EAAH,EAAGA,QAAS1pB,EAAZ,EAAYA,MAAZ,OACC,kBAAColB,EAAD,CACE/f,KAAe,MAATrF,EACNsF,OAAQ,WACNokB,EAAQ3sB,KAAK,+BAKrB,kBAAC,IAAD,CAAOmF,KAAK,qCACT,gBAAGwnB,EAAH,EAAGA,QAAS1pB,EAAZ,EAAYA,MAAZ,OACC,kBAACmlB,EAAD,CACE9f,KAAe,MAATrF,EACN3L,GAAI2L,GAASA,EAAM2pB,OAAOt1B,GAC1BiR,OAAQ,WACNokB,EAAQ3sB,KAAK,+BAKrB,kBAAC,IAAD,CAAOmF,KAAK,gCACT,gBAAGwnB,EAAH,EAAGA,QAAS1pB,EAAZ,EAAYA,MAAZ,OACC,kBAACulB,EAAD,CACElgB,KAAe,MAATrF,EACNsF,OAAQ,WACNokB,EAAQ3sB,KAAK,+BAKrB,kBAAC,IAAD,CAAOmF,KAAK,uCACT,gBAAGwnB,EAAH,EAAGA,QAAS1pB,EAAZ,EAAYA,MAAZ,OACC,kBAACwlB,EAAD,CACEngB,KAAe,MAATrF,EACNsF,OAAQ,WACNokB,EAAQ3sB,KAAK,+BAKrB,kBAACysB,GAAD,OAlGN,oC,6ECIO,SAASnS,IAEd,IAAQC,EAAcC,aACpB,SAAChE,GAAD,MAAY,CAAE+D,UAAW/D,EAAMiE,UAAUC,eACzCC,KAFMJ,UAMR,OADAvP,qBAAU,cAAU,CAACuP,IACd,kBAAC,IAAD,CAAeA,UAAWA,EAAWpkB,KAAK,gB,6BCVtCykB,EAAgB,0B,YCAvBC,EAAwB,CAC5BH,aAAa,EACbjC,gBAAgB,EAChBqC,WAAY,EACZC,SAAU,KACVC,qBAAiBhe,EACjBie,UAAW,MAEAC,EACL,OADKA,EAEH,SCTFC,EDYsBC,YAAY,CACxCle,KAAM,YACNme,aAAcR,EACdS,SAAU,CACRC,WAAY,SAAC/E,EAAOgF,GAClBhF,EAAM/U,MAAN,UAAiB+Z,EAAOvhB,KAAxB,aAAiCuhB,EAAOC,QAAQha,OAC5C+Z,EAAOC,QAAQC,WAAaR,EAC9B1E,EAAMkE,aAAc,EAEpBlE,EAAMiC,gBAAiB,GAG3BkD,UAAW,SAACnF,EAAOgF,GACjBhF,EAAM/U,MAAQ,KACV+Z,EAAOC,QAAQC,WAAaR,EAC9B1E,EAAMkE,aAAc,EAEpBlE,EAAMiC,gBAAiB,GAI3BmD,gBAAiB,SAACpF,EAAOgF,GACvBhF,EAAMiC,gBAAiB,EACvBjC,EAAMwE,gBAAkBQ,EAAOC,QAAQT,gBACvCxE,EAAM/U,MAAQ,MAGhBoa,iBAAkB,SAACrF,EAAOgF,GACxB,MAAiCA,EAAOC,QAAhCX,EAAR,EAAQA,WAAYC,EAApB,EAAoBA,SACpBvE,EAAMkE,aAAc,EACpBlE,EAAM/U,MAAQ,KACd+U,EAAMuE,SAAWA,EACjBvE,EAAMsE,WAAaA,GAGrBgB,gBAAiB,SAACtF,EAAOgF,GACvBhF,EAAMiC,gBAAiB,EACvBjC,EAAM/U,MAAQ,KACd+U,EAAMuE,SAAS/a,KAAKwb,EAAOC,QAAQjD,WAGrCuD,gBAAiB,SAACvF,EAAOgF,GACvBhF,EAAM/U,MAAQ,KACd+U,EAAMiC,gBAAiB,EACvBjC,EAAMuE,SAAWvE,EAAMuE,SAAS9f,KAAI,SAAA+gB,GAClC,OAAIA,EAAO1kB,KAAOkkB,EAAOC,QAAQjD,SAASlhB,GACjCkkB,EAAOC,QAAQjD,SAEjBwD,MAIXC,gBAAiB,SAACzF,EAAOgF,GACvBhF,EAAM/U,MAAQ,KACd+U,EAAMiC,gBAAiB,EACvBjC,EAAMuE,SAAWvE,EAAMuE,SAAStU,QAAO,SAAAyV,GAAE,OAAIA,EAAG5kB,KAAOkkB,EAAOC,QAAQnkB,OAGxE6kB,iBAAkB,SAAC3F,EAAOgF,GACxBhF,EAAM/U,MAAQ,KACd+U,EAAMiC,gBAAiB,EACvBjC,EAAMuE,SAAWvE,EAAMuE,SAAStU,QAC9B,SAAAyV,GAAE,OAAKV,EAAOC,QAAQW,IAAIvV,SAASqV,EAAG5kB,QAI1C+kB,uBAAwB,SAAC7F,EAAOgF,GAC9BhF,EAAMiC,gBAAiB,EACvBjC,EAAM/U,MAAQ,KACd,MAAwB+Z,EAAOC,QAAvBW,EAAR,EAAQA,IAAKnQ,EAAb,EAAaA,OACbuK,EAAMuE,SAAWvE,EAAMuE,SAAS9f,KAAI,SAAA+gB,GAIlC,OAHII,EAAIE,WAAU,SAAAhlB,GAAE,OAAIA,IAAO0kB,EAAO1kB,OAAO,IAC3C0kB,EAAO/P,OAASA,GAEX+P,SCtFPb,QAEKoB,EAAiB,SAAAC,GAAW,OAAI,SAAAC,GAE3C,OADAA,EAAStB,EAAQQ,UAAU,CAAED,SAAUR,KFclC,SAAuBsB,GAC5B,OAAOhD,IAAMkD,KAAN,UAAc9B,EAAd,SAAoC,CAAE4B,gBEdtCG,CACUH,GACd1Q,MAAK,SAAAC,GACJ,MAAiCA,EAAStS,KAAlCqhB,EAAR,EAAQA,WAAYC,EAApB,EAAoBA,SACpB0B,EAAStB,EAAQU,iBAAiB,CAAEf,aAAYC,iBAEjD1O,OAAM,SAAA5K,GACLA,EAAMmb,cAAgB,uBACtBH,EAAStB,EAAQI,WAAW,CAAE9Z,QAAOia,SAAUR,UAIxC2B,EAAgB,SAAAvlB,GAAE,OAAI,SAAAmlB,GACjC,OAAKnlB,GAILmlB,EAAStB,EAAQQ,UAAU,CAAED,SAAUR,MFVT4B,EEYXxlB,EFXZkiB,IAAM3M,IAAN,UAAa+N,EAAb,YAA8BkC,KEYlChR,MAAK,SAAAC,GACJ,IAAMyM,EAAWzM,EAAStS,KAC1BgjB,EAAStB,EAAQS,gBAAgB,CAAEZ,gBAAiBxC,QAErDnM,OAAM,SAAA5K,GACLA,EAAMmb,cAAgB,sBACtBH,EAAStB,EAAQI,WAAW,CAAE9Z,QAAOia,SAAUR,SAZ1CuB,EAAStB,EAAQS,gBAAgB,CAAEZ,qBAAiBhe,KFPxD,IAAyB8f,IEuBnBC,EAAiB,SAAAzlB,GAAE,OAAI,SAAAmlB,GAElC,OADAA,EAAStB,EAAQQ,UAAU,CAAED,SAAUR,MFAV4B,EEEXxlB,EFDXkiB,IAAMwD,OAAN,UAAgBpC,EAAhB,YAAiCkC,KEErChR,MAAK,SAAAC,GACJ0Q,EAAStB,EAAQc,gBAAgB,CAAE3kB,WAEpC+U,OAAM,SAAA5K,GACLA,EAAMmb,cAAgB,wBACtBH,EAAStB,EAAQI,WAAW,CAAE9Z,QAAOia,SAAUR,QFR9C,IAAwB4B,IEYlBG,EAAiB,SAAAC,GAAmB,OAAI,SAAAT,GAEnD,OADAA,EAAStB,EAAQQ,UAAU,CAAED,SAAUR,MF9CV1C,EEgDX0E,EF/CX1D,IAAMkD,KAAK9B,EAAe,CAAEpC,cEgDhC1M,MAAK,SAAAC,GACJ,IAAQyM,EAAazM,EAAStS,KAAtB+e,SACRiE,EAAStB,EAAQW,gBAAgB,CAAEtD,cACnC9iB,SAASsR,eAAe,iBAAiBinB,WAE1C5hB,OAAM,SAAA5K,GACLA,EAAMmb,cAAgB,wBACtBH,EAAStB,EAAQI,WAAW,CAAE9Z,QAAOia,SAAUR,QFxD9C,IAAwB1C,IE4DlB2E,EAAiB,SAAA3E,GAAQ,OAAI,SAAAiE,GAExC,OADAA,EAAStB,EAAQQ,UAAU,CAAED,SAAUR,KFzClC,SAAwB1C,GAC7B,OAAOgB,IAAM4D,IAAN,UAAaxC,EAAb,YAA8BpC,EAAS1d,IAAM,CAAE0d,aEyC/CmE,CACWnE,GACf1M,MAAK,WACJ2Q,EAAStB,EAAQY,gBAAgB,CAAEvD,cACnC9iB,SAASsR,eAAe,iBAAiBinB,WAE1C5hB,OAAM,SAAA5K,GACLA,EAAMmb,cAAgB,wBACtBH,EAAStB,EAAQI,WAAW,CAAE9Z,QAAOia,SAAUR,UAIxCmC,EAAwB,SAACjB,EAAKnQ,GAAN,OAAiB,SAAAwQ,GAEpD,OADAA,EAAStB,EAAQQ,UAAU,CAAED,SAAUR,KFlDlC,SAAkCkB,EAAKnQ,GAC5C,OAAOuN,IAAMkD,KAAN,UAAc9B,EAAd,6BAAwD,CAC7DwB,MACAnQ,WEgDK0Q,CACqBP,EAAKnQ,GAC9BH,MAAK,WACJ2Q,EAAStB,EAAQkB,uBAAuB,CAAED,MAAKnQ,eAEhDI,OAAM,SAAA5K,GACLA,EAAMmb,cAAgB,gCACtBH,EAAStB,EAAQI,WAAW,CAAE9Z,QAAOia,SAAUR,UAIxCoC,EAAkB,SAAAlB,GAAG,OAAI,SAAAK,GAEpC,OADAA,EAAStB,EAAQQ,UAAU,CAAED,SAAUR,KFlDlC,SAAyBkB,GAC9B,OAAO5C,IAAMkD,KAAN,UAAc9B,EAAd,oBAA+C,CAAEwB,QEkDjDO,CACYP,GAChBtQ,MAAK,WACJ2Q,EAAStB,EAAQgB,iBAAiB,CAAEC,YAErC/P,OAAM,SAAA5K,GACLA,EAAMmb,cAAgB,yBACtBH,EAAStB,EAAQI,WAAW,CAAE9Z,QAAOia,SAAUR,U,gCC/F9C,SAASqC,EAAT,GAAmD,IAAfjmB,EAAc,EAAdA,GAAIiR,EAAU,EAAVA,OAE7C,EAA4CiS,aAC1C,SAAChE,GAAD,MAAY,CACVwE,gBAAiBxE,EAAMiE,UAAUO,gBACjCvC,eAAgBjC,EAAMiE,UAAUhC,kBAElCkC,KALMK,EAAR,EAAQA,gBAAiBvC,EAAzB,EAAyBA,eAQzB,EAA0BvU,mBAAS,IAAnC,mBAAOoS,EAAP,KAAckH,EAAd,KAaA,OAXAxS,qBAAU,WACR,IAAIyS,EAASnmB,EAAK,GAAK,oBACvBgD,QAAQC,IAAI,mBACRygB,GAAmB1jB,IACrBmmB,EAAM,8BAA0BzC,EAAgBjgB,KAA1C,MAGRyiB,EAASC,KAER,CAACzC,EAAiBvC,IAGnB,oCACGA,GAAkB,kBAAC,IAAD,MACnB,kBAACkF,EAAA,EAAMlV,OAAP,KACE,kBAACkV,EAAA,EAAM9U,MAAP,CAAavR,GAAG,gCAAgCgf,GAChD,kBAACie,EAAA,EAAD,CAEE7rB,aAAW,QACX/E,QAAS,SAAC6C,GACR+B,GAAO,KAGT,kBAAC,IAAD,S,41MCzBQ4E,aAAW,SAAAC,GAAK,MAAK,CACrC0V,UAAW,CACTzE,QAAS,OACTG,SAAU,QAEZuE,UAAW,CACTzU,WAAYlB,EAAMK,QAAQ,GAC1BW,YAAahB,EAAMK,QAAQ,GAC3BE,aAAc,QAEhB0hB,MAAO,CACL7hB,UAAWJ,EAAMK,QAAQ,IAE3B6hB,KAAM,CACJhiB,MAAO,SAGJ,SAASgL,EAAT,GAKH,IACEH,EALJI,EAIC,EAJDA,aACAC,EAGC,EAHDA,SACAC,EAEC,EAFDA,eACAlQ,EACC,EADDA,OAIE4P,OADkBnb,IAAhBwb,EAASlhB,GACU8gB,MAAaC,MAAM,CACtCtd,KAAMqd,MACH4U,IAAI,EAAG,qBACPC,IAAI,GAAI,sBACRnjB,SAAS,oBAEZiF,OAAQqJ,MACLtO,SAAS,sBAGOsO,MAAaC,MAAM,IAE1C,MAAwCnU,mBAAS,IAAjD,mBAAO4yB,EAAP,KAAqBC,EAArB,KACA,EAAoD7yB,mBAAS,IAA7D,mBAAO8yB,EAAP,KAA2BC,EAA3B,KACA,EAAkC/yB,mBAAS,MAA3C,mBAAO2K,EAAP,KAAkBC,EAAlB,KACA,EAAkC5K,mBAAS,IAA3C,mBAAkBizB,GAAlB,WACA,EAA8CjzB,mBAAS,IAAvD,mBAAOkzB,EAAP,KAAwBC,EAAxB,KACA,EAA4BnzB,mBAAS,MAArC,mBAAO6K,EAAP,KAAeC,EAAf,KAEAhE,qBAAU,WACR+sB,SAC2B/6B,IAArBwb,EAASyhB,SAA8C,KAArBzhB,EAASyhB,SAAuC,OAArBzhB,EAASyhB,SACxEnrB,EAAa0J,EAASyhB,WAEzB,CAACzhB,IACJ,IAAMuf,EAAsB,uCAAG,iHAENve,IAAM3M,IAAI,8BAFJ,OAErBxG,EAFqB,OAG3B4wB,EAAsB5wB,EAAO5M,KAAKwB,KAAI,SAAAgnB,GAAU,MAAK,CACnD5rB,MAAO4rB,EAAW3qB,GAClBoD,MAAOunB,EAAWlnB,UAEpBg8B,EAAgB1wB,EAAO5M,MAAQ,SACPuD,IAApBwb,EAASzJ,QAA4C,KAApByJ,EAASzJ,QAAqC,OAApByJ,EAASzJ,SAChEipB,EAAa3xB,EAAO5M,KAAKgN,QAAO,SAAAhG,GAAC,OAAIA,EAAE1F,OAASyd,EAASyhB,YAChDl6B,OAAS,IAClBk4B,EAAKD,EAAW,GAAG1mB,MACvB+lB,EAAmBY,EAAGh9B,KAAI,SAAAgnB,GAAU,MAAK,CACvC5rB,MAAO4rB,EAAWnnB,GAClBJ,MAAOunB,EAAWlnB,UAEpBo8B,EAAaa,EAAW,GAAG1mB,OAC3BtC,EAAUwJ,EAASzJ,SAjBI,yGAAH,qDAsB5B,OACE,oCACE,kBAAC,IAAD,CACE0K,oBAAoB,EACpBC,cAAelB,EACfmB,iBAAkBxB,EAClByB,SAAU,SAACxb,GACTma,EAAana,MAGd,gBAAG2f,EAAH,EAAGA,OAAQD,EAAX,EAAWA,QAAS7D,EAApB,EAAoBA,aAAc7P,EAAlC,EAAkCA,cAAlC,OACC,oCACE,kBAACuT,EAAA,EAAMhV,KAAP,CAAYzR,UAAU,iBACnBuhB,GACC,yBAAKvhB,UAAU,gCACb,yBAAKA,UAAU,wCAGnB,kBAAC,IAAD,CAAMA,UAAU,yBACd,yBAAKA,UAAU,kBACb,yBAAKA,UAAU,YACb,yBAAKA,UAAU,yBACb,kBAAC,IAAD,CACEgG,KAAK,OACLxC,MAAM,OACNkL,UAAW2f,IACXjf,YAAY,OACZ4H,OAAO,aAIb,yBAAKhX,UAAU,YACb,yBAAKA,UAAU,qBACb,kBAAC,IAAD,CACEgG,KAAK,cACLxC,MAAM,cACNkL,UAAW2f,IACXjf,YAAY,cACZ4H,OAAO,aAIb,yBAAKhX,UAAU,YACb,yBAAKA,UAAU,qBACZ8/B,GACC,oCACE,uBAAG9/B,UAAU,QAAb,WAEA,kBAAC,IAAD,CACEwD,MAAM,UACNwC,KAAI,YACJ5F,GAAE,YACF+Z,QAAS2lB,EACT3gC,MAAO2gC,EAAmBvwB,QAAO,SAAAhG,GAAC,OAAIA,EAAE/F,QAAUmU,KAClDtI,SAAU,SAAC4E,GACT2D,EAAa3D,EAAMzQ,OACnB0P,EAAc,YAAae,EAAM9U,OACjC+T,EAAc,SAAU,MACxB,IAAM4tB,EAAalB,EAAarwB,QAAO,SAAAhG,GAAC,OAAIA,EAAEnJ,KAAO6T,EAAM9U,SAC3DiE,QAAQC,IAAIy9B,GACRA,EAAW,GAAG1mB,MAAMvR,OAAS,GAC/Bo3B,EAAaa,EAAW,GAAG1mB,OAC3B+lB,EAAmBW,EAAW,GAAG1mB,MAAMrW,KAAI,SAAAgnB,GAAU,MAAK,CACxD5rB,MAAO4rB,EAAWnnB,GAClBJ,MAAOunB,EAAWlnB,YAGpBo8B,EAAa,IACbnoB,EAAU,MACVqoB,EAAmB,IACnBvgC,YAAa,UAAW,6CAStC,yBAAKI,UAAU,YACb,yBAAKA,UAAU,qBAEXkgC,GACE,oCACE,uBAAGlgC,UAAU,QAAb,QACA,kBAAC,IAAD,CACEwD,MAAM,OACNwC,KAAI,SACJ5F,GAAE,SACF+Z,QAAS+lB,EACT/gC,MAAO+gC,EAAgB3wB,QAAO,SAAAhG,GAAC,OAAIA,EAAEpK,QAAU0Y,KAE/CxI,SAAU,SAAC4E,GACT6D,EAAU7D,EAAM9U,OAChB+T,EAAc,SAAUe,EAAM9U,UAIjC0nB,EAAOhP,QAAU+O,EAAQ/O,OACxB,yBAAKzT,MAAO,CAAE2K,MAAO,MAAO1K,SAAU,SAAWwiB,EAAOhP,QACtD,WAQpB,kBAAC4O,EAAA,EAAM/U,OAAP,KACE,4BACE3O,KAAK,SACL0J,QAAS4E,EACTrR,UAAU,6BAHZ,UAOA,yCACA,4BACE+C,KAAK,SACL0J,QAAS,kBAAMsW,KACf/iB,UAAU,+BAHZ,c,YC7MDsuB,EAA2B,CAAC,SAAU,UAAW,OAAQ,IAIzD1d,EAAgB,CAAC,CAAExE,UAAW,KAAMyE,MAAO,SAC3C0d,EAAkB,CAC7B,CAAEtvB,KAAM,IAAKE,MAAO,GACpB,CAAEF,KAAM,IAAKE,MAAO,GACpB,CAAEF,KAAM,KAAME,MAAO,KAEVqvB,EAAgB,CAC3Bjf,OAAQ,CACNkf,SAAU,GACVC,UAAW,GACXC,MAAO,GACPC,UAAW,IAEbC,UAAW,MACXC,UAAW,KACXC,WAAY,EACZC,SAAU,IChBNC,EAAqBC,0BAEpB,SAASC,IACd,OAAOC,qBAAWH,GAGeA,EAAmBI,SAE/C,SAASC,EAAT,GAA6D,IAA/BC,EAA8B,EAA9BA,kBAAmB7G,EAAW,EAAXA,SACtD,EAA0C1b,mBAASwhB,GAAnD,mBAAOlJ,EAAP,KAAoBkK,EAApB,KACA,EAAsBxiB,mBAAS,IAA/B,mBAAOkY,EAAP,KAAYuK,EAAZ,KACMC,EAAiBC,uBAAY,SAAAC,GACjCJ,GAAmB,SAAAK,GAKjB,OAJIC,qBAAWF,KACbA,EAAkBA,EAAgBC,IAGhCE,kBAAQF,EAAiBD,GACpBC,EAGFD,OAER,IAQGzwB,EAAQ,CACZmmB,cACAkK,qBACAtK,MACAuK,SACAC,iBACAM,aAZmB,CACnB5vB,QAAI0F,EACJjC,KAAK,GACLgU,OAAO,IAUPyY,uBAAwBf,EAAkBe,uBAC1CC,uBAAwBhB,EAAkBgB,uBAC1CC,yBAA0BjB,EAAkBiB,yBAC5CC,0BAA2BlB,EAAkBkB,0BAC7CC,yBAA0BnB,EAAkBmB,yBAC5CC,gCAAiCpB,EAAkBoB,iCAGrD,OAAO,kBAAC1B,EAAmB2B,SAApB,CAA6BzxB,MAAOA,GAAQupB,GC1C9C,SAASmI,EAAT,GAAmD,IAArBzwB,EAAoB,EAApBA,GAAIgR,EAAgB,EAAhBA,KAAMC,EAAU,EAAVA,OAEvCyf,EAAqB3B,IACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACLhB,aAAcc,EAAmBd,gBAElC,CAACc,IAGEvL,EAAW0L,cACjB,EAA4C3N,aAC1C,SAAChE,GAAD,MAAY,CACViC,eAAgBjC,EAAMiE,UAAUhC,eAChCuC,gBAAiBxE,EAAMiE,UAAUO,mBAEnCL,KALMlC,EAAR,EAAQA,eAAgBuC,EAAxB,EAAwBA,gBAQxBhQ,qBAAU,WAERyR,EAAStB,EAAsB7jB,MAC9B,CAACA,EAAImlB,IAaR,OACE,kBAACkB,EAAA,EAAD,CACEtV,KAAK,KACLC,KAAMA,EACNC,OAAQA,EACRC,kBAAgB,gCAEhB,kBAAC+U,EAAD,CAA0BjmB,GAAIA,EAAIiR,OAAQA,IAC1C,kBAAC+P,EAAD,CACEC,aAnBe,SAACC,GACflhB,EAKHmlB,EAAStB,EAAuB3C,IAAW1M,MAAK,kBAAMvD,OAHtDkU,EAAStB,EAAuB3C,IAAW1M,MAAK,kBAAMvD,QAiBpDkQ,eAAgBA,EAChBD,SAAUwC,GAAmBiN,EAAiBf,aAC9C3e,OAAQA,KChDT,SAAS6f,EAAT,GAAqD,IAArB9wB,EAAoB,EAApBA,GAAIgR,EAAgB,EAAhBA,KAAMC,EAAU,EAAVA,OAEzCyf,EAAqB3B,IACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACLvB,OAAQqB,EAAmBrB,OAC3BnK,YAAawL,EAAmBxL,eAEjC,CAACwL,IAGEvL,EAAW0L,cACT5N,EAAcC,aACpB,SAAChE,GAAD,MAAY,CAAE+D,UAAW/D,EAAMiE,UAAUhC,kBACzCkC,KAFMJ,UAMRvP,qBAAU,WACH1T,GACHiR,MAGD,CAACjR,IAGJ0T,qBAAU,cAAU,CAACuP,EAAWkC,IAchC,OACE,kBAACkB,EAAA,EAAD,CACErV,KAAMA,EACNC,OAAQA,EACRC,kBAAgB,gCAGf+R,GAAa,kBAAC,IAAD,MAEd,kBAACoD,EAAA,EAAMlV,OAAP,CAAcmV,aAAW,GACvB,kBAACD,EAAA,EAAM9U,MAAP,CAAavR,GAAG,gCAAhB,0BAIF,kBAACqmB,EAAA,EAAMhV,KAAP,MACI4R,GACA,wFAEDA,GAAa,+DAEhB,kBAACoD,EAAA,EAAM/U,OAAP,KACE,6BACE,4BACE3O,KAAK,SACL0J,QAAS4E,EACTrR,UAAU,6BAHZ,UAOA,yCACA,4BACE+C,KAAK,SACL0J,QA5Ca,WAErB8Y,EAAStB,EAAuB7jB,IAAKwU,MAAK,WAExC2Q,EAAStB,EAAuB8M,EAAiBzL,cAEjDyL,EAAiBtB,OAAO,IAExBpe,QAqCMrR,UAAU,8BAHZ,aCtEH,SAASmxB,EAAT,GAAkD,IAAjB/f,EAAgB,EAAhBA,KAAMC,EAAU,EAAVA,OAEtCyf,EAAqB3B,IACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACL9L,IAAK4L,EAAmB5L,IACxBuK,OAAQqB,EAAmBrB,OAC3BnK,YAAawL,EAAmBxL,eAEjC,CAACwL,IAGEvL,EAAW0L,cACT5N,EAAcC,aACpB,SAAChE,GAAD,MAAY,CAAE+D,UAAW/D,EAAMiE,UAAUhC,kBACzCkC,KAFMJ,UAMRvP,qBAAU,WACHid,EAAiB7L,KAAuC,IAAhC6L,EAAiB7L,IAAIrc,QAChDwI,MAGD,CAAC0f,EAAiB7L,MAGrBpR,qBAAU,cAAU,CAACuP,EAAWkC,IAiBhC,OACE,kBAACkB,EAAA,EAAD,CACErV,KAAMA,EACNC,OAAQA,EACRC,kBAAgB,gCAGf+R,GAAa,kBAAC,IAAD,MAEd,kBAACoD,EAAA,EAAMlV,OAAP,CAAcmV,aAAW,GACvB,kBAACD,EAAA,EAAM9U,MAAP,CAAavR,GAAG,gCAAhB,0BAIF,kBAACqmB,EAAA,EAAMhV,KAAP,MACI4R,GACA,4FAEDA,GAAa,gEAEhB,kBAACoD,EAAA,EAAM/U,OAAP,KACE,6BACE,4BACE3O,KAAK,SACL0J,QAAS4E,EACTrR,UAAU,6BAHZ,UAOA,yCACA,4BACE+C,KAAK,SACL0J,QA/Cc,WAEtB8Y,EAAStB,EAAwB8M,EAAiB7L,MAAMtQ,MAAK,WAE3D2Q,EAAStB,EAAuB8M,EAAiBzL,cAAc1Q,MAC7D,WAEEmc,EAAiBtB,OAAO,IAExBpe,WAuCErR,UAAU,8BAHZ,aC3EV,IAAMoxB,EAAoB,SAACvN,EAAUqB,GACnC,IAAMmM,EAAa,GAOnB,OANAnM,EAAIhkB,SAAQ,SAACd,GACX,IAAMkhB,EAAWuC,EAASV,MAAK,SAAC6B,GAAD,OAAQA,EAAG5kB,KAAOA,KAC7CkhB,GACF+P,EAAWvoB,KAAKwY,MAGb+P,GAGF,SAASC,EAAT,GAAiD,IAAjBlgB,EAAgB,EAAhBA,KAAMC,EAAU,EAAVA,OAErCyf,EAAqB3B,IACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACL9L,IAAK4L,EAAmB5L,OAEzB,CAAC4L,IAGIvN,EAAcD,aACpB,SAAChE,GAAD,MAAY,CACViE,UAAW6N,EACT9R,EAAMiE,UAAUM,SAChBkN,EAAiB7L,QAGrBzB,KAPMF,UAkBR,OAPAzP,qBAAU,WACHid,EAAiB7L,KAAuC,IAAhC6L,EAAiB7L,IAAIrc,QAChDwI,MAGD,CAAC0f,EAAiB7L,MAGnB,kBAACuB,EAAA,EAAD,CACErV,KAAMA,EACNC,OAAQA,EACRC,kBAAgB,gCAEhB,kBAACmV,EAAA,EAAMlV,OAAP,CAAcmV,aAAW,GACvB,kBAACD,EAAA,EAAM9U,MAAP,CAAavR,GAAG,gCAAhB,4BAIF,kBAACqmB,EAAA,EAAMhV,KAAP,KACE,yBAAKzR,UAAU,4BACZujB,EAAUxf,KAAI,SAACud,GAAD,OACb,yBAAKthB,UAAU,kCAAkCsH,IAAG,YAAOga,EAASlhB,KAClE,yBAAKJ,UAAU,gFACf,yBAAKA,UAAU,kBACb,uBACEA,UAAS,gCACPsuB,EAAyBhN,EAASvM,QAD3B,gBAKb,yBAAK/U,UAAU,sCACb,0BACIA,UAAS,qCACPsuB,EAAyBhN,EAASvM,QAD3B,kBADb,OAKSuM,EAASlhB,IAElB,0BAAMJ,UAAU,QAAQshB,EAASmN,SAAjC,KAA6CnN,EAASoN,kBAMhE,kBAACjI,EAAA,EAAM/U,OAAP,KACE,6BACE,4BACE3O,KAAK,SACL0J,QAAS4E,EACTrR,UAAU,6BAHZ,UAOA,yCACA,4BACE+C,KAAK,SACL0J,QAAS4E,EACTrR,UAAU,+BAHZ,SCrFV,IAAMoxB,EAAoB,SAACvN,EAAUqB,GACnC,IAAMmM,EAAa,GAOnB,OANAnM,EAAIhkB,SAAQ,SAACd,GACX,IAAMkhB,EAAWuC,EAASV,MAAK,SAAC6B,GAAD,OAAQA,EAAG5kB,KAAOA,KAC7CkhB,GACF+P,EAAWvoB,KAAKwY,MAGb+P,GAGF,SAASE,EAAT,GAAuD,IAAjBngB,EAAgB,EAAhBA,KAAMC,EAAU,EAAVA,OAE3Cyf,EAAqB3B,IACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACL9L,IAAK4L,EAAmB5L,IACxBuK,OAAQqB,EAAmBrB,OAC3BnK,YAAawL,EAAmBxL,eAEjC,CAACwL,IAGJ,EAAiCxN,aAC/B,SAAChE,GAAD,MAAY,CACViE,UAAW6N,EACT9R,EAAMiE,UAAUM,SAChBkN,EAAiB7L,KAEnB7B,UAAW/D,EAAMiE,UAAUhC,kBAE7BkC,KARMF,EAAR,EAAQA,UAAWF,EAAnB,EAAmBA,UAYnBvP,qBAAU,WACHid,EAAiB7L,KAAuC,IAAhC6L,EAAiB7L,IAAIrc,QAChDwI,MAGD,CAAC0f,EAAiB7L,MAErB,MAA4BlY,mBAAS,GAArC,mBAAO+H,EAAP,KAAeyc,EAAf,KAEMjM,EAAW0L,cAkBjB,OACE,kBAACxK,EAAA,EAAD,CACErV,KAAMA,EACNC,OAAQA,EACRC,kBAAgB,gCAEhB,kBAACmV,EAAA,EAAMlV,OAAP,CAAcmV,aAAW,GACvB,kBAACD,EAAA,EAAM9U,MAAP,CAAavR,GAAG,gCAAhB,8CAIF,kBAACqmB,EAAA,EAAMhV,KAAP,CAAYzR,UAAU,yBAEnBqjB,GACC,yBAAKrjB,UAAU,iBACb,yBAAKA,UAAU,wCAKnB,yBAAKA,UAAU,4BACZujB,EAAUxf,KAAI,SAACud,GAAD,OACb,yBACEthB,UAAU,kCACVsH,IAAG,yBAAoBga,EAASlhB,KAEhC,yBAAKJ,UAAU,gFACf,yBAAKA,UAAU,kBACb,uBACEA,UAAS,gCACPsuB,EAAyBhN,EAASvM,QAD3B,gBAKb,yBAAK/U,UAAU,sCACb,0BACEA,UAAS,qCACPsuB,EAAyBhN,EAASvM,QAD3B,kBADX,OAKOuM,EAASlhB,IAEhB,0BAAMJ,UAAU,QACbshB,EAASmN,SADZ,KACwBnN,EAASoN,kBAO3C,kBAACjI,EAAA,EAAM/U,OAAP,CAAc1R,UAAU,QACtB,yBAAKA,UAAU,cACb,4BACEA,UAAU,eACVb,MAAO4V,EACP1F,SAAU,SAACC,GAAD,OAAOkiB,GAAWliB,EAAEM,OAAOzQ,SAErC,4BAAQA,MAAM,KAAd,YACA,4BAAQA,MAAM,KAAd,YAGJ,yBAAKa,UAAU,cACb,4BACE+C,KAAK,SACL0J,QAAS4E,EACTrR,UAAU,kCAHZ,UAOA,4BACE+C,KAAK,SACL0J,QAxFW,WAEnB8Y,EAAStB,EAA8B8M,EAAiB7L,IAAKnQ,IAASH,MACpE,WAEE2Q,EAAStB,EAAuB8M,EAAiBzL,cAAc1Q,MAC7D,WAEEmc,EAAiBtB,OAAO,IAExBpe,WA+EArR,UAAU,+BAHZ,oB,WCpHH,SAASqyB,GAAT,GAA0C,EAAf7O,YAAgB,IAE1CsN,EAAqB3B,IACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACL1L,YAAawL,EAAmBxL,YAChCoK,eAAgBoB,EAAmBpB,kBAEpC,CAACoB,IAGE0B,EAAc,SAACtrB,GACnB,IAAMurB,EA9BY,SAACnN,EAAape,GAClC,IAAQyrB,EAAyCzrB,EAAzCyrB,YAAY5d,EAA6B7N,EAA7B6N,OAAQhS,EAAqBmE,EAArBnE,KAAM2vB,EAAexrB,EAAfwrB,WAC5BD,EAAc,eAAQnN,GACtB/V,EAAS,GAYf,OAVAA,EAAOwF,OAAoB,KAAXA,GAAiBA,OAASjP,EAE1CyJ,EAAOxM,KAAgB,KAATA,GAAeA,OAAO+C,EAEpCyJ,EAAO1L,KAAO6uB,EACVA,IACFnjB,EAAO1L,KAAO6uB,GAEhBnjB,EAAOojB,YAAcA,EACrBF,EAAeljB,OAASA,EACjBkjB,EAekBG,CAAc7B,EAAiBzL,YAAape,GAC9D6oB,kBAAQ0C,EAAgB1B,EAAiBzL,eAC5CmN,EAAe1D,WAAa,EAE5BgC,EAAiBrB,eAAe+C,KAIpC,OACE,oCACE,kBAAC,IAAD,CACEjQ,cAAe,CACbzN,OAAQ,GACRhS,KAAM,GACN2vB,WAAY,IAEdhQ,SAAU,SAACxb,GACTsrB,EAAYtrB,MAGb,gBACCA,EADD,EACCA,OACA6b,EAFD,EAECA,aACAqQ,EAHD,EAGCA,WAEAlgB,GALD,EAICmgB,aAJD,EAKCngB,eALD,OAOC,0BAAMwP,SAAUK,EAAc/iB,UAAU,yBACtC,2BACI+C,KAAK,SACL/C,UAAU,SACVI,GAAG,gBACHqM,QAAS,SAAC6C,GACe,MAAnBA,EAAEM,OAAOzQ,MACXX,SAASsR,eAAe,iBAAiB3Q,MAAQ,EAC9CX,SAASsR,eAAe,iBAAiB3Q,MAAQ,EACtD+T,EAAc,cAAe5D,EAAEM,OAAOzQ,OACtC4jB,OAGN,yBAAK/iB,UAAU,kBACX,yBAAKA,UAAU,YACb,2BACE+C,KAAK,OACL/C,UAAU,eACVgG,KAAK,aACLoJ,YAAY,SACZkkB,OAAQF,EACRj0B,MAAO+H,EAAOwrB,WACdrjB,SAAU,SAACC,GACT4D,EAAc,aAAc5D,EAAEM,OAAOzQ,OACrC4jB,OAGJ,2BAAO/iB,UAAU,wBACf,qCADF,yB,qFCjFX,SAASm0B,GACdC,EACA5sB,EACA6sB,EAHK,GAKJ,IADC9D,EACF,EADEA,uBAAwBC,EAC1B,EAD0BA,yBAE1B,OACE,oCACE,uBACEpR,MAAM,oBACNpf,UAAU,uDACVyM,QAAS,kBAAM8jB,EAAuB/oB,EAAIpH,MAE1C,0BAAMJ,UAAU,yCACd,kBAAC,KAAD,CACEwI,IAAKC,aAAc,gDAIzB,yCAEA,uBACE2W,MAAM,sBACNpf,UAAU,iDACVyM,QAAS,kBAAM+jB,EAAyBhpB,EAAIpH,MAE5C,0BAAMJ,UAAU,wCACd,kBAAC,KAAD,CAAKwI,IAAKC,aAAc,2CCV3B,SAAS6rB,KAEd,IAAMxD,EAAqB3B,IACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACL9L,IAAK4L,EAAmB5L,IACxBuK,OAAQqB,EAAmBrB,OAC3BnK,YAAawL,EAAmBxL,YAChCoK,eAAgBoB,EAAmBpB,eACnCa,uBAAwBO,EAAmBP,uBAC3CC,yBAA0BM,EAAmBN,4BAE9C,CAACM,IAGIyD,EAAiBjR,aACvB,SAAChE,GAAD,MAAY,CAAEiV,aAAcjV,EAAMiE,aAClCE,KAFM8Q,aAIA3Q,EAAsC2Q,EAAtC3Q,WAAYC,EAA0B0Q,EAA1B1Q,SAAUL,EAAgB+Q,EAAhB/Q,YAGxB+B,EAAW0L,cACjBnd,qBAAU,WAERid,EAAiBtB,OAAO,IAExBlK,EAAStB,EAAuB8M,EAAiBzL,gBAEhD,CAACyL,EAAiBzL,YAAaC,IAElC,IAAMpZ,EAAU,CACd,CACEC,UAAW,KACXnN,KAAM,KACNyN,MAAM,EACNC,UAAWA,KACXC,2BAEF,CACER,UAAW,OACXnN,KAAM,OACNyN,MAAM,EACNC,UAAWA,KACXC,2BAEF,CACER,UAAW,cACXnN,KAAM,cACNyN,MAAM,EACNC,UAAWA,KACXC,2BAEF,CACER,UAAW,UACXnN,KAAM,UACNyN,MAAM,EACNC,UAAWA,KACXC,2BAEF,CACER,UAAW,OACXnN,KAAM,OACNyN,MAAM,EACNC,UAAWA,KACXC,2BAEF,CACER,UAAW,UACXnN,KAAM,UACNyN,MAAM,EACNC,UAAWA,KACXC,0BACAP,UAAW,SAACC,EAAM9E,GAChB,OACE,oCACE,yBAAKxH,UAAU,sBACb,8BAAO2J,aAAU,OAACnC,QAAD,IAACA,OAAD,EAACA,EAAKqF,cAMjC,CACET,UAAW,SACXnN,KAAM,UACNoN,UAAWmoB,GACXC,gBAAiB,CACflE,uBAAwBQ,EAAiBR,uBACzCC,yBAA0BO,EAAiBP,0BAE7CjwB,QAAS,mBACTm0B,cAAe,mBACftwB,MAAO,CACLuS,SAAU,WAKVge,EAAoB,CACxBC,QAAQ,EACRC,UAAWjR,EACX2K,gBAAiBuG,EACjBC,YAAahE,EAAiBzL,YAAY0J,SAC1CgG,KAAMjE,EAAiBzL,YAAYyJ,YAErC,OACE,oCACE,kBAAC,sBAAD,CAAoBje,WAAYC,KAAkB4jB,KAC/C,YAAgD,IAA7CM,EAA4C,EAA5CA,gBAAiBC,EAA2B,EAA3BA,qBACnB,OACE,kBAAC,IAAD,CACE7R,UAAWG,EACXyR,gBAAiBA,GAEjB,kBAAC,KAAD,eACEjkB,eAAe,mBACfE,UAAU,EACV3Q,QAAQ,gDACR0Q,YAAU,EACVkkB,QAAM,EACNxkB,SAAS,KACTpO,KAAmB,OAAbshB,EAAoB,GAAKA,EAC/B1X,QAASA,EACTyE,cAAekkB,EACfM,cAAeC,aACbtE,EAAiBrB,iBAEfwF,GAEJ,kBAAC,KAAD,CAAmBrR,SAAUA,IAC7B,kBAAC,KAAD,CAAuBA,SAAUA,UCxJ1C,SAASyR,KAEd,IAAMxE,EAAqB3B,IACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACL9L,IAAK4L,EAAmB5L,IACxBuK,OAAQqB,EAAmBrB,OAC3BgB,0BAA2BK,EAAmBL,0BAC9CC,yBAA0BI,EAAmBJ,yBAC7CC,gCACEG,EAAmBH,mCAEtB,CAACG,IAEJ,OACE,yBAAK9wB,UAAU,QACb,yBAAKA,UAAU,4EACb,yBAAKA,UAAU,aACb,yBAAKA,UAAU,gCACb,yBAAKA,UAAU,iCACb,2BAAOA,UAAU,yBACf,yDAC0B,2BAAI+wB,EAAiB7L,IAAIrc,WAIvD,6BACE,4BACE9F,KAAK,SACL/C,UAAU,iDACVyM,QAASskB,EAAiBN,2BAE1B,uBAAGzwB,UAAU,gBALf,eADF,Y,aChBL,SAASu1B,KACd,IAAMzE,EAAqB3B,IACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACL9L,IAAK4L,EAAmB5L,IACxBoL,uBAAwBQ,EAAmBR,0BAE5C,CAACQ,IAEJ,OACE,oCACA,kBAACqQ,GAAA,EAAD,KACI,2DACA,0BAAMn7B,KAAK,cAAc4a,QAAQ,iCAErC,kBAAC,IAAD,KACE,kBAAC,IAAD,CAAYxB,MAAM,kBAChB,kBAAC,IAAD,KACE,4BACErc,KAAK,SACL/C,UAAU,wCACVyM,QAASskB,EAAiBT,wBAH5B,uBASJ,kBAAC,IAAD,KACE,kBAAC+B,GAAD,MACCtB,EAAiB7L,IAAIrc,OAAS,GAAK,kBAACysB,GAAD,MACpC,kBAAChB,GAAD,SChCD,SAAS4O,GAAT,GAA2C,IAAZzN,EAAW,EAAXA,QAC9BlG,EAAoB,CACxBe,uBAAwB,WACtBmF,EAAQ3sB,KAAK,6BAEfynB,uBAAwB,SAACnwB,GACvBq1B,EAAQ3sB,KAAR,+BAAqC1I,EAArC,WAEFowB,yBAA0B,SAACpwB,GACzBq1B,EAAQ3sB,KAAR,+BAAqC1I,EAArC,aAEFqwB,0BAA2B,WACzBgF,EAAQ3sB,KAAR,yCAEF4nB,yBAA0B,WACxB+E,EAAQ3sB,KAAR,+BAEF6nB,gCAAiC,WAC/B8E,EAAQ3sB,KAAK,uCAIjB,OACE,kBAACwmB,EAAD,CAAqBC,kBAAmBA,GACtC,kBAACnM,EAAD,MACA,kBAAC,IAAD,CAAOnV,KAAK,6BACT,gBAAGwnB,EAAH,EAAGA,QAAS1pB,EAAZ,EAAYA,MAAZ,OACC,kBAAC8kB,EAAD,CACEzf,KAAe,MAATrF,EACNsF,OAAQ,WACNokB,EAAQ3sB,KAAK,8BAKrB,kBAAC,IAAD,CAAOmF,KAAK,kCACT,gBAAGwnB,EAAH,EAAGA,QAAS1pB,EAAZ,EAAYA,MAAZ,OACC,kBAAC8kB,EAAD,CACEzf,KAAe,MAATrF,EACN3L,GAAI2L,GAASA,EAAM2pB,OAAOt1B,GAC1BiR,OAAQ,WACNokB,EAAQ3sB,KAAK,8BAKrB,kBAAC,IAAD,CAAOmF,KAAK,yCACT,gBAAGwnB,EAAH,EAAGA,QAAS1pB,EAAZ,EAAYA,MAAZ,OACC,kBAAColB,EAAD,CACE/f,KAAe,MAATrF,EACNsF,OAAQ,WACNokB,EAAQ3sB,KAAK,8BAKrB,kBAAC,IAAD,CAAOmF,KAAK,oCACT,gBAAGwnB,EAAH,EAAGA,QAAS1pB,EAAZ,EAAYA,MAAZ,OACC,kBAACmlB,EAAD,CACE9f,KAAe,MAATrF,EACN3L,GAAI2L,GAASA,EAAM2pB,OAAOt1B,GAC1BiR,OAAQ,WACNokB,EAAQ3sB,KAAK,8BAKrB,kBAAC,IAAD,CAAOmF,KAAK,+BACT,gBAAGwnB,EAAH,EAAGA,QAAS1pB,EAAZ,EAAYA,MAAZ,OACC,kBAACulB,EAAD,CACElgB,KAAe,MAATrF,EACNsF,OAAQ,WACNokB,EAAQ3sB,KAAK,8BAKrB,kBAAC,IAAD,CAAOmF,KAAK,sCACT,gBAAGwnB,EAAH,EAAGA,QAAS1pB,EAAZ,EAAYA,MAAZ,OACC,kBAACwlB,EAAD,CACEngB,KAAe,MAATrF,EACNsF,OAAQ,WACNokB,EAAQ3sB,KAAK,8BAKrB,kBAACysB,GAAD,OAlGN,oC,6ECIO,SAASnS,IAEd,IAAQC,EAAcC,aACpB,SAAChE,GAAD,MAAY,CAAE+D,UAAW/D,EAAMiE,UAAUC,eACzCC,KAFMJ,UAMR,OADAvP,qBAAU,cAAU,CAACuP,IACd,kBAAC,IAAD,CAAeA,UAAWA,EAAWpkB,KAAK,gB,yCCV7C0kB,EAAwB,CAC5BH,aAAa,EACbjC,gBAAgB,EAChBqC,WAAY,EACZC,SAAU,KACVC,qBAAiBhe,EACjBie,UAAW,MAEAC,EACL,OADKA,EAEH,SCTHC,EDYuBC,YAAY,CACxCle,KAAM,YACNme,aAAcR,EACdS,SAAU,CACRC,WAAY,SAAC/E,EAAOgF,GAClBhF,EAAM/U,MAAN,UAAiB+Z,EAAOvhB,KAAxB,aAAiCuhB,EAAOC,QAAQha,OAC5C+Z,EAAOC,QAAQC,WAAaR,EAC9B1E,EAAMkE,aAAc,EAEpBlE,EAAMiC,gBAAiB,GAG3BkD,UAAW,SAACnF,EAAOgF,GACjBhF,EAAM/U,MAAQ,KACV+Z,EAAOC,QAAQC,WAAaR,EAC9B1E,EAAMkE,aAAc,EAEpBlE,EAAMiC,gBAAiB,GAI3BmD,gBAAiB,SAACpF,EAAOgF,GACvBhF,EAAMiC,gBAAiB,EACvBjC,EAAMwE,gBAAkBQ,EAAOC,QAAQT,gBACvCxE,EAAM/U,MAAQ,MAGhBoa,iBAAkB,SAACrF,EAAOgF,GACxB,MAAiCA,EAAOC,QAAhCX,EAAR,EAAQA,WAAYC,EAApB,EAAoBA,SACpBvE,EAAMkE,aAAc,EACpBlE,EAAM/U,MAAQ,KACd+U,EAAMuE,SAAWA,EACjBvE,EAAMsE,WAAaA,GAGrBgB,gBAAiB,SAACtF,EAAOgF,GACvBhF,EAAMiC,gBAAiB,EACvBjC,EAAM/U,MAAQ,KACd+U,EAAMuE,SAAS/a,KAAKwb,EAAOC,QAAQjD,WAGrCuD,gBAAiB,SAACvF,EAAOgF,GACvBhF,EAAM/U,MAAQ,KACd+U,EAAMiC,gBAAiB,EACvBjC,EAAMuE,SAAWvE,EAAMuE,SAAS9f,KAAI,SAAA+gB,GAClC,OAAIA,EAAO1kB,KAAOkkB,EAAOC,QAAQjD,SAASlhB,GACjCkkB,EAAOC,QAAQjD,SAEjBwD,MAIXC,gBAAiB,SAACzF,EAAOgF,GACvBhF,EAAM/U,MAAQ,KACd+U,EAAMiC,gBAAiB,EACvBjC,EAAMuE,SAAWvE,EAAMuE,SAAStU,QAAO,SAAAyV,GAAE,OAAIA,EAAG5kB,KAAOkkB,EAAOC,QAAQnkB,OAGxE6kB,iBAAkB,SAAC3F,EAAOgF,GACxBhF,EAAM/U,MAAQ,KACd+U,EAAMiC,gBAAiB,EACvBjC,EAAMuE,SAAWvE,EAAMuE,SAAStU,QAC9B,SAAAyV,GAAE,OAAKV,EAAOC,QAAQW,IAAIvV,SAASqV,EAAG5kB,QAI1C+kB,uBAAwB,SAAC7F,EAAOgF,GAC9BhF,EAAMiC,gBAAiB,EACvBjC,EAAM/U,MAAQ,KACd,MAAwB+Z,EAAOC,QAAvBW,EAAR,EAAQA,IAAKnQ,EAAb,EAAaA,OACbuK,EAAMuE,SAAWvE,EAAMuE,SAAS9f,KAAI,SAAA+gB,GAIlC,OAHII,EAAIE,WAAU,SAAAhlB,GAAE,OAAIA,IAAO0kB,EAAO1kB,OAAO,IAC3C0kB,EAAO/P,OAASA,GAEX+P,SCtFRb,QAEMoB,EAAiB,SAAAC,GAAW,OAAI,SAAAC,GAE3C,OADAA,EAAStB,EAAQQ,UAAU,CAAED,SAAUR,KCclC,SAAuBsB,GAC5B,OAAOhD,IAAMkD,KAAN,UAnBoB,kBAmBpB,SAAoC,CAAEF,gBDdtCG,CACUH,GACd1Q,MAAK,SAAAC,GACJ,MAAiCA,EAAStS,KAAlCqhB,EAAR,EAAQA,WAAYC,EAApB,EAAoBA,SACpB0B,EAAStB,EAAQU,iBAAiB,CAAEf,aAAYC,iBAEjD1O,OAAM,SAAA5K,GACLA,EAAMmb,cAAgB,uBACtBH,EAAStB,EAAQI,WAAW,CAAE9Z,QAAOia,SAAUR,UAIxC2B,EAAgB,SAAAvlB,GAAE,OAAI,SAAAmlB,GACjC,OAAKnlB,GAILmlB,EAAStB,EAAQQ,UAAU,CAAED,SAAUR,MCVT4B,EDYXxlB,ECXZkiB,IAAM3M,IAAN,UAboB,kBAapB,YAA8BiQ,KDYlChR,MAAK,SAAAC,GACJ,IAAMyM,EAAWzM,EAAStS,KAC1BgjB,EAAStB,EAAQS,gBAAgB,CAAEZ,gBAAiBxC,QAErDnM,OAAM,SAAA5K,GACLA,EAAMmb,cAAgB,sBACtBH,EAAStB,EAAQI,WAAW,CAAE9Z,QAAOia,SAAUR,SAZ1CuB,EAAStB,EAAQS,gBAAgB,CAAEZ,qBAAiBhe,KCPxD,IAAyB8f,IDuBnBC,EAAiB,SAAAzlB,GAAE,OAAI,SAAAmlB,GAElC,OADAA,EAAStB,EAAQQ,UAAU,CAAED,SAAUR,MCAV4B,EDEXxlB,ECDXkiB,IAAMwD,OAAN,UArCoB,kBAqCpB,YAAiCF,KDErChR,MAAK,SAAAC,GACJ0Q,EAAStB,EAAQc,gBAAgB,CAAE3kB,WAEpC+U,OAAM,SAAA5K,GACLA,EAAMmb,cAAgB,wBACtBH,EAAStB,EAAQI,WAAW,CAAE9Z,QAAOia,SAAUR,QCR9C,IAAwB4B,IDYlBG,EAAiB,SAAAC,GAAmB,OAAI,SAAAT,GAEnD,OADAA,EAAStB,EAAQQ,UAAU,CAAED,SAAUR,MC9CV1C,EDgDX0E,EC/CX1D,IAAMkD,KAJc,kBAIM,CAAElE,cDgDhC1M,MAAK,SAAAC,GACJ,IAAQyM,EAAazM,EAAStS,KAAtB+e,SACRiE,EAAStB,EAAQW,gBAAgB,CAAEtD,iBAEpCnM,OAAM,SAAA5K,GACLA,EAAMmb,cAAgB,wBACtBH,EAAStB,EAAQI,WAAW,CAAE9Z,QAAOia,SAAUR,QCvD9C,IAAwB1C,ID2DlB2E,EAAiB,SAAA3E,GAAQ,OAAI,SAAAiE,GAExC,OADAA,EAAStB,EAAQQ,UAAU,CAAED,SAAUR,KCxClC,SAAwB1C,GAC7B,OAAOgB,IAAM4D,IAAN,UAxBoB,kBAwBpB,YAA8B5E,EAASlhB,IAAM,CAAEkhB,aDwC/CmE,CACWnE,GACf1M,MAAK,WACJ2Q,EAAStB,EAAQY,gBAAgB,CAAEvD,iBAEpCnM,OAAM,SAAA5K,GACLA,EAAMmb,cAAgB,wBACtBH,EAAStB,EAAQI,WAAW,CAAE9Z,QAAOia,SAAUR,UAIxCmC,EAAwB,SAACjB,EAAKnQ,GAAN,OAAiB,SAAAwQ,GAEpD,OADAA,EAAStB,EAAQQ,UAAU,CAAED,SAAUR,KChDlC,SAAkCkB,EAAKnQ,GAC5C,OAAOuN,IAAMkD,KAAN,UA7BoB,kBA6BpB,6BAAwD,CAC7DN,MACAnQ,WD8CK0Q,CACqBP,EAAKnQ,GAC9BH,MAAK,WACJ2Q,EAAStB,EAAQkB,uBAAuB,CAAED,MAAKnQ,eAEhDI,OAAM,SAAA5K,GACLA,EAAMmb,cAAgB,gCACtBH,EAAStB,EAAQI,WAAW,CAAE9Z,QAAOia,SAAUR,UAIxCoC,EAAkB,SAAAlB,GAAG,OAAI,SAAAK,GAEpC,OADAA,EAAStB,EAAQQ,UAAU,CAAED,SAAUR,KChDlC,SAAyBkB,GAC9B,OAAO5C,IAAMkD,KAAN,UA1CoB,kBA0CpB,oBAA+C,CAAEN,QDgDjDO,CACYP,GAChBtQ,MAAK,WACJ2Q,EAAStB,EAAQgB,iBAAiB,CAAEC,YAErC/P,OAAM,SAAA5K,GACLA,EAAMmb,cAAgB,yBACtBH,EAAStB,EAAQI,WAAW,CAAE9Z,QAAOia,SAAUR,U,OE9F9C,SAASqC,EAAT,GAA2C,IAAPjmB,EAAM,EAANA,GAEzC,EAA4CkjB,aAC1C,SAAChE,GAAD,MAAY,CACVwE,gBAAiBxE,EAAMiE,UAAUO,gBACjCvC,eAAgBjC,EAAMiE,UAAUhC,kBAElCkC,KALMK,EAAR,EAAQA,gBAAiBvC,EAAzB,EAAyBA,eAQzB,EAA0BvU,mBAAS,IAAnC,mBAAOoS,EAAP,KAAckH,EAAd,KAYA,OAVAxS,qBAAU,WACR,IAAIyS,EAASnmB,EAAK,GAAK,qBACnB0jB,GAAmB1jB,IACrBmmB,EAAM,4BAAwBzC,EAAgBqf,SAAxC,MAGR7c,EAASC,KAER,CAACzC,EAAiBvC,IAGnB,oCACGA,GAAkB,kBAAC,IAAD,MACnB,kBAACkF,EAAA,EAAMlV,OAAP,CAAcmV,aAAW,GACvB,kBAACD,EAAA,EAAM9U,MAAP,CAAavR,GAAG,gCAAgCgf,K,61MCbxD,IAAM6B,EAAqBC,MAAaC,MAAM,CAC5CuV,QAASxV,MACN4U,IAAI,EAAG,qBACPC,IAAI,GAAI,sBACRnjB,SAAS,uBACZwwB,aAAcliB,MACX4U,IAAI,EAAG,qBACPljB,SAAS,4BACZuwB,SAAUjiB,MACP4U,IAAI,EAAG,qBACPljB,SAAS,wBACZ0G,WAAY4H,MACTtO,SAAS,wBACZgQ,YAAa1B,MACVtO,SAAS,0BAEIqD,aAAW,SAAAC,GAAK,MAAK,CACrCC,KAAM,CACJgR,QAAS,QAEXuS,YAAa,CACX1iB,OAAQd,EAAMK,QAAQ,IAExBojB,MAAO,CACL3iB,OAAQd,EAAMK,QAAQ,EAAG,QAGtB,SAAS6K,EAAT,GAKH,IAJFC,EAIC,EAJDA,aACAC,EAGC,EAHDA,SACAC,EAEC,EAFDA,eACAlQ,EACC,EADDA,OAEA,EAA0CrE,mBAAS,IAAnD,mBAAOyL,EAAP,KAAsB4qB,EAAtB,KACA,EAA4Cr2B,mBAAS,IAArD,mBAAOs2B,EAAP,KAAuBC,EAAvB,KACA,EAAwCv2B,oBAAS,GAAjD,mBAAO6L,EAAP,KAAqBggB,EAArB,KACA/kB,qBAAU,WACR+Y,MACC,IACH,IAAMA,EAAe,uCAAG,6GAECvK,IAAM3M,IAAI,6BAFX,OAEdxG,EAFc,OAGpBk0B,EAAiBl0B,EAAO5M,KAAP,eACjBghC,EAAkBp0B,EAAO5M,KAAP,eAJE,yGAAH,qDAQfihC,EAAoB,uCAAG,WAAOvvB,EAAOf,GAAd,0EAC3B2lB,GAAgB,GAChB0K,EAAkB,IACS,KAAvBtvB,EAAMrE,OAAOzQ,OAAuC,OAAvB8U,EAAMrE,OAAOzQ,MAHnB,uBAIzB+T,EAAc,aAAce,EAAMrE,OAAOzQ,OAJhB,SAKJmjB,IAAM3M,IAAN,qCAAwC1B,EAAMrE,OAAOzQ,QALjD,OAMH,OADhBgQ,EALmB,QAMd4F,SACL5F,EAAO5M,KAAKsG,OAAS,EACvB06B,EAAkBp0B,EAAO5M,MAIzB3C,YAAa,QAAS,wDAZD,OAgB3Bi5B,GAAgB,GAhBW,2CAAH,wDAkB1B,OACE,oCACE,kBAAC,IAAD,CACEtW,oBAAoB,EACpBC,cAAelB,EACfmB,iBAAkBxB,EAClByB,SAAU,SAACxb,GACTA,EAAO9G,GAAK8G,EAAOtD,GACnByd,EAAana,MAGd,gBAAG6b,EAAH,EAAGA,aAAc7P,EAAjB,EAAiBA,cAAjB,OACC,oCACE,kBAACuT,EAAA,EAAMhV,KAAP,CAAYzR,UAAU,yBACnBuhB,GACC,yBAAKvhB,UAAU,gCACb,yBAAKA,UAAU,wCAGnB,kBAAC,IAAD,CAAMA,UAAU,yBACd,yBAAKA,UAAU,kBACb,yBAAKA,UAAU,YACb,kBAAC,IAAD,CAAQgG,KAAK,aAAaxC,MAAM,oBAChC6L,SAAU,SAAC4E,GAAD,OAAWuvB,EAAqBvvB,EAAOf,KAE/C,4BAAQ5L,IAAK,GAAGnI,MAAM,KAAtB,UACCsZ,EAAc1U,KAAI,SAACC,EAAMC,GAAP,OACjB,4BAAQqD,IAAKrD,EAAO9E,MAAO6E,EAAKJ,IAAKI,EAAKH,WAIhD,yBAAK7D,UAAU,YACb,kBAAC,IAAD,CAAQgG,KAAK,cAAcxC,MAAM,aAC/B,4BAAS8D,IAAK,GAAGnI,MAAM,IAAvB,UACCmkC,EAAev/B,KAAI,SAACC,EAAMC,GAAP,OAClB,4BAAQqD,IAAKrD,EAAO9E,MAAO6E,EAAKJ,IAAKI,EAAKH,UAG7CgV,GAAgB,kBAACuV,EAAA,EAAD,QAGrB,yBAAKpuB,UAAU,kBACb,yBAAKA,UAAU,YAEb,kBAAC,IAAD,CACE+C,KAAK,OACLiD,KAAK,UACL0I,UAAW2f,IACXjf,YAAY,UACZ5L,MAAM,aAIV,yBAAKxD,UAAU,YAEb,kBAAC,IAAD,CACE+C,KAAK,OACLiD,KAAK,eACL0I,UAAW2f,IACXjf,YAAY,eACZ5L,MAAM,kBAGV,yBAAKxD,UAAU,YAEb,kBAAC,IAAD,CACE+C,KAAK,OACLiD,KAAK,WACL0I,UAAW2f,IACXjf,YAAY,WACZ5L,MAAM,cAGV,yBAAKxD,UAAU,YAEb,kBAAC,IAAD,CACE+C,KAAK,SACLiD,KAAK,SACL0I,UAAW2f,IACXjf,YAAY,SACZ5L,MAAM,YAGV,yBAAKxD,UAAU,YAEb,kBAAC,IAAD,CACE+C,KAAK,SACLiD,KAAK,OACL0I,UAAW2f,IACXjf,YAAY,OACZ5L,MAAM,aAMhB,kBAACijB,EAAA,EAAM/U,OAAP,KACE,4BACE3O,KAAK,SACL0J,QAAS4E,EACTrR,UAAU,6BAHZ,UAOA,yCACA,4BACE+C,KAAK,SACL0J,QAAS,kBAAMsW,KACf/iB,UAAU,+BAHZ,c,YC5LDsuB,EAA2B,CAAC,SAAU,UAAW,OAAQ,IAIzD1d,EAAgB,CAAC,CAAExE,UAAW,KAAMyE,MAAO,SAC3C0d,EAAkB,CAC7B,CAAEtvB,KAAM,IAAKE,MAAO,GACpB,CAAEF,KAAM,IAAKE,MAAO,GACpB,CAAEF,KAAM,KAAME,MAAO,KAEVqvB,EAAgB,CAC3Bjf,OAAQ,CACNkf,SAAU,GACVC,UAAW,GACXC,MAAO,GACPC,UAAW,IAEbC,UAAW,MACXC,UAAW,KACXC,WAAY,EACZC,SAAU,IChBNC,EAAqBC,0BAEpB,SAASC,IACd,OAAOC,qBAAWH,GAGeA,EAAmBI,SAE/C,SAASC,EAAT,GAA6D,IAA/BC,EAA8B,EAA9BA,kBAAmB7G,EAAW,EAAXA,SACtD,EAA0C1b,mBAASwhB,GAAnD,mBAAOlJ,EAAP,KAAoBkK,EAApB,KACA,EAAsBxiB,mBAAS,IAA/B,mBAAOkY,EAAP,KAAYuK,EAAZ,KACMC,EAAiBC,uBAAY,SAAAC,GACjCJ,GAAmB,SAAAK,GAKjB,OAJIC,qBAAWF,KACbA,EAAkBA,EAAgBC,IAGhCE,kBAAQF,EAAiBD,GACpBC,EAGFD,OAER,IAaGzwB,EAAQ,CACZmmB,cACAkK,qBACAtK,MACAuK,SACAC,iBACAM,aAjBmB,CACnB5vB,QAAI0F,EACJ4wB,QAAS,GACTpd,WAAY,EACZsJ,YAAa,EACbwgB,aAAc,GACdD,SAAU,GACVtlB,OAAQ,GACRkb,KAAM,IAUNzI,uBAAwBf,EAAkBe,uBAC1CC,uBAAwBhB,EAAkBgB,uBAC1CuK,yBAA0BvL,EAAkBuL,yBAG5CtK,yBAA0BjB,EAAkBiB,yBAC5CC,0BAA2BlB,EAAkBkB,0BAC7CC,yBAA0BnB,EAAkBmB,yBAC5CC,gCAAiCpB,EAAkBoB,iCAGrD,OAAO,kBAAC1B,EAAmB2B,SAApB,CAA6BzxB,MAAOA,GAAQupB,GCjD9C,SAASmI,EAAT,GAAmD,IAArBzwB,EAAoB,EAApBA,GAAIgR,EAAgB,EAAhBA,KAAMC,EAAU,EAAVA,OAEvCyf,EAAqB3B,IACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACLhB,aAAcc,EAAmBd,gBAElC,CAACc,IAGEvL,EAAW0L,cACjB,EAA4C3N,aAC1C,SAAChE,GAAD,MAAY,CACViC,eAAgBjC,EAAMiE,UAAUhC,eAChCuC,gBAAiBxE,EAAMiE,UAAUO,mBAEnCL,KALMlC,EAAR,EAAQA,eAAgBuC,EAAxB,EAAwBA,gBAQxBhQ,qBAAU,WAERyR,EAAStB,EAAsB7jB,MAC9B,CAACA,EAAImlB,IA4BR,OACE,kBAACkB,EAAA,EAAD,CACEtV,KAAK,KACLC,KAAMA,EACNC,OAAQA,EACRC,kBAAgB,gCAEhB,kBAAC+U,EAAD,CAA0BjmB,GAAIA,IAC9B,kBAACghB,EAAD,CACEC,aAlCe,SAACC,GACflhB,EAYHmlB,EAAStB,EAAuB3C,IAAW1M,MAAK,WAEV,MAAjC/P,OAAO4+B,uBACR7jC,YAAa,UAAW,WACxByR,KAEAzR,YAAa,QAASiF,OAAO6+B,iCAhBjCne,EAAStB,EAAuB3C,IAAW1M,MAAK,WACT,MAAlC/P,OAAO8+B,wBACR/jC,YAAa,UAAWiF,OAAO++B,+BAC/BvyB,KAEAzR,YAAa,QAASiF,OAAO++B,mCA2B/BriB,eAAgBA,EAChBD,SAAUwC,GAAmBiN,EAAiBf,aAC9C3e,OAAQA,KChET,SAAS6f,EAAT,GAAqD,IAArB9wB,EAAoB,EAApBA,GAAIgR,EAAgB,EAAhBA,KAAMC,EAAU,EAAVA,OAEzCyf,EAAqB3B,IACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACLvB,OAAQqB,EAAmBrB,OAC3BnK,YAAawL,EAAmBxL,eAEjC,CAACwL,IAGEvL,EAAW0L,cACT5N,EAAcC,aACpB,SAAChE,GAAD,MAAY,CAAE+D,UAAW/D,EAAMiE,UAAUhC,kBACzCkC,KAFMJ,UAMRvP,qBAAU,WACH1T,GACHiR,MAGD,CAACjR,IAGJ0T,qBAAU,cAAU,CAACuP,EAAWkC,IAchC,OACE,kBAACkB,EAAA,EAAD,CACErV,KAAMA,EACNC,OAAQA,EACRC,kBAAgB,gCAGf+R,GAAa,kBAAC,IAAD,MAEd,kBAACoD,EAAA,EAAMlV,OAAP,CAAcmV,aAAW,GACvB,kBAACD,EAAA,EAAM9U,MAAP,CAAavR,GAAG,gCAAhB,uBAIF,kBAACqmB,EAAA,EAAMhV,KAAP,MACI4R,GACA,uFAEDA,GAAa,6DAEhB,kBAACoD,EAAA,EAAM/U,OAAP,KACE,6BACE,4BACE3O,KAAK,SACL0J,QAAS4E,EACTrR,UAAU,6BAHZ,UAOA,yCACA,4BACE+C,KAAK,SACL0J,QA5Ca,WAErB8Y,EAAStB,EAAuB7jB,IAAKwU,MAAK,WAExC2Q,EAAStB,EAAuB8M,EAAiBzL,cAEjDyL,EAAiBtB,OAAO,IAExBpe,QAqCMrR,UAAU,8BAHZ,aCtEH,SAASmxB,EAAT,GAAkD,IAAjB/f,EAAgB,EAAhBA,KAAMC,EAAU,EAAVA,OAEtCyf,EAAqB3B,IACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACL9L,IAAK4L,EAAmB5L,IACxBuK,OAAQqB,EAAmBrB,OAC3BnK,YAAawL,EAAmBxL,eAEjC,CAACwL,IAGEvL,EAAW0L,cACT5N,EAAcC,aACpB,SAAChE,GAAD,MAAY,CAAE+D,UAAW/D,EAAMiE,UAAUhC,kBACzCkC,KAFMJ,UAMRvP,qBAAU,WACHid,EAAiB7L,KAAuC,IAAhC6L,EAAiB7L,IAAIrc,QAChDwI,MAGD,CAAC0f,EAAiB7L,MAGrBpR,qBAAU,cAAU,CAACuP,EAAWkC,IAiBhC,OACE,kBAACkB,EAAA,EAAD,CACErV,KAAMA,EACNC,OAAQA,EACRC,kBAAgB,gCAGf+R,GAAa,kBAAC,IAAD,MAEd,kBAACoD,EAAA,EAAMlV,OAAP,CAAcmV,aAAW,GACvB,kBAACD,EAAA,EAAM9U,MAAP,CAAavR,GAAG,gCAAhB,qBAIF,kBAACqmB,EAAA,EAAMhV,KAAP,MACI4R,GACA,wFAEDA,GAAa,2DAEhB,kBAACoD,EAAA,EAAM/U,OAAP,KACE,6BACE,4BACE3O,KAAK,SACL0J,QAAS4E,EACTrR,UAAU,6BAHZ,UAOA,yCACA,4BACE+C,KAAK,SACL0J,QA/Cc,WAEtB8Y,EAAStB,EAAwB8M,EAAiB7L,MAAMtQ,MAAK,WAE3D2Q,EAAStB,EAAuB8M,EAAiBzL,cAAc1Q,MAC7D,WAEEmc,EAAiBtB,OAAO,IAExBpe,WAuCErR,UAAU,+BAHZ,aC3EV,IAAMoxB,EAAoB,SAACvN,EAAUqB,GACnC,IAAMmM,EAAa,GAOnB,OANAnM,EAAIhkB,SAAQ,SAACd,GACX,IAAMkhB,EAAWuC,EAASV,MAAK,SAAC6B,GAAD,OAAQA,EAAG5kB,KAAOA,KAC7CkhB,GACF+P,EAAWvoB,KAAKwY,MAGb+P,GAGF,SAASC,EAAT,GAAiD,IAAjBlgB,EAAgB,EAAhBA,KAAMC,EAAU,EAAVA,OAErCyf,EAAqB3B,IACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACL9L,IAAK4L,EAAmB5L,OAEzB,CAAC4L,IAGIvN,EAAcD,aACpB,SAAChE,GAAD,MAAY,CACViE,UAAW6N,EACT9R,EAAMiE,UAAUM,SAChBkN,EAAiB7L,QAGrBzB,KAPMF,UAkBR,OAPAzP,qBAAU,WACHid,EAAiB7L,KAAuC,IAAhC6L,EAAiB7L,IAAIrc,QAChDwI,MAGD,CAAC0f,EAAiB7L,MAGnB,kBAACuB,EAAA,EAAD,CACErV,KAAMA,EACNC,OAAQA,EACRC,kBAAgB,gCAEhB,kBAACmV,EAAA,EAAMlV,OAAP,CAAcmV,aAAW,GACvB,kBAACD,EAAA,EAAM9U,MAAP,CAAavR,GAAG,gCAAhB,4BAIF,kBAACqmB,EAAA,EAAMhV,KAAP,KACE,yBAAKzR,UAAU,4BACZujB,EAAUxf,KAAI,SAACud,GAAD,OACb,yBAAKthB,UAAU,kCAAkCsH,IAAG,YAAOga,EAASlhB,KAClE,yBAAKJ,UAAU,gFACf,yBAAKA,UAAU,kBACb,uBACEA,UAAS,gCACPsuB,EAAyBhN,EAASvM,QAD3B,gBAKb,yBAAK/U,UAAU,sCACb,0BACIA,UAAS,qCACPsuB,EAAyBhN,EAASvM,QAD3B,kBADb,OAKSuM,EAASlhB,IAElB,0BAAMJ,UAAU,QAAQshB,EAASmN,SAAjC,KAA6CnN,EAASoN,kBAMhE,kBAACjI,EAAA,EAAM/U,OAAP,KACE,6BACE,4BACE3O,KAAK,SACL0J,QAAS4E,EACTrR,UAAU,6BAHZ,UAOA,yCACA,4BACE+C,KAAK,SACL0J,QAAS4E,EACTrR,UAAU,+BAHZ,SCrFV,IAAMoxB,EAAoB,SAACvN,EAAUqB,GACnC,IAAMmM,EAAa,GAOnB,OANAnM,EAAIhkB,SAAQ,SAACd,GACX,IAAMkhB,EAAWuC,EAASV,MAAK,SAAC6B,GAAD,OAAQA,EAAG5kB,KAAOA,KAC7CkhB,GACF+P,EAAWvoB,KAAKwY,MAGb+P,GAGF,SAASE,EAAT,GAAuD,IAAjBngB,EAAgB,EAAhBA,KAAMC,EAAU,EAAVA,OAE3Cyf,EAAqB3B,IACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACL9L,IAAK4L,EAAmB5L,IACxBuK,OAAQqB,EAAmBrB,OAC3BnK,YAAawL,EAAmBxL,eAEjC,CAACwL,IAGJ,EAAiCxN,aAC/B,SAAChE,GAAD,MAAY,CACViE,UAAW6N,EACT9R,EAAMiE,UAAUM,SAChBkN,EAAiB7L,KAEnB7B,UAAW/D,EAAMiE,UAAUhC,kBAE7BkC,KARMF,EAAR,EAAQA,UAAWF,EAAnB,EAAmBA,UAYnBvP,qBAAU,WACHid,EAAiB7L,KAAuC,IAAhC6L,EAAiB7L,IAAIrc,QAChDwI,MAGD,CAAC0f,EAAiB7L,MAErB,MAA4BlY,mBAAS,GAArC,mBAAO+H,EAAP,KAAeyc,EAAf,KAEMjM,EAAW0L,cAkBjB,OACE,kBAACxK,EAAA,EAAD,CACErV,KAAMA,EACNC,OAAQA,EACRC,kBAAgB,gCAEhB,kBAACmV,EAAA,EAAMlV,OAAP,CAAcmV,aAAW,GACvB,kBAACD,EAAA,EAAM9U,MAAP,CAAavR,GAAG,gCAAhB,8CAIF,kBAACqmB,EAAA,EAAMhV,KAAP,CAAYzR,UAAU,yBAEnBqjB,GACC,yBAAKrjB,UAAU,iBACb,yBAAKA,UAAU,wCAKnB,yBAAKA,UAAU,4BACZujB,EAAUxf,KAAI,SAACud,GAAD,OACb,yBACEthB,UAAU,kCACVsH,IAAG,yBAAoBga,EAASlhB,KAEhC,yBAAKJ,UAAU,gFACf,yBAAKA,UAAU,kBACb,uBACEA,UAAS,gCACPsuB,EAAyBhN,EAASvM,QAD3B,gBAKb,yBAAK/U,UAAU,sCACb,0BACEA,UAAS,qCACPsuB,EAAyBhN,EAASvM,QAD3B,kBADX,OAKOuM,EAASlhB,IAEhB,0BAAMJ,UAAU,QACbshB,EAASmN,SADZ,KACwBnN,EAASoN,kBAO3C,kBAACjI,EAAA,EAAM/U,OAAP,CAAc1R,UAAU,QACtB,yBAAKA,UAAU,cACb,4BACEA,UAAU,eACVb,MAAO4V,EACP1F,SAAU,SAACC,GAAD,OAAOkiB,GAAWliB,EAAEM,OAAOzQ,SAErC,4BAAQA,MAAM,KAAd,YACA,4BAAQA,MAAM,KAAd,YAGJ,yBAAKa,UAAU,cACb,4BACE+C,KAAK,SACL0J,QAAS4E,EACTrR,UAAU,kCAHZ,UAOA,4BACE+C,KAAK,SACL0J,QAxFW,WAEnB8Y,EAAStB,EAA8B8M,EAAiB7L,IAAKnQ,IAASH,MACpE,WAEE2Q,EAAStB,EAAuB8M,EAAiBzL,cAAc1Q,MAC7D,WAEEmc,EAAiBtB,OAAO,IAExBpe,WA+EArR,UAAU,+BAHZ,oB,ozMC1GH,SAASqyB,EAAT,GAA0C,EAAf7O,YAAgB,IAE1CsN,EAAqB3B,IAC3B,EAA0CniB,mBAAS,IAAnD,mBAAOyL,EAAP,KAAsB4qB,EAAtB,KACA,EAA4Cr2B,mBAAS,IAArD,mBAAOs2B,EAAP,KAAuBC,EAAvB,KACA,EAAwCv2B,oBAAS,GAAjD,mBAAO6L,EAAP,KAAqBggB,EAArB,KAEA/kB,qBAAU,WACR+Y,MACC,IACH,IAAMA,EAAe,uCAAG,6GAECvK,IAAM3M,IAAI,6BAFX,OAEdxG,EAFc,OAGpBk0B,EAAiBl0B,EAAO5M,KAAP,eACjBghC,EAAkBp0B,EAAO5M,KAAP,eAJE,yGAAH,qDAOfwuB,EAAmBC,mBAAQ,WAC/B,MAAO,CACL1L,YAAawL,EAAmBxL,YAChCoK,eAAgBoB,EAAmBpB,kBAEpC,CAACoB,IAGE0B,EAAc,SAACtrB,GACnB,IAAMurB,EAzCY,SAACnN,EAAape,GAClC,IAAQyrB,EAAkDzrB,EAAlDyrB,YAAa/M,EAAqC1e,EAArC0e,WAAYie,EAAyB38B,EAAzB28B,YAAaC,EAAY58B,EAAZ48B,SACxCrR,EAAc,eAAQnN,GACtB/V,EAAS,GASf,OARAA,EAAO+J,YAAcsM,EACrBrW,EAAOqT,aAAeihB,EACtBt0B,EAAOojB,YAAcA,EAClBmR,IAEDv0B,EAAO4zB,SAAWW,GAEpBrR,EAAeljB,OAASA,EACjBkjB,EA6BkBG,CAAc7B,EAAiBzL,YAAape,GAC9D6oB,kBAAQ0C,EAAgB1B,EAAiBzL,eAC5CmN,EAAe1D,WAAa,EAE5BgC,EAAiBrB,eAAe+C,KAI9B+Q,EAAoB,uCAAG,WAAOvvB,EAAOf,GAAd,0EAC3B2lB,GAAgB,GAChB0K,EAAkB,IACS,KAAvBtvB,EAAMrE,OAAOzQ,OAAuC,OAAvB8U,EAAMrE,OAAOzQ,MAHnB,uBAIzB+T,EAAc,aAAce,EAAMrE,OAAOzQ,OAJhB,SAKJmjB,IAAM3M,IAAN,qCAAwC1B,EAAMrE,OAAOzQ,QALjD,OAMJ,MADfgQ,EALmB,QAMd4F,SACL5F,EAAO5M,KAAKsG,OAAS,EACvB06B,EAAkBp0B,EAAO5M,MAGzBghC,EAAkB,KAXG,OAe3B1K,GAAgB,GAfW,2CAAH,wDAiB1B,OACE,oCACE,kBAAC,IAAD,CACErW,cAAe,CACbqhB,YAAa,EACbje,WAAY,EACZ+M,YAAa,GAEfjQ,SAAU,SAACxb,GACTsrB,EAAYtrB,MAGb,gBACCA,EADD,EACCA,OACA6b,EAFD,EAECA,aACAqQ,EAHD,EAGCA,WACAlgB,EAJD,EAICA,cAJD,OAMG,0BAAMwP,SAAUK,EAAc/iB,UAAU,yBACtC,2BACA+C,KAAK,SACL/C,UAAU,SACVI,GAAG,gBACHqM,QAAS,SAAC6C,GACc,KAAlBA,EAAEM,OAAOzQ,MACXX,SAASsR,eAAe,iBAAiB3Q,MAAQ,EAC9CX,SAASsR,eAAe,iBAAiB3Q,MAAQ,EACtD+T,EAAc,cAAe5D,EAAEM,OAAOzQ,OACtC4jB,OAGF,yBAAK/iB,UAAU,kBACb,yBAAKA,UAAU,YACb,yBAAKmE,MAAM,eACT,2BACEpB,KAAK,OACLoB,MAAM,eACNqN,aAAW,kCACXrS,MAAO+H,EAAOi8B,SACd9zB,SAAU,SAACC,GACT4D,EAAc,WAAY5D,EAAEM,OAAOzQ,OACnC4jB,QAIN,2BAAO/iB,UAAU,wBAAjB,cAIF,yBAAKA,UAAU,YACb,kBAAC,IAAD,CACEA,UAAU,eACVgG,KAAK,SACLoJ,YAAY,mBACZC,SAAU,SAACC,GACT4D,EAAc,aAAc5D,EAAEM,OAAOzQ,OACrC4jB,IACAygB,EAAqBl0B,EAAG4D,GACC,MAAtBhM,EAAOoS,aAERpS,EAAO0b,YAAc,MAGzB0Q,OAAQF,EACRj0B,MAAO+H,EAAOoS,YAEd,4BAAQhS,IAAI,GAAGnI,MAAM,KAArB,UACCsZ,EAAc1U,KAAI,SAACC,EAAMC,GAAP,OACf,4BAAQqD,IAAKrD,EAAO9E,MAAO6E,EAAKJ,IAAKI,EAAKH,UAGhD,2BAAO7D,UAAU,wBAAjB,sBAIF,yBAAKA,UAAU,YACb,kBAAC,IAAD,CACEA,UAAU,eACVgG,KAAK,SACLoJ,YAAY,mBACZC,SAAU,SAACC,GACT4D,EAAc,cAAe5D,EAAEM,OAAOzQ,OACtC4jB,KAEFuQ,OAAQF,EACRj0B,MAAO+H,EAAO0b,aAEd,4BAAQtb,IAAK,GAAGnI,MAAM,KAAtB,UACCmkC,EAAev/B,KAAI,SAACC,EAAMC,GAAP,OAChB,4BAAQqD,IAAKrD,EAAO9E,MAAO6E,EAAKJ,IAAKI,EAAKH,UAG/CgV,GAAgB,kBAACuV,EAAA,EAAD,MACjB,2BAAOpuB,UAAU,wBAAjB,oB,0ECzKX,SAASm0B,GACdC,EACA5sB,EACA6sB,EAHK,GAKJ,IADC9D,EACF,EADEA,uBAAwBC,EAC1B,EAD0BA,yBAE1B,OACE,oCACE,uBACEpR,MAAM,mBACNpf,UAAU,uDACVyM,QAAS,kBAAM8jB,EAAuB/oB,EAAIpH,MAE1C,0BAAMJ,UAAU,yCACd,kBAAC,KAAD,CACEwI,IAAKC,aAAc,gDAIzB,yCAEA,uBACE2W,MAAM,qBACNpf,UAAU,iDACVyM,QAAS,kBAAM+jB,EAAyBhpB,EAAIpH,MAE5C,0BAAMJ,UAAU,wCACd,kBAAC,KAAD,CAAKwI,IAAKC,aAAc,2CCX3B,SAAS6rB,KAEd,IAAMxD,EAAqB3B,IACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACL9L,IAAK4L,EAAmB5L,IACxBuK,OAAQqB,EAAmBrB,OAC3BnK,YAAawL,EAAmBxL,YAChCoK,eAAgBoB,EAAmBpB,eACnCa,uBAAwBO,EAAmBP,uBAC3CC,yBAA0BM,EAAmBN,4BAE9C,CAACM,IAGIyD,EAAiBjR,aACvB,SAAChE,GAAD,MAAY,CAAEiV,aAAcjV,EAAMiE,aAClCE,KAFM8Q,aAIA3Q,EAAsC2Q,EAAtC3Q,WAAYC,EAA0B0Q,EAA1B1Q,SAAUL,EAAgB+Q,EAAhB/Q,YAGxB+B,EAAW0L,cACjBnd,qBAAU,WAERid,EAAiBtB,OAAO,IAExBlK,EAAStB,EAAuB8M,EAAiBzL,gBAEhD,CAACyL,EAAiBzL,YAAaC,IAElC,IAAMpZ,EAAU,CACd,CACEC,UAAW,KACXnN,KAAM,KACNyN,MAAM,EACNC,UAAWA,KACXC,2BAEF,CACER,UAAW,UACXnN,KAAM,UACNyN,MAAM,EACNC,UAAWA,KACXC,2BAEF,CACER,UAAW,eACXnN,KAAM,eACNyN,MAAM,EACNC,UAAWA,KACXC,2BAEF,CACER,UAAW,WACXnN,KAAM,WACNyN,MAAM,EACNC,UAAWA,KACXC,2BAEF,CACER,UAAW,SACXnN,KAAM,SACNyN,MAAM,EACNC,UAAWA,KACXC,2BAEF,CACER,UAAW,OACXnN,KAAM,OACNyN,MAAM,EACNC,UAAWA,KACXC,2BAEF,CACER,UAAW,SACXnN,KAAM,UACNoN,UAAWmoB,GACXC,gBAAiB,CACflE,uBAAwBQ,EAAiBR,uBACzCC,yBAA0BO,EAAiBP,0BAE7CjwB,QAAS,mBACTm0B,cAAe,mBACftwB,MAAO,CACLuS,SAAU,WAKVge,EAAoB,CACxBC,QAAQ,EACRC,UAAWjR,EACX2K,gBAAiBuG,EACjBC,YAAahE,EAAiBzL,YAAY0J,SAC1CgG,KAAMjE,EAAiBzL,YAAYyJ,YAErC,OACE,oCACE,kBAAC,sBAAD,CAAoBje,WAAYC,KAAkB4jB,KAC/C,YAAgD,IAA7CM,EAA4C,EAA5CA,gBAAiBC,EAA2B,EAA3BA,qBACnB,OACE,kBAAC,IAAD,CACE7R,UAAWG,EACXyR,gBAAiBA,GAEjB,kBAAC,KAAD,eACEjkB,eAAe,mBACfE,UAAU,EACV3Q,QAAQ,gDACR0Q,YAAU,EACVkkB,QAAM,EACNxkB,SAAS,KACTpO,KAAmB,OAAbshB,EAAoB,GAAKA,EAC/B1X,QAASA,EACTyE,cAAekkB,EACfM,cAAeC,aACbtE,EAAiBrB,gBAEnBgI,UAAWC,aAAa,CACtB9T,WACAqB,IAAK6L,EAAiB7L,IACtBuK,OAAQsB,EAAiBtB,UAEvByF,GAEJ,kBAAC,KAAD,CAAmBrR,SAAUA,IAC7B,kBAAC,KAAD,CAAuBA,SAAUA,UCnJ1C,SAASyR,KAEd,IAAMxE,EAAqB3B,IACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACL9L,IAAK4L,EAAmB5L,IACxBuK,OAAQqB,EAAmBrB,OAC3BgB,0BAA2BK,EAAmBL,0BAC9CC,yBAA0BI,EAAmBJ,yBAC7CC,gCACEG,EAAmBH,mCAEtB,CAACG,IAEJ,OACE,yBAAK9wB,UAAU,QACb,yBAAKA,UAAU,4EACb,yBAAKA,UAAU,aACb,yBAAKA,UAAU,gCACb,yBAAKA,UAAU,iCACb,2BAAOA,UAAU,yBACf,yDAC0B,2BAAI+wB,EAAiB7L,IAAIrc,WAIvD,6BACE,4BACE9F,KAAK,SACL/C,UAAU,iDACVyM,QAASskB,EAAiBN,2BAE1B,uBAAGzwB,UAAU,gBALf,eADF,Y,aCfNsX,GAAYrB,aAAW,SAAAC,GAAK,MAAK,CACrCgpB,WAAY,CACV9X,QAASlR,EAAMK,QAAQ,QAGpB,SAASgf,KACEje,KAAhB,IACMwZ,EAAqB3B,IACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACL9L,IAAK4L,EAAmB5L,IACxBoL,uBAAwBQ,EAAmBR,0BAE5C,CAACQ,IAEJ,OACE,kBAAC,IAAD,KACE,kBAAC,IAAD,CAAY1R,MAAM,gBAChB,kBAAC,IAAD,KACE,4BACErc,KAAK,SACL/C,UAAU,wCACVyM,QAASskB,EAAiBT,wBAH5B,OAOA,kBAAC,KAAD,CAAMvgB,GAAG,qBAAsB/P,UAAU,yCAAzC,YAMJ,kBAAC,IAAD,KACE,kBAACqyB,EAAD,MACCtB,EAAiB7L,IAAIrc,OAAS,GAAK,kBAACysB,GAAD,MACpC,kBAAChB,GAAD,OAEF,kBAAC,IAAD,KACE,uBACEvxB,KAAK,SACL/C,UAAU,wCACV0I,KAAK,kBAHP,WCzCD,SAASq7B,GAAT,GAAmC,IAAZtO,EAAW,EAAXA,QACtBlG,EAAoB,CACxBe,uBAAwB,WACtBmF,EAAQ3sB,KAAK,qBAEfynB,uBAAwB,SAACnwB,GACvBq1B,EAAQ3sB,KAAR,uBAA6B1I,EAA7B,WAEFowB,yBAA0B,SAACpwB,GACzBq1B,EAAQ3sB,KAAR,uBAA6B1I,EAA7B,aAEFqwB,0BAA2B,WACzBgF,EAAQ3sB,KAAR,iCAEF4nB,yBAA0B,WACxB+E,EAAQ3sB,KAAR,uBAEF6nB,gCAAiC,WAC/B8E,EAAQ3sB,KAAK,+BAIjB,OACE,kBAACwmB,EAAD,CAAqBC,kBAAmBA,GACtC,kBAACnM,EAAD,MACA,kBAAC,IAAD,CAAOnV,KAAK,qBACT,gBAAGwnB,EAAH,EAAGA,QAAS1pB,EAAZ,EAAYA,MAAZ,OACC,kBAAC8kB,EAAD,CACEzf,KAAe,MAATrF,EACNsF,OAAQ,WACNokB,EAAQ3sB,KAAK,sBAKrB,kBAAC,IAAD,CAAOmF,KAAK,wBACT,gBAAGwnB,EAAH,EAAGA,QAAS1pB,EAAZ,EAAYA,MAAZ,OACC,kBAAC8kB,EAAD,CACEzf,KAAe,MAATrF,EACNsF,OAAQ,WACNokB,EAAQ3sB,KAAK,sBAKrB,kBAAC,IAAD,CAAOmF,KAAK,0BACT,gBAAGwnB,EAAH,EAAGA,QAAS1pB,EAAZ,EAAYA,MAAZ,OACC,kBAAC8kB,EAAD,CACEzf,KAAe,MAATrF,EACN3L,GAAI2L,GAASA,EAAM2pB,OAAOt1B,GAC1BiR,OAAQ,WACNokB,EAAQ3sB,KAAK,sBAKrB,kBAAC,IAAD,CAAOmF,KAAK,iCACT,gBAAGwnB,EAAH,EAAGA,QAAS1pB,EAAZ,EAAYA,MAAZ,OACC,kBAAColB,EAAD,CACE/f,KAAe,MAATrF,EACNsF,OAAQ,WACNokB,EAAQ3sB,KAAK,sBAKrB,kBAAC,IAAD,CAAOmF,KAAK,4BACT,gBAAGwnB,EAAH,EAAGA,QAAS1pB,EAAZ,EAAYA,MAAZ,OACC,kBAACmlB,EAAD,CACE9f,KAAe,MAATrF,EACN3L,GAAI2L,GAASA,EAAM2pB,OAAOt1B,GAC1BiR,OAAQ,WACNokB,EAAQ3sB,KAAK,sBAKrB,kBAAC,IAAD,CAAOmF,KAAK,uBACT,gBAAGwnB,EAAH,EAAGA,QAAS1pB,EAAZ,EAAYA,MAAZ,OACC,kBAACulB,EAAD,CACElgB,KAAe,MAATrF,EACNsF,OAAQ,WACNokB,EAAQ3sB,KAAK,sBAKrB,kBAAC,IAAD,CAAOmF,KAAK,8BACT,gBAAGwnB,EAAH,EAAGA,QAAS1pB,EAAZ,EAAYA,MAAZ,OACC,kBAACwlB,EAAD,CACEngB,KAAe,MAATrF,EACNsF,OAAQ,WACNokB,EAAQ3sB,KAAK,sBAKrB,kBAACysB,GAAD,OA5GN,oC,6ECIO,SAASnS,IAEd,IAAQC,EAAcC,aACpB,SAAChE,GAAD,MAAY,CAAE+D,UAAW/D,EAAMiE,UAAUC,eACzCC,KAFMJ,UAMR,OADAvP,qBAAU,cAAU,CAACuP,IACd,kBAAC,IAAD,CAAeA,UAAWA,EAAWpkB,KAAK,gB,2CCVtCykB,EAAgB,sB,YCAvBC,EAAwB,CAC5BH,aAAa,EACbjC,gBAAgB,EAChBqC,WAAY,EACZC,SAAU,KACVC,qBAAiBhe,EACjBie,UAAW,MAEAC,EACL,OADKA,EAEH,SCTHC,EDYuBC,YAAY,CACxCle,KAAM,YACNme,aAAcR,EACdS,SAAU,CACRC,WAAY,SAAC/E,EAAOgF,GAClBhF,EAAM/U,MAAN,UAAiB+Z,EAAOvhB,KAAxB,aAAiCuhB,EAAOC,QAAQha,OAC5C+Z,EAAOC,QAAQC,WAAaR,EAC9B1E,EAAMkE,aAAc,EAEpBlE,EAAMiC,gBAAiB,GAG3BkD,UAAW,SAACnF,EAAOgF,GACjBhF,EAAM/U,MAAQ,KACV+Z,EAAOC,QAAQC,WAAaR,EAC9B1E,EAAMkE,aAAc,EAEpBlE,EAAMiC,gBAAiB,GAI3BmD,gBAAiB,SAACpF,EAAOgF,GACvBhF,EAAMiC,gBAAiB,EACvBjC,EAAMwE,gBAAkBQ,EAAOC,QAAQT,gBACvCxE,EAAM/U,MAAQ,MAGhBoa,iBAAkB,SAACrF,EAAOgF,GACxB,MAAiCA,EAAOC,QAAhCX,EAAR,EAAQA,WAAYC,EAApB,EAAoBA,SACpBvE,EAAMkE,aAAc,EACpBlE,EAAM/U,MAAQ,KACd+U,EAAMuE,SAAWA,EACjBvE,EAAMsE,WAAaA,GAGrBgB,gBAAiB,SAACtF,EAAOgF,GACvBhF,EAAMiC,gBAAiB,EACvBjC,EAAM/U,MAAQ,KACd+U,EAAMuE,SAAS/a,KAAKwb,EAAOC,QAAQjD,WAGrCuD,gBAAiB,SAACvF,EAAOgF,GACvBhF,EAAM/U,MAAQ,KACd+U,EAAMiC,gBAAiB,EACvBjC,EAAMuE,SAAWvE,EAAMuE,SAAS9f,KAAI,SAAA+gB,GAClC,OAAIA,EAAO1kB,KAAOkkB,EAAOC,QAAQjD,SAASlhB,GACjCkkB,EAAOC,QAAQjD,SAEjBwD,MAIXC,gBAAiB,SAACzF,EAAOgF,GACvBhF,EAAM/U,MAAQ,KACd+U,EAAMiC,gBAAiB,EACvBjC,EAAMuE,SAAWvE,EAAMuE,SAAStU,QAAO,SAAAyV,GAAE,OAAIA,EAAG5kB,KAAOkkB,EAAOC,QAAQnkB,OAGxE6kB,iBAAkB,SAAC3F,EAAOgF,GACxBhF,EAAM/U,MAAQ,KACd+U,EAAMiC,gBAAiB,EACvBjC,EAAMuE,SAAWvE,EAAMuE,SAAStU,QAC9B,SAAAyV,GAAE,OAAKV,EAAOC,QAAQW,IAAIvV,SAASqV,EAAG5kB,QAI1C+kB,uBAAwB,SAAC7F,EAAOgF,GAC9BhF,EAAMiC,gBAAiB,EACvBjC,EAAM/U,MAAQ,KACd,MAAwB+Z,EAAOC,QAAvBW,EAAR,EAAQA,IAAKnQ,EAAb,EAAaA,OACbuK,EAAMuE,SAAWvE,EAAMuE,SAAS9f,KAAI,SAAA+gB,GAIlC,OAHII,EAAIE,WAAU,SAAAhlB,GAAE,OAAIA,IAAO0kB,EAAO1kB,OAAO,IAC3C0kB,EAAO/P,OAASA,GAEX+P,SCtFRb,QAEMoB,EAAiB,SAAAC,GAAW,OAAI,SAAAC,GAE3C,OADAA,EAAStB,EAAQQ,UAAU,CAAED,SAAUR,KFclC,SAAuBsB,GAC5B,OAAOhD,IAAMkD,KAAN,UAAc9B,EAAd,SAAoC,CAAE4B,gBEdtCG,CACUH,GACd1Q,MAAK,SAAAC,GACJ,MAAiCA,EAAStS,KAAlCqhB,EAAR,EAAQA,WAAYC,EAApB,EAAoBA,SACpB0B,EAAStB,EAAQU,iBAAiB,CAAEf,aAAYC,iBAEjD1O,OAAM,SAAA5K,GACLA,EAAMmb,cAAgB,uBACtBH,EAAStB,EAAQI,WAAW,CAAE9Z,QAAOia,SAAUR,UAIxC2B,EAAgB,SAAAvlB,GAAE,OAAI,SAAAmlB,GACjC,OAAKnlB,GAILmlB,EAAStB,EAAQQ,UAAU,CAAED,SAAUR,MFVT4B,EEYXxlB,EFXZkiB,IAAM3M,IAAN,UAAa+N,EAAb,YAA8BkC,KEYlChR,MAAK,SAAAC,GACJ,IAAMyM,EAAWzM,EAAStS,KAC1BgjB,EAAStB,EAAQS,gBAAgB,CAAEZ,gBAAiBxC,QAErDnM,OAAM,SAAA5K,GACLA,EAAMmb,cAAgB,sBACtBH,EAAStB,EAAQI,WAAW,CAAE9Z,QAAOia,SAAUR,SAZ1CuB,EAAStB,EAAQS,gBAAgB,CAAEZ,qBAAiBhe,KFPxD,IAAyB8f,IEuBnBC,EAAiB,SAAAzlB,GAAE,OAAI,SAAAmlB,GAElC,OADAA,EAAStB,EAAQQ,UAAU,CAAED,SAAUR,MFAV4B,EEEXxlB,EFDXkiB,IAAMwD,OAAN,UAAgBpC,EAAhB,YAAiCkC,KEErChR,MAAK,SAAAC,GACJ0Q,EAAStB,EAAQc,gBAAgB,CAAE3kB,WAEpC+U,OAAM,SAAA5K,GACLA,EAAMmb,cAAgB,wBACtBH,EAAStB,EAAQI,WAAW,CAAE9Z,QAAOia,SAAUR,QFR9C,IAAwB4B,IEYlBG,EAAiB,SAAAC,GAAmB,OAAI,SAAAT,GAEnD,OADAA,EAAStB,EAAQQ,UAAU,CAAED,SAAUR,MF9CV1C,EEgDX0E,EF/CX1D,IAAMkD,KAAK9B,EAAe,CAAEpC,cEgDhC1M,MAAK,SAAAC,GACJ,IAAQyM,EAAazM,EAAStS,KAAtB+e,SACRiE,EAAStB,EAAQW,gBAAgB,CAAEtD,iBAEpCnM,OAAM,SAAA5K,GACLA,EAAMmb,cAAgB,wBACtBH,EAAStB,EAAQI,WAAW,CAAE9Z,QAAOia,SAAUR,QFvD9C,IAAwB1C,IE2DlB2E,EAAiB,SAAA3E,GAAQ,OAAI,SAAAiE,GAExC,OADAA,EAAStB,EAAQQ,UAAU,CAAED,SAAUR,KFxClC,SAAwB1C,GAC7B,OAAOgB,IAAM4D,IAAN,UAAaxC,EAAb,YAA8BpC,EAASlhB,IAAM,CAAEkhB,aEwC/CmE,CACWnE,GACf1M,MAAK,WACJ2Q,EAAStB,EAAQY,gBAAgB,CAAEvD,iBAEpCnM,OAAM,SAAA5K,GACLA,EAAMmb,cAAgB,wBACtBH,EAAStB,EAAQI,WAAW,CAAE9Z,QAAOia,SAAUR,UAIxCmC,EAAwB,SAACjB,EAAKnQ,GAAN,OAAiB,SAAAwQ,GAEpD,OADAA,EAAStB,EAAQQ,UAAU,CAAED,SAAUR,KFhDlC,SAAkCkB,EAAKnQ,GAC5C,OAAOuN,IAAMkD,KAAN,UAAc9B,EAAd,6BAAwD,CAC7DwB,MACAnQ,WE8CK0Q,CACqBP,EAAKnQ,GAC9BH,MAAK,WACJ2Q,EAAStB,EAAQkB,uBAAuB,CAAED,MAAKnQ,eAEhDI,OAAM,SAAA5K,GACLA,EAAMmb,cAAgB,gCACtBH,EAAStB,EAAQI,WAAW,CAAE9Z,QAAOia,SAAUR,UAIxCoC,EAAkB,SAAAlB,GAAG,OAAI,SAAAK,GAEpC,OADAA,EAAStB,EAAQQ,UAAU,CAAED,SAAUR,KFhDlC,SAAyBkB,GAC9B,OAAO5C,IAAMkD,KAAN,UAAc9B,EAAd,oBAA+C,CAAEwB,QEgDjDO,CACYP,GAChBtQ,MAAK,WACJ2Q,EAAStB,EAAQgB,iBAAiB,CAAEC,YAErC/P,OAAM,SAAA5K,GACLA,EAAMmb,cAAgB,yBACtBH,EAAStB,EAAQI,WAAW,CAAE9Z,QAAOia,SAAUR,U,m9MChFrD,IAAM/lB,EAAU,IAAIC,IAAa,MAC3BC,EAAKC,IAAIH,GACR,SAASmjB,EAAT,GAOH,IACEH,EADH,OANDI,EAMC,EANDA,aACAC,EAKC,EALDA,SACAC,EAIC,EAJDA,eACAlQ,EAGC,EAHDA,OACA2yB,EAEC,EAFDA,SAEC,EADD5yB,KAIE6P,OADkBnb,IAAhBwb,EAASlhB,GACU8gB,MAAaC,MAAM,CACtCtd,KAAMqd,MACH4U,IAAI,EAAG,qBACPC,IAAI,GAAI,sBACRnjB,SAAS,8BACZsQ,KAAMhC,MACH4U,IAAI,EAAG,qBACPC,IAAI,GAAI,sBACRnjB,SAAS,8BACZqxB,kBAAmB/iB,MAAatO,SAAS,8BACzCsxB,MAAOhjB,MACJyN,MAAM,iBACN/b,SAAS,uBAGOsO,MAAaC,MAAM,CACtC+iB,MAAOhjB,MACJyN,MAAM,iBACN/b,SAAS,uBAIhB,MAAgD5F,mBAAS,IAAzD,mBAAOm3B,EAAP,KAAyBC,EAAzB,KACA,EAA0Cp3B,mBAAS,IAAnD,mBAAOmf,EAAP,KAAsBkY,EAAtB,KACA,EAAgCr3B,oBAAS,GAAzC,mBAAOoqB,EAAP,KAAiB6C,EAAjB,KAEAnmB,qBAAU,WACRuO,MACC,IAEHvO,qBAAU,WACR,QAA0BhO,IAAtBwb,EAASsU,SAAwB,CACnC,IAAIrsB,EAAI+X,EAASsU,SAAW,OAAS,QACrCqE,EAAY1wB,MAEb,CAAC+X,IAEJ,IAAMe,EAAe,uCAAG,6GAECC,IAAM3M,IAAI,4BAFX,OAEdxG,EAFc,OAGpBi1B,EAAoBj1B,EAAO5M,KAAP,cACpB8hC,EAAiBl1B,EAAO5M,KAAP,WAJG,yGAAH,qDAQrB,SAAS+hC,IACPC,GAAS,SAACC,GAAD,4BACJA,GADI,CAEP,CACE5gC,GAAI,EACJ4pB,SAAU,GACVF,WAAY,GACZmX,UAAW,GACXje,SAAU,GACV3iB,KAAM,GACN6gC,UAAW,GACXC,SAAU,GACVC,UAAW,GACXV,MAAO,GACPW,IAAK,GACLC,SAAU,SAKhB,MAA0B93B,mBAAS,CACjC,CACEpJ,GAAI,EACJ4pB,SAAU,GACVF,WAAY,GACZmX,UAAW,GACXje,SAAU,GACV3iB,KAAM,GACN6gC,UAAW,GACXC,SAAU,GACVC,UAAW,GACXV,MAAO,GACPW,IAAK,GACLC,SAAU,MAbd,mBAAOC,EAAP,KAAcR,EAAd,KA0CA,SAASS,EAAmBp8B,GAC1B,IAAIuB,EAAI,YAAO46B,GACf56B,EAAK86B,OAAOr8B,EAAG,GACf27B,EAASp6B,GA5BX2J,qBAAU,WACS,IAAD,EAAVkwB,KACC,UAACA,EAAS,UAAV,aAAC,EAAa1W,YACjBiX,EAASP,GAETO,EAAS,CACP,CACE3gC,GAAI,EACJ4pB,SAAU,GACVF,WAAY,GACZmX,UAAW,GACXje,SAAU,GACV3iB,KAAM,GACN6gC,UAAW,GACXC,SAAU,GACVC,UAAW,GACXV,MAAO,GACPW,IAAK,GACLC,SAAU,SAKjB,CAACd,IAQJ,MAA4Ch3B,mBAAS,IAArD,mBAAOyf,EAAP,KAAuBC,GAAvB,KAoNA,IAAMwY,GAAe,uCAAG,0FAEU,IAA1BzY,EAAe5jB,OAFC,gCAGZwL,MAAMxP,OAAOyP,QAAU,wBAAyB,CACpDC,OAAQ,MACRC,iBAAiB,EACjBC,QAAS,CACPiL,OAAQ,oCACRhL,cAAc,UAAD,OAAYvW,EAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,sBAGjBC,MAAK,SAACM,GAAD,OAASA,EAAI/N,UAClByN,MAAK,SAACM,GACLwX,GAAkBxX,EAAIiwB,mBAAqB,OAE5ChwB,OAAM,SAACtV,GACN,OAAO,KAlBO,8GAAH,qDA6BrB,OALAiU,qBAAU,WACRoxB,OACC,IAID,oCACE,kBAACE,EAAA,EAAD,CAAWC,iBAAiB,KAC1B,kBAAC,IAAD,CACE9iB,oBAAoB,EACpBC,cAAelB,EACfmB,iBAAkBxB,EAClByB,SAAU,SAACxb,IACTA,EAASnG,KAAKC,MAAMD,KAAKE,UAAUiG,KAC5B88B,SAAWe,EAClB1jB,EAAana,MAGd,gBAAG6b,EAAH,EAAGA,aAAc7P,EAAjB,EAAiBA,cAAjB,OACC,oCACE,kBAACuT,EAAA,EAAMhV,KAAP,KACG8P,GACC,yBAAKvhB,UAAU,gCACb,yBAAKA,UAAU,wCAInB,kBAACslC,EAAA,EAAD,CAAMtlC,UAAU,yBACd,kBAAColC,EAAA,EAAUjlC,OAAX,CACEE,GAAImzB,IACJxzB,UAAU,6DACV2zB,QAAQ,OACR4R,SAAS,KAET,kBAACC,EAAA,EAAD,CAAO7R,QAAQ,WAAW3zB,UAAU,kBAClC,wBAAIA,UAAU,oBAAd,wBAEF,kBAAC4zB,EAAA,EAAD,CACE5zB,UAAWwpB,YACT,mDAEFplB,MAAO,CAAEC,SAAU,GAAIgkB,MAAO,OAAQod,IAAK,UAG/C,kBAACL,EAAA,EAAUM,SAAX,CAAoBH,SAAS,KAC3B,kBAACI,EAAA,EAAKl0B,KAAN,CAAWzR,UAAU,QACnB,yBAAKA,UAAU,kBACb,yBAAKA,UAAU,YACb,kBAAC,IAAD,CACEgG,KAAK,OACL0I,UAAW2f,IACXjf,YAAY,iBACZ5L,MAAM,oBAGV,yBAAKxD,UAAU,YACb,kBAAC,IAAD,CACEgG,KAAK,OACL0I,UAAW2f,IACXjf,YAAY,iBACZ5L,MAAM,oBAGV,yBAAKxD,UAAU,YACb,kBAAC,IAAD,CACEgG,KAAK,aACL0I,UAAW2f,IACXjf,YAAY,aACZ5L,MAAM,gBAGV,yBAAKxD,UAAU,iBACb,kBAAC,IAAD,CACEgG,KAAK,YACLxC,MAAM,SACNgE,KAAG,EACHrI,MAAOi4B,EACP/nB,SAAU,SAACC,GACT2qB,EAAY3qB,EAAEM,OAAOzQ,OACrB+T,EAAc,WAAY5D,EAAEM,OAAOzQ,SAGrC,kBAACk7B,EAAA,EAAD,CACEl7B,MAAM,OACNm7B,QAAS,kBAACC,EAAA,EAAD,CAAOxrB,MAAM,YACtBvL,MAAM,aAER,kBAAC62B,EAAA,EAAD,CACEl7B,MAAM,QACNm7B,QAAS,kBAACC,EAAA,EAAD,CAAOxrB,MAAM,YACtBvL,MAAM,iBAIZ,yBAAKxD,UAAU,iBACb,kBAAC,IAAD,CACEgG,KAAK,WACL0I,UAAW2f,IACXjf,YAAY,WACZ5L,MAAM,cAIV,yBAAKxD,UAAU,iBACb,kBAAC,IAAD,CACEgG,KAAK,WACL0I,UAAW2f,IACXjf,YAAY,WACZ5L,MAAM,cAIV,yBAAKxD,UAAU,iBACb,kBAAC,IAAD,CAAQgG,KAAK,UAAUxC,MAAM,WAC3B,0CACC2oB,EAAcpoB,KAAI,SAACC,EAAMC,GAAP,OACjB,4BAAQ9E,MAAO6E,EAAKJ,IAAKI,EAAKH,UAGR,IAAzBsoB,EAActjB,QAAgB,kBAACulB,EAAA,EAAD,OAEjC,yBAAKpuB,UAAU,iBACb,kBAAC,IAAD,CACEgG,KAAK,QACL0I,UAAW2f,IACXjf,YAAY,wBACZ5L,MAAM,2BAGV,yBAAKxD,UAAU,iBACb,kBAAC,IAAD,CACEgG,KAAK,OACL0I,UAAW2f,IACXjf,YAAY,OACZ5L,MAAM,UAGV,yBAAKxD,UAAU,iBACb,kBAAC,IAAD,CACEgG,KAAK,UACL0I,UAAW2f,IACXjf,YAAY,aACZ5L,MAAM,gBAGV,yBAAKxD,UAAU,iBACb,kBAAC,IAAD,CAAQgG,KAAK,WAAWxC,MAAM,aAC5B,0CACC2gC,EAAiBt7B,OAAS,GACzBs7B,EACG50B,QACC,SAAC1H,GAAD,MAEI,2CADFA,GAEM,gCAANA,KAEH9D,KAAI,SAACC,EAAMC,GAAP,OACH,4BAAQ9E,MAAO6E,GAAOA,OAGD,IAA5BmgC,EAAiBt7B,QAAgB,kBAACulB,EAAA,EAAD,OAEpC,yBAAKpuB,UAAU,iBACb,kBAAC,IAAD,CACE+C,KAAK,SACLiD,KAAK,cACL0I,UAAW2f,IACXjf,YAAY,eACZ5L,MAAM,kBAGV,yBAAKxD,UAAU,iBACb,kBAAC,IAAD,CACE+C,KAAK,SACLiD,KAAK,MACL0I,UAAW2f,IACXjf,YAAY,aACZ5L,MAAM,gBAGV,yBAAKxD,UAAU,iBACb,kBAAC,IAAD,CACE+C,KAAK,QACLiD,KAAK,QACLoJ,YAAY,QACZV,UAAW2f,IACX7qB,MAAM,cAOhB,kBAAC4hC,EAAA,EAAUjlC,OAAX,CACEE,GAAImzB,IACJxzB,UAAU,6DACV2zB,QAAQ,OACR4R,SAAS,KAET,kBAACC,EAAA,EAAD,CAAO7R,QAAQ,WAAW3zB,UAAU,kBAClC,wBAAIA,UAAU,oBAAd,aAEF,kBAAC4zB,EAAA,EAAD,CACE5zB,UAAWwpB,YACT,mDAEFplB,MAAO,CAAEC,SAAU,GAAIgkB,MAAO,OAAQod,IAAK,UAI/C,kBAACL,EAAA,EAAUM,SAAX,CAAoBH,SAAS,KAC3B,kBAACI,EAAA,EAAKl0B,KAAN,CAAWzR,UAAU,QACnB,yBAAKA,UAAU,kBACb,yBAAKA,UAAU,YACb,kBAAC,IAAD,CACEgG,KAAK,YACL0I,UAAW2f,IACXjf,YAAY,qBACZ5L,MAAM,wBAGV,yBAAKxD,UAAU,YACb,kBAAC,IAAD,CACEgG,KAAK,cACL0I,UAAW2f,IACXjf,YAAY,yBACZ5L,MAAM,+BAOhB,kBAAC4hC,EAAA,EAAUjlC,OAAX,CACEE,GAAImzB,IACJxzB,UAAU,6DACV2zB,QAAQ,OACR4R,SAAS,KAET,kBAACC,EAAA,EAAD,CAAO7R,QAAQ,WAAW3zB,UAAU,kBAClC,wBAAIA,UAAU,oBAAd,mBAEF,kBAAC4zB,EAAA,EAAD,CACE5zB,UAAWwpB,YACT,mDAEFplB,MAAO,CAAEC,SAAU,GAAIgkB,MAAO,OAAQod,IAAK,UAI/C,kBAACL,EAAA,EAAUM,SAAX,CAAoBH,SAAS,KAC3B,kBAACI,EAAA,EAAKl0B,KAAN,CAAWzR,UAAU,OACnB,yBAAKA,UAAU,kBACb,yBAAKA,UAAU,YACb,kBAAC,IAAD,CACEgG,KAAK,gBACL0I,UAAW2f,IACXjf,YAAY,iBACZ5L,MAAM,oBAGV,yBAAKxD,UAAU,YACb,kBAAC,IAAD,CACEgG,KAAK,cACL0I,UAAW2f,IACXjf,YAAY,6BACZ5L,MAAM,gCAGV,yBAAKxD,UAAU,YACb,kBAAC,IAAD,CACEgG,KAAK,oBACLxC,MAAM,iCAEN,0CACA,4BAAQrE,MAAM,KAAd,KACA,4BAAQA,MAAM,KAAd,KACA,4BAAQA,MAAM,KAAd,KACA,4BAAQA,MAAM,KAAd,QAKN,yBAAKa,UAAU,kBACb,yBAAKA,UAAU,YACb,kBAAC,IAAD,CAAQgG,KAAK,WAAWxC,MAAM,YAC5B,4BAAQrE,MAAM,IAAd,UACA,4BAAQA,MAAM,SAAd,YACA,4BAAQA,MAAM,QAAd,eAOV,kBAACimC,EAAA,EAAUjlC,OAAX,CACEE,GAAImzB,IACJxzB,UAAU,6DACV2zB,QAAQ,OACR4R,SAAS,KAET,kBAACC,EAAA,EAAD,CAAO7R,QAAQ,WAAW3zB,UAAU,kBAClC,wBAAIA,UAAU,oBAAd,aAEF,kBAAC4zB,EAAA,EAAD,CACE5zB,UAAWwpB,YACT,mDAEFplB,MAAO,CAAEC,SAAU,GAAIgkB,MAAO,OAAQod,IAAK,UAG/C,kBAACL,EAAA,EAAUM,SAAX,CAAoBH,SAAS,IAAIvlC,UAAU,QACzC,6BACE,yBAAKA,UAAU,QACb,wBACEA,UAAU,mBACVoE,MAAO,CAAEqS,aAAc,UAFzB,uBAMA,yBAAKzW,UAAU,aACb,yBAAKA,UAAU,kBACb,yBACEA,UAAU,YACVI,GAAG,wBA9iB/B,WAAqB,IAAD,OAClB,OAAO2kC,EAAMhhC,KAAI,SAACihB,EAAIpc,GAAL,OACf,yBAAK5I,UAAU,wBAAwBsH,IAAKsB,GAC1C,yBAAK5I,UAAU,aACb,yBAAKA,UAAU,OACb,yBAAKA,UAAU,MAAMoE,MAAO,CAAEsM,UAAW,UACvC,4BACE3N,KAAK,SACL/C,UAAW,yBACXyM,QAASu4B,EAAmBlmB,KAAK,EAAMlW,IAEvC,uBACEzE,MAAM,eACNC,MAAO,CAAEu4B,aAAc,UAAW5tB,MAAO,cAKjD,yBAAK/O,UAAU,OACb,yBAAKA,UAAU,aACC,MAAX,OAAFglB,QAAE,IAAFA,OAAA,EAAAA,EAAInhB,OACH,yBAAK7D,UAAU,kBACb,yBAAKA,UAAU,aACb,gDAAeglB,QAAf,IAAeA,OAAf,EAAeA,EAAInhB,QAKzB,yBAAK7D,UAAU,kBACb,yBAAKA,UAAU,aACb,0CACW,IACT,0BACEA,UAAU,+BACVoE,MAAO,CAACC,SAAU,SAFpB,MAKF,kBAAC,IAAD,CACE2B,KAAK,aACLxC,MAAM,WACNrE,WAEI2G,IADF2mB,EAAetJ,MAAK,SAACtb,GAAD,OAAOA,EAAEjE,KAAOohB,EAAGsI,eACxB,CACbnuB,MAAO6lB,EAAGsI,WACV9pB,MAAOwhB,EAAGwI,UAGdne,SAAU,SAAC8e,GACT,IAAIjnB,EAAM,YAAO69B,GACjB79B,EAAO0B,GAAG4kB,SAAV,OAAqBW,QAArB,IAAqBA,OAArB,EAAqBA,EAAU3qB,MAC/B0D,EAAO0B,GAAG0kB,WAAaa,EAAShvB,MAChColC,EAASr9B,IAEXiT,QAASsS,EAAe1oB,KAAI,SAAC8D,GAC3B,MAAO,CACL1I,MAAO0I,EAAEjE,GACTJ,MAAK,OAAEqE,QAAF,IAAEA,OAAF,EAAEA,EAAGhE,aAOpB,yBAAK7D,UAAU,kBACb,yBAAKA,UAAU,iBACb,kBAAC,IAAD,CACEgG,KAAK,OACL0I,UAAW2f,IACXjf,YAAY,aACZ5L,MAAM,aACNoP,UAAU,EACVzT,MAAO6lB,EAAGyf,UACVp1B,SAAU,SAAC4E,GACT,IAAI/M,EAAM,YAAO69B,GACjB79B,EAAO0B,GAAG67B,UAAYxwB,EAAMrE,OAAOzQ,MAC/B8U,EAAMrE,OAAOzQ,OAAS+H,EAAO0B,GAAG4d,SAClCtf,EAAO0B,GAAG/E,KACRoQ,EAAMrE,OAAOzQ,MAAQ,IAAM+H,EAAO0B,GAAG4d,SAEvCtf,EAAO0B,GAAG/E,KAAO,GAEnB0gC,EAASr9B,OAIf,yBAAKlH,UAAU,iBACb,kBAAC,IAAD,CACEgG,KAAK,WACL4M,UAAU,EACVlE,UAAW2f,IACXjf,YAAY,4BACZ5L,MAAM,4BACNrE,MAAO6lB,EAAGwB,SACVnX,SAAU,SAAC4E,GACT,IAAI/M,EAAM,YAAO69B,GACjB79B,EAAO0B,GAAG4d,SAAWvS,EAAMrE,OAAOzQ,MACP,KAAvB8U,EAAMrE,OAAOzQ,OAAgB+H,EAAO0B,GAAG67B,UACzCv9B,EAAO0B,GAAG/E,KACRqD,EAAO0B,GAAG67B,UAAY,IAAMxwB,EAAMrE,OAAOzQ,MAE3C+H,EAAO0B,GAAG/E,KAAO,GAEnB0gC,EAASr9B,QAMjB,yBAAKlH,UAAU,kBACb,yBAAKA,UAAU,iBACb,kBAAC,IAAD,CACEgG,KAAK,YACL0I,UAAW2f,IACXjf,YAAY,YACZ5L,MAAM,YACNT,KAAK,MACL5D,MAAO6lB,EAAG0f,UACVr1B,SAAU,SAAC4E,GACT,IAAI/M,EAAM,YAAO69B,GACjB79B,EAAO0B,GAAG87B,UAAYzwB,EAAMrE,OAAOzQ,MACnColC,EAASr9B,OAIf,yBAAKlH,UAAU,iBACb,kBAAC,IAAD,CACEgG,KAAK,YACL0I,UAAW2f,IACXjf,YAAY,WACZ5L,MAAM,WACNrE,MAAO6lB,EAAG2f,SACVt1B,SAAU,SAAC4E,GACT,IAAI/M,EAAM,YAAO69B,GACjB79B,EAAO0B,GAAG+7B,SAAW1wB,EAAMrE,OAAOzQ,MAClColC,EAASr9B,QAMjB,yBAAKlH,UAAU,kBACb,yBAAKA,UAAU,iBACb,kBAAC,IAAD,CACEgG,KAAK,YACL0I,UAAW2f,IACXjf,YAAY,YACZ5L,MAAM,YACNT,KAAK,MACL5D,MAAO6lB,EAAG4f,UACVv1B,SAAU,SAAC4E,GACT,IAAI/M,EAAM,YAAO69B,GACjB79B,EAAO0B,GAAGg8B,UAAY3wB,EAAMrE,OAAOzQ,MACnColC,EAASr9B,OAIf,yBAAKlH,UAAU,iBACb,kBAAC,IAAD,CACEgG,KAAK,QACL0I,UAAW2f,IACXjf,YAAY,QACZwD,UAAU,EACVpP,MAAM,QACNrE,MAAO6lB,EAAGkf,MACV70B,SAAU,SAAC4E,GACT,IAAI/M,EAAM,YAAO69B,GACjB79B,EAAO0B,GAAGs7B,MAAQjwB,EAAMrE,OAAOzQ,MAC/BolC,EAASr9B,QAMjB,yBAAKlH,UAAU,kBACb,yBAAKA,UAAU,iBACb,kBAAC,IAAD,CACEgG,KAAK,MACL0I,UAAW2f,IACXjf,YAAY,MACZ5L,MAAM,MACNT,KAAK,MACL5D,MAAO6lB,EAAG6f,IACVx1B,SAAU,SAAC4E,GACT,IAAI/M,EAAM,YAAO69B,GACjB79B,EAAO0B,GAAGi8B,IAAM5wB,EAAMrE,OAAOzQ,MAC7BolC,EAASr9B,OAIf,yBAAKlH,UAAU,iBACb,2CACA,2BACEA,UAAU,eACV+C,KAAK,OACL5D,MAAOoC,IAAOyjB,EAAG8f,UAAUt7B,OAAO,eAAiB,GACnD6F,SAAU,SAACC,GACT,IAAIpI,EAAM,YAAO69B,GACjB79B,EAAO0B,GAAGk8B,SAAWx1B,EAAEM,OAAOzQ,MAC9BolC,EAASr9B,eA0WA0+B,KAGL,yBAAK5lC,UAAU,kBACb,yBAAKA,UAAU,OACb,4BACE+C,KAAK,SACL0J,QAAS63B,EAASxlB,KAAK,GACvB1a,MAAO,CAAEyhC,MAAO,QAASzvB,MAAO,QAChCpW,UAAU,sCAEV,uBACEA,UAAS,oBACToE,MAAO,CAAEu4B,aAAc,aACnB,IACN,0BACEv4B,MAAO,CACLC,SAAU,OACV+S,WAAY,WAHhB,gBAiBlB,kBAACqP,EAAA,EAAM/U,OAAP,KACE,4BACE3O,KAAK,SACL0J,QAAS4E,EACTrR,UAAU,6BAHZ,UAOA,yCACA,4BACE+C,KAAK,SACL0J,QAAS,kBAAMsW,KACf/iB,UAAU,+BAHZ,e,YC3uBHsuB,EAA2B,CAAC,SAAU,WAItC1d,EAAgB,CAAC,CAAExE,UAAW,KAAMyE,MAAO,SAC3C0d,GAAkB,CAC7B,CAAEtvB,KAAM,IAAKE,MAAO,GACpB,CAAEF,KAAM,IAAKE,MAAO,GACpB,CAAEF,KAAM,KAAME,MAAO,KAEVqvB,GAAgB,CAC3Bjf,OAAQ,CACNu2B,cAAe,GACfC,SAAU,GACV7V,KAAM,GACNjD,MAAO,GACP2I,SAAU,IAEZ/G,UAAW,MACXC,UAAW,KACXC,WAAY,EACZC,SAAU,ICjBNC,GAAqBC,0BAEpB,SAASC,KACd,OAAOC,qBAAWH,IAGeA,GAAmBI,SAE/C,SAASC,GAAT,GAA+D,IAAhCC,EAA+B,EAA/BA,kBAAmB7G,EAAY,EAAZA,SACvD,EAA0C1b,mBAASwhB,IAAnD,mBAAOlJ,EAAP,KAAoBkK,EAApB,KACA,EAAsBxiB,mBAAS,IAA/B,mBAAOkY,EAAP,KAAYuK,EAAZ,KACMC,EAAiBC,uBAAY,SAACC,GAClCJ,GAAmB,SAACK,GAKlB,OAJIC,qBAAWF,KACbA,EAAkBA,EAAgBC,IAGhCE,kBAAQF,EAAiBD,GACpBC,EAGFD,OAER,IAwBGzwB,EAAQ,CACZmmB,cACAkK,qBACAtK,MACAuK,SACAC,iBACAM,aA5BmB,CACnB5vB,QAAI0F,EACJjC,KAAM,GACNqf,KAAM,GACN6iB,SAAU,GACVC,SAAU,GACV/Y,MAAO,GACPgZ,QAAS,GACT/V,KAAM,GACN9lB,SAAU,GACV87B,YAAa,GACbrB,IAAK,GACLX,MAAO,GACPiC,UAAW,GACXC,YAAa,GACbC,cAAe,GACfC,YAAa,GACbrC,kBAAmB,GACnBsC,QAAS,IACTvC,SAAU,IAUV1T,uBAAwBf,EAAkBe,uBAC1CC,uBAAwBhB,EAAkBgB,uBAC1CC,yBAA0BjB,EAAkBiB,yBAC5CC,0BAA2BlB,EAAkBkB,0BAC7CC,yBAA0BnB,EAAkBmB,yBAC5CC,gCACEpB,EAAkBoB,iCAGtB,OACE,kBAAC1B,GAAmB2B,SAApB,CAA6BzxB,MAAOA,GACjCupB,G,iCC/DA,SAASrC,GAAT,GAAkD,IAAdjmB,EAAa,EAAbA,GAAGiR,EAAU,EAAVA,OAE5C,EAA4CiS,aAC1C,SAAChE,GAAD,MAAY,CACVwE,gBAAiBxE,EAAMiE,UAAUO,gBACjCvC,eAAgBjC,EAAMiE,UAAUhC,kBAElCkC,KALMK,EAAR,EAAQA,gBAAiBvC,EAAzB,EAAyBA,eAQzB,EAA0BvU,mBAAS,IAAnC,mBAAOoS,EAAP,KAAckH,EAAd,KAYA,OAVAxS,qBAAU,WACR,IAAIyS,EAASnmB,EAAK,GAAK,gBACnB0jB,GAAmB1jB,IACrBmmB,EAAM,kBAGRD,EAASC,KAER,CAACzC,EAAiBvC,IAGnB,oCACGA,GAAkB,kBAAC,IAAD,MACnB,kBAACkF,EAAA,EAAMlV,OAAP,KACE,kBAACkV,EAAA,EAAM9U,MAAP,CAAavR,GAAG,gCAAgCgf,GAChD,kBAACie,GAAA,EAAD,CAEE7rB,aAAW,QACX/E,QAAS,SAAC6C,GACR+B,GAAO,KAGT,kBAAC,KAAD,S,2yMC9BV,IAAMpT,GAAU,IAAIC,IAAa,MAC3BC,GAAKC,IAAIH,IAER,SAAS4yB,GAAT,GAAmD,IAArBzwB,EAAoB,EAApBA,GAAIgR,EAAgB,EAAhBA,KAAMC,EAAU,EAAVA,OAE7C,EAAgCrE,mBAAS,IAAzC,mBAAOg3B,EAAP,KAAiBwC,EAAjB,KACM1V,EAAqB3B,KACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACLhB,aAAcc,EAAmBd,gBAElC,CAACc,IAGEvL,EAAW0L,cACjB,EAA4C3N,aAC1C,SAAChE,GAAD,MAAY,CACViC,eAAgBjC,EAAMiE,UAAUhC,eAChCuC,gBAAiBxE,EAAMiE,UAAUO,mBAEnCL,KALMlC,EAAR,EAAQA,eAAgBuC,EAAxB,EAAwBA,gBAQxBhQ,qBAAU,WAERyR,EAAStB,EAAsB7jB,MAC9B,CAACA,EAAImlB,IAvB+C,6CA0CvD,WAA4BnlB,GAA5B,kFACeiU,MAAM,GAAD,OAAIxP,OAAOyP,QAAX,4BAAsClU,GAAM,CAC5DmU,OAAQ,MACRC,iBAAiB,EACjBC,QAAS,CACPC,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,sBAGjBC,KATU,wCASL,WAAOC,GAAP,iFACEC,EAAaD,EAASE,OADxB,SAEeF,EAAS1N,OAFxB,cAEE5E,EAFF,yBAGGyS,QAAQC,IAAI,CAACH,EAAYvS,KAH5B,2CATK,uDAcVqS,MAAK,SAACM,GAAS,IAAD,EACbsxB,EAAW,UAACtxB,EAAI,UAAL,aAAC,EAAQ8uB,aAErB7uB,OAAM,SAAC5K,GACNnH,QAAQmH,MAAMA,MAnBpB,oFA1CuD,sBAuEvD,OANCuJ,qBAAU,WACN1T,GAlEkD,oCAmEnDqmC,CAAarmC,KAEd,CAACA,IAGF,kBAACqmB,EAAA,EAAD,CACEtV,KAAK,KACLC,KAAMA,EACNC,OAAQA,EACRC,kBAAgB,gCAEhB,kBAAC+U,GAAD,CAA0BjmB,GAAIA,EAAIiR,OAAQA,IAC1C,kBAAC+P,EAAD,CACEC,aAtDe,SAACC,GACflhB,EAQHmlB,EAAStB,EAAuB3C,IAAW1M,MAAK,WAC9CvD,IACAkU,EAAStB,EAAuB8M,EAAiBzL,iBARnDC,EAAStB,EAAuB3C,IAAW1M,MAAK,WAC9CvD,IACAkU,EAAStB,EAAuB8M,EAAiBzL,kBAkDjD/D,eAAgBA,EAChBD,SAAUwC,GAAmBiN,EAAiBf,aAC9C3e,OAAQA,EACR2yB,SAAUA,EACV5yB,KAAMA,KC3FP,SAAS8f,GAAT,GAAqD,IAArB9wB,EAAoB,EAApBA,GAAIgR,EAAgB,EAAhBA,KAAMC,EAAU,EAAVA,OAEzCyf,EAAqB3B,KACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACLvB,OAAQqB,EAAmBrB,OAC3BnK,YAAawL,EAAmBxL,eAEjC,CAACwL,IAGEvL,EAAW0L,cACT5N,EAAcC,aACpB,SAAChE,GAAD,MAAY,CAAE+D,UAAW/D,EAAMiE,UAAUhC,kBACzCkC,KAFMJ,UAMRvP,qBAAU,WACH1T,GACHiR,MAGD,CAACjR,IAGJ0T,qBAAU,cAAU,CAACuP,EAAWkC,IAchC,OACE,kBAACkB,EAAA,EAAD,CACErV,KAAMA,EACNC,OAAQA,EACRC,kBAAgB,gCAGf+R,GAAa,kBAAC,IAAD,MAEd,kBAACoD,EAAA,EAAMlV,OAAP,CAAcmV,aAAW,GACvB,kBAACD,EAAA,EAAM9U,MAAP,CAAavR,GAAG,gCAAhB,qBAIF,kBAACqmB,EAAA,EAAMhV,KAAP,MACI4R,GACA,oFAEDA,GAAa,2DAEhB,kBAACoD,EAAA,EAAM/U,OAAP,KACE,6BACE,4BACE3O,KAAK,SACL0J,QAAS4E,EACTrR,UAAU,6BAHZ,UAOA,yCACA,4BACE+C,KAAK,SACL0J,QA5Ca,WAErB8Y,EAAStB,EAAuB7jB,IAAKwU,MAAK,WAExC2Q,EAAStB,EAAuB8M,EAAiBzL,cAEjDyL,EAAiBtB,OAAO,IAExBpe,QAqCMrR,UAAU,8BAHZ,aCtEH,SAASmxB,GAAT,GAAkD,IAAjB/f,EAAgB,EAAhBA,KAAMC,EAAU,EAAVA,OAEtCyf,EAAqB3B,KACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACL9L,IAAK4L,EAAmB5L,IACxBuK,OAAQqB,EAAmBrB,OAC3BnK,YAAawL,EAAmBxL,eAEjC,CAACwL,IAGEvL,EAAW0L,cACT5N,EAAcC,aACpB,SAAChE,GAAD,MAAY,CAAE+D,UAAW/D,EAAMiE,UAAUhC,kBACzCkC,KAFMJ,UAMRvP,qBAAU,WACHid,EAAiB7L,KAAuC,IAAhC6L,EAAiB7L,IAAIrc,QAChDwI,MAGD,CAAC0f,EAAiB7L,MAGrBpR,qBAAU,cAAU,CAACuP,EAAWkC,IAiBhC,OACE,kBAACkB,EAAA,EAAD,CACErV,KAAMA,EACNC,OAAQA,EACRC,kBAAgB,gCAGf+R,GAAa,kBAAC,IAAD,MAEd,kBAACoD,EAAA,EAAMlV,OAAP,CAAcmV,aAAW,GACvB,kBAACD,EAAA,EAAM9U,MAAP,CAAavR,GAAG,gCAAhB,qBAIF,kBAACqmB,EAAA,EAAMhV,KAAP,MACI4R,GACA,wFAEDA,GAAa,2DAEhB,kBAACoD,EAAA,EAAM/U,OAAP,KACE,6BACE,4BACE3O,KAAK,SACL0J,QAAS4E,EACTrR,UAAU,6BAHZ,UAOA,yCACA,4BACE+C,KAAK,SACL0J,QA/Cc,WAEtB8Y,EAAStB,EAAwB8M,EAAiB7L,MAAMtQ,MAAK,WAE3D2Q,EAAStB,EAAuB8M,EAAiBzL,cAAc1Q,MAC7D,WAEEmc,EAAiBtB,OAAO,IAExBpe,WAuCErR,UAAU,+BAHZ,aC3EV,IAAMoxB,GAAoB,SAACvN,EAAUqB,GACnC,IAAMmM,EAAa,GAOnB,OANAnM,EAAIhkB,SAAQ,SAACd,GACX,IAAMkhB,EAAWuC,EAASV,MAAK,SAAC6B,GAAD,OAAQA,EAAG5kB,KAAOA,KAC7CkhB,GACF+P,EAAWvoB,KAAKwY,MAGb+P,GAGF,SAASC,GAAT,GAAiD,IAAjBlgB,EAAgB,EAAhBA,KAAMC,EAAU,EAAVA,OAErCyf,EAAqB3B,KACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACL9L,IAAK4L,EAAmB5L,OAEzB,CAAC4L,IAGIvN,EAAcD,aACpB,SAAChE,GAAD,MAAY,CACViE,UAAW6N,GACT9R,EAAMiE,UAAUM,SAChBkN,EAAiB7L,QAGrBzB,KAPMF,UAkBR,OAPAzP,qBAAU,WACHid,EAAiB7L,KAAuC,IAAhC6L,EAAiB7L,IAAIrc,QAChDwI,MAGD,CAAC0f,EAAiB7L,MAGnB,kBAACuB,EAAA,EAAD,CACErV,KAAMA,EACNC,OAAQA,EACRC,kBAAgB,gCAEhB,kBAACmV,EAAA,EAAMlV,OAAP,CAAcmV,aAAW,GACvB,kBAACD,EAAA,EAAM9U,MAAP,CAAavR,GAAG,gCAAhB,4BAIF,kBAACqmB,EAAA,EAAMhV,KAAP,KACE,yBAAKzR,UAAU,4BACZujB,EAAUxf,KAAI,SAACud,GAAD,OACb,yBAAKthB,UAAU,kCAAkCsH,IAAG,YAAOga,EAASlhB,KAClE,yBAAKJ,UAAU,gFACf,yBAAKA,UAAU,kBACb,uBACEA,UAAS,gCACPsuB,EAAyBhN,EAASvM,QAD3B,gBAKb,yBAAK/U,UAAU,sCACb,0BACIA,UAAS,qCACPsuB,EAAyBhN,EAASvM,QAD3B,kBADb,OAKSuM,EAASlhB,IAElB,0BAAMJ,UAAU,QAAQshB,EAASmN,SAAjC,KAA6CnN,EAASoN,kBAMhE,kBAACjI,EAAA,EAAM/U,OAAP,KACE,6BACE,4BACE3O,KAAK,SACL0J,QAAS4E,EACTrR,UAAU,6BAHZ,UAOA,yCACA,4BACE+C,KAAK,SACL0J,QAAS4E,EACTrR,UAAU,+BAHZ,SCrFV,IAAMoxB,GAAoB,SAACvN,EAAUqB,GACnC,IAAMmM,EAAa,GAOnB,OANAnM,EAAIhkB,SAAQ,SAACd,GACX,IAAMkhB,EAAWuC,EAASV,MAAK,SAAC6B,GAAD,OAAQA,EAAG5kB,KAAOA,KAC7CkhB,GACF+P,EAAWvoB,KAAKwY,MAGb+P,GAGF,SAASE,GAAT,GAAuD,IAAjBngB,EAAgB,EAAhBA,KAAMC,EAAU,EAAVA,OAE3Cyf,EAAqB3B,KACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACL9L,IAAK4L,EAAmB5L,IACxBuK,OAAQqB,EAAmBrB,OAC3BnK,YAAawL,EAAmBxL,eAEjC,CAACwL,IAGJ,EAAiCxN,aAC/B,SAAChE,GAAD,MAAY,CACViE,UAAW6N,GACT9R,EAAMiE,UAAUM,SAChBkN,EAAiB7L,KAEnB7B,UAAW/D,EAAMiE,UAAUhC,kBAE7BkC,KARMF,EAAR,EAAQA,UAAWF,EAAnB,EAAmBA,UAYnBvP,qBAAU,WACHid,EAAiB7L,KAAuC,IAAhC6L,EAAiB7L,IAAIrc,QAChDwI,MAGD,CAAC0f,EAAiB7L,MAErB,MAA4BlY,mBAAS,GAArC,mBAAO+H,EAAP,KAAeyc,EAAf,KAEMjM,EAAW0L,cAkBjB,OACE,kBAACxK,EAAA,EAAD,CACErV,KAAMA,EACNC,OAAQA,EACRC,kBAAgB,gCAEhB,kBAACmV,EAAA,EAAMlV,OAAP,CAAcmV,aAAW,GACvB,kBAACD,EAAA,EAAM9U,MAAP,CAAavR,GAAG,gCAAhB,mDAIF,kBAACqmB,EAAA,EAAMhV,KAAP,CAAYzR,UAAU,yBAEnBqjB,GACC,yBAAKrjB,UAAU,iBACb,yBAAKA,UAAU,wCAKnB,yBAAKA,UAAU,4BACZujB,EAAUxf,KAAI,SAACud,GAAD,OACb,yBACEthB,UAAU,kCACVsH,IAAG,yBAAoBga,EAASlhB,KAEhC,yBAAKJ,UAAU,gFACf,yBAAKA,UAAU,kBACb,uBACEA,UAAS,gCACPsuB,EAAyBhN,EAASvM,QAD3B,gBAKb,yBAAK/U,UAAU,sCACb,0BACEA,UAAS,qCACPsuB,EAAyBhN,EAASvM,QAD3B,kBADX,OAKOuM,EAASlhB,IAEhB,0BAAMJ,UAAU,QACbshB,EAASmN,SADZ,KACwBnN,EAASoN,kBAO3C,kBAACjI,EAAA,EAAM/U,OAAP,CAAc1R,UAAU,QACtB,yBAAKA,UAAU,cACb,4BACEA,UAAU,eACVb,MAAO4V,EACP1F,SAAU,SAACC,GAAD,OAAOkiB,GAAWliB,EAAEM,OAAOzQ,SAErC,4BAAQA,MAAM,KAAd,aACA,4BAAQA,MAAM,KAAd,UACA,4BAAQA,MAAM,KAAd,aAGJ,yBAAKa,UAAU,cACb,4BACE+C,KAAK,SACL0J,QAAS4E,EACTrR,UAAU,kCAHZ,UAOA,4BACE+C,KAAK,SACL0J,QAzFW,WAEnB8Y,EAAStB,EAA8B8M,EAAiB7L,IAAKnQ,IAASH,MACpE,WAEE2Q,EAAStB,EAAuB8M,EAAiBzL,cAAc1Q,MAC7D,WAEEmc,EAAiBtB,OAAO,IAExBpe,WAgFArR,UAAU,+BAHZ,oB,+4MCzHV,IAAMyxB,GAAaC,aAAW,CAC5Brb,MAAO,CACLzC,OAAQ,sBAFO8d,EAIhB,SAAC3xB,GAAD,OACD,kBAACS,GAAA,EAAD,eACEmxB,UAAW,EACXC,mBAAoB,KACpBC,aAAc,CACZC,SAAU,SACVC,WAAY,UAEdC,gBAAiB,CACfF,SAAU,MACVC,WAAY,WAEVhyB,OAGFkyB,GAAiBP,cAAW,SAACxb,GAAD,MAAY,CAC5CC,KAAM,CACJ,UAAW,CACTyR,gBAAiB1R,EAAM4R,QAAQqD,QAAQ+G,KACvC,sDAAuD,CACrDnjB,MAAOmH,EAAM4R,QAAQqK,OAAOC,YALbV,CASnB1H,MACc/T,cAAW,SAACC,GAAD,MAAY,CACvCa,OAAQ,CACNC,OAAQd,EAAMK,QAAQ,IAExBU,SAAU,CACRC,YAAahB,EAAMK,QAAQ,IAE7BY,UAAW,CACTC,WAAYlB,EAAMK,QAAQ,IAE5Bc,UAAW,CACThT,SAAU,QAgBP,SAASguB,GAAT,GAA0C,EAAf7O,YAAgB,IAEhD,EAAsCxW,mBAAS,IAA/C,mBAAOslB,EAAP,KAAoBC,EAApB,KAEMzB,EAAqB3B,KACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACL1L,YAAawL,EAAmBxL,YAChCoK,eAAgBoB,EAAmBpB,kBAEpC,CAACoB,IAGE0B,EAAc,SAACtrB,GACnB,IAAMurB,EA3BY,SAACnN,EAAape,GAClC,IAAQyrB,EAA0CzrB,EAA1CyrB,YAAa5d,EAA6B7N,EAA7B6N,OAAc2d,GAAexrB,EAArBnE,KAAqBmE,EAAfwrB,YAC7BD,EAAc,gBAAQnN,GACtB/V,EAAS,GAOf,OANAA,EAAOqmB,SAAsB,KAAX7gB,EAA2B,SAAXA,OAAoBjP,EACtDyJ,EAAOojB,YAAcA,EACjBD,IACFnjB,EAAO1L,KAAO6uB,GAEhBD,EAAeljB,OAASA,EACjBkjB,EAiBkBG,CAAc7B,EAAiBzL,YAAape,GAC9D6oB,kBAAQ0C,EAAgB1B,EAAiBzL,eAC5CmN,EAAe1D,WAAa,EAE5BwD,EAAeE,GAEf1B,EAAiBrB,eAAe+C,KAc9BlyB,EAXY0V,cAAW,SAACC,GAAD,MAAY,CACvC0V,UAAW,CACTzE,QAAS,OACTG,SAAU,QAEZuE,UAAW,CACTzU,WAAYlB,EAAMK,QAAQ,GAC1BW,YAAahB,EAAMK,QAAQ,GAC3BH,MAAO,QAGKkB,GAChB,EAAgCoT,IAAM1d,SAAS,MAA/C,mBAAO6lB,EAAP,KAAiBC,EAAjB,KACA,SAASC,EAAY9e,GACnB6e,EAAY7e,EAAM+e,eAEpB,SAASC,IACPH,EAAY,MAxCiC,SA2ChCI,EA3CgC,iFA2C/C,WAA2BnwB,EAAMowB,GAAjC,iFACM5jB,EAAS+iB,GADf,uBAGI/iB,EAAOyf,SAAW,IAHtB,SAIyB1M,IAAMkD,KAAN,6BAAyC,CAC5DF,YAAa/V,IALnB,OAIUJ,EAJV,OAOIzO,aAAOyO,EAAO5M,KAAKshB,SAAU9gB,EAAMowB,GAPvC,wCASyB7Q,IAAMkD,KAAN,6BAAyC,CAC5DF,YAAa,CACX/V,OAAQ,CAAEqmB,SAAU,GAAIjD,YAAa,IACrC9D,UAAW,MACXC,UAAW,KACXC,WAAY,EACZC,SAAU,OAflB,QASU7f,EATV,OAkBIzO,aAAOyO,EAAO5M,KAAKshB,SAAU9gB,EAAMowB,GAlBvC,6CA3C+C,sBAgE/C,OACE,oCACE,kBAAC,IAAD,CACE3Q,cAAe,CACbzN,OAAQ,GACRhS,KAAM,GACN2vB,WAAY,GACZC,YAAa,IAEfjQ,SAAU,SAACxb,GACTsrB,EAAYtrB,MAGb,gBACCA,EADD,EACCA,OACA6b,EAFD,EAECA,aACAqQ,EAHD,EAGCA,WAEAlgB,GALD,EAICmgB,aAJD,EAKCngB,eALD,OAOC,0BAAMwP,SAAUK,EAAc/iB,UAAU,yBACtC,2BACE+C,KAAK,SACL/C,UAAU,SACVI,GAAG,gBACHqM,QAAS,SAAC6C,GACe,MAAnBA,EAAEM,OAAOzQ,MACXX,SAASsR,eAAe,iBAAiB3Q,MAAQ,EAC9CX,SAASsR,eAAe,iBAAiB3Q,MAAQ,EACtD+T,EAAc,cAAe5D,EAAEM,OAAOzQ,OACtC4jB,OAGJ,yBAAK/iB,UAAU,kBACb,yBAAKA,UAAU,aACb,kBAACuzB,GAAA,EAAD,CAAevzB,UAAU,gCACvB,kBAAC,KAAD,CACEoE,MAAO,CAAEwS,OAAQ,QACjB6c,gBAAc,kBACdC,gBAAc,OACdC,QAAQ,WACR5kB,MAAM,UACNtC,QAASsmB,GANX,YASE,kBAACa,EAAA,EAAD,CAAM5zB,UAAWO,EAAQ4W,WAAzB,SAEF,kBAACsa,GAAD,CACErxB,GAAG,kBACHyyB,SAAUA,EACVgB,aAAW,EACXC,KAAMC,QAAQlB,GACdmB,QAASf,GAET,kBAAChB,GAAD,CACExlB,QAAS,SAACwH,GACRif,EAAY,QAAS,gBAGvB,kBAACe,GAAA,EAAD,KACE,uBAAG9vB,MAAM,uBAEX,kBAAC+vB,GAAA,EAAD,CAAc/I,QAAQ,WAExB,kBAAC8G,GAAD,CACExlB,QAAS,SAACwH,GACRif,EAAY,MAAO,gBAGrB,kBAACe,GAAA,EAAD,KACE,uBAAG9vB,MAAM,qBAEX,kBAAC+vB,GAAA,EAAD,CAAc/I,QAAQ,SAExB,kBAAC8G,GAAD,CACExlB,QAAS,SAACwH,GACRif,EAAY,OAAQ,gBAGtB,kBAACe,GAAA,EAAD,KACE,uBAAG9vB,MAAM,sBAEX,kBAAC+vB,GAAA,EAAD,CAAc/I,QAAQ,cAOhC,yBAAKnrB,UAAU,kBACb,yBAAKA,UAAU,YACb,4BACEA,UAAU,eACVgG,KAAK,SACLoJ,YAAY,mBAEZC,SAAU,SAACC,GACT4D,EAAc,SAAU5D,EAAEM,OAAOzQ,OACjC4jB,KAEFuQ,OAAQF,EACRj0B,MAAO+H,EAAO6N,QAEd,4BAAQ5V,MAAM,IAAd,OACA,4BAAQA,MAAM,SAAd,YACA,4BAAQA,MAAM,QAAd,WAEF,2BAAOa,UAAU,wBACf,qCADF,eAKF,yBAAKA,UAAU,YACb,2BACE+C,KAAK,OACL/C,UAAU,eACVgG,KAAK,aACLoJ,YAAY,SACZkkB,OAAQF,EACRj0B,MAAO+H,EAAOwrB,WACdrjB,SAAU,SAACC,GACT4D,EAAc,aAAc5D,EAAEM,OAAOzQ,OACrC4jB,OAGJ,2BAAO/iB,UAAU,wBACf,qCADF,yB,oDCnQT,SAASm3B,GAAsB/C,EAAa5sB,GACjD,IAAM8mB,EAA2B,CAAC,UAAW,UAGzC8I,GAA4B,IAAjB5vB,EAAIouB,SAAoB,EAAI,EAK3C,OACE,0BAAM51B,UAHA,8BAAN,OAAqCsuB,EAAyB8I,GAA9D,kBAL2B,CAAC,SAAU,YASdA,I,wBCRrB,SAASjD,GACdC,EACA5sB,EACA6sB,EAHK,GAKJ,IADC9D,EACF,EADEA,uBAAwBC,EAC1B,EAD0BA,yBAE1B,OACE,oCACE,uBACEpR,MAAM,iBACNpf,UAAU,uDACVyM,QAAS,kBAAM8jB,EAAuB/oB,EAAIpH,MAE1C,0BAAMJ,UAAU,yCACd,kBAAC,KAAD,CACEwI,IAAKC,aAAc,gDAIzB,yCAEA,uBACE2W,MAAM,mBACNpf,UAAU,iDACVyM,QAAS,kBAAM+jB,EAAyBhpB,EAAIpH,MAE5C,0BAAMJ,UAAU,wCACd,kBAAC,KAAD,CAAKwI,IAAKC,aAAc,2CCX3B,SAAS6rB,KAEd,IAAMxD,EAAqB3B,KACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACL9L,IAAK4L,EAAmB5L,IACxBuK,OAAQqB,EAAmBrB,OAC3BnK,YAAawL,EAAmBxL,YAChCoK,eAAgBoB,EAAmBpB,eACnCa,uBAAwBO,EAAmBP,uBAC3CC,yBAA0BM,EAAmBN,4BAE9C,CAACM,IAGIyD,EAAiBjR,aACvB,SAAChE,GAAD,MAAY,CAAEiV,aAAcjV,EAAMiE,aAClCE,KAFM8Q,aAIA3Q,EAAyB2Q,EAAzB3Q,WAAYC,EAAa0Q,EAAb1Q,SAGd0B,EAAW0L,cACjBnd,qBAAU,WAERid,EAAiBtB,OAAO,IAExBlK,EAAStB,EAAuB8M,EAAiBzL,gBAEhD,CAACyL,EAAiBzL,YAAaC,IAGlC,IAAMpZ,EAAU,CACd,CACEC,UAAW,KACXnN,KAAM,KACNyN,MAAM,EACNC,UAAWA,KACXC,2BAEF,CACER,UAAW,OACXnN,KAAM,gBACNyN,MAAM,EACNC,UAAWA,KACXC,2BAEF,CACER,UAAW,WACXnN,KAAM,SACNyN,MAAM,EACNC,UAAWA,KACXN,UAAWmoB,GACX5nB,2BAEF,CACER,UAAW,WACXnN,KAAM,WACNyN,MAAM,EACNC,UAAWA,KACXC,2BAEF,CACER,UAAW,OACXnN,KAAM,OACNyN,MAAM,EACNC,UAAWA,KACXC,2BAEF,CACER,UAAW,QACXnN,KAAM,QACNyN,MAAM,EACNC,UAAWA,MAEb,CACEP,UAAW,SACXnN,KAAM,UACNoN,UAAWmoB,GACXC,gBAAiB,CACflE,uBAAwBQ,EAAiBR,uBACzCC,yBAA0BO,EAAiBP,0BAE7CjwB,QAAS,mBACTm0B,cAAe,mBACftwB,MAAO,CACLuS,SAAU,WAIhB,EAA8B3J,oBAAS,GAAvC,mBAAOgM,EAAP,KAAgB0tB,EAAhB,KACA5yB,qBAAU,WACR5N,YAAW,WACTwgC,GAAW,KACV,QAGL,IAAM/R,EAAoB,CACxBC,QAAQ,EACRC,UAAWjR,EACX2K,gBAAiBuG,GACjBC,YAAahE,EAAiBzL,YAAY0J,SAC1CgG,KAAMjE,EAAiBzL,YAAYyJ,YAErC,OACE,oCACE,kBAAC,sBAAD,CAAoBje,WAAYC,KAAkB4jB,KAC/C,YAAgD,IAA7CM,EAA4C,EAA5CA,gBAAiBC,EAA2B,EAA3BA,qBACnB,OACE,kBAAC,IAAD,CAAY7R,WAAYrK,EAASic,gBAAiBA,GAChD,kBAAC,KAAD,eACEjkB,eAAe,mBACfE,UAAU,EACV3Q,QAAQ,gDACR0Q,YAAU,EACVkkB,QAAM,EACNxkB,SAAS,KACTpO,KAAMyW,EAAwB,OAAb6K,EAAoB,GAAKA,EAAY,GACtD1X,QAASA,EACTyE,cAAekkB,EACfM,cAAeC,aACbtE,EAAiBrB,iBAEfwF,GAEJ,kBAAC,KAAD,CAAmBrR,SAAUA,IAC7B,kBAAC,KAAD,CAAuBA,SAAUA,UClJ1C,SAASyR,KAEd,IAAMxE,EAAqB3B,KACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACL9L,IAAK4L,EAAmB5L,IACxBuK,OAAQqB,EAAmBrB,OAC3BgB,0BAA2BK,EAAmBL,0BAC9CC,yBAA0BI,EAAmBJ,yBAC7CC,gCACEG,EAAmBH,mCAEtB,CAACG,IAEJ,OACE,yBAAK9wB,UAAU,QACb,yBAAKA,UAAU,4EACb,yBAAKA,UAAU,aACb,yBAAKA,UAAU,gCACb,yBAAKA,UAAU,iCACb,2BAAOA,UAAU,yBACf,yDAC0B,2BAAI+wB,EAAiB7L,IAAIrc,WAIvD,6BACE,4BACE9F,KAAK,SACL/C,UAAU,iDACVyM,QAASskB,EAAiBN,2BAE1B,uBAAGzwB,UAAU,gBALf,eADF,Y,aChBL,SAASu1B,KACd,IAAMzE,EAAqB3B,KACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACL9L,IAAK4L,EAAmB5L,IACxBoL,uBAAwBQ,EAAmBR,0BAE5C,CAACQ,IAEJ,OACE,oCACC,kBAACqQ,GAAA,EAAD,KACG,6DACA,0BAAMn7B,KAAK,cAAc4a,QAAQ,iCAErC,kBAAC,IAAD,KACE,kBAAC,IAAD,CAAYxB,MAAM,mBAChB,kBAAC,IAAD,KACE,4BACErc,KAAK,SACL/C,UAAU,kBACVyM,QAASskB,EAAiBT,wBAH5B,mBASJ,kBAAC,IAAD,KACE,kBAAC+B,GAAD,MACCtB,EAAiB7L,IAAIrc,OAAS,GAAK,kBAACysB,GAAD,MACpC,kBAAChB,GAAD,SChCD,SAASqS,GAAT,GAAuC,IAAZlR,EAAW,EAAXA,QAC1BlG,EAAoB,CACxBe,uBAAwB,WACtBmF,EAAQ3sB,KAAK,yBAEfynB,uBAAwB,SAACnwB,GACvBq1B,EAAQ3sB,KAAR,2BAAiC1I,EAAjC,WAEFowB,yBAA0B,SAACpwB,GACzBq1B,EAAQ3sB,KAAR,2BAAiC1I,EAAjC,aAEFqwB,0BAA2B,WACzBgF,EAAQ3sB,KAAR,qCAEF4nB,yBAA0B,WACxB+E,EAAQ3sB,KAAR,2BAEF6nB,gCAAiC,WAC/B8E,EAAQ3sB,KAAK,mCAIjB,OACE,kBAACwmB,GAAD,CAAqBC,kBAAmBA,GACtC,kBAACnM,EAAD,MACA,kBAAC,IAAD,CAAOnV,KAAK,yBACT,gBAAGwnB,EAAH,EAAGA,QAAS1pB,EAAZ,EAAYA,MAAZ,OACC,kBAAC8kB,GAAD,CACEzf,KAAe,MAATrF,EACNsF,OAAQ,WACNokB,EAAQ3sB,KAAK,0BAKrB,kBAAC,IAAD,CAAOmF,KAAK,8BACT,gBAAGwnB,EAAH,EAAGA,QAAS1pB,EAAZ,EAAYA,MAAZ,OACC,kBAAC8kB,GAAD,CACEzf,KAAe,MAATrF,EACN3L,GAAI2L,GAASA,EAAM2pB,OAAOt1B,GAC1BiR,OAAQ,WACNokB,EAAQ3sB,KAAK,0BAKrB,kBAAC,IAAD,CAAOmF,KAAK,qCACT,gBAAGwnB,EAAH,EAAGA,QAAS1pB,EAAZ,EAAYA,MAAZ,OACC,kBAAColB,GAAD,CACE/f,KAAe,MAATrF,EACNsF,OAAQ,WACNokB,EAAQ3sB,KAAK,0BAKrB,kBAAC,IAAD,CAAOmF,KAAK,gCACT,gBAAGwnB,EAAH,EAAGA,QAAS1pB,EAAZ,EAAYA,MAAZ,OACC,kBAACmlB,GAAD,CACE9f,KAAe,MAATrF,EACN3L,GAAI2L,GAASA,EAAM2pB,OAAOt1B,GAC1BiR,OAAQ,WACNokB,EAAQ3sB,KAAK,0BAKrB,kBAAC,IAAD,CAAOmF,KAAK,2BACT,gBAAGwnB,EAAH,EAAGA,QAAS1pB,EAAZ,EAAYA,MAAZ,OACC,kBAACulB,GAAD,CACElgB,KAAe,MAATrF,EACNsF,OAAQ,WACNokB,EAAQ3sB,KAAK,0BAKrB,kBAAC,IAAD,CAAOmF,KAAK,kCACT,gBAAGwnB,EAAH,EAAGA,QAAS1pB,EAAZ,EAAYA,MAAZ,OACC,kBAACwlB,GAAD,CACEngB,KAAe,MAATrF,EACNsF,OAAQ,WACNokB,EAAQ3sB,KAAK,0BAKrB,kBAACysB,GAAD,OAlGN,oC,6ECIO,SAASnS,IAEd,IAAQC,EAAcC,aACpB,SAAChE,GAAD,MAAY,CAAE+D,UAAW/D,EAAMiE,UAAUC,eACzCC,KAFMJ,UAMR,OADAvP,qBAAU,cAAU,CAACuP,IACd,kBAAC,IAAD,CAAeA,UAAWA,EAAWpkB,KAAK,gB,4BCP5C,SAASonB,EAAT,GAA2C,IAAPjmB,EAAM,EAANA,GAEzC,EAA4CkjB,aAC1C,SAAChE,GAAD,MAAY,CACVwE,gBAAiBxE,EAAMiE,UAAUO,gBACjCvC,eAAgBjC,EAAMiE,UAAUhC,kBAElCkC,KALMK,EAAR,EAAQA,gBAAiBvC,EAAzB,EAAyBA,eAQzB,EAA0BvU,mBAAS,IAAnC,mBAAOoS,EAAP,KAAckH,EAAd,KAYA,OAVAxS,qBAAU,WACR,IAAIyS,EAASnmB,EAAK,GAAK,oBACnB0jB,GAAmB1jB,IACrBmmB,EAAM,wBAAoBzC,EAAgB4K,UAApC,YAAiD5K,EAAgB2K,SAAjE,MAGRnI,EAASC,KAER,CAACzC,EAAiBvC,IAGnB,oCACGA,GAAkB,kBAAC,IAAD,MACnB,kBAACkF,EAAA,EAAMlV,OAAP,CAAcmV,aAAW,GACvB,kBAACD,EAAA,EAAM9U,MAAP,CAAavR,GAAG,gCAAgCgf,K,2CCrBlD9H,EAAYrB,aAAW,SAACC,GAAD,MAAY,CACvC0V,UAAW,CACTzE,QAAS,OACTG,SAAU,QAEZuE,UAAW,CACTzU,WAAYlB,EAAMK,QAAQ,GAC1BW,YAAahB,EAAMK,QAAQ,IAE7B4hB,MAAO,CACL7hB,UAAWJ,EAAMK,QAAQ,IAE3B6hB,KAAM,CACJhiB,MAAO,SAGX,SAASyI,EAAW7Y,EAAMgwB,EAAQ4Q,EAAO3Q,EAAQ7f,GAC/C,OAAO,aAAEpQ,OAAMgwB,SAAQ5f,QAAO6f,UAA9B,QAAsC7f,GAUxC,IAAMlS,EAAe,WACnB,OACE,uBACEC,MAAM,6CACNC,MAAO,CAAEC,SAAU,MAAOC,SAAU,eAI5Bua,EAAW,eAAgBA,EAAW,UAC7C,SAASuC,EAAT,GAKH,IAJFC,EAIC,EAJDA,aACAC,EAGC,EAHDA,SACAC,EAEC,EAFDA,eACAlQ,EACC,EADDA,OAGA,GADgBiG,IACYoT,IAAM1d,SAAS,CACzChH,KAAM,GACN07B,IAAK,GACLC,UAAW,aACXC,SAAU,SAJZ,mBAMA,GANA,UAM0BlX,IAAM1d,SAAS,WAAzC,6BAaA,OATA8G,qBAAU,WACR,IAAImK,EAAcqD,EAASrD,cAAe,EACtCA,GAnCR,SAA0B7d,EAAIjB,GAC5B,IAAIgR,EAAU3R,SAASsR,eAAe1P,GACvB,MAAX+P,GACFjK,YAAW,WACTiK,EAAQhR,MAAQA,IACf,KA+BDo3B,CAAiB,gBAAiBtY,IAEV,IAAtBqD,EAASulB,WACXroC,SAASsR,eAAe,cAAcgnB,SAAU,KAEjD,CAACxV,IAEF,oCACE,kBAAC,IAAD,CACEiB,oBAAoB,EACpBC,cAAelB,EACfoB,SAAU,SAACxb,GACT,GAA2B,KAAvBA,EAAO+W,YAET,OADAre,YAAa,QAAS,6BACf,EAETyhB,EAAana,MAGd,gBAAG6b,EAAH,EAAGA,aAAc7P,EAAjB,EAAiBA,cAAjB,OACC,oCACE,kBAACuT,EAAA,EAAMhV,KAAP,KACG8P,GACC,yBAAKvhB,UAAU,gCACb,yBAAKA,UAAU,wCAGnB,kBAAC,IAAD,CAAMA,UAAU,yBACd,yBAAKA,UAAU,kBACb,yBAAKA,UAAU,YACb,kBAAC,IAAD,CACEgG,KAAK,OACL0I,UAAW2f,IACXjf,YAAY,OACZ5L,MAAM,OACNoP,UAAU,KAGd,yBAAK5S,UAAU,YACb,kBAAC,IAAD,CACEgG,KAAK,OACL0I,UAAW2f,IACXjf,YAAY,OACZ5L,MAAM,UAGV,yBAAKxD,UAAU,8BACb,kBAAC,IAAD,CACEwD,MAAM,IACNvE,KAAK,uBACL+G,KAAK,WACL5F,GAAG,aACHiP,SAAU,SAAC4E,GACTf,EAAc,WAAYe,EAAMrE,OAAOknB,aAI7C,yBAAK92B,UAAU,kBACb,8CACc,kBAAC,EAAD,OAEd,8BACEmE,MAAM,eACN/D,GAAG,gBACH6a,KAAK,IACLjV,KAAK,cACLqJ,SAAU,SAAC4E,GACTf,EAAc,cAAee,EAAMrE,OAAOzQ,cAOtD,kBAACsnB,EAAA,EAAM/U,OAAP,KACE,4BACE3O,KAAK,SACL0J,QAAS4E,EACTrR,UAAU,6BAHZ,UAOA,yCACA,4BACE+C,KAAK,SACL0J,QAAS,kBAAMsW,KACf/iB,UAAU,+BAHZ,c,YCrJDsuB,EAA2B,CAAC,SAAU,UAAW,OAAQ,IAIzD1d,EAAgB,CAAC,CAAExE,UAAW,KAAMyE,MAAO,SAC3C0d,EAAkB,CAC7B,CAAEtvB,KAAM,IAAKE,MAAO,GACpB,CAAEF,KAAM,IAAKE,MAAO,GACpB,CAAEF,KAAM,KAAME,MAAO,KAEVqvB,EAAgB,CAC3Bjf,OAAQ,CACNkf,SAAU,GACVC,UAAW,GACXC,MAAO,GACPC,UAAW,IAEbC,UAAW,MACXC,UAAW,KACXC,WAAY,EACZC,SAAU,IChBNC,EAAqBC,0BAEpB,SAASC,IACd,OAAOC,qBAAWH,GAGeA,EAAmBI,SAE/C,SAASC,EAAT,GAA+D,IAAhCC,EAA+B,EAA/BA,kBAAmB7G,EAAY,EAAZA,SACvD,EAA0C1b,mBAASwhB,GAAnD,mBAAOlJ,EAAP,KAAoBkK,EAApB,KACA,EAAsBxiB,mBAAS,IAA/B,mBAAOkY,EAAP,KAAYuK,EAAZ,KACMC,EAAiBC,uBAAY,SAACC,GAClCJ,GAAmB,SAACK,GAKlB,OAJIC,qBAAWF,KACbA,EAAkBA,EAAgBC,IAGhCE,kBAAQF,EAAiBD,GACpBC,EAGFD,OAER,IAUGzwB,EAAQ,CACZmmB,cACAkK,qBACAtK,MACAuK,SACAC,iBACAM,aAdmB,CACnB5vB,QAAI0F,EACJ4wB,QAAS,GACToQ,KAAM,GACND,UAAU,EACV5oB,YAAa,IAUbqS,uBAAwBf,EAAkBe,uBAC1CC,uBAAwBhB,EAAkBgB,uBAC1CC,yBAA0BjB,EAAkBiB,yBAC5CC,0BAA2BlB,EAAkBkB,0BAC7CC,yBAA0BnB,EAAkBmB,yBAC5CC,gCACEpB,EAAkBoB,iCAGtB,OACE,kBAAC1B,EAAmB2B,SAApB,CAA6BzxB,MAAOA,GACjCupB,GC/CA,SAASmI,EAAT,GAAmD,IAArBzwB,EAAoB,EAApBA,GAAIgR,EAAgB,EAAhBA,KAAMC,EAAU,EAAVA,OAEvCyf,EAAqB3B,IACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACLhB,aAAcc,EAAmBd,gBAElC,CAACc,IAGEvL,EAAW0L,cACjB,EAA4C3N,aAC1C,SAAChE,GAAD,MAAY,CACViC,eAAgBjC,EAAMiE,UAAUhC,eAChCuC,gBAAiBxE,EAAMiE,UAAUO,mBAEnCL,KALMlC,EAAR,EAAQA,eAAgBuC,EAAxB,EAAwBA,gBAQxBhQ,qBAAU,WAERyR,EAAStB,IAAsB7jB,MAC9B,CAACA,EAAImlB,IAmBR,OACE,kBAACkB,EAAA,EAAD,CACEtV,KAAK,KACLC,KAAMA,EACNC,OAAQA,EACRC,kBAAgB,gCAEhB,kBAAC+U,EAAD,CAA0BjmB,GAAIA,IAC9B,kBAACghB,EAAD,CACEC,aAzBe,SAACC,GACflhB,EAQHmlB,EAAStB,IAAuB3C,IAAW1M,MAAK,WAC9CvD,IACA7S,SAASsR,eAAe,iBAAiBinB,WAR3CxR,EAAStB,IAAuB3C,IAAW1M,MAAK,WAC9CvD,IACA7S,SAASsR,eAAe,iBAAiBinB,YAqBzCxV,eAAgBA,EAChBD,SAAUwC,GAAmBiN,EAAiBf,aAC9C3e,OAAQA,KCtDT,SAAS6f,EAAT,GAAqD,IAArB9wB,EAAoB,EAApBA,GAAIgR,EAAgB,EAAhBA,KAAMC,EAAU,EAAVA,OAEzCyf,EAAqB3B,IACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACLvB,OAAQqB,EAAmBrB,OAC3BnK,YAAawL,EAAmBxL,eAEjC,CAACwL,IAGEvL,EAAW0L,cACT5N,EAAcC,aACpB,SAAChE,GAAD,MAAY,CAAE+D,UAAW/D,EAAMiE,UAAUhC,kBACzCkC,KAFMJ,UAMRvP,qBAAU,WACH1T,GACHiR,MAGD,CAACjR,IAGJ0T,qBAAU,cAAU,CAACuP,EAAWkC,IAchC,OACE,kBAACkB,EAAA,EAAD,CACErV,KAAMA,EACNC,OAAQA,EACRC,kBAAgB,gCAGf+R,GAAa,kBAAC,IAAD,MAEd,kBAACoD,EAAA,EAAMlV,OAAP,CAAcmV,aAAW,GACvB,kBAACD,EAAA,EAAM9U,MAAP,CAAavR,GAAG,gCAAhB,mBAIF,kBAACqmB,EAAA,EAAMhV,KAAP,MACI4R,GACA,kFAEDA,GAAa,yDAEhB,kBAACoD,EAAA,EAAM/U,OAAP,KACE,6BACE,4BACE3O,KAAK,SACL0J,QAAS4E,EACTrR,UAAU,6BAHZ,UAOA,yCACA,4BACE+C,KAAK,SACL0J,QA5Ca,WAErB8Y,EAAStB,IAAuB7jB,IAAKwU,MAAK,WAExC2Q,EAAStB,IAAuB8M,EAAiBzL,cAEjDyL,EAAiBtB,OAAO,IAExBpe,QAqCMrR,UAAU,8BAHZ,aCtEH,SAASmxB,EAAT,GAAkD,IAAjB/f,EAAgB,EAAhBA,KAAMC,EAAU,EAAVA,OAEtCyf,EAAqB3B,IACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACL9L,IAAK4L,EAAmB5L,IACxBuK,OAAQqB,EAAmBrB,OAC3BnK,YAAawL,EAAmBxL,eAEjC,CAACwL,IAGEvL,EAAW0L,cACT5N,EAAcC,aACpB,SAAChE,GAAD,MAAY,CAAE+D,UAAW/D,EAAMiE,UAAUhC,kBACzCkC,KAFMJ,UAMRvP,qBAAU,WACHid,EAAiB7L,KAAuC,IAAhC6L,EAAiB7L,IAAIrc,QAChDwI,MAGD,CAAC0f,EAAiB7L,MAGrBpR,qBAAU,cAAU,CAACuP,EAAWkC,IAiBhC,OACE,kBAACkB,EAAA,EAAD,CACErV,KAAMA,EACNC,OAAQA,EACRC,kBAAgB,gCAGf+R,GAAa,kBAAC,IAAD,MAEd,kBAACoD,EAAA,EAAMlV,OAAP,CAAcmV,aAAW,GACvB,kBAACD,EAAA,EAAM9U,MAAP,CAAavR,GAAG,gCAAhB,qBAIF,kBAACqmB,EAAA,EAAMhV,KAAP,MACI4R,GACA,wFAEDA,GAAa,2DAEhB,kBAACoD,EAAA,EAAM/U,OAAP,KACE,6BACE,4BACE3O,KAAK,SACL0J,QAAS4E,EACTrR,UAAU,6BAHZ,UAOA,yCACA,4BACE+C,KAAK,SACL0J,QA/Cc,WAEtB8Y,EAAStB,IAAwB8M,EAAiB7L,MAAMtQ,MAAK,WAE3D2Q,EAAStB,IAAuB8M,EAAiBzL,cAAc1Q,MAC7D,WAEEmc,EAAiBtB,OAAO,IAExBpe,WAuCErR,UAAU,+BAHZ,aC3EV,IAAMoxB,EAAoB,SAACvN,EAAUqB,GACnC,IAAMmM,EAAa,GAOnB,OANAnM,EAAIhkB,SAAQ,SAACd,GACX,IAAMkhB,EAAWuC,EAASV,MAAK,SAAC6B,GAAD,OAAQA,EAAG5kB,KAAOA,KAC7CkhB,GACF+P,EAAWvoB,KAAKwY,MAGb+P,GAGF,SAASC,EAAT,GAAiD,IAAjBlgB,EAAgB,EAAhBA,KAAMC,EAAU,EAAVA,OAErCyf,EAAqB3B,IACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACL9L,IAAK4L,EAAmB5L,OAEzB,CAAC4L,IAGIvN,EAAcD,aACpB,SAAChE,GAAD,MAAY,CACViE,UAAW6N,EACT9R,EAAMiE,UAAUM,SAChBkN,EAAiB7L,QAGrBzB,KAPMF,UAkBR,OAPAzP,qBAAU,WACHid,EAAiB7L,KAAuC,IAAhC6L,EAAiB7L,IAAIrc,QAChDwI,MAGD,CAAC0f,EAAiB7L,MAGnB,kBAACuB,EAAA,EAAD,CACErV,KAAMA,EACNC,OAAQA,EACRC,kBAAgB,gCAEhB,kBAACmV,EAAA,EAAMlV,OAAP,CAAcmV,aAAW,GACvB,kBAACD,EAAA,EAAM9U,MAAP,CAAavR,GAAG,gCAAhB,4BAIF,kBAACqmB,EAAA,EAAMhV,KAAP,KACE,yBAAKzR,UAAU,4BACZujB,EAAUxf,KAAI,SAACud,GAAD,OACb,yBAAKthB,UAAU,kCAAkCsH,IAAG,YAAOga,EAASlhB,KAClE,yBAAKJ,UAAU,gFACf,yBAAKA,UAAU,kBACb,uBACEA,UAAS,gCACPsuB,EAAyBhN,EAASvM,QAD3B,gBAKb,yBAAK/U,UAAU,sCACb,0BACIA,UAAS,qCACPsuB,EAAyBhN,EAASvM,QAD3B,kBADb,OAKSuM,EAASlhB,IAElB,0BAAMJ,UAAU,QAAQshB,EAASmN,SAAjC,KAA6CnN,EAASoN,kBAMhE,kBAACjI,EAAA,EAAM/U,OAAP,KACE,6BACE,4BACE3O,KAAK,SACL0J,QAAS4E,EACTrR,UAAU,6BAHZ,UAOA,yCACA,4BACE+C,KAAK,SACL0J,QAAS4E,EACTrR,UAAU,+BAHZ,SCrFV,IAAMoxB,EAAoB,SAACvN,EAAUqB,GACnC,IAAMmM,EAAa,GAOnB,OANAnM,EAAIhkB,SAAQ,SAACd,GACX,IAAMkhB,EAAWuC,EAASV,MAAK,SAAC6B,GAAD,OAAQA,EAAG5kB,KAAOA,KAC7CkhB,GACF+P,EAAWvoB,KAAKwY,MAGb+P,GAGF,SAASE,EAAT,GAAuD,IAAjBngB,EAAgB,EAAhBA,KAAMC,EAAU,EAAVA,OAE3Cyf,EAAqB3B,IACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACL9L,IAAK4L,EAAmB5L,IACxBuK,OAAQqB,EAAmBrB,OAC3BnK,YAAawL,EAAmBxL,eAEjC,CAACwL,IAGJ,EAAiCxN,aAC/B,SAAChE,GAAD,MAAY,CACViE,UAAW6N,EACT9R,EAAMiE,UAAUM,SAChBkN,EAAiB7L,KAEnB7B,UAAW/D,EAAMiE,UAAUhC,kBAE7BkC,KARMF,EAAR,EAAQA,UAAWF,EAAnB,EAAmBA,UAYnBvP,qBAAU,WACHid,EAAiB7L,KAAuC,IAAhC6L,EAAiB7L,IAAIrc,QAChDwI,MAGD,CAAC0f,EAAiB7L,MAErB,MAA4BlY,mBAAS,GAArC,mBAAO+H,EAAP,KAAeyc,EAAf,KAEMjM,EAAW0L,cAkBjB,OACE,kBAACxK,EAAA,EAAD,CACErV,KAAMA,EACNC,OAAQA,EACRC,kBAAgB,gCAEhB,kBAACmV,EAAA,EAAMlV,OAAP,CAAcmV,aAAW,GACvB,kBAACD,EAAA,EAAM9U,MAAP,CAAavR,GAAG,gCAAhB,8CAIF,kBAACqmB,EAAA,EAAMhV,KAAP,CAAYzR,UAAU,yBAEnBqjB,GACC,yBAAKrjB,UAAU,iBACb,yBAAKA,UAAU,wCAKnB,yBAAKA,UAAU,4BACZujB,EAAUxf,KAAI,SAACud,GAAD,OACb,yBACEthB,UAAU,kCACVsH,IAAG,yBAAoBga,EAASlhB,KAEhC,yBAAKJ,UAAU,gFACf,yBAAKA,UAAU,kBACb,uBACEA,UAAS,gCACPsuB,EAAyBhN,EAASvM,QAD3B,gBAKb,yBAAK/U,UAAU,sCACb,0BACEA,UAAS,qCACPsuB,EAAyBhN,EAASvM,QAD3B,kBADX,OAKOuM,EAASlhB,IAEhB,0BAAMJ,UAAU,QACbshB,EAASmN,SADZ,KACwBnN,EAASoN,kBAO3C,kBAACjI,EAAA,EAAM/U,OAAP,CAAc1R,UAAU,QACtB,yBAAKA,UAAU,cACb,4BACEA,UAAU,eACVb,MAAO4V,EACP1F,SAAU,SAACC,GAAD,OAAOkiB,GAAWliB,EAAEM,OAAOzQ,SAErC,4BAAQA,MAAM,KAAd,YACA,4BAAQA,MAAM,KAAd,YAGJ,yBAAKa,UAAU,cACb,4BACE+C,KAAK,SACL0J,QAAS4E,EACTrR,UAAU,kCAHZ,UAOA,4BACE+C,KAAK,SACL0J,QAxFW,WAEnB8Y,EAAStB,IAA8B8M,EAAiB7L,IAAKnQ,IAASH,MACpE,WAEE2Q,EAAStB,IAAuB8M,EAAiBzL,cAAc1Q,MAC7D,WAEEmc,EAAiBtB,OAAO,IAExBpe,WA+EArR,UAAU,+BAHZ,oB,o5MCtHV,IAAMyxB,EAAaC,YAAW,CAC5Brb,MAAO,CACLzC,OAAQ,sBAFO8d,EAIhB,SAAA3xB,GAAK,OACN,kBAACS,EAAA,EAAD,eACEmxB,UAAW,EACXC,mBAAoB,KACpBC,aAAc,CACZC,SAAU,SACVC,WAAY,UAEdC,gBAAiB,CACfF,SAAU,MACVC,WAAY,WAEVhyB,OAGFkyB,EAAiBP,aAAW,SAAAxb,GAAK,MAAK,CAC1CC,KAAM,CACJ,UAAW,CACTyR,gBAAiB1R,EAAM4R,QAAQqD,QAAQ+G,KACvC,sDAAuD,CACrDnjB,MAAOmH,EAAM4R,QAAQqK,OAAOC,YALbV,CASnB1H,KACc/T,aAAW,SAAAC,GAAK,MAAK,CACrCa,OAAQ,CACNC,OAAQd,EAAMK,QAAQ,IAExBU,SAAU,CACRC,YAAahB,EAAMK,QAAQ,IAE7BY,UAAW,CACTC,WAAYlB,EAAMK,QAAQ,IAE5Bc,UAAW,CACThT,SAAU,QAaP,SAASguB,EAAT,GAA0C,EAAf7O,YAAgB,IAEhD,EAAsCxW,mBAAS,IAA/C,mBAAOslB,EAAP,KAAoBC,EAApB,KAEMzB,EAAqB3B,IACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACL1L,YAAawL,EAAmBxL,YAChCoK,eAAgBoB,EAAmBpB,kBAEpC,CAACoB,IAGE0B,EAAc,SAACtrB,GACnB,IAAMurB,EAxBY,SAACnN,EAAape,GAClC,IAAQ8vB,EAA8B9vB,EAA9B8vB,aAAcrE,EAAgBzrB,EAAhByrB,YAChBF,EAAc,eAAQnN,GACtB/V,EAAS,GAIf,OAHAA,EAAOojB,YAAcA,IAAe,EACpCpjB,EAAOynB,aAAeA,EACtBvE,EAAeljB,OAASA,EACjBkjB,EAiBkBG,CAAc7B,EAAiBzL,YAAape,GAC9D6oB,kBAAQ0C,EAAgB1B,EAAiBzL,eAC5CmN,EAAe1D,WAAa,EAE5BwD,EAAeE,GAEf1B,EAAiBrB,eAAe+C,KAc9BlyB,EAXY0V,aAAW,SAAAC,GAAK,MAAK,CACrC0V,UAAW,CACTzE,QAAS,OACTG,SAAU,QAEZuE,UAAW,CACTzU,WAAYlB,EAAMK,QAAQ,GAC1BW,YAAahB,EAAMK,QAAQ,GAC3BH,MAAO,QAGKkB,GAChB,EAAgCoT,IAAM1d,SAAS,MAA/C,mBAAO6lB,EAAP,KAAiBC,EAAjB,KACA,SAASC,EAAY9e,GACnB6e,EAAY7e,EAAM+e,eAEpB,SAASC,IACPH,EAAY,MAxCiC,SA2ChCI,EA3CgC,gFA2C/C,WAA2BnwB,EAAMowB,GAAjC,gFACM5jB,EAAS+iB,GADf,uBAGI/iB,EAAOyf,SAAS,IAHpB,SAIyB1M,IAAMkD,KAAN,sBAAkC,CAAE,YAAejW,IAJ5E,OAIUJ,EAJV,OAKIzO,YAAOyO,EAAO5M,KAAKshB,SAAU9gB,EAAMowB,GALvC,wCAOyB7Q,IAAMkD,KAAN,sBAAkC,CAAE,YAAe,CAAE,OAAU,CAAE,cAAgB,EAAM,aAAe,GAAQ,UAAa,MAAO,UAAa,KAAM,WAAc,EAAG,SAAY,OAP3M,QAOUrW,EAPV,OAQIzO,YAAOyO,EAAO5M,KAAKshB,SAAU9gB,EAAMowB,GARvC,6CA3C+C,sBAsD/C,OACE,oCACE,kBAAC,IAAD,CACE3Q,cAAe,CACbwU,cAAc,EACdrE,YAAa,GAEfjQ,SAAU,SAACxb,GACTsrB,EAAYtrB,MAGb,cACCA,OADD,IAEC6b,EAFD,EAECA,aAGA7P,GALD,EAGCkgB,WAHD,EAICC,aAJD,EAKCngB,eALD,OAOG,0BAAMwP,SAAUK,EAAc/iB,UAAU,yBAEtC,yBAAKA,UAAU,kBAEb,yBAAKA,UAAU,YACf,kBAAC,IAAD,CACEwD,MAAM,IACNvE,KAAK,yBACL+G,KAAK,eACL5F,GAAG,eACHiP,SAAU,SAAC4E,GACTf,EAAc,eAAgBe,EAAMrE,OAAOknB,SAC3C/T,OAGF,2BACEhgB,KAAK,SACL/C,UAAU,SACVI,GAAG,gBACHqM,QAAS,SAAC6C,GACc,KAAlBA,EAAEM,OAAOzQ,MACXX,SAASsR,eAAe,iBAAiB3Q,MAAQ,EAC9CX,SAASsR,eAAe,iBAAiB3Q,MAAQ,EACtD+T,EAAc,cAAe5D,EAAEM,OAAOzQ,OACtC4jB,QAIN,yBAAK/iB,UAAU,YACb,kBAACuzB,EAAA,EAAD,CAAevzB,UAAU,gCACvB,kBAACwzB,EAAA,EAAD,CAAQpvB,MAAO,CAAEwS,OAAQ,QAEvB6c,gBAAc,kBACdC,gBAAc,OACdC,QAAQ,WAAW5kB,MAAM,UACzBtC,QAASsmB,GALX,YAQgC,kBAACa,EAAA,EAAD,CAAM5zB,UAAWO,EAAQ4W,WAAzB,SAGhC,kBAACsa,EAAD,CACErxB,GAAG,kBACHyyB,SAAUA,EACVgB,aAAW,EACXC,KAAMC,QAAQlB,GACdmB,QAASf,GAET,kBAAChB,EAAD,CAAgBxlB,QAAS,SAACwH,GACxBif,EAAY,QAAS,eAGrB,kBAACe,EAAA,EAAD,KACE,uBAAG9vB,MAAM,uBAEX,kBAAC+vB,EAAA,EAAD,CAAc/I,QAAQ,WAGxB,kBAAC8G,EAAD,CAAgBxlB,QAAS,SAACwH,GACxBif,EAAY,MAAO,eAEnB,kBAACe,EAAA,EAAD,KACE,uBAAG9vB,MAAM,qBAEX,kBAAC+vB,EAAA,EAAD,CAAc/I,QAAQ,SAGxB,kBAAC8G,EAAD,CAAgBxlB,QAAS,SAACwH,GACxBif,EAAY,OAAQ,eAEpB,kBAACe,EAAA,EAAD,KACE,uBAAG9vB,MAAM,sBAGX,kBAAC+vB,EAAA,EAAD,CAAc/I,QAAQ,mB,61MCxNvC,SAASgM,GAAsB/C,EAAa5sB,GACjD,IAAM8mB,EAA2B,CAAC,UAAW,UAGzC8I,EAAW5vB,EAAI6vB,OAAS,EAAI,EAmBhC,OACE,0BACEr3B,UAlBI,8BAAN,OAAqCsuB,EAAyB8I,GAA9D,iBAmBE3qB,QAjBkB,SAACwH,GACrB,IAAM1K,EAAiC,WAA7B0K,EAAMrE,OAAOjR,YACvB0V,MAAM,GAAD,OAAIxP,OAAOyP,QAAX,iCAA2C9M,EAAIpH,GAA/C,mBAA4DmJ,IAC9DqL,KADH,wCACQ,WAAOC,GAAP,2FACGA,GADH,2CADR,uDAIGD,MAAK,SAACM,GACL1W,SAASsR,eAAe,iBAAiBinB,QACzCn3B,YAAa,UAAW,cAEzBuV,OAAM,SAAC5K,GACNnH,QAAQmH,MAAMA,OAOhBnG,MAAO,CAAEqzB,OAAQ,YAzBQ,CAAC,SAAU,YA2BdL,I,wBCzBrB,SAASjD,GACdC,EACA5sB,EACA6sB,EAHK,GAKJ,IADC9D,EACF,EADEA,uBAAwBC,EAC1B,EAD0BA,yBAE1B,OACE,oCACE,uBACEpR,MAAM,gBACNpf,UAAU,uDACVyM,QAAS,kBAAM8jB,EAAuB/oB,EAAIpH,MAE1C,0BAAMJ,UAAU,yCACd,kBAAC,KAAD,CACEwI,IAAKC,aAAc,gDAIzB,yCAEA,uBACE2W,MAAM,kBACNpf,UAAU,iDACVyM,QAAS,kBAAM+jB,EAAyBhpB,EAAIpH,MAE5C,0BAAMJ,UAAU,wCACd,kBAAC,KAAD,CAAKwI,IAAKC,aAAc,2CCjC3B,SAASs+B,GAAuB3S,EAAa5sB,GAElD,IAAI2mB,EAAW,GAWf,OAVmB,OAAhBiG,IAEDjG,EAAWiG,EAAY5tB,WAAW0I,cAClC9L,QAAQC,IAAI8qB,GACI,SAAbA,EACDA,EAAW,MACW,UAAbA,IACTA,EAAW,OAIb,oCACC,8BAAOA,ICOL,SAASmG,KAEd,IAAMxD,EAAqB3B,IACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACL9L,IAAK4L,EAAmB5L,IACxBuK,OAAQqB,EAAmBrB,OAC3BnK,YAAawL,EAAmBxL,YAChCoK,eAAgBoB,EAAmBpB,eACnCa,uBAAwBO,EAAmBP,uBAC3CC,yBAA0BM,EAAmBN,4BAE9C,CAACM,IAGIyD,EAAiBjR,aACvB,SAAChE,GAAD,MAAY,CAAEiV,aAAcjV,EAAMiE,aAClCE,KAFM8Q,aAIA3Q,EAAsC2Q,EAAtC3Q,WAAYC,EAA0B0Q,EAA1B1Q,SAAUL,EAAgB+Q,EAAhB/Q,YAGxB+B,EAAW0L,cACjBnd,qBAAU,WAERid,EAAiBtB,OAAO,IAExBlK,EAAStB,IAAuB8M,EAAiBzL,gBAEhD,CAACyL,EAAiBzL,YAAaC,IAElC,IAAMpZ,EAAU,CACd,CACEC,UAAW,KACXnN,KAAM,KACNyN,MAAM,EACNC,UAAWA,KACXC,2BAEF,CACER,UAAW,UACXnN,KAAM,UACNyN,MAAM,EACNC,UAAWA,KACXC,2BAEF,CACER,UAAW,OACXnN,KAAM,OACNyN,MAAM,EACNC,UAAWA,KACXC,2BAEF,CACER,UAAW,WACXnN,KAAM,MACNyN,MAAM,EACNC,UAAWA,KACXC,0BACAP,UAAWmoB,IAEb,CACEpoB,UAAW,cACXnN,KAAM,cACNyN,MAAM,EACNC,UAAWA,MAEb,CACEP,UAAW,SACXnN,KAAM,SACNyN,MAAM,EACNC,UAAWA,KACXN,UAAWmoB,IAEb,CACEpoB,UAAW,SACXnN,KAAM,UACNoN,UAAWmoB,GACXC,gBAAiB,CACflE,uBAAwBQ,EAAiBR,uBACzCC,yBAA0BO,EAAiBP,0BAE7CjwB,QAAS,mBACTm0B,cAAe,mBACftwB,MAAO,CACLuS,SAAU,WAKVge,EAAoB,CACxBC,QAAQ,EACRC,UAAWjR,EACX2K,gBAAiBuG,EACjBC,YAAahE,EAAiBzL,YAAY0J,SAC1CgG,KAAMjE,EAAiBzL,YAAYyJ,YAErC,OACE,oCACE,kBAAC,sBAAD,CAAoBje,WAAYC,KAAkB4jB,KAC/C,YAAgD,IAA7CM,EAA4C,EAA5CA,gBAAiBC,EAA2B,EAA3BA,qBACnB,OACE,kBAAC,IAAD,CACE7R,UAAWG,EACXyR,gBAAiBA,GAEjB,kBAAC,KAAD,eACEjkB,eAAe,mBACfE,UAAU,EACV3Q,QAAQ,gDACR0Q,YAAU,EACVkkB,QAAM,EACNxkB,SAAS,KACTpO,KAAmB,OAAbshB,EAAoB,GAAKA,EAC/B1X,QAASA,EACTyE,cAAekkB,EACfM,cAAeC,aACbtE,EAAiBrB,gBAEnBgI,UAAWC,aAAa,CACtB9T,WACAqB,IAAK6L,EAAiB7L,IACtBuK,OAAQsB,EAAiBtB,UAEvByF,GAEJ,kBAAC,KAAD,CAAmBrR,SAAUA,IAC7B,kBAAC,KAAD,CAAuBA,SAAUA,UCnJ1C,SAASyR,KAEd,IAAMxE,EAAqB3B,IACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACL9L,IAAK4L,EAAmB5L,IACxBuK,OAAQqB,EAAmBrB,OAC3BgB,0BAA2BK,EAAmBL,0BAC9CC,yBAA0BI,EAAmBJ,yBAC7CC,gCACEG,EAAmBH,mCAEtB,CAACG,IAEJ,OACE,yBAAK9wB,UAAU,QACb,yBAAKA,UAAU,4EACb,yBAAKA,UAAU,aACb,yBAAKA,UAAU,gCACb,yBAAKA,UAAU,iCACb,2BAAOA,UAAU,yBACf,yDAC0B,2BAAI+wB,EAAiB7L,IAAIrc,WAIvD,6BACE,4BACE9F,KAAK,SACL/C,UAAU,iDACVyM,QAASskB,EAAiBN,2BAE1B,uBAAGzwB,UAAU,gBALf,eADF,Y,qDClBMiW,aAAW,SAAAC,GAAK,MAAK,CACnC0hB,eAAgB,CACZC,WAAY,YCQb,SAAStC,KACd,IAAMzE,EAAqB3B,IACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACL9L,IAAK4L,EAAmB5L,IACxBoL,uBAAwBQ,EAAmBR,0BAE5C,CAACQ,IAEJ,OACE,kBAAC,IAAD,KACE,kBAAC,IAAD,CAAY1R,MAAM,mCAChB,kBAAC,IAAD,OAGF,kBAAC,IAAD,KACE,kBAACiT,EAAD,MACCtB,EAAiB7L,IAAIrc,OAAS,GAAK,kBAACysB,GAAD,MACpC,kBAAChB,GAAD,OAEF,kBAAC,IAAD,KACE,kBAACta,GAAA,EAAD,KACE,4BACEjX,KAAK,SACL/C,UAAU,wCACVyM,QAASskB,EAAiBT,wBAH5B,OAOA,uBACEvtB,KAAK,SACL/C,UAAU,wCACV0I,KAAK,0BAHP,eCvCH,SAASs+B,GAAT,GAAsC,IAAZvR,EAAW,EAAXA,QACzBlG,EAAoB,CACxBe,uBAAwB,WACtBmF,EAAQ3sB,KAAK,kBAEfynB,uBAAwB,SAACnwB,GACvBq1B,EAAQ3sB,KAAR,oBAA0B1I,EAA1B,WAEFowB,yBAA0B,SAACpwB,GACzBq1B,EAAQ3sB,KAAR,oBAA0B1I,EAA1B,aAEFqwB,0BAA2B,WACzBgF,EAAQ3sB,KAAR,8BAEF4nB,yBAA0B,WACxB+E,EAAQ3sB,KAAR,oBAEF6nB,gCAAiC,WAC/B8E,EAAQ3sB,KAAK,4BAIjB,OACE,kBAACwmB,EAAD,CAAqBC,kBAAmBA,GACtC,kBAACnM,EAAD,MACA,kBAAC,IAAD,CAAOnV,KAAK,kBACT,gBAAGwnB,EAAH,EAAGA,QAAS1pB,EAAZ,EAAYA,MAAZ,OACC,kBAAC8kB,EAAD,CACEzf,KAAe,MAATrF,EACNsF,OAAQ,WACNokB,EAAQ3sB,KAAK,mBAKrB,kBAAC,IAAD,CAAOmF,KAAK,uBACT,gBAAGwnB,EAAH,EAAGA,QAAS1pB,EAAZ,EAAYA,MAAZ,OACC,kBAAC8kB,EAAD,CACEzf,KAAe,MAATrF,EACN3L,GAAI2L,GAASA,EAAM2pB,OAAOt1B,GAC1BiR,OAAQ,WACNokB,EAAQ3sB,KAAK,mBAKrB,kBAAC,IAAD,CAAOmF,KAAK,8BACT,gBAAGwnB,EAAH,EAAGA,QAAS1pB,EAAZ,EAAYA,MAAZ,OACC,kBAAColB,EAAD,CACE/f,KAAe,MAATrF,EACNsF,OAAQ,WACNokB,EAAQ3sB,KAAK,mBAKrB,kBAAC,IAAD,CAAOmF,KAAK,yBACT,gBAAGwnB,EAAH,EAAGA,QAAS1pB,EAAZ,EAAYA,MAAZ,OACC,kBAACmlB,EAAD,CACE9f,KAAe,MAATrF,EACN3L,GAAI2L,GAASA,EAAM2pB,OAAOt1B,GAC1BiR,OAAQ,WACNokB,EAAQ3sB,KAAK,mBAKrB,kBAAC,IAAD,CAAOmF,KAAK,oBACT,gBAAGwnB,EAAH,EAAGA,QAAS1pB,EAAZ,EAAYA,MAAZ,OACC,kBAACulB,EAAD,CACElgB,KAAe,MAATrF,EACNsF,OAAQ,WACNokB,EAAQ3sB,KAAK,mBAKrB,kBAAC,IAAD,CAAOmF,KAAK,2BACT,gBAAGwnB,EAAH,EAAGA,QAAS1pB,EAAZ,EAAYA,MAAZ,OACC,kBAACwlB,EAAD,CACEngB,KAAe,MAATrF,EACNsF,OAAQ,WACNokB,EAAQ3sB,KAAK,mBAKrB,kBAACysB,GAAD,OAlGN,oC,6ECIO,SAASnS,IAEd,IAAQC,EAAcC,aACpB,SAAChE,GAAD,MAAY,CAAE+D,UAAW/D,EAAMiE,UAAUC,eACzCC,KAFMJ,UAMR,OADAvP,qBAAU,cAAU,CAACuP,IACd,kBAAC,IAAD,CAAeA,UAAWA,EAAWpkB,KAAK,gB,qDCN5C,SAASonB,EAAT,GAAmD,IAAfjmB,EAAc,EAAdA,GAAIiR,EAAU,EAAVA,OAE7C,EAA4CiS,aAC1C,SAAChE,GAAD,MAAY,CACVwE,gBAAiBxE,EAAMiE,UAAUO,gBACjCvC,eAAgBjC,EAAMiE,UAAUhC,kBAElCkC,KALMK,EAAR,EAAQA,gBAAiBvC,EAAzB,EAAyBA,eAQzB,EAA0BvU,mBAAS,IAAnC,mBAAOoS,EAAP,KAAckH,EAAd,KAYA,OAVAxS,qBAAU,WACR,IAAIyS,EAASnmB,EAAK,GAAK,eACnB0jB,GAAmB1jB,IACrBmmB,EAAM,yBAAqBzC,EAAgBkH,YAArC,MAGR1E,EAASC,KAER,CAACzC,EAAiBvC,IAGnB,oCACGA,GAAkB,kBAAC,IAAD,MACnB,kBAACkF,EAAA,EAAMlV,OAAP,KACE,kBAACkV,EAAA,EAAM9U,MAAP,CAAavR,GAAG,gCAAgCgf,GAChD,kBAACie,EAAA,EAAD,CAEE7rB,aAAW,QACX/E,QAAS,SAAC6C,GACR+B,GAAO,KAGT,kBAAC,IAAD,S,2aC1BJiG,GAAYrB,aAAW,SAACC,GAAD,MAAY,CACvCC,KAAM,CACJ+Q,SAAU,GAEZrb,MAAO,CACLsb,QAAS,OACTC,QAAS,EACTxQ,OAAQ,QAEVyQ,eAAgB,CACdF,QAAS,OACTG,SAAU,OACVC,KAAM,EACNC,WAAY,SACZC,SAAU,UAEZC,KAAM,CACJ1Q,OAAQd,EAAMK,QAAQ,GAAK,MAE7BoR,YAAa,CACXC,gBAAiBC,YACQ,UAAvB3R,EAAM4R,QAAQ/kB,KACVmT,EAAM4R,QAAQC,KAAK,KACnB7R,EAAM4R,QAAQC,KAAK,KACvB,MAGJC,iBAAkB,CAChBZ,QAASlR,EAAMK,QAAQ,EAAG,IAE5B0R,YAAa,CACX5jB,SAAU,IAEZ+K,YAAa,CACX9K,SAAU,WACV4jB,KAAM,EACNC,OAAQ,EACR9jB,SAAU,IAEZgS,MAAO,CACL/R,SAAU,WACV8jB,OAAQ,EACR9R,UAAWJ,EAAMK,QAAQ,GACzB2R,KAAM,EACNG,MAAO,GAETC,QAAS,CACP1R,OAAQV,EAAMK,QAAQ,QAsB1B,SAASgS,GAAT,GAAiD,IAAvBC,EAAsB,EAAtBA,SAAazoB,EAAS,kBAC9C,OAAO,uCAAKihB,IAAKwH,GAAczoB,IAsJjC,IAAM0oB,GAAa,CACjB9N,QAhJF,SAAiB5a,GACf,IACE2oB,EAIE3oB,EAJF2oB,SACAC,EAGE5oB,EAHF4oB,WACAC,EAEE7oB,EAFF6oB,SAHF,EAKI7oB,EADF8oB,YAAetoB,EAJjB,EAIiBA,QAASuoB,EAJ1B,EAI0BA,eAG1B,OACE,kBAACC,EAAA,EAAD,eACEC,WAAS,EACTC,WAAY,CACVV,kBACAW,WAAW,aACTlpB,UAAWO,EAAQsL,MACnBmV,IAAK4H,EACLF,YACGC,KAGHG,KA6HRtoB,KApBF,SAAcT,GACZ,OACE,kBAACopB,GAAA,EAAD,eACEC,QAAM,EACNppB,UAAWD,EAAM8oB,YAAYtoB,QAAQ8V,OACjCtW,EAAM4oB,YAET5oB,EAAM2oB,WAcXW,WA1CF,SAAoBtpB,GAClB,OACE,kBAACupB,GAAA,EAAD,CACEC,UAAW,EACX/lB,MAAOzD,EAAM2oB,SACb1oB,UAAWwpB,YAAKzpB,EAAM8oB,YAAYtoB,QAAQmnB,KAA3B,eACZ3nB,EAAM8oB,YAAYtoB,QAAQonB,YAAc5nB,EAAM0pB,YAEjDC,SAAU3pB,EAAM4pB,YAAYld,QAC5Bmd,WAAY,kBAAC,KAAe7pB,EAAM4pB,gBAkCtCE,iBA7KF,SAA0B9pB,GACxB,OACE,kBAAC+pB,GAAA,EAAD,eACE/a,MAAM,gBACN/O,UAAWD,EAAM8oB,YAAYtoB,QAAQynB,kBACjCjoB,EAAM4oB,YAET5oB,EAAM2oB,WAuKXqB,OApHF,SAAgBhqB,GACd,OACE,kBAACiqB,GAAA,EAAD,eACEhJ,IAAKjhB,EAAM6oB,SACX3B,SAAUlnB,EAAM0pB,UAChB/a,UAAU,MACVtK,MAAO,CACL0S,WAAY/W,EAAMkqB,WAAa,IAAM,MAEnClqB,EAAM4oB,YAET5oB,EAAM2oB,WA0GXwB,YA7FF,SAAqBnqB,GACnB,OACE,kBAAC+pB,GAAA,EAAD,eACE/a,MAAM,gBACN/O,UAAWD,EAAM8oB,YAAYtoB,QAAQ6O,aACjCrP,EAAM4oB,YAET5oB,EAAM2oB,WAuFXyB,YA5EF,SAAqBpqB,GACnB,OACE,kBAAC+pB,GAAA,EAAD,eACE9pB,UAAWD,EAAM8oB,YAAYtoB,QAAQ0nB,aACjCloB,EAAM4oB,YAET5oB,EAAM2oB,WAuEX0B,eA5DF,SAAwBrqB,GACtB,OACE,yBAAKC,UAAWD,EAAM8oB,YAAYtoB,QAAQ8mB,gBACvCtnB,EAAM2oB,YA4DN,SAASue,GAAT,GAMH,IALF3c,EAKC,EALDA,YACApX,EAIC,EAJDA,cACA6P,EAGC,EAHDA,aACAwH,EAEC,EAFDA,UACAC,EACC,EADDA,aAEMjqB,EAAU+W,KACVpB,EAAQuU,eACd,EAA4BC,IAAM1d,SAASwd,GAAgB,MAA3D,mBAAOzJ,EAAP,KAAe4J,EAAf,KACA,EAA4CD,IAAM1d,SAAS,IAA3D,mBAAO4d,EAAP,KAAuBC,EAAvB,KA0BA,SAASC,EAAmB3rB,GAM1BiE,QAAQC,IAAIlE,GACZwrB,EAAUxrB,GAhCZ2U,qBAAU,WACR,IAAIvK,EAAI,CAAC,CAAEpK,MAAO,EAAGqE,MAAO,QACxB8mB,GACFA,EAAYvmB,KAAI,SAACgnB,GACfxhB,EAAET,KAAK,CACL3J,MAAO4rB,EAAWnnB,GAClBJ,MAAOunB,EAAWlnB,UAIxBgnB,EAAkBthB,KACjB,CAAC+gB,IACJxW,qBAAU,WACM,MAAViN,IACF7N,EAAcqX,EAAWxJ,EAAO5hB,OAC5B4jB,GAAcA,OAEnB,CAAChC,IAEJjN,qBAAU,WACY,MAAhB0W,GAAwBA,EAAarrB,OACvC2rB,EAAmBN,KAEpB,CAACA,IAWJ,IAAMS,EAAe,CACnBpf,MAAO,SAACqf,GAAD,mBAAC,eACHA,GADE,IAELnc,MAAOmH,EAAM4R,QAAQ7oB,KAAKksB,QAC1B,UAAW,CACTC,KAAM,eAIZ,OACE,yBAAKprB,UAAWO,EAAQ4V,MACtB,kBAACkV,GAAA,EAAD,KACE,kBAAC,IAAD,CACE9qB,QAASA,EACT+qB,OAAQL,EACRM,QAAS,sBACTzC,eAAgB,CACd/U,gBAAiB,CACfyX,QAAS,sBACTxX,QAAQ,GAEV5E,YAAa,mCAEf+K,QAASyQ,EACTnC,WAAYA,GACZtpB,MAAO4hB,EACP1R,SAAUyb,M,y2MC/QpB,IAAM7sB,GAAU,IAAIC,IAAa,MAC3BC,GAAKC,IAAIH,IAiBR,SAASmjB,GAAT,GAKH,IAAD,OAJDC,EAIC,EAJDA,aACAC,EAGC,EAHDA,SACAC,EAEC,EAFDA,eACAlQ,EACC,EADDA,OAEA,EAA8BrE,mBAAS,CACrC,CACEpJ,GAAI,EACJ+T,UAAW,GACXE,OAAQ,GACRE,eAAgB,GAChBmvB,YAAa,EACbC,SAAU,GACVC,UAAW,GACXC,OAAQ,GACRC,QAAS,GACTC,YAAa,KAXjB,mBAAgBC,GAAhB,WAcA,EAAsCx6B,mBAAS,IAA/C,mBAAOy6B,EAAP,KAAoBC,EAApB,KACA,EAAgC16B,mBAAS,CACvC,CACEpJ,GAAI,EACJ+T,UAAW,GACXE,OAAQ,GACRE,eAAgB,GAChBmvB,YAAa,EAEbS,MAAO,CACL,CACER,SAAU,GACVC,UAAW,GACXC,OAAQ,GACRC,QAAS,GACTC,YAAa,OAdrB,mBAAOnuB,EAAP,KAAiBwuB,EAAjB,KA6CA,IAsaI3mB,EAtaE4mB,EAAY,WAChBD,EAAY,GAAD,mBACNxuB,GADM,CAET,CACExV,GAAI,EACJ+T,UAAW,GACXE,OAAQ,GACRE,eAAgB,GAChBmvB,YAAa,EAEbztB,MAAO,CACL,CACE0tB,SAAU,GACVC,UAAW,GACXC,OAAQ,GACRC,QAAS,GACTC,YAAa,SAmDjBO,EAAyB,SAAC7jC,EAAO8jC,EAAQ9zB,GAC7C,IAAM/M,EAAM,YAAOkS,GACO,aAAtBnF,EAAMrE,OAAO5J,KACfkB,EAAOjD,GAAOwV,MAAMsuB,GAAQZ,SAAWlzB,EAAMrE,OAAOzQ,MACrB,cAAtB8U,EAAMrE,OAAO5J,KACtBkB,EAAOjD,GAAOwV,MAAMsuB,GAAQX,UAAYnzB,EAAMrE,OAAOzQ,MACtB,WAAtB8U,EAAMrE,OAAO5J,KACtBkB,EAAOjD,GAAOwV,MAAMsuB,GAAQV,OAASpzB,EAAMrE,OAAOzQ,MACnB,YAAtB8U,EAAMrE,OAAO5J,KACtBkB,EAAOjD,GAAOwV,MAAMsuB,GAAQT,QAAUrzB,EAAMrE,OAAOzQ,MACpB,gBAAtB8U,EAAMrE,OAAO5J,OACtBkB,EAAOjD,GAAOwV,MAAMsuB,GAAQR,YAActzB,EAAMrE,OAAOzQ,OAEzDyoC,EAAY1gC,IAGR8gC,EAAqB,SAAC/jC,EAAO+B,EAAM7G,GACvC,IAAM+H,EAAM,YAAOkS,GACnBlS,EAAOjD,GAAO+B,GAAQ7G,GAAgB,GACtCyoC,EAAY1gC,IAGR+gC,GAA0B,SAAChkC,EAAO8jC,EAAQ/hC,EAAM7G,GACpD,IAAM+H,EAAM,YAAOkS,GACnBlS,EAAOjD,GAAOwV,MAAMsuB,GAAQ/hC,GAAQ7G,GAAgB,GACpDyoC,EAAY1gC,IAIRghC,GAAmB,WACvB,cAAO9uB,QAAP,IAAOA,OAAP,EAAOA,EAAUrV,KAAI,SAAC4X,EAAG1X,GAAJ,iDACnB,yBACEqD,IAAKrD,EACLG,MAAO,CACLwP,OAAQ,+BACRgU,gBAAiB,UACjBnR,aAAc,OACd2Q,QAAS,OACT9iB,SAAU,aAGZ,yBAAKtE,UAAU,iBACb,yBAAKA,UAAU,YACb,uBAAGoE,MAAO,CAAEqS,aAAc,QAA1B,WACA,kBAAC,IAAD,CACEyD,aAAW,EACXlU,KAAK,YACL5F,GAAG,YACHoD,MAAM,UACN4L,YAAY,UACZjQ,MAAK,OAAE4jC,SAAF,IAAEA,IAAF,UAAEA,GAAS3pB,gBAAX,aAAE,EAAmB7J,QAAO,SAAChG,GAAD,OAAOA,EAAE3F,MAAF,OAAS+X,QAAT,IAASA,OAAT,EAASA,EAAGhE,cAAW5T,KAC7D,SAACgnB,GAAD,MAAiB,CACf5rB,MAAO4rB,EAAWnnB,GAClBJ,MAAOunB,EAAWlnB,SAGtBwL,SAAU,SAAC4E,GAAD,OAAW+zB,EAAmB/jC,EAAO,YAAR,OAAqBgQ,QAArB,IAAqBA,OAArB,EAAqBA,EAAO9U,QACnEgb,QAAO,OAAE4oB,SAAF,IAAEA,IAAF,UAAEA,GAAS3pB,gBAAX,aAAE,EAAmBrV,KAAI,SAACgnB,GAAD,MAAiB,CAC/C5rB,MAAO4rB,EAAWnnB,GAClBJ,MAAOunB,EAAWlnB,YAIxB,yBAAK7D,UAAU,YACb,uBAAGoE,MAAO,CAAEqS,aAAc,QAA1B,QACA,kBAAC,IAAD,CACEyD,aAAW,EACXlU,KAAK,SACL5F,GAAG,SACHoD,MAAM,OACN+nB,QAAQ,sBACRnc,YAAY,OACZjQ,MAAK,OAAE4jC,SAAF,IAAEA,IAAF,UAAEA,GAAS3pB,gBAAX,iBAAE,EAAmB7J,QAAO,SAAChG,GAAD,OAAOA,EAAE3F,MAAF,OAAS+X,QAAT,IAASA,OAAT,EAASA,EAAGhE,cAAW,UAA1D,iBAAE,EACHyC,aADC,aAAE,EACI7K,QAAO,SAAChG,GAAD,OAAOA,EAAE3F,MAAF,OAAS+X,QAAT,IAASA,OAAT,EAASA,EAAG9D,WAClC9T,KAAI,SAACgnB,GAAD,MAAiB,CACpB5rB,MAAO4rB,EAAWnnB,GAClBJ,MAAOunB,EAAWlnB,SAEtBwL,SAAU,SAAC4E,GAAD,OAAW+zB,EAAmB/jC,EAAO,SAAR,OAAkBgQ,QAAlB,IAAkBA,OAAlB,EAAkBA,EAAO9U,QAChEgb,QAAO,OAAE4oB,SAAF,IAAEA,IAAF,UAAEA,GAAS3pB,gBAAX,iBAAE,EAAmB7J,QAC1B,SAAChG,GAAD,OAAOA,EAAE3F,MAAF,OAAS+X,QAAT,IAASA,OAAT,EAASA,EAAGhE,cACnB,UAFK,iBAAE,EAEHyC,aAFC,aAAE,EAEIrW,KAAI,SAACgnB,GAAD,MAAiB,CAChC5rB,MAAO4rB,EAAWnnB,GAClBJ,MAAOunB,EAAWlnB,YAIxB,yBAAK7D,UAAU,YACb,uBAAGoE,MAAO,CAAEqS,aAAc,QAA1B,iBACA,kBAAC,IAAD,CACEyD,aAAW,EACXlU,KAAK,iBACL5F,GAAG,iBACHoD,MAAM,eACN+nB,QAAQ,sBACRnc,YAAY,eACZjQ,MAAK,OAAE4jC,SAAF,IAAEA,IAAF,UAAEA,GAAS3pB,gBAAX,iBAAE,EAAmB7J,QAAO,SAAChG,GAAD,OAAOA,EAAE3F,MAAF,OAAS+X,QAAT,IAASA,OAAT,EAASA,EAAGhE,cAAW,UAA1D,iBAAE,EACHyC,aADC,iBAAE,EACI7K,QAAO,SAAChG,GAAD,OAAOA,EAAE3F,MAAF,OAAS+X,QAAT,IAASA,OAAT,EAASA,EAAG9D,WAAQ,UADxC,iBAAE,EAEHwC,qBAFC,aAAE,EAEY9K,QAAO,SAAChG,GAAD,OAAOA,EAAE3F,MAAF,OAAS+X,QAAT,IAASA,OAAT,EAASA,EAAG5D,mBAC1ChU,KAAI,SAACgnB,GAAD,MAAiB,CACpB5rB,MAAO4rB,EAAWnnB,GAClBJ,MAAOunB,EAAWlnB,SAEtBwL,SAAU,SAAC4E,GAAD,OAAW+zB,EAAmB/jC,EAAO,iBAAR,OAA0BgQ,QAA1B,IAA0BA,OAA1B,EAA0BA,EAAO9U,QACxEgb,QAAO,OAAE4oB,SAAF,IAAEA,IAAF,UAAEA,GAAS3pB,gBAAX,iBAAE,EAAmB7J,QAAO,SAAChG,GAAD,OAAOA,EAAE3F,MAAF,OAAS+X,QAAT,IAASA,OAAT,EAASA,EAAGhE,cAAW,UAA1D,iBAAE,EACLyC,aADG,iBAAE,EACE7K,QAAO,SAAChG,GAAD,OAAOA,EAAE3F,MAAF,OAAS+X,QAAT,IAASA,OAAT,EAASA,EAAG9D,WAAQ,UADtC,iBAAE,EAELwC,qBAFG,aAAE,EAEUtW,KAAI,SAACgnB,GAAD,MAAiB,CACpC5rB,MAAO4rB,EAAWnnB,GAClBJ,MAAOunB,EAAWlnB,YAI1B,yBAAK7D,UAAU,YACb,uBAAGoE,MAAO,CAAEqS,aAAc,QAA1B,iBACA,2BACE1T,KAAK,SACL/C,UAAU,eACVoP,YAAY,gBACZpJ,KAAK,cACLxC,MAAM,gBACNrE,MAAK,OAAEwc,QAAF,IAAEA,OAAF,EAAEA,EAAGurB,YACV73B,SAAU,SAAC4E,GAAD,OA1II,SAAChQ,EAAOgQ,GAChC,IAAM/M,EAAM,YAAOkS,GACO,cAAtBnF,EAAMrE,OAAO5J,KACfkB,EAAOjD,GAAO0T,UAAY1D,EAAMrE,OAAOzQ,MACR,WAAtB8U,EAAMrE,OAAO5J,KACtBkB,EAAOjD,GAAO4T,OAAS5D,EAAMrE,OAAOzQ,MACL,mBAAtB8U,EAAMrE,OAAO5J,KACtBkB,EAAOjD,GAAO8T,eAAiB9D,EAAMrE,OAAOzQ,MACb,gBAAtB8U,EAAMrE,OAAO5J,OACtBkB,EAAOjD,GAAOijC,YAAcjzB,EAAMrE,OAAOzQ,OAK3CyoC,EAAY1gC,GA4HmBihC,CAAkBlkC,EAAOgQ,OAuBlD,0BACE7P,MAAO,CACLE,SAAU,WACVmhC,IAAK,QACLvd,KAAM,SAERloB,UAAU,4EACVyM,QAAS,kBA9KD,SAACxI,GACjB,IAAMiD,EAAM,YAAOkS,GACnBlS,EAAO+9B,OAAOhhC,EAAO,GACrB2jC,EAAY1gC,GA2KWkhC,CAAUnkC,KAP3B,MAjHJ,OA6HG0X,QA7HH,IA6HGA,GA7HH,UA6HGA,EAAGlC,aA7HN,aA6HG,EAAU1V,KAAI,SAACskC,EAAIN,GAAL,OACb,yBACE3jC,MAAO,CACLE,SAAU,YAEZtE,UAAU,iBACVsH,IAAKygC,GAEL,yBAAK/nC,UAAU,iBACb,uBAAGoE,MAAO,CAAEqS,aAAc,QAA1B,cACA,kBAAC,IAAD,CACEzQ,KAAK,YACLxC,MAAM,aACN2W,QAASmuB,GAAWvkC,KAAI,SAACC,EAAMC,GAAP,MAAkB,CACxC9E,MAAO6E,EAAKH,KACZL,MAAOQ,EAAKH,SAEd1E,MAAK,OAAEmpC,SAAF,IAAEA,QAAF,EAAEA,GACH/4B,QAAO,SAAChG,GAAD,OAAOA,EAAE1F,QAAF,OAAWwkC,QAAX,IAAWA,OAAX,EAAWA,EAAIjB,cAC9BrjC,KAAI,SAACgnB,GAAD,MAAiB,CACpB5rB,MAAO4rB,EAAWlnB,KAClBL,MAAOunB,EAAWlnB,SAGtBwL,SAAU,SAAC4E,GAAD,OAAWg0B,GAAwBhkC,EAAO8jC,EAAQ,YAAhB,OAA6B9zB,QAA7B,IAA6BA,OAA7B,EAA6BA,EAAO9U,QAChFiB,GAAG,eAGP,yBAAKJ,UAAU,iBACb,uBAAGoE,MAAO,CAAEqS,aAAc,QAA1B,aACA,2BACEzW,UAAU,eACVoP,YAAY,YACZpJ,KAAK,WACL7G,MAAK,OAAEkpC,QAAF,IAAEA,OAAF,EAAEA,EAAIlB,SACX93B,SAAU,SAAC4E,GAAD,OAAW6zB,EAAuB7jC,EAAO8jC,EAAQ9zB,OAG/D,yBAAKjU,UAAU,iBACb,uBAAGoE,MAAO,CAAEqS,aAAc,QAA1B,YACA,kBAAC,IAAD,CACEzQ,KAAK,UACLmU,QAASmuB,GAAWvkC,KAAI,SAACC,EAAMC,GAAP,MAAkB,CACxC9E,MAAO6E,EAAKH,KACZL,MAAOQ,EAAKH,SAEd1E,MAAK,OAAEmpC,SAAF,IAAEA,QAAF,EAAEA,GACH/4B,QAAO,SAAChG,GAAD,OAAOA,EAAE1F,QAAF,OAAWwkC,QAAX,IAAWA,OAAX,EAAWA,EAAIf,YAC9BvjC,KAAI,SAACgnB,GAAD,MAAiB,CACpB5rB,MAAO4rB,EAAWlnB,KAClBL,MAAOunB,EAAWlnB,SAEtBwL,SAAU,SAAC4E,GAAD,OAAWg0B,GAAwBhkC,EAAO8jC,EAAQ,UAAhB,OAA2B9zB,QAA3B,IAA2BA,OAA3B,EAA2BA,EAAO9U,WAGlF,yBAAKa,UAAU,iBACb,uBAAGoE,MAAO,CAAEqS,aAAc,QAA1B,WACA,2BACEzW,UAAU,eACVoP,YAAY,UACZpJ,KAAK,SACL7G,MAAK,OAAEkpC,QAAF,IAAEA,OAAF,EAAEA,EAAIhB,OACXh4B,SAAU,SAAC4E,GAAD,OAAW6zB,EAAuB7jC,EAAO8jC,EAAQ9zB,OAG/D,yBAAKjU,UAAU,iBACb,uBAAGoE,MAAO,CAAEqS,aAAc,QAA1B,gBACA,2BACEzW,UAAU,eACVgG,KAAK,cACLxC,MAAM,eACNrE,MAAK,OAAEkpC,QAAF,IAAEA,OAAF,EAAEA,EAAId,YACXl4B,SAAU,SAAC4E,GAAD,OAAW6zB,EAAuB7jC,EAAO8jC,EAAQ9zB,OAU/D,0BACE7P,MAAO,CACLE,SAAU,WACVmhC,IAAK,QACLpd,MAAO,QAETroB,UAAU,4EACVyM,QAAS,kBAlRE,SAACxI,EAAO8jC,GAC7B,IAAM7gC,EAAM,YAAOkS,GACnBlS,EAAOjD,GAAOwV,MAAMwrB,OAAO8C,EAAQ,GACnCH,EAAY1gC,GA+QaqhC,CAAetkC,EAAO8jC,KAPvC,SAqBJ,0BACE3jC,MAAO,CAAEE,SAAU,WAAY6jB,OAAQ,MAAOE,MAAO,QACrDroB,UAAU,kFACVyM,QAAS,kBAlTM,SAACxI,GACtB,IAAMiD,EAAM,YAAOkS,GACnBlS,EAAOjD,GAAOwV,MAAd,sBACKvS,EAAOjD,GAAOwV,OADnB,CAEE,CACE0tB,SAAU,GACVC,UAAW,GACXC,OAAQ,GACRC,QAAS,GACTC,YAAa,KAGjBK,EAAY1gC,GAsSSshC,CAAevkC,KAHhC,UAYN,GAA0D+I,mBAAS,CACjE,CACEpJ,GAAI,EACJ4a,SAAU,GACV+oB,YAAa,KAJjB,qBAAOkB,GAAP,MAA8BC,GAA9B,MAQA,GAAoC17B,mBAAS,IAA7C,qBAAO27B,GAAP,MAAmBC,GAAnB,MAEA,GAAsC57B,mBAAS,CAC7C,CAAE0hB,UAAW,GAAID,SAAU,MAD7B,qBAAoBoa,IAApB,aAGA,GAAsD77B,mBAAS,IAA/D,qBAAO87B,GAAP,MAA4BC,GAA5B,MACA,GAA0C/7B,mBAAS,IAAnD,qBAAOg8B,GAAP,MAAsBC,GAAtB,MAEA,GAAgDj8B,mBAAS,IAAzD,qBAAOk8B,GAAP,MAAyBC,GAAzB,MACA,GAAkDn8B,mBAAS,IAA3D,qBAAOo8B,GAAP,MAA0BC,GAA1B,MACA,GAAgDr8B,mBAAS,IAAzD,qBAAOs8B,GAAP,MAAyBC,GAAzB,MACA,GAAoCv8B,mBAAS,IAA7C,qBAAOs7B,GAAP,MAAmBkB,GAAnB,MACA,GAAwCx8B,mBAAS,IAAjD,qBAAOy8B,GAAP,MAAqBC,GAArB,MACA,GAA0D18B,mBAAS,IAAnE,qBAAO28B,GAAP,MAA8BC,GAA9B,MACA,GAGI58B,mBAAS,IAHb,qBACE68B,GADF,MAEEC,GAFF,MAIA,GAA8D98B,mBAAS,IAAvE,qBAAO+8B,GAAP,MAA8BC,GAA9B,MACA,GAAsDh9B,mBAAS,IAA/D,qBAAOi9B,GAAP,MAA4BC,GAA5B,MACA,GAAoEl9B,mBAClE,IADF,qBAAOm9B,GAAP,MAAmCC,GAAnC,MAGA,GAAgCp9B,oBAAS,GAAzC,qBAAOoqB,GAAP,MAAiB6C,GAAjB,MACA,GAA8CjtB,mBAAS,IAAvD,qBAAOq9B,GAAP,MAAwBC,GAAxB,MACA,GAAoDt9B,mBAAS,IAA7D,qBAAOu9B,GAAP,MAA2BC,GAA3B,MACA,GAAkCx9B,mBAAS,IAA3C,qBAAOy9B,GAAP,MAAkBC,GAAlB,MACA,GAA4C19B,mBAAS,IAArD,qBAAO29B,GAAP,MAAuBC,GAAvB,MACA,GAAgD59B,mBAAS,IAAzD,qBAAO69B,GAAP,MAAyBC,GAAzB,MACA,GAAsD99B,mBAAS,CAC7D7N,MAAO,GACPqE,MAAO,WAFT,qBAAOunC,GAAP,MAA4BC,GAA5B,MAIA,GAA0Dh+B,mBAAS,CACjE7N,MAAO,GACPqE,MAAO,WAFT,qBAAOynC,GAAP,MAA8BC,GAA9B,MAIA,GAAgDl+B,mBAAS,CACvD7N,MAAO,GACPqE,MAAO,WAFT,qBAAO2nC,GAAP,MAAyBC,GAAzB,MAIA,GAA4Bp+B,mBAAS,CACnC7N,MAAO,GACPqE,MAAO,WAFT,qBAAO6nC,GAAP,MAAeC,GAAf,MAKA,GAA8Bt+B,mBAAS,IAAvC,qBAAO+1B,GAAP,MAAgBwI,GAAhB,MACA,GAAgCv+B,mBAAS,IAAzC,qBAAiBw+B,IAAjB,aACA,GAAsCx+B,mBAAS,IAA/C,qBAAOy+B,GAAP,MAAoBC,GAApB,MACA,GAA8B1+B,mBAAS,IAAvC,qBAAO2+B,GAAP,MAAgBC,GAAhB,MAIM5b,GAAe,CACnB5vB,QAAI0F,EACJlC,QAAIkC,EACJod,KAAM,GACNrf,KAAM,GACNqsB,KAAM,GACNhC,UAAW,KACX2d,cAAe,GACf5b,QAAS,GACT2F,UAAU,GAEZ,GAAkC5oB,oBAAS,GAA3C,qBAAkB8+B,IAAlB,aACA,GAGI9+B,oBAAS,GAHb,qBACE++B,GADF,MAEEC,GAFF,MAIA,GAAwCh/B,mBAAS,MAAjD,qBAAOi/B,GAAP,MAAqBC,GAArB,MACA,GAAoCxhB,IAAM1d,SAAS,IAAnD,qBAAOm/B,GAAP,MAAmBC,GAAnB,MACA,GAAgDp/B,oBAAS,GAAzD,qBAAOq/B,GAAP,MAAyBC,GAAzB,MACA,GAAkCt/B,oBAAS,GAA3C,qBACA,IADA,YACkCA,mBAAS,IAA3C,qBAAOu/B,GAAP,MAAkBC,GAAlB,MACA,GAA6Cx/B,mBAASgjB,IAAtD,qBAAOyc,GAAP,MAAoBC,GAApB,MAIEzrB,OADkBnb,IAAhBwb,EAASlhB,GACU8gB,MAAaC,MAAM,CACtC6J,YAAa9J,MACV4U,IAAI,EAAG,qBACPC,IAAI,GAAI,sBACRnjB,SAAS,4BACZ+5B,wBAAyBzrB,MACtB0rB,UACAh6B,SAAS,yCACZsxB,MAAOhjB,MAAayN,MAAM,iBAC1Bke,aAAc3rB,MAAayN,MAAM,iBACjC4X,QAASrlB,MAAatO,SAAS,uBAC/Bk6B,iBAAkB5rB,MAAatO,SAAS,+BACxCm6B,oBAAqB7rB,MAAatO,SAChC,mCAEFo6B,iBAAkB9rB,MAAatO,SAAS,+BACxCq6B,kBAAmB/rB,MAAatO,SAC9B,4CAEFs6B,oBAAqBhsB,MAAatO,SAChC,iDAEFu6B,uBAAwBjsB,MAAatO,SACnC,gDAIiBsO,MAAaC,MAAM,IAE1CrN,qBAAU,WACRs5B,KACAtB,IAAa,GACbjnC,OAAOwnB,YAASvmB,IACf,IACH,IAAMo/B,GAAe,wCAAG,2FAEU,IAA1BzY,GAAe5jB,OAFC,gCAGZwL,MAAMxP,OAAOyP,QAAU,wBAAyB,CACpDC,OAAQ,MACRC,iBAAiB,EACjBC,QAAS,CACPiL,OAAQ,oCACRhL,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,sBAGjBC,MAAK,SAACM,GAAD,OAASA,EAAI/N,UAClByN,MAAK,SAACM,GACLwX,GAAkBxX,EAAIiwB,mBAAqB,OAE5ChwB,OAAM,SAACtV,GACN,OAAO,KAlBO,8GAAH,qDAuBfutC,GAAc,wCAAG,4HAEE9qB,IAAM3M,IAAI,gCAFZ,cAEbxG,EAFa,OAGnB05B,GAAe15B,EAAO5M,KAAK8qC,QAAZ,WACX3rB,EAAavS,EAAO5M,KAAKymC,cACzBsE,EAAgB,GAElB5rB,EAAW3d,KAAI,SAACC,GACdspC,EAAcxkC,KAAK,CAAE3J,MAAO6E,EAAKJ,GAAIJ,MAAOQ,EAAKH,UAG/C0pC,EAAmBp+B,EAAO5M,KAAK8qC,QAAZ,iBACzB3B,GAAev8B,EAAO5M,KAAK8qC,QAAZ,OAAgC,IAC/CxoC,OAAO2oC,gBAAkBD,EACrBE,EAAe,GAEjBF,EAAiBxpC,KAAI,SAACC,GACpBypC,EAAa3kC,KAAK,CAAE3J,MAAO6E,EAAKJ,GAAIJ,MAAOQ,EAAKgnB,iBAIpD4f,GAAkB6C,GAClBxE,GAAiBqE,GACjBlB,GAAcj9B,EAAO5M,KAAK8qC,QAAZ,eAAwC,IACtD7D,GAAcr6B,EAAO5M,KAAK8qC,QAAZ,QACdtE,GAAuB55B,EAAO5M,KAAK8qC,QAAZ,iBACvB3D,GAAgBv6B,EAAO5M,KAAK8qC,QAAZ,WAAoC,IACpDvD,GACE36B,EAAO5M,KAAK8qC,QAAZ,4BAEFzD,GAAyBz6B,EAAO5M,KAAK8qC,QAAZ,qBACzBrD,GAA6B76B,EAAO5M,KAAK8qC,QAAZ,oBAC7BnD,GAAuB/6B,EAAO5M,KAAK8qC,QAAZ,kBACvBjD,GACEj7B,EAAO5M,KAAK8qC,QAAZ,wBAEF3C,GAAav7B,EAAO5M,KAAK8qC,QAAZ,UACblE,GAAoBh6B,EAAO5M,KAAK8qC,QAAZ,OACpB/C,GAAmBn7B,EAAO5M,KAAK8qC,QAAZ,gBACnB3F,EAAev4B,EAAO5M,KAAK8qC,QAAZ,SACfxoC,OAAO6oC,kBAAoBv+B,EAAO5M,KAAK8qC,QAAZ,mBAEvBh4B,EAAY,IAAIC,SACVC,OAAO,gBAAjB,iBAA4CpX,GAAG8L,OAAOC,WAAWyK,QAE7Da,EAAiB,CACnBjB,OAAQ,MACRE,QAASY,EACTI,SAAU,UAGZpB,MAAM,GAAD,OAAIxP,OAAOyP,QAAX,iCAAmDkB,GACrDZ,MAAK,SAACC,GAAD,OAAcA,EAAS5V,UAC5B2V,MAAK,SAACzF,GAAY,IAAD,IACV2d,EAAM/rB,KAAKC,MAAMmO,GACvBo8B,GAAWze,GACX8e,IACK,OAAH9e,QAAG,IAAHA,GAAA,UAAAA,EAAK1T,gBAAL,mBAAe+J,MAAK,SAAC5Z,GAAD,MAAkB,4BAAXA,EAAE1F,eAA7B,eACIuW,QAAS,IAEf,IAAIgkB,EAAQ,GACZtR,EAAI1T,SAASrV,KAAI,SAAC4jC,EAAO1jC,GAAR,OACf0jC,EAAMvtB,MAAMrW,KAAI,SAACgnB,GAAD,OACdqT,EAAMt1B,KAAK,CACT3J,MAAO4rB,EAAWnnB,GAClBJ,MAAOmkC,EAAM9jC,KAAO,IAAMknB,EAAWlnB,aAI3C2nC,GAAYpN,MAEbjpB,OAAM,SAAC5K,GAAD,OAAWnH,QAAQC,IAAI,QAASkH,MAvEtB,UAyEC+X,IAAM3M,IAAN,gCAzED,QA0EE,OADf2J,EAzEa,QA0ETvK,QACJuK,EAAM/c,KAAKsG,OAAS,GACtBiiC,IAAyB,OAALxrB,QAAK,IAALA,OAAA,EAAAA,EAAO/c,OAAQ,IA5EpB,4GAAH,qDAkFpBuR,qBAAU,WACR65B,OACC,CAACpB,KACJ,IAAMoB,GAAmB,wCAAG,8GAEHrrB,IAAM3M,IAAI,+BAFP,OAElBxG,EAFkB,OAGxBy+B,GAAWz+B,EAAO5M,KAAP,WACXsC,OAAOgpC,aAAe1+B,EAAO5M,KAAP,cAA+B,GACrDsC,OAAO0hC,QAAUp3B,EAAO5M,KAAP,WAA4B,GALrB,yGAAH,qDAnnBxB,+CA2nBD,WAA0BnC,GAA1B,kFACeiU,MAAM,GAAD,OAAIxP,OAAOyP,QAAX,oBAA8BlU,GAAM,CACpDmU,OAAQ,MACRC,iBAAiB,EACjBC,QAAS,CACPC,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,sBAGjBC,KATU,wCASL,WAAOC,GAAP,iFACEC,EAAaD,EAASE,OADxB,SAEeF,EAAS1N,OAFxB,cAEE5E,EAFF,yBAGGyS,QAAQC,IAAI,CAACH,EAAYvS,KAH5B,2CATK,uDAcVqS,MAAK,SAACM,GACL,IAAI3L,EAAI2L,EAAI,GAAJ,QAGR,OAFA3L,EAAEnJ,GAAKmJ,EAAE3F,GACT8oC,GAAsBnjC,GACfA,KAER4L,OAAM,SAAC5K,GACNnH,QAAQmH,MAAMA,MAtBpB,oFA3nBC,sBAi3BD,SAASujC,GAAsBllC,GAC7B,IAAImlC,EAAO,YAAOpF,IAClBoF,EAAQ9I,OAAOr8B,EAAG,GAClBggC,GAAcmF,GAEhB,SAASC,GAA6BplC,EAAGqL,GACvC,IAAI/M,EAAM,YAAOyhC,IACjBzhC,EAAO0B,GAAGqlC,OAAmB,OAAVh6B,EAAiB,KAAjB,OAAwBA,QAAxB,IAAwBA,OAAxB,EAAwBA,EAAO9U,MAClD+H,EAAO0B,GAAGslC,YAAwB,OAAVj6B,EAAiB,KAAjB,OAAwBA,QAAxB,IAAwBA,OAAxB,EAAwBA,EAAOk6B,QACvDvF,GAAc1hC,GAEhB,SAASknC,GAAmCxlC,EAAGqL,GAAQ,IAAD,EAChD/M,EAAM,YAAOyhC,IACjBzhC,EAAO0B,GAAGylC,aAAV,OAAyBp6B,QAAzB,IAAyBA,GAAzB,UAAyBA,EAAOrE,cAAhC,aAAyB,EAAezQ,MACxCypC,GAAc1hC,GAEhB,SAASonC,GAA2B1lC,EAAGqL,GACrC,IAAI/M,EAAM,YAAOyhC,IACjBzhC,EAAO0B,GAAGiP,OAAmB,OAAV5D,EAAiB,KAAjB,OAAwBA,QAAxB,IAAwBA,OAAxB,EAAwBA,EAAO9U,MAClDypC,GAAc1hC,GAEhB,SAASqnC,GAAoC3lC,EAAGqL,GAC9C,IAAI/M,EAAM,YAAOyhC,IACjBzhC,EAAO0B,GAAG4lC,cAA0B,OAAVv6B,EAAiB,GAAjB,OAAsBA,QAAtB,IAAsBA,OAAtB,EAAsBA,EAAO9U,MACvDypC,GAAc1hC,GAEhB,SAASunC,GAAoC7lC,EAAGqL,GAAQ,IAAD,EACjD/M,EAAM,YAAOyhC,IACjBzhC,EAAO0B,GAAG8lC,cAAV,OAA0Bz6B,QAA1B,IAA0BA,GAA1B,UAA0BA,EAAOrE,cAAjC,aAA0B,EAAezQ,MACzCypC,GAAc1hC,GAEhB,SAASynC,GAAqC/lC,EAAGqL,GAC/C,IAAI/M,EAAM,YAAOyhC,IACjBzhC,EAAO0B,GAAGgmC,eAA2B,OAAV36B,EAAiB,GAAjB,OAAsBA,QAAtB,IAAsBA,OAAtB,EAAsBA,EAAO9U,MACxDypC,GAAc1hC,GAoBhB,SAAS2nC,KACPnG,IAAyB,SAAClE,GAAD,4BACpBA,GADoB,CAEvB,CACEpkC,GAAI,EACJoe,SAAU,GACV+oB,YAAa,QAInB,SAASuH,KACPlG,IAAc,SAACpE,GAAD,4BACTA,GADS,CAEZ,CACE5gC,GAAI,EACJqqC,OAAQ,KACRC,aAAa,EACbr2B,OAAQ,KACRw2B,aAAc,KACdG,cAAe,GACfE,cAAe,KACfE,eAAgB,SAItB,SAAS5J,GAAmBp8B,GAC1B,IAAIuB,EAAI,YAAO46B,IACf56B,EAAK86B,OAAOr8B,EAAG,GACf27B,GAASp6B,GAOX,SAAS4kC,GAAiCnmC,GACxC,IAAImlC,EAAO,YAAOtF,IAClBsF,EAAQ9I,OAAOr8B,EAAG,GAClB8/B,GAAyBqF,GAiD3B,SAASiB,GAAuBpmC,EAAGqL,GACjC,IAAI/M,EAAM,YAAOuhC,IACjBvhC,EAAO0B,GAAG4V,SAAV,OAAqBvK,QAArB,IAAqBA,OAArB,EAAqBA,EAAO9U,MAC5BupC,GAAyBxhC,GAiB3B,SAAS+nC,GAAgCrmC,EAAGqL,GAC1C,IAAI/M,EAAM,YAAOuhC,IACjBvhC,EAAO0B,GAAG2+B,YAActzB,EAAMrE,OAAOzQ,MACrCupC,GAAyBxhC,GAhY3B4M,qBAAU,WAcR,GAbIwN,EAAS4tB,oBACXhE,GAAyB,CACvB/rC,MAAOmiB,EAAS4tB,mBAChB1rC,MAAO8d,EAAS6tB,mBAIhB7tB,EAAS6hB,UACXiI,GAAoB,CAClBjsC,MAAOmiB,EAAS8tB,gBAChB5rC,MAAO8d,EAAS6hB,WAGhB7hB,EAAS+tB,sBAAuB,CAClC,IAAMC,EAAcvuC,KAAKE,UAAUqgB,EAAS+tB,uBAC5CzH,EAAY7mC,KAAKC,MAAMsuC,IAwHzB,GArHIhuB,EAASiuB,uBACXjE,GAAU,CACRnsC,MAAOmiB,EAASiuB,sBAChB/rC,MAAO8d,EAASkuB,0BAIhBluB,EAASmuB,mBACXjD,GAAalrB,EAASmuB,kBACtBzE,GAAuB,CACrB7rC,MAAOmiB,EAASmuB,iBAChBjsC,MAAO8d,EAASqpB,mBAGmB,IAAnCrpB,EAASouB,wBACXlxC,SAASsR,eAAe,yBAAyBgnB,SAAU,IAE9B,IAA3BxV,EAASquB,gBACXnxC,SAASsR,eAAe,iBAAiBgnB,SAAU,IAE3B,IAAtBxV,EAASsuB,WACXpxC,SAASsR,eAAe,YAAYgnB,SAAU,IAEd,IAA9BxV,EAASuuB,mBACXrxC,SAASsR,eAAe,sBAAsBgnB,SAAU,IAE1B,IAA5BxV,EAASwuB,iBACXtxC,SAASsR,eAAe,oBAAoBgnB,SAAU,IAEpB,IAAhCxV,EAASyuB,qBACXvxC,SAASsR,eAAe,wBAAwBgnB,SAAU,IAExB,IAAhCxV,EAAS0uB,qBACXxxC,SAASsR,eAAe,wBAAwBgnB,SAAU,IAE9B,IAA1BxV,EAAS2uB,eACXzxC,SAASsR,eAAe,kBAAkBgnB,SAAU,IAEpB,IAA9BxV,EAAS4uB,mBACX1xC,SAASsR,eAAe,sBAAsBgnB,SAAU,IAEzB,IAA7BxV,EAAS6uB,kBACX3xC,SAASsR,eAAe,qBAAqBgnB,SAAU,IAExB,IAA7BxV,EAAS8uB,kBACX5xC,SAASsR,eAAe,qBAAqBgnB,SAAU,IAExB,IAA7BxV,EAAS+uB,kBACX7xC,SAASsR,eAAe,qBAAqBgnB,SAAU,IAErB,IAAhCxV,EAASgvB,qBACX9xC,SAASsR,eAAe,wBAAwBgnB,SAAU,IAErB,IAAnCxV,EAASivB,wBACX/xC,SAASsR,eAAe,2BAA2BgnB,SAAU,IAEzB,IAAlCxV,EAASkvB,uBACXhyC,SAASsR,eAAe,0BAA0BgnB,SAAU,IAEjC,IAAzBxV,EAASmvB,cACXjyC,SAASsR,eAAe,iBAAiBgnB,SAAU,IAErB,IAA5BxV,EAASovB,iBACXlyC,SAASsR,eAAe,oBAAoBgnB,SAAU,IAErB,IAA/BxV,EAASqvB,oBACXnyC,SAASsR,eAAe,uBAAuBgnB,SAAU,IAEtB,IAAjCxV,EAASsvB,sBACXpyC,SAASsR,eAAe,yBAAyBgnB,SAAU,IAEvB,IAAlCxV,EAASuvB,uBACXryC,SAASsR,eAAe,0BAA0BgnB,SAAU,IAEhC,IAA1BxV,EAASwvB,eACXtyC,SAASsR,eAAe,kBAAkBgnB,SAAU,IAEX,IAAvCxV,EAASyvB,4BACXvyC,SAASsR,eAAe,+BAA+BgnB,SAAU,IAE/B,IAAhCxV,EAAS0vB,qBACXxyC,SAASsR,eAAe,wBAAwBgnB,SAAU,IAErB,IAAnCxV,EAAS2vB,wBACXzyC,SAASsR,eAAe,2BAA2BgnB,SAAU,IAE7B,IAA9BxV,EAAS4vB,mBACX1yC,SAASsR,eAAe,sBAAsBgnB,SAAU,IAEhB,IAAtCxV,EAAS6vB,2BACX3yC,SAASsR,eAAe,8BAA8BgnB,SAAU,IAE9B,IAAhCxV,EAAS8vB,qBACX5yC,SAASsR,eAAe,wBAAwBgnB,SAAU,IAExB,IAAhCxV,EAAS+vB,qBACX7yC,SAASsR,eAAe,wBAAwBgnB,SAAU,IAG3B,IAA7BxV,EAASgwB,kBACX9yC,SAASsR,eAAe,qBAAqBgnB,SAAU,IAEpB,IAAjCxV,EAASiwB,sBACX/yC,SAASsR,eAAe,yBAAyBgnB,SAAU,IAEnB,IAAtCxV,EAASkwB,2BACXhzC,SAASsR,eAAe,8BAA8BgnB,SAAU,IAEjC,IAA7BxV,EAASmwB,kBACXjzC,SAASsR,eAAe,mBAAmBgnB,SAAU,IAEnB,IAAhCxV,EAASowB,qBACXlzC,SAASsR,eAAe,wBAAwBgnB,SAAU,GAE/B,OAAzBxV,EAASqwB,kBAAiD7rC,IAAzBwb,EAASqwB,aAC5C/I,GAAc7nC,KAAKC,MAAMD,KAAKE,UAAL,OAAeqgB,QAAf,IAAeA,OAAf,EAAeA,EAAUqwB,eAAiB,IAE3C,OAAtBrwB,EAAS0iB,eAA2Cl+B,IAAtBwb,EAAS0iB,SAAwB,CACjEkB,KACA,IACE,IAAI0M,EAAY7wC,KAAKC,MAAMD,KAAKE,UAAUqgB,IAC1CswB,EAAUC,aAAc,EACpBD,EAAU5N,SAASn7B,OAAS,GAC9B+oC,EAAU5N,SAASjgC,KAAI,SAACC,GACC,OAAnBA,EAAKygC,YAAoBzgC,EAAKygC,UAAY,IACxB,OAAlBzgC,EAAKwiB,WAAmBxiB,EAAKwiB,SAAW,IACpB,IAApBxiB,EAAKspB,aAAkBtpB,EAAKspB,WAAa,GACvB,OAAlBtpB,EAAKwpB,WAAmBxpB,EAAKwpB,SAAW,WAC5CxpB,EAAKwpB,SAAW,CACdruB,MAA2B,IAApB6E,EAAKspB,WAAmB,EAAItpB,EAAKspB,WACxC9pB,MAAyB,OAAlBQ,EAAKwpB,SAAoB,UAAYxpB,EAAKwpB,aAIvD+W,GAASqN,EAAU5N,UACnB,MAAOnkC,KAWX,GAH2B,OAAvByhB,EAASM,gBAA6C9b,IAAvBwb,EAASM,WAC1C8mB,GAAyBpnB,EAASM,WAGC,OAAnCN,EAAS+tB,4BAC0BvpC,IAAnCwb,EAAS+tB,sBACT,CACA,IAAIyC,EAAa/wC,KAAKC,MAAMD,KAAKE,UAAUqgB,IACvCywB,EAAmB,GACvBD,EAAWzC,sBAAsBtrC,KAAI,SAACiuC,EAAQ/tC,GAAT,uBACnC8+B,GAAQ3pB,gBAD2B,aACnC,EAAkBrV,KAAI,SAAC4jC,GAAD,oBACpBA,QADoB,IACpBA,GADoB,UACpBA,EAAOvtB,aADa,aACpB,EAAcrW,KAAI,SAACC,GAAD,oBAChBA,QADgB,IAChBA,GADgB,UAChBA,EAAMqW,qBADU,aAChB,EAAqBtW,KAAI,SAACkuC,GACxB,IAAIC,EAAS,GACTD,EAAIruC,KAAOouC,EAAOj6B,iBACpBm6B,EAAOtuC,GAAKK,EACZiuC,EAAOv6B,UAAYgwB,EAAM/jC,GACzBsuC,EAAOr6B,OAAS7T,EAAKJ,GACrBsuC,EAAOn6B,eAAiBk6B,EAAIruC,GAC5BsuC,EAAOhL,YAAc8K,EAAO9K,YAC5BgL,EAAO/K,SAAW6K,EAAO7K,SACzB+K,EAAO9K,UAAY4K,EAAO5K,UAC1B8K,EAAO7K,OAAS2K,EAAO3K,OACvB6K,EAAO5K,QAAU0K,EAAO1K,QACxB4K,EAAO3K,YAAcyK,EAAOzK,YAC5BwK,EAAiBjpC,KAAKopC,gBAO5BH,EAAiBlpC,OAAS,GAC5B2+B,EAAWuK,GAGf,GACgC,OAA9BzwB,EAAS6wB,uBACqBrsC,IAA9Bwb,EAAS6wB,iBACT,CACA,IAAIrlB,EAAM,GAERxL,EAAS6wB,iBAAiBpuC,KAAI,SAACC,EAAMC,GACnC6oB,EAAIhkB,KAAK,CAAE3J,MAAO6E,EAAKJ,GAAIJ,MAAOQ,EAAKH,UAG3C0lC,GAAoBzc,GAEtB,QAA0BhnB,IAAtBwb,EAASsU,SAAwB,CACnC,IAAIrsB,EAAI+X,EAASsU,SAAW,OAAS,QACrCqE,GAAY1wB,GAG2B,OAA7B,OAAR+X,QAAQ,IAARA,OAAA,EAAAA,EAAU8wB,yBACZ5H,GAAsB3lC,OAAO6oC,qBAE9B,CAACpsB,EAAUyhB,KAwKd,IAAMsP,GAAc3gB,aAAW,SAACxb,GAAD,MAAY,CACzCo8B,QAAS,CACP1qB,gBAAiB,UACjB7Y,MAAO,sBACPwjC,SAAU,IACVluC,SAAU6R,EAAMgpB,WAAWsT,QAAQ,IACnC5+B,OAAQ,wBANQ8d,CAQhB0L,KAEJ,SAASkH,KACPY,KACAX,IAAS,SAACC,GAAD,4BACJA,GADI,CAEP,CACE5gC,GAAI,EACJ4pB,SAAU,CAAEruB,MAAO,GAAIqE,MAAO,UAC9B8pB,WAAY,GACZmX,UAAW,GACXje,SAAU,GACV3iB,KAAM,GACN6gC,UAAW,GACXC,SAAU,GACVC,UAAW,GACXV,MAAO,GACPW,IAAK,GACLC,SAAU,SAIhB,OAA0B93B,mBAAS,CACjC,CACEpJ,GAAI,EACJ4pB,SAAU,CAAEruB,MAAO,GAAIqE,MAAO,UAC9B8pB,WAAY,GACZmX,UAAW,GACXje,SAAU,GACV3iB,KAAM,GACN6gC,UAAW,GACXC,SAAU,GACVC,UAAW,GACXV,MAAO,GACPW,IAAK,GACLC,SAAU,MAbd,qBAAOC,GAAP,MAAcR,GAAd,MAgBA,GAA4Cv3B,mBAAS,IAArD,qBAAOyf,GAAP,MAAuBC,GAAvB,MAmkBA,OAA0BhC,IAAM1d,SAAS,GAAzC,qBACMsK,IADN,YACkBrB,aAAW,SAACC,GAAD,MAAY,CACvC0V,UAAW,CACTzE,QAAS,OACTG,SAAU,QAEZuE,UAAW,CACTzU,WAAYlB,EAAMK,QAAQ,GAC1BW,YAAahB,EAAMK,QAAQ,GAC3BE,aAAc,QAEhB0hB,MAAO,CACL7hB,UAAWJ,EAAMK,QAAQ,IAE3B6hB,KAAM,CACJhiB,MAAO,KAETiiB,UAAW,CACTC,UAAW,SACXC,WAAY,UAEdka,aAAc,CACZC,aAAc,gCAEhBC,iBAAkB,CAChBlrB,SAAU,SACV7Q,OAAQ,QACRR,MAAO,aAILw8B,GAAsB1xB,MAAaC,MAAM,CAC7Ctd,KAAMqd,MACH4U,IAAI,EAAG,qBACPC,IAAI,GAAI,sBACRnjB,SAAS,iCACZqd,QAAS/O,MACN4U,IAAI,GAAI,sBACRljB,SAAS,uBACZsd,KAAMhP,MAAatO,SAAS,oBAC5Bi5B,cAAe3qB,MAAatO,SAAS,mCACrCsb,UAAWhN,MAAatO,SAAS,gCAE7B1O,GAAe,WACnB,OACE,uBACEC,MAAM,6CACNC,MAAO,CAAEC,SAAU,MAAOC,SAAU,eAKpC+f,GAAa,GAEnB,SAASwuB,GAAT,GAAoE,IAAD,OAA5BtxB,EAA4B,EAA5BA,eAAgBD,EAAY,EAAZA,SACrD,EAA8BtU,mBAASqX,IAAvC,mBAAOkiB,EAAP,KAAgBqH,EAAhB,KACA,EAAoC5gC,mBAAS,CAC3C7N,MAAO,GACPqE,MAAO,WAFT,mBAAOsvC,EAAP,KAAmBC,EAAnB,KAIA,EAAwC/lC,mBAASqX,IAAjD,mBAAOwpB,EAAP,KAAqBmF,EAArB,KACA,EAA4BhmC,oBAAS,GAArC,mBAAO2yB,EAAP,KAAenO,EAAf,KACA,EAAgDxkB,qBAAhD,mBAAOimC,EAAP,KAAyBC,EAAzB,KACA,EAA4BlmC,mBAAS,IAArC,mBAAOqf,EAAP,KAAeC,EAAf,KACA,EAAkDtf,oBAAS,GAA3D,mBAAO+e,EAAP,KAA0BC,EAA1B,KACA,EAAkChf,oBAAS,GAA3C,mBACA,GADA,UAC0CA,mBAAS,CACjD7N,MAAO,GACPqE,MAAO,MAFT,mBAAO2vC,GAAP,KAAuBC,GAAvB,KAIA,GAA0BpmC,mBAAS,IAAnC,qBAAOoS,GAAP,MAAckH,GAAd,MAkEA,SAAS+sB,GAAYzqC,GACnB,IAAIuB,EAAI,YAAO46B,IACf56B,EAAK86B,OAAOr8B,EAAG,GACf27B,GAASp6B,GAEX,SAASm6B,KACPC,IAAS,SAACC,GAAD,4BACJA,GADI,CAEP,CACEpkC,GAAI,EACJyD,KAAM,GACNqf,KAAM,GACN6V,KAAM,EACNN,UAAW,GACXC,QAAS,GACTza,YAAa,GACb0a,YAAY,QAjFlB7kB,qBAAU,WACR85B,EAAW/oC,OAAO0hC,SAAWliB,IAC7B2uB,EAAgBnuC,OAAOgpC,cAAgBxpB,MACtC,IACHvQ,qBAAU,gBACYhO,IAAhBwb,EAAS1d,KACX8B,IAAE,eAAe4tC,OACjB5tC,IAAE,qBAAqB6tC,YAAY,YACnC7tC,IAAE,qBAAqBE,SAAS,cAElC,IACE,IAAI2gB,EAASjF,EAAS1d,GAAK,GAAK,cAC5B0d,EAAS1d,KACX2iB,EAAM,wBAAoBjF,EAAS1d,GAA7B,MAER0iB,GAASC,GACT,MAAO1mB,GACPuD,QAAQC,IAAIxD,MAEbyhB,GACHxN,qBAAU,WACR0d,EAAUlQ,EAASsU,WAAY,GAC/B,IAAI4d,EAAYlyB,EAAS4M,YAAa,EACtC,GAAIslB,EAAW,CACb,IAAI/pC,EAAI88B,EAAQpjB,MAAK,SAACtb,GAAD,OAAOA,EAAEjE,IAAM4vC,MAAcV,EAClDC,EACE,CACE5zC,MAAOsK,EAAE7F,GACTJ,MAAOiG,EAAE5F,OACNivC,GAoBT,GAhB8B,OAA5BxxB,EAASmyB,qBACmB3tC,IAA5Bwb,EAASmyB,gBAETP,EAAoB,CAClB/zC,MAAOmiB,EAASmyB,eAChBjwC,MAAO8d,EAASoyB,wBAGD5tC,GAAfwb,EAAS1d,KACX8B,IAAE,eAAe0L,OACjB1L,IAAE,qBAAqB6tC,YAAY,aACnC7tC,IAAE,qBAAqBE,SAAS,YAChCF,IAAE,mBAAmBkzB,KAAK,YAAY,GACtClzB,IAAE,mBAAmBiuC,IAAI,mBAAoB,WAC7CjuC,IAAE,mBAAmBkzB,KAAK,YAAY,IAEf,OAArBtX,EAASsyB,cAAyC9tC,IAArBwb,EAASsyB,QAAuB,CAC/D,IAAIhC,EAAY7wC,KAAKC,MAAMD,KAAKE,UAAUqgB,IAC1CswB,EAAUC,aAAc,EACxBtN,GAASqN,EAAUgC,YAWpB,CAACtyB,IAsBJ,OAA0BtU,mBAAS,CACjC,CACEpJ,GAAI,EACJC,KAAM,GACNk1B,KAAM,EACN7V,KAAM,GACNuV,UAAW,GACXC,QAAS,GACTza,YAAa,GACb0a,YAAY,KAThB,qBAAOoM,GAAP,MAAcR,GAAd,MAYMhkC,GAAU+W,KAChB,SAASu8B,GAAiBjrC,EAAGqL,GAC3B,IAAI/M,EAAM,YAAO69B,IACjB79B,EAAO0B,GAAG/E,KAAOoQ,EAAMrE,OAAOzQ,MAC9BolC,GAASr9B,GAEX,SAAS4sC,GAAiBlrC,EAAGqL,GAC3B,IAAI/M,EAAM,YAAO69B,IACjB79B,EAAO0B,GAAGsa,KAAOjP,EAAMrE,OAAOzQ,MAC9BolC,GAASr9B,GAEX,SAAS6sC,GAAiBnrC,EAAGqL,GAC3B,IAAI/M,EAAM,YAAO69B,IACjB79B,EAAO0B,GAAGmwB,KAAO9kB,EAAMrE,OAAOzQ,MAC9BolC,GAASr9B,GAEX,SAAS8sC,GAAwBprC,EAAGqL,GAClC,IAAI/M,EAAM,YAAO69B,IACjB79B,EAAO0B,GAAGqV,YAAchK,EAAMrE,OAAOzQ,MACrColC,GAASr9B,GAEX,SAAS+sC,GAAsBrrC,EAAGqL,GAChC,IAAI/M,EAAM,YAAO69B,IACjB79B,EAAO0B,GAAG6vB,UAAYxkB,EAAMrE,OAAOzQ,MACnColC,GAASr9B,GAEX,SAASgtC,GAAoBtrC,EAAGqL,GAC9B,IAAI/M,EAAM,YAAO69B,IACjB79B,EAAO0B,GAAG8vB,QAAUzkB,EAAMrE,OAAOzQ,MACjColC,GAASr9B,GAEX,SAASitC,GAAoBvrC,EAAGqL,GAC9B,IAAI/M,EAAM,YAAO69B,IACjB79B,EAAO0B,GAAG+vB,WAAa1kB,EAAMrE,OAAOknB,QACpCyN,GAASr9B,GAmGX,IAAM2mB,GAAmB,wCAAG,WAAO5Z,GAAP,2EACtBpP,OAAOwnB,SAAP,oCAA+CpY,GADzB,oDAE1B+X,GAAqB,GACrBM,EAAU,IAHgB,SAKV,KAAVrY,GAA0B,OAAVA,EALI,iCAMDqO,IAAM3M,IAAN,oCAAuC1B,IANtC,OAOD,MADf9E,EANgB,QAOX4F,SACL5F,EAAO5M,KAAKsG,OAAS,GACvBhE,OAAOwnB,OAAP,oCAA6CpY,GAC7CqY,GAAgB,OAANnd,QAAM,IAANA,OAAA,EAAAA,EAAQ5M,OAAQ,KAE1B3C,YAAa,UAAW,yCAZN,kEAgB1BosB,GAAqB,GAhBK,0DAAH,sDAmBzB,SAASooB,GAAcl/B,GACrB,IAAIH,EAASG,EAAIH,OACbs/B,EAAan/B,EAAIm/B,WACrB,OAAe,MAAXt/B,GACFnV,YAAa,UAAW,YACjB,GACa,MAAXmV,GACTnV,YAAa,QAASy0C,IACf,QAFF,EAhRwD,+CAqRjE,WAAwBC,EAAUl0C,GAAlC,2FACSiU,MAAM,GAAD,OAAIxP,OAAOyP,QAAX,oBAA8BlU,GAAM,CAC9CmU,OAAQ,MACRC,iBAAiB,EACjBC,QAAS,CACPiL,OAAQ,oCACRhL,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,oBAElBvV,KAAM2B,KAAKE,UAAUqzC,KAEpB1/B,KAXI,wCAWC,WAAOC,GAAP,2FACGA,GADH,2CAXD,uDAcJD,MAAK,SAACM,GAGL,OAFAk4B,KACApC,GAAuB,CAAE7rC,MAAOm1C,EAAS1wC,GAAIJ,MAAO8wC,EAASzwC,OACtDuwC,GAAcl/B,MAEtBC,OAAM,SAACtV,GACN,OAAOu0C,GAAcv0C,OArB3B,4CArRiE,qEA6SjE,WAAyBy0C,GAAzB,2FACSjgC,MAAM,GAAD,OAAIxP,OAAOyP,QAAX,YAA8B,CACxCC,OAAQ,OACRC,iBAAiB,EACjBC,QAAS,CACPiL,OAAQ,oCACRhL,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,oBAElBvV,KAAM2B,KAAKE,UAAUqzC,KAEpB1/B,KAXI,wCAWC,WAAOC,GAAP,2FACGA,GADH,2CAXD,uDAcJD,MAAK,SAACM,GAEL,OADAk4B,KACOgH,GAAcl/B,MAEtBC,OAAM,SAACtV,GACN,OAAOu0C,GAAcv0C,OApB3B,4CA7SiE,sBAoUjE,OACE,oCACE,kBAAC,IAAD,CACE0iB,oBAAoB,EACpBC,cAAelB,EACfmB,iBAAkBmwB,GAClBlwB,SAAU,SAACxb,GACTA,EAAO0sC,QAAU7O,GACb79B,EAAOtD,GA5U8C,uCA6UvD2wC,CAASrtC,EAAQA,EAAO9G,IA7U+B,qCA+UvDo0C,CAAUttC,MAIb,gBAAG2f,EAAH,EAAGA,OAAQD,EAAX,EAAWA,QAAS7D,EAApB,EAAoBA,aAAc7P,EAAlC,EAAkCA,cAAlC,OACC,oCACE,kBAACuT,EAAA,EAAD,CACErmB,GAAG,iBACH+Q,KAAK,KACLC,KAAMi7B,GACN/6B,kBAAgB,gCAEhB,kBAACmV,EAAA,EAAMlV,OAAP,KACE,kBAACkV,EAAA,EAAM9U,MAAP,CAAavR,GAAG,gCACbgf,IAEH,kBAACie,EAAA,EAAD,CACE7rB,aAAW,QACX/E,QAAS,SAAC6C,GACRg9B,IAAoB,KAGtB,kBAAC,IAAD,QAGJ,kBAAC7lB,EAAA,EAAMhV,KAAP,KACG8P,GACC,yBAAKvhB,UAAU,gCACb,yBAAKA,UAAU,wCAGnB,kBAACslC,EAAA,EAAD,CAAMtlC,UAAU,yBACd,yBAAKA,UAAU,kBACb,yBAAKA,UAAU,WAAWI,GAAG,cAC3B,kBAAC,IAAD,CACE4F,KAAK,OACL5F,GAAG,iBACHsO,UAAW2f,IACXjf,YAAY,eACZ5L,MAAM,eACNoP,UAAU,KAGd,yBAAK5S,UAAU,WAAWI,GAAG,oBAC3B,kBAAC,IAAD,CACE4F,KAAK,OACL0I,UAAW2f,IACXjf,YAAY,oBACZ5L,MAAM,oBACNoP,UAAU,MAIhB,yBAAK5S,UAAU,cACb,yBAAKA,UAAU,kBACb,0CACA,kBAAC,IAAD,CACEgG,KAAK,UACL3F,GAAG,WACHL,UAAU,iBAEX6mB,EAAOoJ,SAAWrJ,EAAQqJ,QACzB,yBAAK7rB,MAAO,CAAE2K,MAAO,MAAO1K,SAAU,SACnCwiB,EAAOoJ,SAER,OAGR,yBAAKjwB,UAAU,kBACb,yBAAKA,UAAU,YACb,kBAAC,IAAD,CACEgG,KAAK,OACL0I,UAAW2f,IACXjf,YAAY,OACZ5L,MAAM,UAGV,yBAAKxD,UAAU,YACb,kBAAC,IAAD,CAAQgG,KAAK,QAAQxC,MAAM,QAAQpD,GAAG,iBACpC,4BAAQkH,IAAI,GAAGnI,MAAM,IAArB,kBAGCktB,EAAOtoB,KAAI,SAACC,EAAMC,GAAP,OACV,4BAAQqD,IAAKrD,EAAO9E,MAAO6E,EAAKH,MAC7BG,EAAKH,UAIXkoB,GACC,kBAACqC,EAAA,EAAD,CAAgBrf,MAAM,eAG1B,yBAAK/O,UAAU,YACb,kBAAC,IAAD,CACEgG,KAAK,aACL0I,UAAW2f,IACXjf,YAAY,cACZ5L,MAAM,kBAIZ,yBAAKxD,UAAU,kBACb,yBAAKA,UAAU,YACb,0CACU,kBAACkE,GAAD,OAEV,kBAAC,IAAD,CACE8B,KAAK,YACL7G,MAC2B,KAAzBg0C,GAAeh0C,MACX,CAAEA,MAAO,KAAMqE,MAAO,iBACtB2vC,GAENh5B,QAASosB,EAAQxiC,KAAI,SAAC8D,GACpB,MAAO,CAAE1I,MAAK,OAAE0I,QAAF,IAAEA,OAAF,EAAEA,EAAGjE,GAAIJ,MAAK,OAAEqE,QAAF,IAAEA,OAAF,EAAEA,EAAGhE,SAEnCwL,SAAU,SAAC8e,GACTilB,GAAgBjlB,GAChBjb,EAAc,YAAD,OAAcib,QAAd,IAAcA,OAAd,EAAcA,EAAUhvB,OACrC0uB,GAAmB,OAACM,QAAD,IAACA,OAAD,EAACA,EAAUhvB,UAGjC0nB,EAAOqH,WAAatH,EAAQsH,UAC3B,yBAAK9pB,MAAO,CAAE2K,MAAO,MAAO1K,SAAU,SACnCwiB,EAAOqH,WAER,MAEN,yBAAKluB,UAAU,YACb,kBAAC,IAAD,CACEgG,KAAK,QACL0I,UAAW2f,IACXjf,YAAY,QACZ5L,MAAM,WAGV,yBAAKxD,UAAU,YACb,kBAAC,IAAD,CACEgG,KAAK,MACL0I,UAAW2f,IACXjf,YAAY,MACZ5L,MAAM,UAIZ,yBAAKxD,UAAU,kBACb,yBAAKA,UAAU,YACb,kBAAC,IAAD,CACEgG,KAAK,UACL0I,UAAW2f,IACXjf,YAAY,mBACZ5L,MAAM,sBAGV,yBAAKxD,UAAU,YACb,kBAAC,IAAD,CACEgG,KAAK,UACL0I,UAAW2f,IACXjf,YAAY,UACZ5L,MAAM,aAGV,yBAAKxD,UAAU,YACb,uCACO,kBAACkE,GAAD,OAEP,kBAAC+iC,GAAD,CACE1c,UAAU,gBACVD,YAAaujB,EACbrjB,aAAcyoB,EACd//B,cAAeA,IAEhB2T,EAAOglB,eAAiBjlB,EAAQilB,cAC/B,yBAAKznC,MAAO,CAAE2K,MAAO,MAAO1K,SAAU,SACnCwiB,EAAOglB,eAER,MAEN,yBAAK7rC,UAAU,mCACb,kBAAC,IAAD,CACE82B,QAAS6I,EACTn8B,MAAM,IACNvE,KAAK,SACL+G,KAAK,WACL5F,GAAG,aACHiP,SAAU,SAAC4E,GACTf,EAAc,WAAYe,EAAMrE,OAAOknB,SACvCtF,EAAUvd,EAAMrE,OAAOknB,cAM/B,yBACE92B,UAAW,cAAgBO,GAAQoyC,iBACnCvuC,MAAO,CAAE+iB,QAAS,QAClB/mB,GAAG,sBAEH,6BACE,yBAAKJ,UAAU,QACb,wBAAIA,UAAU,oBAAd,gBACA,yBAAKA,UAAU,aACb,yBAAKA,UAAU,kBACb,yBAAKI,GAAG,wBApYlC,WAAqB,IAAD,OAClB,OAAO2kC,GAAMhhC,KAAI,SAACihB,EAAIpc,GAAL,OACf,yBAAK5I,UAAW,kBAAoBO,GAAQkyC,cAC1C,yBAAKzyC,UAAU,qBACb,kBAAC,IAAD,CACEgG,KAAK,WACL0I,UAAW2f,IACXjf,YAAY,OACZ5L,MAAM,OACNrE,MAAO6lB,EAAGnhB,MAAQ,GAClBwL,SAAUwkC,GAAiB/0B,KAAK,EAAMlW,MAG1C,yBAAK5I,UAAU,qBACb,kBAAC,IAAD,CACEgG,KAAK,WACL0I,UAAW2f,IACXjf,YAAY,OACZ5L,MAAM,OACNrE,MAAO6lB,EAAG9B,MAAQ,GAClB7T,SAAUykC,GAAiBh1B,KAAK,EAAMlW,MAG1C,yBAAK5I,UAAU,YACb,kBAAC,IAAD,CACEgG,KAAK,OACL0I,UAAW2f,IACXjf,YAAY,OACZrM,KAAK,SACLS,MAAM,OACNrE,MAAO6lB,EAAG+T,MAAQ,GAClB1pB,SAAU0kC,GAAiBj1B,KAAK,EAAMlW,MAG1C,yBAAK5I,UAAU,YACb,kBAAC,IAAD,CACEgG,KAAK,cACL0I,UAAW2f,IACXjf,YAAY,cACZ5L,MAAM,cACNrE,MAAO6lB,EAAG/G,aAAe,GACzB5O,SAAU2kC,GAAwBl1B,KAAK,EAAMlW,MAGjD,yBAAK5I,UAAU,iBACb,kBAAC+oB,EAAA,EAAD,CACE3oB,GAAG,YACH4F,KAAK,YACLxC,MAAM,aACNT,KAAK,iBACLye,aAAa,GACbxhB,UAAWO,GAAQsrB,UACnB9X,gBAAiB,CACfC,QAAQ,GAEV7U,MAAO6lB,EAAGyT,WAAa,GACvBppB,SAAU4kC,GAAsBn1B,KAAK,EAAMlW,MAG/C,yBAAK5I,UAAU,iBACb,kBAAC+oB,EAAA,EAAD,CACE3oB,GAAG,UACH4F,KAAK,UACLxC,MAAM,WACNT,KAAK,iBACLye,aAAa,GACbxhB,UAAWO,GAAQsrB,UACnB9X,gBAAiB,CACfC,QAAQ,GAEV7U,MAAO6lB,EAAG0T,SAAW,GACrBrpB,SAAU6kC,GAAoBp1B,KAAK,EAAMlW,MAG7C,yBAAK5I,UAAU,oBACb,kBAAC,IAAD,CACE82B,SAA2B,IAAlB9R,EAAG2T,WACZ34B,UAAU,eACVf,KAAK,aACL+G,KAAK,aACL5F,GAAG,aACHjB,MAAO6lB,EAAG2T,YAAc,GACxBtpB,SAAU8kC,GAAoBr1B,KAAK,EAAMlW,MAG7C,yBAAK5I,UAAU,iBACb,kBAACwzB,EAAA,EAAD,CACEpvB,MAAO,CAAEkS,UAAW,QACpBqd,QAAQ,SACRlnB,QAAS4mC,GAAYv0B,KAAK,EAAMlW,IAHlC,eA+SqBg9B,GACD,4BACE7iC,KAAK,SACL0J,QAAS63B,GAASxlB,KAAK,GACvB9e,UAAU,+BAHZ,kBAaZ,yBAAKA,UAAU,cACb,yBAAKA,UAAU,kBACb,uCACA,kBAAC,IAAD,CACEgG,KAAK,OACL3F,GAAG,WACHL,UAAU,qBAMpB,kBAACymB,EAAA,EAAM/U,OAAP,KACE,4BACE3O,KAAK,SACL0J,QAAS,kBAAM6/B,IAAoB,IACnCtsC,UAAU,6BAHZ,UAOA,yCACA,4BACE+C,KAAK,SACL0J,QAAS,WACPsW,IACAupB,IAAoB,IAEtBtsC,UAAU,+BANZ,eAmBhB,OAA4BgN,mBAAS,IAArC,qBAAOqf,GAAP,MAAeC,GAAf,MACA,GAAkDtf,oBAAS,GAA3D,qBAAO+e,GAAP,MAA0BC,GAA1B,MACA,GAA8Bhf,mBAASqX,IAAvC,qBAAOkiB,GAAP,MAAgBqH,GAAhB,MAEM6G,GAAoB,wCAAG,WAAOxgC,GAAP,6EAC3B+X,IAAqB,GACrBM,GAAU,IACI,KAAVrY,GAA0B,OAAVA,EAHO,gCAIJqO,IAAM3M,IAAN,oCAAuC1B,IAJnC,OAKJ,MADf9E,EAJmB,QAKd4F,SACL5F,EAAO5M,KAAKsG,OAAS,GACjBwjB,EAAS,GACfxnB,OAAO6vC,eAAiBvlC,EAAO5M,KAC/B4M,EAAO5M,KAAKsG,OAAS,GACnBsG,EAAO5M,KAAKwB,KAAI,SAACC,GACfqoB,EAAOvjB,KAAK,CAAE3J,MAAO6E,EAAKJ,GAAIJ,MAAOQ,EAAKH,UAE9CyoB,GAAUD,IAEVzsB,YAAa,UAAW,yCAfH,OAmB3BosB,IAAqB,GAnBM,2CAAH,sDA4B1B,OANAlY,qBAAU,WACJwN,EAASilB,SACXkO,GAAqBnzB,EAASilB,WAE/B,CAACjlB,IAGF,oCAEE,kBAAC8jB,EAAA,EAAD,CAAWC,iBAAiB,KAC1B,kBAAC,IAAD,CACE9iB,oBAAoB,EACpBC,cAAelB,EACfmB,iBAAkBxB,EAClByB,SAAU,SAACxb,GACT,IAKIytC,EALA/C,EAAY7wC,KAAKC,MAAMD,KAAKE,UAAUiG,IAkC1C,GAjCA0qC,EAAUC,aAAc,EACxBD,EAAU5N,SAAWe,GACrB6M,EAAUD,YAAchJ,GAGxBiJ,EAAU5N,SAASn7B,OAAS,GAC1B+oC,EAAU5N,SAASjgC,KAAI,SAACC,EAAMC,GAEP,KAAnBD,EAAKygC,WACa,KAAlBzgC,EAAKwiB,UACU,KAAfxiB,EAAKkgC,QAEkB,KAAnBlgC,EAAKygC,WACP7kC,YACE,QADU,kBAECqE,EAAQ,EAFT,8BAKQ,KAAlBD,EAAKwiB,UACP5mB,YACE,QADU,kBAECqE,EAAQ,EAFT,6BAKK,KAAfD,EAAKkgC,OACPtkC,YACE,QADU,kBAECqE,EAAQ,EAFT,yBAKd0wC,GAAU,MAGZA,EACF,OAAO,EAEP5P,GAAMhhC,KAAI,SAACC,UACFA,EAAKwpB,YA3zE1B,SAA6B4Q,GAG3B,IAFA,IAAMwW,EAAM,IAAIC,IAEPjsC,EAAI,EAAGA,EAAIw1B,EAAMv1B,OAAQD,IAAK,CACrC,IAAMkkB,EAAMsR,EAAMx1B,GAEZ1B,EAAS,CACb4lB,EAAInV,UACJmV,EAAIjV,OACJiV,EAAI/U,gBAGN,GAAI68B,EAAIE,IAAI5tC,EAAOQ,KAAK,MACtB,OAAO,EAEPktC,EAAIG,IAAI7tC,EAAOQ,KAAK,MAIxB,OAAO,EA4yEKstC,CAAoB57B,GACtBxZ,YAAa,QAAS,0CAGxBgyC,EAAUvC,sBAAwBj2B,EAClCw4B,EAAUhwB,UAAY6mB,GACtBmJ,EAAUO,iBAAmB/I,GAC7B/nB,EAAauwB,OAGd,cAAG/qB,OAAH,EAAWD,QAAX,8BAAoB7D,EAApB,EAAoBA,aAAc7P,EAAlC,EAAkCA,cAAehM,EAAjD,EAAiDA,OAAjD,OACC,oCACE,kBAACuf,EAAA,EAAMhV,KAAP,KACE,kBAACgV,EAAA,EAAD,CACEtV,KAAK,KACL/Q,GAAG,qBACHgR,KAAM26B,GACNz6B,kBAAgB,+BAChBtR,UAAU,qBAEV,kBAACymB,EAAA,EAAMlV,OAAP,KACE,kBAACkV,EAAA,EAAM9U,MAAP,iCACA,kBAAC0rB,EAAA,EAAD,CACE7rB,aAAW,QACX/E,QAAS,SAAC6C,GACR08B,IAA6B,GAC7B94B,EAAc,YAAY,KAG5B,kBAAC,IAAD,QAGJ,kBAACuT,EAAA,EAAMhV,KAAP,KACG06B,GAAWtjC,OAAS,EACnB,yBAAK7I,UAAU,mBACb,kBAAC,IAAD,CACEwD,MAAM,cACNwC,KAAK,iBACLqJ,SAAU,SAACC,GAEP48B,GADQ,OAAN58B,EACcA,EAAEM,OAAOzQ,MAET,QAIpB,0CAXF,OAYGgtC,SAZH,IAYGA,QAZH,EAYGA,GAAYpoC,KAAI,SAACC,EAAMC,GAAP,OACf,4BAAQqD,IAAKrD,EAAO9E,MAAK,OAAE6E,QAAF,IAAEA,OAAF,EAAEA,EAAMJ,IAAjC,OACGI,QADH,IACGA,OADH,EACGA,EAAMH,WAMf,GAGF,yBAAK7D,UAAU,cACb,8CACA,8BACEA,UAAU,oBACVib,KAAK,IACL7a,GAAG,kBAIT,kBAACqmB,EAAA,EAAM/U,OAAP,KACE,kBAAC8hB,EAAA,EAAD,CACExzB,UAAU,6BACVyM,QAAS,SAAC6C,GACR08B,IAA6B,GAC7B94B,EAAc,YAAY,KAJ9B,MAUA,kBAACsgB,EAAA,EAAD,CACExzB,UAAU,iCACVyM,QAAS,WACP,GACmD,KAAjDjO,SAASsR,eAAe,eAAe3Q,OAEvC,OADAX,SAASsR,eAAe,eAAe3Q,YAGvC2G,IADAtH,SAASsR,eAAe,eAAe3Q,MAMzC,GAAqB,OAAjB8sC,GAAJ,CAIA,IAAI52B,EAAY,IAAIC,QACpBD,EAAUE,OACR,gBADF,iBAEYpX,GAAG8L,OAAOC,WAAWyK,QAEjCU,EAAUE,OAAO,eAAgB,oBAEjC,IAIIC,EAAiB,CACnBjB,OAAQ,MACRE,QAASY,EACTjW,KAPQ2B,KAAKE,UAAU,CACvBg0C,OAAQz2C,SAASsR,eAAe,eAAe3Q,MAC/C+1C,eAAgBjJ,KAMhBx2B,SAAU,UAEZpB,MAAM,GAAD,OACAxP,OAAOyP,QADP,qCACoCgN,QADpC,IACoCA,OADpC,EACoCA,EAAU1d,IACjD4R,GAECZ,MAAK,SAACC,GAAD,OAAcA,EAAS5V,UAC5B2V,MAAK,SAACzF,GACL68B,IAA6B,GAC7BpsC,YACE,UADU,gCAIZpB,SAASsR,eAAe,iBAAiBinB,WAE1C5hB,OAAM,SAAC5K,GAAD,OAAWnH,QAAQC,IAAI,QAASkH,WAjCvC3K,YAAa,QAAD,kCAJZA,YAAa,QAAD,sBAVlB,SAuDH2hB,GACC,yBAAKvhB,UAAU,gCACb,yBAAKA,UAAU,wCAGnB,kBAACslC,EAAA,EAAD,CAAMtlC,UAAU,yBACd,kBAAColC,EAAA,EAAUjlC,OAAX,CACEE,GAAImzB,IACJxzB,UAAU,6DACV2zB,QAAQ,OACR4R,SAAS,KAET,kBAACC,EAAA,EAAD,CAAO7R,QAAQ,WAAW3zB,UAAU,kBAClC,wBAAIA,UAAU,oBAAd,oBAEF,kBAAC4zB,EAAA,EAAD,CACE5zB,UAAWwpB,YACT,mDAEFplB,MAAO,CAAEC,SAAU,GAAIgkB,MAAO,OAAQod,IAAK,UAG/C,kBAACL,EAAA,EAAUM,SAAX,CAAoBH,SAAS,IAAIvlC,UAAU,QACzC,6BACE,yBAAKA,UAAU,QACb,wBAAIA,UAAU,oBAAd,wBAGA,yBAAKA,UAAU,aACb,yBAAKA,UAAU,kBACb,yBAAKA,UAAU,aACb,kBAAC,IAAD,CACEgG,KAAK,WACLxC,MAAM,SACNgE,KAAG,EACHrI,MAAOi4B,GACP/nB,SAAU,SAACC,GACT2qB,GAAY3qB,EAAEM,OAAOzQ,OACrB+T,EAAc,WAAY5D,EAAEM,OAAOzQ,SAGrC,kBAACk7B,EAAA,EAAD,CACEl7B,MAAM,OACNm7B,QAAS,kBAACC,EAAA,EAAD,CAAOxrB,MAAM,YACtBvL,MAAM,aAER,kBAAC62B,EAAA,EAAD,CACEl7B,MAAM,QACNm7B,QAAS,kBAACC,EAAA,EAAD,CAAOxrB,MAAM,YACtBvL,MAAM,sBAIMsC,KAAT,OAARwb,QAAQ,IAARA,OAAA,EAAAA,EAAU1d,IACT,yBAAK5D,UAAU,YACb,yBAAKA,UAAU,kCACb,0BAAMA,UAAU,kCAChB,2BAAOA,UAAU,sFACf,2BACE+C,KAAK,WACLiD,KAAK,WACL8wB,QAAS5vB,EAAOiuC,SAChB9lC,SAAU,SAACC,GACT4D,EACE,WACA5D,EAAEM,OAAOknB,SAEPxnB,EAAEM,OAAOknB,SACXkV,IAA6B,MAInC,gCAEF,yBAAKhsC,UAAU,kCACb,uBAAGA,UAAU,2EAAb,iBAON,IAGJ,yBAAKA,UAAU,kBAEb,yBAAKA,UAAU,YACb,kBAAC,IAAD,CACEgG,KAAK,cACL0I,UAAW2f,IACXjf,YAAY,eACZ5L,MAAM,kBAGV,yBAAKxD,UAAU,YACb,kBAAC,IAAD,CACEgG,KAAK,aACL0I,UAAW2f,IACXjf,YAAY,oBACZ5L,MAAM,uBAGV,yBAAKxD,UAAU,YACb,kBAAC,IAAD,CACEgG,KAAK,cACL0I,UAAW2f,IACXjf,YAAY,eACZ5L,MAAM,mBAKZ,yBAAKxD,UAAU,kBAGb,yBAAKA,UAAU,YACb,kBAAC,IAAD,CACEgG,KAAK,MACL0I,UAAW2f,IACXjf,YAAY,aACZ5L,MAAM,gBAIV,yBAAKxD,UAAU,YACb,kBAAC,IAAD,CACEgG,KAAK,UACL0I,UAAW2f,IACXjf,YAAY,UACZ5L,MAAM,aAIV,yBAAKxD,UAAU,YACb,kBAAC,IAAD,CACEgG,KAAK,QACL0I,UAAW2f,IACXjf,YAAY,QACZ5L,MAAM,YAIZ,yBAAKxD,UAAU,kBAGb,yBAAKA,UAAU,YACb,kBAAC,IAAD,CACEgG,KAAK,QACL0I,UAAW2f,IACXjf,YAAY,QACZ5L,MAAM,WAIV,yBAAKxD,UAAU,YACb,kBAAC,IAAD,CACEgG,KAAK,cACL0I,UAAW2f,IACXtrB,KAAK,SACLqM,YAAY,eACZ5L,MAAM,kBAIV,yBAAKxD,UAAU,YACb,kBAAC,IAAD,CACEgG,KAAK,UACL0I,UAAW2f,IACXtrB,KAAK,SACLqM,YAAY,UACZ5L,MAAM,cAIZ,yBAAKxD,UAAU,kBAEb,yBAAKA,UAAU,YACb,0CACU,kBAACkE,GAAD,OAEV,kBAAC,IAAD,CACE8B,KAAK,YACL7G,OACE,UAAAonC,GAAQxiC,KAAI,SAAC8D,GACX,MAAO,CAAE1I,MAAK,OAAE0I,QAAF,IAAEA,OAAF,EAAEA,EAAGjE,GAAIJ,MAAK,OAAEqE,QAAF,IAAEA,OAAF,EAAEA,EAAGhE,gBADnC,eAGGsf,MACD,SAAC2J,GAAD,OAASA,EAAI3tB,QAAU+H,EAAOq/B,aAC3B,CAAEpnC,MAAO,GAAIqE,MAAO,UAG3B2W,QAASosB,GAAQxiC,KAAI,SAAC8D,GACpB,MAAO,CAAE1I,MAAK,OAAE0I,QAAF,IAAEA,OAAF,EAAEA,EAAGjE,GAAIJ,MAAK,OAAEqE,QAAF,IAAEA,OAAF,EAAEA,EAAGhE,SAEnCwL,SAAU,SAAC8e,GACTjb,EAAc,UAAD,OAAYib,QAAZ,IAAYA,OAAZ,EAAYA,EAAUhvB,OACnCs1C,GAAoB,OAACtmB,QAAD,IAACA,OAAD,EAACA,EAAUhvB,UAIjC,kBAAC,IAAD,CACE6G,KAAK,UACL0I,UAAU,MACV1O,UAAU,iBAKhB,yBAAKA,UAAU,YACb,kBAAC,IAAD,CACEgG,KAAK,WACL0I,UAAW2f,IACXjf,YAAY,WACZ5L,MAAM,cAIV,yBAAKxD,UAAU,YACb,kBAAC,IAAD,CACEgG,KAAK,WACL0I,UAAW2f,IACXjf,YAAY,WACZ5L,MAAM,eAKZ,yBAAKxD,UAAU,kBAEb,yBAAKA,UAAU,YACb,wCAGA,kBAAC,IAAD,CACEgG,KAAK,QACLmU,QAASkS,GACTltB,MACEktB,GAAOlJ,MACL,SAAC2J,GAAD,OAASA,EAAItpB,QAAU0D,EAAO+lB,UAC3B,CAAE9tB,MAAO,GAAIqE,MAAO,UAG3B6L,SAAU,SAAC8e,GACTjb,EAAc,QAAD,OAAUib,QAAV,IAAUA,OAAV,EAAUA,EAAU3qB,UAGpCuoB,IAAqB,kBAACqC,EAAA,EAAD,CAAgBrf,MAAM,eAE9C,yBAAK/O,UAAU,YACb,kBAAC,IAAD,CACEgG,KAAK,OACL0I,UAAW2f,IACXjf,YAAY,gBACZ5L,MAAM,mBAIV,yBAAKxD,UAAU,YACb,kBAAC,IAAD,CACEgG,KAAK,aACLoJ,YAAY,aACZV,UAAW2f,IACX7qB,MAAM,mBAMhB,yBAAKxD,UAAU,aACb,wBAAIA,UAAU,oBAAd,mBACA,yBAAKA,UAAU,aACb,yBAAKA,UAAU,kBAEb,yBAAKA,UAAU,YACb,kBAAC,IAAD,CACEgG,KAAK,cACL0I,UAAW2f,IACXjf,YAAY,OACZ5L,MAAM,UAGV,yBAAKxD,UAAU,YACb,kBAAC,IAAD,CACEgG,KAAK,eACL0I,UAAW2f,IACXjf,YAAY,eACZ5L,MAAM,kBAGV,yBAAKxD,UAAU,YACb,kBAAC,IAAD,CACEgG,KAAK,eACL0I,UAAW2f,IACXjf,YAAY,QACZ5L,MAAM,cAMhB,yBAAKxD,UAAU,aACb,wBAAIA,UAAU,oBAAd,uCAGA,yBAAKA,UAAU,aACb,yBAAKA,UAAU,kBAEb,yBAAKA,UAAW,YACd,oDACA,kBAAC,IAAD,CACEka,aAAW,EACX/a,MAAO8rC,GACP57B,SAAU,SAAC8e,GAEP+c,GADe,OAAb/c,EACuBA,EAEA,CACvBhvB,MAAO,GACPqE,MAAO,WAGX0P,EACE,qBADW,OAEXib,QAFW,IAEXA,OAFW,EAEXA,EAAUhvB,QAGdgb,QAAS6uB,GACThjC,KAAK,qBACLhG,UAAU,gBAGd,yBAAKA,UAAU,YACb,kDACA,kBAAC,IAAD,CACEka,aAAW,EACX/a,MAAO4rC,GACP17B,SAAU,SAAC8e,GACQ,OAAbA,GACFqe,GAAY,OAACre,QAAD,IAACA,OAAD,EAACA,EAAUhvB,OACvB6rC,GAAuB7c,KAEvB6c,GAAuB,CACrB7rC,MAAO,GACPqE,MAAO,WAETgpC,GAAa,GACbE,GAAsB1c,KAExB9c,EACE,mBADW,OAEXib,QAFW,IAEXA,OAFW,EAEXA,EAAUhvB,QAGdgb,QAASwwB,GACT3kC,KAAK,mBACLhG,UAAU,gBAEP,IACQ,IAAdusC,IACC,yBAAKvsC,UAAU,oBACb,uBACEof,MAAM,gBACNpf,UAAU,uDACVyM,QAAS,WACP6/B,IAAoB,GAp1FrD,qCAq1FiC8I,CAAW7I,MAGb,0BAAMvsC,UAAU,yCACd,kBAAC,IAAD,CACEwI,IAAKC,YACH,iDAOG,IAAd8jC,IACC,yBAAKvsC,UAAU,YACb,4BACE+C,KAAK,SACL0J,QAAS,WACP6/B,IAAoB,IAEtBtsC,UAAU,sCAEV,uBACEA,UAAS,oBACToE,MAAO,CAAEu4B,aAAc,aACnB,SAOlB,yBAAK38B,UAAU,aACb,wBAAIA,UAAU,oBAAd,oBACA,yBAAKA,UAAU,aACb,yBAAKA,UAAU,kBACb,yBAAKA,UAAU,kBAEX,kBAAC,IAAD,CACEq1C,SAAO,EAEPrvC,KAAK,aACL7G,MAAOmqC,GACPnvB,QAAS6uB,GACThpC,UAAU,qBACVs1C,gBAAgB,SAChBjmC,SAAU,SAACC,GACT,IAAIkW,EAAO,GACPlW,GAEAA,EAAEvL,KAAI,SAACC,EAAMC,GACXuhB,EAAK1c,KAAK,CACRlF,GAAII,EAAK7E,MACT0E,KAAMG,EAAKR,WAKnB+lC,GAAoBj6B,GACpB+5B,GAAqB7jB,MAID,IAAzBwjB,GAAcngC,QAAgB,kBAACulB,EAAA,EAAD,UAKvC,yBAAKpuB,UAAU,aACb,wBAAIA,UAAU,oBAAd,kBACA,yBAAKA,UAAU,aACb,yBAAKA,UAAU,kBACb,yBAAKA,UAAU,YACb,yCACA,kBAAC,IAAD,CACEka,aAAW,EACX/a,MAAOksC,GACPh8B,SAAU,SAAC8e,GAEPmd,GADe,OAAbnd,EACQA,EAEA,CACRhvB,MAAO,GACPqE,MAAO,WAGX0P,EACE,wBADW,OAEXib,QAFW,IAEXA,OAFW,EAEXA,EAAUhvB,QAGdgb,QAAS,CACP,CAAE3W,MAAO,OAAQrE,MAAO,GACxB,CAAEqE,MAAO,YAAarE,MAAO,GAC7B,CAAEqE,MAAO,sBAAuBrE,MAAO,IAEzC6G,KAAK,wBACLhG,UAAU,gBAId,yBAAKA,UAAU,YACb,iDAEA,kBAAC,IAAD,CACEka,aAAW,EACX/a,MAAOgsC,GACP97B,SAAU,SAAC8e,GAEPid,GADe,OAAbjd,EACkBA,EAEA,CAClBhvB,MAAO,GACPqE,MAAO,WAGX0P,EACE,kBADW,OAEXib,QAFW,IAEXA,OAFW,EAEXA,EAAUhvB,QAGdgb,QAAS,CACP,CAAE3W,MAAO,aAAcrE,MAAO,GAC9B,CAAEqE,MAAO,aAAcrE,MAAO,GAC9B,CAAEqE,MAAO,iBAAkBrE,MAAO,GAClC,CAAEqE,MAAO,UAAWrE,MAAO,GAC3B,CAAEqE,MAAO,aAAcrE,MAAO,IAEhC6G,KAAK,kBACLhG,UAAU,qBASxB,kBAAColC,EAAA,EAAUjlC,OAAX,CACEE,GAAImzB,IACJxzB,UAAU,6DACV2zB,QAAQ,OACR4R,SAAS,KAET,kBAACC,EAAA,EAAD,CAAO7R,QAAQ,WAAW3zB,UAAU,kBAClC,wBAAIA,UAAU,oBAAd,mBAEF,kBAAC4zB,EAAA,EAAD,CACE5zB,UAAWwpB,YACT,mDAEFplB,MAAO,CAAEC,SAAU,GAAIgkB,MAAO,OAAQod,IAAK,UAG/C,kBAACL,EAAA,EAAUM,SAAX,CAAoBH,SAAS,IAAIvlC,UAAU,QACzC,6BACE,yBAAKA,UAAU,QACb,wBAAIA,UAAU,oBAAd,WACA,yBAAKA,UAAU,aACb,yBAAKA,UAAU,kBAEb,yBAAKA,UAAU,YACb,kBAAC,IAAD,CACEgG,KAAK,mBACLxC,MAAM,qBAEN,4BAAQrE,MAAM,IAAd,UAJF,OAKG2pC,SALH,IAKGA,QALH,EAKGA,GAAqB/kC,KAAI,SAACC,EAAMC,GAAP,OACxB,4BAAQqD,IAAKrD,EAAO9E,MAAO6E,EAAKJ,IAC7BI,EAAKH,WAKd,yBAAK7D,UAAU,YACb,kBAAC,IAAD,CACEgG,KAAK,sBACLxC,MAAM,wBAEN,4BAAQrE,MAAM,KAAd,UAJF,OAKGwqC,SALH,IAKGA,QALH,EAKGA,GAAuB5lC,KAAI,SAACC,EAAMC,GAAP,OAC1B,4BAAQqD,IAAKrD,EAAO9E,MAAO6E,EAAKJ,IAC7BI,EAAKH,WAKd,yBAAK7D,UAAU,YACb,kBAAC,IAAD,CACEgG,KAAK,0BACL0I,UAAW2f,IACXlvB,MAAO+H,EAAOylC,yBAA2B,EACzCv9B,YAAY,4BACZ5L,MAAM,gCAKZ,yBAAKxD,UAAU,kBAGb,yBAAKA,UAAU,YACb,kBAAC,IAAD,CACEgG,KAAK,mBACLxC,MAAM,oBAEN,0CAJF,OAKGymC,SALH,IAKGA,QALH,EAKGA,GAAqBlmC,KAAI,SAACC,EAAMC,GAAP,OACxB,4BAAQqD,IAAKrD,EAAO9E,MAAO6E,EAAKJ,IAC7BI,EAAKH,WAMd,yBAAK7D,UAAU,YACb,kBAAC,IAAD,CACEgG,KAAK,cACL0I,UAAW2f,IACXjf,YAAY,eACZ5L,MAAM,kBAGV,yBAAKxD,UAAU,YACb,kBAAC,IAAD,CACEgG,KAAK,YACL0I,UAAW2f,IACXlvB,MAAO+H,EAAOquC,WAAa,EAC3BnmC,YAAY,aACZ5L,MAAM,iBAKZ,yBAAKxD,UAAU,kBACb,yBAAKA,UAAU,aACb,yBAAKA,UAAU,kCACb,0BAAMA,UAAU,oDAChB,2BAAOA,UAAU,sFACf,2BACE+C,KAAK,WACLiD,KAAK,GACL5F,GAAG,iBACHiP,SAAU,SAAC4E,GACTf,EACE,eACAe,EAAMrE,OAAOknB,UAGjB33B,MAAM,MAER,gCAEF,yBAAKa,UAAU,kCACb,uBAAGA,UAAU,sEAAb,0EAQN,yBAAKA,UAAU,kBACb,yBAAKA,UAAU,kCACb,0BAAMA,UAAU,oDAChB,2BAAOA,UAAU,sFACf,2BACE+C,KAAK,WACLiD,KAAK,GACL5F,GAAG,qBACHiP,SAAU,SAAC4E,GACTf,EACE,mBACAe,EAAMrE,OAAOknB,UAGjB33B,MAAM,MAER,gCAEF,yBAAKa,UAAU,kCACb,uBAAGA,UAAU,sEAAb,qEAQN,yBAAKA,UAAU,kBACb,yBAAKA,UAAU,kCACb,0BAAMA,UAAU,oDAChB,2BAAOA,UAAU,sFACf,2BACE+C,KAAK,WACLiD,KAAK,GACL5F,GAAG,oBACHiP,SAAU,SAAC4E,GACTf,EACE,kBACAe,EAAMrE,OAAOknB,UAGjB33B,MAAM,MAER,gCAEF,yBAAKa,UAAU,kCACb,uBAAGA,UAAU,sEAAb,mCASZ,yBAAKA,UAAU,aACb,wBAAIA,UAAU,oBAAd,gCAGA,yBAAKA,UAAU,aACb,yBAAKA,UAAU,kBAEb,yBAAKA,UAAU,YACb,yBAAKA,UAAU,kCACb,0BAAMA,UAAU,oDAChB,2BAAOA,UAAU,sFACf,2BACE+C,KAAK,WACLiD,KAAK,GACL5F,GAAG,qBACHiP,SAAU,SAAC4E,GACTf,EACE,mBACAe,EAAMrE,OAAOknB,UAGjB33B,MAAM,MAER,gCAEF,yBAAKa,UAAU,kCACb,uBAAGA,UAAU,sEAAb,0BAMN,yBAAKA,UAAU,YACb,yBAAKA,UAAU,kCACb,0BAAMA,UAAU,oDAChB,2BAAOA,UAAU,sFACf,2BACE+C,KAAK,WACLiD,KAAK,GACL5F,GAAG,oBACHiP,SAAU,SAAC4E,GACTf,EACE,kBACAe,EAAMrE,OAAOknB,UAGjB33B,MAAM,MAER,gCAEF,yBAAKa,UAAU,kCACb,uBAAGA,UAAU,sEAAb,yBAMN,yBAAKA,UAAU,YACb,yBAAKA,UAAU,kCACb,0BAAMA,UAAU,oDAChB,2BAAOA,UAAU,sFACf,2BACE+C,KAAK,WACLiD,KAAK,GACL5F,GAAG,oBACHiP,SAAU,SAAC4E,GACTf,EACE,kBACAe,EAAMrE,OAAOknB,UAGjB33B,MAAM,MAER,gCAEF,yBAAKa,UAAU,kCACb,uBAAGA,UAAU,sEAAb,gCAYhB,kBAAColC,EAAA,EAAUjlC,OAAX,CACEE,GAAImzB,IACJxzB,UAAU,6DACV2zB,QAAQ,OACR4R,SAAS,KAET,kBAACC,EAAA,EAAD,CAAO7R,QAAQ,WAAW3zB,UAAU,kBAClC,wBAAIA,UAAU,oBAAd,oBAEF,kBAAC4zB,EAAA,EAAD,CACE5zB,UAAWwpB,YACT,mDAEFplB,MAAO,CAAEC,SAAU,GAAIgkB,MAAO,OAAQod,IAAK,UAG/C,kBAACL,EAAA,EAAUM,SAAX,CAAoBH,SAAS,IAAIvlC,UAAU,QACzC,6BACE,yBAAKA,UAAU,QACb,yBAAKA,UAAU,aACb,yBAAKA,UAAU,kBACb,yBAAKA,UAAU,YACb,2BAAOA,UAAU,gBAAjB,yBAGA,kBAAC,IAAD,CACEgG,KAAK,sBACL0I,UAAW2f,IACXjf,YAAY,kBAGhB,yBAAKpP,UAAU,YACb,2BAAOA,UAAU,gBAAjB,YACA,kBAAC,IAAD,CACEgG,KAAK,UACL0I,UAAW2f,IACXjf,YAAY,iBAMtB,6BACA,yBAAKpP,UAAU,QACb,wBAAIA,UAAU,oBAAd,+BAGA,yBAAKA,UAAU,aACb,yBAAKA,UAAU,kBAAf,OACGkpC,SADH,IACGA,QADH,EACGA,GAAkBnlC,KAAI,SAACC,EAAMC,GAAP,aACrB,yBAAKjE,UAAU,YACb,kBAAC,IAAD,CACEgG,KAAI,kBACJ0I,UAAW2f,IACXjf,YAAY,eACZoS,aAAY,UACVF,EAASk0B,sBAAsBryB,MAC7B,SAAC6B,GAAD,OAAQA,EAAGnN,SAAW7T,EAAKJ,aAFnB,aACV,EAEG6xC,YAELjyC,MAAOQ,EAAKH,KACZwL,SAAU,SAAC4E,GACTf,EAAc,yBAAD,OACclP,EAAKJ,GADnB,YAEXI,EAAKJ,IAEPsP,EAAc,yBAAD,OACclP,EAAKJ,GADnB,iBAEXqQ,EAAMrE,OAAOzQ,mBAYjC,kBAACimC,EAAA,EAAUjlC,OAAX,CACEE,GAAImzB,IACJxzB,UAAU,6DACV2zB,QAAQ,OACR4R,SAAS,KAET,kBAACC,EAAA,EAAD,CAAO7R,QAAQ,WAAW3zB,UAAU,kBAClC,wBAAIA,UAAU,oBAAd,kBAEF,kBAAC4zB,EAAA,EAAD,CACE5zB,UAAWwpB,YACT,mDAEFplB,MAAO,CAAEC,SAAU,GAAIgkB,MAAO,OAAQod,IAAK,UAG/C,kBAACL,EAAA,EAAUM,SAAX,CAAoBH,SAAS,IAAIvlC,UAAU,QACzC,yBAAKA,UAAU,QACb,wBAAIA,UAAU,oBAAd,WACA,yBAAKA,UAAU,aACb,yBAAKA,UAAU,kBAEb,yBAAKA,UAAU,aACb,yBAAKA,UAAU,kCACb,0BAAMA,UAAU,oDAChB,2BAAOA,UAAU,sFACf,2BACE+C,KAAK,WACLiD,KAAK,wBACL5F,GAAG,wBACHiP,SAAU,SAAC4E,GACTf,EACE,wBACAe,EAAMrE,OAAOknB,UAGjB33B,MAAM,MAER,gCAEF,yBAAKa,UAAU,kCACb,uBAAGA,UAAU,sEAAb,sCAMN,yBAAKA,UAAU,aACb,yBAAKA,UAAU,kCACb,0BAAMA,UAAU,oDAChB,2BAAOA,UAAU,sFACf,2BACE+C,KAAK,WACLiD,KAAK,GACL5F,GAAG,uBACHiP,SAAU,SAAC4E,GACTf,EACE,qBACAe,EAAMrE,OAAOknB,UAGjB33B,MAAM,MAER,gCAEF,yBAAKa,UAAU,kCACb,uBAAGA,UAAU,sEAAb,mEAQN,yBAAKA,UAAU,kBACb,yBAAKA,UAAU,kCACb,0BAAMA,UAAU,oDAChB,2BAAOA,UAAU,sFACf,2BACE+C,KAAK,WACLiD,KAAK,GACL5F,GAAG,0BACHiP,SAAU,SAAC4E,GACTf,EACE,wBACAe,EAAMrE,OAAOknB,UAGjB33B,MAAM,MAER,gCAEF,yBAAKa,UAAU,kCACb,uBAAGA,UAAU,sEAAb,8CAON,yBAAKA,UAAU,kBACb,yBAAKA,UAAU,kCACb,0BAAMA,UAAU,oDAChB,2BAAOA,UAAU,sFACf,2BACE+C,KAAK,WACLiD,KAAK,GACL5F,GAAG,yBACHiP,SAAU,SAAC4E,GACTf,EACE,uBACAe,EAAMrE,OAAOknB,UAGjB33B,MAAM,MAER,gCAEF,yBAAKa,UAAU,kCACb,uBAAGA,UAAU,sEAAb,8DAON,yBAAKA,UAAU,kBACb,yBAAKA,UAAU,kCACb,0BAAMA,UAAU,oDAChB,2BAAOA,UAAU,sFACf,2BACE+C,KAAK,WACLiD,KAAK,GACL5F,GAAG,8BACHiP,SAAU,SAAC4E,GACTf,EACE,4BACAe,EAAMrE,OAAOknB,UAGjB33B,MAAM,MAER,gCAEF,yBAAKa,UAAU,kCACb,uBAAGA,UAAU,sEACV,IADH,2EAIE,yBACE01C,iBAAe,OACfv2B,cAAY,UACZw2B,iBAAe,OACfv2B,MAAM,sEACN5W,IAAKC,YACH,+CAQZ,yBAAKzI,UAAU,kBACb,yBAAKA,UAAU,kCACb,0BAAMA,UAAU,oDAChB,2BAAOA,UAAU,sFACf,2BACE+C,KAAK,WACLiD,KAAK,GACL5F,GAAG,uBACHiP,SAAU,SAAC4E,GACTf,EACE,qBACAe,EAAMrE,OAAOknB,UAGjB33B,MAAM,MAER,gCAEF,yBAAKa,UAAU,kCACb,uBAAGA,UAAU,sEAAb,oDAMN,yBAAKA,UAAU,YACb,yBAAKA,UAAU,kCACb,0BAAMA,UAAU,oDAChB,2BAAOA,UAAU,sFACf,2BACE+C,KAAK,WACLiD,KAAK,GACL5F,GAAG,0BACHiP,SAAU,SAAC4E,GACTf,EACE,wBACAe,EAAMrE,OAAOknB,UAGjB33B,MAAM,MAER,gCAEF,yBAAKa,UAAU,kCACb,uBAAGA,UAAU,sEAAb,6CAMN,yBAAKA,UAAU,kBACb,yBAAKA,UAAU,kCACb,0BAAMA,UAAU,oDAChB,2BAAOA,UAAU,sFACf,2BACE+C,KAAK,WACLiD,KAAK,GACL5F,GAAG,qBACHiP,SAAU,SAAC4E,GACTf,EACE,mBACAe,EAAMrE,OAAOknB,UAGjB33B,MAAM,MAER,gCAEF,yBAAKa,UAAU,kCACb,uBAAGA,UAAU,sEAAb,kCAMN,yBAAKA,UAAU,sBACb,yBAAKA,UAAU,YACb,kBAAC,IAAD,CACEgG,KAAK,oBACLxC,MAAM,yBAEN,0CAJF,OAKGqmC,SALH,IAKGA,QALH,EAKGA,GAAgC9lC,KAC/B,SAACC,EAAMC,GAAP,OACE,4BACEyxC,iBAAyB,GAATzxC,EAAa,OAAS,GACtCkb,cAAsB,GAATlb,EAAa,UAAY,GACtC0xC,iBAAyB,GAAT1xC,EAAa,OAAS,GACtCmb,MACW,GAATnb,EACI,4RACA,GAENqD,IAAKrD,EACL9E,MAAO6E,EAAKJ,IAEXI,EAAKH,cAYtB,yBAAK7D,UAAU,aACb,yBAAKA,UAAU,kBACb,sEACA,yBAAKA,UAAU,kBACb,yBAAKA,UAAU,kCACb,0BAAMA,UAAU,oDAChB,2BAAOA,UAAU,sFACf,2BACE+C,KAAK,WACLiD,KAAK,GACL5F,GAAG,gBACHiP,SAAU,SAAC4E,GACTf,EACE,cACAe,EAAMrE,OAAOknB,UAGjB33B,MAAM,MAER,gCAEF,yBAAKa,UAAU,kCACb,uBAAGA,UAAU,sEAAb,sBAMN,yBAAKA,UAAU,kBACb,yBAAKA,UAAU,kCACb,0BAAMA,UAAU,oDAChB,2BAAOA,UAAU,sFACf,2BACE+C,KAAK,WACLiD,KAAK,GACL5F,GAAG,mBACHiP,SAAU,SAAC4E,GACTf,EACE,iBACAe,EAAMrE,OAAOknB,UAGjB33B,MAAM,MAER,gCAEF,yBAAKa,UAAU,kCACb,uBAAGA,UAAU,sEAAb,yBAON,yBAAKA,UAAU,kBACb,yBAAKA,UAAU,kCACb,0BAAMA,UAAU,oDAChB,2BAAOA,UAAU,sFACf,2BACE+C,KAAK,WACLiD,KAAK,GACL5F,GAAG,sBACHiP,SAAU,SAAC4E,GACTf,EACE,oBACAe,EAAMrE,OAAOknB,UAGjB33B,MAAM,MAER,gCAEF,yBAAKa,UAAU,kCACb,uBAAGA,UAAU,sEAAb,6BAON,yBAAKA,UAAU,kBACb,yBAAKA,UAAU,kCACb,0BAAMA,UAAU,oDAChB,2BAAOA,UAAU,sFACf,2BACE+C,KAAK,WACLiD,KAAK,GACL5F,GAAG,wBACHiP,SAAU,SAAC4E,GACTf,EACE,sBACAe,EAAMrE,OAAOknB,UAGjB33B,MAAM,MAER,gCAEF,yBAAKa,UAAU,kCACb,uBAAGA,UAAU,sEAAb,uCAON,yBAAKA,UAAU,kBACb,yBAAKA,UAAU,kCACb,0BAAMA,UAAU,oDAChB,2BAAOA,UAAU,sFACf,2BACE+C,KAAK,WACLiD,KAAK,GACL5F,GAAG,yBACHiP,SAAU,SAAC4E,GACTf,EACE,uBACAe,EAAMrE,OAAOknB,UAGjB33B,MAAM,MAER,gCAEF,yBAAKa,UAAU,kCACb,uBAAGA,UAAU,sEAAb,uCAON,yBAAKA,UAAU,kBACb,yBAAKA,UAAU,kCACb,0BAAMA,UAAU,oDAChB,2BAAOA,UAAU,sFACf,2BACE+C,KAAK,WACLiD,KAAK,GACL5F,GAAG,iBACHiP,SAAU,SAAC4E,GACTf,EACE,eACAe,EAAMrE,OAAOknB,UAGjB33B,MAAM,MAER,gCAEF,yBAAKa,UAAU,kCACb,uBAAGA,UAAU,sEAAb,sCAMN,yBAAKA,UAAU,kBACb,yBAAKA,UAAU,kCACb,0BAAMA,UAAU,oDAChB,2BAAOA,UAAU,sFACf,2BACE+C,KAAK,WACLiD,KAAK,GACL5F,GAAG,uBACHiP,SAAU,SAAC4E,GACTf,EACE,qBACAe,EAAMrE,OAAOknB,UAGjB33B,MAAM,MAER,gCAEF,yBAAKa,UAAU,kCACb,uBAAGA,UAAU,sEAAb,sCAMN,yBAAKA,UAAU,kBACb,yBAAKA,UAAU,kCACb,0BAAMA,UAAU,oDAChB,2BAAOA,UAAU,sFACf,2BACE+C,KAAK,WACLiD,KAAK,GACL5F,GAAG,mBACHiP,SAAU,SAAC4E,GACTf,EACE,iBACAe,EAAMrE,OAAOknB,UAGjB33B,MAAM,MAER,gCAEF,yBAAKa,UAAU,kCACb,uBAAGA,UAAU,sEAAb,0CAON,yBAAKA,UAAU,kBACb,yBAAKA,UAAU,kCACb,0BAAMA,UAAU,oDAChB,2BAAOA,UAAU,sFACf,2BACE+C,KAAK,WACLiD,KAAK,GACL5F,GAAG,uBACHiP,SAAU,SAAC4E,GACTf,EACE,qBACAe,EAAMrE,OAAOknB,UAGjB33B,MAAM,MAER,gCAEF,yBAAKa,UAAU,kCACb,uBAAGA,UAAU,sEAAb,0EAQN,yBAAKA,UAAU,kBACb,yBAAKA,UAAU,kCACb,0BAAMA,UAAU,oDAChB,2BAAOA,UAAU,sFACf,2BACE+C,KAAK,WACLiD,KAAK,GACL5F,GAAG,uBACHiP,SAAU,SAAC4E,GACTf,EACE,qBACAe,EAAMrE,OAAOknB,UAGjB33B,MAAM,MAER,gCAEF,yBAAKa,UAAU,kCACb,uBAAGA,UAAU,sEAAb,8EAYd,kBAAColC,EAAA,EAAUjlC,OAAX,CACEE,GAAImzB,IACJxzB,UAAU,6DACV2zB,QAAQ,OACR4R,SAAS,KAET,kBAACC,EAAA,EAAD,CAAO7R,QAAQ,WAAW3zB,UAAU,kBAClC,wBAAIA,UAAU,oBAAd,mBAEF,kBAAC4zB,EAAA,EAAD,CACE5zB,UAAWwpB,YACT,mDAEFplB,MAAO,CAAEC,SAAU,GAAIgkB,MAAO,OAAQod,IAAK,UAG/C,kBAACL,EAAA,EAAUM,SAAX,CAAoBH,SAAS,IAAIvlC,UAAU,QACzC,yBAAKA,UAAU,QACb,wBAAIA,UAAU,oBAAd,WACA,yBAAKA,UAAU,aACb,yBAAKA,UAAU,kBACb,yBAAKA,UAAU,YACb,kBAAC,IAAD,CACEgG,KAAK,yBACLxC,MAAM,kBACN6L,SAAUzI,aAAI,SAAC0I,GACb,IAAMlJ,EAAyB,QAAnBkJ,EAAEM,OAAOzQ,MACfy2C,EAAQ/wC,OAAO6oC,mBAAqB,GAC1ClD,GAAsBpkC,EAAMwvC,EAAQ,IACpC1iC,EACE,yBACA5D,EAAEM,OAAOzQ,WAIb,0CAbF,OAcGkrC,SAdH,IAcGA,QAdH,EAcGA,GAAiBtmC,KAAI,SAACC,EAAMC,GAAP,OACpB,4BAAQqD,IAAKrD,EAAO9E,MAAK,OAAE6E,QAAF,IAAEA,OAAF,EAAEA,EAAMJ,IAAjC,OACGI,QADH,IACGA,OADH,EACGA,EAAMH,WAMf,yBAAK7D,UAAU,YACb,kBAAC,IAAD,CACEgG,KAAK,4BACLxC,MAAM,yBAEN,0CAJF,OAKG+mC,SALH,IAKGA,QALH,EAKGA,GAAoBxmC,KAAI,SAACC,EAAMC,GAAP,OACvB,4BAAQqD,IAAKrD,EAAO9E,MAAK,OAAE6E,QAAF,IAAEA,OAAF,EAAEA,EAAMJ,IAAjC,OACGI,QADH,IACGA,OADH,EACGA,EAAMH,WAMf,yBAAK7D,UAAU,YACb,kBAAC,IAAD,CAAQgG,KAAK,YAAYxC,MAAM,aAC7B,0CADF,OAEGinC,SAFH,IAEGA,QAFH,EAEGA,GAAW1mC,KAAI,SAACC,EAAMC,GAAP,OACd,4BAAQqD,IAAKrD,EAAO9E,MAAO6E,EAAKJ,IAC7BI,EAAKH,WAKd,yBAAK7D,UAAU,iBACb,kBAAC,IAAD,CACEgG,KAAK,4BACL0I,UAAW2f,IACXtrB,KAAK,SACLqM,YAAY,8BACZ5L,MAAM,iCAGV,yBAAKxD,UAAU,iBACb,kBAAC,IAAD,CACEgG,KAAK,iBACL0I,UAAW2f,IACXtrB,KAAK,SACLqM,YAAY,0BACZ5L,MAAM,8BAIZ,yBAAKxD,UAAU,kBACb,yBAAKA,UAAU,YACb,kBAAC,IAAD,CACEA,UAAU,eACVf,KAAK,iBACL+G,KAAK,gBACL5F,GAAG,gBACHiP,SAAU,SAAC4E,GACTf,EACE,gBACAe,EAAMrE,OAAOknB,iBAU7B,kBAACsO,EAAA,EAAUjlC,OAAX,CACEE,GAAImzB,IACJxzB,UAAU,6DACV2zB,QAAQ,OACR4R,SAAS,KAET,kBAACC,EAAA,EAAD,CAAO7R,QAAQ,WAAW3zB,UAAU,kBAClC,wBAAIA,UAAU,oBAAd,kBAEF,kBAAC4zB,EAAA,EAAD,CACE5zB,UAAWwpB,YACT,mDAEFplB,MAAO,CAAEC,SAAU,GAAIgkB,MAAO,OAAQod,IAAK,UAG/C,kBAACL,EAAA,EAAUM,SAAX,CAAoBH,SAAS,IAAIvlC,UAAU,QACzC,6BACE,yBAAKA,UAAU,QACb,wBAAIA,UAAU,oBAAd,YACA,yBAAKA,UAAU,aACb,yBAAKA,UAAU,kBACb,yBAAKA,UAAU,aACb,yBAAKA,UAAU,kCACb,0BAAMA,UAAU,oDAChB,2BAAOA,UAAU,sFACf,2BACE+C,KAAK,WACLiD,KAAK,GACL5F,GAAG,6BACHiP,SAAU,SAAC4E,GACTf,EACE,2BACAe,EAAMrE,OAAOknB,UAGjB33B,MAAM,MAER,gCAEF,yBAAKa,UAAU,kCACb,uBAAGA,UAAU,sEAAb,kGASN,yBAAKA,UAAU,sBACb,yBAAKA,UAAU,YACb,yBAAKA,UAAU,kCACb,0BAAMA,UAAU,oDAChB,2BAAOA,UAAU,sFACf,2BACE+C,KAAK,WACLiD,KAAK,GACL5F,GAAG,uBACHiP,SAAU,SAAC4E,GACTf,EACE,qBACAe,EAAMrE,OAAOknB,UAGjB33B,MAAM,MAER,gCAEF,yBAAKa,UAAU,kCACb,uBAAGA,UAAU,sEAAb,4BAMN,yBAAKA,UAAU,YACb,yBAAKA,UAAU,kCACb,0BAAMA,UAAU,oDAChB,2BAAOA,UAAU,sFACf,2BACE+C,KAAK,WACLiD,KAAK,GACL5F,GAAG,uBACHiP,SAAU,SAAC4E,GACTf,EACE,qBACAe,EAAMrE,OAAOknB,UAGjB33B,MAAM,MAER,gCAEF,yBAAKa,UAAU,kCACb,uBAAGA,UAAU,sEAAb,8BAQR,yBAAKA,UAAU,kBACb,yBAAKA,UAAU,kCACb,0BAAMA,UAAU,oDAChB,2BAAOA,UAAU,sFACf,2BACE+C,KAAK,WACLiD,KAAK,GACL5F,GAAG,oBACHiP,SAAU,SAAC4E,GACTf,EACE,kBACAe,EAAMrE,OAAOknB,UAGjB33B,MAAM,MAER,gCAEF,yBAAKa,UAAU,kCACb,uBAAGA,UAAU,sEAAb,2BAUZ,yBAAKA,UAAU,aACb,wBAAIA,UAAU,oBAAd,mBACA,yBAAKA,UAAU,aACb,yBAAKA,UAAU,kBACb,yBAAKA,UAAU,YACb,kBAAC,IAAD,CACEgG,KAAK,YACL0I,UAAW2f,IACXjf,YAAY,qBACZ5L,MAAM,wBAIV,yBAAKxD,UAAU,YACb,kBAAC,IAAD,CACEgG,KAAK,cACL0I,UAAW2f,IACXjf,YAAY,wBACZ5L,MAAM,2BAIV,yBAAKxD,UAAU,YACb,kBAAC,IAAD,CACEgG,KAAK,oBACL0I,UAAW2f,IACXjf,YAAY,sBACZ5L,MAAM,0BAKZ,yBAAKxD,UAAU,kBAEb,yBAAKA,UAAU,YACb,kBAAC,IAAD,CACEgG,KAAK,sBACLxC,MAAM,8BAEN,0CAJF,OAKGumC,SALH,IAKGA,QALH,EAKGA,GAAuBhmC,KAAI,SAACC,EAAMC,GAAP,OAC1B,4BAAQqD,IAAKrD,EAAO9E,MAAO6E,EAAKJ,IAC7BI,EAAKH,cAYpB,yBAAK7D,UAAU,aACb,wBAAIA,UAAU,oBAAd,2BAGA,yBAAKA,UAAU,aACb,yBAAKA,UAAU,kBAEb,yBAAKA,UAAU,YACb,kBAAC,IAAD,CACEgG,KAAK,yBACLxC,MAAM,2BAEN,0CAJF,OAKG2mC,SALH,IAKGA,QALH,EAKGA,GAA4BpmC,KAC3B,SAACC,EAAMC,GAAP,OACE,4BAAQqD,IAAKrD,EAAO9E,MAAO6E,EAAKJ,IAC7BI,EAAKH,WAUhB,yBAAK7D,UAAU,YACb,kBAACqyC,GAAD,CACEjzB,MACE,kBAAC,IAAMy2B,SAAP,KACE,uBACEzxC,MAAO,CACLC,SAAU,OACVwzB,WAAY,QAIZ,yDAEF,2BAAI,YAEF,8GAEF,2BAAI,qCAKV,yBACE6d,iBAAe,OACfC,iBAAe,OACfntC,IAAKC,YACH,yCAEFrE,MAAO,CACLgS,MAAO,MACPumB,aAAc,aAIpB,kBAAC,IAAD,CACE32B,KAAK,iBACL0I,UAAW2f,IACXjf,YAAY,kBACZ5L,MAAM,qBAIV,yBAAKxD,UAAU,kBACb,yBAAKA,UAAU,kCACb,0BAAMA,UAAU,oDAChB,2BAAOA,UAAU,sFACf,2BACE+C,KAAK,WACLiD,KAAK,GACL5F,GAAG,wBACHiP,SAAU,SAAC4E,GACTf,EACE,sBACAe,EAAMrE,OAAOknB,UAGjB33B,MAAM,MAER,gCAEF,yBAAKa,UAAU,kCACb,uBAAGA,UAAU,sEAAb,iFAUZ,yBAAKA,UAAU,aACb,wBAAIA,UAAU,oBAAd,mBACA,yBAAKA,UAAU,aACb,yBAAKA,UAAU,kBACb,yBAAKA,UAAU,YACb,kBAAC,IAAD,CACEgG,KAAK,gBACL0I,UAAW2f,IACXjf,YAAY,0BACZ5L,MAAM,6BAGV,yBAAKxD,UAAU,YACb,kBAAC,IAAD,CACEgG,KAAK,cACL0I,UAAW2f,IACXjf,YAAY,wBACZ5L,MAAM,2BAIV,yBAAKxD,UAAU,YACb,kBAAC,IAAD,CACEgG,KAAK,oBACL0I,UAAW2f,IACXjf,YAAY,qBACZ5L,MAAM,wBAIV,yBAAKxD,UAAU,iBACb,kBAAC,IAAD,CACEgG,KAAK,kBACL0I,UAAW2f,IACXjf,YAAY,mBACZ5L,MAAM,yBAOhB,yBAAKxD,UAAU,aACb,wBAAIA,UAAU,oBAAd,yBAGA,yBAAKA,UAAU,aACb,yBAAKA,UAAU,kBACb,yBAAKA,UAAU,YACb,kBAAC,IAAD,CACEgG,KAAK,sBACL0I,UAAW2f,IACXjf,YAAY,yBACZ5L,MAAM,+BAOhB,yBAAKxD,UAAU,aACb,wBAAIA,UAAU,oBAAd,qBACA,yBAAKA,UAAU,aACb,yBAAKA,UAAU,kBACb,yBAAKA,UAAU,YACb,kBAAC,IAAD,CACEgG,KAAK,mBACL0I,UAAW2f,IACXjf,YAAY,8BACZ5L,MAAM,iCAIV,yBAAKxD,UAAU,YACb,kBAAC,IAAD,CACEgG,KAAK,kBACL0I,UAAW2f,IACXjf,YAAY,mBACZ5L,MAAM,sBAIV,yBAAKxD,UAAU,kBACb,yBAAKA,UAAU,kCACb,0BAAMA,UAAU,oDAChB,2BAAOA,UAAU,sFACf,2BACE+C,KAAK,WACLiD,KAAK,GACL5F,GAAG,6BACHiP,SAAU,SAAC4E,GACTf,EACE,2BACAe,EAAMrE,OAAOknB,UAGjB33B,MAAM,MAER,gCAEF,yBAAKa,UAAU,kCACb,uBAAGA,UAAU,sEAAb,oFAQN,yBAAKA,UAAU,kBACb,yBAAKA,UAAU,kCACb,0BAAMA,UAAU,oDAChB,2BAAOA,UAAU,sFACf,2BACE+C,KAAK,WACLiD,KAAK,GACL5F,GAAG,kBACHiP,SAAU,SAAC4E,GACTf,EACE,kBACAe,EAAMrE,OAAOknB,UAGjB33B,MAAM,MAER,gCAEF,yBAAKa,UAAU,kCACb,uBAAGA,UAAU,sEAAb,gFAahB,kBAAColC,EAAA,EAAUjlC,OAAX,CACEE,GAAImzB,IACJxzB,UAAU,6DACV2zB,QAAQ,OACR4R,SAAS,KAET,kBAACC,EAAA,EAAD,CAAO7R,QAAQ,WAAW3zB,UAAU,kBAClC,wBAAIA,UAAU,oBAAd,YAEF,kBAAC4zB,EAAA,EAAD,CACE5zB,UAAWwpB,YACT,mDAEFplB,MAAO,CAAEC,SAAU,GAAIgkB,MAAO,OAAQod,IAAK,UAG/C,kBAACL,EAAA,EAAUM,SAAX,CAAoBH,SAAS,IAAIvlC,UAAU,QACzC,6BACE,yBAAKA,UAAU,QACb,wBACEA,UAAU,mBACVoE,MAAO,CAAEqS,aAAc,UAFzB,uBAMA,yBAAKzW,UAAU,aACb,yBAAKA,UAAU,kBACb,yBACEA,UAAU,YACVI,GAAG,wBA7zG/B,WAAqB,IAAD,OAClB,OAAO2kC,GAAMhhC,KAAI,SAACihB,EAAIpc,GAAL,OACf,yBAAK5I,UAAU,wBAAwBsH,IAAKsB,GAC1C,yBAAK5I,UAAU,aACb,yBAAKA,UAAU,OACb,yBAAKA,UAAU,MAAMoE,MAAO,CAAEsM,UAAW,UACvC,4BACE3N,KAAK,SACL/C,UAAW,yBACXyM,QAASu4B,GAAmBlmB,KAAK,EAAMlW,IAEvC,uBACEzE,MAAM,eACNC,MAAO,CAAEu4B,aAAc,UAAW5tB,MAAO,cAKjD,yBAAK/O,UAAU,OACb,yBAAKA,UAAU,aACC,MAAX,OAAFglB,QAAE,IAAFA,OAAA,EAAAA,EAAInhB,OACH,yBAAK7D,UAAU,kBACb,yBAAKA,UAAU,aACb,gDAAeglB,QAAf,IAAeA,OAAf,EAAeA,EAAInhB,QAKzB,yBAAK7D,UAAU,kBACb,yBAAKA,UAAU,aACb,2CACA,kBAAC,IAAD,CACEgG,KAAK,aACLxC,MAAM,WACNrE,OAAS,OAAF6lB,QAAE,IAAFA,OAAA,EAAAA,EAAIwI,WAAY,CAAEruB,MAAO,GAAIqE,MAAO,UAC3C6L,SAAU,SAAC8e,GACT,IAAIjnB,EAAM,YAAO69B,IACjB79B,EAAO0B,GAAG4kB,SAAWW,EACrBjnB,EAAO0B,GAAG0kB,WAAaa,EAAShvB,MAChColC,GAASr9B,IAEXiT,QAASsS,GAAe1oB,KAAI,SAAC8D,GAC3B,MAAO,CACL1I,MAAO0I,EAAEjE,GACTJ,MAAK,OAAEqE,QAAF,IAAEA,OAAF,EAAEA,EAAGhE,aAOpB,yBAAK7D,UAAU,kBACb,yBAAKA,UAAU,iBACb,kBAAC,IAAD,CACEgG,KAAK,OACL0I,UAAW2f,IACXjf,YAAY,aACZ5L,MAAM,aACNoP,UAAU,EACVzT,MAAO6lB,EAAGyf,UACVp1B,SAAU,SAAC4E,GACT,IAAI/M,EAAM,YAAO69B,IACjB79B,EAAO0B,GAAG67B,UAAYxwB,EAAMrE,OAAOzQ,MAC/B8U,EAAMrE,OAAOzQ,OAAS+H,EAAO0B,GAAG4d,SAClCtf,EAAO0B,GAAG/E,KACRoQ,EAAMrE,OAAOzQ,MAAQ,IAAM+H,EAAO0B,GAAG4d,SAEvCtf,EAAO0B,GAAG/E,KAAO,GAEnB0gC,GAASr9B,OAIf,yBAAKlH,UAAU,iBACb,kBAAC,IAAD,CACEgG,KAAK,WACL4M,UAAU,EACVlE,UAAW2f,IACXjf,YAAY,4BACZ5L,MAAM,4BACNrE,MAAO6lB,EAAGwB,SACVnX,SAAU,SAAC4E,GACT,IAAI/M,EAAM,YAAO69B,IACjB79B,EAAO0B,GAAG4d,SAAWvS,EAAMrE,OAAOzQ,MACP,KAAvB8U,EAAMrE,OAAOzQ,OAAgB+H,EAAO0B,GAAG67B,UACzCv9B,EAAO0B,GAAG/E,KACRqD,EAAO0B,GAAG67B,UAAY,IAAMxwB,EAAMrE,OAAOzQ,MAE3C+H,EAAO0B,GAAG/E,KAAO,GAEnB0gC,GAASr9B,QAMjB,yBAAKlH,UAAU,kBACb,yBAAKA,UAAU,iBACb,kBAAC,IAAD,CACEgG,KAAK,YACL0I,UAAW2f,IACXjf,YAAY,YACZ5L,MAAM,YACNT,KAAK,MACL5D,MAAO6lB,EAAG0f,UACVr1B,SAAU,SAAC4E,GACT,IAAI/M,EAAM,YAAO69B,IACjB79B,EAAO0B,GAAG87B,UAAYzwB,EAAMrE,OAAOzQ,MACnColC,GAASr9B,OAIf,yBAAKlH,UAAU,iBACb,kBAAC,IAAD,CACEgG,KAAK,YACL0I,UAAW2f,IACXjf,YAAY,WACZ5L,MAAM,WACNrE,MAAO6lB,EAAG2f,SACVt1B,SAAU,SAAC4E,GACT,IAAI/M,EAAM,YAAO69B,IACjB79B,EAAO0B,GAAG+7B,SAAW1wB,EAAMrE,OAAOzQ,MAClColC,GAASr9B,QAMjB,yBAAKlH,UAAU,kBACb,yBAAKA,UAAU,iBACb,kBAAC,IAAD,CACEgG,KAAK,YACL0I,UAAW2f,IACXjf,YAAY,YACZ5L,MAAM,YACNT,KAAK,MACL5D,MAAO6lB,EAAG4f,UACVv1B,SAAU,SAAC4E,GACT,IAAI/M,EAAM,YAAO69B,IACjB79B,EAAO0B,GAAGg8B,UAAY3wB,EAAMrE,OAAOzQ,MACnColC,GAASr9B,OAIf,yBAAKlH,UAAU,iBACb,kBAAC,IAAD,CACEgG,KAAK,QACL0I,UAAW2f,IACXjf,YAAY,QACZwD,UAAU,EACVpP,MAAM,QACNrE,MAAO6lB,EAAGkf,MACV70B,SAAU,SAAC4E,GACT,IAAI/M,EAAM,YAAO69B,IACjB79B,EAAO0B,GAAGs7B,MAAQjwB,EAAMrE,OAAOzQ,MAC/BolC,GAASr9B,QAMjB,yBAAKlH,UAAU,kBACb,yBAAKA,UAAU,iBACb,kBAAC,IAAD,CACEgG,KAAK,MACL0I,UAAW2f,IACXjf,YAAY,MACZ5L,MAAM,MACNT,KAAK,MACL5D,MAAO6lB,EAAG6f,IACVx1B,SAAU,SAAC4E,GACT,IAAI/M,EAAM,YAAO69B,IACjB79B,EAAO0B,GAAGi8B,IAAM5wB,EAAMrE,OAAOzQ,MAC7BolC,GAASr9B,OAIf,yBAAKlH,UAAU,iBACb,2CACA,2BACEA,UAAU,eACV+C,KAAK,OACLye,aAAcjgB,IAAOyjB,EAAG8f,UAAUt7B,OAAO,cACzC6F,SAAU,SAACC,GACT,IAAIpI,EAAM,YAAO69B,IACjB79B,EAAO0B,GAAGk8B,SAAWx1B,EAAEM,OAAOzQ,MAC9BolC,GAASr9B,eAqoGA0+B,KAGL,yBAAK5lC,UAAU,kBACb,yBAAKA,UAAU,OACb,4BACE+C,KAAK,SACL0J,QAAS63B,GAASxlB,KAAK,GACvB1a,MAAO,CAAEyhC,MAAO,QAASzvB,MAAO,QAChCpW,UAAU,sCAEV,uBACEA,UAAS,oBACToE,MAAO,CAAEu4B,aAAc,aACnB,IACN,0BACEv4B,MAAO,CACLC,SAAU,OACV+S,WAAY,WAHhB,cAgBd,kBAACguB,EAAA,EAAUjlC,OAAX,CACEE,GAAImzB,IACJxzB,UAAU,6DACV2zB,QAAQ,OACR4R,SAAS,KAET,kBAACC,EAAA,EAAD,CAAO7R,QAAQ,WAAW3zB,UAAU,kBAClC,wBAAIA,UAAU,oBAAd,qBAEF,kBAAC4zB,EAAA,EAAD,CACE5zB,UAAWwpB,YACT,mDAEFplB,MAAO,CAAEC,SAAU,GAAIgkB,MAAO,OAAQod,IAAK,UAG/C,kBAACL,EAAA,EAAUM,SAAX,CAAoBH,SAAS,IAAIvlC,UAAU,QACzC,6BACE,yBAAKA,UAAU,QACb,yBAAKA,UAAU,aACb,yBAAKA,UAAU,kBACb,yBAAKA,UAAU,gBACb,kBAAC,IAAD,CACEA,UAAU,eACVf,KAAK,YACL+G,KAAK,WACL5F,GAAG,WACHiP,SAAU,SAAC4E,GACTf,EACE,WACAe,EAAMrE,OAAOknB,kBAW/B,kBAACsO,EAAA,EAAUjlC,OAAX,CACEE,GAAImzB,IACJxzB,UAAU,6DACV2zB,QAAQ,OACR4R,SAAS,KAET,kBAACC,EAAA,EAAD,CAAO7R,QAAQ,WAAW3zB,UAAU,kBAClC,wBAAIA,UAAU,oBAAd,aAIF,kBAAC4zB,EAAA,EAAD,CACE5zB,UAAWwpB,YACT,mDAEFplB,MAAO,CAAEC,SAAU,GAAIgkB,MAAO,OAAQod,IAAK,UAG/C,kBAACL,EAAA,EAAUM,SAAX,CAAoBH,SAAS,IAAIvlC,UAAU,QACzC,6BACE,yBAAKA,UAAU,YACb,yBAAKA,UAAU,iBACb,uBAAGoE,MAAO,CAAEqS,aAAc,QAA1B,mBACA,kBAAC,IAAD,CACEyD,aAAW,EACXlU,KAAK,mBACLoJ,YAAY,UACZ+K,QAAO,OAAEstB,QAAF,IAAEA,OAAF,EAAEA,EAAa1jC,KAAI,SAAC8D,GACzB,MAAO,CACL1I,MAAO0I,EAAEjE,GACTJ,MAAOqE,EAAEhE,SAGbwL,SAAU,SAACC,GACT4D,EAAc,mBAAD,OAAqB5D,QAArB,IAAqBA,OAArB,EAAqBA,EAAGnQ,QAEvCA,MAAK,OACHsoC,QADG,IACHA,OADG,EACHA,EAAal4B,QACX,SAAC1H,GAAD,OAAOA,EAAEjE,MAAF,OAASsD,QAAT,IAASA,OAAT,EAASA,EAAQ4uC,qBACxB/xC,KAAI,SAAC8D,GACL,MAAO,CACL1I,MAAO0I,EAAEjE,GACTJ,MAAOqE,EAAEhE,YAMnB,yBAAK7D,UAAU,iBACb,uBAAGoE,MAAO,CAAEqS,aAAc,QAA1B,gBACA,kBAAC,IAAD,CACEyD,aAAW,EACXlU,KAAK,gBACLoJ,YAAY,OACZC,SAAU,SAACC,GACT4D,EAAc,gBAAD,OAAkB5D,QAAlB,IAAkBA,OAAlB,EAAkBA,EAAGnQ,QAEpCgb,QAAO,OAAEstB,QAAF,IAAEA,GAAF,UAAEA,EAAatkB,MACpB,SAACtb,GAAD,OAAOA,EAAEjE,MAAF,OAASsD,QAAT,IAASA,OAAT,EAASA,EAAQ4uC,4BADnB,iBAAE,EAEN17B,aAFI,aAAE,EAECrW,KAAI,SAAC8D,GACb,MAAO,CACL1I,MAAO0I,EAAEjE,GACTJ,MAAOqE,EAAEhE,SAIb1E,MAAK,OACHsoC,QADG,IACHA,GADG,UACHA,EAAatkB,MACX,SAACtb,GAAD,OAAOA,EAAEjE,MAAF,OAASsD,QAAT,IAASA,OAAT,EAASA,EAAQ4uC,4BAFvB,iBACH,EAEG17B,aAHA,aACH,EAEU7K,QACR,SAAC1H,GAAD,OAAOA,EAAEjE,MAAF,OAASsD,QAAT,IAASA,OAAT,EAASA,EAAQ6uC,kBACxBhyC,KAAI,SAAC8D,GACL,MAAO,CACL1I,MAAO0I,EAAEjE,GACTJ,MAAOqE,EAAEhE,YAMnB,yBAAK7D,UAAU,iBACb,uBAAGoE,MAAO,CAAEqS,aAAc,QAA1B,iBACA,kBAAC,IAAD,CACEyD,aAAW,EACXlU,KAAK,wBACLoJ,YAAY,gBACZC,SAAU,SAACC,GACT4D,EAAc,wBAAD,OAA0B5D,QAA1B,IAA0BA,OAA1B,EAA0BA,EAAGnQ,QAE5Cgb,QAAO,OAAEstB,QAAF,IAAEA,GAAF,UAAEA,EAAatkB,MACpB,SAACtb,GAAD,OAAOA,EAAEjE,MAAF,OAASsD,QAAT,IAASA,OAAT,EAASA,EAAQ4uC,4BADnB,iBAAE,EAEN17B,aAFI,iBAAE,EAEC+I,MACR,SAACtb,GAAD,OAAOA,EAAEjE,MAAF,OAASsD,QAAT,IAASA,OAAT,EAASA,EAAQ6uC,yBAHnB,iBAAE,EAIN17B,qBAJI,aAAE,EAIStW,KAAI,SAAC8D,GACrB,MAAO,CACL1I,MAAO0I,EAAEjE,GACTJ,MAAOqE,EAAEhE,SAGb1E,MAAK,OACHsoC,QADG,IACHA,GADG,UACHA,EAAatkB,MACX,SAACtb,GAAD,OAAOA,EAAEjE,MAAF,OAASsD,QAAT,IAASA,OAAT,EAASA,EAAQ4uC,4BAFvB,iBACH,EAEG17B,aAHA,iBACH,EAEU+I,MACR,SAACtb,GAAD,OAAOA,EAAEjE,MAAF,OAASsD,QAAT,IAASA,OAAT,EAASA,EAAQ6uC,yBAJvB,iBACH,EAIG17B,qBALA,aACH,EAIkB9K,QAChB,SAAC1H,GAAD,OAAOA,EAAEjE,KAAF,OAAQsD,QAAR,IAAQA,OAAR,EAAQA,EAAQ8uC,0BACvBjyC,KAAI,SAAC8D,GACL,MAAO,CACL1I,MAAO0I,EAAEjE,GACTJ,MAAOqE,EAAEhE,aAOrB,yBAAK7D,UAAU,QACb,wBAAIA,UAAU,0BAAd,gBAGA,yBAAKA,UAAU,iCACb,yBAAKA,UAAU,kBACb,kBAACi+B,GAAA,EAAD,KACE,kBAACnC,GAAA,EAAD,KACE,kBAACC,GAAA,EAAD,KACE,kBAACC,GAAA,EAAD,MACA,kBAACA,GAAA,EAAD,MACA,kBAACA,GAAA,EAAD,MACA,kBAACA,GAAA,EAAD,MACA,kBAACA,GAAA,EAAD,MACA,kBAACA,GAAA,EAAD,iBAGJ,kBAACmC,GAAA,EAAD,KACE,kBAACpC,GAAA,EAAD,KACE,kBAACC,GAAA,EAAD,CAAWttB,UAAU,KAAKC,MAAM,OAAhC,kBAGA,kBAACqtB,GAAA,EAAD,CACEttB,UAAU,KAAKC,MAAM,MACrBvK,MAAO,CAAEgS,MAAO,QAEhB,kBAAC,IAAD,CACEpQ,KAAK,qBACLjD,KAAK,SACL2L,UAAW2f,OAGf,kBAAC2N,GAAA,EAAD,CAAWttB,UAAU,KAAKC,MAAM,OAAhC,gBAGA,kBAACqtB,GAAA,EAAD,CAAWttB,UAAU,KAAKC,MAAM,MAAMvK,MAAO,CAAEgS,MAAO,QACpD,kBAAC,IAAD,CACEpQ,KAAK,mBACLjD,KAAK,SACL2L,UAAW2f,OAGf,kBAAC2N,GAAA,EAAD,CAAWttB,UAAU,KAAKC,MAAM,OAAhC,oBAGA,kBAACqtB,GAAA,EAAD,CAAWttB,UAAU,KAAKC,MAAM,MAAMvK,MAAO,CAAEgS,MAAO,QACpD,kBAAC,IAAD,CACEpQ,KAAK,uBACLjD,KAAK,SACL2L,UAAW2f,QAIjB,kBAAC0N,GAAA,EAAD,KACE,kBAACC,GAAA,EAAD,CAAWttB,UAAU,KAAKC,MAAM,OAAhC,kBAGA,kBAACqtB,GAAA,EAAD,CAAWttB,UAAU,KAAKC,MAAM,MAAMvK,MAAO,CAAEgS,MAAO,QACpD,kBAAC,IAAD,CACEpQ,KAAK,kBACLjD,KAAK,SACL2L,UAAW2f,OAGf,kBAAC2N,GAAA,EAAD,CAAWttB,UAAU,KAAKC,MAAM,OAAhC,iBAGA,kBAACqtB,GAAA,EAAD,CAAWttB,UAAU,KAAKC,MAAM,MAAMvK,MAAO,CAAEgS,MAAO,QACpD,kBAAC,IAAD,CACEpQ,KAAK,oBACLjD,KAAK,SACL2L,UAAW2f,OAGf,kBAAC2N,GAAA,EAAD,CAAWttB,UAAU,KAAKC,MAAM,OAAhC,cAGA,kBAACqtB,GAAA,EAAD,CAAWttB,UAAU,KAAKC,MAAM,MAAMvK,MAAO,CAAEgS,MAAO,QACpD,kBAAC,IAAD,CACEpQ,KAAK,iBACLjD,KAAK,SACL2L,UAAW2f,QAIjB,kBAAC0N,GAAA,EAAD,KACE,kBAACC,GAAA,EAAD,CAAWttB,UAAU,KAAKC,MAAM,OAAhC,YAGA,kBAACqtB,GAAA,EAAD,CAAWttB,UAAU,KAAKC,MAAM,MAAMvK,MAAO,CAAEgS,MAAO,QACpD,kBAAC,IAAD,CACEpQ,KAAK,mBACLjD,KAAK,SACL2L,UAAW2f,YASzB,yBAAKruB,UAAU,aACb,wBAAIA,UAAU,0BAAd,oBAGA,yBAAKA,UAAU,YAAYI,GAAG,wBAC3B8nC,KACD,4BACEnlC,KAAK,SACL0J,QAASo7B,EACT7nC,UAAU,+BAHZ,iBAaV,kBAAColC,EAAA,EAAUjlC,OAAX,CACEE,GAAImzB,IACJxzB,UAAU,6DACV2zB,QAAQ,OACR4R,SAAS,MAET,kBAACC,EAAA,EAAD,CAAO7R,QAAQ,WAAW3zB,UAAU,kBAClC,wBAAIA,UAAU,oBAAd,gBAEF,kBAAC4zB,EAAA,EAAD,CACE5zB,UAAWwpB,YACT,mDAEFplB,MAAO,CAAEC,SAAU,GAAIgkB,MAAO,OAAQod,IAAK,UAG/C,kBAACL,EAAA,EAAUM,SAAX,CAAoBH,SAAS,KAAKvlC,UAAU,QAC1C,6BACE,yBAAKA,UAAU,QACb,yBAAKA,UAAU,aACb,yBAAKA,UAAU,kBACb,yBAAKA,UAAU,2BACb,wDACA,kBAAC,IAAD,CACEgG,KAAK,uBACL5F,GAAG,uBACHoD,MAAM,OACN2W,QAASsxB,GAAY1nC,KAAI,SAACC,EAAMC,GAAP,MAAkB,CACzC9E,MAAO6E,EAAKJ,GACZJ,MAAOQ,EAAKH,KACZsqC,QAASnqC,EAAKmqC,YAEhBhvC,MAAK,OAAEssC,SAAF,IAAEA,QAAF,EAAEA,GAAal8B,QAClB,SAAChG,GAAD,OAAOA,EAAE3F,KAAOsD,EAAO+uC,wBACvBlyC,KAAI,SAACgnB,GAAD,MAAiB,CACrB5rB,MAAO4rB,EAAWnnB,GAClBJ,MAAOunB,EAAWlnB,SAEpBwL,SAAU,SAACC,GACT4D,EACE,uBACM,OAAN5D,EAAaA,EAAEnQ,MAAQ,MAEzB+T,EACE,4BACM,OAAN5D,EAAaA,EAAE6+B,QAAU,UAKjC,yBAAKnuC,UAAU,2BACb,uDACA,kBAAC,IAAD,CACEgG,KAAK,wBACL5F,GAAG,wBACHoD,MAAM,OACN2W,QAASsxB,GAAY1nC,KAAI,SAACC,EAAMC,GAAP,MAAkB,CACzC9E,MAAO6E,EAAKJ,GACZJ,MAAOQ,EAAKH,KACZsqC,QAASnqC,EAAKmqC,YAEhBhvC,MAAK,OAAEssC,SAAF,IAAEA,QAAF,EAAEA,GAAal8B,QAClB,SAAChG,GAAD,OAAOA,EAAE3F,KAAOsD,EAAOgvC,yBACvBnyC,KAAI,SAACgnB,GAAD,MAAiB,CACrB5rB,MAAO4rB,EAAWnnB,GAClBJ,MAAOunB,EAAWlnB,SAEpBwL,SAAU,SAACC,GACT4D,EACE,wBACM,OAAN5D,EAAa,KAAOA,EAAEnQ,OAExB+T,EACE,6BACM,OAAN5D,EAAa,KAAOA,EAAE6+B,aAK9B,yBAAKnuC,UAAU,2BACb,qDACA,kBAAC,IAAD,CACEgG,KAAK,sBACL5F,GAAG,sBACHoD,MAAM,OACN2W,QAASsxB,GAAY1nC,KAAI,SAACC,EAAMC,GAAP,MAAkB,CACzC9E,MAAO6E,EAAKJ,GACZJ,MAAOQ,EAAKH,KACZsqC,QAASnqC,EAAKmqC,YAEhBhvC,MAAK,OAAEssC,SAAF,IAAEA,QAAF,EAAEA,GAAal8B,QAClB,SAAChG,GAAD,OAAOA,EAAE3F,KAAOsD,EAAOivC,uBACvBpyC,KAAI,SAACgnB,GAAD,MAAiB,CACrB5rB,MAAO4rB,EAAWnnB,GAClBJ,MAAOunB,EAAWlnB,SAEpBwL,SAAU,SAACC,GACT4D,EACE,sBACM,OAAN5D,EAAaA,EAAEnQ,MAAQ,MAEzB+T,EACE,2BACM,OAAN5D,EAAaA,EAAE6+B,QAAU,UAKjC,yBAAKnuC,UAAU,2BACb,sDACA,kBAAC,IAAD,CACEgG,KAAK,qBACL5F,GAAG,qBACHoD,MAAM,OACN2W,QAASsxB,GAAY1nC,KAAI,SAACC,EAAMC,GAAP,MAAkB,CACzC9E,MAAO6E,EAAKJ,GACZJ,MAAOQ,EAAKH,KACZsqC,QAASnqC,EAAKmqC,YAEhBhvC,MAAK,OAAEssC,SAAF,IAAEA,QAAF,EAAEA,GAAal8B,QAClB,SAAChG,GAAD,OAAOA,EAAE3F,KAAOsD,EAAOkvC,sBACvBryC,KAAI,SAACgnB,GAAD,MAAiB,CACrB5rB,MAAO4rB,EAAWnnB,GAClBJ,MAAOunB,EAAWlnB,SAEpBwL,SAAU,SAACC,GACT4D,EACE,qBACM,OAAN5D,EAAaA,EAAEnQ,MAAQ,MAEzB+T,EACE,0BACM,OAAN5D,EAAaA,EAAE6+B,QAAU,WAMnC,yBAAKnuC,UAAU,4BACb,4BACE+C,KAAK,SACL0J,QAASqiC,GAAmBhwB,KAAK,GACjC9e,UAAU,8BACVoE,MAAO,CAAEgS,MAAO,SAJlB,gCA10G1B,WAA+B,IAAD,OAC5B,cAAOuyB,SAAP,IAAOA,QAAP,EAAOA,GAAY5kC,KAAI,SAACkuC,EAAKoE,GAAN,OACrB,oCACE,yBACEr2C,UAAU,0CACVoE,MAAO,CACLkyC,aAAc,MACd1uB,gBAAiB,QACjB2uB,UAAW,sCAGb,yBAAKv2C,UAAU,aACb,yBACEoE,MAAO,CACLyhC,MAAO,QACPvhC,SAAU,WACV+jB,MAAO,QACPod,IAAK,UAGP,uBACE/8B,KAAM,kBAAM,GACZ1I,UAAU,sDACVyM,QAASqhC,GAAsBhvB,KAAK,EAAMu3B,GAC1CjyC,MAAO,CACLkyC,aAAc,MACd1/B,OAAQ,OACRR,MAAO,SAGT,0BAAMpW,UAAU,wCACd,kBAAC,IAAD,CACEof,MAAM,SACN5W,IAAKC,YAAc,+CAM7B,yBAAKzI,UAAU,qBACb,uCACA,kBAAC,IAAD,CACEgG,KAAK,SACL5F,GAAG,SACHoD,MAAM,OACN2W,QAASwxB,GAAQ5nC,KAAI,SAACC,EAAMC,GAAP,MAAkB,CACrC9E,MAAO6E,EAAKJ,GACZJ,MAAOQ,EAAKH,SAEd1E,MAAK,OAAEwsC,SAAF,IAAEA,QAAF,EAAEA,GAASp8B,QAAO,SAAChG,GAAD,OAAOA,EAAE3F,KAAOquC,EAAIp6B,UAAQ9T,KACjD,SAACgnB,GAAD,MAAiB,CACf5rB,MAAO4rB,EAAWnnB,GAClBJ,MAAOunB,EAAWlnB,SAGtBwL,SAAUi/B,GAA2BxvB,KAAK,EAAMu3B,MAGpD,yBAAKr2C,UAAU,qBACb,uCACA,kBAAC,IAAD,CACEgG,KAAK,SACL5F,GAAG,SACHoD,MAAM,OACN2W,QAASsxB,GAAY1nC,KAAI,SAACC,EAAMC,GAAP,MAAkB,CACzC9E,MAAO6E,EAAKJ,GACZJ,MAAOQ,EAAKH,KACZsqC,QAASnqC,EAAKmqC,YAEhBhvC,MAAK,OAAEssC,SAAF,IAAEA,QAAF,EAAEA,GAAal8B,QAAO,SAAChG,GAAD,OAAOA,EAAE3F,KAAOquC,EAAIhE,UAAQlqC,KACrD,SAACgnB,GAAD,MAAiB,CACf5rB,MAAO4rB,EAAWnnB,GAClBJ,MAAOunB,EAAWlnB,KAClBsqC,QAASpjB,EAAWojB,YAGxB9+B,SAAU2+B,GAA6BlvB,KAAK,EAAMu3B,MAGtD,yBAAKr2C,UAAU,qBACb,iDACA,kBAAC,IAAD,CACEgG,KAAK,gBACL5F,GAAG,gBACHoD,MAAM,QACN2W,QAAS0wB,GAAiB9mC,KAAI,SAACC,EAAMC,GAAP,MAAkB,CAC9C9E,MAAO6E,EAAKH,KACZL,MAAOQ,EAAKH,SAEd1E,MAAK,OAAE0rC,SAAF,IAAEA,QAAF,EAAEA,GACHt7B,QAAO,SAAChG,GAAD,OAAO/H,OAAO+H,EAAE1F,QAAUrC,OAAOywC,EAAIzD,kBAC7CzqC,KAAI,SAACgnB,GAAD,MAAiB,CACpB5rB,MAAO4rB,EAAWlnB,KAClBL,MAAOunB,EAAWlnB,SAEtBwL,SAAUk/B,GAAoCzvB,KAAK,EAAMu3B,MAG7D,yBAAKr2C,UAAU,qBACb,kBAAC,IAAD,CACEgG,KAAK,eACL0I,UAAW2f,IACXjf,YAAY,OACZ5L,MAAM,gBACNrE,MAAO8yC,EAAI5D,aACXh/B,SAAU++B,GAAmCtvB,KAAK,EAAMu3B,MAG5D,yBAAKr2C,UAAU,qBACb,kDACA,kBAAC,IAAD,CACEgG,KAAK,iBACL5F,GAAG,iBACHoD,MAAM,QACN2W,QAAS0wB,GAAiB9mC,KAAI,SAACC,EAAMC,GAAP,MAAkB,CAC9C9E,MAAO6E,EAAKH,KACZL,MAAOQ,EAAKH,SAEd1E,MAAK,OAAE0rC,SAAF,IAAEA,QAAF,EAAEA,GACHt7B,QAAO,SAAChG,GAAD,OAAO/H,OAAO+H,EAAE1F,QAAUrC,OAAOywC,EAAIrD,mBAC7C7qC,KAAI,SAACgnB,GAAD,MAAiB,CACpB5rB,MAAO4rB,EAAWlnB,KAClBL,MAAOunB,EAAWlnB,SAEtBwL,SAAUs/B,GAAqC7vB,KAAK,EAAMu3B,MAG9D,yBAAKr2C,UAAU,qBACb,kBAAC,IAAD,CACEgG,KAAK,gBACL0I,UAAW2f,IACXjf,YAAY,OACZ5L,MAAM,iBACNrE,MAAO8yC,EAAIvD,cACXr/B,SAAUo/B,GAAoC3vB,KAAK,EAAMu3B,WA6sG5CG,OAKT,kBAACpR,EAAA,EAAUjlC,OAAX,CACEE,GAAImzB,IACJxzB,UAAU,6DACV2zB,QAAQ,OACR4R,SAAS,MAET,kBAACC,EAAA,EAAD,CAAO7R,QAAQ,WAAW3zB,UAAU,kBAClC,wBAAIA,UAAU,oBAAd,6BAEF,kBAAC4zB,EAAA,EAAD,CACE5zB,UAAWwpB,YACT,mDAEFplB,MAAO,CAAEC,SAAU,GAAIgkB,MAAO,OAAQod,IAAK,UAG/C,kBAACL,EAAA,EAAUM,SAAX,CAAoBH,SAAS,KAAKvlC,UAAU,QAC1C,6BACE,yBAAKA,UAAU,aACb,wBAAIA,UAAU,0BAAd,2BAGA,yBAAKA,UAAU,YAAYI,GAAG,wBAl6GpD,WAA0C,IAAD,OACvC,cAAOqoC,SAAP,IAAOA,QAAP,EAAOA,GAAuB1kC,KAAI,SAACihB,EAAIpc,GAAL,OAChC,yBACE5I,UAAU,iBACVoE,MAAO,CACLwP,OAAQ,+BACRgU,gBAAiB,WAEnBtgB,IAAKsB,GAEL,yBAAK5I,UAAU,kBACb,yBAAKoE,MAAO,CAAEyhC,MAAO,UACnB,kBAACrS,EAAA,EAAD,CACEG,QAAQ,SACRlnB,QAASsiC,GAAiCjwB,KAAK,EAAMlW,IAFvD,OAQJ,yBAAK5I,UAAU,2BACb,2CACA,kBAAC,IAAD,CACEgG,KAAK,WACLxC,MAAM,WACN2W,QAASsvB,GAAa1lC,KAAI,SAACC,EAAMC,GAAP,MAAkB,CAC1C9E,MAAO6E,EACPR,MAAOQ,MAET7E,MAAK,OAAEsqC,SAAF,IAAEA,QAAF,EAAEA,GAAcl6B,QAAO,SAAChG,GAAD,OAAOA,IAAMyb,EAAGxG,YAAUza,KACpD,SAACgnB,GAAD,MAAiB,CACf5rB,MAAO4rB,EACPvnB,MAAOunB,MAGX1b,SAAU2/B,GAAuBlwB,KAAK,EAAMlW,GAC5CxI,GAAG,cAGP,yBAAKJ,UAAU,+BACb,kBAAC,IAAD,CACEgG,KAAK,cACL0I,UAAW2f,IACXjf,YAAY,eACZ5L,MAAM,eACNrE,MAAO6lB,EAAGuiB,aAAe,EACzBl4B,SAAU4/B,GAAgCnwB,KAAK,EAAMlW,UAq3GtC6tC,GACD,4BACE1zC,KAAK,SACL0J,QAASoiC,GAA8B/vB,KAAK,GAC5C9e,UAAU,+BAHZ,kBAaZ,kBAACymB,EAAA,EAAM/U,OAAP,KACE,4BACE3O,KAAK,SACL0J,QAAS4E,EACTrR,UAAU,6BAHZ,UAOA,yCACA,4BACE+C,KAAK,SACL0J,QAAS,kBAAMsW,KACf/iB,UAAU,+BAHZ,cAYV,kBAAC6yC,GAAD,CAGEvxB,SAAUmrB,MCp9JX,IAAMne,GAA2B,CAAC,SAAU,WAItC1d,GAAgB,CAAC,CAAExE,UAAW,KAAMyE,MAAO,SAC3C0d,GAAkB,CAC7B,CAAEtvB,KAAM,IAAKE,MAAO,GACpB,CAAEF,KAAM,IAAKE,MAAO,GACpB,CAAEF,KAAM,KAAME,MAAO,KAEVqvB,GAAgB,CAC3Bjf,OAAQ,CACNyb,YAAa,GACb0rB,aAAc,GACdvB,UAAS,GAEXtmB,UAAW,MACXC,UAAW,KACXC,WAAY,EACZC,SAAU,ICfNC,GAAqBC,0BAEpB,SAASC,KACd,OAAOC,qBAAWH,IAGeA,GAAmBI,SAE/C,SAASC,GAAT,GAA+D,IAAhCC,EAA+B,EAA/BA,kBAAmB7G,EAAY,EAAZA,SACvD,EAA0C1b,mBAASwhB,IAAnD,mBAAOlJ,EAAP,KAAoBkK,EAApB,KACA,EAAsBxiB,mBAAS,IAA/B,mBAAOkY,EAAP,KAAYuK,EAAZ,KACMC,EAAiBC,uBAAY,SAAAC,GACjCJ,GAAmB,SAAAK,GAKjB,OAJIC,sBAAWF,KACbA,EAAkBA,EAAgBC,IAGhCE,mBAAQF,EAAiBD,GACpBC,EAGFD,OAER,IAsGGzwB,EAAQ,CACZmmB,cACAkK,qBACAtK,MACAuK,SACAC,iBACAM,aA1GmB,CACnB5vB,QAAI0F,EACJygC,QAAS,GACTvb,YAAa,GACbkb,YAAa,GACbyQ,WAAY,GACZ9R,IAAK,GACL+R,QAAS,GACT1S,MAAO,GACPjX,MAAO,GACP8Y,SAAU,GACVC,SAAU,GACV9V,KAAM,GACN2mB,WAAY,GACZC,YAAa,GACbJ,aAAc,GACd7J,aAAc,GACdC,iBAAkB,GAClBC,oBAAqB,GACrBC,iBAAkB,GAClBC,kBAAmB,GACnBC,oBAAqB,GACrBC,uBAAwB,GACxBR,wBAAyB,EACzB4I,UAAW,EACXwB,iBAAkB,GAClBC,UAAW,GACXC,YAAa,GACbC,kBAAmB,GACnBC,eAAgB,GAChBC,cAAe,GACfC,YAAa,GACbC,kBAAmB,GACnBC,QAAQ,KACRC,gBAAiB,GACjBC,oBAAqB,GACrBC,gBAAiB,GACjBzH,cAAc,EACdC,kBAAkB,EAClBC,iBAAiB,EACjBN,kBAAkB,EAClBO,iBAAiB,EACjBC,iBAAiB,EACjBC,oBAAoB,EACpBC,uBAAuB,EACvBC,sBAAsB,EACtBC,aAAa,EACbM,2BAA2B,EAC3BW,oBAAoB,EACpBV,oBAAoB,EACpBC,uBAAuB,EACvBC,kBAAkB,EAClBC,0BAA0B,EAC1BC,oBAAoB,EACpBC,oBAAoB,EACpBC,iBAAiB,EACjBC,qBAAqB,EACrBC,0BAA0B,EAC1BC,iBAAiB,EACjBW,uBAAuB,KACvBuF,0BAA0B,KAC1BC,UAAU,KACVhiB,UAAU,EACV8a,gBAAgB,EAChBC,mBAAmB,EACnBC,qBAAqB,EACrBC,sBAAsB,EACtBC,cAAc,EACdhB,gBAAgB,EAChBC,oBAAoB,EACpBC,oBAAoB,EACpBmC,iBAAkB,GAClBqD,sBAAuB,GACvBnG,sBAAuB,GACvBrL,SAAU,GACVrE,OAAQ,EACR8V,YAAa,KACboC,MAAM,GACNC,YAAc,EACdC,QAAU,EACVC,0BAA4B,EAC5BC,eAAiB,EACjBC,iBAAmB,EACnBC,kBAAoB,EACpBC,eAAiB,EACjBC,gBAAkB,EAClBC,oBAAsB,EACtBC,qBAAuB,EACvBC,kBAAoB,EACpBC,mBAAqB,EACrBtD,UAAS,EACTuD,iBAAiB,EACjBC,kBAAkB,EAClBC,qBAAqB,EACrBC,mBAAmB,EACnB9C,cAAgB,EAChBD,iBAAmB,EACnBE,sBAAwB,GAUxB1lB,uBAAwBf,EAAkBe,uBAC1CC,uBAAwBhB,EAAkBgB,uBAC1CC,yBAA0BjB,EAAkBiB,yBAC5CC,0BAA2BlB,EAAkBkB,0BAC7CC,yBAA0BnB,EAAkBmB,yBAC5CC,gCAAiCpB,EAAkBoB,gCACnDmoB,0BAA2BvpB,EAAkBupB,2BAG/C,OAAO,kBAAC7pB,GAAmB2B,SAApB,CAA6BzxB,MAAOA,GAAQupB,GCxI9C,SAASmI,GAAT,GAAmD,IAArBzwB,EAAoB,EAApBA,GAAIgR,EAAgB,EAAhBA,KAAMC,EAAU,EAAVA,OAEvCyf,EAAqB3B,KAErB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACLhB,aAAcc,EAAmBd,gBAElC,CAACc,IAGEvL,EAAW0L,cACjB,EAA4C3N,aAC1C,SAAChE,GAAD,MAAY,CACViC,eAAgBjC,EAAMiE,UAAUhC,eAChCuC,gBAAiBxE,EAAMiE,UAAUO,mBAEnCL,KALMlC,EAAR,EAAQA,eAAgBuC,EAAxB,EAAwBA,gBAQxBhQ,qBAAU,WAERyR,EAAStB,IAAsB7jB,MAC9B,CAACA,EAAImlB,IA8BR,OACE,kBAACkB,EAAA,EAAD,CACEtV,KAAK,KACLC,KAAMA,EACNC,OAAQA,EACRC,kBAAgB,gCAEhB,kBAAC+U,EAAD,CAA0BjmB,GAAIA,EAAIiR,OAAQA,IAC1C,kBAAC+P,GAAD,CACEC,aApCe,SAACC,GACflhB,EAaHmlB,EAAStB,IAAuB3C,IAAW1M,MAAK,WACpB,MAAtB/P,OAAOk0C,YACT31C,QAAQC,IAAIie,GACZ1hB,YAAa,UAAW,0CACxByR,IACA7S,SAASsR,eAAe,iBAAiBinB,SAEzCn3B,YAAa,QAAS,sBAlB1B2lB,EAAStB,IAAuB3C,IAAW1M,MAAK,WACX,MAA/B/P,OAAOm0C,qBACTp5C,YAAa,UAAW,+BACxByR,IACA7S,SAASsR,eAAe,iBAAiBinB,SAEzCn3B,YAAa,QAASiF,OAAOo0C,gCA4B/B13B,eAAgBA,EAChBD,SAAUwC,GAAmBiN,EAAiBf,aAC9C3e,OAAQA,KCnET,SAAS6f,GAAT,GAAqD,IAArB9wB,EAAoB,EAApBA,GAAIgR,EAAgB,EAAhBA,KAAMC,EAAU,EAAVA,OAEzCyf,EAAqB3B,KACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACLvB,OAAQqB,EAAmBrB,OAC3BnK,YAAawL,EAAmBxL,eAEjC,CAACwL,IAGEvL,EAAW0L,cACT5N,EAAcC,aACpB,SAAChE,GAAD,MAAY,CAAE+D,UAAW/D,EAAMiE,UAAUhC,kBACzCkC,KAFMJ,UAMRvP,qBAAU,WACH1T,GACHiR,MAGD,CAACjR,IAGJ0T,qBAAU,cAAU,CAACuP,EAAWkC,IAchC,OACE,kBAACkB,EAAA,EAAD,CACErV,KAAMA,EACNC,OAAQA,EACRC,kBAAgB,gCAGf+R,GAAa,kBAAC,IAAD,MAEd,kBAACoD,EAAA,EAAMlV,OAAP,CAAcmV,aAAW,GACvB,kBAACD,EAAA,EAAM9U,MAAP,CAAavR,GAAG,gCAAhB,oBAIF,kBAACqmB,EAAA,EAAMhV,KAAP,MACI4R,GACA,mFAEDA,GAAa,0DAEhB,kBAACoD,EAAA,EAAM/U,OAAP,KACE,6BACE,4BACE3O,KAAK,SACL0J,QAAS4E,EACTrR,UAAU,6BAHZ,UAOA,yCACA,4BACE+C,KAAK,SACL0J,QA5Ca,WAErB8Y,EAAStB,IAAuB7jB,IAAKwU,MAAK,WAExC2Q,EAAStB,IAAuB8M,EAAiBzL,cAEjDyL,EAAiBtB,OAAO,IAExBpe,QAqCMrR,UAAU,8BAHZ,sB,aCtEH,SAASmxB,GAAT,GAAkD,IAAjB/f,EAAgB,EAAhBA,KAAMC,EAAU,EAAVA,OAEtCyf,EAAqB3B,KACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACL9L,IAAK4L,EAAmB5L,IACxBuK,OAAQqB,EAAmBrB,OAC3BnK,YAAawL,EAAmBxL,eAEjC,CAACwL,IAGEvL,EAAW0L,cACT5N,EAAcC,aACpB,SAAChE,GAAD,MAAY,CAAE+D,UAAW/D,EAAMiE,UAAUhC,kBACzCkC,KAFMJ,UAMRvP,qBAAU,WACHid,EAAiB7L,KAAuC,IAAhC6L,EAAiB7L,IAAIrc,QAChDwI,MAGD,CAAC0f,EAAiB7L,MAGrBpR,qBAAU,cAAU,CAACuP,EAAWkC,IAiBhC,OACE,kBAACkB,EAAA,EAAD,CACErV,KAAMA,EACNC,OAAQA,EACRC,kBAAgB,gCAGf+R,GAAa,kBAAC,IAAD,MAEd,kBAACoD,EAAA,EAAMlV,OAAP,CAAcmV,aAAW,GACvB,kBAACD,EAAA,EAAM9U,MAAP,CAAavR,GAAG,gCAAhB,qBAIF,kBAACqmB,EAAA,EAAMhV,KAAP,MACI4R,GACA,wFAEDA,GAAa,2DAEhB,kBAACoD,EAAA,EAAM/U,OAAP,KACE,6BACE,4BACE3O,KAAK,SACL0J,QAAS4E,EACTrR,UAAU,6BAHZ,UAOA,yCACA,4BACE+C,KAAK,SACL0J,QA/Cc,WAEtB8Y,EAAStB,KAAwB8M,EAAiB7L,MAAMtQ,MAAK,WAE3D2Q,EAAStB,KAAuB8M,EAAiBzL,cAAc1Q,MAC7D,WAEEmc,EAAiBtB,OAAO,IAExBpe,WAuCErR,UAAU,+BAHZ,aC3EV,IAAMoxB,GAAoB,SAACvN,EAAUqB,GACnC,IAAMmM,EAAa,GAOnB,OANAnM,EAAIhkB,SAAQ,SAACd,GACX,IAAMkhB,EAAWuC,EAASV,MAAK,SAAC6B,GAAD,OAAQA,EAAG5kB,KAAOA,KAC7CkhB,GACF+P,EAAWvoB,KAAKwY,MAGb+P,GAGF,SAASC,GAAT,GAAiD,IAAjBlgB,EAAgB,EAAhBA,KAAMC,EAAU,EAAVA,OAErCyf,EAAqB3B,KACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACL9L,IAAK4L,EAAmB5L,OAEzB,CAAC4L,IAGIvN,EAAcD,aACpB,SAAChE,GAAD,MAAY,CACViE,UAAW6N,GACT9R,EAAMiE,UAAUM,SAChBkN,EAAiB7L,QAGrBzB,KAPMF,UAkBR,OAPAzP,qBAAU,WACHid,EAAiB7L,KAAuC,IAAhC6L,EAAiB7L,IAAIrc,QAChDwI,MAGD,CAAC0f,EAAiB7L,MAGnB,kBAACuB,EAAA,EAAD,CACErV,KAAMA,EACNC,OAAQA,EACRC,kBAAgB,gCAEhB,kBAACmV,EAAA,EAAMlV,OAAP,CAAcmV,aAAW,GACvB,kBAACD,EAAA,EAAM9U,MAAP,CAAavR,GAAG,gCAAhB,4BAIF,kBAACqmB,EAAA,EAAMhV,KAAP,KACE,yBAAKzR,UAAU,4BACZujB,EAAUxf,KAAI,SAACud,GAAD,OACb,yBAAKthB,UAAU,kCAAkCsH,IAAG,YAAOga,EAASlhB,KAClE,yBAAKJ,UAAU,gFACf,yBAAKA,UAAU,kBACb,uBACEA,UAAS,gCACPsuB,GAAyBhN,EAASvM,QAD3B,gBAKb,yBAAK/U,UAAU,sCACb,0BACIA,UAAS,qCACPsuB,GAAyBhN,EAASvM,QAD3B,kBADb,OAKSuM,EAASlhB,IAElB,0BAAMJ,UAAU,QAAQshB,EAASmN,SAAjC,KAA6CnN,EAASoN,kBAMhE,kBAACjI,EAAA,EAAM/U,OAAP,KACE,6BACE,4BACE3O,KAAK,SACL0J,QAAS4E,EACTrR,UAAU,6BAHZ,UAOA,yCACA,4BACE+C,KAAK,SACL0J,QAAS4E,EACTrR,UAAU,+BAHZ,SCrFV,IAAMoxB,GAAoB,SAACvN,EAAUqB,GACnC,IAAMmM,EAAa,GAOnB,OANAnM,EAAIhkB,SAAQ,SAACd,GACX,IAAMkhB,EAAWuC,EAASV,MAAK,SAAC6B,GAAD,OAAQA,EAAG5kB,KAAOA,KAC7CkhB,GACF+P,EAAWvoB,KAAKwY,MAGb+P,GAGF,SAASE,GAAT,GAAuD,IAAjBngB,EAAgB,EAAhBA,KAAMC,EAAU,EAAVA,OAE3Cyf,EAAqB3B,KACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACL9L,IAAK4L,EAAmB5L,IACxBuK,OAAQqB,EAAmBrB,OAC3BnK,YAAawL,EAAmBxL,eAEjC,CAACwL,IAGJ,EAAiCxN,aAC/B,SAAChE,GAAD,MAAY,CACViE,UAAW6N,GACT9R,EAAMiE,UAAUM,SAChBkN,EAAiB7L,KAEnB7B,UAAW/D,EAAMiE,UAAUhC,kBAE7BkC,KARMF,EAAR,EAAQA,UAAWF,EAAnB,EAAmBA,UAYnBvP,qBAAU,WACHid,EAAiB7L,KAAuC,IAAhC6L,EAAiB7L,IAAIrc,QAChDwI,MAGD,CAAC0f,EAAiB7L,MAErB,MAA4BlY,mBAAS,GAArC,mBAAO+H,EAAP,KAAeyc,EAAf,KAEMjM,EAAW0L,cAkBjB,OACE,kBAACxK,EAAA,EAAD,CACErV,KAAMA,EACNC,OAAQA,EACRC,kBAAgB,gCAEhB,kBAACmV,EAAA,EAAMlV,OAAP,CAAcmV,aAAW,GACvB,kBAACD,EAAA,EAAM9U,MAAP,CAAavR,GAAG,gCAAhB,mDAIF,kBAACqmB,EAAA,EAAMhV,KAAP,CAAYzR,UAAU,yBAEnBqjB,GACC,yBAAKrjB,UAAU,iBACb,yBAAKA,UAAU,wCAKnB,yBAAKA,UAAU,4BACZujB,EAAUxf,KAAI,SAACud,GAAD,OACb,yBACEthB,UAAU,kCACVsH,IAAG,yBAAoBga,EAASlhB,KAEhC,yBAAKJ,UAAU,gFACf,yBAAKA,UAAU,kBACb,uBACEA,UAAS,gCACPsuB,GAAyBhN,EAASvM,QAD3B,gBAKb,yBAAK/U,UAAU,sCACb,0BACEA,UAAS,qCACPsuB,GAAyBhN,EAASvM,QAD3B,kBADX,OAKOuM,EAASlhB,IAEhB,0BAAMJ,UAAU,QACbshB,EAASmN,SADZ,KACwBnN,EAASoN,kBAO3C,kBAACjI,EAAA,EAAM/U,OAAP,CAAc1R,UAAU,QACtB,yBAAKA,UAAU,cACb,4BACEA,UAAU,eACVb,MAAO4V,EACP1F,SAAU,SAACC,GAAD,OAAOkiB,GAAWliB,EAAEM,OAAOzQ,SAErC,4BAAQA,MAAM,KAAd,aACA,4BAAQA,MAAM,KAAd,UACA,4BAAQA,MAAM,KAAd,aAGJ,yBAAKa,UAAU,cACb,4BACE+C,KAAK,SACL0J,QAAS4E,EACTrR,UAAU,kCAHZ,UAOA,4BACE+C,KAAK,SACL0J,QAzFW,WAEnB8Y,EAAStB,KAA8B8M,EAAiB7L,IAAKnQ,IAASH,MACpE,WAEE2Q,EAAStB,KAAuB8M,EAAiBzL,cAAc1Q,MAC7D,WAEEmc,EAAiBtB,OAAO,IAExBpe,WAgFArR,UAAU,+BAHZ,oB,i2MC9GV,IAAMyxB,GAAaC,YAAW,CAC5Brb,MAAO,CACLzC,OAAQ,sBAFO8d,EAIhB,SAAC3xB,GAAD,OACD,kBAAC,KAAD,eACE4xB,UAAW,EACXC,mBAAoB,KACpBC,aAAc,CACZC,SAAU,SACVC,WAAY,UAEdC,gBAAiB,CACfF,SAAU,MACVC,WAAY,WAEVhyB,OAGFkyB,GAAiBP,aAAW,SAACxb,GAAD,MAAY,CAC5CC,KAAM,CACJ,UAAW,CACTyR,gBAAiB1R,EAAM4R,QAAQqD,QAAQ+G,KACvC,sDAAuD,CACrDnjB,MAAOmH,EAAM4R,QAAQqK,OAAOC,YALbV,CASnB1H,MACc/T,aAAW,SAACC,GAAD,MAAY,CACvCa,OAAQ,CACNC,OAAQd,EAAMK,QAAQ,IAExBU,SAAU,CACRC,YAAahB,EAAMK,QAAQ,IAE7BY,UAAW,CACTC,WAAYlB,EAAMK,QAAQ,IAE5Bc,UAAW,CACThT,SAAU,QAwBP,SAASguB,GAAT,GAA0C,EAAf7O,YAAgB,IAEhD,EAAsCxW,mBAAS,IAA/C,mBAAOslB,EAAP,KAAoBC,EAApB,KAEMzB,EAAqB3B,KACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACL1L,YAAawL,EAAmBxL,YAChCoK,eAAgBoB,EAAmBpB,kBAEpC,CAACoB,IAGE0B,EAAc,SAACtrB,GACnB,IAAMurB,EAnCY,SAACnN,EAAape,GAClC,IACEyrB,EAMEzrB,EANFyrB,YACA5d,EAKE7N,EALF6N,OACAiW,EAIE9jB,EAJF8jB,YACAkuB,EAGEhyC,EAHFgyC,UACAxmB,EAEExrB,EAFFwrB,WACAyiB,EACEjuC,EADFiuC,SAEI1iB,EAAc,eAAQnN,GACtB/V,EAAS,GAQf,OAPAA,EAAOqmB,SAAsB,KAAX7gB,EAAgBA,OAASjP,EAC3CyJ,EAAOyb,YAAcA,EACrBzb,EAAOojB,YAAcA,EACrBpjB,EAAO4/B,iBAAmB+J,EAC1B3pC,EAAOnP,GAAKsyB,EACZnjB,EAAO4lC,SAAWA,EAClB1iB,EAAeljB,OAASA,EACjBkjB,EAiBkBG,CAAc7B,EAAiBzL,YAAape,GAC9D6oB,mBAAQ0C,EAAgB1B,EAAiBzL,eAC5CmN,EAAe1D,WAAa,EAE5BwD,EAAeE,GAEf1B,EAAiBrB,eAAe+C,KAIhC0mB,EAAat0C,OAAOu0C,SAAS1wC,KAE7B3F,EADM,IAAIs2C,IAAIF,GACHG,aAAa3jC,IAAI,MACnB,OAAT5S,IACF8B,OAAO00C,wBAA0Bx2C,GAEnC,IAWMxC,EAXY0V,aAAW,SAACC,GAAD,MAAY,CACvC0V,UAAW,CACTzE,QAAS,OACTG,SAAU,QAEZuE,UAAW,CACTzU,WAAYlB,EAAMK,QAAQ,GAC1BW,YAAahB,EAAMK,QAAQ,GAC3BH,MAAO,QAGKkB,GAChB,EAAgCoT,IAAM1d,SAAS,MAA/C,mBAAO6lB,EAAP,KAAiBC,EAAjB,KACA,SAASC,EAAY9e,GACnB6e,EAAY7e,EAAM+e,eAEpB,SAASC,IACPH,EAAY,MA/CiC,SAkDhCI,EAlDgC,iFAkD/C,WAA2BnwB,EAAMowB,GAAjC,iFACM5jB,EAAS+iB,GADf,uBAGI/iB,EAAOyf,SAAW,IAHtB,SAIyB1M,IAAMkD,KAAN,4BAAwC,CAC3DF,YAAa/V,IALnB,OAIUJ,EAJV,OAOIzO,YAAOyO,EAAO5M,KAAKshB,SAAU9gB,EAAMowB,GAPvC,wCASyB7Q,IAAMkD,KAAN,4BAAwC,CAC3DF,YAAa,CACX/V,OAAQ,CACNqmB,SAAU,GACV5K,YAAa,GACb2H,YAAa,GACbwc,iBAAkB,IAEpBtgB,UAAW,MACXC,UAAW,KACXC,WAAY,EACZC,SAAU,OApBlB,QASU7f,EATV,OAuBIzO,YAAOyO,EAAO5M,KAAKshB,SAAU9gB,EAAMowB,GAvBvC,6CAlD+C,sBA6E/C,OACE,oCACE,kBAAC,IAAD,CACE3Q,cAAe,CACbzN,OAAQ,GACRiW,YAAa,GACbkuB,UAAW,GACXn2C,KAAM,GACN2vB,WAAY,GACZyiB,UAAU,GAEZzyB,SAAU,SAACxb,GACTsrB,EAAYtrB,MAGb,gBACCA,EADD,EACCA,OACA6b,EAFD,EAECA,aACAqQ,EAHD,EAGCA,WAEAlgB,GALD,EAICmgB,aAJD,EAKCngB,eALD,OAOC,0BAAMwP,SAAUK,EAAc/iB,UAAU,yBACtC,2BACE+C,KAAK,SACL/C,UAAU,SACVI,GAAG,gBACHqM,QAAS,SAAC6C,GACc,KAAlBA,EAAEM,OAAOzQ,MACXX,SAASsR,eAAe,iBAAiB3Q,MAAQ,EAC9CX,SAASsR,eAAe,iBAAiB3Q,MAAQ,EACtD+T,EAAc,cAAe5D,EAAEM,OAAOzQ,OACtC4jB,OAGJ,yBAAK/iB,UAAU,kBACb,yBAAKA,UAAU,aACb,kBAACuzB,GAAA,EAAD,CAAevzB,UAAU,gCACvB,kBAAC,KAAD,CACEoE,MAAO,CAAEwS,OAAQ,QACjB6c,gBAAc,kBACdC,gBAAc,OACdC,QAAQ,WACR5kB,MAAM,UACNtC,QAASsmB,GANX,YASE,kBAACa,EAAA,EAAD,CAAM5zB,UAAWO,EAAQ4W,WAAzB,SAEF,kBAACsa,GAAD,CACErxB,GAAG,kBACHyyB,SAAUA,EACVgB,aAAW,EACXC,KAAMC,QAAQlB,GACdmB,QAASf,GAET,kBAAChB,GAAD,CACExlB,QAAS,SAACwH,GACRif,EAAY,QAAS,eAGvB,kBAACe,GAAA,EAAD,KACE,uBAAG9vB,MAAM,uBAEX,kBAAC+vB,GAAA,EAAD,CAAc/I,QAAQ,WAExB,kBAAC8G,GAAD,CACExlB,QAAS,SAACwH,GACRif,EAAY,MAAO,eAGrB,kBAACe,GAAA,EAAD,KACE,uBAAG9vB,MAAM,qBAEX,kBAAC+vB,GAAA,EAAD,CAAc/I,QAAQ,SAExB,kBAAC8G,GAAD,CACExlB,QAAS,SAACwH,GACRif,EAAY,OAAQ,eAGtB,kBAACe,GAAA,EAAD,KACE,uBAAG9vB,MAAM,sBAEX,kBAAC+vB,GAAA,EAAD,CAAc/I,QAAQ,cAOhC,yBAAKnrB,UAAU,kBACb,yBAAKA,UAAU,YACb,yBAAKA,UAAU,eACb,2BACE+C,KAAK,OACL/C,UAAU,eACVwR,aAAW,kCACXrS,MAAO+H,EAAO8jB,YACd3b,SAAU,SAACC,GACT4D,EAAc,cAAe5D,EAAEM,OAAOzQ,OACtC4jB,QAIN,2BAAO/iB,UAAU,wBACf,qCADF,sBAIF,yBAAKA,UAAU,YACb,yBAAKA,UAAU,eACb,2BACE+C,KAAK,OACL/C,UAAU,eACVwR,aAAW,kCACXrS,MAAO+H,EAAOgyC,UACd7pC,SAAU,SAACC,GACT4D,EAAc,YAAa5D,EAAEM,OAAOzQ,OACpC4jB,QAIN,2BAAO/iB,UAAU,wBACf,qCADF,2BAKJ,yBAAKA,UAAU,kBACb,yBAAKA,UAAU,YACb,4BACEA,UAAU,eACVgG,KAAK,SACLoJ,YAAY,mBAEZC,SAAU,SAACC,GACT4D,EAAc,SAAU5D,EAAEM,OAAOzQ,OACjC4jB,KAEFuQ,OAAQF,EACRj0B,MAAO+H,EAAO6N,QAEd,4BAAQ5V,MAAM,IAAd,OACA,4BAAQA,MAAM,SAAd,YACA,4BAAQA,MAAM,QAAd,WAEF,2BAAOa,UAAU,wBACf,qCADF,eAIF,yBAAKA,UAAU,YACb,2BACE+C,KAAK,OACL/C,UAAU,eACVgG,KAAK,aACLoJ,YAAY,SACZkkB,OAAQF,EACR5R,aAAc3c,OAAO00C,wBACrBlqC,SAAU,SAACC,GACT4D,EAAc,aAAc5D,EAAEM,OAAOzQ,OACrC4jB,OAGJ,2BAAO/iB,UAAU,wBACf,qCADF,WAIF,yBAAKA,UAAU,YACb,yBAAKA,UAAU,kCACb,0BAAMA,UAAU,kCAChB,2BAAOA,UAAU,iFACf,2BACE+C,KAAK,WACLiD,KAAK,WACL8wB,QAAS5vB,EAAO0uB,SAChBvmB,SAAU,SAACC,GACT4D,EAAc,WAAY5D,EAAEM,OAAOknB,SACnC/T,OAGJ,gCAEF,yBAAK/iB,UAAU,kCACb,uBAAGA,UAAU,gFAAb,uB,4CC9Vb,SAASm3B,GAAsB/C,EAAa5sB,GACjD,IAAM8mB,EAA2B,CAAC,UAAW,UAGzC8I,GAA4B,IAAjB5vB,EAAIouB,SAAoB,EAAI,EAK3C,OACE,oCACE,0BAAM51B,UAJF,8BAAN,OAAqCsuB,EAAyB8I,GAA9D,uBAL2B,CAAC,SAAU,YAUZA,KAEN,IAAjB5vB,EAAI2tC,SACH,0BAAMhxC,MAAM,kDAAZ,cAIA,I,wBCVJq1C,IAAU,EACP,SAASrlB,GACdC,EACA5sB,EACA6sB,EAHK,GAKJ,IADC9D,EACF,EADEA,uBAAwBC,EAC1B,EAD0BA,yBAAyBsoB,EACnD,EADmDA,0BAUnD,OARoC,OAAjCj0C,OAAO00C,8BAAmEzzC,IAAjCjB,OAAO00C,yBAAwCC,KACzFA,IAAS,EACTtzC,YAAW,WACTqqB,EAAuB1rB,OAAO00C,2BAC7B,MAKH,6BACE,kBAACE,GAAA,EAAD,CACAjtC,QAAS,kBAAC,KAAD,CAASpM,GAAG,yBAAZ,yBAEP,uBACAJ,UAAU,uDACVyM,QAAS,kBAAMqsC,EAA0BtxC,EAAIpH,MAE7C,0BAAMJ,UAAU,yCACd,kBAAC,IAAD,CACEwI,IAAKC,YAAc,8CAKzB,yCACA,kBAACgxC,GAAA,EAAD,CACAjtC,QAAS,kBAAC,KAAD,CAASpM,GAAG,yBAAZ,mBAEP,uBACAJ,UAAU,uDAEVyM,QAAS,kBAAM8jB,EAAuB/oB,EAAIpH,MAE1C,0BAAMJ,UAAU,yCACd,kBAAC,IAAD,CACEwI,IAAKC,YAAc,iDAKzB,yCACA,kBAACgxC,GAAA,EAAD,CACAjtC,QAAS,kBAAC,KAAD,CAASpM,GAAG,2BAAZ,qBAET,uBACEJ,UAAU,sDACVyM,QAAS,kBAAM+jB,EAAyBhpB,EAAIpH,MAE5C,0BAAMJ,UAAU,wCACd,kBAAC,IAAD,CAAKwI,IAAKC,YAAc,4CC5C3B,SAAS6rB,KAEd,IAAMxD,EAAqB3B,KACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACL9L,IAAK4L,EAAmB5L,IACxBuK,OAAQqB,EAAmBrB,OAC3BnK,YAAawL,EAAmBxL,YAChCoK,eAAgBoB,EAAmBpB,eACnCa,uBAAwBO,EAAmBP,uBAC3CC,yBAA0BM,EAAmBN,yBAC7CsoB,0BAA2BhoB,EAAmBgoB,6BAE/C,CAAChoB,IAGIyD,EAAiBjR,aACvB,SAAChE,GAAD,MAAY,CAAEiV,aAAcjV,EAAMiE,aAClCE,KAFM8Q,aAIA3Q,EAAsC2Q,EAAtC3Q,WAAYC,EAA0B0Q,EAA1B1Q,SAAUL,EAAgB+Q,EAAhB/Q,YAGxB+B,EAAW0L,cACjBnd,qBAAU,WAERid,EAAiBtB,OAAO,IAExBlK,EAAStB,IAAuB8M,EAAiBzL,gBAEhD,CAACyL,EAAiBzL,YAAaC,IAElC,IAAMpZ,EAAU,CACd,CACEC,UAAW,KACXnN,KAAM,KACNyN,MAAM,EACNC,UAAWA,IACXC,0BAEF,CACER,UAAW,cACXnN,KAAM,gBACNyN,MAAM,EACNC,UAAWA,IACXC,0BAEF,CACER,UAAW,WACXnN,KAAM,SACNyN,MAAM,EACNC,UAAWA,IACXN,UAAWmoB,GACX5nB,0BAEF,CACER,UAAW,eACXnN,KAAM,gBACNyN,MAAM,EACNC,UAAWA,IACXC,0BAEF,CACER,UAAW,mBACXnN,KAAM,oBACNyN,MAAM,EACNC,UAAWA,IACXC,0BASF,CACER,UAAW,SACXnN,KAAM,UACNoN,UAAWmoB,GACXC,gBAAiB,CACflE,uBAAwBQ,EAAiBR,uBACzCC,yBAA0BO,EAAiBP,yBAC3CsoB,0BAA2B/nB,EAAiB+nB,2BAE9Cv4C,QAAS,cACTm0B,cAAe,cACftwB,MAAO,CACLuS,SAAU,UAKVge,EAAoB,CACxBC,QAAQ,EACRC,UAAWjR,EACX2K,gBAAiBuG,GACjBC,YAAahE,EAAiBzL,YAAY0J,SAC1CgG,KAAMjE,EAAiBzL,YAAYyJ,YAErC,OACE,oCACE,kBAAC,sBAAD,CAAoBje,WAAYC,KAAkB4jB,KAC/C,YAAgD,IAA7CM,EAA4C,EAA5CA,gBAAiBC,EAA2B,EAA3BA,qBACnB,OACE,kBAAC,IAAD,CACE7R,UAAWG,EACXyR,gBAAiBA,GAEjB,kBAAC,KAAD,eACEjkB,eAAe,mBACfE,UAAU,EACV3Q,QAAQ,gDACR0Q,YAAU,EACVkkB,QAAM,EACNxkB,SAAS,KACTpO,KAAmB,OAAbshB,EAAoB,GAAKA,EAC/B1X,QAASA,EACTyE,cAAekkB,GACfM,cAAeC,YACbtE,EAAiBrB,iBAEfwF,GAEJ,kBAAC,IAAD,CAAmBrR,SAAUA,IAC7B,kBAAC,IAAD,CAAuBA,SAAUA,UCjJ1C,SAASyR,KAEd,IAAMxE,EAAqB3B,KACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACL9L,IAAK4L,EAAmB5L,IACxBuK,OAAQqB,EAAmBrB,OAC3BgB,0BAA2BK,EAAmBL,0BAC9CC,yBAA0BI,EAAmBJ,yBAC7CC,gCACEG,EAAmBH,mCAEtB,CAACG,IAEJ,OACE,yBAAK9wB,UAAU,QACb,yBAAKA,UAAU,4EACb,yBAAKA,UAAU,aACb,yBAAKA,UAAU,gCACb,yBAAKA,UAAU,iCACb,2BAAOA,UAAU,yBACf,yDAC0B,2BAAI+wB,EAAiB7L,IAAIrc,WAIvD,6BACE,4BACE9F,KAAK,SACL/C,UAAU,iDACVyM,QAASskB,EAAiBN,2BAE1B,uBAAGzwB,UAAU,gBALf,eADF,OASE,4BACE+C,KAAK,SACL/C,UAAU,wDACVyM,QAASskB,EAAiBL,0BAE1B,uBAAG1wB,UAAU,iBALf,mBATF,OAiBE,4BACE+C,KAAK,SACL/C,UAAU,wDACVyM,QAASskB,EAAiBJ,iCAE1B,uBAAG3wB,UAAU,mBALf,uB,aCjCP,SAASu1B,KACd,IAAMzE,EAAqB3B,KACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACL9L,IAAK4L,EAAmB5L,IACxBoL,uBAAwBQ,EAAmBR,0BAE5C,CAACQ,IAEJ,OACE,oCACE,kBAACqQ,GAAA,EAAD,KACE,6DACA,0BAAMn7B,KAAK,cAAc4a,QAAQ,iCAEnC,kBAAC,IAAD,KACE,kBAAC,IAAD,CAAYxB,MAAM,kBAChB,kBAAC,IAAD,KACE,4BACErc,KAAK,SACL/C,UAAU,kBACVyM,QAASskB,EAAiBT,wBAH5B,kBASJ,kBAAC,IAAD,KACE,kBAAC+B,GAAD,MACCtB,EAAiB7L,IAAIrc,OAAS,GAAK,kBAACysB,GAAD,MACpC,kBAAChB,GAAD,S,kzMCnBH,SAASolB,GAAT,GAAsD,IAArBt5C,EAAoB,EAApBA,GAAIgR,EAAgB,EAAhBA,KAAMC,EAAU,EAAVA,OAC1CpT,EAAU,IAAIC,IAAa,MAC3BC,EAAKC,IAAIH,GAGT6yB,EAAqB3B,KAC3B,EAA6CniB,mBAAS,MAAtD,mBAAO2sC,EAAP,KAAuBC,EAAvB,KAUA,GARyB5oB,mBAAQ,WAC/B,MAAO,CACLhB,aAAcc,EAAmBd,gBAElC,CAACc,IAGaG,cACmBvG,IAAM1d,UAAS,IAAnD,mBACA,GADA,UAC4CsW,aAC1C,SAAChE,GAAD,MAAY,CACViC,eAAgBjC,EAAMiE,UAAUhC,eAChCuC,gBAAiBxE,EAAMiE,UAAUO,mBAEnCL,MALF,EAAQlC,eAAR,EAAwBuC,gBAsCxB,OA9BAhQ,qBAAU,WAEE,MAAN1T,QAAoB0F,GAAN1F,IAChBw5C,EAAmB,MACnBvlC,MAAM,UAAGxP,OAAOyP,QAAV,0BAA4ClU,EAAI,CACpDmU,OAAQ,MACRC,iBAAiB,EACjBC,QAAS,CACPiL,OAAQ,oCACRhL,cAAc,UAAD,OAAYvW,EAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,sBAGjBC,KAVH,wCAUQ,WAAOC,GAAP,0FACqBA,EAASE,OAD9B,cACED,EADF,gBAEeD,EAAS1N,OAFxB,cAEE5E,EAFF,OAGJa,QAAQC,IAAId,GAHR,kBAIGyS,QAAQC,IAAI,CAACH,EAAYvS,KAJ5B,2CAVR,uDAgBGqS,MAAK,SAACM,GACL,IAAI3L,EAAI2L,EAAI,GACZ0kC,EAAmBrwC,GAAK,OAEzB4L,OAAM,SAAC5K,GACNnH,QAAQmH,MAAMA,SAGnB,CAACnK,IAGF,6BACE,kBAACqmB,EAAA,EAAD,CACEtV,KAAK,KACLC,KAAMA,EACNC,OAAQA,EACRC,kBAAgB,gCAEhB,kBAACmV,EAAA,EAAMlV,OAAP,KACE,yBAAKvR,UAAU,aACb,yBAAKA,UAAU,YACb,wBAAIA,UAAU,gCAAd,2BAC2BI,KAI/B,kBAACi9B,EAAA,EAAD,CAEE7rB,aAAW,QACX/E,QAAS,WAEP4E,MAGF,kBAAC,IAAD,QAGJ,kBAACoV,EAAA,EAAMhV,KAAP,CAAYzR,UAAU,iBACpB,yBAAKA,UAAS,yBAEZ,yBAAKA,UAAU,mCACO,OAAnB25C,EACC,kBAAC,IAAD,CACE5sC,WAAyB,OAAd4sC,QAAc,IAAdA,OAAA,EAAAA,EAAgBvsC,aAAc,KAG3C,yBAAKpN,UAAS,yBACZ,yBAAKA,UAAU,mCACb,yBAAKA,UAAU,YAAYoE,MAAO,CAAEsM,UAAW,WAA/C,2BCzGb,SAASmpC,GAAT,GAAuC,IAAZpkB,EAAW,EAAXA,QAC1BlG,EAAoB,CACxBe,uBAAwB,WACtBmF,EAAQ3sB,KAAK,yBAEfynB,uBAAwB,SAACnwB,GACvBq1B,EAAQ3sB,KAAR,2BAAiC1I,EAAjC,WAEFowB,yBAA0B,SAACpwB,GACzBq1B,EAAQ3sB,KAAR,2BAAiC1I,EAAjC,aAEFqwB,0BAA2B,WACzBgF,EAAQ3sB,KAAR,qCAEF4nB,yBAA0B,WACxB+E,EAAQ3sB,KAAR,2BAEF6nB,gCAAiC,WAC/B8E,EAAQ3sB,KAAK,kCAEfgwC,0BAA2B,SAAC14C,GAC1Bq1B,EAAQ3sB,KAAR,2BAAiC1I,EAAjC,eAIJ,OACE,kBAACkvB,GAAD,CAAqBC,kBAAmBA,GACtC,kBAACnM,EAAD,MACA,kBAAC,IAAD,CAAOnV,KAAK,yBACT,gBAAGwnB,EAAH,EAAGA,QAAS1pB,EAAZ,EAAYA,MAAZ,OACC,kBAAC8kB,GAAD,CACEzf,KAAe,MAATrF,EACNsF,OAAQ,WACNokB,EAAQ3sB,KAAK,0BAKrB,kBAAC,IAAD,CAAOmF,KAAK,8BACT,gBAAGwnB,EAAH,EAAGA,QAAS1pB,EAAZ,EAAYA,MAAZ,OACC,kBAAC8kB,GAAD,CACEzf,KAAe,MAATrF,EACN3L,GAAI2L,GAASA,EAAM2pB,OAAOt1B,GAC1BiR,OAAQ,WACNokB,EAAQ3sB,KAAK,oBACbjE,OAAO00C,wBAAwB,WAMvC,kBAAC,IAAD,CAAOtrC,KAAK,iCACT,gBAAGwnB,EAAH,EAAGA,QAAS1pB,EAAZ,EAAYA,MAAZ,OACC,kBAAC2tC,GAAD,CACEtoC,KAAe,MAATrF,EACN3L,GAAI2L,GAASA,EAAM2pB,OAAOt1B,GAC1BiR,OAAQ,WACNokB,EAAQ3sB,KAAK,oBACbjE,OAAO00C,wBAAwB,WAMvC,kBAAC,IAAD,CAAOtrC,KAAK,qCACT,gBAAGwnB,EAAH,EAAGA,QAAS1pB,EAAZ,EAAYA,MAAZ,OACC,kBAAColB,GAAD,CACE/f,KAAe,MAATrF,EACNsF,OAAQ,WACNokB,EAAQ3sB,KAAK,0BAKrB,kBAAC,IAAD,CAAOmF,KAAK,gCACT,gBAAGwnB,EAAH,EAAGA,QAAS1pB,EAAZ,EAAYA,MAAZ,OACC,kBAACmlB,GAAD,CACE9f,KAAe,MAATrF,EACN3L,GAAI2L,GAASA,EAAM2pB,OAAOt1B,GAC1BiR,OAAQ,WACNokB,EAAQ3sB,KAAK,0BAKrB,kBAAC,IAAD,CAAOmF,KAAK,2BACT,gBAAGwnB,EAAH,EAAGA,QAAS1pB,EAAZ,EAAYA,MAAZ,OACC,kBAACulB,GAAD,CACElgB,KAAe,MAATrF,EACNsF,OAAQ,WACNokB,EAAQ3sB,KAAK,0BAKrB,kBAAC,IAAD,CAAOmF,KAAK,kCACT,gBAAGwnB,EAAH,EAAGA,QAAS1pB,EAAZ,EAAYA,MAAZ,OACC,kBAACwlB,GAAD,CACEngB,KAAe,MAATrF,EACNsF,OAAQ,WACNokB,EAAQ3sB,KAAK,0BAKrB,kBAACysB,GAAD,OArHN,oC,6ECIO,SAASnS,IAEd,IAAQC,EAAcC,aACpB,SAAChE,GAAD,MAAY,CAAE+D,UAAW/D,EAAMiE,UAAUC,eACzCC,KAFMJ,UAMR,OADAvP,qBAAU,cAAU,CAACuP,IACd,kBAAC,IAAD,CAAeA,UAAWA,EAAWpkB,KAAK,gB,6BCVtCykB,EAAgB,oB,YCAvBC,EAAwB,CAC5BH,aAAa,EACbjC,gBAAgB,EAChBqC,WAAY,EACZC,SAAU,KACVC,qBAAiBhe,EACjBie,UAAW,MAEAC,EACL,OADKA,EAEH,SCTHC,EDYuBC,YAAY,CACxCle,KAAM,YACNme,aAAcR,EACdS,SAAU,CACRC,WAAY,SAAC/E,EAAOgF,GAClBhF,EAAM/U,MAAN,UAAiB+Z,EAAOvhB,KAAxB,aAAiCuhB,EAAOC,QAAQha,OAC5C+Z,EAAOC,QAAQC,WAAaR,EAC9B1E,EAAMkE,aAAc,EAEpBlE,EAAMiC,gBAAiB,GAG3BkD,UAAW,SAACnF,EAAOgF,GACjBhF,EAAM/U,MAAQ,KACV+Z,EAAOC,QAAQC,WAAaR,EAC9B1E,EAAMkE,aAAc,EAEpBlE,EAAMiC,gBAAiB,GAI3BmD,gBAAiB,SAACpF,EAAOgF,GACvBhF,EAAMiC,gBAAiB,EACvBjC,EAAMwE,gBAAkBQ,EAAOC,QAAQT,gBACvCxE,EAAM/U,MAAQ,MAGhBoa,iBAAkB,SAACrF,EAAOgF,GACxB,MAAiCA,EAAOC,QAAhCX,EAAR,EAAQA,WAAYC,EAApB,EAAoBA,SACpBvE,EAAMkE,aAAc,EACpBlE,EAAM/U,MAAQ,KACd+U,EAAMuE,SAAWA,EACjBvE,EAAMsE,WAAaA,GAGrBgB,gBAAiB,SAACtF,EAAOgF,GACvBhF,EAAMiC,gBAAiB,EACvBjC,EAAM/U,MAAQ,KACd+U,EAAMuE,SAAS/a,KAAKwb,EAAOC,QAAQjD,WAGrCuD,gBAAiB,SAACvF,EAAOgF,GACvBhF,EAAM/U,MAAQ,KACd+U,EAAMiC,gBAAiB,EACvBjC,EAAMuE,SAAWvE,EAAMuE,SAAS9f,KAAI,SAAA+gB,GAClC,OAAIA,EAAO1kB,KAAOkkB,EAAOC,QAAQjD,SAASlhB,GACjCkkB,EAAOC,QAAQjD,SAEjBwD,MAIXC,gBAAiB,SAACzF,EAAOgF,GACvBhF,EAAM/U,MAAQ,KACd+U,EAAMiC,gBAAiB,EACvBjC,EAAMuE,SAAWvE,EAAMuE,SAAStU,QAAO,SAAAyV,GAAE,OAAIA,EAAG5kB,KAAOkkB,EAAOC,QAAQnkB,OAGxE6kB,iBAAkB,SAAC3F,EAAOgF,GACxBhF,EAAM/U,MAAQ,KACd+U,EAAMiC,gBAAiB,EACvBjC,EAAMuE,SAAWvE,EAAMuE,SAAStU,QAC9B,SAAAyV,GAAE,OAAKV,EAAOC,QAAQW,IAAIvV,SAASqV,EAAG5kB,QAI1C+kB,uBAAwB,SAAC7F,EAAOgF,GAC9BhF,EAAMiC,gBAAiB,EACvBjC,EAAM/U,MAAQ,KACd,MAAwB+Z,EAAOC,QAAvBW,EAAR,EAAQA,IAAKnQ,EAAb,EAAaA,OACbuK,EAAMuE,SAAWvE,EAAMuE,SAAS9f,KAAI,SAAA+gB,GAIlC,OAHII,EAAIE,WAAU,SAAAhlB,GAAE,OAAIA,IAAO0kB,EAAO1kB,OAAO,IAC3C0kB,EAAO/P,OAASA,GAEX+P,SCtFRb,QAEMoB,EAAiB,SAAAC,GAAW,OAAI,SAAAC,GAE3C,OADAA,EAAStB,EAAQQ,UAAU,CAAED,SAAUR,KFclC,SAAuBsB,GAC5B,OAAOhD,IAAMkD,KAAN,UAAc9B,EAAd,SAAoC,CAAE4B,gBEdtCG,CACUH,GACd1Q,MAAK,SAAAC,GACJ,MAAiCA,EAAStS,KAAlCqhB,EAAR,EAAQA,WAAYC,EAApB,EAAoBA,SACpB0B,EAAStB,EAAQU,iBAAiB,CAAEf,aAAYC,iBAEjD1O,OAAM,SAAA5K,GACLA,EAAMmb,cAAgB,uBACtBH,EAAStB,EAAQI,WAAW,CAAE9Z,QAAOia,SAAUR,UAIxC2B,EAAgB,SAAAvlB,GAAE,OAAI,SAAAmlB,GACjC,OAAKnlB,GAILmlB,EAAStB,EAAQQ,UAAU,CAAED,SAAUR,MFVT4B,EEYXxlB,EFXZkiB,IAAM3M,IAAN,UAAa+N,EAAb,YAA8BkC,KEYlChR,MAAK,SAAAC,GACJ,IAAMyM,EAAWzM,EAAStS,KAC1BgjB,EAAStB,EAAQS,gBAAgB,CAAEZ,gBAAiBxC,QAErDnM,OAAM,SAAA5K,GACLA,EAAMmb,cAAgB,sBACtBH,EAAStB,EAAQI,WAAW,CAAE9Z,QAAOia,SAAUR,SAZ1CuB,EAAStB,EAAQS,gBAAgB,CAAEZ,qBAAiBhe,KFPxD,IAAyB8f,IEuBnBC,EAAiB,SAAAzlB,GAAE,OAAI,SAAAmlB,GAElC,OADAA,EAAStB,EAAQQ,UAAU,CAAED,SAAUR,MFAV4B,EEEXxlB,EFDXkiB,IAAMwD,OAAN,UAAgBpC,EAAhB,YAAiCkC,KEErChR,MAAK,SAAAC,GACJ0Q,EAAStB,EAAQc,gBAAgB,CAAE3kB,WAEpC+U,OAAM,SAAA5K,GACLA,EAAMmb,cAAgB,wBACtBH,EAAStB,EAAQI,WAAW,CAAE9Z,QAAOia,SAAUR,QFR9C,IAAwB4B,IEYlBG,EAAiB,SAAAC,GAAmB,OAAI,SAAAT,GAEnD,OADAA,EAAStB,EAAQQ,UAAU,CAAED,SAAUR,MF9CV1C,EEgDX0E,EF/CX1D,IAAMkD,KAAK9B,EAAe,CAAEpC,cEgDhC1M,MAAK,SAAAC,GACJ,IAAQyM,EAAazM,EAAStS,KAAtB+e,SACRiE,EAAStB,EAAQW,gBAAgB,CAAEtD,iBAEpCnM,OAAM,SAAA5K,GACLA,EAAMmb,cAAgB,wBACtBH,EAAStB,EAAQI,WAAW,CAAE9Z,QAAOia,SAAUR,QFvD9C,IAAwB1C,IE2DlB2E,EAAiB,SAAA3E,GAAQ,OAAI,SAAAiE,GAExC,OADAA,EAAStB,EAAQQ,UAAU,CAAED,SAAUR,KFxClC,SAAwB1C,GAC7B,OAAOgB,IAAM4D,IAAN,UAAaxC,EAAb,YAA8BpC,EAASlhB,IAAM,CAAEkhB,aEwC/CmE,CACWnE,GACf1M,MAAK,WACJ2Q,EAAStB,EAAQY,gBAAgB,CAAEvD,iBAEpCnM,OAAM,SAAA5K,GACLA,EAAMmb,cAAgB,wBACtBH,EAAStB,EAAQI,WAAW,CAAE9Z,QAAOia,SAAUR,UAIxCmC,EAAwB,SAACjB,EAAKnQ,GAAN,OAAiB,SAAAwQ,GAEpD,OADAA,EAAStB,EAAQQ,UAAU,CAAED,SAAUR,KFhDlC,SAAkCkB,EAAKnQ,GAC5C,OAAOuN,IAAMkD,KAAN,UAAc9B,EAAd,6BAAwD,CAC7DwB,MACAnQ,WE8CK0Q,CACqBP,EAAKnQ,GAC9BH,MAAK,WACJ2Q,EAAStB,EAAQkB,uBAAuB,CAAED,MAAKnQ,eAEhDI,OAAM,SAAA5K,GACLA,EAAMmb,cAAgB,gCACtBH,EAAStB,EAAQI,WAAW,CAAE9Z,QAAOia,SAAUR,UAIxCoC,EAAkB,SAAAlB,GAAG,OAAI,SAAAK,GAEpC,OADAA,EAAStB,EAAQQ,UAAU,CAAED,SAAUR,KFhDlC,SAAyBkB,GAC9B,OAAO5C,IAAMkD,KAAN,UAAc9B,EAAd,oBAA+C,CAAEwB,QEgDjDO,CACYP,GAChBtQ,MAAK,WACJ2Q,EAAStB,EAAQgB,iBAAiB,CAAEC,YAErC/P,OAAM,SAAA5K,GACLA,EAAMmb,cAAgB,yBACtBH,EAAStB,EAAQI,WAAW,CAAE9Z,QAAOia,SAAUR,U,iCCnGxCsK,EAA2B,CAAC,SAAU,UAAW,OAAQ,IAUzDE,EAAgB,CAC3Bjf,OAAQ,CACNkf,SAAU,GACVC,UAAW,GACXC,MAAO,GACPC,UAAW,IAEbC,UAAW,OACXC,UAAW,KACXC,WAAY,EACZC,SAAU,IChBNC,EAAqBC,0BAEpB,SAASC,IACd,OAAOC,qBAAWH,GAGeA,EAAmBI,SAE/C,SAASC,EAAT,GAA+D,IAAhCC,EAA+B,EAA/BA,kBAAmB7G,EAAY,EAAZA,SACvD,EAA0C1b,mBAASwhB,GAAnD,mBAAOlJ,EAAP,KAAoBkK,EAApB,KACA,EAAsBxiB,mBAAS,IAA/B,mBAAOkY,EAAP,KAAYuK,EAAZ,KACMC,EAAiBC,uBAAY,SAACC,GAClCJ,GAAmB,SAACK,GAKlB,OAJIC,qBAAWF,KACbA,EAAkBA,EAAgBC,IAGhCE,kBAAQF,EAAiBD,GACpBC,EAGFD,OAER,IAcGzwB,EAAQ,CACZmmB,cACAkK,qBACAtK,MACAuK,SACAC,iBACAM,aAlBmB,CACnB5vB,QAAI0F,EACJlC,QAAIkC,EACJod,KAAM,GACNrf,KAAM,GACNqsB,KAAK,GACLhC,UAAW,KACX2d,cAAe,GACf5b,QAAQ,GACR2F,UAAU,GAUVtF,uBAAwBf,EAAkBe,uBAC1CC,uBAAwBhB,EAAkBgB,uBAC1CC,yBAA0BjB,EAAkBiB,yBAC5CC,0BAA2BlB,EAAkBkB,0BAC7CC,yBAA0BnB,EAAkBmB,yBAC5CC,gCACEpB,EAAkBoB,iCAGtB,OACE,kBAAC1B,EAAmB2B,SAApB,CAA6BzxB,MAAOA,GACjCupB,GCnDA,SAASmI,EAAT,GAAmD,IAArBzwB,EAAoB,EAApBA,GAAIgR,EAAgB,EAAhBA,KAAMC,EAAU,EAAVA,OAEvCyf,EAAqB3B,IACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACLhB,aAAcc,EAAmBd,gBAElC,CAACc,IAGEvL,EAAW0L,cACjB,EAA4C3N,aAC1C,SAAChE,GAAD,MAAY,CACViC,eAAgBjC,EAAMiE,UAAUhC,eAChCuC,gBAAiBxE,EAAMiE,UAAUO,mBAEnCL,KALMlC,EAAR,EAAQA,eAAgBuC,EAAxB,EAAwBA,gBAQxBhQ,qBAAU,WAERyR,EAAStB,EAAsB7jB,MAC9B,CAACA,EAAImlB,IAmBR,OACE,kBAACkB,EAAA,EAAD,CACEtV,KAAK,KACLC,KAAMA,EACNC,OAAQA,EACRC,kBAAgB,gCAEhB,kBAAC+U,EAAA,EAAD,CAA0BjmB,GAAIA,EAAIiR,OAAQA,IAC1C,kBAAC+P,EAAA,EAAD,CACEC,aAzBe,SAACC,GACflhB,EAQHmlB,EAAStB,EAAuB3C,IAAW1M,MAAK,WAC9CvD,IACA7S,SAASsR,eAAe,iBAAiBinB,WAR3CxR,EAAStB,EAAuB3C,IAAW1M,MAAK,WAC9CvD,IACA7S,SAASsR,eAAe,iBAAiBinB,YAqBzCxV,eAAgBA,EAChBD,SAAUwC,GAAmBiN,EAAiBf,aAC9C3e,OAAQA,KCtDT,SAAS6f,EAAT,GAAqD,IAArB9wB,EAAoB,EAApBA,GAAIgR,EAAgB,EAAhBA,KAAMC,EAAU,EAAVA,OAEzCyf,EAAqB3B,IACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACLvB,OAAQqB,EAAmBrB,OAC3BnK,YAAawL,EAAmBxL,eAEjC,CAACwL,IAGEvL,EAAW0L,cACT5N,EAAcC,aACpB,SAAChE,GAAD,MAAY,CAAE+D,UAAW/D,EAAMiE,UAAUhC,kBACzCkC,KAFMJ,UAMRvP,qBAAU,WACH1T,GACHiR,MAGD,CAACjR,IAGJ0T,qBAAU,cAAU,CAACuP,EAAWkC,IAchC,OACE,kBAACkB,EAAA,EAAD,CACErV,KAAMA,EACNC,OAAQA,EACRC,kBAAgB,gCAGf+R,GAAa,kBAAC,IAAD,MAEd,kBAACoD,EAAA,EAAMlV,OAAP,CAAcmV,aAAW,GACvB,kBAACD,EAAA,EAAM9U,MAAP,CAAavR,GAAG,gCAAhB,mBAIF,kBAACqmB,EAAA,EAAMhV,KAAP,MACI4R,GACA,mFAEDA,GAAa,yDAEhB,kBAACoD,EAAA,EAAM/U,OAAP,KACE,6BACE,4BACE3O,KAAK,SACL0J,QAAS4E,EACTrR,UAAU,6BAHZ,UAOA,yCACA,4BACE+C,KAAK,SACL0J,QA5Ca,WAErB8Y,EAAStB,EAAuB7jB,IAAKwU,MAAK,WAExC2Q,EAAStB,EAAuB8M,EAAiBzL,cAEjDyL,EAAiBtB,OAAO,IAExBpe,QAqCMrR,UAAU,8BAHZ,aCtEH,SAASmxB,EAAT,GAAkD,IAAjB/f,EAAgB,EAAhBA,KAAMC,EAAU,EAAVA,OAEtCyf,EAAqB3B,IACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACL9L,IAAK4L,EAAmB5L,IACxBuK,OAAQqB,EAAmBrB,OAC3BnK,YAAawL,EAAmBxL,eAEjC,CAACwL,IAGEvL,EAAW0L,cACT5N,EAAcC,aACpB,SAAChE,GAAD,MAAY,CAAE+D,UAAW/D,EAAMiE,UAAUhC,kBACzCkC,KAFMJ,UAMRvP,qBAAU,WACHid,EAAiB7L,KAAuC,IAAhC6L,EAAiB7L,IAAIrc,QAChDwI,MAGD,CAAC0f,EAAiB7L,MAGrBpR,qBAAU,cAAU,CAACuP,EAAWkC,IAiBhC,OACE,kBAACkB,EAAA,EAAD,CACErV,KAAMA,EACNC,OAAQA,EACRC,kBAAgB,gCAGf+R,GAAa,kBAAC,IAAD,MAEd,kBAACoD,EAAA,EAAMlV,OAAP,CAAcmV,aAAW,GACvB,kBAACD,EAAA,EAAM9U,MAAP,CAAavR,GAAG,gCAAhB,qBAIF,kBAACqmB,EAAA,EAAMhV,KAAP,MACI4R,GACA,wFAEDA,GAAa,2DAEhB,kBAACoD,EAAA,EAAM/U,OAAP,KACE,6BACE,4BACE3O,KAAK,SACL0J,QAAS4E,EACTrR,UAAU,6BAHZ,UAOA,yCACA,4BACE+C,KAAK,SACL0J,QA/Cc,WAEtB8Y,EAAStB,EAAwB8M,EAAiB7L,MAAMtQ,MAAK,WAE3D2Q,EAAStB,EAAuB8M,EAAiBzL,cAAc1Q,MAC7D,WAEEmc,EAAiBtB,OAAO,IAExBpe,WAuCErR,UAAU,+BAHZ,aC3EV,IAAMoxB,EAAoB,SAACvN,EAAUqB,GACnC,IAAMmM,EAAa,GAOnB,OANAnM,EAAIhkB,SAAQ,SAACd,GACX,IAAMkhB,EAAWuC,EAASV,MAAK,SAAC6B,GAAD,OAAQA,EAAG5kB,KAAOA,KAC7CkhB,GACF+P,EAAWvoB,KAAKwY,MAGb+P,GAGF,SAASC,EAAT,GAAiD,IAAjBlgB,EAAgB,EAAhBA,KAAMC,EAAU,EAAVA,OAErCyf,EAAqB3B,IACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACL9L,IAAK4L,EAAmB5L,OAEzB,CAAC4L,IAGIvN,EAAcD,aACpB,SAAChE,GAAD,MAAY,CACViE,UAAW6N,EACT9R,EAAMiE,UAAUM,SAChBkN,EAAiB7L,QAGrBzB,KAPMF,UAkBR,OAPAzP,qBAAU,WACHid,EAAiB7L,KAAuC,IAAhC6L,EAAiB7L,IAAIrc,QAChDwI,MAGD,CAAC0f,EAAiB7L,MAGnB,kBAACuB,EAAA,EAAD,CACErV,KAAMA,EACNC,OAAQA,EACRC,kBAAgB,gCAEhB,kBAACmV,EAAA,EAAMlV,OAAP,CAAcmV,aAAW,GACvB,kBAACD,EAAA,EAAM9U,MAAP,CAAavR,GAAG,gCAAhB,4BAIF,kBAACqmB,EAAA,EAAMhV,KAAP,KACE,yBAAKzR,UAAU,4BACZujB,EAAUxf,KAAI,SAACud,GAAD,OACb,yBAAKthB,UAAU,kCAAkCsH,IAAG,YAAOga,EAASlhB,KAClE,yBAAKJ,UAAU,gFACf,yBAAKA,UAAU,kBACb,uBACEA,UAAS,gCACPsuB,EAAyBhN,EAASvM,QAD3B,gBAKb,yBAAK/U,UAAU,sCACb,0BACIA,UAAS,qCACPsuB,EAAyBhN,EAASvM,QAD3B,kBADb,OAKSuM,EAASlhB,IAElB,0BAAMJ,UAAU,QAAQshB,EAASmN,SAAjC,KAA6CnN,EAASoN,kBAMhE,kBAACjI,EAAA,EAAM/U,OAAP,KACE,6BACE,4BACE3O,KAAK,SACL0J,QAAS4E,EACTrR,UAAU,6BAHZ,UAOA,yCACA,4BACE+C,KAAK,SACL0J,QAAS4E,EACTrR,UAAU,+BAHZ,SCrFV,IAAMoxB,EAAoB,SAACvN,EAAUqB,GACnC,IAAMmM,EAAa,GAOnB,OANAnM,EAAIhkB,SAAQ,SAACd,GACX,IAAMkhB,EAAWuC,EAASV,MAAK,SAAC6B,GAAD,OAAQA,EAAG5kB,KAAOA,KAC7CkhB,GACF+P,EAAWvoB,KAAKwY,MAGb+P,GAGF,SAASE,EAAT,GAAuD,IAAjBngB,EAAgB,EAAhBA,KAAMC,EAAU,EAAVA,OAE3Cyf,EAAqB3B,IACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACL9L,IAAK4L,EAAmB5L,IACxBuK,OAAQqB,EAAmBrB,OAC3BnK,YAAawL,EAAmBxL,eAEjC,CAACwL,IAGJ,EAAiCxN,aAC/B,SAAChE,GAAD,MAAY,CACViE,UAAW6N,EACT9R,EAAMiE,UAAUM,SAChBkN,EAAiB7L,KAEnB7B,UAAW/D,EAAMiE,UAAUhC,kBAE7BkC,KARMF,EAAR,EAAQA,UAAWF,EAAnB,EAAmBA,UAYnBvP,qBAAU,WACHid,EAAiB7L,KAAuC,IAAhC6L,EAAiB7L,IAAIrc,QAChDwI,MAGD,CAAC0f,EAAiB7L,MAErB,MAA4BlY,mBAAS,GAArC,mBAAO+H,EAAP,KAAeyc,EAAf,KAEMjM,EAAW0L,cAkBjB,OACE,kBAACxK,EAAA,EAAD,CACErV,KAAMA,EACNC,OAAQA,EACRC,kBAAgB,gCAEhB,kBAACmV,EAAA,EAAMlV,OAAP,CAAcmV,aAAW,GACvB,kBAACD,EAAA,EAAM9U,MAAP,CAAavR,GAAG,gCAAhB,mDAIF,kBAACqmB,EAAA,EAAMhV,KAAP,CAAYzR,UAAU,yBAEnBqjB,GACC,yBAAKrjB,UAAU,iBACb,yBAAKA,UAAU,wCAKnB,yBAAKA,UAAU,4BACZujB,EAAUxf,KAAI,SAACud,GAAD,OACb,yBACEthB,UAAU,kCACVsH,IAAG,yBAAoBga,EAASlhB,KAEhC,yBAAKJ,UAAU,gFACf,yBAAKA,UAAU,kBACb,uBACEA,UAAS,gCACPsuB,EAAyBhN,EAASvM,QAD3B,gBAKb,yBAAK/U,UAAU,sCACb,0BACEA,UAAS,qCACPsuB,EAAyBhN,EAASvM,QAD3B,kBADX,OAKOuM,EAASlhB,IAEhB,0BAAMJ,UAAU,QACbshB,EAASmN,SADZ,KACwBnN,EAASoN,kBAO3C,kBAACjI,EAAA,EAAM/U,OAAP,CAAc1R,UAAU,QACtB,yBAAKA,UAAU,cACb,4BACEA,UAAU,eACVb,MAAO4V,EACP1F,SAAU,SAACC,GAAD,OAAOkiB,GAAWliB,EAAEM,OAAOzQ,SAErC,4BAAQA,MAAM,KAAd,aACA,4BAAQA,MAAM,KAAd,UACA,4BAAQA,MAAM,KAAd,aAGJ,yBAAKa,UAAU,cACb,4BACE+C,KAAK,SACL0J,QAAS4E,EACTrR,UAAU,kCAHZ,UAOA,4BACE+C,KAAK,SACL0J,QAzFW,WAEnB8Y,EAAStB,EAA8B8M,EAAiB7L,IAAKnQ,IAASH,MACpE,WAEE2Q,EAAStB,EAAuB8M,EAAiBzL,cAAc1Q,MAC7D,WAEEmc,EAAiBtB,OAAO,IAExBpe,WAgFArR,UAAU,+BAHZ,oB,68MC1HV,IAAM/B,GAAU,IAAIC,KAAa,MAC3BC,GAAKC,IAAIH,IAITwzB,GAAaC,YAAW,CAC5Brb,MAAO,CACLzC,OAAQ,sBAFO8d,EAIhB,SAAA3xB,GAAK,OACN,kBAACS,EAAA,EAAD,eACEmxB,UAAW,EACXC,mBAAoB,KACpBC,aAAc,CACZC,SAAU,SACVC,WAAY,UAEdC,gBAAiB,CACfF,SAAU,MACVC,WAAY,WAEVhyB,OAGFkyB,GAAiBP,aAAW,SAAAxb,GAAK,MAAK,CAC1CC,KAAM,CACJ,UAAW,CACTyR,gBAAiB1R,EAAM4R,QAAQqD,QAAQ+G,KACvC,sDAAuD,CACrDnjB,MAAOmH,EAAM4R,QAAQqK,OAAOC,YALbV,CASnB1H,KAeE3F,IAdYpO,aAAW,SAAAC,GAAK,MAAK,CACrCa,OAAQ,CACNC,OAAQd,EAAMK,QAAQ,IAExBU,SAAU,CACRC,YAAahB,EAAMK,QAAQ,IAE7BY,UAAW,CACTC,WAAYlB,EAAMK,QAAQ,IAE5Bc,UAAW,CACThT,SAAU,QAGK,IAmBZ,SAASguB,GAAT,GAA0C,EAAf7O,YAAgB,IAEhD,EAAsCxW,mBAAS,IAA/C,mBAAOslB,EAAP,KAAoBC,EAApB,KAEMzB,EAAqB3B,IACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACL1L,YAAawL,EAAmBxL,YAChCoK,eAAgBoB,EAAmBpB,kBAEpC,CAACoB,IAGE0B,EAAc,SAACtrB,GACnB,IAAMurB,EAhCY,SAACnN,EAAape,GAClC,IACEyrB,EAKEzrB,EALFyrB,YACAmnB,EAIE5yC,EAJF4yC,OACApnB,EAGExrB,EAHFwrB,WACAqnB,EAEE7yC,EAFF6yC,iBACAz4B,EACEpa,EADFoa,SAEImR,EAAc,eAAQnN,GACtB/V,EAAS,GAOf,OANAA,EAAOuqC,OAAoB,MAAXA,EAAiBA,OAASh0C,EAC1CyJ,EAAO2T,KAAOwP,EACdnjB,EAAOyqC,iBAAmBD,EAC1BxqC,EAAO+R,SAAWA,EAClB/R,EAAOojB,YAAcA,EACrBF,EAAeljB,OAASA,EACjBkjB,EAgBkBG,CAAc7B,EAAiBzL,YAAape,GAC9D6oB,kBAAQ0C,EAAgB1B,EAAiBzL,eAC5CmN,EAAe1D,WAAa,EAE5BwD,EAAeE,GAEf1B,EAAiBrB,eAAe+C,KAIpC,EAAwCzlB,mBAASqX,IAAjD,mBAAOwpB,EAAP,KAAqBmF,EAArB,KACA,EAAkChmC,mBAASqX,IAA3C,mBAAOd,EAAP,KAAkB9B,EAAlB,KACA3N,qBAAU,WACR65B,IA3B6C,mCA4B7CsM,KACC,IAEH,IAAMtM,EAAmB,wCAAG,kHAEHrrB,IAAM3M,IAAI,+BAFP,OAElBxG,EAFkB,OAGlB+qC,EAAQ/qC,EAAO5M,KAAP,cAA+B8hB,GACvCtc,EAAO,GACbmyC,EAAMrxC,OAAS,GACbqxC,EAAMn2C,KAAI,SAACC,GACT+D,EAAKe,KAAK,CAAE3J,MAAO6E,EAAKJ,GAAIJ,MAAOQ,EAAKH,UAE5CmvC,EAAgBjrC,GAAQsc,IACxBxf,OAAOgpC,aAAe1+B,EAAO5M,KAAP,cAA+B8hB,GACrDxf,OAAO0hC,QAAUp3B,EAAO5M,KAAP,WAA4B8hB,GAXrB,4GAAH,qDAyBnB9jB,EAXY0V,aAAW,SAAAC,GAAK,MAAK,CACrC0V,UAAW,CACTzE,QAAS,OACTG,SAAU,QAEZuE,UAAW,CACTzU,WAAYlB,EAAMK,QAAQ,GAC1BW,YAAahB,EAAMK,QAAQ,GAC3BH,MAAO,QAGKkB,GAChB,EAAgCoT,IAAM1d,SAAS,MAA/C,mBAAO6lB,EAAP,KAAiBC,EAAjB,KACA,SAASC,EAAY9e,GACnB6e,EAAY7e,EAAM+e,eAEpB,SAASC,IACPH,EAAY,MA9DiC,SAiEhCI,EAjEgC,iFAiE/C,WAA2BnwB,EAAMowB,GAAjC,iFACM5jB,EAAS+iB,GADf,uBAGI/iB,EAAOyf,SAAW,IAHtB,SAIyB1M,IAAMkD,KAAN,2BAAuC,CAAE,YAAejW,IAJjF,OAIUJ,EAJV,OAKIzO,aAAOyO,EAAO5M,KAAKshB,SAAU9gB,EAAMowB,GALvC,wCAOyB7Q,IAAMkD,KAAN,2BAAuC,CAAE,YAAe,CAAE,OAAU,CAAE,OAAU,GAAI,aAAe,GAAS,UAAa,MAAO,UAAa,KAAM,WAAc,EAAG,SAAY,OAPzM,QAOUrW,EAPV,OAQIzO,aAAOyO,EAAO5M,KAAKshB,SAAU9gB,EAAMowB,GARvC,6CAjE+C,mEA4E/C,+FACe9e,MAAM,GAAD,OAAIxP,OAAOyP,QAAX,sBAAwC,CACxDC,OAAQ,MACRC,iBAAiB,EACjBC,QAAS,CACPiL,OAAQ,oCACRhL,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,sBAGjBC,KAVU,wCAUL,WAAOC,GAAP,iFACEC,EAAaD,EAASE,OADxB,SAEeF,EAAS1N,OAFxB,cAEE5E,EAFF,yBAGGyS,QAAQC,IAAI,CAACH,EAAYvS,KAH5B,2CAVK,uDAeVqS,MAAK,SAACM,GACL,IAAI3L,EAAI2L,EAAI,GACN4X,EAAM,IACX,OAADvjB,QAAC,IAADA,OAAA,EAAAA,EAAG4P,UAAUtQ,QAAS,GAAKU,EAAE4P,UAAUpV,KAAI,SAACC,GAC1C8oB,EAAIhkB,KAAK,CAAE3J,MAAO6E,EAAKJ,GAAIJ,MAAOQ,EAAKH,UAEzC4d,EAAaqL,GACbjoB,OAAOs1C,kBAAoB5wC,EAAE4P,aAE9BhE,OAAM,SAAC5K,GACNnH,QAAQmH,MAAMA,MA1BpB,oFA5E+C,sBA0G/C,OACE,oCACE,kBAAC,IAAD,CACEiY,cAAe,CACbmQ,YAAa,GACb5d,OAAQ,GACR+kC,OAAQ,IACRpnB,WAAY,IAEdhQ,SAAU,SAACxb,GACTsrB,EAAYtrB,MAGb,gBACCA,EADD,EACCA,OACA6b,EAFD,EAECA,aACAqQ,EAHD,EAGCA,WAEAlgB,GALD,EAICmgB,aAJD,EAKCngB,eALD,OAOC,0BAAMwP,SAAUK,EAAc/iB,UAAU,yBACtC,2BACE+C,KAAK,SACL/C,UAAU,SACVI,GAAG,gBACHqM,QAAS,SAAC6C,GACc,KAAlBA,EAAEM,OAAOzQ,MACXX,SAASsR,eAAe,iBAAiB3Q,MAAQ,EAC9CX,SAASsR,eAAe,iBAAiB3Q,MAAQ,EACtD+T,EAAc,cAAe5D,EAAEM,OAAOzQ,OACtC4jB,OAIJ,yBAAK/iB,UAAU,kBACb,yBAAKA,UAAU,YACb,2BACE+C,KAAK,OACL/C,UAAU,eACVgG,KAAK,aACLoJ,YAAY,SACZkkB,OAAQF,EACRj0B,MAAO+H,EAAOwrB,WACdrjB,SAAU,SAACC,GACT4D,EAAc,aAAc5D,EAAEM,OAAOzQ,OACrC4jB,OAGJ,2BAAO/iB,UAAU,wBACf,qCADF,mBAIF,yBAAKA,UAAU,YACb,kBAAC,KAAD,CACEka,aAAW,EACXlU,KAAK,WACL5F,GAAG,WACH+Z,QAASoJ,EACTlU,SAAU,SAACC,GAEP4D,EAAc,WADN,OAAN5D,EACwBA,EAAEnQ,MAEF,IAE5B4jB,OAGJ,2BAAO/iB,UAAU,wBACf,qCADF,iBAIF,yBAAKA,UAAU,YACb,2BACE+C,KAAK,OACL/C,UAAU,eACVgG,KAAK,mBACLoJ,YAAY,SACZkkB,OAAQF,EACR/jB,SAAU,SAACC,GACT4D,EAAc,mBAAoB5D,EAAEM,OAAOzQ,OAC3C4jB,OAGJ,2BAAO/iB,UAAU,wBACf,qCADF,0BAKF,yBAAKA,UAAU,YACb,kBAAC,KAAD,CACEka,aAAW,EACXlU,KAAK,SACL5F,GAAG,SACH+Z,QAAS0zB,EACTx+B,SAAU,SAACC,GAEP4D,EAAc,SADN,OAAN5D,EACsBA,EAAEnQ,MAEF,IAE1B4jB,OAGJ,2BAAO/iB,UAAU,wBACf,qCADF,2BAKJ,yBAAKA,UAAU,kBACb,yBAAKA,UAAU,aACb,kBAACuzB,GAAA,EAAD,CAAevzB,UAAU,gCACvB,kBAACwzB,EAAA,EAAD,CACEpvB,MAAO,CAAEwS,OAAQ,QACjB6c,gBAAc,kBACdC,gBAAc,OACdC,QAAQ,WACR5kB,MAAM,UACNtC,QAASsmB,GANX,YASE,kBAACa,EAAA,EAAD,CAAM5zB,UAAWO,EAAQ4W,WAAzB,SAEF,kBAACsa,GAAD,CACErxB,GAAG,kBACHyyB,SAAUA,EACVgB,aAAW,EACXC,KAAMC,QAAQlB,GACdmB,QAASf,GAET,kBAAChB,GAAD,CACExlB,QAAS,SAACwH,GACRif,EAAY,QAAS,eAGvB,kBAACe,EAAA,EAAD,KACE,uBAAG9vB,MAAM,uBAEX,kBAAC+vB,EAAA,EAAD,CAAc/I,QAAQ,WAExB,kBAAC8G,GAAD,CACExlB,QAAS,SAACwH,GACRif,EAAY,MAAO,eAGrB,kBAACe,EAAA,EAAD,KACE,uBAAG9vB,MAAM,qBAEX,kBAAC+vB,EAAA,EAAD,CAAc/I,QAAQ,SAExB,kBAAC8G,GAAD,CACExlB,QAAS,SAACwH,GACRif,EAAY,OAAQ,eAGtB,kBAACe,EAAA,EAAD,KACE,uBAAG9vB,MAAM,sBAEX,kBAAC+vB,EAAA,EAAD,CAAc/I,QAAQ,mB,u2MCxVrC,SAASgM,GAAsB/C,EAAa5sB,GACjD,IAAM8mB,EAA2B,CAAC,UAAW,UAGzC8I,GAA4B,IAAjB5vB,EAAIouB,SAAoB,EAAI,EAkB3C,OACE,0BACE51B,UAjBI,8BAAN,OAAqCsuB,EAAyB8I,GAA9D,iBAkBE3qB,QAAS,WAfX4H,MAAM,GAAD,OAAIxP,OAAOyP,QAAX,gCAA0C9M,EAAIpH,KAChDwU,KADH,wCACQ,WAAOC,GAAP,2FACGA,GADH,2CADR,uDAIGD,MAAK,SAACM,GACL1W,SAASsR,eAAe,iBAAiBinB,QACzCn3B,aAAa,UAAW,cAEzBuV,OAAM,SAAC5K,GACNnH,QAAQmH,MAAMA,OAOhBnG,MAAO,CAAEqzB,OAAQ,YAxBQ,CAAC,SAAU,YA0BdL,I,wBCxBrB,SAASjD,GACdC,EACA5sB,EACA6sB,EAHK,GAKJ,IADC9D,EACF,EADEA,uBAAwBC,EAC1B,EAD0BA,yBAE1B,OACE,oCACE,uBACEpR,MAAM,eACNpf,UAAU,uDACVyM,QAAS,kBAAM8jB,EAAuB/oB,EAAIpH,MAE1C,0BAAMJ,UAAU,yCACd,kBAAC,KAAD,CACEwI,IAAKC,aAAc,gDAIzB,yCAEA,uBACE2W,MAAM,iBACNpf,UAAU,iDACVyM,QAAS,kBAAM+jB,EAAyBhpB,EAAIpH,MAE5C,0BAAMJ,UAAU,wCACd,kBAAC,KAAD,CAAKwI,IAAKC,aAAc,2CCjB3B,SAAS6rB,KAEd,IAAMxD,EAAqB3B,IACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACL9L,IAAK4L,EAAmB5L,IACxBuK,OAAQqB,EAAmBrB,OAC3BnK,YAAawL,EAAmBxL,YAChCoK,eAAgBoB,EAAmBpB,eACnCa,uBAAwBO,EAAmBP,uBAC3CC,yBAA0BM,EAAmBN,4BAE9C,CAACM,IAGIyD,EAAiBjR,aACvB,SAAChE,GAAD,MAAY,CAAEiV,aAAcjV,EAAMiE,aAClCE,KAFM8Q,aAIY1Q,GAAa0Q,EAAzB3Q,WAAyB2Q,EAAb1Q,UAGd0B,EAAW0L,cACjBnd,qBAAU,WAERid,EAAiBtB,OAAO,IAExBlK,EAAStB,EAAuB8M,EAAiBzL,gBAEhD,CAACyL,EAAiBzL,YAAaC,IAElC,IAAMpZ,EAAU,CACd,CACEC,UAAW,KACXnN,KAAM,KACNyN,MAAM,EACNC,UAAWA,KACXC,2BAEF,CACER,UAAW,OACXnN,KAAM,eACNyN,MAAM,EACNC,UAAWA,KACXC,2BAEF,CACER,UAAW,OACXnN,KAAM,oBACNyN,MAAM,EACNC,UAAWA,KACXC,2BAEF,CACER,UAAW,QACXnN,KAAM,QACNyN,MAAM,EACNC,UAAWA,MAEb,CACEP,UAAW,OACXnN,KAAM,WACNyN,MAAM,EACNC,UAAWA,MAEZ,CACCP,UAAW,eACXnN,KAAM,WACNyN,MAAM,EACNC,UAAWA,KACXN,UAAW,SAACC,EAAM9E,GAAS,IAAD,EACxB,OACE,0BACExH,UAAW,kDACXoE,MAAO,CAAEqzB,OAAQ,YAFnB,iBAIGjwB,QAJH,IAIGA,OAJH,EAIGA,EAAK2Y,oBAJR,QAIwB,WAK9B,CACE/T,UAAW,WACXnN,KAAM,SACNyN,MAAM,EACNC,UAAWA,KACXN,UAAWmoB,GACX5nB,2BAEF,CACER,UAAW,SACXnN,KAAM,UACNoN,UAAWmoB,GACXC,gBAAiB,CACflE,uBAAwBQ,EAAiBR,uBACzCC,yBAA0BO,EAAiBP,0BAE7CjwB,QAAS,mBACTm0B,cAAe,mBACftwB,MAAO,CACLuS,SAAU,WAKhB,OACE,oCACE,kBAAC,KAAD,CACE3F,eAAe,mBACfE,UAAU,EACV3Q,QAAQ,gDACR0Q,YAAU,EACVN,SAAS,KACTpO,KAAmB,OAAbshB,EAAoB,GAAKA,EAC/B1X,QAASA,EACT2E,WAAYC,KAAkB,CAC5BqpC,WAAW,EACX7rB,gBAAiB,CACf,CAAEtvB,KAAM,KAAME,MAAO,IACrB,CAAEF,KAAM,KAAME,MAAO,IACrB,CAAEF,KAAM,KAAME,MAAO,IACrB,CACEF,KAAM,MACNE,MAAK,OAAE0kB,QAAF,IAAEA,OAAF,EAAEA,EAAUhb,WAIvB6uB,UAAWC,aAAa,CACtB9T,WACAqB,IAAK6L,EAAiB7L,IACtBuK,OAAQsB,EAAiBtB,YChJ5B,SAAS6F,KAEd,IAAMxE,EAAqB3B,IACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACL9L,IAAK4L,EAAmB5L,IACxBuK,OAAQqB,EAAmBrB,OAC3BgB,0BAA2BK,EAAmBL,0BAC9CC,yBAA0BI,EAAmBJ,yBAC7CC,gCACEG,EAAmBH,mCAEtB,CAACG,IAEJ,OACE,yBAAK9wB,UAAU,QACb,yBAAKA,UAAU,4EACb,yBAAKA,UAAU,aACb,yBAAKA,UAAU,gCACb,yBAAKA,UAAU,iCACb,2BAAOA,UAAU,yBACf,yDAC0B,2BAAI+wB,EAAiB7L,IAAIrc,WAIvD,6BACE,4BACE9F,KAAK,SACL/C,UAAU,iDACVyM,QAASskB,EAAiBN,2BAE1B,uBAAGzwB,UAAU,gBALf,eADF,OASE,4BACE+C,KAAK,SACL/C,UAAU,wDACVyM,QAASskB,EAAiBL,0BAE1B,uBAAG1wB,UAAU,iBALf,mBATF,OAiBE,4BACE+C,KAAK,SACL/C,UAAU,wDACVyM,QAASskB,EAAiBJ,iCAE1B,uBAAG3wB,UAAU,mBALf,uB,aCjCP,SAASu1B,KACd,IAAMzE,EAAqB3B,IACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACL9L,IAAK4L,EAAmB5L,IACxBoL,uBAAwBQ,EAAmBR,0BAE5C,CAACQ,IAEJ,OACE,oCACE,kBAACqQ,GAAA,EAAD,KACE,6DACA,0BAAMn7B,KAAK,cAAc4a,QAAQ,iCAEnC,kBAAC,IAAD,KACE,kBAAC,IAAD,CAAYxB,MAAM,oBAChB,kBAAC,IAAD,KACE,4BACErc,KAAK,SACL/C,UAAU,kBACVyM,QAASskB,EAAiBT,wBAH5B,iBASJ,kBAAC,IAAD,KACE,kBAAC+B,GAAD,MACCtB,EAAiB7L,IAAIrc,OAAS,GAAK,kBAACysB,GAAD,MACpC,kBAAChB,GAAD,SChCH,SAAS+lB,GAAT,GAAyC,IAAZ5kB,EAAW,EAAXA,QAC5BlG,EAAoB,CACxBe,uBAAwB,WACtBmF,EAAQ3sB,KAAK,iCAEfynB,uBAAwB,SAACnwB,GACvBq1B,EAAQ3sB,KAAR,mCAAyC1I,EAAzC,WAEFowB,yBAA0B,SAACpwB,GACzBq1B,EAAQ3sB,KAAR,mCAAyC1I,EAAzC,aAEFqwB,0BAA2B,WACzBgF,EAAQ3sB,KAAR,6CAEF4nB,yBAA0B,WACxB+E,EAAQ3sB,KAAR,mCAEF6nB,gCAAiC,WAC/B8E,EAAQ3sB,KAAK,2CAIjB,OACE,kBAACwmB,EAAD,CAAqBC,kBAAmBA,GACtC,kBAACnM,EAAD,MACA,kBAAC,IAAD,CAAOnV,KAAK,iCACT,gBAAGwnB,EAAH,EAAGA,QAAS1pB,EAAZ,EAAYA,MAAZ,OACC,kBAAC8kB,EAAD,CACEzf,KAAe,MAATrF,EACNsF,OAAQ,WACNokB,EAAQ3sB,KAAK,kCAKrB,kBAAC,IAAD,CAAOmF,KAAK,sCACT,gBAAGwnB,EAAH,EAAGA,QAAS1pB,EAAZ,EAAYA,MAAZ,OACC,kBAAC8kB,EAAD,CACEzf,KAAe,MAATrF,EACN3L,GAAI2L,GAASA,EAAM2pB,OAAOt1B,GAC1BiR,OAAQ,WACNokB,EAAQ3sB,KAAK,kCAKrB,kBAAC,IAAD,CAAOmF,KAAK,6CACT,gBAAGwnB,EAAH,EAAGA,QAAS1pB,EAAZ,EAAYA,MAAZ,OACC,kBAAColB,EAAD,CACE/f,KAAe,MAATrF,EACNsF,OAAQ,WACNokB,EAAQ3sB,KAAK,kCAKrB,kBAAC,IAAD,CAAOmF,KAAK,wCACT,gBAAGwnB,EAAH,EAAGA,QAAS1pB,EAAZ,EAAYA,MAAZ,OACC,kBAACmlB,EAAD,CACE9f,KAAe,MAATrF,EACN3L,GAAI2L,GAASA,EAAM2pB,OAAOt1B,GAC1BiR,OAAQ,WACNokB,EAAQ3sB,KAAK,kCAKrB,kBAAC,IAAD,CAAOmF,KAAK,mCACT,gBAAGwnB,EAAH,EAAGA,QAAS1pB,EAAZ,EAAYA,MAAZ,OACC,kBAACulB,EAAD,CACElgB,KAAe,MAATrF,EACNsF,OAAQ,WACNokB,EAAQ3sB,KAAK,kCAKrB,kBAAC,IAAD,CAAOmF,KAAK,0CACT,gBAAGwnB,EAAH,EAAGA,QAAS1pB,EAAZ,EAAYA,MAAZ,OACC,kBAACwlB,EAAD,CACEngB,KAAe,MAATrF,EACNsF,OAAQ,WACNokB,EAAQ3sB,KAAK,kCAKrB,kBAACysB,GAAD,OAlGN,oC,6ECIO,SAASnS,IAEd,IAAQC,EAAcC,aACpB,SAAChE,GAAD,MAAY,CAAE+D,UAAW/D,EAAMiE,UAAUC,eACzCC,KAFMJ,UAMR,OADAvP,qBAAU,cAAU,CAACuP,IACd,kBAAC,IAAD,CAAeA,UAAWA,EAAWpkB,KAAK,gB,4BCP5C,SAASonB,EAAT,GAA2C,IAAPjmB,EAAM,EAANA,GAEzC,EAA4CkjB,aAC1C,SAAChE,GAAD,MAAY,CACVwE,gBAAiBxE,EAAMiE,UAAUO,gBACjCvC,eAAgBjC,EAAMiE,UAAUhC,kBAElCkC,KALMK,EAAR,EAAQA,gBAAiBvC,EAAzB,EAAyBA,eAQzB,EAA0BvU,mBAAS,IAAnC,mBAAOoS,EAAP,KAAckH,EAAd,KAYA,OAVAxS,qBAAU,WACR,IAAIyS,EAASnmB,EAAK,GAAK,mBACnB0jB,GAAmB1jB,IACrBmmB,EAAM,6BAAyBzC,EAAgB4K,UAAzC,YAAsD5K,EAAgB2K,SAAtE,MAGRnI,EAASC,KAER,CAACzC,EAAiBvC,IAGnB,oCACGA,GAAkB,kBAAC,IAAD,MACnB,kBAACkF,EAAA,EAAMlV,OAAP,CAAcmV,aAAW,GACvB,kBAACD,EAAA,EAAM9U,MAAP,CAAavR,GAAG,gCAAgCgf,K,oBCjBlD6B,EAAqBC,MAAaC,MAAM,CAC5CkgB,cAAengB,MACZ4U,IAAI,EAAG,qBACPC,IAAI,GAAI,sBACRnjB,SAAS,iCACZ0uB,SAAUpgB,MACP4U,IAAI,EAAG,qBACPC,IAAI,GAAI,sBACRnjB,SAAS,wBACZ2uB,gBAAiBrgB,MACd4U,IAAI,EAAG,qBACPC,IAAI,GAAI,sBACRnjB,SAAS,wBACZ+b,MAAOzN,MACJyN,MAAM,iBACN/b,SAAS,qBACZ4uB,MAAOtgB,MACJ4U,IAAI,EAAG,oBACPC,IAAI,GAAI,qBACRnjB,SAAS,4BACZud,SAAUjP,MAAatO,SAAS,wBAChCyd,aAAcnP,MACXugB,UAAS,GACT7uB,SAAS,6BACZgc,UAAW1N,MAAatO,SAAS,4BAG5B,SAASwO,EAAT,GAKH,IAJFC,EAIC,EAJDA,aACAC,EAGC,EAHDA,SACAC,EAEC,EAFDA,eACAlQ,EACC,EADDA,OAEA,OACE,oCACE,kBAAC,IAAD,CACEkR,oBAAoB,EACpBC,cAAelB,EACfmB,iBAAkBxB,EAClByB,SAAU,SAACxb,GACTma,EAAana,MAGd,gBAAG6b,EAAH,EAAGA,aAAH,OACC,oCACE,kBAAC0D,EAAA,EAAMhV,KAAP,CAAYzR,UAAU,yBACnBuhB,GACC,yBAAKvhB,UAAU,gCACb,yBAAKA,UAAU,wCAGnB,kBAAC,IAAD,CAAMA,UAAU,yBACd,yBAAKA,UAAU,kBACb,yBAAKA,UAAU,2BACb,wBAAIA,UAAU,0BAAd,yBAGJ,yBAAKA,UAAU,kBACb,yBAAKA,UAAU,YACb,kBAAC,IAAD,CAAQgG,KAAK,aAAaxC,MAAM,YAC9B,4BAAQrE,MAAM,MACd,4BAAQA,MAAM,KAAd,eAGJ,yBAAKa,UAAU,YAEb,kBAAC,IAAD,CACE+C,KAAK,OACLiD,KAAK,WACL0I,UAAW2f,IACXjf,YAAY,WACZ5L,MAAM,cAIV,yBAAKxD,UAAU,YAEb,kBAAC,IAAD,CACE+C,KAAK,OACLiD,KAAK,WACL0I,UAAW2f,IACXjf,YAAY,WACZ5L,MAAM,cAIV,yBAAKxD,UAAU,YAEb,kBAAC,IAAD,CACE+C,KAAK,OACLiD,KAAK,SACL0I,UAAW2f,IACXjf,YAAY,SACZ5L,MAAM,eAMhB,kBAACijB,EAAA,EAAM/U,OAAP,KACE,4BACE3O,KAAK,SACL0J,QAAS4E,EACTrR,UAAU,6BAHZ,UAOA,yCACA,4BACE+C,KAAK,SACL0J,QAAS,kBAAMsW,KACf/iB,UAAU,+BAHZ,c,YC1HDsuB,EAA2B,CAAC,SAAU,UAAW,OAAQ,IAIzD1d,EAAgB,CAAC,CAAExE,UAAW,KAAMyE,MAAO,SAC3C0d,EAAkB,CAC7B,CAAEtvB,KAAM,IAAKE,MAAO,GACpB,CAAEF,KAAM,IAAKE,MAAO,GACpB,CAAEF,KAAM,KAAME,MAAO,KAEVqvB,EAAgB,CAC3Bjf,OAAQ,CACNkf,SAAU,GACVC,UAAW,GACXC,MAAO,GACPC,UAAW,IAEbC,UAAW,MACXC,UAAW,KACXC,WAAY,EACZC,SAAU,IChBNC,EAAqBC,0BAEpB,SAASC,IACd,OAAOC,qBAAWH,GAGeA,EAAmBI,SAE/C,SAASC,EAAT,GAA6D,IAA/BC,EAA8B,EAA9BA,kBAAmB7G,EAAW,EAAXA,SACtD,EAA0C1b,mBAASwhB,GAAnD,mBAAOlJ,EAAP,KAAoBkK,EAApB,KACA,EAAsBxiB,mBAAS,IAA/B,mBAAOkY,EAAP,KAAYuK,EAAZ,KACMC,EAAiBC,uBAAY,SAAAC,GACjCJ,GAAmB,SAAAK,GAKjB,OAJIC,qBAAWF,KACbA,EAAkBA,EAAgBC,IAGhCE,kBAAQF,EAAiBD,GACpBC,EAGFD,OAER,IAeGzwB,EAAQ,CACZmmB,cACAkK,qBACAtK,MACAuK,SACAC,iBACAM,aAnBmB,CACnB5vB,QAAI0F,EACJ4oB,UAAW,GACXD,SAAU,GACVE,MAAO,GACPwB,SAAU,GACVC,OAAQ,SACRrb,OAAQ,EACRsb,aAAc,GACdzB,UAAW,GACX7rB,KAAM,GAUNutB,uBAAwBf,EAAkBe,uBAC1CC,uBAAwBhB,EAAkBgB,uBAC1CuK,yBAA0BvL,EAAkBuL,yBAG5CtK,yBAA0BjB,EAAkBiB,yBAC5CC,0BAA2BlB,EAAkBkB,0BAC7CC,yBAA0BnB,EAAkBmB,yBAC5CC,gCAAiCpB,EAAkBoB,iCAGrD,OAAO,kBAAC1B,EAAmB2B,SAApB,CAA6BzxB,MAAOA,GAAQupB,GCpD9C,SAASmI,EAAT,GAAmD,IAArBzwB,EAAoB,EAApBA,GAAIgR,EAAgB,EAAhBA,KAAMC,EAAU,EAAVA,OAEvCyf,EAAqB3B,IACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACLhB,aAAcc,EAAmBd,gBAElC,CAACc,IAGEvL,EAAW0L,cACjB,EAA4C3N,aAC1C,SAAChE,GAAD,MAAY,CACViC,eAAgBjC,EAAMiE,UAAUhC,eAChCuC,gBAAiBxE,EAAMiE,UAAUO,mBAEnCL,KALMlC,EAAR,EAAQA,eAAgBuC,EAAxB,EAAwBA,gBAQxBhQ,qBAAU,WAERyR,EAAStB,IAAsB7jB,MAC9B,CAACA,EAAImlB,IAaR,OACE,kBAACkB,EAAA,EAAD,CACEtV,KAAK,KACLC,KAAMA,EACNC,OAAQA,EACRC,kBAAgB,gCAEhB,kBAAC+U,EAAD,CAA0BjmB,GAAIA,IAC9B,kBAACghB,EAAD,CACEC,aAnBe,SAACC,GACflhB,EAKHmlB,EAAStB,IAAuB3C,IAAW1M,MAAK,kBAAMvD,OAHtDkU,EAAStB,IAAuB3C,IAAW1M,MAAK,kBAAMvD,QAiBpDkQ,eAAgBA,EAChBD,SAAUwC,GAAmBiN,EAAiBf,aAC9C3e,OAAQA,KChDT,SAAS6f,EAAT,GAAqD,IAArB9wB,EAAoB,EAApBA,GAAIgR,EAAgB,EAAhBA,KAAMC,EAAU,EAAVA,OAEzCyf,EAAqB3B,IACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACLvB,OAAQqB,EAAmBrB,OAC3BnK,YAAawL,EAAmBxL,eAEjC,CAACwL,IAGEvL,EAAW0L,cACT5N,EAAcC,aACpB,SAAChE,GAAD,MAAY,CAAE+D,UAAW/D,EAAMiE,UAAUhC,kBACzCkC,KAFMJ,UAMRvP,qBAAU,WACH1T,GACHiR,MAGD,CAACjR,IAGJ0T,qBAAU,cAAU,CAACuP,EAAWkC,IAchC,OACE,kBAACkB,EAAA,EAAD,CACErV,KAAMA,EACNC,OAAQA,EACRC,kBAAgB,gCAGf+R,GAAa,kBAAC,IAAD,MAEd,kBAACoD,EAAA,EAAMlV,OAAP,CAAcmV,aAAW,GACvB,kBAACD,EAAA,EAAM9U,MAAP,CAAavR,GAAG,gCAAhB,wBAIF,kBAACqmB,EAAA,EAAMhV,KAAP,MACI4R,GACA,uFAEDA,GAAa,8DAEhB,kBAACoD,EAAA,EAAM/U,OAAP,KACE,6BACE,4BACE3O,KAAK,SACL0J,QAAS4E,EACTrR,UAAU,6BAHZ,UAOA,yCACA,4BACE+C,KAAK,SACL0J,QA5Ca,WAErB8Y,EAAStB,IAAuB7jB,IAAKwU,MAAK,WAExC2Q,EAAStB,IAAuB8M,EAAiBzL,cAEjDyL,EAAiBtB,OAAO,IAExBpe,QAqCMrR,UAAU,8BAHZ,aCtEH,SAASmxB,EAAT,GAAkD,IAAjB/f,EAAgB,EAAhBA,KAAMC,EAAU,EAAVA,OAEtCyf,EAAqB3B,IACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACL9L,IAAK4L,EAAmB5L,IACxBuK,OAAQqB,EAAmBrB,OAC3BnK,YAAawL,EAAmBxL,eAEjC,CAACwL,IAGEvL,EAAW0L,cACT5N,EAAcC,aACpB,SAAChE,GAAD,MAAY,CAAE+D,UAAW/D,EAAMiE,UAAUhC,kBACzCkC,KAFMJ,UAMRvP,qBAAU,WACHid,EAAiB7L,KAAuC,IAAhC6L,EAAiB7L,IAAIrc,QAChDwI,MAGD,CAAC0f,EAAiB7L,MAGrBpR,qBAAU,cAAU,CAACuP,EAAWkC,IAiBhC,OACE,kBAACkB,EAAA,EAAD,CACErV,KAAMA,EACNC,OAAQA,EACRC,kBAAgB,gCAGf+R,GAAa,kBAAC,IAAD,MAEd,kBAACoD,EAAA,EAAMlV,OAAP,CAAcmV,aAAW,GACvB,kBAACD,EAAA,EAAM9U,MAAP,CAAavR,GAAG,gCAAhB,qBAIF,kBAACqmB,EAAA,EAAMhV,KAAP,MACI4R,GACA,wFAEDA,GAAa,2DAEhB,kBAACoD,EAAA,EAAM/U,OAAP,KACE,6BACE,4BACE3O,KAAK,SACL0J,QAAS4E,EACTrR,UAAU,6BAHZ,UAOA,yCACA,4BACE+C,KAAK,SACL0J,QA/Cc,WAEtB8Y,EAAStB,IAAwB8M,EAAiB7L,MAAMtQ,MAAK,WAE3D2Q,EAAStB,IAAuB8M,EAAiBzL,cAAc1Q,MAC7D,WAEEmc,EAAiBtB,OAAO,IAExBpe,WAuCErR,UAAU,+BAHZ,aC3EV,IAAMoxB,EAAoB,SAACvN,EAAUqB,GACnC,IAAMmM,EAAa,GAOnB,OANAnM,EAAIhkB,SAAQ,SAACd,GACX,IAAMkhB,EAAWuC,EAASV,MAAK,SAAC6B,GAAD,OAAQA,EAAG5kB,KAAOA,KAC7CkhB,GACF+P,EAAWvoB,KAAKwY,MAGb+P,GAGF,SAASC,EAAT,GAAiD,IAAjBlgB,EAAgB,EAAhBA,KAAMC,EAAU,EAAVA,OAErCyf,EAAqB3B,IACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACL9L,IAAK4L,EAAmB5L,OAEzB,CAAC4L,IAGIvN,EAAcD,aACpB,SAAChE,GAAD,MAAY,CACViE,UAAW6N,EACT9R,EAAMiE,UAAUM,SAChBkN,EAAiB7L,QAGrBzB,KAPMF,UAkBR,OAPAzP,qBAAU,WACHid,EAAiB7L,KAAuC,IAAhC6L,EAAiB7L,IAAIrc,QAChDwI,MAGD,CAAC0f,EAAiB7L,MAGnB,kBAACuB,EAAA,EAAD,CACErV,KAAMA,EACNC,OAAQA,EACRC,kBAAgB,gCAEhB,kBAACmV,EAAA,EAAMlV,OAAP,CAAcmV,aAAW,GACvB,kBAACD,EAAA,EAAM9U,MAAP,CAAavR,GAAG,gCAAhB,4BAIF,kBAACqmB,EAAA,EAAMhV,KAAP,KACE,yBAAKzR,UAAU,4BACZujB,EAAUxf,KAAI,SAACud,GAAD,OACb,yBAAKthB,UAAU,kCAAkCsH,IAAG,YAAOga,EAASlhB,KAClE,yBAAKJ,UAAU,gFACf,yBAAKA,UAAU,kBACb,uBACEA,UAAS,gCACPsuB,EAAyBhN,EAASvM,QAD3B,gBAKb,yBAAK/U,UAAU,sCACb,0BACIA,UAAS,qCACPsuB,EAAyBhN,EAASvM,QAD3B,kBADb,OAKSuM,EAASlhB,IAElB,0BAAMJ,UAAU,QAAQshB,EAASmN,SAAjC,KAA6CnN,EAASoN,kBAMhE,kBAACjI,EAAA,EAAM/U,OAAP,KACE,6BACE,4BACE3O,KAAK,SACL0J,QAAS4E,EACTrR,UAAU,6BAHZ,UAOA,yCACA,4BACE+C,KAAK,SACL0J,QAAS4E,EACTrR,UAAU,+BAHZ,S,aCrFJoxB,EAAoB,SAACvN,EAAUqB,GACnC,IAAMmM,EAAa,GAOnB,OANAnM,EAAIhkB,SAAQ,SAACd,GACX,IAAMkhB,EAAWuC,EAASV,MAAK,SAAC6B,GAAD,OAAQA,EAAG5kB,KAAOA,KAC7CkhB,GACF+P,EAAWvoB,KAAKwY,MAGb+P,GAGF,SAASE,EAAT,GAAuD,IAAjBngB,EAAgB,EAAhBA,KAAMC,EAAU,EAAVA,OAE3Cyf,EAAqB3B,IACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACL9L,IAAK4L,EAAmB5L,IACxBuK,OAAQqB,EAAmBrB,OAC3BnK,YAAawL,EAAmBxL,eAEjC,CAACwL,IAGJ,EAAiCxN,aAC/B,SAAChE,GAAD,MAAY,CACViE,UAAW6N,EACT9R,EAAMiE,UAAUM,SAChBkN,EAAiB7L,KAEnB7B,UAAW/D,EAAMiE,UAAUhC,kBAE7BkC,KARMF,EAAR,EAAQA,UAAWF,EAAnB,EAAmBA,UAYnBvP,qBAAU,WACHid,EAAiB7L,KAAuC,IAAhC6L,EAAiB7L,IAAIrc,QAChDwI,MAGD,CAAC0f,EAAiB7L,MAErB,MAA4BlY,mBAAS,GAArC,mBAAO+H,EAAP,KAAeyc,EAAf,KAEMjM,EAAW0L,cAkBjB,OACE,kBAACxK,EAAA,EAAD,CACErV,KAAMA,EACNC,OAAQA,EACRC,kBAAgB,gCAEhB,kBAACmV,EAAA,EAAMlV,OAAP,CAAcmV,aAAW,GACvB,kBAACD,EAAA,EAAM9U,MAAP,CAAavR,GAAG,gCAAhB,8CAIF,kBAACqmB,EAAA,EAAMhV,KAAP,CAAYzR,UAAU,yBAEnBqjB,GACC,yBAAKrjB,UAAU,iBACb,yBAAKA,UAAU,wCAKnB,yBAAKA,UAAU,4BACZujB,EAAUxf,KAAI,SAACud,GAAD,OACb,yBACEthB,UAAU,kCACVsH,IAAG,yBAAoBga,EAASlhB,KAEhC,yBAAKJ,UAAU,gFACf,yBAAKA,UAAU,kBACb,uBACEA,UAAS,gCACPsuB,EAAyBhN,EAASvM,QAD3B,gBAKb,yBAAK/U,UAAU,sCACb,0BACEA,UAAS,qCACPsuB,EAAyBhN,EAASvM,QAD3B,kBADX,OAKOuM,EAASlhB,IAEhB,0BAAMJ,UAAU,QACbshB,EAASmN,SADZ,KACwBnN,EAASoN,kBAO3C,kBAACjI,EAAA,EAAM/U,OAAP,CAAc1R,UAAU,QACtB,yBAAKA,UAAU,cACb,4BACEA,UAAU,eACVb,MAAO4V,EACP1F,SAAU,SAACC,GAAD,OAAOkiB,GAAWliB,EAAEM,OAAOzQ,SAErC,4BAAQA,MAAM,KAAd,YACA,4BAAQA,MAAM,KAAd,YAGJ,yBAAKa,UAAU,cACb,4BACE+C,KAAK,SACL0J,QAAS4E,EACTrR,UAAU,kCAHZ,UAOA,4BACE+C,KAAK,SACL0J,QAxFW,WAEnB8Y,EAAStB,IAA8B8M,EAAiB7L,IAAKnQ,IAASH,MACpE,WAEE2Q,EAAStB,IAAuB8M,EAAiBzL,cAAc1Q,MAC7D,WAEEmc,EAAiBtB,OAAO,IAExBpe,WA+EArR,UAAU,+BAHZ,oB,WChHH,SAASqyB,EAAT,GAA0C,EAAf7O,YAAgB,IAE1CsN,EAAqB3B,IACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACL1L,YAAawL,EAAmBxL,YAChCoK,eAAgBoB,EAAmBpB,kBAEpC,CAACoB,IAGE0B,EAAc,SAACtrB,GACnB,IAAMurB,EA/BY,SAACnN,EAAape,GAClC,IAAQ6N,EAA6B7N,EAA7B6N,OAAQhS,EAAqBmE,EAArBnE,KAAM2vB,EAAexrB,EAAfwrB,WAChBD,EAAc,eAAQnN,GACtB/V,EAAS,GAaf,OAXAA,EAAOwF,OAAoB,KAAXA,GAAiBA,OAASjP,EAE1CyJ,EAAOxM,KAAgB,KAATA,GAAeA,OAAO+C,EAEpCyJ,EAAOkf,SAAWiE,EACdA,IACFnjB,EAAOmf,UAAYgE,EACnBnjB,EAAOof,MAAQ+D,EACfnjB,EAAOqf,UAAY8D,GAErBD,EAAeljB,OAASA,EACjBkjB,EAekBG,CAAc7B,EAAiBzL,YAAape,GAC9D6oB,kBAAQ0C,EAAgB1B,EAAiBzL,eAC5CmN,EAAe1D,WAAa,EAE5BgC,EAAiBrB,eAAe+C,KAIpC,OACE,oCACE,kBAAC,IAAD,CACEjQ,cAAe,CACbzN,OAAQ,GACRhS,KAAM,GACN2vB,WAAY,IAEdhQ,SAAU,SAACxb,GACTsrB,EAAYtrB,MAGb,gBACCA,EADD,EACCA,OACA6b,EAFD,EAECA,aACAqQ,EAHD,EAGCA,WACAlgB,EAJD,EAICA,cAJD,OAMG,0BAAMwP,SAAUK,EAAc/iB,UAAU,yBACtC,yBAAKA,UAAU,kBACb,yBAAKA,UAAU,YACb,kBAAC,IAAD,CACEA,UAAU,eACVgG,KAAK,WACLoJ,YAAY,mBAEZC,SAAU,SAACC,GACT4D,EAAc,SAAU5D,EAAEM,OAAOzQ,OACjC4jB,KAEFuQ,OAAQF,EACRj0B,MAAO+H,EAAO6N,QAEd,4BAAQ5V,MAAM,OAEhB,2BAAOa,UAAU,wBACf,yCAGJ,yBAAKA,UAAU,YACb,yBAAKmE,MAAM,eACT,2BAAOpB,KAAK,OAAOoB,MAAM,eAAeqN,aAAW,qCAErD,2BAAOxR,UAAU,wBAAjB,cAKF,yBAAKA,UAAU,YACb,4BACE+C,KAAK,SACL/C,UAAU,yCAFZ,kB,kECxFX,SAASm0B,EACdC,EACA5sB,EACA6sB,EAHK,GAKJ,IADC9D,EACF,EADEA,uBAAwBC,EAC1B,EAD0BA,yBAE1B,OACE,oCACE,uBACEpR,MAAM,gBACNpf,UAAU,uDACVyM,QAAS,kBAAM8jB,EAAuB/oB,EAAIpH,MAE1C,0BAAMJ,UAAU,yCACd,kBAAC,IAAD,CACEwI,IAAKC,YAAc,gDAIzB,yCAEA,uBACE2W,MAAM,kBACNpf,UAAU,iDACVyM,QAAS,kBAAM+jB,EAAyBhpB,EAAIpH,MAE5C,0BAAMJ,UAAU,wCACd,kBAAC,IAAD,CAAKwI,IAAKC,YAAc,2CCX3B,SAAS6rB,IAEd,IAAMxD,EAAqB3B,IACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACL9L,IAAK4L,EAAmB5L,IACxBuK,OAAQqB,EAAmBrB,OAC3BnK,YAAawL,EAAmBxL,YAChCoK,eAAgBoB,EAAmBpB,eACnCa,uBAAwBO,EAAmBP,uBAC3CC,yBAA0BM,EAAmBN,4BAE9C,CAACM,IAGIyD,EAAiBjR,aACvB,SAAChE,GAAD,MAAY,CAAEiV,aAAcjV,EAAMiE,aAClCE,KAFM8Q,aAIA3Q,EAAsC2Q,EAAtC3Q,WAAYC,EAA0B0Q,EAA1B1Q,SAAUL,EAAgB+Q,EAAhB/Q,YAGxB+B,EAAW0L,cACjBnd,qBAAU,WAERid,EAAiBtB,OAAO,IAExBlK,EAAStB,IAAuB8M,EAAiBzL,gBAEhD,CAACyL,EAAiBzL,YAAaC,IAElC,IAAMpZ,EAAU,CACd,CACEC,UAAW,KACXnN,KAAM,KACNyN,MAAM,EACNC,UAAWA,IACXC,0BAEF,CACER,UAAW,WACXnN,KAAM,WACNyN,MAAM,EACNC,UAAWA,IACXC,0BAEF,CACER,UAAW,WACXnN,KAAM,WACNyN,MAAM,EACNC,UAAWA,IACXC,0BAEF,CACER,UAAW,SACXnN,KAAM,SACNyN,MAAM,EACNC,UAAWA,IACXC,0BAEF,CACER,UAAW,SACXnN,KAAM,UACNoN,UAAWmoB,EACXC,gBAAiB,CACflE,uBAAwBQ,EAAiBR,uBACzCC,yBAA0BO,EAAiBP,0BAE7CjwB,QAAS,mBACTm0B,cAAe,mBACftwB,MAAO,CACLuS,SAAU,WAKVge,EAAoB,CACxBC,QAAQ,EACRC,UAAWjR,EACX2K,gBAAiBuG,EACjBC,YAAahE,EAAiBzL,YAAY0J,SAC1CgG,KAAMjE,EAAiBzL,YAAYyJ,YAErC,OACE,oCACE,kBAAC,qBAAD,CAAoBje,WAAYC,IAAkB4jB,KAC/C,YAAgD,IAA7CM,EAA4C,EAA5CA,gBAAiBC,EAA2B,EAA3BA,qBACnB,OACE,kBAAC,IAAD,CACE7R,UAAWG,EACXyR,gBAAiBA,GAEjB,kBAAC,IAAD,eACEjkB,eAAe,mBACfE,UAAU,EACV3Q,QAAQ,gDACR0Q,YAAU,EACVkkB,QAAM,EACNxkB,SAAS,KACTpO,KAAmB,OAAbshB,EAAoB,GAAKA,EAC/B1X,QAASA,EACTyE,cAAekkB,EACfM,cAAeC,YACbtE,EAAiBrB,gBAEnBgI,UAAWC,YAAa,CACtB9T,WACAqB,IAAK6L,EAAiB7L,IACtBuK,OAAQsB,EAAiBtB,UAEvByF,GAEJ,kBAAC,IAAD,CAAmBrR,SAAUA,IAC7B,kBAAC,IAAD,CAAuBA,SAAUA,UCrI1C,SAASyR,IAEd,IAAMxE,EAAqB3B,IACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACL9L,IAAK4L,EAAmB5L,IACxBuK,OAAQqB,EAAmBrB,OAC3BgB,0BAA2BK,EAAmBL,0BAC9CC,yBAA0BI,EAAmBJ,yBAC7CC,gCACEG,EAAmBH,mCAEtB,CAACG,IAEJ,OACE,yBAAK9wB,UAAU,QACb,yBAAKA,UAAU,4EACb,yBAAKA,UAAU,aACb,yBAAKA,UAAU,gCACb,yBAAKA,UAAU,iCACb,2BAAOA,UAAU,yBACf,yDAC0B,2BAAI+wB,EAAiB7L,IAAIrc,WAIvD,6BACE,4BACE9F,KAAK,SACL/C,UAAU,iDACVyM,QAASskB,EAAiBN,2BAE1B,uBAAGzwB,UAAU,gBALf,eADF,Y,6DCtBNsX,EAAYrB,aAAW,SAAAC,GAAK,MAAK,CACnC0hB,eAAgB,CACZC,WAAY,YAGb,SAAS0F,IACZ,MAAwB7S,IAAM1d,UAAS,GAAvC,mBAAO8mB,EAAP,KAAa+J,EAAb,KAMA,SAAS5K,IACL4K,GAAQ,GAEZ,IAAMt9B,EAAU+W,IAChB,OACI,6BACI,4BACIvU,KAAK,SACL/C,UAAU,wCACV2zB,QAAQ,WAAWlnB,QAb/B,WACIoxB,GAAQ,KASJ,UAOA,kBAACC,EAAA,EAAD,CAAQhK,KAAMA,EAAME,QAASf,EAAa3hB,kBAAgB,qBACtD,kBAACysB,EAAA,EAAD,CAAa39B,GAAG,qBAAhB,UACA,kBAAC49B,EAAA,EAAD,KACQ,yBAAKh+B,UAAU,OACX,yBAAKA,UAAU,kBACX,yBAAKA,UAAU,OACX,yBAAKA,UAAU,YACX,2BAAOmE,MAAM,iDAAb,WAIJ,yBAAKnE,UAAU,YACX,2BAAO+C,KAAK,OAAOoB,MAAM,oBAIjC,yBAAKnE,UAAU,OACX,yBAAKA,UAAU,YACX,yBAAKA,UAAU,YACX,kBAACwzB,EAAA,EAAD,CAAQxzB,UAAU,yBAAlB,kBAKR,yBAAKA,UAAU,YACX,0BAAMA,UAAWO,EAAQq3B,gBAAzB,qHAMR,2BAAOzzB,MAAM,4CAAb,uBAGA,yBAAKnE,UAAU,OACX,yBAAKA,UAAU,YACX,yBAAKA,UAAU,YACX,kBAACwzB,EAAA,EAAD,CAAQxzB,UAAU,yBAAlB,kBAKR,yBAAKA,UAAU,YACX,0BAAMA,UAAWO,EAAQq3B,gBAAzB,0GAMR,2BAAOzzB,MAAM,4CAAb,yBAGA,yBAAKnE,UAAU,OACX,8BAAUmE,MAAM,qDAAqD8W,KAAK,IAAIq/B,KAAK,QAGvF,2BAAOn2C,MAAM,4CAAb,yBAGA,yBAAKnE,UAAU,OACX,8BAAUmE,MAAM,oDAAoD8W,KAAK,IAAIq/B,KAAK,WAKtG,kBAACrb,EAAA,EAAD,KACI,kBAACzL,EAAA,EAAD,CAAQ/mB,QAASwmB,EAAalkB,MAAM,WAApC,aC/Eb,SAASwmB,IACZ,IAAMzE,EAAqB3B,IACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACL9L,IAAK4L,EAAmB5L,IACxBoL,uBAAwBQ,EAAmBR,0BAE5C,CAACQ,IAEJ,OACE,kBAAC,IAAD,KACE,kBAAC,IAAD,CAAY1R,MAAM,uBAChB,kBAAC,IAAD,KACE,4BACErc,KAAK,SACL/C,UAAU,wCACVyM,QAASskB,EAAiBT,wBAH5B,OAOA,6BACA,kBAACiN,EAAD,SAIJ,kBAAC,IAAD,KACE,kBAAClL,EAAD,MACCtB,EAAiB7L,IAAIrc,OAAS,GAAK,kBAACysB,EAAD,MACpC,kBAAChB,EAAD,QCpCH,SAASimB,GAAT,GAAyC,IAAZ9kB,EAAW,EAAXA,QAC5BlG,EAAoB,CACxBe,uBAAwB,WACtBmF,EAAQ3sB,KAAK,2BAEfynB,uBAAwB,SAACnwB,GACvBq1B,EAAQ3sB,KAAR,6BAAmC1I,EAAnC,WAEFowB,yBAA0B,SAACpwB,GACzBq1B,EAAQ3sB,KAAR,6BAAmC1I,EAAnC,aAEFqwB,0BAA2B,WACzBgF,EAAQ3sB,KAAR,uCAEF4nB,yBAA0B,WACxB+E,EAAQ3sB,KAAR,6BAEF6nB,gCAAiC,WAC/B8E,EAAQ3sB,KAAK,qCAIjB,OACE,kBAACwmB,EAAD,CAAqBC,kBAAmBA,GACtC,kBAACnM,EAAD,MACA,kBAAC,IAAD,CAAOnV,KAAK,2BACT,gBAAGwnB,EAAH,EAAGA,QAAS1pB,EAAZ,EAAYA,MAAZ,OACC,kBAAC8kB,EAAD,CACEzf,KAAe,MAATrF,EACNsF,OAAQ,WACNokB,EAAQ3sB,KAAK,4BAKrB,kBAAC,IAAD,CAAOmF,KAAK,8BACT,gBAAGwnB,EAAH,EAAGA,QAAS1pB,EAAZ,EAAYA,MAAZ,OACC,kBAAC8kB,EAAD,CACEzf,KAAe,MAATrF,EACNsF,OAAQ,WACNokB,EAAQ3sB,KAAK,4BAKrB,kBAAC,IAAD,CAAOmF,KAAK,gCACT,gBAAGwnB,EAAH,EAAGA,QAAS1pB,EAAZ,EAAYA,MAAZ,OACC,kBAAC8kB,EAAD,CACEzf,KAAe,MAATrF,EACN3L,GAAI2L,GAASA,EAAM2pB,OAAOt1B,GAC1BiR,OAAQ,WACNokB,EAAQ3sB,KAAK,4BAKrB,kBAAC,IAAD,CAAOmF,KAAK,uCACT,gBAAGwnB,EAAH,EAAGA,QAAS1pB,EAAZ,EAAYA,MAAZ,OACC,kBAAColB,EAAD,CACE/f,KAAe,MAATrF,EACNsF,OAAQ,WACNokB,EAAQ3sB,KAAK,4BAKrB,kBAAC,IAAD,CAAOmF,KAAK,kCACT,gBAAGwnB,EAAH,EAAGA,QAAS1pB,EAAZ,EAAYA,MAAZ,OACC,kBAACmlB,EAAD,CACE9f,KAAe,MAATrF,EACN3L,GAAI2L,GAASA,EAAM2pB,OAAOt1B,GAC1BiR,OAAQ,WACNokB,EAAQ3sB,KAAK,4BAKrB,kBAAC,IAAD,CAAOmF,KAAK,6BACT,gBAAGwnB,EAAH,EAAGA,QAAS1pB,EAAZ,EAAYA,MAAZ,OACC,kBAACulB,EAAD,CACElgB,KAAe,MAATrF,EACNsF,OAAQ,WACNokB,EAAQ3sB,KAAK,4BAKrB,kBAAC,IAAD,CAAOmF,KAAK,oCACT,gBAAGwnB,EAAH,EAAGA,QAAS1pB,EAAZ,EAAYA,MAAZ,OACC,kBAACwlB,EAAD,CACEngB,KAAe,MAATrF,EACNsF,OAAQ,WACNokB,EAAQ3sB,KAAK,4BAKrB,kBAACysB,EAAD,OA5GN,oC,6ECIO,SAASnS,IAEd,IAAQC,EAAcC,aACpB,SAAChE,GAAD,MAAY,CAAE+D,UAAW/D,EAAMiE,UAAUC,eACzCC,KAFMJ,UAMR,OADAvP,qBAAU,cAAU,CAACuP,IACd,kBAAC,IAAD,CAAeA,UAAWA,EAAWpkB,KAAK,gB,4BCP5C,SAASonB,EAAT,GAA2C,IAAPjmB,EAAM,EAANA,GAEzC,EAA4CkjB,aAC1C,SAAChE,GAAD,MAAY,CACVwE,gBAAiBxE,EAAMiE,UAAUO,gBACjCvC,eAAgBjC,EAAMiE,UAAUhC,kBAElCkC,KALMK,EAAR,EAAQA,gBAAiBvC,EAAzB,EAAyBA,eAQzB,EAA0BvU,mBAAS,IAAnC,mBAAOoS,EAAP,KAAckH,EAAd,KAYA,OAVAxS,qBAAU,WACR,IAAIyS,EAASnmB,EAAK,GAAK,yBACnB0jB,GAAmB1jB,IACrBmmB,EAAM,yBAAqBzC,EAAgB4K,UAArC,YAAkD5K,EAAgB2K,SAAlE,MAGRnI,EAASC,KAER,CAACzC,EAAiBvC,IAGnB,oCACGA,GAAkB,kBAAC,IAAD,MACnB,kBAACkF,EAAA,EAAMlV,OAAP,CAAcmV,aAAW,GACvB,kBAACD,EAAA,EAAM9U,MAAP,CAAavR,GAAG,gCAAgCgf,K,oBClBlD6B,EAAqBC,MAAaC,MAAM,CAC5CkgB,cAAengB,MACZ4U,IAAI,EAAG,qBACPC,IAAI,GAAI,sBACRnjB,SAAS,iCACZ0uB,SAAUpgB,MACP4U,IAAI,EAAG,qBACPC,IAAI,GAAI,sBACRnjB,SAAS,wBACZ2uB,gBAAiBrgB,MACd4U,IAAI,EAAG,qBACPC,IAAI,GAAI,sBACRnjB,SAAS,wBACZ+b,MAAOzN,MACJyN,MAAM,iBACN/b,SAAS,qBACZ4uB,MAAOtgB,MACJ4U,IAAI,EAAG,oBACPC,IAAI,GAAI,qBACRnjB,SAAS,4BACZud,SAAUjP,MAAatO,SAAS,wBAChCyd,aAAcnP,MACXugB,UAAS,GACT7uB,SAAS,6BACZgc,UAAW1N,MAAatO,SAAS,4BAG5B,SAASwO,EAAT,GAKH,IAJFC,EAIC,EAJDA,aACAC,EAGC,EAHDA,SACAC,EAEC,EAFDA,eACAlQ,EACC,EADDA,OAEA,OACE,oCACE,kBAAC,IAAD,CACEkR,oBAAoB,EACpBC,cAAelB,EACfmB,iBAAkBxB,EAClByB,SAAU,SAACxb,GACTma,EAAana,MAGd,gBAAG6b,EAAH,EAAGA,aAAH,OACC,oCACE,kBAAC0D,EAAA,EAAMhV,KAAP,CAAYzR,UAAU,yBACnBuhB,GACC,yBAAKvhB,UAAU,gCACb,yBAAKA,UAAU,wCAGnB,kBAAC,IAAD,CAAMA,UAAU,yBACd,yBAAKA,UAAU,kBACb,yBAAKA,UAAU,2BACb,wBAAIA,UAAU,0BAAd,oBAGJ,yBAAKA,UAAU,kBACb,yBAAKA,UAAU,YACb,kBAAC,IAAD,CAAQgG,KAAK,aAAaxC,MAAM,mBAC9B,4BAAQrE,MAAM,MACd,4BAAQA,MAAM,KAAd,qBACA,4BAAQA,MAAM,KAAd,sBAGJ,yBAAKa,UAAU,YACb,kBAAC,IAAD,CAAQgG,KAAK,YAAYxC,MAAM,aAC7B,4BAAQrE,MAAM,OAGlB,yBAAKa,UAAU,YACb,kBAAC,IAAD,CAAQgG,KAAK,UAAUxC,MAAM,WAC3B,4BAAQrE,MAAM,MACd,4BAAQA,MAAM,KAAd,WACA,4BAAQA,MAAM,KAAd,uBAMV,kBAACsnB,EAAA,EAAM/U,OAAP,KACE,4BACE3O,KAAK,SACL0J,QAAS4E,EACTrR,UAAU,6BAHZ,UAOA,yCACA,4BACE+C,KAAK,SACL0J,QAAS,kBAAMsW,KACf/iB,UAAU,+BAHZ,c,YCtGDsuB,EAA2B,CAAC,SAAU,UAAW,OAAQ,IAIzD1d,EAAgB,CAAC,CAAExE,UAAW,KAAMyE,MAAO,SAC3C0d,EAAkB,CAC7B,CAAEtvB,KAAM,IAAKE,MAAO,GACpB,CAAEF,KAAM,IAAKE,MAAO,GACpB,CAAEF,KAAM,KAAME,MAAO,KAEVqvB,EAAgB,CAC3Bjf,OAAQ,CACNkf,SAAU,GACVC,UAAW,GACXC,MAAO,GACPC,UAAW,IAEbC,UAAW,MACXC,UAAW,KACXC,WAAY,EACZC,SAAU,IChBNC,EAAqBC,0BAEpB,SAASC,IACd,OAAOC,qBAAWH,GAGeA,EAAmBI,SAE/C,SAASC,EAAT,GAA6D,IAA/BC,EAA8B,EAA9BA,kBAAmB7G,EAAW,EAAXA,SACtD,EAA0C1b,mBAASwhB,GAAnD,mBAAOlJ,EAAP,KAAoBkK,EAApB,KACA,EAAsBxiB,mBAAS,IAA/B,mBAAOkY,EAAP,KAAYuK,EAAZ,KACMC,EAAiBC,uBAAY,SAAAC,GACjCJ,GAAmB,SAAAK,GAKjB,OAJIC,qBAAWF,KACbA,EAAkBA,EAAgBC,IAGhCE,kBAAQF,EAAiBD,GACpBC,EAGFD,OAER,IAeGzwB,EAAQ,CACZmmB,cACAkK,qBACAtK,MACAuK,SACAC,iBACAM,aAnBmB,CACnB5vB,QAAI0F,EACJ4oB,UAAW,GACXD,SAAU,GACVE,MAAO,GACPwB,SAAU,GACVC,OAAQ,SACRrb,OAAQ,EACRsb,aAAc,GACdzB,UAAW,GACX7rB,KAAM,GAUNutB,uBAAwBf,EAAkBe,uBAC1CC,uBAAwBhB,EAAkBgB,uBAC1CC,yBAA0BjB,EAAkBiB,yBAC5CC,0BAA2BlB,EAAkBkB,0BAC7CC,yBAA0BnB,EAAkBmB,yBAC5CC,gCAAiCpB,EAAkBoB,iCAGrD,OAAO,kBAAC1B,EAAmB2B,SAApB,CAA6BzxB,MAAOA,GAAQupB,GCjD9C,SAASmI,EAAT,GAAmD,IAArBzwB,EAAoB,EAApBA,GAAIgR,EAAgB,EAAhBA,KAAMC,EAAU,EAAVA,OAEvCyf,EAAqB3B,IACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACLhB,aAAcc,EAAmBd,gBAElC,CAACc,IAGEvL,EAAW0L,cACjB,EAA4C3N,aAC1C,SAAChE,GAAD,MAAY,CACViC,eAAgBjC,EAAMiE,UAAUhC,eAChCuC,gBAAiBxE,EAAMiE,UAAUO,mBAEnCL,KALMlC,EAAR,EAAQA,eAAgBuC,EAAxB,EAAwBA,gBAQxBhQ,qBAAU,WAERyR,EAAStB,IAAsB7jB,MAC9B,CAACA,EAAImlB,IAaR,OACE,kBAACkB,EAAA,EAAD,CACEtV,KAAK,KACLC,KAAMA,EACNC,OAAQA,EACRC,kBAAgB,gCAEhB,kBAAC+U,EAAD,CAA0BjmB,GAAIA,IAC9B,kBAACghB,EAAD,CACEC,aAnBe,SAACC,GACflhB,EAKHmlB,EAAStB,IAAuB3C,IAAW1M,MAAK,kBAAMvD,OAHtDkU,EAAStB,IAAuB3C,IAAW1M,MAAK,kBAAMvD,QAiBpDkQ,eAAgBA,EAChBD,SAAUwC,GAAmBiN,EAAiBf,aAC9C3e,OAAQA,KChDT,SAAS6f,EAAT,GAAqD,IAArB9wB,EAAoB,EAApBA,GAAIgR,EAAgB,EAAhBA,KAAMC,EAAU,EAAVA,OAEzCyf,EAAqB3B,IACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACLvB,OAAQqB,EAAmBrB,OAC3BnK,YAAawL,EAAmBxL,eAEjC,CAACwL,IAGEvL,EAAW0L,cACT5N,EAAcC,aACpB,SAAChE,GAAD,MAAY,CAAE+D,UAAW/D,EAAMiE,UAAUhC,kBACzCkC,KAFMJ,UAMRvP,qBAAU,WACH1T,GACHiR,MAGD,CAACjR,IAGJ0T,qBAAU,cAAU,CAACuP,EAAWkC,IAchC,OACE,kBAACkB,EAAA,EAAD,CACErV,KAAMA,EACNC,OAAQA,EACRC,kBAAgB,gCAGf+R,GAAa,kBAAC,IAAD,MAEd,kBAACoD,EAAA,EAAMlV,OAAP,CAAcmV,aAAW,GACvB,kBAACD,EAAA,EAAM9U,MAAP,CAAavR,GAAG,gCAAhB,oBAIF,kBAACqmB,EAAA,EAAMhV,KAAP,MACI4R,GACA,mFAEDA,GAAa,0DAEhB,kBAACoD,EAAA,EAAM/U,OAAP,KACE,6BACE,4BACE3O,KAAK,SACL0J,QAAS4E,EACTrR,UAAU,6BAHZ,UAOA,yCACA,4BACE+C,KAAK,SACL0J,QA5Ca,WAErB8Y,EAAStB,IAAuB7jB,IAAKwU,MAAK,WAExC2Q,EAAStB,IAAuB8M,EAAiBzL,cAEjDyL,EAAiBtB,OAAO,IAExBpe,QAqCMrR,UAAU,+BAHZ,aCtEH,SAASmxB,EAAT,GAAkD,IAAjB/f,EAAgB,EAAhBA,KAAMC,EAAU,EAAVA,OAEtCyf,EAAqB3B,IACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACL9L,IAAK4L,EAAmB5L,IACxBuK,OAAQqB,EAAmBrB,OAC3BnK,YAAawL,EAAmBxL,eAEjC,CAACwL,IAGEvL,EAAW0L,cACT5N,EAAcC,aACpB,SAAChE,GAAD,MAAY,CAAE+D,UAAW/D,EAAMiE,UAAUhC,kBACzCkC,KAFMJ,UAMRvP,qBAAU,WACHid,EAAiB7L,KAAuC,IAAhC6L,EAAiB7L,IAAIrc,QAChDwI,MAGD,CAAC0f,EAAiB7L,MAGrBpR,qBAAU,cAAU,CAACuP,EAAWkC,IAiBhC,OACE,kBAACkB,EAAA,EAAD,CACErV,KAAMA,EACNC,OAAQA,EACRC,kBAAgB,gCAGf+R,GAAa,kBAAC,IAAD,MAEd,kBAACoD,EAAA,EAAMlV,OAAP,CAAcmV,aAAW,GACvB,kBAACD,EAAA,EAAM9U,MAAP,CAAavR,GAAG,gCAAhB,qBAIF,kBAACqmB,EAAA,EAAMhV,KAAP,MACI4R,GACA,wFAEDA,GAAa,2DAEhB,kBAACoD,EAAA,EAAM/U,OAAP,KACE,6BACE,4BACE3O,KAAK,SACL0J,QAAS4E,EACTrR,UAAU,6BAHZ,UAOA,yCACA,4BACE+C,KAAK,SACL0J,QA/Cc,WAEtB8Y,EAAStB,IAAwB8M,EAAiB7L,MAAMtQ,MAAK,WAE3D2Q,EAAStB,IAAuB8M,EAAiBzL,cAAc1Q,MAC7D,WAEEmc,EAAiBtB,OAAO,IAExBpe,WAuCErR,UAAU,+BAHZ,aC3EV,IAAMoxB,EAAoB,SAACvN,EAAUqB,GACnC,IAAMmM,EAAa,GAOnB,OANAnM,EAAIhkB,SAAQ,SAACd,GACX,IAAMkhB,EAAWuC,EAASV,MAAK,SAAC6B,GAAD,OAAQA,EAAG5kB,KAAOA,KAC7CkhB,GACF+P,EAAWvoB,KAAKwY,MAGb+P,GAGF,SAASC,EAAT,GAAiD,IAAjBlgB,EAAgB,EAAhBA,KAAMC,EAAU,EAAVA,OAErCyf,EAAqB3B,IACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACL9L,IAAK4L,EAAmB5L,OAEzB,CAAC4L,IAGIvN,EAAcD,aACpB,SAAChE,GAAD,MAAY,CACViE,UAAW6N,EACT9R,EAAMiE,UAAUM,SAChBkN,EAAiB7L,QAGrBzB,KAPMF,UAkBR,OAPAzP,qBAAU,WACHid,EAAiB7L,KAAuC,IAAhC6L,EAAiB7L,IAAIrc,QAChDwI,MAGD,CAAC0f,EAAiB7L,MAGnB,kBAACuB,EAAA,EAAD,CACErV,KAAMA,EACNC,OAAQA,EACRC,kBAAgB,gCAEhB,kBAACmV,EAAA,EAAMlV,OAAP,CAAcmV,aAAW,GACvB,kBAACD,EAAA,EAAM9U,MAAP,CAAavR,GAAG,gCAAhB,4BAIF,kBAACqmB,EAAA,EAAMhV,KAAP,KACE,yBAAKzR,UAAU,4BACZujB,EAAUxf,KAAI,SAACud,GAAD,OACb,yBAAKthB,UAAU,kCAAkCsH,IAAG,YAAOga,EAASlhB,KAClE,yBAAKJ,UAAU,gFACf,yBAAKA,UAAU,kBACb,uBACEA,UAAS,gCACPsuB,EAAyBhN,EAASvM,QAD3B,gBAKb,yBAAK/U,UAAU,sCACb,0BACIA,UAAS,qCACPsuB,EAAyBhN,EAASvM,QAD3B,kBADb,OAKSuM,EAASlhB,IAElB,0BAAMJ,UAAU,QAAQshB,EAASmN,SAAjC,KAA6CnN,EAASoN,kBAMhE,kBAACjI,EAAA,EAAM/U,OAAP,KACE,6BACE,4BACE3O,KAAK,SACL0J,QAAS4E,EACTrR,UAAU,6BAHZ,UAOA,yCACA,4BACE+C,KAAK,SACL0J,QAAS4E,EACTrR,UAAU,+BAHZ,SCrFV,IAAMoxB,EAAoB,SAACvN,EAAUqB,GACnC,IAAMmM,EAAa,GAOnB,OANAnM,EAAIhkB,SAAQ,SAACd,GACX,IAAMkhB,EAAWuC,EAASV,MAAK,SAAC6B,GAAD,OAAQA,EAAG5kB,KAAOA,KAC7CkhB,GACF+P,EAAWvoB,KAAKwY,MAGb+P,GAGF,SAASE,EAAT,GAAuD,IAAjBngB,EAAgB,EAAhBA,KAAMC,EAAU,EAAVA,OAE3Cyf,EAAqB3B,IACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACL9L,IAAK4L,EAAmB5L,IACxBuK,OAAQqB,EAAmBrB,OAC3BnK,YAAawL,EAAmBxL,eAEjC,CAACwL,IAGJ,EAAiCxN,aAC/B,SAAChE,GAAD,MAAY,CACViE,UAAW6N,EACT9R,EAAMiE,UAAUM,SAChBkN,EAAiB7L,KAEnB7B,UAAW/D,EAAMiE,UAAUhC,kBAE7BkC,KARMF,EAAR,EAAQA,UAAWF,EAAnB,EAAmBA,UAYnBvP,qBAAU,WACHid,EAAiB7L,KAAuC,IAAhC6L,EAAiB7L,IAAIrc,QAChDwI,MAGD,CAAC0f,EAAiB7L,MAErB,MAA4BlY,mBAAS,GAArC,mBAAO+H,EAAP,KAAeyc,EAAf,KAEMjM,EAAW0L,cAkBjB,OACE,kBAACxK,EAAA,EAAD,CACErV,KAAMA,EACNC,OAAQA,EACRC,kBAAgB,gCAEhB,kBAACmV,EAAA,EAAMlV,OAAP,CAAcmV,aAAW,GACvB,kBAACD,EAAA,EAAM9U,MAAP,CAAavR,GAAG,gCAAhB,8CAIF,kBAACqmB,EAAA,EAAMhV,KAAP,CAAYzR,UAAU,yBAEnBqjB,GACC,yBAAKrjB,UAAU,iBACb,yBAAKA,UAAU,wCAKnB,yBAAKA,UAAU,4BACZujB,EAAUxf,KAAI,SAACud,GAAD,OACb,yBACEthB,UAAU,kCACVsH,IAAG,yBAAoBga,EAASlhB,KAEhC,yBAAKJ,UAAU,gFACf,yBAAKA,UAAU,kBACb,uBACEA,UAAS,gCACPsuB,EAAyBhN,EAASvM,QAD3B,gBAKb,yBAAK/U,UAAU,sCACb,0BACEA,UAAS,qCACPsuB,EAAyBhN,EAASvM,QAD3B,kBADX,OAKOuM,EAASlhB,IAEhB,0BAAMJ,UAAU,QACbshB,EAASmN,SADZ,KACwBnN,EAASoN,kBAO3C,kBAACjI,EAAA,EAAM/U,OAAP,CAAc1R,UAAU,QACtB,yBAAKA,UAAU,cACb,4BACEA,UAAU,eACVb,MAAO4V,EACP1F,SAAU,SAACC,GAAD,OAAOkiB,GAAWliB,EAAEM,OAAOzQ,SAErC,4BAAQA,MAAM,KAAd,YACA,4BAAQA,MAAM,KAAd,YAGJ,yBAAKa,UAAU,cACb,4BACE+C,KAAK,SACL0J,QAAS4E,EACTrR,UAAU,kCAHZ,UAOA,4BACE+C,KAAK,SACL0J,QAxFW,WAEnB8Y,EAAStB,IAA8B8M,EAAiB7L,IAAKnQ,IAASH,MACpE,WAEE2Q,EAAStB,IAAuB8M,EAAiBzL,cAAc1Q,MAC7D,WAEEmc,EAAiBtB,OAAO,IAExBpe,WA+EArR,UAAU,+BAHZ,oB,WCnHH,SAASqyB,EAAT,GAA0C,EAAf7O,YAAgB,IAE1CsN,EAAqB3B,IACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACL1L,YAAawL,EAAmBxL,YAChCoK,eAAgBoB,EAAmBpB,kBAEpC,CAACoB,IAGE0B,EAAc,SAACtrB,GACnB,IAAMurB,EA/BY,SAACnN,EAAape,GAClC,IAAQ6N,EAA6B7N,EAA7B6N,OAAQhS,EAAqBmE,EAArBnE,KAAM2vB,EAAexrB,EAAfwrB,WAChBD,EAAc,eAAQnN,GACtB/V,EAAS,GAaf,OAXAA,EAAOwF,OAAoB,KAAXA,GAAiBA,OAASjP,EAE1CyJ,EAAOxM,KAAgB,KAATA,GAAeA,OAAO+C,EAEpCyJ,EAAOkf,SAAWiE,EACdA,IACFnjB,EAAOmf,UAAYgE,EACnBnjB,EAAOof,MAAQ+D,EACfnjB,EAAOqf,UAAY8D,GAErBD,EAAeljB,OAASA,EACjBkjB,EAekBG,CAAc7B,EAAiBzL,YAAape,GAC9D6oB,kBAAQ0C,EAAgB1B,EAAiBzL,eAC5CmN,EAAe1D,WAAa,EAE5BgC,EAAiBrB,eAAe+C,KAIpC,OACE,oCACE,kBAAC,IAAD,CACEjQ,cAAe,CACbzN,OAAQ,GACRhS,KAAM,GACN2vB,WAAY,IAEdhQ,SAAU,SAACxb,GACTsrB,EAAYtrB,MAGb,gBACCA,EADD,EACCA,OACA6b,EAFD,EAECA,aACAqQ,EAHD,EAGCA,WAEAlgB,GALD,EAICmgB,aAJD,EAKCngB,eALD,OAOC,0BAAMwP,SAAUK,EAAc/iB,UAAU,yBACtC,yBAAKA,UAAU,kBACf,yBAAKA,UAAU,YACX,4BACEA,UAAU,eACVgG,KAAK,SACLoJ,YAAY,mBAEZC,SAAU,SAACC,GACT4D,EAAc,SAAU5D,EAAEM,OAAOzQ,OACjC4jB,KAEFuQ,OAAQF,EACRj0B,MAAO+H,EAAO6N,QAEd,4BAAQ5V,MAAM,KAAd,uBAEF,2BAAOa,UAAU,wBACf,qCADF,qB,2ECxET,SAASm0B,EACdC,EACA5sB,EACA6sB,EAHK,GAKJ,IADC9D,EACF,EADEA,uBAAwBC,EAC1B,EAD0BA,yBAE1B,OACE,oCACE,uBACEpR,MAAM,gBACNpf,UAAU,uDACVyM,QAAS,kBAAM8jB,EAAuB/oB,EAAIpH,MAE1C,0BAAMJ,UAAU,yCACd,kBAAC,IAAD,CACEwI,IAAKC,YAAc,gDAIzB,yCAEA,uBACE2W,MAAM,kBACNpf,UAAU,iDACVyM,QAAS,kBAAM+jB,EAAyBhpB,EAAIpH,MAE5C,0BAAMJ,UAAU,wCACd,kBAAC,IAAD,CAAKwI,IAAKC,YAAc,2CCX3B,SAAS6rB,IAEd,IAAMxD,EAAqB3B,IACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACL9L,IAAK4L,EAAmB5L,IACxBuK,OAAQqB,EAAmBrB,OAC3BnK,YAAawL,EAAmBxL,YAChCoK,eAAgBoB,EAAmBpB,eACnCa,uBAAwBO,EAAmBP,uBAC3CC,yBAA0BM,EAAmBN,4BAE9C,CAACM,IAGIyD,EAAiBjR,aACvB,SAAChE,GAAD,MAAY,CAAEiV,aAAcjV,EAAMiE,aAClCE,KAFM8Q,aAIA3Q,EAAsC2Q,EAAtC3Q,WAAYC,EAA0B0Q,EAA1B1Q,SAAUL,EAAgB+Q,EAAhB/Q,YAGxB+B,EAAW0L,cACjBnd,qBAAU,WAERid,EAAiBtB,OAAO,IAExBlK,EAAStB,IAAuB8M,EAAiBzL,gBAEhD,CAACyL,EAAiBzL,YAAaC,IAElC,IAAMpZ,EAAU,CACd,CACEC,UAAW,KACXnN,KAAM,KACNyN,MAAM,EACNC,UAAWA,IACXC,0BAEF,CACER,UAAW,eACXnN,KAAM,gBACNyN,MAAM,EACNC,UAAWA,IACXC,0BAEF,CACER,UAAW,UACXnN,KAAM,UACNyN,MAAM,EACNC,UAAWA,IACXC,0BAEF,CACER,UAAW,kBACXnN,KAAM,mBACNyN,MAAM,EACNC,UAAWA,IACXC,0BAEF,CACER,UAAW,cACXnN,KAAM,eACNyN,MAAM,EACNC,UAAWA,IACXC,0BAEF,CACER,UAAW,gBACXnN,KAAM,iBACNyN,MAAM,EACNC,UAAWA,IACXC,0BAEF,CACER,UAAW,SACXnN,KAAM,UACNoN,UAAWmoB,EACXC,gBAAiB,CACflE,uBAAwBQ,EAAiBR,uBACzCC,yBAA0BO,EAAiBP,0BAE7CjwB,QAAS,mBACTm0B,cAAe,mBACftwB,MAAO,CACLuS,SAAU,WAKVge,EAAoB,CACxBC,QAAQ,EACRC,UAAWjR,EACX2K,gBAAiBuG,EACjBC,YAAahE,EAAiBzL,YAAY0J,SAC1CgG,KAAMjE,EAAiBzL,YAAYyJ,YAErC,OACE,oCACE,kBAAC,qBAAD,CAAoBje,WAAYC,IAAkB4jB,KAC/C,YAAgD,IAA7CM,EAA4C,EAA5CA,gBAAiBC,EAA2B,EAA3BA,qBACnB,OACE,kBAAC,IAAD,CACE7R,UAAWG,EACXyR,gBAAiBA,GAEjB,kBAAC,IAAD,eACEjkB,eAAe,mBACfE,UAAU,EACV3Q,QAAQ,gDACR0Q,YAAU,EACVkkB,QAAM,EACNxkB,SAAS,KACTpO,KAAmB,OAAbshB,EAAoB,GAAKA,EAC/B1X,QAASA,EACTyE,cAAekkB,EACfM,cAAeC,YACbtE,EAAiBrB,gBAEnBgI,UAAWC,YAAa,CACtB9T,WACAqB,IAAK6L,EAAiB7L,IACtBuK,OAAQsB,EAAiBtB,UAEvByF,GAEJ,kBAAC,IAAD,CAAmBrR,SAAUA,IAC7B,kBAAC,IAAD,CAAuBA,SAAUA,UCnJ1C,SAASyR,IAEd,IAAMxE,EAAqB3B,IACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACL9L,IAAK4L,EAAmB5L,IACxBuK,OAAQqB,EAAmBrB,OAC3BgB,0BAA2BK,EAAmBL,0BAC9CC,yBAA0BI,EAAmBJ,yBAC7CC,gCACEG,EAAmBH,mCAEtB,CAACG,IAEJ,OACE,yBAAK9wB,UAAU,QACb,yBAAKA,UAAU,4EACb,yBAAKA,UAAU,aACb,yBAAKA,UAAU,gCACb,yBAAKA,UAAU,iCACb,2BAAOA,UAAU,yBACf,yDAC0B,2BAAI+wB,EAAiB7L,IAAIrc,WAIvD,6BACE,4BACE9F,KAAK,SACL/C,UAAU,iDACVyM,QAASskB,EAAiBN,2BAE1B,uBAAGzwB,UAAU,gBALf,eADF,Y,uBCXL,SAASu1B,IACd,IAAMzE,EAAqB3B,IACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACL9L,IAAK4L,EAAmB5L,IACxBoL,uBAAwBQ,EAAmBR,0BAE5C,CAACQ,IAEJ,OACE,kBAAC,IAAD,KACE,kBAAC,IAAD,CAAY1R,MAAM,2BAChB,kBAAC,IAAD,KACE,4BACErc,KAAK,SACL/C,UAAU,wCACVyM,QAASskB,EAAiBT,wBAH5B,OAOA,kBAACkqB,EAAA,EAAD,CAAgB7mB,QAAQ,UAAUvU,MAAM,WACtC,kBAACq7B,EAAA,EAASC,KAAV,CAAer6C,GAAG,UAAlB,6BACA,kBAACo6C,EAAA,EAASC,KAAV,CAAer6C,GAAG,UAAlB,iBAIN,kBAAC,IAAD,KACE,kBAACgyB,EAAD,MACCtB,EAAiB7L,IAAIrc,OAAS,GAAK,kBAACysB,EAAD,MACpC,kBAAChB,EAAD,QCpCD,SAASqmB,EAAT,GAA6C,IAAZllB,EAAW,EAAXA,QAChClG,EAAoB,CACxBe,uBAAwB,WACtBmF,EAAQ3sB,KAAK,+BAEfynB,uBAAwB,SAACnwB,GACvBq1B,EAAQ3sB,KAAR,iCAAuC1I,EAAvC,WAEFowB,yBAA0B,SAACpwB,GACzBq1B,EAAQ3sB,KAAR,iCAAuC1I,EAAvC,aAEFqwB,0BAA2B,WACzBgF,EAAQ3sB,KAAR,2CAEF4nB,yBAA0B,WACxB+E,EAAQ3sB,KAAR,iCAEF6nB,gCAAiC,WAC/B8E,EAAQ3sB,KAAK,yCAIjB,OACE,kBAACwmB,EAAD,CAAqBC,kBAAmBA,GACtC,kBAACnM,EAAD,MACA,kBAAC,IAAD,CAAOnV,KAAK,+BACT,gBAAGwnB,EAAH,EAAGA,QAAS1pB,EAAZ,EAAYA,MAAZ,OACC,kBAAC8kB,EAAD,CACEzf,KAAe,MAATrF,EACNsF,OAAQ,WACNokB,EAAQ3sB,KAAK,gCAKrB,kBAAC,IAAD,CAAOmF,KAAK,oCACT,gBAAGwnB,EAAH,EAAGA,QAAS1pB,EAAZ,EAAYA,MAAZ,OACC,kBAAC8kB,EAAD,CACEzf,KAAe,MAATrF,EACN3L,GAAI2L,GAASA,EAAM2pB,OAAOt1B,GAC1BiR,OAAQ,WACNokB,EAAQ3sB,KAAK,gCAKrB,kBAAC,IAAD,CAAOmF,KAAK,2CACT,gBAAGwnB,EAAH,EAAGA,QAAS1pB,EAAZ,EAAYA,MAAZ,OACC,kBAAColB,EAAD,CACE/f,KAAe,MAATrF,EACNsF,OAAQ,WACNokB,EAAQ3sB,KAAK,gCAKrB,kBAAC,IAAD,CAAOmF,KAAK,sCACT,gBAAGwnB,EAAH,EAAGA,QAAS1pB,EAAZ,EAAYA,MAAZ,OACC,kBAACmlB,EAAD,CACE9f,KAAe,MAATrF,EACN3L,GAAI2L,GAASA,EAAM2pB,OAAOt1B,GAC1BiR,OAAQ,WACNokB,EAAQ3sB,KAAK,gCAKrB,kBAAC,IAAD,CAAOmF,KAAK,iCACT,gBAAGwnB,EAAH,EAAGA,QAAS1pB,EAAZ,EAAYA,MAAZ,OACC,kBAACulB,EAAD,CACElgB,KAAe,MAATrF,EACNsF,OAAQ,WACNokB,EAAQ3sB,KAAK,gCAKrB,kBAAC,IAAD,CAAOmF,KAAK,wCACT,gBAAGwnB,EAAH,EAAGA,QAAS1pB,EAAZ,EAAYA,MAAZ,OACC,kBAACwlB,EAAD,CACEngB,KAAe,MAATrF,EACNsF,OAAQ,WACNokB,EAAQ3sB,KAAK,gCAKrB,kBAACysB,EAAD,OAlGN,mC,6ECIO,SAASnS,IAEd,IAAQC,EAAcC,aACpB,SAAChE,GAAD,MAAY,CAAE+D,UAAW/D,EAAMiE,UAAUC,eACzCC,KAFMJ,UAMR,OADAvP,qBAAU,cAAU,CAACuP,IACd,kBAAC,IAAD,CAAeA,UAAWA,EAAWpkB,KAAK,gB,qDCN5C,SAASonB,EAAT,GAAmD,IAAfjmB,EAAc,EAAdA,GAAIiR,EAAU,EAAVA,OAE7C,EAA4CiS,aAC1C,SAAChE,GAAD,MAAY,CACVwE,gBAAiBxE,EAAMiE,UAAUO,gBACjCvC,eAAgBjC,EAAMiE,UAAUhC,kBAElCkC,KALMK,EAAR,EAAQA,gBAAiBvC,EAAzB,EAAyBA,eAQzB,EAA0BvU,mBAAS,IAAnC,mBAAOoS,EAAP,KAAckH,EAAd,KAYA,OAVAxS,qBAAU,WACR,IAAIyS,EAASnmB,EAAK,GAAK,cACnB0jB,GAAmB1jB,IACrBmmB,EAAM,mBAAezC,EAAgBjgB,KAA/B,MAGRyiB,EAASC,KAER,CAACzC,EAAiBvC,IAGnB,oCACGA,GAAkB,kBAAC,IAAD,MACnB,kBAACkF,EAAA,EAAMlV,OAAP,KACE,kBAACkV,EAAA,EAAM9U,MAAP,CAAavR,GAAG,gCAAgCgf,GAChD,kBAACie,EAAA,EAAD,CAEE7rB,aAAW,QACX/E,QAAS,SAAC6C,GACR+B,GAAO,KAGT,kBAAC,IAAD,S,u3MCxBV,IAAMpT,EAAU,I,OAAIC,GAAa,MAC3BC,EAAKC,IAAIH,GAEGgY,aAAW,SAACC,GAAD,MAAY,CACvC0V,UAAW,CACTzE,QAAS,OACTG,SAAU,QAEZuE,UAAW,CACTzU,WAAYlB,EAAMK,QAAQ,GAC1BW,YAAahB,EAAMK,QAAQ,GAC3BE,aAAc,QAEhB0hB,MAAO,CACL7hB,UAAWJ,EAAMK,QAAQ,IAE3B6hB,KAAM,CACJhiB,MAAO,SAGJ,SAASgL,EAAT,GAKH,IAQEH,EAZJI,EAIC,EAJDA,aACAC,EAGC,EAHDA,SACAC,EAEC,EAFDA,eACAlQ,EACC,EADDA,OAGA,EAAwDrE,mBAAS,IAAjE,mBAAO4tC,EAAP,KAA6BC,EAA7B,KACA,EAAgD7tC,mBAAS,CACvD7N,MAAO,KACPqE,MAAO,WAFT,mBAAOs3C,EAAP,KAAyBC,EAAzB,KAHC,4CA8BD,8FACe1mC,MAAMxP,OAAOyP,QAAU,gCAAiC,CACnEC,OAAQ,MACRC,iBAAiB,EACjBC,QAAS,CACPiL,OAAQ,oCACRhL,cAAc,UAAD,OAAYvW,EAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,sBAGjBC,MAAK,SAACM,GAAD,OAASA,EAAI/N,UAClByN,MAAK,SAACM,GACL,OAAOA,KAERC,OAAM,SAACtV,GACN,OAAO,KAhBb,oFA9BC,sBA0DD,OAhDEohB,OADkBnb,IAAhBwb,EAASlhB,GACU8gB,MAAaC,MAAM,CACtCtd,KAAMqd,MACH4U,IAAI,EAAG,qBACPC,IAAI,GAAI,sBACRnjB,SAAS,sBAGOsO,MAAaC,MAAM,IAE1CrN,qBAAU,WACR,GAAIwN,EAAS05B,cAAe,CAC1B,IAAIzxC,EAAI+X,EAAS05B,cACb/1C,EAAC,OAAG21C,QAAH,IAAGA,OAAH,EAAGA,EAAsBz3B,MAAK,SAACtb,GAAD,OAAOA,EAAEjE,KAAO2F,KACnDwxC,EAAoB,CAClB57C,MAAK,OAAE8F,QAAF,IAAEA,OAAF,EAAEA,EAAGrB,GACVJ,MAAK,OAAEyB,QAAF,IAAEA,OAAF,EAAEA,EAAGpB,UAGb,CAACyd,IAsBJxN,qBAAU,YAlDT,2CAmDCmnC,GAAqBrmC,MAAK,SAACM,GACrBA,GACF2lC,EAAwB3lC,QAG3B,IAGD,oCACE,kBAAC,IAAD,CACEqN,oBAAoB,EACpBC,cAAelB,EACfmB,iBAAkBxB,EAClByB,SAAU,SAACxb,GACTma,EAAana,MAGd,gBAAG6b,EAAH,EAAGA,aAAc7P,EAAjB,EAAiBA,cAAehM,EAAhC,EAAgCA,OAAhC,OACC,oCACE,kBAACuf,EAAA,EAAMhV,KAAP,CAAYzR,UAAU,iBACnBuhB,GACC,yBAAKvhB,UAAU,gCACb,yBAAKA,UAAU,wCAGnB,kBAAC,IAAD,CAAMA,UAAU,yBACd,yBAAKA,UAAU,kBACb,yBAAKA,UAAU,YACb,yBAAKA,UAAU,yBACb,kBAAC,IAAD,CACEgG,KAAK,OACLxC,MAAM,OACNkL,UAAW2f,IACXjf,YAAY,OACZ4H,OAAO,aAIb,yBAAKhX,UAAU,YACb,yBAAKA,UAAU,qBACb,kBAAC,IAAD,CACEgG,KAAK,cACLxC,MAAM,cACNkL,UAAW2f,IACXjf,YAAY,cACZ4H,OAAO,aAIb,yBAAKhX,UAAU,YACb,yBAAKA,UAAU,kCACb,0BAAMA,UAAU,kCAChB,2BAAOA,UAAU,sFACf,2BAAO+C,KAAK,WAAWiD,KAAK,WAAW8wB,QAAS5vB,EAAO0uB,SAAUvmB,SAAU,SAACC,GAC1E4D,EAAc,WAAY5D,EAAEM,OAAOknB,YAErC,gCAEF,yBAAK92B,UAAU,kCACb,uBAAGA,UAAU,sEAAb,eAKN,yBAAKA,UAAU,YACb,8CACA,kBAAC,IAAD,CACEka,aAAW,EACXtH,UAAU,EACVzT,MAAO27C,EACPzrC,SAAU,SAAC8e,GACT,IACE,GACe,OAAbA,GACoB,QAAZ,OAARA,QAAQ,IAARA,OAAA,EAAAA,EAAUhvB,OAEV+T,EAAc,gBAAiB,MAC/B6nC,EAAoB,CAClB57C,MAAO,KACPqE,MAAO,YAEJ,CACL0P,EACE,gBADW,OAEXib,QAFW,IAEXA,OAFW,EAEXA,EAAUhvB,OAEZ,IAAIoK,EAAC,OAAG4kB,QAAH,IAAGA,OAAH,EAAGA,EAAUhvB,MACd8F,EAAC,OAAG21C,QAAH,IAAGA,OAAH,EAAGA,EAAsBz3B,MAC5B,SAACtb,GAAD,OAAOA,EAAEjE,KAAO2F,KAElBwxC,EAAoB,CAClB57C,MAAK,OAAE8F,QAAF,IAAEA,OAAF,EAAEA,EAAGrB,GACVJ,MAAK,OAAEyB,QAAF,IAAEA,OAAF,EAAEA,EAAGpB,QAGd,MAAOhE,GACPuD,QAAQC,IAAIxD,KAGhBsa,QAAO,OAAEygC,QAAF,IAAEA,OAAF,EAAEA,EAAsB72C,KAAI,SAAC8D,GAClC,MAAO,CAAE1I,MAAK,OAAE0I,QAAF,IAAEA,OAAF,EAAEA,EAAGjE,GAAIJ,MAAK,OAAEqE,QAAF,IAAEA,OAAF,EAAEA,EAAGhE,SAEnCmC,KAAK,gBACL5F,GAAG,gBACHJ,UAAU,eAEqB,IAAhC46C,EAAqB/xC,QACpB,kBAACulB,EAAA,EAAD,UAMV,kBAAC3H,EAAA,EAAM/U,OAAP,KACE,4BACE3O,KAAK,SACL0J,QAAS4E,EACTrR,UAAU,6BAHZ,UAOA,yCACA,4BACE+C,KAAK,SACL0J,QAAS,kBAAMsW,KACf/iB,UAAU,+BAHZ,c,YCtNDsuB,EAA2B,CAAC,SAAU,UAAW,OAAQ,IAIzD1d,EAAgB,CAAC,CAAExE,UAAW,KAAMyE,MAAO,SAC3C0d,EAAkB,CAC7B,CAAEtvB,KAAM,IAAKE,MAAO,GACpB,CAAEF,KAAM,IAAKE,MAAO,GACpB,CAAEF,KAAM,KAAME,MAAO,KAEVqvB,EAAgB,CAC3Bjf,OAAQ,CACNkf,SAAU,GACVC,UAAW,GACXC,MAAO,GACPC,UAAW,GACXgH,UAAU,GAEZ/G,UAAW,MACXC,UAAW,KACXC,WAAY,EACZC,SAAU,ICjBNC,EAAqBC,0BAEpB,SAASC,IACd,OAAOC,qBAAWH,GAGeA,EAAmBI,SAE/C,SAASC,EAAT,GAA6D,IAA/BC,EAA8B,EAA9BA,kBAAmB7G,EAAW,EAAXA,SACtD,EAA0C1b,mBAASwhB,GAAnD,mBAAOlJ,EAAP,KAAoBkK,EAApB,KACA,EAAsBxiB,mBAAS,IAA/B,mBAAOkY,EAAP,KAAYuK,EAAZ,KACMC,EAAiBC,uBAAY,SAAAC,GACjCJ,GAAmB,SAAAK,GAKjB,OAJIC,qBAAWF,KACbA,EAAkBA,EAAgBC,IAGhCE,kBAAQF,EAAiBD,GACpBC,EAGFD,OAER,IASGzwB,EAAQ,CACZmmB,cACAkK,qBACAtK,MACAuK,SACAC,iBACAM,aAbmB,CACnB5vB,QAAI0F,EACJjC,KAAK,GACLoa,YAAY,GACZ2X,UAAS,GAUTtF,uBAAwBf,EAAkBe,uBAC1CC,uBAAwBhB,EAAkBgB,uBAC1CC,yBAA0BjB,EAAkBiB,yBAC5CC,0BAA2BlB,EAAkBkB,0BAC7CC,yBAA0BnB,EAAkBmB,yBAC5CC,gCAAiCpB,EAAkBoB,iCAGrD,OAAO,kBAAC1B,EAAmB2B,SAApB,CAA6BzxB,MAAOA,GAAQupB,GC3C9C,SAASmI,EAAT,GAAmD,IAArBzwB,EAAoB,EAApBA,GAAIgR,EAAgB,EAAhBA,KAAMC,EAAU,EAAVA,OAEvCyf,EAAqB3B,IACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACLhB,aAAcc,EAAmBd,gBAElC,CAACc,IAGEvL,EAAW0L,cACjB,EAA4C3N,aAC1C,SAAChE,GAAD,MAAY,CACViC,eAAgBjC,EAAMiE,UAAUhC,eAChCuC,gBAAiBxE,EAAMiE,UAAUO,mBAEnCL,KALMlC,EAAR,EAAQA,eAAgBuC,EAAxB,EAAwBA,gBAQxBhQ,qBAAU,WAERyR,EAAStB,IAAsB7jB,MAC9B,CAACA,EAAImlB,IAcR,OACE,kBAACkB,EAAA,EAAD,CACEtV,KAAK,KACLC,KAAMA,EACNC,OAAQA,EACRC,kBAAgB,gCAEhB,kBAAC+U,EAAD,CAA0BjmB,GAAIA,EAAIiR,OAAQA,IAC1C,kBAAC+P,EAAD,CACEC,aApBe,SAACC,GACflhB,EAKHmlB,EAAStB,IAAuB3C,IAAW1M,MAAK,kBAAMvD,OAHtDkU,EAAStB,IAAuB3C,IAAW1M,MAAK,kBAAMvD,OAKxD7S,SAASsR,eAAe,iBAAiBinB,SAarCxV,eAAgBA,EAChBD,SAAUwC,GAAmBiN,EAAiBf,aAC9C3e,OAAQA,KCjDT,SAAS6f,EAAT,GAAqD,IAArB9wB,EAAoB,EAApBA,GAAIgR,EAAgB,EAAhBA,KAAMC,EAAU,EAAVA,OAEzCyf,EAAqB3B,IACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACLvB,OAAQqB,EAAmBrB,OAC3BnK,YAAawL,EAAmBxL,eAEjC,CAACwL,IAGEvL,EAAW0L,cACT5N,EAAcC,aACpB,SAAChE,GAAD,MAAY,CAAE+D,UAAW/D,EAAMiE,UAAUhC,kBACzCkC,KAFMJ,UAMRvP,qBAAU,WACH1T,GACHiR,MAGD,CAACjR,IAGJ0T,qBAAU,cAAU,CAACuP,EAAWkC,IAchC,OACE,kBAACkB,EAAA,EAAD,CACErV,KAAMA,EACNC,OAAQA,EACRC,kBAAgB,gCAGf+R,GAAa,kBAAC,IAAD,MAEd,kBAACoD,EAAA,EAAMlV,OAAP,CAAcmV,aAAW,GACvB,kBAACD,EAAA,EAAM9U,MAAP,CAAavR,GAAG,gCAAhB,oBAIF,kBAACqmB,EAAA,EAAMhV,KAAP,MACI4R,GACA,kFAEDA,GAAa,yDAEhB,kBAACoD,EAAA,EAAM/U,OAAP,KACE,6BACE,4BACE3O,KAAK,SACL0J,QAAS4E,EACTrR,UAAU,6BAHZ,UAOA,yCACA,4BACE+C,KAAK,SACL0J,QA5Ca,WAErB8Y,EAAStB,IAAuB7jB,IAAKwU,MAAK,WAExC2Q,EAAStB,IAAuB8M,EAAiBzL,cAEjDyL,EAAiBtB,OAAO,IAExBpe,QAqCMrR,UAAU,8BAHZ,aCtEH,SAASmxB,EAAT,GAAkD,IAAjB/f,EAAgB,EAAhBA,KAAMC,EAAU,EAAVA,OAEtCyf,EAAqB3B,IACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACL9L,IAAK4L,EAAmB5L,IACxBuK,OAAQqB,EAAmBrB,OAC3BnK,YAAawL,EAAmBxL,eAEjC,CAACwL,IAGEvL,EAAW0L,cACT5N,EAAcC,aACpB,SAAChE,GAAD,MAAY,CAAE+D,UAAW/D,EAAMiE,UAAUhC,kBACzCkC,KAFMJ,UAMRvP,qBAAU,WACHid,EAAiB7L,KAAuC,IAAhC6L,EAAiB7L,IAAIrc,QAChDwI,MAGD,CAAC0f,EAAiB7L,MAGrBpR,qBAAU,cAAU,CAACuP,EAAWkC,IAiBhC,OACE,kBAACkB,EAAA,EAAD,CACErV,KAAMA,EACNC,OAAQA,EACRC,kBAAgB,gCAGf+R,GAAa,kBAAC,IAAD,MAEd,kBAACoD,EAAA,EAAMlV,OAAP,CAAcmV,aAAW,GACvB,kBAACD,EAAA,EAAM9U,MAAP,CAAavR,GAAG,gCAAhB,oBAIF,kBAACqmB,EAAA,EAAMhV,KAAP,MACI4R,GACA,sFAEDA,GAAa,0DAEhB,kBAACoD,EAAA,EAAM/U,OAAP,KACE,6BACE,4BACE3O,KAAK,SACL0J,QAAS4E,EACTrR,UAAU,6BAHZ,UAOA,yCACA,4BACE+C,KAAK,SACL0J,QA/Cc,WAEtB8Y,EAAStB,IAAwB8M,EAAiB7L,MAAMtQ,MAAK,WAE3D2Q,EAAStB,IAAuB8M,EAAiBzL,cAAc1Q,MAC7D,WAEEmc,EAAiBtB,OAAO,IAExBpe,WAuCErR,UAAU,8BAHZ,aC3EV,IAAMoxB,EAAoB,SAACvN,EAAUqB,GACnC,IAAMmM,EAAa,GAOnB,OANAnM,EAAIhkB,SAAQ,SAACd,GACX,IAAMkhB,EAAWuC,EAASV,MAAK,SAAC6B,GAAD,OAAQA,EAAG5kB,KAAOA,KAC7CkhB,GACF+P,EAAWvoB,KAAKwY,MAGb+P,GAGF,SAASC,EAAT,GAAiD,IAAjBlgB,EAAgB,EAAhBA,KAAMC,EAAU,EAAVA,OAErCyf,EAAqB3B,IACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACL9L,IAAK4L,EAAmB5L,OAEzB,CAAC4L,IAGIvN,EAAcD,aACpB,SAAChE,GAAD,MAAY,CACViE,UAAW6N,EACT9R,EAAMiE,UAAUM,SAChBkN,EAAiB7L,QAGrBzB,KAPMF,UAkBR,OAPAzP,qBAAU,WACHid,EAAiB7L,KAAuC,IAAhC6L,EAAiB7L,IAAIrc,QAChDwI,MAGD,CAAC0f,EAAiB7L,MAGnB,kBAACuB,EAAA,EAAD,CACErV,KAAMA,EACNC,OAAQA,EACRC,kBAAgB,gCAEhB,kBAACmV,EAAA,EAAMlV,OAAP,CAAcmV,aAAW,GACvB,kBAACD,EAAA,EAAM9U,MAAP,CAAavR,GAAG,gCAAhB,4BAIF,kBAACqmB,EAAA,EAAMhV,KAAP,KACE,yBAAKzR,UAAU,4BACZujB,EAAUxf,KAAI,SAACud,GAAD,OACb,yBAAKthB,UAAU,kCAAkCsH,IAAG,YAAOga,EAASlhB,KAClE,yBAAKJ,UAAU,gFACf,yBAAKA,UAAU,kBACb,uBACEA,UAAS,gCACPsuB,EAAyBhN,EAASvM,QAD3B,gBAKb,yBAAK/U,UAAU,sCACb,0BACIA,UAAS,qCACPsuB,EAAyBhN,EAASvM,QAD3B,kBADb,OAKSuM,EAASlhB,IAElB,0BAAMJ,UAAU,QAAQshB,EAASmN,SAAjC,KAA6CnN,EAASoN,kBAMhE,kBAACjI,EAAA,EAAM/U,OAAP,KACE,6BACE,4BACE3O,KAAK,SACL0J,QAAS4E,EACTrR,UAAU,6BAHZ,UAOA,yCACA,4BACE+C,KAAK,SACL0J,QAAS4E,EACTrR,UAAU,+BAHZ,SCrFV,IAAMoxB,EAAoB,SAACvN,EAAUqB,GACnC,IAAMmM,EAAa,GAOnB,OANAnM,EAAIhkB,SAAQ,SAACd,GACX,IAAMkhB,EAAWuC,EAASV,MAAK,SAAC6B,GAAD,OAAQA,EAAG5kB,KAAOA,KAC7CkhB,GACF+P,EAAWvoB,KAAKwY,MAGb+P,GAGF,SAASE,EAAT,GAAuD,IAAjBngB,EAAgB,EAAhBA,KAAMC,EAAU,EAAVA,OAE3Cyf,EAAqB3B,IACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACL9L,IAAK4L,EAAmB5L,IACxBuK,OAAQqB,EAAmBrB,OAC3BnK,YAAawL,EAAmBxL,eAEjC,CAACwL,IAGJ,EAAiCxN,aAC/B,SAAChE,GAAD,MAAY,CACViE,UAAW6N,EACT9R,EAAMiE,UAAUM,SAChBkN,EAAiB7L,KAEnB7B,UAAW/D,EAAMiE,UAAUhC,kBAE7BkC,KARMF,EAAR,EAAQA,UAAWF,EAAnB,EAAmBA,UAYnBvP,qBAAU,WACHid,EAAiB7L,KAAuC,IAAhC6L,EAAiB7L,IAAIrc,QAChDwI,MAGD,CAAC0f,EAAiB7L,MAErB,MAA4BlY,mBAAS,GAArC,mBAAO+H,EAAP,KAAeyc,EAAf,KAEMjM,EAAW0L,cAkBjB,OACE,kBAACxK,EAAA,EAAD,CACErV,KAAMA,EACNC,OAAQA,EACRC,kBAAgB,gCAEhB,kBAACmV,EAAA,EAAMlV,OAAP,CAAcmV,aAAW,GACvB,kBAACD,EAAA,EAAM9U,MAAP,CAAavR,GAAG,gCAAhB,8CAIF,kBAACqmB,EAAA,EAAMhV,KAAP,CAAYzR,UAAU,yBAEnBqjB,GACC,yBAAKrjB,UAAU,iBACb,yBAAKA,UAAU,wCAKnB,yBAAKA,UAAU,4BACZujB,EAAUxf,KAAI,SAACud,GAAD,OACb,yBACEthB,UAAU,kCACVsH,IAAG,yBAAoBga,EAASlhB,KAEhC,yBAAKJ,UAAU,gFACf,yBAAKA,UAAU,kBACb,uBACEA,UAAS,gCACPsuB,EAAyBhN,EAASvM,QAD3B,gBAKb,yBAAK/U,UAAU,sCACb,0BACEA,UAAS,qCACPsuB,EAAyBhN,EAASvM,QAD3B,kBADX,OAKOuM,EAASlhB,IAEhB,0BAAMJ,UAAU,QACbshB,EAASmN,SADZ,KACwBnN,EAASoN,kBAO3C,kBAACjI,EAAA,EAAM/U,OAAP,CAAc1R,UAAU,QACtB,yBAAKA,UAAU,cACb,4BACEA,UAAU,eACVb,MAAO4V,EACP1F,SAAU,SAACC,GAAD,OAAOkiB,GAAWliB,EAAEM,OAAOzQ,SAErC,4BAAQA,MAAM,KAAd,YACA,4BAAQA,MAAM,KAAd,YAGJ,yBAAKa,UAAU,cACb,4BACE+C,KAAK,SACL0J,QAAS4E,EACTrR,UAAU,kCAHZ,UAOA,4BACE+C,KAAK,SACL0J,QAxFW,WAEnB8Y,EAAStB,IAA8B8M,EAAiB7L,IAAKnQ,IAASH,MACpE,WAEE2Q,EAAStB,IAAuB8M,EAAiBzL,cAAc1Q,MAC7D,WAEEmc,EAAiBtB,OAAO,IAExBpe,WA+EArR,UAAU,+BAHZ,oB,WC1HH,SAASqyB,EAAT,GAA0C,EAAf7O,YAAgB,IAE1CsN,EAAqB3B,IACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACL1L,YAAawL,EAAmBxL,YAChCoK,eAAgBoB,EAAmBpB,kBAEpC,CAACoB,IAGE0B,EAAc,SAACtrB,GACnB,IAAMurB,EAxBY,SAACnN,EAAape,GAClC,IAAQyrB,EAAqDzrB,EAArDyrB,YAAamnB,EAAwC5yC,EAAxC4yC,OAAQpnB,EAAgCxrB,EAAhCwrB,WAA7B,EAA6DxrB,EAApB0uB,gBAAzC,SACMnD,EAAc,eAAQnN,GACtB/V,EAAS,GAMf,OALAA,EAAOuqC,OAAoB,MAAXA,EAAiBA,OAASh0C,EAC1CyJ,EAAO1L,KAAO6uB,EACdnjB,EAAOqmB,SAAWA,EAClBrmB,EAAOojB,YAAcA,EACrBF,EAAeljB,OAASA,EACjBkjB,EAekBG,CAAc7B,EAAiBzL,YAAape,GAC9D6oB,kBAAQ0C,EAAgB1B,EAAiBzL,eAC5CmN,EAAe1D,WAAa,EAE5BgC,EAAiBrB,eAAe+C,KAIpC,OACE,oCACE,kBAAC,IAAD,CACEjQ,cAAe,CACbzN,OAAQ,GACRhS,KAAM,GACN2vB,WAAY,GACZkD,UAAU,EACVjD,YAAa,IAEfjQ,SAAU,SAACxb,GACTsrB,EAAYtrB,MAGb,gBACCA,EADD,EACCA,OACA6b,EAFD,EAECA,aACAqQ,EAHD,EAGCA,WAEAlgB,GALD,EAICmgB,aAJD,EAKCngB,eALD,OAOC,0BAAMwP,SAAUK,EAAc/iB,UAAU,yBACtC,yBAAKA,UAAU,kBACb,2BACE+C,KAAK,SACL/C,UAAU,SACVI,GAAG,gBACHqM,QAAS,SAAC6C,GACc,KAAlBA,EAAEM,OAAOzQ,MACXX,SAASsR,eAAe,iBAAiB3Q,MAAQ,EAC9CX,SAASsR,eAAe,iBAAiB3Q,MAAQ,EACtD+T,EAAc,cAAe5D,EAAEM,OAAOzQ,OACtC4jB,OAGJ,yBAAK/iB,UAAU,YACb,2BACE+C,KAAK,OACL/C,UAAU,eACVgG,KAAK,aACLoJ,YAAY,SACZkkB,OAAQF,EACRj0B,MAAO+H,EAAOwrB,WACdrjB,SAAU,SAACC,GACT4D,EAAc,aAAc5D,EAAEM,OAAOzQ,OACrC4jB,OAGJ,2BAAO/iB,UAAU,wBACf,qCADF,mBAIF,yBAAKA,UAAU,YACb,yBAAKA,UAAU,kCACb,0BAAMA,UAAU,kCAChB,2BAAOA,UAAU,sFACf,2BACE+C,KAAK,WACLiD,KAAK,WACL8wB,QAAS5vB,EAAO0uB,SAChBvmB,SAAU,SAACC,GACT4D,EAAc,WAAY5D,EAAEM,OAAOknB,SACnC/T,OAGJ,gCAEF,yBAAK/iB,UAAU,kCACb,uBAAGA,UAAU,sEAAb,qB,0ECjGb,SAASm0B,GACdC,EACA5sB,EACA6sB,EAHK,GAKJ,IADC9D,EACF,EADEA,uBAAwBC,EAC1B,EAD0BA,yBAE1B,OACE,oCACE,uBACEpR,MAAM,eACNpf,UAAU,uDACVyM,QAAS,kBAAM8jB,EAAuB/oB,EAAIpH,MAE1C,0BAAMJ,UAAU,yCACd,kBAAC,IAAD,CACEwI,IAAKC,YAAc,gDAIzB,yCAEA,uBACE2W,MAAM,iBACNpf,UAAU,iDACVyM,QAAS,kBAAM+jB,EAAyBhpB,EAAIpH,MAE5C,0BAAMJ,UAAU,wCACd,kBAAC,IAAD,CAAKwI,IAAKC,YAAc,2CCV3B,SAAS6rB,KAEd,IAAMxD,EAAqB3B,IACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACL9L,IAAK4L,EAAmB5L,IACxBuK,OAAQqB,EAAmBrB,OAC3BnK,YAAawL,EAAmBxL,YAChCoK,eAAgBoB,EAAmBpB,eACnCa,uBAAwBO,EAAmBP,uBAC3CC,yBAA0BM,EAAmBN,4BAE9C,CAACM,IAGIyD,EAAiBjR,aACvB,SAAChE,GAAD,MAAY,CAAEiV,aAAcjV,EAAMiE,aAClCE,KAFM8Q,aAIA3Q,EAAsC2Q,EAAtC3Q,WAAYC,EAA0B0Q,EAA1B1Q,SAAUL,EAAgB+Q,EAAhB/Q,YAGxB+B,EAAW0L,cACjBnd,qBAAU,WAERid,EAAiBtB,OAAO,IAExBlK,EAAStB,IAAuB8M,EAAiBzL,gBAEhD,CAACyL,EAAiBzL,YAAaC,IAElC,IAAMpZ,EAAU,CACd,CACEC,UAAW,KACXnN,KAAM,KACNyN,MAAM,EACNC,UAAWA,IACXC,0BAEF,CACER,UAAW,OACXnN,KAAM,OACNyN,MAAM,EACNC,UAAWA,IACXC,0BAEF,CACER,UAAW,cACXnN,KAAM,cACNyN,MAAM,EACNC,UAAWA,IACXC,0BAEF,CACER,UAAW,kBACXnN,KAAM,cACNyN,MAAM,EACNC,UAAWA,IACXC,0BAEF,CACER,UAAW,UACXnN,KAAM,UACNyN,MAAM,EACNC,UAAWA,IACXC,yBACAP,UAAW,SAACC,EAAM9E,GAChB,OACE,oCACE,yBAAKxH,UAAU,sBACb,8BAAO2J,YAAU,OAACnC,QAAD,IAACA,OAAD,EAACA,EAAKqF,cAMjC,CACET,UAAW,WACXnN,KAAM,SACNyN,MAAM,EACNC,UAAWA,IACXN,UAAW,SAACC,EAAM9E,GAChB,IAAM8mB,EAA2B,CAAC,UAAW,UAGzC8I,GAA4B,IAAjB5vB,EAAIouB,SAAoB,EAAI,EAK3C,OACE,0BAAM51B,UAHA,8BAAN,OAAqCsuB,EAAyB8I,GAA9D,kBAL2B,CAAC,SAAU,YASdA,KAI5BxqB,0BAEF,CACER,UAAW,SACXnN,KAAM,UACNoN,UAAWmoB,GACXC,gBAAiB,CACflE,uBAAwBQ,EAAiBR,uBACzCC,yBAA0BO,EAAiBP,0BAE7CjwB,QAAS,mBACTm0B,cAAe,mBACftwB,MAAO,CACLuS,SAAU,WAKVge,EAAoB,CACxBC,QAAQ,EACRC,UAAWjR,EACX2K,gBAAiBuG,EACjBC,YAAahE,EAAiBzL,YAAY0J,SAC1CgG,KAAMjE,EAAiBzL,YAAYyJ,YAErC,OACE,oCACE,kBAAC,qBAAD,CAAoBje,WAAYC,IAAkB4jB,KAC/C,YAAgD,IAA7CM,EAA4C,EAA5CA,gBAAiBC,EAA2B,EAA3BA,qBACnB,OACE,kBAAC,IAAD,CACE7R,UAAWG,EACXyR,gBAAiBA,GAEjB,kBAAC,IAAD,eACEjkB,eAAe,mBACfE,UAAU,EACV3Q,QAAQ,gDACR0Q,YAAU,EACVkkB,QAAM,EACNxkB,SAAS,KACTpO,KAAmB,OAAbshB,EAAoB,GAAKA,EAC/B1X,QAASA,EACTyE,cAAekkB,EACfM,cAAeC,YACbtE,EAAiBrB,iBAEfwF,GAEJ,kBAAC,IAAD,CAAmBrR,SAAUA,IAC7B,kBAAC,IAAD,CAAuBA,SAAUA,UCvK1C,SAASyR,KAEd,IAAMxE,EAAqB3B,IACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACL9L,IAAK4L,EAAmB5L,IACxBuK,OAAQqB,EAAmBrB,OAC3BgB,0BAA2BK,EAAmBL,0BAC9CC,yBAA0BI,EAAmBJ,yBAC7CC,gCACEG,EAAmBH,mCAEtB,CAACG,IAEJ,OACE,yBAAK9wB,UAAU,QACb,yBAAKA,UAAU,4EACb,yBAAKA,UAAU,aACb,yBAAKA,UAAU,gCACb,yBAAKA,UAAU,iCACb,2BAAOA,UAAU,yBACf,yDAC0B,2BAAI+wB,EAAiB7L,IAAIrc,WAIvD,6BACE,4BACE9F,KAAK,SACL/C,UAAU,iDACVyM,QAASskB,EAAiBN,2BAE1B,uBAAGzwB,UAAU,gBALf,eADF,Y,aChBL,SAASu1B,KACd,IAAMzE,EAAqB3B,IACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACL9L,IAAK4L,EAAmB5L,IACxBoL,uBAAwBQ,EAAmBR,0BAE5C,CAACQ,IAEJ,OACE,oCACA,kBAACqQ,GAAA,EAAD,KACI,4DACA,0BAAMn7B,KAAK,cAAc4a,QAAQ,iCAErC,kBAAC,IAAD,KACE,kBAAC,IAAD,CAAYxB,MAAM,mBAChB,kBAAC,IAAD,KACE,4BACErc,KAAK,SACL/C,UAAU,wCACVyM,QAASskB,EAAiBT,wBAH5B,iBASJ,kBAAC,IAAD,KACE,kBAAC+B,EAAD,MACCtB,EAAiB7L,IAAIrc,OAAS,GAAK,kBAACysB,GAAD,MACpC,kBAAChB,GAAD,SChCD,SAAS4mB,GAAT,GAAsC,IAAZzlB,EAAW,EAAXA,QACzBlG,EAAoB,CACxBe,uBAAwB,WACtBmF,EAAQ3sB,KAAK,wBAEfynB,uBAAwB,SAACnwB,GACvBq1B,EAAQ3sB,KAAR,0BAAgC1I,EAAhC,WAEFowB,yBAA0B,SAACpwB,GACzBq1B,EAAQ3sB,KAAR,0BAAgC1I,EAAhC,aAEFqwB,0BAA2B,WACzBgF,EAAQ3sB,KAAR,oCAEF4nB,yBAA0B,WACxB+E,EAAQ3sB,KAAR,0BAEF6nB,gCAAiC,WAC/B8E,EAAQ3sB,KAAK,kCAIjB,OACE,kBAACwmB,EAAD,CAAqBC,kBAAmBA,GACtC,kBAACnM,EAAD,MACA,kBAAC,IAAD,CAAOnV,KAAK,wBACT,gBAAGwnB,EAAH,EAAGA,QAAS1pB,EAAZ,EAAYA,MAAZ,OACC,kBAAC8kB,EAAD,CACEzf,KAAe,MAATrF,EACNsF,OAAQ,WACNokB,EAAQ3sB,KAAK,yBAKrB,kBAAC,IAAD,CAAOmF,KAAK,6BACT,gBAAGwnB,EAAH,EAAGA,QAAS1pB,EAAZ,EAAYA,MAAZ,OACC,kBAAC8kB,EAAD,CACEzf,KAAe,MAATrF,EACN3L,GAAI2L,GAASA,EAAM2pB,OAAOt1B,GAC1BiR,OAAQ,WACNokB,EAAQ3sB,KAAK,yBAKrB,kBAAC,IAAD,CAAOmF,KAAK,oCACT,gBAAGwnB,EAAH,EAAGA,QAAS1pB,EAAZ,EAAYA,MAAZ,OACC,kBAAColB,EAAD,CACE/f,KAAe,MAATrF,EACNsF,OAAQ,WACNokB,EAAQ3sB,KAAK,yBAKrB,kBAAC,IAAD,CAAOmF,KAAK,+BACT,gBAAGwnB,EAAH,EAAGA,QAAS1pB,EAAZ,EAAYA,MAAZ,OACC,kBAACmlB,EAAD,CACE9f,KAAe,MAATrF,EACN3L,GAAI2L,GAASA,EAAM2pB,OAAOt1B,GAC1BiR,OAAQ,WACNokB,EAAQ3sB,KAAK,yBAKrB,kBAAC,IAAD,CAAOmF,KAAK,0BACT,gBAAGwnB,EAAH,EAAGA,QAAS1pB,EAAZ,EAAYA,MAAZ,OACC,kBAACulB,EAAD,CACElgB,KAAe,MAATrF,EACNsF,OAAQ,WACNokB,EAAQ3sB,KAAK,yBAKrB,kBAAC,IAAD,CAAOmF,KAAK,iCACT,gBAAGwnB,EAAH,EAAGA,QAAS1pB,EAAZ,EAAYA,MAAZ,OACC,kBAACwlB,EAAD,CACEngB,KAAe,MAATrF,EACNsF,OAAQ,WACNokB,EAAQ3sB,KAAK,yBAKrB,kBAACysB,GAAD,OAlGN,oC,6ECIO,SAAS4lB,IACd,IAAQ93B,EAAcC,aACpB,SAAAhE,GAAK,MAAK,CAAE+D,UAAW/D,EAAM2Y,SAASzU,eACtCC,KAFMJ,UAKR,OADAvP,qBAAU,cAAU,CAACuP,IACd,kBAAC,IAAD,CAAeA,UAAWA,EAAWpkB,KAAK,gB,oCCVtCm8C,EAA0B,CAAC,UAAW,OAAQ,IAI9CxqC,EAAgB,CAAC,CAAExE,UAAW,YAAayE,MAAO,SAClD0d,EAAkB,CAC7B,CAAEtvB,KAAM,IAAKE,MAAO,GACpB,CAAEF,KAAM,IAAKE,MAAO,GACpB,CAAEF,KAAM,KAAME,MAAO,KAGVqvB,EAAgB,CAC3Bjf,OAAQ,CACN8rC,SAAU,GACVC,UAAW,IAEbzsB,UAAW,OACXC,UAAW,YACXC,WAAY,EACZC,SAAU,ICfNusB,EAAoBrsB,0BAEnB,SAASssB,IACd,OAAOpsB,qBAAWmsB,GAGcA,EAAkBlsB,SAE7C,SAASosB,EAAT,GAA6D,IAA/BC,EAA8B,EAA9BA,iBAAkBhzB,EAAY,EAAZA,SACrD,EAA0C1b,mBAASwhB,GAAnD,mBAAOlJ,EAAP,KAAoBkK,EAApB,KACA,EAAsBxiB,mBAAS,IAA/B,mBAAOkY,EAAP,KAAYuK,EAAZ,KACMC,EAAiBC,uBAAY,SAACC,GAClCJ,GAAmB,SAACK,GAKlB,OAJIC,qBAAWF,KACbA,EAAkBA,EAAgBC,IAGhCE,kBAAQF,EAAiBD,GACpBC,EAGFD,OAER,IAQGzwB,EAAQ,CACZmmB,cACAkK,qBACAtK,MACAuK,SACAC,iBACAM,aAZmB,CACnB5vB,QAAI0F,EACJ61C,gBAAgB,GAChB/4B,YAAY,GACZtJ,WAAW,IASXsiC,sBAAuBF,EAAiBE,sBACxCC,oBAAqBH,EAAiBG,oBACtCC,wBAAyBJ,EAAiBI,wBAC1CC,yBAA0BL,EAAiBK,yBAC3CC,wBAAyBN,EAAiBM,wBAC1CC,+BACEP,EAAiBO,gCAGrB,OACE,kBAACV,EAAkB3qB,SAAnB,CAA4BzxB,MAAOA,GAChCupB,GC7CA,SAASwzB,EAAT,GAAoD,IAArB97C,EAAoB,EAApBA,GAAIgR,EAAgB,EAAhBA,KAAMC,EAAU,EAAVA,OAExC8qC,EAAoBX,IACpBY,EAAkBprB,mBAAQ,WAC9B,MAAO,CACLvB,OAAQ0sB,EAAkB1sB,OAC1BnK,YAAa62B,EAAkB72B,eAEhC,CAAC62B,IAGE52B,EAAW0L,cACT5N,EAAcC,aACpB,SAAChE,GAAD,MAAY,CAAE+D,UAAW/D,EAAM2Y,SAAS1W,kBACxCkC,KAFMJ,UAMRvP,qBAAU,WACH1T,GACHiR,MAGD,CAACjR,IAGJ0T,qBAAU,cAAU,CAACuP,EAAWkC,IAchC,OACE,kBAACkB,EAAA,EAAD,CACErV,KAAMA,EACNC,OAAQA,EACRC,kBAAgB,gCAEf+R,GAAa,kBAAC,IAAD,CAAkBsQ,QAAQ,UACxC,kBAAClN,EAAA,EAAMlV,OAAP,CAAcmV,aAAW,GACvB,kBAACD,EAAA,EAAM9U,MAAP,CAAavR,GAAG,gCAAhB,mBAIF,kBAACqmB,EAAA,EAAMhV,KAAP,MACI4R,GACA,kFAEDA,GAAa,0DAEhB,kBAACoD,EAAA,EAAM/U,OAAP,KACE,6BAQE,yCACA,4BACE3O,KAAK,SACL0J,QA1CY,WAEpB8Y,EAAStB,IAAsB7jB,IAAKwU,MAAK,WAEvC2Q,EAAStB,IAAsBm4B,EAAgB92B,cAE/C82B,EAAgB3sB,OAAO,IAEvBpe,QAmCMrR,UAAU,6BAHZ,aCpEH,SAASq8C,EAAT,GAAiD,IAAjBjrC,EAAgB,EAAhBA,KAAMC,EAAU,EAAVA,OAErC8qC,EAAoBX,IACpBY,EAAkBprB,mBAAQ,WAC9B,MAAO,CACL9L,IAAKi3B,EAAkBj3B,IACvBuK,OAAQ0sB,EAAkB1sB,OAC1BnK,YAAa62B,EAAkB72B,eAEhC,CAAC62B,IAGE52B,EAAW0L,cACT5N,EAAcC,aACpB,SAAChE,GAAD,MAAY,CAAE+D,UAAW/D,EAAM2Y,SAAS1W,kBACxCkC,KAFMJ,UAMRvP,qBAAU,cAAU,CAACuP,EAAWkC,IAGhCzR,qBAAU,WACHsoC,EAAgBl3B,KAAsC,IAA/Bk3B,EAAgBl3B,IAAIrc,QAC9CwI,MAGD,CAAC+qC,EAAgBl3B,MAepB,OACE,kBAACuB,EAAA,EAAD,CACErV,KAAMA,EACNC,OAAQA,EACRC,kBAAgB,gCAEf+R,GAAa,kBAAC,IAAD,MACd,kBAACoD,EAAA,EAAMlV,OAAP,CAAcmV,aAAW,GACvB,kBAACD,EAAA,EAAM9U,MAAP,CAAavR,GAAG,kCAGlB,kBAACqmB,EAAA,EAAMhV,KAAP,MAEA,kBAACgV,EAAA,EAAM/U,OAAP,OCzDN,IAAM4qC,EAAmB,SAACz4B,EAAUqB,GAClC,IAAMq3B,EAAY,GAOlB,OANAr3B,EAAIhkB,SAAQ,SAACd,GACX,IAAMo8C,EAAU34B,EAASV,MAAK,SAAC6B,GAAD,OAAQA,EAAG5kB,KAAOA,KAC5Co8C,GACFD,EAAUzzC,KAAK0zC,MAGZD,GAGF,SAASE,EAAT,GAAgD,IAAjBrrC,EAAgB,EAAhBA,KAAMC,EAAU,EAAVA,OAEpC8qC,EAAoBX,IACpBY,EAAkBprB,mBAAQ,WAC9B,MAAO,CACL9L,IAAKi3B,EAAkBj3B,IACvBI,YAAa62B,EAAkB72B,eAEhC,CAAC62B,IAGIlkB,EAAa3U,aACnB,SAAChE,GAAD,MAAY,CACV2Y,SAAUqkB,EAAiBh9B,EAAM2Y,SAASpU,SAAUu4B,EAAgBl3B,QAEtEzB,KAJMwU,SAeR,OAPAnkB,qBAAU,WACHsoC,EAAgBl3B,KAAsC,IAA/Bk3B,EAAgBl3B,IAAIrc,QAC9CwI,MAGD,CAAC+qC,EAAgBl3B,MAGlB,kBAACuB,EAAA,EAAD,CACErV,KAAMA,EACNC,OAAQA,EACRC,kBAAgB,gCAEhB,kBAACmV,EAAA,EAAMlV,OAAP,CAAcmV,aAAW,GACvB,kBAACD,EAAA,EAAM9U,MAAP,CAAavR,GAAG,gCAAhB,4BAIF,kBAACqmB,EAAA,EAAMhV,KAAP,KACE,yBAAKzR,UAAU,qDACb,yBAAKA,UAAU,uBACZi4B,EAASl0B,KAAI,SAACy4C,GAAD,OACZ,yBAAKx8C,UAAU,0BAA0BsH,IAAKk1C,EAAQp8C,IACpD,0BAAMJ,UAAU,sBACd,0BACEA,UAAS,qCACPo7C,EAAwBoB,EAAQznC,QADzB,iBAGT3Q,MAAO,CAAEgS,MAAO,SAJlB,OAMOomC,EAAQp8C,IACP,IACR,0BAAMJ,UAAU,QACbw8C,EAAQE,YADX,KAC0BF,EAAQG,eAQ9C,kBAACl2B,EAAA,EAAM/U,OAAP,KACE,6BACE,4BACE3O,KAAK,SACL0J,QAAS4E,EACTrR,UAAU,6BAHZ,UAOA,yCACA,4BACE+C,KAAK,SACL0J,QAAS4E,EACTrR,UAAU,+BAHZ,SChFV,IAAMs8C,EAAmB,SAACz4B,EAAUqB,GAClC,IAAMq3B,EAAY,GAOlB,OANAr3B,EAAIhkB,SAAQ,SAACd,GACX,IAAMo8C,EAAU34B,EAASV,MAAK,SAAC6B,GAAD,OAAQA,EAAG5kB,KAAOA,KAC5Co8C,GACFD,EAAUzzC,KAAK0zC,MAGZD,GAGF,SAASK,EAAT,GAAuD,IAAjBxrC,EAAgB,EAAhBA,KAAMC,EAAU,EAAVA,OAE3C8qC,EAAoBX,IACpBY,EAAkBprB,mBAAQ,WAC9B,MAAO,CACL9L,IAAKi3B,EAAkBj3B,IACvBuK,OAAQ0sB,EAAkB1sB,OAC1BnK,YAAa62B,EAAkB72B,eAEhC,CAAC62B,IAGJ,EAAgC74B,aAC9B,SAAChE,GAAD,MAAY,CACV2Y,SAAUqkB,EAAiBh9B,EAAM2Y,SAASpU,SAAUu4B,EAAgBl3B,KACpE7B,UAAW/D,EAAM2Y,SAAS1W,kBAE5BkC,KALMwU,EAAR,EAAQA,SAAU5U,EAAlB,EAAkBA,UASlBvP,qBAAU,YACJsoC,EAAgBl3B,KAAsC,IAA/Bk3B,EAAgBl3B,IAAIrc,SAC7CwI,MAGD,CAAC+qC,EAAgBl3B,MAEpB,MAA4BlY,mBAAS,GAArC,mBAAO+H,EAAP,KAAeyc,EAAf,KAEMjM,EAAW0L,cAkBjB,OACE,kBAACxK,EAAA,EAAD,CACErV,KAAMA,EACNC,OAAQA,EACRC,kBAAgB,gCAEhB,kBAACmV,EAAA,EAAMlV,OAAP,CAAcmV,aAAW,GACvB,kBAACD,EAAA,EAAM9U,MAAP,CAAavR,GAAG,gCAAhB,kDAIF,kBAACqmB,EAAA,EAAMhV,KAAP,CAAYzR,UAAU,yBACnBqjB,GACC,yBAAKrjB,UAAU,gCACb,yBAAKA,UAAU,wCAGnB,yBAAKA,UAAU,qDACb,yBAAKA,UAAU,uBACZi4B,EAASl0B,KAAI,SAACy4C,GAAD,OACZ,yBAAKx8C,UAAU,0BAA0BsH,IAAKk1C,EAAQp8C,IACpD,0BAAMJ,UAAU,sBACd,0BACEA,UAAS,qCACPo7C,EAAwBoB,EAAQznC,QADzB,iBAGT3Q,MAAO,CAAEgS,MAAO,SAJlB,OAMOomC,EAAQp8C,IACP,IACR,0BAAMJ,UAAU,QACbw8C,EAAQE,YADX,KAC0BF,EAAQG,eAQ9C,kBAACl2B,EAAA,EAAM/U,OAAP,CAAc1R,UAAU,QACtB,yBAAKA,UAAU,cACb,4BACEA,UAAS,uBAAkBo7C,EAAwBrmC,IACnD5V,MAAO4V,EACP1F,SAAU,SAACC,GAAD,OAAOkiB,GAAWliB,EAAEM,OAAOzQ,SAErC,4BAAQA,MAAM,KAAd,WACA,4BAAQA,MAAM,KAAd,UAGJ,yBAAKa,UAAU,cACb,4BACE+C,KAAK,SACL0J,QAAS4E,EACTrR,UAAU,6BAHZ,UAOA,yCACA,4BACE+C,KAAK,SACL0J,QA9EW,WAEnB8Y,EAAStB,IAA6Bm4B,EAAgBl3B,IAAKnQ,IAASH,MAClE,WAEE2Q,EAAStB,IAAsBm4B,EAAgB92B,cAAc1Q,MAC3D,WAEEwnC,EAAgB3sB,OAAO,IAEvBpe,WAqEArR,UAAU,+BAHZ,oB,i+MClGV,IAAMyxB,EAAaC,YAAW,CAC5Brb,MAAO,CACLzC,OAAQ,sBAFO8d,EAIhB,SAAA3xB,GAAK,OACN,kBAACS,EAAA,EAAD,eACEmxB,UAAW,EACXC,mBAAoB,KACpBC,aAAc,CACZC,SAAU,SACVC,WAAY,UAEdC,gBAAiB,CACfF,SAAU,MACVC,WAAY,WAEVhyB,OAGFkyB,EAAiBP,aAAW,SAAAxb,GAAK,MAAK,CAC1CC,KAAM,CACJ,UAAW,CACTyR,gBAAiB1R,EAAM4R,QAAQqD,QAAQ+G,KACvC,sDAAuD,CACrDnjB,MAAOmH,EAAM4R,QAAQqK,OAAOC,YALbV,CASnB1H,KACc/T,aAAW,SAAAC,GAAK,MAAK,CACrCa,OAAQ,CACNC,OAAQd,EAAMK,QAAQ,IAExBU,SAAU,CACRC,YAAahB,EAAMK,QAAQ,IAE7BY,UAAW,CACTC,WAAYlB,EAAMK,QAAQ,IAE5Bc,UAAW,CACThT,SAAU,QAGP,SAASw4C,EAAT,GAAyC,EAAfr5B,YAAgB,IAEzC24B,EAAoBX,IAC1B,EAAsCxuC,mBAAS,IAA/C,mBAAOslB,EAAP,KAAoBC,EAApB,KACM6pB,EAAkBprB,mBAAQ,WAC9B,MAAO,CACLtB,eAAgBysB,EAAkBzsB,eAClCpK,YAAa62B,EAAkB72B,eAEhC,CAAC62B,IASJ,EAA0CnvC,mBAAS,IAAnD,mBAAOyL,EAAP,KAAsB4qB,EAAtB,KACA,EAA4Cr2B,mBAAS,IAArD,mBAAOs2B,EAAP,KAAuBC,EAAvB,KAGM3Q,EAAgB,SAACtN,EAAape,GAClC,IAAQoS,EAaJpS,EAbIoS,WACNsJ,EAYE1b,EAZF0b,YACAk6B,EAWE51C,EAXF41C,WAEA/nC,GASE7N,EAVFwrB,WAUExrB,EATF6N,QACAgoC,EAQE71C,EARF61C,gBACAC,EAOE91C,EAPF81C,iBACAC,EAME/1C,EANF+1C,gBACAC,EAKEh2C,EALFg2C,gBACAC,EAIEj2C,EAJFi2C,oBACAC,EAGEl2C,EAHFk2C,MACAnyC,EAEE/D,EAFF+D,UACAE,EACEjE,EADFiE,QAEIsnB,EAAc,eAAQnN,GACtB/V,EAAS,GAKf,GAJI+J,GAAcsJ,IAChBrT,EAAO+J,YAAcA,EACrB/J,EAAOqT,aAAeA,GAEpBk6B,GAAc7xC,GAAaE,EAAS,CACtC,IAAIkyC,EAAqB,IAAI17C,KAAKsJ,GAAWquB,iBACzCgkB,EAAmB,IAAI37C,KAAKwJ,GAASmuB,iBACzC/pB,EAAOguC,WAAa,IAAI57C,KAAK07C,GAAoBz4C,UACjD2K,EAAOiuC,SAAW,IAAI77C,KAAK27C,GAAkB14C,UAC7C2K,EAAOkuC,WAAaX,EAqBtB,OAnBAvtC,EAAOowB,OAAoB,KAAX5qB,EAAgBA,OAASjP,EACrCm3C,IACF1tC,EAAOosC,gBAAkBsB,GAEvBC,IACF3tC,EAAOmuC,gBAAkBR,GAEvBC,IACF5tC,EAAOouC,oBAAsBR,GAE3BC,IACF7tC,EAAOmrB,MAAQ0iB,GAEbJ,GAAoBD,IACtBxtC,EAAOquC,oBAAsBZ,EAC7BztC,EAAOsuC,mBAAqBd,GAE9BtqB,EAAeljB,OAASA,EACxBgjB,EAAeE,GACRA,GAET3e,qBAAU,WACR+Y,MACC,IACH,IAAMA,EAAe,uCAAG,oGAEpBgM,GAAgB,GAFI,SAGCvW,IAAM3M,IAAI,6BAHX,OAGdxG,EAHc,OAMpBk0B,EAAiB,CAAC,CAAEz/B,GAAI,GAAIC,KAAM,gBAAiB4M,OAAOtB,EAAO5M,KAAP,gBAC1DghC,EAAkB,CAAC,CAAE3/B,GAAI,GAAIC,KAAM,gBAAiB4M,OAAOtB,EAAO5M,KAAP,gBAC3Ds2B,GAAgB,GARI,4GAAH,qDAsBft4B,EAXY0V,aAAW,SAAAC,GAAK,MAAK,CACrC0V,UAAW,CACTzE,QAAS,OACTG,SAAU,QAEZuE,UAAW,CACTzU,WAAYlB,EAAMK,QAAQ,GAC1BW,YAAahB,EAAMK,QAAQ,GAC3BH,MAAO,QAGKkB,GAChB,EAAwCtK,oBAAS,GAAjD,mBAAO6L,EAAP,KAAqBggB,EAArB,KACA,EAA0D7rB,oBAAS,GAAnE,mBAAO8wC,EAAP,KAiBA,GAjBA,KAiBgCpzB,IAAM1d,SAAS,OAA/C,mBAAO6lB,EAAP,KAAiBC,EAAjB,KACA,SAASC,GAAY9e,GACnB6e,EAAY7e,EAAM+e,eAEpB,SAASC,KACPH,EAAY,MAxHgC,SA2H/BI,GA3H+B,mFA2H9C,WAA2BnwB,EAAMowB,GAAjC,gFACM5jB,EAAS+iB,GADf,uBAGI/iB,EAAOyf,SAAW,IAHtB,SAIyB1M,IAAMkD,KAAN,0BAAsC,CAAE,YAAejW,IAJhF,OAIUJ,EAJV,OAKIzO,YAAOyO,EAAO5M,KAAKshB,SAAU9gB,EAAMowB,GALvC,wCAOyB7Q,IAAMkD,KAAN,0BAAsC,CAAE,YAAe,CAAE,OAAU,CAAE,oBAAuB,GAAI,YAAU1f,GAAa,UAAa,MAAO,UAAa,KAAM,WAAc,EAAG,SAAY,OAPpN,QAOUqJ,EAPV,OAQIzO,YAAOyO,EAAO5M,KAAKshB,SAAU9gB,EAAMowB,GARvC,6CA3H8C,sBAsI9C,OACE,oCACE,kBAAC,IAAD,CACE3Q,cAAe,CACblJ,WAAY,EACZsJ,YAAa,EACb8P,WAAY,IAEdhQ,SAAU,SAACxb,IAnIG,SAACA,GACnB,IAAMurB,EAAiBG,EAAcwpB,EAAgB92B,YAAape,GAC7D6oB,kBAAQ0C,EAAgB2pB,EAAgB92B,eAC3CmN,EAAe1D,WAAa,EAC5BqtB,EAAgB1sB,eAAe+C,IAgI3BD,CAAYtrB,MAGb,gBACCA,EADD,EACCA,OACA6b,EAFD,EAECA,aACAqQ,EAHD,EAGCA,WAEAlgB,GALD,EAICmgB,aAJD,EAKCngB,eALD,OAOC,0BAAMwP,SAAUK,EAAc/iB,UAAU,yBACtC,2BACE+C,KAAK,SACL/C,UAAU,SACVI,GAAG,gBACHqM,QAAS,SAAC6C,GACe,MAAnBA,EAAEM,OAAOzQ,MACXX,SAASsR,eAAe,iBAAiB3Q,MAAQ,EAC9CX,SAASsR,eAAe,iBAAiB3Q,MAAQ,EACtD+T,EAAc,cAAe5D,EAAEM,OAAOzQ,OACtC4jB,OAGJ,yBAAK/iB,UAAU,kBACb,yBAAKA,UAAU,aACb,kBAACuzB,EAAA,EAAD,CAAevzB,UAAU,gCACvB,kBAACwzB,EAAA,EAAD,CAAQpvB,MAAO,CAAEwS,OAAQ,QAEvB6c,gBAAc,kBACdC,gBAAc,OACdC,QAAQ,WAAW5kB,MAAM,UACzBtC,QAASsmB,IALX,YAQkC,kBAACa,EAAA,EAAD,CAAM5zB,UAAWO,EAAQ4W,WAAzB,SAGlC,kBAACsa,EAAD,CACErxB,GAAG,kBACHyyB,SAAUA,EACVgB,aAAW,EACXC,KAAMC,QAAQlB,GACdmB,QAASf,IAET,kBAAChB,EAAD,CAAgBxlB,QAAS,SAACwH,GACxBif,GAAY,QAAS,cAGrB,kBAACe,EAAA,EAAD,KACE,uBAAG9vB,MAAM,uBAEX,kBAAC+vB,EAAA,EAAD,CAAc/I,QAAQ,WAGxB,kBAAC8G,EAAD,CAAgBxlB,QAAS,SAACwH,GACxBif,GAAY,MAAO,cAEnB,kBAACe,EAAA,EAAD,KACE,uBAAG9vB,MAAM,qBAEX,kBAAC+vB,EAAA,EAAD,CAAc/I,QAAQ,SAGxB,kBAAC8G,EAAD,CAAgBxlB,QAAS,SAACwH,GACxBif,GAAY,OAAQ,cAEpB,kBAACe,EAAA,EAAD,KACE,uBAAG9vB,MAAM,sBAGX,kBAAC+vB,EAAA,EAAD,CAAc/I,QAAQ,cAQhC,yBAAKnrB,UAAU,kBACb,yBAAKA,UAAU,YAqBb,uBAAGmE,MAAM,QAAT,iBACA,kBAAC,IAAD,CACE6B,KAAK,aACLmU,QAAS1B,EAAc1U,KAAI,SAAC8D,GAC1B,MAAO,CACL1I,MAAO0I,EAAEjE,GACTJ,MAAOqE,EAAEhE,SAGbwL,SAAU,SAAC8e,GACT,IAAIvlB,EAAC,OAAGulB,QAAH,IAAGA,OAAH,EAAGA,EAAUhvB,MAClB+T,EAAc,aAActK,GAC5Bma,OAMHlK,GAAgB,kBAACuV,EAAA,EAAD,OAEnB,yBAAKpuB,UAAU,YAiBb,uBAAGA,UAAU,QAAb,kBACA,kBAAC,IAAD,CACEgG,KAAK,cACLmU,QAASmpB,EAAev/B,KAAI,SAAC8D,GAC3B,MAAO,CACL1I,MAAK,OAAE0I,QAAF,IAAEA,OAAF,EAAEA,EAAGjE,GACVJ,MAAK,OAAEqE,QAAF,IAAEA,OAAF,EAAEA,EAAGhE,SAGdwL,SAAU,SAAC8e,GACT,IAAIvlB,EAAC,OAAGulB,QAAH,IAAGA,OAAH,EAAGA,EAAUhvB,MAClB+T,EAAc,cAAetK,GAC7Bma,OAGH+6B,GAAyB,kBAAC1vB,EAAA,EAAD,QAO9B,yBAAKpuB,UAAU,kBACb,yBAAKA,UAAU,YACb,uBAAGA,UAAU,QAAb,QACA,kBAAC,IAAD,CACEgG,KAAK,SACLkN,cAAeA,EACfogB,OAAQF,EACRjZ,QAAS,CAAC,CACRhb,MAAO,UACPqE,MAAO,gBACN,CACDrE,MAAO,eACPqE,MAAO,iBACN,CACDrE,MAAO,cACPqE,MAAO,iBAET6L,SAAU,SAAC8e,GACT,IAAIvlB,EAAC,OAAGulB,QAAH,IAAGA,OAAH,EAAGA,EAAUhvB,MAClB+T,EAAc,SAAUtK,GACxBma,QAqBN,yBAAK/iB,UAAU,YAEb,uBAAGA,UAAU,QAAb,cAGA,kBAAC+oB,EAAA,EAAD,CACE3oB,GAAG,iBAEH2C,KAAK,iBACLye,aAAa,KACbxhB,UAAWO,EAAQsrB,UACnB9X,gBAAiB,CACfC,QAAQ,GAEVsf,OAAQF,EACRj0B,MAAO+H,EAAO+D,UACdoE,SAAU,SAACC,GACT4D,EAAc,YAAa5D,EAAEM,OAAOzQ,OACpC4jB,QAKN,yBAAK/iB,UAAU,YAEb,uBAAGA,UAAU,QAAb,YAGA,kBAAC+oB,EAAA,EAAD,CACE3oB,GAAG,kBAEH2C,KAAK,iBACLye,aAAa,KACbxhB,UAAWO,EAAQsrB,UACnB9X,gBAAiB,CACfC,QAAQ,GAEVsf,OAAQF,EACRj0B,MAAO+H,EAAOiE,QACdkE,SAAU,SAACC,GACT4D,EAAc,UAAW5D,EAAEM,OAAOzQ,OAClC4jB,SAOR,yBAAK/iB,UAAU,kBACb,yBAAKA,UAAU,YACb,uBAAGA,UAAU,QAAb,gBAGA,kBAAC+9C,EAAA,EAAD,CAAY/9C,UAAU,QACpB,2BACE+C,KAAK,OACL/C,UAAU,eACVgG,KAAK,kBACLoJ,YAAY,SACZkkB,OAAQF,EACRj0B,MAAO+H,EAAO+1C,gBACd5tC,SAAU,SAACC,GACT4D,EAAc,kBAAmB5D,EAAEM,OAAOzQ,OAC1C4jB,SAMR,yBAAK/iB,UAAU,YACb,uBAAGA,UAAU,QAAb,yBAGA,kBAAC+9C,EAAA,EAAD,CAAY/9C,UAAU,QACpB,2BACE+C,KAAK,OACL/C,UAAU,eACVgG,KAAK,kBACLoJ,YAAY,SACZkkB,OAAQF,EACRj0B,MAAO+H,EAAOg2C,gBACd7tC,SAAU,SAACC,GACT4D,EAAc,kBAAmB5D,EAAEM,OAAOzQ,OAC1C4jB,UAQV,yBAAK/iB,UAAU,kBACb,yBAAKA,UAAU,YACb,uBAAGA,UAAU,QAAb,yBAGA,kBAAC+9C,EAAA,EAAD,CAAY/9C,UAAU,QACpB,2BACE+C,KAAK,OACL/C,UAAU,eACVgG,KAAK,sBACLoJ,YAAY,SACZkkB,OAAQF,EACRj0B,MAAO+H,EAAOi2C,oBACd9tC,SAAU,SAACC,GACT4D,EAAc,sBAAuB5D,EAAEM,OAAOzQ,OAC9C4jB,SAMR,yBAAK/iB,UAAU,YACb,uBAAGA,UAAU,QAAb,yBAEA,kBAAC+9C,EAAA,EAAD,CAAY/9C,UAAU,QACpB,2BACE+C,KAAK,OACL/C,UAAU,eACVgG,KAAK,QACLoJ,YAAY,SACZkkB,OAAQF,EACRj0B,MAAO+H,EAAOk2C,MACd/tC,SAAU,SAACC,GACT4D,EAAc,QAAS5D,EAAEM,OAAOzQ,OAChC4jB,UAQV,yBAAK/iB,UAAU,kBACb,yBAAKA,UAAU,YAmBb,uBAAGA,UAAU,QAAb,kCAEA,kBAAC,IAAD,CACEgG,KAAK,SACLkN,cAAeA,EACfogB,OAAQF,EACRjZ,QAAS,CAAC,CACRhb,MAAO,GACPqE,MAAO,OACN,CACDrE,MAAO,OACPqE,MAAO,cAET,CACErE,MAAO,qBACPqE,MAAO,sBAGT,CACErE,MAAO,kBACPqE,MAAO,mBAET,CACErE,MAAO,SACPqE,MAAO,UAGT,CACErE,MAAO,WACPqE,MAAO,aAET6L,SAAU,SAAC8e,GACT,IAAIvlB,EAAC,OAAGulB,QAAH,IAAGA,OAAH,EAAGA,EAAUhvB,MAClB+T,EAAc,SAAUtK,GACxBma,QAMN,yBAAK/iB,UAAU,YACb,kBAAC,IAAD,CAAagG,KAAK,sBAAsBxC,MAAM,wBAAwBgE,KAAG,GACvE,kBAAC6yB,EAAA,EAAD,CACEl7B,MAAM,MACN6G,KAAK,MACLs0B,QAAS,kBAACC,EAAA,EAAD,CAAOxrB,MAAM,YACtBvL,MAAM,MACNg3B,eAAe,UAEjB,kBAACH,EAAA,EAAD,CACEl7B,MAAM,OACN6G,KAAK,OACLs0B,QAAS,kBAACC,EAAA,EAAD,CAAOxrB,MAAM,YACtBvL,MAAM,OACNg3B,eAAe,UAEjB,kBAACH,EAAA,EAAD,CACEl7B,MAAM,UACN6G,KAAK,UACLs0B,QAAS,kBAACC,EAAA,EAAD,CAAOxrB,MAAM,YACtBvL,MAAM,WACNg3B,eAAe,aAMvB,yBAAKx6B,UAAU,kBACb,yBAAKA,UAAU,YACb,uBAAGA,UAAU,QAAb,2CAEA,2BACE+C,KAAK,OACL/C,UAAU,eACVgG,KAAK,mBACLoJ,YAAY,SACZkkB,OAAQF,EACRj0B,MAAO+H,EAAO81C,iBACd3tC,SAAU,SAACC,GACT4D,EAAc,mBAAoB5D,EAAEM,OAAOzQ,OAC3C4jB,QAMN,yBAAK/iB,UAAU,YACb,uBAAGA,UAAU,QAAb,qCAEA,2BACE+C,KAAK,OACL/C,UAAU,eACVgG,KAAK,kBACLoJ,YAAY,SACZkkB,OAAQF,EACRj0B,MAAO+H,EAAO61C,gBACd1tC,SAAU,SAACC,GACT4D,EAAc,kBAAmB5D,EAAEM,OAAOzQ,OAC1C4jB,c,sFClpBPoR,GAAyB,SACpCC,EACA5sB,EACA6sB,EAHoC,OAIlCwnB,EAJkC,EAIlCA,oBAAqBC,EAJa,EAIbA,wBAJa,OAMpC,oCACE,kBAACrC,GAAA,EAAD,CACEjtC,QAAS,kBAAC4wB,GAAA,EAAD,CAASh9B,GAAG,yBAAZ,iBAET,uBACEJ,UAAU,uDACVyM,QAAS,kBAAMovC,EAAoBr0C,EAAIpH,MAEvC,0BAAMJ,UAAU,yCACd,kBAAC,KAAD,CACEwI,IAAKC,aAAc,iDAM3B,yCACA,kBAACgxC,GAAA,EAAD,CACEjtC,QAAS,kBAAC4wB,GAAA,EAAD,CAASh9B,GAAG,2BAAZ,mBAET,uBACEJ,UAAU,iDACVyM,QAAS,kBAAMqvC,EAAwBt0C,EAAIpH,MAE3C,0BAAMJ,UAAU,wCACd,kBAAC,KAAD,CAAKwI,IAAKC,aAAc,6CCpC3B,SAASu1C,GAAoB5pB,EAAa5sB,GAC/C,IAAI2xB,EAAU,IAAIx3B,KAAK6F,EAAIqF,SAASysB,iBACpC,OACE,oCACC,8BAAOH,ICkBL,SAAS8kB,KAEd,IAAM9B,EAAoBX,IACpBY,EAAkBprB,mBAAQ,WAC9B,MAAO,CACL9L,IAAKi3B,EAAkBj3B,IACvBuK,OAAQ0sB,EAAkB1sB,OAC1BnK,YAAa62B,EAAkB72B,YAC/BoK,eAAgBysB,EAAkBzsB,eAClCmsB,oBAAqBM,EAAkBN,oBACvCC,wBAAyBK,EAAkBL,2BAE5C,CAACK,IAGI5nB,EAAiBjR,aACvB,SAAChE,GAAD,MAAY,CAAEiV,aAAcjV,EAAM2Y,YAClCxU,KAFM8Q,aAIA3Q,EAAsC2Q,EAAtC3Q,WAAYC,EAA0B0Q,EAA1B1Q,SAAUL,EAAgB+Q,EAAhB/Q,YAExB+B,EAAW0L,cACjBnd,qBAAU,WAERsoC,EAAgB3sB,OAAO,IAEvBlK,EAAStB,IAAsBm4B,EAAgB92B,gBAE9C,CAAC82B,EAAgB92B,YAAaC,IAElC,IAAMpZ,EAAU,CACb,CACEC,UAAW,KACXnN,KAAM,KACNyN,MAAM,EACNC,UAAWA,KACXC,2BAEF,CACER,UAAW,SACXnN,KAAM,SACNyN,MAAM,EACNC,UAAWA,KACXC,2BAEF,CACER,UAAW,oBACXnN,KAAM,iBACNyN,MAAM,EACNC,UAAWA,KACXC,2BAEF,CACER,UAAW,kBACXnN,KAAM,mBACNyN,MAAM,EACNC,UAAWA,KACXC,2BAEF,CACER,UAAW,UACXnN,KAAM,gBACNyN,MAAM,EACNC,UAAWA,KACXC,0BACAP,UAAUmoB,IAEZ,CACEpoB,UAAW,eACXnN,KAAM,WACNyN,MAAM,EACNC,UAAWA,KACXC,2BAEF,CACER,UAAW,gBACXnN,KAAM,YACNyN,MAAM,EACNC,UAAWA,KACXC,2BAEF,CACER,UAAW,sBACXnN,KAAM,wBACNyN,MAAM,EACNC,UAAWA,KACXC,2BAEF,CACER,UAAW,sBACXnN,KAAM,wBACNyN,MAAM,EACNC,UAAWA,KACXC,2BAEF,CACER,UAAW,mBACXnN,KAAM,uBACNyN,MAAM,EACNC,UAAWA,KACXC,2BAEF,CACER,UAAW,MACXnN,KAAM,MACNyN,MAAM,EACNC,UAAWA,KACXC,2BAEF,CACER,UAAW,cACXnN,KAAM,eACNyN,MAAM,EACNC,UAAWA,KACXC,0BACAP,UAAUmoB,IAEZ,CACEpoB,UAAW,QACXnN,KAAM,QACNyN,MAAM,EACNC,UAAWA,KACXC,2BAEF,CACER,UAAW,SACXnN,KAAM,UACNoN,UAAWmoB,GACXC,gBAAiB,CACfonB,oBAAqBO,EAAgBP,oBACrCC,wBAAyBM,EAAgBN,yBAE3Cv7C,QAAS,mBACTm0B,cAAe,mBACftwB,MAAO,CACLuS,SAAU,WAKVge,EAAoB,CACxBC,QAAQ,EACRC,UAAWjR,EACX2K,gBAAiBuG,EACjBC,YAAaqnB,EAAgB92B,YAAY0J,SACzCgG,KAAMonB,EAAgB92B,YAAYyJ,YAEpC,OACE,oCACE,kBAAC,qBAAD,CAAoBje,WAAYC,IAAkB4jB,KAC/C,YAAgD,IAA7CM,EAA4C,EAA5CA,gBAAiBC,EAA2B,EAA3BA,qBACnB,OACE,kBAAC,IAAD,CACE7R,UAAWG,EACXyR,gBAAiBA,GAEjB,kBAAC,IAAD,eACEjkB,eAAe,mBACfzQ,QAAQ,gDACR0Q,YAAU,EACVC,UAAU,EACVikB,QAAM,EACNxkB,SAAS,KACTpO,KAAmB,OAAbshB,EAAoB,GAAKA,EAC/B1X,QAASA,EACTyE,cAAekkB,EACfM,cAAeC,aACb+mB,EAAgB1sB,gBAElBgI,UAAWC,aAAa,CACtB9T,WACAqB,IAAKk3B,EAAgBl3B,IACrBuK,OAAQ2sB,EAAgB3sB,UAEtByF,GAEJ,kBAAC,KAAD,CAAmBrR,SAAUA,IAC7B,kBAAC,KAAD,CAAuBA,SAAUA,UCrM1C,SAASq6B,KAEd,IAAM/B,EAAoBX,IACpBY,EAAkBprB,mBAAQ,WAC9B,MAAO,CACL9L,IAAKi3B,EAAkBj3B,IACvBuK,OAAQ0sB,EAAkB1sB,OAC1BssB,yBAA0BI,EAAkBJ,yBAC5CC,wBAAyBG,EAAkBH,wBAC3CC,+BACEE,EAAkBF,kCAErB,CAACE,IAEJ,OACE,yBAAKn8C,UAAU,QACb,yBAAKA,UAAU,4EACb,yBAAKA,UAAU,aACb,yBAAKA,UAAU,gCACb,yBAAKA,UAAU,iCACb,2BAAOA,UAAU,2BACf,yDAC0B,2BAAIo8C,EAAgBl3B,IAAIrc,WAItD,oCASE,4BACE9F,KAAK,SACL/C,UAAU,wDACVyM,QAAS2vC,EAAgBJ,yBAEzB,uBAAGh8C,UAAU,iBALf,mBATF,OAiBE,4BACE+C,KAAK,SACL/C,UAAU,wDACVyM,QAAS2vC,EAAgBH,gCAEzB,uBAAGj8C,UAAU,mBALf,uBClCP,SAASm+C,KACd,IAAMhC,EAAoBX,IACpBY,EAAkBprB,mBAAQ,WAC9B,MAAO,CACL9L,IAAKi3B,EAAkBj3B,IACvBI,YAAa62B,EAAkB72B,YAC/BoK,eAAgBysB,EAAkBzsB,eAClCksB,sBAAuBO,EAAkBP,sBACzCG,yBAA0BI,EAAkBJ,yBAC5CF,oBAAqBM,EAAkBN,oBACvCI,+BACEE,EAAkBF,+BACpBD,wBAAyBG,EAAkBH,2BAE5C,CAACG,IAEJ,OACE,kBAAC,IAAD,KACE,kBAAC,IAAD,CAAY/8B,MAAM,iBAChB,kBAAC,IAAD,KAEE,4BACErc,KAAK,SACL/C,UAAU,kBACVyM,QAAS2vC,EAAgBR,uBAH3B,iBASJ,kBAAC,IAAD,KACE,kBAACiB,EAAD,MACCT,EAAgBl3B,IAAIrc,OAAS,GAC5B,oCACE,kBAACq1C,GAAD,OAGJ,kBAACD,GAAD,QCvCD,SAASG,GAAT,GAAwC,IAAZ3oB,EAAW,EAAXA,QAC3BimB,EAAmB,CACvBE,sBAAuB,WACrBnmB,EAAQ3sB,KAAK,sBAEf+yC,oBAAqB,SAACz7C,GACpBq1B,EAAQ3sB,KAAR,wBAA8B1I,EAA9B,WAEF07C,wBAAyB,SAAC17C,GACxBq1B,EAAQ3sB,KAAR,wBAA8B1I,EAA9B,aAEF27C,yBAA0B,WACxBtmB,EAAQ3sB,KAAR,iCAEFkzC,wBAAyB,WACvBvmB,EAAQ3sB,KAAR,wBAEFmzC,+BAAgC,WAC9BxmB,EAAQ3sB,KAAK,gCAIjB,OACE,kBAAC2yC,EAAD,CAAoBC,iBAAkBA,GACpC,kBAACP,EAAD,MACA,kBAAC,IAAD,CAAOltC,KAAK,iCACT,gBAAGwnB,EAAH,EAAGA,QAAS1pB,EAAZ,EAAYA,MAAZ,OACC,kBAACswC,EAAD,CACEjrC,KAAe,MAATrF,EACNsF,OAAQ,WACNokB,EAAQ3sB,KAAK,uBAKrB,kBAAC,IAAD,CAAOmF,KAAK,6BACT,gBAAGwnB,EAAH,EAAGA,QAAS1pB,EAAZ,EAAYA,MAAZ,OACC,kBAACmwC,EAAD,CACE9qC,KAAe,MAATrF,EACN3L,GAAI2L,GAASA,EAAM2pB,OAAOt1B,GAC1BiR,OAAQ,WACNokB,EAAQ3sB,KAAK,uBAKrB,kBAAC,IAAD,CAAOmF,KAAK,wBACT,gBAAGwnB,EAAH,EAAGA,QAAS1pB,EAAZ,EAAYA,MAAZ,OACC,kBAAC0wC,EAAD,CACErrC,KAAe,MAATrF,EACNsF,OAAQ,WACNokB,EAAQ3sB,KAAK,uBAKrB,kBAAC,IAAD,CAAOmF,KAAK,+BACT,gBAAGwnB,EAAH,EAAGA,QAAS1pB,EAAZ,EAAYA,MAAZ,OACC,kBAAC6wC,EAAD,CACExrC,KAAe,MAATrF,EACNsF,OAAQ,WACNokB,EAAQ3sB,KAAK,uBAKrB,kBAACq1C,GAAD,OA5EN,oC,6ECIO,SAAS/6B,IAEd,IAAQC,EAAcC,aACpB,SAAChE,GAAD,MAAY,CAAE+D,UAAW/D,EAAMiE,UAAUC,eACzCC,KAFMJ,UAMR,OADAvP,qBAAU,cAAU,CAACuP,IACd,kBAAC,IAAD,CAAeA,UAAWA,EAAWpkB,KAAK,gB,qDCL5C,SAASonB,EAAT,GAAmD,IAAfjmB,EAAc,EAAdA,GAAIiR,EAAU,EAAVA,OAE7C,EAA4CiS,aAC1C,SAAChE,GAAD,MAAY,CACVwE,gBAAiBxE,EAAMiE,UAAUO,gBACjCvC,eAAgBjC,EAAMiE,UAAUhC,kBAElCkC,KALMK,EAAR,EAAQA,gBAAiBvC,EAAzB,EAAyBA,eAQzB,EAA0BvU,mBAAS,IAAnC,mBAAOoS,EAAP,KAAckH,EAAd,KAYA,OAVAxS,qBAAU,WACR,IAAIyS,EAASnmB,EAAK,GAAK,UACnB0jB,GAAmB1jB,IACrBmmB,EAAM,oBAAgBzC,EAAgBjgB,KAAhC,MAGRyiB,EAASC,KAER,CAACzC,EAAiBvC,IAGnB,oCACGA,GAAkB,kBAAC,IAAD,MACnB,kBAACkF,EAAA,EAAMlV,OAAP,KACE,kBAACkV,EAAA,EAAM9U,MAAP,CAAavR,GAAG,gCAAgCgf,GAChD,kBAACie,EAAA,EAAD,CAEE7rB,aAAW,QACX/E,QAAS,SAAC6C,GACR+B,GAAO,KAGT,kBAAC,IAAD,S,oBC1BJ4P,EAAqBC,MAAaC,MAAM,CAC5Ctd,KAAMqd,MACH4U,IAAI,EAAG,qBACPC,IAAI,GAAI,sBACRnjB,SAAS,sBAGP,SAASwO,EAAT,GAKH,IAJFC,EAIC,EAJDA,aACAC,EAGC,EAHDA,SACAC,EAEC,EAFDA,eACAlQ,EACC,EADDA,OAEA,OACE,oCACE,kBAAC,IAAD,CACEkR,oBAAoB,EACpBC,cAAelB,EACfmB,iBAAkBxB,EAClByB,SAAU,SAACxb,GACTma,EAAana,MAGd,gBAAG6b,EAAH,EAAGA,aAAH,OACC,oCACE,kBAAC0D,EAAA,EAAMhV,KAAP,CAAYzR,UAAU,yBACnBuhB,GACC,yBAAKvhB,UAAU,gCACb,yBAAKA,UAAU,wCAGnB,kBAAC,IAAD,CAAMA,UAAU,yBACd,yBAAKA,UAAU,kBAEb,yBAAKA,UAAU,YACb,kBAAC,IAAD,CACEgG,KAAK,OACL0I,UAAW2f,IACXjf,YAAY,OACZ5L,MAAM,UAGV,yBAAKxD,UAAU,aACb,8CACA,kBAAC,IAAD,CACEgG,KAAK,cACL3F,GAAG,WACHL,UAAU,qBAOpB,kBAACymB,EAAA,EAAM/U,OAAP,KACE,4BACE3O,KAAK,SACL0J,QAAS4E,EACTrR,UAAU,6BAHZ,UAOA,yCACA,4BACE+C,KAAK,SACL0J,QAAS,kBAAMsW,KACf/iB,UAAU,+BAHZ,c,YC9EDsuB,EAA2B,CAAC,SAAU,UAAW,OAAQ,IAIzD1d,EAAgB,CAAC,CAAExE,UAAW,KAAMyE,MAAO,SAC3C0d,EAAkB,CAC7B,CAAEtvB,KAAM,IAAKE,MAAO,GACpB,CAAEF,KAAM,IAAKE,MAAO,GACpB,CAAEF,KAAM,KAAME,MAAO,KAEVqvB,EAAgB,CAC3Bjf,OAAQ,CACNkf,SAAU,GACVC,UAAW,GACXC,MAAO,GACPC,UAAW,IAEbC,UAAW,MACXC,UAAW,KACXC,WAAY,EACZC,SAAU,IChBNC,EAAqBC,0BAEpB,SAASC,IACd,OAAOC,qBAAWH,GAGeA,EAAmBI,SAE/C,SAASC,EAAT,GAA6D,IAA/BC,EAA8B,EAA9BA,kBAAmB7G,EAAW,EAAXA,SACtD,EAA0C1b,mBAASwhB,GAAnD,mBAAOlJ,EAAP,KAAoBkK,EAApB,KACA,EAAsBxiB,mBAAS,IAA/B,mBAAOkY,EAAP,KAAYuK,EAAZ,KACMC,EAAiBC,uBAAY,SAAAC,GACjCJ,GAAmB,SAAAK,GAKjB,OAJIC,qBAAWF,KACbA,EAAkBA,EAAgBC,IAGhCE,kBAAQF,EAAiBD,GACpBC,EAGFD,OAER,IAeGzwB,EAAQ,CACZmmB,cACAkK,qBACAtK,MACAuK,SACAC,iBACAM,aAnBmB,CACnB5vB,QAAI0F,EACJ4oB,UAAW,GACXD,SAAU,GACVE,MAAO,GACPwB,SAAU,GACVC,OAAQ,SACRrb,OAAQ,EACRsb,aAAc,GACdzB,UAAW,GACX7rB,KAAM,GAUNutB,uBAAwBf,EAAkBe,uBAC1CC,uBAAwBhB,EAAkBgB,uBAC1CC,yBAA0BjB,EAAkBiB,yBAC5CC,0BAA2BlB,EAAkBkB,0BAC7CC,yBAA0BnB,EAAkBmB,yBAC5CC,gCAAiCpB,EAAkBoB,iCAGrD,OAAO,kBAAC1B,EAAmB2B,SAApB,CAA6BzxB,MAAOA,GAAQupB,GCjD9C,SAASmI,EAAT,GAAmD,IAArBzwB,EAAoB,EAApBA,GAAIgR,EAAgB,EAAhBA,KAAMC,EAAU,EAAVA,OAEvCyf,EAAqB3B,IACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACLhB,aAAcc,EAAmBd,gBAElC,CAACc,IAGEvL,EAAW0L,cACjB,EAA4C3N,aAC1C,SAAChE,GAAD,MAAY,CACViC,eAAgBjC,EAAMiE,UAAUhC,eAChCuC,gBAAiBxE,EAAMiE,UAAUO,mBAEnCL,KALMlC,EAAR,EAAQA,eAAgBuC,EAAxB,EAAwBA,gBAQxBhQ,qBAAU,WAERyR,EAAStB,IAAsB7jB,MAC9B,CAACA,EAAImlB,IAaR,OACE,kBAACkB,EAAA,EAAD,CACEtV,KAAK,KACLC,KAAMA,EACNC,OAAQA,EACRC,kBAAgB,gCAEhB,kBAAC+U,EAAD,CAA0BjmB,GAAIA,EAAIiR,OAAQA,IAC1C,kBAAC+P,EAAD,CACEC,aAnBe,SAACC,GACflhB,EAKHmlB,EAAStB,IAAuB3C,IAAW1M,MAAK,kBAAMvD,OAHtDkU,EAAStB,IAAuB3C,IAAW1M,MAAK,kBAAMvD,QAiBpDkQ,eAAgBA,EAChBD,SAAUwC,GAAmBiN,EAAiBf,aAC9C3e,OAAQA,KChDT,SAAS6f,EAAT,GAAqD,IAArB9wB,EAAoB,EAApBA,GAAIgR,EAAgB,EAAhBA,KAAMC,EAAU,EAAVA,OAEzCyf,EAAqB3B,IACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACLvB,OAAQqB,EAAmBrB,OAC3BnK,YAAawL,EAAmBxL,eAEjC,CAACwL,IAGEvL,EAAW0L,cACT5N,EAAcC,aACpB,SAAChE,GAAD,MAAY,CAAE+D,UAAW/D,EAAMiE,UAAUhC,kBACzCkC,KAFMJ,UAMRvP,qBAAU,WACH1T,GACHiR,MAGD,CAACjR,IAGJ0T,qBAAU,cAAU,CAACuP,EAAWkC,IAchC,OACE,kBAACkB,EAAA,EAAD,CACErV,KAAMA,EACNC,OAAQA,EACRC,kBAAgB,gCAGf+R,GAAa,kBAAC,IAAD,MAEd,kBAACoD,EAAA,EAAMlV,OAAP,CAAcmV,aAAW,GACvB,kBAACD,EAAA,EAAM9U,MAAP,CAAavR,GAAG,gCAAhB,eAIF,kBAACqmB,EAAA,EAAMhV,KAAP,MACI4R,GACA,2FAEDA,GAAa,qDAEhB,kBAACoD,EAAA,EAAM/U,OAAP,KACE,6BACE,4BACE3O,KAAK,SACL0J,QAAS4E,EACTrR,UAAU,6BAHZ,UAOA,yCACA,4BACE+C,KAAK,SACL0J,QA5Ca,WAErB8Y,EAAStB,IAAuB7jB,IAAKwU,MAAK,WAExC2Q,EAAStB,IAAuB8M,EAAiBzL,cAEjDyL,EAAiBtB,OAAO,IAExBpe,QAqCMrR,UAAU,8BAHZ,aCtEH,SAASmxB,EAAT,GAAkD,IAAjB/f,EAAgB,EAAhBA,KAAMC,EAAU,EAAVA,OAEtCyf,EAAqB3B,IACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACL9L,IAAK4L,EAAmB5L,IACxBuK,OAAQqB,EAAmBrB,OAC3BnK,YAAawL,EAAmBxL,eAEjC,CAACwL,IAGEvL,EAAW0L,cACT5N,EAAcC,aACpB,SAAChE,GAAD,MAAY,CAAE+D,UAAW/D,EAAMiE,UAAUhC,kBACzCkC,KAFMJ,UAMRvP,qBAAU,WACHid,EAAiB7L,KAAuC,IAAhC6L,EAAiB7L,IAAIrc,QAChDwI,MAGD,CAAC0f,EAAiB7L,MAGrBpR,qBAAU,cAAU,CAACuP,EAAWkC,IAiBhC,OACE,kBAACkB,EAAA,EAAD,CACErV,KAAMA,EACNC,OAAQA,EACRC,kBAAgB,gCAGf+R,GAAa,kBAAC,IAAD,MAEd,kBAACoD,EAAA,EAAMlV,OAAP,CAAcmV,aAAW,GACvB,kBAACD,EAAA,EAAM9U,MAAP,CAAavR,GAAG,gCAAhB,qBAIF,kBAACqmB,EAAA,EAAMhV,KAAP,MACI4R,GACA,wFAEDA,GAAa,2DAEhB,kBAACoD,EAAA,EAAM/U,OAAP,KACE,6BACE,4BACE3O,KAAK,SACL0J,QAAS4E,EACTrR,UAAU,6BAHZ,UAOA,yCACA,4BACE+C,KAAK,SACL0J,QA/Cc,WAEtB8Y,EAAStB,IAAwB8M,EAAiB7L,MAAMtQ,MAAK,WAE3D2Q,EAAStB,IAAuB8M,EAAiBzL,cAAc1Q,MAC7D,WAEEmc,EAAiBtB,OAAO,IAExBpe,WAuCErR,UAAU,+BAHZ,aC3EV,IAAMoxB,EAAoB,SAACvN,EAAUqB,GACnC,IAAMmM,EAAa,GAOnB,OANAnM,EAAIhkB,SAAQ,SAACd,GACX,IAAMkhB,EAAWuC,EAASV,MAAK,SAAC6B,GAAD,OAAQA,EAAG5kB,KAAOA,KAC7CkhB,GACF+P,EAAWvoB,KAAKwY,MAGb+P,GAGF,SAASC,EAAT,GAAiD,IAAjBlgB,EAAgB,EAAhBA,KAAMC,EAAU,EAAVA,OAErCyf,EAAqB3B,IACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACL9L,IAAK4L,EAAmB5L,OAEzB,CAAC4L,IAGIvN,EAAcD,aACpB,SAAChE,GAAD,MAAY,CACViE,UAAW6N,EACT9R,EAAMiE,UAAUM,SAChBkN,EAAiB7L,QAGrBzB,KAPMF,UAkBR,OAPAzP,qBAAU,WACHid,EAAiB7L,KAAuC,IAAhC6L,EAAiB7L,IAAIrc,QAChDwI,MAGD,CAAC0f,EAAiB7L,MAGnB,kBAACuB,EAAA,EAAD,CACErV,KAAMA,EACNC,OAAQA,EACRC,kBAAgB,gCAEhB,kBAACmV,EAAA,EAAMlV,OAAP,CAAcmV,aAAW,GACvB,kBAACD,EAAA,EAAM9U,MAAP,CAAavR,GAAG,gCAAhB,4BAIF,kBAACqmB,EAAA,EAAMhV,KAAP,KACE,yBAAKzR,UAAU,4BACZujB,EAAUxf,KAAI,SAACud,GAAD,OACb,yBAAKthB,UAAU,kCAAkCsH,IAAG,YAAOga,EAASlhB,KAClE,yBAAKJ,UAAU,gFACf,yBAAKA,UAAU,kBACb,uBACEA,UAAS,gCACPsuB,EAAyBhN,EAASvM,QAD3B,gBAKb,yBAAK/U,UAAU,sCACb,0BACIA,UAAS,qCACPsuB,EAAyBhN,EAASvM,QAD3B,kBADb,OAKSuM,EAASlhB,IAElB,0BAAMJ,UAAU,QAAQshB,EAASmN,SAAjC,KAA6CnN,EAASoN,kBAMhE,kBAACjI,EAAA,EAAM/U,OAAP,KACE,6BACE,4BACE3O,KAAK,SACL0J,QAAS4E,EACTrR,UAAU,6BAHZ,UAOA,yCACA,4BACE+C,KAAK,SACL0J,QAAS4E,EACTrR,UAAU,+BAHZ,SCrFV,IAAMoxB,EAAoB,SAACvN,EAAUqB,GACnC,IAAMmM,EAAa,GAOnB,OANAnM,EAAIhkB,SAAQ,SAACd,GACX,IAAMkhB,EAAWuC,EAASV,MAAK,SAAC6B,GAAD,OAAQA,EAAG5kB,KAAOA,KAC7CkhB,GACF+P,EAAWvoB,KAAKwY,MAGb+P,GAGF,SAASE,EAAT,GAAuD,IAAjBngB,EAAgB,EAAhBA,KAAMC,EAAU,EAAVA,OAE3Cyf,EAAqB3B,IACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACL9L,IAAK4L,EAAmB5L,IACxBuK,OAAQqB,EAAmBrB,OAC3BnK,YAAawL,EAAmBxL,eAEjC,CAACwL,IAGJ,EAAiCxN,aAC/B,SAAChE,GAAD,MAAY,CACViE,UAAW6N,EACT9R,EAAMiE,UAAUM,SAChBkN,EAAiB7L,KAEnB7B,UAAW/D,EAAMiE,UAAUhC,kBAE7BkC,KARMF,EAAR,EAAQA,UAAWF,EAAnB,EAAmBA,UAYnBvP,qBAAU,WACHid,EAAiB7L,KAAuC,IAAhC6L,EAAiB7L,IAAIrc,QAChDwI,MAGD,CAAC0f,EAAiB7L,MAErB,MAA4BlY,mBAAS,GAArC,mBAAO+H,EAAP,KAAeyc,EAAf,KAEMjM,EAAW0L,cAkBjB,OACE,kBAACxK,EAAA,EAAD,CACErV,KAAMA,EACNC,OAAQA,EACRC,kBAAgB,gCAEhB,kBAACmV,EAAA,EAAMlV,OAAP,CAAcmV,aAAW,GACvB,kBAACD,EAAA,EAAM9U,MAAP,CAAavR,GAAG,gCAAhB,mDAIF,kBAACqmB,EAAA,EAAMhV,KAAP,CAAYzR,UAAU,yBAEnBqjB,GACC,yBAAKrjB,UAAU,iBACb,yBAAKA,UAAU,wCAKnB,yBAAKA,UAAU,4BACZujB,EAAUxf,KAAI,SAACud,GAAD,OACb,yBACEthB,UAAU,kCACVsH,IAAG,yBAAoBga,EAASlhB,KAEhC,yBAAKJ,UAAU,gFACf,yBAAKA,UAAU,kBACb,uBACEA,UAAS,gCACPsuB,EAAyBhN,EAASvM,QAD3B,gBAKb,yBAAK/U,UAAU,sCACb,0BACEA,UAAS,qCACPsuB,EAAyBhN,EAASvM,QAD3B,kBADX,OAKOuM,EAASlhB,IAEhB,0BAAMJ,UAAU,QACbshB,EAASmN,SADZ,KACwBnN,EAASoN,kBAO3C,kBAACjI,EAAA,EAAM/U,OAAP,CAAc1R,UAAU,QACtB,yBAAKA,UAAU,cACb,4BACEA,UAAU,eACVb,MAAO4V,EACP1F,SAAU,SAACC,GAAD,OAAOkiB,GAAWliB,EAAEM,OAAOzQ,SAErC,4BAAQA,MAAM,KAAd,aACA,4BAAQA,MAAM,KAAd,UACA,4BAAQA,MAAM,KAAd,aAGJ,yBAAKa,UAAU,cACb,4BACE+C,KAAK,SACL0J,QAAS4E,EACTrR,UAAU,kCAHZ,UAOA,4BACE+C,KAAK,SACL0J,QAzFW,WAEnB8Y,EAAStB,IAA8B8M,EAAiB7L,IAAKnQ,IAASH,MACpE,WAEE2Q,EAAStB,IAAuB8M,EAAiBzL,cAAc1Q,MAC7D,WAEEmc,EAAiBtB,OAAO,IAExBpe,WAgFArR,UAAU,+BAHZ,oB,o6MCzHV,IAAMyxB,EAAaC,YAAW,CAC5Brb,MAAO,CACLzC,OAAQ,sBAFO8d,EAIhB,SAAA3xB,GAAK,OACN,kBAACS,EAAA,EAAD,eACEmxB,UAAW,EACXC,mBAAoB,KACpBC,aAAc,CACZC,SAAU,SACVC,WAAY,UAEdC,gBAAiB,CACfF,SAAU,MACVC,WAAY,WAEVhyB,OAGFkyB,EAAiBP,aAAW,SAAAxb,GAAK,MAAK,CAC1CC,KAAM,CACJ,UAAW,CACTyR,gBAAiB1R,EAAM4R,QAAQqD,QAAQ+G,KACvC,sDAAuD,CACrDnjB,MAAOmH,EAAM4R,QAAQqK,OAAOC,YALbV,CASnB1H,KACc/T,aAAW,SAAAC,GAAK,MAAK,CACrCa,OAAQ,CACNC,OAAQd,EAAMK,QAAQ,IAExBU,SAAU,CACRC,YAAahB,EAAMK,QAAQ,IAE7BY,UAAW,CACTC,WAAYlB,EAAMK,QAAQ,IAE5Bc,UAAW,CACThT,SAAU,QAiBP,SAASguB,EAAT,GAA0C,EAAf7O,YAAgB,IAE1CsN,EAAqB3B,IAC3B,EAAsCniB,mBAAS,IAA/C,mBAAOslB,EAAP,KAAoBC,EAApB,KAEMxB,EAAmBC,mBAAQ,WAC/B,MAAO,CACL1L,YAAawL,EAAmBxL,YAChCoK,eAAgBoB,EAAmBpB,kBAEpC,CAACoB,IAGE0B,EAAc,SAACtrB,GACnB,IAAMurB,EA5BY,SAACnN,EAAape,GAClC,IAASwrB,EAA2BxrB,EAA3BwrB,WAAWC,EAAgBzrB,EAAhByrB,YACdF,EAAc,eAAQnN,GACtB/V,EAAS,GAQf,OAPAA,EAAOojB,YAAcA,IAAe,EAEpCpjB,EAAO1L,KAAO6uB,EACVA,IACFnjB,EAAO1L,KAAO6uB,GAEhBD,EAAeljB,OAASA,EACjBkjB,EAiBkBG,CAAc7B,EAAiBzL,YAAape,GAC9D6oB,kBAAQ0C,EAAgB1B,EAAiBzL,eAC5CmN,EAAe1D,WAAa,EAE5BwD,EAAeE,GAEf1B,EAAiBrB,eAAe+C,KAc9BlyB,EAXY0V,aAAW,SAAAC,GAAK,MAAK,CACrC0V,UAAW,CACTzE,QAAS,OACTG,SAAU,QAEZuE,UAAW,CACTzU,WAAYlB,EAAMK,QAAQ,GAC1BW,YAAahB,EAAMK,QAAQ,GAC3BH,MAAO,QAGKkB,GAChB,EAAgCoT,IAAM1d,SAAS,MAA/C,mBAAO6lB,EAAP,KAAiBC,EAAjB,KACA,SAASC,EAAY9e,GACnB6e,EAAY7e,EAAM+e,eAEpB,SAASC,IACPH,EAAY,MAxCiC,SA2ChCI,EA3CgC,gFA2C/C,WAA2BnwB,EAAMowB,GAAjC,gFACM5jB,EAAS+iB,GADf,uBAGI/iB,EAAOyf,SAAS,IAHpB,SAIyB1M,IAAMkD,KAAN,uBAAmC,CAAE,YAAejW,IAJ7E,OAIUJ,EAJV,OAKIzO,YAAOyO,EAAO5M,KAAKshB,SAAU9gB,EAAMowB,GALvC,wCAOyB7Q,IAAMkD,KAAN,uBAAmC,CAAE,YAAe,CAAE,OAAU,CAAE,aAAe,GAAS,UAAa,MAAO,UAAa,KAAM,WAAc,EAAG,SAAY,OAPvL,QAOUrW,EAPV,OAQIzO,YAAOyO,EAAO5M,KAAKshB,SAAU9gB,EAAMowB,GARvC,6CA3C+C,sBAsD/C,OACE,oCACE,kBAAC,IAAD,CACE3Q,cAAe,CACbzN,OAAQ,GACRhS,KAAM,GACN2vB,WAAY,IAEdhQ,SAAU,SAACxb,GACTsrB,EAAYtrB,MAGb,gBACCA,EADD,EACCA,OACA6b,EAFD,EAECA,aACAqQ,EAHD,EAGCA,WAEAlgB,GALD,EAICmgB,aAJD,EAKCngB,eALD,OAOC,0BAAMwP,SAAUK,EAAc/iB,UAAU,yBACtC,2BACE+C,KAAK,SACL/C,UAAU,SACVI,GAAG,gBACHqM,QAAS,SAAC6C,GACc,KAAlBA,EAAEM,OAAOzQ,MACXX,SAASsR,eAAe,iBAAiB3Q,MAAQ,EAC9CX,SAASsR,eAAe,iBAAiB3Q,MAAQ,EACtD+T,EAAc,cAAe5D,EAAEM,OAAOzQ,OACtC4jB,OAGJ,yBAAK/iB,UAAU,kBACb,yBAAKA,UAAU,YACb,2BACE+C,KAAK,OACL/C,UAAU,eACVgG,KAAK,aACLoJ,YAAY,SACZkkB,OAAQF,EACRj0B,MAAO+H,EAAOwrB,WACdrjB,SAAU,SAACC,GACT4D,EAAc,aAAc5D,EAAEM,OAAOzQ,OACrC4jB,OAGJ,2BAAO/iB,UAAU,wBACf,qCADF,mBAIF,yBAAKA,UAAU,aAGf,yBAAKA,UAAU,YACf,kBAACuzB,EAAA,EAAD,CAAevzB,UAAU,gCACnB,kBAACwzB,EAAA,EAAD,CAAQpvB,MAAO,CAAEwS,OAAQ,QAEvB6c,gBAAc,kBACdC,gBAAc,OACdC,QAAQ,WAAW5kB,MAAM,UACzBtC,QAASsmB,GALX,YAQgC,kBAACa,EAAA,EAAD,CAAM5zB,UAAWO,EAAQ4W,WAAzB,SAGhC,kBAACsa,EAAD,CACErxB,GAAG,kBACHyyB,SAAUA,EACVgB,aAAW,EACXC,KAAMC,QAAQlB,GACdmB,QAASf,GAET,kBAAChB,EAAD,CAAgBxlB,QAAS,SAACwH,GACxBif,EAAY,QAAS,gBAGrB,kBAACe,EAAA,EAAD,KACE,uBAAG9vB,MAAM,uBAEX,kBAAC+vB,EAAA,EAAD,CAAc/I,QAAQ,WAGxB,kBAAC8G,EAAD,CAAgBxlB,QAAS,SAACwH,GACxBif,EAAY,MAAO,gBAEnB,kBAACe,EAAA,EAAD,KACE,uBAAG9vB,MAAM,qBAEX,kBAAC+vB,EAAA,EAAD,CAAc/I,QAAQ,SAGxB,kBAAC8G,EAAD,CAAgBxlB,QAAS,SAACwH,GACxBif,EAAY,OAAQ,gBAEpB,kBAACe,EAAA,EAAD,KACE,uBAAG9vB,MAAM,sBAGX,kBAAC+vB,EAAA,EAAD,CAAc/I,QAAQ,mB,0EC7NvC,SAASgJ,GACdC,EACA5sB,EACA6sB,EAHK,GAKJ,IADC9D,EACF,EADEA,uBAAwBC,EAC1B,EAD0BA,yBAE1B,OACE,oCACE,uBACEpR,MAAM,WACNpf,UAAU,uDACVyM,QAAS,kBAAM8jB,EAAuB/oB,EAAIpH,MAE1C,0BAAMJ,UAAU,yCACd,kBAAC,KAAD,CACEwI,IAAKC,aAAc,gDAIzB,yCAEA,uBACE2W,MAAM,aACNpf,UAAU,iDACVyM,QAAS,kBAAM+jB,EAAyBhpB,EAAIpH,MAE5C,0BAAMJ,UAAU,wCACd,kBAAC,KAAD,CAAKwI,IAAKC,aAAc,2CCX3B,SAAS6rB,KAEd,IAAMxD,EAAqB3B,IACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACL9L,IAAK4L,EAAmB5L,IACxBuK,OAAQqB,EAAmBrB,OAC3BnK,YAAawL,EAAmBxL,YAChCoK,eAAgBoB,EAAmBpB,eACnCa,uBAAwBO,EAAmBP,uBAC3CC,yBAA0BM,EAAmBN,4BAE9C,CAACM,IAGIyD,EAAiBjR,aACvB,SAAChE,GAAD,MAAY,CAAEiV,aAAcjV,EAAMiE,aAClCE,KAFM8Q,aAIA3Q,EAAsC2Q,EAAtC3Q,WAAYC,EAA0B0Q,EAA1B1Q,SAAUL,EAAgB+Q,EAAhB/Q,YAGxB+B,EAAW0L,cACjBnd,qBAAU,WAERid,EAAiBtB,OAAO,IAExBlK,EAAStB,IAAuB8M,EAAiBzL,gBAEhD,CAACyL,EAAiBzL,YAAaC,IAElC,IAAMpZ,EAAU,CACd,CACEC,UAAW,KACXnN,KAAM,KACNyN,MAAM,EACNC,UAAWA,KACXC,2BAEF,CACER,UAAW,OACXnN,KAAM,OACNyN,MAAM,EACNC,UAAWA,KACXC,2BAEF,CACER,UAAW,cACXnN,KAAM,cACNyN,MAAM,EACNC,UAAWA,KACXC,2BAEF,CACER,UAAW,SACXnN,KAAM,UACNoN,UAAWmoB,GACXC,gBAAiB,CACflE,uBAAwBQ,EAAiBR,uBACzCC,yBAA0BO,EAAiBP,0BAE7CjwB,QAAS,mBACTm0B,cAAe,mBACftwB,MAAO,CACLuS,SAAU,WAKVge,EAAoB,CACxBC,QAAQ,EACRC,UAAWjR,EACX2K,gBAAiBuG,EACjBC,YAAahE,EAAiBzL,YAAY0J,SAC1CgG,KAAMjE,EAAiBzL,YAAYyJ,YAErC,OACE,oCACE,kBAAC,sBAAD,CAAoBje,WAAYC,KAAkB4jB,KAC/C,YAAgD,IAA7CM,EAA4C,EAA5CA,gBAAiBC,EAA2B,EAA3BA,qBACnB,OACE,kBAAC,IAAD,CACE7R,UAAWG,EACXyR,gBAAiBA,GAEjB,kBAAC,KAAD,eACEjkB,eAAe,mBACfE,UAAU,EACV3Q,QAAQ,gDACR0Q,YAAU,EACVkkB,QAAM,EACNxkB,SAAS,KACTpO,KAAmB,OAAbshB,EAAoB,GAAKA,EAC/B1X,QAASA,EACTyE,cAAekkB,EACfM,cAAeC,aACbtE,EAAiBrB,iBAEfwF,GAEJ,kBAAC,KAAD,CAAmBrR,SAAUA,IAC7B,kBAAC,KAAD,CAAuBA,SAAUA,UCzH1C,SAASyR,KAEd,IAAMxE,EAAqB3B,IACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACL9L,IAAK4L,EAAmB5L,IACxBuK,OAAQqB,EAAmBrB,OAC3BgB,0BAA2BK,EAAmBL,0BAC9CC,yBAA0BI,EAAmBJ,yBAC7CC,gCACEG,EAAmBH,mCAEtB,CAACG,IAEJ,OACE,yBAAK9wB,UAAU,QACb,yBAAKA,UAAU,4EACb,yBAAKA,UAAU,aACb,yBAAKA,UAAU,gCACb,yBAAKA,UAAU,iCACb,2BAAOA,UAAU,yBACf,yDAC0B,2BAAI+wB,EAAiB7L,IAAIrc,WAIvD,6BACE,4BACE9F,KAAK,SACL/C,UAAU,iDACVyM,QAASskB,EAAiBN,2BAE1B,uBAAGzwB,UAAU,gBALf,eADF,OASE,4BACE+C,KAAK,SACL/C,UAAU,wDACVyM,QAASskB,EAAiBL,0BAE1B,uBAAG1wB,UAAU,iBALf,mBATF,OAiBE,4BACE+C,KAAK,SACL/C,UAAU,wDACVyM,QAASskB,EAAiBJ,iCAE1B,uBAAG3wB,UAAU,mBALf,uB,aCjCP,SAASu1B,KACd,IAAMzE,EAAqB3B,IACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACL9L,IAAK4L,EAAmB5L,IACxBoL,uBAAwBQ,EAAmBR,0BAE5C,CAACQ,IAEJ,OACE,oCACA,kBAACqQ,GAAA,EAAD,KACI,uDACA,0BAAMn7B,KAAK,cAAc4a,QAAQ,iCAErC,kBAAC,IAAD,KACE,kBAAC,IAAD,CAAYxB,MAAM,cAChB,kBAAC,IAAD,KACE,4BACErc,KAAK,SACL/C,UAAU,kBACVyM,QAASskB,EAAiBT,wBAH5B,aASJ,kBAAC,IAAD,KACE,kBAAC+B,EAAD,MACCtB,EAAiB7L,IAAIrc,OAAS,GAAK,kBAACysB,GAAD,MACpC,kBAAChB,GAAD,SChCD,SAAS+pB,GAAT,GAAqC,IAAZ5oB,EAAW,EAAXA,QACxBlG,EAAoB,CACxBe,uBAAwB,WACtBmF,EAAQ3sB,KAAK,6BAEfynB,uBAAwB,SAACnwB,GACvBq1B,EAAQ3sB,KAAR,+BAAqC1I,EAArC,WAEFowB,yBAA0B,SAACpwB,GACzBq1B,EAAQ3sB,KAAR,+BAAqC1I,EAArC,aAEFqwB,0BAA2B,WACzBgF,EAAQ3sB,KAAR,yCAEF4nB,yBAA0B,WACxB+E,EAAQ3sB,KAAR,+BAEF6nB,gCAAiC,WAC/B8E,EAAQ3sB,KAAK,uCAIjB,OACE,kBAACwmB,EAAD,CAAqBC,kBAAmBA,GACtC,kBAACnM,EAAD,MACA,kBAAC,IAAD,CAAOnV,KAAK,6BACT,gBAAGwnB,EAAH,EAAGA,QAAS1pB,EAAZ,EAAYA,MAAZ,OACC,kBAAC8kB,EAAD,CACEzf,KAAe,MAATrF,EACNsF,OAAQ,WACNokB,EAAQ3sB,KAAK,8BAKrB,kBAAC,IAAD,CAAOmF,KAAK,kCACT,gBAAGwnB,EAAH,EAAGA,QAAS1pB,EAAZ,EAAYA,MAAZ,OACC,kBAAC8kB,EAAD,CACEzf,KAAe,MAATrF,EACN3L,GAAI2L,GAASA,EAAM2pB,OAAOt1B,GAC1BiR,OAAQ,WACNokB,EAAQ3sB,KAAK,8BAKrB,kBAAC,IAAD,CAAOmF,KAAK,yCACT,gBAAGwnB,EAAH,EAAGA,QAAS1pB,EAAZ,EAAYA,MAAZ,OACC,kBAAColB,EAAD,CACE/f,KAAe,MAATrF,EACNsF,OAAQ,WACNokB,EAAQ3sB,KAAK,8BAKrB,kBAAC,IAAD,CAAOmF,KAAK,oCACT,gBAAGwnB,EAAH,EAAGA,QAAS1pB,EAAZ,EAAYA,MAAZ,OACC,kBAACmlB,EAAD,CACE9f,KAAe,MAATrF,EACN3L,GAAI2L,GAASA,EAAM2pB,OAAOt1B,GAC1BiR,OAAQ,WACNokB,EAAQ3sB,KAAK,8BAKrB,kBAAC,IAAD,CAAOmF,KAAK,+BACT,gBAAGwnB,EAAH,EAAGA,QAAS1pB,EAAZ,EAAYA,MAAZ,OACC,kBAACulB,EAAD,CACElgB,KAAe,MAATrF,EACNsF,OAAQ,WACNokB,EAAQ3sB,KAAK,8BAKrB,kBAAC,IAAD,CAAOmF,KAAK,sCACT,gBAAGwnB,EAAH,EAAGA,QAAS1pB,EAAZ,EAAYA,MAAZ,OACC,kBAACwlB,EAAD,CACEngB,KAAe,MAATrF,EACNsF,OAAQ,WACNokB,EAAQ3sB,KAAK,8BAKrB,kBAACysB,GAAD,OAlGN,oC,2ECIO,SAAS4lB,IACd,IAAQ93B,EAAcC,aACpB,SAAAhE,GAAK,MAAK,CAAE+D,UAAW/D,EAAM2Y,SAASzU,eACtCC,KAFMJ,UAKR,OADAvP,qBAAU,cAAU,CAACuP,IACd,kBAAC,IAAD,CAAeA,UAAWA,EAAWpkB,KAAK,gB,0CCEtCuvB,EAAgB,CAC3Bjf,OAAQ,CACN+uC,YAAa,GACbhlC,WAAY,GACZzB,OAAQ,GACRge,UAAW,GACX0oB,WAAY,GACZpI,oBAAqB,GACrBF,qBAAsB,GACtBC,sBAAuB,GACvBjrC,UAAW1J,IAAOA,MAAU,cACzBwzC,KAAK,GAAI,QACTvrC,OAAO,cACV2B,QAAS5J,IAAOA,MAAU,cACzBwzC,IAAI,GAAI,QACRvrC,OAAO,eAEVqlB,UAAW,MACXC,UAAW,UACXC,WAAY,EACZC,SAAU,GC5BNusB,EAAoBrsB,0BAEnB,SAASssB,IACd,OAAOpsB,qBAAWmsB,GAGcA,EAAkBlsB,SAE7C,SAASosB,EAAT,GAA6D,IAA/BC,EAA8B,EAA9BA,iBAAkBhzB,EAAY,EAAZA,SACrD,EAA0C1b,mBAASwhB,GAAnD,mBAAOlJ,EAAP,KAAoBkK,EAApB,KACA,EAAsBxiB,mBAAS,IAA/B,mBAAOkY,EAAP,KAAYuK,EAAZ,KACMC,EAAiBC,uBAAY,SAACC,GAClCJ,GAAmB,SAACK,GAKlB,OAJIC,qBAAWF,KACbA,EAAkBA,EAAgBC,IAGhCE,kBAAQF,EAAiBD,GACpBC,EAGFD,OAER,IAEGzwB,EAAQ,CACZmmB,cACAkK,qBACAtK,MACAuK,SACAC,iBACAksB,sBAAuBF,EAAiBE,sBACxC4C,0BAA2B9C,EAAiB8C,0BAC5C3C,oBAAqBH,EAAiBG,oBACtC4C,sBAAuB/C,EAAiB+C,sBACxC3C,wBAAyBJ,EAAiBI,wBAC1CC,yBAA0BL,EAAiBK,yBAC3CC,wBAAyBN,EAAiBM,wBAC1CC,+BACEP,EAAiBO,gCAGrB,OACE,kBAACV,EAAkB3qB,SAAnB,CAA4BzxB,MAAOA,GAChCupB,G,IC/BHg2B,E,0MAHEzgD,EAAU,IAAIC,IAAa,MAC3BC,EAAKC,IAAIH,GAsCR,SAAS4+C,EAAT,GAA2C,IAAD,4CAAhB8B,EAAgB,EAAhBA,aAE/B,EAAkC3xC,mBAAS,IAA3C,mBACA,GADA,UAC0CA,mBAAS,KAAnD,mBAAO4xC,EAAP,KAAsBlmC,EAAtB,KACA,EAAwC1L,mBAAS,IAAjD,mBAAO6xC,EAAP,KAAqBC,EAArB,KACA,EAAkC9xC,mBAAS,IAA3C,mBAAO+xC,EAAP,KAAkBC,EAAlB,KACA,GAAgChyC,mBAAS,IAAzC,qBAAOiyC,GAAP,MAAiBC,GAAjB,MAEA,GAA4ClyC,mBAAS,IAArD,qBAAOmyC,GAAP,MAAuBC,GAAvB,MACMjD,GAAoBX,IACpBY,GAAkBprB,mBAAQ,WAC9B,MAAO,CACLtB,eAAgBysB,GAAkBzsB,eAClCpK,YAAa62B,GAAkB72B,eAEhC,CAAC62B,KAEE3pB,GAAc,SAACtrB,GACnB,IAAMurB,EArDY,SAACnN,EAAape,GAClC,IACEo3C,EAWEp3C,EAXFo3C,YACAhlC,EAUEpS,EAVFoS,WACAzB,EASE3Q,EATF2Q,OACAge,EAQE3uB,EARF2uB,UACAoY,EAOE/mC,EAPF+mC,OACAkI,EAMEjvC,EANFivC,oBACAF,EAKE/uC,EALF+uC,qBACAC,EAIEhvC,EAJFgvC,sBACAqI,EAGEr3C,EAHFq3C,WACAtzC,EAEE/D,EAFF+D,UACAE,EACEjE,EADFiE,QAEIsnB,EAAc,eAAQnN,GACtB/V,EAAS,GAiBf,OAfAA,EAAO+uC,YAAcA,EAErB/uC,EAAO+J,WAAaA,EACpB/J,EAAOsI,OAASA,EAChBtI,EAAOgvC,WAAaA,EACpBhvC,EAAOsmB,UAAYA,EACnBtmB,EAAO0+B,OAASA,EAChB1+B,EAAOtE,UAAYA,EACnBsE,EAAO4mC,oBAAsBA,EAC7B5mC,EAAO0mC,qBAAuBA,EAC9B1mC,EAAO2mC,sBAAwBA,EAC/B3mC,EAAOpE,QAAUA,EAGjBsnB,EAAeljB,OAASA,EACjBkjB,EAqBkBG,CAAcwpB,GAAgB92B,YAAape,GAC7D6oB,kBAAQ0C,EAAgB2pB,GAAgB92B,eAC3CmN,EAAe1D,WAAa,EAC5BqtB,GAAgB1sB,eAAe+C,KAgCnC,SAAS4sB,KACP,IAAIhqC,EAAY,IAAIC,QACpBD,EAAUE,OAAO,gBAAjB,iBAA4CpX,EAAG8L,OAAOC,WAAWyK,QAEjE,IAAIa,EAAiB,CACnBjB,OAAQ,MACRE,QAASY,EACTI,SAAU,UAGZpB,MAAM,GAAD,OAAIxP,OAAOyP,QAAX,cAAgCkB,GAClCZ,MAAK,SAACC,GAAD,OAAcA,EAAS5V,UAC5B2V,MAAK,SAACzF,GACL,IAAI2d,EAAM/rB,KAAKC,MAAMmO,GACrBiwC,GAAkBtyB,GAAO,OAE1B3X,OAAM,SAAC5K,GAAD,OAAWnH,QAAQC,IAAI,QAASkH,MAG3C,OA/CAuJ,qBAAU,WACRurC,KACA,IAAIhqC,EAAY,IAAIC,QACpBD,EAAUE,OAAO,gBAAjB,iBAA4CpX,EAAG8L,OAAOC,WAAWyK,QAEjE,IAAIa,EAAiB,CACnBjB,OAAQ,MACRE,QAASY,EACTI,SAAU,UAGZpB,MAAM,GAAD,OAAIxP,OAAOyP,QAAX,6BAA+CkB,GACjDZ,MAAK,SAACC,GAAD,OAAcA,EAAS5V,UAC5B2V,MAAK,SAACzF,GACL,IAAI2d,EAAM/rB,KAAKC,MAAMmO,GACrBuJ,GAAoB,OAAHoU,QAAG,IAAHA,OAAA,EAAAA,EAAK3T,YAAa,IACnC2lC,GAAmB,OAAHhyB,QAAG,IAAHA,OAAA,EAAAA,EAAKvN,WAAY,IACjCy/B,GAAgB,OAAHlyB,QAAG,IAAHA,OAAA,EAAAA,EAAKwyB,WAAY,IAC9BJ,GAAYpyB,EAAI1S,OAAS,OAE1BjF,OAAM,SAAC5K,GAAD,OAAWnH,QAAQC,IAAI,QAASkH,QACxC,IACHuJ,qBAAU,WACJjP,OAAO06C,sBACTF,KAEFx6C,OAAO06C,sBAAuB,IAC7B,CAAC16C,OAAO06C,uBAqBT,oCACE,kBAAC,IAAD,CACE/8B,cAAe,CACb87B,YAAW,OAAElC,SAAF,IAAEA,IAAF,UAAEA,GAAiB92B,mBAAnB,iBAAE,EAA8B/V,cAAhC,aAAE,EAAsC+uC,YACnDhlC,WAAU,OAAE8iC,SAAF,IAAEA,IAAF,UAAEA,GAAiB92B,mBAAnB,iBAAE,EAA8B/V,cAAhC,aAAE,EAAsC+J,WAClDzB,OAAM,OAAEukC,SAAF,IAAEA,IAAF,UAAEA,GAAiB92B,mBAAnB,iBAAE,EAA8B/V,cAAhC,aAAE,EAAsCsI,OAC9Cge,UAAS,OAAEumB,SAAF,IAAEA,IAAF,UAAEA,GAAiB92B,mBAAnB,iBAAE,EAA8B/V,cAAhC,aAAE,EAAsCsmB,UACjDoY,OAAM,OAAEmO,SAAF,IAAEA,IAAF,UAAEA,GAAiB92B,mBAAnB,iBAAE,EAA8B/V,cAAhC,aAAE,EAAsC0+B,OAC9CsQ,WAAU,OAAEnC,SAAF,IAAEA,IAAF,UAAEA,GAAiB92B,mBAAnB,iBAAE,EAA8B/V,cAAhC,aAAE,EAAsCgvC,WAClDpI,oBAAmB,OACjBiG,SADiB,IACjBA,IADiB,UACjBA,GAAiB92B,mBADA,iBACjB,EAA8B/V,cADb,aACjB,EAAsC4mC,oBACxCF,qBAAoB,OAClBmG,SADkB,IAClBA,IADkB,UAClBA,GAAiB92B,mBADC,iBAClB,EAA8B/V,cADZ,aAClB,EAAsC0mC,qBACxCC,sBAAqB,OACnBkG,SADmB,IACnBA,IADmB,UACnBA,GAAiB92B,mBADE,iBACnB,EAA8B/V,cADX,aACnB,EAAsC2mC,sBACxCjrC,UAAS,OAAEmxC,SAAF,IAAEA,IAAF,UAAEA,GAAiB92B,mBAAnB,iBAAE,EAA8B/V,cAAhC,aAAE,EAAsCtE,UACjDE,QAAO,OAAEixC,SAAF,IAAEA,IAAF,UAAEA,GAAiB92B,mBAAnB,iBAAE,EAA8B/V,cAAhC,aAAE,EAAsCpE,SAEjDuX,SAAU,SAACxb,GACTsrB,GAAYtrB,MAGb,gBAAGA,EAAH,EAAGA,OAAQ6b,EAAX,EAAWA,aAAc7P,EAAzB,EAAyBA,cAAzB,OACC,0BAAMwP,SAAUK,EAAc/iB,UAAU,0BACpB,IAAjB2+C,EACC,oCACE,yBAAK3+C,UAAU,uBACb,yBAAKA,UAAU,2BACb,uBAAGA,UAAU,QAAb,uBACA,kBAAC,IAAD,CACEq1C,SAAO,EACPrvC,KAAK,sBACL5F,GAAG,sBACHoD,MAAM,OACNrE,MAAO+H,EAAOivC,oBACdh8B,QAAS4kC,EAAUh7C,KAAI,SAACwF,GACtB,MAAO,CACLpK,MAAOoK,EAAE3F,GACTJ,MAAO+F,EAAE1F,KACTsqC,QAAS5kC,EAAE4kC,YAGf9+B,SAAU,SAACC,GAEP4D,EAAc,sBADN,OAAN5D,EACmCA,EAEA,MAEvCyT,QAIN,yBAAK/iB,UAAU,2BACb,uBAAGA,UAAU,QAAb,yBACA,kBAAC,IAAD,CACEq1C,SAAO,EACPrvC,KAAK,uBACL5F,GAAG,uBACHoD,MAAM,sBACNrE,MAAO+H,EAAO+uC,qBACd97B,QAAS4kC,EAAUh7C,KAAI,SAACwF,GACtB,MAAO,CACLpK,MAAOoK,EAAE3F,GACTJ,MAAO+F,EAAE1F,KACTsqC,QAAS5kC,EAAE4kC,YAGf9+B,SAAU,SAACC,GAEP4D,EAAc,uBADN,OAAN5D,EACoCA,EAEA,MAExCyT,QAIN,yBAAK/iB,UAAU,2BACb,uBAAGA,UAAU,QAAb,yBACA,kBAAC,IAAD,CACEq1C,SAAO,EACPrvC,KAAK,wBACL5F,GAAG,wBACHoD,MAAM,uBACNrE,MAAO+H,EAAOgvC,sBACd/7B,QAAS4kC,EAAUh7C,KAAI,SAACwF,GACtB,MAAO,CACLpK,MAAOoK,EAAE3F,GACTJ,MAAO+F,EAAE1F,KACTsqC,QAAS5kC,EAAE4kC,YAGf9+B,SAAU,SAACC,GAEP4D,EAAc,wBADN,OAAN5D,EACqCA,EAEA,MAEzCyT,QAIN,yBAAK/iB,UAAU,8BACb,uBAAGA,UAAU,QAAb,oBACA,kBAAC,kBAAD,CACEw/C,qBAAqB,aACrBC,mBAAmB,WACnBz/C,UAAU,wBACViL,UAAW/D,EAAO+D,UAClBE,QAASjE,EAAOiE,QAChBkE,SAAU,SAACpE,EAAWE,GAElB+H,EAAc,YADE,OAAdjI,EACyB,GAIzB1J,IAAO0J,GAAWzB,OAAO,eAI3B0J,EAAc,UADA,OAAZ/H,EACuB,GAIvB5J,IAAO4J,GAAS3B,OAAO,eAI3BuZ,QAIN,yBAAK/iB,UAAU,wBACb,uBAAGA,UAAU,QAAb,UACA,2BACEgG,KAAK,aACLhG,UAAU,eACVoP,YAAY,SACZjQ,MAAO+H,EAAOq3C,WACdlvC,SAAU,SAACC,GACT4D,EAAc,aAAc5D,EAAEM,OAAOzQ,OACrCugD,aAAahB,GACbA,EAAcx4C,YAAW,WACvB6c,MACC,SAIe,OAAvB7b,EAAOo3C,cAA8C,IAAtBp3C,EAAOy4C,WACrC,yBAAK3/C,UAAU,mCACb,kBAACy5C,EAAA,EAAD,CACEjtC,QACE,kBAAC4wB,EAAA,EAAD,CAASh9B,GAAG,yBAAZ,SAGF,uBACEqM,QAAS,WACP,IAAImzC,EAAOphD,SAASsR,eAAe,iBACnC8vC,EAAKzgD,MAAQ+H,EAAOo3C,YACpBsB,EAAK7oB,SAEPruB,KAAM,kBAAM,GACZ1I,UAAU,wDAEV,0BAAMA,UAAU,yCACd,kBAAC,IAAD,CACEwI,IAAKC,YACH,kDAQZ,IAGJ,yBAAKzI,UAAU,kBACb,yBAAKA,UAAU,2BACb,uBAAGA,UAAU,QAAb,cACA,kBAAC,IAAD,CACEka,aAAW,EACXlU,KAAK,cACL5F,GAAG,cACHoD,MAAM,aACN+nB,QAAQ,sBACRpsB,MAAK,OAAEggD,SAAF,IAAEA,QAAF,EAAEA,GAAgB5vC,QACrB,SAAChG,GAAD,OAAOA,EAAE3F,KAAOsD,EAAOo3C,eACvBv6C,KAAI,SAACwF,GACL,MAAO,CAAEpK,MAAOoK,EAAE3F,GAAIJ,MAAO+F,EAAE1F,SAEjCsW,QAAO,OAAEglC,SAAF,IAAEA,QAAF,EAAEA,GAAgBp7C,KAAI,SAACwF,GAC5B,MAAO,CAAEpK,MAAOoK,EAAE3F,GAAIJ,MAAO+F,EAAE1F,SAEjCwL,SAAU,SAACC,GACT,IAaO,cAbH/M,EAAO+M,EACE,OAAT/M,GACF2Q,EAAc,cAAe,MAC7BA,EAAc,aAAc,IAC5BA,EAAc,SAAU,IACxBA,EAAc,YAAa,IAC3BA,EAAc,SAAU,IACxBA,EAAc,aAAc,IAC5BA,EAAc,sBAAuB,IACrCA,EAAc,uBAAwB,IACtCA,EAAc,wBAAyB,IACvCA,EAAc,cAAc,GAC5B6P,MAEA7P,EAAc,cAAe3Q,EAAKpD,OAClC+T,EACE,aADW,OAEXisC,SAFW,IAEXA,IAFW,UAEXA,GAAgB5vC,QACd,SAAChG,GAAD,OAAOA,EAAE3F,KAAOrB,EAAKpD,SACrB,UAJS,iBAEX,EAEMga,iBAJK,aAEX,EAEiBpV,KAAI,SAACwF,GACpB,MAAO,CAAEpK,MAAOoK,EAAE3F,GAAIJ,MAAO+F,EAAE1F,UAGnCqP,EACE,SADW,OAEXisC,SAFW,IAEXA,IAFW,UAEXA,GAAgB5vC,QACd,SAAChG,GAAD,OAAOA,EAAE3F,KAAOrB,EAAKpD,SACrB,UAJS,iBAEX,EAEMib,aAJK,aAEX,EAEarW,KAAI,SAACwF,GAChB,MAAO,CAAEpK,MAAOoK,EAAE3F,GAAIJ,MAAO+F,EAAE1F,UAGnCqP,EACE,YADW,OAEXisC,SAFW,IAEXA,IAFW,UAEXA,GAAgB5vC,QACd,SAAChG,GAAD,OAAOA,EAAE3F,KAAOrB,EAAKpD,SACrB,UAJS,iBAEX,EAEMogB,gBAJK,aAEX,EAEgBxb,KAAI,SAACwF,GACnB,MAAO,CAAEpK,MAAOoK,EAAE3F,GAAIJ,MAAO+F,EAAE1F,UAGnCqP,EACE,aADW,OAEXisC,SAFW,IAEXA,IAFW,UAEXA,GAAgB5vC,QACd,SAAChG,GAAD,OAAOA,EAAE3F,KAAOrB,EAAKpD,SACrB,UAJS,aAEX,EAEM0gD,UAER98B,SAKR,yBAAK/iB,UAAU,2BACb,uBAAGA,UAAU,QAAb,aAEA,kBAAC,IAAD,CACEI,GAAG,aACHi1C,SAAO,EACPl2C,MAAO+H,EAAOoS,WACdtT,KAAK,aACLmU,QAASykC,EAAc76C,KAAI,SAACwF,GAC1B,MAAO,CAAEpK,MAAOoK,EAAE3F,GAAIJ,MAAO+F,EAAE1F,SAEjC7D,UAAU,qBACVs1C,gBAAgB,SAChBjmC,SAAU,SAACC,GAEP4D,EAAc,aADN,OAAN5D,EAC0BA,EAEA,IAE9ByT,QAIN,yBAAK/iB,UAAU,2BACb,uBAAGA,UAAU,QAAb,QACA,kBAAC,IAAD,CACEq1C,SAAO,EACPrvC,KAAK,SACL5F,GAAG,SACHoD,MAAM,OACNrE,MAAO+H,EAAO2Q,OACdsC,QAAS8kC,GAASl7C,KAAI,SAACwF,GACrB,MAAO,CAAEpK,MAAOoK,EAAE3F,GAAIJ,MAAO+F,EAAE1F,SAEjCwL,SAAU,SAACC,GAEP4D,EAAc,SADN,OAAN5D,EACsB,KAEAA,GAE1ByT,QAIN,yBAAK/iB,UAAU,2BACb,uBAAGA,UAAU,QAAb,WACA,kBAAC,IAAD,CACEq1C,SAAO,EACPrvC,KAAK,YACL5F,GAAG,YACHoD,MAAM,UACNrE,MAAO+H,EAAO2uB,UACd1b,QAAS0kC,EAAa96C,KAAI,SAACwF,GACzB,MAAO,CAAEpK,MAAOoK,EAAE3F,GAAIJ,MAAO+F,EAAE1F,SAEjCwL,SAAU,SAACC,GAEP4D,EAAc,YADN,OAAN5D,EACyBA,EAEA,MAE7ByT,UAOV,Q,gzMC5Zd,IAAI+8B,EAAUjiD,EAAQ,KAChBI,EAAU,IAAIC,IAAa,MAC3BC,EAAKC,IAAIH,GAUR,SAASkgD,IACd,IAAM1oB,EAAUsqB,cA4BhB,EAAgC/yC,mBAAS,IAAzC,mBAAOgzC,EAAP,KAAiBC,EAAjB,KACA,EAAsCjzC,oBAAS,GAA/C,mBAAOkzC,EAAP,KAAoBC,EAApB,KACA,EAA4CnzC,oBAAS,GAArD,mBAAOozC,EAAP,KAAuBC,EAAvB,KACA,EAAkDrzC,oBAAS,GAA3D,mBAAOszC,EAAP,KAA0BC,EAA1B,KACA,EAAwDvzC,oBAAS,GAAjE,mBAAOwzC,EAAP,KAA6BC,EAA7B,KACA,EAAwDzzC,oBAAS,GAAjE,mBAAO0zC,EAAP,KAA6BC,EAA7B,KACA,EAA0D3zC,oBAAS,GAAnE,mBAAO4zC,EAAP,KAA8BC,EAA9B,KACA,EAAwD7zC,oBAAS,GAAjE,mBAAO8zC,EAAP,KAA6BC,EAA7B,KACA,EAAwC/zC,oBAAS,GAAjD,oBAAO2xC,GAAP,MAAqBqC,GAArB,MACA,GAAwCh0C,mBAAS,IAAjD,qBAAOi0C,GAAP,MAAqBC,GAArB,MACA,GAAoCl0C,mBAAS,IAA7C,qBAAOm0C,GAAP,MAAmBC,GAAnB,MACA,GAA0Cp0C,mBAAS,IAAnD,qBAAOq0C,GAAP,MAAsBC,GAAtB,MACA,GAA0Ct0C,mBAAS,IAAnD,qBAAOu0C,GAAP,MAAsBC,GAAtB,MACA,GAA4Cx0C,mBAAS,IAArD,qBAAOy0C,GAAP,MAAuBC,GAAvB,MACA,GAA0C10C,mBAAS,IAAnD,qBAAO20C,GAAP,MAAsBC,GAAtB,MACMzF,GAAoBX,IAC1B,GAAoDxuC,mBAAS,CAC3D+hB,WAAY,EACZC,SAAU,EACVF,UAAW,KACXD,UAAW,SAJb,qBAAOgzB,GAAP,MAA2BC,GAA3B,MAMA,GAAwD90C,mBAAS,CAC/D4nB,QAAQ,EACRC,UA5DgB,EA6DhB/F,UAAW,KACXD,UAAW,OACXN,gBAAiB,CACf,CAAEtvB,KAAM,IAAKE,MAAO,GACpB,CAAEF,KAAM,IAAKE,MAAO,GACpB,CAAEF,KAAM,KAAME,MAAO,IACrB,CACEF,KAAMuC,OApEM,GAqEZrC,MArEY,IAwEhB41B,YAAa,EACbC,KAAM,EACN+sB,aAAa,IAhBf,qBAAOC,GAAP,MAA6BC,GAA7B,MAkBA,GAA8Dj1C,mBAAS,CACrE4nB,QAAQ,EACRC,UA7EmB,EA8EnB/F,UAAW,KACXD,UAAW,OACXN,gBAAiB,CACf,CAAEtvB,KAAM,IAAKE,MAAO,GACpB,CAAEF,KAAM,IAAKE,MAAO,GACpB,CAAEF,KAAM,KAAME,MAAO,IACrB,CACEF,KAAMuC,OArFS,GAsFfrC,MAtFe,IAyFnB41B,YAAa,EACbC,KAAM,IAfR,qBAAOktB,GAAP,MAAgCC,GAAhC,MAiBA,GAAoEn1C,mBAAS,CAC3E4nB,QAAQ,EACRC,UA7FsB,EA8FtB/F,UAAW,KACXD,UAAW,OACXN,gBAAiB,CACf,CAAEtvB,KAAM,IAAKE,MAAO,GACpB,CAAEF,KAAM,IAAKE,MAAO,GACpB,CAAEF,KAAM,KAAME,MAAO,IACrB,CACEF,KAAMuC,OArGY,GAsGlBrC,MAtGkB,IAyGtB41B,YAAa,EACbC,KAAM,IAfR,qBAAOotB,GAAP,MAAmCC,GAAnC,MAiBA,GAAoEr1C,mBAAS,CAC3E4nB,QAAQ,EACRC,UA7GsB,EA8GtB/F,UAAW,KACXD,UAAW,OACXN,gBAAiB,CACf,CAAEtvB,KAAM,IAAKE,MAAO,GACpB,CAAEF,KAAM,IAAKE,MAAO,GACpB,CAAEF,KAAM,KAAME,MAAO,IACrB,CACEF,KAAMuC,OArHY,GAsHlBrC,MAtHkB,IAyHtB41B,YAAa,EACbC,KAAM,IAfR,qBAAOstB,GAAP,MAAmCC,GAAnC,MAiBA,GAGIv1C,mBAAS,CACX4nB,QAAQ,EACRC,UAhIuB,EAiIvB/F,UAAW,KACXD,UAAW,OACXN,gBAAiB,CACf,CAAEtvB,KAAM,IAAKE,MAAO,GACpB,CAAEF,KAAM,IAAKE,MAAO,GACpB,CAAEF,KAAM,KAAME,MAAO,IACrB,CACEF,KAAMuC,OAxIa,GAyInBrC,MAzImB,IA4IvB41B,YAAa,EACbC,KAAM,IAlBR,qBACEwtB,GADF,MAEEC,GAFF,MAoBA,GAAoEz1C,mBAAS,CAC3E4nB,QAAQ,EACRC,UAhJsB,EAiJtB/F,UAAW,KACXD,UAAW,OACXN,gBAAiB,CACf,CAAEtvB,KAAM,IAAKE,MAAO,GACpB,CAAEF,KAAM,IAAKE,MAAO,GACpB,CAAEF,KAAM,KAAME,MAAO,IACrB,CACEF,KAAMuC,OAxJY,GAyJlBrC,MAzJkB,IA4JtB41B,YAAa,EACbC,KAAM,IAfR,qBAAO0tB,GAAP,MAAmCC,GAAnC,MAiBMvG,GAAkBprB,mBAAQ,WAC9B,MAAO,CACL9L,IAAKi3B,GAAkBj3B,IACvBI,YAAa62B,GAAkB72B,YAC/BoK,eAAgBysB,GAAkBzsB,eAClCksB,sBAAuBO,GAAkBP,sBACzC4C,0BAA2BrC,GAAkBqC,0BAC7CzC,yBAA0BI,GAAkBJ,yBAC5CF,oBAAqBM,GAAkBN,oBACvC4C,sBAAuBtC,GAAkBsC,sBACzCxC,+BACEE,GAAkBF,+BACpBD,wBAAyBG,GAAkBH,2BAE5C,CAACG,KAEEhwC,GAAU,CACd,CACEC,UAAW,KACXnN,KAAM,MACNyN,MAAM,EACNC,UAAWA,IACXN,UAAW,SAACC,EAAM9E,GAChB,OACE,kBAAC,IAAD,CACAxH,UAAS,eACPwH,EAAIo7C,OAAS,UAAY,WAE3BxjC,MAAQ5X,EAAIo7C,OAAS,SAAW,GAC9B7yC,GAAE,+CAA0CvI,EAAI5D,IAChD6I,QAAS,SAAC6C,GACRuzC,YAASvzC,EAAD,wCAA6C9H,EAAI5D,MAG1D4D,EAAI5D,KAKXrD,QAAS,mDACTm0B,cAAe,mBACftwB,MAAO,CACLuS,SAAU,UAGd,CACEvK,UAAW,eACXnN,KAAM,WACNyN,MAAM,EACNC,UAAWA,KAEb,CACEP,UAAW,WACXnN,KAAM,aACNyN,MAAM,EACNC,UAAWA,IACXN,UAAW,SAACC,EAAM9E,GAChB,OAAOA,EAAI2/B,SAAW,KAAO3/B,EAAI4/B,YAGrC,CACEh7B,UAAW,SACXnN,KAAM,cACNyN,MAAM,EACNC,UAAWA,IACXN,UAAW,SAACC,EAAM9E,GAChB,OAAOA,EAAI6/B,OAAS,KAAO7/B,EAAI8/B,UAGnC,CACEl7B,UAAW,OACXnN,KAAM,OACNyN,MAAM,EACNC,UAAWA,MAtOc,SAiPdm2C,KAjPc,8EAiP7B,6HACE3C,GAAe,GACX5wC,EAAS6sC,GAAgB92B,YAAY/V,OACrCwzC,EAAWxzC,EAAOsmB,UAClB1c,EAAY5J,EAAO+J,WACnB68B,EAAsB5mC,EAAO4mC,oBAC7BF,EAAuB1mC,EAAO0mC,qBAC9BC,EAAwB3mC,EAAO2mC,sBAC/B8M,EAASzzC,EAAOgvC,WAChBtzC,EAAYsE,EAAOtE,UACnBE,EAAUoE,EAAOpE,QACjBiP,EAAQ7K,EAAOsI,OACF,KAAbkrC,GAAgC,OAAbA,QAAkCj9C,IAAbi9C,IACtCE,EAAeF,EAASh/C,KAAI,SAACwF,GAAD,OAAOA,EAAEpK,SACzC4jD,EAAW,cAAgBE,EAAav7C,KAAK,gBAE7B,KAAdyR,GAAkC,OAAdA,QAAoCrT,IAAdqT,IACxC+pC,EAAgB/pC,EAAUpV,KAAI,SAACwF,GAAD,OAAOA,EAAEpK,SAC3Cga,EAAY,eAAiB+pC,EAAcx7C,KAAK,iBAE9Cy7C,EAA0B,GAEJ,KAAxBhN,GACwB,OAAxBA,QACwBrwC,IAAxBqwC,IAEAgN,EAA0BhN,EAAoBpyC,KAAI,SAACwF,GACjD,OAAIA,EAAE4kC,QACG,6BAA+B5kC,EAAEpK,MAEjC,wBAA0BoK,EAAEpK,UAKrCikD,EAA0B,GAEH,KAAzBnN,GACyB,OAAzBA,QACyBnwC,IAAzBmwC,IAEAmN,EAA2BnN,EAAqBlyC,KAAI,SAACwF,GACnD,OAAIA,EAAE4kC,QACG,8BAAgC5kC,EAAEpK,MAElC,yBAA2BoK,EAAEpK,UAKtCkkD,EAA2B,GAEH,KAA1BnN,GAC0B,OAA1BA,QAC0BpwC,IAA1BowC,IAEAmN,EAA4BnN,EAAsBnyC,KAAI,SAACwF,GACrD,OAAIA,EAAE4kC,QACG,+BAAiC5kC,EAAEpK,MAEnC,0BAA4BoK,EAAEpK,UAI7B,KAAVib,GAA0B,OAAVA,QAA4BtU,IAAVsU,IAChCkpC,EAAYlpC,EAAMrW,KAAI,SAACwF,GAAD,OAAOA,EAAEpK,SACnCib,EAAQ,WAAakpC,EAAU57C,KAAK,cAElC2N,EAAY,IAAIC,SACVC,OAAO,gBAAjB,iBAA4CpX,EAAG8L,OAAOC,WAAWyK,QAE7Da,EAAiB,CACnBjB,OAAQ,MACRE,QAASY,EACTI,SAAU,UA1Ed,UA6EQpB,MAAM,GAAD,OAEPxP,OAAOyP,QAFA,0BAGSrJ,EAHT,oBAG8BE,EAH9B,mBAGgD63C,GAHhD,OAIqB,OAA5BG,EAAmC,GAAKA,EAJjC,mBAMsB,OAA7BC,EAAoC,GAAKA,EANlC,mBAOuB,OAA9BC,EAAqC,GAAKA,GAPnC,OAQM,OAAbN,EAAoB,GAAKA,GARlB,OASQ,OAAd5pC,EAAqB,GAAKA,GATpB,OAS0C,OAAViB,EAAiB,GAAKA,GAC/D5E,GAECZ,KAZG,uCAYE,WAAOC,GAAP,wEACoB,MAApBA,EAASE,QACX0gB,EAAQ3sB,KAAK,cAFX,kBAIG+L,EAAS5V,QAJZ,2CAZF,uDAkBH2V,MAAK,SAACzF,GAAY,IAAD,oFACZo0C,EAAUxiD,KAAKC,MAAMmO,GACrBq0C,EAAqB,eAAQxB,IACjCwB,EAAsBzB,aAAc,EACpCyB,EAAsB3uB,UAAtB,UAAkC0uB,EAAQE,KAAKl0C,QAC7C,SAAChG,GAAD,OAAsB,IAAfA,EAAEm6C,YACT,UAFF,iBAAkC,EAE5BC,kBAFN,aAAkC,EAEhBC,eAClBJ,EAAsBj1B,gBAAkB,CACtC,CAAEtvB,KAAM,IAAKE,MAAO,GACpB,CAAEF,KAAM,IAAKE,MAAO,GACpB,CAAEF,KAAM,KAAME,MAAO,IACrB,CACEF,KAAMuC,OAAM,UACV+hD,EAAQE,KAAKl0C,QAAO,SAAChG,GAAD,OAAsB,IAAfA,EAAEm6C,YAAgB,UADnC,iBACV,EAAiDC,kBADvC,aACV,EACIC,gBAENzkD,MAAK,UAAEokD,EAAQE,KAAKl0C,QAAO,SAAChG,GAAD,OAAsB,IAAfA,EAAEm6C,YAAgB,UAA/C,iBAAE,EAAiDC,kBAAnD,aAAE,EACHC,iBAGRJ,EAAsBxuB,KAAO,EAC7BitB,GAAwBuB,GAExB,IAAIK,EAAwB,eAAQ3B,IAEpC2B,EAAyBhvB,UAAzB,UAAqC0uB,EAAQE,KAAKl0C,QAChD,SAAChG,GAAD,OAAsB,KAAfA,EAAEm6C,YACT,UAFF,iBAAqC,EAE/BC,kBAFN,aAAqC,EAEnBC,eAClBC,EAAyBt1B,gBAAkB,CACzC,CAAEtvB,KAAM,IAAKE,MAAO,GACpB,CAAEF,KAAM,IAAKE,MAAO,GACpB,CAAEF,KAAM,KAAME,MAAO,IACrB,CACEF,KAAMuC,OAAM,UACV+hD,EAAQE,KAAKl0C,QAAO,SAAChG,GAAD,OAAsB,KAAfA,EAAEm6C,YAAiB,UADpC,iBACV,EAAkDC,kBADxC,aACV,EACIC,gBAENzkD,MAAK,UAAEokD,EAAQE,KAAKl0C,QAAO,SAAChG,GAAD,OAAsB,KAAfA,EAAEm6C,YAAiB,UAAhD,iBAAE,EAAkDC,kBAApD,aAAE,EACHC,iBAGRC,EAAyB7uB,KAAO,EAChCmtB,GAA2B0B,GAE3B,IAAIC,EAA2B,eAAQ1B,IACvC0B,EAA4BjvB,UAA5B,UAAwC0uB,EAAQE,KAAKl0C,QACnD,SAAChG,GAAD,OAAsB,KAAfA,EAAEm6C,YACT,UAFF,iBAAwC,EAElCC,kBAFN,aAAwC,EAEtBC,eAClBE,EAA4Bv1B,gBAAkB,CAC5C,CAAEtvB,KAAM,IAAKE,MAAO,GACpB,CAAEF,KAAM,IAAKE,MAAO,GACpB,CAAEF,KAAM,KAAME,MAAO,IACrB,CACEF,KAAMuC,OAAM,UACV+hD,EAAQE,KAAKl0C,QAAO,SAAChG,GAAD,OAAsB,KAAfA,EAAEm6C,YAAiB,UADpC,iBACV,EAAkDC,kBADxC,aACV,EACIC,gBAENzkD,MAAK,UAAEokD,EAAQE,KAAKl0C,QAAO,SAAChG,GAAD,OAAsB,KAAfA,EAAEm6C,YAAiB,UAAhD,iBAAE,EAAkDC,kBAApD,aAAE,EACHC,iBAGRE,EAA4B9uB,KAAO,EACnCqtB,GAA8ByB,GAE9B,IAAIC,EAA2B,eAAQzB,IACvCyB,EAA4BlvB,UAA5B,UAAwC0uB,EAAQE,KAAKl0C,QACnD,SAAChG,GAAD,OAAsB,IAAfA,EAAEm6C,YACT,UAFF,iBAAwC,EAElCC,kBAFN,aAAwC,EAEtBC,eAClBG,EAA4Bx1B,gBAAkB,CAC5C,CAAEtvB,KAAM,IAAKE,MAAO,GACpB,CAAEF,KAAM,IAAKE,MAAO,GACpB,CAAEF,KAAM,KAAME,MAAO,IACrB,CACEF,KAAMuC,OAAM,UACV+hD,EAAQE,KAAKl0C,QAAO,SAAChG,GAAD,OAAsB,IAAfA,EAAEm6C,YAAgB,UADnC,iBACV,EAAiDC,kBADvC,aACV,EACIC,gBAENzkD,MAAK,UAAEokD,EAAQE,KAAKl0C,QAAO,SAAChG,GAAD,OAAsB,IAAfA,EAAEm6C,YAAgB,UAA/C,iBAAE,EAAiDC,kBAAnD,aAAE,EACHC,iBAGRG,EAA4B/uB,KAAO,EACnCutB,GAA8BwB,GAE9B,IAAIC,EAA4B,eAAQxB,IAExCwB,EAA6BnvB,UAA7B,UAAyC0uB,EAAQE,KAAKl0C,QACpD,SAAChG,GAAD,OAAsB,MAAfA,EAAEm6C,YACT,UAFF,iBAAyC,EAEnCC,kBAFN,aAAyC,EAEvBC,eAClBI,EAA6Bz1B,gBAAkB,CAC7C,CAAEtvB,KAAM,IAAKE,MAAO,GACpB,CAAEF,KAAM,IAAKE,MAAO,GACpB,CAAEF,KAAM,KAAME,MAAO,IACrB,CACEF,KAAMuC,OAAM,UACV+hD,EAAQE,KAAKl0C,QAAO,SAAChG,GAAD,OAAsB,MAAfA,EAAEm6C,YAAkB,UADrC,iBACV,EAAmDC,kBADzC,aACV,EACIC,gBAENzkD,MAAK,UAAEokD,EAAQE,KAAKl0C,QAAO,SAAChG,GAAD,OAAsB,MAAfA,EAAEm6C,YAAkB,UAAjD,iBAAE,EAAmDC,kBAArD,aAAE,EACHC,iBAGRI,EAA6BhvB,KAAO,EACpCytB,GAA+BuB,GAE/B,IAAIC,EAA2B,eAAQvB,IACvCuB,EAA4BpvB,UAA5B,UAAwC0uB,EAAQE,KAAKl0C,QACnD,SAAChG,GAAD,OAAsB,KAAfA,EAAEm6C,YACT,UAFF,iBAAwC,EAElCC,kBAFN,aAAwC,EAEtBC,eAClBK,EAA4B11B,gBAAkB,CAC5C,CAAEtvB,KAAM,IAAKE,MAAO,GACpB,CAAEF,KAAM,IAAKE,MAAO,GACpB,CAAEF,KAAM,KAAME,MAAO,IACrB,CACEF,KAAMuC,OAAM,UACV+hD,EAAQE,KAAKl0C,QAAO,SAAChG,GAAD,OAAsB,KAAfA,EAAEm6C,YAAiB,UADpC,iBACV,EAAkDC,kBADxC,aACV,EACIC,gBAENzkD,MAAK,UAAEokD,EAAQE,KAAKl0C,QAAO,SAAChG,GAAD,OAAsB,KAAfA,EAAEm6C,YAAiB,UAAhD,iBAAE,EAAkDC,kBAApD,aAAE,EACHC,iBAGRK,EAA4BjvB,KAAO,EACnC2tB,GAA8BsB,GAC9B/C,GAAe,UACbqC,EAAQE,KAAKl0C,QAAO,SAAChG,GAAD,OAAsB,IAAfA,EAAEm6C,YAAgB,UADhC,aACb,EAAiDQ,WAEnD9C,GAAa,UACXmC,EAAQE,KAAKl0C,QAAO,SAAChG,GAAD,OAAsB,KAAfA,EAAEm6C,YAAiB,UADnC,aACX,EAAkDQ,WAEpD5C,GAAgB,UACdiC,EAAQE,KAAKl0C,QAAO,SAAChG,GAAD,OAAsB,KAAfA,EAAEm6C,YAAiB,UADhC,aACd,EAAkDQ,WAEpD1C,GAAgB,UACd+B,EAAQE,KAAKl0C,QAAO,SAAChG,GAAD,OAAsB,IAAfA,EAAEm6C,YAAgB,UAD/B,aACd,EAAiDQ,WAEnDxC,GAAiB,UACf6B,EAAQE,KAAKl0C,QAAO,SAAChG,GAAD,OAAsB,MAAfA,EAAEm6C,YAAkB,UADhC,aACf,EAAmDQ,WAErDtC,GAAgB,UACd2B,EAAQE,KAAKl0C,QAAO,SAAChG,GAAD,OAAsB,KAAfA,EAAEm6C,YAAiB,UADhC,aACd,EAAkDQ,WAEpD/D,GAAe,MAEhBhrC,OAAM,SAAC5K,GAAD,OAAWnH,QAAQC,IAAI,QAASkH,MA/O3C,6CAjP6B,+BAmed45C,GAnec,yFAme7B,WACET,EACA1uB,EACAD,EACAjG,EACAD,GALF,8GAOU60B,EAPV,OAQS,IART,OAWS,KAXT,OAcS,KAdT,OAiBS,IAjBT,OAoBS,MApBT,QAuBS,KAvBT,+BASMrD,GAAkB,GATxB,mCAYME,GAAqB,GAZ3B,mCAeME,GAAwB,GAf9B,mCAkBME,GAAwB,GAlB9B,oCAqBME,GAAyB,GArB/B,oCAwBME,GAAwB,GAxB9B,wEA6BMxxC,EAAS6sC,GAAgB92B,YAAY/V,OACrCwzC,EAAWxzC,EAAOsmB,UAElB1c,EAAY5J,EAAO+J,WACnB68B,EAAsB5mC,EAAO4mC,oBAC7BF,EAAuB1mC,EAAO0mC,qBAC9BC,EAAwB3mC,EAAO2mC,sBAC/B8M,EAASzzC,EAAOgvC,WAChBtzC,EAAYsE,EAAOtE,UACnBE,EAAUoE,EAAOpE,QACjBiP,EAAQ7K,EAAOsI,OACF,KAAbkrC,GAAgC,OAAbA,QAAkCj9C,IAAbi9C,IACtCE,EAAeF,EAASh/C,KAAI,SAACwF,GAAD,OAAOA,EAAEpK,SACzC4jD,EAAW,cAAgBE,EAAav7C,KAAK,gBAE7B,KAAdyR,GAAkC,OAAdA,QAAoCrT,IAAdqT,IACxC+pC,EAAgB/pC,EAAUpV,KAAI,SAACwF,GAAD,OAAOA,EAAEpK,SAC3Cga,EAAY,eAAiB+pC,EAAcx7C,KAAK,iBAGxB,KAAxByuC,GACwB,OAAxBA,QACwBrwC,IAAxBqwC,IAEIgN,EAA0BhN,EAAoBpyC,KAAI,SAACwF,GAAD,OAAOA,EAAEpK,SAC/Dg3C,EACE,wBACAgN,EAAwBz7C,KAAK,0BAGN,KAAzBuuC,GACyB,OAAzBA,QACyBnwC,IAAzBmwC,IAEImN,EAA2BnN,EAAqBlyC,KAAI,SAACwF,GAAD,OAAOA,EAAEpK,SACjE82C,EACE,yBACAmN,EAAyB17C,KAAK,2BAGN,KAA1BwuC,GAC0B,OAA1BA,QAC0BpwC,IAA1BowC,IAEImN,EAA4BnN,EAAsBnyC,KAAI,SAACwF,GAAD,OAAOA,EAAEpK,SACnE+2C,EACE,0BACAmN,EAA0B37C,KAAK,4BAErB,KAAV0S,GAA0B,OAAVA,QAA4BtU,IAAVsU,IAChCkpC,EAAYlpC,EAAMrW,KAAI,SAACwF,GAAD,OAAOA,EAAEpK,SACnCib,EAAQ,WAAakpC,EAAU57C,KAAK,cAElC2N,EAAY,IAAIC,SACVC,OAAO,gBAAjB,iBAA4CpX,EAAG8L,OAAOC,WAAWyK,QAE7Da,EAAiB,CACnBjB,OAAQ,MACRE,QAASY,EACTI,SAAU,UAxFd,UA2FQpB,MAAM,GAAD,OAEPxP,OAAOyP,QAFA,0BAGSrJ,EAHT,oBAG8BE,EAH9B,mBAGgD63C,EAHhD,qBAGmEU,GAHnE,OAIiB,OAAxBvN,EAA+B,GAAKA,EAJ7B,mBAMkB,OAAzBF,EAAgC,GAAKA,EAN9B,mBAOmB,OAA1BC,EAAiC,GAAKA,GAP/B,OAQM,OAAb6M,EAAoB,GAAKA,GARlB,OASQ,OAAd5pC,EAAqB,GAAKA,GATpB,OAUG,OAAViB,EAAiB,GAAKA,EAVf,uBAWM4a,EAXN,qBAWuBD,EAXvB,sBAWgDjG,EAXhD,sBAWuED,GAChFrZ,GAECZ,MAAK,SAACC,GAAD,OAAcA,EAAS5V,UAC5B2V,MAAK,SAACzF,GAAY,IAAD,IAEI,cADhBo0C,EAAUxiD,KAAKC,MAAMmO,GACzB,GAAiB,IAAbu0C,EACF1B,GAAqBntB,UAArB,UAAiC0uB,EAAQE,KAAKl0C,QAC5C,SAAChG,GAAD,OAAsB,IAAfA,EAAEm6C,YACT,UAFF,iBAAiC,EAE3BC,kBAFN,aAAiC,EAEfC,eAClB5B,GAAqBzzB,gBAAkB,CACrC,CAAEtvB,KAAM,IAAKE,MAAO,GACpB,CAAEF,KAAM,IAAKE,MAAO,GACpB,CAAEF,KAAM,KAAME,MAAO,IACrB,CACEF,KAAMuC,OAAM,UACV+hD,EAAQE,KAAKl0C,QAAO,SAAChG,GAAD,OAAsB,IAAfA,EAAEm6C,YAAgB,UADnC,iBACV,EAAiDC,kBADvC,aACV,EACIC,gBAENzkD,MAAK,UAAEokD,EAAQE,KAAKl0C,QAAO,SAAChG,GAAD,OAAsB,IAAfA,EAAEm6C,YAAgB,UAA/C,iBAAE,EAAiDC,kBAAnD,aAAE,EACHC,iBAGR1C,GAAe,UACbqC,EAAQE,KAAKl0C,QAAO,SAAChG,GAAD,OAAsB,IAAfA,EAAEm6C,YAAgB,UADhC,aACb,EAAiDQ,gBAE9C,GAAiB,KAAbR,EAAiB,CAAC,IAAD,cAE1BxB,GAAwBrtB,UAAxB,UAAoC0uB,EAAQE,KAAKl0C,QAC/C,SAAChG,GAAD,OAAsB,KAAfA,EAAEm6C,YACT,UAFF,iBAAoC,EAE9BC,kBAFN,aAAoC,EAElBC,eAClB1B,GAAwB3zB,gBAAkB,CACxC,CAAEtvB,KAAM,IAAKE,MAAO,GACpB,CAAEF,KAAM,IAAKE,MAAO,GACpB,CAAEF,KAAM,KAAME,MAAO,IACrB,CACEF,KAAMuC,OAAM,UACV+hD,EAAQE,KAAKl0C,QAAO,SAAChG,GAAD,OAAsB,KAAfA,EAAEm6C,YAAiB,UADpC,iBACV,EAAkDC,kBADxC,aACV,EACIC,gBAENzkD,MAAK,UAAEokD,EAAQE,KAAKl0C,QAAO,SAAChG,GAAD,OAAsB,KAAfA,EAAEm6C,YAAiB,UAAhD,iBAAE,EACHC,kBADC,aAAE,EACSC,iBAGpBxC,GAAa,UACXmC,EAAQE,KAAKl0C,QAAO,SAAChG,GAAD,OAAsB,KAAfA,EAAEm6C,YAAiB,UADnC,aACX,EAAkDQ,gBAE/C,GAAiB,KAAbR,EAAiB,CAAC,IAAD,cAE1BtB,GAA2BvtB,UAA3B,UAAuC0uB,EAAQE,KAAKl0C,QAClD,SAAChG,GAAD,OAAsB,KAAfA,EAAEm6C,YACT,UAFF,iBAAuC,EAEjCC,kBAFN,aAAuC,EAErBC,eAClBxB,GAA2B7zB,gBAAkB,CAC3C,CAAEtvB,KAAM,IAAKE,MAAO,GACpB,CAAEF,KAAM,IAAKE,MAAO,GACpB,CAAEF,KAAM,KAAME,MAAO,IACrB,CACEF,KAAMuC,OAAM,UACV+hD,EAAQE,KAAKl0C,QAAO,SAAChG,GAAD,OAAsB,KAAfA,EAAEm6C,YAAiB,UADpC,iBACV,EAAkDC,kBADxC,aACV,EACIC,gBAENzkD,MAAK,UAAEokD,EAAQE,KAAKl0C,QAAO,SAAChG,GAAD,OAAsB,KAAfA,EAAEm6C,YAAiB,UAAhD,iBAAE,EACHC,kBADC,aAAE,EACSC,iBAGpBtC,GAAgB,UACdiC,EAAQE,KAAKl0C,QAAO,SAAChG,GAAD,OAAsB,KAAfA,EAAEm6C,YAAiB,UADhC,aACd,EAAkDQ,gBAE/C,GAAiB,IAAbR,EAAgB,CAAC,IAAD,cAEzBpB,GAA2BztB,UAA3B,UAAuC0uB,EAAQE,KAAKl0C,QAClD,SAAChG,GAAD,OAAsB,IAAfA,EAAEm6C,YACT,UAFF,iBAAuC,EAEjCC,kBAFN,aAAuC,EAErBC,eAClBtB,GAA2B/zB,gBAAkB,CAC3C,CAAEtvB,KAAM,IAAKE,MAAO,GACpB,CAAEF,KAAM,IAAKE,MAAO,GACpB,CAAEF,KAAM,KAAME,MAAO,IACrB,CACEF,KAAMuC,OAAM,UACV+hD,EAAQE,KAAKl0C,QAAO,SAAChG,GAAD,OAAsB,IAAfA,EAAEm6C,YAAgB,UADnC,iBACV,EAAiDC,kBADvC,aACV,EACIC,gBAENzkD,MAAK,UAAEokD,EAAQE,KAAKl0C,QAAO,SAAChG,GAAD,OAAsB,IAAfA,EAAEm6C,YAAgB,UAA/C,iBAAE,EAAiDC,kBAAnD,aAAE,EACHC,iBAGRpC,GAAgB,UACd+B,EAAQE,KAAKl0C,QAAO,SAAChG,GAAD,OAAsB,IAAfA,EAAEm6C,YAAgB,UAD/B,aACd,EAAiDQ,gBAE9C,GAAiB,MAAbR,EAAkB,CAAC,IAAD,cAE3BlB,GAA4B3tB,UAA5B,UAAwC0uB,EAAQE,KAAKl0C,QACnD,SAAChG,GAAD,OAAsB,MAAfA,EAAEm6C,YACT,UAFF,iBAAwC,EAElCC,kBAFN,aAAwC,EAEtBC,eAClBpB,GAA4Bj0B,gBAAkB,CAC5C,CAAEtvB,KAAM,IAAKE,MAAO,GACpB,CAAEF,KAAM,IAAKE,MAAO,GACpB,CAAEF,KAAM,KAAME,MAAO,IACrB,CACEF,KAAMuC,OAAM,UACV+hD,EAAQE,KAAKl0C,QAAO,SAAChG,GAAD,OAAsB,MAAfA,EAAEm6C,YAAkB,UADrC,iBACV,EAAmDC,kBADzC,aACV,EACIC,gBAENzkD,MAAK,UAAEokD,EAAQE,KAAKl0C,QAAO,SAAChG,GAAD,OAAsB,MAAfA,EAAEm6C,YAAkB,UAAjD,iBAAE,EACHC,kBADC,aAAE,EACSC,iBAGpBlC,GAAiB,UACf6B,EAAQE,KAAKl0C,QAAO,SAAChG,GAAD,OAAsB,MAAfA,EAAEm6C,YAAkB,UADhC,aACf,EAAmDQ,gBAEhD,GAAiB,KAAbR,EAAiB,CAAC,IAAD,cAE1BhB,GAA2B7tB,UAA3B,UAAuC0uB,EAAQE,KAAKl0C,QAClD,SAAChG,GAAD,OAAsB,KAAfA,EAAEm6C,YACT,UAFF,iBAAuC,EAEjCC,kBAFN,aAAuC,EAErBC,eAClBlB,GAA2Bn0B,gBAAkB,CAC3C,CAAEtvB,KAAM,IAAKE,MAAO,GACpB,CAAEF,KAAM,IAAKE,MAAO,GACpB,CAAEF,KAAM,KAAME,MAAO,IACrB,CACEF,KAAMuC,OAAM,UACV+hD,EAAQE,KAAKl0C,QAAO,SAAChG,GAAD,OAAsB,KAAfA,EAAEm6C,YAAiB,UADpC,iBACV,EAAkDC,kBADxC,aACV,EACIC,gBAENzkD,MAAK,UAAEokD,EAAQE,KAAKl0C,QAAO,SAAChG,GAAD,OAAsB,KAAfA,EAAEm6C,YAAiB,UAAhD,iBAAE,EACHC,kBADC,aAAE,EACSC,iBAGpBhC,GAAgB,UACd2B,EAAQE,KAAKl0C,QAAO,SAAChG,GAAD,OAAsB,KAAfA,EAAEm6C,YAAiB,UADhC,aACd,EAAkDQ,WAItD,IAAIh9C,GAAM,eAAQ26C,IAKlB,OAJA36C,GAAO8nB,SAAP,UAAkBu0B,EAAQE,KAAKl0C,QAC7B,SAAChG,GAAD,OAAsB,IAAfA,EAAEm6C,YACT,UAFF,iBAAkB,EAEZC,kBAFN,aAAkB,EAEAC,eAClB9B,GAAsB56C,IACdw8C,GACN,KAAK,EACHrD,GAAkB,GAClB,MACF,KAAK,GACHE,GAAqB,GACrB,MACF,KAAK,GACHE,GAAwB,GACxB,MACF,KAAK,EACHE,GAAwB,GACxB,MACF,KAAK,IACHE,GAAyB,GACzB,MACF,KAAK,GACHE,GAAwB,OAM7B5rC,OAAM,SAAC5K,GAAD,OAAWnH,QAAQC,IAAI,QAASkH,MAvQ3C,6CAne6B,sBA4uB7BuJ,qBAAU,WACRgvC,OACC,CAAC1G,GAAgB92B,cAEpB,IAAM8+B,GAA2B,SAACrhD,EAAMshD,GACtC,GAAa,SAATthD,EAAiB,CACnB,IAAImE,EAAM,eAAQ86C,IAClB96C,EAAO4nB,UAAYu1B,EAASv1B,UAC5B5nB,EAAO2nB,UAAYw1B,EAASx1B,UAC5B3nB,EAAO66C,aAAc,EACrBE,GAAwB/6C,GAEtBm9C,EAASv1B,YAAckzB,GAAqBlzB,WAC5Cu1B,EAASx1B,YAAcmzB,GAAqBnzB,WAE5Cs1B,GACE,EACAnC,GAAqBhtB,KACrBgtB,GAAqBjtB,YACrBsvB,EAASv1B,UACTu1B,EAASx1B,WAIf,GAAa,eAAT9rB,EAAuB,CACzB,IAAImE,EAAM,eAAQ86C,IAClB96C,EAAO6tB,YAAcsvB,EAAStvB,YAC9B7tB,EAAO8tB,UAAyBlvB,IAAlBu+C,EAASrvB,KAAqB,EAAIqvB,EAASrvB,KACzD9tB,EAAO66C,aAAc,EACrBE,GAAwB/6C,GACxBi9C,GACE,OACkBr+C,IAAlBu+C,EAASrvB,KAAqB,EAAIqvB,EAASrvB,KAC3CqvB,EAAStvB,YACTitB,GAAqBlzB,UACrBkzB,GAAqBnzB,aAKrBy1B,GAA8B,SAACvhD,EAAMshD,GACzC,GAAa,SAATthD,EAAiB,CACnB,IAAImE,EAAM,eAAQg7C,IAClBh7C,EAAO4nB,UAAYu1B,EAASv1B,UAC5B5nB,EAAO2nB,UAAYw1B,EAASx1B,UAC5BszB,GAA2Bj7C,GAEzBm9C,EAASv1B,YAAcozB,GAAwBpzB,WAC/Cu1B,EAASx1B,YAAcqzB,GAAwBrzB,WAE/Cs1B,GACE,GACAjC,GAAwBltB,KACxBktB,GAAwBntB,YACxBsvB,EAASv1B,UACTu1B,EAASx1B,WAIf,GAAa,eAAT9rB,EAAuB,CACzB,IAAImE,EAAM,eAAQg7C,IAClBh7C,EAAO6tB,YAAcsvB,EAAStvB,YAC9B7tB,EAAO8tB,UAAyBlvB,IAAlBu+C,EAASrvB,KAAqB,EAAIqvB,EAASrvB,KACzDmtB,GAA2Bj7C,GAC3Bi9C,GACE,QACkBr+C,IAAlBu+C,EAASrvB,KAAqB,EAAIqvB,EAASrvB,KAC3CqvB,EAAStvB,YACTmtB,GAAwBpzB,UACxBozB,GAAwBrzB,aAIxB01B,GAAiC,SAACxhD,EAAMshD,GAC5C,GAAa,SAATthD,EAAiB,CACnB,IAAImE,EAAM,eAAQk7C,IAClBl7C,EAAO4nB,UAAYu1B,EAASv1B,UAC5B5nB,EAAO2nB,UAAYw1B,EAASx1B,UAC5BwzB,GAA8Bn7C,GAE5Bm9C,EAASv1B,YAAcszB,GAA2BtzB,WAClDu1B,EAASx1B,YAAcuzB,GAA2BvzB,WAElDs1B,GACE,GACA/B,GAA2BptB,KAC3BotB,GAA2BrtB,YAC3BsvB,EAASv1B,UACTu1B,EAASx1B,WAIf,GAAa,eAAT9rB,EAAuB,CACzB,IAAImE,EAAM,eAAQk7C,IAClBl7C,EAAO6tB,YAAcsvB,EAAStvB,YAC9B7tB,EAAO8tB,UAAyBlvB,IAAlBu+C,EAASrvB,KAAqB,EAAIqvB,EAASrvB,KACzDqtB,GAA8Bn7C,GAC9Bi9C,GACE,QACkBr+C,IAAlBu+C,EAASrvB,KAAqB,EAAIqvB,EAASrvB,KAC3CqvB,EAAStvB,YACTqtB,GAA2BtzB,UAC3BszB,GAA2BvzB,aAK3B21B,GAAiC,SAACzhD,EAAMshD,GAC5C,GAAa,SAATthD,EAAiB,CACnB,IAAImE,EAAM,eAAQo7C,IAClBp7C,EAAO4nB,UAAYu1B,EAASv1B,UAC5B5nB,EAAO2nB,UAAYw1B,EAASx1B,UAC5B0zB,GAA8Br7C,GAE5Bm9C,EAASv1B,YAAcwzB,GAA2BxzB,WAClDu1B,EAASx1B,YAAcyzB,GAA2BzzB,WAElDs1B,GACE,EACA7B,GAA2BttB,KAC3BstB,GAA2BvtB,YAC3BsvB,EAASv1B,UACTu1B,EAASx1B,WAIf,GAAa,eAAT9rB,EAAuB,CACzB,IAAImE,EAAM,eAAQo7C,IAClBp7C,EAAO6tB,YAAcsvB,EAAStvB,YAC9B7tB,EAAO8tB,UAAyBlvB,IAAlBu+C,EAASrvB,KAAqB,EAAIqvB,EAASrvB,KACzDutB,GAA8Br7C,GAC9Bi9C,GACE,OACkBr+C,IAAlBu+C,EAASrvB,KAAqB,EAAIqvB,EAASrvB,KAC3CqvB,EAAStvB,YACTutB,GAA2BxzB,UAC3BwzB,GAA2BzzB,aAI3B41B,GAAkC,SAAC1hD,EAAMshD,GAC7C,GAAa,SAATthD,EAAiB,CACnB,IAAImE,EAAM,eAAQs7C,IAClBt7C,EAAO4nB,UAAYu1B,EAASv1B,UAC5B5nB,EAAO2nB,UAAYw1B,EAASx1B,UAC5B4zB,GAA+Bv7C,GAE7Bm9C,EAASv1B,YAAc0zB,GAA4B1zB,WACnDu1B,EAASx1B,YAAc2zB,GAA4B3zB,WAEnDs1B,GACE,IACA3B,GAA4BxtB,KAC5BwtB,GAA4BztB,YAC5BsvB,EAASv1B,UACTu1B,EAASx1B,WAIf,GAAa,eAAT9rB,EAAuB,CACzB,IAAImE,EAAM,eAAQs7C,IAClBt7C,EAAO6tB,YAAcsvB,EAAStvB,YAC9B7tB,EAAO8tB,UAAyBlvB,IAAlBu+C,EAASrvB,KAAqB,EAAIqvB,EAASrvB,KACzDytB,GAA+Bv7C,GAC/Bi9C,GACE,SACkBr+C,IAAlBu+C,EAASrvB,KAAqB,EAAIqvB,EAASrvB,KAC3CqvB,EAAStvB,YACTytB,GAA4B1zB,UAC5B0zB,GAA4B3zB,aAI5B61B,GAAiC,SAAC3hD,EAAMshD,GAC5C,GAAa,SAATthD,EAAiB,CACnB,IAAImE,EAAM,eAAQw7C,IAClBx7C,EAAO4nB,UAAYu1B,EAASv1B,UAC5B5nB,EAAO2nB,UAAYw1B,EAASx1B,UAC5B8zB,GAA8Bz7C,GAE5Bm9C,EAASv1B,YAAc4zB,GAA2B5zB,WAClDu1B,EAASx1B,YAAc6zB,GAA2B7zB,WAElDs1B,GACE,GACAzB,GAA2B1tB,KAC3B0tB,GAA2B3tB,YAC3BsvB,EAASv1B,UACTu1B,EAASx1B,WAIf,GAAa,eAAT9rB,EAAuB,CACzB,IAAImE,EAAM,eAAQw7C,IAClBx7C,EAAO6tB,YAAcsvB,EAAStvB,YAC9B7tB,EAAO8tB,UAAyBlvB,IAAlBu+C,EAASrvB,KAAqB,EAAIqvB,EAASrvB,KACzD2tB,GAA8Bz7C,GAC9Bi9C,GACE,QACkBr+C,IAAlBu+C,EAASrvB,KAAqB,EAAIqvB,EAASrvB,KAC3CqvB,EAAStvB,YACT2tB,GAA2B5zB,UAC3B4zB,GAA2B7zB,aAIjC,OACE,kBAAC,IAAD,KACE,kBAAC,IAAD,CAAYzP,MAAM,sBAChB,kBAAC,IAAD,KACE,4BACErc,KAAK,SACL/C,UAAU,kBACVyM,QAAS,WACP,IAAImzC,EAAOphD,SAASsR,eAAe,iBACnC8vC,EAAKzgD,WAAQ2G,EACb85C,EAAK7oB,UANT,qBAWA,4BACE3yB,MAAO,CAAEyhC,MAAO,SAChB9iC,KAAK,SACLoQ,SAAU+sC,EACVzzC,QAAS,WACPq2C,MAEF9iD,UAAU,wBAPZ,WAWA,4BACEoE,MAAO,CAAEyhC,MAAO,SAChB9iC,KAAK,SACL0J,QAAS,WACPu0C,IAAiBrC,KAEnB3+C,UAAU,yBAEQ,IAAjB2+C,GAAyB,OAAS,OARrC,aAYJ,kBAAC,IAAD,KACE,kBAAC9B,EAAD,CAAgB8B,aAAcA,KAC9B,yBAAK3+C,UAAU,aACb,yBAAKA,UAAU,mCACb,uBACE0I,KAAM,kBAAM,GACZ1I,UAAU,oDACVyM,QAAS,WACPwzC,EAAY,MAGd,0BACEjgD,UAAS,yDAGT,kBAAC,IAAD,CAAKwI,IAAKC,YAAc,sCA5+BlB,CAClB,CACEzC,KAAM,YACN+I,MAAO,UAET,CACE/I,KAAM,SACN+I,MAAO,WAET,CACE/I,KAAM,iBACN+I,MAAO,aAET,CACE/I,KAAM,aACN+I,MAAO,WAET,CACE/I,KAAM,cACN+I,MAAO,QAET,CACE/I,KAAM,YACN+I,MAAO,YAw9BYhL,KAAI,gBAAGiC,EAAH,EAAGA,KAAM+I,EAAT,EAASA,MAAT,OACf,yBAAK/O,UAAU,oCACb,uBACEA,UAAS,qDAAgD+O,EAAhD,YACE,mBAAT/I,EAA4B,YAAc,cAE5CyG,QAAS,WACPwzC,EAAYj6C,KAGbA,SAMX,yBAAKhG,UAAU,QACI,IAAhBkgD,EACC,yBAAKlgD,UAAU,UACb,yBAAKA,UAAU,oCACb,kBAAC8/C,EAAD,CAAS95C,KAAK,eAAe+I,MAAM,WAIvC,IAEe,IAAhBmxC,EACC,qCACiB,cAAbF,GAAyC,KAAbA,IAC5B,yBACEhgD,UAAS,6BACM,cAAbggD,EAA2B,SAAW,+BAGxC,uBACEhgD,UAAS,4DAC0C,eAGlD,cAEiB,IAAnBogD,EACC,kBAACuE,EAAA,EAAD,CACEhxB,QAAQ,UACRixB,UAAQ,EACR/iD,IAAK,IACLuC,MAAO,CAAEwS,OAAQ,MAAOR,MAAO,UAGjC,GAEF,kBAAC,qBAAD,CACEtF,WAAYC,IAAkBixC,MAE7B,YAAgD,IAA7C/sB,EAA4C,EAA5CA,gBAAiBC,EAA2B,EAA3BA,qBACnB,OACE,kBAAC,IAAD,CAAYD,gBAAiBA,GAC3B,kBAAC,IAAD,eACEjkB,eAAe,mBACfE,UAAU,EACV3Q,QAAQ,gDACR0Q,YAAU,EACVkkB,QAAM,EACN/0B,GAAG,MACHuQ,SAAS,KACTk0C,iBACE,wBAAIzgD,MAAO,CAAEsM,UAAW,WAAxB,6CAIFnO,KAAM0+C,GACN90C,QAASA,GACTyE,cAAe,CAAC,CAAExE,UAAW,KAAMyE,MAAO,SAC1CukB,cAAegvB,IACXlvB,GAEJ,kBAAC,IAAD,CAAmBrR,SAAUo9B,KAC7B,kBAAC,IAAD,CAAuBp9B,SAAUo9B,YAQhC,WAAbjB,GAAsC,KAAbA,IACzB,yBACEhgD,UAAS,6BACM,WAAbggD,EAAwB,SAAW,+BAGrC,uBACEhgD,UAAS,6DACuC,eAG/C,WAEoB,IAAtBsgD,EACC,kBAACqE,EAAA,EAAD,CACEhxB,QAAQ,UACRixB,UAAQ,EACR/iD,IAAK,IACLuC,MAAO,CAAEwS,OAAQ,MAAOR,MAAO,UAGjC,GAEF,kBAAC,qBAAD,CACEtF,WAAYC,IAAkBmxC,MAE7B,YAAgD,IAA7CjtB,EAA4C,EAA5CA,gBAAiBC,EAA2B,EAA3BA,qBACnB,OACE,kBAAC,IAAD,CAAYD,gBAAiBA,GAC3B,kBAAC,IAAD,eACEjkB,eAAe,mBACfE,UAAU,EACV3Q,QAAQ,gDACR0Q,YAAU,EACVkkB,QAAM,EACN/0B,GAAG,SACHuQ,SAAS,KACTk0C,iBACE,wBAAIzgD,MAAO,CAAEsM,UAAW,WAAxB,6CAIFnO,KAAM4+C,GACNh1C,QAASA,GACTyE,cAAe,CAAC,CAAExE,UAAW,KAAMyE,MAAO,SAC1CukB,cAAekvB,IACXpvB,GAEJ,kBAAC,IAAD,CAAmBrR,SAAUs9B,KAC7B,kBAAC,IAAD,CAAuBt9B,SAAUs9B,YAQhC,mBAAbnB,GAA8C,KAAbA,IACjC,yBACEhgD,UAAS,6BACM,mBAAbggD,EAAgC,SAAW,+BAG7C,uBACEhgD,UAAS,kEAER,mBAEuB,IAAzB0gD,EACC,kBAACiE,EAAA,EAAD,CACEhxB,QAAQ,UACRixB,UAAQ,EACR/iD,IAAK,IACLuC,MAAO,CAAEwS,OAAQ,MAAOR,MAAO,UAGjC,GAEF,kBAAC,qBAAD,CACEtF,WAAYC,IAAkBuxC,MAE7B,YAAgD,IAA7CrtB,EAA4C,EAA5CA,gBAAiBC,EAA2B,EAA3BA,qBACnB,OACE,kBAAC,IAAD,CAAYD,gBAAiBA,GAC3B,kBAAC,IAAD,eACEjkB,eAAe,mBACfE,UAAU,EACV3Q,QAAQ,gDACR0Q,YAAU,EACVkkB,QAAM,EACN/0B,GAAG,YACHuQ,SAAS,KACTk0C,iBACE,wBAAIzgD,MAAO,CAAEsM,UAAW,WAAxB,6CAIFnO,KAAMg/C,GACNp1C,QAASA,GACTyE,cAAe,CAAC,CAAExE,UAAW,KAAMyE,MAAO,SAC1CukB,cAAeovB,IACXtvB,GAEJ,kBAAC,IAAD,CAAmBrR,SAAU09B,KAC7B,kBAAC,IAAD,CAAuB19B,SAAU09B,YAQhC,eAAbvB,GAA0C,KAAbA,IAC7B,yBACEhgD,UAAS,6BACM,eAAbggD,EAA4B,SAAW,+BAGzC,uBACEhgD,UAAS,6DAC2C,eAGnD,eAEuB,IAAzBwgD,EACC,kBAACmE,EAAA,EAAD,CACEhxB,QAAQ,UACRixB,UAAQ,EACR/iD,IAAK,IACLuC,MAAO,CAAEwS,OAAQ,MAAOR,MAAO,UAGjC,GAEF,kBAAC,qBAAD,CACEtF,WAAYC,IAAkBqxC,MAE7B,YAAgD,IAA7CntB,EAA4C,EAA5CA,gBAAiBC,EAA2B,EAA3BA,qBACnB,OACE,kBAAC,IAAD,CAAYD,gBAAiBA,GAC3B,kBAAC,IAAD,eACEjkB,eAAe,mBACfE,UAAU,EACV3Q,QAAQ,gDACR0Q,YAAU,EACVkkB,QAAM,EACN/0B,GAAG,YACHuQ,SAAS,KACTk0C,iBACE,wBAAIzgD,MAAO,CAAEsM,UAAW,WAAxB,6CAIFnO,KAAM8+C,GACNl1C,QAASA,GACTyE,cAAe,CAAC,CAAExE,UAAW,KAAMyE,MAAO,SAC1CukB,cAAemvB,IACXrvB,GAEJ,kBAAC,IAAD,CAAmBrR,SAAUw9B,KAC7B,kBAAC,IAAD,CAAuBx9B,SAAUw9B,YAShC,gBAAbrB,GAA2C,KAAbA,IAC9B,yBACEhgD,UAAS,6BACM,gBAAbggD,EAA6B,SAAW,+BAG1C,uBACEhgD,UAAS,0DAGH,eAGL,gBAEwB,IAA1B4gD,EACC,kBAAC+D,EAAA,EAAD,CACEhxB,QAAQ,UACRixB,UAAQ,EACR/iD,IAAK,IACLuC,MAAO,CAAEwS,OAAQ,MAAOR,MAAO,UAGjC,GAEF,kBAAC,qBAAD,CACEtF,WAAYC,IAAkByxC,MAE7B,YAAgD,IAA7CvtB,EAA4C,EAA5CA,gBAAiBC,EAA2B,EAA3BA,qBACnB,OACE,kBAAC,IAAD,CAAYD,gBAAiBA,GAC3B,kBAAC,IAAD,eACEjkB,eAAe,mBACfE,UAAU,EACV3Q,QAAQ,gDACR0Q,YAAU,EACVkkB,QAAM,EACN/0B,GAAG,aACHuQ,SAAS,KACTk0C,iBACE,wBAAIzgD,MAAO,CAAEsM,UAAW,WAAxB,6CAIFnO,KAAMk/C,GACNt1C,QAASA,GACTyE,cAAe,CAAC,CAAExE,UAAW,KAAMyE,MAAO,SAC1CukB,cAAeqvB,IACXvvB,GAEJ,kBAAC,IAAD,CAAmBrR,SAAU49B,KAC7B,kBAAC,IAAD,CAAuB59B,SAAU49B,YAQhC,cAAbzB,GAAyC,KAAbA,IAC5B,yBACEhgD,UAAS,6BACM,cAAbggD,EAA2B,SAAW,+BAGxC,uBACEhgD,UAAS,6DAC0C,eAGlD,cAEuB,IAAzB8gD,EACC,kBAAC6D,EAAA,EAAD,CACEhxB,QAAQ,UACRixB,UAAQ,EACR/iD,IAAK,IACLuC,MAAO,CAAEwS,OAAQ,MAAOR,MAAO,UAGjC,GAEF,kBAAC,qBAAD,CACEtF,WAAYC,IAAkB2xC,MAE7B,YAAgD,IAA7CztB,EAA4C,EAA5CA,gBAAiBC,EAA2B,EAA3BA,qBACnB,OACE,kBAAC,IAAD,CAAYD,gBAAiBA,GAC3B,kBAAC,IAAD,eACEjkB,eAAe,mBACfE,UAAU,EACV3Q,QAAQ,gDACR0Q,YAAU,EACVkkB,QAAM,EACN/0B,GAAG,YACHuQ,SAAS,KACTpO,KAAMo/C,GACNkD,iBACE,wBAAIzgD,MAAO,CAAEsM,UAAW,WAAxB,6CAIFvE,QAASA,GACTyE,cAAe,CAAC,CAAExE,UAAW,KAAMyE,MAAO,SAC1CukB,cAAesvB,IACXxvB,GAEJ,kBAAC,IAAD,CAAmBrR,SAAU89B,KAC7B,kBAAC,IAAD,CAAuB99B,SAAU89B,YAUjD,M,yCCj4CL,SAASmD,EAAT,GAAmC,EAAXrvB,QAAY,IACzC,EAAgCzoB,oBAAS,GAAzC,mBACA,GADA,UACkCA,oBAAS,IAA3C,mBAAO+3C,EAAP,KAAkBC,EAAlB,KACA,EAAgCh4C,oBAAS,GAAzC,mBAAOi4C,EAAP,KAAiBC,EAAjB,KACA,EAA0Cl4C,oBAAS,GAAnD,mBAAOm4C,EAAP,KAAsBC,EAAtB,KACA,EAA0Cp4C,oBAAS,GAAnD,mBAAsBq4C,GAAtB,WACA,EAAsCr4C,oBAAS,GAA/C,mBACA,GADA,UACoDA,oBAAS,IAA7D,mBAAOs4C,EAAP,KAA2BC,EAA3B,KAgCA,OACE,kBAAC9J,EAAD,CAAoBC,iBA/BG,IAgCrB,2BACE34C,KAAK,SACL3C,GAAG,mBACHqM,QAAS,SAAC6C,GACR01C,GAAa,GACbO,GAAsB,GACtBH,GAAiB,GACjBC,GAAiB,GACjBH,EAAY51C,EAAEM,OAAOzQ,UAGzB,2BACE4D,KAAK,SACL3C,GAAG,oBACHqM,QAAS,SAAC6C,GACR41C,GAAY,GACZK,GAAsB,GACtBH,GAAiB,GACjBC,GAAiB,GACjBL,EAAa11C,EAAEM,OAAOzQ,UAG1B,2BACE4D,KAAK,SACL3C,GAAG,qBACHqM,QAAS,SAAC6C,GACR41C,GAAY,GACZF,GAAa,GACbK,GAAiB,GACjBD,GAAiB,GACjBG,EAAsBj2C,EAAEM,OAAOzQ,UAGnC,2BACE4D,KAAK,SACL3C,GAAG,gBACHqM,QAAS,SAAC6C,GACR41C,GAAY,GACZF,GAAa,GACbK,GAAiB,GACjBE,GAAsB,GACtBH,EAAiB91C,EAAEM,OAAOzQ,UAG9B,2BACE4D,KAAK,SACL3C,GAAG,gBACHqM,QAAS,SAAC6C,GACR41C,GAAY,GACZF,GAAa,GACbK,GAAiB,GACjBE,GAAsB,GACtBH,GAAiB,MAGrB,kBAACjK,EAAD,MAECgK,GAAiB,kBAAC,IAAD,CAAgB/kD,GAAI+kD,IAErCJ,GACC,kBAAC,IAAD,CAAkBS,GAAIT,EAAWC,aAAcA,IAGhDM,GAAsB,kBAACG,EAAA,EAAD,CAAeC,GAAI,EAAGC,KAAM,IAElDV,GAAY,kBAAC,IAAD,CAAiBS,GAAIT,EAAUC,YAAaA,KAEvDH,IAAcE,IAAaK,IAAuBH,GAClD,kBAAChH,EAAD,O,8GCvHD,SAAS/6B,IAEd,IAAQC,EAAcC,aACpB,SAAChE,GAAD,MAAY,CAAE+D,UAAW/D,EAAMiE,UAAUC,eACzCC,KAFMJ,UAMR,OADAvP,qBAAU,cAAU,CAACuP,IACd,kBAAC,IAAD,CAAeA,UAAWA,EAAWpkB,KAAK,gB,oBCP5C,SAASonB,EAAT,GAA2C,IAAPjmB,EAAM,EAANA,GAEzC,EAA4CkjB,aAC1C,SAAChE,GAAD,MAAY,CACVwE,gBAAiBxE,EAAMiE,UAAUO,gBACjCvC,eAAgBjC,EAAMiE,UAAUhC,kBAElCkC,KALMK,EAAR,EAAQA,gBAAiBvC,EAAzB,EAAyBA,eAQzB,EAA0BvU,mBAAS,IAAnC,mBAAcsZ,GAAd,WAYA,OAVAxS,qBAAU,WACR,IAAIyS,EAASnmB,EAAK,GAAK,MACnB0jB,GAAmB1jB,IACrBmmB,EAAM,yBAAqBzC,EAAgB4K,UAArC,YAAkD5K,EAAgB2K,SAAlE,MAGRnI,EAASC,KAER,CAACzC,EAAiBvC,IAGnB,oCACGA,GAAkB,kBAAC,IAAD,MACnB,kBAACkF,EAAA,EAAMlV,OAAP,CAAcmV,aAAW,GACvB,kBAACD,EAAA,EAAM9U,MAAP,CAAavR,GAAG,gCAAhB,e,4BChBF6gB,EAAqBC,MAAaC,MAAM,CAC5CuN,UAAWxN,MACR4U,IAAI,EAAG,qBACPC,IAAI,GAAI,sBACRnjB,SAAS,yBACZ6b,SAAUvN,MACP4U,IAAI,EAAG,qBACPC,IAAI,GAAI,sBACRnjB,SAAS,wBACZ+b,MAAOzN,MACJyN,MAAM,iBACN/b,SAAS,qBACZud,SAAUjP,MAAatO,SAAS,wBAChCyd,aAAcnP,MACXugB,UAAS,GACT7uB,SAAS,6BACZgc,UAAW1N,MAAatO,SAAS,4BAG5B,SAASwO,EAAT,GAKH,IAJFC,EAIC,EAJDA,aACAC,EAGC,EAHDA,SACAC,EAEC,EAFDA,eACAlQ,EACC,EADDA,OAEMqlB,EAAU,CACd,CAAEv3B,MAAO,YAAaqE,MAAO,aAC7B,CAAErE,MAAO,YAAaqE,MAAO,aAC7B,CAAErE,MAAO,YAAaqE,MAAO,cAG/B,OACE,oCACE,kBAAC,IAAD,CACE+e,oBAAoB,EACpBC,cAAelB,EACfmB,iBAAkBxB,EAClByB,SAAU,SAACxb,GACTma,EAAana,MAGd,gBAAG6b,EAAH,EAAGA,aAAH,OACC,oCACE,kBAAC0D,EAAA,EAAMhV,KAAP,CAAYzR,UAAU,yBACnBuhB,GACC,yBAAKvhB,UAAU,gCACb,yBAAKA,UAAU,wCAGnB,kBAAC,IAAD,CAAMA,UAAU,yBACd,yBAAKA,UAAU,cACb,yBAAKA,UAAU,aACb,2BAAOA,UAAU,QAAjB,WACA,kBAAC,IAAD,CACEq1C,SAAO,EACPrvC,KAAK,SACLmU,QAASuc,EACT12B,UAAU,qBACVs1C,gBAAgB,aAItB,yBAAKt1C,UAAU,cACb,yBAAKA,UAAU,aACb,kBAAC,IAAD,CACEgG,KAAK,YACL0I,UAAW2f,IACXjf,YAAY,GACZ5L,MAAM,mBAOhB,kBAACijB,EAAA,EAAM/U,OAAP,KACE,4BACE3O,KAAK,SACL0J,QAAS4E,EACTrR,UAAU,6BAHZ,UAOA,yCACA,4BACE+C,KAAK,SACL0J,QAAS,kBAAMsW,KACf/iB,UAAU,+BAHZ,c,YCzFDwuB,EAAgB,CAC3Bjf,OAAQ,CACNq2C,aAAa,EACbtsC,WAAY,GACZzB,OAAQ,GACR0mC,WAAY,IAEd1vB,UAAW,MACXC,UAAW,KACXC,WAAY,EACZC,SAAU,IChBNC,EAAqBC,0BAEpB,SAASC,IACd,OAAOC,qBAAWH,GAGeA,EAAmBI,SAE/C,SAASC,EAAT,GAA6D,IAA/BC,EAA8B,EAA9BA,kBAAmB7G,EAAW,EAAXA,SACtD,EAA0C1b,mBAASwhB,GAAnD,mBAAOlJ,EAAP,KAAoBkK,EAApB,KACA,EAAsBxiB,mBAAS,IAA/B,mBAAOkY,EAAP,KAAYuK,EAAZ,KACMC,EAAiBC,uBAAY,SAAAC,GACjCJ,GAAmB,SAAAK,GAKjB,OAJIC,qBAAWF,KACbA,EAAkBA,EAAgBC,IAGhCE,kBAAQF,EAAiBD,GACpBC,EAGFD,OAER,IAaGzwB,EAAQ,CACZmmB,cACAkK,qBACAtK,MACAuK,SACAC,iBACAM,aAjBmB,CACnB5vB,QAAI0F,EACJ+/C,GAAI,GACJxK,SAAU,GACVyK,eAAgB,KAChBC,GAAI,GACJC,IAAK,GACLC,KAAM,SACNC,IAAK,GAUL51B,uBAAwBf,EAAkBe,uBAC1CC,uBAAwBhB,EAAkBgB,uBAC1CC,yBAA0BjB,EAAkBiB,yBAC5CC,0BAA2BlB,EAAkBkB,0BAC7CC,yBAA0BnB,EAAkBmB,yBAC5CC,gCAAiCpB,EAAkBoB,iCAGrD,OAAO,kBAAC1B,EAAmB2B,SAApB,CAA6BzxB,MAAOA,GAAQupB,GC/C9C,SAASmI,EAAT,GAAmD,IAArBzwB,EAAoB,EAApBA,GAAIgR,EAAgB,EAAhBA,KAAMC,EAAU,EAAVA,OAEvCyf,EAAqB3B,IACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACLhB,aAAcc,EAAmBd,gBAElC,CAACc,IAGEvL,EAAW0L,cACjB,EAA4C3N,aAC1C,SAAChE,GAAD,MAAY,CACViC,eAAgBjC,EAAMiE,UAAUhC,eAChCuC,gBAAiBxE,EAAMiE,UAAUO,mBAEnCL,KALMlC,EAAR,EAAQA,eAAgBuC,EAAxB,EAAwBA,gBAQxBhQ,qBAAU,WAERyR,EAAStB,IAAsB7jB,MAC9B,CAACA,EAAImlB,IAaR,OACE,kBAACkB,EAAA,EAAD,CACEtV,KAAK,KACLC,KAAMA,EACNC,OAAQA,EACRC,kBAAgB,gCAEhB,kBAAC+U,EAAD,CAA0BjmB,GAAIA,IAC9B,kBAACghB,EAAD,CACEC,aAnBe,SAACC,GACflhB,EAKHmlB,EAAStB,IAAuB3C,IAAW1M,MAAK,kBAAMvD,OAHtDkU,EAAStB,IAAuB3C,IAAW1M,MAAK,kBAAMvD,QAiBpDkQ,eAAgBA,EAChBD,SAAUwC,GAAmBiN,EAAiBf,aAC9C3e,OAAQA,KChDT,SAAS6f,EAAT,GAAqD,IAArB9wB,EAAoB,EAApBA,GAAIgR,EAAgB,EAAhBA,KAAMC,EAAU,EAAVA,OAEzCyf,EAAqB3B,IACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACLvB,OAAQqB,EAAmBrB,OAC3BnK,YAAawL,EAAmBxL,eAEjC,CAACwL,IAGEvL,EAAW0L,cACT5N,EAAcC,aACpB,SAAChE,GAAD,MAAY,CAAE+D,UAAW/D,EAAMiE,UAAUhC,kBACzCkC,KAFMJ,UAMRvP,qBAAU,WACH1T,GACHiR,MAGD,CAACjR,IAGJ0T,qBAAU,cAAU,CAACuP,EAAWkC,IAchC,OACE,kBAACkB,EAAA,EAAD,CACErV,KAAMA,EACNC,OAAQA,EACRC,kBAAgB,gCAGf+R,GAAa,kBAAC,IAAD,MAEd,kBAACoD,EAAA,EAAMlV,OAAP,CAAcmV,aAAW,GACvB,kBAACD,EAAA,EAAM9U,MAAP,CAAavR,GAAG,gCAAhB,oBAIF,kBAACqmB,EAAA,EAAMhV,KAAP,MACI4R,GACA,mFAEDA,GAAa,0DAEhB,kBAACoD,EAAA,EAAM/U,OAAP,KACE,6BACE,4BACE3O,KAAK,SACL0J,QAAS4E,EACTrR,UAAU,6BAHZ,UAOA,yCACA,4BACE+C,KAAK,SACL0J,QA5Ca,WAErB8Y,EAAStB,IAAuB7jB,IAAKwU,MAAK,WAExC2Q,EAAStB,IAAuB8M,EAAiBzL,cAEjDyL,EAAiBtB,OAAO,IAExBpe,QAqCMrR,UAAU,+BAHZ,a,IClEN0+C,E,8JAHEzgD,EAAU,IAAIC,IAAa,MACtBE,IAAIH,GAwBR,SAASo0B,EAAT,GAMJ,EALDywB,yBAKC,EAJD1C,eAIC,EAHDE,kBAGC,EAFDE,qBAEE,IAAD,oBADDrB,EACC,EADDA,eAEMgH,EAAgB,CACpB,CAAEhnD,MAAO,KAAMqE,MAAO,OACtB,CAAErE,MAAO,EAAGqE,MAAO,SACnB,CAAErE,MAAO,EAAGqE,MAAO,aACnB,CAAErE,MAAO,EAAGqE,MAAO,cAGfstB,EAAqB3B,IACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACL1L,YAAawL,EAAmBxL,YAChCoK,eAAgBoB,EAAmBpB,kBAEpC,CAACoB,IAGE0B,EAAc,SAACtrB,GACnB,IAAMurB,EA7CY,SAACnN,EAAape,GAClC,IACEq3C,EAKEr3C,EALFq3C,WACAjlC,EAIEpS,EAJFoS,WACAzB,EAGE3Q,EAHF2Q,OACA+tC,EAEE1+C,EAFF0+C,aACAE,EACE5+C,EADF4+C,eAEIrzB,EAAc,eAAQnN,GACtB/V,EAAS,GASf,OARAA,EAAOgvC,WAAaA,EACpBhvC,EAAOq2C,aAAeA,EACtBr2C,EAAOu2C,eAAiBA,EACxBv2C,EAAO+J,WAAaA,EACpB/J,EAAOsI,OAASA,EAGhB4a,EAAeljB,OAASA,EACjBkjB,EA2BkBG,CAAc7B,EAAiBzL,YAAape,GAC9D6oB,kBAAQ0C,EAAgB1B,EAAiBzL,eAC5CmN,EAAe1D,WAAa,EAE5BgC,EAAiBrB,eAAe+C,KAIpC,OACE,oCACE,kBAAC,IAAD,CACEjQ,cAAe,CACbojC,aAAY,OAAE70B,QAAF,IAAEA,GAAF,UAAEA,EAAkBzL,mBAApB,iBAAE,EAA+B/V,cAAjC,aAAE,EAAuCq2C,aACrDE,eAAc,OAAE/0B,QAAF,IAAEA,GAAF,UAAEA,EAAkBzL,mBAApB,iBAAE,EAA+B/V,cAAjC,aAAE,EAAuCu2C,eACvDxsC,WAAU,OAAEyX,QAAF,IAAEA,GAAF,UAAEA,EAAkBzL,mBAApB,iBAAE,EAA+B/V,cAAjC,aAAE,EAAuC+J,WACnDzB,OAAM,OAAEkZ,QAAF,IAAEA,GAAF,UAAEA,EAAkBzL,mBAApB,iBAAE,EAA+B/V,cAAjC,aAAE,EAAuCsI,OAC/C0mC,WAAU,OAAExtB,QAAF,IAAEA,GAAF,UAAEA,EAAkBzL,mBAApB,iBAAE,EAA+B/V,cAAjC,aAAE,EAAuCgvC,YAErD77B,SAAU,SAACxb,GACTsrB,EAAYtrB,MAGb,sBAAGA,EAAH,EAAGA,OAAQ6b,EAAX,EAAWA,aAAc7P,EAAzB,EAAyBA,cAAzB,OACC,0BAAMwP,SAAUK,EAAc/iB,UAAU,yBACtC,yBAAKA,UAAU,kBAEb,kBAACya,EAAA,EAAD,CAAK2rC,GAAG,IAAIC,GAAG,KACb,2BAAOrmD,UAAU,QAAjB,UACA,2BACE+C,KAAK,SACL/C,UAAU,eACVgG,KAAK,aACLoJ,YAAY,YACZjQ,MAAO+H,EAAOq3C,WACdlvC,SAAU,SAACC,GACT4D,EAAc,aAAc5D,EAAEM,OAAOzQ,OACrCugD,aAAahB,GACbA,EAAcx4C,YAAW,WACvB6c,MACC,SAIT,yBAAK/iB,UAAU,qBACb,2BAAOA,UAAU,QAAjB,YACA,kBAAC,IAAD,CACEI,GAAG,aACHi1C,SAAO,EACPl2C,MAAO+H,EAAOoS,WACdtT,KAAK,aACLmU,QAAO,OAAEglC,QAAF,IAAEA,GAAF,UAAEA,EAAgBhmC,iBAAlB,aAAE,EAA2BpV,KAAI,SAACwF,GACvC,MAAO,CAAEpK,MAAOoK,EAAE3F,GAAIJ,MAAO+F,EAAE2Z,KAAO,IAAM3Z,EAAE1F,SAEhD7D,UAAU,qBACVs1C,gBAAgB,SAChBjmC,SAAU,SAACC,GAEP4D,EAAc,aADN,OAAN5D,EAC0BA,EAEA,IAE9ByT,QAIN,yBAAK/iB,UAAU,qBACb,2BAAOA,UAAU,QAAjB,oBACA,kBAAC,IAAD,CACEI,GAAG,eACH4F,KAAK,eACLmU,QAAS,CACP,CAAE3W,MAAO,iBAAkBrE,MAAO,GAClC,CAAEqE,MAAO,MAAOrE,MAAO,OAEzBA,MAAO,CACL,CAAEqE,MAAO,iBAAkBrE,MAAO,GAClC,CAAEqE,MAAO,MAAOrE,MAAO,OACvBoQ,QAAO,SAAChG,GAAD,OAAOA,EAAEpK,QAAU+H,EAAO0+C,gBACnC5lD,UAAU,qBACVs1C,gBAAgB,SAChBjmC,SAAU,SAACC,GACT4D,EAAc,eAAgB5D,EAAEnQ,OAChC4jB,QAIN,yBAAK/iB,UAAU,qBACb,2BAAOA,UAAU,QAAjB,aACA,kBAAC,IAAD,CACEma,QACoB,OAAlBgsC,GAA4C,OAAlBA,EACtBA,EACA,GAENhnD,MAC6B,QAArB,OAAN+H,QAAM,IAANA,OAAA,EAAAA,EAAQ4+C,sBACqBhgD,KAArB,OAANoB,QAAM,IAANA,OAAA,EAAAA,EAAQ4+C,gBACN,CAAE3mD,MAAO,KAAMqE,MAAO,OACtB,CACArE,MAAK,OAAE+H,QAAF,IAAEA,OAAF,EAAEA,EAAQ4+C,eACftiD,MAAK,OAAE2iD,QAAF,IAAEA,GAAF,UAAEA,EAAehjC,MACpB,SAACtb,GAAD,OAAOA,EAAE1I,SAAF,OAAY+H,QAAZ,IAAYA,OAAZ,EAAYA,EAAQ4+C,0BADxB,aAAE,EAEJtiD,OAGTwC,KAAK,iBACLhG,UAAU,qBACVs1C,gBAAgB,SAChBjmC,SAAU,SAACC,GACT4D,EAAc,iBAAD,OAAmB5D,QAAnB,IAAmBA,OAAnB,EAAmBA,EAAGnQ,OACnC4jB,QAIN,yBAAK/iB,UAAU,qBACb,2BAAOA,UAAU,QAAjB,QACA,kBAAC,IAAD,CACEI,GAAG,SACHi1C,SAAO,EACPl2C,MAAO+H,EAAO2Q,OACd7R,KAAK,SACLmU,QAAO,OAAEglC,QAAF,IAAEA,GAAF,UAAEA,EAAgB/kC,aAAlB,aAAE,EAAuBrW,KAAI,SAACwF,GACnC,MAAO,CAAEpK,MAAOoK,EAAE3F,GAAIJ,MAAO+F,EAAE1F,SAEjC7D,UAAU,qBACVs1C,gBAAgB,SAChBjmC,SAAU,SAACC,GAEP4D,EAAc,SADN,OAAN5D,EACsBA,EAEA,IAE1ByT,cC1Lb,SAASuS,IAEd,IAAMxE,EAAqB3B,IACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACL9L,IAAK4L,EAAmB5L,IACxBuK,OAAQqB,EAAmBrB,OAC3BgB,0BAA2BK,EAAmBL,0BAC9CC,yBAA0BI,EAAmBJ,yBAC7CC,gCACEG,EAAmBH,mCAEtB,CAACG,IAEJ,OACE,yBAAK9wB,UAAU,QACb,yBAAKA,UAAU,4EACb,yBAAKA,UAAU,aACb,yBAAKA,UAAU,gCACb,yBAAKA,UAAU,iCACb,2BAAOA,UAAU,yBACf,yDAC0B,2BAAI+wB,EAAiB7L,IAAIrc,WAIvD,6BACE,4BACE9F,KAAK,SACL/C,UAAU,iDACVyM,QAASskB,EAAiBN,2BAE1B,uBAAGzwB,UAAU,gBALf,eADF,OASE,4BACE+C,KAAK,SACL/C,UAAU,wDACVyM,QAASskB,EAAiBL,0BAE1B,uBAAG1wB,UAAU,iBALf,mBATF,OAiBE,4BACE+C,KAAK,SACL/C,UAAU,wDACVyM,QAASskB,EAAiBJ,iCAE1B,uBAAG3wB,UAAU,mBALf,uB,8/MCUd,IAAM/B,GAAU,IAAIC,IAAa,MAC3BC,GAAKC,IAAIH,IACXqoD,GAAkB,GACJrwC,cAAW,SAACC,GAAD,MAAY,CACvCC,KAAM,CACJC,MAAO,QAETC,MAAO,CACLC,UAAWJ,EAAMK,QAAQ,GACzBH,MAAO,OACPI,UAAW,OACXC,aAAcP,EAAMK,QAAQ,QAUzB,SAASgf,KAAiB,IAAD,EACxBE,EAAUsqB,eAChB,EAAgC/yC,mBAAS,IAAzC,mBAAOgzC,EAAP,KAAiBC,EAAjB,KACA,EAA4CjzC,oBAAS,GAArD,mBAAOozC,EAAP,KAAuBC,EAAvB,KACA,EAAkDrzC,oBAAS,GAA3D,mBAAOszC,EAAP,KAA0BC,EAA1B,KACA,EAA8DvzC,oBAAS,GAAvE,mBAAOu5C,EAAP,KAAgCC,EAAhC,KACA,EAAwDx5C,oBAAS,GAAjE,mBAAOwzC,EAAP,KAA6BC,EAA7B,KACA,EAAkDzzC,oBAAS,GAA3D,mBAAOy5C,EAAP,KAA0BC,EAA1B,KACA,GAAsC15C,oBAAS,GAA/C,qBAAO25C,GAAP,MAAoBC,GAApB,MACM91B,GAAqB3B,IAC3B,GAAwCniB,mBAAS,IAAjD,qBAAOi0C,GAAP,MAAqBC,GAArB,MACA,GAAgDl0C,mBAAS,IAAzD,qBAAO65C,GAAP,MAAyBC,GAAzB,MACA,GAAoC95C,mBAAS,IAA7C,qBAAOm0C,GAAP,MAAmBC,GAAnB,MACA,GAA0Cp0C,mBAAS,IAAnD,qBAAOq0C,GAAP,MAAsBC,GAAtB,MACA,GAA6Ct0C,mBAAS,IAAtD,qBAAuB+5C,IAAvB,aAEA,GAAgD/5C,mBAAS,IAAzD,qBAAOg6C,GAAP,MAAyBC,GAAzB,MACA,GAA4Cj6C,mBAAS,IAArD,qBAAOk6C,GAAP,MAAuBC,GAAvB,MACA,GAA4Bn6C,mBAAS,MAArC,qBAAOo6C,GAAP,MAAeC,GAAf,MACA,GAAwCr6C,oBAAS,GAAjD,qBAAOs6C,GAAP,MAAqBC,GAArB,MACA,GAAsCv6C,mBAAS,MAA/C,qBAAOw6C,GAAP,MAAoBC,GAApB,MACA,GAAgCz6C,mBAAS,IAAzC,qBAAO06C,GAAP,MAAiBC,GAAjB,MACA,GAA4C36C,mBAAS,IAArD,qBAAO46C,GAAP,MAAuBC,GAAvB,MACA,GAA0C76C,oBAAS,GAAnD,qBAAO86C,GAAP,MAAsBC,GAAtB,MACA,GAA0C/6C,oBAAS,GAAnD,qBAAOg7C,GAAP,MAAsBC,GAAtB,MACA,GAAwCj7C,mBAAS,IAAjD,qBAEM+jB,IAFN,YAEyBC,mBAAQ,WAC/B,MAAO,CACL9L,IAAK4L,GAAmB5L,IACxBoL,uBAAwBQ,GAAmBR,uBAC3Cb,OAAQqB,GAAmBrB,OAC3BnK,YAAawL,GAAmBxL,YAChCoK,eAAgBoB,GAAmBpB,eACnCa,uBAAwBO,GAAmBP,uBAC3CC,yBAA0BM,GAAmBN,4BAE9C,CAACM,MAEJ,GAAoD9jB,mBAAS,CAC3D+hB,WAAY,EACZC,SAAU,EACVF,UAAW,KACXD,UAAW,SAJb,qBAAOgzB,GAAP,MAA2BC,GAA3B,MAOA,GAAwD90C,mBAAS,CAC/D4nB,QAAQ,EACRC,UArDgB,EAsDhB/F,UAAW,KACXD,UAAW,OACXN,gBAAiB,CACf,CAAEtvB,KAAM,IAAKE,MAAO,GACpB,CAAEF,KAAM,KAAME,MAAO,IACrB,CAAEF,KAAM,KAAME,MAAO,IACrB,CACEF,KAAMuC,OA7DM,GA8DZrC,MA9DY,IAiEhB41B,YAAa,EACbC,KAAM,EACN+sB,aAAa,IAhBf,qBAAOC,GAAP,MAA6BC,GAA7B,MAkBA,GAA8Dj1C,mBAAS,CACrE4nB,QAAQ,EACRC,UAtEmB,EAuEnB/F,UAAW,KACXD,UAAW,OACXN,gBAAiB,CACf,CAAEtvB,KAAM,IAAKE,MAAO,GACpB,CAAEF,KAAM,KAAME,MAAO,IACrB,CAAEF,KAAM,KAAME,MAAO,IACrB,CACEF,KAAMuC,OA9ES,GA+EfrC,MA/Ee,IAkFnB41B,YAAa,EACbC,KAAM,IAfR,qBAAOktB,GAAP,MAAgCC,GAAhC,MAiBA,GAGIn1C,mBAAS,CACX4nB,QAAQ,EACRC,UAxFyB,EAyFzB/F,UAAW,KACXD,UAAW,OACXN,gBAAiB,CACf,CAAEtvB,KAAM,IAAKE,MAAO,GACpB,CAAEF,KAAM,KAAME,MAAO,IACrB,CAAEF,KAAM,KAAME,MAAO,IACrB,CACEF,KAAMuC,OAhGe,GAiGrBrC,MAjGqB,IAoGzB41B,YAAa,EACbC,KAAM,IAlBR,qBACEkzB,GADF,MAEEC,GAFF,MAoBA,GAAoEn7C,mBAAS,CAC3E4nB,QAAQ,EACRC,UA1GsB,EA2GtB/F,UAAW,KACXD,UAAW,OACXN,gBAAiB,CACf,CAAEtvB,KAAM,IAAKE,MAAO,GACpB,CAAEF,KAAM,KAAME,MAAO,IACrB,CAAEF,KAAM,KAAME,MAAO,IACrB,CACEF,KAAMuC,OAlHY,GAmHlBrC,MAnHkB,IAsHtB41B,YAAa,EACbC,KAAM,IAfR,qBAAOotB,GAAP,MAAmCC,GAAnC,MAkBM+B,GAA2B,SAACrhD,EAAMshD,GACtC,GAAa,SAATthD,EAAiB,CACnB,IAAImE,EAAM,eAAQ86C,IAClB96C,EAAO4nB,UAAYu1B,EAASv1B,UAC5B5nB,EAAO2nB,UAAYw1B,EAASx1B,UAC5B3nB,EAAO66C,aAAc,EACrBE,GAAwB/6C,GAEtBm9C,EAASv1B,YAAckzB,GAAqBlzB,WAC5Cu1B,EAASx1B,YAAcmzB,GAAqBnzB,WAE5Cs1B,GACE,MACAnC,GAAqBhtB,KACrBgtB,GAAqBjtB,YACrBsvB,EAASv1B,UACTu1B,EAASx1B,WAIf,GAAa,eAAT9rB,EAAuB,CACzB,IAAImE,EAAM,eAAQ86C,IAClB96C,EAAO6tB,YAAcsvB,EAAStvB,YAC9B7tB,EAAO8tB,UAAyBlvB,IAAlBu+C,EAASrvB,KAAqB,EAAIqvB,EAASrvB,KACzD9tB,EAAO66C,aAAc,EACrBE,GAAwB/6C,GACxBi9C,GACE,WACkBr+C,IAAlBu+C,EAASrvB,KAAqB,EAAIqvB,EAASrvB,KAC3CqvB,EAAStvB,YACTitB,GAAqBlzB,UACrBkzB,GAAqBnzB,aAIrBy1B,GAA8B,SAACvhD,EAAMshD,GACzC,GAAa,SAATthD,EAAiB,CACnB,IAAImE,EAAM,eAAQg7C,IAClBh7C,EAAO4nB,UAAYu1B,EAASv1B,UAC5B5nB,EAAO2nB,UAAYw1B,EAASx1B,UAC5BszB,GAA2Bj7C,GAEzBm9C,EAASv1B,YAAcozB,GAAwBpzB,WAC/Cu1B,EAASx1B,YAAcqzB,GAAwBrzB,WAE/Cs1B,GACE,QACAjC,GAAwBltB,KACxBktB,GAAwBntB,YACxBsvB,EAASv1B,UACTu1B,EAASx1B,WAIf,GAAa,eAAT9rB,EAAuB,CACzB,IAAImE,EAAM,eAAQg7C,IAClBh7C,EAAO6tB,YAAcsvB,EAAStvB,YAC9B7tB,EAAO8tB,UAAyBlvB,IAAlBu+C,EAASrvB,KAAqB,EAAIqvB,EAASrvB,KACzDmtB,GAA2Bj7C,GAC3Bi9C,GACE,aACkBr+C,IAAlBu+C,EAASrvB,KAAqB,EAAIqvB,EAASrvB,KAC3CqvB,EAAStvB,YACTmtB,GAAwBpzB,UACxBozB,GAAwBrzB,aAIxBu5B,GAAoC,SAACrlD,EAAMshD,GAC/C,GAAa,SAATthD,EAAiB,CACnB,IAAImE,EAAM,eAAQghD,IAClBhhD,EAAO4nB,UAAYu1B,EAASv1B,UAC5B5nB,EAAO2nB,UAAYw1B,EAASx1B,UAC5Bs5B,GAAiCjhD,GAE/Bm9C,EAASv1B,YAAco5B,GAA8Bp5B,WACrDu1B,EAASx1B,YAAcq5B,GAA8Br5B,WAErDs1B,GACE,eACA+D,GAA8BlzB,KAC9BkzB,GAA8BnzB,YAC9BsvB,EAASv1B,UACTu1B,EAASx1B,WAIf,GAAa,eAAT9rB,EAAuB,CACzB,IAAImE,EAAM,eAAQghD,IAClBhhD,EAAO6tB,YAAcsvB,EAAStvB,YAC9B7tB,EAAO8tB,UAAyBlvB,IAAlBu+C,EAASrvB,KAAqB,EAAIqvB,EAASrvB,KACzDmzB,GAAiCjhD,GACjCi9C,GACE,oBACkBr+C,IAAlBu+C,EAASrvB,KAAqB,EAAIqvB,EAASrvB,KAC3CqvB,EAAStvB,YACTmzB,GAA8Bp5B,UAC9Bo5B,GAA8Br5B,aAI9B01B,GAAiC,SAACxhD,EAAMshD,GAC5C,GAAa,SAATthD,EAAiB,CACnB,IAAImE,EAAM,eAAQk7C,IAClBl7C,EAAO4nB,UAAYu1B,EAASv1B,UAC5B5nB,EAAO2nB,UAAYw1B,EAASx1B,UAC5BwzB,GAA8Bn7C,GAE5Bm9C,EAASv1B,YAAcszB,GAA2BtzB,WAClDu1B,EAASx1B,YAAcuzB,GAA2BvzB,WAElDs1B,GACE,OACA/B,GAA2BptB,KAC3BotB,GAA2BrtB,YAC3BsvB,EAASv1B,UACTu1B,EAASx1B,WAIf,GAAa,eAAT9rB,EAAuB,CACzB,IAAImE,EAAM,eAAQk7C,IAClBl7C,EAAO6tB,YAAcsvB,EAAStvB,YAC9B7tB,EAAO8tB,UAAyBlvB,IAAlBu+C,EAASrvB,KAAqB,EAAIqvB,EAASrvB,KACzDqtB,GAA8Bn7C,GAC9Bi9C,GACE,YACkBr+C,IAAlBu+C,EAASrvB,KAAqB,EAAIqvB,EAASrvB,KAC3CqvB,EAAStvB,YACTqtB,GAA2BtzB,UAC3BszB,GAA2BvzB,aAuB3Bw5B,GAAa,CACjB,CACEj8C,UAAW,KACXnN,KAAM,MACNyN,MAAM,EACNC,UAAWA,IACXN,UAAW,SAACC,EAAM9E,GAChB,OACE,kBAACizC,EAAA,EAAD,CAAUz6C,UAAU,iCAAiCE,YAAU,GAC7D,kBAACu6C,EAAA,EAASt6C,OAAV,CACEH,UAAU,wDACV2zB,QAAQ,cACRvzB,GAAG,sBACHC,GAAIioD,MAEJ,uBAAGtoD,UAAS,eAAUwH,EAAIo7C,OAAS,UAAY,YAC5Cp7C,EAAI5D,KAGT,kBAAC62C,EAAA,EAASj6C,KAAV,CAAeR,UAAU,mEACvB,wBAAIA,UAAU,wBACZ,wBAAIA,UAAU,aACZ,uBACE0I,KAAM,kBAAM,GACZ1I,UAAU,YACVyM,QAAS,WACP,IAAItN,EAAK,eAAQopD,IACjBppD,EAAMqpD,WAAahhD,EAAI5D,GACvB6kD,GAAYtpD,GACZunD,GAAqB,KAGvB,0BAAM1mD,UAAU,aACd,uBAAGA,UAAU,8BAEf,0BAAMA,UAAU,aAAhB,eAGJ,wBAAIA,UAAU,aACZ,uBACE0I,KAAM,kBAAM,GACZ1I,UAAU,YACVyM,QAAS,SAAC6C,GAGRuzC,aACEvzC,EADM,wCAGN9H,EAAI5D,MAIR,0BAAM5D,UAAU,aACd,uBAAGA,UAAU,kCAEf,0BAAMA,UAAU,aAAhB,qBAQdy0B,gBAAiB,CACflE,uBAAwBQ,GAAiBR,wBAE3ChwB,QAAS,mDACTm0B,cAAe,mBACftwB,MAAO,CACLuS,SAAU,UAGd,CACEvK,UAAW,eACXnN,KAAM,WACNyN,MAAM,EACNC,UAAWA,KAEb,CACEP,UAAW,OACXnN,KAAM,OACNyN,MAAM,EACNC,UAAWA,KAEb,CACEP,UAAW,KACXnN,KAAM,cACNyN,MAAM,EACNC,UAAWA,IACXN,UAAW,SAACC,EAAM9E,GAChB,OAAOA,EAAI2/B,SAAW,KAAO3/B,EAAI4/B,YAGrC,CACEh7B,UAAW,MACXnN,KAAM,eACNyN,MAAM,EACNC,UAAWA,IACXN,UAAW,SAACC,EAAM9E,GAChB,OAAOA,EAAI6/B,OAAS,KAAO7/B,EAAI8/B,UAGnC,CACEl7B,UAAW,eACXnN,KAAM,UACNyN,MAAM,EACNC,UAAWA,IACXN,UAAW,SAACC,EAAM9E,GAChB,OAAOQ,YAAeR,EAAIkhD,gBAG9B,CACEt8C,UAAW,mBACXnN,KAAM,YACNyN,MAAM,EACNC,UAAWA,IACXN,UAAW,SAACC,EAAM9E,GAChB,OAAOQ,YAAeR,EAAImhD,qBAI1BC,GAAe,CACnB,CACEx8C,UAAW,KACXnN,KAAM,UACNyN,MAAM,EACNC,UAAWA,IACXvI,MAAO,CACLgS,MAAO,QAET/J,UAAW,SAACC,EAAM9E,EAAKvD,GACrB,OACE,oCACE,kBAACw1C,EAAA,EAAD,CACEjtC,QACE,kBAAC4wB,EAAA,EAAD,CAASh9B,GAAG,4BAAZ,iBAGF,uBACEsI,KAAM,kBAAM,GACZ1I,UAAU,+CACVyM,QAAO,uBAAE,+EACH65C,GAAgB,MAAhB,OAAuB9+C,QAAvB,IAAuBA,OAAvB,EAAuBA,EAAK5D,KAC9B0iD,GAAkB,QAAC9+C,QAAD,IAACA,OAAD,EAACA,EAAK5D,IACxBmjD,GAAmB,MAEnBT,GAAkB,GAClBS,GAAmB,KANd,4CAUT,0BAAM/mD,UAAU,sCACd,kBAAC,KAAD,CACEwI,IAAKC,YAAc,iDASnC,CACE2D,UAAW,KACXnN,KAAM,MACNyN,MAAM,EACNC,UAAWA,IACXN,UAAW,SAACC,EAAM9E,GAChB,OACE,kBAACizC,EAAA,EAAD,CAAUz6C,UAAU,iCAAiCE,YAAU,GAC7D,kBAACu6C,EAAA,EAASt6C,OAAV,CACEH,UAAU,wDACV2zB,QAAQ,cACRvzB,GAAG,sBACHC,GAAIioD,MAEJ,uBAAGtoD,UAAS,eAAUwH,EAAIo7C,OAAS,UAAY,YAC5Cp7C,EAAI5D,KAGT,kBAAC62C,EAAA,EAASj6C,KAAV,CAAeR,UAAU,mEACvB,wBAAIA,UAAU,wBACZ,wBAAIA,UAAU,aACZ,uBACE0I,KAAM,kBAAM,GACZ1I,UAAU,YACVyM,QAAS,WACPi6C,GAAqB,GACrB,IAAIvnD,EAAK,eAAQopD,IACjBppD,EAAMqpD,WAAahhD,EAAI5D,GACvB6kD,GAAYtpD,KAGd,0BAAMa,UAAU,aACd,uBAAGA,UAAU,8BAEf,0BAAMA,UAAU,aAAhB,eAGJ,wBAAIA,UAAU,aACZ,uBACE0I,KAAM,kBAAM,GACZ1I,UAAU,YACVyM,QAAS,SAAC6C,GACRuzC,aACEvzC,EADM,wCAGN9H,EAAI5D,MAIR,0BAAM5D,UAAU,aACd,uBAAGA,UAAU,kCAEf,0BAAMA,UAAU,aAAhB,sBAShB,CACEoM,UAAW,eACXnN,KAAM,WACNyN,MAAM,EACNC,UAAWA,KAEb,CACEP,UAAW,OACXnN,KAAM,OACNyN,MAAM,EACNC,UAAWA,KAEb,CACEP,UAAW,KACXnN,KAAM,cACNyN,MAAM,EACNC,UAAWA,IACXN,UAAW,SAACC,EAAM9E,GAChB,OAAOA,EAAI2/B,SAAW,KAAO3/B,EAAI4/B,YAGrC,CACEh7B,UAAW,MACXnN,KAAM,eACNyN,MAAM,EACNC,UAAWA,IACXN,UAAW,SAACC,EAAM9E,GAChB,OAAOA,EAAI6/B,OAAS,KAAO7/B,EAAI8/B,UAGnC,CACEl7B,UAAW,eACXnN,KAAM,aACNyN,MAAM,EACNC,UAAWA,IACXN,UAAW,SAACC,EAAM9E,GAChB,OAAOQ,YAAeR,EAAIkhD,gBAG9B,CACEt8C,UAAW,mBACXnN,KAAM,YACNyN,MAAM,EACNC,UAAWA,IACXN,UAAW,SAACC,EAAM9E,GAChB,OAAOQ,YAAeR,EAAImhD,qBAI1BE,GAAc,CAClB,CACEz8C,UAAW,KACXnN,KAAM,MACNyN,MAAM,EACNC,UAAWA,IACXN,UAAW,SAACC,EAAM9E,GAChB,OACE,kBAACizC,EAAA,EAAD,CAAUz6C,UAAU,iCAAiCE,YAAU,GAC7D,kBAACu6C,EAAA,EAASt6C,OAAV,CACEH,UAAU,wDACV2zB,QAAQ,cACRvzB,GAAG,sBACHC,GAAIioD,MAEJ,uBAAGtoD,UAAS,eAAUwH,EAAIo7C,OAAS,UAAY,YAC5Cp7C,EAAI5D,KAGT,kBAAC62C,EAAA,EAASj6C,KAAV,CAAeR,UAAU,mEACvB,wBAAIA,UAAU,wBACZ,wBAAIA,UAAU,aACZ,uBACE0I,KAAM,kBAAM,GACZ1I,UAAU,YACVyM,QAAS,SAAC6C,GACRuzC,aACEvzC,EADM,wCAGN9H,EAAI5D,MAIR,0BAAM5D,UAAU,aACd,uBAAGA,UAAU,kCAEf,0BAAMA,UAAU,aAAhB,sBAShB,CACEoM,UAAW,eACXnN,KAAM,WACNyN,MAAM,EACNC,UAAWA,KAEb,CACEP,UAAW,OACXnN,KAAM,OACNyN,MAAM,EACNC,UAAWA,KAEb,CACEP,UAAW,KACXnN,KAAM,cACNyN,MAAM,EACNC,UAAWA,IACXN,UAAW,SAACC,EAAM9E,GAChB,OAAOA,EAAI2/B,SAAW,KAAO3/B,EAAI4/B,YAGrC,CACEh7B,UAAW,MACXnN,KAAM,eACNyN,MAAM,EACNC,UAAWA,IACXN,UAAW,SAACC,EAAM9E,GAChB,OAAOA,EAAI6/B,OAAS,KAAO7/B,EAAI8/B,UAGnC,CACEl7B,UAAW,eACXnN,KAAM,eACNyN,MAAM,EACNC,UAAWA,IACXN,UAAW,SAACC,EAAM9E,GAChB,OAAOQ,YAAeR,EAAIkhD,gBAG9B,CACEt8C,UAAW,mBACXnN,KAAM,YACNyN,MAAM,EACNC,UAAWA,IACXN,UAAW,SAACC,EAAM9E,GAChB,OAAOQ,YAAeR,EAAImhD,qBAI1BG,GAAsB,CAC1B,CACE18C,UAAW,KACXnN,KAAM,MACNyN,MAAM,EACNC,UAAWA,IACXN,UAAW,SAACC,EAAM9E,GAChB,OACE,kBAACizC,EAAA,EAAD,CAAUz6C,UAAU,iCAAiCE,YAAU,GAC7D,kBAACu6C,EAAA,EAASt6C,OAAV,CACEH,UAAU,wDACV2zB,QAAQ,cACRvzB,GAAG,sBACHC,GAAIioD,MAEJ,uBAAGtoD,UAAS,eAAUwH,EAAIo7C,OAAS,UAAY,YAC5Cp7C,EAAI5D,KAGT,kBAAC62C,EAAA,EAASj6C,KAAV,CAAeR,UAAU,mEACvB,wBAAIA,UAAU,wBACZ,wBAAIA,UAAU,aACZ,uBACE0I,KAAM,kBAAM,GACZ1I,UAAU,YACVyM,QAAS,SAAC6C,GACRuzC,aACEvzC,EADM,wCAGN9H,EAAI5D,MAIR,0BAAM5D,UAAU,aACd,uBAAGA,UAAU,kCAEf,0BAAMA,UAAU,aAAhB,sBAShB,CACEoM,UAAW,eACXnN,KAAM,WACNyN,MAAM,EACNC,UAAWA,KAEb,CACEP,UAAW,OACXnN,KAAM,OACNyN,MAAM,EACNC,UAAWA,KAEb,CACEP,UAAW,KACXnN,KAAM,cACNyN,MAAM,EACNC,UAAWA,IACXN,UAAW,SAACC,EAAM9E,GAChB,OAAOA,EAAI2/B,SAAW,KAAO3/B,EAAI4/B,YAGrC,CACEh7B,UAAW,MACXnN,KAAM,eACNyN,MAAM,EACNC,UAAWA,IACXN,UAAW,SAACC,EAAM9E,GAChB,OAAOA,EAAI6/B,OAAS,KAAO7/B,EAAI8/B,WAtsBP,SA2sBf6c,GA3sBe,0FA2sB9B,WACET,EACA1uB,EACAD,EACAjG,EACAD,GALF,2FAOU60B,EAPV,OAQS,QART,OAWS,UAXT,OAcS,SAdT,OAiBS,iBAjBT,8BASMrD,GAAkB,GATxB,mCAYME,GAAqB,GAZ3B,mCAeME,GAAwB,GAf9B,mCAkBM+F,GAA2B,GAlBjC,wEAuBMj3C,EAASwhB,GAAiBzL,YAAY/V,OACtC4J,EAAY5J,EAAO+J,WACV,GAEK,KAAdH,GAAkC,OAAdA,QAAoCrT,IAAdqT,IACxC+pC,EAAgB/pC,EAAUpV,KAAI,SAACwF,GAAD,OAAOA,EAAEpK,SAC3Cga,EAAY,eAAiB+pC,EAAcx7C,KAAK,iBAIpC,MAFV0S,EAAQ7K,EAAOsI,SAEW,OAAVuC,QAA4BtU,IAAVsU,IAChCkpC,EAAYlpC,EAAMrW,KAAI,SAACwF,GAAD,OAAOA,EAAEpK,SACnCib,EAAQ,WAAakpC,EAAU57C,KAAK,cAElC2N,EAAY,IAAIC,SACVC,OAAO,gBAAjB,iBAA4CpX,GAAG8L,OAAOC,WAAWyK,QAE7Da,EAAiB,CACnBjB,OAAQ,MACRE,QAASY,EACTI,SAAU,UA3Cd,UA8CQpB,MAAM,GAAD,OACNxP,OAAOyP,QADD,yCArBE,GAqBF,yBAEP/E,EAAOq2C,aAFA,qCAGUr2C,EAAOu2C,sBAHjB,QAGmC,MAHnC,OAIO,OAAd3sC,EAAqB,GAAKA,EAJnB,mBAOG,OAAViB,EAAiB,GAAKA,EAPf,uBAQM4a,EARN,qBAQuBD,EARvB,sBAQgDjG,EARhD,sBAQuED,GAChFrZ,GAECZ,MAAK,SAACC,GAAD,OAAcA,EAAS5V,UAC5B2V,MAAK,SAACzF,GAAY,IAAD,EAEQ,cADpBo0C,EAAUxiD,KAAKC,MAAMmO,GACzB,GAAiB,QAAbu0C,EACF1B,GAAqBntB,UAArB,OACE0uB,QADF,IACEA,GADF,UACEA,EAASwF,WADX,iBACE,EAAcpF,kBADhB,aACE,EAA0BC,eAC5B5B,GAAqBzzB,gBAAkB,CACrC,CAAEtvB,KAAM,IAAKE,MAAO,GACpB,CAAEF,KAAM,KAAME,MAAO,IACrB,CAAEF,KAAM,KAAME,MAAO,IACrB,CACEF,KAAMuC,OAAM,OAAC+hD,QAAD,IAACA,GAAD,UAACA,EAASwF,WAAV,iBAAC,EAAcpF,kBAAf,aAAC,EAA0BC,gBACvCzkD,MAAK,OAAEokD,QAAF,IAAEA,GAAF,UAAEA,EAASwF,WAAX,iBAAE,EAAcpF,kBAAhB,aAAE,EAA0BC,iBAGrC1C,GAAe,OAACqC,QAAD,IAACA,GAAD,UAACA,EAASwF,WAAV,aAAC,EAAc7E,gBACzB,GAAiB,UAAbR,EAAsB,CAAC,IAAD,cAE/BxB,GAAwBrtB,UAAxB,OACE0uB,QADF,IACEA,GADF,UACEA,EAASyF,iBADX,iBACE,EAAoBrF,kBADtB,aACE,EAAgCC,eAClC1B,GAAwB3zB,gBAAkB,CACxC,CAAEtvB,KAAM,IAAKE,MAAO,GACpB,CAAEF,KAAM,KAAME,MAAO,IACrB,CAAEF,KAAM,KAAME,MAAO,IACrB,CACEF,KAAMuC,OAAM,OAAC+hD,QAAD,IAACA,GAAD,UAACA,EAASyF,iBAAV,iBAAC,EAAoBrF,kBAArB,aAAC,EAAgCC,gBAC7CzkD,MAAK,OAAEokD,QAAF,IAAEA,GAAF,UAAEA,EAASyF,iBAAX,iBAAE,EAAoBrF,kBAAtB,aAAE,EAAgCC,iBAG3CxC,GAAa,OAACmC,QAAD,IAACA,GAAD,UAACA,EAASyF,iBAAV,aAAC,EAAoB9E,gBAC7B,GAAiB,iBAAbR,EAA6B,CAAC,IAAD,cAEtCwE,GAA8BrzB,UAA9B,OACE0uB,QADF,IACEA,GADF,UACEA,EAAS0F,oBADX,iBACE,EAAuBtF,kBADzB,aACE,EAAmCC,eACrCsE,GAA8B35B,gBAAkB,CAC9C,CAAEtvB,KAAM,IAAKE,MAAO,GACpB,CAAEF,KAAM,KAAME,MAAO,IACrB,CAAEF,KAAM,KAAME,MAAO,IACrB,CACEF,KAAMuC,OAAM,OAAC+hD,QAAD,IAACA,GAAD,UAACA,EAAS0F,oBAAV,iBAAC,EAAuBtF,kBAAxB,aAAC,EAAmCC,gBAChDzkD,MAAK,OAAEokD,QAAF,IAAEA,GAAF,UAAEA,EAAS0F,oBAAX,iBAAE,EAAuBtF,kBAAzB,aAAE,EAAmCC,iBAG9CkD,GAAmB,OAACvD,QAAD,IAACA,GAAD,UAACA,EAAS0F,oBAAV,aAAC,EAAuB/E,gBACtC,GAAiB,SAAbR,EAAqB,CAAC,IAAD,cAE9BtB,GAA2BvtB,UAA3B,OACE0uB,QADF,IACEA,GADF,UACEA,EAAS2F,oBADX,iBACE,EAAuBvF,kBADzB,aACE,EAAmCC,eACrCxB,GAA2B7zB,gBAAkB,CAC3C,CAAEtvB,KAAM,IAAKE,MAAO,GACpB,CAAEF,KAAM,KAAME,MAAO,IACrB,CAAEF,KAAM,KAAME,MAAO,IACrB,CACEF,KAAMuC,OAAM,OAAC+hD,QAAD,IAACA,GAAD,UAACA,EAAS2F,oBAAV,iBAAC,EAAuBvF,kBAAxB,aAAC,EAAmCC,gBAChDzkD,MAAK,OAAEokD,QAAF,IAAEA,GAAF,UAAEA,EAAS2F,oBAAX,iBAAE,EAAuBvF,kBAAzB,aAAE,EAAmCC,iBAG9CtC,GAAgB,OAACiC,QAAD,IAACA,GAAD,UAACA,EAAS2F,oBAAV,aAAC,EAAuBhF,WAE1C,IAAIh9C,EAAM,eAAQ26C,IAGlB,OAFA36C,EAAO8nB,SAAP,OAAkBu0B,QAAlB,IAAkBA,GAAlB,UAAkBA,EAAS2F,oBAA3B,aAAkB,EAAuBtF,eACzC9B,GAAsB56C,GACdw8C,GACN,IAAK,MACHrD,GAAkB,GAClB,MACF,IAAK,QACHE,GAAqB,GACrB,MACF,IAAK,OACHE,GAAwB,GACxB,MACF,IAAK,eACH+F,GAA2B,OAMhCrxC,OAAM,SAAC5K,GAAD,OAAWnH,QAAQC,IAAI,QAASkH,MAxI3C,6CA3sB8B,+BAq1Bfu4C,KAr1Be,+EAq1B9B,4GACErC,GAAwB,GACxBF,GAAqB,GACrBF,GAAkB,GACd9wC,EAASwhB,GAAiBzL,YAAY/V,OACtC4J,EAAY5J,EAAO+J,WACnB0pC,EACoB,OAAtBzzC,EAAOgvC,iBAA6Cz4C,IAAtByJ,EAAOgvC,WACjChvC,EAAOgvC,WACP,GAEY,KAAdplC,GAAkC,OAAdA,QAAoCrT,IAAdqT,IACxC+pC,EAAgB/pC,EAAUpV,KAAI,SAACwF,GAAD,OAAOA,EAAEpK,SAC3Cga,EAAY,eAAiB+pC,EAAcx7C,KAAK,iBAIpC,MAFV0S,EAAQ7K,EAAOsI,SAEW,OAAVuC,QAA4BtU,IAAVsU,IAChCkpC,EAAYlpC,EAAMrW,KAAI,SAACwF,GAAD,OAAOA,EAAEpK,SACnCib,EAAQ,WAAakpC,EAAU57C,KAAK,cAElC2N,EAAY,IAAIC,SACVC,OAAO,gBAAjB,iBAA4CpX,GAAG8L,OAAOC,WAAWyK,QAE7Da,EAAiB,CACnBjB,OAAQ,MACRE,QAASY,EACTI,SAAU,UA3Bd,UA8BQpB,MAAM,GAAD,OAEPxP,OAAOyP,QAFA,yCAGwB0uC,GAHxB,OAGiC7pC,GAHjC,OAG6CiB,EAH7C,yBAIP7K,EAAOq2C,aAJA,qCAKUr2C,EAAOu2C,sBALjB,QAMP,KANO,eAMY,EANZ,aAM0B,GACnCtwC,GAECZ,KATG,wCASE,WAAOC,GAAP,yEACoB,MAApBA,EAASE,QACX0gB,EAAQ3sB,KAAK,cAFX,kBAIG+L,EAAS5V,QAJZ,2CATF,uDAeH2V,MAAK,SAACzF,GAAY,IAAD,wDACZo0C,EAAUxiD,KAAKC,MAAMmO,GACrBq0C,EAAqB,eAAQxB,IACjCwB,EAAsBzB,aAAc,EACpCyB,EAAsB3uB,UAAtB,OACE0uB,QADF,IACEA,GADF,UACEA,EAASwF,WADX,iBACE,EAAcpF,kBADhB,aACE,EAA0BC,eAC5BJ,EAAsBj1B,gBAAkB,CACtC,CAAEtvB,KAAM,IAAKE,MAAO,GACpB,CAAEF,KAAM,KAAME,MAAO,IACrB,CAAEF,KAAM,KAAME,MAAO,IACrB,CACEF,KAAMuC,OAAM,OAAC+hD,QAAD,IAACA,GAAD,UAACA,EAASwF,WAAV,iBAAC,EAAcpF,kBAAf,aAAC,EAA0BC,gBACvCzkD,MAAK,OAAEokD,QAAF,IAAEA,GAAF,UAAEA,EAASwF,WAAX,iBAAE,EAAcpF,kBAAhB,aAAE,EAA0BC,iBAGrCJ,EAAsBxuB,KAAO,EAC7BitB,GAAwBuB,GAExB,IAAIK,EAAwB,eAAQ3B,IAEpC2B,EAAyBhvB,UAAzB,OACE0uB,QADF,IACEA,GADF,UACEA,EAASyF,iBADX,iBACE,EAAoBrF,kBADtB,aACE,EAAgCC,eAClCC,EAAyBt1B,gBAAkB,CACzC,CAAEtvB,KAAM,IAAKE,MAAO,GACpB,CAAEF,KAAM,KAAME,MAAO,IACrB,CAAEF,KAAM,KAAME,MAAO,IACrB,CACEF,KAAMuC,OAAM,OAAC+hD,QAAD,IAACA,GAAD,UAACA,EAASyF,iBAAV,iBAAC,EAAoBrF,kBAArB,aAAC,EAAgCC,gBAC7CzkD,MAAK,OAAEokD,QAAF,IAAEA,GAAF,UAAEA,EAASyF,iBAAX,iBAAE,EAAoBrF,kBAAtB,aAAE,EAAgCC,iBAG3CC,EAAyB7uB,KAAO,EAChCmtB,GAA2B0B,GAG3B,IAAIsF,EAA8B,eAC7BjB,IAGLiB,EAA+Bt0B,UAA/B,OACE0uB,QADF,IACEA,GADF,UACEA,EAAS0F,oBADX,iBACE,EAAuBtF,kBADzB,aACE,EAAmCC,eACrCuF,EAA+B56B,gBAAkB,CAC/C,CAAEtvB,KAAM,IAAKE,MAAO,GACpB,CAAEF,KAAM,KAAME,MAAO,IACrB,CAAEF,KAAM,KAAME,MAAO,IACrB,CACEF,KAAMuC,OAAM,OAAC+hD,QAAD,IAACA,GAAD,UAACA,EAAS0F,oBAAV,iBAAC,EAAuBtF,kBAAxB,aAAC,EAAmCC,gBAChDzkD,MAAK,OAAEokD,QAAF,IAAEA,GAAF,UAAEA,EAAS0F,oBAAX,iBAAE,EAAuBtF,kBAAzB,aAAE,EAAmCC,iBAG9CuF,EAA+Bn0B,KAAO,EACtCmzB,GAAiCgB,GAEjC,IAAIrF,EAA2B,eAAQ1B,IACvC0B,EAA4BjvB,UAA5B,OACE0uB,QADF,IACEA,GADF,UACEA,EAAS2F,oBADX,iBACE,EAAuBvF,kBADzB,aACE,EAAmCC,eACrCE,EAA4Bv1B,gBAAkB,CAC5C,CAAEtvB,KAAM,IAAKE,MAAO,GACpB,CAAEF,KAAM,KAAME,MAAO,IACrB,CAAEF,KAAM,KAAME,MAAO,IACrB,CACEF,KAAMuC,OAAM,OAAC+hD,QAAD,IAACA,GAAD,UAACA,EAAS2F,oBAAV,iBAAC,EAAuBvF,kBAAxB,aAAC,EAAmCC,gBAChDzkD,MAAK,OAAEokD,QAAF,IAAEA,GAAF,UAAEA,EAAS2F,oBAAX,iBAAE,EAAuBvF,kBAAzB,aAAE,EAAmCC,iBAG9CE,EAA4B9uB,KAAO,EACnCqtB,GAA8ByB,GAE9B5C,GAAe,OAACqC,QAAD,IAACA,GAAD,UAACA,EAASwF,WAAV,aAAC,EAAc7E,WAC9B9C,GAAa,OAACmC,QAAD,IAACA,GAAD,UAACA,EAASyF,iBAAV,aAAC,EAAoB9E,WAClC5C,GAAgB,OAACiC,QAAD,IAACA,GAAD,UAACA,EAAS2F,oBAAV,aAAC,EAAuBhF,WACxC4C,GAAmB,OAACvD,QAAD,IAACA,GAAD,UAACA,EAAS0F,oBAAV,aAAC,EAAuB/E,WAE3CzD,GAAwB,GACxBF,GAAqB,GACrBF,GAAkB,GAClBmG,GAA2B,MAE5BrxC,OAAM,SAAC5K,GAAD,OAAWnH,QAAQC,IAAI,QAASkH,MA3H3C,6CAr1B8B,sBAk9B9B,OAAgCyC,mBAAS,CACvCw7C,WAAY,GACZY,SAAU,GACVC,WAAY,GACZC,WAAY,GACZC,OAAQ,KACRC,sBAAuB,KACvBC,aAAc,KACdC,YAAY,IARd,qBAAOnB,GAAP,MAAiBE,GAAjB,MAl9B8B,+CA49B9B,WAAoCjD,EAAI4D,EAAUC,EAAYE,GAA9D,2EACMl0C,EAAY,IAAIC,SACVC,OAAO,gBAAjB,iBAA4CpX,GAAG8L,OAAOC,WAAWyK,QAC7Da,EAAiB,CACnBjB,OAAQ,MACRE,QAASY,EACTI,SAAU,UAGZpB,MAAM,GAAD,OACAxP,OAAOyP,QADP,yBAC+BkxC,EAD/B,qBAC8C4D,GACjD5zC,GAECZ,MAAK,SAACC,GAAD,OAAcA,EAAS5V,UAC5B2V,MAAK,SAACzF,GAAY,IAAD,4DACZw6C,EAAY5oD,KAAKC,MAAMmO,GAC3B83C,IAA6B,OAAT0C,QAAS,IAATA,OAAA,EAAAA,EAAWC,SAAU,IACzCnC,GAAe,6BAAD,OACiBjC,EADjB,0BACyBmE,QADzB,IACyBA,GADzB,UACyBA,EAAWE,gBADpC,aACyB,EAAqB1iB,SAD9C,mBAC0DwiB,QAD1D,IAC0DA,GAD1D,UAC0DA,EAAWE,gBADrE,aAC0D,EAAqBziB,UAD/E,sBAC+FuiB,QAD/F,IAC+FA,GAD/F,UAC+FA,EAAWE,gBAD1G,aAC+F,EAAqBxiB,OADpH,mBAC8HsiB,QAD9H,IAC8HA,GAD9H,UAC8HA,EAAWE,gBADzI,aAC8H,EAAqBviB,UAEjKqgB,GAAY,YAAD,OACG0B,EADH,4JAE2B,QAAzB,OAATM,QAAS,IAATA,GAAA,UAAAA,EAAWE,gBAAX,eAAqB1iB,UAArB,OACIwiB,QADJ,IACIA,GADJ,UACIA,EAAWE,gBADf,aACI,EAAqB1iB,SACrB,GAJG,YAM4B,QAA1B,OAATwiB,QAAS,IAATA,GAAA,UAAAA,EAAWE,gBAAX,eAAqBziB,WAArB,OACIuiB,QADJ,IACIA,GADJ,UACIA,EAAWE,gBADf,aACI,EAAqBziB,UACrB,GARG,6CAUyB,QAAvB,OAATuiB,QAAS,IAATA,GAAA,UAAAA,EAAWE,gBAAX,eAAqBxiB,QAArB,OACIsiB,QADJ,IACIA,GADJ,UACIA,EAAWE,gBADf,aACI,EAAqBxiB,OACrB,GAZG,YAc0B,QAAxB,OAATsiB,QAAS,IAATA,GAAA,UAAAA,EAAWE,gBAAX,eAAqBviB,SAArB,OACIqiB,QADJ,IACIA,GADJ,UACIA,EAAWE,gBADf,aACI,EAAqBviB,QACrB,GAhBG,oDAkB+B,QAA7B,OAATqiB,QAAS,IAATA,GAAA,UAAAA,EAAWE,gBAAX,eAAqBC,cACjBvoD,KAAM,OAACooD,QAAD,IAACA,GAAD,UAACA,EAAWE,gBAAZ,aAAC,EAAqBC,cAActgD,OAAO,cACjD,GApBG,eAsB8B,QAA5B,OAATmgD,QAAS,IAATA,GAAA,UAAAA,EAAWE,gBAAX,eAAqBE,aACjBxoD,KAAM,OAACooD,QAAD,IAACA,GAAD,UAACA,EAAWE,gBAAZ,aAAC,EAAqBE,aAAavgD,OAAO,cAChD,GAxBG,yCA0BmC,QAAjC,OAATmgD,QAAS,IAATA,GAAA,UAAAA,EAAWE,gBAAX,eAAqBG,kBACjBzoD,KAAM,OAACooD,QAAD,IAACA,GAAD,UAACA,EAAWE,gBAAZ,aAAC,EAAqBG,kBAAkBxgD,OAC5C,cAEF,GA9BG,mDAgC8B1D,KAA5B,OAAT6jD,QAAS,IAATA,GAAA,UAAAA,EAAWE,gBAAX,eAAqBI,cACgB,QAA5B,OAATN,QAAS,IAATA,GAAA,UAAAA,EAAWE,gBAAX,eAAqBI,aADrB,OAEIN,QAFJ,IAEIA,GAFJ,UAEIA,EAAWE,gBAFf,iBAEI,EAAqBI,mBAFzB,aAEI,EAAkCviD,KAAK,MACvC,GAnCG,4CAqC0B,QAAxB,OAATiiD,QAAS,IAATA,GAAA,UAAAA,EAAWE,gBAAX,eAAqBxrC,SAArB,OACIsrC,QADJ,IACIA,GADJ,UACIA,EAAWE,gBADf,aACI,EAAqBxrC,QACrB,GAvCG,2CAyCyB,QAAvB,OAATsrC,QAAS,IAATA,GAAA,UAAAA,EAAWE,gBAAX,eAAqBnsC,QAArB,OACIisC,QADJ,IACIA,GADJ,UACIA,EAAWE,gBADf,aACI,EAAqBnsC,OACrB,GA3CG,2CA6CyB,QAAvB,OAATisC,QAAS,IAATA,GAAA,UAAAA,EAAWE,gBAAX,eAAqBhsC,QAArB,OACI8rC,QADJ,IACIA,GADJ,UACIA,EAAWE,gBADf,aACI,EAAqBhsC,OACrB,GA/CG,0DAiD6B,QAA3B,OAAT8rC,QAAS,IAATA,GAAA,UAAAA,EAAWE,gBAAX,eAAqBP,YAArB,OACIK,QADJ,IACIA,GADJ,UACIA,EAAWE,gBADf,aACI,EAAqBP,WACrB,GAnDG,iEAoDgDC,EApDhD,uCAsDXtB,IAAiB,MAElB9yC,OAAM,SAAC5K,GAAD,OAAWnH,QAAQC,IAAI,QAASkH,MA5E3C,4CA59B8B,sBA0iC9BuJ,qBAAU,WACRgvC,OACC,CAAC/xB,GAAiBzL,cAErBxR,qBAAU,YAKV,WACE,IAAIuB,EAAY,IAAIC,QACpBD,EAAUE,OAAO,gBAAjB,iBAA4CpX,GAAG8L,OAAOC,WAAWyK,QAEjE,IAAIa,EAAiB,CACnBjB,OAAQ,MACRE,QAASY,EACTI,SAAU,UAGZpB,MAAM,GAAD,OAAIxP,OAAOyP,QAAX,mCAAqDkB,GACvDZ,MAAK,SAACC,GAAD,OAAcA,EAAS5V,UAC5B2V,MAAK,SAACzF,GACL,IAAI2d,EAAM/rB,KAAKC,MAAMmO,GACrBiwC,GAAkBtyB,GAClBjoB,OAAOqlD,sBAA0B,OAAHp9B,QAAG,IAAHA,OAAA,EAAAA,EAAKq9B,UAAW,MAE/Ch1C,OAAM,SAAC5K,GAAD,OAAWnH,QAAQC,IAAI,QAASkH,MArBzC80C,KACC,IACH,OAA4CryC,mBAAS,IAArD,qBAAOmyC,GAAP,MAAuBC,GAAvB,MAjjC8B,+CAukC9B,gGACiB,OAAXgI,GADN,uBAEIxnD,aAAa,QAAS,0BAF1B,iCAMEmoD,IAAiB,GACbxlD,EAAO,GAETA,OADuCuD,IAArCjB,OAAOulD,0BACF,CACLC,IAAG,UAAExlD,OAAOulD,iCAAT,aAAE,EAAkCrmD,KAAI,SAASC,GAClD,OAAOA,EAAK5D,MAEdwpD,OAAQxC,GACRkD,QAAS9C,GACT/1C,KAAMi2C,GACN6C,UAAWjD,GACXkD,YAAa5C,GACb6C,KAAK,EACLC,kBAAkB,EAClBC,kBAAkB,GAGb,CACLf,OAAQxC,GACRkD,QAAS9C,GACT/1C,KAAMi2C,GACN6C,UAAWjD,GACXkD,YAAa5C,GACb6C,KAAK,EACLC,kBAAkB,EAClBC,kBAAkB,GAIlBC,EAAM7pD,KAAKE,UAAUsB,GACrBiT,EAAiB,CACnBjB,OAAQ,OACRnV,KAAMwrD,EACNn1C,SAAU,SACVjB,iBAAiB,EACjBC,QAAS,CACPC,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,qBAGhB3C,EAAM,GAERA,OADuClM,IAArCjB,OAAOulD,0BACH,sCAEA,wBAA0B7B,GAASC,WAnD7C,UAqDuBn0C,MAAM,GAAD,OAAIxP,OAAOyP,SAAX,OAAqBtC,GAAOwD,GArDxD,QAsD0B,MAtD1B,OAsDeT,QACXnV,aACE,UACA,0CAA4C2oD,GAASC,YAEvDnB,GAAU,MACVF,GAAkB,MAClBM,GAAe,MACfE,GAAY,IACZJ,IAAgB,GAChBM,GAAkB,KAElBjoD,aAAa,QAAS,gBAExB6oD,GAAY,CACVD,WAAY,GACZY,SAAU,GACVC,WAAY,GACZC,WAAY,GACZC,OAAQ,KACRC,sBAAuB,KACvBC,aAAc,KACdC,YAAY,IAEd3B,IAAiB,GACjBE,IAAiB,GA/EnB,6CAvkC8B,sBAypC9B,IAAM15C,GAAY,CAChBC,SAAU,SAAChH,GAAS,IAAD,EACjB,OACE,kBAACy2B,GAAA,EAAD,KACE,kBAACnC,GAAA,EAAD,KACE,kBAACC,GAAA,EAAD,KACE,kBAACC,GAAA,EAAD,WACA,kBAACA,GAAA,EAAD,gBACA,kBAACA,GAAA,EAAD,mBACA,kBAACA,GAAA,EAAD,eAGJ,kBAACmC,GAAA,EAAD,YACG32B,QADH,IACGA,GADH,UACGA,EAAKwhD,iBADR,aACG,EAAgBjlD,KAAI,SAACC,EAAMC,GAAP,OACnB,kBAAC83B,GAAA,EAAD,CAAUz0B,IAAKrD,GACb,kBAAC+3B,GAAA,EAAD,CAAWttB,UAAU,KAAKC,MAAM,OAC9B,kBAAC8qC,EAAA,EAAD,CACEjtC,QACE,kBAAC4wB,EAAA,EAAD,CAASh9B,GAAG,4BAAZ,eAKF,uBACEsI,KAAM,kBAAM,GACZ1I,UAAU,kDACVyM,QAAO,uBAAE,yFACPm6C,IAAe,IAEXvxC,EAAY,IAAIC,SACVC,OACR,gBADF,iBAEYpX,GAAG8L,OAAOC,WAAWyK,QAEjCU,EAAUE,OAAO,eAAgB,oBAC7Bq1C,EAAM7pD,KAAKE,UAAU,CACvB2C,GAAII,EAAKJ,GACTq+B,OAAO,EACPrhC,KAAM,IAEJ4U,EAAiB,CACnBjB,OAAQ,OACRE,QAASY,EACTjW,KAAMwrD,EACNn1C,SAAU,UAGZpB,MAAM,GAAD,OAAIxP,OAAOyP,QAAX,kBAAoCkB,GACtCZ,KADH,wCACQ,WAAOC,GAAP,0FACqBA,EAASE,OAD9B,UACED,EADF,SAEEY,EAAcb,EAASJ,QAAQkB,IACnC,mBAI6C,IAA7CD,EAAYE,QAAQ,oBAPlB,yCASKf,EACJ1N,OACAyN,MAAK,SAACrS,GAAD,MAAU,CAACuS,EAAYvS,OAX7B,gCAaKsS,EACJ5V,OACA2V,MAAK,SAAC3V,GAAD,MAAU,CAAC6V,EAAY,CAAEe,QAAS,SAfxC,2CADR,uDAmBGjB,MAAK,SAACzF,GACL,GAAkB,MAAdA,EAAO,GACTvP,aAAa,UAAD,wBACZkjD,KACA8D,IAAe,OACV,CACL,GAC2B,OAAzBz3C,EAAO,GAAG07C,iBACe/kD,IAAzBqJ,EAAO,GAAG07C,YACe,KAAzB17C,EAAO,GAAG07C,WACV,CACA,IAAIC,EAAa37C,EAAO,GAAG07C,WACvBC,GACF1pD,OAAOC,KAAKypD,GAAY5pD,SAAQ,SAASI,GACvCwpD,EAAWxpD,GAAGJ,SAAQ,SAACiP,GACrBvQ,aAAa,aAAcuQ,cAIX,OAAtBhB,EAAO,GAAG0G,cACY/P,IAAtBqJ,EAAO,GAAG0G,SACY,KAAtB1G,EAAO,GAAG0G,QAEVjW,aAAa,aAAcuP,EAAO,GAAG0G,SAErCjW,aAAa,aAAc,mBAE7BgnD,IAAe,OAGlBzxC,OAAM,SAAC5K,GACNnH,QAAQC,IAAI,QAASkH,GACrB3K,aAAa,aAAc,mBAC3BgnD,IAAe,MAzEZ,4CA6ET,0BAAM5mD,UAAU,yCACd,kBAAC,KAAD,CACEwI,IAAKC,YACH,+CAOZ,kBAACuzB,GAAA,EAAD,CAAWttB,UAAU,KAAKC,MAAM,OAC7B3K,EAAK0yB,SAER,kBAACsF,GAAA,EAAD,CAAWttB,UAAU,KAAKC,MAAM,OAC7B3G,YAAehE,EAAK+mD,YAEvB,kBAAC/uB,GAAA,EAAD,CAAWttB,UAAU,KAAKC,MAAM,OAC7B3K,EAAKgnD,aAQpBC,SAAU3E,GACV4E,oBAAoB,GAGtB,OACE,oCACE,kBAACzkC,EAAA,EAAD,CACEtV,KAAK,KACLC,KAAM42C,GACN12C,kBAAgB,gCAEhB,kBAACmV,EAAA,EAAMlV,OAAP,KACE,kBAACkV,EAAA,EAAM9U,MAAP,CAAavR,GAAG,gCAAhB,uBAGA,kBAACi9B,GAAA,EAAD,CACEr9B,UAAU,+CACVwR,aAAW,QACX/E,QAAS,WACPg8C,GAAY,CACVD,WAAY,GACZY,SAAU,GACVC,WAAY,GAEZC,WAAY,GACZC,OAAQ,KACRC,sBAAuB,KACvBC,aAAc,KACdC,YAAY,IAEdzB,IAAiB,KAGnB,kBAAC,IAAD,QAGJ,kBAACxhC,EAAA,EAAMhV,KAAP,KACE,yBAAKzR,UAAU,aACb,yBAAKA,UAAU,OACb,yBAAKA,UAAU,aACb,uBAAGA,UAAU,QAAb,QACCgnD,IACC,kBAAC,IAAD,CACE3R,SAAO,EACPrvC,KAAK,KACL5F,GAAG,KACHjB,MAAO+nD,GACP/sC,QAAS6sC,GAAiBjjD,KAAI,SAACwF,GAC7B,MAAO,CAAEpK,MAAOoK,EAAE26B,MAAO1gC,MAAO+F,EAAE26B,UAEpClkC,UAAU,qBACVs1C,gBAAgB,SAChBjmC,SAAU,SAACC,GACT,IAAIwd,EAAM,GACNq+B,EAAc,GACd77C,GACFA,EAAEvL,KAAI,SAACC,GASL,OARA8oB,EAAIhkB,KAAK,CACPo7B,MAAOlgC,EAAK7E,MACZ0E,KAAMG,EAAK7E,QAEbgsD,EAAYriD,KAAK,CACf3J,MAAO6E,EAAK7E,MACZqE,MAAOQ,EAAK7E,QAEP,QAGXgoD,GAAkBgE,GAClB9D,GAAUv6B,MAKhB,kBAAC,IAAD,CACEpO,KAAK,OACL1Y,KAAK,WACL/G,KAAK,mBACLoQ,SAAU,SAAC4E,GACTszC,GAAgBtzC,EAAMrE,OAAOknB,aAInC,yBAAK92B,UAAU,kBACb,uBAAGA,UAAU,QAAb,aACA,2BACEgG,KAAK,UACLhG,UAAU,eACVoP,YAAY,UACZjQ,MAAOqoD,GACPn4C,SAAU,SAAC4E,GACTwzC,GAAexzC,EAAMrE,OAAOzQ,WAIlC,yBAAKa,UAAU,kBACb,uBAAGA,UAAU,QAAb,UAEA,kBAAC,WAAD,CACEgG,KAAK,OACLpC,GAAG,OACHJ,MAAM,OACN4nD,OAAQC,IACRC,OAAQ,CACNC,cAAe,CACb,QACA,eACA,aACA,eACA,cACA,eAGJhpD,KAAMmlD,GACNp0B,OAAQ,SAACrf,EAAOm3C,GACd,IAAM7oD,EAAO6oD,EAAOI,UACpB7D,GAAYplD,UAOxB,kBAACkkB,EAAA,EAAM/U,OAAP,KACE,6BACE,4BACE3O,KAAK,SACL0J,QAAS,WACPg8C,GAAY,CACVD,WAAY,GACZY,SAAU,GACVC,WAAY,GAEZC,WAAY,GACZC,OAAQ,KACRC,sBAAuB,KACvBC,aAAc,KACdC,YAAY,IAEdzB,IAAiB,IAEnBjoD,UAAU,6BAhBZ,UAoBA,yCACA,4BACE+C,KAAK,SACL0J,QA76CkB,4CA86ClB0G,SAAU20C,GACV9nD,UAAU,8BAJZ,aAOG8nD,IACC,kBAAChI,EAAA,EAAD,CACEz/C,GAAG,OACHorD,UAAU,SACVt6C,KAAK,KACL2tB,KAAK,SACL4sB,cAAY,aAOxB,kBAACjlC,EAAA,EAAD,CACEtV,KAAK,KACLC,KAAMq1C,EACNn1C,kBAAgB,gCAEhB,kBAACmV,EAAA,EAAMlV,OAAP,CAAcmV,aAAW,GACvB,kBAACD,EAAA,EAAM9U,MAAP,CAAavR,GAAG,gCAAhB,cAEF,kBAACqmB,EAAA,EAAMhV,KAAP,KACE,yBAAKzR,UAAU,kBACb,yBAAKA,UAAU,aACb,2BAAOmiC,IAAI,mBAAX,WAEA,kBAAC,IAAD,CACEjoB,aAAW,EACXlU,KAAK,WACL5F,GAAG,WACHoD,MAAM,eACN+nB,QAAQ,sBACRpR,QAAO,OAAEglC,SAAF,IAAEA,IAAF,UAAEA,GAAgBgL,eAAlB,aAAE,EAAyBpmD,KAAI,SAACwF,GACrC,MAAO,CAAEpK,MAAOoK,EAAE3F,GAAIJ,MAAO+F,EAAE2Z,KAAO,IAAM3Z,EAAE1F,SAEhDwL,SAAU,SAACC,GACT,GAAU,OAANA,EAAY,CACd,IAAInQ,EAAK,eAAQopD,IACjBppD,EAAMiqD,SAAN,OAAiB95C,QAAjB,IAAiBA,OAAjB,EAAiBA,EAAGnQ,MACpBA,EAAMkqD,WAAN,OAAmB/5C,QAAnB,IAAmBA,OAAnB,EAAmBA,EAAG9L,MACtBilD,GAAYtpD,QAMpB,yBAAKa,UAAU,iBACb,2BAAOmiC,IAAI,mBAAX,eACA,2BACEp/B,KAAK,OACL/C,UAAU,eACVgG,KAAK,aACL5F,GAAG,aACHiP,SAAU,SAACC,GACT,IAAInQ,EAAK,eAAQopD,IACjBppD,EAAMmqD,WAAN,OAAmBh6C,QAAnB,IAAmBA,OAAnB,EAAmBA,EAAGM,OAAOzQ,MAC7BspD,GAAYtpD,OAIlB,yBAAKa,UAAU,iBACb,2BAAOmiC,IAAI,mBAAX,QACA,2BACEp/B,KAAK,SACL/C,UAAU,eACVgG,KAAK,SACL5F,GAAG,SACHiP,SAAU,SAACC,GACT,IAAInQ,EAAK,eAAQopD,IACjBppD,EAAMoqD,OAAN,OAAej6C,QAAf,IAAeA,OAAf,EAAeA,EAAGM,OAAOzQ,MACzBspD,GAAYtpD,OAIlB,yBAAKa,UAAU,iBACb,2BAAOmiC,IAAI,mBAAX,WAEA,2BACEniC,UAAU,eACVI,GAAG,wBACH4F,KAAK,wBACLjD,KAAK,OACLsM,SAAU,SAACC,GACT,IAAInQ,EAAK,eAAQopD,IACjBppD,EAAMqqD,sBAAN,OAA8Bl6C,QAA9B,IAA8BA,OAA9B,EAA8BA,EAAGM,OAAOzQ,MACxCspD,GAAYtpD,OAIlB,yBAAKa,UAAU,iBACb,2BAAOmiC,IAAI,mBAAX,YAEA,2BACEniC,UAAU,eACVI,GAAG,eACH4F,KAAK,eACLjD,KAAK,OACLsM,SAAU,SAACC,GACT,IAAInQ,EAAK,eAAQopD,IACjBppD,EAAMsqD,aAAN,OAAqBn6C,QAArB,IAAqBA,OAArB,EAAqBA,EAAGM,OAAOzQ,MAC/BspD,GAAYtpD,OAKlB,yBAAKa,UAAU,iBACb,kBAAC,IAAD,CACEA,UAAU,eACVf,KAAK,mBACL8P,MAAM,UACN+nB,QAASyxB,GAASmB,WAClBr6C,SAAU,SAACC,GACT,IAAInQ,EAAK,eAAQopD,IACjBppD,EAAMuqD,WAAN,OAAmBp6C,QAAnB,IAAmBA,OAAnB,EAAmBA,EAAGM,OAAOknB,QAC7B2xB,GAAYtpD,SAMtB,kBAACsnB,EAAA,EAAM/U,OAAP,KACE,4BACEjF,QAAS,WACPi6C,GAAqB,GACrB+B,GAAY,CACVD,WAAY,GACZY,SAAU,GACVC,WAAY,GAEZC,WAAY,GACZC,OAAQ,KACRC,sBAAuB,KACvBC,aAAc,KACdC,YAAY,KAGhB1pD,UAAU,+BAfZ,UAmBA,4BACEA,UAAU,8BACVyM,QAAS,WACP,GACwB,OAAtB87C,GAASa,UACa,KAAtBb,GAASa,eACatjD,IAAtByiD,GAASa,SAKX,GACqC,OAAnCb,GAASiB,uBAC0B,KAAnCjB,GAASiB,4BAC0B1jD,IAAnCyiD,GAASiB,sBAQX,GAC4B,OAA1BjB,GAASkB,cACiB,KAA1BlB,GAASkB,mBACiB3jD,IAA1ByiD,GAASkB,aAHX,CAUA7C,IAAe,GACf,IAAIvxC,EAAY,IAAIC,QACpBD,EAAUE,OACR,gBADF,iBAEYpX,GAAG8L,OAAOC,WAAWyK,QAEjCU,EAAUE,OAAO,eAAgB,oBAEjC,IAEIC,EAAiB,CACnBjB,OAAQ,OACRE,QAASY,EACTjW,KALQ2B,KAAKE,UAAUsnD,IAMvB9yC,SAAU,UAGZpB,MAAM,GAAD,OAAIxP,OAAOyP,QAAX,mBAAqCkB,GACvCZ,KADH,wCACQ,WAAOC,GAAP,0FACqBA,EAASE,OAD9B,UACED,EADF,SAEEY,EAAcb,EAASJ,QAAQkB,IAAI,mBAGM,IAA7CD,EAAYE,QAAQ,oBALlB,yCAOKf,EAAS1N,OAAOyN,MAAK,SAACrS,GAAD,MAAU,CAACuS,EAAYvS,OAPjD,gCASKsS,EACJ5V,OACA2V,MAAK,SAAC3V,GAAD,MAAU,CAAC6V,EAAY,CAAEe,QAAS,SAXxC,2CADR,uDAeGjB,MAAK,SAACzF,GACL,GAAkB,MAAdA,EAAO,GACTvP,aACE,UACA,sCAE0B,IAAxB2oD,GAASmB,WApoDD,2CAqoDViC,CACEpD,GAASC,WACTD,GAASa,SACTb,GAASc,WACTd,GAASgB,QAGXd,GAAY,CACVD,WAAY,GACZY,SAAU,GACVC,WAAY,GAEZC,WAAY,GACZC,OAAQ,KACRC,sBAAuB,KACvBC,aAAc,KACdC,YAAY,IAGhB5G,KACA8D,IAAe,GACfF,GAAqB,QAErB,GAC2B,OAAzBv3C,EAAO,GAAG07C,iBACe/kD,IAAzBqJ,EAAO,GAAG07C,YACe,KAAzB17C,EAAO,GAAG07C,WACV,CACA,IAAIC,EAAa37C,EAAO,GAAG07C,WACvBC,GACF1pD,OAAOC,KAAKypD,GAAY5pD,SAAQ,SAASI,GACvCwpD,EAAWxpD,GAAGJ,SAAQ,SAACiP,GACrBvQ,aAAa,aAAcuQ,cAIX,OAAtBhB,EAAO,GAAG0G,cACY/P,IAAtBqJ,EAAO,GAAG0G,SACY,KAAtB1G,EAAO,GAAG0G,QAEVjW,aAAa,aAAcuP,EAAO,GAAG0G,SAErCjW,aAAa,aAAc,eAG/BgnD,IAAe,MAEhBzxC,OAAM,SAAC5K,GACNnH,QAAQC,IAAI,QAASkH,WA5FvB3K,aAAa,aAAc,kCAX3BA,aACE,aACA,4CAVFA,aAAa,aAAc,2BARjC,OA4HG+mD,IACC,kBAAC7G,EAAA,EAAD,CACEz/C,GAAG,OACHorD,UAAU,SACVt6C,KAAK,KACL2tB,KAAK,SACL4sB,cAAY,YAMtB,kBAACvqB,EAAA,EAAD,KACE,2DACA,0BAAMn7B,KAAK,cAAc4a,QAAQ,iCAEnC,kBAAC,IAAD,KACE,kBAAC,IAAD,CAAYxB,MAAM,kBAChB,4BACErc,KAAK,SACLoQ,SACEitC,GAAkBE,GAAqBE,EAEzC/zC,QAASq2C,GACT9iD,UAAU,uBACVoE,MAAO,CAAEwS,OAAQ,SAPnB,YAYF,kBAAC,IAAD,KACE,yBAAK5W,UAAU,sBACb,yBAAKA,UAAU,iCACb,yBAAKA,UAAU,oBACb,uBACE0I,KAAM,kBAAM,GACZ1I,UAAU,oDACVyM,QAAS,WACPwzC,EAAY,MAGd,0BACEjgD,UAAS,yDAGT,kBAAC,KAAD,CACEwI,IAAKC,YAAc,sCAKzB,yBAAKzI,UAAU,gDACb,yBAAKA,UAAU,YAh/CX,CAClB,CACEgG,KAAM,kBACN+I,MAAO,WAET,CACE/I,KAAM,aACN+I,MAAO,QAET,CACE/I,KAAM,gBACN+I,MAAO,WAET,CACE/I,KAAM,yBACN+I,MAAO,YAk+CoBhL,KAAI,gBAAGiC,EAAH,EAAGA,KAAM+I,EAAT,EAASA,MAAT,OACf,yBAAK/O,UAAU,wCACb,uBACEA,UAAS,sDAAiD+O,EAAjD,YACE,eAAT/I,EAAwB,YAAc,cAExCyG,QAAS,WACPwzC,EAAYj6C,KAGbA,WAQf,yBAAKhG,UAAU,iCACb,kBAACqyB,EAAD,CACEywB,yBAA0BA,GAC1BtC,qBAAsBA,EACtBF,kBAAmBA,EACnBF,eAAgBA,EAChBjB,eAAgBA,OAIrBpuB,GAAiB7L,IAAIrc,OAAS,GAAK,kBAACysB,EAAD,MAEpC,kBAACtb,EAAA,EAAD,MACiB,oBAAbgmC,GAA+C,KAAbA,IAClC,oCACE,kBAACvlC,EAAA,EAAD,CACEza,UAAS,6BACM,oBAAbggD,EAAiC,SAAW,aAG9C,uBACEhgD,UAAS,oFADX,oBAKoB,IAAnBogD,EACC,kBAACuE,EAAA,EAAD,CACEhxB,QAAQ,UACRixB,UAAQ,EACR/iD,IAAK,IACLuC,MAAO,CAAEwS,OAAQ,MAAOR,MAAO,UAGjC,GAEF,kBAAC,qBAAD,CACEtF,WAAYC,IAAkBixC,MAE7B,YAAgD,IAA7C/sB,EAA4C,EAA5CA,gBAAiBC,EAA2B,EAA3BA,qBACnB,OACE,kBAAC,IAAD,CAAYD,gBAAiBA,GAC3B,kBAAC,IAAD,eACEjkB,eAAe,mBACfE,UAAU,EACV3Q,QAAQ,gDACR0Q,YAAU,EACVkkB,QAAM,EACN/0B,GAAG,MACHuQ,SAAS,KACTk0C,iBACE,wBAAIzgD,MAAO,CAAEsM,UAAW,WAAxB,6CAIFnO,KAAM0+C,GACN90C,QAASk8C,GACTz3C,cAAe,CAAC,CAAExE,UAAW,KAAMyE,MAAO,SAC1CukB,cAAegvB,IACXlvB,GAEJ,kBAAC,IAAD,CAAmBrR,SAAUo9B,KAC7B,kBAAC,IAAD,CAAuBp9B,SAAUo9B,aASlC,eAAbjB,GAA0C,KAAbA,IAC7B,oCACE,kBAACvlC,EAAA,EAAD,CACEza,UAAS,6BACM,eAAbggD,EAA4B,SAAW,aAGzC,uBACEhgD,UAAS,iFADX,eAKuB,IAAtBsgD,EACC,kBAACqE,EAAA,EAAD,CACEhxB,QAAQ,UACRixB,UAAQ,EACR/iD,IAAK,IACLuC,MAAO,CAAEwS,OAAQ,MAAOR,MAAO,UAGjC,GAEF,kBAAC,qBAAD,CACEtF,WAAYC,IAAkBmxC,MAE7B,YAAgD,IAA7CjtB,EAA4C,EAA5CA,gBAAiBC,EAA2B,EAA3BA,qBACnB,OACE,kBAAC,IAAD,CAAYD,gBAAiBA,GAC3B,kBAAC,IAAD,eACEjkB,eAAe,mBACfE,UAAU,EACV3Q,QAAQ,gDACR0Q,YAAU,EACVkkB,QAAM,EACN/0B,GAAG,SACHuQ,SAAS,KACTk0C,iBACE,wBAAIzgD,MAAO,CAAEsM,UAAW,WAAxB,6CAIFnO,KAAM4+C,GACN5yC,UAAWA,GACXpC,QAASy8C,GACTh4C,cAAe,CAAC,CAAExE,UAAW,KAAMyE,MAAO,SAC1CukB,cAAekvB,IACXpvB,GAEJ,kBAAC,IAAD,CAAmBrR,SAAUs9B,KAC7B,kBAAC,IAAD,CAAuBt9B,SAAUs9B,aASlC,kBAAbnB,GAA6C,KAAbA,IAChC,oCACE,kBAACvlC,EAAA,EAAD,CACEza,UAAS,6BACM,kBAAbggD,EAA+B,SAAW,aAG5C,uBACEhgD,UAAS,oFADX,kBAK0B,IAAzBwgD,EACC,kBAACmE,EAAA,EAAD,CACEhxB,QAAQ,UACRixB,UAAQ,EACR/iD,IAAK,IACLuC,MAAO,CAAEwS,OAAQ,MAAOR,MAAO,UAGjC,GAEF,kBAAC,qBAAD,CACEtF,WAAYC,IAAkBqxC,MAE7B,YAAgD,IAA7CntB,EAA4C,EAA5CA,gBAAiBC,EAA2B,EAA3BA,qBACnB,OACE,kBAAC,IAAD,CAAYD,gBAAiBA,GAC3B,kBAAC,IAAD,eACEjkB,eAAe,mBACfE,UAAU,EACV3Q,QAAQ,gDACR0Q,YAAU,EACVkkB,QAAM,EACN/0B,GAAG,YACHuQ,SAAS,KACTk0C,iBACE,wBAAIzgD,MAAO,CAAEsM,UAAW,WAAxB,6CAIFnO,KAAM8+C,GACNl1C,QAAS08C,GACTj4C,cAAe,CAAC,CAAExE,UAAW,KAAMyE,MAAO,SAC1CukB,cAAemvB,IACXrvB,GAEJ,kBAAC,IAAD,CAAmBrR,SAAUw9B,KAC7B,kBAAC,IAAD,CAAuBx9B,SAAUw9B,aASlC,2BAAbrB,GAAsD,KAAbA,IACzC,oCACE,kBAACvlC,EAAA,EAAD,CACEza,UAAS,6BAEH,WAGN4rD,GAAG,KAEH,uBACE5rD,UAAS,oFADX,2BAK6B,IAA5BumD,EACC,kBAAC5B,EAAA,EAAD,CACEhxB,QAAQ,UACRixB,UAAQ,EACR/iD,IAAK,IACLuC,MAAO,CAAEwS,OAAQ,MAAOR,MAAO,UAGjC,GAEF,kBAAC,qBAAD,CACEtF,WAAYC,IACVm3C,MAGD,YAAgD,IAA7CjzB,EAA4C,EAA5CA,gBAAiBC,EAA2B,EAA3BA,qBACnB,OACE,kBAAC,IAAD,CAAYD,gBAAiBA,GAC3B,kBAAC,IAAD,eACEjkB,eAAe,mBACfE,UAAU,EACV3Q,QAAQ,gDACR0Q,YAAU,EACVkkB,QAAM,EACN/0B,GAAG,eACHuQ,SAAS,KACTk0C,iBACE,wBAAIzgD,MAAO,CAAEsM,UAAW,WAAxB,6CAIFnO,KAAMskD,GACN16C,QAAS28C,GACTl4C,cAAe,CAAC,CAAExE,UAAW,KAAMyE,MAAO,SAC1CukB,cAAegzB,IACXlzB,GAEJ,kBAAC,IAAD,CAAmBrR,SAAUgjC,KAC7B,kBAAC,IAAD,CACEhjC,SAAUgjC,gB,wBChjEjC,SAASgF,GAAT,GAA4C,IAAZp2B,EAAW,EAAXA,QACrC,EAAgCzoB,oBAAS,GAAzC,mBAAO8+C,EAAP,KAAiBC,EAAjB,KACA,EAAkC/+C,oBAAS,GAA3C,mBAAO+3C,EAAP,KAAkBC,EAAlB,KACA,EAAgCh4C,oBAAS,GAAzC,mBAAOi4C,EAAP,KAAiBC,EAAjB,KACA,EAAgCl4C,oBAAS,GAAzC,mBAAiBg/C,GAAjB,WAEA,EAAsCh/C,oBAAS,GAA/C,mBAAOi/C,EAAP,KAAoBC,EAApB,KACM38B,EAAoB,CACxBe,uBAAwB,WACtBy7B,GAAY,IAEdx7B,uBAAwB,SAACnwB,GACvB4kD,EAAa5kD,IAEfowB,yBAA0B,SAACpwB,GACzB8rD,EAAe9rD,IAEjBqwB,0BAA2B,WACzBgF,EAAQ3sB,KAAR,8DAEF4nB,yBAA0B,WACxB+E,EAAQ3sB,KAAR,oDAEF6nB,gCAAiC,WAC/B8E,EAAQ3sB,KAAK,2DAEfgwC,0BAA2B,SAAC14C,GAC1Bq1B,EAAQ3sB,KAAR,4BAAkC1I,EAAlC,eAOJ,OAJAgD,QAAQC,IAAI,WAAYyoD,GACxB1oD,QAAQC,IAAI,YAAa0hD,GACzB3hD,QAAQC,IAAI,WAAY4hD,GACxB7hD,QAAQC,IAAI,cAAe4oD,GAEzB,kBAAC38B,EAAD,CAAqBC,kBAAmBA,GACtC,2BACExsB,KAAK,SACL3C,GAAG,yBACHqM,QAAS,SAAC6C,GACRpJ,YAAW,WACT8+C,GAAa,GACbE,GAAY,GACZ8G,GAAY,KACX,MAGP,2BACEjpD,KAAK,SACL3C,GAAG,oBACHqM,QAAS,SAAC6C,GAAO,IAAD,EACd01C,GAAa,GACbgH,GAAY,GACZ9G,EAAW,OAAC51C,QAAD,IAACA,GAAD,UAACA,EAAGM,cAAJ,aAAC,EAAWzQ,UAG1B,2BACC4D,KAAK,SACL3C,GAAG,qBACHqM,QAAS,SAAC6C,GAAO,IAAD,EACd01C,EAAY,OAAC11C,QAAD,IAACA,GAAD,UAACA,EAAGM,cAAJ,aAAC,EAAWzQ,OACxB6sD,GAAY,GACZ9G,GAAY,MAGhB,kBAAC9hC,EAAD,MACC0oC,GACC,kBAACj7B,EAAD,CACEzf,KAAM06C,EACNz6C,OAAQ,WACN06C,GAAY,MAIjBhH,GACC,kBAAC,KAAD,CAAkBS,GAAIT,EAAWC,aAAcA,IAEhDC,GAAY,kBAAC,KAAD,CAAiBS,GAAIT,EAAUC,YAAaA,KAEvDD,IAAaF,IAAckH,IAAgBH,GAC3C,kBAACv2B,GAAD,MAGD02B,GACC,kBAAC/6B,EAAD,CACE9f,KAAM66C,EACN7rD,GAAI6rD,EACJ56C,OAAQ,WACN66C,GAAe,O,2KCpFpB,SAASC,EAAT,GAAgC,IAAP/rD,EAAM,EAANA,GAExBgsD,EAAmBC,cACzB,EAAgEr/C,oBAC9D,GADF,mBAAOs/C,EAAP,KAAiCC,EAAjC,KAGMC,EAAiBx7B,mBAAQ,WAC7B,MAAO,CACLtB,eAAgB08B,EAAiB18B,eACjC+8B,oBAAqBL,EAAiBK,oBACtCnnC,YAAa8mC,EAAiB9mC,eAE/B,CAAC8mC,IAEE55B,EAAc,SAACtrB,GACnB,IAAMurB,EAzBY,SAACnN,EAAape,GAClC,IAAQwlD,EAAkCxlD,EAAlCwlD,sBAAuB1J,EAAW97C,EAAX87C,OACzBvwB,EAAc,eAAQnN,GACtB/V,EAAS,GAIf,OAHAA,EAAOm9C,sBAAwBA,EAC/Bn9C,EAAOyzC,OAASA,EAChBvwB,EAAeljB,OAASA,EACjBkjB,EAkBkBG,CAAc45B,EAAelnC,YAAape,GAC5D6oB,kBAAQ0C,EAAgB+5B,EAAelnC,eAC1CmN,EAAe1D,WAAa,EAC5By9B,EAAe98B,eAAe+C,KAclC,OACE,oCACE,kBAAC,IAAD,CACEjQ,cAAe,CACbkqC,sBAAuB,GAEzBhqC,SAAU,SAACxb,GAC4B,MAAjCA,EAAOwlD,sBACTxlD,EAAOwlD,sBAAwB,EAE/BxlD,EAAOwlD,sBAAwB,EAEjCl6B,EAAYtrB,MAGb,gBA1BaylD,EAAQC,EA0BlB1lD,EAAH,EAAGA,OAAQ6b,EAAX,EAAWA,aAAc7P,EAAzB,EAAyBA,cAAzB,OACC,0BAAMwP,SAAUK,EAAc/iB,UAAU,yBACtC,2BACE+C,KAAK,SACL/C,UAAU,SACVI,GAAG,0BACHjB,MAAO+H,EAAOwlD,sBACdjgD,QAAS,SAAC6C,GACR4D,EAAc,wBAAyB5D,EAAEM,OAAOzQ,OAChD4jB,OAGJ,yBAAK/iB,UAAU,mBACb,yBAAKA,UAAU,+BACb,yBAAKA,UAAU,oCACb,yCACA,2BACEA,UAAU,eACVb,MAAK,OAAE+H,QAAF,IAAEA,OAAF,EAAEA,EAAQ87C,OACf5zC,YAAY,uBACZC,SAAU,SAACC,GACT,IACE4D,EAAc,SAAU5D,EAAEM,OAAOzQ,OACjC4jB,IACA,MAAOljB,SAIf,yBAAKG,UAAU,uDACb,kBAAC,IAAD,CACE4P,OAAO,SACP5P,UAAU,wBACV+P,IA1DE48C,EA2DW9nD,OAAOgoD,WA3DVD,EA2DsB/nD,OAAOioD,iBAzD1ChnD,IAAX6mD,GACW,OAAXA,QACW7mD,IAAX8mD,GAAmC,OAAXA,EAuDR,0CACuC/nD,OAAOgoD,WAD9C,YAC4DhoD,OAAOioD,aADnE,oCAJJ,iBAYF,yBAAK9sD,UAAU,uDACb,4BACE+C,KAAK,SACL/C,UAAU,wBACVyM,QAAS,WACPjO,SACGsR,eAAe,2BACfinB,UANP,YAaF,yBAAK/2B,UAAU,uDACb,4BACE+C,KAAK,SACL/C,UAAU,wBACVyM,QAAS,WACHrM,GAAIosD,EAAeC,sBAClBrsD,GAAImsD,GAA4B,KALzC,cAgBZ,kBAAC9lC,EAAA,EAAD,CACEtV,KAAK,KACLC,KAAMk7C,EACNh7C,kBAAgB,gCAEhB,kBAACmV,EAAA,EAAMlV,OAAP,CAAcmV,aAAW,GACvB,kBAACD,EAAA,EAAM9U,MAAP,iCAEF,kBAAC8U,EAAA,EAAMhV,KAAP,uEACiE,6BADjE,6BAIA,kBAACgV,EAAA,EAAM/U,OAAP,KACE,kBAAC8hB,EAAA,EAAD,CACEG,QAAQ,YACR3zB,UAAU,6BACVyM,QAAS,SAAC6C,GACRi9C,GAA4B,KAJhC,MAUA,kBAAC/4B,EAAA,EAAD,CACEG,QAAQ,YACR3zB,UAAU,iCACVyM,QAAS,SAAC6C,GACR5J,IAAE,mBAAmBqxB,QACrBw1B,GAA4B,GAC5BrmD,YAAW,WACTsmD,EAAeC,wBACd,OARP,U,kJC7JGM,EAAc,yB,aCCpB9oC,EAAW+oC,IAAX/oC,QAEMgpC,EAAe,SAAC3nC,EAAa4nC,GAAd,OAA4B,SAAA3nC,GAEtD,OADAA,EAAStB,EAAQQ,UAAU,CAAED,SAAUR,IAAUjc,QAC5CmlD,EDcA,SAAqB5nC,EAAa4nC,GACvC,OAAO5qC,IAAMkD,KAAN,UAAcunC,EAAd,gBAAiCG,GAAa,CAAE5nC,gBCXhDG,CACQH,EAAa4nC,GACzBt4C,MAAK,SAAAC,GACJ,MAAiCA,EAAStS,KAAlCqhB,EAAR,EAAQA,WAAYC,EAApB,EAAoBA,SACpB0B,EAAStB,EAAQkpC,eAAe,CAAEvpC,aAAYC,iBAE/C1O,OAAM,SAAA5K,GACLA,EAAMmb,cAAgB,qBACtBH,EAAStB,EAAQI,WAAW,CAAE9Z,QAAOia,SAAUR,IAAUjc,WAXpDwd,EAAStB,EAAQkpC,eAAe,CAAEvpC,WAAY,EAAGC,SAAU,UAezDupC,EAAc,SAAAhtD,GAAE,OAAI,SAAAmlB,GAC/B,OAAKnlB,GAILmlB,EAAStB,EAAQQ,UAAU,CAAED,SAAUR,IAAUM,WDbrB+oC,ECeXjtD,EDdVkiB,IAAM3M,IAAN,UAAao3C,EAAb,YAA4BM,KCehCz4C,MAAK,SAAAC,GACJ,IAAMy4C,EAASz4C,EAAStS,KACxBgjB,EAAStB,EAAQspC,cAAc,CAAEC,cAAeF,QAEjDn4C,OAAM,SAAA5K,GACLA,EAAMmb,cAAgB,oBACtBH,EAAStB,EAAQI,WAAW,CAAE9Z,QAAOia,SAAUR,IAAUM,cAZpDiB,EAAStB,EAAQspC,cAAc,CAAEC,mBAAe1nD,KDVpD,IAAuBunD,IC0BjBI,EAAe,SAAArtD,GAAE,OAAI,SAAAmlB,GAEhC,OADAA,EAAStB,EAAQQ,UAAU,CAAED,SAAUR,IAAUM,WDXtB+oC,ECaXjtD,EDZTkiB,IAAMwD,OAAN,UAAgBinC,EAAhB,YAA+BM,KCanCz4C,MAAK,SAAAC,GACJ0Q,EAAStB,EAAQypC,cAAc,CAAEttD,WAElC+U,OAAM,SAAA5K,GACLA,EAAMmb,cAAgB,sBACtBH,EAAStB,EAAQI,WAAW,CAAE9Z,QAAOia,SAAUR,IAAUM,aDnBxD,IAAsB+oC,ICuBhBM,EAAe,SAAAC,GAAiB,OAAI,SAAAroC,GAE/C,OADAA,EAAStB,EAAQQ,UAAU,CAAED,SAAUR,IAAUM,WDlDtBgpC,ECoDXM,EDnDTtrC,IAAMkD,KAAKunC,EAAa,CAAEO,YCoD9B14C,MAAK,SAAAC,GACJ,IAAQy4C,EAAWz4C,EAAStS,KAApB+qD,OACR/nC,EAAStB,EAAQ4pC,cAAc,CAAEP,eAElCn4C,OAAM,SAAA5K,GACLA,EAAMmb,cAAgB,sBACtBH,EAAStB,EAAQI,WAAW,CAAE9Z,QAAOia,SAAUR,IAAUM,aD3DxD,IAAsBgpC,IC+DhBQ,EAAe,SAAAR,GAAM,OAAI,SAAA/nC,GAEpC,OADAA,EAAStB,EAAQQ,UAAU,CAAED,SAAUR,IAAUM,UD3C5C,SAAsBgpC,GAC3B,OAAOhrC,IAAM4D,IAAN,UAAa6mC,EAAb,YAA4BO,EAAOltD,IAAM,CAAEktD,WC2C3C7nC,CACS6nC,GACb14C,MAAK,WACJ2Q,EAAStB,EAAQ8pC,cAAc,CAAET,eAElCn4C,OAAM,SAAA5K,GACLA,EAAMmb,cAAgB,sBACtBH,EAAStB,EAAQI,WAAW,CAAE9Z,QAAOia,SAAUR,IAAUM,e,yBCtElD6P,EAAyB,SACpCC,EACA5sB,EACA6sB,EAHoC,OAIlC25B,EAJkC,EAIlCA,qBAAsBC,EAJY,EAIZA,uBAAwBC,EAJZ,EAIYA,cAJZ,OAMpC,oCACE,kBAACzU,EAAA,EAAD,CACEjtC,QACE,kBAAC4wB,EAAA,EAAD,CAASh9B,GAAG,0BAAZ,cASF,uBAIEJ,UAAS,uDACTyM,QAAS,WACP,IAQEuhD,EAAqBxmD,EAAIpH,IAEzB,MAAOP,OAGX,0BAAMG,UAAU,yCACd,kBAAC,IAAD,CACEwI,IAAKC,YACH,iDAOV,yCACA,kBAACgxC,EAAA,EAAD,CACEjtC,QACE,kBAAC4wB,EAAA,EAAD,CAASh9B,GAAG,4BAAZ,gBAGF,uBACEJ,UAAU,iDACVyM,QAAS,kBAAMwhD,EAAuBzmD,EAAIpH,MAE1C,0BAAMJ,UAAU,wCACd,kBAAC,IAAD,CACEwI,IAAKC,YAAc,4CAMO,IAAhCjB,EAAI2mD,yBACF,oCACE,kBAAC1U,EAAA,EAAD,CACEjtC,QACE,kBAAC4wB,EAAA,EAAD,CAASh9B,GAAG,4BAAZ,wCAGF,uBACEJ,UAAU,uDACVyM,QAAS,WACP2hD,IAAKC,KAAK,CACRjvC,MAAO,gBACPngB,KAAM,iDACNqvD,KAAM,UACNC,kBAAkB,EAClBC,mBAAoB,UACpBC,kBAAmB,OACnBC,kBAAmB,oBAClB95C,MAAK,SAACzF,GACHA,EAAOw/C,aACTT,EAAc1mD,EAAIonD,WAAU,EAAKpnD,EAAIgW,oBAK3C,0BAAMxd,UAAU,yCACd,kBAAC,IAAD,CACEwI,IAAKC,YAAc,8CAK3B,kBAACgxC,EAAA,EAAD,CACEjtC,QACE,kBAAC4wB,EAAA,EAAD,CAASh9B,GAAG,4BAAZ,wCAGF,uBACEJ,UAAU,sDACVyM,QAAS,WACP2hD,IAAKC,KAAK,CACRjvC,MAAO,gBACPngB,KAAM,iDACNqvD,KAAM,UACNC,kBAAkB,EAClBC,mBAAoB,UACpBC,kBAAmB,OACnBC,kBAAmB,oBAClB95C,MAAK,SAACzF,GACHA,EAAOw/C,aACTT,EAAc1mD,EAAIonD,WAAU,EAAMpnD,EAAIgW,oBAK5C,0BAAMxd,UAAU,wCACd,kBAAC,IAAD,CACEwI,IAAKC,YAAc,0C,k0MC5GrC,IAAMxK,EAAU,I,OAAIC,GAAa,MAC3BC,EAAKC,IAAIH,GAER,SAAS4wD,IAEd,IAAMzC,EAAmBC,cACnBG,EAAiBx7B,mBAAQ,WAC7B,MAAO,CACL9L,IAAKknC,EAAiBlnC,IACtBuK,OAAQ28B,EAAiB38B,OACzBnK,YAAa8mC,EAAiB9mC,YAC9BoK,eAAgB08B,EAAiB18B,eACjCw9B,UAAWd,EAAiBc,UAC5Bc,qBAAsB5B,EAAiB4B,qBACvCC,uBAAwB7B,EAAiB6B,0BAE1C,CAAC7B,IAgBI73B,EAAiBjR,aACvB,SAAChE,GAAD,MAAY,CAAEiV,aAAcjV,EAAMwvC,aAClCrrC,KAFM8Q,aAIY1Q,GAA0B0Q,EAAtC3Q,WAAsC2Q,EAA1B1Q,UACd0B,GADwCgP,EAAhB/Q,YACbyN,eACjBnd,qBAAU,WACR04C,EAAe/8B,OAAO,IACtBlK,EACEtB,EAAqBuoC,EAAelnC,YAAaknC,EAAeU,cAGjE,CAACV,EAAelnC,YAAaC,EAAUinC,EAAeU,YAGzD,IA0CM/gD,EAAU,CACd,CACEC,UAAW,KACXnN,KAAM,KACNyN,MAAM,EACNL,UAAW,SAACC,EAAM9E,GAChB,OAA+B,KAArB,OAAHA,QAAG,IAAHA,OAAA,EAAAA,EAAKunD,gBACV,kBAACtV,EAAA,EAAD,CACEjtC,QAAS,kBAAC4wB,EAAA,EAAD,CAASh9B,GAAG,yBAAZ,QAET,uBAAGsI,KAAM,kBAAM,GAAO1I,UAAS,4CAC5BwH,EAAIpH,KAIToH,EAAIpH,IAGRuM,UAAWA,KAEb,CACEP,UAAW,gBACXnN,KAAM,OACNyN,MAAM,GAER,CACEN,UAAW,MACXnN,KAAM,MACNyN,MAAM,GAER,CACEN,UAAW,MACXnN,KAAM,MACNyN,MAAM,GAER,CACEN,UAAW,SACXnN,KAAM,YACNyN,MAAM,GAER,CACEN,UAAW,YACXnN,KAAM,aACNyN,MAAM,GAER,CACEN,UAAW,QACXnN,KAAM,QACN+vD,OAA+B,OAAvBnqD,OAAOioD,YACfpgD,MAAM,GAER,CACEN,UAAW,OACXnN,KAAM,OACN+vD,OAA+B,OAAvBnqD,OAAOioD,YACfpgD,MAAM,GAER,CACEN,UAAW,cACXnN,KAAM,cACN+vD,OAA+B,OAAvBnqD,OAAOioD,YACfpgD,MAAM,GAER,CACEN,UAAW,mBACXnN,KAAM,gBACN+vD,OAA+B,OAAvBnqD,OAAOioD,YACfpgD,MAAM,GAER,CACEN,UAAW,cACXnN,KAAM,SACNyN,MAAM,EACNL,UAAW,SAACC,EAAM9E,GAChB,OAAO,qCAAM,OAAHA,QAAG,IAAHA,OAAA,EAAAA,EAAKoW,YAAL,OAAiBpW,QAAjB,IAAiBA,OAAjB,EAAiBA,EAAKkW,WAGpC,CACEtR,UAAW,gBACXnN,KAAM,MACNyN,MAAM,GAER,CACEN,UAAW,UACXnN,KAAM,WACNyN,MAAM,GAER,CACEN,UAAW,cACXnN,KAAM,cACNyN,MAAM,GAER,CACEN,UAAW,cACXnN,KAAM,cACNyN,MAAM,GAER,CACEN,UAAW,SACXnN,KAAM,SACNyN,MAAM,EACNL,UAAW,SAACC,EAAM9E,GAAS,IAAD,EACxB,OAAO,2CAAGA,QAAH,IAAGA,GAAH,UAAGA,EAAKqW,cAAR,aAAG,EAAa1V,QAAQ,MAGnC,CACEiE,UAAW,aACXnN,KAAM,OACNyN,MAAM,GAER,CACEN,UAAW,OACXnN,KAAM,OACNyN,MAAM,EACNL,UAAW,SAACC,EAAM9E,GAAS,IAAD,EACxB,OAAO,2CAAGA,QAAH,IAAGA,GAAH,UAAGA,EAAKuW,YAAR,aAAG,EAAW5V,QAAQ,MAGjC,CACEiE,UAAW,WACXnN,KAAM,OACNyN,MAAM,GAER,CACEN,UAAW,UACXnN,KAAM,UACNyN,MAAM,GAER,CACEN,UAAW,eACXnN,KAAM,MACNyN,MAAM,GAER,CACEN,UAAW,gBACXnN,KAAM,OACNyN,MAAM,GAER,CACEN,UAAW,iBACXnN,KAAM,SACNyN,MAAM,GAER,CACEN,UAAW,eACXnN,KAAM,gBACNyN,MAAM,EACNL,UAAW,SAACC,EAAM9E,GAChB,OAAO,oCAAGqC,YAAerC,EAAIynD,iBAGjC,CACE7iD,UAAW,gBACXnN,KAAM,iBACNyN,MAAM,EACNL,UAAW,SAACC,EAAM9E,GAChB,OAAO,oCAAGqC,YAAerC,EAAI0nD,kBAGjC,CACE9iD,UAAW,QACXnN,KAAM,SACNyN,MAAM,GAER,CACEN,UAAW,UACXnN,KAAM,WACNyN,MAAM,GAER,CACEN,UAAW,aACXnN,KAAM,aACNyN,MAAM,GAER,CACEN,UAAW,QACXnN,KAAM,eACNyN,MAAM,GAER,CACEN,UAAW,iBACXnN,KAAM,MACNyN,MAAM,EACNL,UAAW,SAACC,EAAM9E,GAChB,OACE,oCACE,0BAAMrD,MAAM,sCACTwF,YAlQC,SAASqC,GACrB,GAAU,OAANA,GAAoB,KAANA,QAAkBlG,IAANkG,EAAiB,MAAO,GACtD,IAAIxC,EAAS,sBAQb,OANEjI,IAAOyK,GACJC,QAAQ,OACRC,YAAc3K,IAAOyK,GAAGE,YAE3B1C,EAAS,cAEJjI,IAAOyK,GAAGxC,OAAOA,GAwPFxH,CAAO,OAACwF,QAAD,IAACA,OAAD,EAACA,EAAK2nD,qBAMnC,CACE/iD,UAAW,WACXnN,KAAM,OACNyN,MAAM,GAER,CACEN,UAAW,mBACXnN,KAAM,gBACNyN,MAAM,GAER,CACEN,UAAW,mBACXnN,KAAM,iBACNyN,MAAM,GAER,CACEN,UAAW,2BACXnN,KAAM,0BACNyN,MAAM,GAER,CACEN,UAAW,qBACXnN,KAAM,oBACNyN,MAAM,GAER,CACEN,UAAW,iBACXnN,KAAM,gBACNyN,MAAM,GAER,CACEN,UAAW,kBACXnN,KAAM,eACNyN,MAAM,GAER,CACEN,UAAW,QACXnN,KAAM,SACNyN,MAAM,EACNL,UAAW,SAACC,EAAM9E,GAChB,OACE,oCACGA,EAAI8W,OACH,kBAACm7B,EAAA,EAAD,CACEjtC,QAAS,kBAAC4wB,EAAA,EAAD,CAASh9B,GAAG,yBAAZ,QAET,uBAAGJ,UAAU,sDACX,0BAAMA,UAAU,wCACd,kBAAC,IAAD,CACEwI,IAAKC,YACH,gDAOXjB,EAAI4nD,qBACH,kBAAC3V,EAAA,EAAD,CACEjtC,QACE,kBAAC4wB,EAAA,EAAD,CAASh9B,GAAG,yBAAZ,sCAKF,uBAAGJ,UAAU,sDACX,0BAAMA,UAAU,wCACd,kBAAC,IAAD,CACEwI,IAAKC,YACH,qDAWpB,CACE2D,UAAW,kBACXnN,KAAM,MACNyN,MAAM,GAER,CACEN,UAAW,SACXnN,KAAM,UACNoN,UAAW8nB,EACXM,gBAAiB,CACfu5B,qBAAsBxB,EAAewB,qBACrCC,uBAAwBzB,EAAeyB,uBACvCC,cAvUgB,SAACtqD,EAAG8b,EAAO2vC,GAC/B,IAAMnoD,EAAS,CACb,GAAMtD,EACN,OAAU8b,EACV,IAAO,CAAC2vC,IAEVh7C,MAAMxP,OAAOyP,QAAP,mDAAqE,CACzEC,OAAQ,MACRE,QAAS,CACP,eAAgB,mBAChBC,cAAc,UAAD,OAAYvW,EAAG8L,OAAOC,WAAWyK,QAEhD26C,MAAO,MACPlwD,KAAM2B,KAAKE,UAAUiG,KAEpB0N,KATH,uCASQ,WAAOC,GAAP,yFACqBA,EAASE,OAD9B,UACED,EADF,SAEEY,EAAcb,EAASJ,QAAQkB,IAAI,mBACuB,IAA7CD,EAAYE,QAAQ,oBAHnC,yCAIKf,EAAS1N,OAAOyN,MAAK,SAACrS,GAAD,MAAU,CAACuS,EAAYvS,OAJjD,gCAMKsS,EAAS5V,OAAO2V,MAAK,SAACrS,GAAD,MAAU,CAACuS,EAAYvS,OANjD,2CATR,uDAkBGqS,MAAK,SAACrS,GACW,MAAZA,EAAK,IACP3C,YAAa,UAAW,wBACxB2lB,EACEtB,EAAqBuoC,EAAelnC,YAAaknC,EAAeU,aAG/C,MAAZ3qD,EAAK,IAAcA,EAAK,GAAGsT,QAClCjW,YAAa,QAAS2C,EAAK,GAAGsT,SAG9BjW,YAAa,QAAS,2BAGzBuV,OAAM,SAAC5K,GACNnH,QAAQC,IAAIkH,QAkSdhK,QAAS,mBACTm0B,cAAe,mBACftwB,MAAO,CACLuS,SAAU,WAIhB,IACE,IAAM44C,EAAqB/wD,SAASsR,eAAe,gBAC/Cy/C,IACFA,EAAmBC,QAAU,WAC3B,OAAO,IAGX,MAAO3vD,IACT,OACE,oCACE,kBAAC,IAAD,CACEmR,eAAe,mBACfzQ,QAAQ,6DACR2Q,UAAU,EACVD,YAAU,EACVN,SAAS,KACTpO,KAAmB,OAAbshB,EAAoB,GAAKA,EAC/B1X,QAASA,EACT2E,WAAYC,IAAkB,CAC5BqpC,WAAW,EACX7rB,gBAAiB,CACf,CAAEtvB,KAAM,IAAKE,MAAO,GACpB,CAAEF,KAAM,KAAME,MAAO,IACrB,CAAEF,KAAM,KAAME,MAAO,IACrB,CAAEF,KAAM,KAAME,MAAO,IACrB,CACEF,KAAM,MACNE,MAAK,OAAE0kB,QAAF,IAAEA,OAAF,EAAEA,EAAUhb,c,WC3axB,SAAS4mD,IACd,IAAQpsC,EAAcC,aACpB,SAAChE,GAAD,MAAY,CAAE+D,UAAW/D,EAAMwvC,UAAUtrC,eACzCC,KAFMJ,UAKR,OADAvP,qBAAU,cAAU,CAACuP,IACd,qC,aCFF,SAASqsC,KAEd,IAAMtD,EAAmBC,cACnBG,EAAiBx7B,mBAAQ,WAC7B,MAAO,CACL9L,IAAKknC,EAAiBlnC,IACtBuK,OAAQ28B,EAAiB38B,OACzBy9B,UAAWd,EAAiBc,UAC5B5nC,YAAa8mC,EAAiB9mC,YAC9BqqC,wBAAyBvD,EAAiBuD,wBAC1CC,yBAA0BxD,EAAiBwD,4BAE5C,CAACxD,IAEE7mC,EAAW0L,cACT5N,EAAcC,aACpB,SAAChE,GAAD,MAAY,CAAE+D,UAAW/D,EAAMwvC,UAAUvtC,kBACzCkC,KAFMJ,UAKRvP,qBAAU,cAAU,CAACuP,EAAWkC,IAChCzR,qBAAU,WACH04C,EAAetnC,KAAqC,IAA9BsnC,EAAetnC,IAAIrc,QAC5C2jD,EAAeoD,6BAGhB,CAACpD,EAAetnC,MAgBnB,OACE,kBAACuB,EAAA,EAAD,CACErV,KAAMo7C,EAAemD,wBACrBt+C,OAAQm7C,EAAeoD,yBACvBt+C,kBAAgB,gCAEf+R,GAAa,kBAAC,IAAD,CAAkBsQ,QAAQ,UACxC,kBAAClN,EAAA,EAAMlV,OAAP,CAAcmV,aAAW,GACvB,kBAACD,EAAA,EAAM9U,MAAP,CAAavR,GAAG,gCAAhB,mBAIF,kBAACqmB,EAAA,EAAMhV,KAAP,MACI4R,GACA,sFAEDA,GAAa,0DAEhB,kBAACoD,EAAA,EAAM/U,OAAP,KACE,6BACE,4BACE3O,KAAK,SACL0J,QAAS+/C,EAAeoD,yBACxB5vD,UAAU,6BAHZ,UAOA,yCACA,4BACE+C,KAAK,SACL0J,QA5CY,WACpB8Y,EAAStB,IAAsBuoC,EAAetnC,MAAMtQ,MAAK,WACvD2Q,EACEtB,IACEuoC,EAAelnC,YACfknC,EAAeU,YAEjBt4C,MAAK,WACL43C,EAAe/8B,OAAO,IACtB+8B,EAAeoD,kCAoCX5vD,UAAU,+BAHZ,aCtEH,SAAS6vD,KAEd,IAAMzD,EAAmBC,cACnBG,EAAiBx7B,mBAAQ,WAC7B,MAAO,CACL5wB,GAAIgsD,EAAiB0D,WACrBrgC,OAAQ28B,EAAiB38B,OACzBy9B,UAAWd,EAAiBc,UAC5B5nC,YAAa8mC,EAAiB9mC,YAC9ByqC,uBAAwB3D,EAAiB2D,uBACzCC,wBAAyB5D,EAAiB4D,2BAE3C,CAAC5D,IAGE7mC,EAAW0L,cACT5N,EAAcC,aACpB,SAAChE,GAAD,MAAY,CAAE+D,UAAW/D,EAAMwvC,UAAUvtC,kBACzCkC,KAFMJ,UAMRvP,qBAAU,WACH04C,EAAepsD,IAClBosD,EAAewD,4BAGhB,CAACxD,EAAepsD,KAGnB0T,qBAAU,cAAU,CAACuP,EAAWkC,IAmBhC,OACE,kBAACkB,EAAA,EAAD,CACErV,KAAMo7C,EAAeuD,uBACrB1+C,OAAQm7C,EAAewD,wBACvB1+C,kBAAgB,gCAEf+R,GAAa,kBAAC,IAAD,CAAkBsQ,QAAQ,UACxC,kBAAClN,EAAA,EAAMlV,OAAP,CAAcmV,aAAW,GACvB,kBAACD,EAAA,EAAM9U,MAAP,CAAavR,GAAG,gCAAhB,mBAIF,kBAACqmB,EAAA,EAAMhV,KAAP,MACI4R,GACA,kFAEDA,GAAa,yDAEhB,kBAACoD,EAAA,EAAM/U,OAAP,KACE,6BACE,4BACE3O,KAAK,SACL0J,QAAS+/C,EAAewD,wBACxBhwD,UAAU,6BAHZ,UAOA,yCACA,4BACE+C,KAAK,SACL0J,QA/CW,WAEnB8Y,EAAStB,EAAqBuoC,EAAepsD,KAAKwU,MAAK,WAErD2Q,EACEtB,EACEuoC,EAAelnC,YACfknC,EAAeU,YAInBV,EAAe/8B,OAAO,IAEtB+8B,EAAewD,8BAmCThwD,UAAU,8BAHZ,aChFV,IAAMiwD,GAAkB,SAACpsC,EAAUqB,GACjC,IAAMgrC,EAAW,GAOjB,OANAhrC,EAAIhkB,SAAQ,SAACd,GACX,IAAMktD,EAASzpC,EAASV,MAAK,SAAC6B,GAAD,OAAQA,EAAG5kB,KAAOA,KAC3CktD,GACF4C,EAASpnD,KAAKwkD,MAGX4C,GAGF,SAASC,KAEd,IAAM/D,EAAmBC,cACnBG,EAAiBx7B,mBAAQ,WAC7B,MAAO,CACL9L,IAAKknC,EAAiBlnC,IACtBI,YAAa8mC,EAAiB9mC,YAC9B8qC,uBAAwBhE,EAAiBgE,uBACzCC,wBAAyBjE,EAAiBiE,2BAE3C,CAACjE,IAEIkE,EAAYhtC,aAClB,SAAChE,GAAD,MAAY,CACVgxC,QAASL,GAAgB3wC,EAAMwvC,UAAUjrC,SAAU2oC,EAAetnC,QAEpEzB,KAJM6sC,QAcR,OAPAx8C,qBAAU,WACH04C,EAAetnC,KAAqC,IAA9BsnC,EAAetnC,IAAIrc,QAC5C2jD,EAAe6D,4BAGhB,CAAC7D,EAAetnC,MAGjB,kBAACuB,EAAA,EAAD,CACErV,KAAMo7C,EAAe4D,uBACrB/+C,OAAQm7C,EAAe6D,wBACvB/+C,kBAAgB,gCAEhB,kBAACmV,EAAA,EAAMlV,OAAP,CAAcmV,aAAW,GACvB,kBAACD,EAAA,EAAM9U,MAAP,CAAavR,GAAG,gCAAhB,4BAIF,kBAACqmB,EAAA,EAAMhV,KAAP,KACE,yBAAKzR,UAAU,qDACb,yBAAKA,UAAU,uBACZswD,EAAQvsD,KAAI,SAACupD,GAAD,OACX,yBAAKttD,UAAU,0BAA0BsH,IAAKgmD,EAAOltD,IACnD,0BAAMJ,UAAU,sBACd,0BACEA,UAAU,kDACVoE,MAAO,CAAEgS,MAAO,SAFlB,OAIOk3C,EAAOltD,IACN,IACR,0BAAMJ,UAAU,QAAQstD,EAAOruD,KAA/B,aAOZ,kBAACwnB,EAAA,EAAM/U,OAAP,KACE,6BACE,4BACE3O,KAAK,SACL0J,QAAS+/C,EAAe6D,wBACxBrwD,UAAU,6BAHZ,UAOA,yCACA,4BACE+C,KAAK,SACL0J,QAAS+/C,EAAe6D,wBACxBrwD,UAAU,+BAHZ,S,iCC1EH,SAASuwD,GAAT,GAAiD,IAAfnwD,EAAc,EAAdA,GAAIiR,EAAU,EAAVA,OAC3C,EAA0BrE,mBAAS,IAAnC,mBAAOoS,EAAP,KAAckH,EAAd,KAEA,EAA0ChD,aACxC,SAAChE,GAAD,MAAY,CACVkuC,cAAeluC,EAAMwvC,UAAUtB,cAC/BjsC,eAAgBjC,EAAMwvC,UAAUvtC,kBAElCkC,KALM+pC,EAAR,EAAQA,cAAejsC,EAAvB,EAAuBA,eAkBvB,OAVAzN,qBAAU,WACR,IAAIyS,EAASnmB,EAAK,GAAK,mBACnBotD,GAAiBptD,IACnBmmB,EAAS,wBAA0BnmB,GAGrCkmB,EAASC,KAER,CAACinC,EAAejsC,IAGjB,oCACGA,GAAkB,kBAAC,IAAD,CAAkBoS,QAAQ,UAC7C,kBAAClN,EAAA,EAAMlV,OAAP,KACE,kBAACkV,EAAA,EAAM9U,MAAP,CAAavR,GAAG,gCAAgCgf,GAChD,kBAACie,GAAA,EAAD,CAEE7rB,aAAW,QACX/E,QAAS,SAAC6C,GACR,IACE+B,GAAO,GACP,MAAO9G,OAGX,kBAAC,KAAD,S,uBClCH,SAASimD,GAAiBn/C,GAE/B,IAAM+6C,EAAmBC,cACnBG,EAAiBx7B,mBAAQ,WAC7B,MAAO,CACL5wB,GAAIgsD,EAAiB0D,WACrBrgC,OAAQ28B,EAAiB38B,OACzBy9B,UAAWd,EAAiBc,UAC5B5nC,YAAa8mC,EAAiB9mC,YAC9BmrC,qBAAsBrE,EAAiBqE,qBACvCC,sBAAuBtE,EAAiBsE,sBACxCC,WAAYvE,EAAiBuE,WAC7BlE,oBAAqBL,EAAiBK,uBAEvC,CAACL,IAGE7mC,EAAW0L,cACjB,EAA0C3N,aACxC,SAAChE,GAAD,MAAY,CACViC,eAAgBjC,EAAMwvC,UAAUvtC,eAChCisC,cAAeluC,EAAMwvC,UAAUtB,iBAEjC/pC,KALMlC,EAAR,EAAQA,eAAgBisC,EAAxB,EAAwBA,cAaxB,SAASf,KAC0B,IAA7B5nD,OAAO+rD,mBACT1qD,YAAW,WACTsmD,EAAeC,sBACf5nD,OAAO+rD,uBAAoB9qD,IAC1B,KAVPgO,qBAAU,WAERyR,EAAStB,EAAoBuoC,EAAepsD,OAC3C,CAACosD,EAAepsD,GAAImlB,IAoDvB,OACE,kBAACkB,EAAA,EAAD,CACEtV,KAAK,KACLC,KAAMo7C,EAAeiE,qBACrBp/C,OAAQm7C,EAAekE,sBACvBp/C,kBAAgB,gCAEhB,kBAACi/C,GAAD,CACEnwD,GAAIosD,EAAepsD,GACnBiR,OAAQm7C,EAAekE,wBAEzB,kBAACG,GAAA,EAAD,CACEC,WAtDa,SAACxD,GACbd,EAAepsD,GAoBlBmlB,EAAStB,EAAqBqpC,IAAS14C,MAAK,WAE1C2Q,EAEEtB,EACEuoC,EAAelnC,YACfknC,EAAeU,YAEjBt4C,MAAK,WAEL43C,EAAe/8B,OAAO,IAEtBg9B,IACAD,EAAekE,wBAEfK,aAAgB,kDAjCpBxrC,EAAStB,EAAqBqpC,IAAS14C,MAAK,WAE1C2Q,EACEtB,EACEuoC,EAAelnC,YACfknC,EAAeU,YAEjBt4C,MAAK,WAEL43C,EAAe/8B,OAAO,IAEtB+8B,EAAekE,wBACfjE,WAwCFlrC,eAAgBA,EAChB+rC,OAAQE,GAAiBhB,EAAemE,WACxCt/C,OAAQm7C,EAAekE,sBACvBtwD,GAAIosD,EAAepsD,MChGpB,SAAS0uD,GAAT,GAA4B,IAAP1uD,EAAM,EAANA,GAEpBgsD,EAAmBC,cACFr7B,mBAAQ,WAC7B,MAAO,CAAE9L,IAAKknC,EAAiBlnC,OAC9B,CAACknC,IAEJ,OACE,oCACE,kBAACqD,EAAD,MACA,kBAACe,GAAD,MACA,kBAACX,GAAD,MACA,kBAACH,GAAD,MACA,kBAACS,GAAD,MACA,yBAAKnwD,UAAU,oBACb,kBAACmsD,EAAD,CAAe/rD,GAAIA,KAErB,kBAACyuD,EAAD,OA3BN,oC,4yNCeA,IAAM5wD,GAAU,IAAIC,IAAa,MAC3BC,GAAKC,IAAIH,IAEF+yD,GAAY,SAAC,GAOnB,IANLxpD,EAMI,EANJA,IACAwgD,EAKI,EALJA,cACAC,EAII,EAJJA,iBACAgJ,EAGI,EAHJA,QACAC,EAEI,EAFJA,2BACAv8B,EACI,EADJA,kBAEA,EAAgD3nB,mBAAS,IAAzD,mBAAOg6C,EAAP,KAAyBC,EAAzB,KACA,EAA4Cj6C,mBAAS,IAArD,mBAAOk6C,EAAP,KAAuBC,EAAvB,KACA,EAAkCn6C,oBAAS,GAA3C,mBAAOmkD,EAAP,KAAkBC,EAAlB,KACA,EAA4BpkD,mBAAS,MAArC,mBAAOo6C,EAAP,KAAeC,EAAf,KACA,EAA4Dr6C,oBAAS,GAArE,mBAAOqkD,EAAP,KAA+BC,EAA/B,KACA,EAA4DtkD,oBAAS,GAArE,mBAAOukD,EAAP,KAA+BC,EAA/B,KACA,EAA4CxkD,mBAAS,IAArD,mBAAO46C,EAAP,KAAuBC,EAAvB,KACA,EAA8C76C,mBAAS,MAAvD,mBAAOykD,EAAP,KAAwBC,EAAxB,KACA,EAAwC1kD,mBAAS,IAAjD,mBAAO2kD,EAAP,KAAqBC,GAArB,KACA,GAA8C5kD,mBAAS,IAAvD,qBAAO6kD,GAAP,MAAwBC,GAAxB,MACA,GAA8C9kD,oBAAS,GAAvD,qBAAO+kD,GAAP,MAAwBC,GAAxB,MACA,GAAgChlD,mBAAS,0FAAD,QAExB,IAAZikD,EAAmBzpD,EAAIE,KAAK,MAAQF,EAAI5D,GAFJ,wCAAxC,qBAAO8jD,GAAP,MAAiBC,GAAjB,MAKA,GAAsC36C,mBAAS,sBAAD,QACV,IAAZikD,EAAmBzpD,EAAIE,KAAK,MAAQF,EAAI5D,GADlB,MAA9C,qBAAO4jD,GAAP,MAAoBC,GAApB,MAGA,GAAwCz6C,oBAAS,GAAjD,qBAAOs6C,GAAP,MAAqBC,GAArB,MACA,GAA0Cv6C,oBAAS,GAAnD,qBAAO86C,GAAP,MAAsBC,GAAtB,MAEAj0C,qBAAU,WACR,IAAIuB,EAAY,IAAIC,QACpBD,EAAUE,OAAO,gBAAjB,iBAA4CpX,GAAG8L,OAAOC,WAAWyK,QACjEU,EAAUE,OAAO,eAAgB,oBACjCF,EAAUE,OAAO,eAAgB,UACjC,IAAIC,EAAiB,CACnBjB,OAAQ,MACRC,iBAAiB,EACjBC,QAASY,EACTI,SAAU,UAEZpB,MAAM,GAAD,OACAxP,OAAOyP,QADP,oCAEW,IAAZ28C,EAAmBzpD,EAAI,GAAKA,EAAI5D,IAElC4R,GAECZ,MAAK,SAACC,GAAD,OAAcA,EAAS5V,UAC5B2V,MAAK,SAACzF,GACL,IAAM8iD,EAAYlxD,KAAKC,MAAMmO,GACzB2d,EAAM,GACNolC,EAAO,GACXR,EAAmBO,EAAUzH,aAC7ByH,EAAUrI,OAAO7lD,KAAI,SAACC,GAGpB,OAFA8oB,EAAIhkB,KAAK,CAAE3J,MAAO6E,EAAKkgC,MAAO1gC,MAAOQ,EAAKkgC,QAC1CguB,EAAKppD,KAAK,CAAEo7B,MAAOlgC,EAAKkgC,MAAOrgC,KAAMG,EAAKkgC,QACnC,QAETijB,EAAkBr6B,GAClBu6B,EAAU6K,GACVjL,EAAoBn6B,MAErB3X,OAAM,SAAC5K,GAAD,OAAWnH,QAAQC,IAAI,QAASkH,MAEzC8J,MAAMxP,OAAOyP,QAAU,mCAAoC,CACzDC,OAAQ,MACRE,QAAS,CACPC,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C+K,OAAQ,oCACR,eAAgB,sBAGjB9K,MAAK,SAACC,GAAD,OAAcA,EAAS5V,UAC5B2V,MAAK,SAACzF,GACL,IAAMgjD,EAAOpxD,KAAKC,MAAMmO,GACxByiD,GAAgBO,EAAKR,cACrBG,GAAmBK,EAAKN,oBAEzB18C,OAAM,SAAC5K,GAAD,OAAWnH,QAAQC,IAAI,QAASkH,QACxC,IAEH,IAAM6nD,GAAkB,wCAAG,4FACV,OAAXhL,EADqB,uBAEvBxnD,YAAa,QAAS,0BAFC,iCAMzBmoD,IAAiB,GACN,GACXxlD,EAAO,CACL8nD,KAAiB,IAAZ4G,EAAmBzpD,EAAM,CAACA,EAAIpH,IACnCwpD,OAAQxC,EACRkD,QAAS9C,GACT/1C,KAAMi2C,GACN6C,UAAWjD,GACXkD,YAAa5C,EACb6C,IAAK0G,EACLzG,iBAAkB2G,EAClB1G,iBAAkB4G,GAGhB3G,EAAM7pD,KAAKE,UAAUsB,GACrBiT,EAAiB,CACnBjB,OAAQ,OACRnV,KAAMwrD,EACNn1C,SAAU,SACVjB,iBAAiB,EACjBC,QAAS,CACPC,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,qBAGV,GACJ,sCAjCmB,UAmCJN,MAAM,GAAD,OAAIxP,OAAOyP,SAAX,OAFpB,uCAEgDkB,GAnC7B,QAoCD,MApCC,OAoCZT,QACXnV,YACE,UADU,kDAEiC4H,EAAI5D,KAE7CstD,GACFA,EAA2Bv8B,GAG7B0yB,EAAU,MACVF,EAAkB,MAClBM,GAAe,MACfE,GAAY,IACZJ,IAAgB,GAChB6J,GAAa,KAEbxxD,YAAa,QAAS,gBAClBsxD,GACFA,EAA2Bv8B,IAI/BozB,IAAiB,GACjBE,GAAiB,GA3DQ,4CAAH,qDA1EpB,SA6MWoK,GA7MX,kFA6MJ,WAAyCjyD,GAAzC,8FAEmE0F,IAA/DtH,SAASsR,eAAe,0BAA0BgL,MAAM,GAF5D,uBAIIlb,YAAa,QAAS,4BAJ1B,iCAOEoyD,IAAmB,GACfM,EAAW,IAAIC,SACbC,EAAeh0D,SAASsR,eAAe,0BACvC2iD,EAAgBj0D,SAASsR,eAAe,6BAC3C3Q,MACGuzD,EAAmBl0D,SAASsR,eAChC,gCACA3Q,MACFmzD,EAAS/8C,OACP,OACAi9C,EAAa13C,MAAM,GACnB03C,EAAarzD,MAAMiJ,MAAM,MAAM,IAE7BoN,EAAiB,CACnBjB,OAAQ,OACRnV,KAAMkzD,EACN78C,SAAU,SACVjB,iBAAiB,EACjBC,QAAS,CACPC,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,WA3BtB,UA8BuBN,MACnBxP,OAAOyP,QAAP,wDACmDlU,EADnD,0BACuEqyD,EADvE,6BACyGC,GACzGl9C,GAjCJ,eA8BMX,EA9BN,iBAmCmBA,EAAS1N,OAnC5B,QAqCE,IArCF,OAoCMwrD,EAASn0D,SAASo0D,iBAAiB,gCAC9BhqD,EAAI,EAAGA,EAAI+pD,EAAO9pD,OAAQD,IACjC+pD,EAAO/pD,GAAGkuB,SAAU,EAEtBk7B,IAAmB,GACnBa,GAAiB,OAACrrD,QAAD,IAACA,OAAD,EAACA,EAAK5D,IACvBikD,EAAkB,IA1CpB,6CA7MI,+BA0PWgL,GA1PX,kFA0PJ,WAAiCzyD,GAAjC,2EACMiV,EAAY,IAAIC,SACVC,OAAO,gBAAjB,iBAA4CpX,GAAG8L,OAAOC,WAAWyK,QACjEU,EAAUE,OAAO,eAAgB,oBACjCF,EAAUE,OAAO,eAAgB,UAC7BC,EAAiB,CACnBjB,OAAQ,MACRC,iBAAiB,EACjBC,QAASY,EACTI,SAAU,UAEZpB,MAAMxP,OAAOyP,QAAU,2BAA6BlU,EAAIoV,GACrDZ,MAAK,SAACC,GAAD,OAAcA,EAAS5V,UAC5B2V,MAAK,SAACzF,GACL,IAAM8iD,EAAYlxD,KAAKC,MAAMmO,GAC7BuiD,EAAmBO,EAAUzH,gBAE9Br1C,OAAM,SAAC5K,GAAD,OAAWnH,QAAQC,IAAI,QAASkH,MAjB3C,4CA1PI,sBA6QJ,OACE,kBAACkc,EAAA,EAAD,CACEtV,KAAK,KACLC,KAAM42C,EACN12C,kBAAgB,gCAEhB,kBAACmV,EAAA,EAAMlV,OAAP,KACE,kBAACkV,EAAA,EAAM9U,MAAP,CAAavR,GAAG,gCAAhB,cACA,kBAACi9B,EAAA,EAAD,CACEr9B,UAAU,+CACVwR,aAAW,QACX/E,QAAS,WACPw7C,GAAiB,KAGnB,kBAAC,IAAD,QAGJ,kBAACxhC,EAAA,EAAMhV,KAAP,KACE,yBAAKzR,UAAU,aACb,yBAAKA,UAAU,OACb,yBAAKA,UAAU,aACb,uBAAGA,UAAU,QAAb,QACA,kBAAC,IAAD,CACEq1C,SAAO,EACPrvC,KAAK,KACL5F,GAAG,KACHjB,MAAO+nD,EACP/sC,QAAS6sC,EACThnD,UAAU,qBACVs1C,gBAAgB,SAChBjmC,SAAU,SAACC,GACT,IAAIwd,EAAM,GACNq+B,EAAc,GACd77C,GACFA,EAAEvL,KAAI,SAACC,GASL,OARA8oB,EAAIhkB,KAAK,CACPo7B,MAAOlgC,EAAK7E,MACZ0E,KAAMG,EAAK7E,QAEbgsD,EAAYriD,KAAK,CACf3J,MAAO6E,EAAK7E,MACZqE,MAAOQ,EAAK7E,QAEP,QAGXgoD,EAAkBgE,GAClB9D,EAAUv6B,MAId,kBAAC,IAAD,CACEpO,KAAK,OACL1Y,KAAK,WACL/G,KAAK,mBACLoQ,SAAU,SAAC4E,GACTszC,GAAgBtzC,EAAMrE,OAAOknB,aAInC,yBAAK92B,UAAU,kBACb,uBAAGA,UAAU,QAAb,aACA,2BACEgG,KAAK,UACLhG,UAAU,eACVoP,YAAY,UACZjQ,MAAOqoD,GACPn4C,SAAU,SAAC4E,GACTwzC,GAAexzC,EAAMrE,OAAOzQ,WAIlC,yBAAKa,UAAU,kBACb,uBAAGA,UAAU,QAAb,UAEA,kBAAC,WAAD,CACEgG,KAAK,OACLpC,GAAG,OACHJ,MAAM,OACN4nD,OAAQC,KACRC,OAAQ,CACNC,cAAe,CACb,QACA,eACA,aACA,eACA,cACA,eAGJhpD,KAAMmlD,GACNp0B,OAAQ,SAACrf,EAAOm3C,GACd,IAAM7oD,EAAO6oD,EAAOI,UACpB7D,GAAYplD,OAIlB,yBAAKvC,UAAU,aACb,yBAAKA,UAAU,OACb,yBAAKA,UAAU,kBACb,4CAEF,yBAAKA,UAAU,sBACb,yBAAKA,UAAU,YACb,kBAAC,IAAD,CACE0e,KAAK,OACL1Y,KAAK,YACL/G,KAAK,cACLoQ,SAAU,SAAC4E,GACTm9C,EAAan9C,EAAMrE,OAAOknB,aAIhC,yBAAK92B,UAAU,YACb,kBAAC,IAAD,CACE0e,KAAK,OACL1Y,KAAK,mBACL8wB,QAASu6B,EACTpyD,KAAK,4BACLoQ,SAAU,SAAC4E,GACTq9C,EAA0Br9C,EAAMrE,OAAOknB,aAI7C,yBAAK92B,UAAU,YACb,kBAAC,IAAD,CACE0e,KAAK,OACL1Y,KAAK,mBACL/G,KAAK,4BACL63B,QAASy6B,EACTliD,SAAU,SAAC4E,GACTu9C,EAA0Bv9C,EAAMrE,OAAOknB,cAjCjD,OAsCG26B,QAtCH,IAsCGA,OAtCH,EAsCGA,EAAiB1tD,KAAI,SAACC,EAAMC,GAC3B,OACE,kBAAC,WAAD,KACE,yBAAKjE,UAAU,sBACb,yBAAKA,UAAU,sBACb,kBAAC,IAAD,CACE0e,KAAK,OACL1Y,KAAI,eAAU/B,GACd9E,MAAO6E,EAAKJ,GACZ5D,UAAU,8BACVqP,SAAU,SAAC4E,GACT,IAAI6Y,EAAM86B,EACV96B,EAAIhkB,KAAKmL,EAAMrE,OAAOzQ,OACtB0oD,EAAkB/6B,MAGtB,uBACE9sB,UAAU,OACV4P,OAAO,SACPkjD,IAAI,sBACJpqD,KAAI,UAAK1E,EAAK+uD,OAEb/uD,EAAKH,YAOlB,yBAAK7D,UAAU,aACb,yBAAKA,UAAU,aACb,yBAAKA,UAAU,YACb,6CACA,2BACEI,GAAG,yBACH2C,KAAK,OACLiD,KAAK,yBACL0I,UAAW2f,IACXjf,YAAY,iBACZ5L,MAAM,oBAGV,yBAAKxD,UAAU,YACb,8CACA,4BACEA,UAAU,uEACVgG,KAAK,+BACL5F,GAAG,+BACHoD,MAAM,mBAELquD,GAAgB9tD,KAAI,SAACC,EAAMC,GAAP,OACnB,4BAAQqD,IAAKrD,EAAO9E,MAAO6E,EAAKJ,IAC7BI,EAAKH,WAKd,yBAAK7D,UAAU,YACb,2CACA,4BACEA,UAAU,uEACVgG,KAAK,4BACL5F,GAAG,4BACHoD,MAAM,gBAELmuD,EAAa5tD,KAAI,SAACC,EAAMC,GAAP,OAChB,4BAAQqD,IAAKrD,EAAO9E,MAAO6E,EAAKJ,IAC7BI,EAAKH,WAKd,yBAAK7D,UAAU,iBACb,4BACE+C,KAAK,SACL0J,QAAO,uBAAE,+FACD4lD,GAAyB,OAAC7qD,QAAD,IAACA,OAAD,EAACA,EAAK5D,IAD9B,mFAGTuP,SAAU4+C,GACV/xD,UAAU,+BANZ,kBASG+xD,IACC,kBAAC,IAAD,CACE1xD,GAAG,OACHorD,UAAU,SACVt6C,KAAK,KACL2tB,KAAK,SACL4sB,cAAY,kBAYlC,kBAACjlC,EAAA,EAAM/U,OAAP,KACE,6BACE,4BACE3O,KAAK,SACL0J,QAAS,WACPw7C,GAAiB,IAEnBjoD,UAAU,6BALZ,UASA,yCACA,4BACE+C,KAAK,SACL0J,QAAS,YAjYnB,SAAoBrM,EAAI4yD,GACtB,IAAI39C,EAAY,IAAIC,QACpBD,EAAUE,OAAO,gBAAjB,iBAA4CpX,GAAG8L,OAAOC,WAAWyK,QACjEU,EAAUE,OAAO,eAAgB,oBAEjC,IAKIC,EAAiB,CACnBjB,OAAQ,OACRE,QAASY,EACTjW,KARQ2B,KAAKE,UAAU,CACvBgyD,YAAa,CAAC7yD,GACd8yD,eAAgBF,IAOhBv9C,SAAU,UAGZpB,MAAM,GAAD,OACAxP,OAAOyP,QADP,6CAEHkB,GAECZ,KAJH,wCAIQ,WAAOC,GAAP,0FACqBA,EAASE,OAD9B,UACED,EADF,SAEEY,EAAcb,EAASJ,QAAQkB,IAAI,mBACuB,IAA7CD,EAAYE,QAAQ,oBAHnC,yCAIKf,EAAS1N,OAAOyN,MAAK,SAACrS,GAAD,MAAU,CAACuS,EAAYvS,OAJjD,gCAMKsS,EAAS5V,OAAO2V,MAAK,SAAC3V,GAAD,MAAU,CAAC6V,EAAY,CAAEe,QAAS,SAN5D,2CAJR,uDAaGjB,MAAK,SAACzF,GACL,GAAkB,MAAdA,EAAO,GAEe,OAAtBA,EAAO,GAAG0G,cACY/P,IAAtBqJ,EAAO,GAAG0G,SACY,KAAtB1G,EAAO,GAAG0G,SAEVjW,YAAa,YAAauP,EAAO,GAAG0G,SACpCu8C,MAEAA,UAGF,GAC2B,OAAzBjjD,EAAO,GAAG07C,iBACe/kD,IAAzBqJ,EAAO,GAAG07C,YACe,KAAzB17C,EAAO,GAAG07C,WACV,CACA,IAAIC,EAAa37C,EAAO,GAAG07C,WACvBC,GACF1pD,OAAOC,KAAKypD,GAAY5pD,SAAQ,SAASI,GACvCwpD,EAAWxpD,GAAGJ,SAAQ,SAACiP,GACrBvQ,YAAa,aAAcuQ,cAIX,OAAtBhB,EAAO,GAAG0G,cACY/P,IAAtBqJ,EAAO,GAAG0G,SACY,KAAtB1G,EAAO,GAAG0G,QAEVjW,YAAa,aAAcuP,EAAO,GAAG0G,SAErCjW,YAAa,aAAc,kBAIhCuV,OAAM,SAAC5K,GACNnH,QAAQC,IAAI,QAASkH,MA+Tf4oD,EAAuB,IAAZlC,EAAmBzpD,EAAMA,EAAI5D,GAAI,MAE9CuP,SAAU20C,GACV9nD,UAAU,8BANZ,aASG8nD,IACC,kBAAC,IAAD,CACEznD,GAAG,OACHorD,UAAU,SACVt6C,KAAK,KACL2tB,KAAK,SACL4sB,cAAY,cCniB5B,IAAMztD,GAAU,IAAIC,IAAa,M,IACtBE,IAAIH,I,OCQf,IAAMA,GAAU,IAAIC,IAAa,MACtBE,IAAIH,I,m3MCFf,IAAMA,GAAU,IAAIC,IAAa,MAC3BC,GAAKC,IAAIH,IAETqZ,GAAYrB,cAAW,SAACC,GAAD,MAAY,CACvCC,KAAM,CACJ+Q,SAAU,EACVtQ,OAAQ,KAEV/K,MAAO,CACLsb,QAAS,OACTC,QAAS,EACTxQ,OAAQ,QAEVyQ,eAAgB,CACdF,QAAS,OACTG,SAAU,OACVC,KAAM,EACNC,WAAY,SACZC,SAAU,UAEZC,KAAM,CACJ1Q,OAAQd,EAAMK,QAAQ,GAAK,MAE7BoR,YAAa,CACXC,gBAAiBC,aACQ,UAAvB3R,EAAM4R,QAAQ/kB,KACVmT,EAAM4R,QAAQC,KAAK,KACnB7R,EAAM4R,QAAQC,KAAK,KACvB,MAGJC,iBAAkB,CAChBZ,QAASlR,EAAMK,QAAQ,EAAG,IAE5BnH,YAAa,CACX9K,SAAU,YAEZ0e,WAAY,CACVjU,MAAO,eACP0oB,OAAQ,cACR27B,cAAe,OACfC,QAAS,OAEXh9C,MAAO,CACL/R,SAAU,WACV8jB,OAAQ,EACR9R,UAAWJ,EAAMK,QAAQ,GACzB2R,KAAM,EACNG,MAAO,GAETC,QAAS,CACP1R,OAAQV,EAAMK,QAAQ,IAExBQ,OAAQ,CACNC,OAAQd,EAAMK,QAAQ,GACtB+8C,eAAgB,YAElBr8C,SAAU,CACRC,YAAahB,EAAMK,QAAQ,IAE7BY,UAAW,CACTC,WAAYlB,EAAMK,QAAQ,IAE5Bc,UAAW,CACThT,SAAU,IAEZwnB,UAAW,CACTzU,WAAYlB,EAAMK,QAAQ,GAC1BW,YAAahB,EAAMK,QAAQ,IAE7BxO,KAAM,CACJqO,MAAO,KAETm9C,SAAU,CACRn9C,MAAO,YAIJ,SAASo9C,GAAT,GAQH,IAAD,IAPDC,EAOC,EAPDA,cACAC,EAMC,EANDA,cACAxC,EAKC,EALDA,2BACAv8B,EAIC,EAJDA,kBACAg/B,EAGC,EAHDA,YACAC,EAEC,EAFDA,eACAC,EACC,EADDA,gBAEA,EAAgD7mD,oBAAS,GAAzD,mBAAO8mD,EAAP,KAAyBC,EAAzB,KACA,EAA0C/mD,oBAAS,GAAnD,mBAAOg7C,EAAP,KAAsBC,EAAtB,KACA,EAAkDj7C,oBAAS,GAA3D,mBAAOgnD,EAAP,KAA0BC,EAA1B,KACA,EAA8CjnD,oBAAS,GAAvD,mBAAOknD,EAAP,KAAwBC,EAAxB,KACA,EAAkDnnD,oBAAS,GAA3D,mBAAOonD,EAAP,KAA0BC,EAA1B,KACA,EAAkDrnD,oBAAS,GAA3D,mBAAOsnD,EAAP,KAA0BC,EAA1B,KACA,EAAkDvnD,mBAAS,IAA3D,mBAAOwnD,EAAP,KAA0BC,EAA1B,KACA,EAAgEznD,mBAAS,CACvEimD,YAAaU,EACbvK,UAAU,UAAAyK,EAAgB,UAAhB,eAAoBh+B,YAAa,GAC3C6+B,aAAc,KACdxB,eAAgB,GAChByB,mBAAoB,GACpBC,gBAAiB,KANnB,mBAAOC,EAAP,KAAiCC,GAAjC,KAQA,GAAkD9nD,mBAAS,IAA3D,qBAAO+nD,GAAP,MAA0BC,GAA1B,MACA,GAA0DhoD,mBAAS,IAAnE,qBAAOioD,GAAP,MAA8BC,GAA9B,MACA,GAAoCloD,mBAAS,IAA7C,qBAAOmoD,GAAP,MAAmBC,GAAnB,MA2JA,SAASjC,GAAW/yD,EAAI4yD,GACtB,IAAI39C,EAAY,IAAIC,QACpBD,EAAUE,OAAO,gBAAjB,iBAA4CpX,GAAG8L,OAAOC,WAAWyK,QACjEU,EAAUE,OAAO,eAAgB,oBAEjC,IAKIC,EAAiB,CACnBjB,OAAQ,OACRE,QAASY,EACTjW,KARQ2B,KAAKE,UAAU,CACvBgyD,YAAa7yD,EACb8yD,eAAgBF,IAOhBv9C,SAAU,UAGZpB,MAAM,GAAD,OACAxP,OAAOyP,QADP,6CAEHkB,GAECZ,KAJH,wCAIQ,WAAOC,GAAP,0FACqBA,EAASE,OAD9B,UACED,EADF,SAEEY,EAAcb,EAASJ,QAAQkB,IAAI,mBACuB,IAA7CD,EAAYE,QAAQ,oBAHnC,yCAIKf,EAAS1N,OAAOyN,MAAK,SAACrS,GAAD,MAAU,CAACuS,EAAYvS,OAJjD,gCAMKsS,EAAS5V,OAAO2V,MAAK,SAAC3V,GAAD,MAAU,CAAC6V,EAAY,CAAEe,QAAS,SAN5D,2CAJR,uDAaGjB,MAAK,SAACzF,GACL,GAAkB,MAAdA,EAAO,GAEe,OAAtBA,EAAO,GAAG0G,cACY/P,IAAtBqJ,EAAO,GAAG0G,SACY,KAAtB1G,EAAO,GAAG0G,SAEVjW,YAAa,YAAauP,EAAO,GAAG0G,SACpCq7C,EAA2Bv8B,KAE3B/0B,YAAa,UAAW,0CACxBsxD,EAA2Bv8B,GAC3Bi/B,EAAe,UAGjB,GAC2B,OAAzBzkD,EAAO,GAAG07C,iBACe/kD,IAAzBqJ,EAAO,GAAG07C,YACe,KAAzB17C,EAAO,GAAG07C,WACV,CACA,IAAIC,EAAa37C,EAAO,GAAG07C,WACvBC,GACF1pD,OAAOC,KAAKypD,GAAY5pD,SAAQ,SAASI,GACvCwpD,EAAWxpD,GAAGJ,SAAQ,SAACiP,GACrBvQ,YAAa,aAAcuQ,cAIX,OAAtBhB,EAAO,GAAG0G,cACY/P,IAAtBqJ,EAAO,GAAG0G,SACY,KAAtB1G,EAAO,GAAG0G,QAEVjW,YAAa,aAAcuP,EAAO,GAAG0G,SAErCjW,YAAa,aAAc,kBAIhCuV,OAAM,SAAC5K,GACNnH,QAAQC,IAAI,QAASkH,MAI3B,SAAS8qD,GAAUrC,GAAW,IAAD,EACrB/uD,EAAK,OAAGyvD,QAAH,IAAGA,GAAH,UAAGA,EAAe4B,sBAAlB,aAAG,EAA+BlwC,WAC3C,SAACvU,GAAD,OAAWrP,OAAOqP,EAAM6yC,YAAcliD,OAAOwxD,MAE/C,OAAe,IAAX/uD,GAAgBA,KAAuB,OAAbyvD,QAAa,IAAbA,OAAA,EAAAA,EAAe4B,eAAezsD,QAAS,EAE5D,KAET,OAAO6qD,QAAP,IAAOA,OAAP,EAAOA,EAAe4B,eAAerxD,EAAQ,GAE/C,IAAM1D,GAAU+W,KAChB,GAA0BtK,mBAAS,CACjCy4B,KAAK,EACLvd,MAAM,EACNC,QAAQ,EACRE,OAAO,IAJT,qBAAO/I,GAAP,MAAcK,GAAd,MAMM41C,GAAe,SAACC,EAAM1hC,GAAP,OAAgB,SAAC7f,GACpC0L,GAAS,2BAAKL,IAAN,mBAAck2C,EAAO1hC,KACzBA,GACF5tB,YAAW,WACT1H,SAASi3D,uBAAuB,mBAAmB,GAAGrxD,MAAMsxD,WAC1D,YACD,KAELzhD,EAAM0hD,mBAqIR,SAASC,KACP,IACE,IAAIC,EAAiBhB,EAAyBzL,SAC9C,GACqB,OAAnByM,QACmB/vD,IAAnB+vD,GACmB,KAAnBA,EAGA,YADAj2D,YAAa,aAAc,wBAG7By0D,GAAqB,GACrB,IAAIh/C,EAAY,IAAIC,QACpBD,EAAUE,OAAO,gBAAjB,iBAA4CpX,GAAG8L,OAAOC,WAAWyK,QACjEU,EAAUE,OAAO,eAAgB,oBACjCF,EAAUE,OAAO,eAAgB,UACjC,IACIC,EAAiB,CACnBjB,OAAQ,OACRE,QAASY,EACTjW,KAJQ2B,KAAKE,UAAU4zD,GAKvBp/C,SAAU,UAEZpB,MACExP,OAAOyP,QAAP,4CACAkB,GAECZ,KAJH,wCAIQ,WAAOC,GAAP,0FACqBA,EAASE,OAD9B,UACED,EADF,SAEEY,EAAcb,EAASJ,QAAQkB,IAAI,mBACuB,IAA7CD,EAAYE,QAAQ,oBAHnC,yCAIKf,EAAS1N,OAAOyN,MAAK,SAACrS,GAAD,MAAU,CAACuS,EAAYvS,OAJjD,gCAMKsS,EACJ5V,OACA2V,MAAK,SAAC3V,GAAD,MAAU,CAAC6V,EAAY,CAAEe,QAAS,SARxC,2CAJR,uDAeGjB,MAAK,SAACzF,GACL,GAAkB,MAAdA,EAAO,GAEe,OAAtBA,EAAO,GAAG0G,cACY/P,IAAtBqJ,EAAO,GAAG0G,SACY,KAAtB1G,EAAO,GAAG0G,SAEVjW,YAAa,YAAauP,EAAO,GAAG0G,SACpC0+C,GAAqB,IAErB30D,YACE,UADU,iCAEgBi1D,EAAyB5B,YAAYlvD,KAC7D,SAACud,GAAD,OAAcA,EAAW,QAHjB,oCAOd4vC,EAA2Bv8B,GAC3B4/B,GAAqB,QAErB,GAC2B,OAAzBplD,EAAO,GAAG07C,iBACe/kD,IAAzBqJ,EAAO,GAAG07C,YACe,KAAzB17C,EAAO,GAAG07C,WACV,CACA,IAAIC,EAAa37C,EAAO,GAAG07C,WACvBC,GACF1pD,OAAOC,KAAKypD,GAAY5pD,SAAQ,SAASI,GACvCwpD,EAAWxpD,GAAGJ,SAAQ,SAACiP,GACrBvQ,YAAa,aAAcuQ,cAIX,OAAtBhB,EAAO,GAAG0G,cACY/P,IAAtBqJ,EAAO,GAAG0G,SACY,KAAtB1G,EAAO,GAAG0G,QAEVjW,YAAa,aAAcuP,EAAO,GAAG0G,SAErCjW,YAAa,aAAc,eAG/By0D,GAAqB,MAEtBl/C,OAAM,SAAC5K,GACNnH,QAAQC,IAAI,QAASkH,GACrB8pD,GAAqB,MAEzB,MAAO/kD,KAsCX,OACE,6BAGE,kBAACmX,EAAA,EAAD,CACEtV,KAAK,KACL/Q,GAAG,sBACHgR,KAAMkjD,EACNhjD,kBAAgB,gCAEhB,kBAACmV,EAAA,EAAMlV,OAAP,KACE,kBAACkV,EAAA,EAAM9U,MAAP,CAAavR,GAAG,gCAAhB,oBAGA,kBAACi9B,EAAA,EAAD,CACE7rB,aAAW,QACX/E,QAAS,WACP8nD,GAAqB,KAGvB,kBAAC,IAAD,QAGJ,kBAAC9tC,EAAA,EAAMhV,KAAP,CAAYzR,UAAU,kBACpB,yBAAKA,UAAU,kBACb,yBAAKA,UAAU,aACb,yBAAKA,UAAU,OACb,yBAAKA,UAAU,YACb,uBAAGA,UAAU,QAAb,WACA,kBAAC,KAAD,CACEgG,KAAK,WACLyiB,WAAY,CAAEsB,OAtCjB,SAAChqB,GACd,OACE,yBAAKqE,MAAO,CAAE2K,MAAOhP,EAAMwC,KAAKwM,QAC9B,kBAAC,KAAWgb,OAAWhqB,MAoCXoa,QAASq6C,EAAkBjlD,QAAO,SAAChG,GACjC,IAAIujB,EAAG,eAAQvjB,GACf,OAAiD,KAA7CsrD,EAAyBD,kBACN,IAAjBrrD,EAAEusD,WACG,CACL32D,MAAK,OAAE2tB,QAAF,IAAEA,OAAF,EAAEA,EAAK3tB,MACZqE,MAAK,OAAEspB,QAAF,IAAEA,OAAF,EAAEA,EAAKtpB,MACZuL,MAAO,MACP8mB,UAAS,OAAE/I,QAAF,IAAEA,OAAF,EAAEA,EAAK+I,UAChBigC,WAAU,OAAEhpC,QAAF,IAAEA,OAAF,EAAEA,EAAKgpC,YAYd,CACL32D,MAAK,OAAE2tB,QAAF,IAAEA,OAAF,EAAEA,EAAK3tB,MACZqE,MAAK,OAAEspB,QAAF,IAAEA,OAAF,EAAEA,EAAKtpB,MACZuL,MAAO,QACP8mB,UAAS,OAAE/I,QAAF,IAAEA,OAAF,EAAEA,EAAK+I,UAChBigC,WAAU,OAAEhpC,QAAF,IAAEA,OAAF,EAAEA,EAAKgpC,eAIvB32D,MAAOq1D,EAAkBjlD,QACvB,SAAChG,GAAD,OAAOA,EAAEpK,QAAU01D,EAAyBzL,YAE9C/5C,SAAU,SAAC4E,GACT,IAAI8hD,EAAO,eAAQlB,GACnBkB,EAAQ3M,SAAR,OAAmBn1C,QAAnB,IAAmBA,OAAnB,EAAmBA,EAAO9U,MAC1B21D,GAA4BiB,MAGc,KAA7ClB,EAAyBD,mBAGH,KAFH,OAAjBJ,QAAiB,IAAjBA,GAAA,UAAAA,EAAmBjlD,QAClB,SAAChG,GAAD,OAAOA,EAAEpK,QAAU01D,EAAyBzL,YAC5C,UAFD,eAEK0M,YACJ,uBAAG1xD,MAAO,CAAE2K,MAAO,QAAnB,gCAIA,KAGN,yBAAK/O,UAAU,YACb,uBAAGA,UAAU,QAAb,eACA,kBAAC,KAAD,CACEgG,KAAK,eACL7G,MAAO81D,GACJ1lD,QACC,SAAChG,GAAD,OAAOA,EAAE3F,KAAOixD,EAAyBH,gBAE1C3wD,KAAI,SAAC8D,GACJ,MAAO,CACL1I,MAAK,OAAE0I,QAAF,IAAEA,OAAF,EAAEA,EAAGjE,GACVJ,MAAK,OAAEqE,QAAF,IAAEA,OAAF,EAAEA,EAAGhE,SAGhBsW,QAAS86C,GAAsBlxD,KAAI,SAAC8D,GAClC,MAAO,CACL1I,MAAK,OAAE0I,QAAF,IAAEA,OAAF,EAAEA,EAAGjE,GACVJ,MAAK,OAAEqE,QAAF,IAAEA,OAAF,EAAEA,EAAGhE,SAGdwL,SAAU,SAAC4E,GACT,IAAI8hD,EAAO,eAAQlB,GACnBkB,EAAQrB,aAAR,OAAuBzgD,QAAvB,IAAuBA,OAAvB,EAAuBA,EAAO9U,MAC9B21D,GAA4BiB,OAIlC,yBAAK/1D,UAAU,YACb,uBAAGA,UAAU,QAAb,kBACA,kBAAC,KAAD,CACEgG,KAAK,kBACL7G,MAAO41D,GAAkBxlD,QACvB,SAAChG,GAAD,OAAOA,EAAE3F,KAAOixD,EAAyBD,mBACzC7wD,KAAI,SAAC8D,GACL,MAAO,CACL1I,MAAK,OAAE0I,QAAF,IAAEA,OAAF,EAAEA,EAAGjE,GACVJ,MAAK,OAAEqE,QAAF,IAAEA,OAAF,EAAEA,EAAGhE,SAGdsW,QAAS46C,GAAkBhxD,KAAI,SAAC8D,GAC9B,MAAO,CACL1I,MAAK,OAAE0I,QAAF,IAAEA,OAAF,EAAEA,EAAGjE,GACVJ,MAAK,OAAEqE,QAAF,IAAEA,OAAF,EAAEA,EAAGhE,SAGdwL,SAAU,SAAC4E,GACT,IAAI8hD,EAAO,eAAQlB,GACnBkB,EAAQnB,gBAAR,OAA0B3gD,QAA1B,IAA0BA,OAA1B,EAA0BA,EAAO9U,MACjC21D,GAA4BiB,OAKY,MAA7ClB,EAAyBD,gBACxB,yBAAK50D,UAAU,YACb,uBAAGA,UAAU,QAAb,UACA,kBAAC,KAAD,CACEgG,KAAK,SACLmU,QAASg7C,GAAWpxD,KAAI,SAAC8D,GACvB,MAAO,CACL1I,MAAK,OAAE0I,QAAF,IAAEA,OAAF,EAAEA,EAAGjE,GACVJ,OAAQ,OAADqE,QAAC,IAADA,OAAA,EAAAA,EAAGhE,MAAO,KAAV,OAAgBgE,QAAhB,IAAgBA,OAAhB,EAAgBA,EAAGqb,UAG9B7T,SAAU,SAAC4E,GACT,IAAI8hD,EAAO,eAAQlB,GACnBkB,EAAQpB,mBAAR,OAA6B1gD,QAA7B,IAA6BA,OAA7B,EAA6BA,EAAO9U,MACpC21D,GAA4BiB,OAKlC,MAqBR,yBAAK/1D,UAAU,kBACb,yBAAKA,UAAU,aACf,yBAAKA,UAAU,oBAGnB,kBAACymB,EAAA,EAAM/U,OAAP,KACE,yCACE1R,UAAU,OACVyM,QAAS,WACP8nD,GAAqB,KAHzB,YAKY,6BALZ,UASA,4BACExxD,KAAK,SACLoQ,SAAUihD,EACV3nD,QAAO,uBAAE,+EACPmpD,KADO,2CAGT51D,UAAU,+BANZ,eASGo0D,GACC,kBAAC,IAAD,CACE/zD,GAAG,OACHorD,UAAU,SACVt6C,KAAK,KACL2tB,KAAK,SACL4sB,cAAY,YAQtB,kBAACjlC,EAAA,EAAD,CACEtV,KAAK,KACL/Q,GAAG,qBACHgR,KAAM0iD,EACNxiD,kBAAgB,gCAEhB,kBAACmV,EAAA,EAAMlV,OAAP,KACE,kBAACkV,EAAA,EAAM9U,MAAP,CAAavR,GAAG,gCAAhB,mBAGA,kBAACi9B,EAAA,EAAD,CACEr9B,UAAU,+CACVwR,aAAW,QACX/E,QAAS,WACPsnD,GAAoB,KAGtB,kBAAC,IAAD,QAGJ,kBAACttC,EAAA,EAAMhV,KAAP,CAAYzR,UAAU,kBACpB,yBAAKA,UAAU,kBACb,yBAAKA,UAAU,aACb,+BACE,0CAEF,2BACEoE,MAAO,CAAEkS,UAAW,OAAQF,MAAO,QACnChW,GAAG,eACH4F,KAAK,eACLhG,UAAU,eACV+C,KAAK,OACLgR,gBAAiB,CACfC,QAAQ,QAMlB,kBAACyS,EAAA,EAAM/U,OAAP,KACE,4BACEjF,QAAS,WACPsnD,GAAoB,IAEtB/zD,UAAU,kCAJZ,UAQA,4BACE+C,KAAK,SAEL0J,QAAS,YA1rBnB,WACE,IAAIupD,EAAex3D,SAASsR,eAAT,gBAAwC3Q,MAC3D,GACmB,KAAjB62D,QACiBlwD,IAAjBkwD,GACiB,OAAjBA,EAHF,CAQA3B,GAAqB,GAErB,IAAIh/C,EAAY,IAAIC,QACpBD,EAAUE,OAAO,gBAAjB,iBAA4CpX,GAAG8L,OAAOC,WAAWyK,QACjEU,EAAUE,OAAO,eAAgB,oBAEjC,IAMIC,EAAiB,CACnBjB,OAAQ,OACRE,QAASY,EACTjW,KATQ2B,KAAKE,UAAU,CACvBgyD,YAAaU,EACbT,eAAgB,EAChB+C,gBAAiBD,IAOjBvgD,SAAU,UAGZpB,MAAM,GAAD,OACAxP,OAAOyP,QADP,6CAEHkB,GAECZ,KAJH,wCAIQ,WAAOC,GAAP,0FACqBA,EAASE,OAD9B,UACED,EADF,SAEEY,EAAcb,EAASJ,QAAQkB,IAAI,mBACuB,IAA7CD,EAAYE,QAAQ,oBAHnC,yCAIKf,EAAS1N,OAAOyN,MAAK,SAACrS,GAAD,MAAU,CAACuS,EAAYvS,OAJjD,gCAMKsS,EAAS5V,OAAO2V,MAAK,SAAC3V,GAAD,MAAU,CAAC6V,EAAY,CAAEe,QAAS,SAN5D,2CAJR,uDAaGjB,MAAK,SAACzF,GACL,GAAkB,MAAdA,EAAO,GACTvP,YAAa,UAAW,0CACxBsxD,EAA2Bv8B,GAC3Bo/B,GAAoB,GACpBH,EAAe,QACV,CACL,GAC2B,OAAzBzkD,EAAO,GAAG07C,iBACe/kD,IAAzBqJ,EAAO,GAAG07C,YACe,KAAzB17C,EAAO,GAAG07C,WACV,CACA,IAAIC,EAAa37C,EAAO,GAAG07C,WACvBC,GACF1pD,OAAOC,KAAKypD,GAAY5pD,SAAQ,SAASI,GACvCwpD,EAAWxpD,GAAGJ,SAAQ,SAACiP,GACrBvQ,YAAa,aAAcuQ,cAIX,OAAtBhB,EAAO,GAAG0G,cACY/P,IAAtBqJ,EAAO,GAAG0G,SACY,KAAtB1G,EAAO,GAAG0G,QAEVjW,YAAa,aAAcuP,EAAO,GAAG0G,SAErCjW,YAAa,aAAc,eAE7Bm0D,GAAoB,GAEtBM,GAAqB,MAEtBl/C,OAAM,SAAC5K,GACNnH,QAAQC,IAAI,QAASkH,GACrB8pD,GAAqB,WArEvBz0D,YAAa,QAAS,uBAorBds2D,IAEFl2D,UAAU,+BANZ,eASGo0D,GACC,kBAAC,IAAD,CACE/zD,GAAG,OACHorD,UAAU,SACVt6C,KAAK,KACL2tB,KAAK,SACL4sB,cAAY,YAOtB,kBAACjlC,EAAA,EAAD,CACEtV,KAAK,KACL/Q,GAAG,qBACHgR,KAAM8iD,EACN5iD,kBAAgB,gCAEhB,kBAACmV,EAAA,EAAMlV,OAAP,KACE,kBAACkV,EAAA,EAAM9U,MAAP,CAAavR,GAAG,gCAAhB,kBAGA,kBAACi9B,EAAA,EAAD,CACEr9B,UAAU,+CACVwR,aAAW,QACX/E,QAAS,WACP0nD,GAAmB,KAGrB,kBAAC,IAAD,QAGJ,kBAAC1tC,EAAA,EAAMhV,KAAP,CAAYzR,UAAU,kBACpB,yBAAKA,UAAU,kBACb,yBAAKA,UAAU,aACb,+BACE,sCAEF,2BACEoE,MAAO,CAAEkS,UAAW,OAAQF,MAAO,QACnChW,GAAG,aACH4F,KAAK,aACLhG,UAAU,eACV+C,KAAK,OACLgR,gBAAiB,CACfC,QAAQ,QAMlB,kBAACyS,EAAA,EAAM/U,OAAP,KACE,4BACEjF,QAAS,WACP0nD,GAAmB,IAErBn0D,UAAU,kCAJZ,UAQA,4BACE+C,KAAK,SAEL0J,QAAS,YA10BnB,SAA4B0pD,GAC1B,IAAI/4C,EAAa5e,SAASsR,eAAT,cAAsC3Q,MACvD,GAAmB,KAAfie,QAAoCtX,IAAfsX,GAA2C,OAAfA,EAArD,CAIAi3C,GAAqB,GACrB,IAAIh/C,EAAY,IAAIC,QACpBD,EAAUE,OAAO,gBAAjB,iBAA4CpX,GAAG8L,OAAOC,WAAWyK,QACjEU,EAAUE,OAAO,eAAgB,oBAEjC,IAMIC,EAAiB,CACnBjB,OAAQ,OACRE,QAASY,EACTjW,KATQ2B,KAAKE,UAAU,CACvBgyD,YAAaU,EACbT,eAAgB,EAChB91C,WAAYA,IAOZ3H,SAAU,UAGZpB,MAAM,GAAD,OACAxP,OAAOyP,QADP,6CAEHkB,GAECZ,KAJH,wCAIQ,WAAOC,GAAP,0FACqBA,EAASE,OAD9B,UACED,EADF,SAEEY,EAAcb,EAASJ,QAAQkB,IAAI,mBACuB,IAA7CD,EAAYE,QAAQ,oBAHnC,yCAIKf,EAAS1N,OAAOyN,MAAK,SAACrS,GAAD,MAAU,CAACuS,EAAYvS,OAJjD,gCAMKsS,EAAS5V,OAAO2V,MAAK,SAAC3V,GAAD,MAAU,CAAC6V,EAAY,CAAEe,QAAS,SAN5D,2CAJR,uDAaGjB,MAAK,SAACzF,GACL,GAAkB,MAAdA,EAAO,GACTvP,YAAa,UAAW,0CACxBsxD,EAA2Bv8B,GAC3Bw/B,GAAmB,GACnBP,EAAe,QACV,CACL,GAC2B,OAAzBzkD,EAAO,GAAG07C,iBACe/kD,IAAzBqJ,EAAO,GAAG07C,YACe,KAAzB17C,EAAO,GAAG07C,WACV,CACA,IAAIC,EAAa37C,EAAO,GAAG07C,WACvBC,GACF1pD,OAAOC,KAAKypD,GAAY5pD,SAAQ,SAASI,GACvCwpD,EAAWxpD,GAAGJ,SAAQ,SAACiP,GACrBvQ,YAAa,aAAcuQ,cAIX,OAAtBhB,EAAO,GAAG0G,cACY/P,IAAtBqJ,EAAO,GAAG0G,SACY,KAAtB1G,EAAO,GAAG0G,QAEVjW,YAAa,aAAcuP,EAAO,GAAG0G,SAErCjW,YAAa,aAAc,eAE7Bu0D,GAAmB,GAErBE,GAAqB,MAEtBl/C,OAAM,SAAC5K,GACNnH,QAAQC,IAAI,QAASkH,GACrB8pD,GAAqB,WApEvBz0D,YAAa,QAAS,sBAw0Bdw2D,IAEFp2D,UAAU,+BANZ,eASGo0D,GACC,kBAAC,IAAD,CACE/zD,GAAG,OACHorD,UAAU,SACVt6C,KAAK,KACL2tB,KAAK,SACL4sB,cAAY,YAOtB,kBAACjlC,EAAA,EAAD,CACEtV,KAAK,KACL/Q,GAAG,qBACHgR,KAAM4iD,EACN1iD,kBAAgB,gCAEhB,kBAACmV,EAAA,EAAMlV,OAAP,KACE,kBAACkV,EAAA,EAAM9U,MAAP,CAAavR,GAAG,gCAAhB,qBAGA,kBAACi9B,EAAA,EAAD,CACEr9B,UAAU,+CACVwR,aAAW,QACX/E,QAAS,WACPwnD,GAAqB,KAGvB,kBAAC,IAAD,QAGJ,kBAACxtC,EAAA,EAAMhV,KAAP,CAAYzR,UAAU,kBACpB,kBAAC,KAAD,CACEI,GAAIuzD,EACJ/yD,KAAK,WACLqzD,qBAAsBA,EACtBt/B,kBAAmBA,EACnBu8B,2BAA4BA,EAC5BD,SAAS,MAKdjJ,GACC,kBAAC,GAAD,CACExgD,IAAKmsD,EACL3L,cAAeA,EACfC,iBAAkBA,EAClBkL,WAAYA,GACZlC,SAAS,EACTC,2BAA4BA,EAC5Bv8B,kBAAmBA,IAGvB,wBAAI30B,UAAU,2DACZ,kBAACy5C,EAAA,EAAD,CACE4c,UAAU,OACV7pD,QAAS,kBAAC4wB,EAAA,EAAD,CAASh9B,GAAG,kBAAZ,YAET,wBAAIJ,UAAU,gBAAgB21C,iBAAe,SAC3C,kBAAC,IAAD,CACElpC,QAAS8oD,GAAa,SAAS,GAC/Bv1D,UAAU,uEAEV,uBAAGA,UAAU,6BAKrB,kBAACs2D,GAAA,EAAD,CACEC,OAAO,QACPziC,KAAMxU,GAAM+I,OA5pBD,SAACmtC,GAAD,aACf,yBAAKx1D,UAAWO,GAAQgzD,SAAUz0B,KAAK,gBACrC,yBACE1+B,GAAG,gBACHJ,UAAU,+CAGV,yBACEA,UAAU,0EACVw2D,mBAAkB,IAElB,wBAAIx2D,UAAU,wBAAd,wBAEA,kBAAC,IAAD,CACEA,UAAU,kDACVI,GAAG,sBACHqM,QAAS8oD,GAAaC,GAAM,IAE5B,uBAAGx1D,UAAU,qCAGjB,yBACEA,UAAU,sDACVoE,MAAO,CAAEwS,OAAQ,QAAS6Q,SAAU,WAER,KAA3BgsC,EAAcT,UAA0C,IAAvBW,EAAY9qD,OAC5C,yBAAK7I,UAAU,4BAAf,OACG0zD,QADH,IACGA,GADH,UACGA,EAAe4B,sBADlB,aACG,EAA+BvxD,KAAI,SAACC,EAAMC,GAAW,IAAD,EACnD,OACE,kBAAC,IAAD,CACEwI,QAAS,WASP,GARAkT,GAAS,CACP8lB,KAAK,EACLvd,MAAM,EACNC,QAAQ,EACRE,OAAO,IAET7pB,SAASsR,eAAe,WAAW1L,MAAMqjB,SACvC,SACY,OAAVxjB,EAAgB,CAClB,GAAsB,IAAlBD,EAAK0/C,SAEP,YADAqQ,GAAoB,GAGtB,GAAsB,IAAlB/vD,EAAK0/C,SAEP,YADAyQ,GAAmB,GAGrB,GAAsB,MAAlBnwD,EAAK0/C,SAEP,YADAuE,GAAiB,GAGO,IAAD,EAAzB,GAAsB,IAAlBjkD,EAAK0/C,SAWP,OA4JxB,WACE,IAAIruC,EAAY,IAAIC,QACpBD,EAAUE,OAAO,gBAAjB,iBAA4CpX,GAAG8L,OAAOC,WAAWyK,QACjE,IAAIa,EAAiB,CACnBjB,OAAQ,MACRE,QAASY,EACTI,SAAU,UAEZpB,MAAMxP,OAAOyP,QAAU,WAAYkB,GAChCZ,MAAK,SAACC,GAAD,OAAcA,EAAS5V,UAC5B2V,MAAK,SAACzF,GAAY,IAAD,EACV5M,EAAOxB,KAAKC,MAAMmO,GAClBsnD,EAAM,GACZl0D,EAAK4nD,QAAQjpD,SAAQ,SAACw1D,GACpBD,EAAI3tD,KAAK,CACP3J,MAAOu3D,EAAO9yD,GACdJ,MAAOkzD,EAAOxzC,KAAO,IAAMwzC,EAAO1rC,YAClCjc,OAAa,OAAN2nD,QAAM,IAANA,OAAA,EAAAA,EAAQZ,YAAa,QAAU,MACtCjgC,UAAS,OAAE6gC,QAAF,IAAEA,OAAF,EAAEA,EAAQ7gC,UACnBigC,WAAU,OAAEY,QAAF,IAAEA,OAAF,EAAEA,EAAQZ,gBAGxBrB,EAAqBgC,GAAO,IAC5BzB,GAAoB,iBAACzyD,QAAD,IAACA,OAAD,EAACA,EAAMo0D,sBAAP,QAAyB,IAC7CzB,IAA6B,OAAJ3yD,QAAI,IAAJA,OAAA,EAAAA,EAAMq0D,cAAe,IAC9CxB,IAAkB,OAAJ7yD,QAAI,IAAJA,OAAA,EAAAA,EAAMs0D,SAAU,OAE/B1hD,OAAM,SAAC5K,GAAD,OAAWnH,QAAQC,IAAI,QAASkH,MAjMnBusD,GACAhC,GAA4B,CAC1B7B,YAAaU,EACbvK,UAAU,UAAAyK,EAAgB,UAAhB,eAAoBh+B,YAAa,GAC3C6+B,aAAc,KACdxB,eAAgB,EAChByB,mBAAoB,GACpBC,gBAAiB,UAEnBL,GAAqB,GAGvB,GAAsB,IAAlBvwD,EAAK0/C,SAEP,YADAuQ,GAAqB,GAGvBd,GAAWQ,EAAa3vD,EAAK0/C,YAGjC1jD,UAAS,oBACPwB,OAAM,UAAC6zD,GAAU5B,EAAcT,iBAAzB,aAAC,EAAmCtP,YAC1CliD,OAAOwC,EAAK0/C,UACRnjD,GAAQyiB,WACR,IAEN1b,IAAKrD,GAEL,yBAAKjE,UAAU,aACb,yBAAKA,UAAU,SACb,yBAAKA,UAAU,gBACZgE,EAAK0/C,WAAa+P,EAAcT,SAC/B,0BAAMhzD,UAAU,yCACd,uBAAGA,UAAU,mCAGf,0BAAMA,UAAU,yCACd,uBAAGmE,MAAM,qCAKjB,yBAAKnE,UAAU,aACb,yBAAKA,UAAU,oBACZgE,EAAK+yD,mBAWpB,0DAGF,yBAAK/2D,UAAU,aAAaoE,MAAO,CAAE8jB,KAAM,MAAOC,OAAQ,QACxD,yBACEnoB,UAAU,cACVupB,SAAU,EACVnlB,MAAO,CAAE8jB,KAAM,MAAO9R,MAAO,UAGjC,yBACEpW,UAAU,aACVoE,MAAO,CAAEqhC,IAAK,MAAO7uB,OAAQ,QAASyR,MAAO,QAE7C,yBACEroB,UAAU,cACVupB,SAAU,EACVnlB,MAAO,CAAEqhC,IAAK,MAAO7uB,OAAQ,eAmiBlC28C,CAAS,W,80MCphClB,IAAMt1D,GAAU,IAAIC,IAAa,MAC3BC,GAAKC,IAAIH,IAER,SAAS0hC,GAAT,GAMH,IAAD,IALD+zB,EAKC,EALDA,cACAD,EAIC,EAJDA,cACAuD,EAGC,EAHDA,iBACAriC,EAEC,EAFDA,kBACAsiC,EACC,EADDA,qBAEInX,EAAUjiD,EAAQ,KACtB,EAAoDmP,mBAAS,IAA7D,mBAAOkqD,EAAP,KAA2BC,EAA3B,KAFC,6CAGD,gGACM9lC,EAAaoiC,EAAclwC,UAAU1a,OAAS,EAAI,GAAK,eAC3D4qD,EAAclwC,UAAUxf,KAAI,SAACC,EAAMC,GACjCotB,IACa,IAAVptB,EAAc,eAAiB,gBAAkBD,EAAK7E,UAEvDkW,EAAY,IAAIC,SACVC,OAAO,gBAAjB,iBAA4CpX,GAAG8L,OAAOC,WAAWyK,QACjEU,EAAUE,OAAO,eAAgB,oBACjCF,EAAUE,OAAO,eAAgB,UAC7BC,EAAiB,CACnBjB,OAAQ,MACRC,iBAAiB,EACjBC,QAASY,EACTI,SAAU,UAdd,SAiBQpB,MAAM,GAAD,OACNxP,OAAOyP,QADD,6CAC6C+c,EAD7C,qBACoEoiC,EAAcT,SADlF,sBACwGS,EAAc2D,QADtH,mBACwI3D,EAAc4D,KADtJ,2BAC6K5D,EAAc6D,eAD3L,4BAC6N7D,EAAc8D,SAD3O,4BACuQ9D,EAAc+D,SADrR,uBAC4S/D,EAAcgE,SAD1T,qBAC+UhE,EAAcrK,SAD7V,uBACoXqK,EAAciE,cADlY,sBAC6ZjE,EAAcxoD,UAD3a,oBACgcwoD,EAActoD,QAD9c,kBAC+dsoD,EAAckE,IAD7e,gCACwgBlE,EAAcmE,OADthB,gCACojBnE,EAAcoE,SADlkB,qBACulBpE,EAAcqE,OADrmB,uBAC0nBnjC,EAAkBK,KAD5oB,qBAC6pBL,EAAkBI,YAD/qB,sBACwsBJ,EAAkB7F,UAD1tB,sBACivB6F,EAAkB9F,UADnwB,mBACuxB4kC,EAAczQ,QAC9yBxtC,GAECZ,KAJG,wCAIE,WAAOC,GAAP,0FACqBA,EAASE,OAD9B,cACED,EADF,gBAEeD,EAAS1N,OAFxB,cAEE5E,EAFF,yBAGGyS,QAAQC,IAAI,CAACH,EAAYvS,KAH5B,2CAJF,uDASHqS,KATG,wCASE,WAAOM,GAAP,kEACJiiD,EAAsBjiD,EAAI,IAAM,IAD5B,2CATF,uDAYHC,OAAM,SAAC5K,GACNnH,QAAQmH,MAAMA,MA9BpB,4CAHC,sBAuCD,OAHAuJ,qBAAU,YApCT,mCAqCCikD,KACC,CAACtE,IAEF,kBAAC,WAAD,KACE,yBAAKzzD,UAAU,OACb,yBAAKA,UAAU,gCACb,oCACE,kBAAC2lC,GAAA,EAAD,CAAM3lC,UAAU,0CACd,wBAAIA,UAAU,mCAAd,YACA,kBAACg4D,GAAA,EAAD,KACE,kBAAChuC,EAAA,EAAD,CACEvd,QAAS,WACP,IAAIwrD,EAAc,eAAQtjC,GAC1BsjC,EAAenpC,UAAY,gBAC3BmoC,EAAqBgB,GACrB,IAAI11D,EAAI,eAAQkxD,GAChBlxD,EAAKywD,SAAW,GAChBzwD,EAAKw0D,WAAa,GAClBx0D,EAAK21D,aAAe,GACpBlB,EAAiBz0D,KAGnB,0BAAMvC,UAAU,kCACd,yBACEm4D,MAAM,6BACNC,MAAM,+BACNhiD,MAAM,OACNQ,OAAO,OACPyhD,QAAQ,YACRC,QAAQ,OAER,uBACEC,OAAO,OACPC,YAAY,IACZC,KAAK,OACLC,SAAS,WAET,0BAAM7wD,EAAE,IAAIoU,EAAE,IAAI7F,MAAM,KAAKQ,OAAO,OACpC,0BACE6hD,KAAK,UACLpF,QAAQ,MACRxrD,EAAE,IACFoU,EAAE,IACF7F,MAAM,IACNQ,OAAO,IACP+hD,GAAG,MAEL,0BACEF,KAAK,UACL5wD,EAAE,IACFoU,EAAE,KACF7F,MAAM,IACNQ,OAAO,IACP+hD,GAAG,MAEL,0BACEF,KAAK,UACL5wD,EAAE,KACFoU,EAAE,IACF7F,MAAM,IACNQ,OAAO,IACP+hD,GAAG,MAEL,0BACEF,KAAK,UACL5wD,EAAE,KACFoU,EAAE,KACF7F,MAAM,IACNQ,OAAO,IACP+hD,GAAG,MAEL,0BACEF,KAAK,UACL5wD,EAAE,KACFoU,EAAE,IACF7F,MAAM,IACNQ,OAAO,IACP+hD,GAAG,MAEL,0BACEF,KAAK,UACL5wD,EAAE,KACFoU,EAAE,KACF7F,MAAM,IACNQ,OAAO,IACP+hD,GAAG,MAEL,0BACEF,KAAK,UACL5wD,EAAE,IACFoU,EAAE,KACF7F,MAAM,IACNQ,OAAO,IACP+hD,GAAG,MAEL,0BACEF,KAAK,UACL5wD,EAAE,KACFoU,EAAE,KACF7F,MAAM,IACNQ,OAAO,IACP+hD,GAAG,MAEL,0BACEF,KAAK,UACL5wD,EAAE,KACFoU,EAAE,KACF7F,MAAM,IACNQ,OAAO,IACP+hD,GAAG,SAKX,kBAAC7uC,GAAA,EAAD,CACE9pB,UAAS,6BACoB,KAA3ByzD,EAAcT,SAAkB,sBAAwB,IAE1Dr/B,QAAQ,SAJV,iBAQA,0BAAM3zB,UAAU,sBACd,0BAAMA,UAAU,yDAAhB,OACG0zD,QADH,IACGA,GADH,UACGA,EAAe4B,sBADlB,aACG,EAA+BsD,QAC9B,SAACrvD,EAAGtE,GAAJ,OAAUsE,GAAKtE,EAAC,YAAkB,KAClC,MArHV,OA0HGyuD,QA1HH,IA0HGA,GA1HH,UA0HGA,EAAe4B,sBA1HlB,aA0HG,EAA+BvxD,KAAI,SAACC,EAAMC,GACzC,OACE,kBAAC+lB,EAAA,EAAD,CACE1iB,IAAKrD,EACLwI,QAAS,WACP,IAAIwrD,EAAc,eAAQtjC,GAC1B,OAAQ3wB,EAAK0/C,UACX,KAAK,EACHuU,EAAenpC,UAAY,gBAC3BmpC,EAAeppC,UAAY,OAC3B,MACF,KAAK,EACHopC,EAAenpC,UAAY,mBAC3BmpC,EAAeppC,UAAY,OAC3B,MACF,KAAK,EACHopC,EAAenpC,UACb,oCACFmpC,EAAeppC,UAAY,OAC3B,MACF,KAAK,EACHopC,EAAenpC,UACb,mCACFmpC,EAAeppC,UAAY,OAC3B,MACF,KAAK,IACHopC,EAAenpC,UAAY,sBAC3BmpC,EAAeppC,UAAY,OAC3B,MACF,KAAK,EACHopC,EAAenpC,UAAY,qBAC3BmpC,EAAeppC,UAAY,OAC3B,MACF,KAAM,EAIN,QACEopC,EAAenpC,UAAY,gBAC3BmpC,EAAeppC,UAAY,OAG/BooC,EAAqBgB,GACrB,IAAI11D,EAAI,eAAQkxD,GAChBlxD,EAAKywD,SAAWhvD,EAAK0/C,SACrBnhD,EAAKw0D,WAAa/yD,EAAK+yD,WACvBx0D,EAAK21D,aAAe,GACpBlB,EAAiBz0D,KAGnB,0BAAMvC,UAAU,kCACd,yBACEm4D,MAAM,6BACNC,MAAM,+BACNhiD,MAAM,OACNQ,OAAO,OACPyhD,QAAQ,YACRC,QAAQ,OAER,uBACEC,OAAO,OACPC,YAAY,IACZC,KAAK,OACLC,SAAS,WAET,0BAAM7wD,EAAE,IAAIoU,EAAE,IAAI7F,MAAM,KAAKQ,OAAO,OACpC,0BACE6hD,KAAK,UACLpF,QAAQ,MACRxrD,EAAE,IACFoU,EAAE,IACF7F,MAAM,IACNQ,OAAO,IACP+hD,GAAG,MAEL,0BACEF,KAAK,UACL5wD,EAAE,IACFoU,EAAE,KACF7F,MAAM,IACNQ,OAAO,IACP+hD,GAAG,MAEL,0BACEF,KAAK,UACL5wD,EAAE,KACFoU,EAAE,IACF7F,MAAM,IACNQ,OAAO,IACP+hD,GAAG,MAEL,0BACEF,KAAK,UACL5wD,EAAE,KACFoU,EAAE,KACF7F,MAAM,IACNQ,OAAO,IACP+hD,GAAG,MAEL,0BACEF,KAAK,UACL5wD,EAAE,KACFoU,EAAE,IACF7F,MAAM,IACNQ,OAAO,IACP+hD,GAAG,MAEL,0BACEF,KAAK,UACL5wD,EAAE,KACFoU,EAAE,KACF7F,MAAM,IACNQ,OAAO,IACP+hD,GAAG,MAEL,0BACEF,KAAK,UACL5wD,EAAE,IACFoU,EAAE,KACF7F,MAAM,IACNQ,OAAO,IACP+hD,GAAG,MAEL,0BACEF,KAAK,UACL5wD,EAAE,KACFoU,EAAE,KACF7F,MAAM,IACNQ,OAAO,IACP+hD,GAAG,MAEL,0BACEF,KAAK,UACL5wD,EAAE,KACFoU,EAAE,KACF7F,MAAM,IACNQ,OAAO,IACP+hD,GAAG,SAKX,kBAAC7uC,GAAA,EAAD,CACE9pB,UAAS,6BACPgE,EAAK0/C,WAAa+P,EAAcT,SAC5B,sBACA,GAHG,mBAKTr/B,QAAQ,SAEP3vB,EAAK+yD,YAER,0BAAM/2D,UAAU,sBACd,0BAAMA,UAAU,yDACbgE,EAAK60D,qBAUxB,yBAAK74D,UAAU,gCACb,oCACGk3D,EAAmBruD,OAAS,GAC3B,kBAAC88B,GAAA,EAAD,CAAM3lC,UAAU,0CACd,kBAAC,WAAD,KACE,wBAAIA,UAAU,mCAAd,eAGmB,OAAlBk3D,QAAkB,IAAlBA,OAAA,EAAAA,EAAoBruD,QAAS,EAC5B,kBAACmvD,GAAA,EAAD,YACGd,QADH,IACGA,OADH,EACGA,EAAoBnzD,KAAI,SAACwF,EAAGX,GAAJ,OACvB,kBAACohB,EAAA,EAAD,CACE1iB,IAAKsB,EACL6D,QAAS,WACP,IAAIwrD,EAAc,eAAQtjC,GAC1BsjC,EAAenpC,UAAY,gBAC3BmoC,EAAqBgB,GAErB,IAAI11D,EAAI,eAAQkxD,GAChBlxD,EAAK21D,aAAe3uD,EAAE3F,GACtBrB,EAAKywD,SAAW,GAChBzwD,EAAKw0D,WAAa,GAClBC,EAAiBz0D,KAGnB,0BAAMvC,UAAU,wCACd,uBAAGA,UAAU,8CAEf,kBAAC8pB,GAAA,EAAD,CACE9pB,UAAS,uCACPyzD,EAAcyE,eAAiB3uD,EAAE3F,GAC7B,sBACA,IAEN+vB,QAAQ,SAEPpqB,EAAE1F,KAAKi1D,UAAU,EAAG,KAEvB,0BAAM94D,UAAU,sBACd,0BAAMA,UAAU,yDACbuJ,EAAEwvD,aAOb,yBACE/4D,UAAS,wCACwB,KAAb,OAAlBk3D,QAAkB,IAAlBA,OAAA,EAAAA,EAAoBruD,QAChB,mBACA,IAENzE,MAAO,CAAE8jB,KAAM,QAEf,kBAAC43B,EAAD,CAAS95C,KAAK,eAAe+I,MAAM,gB,sBC3YnDiqD,GAAoB,CACxB,CAAE75D,MAAO,UAAWqE,MAAO,iBAC3B,CAAErE,MAAO,SAAUqE,MAAO,iBAC1B,CAAErE,MAAO,UAAWqE,MAAO,gBAC3B,CAAErE,MAAO,SAAUqE,MAAO,eAC1B,CAAErE,MAAO,SAAUqE,MAAO,gBAG5B,SAASioB,GAAW7pB,GAClB,GAAIA,EAAM,CACR,IAAIoK,EAAI,IAAIrK,KAAKC,GACf8pB,EAAQ,IAAM1f,EAAEjK,WAAa,GAC7B6J,EAAM,GAAKI,EAAEhK,UACb2pB,EAAO3f,EAAE/J,cAEPypB,EAAM7iB,OAAS,IAAG6iB,EAAQ,IAAMA,GAChC9f,EAAI/C,OAAS,IAAG+C,EAAM,IAAMA,GAEhC,IAAMuD,EAAS,CAACwc,EAAMD,EAAO9f,GAAKlE,KAAK,KACvC,MAAe,gBAAXyH,EACKA,EAEA,GAGT,MAAO,GAIJ,SAAS8pD,GAAT,GAKH,IAAD,0IAJDC,GAIC,EAJDA,UACAzF,GAGC,EAHDA,cACAuD,GAEC,EAFDA,iBACAmC,GACC,EADDA,aAEA,GAAgCzuC,IAAM1d,SAAS,CAAE7N,MAAO,EAAGqE,MAAO,WAAlE,qBAAO41D,GAAP,MAAiBC,GAAjB,MACA,GAA4B3uC,IAAM1d,SAAS,CAAE7N,MAAO,EAAGqE,MAAO,WAA9D,qBAAOo/C,GAAP,MAAe0W,GAAf,MASMC,GAAa,CACjB,CAAEp6D,MAAO,GAAIqE,MAAO,QACpB,CAAErE,MAAO,EAAGqE,MAAO,MACnB,CAAErE,MAAO,EAAGqE,MAAO,QAErB,GAAsCknB,IAAM1d,SAAS,IAArD,qBAAOwsD,GAAP,MAAoBC,GAApB,MAsBA,OArBA3lD,qBAAU,WACR,IAAI4lD,EAAW,eAAQjG,IACvBiG,EAAY1W,OAASwW,GACrB30D,OAAO80D,eAAiBH,GACxB,IAAMI,EAAkB1zD,YAAW,WACjC8wD,GAAiB0C,KAEhB,KAEH,OAAO,kBAAMha,aAAaka,MACzB,CAACJ,KAEJ1lD,qBAAU,WAEmB,OAAzB2/C,GAAczQ,aACWl9C,IAAzB2tD,GAAczQ,QACW,KAAzByQ,GAAczQ,QAEdyW,GAAehG,GAAczQ,UAE9B,CAACyQ,GAAczQ,SAEhB,0BAAMhjD,UAAU,yBACd,yBAAKA,UAAU,kBACb,2BACE+C,KAAK,SACL/C,UAAU,SACVI,GAAG,gBACHqM,QAAS,SAAC6C,GACR,IAAIC,EAAM,eAAQkkD,IAClBlkD,EAAOojB,cAAcpjB,EAAOojB,YAC5BqkC,GAAiBznD,MAGrB,yBAAKvP,UAAU,8BACb,uBAAGA,UAAU,QAAb,UACA,2BACE+C,KAAK,SACL/C,UAAU,eACVgG,KAAK,aACL5F,GAAG,kBACHgP,YAAY,gBACZjQ,MAAOq6D,GACPnqD,SAAU,SAACC,GACT,IAAMnQ,EAAQmQ,EAAEM,OAAOzQ,MACvBs6D,GAAet6D,OAIrB,yBAAKa,UAAU,8BACb,uBAAGA,UAAU,QAAb,aACA,kBAAC,KAAD,CACEq1C,SAAO,EACPn7B,aAAW,EACXlU,KAAK,aACL5F,GAAG,aACHoD,MAAM,YACN+nB,QAAQ,sBACRpsB,MAAOs0D,GAAclwC,UACrBpJ,QAAO,OAAE++C,SAAF,IAAEA,IAAF,UAAEA,GAAW//C,iBAAb,aAAE,EAAsBpV,KAAI,SAAC8D,GAClC,MAAO,CACL1I,MAAO0I,EAAEjE,GACTJ,MAAK,OAAEqE,QAAF,IAAEA,OAAF,EAAEA,EAAGhE,SAGdwL,SAAU,SAACC,GACT,IAAIC,EAAM,eAAQkkD,IACA,KAAb,OAADnkD,QAAC,IAADA,OAAA,EAAAA,EAAGzG,QACL0G,EAAOgU,UAAY,GAEnBhU,EAAOgU,UADQ,OAANjU,EACUA,EAEA,GAErB0nD,GAAiBznD,OAKvB,yBAAKvP,UAAU,8BACb,uBAAGA,UAAU,QAAb,WACA,kBAAC,KAAD,CACEka,aAAW,EACXlU,KAAK,YACL5F,GAAG,YACHoD,MAAM,UACN+nB,QAAQ,sBACRnc,YAAY,UACZjQ,MAAK,OAAE+5D,SAAF,IAAEA,IAAF,UAAEA,GAAW9/C,gBAAb,iBAAE,EAAqB7J,QAC1B,SAAChG,GAAD,OAAOA,EAAE3F,KAAO6vD,GAAc2D,kBAD3B,aAAE,EAEJrzD,KAAI,SAAC8D,GACN,MAAO,CACL1I,MAAO0I,EAAEjE,GACTJ,MAAK,OAAEqE,QAAF,IAAEA,OAAF,EAAEA,EAAGhE,SAGdsW,QAAO,OAAE++C,SAAF,IAAEA,IAAF,UAAEA,GAAW9/C,gBAAb,aAAE,EAAqBrV,KAAI,SAAC8D,GACjC,MAAO,CACL1I,MAAO0I,EAAEjE,GACTJ,MAAK,OAAEqE,QAAF,IAAEA,OAAF,EAAEA,EAAGhE,SAGdwL,SAAU,SAACC,GACT,IAAIC,EAAM,eAAQkkD,IACR,OAANnkD,GACFC,EAAO6nD,QAAP,OAAiB9nD,QAAjB,IAAiBA,OAAjB,EAAiBA,EAAGnQ,MACpBoQ,EAAO8nD,KAAO,GACd9nD,EAAO+nD,eAAiB,GACxB/nD,EAAOgoD,SAAW,GAClBhoD,EAAOioD,SAAW,GAClB3yD,OAAOg1D,0BAA4B,GACnCh1D,OAAOi1D,6BAAP,OAAsCxqD,QAAtC,IAAsCA,OAAtC,EAAsCA,EAAGnQ,QAEzCoQ,EAAO6nD,QAAU,GACjB7nD,EAAO8nD,KAAO,GACd9nD,EAAO+nD,eAAiB,GACxB/nD,EAAOgoD,SAAW,GAClBhoD,EAAOioD,SAAW,GAClB3yD,OAAOg1D,0BAA4B,GACnCh1D,OAAOi1D,6BAA+B,IAExC9C,GAAiBznD,OAIvB,yBAAKvP,UAAU,8BACb,uBAAGA,UAAU,QAAb,QACA,kBAAC,KAAD,CACEka,aAAW,EACXlU,KAAK,SACL5F,GAAG,SACHoD,MAAM,OACN+nB,QAAQ,sBACRnc,YAAY,OACZjQ,MAAK,OAAE+5D,SAAF,IAAEA,IAAF,UAAEA,GAAW9/C,gBAAb,iBAAE,EAAqB7J,QAC1B,SAAChG,GAAD,OAAOA,EAAE3F,KAAO6vD,GAAc2D,WAC9B,UAFG,aAAE,EAGHh9C,MAAM7K,QAAO,SAAChG,GAAD,OAAOA,EAAE3F,KAAO6vD,GAAc4D,QAC5CtzD,KAAI,SAAC8D,GACJ,MAAO,CACL1I,MAAO0I,EAAEjE,GACTJ,MAAK,OAAEqE,QAAF,IAAEA,OAAF,EAAEA,EAAGhE,SAGhBsW,QAAO,OAAE++C,SAAF,IAAEA,IAAF,UAAEA,GAAW9/C,gBAAb,iBAAE,EAAqB7J,QAC5B,SAAChG,GAAD,OAAOA,EAAE3F,KAAO6vD,GAAc2D,WAC9B,UAFK,aAAE,EAEHh9C,MAAMrW,KAAI,SAAC8D,GACf,MAAO,CACL1I,MAAO0I,EAAEjE,GACTJ,MAAK,OAAEqE,QAAF,IAAEA,OAAF,EAAEA,EAAGhE,SAGdwL,SAAU,SAACC,GACT,IAAIC,EAAM,eAAQkkD,IACR,OAANnkD,GACFzK,OAAOg1D,0BAAP,OAAmCvqD,QAAnC,IAAmCA,OAAnC,EAAmCA,EAAGnQ,MACtCoQ,EAAO8nD,KAAP,OAAc/nD,QAAd,IAAcA,OAAd,EAAcA,EAAGnQ,MACjBoQ,EAAO+nD,eAAiB,GACxB/nD,EAAOgoD,SAAW,GAClBhoD,EAAOioD,SAAW,KAElB3yD,OAAOg1D,0BAA4B,GACnCtqD,EAAO8nD,KAAO,GACd9nD,EAAO+nD,eAAiB,GACxB/nD,EAAOgoD,SAAW,GAClBhoD,EAAOioD,SAAW,IAEpBR,GAAiBznD,OAIvB,yBAAKvP,UAAU,mCACb,uBAAGA,UAAU,QAAb,iBACA,kBAAC,KAAD,CACEka,aAAW,EACXlU,KAAK,iBACL5F,GAAG,iBACHoD,MAAM,gBACN+nB,QAAQ,sBACRnc,YAAY,gBACZjQ,MAAK,OAAE+5D,SAAF,IAAEA,IAAF,UAAEA,GAAW9/C,gBAAb,iBAAE,EAAqB7J,QAC1B,SAAChG,GAAD,OAAOA,EAAE3F,KAAO6vD,GAAc2D,WAC9B,UAFG,iBAAE,EAGHh9C,aAHC,iBAAE,EAGI7K,QAAO,SAAChG,GAAD,OAAOA,EAAE3F,KAAO6vD,GAAc4D,QAAM,UAHjD,iBAAE,EAIHh9C,qBAJC,aAAE,EAIY9K,QACf,SAAChG,GAAD,OAAOA,EAAE3F,KAAO6vD,GAAc6D,kBAE/BvzD,KAAI,SAAC8D,GACJ,MAAO,CACL1I,MAAO0I,EAAEjE,GACTJ,MAAK,OAAEqE,QAAF,IAAEA,OAAF,EAAEA,EAAGhE,SAGhBsW,QAAO,OAAE++C,SAAF,IAAEA,IAAF,UAAEA,GAAW9/C,gBAAb,iBAAE,EAAqB7J,QAC5B,SAAChG,GAAD,OAAOA,EAAE3F,KAAO6vD,GAAc2D,WAC9B,UAFK,iBAAE,EAGLh9C,aAHG,iBAAE,EAGE7K,QAAO,SAAChG,GAAD,OAAOA,EAAE3F,KAAO6vD,GAAc4D,QAAM,UAH/C,iBAAE,EAILh9C,qBAJG,aAAE,EAIUtW,KAAI,SAAC8D,GACpB,MAAO,CACL1I,MAAO0I,EAAEjE,GACTJ,MAAK,OAAEqE,QAAF,IAAEA,OAAF,EAAEA,EAAGhE,SAGhBwL,SAAU,SAACC,GACT,IAAIC,EAAM,eAAQkkD,IACR,OAANnkD,GACFC,EAAO+nD,eAAP,OAAwBhoD,QAAxB,IAAwBA,OAAxB,EAAwBA,EAAGnQ,MAC3BoQ,EAAOgoD,SAAW,GAClBhoD,EAAOioD,SAAW,KAElBjoD,EAAO+nD,eAAiB,GACxB/nD,EAAOgoD,SAAW,GAClBhoD,EAAOioD,SAAW,IAEpBR,GAAiBznD,OAIvB,yBAAKvP,UAAU,mCACb,uBAAGA,UAAU,QAAb,kBACA,kBAAC,KAAD,CACEka,aAAW,EACXlU,KAAK,WACL5F,GAAG,WACHoD,MAAM,iBACN+nB,QAAQ,sBACRnc,YAAY,iBACZjQ,MAAK,OAAE+5D,SAAF,IAAEA,IAAF,UAAEA,GAAW9/C,gBAAb,iBAAE,EAAqB7J,QAC1B,SAAChG,GAAD,OAAOA,EAAE3F,KAAO6vD,GAAc2D,WAC9B,UAFG,iBAAE,EAGHh9C,aAHC,iBAAE,EAGI7K,QAAO,SAAChG,GAAD,OAAOA,EAAE3F,KAAO6vD,GAAc4D,QAAM,UAHjD,iBAAE,EAIHh9C,qBAJC,iBAAE,EAIY9K,QACf,SAAChG,GAAD,OAAOA,EAAE3F,KAAO6vD,GAAc6D,kBAC9B,UANC,iBAAE,EAOHh9C,sBAPC,iBAAE,EAOa/K,QAAO,SAAChG,GAAD,OAAOA,EAAE3F,KAAO6vD,GAAc8D,mBAPpD,aAAE,EAQHxzD,KAAI,SAAC8D,GACL,MAAO,CACL1I,MAAO0I,EAAEjE,GACTJ,MAAK,OAAEqE,QAAF,IAAEA,OAAF,EAAEA,EAAGhE,SAGhBsW,QAAO,OAAE++C,SAAF,IAAEA,IAAF,UAAEA,GAAW9/C,gBAAb,iBAAE,EAAqB7J,QAC5B,SAAChG,GAAD,OAAOA,EAAE3F,KAAO6vD,GAAc2D,WAC9B,UAFK,iBAAE,EAGLh9C,aAHG,iBAAE,EAGE7K,QAAO,SAAChG,GAAD,OAAOA,EAAE3F,KAAO6vD,GAAc4D,QAAM,UAH/C,iBAAE,EAILh9C,qBAJG,iBAAE,EAIU9K,QACf,SAAChG,GAAD,OAAOA,EAAE3F,KAAO6vD,GAAc6D,kBAC9B,UANG,iBAAE,EAOLh9C,sBAPG,aAAE,EAOWvW,KAAI,SAAC8D,GACrB,MAAO,CACL1I,MAAO0I,EAAEjE,GACTJ,MAAK,OAAEqE,QAAF,IAAEA,OAAF,EAAEA,EAAGhE,SAGhBwL,SAAU,SAACC,GACT,IAAIC,EAAM,eAAQkkD,IACR,OAANnkD,GACFC,EAAOgoD,SAAP,OAAkBjoD,QAAlB,IAAkBA,OAAlB,EAAkBA,EAAGnQ,MACrBoQ,EAAOioD,SAAW,KAElBjoD,EAAOgoD,SAAW,GAClBhoD,EAAOioD,SAAW,IAEpBR,GAAiBznD,OAIvB,yBAAKvP,UAAU,mCACb,uBAAGA,UAAU,QAAb,kBACA,kBAAC,KAAD,CACEka,aAAW,EACXlU,KAAK,WACL5F,GAAG,WACHoD,MAAM,iBACN+nB,QAAQ,sBACRnc,YAAY,iBACZjQ,MAAK,OAAE+5D,SAAF,IAAEA,IAAF,UAAEA,GAAW9/C,gBAAb,iBAAE,EAAqB7J,QAC1B,SAAChG,GAAD,OAAOA,EAAE3F,KAAO6vD,GAAc2D,WAC9B,UAFG,iBAAE,EAGHh9C,aAHC,iBAAE,EAGI7K,QAAO,SAAChG,GAAD,OAAOA,EAAE3F,KAAO6vD,GAAc4D,QAAM,UAHjD,iBAAE,EAIHh9C,qBAJC,iBAAE,EAIY9K,QACf,SAAChG,GAAD,OAAOA,EAAE3F,KAAO6vD,GAAc6D,kBAC9B,UANC,iBAAE,EAOHh9C,sBAPC,iBAAE,EAOa/K,QAChB,SAAChG,GAAD,OAAOA,EAAE3F,KAAO6vD,GAAc8D,YAC9B,UATC,iBAAE,EAUHh9C,sBAVC,iBAAE,EAUahL,QAAO,SAAChG,GAAD,OAAOA,EAAE3F,KAAO6vD,GAAc+D,mBAVpD,aAAE,EAWHzzD,KAAI,SAAC8D,GACL,MAAO,CACL1I,MAAO0I,EAAEjE,GACTJ,MAAK,OAAEqE,QAAF,IAAEA,OAAF,EAAEA,EAAGhE,SAGhBsW,QAAO,OAAE++C,SAAF,IAAEA,IAAF,UAAEA,GAAW9/C,gBAAb,iBAAE,EAAqB7J,QAC5B,SAAChG,GAAD,OAAOA,EAAE3F,KAAO6vD,GAAc2D,WAC9B,UAFK,iBAAE,EAGLh9C,aAHG,iBAAE,EAGE7K,QAAO,SAAChG,GAAD,OAAOA,EAAE3F,KAAO6vD,GAAc4D,QAAM,UAH/C,iBAAE,EAILh9C,qBAJG,kBAAE,EAIU9K,QACf,SAAChG,GAAD,OAAOA,EAAE3F,KAAO6vD,GAAc6D,kBAC9B,UANG,mBAAE,GAOLh9C,sBAPG,mBAAE,GAOW/K,QAChB,SAAChG,GAAD,OAAOA,EAAE3F,KAAO6vD,GAAc8D,YAC9B,UATG,mBAAE,GAULh9C,sBAVG,cAAE,GAUWxW,KAAI,SAAC8D,GACrB,MAAO,CACL1I,MAAO0I,EAAEjE,GACTJ,MAAK,OAAEqE,QAAF,IAAEA,OAAF,EAAEA,EAAGhE,SAGhBwL,SAAU,SAACC,GACT,IAAIC,EAAM,eAAQkkD,IAEhBlkD,EAAOioD,SADC,OAANloD,EACF,OAAkBA,QAAlB,IAAkBA,OAAlB,EAAkBA,EAAGnQ,MAEH,GAEpB63D,GAAiBznD,OAIvB,yBAAKvP,UAAU,mCACb,uBAAGA,UAAU,QAAb,aACA,kBAAC,KAAD,CACEka,aAAW,EACXlU,KAAK,WACL5F,GAAG,WACHoD,MAAM,YACN+nB,QAAQ,sBACRnc,YAAY,YACZ+K,QAAO,OAAE++C,SAAF,IAAEA,IAAF,WAAEA,GAAWa,gBAAb,cAAE,GAAqBh2D,KAAI,SAAC8D,GACjC,MAAO,CACL1I,MAAO0I,EAAEjE,GACTJ,OAAQ,OAADqE,QAAC,IAADA,OAAA,EAAAA,EAAGqb,MAAO,KAAV,OAAgBrb,QAAhB,IAAgBA,OAAhB,EAAgBA,EAAGhE,UAG9BwL,SAAU,SAACC,GACT,IAAIC,EAAM,eAAQkkD,IAEhBlkD,EAAOkoD,SADC,OAANnoD,EACF,OAAkBA,QAAlB,IAAkBA,OAAlB,EAAkBA,EAAGnQ,MAEH,GAEpB63D,GAAiBznD,OAIvB,yBAAKvP,UAAU,mCACb,uBAAGA,UAAU,QAAb,eACA,kBAAC,KAAD,CACEka,aAAW,EACXlU,KAAK,gBACL5F,GAAG,gBACHoD,MAAM,cACN+nB,QAAQ,sBACRnc,YAAY,cACZ+K,QAAS6+C,GACT75D,MAAO65D,GAAkBzpD,QACvB,SAAChG,GAAD,OAAO/H,OAAO+H,EAAEpK,SAAWs0D,GAAciE,iBAE3CroD,SAAU,SAACC,GACT,IAAIC,EAAM,eAAQkkD,IAEhBlkD,EAAOmoD,cADC,OAANpoD,EACF,OAAuBA,QAAvB,IAAuBA,OAAvB,EAAuBA,EAAGnQ,MAEH,GAEzB63D,GAAiBznD,OAIvB,yBAAKvP,UAAS,mCACZ,uBAAGA,UAAU,QAAb,oBACA,kBAAC,mBAAD,CACEiL,UAAWwoD,GAAcxoD,UACzBE,QAASsoD,GAActoD,QACvBkE,SAAU,SAACpE,EAAWE,GACpB,IAAIoE,EAAM,eAAQkkD,IAEhBlkD,EAAOtE,UADLA,EACiBwgB,GAAWxgB,GAAa,SAExB,GAGnBsE,EAAOpE,QADLA,EACesgB,GAAWtgB,GAAW,SAEtB,GAEnB6rD,GAAiBznD,IAEnByqD,WAAW,aACXC,QAAS,IAAIt4D,KAAK,KAAM,EAAG,GAC3Bu4D,QAAS,IAAIv4D,KAAK,KAAM,EAAG,GAC3B69C,qBAAqB,aACrBC,mBAAmB,WACnBtsC,UAAU,EACVnT,UAAU,oBACVm6D,aAAa,YAGjB,yBAAKn6D,UAAU,mCACb,uBAAGA,UAAU,QAAb,YACA,kBAAC,KAAD,CACEka,aAAW,EACXlU,KAAK,UACL5F,GAAG,UACHoD,MAAM,UACN+nB,QAAQ,sBACRnc,YAAY,UACZ+K,QAAO,OAAE++C,SAAF,IAAEA,IAAF,WAAEA,GAAW/O,eAAb,cAAE,GAAoBpmD,KAAI,SAAC8D,GAChC,MAAO,CACL1I,MAAO0I,EAAEjE,GACTJ,OAAQ,OAADqE,QAAC,IAADA,OAAA,EAAAA,EAAGqb,MAAO,KAAV,OAAgBrb,QAAhB,IAAgBA,OAAhB,EAAgBA,EAAGhE,UAG9BwL,SAAU,SAACC,GACT,IAAIC,EAAM,eAAQkkD,IAEhBlkD,EAAO65C,SADC,OAAN95C,EACF,OAAkBA,QAAlB,IAAkBA,OAAlB,EAAkBA,EAAGnQ,MAEH,GAEpB63D,GAAiBznD,OAIvB,yBAAKvP,UAAS,mCACZ,2BAAOA,UAAU,QAAjB,eACA,kBAAC,KAAD,CACEgG,KAAK,WACLqJ,SAAU,SAACC,GACT,IAAInQ,EAAK,OAAGmQ,QAAH,IAAGA,OAAH,EAAGA,EAAGnQ,MAEbA,EADY,IAAVA,IAEiB,IAAVA,GAGD,IAEV,IAAIoQ,EAAM,eAAQkkD,IACR,OAANnkD,GACF+pD,GAAY/pD,GACZC,EAAO6qD,WAAaj7D,EACpB0F,OAAOw1D,4BAA8Bl7D,IAErCk6D,GAAY,CAAEl6D,MAAO,GAAIqE,MAAO,SAChC+L,EAAO6qD,WAAa,GACpBv1D,OAAOw1D,4BAA8B,IAEvCrD,GAAiBznD,IAEnB2K,aAAW,EACXC,QAjdW,CACnB,CAAEhb,MAAO,EAAGqE,MAAO,UACnB,CAAErE,MAAO,EAAGqE,MAAO,aAgdXrE,MAAOi6D,MAGX,yBAAKp5D,UAAS,mCACZ,2BAAOA,UAAU,QAAjB,cACA,kBAAC,KAAD,CACEgG,KAAK,SACLqJ,SAAU,SAACC,GACT,IAAInQ,EAAK,OAAGmQ,QAAH,IAAGA,OAAH,EAAGA,EAAGnQ,MAEbA,EADY,IAAVA,IAEiB,IAAVA,GAGD,IAEV,IAAIoQ,EAAM,eAAQkkD,IACR,OAANnkD,GACFgqD,GAAUhqD,GACVC,EAAOqzC,OAASzjD,IAEhBm6D,GAAU,CAAEn6D,MAAO,GAAIqE,MAAO,SAC9B+L,EAAOqzC,OAAS,IAElBoU,GAAiBznD,IAEnB2K,aAAW,EACXC,QAzeS,CACjB,CAAEhb,MAAO,EAAGqE,MAAO,UACnB,CAAErE,MAAO,EAAGqE,MAAO,YAweXrE,MAAOyjD,MAGX,yBAAK5iD,UAAS,mCACZ,oDACA,kBAAC,KAAD,CACEgG,KAAK,oBACLqJ,SAAU,SAACC,GACT,IAAInQ,EAAK,OAAGmQ,QAAH,IAAGA,OAAH,EAAGA,EAAGnQ,MAEbA,EADY,IAAVA,IAEiB,IAAVA,GAGD,IAEV,IAAIoQ,EAAM,eAAQkkD,IAEhBlkD,EAAO+qD,gBADC,OAANhrD,EACuBnQ,EAEA,GAE3B63D,GAAiBznD,IAEnB2K,aAAW,EACXC,QAASo/C,GACTp6D,MAAOo6D,GAAWhqD,QAChB,SAAChG,GAAD,OACEA,EAAEpK,UACkC,KAAtB,OAAbs0D,SAAa,IAAbA,QAAA,EAAAA,GAAe6G,iBACZ,GACmC,KAAtB,OAAb7G,SAAa,IAAbA,QAAA,EAAAA,GAAe6G,iBACf,EACA,UAIZ,yBAAKt6D,UAAU,4DACb,yBAAKA,UAAU,OACb,yBAAKA,UAAU,wCACb,kBAAC,IAAD,CACEA,UAAU,oBACVb,MAAOs0D,GAAckE,IACrB14D,KAAM,MACN63B,QAAS28B,GAAckE,IACvBv3D,GAAG,iBACHiP,SAAU,SAACC,GACT,IAAIC,EAAM,eAAQkkD,IAClBlkD,EAAOooD,IAAMroD,EAAEM,OAAOknB,QACtBkgC,GAAiBznD,MAGrB,0BAAMvP,UAAU,YAAYoE,MAAO,CAAEkS,UAAW,WAC9C,uBAAGtW,UAAU,gCAGjB,yBAAKA,UAAU,wCACb,kBAAC,IAAD,CACEA,UAAU,eACVf,KAAM,SACNmB,GAAG,+BACHjB,MAAOs0D,GAAcmE,OACrB9gC,QAAS28B,GAAcmE,OACvBvoD,SAAU,SAACC,GACT,IAAIC,EAAM,eAAQkkD,IAClBlkD,EAAOqoD,OAAStoD,EAAEM,OAAOknB,QACzBkgC,GAAiBznD,MAGrB,0BAAMvP,UAAU,YAAYoE,MAAO,CAAEkS,UAAW,WAC9C,uBAAGtW,UAAU,2CAGjB,yBAAKA,UAAU,wCACb,kBAAC,IAAD,CACEA,UAAU,eACVf,KAAM,QACNmB,GAAG,kBACHjB,MAAOs0D,GAAc8G,QACrBzjC,QAAS28B,GAAc8G,QACvBlrD,SAAU,SAACC,GACT,IAAIC,EAAM,eAAQkkD,IAClBlkD,EAAOgrD,QAAUjrD,EAAEM,OAAOknB,QAC1BkgC,GAAiBznD,MAGrB,0BAAMvP,UAAU,YAAYoE,MAAO,CAAEkS,UAAW,WAC9C,uBAAGtW,UAAU,gDAGjB,yBAAKA,UAAU,UACb,kBAAC,IAAD,CACEA,UAAU,eACVf,KAAM,SACNmB,GAAG,iBACHjB,MAAOs0D,GAAcqE,OACrBhhC,QAAS28B,GAAcqE,OACvBzoD,SAAU,SAACC,GACT,IAAIC,EAAM,eAAQkkD,IAClBlkD,EAAOuoD,OAASxoD,EAAEM,OAAOknB,QACzBjyB,OAAO21D,0BAA4BlrD,EAAEM,OAAOknB,QAC5CkgC,GAAiBznD,MAGrB,0BAAMvP,UAAU,YAAYoE,MAAO,CAAEkS,UAAW,WAC9C,uBAAGtW,UAAU,0CAMvB,yBAAKA,UAAU,4BACb,yBAAKA,UAAU,6CACb,2BAAOA,UAAU,QAAjB,YACY,IACV,2BACG,IADH,kBAEGm5D,SAFH,IAEGA,IAFH,WAEGA,GAAc7D,sBAFjB,mBAEG,GAA8BnyC,MAC7B,SAACtb,GAAD,OAAOA,EAAE67C,YAAF,OAAe+P,SAAf,IAAeA,QAAf,EAAeA,GAAeT,oBAHzC,cAEG,GAEE+D,kBAJL,UAImB,iBAGrB,2BAAO/2D,UAAU,QAAjB,YACY,IACV,2BACuC,KAApC,WAAAyzD,GAAclwC,iBAAd,iBAAyB1a,QACtB,MACA4qD,GAAclwC,UAAUxf,KAAI,SAACwF,GAAD,OAAOA,EAAE/F,SAAOkE,KAAK,QAGzD,2BAAO1H,UAAU,QAAjB,WACW,IACT,kCAEIk5D,SAFJ,IAEIA,IAFJ,WAEIA,GAAW9/C,gBAFf,mBAEI,GAAqB7J,QACnB,SAAChG,GAAD,OAAOA,EAAE3F,KAAO6vD,GAAc2D,WAC9B,UAJN,cAEI,GAEMvzD,OAIZ,2BAAO7D,UAAU,QAAjB,QACQ,IACN,kCAEIk5D,SAFJ,IAEIA,IAFJ,WAEIA,GAAW9/C,gBAFf,mBAEI,GAAqB7J,QACnB,SAAChG,GAAD,OAAOA,EAAE3F,KAAO6vD,GAAc2D,WAC9B,UAJN,cAEI,GAGIh9C,MAAM7K,QAAO,SAAChG,GAAD,OAAOA,EAAE3F,KAAO6vD,GAAc4D,QAC5CtzD,KAAI,SAAC8D,GACJ,cAAOA,QAAP,IAAOA,OAAP,EAAOA,EAAGhE,QACT,KAIX,2BAAO7D,UAAU,QAAjB,QACO,4BAA2B,KAAV,OAAbyzD,SAAa,IAAbA,QAAA,EAAAA,GAAekE,KAAgB,QAAU,SAEpD,2BAAO33D,UAAU,QAAjB,WACU,4BAA8B,KAAb,OAAbyzD,SAAa,IAAbA,QAAA,EAAAA,GAAemE,QAAmB,QAAU,SAE1D,2BAAO53D,UAAU,QAAjB,UACS,4BAA+B,KAAd,OAAbyzD,SAAa,IAAbA,QAAA,EAAAA,GAAe8G,SAAoB,QAAU,SAE1D,2BAAOv6D,UAAU,QAAjB,WACU,4BAA8B,KAAb,OAAbyzD,SAAa,IAAbA,QAAA,EAAAA,GAAeqE,QAAmB,QAAU,UAG5D,yBAAK93D,UAAU,WAAWoE,MAAO,CAAEyN,cAAe,UAChD,uBACEnJ,KAAM,kBAAM,GACZ+D,QAAS,SAACwH,GACR,IACE,IAAIwmD,EAAkB,eAAQhH,IAC9BgH,EAAqB,CACnBl3C,UAAW,GACX6zC,QAASvyD,OAAOi1D,6BAChBzC,KAAMxyD,OAAOg1D,0BACbvC,eAAgB,GAChB8C,WAAY,KACZpX,OAAQ,GACRuU,SAAU,GACVC,SAAU,GACVE,cAAe,UACfQ,aAAc,GACdT,SAAU,GACVrO,SAAU,GACVn+C,UAAW,GACXE,QAAS,GACT6nD,SAAU,GACV+D,WAAY,GACZY,KAAK,EACLC,QAAQ,EACR2C,SAAS,EACT1C,SAAU,GACVyC,gBAAiB,GACjBxC,OAAQ,IAEVd,GAAiByD,GACjB,MAAO56D,MAEXG,UAAU,mCAEV,uBAAGmE,MAAM,uBAlCX,oB,msNCprBV,IAAMlG,GAAU,IAAIC,IAAa,MAC3BC,GAAKC,IAAIH,IAEA,SAASy8D,GAAU36D,GAAQ,IAAD,WACxB46D,EADwB,+EACvC,WAAmCC,GAAnC,kFACevmD,MAAMxP,OAAOyP,QAAUsmD,EAAM,CACxCrmD,OAAQ,MACRC,iBAAiB,EACjBC,QAAS,CACPC,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,sBAGjBC,KATU,wCASL,WAAOC,GAAP,iFACEC,EAAaD,EAASE,OADxB,SAEeF,EAAS1N,OAFxB,cAEE5E,EAFF,yBAGGyS,QAAQC,IAAI,CAACH,EAAYvS,KAH5B,2CATK,uDAcVqS,MAAK,SAACM,GACL,OAAOA,EAAI,MAEZC,OAAM,SAAC5K,GACNnH,QAAQmH,MAAMA,MAnBpB,oFADuC,sBAuBvC,IAAMswD,EAAwB,WAAO,IAAD,EAClC,EAAkD7tD,oBAAS,GAA3D,mBAAO8tD,EAAP,KAA0BC,EAA1B,KACA,OACE,oCACE,kBAACt0C,EAAA,EAAD,CACEtV,KAAK,KACLC,KAAM0pD,EACNzpD,OAAQ,WACN0pD,GAAqB,KAGvB,kBAACC,EAAA,EAAD,CAAeC,KAAMF,EAAsBG,eAAc,OAAEn7D,QAAF,IAAEA,GAAF,UAAEA,EAAOyH,WAAT,aAAE,EAAYpH,QAKzE+6D,EAAoB,WACxB,MAA0CnuD,oBAAS,GAAnD,mBAAOg7C,EAAP,KAAsBC,EAAtB,KACA,OACE,oCACGD,GACC,kBAAC,GAAD,CACExgD,IAAG,OAAEzH,QAAF,IAAEA,OAAF,EAAEA,EAAOyH,IACZwgD,cAAeA,EACfC,iBAAkBA,IAGtB,uBACEv/C,KAAM,kBAAM,GACZ1I,UAAU,YACVyM,QAAS,WACRw7C,GAAiB,KAGlB,0BAAMjoD,UAAU,8CACd,kBAAC,IAAD,CACEwI,IAAKC,YAAc,8CAGvB,0BAAMzI,UAAU,aAAhB,qBAKR,OACE,kBAAC,WAAD,KACE,kBAACy6C,GAAA,EAAD,CAAUz6C,UAAU,iCAAiCE,YAAU,GAC7D,kBAACu6C,GAAA,EAASt6C,OAAV,CACEH,UAAU,0DACVI,GAAG,sBACHC,GAAIC,MAEJ,uBAAGN,UAAU,yBAEf,kBAACy6C,GAAA,EAASj6C,KAAV,CAAeR,UAAU,mEACvB,wBAAIA,UAAU,wBAEZ,wBAAIA,UAAU,aACZ,uBACE0I,KAAM,kBAAM,GACZ1I,UAAU,YACVyM,QAAS,WAAO,IAAD,EACb1M,EAAMq7D,aAAaztD,WAAnB,UAA8B5N,EAAMyH,WAApC,aAA8B,EAAWpH,IACzCL,EAAMq7D,aAAaC,QAAO,KAG5B,0BAAMr7D,UAAU,8CACd,kBAAC,IAAD,CACEwI,IAAKC,YACH,8CAIN,0BAAMzI,UAAU,aAAhB,SAIJ,wBAAIA,UAAU,aACZ,uBACE0I,KAAM,kBAAM,GACZ1I,UAAU,YACVyM,QAAS,WAAO,IAAD,IACb1M,EAAMq7D,aAAaztD,WAAnB,OAA8B5N,QAA9B,IAA8BA,GAA9B,UAA8BA,EAAOyH,WAArC,aAA8B,EAAYpH,IAC1CL,EAAMq7D,aAAaE,qBAAoB,GACvCC,aAAaC,QACX,qBACAz6D,KAAKE,UAAL,OAAelB,QAAf,IAAeA,GAAf,UAAeA,EAAOyH,WAAtB,aAAe,EAAY2Y,iBAI/B,0BAAMngB,UAAU,2CACd,kBAAC,IAAD,CACEwI,IAAKC,YACH,sDAIN,0BAAMzI,UAAU,aAAhB,uBAEE,IAEN,wBAAIA,UAAU,aACZ,uBACE0I,KAAM,kBAAM,GACZ1I,UAAU,YACVyM,QAAS,WAAO,IAAD,IACb1M,EAAMq7D,aAAaztD,WAAnB,OAA8B5N,QAA9B,IAA8BA,GAA9B,UAA8BA,EAAOyH,WAArC,aAA8B,EAAYpH,IAC1CL,EAAMq7D,aAAaK,YAAnB,OAA+B17D,QAA/B,IAA+BA,GAA/B,UAA+BA,EAAOyH,WAAtC,aAA+B,EAAYm+C,MAC3C5lD,EAAMq7D,aAAaM,qBAAoB,KAGzC,0BAAM17D,UAAU,8CACd,kBAAC,IAAD,CACEwI,IAAKC,YACH,sDAIN,0BAAMzI,UAAU,aAAhB,uBAEE,IAEN,wBAAIA,UAAU,aACZ,uBACE0I,KAAM,kBAAM,GACZ1I,UAAU,YACVyM,QAAS,WAAO,IAAD,EACb1M,EAAMq7D,aAAaztD,WAAnB,UAA8B5N,EAAMyH,WAApC,aAA8B,EAAW5D,IACzC7D,EAAMq7D,aAAaO,OAAM,KAG3B,0BAAM37D,UAAU,2CACd,kBAAC,IAAD,CACEwI,IAAKC,YACH,8CAIN,0BAAMzI,UAAU,aAAhB,WAEE,IAEN,wBAAIA,UAAU,aACZ,uBACE0I,KAAM,kBAAM,GACZ1I,UAAU,YACVyM,QAAO,uBAAE,qHAEDlK,EAAO,GACLq5D,EAAc,GACa,WAAxB,OAAL77D,QAAK,IAALA,GAAA,UAAAA,EAAOyH,WAAP,eAAY2Y,cAJX,iCAKUw6C,EAAoB,+BAAD,cACC56D,QADD,IACCA,GADD,UACCA,EAAOyH,WADR,aACC,EAAYpH,KAN1C,QAKHmC,EALG,QAQMs5D,UAAUhzD,OAAS,GAC1BtG,EAAKs5D,UAAU93D,KAAI,SAACC,GAalB,OAZA43D,EAAY9yD,KAAK,CACfgzD,GAAI93D,EAAKwZ,cACTu+C,IAAK/3D,EAAKyZ,IACVQ,YAAaja,EAAKia,YAClB+9C,SAAUh4D,EAAKg4D,SACfC,QAASj4D,EAAKk4D,aACdC,QAASn4D,EAAKo4D,QACdC,WAAYr0D,YAAehE,EAAK6Z,QAChCy+C,SAAUt0D,YAAehE,EAAK+Z,MAC9Bw+C,QAASv4D,EAAK0Z,OACd8+C,UAAWx4D,EAAKy4D,eAEXz4D,KAETtD,YACEk7D,EACA,QAFI,oCAGkB77D,QAHlB,IAGkBA,GAHlB,UAGkBA,EAAOyH,WAHzB,aAGkB,EAAYpH,MAGpCR,YACE,UADU,iDAEyBG,QAFzB,IAEyBA,GAFzB,UAEyBA,EAAOyH,WAFhC,aAEyB,EAAYpH,KAhChD,yCAoCUu6D,EAAoB,gCAAD,cACE56D,QADF,IACEA,GADF,UACEA,EAAOyH,WADT,aACE,EAAYpH,KArC3C,QAoCHmC,EApCG,QAuCH,UAAAA,EAAKm6D,eAAL,eAAc7zD,QAAS,GACrBtG,EAAKm6D,QAAQ34D,KAAI,SAAC44D,GAOhB,OANAA,EAAM78C,UAAUjX,OAAS,GACvB8zD,EAAM78C,UAAU/b,KAAI,SAAC64D,GAGnB,OAFAA,EAAMC,SAAWF,EAAM/4D,GACvBg4D,EAAY9yD,KAAK8zD,GACVA,KAEJD,MAEP,UAAAp6D,EAAKm6D,eAAL,eAAc7zD,QAAS,EACzBnI,YACEk7D,EACA,QAFI,oCAGkB77D,QAHlB,IAGkBA,GAHlB,UAGkBA,EAAOyH,WAHzB,aAGkB,EAAYpH,KAGpCR,YACE,UADU,iDAEyBG,QAFzB,IAEyBA,GAFzB,UAEyBA,EAAOyH,WAFhC,aAEyB,EAAYpH,KA1DhD,0DA+DLgD,QAAQC,IAAR,MA/DK,2DAmET,0BAAMrD,UAAU,2DACd,kBAAC,IAAD,CAAU+O,MAAM,aAElB,0BAAM/O,UAAU,aAAhB,qCAMJ,wBAAIA,UAAU,aACZ,uBACE0I,KAAM,kBAAM,GACZ1I,UAAU,YACVyM,QAAO,uBAAE,qHAEDlK,EAAO,GACLq5D,EAAc,GACa,WAAxB,OAAL77D,QAAK,IAALA,GAAA,UAAAA,EAAOyH,WAAP,eAAY2Y,cAJX,iCAKUw6C,EAAoB,+BAAD,cACC56D,QADD,IACCA,GADD,UACCA,EAAOyH,WADR,aACC,EAAYpH,KAN1C,QAKHmC,EALG,QAQMs5D,UAAUhzD,OAAS,GAC1BtG,EAAKs5D,UAAU36D,SAAQ,SAAC8C,GACtB43D,EAAY9yD,KAAK,CACfgzD,GAAI93D,EAAKwZ,cACTu+C,IAAK/3D,EAAKyZ,IACVQ,YAAaja,EAAKia,YAClB+9C,SAAUh4D,EAAKg4D,SACfC,QAASj4D,EAAKk4D,aACdC,QAASn4D,EAAKo4D,QACdC,WAAYr0D,YAAehE,EAAK6Z,QAChCy+C,SAAUt0D,YAAehE,EAAK+Z,MAC9Bw+C,QAASv4D,EAAK0Z,OACd8+C,UAAWx4D,EAAKy4D,kBAGpB/7D,YACEk7D,EACA,MAFI,oCAGkB77D,QAHlB,IAGkBA,GAHlB,UAGkBA,EAAOyH,WAHzB,aAGkB,EAAYpH,MAGpCR,YACE,UADU,iDAEyBG,QAFzB,IAEyBA,GAFzB,UAEyBA,EAAOyH,WAFhC,aAEyB,EAAYpH,KA/BhD,yCAmCUu6D,EAAoB,gCAAD,cACE56D,QADF,IACEA,GADF,UACEA,EAAOyH,WADT,aACE,EAAYpH,KApC3C,QAmCHmC,EAnCG,QAsCH,UAAAA,EAAKm6D,eAAL,eAAc7zD,QAAS,GACrBtG,EAAKm6D,QAAQx7D,SAAQ,SAACy7D,GACpBA,EAAM78C,UAAUjX,OAAS,GACvB8zD,EAAM78C,UAAU5e,SAAQ,SAAC07D,GACvBA,EAAMC,SAAWF,EAAM/4D,GACvBg4D,EAAY9yD,KAAK8zD,UAGrB,UAAAr6D,EAAKm6D,eAAL,eAAc7zD,QAAS,EACzBnI,YACEk7D,EACA,MAFI,oCAGkB77D,QAHlB,IAGkBA,GAHlB,UAGkBA,EAAOyH,WAHzB,aAGkB,EAAYpH,KAGpCR,YACE,UADU,iDAEyBG,QAFzB,IAEyBA,GAFzB,UAEyBA,EAAOyH,WAFhC,aAEyB,EAAYpH,KAvDhD,0DA4DLgD,QAAQC,IAAR,MA5DK,2DAgET,0BAAMrD,UAAU,qDACd,kBAAC,IAAD,CAAU+O,MAAM,aAElB,0BAAM/O,UAAU,aAAhB,oCAMJ,wBAAIA,UAAU,aACZ,kBAAC,KAAD,CACEI,GAAE,OAAEL,QAAF,IAAEA,GAAF,UAAEA,EAAOyH,WAAT,aAAE,EAAYpH,GAChB6N,KAAM,YACN6uD,YAAY,KAGhB,wBAAI98D,UAAU,aACZ,kBAACm7D,EAAD,UAKR,kBAACN,EAAD,O,g6MCnRN,IAAM58D,GAAU,IAAIC,IAAa,MAC3BC,GAAKC,IAAIH,IAEX8+D,GAAqB,GAEnBzlD,GAAYrB,cAAW,SAACC,GAAD,MAAY,CACvCgpB,WAAY,CACV9X,QAASlR,EAAMK,QAAQ,QAG3B,SAASkV,GAAW7pB,GAClB,GAAa,OAATA,QAA0BkE,IAATlE,GAA+B,KAATA,EACzC,MAAO,GAET,IAAIoK,EAAI,IAAIrK,KAAKC,GACf8pB,EAAQ,IAAM1f,EAAEjK,WAAa,GAC7B6J,EAAM,GAAKI,EAAEhK,UACb2pB,EAAO3f,EAAE/J,cAKX,OAHIypB,EAAM7iB,OAAS,IAAG6iB,EAAQ,IAAMA,GAChC9f,EAAI/C,OAAS,IAAG+C,EAAM,IAAMA,GAEzB,CAAC8f,EAAO9f,EAAK+f,GAAMjkB,KAAK,KAEjC,SAASf,GAAQX,EAAMlH,GACrB,IAAK,IAAD,QAEG,QAAH,EAAAA,SAAA,eAAK6Q,SAAS,WAAd,UACA7Q,SADA,aACA,EAAK6Q,SAAS,gBADd,UAEA7Q,SAFA,aAEA,EAAK6Q,SAAS,oBAEd7Q,OAAMgH,GACR,MAAOyE,IACT,OACE,oCACE,yBAAKvK,UAAU,uBACb,yBAAKA,UAAU,sDACZgG,GAEH,yBAAKhG,UAAU,yBAAf,KACKlB,GAAO,0BAAMkB,UAAU,cAAhB,YAMpB,SAASg9D,GAAch3D,EAAMlH,GAC3B,IAAK,IAAD,MACK,QAAH,EAAAA,SAAA,eAAK6Q,SAAS,WAAd,UAAyB7Q,SAAzB,aAAyB,EAAK6Q,SAAS,iBAAc7Q,OAAMgH,GAC/D,MAAOyE,IACT,OACE,oCACE,yBAAKvK,UAAU,kBACb,yBAAKA,UAAU,oDACZgG,GAEH,yBAAKhG,UAAU,sCACZlB,GAAO,0BAAMkB,UAAU,cAAhB,YAOlB,SAASi9D,GAASC,GAChB,YAAap3D,IAATo3D,GAA+B,OAATA,GAA0B,KAATA,EAClC,KAGPA,EAAOA,EACJ12D,WACAuF,MAAM,6CAA+C,CAACmxD,IAEhDr0D,OAAS,KAEhBq0D,EAAOA,EAAKz7D,MAAM,IACb,IAAMy7D,EAAK,GAAK,GAAK,MAAQ,MAClCA,EAAK,IAAMA,EAAK,GAAK,IAAM,IAEtBA,EAAKx1D,KAAK,KAGrB,IAAIy1D,GAAgB,CAClB3U,WAAY,GACZ4U,WAAY,GACZl3B,YAAa,GACblb,YAAa,GACbqyC,aAAc,GACdC,cAAe,IAAI37D,KACnB47D,0BAA2B,GAC3BC,mBAAoB,GACpBC,2BAA4B,GAC5BC,oBAAqB,GACrB98D,KAAM,EACN+8D,WAAW,GAETC,GAAmB,CACrBpV,WAAY,GACZ4U,WAAY,GACZl3B,YAAa,GACblb,YAAa,GACbqyC,aAAc,GACdC,cAAe,IAAI37D,KACnB47D,0BAA2B,GAC3BC,mBAAoB,GACpBC,2BAA4B,GAC5BC,oBAAqB,GACrB98D,KAAM,EACN+8D,WAAW,GAEP5zC,GAAS,SAAChqB,GACd,OACE,yBAAKqE,MAAO,CAAE2K,MAAOhP,EAAMwC,KAAKwM,QAC9B,kBAAC,KAAWgb,OAAWhqB,KAIhB89D,GAA6B,SAAC,GAOpC,IAAD,IANJr2D,EAMI,EANJA,IACAisD,EAKI,EALJA,cACAC,EAII,EAJJA,cACAxC,EAGI,EAHJA,2BACAv8B,EAEI,EAFJA,kBACG50B,EACC,mBACJ,SAASs1D,EAAUrC,GAAW,IAAD,EACrB/uD,EAAK,OAAGyvD,QAAH,IAAGA,GAAH,UAAGA,EAAe4B,sBAAlB,aAAG,EAA+BlwC,WAC3C,SAACvU,GAAD,OAAWrP,OAAOqP,EAAM6yC,YAAcliD,OAAOwxD,MAE/C,OACa,IAAX/uD,GACAA,KAAuB,OAAbyvD,QAAa,IAAbA,OAAA,EAAAA,EAAe4B,eAAezsD,QAAS,GACjD5E,KAAuB,OAAbyvD,QAAa,IAAbA,OAAA,EAAAA,EAAe4B,eAAezsD,QAAS,EAG1C,KAGT,OAAO6qD,QAAP,IAAOA,OAAP,EAAOA,EAAe4B,eAAerxD,EAAQ,GAE/C,SAAS65D,EAAU9K,GAAW,IAAD,EACrB/uD,EAAK,OAAGyvD,QAAH,IAAGA,GAAH,UAAGA,EAAe4B,sBAAlB,aAAG,EAA+BlwC,WAC3C,SAACvU,GAAD,OAAWrP,OAAOqP,EAAM6yC,YAAcliD,OAAOwxD,MAE/C,OAAe,IAAX/uD,GAA0B,IAAVA,EAEX,KAGT,OAAOyvD,QAAP,IAAOA,OAAP,EAAOA,EAAe4B,eAAerxD,EAAQ,GAE/BqT,KAAhB,IACA,EAAwBtK,oBAAS,GAAjC,mBAAOiuD,EAAP,KAAa8C,EAAb,KACA,EAAkD/wD,oBAAS,GAA3D,mBAAO8tD,EAAP,KAA0BC,EAA1B,KACA,EAAgC/tD,mBAAS,IAAzC,mBAAOgxD,EAAP,KAAiBC,EAAjB,KACA,EAAwCjxD,oBAAS,GAAjD,mBAAOkxD,EAAP,KAAqBC,EAArB,KACA,EAAoDnxD,oBAAS,GAA7D,mBACA,GADA,UACgDA,oBAAS,IAAzD,mBAAO8mD,EAAP,KAAyBC,EAAzB,KACA,EAA0C/mD,oBAAS,GAAnD,mBAAOg7C,EAAP,KAAsBC,EAAtB,KACA,GAAkDj7C,oBAAS,GAA3D,qBAAOgnD,GAAP,MAA0BC,GAA1B,MACA,GAGIjnD,oBAAS,GAHb,qBACEoxD,GADF,MAEEC,GAFF,MAIA,GAA8BrxD,mBAAS,MAAvC,qBAAOU,GAAP,MAAgBC,GAAhB,MACA,GAA8CX,oBAAS,GAAvD,qBAAOknD,GAAP,MAAwBC,GAAxB,MACA,GAAkCnnD,mBAAS,IAA3C,qBACA,IADA,YACoDA,oBAAS,IAA7D,qBAAOsxD,GAAP,MAA2BC,GAA3B,MACA,GAAsCvxD,oBAAS,GAA/C,qBAAOwxD,GAAP,MAAoBC,GAApB,MACA,GAAsDzxD,oBAAS,GAA/D,qBAAO0xD,GAAP,MAA4BC,GAA5B,MACA,GAAwD3xD,mBAAS,IAAjE,qBAAO4xD,GAAP,MAA6BC,GAA7B,MACA,GAA8D7xD,mBAAS,IAAvE,qBAAO8xD,GAAP,MAAgCC,GAAhC,MACA,GAAkD/xD,mBAAS,IAA3D,qBAAOgyD,GAAP,MAA0BC,GAA1B,MACA,GAAkDjyD,mBAAS,IAA3D,qBAAOkyD,GAAP,MAA0BC,GAA1B,MACA,GAAsCnyD,mBAAS,CAC7Cw7C,WAAY,GACZ4U,WAAY,GACZl3B,YAAa,GACblb,YAAa,GACbqyC,aAAc,GACdC,cAAe,IAAI37D,KACnB47D,0BAA2B,GAC3BC,mBAAoB,GACpBC,2BAA4B,GAC5BC,oBAAqB,GACrB98D,KAAM,EACN+8D,WAAW,IAZb,qBAAOyB,GAAP,MAAoBC,GAApB,MAcA,GAA4CryD,mBAAS,CACnDw7C,WAAY,GACZ4U,WAAY,GACZl3B,YAAa,GACblb,YAAa,GACbqyC,aAAc,GACdC,cAAe,IAAI37D,KACnB47D,0BAA2B,GAC3BC,mBAAoB,GACpBC,2BAA4B,GAC5BC,oBAAqB,GACrB98D,KAAM,EACN+8D,WAAW,IAZb,qBAAO2B,GAAP,MAAuBC,GAAvB,MAcA,GAAyCvyD,oBAAS,GAAlD,qBAAwBwyD,IAAxB,aACA,GAA8DxyD,mBAAS,MAAvE,qBAAOyyD,GAAP,MAAgCC,GAAhC,MAEA5rD,qBAAU,cAAU,CAACtM,EAAI5D,KAEzB,OAAgEoJ,oBAC9D,GADF,qBAAOs/C,GAAP,MAAiCC,GAAjC,MAGMriC,GAAc,SAACnqB,GACnB,OAAO,kBAAC,KAAWmqB,YAAgBnqB,IAvFjC,SAyFW4/D,GAzFX,kFAyFJ,WAAgC1gE,GAAhC,oFAEU2gE,EAAYphE,SAASsR,eAAe,mBAAmB3Q,MACrD,oBAAJF,EAHR,oBAIwB,KAAd2gE,QAAkC95D,IAAd85D,GAAyC,OAAdA,EAJzD,uBAKQhgE,YAAa,QAAS,4BAL9B,2CAQcyU,MAAM,GAAD,OACNxP,OAAOyP,QADD,+CACwC5G,SADxC,IACwCA,QADxC,EACwCA,GAAS9J,IAC1D,CACE2Q,OAAQ,OACRC,iBAAiB,EACjBC,QAAS,CACPiL,OAAQ,oCACRhL,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,oBAElBvV,KAAK,YAAD,OAAcwgE,EAAd,0CAGLhrD,MAAK,SAACC,GACmB,MAApBA,EAASE,QACXnV,YAAa,QAAS,oBAGzBuV,OAAM,SAAC5K,GACNnH,QAAQmH,MAAMA,MA5B1B,yBA8Bc8J,MAAM,GAAD,OAAIxP,OAAOyP,QAAX,uCAAyD,CAClEC,OAAQ,OACRC,iBAAiB,EACjBC,QAAS,CACPiL,OAAQ,oCACRhL,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,oBAElBvV,KAAK,SAAD,cAAWsO,SAAX,IAAWA,QAAX,EAAWA,GAAS9J,GAApB,YAA0B3E,EAA1B,OAEH2V,KAXG,wCAWE,WAAOC,GAAP,0FACqBA,EAASE,OAD9B,UACED,EADF,SAEEY,EAAcb,EAASJ,QAAQkB,IAAI,mBAGM,IAA7CD,EAAYE,QAAQ,oBALlB,yCAOKf,EAAS1N,OAAOyN,MAAK,SAACrS,GAAD,MAAU,CAACuS,EAAYvS,OAPjD,gCASKsS,EACJ5V,OACA2V,MAAK,SAAC3V,GAAD,MAAU,CAAC6V,EAAY,CAAEe,QAAS,SAXxC,2CAXF,uDAyBHjB,MAAK,SAACzF,GACa,MAAdA,EAAO,GAEe,OAAtBA,EAAO,GAAG0G,cACY/P,IAAtBqJ,EAAO,GAAG0G,SACY,KAAtB1G,EAAO,GAAG0G,QAEVjW,YAAa,YAAauP,EAAO,GAAG0G,UAElB,MAAd1G,EAAO,KACLlQ,EAAK2W,QAAQ,WAAa,EAC5BhW,YAAa,UAAW,6BACjBX,EAAK2W,QAAQ,eAAiB,EACrChW,YAAa,UAAW,kCACjBX,EAAK2W,QAAQ,aAAe,GACnChW,YAAa,UAAW,+BAE5BpB,SAASsR,eAAe,iBAAiBinB,SAInB,OAAtB5nB,EAAO,GAAG0G,cACY/P,IAAtBqJ,EAAO,GAAG0G,SACY,KAAtB1G,EAAO,GAAG0G,QAEVjW,YAAa,aAAcuP,EAAO,GAAG0G,SAErCjW,YAAa,aAAc,sBAIhCuV,OAAM,SAAC5K,GACNnH,QAAQmH,MAAMA,MAvF1B,QAyFQ/L,SAASsR,eAAe,mBAAmB3Q,MAAQ,GACnDk/D,IAAkC,GA1F1C,iDA6FYhqD,MAAM,GAAD,OAAIxP,OAAOyP,QAAX,uCAAyD,CAClEC,OAAQ,OACRC,iBAAiB,EACjBC,QAAS,CACPiL,OAAQ,oCACRhL,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,oBAElBvV,KAAK,SAAD,cAAWsO,SAAX,IAAWA,QAAX,EAAWA,GAAS9J,GAApB,YAA0B3E,EAA1B,OAEH2V,KAXG,wCAWE,WAAOC,GAAP,0FACqBA,EAASE,OAD9B,UACED,EADF,SAEEY,EAAcb,EAASJ,QAAQkB,IAAI,mBACuB,IAA7CD,EAAYE,QAAQ,oBAHnC,yCAIKf,EAAS1N,OAAOyN,MAAK,SAACrS,GAAD,MAAU,CAACuS,EAAYvS,OAJjD,gCAMKsS,EACJ5V,OACA2V,MAAK,SAAC3V,GAAD,MAAU,CAAC6V,EAAY,CAAEe,QAAS,SARxC,2CAXF,uDAsBHjB,MAAK,SAACzF,GAUG,IAAD,EACiC,EAVtB,MAAdA,EAAO,IACLlQ,EAAK2W,QAAQ,WAAa,EAC5BhW,YAAa,UAAW,6BACjBX,EAAK2W,QAAQ,eAAiB,EACrChW,YAAa,UAAW,kCACjBX,EAAK2W,QAAQ,aAAe,GACnChW,YAAa,UAAW,8BAE1BpB,SAASsR,eAAe,iBAAiBinB,cAEdjxB,KAAvB,UAAAqJ,EAAO,UAAP,eAAW0G,SACbjW,YAAa,aAAD,UAAeuP,EAAO,UAAtB,aAAe,EAAW0G,SAEtCjW,YAAa,aAAc,kBAIhCuV,OAAM,SAAC5K,GACNnH,QAAQmH,MAAMA,MAtIxB,eAwIM8zD,IAAkC,GAxIxC,wIAzFI,sBAiQJ,SAASwB,KAAW,IAAD,EACjB,OACE,oCACE,kBAAC,KAAD,CACEC,QAAStB,GACTuB,WAAYtB,GACZr+D,GAAE,UAAEoH,SAAF,aAAE,EAAKonD,WAET,kBAAC4B,GAAA,EAAD,QAMR,SAASwP,KAAiB,IAAD,QAEvB,EAA0BhzD,oBAAS,GAAnC,mBAAOizD,EAAP,KAAgB5E,EAAhB,KACA,EAA0BruD,mBAAS,MAAnC,mBAAOU,EAAP,KAAgBwyD,EAAhB,KAEA,EAAkDlzD,oBAAS,GAA3D,mBAAOonD,EAAP,KAA0BC,EAA1B,KACA,EAAkDrnD,oBAAS,GAA3D,mBAAOsnD,EAAP,KAA0BC,EAA1B,KACA,GAAkDvnD,mBAAS,IAA3D,qBAAOwnD,GAAP,MAA0BC,GAA1B,MACA,GAAgEznD,mBAAS,CACvEimD,YAAa,CAACzrD,EAAI5D,IAClBwlD,SAAQ,UAAE5hD,SAAF,aAAE,EAAKquB,UACf6+B,aAAc,KACdxB,eAAgB,GAChByB,mBAAoB,GACpBC,gBAAiB,KANnB,qBAAOC,GAAP,MAAiCC,GAAjC,MAQA,GAAkD9nD,mBAAS,IAA3D,qBAAO+nD,GAAP,MAA0BC,GAA1B,MACA,GAA0DhoD,mBAAS,IAAnE,qBAAOioD,GAAP,MAA8BC,GAA9B,MACA,GAAoCloD,mBAAS,IAA7C,qBAAOmoD,GAAP,MAAmBC,GAAnB,MAEA,GAAgEpoD,mBAC9D,MADF,qBAAOmzD,GAAP,MAAiCC,GAAjC,MApBuB,+CAwBvB,WAAuC1qC,GAAvC,iFACMrgB,EAAY,IAAIC,SACVC,OAAO,gBAAjB,iBAA4CpX,GAAG8L,OAAOC,WAAWyK,QAE7Da,EAAiB,CACnBjB,OAAQ,MACRE,QAASY,EACTI,SAAU,UAGZpB,MAAM,GAAD,OACAxP,OAAOyP,QADP,yCAC+CohB,GAClDlgB,GAECZ,MAAK,SAACC,GAAD,OAAcA,EAAS5V,UAC5B2V,MAAK,SAACzF,GACL,IAAI5M,EAAOxB,KAAKC,MAAMmO,GACtB8vD,GAAqB18D,MAEtB4S,OAAM,SAAC5K,GAAD,OAAWnH,QAAQC,IAAI,QAASkH,MACrC81D,EAAat/D,KAAKC,MACpBD,KAAKE,UAAL,OAAeyyD,QAAf,IAAeA,OAAf,EAAeA,EAAeR,iBAEhC6L,IAAwC,OAAbrL,QAAa,IAAbA,OAAA,EAAAA,EAAeR,iBAAkB,IAExDnrD,EAAOs4D,EAAWt8D,KAAI,SAACwF,GAAD,OAAO/H,OAAO+H,EAAEm6C,cACpCz/C,EAAQ8D,EAAK6N,QAAQpU,OAAM,OAACkyD,QAAD,IAACA,OAAD,EAACA,EAAeR,mBACpC,IACXmN,EAAWp7B,OAAOhhC,EAAOo8D,EAAWx3D,QACpCs2D,GAAqBkB,IA7BzB,4CAxBuB,sBAyDvB,SAASzK,KACP,IACE,IAAIC,EAAiBhB,GAAyBzL,SAC9C,GACqB,OAAnByM,QACmB/vD,IAAnB+vD,GACmB,KAAnBA,EAGA,YADAj2D,YAAa,aAAc,wBAG7By0D,GAAqB,GACrB,IAAIh/C,EAAY,IAAIC,QACpBD,EAAUE,OACR,gBADF,iBAEYpX,GAAG8L,OAAOC,WAAWyK,QAEjCU,EAAUE,OAAO,eAAgB,oBACjCF,EAAUE,OAAO,eAAgB,UACjC,IACIC,EAAiB,CACnBjB,OAAQ,OACRE,QAASY,EACTjW,KAJQ2B,KAAKE,UAAU4zD,IAKvBp/C,SAAU,UAEZpB,MACExP,OAAOyP,QAAP,4CACAkB,GAECZ,KAJH,wCAIQ,WAAOC,GAAP,0FACqBA,EAASE,OAD9B,UACED,EADF,SAEEY,EAAcb,EAASJ,QAAQkB,IAAI,mBACuB,IAA7CD,EAAYE,QAAQ,oBAHnC,yCAIKf,EAAS1N,OAAOyN,MAAK,SAACrS,GAAD,MAAU,CAACuS,EAAYvS,OAJjD,gCAMKsS,EACJ5V,OACA2V,MAAK,SAAC3V,GAAD,MAAU,CAAC6V,EAAY,CAAEe,QAAS,SARxC,2CAJR,uDAeGjB,MAAK,SAACzF,GACL,GAAkB,MAAdA,EAAO,GAEe,OAAtBA,EAAO,GAAG0G,cACY/P,IAAtBqJ,EAAO,GAAG0G,SACY,KAAtB1G,EAAO,GAAG0G,SAEVjW,YAAa,YAAauP,EAAO,GAAG0G,SACpC0+C,GAAqB,IAErB30D,YACE,UADU,iCAEgBi1D,GAAyB5B,YAAYlvD,KAC7D,SAACud,GAAD,OAAcA,EAAW,QAHjB,oCAOd4vC,EAA2Bv8B,GAC3B4/B,GAAqB,QAErB,GAC2B,OAAzBplD,EAAO,GAAG07C,iBACe/kD,IAAzBqJ,EAAO,GAAG07C,YACe,KAAzB17C,EAAO,GAAG07C,WACV,CACA,IAAIC,EAAa37C,EAAO,GAAG07C,WACvBC,GACF1pD,OAAOC,KAAKypD,GAAY5pD,SAAQ,SAASI,GACvCwpD,EAAWxpD,GAAGJ,SAAQ,SAACiP,GACrBvQ,YAAa,aAAcuQ,cAIX,OAAtBhB,EAAO,GAAG0G,cACY/P,IAAtBqJ,EAAO,GAAG0G,SACY,KAAtB1G,EAAO,GAAG0G,QAEVjW,YAAa,aAAcuP,EAAO,GAAG0G,SAErCjW,YAAa,aAAc,eAG/By0D,GAAqB,MAEtBl/C,OAAM,SAAC5K,GACNnH,QAAQC,IAAI,QAASkH,GACrB8pD,GAAqB,MAEzB,MAAO/kD,KAEX,SAAS6jD,GAAW/yD,EAAI4yD,GACtB,IAAI39C,EAAY,IAAIC,QACpBD,EAAUE,OAAO,gBAAjB,iBAA4CpX,GAAG8L,OAAOC,WAAWyK,QACjEU,EAAUE,OAAO,eAAgB,oBAEjC,IAKIC,EAAiB,CACnBjB,OAAQ,OACRE,QAASY,EACTjW,KARQ2B,KAAKE,UAAU,CACvBgyD,YAAa,CAAC7yD,GACd8yD,eAAgBF,IAOhBv9C,SAAU,UAGZpB,MAAM,GAAD,OACAxP,OAAOyP,QADP,6CAEHkB,GAECZ,KAJH,wCAIQ,WAAOC,GAAP,0FACqBA,EAASE,OAD9B,UACED,EADF,SAEEY,EAAcb,EAASJ,QAAQkB,IAAI,mBACuB,IAA7CD,EAAYE,QAAQ,oBAHnC,yCAIKf,EAAS1N,OAAOyN,MAAK,SAACrS,GAAD,MAAU,CAACuS,EAAYvS,OAJjD,gCAMKsS,EACJ5V,OACA2V,MAAK,SAAC3V,GAAD,MAAU,CAAC6V,EAAY,CAAEe,QAAS,SARxC,2CAJR,uDAeGjB,MAAK,SAACzF,GACL,GAAkB,MAAdA,EAAO,GAEe,OAAtBA,EAAO,GAAG0G,cACY/P,IAAtBqJ,EAAO,GAAG0G,SACY,KAAtB1G,EAAO,GAAG0G,SAEVjW,YAAa,YAAauP,EAAO,GAAG0G,SACnB,MAAbm9C,GACF9B,EAA2Bv8B,KAG7B/0B,YAAa,UAAW,0CACP,MAAbozD,GACF9B,EAA2Bv8B,SAI/B,GAC2B,OAAzBxlB,EAAO,GAAG07C,iBACe/kD,IAAzBqJ,EAAO,GAAG07C,YACe,KAAzB17C,EAAO,GAAG07C,WACV,CACA,IAAIC,EAAa37C,EAAO,GAAG07C,WACvBC,GACF1pD,OAAOC,KAAKypD,GAAY5pD,SAAQ,SAASI,GACvCwpD,EAAWxpD,GAAGJ,SAAQ,SAACiP,GACrBvQ,YAAa,aAAcuQ,cAIX,OAAtBhB,EAAO,GAAG0G,cACY/P,IAAtBqJ,EAAO,GAAG0G,SACY,KAAtB1G,EAAO,GAAG0G,QAEVjW,YAAa,aAAcuP,EAAO,GAAG0G,SAErCjW,YAAa,aAAc,kBAIhCuV,OAAM,SAAC5K,GACNnH,QAAQC,IAAI,QAASkH,MAyL3B,SAAS+1D,KAAwB,IAAD,EAC9B,IAAInD,GAAcQ,WAEiB,KAA/BR,GAAcE,cACe,KAA7BF,GAAcC,YACgB,KAA9BD,GAAcnyC,YAJlB,CAaA,IAAI3V,EAAY,IAAIC,QACpBD,EAAUE,OAAO,gBAAjB,iBAA4CpX,GAAG8L,OAAOC,WAAWyK,QACjEU,EAAUE,OAAO,eAAgB,oBACjC8+C,GAAqB,GAErB,IAAIkM,EAAY,CACd/X,WAAU,UAAE2U,UAAF,aAAE,EAAe3U,WAC3BgY,OAAQ,CAACrD,GAAeS,KAKtBpoD,EAAiB,CACnBjB,OAAQ,OACRE,QAASY,EACTjW,KALQ2B,KAAKE,UAAUs/D,GAMvB9qD,SAAU,UAGZpB,MAAM,GAAD,OAAIxP,OAAOyP,QAAX,oBAAsCkB,GACxCZ,KADH,wCACQ,WAAOC,GAAP,0FACqBA,EAASE,OAD9B,UACED,EADF,SAEEY,EAAcb,EAASJ,QAAQkB,IAAI,mBACuB,IAA7CD,EAAYE,QAAQ,oBAHnC,yCAIKf,EAAS1N,OAAOyN,MAAK,SAACrS,GAAD,MAAU,CAACuS,EAAYvS,OAJjD,gCAMKsS,EACJ5V,OACA2V,MAAK,SAAC3V,GAAD,MAAU,CAAC6V,EAAY,CAAEe,QAAS,SARxC,2CADR,uDAYGjB,MAAK,SAACzF,GACL,GAAkB,MAAdA,EAAO,GAEe,OAAtBA,EAAO,GAAG0G,cACY/P,IAAtBqJ,EAAO,GAAG0G,SACY,KAAtB1G,EAAO,GAAG0G,SAEVjW,YAAa,YAAauP,EAAO,GAAG0G,SACpC0oD,IAAsB,KAEtB3+D,YAAa,UAAW,0CACxB2+D,IAAsB,IAExBrN,EAA2Bv8B,OACtB,CACL,GAC2B,OAAzBxlB,EAAO,GAAG07C,iBACe/kD,IAAzBqJ,EAAO,GAAG07C,YACe,KAAzB17C,EAAO,GAAG07C,WACV,CACA,IAAIC,EAAa37C,EAAO,GAAG07C,WACvBC,GACF1pD,OAAOC,KAAKypD,GAAY5pD,SAAQ,SAASI,GACvCwpD,EAAWxpD,GAAGJ,SAAQ,SAACiP,GACrBvQ,YAAa,aAAcuQ,cAIX,OAAtBhB,EAAO,GAAG0G,cACY/P,IAAtBqJ,EAAO,GAAG0G,SACY,KAAtB1G,EAAO,GAAG0G,QAEVjW,YAAa,aAAcuP,EAAO,GAAG0G,SAErCjW,YAAa,aAAc,eAE7B2+D,IAAsB,GAExBlK,GAAqB,MAEtBl/C,OAAM,SAAC5K,GACNnH,QAAQC,IAAI,QAASkH,GACrB8pD,GAAqB,WAhFrBz0D,YACE,aACA,2DAiFR,SAASk3D,KACP,IAAIzhD,EAAY,IAAIC,QACpBD,EAAUE,OAAO,gBAAjB,iBAA4CpX,GAAG8L,OAAOC,WAAWyK,QACjE,IAAIa,EAAiB,CACnBjB,OAAQ,MACRE,QAASY,EACTI,SAAU,UAEZpB,MAAMxP,OAAOyP,QAAU,WAAYkB,GAChCZ,MAAK,SAACC,GAAD,OAAcA,EAAS5V,UAC5B2V,MAAK,SAACzF,GAAY,IAAD,EACV5M,EAAOxB,KAAKC,MAAMmO,GAClBsnD,EAAM,GACZl0D,EAAK4nD,QAAQjpD,SAAQ,SAACw1D,GACpBD,EAAI3tD,KAAK,CACP3J,MAAOu3D,EAAO9yD,GACdJ,MAAOkzD,EAAOxzC,KAAO,IAAMwzC,EAAO1rC,YAClCjc,OAAa,OAAN2nD,QAAM,IAANA,OAAA,EAAAA,EAAQZ,YAAa,QAAU,MACtCjgC,UAAS,OAAE6gC,QAAF,IAAEA,OAAF,EAAEA,EAAQ7gC,UACnBigC,WAAU,OAAEY,QAAF,IAAEA,OAAF,EAAEA,EAAQZ,gBAGxBrB,GAAqBgC,GAAO,IAC5BzB,GAAoB,iBAACzyD,QAAD,IAACA,OAAD,EAACA,EAAMo0D,sBAAP,QAAyB,IAC7CzB,IAA6B,OAAJ3yD,QAAI,IAAJA,OAAA,EAAAA,EAAMq0D,cAAe,IAC9CxB,IAAkB,OAAJ7yD,QAAI,IAAJA,OAAA,EAAAA,EAAMs0D,SAAU,OAE/B1hD,OAAM,SAAC5K,GAAD,OAAWnH,QAAQC,IAAI,QAASkH,MAE3C,OACE,yBAAKvK,UAAU,UAGb,kBAACymB,EAAA,EAAD,CACEtV,KAAK,KACL/Q,GAAG,sBACHgR,KAAMkjD,EACNhjD,kBAAgB,gCAEhB,kBAACmV,EAAA,EAAMlV,OAAP,KACE,kBAACkV,EAAA,EAAM9U,MAAP,CAAavR,GAAG,gCAAhB,oBAGA,kBAACi9B,EAAA,EAAD,CACE7rB,aAAW,QACX/E,QAAS,WACP8nD,GAAqB,KAGvB,kBAAC,IAAD,QAGJ,kBAAC9tC,EAAA,EAAMhV,KAAP,CAAYzR,UAAU,kBACpB,yBAAKA,UAAU,kBACb,yBAAKA,UAAU,aACb,yBAAKA,UAAU,OACb,yBAAKA,UAAU,YACb,uBAAGA,UAAU,QAAb,WACA,kBAAC,KAAD,CACEgG,KAAK,WACLyiB,WAAY,CAAEsB,WACd5P,QAASq6C,GAAkBjlD,QAAO,SAAChG,GACjC,IAAIujB,EAAG,eAAQvjB,GACf,OAAiD,KAA7CsrD,GAAyBD,kBACN,IAAjBrrD,EAAEusD,WACG,CACL32D,MAAK,OAAE2tB,QAAF,IAAEA,OAAF,EAAEA,EAAK3tB,MACZqE,MAAK,OAAEspB,QAAF,IAAEA,OAAF,EAAEA,EAAKtpB,MACZuL,MAAO,MACP8mB,UAAS,OAAE/I,QAAF,IAAEA,OAAF,EAAEA,EAAK+I,UAChBigC,WAAU,OAAEhpC,QAAF,IAAEA,OAAF,EAAEA,EAAKgpC,YAYd,CACL32D,MAAK,OAAE2tB,QAAF,IAAEA,OAAF,EAAEA,EAAK3tB,MACZqE,MAAK,OAAEspB,QAAF,IAAEA,OAAF,EAAEA,EAAKtpB,MACZuL,MAAO,QACP8mB,UAAS,OAAE/I,QAAF,IAAEA,OAAF,EAAEA,EAAK+I,UAChBigC,WAAU,OAAEhpC,QAAF,IAAEA,OAAF,EAAEA,EAAKgpC,eAIvB32D,MAAOq1D,GAAkBjlD,QACvB,SAAChG,GAAD,OAAOA,EAAEpK,QAAU01D,GAAyBzL,YAE9C/5C,SAAU,SAAC4E,GACT,IAAI8hD,EAAO,eAAQlB,IACnBkB,EAAQ3M,SAAR,OAAmBn1C,QAAnB,IAAmBA,OAAnB,EAAmBA,EAAO9U,MAC1B21D,GAA4BiB,MAGc,KAA7ClB,GAAyBD,mBAGH,KAFH,OAAjBJ,SAAiB,IAAjBA,IAAA,UAAAA,GAAmBjlD,QAClB,SAAChG,GAAD,OAAOA,EAAEpK,QAAU01D,GAAyBzL,YAC5C,UAFD,eAEK0M,YACJ,uBAAG1xD,MAAO,CAAE2K,MAAO,QAAnB,gCAIA,KAGN,yBAAK/O,UAAU,YACb,uBAAGA,UAAU,QAAb,eACA,kBAAC,KAAD,CACEgG,KAAK,eACL7G,MAAO81D,GACJ1lD,QACC,SAAChG,GAAD,OAAOA,EAAE3F,KAAOixD,GAAyBH,gBAE1C3wD,KAAI,SAAC8D,GACJ,MAAO,CACL1I,MAAK,OAAE0I,QAAF,IAAEA,OAAF,EAAEA,EAAGjE,GACVJ,MAAK,OAAEqE,QAAF,IAAEA,OAAF,EAAEA,EAAGhE,SAGhBsW,QAAS86C,GAAsBlxD,KAAI,SAAC8D,GAClC,MAAO,CACL1I,MAAK,OAAE0I,QAAF,IAAEA,OAAF,EAAEA,EAAGjE,GACVJ,MAAK,OAAEqE,QAAF,IAAEA,OAAF,EAAEA,EAAGhE,SAGdwL,SAAU,SAAC4E,GACT,IAAI8hD,EAAO,eAAQlB,IACnBkB,EAAQrB,aAAR,OAAuBzgD,QAAvB,IAAuBA,OAAvB,EAAuBA,EAAO9U,MAC9B21D,GAA4BiB,OAIlC,yBAAK/1D,UAAU,YACb,uBAAGA,UAAU,QAAb,kBACA,kBAAC,KAAD,CACEgG,KAAK,kBACL7G,MAAO41D,GAAkBxlD,QACvB,SAAChG,GAAD,OAAOA,EAAE3F,KAAOixD,GAAyBD,mBACzC7wD,KAAI,SAAC8D,GACL,MAAO,CACL1I,MAAK,OAAE0I,QAAF,IAAEA,OAAF,EAAEA,EAAGjE,GACVJ,MAAK,OAAEqE,QAAF,IAAEA,OAAF,EAAEA,EAAGhE,SAGdsW,QAAS46C,GAAkBhxD,KAAI,SAAC8D,GAC9B,MAAO,CACL1I,MAAK,OAAE0I,QAAF,IAAEA,OAAF,EAAEA,EAAGjE,GACVJ,MAAK,OAAEqE,QAAF,IAAEA,OAAF,EAAEA,EAAGhE,SAGdwL,SAAU,SAAC4E,GACT,IAAI8hD,EAAO,eAAQlB,IACnBkB,EAAQnB,gBAAR,OAA0B3gD,QAA1B,IAA0BA,OAA1B,EAA0BA,EAAO9U,MACjC21D,GAA4BiB,OAKY,MAA7ClB,GAAyBD,gBACxB,yBAAK50D,UAAU,YACb,uBAAGA,UAAU,QAAb,UACA,kBAAC,KAAD,CACEgG,KAAK,SACLmU,QAASg7C,GAAWpxD,KAAI,SAAC8D,GACvB,MAAO,CACL1I,MAAK,OAAE0I,QAAF,IAAEA,OAAF,EAAEA,EAAGjE,GACVJ,OAAQ,OAADqE,QAAC,IAADA,OAAA,EAAAA,EAAGhE,MAAO,KAAV,OAAgBgE,QAAhB,IAAgBA,OAAhB,EAAgBA,EAAGqb,UAG9B7T,SAAU,SAAC4E,GACT,IAAI8hD,EAAO,eAAQlB,IACnBkB,EAAQpB,mBAAR,OAA6B1gD,QAA7B,IAA6BA,OAA7B,EAA6BA,EAAO9U,MACpC21D,GAA4BiB,OAKlC,MAqBR,yBAAK/1D,UAAU,kBACb,yBAAKA,UAAU,aACf,yBAAKA,UAAU,oBAGnB,kBAACymB,EAAA,EAAM/U,OAAP,KACE,yCACE1R,UAAU,OACVyM,QAAS,WACP8nD,GAAqB,KAHzB,YAKY,6BALZ,UASA,4BACExxD,KAAK,SACLoQ,SAAUihD,EACV3nD,QAAO,uBAAE,+EACPmpD,KADO,2CAGT51D,UAAU,+BANZ,eASGo0D,GACC,kBAAC,IAAD,CACE/zD,GAAG,OACHorD,UAAU,SACVt6C,KAAK,KACL2tB,KAAK,SACL4sB,cAAY,YAQtB,kBAACjlC,EAAA,EAAD,CACEtV,KAAK,KACLC,KAAMk7C,GACNh7C,kBAAgB,gCAEhB,kBAACmV,EAAA,EAAMlV,OAAP,KACE,kBAACkV,EAAA,EAAM9U,MAAP,+BACA,kBAAC0rB,EAAA,EAAD,CACE7rB,aAAW,QACX/E,QAAS,SAAC6C,GACR8wD,GAA4B,MAC5BvB,GAAwB,IACxBtS,IAA4B,KAG9B,kBAAC,IAAD,QAGJ,kBAAC9lC,EAAA,EAAMhV,KAAP,KACE,yBAAKzR,UAAU,OACb,yBAAKA,UAAU,aACb,iDACA,kBAAC,KAAD,CACEygE,cAAc,EACdvmD,aAAW,EACX9Z,GAAG,wBACHqoB,WAAY,CAAEyB,gBACd9a,YAAa,iBACb+K,QAAS+kD,GAAkBn7D,KAAI,SAACwF,GAC9B,MAAO,CAAEpK,MAAOoK,EAAEm6C,SAAUlgD,MAAO+F,EAAEwtD,eAEvC1nD,SAAU,SAACC,GACO,OAAGA,QAAH,IAAGA,OAAH,EAAGA,EAAGnQ,MAEpBihE,GADQ,OAAN9wD,EAC0BA,EAEA,UAKjC,UAAAwvD,GAAwBvvD,QAAO,SAAChG,GAAD,MAAkB,aAAXA,EAAE1F,QAAqB,UAA7D,eACG68D,WADH,UAED5B,GAAwBvvD,QACtB,SAAChG,GAAD,OAAOA,EAAE1F,QAAF,OAAWs8D,SAAX,IAAWA,QAAX,EAAWA,GAA0B38D,UAC5C,UAJD,aAED,EAEMk9D,UACJ,oCACE,2BAAO1gE,UAAU,QAAjB,4BACCg/D,GAAkBj7D,KAAI,SAACC,EAAMC,GAAP,OACrB,kBAAC,IAAD,CACEjE,UAAU,eACVgG,KAAI,iBAAY/B,GAChBhF,KAAM+E,EAAK28D,cAAc31C,YACzB3b,SAAU,SAACC,GACT,IAAIvH,EAAO,GAEX,GADAA,EAAO62D,GACHtvD,EAAEM,OAAOknB,QACX/uB,EAAKe,KAAK9E,EAAKolD,UACfyV,GAAwB92D,GAAQ,QAC3B,CACL,IAAI9D,EAAQ8D,EAAK6N,QAAQ5R,EAAKolD,UAC9ByV,GACE92D,EAAKtG,MAAMwC,EAAOA,IAAU,YAQxC,GAEF,6BACA,6BACA,kDACA,8BACEjE,UAAU,oBACVib,KAAK,IACL7a,GAAG,kBACHkzB,OAAQ,SAAChkB,GAAD,OAAQytD,GAAqBztD,EAAEM,OAAOzQ,YAKtD,kBAACsnB,EAAA,EAAM/U,OAAP,KACE,4BACE1R,UAAU,gBACVmT,SAAUurD,GACVjyD,QAAS,SAAC6C,GACRi9C,IAA4B,KAJhC,UASA,4BACEvsD,UAAU,uBACVyM,QAAS,SAAC6C,GAEiB,OAAvBytD,IACuB,KAAvBA,SACuBj3D,IAAvBi3D,IAMFv1D,EAAM,CACJ5D,GAAI4D,EAAI5D,GACR8/C,SAC+B,OAA7Byc,GACI,KACAA,GAAyBhhE,MAC/ByhE,WAAYhC,GACZiC,aAAa,EACb7V,KAAM+R,IAER1oD,MAAM,GAAD,OAAIxP,OAAOyP,QAAX,6BAA+C,CAClDC,OAAQ,OACRC,iBAAiB,EACjBC,QAAS,CACPiL,OAAQ,oCACRhL,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,oBAElBvV,KAAM2B,KAAKE,UAAUuG,KAEpBoN,KAXH,wCAWQ,WAAOC,GAAP,0FACqBA,EAASE,OAD9B,UACED,EADF,SAEEY,EAAcb,EAASJ,QAAQkB,IAAI,mBAGM,IAA7CD,EAAYE,QAAQ,oBALlB,yCAOKf,EAAS1N,OAAOyN,MAAK,SAACrS,GAAD,MAAU,CAACuS,EAAYvS,OAPjD,gCASKsS,EACJ5V,OACA2V,MAAK,SAAC3V,GAAD,MAAU,CAAC6V,EAAY,CAAEe,QAAS,SAXxC,2CAXR,uDAyBGjB,MAAK,SAACzF,GACLwvD,IAAuB,GACL,MAAdxvD,EAAO,GAEe,OAAtBA,EAAO,GAAG0G,cACY/P,IAAtBqJ,EAAO,GAAG0G,SACY,KAAtB1G,EAAO,GAAG0G,SAEVjW,YAAa,YAAauP,EAAO,GAAG0G,SACpC02C,IAA4B,KAE5BA,IAA4B,GAC5B3sD,YACE,UACA,kCAEFsxD,EAA2Bv8B,IAIL,OAAtBxlB,EAAO,GAAG0G,cACY/P,IAAtBqJ,EAAO,GAAG0G,SACY,KAAtB1G,EAAO,GAAG0G,SAEVjW,YAAa,aAAcuP,EAAO,GAAG0G,SACrC02C,IAA4B,IAE5B3sD,YAAa,aAAc,sBAIhCuV,OAAM,SAAC5K,GACNnH,QAAQmH,MAAMA,OAvEhB3K,YAAa,QAAS,sBAR5B,UAoFG8+D,IACC,kBAAC,IAAD,CACEr+D,GAAG,OACHorD,UAAU,SACVt6C,KAAK,KACL2tB,KAAK,SACL4sB,cAAY,YAQtB,kBAACjlC,EAAA,EAAD,CACEtV,KAAK,KACL/Q,GAAG,qBACHgR,KAAM0iD,EACNxiD,kBAAgB,gCAEhB,kBAACmV,EAAA,EAAMlV,OAAP,KACE,kBAACkV,EAAA,EAAM9U,MAAP,CAAavR,GAAG,gCAAhB,mBAGA,kBAACi9B,EAAA,EAAD,CACEr9B,UAAU,+CACVwR,aAAW,QACX/E,QAAS,WACPsnD,GAAoB,KAGtB,kBAAC,IAAD,QAGJ,kBAACttC,EAAA,EAAMhV,KAAP,CAAYzR,UAAU,kBACpB,yBAAKA,UAAU,kBACb,yBAAKA,UAAU,aACb,6CACA,2BACEI,GAAG,eACH4F,KAAK,eACLjD,KAAK,OACL/C,UAAU,eACV+T,gBAAiB,CACfC,QAAQ,QAMlB,kBAACyS,EAAA,EAAM/U,OAAP,KACE,4BACEjF,QAAS,WACPsnD,GAAoB,IAEtB/zD,UAAU,kCAJZ,UAQA,4BACE+C,KAAK,SACLoQ,SAAUihD,EACV3nD,QAAS,YAjvBnB,WACE,IAAIupD,EAAex3D,SAASsR,eAAT,gBAAwC3Q,MAC3D,GACmB,KAAjB62D,QACiBlwD,IAAjBkwD,GACiB,OAAjBA,EAHF,CAQA3B,GAAqB,GAErB,IAAIh/C,EAAY,IAAIC,QACpBD,EAAUE,OAAO,gBAAjB,iBAA4CpX,GAAG8L,OAAOC,WAAWyK,QACjEU,EAAUE,OAAO,eAAgB,oBAEjC,IAMIC,EAAiB,CACnBjB,OAAQ,OACRE,QAASY,EACTjW,KATQ2B,KAAKE,UAAU,CACvBgyD,YAAa,CAACzrD,EAAI5D,IAClBsvD,eAAgB,EAChB+C,gBAAiBD,IAOjBvgD,SAAU,UAGZpB,MAAM,GAAD,OACAxP,OAAOyP,QADP,6CAEHkB,GAECZ,KAJH,wCAIQ,WAAOC,GAAP,0FACqBA,EAASE,OAD9B,UACED,EADF,SAEEY,EAAcb,EAASJ,QAAQkB,IAAI,mBACuB,IAA7CD,EAAYE,QAAQ,oBAHnC,yCAIKf,EAAS1N,OAAOyN,MAAK,SAACrS,GAAD,MAAU,CAACuS,EAAYvS,OAJjD,gCAMKsS,EACJ5V,OACA2V,MAAK,SAAC3V,GAAD,MAAU,CAAC6V,EAAY,CAAEe,QAAS,SARxC,2CAJR,uDAeGjB,MAAK,SAACzF,GACL,GAAkB,MAAdA,EAAO,GAEe,OAAtBA,EAAO,GAAG0G,cACY/P,IAAtBqJ,EAAO,GAAG0G,SACY,KAAtB1G,EAAO,GAAG0G,SAEVjW,YAAa,YAAauP,EAAO,GAAG0G,SACpCq7C,EAA2Bv8B,GAC3Bo/B,GAAoB,KAEpBn0D,YAAa,UAAW,0CACxBsxD,EAA2Bv8B,GAC3Bo/B,GAAoB,QAEjB,CACL,GAC2B,OAAzB5kD,EAAO,GAAG07C,iBACe/kD,IAAzBqJ,EAAO,GAAG07C,YACe,KAAzB17C,EAAO,GAAG07C,WACV,CACA,IAAIC,EAAa37C,EAAO,GAAG07C,WACvBC,GACF1pD,OAAOC,KAAKypD,GAAY5pD,SAAQ,SAASI,GACvCwpD,EAAWxpD,GAAGJ,SAAQ,SAACiP,GACrBvQ,YAAa,aAAcuQ,cAIX,OAAtBhB,EAAO,GAAG0G,cACY/P,IAAtBqJ,EAAO,GAAG0G,SACY,KAAtB1G,EAAO,GAAG0G,QAEVjW,YAAa,aAAcuP,EAAO,GAAG0G,SAErCjW,YAAa,aAAc,eAE7Bm0D,GAAoB,GAEtBM,GAAqB,MAEtBl/C,OAAM,SAAC5K,GACNnH,QAAQC,IAAI,QAASkH,GACrB8pD,GAAqB,WAhFvBz0D,YAAa,QAAS,uBA2uBds2D,IAEFl2D,UAAU,+BANZ,eASGo0D,GACC,kBAAC,IAAD,CACE/zD,GAAG,OACHorD,UAAU,SACVt6C,KAAK,KACL2tB,KAAK,SACL4sB,cAAY,YAOtB,kBAACjlC,EAAA,EAAD,CACEtV,KAAK,KACL/Q,GAAG,qBACHgR,KAAM8iD,GACN5iD,kBAAgB,gCAEhB,kBAACmV,EAAA,EAAMlV,OAAP,KACE,kBAACkV,EAAA,EAAM9U,MAAP,CAAavR,GAAG,gCAAhB,kBAGA,kBAACi9B,EAAA,EAAD,CACEr9B,UAAU,+CACVwR,aAAW,QACX/E,QAAS,WACP0nD,IAAmB,KAGrB,kBAAC,IAAD,QAGJ,kBAAC1tC,EAAA,EAAMhV,KAAP,CAAYzR,UAAU,kBACpB,yBAAKA,UAAU,kBACb,yBAAKA,UAAU,aACb,+BACE,sCAEF,2BACEI,GAAG,yBACH4F,KAAK,yBACLhG,UAAU,eACV+C,KAAK,OACLgR,gBAAiB,CACfC,QAAQ,QAMlB,kBAACyS,EAAA,EAAM/U,OAAP,KACE,4BACEjF,QAAS,WACP0nD,IAAmB,IAErBn0D,UAAU,kCAJZ,UAQA,4BACE+C,KAAK,SACLoQ,SAAUihD,EACV3nD,QAAS,YA3tBnB,SAA4B0pD,GAC1B,IAAI/4C,EAAa5e,SAASsR,eAAT,0BAAkD3Q,MACnE,GACiB,KAAfie,QACetX,IAAfsX,GACe,OAAfA,EAHF,CAQAi3C,GAAqB,GAErB,IAAIh/C,EAAY,IAAIC,QACpBD,EAAUE,OAAO,gBAAjB,iBAA4CpX,GAAG8L,OAAOC,WAAWyK,QACjEU,EAAUE,OAAO,eAAgB,oBAEjC,IAMIC,EAAiB,CACnBjB,OAAQ,OACRE,QAASY,EACTjW,KATQ2B,KAAKE,UAAU,CACvBgyD,YAAa,CAACzrD,EAAI5D,IAClBsvD,eAAgB,EAChB91C,WAAYA,IAOZ3H,SAAU,UAGZpB,MAAM,GAAD,OACAxP,OAAOyP,QADP,6CAEHkB,GAECZ,KAJH,wCAIQ,WAAOC,GAAP,0FACqBA,EAASE,OAD9B,UACED,EADF,SAEEY,EAAcb,EAASJ,QAAQkB,IAAI,mBACuB,IAA7CD,EAAYE,QAAQ,oBAHnC,yCAIKf,EAAS1N,OAAOyN,MAAK,SAACrS,GAAD,MAAU,CAACuS,EAAYvS,OAJjD,gCAMKsS,EACJ5V,OACA2V,MAAK,SAAC3V,GAAD,MAAU,CAAC6V,EAAY,CAAEe,QAAS,SARxC,2CAJR,uDAeGjB,MAAK,SAACzF,GACL,GAAkB,MAAdA,EAAO,GAEe,OAAtBA,EAAO,GAAG0G,cACY/P,IAAtBqJ,EAAO,GAAG0G,SACY,KAAtB1G,EAAO,GAAG0G,SAEVjW,YAAa,YAAauP,EAAO,GAAG0G,SACpCq7C,EAA2Bv8B,GAC3Bw/B,IAAmB,KAEnBv0D,YAAa,UAAW,0CACxBsxD,EAA2Bv8B,GAC3Bw/B,IAAmB,QAEhB,CACL,GAC2B,OAAzBhlD,EAAO,GAAG07C,iBACe/kD,IAAzBqJ,EAAO,GAAG07C,YACe,KAAzB17C,EAAO,GAAG07C,WACV,CACA,IAAIC,EAAa37C,EAAO,GAAG07C,WACvBC,GACF1pD,OAAOC,KAAKypD,GAAY5pD,SAAQ,SAASI,GACvCwpD,EAAWxpD,GAAGJ,SAAQ,SAACiP,GACrBvQ,YAAa,aAAcuQ,cAIX,OAAtBhB,EAAO,GAAG0G,cACY/P,IAAtBqJ,EAAO,GAAG0G,SACY,KAAtB1G,EAAO,GAAG0G,QAEVjW,YAAa,aAAcuP,EAAO,GAAG0G,SAErCjW,YAAa,aAAc,eAE7Bu0D,IAAmB,GAErBE,GAAqB,MAEtBl/C,OAAM,SAAC5K,GACNnH,QAAQC,IAAI,QAASkH,GACrB8pD,GAAqB,WAhFvBz0D,YAAa,QAAS,sBAqtBdw2D,IAEFp2D,UAAU,+BANZ,eASGo0D,GACC,kBAAC,IAAD,CACE/zD,GAAG,OACHorD,UAAU,SACVt6C,KAAK,KACL2tB,KAAK,SACL4sB,cAAY,YAOtB,kBAACjlC,EAAA,EAAD,CACEtV,KAAK,KACLC,KAAMgtD,GACN9sD,kBAAgB,gCAEhB,kBAACmV,EAAA,EAAMlV,OAAP,KACE,kBAACkV,EAAA,EAAM9U,MAAP,qCACgC,KACT,IAApBnK,EAAIs5D,YAAuB,WAAa,SAF3C,oBAIA,kBAACzjC,EAAA,EAAD,CACE7rB,aAAW,QACX/E,QAAS,SAAC6C,GACR+uD,IAAkC,KAGpC,kBAAC,IAAD,QAGJ,kBAAC53C,EAAA,EAAMhV,KAAP,KACE,gCACuB,IAApBjK,EAAIs5D,YAAuB,WAAa,SAD3C,sBAIA,8BACE9gE,UAAU,oBACVib,KAAK,IACL7a,GAAG,qBAGP,kBAACqmB,EAAA,EAAM/U,OAAP,KACE,kBAAC8hB,EAAA,EAAD,CACEG,QAAQ,YACR3zB,UAAU,6BACVyM,QAAS,SAAC6C,GACR+uD,IAAkC,KAJtC,MAUA,kBAAC7qC,EAAA,EAAD,CACEG,QAAQ,YACR3zB,UAAU,iCACVyM,QAAO,wCAAE,WAAO6C,GAAP,kFACDqwD,GAAiB,mBADhB,2CAAF,uDAHT,SAaJ,kBAACl5C,EAAA,EAAD,CACEtV,KAAK,KACL/Q,GAAG,qBACHgR,KAAM4iD,GACN1iD,kBAAgB,gCAEhB,kBAACmV,EAAA,EAAMlV,OAAP,KACE,kBAACkV,EAAA,EAAM9U,MAAP,CAAavR,GAAG,gCAAhB,qBAGA,yBAAKJ,UAAU,WACb,4BACEA,UAAU,6BACVyM,QAAS,WAAO,IAAD,EACbyzD,EAAM,UAAC14D,SAAD,aAAC,EAAK5D,IACZy3D,GAAO,KAJX,aAUF,kBAACh+B,EAAA,EAAD,CACE7rB,aAAW,QACX/E,QAAS,WACPwnD,IAAqB,KAGvB,kBAAC,IAAD,QAGJ,kBAACxtC,EAAA,EAAMhV,KAAP,CAAYzR,UAAU,kBACpB,kBAACga,GAAA,EAAD,CAAKha,UAAU,QACb,kBAACya,GAAA,EAAD,OAEF,yBAAKza,UAAU,kBACb,yBAAKA,UAAU,YACb,8CACA,2BAEEI,GAAG,gBACH4F,KAAK,gBACLjD,KAAK,OACLqB,MAAO,CAAEgS,MAAO,QAChBrC,gBAAiB,CACfC,QAAQ,GAEVhU,UAAU,eACVwhB,aAAY,OAAE89C,SAAF,IAAEA,QAAF,EAAEA,GAAgBlC,WAC9B/tD,SAAU,SAACC,GACTsuD,GAAiBR,WAAa9tD,EAAEM,OAAOzQ,MACvCy+D,GAAiBD,WAAY,MAInC,yBAAK39D,UAAU,YACb,0CAEA,2BAEEI,GAAG,iBACH4F,KAAK,iBACLhG,UAAU,eACV+C,KAAK,OACLqB,MAAO,CAAEgS,MAAO,QAChBrC,gBAAiB,CACfC,QAAQ,GAEVwN,aAAY,OAAE89C,SAAF,IAAEA,QAAF,EAAEA,GAAgBp5B,YAC9B72B,SAAU,SAACC,GACTsuD,GAAiB13B,YAAc52B,EAAEM,OAAOzQ,MACxCy+D,GAAiBD,WAAY,MAInC,yBAAK39D,UAAU,YACb,+CAEA,2BAEEI,GAAG,iBACH4F,KAAK,iBACLhG,UAAU,eACV+C,KAAK,OACLqB,MAAO,CAAEgS,MAAO,QAChBrC,gBAAiB,CACfC,QAAQ,GAEVwN,aAAY,OAAE89C,SAAF,IAAEA,QAAF,EAAEA,GAAgBt0C,YAC9B3b,SAAU,SAACC,GACTsuD,GAAiB5yC,YAAc1b,EAAEM,OAAOzQ,MACxCy+D,GAAiBD,WAAY,MAInC,yBAAK39D,UAAU,iBACb,2CAEA,2BAEEI,GAAG,kBACH4F,KAAK,kBACLhG,UAAU,eACV+C,KAAK,OACLqB,MAAO,CAAEgS,MAAO,QAChBrC,gBAAiB,CACfC,QAAQ,GAEVwN,aAAY,OAAE89C,SAAF,IAAEA,QAAF,EAAEA,GAAgBjC,aAC9BhuD,SAAU,SAACC,GACTsuD,GAAiBP,aAAe/tD,EAAEM,OAAOzQ,MACzCy+D,GAAiBD,WAAY,MAInC,yBAAK39D,UAAU,0BACb,mDAEA,kBAAC,IAAD,CACEiT,aAAY,OAAEqsD,SAAF,IAAEA,QAAF,EAAEA,GAAgBhC,cAC9BjuD,SAAU,SAAC8e,GACTyvC,GAAiBN,cAAgBnvC,EACjCyvC,GAAiBD,WAAY,MAInC,yBAAK39D,UAAU,iBACb,qDAEA,2BAEEI,GAAG,+BACH4F,KAAK,+BACL5B,MAAO,CAAEgS,MAAO,QAChBpW,UAAU,eACV+C,KAAK,OACLgR,gBAAiB,CACfC,QAAQ,GAEVwN,aAAY,OAAE89C,SAAF,IAAEA,QAAF,EAAEA,GAAgB/B,0BAC9BluD,SAAU,SAACC,GACTsuD,GAAiBL,0BAA4BjuD,EAAEM,OAAOzQ,MACtDy+D,GAAiBD,WAAY,MAInC,yBAAK39D,UAAU,iBACb,kDAEA,2BAEEI,GAAG,wBACH4F,KAAK,wBACL5B,MAAO,CAAEgS,MAAO,QAChBpW,UAAU,eACV+C,KAAK,OACLgR,gBAAiB,CACfC,QAAQ,GAEVwN,aAAY,OAAE89C,SAAF,IAAEA,QAAF,EAAEA,GAAgB9B,mBAC9BnuD,SAAU,SAACC,GACTsuD,GAAiBJ,mBAAqBluD,EAAEM,OAAOzQ,MAC/Cy+D,GAAiBD,WAAY,MAInC,yBAAK39D,UAAU,iBACb,uDAEA,2BAEEI,GAAG,gCACHgE,MAAO,CAAEgS,MAAO,QAChBpQ,KAAK,gCACLhG,UAAU,eACV+C,KAAK,OACLgR,gBAAiB,CACfC,QAAQ,GAEVwN,aAAY,OAAE89C,SAAF,IAAEA,QAAF,EAAEA,GAAgB7B,2BAC9BpuD,SAAU,SAACC,GACTsuD,GAAiBH,2BACfnuD,EAAEM,OAAOzQ,MACXy+D,GAAiBD,WAAY,MAInC,yBAAK39D,UAAU,iBACb,oDAEA,2BAEEI,GAAG,yBACH4F,KAAK,yBACL5B,MAAO,CAAEgS,MAAO,QAChBpW,UAAU,eACV+C,KAAK,OACLgR,gBAAiB,CACfC,QAAQ,GAEVwN,aAAY,OAAE89C,SAAF,IAAEA,QAAF,EAAEA,GAAgB5B,oBAC9BruD,SAAU,SAACC,GACTsuD,GAAiBF,oBAAsBpuD,EAAEM,OAAOzQ,MAChDy+D,GAAiBD,WAAY,OAKrC,kBAAC3jD,GAAA,EAAD,KACE,kBAACS,GAAA,EAAD,KACE,kBAAC,KAAD,CACEra,GAAIoH,EAAI5D,GACRhD,KAAK,WACLqzD,qBAAsBA,GACtBt/B,kBAAmBA,EACnBu8B,2BAA4BA,MAIlC,4BACElxD,UAAU,SACVI,GAAG,mCACHqM,QAAS,WACP6zD,OAJJ,eAYHtY,GACC,kBAAC,GAAD,CACExgD,IAAKA,EACLwgD,cAAeA,EACfC,iBAAkBA,EAClBkL,WAAYA,GACZjC,2BAA4BA,EAC5Bv8B,kBAAmBA,IAIvB,kBAACosC,EAAA,EAAD,CACEj1B,aAAcuvB,EACd2F,UAAWf,EACX7/D,GAAIsN,EACJ0R,MAAK,4BAAuB1R,GAC5BuzD,cAAe,kBAACC,EAAA,EAAD,CAAQ9gE,GAAIsN,MAG7B,kBAAC+Y,EAAA,EAAD,CACEtV,KAAK,KACL/Q,GAAG,qBACHgR,KAAMktD,GACNhtD,kBAAgB,gCAEhB,kBAACmV,EAAA,EAAMlV,OAAP,KACE,kBAACkV,EAAA,EAAM9U,MAAP,CAAavR,GAAG,gCAAhB,mBAGA,kBAACi9B,EAAA,EAAD,CACEr9B,UAAU,+CACVwR,aAAW,QACX/E,QAAS,WACP8xD,IAAsB,KAGxB,kBAAC,IAAD,QAGJ,kBAAC93C,EAAA,EAAMhV,KAAP,CAAYzR,UAAU,kBACpB,kBAAColC,GAAA,EAAD,CAAWC,iBAAiB,KAC1B,kBAACD,GAAA,EAAUjlC,OAAX,CACEE,GAAImzB,IACJxzB,UAAU,6DACV2zB,QAAQ,OACR4R,SAAS,KAET,kBAACC,GAAA,EAAD,CAAO7R,QAAQ,WAAW3zB,UAAU,wBAClC,wBAAIA,UAAU,oBAAd,sBAEF,kBAAC4zB,EAAA,EAAD,CACE5zB,UAAWwpB,aACT,mDAEFplB,MAAO,CAAEC,SAAU,GAAIgkB,MAAO,OAAQod,IAAK,UAG/C,kBAACL,GAAA,EAAUM,SAAX,CAAoBH,SAAS,KAC3B,yBAAKvlC,UAAU,kBACb,yBAAKA,UAAU,YACb,8CACA,2BAEEI,GAAG,aACH4F,KAAK,aACLjD,KAAK,OACLqB,MAAO,CAAEgS,MAAO,QAChBrC,gBAAiB,CACfC,QAAQ,GAEVhU,UAAU,eACVwhB,aAAY,OAAE49C,SAAF,IAAEA,QAAF,EAAEA,GAAahC,WAC3B/tD,SAAU,SAACC,GACT6tD,GAAcC,WAAa9tD,EAAEM,OAAOzQ,MACpCg+D,GAAcQ,WAAY,MAIhC,yBAAK39D,UAAU,YACb,0CAEA,2BAEEI,GAAG,cACH4F,KAAK,cACLhG,UAAU,eACV+C,KAAK,OACLqB,MAAO,CAAEgS,MAAO,QAChBrC,gBAAiB,CACfC,QAAQ,GAEVwN,aAAY,OAAE49C,SAAF,IAAEA,QAAF,EAAEA,GAAal5B,YAC3B72B,SAAU,SAACC,GACT6tD,GAAcj3B,YAAc52B,EAAEM,OAAOzQ,MACrCg+D,GAAcQ,WAAY,MAIhC,yBAAK39D,UAAU,YACb,+CAEA,2BAEEI,GAAG,cACH4F,KAAK,cACLhG,UAAU,eACV+C,KAAK,OACLqB,MAAO,CAAEgS,MAAO,QAChBrC,gBAAiB,CACfC,QAAQ,GAEVwN,aAAY,OAAE49C,SAAF,IAAEA,QAAF,EAAEA,GAAap0C,YAC3B3b,SAAU,SAACC,GACT6tD,GAAcnyC,YAAc1b,EAAEM,OAAOzQ,MACrCg+D,GAAcQ,WAAY,MAIhC,yBAAK39D,UAAU,iBACb,2CAEA,2BAEEI,GAAG,eACH4F,KAAK,eACLhG,UAAU,eACV+C,KAAK,OACLqB,MAAO,CAAEgS,MAAO,QAChBrC,gBAAiB,CACfC,QAAQ,GAEVwN,aAAY,OAAE49C,SAAF,IAAEA,QAAF,EAAEA,GAAa/B,aAC3BhuD,SAAU,SAACC,GACT6tD,GAAcE,aAAe/tD,EAAEM,OAAOzQ,MACtCg+D,GAAcQ,WAAY,MAIhC,yBAAK39D,UAAU,0BACb,mDAEA,kBAAC,IAAD,CACEiT,aAAY,OAAEmsD,SAAF,IAAEA,QAAF,EAAEA,GAAa9B,cAC3BjuD,SAAU,SAAC8e,GACTgvC,GAAcG,cAAgBnvC,EAC9BgvC,GAAcQ,WAAY,MAIhC,yBAAK39D,UAAU,iBACb,qDAEA,2BAEEI,GAAG,4BACH4F,KAAK,4BACL5B,MAAO,CAAEgS,MAAO,QAChBpW,UAAU,eACV+C,KAAK,OACLgR,gBAAiB,CACfC,QAAQ,GAEVwN,aAAY,OAAE49C,SAAF,IAAEA,QAAF,EAAEA,GAAa7B,0BAC3BluD,SAAU,SAACC,GACT6tD,GAAcI,0BACZjuD,EAAEM,OAAOzQ,MACXg+D,GAAcQ,WAAY,MAIhC,yBAAK39D,UAAU,iBACb,kDAEA,2BAEEI,GAAG,qBACH4F,KAAK,qBACL5B,MAAO,CAAEgS,MAAO,QAChBpW,UAAU,eACV+C,KAAK,OACLgR,gBAAiB,CACfC,QAAQ,GAEVwN,aAAY,OAAE49C,SAAF,IAAEA,QAAF,EAAEA,GAAa5B,mBAC3BnuD,SAAU,SAACC,GACT6tD,GAAcK,mBAAqBluD,EAAEM,OAAOzQ,MAC5Cg+D,GAAcQ,WAAY,MAIhC,yBAAK39D,UAAU,iBACb,uDAEA,2BAEEI,GAAG,6BACHgE,MAAO,CAAEgS,MAAO,QAChBpQ,KAAK,6BACLhG,UAAU,eACV+C,KAAK,OACLgR,gBAAiB,CACfC,QAAQ,GAEVwN,aAAY,OAAE49C,SAAF,IAAEA,QAAF,EAAEA,GAAa3B,2BAC3BpuD,SAAU,SAACC,GACT6tD,GAAcM,2BACZnuD,EAAEM,OAAOzQ,MACXg+D,GAAcQ,WAAY,MAIhC,yBAAK39D,UAAU,iBACb,oDAEA,2BAEEI,GAAG,sBACH4F,KAAK,sBACL5B,MAAO,CAAEgS,MAAO,QAChBpW,UAAU,eACV+C,KAAK,OACLgR,gBAAiB,CACfC,QAAQ,GAEVwN,aAAY,OAAE49C,SAAF,IAAEA,QAAF,EAAEA,GAAa1B,oBAC3BruD,SAAU,SAACC,GACT6tD,GAAcO,oBAAsBpuD,EAAEM,OAAOzQ,MAC7Cg+D,GAAcQ,WAAY,QAOpC,kBAACv4B,GAAA,EAAUjlC,OAAX,CACEE,GAAImzB,IACJxzB,UAAU,6DACV2zB,QAAQ,OACR4R,SAAS,KAET,kBAACC,GAAA,EAAD,CAAO7R,QAAQ,WAAW3zB,UAAU,wBAClC,wBAAIA,UAAU,oBAAd,uBAEF,kBAAC4zB,EAAA,EAAD,CACE5zB,UAAWwpB,aACT,mDAEFplB,MAAO,CAAEC,SAAU,GAAIgkB,MAAO,OAAQod,IAAK,UAG/C,kBAACL,GAAA,EAAUM,SAAX,CAAoBH,SAAS,KAC3B,yBAAKvlC,UAAU,kBACb,yBAAKA,UAAU,YACb,8CACA,2BAEEI,GAAG,gBACH4F,KAAK,gBACLjD,KAAK,OACLqB,MAAO,CAAEgS,MAAO,QAChBrC,gBAAiB,CACfC,QAAQ,GAEVhU,UAAU,eACVwhB,aAAY,OAAE89C,SAAF,IAAEA,QAAF,EAAEA,GAAgBlC,WAC9B/tD,SAAU,SAACC,GACTsuD,GAAiBR,WAAa9tD,EAAEM,OAAOzQ,MACvCy+D,GAAiBD,WAAY,MAInC,yBAAK39D,UAAU,YACb,0CAEA,2BAEEI,GAAG,iBACH4F,KAAK,iBACLhG,UAAU,eACV+C,KAAK,OACLqB,MAAO,CAAEgS,MAAO,QAChBrC,gBAAiB,CACfC,QAAQ,GAEVwN,aAAY,OAAE89C,SAAF,IAAEA,QAAF,EAAEA,GAAgBp5B,YAC9B72B,SAAU,SAACC,GACTsuD,GAAiB13B,YAAc52B,EAAEM,OAAOzQ,MACxCy+D,GAAiBD,WAAY,MAInC,yBAAK39D,UAAU,YACb,+CAEA,2BAEEI,GAAG,iBACH4F,KAAK,iBACLhG,UAAU,eACV+C,KAAK,OACLqB,MAAO,CAAEgS,MAAO,QAChBrC,gBAAiB,CACfC,QAAQ,GAEVwN,aAAY,OAAE89C,SAAF,IAAEA,QAAF,EAAEA,GAAgBt0C,YAC9B3b,SAAU,SAACC,GACTsuD,GAAiB5yC,YAAc1b,EAAEM,OAAOzQ,MACxCy+D,GAAiBD,WAAY,MAInC,yBAAK39D,UAAU,iBACb,2CAEA,2BAEEI,GAAG,kBACH4F,KAAK,kBACLhG,UAAU,eACV+C,KAAK,OACLqB,MAAO,CAAEgS,MAAO,QAChBrC,gBAAiB,CACfC,QAAQ,GAEVwN,aAAY,OAAE89C,SAAF,IAAEA,QAAF,EAAEA,GAAgBjC,aAC9BhuD,SAAU,SAACC,GACTsuD,GAAiBP,aAAe/tD,EAAEM,OAAOzQ,MACzCy+D,GAAiBD,WAAY,MAInC,yBAAK39D,UAAU,0BACb,mDAEA,kBAAC,IAAD,CACEiT,aAAY,OAAEqsD,SAAF,IAAEA,QAAF,EAAEA,GAAgBhC,cAC9BjuD,SAAU,SAAC8e,GACTyvC,GAAiBN,cAAgBnvC,EACjCyvC,GAAiBD,WAAY,MAInC,yBAAK39D,UAAU,iBACb,qDAEA,2BAEEI,GAAG,+BACH4F,KAAK,+BACL5B,MAAO,CAAEgS,MAAO,QAChBpW,UAAU,eACV+C,KAAK,OACLgR,gBAAiB,CACfC,QAAQ,GAEVwN,aAAY,OAAE89C,SAAF,IAAEA,QAAF,EAAEA,GAAgB/B,0BAC9BluD,SAAU,SAACC,GACTsuD,GAAiBL,0BACfjuD,EAAEM,OAAOzQ,MACXy+D,GAAiBD,WAAY,MAInC,yBAAK39D,UAAU,iBACb,kDAEA,2BAEEI,GAAG,wBACH4F,KAAK,wBACL5B,MAAO,CAAEgS,MAAO,QAChBpW,UAAU,eACV+C,KAAK,OACLgR,gBAAiB,CACfC,QAAQ,GAEVwN,aAAY,OAAE89C,SAAF,IAAEA,QAAF,EAAEA,GAAgB9B,mBAC9BnuD,SAAU,SAACC,GACTsuD,GAAiBJ,mBAAqBluD,EAAEM,OAAOzQ,MAC/Cy+D,GAAiBD,WAAY,MAInC,yBAAK39D,UAAU,iBACb,uDAEA,2BAEEI,GAAG,gCACHgE,MAAO,CAAEgS,MAAO,QAChBpQ,KAAK,gCACLhG,UAAU,eACV+C,KAAK,OACLgR,gBAAiB,CACfC,QAAQ,GAEVwN,aAAY,OAAE89C,SAAF,IAAEA,QAAF,EAAEA,GAAgB7B,2BAC9BpuD,SAAU,SAACC,GACTsuD,GAAiBH,2BACfnuD,EAAEM,OAAOzQ,MACXy+D,GAAiBD,WAAY,MAInC,yBAAK39D,UAAU,iBACb,oDAEA,2BAEEI,GAAG,yBACH4F,KAAK,yBACL5B,MAAO,CAAEgS,MAAO,QAChBpW,UAAU,eACV+C,KAAK,OACLgR,gBAAiB,CACfC,QAAQ,GAEVwN,aAAY,OAAE89C,SAAF,IAAEA,QAAF,EAAEA,GAAgB5B,oBAC9BruD,SAAU,SAACC,GACTsuD,GAAiBF,oBAAsBpuD,EAAEM,OAAOzQ,MAChDy+D,GAAiBD,WAAY,QAOvC,kBAACv4B,GAAA,EAAUjlC,OAAX,CACEE,GAAImzB,IACJxzB,UAAU,6DACV2zB,QAAQ,OACR4R,SAAS,KAET,kBAACC,GAAA,EAAD,CAAO7R,QAAQ,WAAW3zB,UAAU,wBAClC,wBAAIA,UAAU,oBAAd,eAEF,kBAAC4zB,EAAA,EAAD,CACE5zB,UAAWwpB,aACT,mDAEFplB,MAAO,CAAEC,SAAU,GAAIgkB,MAAO,OAAQod,IAAK,UAG/C,kBAACL,GAAA,EAAUM,SAAX,CAAoBH,SAAS,KACE,OAA5Bk6B,GACC,kBAAC,IAAD,CAAkB1yD,UAAW0yD,IAA2B,KAExD,yBAAKz/D,UAAS,yBACZ,yBAAKA,UAAU,mCACb,yBACEA,UAAU,YACVoE,MAAO,CAAEsM,UAAW,WAFtB,yBAYZ,kBAAC+V,EAAA,EAAM/U,OAAP,KACE,4BACEjF,QAAS,WACP8xD,IAAsB,IAExBv+D,UAAU,kCAJZ,UAQA,4BACE+C,KAAK,SACLoQ,SAAUihD,EACV3nD,QAAS,WACP6zD,MAEFtgE,UAAU,+BANZ,eASGo0D,GACC,kBAAC,IAAD,CACE/zD,GAAG,OACHorD,UAAU,SACVt6C,KAAK,KACL2tB,KAAK,SACL4sB,cAAY,YAMtB,kBAACjlC,EAAA,EAAD,CACEtV,KAAK,KACLC,KAAM8sD,EACN7sD,OAAQ,WACN8sD,GAAgB,IAElB7sD,kBAAgB,gCAEhB,kBAACmV,EAAA,EAAMlV,OAAP,KACE,yBAAKvR,UAAU,OAAf,eACc,oCAAUwH,EAAI5D,KAE5B,kBAACy5B,EAAA,EAAD,CACE7rB,aAAW,QACX/E,QAAS,WACP0xD,GAAgB,KAGlB,kBAAC,IAAD,QAIJ,kBAAC13C,EAAA,EAAMhV,KAAP,KACE,yBAAKzR,UAAU,OACZg+D,EAASj6D,KAAI,SAACwF,GACb,OACE,oCACE,yBAAKvJ,UAAU,sBACb,0BAAMA,UAAU,uCACd,uBAAGA,UAAU,6CAEf,wBAAIA,UAAU,uEACXuJ,WASjB,kBAACkxC,GAAA,EAAD,CAAUz6C,UAAU,sCAAsCE,YAAU,GAClE,kBAACu6C,GAAA,EAASt6C,OAAV,CACEH,UAAU,0DACV2zB,QAAQ,cACRvzB,GAAG,sBACHC,GAAI8gE,MAEJ,uBAAGnhE,UAAU,8BAEf,kBAACy6C,GAAA,EAASj6C,KAAV,CAAeR,UAAU,mEACvB,wBAAIA,UAAU,wBACZ,wBAAIA,UAAU,aACZ,uBACE0I,KAAK,gBACL1I,UAAU,YACVyM,QAAS,SAAC6C,GACRA,EAAEqmD,iBACFoI,GAAQ,KAGV,0BAAM/9D,UAAU,aACd,uBAAGA,UAAU,kCAEf,0BAAMA,UAAU,aAAhB,YAGJ,wBAAIA,UAAU,aACZ,uBACE0I,KAAK,gBACL1I,UAAU,YACVyM,QAAS,SAAC6C,GACRzK,OAAOu8D,wBAA0B,sBACjC9xD,EAAEqmD,iBACFoF,GAAqB,KAGvB,0BAAM/6D,UAAU,aACd,uBAAGA,UAAU,6BAEf,0BAAMA,UAAU,aAAhB,UAG4B,eAA/ByzD,EAAcyE,cACb,wBAAIl4D,UAAU,aACZ,uBACE0I,KAAK,gBACL1I,UAAU,YACVyM,QAAO,wCAAE,WAAO6C,GAAP,yEACPA,EAAEqmD,iBADK,SAEDthD,MACJxP,OAAOyP,QAAP,0CACqC9M,EAAI5D,IACzC,CACE2Q,OAAQ,MACRC,iBAAiB,EACjBC,QAAS,CACPiL,OAAQ,oCACRhL,cAAc,UAAD,OACXvW,GAAG8L,OAAOC,WAAWyK,OAEvB,eAAgB,SAChB,eAAgB,sBAInBC,KAhBG,wCAgBE,WAAOC,GAAP,0FACqBA,EAASE,OAD9B,cACED,EADF,gBAEeD,EAAS1N,OAFxB,cAEE5E,EAFF,yBAGGyS,QAAQC,IAAI,CAACH,EAAYvS,KAH5B,2CAhBF,uDAqBHqS,KArBG,wCAqBE,WAAOM,GAAP,wEACE3S,EAAO2S,EAAI,GACjB+oD,GAAgB,OAAJ17D,QAAI,IAAJA,OAAA,EAAAA,EAAM8+D,SAAU,IAC5BlD,GAAgB,GAHZ,2CArBF,uDA0BHhpD,OAAM,SAAC5K,GACNnH,QAAQmH,MAAMA,MA7BX,2CAAF,uDAiCP,0BAAMvK,UAAU,aACd,uBAAGA,UAAU,4BAEf,0BAAMA,UAAU,aAAhB,gBAIsB,KAA3ByzD,EAAcT,UACY,IAA3BS,EAAcT,UACa,IAA3BS,EAAcT,SACZ,wBAAIhzD,UAAU,aACZ,uBACE0I,KAAM,kBAAM,GACZ1I,UAAU,YACVyM,QAAO,wCAAE,WAAO6C,GAAP,uFACP6tD,GAAgB,CACd3U,WAAYhhD,EAAI5D,GAChBw5D,WAAY,GACZl3B,YAAa,GACblb,YAAa,GACbqyC,aAAc71D,EAAI5D,GAClB05D,cAAe,IAAI37D,KACnB47D,0BAA2B,GAC3BC,mBAAoB,GACpBC,2BAA4B,GAC5BC,oBAAqB,GACrB98D,KAAM,EACN+8D,WAAW,GAEbC,GAAmB,CACjBpV,WAAYhhD,EAAI5D,GAChBw5D,WAAY,GACZl3B,YAAa,GACblb,YAAa,GACbqyC,aAAc71D,EAAI5D,GAClB05D,cAAe,IAAI37D,KACnB47D,0BAA2B,GAC3BC,mBAAoB,GACpBC,2BAA4B,GAC5BC,oBAAqB,GACrB98D,KAAM,EACN+8D,WAAW,GA3BN,SA6BiBvoD,YAAwB5N,EAAI5D,IA7B7C,UA6BD09D,EA7BC,OA8BPl+D,QAAQC,IAAI,YAAai+D,GA9BlB,SAgCa,OAAdA,QAAoCx7D,IAAdw7D,EAhCrB,wBAiCHl+D,QAAQC,IAAI,aAAci+D,GAjCvB,UAmCqBltD,YAAW,UAAC5M,SAAD,aAAC,EAAK5D,IAnCtC,QAmCG29D,EAnCH,OAoCwB,QAAd,OAATD,QAAS,IAATA,OAAA,EAAAA,EAAWE,UACbnC,GAAc,OAACiC,QAAD,IAACA,OAAD,EAACA,EAAWE,SAC1BrE,GAAa,OAAGmE,QAAH,IAAGA,OAAH,EAAGA,EAAWE,UAEvBC,EAAY,CACdjZ,WAAY+Y,EAAU39D,GACtBw5D,WAAY,GACZl3B,YAAa,GACblb,YAAW,OAAEu2C,QAAF,IAAEA,OAAF,EAAEA,EAAW7K,OACxB2G,aAAckE,EAAU39D,GACxB05D,cAAe,IAAI37D,KACnB47D,0BAA2B,GAC3BC,mBAAoB,GACpBC,2BAA4B8D,EAAUpkD,UACtCugD,oBAAqB6D,EAAUnkD,WAC/Bxc,KAAM,EACN+8D,WAAW,GAEb0B,GAAeoC,GACftE,GAAgBsE,GAEU,QAAf,OAATH,QAAS,IAATA,OAAA,EAAAA,EAAWI,WACbnC,GAAiB,OAAC+B,QAAD,IAACA,OAAD,EAACA,EAAWI,UAC7B9D,GAAgB,OAAG0D,QAAH,IAAGA,OAAH,EAAGA,EAAWI,WAE1BC,EAAe,CACjBnZ,WAAY+Y,EAAU39D,GACtBw5D,WAAY,GACZl3B,YAAa,GACblb,YAAW,OAAEu2C,QAAF,IAAEA,OAAF,EAAEA,EAAW7K,OACxB2G,aAAckE,EAAU39D,GACxB05D,cAAe,IAAI37D,KACnB47D,0BAA2B,GAC3BC,mBAAoB,GACpBC,2BAA4B8D,EAAUpkD,UACtCugD,oBAAqB6D,EAAUnkD,WAC/Bxc,KAAM,EACN+8D,WAAW,GAEb4B,GAAkBoC,GAClB/D,GAAmB+D,GAErBjC,IACW,OAAT4B,QAAS,IAATA,OAAA,EAAAA,EAAWl0D,aAAc,IAE3BmxD,IAAsB,GAjFnB,0DAoFLn7D,QAAQC,IAAR,MApFK,0DAAF,uDAwFP,0BAAMrD,UAAU,aACd,uBAAGA,UAAU,sCAEf,0BAAMA,UAAU,aAAhB,kBAIJ,GAG0B,KAA3ByzD,EAAcT,SACb,oCACyC,OAAtCqC,EAAU5B,EAAcT,WACe,OAAtC8K,EAAUrK,EAAcT,WACtB,yBAAKhzD,UAAU,qBAEoB,OAAtCq1D,EAAU5B,EAAcT,WACvB,wBAAIhzD,UAAU,aACZ,uBACE0I,KAAM,kBAAM,GACZ1I,UAAU,YACVyM,QAAO,wCAAE,WAAO6C,GAAP,yFAEO,QADVrL,EAAQoxD,EAAU5B,EAAcT,WAD7B,oBAGkB,IAAnB/uD,EAAMy/C,SAHL,uBAIHqQ,GAAoB,GAJjB,SAKqB3/C,YAAW,UAAC5M,SAAD,aAAC,EAAK5D,IALtC,cAKG29D,EALH,OAMHr7D,YAAW,WACT1H,SAASsR,eAAe,gBAAgB3Q,MAAxC,OACEoiE,QADF,IACEA,OADF,EACEA,EAAWpkD,YACZ,IATA,6BAYkB,IAAnBlZ,EAAMy/C,SAZL,wBAcHyQ,IAAmB,GAdhB,UAeqB//C,YAAW,UAAC5M,SAAD,aAAC,EAAK5D,IAftC,eAeG29D,EAfH,OAgBHr7D,YAAW,WACT1H,SAASsR,eACP,0BACA3Q,MAFF,OAEUoiE,QAFV,IAEUA,OAFV,EAEUA,EAAWnkD,aACpB,IApBA,8BAuBkB,MAAnBnZ,EAAMy/C,SAvBL,kCAwBGrvC,MACJ,UAAGxP,OAAOyP,QAAV,oDACE9M,SADF,aACE,EAAK5D,IACP,CACE2Q,OAAQ,MACRC,iBAAiB,EACjBC,QAAS,CACPiL,OAAQ,oCACRhL,cAAc,UAAD,OACXvW,GAAG8L,OAAOC,WAAWyK,OAEvB,eAAgB,SAChB,eAAgB,sBAInBC,KAhBG,wCAgBE,WAAOC,GAAP,0FACqBA,EAASE,OAD9B,cACED,EADF,gBAEeD,EAAS1N,OAFxB,cAEE5E,EAFF,yBAGGyS,QAAQC,IAAI,CAACH,EAAYvS,KAH5B,2CAhBF,uDAqBHqS,MAAK,SAACM,GACL,IAAM3L,EAAI2L,EAAI,GAGd,GAFA9R,QAAQC,IAAI,cAAekG,EAAEq4D,WAC7Bx+D,QAAQC,IAAI,cAAekG,EAAEs4D,WACzBt4D,EAAEq4D,WAAar4D,EAAEs4D,UACnBzT,KAAKC,KAAK,CACRjvC,MAAO,gBACPngB,KAAK,kBAAD,OAAoBuI,EAAI5D,GAAxB,qFACJ0qD,KAAM,UACNC,kBAAkB,EAClBC,mBAAoB,UACpBC,kBAAmB,OACnBC,kBAAmB,SAClB95C,MAAK,SAACzF,GACP,OAAIA,EAAOw/C,iBACT1G,GAAiB,QAGjB,SAGC,KAAK1+C,EAAEq4D,YAAcr4D,EAAEs4D,UAE5B,YADA5Z,GAAiB,GAEZ,GAAI1+C,EAAEq4D,YAAcr4D,EAAEs4D,UAK3B,YAJAjiE,YACE,aADU,yEAEwD4H,EAAI5D,GAF5D,OAKP,IAAK2F,EAAEq4D,WAAar4D,EAAEs4D,UAE3B,YADA5Z,GAAiB,OAIpB9yC,OAAM,SAAC5K,GACNnH,QAAQmH,MAAMA,MAjFf,6CAsFkB,IAAnBtG,EAAMy/C,SAtFL,wBAuFHyZ,GAAgB,CACd3U,WAAYhhD,EAAI5D,GAChBw5D,WAAY,GACZl3B,YAAa,GACblb,YAAa,GACbqyC,aAAc71D,EAAI5D,GAClB05D,cAAe,IAAI37D,KACnB47D,0BAA2B,GAC3BC,mBAAoB,GACpBC,2BAA4B,GAC5BC,oBAAqB,GACrB98D,KAAM,EACN+8D,WAAW,GAEbC,GAAmB,CACjBpV,WAAYhhD,EAAI5D,GAChBw5D,WAAY,GACZl3B,YAAa,GACblb,YAAa,GACbqyC,aAAc71D,EAAI5D,GAClB05D,cAAe,IAAI37D,KACnB47D,0BAA2B,GAC3BC,mBAAoB,GACpBC,2BAA4B,GAC5BC,oBAAqB,GACrB98D,KAAM,EACN+8D,WAAW,GAjHV,UAmHmBvoD,YACpB5N,EAAI5D,IApHH,eAuHa,QAJZ09D,EAnHD,cAwHax7D,IAAdw7D,IAE2B,QAAd,OAATA,QAAS,IAATA,OAAA,EAAAA,EAAWE,UACbnC,GAAc,OAACiC,QAAD,IAACA,OAAD,EAACA,EAAWE,SAC1BrE,GAAa,OAAGmE,QAAH,IAAGA,OAAH,EAAGA,EAAWE,SAEC,QAAf,OAATF,QAAS,IAATA,OAAA,EAAAA,EAAWI,WACbJ,EAAUI,SAAS9gE,KAAO,EAC1B0gE,EAAUI,SAAS/D,WAAY,EAE/B0B,GAAc,OAACiC,QAAD,IAACA,OAAD,EAACA,EAAWI,UAC1BvE,GAAa,OAAGmE,QAAH,IAAGA,OAAH,EAAGA,EAAWI,UAE3BrC,GAAelC,IAIS,QAAf,OAATmE,QAAS,IAATA,OAAA,EAAAA,EAAWI,WACbnC,GAAiB,OAAC+B,QAAD,IAACA,OAAD,EAACA,EAAWI,UAC7B9D,GAAgB,OAAG0D,QAAH,IAAGA,OAAH,EAAGA,EAAWI,UAEH,QAAd,OAATJ,QAAS,IAATA,OAAA,EAAAA,EAAWE,UACbF,EAAUE,QAAQ5gE,KAAO,EACzB0gE,EAAUE,QAAQ7D,WAAY,GAE9B4B,GAAkB3B,KAIxB3J,IAAqB,GArJlB,8BAwJkB,IAAnBhwD,EAAMy/C,SAxJL,kCAyJGoT,KAzJH,eA0JHhC,GAA4B,CAC1B7B,YAAa,CAACzrD,EAAI5D,IAClBwlD,SAAQ,UAAE5hD,SAAF,aAAE,EAAKquB,UACf6+B,aAAc,KACdxB,eAAgB,EAChByB,mBAAoB,GACpBC,gBAAiB,KAEnBL,GAAqB,GAlKlB,2BAqKLpB,GAAW3rD,EAAI5D,GAAIK,EAAMy/C,UArKpB,4CAAF,uDAyKP,0BAAM1jD,UAAU,aACd,uBAAGA,UAAU,wCAEf,0BAAMA,UAAU,aAAhB,iBAIiC,OAAtC89D,EAAUrK,EAAcT,YACG,IAA5BS,EAAcT,SACZ,wBAAIhzD,UAAU,aACZ,uBACE0I,KAAM,kBAAM,GACZ1I,UAAU,YACVyM,QAAS,SAAC6C,GACRA,EAAEqmD,iBA7tED,qCA+tEDmM,CAAwBt6D,EAAI5D,IAC5B2oD,IAA4B,KAG9B,0BAAMvsD,UAAU,aACd,uBAAGA,UAAU,uCAEf,0BAAMA,UAAU,aAAhB,iBAIJ,IAIJ,GAE2B,MAAf,OAAbyzD,QAAa,IAAbA,OAAA,EAAAA,EAAeT,WACd,yBAAKhzD,UAAU,qBAEjB,wBAAIA,UAAU,aACZ,uBACE0I,KAAM,kBAAM,GACZ1I,UAAU,YACVyM,QAAS,SAAC6C,GACR+uD,IAAkC,GAClC1wD,GAAWnG,GACX8H,EAAEqmD,mBAGJ,0BAAM31D,UAAU,aACd,uBAAGA,UAAU,qCAEf,0BAAMA,UAAU,cACO,IAApBwH,EAAIs5D,YAAuB,WAAa,eAOrD,kBAACpG,GAAD,CAAWlzD,IAAKA,EAAK4zD,aAAY,OAAEr7D,QAAF,IAAEA,OAAF,EAAEA,EAAOq7D,gBAKhD,OAtzEAtnD,qBAAU,WACR,GAAsB,OAAlB4/C,EAAwB,CAAC,IAAD,EAOV,EANZqO,EAAehhE,KAAKC,MACtBD,KAAKE,UAAL,OAAeyyD,QAAf,IAAeA,OAAf,EAAeA,EAAe4B,iBAE5BvtD,EAAI,OAAG2rD,QAAH,IAAGA,GAAH,UAAGA,EAAe4B,sBAAlB,aAAG,EAA+BvxD,KAAI,SAACwF,GAAD,OAAO/H,OAAO+H,EAAEm6C,aAExDz/C,EAAK,OAAG8D,QAAH,IAAGA,OAAH,EAAGA,EAAM6N,QAAQpU,OAAOiyD,EAAcT,WACjD,GAAI/uD,GAAS,EACX89D,EAAa98B,OAAOhhC,EAApB,OAA2ByvD,QAA3B,IAA2BA,GAA3B,UAA2BA,EAAe4B,sBAA1C,aAA2B,EAA+BzsD,QAC1Ds2D,GAAqB4C,MAGxB,CAACv6D,EAAI5D,KACR0e,KAAM3M,IAAI,cAAcf,MAAK,SAACM,GAC5B,IAAI8sD,OACal8D,IAAboP,EAAI3S,OACNy/D,EAAc,CACZC,WAAY/sD,EAAI3S,KAAK0/D,YAEvBzC,GAAcwC,EAAYC,gBAG9BnuD,qBAAU,WAAO,IAAD,EACdjP,OAAO+pD,UAAP,UAAmBpnD,SAAnB,aAAmB,EAAKonD,UACxB/pD,OAAOq9D,qBAAsB,IAC5B,WAAC16D,SAAD,aAAC,EAAKonD,YA6xEP,oCACE,kBAACnoC,EAAA,EAAD,CACEtV,KAAK,KACLC,KAAM6pD,EACN5pD,OAAQ,WACN0sD,GAAQ,IAEVzsD,kBAAgB,gCAEhB,kBAAC6wD,GAAD,CAAgBv+D,GAAE,UAAE4D,SAAF,aAAE,EAAKpH,GAAI29D,QAASA,EAAQj/C,OAAQsjD,OAAO,KAE9D5D,IAAe,kBAACqB,GAAD,MAChB,kBAACp5C,EAAA,EAAD,CACEtV,KAAK,KACLC,KAAM0pD,EACNzpD,OAAQ,WACN0pD,GAAqB,KAGvB,kBAACC,EAAA,EAAD,CACEC,KAAMF,EACNG,eAAgB1zD,EAAIpH,GACpBgiE,OAAO,KAGX,kBAACpC,GAAD,QAKC,SAASmC,GAAT,GAA8D,IAAD,seAAnCv+D,GAAmC,EAAnCA,GAAIm6D,GAA+B,EAA/BA,QAASsE,GAAsB,EAAtBA,YAAaD,GAAS,EAATA,MACnD7hE,GAAU+W,KAChB,GAA4BtK,qBAA5B,qBAAOs1D,GAAP,MAAeC,GAAf,MACA,GAAsCv1D,qBAAtC,qBAAOw1D,GAAP,MAAoBC,GAApB,MACA,GAA8Bz1D,mBAAS,IAAvC,qBAAO0tB,GAAP,MAAcgoC,GAAd,MACA,GAA0C11D,qBAA1C,qBAAOw9C,GAAP,MAAoBmY,GAApB,MACA,GAAkD31D,mBAAS,IAA3D,qBAAO41D,GAAP,MAA0BC,GAA1B,MACA,GAAkE71D,mBAChE,IADF,qBAAO81D,GAAP,MAAkCC,GAAlC,MAGA,GAA8D/1D,mBAAS,MAAvE,qBAAOg2D,GAAP,MAAgCC,GAAhC,MACA,GAAoDj2D,mBAAS,IAA7D,qBAAOk2D,GAAP,MAA2BC,GAA3B,MA4EMC,GAAantD,cAAW,SAACC,GAAD,MAAY,CACxCC,KAAM,CACJktD,WAAY,EACZt0D,MAAOmH,EAAM4R,QAAQ7oB,KAAK49B,UAC1BzlB,WAAYlB,EAAMK,QAAQ,UAG9B,GAAwBmU,IAAM1d,SAAS,GAAvC,qBAAOgoB,GAAP,MAAasuC,GAAb,MACA,GAAsC54C,IAAM1d,SAAS,IAArD,qBAAO2wB,GAAP,MAAoB4lC,GAApB,MAsEA,OAA4Bv2D,mBAAS,MAArC,qBAAOw2D,GAAP,MAAeC,GAAf,MACA3vD,qBAAU,WACR4vD,OACC,IACH,OAAwC12D,oBAAS,GAAjD,qBAAO22D,GAAP,MAAqBC,GAArB,MACA,GAA4C52D,mBAAS,IAArD,qBAAO62D,GAAP,MAAuBC,GAAvB,MACA,GAA8C92D,mBAAS,GAAvD,qBAAO+2D,GAAP,MAAwBC,GAAxB,MAgCA,SAASC,GAAYpgE,GACnB,IAAK,IAAD,EACF,OAAO,UAAA6B,KAAE,6BAAD,OAA8B7B,EAA9B,cAAD,eAA0CgF,QAAS,EAC1D,MAAO0B,GACP,OAAO,GAlCXuJ,qBAAU,WACR,IAAK,IAAD,IACIgZ,EAAM,IACF,OAANw1C,SAAM,IAANA,IAAA,UAAAA,GAAQzY,gBAAR,mBAAkBM,eAAlB,eAA2BthD,QAAS,IACtCy5D,GAAOzY,SAASM,QAAQpmD,KAAI,SAAC44D,GAAW,IAAD,IACrCA,EAAMtT,YACJ,UAAAsT,EAAMgE,qBAAN,eAAqB31C,aACrB,OADA,UAEA2xC,EAAMgE,qBAFN,aAEA,EAAqBz9C,MACvBy5C,EAAM7lB,YACJ,uBACE92C,UAAU,yCACVyM,QAAS,WACPu3D,GAAmBrH,EAAM/4D,IACzBkgE,GAAkBnH,EAAM34B,UAAY,IACpC4/B,IAAgB,KALpB,QAWF92C,EAAIhkB,KAAK6zD,MAEX8F,GAAe31C,IAEjB,MAAOjtB,GACPuD,QAAQC,IAAIxD,MAEb,QAACyiE,SAAD,IAACA,QAAD,EAACA,GAAQzY,WASZ,OAAoC78C,oBAAS,GAA7C,qBAEA,IAFA,YAE0CA,mBAAS,KAAnD,qBAAOk3D,GAAP,MAAsBC,GAAtB,MACA,GAA8Cn3D,mBAAS,IAAvD,qBAAOo3D,GAAP,MAAwBC,GAAxB,MACA,GAAwCr3D,mBAAS,IAAjD,qBAAOs3D,GAAP,MAAqBC,GAArB,MACA,GAAyCv3D,oBAAS,GAAlD,qBAAOw3D,GAAP,MAAqBC,GAArB,MACA,GAAkCz3D,oBAAS,GAA3C,qBAAO03D,GAAP,MAAoBC,GAApB,MACA,GAA4B33D,mBAAS,MAArC,qBAAO43D,GAAP,MAAeC,GAAf,MAzNkE,SA2NnDC,KA3NmD,+EA2NlE,4FACQxwB,EAAW,CACfp2B,aAAY,OAAEomD,SAAF,IAAEA,MAAgB,EAC9BnmD,cAAa,OAAE+lD,SAAF,IAAEA,MAAiB,EAChC9lD,gBAAe,OAAEgmD,SAAF,IAAEA,MAAmB,GAJxC,kBAMS/vD,MAAMxP,OAAOyP,QAAU,mBAAjB,OAAqCswD,SAArC,IAAqCA,QAArC,EAAqCA,GAAQhhE,IAAI,CAC5D2Q,OAAQ,MACRC,iBAAiB,EACjBC,QAAS,CACPiL,OAAQ,oCACRhL,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,oBAElBvV,KAAM2B,KAAKE,UAAUqzC,KAEpB1/B,KAXI,wCAWC,WAAOC,GAAP,iFACEC,EAAaD,EAASE,OAC5BlQ,OAAOkgE,eAAiBjwD,EAFpB,SAGeD,EAAS1N,OAHxB,cAGE5E,EAHF,yBAIGyS,QAAQC,IAAI,CAACH,EAAYvS,KAJ5B,2CAXD,uDAiBJqS,MAAK,SAACM,GACL,OAAOA,EAAI,MAEZC,OAAM,SAAC5K,QA1BZ,4CA3NkE,sBAuPlE,OAA4CyC,oBAAS,GAArD,qBAAOg4D,GAAP,MAAuBC,GAAvB,MACA,GAAgDj4D,oBAAS,GAAzD,qBAAOk4D,GAAP,MAAyBC,GAAzB,MAKA,GAA4Bn4D,mBAAS,IAArC,qBAAOjK,GAAP,MAAaqiE,GAAb,MACA,GAAgCp4D,mBAAS,IAAzC,qBAAOmF,GAAP,MAAiBkzD,GAAjB,MACA,OACE,oCACE,kBAAC5+C,EAAA,EAAMlV,OAAP,CAAcmV,aAAW,GACvB,yBAAK1mB,UAAU,aACb,yBAAKA,UAAU,YACZ2G,GAAQ,eAAD,OAAiB27D,SAAjB,IAAiBA,IAAjB,UAAiBA,GAAQzY,gBAAzB,aAAiB,EAAkByb,UAE7C,yBAAKtlE,UAAU,YACZ2G,GACC,mBACM,OAAN27D,SAAM,IAANA,IAAA,UAAAA,GAAQzY,gBAAR,eAAkBjmD,MACT,OAAN0+D,SAAM,IAANA,IAAA,UAAAA,GAAQzY,gBAAR,eAAkB1sC,WACf,cAAQmlD,SAAR,IAAQA,IAAR,UAAQA,GAAQzY,gBAAhB,aAAQ,EAAkB1sC,WAC1B,MAIV,yBAAKnd,UAAU,YACZ2G,GAAQ,aAAD,OAAe27D,SAAf,IAAeA,IAAf,UAAeA,GAAQzY,gBAAvB,aAAe,EAAkB0b,gBAE3C,yBAAKvlE,UAAU,YACZ2G,GAAQ,eAAgBgD,YAAU,OAAC24D,SAAD,IAACA,IAAD,UAACA,GAAQzY,gBAAT,aAAC,EAAkB2b,gBAG1D,kBAACnoC,EAAA,EAAD,CACEr9B,UAAU,+CACVwR,aAAW,QACX/E,QAAS,WACPsxD,IAAQ,KAGV,kBAAC,IAAD,QAIJ,kBAACt3C,EAAA,EAAMhV,KAAP,KACE,kBAAC2zB,GAAA,EAAD,CAAWC,iBAAiB,KAC1B,oCACE,kBAACD,GAAA,EAAUjlC,OAAX,CACEE,GAAImzB,IACJxzB,UAAU,6DACV2zB,QAAQ,OACR4R,SAAS,KAET,kBAACC,GAAA,EAAD,CAAO7R,QAAQ,WAAW3zB,UAAU,wBAClC,wBAAIA,UAAU,oBAAd,mBAEF,kBAAC4zB,EAAA,EAAD,CACE5zB,UAAWwpB,aACT,mDAEFplB,MAAO,CAAEC,SAAU,GAAIgkB,MAAO,OAAQod,IAAK,UAG/C,kBAACL,GAAA,EAAUM,SAAX,CAAoBH,SAAS,KAC3B,yBAAKvlC,UAAU,6BACb,yBAAKA,UAAU,YACb,yBACEA,UAAU,qHACVoE,MAAO,CAAEC,SAAU,SAFrB,YAMA,6BACCsC,GACC,gBADM,OAEN27D,SAFM,IAENA,IAFM,UAENA,GAAQzY,gBAFF,iBAEN,EAAkB4b,uBAFZ,aAEN,EAAmCviD,MAEpCvc,GACC,gBADM,OAEN27D,SAFM,IAENA,IAFM,UAENA,GAAQzY,gBAFF,iBAEN,EAAkB4b,uBAFZ,aAEN,EAAmCz6C,aAEpCrkB,GACC,mBADM,OAEN27D,SAFM,IAENA,IAFM,UAENA,GAAQzY,gBAFF,iBAEN,EAAkB4b,uBAFZ,aAEN,EAAmCx1C,SAErC,6BACGtpB,GACC,uBACM,OAAN27D,SAAM,IAANA,IAAA,UAAAA,GAAQzY,gBAAR,mBAAkB4b,uBAAlB,eAAmCv1C,MACjC,OADF,OAEEoyC,SAFF,IAEEA,IAFF,UAEEA,GAAQzY,gBAFV,iBAEE,EAAkB4b,uBAFpB,aAEE,EAAmCx4C,OACnC,OAHF,OAIEq1C,SAJF,IAIEA,IAJF,UAIEA,GAAQzY,gBAJV,iBAIE,EAAkB4b,uBAJpB,aAIE,EAAmCx/B,WAGzC,6BACGt/B,GACC,mBADM,OAEN27D,SAFM,IAENA,IAFM,UAENA,GAAQzY,gBAFF,aAEN,EAAkB6b,kBAQxB,yBAAK1lE,UAAU,YACb,yBACEA,UAAU,qHACVoE,MAAO,CAAEC,SAAU,SAFrB,WAMA,6BACCsC,GACC,eADM,OAEN27D,SAFM,IAENA,IAFM,UAENA,GAAQzY,gBAFF,iBAEN,EAAkB8b,qBAFZ,aAEN,EAAiCziD,MAElCvc,GACC,eADM,OAEN27D,SAFM,IAENA,IAFM,UAENA,GAAQzY,gBAFF,iBAEN,EAAkB8b,qBAFZ,aAEN,EAAiC36C,aAElCrkB,GACC,mBADM,OAEN27D,SAFM,IAENA,IAFM,UAENA,GAAQzY,gBAFF,iBAEN,EAAkB8b,qBAFZ,aAEN,EAAiC11C,SAEnC,6BACGtpB,GACC,uBACM,OAAN27D,SAAM,IAANA,IAAA,UAAAA,GAAQzY,gBAAR,mBAAkB8b,qBAAlB,eAAiCz1C,MAC/B,OADF,OAEEoyC,SAFF,IAEEA,IAFF,UAEEA,GAAQzY,gBAFV,iBAEE,EAAkB8b,qBAFpB,aAEE,EAAiC14C,OACjC,OAHF,OAIEq1C,SAJF,IAIEA,IAJF,UAIEA,GAAQzY,gBAJV,iBAIE,EAAkB8b,qBAJpB,aAIE,EAAiC1/B,WAGvC,6BACGt/B,GACC,kBADM,OAEN27D,SAFM,IAENA,IAFM,UAENA,GAAQzY,gBAFF,aAEN,EAAkB+b,iBAQxB,yBAAK5lE,UAAU,iBACb,yBACEA,UAAU,qHACVoE,MAAO,CAAEC,SAAU,SAFrB,mBAMA,6BACCsC,GACC,uBADM,OAEN27D,SAFM,IAENA,IAFM,UAENA,GAAQzY,gBAFF,iBAEN,EAAkBgc,sBAFZ,aAEN,EAAkC3iD,MAEnCvc,GACC,uBADM,OAEN27D,SAFM,IAENA,IAFM,UAENA,GAAQzY,gBAFF,iBAEN,EAAkBgc,sBAFZ,aAEN,EAAkC76C,aAEnCrkB,GACC,2BADM,OAEN27D,SAFM,IAENA,IAFM,WAENA,GAAQzY,gBAFF,mBAEN,GAAkBgc,sBAFZ,cAEN,GAAkC51C,SAEpC,6BACGtpB,GACC,uBACM,OAAN27D,SAAM,IAANA,IAAA,WAAAA,GAAQzY,gBAAR,sBAAkBgc,sBAAlB,iBAAkC31C,MAChC,OADF,OAEEoyC,SAFF,IAEEA,IAFF,WAEEA,GAAQzY,gBAFV,mBAEE,GAAkBgc,sBAFpB,cAEE,GAAkC54C,OAClC,OAHF,OAIEq1C,SAJF,IAIEA,IAJF,WAIEA,GAAQzY,gBAJV,mBAIE,GAAkBgc,sBAJpB,cAIE,GAAkC5/B,WAGxC,6BACGt/B,GAAQ,iBAAD,OAAmB27D,SAAnB,IAAmBA,IAAnB,WAAmBA,GAAQzY,gBAA3B,cAAmB,GAAkBic,gBAE/C,6BACGn/D,GACC,gBACAgD,YAAU,OAAC24D,SAAD,IAACA,IAAD,WAACA,GAAQzY,gBAAT,cAAC,GAAkBkc,cAkBnC,yBAAK/lE,UAAU,iBACb,yBACEA,UAAU,qHACVoE,MAAO,CAAEC,SAAU,SAFrB,oBAMA,6BACCsC,GACC,wBADM,OAEN27D,SAFM,IAENA,IAFM,WAENA,GAAQzY,gBAFF,mBAEN,GAAkBmc,wBAFZ,cAEN,GAAoC9iD,MAErCvc,GACC,wBADM,OAEN27D,SAFM,IAENA,IAFM,WAENA,GAAQzY,gBAFF,mBAEN,GAAkBmc,wBAFZ,cAEN,GAAoCh7C,aAEtC,6BACGrkB,GACC,4BADM,OAEN27D,SAFM,IAENA,IAFM,WAENA,GAAQzY,gBAFF,mBAEN,GAAkBmc,wBAFZ,cAEN,GAAoC/1C,UAGxC,6BACGtpB,GACC,uBACM,OAAN27D,SAAM,IAANA,IAAA,WAAAA,GAAQzY,gBAAR,sBAAkBmc,wBAAlB,iBAAoC91C,MAClC,OADF,OAEEoyC,SAFF,IAEEA,IAFF,WAEEA,GAAQzY,gBAFV,mBAEE,GAAkBmc,wBAFpB,cAEE,GAAoC/4C,OACpC,OAHF,OAIEq1C,SAJF,IAIEA,IAJF,WAIEA,GAAQzY,gBAJV,mBAIE,GAAkBmc,wBAJpB,cAIE,GAAoC//B,WAG1C,6BACGt/B,GACC,mBADM,OAEN27D,SAFM,IAENA,IAFM,WAENA,GAAQzY,gBAFF,cAEN,GAAkBoc,mBAKxB,yBAAKjmE,UAAU,kBACb,yBACEA,UAAU,qHACVoE,MAAO,CAAEC,SAAU,SAFrB,UAOF,yBAAKrE,UAAU,kBACF,IAAVoiE,GACGz7D,GACE,UACAgD,YAAU,OAAC24D,SAAD,IAACA,IAAD,WAACA,GAAQzY,gBAAT,cAAC,GAAkBqc,oBAE/B,IACO,IAAV9D,GACGz7D,GACE,qBACAgD,YAAU,OAAC24D,SAAD,IAACA,IAAD,WAACA,GAAQzY,gBAAT,cAAC,GAAkBsc,mBAE/B,IACO,IAAV/D,GACGz7D,GACE,iBACAgD,YAAU,OAAC24D,SAAD,IAACA,IAAD,WAACA,GAAQzY,gBAAT,cAAC,GAAkBuc,sBAE/B,IACO,IAAVhE,GACGz7D,GACE,kBACAgD,YAAU,OAAC24D,SAAD,IAACA,IAAD,WAACA,GAAQzY,gBAAT,cAAC,GAAkBwc,sBAE/B,GACHpC,GAAY,WACXt9D,GACE,SACAgD,YAAU,OAAC24D,SAAD,IAACA,IAAD,WAACA,GAAQzY,gBAAT,cAAC,GAAkByc,mBAEhCrC,GAAY,WACXt9D,GACE,SACAgD,YAAU,OAAC24D,SAAD,IAACA,IAAD,WAACA,GAAQzY,gBAAT,cAAC,GAAkB0c,mBAEhCtC,GAAY,YACXt9D,GACE,6BACAgD,YAAU,OACR24D,SADQ,IACRA,IADQ,WACRA,GAAQzY,gBADA,cACR,GAAkB2c,oCAGvBvC,GAAY,cACXt9D,GACE,YACAgD,YAAU,OAAC24D,SAAD,IAACA,IAAD,WAACA,GAAQzY,gBAAT,cAAC,GAAkB4c,qBAEhCxC,GAAY,eACXt9D,GACE,aACAgD,YAAU,OAAC24D,SAAD,IAACA,IAAD,WAACA,GAAQzY,gBAAT,cAAC,GAAkB6c,sBAEhCzC,GAAY,2BACXt9D,GACE,yBACAgD,YAAU,OACR24D,SADQ,IACRA,IADQ,WACRA,GAAQzY,gBADA,cACR,GAAkB8c,iCAGvB1C,GAAY,UACXt9D,GACE,QACAgD,YAAU,OAAC24D,SAAD,IAACA,IAAD,WAACA,GAAQzY,gBAAT,cAAC,GAAkB+c,kBAEhCjgE,GACC,yBACAgD,YAAU,OAAC24D,SAAD,IAACA,IAAD,WAACA,GAAQzY,gBAAT,cAAC,GAAkBgd,sBAE9BlgE,GACC,iBACAgD,YAAU,OAAC24D,SAAD,IAACA,IAAD,WAACA,GAAQzY,gBAAT,cAAC,GAAkBid,eAE9BngE,GACC,kBACAgD,YAAU,OAAC24D,SAAD,IAACA,IAAD,WAACA,GAAQzY,gBAAT,cAAC,GAAkBkd,gBAE9BpgE,GACC,wBAIwB,iBAHxBpF,IACEoI,YAAU,OAAC24D,SAAD,IAACA,IAAD,WAACA,GAAQzY,gBAAT,cAAC,GAAkBkd,eAC7B,uBACAv9D,OAAO,WACL,GACAjI,IACEoI,YAAU,OAAC24D,SAAD,IAACA,IAAD,WAACA,GAAQzY,gBAAT,cAAC,GAAkBkd,eAC7B,uBACAv9D,OAAO,YAEd7C,GACC,qBAIwB,iBAHxBpF,IACEoI,YAAU,OAAC24D,SAAD,IAACA,IAAD,WAACA,GAAQzY,gBAAT,cAAC,GAAkBmd,iBAC7B,uBACAx9D,OAAO,WACL,GACAjI,IACEoI,YAAU,OAAC24D,SAAD,IAACA,IAAD,WAACA,GAAQzY,gBAAT,cAAC,GAAkBmd,iBAC7B,uBACAx9D,OAAO,aAGjB,yBAAKxJ,UAAU,iBACZikE,GAAY,QACXt9D,GACE,WACAgD,YAAU,OAAC24D,SAAD,IAACA,IAAD,WAACA,GAAQzY,gBAAT,cAAC,GAAkBod,gBAEhChD,GAAY,eACXt9D,GACE,aACAgD,YAAU,OAAC24D,SAAD,IAACA,IAAD,WAACA,GAAQzY,gBAAT,cAAC,GAAkBqd,uBAEhCjD,GAAY,WACXt9D,GACE,4BACAgD,YAAU,OACR24D,SADQ,IACRA,IADQ,WACRA,GAAQzY,gBADA,cACR,GAAkBsd,mCAGvBlD,GAAY,0BACXt9D,GACE,wBACAgD,YAAU,OAAC24D,SAAD,IAACA,IAAD,WAACA,GAAQzY,gBAAT,cAAC,GAAkBud,8BAEhCnD,GAAY,4BACXt9D,GACE,2BACAgD,YAAU,OACR24D,SADQ,IACRA,IADQ,WACRA,GAAQzY,gBADA,cACR,GAAkBwd,kCAGvB1gE,GACC,YACAgD,YAAU,OAAC24D,SAAD,IAACA,IAAD,WAACA,GAAQzY,gBAAT,cAAC,GAAkByd,sBAE9BrD,GAAY,WACXt9D,GACE,SACAgD,YAAU,OAAC24D,SAAD,IAACA,IAAD,WAACA,GAAQzY,gBAAT,cAAC,GAAkB0d,mBAEjC,6BACA,6BACC5gE,GACC,mBACAgD,YAAU,OAAC24D,SAAD,IAACA,IAAD,WAACA,GAAQzY,gBAAT,cAAC,GAAkB2d,kBAE9B7gE,GACC,yBAIwB,iBAHxBpF,IACEoI,YAAU,OAAC24D,SAAD,IAACA,IAAD,WAACA,GAAQzY,gBAAT,cAAC,GAAkB2d,iBAC7B,uBACAh+D,OAAO,WACL,GACAjI,IACEoI,YAAU,OAAC24D,SAAD,IAACA,IAAD,WAACA,GAAQzY,gBAAT,cAAC,GAAkB2d,iBAC7B,uBACAh+D,OAAO,YAEd7C,GACC,sBAIwB,iBAHxBpF,IACEoI,YAAU,OAAC24D,SAAD,IAACA,IAAD,WAACA,GAAQzY,gBAAT,cAAC,GAAkB4d,eAC7B,uBACAj+D,OAAO,WACL,GACAjI,IACEoI,YAAU,OAAC24D,SAAD,IAACA,IAAD,WAACA,GAAQzY,gBAAT,cAAC,GAAkB4d,eAC7B,uBACAj+D,OAAO,YAEd7C,GACC,QACAgD,YAAU,OAAC24D,SAAD,IAACA,IAAD,WAACA,GAAQzY,gBAAT,cAAC,GAAkB6d,uBAE9B/gE,GAAQ,MAAOkD,YAAc,OAACy4D,SAAD,IAACA,IAAD,WAACA,GAAQzY,gBAAT,cAAC,GAAkB8d,OAEnD,yBAAK3nE,UAAU,kBACb,yBACEA,UAAU,qHACVoE,MAAO,CAAEC,SAAU,SAFrB,WAOF,yBAAKrE,UAAU,iBACZ2G,GAAQ,eAAD,OAAiB27D,SAAjB,IAAiBA,IAAjB,WAAiBA,GAAQzY,gBAAzB,cAAiB,GAAkB+d,aAC1CjhE,GAAQ,aAAD,OAAe27D,SAAf,IAAeA,IAAf,WAAeA,GAAQzY,gBAAvB,cAAe,GAAkBge,WACxClhE,GACC,gBACAgD,YAAU,OAAC24D,SAAD,IAACA,IAAD,WAACA,GAAQzY,gBAAT,cAAC,GAAkBkc,YAE9Bp/D,GAAQ,WAAD,OAAa27D,SAAb,IAAaA,IAAb,WAAaA,GAAQzY,gBAArB,cAAa,GAAkByb,SACtC3+D,GAAQ,SAAUqB,YAAc,OAACs6D,SAAD,IAACA,IAAD,WAACA,GAAQzY,gBAAT,cAAC,GAAkBhsC,SACnDlX,GAAQ,OAAQqB,YAAc,OAACs6D,SAAD,IAACA,IAAD,WAACA,GAAQzY,gBAAT,cAAC,GAAkB9rC,OACjDpX,GAAQ,SAAD,OAAW27D,SAAX,IAAWA,IAAX,WAAWA,GAAQzY,gBAAnB,cAAW,GAAkBnsC,SAGvC,yBAAK1d,UAAU,iBACZ2G,GAAQ,UAAD,OAAY27D,SAAZ,IAAYA,IAAZ,WAAYA,GAAQzY,gBAApB,cAAY,GAAkBie,aACrCnhE,GAAQ,OAAD,OAAS27D,SAAT,IAASA,IAAT,WAASA,GAAQzY,gBAAjB,cAAS,GAAkBke,UAClCphE,GAAQ,gBAAD,OAAkB27D,SAAlB,IAAkBA,IAAlB,WAAkBA,GAAQzY,gBAA1B,cAAkB,GAAkBme,kBAC3CrhE,GACC,iBADM,OAEN27D,SAFM,IAENA,IAFM,WAENA,GAAQzY,gBAFF,cAEN,GAAkBoe,mBAEnBthE,GACC,iBADM,OAEN27D,SAFM,IAENA,IAFM,WAENA,GAAQzY,gBAFF,cAEN,GAAkBqe,mBAEnBvhE,GAAQ,YAAD,OAAc27D,SAAd,IAAcA,IAAd,WAAcA,GAAQzY,gBAAtB,cAAc,GAAkBse,YACN,gBAA3B,OAAN7F,SAAM,IAANA,IAAA,WAAAA,GAAQzY,gBAAR,iBAAkBse,aACjB,oCACGxhE,GAAQ,cAAD,OAAgB27D,SAAhB,IAAgBA,IAAhB,WAAgBA,GAAQzY,gBAAxB,cAAgB,GAAkBue,gBACzCzhE,GAAQ,eAAD,OAAiB27D,SAAjB,IAAiBA,IAAjB,WAAiBA,GAAQzY,gBAAzB,cAAiB,GAAkBwe,cAI9C1hE,GAAQ,kBAAD,OAAoB27D,SAApB,IAAoBA,IAApB,WAAoBA,GAAQzY,gBAA5B,cAAoB,GAAkBye,YAC7C3hE,GAAQ,iBAAD,OAAmB27D,SAAnB,IAAmBA,IAAnB,WAAmBA,GAAQzY,gBAA3B,cAAmB,GAAkBxsC,gBAEtB,aAAlB,OAANilD,SAAM,IAANA,QAAA,EAAAA,GAAQwF,cACP,oCACE,yBAAK9nE,UAAU,kBACb,yBACEA,UAAU,qHACVoE,MAAO,CAAEC,SAAU,SAFrB,2BAOF,yBAAKrE,UAAU,iBACZg9D,GAAc,YAAD,OAAcsF,SAAd,IAAcA,QAAd,EAAcA,GAAQyF,UACnC/K,GAAc,SAAD,OAAWsF,SAAX,IAAWA,QAAX,EAAWA,GAAQxlD,QAChCkgD,GAAc,cAAD,OAAgBsF,SAAhB,IAAgBA,QAAhB,EAAgBA,GAAQllD,aAGxC,yBAAKpd,UAAU,iBACZg9D,GAAc,gBAAD,OAAkBsF,SAAlB,IAAkBA,QAAlB,EAAkBA,GAAQl/B,cACvC45B,GAAc,gBAAD,OAAkBsF,SAAlB,IAAkBA,QAAlB,EAAkBA,GAAQiG,cACvCvL,GAAc,UAAD,OAAYsF,SAAZ,IAAYA,QAAZ,EAAYA,GAAQkG,UAGpC,yBAAKxoE,UAAU,iBACZg9D,GAAc,iBAAD,OAAmBsF,SAAnB,IAAmBA,QAAnB,EAAmBA,GAAQmG,eACxCzL,GAAc,MAAD,OAAQsF,SAAR,IAAQA,QAAR,EAAQA,GAAQvlD,KAC7BigD,GAAc,SAAD,OAAWsF,SAAX,IAAWA,QAAX,EAAWA,GAAQoG,eAGnC,yBAAK1oE,UAAU,iBACZg9D,GAAc,mBAAD,OAAqBsF,SAArB,IAAqBA,QAArB,EAAqBA,GAAQ7F,cAC1CO,GAAc,MAAD,OAAQsF,SAAR,IAAQA,QAAR,EAAQA,GAAQ1lD,YAC7BogD,GACC,OACAh1D,YAAc,OAACs6D,SAAD,IAACA,QAAD,EAACA,GAAQqG,eAMN,6BAAlB,OAANrG,SAAM,IAANA,QAAA,EAAAA,GAAQwF,cACP,yBAAK9nE,UAAU,4BACb,yBAAKA,UAAU,kBACb,yBACEA,UAAU,qHACVoE,MAAO,CAAEC,SAAU,SAFrB,wBAOF,yBAAKrE,UAAU,iBACZg9D,GAAc,YAAD,OAAcsF,SAAd,IAAcA,QAAd,EAAcA,GAAQyF,UAAW,IAC9C/K,GAAc,UAAD,OAAYsF,SAAZ,IAAYA,QAAZ,EAAYA,GAAQkG,UAGpC,yBAAKxoE,UAAU,iBACZg9D,GAAc,gBAAD,OAAkBsF,SAAlB,IAAkBA,QAAlB,EAAkBA,GAAQl/B,cACvC45B,GAAc,UAAD,OAAYsF,SAAZ,IAAYA,QAAZ,EAAYA,GAAQjkD,UAGpC,yBAAKre,UAAU,iBACZg9D,GAAc,iBAAD,OAAmBsF,SAAnB,IAAmBA,QAAnB,EAAmBA,GAAQmG,eACxCzL,GAAc,SAAD,OAAWsF,SAAX,IAAWA,QAAX,EAAWA,GAAQoG,eAGnC,yBAAK1oE,UAAU,iBACZg9D,GACC,mBADY,OAEZsF,SAFY,IAEZA,QAFY,EAEZA,GAAQ/oD,iBAETyjD,GACC,OACAh1D,YAAc,OAACs6D,SAAD,IAACA,QAAD,EAACA,GAAQqG,iBAQnC,kBAACvjC,GAAA,EAAUjlC,OAAX,CACEE,GAAImzB,IACJxzB,UAAU,6DACV2zB,QAAQ,OACR4R,SAAS,KAET,kBAACC,GAAA,EAAD,CAAO7R,QAAQ,WAAW3zB,UAAU,wBAClC,wBAAIA,UAAU,oBAAd,aAEF,kBAAC4zB,EAAA,EAAD,CACE5zB,UAAWwpB,aACT,mDAEFplB,MAAO,CAAEC,SAAU,GAAIgkB,MAAO,OAAQod,IAAK,UAG/C,kBAACL,GAAA,EAAUM,SAAX,CAAoB1lC,UAAU,OAAOulC,SAAS,KAC5C,yBAAKvlC,UAAU,OACb,yBAAKA,UAAU,aACb,yBAAKA,UAAS,2CAEZ,yBAAKA,UAAU,2CACb,wBAAIA,UAAU,4CACZ,0BAAMmE,MAAM,+CAAZ,mBAOJ,yBAAKnE,UAAU,mBACb,yBAAKA,UAAU,OACb,yBAAKA,UAAU,OACb,yBAAKA,UAAU,iBACb,0BACEA,UAAS,4CAEX,yBAAKA,UAAU,uCACb,uBACE0I,KAAK,IACL1I,UAAU,kDAFZ,kBAMA,0BAAMA,UAAU,gBAAhB,OACGkjE,SADH,IACGA,IADH,WACGA,GAAoBrZ,gBADvB,cACG,GAA8B1sC,cAKvC,yBAAKnd,UAAU,OACb,yBAAKA,UAAU,iBACb,0BACEA,UAAS,4CAEX,yBAAKA,UAAU,uCACb,uBACE0I,KAAK,IACL1I,UAAU,kDAFZ,eAMA,0BAAMA,UAAU,gBAAhB,OACGkjE,SADH,IACGA,IADH,WACGA,GAAoBrZ,gBADvB,cACG,GAA8BzsC,gBAMzC,yBAAKpd,UAAU,OACb,yBAAKA,UAAU,OACb,yBAAKA,UAAU,iBACb,0BACEA,UAAS,4CAEX,yBAAKA,UAAU,uCACb,uBACE0I,KAAK,IACL1I,UAAU,kDAFZ,YAMA,0BAAMA,UAAU,gBAAhB,OAEIkjE,SAFJ,IAEIA,IAFJ,WAEIA,GAAoBrZ,gBAFxB,mBAEI,GAA8B4b,uBAFlC,cAEI,GACIz6C,gBAMd,yBAAKhrB,UAAU,OACb,yBAAKA,UAAU,iBACb,0BACEA,UAAS,4CAEX,yBAAKA,UAAU,uCACb,uBACE0I,KAAK,IACL1I,UAAU,kDAFZ,WAMA,0BAAMA,UAAU,gBACoB,QAAf,OAAlBkjE,SAAkB,IAAlBA,QAAA,EAAAA,GAAoBrZ,WACC,OAAlBqZ,SAAkB,IAAlBA,IAAA,WAAAA,GAAoBrZ,gBAApB,sBAA8BM,eAA9B,iBACIthD,QAAS,IADb,OAEAq6D,SAFA,IAEAA,IAFA,WAEAA,GAAoBrZ,gBAFpB,mBAEA,GAA8BM,QAAQ,UAFtC,mBAEA,GACIwW,qBAHJ,cAEA,GACmB31C,aACnB,QAOd,yBAAKhrB,UAAU,iBACb,0BACEA,UAAS,4CAEX,yBAAKA,UAAU,uCACb,uBACE0I,KAAK,IACL1I,UAAU,kDAFZ,oBAMA,0BAAMA,UAAU,iBACP,OAANwjE,SAAM,IAANA,QAAA,EAAAA,GAAQoF,cACP,OADD,OAECpF,SAFD,IAECA,QAFD,EAECA,GAAQqF,aACR,MAHD,OAICrF,SAJD,IAICA,QAJD,EAICA,GAAQsF,cACR,MACAr9C,GAAU,OAAC+3C,SAAD,IAACA,QAAD,EAACA,GAAQuF,aACnB,KACA9L,GAAQ,OAACuG,SAAD,IAACA,QAAD,EAACA,GAAQwF,gBAKzB,yBAAKhpE,UAAU,iBACb,0BACEA,UAAS,4CAEX,yBAAKA,UAAU,uCACb,uBACE0I,KAAK,IACL1I,UAAU,kDAFZ,mBAMA,0BAAMA,UAAU,gBAAhB,OACGkjE,SADH,IACGA,IADH,WACGA,GAAoBrZ,gBADvB,cACG,GAA8BkN,iBAO3C,yBAAK/2D,UAAU,YACb,yBAAKmE,MAAM,2CACT,yBAAKA,MAAM,2CACT,wBAAIA,MAAM,4CACR,0BAAMA,MAAM,+CAAZ,uBAKJ,yBAAKA,MAAM,mBACT,yBAAKnE,UAAU,iBACb,0BACEA,UAAS,4CAEX,yBAAKA,UAAU,uCACb,uBACE0I,KAAK,IACL1I,UAAU,kDAFZ,aAMA,0BAAMA,UAAU,gBAAhB,OACGkjE,SADH,IACGA,IADH,WACGA,GAAoBrZ,gBADvB,mBACG,GAA8Bgc,sBADjC,cACG,GAA8C3iD,KAC9C,IAFH,OAIIggD,SAJJ,IAIIA,IAJJ,WAIIA,GAAoBrZ,gBAJxB,mBAII,GAA8Bgc,sBAJlC,cAII,GACI76C,YALR,IAOI,IAPJ,OASIk4C,SATJ,IASIA,IATJ,WASIA,GAAoBrZ,gBATxB,mBASI,GAA8Bgc,sBATlC,cASI,GACI51C,QAVR,IAYI,IAZJ,OAaGizC,SAbH,IAaGA,IAbH,WAaGA,GAAoBrZ,gBAbvB,mBAaG,GAA8Bgc,sBAbjC,cAaG,GAA8C31C,KAbjD,IAcI,IAdJ,OAgBIgzC,SAhBJ,IAgBIA,IAhBJ,WAgBIA,GAAoBrZ,gBAhBxB,mBAgBI,GAA8Bgc,sBAhBlC,cAgBI,GACI54C,MACJ,IAlBJ,OAoBIi2C,SApBJ,IAoBIA,IApBJ,WAoBIA,GAAoBrZ,gBApBxB,mBAoBI,GAA8Bgc,sBApBlC,cAoBI,GACI5/B,WAKZ,yBAAKjmC,UAAU,gBACb,0BACEA,UAAS,4CAEX,yBAAKA,UAAU,uCACb,uBACE0I,KAAK,IACL1I,UAAU,kDAFZ,WAMA,0BAAMA,UAAU,gBAAhB,OAEIkjE,SAFJ,IAEIA,IAFJ,WAEIA,GAAoBrZ,gBAFxB,mBAEI,GAA8Bmc,wBAFlC,cAEI,GACI9iD,KAGc,QADD,OAAlBggD,SAAkB,IAAlBA,IAAA,WAAAA,GAAoBrZ,gBAApB,sBAA8Bmc,wBAA9B,iBACGh7C,aACA,IACA,GARN,OAUIk4C,SAVJ,IAUIA,IAVJ,WAUIA,GAAoBrZ,gBAVxB,mBAUI,GAA8Bmc,wBAVlC,cAUI,GACIh7C,YAGU,QADG,OAAlBk4C,SAAkB,IAAlBA,IAAA,WAAAA,GAAoB+F,8BAApB,iBACGh5C,SACA,KACA,GAhBN,OAkBIizC,SAlBJ,IAkBIA,IAlBJ,WAkBIA,GAAoB+F,8BAlBxB,cAkBI,GACIh5C,QAGO,QADM,OAAlBizC,SAAkB,IAAlBA,IAAA,WAAAA,GAAoBrZ,gBAApB,sBAA8Bmc,wBAA9B,iBACG91C,MACA,KACA,GAxBN,OA0BIgzC,SA1BJ,IA0BIA,IA1BJ,WA0BIA,GAAoBrZ,gBA1BxB,mBA0BI,GAA8Bmc,wBA1BlC,cA0BI,GACI91C,KAGQ,QADK,OAAlBgzC,SAAkB,IAAlBA,IAAA,WAAAA,GAAoBrZ,gBAApB,sBAA8Bmc,wBAA9B,iBACG/4C,OACA,KACA,GAhCN,OAkCIi2C,SAlCJ,IAkCIA,IAlCJ,WAkCIA,GAAoBrZ,gBAlCxB,mBAkCI,GAA8Bmc,wBAlClC,cAkCI,GACI/4C,MAGU,QADG,OAAlBi2C,SAAkB,IAAlBA,IAAA,WAAAA,GAAoBrZ,gBAApB,sBAA8Bmc,wBAA9B,iBACG//B,SACA,IACA,GAxCN,OA0CIi9B,SA1CJ,IA0CIA,IA1CJ,WA0CIA,GAAoBrZ,gBA1CxB,mBA0CI,GAA8Bmc,wBA1ClC,cA0CI,GACI//B,WAKZ,yBAAKjmC,UAAU,gBACb,0BACEA,UAAS,4CAEX,yBAAKA,UAAU,uCACb,uBACE0I,KAAK,IACL1I,UAAU,kDAFZ,yBAMA,0BAAMA,UAAU,gBAEc,QADT,OAAlBkjE,SAAkB,IAAlBA,IAAA,WAAAA,GAAoBrZ,gBAApB,iBACG6c,qBACA,IAAI/kE,KAAJ,OACEuhE,SADF,IACEA,IADF,WACEA,GAAoBrZ,gBADtB,cACE,GAA8B6c,qBAC9BptC,iBACF,MAIV,yBAAKt5B,UAAU,iBACb,0BACEA,UAAS,4CAEX,yBAAKA,UAAU,uCACb,uBACE0I,KAAK,IACL1I,UAAU,kDAFZ,2BAMA,0BAAMA,UAAU,gBAEe,QADV,OAAlBkjE,SAAkB,IAAlBA,IAAA,WAAAA,GAAoBrZ,gBAApB,iBACG6d,sBACA,IAAI/lE,KAAJ,OACEuhE,SADF,IACEA,IADF,WACEA,GAAoBrZ,gBADtB,cACE,GAA8B6d,sBAC9BpuC,iBACF,WAUpB,kBAAC8L,GAAA,EAAUjlC,OAAX,CACEE,GAAImzB,IACJxzB,UAAU,6DACV2zB,QAAQ,OACR4R,SAAS,KAET,kBAACC,GAAA,EAAD,CAAO7R,QAAQ,WAAW3zB,UAAU,wBAClC,wBAAIA,UAAU,oBAAd,qBAEF,kBAAC4zB,EAAA,EAAD,CACE5zB,UAAWwpB,aACT,mDAEFplB,MAAO,CAAEC,SAAU,GAAIgkB,MAAO,OAAQod,IAAK,UAG/C,kBAACL,GAAA,EAAUM,SAAX,CAAoB1lC,UAAU,OAAOulC,SAAS,KAC5C,kBAAC2jC,GAAA,EAAD,CAAM7jC,iBAAiB,OAAOjlC,GAAG,4BAC/B,kBAAC+oE,GAAA,EAAD,CAAK5jC,SAAS,OAAOnmB,MAAM,YACzB,yBAAKpf,UAAU,OACb,yBAAKA,UAAU,YAAYoE,MAAO,CAAEwS,OAAQ,UACzCksD,IACsC,IAArCA,GAA0Bj6D,OACxB,kBAAC,KAAD,CACEugE,iBAAkB,CAChB9hE,IAAKzC,OAAOwkE,gBAEdC,cAAe,CACbC,IAAK,UACLC,KAAM,WAERC,YAAa,EACbC,kBAAmB,mBAvmCvB,SAAC3lE,EAAK4lE,GAC1B,IAAIpnE,EAAOugE,GAA0B/+D,KAAI,SAACC,GACxC,MAAO,CACLulE,IAAKK,OAAO5lE,EAAK6lE,KACjBL,IAAKI,OAAO5lE,EAAK8lE,KACjB9jE,KAAMhC,EAAKisB,QACXrvB,KAAMoD,EAAK+lE,cAGTC,EAAoB,IAAIL,EAAKM,kBAC7BC,EAAqB,IAAIP,EAAKQ,oBAIpC,SAAkCH,EAAmBE,GACnDrlE,OAAOulE,KAAOrmE,EACd,IAAK,IAAI6E,EAAI,EAAGA,EAAIrG,EAAKsG,OAAQD,IACV,WAAjBrG,EAAKqG,GAAGhI,KACV,IAAI+oE,EAAKU,OAAO,CACd/lE,SAAU/B,EAAKqG,GACf7E,IAAKA,EACLqb,MAAO7c,EAAKqG,GAAG5C,KACfsoD,KAAM,CACJt8C,IAAK,8DAIT,IAAI23D,EAAKU,OAAO,CACd/lE,SAAU/B,EAAKqG,GACf7E,IAAKA,EACLqb,MAAO7c,EAAKqG,GAAG5C,KACfsoD,KAAM,CACJt8C,IAAK,6DAKb,IAAK,IAAIqJ,EAAI,EAAGvP,EAAQ,GAAkBuP,EAAI9Y,EAAKsG,OAAQwS,GAAzB,GAChCvP,EAAMhD,KAAKvG,EAAKd,MAAM4Z,EAAGA,EADO,GACG,IAGrC,IAAK,IAAI/Z,EAAI,EAAGA,EAAIwK,EAAMjD,OAAQvH,IAAK,CAGrC,IADA,IAAIgpE,EAAY,GACPhvD,EAAI,EAAGA,EAAIxP,EAAMxK,GAAGuH,OAAS,EAAGyS,IACvCgvD,EAAUxhE,KAAK,CAAEswC,SAAUttC,EAAMxK,GAAGga,GAAIivD,UAAU,IAGpD,IAAIC,EAAkB,CACpBC,OAAQ3+D,EAAMxK,GAAG,GACjBopE,YAAanoE,EAAKA,EAAKsG,OAAS,GAChCyhE,UAAWA,EACXK,WAAY,WAGdX,EAAkBY,MAAMJ,GAAiB,SAAC31D,EAAUE,GACpC,MAAVA,GAIClQ,OAAOgmE,aAAYhmE,OAAOgmE,WAAa,IAC5ChmE,OAAOgmE,WAAW/hE,KAAKohE,GACvBA,EAAmBY,OAAO/mE,GAC1BmmE,EAAmBa,WAAW,CAC5BC,iBAAiB,EACjBC,kBAAkB,IAEpBf,EAAmBgB,cAAcr2D,IAV/BzR,QAAQC,IAAI,oCAAsC0R,OA7C1Do2D,CAAyBnB,EAAmBE,GA2D5CA,EAAmBY,OAAO/mE,GAiiCAqnE,CADiB,EAAGrnE,IAAH,EAAQ4lE,SAQ/B,IAGJ,yBAAK3pE,UAAU,4BACb,yBACEA,UAAS,mBACToE,MAAO,CAAEwS,OAAQ,UAGjB,yBAAK5W,UAAU,gDACb,wBAAIA,UAAU,4CACZ,0BAAMA,UAAU,gCAAhB,cAMJ,yBAAKA,UAAU,kBACb,yBAAKA,UAAU,4BACb,yBAAKA,UAAU,mCACb,yBAAKA,UAAU,kBACb,uBAAGA,UAAU,4CAGf,yBAAKA,UAAU,4BACb,0BAAMA,UAAU,qCAAhB,OAEIkjE,SAFJ,IAEIA,IAFJ,WAEIA,GAAoBrZ,gBAFxB,mBAEI,GAA8Bgc,sBAFlC,cAEI,GACI31C,KAHR,IAKI,IALJ,OAOIgzC,SAPJ,IAOIA,IAPJ,WAOIA,GAAoBrZ,gBAPxB,mBAOI,GAA8Bgc,sBAPlC,cAOI,GACI54C,OAGR,yBAAKjtB,UAAU,2CAAf,kBACkB,IAEY,QADT,OAAlBkjE,SAAkB,IAAlBA,IAAA,WAAAA,GAAoBrZ,gBAApB,iBACG6c,qBACA,IAAI/kE,KAAJ,OACEuhE,SADF,IACEA,IADF,WACEA,GAAoBrZ,gBADtB,cACE,GAA8B6c,qBAC9BptC,iBACF,MAITspC,GACGA,GAAkB7+D,KAAI,SAACC,EAAMC,GAAP,OACpB,yBACEqD,IAAKrD,EACLjE,UAAU,mCAEV,yBAAKA,UAAU,kBACb,uBACEA,UACqB,WAAnBgE,EAAK+lE,UACD,yCACA,4CAKV,yBAAK/pE,UAAU,4BACb,0BAAMA,UAAU,qCACbgE,EAAKqnE,aADR,IACuB,IACpBrnE,EAAKsnE,eAER,yBAAKtrE,UAAU,2CACZgE,EAAKunE,UADR,IACoB,IACE,OAAnBvnE,EAAKwnE,UACF//C,GAAWznB,EAAKwnE,WAChB,KACAvO,GAASj5D,EAAKynE,WACd,SAKZ,SAOhB,kBAACtC,GAAA,EAAD,CAAK5jC,SAAS,UAAUnmB,MAAM,cAC5B,kBAAC6e,GAAA,EAAD,CAAOj+B,UAAS,eAAUO,GAAQmW,QAChC,kBAAColB,GAAA,EAAD,KACE,kBAACC,GAAA,EAAD,KACE,kBAACC,GAAA,EAAD,CAAWh8B,UAAU,YAArB,cACA,kBAACg8B,GAAA,EAAD,CAAWh8B,UAAU,YAArB,cACA,kBAACg8B,GAAA,EAAD,CAAWh8B,UAAU,YAArB,YACA,kBAACg8B,GAAA,EAAD,CAAWh8B,UAAU,YAArB,cACA,kBAACg8B,GAAA,EAAD,CAAWh8B,UAAU,YAArB,YACA,kBAACg8B,GAAA,EAAD,CAAWh8B,UAAU,YAArB,gBAGJ,kBAACm+B,GAAA,EAAD,UACyBr4B,IAAtB88D,IACCA,GAAkB7+D,KAAI,SAACC,EAAMC,GAAP,OACpB,kBAAC83B,GAAA,EAAD,CAAUz0B,IAAKrD,GACb,kBAAC+3B,GAAA,EAAD,CAAWttB,UAAU,KAAKC,MAAM,OAC7B3K,EAAK+lE,WAER,kBAAC/tC,GAAA,EAAD,KACsB,OAAnBh4B,EAAKwnE,UACF//C,GAAWznB,EAAKwnE,WAChB,KACAvO,GAASj5D,EAAKynE,WACd,IAEN,kBAACzvC,GAAA,EAAD,KACGh4B,EAAKqnE,aACJ,IACArnE,EAAKsnE,cACL,KACAtnE,EAAK0nE,iBAET,kBAAC1vC,GAAA,EAAD,KAAYh4B,EAAKunE,WACjB,kBAACvvC,GAAA,EAAD,KACoB,OAAjBh4B,EAAK2nE,QACFlgD,GAAWznB,EAAK2nE,SAChB,KACA1O,GAASj5D,EAAK4nE,SACd,IAEN,kBAAC5vC,GAAA,EAAD,KAAYh4B,EAAK6nE,oBASjC,kBAACzmC,GAAA,EAAUjlC,OAAX,CACEE,GAAImzB,IACJxzB,UAAU,6DACV2zB,QAAQ,OACR4R,SAAS,MAET,kBAACC,GAAA,EAAD,CAAO7R,QAAQ,WAAW3zB,UAAU,wBAClC,wBAAIA,UAAU,oBAAd,mBAEF,kBAAC4zB,EAAA,EAAD,CACE5zB,UAAWwpB,aACT,mDAEFplB,MAAO,CAAEC,SAAU,GAAIgkB,MAAO,OAAQod,IAAK,UAG/C,kBAACL,GAAA,EAAUM,SAAX,CAAoBH,SAAS,MAC3B,yBAAKvlC,UAAU,cACb,yBAAKA,UAAU,kBACb,yBAAKA,UAAU,0CACb,kBAACi+B,GAAA,EAAD,CAAOj+B,UAAWO,GAAQmW,MAAOvF,KAAK,UACpC,kBAAC2qB,GAAA,EAAD,CAAW97B,UAAU,QACnB,kBAAC+7B,GAAA,EAAD,KACE,kBAACC,GAAA,EAAD,CAAWh8B,UAAU,YAArB,kBAGA,kBAACg8B,GAAA,EAAD,CAAWh8B,UAAU,YAArB,mBAGA,kBAACg8B,GAAA,EAAD,CAAWh8B,UAAU,YAArB,YACA,kBAACg8B,GAAA,EAAD,CAAWh8B,UAAU,YAArB,OACA,kBAACg8B,GAAA,EAAD,CAAWh8B,UAAU,YAArB,OACA,kBAACg8B,GAAA,EAAD,CAAWh8B,UAAU,YAArB,aACA,kBAACg8B,GAAA,EAAD,CAAWh8B,UAAU,YAArB,eAGA,kBAACg8B,GAAA,EAAD,CAAWh8B,UAAU,YAArB,aACA,kBAACg8B,GAAA,EAAD,CAAWh8B,UAAU,YAArB,UACA,kBAACg8B,GAAA,EAAD,CAAWh8B,UAAU,YAArB,QACA,kBAACg8B,GAAA,EAAD,CAAWh8B,UAAU,YAArB,YACA,kBAACg8B,GAAA,EAAD,CAAWh8B,UAAU,YAArB,SACA,kBAACg8B,GAAA,EAAD,CAAWh8B,UAAU,YAArB,iBAGA,kBAACg8B,GAAA,EAAD,CAAWh8B,UAAU,YAArB,gBAGA,kBAACg8B,GAAA,EAAD,CAAWh8B,UAAU,YAArB,mBAIA,kBAACg8B,GAAA,EAAD,CAAWh8B,UAAU,YAArB,mBAGA,kBAACg8B,GAAA,EAAD,CAAWh8B,UAAU,YAArB,kBAGA,kBAACg8B,GAAA,EAAD,CAAWh8B,UAAU,YAArB,qBAGA,kBAACg8B,GAAA,EAAD,CAAWh8B,UAAU,YAArB,aAEA,kBAACg8B,GAAA,EAAD,CAAWh8B,UAAU,YAArB,aAIJ,kBAACm+B,GAAA,EAAD,YACGmkC,SADH,IACGA,IADH,WACGA,GAAQzY,gBADX,cACG,GAAkBiiB,cAAcrqE,MAC/BuzB,GAAO2I,GACP3I,GAAO2I,GAAcA,IACrB55B,KAAI,SAACC,GAAD,OACJ,kBAAC+3B,GAAA,EAAD,KACE,kBAACC,GAAA,EAAD,KAAYh4B,EAAKwZ,eACjB,kBAACwe,GAAA,EAAD,KAAYh4B,EAAK2Z,eACjB,kBAACqe,GAAA,EAAD,KAEI,oCACGh4B,EAAKwa,SACLxa,EAAK+nE,cACJ,kBAACtyB,EAAA,EAAD,CACEjtC,QACE,kBAAC4wB,EAAA,EAAD,CAASh9B,GAAG,yBACT4D,EAAK+nE,eAIV,uBAAG/rE,UAAU,iDACX,0BAAMA,UAAU,sCACd,kBAAC,IAAD,CACEwI,IAAKC,YACH,gDAUlB,kBAACuzB,GAAA,EAAD,KAAYh4B,EAAKyZ,KACjB,kBAACue,GAAA,EAAD,KAAYh4B,EAAKgoE,KACjB,kBAAChwC,GAAA,EAAD,KAAYh4B,EAAKw4D,WACjB,kBAACxgC,GAAA,EAAD,KAAYh4B,EAAKia,aACjB,kBAAC+d,GAAA,EAAD,KAAYh4B,EAAKioE,UACjB,kBAACjwC,GAAA,EAAD,KAAYh0B,YAAehE,EAAK6Z,SAChC,kBAACme,GAAA,EAAD,KAAYh0B,YAAehE,EAAK+Z,OAChC,kBAACie,GAAA,EAAD,KACG,IACAh4B,EAAKkoE,UACJ,kBAACzyB,EAAA,EAAD,CACEjtC,QACE,kBAAC4wB,EAAA,EAAD,CAASh9B,GAAG,yBAAZ,uBAKF,uBAAGJ,UAAU,sDACX,0BAAMA,UAAU,wCACd,kBAAC,IAAD,CACEwI,IAAKC,YACH,mDAQd,kBAACuzB,GAAA,EAAD,KACGh4B,EAAKsa,OACJ,kBAACm7B,EAAA,EAAD,CACEjtC,QACE,kBAAC4wB,EAAA,EAAD,CAASh9B,GAAG,yBAAZ,QAKF,uBAAGJ,UAAU,sDACX,0BAAMA,UAAU,wCACd,kBAAC,IAAD,CACEwI,IAAKC,YACH,iDAQd,kBAACuzB,GAAA,EAAD,KAAYh4B,EAAKma,eACjB,kBAAC6d,GAAA,EAAD,KAAYh4B,EAAKka,cACjB,kBAAC8d,GAAA,EAAD,KAAYh4B,EAAKoa,iBACjB,kBAAC4d,GAAA,EAAD,KAAYh4B,EAAKmoE,uBACjB,kBAACnwC,GAAA,EAAD,KAAYh4B,EAAKooE,sBACjB,kBAACpwC,GAAA,EAAD,KACGh4B,EAAKqoE,yBAER,kBAACrwC,GAAA,EAAD,KAAYh4B,EAAKg4D,UAGjB,kBAAChgC,GAAA,EAAD,KACE,uBACE5c,MAAM,WACNpf,UAAU,uDACVyM,QAAS,WACPg4D,IAAiB,GACjBI,GAAU7gE,GACV2gE,IAAW,GACXJ,GAAgBvgE,EAAKooE,sBACrBjI,GAAiBngE,EAAKmoE,uBACtB9H,GACErgE,EAAKqoE,2BAIT,0BAAMrsE,UAAU,yCACd,kBAAC,IAAD,CACEwI,IAAKC,YACH,gDAKR,gDAOV,kBAACge,EAAA,EAAD,CACEtV,KAAK,KACLC,KAAMozD,GACNlzD,kBAAgB,gCAEhB,kBAACmV,EAAA,EAAMlV,OAAP,KACE,kBAACkV,EAAA,EAAM9U,MAAP,qCACyBizD,SADzB,IACyBA,QADzB,EACyBA,GAAQpnD,eAEjC,kBAAC6f,EAAA,EAAD,CACEr9B,UAAU,+CACVwR,aAAW,QACX/E,QAAS,WACPg4D,IAAiB,KAGnB,kBAAC,IAAD,QAGJ,kBAACh+C,EAAA,EAAMhV,KAAP,KACE,yBAAKzR,UAAU,kBACb,yBAAKA,UAAU,YACb,gDACA,2BACEA,UAAU,eACV+C,KAAK,SACLqM,YAAY,gBACZ0mB,IAAI,IACJtU,aAAc8iD,GACdj1D,SAAU,SAACC,GACTi1D,GAAgBj1D,EAAEM,OAAOzQ,WAK/B,yBAAKa,UAAU,YACb,iDACA,2BACEA,UAAU,eACV+C,KAAK,SACLqM,YAAY,iBACZ0mB,IAAI,IACJtU,aAAc0iD,GACd70D,SAAU,SAACC,GACT60D,GAAiB70D,EAAEM,OAAOzQ,YAKlC,yBAAKa,UAAU,kBACb,yBAAKA,UAAU,YACb,mDACA,2BACEA,UAAU,eACV+C,KAAK,SACLqM,YAAY,mBACZ0mB,IAAI,IACJtU,aAAc4iD,GACd/0D,SAAU,SAACC,GACT+0D,GAAmB/0D,EAAEM,OAAOzQ,aAMtC,kBAACsnB,EAAA,EAAM/U,OAAP,KACE,4BACE1R,UAAU,4BACVyM,QAAS,SAAC6C,GACRm1D,IAAiB,KAHrB,SAQA,4BACEtxD,SAAUuxD,GACV1kE,UAAS,sCAAiC0kE,IAAW,6CAErDj4D,QAAO,wCAAE,WAAO6C,GAAP,kFAELq1D,IAAW,GAFN,SAGCG,GAAOF,GAAOhhE,IAHf,cAIL6gE,IAAiB,GAJZ,SAKCf,KALD,OAML9jE,YAAa,UAAW,WACxB+kE,IAAW,GAPN,4GAAF,uDAJT,WAoBG,OAANrC,SAAM,IAANA,IAAA,WAAAA,GAAQzY,gBAAR,iBAAkBiiB,gBACjB,kBAACQ,GAAA,EAAD,CACEC,mBAAoB,CAAC,EAAG,GAAI,IAC5BvtC,QAAS,EACTwtC,MAAK,OAAElK,SAAF,IAAEA,IAAF,WAAEA,GAAQzY,gBAAV,cAAE,GAAkBiiB,cAAcjjE,OACvC80B,YAAaA,GACb3I,KAAMA,GACNy3C,YAAa,CACXvjD,WAAY,CAAE,aAAc,iBAC5BwjD,QAAQ,GAEVC,aA58CtB,SAA0B14D,EAAO24D,GAC/BtJ,GAAQsJ,IA48CYC,oBAz8CtB,SAAiC54D,GAC/BsvD,GAAej5D,SAAS2J,EAAMrE,OAAOzQ,MAAO,MAy8CxB2tE,iBAv8CtB,SAAgC/sE,GAC9B,IAAMQ,EAAU6iE,KACVltD,EAAQuU,eACN+hD,EAA2CzsE,EAA3CysE,MAAOx3C,EAAoCj1B,EAApCi1B,KAAM2I,EAA8B59B,EAA9B49B,YAAagvC,EAAiB5sE,EAAjB4sE,aAkBlC,OACE,yBAAK3sE,UAAWO,EAAQ4V,MACtB,kBAACknB,EAAA,EAAD,CACE5wB,QAnBN,SAAoCwH,GAClC04D,EAAa14D,EAAO,IAmBhBd,SAAmB,IAAT6hB,EACVxjB,aAAW,cAEU,QAApB0E,EAAMqmB,UAAsB,kBAAC,KAAD,MAAmB,kBAAC,KAAD,OAElD,kBAACc,EAAA,EAAD,CACE5wB,QAtBN,SAA+BwH,GAC7B04D,EAAa14D,EAAO+gB,EAAO,IAsBvB7hB,SAAmB,IAAT6hB,EACVxjB,aAAW,iBAEU,QAApB0E,EAAMqmB,UACL,kBAAC,KAAD,MAEA,kBAAC,KAAD,OAGJ,kBAACc,EAAA,EAAD,CACE5wB,QA7BN,SAA+BwH,GAC7B04D,EAAa14D,EAAO+gB,EAAO,IA6BvB7hB,SAAU6hB,GAAQjqB,KAAKO,KAAKkhE,EAAQ7uC,GAAe,EACnDnsB,aAAW,aAEU,QAApB0E,EAAMqmB,UACL,kBAAC,KAAD,MAEA,kBAAC,KAAD,OAGJ,kBAACc,EAAA,EAAD,CACE5wB,QApCN,SAAmCwH,GACjC04D,EAAa14D,EAAOlJ,KAAKgrB,IAAI,EAAGhrB,KAAKO,KAAKkhE,EAAQ7uC,GAAe,KAoC7DxqB,SAAU6hB,GAAQjqB,KAAKO,KAAKkhE,EAAQ7uC,GAAe,EACnDnsB,aAAW,aAEU,QAApB0E,EAAMqmB,UAAsB,kBAAC,KAAD,MAAoB,kBAAC,KAAD,eAq5C/C,kBAAC6I,GAAA,EAAUjlC,OAAX,CACEE,GAAImzB,IACJxzB,UAAU,6DACV2zB,QAAQ,OACR4R,SAAS,KAET,kBAACC,GAAA,EAAD,CAAO7R,QAAQ,WAAW3zB,UAAU,wBAClC,wBAAIA,UAAU,oBAAd,yBAEF,kBAAC4zB,EAAA,EAAD,CACE5zB,UAAWwpB,aACT,mDAEFplB,MAAO,CAAEC,SAAU,GAAIgkB,MAAO,OAAQod,IAAK,UAG/C,kBAACL,GAAA,EAAUM,SAAX,CAAoBH,SAAS,KAC3B,yBAAKvlC,UAAU,kBACb,yBAAKA,UAAU,kBACb,kBAAC,IAAD,CACE+sE,SAAU,CACR,CAAElpE,KAAM,gBAAiB8N,MAAO,kBAChC,CAAE9N,KAAM,gBAAiB8N,MAAO,mBAChC,CAAE9N,KAAM,SAAU8N,MAAO,WACzB,CAAE9N,KAAM,MAAO8N,MAAO,OACtB,CAAE9N,KAAM,cAAe8N,MAAO,eAC9B,CAAE9N,KAAM,WAAY8N,MAAO,aAC3B,CAAE9N,KAAM,SAAU8N,MAAO,UACzB,CAAE9N,KAAM,OAAQ8N,MAAO,QACvB,CACE9N,KAAM,WACN8N,MAAO,yBAET,CACE9N,KAAM,QACN8N,MAAO,SAET,CAAE9N,KAAM,gBAAiB8N,MAAO,iBAChC,CAAE9N,KAAM,eAAgB8N,MAAO,gBAC/B,CAAE9N,KAAM,kBAAmB8N,MAAO,oBAEpCsJ,MAAY,OAANqnD,SAAM,IAANA,IAAA,WAAAA,GAAQzY,gBAAR,iBAAkBmjB,sBAAuB,SAKrD3K,IACA,6BACE,kBAACj9B,GAAA,EAAUjlC,OAAX,CACEE,GAAImzB,IACJxzB,UAAU,6DACV2zB,QAAQ,OACR4R,SAAS,MAET,kBAACC,GAAA,EAAD,CAAO7R,QAAQ,WAAW3zB,UAAU,wBAClC,wBAAIA,UAAU,oBAAd,YAEF,kBAAC4zB,EAAA,EAAD,CACE5zB,UAAWwpB,aACT,mDAEFplB,MAAO,CAAEC,SAAU,GAAIgkB,MAAO,OAAQod,IAAK,UAG/C,kBAACL,GAAA,EAAUM,SAAX,CAAoBH,SAAS,MAC3B,oCACE,yBAAKvlC,UAAU,kBACb,yBAAKA,UAAU,kBACb,kBAAC,IAAD,CACE+sE,SAAU,CACR,CAAElpE,KAAM,KAAM8N,MAAO,MACrB,CAAE9N,KAAM,aAAc8N,MAAO,UAC7B,CACE9N,KAAM,oBACN8N,MAAO,kBAET,CAAE9N,KAAM,cAAe8N,MAAO,YAC9B,CAAE9N,KAAM,eAAgB8N,MAAO,iBAC/B,CAAE9N,KAAM,aAAc8N,MAAO,eAC7B,CAAE9N,KAAM,cAAe8N,MAAO,gBAC9B,CAAE9N,KAAM,cAAe8N,MAAO,gBAC9B,CACE9N,KAAM,qBACN8N,MAAO,uBAET,CAAE9N,KAAM,cAAe8N,MAAO,eAC9B,CAAE9N,KAAM,OAAQ8N,MAAO,SAEzBsJ,KAAMunD,IAAe,OAI3B,kBAAC/7C,EAAA,EAAD,CAAOrV,KAAMuyD,GAAcxyD,KAAK,MAC9B,kBAACsV,EAAA,EAAMlV,OAAP,KACE,kBAACkV,EAAA,EAAM9U,MAAP,kBACaoyD,GADb,aAGA,kBAAC1mC,EAAA,EAAD,CACEr9B,UAAU,+CACVwR,aAAW,QACX/E,QAAS,SAAC6C,GACRs0D,IAAgB,KAGlB,kBAAC,IAAD,QAGJ,kBAACn9C,EAAA,EAAMhV,KAAP,KACE,yBAAKzR,UAAU,kBACb,yBAAKA,UAAU,kBACb,kBAAC,IAAD,CACE+sE,SAAU,CACR,CAAElpE,KAAM,YAAa8N,MAAO,MAC5B,CAAE9N,KAAM,cAAe8N,MAAO,QAC9B,CAAE9N,KAAM,QAAS8N,MAAO,UAE1BsJ,KAAM4oD,IAAkB,QAKhC,kBAACp9C,EAAA,EAAM/U,OAAP,KACE,4BACE3O,KAAK,SACL0J,QAAS,WACPm3D,IAAgB,IAElB5jE,UAAU,kCALZ,eAeVqiE,IACA,6BACE,kBAACj9B,GAAA,EAAUjlC,OAAX,CACEE,GAAImzB,IACJxzB,UAAU,6DACV2zB,QAAQ,OACR4R,SAAS,KAET,kBAACC,GAAA,EAAD,CAAO7R,QAAQ,WAAW3zB,UAAU,wBAClC,wBAAIA,UAAU,oBAAd,UAEF,kBAAC4zB,EAAA,EAAD,CACE5zB,UAAWwpB,aACT,mDAEFplB,MAAO,CAAEC,SAAU,GAAIgkB,MAAO,OAAQod,IAAK,UAG/C,kBAACL,GAAA,EAAUM,SAAX,CAAoBH,SAAS,KAC3B,yBAAKvlC,UAAU,OACb,yBAAKA,UAAU,aACb,yBAAKA,UAAS,yBAEZ,yBAAKA,UAAU,sBACb,kBAACi+B,GAAA,EAAD,CAAOj+B,UAAWO,GAAQmW,MAAOvF,KAAK,SACpC,kBAAC2qB,GAAA,EAAD,KACE,kBAACC,GAAA,EAAD,KACE,kBAACC,GAAA,EAAD,oBACA,kBAACA,GAAA,EAAD,2BACA,kBAACA,GAAA,EAAD,uBACA,kBAACA,GAAA,EAAD,oBACA,kBAACA,GAAA,EAAD,uBACA,kBAACA,GAAA,EAAD,eACA,kBAACA,GAAA,EAAD,gBACA,kBAACA,GAAA,EAAD,iBACA,kBAACA,GAAA,EAAD,qBACA,kBAACA,GAAA,EAAD,sBAGJ,kBAACmC,GAAA,EAAD,YACGmkC,SADH,IACGA,IADH,WACGA,GAAQzY,gBADX,cACG,GAAkBojB,kBAAkBlpE,KACnC,SAACyD,GAAD,aACE,kBAACu0B,GAAA,EAAD,KACE,kBAACC,GAAA,EAAD,KAAYx0B,EAAI0b,MAChB,kBAAC8Y,GAAA,EAAD,KACGx0B,EAAI0lE,mBAEP,kBAAClxC,GAAA,EAAD,sBACGx0B,QADH,IACGA,OADH,EACGA,EAAK2lE,yBADR,QAC6B,KAE7B,kBAACnxC,GAAA,EAAD,KAAYx0B,EAAI4lE,YAChB,kBAACpxC,GAAA,EAAD,KAAYx0B,EAAI6lE,eAChB,kBAACrxC,GAAA,EAAD,KAAYx0B,EAAI8lE,QAChB,kBAACtxC,GAAA,EAAD,KACGx0B,EAAI+lE,kBAEP,kBAACvxC,GAAA,EAAD,KAAYx0B,EAAI+9D,eAChB,kBAACvpC,GAAA,EAAD,KACuB,OAApBx0B,EAAIg+D,YACD,IAAI7jE,KACF6F,EAAIg+D,aACJlsC,iBACF,IAEN,kBAAC0C,GAAA,EAAD,KAAYx0B,EAAI6hD,gBAItB,kBAACttB,GAAA,EAAD,KACE,kBAACC,GAAA,EAAD,MACA,kBAACA,GAAA,EAAD,MACA,kBAACA,GAAA,EAAD,KACE,2CAEF,kBAACA,GAAA,EAAD,KACE,uCACGsmC,SADH,IACGA,IADH,WACGA,GAAQzY,gBADX,cACG,GAAkB2jB,kBAGvB,kBAACxxC,GAAA,EAAD,KACE,uCACGsmC,SADH,IACGA,IADH,WACGA,GAAQzY,gBADX,cACG,GAAkBnB,eAGvB,kBAAC1sB,GAAA,EAAD,KACE,uCAASsmC,SAAT,IAASA,IAAT,WAASA,GAAQzY,gBAAjB,cAAS,GAAkB4jB,UAE7B,kBAACzxC,GAAA,EAAD,KACE,gCACyC,KAAhC,OAANsmC,SAAM,IAANA,IAAA,WAAAA,GAAQzY,gBAAR,iBAAkB2jB,iBACf,IAES,OAANlL,SAAM,IAANA,IAAA,WAAAA,GAAQzY,gBAAR,iBAAkB4jB,UAAlB,OACCnL,SADD,IACCA,IADD,WACCA,GAAQzY,gBADT,cACC,GAAkB2jB,iBACpB,KACArlE,QAAQ,KAGlB,kBAAC6zB,GAAA,EAAD,MACA,kBAACA,GAAA,EAAD,MACA,kBAACA,GAAA,EAAD,eAWpB,kBAACoJ,GAAA,EAAUjlC,OAAX,CACEE,GAAImzB,IACJxzB,UAAU,6DACV2zB,QAAQ,OACR4R,SAAS,KAET,kBAACC,GAAA,EAAD,CAAO7R,QAAQ,WAAW3zB,UAAU,wBAClC,wBAAIA,UAAU,oBAAd,UAEF,kBAAC4zB,EAAA,EAAD,CACE5zB,UAAWwpB,aACT,mDAEFplB,MAAO,CAAEC,SAAU,GAAIgkB,MAAO,OAAQod,IAAK,UAG/C,kBAACL,GAAA,EAAUM,SAAX,CAAoBH,SAAS,KAC3B,oCACE,yBAAKvlC,UAAU,kBACb,yBAAKA,UAAU,cACI,IAAhBqiE,GACC,kBAAC,IAAD,CACE0K,SAAU,CACR,CAAElpE,KAAM,KAAM8N,MAAO,KACrB,CAAE9N,KAAM,OAAQ8N,MAAO,QACvB,CAAE9N,KAAM,YAAa8N,MAAO,cAC5B,CAAE9N,KAAM,YAAa8N,MAAO,cAC5B,CAAE9N,KAAM,eAAgB8N,MAAO,YAC/B,CAAE9N,KAAM,YAAa8N,MAAO,YAE9BsJ,MACO,OAALyf,SAAK,IAALA,QAAA,EAAAA,GAAOnrB,QAAO,SAACm+D,GAAD,OAAiC,IAAvBA,EAAKjb,mBAC7B,KAIJ,yBAAKzyD,UAAWO,GAAQ4V,MACtB,kBAACgT,GAAA,EAAD,CAAOnpB,UAAWO,GAAQ8V,OACxB,kBAAC4nB,GAAA,EAAD,CACEj+B,UAAS,oBAAeO,GAAQmW,OAChCvF,KAAK,SAEL,kBAAC2qB,GAAA,EAAD,KACE,kBAACC,GAAA,EAAD,KACE,kBAACC,GAAA,EAAD,CAAWG,MAAM,QAAjB,MACA,kBAACH,GAAA,EAAD,CAAWG,MAAM,QAAjB,QACA,kBAACH,GAAA,EAAD,CAAWG,MAAM,QAAjB,aACA,kBAACH,GAAA,EAAD,CAAWG,MAAM,QAAjB,aACA,kBAACH,GAAA,EAAD,CAAWG,MAAM,QAAjB,gBACA,kBAACH,GAAA,EAAD,CAAWG,MAAM,QAAjB,aACA,kBAACH,GAAA,EAAD,CAAWG,MAAM,QAAjB,kBAGJ,kBAACgC,GAAA,EAAD,YACGzD,SADH,IACGA,QADH,EACGA,GAAO32B,KAAI,SAACyD,GAAD,OACV,kBAACu0B,GAAA,EAAD,CAAUz0B,IAAKE,EAAIxB,MACjB,kBAACg2B,GAAA,EAAD,CAAWG,MAAM,QAAQ30B,EAAI5D,IAC7B,kBAACo4B,GAAA,EAAD,CAAWG,MAAM,QAAQ30B,EAAIiK,MAC7B,kBAACuqB,GAAA,EAAD,CAAWG,MAAM,QACd30B,EAAImmE,WAEP,kBAAC3xC,GAAA,EAAD,CAAWG,MAAM,QACd30B,EAAIqkE,WAEP,kBAAC7vC,GAAA,EAAD,CAAWG,MAAM,QACd30B,EAAIomE,cAEP,kBAAC5xC,GAAA,EAAD,CAAWG,MAAM,QACd30B,EAAIu+D,WAEP,kBAAC/pC,GAAA,EAAD,CAAWG,MAAM,QACQ,IAAtB30B,EAAIirD,cACD,UACsB,IAAtBjrD,EAAIirD,cACJ,SACA,gBAa5B,kBAACrtB,GAAA,EAAUjlC,OAAX,CACEE,GAAImzB,IACJxzB,UAAU,6DACV2zB,QAAQ,OACR4R,SAAS,KAET,kBAACC,GAAA,EAAD,CAAO7R,QAAQ,WAAW3zB,UAAU,wBAClC,wBAAIA,UAAU,oBAAd,gBAEF,kBAAC4zB,EAAA,EAAD,CACE5zB,UAAWwpB,aACT,mDAEFplB,MAAO,CAAEC,SAAU,GAAIgkB,MAAO,OAAQod,IAAK,UAG/C,kBAACL,GAAA,EAAUM,SAAX,CAAoBH,SAAS,KAC3B,oCACE,yBAAKvlC,UAAU,kBACb,yBAAKA,UAAU,kBAEb,yBAAKA,UAAU,6BACb,wBAAIA,UAAU,2CAAd,2BAIe,IAAhBqiE,GACC,kBAACwL,GAAA,EAAD,CACEztE,GAAIwD,GACJy+D,aAAa,EACbyL,eAAc,OAAExL,SAAF,IAAEA,IAAF,WAAEA,GAAQzY,gBAAV,cAAE,GAAkBW,YAClC5pD,KAAK,aALR,OAQC4pD,SARD,IAQCA,QARD,EAQCA,GAAazmD,KAAI,SAAC8D,EAAG5D,GAAJ,aACf,kBAAC8pE,GAAD,CACElmE,EAAGA,EACHP,IAAKrD,EACLA,MAAOA,EACP7D,GAAE,OAAEkiE,SAAF,IAAEA,IAAF,UAAEA,GAAQzY,gBAAV,aAAE,EAAkBjmD,UAShC,kBAAC6iB,EAAA,EAAD,CACEtV,KAAK,KACLC,KAAM4zD,GACN3zD,OAAQ,WACN4zD,IAAkB,IAEpB3zD,kBAAgB,gCAEhB,kBAACmV,EAAA,EAAMlV,OAAP,KACE,kBAACkV,EAAA,EAAM9U,MAAP,2CAC+B2wD,SAD/B,IAC+BA,IAD/B,WAC+BA,GAAQzY,gBADvC,cAC+B,GAAkBjmD,IAEjD,kBAACy5B,EAAA,EAAD,CACEr9B,UAAU,+CACVwR,aAAW,QACX/E,QAAS,WACPw4D,IAAkB,KAGpB,kBAAC,IAAD,QAGJ,kBAACx+C,EAAA,EAAMhV,KAAP,KACE,oCACE,yBAAKzR,UAAU,uBACb,yBAAKA,UAAU,aACf,yBACEA,UAAU,WACVoE,MAAO,CAAEyN,cAAe,UAExB,4BACE9O,KAAK,SACLoQ,SAAU+xD,GACVllE,UAAU,8BACVyM,QAAS,WACP,IAAMqF,EAAWK,GAASxJ,QACxB,YACA,IAEF1F,KAAUkP,GAAUL,KATxB,YAaU,MAGJ,QAAT/O,GACC,yBAAK/C,UAAU,iBAAiBsH,IAAKyD,KAAKgH,UACxC,yBACE/R,UAAU,sBACVsH,IAAKyD,KAAKgH,UAEV,kBAAC,KAAD,CACEvT,SAAU,CACRwT,IAAKG,QAMb,yBAAKnS,UAAU,iBAAiBsH,IAAKyD,KAAKgH,UACxC,yBAAK/R,UAAU,YAAYsH,IAAKyD,KAAKgH,UACnC,kBAAC,KAAD,CACEG,SAAUnP,GACVoP,SAAUA,GACVC,QA5vDZ,SAAC9C,GACflM,QAAQC,IAAIiM,EAAG,yBA4vDWtP,UAAU,cAOtB,kBAACymB,EAAA,EAAM/U,OAAP,KACE,4BACE3O,KAAK,SACL0J,QAAS,WACPw4D,IAAkB,IAEpBjlE,UAAU,kCALZ,cAcNqiE,IACA,6BACE,kBAACj9B,GAAA,EAAUjlC,OAAX,CACEE,GAAImzB,IACJxzB,UAAU,6DACV2zB,QAAQ,OACR4R,SAAS,KAET,kBAACC,GAAA,EAAD,CAAO7R,QAAQ,WAAW3zB,UAAU,wBAClC,wBAAIA,UAAU,oBAAd,eAEF,kBAAC4zB,EAAA,EAAD,CACE5zB,UAAWwpB,aACT,mDAEFplB,MAAO,CAAEC,SAAU,GAAIgkB,MAAO,OAAQod,IAAK,UAG/C,kBAACL,GAAA,EAAUM,SAAX,CAAoB1lC,UAAU,OAAOulC,SAAS,KACf,OAA5By9B,GACC,kBAAC,IAAD,CACEj2D,UAAWi2D,IAA2B,KAGxC,yBAAKhjE,UAAS,yBACZ,yBAAKA,UAAU,mCACb,yBACEA,UAAU,YACVoE,MAAO,CAAEsM,UAAW,WAFtB,2BAgBlB,kBAAC+V,EAAA,EAAM/U,OAAP,KACE,4BACE3O,KAAK,SACL0J,QAAS,WACPsxD,IAAQ,IAEV/9D,UAAU,kCALZ,WAxjE4D,SAqkEnD0jE,KArkEmD,+EAqkElE,+FACQrvD,MAAM,UAAGxP,OAAOyP,QAAV,wBAA0C1Q,GAAI,CACxD2Q,OAAQ,MACRC,iBAAiB,EACjBC,QAAS,CACPiL,OAAQ,oCACRhL,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,sBAGjBC,KAVG,wCAUE,WAAOC,GAAP,0FACqBA,EAASE,OAD9B,cACED,EADF,gBAEeD,EAAS1N,OAFxB,cAEE5E,EAFF,yBAGGyS,QAAQC,IAAI,CAACH,EAAYvS,KAH5B,2CAVF,uDAeHqS,MAAK,SAACM,GACL,IAAM3L,EAAI2L,EAAI,GACdqtD,GAAUh5D,GACV45D,GAAsB55D,GACtBo5D,GAAmBp5D,EAAEsgD,SAASW,aAC9B,IAAIvlD,EAAIsE,EAAEsgD,SAASnvB,MACnBz1B,EAAE/D,SAAQ,SAAC2G,GACTA,EAAEk+D,UAAYp8D,YAAU,OAAC9B,QAAD,IAACA,OAAD,EAACA,EAAGk+D,cAE9BrD,GAAaz9D,MAEdkQ,OAAM,SAAC5K,GACNnH,QAAQmH,MAAMA,MA5BpB,OA8BE04D,GAA2B,MAC3B5uD,MAAMxP,OAAOyP,QAAP,oBAA8B1Q,IAAM,CACxC2Q,OAAQ,MACRC,iBAAiB,EACjBC,QAAS,CACPiL,OAAQ,oCACRhL,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,sBAGjBC,MAAK,SAACC,GAAD,OAAcA,EAAS5V,UAC5B2V,MAAK,SAACzF,GACL,IAAI2d,EAAM/rB,KAAKC,MAAMmO,GACrBs0D,GAAU32C,GACV+1C,GAAqB/1C,EAAIkhD,UACzBjL,GAA6Bj2C,EAAImhD,UAEjCnhD,EAAI1f,WAAWV,MAAK,SAASnD,EAAGtE,GAC9B,OAAO,IAAItD,KAAKsD,EAAE4H,SAAW,IAAIlL,KAAK4H,EAAEsD,YAE1CigB,EAAI1f,WAAWlM,SAAQ,SAAC2G,EAAGe,GACzBf,EAAEzH,GAAKwI,KAETq6D,IAA8B,OAAHn2C,QAAG,IAAHA,OAAA,EAAAA,EAAK1f,aAAc,OAE/C+H,OAAM,SAAC5K,GAAD,OAAWnH,QAAQC,IAAI,QAASkH,MAxD3C,4CArkEkE,sBAgoElE,SAASyD,GAAaC,GACpB,IAAIC,EAAWD,EAAK7F,MAAM,SAAS+F,MACjCC,EAAMF,EAASG,YAAY,KAC7B,MAAiB,KAAbH,GAAmBE,EAAM,EAAU,GAChCF,EAASzM,MAAM2M,EAAM,GApoEoC,SAsoEnD8/D,GAtoEmD,oFAsoElE,WAA+BC,EAAWC,GAA1C,kFACe/5D,MACXxP,OAAOyP,QAAP,yCACoC65D,EADpC,YACiDC,EADjD,kCAEA,CACE75D,OAAQ,MACRC,iBAAiB,EACjBC,QAAS,CACPiL,OAAQ,oCACRhL,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,sBAInBC,KAdU,wCAcL,WAAOC,GAAP,0FACqBA,EAASE,OAD9B,cACED,EADF,gBAEeD,EAAS1N,OAFxB,cAEE5E,EAFF,yBAGGyS,QAAQC,IAAI,CAACH,EAAYvS,KAH5B,2CAdK,uDAmBVqS,KAnBU,wCAmBL,WAAOM,GAAP,0EACJ,IACQ3S,EAAO2S,EAAI,GACXhD,EAAWlE,GAAazL,EAAK8rE,gBACnCjJ,GAAYlzD,EAAShD,eACrBm2D,GAAY9iE,EAAK8rE,gBACjBlJ,IAAoB,GACpB,MAAOtlE,IAPL,yBAQGqV,EAAI,IARP,2CAnBK,uDA6BVC,OAAM,SAAC5K,GACNnH,QAAQmH,MAAMA,MA/BpB,oFAtoEkE,sBAwqElE,SAASwjE,GAAT,GAA8C,IAAtBlmE,EAAqB,EAArBA,EAAG5D,EAAkB,EAAlBA,MAAY7D,GAAM,EAAX2oD,IAAW,EAAN3oD,IACrC,OACE,oCACE,kBAACulC,GAAA,EAAD,CACE3lC,UACE,iCAAmCiE,EAAQ,IAAM,GAAK,aAGxD,kBAAC0hC,GAAA,EAAKl0B,KAAN,KACE,kBAACk0B,GAAA,EAAKh0B,MAAN,CAAY3R,UAAU,iBACpB,uBAAGmE,MAAM,qBADX,WACoC0D,QADpC,IACoCA,OADpC,EACoCA,EAAGgkE,WAEvC,uBAAG7rE,UAAU,6CACV,IAAI2B,KAAJ,OAASkG,QAAT,IAASA,OAAT,EAASA,EAAGgF,SAASysB,kBAExB,kBAACqM,GAAA,EAAK2oC,KAAN,CAAWtuE,UAAU,aACnB,uBAAGA,UAAU,sBAAb,cACA,2BACE,uBACEyM,QAAO,uBAAE,sFACPw4D,IAAkB,GADX,SAEDiJ,GAAgB9tE,EAAIyH,EAAEjE,IAFrB,2CAIT8E,KAAM,kBAAM,GAEZo2B,KAAK,SACL9+B,UAAU,0CARZ,OAUG6H,QAVH,IAUGA,OAVH,EAUGA,EAAG0mE,WAKR,yBAAKvuE,UAAW,eACd,yBAAKA,UAAU,YACb,uBAAGA,UAAU,qBAAb,qBAAuD,IACvD,sCAAK6H,QAAL,IAAKA,OAAL,EAAKA,EAAGjH,OAEV,yBAAKZ,UAAU,YACb,uBAAGA,UAAU,qBAAb,kBAAoD,IACpD,sCAAK6H,QAAL,IAAKA,OAAL,EAAKA,EAAG2mE,kBAMlB,+B,s2MC75JR,IAAI1uB,GAAUjiD,EAAQ,KAChBI,GAAU,IAAIC,IAAa,MAC3BC,GAAKC,IAAIH,IAITwzB,GAAaC,YAAW,CAC5Brb,MAAO,CACLzC,OAAQ,sBAFO8d,EAIhB,SAAC3xB,GAAD,OACD,kBAACS,EAAA,EAAD,eACEmxB,UAAW,EACXC,mBAAoB,KACpBC,aAAc,CACZC,SAAU,SACVC,WAAY,UAEdC,gBAAiB,CACfF,SAAU,MACVC,WAAY,WAEVhyB,OAGFkyB,GAAiBP,aAAW,SAACxb,GAAD,MAAY,CAC5CC,KAAM,CACJ,UAAW,CACTyR,gBAAiB1R,EAAM4R,QAAQqD,QAAQ+G,KACvC,sDAAuD,CACrDnjB,MAAOmH,EAAM4R,QAAQqK,OAAOC,YALbV,CASnB1H,KAEAhoB,GAAU,SAASgK,GACrB,GAAU,OAANA,GAAoB,KAANA,QAAkBlG,IAANkG,EAAiB,MAAO,GACtD,IAAIxC,EAAS,qBAQb,OANEjI,IAAOyK,GACJC,QAAQ,OACRC,YAAc3K,IAAOyK,GAAGE,YAE3B1C,EAAS,cAGT,0BAAMxJ,UAAU,mDACbuB,IAAOyK,GAAGxC,OAAOA,KAKjB,SAASilE,KACd,MAA8CzhE,oBAAS,GAAvD,mBAAO0hE,EAAP,KAAwBC,EAAxB,KACA,EAA4C3hE,oBAAS,GAArD,mBAAO4hE,EAAP,KAAuBC,EAAvB,KAEA,EAAgC7hE,mBAAS,MAAzC,mBAAO6lB,EAAP,KAAiBC,EAAjB,KACA,EAA0C9lB,mBAAS,MAAnD,mBAAO0mD,EAAP,KAAsBob,EAAtB,KACA,EAAkC9hE,mBAAS,MAA3C,mBAAOksD,EAAP,KAAkB6V,EAAlB,KACA,EAAkD/hE,oBAAS,GAA3D,mBAAOgiE,EAAP,KAA0BC,EAA1B,KACA,EAAsCjiE,mBAAS,IAA/C,mBAAO2mD,EAAP,KAAoBC,GAApB,KACA,GAA8C5mD,mBAAS,IAAvD,qBAAO6mD,GAAP,MAAwBqb,GAAxB,MACA,GAAkEliE,oBAChE,GADF,qBAAkCmiE,IAAlC,aAGA,GAAkDniE,mBAAS,CACzD4nB,QAAQ,EACRC,UAhEa,EAiEb/F,UAAW,gBACXD,UAAW,OACXN,gBAAiB,CACf,CAAEtvB,KAAM,KAAME,MAAO,IACrB,CAAEF,KAAM,KAAME,MAAO,IACrB,CAAEF,KAAM,KAAME,MAAO,KAEvB41B,YAAa,GACbC,KAAM,IAXR,qBAAOL,GAAP,MAA0BsiC,GAA1B,MAaA,GAA0CjqD,mBAAS,CACjDuW,UAAW,GACX6zC,QAASvyD,OAAOi1D,6BAChBzC,KAAMxyD,OAAOg1D,0BACbvC,eAAgB,GAChB8C,WAAY,KACZpX,OAAQn+C,OAAO80D,eACfpC,SAAU,GACVC,SAAU,GACVE,cAAe,UACfQ,aAAc,GACdT,SAAU,GACVrO,SAAU,GACVn+C,WAAW,IAAItJ,MACZytE,SAAS,IACTjmE,cACAf,MAAM,KAAK,GACd+C,SAAS,IAAIxJ,MAAOwH,cAAcf,MAAM,KAAK,GAC7C4qD,SAAU,GACV+D,WAAY,GACZY,KAAK,EACLC,QAAQ,EACR2C,SAAS,EACT3X,QAAQ,EACRiV,SAAUhzD,OAAOw1D,4BACjBC,gBAAiB,GACjBxC,OAAQjzD,OAAO21D,4BA1BjB,qBAAO/G,GAAP,MAAsBuD,GAAtB,MAsEA,SAASqY,GAAgBC,GACvBX,GAAmB,GACnB,IAAIt9C,EAAaoiC,GAAclwC,UAAU1a,OAAS,EAAI,GAAK,eAC3D4qD,GAAclwC,UAAUriB,SAAQ,SAAC8C,EAAMC,GACrCotB,IACa,IAAVptB,EAAc,eAAiB,gBAAkBD,EAAK7E,SAE3D,IAAIkW,EAAY,IAAIC,QACpBD,EAAUE,OAAO,gBAAjB,iBAA4CpX,GAAG8L,OAAOC,WAAWyK,QAEjE,IAAIa,EAAiB,CACnBjB,OAAQ,MACRE,QAASY,EACTI,SAAU,UAEZ,GAAkB,OAAd65D,QAAoCxpE,IAAdwpE,EAAyB,CACjD,IAAIC,EAAa,eAAQ9b,IACzB8b,EAAcvsB,OAASssB,EACvBtY,GAAiBuY,GAEnBl7D,MAAM,GAAD,OACAxP,OAAOyP,QADP,+BACqC+c,EADrC,4BACmEoiC,GAAc6G,gBADjF,qBAC6G7G,GAAcT,SAD3H,sBACiJS,GAAc2D,QAD/J,mBACiL3D,GAAc4D,KAD/L,2BACsN5D,GAAc6D,eADpO,4BACsQ7D,GAAc8D,SADpR,4BACgT9D,GAAc+D,SAD9T,uBACqV/D,GAAcgE,SADnW,qBACwXhE,GAAcrK,SADtY,uBAC6ZqK,GAAciE,cAD3a,sBACscjE,GAAcxoD,UADpd,oBACyewoD,GAActoD,QADvf,kBACwgBsoD,GAAckE,IADthB,oBACqiBlE,GAAc8G,QADnjB,gCACklB9G,GAAcmE,OADhmB,sBAConBnE,GAAcyE,aADloB,qBAC2pBzE,GAAc2G,WADzqB,mBAC8rB3G,GAAc7Q,OAD5sB,qBAC+tB6Q,GAAcqE,OAD7uB,uBACkwBnjC,GAAkBK,KADpxB,qBACqyBL,GAAkBI,YADvzB,sBACg1BJ,GAAkB7F,UADl2B,sBACy3B6F,GAAkB9F,UAD34B,mBAC+5B4kC,GAAczQ,QACh7BxtC,GAECZ,MAAK,SAACC,GAAD,OAAcA,EAAS5V,UAC5B2V,MAAK,SAACzF,GAAY,IAAD,EACZo0C,EAAUxiD,KAAKC,MAAMmO,GACzB2/D,EAAiBvrB,GAGjB,IAAIisB,EAAkB,eAAQ76C,IAC9B66C,EAAmB36C,UAAnB,OAA+B0uB,QAA/B,IAA+BA,GAA/B,UAA+BA,EAASI,kBAAxC,aAA+B,EAAqBC,eACpD4rB,EAAmBx6C,KAAO,EAC1B4+B,GAAe,IACfsb,GAAmB,IACnBjY,GAAqBuY,GAErBb,GAAmB,MAEpBx5D,OAAM,SAAC5K,GACNnH,QAAQC,IAAI,QAASkH,GACrBokE,GAAmB,MAGzB,SAASzd,GAA2BhqD,GAClCynE,GAAmB,GAEnB,IAAIt9C,EAAaoiC,GAAclwC,UAAU1a,OAAS,EAAI,GAAK,eAC3D4qD,GAAclwC,UAAUxf,KAAI,SAACC,EAAMC,GACjCotB,IACa,IAAVptB,EAAc,eAAiB,gBAAkBD,EAAK7E,SAE3D,IAAIkW,EAAY,IAAIC,QACpBD,EAAUE,OAAO,gBAAjB,iBAA4CpX,GAAG8L,OAAOC,WAAWyK,QAEjE,IAAIa,EAAiB,CACnBjB,OAAQ,MACRE,QAASY,EACTI,SAAU,UAGZpB,MAAM,GAAD,OACAxP,OAAOyP,QADP,+BACqC+c,EADrC,4BACmEoiC,GAAc6G,gBADjF,qBAC6G7G,GAAcT,SAD3H,sBACiJS,GAAc2D,QAD/J,mBACiL3D,GAAc4D,KAD/L,2BACsN5D,GAAc6D,eADpO,4BACsQ7D,GAAc8D,SADpR,4BACgT9D,GAAc+D,SAD9T,uBACqV/D,GAAcgE,SADnW,qBACwXhE,GAAcrK,SADtY,uBAC6ZqK,GAAciE,cAD3a,sBACscjE,GAAcxoD,UADpd,oBACyewoD,GAActoD,QADvf,kBACwgBsoD,GAAckE,IADthB,oBACqiBlE,GAAc8G,QADnjB,gCACklB9G,GAAcmE,OADhmB,sBAConBnE,GAAcyE,aADloB,qBAC2pBzE,GAAc2G,WADzqB,mBAC8rB3G,GAAc7Q,OAD5sB,qBAC+tB6Q,GAAcqE,OAD7uB,uBACkwB5wD,EAAO8tB,KADzwB,qBAC0xB9tB,EAAO6tB,YADjyB,sBAC0zB7tB,EAAO4nB,UADj0B,sBACw1B5nB,EAAO2nB,UAD/1B,mBACm3B4kC,GAAczQ,QACp4BxtC,GAECZ,MAAK,SAACC,GAAD,OAAcA,EAAS5V,UAC5B2V,MAAK,SAACzF,GAAY,IAAD,EACZo0C,EAAUxiD,KAAKC,MAAMmO,GACrBsgE,EAAkB,eAAQ96C,IAC9B86C,EAAmB56C,UAAnB,OAA+B0uB,QAA/B,IAA+BA,GAA/B,UAA+BA,EAASI,kBAAxC,aAA+B,EAAqBC,eACpD6rB,EAAmB3gD,UAAY5nB,EAAO4nB,UACtC2gD,EAAmB5gD,UAAY3nB,EAAO2nB,UACtC4gD,EAAmBz6C,KAAO9tB,EAAO8tB,KACjCy6C,EAAmB16C,YAAc7tB,EAAO6tB,YACxCkiC,GAAqBwY,GACrB7b,GAAe,IACfsb,GAAmB,IACnBP,GAAmB,GACnBG,EAAiBvrB,MAElBpuC,OAAM,SAAC5K,GACNnH,QAAQC,IAAI,QAASkH,GACrBokE,GAAmB,MAlLkB,SA6M5Bz7C,GA7M4B,oFA6M3C,WAA2BnwB,EAAMowB,GAAjC,+EACM9B,EAAaoiC,GAAclwC,UAAU1a,OAAS,EAAI,GAAK,eAC3D4qD,GAAclwC,UAAUxf,KAAI,SAACC,EAAMC,GACjCotB,IACa,IAAVptB,EAAc,eAAiB,gBAAkBD,EAAK7E,SAE3D8vE,GAAqB,GANvB,SAOe56D,MAAM,GAAD,OACbxP,OAAOyP,QADM,+BACwB+c,EADxB,4BACsDoiC,GAAc6G,gBADpE,sBACiG7G,GAAcyE,aAD/G,qBACwIzE,GAAcT,SADtJ,sBAC4KS,GAAc2D,QAD1L,mBAC4M3D,GAAc4D,KAD1N,2BACiP5D,GAAc6D,eAD/P,4BACiS7D,GAAc8D,SAD/S,4BAC2U9D,GAAc+D,SADzV,uBACgX/D,GAAcgE,SAD9X,qBACmZhE,GAAcrK,SADja,uBACwbqK,GAAciE,cADtc,sBACiejE,GAAcxoD,UAD/e,oBACogBwoD,GAActoD,QADlhB,kBACmiBsoD,GAAckE,IADjjB,oBACgkBlE,GAAc8G,QAD9kB,gCAC6mB9G,GAAcmE,OAD3nB,gCACypBnE,GAAcoE,SADvqB,qBAC4rBpE,GAAcqE,OAD1sB,uBAC+tBnjC,GAAkBK,KADjvB,uCACoxBL,GAAkB7F,UADtyB,sBAC6zB6F,GAAkB9F,UAD/0B,mBACm2B4kC,GAAczQ,QACj4B,CACEzuC,OAAQ,MACRC,iBAAiB,EACjBC,QAAS,CACPiL,OAAQ,oCACRhL,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,sBAInBC,KAbU,wCAaL,WAAOC,GAAP,0FACqBA,EAASE,OAD9B,OAEJ,GAAmB,OADbD,EADF,QAGF,IACEtW,SAASsR,eAAe,WAAWinB,QACnC,MAAOl3B,GACPuD,QAAQC,IAAIxD,GANZ,gBASegV,EAAS1N,OATxB,cASE5E,EATF,yBAUGyS,QAAQC,IAAI,CAACH,EAAYvS,KAV5B,2CAbK,uDAyBVqS,MAAK,SAACM,GACLxU,YAAOwU,EAAI,GAAGgvC,UAAWnhD,EAAMowB,GAC/B87C,GAAqB,MAEtB95D,OAAM,SAAC5K,GACNnH,QAAQmH,MAAMA,GACd0kE,GAAqB,MAtC3B,oFA7M2C,sBAyD3Cn7D,qBAAU,WACJjP,OAAO80D,iBAAmBlG,GAAczQ,QAC1CgU,GAAiB,CACfzzC,UAAW,GACX6zC,QAASvyD,OAAOi1D,6BAChBzC,KAAMxyD,OAAOg1D,0BACbvC,eAAgB,GAChB8C,WAAY,KACZpX,OAAQn+C,OAAO80D,eACfpC,SAAU,GACVC,SAAU,GACVE,cAAe,UACfQ,aAAc,GACdT,SAAU,GACVrO,SAAU,GACVn+C,UAAWpG,OAAO6qE,oBAClBvkE,QAAS,GACT6nD,SAAU,GACV+D,WAAY,GACZY,KAAK,EACLC,QAAQ,EACRhV,QAAQ,EACR2X,SAAS,EACT1C,SAAUhzD,OAAOw1D,4BACjBC,gBAAiB,GACjBxC,OAAQjzD,OAAO21D,8BAGlB,CAAC31D,OAAO80D,iBAMX7lD,qBAAU,WACRu7D,OACC,CAAC5b,KA4GJ3/C,qBAAU,WAnBRO,MAAMxP,OAAOyP,QAAU,2CAA4C,CACjEC,OAAQ,MACRC,iBAAiB,EACjBC,QAAS,CACPiL,OAAQ,oCACRhL,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,sBAGjBC,MAAK,SAACM,GAAD,OAASA,EAAI/N,UAClByN,MAAK,SAACM,GACL65D,EAAa75D,MAEdC,OAAM,WAEL,OADAvV,YAAa,QAAS,QACf,KAKXyvE,OACC,IA2CH,IAAM33C,GAAY,CAChB2/B,KAAM,WACNpwC,SAAU0sC,EACVgc,iBAC8B,OAAf,OAAblc,SAAa,IAAbA,QAAA,EAAAA,GAAeT,WAAgD,KAAf,OAAbS,SAAa,IAAbA,QAAA,EAAAA,GAAeT,UAGpD4c,SAAU,SAACpoE,EAAKqoE,EAAUx7C,EAAU/kB,GAClC,IAcO,IAdH/F,EAAI,GACJtE,EAAI,GACJ4qE,GAEF5qE,EAAI4uD,IADJtqD,EAAIoqD,GAEF7qD,KAAKtB,EAAI5D,IACXqB,EAAE6D,KAAKtB,GACPosD,GAAerqD,GACf2lE,GAAmBjqE,GACfA,EAAE4D,OAAS,EACbsmE,IAA6B,GAE7BA,IAA6B,KAI/BlqE,EAAI4uD,GACJtqD,EAAC,UAFDA,EAAIoqD,SAEH,aAAG,EAAGpkD,QAAO,SAACm+D,GAAD,OAAUlsE,OAAOksE,KAAUlsE,OAAOgG,EAAI5D,OACpDqB,EAAC,UAAGA,SAAH,aAAG,EAAGsK,QAAO,SAACm+D,GAAD,OAAUlsE,OAAOksE,EAAK9pE,MAAQpC,OAAOgG,EAAI5D,OACvDgwD,GAAerqD,GACf2lE,GAAmBjqE,GACfA,EAAE4D,OAAS,EACbsmE,IAA6B,GAE7BA,IAA6B,KAInCW,YAAa,SAAC7lD,EAAYhP,GACpBgP,GACF2pC,GAAe34C,EAAKlX,KAAI,SAACwF,GAAD,OAAOA,EAAE3F,OACjCsrE,GAAmBj0D,GACnBk0D,IAA6B,KAE7Bvb,GAAe,IACfsb,GAAmB,IACnBC,IAA6B,MAI7BY,GAAwB,SAAChtE,EAAMshD,GACnC,GAAa,SAATthD,EAAiB,CACnB,IAAImE,EAAM,eAAQytB,IAElB,GACEztB,EAAO4nB,YAAcu1B,EAASv1B,WAC9B5nB,EAAO2nB,YAAcw1B,EAASx1B,UAE9B,OAEF3nB,EAAO4nB,UAAYu1B,EAASv1B,UAC5B5nB,EAAO2nB,UAAYw1B,EAASx1B,UAE5BqiC,GAA2BhqD,GAE7B,GAAa,eAATnE,EAAuB,CACzB,IAAImE,EAAM,eAAQytB,IAClBztB,EAAO6tB,YAAcsvB,EAAStvB,YAC9B7tB,EAAO8tB,UAAyBlvB,IAAlBu+C,EAASrvB,KAAqB,EAAIqvB,EAASrvB,KAEzDk8B,GAA2BhqD,KAG/B4M,qBAAU,WACRk8D,GAAWC,MACV,CAACvc,IACJ5/C,qBAAU,WACRo8D,GAAYzc,GAAcT,YACzB,CAACS,GAAcT,WAElB,OAAmDhmD,oBAAS,GAA5D,qBAAOmjE,GAAP,MAA4B7U,GAA5B,MACA,GAAkDtuD,oBAAS,GAA3D,qBAAOojE,GAAP,MAA2B1U,GAA3B,MACA,GAAwB1uD,oBAAS,GAAjC,qBAAOqjE,GAAP,MAAe1U,GAAf,MACA,GAA0B3uD,oBAAS,GAAnC,qBAAOizD,GAAP,MAAgB5E,GAAhB,MACA,GAA0BruD,mBAAS,MAAnC,qBAAOU,GAAP,MAAgBwyD,GAAhB,MACA,GAAgClzD,mBAAS,MAAzC,qBAAiByuD,IAAjB,aACA,GAAgCzuD,mBAAS,GAAzC,qBAAOgmD,GAAP,MAAiBkd,GAAjB,MACMD,GAAmB,CACvB,CACE7jE,UAAW,KACXnN,KAAM,IACNoN,UAAW,SAACC,EAAM9E,GAChB,IAAMyc,EAAU,CACdq3C,oBAAqBA,GACrBI,oBAAqBA,GACrBL,OAAQA,GACRM,MAAOA,GACPhuD,WAAYuyD,GACZzE,YAAaA,GACboT,kBAAmBA,EACnBD,eAAgBA,GAElB,OACE,kBAAC,GAAD,CACEtiE,KAAMA,EACN9E,IAAG,2BAAOA,GAAP,IAAYpH,GAAIoH,EAAI5D,KACvB6vD,cAAeA,GACfC,cAAeA,EACfxC,2BAA4BA,GAC5Bv8B,kBAAmBA,GACnBymC,aAAcn3C,MAKtB,CACE7X,UAAW,KACXnN,KAAM,KACNyN,MAAM,EACNC,UAAWA,IACXN,UAAW,SAACC,EAAM9E,GAChB,OACE,kBAAC,IAAD,CAAqBA,IAAG,2BAAOA,GAAP,IAAYpH,GAAIoH,EAAI5D,KAAMw+D,OAAO,KAG7Dh+D,MAAO,CACLuS,SAAU,UAGd,CACEvK,UACe,IAAb4mD,GACI,gBACa,IAAbA,GACA,mBACa,IAAbA,GACA,oCACa,IAAbA,GACA,mCACa,MAAbA,GACA,sBACa,IAAbA,GACA,qBAEA,gBAEN/zD,KACe,IAAb+zD,GACI,eACa,IAAbA,GACA,gBACa,IAAbA,GACA,eACa,IAAbA,GACA,cACa,MAAbA,GACA,sBACa,IAAbA,GACA,iBAEA,eAEN3mD,UAAW,SAACC,EAAM9E,GAChB,OACE,oCACE,0BAAMrD,MAAM,sCAENnC,GADU,IAAbgxD,GACWxrD,EAAIy/D,cACC,IAAbjU,GACQxrD,EAAI++D,iBACC,IAAbvT,GACQxrD,EAAIg/D,kCACC,IAAbxT,GACQxrD,EAAI2/D,iCACC,MAAbnU,GACQxrD,EAAI4+D,oBACC,IAAbpT,GACQxrD,EAAIi/D,mBAEJj/D,EAAIy/D,kBAMxBv6D,MAAM,EACNC,UAAWA,KAEb,CACEP,UAAW,kBACXnN,KAAM,iBACNyN,MAAM,EACNC,UAAWA,KAEb,CACEP,UAAW,eACXnN,KAAM,WACNyN,MAAM,EACNC,UAAWA,IACXN,UAAW,SAACC,EAAM9E,GAChB,GACuB,OAArBA,EAAI8oE,cACiB,KAArB9oE,EAAI8oE,mBACiBxqE,IAArB0B,EAAI8oE,aAEJ,OACE,oCACG9oE,EAAI8oE,aAAe,IACpB,kBAAC72B,EAAA,EAAD,CACEjtC,QACE,kBAAC4wB,EAAA,EAAD,CAASh9B,GAAG,yBACToH,EAAI2Y,eAIT,uBACEzX,KAAM,kBAAM,GACZ1I,UAAU,iDAEV,0BAAMA,UAAU,sCACd,kBAAC,IAAD,CACEwI,IAAKC,YACH,iDAWpB,CACE2D,UAAW,oBACXnN,KAAM,0BACNyN,MAAM,EACNC,UAAWA,IACXN,UAAW,SAACC,EAAM9E,GAChB,IAAI+oE,GACyB,OAA1B/oE,EAAIgpE,kBAA6BhpE,EAAIgpE,kBAAoB,IAC1D,IACAhpE,EAAI2/B,UACe,OAAlB3/B,EAAI4/B,WAAwC,KAAlB5/B,EAAI4/B,UAC3B,KAAO5/B,EAAI4/B,UACX,IACN,GAC4B,OAA1B5/B,EAAIgpE,mBACsB,KAA1BhpE,EAAIgpE,wBACsB1qE,IAA1B0B,EAAIgpE,kBAEJ,OACE,oCACGhpE,EAAIipE,kBAAoB,IACzB,kBAACh3B,EAAA,EAAD,CACEjtC,QAAS,kBAAC4wB,EAAA,EAAD,CAASh9B,GAAG,yBAAyBmwE,IAE9C,uBACE7nE,KAAM,kBAAM,GACZ1I,UAAU,iDAEV,0BAAMA,UAAU,sCACd,kBAAC,IAAD,CACEwI,IAAKC,YACH,iDAWpB,CACE2D,UAAW,yBACXnN,KAAM,4BACNyN,MAAM,EACNC,UAAWA,IACXN,UAAW,SAACC,EAAM9E,GAChB,IAAI+oE,GAC8B,OAA/B/oE,EAAIkpE,uBACDlpE,EAAIkpE,uBACJ,IACJ,IACAlpE,EAAI6/B,QACa,OAAhB7/B,EAAI8/B,SAAoC,KAAhB9/B,EAAI8/B,QACzB,KAAO9/B,EAAI8/B,QACX,IACN,GACiC,OAA/B9/B,EAAIkpE,wBAC2B,KAA/BlpE,EAAIkpE,6BAC2B5qE,IAA/B0B,EAAIkpE,uBAEJ,OACE,oCACGlpE,EAAImpE,uBAAyB,IAC9B,kBAACl3B,EAAA,EAAD,CACEjtC,QAAS,kBAAC4wB,EAAA,EAAD,CAASh9B,GAAG,yBAAyBmwE,IAE9C,uBACE7nE,KAAM,kBAAM,GACZ1I,UAAU,iDAEV,0BAAMA,UAAU,sCACd,kBAAC,IAAD,CACEwI,IAAKC,YACH,iDAWpB,CACE2D,UAAW,gBACXnN,KAAM,iBACNyN,MAAM,EACNC,UAAWA,IACXqiD,OAAqB,IAAbgE,IAA+B,IAAbA,IAE5B,CACE5mD,UAAW,cACXnN,KAAM,eACNyN,MAAM,EACNsiD,OAAqB,IAAbgE,IAA+B,IAAbA,GAC1BrmD,UAAWA,IACXN,UAAW,SAACC,EAAM9E,GAChB,OAAO,oCAAGxF,GAAQwF,EAAIopE,gBAG1B,CACExkE,UAAW,sBACXnN,KAAM,wBACNyN,MAAM,EACNsiD,OAAqB,KAAbgE,GACRrmD,UAAWA,IACXN,UAAW,SAACC,EAAM9E,GAChB,OAAO,oCAAGxF,GAAQwF,EAAI8/D,wBAG1B,CACEl7D,UAAW,sBACXnN,KAAM,yBACNyN,MAAM,EACNsiD,OAAqB,IAAbgE,GACRrmD,UAAWA,IACXN,UAAW,SAACC,EAAM9E,GAChB,OAAO,oCAAGxF,GAAQwF,EAAIq/D,wBAG1B,CACEz6D,UAAW,wBACXnN,KAAM,sBACNyN,MAAM,EACNsiD,OAAqB,IAAbgE,GACRrmD,UAAWA,IACXN,UAAW,SAACC,EAAM9E,GAChB,OAAO,oCAAGxF,GAAQwF,EAAIgiD,0BAG1B,CACEp9C,UAAW,eACXnN,KAAM,iBACNyN,MAAM,EACNsiD,OAAqB,IAAbgE,GACRrmD,UAAWA,IACXN,UAAW,SAACC,EAAM9E,GAChB,OAAO,oCAAGxF,GAAQwF,EAAIs/D,iBAG1B,CACE16D,UAAW,0BACXnN,KAAM,uBACNyN,MAAM,EACNsiD,OAAqB,IAAbgE,IAA+B,KAAbA,GAC1BrmD,UAAWA,IACXN,UAAW,SAACC,EAAM9E,GAChB,OAAO,oCAAGxF,GAAQwF,EAAIqpE,4BAI1B,CACEzkE,UAAW,cACXnN,KAAM,eACN+vD,OAAqB,IAAbgE,GACRtmD,MAAM,EACNC,UAAWA,KAEb,CACEP,UAAW,SACXnN,KAAM,SACN+vD,OAAqB,IAAbgE,GACRtmD,MAAM,EACNC,UAAWA,IACXN,UAAW,SAACC,EAAM9E,GAChB,OAAO,oCAAGA,EAAIqW,UAGlB,CACEzR,UAAW,YACXnN,KAAM,YACNyN,MAAM,EACNC,UAAWA,IACXqiD,OAAqB,IAAbgE,IAEV,CACE5mD,UAAW,cACXnN,KAAM,UACN+vD,OAAqB,IAAbgE,GACRtmD,MAAM,EACNC,UAAWA,IACXN,UAAW,SAACC,EAAM9E,GAChB,GACsB,OAApBA,EAAIspE,aACgB,KAApBtpE,EAAIspE,kBACgBhrE,IAApB0B,EAAIspE,YAEJ,OACE,oCACGtpE,EAAIupE,YAAc,IACnB,kBAACt3B,EAAA,EAAD,CACEjtC,QACE,kBAAC4wB,EAAA,EAAD,CAASh9B,GAAG,yBACToH,EAAIspE,cAIT,uBACEpoE,KAAM,kBAAM,GACZ1I,UAAU,iDAEV,0BAAMA,UAAU,sCACd,kBAAC,IAAD,CACEwI,IAAKC,YACH,iDAWpB,CACE2D,UAAW,qBACXnN,KAAM,iBACNyN,MAAM,EACNC,UAAWA,KAEb,CACEP,UAAW,gBACXnN,KAAM,iBACN+vD,OAAqB,IAAbgE,GACRtmD,MAAM,EACNC,UAAWA,KAEb,CACEP,UAAW,SACXnN,KAAM,SACNyN,MAAM,EACNC,UAAWA,IACXN,UAAWmoB,IACXj0B,QAAS,cACTm0B,cAAe,cACftwB,MAAO,CACLuS,SAAU,UAGd,CACEvK,UAAW,SACXnN,KAAM,SACNyN,MAAM,EACNnM,QAAS,mBACTm0B,cAAe,mBACf/nB,UAAWA,IACXN,UAAWmoB,MAGf,GAA8BxnB,mBAASijE,IAAoB,IAA3D,qBAAO9jE,GAAP,MAAgB6jE,GAAhB,MAWA,OAREjvE,KAAKC,MAAMu6D,aAAayV,QAAQ,0CAChC,IACA9vE,SAAQ,SAAC2G,GACT,IAAM0B,EAAI0mE,GAAiB9sD,MACzB,SAAClH,GAAD,OAAQ,OAADA,QAAC,IAADA,OAAA,EAAAA,EAAG7P,YAAH,OAAe6P,QAAf,IAAeA,OAAf,EAAeA,EAAGhd,SAAU,OAAD4I,QAAC,IAADA,OAAA,EAAAA,EAAGuE,YAAH,OAAevE,QAAf,IAAeA,OAAf,EAAeA,EAAG5I,SAElDsK,IAAGA,EAAEylD,QAAU,OAADnnD,QAAC,IAADA,OAAA,EAAAA,EAAGmnD,UAAU,MAG/B,oCACE,kBAAC7tB,EAAA,EAAD,KACE,iEACA,0BAAMn7B,KAAK,cAAc4a,QAAQ,iCAEnC,kBAAC4yC,GAAD,CACEC,cAAeA,GACfC,cAAeA,EACfxC,2BAA4BA,GAC5Bv8B,kBAAmBA,GACnBg/B,YAAaA,EACbC,eAAgBA,GAChBC,gBAAiBA,KAEnB,yBAAK7zD,UAAU,0BACb,yBAAKA,UAAU,+BACb,kBAAC2/B,GAAD,CACE+zB,cAAeA,EACfD,cAAeA,GACfuD,iBAAkBA,GAClBriC,kBAAmBA,GACnBsiC,qBAAsBA,MAG1B,yBAAKj3D,UAAU,+BAA+BI,GAAG,mBAC/C,kBAAC,IAAD,KACGsuE,GACC,kBAAC/pB,EAAA,EAAD,CACEhxB,QAAQ,UACRixB,UAAQ,EACR/iD,IAAK,IACLuC,MAAO,CAAEwS,OAAQ,MAAOR,MAAO,UAInC,kBAAC,IAAD,CAAYgJ,MAAM,wBAChB,kBAACmU,EAAA,EAAD,CAAevzB,UAAS,gCACtB,kBAACwzB,EAAA,EAAD,CACEC,gBAAc,kBACdC,gBAAc,OACdC,QAAQ,WACR5kB,MAAM,UAENtC,QA5tBhB,SAAqBwH,GACnB6e,EAAY7e,EAAM+e,iBAqtBN,YASE,kBAACY,EAAA,EAAD,aACCo7C,GACC,kBAAC,GAAD,CACE3uE,GAAG,OACHorD,UAAU,SACVt6C,KAAK,KACL2tB,KAAK,SACL4sB,cAAY,UAIlB,kBAACj6B,GAAD,CACErxB,GAAG,kBACHyyB,SAAUA,EACVgB,aAAW,EACXC,KAAMC,QAAQlB,GACdmB,QA9sBhB,WACElB,EAAY,QA+sBE,kBAACb,GAAD,CACExlB,QAAS,SAACwH,GACRif,GAAY,QAAD,0BAGb,kBAACe,EAAA,EAAD,KACE,uBAAGj0B,UAAU,uBAEf,kBAACk0B,EAAA,EAAD,CAAc/I,QAAQ,WAExB,kBAAC8G,GAAD,CACExlB,QAAS,SAACwH,GACRif,GAAY,MAAD,0BAGb,kBAACe,EAAA,EAAD,KACE,uBAAGj0B,UAAU,qBAEf,kBAACk0B,EAAA,EAAD,CAAc/I,QAAQ,SAExB,kBAAC8G,GAAD,CACExlB,QAAS,SAACwH,GACRif,GAAY,OAAD,0BAGb,kBAACe,EAAA,EAAD,KACE,uBAAGj0B,UAAU,sBAEf,kBAACk0B,EAAA,EAAD,CAAc/I,QAAQ,aAM9B,kBAAC,IAAD,KACE,kBAAC8tC,GAAD,CACEC,UAAWA,EACXzF,cAAeA,GACfuD,iBAAkBA,GAClBmC,aAAczF,IAEhB,kBAAC,IAAD,CACEud,YACE,wDACoB,IAClB,uBAAG9sE,MAAM,oCAGb/E,KACE,yBAAKY,UAAU,OAAf,OACGmM,SADH,IACGA,QADH,EACGA,GAASpI,KAAI,SAAC8D,GAAD,OACZ,yBAAK7H,UAAU,YACb,kBAAC,IAAD,CACEA,UAAU,eACVf,KAAI,OAAE4I,QAAF,IAAEA,OAAF,EAAEA,EAAG5I,KACT63B,UAAS,OAACjvB,QAAD,IAACA,OAAD,EAACA,EAAGmnD,QACb3/C,SAAU,WACR,IAAI9F,EAAI4C,GACR5C,EAAErI,SAAQ,SAAC+a,IAEN,OAADA,QAAC,IAADA,OAAA,EAAAA,EAAG7P,YAAH,OAAe6P,QAAf,IAAeA,OAAf,EAAeA,EAAGhd,SACjB,OAAD4I,QAAC,IAADA,OAAA,EAAAA,EAAGuE,YAAH,OAAevE,QAAf,IAAeA,OAAf,EAAeA,EAAG5I,QAElBgd,EAAE+yC,QAAU/yC,EAAE+yC,WAGlBghB,GAAW,IACX9pE,YAAW,WACT8pE,GAAWzmE,GACXgyD,aAAaC,QACX,uCACAz6D,KAAKE,UAAUsI,MAEhB,cAQI,IAApBmlE,GAA6BviE,GAAQtD,OAAS,EAC7C,kBAAC,qBAAD,CACEiI,WAAYC,IAAkB4jB,MAE7B,YAAgD,IAA7CM,EAA4C,EAA5CA,gBAAiBC,EAA2B,EAA3BA,qBACnB,OACE,kBAAC,IAAD,CAAYD,gBAAiBA,GAC3B,kBAAC,IAAD,eACEjkB,eAAe,mBACfE,UAAU,EACV3Q,QAAQ,gDACR0Q,YAAU,EACVkkB,QAAM,EACN/0B,GAAG,mBACHuQ,SAAS,KACTpO,MAAmB,OAAbmxD,QAAa,IAAbA,OAAA,EAAAA,EAAexP,YAAa,GAClC/3C,QAASA,GACTurB,UAAWA,GACX9mB,cAAe,CACb,CACExE,UAAWuoB,GAAkB7F,UAC7Bje,MAAO8jB,GAAkB9F,YAG7BuG,cAAe26C,IACX76C,GAEJ,kBAAC,IAAD,CACErR,SAAQ,OAAE6vC,QAAF,IAAEA,OAAF,EAAEA,EAAexP,YAE3B,kBAAC,IAAD,CACErgC,SAAQ,OAAE6vC,QAAF,IAAEA,OAAF,EAAEA,EAAexP,iBAQrC,yBACElkD,UAAU,gCACVoE,MAAO,CAAE8jB,KAAM,QAEf,kBAAC,GAAD,CAASliB,KAAK,eAAe+I,MAAM,cAQ/C,kBAACgyD,EAAA,EAAD,CACEj1B,aAAcuvB,GACd2F,UAAWf,GACX7/D,GAAIsN,GACJ0R,MAAK,kCAA6B1R,IAClCuzD,cAAe,kBAACiQ,GAAA,EAAD,CAAa9wE,GAAIsN,OAElC,kBAACqzD,EAAA,EAAD,CACEj1B,aAAc4vB,GACdsF,UAAWoP,GACXhwE,GAAIsN,GACJ0R,MAAK,0CAAqC1R,IAC1CuzD,cAAe,kBAACkQ,GAAA,EAAD,CAAsB/wE,GAAIsN,OAE3C,kBAACqzD,EAAA,EAAD,CACEj1B,aAAc6vB,GACdqF,UAAWqP,GACXjwE,GAAIsN,GACJ0R,MAAK,8BAAyB1R,IAC9BuzD,cAAe,kBAACmQ,EAAA,EAAD,CAAQhxE,GAAIsN,OAE7B,kBAACqzD,EAAA,EAAD,CACEj1B,aAAcwvB,GACd0F,UAAWmP,GACX/vE,GAAIsN,GACJ0R,MAAK,0CAAqC1R,IAC1CuzD,cAAe,kBAACoQ,EAAA,EAAD,CAAkBC,KAAM5jE,U,kHCpjClC6jE,EAAe,mB,YCAtBC,EAAuB,CAC3BhuD,aAAa,EACbjC,gBAAgB,EAChBqC,WAAY,EACZC,SAAU,KACVqU,oBAAgBpyB,EAChBie,UAAW,MAEAC,EACL,OADKA,EAEH,SCTHC,EDYsBC,YAAY,CACvCle,KAAM,WACNme,aAAcqtD,EACdptD,SAAU,CACRC,WAAY,SAAC/E,EAAOgF,GAClBhF,EAAM/U,MAAN,UAAiB+Z,EAAOvhB,KAAxB,aAAiCuhB,EAAOC,QAAQha,OAC5C+Z,EAAOC,QAAQC,WAAaR,EAC9B1E,EAAMkE,aAAc,EAEpBlE,EAAMiC,gBAAiB,GAG3BkD,UAAW,SAACnF,EAAOgF,GACjBhF,EAAM/U,MAAQ,KACV+Z,EAAOC,QAAQC,WAAaR,EAC9B1E,EAAMkE,aAAc,EAEpBlE,EAAMiC,gBAAiB,GAI3BkwD,eAAgB,SAACnyD,EAAOgF,GACtBhF,EAAMiC,gBAAiB,EACvBjC,EAAM4Y,eAAiB5T,EAAOC,QAAQ2T,eACtC5Y,EAAM/U,MAAQ,MAGhBmnE,gBAAiB,SAACpyD,EAAOgF,GACvB,MAAiCA,EAAOC,QAAhCX,EAAR,EAAQA,WAAYC,EAApB,EAAoBA,SACpBvE,EAAMkE,aAAc,EACpBlE,EAAM/U,MAAQ,KACd+U,EAAMuE,SAAWA,EACjBvE,EAAMsE,WAAaA,GAGrB+tD,eAAgB,SAACryD,EAAOgF,GACtBhF,EAAMiC,gBAAiB,EACvBjC,EAAM/U,MAAQ,KACd+U,EAAMuE,SAAS/a,KAAKwb,EAAOC,QAAQi4B,UAGrCo1B,eAAgB,SAACtyD,EAAOgF,GACtBhF,EAAM/U,MAAQ,KACd+U,EAAMiC,gBAAiB,EACvBjC,EAAMuE,SAAWvE,EAAMuE,SAAS9f,KAAI,SAAA+gB,GAClC,OAAIA,EAAO1kB,KAAOkkB,EAAOC,QAAQi4B,QAAQp8C,GAChCkkB,EAAOC,QAAQi4B,QAEjB13B,MAIX+sD,eAAgB,SAACvyD,EAAOgF,GACtBhF,EAAM/U,MAAQ,KACd+U,EAAMiC,gBAAiB,EACvBjC,EAAMuE,SAAWvE,EAAMuE,SAAStU,QAAO,SAAAyV,GAAE,OAAIA,EAAGphB,KAAO0gB,EAAOC,QAAQnkB,OAGxE0xE,gBAAiB,SAACxyD,EAAOgF,GACvBhF,EAAM/U,MAAQ,KACd+U,EAAMiC,gBAAiB,EACvBjC,EAAMuE,SAAWvE,EAAMuE,SAAStU,QAC9B,SAAAyV,GAAE,OAAKV,EAAOC,QAAQW,IAAIvV,SAASqV,EAAG5kB,QAI1C2xE,sBAAuB,SAACzyD,EAAOgF,GAC7BhF,EAAMiC,gBAAiB,EACvBjC,EAAM/U,MAAQ,KACd,MAAwB+Z,EAAOC,QAAvBW,EAAR,EAAQA,IAAKnQ,EAAb,EAAaA,OACbuK,EAAMuE,SAAWvE,EAAMuE,SAAS9f,KAAI,SAAA+gB,GAIlC,OAHII,EAAIE,WAAU,SAAAhlB,GAAE,OAAIA,IAAO0kB,EAAO1kB,OAAO,IAC3C0kB,EAAO/P,OAASA,GAEX+P,SCtFRb,QAgBM+tD,EAAe,SAAA5xE,GAAE,OAAI,SAAAmlB,GAChC,OAAKnlB,GAILmlB,EAAStB,EAAQQ,UAAU,CAAED,SAAUR,MFVVkpC,EEYX9sD,EFXXkiB,IAAM3M,IAAN,UAAa47D,EAAb,YAA6BrkB,KEYjCt4C,MAAK,SAAAC,GACJ,IAAM2nC,EAAU3nC,EAAStS,KACzBgjB,EAAStB,EAAQwtD,eAAe,CAAEv5C,eAAgBskB,QAEnDrnC,OAAM,SAAA5K,GACLA,EAAMmb,cAAgB,qBACtBH,EAAStB,EAAQI,WAAW,CAAE9Z,QAAOia,SAAUR,SAZ1CuB,EAAStB,EAAQwtD,eAAe,CAAEv5C,oBAAgBpyB,KFPtD,IAAwBonD,I,w9MGQ/B,IAAMjvD,EAAU,IAAIC,IAAa,MAC3BC,EAAKC,IAAIH,GAETqZ,EAAYrB,aAAW,SAACC,GAAD,MAAY,CACvCC,KAAM,CACJC,MAAO,QAET67D,QAAS,CACP5tE,SAAU6R,EAAMgpB,WAAWsT,QAAQ,IACnC17B,WAAYZ,EAAMgpB,WAAWgzC,uBAG1B,SAASC,EAAT,GAA4D,IAwC7DzzB,EAxC4BlC,EAAgC,EAAhCA,QAAS41B,EAAuB,EAAvBA,OAAQC,EAAe,EAAfA,YAC3C9xE,EAAU+W,IAChB,EAA0CtK,mBAAS,IAAnD,mBAAO4xC,EAAP,KAAsBlmC,EAAtB,KACA,EAAkD1L,oBAAS,GAA3D,mBAAOslE,EAAP,KAA0BC,EAA1B,KACA,EAAoCvlE,mBAAS,CAC3CmM,UAAW,GACXoG,SAAU,KAFZ,mBAAOuhB,EAAP,KAAmB0xC,EAAnB,KAIA,EAAwCxlE,mBAAS,IAAjD,mBAAO6xC,EAAP,KAAqBC,EAArB,KACA,EAAgC9xC,mBAAS,IAAzC,mBAAOiyC,EAAP,KAAiBC,EAAjB,KACA,EAAwClyC,mBAAS,IAAjD,mBAAOylE,EAAP,KAAqBC,EAArB,KACMC,EAAa,uCAAG,WAAOvyE,GAAP,iFACdwyE,IAAM9sD,OAAN,2BAAiC1lB,IADnB,OAEpB5B,SAASsR,eAAe,iBAAiBinB,QAFrB,2CAAH,sDA8BnB,SAAS87C,EAAuBC,EAAY3zE,GAC1C,IACE,IAAIgQ,EAAS2jE,EAAahyC,EAAW3nB,UAAY2nB,EAAWvhB,SAC9C,KAAVpgB,EACE2zE,EACFp6D,EAAiBvJ,GAEjB2vC,EAAgB3vC,GASI,KANtBA,EAASA,EAAOI,QAAO,SAACm+D,GAAD,OACrBlsE,OAAOksE,EAAK7pE,MACTqL,cACAQ,OACAC,SAASnO,OAAOrC,GAAO+P,cAAcQ,YAE/B7G,OACLiqE,EACFp6D,EAAiB,IAEjBomC,EAAgB,IAGdg0B,EACFp6D,EAAiBvJ,GAEjB2vC,EAAgB3vC,GAItB,MAAOtP,KAEX,OA1DAiU,qBAAU,WACR,IAAIuB,EAAY,IAAIC,QACpBD,EAAUE,OAAO,gBAAjB,iBAA4CpX,EAAG8L,OAAOC,WAAWyK,QAEjE,IAAIa,EAAiB,CACnBjB,OAAQ,MACRE,QAASY,EACTI,SAAU,UAGZpB,MAAM,GAAD,OAAIxP,OAAOyP,QAAX,6BAA+CkB,GACjDZ,MAAK,SAACC,GAAD,OAAcA,EAAS5V,UAC5B2V,MAAK,SAACzF,GACL,IAAI2d,EAAM/rB,KAAKC,MAAMmO,GACrBuJ,GAAoB,OAAHoU,QAAG,IAAHA,OAAA,EAAAA,EAAK3T,YAAa,IACnCq5D,EAAc,CACZr5D,WAAc,OAAH2T,QAAG,IAAHA,OAAA,EAAAA,EAAK3T,YAAa,GAC7BoG,UAAa,OAAHuN,QAAG,IAAHA,OAAA,EAAAA,EAAKvN,WAAY,KAE7Bu/B,GAAmB,OAAHhyB,QAAG,IAAHA,OAAA,EAAAA,EAAKvN,WAAY,IACjC2/B,EAAYpyB,EAAI1S,OAAS,IACzBs4D,GAAmB,OAAH5lD,QAAG,IAAHA,OAAA,EAAAA,EAAKwyB,WAAY,OAElCnqC,OAAM,SAAC5K,GAAD,OAAWnH,QAAQC,IAAI,QAASkH,QACxC,IAmCD,oCACE,kBAAC,IAAD,CACEgY,oBAAoB,EACpBC,cAAeg6B,EACf95B,SAAU,SAACxb,GACTmrE,EAAYnrE,MAGb,sBAAG6b,EAAH,EAAGA,aAAc7P,EAAjB,EAAiBA,cAAehM,EAAhC,EAAgCA,OAAhC,OACC,oCACE,kBAACuf,EAAA,EAAD,CACErV,KAAMkhE,EAENhhE,kBAAgB,gCAEhB,kBAACmV,EAAA,EAAMlV,OAAP,CAAcmV,aAAW,GACvB,kBAACD,EAAA,EAAM9U,MAAP,CAAavR,GAAG,gCAAhB,sBAIF,kBAACqmB,EAAA,EAAMhV,KAAP,KACE,sFAEF,kBAACgV,EAAA,EAAM/U,OAAP,KACE,6BACE,4BACE3O,KAAK,SACL0J,QAAS,WACP8lE,GAAqB,IAEvBvyE,UAAU,kCALZ,UASA,yCACA,4BACE+C,KAAK,SACL0J,QAAS,WACPkmE,EAAcn2B,EAAQ54C,IACtB2uE,GAAqB,IAEvBvyE,UAAU,6BANZ,aAaN,kBAAC,IAAD,CAAMA,UAAU,yBACd,yBAAKmE,MAAM,kBACT,yBAAKnE,UAAU,YACb,oDACA,2BACE+C,KAAK,OACL/C,UAAU,eACVgG,KAAK,OACL7G,MAAO+H,EAAOrD,KACdwL,SAAU,SAACC,GACT4D,EAAc,OAAQ5D,EAAEM,OAAOzQ,QAEjCiB,GAAG,OACHgP,YAAY,MAGhB,yBAAKpP,UAAU,YACb,6DACA,kBAAC,IAAD,CACEq1C,SAAO,EACPl2C,MAAOszE,EAAaljE,QAAO,SAACvL,GAAD,OACzBkD,EAAOo4C,SAAS3vC,SAAS3L,EAAKJ,OAC9BG,KAAI,SAACwF,GACL,MAAO,CAAEpK,MAAOoK,EAAE3F,GAAIJ,MAAO+F,EAAE1F,SAEjCmC,KAAK,YACL5F,GAAG,YACH+Z,QAASs4D,EAAa1uE,KAAI,SAACwF,GACzB,MAAO,CAAEpK,MAAOoK,EAAE3F,GAAIJ,MAAO+F,EAAE1F,SAEjC7D,UAAU,qBACVs1C,gBAAgB,SAChBjmC,SAAU,SAACC,GAEP4D,EACE,WAFM,OAAN5D,EAGAA,EAAEvL,KAAI,SAACwF,GAAD,OAAOA,EAAEpK,SAGS,QAKlC,yBAAKa,UAAU,YACb,yBAAKmE,MAAM,sBACT,2BAAOA,MAAM,uBACX,2BACEpB,KAAK,QACL5D,OAAO,EACP23B,SAA2B,IAAlB5vB,EAAO6rE,OAChB/sE,KAAK,SACLqJ,SAAU,WACR6D,EAAc,UAAU,MAG5B,+BAVF,gBAaA,2BAAO/O,MAAM,uBACX,2BACEpB,KAAK,QACL+zB,SAA2B,IAAlB5vB,EAAO6rE,OAChB5zE,OAAO,EACP6G,KAAK,SACLqJ,SAAU,WACR6D,EAAc,UAAU,MAG5B,+BAVF,sBAagBpN,IAAf02C,EAAQ54C,GACP,kBAAC61C,EAAA,EAAD,CACEjtC,QACE,kBAAC4wB,EAAA,EAAD,CAASh9B,GAAG,2BAAZ,WAGF,uBACEqM,QAAS,WACP8lE,GAAqB,IAEvB7pE,KAAM,kBAAM,GACZ1I,UAAU,kDAEV,0BAAMA,UAAU,wCACd,kBAAC,IAAD,CACEwI,IAAKC,YACH,2CAOV,MAKR,yBAAKzI,UAAU,kBACb,yBAAKA,UAAU,YACb,wBAAIA,UAAU,gBAAd,iBACA,kBAACgzE,EAAA,EAAD,KACE,kBAACC,EAAA,EAAD,CACEC,WAAY,kBAAC,IAAD,MACZz/C,gBAAc,kBACdrzB,GAAG,kBAEH,kBAAC0pB,EAAA,EAAD,CAAY9pB,UAAWO,EAAQ0xE,SAC7B,kBAAC53C,EAAA,EAAD,CACEC,QACE,yBAAKt6B,UAAU,OACb,0BAAMA,UAAU,oDAChB,2BAAOA,UAAU,sFACf,2BACE+C,KAAK,WACLiD,KAAK,QACL8wB,SACQ,OAAN5vB,QAAM,IAANA,GAAA,UAAAA,EAAQkT,aAAR,eAAevR,WAAf,OAA0Bo2C,QAA1B,IAA0BA,OAA1B,EAA0BA,EAAUp2C,QAEtC1J,MAAM,aACNsN,QAAS,SAAC6C,GACJA,EAAEM,OAAOknB,QACX5jB,EACE,QACA+rC,EAASl7C,KAAI,SAACwF,GAAD,OAAOA,EAAE3F,OAGxBsP,EAAc,QAAS,OAI7B,iCAIN1P,MAAM,iBAIZ,yBACExD,UAAS,UACPi/C,EAASp2C,QAAU,EAAI,yBAA2B,GAD3C,YAGa,IAApBo2C,EAASp2C,OAAe,kBAAoB,eAG7Co2C,EAASp2C,OAAS,EACjBo2C,EAASl7C,KAAI,SAAC22C,EAAMxtC,GAAP,aACX,kBAACimE,EAAA,EAAD,CAAuB7rE,IAAK4F,EAAOlN,UAAU,QAC3C,kBAAC8pB,EAAA,EAAD,KACE,yBAAK9pB,UAAU,aACb,kBAACq6B,EAAA,EAAD,CACEC,QACE,yBAAKt6B,UAAU,OACb,0BAAMA,UAAU,oDAChB,2BAAOA,UAAU,sFACf,2BACE+C,KAAK,WACLiD,KAAM00C,EAAK72C,KACXizB,SACQ,OAAN5vB,QAAM,IAANA,GAAA,UAAAA,EAAQkT,aAAR,eAAe7K,QACb,SAAChG,GAAD,OAAOA,IAAMmxC,EAAK92C,MAClBiF,QAAS,EAEbwG,SAAU,SAACC,GACT,IAAI6T,EAAI,OAAGjc,QAAH,IAAGA,OAAH,EAAGA,EAAQkT,MAAM7K,QACvB,SAACvL,GAAD,OAAUA,IAAS02C,EAAK92C,MACxBiF,OACEd,EAAOhH,KAAKC,MACdD,KAAKE,UAAL,OAAeiG,QAAf,IAAeA,OAAf,EAAeA,EAAQkT,QAEzB,GAAa,IAAT+I,EACFpb,EAAKe,KAAK4xC,EAAK92C,IACfsP,EAAc,QAASnL,OAClB,CACL,IAAM9D,EAAQ8D,EAAK6N,QACjB8kC,EAAK92C,IAEHK,GAAS,IACX8D,EAAKk9B,OAAOhhC,EAAO,GACnBiP,EAAc,QAASnL,QAK/B,iCAINvE,MAAOk3C,EAAK72C,aAOtB,wBAAI7D,UAAU,QAAd,qCAKR,yBAAKA,UAAU,YACb,yBAAKA,UAAU,YACb,yBAAKA,UAAU,YACb,wBAAIA,UAAU,aAAd,sBAEF,yBAAKA,UAAU,YACb,2BACE+C,KAAK,OACLqM,YAAY,0BACZpP,UAAU,qBACVyM,QAAS,SAAC6C,GAER,OADAA,EAAEqmD,kBACK,GAETtmD,SAAQ,uCAAE,WAAOC,GAAP,uEACR,IACQnQ,EAAQmQ,EAAEM,OAAOzQ,MACvBugD,aAAahB,GACbA,EAAcx4C,WAAU,sBAAC,8EACvB2sE,GAAuB,EAAM1zE,GADN,2CAEtB,KACH,MAAOU,IAPD,2CAAF,0DAad,kBAACmzE,EAAA,EAAD,KACE,kBAACC,EAAA,EAAD,CACEC,WAAY,kBAAC,IAAD,MACZz/C,gBAAc,kBACdrzB,GAAG,kBAEH,kBAAC0pB,EAAA,EAAD,CAAY9pB,UAAWO,EAAQ0xE,SAC7B,kBAAC53C,EAAA,EAAD,CACEC,QACE,yBAAKt6B,UAAU,OACb,0BAAMA,UAAU,oDAChB,2BAAOA,UAAU,sFACf,2BACE+C,KAAK,WACLiD,KAAK,GACL8wB,SACQ,OAAN5vB,QAAM,IAANA,GAAA,UAAAA,EAAQiS,iBAAR,eAAmBtQ,WAAnB,OACA+1C,QADA,IACAA,OADA,EACAA,EAAe/1C,QAEjB4D,QAAS,SAAC6C,GACJA,EAAEM,OAAOknB,QACX5jB,EACE,YACA0rC,EAAc76C,KAAI,SAACwF,GAAD,OAAOA,EAAE3F,OAG7BsP,EAAc,YAAa,KAG/B/T,MAAM,eAER,iCAINqE,MAAM,iBAIZ,yBACExD,UAAS,iCACP,IADmC4+C,EAAc/1C,QAC5C,oBAEN+1C,EAAc/1C,OAAS,EACtB+1C,EAAc76C,KAAI,SAAC22C,EAAMxtC,GAAP,aAChB,kBAACimE,EAAA,EAAD,CAAuBnzE,UAAU,QAC/B,kBAAC8pB,EAAA,EAAD,KACE,yBAAK9pB,UAAU,aACb,kBAACq6B,EAAA,EAAD,CACEC,QACE,yBAAKt6B,UAAU,OACb,0BAAMA,UAAU,oDAChB,2BAAOA,UAAU,sFACf,2BACE82B,SACQ,OAAN5vB,QAAM,IAANA,GAAA,UAAAA,EAAQiS,iBAAR,eAAmB5J,QACjB,SAAChG,GAAD,OAAOA,IAAMmxC,EAAK92C,MAClBiF,QAAS,EAEbwG,SAAU,SAACC,GACT,IAAI6T,EAAI,OAAGjc,QAAH,IAAGA,OAAH,EAAGA,EAAQiS,UAAU5J,QAC3B,SAACvL,GAAD,OAAUA,IAAS02C,EAAK92C,MACxBiF,OACEd,EAAOhH,KAAKC,MACdD,KAAKE,UAAL,OAAeiG,QAAf,IAAeA,OAAf,EAAeA,EAAQiS,YAEzB,GAAa,IAATgK,EACFpb,EAAKe,KAAK4xC,EAAK92C,IACfsP,EAAc,YAAanL,OACtB,CACL,IAAM9D,EAAQ8D,EAAK6N,QACjB8kC,EAAK92C,IAEHK,GAAS,IACX8D,EAAKk9B,OAAOhhC,EAAO,GACnBiP,EACE,YACAnL,MAKRhF,KAAK,WACLiD,KAAM00C,EAAK72C,OAEb,iCAINL,MAAOk3C,EAAK72C,aAOtB,wBAAI7D,UAAU,QAAd,yCAOR,yBAAKA,UAAU,YACb,yBAAKA,UAAU,YACb,yBAAKA,UAAU,YACb,wBAAIA,UAAU,aAAd,qBAEF,yBAAKA,UAAU,YACb,2BACE+C,KAAK,OACLqM,YAAY,yBACZpP,UAAU,qBACVyM,QAAS,SAAC6C,GACRA,EAAEqmD,kBAEJtmD,SAAQ,uCAAE,WAAOC,GAAP,uEACR,IACQnQ,EAAQmQ,EAAEM,OAAOzQ,MACvBugD,aAAahB,GACbA,EAAcx4C,WAAU,sBAAC,8EACvB2sE,GAAuB,EAAO1zE,GADP,2CAEtB,KACH,MAAOU,IAPD,2CAAF,0DAYd,kBAACmzE,EAAA,EAAD,KACE,kBAACC,EAAA,EAAD,CACEC,WAAY,kBAAC,IAAD,MACZz/C,gBAAc,kBACdrzB,GAAG,kBAEH,kBAAC0pB,EAAA,EAAD,CAAY9pB,UAAWO,EAAQ0xE,SAC7B,kBAAC53C,EAAA,EAAD,CACEC,QACE,yBAAKt6B,UAAU,OACb,0BAAMA,UAAU,oDAChB,2BAAOA,UAAU,sFACf,2BACE+C,KAAK,WACLiD,KAAK,aACL8wB,SACQ,OAAN5vB,QAAM,IAANA,GAAA,UAAAA,EAAQqY,gBAAR,eAAkB1W,WAAlB,OACAg2C,QADA,IACAA,OADA,EACAA,EAAch2C,QAEhB4D,QAAS,SAAC6C,GACJA,EAAEM,OAAOknB,QACX5jB,EACE,WACA2rC,EAAa96C,KAAI,SAACwF,GAAD,OAAOA,EAAE3F,OAG5BsP,EAAc,WAAY,KAG9B/T,MAAM,eAER,iCAINqE,MAAM,iBAIZ,yBACExD,UAAS,iCACP,IADmC6+C,EAAah2C,QAC3C,oBAENg2C,EAAah2C,OAAS,EACrBg2C,EAAa96C,KAAI,SAAC22C,EAAMxtC,GAAP,aACf,kBAACimE,EAAA,EAAD,CAAuB7rE,IAAK4F,EAAOlN,UAAU,QAC3C,kBAAC8pB,EAAA,EAAD,KACE,yBAAK9pB,UAAU,aACb,kBAACq6B,EAAA,EAAD,CACEC,QACE,yBAAKt6B,UAAU,OACb,0BAAMA,UAAU,oDAChB,2BAAOA,UAAU,sFACf,2BACE82B,SACQ,OAAN5vB,QAAM,IAANA,GAAA,UAAAA,EAAQqY,gBAAR,eAAkBhQ,QAChB,SAAChG,GAAD,OAAOA,IAAMmxC,EAAK92C,MAClBiF,QAAS,EAEbwG,SAAU,SAACC,GACT,IAAI6T,EAAI,OAAGjc,QAAH,IAAGA,OAAH,EAAGA,EAAQqY,SAAShQ,QAC1B,SAACvL,GAAD,OAAUA,IAAS02C,EAAK92C,MACxBiF,OACEd,EAAOhH,KAAKC,MACdD,KAAKE,UAAL,OAAeiG,QAAf,IAAeA,OAAf,EAAeA,EAAQqY,WAEzB,GAAa,IAAT4D,EACFpb,EAAKe,KAAK4xC,EAAK92C,IACfsP,EAAc,WAAYnL,OACrB,CACL,IAAM9D,EAAQ8D,EAAK6N,QACjB8kC,EAAK92C,IAEHK,GAAS,IACX8D,EAAKk9B,OAAOhhC,EAAO,GACnBiP,EAAc,WAAYnL,MAIhChF,KAAK,WACLiD,KAAM00C,EAAK72C,OAEb,iCAINL,MAAOk3C,EAAK72C,aAOtB,wBAAI7D,UAAU,QAAd,yCAQV,4BACE+C,KAAK,SACLqB,MAAO,CAAE+iB,QAAS,QAClBnG,IAAKoxD,EACL1vD,SAAU,kBAAMK,a,20MC3lBhC,IAAM9kB,EAAU,IAAIC,IAAa,MAC3BC,EAAKC,IAAIH,GAETm1E,EAAc,CAClBxvE,QAAIkC,EACJjC,KAAM,GACNwvE,UAAU,EACV/zB,SAAU,GACVnmC,UAAW,GACXoG,SAAU,GACVnF,MAAO,IAGF,SAASk5D,EAAT,GAAiC,IAAPlzE,EAAM,EAANA,GAEzB23B,EAAYC,cAGlB,EAAsBhrB,mBAAS,SAA/B,mBAAOumE,EAAP,KACA,GADA,KAC0BvmE,mBAAS,KAAnC,mBAAOoS,EAAP,KAAckH,EAAd,KACA,EAAsCtZ,oBAAS,GAA/C,mBAAO25C,EAAP,KAAoBC,EAApB,KACMrhC,EAAW0L,cAEjB,EAA2C3N,aACzC,SAAChE,GAAD,MAAY,CACViC,eAAgBjC,EAAM2Y,SAAS1W,eAC/B2W,eAAgB5Y,EAAM2Y,SAASC,kBAEjCzU,KALMlC,EAAR,EAAQA,eAAgB2W,EAAxB,EAAwBA,eAQxBpkB,qBAAU,WACW,cAAftS,OAAOpB,IACTmlB,EAAStB,EAAqB7jB,MAE/B,CAACA,EAAImlB,IAERzR,qBAAU,WACR,IAAIyS,EAAS,GAEXA,EADiB,cAAf/kB,OAAOpB,GACA,+BAEc0F,IAAnBoyB,GAA+C,cAAf12B,OAAOpB,GACnC,wBAAoB83B,EAAet0B,GAAnC,cAA2Cs0B,EAAer0B,KAA1D,KAEA,YAGVyiB,EAASC,GACTwR,EAAUzR,SAASC,KAElB,CAAC2R,EAAgB93B,IAEpB,IA6HMgyE,EAAS3xD,mBAOT+yD,EAAqB,WACzBh1E,SAASsR,eAAe,iBAAiBinB,SAG3C,OACE,kBAAC,IAAD,KACG4vB,GAAe,kBAAC,IAAD,MAChB,kBAAC,IAAD,CAAYvnC,MAAOA,GACjB,kBAAC,IAAD,KACE,4BACErc,KAAK,SACL0J,QAAS+mE,EACTxzE,UAAU,iBAEV,uBAAGA,UAAU,qBALf,QADF,KAUE,4BAAQA,UAAU,sBAChB,uBAAGA,UAAU,eADf,SAVF,KAeE,4BACE+C,KAAK,SACL/C,UAAU,uBACVyM,QAhCe,WACnB2lE,GAAUA,EAAOvxD,SACnBuxD,EAAOvxD,QAAQkW,UA2BX,UASJ,kBAAC,IAAD,KACE,yBAAK/2B,UAAU,QACJ,UAARuzE,GACC,kBAACpB,EAAD,CACE5wD,eAAgBA,EAChBi7B,QACiB,cAAfh7C,OAAOpB,SAA0C0F,IAAnBoyB,EAC1BA,EACAk7C,EAENhB,OAAQA,EACRC,YA/KQ,SAACnrE,GACnB,IAAI4lB,EAAM/rB,KAAKE,UAAUiG,GAEzB,GAAmB,cAAf1F,OAAOpB,GAAqB,CAC9BwmD,GAAe,GACf,IAAIvxC,EAAY,IAAIC,QACpBD,EAAUE,OAAO,gBAAjB,iBAA4CpX,EAAG8L,OAAOC,WAAWyK,QACjEU,EAAUE,OAAO,eAAgB,oBACjC,IAAIC,EAAiB,CACnBjB,OAAQ,OACRE,QAASY,EACTjW,KAAM0tB,EACNrX,SAAU,UAGZpB,MAAM,GAAD,OAAIxP,OAAOyP,QAAX,cAAgCkB,GAClCZ,KADH,uCACQ,WAAOC,GAAP,yFACqBA,EAASE,OAD9B,UACED,EADF,SAEEY,EAAcb,EAASJ,QAAQkB,IAAI,mBACuB,IAA7CD,EAAYE,QAAQ,oBAHnC,yCAIKf,EAAS1N,OAAOyN,MAAK,SAACrS,GAAD,MAAU,CAACuS,EAAYvS,OAJjD,gCAMKsS,EACJ5V,OACA2V,MAAK,SAAC3V,GAAD,MAAU,CAAC6V,EAAY,CAAEe,QAAS,SARxC,2CADR,uDAYGjB,MAAK,SAACzF,GACL,GAAkB,MAAdA,EAAO,GACTvP,YAAa,UAAW,yCACxB4zE,IACA5sB,GAAe,OACV,CACL,GAC2B,OAAzBz3C,EAAO,GAAG07C,iBACe/kD,IAAzBqJ,EAAO,GAAG07C,YACe,KAAzB17C,EAAO,GAAG07C,WACV,CACA,IAAIC,EAAa37C,EAAO,GAAG07C,WACvBC,GACF1pD,OAAOC,KAAKypD,GAAY5pD,SAAQ,SAASI,GACvCwpD,EAAWxpD,GAAGJ,SAAQ,SAACiP,GACrBvQ,YAAa,aAAcuQ,cAIX,OAAtBhB,EAAO,GAAG0G,cACY/P,IAAtBqJ,EAAO,GAAG0G,SACY,KAAtB1G,EAAO,GAAG0G,QAEVjW,YAAa,aAAcuP,EAAO,GAAG0G,SAErCjW,YAAa,aAAc,eAE7BgnD,GAAe,OAGlBzxC,OAAM,SAAC5K,GACNnH,QAAQC,IAAI,QAASkH,UAEpB,CACLq8C,GAAe,GAEf,IAAI6sB,EAAa,IAAIn+D,QACrBm+D,EAAWl+D,OACT,gBADF,iBAEYpX,EAAG8L,OAAOC,WAAWyK,QAEjC8+D,EAAWl+D,OAAO,eAAgB,oBAElC,IAAIm+D,EAAkB,CACpBn/D,OAAQ,MACRE,QAASg/D,EACTr0E,KAAM0tB,EACNrX,SAAU,UAGZpB,MAAM,GAAD,OAAIxP,OAAOyP,QAAX,sBAAgClU,GAAMszE,GACxC9+D,KADH,uCACQ,WAAOC,GAAP,yFACqBA,EAASE,OAD9B,UACED,EADF,SAEEY,EAAcb,EAASJ,QAAQkB,IAAI,mBACuB,IAA7CD,EAAYE,QAAQ,oBAHnC,yCAIKf,EAAS1N,OAAOyN,MAAK,SAACrS,GAAD,MAAU,CAACuS,EAAYvS,OAJjD,gCAMKsS,EACJ5V,OACA2V,MAAK,SAAC3V,GAAD,MAAU,CAAC6V,EAAY,CAAEe,QAAS,SARxC,2CADR,uDAYGjB,MAAK,SAACzF,GACL,GAAkB,MAAdA,EAAO,GACTvP,YAAa,UAAW,2CACxB4zE,IACA5sB,GAAe,OACV,CACL,GAC2B,OAAzBz3C,EAAO,GAAG07C,iBACe/kD,IAAzBqJ,EAAO,GAAG07C,YACe,KAAzB17C,EAAO,GAAG07C,WACV,CACA,IAAIC,EAAa37C,EAAO,GAAG07C,WACvBC,GACF1pD,OAAOC,KAAKypD,GAAY5pD,SAAQ,SAASI,GACvCwpD,EAAWxpD,GAAGJ,SAAQ,SAACiP,GACrBvQ,YAAa,aAAcuQ,cAIX,OAAtBhB,EAAO,GAAG0G,cACY/P,IAAtBqJ,EAAO,GAAG0G,SACY,KAAtB1G,EAAO,GAAG0G,QAEVjW,YAAa,aAAcuP,EAAO,GAAG0G,SAErCjW,YAAa,aAAc,eAE7BgnD,GAAe,OAGlBzxC,OAAM,SAAC5K,GACNnH,QAAQC,IAAI,QAASkH,e,oxqBC7L/B,wBA+a4CopE,EAAOC,QAIpCC,IA7aF,SAASC,EAAW35D,GAE7B,IAAI45D,EAAMh1D,KAIN5O,EAAU6jE,IAAOC,QAAQH,GACzB10E,EAAO40E,IAAOE,UAElB,GAAK/jE,EAAL,CAKA,IAAIgkE,EAAiB,CACjBC,YAAa,IACbC,OAAQ,CACJC,iBAAiB,EACjBC,OAAQ,IACRnsD,OAAQ,MAQZosD,EAAS,CAKTC,UAAW,SAASt6D,GAahB,OAZI65D,IAAOzxE,KAAK4N,GAAS2kC,IAAI,QACzBi/B,EAAMC,IAAOzxE,KAAK4N,GAASwF,IAAI,SAG/B6+D,EAAOE,KAAKv6D,GAGZq6D,EAAOG,QAEPX,IAAOzxE,KAAK4N,GAASykC,IAAI,OAAQm/B,IAG9BA,GAMXW,KAAM,SAASv6D,GACX45D,EAAI5jE,QAAUA,EACd4jE,EAAIa,OAAS,GAGbb,EAAI55D,QAAU65D,IAAOa,WAAW,GAAIV,EAAgBh6D,GACpD45D,EAAIe,OAASd,IAAOe,MAAM5kE,EAAS,gBACnC4jE,EAAIiB,OAAShB,IAAOe,MAAM5kE,EAAS,gBAE/B6jE,IAAOe,MAAM5kE,EAAS,cACtB4jE,EAAI30E,KAAO40E,IAAOe,MAAM5kE,EAAS,cAC1B6jE,IAAOe,MAAM5kE,EAAS,WAC7B4jE,EAAI30E,KAAO40E,IAAOe,MAAM5kE,EAAS,WAOzCwkE,MAAO,WAEH,IAAIM,EAASjB,IAAO7wD,KAAK4wD,EAAIe,OAAQ,2BACjCG,GACAjB,IAAOkB,SAASD,EAAQ,SAAS,SAAS3lE,GACtCA,EAAEqmD,iBACF6e,EAAOS,YAKf,IAAIE,EAASnB,IAAO7wD,KAAK4wD,EAAIe,OAAQ,2BACjCK,GACAnB,IAAOkB,SAASC,EAAQ,SAAS,SAAS7lE,GACtCA,EAAEqmD,iBACF6e,EAAOW,YAKf,IAAIC,EAASpB,IAAO7wD,KAAK4wD,EAAIe,OAAQ,2BACjCM,GACApB,IAAOkB,SAASE,EAAQ,SAAS,SAAS9lE,GACtCA,EAAEqmD,iBACF6e,EAAOY,aAQnBC,WAAY,WAEKtB,EAAI55D,QAAQk6D,OAAOE,OAE3BR,EAAIe,QAIZjwE,OAAOywE,iBAAiB,SAAUd,EAAOe,iBAM7CA,eAAgB,SAASjmE,GACxB,IAAIilE,EAASR,EAAI55D,QAAQk6D,OAAOE,OAEhC,IAAG16D,MAAM06D,GAAT,CAEA,IAAIiB,EAAKxB,IAAOyB,eAEZD,GAAMjB,IAAsD,IAA5CP,IAAOruE,SAASvG,EAAM,mBACzCo1E,EAAOkB,aAAa,YAEpB1B,IAAOpuE,SAASxG,EAAM,kBAEtBo1E,EAAOmB,gBAEO,IAAHH,GAAWjB,GAAUP,IAAOruE,SAASvG,EAAM,oBAEtDo1E,EAAOkB,aAAa,aAEpB1B,IAAOzgC,YAAYn0C,EAAM,kBAEzBo1E,EAAOoB,iBAIND,aAAc,WAKV,IAAIlwC,EASIvd,EAOAG,EApBH0rD,EAAIe,SAMLd,IAAOruE,SAASvG,EAAM,oBAElBqmC,EADAsuC,EAAI55D,QAAQk6D,OAAO/vE,SAASmhC,eAAeowC,SACrCvrE,SAASypE,EAAI55D,QAAQk6D,OAAO/vE,SAASmhC,IAAIqwC,KAAK/2D,KAAMg1D,IAEpDzpE,SAASypE,EAAI55D,QAAQk6D,OAAO/vE,SAASmhC,KAK3Cvd,EADA6rD,EAAI55D,QAAQk6D,OAAO/vE,SAAS4jB,gBAAgB2tD,SACrCvrE,SAASypE,EAAI55D,QAAQk6D,OAAO/vE,SAAS4jB,KAAK4tD,KAAK/2D,KAAMg1D,IAErDzpE,SAASypE,EAAI55D,QAAQk6D,OAAO/vE,SAAS4jB,MAK5CG,EADA0rD,EAAI55D,QAAQk6D,OAAO/vE,SAAS+jB,iBAAiBwtD,SACrCvrE,SAASypE,EAAI55D,QAAQk6D,OAAO/vE,SAAS+jB,MAAMytD,KAAK/2D,KAAMg1D,IAEtDzpE,SAASypE,EAAI55D,QAAQk6D,OAAO/vE,SAAS+jB,OAGjD2rD,IAAOrgC,IAAIogC,EAAIe,OAAQ,UAAWf,EAAI55D,QAAQk6D,OAAOjsD,QACrD4rD,IAAOrgC,IAAIogC,EAAIe,OAAQ,MAAOrvC,EAAM,MACpCuuC,IAAOrgC,IAAIogC,EAAIe,OAAQ,OAAQ5sD,EAAO,MACtC8rD,IAAOrgC,IAAIogC,EAAIe,OAAQ,QAASzsD,EAAQ,SAIhDutD,YAAa,WACJ7B,EAAIe,SAIuC,IAA5Cd,IAAOruE,SAASvG,EAAM,oBACtB40E,IAAOrgC,IAAIogC,EAAIe,OAAQ,UAAW,IAClCd,IAAOrgC,IAAIogC,EAAIe,OAAQ,MAAO,IAC9Bd,IAAOrgC,IAAIogC,EAAIe,OAAQ,OAAQ,IAC/Bd,IAAOrgC,IAAIogC,EAAIe,OAAQ,QAAS,MAOxCG,OAAQ,YACwC,IAAxCT,EAAOkB,aAAa,kBAIxB1B,IAAOiB,OAAO9kE,GAEdqkE,EAAOkB,aAAa,iBAMxBK,WAAY,SAASz3E,GACbA,IACAy1E,EAAI30E,KAAKV,UAAYJ,IAO7B41E,QAAS,WACL,OAAOH,EAAI30E,MAMf42E,QAAS,WACL,OAAO7lE,GAMXglE,OAAQ,WACJX,EAAOkB,aAAa,WAMxBN,OAAQ,WACApB,IAAOruE,SAASwK,EAAS,kBAAoB6jE,IAAOruE,SAASwK,EAAS,kBACtEqkE,EAAOyB,SAEPzB,EAAO0B,YAOfA,SAAU,YACwC,IAA1C1B,EAAOkB,aAAa,oBAIxB1B,IAAOmC,QAAQpC,EAAI30E,KAAM20E,EAAI55D,QAAQi6D,aAAa,WAC9CI,EAAOkB,aAAa,oBAGxB1B,IAAOpuE,SAASuK,EAAS,mBAM7B8lE,OAAQ,YACwC,IAAxCzB,EAAOkB,aAAa,kBAIxB1B,IAAOoC,UAAUrC,EAAI30E,KAAM20E,EAAI55D,QAAQi6D,aAAa,WAChDI,EAAOkB,aAAa,kBAGxB1B,IAAOzgC,YAAYpjC,EAAS,iBAC5B6jE,IAAOzgC,YAAYpjC,EAAS,oBAMhCulE,aAAc,SAAS1vE,GAEnB,IAAK,IAAI4C,EAAI,EAAGA,EAAImrE,EAAIa,OAAO/rE,OAAQD,IAAK,CACxC,IAAIqL,EAAQ8/D,EAAIa,OAAOhsE,GACvB,GAAIqL,EAAMjO,MAAQA,EAAM,CACpB,GAAiB,GAAbiO,EAAMoiE,IAMN,OAAOpiE,EAAMqiE,QAAQR,KAAK/2D,KAAMg1D,GALhC,GAAmB,GAAf9/D,EAAMsiE,MAEN,OADAxC,EAAIa,OAAOhsE,GAAG2tE,OAAQ,EACftiE,EAAMqiE,QAAQR,KAAK/2D,KAAMg1D,MASpDmB,SAAU,SAASlvE,EAAMswE,EAASD,GAQ9B,OAPAtC,EAAIa,OAAO9rE,KAAK,CACZ9C,KAAMA,EACNswE,QAASA,EACTD,IAAKA,EACLE,OAAO,IAGJxC,IAwHf,OA5GAA,EAAIyC,YAAc,SAASr8D,GACvBg6D,EAAiBh6D,GAMrB45D,EAAIkB,OAAS,WACT,OAAOT,EAAOS,OAAO32E,OAMzBy1E,EAAIsB,WAAa,WACb,OAAOb,EAAOa,cAMlBtB,EAAI4B,aAAe,WACf,OAAOnB,EAAOmB,gBAMlB5B,EAAI6B,YAAc,WACd,OAAOpB,EAAOoB,eAMrB7B,EAAI0C,cAAgB,WACnBjC,EAAOoB,cACP/wE,OAAO6xE,oBAAoB,SAAUlC,EAAOe,iBAM1CxB,EAAIoB,OAAS,WACT,OAAOX,EAAOW,UAMlBpB,EAAIgC,WAAa,SAASz3E,GACtB,OAAOk2E,EAAOuB,WAAWz3E,IAM7By1E,EAAIqB,OAAS,WACT,OAAOZ,EAAOY,UAMlBrB,EAAImC,SAAW,WACX,OAAO1B,EAAO0B,YAMlBnC,EAAIkC,OAAS,WACT,OAAOzB,EAAOyB,UAOlBlC,EAAIG,QAAU,WACV,OAAOM,EAAON,WAOlBH,EAAIiC,QAAU,WACV,OAAOxB,EAAOwB,WAMlBjC,EAAI4C,GAAK,SAAS3wE,EAAMswE,GACpB,OAAO9B,EAAOU,SAASlvE,EAAMswE,IAMjCvC,EAAIsC,IAAM,SAASrwE,EAAMswE,GACrB,OAAO9B,EAAOU,SAASlvE,EAAMswE,GAAS,IAI1C9B,EAAOC,UAAUmC,MAAM7C,EAAK,CAAC55D,IAEtB45D,M,yDC3aX,wBA4K4CJ,EAAOC,QAIpCiD,IA1KG,SAAS/C,EAAW35D,GAElC,IAAI45D,EAAMh1D,KAIN5O,EAAU6jE,IAAOC,QAAQH,GACzB10E,EAAO40E,IAAOE,UAElB,GAAK/jE,EAAL,CAKA,IAAIgkE,EAAiB,CACjBI,OAAQ,IACRuC,MAAO,KAOPtC,EAAS,CAKTC,UAAW,SAASt6D,GAahB,OAZI65D,IAAOzxE,KAAK4N,GAAS2kC,IAAI,aACzBi/B,EAAMC,IAAOzxE,KAAK4N,GAASwF,IAAI,cAG/B6+D,EAAOE,KAAKv6D,GAGZq6D,EAAOG,QAEPX,IAAOzxE,KAAK4N,GAASykC,IAAI,YAAam/B,IAGnCA,GAOXW,KAAM,SAASv6D,GACX45D,EAAIa,OAAS,GAGbb,EAAI55D,QAAU65D,IAAOa,WAAW,GAAIV,EAAgBh6D,IAGxDw6D,MAAO,WAGH9vE,OAAOywE,iBAAiB,UAAU,WAC9BtB,IAAO+C,cAHPC,GAGuB,WACnBxC,EAAOyC,WACR,QAIPjD,IAAOkB,SAAS/kE,EAAS,QAASqkE,EAAO0C,SAM7CD,OAAQ,WACMjD,IAAOyB,eAEP1B,EAAI55D,QAAQo6D,QAC0B,IAAxCn1E,EAAK+3E,aAAa,mBAClB/3E,EAAKg4E,aAAa,iBAAkB,OAGI,IAAxCh4E,EAAK+3E,aAAa,mBAClB/3E,EAAKi4E,gBAAgB,mBAQjCH,OAAQ,SAAS5nE,GACbA,EAAEqmD,iBAEFqe,IAAOsD,UAAU,EAAGvD,EAAI55D,QAAQ28D,QAOpCpB,aAAc,SAAS1vE,EAAMuxE,GACzB,IAAK,IAAI3uE,EAAI,EAAGA,EAAImrE,EAAIa,OAAO/rE,OAAQD,IAAK,CACxC,IAAIqL,EAAQ8/D,EAAIa,OAAOhsE,GACvB,GAAIqL,EAAMjO,MAAQA,EAAM,CACpB,GAAiB,GAAbiO,EAAMoiE,IAMP,OAAOpiE,EAAMqiE,QAAQR,KAAK/2D,KAAMg1D,EAAKwD,GALpC,GAAmB,GAAftjE,EAAMsiE,MAEN,OADAxC,EAAIa,OAAOhsE,GAAG2tE,OAAQ,EACftiE,EAAMqiE,QAAQR,KAAK/2D,KAAMg1D,EAAKwD,MASzDrC,SAAU,SAASlvE,EAAMswE,EAASD,GAC9BtC,EAAIa,OAAO9rE,KAAK,CACZ9C,KAAMA,EACNswE,QAASA,EACTD,IAAKA,EACLE,OAAO,MA2CnB,OA9BAxC,EAAIyC,YAAc,SAASr8D,GACvBg6D,EAAiBh6D,GAMrB45D,EAAI4C,GAAK,SAAS3wE,EAAMswE,GACpB,OAAO9B,EAAOU,SAASlvE,EAAMswE,IAOjCvC,EAAIsC,IAAM,SAASrwE,EAAMswE,GACrB,OAAO9B,EAAOU,SAASlvE,EAAMswE,GAAS,IAQ1C9B,EAAOC,UAAUmC,MAAM7C,EAAK,CAAC55D,KAGtB,EAGA45D,M,iGCpKJ,SAAS3wD,IAEd,IAAQC,EAAcC,aACpB,SAAChE,GAAD,MAAY,CAAE+D,UAAW/D,EAAMiE,UAAUC,eACzCC,KAFMJ,UAkBR,OADAvP,qBAAU,cAAU,CAACuP,IAEnB,kBAAC,IAAD,CAAeA,UAAWA,EAAWpkB,KAAK,gB,8CClBvC,SAASonB,EAAT,GAAkD,EAAdjmB,GAAe,IAAXiR,EAAU,EAAVA,OAE7C,EAA4CiS,aAC1C,SAAChE,GAAD,MAAY,CACVwE,gBAAiBxE,EAAMiE,UAAUO,gBACjCvC,eAAgBjC,EAAMiE,UAAUhC,kBAElCkC,KALMK,EAAR,EAAQA,gBAAiBvC,EAAzB,EAAyBA,eAiBzB,OARAzN,qBAAU,cAMP,CAACgQ,EAAiBvC,IAGnB,oCACGA,GAAkB,kBAAC,IAAD,MACnB,kBAACkF,EAAA,EAAMlV,OAAP,KACE,kBAACkV,EAAA,EAAM9U,MAAP,CAAavR,GAAG,gCAAhB,gBACA,kBAACi9B,EAAA,EAAD,CAEE7rB,aAAW,QACX/E,QAAS,SAAC6C,GACR+B,GAAO,KAGT,kBAAC,IAAD,S,s3MC7BV,IAAMpT,EAAU,IAAIC,IAAa,MAC3BC,EAAKC,IAAIH,GACTgjB,EAAqBC,MAAaC,MAAM,IAGvC,SAASC,EAAT,GAKH,IAJFC,EAIC,EAJDA,aACAC,EAGC,EAHDA,SACAC,EAEC,EAFDA,eACAlQ,EACC,EADDA,OAEMokB,EAAUsqB,cADf,4CAGD,qGACQy3B,EAAa3yE,OAAOu0C,SAASq+B,SAASrvE,MAAM,KAAK,GACjDsvE,EAA0Bl5E,SAASsR,eACvC,0BACA3Q,MACIw4E,EAAgBn5E,SAASsR,eAAe,iBAAiB3Q,MACzDoD,EAAO,CACX+qB,WAAYoqD,EACZjmE,KAAMkmE,GAEJ/sB,EAAM7pD,KAAKE,UAAUsB,GAErBiT,EAAiB,CACnBjB,OAAQ,OACRnV,KAAMwrD,EACNn1C,SAAU,SACVjB,iBAAiB,EACjBC,QAAS,CACPC,cAAc,UAAD,OAAYvW,EAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,qBApBtB,SAuBQN,MACJ,UAAGxP,OAAOyP,QAAV,iCAAmDkjE,EACnDhiE,GAzBJ,OA2BE5V,YAAa,OAAQ,qCAAuC43E,GAC5D/hD,EAAQ3sB,KAAK,yBA5Bf,6CAHC,sBAkCD,OACE,oCACE,kBAAC,IAAD,CACEyZ,oBAAoB,EACpBC,cAAelB,EACfmB,iBAAkBxB,EAClByB,SAAU,SAACxb,GACTma,EAAana,MAGd,kBACC,oCACE,kBAACuf,EAAA,EAAMhV,KAAP,CAAYzR,UAAU,iBACnBuhB,GACC,yBAAKvhB,UAAU,gCACb,yBAAKA,UAAU,wCAGnB,kBAAC,IAAD,CAAMA,UAAU,yBACd,yBAAKA,UAAU,kBAEb,yBAAKA,UAAU,aACb,kBAAC,IAAD,CACEwD,MAAM,aACNwC,KAAK,yBACL5F,GAAG,yBACH+Z,QAAS,CACP,CACEhb,MAAO,GACPqE,MAAO,OAET,CACErE,MAAO,IACPqE,MAAO,aAET,CACErE,MAAO,IACPqE,MAAO,eAET,CACErE,MAAO,IACPqE,MAAO,kBAET,CACErE,MAAO,IACPqE,MAAO,YAET,CACErE,MAAO,IACPqE,MAAO,yBAET,CACErE,MAAO,IACPqE,MAAO,uBAET,CACErE,MAAO,KACPqE,MAAO,iBAET,CACErE,MAAO,KACPqE,MAAO,gBAKf,yBAAKxD,UAAU,kBACb,gDACA,8BACEoE,MAAO,CAAEgS,MAAO,QAChBpQ,KAAK,gBACL5F,GAAG,gBACHoD,MAAM,gBACNyX,KAAM,QAMhB,kBAACwL,EAAA,EAAM/U,OAAP,KACE,4BACE3O,KAAK,SACL0J,QAAS4E,EACTrR,UAAU,6BAHZ,UAOA,yCACA,4BACE+C,KAAK,SACL0J,QAAS,kBA5HtB,0CA4H4BmrE,IACf53E,UAAU,+BAHZ,c,qBCzIRivB,EAAqBC,0BAEpB,SAASC,IACd,OAAOC,qBAAWH,GAGeA,EAAmBI,SAE/C,SAASC,EAAT,GAA6D,IAA/BC,EAA8B,EAA9BA,kBAAmB7G,EAAW,EAAXA,SACtD,EAA0C1b,mBAASwhB,KAAnD,mBAAOlJ,EAAP,KAAoBkK,EAApB,KACA,EAAsBxiB,mBAAS,IAA/B,mBAAOkY,EAAP,KAAYuK,EAAZ,KACMC,EAAiBC,uBAAY,SAAAC,GACjCJ,GAAmB,SAAAK,GAKjB,OAJIC,qBAAWF,KACbA,EAAkBA,EAAgBC,IAGhCE,kBAAQF,EAAiBD,GACpBC,EAGFD,OAER,IAQGzwB,EAAQ,CACZmmB,cACAkK,qBACAtK,MACAuK,SACAC,iBACAM,aAZmB,CACnB5vB,QAAI0F,EACJ+xE,WAAY,GACZC,aAAc,IAUdxnD,uBAAwBf,EAAkBe,uBAC1CC,uBAAwBhB,EAAkBgB,uBAC1CC,yBAA0BjB,EAAkBiB,yBAC5CC,0BAA2BlB,EAAkBkB,0BAC7CC,yBAA0BnB,EAAkBmB,yBAC5CC,gCAAiCpB,EAAkBoB,iCAGrD,OAAO,kBAAC1B,EAAmB2B,SAApB,CAA6BzxB,MAAOA,GAAQupB,GC1C9C,SAASmI,EAAT,GAAmD,IAArBzwB,EAAoB,EAApBA,GAAIgR,EAAgB,EAAhBA,KAAMC,EAAU,EAAVA,OAEvCyf,EAAqB3B,IACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACLhB,aAAcc,EAAmBd,gBAElC,CAACc,IAGEvL,EAAW0L,cACjB,EAA4C3N,aAC1C,SAAChE,GAAD,MAAY,CACViC,eAAgBjC,EAAMiE,UAAUhC,eAChCuC,gBAAiBxE,EAAMiE,UAAUO,mBAEnCL,KALMlC,EAAR,EAAQA,eAAgBuC,EAAxB,EAAwBA,gBAQxBhQ,qBAAU,WAERyR,EAAStB,IAAsB7jB,MAC9B,CAACA,EAAImlB,IAaR,OACE,kBAACkB,EAAA,EAAD,CACEtV,KAAK,KACLC,KAAMA,EACNC,OAAQA,EACRC,kBAAgB,gCAEhB,kBAAC+U,EAAD,CAA0BjmB,GAAIA,EAAIiR,OAAQA,IAC1C,kBAAC+P,EAAD,CACEC,aAnBe,SAACC,GACflhB,EAKHmlB,EAAStB,IAAuB3C,IAAW1M,MAAK,kBAAMvD,OAHtDkU,EAAStB,IAAuB3C,IAAW1M,MAAK,kBAAMvD,QAiBpDkQ,eAAgBA,EAChBD,SAAUwC,GAAmBiN,EAAiBf,aAC9C3e,OAAQA,K,w1MCnChB,IAAMpT,EAAU,IAAIC,IAAa,MAC3BC,EAAKC,IAAIH,GAER,SAASizB,EAAT,GAAqD,IAArB9wB,EAAoB,EAApBA,GAAIgR,EAAgB,EAAhBA,KAAMC,EAAU,EAAVA,OAE/C,EAAgDrE,mBAAS,MAAzD,mBAAOg6C,EAAP,KAAyBC,EAAzB,KACA,EAA8Cj6C,mBAAS,MAAvD,mBAAOykD,EAAP,KAAwBC,EAAxB,KACA,EAA4B1kD,mBAAS,MAArC,mBAAOo6C,EAAP,KAAeC,EAAf,KACA,EAA4Cr6C,mBAAS,MAArD,mBAAOk6C,EAAP,KAAuBC,EAAvB,KACA,EAAsCn6C,mBAAS,MAA/C,mBAAOw6C,EAAP,KAAoBC,EAApB,KACA,EAAwCz6C,oBAAS,GAAjD,mBAAOs6C,EAAP,KAAqBC,EAArB,KACA,EAAkCv6C,oBAAS,GAA3C,mBAAOmkD,EAAP,KAAkBC,EAAlB,KACA,EAA4DpkD,oBAAS,GAArE,mBAAOqkD,EAAP,KAA+BC,EAA/B,KACA,GAA4DtkD,oBAAS,GAArE,qBAAOukD,GAAP,MAA+BC,GAA/B,MACA,GAAgCxkD,mBAAS,IAAzC,qBAAO06C,GAAP,MAAiBC,GAAjB,MACA,GAA4C36C,mBAAS,IAArD,qBAAO46C,GAAP,MAAuBC,GAAvB,MACA,GAAwC76C,mBAAS,IAAjD,qBAAO2kD,GAAP,MAAqBC,GAArB,MACA,GAA8C5kD,mBAAS,IAAvD,qBAAO6kD,GAAP,MAAwBC,GAAxB,MACA,GAA8C9kD,oBAAS,GAAvD,qBAAO+kD,GAAP,MAAwBC,GAAxB,MACA,GAA0ChlD,oBAAS,GAAnD,qBAAO86C,GAAP,MAAsBC,GAAtB,MAEMj3B,GAAqB3B,IASrB5J,IARmByL,mBAAQ,WAC/B,MAAO,CACLvB,OAAQqB,GAAmBrB,OAC3BnK,YAAawL,GAAmBxL,eAEjC,CAACwL,KAGaG,eACT5N,GAAcC,aACpB,SAAChE,GAAD,MAAY,CAAE+D,UAAW/D,EAAM2Y,SAAS1W,kBACxCkC,KAFMJ,UAMRvP,qBAAU,WACH1T,GACHiR,MAGD,CAACjR,IACJ0T,qBAAU,WACRuO,UACyCvc,IAArCjB,OAAOulD,0BACTlkD,YAAW,WAAO,IAAD,IACfuhD,EAAe,sBAAD,iBACU5iD,OAAOulD,iCADjB,aACU,EAAkCrmD,KAAI,SAC1DC,GAEA,OAAOA,EAAK5D,MACXsH,KAAK,QAEVigD,GAAY,iGAAD,iBACwF9iD,OAAOulD,iCAD/F,aACwF,EAAkCrmD,KAAI,SACrIC,GAEA,OAAOA,EAAK5D,MACXsH,KAAK,MALC,0CAOV,KAGHxB,YAAW,WACTuhD,EAAe,sBAAwBrnD,GACvCunD,GAAY,iGAAD,OACwFvnD,EADxF,0CAGV,OAGJ,CAACA,IACJ,IAAMiiB,GAAe,uCAAG,sFACtB,IACa,OAAPjiB,KACEiV,EAAY,IAAIC,SACVC,OACR,gBADF,iBAEYpX,EAAG8L,OAAOC,WAAWyK,QAEjCU,EAAUE,OAAO,eAAgB,oBACjCF,EAAUE,OAAO,eAAgB,UAC7BC,EAAiB,CACnBjB,OAAQ,MACRC,iBAAiB,EACjBC,QAASY,EACTI,SAAU,UAEZpB,MAAMxP,OAAOyP,QAAU,2BAA6BlU,EAAIoV,GACrDZ,MAAK,SAACC,GAAD,OAAcA,EAAS5V,UAC5B2V,MAAK,SAACzF,GACL,IAAM4oE,EAAYh3E,KAAKC,MAAMmO,GACzB2d,EAAM,GACNolC,EAAO,GACX6lB,EAAUnuB,OAAO7lD,KAAI,SAACC,EAAMC,GAC1B6oB,EAAIhkB,KAAK,CAAE3J,MAAO6E,EAAKkgC,MAAO1gC,MAAOQ,EAAKkgC,QAC1CguB,EAAKppD,KAAK,CAAEo7B,MAAOlgC,EAAKkgC,MAAOrgC,KAAMG,EAAKkgC,WAE5CijB,EAAkBr6B,GAClBu6B,EAAU6K,GACVjL,EAAoBn6B,GACpB4kC,EAAmBqmB,EAAUvtB,gBAE9Br1C,OAAM,SAAC5K,GAAD,OAAWnH,QAAQC,IAAI,QAASkH,MAEzC8J,MAAMxP,OAAOyP,QAAU,mCAAoC,CACzDC,OAAQ,MACRE,QAAS,CACPC,cAAc,UAAD,OAAYvW,EAAG8L,OAAOC,WAAWyK,OAC9C+K,OAAQ,oCACR,eAAgB,sBAGjB9K,MAAK,SAACC,GAAD,OAAcA,EAAS5V,UAC5B2V,MAAK,SAACzF,GACL,IAAMgjD,EAAOpxD,KAAKC,MAAMmO,GACxByiD,GAAgBO,EAAKR,cACrBG,GAAmBK,EAAKN,oBAEzB18C,OAAM,SAAC5K,GAAD,OAAWnH,QAAQC,IAAI,QAASkH,OAE3C,MAAO+E,IAjDa,2CAAH,qDAoDrBwE,qBAAU,cAAU,CAACuP,GAAWkC,KAEhC,IAAMotD,GAAa,uCAAG,iGACL,OAAXvrB,EADgB,uBAElBxnD,YAAa,QAAS,0BAFJ,iCAMpBmoD,IAAiB,GACbxlD,EAAO,GAETA,OADuCuD,IAArCjB,OAAOulD,0BACF,CACLC,IAAG,UAAExlD,OAAOulD,iCAAT,aAAE,EAAkCrmD,KAAI,SAASC,GAClD,OAAOA,EAAK5D,MAEdwpD,OAAQxC,EACRkD,QAAS9C,EACT/1C,KAAMi2C,GACN6C,UAAWjD,EACXkD,YAAa5C,GACb6C,IAAK0G,EACLzG,iBAAkB2G,EAClB1G,iBAAkB4G,IAGb,CACL3H,OAAQxC,EACRkD,QAAS9C,EACT/1C,KAAMi2C,GACN6C,UAAWjD,EACXkD,YAAa5C,GACb6C,IAAK0G,EACLzG,iBAAkB2G,EAClB1G,iBAAkB4G,IAIlB3G,EAAM7pD,KAAKE,UAAUsB,GACrBiT,EAAiB,CACnBjB,OAAQ,OACRnV,KAAMwrD,EACNn1C,SAAU,SACVjB,iBAAiB,EACjBC,QAAS,CACPC,cAAc,UAAD,OAAYvW,EAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,qBAGhB3C,EAAM,GAERA,OADuClM,IAArCjB,OAAOulD,0BACH,sCAEA,wBAA0BhqD,EAnDd,UAqDCiU,MAAM,GAAD,OAAIxP,OAAOyP,SAAX,OAAqBtC,GAAOwD,GArDlC,QAsDI,MAtDJ,OAsDPT,aAC8BjP,IAArCjB,OAAOulD,0BACTxqD,YAAa,UAAD,6DAAwDiF,OAAOulD,iCAA/D,aAAwD,EAAkCrmD,KAAI,SACxGC,GAEA,OAAOA,EAAK5D,MACXsH,KAAK,QAGR9H,YAAa,UAAW,0CAA4CQ,GAGtEinD,EAAU,MACVF,EAAkB,MAClBM,EAAe,MACfE,GAAY,IACZJ,GAAgB,GAChB6J,GAAa,GACbE,GAA0B,GAC1BE,IAA0B,GAC1B3J,GAAkB,IAClBE,IAAiB,GACjB12C,MAEAzR,YAAa,QAAS,gBACtBmoD,IAAiB,GACjB12C,KAhFkB,4CAAH,qDA5HsC,SAiN1CghD,GAjN0C,iFAiNzD,WAAyCjyD,GAAzC,6FAEmE0F,IAA/DtH,SAASsR,eAAe,0BAA0BgL,MAAM,GAF5D,uBAIIlb,YAAa,QAAS,4BAJ1B,iCAOEoyD,IAAmB,GACfM,EAAW,IAAIC,SACbC,EAAeh0D,SAASsR,eAAe,0BACvC2iD,EAAgBj0D,SAASsR,eAAe,6BAC3C3Q,MACGuzD,EAAmBl0D,SAASsR,eAChC,gCACA3Q,MACFmzD,EAAS/8C,OACP,OACAi9C,EAAa13C,MAAM,GACnB03C,EAAarzD,MAAMiJ,MAAM,MAAM,IAE7BoN,EAAiB,CACnBjB,OAAQ,OACRnV,KAAMkzD,EACN78C,SAAU,SACVjB,iBAAiB,EACjBC,QAAS,CACPC,cAAc,UAAD,OAAYvW,EAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,WA3BtB,UA8BuBN,MACnB,UAAGxP,OAAOyP,QAAV,kDACElU,EACA,kBACAqyD,EACA,qBACAC,EACFl9C,GArCJ,eA8BMX,EA9BN,iBAuCmBA,EAAS1N,OAvC5B,QAyCE,IAzCF,OAwCMwrD,EAASn0D,SAASo0D,iBAAiB,gCAC9BhqD,EAAI,EAAGA,EAAI+pD,EAAO9pD,OAAQD,IACjC+pD,EAAO/pD,GAAGkuB,SAAU,EAEtBk7B,IAAmB,GACnBa,KACAhL,GAAkB,IA9CpB,6CAjNyD,+BAkQ1CgL,KAlQ0C,8EAkQzD,uFACMx9C,EAAY,IAAIC,SACVC,OAAO,gBAAjB,iBAA4CpX,EAAG8L,OAAOC,WAAWyK,QACjEU,EAAUE,OAAO,eAAgB,oBACjCF,EAAUE,OAAO,eAAgB,UAC7BC,EAAiB,CACnBjB,OAAQ,MACRC,iBAAiB,EACjBC,QAASY,EACTI,SAAU,UAEZpB,MAAMxP,OAAOyP,QAAU,2BAA6BlU,EAAIoV,GACrDZ,MAAK,SAACC,GAAD,OAAcA,EAAS5V,UAC5B2V,MAAK,SAACzF,GACL,IAAM8iD,EAAYlxD,KAAKC,MAAMmO,GAC7BuiD,EAAmBO,EAAUzH,gBAE9Br1C,OAAM,SAAC5K,GAAD,OAAWnH,QAAQC,IAAI,QAASkH,MAjB3C,4CAlQyD,sBAqRzD,OACE,kBAACkc,EAAA,EAAD,CACErV,KAAMA,EACNC,OAAQA,EACRC,kBAAgB,+BAChBH,KAAK,MAEJkS,IAAa,kBAAC,IAAD,CAAkBsQ,QAAQ,UACxC,kBAAClN,EAAA,EAAMlV,OAAP,KACE,kBAACkV,EAAA,EAAM9U,MAAP,CAAavR,GAAG,gCAAhB,iBAGA,kBAACi9B,EAAA,EAAD,CAAY7rB,aAAW,QAAQ/E,QAAS4E,GACtC,kBAAC,IAAD,QAGJ,kBAACoV,EAAA,EAAMhV,KAAP,KACG4R,IAAa,kEACd,kBAAC,IAAD,KACE,kBAAC,IAAD,CAAMrjB,UAAU,uCACd,yBAAKA,UAAU,aACb,yBAAKA,UAAU,OACb,yBAAKA,UAAU,aACb,uBAAGA,UAAU,QAAb,QACCgnD,GACC,kBAAC,IAAD,CACE3R,SAAO,EACPrvC,KAAK,KACL5F,GAAG,KACHjB,MAAO+nD,EACP/sC,QAAS6sC,EACThnD,UAAU,qBACVs1C,gBAAgB,SAChBjmC,SAAU,SAACC,GACT,IAAIwd,EAAM,GACNq+B,EAAc,GACd77C,GACFA,EAAEvL,KAAI,SAACC,EAAMC,GACX6oB,EAAIhkB,KAAK,CAAEo7B,MAAOlgC,EAAK7E,MAAO0E,KAAMG,EAAK7E,QACzCgsD,EAAYriD,KAAK,CACf3J,MAAO6E,EAAK7E,MACZqE,MAAOQ,EAAK7E,WAIlBgoD,EAAkBgE,GAClB9D,EAAUv6B,MAKhB,kBAAC,IAAD,CACEpO,KAAK,OACL1Y,KAAK,WACL/G,KAAK,mBACLoQ,SAAU,SAAC4E,GACTszC,EAAgBtzC,EAAMrE,OAAOknB,aAInC,yBAAK92B,UAAU,kBACb,uBAAGA,UAAU,QAAb,aACA,kBAAC,IAAD,CACEgG,KAAK,UACL0I,UAAW2f,IACXjf,YAAY,UACZjQ,MAAOqoD,EACPn4C,SAAU,SAAC4E,GACTwzC,EAAexzC,EAAMrE,OAAOzQ,WAIlC,yBAAKa,UAAU,kBACb,uBAAGA,UAAU,QAAb,UAEA,kBAAC,WAAD,CACEgG,KAAK,OACLpC,GAAG,OACHJ,MAAM,OACN4nD,OAAQC,IACRC,OAAQ,CACNC,cAAe,CACb,QACA,eACA,aACA,eACA,cACA,eAGJhpD,KAAMmlD,GACNp0B,OAAQ,SAACrf,EAAOm3C,GACd,IAAM7oD,EAAO6oD,EAAOI,UACpB7D,GAAYplD,OAIlB,yBAAKvC,UAAU,aACb,yBAAKA,UAAU,OACb,yBAAKA,UAAU,kBACb,4CAEF,yBAAKA,UAAU,sBACb,yBAAKA,UAAU,YACb,kBAAC,IAAD,CACE0e,KAAK,OACL1Y,KAAK,YACL/G,KAAK,cACLoQ,SAAU,SAAC4E,GACTm9C,EAAan9C,EAAMrE,OAAOknB,aAIhC,yBAAK92B,UAAU,YACb,kBAAC,IAAD,CACE0e,KAAK,OACL1Y,KAAK,mBACL8wB,QAASu6B,EACTpyD,KAAK,4BACLoQ,SAAU,SAAC4E,GACTq9C,EAA0Br9C,EAAMrE,OAAOknB,aAI7C,yBAAK92B,UAAU,YACb,kBAAC,IAAD,CACE0e,KAAK,OACL1Y,KAAK,mBACL/G,KAAK,4BACLoQ,SAAU,SAAC4E,GACTu9C,GAA0Bv9C,EAAMrE,OAAOknB,cAhCjD,OAqCG26B,QArCH,IAqCGA,OArCH,EAqCGA,EAAiB1tD,KAAI,SAACC,EAAMC,GAC3B,OACE,yBAAKjE,UAAU,sBACb,yBAAKA,UAAU,sBACb,kBAAC,IAAD,CACE0e,KAAK,OACL1Y,KAAI,eAAU/B,GACd9E,MAAO6E,EAAKJ,GACZ5D,UAAU,8BACVqP,SAAU,SAAC4E,GACT,IAAI6Y,EAAM86B,GACV96B,EAAIhkB,KAAKmL,EAAMrE,OAAOzQ,OACtB0oD,GAAkB/6B,MAGtB,uBACE9sB,UAAU,OACV4P,OAAO,SACPkjD,IAAI,sBACJpqD,KAAI,UAAK1E,EAAK+uD,OAEb/uD,EAAKH,aAQpB,yBAAK7D,UAAU,aACb,yBAAKA,UAAU,aACb,yBAAKA,UAAU,YACb,6CACA,2BACEI,GAAG,yBACH2C,KAAK,OACLiD,KAAK,yBACL0I,UAAW2f,IACXjf,YAAY,iBACZ5L,MAAM,oBAGV,yBAAKxD,UAAU,YACb,8CACA,4BACEA,UAAU,uEACVgG,KAAK,+BACL5F,GAAG,+BACHoD,MAAM,mBAELquD,GAAgB9tD,KAAI,SAACC,EAAMC,GAAP,OACnB,4BAAQqD,IAAKrD,EAAO9E,MAAO6E,EAAKJ,IAC7BI,EAAKH,WAKd,yBAAK7D,UAAU,YACb,2CACA,4BACEA,UAAU,uEACVgG,KAAK,4BACL5F,GAAG,4BACHoD,MAAM,gBAELmuD,GAAa5tD,KAAI,SAACC,EAAMC,GAAP,OAChB,4BAAQqD,IAAKrD,EAAO9E,MAAO6E,EAAKJ,IAC7BI,EAAKH,WAKd,yBAAK7D,UAAU,iBACb,4BACE+C,KAAK,SACL0J,QAAO,sBAAE,8FACD4lD,GAA0BjyD,GADzB,mFAGT+S,SAAU4+C,GACV/xD,UAAU,+BANZ,kBASG+xD,IACC,kBAACjS,EAAA,EAAD,CACEz/C,GAAG,OACHorD,UAAU,SACVt6C,KAAK,KACL2tB,KAAK,SACL4sB,cAAY,kBAYlC,kBAACjlC,EAAA,EAAM/U,OAAP,KACE,6BACE,4BACE3O,KAAK,SACL0J,QAAS4E,EACTrR,UAAU,6BAHZ,UAOA,yCACA,4BACE+C,KAAK,SACL0J,QAASkmE,GACTx/D,SAAU20C,GACV9nD,UAAU,8BAJZ,aAOG8nD,IACC,kBAAChI,EAAA,EAAD,CACEz/C,GAAG,OACHorD,UAAU,SACVt6C,KAAK,KACL2tB,KAAK,SACL4sB,cAAY,a,imNCjhB5B,IAAMztD,GAAU,IAAIC,IAAa,MAC3BC,GAAKC,IAAIH,IAMf,SAAS+5E,GAAel5E,EAAKm5E,GAC3B,OAAY,OAARn5E,QAAwBgH,IAARhH,GAA6B,KAARA,EAChC,IAEgB,IAAhBm5E,EAAuBn5E,EAAM,KAAOA,EAG/C,SAASm+D,GAASC,GAChB,OAAa,OAATA,QAA0Bp3D,IAATo3D,GAA+B,KAATA,EAClC,KAGTA,EAAOA,EAAK12D,WAAWuF,MAAM,6CAA+C,CAC1EmxD,IAGOr0D,OAAS,KAEhBq0D,EAAOA,EAAKz7D,MAAM,IACb,IAAMy7D,EAAK,GAAK,GAAK,KAAO,KACjCA,EAAK,IAAMA,EAAK,GAAK,IAAM,IAEtBA,EAAKx1D,KAAK,KAEnB,SAAS+jB,GAAW7pB,GAClB,GAAIA,EAAM,CACR,IAAIoK,EAAI,IAAIrK,KAAKC,GACf8pB,EAAQ,IAAM1f,EAAEjK,WAAa,GAC7B6J,EAAM,GAAKI,EAAEhK,UACb2pB,EAAO3f,EAAE/J,cAEPypB,EAAM7iB,OAAS,IAAG6iB,EAAQ,IAAMA,GAChC9f,EAAI/C,OAAS,IAAG+C,EAAM,IAAMA,GAEhC,IAAMuD,EAAS,CAACuc,EAAO9f,EAAK+f,GAAMjkB,KAAK,KACvC,MAAe,gBAAXyH,EACKA,EAEA,aAGT,MAAO,GA7CXxN,KAAKu2E,UAAUC,SAAW,SAAS/8D,GAEjC,OADA2D,KAAKq5D,QAAQr5D,KAAKna,UAAgB,GAAJwW,EAAS,GAAK,KACrC2D,MA+CT,IAAMqS,GAAoB,SAACvN,EAAUqB,GACnC,IAAMmM,EAAa,GAOnB,OANAnM,EAAIhkB,SAAQ,SAACd,GACX,IAAMkhB,EAAWuC,EAASV,MAAK,SAAC6B,GAAD,OAAQA,EAAG5kB,KAAOA,KAC7CkhB,GACF+P,EAAWvoB,KAAKwY,MAGb+P,GAEH/Z,GAAYrB,YAAW,CAC3BlO,KAAM,CACJqO,MAAO,KAETm9C,SAAU,CACRn9C,MAAO,QAET4M,WAAY,CACVjU,MAAO,eACP0oB,OAAQ,cACR27B,cAAe,OACfC,QAAS,SAMN,SAASglB,KACd75E,SAASsR,eAAe,WAAW1L,MAAMqjB,SAAW,SACpCs4B,cAAhB,IACMjvB,EAAqB3B,IAC3B,EAAoDniB,mBAAS,IAA7D,mBAAOk2D,EAAP,KAA2BC,EAA3B,KACA,EAAkDn2D,oBAAS,GAA3D,mBAAOsrE,EAAP,KAA0BC,EAA1B,KACA,EAAwCvrE,qBAAxC,mBAAOwrE,EAAP,KAAqBC,EAArB,KACA,EAGIzrE,oBAAS,GAHb,mBACE0rE,EADF,KAEEC,EAFF,KAIA,EAA8C3rE,oBAAS,GAAvD,mBAAO4rE,EAAP,KAAwBC,EAAxB,KACA,EAAgD7rE,oBAAS,GAAzD,mBAAO8rE,EAAP,KAAyBC,EAAzB,KACA,EAA8C/rE,oBAAS,GAAvD,mBAAOgsE,EAAP,KAAwBC,EAAxB,KACA,EAAkDjsE,mBAAS,IAA3D,mBAAOwnD,EAAP,KAA0BC,EAA1B,KACA,EAA0DznD,mBAAS,IAAnE,mBAAOioD,EAAP,KAA8BC,EAA9B,KACA,EAAoDloD,mBAAS,MAA7D,oBAAOksE,GAAP,MAA2BC,GAA3B,MACA,GAGInsE,mBAAS,IAHb,qBACEosE,GADF,MAEEC,GAFF,MAIA,GAAgDrsE,mBAAS,MAAzD,qBAAOssE,GAAP,MAAyBC,GAAzB,MACA,GAAgEvsE,mBAC9D,MADF,qBAAOwsE,GAAP,MAAiCC,GAAjC,MAGA,GAAoCzsE,mBAAS,IAA7C,qBAAOmoD,GAAP,MAAmBC,GAAnB,MACA,GAAkDpoD,mBAAS,IAA3D,qBAAO+nD,GAAP,MAA0BC,GAA1B,MACA,GAAkDhoD,mBAAS,IAA3D,qBAAO0sE,GAAP,MAA0BC,GAA1B,MACA,GAAsD3sE,oBAAS,GAA/D,qBAAO4sE,GAAP,MAA4BC,GAA5B,MACA,GAA0C7sE,oBAAS,GAAnD,qBAAO8sE,GAAP,MAAsBC,GAAtB,MACA,GAAgD/sE,mBAAS,MAAzD,qBAAOgtE,GAAP,MAAyBC,GAAzB,MACA,GAAoEjtE,oBAClE,GADF,qBAAOktE,GAAP,MAAmCC,GAAnC,MAGA,GAA8CntE,oBAAS,GAAvD,qBAAOotE,GAAP,MAAwBC,GAAxB,MACA,GAAoDrtE,oBAAS,GAA7D,qBAAOstE,GAAP,MAA2BC,GAA3B,MACA,GAA8DvtE,oBAAS,GAAvE,qBAAOwtE,GAAP,MAAgCC,GAAhC,MACA,GAAgCztE,mBAAS,MAAzC,qBAAO6S,GAAP,MAAiB66D,GAAjB,MACM3wD,GAAS,SAAChqB,GACd,OACE,yBAAKqE,MAAO,CAAE2K,MAAOhP,EAAMwC,KAAKwM,QAC9B,kBAAC,KAAWgb,OAAWhqB,KAI7B,SAAS+2D,KACP,IAAIzhD,EAAY,IAAIC,QACpBD,EAAUE,OAAO,gBAAjB,iBAA4CpX,GAAG8L,OAAOC,WAAWyK,QACjE,IAAIa,EAAiB,CACnBjB,OAAQ,MACRE,QAASY,EACTI,SAAU,UAEZpB,MAAMxP,OAAOyP,QAAU,WAAYkB,GAChCZ,MAAK,SAACC,GAAD,OAAcA,EAAS5V,UAC5B2V,MAAK,SAACzF,GAAY,IAAD,IACV5M,EAAOxB,KAAKC,MAAMmO,GAClBsnD,EAAM,GACZl0D,EAAK4nD,QAAQjpD,SAAQ,SAACw1D,GACpBD,EAAI3tD,KAAK,CACPlF,GAAI8yD,EAAO9yD,GACXzE,MAAOu3D,EAAO9yD,GACdJ,MAAOkzD,EAAOxzC,KAAO,IAAMwzC,EAAO1rC,YAClCjc,MAAO,MACP8mB,UAAS,OAAE6gC,QAAF,IAAEA,OAAF,EAAEA,EAAQ7gC,UACnBigC,WAAU,OAAEY,QAAF,IAAEA,OAAF,EAAEA,EAAQZ,WACpBlgC,SAAQ,OAAE8gC,QAAF,IAAEA,OAAF,EAAEA,EAAQ9gC,cAGtB,IAAI+kD,EAAQ,UAAGp3D,GAAUhU,QACvB,SAAC+R,GAAD,OAAqC,QAAf,OAARA,QAAQ,IAARA,OAAA,EAAAA,EAAU8nC,WAAqB,MAC7C,UAFU,aAAG,EAETA,SACFrtC,EAAI06C,EAAIlnD,QAAO,SAAC1H,GAAD,SAAQ,OAACA,QAAD,IAACA,OAAD,EAACA,EAAG+tB,YAAa,OAAD/tB,QAAC,IAADA,OAAA,EAAAA,EAAGjE,MAAO+2E,KAErDlmB,EAAqB14C,GACrBi5C,GAAoB,iBAACzyD,QAAD,IAACA,OAAD,EAACA,EAAMo0D,sBAAP,QAAyB,IAC7CzB,GAA6B,OAAJ3yD,QAAI,IAAJA,OAAA,EAAAA,EAAMq0D,cAAe,IAC9CxB,IAAkB,OAAJ7yD,QAAI,IAAJA,OAAA,EAAAA,EAAMs0D,SAAU,OAE/B1hD,OAAM,SAAC5K,GAAD,OAAWnH,QAAQC,IAAI,QAASkH,MAE3C,IAAMwmB,GAAmBC,mBAAQ,WAC/B,MAAO,CACL9L,IAAK4L,EAAmB5L,IACxBI,YAAawL,EAAmBxL,YAChCoK,eAAgBoB,EAAmBpB,eACnCY,uBAAwBQ,EAAmBR,0BAE5C,CAACQ,IAGIvN,GAAcD,aACpB,SAAChE,GAAD,MAAY,CACViE,UAAW6N,GACT9R,EAAMiE,UAAUM,SAChBkN,GAAiB7L,QAGrBzB,KAPMF,UAWRzP,qBAAU,YACHid,GAAiB7L,KAAO6L,GAAiB7L,IAAIrc,SAGjD,CAACkoB,GAAiB7L,MACrB,IAAM3kB,GAAU+W,KAChB,GAA0BoT,IAAM1d,SAAS,CACvCy4B,KAAK,EACLvd,MAAM,EACNC,QAAQ,EACRE,OAAO,IAJT,qBAAO/I,GAAP,MAAcK,GAAd,MAOM41C,GAAe,SAACC,EAAM1hC,GAAP,OAAgB,SAAC7f,IAEnB,YAAfA,EAAMlR,MACS,QAAdkR,EAAM3M,KAA+B,UAAd2M,EAAM3M,OAIhCqY,GAAS,6BAAKL,IAAN,mBAAck2C,EAAO1hC,KACzBA,GACF5tB,YAAW,WACT1H,SAASi3D,uBAAuB,mBAAmB,GAAGrxD,MAAMsxD,WAC1D,YACD,QAIDljC,GAAc,WAElB,IAAMC,EAA+B,CACnCljB,OAAQ,CACNqrE,kBAAmB/1E,OAAOg2E,kBAG5BhsD,UAAW,OACXC,UAAW,KACXC,WAAY,EACZC,SAAU,IAGZyD,EAAe1D,WAAa,EAE5BgC,GAAiBrB,eAAe+C,IAIlC3e,qBAAU,gBACsBhO,IAA1BjB,OAAOquD,gBAA0D,KAA1BruD,OAAOquD,gBAChDiQ,EAAsBt+D,OAAOquD,kBAE9B,CAACruD,OAAOquD,iBAQX,IAAM4nB,GAAoB,wCAAG,WAAOp3B,EAAU7/C,GAAjB,8EAC3B,IACM0f,GAAUhU,QAAO,SAAChG,GAAD,OAAsB,IAAfA,EAAE4rC,YAAmBtsC,OAAS,GACxDjJ,YAAa,UAAW,uBAEtBm7E,EAAc,GAClBx3D,GAAUxf,KAAI,SAACud,GAAD,OAAcy5D,EAAYjyE,KAAKwY,EAASlhB,QAClDiV,EAAY,IAAIC,SACVC,OAAO,gBAAjB,iBAA4CpX,GAAG8L,OAAOC,WAAWyK,QACjEU,EAAUE,OAAO,eAAgB,oBACjCF,EAAUE,OAAO,eAAgB,UAC7Bq1C,EAAM7pD,KAAKE,UAAU,CACvBgyD,YAAa8nB,EACb7nB,eAAgBxP,IAEdluC,EAAiB,CACnBjB,OAAQ,OACRE,QAASY,EACTjW,KAAMwrD,EACNn1C,SAAU,UAEZpB,MACExP,OAAOyP,QAAP,wCACAkB,GAECZ,KAJH,wCAIQ,WAAOC,GAAP,0FACqBA,EAASE,OAD9B,UACED,EADF,SAEEY,EAAcb,EAASJ,QAAQkB,IAAI,mBACuB,IAA7CD,EAAYE,QAAQ,oBAHnC,yCAIKf,EAAS1N,OAAOyN,MAAK,SAACrS,GAAD,MAAU,CAACuS,EAAYvS,OAJjD,gCAMKsS,EACJ5V,OACA2V,MAAK,SAAC3V,GAAD,MAAU,CAAC6V,EAAY,CAAEe,QAAS,SARxC,2CAJR,uDAeGjB,MAAK,SAACzF,GACa,MAAdA,EAAO,GAEe,OAAtBA,EAAO,GAAG0G,cACY/P,IAAtBqJ,EAAO,GAAG0G,SACY,KAAtB1G,EAAO,GAAG0G,SAEVjW,YAAa,aAAcuP,EAAO,GAAG0G,SACrCrX,SAASsR,eAAe,iBAAiBinB,SAIzCn3B,YACE,UADU,iCAEgB2jB,GAAUxf,KAClC,SAACud,GAAD,OAAcA,EAASlhB,GAAK,QAHpB,oCAQdR,YAAa,aAAc,mBAE7BpB,SAASsR,eAAe,iBAAiBinB,QACzC7wB,YAAW,WACT1H,SAASsR,eAAe,WAAW1L,MAAMqjB,SAAW,WACnD,KACH,IAAIuzD,EAAa,IAAIC,MACrBD,EAAax8E,SAAS08E,qBAAqB,SAC3C,IAAK,IAAItyE,EAAI,EAAGA,EAAIoyE,EAAWnyE,OAAQD,IACX,YAAtBoyE,EAAWpyE,GAAG7F,OAChBi4E,EAAWpyE,GAAGkuB,SAAU,MAI7B3hB,OAAM,SAAC5K,GAAD,OAAWnH,QAAQC,IAAI,QAASkH,MACzC,MAAO+E,IAvEkB,2CAAH,wDA0EpB6rE,GAAmB,wCAAG,oGACtBJ,EAAc,GAElBl2E,OAAOu2E,wBAA0B73D,GAAU,GAAGnjB,GAE9CmjB,GAAUxf,KAAI,SAACud,GAAD,OAAcy5D,EAAYjyE,KAAKwY,EAASlhB,OACtDu5E,GAAqBp2D,IAOA,QANjBsyC,EACqB,OAAvBqjB,GAAA,UACI31D,GAAUhU,QAAO,SAAC+R,GAAD,OAAsC,QAAhB,OAARA,QAAQ,IAARA,OAAA,EAAAA,EAAUuU,YAAsB,MAAI,UADvE,aACI,EACIA,UACJqjD,UAGepzE,IAAnB+vD,GACmB,KAAnBA,EAfwB,uBAiBxBj2D,YAAa,aAAc,wBAjBH,0BAoB1B+4E,GAA+B,IAE3BtjE,EAAY,IAAIC,SACVC,OAAO,gBAAjB,iBAA4CpX,GAAG8L,OAAOC,WAAWyK,QACjEU,EAAUE,OAAO,eAAgB,oBACjCF,EAAUE,OAAO,eAAgB,UAC7Bq1C,EAAM7pD,KAAKE,UAAU,CACvBgyD,YAAa8nB,EACb7nB,eAAgB8mB,GAChB5wB,SACyB,OAAvB8vB,GAAA,UACI31D,GAAUhU,QACR,SAAC+R,GAAD,OAAsC,QAAhB,OAARA,QAAQ,IAARA,OAAA,EAAAA,EAAUuU,YAAsB,MAC9C,UAHN,aACI,EAEMA,UACNqjD,KAEJ1jE,EAAiB,CACnBjB,OAAQ,OACRE,QAASY,EACTjW,KAAMwrD,EACNn1C,SAAU,UAEZpB,MACExP,OAAOyP,QAAP,wCACAkB,GAECZ,KAJH,wCAIQ,WAAOC,GAAP,0FACqBA,EAASE,OAD9B,UACED,EADF,SAEEY,EAAcb,EAASJ,QAAQkB,IAAI,mBACuB,IAA7CD,EAAYE,QAAQ,oBAHnC,yCAIKf,EAAS1N,OAAOyN,MAAK,SAACrS,GAAD,MAAU,CAACuS,EAAYvS,OAJjD,gCAMKsS,EAAS5V,OAAO2V,MAAK,SAAC3V,GAAD,MAAU,CAAC6V,EAAY,CAAEe,QAAS,SAN5D,2CAJR,uDAaGjB,MAAK,SAACzF,GACa,MAAdA,EAAO,GAEe,OAAtBA,EAAO,GAAG0G,cACY/P,IAAtBqJ,EAAO,GAAG0G,SACY,KAAtB1G,EAAO,GAAG0G,QAEVjW,YAAa,aAAcuP,EAAO,GAAG0G,UAErCsjE,GAAsB,MACtBE,GAA+B,IAC/BE,GAAoB,MACpBE,GAA4B,MAE5B75E,YACE,UADU,iCAEgB2jB,GAAUxf,KAClC,SAACud,GAAD,OAAcA,EAASlhB,GAAK,QAHpB,qCAQdR,YAAa,aAAc,mBAE7B+4E,GAA+B,MAEhC/jE,KAvCH,wCAuCQ,WAAOzF,GAAP,iFACAskE,EAAa,IAAIn+D,SACVC,OACT,gBADF,iBAEYpX,GAAG8L,OAAOC,WAAWyK,QAEjC8+D,EAAWl+D,OAAO,eAAgB,oBAClCk+D,EAAWl+D,OAAO,eAAgB,UAC9Bm+D,EAAkB,CACpBn/D,OAAQ,OACRE,QAASg/D,EACTr0E,KAAM2B,KAAKE,UAAU,CAAEopD,IAAK0wB,KAX1B,SAaE1mE,MACJxP,OAAOyP,QAAU,4BACjBo/D,GAEC9+D,KAJG,wCAIE,WAAOC,GAAP,+EAEe,MADAA,EAASE,QAE1BnV,YAAa,QAAS,mBAHpB,SAKeiV,EAAS1N,OALxB,OAKEA,EALF,OAMJuzE,GAAYvzE,GACZwxE,GAA+B,GAE/BkB,IAAuB,GACvBtkB,GAAa,SAAS,GACtB/2D,SAASsR,eAAe,iBAAiBinB,QACzCoiD,GAAsB,MACtBjzE,YAAW,WACT1H,SAASsR,eAAe,WAAW1L,MAAMqjB,SAAW,WACnD,KACH0yD,IAA8B,GAC9BF,GAAoB,MAjBhB,4CAJF,uDAuBH9kE,OAAM,SAAC5K,GACNouE,GAA+B,GAC/Bv1E,QAAQmH,MAAMA,MAtCd,OAwCJouE,GAA+B,GAxC3B,2CAvCR,uDAiFGxjE,OAAM,SAAC5K,GAAD,OAAWnH,QAAQC,IAAI,QAASkH,MA3Hf,4CAAH,qDAgInB8wE,GAAmB,wCAAG,iHAExB93D,GAAUxf,KAAI,SAACwF,EAAGtF,GAChB,MAA8D,MAA1DzF,SAASsR,eAAT,sBAAuC7L,IAAS9E,OAClDS,YAAa,aAAc,+BACpB,GAEqD,MAA1DpB,SAASsR,eAAT,sBAAuC7L,IAAS9E,OAClDS,YAAa,aAAc,+BACpB,QAFT,KAKEm7E,EAAc,GACdO,EAAgB,GAChBC,EAAgB,GACpBh4D,GAAUxf,KAAI,SAACud,EAAUrd,GACvB82E,EAAYjyE,KAAKwY,EAASlhB,IAC1Bk7E,EAAcxyE,KACZ,IAAInH,KACFnD,SAASsR,eAAT,sBAAuC7L,IAAS9E,MAC9C,IACAX,SAASsR,eAAT,sBAAuC7L,IAAS9E,QAGtDo8E,EAAczyE,KACZ,IAAInH,KACFnD,SAASsR,eAAT,sBAAuC7L,IAAS9E,MAC9C,IACAX,SAASsR,eAAT,sBAAuC7L,IAAS9E,WAWnC,QAPjB02D,EACqB,OAAvBqjB,GAAA,UACI31D,GAAUhU,QACR,SAAC+R,GAAD,OAAsC,QAAhB,OAARA,QAAQ,IAARA,OAAA,EAAAA,EAAUuU,YAAsB,MAC9C,UAHN,aACI,EAEMA,UACNqjD,UAGepzE,IAAnB+vD,GACmB,KAAnBA,EAzCsB,wBA2CtBj2D,YAAa,aAAc,wBA3CL,2BA8CxB+4E,GAA+B,IAE3BtjE,EAAY,IAAIC,SACVC,OAAO,gBAAjB,iBAA4CpX,GAAG8L,OAAOC,WAAWyK,QACjEU,EAAUE,OAAO,eAAgB,oBACjCF,EAAUE,OAAO,eAAgB,UAC7Bq1C,EAAM7pD,KAAKE,UAAU,CACvBgyD,YAAa8nB,EACb7nB,eAAgB,EAChBsoB,aAAcF,EAAc,GAC5BG,aAAcH,EAAc,GAC5BI,cAAeJ,EACfK,cAAeJ,EACf7mB,aAAc8kB,GACdpwB,SACyB,OAAvB8vB,GAAA,UACI31D,GAAUhU,QACR,SAAC+R,GAAD,OAAsC,QAAhB,OAARA,QAAQ,IAARA,OAAA,EAAAA,EAAUuU,YAAsB,MAC9C,UAHN,aACI,EAEMA,UACNqjD,GAENtkB,gBAAe,OAAEwkB,SAAF,IAAEA,MAA+B,GAChDzkB,mBAAoB2kB,KAElB9jE,EAAiB,CACnBjB,OAAQ,OACRE,QAASY,EACTjW,KAAMwrD,EACNn1C,SAAU,UAEZpB,MACExP,OAAOyP,QAAP,wCACAkB,GAECZ,KAJH,wCAIQ,WAAOC,GAAP,0FACqBA,EAASE,OAD9B,UACED,EADF,SAEEY,EAAcb,EAASJ,QAAQkB,IAAI,mBACuB,IAA7CD,EAAYE,QAAQ,oBAHnC,yCAIKf,EAAS1N,OAAOyN,MAAK,SAACrS,GAAD,MAAU,CAACuS,EAAYvS,OAJjD,gCAMKsS,EACJ5V,OACA2V,MAAK,SAAC3V,GAAD,MAAU,CAAC6V,EAAY,CAAEe,QAAS,SARxC,2CAJR,uDAeGjB,MAAK,SAACzF,GACL,GAAkB,MAAdA,EAAO,GAAY,CAAC,IAAD,EACrBgqE,GAAsB,MACtBE,GAA+B,IAC/BE,GAAoB,MACpBE,GAA4B,MAEJ,OAAtBtqE,EAAO,GAAG0G,cACY/P,IAAtBqJ,EAAO,GAAG0G,SACY,KAAtB1G,EAAO,GAAG0G,SAEVjW,YAAa,aAAcuP,EAAO,GAAG0G,SACrCrX,SAASsR,eAAe,iBAAiBinB,QACzC8hD,GAAmB,GAEnBF,GAA+B,IAI/B/4E,YACE,UADU,iCAEgB2jB,GAAUxf,KAClC,SAACud,GAAD,OAAcA,EAASlhB,GAAK,QAHpB,oCAOd,IAAIw7E,EAAY76E,KAAKC,MAAM6D,OAAOg3E,gBAClCD,EAAUhnB,gBAAV,OAA4BwkB,SAA5B,IAA4BA,MAA+B,GAC3DwC,EAAUjnB,mBAAqB2kB,GAC/BsC,EAAUlnB,aAAe8kB,GACzBoC,EAAUxyB,SACe,OAAvB8vB,GAAA,UACI31D,GAAUhU,QACR,SAAC+R,GAAD,OAAsC,QAAhB,OAARA,QAAQ,IAARA,OAAA,EAAAA,EAAUuU,YAAsB,MAC9C,UAHN,aACI,EAEMA,UACNqjD,GACN,IAEE7kE,MAAM,GAAD,OAAIxP,OAAOyP,QAAX,qCAAuD,CAC1DC,OAAQ,OACRC,iBAAiB,EACjBC,QAAS,CACPiL,OAAQ,oCACRhL,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,oBAElBvV,KAAM2B,KAAKE,UAAU26E,KACpBhnE,MAAK,SAACC,OACT,MAAOhV,GACPuD,QAAQC,IAAIxD,SAGdD,YAAa,aAAc,mBAE7Bu5E,GAAsB,MAEtBN,GAAmB,GACnBF,GAA+B,GAE/Bn6E,SAASsR,eAAe,iBAAiBinB,QACzC7wB,YAAW,WACT1H,SAASsR,eAAe,WAAW1L,MAAMqjB,SAAW,WACnD,KACH,IAAIuzD,EAAa,IAAIC,MACrBD,EAAax8E,SAAS08E,qBAAqB,SAC3C,IAAK,IAAItyE,EAAI,EAAGA,EAAIoyE,EAAWnyE,OAAQD,IACX,YAAtBoyE,EAAWpyE,GAAG7F,OAChBi4E,EAAWpyE,GAAGkuB,SAAU,MAI7B3hB,OAAM,SAAC5K,GAAD,OAAWnH,QAAQC,IAAI,QAASkH,MAnKjB,4GAAH,qDAyKnBuxE,GAAc,wCAAG,WAAO/mE,GAAP,gFACrB,IACE4jE,GAA+B,GAC3BoC,EAAc,GAClBx3D,GAAUxf,KAAI,SAACud,GAAD,OAAcy5D,EAAYjyE,KAAKwY,EAASlhB,OAChD27E,EACO,IAAXhnE,EACIvW,SAASsR,eAAe,wBAAwB3Q,MAChDX,SAASsR,eAAe,mBAAmB3Q,OAC7CkW,EAAY,IAAIC,SACVC,OAAO,gBAAjB,iBAA4CpX,GAAG8L,OAAOC,WAAWyK,QACjEU,EAAUE,OAAO,eAAgB,oBACjCF,EAAUE,OAAO,eAAgB,UAE3Bq1C,EADS,IAAX71C,EACQhU,KAAKE,UAAU,CACvBgyD,YAAa8nB,EACb7nB,eAAgBn+C,EAChBkhD,gBAAiB8lB,IAGTh7E,KAAKE,UAAU,CACvBgyD,YAAa8nB,EACb7nB,eAAgBn+C,EAChBqI,WAAY2+D,IAIZvmE,EAAiB,CACnBjB,OAAQ,OACRE,QAASY,EACTjW,KAAMwrD,EACNn1C,SAAU,UAEZpB,MACExP,OAAOyP,QAAP,wCACAkB,GAECZ,KAJH,wCAIQ,WAAOC,GAAP,0FACqBA,EAASE,OAD9B,UACED,EADF,SAEEY,EAAcb,EAASJ,QAAQkB,IAAI,mBACuB,IAA7CD,EAAYE,QAAQ,oBAHnC,yCAIKf,EAAS1N,OAAOyN,MAAK,SAACrS,GAAD,MAAU,CAACuS,EAAYvS,OAJjD,gCAMKsS,EACJ5V,OACA2V,MAAK,SAAC3V,GAAD,MAAU,CAAC6V,EAAY,CAAEe,QAAS,SARxC,2CAJR,uDAeGjB,MAAK,SAACzF,GACa,MAAdA,EAAO,GAEe,OAAtBA,EAAO,GAAG0G,cACY/P,IAAtBqJ,EAAO,GAAG0G,SACY,KAAtB1G,EAAO,GAAG0G,SAEVjW,YAAa,aAAcuP,EAAO,GAAG0G,SACrCrX,SAASsR,eAAe,iBAAiBinB,QACzC4hD,GAA+B,GAChB,IAAX5jE,EACFgkE,GAAoB,GAEpBE,GAAmB,IAKrBr5E,YACE,UADU,iCAEgB2jB,GAAUxf,KAClC,SAACud,GAAD,OAAcA,EAASlhB,GAAK,QAHpB,oCAQdR,YAAa,aAAc,mBAE7B+4E,GAA+B,GAChB,IAAX5jE,EACFgkE,GAAoB,GAEpBE,GAAmB,GAErB/yE,YAAW,WACT1H,SAASsR,eAAe,WAAW1L,MAAMqjB,SAAW,WACnD,KACHjpB,SAASsR,eAAe,iBAAiBinB,QACzC,IAAIikD,EAAa,IAAIC,MACrBD,EAAax8E,SAAS08E,qBAAqB,SAC3C,IAAK,IAAItyE,EAAI,EAAGA,EAAIoyE,EAAWnyE,OAAQD,IACX,YAAtBoyE,EAAWpyE,GAAG7F,OAChBi4E,EAAWpyE,GAAGkuB,SAAU,MAI7B3hB,OAAM,SAAC5K,GAAD,OAAWnH,QAAQC,IAAI,QAASkH,MACzC,MAAO+E,IA/FY,2CAAH,sDAkGd0sE,GAAqB,wCAAG,kGAC6B,MAArDx9E,SAASsR,eAAe,mBAAmB3Q,MADnB,uBAE1BS,YAAa,aAAc,iCAFD,6BAK2B,MAAnDpB,SAASsR,eAAe,iBAAiB3Q,MALjB,uBAM1BS,YAAa,aAAc,+BAND,0BASxBq8E,EAAkB,IAAIt6E,KACxBnD,SAASsR,eAAe,iBAAiB3Q,MACvC,IACAX,SAASsR,eAAe,mBAAmB3Q,OAE3C+8E,EAAgB,IAAIv6E,KACtBnD,SAASsR,eAAe,iBAAiB3Q,MACvC,IACAX,SAASsR,eAAe,iBAAiB3Q,OAG7Cw5E,GAA+B,GAC3BoC,EAAc,GAClBx3D,GAAUxf,KAAI,SAACud,GAAD,OAAcy5D,EAAYjyE,KAAKwY,EAASlhB,QAClDiV,EAAY,IAAIC,SACVC,OAAO,gBAAjB,iBAA4CpX,GAAG8L,OAAOC,WAAWyK,QACjEU,EAAUE,OAAO,eAAgB,oBACjCF,EAAUE,OAAO,eAAgB,UAC7Bq1C,EAAM7pD,KAAKE,UAAU,CACvBgyD,YAAa8nB,EACb7nB,eAAgB,GAChBipB,eAAgBF,EAChBR,aAAcS,IAEZ1mE,EAAiB,CACnBjB,OAAQ,OACRE,QAASY,EACTjW,KAAMwrD,EACNn1C,SAAU,UAEZpB,MACExP,OAAOyP,QAAP,wCACAkB,GAECZ,KAJH,wCAIQ,WAAOC,GAAP,kEACoB,MAApBA,EAASE,QAEXnV,YACE,UADU,gCAEe2jB,GAAUxf,KACjC,SAACud,GAAD,OAAcA,EAASlhB,GAAK,QAHpB,oCAMZu4E,GAA+B,KAE/B/4E,YAAa,aAAc,mBAC3B+4E,GAA+B,IAZ7B,2CAJR,uDAmBG/jE,MAAK,SAACzF,GACLorE,IAAsB,GACtBhlB,GAAa,SAAS,GACtBrvD,YAAW,WACT1H,SAASsR,eAAe,WAAW1L,MAAMqjB,SAAW,WACnD,KACHjpB,SAASsR,eAAe,iBAAiBinB,WAE1C5hB,OAAM,SAAC5K,GAAD,OAAWnH,QAAQC,IAAI,QAASkH,MAlEb,4CAAH,qDAoErB6xE,GAAgB,wCAAG,6FACvB74D,GAAUxf,KAAI,SAACwF,EAAGtF,GAChB,GAAyD,MAArDzF,SAASsR,eAAT,iBAAkC7L,IAAS9E,MAE7C,OADAS,YAAa,aAAc,yBACpB,KAGPm7E,EAAc,GACdsB,EAAW,GACf94D,GAAUxf,KAAI,SAACud,EAAUrd,GACvB82E,EAAYjyE,KAAKwY,EAASlhB,IAC1Bi8E,EAASvzE,KACP,IAAInH,KACFnD,SAASsR,eAAT,aAA8B7L,IAAS9E,MACrC,IACAX,SAASsR,eAAT,iBAAkC7L,IAAS9E,WAInDw5E,GAA+B,IAC3BtjE,EAAY,IAAIC,SACVC,OAAO,gBAAjB,iBAA4CpX,GAAG8L,OAAOC,WAAWyK,QACjEU,EAAUE,OAAO,eAAgB,oBACjCF,EAAUE,OAAO,eAAgB,UAC7Bq1C,EAAM7pD,KAAKE,UAAU,CACvBgyD,YAAa8nB,EACb7nB,eAAgB,EAChBopB,SAAUD,IAER7mE,EAAiB,CACnBjB,OAAQ,OACRE,QAASY,EACTjW,KAAMwrD,EACNn1C,SAAU,UAEZpB,MACExP,OAAOyP,QAAP,wCACAkB,GAECZ,KAJH,wCAIQ,WAAOC,GAAP,kEACoB,MAApBA,EAASE,QAEXnV,YACE,UADU,gCAEe2jB,GAAUxf,KACjC,SAACud,GAAD,OAAcA,EAASlhB,GAAK,QAHpB,oCAMZu4E,GAA+B,KAE/B/4E,YAAa,aAAc,mBAC3B+4E,GAA+B,IAZ7B,2CAJR,uDAmBG/jE,MAAK,SAACzF,GACLkrE,IAAmB,GACnB9kB,GAAa,SAAS,GACtBrvD,YAAW,WACT1H,SAASsR,eAAe,WAAW1L,MAAMqjB,SAAW,WACnD,KACH+K,QAEDrd,OAAM,SAAC5K,GAAD,OAAWnH,QAAQC,IAAI,QAASkH,MA9DlB,4CAAH,qDAiEhBgyE,GAA0B,wCAAG,kGACwB,MAArD/9E,SAASsR,eAAe,mBAAmB3Q,MADd,uBAE/BS,YAAa,aAAc,wCAFI,6BAKsB,MAAnDpB,SAASsR,eAAe,iBAAiB3Q,MALZ,uBAM/BS,YAAa,aAAc,2CANI,0BAS7Bq8E,EAAkB,IAAIt6E,KACxBnD,SAASsR,eAAe,iBAAiB3Q,MACvC,IACAX,SAASsR,eAAe,mBAAmB3Q,OAE3C+8E,EAAgB,IAAIv6E,KACtBnD,SAASsR,eAAe,iBAAiB3Q,MACvC,IACAX,SAASsR,eAAe,iBAAiB3Q,OAE7Cw5E,GAA+B,GAC3BoC,EAAc,GAClBx3D,GAAUxf,KAAI,SAACud,GAAD,OAAcy5D,EAAYjyE,KAAKwY,EAASlhB,QAClDiV,EAAY,IAAIC,SACVC,OAAO,gBAAjB,iBAA4CpX,GAAG8L,OAAOC,WAAWyK,QACjEU,EAAUE,OAAO,eAAgB,oBACjCF,EAAUE,OAAO,eAAgB,UAC7Bq1C,EAAM7pD,KAAKE,UAAU,CACvBgyD,YAAa8nB,EACb7nB,eAAgB,GAChBuoB,aAAcQ,EACdT,aAAcU,IAEZ1mE,EAAiB,CACnBjB,OAAQ,OACRE,QAASY,EACTjW,KAAMwrD,EACNn1C,SAAU,UAEZpB,MACExP,OAAOyP,QAAP,wCACAkB,GAECZ,KAJH,wCAIQ,WAAOC,GAAP,kEACoB,MAApBA,EAASE,QAEXnV,YACE,UADU,gCAEe2jB,GAAUxf,KACjC,SAACud,GAAD,OAAcA,EAASlhB,GAAK,QAHpB,oCAMZu4E,GAA+B,KAE/B/4E,YAAa,aAAc,mBAC3B+4E,GAA+B,IAZ7B,2CAJR,uDAmBG/jE,MAAK,SAACzF,GACLsrE,IAA2B,GAC3BllB,GAAa,SAAS,GACtBrvD,YAAW,WACT1H,SAASsR,eAAe,WAAW1L,MAAMqjB,SAAW,WACnD,KACHjpB,SAASsR,eAAe,iBAAiBinB,WAE1C5hB,OAAM,SAAC5K,GAAD,OAAWnH,QAAQC,IAAI,QAASkH,MAjER,4CAAH,qDAoE1BiyE,GAAiB,wCAAG,2FAExB7D,GAA+B,GAC3BoC,EAAc,GAClBx3D,GAAUxf,KAAI,SAACud,GAAD,OAAcy5D,EAAYjyE,KAAKwY,EAASlhB,QAClDiV,EAAY,IAAIC,SACVC,OAAO,gBAAjB,iBAA4CpX,GAAG8L,OAAOC,WAAWyK,QACjEU,EAAUE,OAAO,eAAgB,oBACjCF,EAAUE,OAAO,eAAgB,UAC7Bq1C,EAAM7pD,KAAKE,UAAU,CACvBgyD,YAAa8nB,EACbrgD,MAAO89C,IAELhjE,EAAiB,CACnBjB,OAAQ,OACRE,QAASY,EACTjW,KAAMwrD,EACNn1C,SAAU,UAEZpB,MACExP,OAAOyP,QAAP,uCACAkB,GAECZ,KAJH,wCAIQ,WAAOC,GAAP,0FACqBA,EAASE,OAD9B,UACED,EADF,SAEEY,EAAcb,EAASJ,QAAQkB,IAAI,mBACuB,IAA7CD,EAAYE,QAAQ,oBAHnC,yCAIKf,EAAS1N,OAAOyN,MAAK,SAACrS,GAAD,MAAU,CAACuS,EAAYvS,OAJjD,gCAMKsS,EAAS5V,OAAO2V,MAAK,SAAC3V,GAAD,MAAU,CAAC6V,EAAY,CAAEe,QAAS,SAN5D,2CAJR,uDAaGjB,MAAK,SAACzF,GACL,GAAkB,MAAdA,EAAO,GAAY,CAGrBopE,GAAqB,GACrBhjB,GAAa,SAAS,GACtBrvD,YAAW,WACT1H,SAASsR,eAAe,WAAW1L,MAAMqjB,SAAW,WACnD,KACHjpB,SAASsR,eAAe,iBAAiBinB,QACzC,IAAIikD,EAAa,IAAIC,MACrBD,EAAax8E,SAAS08E,qBAAqB,SAC3C,IAAK,IAAItyE,EAAI,EAAGA,EAAIoyE,EAAWnyE,OAAQD,IACX,YAAtBoyE,EAAWpyE,GAAG7F,OAChBi4E,EAAWpyE,GAAGkuB,SAAU,GAKJ,OAAtB3nB,EAAO,GAAG0G,cACY/P,IAAtBqJ,EAAO,GAAG0G,SACY,KAAtB1G,EAAO,GAAG0G,SAEVjW,YAAa,aAAcuP,EAAO,GAAG0G,SACrCjW,YACE,UADU,iCAEgB2jB,GAAUxf,KAClC,SAACud,GAAD,OAAcA,EAASlhB,GAAK,QAHpB,qCAOZR,YACE,UADU,iCAEgB2jB,GAAUxf,KAClC,SAACud,GAAD,OAAcA,EAASlhB,GAAK,QAHpB,oCAOdu4E,GAA+B,GAC/BzyE,YAAW,WACT1H,SAASsR,eAAe,WAAW1L,MAAMqjB,SAAW,WACnD,UAEH7nB,YAAa,aAAc,mBAC3B+4E,GAA+B,GAC/BzyE,YAAW,WACT1H,SAASsR,eAAe,WAAW1L,MAAMqjB,SAAW,WACnD,QAGNtS,OAAM,SAAC5K,GAAD,OAAWnH,QAAQC,IAAI,QAASkH,MAlFjB,4CAAH,qDA+pJvB,OACE,6BACE,wBAAIvK,UAAU,2DACZ,kBAACy5C,GAAA,EAAD,CACE4c,UAAU,OACV7pD,QAAS,kBAAC4wB,GAAA,EAAD,CAASh9B,GAAG,kBAAZ,YAET,wBAAIJ,UAAU,gBAAgB21C,iBAAe,SAC3C,kBAAC,KAAD,CACElpC,QAAS8oD,GAAa,SAAS,GAC/Bv1D,UAAU,uEAEV,uBAAGA,UAAU,6BAKrB,kBAACs2D,GAAA,EAAD,CACEC,OAAO,QACPnyD,OAAuB,IAAhBkb,GAAM+I,MAAiB,GAAK,CAAElB,QAAS,QAC9C2M,MAAM,EACNE,QAASuhC,GAAa,SAAS,IA/lJpB,SAACC,GAAD,mBACf,yBACEx1D,UAAWO,GAAQgzD,SACnBz0B,KAAK,gBAIL,yBACE1+B,GAAG,gBACHJ,UAAU,+CAGV,yBACEA,UAAU,0EACVw2D,mBAAkB,GAClBpyD,MAAO,IAIP,wBAAIpE,UAAU,wBAAd,wBACA,uBACEyM,QAAS8oD,GAAaC,GAAM,GAC5Bx1D,UAAU,kDACVI,GAAG,uBAEH,uBAAGJ,UAAU,oCAGf,kBAACymB,EAAA,EAAD,CACEtV,KAAK,KACL/Q,GAAG,sBACHgR,KAAM8oE,GACN5oE,kBAAgB,gCAEhB,kBAACmV,EAAA,EAAMlV,OAAP,KACE,kBAACkV,EAAA,EAAM9U,MAAP,CAAavR,GAAG,gCAAhB,oBAGA,kBAACi9B,EAAA,EAAD,CACE7rB,aAAW,QACX/E,QAAS,WACP0tE,IAA8B,GAC9Bj0E,YAAW,WACT1H,SAASsR,eAAe,WAAW1L,MAAMqjB,SACvC,WACD,KACHjpB,SAASsR,eAAe,iBAAiBinB,UAG3C,kBAAC,IAAD,QAGJ,kBAACtQ,EAAA,EAAMhV,KAAP,CAAYzR,UAAU,kBACpB,yBAAKA,UAAU,oCACb,yBAAKA,UAAU,iBACb,kBAACmpE,GAAA,EAAI3M,UAAL,CAAep8D,GAAG,oBAAoBilC,iBAAiB,KACrD,yBAAKrlC,UAAU,mBACb,yBAAKA,UAAU,+BACb,yBAAKA,UAAU,oCACb,yBAAKA,UAAU,kBACb,wBAAIA,UAAU,sCAAd,oBAGA,kBAACy8E,GAAA,EAAD,CAAKz8E,UAAU,2DACZ05E,GAAkB31E,KAAI,SAACC,EAAMC,GAAP,OACrB,yBAAKjE,UAAU,aACb,kBAACy8E,GAAA,EAAIC,KAAL,CACE18E,UAAU,iBACVulC,SAAQ,UAAKthC,IAFf,OAIGD,QAJH,IAIGA,OAJH,EAIGA,EAAM5D,YAQrB,yBAAKJ,UAAU,+BACb,yBAAKA,UAAU,oCACb,yBAAKA,UAAU,kBACb,kBAACmpE,GAAA,EAAI1oE,QAAL,MACW,OAARof,SAAQ,IAARA,QAAA,EAAAA,GAAUhX,QAAS,IAAnB,OACCgX,SADD,IACCA,QADD,EACCA,GAAU9b,KAAI,SAAC44E,EAAS14E,GAAV,8oBACZ,kBAACklE,GAAA,EAAIyT,KAAL,CAAUr3C,SAAQ,UAAKthC,IACpB4b,IACC,yBAAK7f,UAAU,aACb,yBAAKA,UAAU,8BACb,yBAAKA,UAAU,iBAIP,MAFLwB,OACCqD,OAAOg1D,4BAIH,MAFNr4D,OACEqD,OAAOg1D,2BAEP,yBAAK75D,UAAU,iEACb,yBAAKA,UAAU,aACb,yBAAKA,UAAU,aACb,yBAAKA,UAAU,yBACb,2BAAOA,UAAU,SACf,2BAAOA,UAAU,YACf,4BACE,wBAAIA,UAAU,YACZ,uBAAGA,UAAU,MACV28E,EAAQhrE,OAEX,6BAJF,UAMIgrE,EAAQ9lB,cANZ,aAMI,EACIhzD,KAEN,kCAGAiC,KAFC,UAAA62E,EAAQ9lB,cAAR,eACG9wB,UAEA,IAHH,UAIG42C,EAAQ9lB,cAJX,aAIG,EACI9wB,cAGNjgC,KAFA,UAAA62E,EAAQ9lB,cAAR,eACE7wB,UAIF,QAFD,UAAA22C,EAAQ9lB,cAAR,eACG7wB,UAEA,IANH,UAOG22C,EAAQ9lB,cAPX,aAOG,EACI7wB,SACR,kCAGAlgC,KAFC,UAAA62E,EAAQ9lB,cAAR,eACG3mC,MAEA,IAHH,UAIGysD,EAAQ9lB,cAJX,aAIG,EACI3mC,KA/BV,IAgCI,SAGFpqB,KAFC,UAAA62E,EAAQ9lB,cAAR,eACG5pC,OAEA,IAHH,UAIG0vD,EAAQ9lB,cAJX,aAIG,EACI5pC,MAAO,SAGfnnB,KAFC,UAAA62E,EAAQ9lB,cAAR,eACG5wB,SAEA,IAHH,UAIG02C,EAAQ9lB,cAJX,aAIG,EACI5wB,QACR,kCAGAngC,KAFC,UAAA62E,EAAQ9lB,cAAR,eACGr1B,OAEA,IAHH,UAIGm7C,EAAQ9lB,cAJX,aAIG,EACIr1B,MACR,kCAGA17B,KAFC,UAAA62E,EAAQ9lB,cAAR,eACGgmB,WAEA,IAHH,UAIGF,EAAQ9lB,cAJX,aAIG,EACIgmB,UACR,8BAEF,wBAAI78E,UAAU,sBACZ,uBACE0I,KAAK,IACLvE,MAAM,oBAEN,0BAAMA,MAAM,0BACV,yBACEqE,IAAI,yBACJxI,UAAU,iBAU5B,yBAAKA,UAAU,YACb,yBAAKA,UAAU,mBACb,2BAAOA,UAAU,SACf,2BAAOA,UAAU,0BACf,4BACE,wBAAIA,UAAU,eAAd,gBAGA,wBAAIA,UAAU,eAAd,cACc,KAEd,wBAAIA,UAAU,eAAd,iBAGA,wBAAIA,UAAU,eAAd,eAGA,wBAAIA,UAAU,eAAd,oBAGA,wBAAIA,UAAU,eAAd,iBAKJ,+BACE,4BACE,wBAAIA,UAAU,kDAEV28E,EAAQ7L,aAGZ,wBAAI9wE,UAAU,kDACXyrB,GACCkxD,EAAQG,YAGZ,wBAAI98E,UAAU,kDACXyrB,GACCkxD,EAAQI,aAGZ,wBAAI/8E,UAAU,kDAEV28E,EAAQK,YAGZ,wBAAIh9E,UAAU,kDAEV28E,EAAQx/D,WAGZ,wBAAInd,UAAU,kDAEV28E,EAAQM,iBAQtB,yBAAKj9E,UAAU,YACb,yBAAKA,UAAU,mBACb,2BAAOA,UAAU,SACf,2BAAOA,UAAU,0BACf,4BACE,wBAAIA,UAAU,eAAd,WAGA,wBAAIA,UAAU,eAAd,QAGA,wBAAIA,UAAU,eAAd,iBAGA,wBAAIA,UAAU,eAAd,kBAGA,wBAAIA,UAAU,eAAd,oBAKJ,+BACE,4BACE,wBAAIA,UAAU,kDACX28E,EAAQ55C,SAEX,wBAAI/iC,UAAU,kDACX28E,EAAQh3B,MAEX,wBAAI3lD,UAAU,kDAEV28E,EAAQv5C,cAGZ,wBAAIpjC,UAAU,kDAEV28E,EAAQO,eAGZ,wBAAIl9E,UAAU,kDAEV28E,EAAQlU,oBAQtB,yBAAKzoE,UAAU,YACb,yBAAKA,UAAU,aACb,yBAAKA,UAAU,OACb,2BAAOA,UAAU,QACf,2BAAOA,UAAU,iCACf,4BACE,wBACEm9E,QAAQ,KACRn9E,UAAU,eAFZ,yBASJ,+BACE,4BACE,wBAAIA,UAAU,IAAd,QACQ,IACN,2BACEif,UAAQ,EACRlc,KAAK,OACLiD,KAAK,YACL7G,MAAK,UACHw9E,EACGS,eAFA,iBACH,EAEIvX,sBAHD,aACH,EAGIhiE,KAEN7D,UAAU,8CAIhB,4BACE,uCACW,IACT,2BACEif,UAAQ,EACRlc,KAAK,OACLiD,KAAK,YACL7G,YAKE2G,KAJC,UAAA62E,EACES,eADF,mBAEGvX,sBAFH,eAGG9/B,UAEA,IALH,UAMG42C,EACGS,eAPN,iBAMG,EAEIvX,sBARP,aAMG,EAGI9/B,UACR,UAKEjgC,KAJA,UAAA62E,EACCS,eADD,mBAEEvX,sBAFF,eAGE7/B,UAMF,QAJD,UAAA22C,EACES,eADF,mBAEGvX,sBAFH,eAGG7/B,UAEA,IAVH,UAWG22C,EACGS,eAZN,iBAWG,EAEIvX,sBAbP,aAWG,EAGI7/B,UACR,WAKAlgC,KAJC,UAAA62E,EACES,eADF,mBAEGvX,sBAFH,eAGG31C,MAEA,IALH,UAMGysD,EACGS,eAPN,iBAMG,EAEIvX,sBARP,aAMG,EAGI31C,MACR,WAKApqB,KAJC,UAAA62E,EACES,eADF,mBAEGvX,sBAFH,eAGG54C,OAEA,IALH,UAMG0vD,EACGS,eAPN,iBAMG,EAEIvX,sBARP,aAMG,EAGI54C,OACR,WAKAnnB,KAJC,UAAA62E,EACES,eADF,mBAEGvX,sBAFH,eAGG5/B,SAEA,IALH,UAMG02C,EACGS,eAPN,iBAMG,EAEIvX,sBARP,aAMG,EAGI5/B,SAEVjmC,UAAU,8CAIhB,4BACE,uCACW,IACT,2BACEif,UAAQ,EACRlc,KAAK,OACLiD,KAAK,YACL7G,MAAK,UACHw9E,EACGS,eAFA,aACH,EAEIC,QAENr9E,UAAU,yCAIhB,4BACE,qCACS,IACP,2BACEif,UAAQ,EACRlc,KAAK,OACLiD,KAAK,YACL7G,MAAK,UACHw9E,EACGS,eAFA,aACH,EAEI57C,MAENxhC,UAAU,yCAIhB,4BACE,oDAEW,IACT,2BACEif,UAAQ,EACRlc,KAAK,OACLiD,KAAK,YACL7G,MAAO89D,GAAQ,UACb0f,EACGS,eAFU,aACb,EAEIE,WAENt9E,UAAU,2CAMpB,2BAAOA,UAAU,QACf,2BAAOA,UAAU,iCACf,4BACE,wBACEm9E,QAAQ,KACRn9E,UAAU,eAFZ,2BASJ,+BACE,4BACE,wBAAIA,UAAU,IAAd,QACQ,IACN,2BACEif,UAAQ,EACRlc,KAAK,OACLiD,KAAK,YACL7G,MAAK,UACHw9E,EACGY,iBAFA,iBACH,EAEI1X,sBAHD,aACH,EAGIhiE,KAEN7D,UAAU,8CAIhB,4BACE,uCACW,IACT,2BACEif,UAAQ,EACRlc,KAAK,OACLiD,KAAK,YACL7G,YAKE2G,KAJC,UAAA62E,EACEY,iBADF,mBAEG1X,sBAFH,eAGG9/B,UAEA,IALH,UAMG42C,EACGY,iBAPN,iBAMG,EAEI1X,sBARP,aAMG,EAGI9/B,UACR,UAKEjgC,KAJA,UAAA62E,EACCY,iBADD,oBAEE1X,sBAFF,iBAGE7/B,UAMF,QAJD,WAAA22C,EACEY,iBADF,sBAEG1X,sBAFH,iBAGG7/B,UAEA,IAVH,WAWG22C,EACGY,iBAZN,mBAWG,GAEI1X,sBAbP,cAWG,GAGI7/B,UACR,WAKAlgC,KAJC,WAAA62E,EACEY,iBADF,sBAEG1X,sBAFH,iBAGG31C,MAEA,IALH,WAMGysD,EACGY,iBAPN,mBAMG,GAEI1X,sBARP,cAMG,GAGI31C,MACR,WAKApqB,KAJC,WAAA62E,EACEY,iBADF,sBAEG1X,sBAFH,iBAGG54C,OAEA,IALH,WAMG0vD,EACGY,iBAPN,mBAMG,GAEI1X,sBARP,cAMG,GAGI54C,OACR,WAKAnnB,KAJC,WAAA62E,EACEY,iBADF,sBAEG1X,sBAFH,iBAGG5/B,SAEA,IALH,WAMG02C,EACGY,iBAPN,mBAMG,GAEI1X,sBARP,cAMG,GAGI5/B,SAEVjmC,UAAU,8CAIhB,4BACE,uCACW,IACT,2BACEif,UAAQ,EACRlc,KAAK,OACLiD,KAAK,YACL7G,WAII2G,KAHD,WAAA62E,EACEY,iBADF,iBAEGF,SAKF,QAHD,WAAAV,EACEY,iBADF,iBAEGF,SAEA,IARJ,WASIV,EACGY,iBAVP,cASI,GAEIF,QAEVr9E,UAAU,yCAIhB,4BACE,qCACS,IACP,2BACEif,UAAQ,EACRlc,KAAK,OACLiD,KAAK,YACL7G,WAII2G,KAHD,WAAA62E,EACEY,iBADF,iBAEG/7C,OAKF,QAHD,WAAAm7C,EACEY,iBADF,iBAEG/7C,OAEA,IARJ,WASIm7C,EACGY,iBAVP,cASI,GAEI/7C,MAEVxhC,UAAU,yCAIhB,4BACE,qDAEW,IACT,2BACEif,UAAQ,EACRlc,KAAK,OACLiD,KAAK,YACL7G,MAAO89D,GAAQ,WACb0f,EACGY,iBAFU,cACb,GAEIC,WAENx9E,UAAU,8CAU1B,yBAAKmE,MAAM,yDACT,wBAAIA,MAAM,4BAAV,mBAIF,yBAAKnE,UAAU,YACb,yBAAKA,UAAU,mBACb,2BAAOA,UAAU,SACf,2BAAOA,UAAU,0BACf,4BACE,wBAAIA,UAAU,eAAd,OAGA,wBAAIA,UAAU,eAAd,gBAIA,wBAAIA,UAAU,eAAd,UAIA,wBAAIA,UAAU,eAAd,wBAKJ,+BACE,4BACE,wBAAIA,UAAU,kDAAd,WAEI28E,EAAQljE,aAFZ,cAEI,GACIgkE,cAGR,wBAAIz9E,UAAU,kDAAd,WAEI28E,EAAQljE,aAFZ,cAEI,GACIikE,aAIR,wBAAI19E,UAAU,kDACZ,kBAAC,IAAD,CACE82B,QAGI,QAFF,WAAA6lD,EAAQljE,aAAR,iBACIkkE,UAIF,KAFF,WAAAhB,EAAQljE,aAAR,iBACIkkE,QAKNn6E,MAAM,GACNvE,KAAK,GACL+G,KAAK,kBAIT,wBAAIhG,UAAU,kDAGZ,KAFC,WAAA28E,EAAQljE,aAAR,iBACGmkE,gBADH,WAGGjB,EAAQljE,aAHX,mBAGG,GAAemkE,sBAHlB,cAGG,GAA+Bz1E,QAC7B,IAEF,WAACw0E,EAAQljE,aAAT,cAAC,GAAeokE,aAAa11E,QAC3B,SAUlB,yBAAKhE,MAAM,yDACT,wBAAIA,MAAM,4BAAV,aAIF,yBAAKnE,UAAU,YACb,yBAAKA,UAAU,mBACb,2BAAOA,UAAU,SACf,2BAAOA,UAAU,0BACf,4BACE,wBAAIA,UAAU,eAAd,eAGA,wBAAIA,UAAU,eAAd,oBAGA,wBAAIA,UAAU,eAAd,QAGA,wBAAIA,UAAU,eAAd,QAGA,wBAAIA,UAAU,eAAd,YAGA,wBAAIA,UAAU,eAAd,WAKJ,gCACG,WAAA28E,EAAQxyB,eAAR,iBACGthD,QAAS,IADZ,WAEC8zE,EAAQxyB,eAFT,cAEC,GAAiBpmD,KACf,SAACC,EAAMC,GAAP,eACE,UAAAD,EAAK85E,gBAAL,eACIj1E,QACF,IAFF,UAGA7E,EAAK85E,gBAHL,aAGA,EAAe/5E,KACb,SACE44D,EACA14D,GAFF,aAIE,4BACE,wBAAIjE,UAAU,kDAAd,UAEIgE,EACG28D,qBAHP,aAEI,EAEI31C,aAGR,wBAAIhrB,UAAU,kDAEVgE,EAAK+5E,cAGT,wBAAI/9E,UAAU,kDAEV28D,EAAM94D,MAGV,wBAAI7D,UAAU,kDACX28D,EAAM5jC,KAAK5wB,QACV,IAGJ,wBAAInI,UAAU,kDAEV28D,EAAMsP,UAGV,wBAAIjsE,UAAU,kDACX28D,EAAMqhB,MAAM71E,QACX,cAOf,WAAAw0E,EAAQxyB,eAAR,iBACGthD,QAAS,IADZ,WAEC8zE,EAAQxyB,eAFT,cAEC,GAAiBpmD,KACf,SAACC,EAAMC,GAAP,aACE,4BACE,6BACA,6BACA,6BACA,6BACA,wBACEjE,UAAU,sBACVoE,MAAO,CACLwjB,gBACE,UACF7Y,MACE,SANN,eAWA,4BACE,2BACEkQ,UAAQ,EACR9f,MACE,eACA6E,EAAKg6E,aADL,aACA,EAAY71E,QACV,IAGJpF,KAAK,OACLiD,KAAK,YACLhG,UAAU,qGAU9B,yBAAKA,UAAU,YACb,yBAAKA,UAAU,mBACb,2BAAOA,UAAU,SACf,2BAAOA,UAAU,YACf,4BACE,wBAAIA,UAAU,2BACZ,2BAAOA,UAAU,cAAjB,00BA6DA,6BACA,2BAAOA,UAAU,cAAjB,6XA+BA,6BACA,2BAAOA,UAAU,cAAjB,6JAWY,IACV,uBAAGA,UAAU,aAAb,mIAZF,szBAmFc,WAQ1B,yBAAKA,UAAU,YACb,yBAAKA,UAAU,mBACb,2BAAOA,UAAU,SACf,2BAAOA,UAAU,YACf,4BACE,wBAAIA,UAAU,wDAAd,8CAIE,6BAJF,2DAcV,yBAAKA,UAAU,YACb,yBAAKA,UAAU,mBACb,2BAAOA,UAAU,SACf,2BAAOA,UAAU,YACf,4BACE,wBAAIA,UAAU,gCACZ,iDADF,4BAOA,wBAAIA,UAAU,2CACZ,2CAEK,IACL,8BAGI,KAFD,WAAA28E,EAAQxyB,eAAR,iBACGthD,cAGF/C,IADF62E,EAAQxyB,SAKN,KAHFwyB,EACGxyB,QAAQ,GACRiT,YAKD,OAHFuf,EACGxyB,QAAQ,GACRiT,WAEC,2BACAuf,EACGxyB,QAAQ,GACRiT,cAIb,4BACE,wBAAIp9D,UAAU,2BACZ,8CADF,4BAMA,wBAAIA,UAAU,sCACZ,6CAEK,IACL,8BAGI,KAFD,WAAA28E,EAAQxyB,eAAR,iBACGthD,cAGF/C,IADF62E,EAAQxyB,SAKN,KAHFwyB,EACGxyB,QAAQ,GACR8zB,aAKD,OAHFtB,EACGxyB,QAAQ,GACR8zB,YAEC,4BACAtB,EACGxyB,QAAQ,GACR8zB,eAIb,6BACA,4BACE,wBAAIj+E,UAAU,2BACZ,mCAAY,IACZ,8BAEI28E,EAAQuB,WAId,wBAAIl+E,UAAU,sCACZ,4CAEK,IACL,8BAGI,KAFD,WAAA28E,EAAQxyB,eAAR,iBACGthD,cAGF/C,IADF62E,EAAQxyB,SAKN,KAHFwyB,EACGxyB,QAAQ,GACRg0B,aAKD,OAHFxB,EACGxyB,QAAQ,GACRg0B,YAEC,4BACAxB,EACGxyB,QAAQ,GACRg0B,mBAQrB,yBAAKn+E,UAAU,YACb,yBAAKA,UAAU,mBACb,2BAAOA,UAAU,SACf,2BAAOA,UAAU,YACf,4BACE,wBAAIA,UAAU,wDACZ,mHAOE,6BAPF,kGAuBV,MAFJwB,OACAqD,OAAOg1D,2BAET,yBAAK75D,UAAU,iEACb,yBAAKA,UAAU,aACb,yBAAKA,UAAU,aACb,yBAAKA,UAAU,yBACb,2BAAOA,UAAU,SACf,2BAAOA,UAAU,YACf,4BACE,wBAAIA,UAAU,YACZ,uBAAGA,UAAU,MACV6f,GAASlO,OAEZ,6BAJF,WAMIkO,GAASu+D,YANb,cAMI,GACIv6E,KAEN,6BAGA,QAFC,WAAAgc,GAASu+D,YAAT,iBACGr4C,UAEA,IAHH,WAIGlmB,GAASu+D,YAJZ,cAIG,GACIr4C,SAGN,QAFA,WAAAlmB,GAASu+D,YAAT,iBACEp4C,UAIF,QAFD,WAAAnmB,GAASu+D,YAAT,iBACGp4C,UAEA,IANH,WAOGnmB,GAASu+D,YAPZ,cAOG,GACIp4C,SACR,6BAEa,QADZ,WAAAnmB,GAASu+D,YAAT,iBACGluD,MACA,IAFH,WAGGrQ,GAASu+D,YAHZ,cAGG,GACIluD,KA9BV,IA+BI,IAEY,QADb,WAAArQ,GAASu+D,YAAT,iBACGnxD,OACA,IAFH,WAGGpN,GAASu+D,YAHZ,cAGG,GACInxD,MAAO,IAGf,QAFC,WAAApN,GAASu+D,YAAT,iBACGn4C,SAEA,IAHH,WAIGpmB,GAASu+D,YAJZ,cAIG,GACIn4C,QACR,6BAEc,QADb,WAAApmB,GAASu+D,YAAT,iBACG58C,OACA,IAFH,WAGG3hB,GAASu+D,YAHZ,cAGG,GACI58C,MACR,6BAGA,QAFC,WAAA3hB,GAASu+D,YAAT,iBACGvB,WAEA,IAHH,WAIGh9D,GAASu+D,YAJZ,cAIG,GACIvB,UACR,8BAEF,wBAAI78E,UAAU,sBACZ,kBAAC,KAAD,CACE+P,GAAG,IACH5L,MAAM,oBAEN,0BAAMA,MAAM,0BACV,yBACEqE,IAAI,yBACJxI,UAAU,OACViS,IAAI,uBAUtB,yBAAKjS,UAAU,YACb,yBAAKA,UAAU,mBACb,2BAAOA,UAAU,SACf,2BAAOA,UAAU,0BACf,4BACE,wBAAIA,UAAU,eAAd,eAGA,wBAAIA,UAAU,eAAd,iBAGA,wBAAIA,UAAU,eAAd,eAGA,wBAAIA,UAAU,eAAd,eACe,OAInB,+BACE,4BACE,wBAAIA,UAAU,kDACXyrB,GACC5L,GAASw+D,aAGb,wBAAIr+E,UAAU,kDACXyrB,GACC5L,GAAS4pC,eAGb,wBAAIzpD,UAAU,kDAEV6f,GAAS2oC,YAGb,wBAAIxoD,UAAU,kDAEV6f,GAASy+D,kBAQvB,yBAAKt+E,UAAU,YACb,yBAAKA,UAAU,mBACb,2BAAOA,UAAU,SACf,2BAAOA,UAAU,0BACf,4BACE,wBAAIA,UAAU,eAAd,WAGA,wBAAIA,UAAU,eAAd,QAGA,wBAAIA,UAAU,eAAd,iBAGA,wBAAIA,UAAU,eAAd,kBAGA,wBAAIA,UAAU,eAAd,oBAKJ,+BACE,4BACE,wBAAIA,UAAU,kDACX6f,GAASkjB,SAEZ,wBAAI/iC,UAAU,kDACX6f,GAAS8lC,MAEZ,wBAAI3lD,UAAU,kDAEV6f,GAASujB,cAGb,wBAAIpjC,UAAU,kDAEV6f,GAASq9D,eAGb,wBAAIl9E,UAAU,kDAEV6f,GAAS4oD,oBAQvB,yBAAKzoE,UAAU,YACb,yBAAKA,UAAU,aACb,yBAAKA,UAAU,OACb,2BAAOA,UAAU,QACf,2BAAOA,UAAU,iCACf,4BACE,wBACEm9E,QAAQ,KACRn9E,UAAU,eAFZ,wBASJ,+BACE,4BACE,wBAAIA,UAAU,IAAd,QACQ,IACN,2BACEif,UAAQ,EACRlc,KAAK,OACLiD,KAAK,YACL7G,MAAK,WACH0gB,GACG0+D,cAFA,mBACH,GAEItuD,eAHD,cACH,GAGIpsB,KAEN7D,UAAU,8CAIhB,4BACE,uCACW,IACT,2BACEif,UAAQ,EACRlc,KAAK,OACLiD,KAAK,YACL7G,OAKE,QAJC,WAAA0gB,GACE0+D,cADF,sBAEGtuD,eAFH,iBAGG8V,UAEA,IALH,WAMGlmB,GACG0+D,cAPN,mBAMG,GAEItuD,eARP,cAMG,GAGI8V,UACR,KAKE,QAJA,WAAAlmB,GACC0+D,cADD,sBAEEtuD,eAFF,iBAGE+V,UAMF,QAJD,WAAAnmB,GACE0+D,cADF,sBAEGtuD,eAFH,iBAGG+V,UAEA,IAVH,WAWGnmB,GACG0+D,cAZN,mBAWG,GAEItuD,eAbP,cAWG,GAGI+V,UACR,MAKA,QAJC,WAAAnmB,GACE0+D,cADF,sBAEGtuD,eAFH,iBAGGC,MAEA,IALH,WAMGrQ,GACG0+D,cAPN,mBAMG,GAEItuD,eARP,cAMG,GAGIC,MACR,MAKA,QAJC,WAAArQ,GACE0+D,cADF,sBAEGtuD,eAFH,iBAGGhD,OAEA,IALH,WAMGpN,GACG0+D,cAPN,mBAMG,GAEItuD,eARP,cAMG,GAGIhD,OACR,MAKA,QAJC,WAAApN,GACE0+D,cADF,sBAEGtuD,eAFH,iBAGGgW,SAEA,IALH,WAMGpmB,GACG0+D,cAPN,mBAMG,GAEItuD,eARP,cAMG,GAGIgW,SAEVjmC,UAAU,8CAIhB,4BACE,uCACW,IACT,2BACEif,UAAQ,EACRlc,KAAK,OACLiD,KAAK,YACL7G,MAAK,WACH0gB,GACG0+D,cAFA,cACH,GAEIlB,QAENr9E,UAAU,yCAIhB,4BACE,qCACS,IACP,2BACEif,UAAQ,EACRlc,KAAK,OACLiD,KAAK,YACL7G,MAAK,WACH0gB,GACG0+D,cAFA,cACH,GAEI/8C,MAENxhC,UAAU,yCAIhB,4BACE,oDAEW,IACT,2BACEif,UAAQ,EACRlc,KAAK,OACLiD,KAAK,YACL7G,MAAO89D,IACG,OAARp9C,SAAQ,IAARA,QAAA,EAAAA,GAAU2+D,iBACR,OADF,OAEE3+D,SAFF,IAEEA,QAFF,EAEEA,GAAU4+D,kBAEdz+E,UAAU,2CAMpB,2BAAOA,UAAU,QACf,2BAAOA,UAAU,iCACf,4BACE,wBACEm9E,QAAQ,KACRn9E,UAAU,eAFZ,0BASJ,+BACE,4BACE,wBAAIA,UAAU,IAAd,QACQ,IACN,2BACEif,UAAQ,EACRlc,KAAK,OACLiD,KAAK,YACL7G,MAAK,WACH0gB,GACG6+D,gBAFA,cACH,GAEI76E,KAEN7D,UAAU,8CAIhB,4BACE,uCACW,IACT,2BACEif,UAAQ,EACRlc,KAAK,OACLiD,KAAK,YACL7G,OAKE,QAJC,WAAA0gB,GACE6+D,gBADF,sBAEGzuD,eAFH,iBAGG8V,UAEA,IALH,WAMGlmB,GACG6+D,gBAPN,mBAMG,GAEIzuD,eARP,cAMG,GAGI8V,UACR,KAKE,QAJA,WAAAlmB,GACC6+D,gBADD,sBAEEzuD,eAFF,iBAGE+V,UAMF,QAJD,WAAAnmB,GACE6+D,gBADF,sBAEGzuD,eAFH,iBAGG+V,UAEA,IAVH,WAWGnmB,GACG6+D,gBAZN,mBAWG,GAEIzuD,eAbP,cAWG,GAGI+V,UACR,MAKA,QAJC,WAAAnmB,GACE6+D,gBADF,sBAEGzuD,eAFH,iBAGGC,MAEA,IALH,WAMGrQ,GACG6+D,gBAPN,mBAMG,GAEIzuD,eARP,cAMG,GAGIC,MACR,MAKA,QAJC,WAAArQ,GACE6+D,gBADF,sBAEGzuD,eAFH,iBAGGhD,OAEA,IALH,WAMGpN,GACG6+D,gBAPN,mBAMG,GAEIzuD,eARP,cAMG,GAGIhD,OACR,MAKA,QAJC,WAAApN,GACE6+D,gBADF,sBAEGzuD,eAFH,iBAGGgW,SAEA,IALH,WAMGpmB,GACG6+D,gBAPN,mBAMG,GAEIzuD,eARP,cAMG,GAGIgW,SAEVjmC,UAAU,8CAIhB,4BACE,uCACW,IACT,2BACEif,UAAQ,EACRlc,KAAK,OACLiD,KAAK,YACL7G,WAII2G,KAHD,WAAA+Z,GACE6+D,gBADF,iBAEGrB,SAKF,QAHD,WAAAx9D,GACE6+D,gBADF,iBAEGrB,SAEA,IARJ,WASIx9D,GACG6+D,gBAVP,cASI,GAEIrB,QAEVr9E,UAAU,yCAIhB,4BACE,qCACS,IACP,2BACEif,UAAQ,EACRlc,KAAK,OACLiD,KAAK,YACL7G,WAII2G,KAHD,WAAA+Z,GACE6+D,gBADF,iBAEGl9C,OAKF,QAHD,WAAA3hB,GACE6+D,gBADF,iBAEGl9C,OAEA,IARJ,WASI3hB,GACG6+D,gBAVP,cASI,GAEIl9C,MAEVxhC,UAAU,yCAIhB,4BACE,qDAEW,IACT,2BACEif,UAAQ,EACRlc,KAAK,OACLiD,KAAK,YACL7G,MAAO89D,IACG,OAARp9C,SAAQ,IAARA,QAAA,EAAAA,GAAU8+D,mBACR,OADF,OAEE9+D,SAFF,IAEEA,QAFF,EAEEA,GAAU++D,oBAEd5+E,UAAU,8CAU1B,yBAAKmE,MAAM,yDACT,wBAAIA,MAAM,4BAAV,mBAIF,yBAAKnE,UAAU,YACb,yBAAKA,UAAU,mBACb,2BAAOA,UAAU,SACf,2BAAOA,UAAU,0BACf,4BACE,wBAAIA,UAAU,eAAd,OAGA,wBAAIA,UAAU,eAAd,gBAIA,wBAAIA,UAAU,eAAd,UAIA,wBAAIA,UAAU,eAAd,wBAKJ,+BACE,4BACE,wBAAIA,UAAU,kDAAd,WAEI6f,GAASpG,aAFb,cAEI,GACIgkE,cAGR,wBAAIz9E,UAAU,kDAAd,WAEI6f,GAASpG,aAFb,cAEI,GACIikE,aAIR,wBAAI19E,UAAU,kDACZ,kBAAC,IAAD,CACE82B,QAGI,QAFF,WAAAjX,GAASpG,aAAT,iBACIkkE,UAIF,KAFF,WAAA99D,GAASpG,aAAT,iBACIkkE,QAKNn6E,MAAM,GACNvE,KAAK,GACL+G,KAAK,kBAIT,wBAAIhG,UAAU,kDAGZ,KAFC,WAAA6f,GAASpG,aAAT,iBACGmkE,gBADH,WAGG/9D,GAASpG,aAHZ,cAGG,GACImkE,gBACJ,WAAC/9D,GAASpG,aAAV,cAAC,GAAgBokE,aAAa11E,QAC5B,SAUlB,yBAAKhE,MAAM,yDACT,wBAAIA,MAAM,4BAAV,aAIF,yBAAKnE,UAAU,YACb,yBAAKA,UAAU,mBACb,2BAAOA,UAAU,SACf,2BAAOA,UAAU,0BACf,4BACE,wBAAIA,UAAU,eAAd,eAGA,wBAAIA,UAAU,eAAd,oBAGA,wBAAIA,UAAU,eAAd,QAGA,wBAAIA,UAAU,eAAd,QAGA,wBAAIA,UAAU,eAAd,YAGA,wBAAIA,UAAU,eAAd,WAKJ,gCACG,WAAA6f,GAASsqC,eAAT,iBACGthD,QAAS,IADZ,WAECgX,GAASsqC,eAFV,cAEC,GAAkBpmD,KAChB,SAACC,EAAMC,GAAP,eACE,UAAAD,EAAK85E,gBAAL,eACIj1E,QACF,IAFF,UAGA7E,EAAK85E,gBAHL,aAGA,EAAe/5E,KACb,SACE44D,EACA14D,GAFF,aAIE,4BACE,wBAAIjE,UAAU,kDAAd,UAEIgE,EACG28D,qBAHP,aAEI,EAEI31C,aAGR,wBAAIhrB,UAAU,kDAEVgE,EAAK+5E,cAGT,wBAAI/9E,UAAU,kDAEV28D,EAAM94D,MAGV,wBAAI7D,UAAU,kDACX28D,EAAM5jC,KAAK5wB,QACV,IAGJ,wBAAInI,UAAU,kDAEV28D,EAAMsP,UAGV,wBAAIjsE,UAAU,kDACX28D,EAAMqhB,MAAM71E,QACX,cAOf,WAAA0X,GAASsqC,eAAT,iBACGthD,QAAS,IADZ,WAECgX,GAASsqC,eAFV,cAEC,GAAkBpmD,KAChB,SAACC,EAAMC,GAAP,aACE,4BACE,6BACA,6BACA,6BACA,6BACA,wBACEjE,UAAU,sBACVoE,MAAO,CACLwjB,gBACE,UACF7Y,MACE,SANN,eAWA,4BACE,2BACEkQ,UAAQ,EACR9f,MACE,eACA6E,EAAKg6E,aADL,aACA,EAAY71E,QACV,IAGJpF,KAAK,OACLiD,KAAK,YACLhG,UAAU,qGAU9B,yBAAKA,UAAU,YACb,yBAAKA,UAAU,aACb,yBAAKA,UAAU,OACb,2BAAOA,UAAU,QACf,2BAAOA,UAAU,YACf,4BACE,wBAAIA,UAAU,YACZ,mDAIA,6BAAU,IACV,2BACEif,UAAQ,EACRlc,KAAK,OACL5D,MACE0gB,GAASg/D,mBAEX74E,KAAK,YACLhG,UAAU,gDAMpB,2BAAOA,UAAU,QACf,2BAAOA,UAAU,YACf,4BACE,wBACEA,UAAU,iBACVm9E,QAAQ,KAER,oDAIA,6BAEEt9D,GAASi/D,qBAEX,oCAQd,yBAAK9+E,UAAU,YACb,yBAAKA,UAAU,mBACb,2BAAOA,UAAU,SACf,2BAAOA,UAAU,YACf,4BACE,wBAAIA,UAAU,0CAAd,2KAiBV,yBAAKA,UAAU,YACb,yBAAKA,UAAU,mBACb,2BAAOA,UAAU,SACf,2BAAOA,UAAU,YACf,4BACE,wBAAIA,UAAU,gCACZ,4CAEK,IAHP,IAMI6f,GAASk/D,YACT,IAPJ,4EAgBV,yBAAK/+E,UAAU,YACb,yBAAKA,UAAU,mBACb,2BAAOA,UAAU,SACf,2BAAOA,UAAU,YACf,4BACE,wBAAIA,UAAU,wDAAd,8CAIE,6BAJF,2DAcV,yBAAKA,UAAU,YACb,yBAAKA,UAAU,mBACb,2BAAOA,UAAU,SACf,2BAAOA,UAAU,YACf,4BACE,wBAAIA,UAAU,wDACZ,mHAOE,6BAPF,mGAuBhB,yBAAKA,UAAU,iEACb,yBAAKA,UAAU,aACb,yBAAKA,UAAU,aACb,yBAAKA,UAAU,yBACb,2BAAOA,UAAU,SACf,2BAAOA,UAAU,YACf,4BACE,wBAAIA,UAAU,YACZ,uBAAGA,UAAU,MACV6f,GAASlO,OAEZ,6BAJF,WAMIkO,GAASg3C,cANb,cAMI,GACIhzD,KAEN,kCAGAiC,KAFC,WAAA+Z,GAASg3C,cAAT,iBACG9wB,UAEA,IAHH,WAIGlmB,GACGg3C,cALN,cAIG,GAEI9wB,cAGNjgC,KAFA,WAAA+Z,GAASg3C,cAAT,iBACE7wB,UAIF,QAFD,WAAAnmB,GAASg3C,cAAT,iBACG7wB,UAEA,IANH,WAOGnmB,GACGg3C,cARN,cAOG,GAEI7wB,SACR,kCAGAlgC,KAFC,WAAA+Z,GAASg3C,cAAT,iBACG3mC,MAEA,IAHH,WAIGrQ,GACGg3C,cALN,cAIG,GAEI3mC,KAlCV,IAmCI,SAGFpqB,KAFC,WAAA+Z,GAASg3C,cAAT,iBACG5pC,OAEA,IAHH,WAIGpN,GACGg3C,cALN,cAIG,GAEI5pC,MAAO,SAGfnnB,KAFC,WAAA+Z,GAASg3C,cAAT,iBACG5wB,SAEA,IAHH,WAIGpmB,GACGg3C,cALN,cAIG,GAEI5wB,QACR,kCAGAngC,KAFC,WAAA+Z,GAASg3C,cAAT,iBACGr1B,OAEA,IAHH,WAIG3hB,GACGg3C,cALN,cAIG,GAEIr1B,MACR,kCAGA17B,KAFC,WAAA+Z,GAASg3C,cAAT,iBACGgmB,WAEA,IAHH,WAIGh9D,GACGg3C,cALN,cAIG,GAEIgmB,UACR,8BAEF,wBAAI78E,UAAU,sBACZ,kBAAC,KAAD,CACE+P,GAAG,IACH5L,MAAM,oBAEN,0BAAMA,MAAM,0BACV,yBACEqE,IAAI,yBACJxI,UAAU,OACViS,IAAI,uBAUtB,yBAAKjS,UAAU,YACb,yBAAKA,UAAU,mBACb,2BAAOA,UAAU,SACf,2BAAOA,UAAU,0BACf,4BACE,wBAAIA,UAAU,eAAd,gBAGA,wBAAIA,UAAU,eAAd,cACc,KAEd,wBAAIA,UAAU,eAAd,iBAGA,wBAAIA,UAAU,eAAd,eAGA,wBAAIA,UAAU,eAAd,oBAGA,wBAAIA,UAAU,eAAd,iBAKJ,+BACE,4BACE,wBAAIA,UAAU,kDAEV6f,GAASixD,aAGb,wBAAI9wE,UAAU,kDACXyrB,GACC5L,GAASi9D,YAGb,wBAAI98E,UAAU,kDACXyrB,GACC5L,GAASk9D,aAGb,wBAAI/8E,UAAU,kDAEV6f,GAASm9D,YAGb,wBAAIh9E,UAAU,kDAEV6f,GAAS1C,WAGb,wBAAInd,UAAU,kDAEV6f,GAASo9D,iBAQvB,yBAAKj9E,UAAU,YACb,yBAAKA,UAAU,mBACb,2BAAOA,UAAU,SACf,2BAAOA,UAAU,0BACf,4BACE,wBAAIA,UAAU,eAAd,WAGA,wBAAIA,UAAU,eAAd,QAGA,wBAAIA,UAAU,eAAd,iBAGA,wBAAIA,UAAU,eAAd,kBAGA,wBAAIA,UAAU,eAAd,oBAKJ,+BACE,4BACE,wBAAIA,UAAU,kDACX6f,GAASkjB,SAEZ,wBAAI/iC,UAAU,kDACX6f,GAAS8lC,MAEZ,wBAAI3lD,UAAU,kDAEV6f,GAASujB,cAGb,wBAAIpjC,UAAU,kDAEV6f,GAASq9D,eAGb,wBAAIl9E,UAAU,kDAEV6f,GAAS4oD,oBAQvB,yBAAKzoE,UAAU,YACb,yBAAKA,UAAU,aACb,yBAAKA,UAAU,OACb,2BAAOA,UAAU,QACf,2BAAOA,UAAU,iCACf,4BACE,wBACEm9E,QAAQ,KACRn9E,UAAU,eAFZ,yBASJ,+BACE,4BACE,wBAAIA,UAAU,IAAd,QACQ,IADR,WAGI6f,GACGu9D,eAJP,mBAGI,GAEIvX,sBALR,cAGI,GAGIhiE,OAIV,4BACE,uCACW,IACRm0E,GAAc,WACbn4D,GACGu9D,eAFU,mBACb,GAEIvX,sBAHS,cACb,GAGI9/B,UACJ,GAEAiyC,GAAc,WACZn4D,GAASu9D,eADG,mBACZ,GAAkBvX,sBADN,cACZ,GAAkC31C,KAAKvnB,QACrC,KACA,KAEF,GAEFqvE,GAAc,WACZn4D,GACGu9D,eAFS,mBACZ,GAEIvX,sBAHQ,cACZ,GAGI54C,OACJ,GAEF+qD,GAAc,WACZn4D,GACGu9D,eAFS,mBACZ,GAEIvX,sBAHQ,cACZ,GAGI5/B,SACJ,KAIR,4BACE,uCACW,IADX,WAGIpmB,GACGu9D,eAJP,cAGI,GAEIC,UAIV,4BACE,qCACS,IADT,WAGIx9D,GACGu9D,eAJP,cAGI,GAEI57C,QAIV,4BACE,oDAEW,IACRy7B,GAAQ,WACPp9C,GACGu9D,eAFI,cACP,GAEIE,eAMd,2BAAOt9E,UAAU,QACf,2BAAOA,UAAU,iCACf,4BACE,wBACEm9E,QAAQ,KACRn9E,UAAU,eAFZ,2BASJ,+BACE,4BACE,wBAAIA,UAAU,IAAd,QACQ,IADR,WAGI6f,GACG09D,iBAJP,mBAGI,GAEI1X,sBALR,cAGI,GAGIhiE,OAIV,4BACE,uCACW,IACRm0E,GAAc,WACbn4D,GACG09D,iBAFU,mBACb,GAEI1X,sBAHS,cACb,GAGI9/B,UACJ,GAEAiyC,GAAc,WACZn4D,GAAS09D,iBADG,mBACZ,GAAoB1X,sBADR,cACZ,GAAoC31C,KAAKvnB,QACvC,KACA,KAEF,GAEFqvE,GAAc,WACZn4D,GACG09D,iBAFS,mBACZ,GAEI1X,sBAHQ,cACZ,GAGI54C,OACJ,GAEF+qD,GAAc,WACZn4D,GACG09D,iBAFS,mBACZ,GAEI1X,sBAHQ,cACZ,GAGI5/B,SACJ,KAIR,4BACE,uCACW,SAIPngC,KAHA,WAAA+Z,GACC09D,iBADD,iBAEEF,SAKF,QAHD,WAAAx9D,GACE09D,iBADF,iBAEGF,SAEA,IARH,WASGx9D,GACG09D,iBAVN,cASG,GAEIF,UAGZ,4BACE,qCACS,SAILv3E,KAHA,WAAA+Z,GACC09D,iBADD,iBAEE/7C,OAKF,QAHD,WAAA3hB,GACE09D,iBADF,iBAEG/7C,OAEA,IARH,WASG3hB,GACG09D,iBAVN,cASG,GAEI/7C,QAGZ,4BACE,qDAEW,IACRy7B,GAAQ,WACPp9C,GACG09D,iBAFI,cACP,GAEIC,kBAUpB,yBAAKr5E,MAAM,yDACT,wBAAIA,MAAM,4BAAV,mBAIF,yBAAKnE,UAAU,YACb,yBAAKA,UAAU,mBACb,2BAAOA,UAAU,SACf,2BAAOA,UAAU,0BACf,4BACE,wBAAIA,UAAU,eAAd,OAGA,wBAAIA,UAAU,eAAd,gBAIA,wBAAIA,UAAU,eAAd,UAIA,wBAAIA,UAAU,eAAd,wBAKJ,+BACE,4BACE,wBAAIA,UAAU,kDAAd,WAEI6f,GAASpG,aAFb,cAEI,GACIgkE,cAGR,wBAAIz9E,UAAU,kDAAd,WAEI6f,GAASpG,aAFb,cAEI,GACIikE,aAIR,wBAAI19E,UAAU,kDACZ,kBAAC,IAAD,CACE82B,QAGI,QAFF,WAAAjX,GAASpG,aAAT,iBACIkkE,UAIF,KAFF,WAAA99D,GAASpG,aAAT,iBACIkkE,QAKNn6E,MAAM,GACNvE,KAAK,GACL+G,KAAK,kBAIT,wBAAIhG,UAAU,kDAGZ,KAFC,WAAA6f,GAASpG,aAAT,iBACGmkE,gBAEA51E,aAAc,WACZ6X,GACGpG,aAFS,cACZ,GAEImkE,gBAEN51E,aAAc,WACZ6X,GACGpG,aAFS,cACZ,GAEIokE,mBAUtB,yBAAK15E,MAAM,yDACT,wBAAIA,MAAM,4BAAV,aAIF,yBAAKnE,UAAU,YACb,yBAAKA,UAAU,mBACb,2BAAOA,UAAU,SACf,2BAAOA,UAAU,0BACf,4BACE,wBAAIA,UAAU,eAAd,gBAGA,wBAAIA,UAAU,eAAd,qBAGA,wBAAIA,UAAU,eAAd,QAGA,wBAAIA,UAAU,eAAd,QAGA,wBAAIA,UAAU,eAAd,YAGA,wBAAIA,UAAU,eAAd,WAKJ,gCACG,WAAA6f,GAASsqC,eAAT,iBACGthD,QAAS,IADZ,WAECgX,GAASsqC,eAFV,cAEC,GAAkBpmD,KAChB,SAACC,EAAMC,GAAP,eACE,UAAAD,EAAK85E,gBAAL,eACIj1E,QACF,IAFF,UAGA7E,EAAK85E,gBAHL,aAGA,EAAe/5E,KACb,SACE44D,EACA14D,GAFF,aAIE,4BACE,wBAAIjE,UAAU,kDAAd,UAEIgE,EACG28D,qBAHP,aAEI,EAEI31C,aAGR,wBAAIhrB,UAAU,kDAEVgE,EAAK+5E,cAGT,wBAAI/9E,UAAU,kDAEV28D,EAAM94D,MAGV,wBAAI7D,UAAU,kDACXgI,aACC20D,EAAM5jC,OAGV,wBAAI/4B,UAAU,kDAEV28D,EAAMsP,UAGV,wBAAIjsE,UAAU,kDACXgI,aACC20D,EAAMqhB,kBAOrB,WAAAn+D,GAASsqC,eAAT,iBACGthD,QAAS,IADZ,WAECgX,GAASsqC,eAFV,cAEC,GAAkBpmD,KAChB,SAACC,EAAMC,GAAP,OACE,wBAAIjE,UAAU,iCACZ,wBAAIA,UAAU,aACd,wBAAIA,UAAU,aACd,wBAAIA,UAAU,aACd,wBAAIA,UAAU,aACd,wBACEA,UAAU,sBACVoE,MAAO,CACLwjB,gBACE,UACF7Y,MACE,SANN,eAWA,wBACE/O,UAAU,iCACVoE,MAAO,CACLwjB,gBACE,cAGH,KACC5f,aACEhE,EAAKg6E,iBAU3B,yBAAKh+E,UAAU,YACb,yBAAKA,UAAU,mBACb,2BAAOA,UAAU,SACf,2BAAOA,UAAU,YACf,4BACE,wBAAIA,UAAU,2BACZ,2BAAOA,UAAU,cAAjB,00BA6DA,6BACA,2BAAOA,UAAU,cAAjB,6XA+BA,6BACA,2BAAOA,UAAU,cAAjB,6JAWY,IACV,uBAAGA,UAAU,aAAb,mIAZF,szBAmFc,WAQ1B,yBAAKA,UAAU,YACb,yBAAKA,UAAU,mBACb,2BAAOA,UAAU,SACf,2BAAOA,UAAU,YACf,4BACE,wBAAIA,UAAU,wDAAd,8CAIE,6BAJF,2DAcV,yBAAKA,UAAU,YACb,yBAAKA,UAAU,mBACb,2BAAOA,UAAU,SACf,2BAAOA,UAAU,YACf,4BACE,wBAAIA,UAAU,gCACZ,iDADF,4BAOA,wBAAIA,UAAU,2CACZ,2CAEK,IACL,8BAII,KAHD,WAAA6f,GACEsqC,eADF,iBAEGthD,cAGF/C,IADF+Z,GAASsqC,SAKP,KAHFtqC,GACGsqC,QAAQ,GACRiT,YAKD,OAHFv9C,GACGsqC,QAAQ,GACRiT,WAEC,2BACAv9C,GACGsqC,QAAQ,GACRiT,cAIb,4BACE,wBAAIp9D,UAAU,2BACZ,8CADF,4BAMA,wBAAIA,UAAU,sCACZ,6CAEK,IACL,8BAII,KAHD,WAAA6f,GACEsqC,eADF,iBAEGthD,cAGF/C,IADF+Z,GAASsqC,SAKP,KAHFtqC,GACGsqC,QAAQ,GACR8zB,aAKD,OAHFp+D,GACGsqC,QAAQ,GACR8zB,YAEC,4BACAp+D,GACGsqC,QAAQ,GACR8zB,eAIb,6BACA,4BACE,wBAAIj+E,UAAU,2BACZ,mCAAY,IACZ,8BAEI6f,GAASq+D,WAIf,wBAAIl+E,UAAU,sCACZ,4CAEK,IACL,8BAII,KAHD,WAAA6f,GACEsqC,eADF,iBAEGthD,cAGF/C,IADF+Z,GAASsqC,SAKP,KAHFtqC,GACGsqC,QAAQ,GACRg0B,aAKD,OAHFt+D,GACGsqC,QAAQ,GACRg0B,YAEC,4BACAt+D,GACGsqC,QAAQ,GACRg0B,mBAQrB,yBAAKn+E,UAAU,YACb,yBAAKA,UAAU,mBACb,2BAAOA,UAAU,SACf,2BAAOA,UAAU,YACf,4BACE,wBAAIA,UAAU,wDACZ,mHAOE,6BAPF,mHAuClD,kBAACymB,EAAA,EAAM/U,OAAP,KACE,+BACE1R,UAAU,QADZ,2BAEY,6BAFZ,0BAGW,WACPqU,MAAM,GAAD,OACAxP,OAAOyP,QADP,oDAEH,CACEC,OAAQ,OACRC,iBAAiB,EACjBC,QAAS,CACPiL,OAAQ,oCACRhL,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,oBAElBvV,KAAK,WAAD,OAAas6E,GAAkB31E,KACjC,SAACwF,GAAD,OAAOA,EAAEnJ,MADP,0CAKLwU,KAhBH,wCAgBQ,WAAOC,GAAP,0FACqBA,EAASE,OAD9B,UACED,EADF,SAEEY,EAAcb,EAASJ,QAAQkB,IAAI,mBAGM,IAA7CD,EAAYE,QAAQ,oBALlB,yCAOKf,EACJ1N,OACAyN,MAAK,SAACrS,GAAD,MAAU,CAACuS,EAAYvS,OAT7B,gCAWKsS,EACJ5V,OACA2V,MAAK,SAAC3V,GAAD,MAAU,CAAC6V,EAAY,CAAEe,QAAS,SAbxC,2CAhBR,uDAgCGjB,MAAK,SAACzF,GACa,MAAdA,EAAO,GAEe,OAAtBA,EAAO,GAAG0G,cACY/P,IAAtBqJ,EAAO,GAAG0G,SACY,KAAtB1G,EAAO,GAAG0G,QAEVjW,YAAa,aAAcuP,EAAO,GAAG0G,UAErCjW,YACE,UACA,kCAEFu6E,IAA8B,GAC9Bj0E,YAAW,WACT1H,SAASsR,eAAe,WAAW1L,MAAMqjB,SACvC,WACD,KACHjpB,SAASsR,eAAe,iBAAiBinB,SAInB,OAAtB5nB,EAAO,GAAG0G,cACY/P,IAAtBqJ,EAAO,GAAG0G,SACY,KAAtB1G,EAAO,GAAG0G,SAEVjW,YAAa,aAAcuP,EAAO,GAAG0G,SACrCskE,IAA8B,GAC9Bj0E,YAAW,WACT1H,SAASsR,eAAe,WAAW1L,MAAMqjB,SACvC,WACD,OAEH7nB,YAAa,aAAc,mBAC3Bu6E,IAA8B,GAC9Bj0E,YAAW,WACT1H,SAASsR,eAAe,WAAW1L,MAAMqjB,SACvC,WACD,SAIRtS,OAAM,SAAC5K,GACNnH,QAAQmH,MAAMA,SA/EtB,qBAqFA,+BACEvK,UAAU,QADZ,2BAEY,+BAFZ,0BAGW,WACPm6E,IAA8B,GAC9Bj0E,YAAW,WACT1H,SAASsR,eAAe,WAAW1L,MAAMqjB,SACvC,WACD,QARP,gCAaA,4BACE1kB,KAAK,SACL/C,UAAU,8BACVyM,QAAS,WACP5H,OAAOulD,0BAA4BsvB,GACnCxzE,YAAW,WACTi0E,IAA8B,GAC9BJ,IAAiB,KAIhB,OAXP,kCAmBJ,kBAAC7oD,EAAD,CACE9wB,GAAIyE,OAAOu2E,wBACXhqE,KAAM0oE,GACNzoE,OAAQ,kBAAM0oE,IAAiB,MAIjC,kBAACtzD,EAAA,EAAD,CACEtV,KAAK,KACL/Q,GAAG,qBACHgR,KAAMkpE,GACNhpE,kBAAgB,gCAEhB,kBAACmV,EAAA,EAAMlV,OAAP,KACE,kBAACkV,EAAA,EAAM9U,MAAP,CAAavR,GAAG,gCAAhB,qBAGA,kBAACi9B,EAAA,EAAD,CACE7rB,aAAW,QACX/E,QAAS,WACP8tE,IAAsB,GACtB/7E,SAASi3D,uBACP,mBACA,GAAGrxD,MAAMsxD,WAAa,UACxBxvD,YAAW,WACT1H,SAASsR,eAAe,WAAW1L,MAAMqjB,SACvC,WACD,OAGL,kBAAC,IAAD,QAGJ,kBAAChB,EAAA,EAAMhV,KAAP,CAAYzR,UAAU,kBACpB,yBAAKA,UAAU,kBACb,yBAAKA,UAAU,YACb,kBAAC+oB,GAAA,EAAD,CACE3kB,MAAO,CAAEkS,UAAW,OAAQF,MAAO,SACnChW,GAAG,gBACH4F,KAAK,gBACLjD,KAAK,OACLye,cAAc,IAAI7f,MAAOwH,cAAc61E,OAAO,EAAG,IACjDjrE,gBAAiB,CACfC,QAAQ,KAGZ,2BAAOhU,UAAU,wBACf,+CAGJ,yBAAKA,UAAU,iBACb,4BACEI,GAAI,gBACJ4F,KAAM,gBACNwb,aAAc,WACdxhB,UAAU,gBAEV,kBAAC,KAAD,OAEF,2BAAOA,UAAU,wBACf,qCADF,aAMJ,yBAAKA,UAAU,kBACb,yBAAKA,UAAU,YACb,kBAAC+oB,GAAA,EAAD,CACE3kB,MAAO,CAAEkS,UAAW,OAAQF,MAAO,SACnChW,GAAG,kBACH4F,KAAK,kBACLjD,KAAK,OACLye,cAAc,IAAI7f,MAAOwH,cAAc61E,OAAO,EAAG,IACjDjrE,gBAAiB,CACfC,QAAQ,KAGZ,2BAAOhU,UAAU,wBACf,iDAGJ,yBAAKA,UAAU,iBACb,4BACEI,GAAI,kBACJ4F,KAAM,kBACNwb,aAAc,WACdxhB,UAAU,gBAEV,kBAAC,KAAD,OAEF,2BAAOA,UAAU,wBACf,qCADF,cAMN,kBAACymB,EAAA,EAAM/U,OAAP,KACE,yCACE1R,UAAU,OACVyM,QAAS,WACP8tE,IAAsB,GACtB/7E,SAASi3D,uBACP,mBACA,GAAGrxD,MAAMsxD,WAAa,UACxBxvD,YAAW,WACT1H,SAASsR,eAAe,WAAW1L,MAAMqjB,SACvC,WACD,OAVP,YAYY,6BAZZ,UAgBA,4BACE1kB,KAAK,SACLoQ,SAAUulE,EACVjsE,QAAS,WACPuvE,MAEFh8E,UAAU,+BANZ,eASG04E,GACC,kBAAC54B,EAAA,EAAD,CACEz/C,GAAG,OACHorD,UAAU,SACVt6C,KAAK,KACL2tB,KAAK,SACL4sB,cAAY,YAUtB,kBAACjlC,EAAA,EAAD,CACEtV,KAAK,KACL/Q,GAAG,qBACHgR,KAAMopE,GACNlpE,kBAAgB,gCAEhB,kBAACmV,EAAA,EAAMlV,OAAP,KACE,kBAACkV,EAAA,EAAM9U,MAAP,CAAavR,GAAG,gCAAhB,gBAGA,kBAACi9B,EAAA,EAAD,CACE7rB,aAAW,QACX/E,QAAS,WACP+tE,IAAwB,GACxBh8E,SAASi3D,uBACP,mBACA,GAAGrxD,MAAMsxD,WAAa,UACxBxvD,YAAW,WACT1H,SAASsR,eAAe,WAAW1L,MAAMqjB,SACvC,WACD,OAGL,kBAAC,IAAD,QAGJ,kBAAChB,EAAA,EAAMhV,KAAP,CAAYzR,UAAU,kBACpB,yBAAKA,UAAU,kBACb,yBAAKA,UAAU,YACb,kBAAC+oB,GAAA,EAAD,CACE3kB,MAAO,CAAEkS,UAAW,OAAQF,MAAO,SACnChW,GAAG,gBACH4F,KAAK,gBACLjD,KAAK,OACLye,cAAc,IAAI7f,MAAOwH,cAAc61E,OAAO,EAAG,IACjDjrE,gBAAiB,CACfC,QAAQ,KAGZ,2BAAOhU,UAAU,wBACf,yDAGJ,yBAAKA,UAAU,YACb,4BACEI,GAAI,gBACJ4F,KAAM,gBACNwb,aAAc,WACdxhB,UAAU,gBAEV,kBAAC,KAAD,OAEF,2BAAOA,UAAU,wBACf,qCADF,aAIF,yBAAKA,UAAU,YACb,4BACEI,GAAI,kBACJ4F,KAAM,kBACNwb,aAAc,WACdxhB,UAAU,gBAEV,kBAAC,KAAD,OAEF,2BAAOA,UAAU,wBACf,qCADF,eAMN,kBAACymB,EAAA,EAAM/U,OAAP,KACE,yCACE1R,UAAU,OACVyM,QAAS,WACP+tE,IAAwB,GACxBh8E,SAASi3D,uBACP,mBACA,GAAGrxD,MAAMsxD,WAAa,UACxBxvD,YAAW,WACT1H,SAASsR,eAAe,WAAW1L,MAAMqjB,SACvC,WACD,OAVP,YAYY,6BAZZ,UAgBA,4BACE1kB,KAAK,SACLoQ,SAAUulE,EACVjsE,QAAS,WACP8vE,MAEFv8E,UAAU,+BANZ,eASG04E,GACC,kBAAC54B,EAAA,EAAD,CACEz/C,GAAG,OACHorD,UAAU,SACVt6C,KAAK,KACL2tB,KAAK,SACL4sB,cAAY,YAUtB,kBAACjlC,EAAA,EAAD,CACEtV,KAAK,KACL/Q,GAAG,sBACHgR,KAAMgpE,GACN9oE,kBAAgB,gCAEhB,kBAACmV,EAAA,EAAMlV,OAAP,KACE,kBAACkV,EAAA,EAAM9U,MAAP,CAAavR,GAAG,gCAAhB,kBAGA,kBAACi9B,EAAA,EAAD,CACE7rB,aAAW,QACX/E,QAAS,WACP4tE,IAAmB,GACnB77E,SAASi3D,uBACP,mBACA,GAAGrxD,MAAMsxD,WAAa,UACxBxvD,YAAW,WACT1H,SAASsR,eAAe,WAAW1L,MAAMqjB,SACvC,WACD,OAGL,kBAAC,IAAD,QAGJ,kBAAChB,EAAA,EAAMhV,KAAP,CAAYzR,UAAU,kBACpB,yBAAKA,UAAU,kBACb,yBAAKA,UAAU,aACZujB,GAAUxf,KAAI,SAACwF,EAAGtF,GACjB,OACE,yBAAKjE,UAAU,uBACb,yBAAKA,UAAU,iBAAf,cACa,gCAASuJ,EAAEnJ,KAExB,yBAAKJ,UAAU,UACb,2BACEA,UAAU,eACVI,GAAE,aAAQ6D,GACV+B,KAAI,aAAQ/B,GACZlB,KAAK,OACLye,cAAc,IAAI7f,MACfwH,cACA61E,OAAO,EAAG,IACbjrE,gBAAiB,CACfC,QAAQ,KAGZ,2BAAOhU,UAAU,wBACf,yCAGJ,yBAAKA,UAAU,UACb,4BACEI,GAAE,iBAAY6D,GACd+B,KAAI,iBAAY/B,GAChBud,aAAc,WACdxhB,UAAU,gBAEV,kBAAC,KAAD,OAEF,2BAAOA,UAAU,wBACf,qCADF,sBAUd,kBAACymB,EAAA,EAAM/U,OAAP,KACE,yCACE1R,UAAU,OACVyM,QAAS,WACP4tE,IAAmB,GACnB77E,SAASi3D,uBACP,mBACA,GAAGrxD,MAAMsxD,WAAa,UACxBxvD,YAAW,WACT1H,SAASsR,eAAe,WAAW1L,MAAMqjB,SACvC,WACD,OAVP,YAYY,6BAZZ,UAgBA,4BACE1kB,KAAK,SACLoQ,SAAUulE,EACVjsE,QAAO,uBAAE,+EACP2vE,KADO,2CAGTp8E,UAAU,+BANZ,eASG04E,GACC,kBAAC54B,EAAA,EAAD,CACEz/C,GAAG,OACHorD,UAAU,SACVt6C,KAAK,KACL2tB,KAAK,SACL4sB,cAAY,YAStB,kBAACjlC,EAAA,EAAD,CACEtV,KAAK,KACL/Q,GAAG,sBACHgR,KAAMwnE,EACNtnE,kBAAgB,gCAEhB,kBAACmV,EAAA,EAAMlV,OAAP,KACE,kBAACkV,EAAA,EAAM9U,MAAP,CAAavR,GAAG,gCAAhB,oBAGA,kBAACi9B,EAAA,EAAD,CACE7rB,aAAW,QACX/E,QAAS,WACPosE,GAAmB,GACnBM,GAAsB,MACtBE,GAA+B,IAC/B76E,SAASi3D,uBACP,mBACA,GAAGrxD,MAAMsxD,WAAa,UACxBxvD,YAAW,WACT1H,SAASsR,eAAe,WAAW1L,MAAMqjB,SACvC,WACD,OAGL,kBAAC,IAAD,QAGJ,kBAAChB,EAAA,EAAMhV,KAAP,CAAYzR,UAAU,kBACpB,yBAAKA,UAAU,kBACb,yBAAKA,UAAU,aACZujB,GAAUxf,KAAI,SAACwF,EAAGtF,GACjB,OACE,yBAAKjE,UAAU,uBACb,yBAAKA,UAAU,iBAAf,cACa,gCAASuJ,EAAEnJ,KAExB,yBAAKJ,UAAU,UACb,2BACEA,UAAU,eACVI,GAAE,sBAAiB6D,GACnB+B,KAAI,sBAAiB/B,GACrBlB,KAAK,OACLye,cAAc,IAAI7f,MACfwH,cACA61E,OAAO,EAAG,IACbjrE,gBAAiB,CACfC,QAAQ,KAGZ,2BAAOhU,UAAU,wBACf,yDAGJ,yBAAKA,UAAU,UACb,4BACEI,GAAE,sBAAiB6D,GACnB+B,KAAI,sBAAiB/B,GACrBud,aAAc,WACdxhB,UAAU,gBAEV,kBAAC,KAAD,OAEF,2BAAOA,UAAU,wBACf,qCADF,eAIF,yBAAKA,UAAU,UACb,4BACEI,GAAE,sBAAiB6D,GACnB+B,KAAI,sBAAiB/B,GACrBud,aAAc,WACdxhB,UAAU,gBAEV,kBAAC,KAAD,OAEF,2BAAOA,UAAU,wBACf,qCADF,iBAOR,yBAAKA,UAAU,OACb,yBAAKA,UAAU,YACb,uBAAGA,UAAU,QAAb,WACA,kBAAC,KAAD,CACEgG,KAAK,WACLyiB,WAAY,CAAEsB,WACd5P,QAASq6C,EAAkBjlD,QAAO,SAAChG,GACjC,IAAIujB,EAAG,gBAAQvjB,GACf,OAAoC,KAAhC6vE,KACmB,IAAjB7vE,EAAEusD,WACG,CACL32D,MAAK,OAAE2tB,QAAF,IAAEA,OAAF,EAAEA,EAAK3tB,MACZqE,MAAK,OAAEspB,QAAF,IAAEA,OAAF,EAAEA,EAAKtpB,MACZuL,MAAO,MACP8mB,UAAS,OAAE/I,QAAF,IAAEA,OAAF,EAAEA,EAAK+I,UAChBigC,WAAU,OAAEhpC,QAAF,IAAEA,OAAF,EAAEA,EAAKgpC,YAYd,CACL32D,MAAK,OAAE2tB,QAAF,IAAEA,OAAF,EAAEA,EAAK3tB,MACZqE,MAAK,OAAEspB,QAAF,IAAEA,OAAF,EAAEA,EAAKtpB,MACZuL,MAAO,QACP8mB,UAAS,OAAE/I,QAAF,IAAEA,OAAF,EAAEA,EAAK+I,UAChBigC,WAAU,OAAEhpC,QAAF,IAAEA,OAAF,EAAEA,EAAKgpC,eAIvB32D,MACyB,OAAvB+5E,GACI1kB,EAAkBjlD,QAChB,SAAChG,GAAD,OAAOA,EAAEpK,QAAU+5E,MAErB1kB,EAAkBjlD,QAChB,SAAChG,GAAD,aACEA,EAAEpK,SAAF,UACAokB,GAAUhU,QACR,SAAC+R,GAAD,OAC0B,QAAhB,OAARA,QAAQ,IAARA,OAAA,EAAAA,EAAUuU,YAAsB,MAClC,UAJF,aACA,EAGMA,eACL,GAEXxmB,SAAU,SAAC4E,GACTklE,GAAqB,OAACllE,QAAD,IAACA,OAAD,EAACA,EAAO9U,UAGA,KAAhCi6E,KAGoB,KAFH,OAAjB5kB,QAAiB,IAAjBA,GAAA,UAAAA,EAAmBjlD,QAClB,SAAChG,GAAD,OAAOA,EAAEpK,QAAU+5E,MACnB,UAFD,eAEKpjB,cAOiB,KANrB,UAAAtB,EAAkBjlD,QAChB,SAAChG,GAAD,aACEA,EAAEpK,SAAF,UACAokB,GAAUhU,QACR,SAAC+R,GAAD,OAAsC,QAAhB,OAARA,QAAQ,IAARA,OAAA,EAAAA,EAAUuU,YAAsB,MAC9C,UAHF,aACA,EAEMA,cACR,UANF,eAMMigC,YAKN,GAJA,uBAAG1xD,MAAO,CAAE2K,MAAO,QAAnB,iCAOJ,yBAAK/O,UAAU,YACb,uBAAGA,UAAU,QAAb,eACA,kBAAC,KAAD,CACEgG,KAAK,eACL7G,MAAO81D,EACJ1lD,QAAO,SAAChG,GAAD,OAAOA,EAAE3F,KAAO41E,MACvBz1E,KAAI,SAAC8D,GACJ,MAAO,CACL1I,MAAK,OAAE0I,QAAF,IAAEA,OAAF,EAAEA,EAAGjE,GACVJ,MAAK,OAAEqE,QAAF,IAAEA,OAAF,EAAEA,EAAGhE,SAGhBsW,QAAS86C,EAAsBlxD,KAAI,SAAC8D,GAClC,MAAO,CACL1I,MAAK,OAAE0I,QAAF,IAAEA,OAAF,EAAEA,EAAGjE,GACVJ,MAAK,OAAEqE,QAAF,IAAEA,OAAF,EAAEA,EAAGhE,SAGdwL,SAAU,SAAC4E,GACTwlE,GAA2B,OAACxlE,QAAD,IAACA,OAAD,EAACA,EAAO9U,WAIzC,yBAAKa,UAAU,YACb,uBAAGA,UAAU,QAAb,kBACA,kBAAC,KAAD,CACEgG,KAAK,kBACLwb,aAAc,CACZriB,MAAO,GACPqE,MAAO,WAET2W,QAAS46C,GAAkBhxD,KAAI,SAAC8D,GAC9B,MAAO,CACL1I,MAAK,OAAE0I,QAAF,IAAEA,OAAF,EAAEA,EAAGjE,GACVJ,MAAK,OAAEqE,QAAF,IAAEA,OAAF,EAAEA,EAAGhE,SAGdwL,SAAU,SAAC4E,GACTolE,GAA8B,OAACplE,QAAD,IAACA,OAAD,EAACA,EAAO9U,WAKX,MAAhCi6E,GACC,yBAAKp5E,UAAU,YACb,uBAAGA,UAAU,QAAb,UACA,kBAAC,KAAD,CACEgG,KAAK,SACLmU,QAASg7C,GAAWpxD,KAAI,SAAC8D,GACvB,MAAO,CACL1I,MAAK,OAAE0I,QAAF,IAAEA,OAAF,EAAEA,EAAGjE,GACVJ,OAAQ,OAADqE,QAAC,IAADA,OAAA,EAAAA,EAAGhE,MAAO,KAAV,OAAgBgE,QAAhB,IAAgBA,OAAhB,EAAgBA,EAAGqb,UAG9B7T,SAAU,SAAC4E,GACTslE,GAAmB,OAACtlE,QAAD,IAACA,OAAD,EAACA,EAAO9U,WAKjC,GAEF,yBAAKa,UAAU,kBACb,kBAAC,KAAD,CACEk5E,mBAAoBA,GACpB31D,UAAWA,GACXixC,kBAAmBA,EACnByqB,WAAW,EACXC,KAAM,2BAOhB,yBAAKl/E,UAAU,kBACb,yBAAKA,UAAU,aACf,yBAAKA,UAAU,oBAGnB,kBAACymB,EAAA,EAAM/U,OAAP,KACE,yCACE1R,UAAU,OACVyM,QAAS,WACPosE,GAAmB,GACnBM,GAAsB,MACtBE,GAA+B,IAC/B76E,SAASi3D,uBACP,mBACA,GAAGrxD,MAAMsxD,WAAa,UACxBxvD,YAAW,WACT1H,SAASsR,eAAe,WAAW1L,MAAMqjB,SACvC,WACD,OAZP,YAcY,6BAdZ,UAkBA,4BACE1kB,KAAK,SACLoQ,SAAUulE,EACVjsE,QAAO,uBAAE,+EACP4uE,KADO,2CAGTr7E,UAAU,+BANZ,eASG04E,GACC,kBAAC54B,EAAA,EAAD,CACEz/C,GAAG,OACHorD,UAAU,SACVt6C,KAAK,KACL2tB,KAAK,SACL4sB,cAAY,YAStB,kBAACjlC,EAAA,EAAD,CACEtV,KAAK,KACL/Q,GAAG,sBACHgR,KAAMwoE,GACNtoE,kBAAgB,gCAEhB,kBAACmV,EAAA,EAAMlV,OAAP,KACE,kBAACkV,EAAA,EAAM9U,MAAP,CAAavR,GAAG,gCAAhB,oBAGA,kBAACi9B,EAAA,EAAD,CACE7rB,aAAW,QACX/E,QAAS,WACPotE,IAAuB,GACvBV,GAAsB,MACtBE,GAA+B,IAC/BE,GAAoB,MACpB/6E,SAASi3D,uBACP,mBACA,GAAGrxD,MAAMsxD,WAAa,UACxBxvD,YAAW,WACT1H,SAASsR,eAAe,WAAW1L,MAAMqjB,SACvC,WACD,OAGL,kBAAC,IAAD,QAGJ,kBAAChB,EAAA,EAAMhV,KAAP,CAAYzR,UAAU,kBACpB,yBAAKA,UAAU,kBACb,yBAAKA,UAAU,aACb,uBAAGA,UAAU,QAAb,WACA,kBAAC,KAAD,CACEgG,KAAK,WACLmU,QAASq6C,EACTr1D,MACyB,OAAvB+5E,GACI1kB,EAAkBjlD,QAChB,SAAChG,GAAD,OAAOA,EAAEpK,QAAU+5E,MAErB1kB,EAAkBjlD,QAChB,SAAChG,GAAD,aACEA,EAAEpK,SAAF,UACAokB,GAAUhU,QACR,SAAC+R,GAAD,OAAsC,QAAhB,OAARA,QAAQ,IAARA,OAAA,EAAAA,EAAUuU,YAAsB,MAC9C,UAHF,aACA,EAEMA,eACL,GAEXxmB,SAAU,SAAC4E,GACTklE,GAAqB,OAACllE,QAAD,IAACA,OAAD,EAACA,EAAO9U,O,oCAC7BggF,CAAgB,CAAE/1B,SAAQ,OAAEn1C,QAAF,IAAEA,OAAF,EAAEA,EAAO9U,aAM3C,yBAAKa,UAAU,kBACb,yBAAKA,UAAU,aACf,yBAAKA,UAAU,oBAGnB,kBAACymB,EAAA,EAAM/U,OAAP,KACE,yCACE1R,UAAU,OACVyM,QAAS,WACPotE,IAAuB,GACvBV,GAAsB,MACtBE,GAA+B,IAC/BE,GAAoB,MACpB/6E,SAASi3D,uBACP,mBACA,GAAGrxD,MAAMsxD,WAAa,UACxBxvD,YAAW,WACT1H,SAASsR,eAAe,WAAW1L,MAAMqjB,SACvC,WACD,OAbP,YAeY,6BAfZ,UAmBA,4BACE1kB,KAAK,SACLoQ,SAAUulE,EACVjsE,QAAO,uBAAE,+EACP0uE,KADO,2CAGTn7E,UAAU,+BANZ,eASG04E,GACC,kBAAC54B,EAAA,EAAD,CACEz/C,GAAG,OACHorD,UAAU,SACVt6C,KAAK,KACL2tB,KAAK,SACL4sB,cAAY,YAQtB,kBAACjlC,EAAA,EAAD,CACEtV,KAAK,KACL/Q,GAAG,qBACHgR,KAAM0nE,EACNxnE,kBAAgB,gCAEhB,kBAACmV,EAAA,EAAMlV,OAAP,KACE,kBAACkV,EAAA,EAAM9U,MAAP,CAAavR,GAAG,gCAAhB,mBAGA,kBAACi9B,EAAA,EAAD,CACE7rB,aAAW,QACX/E,QAAS,WACPssE,GAAoB,GACpBv6E,SAASi3D,uBACP,mBACA,GAAGrxD,MAAMsxD,WAAa,UACxBxvD,YAAW,WACT1H,SAASsR,eAAe,WAAW1L,MAAMqjB,SACvC,WACD,OAGL,kBAAC,IAAD,QAGJ,kBAAChB,EAAA,EAAMhV,KAAP,CAAYzR,UAAU,kBACpB,yBAAKA,UAAU,kBACb,yBAAKA,UAAU,aACb,uBAAGA,UAAU,QAAb,oBACA,2BACE+C,KAAK,OACL/C,UAAU,eACVgG,KAAK,uBACL5F,GAAG,uBACHgP,YAAY,uBAKlB,yBAAKpP,UAAU,kBACb,yBAAKA,UAAU,aACf,yBAAKA,UAAU,oBAGnB,kBAACymB,EAAA,EAAM/U,OAAP,KACE,yCACE1R,UAAU,OACVyM,QAAS,WACPssE,GAAoB,GACpBv6E,SAASi3D,uBACP,mBACA,GAAGrxD,MAAMsxD,WAAa,UACxBxvD,YAAW,WACT1H,SAASsR,eAAe,WAAW1L,MAAMqjB,SACvC,WACD,OAVP,YAYY,6BAZZ,UAgBA,4BACE1kB,KAAK,SACLoQ,SAAUulE,EACVjsE,QAAO,uBAAE,+EACPqvE,GAAe,GADR,2CAGT97E,UAAU,+BANZ,eASG04E,GACC,kBAAC54B,EAAA,EAAD,CACEz/C,GAAG,OACHorD,UAAU,SACVt6C,KAAK,KACL2tB,KAAK,SACL4sB,cAAY,YAOtB,kBAACjlC,EAAA,EAAD,CACEtV,KAAK,KACL/Q,GAAG,qBACHgR,KAAM4nE,EACN1nE,kBAAgB,gCAEhB,kBAACmV,EAAA,EAAMlV,OAAP,KACE,kBAACkV,EAAA,EAAM9U,MAAP,CAAavR,GAAG,gCAAhB,kBAGA,kBAACi9B,EAAA,EAAD,CACE7rB,aAAW,QACX/E,QAAS,WACPwsE,GAAmB,GACnBz6E,SAASi3D,uBACP,mBACA,GAAGrxD,MAAMsxD,WAAa,UACxBxvD,YAAW,WACT1H,SAASsR,eAAe,WAAW1L,MAAMqjB,SACvC,WACD,OAGL,kBAAC,IAAD,QAGJ,kBAAChB,EAAA,EAAMhV,KAAP,CAAYzR,UAAU,kBACpB,yBAAKA,UAAU,kBACb,yBAAKA,UAAU,aACb,uBAAGA,UAAU,QAAb,eACA,2BACE+C,KAAK,OACL/C,UAAU,eACVgG,KAAK,kBACL5F,GAAG,kBACHgP,YAAY,kBAKlB,yBAAKpP,UAAU,kBACb,yBAAKA,UAAU,aACf,yBAAKA,UAAU,oBAGnB,kBAACymB,EAAA,EAAM/U,OAAP,KACE,yCACE1R,UAAU,OACVyM,QAAS,WACPwsE,GAAmB,GACnBz6E,SAASi3D,uBACP,mBACA,GAAGrxD,MAAMsxD,WAAa,UACxBxvD,YAAW,WACT1H,SAASsR,eAAe,WAAW1L,MAAMqjB,SACvC,WACD,OAVP,YAYY,6BAZZ,UAgBA,4BACE1kB,KAAK,SACLoQ,SAAUulE,EACVjsE,QAAO,uBAAE,+EACPqvE,GAAe,GADR,2CAGT97E,UAAU,+BANZ,eASG04E,GACC,kBAAC54B,EAAA,EAAD,CACEz/C,GAAG,OACHorD,UAAU,SACVt6C,KAAK,KACL2tB,KAAK,SACL4sB,cAAY,YAOtB,kBAACjlC,EAAA,EAAD,CACEtV,KAAK,KACL/Q,GAAG,yBACHgR,KAAMknE,EACNhnE,kBAAgB,gCAEhB,kBAACmV,EAAA,EAAMlV,OAAP,KACE,kBAACkV,EAAA,EAAM9U,MAAP,CAAavR,GAAG,gCAAhB,oBAGA,kBAACi9B,EAAA,EAAD,CACE7rB,aAAW,QACX/E,QAAS,WACP8rE,GAAqB,GACrB/5E,SAASi3D,uBACP,mBACA,GAAGrxD,MAAMsxD,WAAa,UACxBxvD,YAAW,WACT1H,SAASsR,eAAe,WAAW1L,MAAMqjB,SACvC,WACD,OAGL,kBAAC,IAAD,QAGJ,kBAAChB,EAAA,EAAMhV,KAAP,CAAYzR,UAAU,kBACpB,yBAAKA,UAAU,kBACb,uBAAGA,UAAU,QAAb,SACA,kBAAC,WAAD,CACEgG,KAAK,oBACLpC,GAAG,oBACHJ,MAAM,OACNyX,KAAK,KACLmwC,OAAQC,IACRC,OAAQ,CACNC,cAAe,CACb,QACA,eACA,aACA,eACA,cACA,eAGJj4B,OAAQ,SAACrf,EAAOm3C,GACdqtB,EAAgBrtB,EAAOI,gBAK/B,kBAAC/kC,EAAA,EAAM/U,OAAP,KACE,yCACE1R,UAAU,OACVyM,QAAS,WACP8rE,GAAqB,GACrB/5E,SAASi3D,uBACP,mBACA,GAAGrxD,MAAMsxD,WAAa,UACxBxvD,YAAW,WACT1H,SAASsR,eAAe,WAAW1L,MAAMqjB,SACvC,WACD,OAVP,YAYY,6BAZZ,UAgBA,4BACE1kB,KAAK,SACLoQ,SAAUulE,EACVjsE,QAAS,WACP+vE,MAEFx8E,UAAU,+BANZ,eASG04E,GACC,kBAAC54B,EAAA,EAAD,CACEz/C,GAAG,OACHorD,UAAU,SACVt6C,KAAK,KACL2tB,KAAK,SACL4sB,cAAY,aASxB,uBAAG1rD,UAAU,sCACV,IACqB,IAArBujB,GAAU1a,OACP,0BACA0a,GAAUxf,KAAI,SAACud,GAAD,OAAcA,EAASlhB,GAAK,SAEhD,uBAAGJ,UAAU,sCAC2B,KAArC6E,OAAOu6E,0BACJ,uBACA,IAEN,yBACEp/E,UAAU,sDACVoE,MAAO,CAAEqjB,SAAU,WAEnB,yBAAKznB,UAAU,4BAEZ6E,OAAOu6E,2BACe,IAArB77D,GAAU1a,QACVq6D,EAAmBn/D,KAAI,SAACC,EAAMC,GAC5B,IAAIo7E,EAAU97D,GAAUJ,MAAK,SAASqC,EAAMvhB,GAC1C,GAA2B,YAAvBuhB,EAAKnI,cAA6B,OAAO,KAE/C,OAAIrZ,EAAK0/C,WAAa7+C,OAAOu6E,0BAEzBn7E,EAAQ,GACRi/D,EAAmBj/D,EAAQ,GAAGy/C,WAC5B7+C,OAAOu6E,0BAGP,uBACE93E,IAAKrD,EACLjE,UAAW,YACXyM,QAAS,WACP,MAAkB,aAAdzI,EAAKH,MAEL0f,GAAUhU,QAAO,SAAChG,GAAD,OAAsB,IAAfA,EAAE4rC,YACvBtsC,OAAS,GAEZjJ,YAAa,UAAW,uBAE1Bk3D,KACA+hB,GAAmB,QACnB3yE,YAAW,WAIT1H,SAASi3D,uBACP,mBACA,GAAGrxD,MAAMsxD,WAAa,WACvB,MAGa,cAAd1xD,EAAKH,MAEL0f,GAAUhU,QAAO,SAAChG,GAAD,OAAsB,IAAfA,EAAE4rC,YACvBtsC,OAAS,GAEZjJ,YAAa,UAAW,uBAE1B26E,IAAsB,QACtBr0E,YAAW,WACT1H,SAASsR,eACP,sBACAwvE,WAAWl7E,MAAMgkB,OAAS,OAC5B5pB,SAASi3D,uBACP,mBACA,GAAGrxD,MAAMsxD,WAAa,SACxBxvD,YAAW,WACT1H,SAASsR,eACP,WACA1L,MAAMqjB,SAAW,WAClB,OACF,MAGa,cAAdzjB,EAAKH,MAEL0f,GAAUhU,QAAO,SAAChG,GAAD,OAAsB,IAAfA,EAAE4rC,YACvBtsC,OAAS,GAEZjJ,YAAa,UAAW,uBAE1By6E,IAAmB,QACnBn0E,YAAW,WACT1H,SAASsR,eACP,uBACAwvE,WAAWl7E,MAAMgkB,OAAS,OAC5B5pB,SAASi3D,uBACP,mBACA,GAAGrxD,MAAMsxD,WAAa,SACxBxvD,YAAW,WACT1H,SAASsR,eACP,WACA1L,MAAMqjB,SAAW,WAClB,OACF,MAGiB,KAAlBzjB,EAAK0/C,UAELngC,GAAUhU,QAAO,SAAChG,GAAD,OAAsB,IAAfA,EAAE4rC,YACvBtsC,OAAS,GAEZjJ,YAAa,UAAW,uBAE1B66E,IAA2B,QAC3Bv0E,YAAW,WACT1H,SAASsR,eACP,sBACAwvE,WAAWl7E,MAAMgkB,OAAS,OAC5B5pB,SAASi3D,uBACP,mBACA,GAAGrxD,MAAMsxD,WAAa,SACxBxvD,YAAW,WACT1H,SAASsR,eACP,WACA1L,MAAMqjB,SAAW,WAClB,OACF,MAIgB,IAAlBzjB,EAAK0/C,UAAoC,KAAlB1/C,EAAK0/C,UACc,IAA3Cwf,EAAmBj/D,EAAQ,GAAGy/C,SA+CV,IAAlB1/C,EAAK0/C,UAELngC,GAAUhU,QAAO,SAAChG,GAAD,OAAsB,IAAfA,EAAE4rC,YACvBtsC,OAAS,GAEZjJ,YAAa,UAAW,4BAE1B2jB,GAAUxf,KAAI,SAACud,GACb,OAC+B,OAA7BA,EAAS20C,iBACoB,KAA7B30C,EAAS20C,iBAET8iB,GAAoB,QACpB7yE,YAAW,WACT1H,SAASsR,eACP,sBACAwvE,WAAWl7E,MAAMgkB,OAAS,OAC5B5pB,SAASi3D,uBACP,mBACA,GAAGrxD,MAAMsxD,WAAa,WACvB,OAGHolB,GAAqB92E,EAAK0/C,SAAU1/C,EAAKH,MACzCrF,SAASi3D,uBACP,mBACA,GAAGrxD,MAAMsxD,WAAa,SACxBH,GAAaC,GAAM,QACnBtvD,YAAW,WACT1H,SAASsR,eACP,WACA1L,MAAMqjB,SAAW,WAClB,UAMa,IAAlBzjB,EAAK0/C,UAELngC,GAAUhU,QAAO,SAAChG,GAAD,OAAsB,IAAfA,EAAE4rC,YACvBtsC,OAAS,GAEZjJ,YAAa,UAAW,4BAE1B2jB,GAAUxf,KAAI,SAACud,GACb,OAC0B,OAAxBA,EAASlE,YACe,KAAxBkE,EAASlE,YAET67D,GAAmB,QACnB/yE,YAAW,WACT1H,SAASsR,eACP,sBACAwvE,WAAWl7E,MAAMgkB,OAAS,OAC5B5pB,SAASi3D,uBACP,mBACA,GAAGrxD,MAAMsxD,WAAa,WACvB,OAGHolB,GAAqB92E,EAAK0/C,SAAU1/C,EAAKH,MACzCrF,SAASi3D,uBACP,mBACA,GAAGrxD,MAAMsxD,WAAa,SACxBH,GAAaC,GAAM,QACnBtvD,YAAW,WACT1H,SAASsR,eACP,WACA1L,MAAMqjB,SAAW,WAClB,WAMTqzD,GAAqB92E,EAAK0/C,SAAU1/C,EAAKH,MACzCrF,SAASi3D,uBACP,mBACA,GAAGrxD,MAAMsxD,WAAa,SACxBH,GAAaC,GAAM,QACnBtvD,YAAW,WACT1H,SAASsR,eAAe,WAAW1L,MAAMqjB,SACvC,WACD,MAhIClE,GAAUhU,QAAO,SAAChG,GAAD,OAAsB,IAAfA,EAAE4rC,YACvBtsC,OAAS,OAEZjJ,YAAa,QAAS,uBAIrB2jB,GAAUg8D,OACT,SAACxjE,GAAD,OACEA,EAAEoE,eAAiBoD,GAAU,GAAGpD,gBAUnCoD,GAAUg8D,OACT,SAACxjE,GAAD,OACEA,EAAEg1D,cAAgBxtD,GAAU,GAAGwtD,gBASrCja,KACAmjB,GAAoBj2E,EAAK0/C,UACzBm2B,IAAuB,QAEvB3zE,YAAW,WAIT1H,SAASi3D,uBACP,mBACA,GAAGrxD,MAAMsxD,WAAa,WACvB,WAjBD91D,YACE,QACA,2CAdFA,YACE,QACA,yCAqHR,yBAAKI,UAAU,aACb,yBAAKA,UAAU,SACb,yBAAKA,UAAU,gBACb,0BAAMA,UAAU,yCACd,uBAAGmE,MAAM,qCAIf,yBAAKnE,UAAU,aACb,yBAAKA,UAAU,oBAAoBgE,EAAKH,SAO9C,uBACEyD,IAAKrD,EACLjE,UACE,cACuC,IAArC6E,OAAOu6E,2BACW,IAAlBp7E,EAAK0/C,UAC+B,IAArC7+C,OAAOu6E,2BACY,IAAlBp7E,EAAK0/C,UAC+B,IAArC7+C,OAAOu6E,gCACMt5E,IAAZu5E,IACmB,IAAlBr7E,EAAK0/C,UACc,KAAlB1/C,EAAK0/C,UACa,KAAlB1/C,EAAK0/C,UACa,KAAlB1/C,EAAK0/C,UACa,KAAlB1/C,EAAK0/C,UACa,KAAlB1/C,EAAK0/C,UACa,KAAlB1/C,EAAK0/C,UACa,KAAlB1/C,EAAK0/C,UACa,KAAlB1/C,EAAK0/C,WAC6B,IAArC7+C,OAAOu6E,4BACa,KAAlBp7E,EAAK0/C,UAAqC,KAAlB1/C,EAAK0/C,WACM,KAArC7+C,OAAOu6E,4BACa,KAAlBp7E,EAAK0/C,UACc,KAAlB1/C,EAAK0/C,UACa,KAAlB1/C,EAAK0/C,UACa,KAAlB1/C,EAAK0/C,UACL,GACAnjD,GAAQyiB,YAEdvW,QAAS,WACP,MAAkB,aAAdzI,EAAKH,MAEL0f,GAAUhU,QAAO,SAAChG,GAAD,OAAsB,IAAfA,EAAE4rC,YACvBtsC,OAAS,GAEZjJ,YAAa,UAAW,uBAE1Bk3D,KACA+hB,GAAmB,QACnB3yE,YAAW,WAIT1H,SAASi3D,uBACP,mBACA,GAAGrxD,MAAMsxD,WAAa,WACvB,MAGa,cAAd1xD,EAAKH,MAEL0f,GAAUhU,QAAO,SAAChG,GAAD,OAAsB,IAAfA,EAAE4rC,YACvBtsC,OAAS,GAEZjJ,YAAa,UAAW,uBAE1B26E,IAAsB,QACtBr0E,YAAW,WACT1H,SAASsR,eACP,sBACAwvE,WAAWl7E,MAAMgkB,OAAS,OAC5B5pB,SAASi3D,uBACP,mBACA,GAAGrxD,MAAMsxD,WAAa,SACxBxvD,YAAW,WACT1H,SAASsR,eACP,WACA1L,MAAMqjB,SAAW,WAClB,OACF,MAGa,cAAdzjB,EAAKH,MAEL0f,GAAUhU,QAAO,SAAChG,GAAD,OAAsB,IAAfA,EAAE4rC,YACvBtsC,OAAS,GAEZjJ,YAAa,UAAW,uBAE1By6E,IAAmB,QACnBn0E,YAAW,WACT1H,SAASsR,eACP,uBACAwvE,WAAWl7E,MAAMgkB,OAAS,OAC5B5pB,SAASi3D,uBACP,mBACA,GAAGrxD,MAAMsxD,WAAa,SACxBxvD,YAAW,WACT1H,SAASsR,eACP,WACA1L,MAAMqjB,SAAW,WAClB,OACF,MAGiB,KAAlBzjB,EAAK0/C,UAELngC,GAAUhU,QAAO,SAAChG,GAAD,OAAsB,IAAfA,EAAE4rC,YACvBtsC,OAAS,GAEZjJ,YAAa,UAAW,uBAE1B66E,IAA2B,QAC3Bv0E,YAAW,WACT1H,SAASsR,eACP,sBACAwvE,WAAWl7E,MAAMgkB,OAAS,OAC5B5pB,SAASi3D,uBACP,mBACA,GAAGrxD,MAAMsxD,WAAa,SACxBxvD,YAAW,WACT1H,SAASsR,eACP,WACA1L,MAAMqjB,SAAW,WAClB,OACF,MAIgB,IAAlBzjB,EAAK0/C,UAAoC,KAAlB1/C,EAAK0/C,UACc,IAA3Cwf,EAAmBj/D,EAAQ,GAAGy/C,SAsBV,IAAlB1/C,EAAK0/C,UAELngC,GAAUhU,QAAO,SAAChG,GAAD,OAAsB,IAAfA,EAAE4rC,YACvBtsC,OAAS,GAEZjJ,YAAa,UAAW,4BAE1B2jB,GAAUxf,KAAI,SAACud,GACb,OAC+B,OAA7BA,EAAS20C,iBACoB,KAA7B30C,EAAS20C,iBAET8iB,GAAoB,QACpB7yE,YAAW,WACT1H,SAASsR,eACP,sBACAwvE,WAAWl7E,MAAMgkB,OAAS,OAC5B5pB,SAASi3D,uBACP,mBACA,GAAGrxD,MAAMsxD,WAAa,WACvB,OAGHolB,GAAqB92E,EAAK0/C,SAAU1/C,EAAKH,MACzCrF,SAASi3D,uBACP,mBACA,GAAGrxD,MAAMsxD,WAAa,SACxBH,GAAaC,GAAM,QACnBtvD,YAAW,WACT1H,SAASsR,eACP,WACA1L,MAAMqjB,SAAW,WAClB,UAMa,IAAlBzjB,EAAK0/C,UAELngC,GAAUhU,QAAO,SAAChG,GAAD,OAAsB,IAAfA,EAAE4rC,YACvBtsC,OAAS,GAEZjJ,YAAa,UAAW,4BAE1B2jB,GAAUxf,KAAI,SAACud,GACb,OAC0B,OAAxBA,EAASlE,YACe,KAAxBkE,EAASlE,YAET67D,GAAmB,QACnB/yE,YAAW,WACT1H,SAASsR,eACP,sBACAwvE,WAAWl7E,MAAMgkB,OAAS,OAC5B5pB,SAASi3D,uBACP,mBACA,GAAGrxD,MAAMsxD,WAAa,WACvB,OAGHolB,GAAqB92E,EAAK0/C,SAAU1/C,EAAKH,MACzCrF,SAASi3D,uBACP,mBACA,GAAGrxD,MAAMsxD,WAAa,SACxBH,GAAaC,GAAM,QACnBtvD,YAAW,WACT1H,SAASsR,eACP,WACA1L,MAAMqjB,SAAW,WAClB,WAMTqzD,GAAqB92E,EAAK0/C,SAAU1/C,EAAKH,MACzCrF,SAASi3D,uBACP,mBACA,GAAGrxD,MAAMsxD,WAAa,SACxBH,GAAaC,GAAM,QACnBtvD,YAAW,WACT1H,SAASsR,eAAe,WAAW1L,MAAMqjB,SACvC,WACD,MAvGClE,GAAUhU,QAAO,SAAChG,GAAD,OAAsB,IAAfA,EAAE4rC,YACvBtsC,OAAS,OAEZjJ,YAAa,QAAS,wBAGxBk3D,KACAmjB,GAAoBj2E,EAAK0/C,UACzBm2B,IAAuB,QACvB3zE,YAAW,WAIT1H,SAASi3D,uBACP,mBACA,GAAGrxD,MAAMsxD,WAAa,WACvB,QA0FP,yBAAK11D,UAAU,aACb,yBAAKA,UAAU,SACb,yBAAKA,UAAU,gBACb,0BAAMA,UAAU,yCACd,uBAAGmE,MAAM,qCAIf,yBAAKnE,UAAU,aACb,yBAAKA,UAAU,oBAAoBgE,EAAKH,SAQhD,uBACEyD,IAAKrD,EACLjE,UAAU,YACVoE,MAAO,CAAEgvD,cAAe,OAAQ37B,OAAQ,WACxChrB,QAAS,WACPquE,GAAqB92E,EAAK0/C,SAAU1/C,EAAKH,QAG3C,yBAAK7D,UAAU,aACb,yBAAKA,UAAU,SACb,yBAAKA,UAAU,gBACb,0BAAMA,UAAU,yCACd,uBAAGmE,MAAM,qCAIf,yBAAKnE,UAAU,aACb,yBAAKA,UAAU,oBAAoBgE,EAAKH,aASxD,yBAAK7D,UAAU,aAAaoE,MAAO,CAAE8jB,KAAM,MAAOC,OAAQ,QACxD,yBACEnoB,UAAU,cACVupB,SAAU,EACVnlB,MAAO,CAAE8jB,KAAM,MAAO9R,MAAO,UAGjC,yBACEpW,UAAU,aACVoE,MAAO,CAAEqhC,IAAK,MAAO7uB,OAAQ,QAASyR,MAAO,QAE7C,yBACEroB,UAAU,cACVupB,SAAU,EACVnlB,MAAO,CAAEqhC,IAAK,MAAO7uB,OAAQ,eA+BlC28C,CAAS,W,+CA6hBlB,+FACel/C,MAAM,GAAD,OACbxP,OAAOyP,QADM,oDAEhB,CACEC,OAAQ,MACRC,iBAAiB,EACjBC,QAAS,CACPiL,OAAQ,oCACRhL,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,sBAInBC,KAbU,wCAaL,WAAOC,GAAP,0FACqBA,EAASE,OAD9B,cACED,EADF,gBAEeD,EAAS1N,OAFxB,cAEE5E,EAFF,yBAGGyS,QAAQC,IAAI,CAACH,EAAYvS,KAH5B,2CAbK,uDAkBVqS,KAlBU,wCAkBL,WAAOM,GAAP,2FACGA,EAAI,IADP,2CAlBK,uDAqBVC,OAAM,SAAC5K,GACNnH,QAAQmH,MAAMA,MAvBpB,oF,y5MC3mMA,IAEIm0C,GAFEzgD,GAAU,IAAIC,IAAa,MAC3BC,GAAKC,IAAIH,IAGf,SAASwtB,GAAW7pB,GAClB,GAAIA,EAAM,CACR,IAAIoK,EAAI,IAAIrK,KAAKC,GACf8pB,EAAQ,IAAM1f,EAAEjK,WAAa,GAC7B6J,EAAM,GAAKI,EAAEhK,UACb2pB,EAAO3f,EAAE/J,cAEPypB,EAAM7iB,OAAS,IAAG6iB,EAAQ,IAAMA,GAChC9f,EAAI/C,OAAS,IAAG+C,EAAM,IAAMA,GAEhC,IAAMuD,EAAS,CAACwc,EAAMD,EAAO9f,GAAKlE,KAAK,KACvC,MAAe,gBAAXyH,EACKA,EAEA,GAGT,MAAO,GAGX,IAAM6pD,GAAoB,CACxB,CAAE75D,MAAO,UAAWqE,MAAO,iBAC3B,CAAErE,MAAO,aAAcqE,MAAO,iBAC9B,CAAErE,MAAO,YAAaqE,MAAO,kBAC7B,CAAErE,MAAO,aAAcqE,MAAO,mBAC9B,CAAErE,MAAO,YAAaqE,MAAO,kBAmOxB,SAAS6uB,GAAT,GAA0C,EAAf7O,YAAgB,IAChD,EAA0CxW,mBAAS,IAAnD,mBAAOwyE,EAAP,KAAsBC,EAAtB,KACA,EAAkCzyE,mBAAS,IAA3C,mBAAOmM,EAAP,KAAkBsI,EAAlB,KACA,EAAgCzU,mBAAS,IAAzC,mBAAOyqD,EAAP,KAAiBioB,EAAjB,KACA,EAA4C1yE,mBAAS,IAArD,mBAAO2yE,EAAP,KAAuBC,EAAvB,KACA,EAAsD5yE,mBAAS,IAA/D,mBAAO6yE,EAAP,KAA4BC,EAA5B,KACA,EAGI9yE,mBAAS,IAHb,mBACE+yE,EADF,KAEEC,EAFF,KAIA,EAA4DhzE,mBAAS,IAArE,mBAAOizE,EAAP,KAA+BC,EAA/B,KACA,EAAgDlzE,mBAAS,IAAzD,mBAAOmzE,EAAP,KAAyBC,EAAzB,KACA,EAA4DpzE,mBAAS,IAArE,mBAAOqzE,EAAP,KAA+BC,EAA/B,KACA,EAA4DtzE,mBAAS,IAArE,mBAAOuzE,EAAP,KAA+BC,EAA/B,KACA,EAGIxzE,mBAAS,IAHb,mBACEyzE,EADF,KAEEC,EAFF,KAIA,EAA4C1zE,mBAAS,CACnD7N,MAAO0F,OAAO87E,8BACdn9E,MAAOqB,OAAO+7E,kCAFhB,oBAAOC,GAAP,MAAuBC,GAAvB,MAIA,GAAkC9zE,mBAAS,CACzC7N,MAAO0F,OAAOi1D,6BACdt2D,MAAOqB,OAAOk8E,iCAFhB,qBAAOppE,GAAP,MAAkBC,GAAlB,MAIA,GAGI5K,mBAAS,IAHb,qBACEg0E,GADF,MAEEC,GAFF,MAMAntE,qBAAU,WACRO,MAAMxP,OAAOyP,QAAU,2CAA4C,CACjEC,OAAQ,MACRC,iBAAiB,EACjBC,QAAS,CACPiL,OAAQ,oCACRhL,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,sBAGjBC,MAAK,SAACM,GAAD,OAASA,EAAI/N,UAClByN,MAAK,SAACM,GACLuM,EAAavM,EAAIiE,WAAa,IAC9BumE,EAAYxqE,EAAI6kD,UAAY,IAC5B6lB,EAAkB1qE,EAAIi1C,SAAW,IACjCi2B,EAAoBlrE,EAAIkE,UACxB8mE,EACEhrE,EAAIkE,SAASrV,KAAI,SAACgnB,GAAD,MAAiB,CAChC5rB,MAAO4rB,EAAWnnB,GAClBJ,MAAOunB,EAAWlnB,UAGtB,IAAI0F,EAAI2L,EAAIkE,SAAS7J,QACnB,SAAChG,GAAD,OAAO/H,OAAO+H,EAAE3F,MAAQpC,OAAOqD,OAAOi1D,iCAGxC,GAAIvwD,EAAE,GAAG6Q,MAAMvR,OAAS,EAAG,CACzB42E,EAAiBl2E,EAAE,GAAG6Q,OACtB0lE,EACEv2E,EAAE,GAAG6Q,MAAMrW,KAAI,SAACgnB,GAAD,MAAiB,CAC9B5rB,MAAO4rB,EAAWnnB,GAClBJ,MAAOunB,EAAWlnB,UAGtB,IAAIwX,EAAI9R,EAAE,GAAG6Q,MAAM7K,QACjB,SAAChG,GAAD,OAAO/H,OAAO+H,EAAE1F,QAAUrC,OAAOqD,OAAOq8E,gCAEtC7lE,EAAE,GAAGhB,cAAcxR,SACrBy3E,EAA0BjlE,EAAE,GAAGhB,eAE/B2lE,EACE3kE,EAAE,GAAGhB,cAActW,KAAI,SAACgnB,GAAD,MAAiB,CACtC5rB,MAAO4rB,EAAWnnB,GAClBJ,MAAOunB,EAAWlnB,eAM3BsR,OAAM,WAEL,OADAvV,YAAa,QAAS,QACf,OAEV,IACHkU,qBAAU,YAGV,WACE,IAAK,IAAD,0BACFjP,OAAOs8E,oBAAiBr7E,EACxB,IAAIs7E,EAAwBjjF,GAAG8L,OAAOC,WAAW2F,KAAKwxE,cACtDD,EAAqB,UAAGA,SAAH,aAAG,EAAuBj+D,MAAK,SAAAtb,GAAC,MAAe,OAAXA,EAAEy5E,QAC3D,IAAMC,EAAiB,CACrBC,kBAAiB,UAAEJ,SAAF,iBAAE,EAAuBK,uBAAzB,aAAE,EAAwCtiF,MAC3DuiF,oBAAmB,UAAEN,SAAF,iBAAE,EAAuBK,uBAAzB,aAAE,EAAwCj+E,MAE7DsyC,iBAAgB,UAAEsrC,SAAF,iBAAE,EAAuBO,sBAAzB,aAAE,EAAuCxiF,MACzDyiF,mBAAkB,UAAER,SAAF,iBAAE,EAAuBO,sBAAzB,aAAE,EAAuCn+E,MAE3DuyC,cAAa,UAAEqrC,SAAF,iBAAE,EAAuBS,mBAAzB,aAAE,EAAoC1iF,MACnD2iF,gBAAe,UAAEV,SAAF,iBAAE,EAAuBS,mBAAzB,aAAE,EAAoCr+E,OAGlDqB,OAAOk9E,iBAgDVnqE,GAAa,CACXzY,MAAO0F,OAAOi1D,6BACdt2D,MAAOqB,OAAOk8E,iCAEhBiB,GAAU,CACR7iF,MAAO0F,OAAOg1D,0BACdr2D,MAAOqB,OAAOq8E,8BAEhBJ,GAAkB,CAChB3hF,MAAO0F,OAAO87E,8BACdn9E,MAAOqB,OAAO+7E,yCAzDwB96E,IAApCy7E,EAAezrC,kBACjBjxC,OAAOi1D,6BAA+BynB,EAAezrC,iBACrDjxC,OAAOk8E,+BACLQ,EAAeK,mBACjBhqE,GAAa,CACXzY,MAAO0F,OAAOi1D,6BACdt2D,MAAOqB,OAAOk8E,mCAGhBl8E,OAAOi1D,6BAA+B,EACtCliD,GAAa,CACXzY,MAAO,EACPqE,MAAO,kCAI0BsC,IAAjCy7E,EAAexrC,eACjBlxC,OAAOg1D,0BAA4B0nB,EAAexrC,cAClDlxC,OAAOq8E,4BAA8BK,EAAeO,gBACpDE,GAAU,CACR7iF,MAAO0F,OAAOg1D,0BACdr2D,MAAOqB,OAAOq8E,gCAGhBr8E,OAAOg1D,0BAA4B,EACnCmoB,GAAU,CACR7iF,MAAO,EACPqE,MAAO,8BAG8BsC,IAArCy7E,EAAeC,mBACjB38E,OAAO87E,8BACLY,EAAeC,kBACjB38E,OAAO+7E,gCACLW,EAAeG,oBACjBZ,GAAkB,CAChB3hF,MAAO0F,OAAO87E,8BACdn9E,MAAOqB,OAAO+7E,oCAGhB/7E,OAAO87E,8BAAgC,GACvC97E,OAAO+7E,gCAAkC,GACzCE,GAAkB,QAkBtB,MAAOjhF,KA/EToiF,KACC,IAgFH,IAAM33D,GAAcnR,EAAUpV,KAAI,SAACgnB,GAAD,MAAiB,CACjD5rB,MAAO4rB,EAAWnnB,GAClBJ,MAAOunB,EAAWlnB,SAEdq+E,GAAqBzqB,EAAS1zD,KAAI,SAACgnB,GAAD,MAAiB,CACvD5rB,MAAO4rB,EAAWnnB,GAClBJ,MAAOunB,EAAW7H,KAAO,IAAM6H,EAAWlnB,SAEtCs+E,GAAsBxC,EAAe57E,KAAI,SAACgnB,GAAD,MAAiB,CAC9D5rB,MAAO4rB,EAAWnnB,GAClBJ,MAAOunB,EAAW7H,KAAO,IAAM6H,EAAWC,gBAGtC8F,GAAqB3B,IACrB4B,GAAmBC,mBAAQ,WAC/B,MAAO,CACL1L,YAAawL,GAAmBxL,YAChCoK,eAAgBoB,GAAmBpB,kBAEpC,CAACoB,KAGE0B,GAAc,SAACtrB,GACnB,IAAMurB,EAxPY,SAACnN,EAAape,GAClC,MA8BIA,EA7BFwwD,qBADF,MACkB,UADlB,IA8BIxwD,EA5BFk7E,sBAFF,MAEmBv9E,OAAOg1D,0BAF1B,IA8BI3yD,EA3BFyQ,iBAHF,MAGc9S,OAAOi1D,6BAHrB,EAIExC,EA0BEpwD,EA1BFowD,eACA+qB,EAyBEn7E,EAzBFm7E,gBACAC,EAwBEp7E,EAxBFo7E,gBACAC,EAuBEr7E,EAvBFq7E,SACA7rD,EAsBExvB,EAtBFwvB,QACA/D,EAqBEzrB,EArBFyrB,YACA6vD,EAoBEt7E,EApBFs7E,oBACAC,EAmBEv7E,EAnBFu7E,QACAC,EAkBEx7E,EAlBFw7E,OACAC,EAiBEz7E,EAjBFy7E,MACAC,EAgBE17E,EAhBF07E,QACAlwD,EAeExrB,EAfFwrB,WAfF,EA8BIxrB,EAdF+D,iBAhBF,WAgB6CnF,IAA/BjB,OAAO6qE,oBACf7qE,OAAO6qE,oBACPnuE,OACGwzC,KAAK,GAAI,QACTvrC,OAAO,cApBhB,IA8BItC,EATFiE,eArBF,MAqBY5J,OAASiI,OAAO,cArB5B,IA8BItC,EARF0zE,yBAtBF,MAsB+D,KAAzC/1E,OAAO87E,8BACvB,CACE,CACExhF,MAAO0F,OAAO87E,8BACdn9E,MAAOqB,OAAO+7E,kCAGlB,GA7BN,EA+BMnuD,EAAc,gBAAQnN,GACtB/V,EAAS,GAqBf,OApBAA,EAAOqrE,kBAAoBA,EAC3BrrE,EAAO6yE,eAAiBA,EACxB7yE,EAAO+nD,eAAiBA,EACxB/nD,EAAO8yE,gBAAkBA,EACzB9yE,EAAO+yE,gBAAkBA,EACzB/yE,EAAOgzE,SAAWA,EAClBhzE,EAAOmnB,QAAUA,EACjBnnB,EAAOmoD,cAAgBA,EACvBnoD,EAAOoI,UAAYA,EACnBpI,EAAOizE,oBAAsBA,EAC7BjzE,EAAOqzE,QAAUA,EACjBrzE,EAAOozE,MAAQA,EACfpzE,EAAOkzE,QAAUA,EACjBlzE,EAAOmzE,OAASA,EAChBnzE,EAAOmjB,WAAaA,EACpBnjB,EAAOtE,UAAYA,EACnBsE,EAAOpE,QAAUA,EACjBoE,EAAOojB,YAAcA,EACrBpjB,EAAOA,OAAS1K,OAAOu6E,0BACvB3sD,EAAeljB,OAASA,EACjBkjB,EAkMkBG,CACrB,CACErjB,OAAQ,CACNszE,YAAa,eAAiBh+E,OAAO87E,8BACrCyB,eAAgBv9E,OAAOg1D,0BACvBliD,UAAW9S,OAAOi1D,6BAClBxC,eAAgB,EAChB+qB,gBAAiB,EACjBC,gBAAiB,EACjB5vD,WAAY7tB,OAAO80D,gBAAkB,GACrC4oB,SAAU,GACV7rD,QAAS,GACTghC,cAAe,UACforB,OAAQj+E,OAAOu6E,0BAIfn0E,UAAW83E,GACX53E,QAAS63E,IAEXn0D,UAAW,OACXC,UAAW,KACXC,WAAY,EACZC,SAAU,IAEZ9nB,GAMF6pB,GAAiBrB,eAAe+C,IAElC,GAA4BzlB,mBAAS,CACnC7N,MAAO0F,OAAOg1D,0BACdr2D,MAAOqB,OAAOq8E,8BAFhB,qBAAO+B,GAAP,MAAejB,GAAf,MAIA,GAA4Ch1E,mBAAS,CACnD7N,MAAO,KACPqE,MAAO,WAFT,qBAAO8zD,GAAP,MAAuB4rB,GAAvB,MAKA,GAA4Cl2E,wBACXlH,IAA/BjB,OAAO6qE,oBACH7qE,OAAO6qE,qBACP,IAAI/tE,MACDytE,SAAS,IACTjmE,cACAf,MAAM,KAAK,IANpB,qBAAO26E,GAAP,MAAuBI,GAAvB,MAUA,GAAwCn2E,oBACtC,IAAIrL,MAAOwH,cAAcf,MAAM,KAAK,IADtC,qBAAO46E,GAAP,MAAqBI,GAArB,MAGA,GAAgCp2E,mBAAS,CAAE7N,MAAO,EAAGqE,MAAO,WAA5D,qBAAO41D,GAAP,MAAiBC,GAAjB,MACMgqB,GAAe,CACnB,CAAElkF,MAAO,EAAGqE,MAAO,UACnB,CAAErE,MAAO,EAAGqE,MAAO,aAWrB,OATAsQ,qBAAU,WACR,IAAM3U,EAAQ0F,OAAOw1D,6BACR,IAAVl7D,GACDk6D,GAAY,CAAEl6D,MAAO,EAAGqE,MAAO,cAEpB,IAAVrE,GACDk6D,GAAY,CAAEl6D,MAAO,EAAGqE,MAAO,aAEjC,IAEA,oCACE,kBAAC,IAAD,CACEgf,cAAe,CACbo4D,kBAC2C,KAAzC/1E,OAAO87E,8BACH,CACE,CACExhF,MAAO0F,OAAO87E,8BACdn9E,MAAOqB,OAAO+7E,kCAGlB,GACNiC,YAAa,eAAiBh+E,OAAO87E,8BACrChpE,UAAW9S,OAAOi1D,6BAClBsoB,eAAgBv9E,OAAOg1D,0BACvBvC,eAAgB,EAChB+qB,gBAAiB,EACjBC,gBAAiB,EACjBC,SAAU,GACV7rD,QAAS,GACTghC,cAAe,UACforB,OAAQj+E,OAAOu6E,0BACf1sD,WAAY7tB,OAAO80D,gBAAkB,GACrC1uD,eACiCnF,IAA/BjB,OAAO6qE,oBACH7qE,OAAO6qE,oBACPnuE,OACGwzC,KAAK,GAAI,QACTvrC,OAAO,cAChB2B,QAAS5J,OAASiI,OAAO,cACzBmpB,YAAa,EACbgwD,OAAO,EACPpoB,SAAS,EACTioB,qBAAqB,EACrBC,QAAS59E,OAAOw1D,4BAChBqoB,OAAQ79E,OAAO21D,2BAEjB93C,SAAQ,wCAAE,WAAOxb,GAAP,kEACRsrB,GAAYtrB,GADJ,2CAAF,wDAIP,oBACCA,EADD,EACCA,OACA6b,EAFD,EAECA,aACAqQ,EAHD,EAGCA,WAEAlgB,GALD,EAICmgB,aAJD,EAKCngB,eALD,OAOC,0BACEwP,SAAUK,EACV3iB,GAAG,2BACHJ,UAAU,yBAEV,2BACE+C,KAAK,SACL/C,UAAU,SACVI,GAAG,gBACHqM,QAAS,SAAC6C,GACe,MAAnBA,EAAEM,OAAOzQ,MACXX,SAASsR,eAAe,iBAAiB3Q,MAAQ,EAC9CX,SAASsR,eAAe,iBAAiB3Q,MAAQ,EACtD+T,EAAc,cAAe5D,EAAEM,OAAOzQ,OACtC4jB,OAGJ,yBAAK/iB,UAAU,uBACb,yBAAKA,UAAU,8BACb,uBAAGA,UAAU,QAAb,UACA,2BACE+C,KAAK,SACL/C,UAAU,eACVgG,KAAK,aACL5F,GAAG,kBACHgP,YAAY,gBACZkkB,OAAQF,EACRj0B,MAAO+H,EAAOwrB,YAAc7tB,OAAO80D,eACnCtqD,SAAU,SAACC,GACT4D,EAAc,aAAc5D,EAAEM,OAAOzQ,OACrC0F,OAAO80D,eAAiBrqD,EAAEM,OAAOzQ,MACjCugD,aAAahB,IACbA,GAAcx4C,YAAW,WACvB6c,MACC,SAIT,yBAAK/iB,UAAU,8BACZmZ,GAAa,uBAAGnZ,UAAU,QAAb,aACbmZ,GACC,kBAAC,KAAD,CACE/Y,GAAG,oBACHi1C,SAAO,EACPl2C,OACgB,OAAd0hF,SAAc,IAAdA,QAAA,EAAAA,GAAgB1hF,QAKU,QAJ1B,UAAAhB,GACG8L,OACAC,WACA2F,KAAKwxE,qBAHR,mBAGuBl+D,MAAK,SAACtb,GAAD,MAAkB,OAAXA,EAAEy5E,eAHrC,eAIIE,mBACA,CAACX,IACD35E,EAAO0zE,kBAEb50E,KAAK,oBACLmU,QAASmQ,GACTtqB,UAAU,qBACVs1C,gBAAgB,SAChBjmC,SAAU,SAACC,GACT,IAAIwd,EAAM,GACNw2D,EAAe,GACD,KAAb,OAADh0E,QAAC,IAADA,OAAA,EAAAA,EAAGzG,SACLqK,EAAc,oBAAqB,IACnCrO,OAAO0+E,sBAAwB,GAC/B1+E,OAAO2+E,eAAiB,eACxB3+E,OAAO87E,8BAAgC,GACvCztE,EAAc,oBAAqB,IACnC4tE,GAAkB,OACH,OAANxxE,GACTA,EAAEpO,SAAQ,SAAC8C,EAAMC,GACfq/E,EAAax6E,KAAK9E,EAAKR,OACvBspB,IACa,IAAV7oB,EAAc,eAAiB,gBAChCD,EAAK7E,SAET2hF,GAAkBh0D,GAClBjoB,OAAO0+E,sBAAwBD,EAC/Bz+E,OAAO2+E,eAAiB12D,EACxB5Z,EAAc,oBAAqB5D,KAEnCwxE,GAAkB,MAClBj8E,OAAO0+E,sBAAwB,GAC/B1+E,OAAO2+E,eAAiB,eACxB3+E,OAAO87E,8BAAgC,GACvCztE,EAAc,oBAAqB,KAErC6P,QAKR,yBAAK/iB,UAAU,sDACb,uBAAGA,UAAU,QAAb,WACA,kBAAC,KAAD,CACEka,aAAW,EACXlU,KAAK,YACL5F,GAAG,YACHoD,MAAM,UACN+nB,QAAQ,sBACRpsB,MAAOwY,GACP6J,aAAcy+D,EAAuB1wE,QACnC,SAAChG,GAAD,OACE/H,OAAO+H,EAAEpK,SACTqC,OAAOqD,OAAOi1D,iCAElB1qD,YAAY,UACZ+K,QAAS8lE,EACT5wE,SAAU,SAACC,GAAO,IAAD,EACfsI,GAAatI,GAAK,CAAEnQ,MAAO,GAAIqE,MAAO,WACtCw+E,GAAU,CAAE7iF,MAAO,GAAIqE,MAAO,WAC9B0D,EAAOu8E,kBAAmB,EAC1B5+E,OAAOi1D,6BAAP,OAAsCxqD,QAAtC,IAAsCA,OAAtC,EAAsCA,EAAGnQ,MACzC0F,OAAOk8E,+BAAP,OAAwCzxE,QAAxC,IAAwCA,OAAxC,EAAwCA,EAAG9L,MAC3C0P,EAAc,YAAD,OAAc5D,QAAd,IAAcA,OAAd,EAAcA,EAAGnQ,OAC9B+T,EAAc,iBAAkB,GAChCA,EAAc,iBAAkB,GAChCA,EAAc,kBAAmB,GACjCA,EAAc,kBAAmB,GACjCrO,OAAO6+E,wBAA0B,GACjC7+E,OAAOg1D,0BAA4B,GACnCh1D,OAAO8+E,kCAAoC,GAC3C9+E,OAAOq8E,4BAA8B,GACrCr8E,OAAO++E,8BAAgC,MACvC7gE,IACA,IAAIxZ,EAAI42E,EAAiB5wE,QAAO,SAAChG,GAAD,OAAOA,EAAE3F,MAAF,OAAS0L,QAAT,IAASA,OAAT,EAASA,EAAGnQ,WAC/C,UAAAoK,EAAE,UAAF,eAAM6Q,MAAMvR,QAAS,GACvB42E,EAAiBl2E,EAAE,GAAG6Q,OACtB0lE,EACEv2E,EAAE,GAAG6Q,MAAMrW,KAAI,SAACgnB,GAAD,MAAiB,CAC9B5rB,MAAO4rB,EAAWnnB,GAClBJ,MAAOunB,EAAWlnB,UAGtBm8E,EAA+B,IAC/BiB,GAA+B,IAC/BP,EAAgC,MAEhC9gF,YACE,UACA,sCAEFkgF,EAAuB,IACvBE,EAA+B,IAC/BiB,GAA+B,IAC/BP,EAAgC,SAKxC,yBAAK1gF,UAAU,uDACb,uBAAGA,UAAU,QAAb,QACA,kBAAC,KAAD,CACEgG,KAAK,SACL5F,GAAG,SACH8Z,aAAW,EACX1W,MAAM,OACNrE,MAAO8jF,GACP13D,QAAQ,sBACR/J,aAAcq+D,EAAoBtwE,QAChC,SAAChG,GAAD,OACE/H,OAAO+H,EAAEpK,SACTqC,OAAOqD,OAAOg1D,8BAElBzqD,YAAY,OACZ+K,QAAS0lE,EACTxwE,SAAU,SAACC,GAET,GADApI,EAAOu8E,kBAAmB,EAChB,OAANn0E,EACF0yE,GAAU,CAAE7iF,MAAO,GAAIqE,MAAO,WAC9B0P,EAAc,iBAAkB,IAChCA,EAAc,iBAAkB,GAChCA,EAAc,kBAAmB,GACjCA,EAAc,kBAAmB,GACjCrO,OAAO6+E,wBAA0B,GACjC7+E,OAAOg1D,0BAA4B,GACnCh1D,OAAOq8E,4BAA8B,GACrCr8E,OAAO8+E,kCAAoC,GAC3C5gE,IACAi9D,EAA+B,IAC/BiB,GAA+B,IAC/BP,EAAgC,QAC3B,CACLsB,GAAU1yE,GACV4D,EAAc,iBAAkB5D,EAAEnQ,OAClC+T,EAAc,iBAAkB,GAChCA,EAAc,kBAAmB,GACjCA,EAAc,kBAAmB,GACjCrO,OAAO6+E,wBAA0Bp0E,EAAE9L,MACnCqB,OAAOg1D,0BAAP,OAAmCvqD,QAAnC,IAAmCA,OAAnC,EAAmCA,EAAGnQ,MACtC0F,OAAOq8E,4BAAP,OAAqC5xE,QAArC,IAAqCA,OAArC,EAAqCA,EAAG9L,MACxCqB,OAAO8+E,kCAAoC,GAC3C5gE,IACA,IAAIxZ,EAAIi2E,EAAcjwE,QAAO,SAAChG,GAAD,OAAOA,EAAE3F,MAAF,OAAS0L,QAAT,IAASA,OAAT,EAASA,EAAGnQ,UAC5CoK,EAAE,GAAG8Q,cAAcxR,OAAS,GAC9By3E,EAA0B/2E,EAAE,GAAG8Q,eAE/B2lE,EACEz2E,EAAE,GAAG8Q,cAActW,KAAI,SAACgnB,GAAD,MAAiB,CACtC5rB,MAAO4rB,EAAWnnB,GAClBJ,MAAOunB,EAAWlnB,UAGtBo9E,GAA+B,IAC/BP,EAAgC,MAEhC9gF,YACE,UACA,4CAEFogF,EAA+B,IAC/BiB,GAA+B,IAC/BP,EAAgC,UAM1C,yBAAK1gF,UAAU,sDACb,uBAAGA,UAAU,QAAb,iBACA,kBAAC,KAAD,CACEgG,KAAK,iBACL5F,GAAG,iBACH8Z,aAAW,EACX1W,MAAM,eACN+nB,QAAQ,sBACRnc,YAAY,eACZoS,aAAcq+D,EAAoBtwE,QAChC,SAAChG,GAAD,OAAOA,EAAEpK,QAAU0F,OAAO8+E,qCAE5BxkF,MAAOm4D,GACPn9C,QAAS4lE,EACT1wE,SAAU,SAACC,GAET,GADApI,EAAOu8E,kBAAmB,EAChB,OAANn0E,EACF4zE,GAAkB,CAAE/jF,MAAO,GAAIqE,MAAO,WACtC0P,EAAc,iBAAkB,GAChCA,EAAc,kBAAmB,GACjCA,EAAc,kBAAmB,GACjCrO,OAAO8+E,kCAAoC,GAC3C5gE,IACAk+D,GAA+B,IAC/BP,EAAgC,QAC3B,CACLwC,GAAkB5zE,GAClB4D,EAAc,iBAAD,OAAmB5D,QAAnB,IAAmBA,OAAnB,EAAmBA,EAAGnQ,OACnC+T,EAAc,kBAAmB,GACjCA,EAAc,kBAAmB,GACjCrO,OAAO8+E,kCAAoCr0E,EAAEnQ,MAC7C4jB,IACA,IAAIxZ,EAAI82E,EAAuB9wE,QAC7B,SAAChG,GAAD,OAAOA,EAAE3F,MAAF,OAAS0L,QAAT,IAASA,OAAT,EAASA,EAAGnQ,UAEjBoK,EAAE,GAAG+Q,eAAezR,OAAS,GAC/B23E,EAA0Bj3E,EAAE,GAAG+Q,gBAC/BomE,EACEn3E,EAAE,GAAG+Q,eAAevW,KAAI,SAACgnB,GAAD,MAAiB,CACvC5rB,MAAO4rB,EAAWnnB,GAClBJ,MAAOunB,EAAWlnB,UAGtBo9E,GAA+B,MAE/BrhF,YACE,UACA,sDAEFqhF,GAA+B,IAC/BP,EAAgC,UAM1C,yBAAK1gF,UAAU,mCACb,uBAAGA,UAAU,QAAb,kBACA,kBAAC,KAAD,CACEka,aAAW,EACXlU,KAAK,kBACL5F,GAAG,kBACHoD,MAAM,iBACN+nB,QAAQ,sBACRnc,YAAY,iBACZjQ,MACEshF,EAA6BlxE,QAC3B,SAAChG,GAAD,OAAOA,EAAEpK,QAAU+H,EAAOm7E,oBACvB,GAEPloE,QAASsmE,EACTpxE,SAAU,SAACC,GAET,GADApI,EAAOu8E,kBAAmB,EAChB,OAANn0E,EACF4D,EAAc,kBAAD,OAAoB5D,QAApB,IAAoBA,OAApB,EAAoBA,EAAGnQ,OACpC+T,EAAc,kBAAmB,GAEjC6P,IACAk+D,GAA+B,QAC1B,CACL/tE,EAAc,kBAAD,OAAoB5D,QAApB,IAAoBA,OAApB,EAAoBA,EAAGnQ,OACpC+T,EAAc,kBAAmB,GAEjC6P,IACA,IAAIxZ,EAAIg3E,EAAuBhxE,QAC7B,SAAChG,GAAD,OAAOA,EAAE3F,MAAF,OAAS0L,QAAT,IAASA,OAAT,EAASA,EAAGnQ,UAEjBoK,EAAE,GAAGgR,eAAe1R,OAAS,EAC/Bo4E,GACE13E,EAAE,GAAGgR,eAAexW,KAAI,SAACgnB,GAAD,MAAiB,CACvC5rB,MAAO4rB,EAAWnnB,GAClBJ,MAAOunB,EAAWlnB,WAItBjE,YACE,UACA,uDAEFqhF,GAA+B,UAMzC,yBAAKjhF,UAAU,mCACb,uBAAGA,UAAU,QAAb,kBACA,kBAAC,KAAD,CACEka,aAAW,EACXlU,KAAK,kBACL5F,GAAG,kBACHoD,MAAM,iBACN+nB,QAAQ,sBACRnc,YAAY,iBACZjQ,MACE6hF,GAA4BzxE,QAC1B,SAAChG,GAAD,OAAOA,EAAEpK,QAAU+H,EAAOo7E,oBACvB,GAEPnoE,QAAS6mE,GACT3xE,SAAU,SAACC,GACTpI,EAAOu8E,kBAAmB,EAChB,OAANn0E,GACF4D,EAAc,kBAAmB,IAEjC6P,MAEA7P,EAAc,kBAAD,OAAoB5D,QAApB,IAAoBA,OAApB,EAAoBA,EAAGnQ,OAEpC4jB,SAKR,yBAAK/iB,UAAU,mCACb,uBAAGA,UAAU,QAAb,aACA,kBAAC,KAAD,CACEka,aAAW,EACXlU,KAAK,WACL5F,GAAG,WACHoD,MAAM,YACN+nB,QAAQ,sBACRnc,YAAY,YACZ+K,QAAS+nE,GACT7yE,SAAU,SAACC,GACTpI,EAAOu8E,kBAAmB,EAChB,OAANn0E,GACF4D,EAAc,WAAY,IAE1B6P,MAEA7P,EAAc,WAAD,OAAa5D,QAAb,IAAaA,OAAb,EAAaA,EAAGnQ,OAE7B4jB,SAMR,yBAAK/iB,UAAU,mCACb,uBAAGA,UAAU,QAAb,eACA,kBAAC,KAAD,CACEka,aAAW,EACXlU,KAAK,gBACL5F,GAAG,gBACHoD,MAAM,cACN+nB,QAAQ,sBACRnc,YAAY,cACZ+K,QAAS6+C,GACT75D,MAAO65D,GAAkBzpD,QACvB,SAAChG,GAAD,OAAO/H,OAAO+H,EAAEpK,SAAW+H,EAAOwwD,iBAEpCroD,SAAU,SAACC,GACTpI,EAAOu8E,kBAAmB,EAChB,OAANn0E,GACF4D,EAAc,gBAAiB,WAC/B6P,MAEA7P,EAAc,gBAAD,OAAkB5D,QAAlB,IAAkBA,OAAlB,EAAkBA,EAAGnQ,OAClC4jB,SAMR,yBAAK/iB,UAAU,gDACb,+CACA,kBAAC,mBAAD,CACEiL,UAAW83E,GACX53E,QAAS63E,GACT3zE,SAAU,SAACpE,EAAWE,GACpBg4E,GAAkBl4E,GAClBm4E,GAAgBj4E,GAChBjE,EAAOu8E,kBAAmB,EAC1B5+E,OAAO6qE,oBACLjkD,GAAWxgB,GAAa,SAC1BiI,EACE,YACAuY,GAAWxgB,GAAa,UAE1BiI,EAAc,UAAWuY,GAAWtgB,GAAW,UAC/C4X,KAEFi3C,WAAW,aACXC,QAAS,IAAIt4D,KAAK,KAAM,EAAG,GAC3Bu4D,QAAS,IAAIv4D,KAAK,KAAM,EAAG,GAC3B69C,qBAAqB,aACrBC,mBAAmB,WACnBtsC,UAAU,EACVnT,UAAU,oBACVm6D,aAAa,YAIqB,IAArCt1D,OAAOu6E,2BAC6B,IAArCv6E,OAAOu6E,0BACL,yBAAKp/E,UAAU,mCACb,uBAAGA,UAAU,QAAb,YACA,kBAAC,KAAD,CACEka,aAAW,EACXlU,KAAK,UACL5F,GAAG,UACHoD,MAAM,UACNrE,MACEgjF,GAAoB5yE,QAClB,SAAChG,GAAD,OAAOA,EAAEpK,QAAU+H,EAAOwvB,YACvB,GAEPnL,QAAQ,sBACRnc,YAAY,UACZ+K,QAASgoE,GACT9yE,SAAU,SAACC,GACTpI,EAAOu8E,kBAAmB,EAChB,OAANn0E,GACF4D,EAAc,UAAW,IAEzB6P,MAEA7P,EAAc,UAAD,OAAY5D,QAAZ,IAAYA,OAAZ,EAAYA,EAAGnQ,OAE5B4jB,SAMR,GAEF,yBAAK/iB,UAAU,uDACb,8CACA,kBAAC,KAAD,CACEgG,KAAK,WACLqJ,SAAU,SAACC,GACT,IAAInQ,EAAK,OAAGmQ,QAAH,IAAGA,OAAH,EAAGA,EAAGnQ,MAEbA,EADY,IAAVA,IAEiB,IAAVA,GAGD,MAEV0F,OAAOw1D,4BAA8Bl7D,EAC3B,OAANmQ,EACF+pD,GAAY/pD,IAEZ+pD,GAAY,CAAEl6D,MAAO,GAAIqE,MAAO,SAChCqB,OAAOw1D,4BAA8B,MAEvCnzD,EAAOu8E,kBAAmB,EAC1BvwE,EAAc,UAAW/T,GACzB4jB,KAEF7I,aAAW,EACXC,QAASkpE,GACTlkF,MAAOi6D,MAGX,yBAAKp5D,UAAU,4DACb,yBAAKA,UAAU,OACb,yBAAKA,UAAU,wCACb,kBAAC,IAAD,CACEA,UAAU,oBACVb,MAAO+H,EAAOy7E,MACd1jF,KAAM,MACN63B,QAAS5vB,EAAOy7E,MAChBviF,GAAG,iBACHiP,SAAU,SAACC,GACTpI,EAAOu8E,kBAAmB,EAC1BvwE,EAAc,QAAS5D,EAAEM,OAAOknB,SAChCjyB,OAAOg/E,uBAAP,UAAmCv0E,EAAEM,OAAOknB,SAC5C/T,OAGJ,0BAAM/iB,UAAU,YAAYoE,MAAO,CAAEkS,UAAW,WAC9C,uBAAGtW,UAAU,gCAGjB,yBAAKA,UAAU,wCACb,kBAAC,IAAD,CACEA,UAAU,eACVf,KAAM,SACNmB,GAAG,+BACHjB,MAAO+H,EAAOs7E,oBACd1rD,QAAS5vB,EAAOs7E,oBAChBnzE,SAAU,SAACC,GACTpI,EAAOu8E,kBAAmB,EAC1BvwE,EAAc,sBAAuB5D,EAAEM,OAAOknB,SAC9CjyB,OAAOi/E,0BAAP,UAAsCx0E,EAAEM,OAAOknB,SAC/C/T,OAGJ,0BAAM/iB,UAAU,YAAYoE,MAAO,CAAEkS,UAAW,WAC9C,uBAAGtW,UAAU,2CAGjB,yBAAKA,UAAU,wCACb,kBAAC,IAAD,CACEA,UAAU,eACVf,KAAM,QACNmB,GAAG,kBACHjB,MAAO+H,EAAO07E,QACd9rD,QAAS5vB,EAAO07E,QAChBvzE,SAAU,SAACC,GACTpI,EAAOu8E,kBAAmB,EAC1BvwE,EAAc,UAAW5D,EAAEM,OAAOknB,SAClCjyB,OAAOk/E,yBAAP,UAAqCz0E,EAAEM,OAAOknB,SAC9C/T,OAGJ,0BAAM/iB,UAAU,YAAYoE,MAAO,CAAEkS,UAAW,WAC9C,uBAAGtW,UAAU,sCAGjB,yBAAKA,UAAU,UACb,kBAAC,IAAD,CACEA,UAAU,eACVf,KAAM,SACNmB,GAAG,iBACHjB,MAAO+H,EAAOw7E,OACd5rD,QAAS5vB,EAAOw7E,OAChBrzE,SAAU,SAACC,GACTpI,EAAOu8E,kBAAmB,EAC1B5+E,OAAO21D,0BAA4BlrD,EAAEM,OAAOknB,QAC5C5jB,EAAc,SAAU5D,EAAEM,OAAOknB,SACjC/T,OAGJ,0BAAM/iB,UAAU,YAAYoE,MAAO,CAAEkS,UAAW,WAC9C,uBAAGtW,UAAU,yCAKrB,yBACEA,UAAU,8CACVoE,MAAO,CAAEyN,cAAe,UAExB,uBACEnJ,KAAM,kBAAM,GACZ+D,QAAS,SAACwH,GACR,IACEf,EAAc,YAAa,IAC3BrO,OAAOk8E,+BAAiC,GACxCl8E,OAAO0+E,sBAAwB,GAC/B1+E,OAAOi1D,6BAA+B,GACtCj1D,OAAOq8E,4BAA8B,GACrCr8E,OAAOg1D,0BAA4B,GACnCh1D,OAAO8+E,kCAAoC,GAC3C/rE,GAAa,CAAEzY,MAAO,GAAIqE,MAAO,WACjCw+E,GAAU,CAAE7iF,MAAO,GAAIqE,MAAO,WAC9B0P,EAAc,SAAU,IACxBrO,OAAOg1D,0BAA4B,GACnC3mD,EAAc,iBAAkB,IAChCgwE,GAAkB,CAAE/jF,MAAO,GAAIqE,MAAO,WACtC0P,EAAc,kBAAmB,IACjCA,EAAc,kBAAmB,IAEjCA,EAAc,aAAc,IAC5BrO,OAAO80D,eAAiB,GACxBzmD,EAAc,oBAAqB,IACnC4tE,GAAkB,MAClBj8E,OAAO2+E,eAAiB,eAExBtwE,EAAc,gBAAiB,WAG/BiwE,GAAkB,MAClBC,GAAgB,MAEhBlwE,EAAc,SAAS,GACvBA,EAAc,WAAW,GACzBA,EAAc,uBAAuB,GAErCA,EAAc,WAAW,GACzBmmD,GAAY,CAAEl6D,MAAO,GAAIqE,MAAO,SAChC0P,EAAc,UAAU,GACxBrO,OAAO87E,8BAAgC,GACvC97E,OAAOs8E,gBAAiB,EACxBt8E,OAAOg/E,wBAAyB,EAChCh/E,OAAOk/E,0BAA2B,EAClCl/E,OAAOi/E,2BAA4B,EACnCj/E,OAAO21D,2BAA4B,EACnC31D,OAAOw1D,6BAA8B,EACrCx1D,OAAOk9E,qBAAkBj8E,EACzBid,IACA,MAAOljB,MAEXG,UAAU,mCAEV,uBAAGmE,MAAM,uBApDX,mBAyDJ,yBAAKnE,UAAU,4BACb,yBAAKA,UAAU,mCACb,2BAAOA,UAAU,QAAjB,YAEE,+BAAK6E,OAAO++E,8BAAZ,eAEF,2BAAO5jF,UAAU,QAAjB,YACY,IACV,gCACoC8F,IAAjCjB,OAAO0+E,uBACyB,KAAjC1+E,OAAO0+E,sBACH1+E,OAAO0+E,sBAAsBx/E,KAAI,SAACC,GAAD,OAAUA,EAAO,UAClDa,OAAO0+E,sBACP,SAIR,2BAAOvjF,UAAU,QAAjB,YACW,2BAAI6E,OAAOk8E,iCAEtB,2BAAO/gF,UAAU,QAAjB,SACQ,2BAAI6E,OAAOq8E,8BAEnB,2BAAOlhF,UAAU,QAAjB,QACO,2BAAI6E,OAAOg/E,yBAElB,2BAAO7jF,UAAU,QAAjB,WACU,2BAAI6E,OAAOi/E,4BAErB,2BAAO9jF,UAAU,QAAjB,UACS,2BAAI6E,OAAOk/E,kC,mzMC3sCpC,IAAM9lF,GAAU,IAAIC,IAAa,MAC3BC,GAAKC,IAAIH,IAEA,SAAS+lF,GAAT,GAAmD,IAAD,EAArB/oE,EAAqB,EAArBA,KAAM7J,EAAe,EAAfA,KAAMC,EAAS,EAATA,OACtD,EAA4BrE,mBAAS,MAArC,mBAAOo6C,EAAP,KAAeC,EAAf,KACA,EAAsCr6C,mBAAS,+BAAD,OAAgCiO,EAAKlX,KAAI,SAAAC,GAAI,OAAEA,KAAM0D,KAAK,QAAxG,mBAAO8/C,EAAP,KAAoBC,EAApB,KACA,EAAwCz6C,oBAAS,GAAjD,mBAAOs6C,EAAP,KAAqBC,EAArB,KACA,EAAgCv6C,mBAASlG,IAAzC,mBAAO4gD,EAAP,KAAiBC,EAAjB,KACA,EAA0C36C,oBAAS,GAAnD,mBAAO86C,EAAP,KAAsBC,EAAtB,KACA,EAAsC/6C,oBAAS,GAA/C,mBAAOi3E,EAAP,KAAoBC,EAApB,KACA,EAAoDl3E,mBAAS,IAA7D,mBAAOm3E,EAAP,KAA2BC,EAA3B,KACA,EAAoEp3E,mBAAS,IAA7E,mBAAOq3E,EAAP,KAAmCC,EAAnC,KACA,EAA4Ct3E,mBAAS,IAArD,mBAAO46C,GAAP,KAAuBC,GAAvB,KAEA,GAAkD76C,mBAAS,IAA3D,qBAAOu3E,GAAP,MAA0BC,GAA1B,MAGMj/D,GAAW0L,cACT5N,GAAcC,aACpB,SAAChE,GAAD,MAAY,CAAE+D,UAAW/D,EAAM2Y,SAAS1W,kBACxCkC,KAFMJ,UAIR,SAASoI,GAAW7pB,GAClB,GAAIA,EAAM,CACR,IAAIoK,EAAI,IAAIrK,KAAKC,GACf8pB,EAAQ,IAAM1f,EAAEjK,WAAa,GAC7B6J,EAAM,GAAKI,EAAEhK,UACb2pB,EAAO3f,EAAE/J,cAEPypB,EAAM7iB,OAAS,IAAG6iB,EAAQ,IAAMA,GAChC9f,EAAI/C,OAAS,IAAG+C,EAAM,IAAMA,GAEhC,IAAMuD,EAAS,CAACuc,EAAO9f,EAAK+f,GAAMjkB,KAAK,KACvC,MAAe,gBAAXyH,EACKA,EAEA,aAGT,MAAO,GAGX2E,qBAAU,WAEN,IAAI2wE,EAAY,GAEhBxpE,EAAKlX,KAAI,SAACC,EAAKC,GACXwgF,IAAwB,IAAVxgF,EAAA,iBAAmCD,KAErDqQ,MAAM,UAAGxP,OAAOyP,QAAV,+BAAiDmwE,EAAW,CAChElwE,OAAQ,MACRC,iBAAiB,EACjBC,QAAS,CACPiL,OAAQ,oCACRhL,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,sBAGjBC,KAVH,wCAUQ,WAAOC,GAAP,0FACqBA,EAASE,OAD9B,cACED,EADF,gBAEeD,EAAS1N,OAFxB,cAEE5E,EAFF,yBAGGyS,QAAQC,IAAI,CAACH,EAAYvS,KAH5B,2CAVR,uDAeGqS,MAAK,SAACM,GACL,IAAI3L,EAAI2L,EAAI,GACR4X,EAAM,GACNolC,EAAO,GACR3oD,EAAEm7E,kBACHn7E,EAAEqgD,OAAO7lD,KAAI,SAACC,EAAMC,GAClB6oB,EAAIhkB,KAAK,CAAE3J,MAAO6E,EAAKkgC,MAAO1gC,MAAOQ,EAAKkgC,QAC1CguB,EAAKppD,KAAK,CAAEo7B,MAAOlgC,EAAKkgC,MAAOrgC,KAAMG,EAAKkgC,WAE5CkgD,EAAsBt3D,GACtBw3D,EAA8Bx3D,GAC9Bu6B,EAAU6K,KAEVtyD,YAAa,QAAQ,mDACrByR,QAGH8D,OAAM,SAAC5K,GACNnH,QAAQmH,MAAMA,MAGlB,IAAMo6E,EAAiB9/E,OAAO+/E,kBAC9B,IACE,GAAGD,EAAc,CACf,IAAME,EAAY,GAClB5pE,EAAKpS,OAAS,GACZoS,EAAKlX,KAAI,SAACC,GACR,IAAM8gF,EAAkBH,EAAcxhE,MAAK,SAACtb,GAAD,OAAOA,EAAEjE,IAAMI,KAC1D6gF,EAAU/7E,KAAK,CACb0zD,UAAS,OAAGsoB,QAAH,IAAGA,OAAH,EAAGA,EAAiB7uB,gBAC7B5a,SAAQ,OAAGypC,QAAH,IAAGA,OAAH,EAAGA,EAAiB3kE,aAC5B4kE,eAAc,OAAGD,QAAH,IAAGA,OAAH,EAAGA,EAAiBtU,kBAClC95C,QAAO,OAAGouD,QAAH,IAAGA,OAAH,EAAGA,EAAiBhU,YAC3BkU,SAAWv5D,GAAU,OAACq5D,QAAD,IAACA,OAAD,EAACA,EAAiB3d,kCACvCvjE,GAAKkhF,EAAgBlhF,QAGzB4gF,GAAqBK,GAAa,KAEvC,MAAMhlF,OACR,CAACob,IAKJnH,qBAAU,WACRowE,EAAe9yE,KACd,CAACA,IAQJ0C,qBAAU,cAAW,CAACuP,GAAWkC,KAEjC,IAAMotD,GAAa,wCAAG,4FAEL,OAAXvrB,EAFgB,uBAGlBxnD,YAAa,QAAS,0BAHJ,iCAMpBmoD,GAAiB,GAEXxlD,EAAO,CACXqnD,OAAQxC,EACRkD,QAAS9C,EACT/1C,KAAI,OAAEi2C,QAAF,IAAEA,IAAY5gD,GAClByjD,UAAWjD,EACX+C,IAAIpvC,EAAKlX,KAAI,SAAAC,GAAI,OAAEA,EAAKJ,MACxB4mD,YAAc5C,IAEZgD,EAAM7pD,KAAKE,UAAUsB,GACrBiT,EAAiB,CACnBjB,OAAQ,OACRnV,KAAMwrD,EACNn1C,SAAU,SACVjB,iBAAiB,EACjBC,QAAS,CACPC,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,qBAzBA,SA4BCN,MAAM,GAAD,OACrBxP,OAAOyP,QADc,mCAExBkB,GA9BkB,OAgCI,MAhCJ,OAgCPT,QACXnV,YAAa,UAAW,0CAA4Cqb,EAAKlX,KAAI,SAAAC,GAAI,OAAEA,KAAM0D,KAAK,MAK9FmgD,GAAkB,IAClBE,GAAiB,GACjB12C,MAEAzR,YAAa,QAAS,gBACtBioD,GAAkB,IAClBE,GAAiB,IA5CC,4CAAH,qDAiDf54C,GAASo1E,GAAkBxgF,KAAI,SAASC,GAC1C,MAAM,+IAAN,OAE2DA,EAAKw4D,UAFhE,yJAI2Dx4D,EAAKghF,SAJhE,+EAK2DhhF,EAAKq3C,SALhE,+EAM2Dr3C,EAAK0yB,QANhE,+EAO2D1yB,EAAKJ,GAPhE,gCAUEkD,GAAO,wHAGyDy9E,GAAkB17E,OAC9E,IAD4D,UAE5D07E,GAAkB,UAF0C,aAE5D,EACIQ,gBAND,0yBAmBD51E,GAnBC,uDAwBX,OACE,kBAACsX,EAAA,EAAD,CACErV,KAAM6yE,EACN5yE,OAAQ,aAGRC,kBAAgB,+BAChBH,KAAK,MAEJkS,IAAa,kBAAC,IAAD,CAAkBsQ,QAAQ,UACxC,kBAAClN,EAAA,EAAMlV,OAAP,KACE,kBAACkV,EAAA,EAAM9U,MAAP,CAAavR,GAAG,gCAAhB,iCAGA,kBAACi9B,EAAA,EAAD,CAEE7rB,aAAW,QACX/E,QAAS,WACP4E,MAGF,kBAAC,IAAD,QAGJ,kBAACoV,EAAA,EAAMhV,KAAP,KACG4R,IAAa,kEACd,kBAAC,IAAD,KACE,kBAAC,IAAD,CAAMrjB,UAAU,uCACd,yBAAKA,UAAU,aACb,yBAAKA,UAAU,OACb,yBAAKA,UAAU,aACb,uBAAGA,UAAU,QAAb,QACA,kBAAC,IAAD,CACEq1C,SAAO,EACPrvC,KAAK,KACL5F,GAAG,KACHJ,UAAU,qBACVs1C,gBAAgB,SAChBn7B,QAASgqE,EACThlF,MAAOklF,EACPh1E,SAAU,SAACC,GACT,IAAIwd,EAAM,GACNq+B,EAAc,GACd77C,GACFA,EAAEpO,SAAQ,SAAC8C,EAAMC,GACf6oB,EAAIhkB,KAAK,CAAEo7B,MAAOlgC,EAAKR,MAAOK,KAAMG,EAAK7E,QACzCgsD,EAAYriD,KAAK,CACf3J,MAAO6E,EAAK7E,MACZqE,MAAOQ,EAAK7E,WAIlBkoD,EAAUv6B,GACVw3D,EAA8Bn5B,MAGlC,kBAAC,IAAD,CACEzsC,KAAK,OACL1Y,KAAK,WACL/G,KAAK,mBACLoQ,SAAU,SAAC4E,GACTszC,EAAgBtzC,EAAMrE,OAAOknB,aAInC,yBAAK92B,UAAU,kBACb,uBAAGA,UAAU,QAAb,aACA,kBAAC,IAAD,CACEgG,KAAK,UACL0I,UAAW2f,IACXjf,YAAY,UACZjQ,MAAOqoD,EACPn4C,SAAU,SAAC4E,GACTwzC,EAAexzC,EAAMrE,OAAOzQ,WAIlC,yBAAKa,UAAU,kBACb,uBAAGA,UAAU,QAAb,UAEA,kBAAC,WAAD,CACEgG,KAAK,OACLpC,GAAG,OACHJ,MAAM,OACN4nD,OAAQC,IACRC,OAAQ,CACNC,cAAe,CACb,QACA,eACA,aACA,eACA,cACA,eAGJhpD,KAAMuE,GACNwsB,OAAQ,SAACrf,EAAOm3C,GACd,IAAM7oD,EAAO6oD,EAAOI,UAChBltD,EAAI,eAAWiE,EAAX,UACJ4N,EAAUzK,KAAEpH,GACZ2mF,EAAM90E,EAAQgT,KAAK,sBACvB8hE,EAAItxC,IAAI,SAAU,mBAClBsxC,EAAItxC,IAAI,YAAa,QACrBsxC,EAAItxC,IAAI,UAAW,OACnBr1C,EAAO6R,EAAQ7R,OACf8E,QAAQC,IAAI,QACZD,QAAQC,IAAI/E,GACZqpD,EAAYrpD,YAS5B,kBAACmoB,EAAA,EAAM/U,OAAP,KACE,6BACE,4BACE3O,KAAK,SACL0J,QAAS,WACP4E,KAEFrR,UAAU,6BALZ,UASA,yCACA,4BACE+C,KAAK,SACL0J,QAASkmE,GACTx/D,SAAU20C,EACV9nD,UAAU,8BAJZ,aAOG8nD,GACC,kBAAChI,EAAA,EAAD,CACEz/C,GAAG,OACHorD,UAAU,SACVt6C,KAAK,KACL2tB,KAAK,SACL4sB,cAAY,aC3WrB,SAASp2B,KAEd,IAAMxE,EAAqB3B,IACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACL9L,IAAK4L,EAAmB5L,IACxBuK,OAAQqB,EAAmBrB,OAC3BgB,0BAA2BK,EAAmBL,0BAC9CC,yBAA0BI,EAAmBJ,yBAC7CC,gCACEG,EAAmBH,mCAEtB,CAACG,IACJ,EAAkD9jB,oBAAS,GAA3D,mBAAOk4E,EAAP,KAA0BC,EAA1B,KACA,OACE,yBAAKnlF,UAAU,QACb,yBAAKA,UAAU,4EACb,yBAAKA,UAAU,aACb,yBAAKA,UAAU,gCACb,yBAAKA,UAAU,iCACb,2BAAOA,UAAU,yBACf,yDAC0B,2BAAI+wB,EAAiB7L,IAAIrc,cAOnB,WAAzChE,OAAO++E,+BACN7yD,EAAiB7L,IAAIrc,OAAS,GAC5B,yBAAK7I,UAAU,kBACb,yBAAKA,UAAU,YACb,4BACE+C,KAAK,SACL/C,UAAU,kCACVyM,QAAS,WACP04E,GAAqB,KAJzB,qBAYPD,GACC,kBAAClB,GAAD,CAAmB/oE,KAAM8V,EAAiB7L,IAAK9T,KAAM8zE,EAAmB7zE,OAAQ8zE,EAAqBrmE,MAAK,M,gJCT9G9c,GAAU,SAASgK,GACrB,GAAU,OAANA,GAAoB,KAANA,QAAkBlG,IAANkG,EAAiB,MAAO,GACtD,IAAIxC,EAAS,qBAQb,OANEjI,KAAOyK,GACJC,QAAQ,OACRC,YAAc3K,KAAOyK,GAAGE,YAE3B1C,EAAS,cAGT,0BAAMxJ,UAAU,mDACbuB,KAAOyK,GAAGxC,OAAOA,KAKjB,SAAS47E,KAEd,IAAMt0D,EAAqB3B,IACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACL9L,IAAK4L,EAAmB5L,IACxBuK,OAAQqB,EAAmBrB,OAC3BnK,YAAawL,EAAmBxL,YAChCoK,eAAgBoB,EAAmBpB,eACnCa,uBAAwBO,EAAmBP,uBAC3CC,yBAA0BM,EAAmBN,4BAE9C,CAACM,IACJhd,qBAAU,WACRo8D,EAAYrrE,OAAOu6E,6BAClB,CAACv6E,OAAOu6E,4BACX,MAA0DpyE,oBAAS,GAAnE,mBAAOq4E,EAAP,KAA8BC,EAA9B,KACA,EAAsDt4E,oBAAS,GAA/D,mBAAOu4E,EAAP,KACA,GADA,KACmDv4E,oBAAS,IAA5D,mBAAOmjE,EAAP,KAA4B7U,EAA5B,KACA,EAAkDtuD,oBAAS,GAA3D,mBAAOojE,EAAP,KAA2B1U,EAA3B,KACA,EAAwB1uD,oBAAS,GAAjC,mBAAOqjE,EAAP,KAAe1U,EAAf,KACA,EAA0B3uD,oBAAS,GAAnC,mBAAOizD,EAAP,KAAgB5E,EAAhB,KACA,EAA0BruD,mBAAS,MAAnC,mBAAOU,EAAP,KAAgBwyD,EAAhB,KACA,EAAgClzD,mBAAS,MAAzC,mBAAOw4E,EAAP,KAAiB/pB,EAAjB,KACA,EAAgCzuD,mBAAS,GAAzC,mBAAOgmD,EAAP,KAAiBkd,EAAjB,KAGQ37C,EAAiBjR,aACvB,SAAChE,GAAD,MAAY,CAAEiV,aAAcjV,EAAMiE,aAClCE,KAFM8Q,aAIA3Q,EAAsC2Q,EAAtC3Q,WAAYC,EAA0B0Q,EAA1B1Q,SAAUL,EAAgB+Q,EAAhB/Q,YAGxB+B,EAAW0L,cACjBnd,qBAAU,WAERid,EAAiBtB,OAAO,IACxB/pB,KAAE,oCAAoC+nB,KAAK,WAAW,GAEtDlI,EAAStB,IAAuB8M,EAAiBzL,gBAEhD,CAACyL,EAAiBzL,YAAaC,IAElC,IAAMkgE,EAAe,CACnB,CACEr5E,UAAW,KACXnN,KAAM,IACNoN,UAAW,SAACC,EAAM9E,GAChB,IAAMyc,EAAU,CACdsM,uBAAwBQ,EAAiBR,uBACzCC,yBAA0BO,EAAiBP,yBAC3C8qC,oBAAqBA,EACrBI,oBAAqBA,EACrBL,OAAQA,EACRM,MAAOA,EACPhuD,WAAYuyD,EACZzE,YAAaA,GAEf,OAAO,kBAAC,KAAD,CAAgBnvD,KAAMA,EAAM9E,IAAKA,EAAK4zD,aAAcn3C,MAG/D,CACE7X,UAAW,KACXnN,KAAM,KACNyN,MAAM,EACNC,UAAWA,KACXN,UAAW,SAACC,EAAM9E,GAChB,OAAO,kBAAC,KAAD,CAAqBA,IAAKA,MAGrC,CACE4E,UAAW,kBACXnN,KAAM,iBACNyN,MAAM,EACNC,UAAWA,MAEb,CACEP,UAAW,eACXnN,KAAM,WACNyN,MAAM,EACNC,UAAWA,KACXN,UAAW,SAACC,EAAM9E,GAChB,GACuB,OAArBA,EAAI8oE,cACiB,KAArB9oE,EAAI8oE,mBACiBxqE,IAArB0B,EAAI8oE,aAEJ,OACE,oCACG9oE,EAAI8oE,aAAe,IACpB,kBAAC72B,GAAA,EAAD,CACEjtC,QACE,kBAAC4wB,GAAA,EAAD,CAASh9B,GAAG,yBACToH,EAAI2Y,eAIT,uBACEzX,KAAM,kBAAM,GACZ1I,UAAU,iDAEV,0BAAMA,UAAU,sCACd,kBAAC,KAAD,CACEwI,IAAKC,aACH,iDAWpB,CACE2D,UAAW,cACXnN,KAAM,0BACNyN,MAAM,EACNC,UAAWA,KACXN,UAAW,SAACC,EAAM9E,GAChB,IAAI+oE,GACyB,OAA1B/oE,EAAIgpE,kBAA6BhpE,EAAIgpE,kBAAoB,IAC1D,IACAhpE,EAAI2/B,UACe,OAAlB3/B,EAAI4/B,WAAwC,KAAlB5/B,EAAI4/B,UAC3B,KAAO5/B,EAAI4/B,UACX,IACN,GAC4B,OAA1B5/B,EAAIgpE,mBACsB,KAA1BhpE,EAAIgpE,wBACsB1qE,IAA1B0B,EAAIgpE,kBAEJ,OACE,oCACGhpE,EAAIipE,kBAAoB,IACzB,kBAACh3B,GAAA,EAAD,CACEjtC,QAAS,kBAAC4wB,GAAA,EAAD,CAASh9B,GAAG,yBAAyBmwE,IAE9C,uBACE7nE,KAAM,kBAAM,GACZ1I,UAAU,iDAEV,0BAAMA,UAAU,sCACd,kBAAC,KAAD,CACEwI,IAAKC,aACH,iDAWpB,CACE2D,UAAW,gBACXnN,KAAM,4BACNyN,MAAM,EACNC,UAAWA,KACXN,UAAW,SAACC,EAAM9E,GAChB,IAAI+oE,GAC8B,OAA/B/oE,EAAIkpE,uBACDlpE,EAAIkpE,uBACJ,IACJ,IACAlpE,EAAI6/B,QACa,OAAhB7/B,EAAI8/B,SAAoC,KAAhB9/B,EAAI8/B,QACzB,KAAO9/B,EAAI8/B,QACX,IACN,GACiC,OAA/B9/B,EAAIkpE,wBAC2B,KAA/BlpE,EAAIkpE,6BAC2B5qE,IAA/B0B,EAAIkpE,uBAEJ,OACE,oCACGlpE,EAAImpE,uBAAyB,IAC9B,kBAACl3B,GAAA,EAAD,CACEjtC,QAAS,kBAAC4wB,GAAA,EAAD,CAASh9B,GAAG,yBAAyBmwE,IAE9C,uBACE7nE,KAAM,kBAAM,GACZ1I,UAAU,iDAEV,0BAAMA,UAAU,sCACd,kBAAC,KAAD,CACEwI,IAAKC,aACH,iDAWpB,CACE2D,UAAW,gBACXnN,KAAM,iBACNyN,MAAM,EACNC,UAAWA,KACXqiD,OAAqB,IAAbgE,GAA+B,IAAbA,GAE5B,CACE5mD,UAAW,cACXnN,KAAM,eACNyN,MAAM,EACNsiD,OAAqB,IAAbgE,GAA+B,IAAbA,EAC1BrmD,UAAWA,KACXN,UAAW,SAACC,EAAM9E,GAChB,OAAO,oCAAGxF,GAAQwF,EAAIopE,gBAG1B,CACExkE,UAAW,sBACXnN,KAAM,wBACNyN,MAAM,EACNsiD,OAAqB,KAAbgE,EACRrmD,UAAWA,KACXN,UAAW,SAACC,EAAM9E,GAChB,OAAO,oCAAGxF,GAAQwF,EAAI8/D,wBAG1B,CACEl7D,UAAW,sBACXnN,KAAM,yBACNyN,MAAM,EACNsiD,OAAqB,IAAbgE,EACRrmD,UAAWA,KACXN,UAAW,SAACC,EAAM9E,GAChB,OAAO,oCAAGxF,GAAQwF,EAAIq/D,wBAG1B,CACEz6D,UAAW,wBACXnN,KAAM,sBACNyN,MAAM,EACNsiD,OAAqB,IAAbgE,EACRrmD,UAAWA,KACXN,UAAW,SAACC,EAAM9E,GAChB,OAAO,oCAAGxF,GAAQwF,EAAIgiD,0BAG1B,CACEp9C,UAAW,eACXnN,KAAM,iBACNyN,MAAM,EACNsiD,OAAqB,IAAbgE,EACRrmD,UAAWA,KACXN,UAAW,SAACC,EAAM9E,GAChB,OAAO,oCAAGxF,GAAQwF,EAAIs/D,iBAG1B,CACE16D,UAAW,0BACXnN,KAAM,uBACNyN,MAAM,EACNsiD,OAAqB,IAAbgE,GAA+B,KAAbA,EAC1BrmD,UAAWA,KACXN,UAAW,SAACC,EAAM9E,GAChB,OAAO,oCAAGxF,GAAQwF,EAAIqpE,4BAI1B,CACEzkE,UAAW,cACXnN,KAAM,eACN+vD,OAAqB,IAAbgE,EACRtmD,MAAM,EACNC,UAAWA,MAEb,CACEP,UAAW,SACXnN,KAAM,SACN+vD,OAAqB,IAAbgE,EACRtmD,MAAM,EACNC,UAAWA,KACXN,UAAW,SAACC,EAAM9E,GAChB,OAAO,oCAAGA,EAAIqW,UAGlB,CACEzR,UAAW,YACXnN,KAAM,YACNyN,MAAM,EACNC,UAAWA,KACXqiD,OAAqB,IAAbgE,GAEV,CACE5mD,UAAW,cACXnN,KAAM,UACN+vD,OAAqB,IAAbgE,EACRtmD,MAAM,EACNC,UAAWA,KACXN,UAAW,SAACC,EAAM9E,GAChB,GACsB,OAApBA,EAAIspE,aACgB,KAApBtpE,EAAIspE,kBACgBhrE,IAApB0B,EAAIspE,YAEJ,OACE,oCACGtpE,EAAIupE,YAAc,IACnB,kBAACt3B,GAAA,EAAD,CACEjtC,QACE,kBAAC4wB,GAAA,EAAD,CAASh9B,GAAG,yBACToH,EAAIspE,cAIT,uBACEpoE,KAAM,kBAAM,GACZ1I,UAAU,iDAEV,0BAAMA,UAAU,sCACd,kBAAC,KAAD,CACEwI,IAAKC,aACH,iDAWpB,CACE2D,UAAW,qBACXnN,KAAM,iBACNyN,MAAM,EACNC,UAAWA,MAEb,CACEP,UAAW,gBACXnN,KAAM,iBACN+vD,OAAqB,IAAbgE,EACRtmD,MAAM,EACNC,UAAWA,MAEb,CACEP,UAAW,SACXnN,KAAM,SACNyN,MAAM,EACNC,UAAWA,KACXN,UAAWmoB,KACXj0B,QAAS,cACTm0B,cAAe,cACftwB,MAAO,CACLuS,SAAU,UAGd,CACEvK,UAAW,SACXnN,KAAM,SACNmB,GAAI,sBACJG,QAAS,mBACTm0B,cAAe,mBACfhoB,MAAM,EACNC,UAAWA,KACXN,UAAWmoB,QAGdzzB,KAAKC,MAAMu6D,aAAayV,QAAQ,yBAA2B,IAAI9vE,SAC9D,SAAC2G,GACC,IAAM0B,EAAIk8E,EAAatiE,MACrB,SAAClH,GAAD,OAAQ,OAADA,QAAC,IAADA,OAAA,EAAAA,EAAG7P,YAAH,OAAe6P,QAAf,IAAeA,OAAf,EAAeA,EAAGhd,SAAU,OAAD4I,QAAC,IAADA,OAAA,EAAAA,EAAGuE,YAAH,OAAevE,QAAf,IAAeA,OAAf,EAAeA,EAAG5I,SAElDsK,IAAGA,EAAEylD,QAAU,OAADnnD,QAAC,IAADA,OAAA,EAAAA,EAAGmnD,UAAU,MAGnC,MAA8BhiD,mBAASy4E,GAAvC,oBAAOt5E,GAAP,MAAgB6jE,GAAhB,MAEMr7C,GAAoB,CACxBC,QAAQ,EACRC,UAAWjR,EACX2K,gBAAiBuG,IACjBC,YAAahE,EAAiBzL,YAAY0J,SAC1CgG,KAAMjE,EAAiBzL,YAAYyJ,YAErC,OACE,oCACE,kBAACtI,EAAA,EAAD,CACEtV,KAAK,KACLC,KAAMi0E,GAKN,kBAACrqB,GAAA,EAAD,CACEC,KAAMqqB,EACNpqB,eAAgBqqB,KAGpB,kBAAC,KAAD,CACEtU,YACE,yDACoB,uBAAG9sE,MAAM,oCAG/B/E,KACE,yBAAKY,UAAU,OACZmM,GAAQpI,KAAI,SAAC8D,GAAD,OACX,yBAAK7H,UAAU,SACb,kBAAC,IAAD,CACEA,UAAU,eACVf,KAAI,OAAE4I,QAAF,IAAEA,OAAF,EAAEA,EAAG5I,KACT63B,UAAS,OAACjvB,QAAD,IAACA,OAAD,EAACA,EAAGmnD,QACb3/C,SAAU,WACR,IAAI9F,EAAI4C,GACR5C,EAAErI,SAAQ,SAAC+a,IACJ,OAADA,QAAC,IAADA,OAAA,EAAAA,EAAG7P,YAAH,OAAe6P,QAAf,IAAeA,OAAf,EAAeA,EAAGhd,SAAU,OAAD4I,QAAC,IAADA,OAAA,EAAAA,EAAGuE,YAAH,OAAevE,QAAf,IAAeA,OAAf,EAAeA,EAAG5I,QAC/Cgd,EAAE+yC,QAAU/yC,EAAE+yC,WAGlBghB,GAAW,IACX9pE,YAAW,WACT8pE,GAAWzmE,GACXgyD,aAAaC,QACX,sBACAz6D,KAAKE,UAAUsI,MAEhB,UAgBS,IAAnB4C,GAAQtD,QACP,kBAACi3C,EAAA,EAAD,CACE1/C,GAAG,iBACHqrD,UAAU,OACV3sB,KAAK,SACLnL,QAAQ,WAER,0BAAM3zB,UAAU,WAAhB,kBAMV,kBAAC,sBAAD,CAAoB8Q,WAAYC,KAAkB4jB,MAC/C,YAAgD,IAA7CM,EAA4C,EAA5CA,gBAAiBC,EAA2B,EAA3BA,qBACnB,OACE,kBAAC,IAAD,CACE7R,UAAWG,EACXyR,gBAAiBA,GAEjB,kBAAC,KAAD,eACE4vB,iBACE,wBACE7kD,UAAU,kBACVoE,MAAO,CAAEsM,UAAW,WAFtB,6CAOFM,eAAe,mBACfE,UAAU,EACV3Q,QAAQ,wDACR0Q,YAAU,EACVkkB,QAAM,EACNxkB,SAAS,KACTpO,KAAmB,OAAbshB,EAAoB,GAAKA,EAC/B1X,QAASA,GACTyE,cAAekkB,IACfM,cAAeC,aACbtE,EAAiBrB,gBAEnBgI,UAAWC,aAAa,CACtB9T,WACAqB,IAAK6L,EAAiB7L,IACtBuK,OAAQsB,EAAiBtB,UAEvByF,GAEJ,kBAAC,KAAD,CAAmBrR,SAAUA,IAC7B,kBAAC,KAAD,CAAuBA,SAAUA,SAQ3C,kBAAC,KAAD,CACEioB,aAAcuvB,EACd2F,UAAWf,EACX7/D,GAAIsN,EACJ0R,MAAK,4BAAuB1R,GAC5BuzD,cAAe,kBAACC,GAAA,EAAD,CAAQ9gE,GAAIsN,MAE7B,kBAAC,KAAD,CACEo+B,aAAc4vB,EACdsF,UAAWoP,EACXhwE,GAAIsN,EACJ0R,MAAK,0CAAqC1R,GAC1CuzD,cACe,QAAbukB,EACE,kBAACE,GAAA,EAAD,CAAStlF,GAAIsN,IACE,2BAAb83E,GAEa,wBAAbA,EADF,kBAACG,GAAA,EAAD,CAASvlF,GAAIsN,IAIb,kBAACk4E,GAAA,EAAD,CAAaxlF,GAAIsN,MAIvB,kBAAC,KAAD,CACEo+B,aAAc6vB,EACdqF,UAAWqP,EACXjwE,GAAIsN,EACJ0R,MAAK,8BAAyB1R,GAC9BuzD,cAAe,kBAACmQ,GAAA,EAAD,CAAQhxE,GAAIsN,MAE7B,kBAAC,KAAD,CACEo+B,aAAcwvB,EACd0F,UAAWmP,EACX/vE,GAAIsN,EACJ0R,MAAK,0CAAqC1R,GAC1CuzD,cAAe,kBAACoQ,GAAA,EAAD,CAAkBC,KAAM5jE,O,2yMCxjB/C,IAAMzP,GAAU,IAAIC,IAAa,MAC3BC,GAAKC,IAAIH,IAETwzB,GAAaC,YAAW,CAC5Brb,MAAO,CACLzC,OAAQ,sBAFO8d,EAIhB,SAAC3xB,GAAD,OACD,kBAACS,EAAA,EAAD,eACEmxB,UAAW,EACXC,mBAAoB,KACpBC,aAAc,CACZC,SAAU,SACVC,WAAY,UAEdC,gBAAiB,CACfF,SAAU,MACVC,WAAY,WAEVhyB,OAGFkyB,GAAiBP,aAAW,SAACxb,GAAD,MAAY,CAC5CC,KAAM,CACJ,UAAW,CACTyR,gBAAiB1R,EAAM4R,QAAQqD,QAAQ+G,KACvC,sDAAuD,CACrDnjB,MAAOmH,EAAM4R,QAAQqK,OAAOC,YALbV,CASnB1H,KACE1S,GAAYrB,aAAW,SAACC,GAAD,MAAY,CACvCC,KAAM,CACJ+Q,SAAU,EACVtQ,OAAQ,KAEV/K,MAAO,CACLsb,QAAS,OACTC,QAAS,EACTxQ,OAAQ,QAEVyQ,eAAgB,CACdF,QAAS,OACTG,SAAU,OACVC,KAAM,EACNC,WAAY,SACZC,SAAU,UAEZC,KAAM,CACJ1Q,OAAQd,EAAMK,QAAQ,GAAK,MAE7BoR,YAAa,CACXC,gBAAiBC,YACQ,UAAvB3R,EAAM4R,QAAQ/kB,KACVmT,EAAM4R,QAAQC,KAAK,KACnB7R,EAAM4R,QAAQC,KAAK,KACvB,MAGJC,iBAAkB,CAChBZ,QAASlR,EAAMK,QAAQ,EAAG,IAE5BnH,YAAa,CACX9K,SAAU,WACV4jB,KAAM,EACNC,OAAQ,EACR9jB,SAAU,IAEZgS,MAAO,CACL/R,SAAU,WACV8jB,OAAQ,EACR9R,UAAWJ,EAAMK,QAAQ,GACzB2R,KAAM,EACNG,MAAO,GAETC,QAAS,CACP1R,OAAQV,EAAMK,QAAQ,IAExBQ,OAAQ,CACNC,OAAQd,EAAMK,QAAQ,IAExBU,SAAU,CACRC,YAAahB,EAAMK,QAAQ,IAE7BY,UAAW,CACTC,WAAYlB,EAAMK,QAAQ,IAE5Bc,UAAW,CACThT,SAAU,IAEZwnB,UAAW,CACTzU,WAAYlB,EAAMK,QAAQ,GAC1BW,YAAahB,EAAMK,QAAQ,QAIxB,SAASgf,KACd,IAAMswD,EAAY7tD,eAClBlkB,qBAAU,WAER+xE,EAAUv/D,SADG,0BAEZ,CAACu/D,IACJ,IAAMtlF,EAAU+W,KACVwZ,EAAqB3B,IACrB4B,EAAmBC,mBAAQ,WAC/B,MAAO,CACL1L,YAAawL,EAAmBxL,YAChCoK,eAAgBoB,EAAmBpB,eACnCxK,IAAK4L,EAAmB5L,IACxBoL,uBAAwBQ,EAAmBR,0BAE5C,CAACQ,IACJ,EAA4C9jB,mBAAS,IAArD,mBAAOsoD,EAAP,KAAuBwwB,EAAvB,KACA,EAAoD94E,mBAAS,IAA7D,mBAAOkqD,EAAP,KAA2BC,EAA3B,KACA,EAAgCzsC,IAAM1d,SAAS,MAA/C,mBAAO6lB,EAAP,KAAiBC,EAAjB,KACA,EAAkDpI,IAAM1d,UAAS,GAAjE,mBAAO+4E,EAAP,KAA0BC,EAA1B,KACA,EAAkDt7D,IAAM1d,UAAS,GAAjE,mBAAOgiE,EAAP,KAA0BC,EAA1B,KACA,EAAkDjiE,oBAAS,GAA3D,mBAAO8tD,EAAP,KAA0BC,EAA1B,KAQA,MAAiD/tD,oBAAS,GAA1D,mBAAOi5E,EAAP,KAAyBC,EAAzB,KA7B8B,SAyCfC,IAzCe,4EAyC9B,4FACM3iF,EAAQkC,KAAE,uBAAuBU,OAAS,GADhD,SAEeiO,MAAM,GAAD,OACbxP,OAAOyP,QADM,qCAC8B9Q,EAD9B,aAEhB,CACE+Q,OAAQ,OACRC,iBAAiB,EACjBC,QAAS,CACPiL,OAAQ,oCACRhL,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,sBAInBC,KAbU,wCAaL,WAAOC,GAAP,0FACqBA,EAASE,OAD9B,cACED,EADF,gBAEeD,EAAS1N,OAFxB,cAEE5E,EAFF,yBAGGyS,QAAQC,IAAI,CAACH,EAAYvS,KAH5B,2CAbK,uDAkBVqS,KAlBU,wCAkBL,WAAOM,GAAP,+EACJtV,YAAa,UAAW,uCAA8BsV,EAAI,UAAlC,aAA8B,EAAQtR,KAC9DsiF,GAAqB,GAFjB,kBAGGhxE,EAAI,IAHP,2CAlBK,uDAuBVC,OAAM,SAAC5K,GACNnH,QAAQmH,MAAMA,MA1BpB,oFAzC8B,+BAuEf47E,IAvEe,4EAuE9B,4FACM3iF,EAAQkC,KAAE,uBAAuBU,OAAS,GADhD,SAEeiO,MAAM,GAAD,OACbxP,OAAOyP,QADM,qCAC8B9Q,EAD9B,aAEhB,CACE+Q,OAAQ,OACRC,iBAAiB,EACjBC,QAAS,CACPiL,OAAQ,oCACRhL,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,sBAInBC,KAbU,wCAaL,WAAOC,GAAP,0FACqBA,EAASE,OAD9B,cACED,EADF,gBAEeD,EAAS1N,OAFxB,cAEE5E,EAFF,yBAGGyS,QAAQC,IAAI,CAACH,EAAYvS,KAH5B,2CAbK,uDAkBVqS,KAlBU,wCAkBL,WAAOM,GAAP,iFACJtV,YAAa,UAAW,uCAA8BsV,EAAI,UAAlC,aAA8B,EAAQtR,KAC9Dm3D,GAAqB,UAAA7lD,EAAI,UAAJ,eAAQtR,MAAM,GACnCsiF,GAAqB,GACrB1nF,SAASsR,eAAe,iBAAiBinB,QAJrC,kBAKG7hB,EAAI,IALP,2CAlBK,uDAyBVC,OAAM,SAAC5K,GACNnH,QAAQmH,MAAMA,MA5BpB,oFAvE8B,+BAsIfwtD,IAtIe,4EAsI9B,8FACEiuB,GAAqB,IACjB3wE,EAAY,IAAIC,SACVC,OAAO,gBAAjB,iBAA4CpX,GAAG8L,OAAOC,WAAWyK,QACjEU,EAAUE,OAAO,eAAgB,oBACjCF,EAAUE,OAAO,eAAgB,UAC7BC,EAAiB,CACnBjB,OAAQ,MACRC,iBAAiB,EACjBC,QAASY,EACTI,SAAU,UAVd,SAYQpB,MAAM,GAAD,OACNxP,OAAOyP,QADD,wCACwCzP,OAAOuhF,YACxD5wE,GAECZ,KAJG,wCAIE,WAAOC,GAAP,0FACqBA,EAASE,OAD9B,cACED,EADF,gBAEeD,EAAS1N,OAFxB,cAEE5E,EAFF,yBAGGyS,QAAQC,IAAI,CAACH,EAAYvS,KAH5B,2CAJF,uDASHqS,KATG,wCASE,WAAOM,GAAP,kEACJ8wE,GAAqB,GACrB7uB,EAAsBjiD,EAAI,IAAM,IAF5B,2CATF,uDAaHC,OAAM,SAAC5K,GACNnH,QAAQmH,MAAMA,MA1BpB,OA4BEy7E,GAAqB,GA5BvB,4CAtI8B,+BAoKf9yD,GApKe,oFAoK9B,WAA2BnwB,EAAMowB,GAAjC,yEACE87C,GAAqB,GACrBn8C,EAAY,MAFd,SAGeze,MAAM,GAAD,OAAIxP,OAAOyP,SAAX,OAAqBzP,OAAOwhF,cAAgB,CAC5D9xE,OAAQ,MACRC,iBAAiB,EACjBC,QAAS,CACPiL,OAAQ,oCACRhL,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,sBAGjBC,KAVU,wCAUL,WAAOC,GAAP,0FACqBA,EAASE,OAD9B,OAEJ,GAAmB,OADbD,EADF,QAGF,IACEtW,SAASsR,eAAe,WAAWinB,QACnC,MAAOl3B,GACPuD,QAAQC,IAAIxD,GANZ,gBASegV,EAAS1N,OATxB,cASE5E,EATF,yBAUGyS,QAAQC,IAAI,CAACH,EAAYvS,KAV5B,2CAVK,uDAsBVqS,MAAK,SAACM,GACLxU,aAAOwU,EAAI,GAAGgvC,UAAWnhD,EAAMowB,GAC/B87C,GAAqB,MAEtB95D,OAAM,SAAC5K,GACNnH,QAAQmH,MAAMA,GACd0kE,GAAqB,MA/B3B,oFApK8B,sBAuM9B,OAxKAn7D,qBAAU,WACRtO,eACAX,OAAOu6E,0BAA4B,GACnC15E,KAAElH,UAAUyH,OAAM,WAChBP,KAAE,kDAAkDpH,KAApD,iBAGFuG,OAAOyhF,qBAAkBxgF,IACxB,IAgEHgO,qBAAU,WACR,IAAIyyE,EAAoBC,aAAY,WAChB3hF,OAAO4hF,gBAEvBX,EAAkBjhF,OAAO4hF,eAAiB,IAE1CC,cAAcH,MAEf,OACF,CAACz1D,EAAmBxL,cACvBxR,qBAAU,WACR5N,YAAW,WACT6xD,MACC,OACF,CACDlzD,OAAO8+E,kCACP7yD,EAAmBxL,YAAY/V,OAAO8yE,gBACtCvxD,EAAmBxL,YAAY/V,OAAO+yE,gBACtCxxD,EAAmBxL,YAAY/V,OAAOgzE,SACtCzxD,EAAmBxL,YAAY/V,OAAOmnB,QACtC5F,EAAmBxL,YAAY/V,OAAOmoD,cACtC5mC,EAAmBxL,YAAY/V,OAAOpE,QACtC2lB,EAAmBxL,YAAY/V,OAAOozE,MACtC7xD,EAAmBxL,YAAY/V,OAAOizE,oBACtC1xD,EAAmBxL,YAAY/V,OAAOqzE,QACtC/9E,OAAO6qE,oBACP7qE,OAAOg1D,0BACPh1D,OAAOi1D,6BACPj1D,OAAO2+E,iBAqEP,oCACE,kBAACriD,GAAA,EAAD,KACE,+DACA,0BAAMn7B,KAAK,cAAc4a,QAAQ,iCAEnC,kBAAC6F,EAAA,EAAD,CAAOrV,KAAM60E,GACX,kBAACx/D,EAAA,EAAMlV,OAAP,KACE,kBAACkV,EAAA,EAAM9U,MAAP,qBACA,kBAAC0rB,EAAA,EAAD,CAEE7rB,aAAW,QACX/E,QAAS,WACPy5E,GAAqB,KAGvB,kBAAC,IAAD,QAGJ,kBAACz/D,EAAA,EAAMhV,KAAP,KACE,yBAAKrR,GAAG,gBAAgBJ,UAAU,eAChC,yBAAKA,UAAU,kBACb,yBAAKA,UAAU,kBACb,2BACE+C,KAAK,OACL/C,UAAU,iCACVI,GAAG,qBACHgP,YAAY,2BAMtB,kBAACqX,EAAA,EAAM/U,OAAP,KACE,kBAAC8hB,EAAA,EAAD,CACEG,QAAQ,QACR3zB,UAAU,iCACVyM,QAAS,WACPy5E,GAAqB,KAJzB,SASA,kBAAC1yD,EAAA,EAAD,CACEG,QAAQ,UACR3zB,UAAU,8BACVyM,QAAS,WACPy5E,GAAqB,GACrBC,MALJ,YAaJ,kBAAC1/D,EAAA,EAAD,CAAOrV,KAAM60E,GACX,kBAACx/D,EAAA,EAAMlV,OAAP,KACE,kBAACkV,EAAA,EAAM9U,MAAP,qBACA,kBAAC0rB,EAAA,EAAD,CAEE7rB,aAAW,QACX/E,QAAS,WACPy5E,GAAqB,KAGvB,kBAAC,IAAD,QAGJ,kBAACz/D,EAAA,EAAMhV,KAAP,KACE,yBAAKrR,GAAG,gBAAgBJ,UAAU,eAChC,yBAAKA,UAAU,kBACb,yBAAKA,UAAU,kBACb,2BACE+C,KAAK,OACL/C,UAAU,iCACVI,GAAG,qBACHgP,YAAY,2BAMtB,kBAACqX,EAAA,EAAM/U,OAAP,KACE,kBAAC8hB,EAAA,EAAD,CACEG,QAAQ,QACR3zB,UAAU,iCACVyM,QAAS,WACPy5E,GAAqB,KAJzB,SASA,kBAAC1yD,EAAA,EAAD,CACEG,QAAQ,UACR3zB,UAAU,8BACVyM,QAAS,WACPy5E,GAAqB,GACrBC,MALJ,UAaJ,kBAAC1/D,EAAA,EAAD,CACEtV,KAAK,KACLC,MAA4B,IAAtB0pD,EACNzpD,OAAQ,WACN0pD,GAAqB,KAGvB,kBAACC,GAAA,EAAD,CACEC,KAAMF,EACNG,eAAgBJ,KAIpB,kBAACud,GAAD,MACA,yBAAKr4E,UAAU,yBACb,yBAAKA,UAAU,qCACb,yBAAKA,UAAU,OACb,yBAAKA,UAAU,uCACb,kBAAC,IAAD,CAAMA,UAAU,SACd,wBAAIA,UAAU,mCAAd,YACA,kBAACg4D,EAAA,EAAD,KACE,kBAAChuC,EAAA,EAAD,CACEvd,QAAO,uBAAE,+EACP5H,OAAOu6E,0BAA4B,GACnCv6E,OAAO++E,8BAAgC,MACvC/+E,OAAO8hF,6BAA+B,GACtC9hF,OAAOg/E,uBAAyB,QAChCh/E,OAAOi/E,0BAA4B,QACnCj/E,OAAOk/E,yBAA2B,QAClCr+E,KACE,kDACApH,KAFF,wDAGAE,SAASsR,eAAe,iBAAiBinB,QAVlC,4CAaT,0BAAM/2B,UAAU,kCACd,kBAAC,KAAD,CACEwI,IAAKC,aACH,sDAIN,kBAACqhB,EAAA,EAAD,CACE9pB,UAAS,6BAC8B,KAArC6E,OAAOu6E,0BACH,YACA,IAENzrD,QAAQ,SANV,iBAUA,0BAAM3zB,UAAU,sBACd,0BAAMA,UAAU,yDACbs1D,EAAesD,QACd,SAACrvD,EAAGtE,GAAJ,OAAUsE,GAAKtE,EAAC,YAAkB,KAClC,MAKPqwD,EAAevxD,KAAI,SAACC,EAAMC,GAAP,OAClB,kBAAC+lB,EAAA,EAAD,CACE1iB,IAAKrD,EACLwI,QAAO,uBAAE,+EACP5H,OAAOu6E,0BAA4Bp7E,EAAK0/C,SACxC7+C,OAAO++E,8BAAgC5/E,EAAK+yD,WAC5ClyD,OAAO8hF,6BAA+B,GACtCjhF,KACE,kDACApH,KAFF,+CAG0C,cACtC0F,QADsC,IACtCA,OADsC,EACtCA,EAAM+yD,YAJV,SAMAv4D,SAASsR,eAAe,iBAAiBinB,QAVlC,4CAaT,0BAAM/2B,UAAU,kCACd,kBAAC,KAAD,CACEwI,IAAKC,aACH,sDAIN,kBAACqhB,EAAA,EAAD,CACE9pB,UAAS,4CACP6E,OAAOu6E,4BAA8Bp7E,EAAK0/C,SACtC,YACA,IAEN/vB,QAAQ,SAEP3vB,EAAK+yD,YAER,0BAAM/2D,UAAU,sBACd,0BAAMA,UAAU,yDACbgE,EAAK60D,oBAQpB,yBAAK74D,UAAU,uCACb,kBAAC,IAAD,CAAMA,UAAU,SACd,wBAAIA,UAAU,wBAAd,cACA,4BACEoE,MAAO,CAAE+iB,QAAS,QAClB/mB,GAAG,4BACHqM,QAAS,SAAC6C,GACRyoD,QAGmB,IAAtBguB,EACC,yBAAK/lF,UAAU,oBACZ,IACD,kBAAC8/C,EAAA,EAAD,CACEz/C,GAAG,OACHorD,UAAU,SACV3sB,KAAK,SACL4sB,cAAY,UAIhB,IAEqB,IAAtBq6B,EACG7uB,EAAmBnzD,KAAI,SAACC,EAAMC,GAAP,OACrB,kBAAC+lB,EAAA,EAAD,CACEhqB,UAAS,6BACP6E,OAAO8hF,gCAAP,OAAwC3iF,QAAxC,IAAwCA,OAAxC,EAAwCA,EAAMJ,IAC1C,YACA,IAEN0D,IAAKrD,EACLwI,QAAO,uBAAE,+EACP5H,OAAO8hF,6BAAP,OAAsC3iF,QAAtC,IAAsCA,OAAtC,EAAsCA,EAAMJ,GAC5CiB,OAAOu6E,0BAA4B,GACnCv6E,OAAO++E,8BAAP,OAAuC5/E,QAAvC,IAAuCA,OAAvC,EAAuCA,EAAMH,KAC7CrF,SAASsR,eAAe,iBAAiBinB,QAJlC,4CAOT,0BAAM/2B,UAAU,kCACd,kBAAC,KAAD,CACEwI,IAAKC,aACH,0CAIN,kBAACqhB,EAAA,EAAD,CACE9pB,UAAU,qBACV2zB,QAAQ,SAFV,OAIG3vB,QAJH,IAIGA,OAJH,EAIGA,EAAMH,MAET,0BAAM7D,UAAU,sBACd,0BAAMA,UAAU,yDAAhB,OACGgE,QADH,IACGA,OADH,EACGA,EAAM+0D,YAKf,OAKZ,yBAAK/4D,UAAU,gCAAgCI,GAAG,uBAChD,kBAAC,IAAD,KACE,kBAAC,IAAD,CAAYgf,MAAM,wBAChB,kBAAC,IAAD,KACE,kBAACmU,GAAA,EAAD,CACEnvB,MAAO,CAAEyhC,MAAO,SAChB7lC,UAAW,oBAAsBO,EAAQwW,QAEzC,kBAACyc,EAAA,EAAD,CACEC,gBAAc,kBACdC,gBAAc,OACdC,QAAQ,WACR5kB,MAAM,UACNoE,SAAU67D,EACVviE,QAhdlB,SAAqBwH,GACnB6e,EAAY7e,EAAM+e,iBAycJ,YASE,kBAACY,EAAA,EAAD,CAAM5zB,UAAWO,EAAQ4W,WAAzB,QACC63D,GACC,kBAAClvB,EAAA,EAAD,CACEz/C,GAAG,OACHorD,UAAU,SACVt6C,KAAK,KACL2tB,KAAK,SACL4sB,cAAY,UAIlB,kBAACj6B,GAAD,CACErxB,GAAG,kBACHyyB,SAAUA,EACVgB,aAAW,EACXC,KAAMC,QAAQlB,GACdmB,QAhelB,WACElB,EAAY,QAieI,kBAACb,GAAD,CACExlB,QAAS,SAACwH,GACRif,GACE,QACAruB,OAAO+hF,gBAAgB/9E,OAAS,IAC5BhE,OAAO+hF,gBAAgBnlF,MAAM,EAAG,KAChCoD,OAAO+hF,mBAIf,kBAAC3yD,EAAA,EAAD,KACE,uBAAGj0B,UAAU,uBAEf,kBAACk0B,GAAA,EAAD,CAAc/I,QAAQ,WAExB,kBAAC8G,GAAD,CACExlB,QAAS,SAACwH,GACRif,GACE,MACAruB,OAAO+hF,gBAAgB/9E,OAAS,IAC5BhE,OAAO+hF,gBAAgBnlF,MAAM,EAAG,KAChCoD,OAAO+hF,mBAIf,kBAAC3yD,EAAA,EAAD,KACE,uBAAGj0B,UAAU,qBAEf,kBAACk0B,GAAA,EAAD,CAAc/I,QAAQ,SAExB,kBAAC8G,GAAD,CACExlB,QAAS,SAACwH,GACRif,GACE,OACAruB,OAAO+hF,gBAAgB/9E,OAAS,IAC5BhE,OAAO+hF,gBAAgBnlF,MAAM,EAAG,KAChCoD,OAAO+hF,mBAIf,kBAAC3yD,EAAA,EAAD,KACE,uBAAGj0B,UAAU,sBAEf,kBAACk0B,GAAA,EAAD,CAAc/I,QAAQ,YAI5B,kBAACoI,GAAA,EAAD,CACEnvB,MAAO,CAAEyhC,MAAO,SAChB7lC,UAAW,oBAAsBO,EAAQwW,QAEzC,4BACEhU,KAAK,SACL/C,UAAU,qEACVyM,QAAS,WACPy5E,GAAqB,KAGvB,uBAAGlmF,UAAU,uBAPf,WAaN,kBAAC,IAAD,KACE,kBAACqyB,GAAD,MACCtB,EAAiB7L,IAAIrc,OAAS,GAAK,kBAACysB,GAAD,MACpC,kBAAC8vD,GAAD,WChrBP,SAASyB,GAAT,GAAkD,IAAZpxD,EAAW,EAAXA,QAC3C,EAAgCzoB,oBAAS,GAAzC,mBACA,GADA,UACkCA,oBAAS,IAA3C,mBAAO+3C,EAAP,KAAkBC,EAAlB,KACA,EAA4Ch4C,oBAAS,GAArD,mBAAO85E,EAAP,KAAuBC,EAAvB,KACA,EAAsC/5E,oBAAS,GAA/C,mBAEMuiB,GAFN,UAE0B,CACxBe,uBAAwB,WACtBmF,EAAQ3sB,KAAK,6BAEfynB,uBAAwB,SAACnwB,GACvB4kD,EAAa5kD,IAGfowB,yBAA0B,SAACpwB,GACzB2mF,EAAkB3mF,IAGpBqwB,0BAA2B,WACzBgF,EAAQ3sB,KAAR,yCAEF4nB,yBAA0B,WACxB+E,EAAQ3sB,KAAR,+BAEF6nB,gCAAiC,WAC/B8E,EAAQ3sB,KAAK,wCAIjB,OACE,kBAACwmB,EAAD,CAAqBC,kBAAmBA,GACtC,kBAACnM,EAAD,MAEC2hC,GACC,kBAACl0B,EAAD,CACEzf,KAAM2zC,EACN3kD,GAAI2kD,EACJ1zC,OAAQ,WACN2zC,GAAa,MAIxB8hC,GACO,kBAAC51D,EAAD,CACE9f,KAAM01E,EACN1mF,GAAI0mF,EACJz1E,OAAQ,WACN01E,GAAkB,OAItBhiC,GAAa,kBAACxvB,GAAD,O,0hNCrDrB,IAAMt3B,EAAU,IAAIC,IAAa,MAC3BC,EAAKC,IAAIH,GAWR,SAASkuD,IAEd,IAAMC,EAAmBC,cACnBG,EAAiBx7B,mBAAQ,WAC7B,MAAO,CACLtB,eAAgB08B,EAAiB18B,eACjC+8B,oBAAqBL,EAAiBK,oBACtCnnC,YAAa8mC,EAAiB9mC,eAE/B,CAAC8mC,IACJ,EAAkCp/C,oBAAS,GAA3C,mBAAOg6E,EAAP,KAAkBC,EAAlB,KACMC,EAAe,CAAC,CAAE1jF,MAAO,YAAc,CAAEA,MAAO,YAAaO,KACjE,SAACojF,GAAD,MAAkB,CAChBhoF,MAAOgoF,EAAY3jF,MACnBA,MAAO2jF,EAAY3jF,UAdO,4CAiB9B,8FACe6Q,MACXxP,OAAOyP,QAAP,8CACyC8yE,EADzC,kBAC8DC,EAD9D,mBACmFC,EADnF,mBACyGC,EADzG,kCAEiBC,IACjB,CACEjzE,OAAQ,MACRC,iBAAiB,EACjBC,QAAS,CACPC,cAAc,UAAD,OAAYvW,EAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,sBAInBC,KAdU,uCAcL,WAAOC,GAAP,gFACEC,EAAaD,EAASE,OADxB,SAEeF,EAAS1N,OAFxB,cAEE5E,EAFF,yBAGGyS,QAAQC,IAAI,CAACH,EAAYvS,KAH5B,2CAdK,uDAmBVqS,MAAK,SAACM,GACL,IAAM3L,EAAI2L,EAAI,GACduyE,EAAiB,OAACl+E,QAAD,IAACA,OAAD,EAACA,EAAGm+E,SACrBC,EAAoB,OAACp+E,QAAD,IAACA,OAAD,EAACA,EAAGi6D,QACxBokB,GAAc,OAACr+E,QAAD,IAACA,OAAD,EAACA,EAAGs+E,UAAU1/E,QAAQ,IACpC2/E,EAAc,OAACv+E,QAAD,IAACA,OAAD,EAACA,EAAGw+E,WAAW5/E,QAAQ,IACrC6/E,GAAW,OAACz+E,QAAD,IAACA,OAAD,EAACA,EAAG0+E,QAAQ9/E,QAAQ,IAC/Bw/E,EAAoB,OAACp+E,QAAD,IAACA,OAAD,EAACA,EAAGi6D,WAEzBruD,OAAM,SAAC5K,GACNnH,QAAQmH,MAAMA,MA9BpB,oFAjB8B,sBAkD9B,MAAkDmgB,IAAM1d,SAAS,GAAjE,mBAAOk7E,EAAP,KAA0BP,EAA1B,KACA,EAA4Cj9D,IAAM1d,SAAS,IAA3D,mBAAOm7E,EAAP,KAAuBV,EAAvB,KAEA,EAAsC/8D,IAAM1d,SAAS,IAArD,mBAAOo6E,EAAP,KAAoBgB,EAApB,KACA,EAAoC19D,IAAM1d,SAAS,IAAnD,mBAAOq6E,EAAP,KAAmBgB,EAAnB,KACA,EAAsC39D,IAAM1d,SAAS,IAArD,mBAAOs6E,EAAP,KAAoBgB,EAApB,KACA,EAAsC59D,IAAM1d,SAAS,IAArD,mBAAOu6E,EAAP,KAAoBgB,EAApB,KACA,EAAsC79D,IAAM1d,SAAS,GAArD,mBAAOw7E,EAAP,KAAoBV,EAApB,KACA,EAAgCp9D,IAAM1d,SAAS,GAA/C,mBAAOy7E,GAAP,KAAiBT,GAAjB,KACA,GAAsCt9D,IAAM1d,SAAS,GAArD,qBAAO07E,GAAP,MAAoBd,GAApB,MACA,GAAsCl9D,IAAM1d,UAAS,GAArD,qBACA,IADA,YAC4B0d,IAAM1d,UAAS,IAA3C,qBACA,IADA,YAC8B0d,IAAM1d,UAAS,IAA7C,qBAAOw6E,GAAP,MAAgBmB,GAAhB,MACA,GAAoCj+D,IAAM1d,SAAS,CACjD7N,MAAO,WACPqE,MAAO,aAFT,qBAAOolF,GAAP,MAAmBC,GAAnB,MAuBA,OAlBA/0E,qBAAU,WAEU,KAAhBszE,GACgB,KAAhBE,GACe,KAAfD,GACgB,KAAhBE,EAzE0B,mCA2E1BuB,GAEAnB,EAAqB,KAEtB,CACDP,EACAC,EACAC,EACAC,EACAC,KAGA,oCAEE,kBAAC/gE,EAAA,EAAD,CACEtV,KAAK,KACLC,KAAM41E,EACN31E,OAAQ,WACN41E,GAAa,IAEf31E,kBAAgB,gCAEhB,kBAACmV,EAAA,EAAMlV,OAAP,KACE,kBAACkV,EAAA,EAAM9U,MAAP,yBACA,kBAAC0rB,EAAA,EAAD,CAEE7rB,aAAW,QACX/E,QAAS,WACPw6E,GAAa,KAGf,kBAAC,IAAD,QAGJ,kBAACxgE,EAAA,EAAMhV,KAAP,KACE,kBAACuI,EAAA,EAAD,KACE,yBAAKha,UAAU,+BACb,kBAACslC,EAAA,EAAD,KACE,kBAACtrB,EAAA,EAAD,KACE,yBAAKha,UAAU,uBACb,kBAAC+9C,EAAA,EAAD,CAAY/9C,UAAU,QACpB,yBAAKA,UAAU,iBACb,yCACA,kBAAC+oF,EAAA,EAAD,CACE35E,YAAY,GACZpP,UAAU,YACVwR,aAAW,GACXzO,KAAK,SACL5D,MAAOooF,EACPyB,mBAAiB,eACjB35E,SAAU,SAACC,GACTi5E,EAAej5E,EAAEM,OAAOzQ,WAI9B,yBAAKa,UAAU,iBACb,wCACA,kBAAC,IAAD,CACEka,aAAW,EACXlU,KAAK,QACL5F,GAAG,UACHoD,MAAM,SACNrE,MAAOypF,GACPv5E,SAAQ,uCAAE,WAAOC,GAAP,iEACR,IACmB,cAAZ,OAADA,QAAC,IAADA,OAAA,EAAAA,EAAGnQ,OACLwpF,IAAW,GAEXA,IAAW,GAEbE,GAAcv5E,GACd,MAAOzP,IARD,2CAAF,sDAURG,UAAU,YACVurB,QAAQ,sBACRnc,YAAY,GACZ+K,QAAS+sE,OAKjB,yBAAKlnF,UAAU,uBACb,kBAACslC,EAAA,EAAK9qB,MAAN,CAAYE,UAAU,SACpB,kBAACqjC,EAAA,EAAD,KACE,yBAAK/9C,UAAU,iBACb,yCACA,kBAACslC,EAAA,EAAK3qB,QAAN,CACE5X,KAAK,SACLS,MAAM,SACNxD,UAAU,YACVgpF,mBAAiB,oBACjB7pF,MAAOioF,EACP/3E,SAAU,SAACC,GACT84E,EAAe94E,EAAEM,OAAOzQ,WAI9B,yBAAKa,UAAU,iBACb,wCACA,kBAACslC,EAAA,EAAK3qB,QAAN,CACE5X,KAAK,SACLS,MAAM,QACNxD,UAAU,YACVgpF,mBAAiB,oBACjB7pF,MAAOkoF,EACPh4E,SAAU,SAACC,GACT+4E,EAAc/4E,EAAEM,OAAOzQ,WAI7B,yBAAKa,UAAU,iBACb,yCACA,kBAACslC,EAAA,EAAK3qB,QAAN,CACE5X,KAAK,SACLS,MAAM,SACNxD,UAAU,YACVgpF,mBAAiB,oBACjB7pF,MAAOmoF,EACPj4E,SAAU,SAACC,GACTg5E,EAAeh5E,EAAEM,OAAOzQ,cAiDpC,yBAAKa,UAAU,qBACb,6CACA,4BAAK0oF,KAEP,yBAAK1oF,UAAU,qBACb,+CACA,4BAAKwoF,IAEP,yBAAKxoF,UAAU,qBACb,sCACA,4BAAKyoF,KAEP,yBAAKzoF,UAAU,qBACb,gDACA,wBAAIA,UAAU,iCACXkoF,OAMX,yBAAKloF,UAAU,+BACb,kBAACi+B,EAAA,EAAD,CAAOgrD,YAAU,GACf,+BACE,wBAAIjpF,UAAU,iBACZ,wBAAIA,UAAU,2BAAd,WACA,wBAAIA,UAAU,2BAAd,WAGJ,gCACiB,OAAdmoF,QAAc,IAAdA,OAAA,EAAAA,EAAgBt/E,QAAS,GACxBs/E,EACGz7E,MAAK,SAACnD,EAAGtE,GAAJ,OACJsE,EAAE2/E,eAAeC,cAAcjB,MAEhCzmF,MAAM,EAAG,GACTsC,KAAI,SAACC,GAAD,OACH,wBAAIhE,UAAU,iBACZ,wBACEA,UACEkoF,IAAsBlkF,EAAKklF,eACvB,0BACA,OAGL,IAPH,MAQSllF,EAAKolF,oBAEd,wBACEppF,UACEkoF,IAAsBlkF,EAAKklF,eACvB,0BACA,OAGLllF,EAAKklF,yBAS1B,kBAACziE,EAAA,EAAM/U,OAAP,KACE,4BACE1R,UAAU,4BACVyM,QAAS,WACP87E,EAAe,IACfH,EAAe,IACfC,EAAc,IACdC,EAAe,IACfV,GAAe,GACfE,EAAe,GACfE,GAAY,GACZa,GAAc,CAAE1pF,MAAO,WAAYqE,MAAO,aAC1CyjF,GAAa,KAXjB,WAkBJ,yBAAKjnF,UAAU,mBACb,yBAAKA,UAAU,0BACb,yBAAKA,UAAU,gDACf,yBAAKA,UAAU,qCAC2B,QAAvC6E,OAAOq8E,4BACN,4BACEn+E,KAAK,SACL/C,UAAU,kBACVyM,QAAO,sBAAE,8EACPw6E,GAAa,GADN,4CAIT,uBAAGjnF,UAAU,cAPf,oBAWA,IAGJ,yBAAKA,UAAU,oDACb,4BACE+C,KAAK,SACL/C,UAAU,wBACVyM,QAAS,kBAAM+/C,EAAeC,wBAHhC,W,8DC7WCM,EAAc,0B,YCArBs8B,EAAsB,CAC1B7lE,aAAa,EACbjC,gBAAgB,EAChBqC,WAAY,EACZC,SAAU,KACV2pC,mBAAe1nD,EACfie,UAAW,MAEAC,EACL,OADKA,EAEH,SCTHC,EDYwBC,YAAY,CACzCle,KAAM,YACNme,aAAcklE,EACdjlE,SAAU,CACRC,WAAY,SAAC/E,EAAOgF,GAClBhF,EAAM/U,MAAN,UAAiB+Z,EAAOvhB,KAAxB,aAAiCuhB,EAAOC,QAAQha,OAC5C+Z,EAAOC,QAAQC,WAAaR,EAC9B1E,EAAMkE,aAAc,EAEpBlE,EAAMiC,gBAAiB,GAG3BkD,UAAW,SAACnF,EAAOgF,GACjBhF,EAAM/U,MAAQ,KACV+Z,EAAOC,QAAQC,WAAaR,EAC9B1E,EAAMkE,aAAc,EAEpBlE,EAAMiC,gBAAiB,GAI3BgsC,cAAe,SAACjuC,EAAOgF,GACrBhF,EAAMiC,gBAAiB,EACvBjC,EAAMkuC,cAAgBlpC,EAAOC,QAAQipC,cACrCluC,EAAM/U,MAAQ,MAGhB4iD,eAAgB,SAAC7tC,EAAOgF,GACtB,MAAiCA,EAAOC,QAAhCX,EAAR,EAAQA,WAAYC,EAApB,EAAoBA,SACpBvE,EAAMkE,aAAc,EACpBlE,EAAM/U,MAAQ,KACd+U,EAAMuE,SAAWA,EACjBvE,EAAMsE,WAAaA,GAGrBiqC,cAAe,SAACvuC,EAAOgF,GACrBhF,EAAMiC,gBAAiB,EACvBjC,EAAM/U,MAAQ,KACd+U,EAAMuE,SAAS/a,KAAKwb,EAAOC,QAAQ+oC,SAGrCS,cAAe,SAACzuC,EAAOgF,GACrBhF,EAAM/U,MAAQ,KACd+U,EAAMiC,gBAAiB,EACvBjC,EAAMuE,SAAWvE,EAAMuE,SAAS9f,KAAI,SAAA+gB,GAClC,OAAIA,EAAO1kB,KAAOkkB,EAAOC,QAAQ+oC,OAAOltD,GAC/BkkB,EAAOC,QAAQ+oC,OAEjBxoC,MAIX4oC,cAAe,SAACpuC,EAAOgF,GACrBhF,EAAM/U,MAAQ,KACd+U,EAAMiC,gBAAiB,EACvBjC,EAAMuE,SAAWvE,EAAMuE,SAAStU,QAAO,SAAAyV,GAAE,OAAIA,EAAG5kB,KAAOkkB,EAAOC,QAAQnkB,OAGxEkpF,eAAgB,SAAChqE,EAAOgF,GACtBhF,EAAM/U,MAAQ,KACd+U,EAAMiC,gBAAiB,EACvBjC,EAAMuE,SAAWvE,EAAMuE,SAAStU,QAC9B,SAAAyV,GAAE,OAAKV,EAAOC,QAAQW,IAAIvV,SAASqV,EAAG5kB,QAI1CmpF,qBAAsB,SAACjqE,EAAOgF,GAC5BhF,EAAMiC,gBAAiB,EACvBjC,EAAM/U,MAAQ,KACd,MAAwB+Z,EAAOC,QAAvBW,EAAR,EAAQA,IAAKnQ,EAAb,EAAaA,OACbuK,EAAMuE,SAAWvE,EAAMuE,SAAS9f,KAAI,SAAA+gB,GAIlC,OAHII,EAAIE,WAAU,SAAAhlB,GAAE,OAAIA,IAAO0kB,EAAO1kB,OAAO,IAC3C0kB,EAAO/P,OAASA,GAEX+P,SCtFRb,QAEMgpC,EAAe,SAAC3nC,EAAa4nC,GAAd,OAA4B,SAAA3nC,GAEtD,OADAA,EAAStB,EAAQQ,UAAU,CAAED,SAAUR,KAClCkpC,EFcA,SAAqB5nC,EAAa4nC,GACvC,OAAO5qC,IAAMkD,KAAN,UAAcunC,EAAd,gBAAiCG,GAAa,CAAE5nC,gBEXhDG,CACQH,EAAa4nC,GACzBt4C,MAAK,SAAAC,GACJ,MAAiCA,EAAStS,KAAlCqhB,EAAR,EAAQA,WAAYC,EAApB,EAAoBA,SACpB0B,EAAStB,EAAQkpC,eAAe,CAAEvpC,aAAYC,iBAE/C1O,OAAM,SAAA5K,GACLA,EAAMmb,cAAgB,qBACtBH,EAAStB,EAAQI,WAAW,CAAE9Z,QAAOia,SAAUR,QAX1CuB,EAAStB,EAAQkpC,eAAe,CAAEvpC,WAAY,EAAGC,SAAU,UAezDupC,EAAc,SAAAhtD,GAAE,OAAI,SAAAmlB,GAC/B,OAAKnlB,GAILmlB,EAAStB,EAAQQ,UAAU,CAAED,SAAUR,MFbXqpC,EEeXjtD,EFdVkiB,IAAM3M,IAAN,UAAao3C,EAAb,YAA4BM,KEehCz4C,MAAK,SAAAC,GACJ,IAAMy4C,EAASz4C,EAAStS,KACxBgjB,EAAStB,EAAQspC,cAAc,CAAEC,cAAeF,QAEjDn4C,OAAM,SAAA5K,GACLA,EAAMmb,cAAgB,oBACtBH,EAAStB,EAAQI,WAAW,CAAE9Z,QAAOia,SAAUR,SAZ1CuB,EAAStB,EAAQspC,cAAc,CAAEC,mBAAe1nD,KFVpD,IAAuBunD,IE0BjBI,EAAe,SAAArtD,GAAE,OAAI,SAAAmlB,GAEhC,OADAA,EAAStB,EAAQQ,UAAU,CAAED,SAAUR,MFXZqpC,EEaXjtD,EFZTkiB,IAAMwD,OAAN,UAAgBinC,EAAhB,YAA+BM,KEanCz4C,MAAK,SAAAC,GACJ0Q,EAAStB,EAAQypC,cAAc,CAAEttD,WAElC+U,OAAM,SAAA5K,GACLA,EAAMmb,cAAgB,sBACtBH,EAAStB,EAAQI,WAAW,CAAE9Z,QAAOia,SAAUR,QFnB9C,IAAsBqpC,IEuBhBM,EAAe,SAAAC,GAAiB,OAAI,SAAAroC,GAE/C,OADAA,EAAStB,EAAQQ,UAAU,CAAED,SAAUR,MFlDZspC,EEoDXM,EFnDTtrC,IAAMkD,KAAKunC,EAAa,CAAEO,YEoD9B14C,MAAK,SAAAC,GACJ,IAAQy4C,EAAWz4C,EAAStS,KAApB+qD,OACR/nC,EAAStB,EAAQ4pC,cAAc,CAAEP,eAElCn4C,OAAM,SAAA5K,GACLA,EAAMmb,cAAgB,sBACtBH,EAAStB,EAAQI,WAAW,CAAE9Z,QAAOia,SAAUR,QF3D9C,IAAsBspC,IE+DhBQ,EAAe,SAAAR,GAAM,OAAI,SAAA/nC,GAEpC,OADAA,EAAStB,EAAQQ,UAAU,CAAED,SAAUR,KF3ClC,SAAsBspC,GAC3B,OAAOhrC,IAAM4D,IAAN,UAAa6mC,EAAb,YAA4BO,EAAOltD,IAAM,CAAEktD,WE2C3C7nC,CACS6nC,GACb14C,MAAK,WACJ2Q,EAAStB,EAAQ8pC,cAAc,CAAET,eAElCn4C,OAAM,SAAA5K,GACLA,EAAMmb,cAAgB,sBACtBH,EAAStB,EAAQI,WAAW,CAAE9Z,QAAOia,SAAUR,UAIxCwlE,EAAgB,SAAAtkE,GAAG,OAAI,SAAAK,GAElC,OADAA,EAAStB,EAAQQ,UAAU,CAAED,SAAUR,KF9ClC,SAAuBkB,GAC5B,OAAO5C,IAAMkD,KAAN,UAAcunC,EAAd,kBAA2C,CAAE7nC,QE8C7CO,CACUP,GACdtQ,MAAK,WACJxR,QAAQC,IAAI,iBACZkiB,EAAStB,EAAQqlE,eAAe,CAAEpkE,YAEnC/P,OAAM,SAAA5K,GACLA,EAAMmb,cAAgB,uBACtBH,EAAStB,EAAQI,WAAW,CAAE9Z,QAAOia,SAAUR,U,0CCtFxCmQ,EAAyB,SACpCC,EACA5sB,EACA6sB,EAHoC,OAIlC25B,EAJkC,EAIlCA,qBAAsBC,EAJY,EAIZA,uBAJY,OAMpC,oCACE,kBAACxU,EAAA,EAAD,CACEjtC,QAAS,kBAAC4wB,EAAA,EAAD,CAASh9B,GAAG,0BAAZ,cAET,uBACEJ,UAAU,uDACVyM,QAAS,kBAAMuhD,EAAqBxmD,EAAIpH,MAExC,0BAAMJ,UAAU,yCACd,kBAAC,IAAD,CACEwI,IAAKC,YAAc,iDAM3B,yCACA,kBAACgxC,EAAA,EAAD,CACEjtC,QAAS,kBAAC4wB,EAAA,EAAD,CAASh9B,GAAG,4BAAZ,gBAET,uBACEJ,UAAU,iDACVyM,QAAS,kBAAMwhD,EAAuBzmD,EAAIpH,MAE1C,0BAAMJ,UAAU,wCACd,kBAAC,IAAD,CAAKwI,IAAKC,YAAc,6C,gBCd3B,SAASomD,IAEd,IAAMzC,EAAmBC,cACnBG,EAAiBx7B,mBAAQ,WAC7B,MAAO,CACL9L,IAAKknC,EAAiBlnC,IACtBuK,OAAQ28B,EAAiB38B,OACzBnK,YAAa8mC,EAAiB9mC,YAC9BoK,eAAgB08B,EAAiB18B,eACjCw9B,UAAWd,EAAiBc,UAC5Bc,qBAAsB5B,EAAiB4B,qBACvCC,uBAAwB7B,EAAiB6B,0BAE1C,CAAC7B,IAGI73B,EAAiBjR,aACvB,SAAChE,GAAD,MAAY,CAAEiV,aAAcjV,EAAMwvC,aAClCrrC,KAFM8Q,aAIA3Q,EAAsC2Q,EAAtC3Q,WAAYC,EAA0B0Q,EAA1B1Q,SAAUL,EAAgB+Q,EAAhB/Q,YACxB+B,EAAW0L,cACjBnd,qBAAU,WACR04C,EAAe/8B,OAAO,IACtBlK,EACEtB,EAAqBuoC,EAAelnC,YAAaknC,EAAeU,cAGjE,CAACV,EAAelnC,YAAaC,EAAUinC,EAAeU,YACzD,IAAM/gD,EAAU,CACd,CACEC,UAAW,KACXnN,KAAM,KACNyN,MAAM,EACNC,UAAWA,KAEb,CACEP,UAAW,gBACXnN,KAAM,OACNyN,MAAM,GAER,CACEN,UAAW,MACXnN,KAAM,MACNyN,MAAM,GAER,CACEN,UAAW,WACXnN,KAAM,UACNyN,MAAM,GAER,CACEN,UAAW,gBACXnN,KAAM,MACNyN,MAAM,GAER,CACEN,UAAW,cACXnN,KAAM,cACNyN,MAAM,GAER,CACEN,UAAW,aACXnN,KAAM,cACNyN,MAAM,GAER,CACEN,UAAW,SACXnN,KAAM,SACNyN,MAAM,EACNL,UAAW,SAACC,EAAM9E,GAAS,IAAD,EACxB,OAAO,2CAAGA,QAAH,IAAGA,GAAH,UAAGA,EAAKqW,cAAR,aAAG,EAAa1V,QAAQ,MAGnC,CACEiE,UAAW,OACXnN,KAAM,OACNyN,MAAM,EACNL,UAAW,SAACC,EAAM9E,GAAS,IAAD,EACxB,OAAO,2CAAGA,QAAH,IAAGA,GAAH,UAAGA,EAAKuW,YAAR,aAAG,EAAW5V,QAAQ,MAGjC,CACEiE,UAAW,QACXnN,KAAM,QACNyN,MAAM,GAEP,CACCN,UAAW,OACXnN,KAAM,OACNyN,MAAM,GAsBR,CACEN,UAAW,QACXnN,KAAM,SACNyN,MAAM,EACNL,UAAW,SAACC,EAAM9E,GAChB,OACE,qCACM,OAAHA,QAAG,IAAHA,OAAA,EAAAA,EAAK8W,QACJ,kBAACm7B,EAAA,EAAD,CACEjtC,QAAS,kBAAC4wB,EAAA,EAAD,CAASh9B,GAAG,yBAAZ,QAET,uBAAGJ,UAAU,sDACX,0BAAMA,UAAU,wCACd,kBAAC,IAAD,CACEwI,IAAKC,YACH,iDAOR,OAAHjB,QAAG,IAAHA,OAAA,EAAAA,EAAK0kE,WACJ,kBAACzyB,EAAA,EAAD,CACEjtC,QACE,kBAAC4wB,EAAA,EAAD,CAASh9B,GAAG,yBAAZ,sCAKF,uBACEJ,UAAU,sDAGV,0BAAMA,UAAU,wCACd,kBAAC,IAAD,CACEwI,IAAKC,YACH,qDAWpB,CACE2D,UAAW,SACXnN,KAAM,UACNoN,UAAW8nB,EACXM,gBAAiB,CACfu5B,qBAAsBxB,EAAewB,qBACrCC,uBAAwBzB,EAAeyB,wBAEzC1tD,QAAS,mBACTm0B,cAAe,mBACftwB,MAAO,CACLuS,SAAU,WAKVge,EAAoB,CACxBC,QAAQ,EACRC,UAAWjR,EACX2K,gBAAiBuG,IACjBC,YAAay3B,EAAelnC,YAAY0J,SACxCgG,KAAMw3B,EAAelnC,YAAYyJ,YAEnC,OACE,oCACE,kBAAC,qBAAD,CAAoBje,WAAYC,IAAkB4jB,KAC/C,YAAgD,IAA7CM,EAA4C,EAA5CA,gBAAiBC,EAA2B,EAA3BA,qBACnB,OACE,kBAAC,IAAD,CACE7R,UAAWG,EACXyR,gBAAiBA,GAEjB,kBAAC,IAAD,eACEjkB,eAAe,mBACfzQ,QAAQ,gDACR2Q,UAAU,EACVD,YAAU,EACVkkB,QAAM,EACNxkB,SAAS,KACTpO,KAAmB,OAAbshB,EAAoB,GAAKA,EAC/B1X,QAASA,EACTyE,cAAekkB,IACfM,cAAeC,YACbm3B,EAAe98B,iBAEbwF,GAEJ,kBAAC,IAAD,CAAmBrR,SAAUA,IAC7B,kBAAC,IAAD,CAAuBA,SAAUA,UClO1C,SAAS4rC,KACd,IAAQpsC,EAAcC,aACpB,SAAAhE,GAAK,MAAK,CAAE+D,UAAW/D,EAAMwvC,UAAUtrC,eACvCC,KAFMJ,UAKR,OADAvP,qBAAU,cAAU,CAACuP,IACd,kBAAC,IAAD,CAAeA,UAAWA,EAAWpkB,KAAK,gBCF5C,SAASywD,KAEd,IAAMtD,EAAmBC,cACnBG,EAAiBx7B,mBAAQ,WAC7B,MAAO,CACL9L,IAAKknC,EAAiBlnC,IACtBuK,OAAQ28B,EAAiB38B,OACzBy9B,UAAWd,EAAiBc,UAC5B5nC,YAAa8mC,EAAiB9mC,YAC9BqqC,wBAAyBvD,EAAiBuD,wBAC1CC,yBAA0BxD,EAAiBwD,4BAE5C,CAACxD,IAEE7mC,EAAW0L,cACT5N,EAAcC,aACpB,SAAChE,GAAD,MAAY,CAAE+D,UAAW/D,EAAMwvC,UAAUvtC,kBACzCkC,KAFMJ,UAKRvP,qBAAU,cAAU,CAACuP,EAAWkC,IAChCzR,qBAAU,WACH04C,EAAetnC,KAAqC,IAA9BsnC,EAAetnC,IAAIrc,QAC5C2jD,EAAeoD,6BAGhB,CAACpD,EAAetnC,MAgBnB,OACE,kBAACuB,EAAA,EAAD,CACErV,KAAMo7C,EAAemD,wBACrBt+C,OAAQm7C,EAAeoD,yBACvBt+C,kBAAgB,gCAEf+R,GAAa,kBAAC,IAAD,CAAkBsQ,QAAQ,UACxC,kBAAClN,EAAA,EAAMlV,OAAP,CAAcmV,aAAW,GACvB,kBAACD,EAAA,EAAM9U,MAAP,CAAavR,GAAG,gCAAhB,mBAIF,kBAACqmB,EAAA,EAAMhV,KAAP,MACI4R,GACA,sFAEDA,GAAa,0DAEhB,kBAACoD,EAAA,EAAM/U,OAAP,KACE,6BACE,4BACE3O,KAAK,SACL0J,QAAS+/C,EAAeoD,yBACxB5vD,UAAU,6BAHZ,UAOA,yCACA,4BACE+C,KAAK,SACL0J,QA5CY,WACpB8Y,EAAStB,EAAsBuoC,EAAetnC,MAAMtQ,MAAK,WACvD2Q,EACEtB,EACEuoC,EAAelnC,YACfknC,EAAeU,YAEjBt4C,MAAK,WACL43C,EAAe/8B,OAAO,IACtB+8B,EAAeoD,kCAoCX5vD,UAAU,+BAHZ,aCtEH,SAAS6vD,KAEd,IAAMzD,EAAmBC,cACnBG,EAAiBx7B,mBAAQ,WAC7B,MAAO,CACL5wB,GAAIgsD,EAAiB0D,WACrBrgC,OAAQ28B,EAAiB38B,OACzBy9B,UAAWd,EAAiBc,UAC5B5nC,YAAa8mC,EAAiB9mC,YAC9ByqC,uBAAwB3D,EAAiB2D,uBACzCC,wBAAyB5D,EAAiB4D,2BAE3C,CAAC5D,IAGE7mC,EAAW0L,cACT5N,EAAcC,aACpB,SAAChE,GAAD,MAAY,CAAE+D,UAAW/D,EAAMwvC,UAAUvtC,kBACzCkC,KAFMJ,UAMRvP,qBAAU,WACH04C,EAAepsD,IAClBosD,EAAewD,4BAGhB,CAACxD,EAAepsD,KAGnB0T,qBAAU,cAAU,CAACuP,EAAWkC,IAmBhC,OACE,kBAACkB,EAAA,EAAD,CACErV,KAAMo7C,EAAeuD,uBACrB1+C,OAAQm7C,EAAewD,wBACvB1+C,kBAAgB,gCAEf+R,GAAa,kBAAC,IAAD,CAAkBsQ,QAAQ,UACxC,kBAAClN,EAAA,EAAMlV,OAAP,CAAcmV,aAAW,GACvB,kBAACD,EAAA,EAAM9U,MAAP,CAAavR,GAAG,gCAAhB,yBAIF,kBAACqmB,EAAA,EAAMhV,KAAP,MACI4R,GACA,yFAEDA,GAAa,+DAEhB,kBAACoD,EAAA,EAAM/U,OAAP,KACE,6BACE,4BACE3O,KAAK,SACL0J,QAAS+/C,EAAewD,wBACxBhwD,UAAU,6BAHZ,UAOA,yCACA,4BACE+C,KAAK,SACL0J,QA/CW,WAEnB8Y,EAAStB,EAAqBuoC,EAAepsD,KAAKwU,MAAK,WAErD2Q,EACEtB,EACEuoC,EAAelnC,YACfknC,EAAeU,YAInBV,EAAe/8B,OAAO,IAEtB+8B,EAAewD,8BAmCThwD,UAAU,8BAHZ,aChFV,IAAMiwD,GAAkB,SAACpsC,EAAUqB,GACjC,IAAMgrC,EAAW,GAOjB,OANAhrC,EAAIhkB,SAAQ,SAACd,GACX,IAAMktD,EAASzpC,EAASV,MAAK,SAAC6B,GAAD,OAAQA,EAAG5kB,KAAOA,KAC3CktD,GACF4C,EAASpnD,KAAKwkD,MAGX4C,GAGF,SAASC,KAEd,IAAM/D,EAAmBC,cACnBG,EAAiBx7B,mBAAQ,WAC7B,MAAO,CACL9L,IAAKknC,EAAiBlnC,IACtBI,YAAa8mC,EAAiB9mC,YAC9B8qC,uBAAwBhE,EAAiBgE,uBACzCC,wBAAyBjE,EAAiBiE,2BAE3C,CAACjE,IAEIkE,EAAYhtC,aAClB,SAAChE,GAAD,MAAY,CACVgxC,QAASL,GAAgB3wC,EAAMwvC,UAAUjrC,SAAU2oC,EAAetnC,QAEpEzB,KAJM6sC,QAcR,OAPAx8C,qBAAU,WACH04C,EAAetnC,KAAqC,IAA9BsnC,EAAetnC,IAAIrc,QAC5C2jD,EAAe6D,4BAGhB,CAAC7D,EAAetnC,MAGjB,kBAACuB,EAAA,EAAD,CACErV,KAAMo7C,EAAe4D,uBACrB/+C,OAAQm7C,EAAe6D,wBACvB/+C,kBAAgB,gCAEhB,kBAACmV,EAAA,EAAMlV,OAAP,CAAcmV,aAAW,GACvB,kBAACD,EAAA,EAAM9U,MAAP,CAAavR,GAAG,gCAAhB,4BAIF,kBAACqmB,EAAA,EAAMhV,KAAP,KACE,yBAAKzR,UAAU,qDACb,yBAAKA,UAAU,uBACZswD,EAAQvsD,KAAI,SAACupD,GAAD,OACX,yBAAKttD,UAAU,0BAA0BsH,IAAKgmD,EAAOltD,IACnD,0BAAMJ,UAAU,sBACd,0BACEA,UAAU,kDACVoE,MAAO,CAAEgS,MAAO,SAFlB,OAIOk3C,EAAOltD,IACN,IACR,0BAAMJ,UAAU,QAAQstD,EAAOruD,KAA/B,aAOZ,kBAACwnB,EAAA,EAAM/U,OAAP,KACE,6BACE,4BACE3O,KAAK,SACL0J,QAAS+/C,EAAe6D,wBACxBrwD,UAAU,6BAHZ,UAOA,yCACA,4BACE+C,KAAK,SACL0J,QAAS+/C,EAAe6D,wBACxBrwD,UAAU,+BAHZ,SC3EH,SAASuwD,GAAT,GAAiD,IAAfnwD,EAAc,EAAdA,GAAIiR,EAAU,EAAVA,OAC3C,EAA0BrE,mBAAS,IAAnC,mBAAOoS,EAAP,KAAckH,EAAd,KAEA,EAA0ChD,aACxC,SAAChE,GAAD,MAAY,CACVkuC,cAAeluC,EAAMwvC,UAAUtB,cAC/BjsC,eAAgBjC,EAAMwvC,UAAUvtC,kBAElCkC,KALM+pC,EAAR,EAAQA,cAAejsC,EAAvB,EAAuBA,eAkBvB,OAVAzN,qBAAU,WACR,IAAIyS,EAASnmB,EAAK,GAAK,WACnBotD,GAAiBptD,IACnBmmB,EAAS,kBAAkBnmB,GAG7BkmB,EAASC,KAER,CAACinC,EAAejsC,IAGjB,oCACGA,GAAkB,kBAAC,IAAD,CAAkBoS,QAAQ,UAC7C,kBAAClN,EAAA,EAAMlV,OAAP,KACE,kBAACkV,EAAA,EAAM9U,MAAP,CAAavR,GAAG,gCAAgCgf,GAChD,kBAACie,EAAA,EAAD,CAEE7rB,aAAW,QACX/E,QAAS,SAAC6C,GACR+B,GAAO,KAGT,kBAAC,IAAD,S,cC/BH,SAASm/C,KAEd,IAAMpE,EAAmBC,cACnBG,EAAiBx7B,mBAAQ,WAC7B,MAAO,CACL5wB,GAAIgsD,EAAiB0D,WACrBrgC,OAAQ28B,EAAiB38B,OACzBy9B,UAAWd,EAAiBc,UAC5B5nC,YAAa8mC,EAAiB9mC,YAC9BmrC,qBAAsBrE,EAAiBqE,qBACvCC,sBAAuBtE,EAAiBsE,sBACxCC,WAAYvE,EAAiBuE,cAE9B,CAACvE,IAGE7mC,EAAW0L,cACjB,EAA0C3N,aACxC,SAAChE,GAAD,MAAY,CACViC,eAAgBjC,EAAMwvC,UAAUvtC,eAChCisC,cAAeluC,EAAMwvC,UAAUtB,iBAEjC/pC,KALMlC,EAAR,EAAQA,eAAgBisC,EAAxB,EAAwBA,cAQxB15C,qBAAU,WAERyR,EAAStB,EAAoBuoC,EAAepsD,OAC3C,CAACosD,EAAepsD,GAAImlB,IAuCvB,OACE,kBAACkB,EAAA,EAAD,CACEtV,KAAK,KACLC,KAAMo7C,EAAeiE,qBACrBp/C,OAAQm7C,EAAekE,sBACvBp/C,kBAAgB,gCAEhB,kBAACi/C,GAAD,CACEnwD,GAAIosD,EAAepsD,GACnBiR,OAAQm7C,EAAekE,wBAEzB,kBAACG,GAAA,EAAD,CACEC,WAjDa,SAACxD,GACbd,EAAepsD,GAkBlBmlB,EAAStB,EAAqBqpC,IAAS14C,MAAK,WAE1C2Q,EAEEtB,EACEuoC,EAAelnC,YACfknC,EAAeU,YAEjBt4C,MAAK,WAEL43C,EAAe/8B,OAAO,IAEtB+8B,EAAekE,8BA5BnBnrC,EAAStB,EAAqBqpC,IAAS14C,MAAK,WAE1C2Q,EACEtB,EACEuoC,EAAelnC,YACfknC,EAAeU,YAEjBt4C,MAAK,WAEL43C,EAAe/8B,OAAO,IAEtB+8B,EAAekE,+BAoCjBnvC,eAAgBA,EAChB+rC,OAAQE,GAAiBhB,EAAemE,WACxCt/C,OAAQm7C,EAAekE,sBACvB+4B,UAAU,KClFX,SAAS36B,KAEd,IAAM1C,EAAmBC,cACFr7B,mBAAQ,WAC7B,MAAO,CAAE9L,IAAKknC,EAAiBlnC,OAC9B,CAACknC,IAEJ,OACE,oCACE,kBAACqD,GAAD,MACA,kBAACe,GAAD,MACA,kBAACX,GAAD,MACA,kBAACH,GAAD,MACA,kBAACS,GAAD,MACA,yBAAKnwD,UAAU,oBACb,kBAACmsD,EAAD,OAEF,kBAAC0C,EAAD,OA3BN,oC,0yNCgGA,IAAI66B,EAAsB,GACpBzrF,EAAU,IAAIC,IAAa,MAC3BC,EAAKC,IAAIH,GAGTgjB,EAAqBC,MAAaC,MAAM,IACxCkD,EAAa,GACbyI,EAAM,CACVlpB,GAAI,EACJ+yC,WAAY,KACZ9yC,KAAM,GACNosB,QAAS,GACTC,KAAM,GACNjD,MAAO,GACPgZ,QAAS,IAIP/P,GAAc,IAAIC,MAAM,SAAU,CAAEC,SAAS,IACjD,SAASC,GAAoBj2B,GAC3B,IAAI+P,EAAU3R,SAASsR,eAAe1P,GACvB,MAAX+P,GACFjK,YAAW,WACTiK,EAAQmmB,cAAcJ,MACrB,KAEP,SAASK,GAAiBn2B,EAAIjB,GAC5B,IAAIgR,EAAU3R,SAASsR,eAAe1P,GACvB,MAAX+P,GACFjK,YAAW,WACTiK,EAAQhR,MAAQA,IACf,KAEP,IAAIwqF,GAAa,GACV,SAAS3uB,GAAT,GAAyD,IAAD,OAA/BC,EAA+B,EAA/BA,KAAMC,EAAyB,EAAzBA,eAAgBkH,EAAS,EAATA,MACpD,EAAsBp1D,mBAAS,KAA/B,mBAAOumE,EAAP,KAAYqW,EAAZ,KACA,EAA4B58E,mBAAS,GAArC,mBAAO68E,EAAP,KAAeC,EAAf,KACA,EAA4C98E,oBAAS,GAArD,mBAAOuU,EAAP,KAAuBwoE,EAAvB,KACA,GAAkC/8E,mBAASqX,GAA3C,qBAAOlL,GAAP,MAAkBsI,GAAlB,MACA,GAAgCzU,mBAAS,MAAzC,qBAAO68C,GAAP,MAAiBmgC,GAAjB,MACA,GAAsCh9E,mBAAS,MAA/C,qBAAOi9E,GAAP,MAAoBC,GAApB,MACA,GAAkCl9E,mBAASqX,GAA3C,qBAAO8lE,GAAP,MAAkBC,GAAlB,MACA,GAAgCp9E,mBAASqX,GAAzC,qBAAO01C,GAAP,MAAiBswB,GAAjB,MACA,GAAkCr9E,mBAASqX,GAA3C,qBAAOk5D,GAAP,MAAkB+M,GAAlB,MACA,GAAgDt9E,mBAASqX,GAAzD,qBAAOkmE,GAAP,MAAyBC,GAAzB,MACA,GAA4Bx9E,mBAASqX,GAArC,qBAAOwyC,GAAP,MAAe4zB,GAAf,MACA,GAAsCz9E,mBAASqX,GAA/C,qBAAO4lC,GAAP,MAAoBygC,GAApB,MACA,GAA8B19E,mBAASqX,GAAvC,qBAAO8lC,GAAP,MAAgBwgC,GAAhB,MACA,GAA4C39E,mBAASqX,GAArD,qBAAOumE,GAAP,MAAuBC,GAAvB,MACA,GAA8C79E,mBAAS,IAAvD,qBAAO4nD,GAAP,MAAwBk2B,GAAxB,MACA,GAA8C99E,qBAA9C,qBAAO+9E,GAAP,MAAwBC,GAAxB,MACA,GAAkDh+E,qBAAlD,qBAAOi+E,GAAP,MAA0BC,GAA1B,MACA,GAGIl+E,mBAAS,IAHb,qBACEm+E,GADF,MAEEC,GAFF,MAIA,GAGIp+E,mBAAS,IAHb,qBACEq+E,GADF,MAEEC,GAFF,MAIA,GAAgDt+E,qBAAhD,qBAAOu+E,GAAP,MAAyBC,GAAzB,MACA,GAAkEx+E,qBAAlE,qBACA,IADA,YACsDA,sBAAtD,qBAAOy+E,GAAP,MAA4BC,GAA5B,MACA,GAAsD1+E,qBAAtD,qBAAO2+E,GAAP,MAA4BC,GAA5B,MACA,GAA8C5+E,mBAASqX,GAAvD,qBAAOwtC,GAAP,MAAwBC,GAAxB,MACA,GAAkC9kD,mBAASqX,GAA3C,qBAAOwnE,GAAP,MAAkBC,GAAlB,MACA,GAAgD9+E,qBAAhD,qBAAO++E,GAAP,MAAyBC,GAAzB,MACA,GAAgEh/E,qBAAhE,qBAAOi/E,GAAP,MAAiCC,GAAjC,MACA,GAAsDl/E,qBAAtD,qBAAOm/E,GAAP,MAA4BC,GAA5B,MACA,GAAoDp/E,qBAApD,qBAAOq/E,GAAP,MAA2BC,GAA3B,MACA,GAA8Ct/E,qBAA9C,qBAAOu/E,GAAP,MAAwBC,GAAxB,MACA,GAAoCx/E,mBAAS,GAA7C,qBAAOy/E,GAAP,MAAmBC,GAAnB,MACA,GAAoC1/E,qBAApC,qBAAOsM,GAAP,MACA,IADA,MACoDtM,oBAAS,IAA7D,qBAAO2/E,GAAP,MAA2BC,GAA3B,MACA,GAAwD5/E,oBAAS,GAAjE,qBAAO6/E,GAAP,MAA6BC,GAA7B,MACA,GAAgC9/E,mBAASqX,GAAzC,qBAAO2f,GAAP,MAAiBwC,GAAjB,MACA,GAAgCx5B,mBAASqX,GAAzC,qBAAOjL,GAAP,MAAiBwuB,GAAjB,MACA,GAAwC56B,mBAASqX,GAAjD,qBAAOstC,GAAP,MAAqBC,GAArB,MACA,GAA4B5kD,mBAASqX,GAArC,qBAAOsb,GAAP,MAAenO,GAAf,MACA,GAA8CxkB,mBAASqX,GAAvD,qBAAO0oE,GAAP,MAAwBC,GAAxB,MACA,GAA0ChgF,mBAAS,IAAnD,qBAAO8+D,GAAP,MAAsBmhB,GAAtB,MAEA,GAAoDjgF,mBAAS,IAA7D,qBAAOkgF,GAAP,MAA2BC,GAA3B,MACA,GAAgDngF,oBAAS,GAAzD,qBAAOogF,GAAP,MAAyBC,GAAzB,MACA,GAA0CrgF,mBAAS,GAAnD,qBAAOk3D,GAAP,MAAsBC,GAAtB,MACA,GAA8Cn3D,mBAAS,GAAvD,qBAAOo3D,GAAP,MAAwBC,GAAxB,MACA,GAAwCr3D,mBAAS,GAAjD,qBAAOs3D,GAAP,MAAqBC,GAArB,MACA,GAAyCv3D,oBAAS,GAAlD,qBAAOw3D,GAAP,MAAqBC,GAArB,MACA,GAAkCz3D,oBAAS,GAA3C,qBAAO03D,GAAP,MAAoBC,GAApB,MACA,GAA4B33D,mBAAS,MAArC,qBAAO43D,GAAP,MAAeC,GAAf,MAIA,OAGI73D,qBAHJ,qBACEsgF,GADF,MAEEC,GAFF,MAKA,SAASC,KACPd,IAAc,SAACzwE,GAAD,OAAOA,EAAI,KAEdzd,SAASo0D,iBAAiB,mBAChC1xD,SAAQ,SAACusF,GACZA,EAAI12D,WAGRjjB,qBAAU,WACJonD,GACFwyB,GAAYxyB,KAEb,CAACA,IACJ,OAAgCxwC,IAAM1d,SAAS,CAC7C,CACE4Q,UAAW,EACXquD,SAAU,EACVjuD,SAAU,MACVD,KAAM,EACND,WAAY,MACZN,cAAe,GACfmwE,UAAW,SACXC,QAAQ,EACRC,YAAY,EACZnwE,OAAQ,EACRowE,gBAAiB,EACjBtlC,WAAY0S,EACZ6yB,WAAY,OACZC,gBAAiB,CAAE7uF,MAAO,OAAQqE,MAAO,QACzCqa,OAAQ,IACRowE,OAAQ,GACRC,OAAQ,GACRC,MAAO,GACPC,aAAc,KACdC,aAAc,GACdC,kBAAmB,CAAEnvF,MAAO,GAAIqE,MAAO,UACvC+qF,KAAM,GACNn/B,qBAAqB,EACrBo/B,OAAQ,KACRC,eAAgB,KAChBC,UAAW,CAAEvvF,MAAO,GAAIqE,MAAO,UAC/BmrF,kBAAmB,CAAExvF,MAAO,GAAIqE,MAAO,UACvCorF,mBAAoB,CAAEzvF,MAAO,EAAGqE,MAAO,aA7B3C,qBAAOqrF,GAAP,MAAiBC,GAAjB,MAgCA,SAASxqD,KACPwqD,IAAY,SAACtqD,GAAD,4BACPA,GADO,CAEV,CACE5mB,UAAW,EACXquD,SAAU,EACVjuD,SAAU,MACVR,cAAe,GACfO,KAAM,EACND,WAAY,MACZ8vE,QAAQ,EACRC,YAAY,EACZF,UAAW,SACXjwE,OAAQ,EACRowE,gBAAiB,EACjBtlC,WAAY0S,EACZ6yB,WAAY,OACZC,gBAAiB,CAAE7uF,MAAO,OAAQqE,MAAO,QACzCqa,OAAQ,IACRowE,OAAQ,GACRC,OAAQ,GACRC,MAAO,GACPE,aAAc,GACdD,aAAc,KACdE,kBAAmB,CAAEnvF,MAAO,GAAIqE,MAAO,UACvC+qF,KAAM,GACNn/B,qBAAqB,EACrBo/B,OAAQ,KACRC,eAAgB,KAChBC,UAAW,CAAEvvF,MAAO,GAAIqE,MAAO,UAC/BmrF,kBAAmB,CAAExvF,MAAO,GAAIqE,MAAO,UACvCorF,mBAAoB,CAAEzvF,MAAO,EAAGqE,MAAO,gBAI7C,SAAS6vC,GAAYzqC,GACnB,IAAIrG,EAAI,YAAOssF,IACftsF,EAAK0iC,OAAOr8B,EAAG,GACfkmF,GAAYvsF,GAnJ+C,SAqJ9CwsF,GArJ8C,iFAqJ7D,WAA2BxsF,GAA3B,oEAEuB,OAAnBA,EAAKysF,gBACclpF,IAAnBvD,EAAKysF,WACc,KAAnBzsF,EAAKysF,UAJT,uBAMIpvF,YAAa,aAAc,yBAN/B,mBAOW,GAPX,UAUoB,OAAhB2C,EAAKsb,aACW/X,IAAhBvD,EAAKsb,QACW,KAAhBtb,EAAKsb,OAZT,uBAcIje,YAAa,aAAc,sBAd/B,mBAeW,GAfX,UAkB4B,OAAxB2C,EAAK0sF,qBACmBnpF,IAAxBvD,EAAK0sF,gBACmB,KAAxB1sF,EAAK0sF,eApBT,uBAsBIrvF,YAAa,aAAc,+BAtB/B,mBAuBW,GAvBX,UA0B8B,OAA1B2C,EAAK2sF,uBACqBppF,IAA1BvD,EAAK2sF,kBACqB,KAA1B3sF,EAAK2sF,iBA5BT,wBA8BItvF,YAAa,aAAc,yBA9B/B,mBA+BW,GA/BX,iCAiCSyU,MAAMxP,OAAOyP,QAAP,aAA+B,CAC1CC,OAAQ,OACRC,iBAAiB,EACjBC,QAAS,CACPiL,OAAQ,oCACRhL,cAAc,UAAD,OAAYvW,EAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,oBAElBvV,KAAM2B,KAAKE,UAAUsB,KAEpBqS,KAXI,uCAWC,WAAOC,GAAP,gFACEC,EAAaD,EAASE,OADxB,SAEeF,EAAS1N,OAFxB,cAEE5E,EAFF,yBAGGyS,QAAQC,IAAI,CAACH,EAAYvS,KAH5B,2CAXD,uDAgBJqS,KAhBI,uCAgBC,WAAOM,GAAP,wEACJtV,YAAa,UAAD,oCADR,SAEE8tF,GAAYxyB,GAFd,gCAGGhmD,GAHH,2CAhBD,uDAqBJC,OAAM,SAAC5K,QAtDZ,6CArJ6D,+BA6M9CmjF,GA7M8C,iFA6M7D,WAA2BttF,GAA3B,iFACeiU,MAAMxP,OAAOyP,QAAP,qBAA+BlU,GAAM,CACtDmU,OAAQ,MACRC,iBAAiB,EACjBC,QAAS,CACPC,cAAc,UAAD,OAAYvW,EAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,sBAGjBC,KATU,uCASL,WAAOC,GAAP,gFACEC,EAAaD,EAASE,OADxB,SAEeF,EAAS1N,OAFxB,cAEE5E,EAFF,yBAGGyS,QAAQC,IAAI,CAACH,EAAYvS,KAH5B,2CATK,uDAcVqS,MAAK,SAACM,GACL,IAAM3L,EAAI2L,EAAI,GACRyyB,EAAK,OAAGp+B,QAAH,IAAGA,OAAH,EAAGA,EAAGkQ,OACZ,OAALkuB,QAAK,IAALA,OAAA,EAAAA,EAAO9+B,QAAS,GACd8+B,EAAM5jC,KAAI,SAACC,GA2BT,OA1BAA,EAAK4Z,UAAY5Z,EAAKioE,SACtBjoE,EAAKsqF,kBAAoB,CACvBnvF,MAAsB,KAAf6E,EAAKmrF,MAAe,GAAKnrF,EAAKmrF,MACrC3rF,MAAsB,KAAfQ,EAAKmrF,MAAe,SAAWnrF,EAAKmrF,OAE7CnrF,EAAKgqF,gBAAkB,CACrB7uF,MAA2B,KAApB6E,EAAK+pF,WAAoB,OAAS/pF,EAAK+pF,WAC9CvqF,MAA2B,KAApBQ,EAAK+pF,WAAoB,OAAS/pF,EAAK+pF,YAEhD/pF,EAAKqqF,aAAerqF,EAAKmrF,MACzBnrF,EAAK0qF,UAAY,CAAEvvF,MAAO6E,EAAKwqF,OAAQhrF,MAAOQ,EAAKorF,MACnDprF,EAAK2qF,kBAAoB,CACvBxvF,MAAO6E,EAAKyqF,eACZjrF,MAAOQ,EAAKqrF,cAEdrrF,EAAK4qF,mBAAqB,CACxBzvF,MAAO6E,EAAK2Z,cACZna,MAAOQ,EAAK2Z,eAEd3Z,EAAK2pF,UAAY,SACjB3pF,EAAKga,SAAW,MAChBha,EAAK8Z,WAAa,MAClB9Z,EAAK8pF,gBAAkB9pF,EAAK8pF,iBAAmB,EAC/C9pF,EAAK0Z,OAAS,EACd1Z,EAAKwkD,WAAa0S,EAClBl3D,EAAKorD,oBAAsBprD,EAAKkoE,SACzB,QAEX4iB,GAAYnnD,GAAS,OAEtBxyB,OAAM,SAAC5K,GACNnH,QAAQmH,MAAMA,MAnDpB,oFA7M6D,+BAmQ9C+kF,GAnQ8C,mFAmQ7D,WAA0BlvF,EAAImC,GAA9B,0FACS8R,MAAMxP,OAAOyP,QAAP,qBAA+BlU,GAAM,CAChDmU,OAAQ,MACRC,iBAAiB,EACjBC,QAAS,CACPiL,OAAQ,oCACRhL,cAAc,UAAD,OAAYvW,EAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,oBAElBvV,KAAM2B,KAAKE,UAAUsB,KAEpBqS,KAXI,uCAWC,WAAOC,GAAP,gFACEC,EAAaD,EAASE,OADxB,SAEeF,EAAS1N,OAFxB,cAEE5E,EAFF,yBAGGyS,QAAQC,IAAI,CAACH,EAAYvS,KAH5B,2CAXD,uDAgBJqS,MAAK,SAACM,GACL,OAAOA,KAERC,OAAM,SAAC5K,QApBZ,4CAnQ6D,+BAyR9CglF,GAzR8C,iFAyR7D,WAA6BnvF,GAA7B,0FACSiU,MAAMxP,OAAOyP,QAAP,qBAA+BlU,GAAM,CAChDmU,OAAQ,SACRC,iBAAiB,EACjBC,QAAS,CACPiL,OAAQ,oCACRhL,cAAc,UAAD,OAAYvW,EAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,sBAGjBC,KAVI,uCAUC,WAAOC,GAAP,gFACEC,EAAaD,EAASE,OADxB,SAEeF,EAAS1N,OAFxB,cAEE5E,EAFF,yBAGGyS,QAAQC,IAAI,CAACH,EAAYvS,KAH5B,2CAVD,uDAeJqS,MAAK,SAACM,GACL,OAAOA,KAERC,OAAM,SAAC5K,QAnBZ,4CAzR6D,+BA8S9Cu+E,GA9S8C,yFA8S7D,WACEjgF,EACAuN,EACAQ,EACA44E,EACAvrF,GALF,iFAOeoQ,MACXxP,OAAOyP,QAAP,8CACyCzL,EADzC,kBACyDuN,EADzD,mBACyEQ,EADzE,mBAC0F44E,EAD1F,4BAGA,CACEj7E,OAAQ,MACRC,iBAAiB,EACjBC,QAAS,CACPC,cAAc,UAAD,OAAYvW,EAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,sBAInBC,KAdU,uCAcL,WAAOC,GAAP,gFACEC,EAAaD,EAASE,OADxB,SAEeF,EAAS1N,OAFxB,cAEE5E,EAFF,yBAGGyS,QAAQC,IAAI,CAACH,EAAYvS,KAH5B,2CAdK,uDAmBVqS,MAAK,SAACM,GACL,IAAM3L,EAAI2L,EAAI,GACVhO,EAAM,YAAO2nF,IACjB,GAAItlF,EACF,IACErC,EAAOjD,GAAOoqF,aAAd,OAA6B9kF,QAA7B,IAA6BA,OAA7B,EAA6BA,EAAGi6D,OAChCt8D,EAAOjD,GAAOqqF,kBAAoB,CAChCnvF,MAAK,OAAEoK,QAAF,IAAEA,OAAF,EAAEA,EAAGi6D,OACVhgE,MAAK,OAAE+F,QAAF,IAAEA,OAAF,EAAEA,EAAGi6D,QAEZ,MAAO3jE,SAETqH,EAAOjD,GAAOoqF,aAAe,EAC7BnnF,EAAOjD,GAAOqqF,kBAAoB,CAChCnvF,MAAO,EACPqE,MAAO,GAGXsrF,GAAY5nF,MAEbiO,OAAM,SAAC5K,GACNnH,QAAQmH,MAAMA,MA/CpB,oFA9S6D,sBAgW7D,IAAMklF,GAA0B,CAC9B,CAAEjsF,MAAO,KACT,CAAEA,MAAO,MACT,CAAEA,MAAO,MACT,CAAEA,MAAO,MACT,CAAEA,MAAO,MACT,CAAEA,MAAO,QACT,CAAEA,MAAO,MACT,CAAEA,MAAO,QACT,CAAEA,MAAO,OACT,CAAEA,MAAO,OACT,CAAEA,MAAO,OACT,CAAEA,MAAO,OACT,CAAEA,MAAO,OACT,CAAEA,MAAO,OACT,CAAEA,MAAO,OACT,CAAEA,MAAO,OACT,CAAEA,MAAO,OACT,CAAEA,MAAO,QACTO,KAAI,SAACgnB,GAAD,MAAiB,CACrB5rB,MAAO4rB,EAAWvnB,MAClBA,MAAOunB,EAAWvnB,UA4bpBsQ,qBAAU,WAERjP,OAAO6qF,iBAAkB,EACzB7qF,OAAO8qF,mBAAoB,EAC3B9qF,OAAO+qF,yBAA0B,EACjC/qF,OAAOgrF,gBAAa/pF,EAGpBjB,OAAOirF,eAAYhqF,EACnBjB,OAAOkrF,oBAAiBjqF,EACxBjB,OAAOmrF,oBAAiBlqF,EACxBjB,OAAOorF,kBAAenqF,IACrB,IAEHgO,qBAAU,WAAO,IAAD,EACV8R,GAAqB,OAARikC,SAAQ,IAARA,QAAA,EAAAA,GAAUvwC,cAAc,EACrCsM,IACF/gB,OAAOqrF,cAAgBtqE,GAEzB/gB,OAAO6qF,iBAA0B,OAAR7lC,SAAQ,IAARA,IAAA,UAAAA,GAAUjW,eAAV,eAAmB/qC,QAAS,EAErDhE,OAAO8qF,mBAA4B,OAAR9lC,SAAQ,IAARA,QAAA,EAAAA,GAAUsmC,sBAAsB,EAC3DtrF,OAAOurF,oBAA6B,OAARvmC,SAAQ,IAARA,QAAA,EAAAA,GAAUwmC,uBAAuB,EAE7D,IAAIjzC,GAAgB,OAARyM,SAAQ,IAARA,QAAA,EAAAA,GAAUnvB,SAAS,EAC3B0iB,GACF7mB,GAAiB,UAAW6mB,GAG9B,IAAIh9C,GAAa,OAARypD,SAAQ,IAARA,QAAA,EAAAA,GAAUjmD,MAAM,EACrBxD,IACF0pF,EAAU1pF,GACVyE,OAAO+pD,UAAYxuD,GAGrB,IAAIkwF,GAAkB,OAARzmC,SAAQ,IAARA,QAAA,EAAAA,GAAUjW,WAAW,EAC/B08C,IACFzrF,OAAO0rF,qBAAuBD,GAGhC,IAAIE,GAA0B,OAAR3mC,SAAQ,IAARA,QAAA,EAAAA,GAAU+K,mBAAmB,EAC/C47B,GACsB,KAApBA,GAAwBC,IAAqB,GACjD3F,GAAmB0F,EAAkB,KAC5B3mC,IAAyB,OAAbA,IACrB4mC,IAAqB,GAGvBp6D,GAAoB,sBAEpB,IAAIq6D,GAAmB,OAAR7mC,SAAQ,IAARA,QAAA,EAAAA,GAAU6mC,YAAY,EACjCA,IAAUlyF,SAASsR,eAAe,cAAcgnB,QAAU45D,GAE9D,IAAIC,GACM,OAAR9mC,SAAQ,IAARA,QAAA,EAAAA,GAAU8mC,6BAA6B,EACrCA,IACFnyF,SAASsR,eACP,+BACAgnB,QAAU65D,KAES,OAAR9mC,SAAQ,IAARA,QAAA,EAAAA,GAAUT,YAAY,IAEnC/yB,GAAoB,oBAEtB,IAAIu6D,GAAuB,OAAR/mC,SAAQ,IAARA,QAAA,EAAAA,GAAUid,gBAAgB,EACzC8pB,GACF5E,GAAoB4E,GAGtB,IAAIC,GAA0B,OAARhnC,SAAQ,IAARA,QAAA,EAAAA,GAAUinC,mBAAmB,EAC/CD,GACFzE,GAAuByE,GAEzB,IAAInpB,GAA+B,OAAR7d,SAAQ,IAARA,QAAA,EAAAA,GAAU6d,wBAAwB,EACzDA,GACFwkB,GAA4BxkB,GAE9B,IAAIqpB,GAAyB,OAARlnC,SAAQ,IAARA,QAAA,EAAAA,GAAUknC,kBAAkB,EAC7CA,GACFzE,GAAsByE,GAExB,IAAIvrB,GAAsB,OAAR3b,SAAQ,IAARA,QAAA,EAAAA,GAAU2b,eAAe,EACvCA,GACFgnB,GAAmBhnB,IAGrB,OAAI3b,SAAJ,IAAIA,QAAJ,EAAIA,GAAUM,WAASw/B,GAAU,OAAG9/B,SAAH,IAAGA,QAAH,EAAGA,GAAUM,WAC7C,CAACN,KAMJ/1C,qBAAU,WACR,GAAIonD,EACF,GAA4B,KAAxBwuB,GA4BR,SAAsBxuB,GACpB7mD,MAAMxP,OAAOyP,QAAP,yBAA2C,CAC/CC,OAAQ,MACRC,iBAAiB,EACjBC,QAAS,CACPC,cAAc,UAAD,OAAYvW,EAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,sBAGjBC,KATH,uCASQ,WAAOC,GAAP,gFACEC,EAAaD,EAASE,OADxB,SAEeF,EAAS1N,OAFxB,cAEE5E,EAFF,yBAGGyS,QAAQC,IAAI,CAACH,EAAYvS,KAH5B,2CATR,uDAcGqS,MAAK,SAACM,GACLw0E,EAAsBx0E,EAAI,GAE1B0yB,GAAY1yB,EAAI,GAAJ,UAAsB,IAClCuM,GAAavM,EAAI,GAAJ,WAAuBmP,GACpC6lE,GAAeh1E,EAAI,GAAJ,UACfm1E,GAAYn1E,EAAI,GAAJ,UAAsBmP,GAClC2oE,GAAmB93E,EAAI,GAAJ,iBAA6BmP,GAChDimE,GAAap1E,EAAI,GAAJ,YAAwBmP,GACrCmmE,GAAoBt1E,EAAI,GAAJ,kBAA8BmP,GAClDomE,GAAUv1E,EAAI,GAAJ,SAAqBmP,GAC/BsmE,GAAWz1E,EAAI,GAAJ,SAAqBmP,GAChCqmE,GAAex1E,EAAI,GAAJ,aAAyBmP,GACxCytC,GAAmB58C,EAAI,GAAJ,iBAA6BmP,GAChDutC,GAAgB18C,EAAI,GAAJ,cAA0BmP,GAC1CynE,GAAa52E,EAAI,GAAJ,WAAuBmP,GACpCinE,GAA+Bp2E,EAAI,GAAJ,aAAyBmP,GACxD+mE,GACEl2E,EAAI,GAAJ,iBAA6BmP,GAE/Bxf,OAAO8xD,eAAiBzhD,EAAI,GAAJ,oBAAgCmP,EACxDxf,OAAOmsF,qBAAuB97E,EAAI,GAAJ,aAAyBmP,EACvDxf,OAAOosF,kBAAoB/7E,EAAI,GAAJ,SAAqBmP,EAChD,IAAM6sE,EAAch8E,EAAI,GAAJ,SAAqBmP,EACzCmU,GAAW0iC,EAAgBg2B,MAE5B/7E,OAAM,SAAC5K,GACNnH,QAAQmH,MAAMA,MArEd4mF,CAAaj2B,OACR,CACLtzB,GAAY8hD,EAAmB,UAAgB,IAC/CjoE,GAAaioE,EAAmB,WAAiBrlE,GACjD6lE,GAAeR,EAAmB,UAClCW,GAAYX,EAAmB,UAAgBrlE,GAC/C2oE,GACEtD,EAAmB,iBAAuBrlE,GAE5CimE,GAAaZ,EAAmB,YAAkBrlE,GAClDmmE,GACEd,EAAmB,kBAAwBrlE,GAE7ComE,GAAUf,EAAmB,SAAerlE,GAC5CsmE,GAAWjB,EAAmB,SAAerlE,GAC7CqmE,GAAehB,EAAmB,aAAmBrlE,GACrDytC,GACE43B,EAAmB,iBAAuBrlE,GAE5CynE,GAAapC,EAAmB,WAAiBrlE,GACjDutC,GAAgB83B,EAAmB,cAAoBrlE,GACvD,IAAM6sE,EAAcxH,EAAmB,SAAerlE,EACtDmU,GAAW0iC,EAAgBg2B,MAG9B,CAACh2B,IAgDJ,IAsDIk2B,GAtDE54D,GAAU,uCAAG,WAAO0iC,EAAgBg2B,GAAvB,4GAEM5uE,IAAMkD,KAAK,wCAAyC,CACvE01C,mBAHa,OAET/rD,EAFS,OAKTkiF,EAAWliF,EAAO5M,KAAP,iBACb+uF,EAAcniF,EAAO5M,KAAP,SAClB4qF,GAAsBmE,EAAYnnC,SAAW,IAE7CmnC,EAAYh4E,WAAag4E,EAAYh4E,YAAc,IACnDg4E,EAAYzzE,OAAZ,OAAqByzE,QAArB,IAAqBA,GAArB,UAAqBA,EAAazzE,cAAlC,aAAqB,EAAqB1V,QAAQ,GAClDmpF,EAAYvzE,KAAZ,OAAmBuzE,QAAnB,IAAmBA,GAAnB,UAAmBA,EAAavzE,YAAhC,aAAmB,EAAmB5V,QAAQ,GAC9CmpF,EAAY5zE,OAAZ,OAAqB4zE,QAArB,IAAqBA,GAArB,UAAqBA,EAAa5zE,cAAlC,aAAqB,EAAqBvV,QAAQ,GAClDmpF,EAAY18B,iBAA6B,OAAX08B,QAAW,IAAXA,OAAA,EAAAA,EAAa18B,kBAAmB,MAEnD,OAAX08B,QAAW,IAAXA,OAAA,EAAAA,EAAaxlB,cAAcjjE,QAAS,GAClCyoF,EAAYxlB,cAAc/nE,KAAI,SAAC8D,GAC7BA,EAAEgW,OAAS7V,YAAeH,EAAEgW,QAC5BhW,EAAEkW,KAAO/V,YAAeH,EAAEkW,SAE9BkvE,GAAgB,iBAACqE,QAAD,IAACA,OAAD,EAACA,EAAaxlB,qBAAd,QAA+B,IAC/Cke,GAAYsH,GACZvH,GAAkB,GAClB6C,IAAsB,GACE,IAApByE,EAASxoF,QAA6B,OAAbwoF,IAC3B3rF,IAAE,mBAAmBqxB,QACrB6yD,EAAO,MA1BM,4GAAH,wDAuDhB,OAxBA91E,qBAAU,WACR+2E,GAAkB,KACI,OAAlBqC,SAAkB,IAAlBA,QAAA,EAAAA,GAAoBrkF,QAAS,IAAY,OAAPshD,SAAO,IAAPA,QAAA,EAAAA,GAASthD,QAAS,GACtDqkF,GAAmBnpF,KAAI,SAACC,EAAMC,GAC5B4mF,IAAkB,SAAChjF,GAAD,4BACbA,GADa,CAEhB,kBAAC,IAAD,CACE7D,KAAMA,EACNutF,QAASttF,EACTA,MAAOA,EACP2wD,gBAAiBA,GACjB48B,SAAUrnC,GACVsiC,WAAYA,GACZnzE,WAAYA,GACZm4E,YAAY,EACZC,YAAY,EACZC,kBAAmB9sF,OAAOurF,mBAC1BwB,YAAY,cAInB,CAAC1E,GAAoB/iC,GAASyK,KAGjC,OAAQq1B,SAAR,IAAQA,QAAR,EAAQA,GAAaliB,UACnB,IAAK,MACHqpB,GAAc,wBAA0Bl2B,EACxC,MAEF,IAAK,yBAIL,IAAK,sBACHk2B,GAAc,wBAA0Bl2B,EACxC,MAEF,QACEk2B,GAAc,4BAA8Bl2B,EA/hCa,SAkiC9C22B,GAliC8C,mFAkiC7D,WAA0BzxF,EAAIQ,GAA9B,kFACMyU,EAAY,IAAIC,SACVC,OAAO,gBAAjB,2BAA4CpX,EAAG8L,OAAOC,kBAAtD,aAA4C,EAAsByK,QAE9Da,EAAiB,CACnBjB,OAAQ,MACRE,QAASY,EACTI,SAAU,UAPd,kBAUSpB,MAAM,GAAD,OACPxP,OAAOyP,QADA,sCACqClU,EADrC,uBAEC,aAATQ,EAFQ,wBAGe,cAATA,GAChB4U,GAECZ,MAAK,SAACC,GAAD,OAAcA,EAAS5V,UAC5B2V,MAAK,SAACzF,GAEL,OADUpO,KAAKC,MAAMmO,MAGtBgG,OAAM,SAAC5K,GAAD,OAAWnH,QAAQC,IAAI,QAASkH,OArB3C,4CAliC6D,+BAomC9CunF,GApmC8C,mFAomC7D,WAA2CluF,EAAIhD,GAA/C,uFACkBixF,GAAWjuF,EAAIhD,GADjC,OACMksB,EADN,YAEUlsB,EAFV,OAGS,sBAHT,OAMS,iBANT,OAUS,kBAVT,QAaS,kBAbT,QAiBS,wBAjBT,QAoBS,0BApBT,+BAIMoqF,GAAmBl+D,GAJzB,mCAOM0+D,GAAoB1+D,GACpBs9D,IAAgB,OAAHt9D,QAAG,IAAHA,OAAA,EAAAA,EAAKkX,WAAY,IARpC,oCAWM0nD,GAAuB5+D,GAX7B,oCAcM8+D,GAAuB9+D,GACvB0Z,IAAe,OAAH1Z,QAAG,IAAHA,OAAA,EAAAA,EAAKkX,WAAY,IAfnC,oCAkBMknD,GAAqBp+D,GAlB3B,oCAqBMygE,GAA+BzgE,GArBrC,sGApmC6D,sBAgoC7D,OAtEAhZ,qBAAU,YACR,OAAI+1C,SAAJ,IAAIA,QAAJ,EAAIA,GAAUkoC,oBACZD,GAA2B,OACzBjoC,SADyB,IACzBA,QADyB,EACzBA,GAAUkoC,kBACV,uBAGH,QAACloC,SAAD,IAACA,QAAD,EAACA,GAAUkoC,oBAEdj+E,qBAAU,YACR,OAAI+1C,SAAJ,IAAIA,QAAJ,EAAIA,GAAUmoC,eACZF,GAA2B,OAACjoC,SAAD,IAACA,QAAD,EAACA,GAAUmoC,aAAc,kBAErD,QAACnoC,SAAD,IAACA,QAAD,EAACA,GAAUmoC,eAEdl+E,qBAAU,YACR,OAAI+1C,SAAJ,IAAIA,QAAJ,EAAIA,GAAUooC,sBACZH,GAA2B,OACzBjoC,SADyB,IACzBA,QADyB,EACzBA,GAAUooC,oBACV,yBAGH,QAACpoC,SAAD,IAACA,QAAD,EAACA,GAAUooC,sBACdn+E,qBAAU,YACR,OAAI+1C,SAAJ,IAAIA,QAAJ,EAAIA,GAAUqoC,gBACZJ,GAA2B,OAACjoC,SAAD,IAACA,QAAD,EAACA,GAAUqoC,cAAe,mBAEtD,QAACroC,SAAD,IAACA,QAAD,EAACA,GAAUqoC,gBACdp+E,qBAAU,YACR,OAAI+1C,SAAJ,IAAIA,QAAJ,EAAIA,GAAUsoC,gBACZL,GAA2B,OAACjoC,SAAD,IAACA,QAAD,EAACA,GAAUsoC,cAAe,mBAEtD,QAACtoC,SAAD,IAACA,QAAD,EAACA,GAAUsoC,gBACdr+E,qBAAU,YACR,OAAI+1C,SAAJ,IAAIA,QAAJ,EAAIA,GAAUuoC,wBACZN,GAA2B,OACzBjoC,SADyB,IACzBA,QADyB,EACzBA,GAAUuoC,sBACV,2BAGH,QAACvoC,SAAD,IAACA,QAAD,EAACA,GAAUuoC,wBA+BZ,oCACE,kBAAC,IAAD,CACE7vE,oBAAoB,EACpBC,cAAeqnC,GACfpnC,iBAAkBxB,EAClByB,SAAU,SAACxb,GAAY,IAAD,EACpB,GAAImrF,YAAqBnrF,EAAO0sC,SAAU,OAAO,EAGjD,GAFA1sC,EAAO0sC,QAAU0+C,YAAiBprF,EAAO0sC,SA0yHnD,SAA6BuW,GAA4B,IAAnBqY,EAAkB,uDAAJ,GAC9C+vB,GAAY,EAqBhB,OApBA/vB,EAAYthE,SAAQ,SAAC2G,GACnB,IAAI2qF,EAAcroC,EAAQhnC,MAAK,SAAClH,GAAD,OAAQ,OAADA,QAAC,IAADA,OAAA,EAAAA,EAAGrY,OAAH,OAAUiE,QAAV,IAAUA,OAAV,EAAUA,EAAGuhD,cACpCugC,GAAWxmE,MACxB,SAAClH,GAAD,OAAQ,OAADA,QAAC,IAADA,OAAA,EAAAA,EAAGrY,OAAH,OAAUiE,QAAV,IAAUA,OAAV,EAAUA,EAAG4qF,SAAU,OAADx2E,QAAC,IAADA,OAAA,EAAAA,EAAGmtC,aAAH,OAAgBvhD,QAAhB,IAAgBA,OAAhB,EAAgBA,EAAGuhD,cAIhDopC,GAC0B,WAA1BA,EAAYE,WACW,MAAtB,OAAD7qF,QAAC,IAADA,OAAA,EAAAA,EAAG+sD,mBAEH29B,GAAY,IACoB,OAAXC,QAAW,IAAXA,OAAA,EAAAA,EAAaG,eAAgB,IACrC5uF,KAAI,SAAC8D,GAChB,IAAM+qF,EACuB,YAAhB,OAAXJ,QAAW,IAAXA,OAAA,EAAAA,EAAaE,WAAyB,QAAU,UAClD9yF,YAAagzF,GAAoB,OAAXJ,QAAW,IAAXA,OAAA,EAAAA,EAAa3uF,MAAO,MAAQgE,UAIjD0qF,EA9zHKM,CAAoB1oC,GAASjjD,EAAOijD,SAAU,OAAO,EAEzDtlD,OAAO8B,SAAU,EACjBO,EAAO4rF,WAAa5rF,EAAO4rF,aAAc,EACzC5rF,EAAOwpF,SAAWxpF,EAAOwpF,WAAY,EAErCxpF,EAAOugE,cAAgB5iE,OAAOgrF,WAEF,YAApB,OAAN3oF,QAAM,IAANA,OAAA,EAAAA,EAAQugE,gBACmB,MAA3B,OAACvgE,QAAD,IAACA,OAAD,EAACA,EAAQugE,uBAEFvgE,EAAOugE,cAGc,YAAtB,OAANvgE,QAAM,IAANA,OAAA,EAAAA,EAAQ8/D,kBACqB,MAA7B,OAAC9/D,QAAD,IAACA,OAAD,EAACA,EAAQ8/D,yBAEF9/D,EAAO8/D,gBAEhB,IAAIz9D,EAAI7D,IAAE,gBACPqtF,GAAG,GACH3sF,MACCmD,IACF7D,IAAE,aAAaU,IAAImD,GACnB8sB,GAAoB,aAGtBnvB,EAAOwgE,qBACLxgE,EAAOwgE,sBAAwBukB,GACjC/kF,EAAO4pF,gBACL5pF,EAAO4pF,iBAAmB3E,GAC5BjlF,EAAO6pF,eAAiB7pF,EAAO6pF,gBAAkB1E,GAEjDnlF,EAAO4/D,aAAe5/D,EAAO4/D,cAAgBilB,GAE7C7kF,EAAO8rF,gBAAkB9rF,EAAO8rF,iBAAmB,MAEnD,IAAIj3E,EAAI,GAoBR,IAnBC7U,EAAOijD,SAAW,IAAIjpD,SAAQ,SAAC2G,IAC9B,OAAIA,QAAJ,IAAIA,OAAJ,EAAIA,EAAGjE,KAAImY,EAAEjT,KAAKjB,MAEpBX,EAAOijD,QAAUpuC,SAEV7U,EAAOq+D,qBACPr+D,EAAOs+D,YAEd9+D,YAAe,WAAD,OAAaQ,QAAb,IAAaA,OAAb,EAAaA,EAAQoS,YACnC5S,YAAe,SAAD,OAAWQ,QAAX,IAAWA,OAAX,EAAWA,EAAQ+rF,UACjCvsF,YAAe,iBAAD,OAAmBQ,QAAnB,IAAmBA,OAAnB,EAAmBA,EAAQ4/D,cACzCpgE,YAAe,iBAAD,OAAmBQ,QAAnB,IAAmBA,OAAnB,EAAmBA,EAAQ0tD,iBAEd,OAAjB,OAAN1tD,QAAM,IAANA,OAAA,EAAAA,EAAQoS,cACV5S,YAAe,eAAD,OAAiBQ,QAAjB,IAAiBA,OAAjB,EAAiBA,EAAQiW,WACvCzW,YAAe,QAAD,OAAUQ,QAAV,IAAUA,OAAV,EAAUA,EAAQwgE,sBAChChhE,YAAe,WAAD,OAAaQ,QAAb,IAAaA,OAAb,EAAaA,EAAQkW,YACnC1W,YAAe,kBAAD,OAAoBQ,QAApB,IAAoBA,OAApB,EAAoBA,EAAQsS,kBAExC3U,OAAO8B,QAAS,OAAO,EAE3BO,EAAO0sC,SAAgB,OAAN1sC,QAAM,IAANA,OAAA,EAAAA,EAAQ0sC,UAAW,GACpC1sC,EAAOwW,OAASpT,SAAQ,OAACpD,QAAD,IAACA,OAAD,EAACA,EAAQwW,QACjCxW,EAAO6W,KAAOzT,SAAQ,OAACpD,QAAD,IAACA,OAAD,EAACA,EAAQ6W,MAC/B7W,EAAO2W,OAASvT,SAAQ,OAACpD,QAAD,IAACA,OAAD,EAACA,EAAQ2W,SAEjC,iBAAC3W,QAAD,IAACA,OAAD,EAACA,EAAQijD,eAAT,QAAoB,IAAIjpD,SAAQ,SAAC2G,EAAGe,GACxB,OAANf,GAAYX,EAAOijD,QAAQllB,OAAOr8B,EAAG,MAG3C6nF,IAAqB,GACrBnuE,IACGkD,KAAK,2CAA4C,CAChDte,SACAg0D,mBAEDtmD,MAAK,SAACtF,GACLmhF,IAAqB,GACL,OAAX,OAADnhF,QAAC,IAADA,OAAA,EAAAA,EAAG/M,QACkC,IAAnCsC,OAAO+qF,0BACT30B,GAAK,GACL/0D,YAAW,WACT,GACErB,OAAOu8D,wBAAwBxrD,QAC7B,wBACG,EACL,CACA,IAAIs9E,EAAgB10F,SACjBsR,eAAe,iBACfinB,QACCm8D,GACFA,EAAcn8D,QAEhB,IAAIo8D,EAA4B30F,SAASsR,eACvC,6BAEEqjF,GACFA,EAA0Bp8D,aAG5BlyB,OAAOu8D,wBAAwBxrD,QAC7B,qBACG,GAELpX,SACGsR,eAAe,8BACfinB,UAEJ,KACH7wB,YAAW,WAEPrB,OAAOu8D,wBAAwBxrD,QAAQ,YAAc,GAErDpX,SACGi3D,uBAAuB,aAAa,GACpC29B,cAAcr8D,UAElB,SAIR5hB,OAAM,kBAGV,gCAAG4N,EAAH,EAAGA,aAAc7P,EAAjB,EAAiBA,cAAehM,EAAhC,EAAgCA,OAAhC,OACC,oCA3XR,SAA+BgM,GAC7BrO,OAAOqO,cAAgBA,EA2XdmgF,CAAsBngF,GACvB,kBAAC,IAAD,CACEogF,qBAAqB,EACrBliF,KAAMy7E,GACNv7E,kBAAgB,gCAEhB,kBAAC,IAAMC,OAAP,KACE,kBAAC,IAAMI,MAAP,CAAavR,GAAG,gCAAhB,WAGA,kBAAC,IAAD,CACEoR,aAAW,QACX/E,QAAS,WACPqgF,IAAwB,GACxBU,OAGF,kBAAC,IAAD,QAGJ,kBAAC,IAAM/7E,KAAP,CAAYzR,UAAU,YAAtB,oCAGA,kBAAC,IAAM0R,OAAP,KACE,6BACE,4BACE3O,KAAK,SACL0J,QAAS,WACPqgF,IAAwB,GACpBtuF,SAASsR,eAAe,gBAC1BtR,SAASsR,eAAe,eAAeinB,SAG3C/2B,UAAU,kCARZ,MAYA,4BACE+C,KAAK,SACL0J,QAAS,WACPqgF,IAAwB,GACxB55E,EAAc,UAAW,IACzBs6E,KAEAtnF,YAAW,WACT1H,SAASsR,eAAe,eAAeinB,UACtC,MAEL/2B,UAAU,+BAXZ,UAkBN,kBAAC,IAAD,CAAWqlC,iBAAiB,OAC1B,kBAAC,IAAD,CAAMrlC,UAAU,yBACd,kBAAC,IAAMuR,OAAP,CAAcmV,aAAW,GACvB,yBAAK1mB,UAAU,aACb,yBAAKA,UAAU,YACb,kBAAC,IAAD,CACEgG,KAAK,KACLpC,GAAG,aACH8K,UAAW2f,IACXjf,YAAY,eACZ5L,MAAM,eACN2P,SAAS,UAGb,yBAAKnT,UAAU,YACb,kBAAC,IAAD,CACEwD,MAAM,gBACNwC,KAAK,YACLmN,UAAQ,EACRF,aAAY,OAAE/L,QAAF,IAAEA,OAAF,EAAEA,EAAQ6+D,UACtB7yD,cAAeA,EACflT,UAAU,gBAGd,yBAAKA,UAAU,iBACb,kBAAC,IAAD,CACEgG,KAAK,gBACL0I,UAAW2f,IACXjf,YAAY,aACZ5L,MAAM,aACN2P,UAAQ,KAGZ,yBAAKnT,UAAU,iBACb,kBAAC,IAAD,CACEwD,MAAM,eACNwC,KAAK,cACLmN,UAAQ,EACRF,aAAY,OAAE/L,QAAF,IAAEA,OAAF,EAAEA,EAAQs+D,YACtBtyD,cAAeA,EACflT,UAAU,iBAIhB,kBAAC,IAAD,CACEwR,aAAW,QACX/E,QAAS,WACPwuD,GAAK,GAEHp2D,OAAOu8D,wBAAwBxrD,QAAQ,YAAc,GAErDpX,SACGi3D,uBAAuB,uBAAuB,GAC9C29B,cAAcr8D,QAGjBlyB,OAAOu8D,wBAAwBxrD,QAC7B,qBACG,GAELpX,SACGsR,eAAe,8BACfinB,UAIP,kBAAC,IAAD,QAIJ,kBAAC,IAAMtlB,KAAP,KACG8P,GACC,yBAAKvhB,UAAU,qCACb,yBAAKA,UAAU,sCAAf,MAKJ,kBAAC,IAAUG,OAAX,CACEE,GAAImzB,IACJxzB,UAAU,6DACV2zB,QAAQ,OACR4R,SAAS,KAET,kBAAC,IAAD,CAAO5R,QAAQ,WAAW3zB,UAAU,wBAClC,wBAAIA,UAAU,oBAAd,WAEF,kBAAC,IAAD,CACEA,UAAWwpB,YACT,mDAEFplB,MAAO,CAAEC,SAAU,GAAIgkB,MAAO,OAAQod,IAAK,UAG/C,kBAAC,IAAUC,SAAX,CAAoBH,SAAS,KAC3B,kBAACguD,GAAD,CACErsF,OAAQA,EACRgM,cAAeA,EACfiG,UAAWA,GACX09C,OAAQA,GACRi2B,wBAAyBA,GACzB/yB,SAAUA,GACVgzB,gBAAiBA,GACjBxP,UAAWA,GACXtzB,YAAaA,GACbmnC,YAAaA,GACb5D,eAAgBA,GAAe1uE,OAC/BmrE,YAAaA,GACbz4D,UAAWA,GAAU1S,OACrBo8C,eAAgBA,EAChB9hD,SAAUA,MAGd,kBAAC,IAAUjZ,OAAX,CACEE,GAAImzB,IACJxzB,UAAU,6DACV2zB,QAAQ,OACR4R,SAAS,MAET,kBAAC,IAAD,CAAO5R,QAAQ,WAAW3zB,UAAU,wBAClC,wBAAIA,UAAU,oBAAd,UAEF,kBAAC,IAAD,CACEA,UAAWwpB,YACT,mDAEFplB,MAAO,CAAEC,SAAU,GAAIgkB,MAAO,OAAQod,IAAK,UAG/C,kBAAC,IAAUC,SAAX,CAAoBH,SAAS,MAC3B,kBAACiuD,GAAD,CACEtsF,OAAQA,EACRgM,cAAeA,EACfysB,OAAQA,GACRyiC,MAAOA,MAGmB,MAAtB,OAANl7D,QAAM,IAANA,OAAA,EAAAA,EAAQ0tD,uBACoB9uD,KAAtB,OAANoB,QAAM,IAANA,OAAA,EAAAA,EAAQ0tD,mBACR,oCACE,kBAAC,IAAUz0D,OAAX,CACEE,GAAImzB,IACJxzB,UAAU,wEACV2zB,QAAQ,OACR4R,SAAS,MAET,kBAAC,IAAD,CACE5R,QAAQ,UACR3zB,UAAU,wBAEV,wBAAIA,UAAU,oBAAd,WAEI2sF,IACA,kBAAC,IAAD,CACEtsF,GAAG,OACHorD,UAAU,SACVt6C,KAAK,KACL2tB,KAAK,SACL4sB,cAAY,OACZ1rD,UAAU,eAKlB,kBAAC,IAAD,CACEA,UAAWwpB,YACT,mDAEFplB,MAAO,CAAEC,SAAU,GAAIgkB,MAAO,OAAQod,IAAK,UAG/C,kBAAC,IAAUC,SAAX,CACEH,SAAS,KACTvlC,UAAU,iBAEV,oCACE,yBAAKA,UAAU,kBACb,yBAAKA,UAAU,kBACZ2sF,KACK,OAANzlF,QAAM,IAANA,GAAA,UAAAA,EAAQ0sC,eAAR,eAAiB/qC,SAAU,EACzB,kBAAC,IAAD,CACEo2E,WAAW,EACXwU,WAAW,EACX1wF,KAAK,UACLgF,KAAI,OAAEb,QAAF,IAAEA,OAAF,EAAEA,EAAQ0sC,QACd64C,WAAYA,GACZv5E,cAAeA,IAGjB,kBAAC,IAAD,CACE7S,GAAG,OACHorD,UAAU,SACV3sB,KAAK,SACL4sB,cAAY,OACZ1rD,UAAU,kBAS1B,kBAAC,IAAUG,OAAX,CACEE,GAAImzB,IACJxzB,UAAU,6DACV2zB,QAAQ,OACR4R,SAAS,KAET,kBAAC,IAAD,CAAO5R,QAAQ,WAAW3zB,UAAU,wBAClC,wBAAIA,UAAU,oBAAd,WAEF,kBAAC,IAAD,CACEA,UAAWwpB,YACT,mDAEFplB,MAAO,CAAEC,SAAU,GAAIgkB,MAAO,OAAQod,IAAK,UAG/C,kBAAC,IAAUC,SAAX,CAAoBH,SAAS,KAC3B,yBAAKvlC,UAAU,kBACb,yBAAKA,UAAU,iBACb,kBAAC,IAAD,CACEgG,KAAK,gBACL0I,UAAW2f,IACXjf,YAAY,aACZ5L,MAAM,aACN2P,UAAQ,KAGZ,yBAAKnT,UAAU,iBACb,kBAAC,IAAD,CACEwD,MAAM,eACNoP,UAAU,EACV5M,KAAK,cACLiN,aAAcs5E,GACdr5E,cAAeA,EACflT,UAAU,aACVmT,UAAQ,KAGZ,yBAAKnT,UAAU,YACb,yBAAKA,UAAU,OACb,yBAAKA,UAAU,iBACb,kBAAC,IAAD,CACEgG,KAAK,YACL0I,UAAW2f,IACXjf,YAAY,eACZ5L,MAAM,kBAGV,yBAAKxD,UAAU,iBACb,kBAAC,IAAD,CACEgG,KAAK,aACL0I,UAAW2f,IACXjf,YAAY,WACZ5L,MAAM,cAGV,yBAAKxD,UAAU,aACb,kBAAC,IAAD,CACEwD,MAAM,IACNvE,KAAK,YACL+G,KAAK,WACL5F,GAAG,aACHiP,SAAU,SAAC4E,GACTf,EAAc,WAAYe,EAAMrE,OAAOknB,aAK7C,yBAAK92B,UAAU,kBACb,kBAAC,IAAD,CACEgG,KAAK,eACLxC,MAAM,cACNrE,MAAO,CACLA,MAAK,OAAE+H,QAAF,IAAEA,OAAF,EAAEA,EAAQ8qF,aACfxuF,MAAO+mF,GAAiBpnE,MACtB,SAACtb,GAAD,OAAQ,OAADA,QAAC,IAADA,OAAA,EAAAA,EAAGjE,OAAH,OAAUsD,QAAV,IAAUA,OAAV,EAAUA,EAAQ8qF,iBADpB,UAGHzH,GAAiBpnE,MACf,SAACtb,GAAD,OAAQ,OAADA,QAAC,IAADA,OAAA,EAAAA,EAAGjE,OAAH,OAAUsD,QAAV,IAAUA,OAAV,EAAUA,EAAQ8qF,wBAJxB,aAGH,EAEGnuF,KACH,aAENsW,QAASowE,GAAiBxmF,KAAI,SAAC8D,GAC7B,MAAO,CACL1I,MAAO0I,EAAEjE,GACTJ,MAAK,OAAEqE,QAAF,IAAEA,OAAF,EAAEA,EAAGhE,SAGdwL,SAAQ,uCAAE,WAAO8e,GAAP,IAAA5kB,EAAA,wEACJA,EADI,OACA4kB,QADA,IACAA,OADA,EACAA,EAAUhvB,MAClB+T,EAAc,eAAgB3J,GAE1B2R,EAAI,MACJ3R,EALI,iCAMIsoF,GAAWtoF,EAAG,mBANlB,OAMN2R,EANM,OAONswE,GAAoBtwE,GACpBkvE,IAAc,QAAD,EAAAlvE,SAAA,eAAG8oB,WAAY,IARtB,wBAUNwnD,GAAoBtwE,GACpBkvE,GAAa,IAXP,4CAAF,wDAeV,6BACE,yBAAKjmF,MAAM,0BAAX,OACGonF,SADH,IACGA,QADH,EACGA,GAAkBvgE,YACnB,6BAFF,OAGGugE,SAHH,IAGGA,QAHH,EAGGA,GAAkBt7D,QACnB,6BAJF,OAKGs7D,SALH,IAKGA,QALH,EAKGA,GAAkBr7D,KALrB,WAMGq7D,SANH,IAMGA,QANH,EAMGA,GAAkBt+D,MANrB,WAOGs+D,SAPH,IAOGA,QAPH,EAOGA,GAAkBtlD,WAIzB,yBAAKjmC,UAAU,kBACb,kBAAC,IAAD,CACEgG,KAAK,cACLxC,MAAM,aACNyf,YAAW,OAAE/b,QAAF,IAAEA,OAAF,EAAEA,EAAQwsF,YACrBxgF,cAAeA,EACfiH,QAASgwE,GAAUpmF,KAAI,SAAC8D,GACtB,MAAO,CACL1I,MAAO0I,EAAEjE,GACTJ,MAAO8C,YAAE,OAACuB,QAAD,IAACA,OAAD,EAACA,EAAGqb,OAAN,OAAcrb,QAAd,IAAcA,OAAd,EAAcA,EAAGmjB,oBAKhC,yBAAKhrB,UAAU,kBACb,kBAAC,IAAD,CACEgG,KAAK,gBACLxC,MAAM,eACNrE,MAAO,CACLA,MAAK,OAAE+H,QAAF,IAAEA,OAAF,EAAEA,EAAQgrF,cACf1uF,MAAO+mF,GAAiBpnE,MACtB,SAACtb,GAAD,OAAQ,OAADA,QAAC,IAADA,OAAA,EAAAA,EAAGjE,OAAH,OAAUsD,QAAV,IAAUA,OAAV,EAAUA,EAAQgrF,kBADpB,UAGH3H,GAAiBpnE,MACf,SAACtb,GAAD,OAAQ,OAADA,QAAC,IAADA,OAAA,EAAAA,EAAGjE,OAAH,OAAUsD,QAAV,IAAUA,OAAV,EAAUA,EAAQgrF,yBAJxB,aAGH,EAEGruF,KACH,aAENsW,QAASowE,GAAiBxmF,KAAI,SAAC8D,GAC7B,MAAO,CACL1I,MAAO0I,EAAEjE,GACTJ,MAAK,OAAEqE,QAAF,IAAEA,OAAF,EAAEA,EAAGhE,SAGdwL,SAAQ,uCAAE,WAAO8e,GAAP,IAAA5kB,EAAA,sEACJA,EADI,OACA4kB,QADA,IACAA,OADA,EACAA,EAAUhvB,MAClB+T,EAAc,gBAAiB3J,GAC3B2R,EAAI,MACJ3R,EAJI,iCAKIsoF,GAAWtoF,EAAG,eALlB,OAKN2R,EALM,OAMNwwE,GAAuBxwE,GANjB,wBAQNwwE,GAAuBxwE,GARjB,4CAAF,wDAYV,6BACE,yBAAK/W,MAAM,0BAAX,OACGsnF,SADH,IACGA,QADH,EACGA,GAAqBzgE,YACtB,6BAFF,OAGGygE,SAHH,IAGGA,QAHH,EAGGA,GAAqBx7D,QACtB,6BAJF,OAKGw7D,SALH,IAKGA,QALH,EAKGA,GAAqBv7D,KALxB,WAMGu7D,SANH,IAMGA,QANH,EAMGA,GAAqBx+D,MANxB,WAOGw+D,SAPH,IAOGA,QAPH,EAOGA,GAAqBxlD,WAK5B,yBAAKjmC,UAAU,kBACb,kBAAC,IAAD,CACEgG,KAAK,gBACLxC,MAAM,cACNrE,MAAO,CACLA,MAAK,OAAE+H,QAAF,IAAEA,OAAF,EAAEA,EAAQirF,cACf3uF,MAAO+mF,GAAiBpnE,MACtB,SAACtb,GAAD,OAAQ,OAADA,QAAC,IAADA,OAAA,EAAAA,EAAGjE,OAAH,OAAUsD,QAAV,IAAUA,OAAV,EAAUA,EAAQirF,kBADpB,UAGH5H,GAAiBpnE,MACf,SAACtb,GAAD,OAAQ,OAADA,QAAC,IAADA,OAAA,EAAAA,EAAGjE,OAAH,OAAUsD,QAAV,IAAUA,OAAV,EAAUA,EAAQirF,yBAJxB,aAGH,EAEGtuF,KACH,aAENsW,QAASowE,GAAiBxmF,KAAI,SAAC8D,GAC7B,MAAO,CACL1I,MAAO0I,EAAEjE,GACTJ,MAAK,OAAEqE,QAAF,IAAEA,OAAF,EAAEA,EAAGhE,SAGdwL,SAAQ,uCAAE,WAAO8e,GAAP,IAAA5kB,EAAA,wEACJA,EADI,OACA4kB,QADA,IACAA,OADA,EACAA,EAAUhvB,MAClB+T,EAAc,gBAAiB3J,GAC3B2R,EAAI,MACJ3R,EAJI,iCAKIsoF,GAAWtoF,EAAG,iBALlB,OAKN2R,EALM,OAMN0wE,GAAuB1wE,GACvBsrB,IAAa,QAAD,EAAAtrB,SAAA,eAAG8oB,WAAY,IAPrB,wBASN4nD,GAAuB1wE,GACvBsrB,GAAY,IAVN,4CAAF,wDAcV,6BACE,yBAAKriC,MAAM,+BAAX,OACGwnF,SADH,IACGA,QADH,EACGA,GAAqB3gE,YACtB,6BAFF,OAGG2gE,SAHH,IAGGA,QAHH,EAGGA,GAAqB17D,QACtB,6BAJF,OAKG07D,SALH,IAKGA,QALH,EAKGA,GAAqBz7D,KALxB,WAMGy7D,SANH,IAMGA,QANH,EAMGA,GAAqB1+D,MANxB,WAOG0+D,SAPH,IAOGA,QAPH,EAOGA,GAAqB1lD,UAI1B,yBAAKjmC,UAAU,SACf,kBAAC,IAAD,CACEgG,KAAK,uBACLxC,MAAM,mBACN0P,cAAeA,EACf+P,YAAW,OAAE/b,QAAF,IAAEA,OAAF,EAAEA,EAAQysF,qBACrBx5E,QAAS6pB,GAASjgC,KAAI,SAAC8D,GACrB,MAAO,CACL1I,MAAO0I,EAAEjE,GACTJ,MAAK,OAAEqE,QAAF,IAAEA,OAAF,EAAEA,EAAGhE,cAOtB,yBAAK7D,UAAU,gBACb,yBAAKA,UAAU,kBACb,kBAAC,IAAD,CACEgG,KAAK,oBACLxC,MAAM,qBACNrE,MAAO,CACLA,MAAK,OAAE+H,QAAF,IAAEA,OAAF,EAAEA,EAAQ6qF,kBACfvuF,MAAO+mF,GAAiBpnE,MACtB,SAACtb,GAAD,OAAQ,OAADA,QAAC,IAADA,OAAA,EAAAA,EAAGjE,OAAH,OAAUsD,QAAV,IAAUA,OAAV,EAAUA,EAAQ6qF,sBADpB,UAGHxH,GAAiBpnE,MACf,SAACtb,GAAD,OAAQ,OAADA,QAAC,IAADA,OAAA,EAAAA,EAAGjE,OAAH,OAAUsD,QAAV,IAAUA,OAAV,EAAUA,EAAQ6qF,6BAJxB,aAGH,EAEGluF,KACH,aAENsW,QAASowE,GAAiBxmF,KAAI,SAAC8D,GAC7B,MAAO,CACL1I,MAAO0I,EAAEjE,GACTJ,MAAK,OAAEqE,QAAF,IAAEA,OAAF,EAAEA,EAAGhE,SAGdwL,SAAQ,uCAAE,WAAO8e,GAAP,IAAA5kB,EAAA,sEACJA,EADI,OACA4kB,QADA,IACAA,OADA,EACAA,EAAUhvB,MAClB+T,EAAc,oBAAqB3J,GAC/BtE,EAAI,MACJsE,EAJI,iCAKIsoF,GAAWtoF,EAAG,mBALlB,OAKNtE,EALM,OAMN+lF,GAAmB/lF,GANb,wBAQN+lF,GAAmB/lF,GARb,4CAAF,wDAYV,6BACE,yBAAKd,MAAM,+BAAX,OACG4mF,SADH,IACGA,QADH,EACGA,GAAiB//D,YAClB,6BAFF,OAGG+/D,SAHH,IAGGA,QAHH,EAGGA,GAAiB96D,QAClB,6BAJF,OAKG86D,SALH,IAKGA,QALH,EAKGA,GAAiB76D,KALpB,WAK2B66D,SAL3B,IAK2BA,QAL3B,EAK2BA,GAAiB99D,MAL5C,WAMG89D,SANH,IAMGA,QANH,EAMGA,GAAiB9kD,WAKxB,yBAAKjmC,UAAU,kBACb,kBAAC,IAAD,CACEgG,KAAK,uBACL0I,UAAW2f,IACXjf,YAAY,oBACZ5L,MAAM,uBAIV,yBAAKxD,UAAU,kBACb,kBAAC,IAAD,CACEgG,KAAK,sBACLxC,MAAM,qBACNrE,MAAO,CACLA,MAAK,OAAE+H,QAAF,IAAEA,OAAF,EAAEA,EAAQ+qF,oBACfzuF,MAAO+mF,GAAiBpnE,MACtB,SAACtb,GAAD,OAAQ,OAADA,QAAC,IAADA,OAAA,EAAAA,EAAGjE,OAAH,OAAUsD,QAAV,IAAUA,OAAV,EAAUA,EAAQ+qF,wBADpB,UAGH1H,GAAiBpnE,MACf,SAACtb,GAAD,OAAQ,OAADA,QAAC,IAADA,OAAA,EAAAA,EAAGjE,OAAH,OAAUsD,QAAV,IAAUA,OAAV,EAAUA,EAAQ+qF,+BAJxB,aAGH,EAEGpuF,KACH,aAENsW,QAASowE,GAAiBxmF,KAAI,SAAC8D,GAC7B,MAAO,CACL1I,MAAO0I,EAAEjE,GACTJ,MAAK,OAAEqE,QAAF,IAAEA,OAAF,EAAEA,EAAGhE,SAGdwL,SAAQ,uCAAE,WAAO8e,GAAP,IAAA5kB,EAAA,sEACJA,EADI,OACA4kB,QADA,IACAA,OADA,EACAA,EAAUhvB,MAClB+T,EAAc,sBAAuB3J,GACjCtE,EAAI,MACJsE,EAJI,iCAKIsoF,GAAWtoF,EAAG,qBALlB,OAKNtE,EALM,OAMNimF,GAAqBjmF,GANf,wBAQNimF,GAAqBjmF,GARf,4CAAF,wDAYV,6BACE,yBAAKd,MAAM,0BAAX,OACG8mF,SADH,IACGA,QADH,EACGA,GAAmBjgE,YACpB,6BAFF,OAGGigE,SAHH,IAGGA,QAHH,EAGGA,GAAmBh7D,QACpB,6BAJF,OAKGg7D,SALH,IAKGA,QALH,EAKGA,GAAmB/6D,KALtB,WAMG+6D,SANH,IAMGA,QANH,EAMGA,GAAmBh+D,MANtB,WAOGg+D,SAPH,IAOGA,QAPH,EAOGA,GAAmBhlD,WAK1B,yBAAKjmC,UAAU,kBACb,kBAAC,IAAD,CACEgG,KAAK,wBACLxC,MAAM,wBACNrE,MAAO,CACLA,MAAK,OAAE+H,QAAF,IAAEA,OAAF,EAAEA,EAAQkrF,sBACf5uF,MAAO+mF,GAAiBpnE,MACtB,SAACtb,GAAD,OAAQ,OAADA,QAAC,IAADA,OAAA,EAAAA,EAAGjE,OAAH,OAAUsD,QAAV,IAAUA,OAAV,EAAUA,EAAQkrF,0BADpB,UAGH7H,GAAiBpnE,MACf,SAACtb,GAAD,OACG,OAADA,QAAC,IAADA,OAAA,EAAAA,EAAGjE,OAAH,OAAUsD,QAAV,IAAUA,OAAV,EAAUA,EAAQkrF,iCALnB,aAGH,EAGGvuF,KACH,aAENsW,QAASowE,GAAiBxmF,KAAI,SAAC8D,GAC7B,MAAO,CACL1I,MAAO0I,EAAEjE,GACTJ,MAAK,OAAEqE,QAAF,IAAEA,OAAF,EAAEA,EAAGhE,SAGdwL,SAAQ,uCAAE,WAAO8e,GAAP,IAAA5kB,EAAA,sEACJA,EADI,OACA4kB,QADA,IACAA,OADA,EACAA,EAAUhvB,MAClB+T,EAAc,wBAAyB3J,GAEnC2R,EAAI,MACJ3R,EALI,iCAMIsoF,GAAWtoF,EAAG,mBANlB,OAMN2R,EANM,OAONqyE,GAA+BryE,GAPzB,wBASNqyE,GAA+BryE,GATzB,4CAAF,wDAaV,6BACE,yBAAK/W,MAAM,0BAAX,OACGmpF,SADH,IACGA,QADH,EACGA,GAA6BtiE,YAC9B,6BAFF,OAGGsiE,SAHH,IAGGA,QAHH,EAGGA,GAA6Br9D,QAC9B,6BAJF,OAKGq9D,SALH,IAKGA,QALH,EAKGA,GAA6Bp9D,KALhC,WAMGo9D,SANH,IAMGA,QANH,EAMGA,GAA6BrgE,MANhC,WAOGqgE,SAPH,IAOGA,QAPH,EAOGA,GAA6BrnD,YAKtC,yBAAKjmC,UAAU,kBACb,2BAAOA,UAx5D7B,wEAw5DsB,8CAIF,yBAAKA,UAAU,iBACb,kBAAC,IAAD,CACEgG,KAAK,YACL0I,UAAW2f,IACXjf,YAAY,aACZ5L,MAAM,gBAGV,yBAAKxD,UAAU,iBACb,kBAAC,IAAD,CACEgG,KAAK,kBACL4M,UAAU,EACVpP,MAAM,uBACNgE,KAAG,EACHrI,MAAOy1D,GACPvlD,SAAU,SAACC,GACT,IAAInQ,EAAQmQ,EAAEM,OAAOzQ,MAl2D7C2rF,GAm2D8C3rF,GACtB+T,EAAc,kBAAmB/T,KAGnC,kBAAC,IAAD,CACEA,MAAM,KACNm7B,QAAS,kBAAC,IAAD,CAAOvrB,MAAM,YACtBvL,MAAM,YAER,kBAAC,IAAD,CACErE,MAAM,KACNm7B,QAAS,kBAAC,IAAD,CAAOvrB,MAAM,YACtBvL,MAAM,YAER,kBAAC,IAAD,CACErE,MAAM,MACNm7B,QAAS,kBAAC,IAAD,CAAOvrB,MAAM,YACtBvL,MAAM,0BAIZ,yBAAKxD,UAAU,YACb,kBAAC,IAAD,CACEwD,MAAM,IACNvE,KAAK,4BACL+G,KAAK,4BACL5F,GAAG,8BACHiP,SAAU,SAAC4E,GACTf,EACE,4BACAe,EAAMrE,OAAOknB,YAInB,yBAAK92B,UAAU,eAEjB,yBAAKA,UAAU,kBACf,yBAAKA,UAAU,iJAGnB,kBAAC,IAAUG,OAAX,CACEE,GAAImzB,IACJxzB,UAAU,6DACV2zB,QAAQ,OACR4R,SAAS,KAET,kBAAC,IAAD,CAAO5R,QAAQ,WAAW3zB,UAAU,wBAClC,wBAAIA,UAAU,oBAAd,eACe,KACN,OAANkH,QAAM,IAANA,OAAA,EAAAA,EAAQtD,KACP,kBAAC,IAAD,CACEA,GAAE,OAAEsD,QAAF,IAAEA,OAAF,EAAEA,EAAQtD,GACZgwF,WAAW,EACXh/B,gBAAe,OAAE1tD,QAAF,IAAEA,OAAF,EAAEA,EAAQ0tD,gBACzB44B,eAAgBA,GAChB6C,oBAAmB,OAAEnpF,QAAF,IAAEA,OAAF,EAAEA,EAAQmpF,oBAC7BwD,uBAAwB,SAACvkF,GACvBzK,OAAOurF,mBAAqB9gF,EAC5BzK,OAAOivF,gBAAkBxkF,EACzB4D,EAAc,sBAAuB5D,GAC1B9Q,SAASo0D,iBAClB,uBAEG1xD,SAAQ,SAACusF,GACZA,EAAI12D,eAKV41D,IACA,kBAAC,IAAD,CACEtsF,GAAG,OACHorD,UAAU,SACVt6C,KAAK,KACL2tB,KAAK,SACL4sB,cAAY,OACZ1rD,UAAU,eAKlB,kBAAC,IAAD,CACEA,UAAWwpB,YACT,mDAEFplB,MAAO,CAAEC,SAAU,GAAIgkB,MAAO,OAAQod,IAAK,UAG/C,kBAAC,IAAUC,SAAX,CAAoBH,SAAS,KAC3B,yBAAKvlC,UAAU,kBACb,yBAAKA,UAAU,aACb,4BACE+C,KAAK,SACLoB,MAAM,wCACNsI,QAAS,WACP,IAAIlD,EAAIqhF,GAAe/hF,OACvB2kF,KAKA3C,IAAkB,SAAChjF,EAAG5D,GAAJ,4BACb4D,GADa,CAEhB,kBAAC,IAAD,CACE0pF,QAAShoF,EACTvF,KAAM,GACNC,MAAOA,EACP2wD,gBAAiBA,GACjB48B,SAAUrnC,GACVsiC,WAAYA,GACZnzE,WAAYA,GACZm4E,YAAY,EACZC,YAAY,EACZC,kBAAmB9sF,OAAOurF,mBAC1BwB,YAAY,WAKlB,uBAAGztF,MAAM,qBA5BX,oBA+BDwoF,KACO,OAANzlF,QAAM,IAANA,GAAA,UAAAA,EAAQ0sC,eAAR,eAAiB/qC,SAAU,GAC3B+hF,GAAe7mF,KAAI,SAAC8D,GAAD,OAAOA,OAGhC,kBAAC,IAAU1H,OAAX,CACEE,GAAImzB,IACJxzB,UAAU,6DACV2zB,QAAQ,OACR4R,SAAS,KAET,kBAAC,IAAD,CAAO5R,QAAQ,WAAW3zB,UAAU,wBAClC,wBAAIA,UAAU,oBAAd,UAEF,kBAAC,IAAD,CACEA,UAAWwpB,YACT,mDAEFplB,MAAO,CAAEC,SAAU,GAAIgkB,MAAO,OAAQod,IAAK,UAG/C,kBAAC,IAAUC,SAAX,CAAoBH,SAAS,KAC3B,oCACc,OAAXr+B,EACC,kBAAC,IAAD,CACE9G,GAAIypF,EACJkK,UAAW7sF,EAAOwzB,MAClBi3B,aAAcA,GACdqiC,cAAenI,GACfjrF,KAAK,cAGP,KAIN,kBAAC,IAAUT,OAAX,CACEE,GAAImzB,IACJxzB,UAAU,6DACV2zB,QAAQ,OACR4R,SAAS,KAET,kBAAC,IAAD,CAAO5R,QAAQ,WAAW3zB,UAAU,wBAClC,wBAAIA,UAAU,oBAAd,gBAEF,kBAAC,IAAD,CACEA,UAAWwpB,YACT,mDAEFplB,MAAO,CAAEC,SAAU,GAAIgkB,MAAO,OAAQod,IAAK,UAG/C,kBAAC,IAAUC,SAAX,CAAoBH,SAAS,KAC3B,oCACc,OAAXr+B,EACC,kBAAC,IAAD,CACE9G,GAAIypF,EACJ/b,eAAgB5mE,EAAOsjD,aAAe,GACtCqH,gBAAiBA,GACjBF,aAAcA,GACd/wD,KAAK,aAGP,KAIN,kBAAC,IAAUT,OAAX,CACEE,GAAImzB,IACJxzB,UAAU,6DACV2zB,QAAQ,OACR4R,SAAS,KAET,kBAAC,IAAD,CAAO5R,QAAQ,WAAW3zB,UAAU,wBAClC,wBAAIA,UAAU,oBAAd,yBAEF,kBAAC,IAAD,CACEA,UAAWwpB,YACT,mDAEFplB,MAAO,CAAEC,SAAU,GAAIgkB,MAAO,OAAQod,IAAK,UAG/C,kBAAC,IAAUC,SAAX,CAAoBH,SAAS,KAC3B,yBAAKvlC,UAAU,uBACZotF,IAAoB,kBAAC,IAAD,MAnvDhCyB,GAAS9qF,KAAI,SAACihB,EAAIpc,GAAL,OAClB,yBAAK5I,UAAU,wBAAwBsH,IAAKsB,GAC1C,yBAAK5I,UAAU,aACb,yBAAKA,UAAU,OACb,yBAAKA,UAAU,OACb,yBAAKA,UAAU,OACb,yBAAKA,UAAU,YACb,0BACEmE,MAAM,0DACNC,MAAO,CAAEC,SAAU,UAEhB,OAAF2gB,QAAE,IAAFA,OAAA,EAAAA,EAAI4oE,QAAS,WAAb,yBAAqC5oE,QAArC,IAAqCA,OAArC,EAAqCA,EAAIphB,MAG9C,yBAAK5D,UAAU,WAAWoE,MAAO,CAAEyN,cAAe,UAChD,4BACEpF,QAAO,sBAAE,0FACHuY,QADG,IACHA,OADG,EACHA,EAAIphB,IADD,gCAEC2rF,GAAa,OAACvqE,QAAD,IAACA,OAAD,EAACA,EAAIphB,IAFnB,uBAGC8pF,GAAYxyB,GAHb,6BAKL7nB,GAAYzqC,GALP,OAOPhJ,YAAa,UAAW,WAPjB,2CASTmD,KAAK,SACLoB,MAAM,6BAEN,uBACEA,MAAM,qBACNC,MAAO,CAAEu4B,aAAc,gBAM/B,yBAAK38B,UAAU,OAEb,yBAAKA,UAAU,kBACb,yBAAKA,UAAU,YACb,sCACA,2BACE0O,UAAW2f,IACXjf,YAAY,MACZpP,UAAU,eACVb,MAAK,OAAE6lB,QAAF,IAAEA,OAAF,EAAEA,EAAIxH,cACXnO,SAAU,SAACC,GACT,IACE,IAAIpI,EAAM,YAAO2nF,IACjB3nF,EAAO0B,GAAG4U,cAAgBlO,EAAEM,OAAOzQ,MACnC+H,EAAO0B,GAAGilF,YAAa,EACvBiB,GAAY5nF,GACZ,MAAOrH,MAEXkD,KAAK,OACLiD,KAAK,oBAGO,KAAb,OAAFgf,QAAE,IAAFA,OAAA,EAAAA,EAAI4oE,QACH,yBAAK5tF,UAAU,YACb,4CAAyB,IACzB,0BAAMA,UAAU,eAAhB,KACA,kBAAC,IAAD,CACEgG,KAAK,mBACLqJ,SAAU,SAACC,GACT,IACE,IAAIpI,EAAM,YAAO2nF,IACjB3nF,EAAO0B,GAAGsmF,iBAAmB5/E,EAAEnQ,MAC/B+H,EAAO0B,GAAGilF,YAAa,EACvBiB,GAAY5nF,GACZ,MAAOrH,MAEXsa,QAAO,OAAEgxE,SAAF,IAAEA,QAAF,EAAEA,GAAiCpnF,KAAI,SAAC8D,GAC7C,MAAO,CACL1I,MAAK,OAAE0I,QAAF,IAAEA,OAAF,EAAEA,EAAGjE,GACVJ,MAAK,OAAEqE,QAAF,IAAEA,OAAF,EAAEA,EAAGhE,YAMlB,yBAAK7D,UAAU,YACb,4CAAyB,IACzB,0BAAMA,UAAU,eAAhB,KACA,kBAAC,IAAD,CACEgG,KAAK,mBACL7G,MAAK,OAAEgsF,SAAF,IAAEA,QAAF,EAAEA,GAAiC57E,QACtC,SAAChG,GAAD,OAAOA,EAAE3F,MAAF,OAASohB,QAAT,IAASA,OAAT,EAASA,EAAIkqE,qBACpBnrF,KAAI,SAAC8D,GACL,MAAO,CACL1I,MAAK,OAAE0I,QAAF,IAAEA,OAAF,EAAEA,EAAGjE,GACVJ,MAAK,OAAEqE,QAAF,IAAEA,OAAF,EAAEA,EAAGhE,SAGdwL,SAAU,SAACC,GACT,IACE,IAAIpI,EAAM,YAAO2nF,IACjB3nF,EAAO0B,GAAGsmF,iBAAmB5/E,EAAEnQ,MAC/B+H,EAAO0B,GAAGilF,YAAa,EACvBiB,GAAY5nF,GACZ,MAAOrH,MAEXsa,QAAO,OAAEgxE,SAAF,IAAEA,QAAF,EAAEA,GAAiCpnF,KAAI,SAAC8D,GAC7C,MAAO,CACL1I,MAAK,OAAE0I,QAAF,IAAEA,OAAF,EAAEA,EAAGjE,GACVJ,MAAK,OAAEqE,QAAF,IAAEA,OAAF,EAAEA,EAAGhE,aAMJ,KAAb,OAAFmhB,QAAE,IAAFA,OAAA,EAAAA,EAAI4oE,QACH,yBAAK5tF,UAAU,YACb,+CAA4B,IAC5B,0BAAMA,UAAU,eAAhB,KACA,kBAAC,IAAD,CACEgG,KAAK,eACLqJ,SAAU,SAACC,GACT,IACE,IAAIpI,EAAM,YAAO2nF,IACjB3nF,EAAO0B,GAAGwlF,aAAe9+E,EAAEnQ,MAC3B+H,EAAO0B,GAAGilF,YAAa,EACvBiB,GAAY5nF,GACZ,MAAOrH,MAEXsa,QAAO,OAAEkxE,SAAF,IAAEA,QAAF,EAAEA,GAA6BtnF,KAAI,SAAC8D,GACzC,MAAO,CACL1I,MAAK,OAAE0I,QAAF,IAAEA,OAAF,EAAEA,EAAGjE,GACVJ,MAAK,OAAEqE,QAAF,IAAEA,OAAF,EAAEA,EAAGhE,YAMlB,yBAAK7D,UAAU,YACb,+CAA4B,IAC5B,0BAAMA,UAAU,eAAhB,KACA,kBAAC,IAAD,CACEgG,KAAK,mBACL7G,MAAK,OAAEksF,SAAF,IAAEA,QAAF,EAAEA,GAA6B97E,QAClC,SAAChG,GAAD,OAAOA,EAAE3F,MAAF,OAASohB,QAAT,IAASA,OAAT,EAASA,EAAIopE,iBACpBrqF,KAAI,SAAC8D,GACL,MAAO,CACL1I,MAAK,OAAE0I,QAAF,IAAEA,OAAF,EAAEA,EAAGjE,GACVJ,MAAK,OAAEqE,QAAF,IAAEA,OAAF,EAAEA,EAAGhE,SAGdwL,SAAU,SAACC,GACT,IACE,IAAIpI,EAAM,YAAO2nF,IACjB3nF,EAAO0B,GAAGwlF,aAAe9+E,EAAEnQ,MAC3B+H,EAAO0B,GAAGilF,YAAa,EACvBiB,GAAY5nF,GACZ,MAAOrH,MAEXsa,QAAO,OAAEkxE,SAAF,IAAEA,QAAF,EAAEA,GAA6BtnF,KAAI,SAAC8D,GACzC,MAAO,CACL1I,MAAK,OAAE0I,QAAF,IAAEA,OAAF,EAAEA,EAAGjE,GACVJ,MAAK,OAAEqE,QAAF,IAAEA,OAAF,EAAEA,EAAGhE,YAMpB,yBAAK7D,UAAU,YACb,kDACA,0BAAMA,UAAU,eAAhB,KACA,2BACE0O,UAAW2f,IACXjf,YAAY,WACZpP,UAAU,eACV+C,KAAK,OACL5D,MAAK,OAAE6lB,QAAF,IAAEA,OAAF,EAAEA,EAAIiqE,eACX5/E,SAAU,SAACC,GACT,IACE,IAAIpI,EAAM,YAAO2nF,IACjB3nF,EAAO0B,GAAGqmF,eAAiB3/E,EAAEM,OAAOzQ,MACpC+H,EAAO0B,GAAGilF,YAAa,EACvBiB,GAAY5nF,GACZ,MAAOrH,MAEXmG,KAAK,oBAIT,yBAAKhG,UAAU,iBACb,yCACA,2BACE+C,KAAK,SACL/C,UAAU,eACVgG,KAAK,YACL0I,UAAW2f,IACXjf,YAAY,aACZwD,UAAU,EACVzT,MAAK,OAAE6lB,QAAF,IAAEA,OAAF,EAAEA,EAAIinD,SACX58D,SAAU,SAACC,GACT,IACE,IAAIpI,EAAM,YAAO2nF,IACjB3nF,EAAO0B,GAAGqjE,SAAW38D,EAAEM,OAAOzQ,MAC9B+H,EAAO0B,GAAGilF,YAAa,EACvBiB,GAAY5nF,GACZ,MAAOrH,MAEXi2B,IAAI,OAGR,yBAAK91B,UAAU,kBACb,yCACA,0BAAMA,UAAU,eAAhB,KACA,2BACE+C,KAAK,SACLiD,KAAK,SACL5F,GAAG,WACHJ,UAAU,eACV0O,UAAW2f,IACXjf,YAAY,SACZjQ,MAAK,OAAE6lB,QAAF,IAAEA,OAAF,EAAEA,EAAInH,OACXiY,IAAI,IACJzmB,SAAU,SAACC,GACT,IACE,IAAIpI,EAAM,YAAO2nF,IACjB3nF,EAAO0B,GAAGiV,OAASvO,EAAEM,OAAOzQ,MAC5B+H,EAAO0B,GAAGilF,YAAa,EACvBiB,GAAY5nF,GAGK,MAAb,OAAF8d,QAAE,IAAFA,OAAA,EAAAA,EAAIipE,SACU,MAAZ,OAAFjpE,QAAE,IAAFA,OAAA,EAAAA,EAAImpE,QACW,MAAb,OAAFnpE,QAAE,IAAFA,OAAA,EAAAA,EAAIkpE,SACW,MAAb,OAAFlpE,QAAE,IAAFA,OAAA,EAAAA,EAAInH,SAEJirE,GAA4B,OAC1B9jE,QAD0B,IAC1BA,OAD0B,EAC1BA,EAAIipE,OADsB,OAE1BjpE,QAF0B,IAE1BA,OAF0B,EAE1BA,EAAImpE,MAFsB,OAG1BnpE,QAH0B,IAG1BA,OAH0B,EAG1BA,EAAIkpE,OAHsB,OAI1BlpE,QAJ0B,IAI1BA,OAJ0B,EAI1BA,EAAInH,OACJjV,GAGJ,MAAO/I,SAKf,yBAAKG,UAAU,iBACb,uCACA,2BACE0O,UAAW2f,IACXjf,YAAY,OACZpP,UAAU,eACVb,MAAK,OAAE6lB,QAAF,IAAEA,OAAF,EAAEA,EAAIupE,KACXl/E,SAAU,SAACC,GACT,IACE,IAAIpI,EAAM,YAAO2nF,IACjB3nF,EAAO0B,GAAG2lF,KAAOj/E,EAAEM,OAAOzQ,MAC1B+H,EAAO0B,GAAGilF,YAAa,EACvBiB,GAAY5nF,GACZ,MAAOrH,MAEXkD,KAAK,OACLiD,KAAK,UAIT,yBAAKhG,UAAU,kBACb,4CACA,0BAAMA,UAAU,eAAhB,KACA,2BACE0O,UAAW2f,IACXjf,YAAY,YACZpP,UAAU,eACVb,MAAK,OAAE6lB,QAAF,IAAEA,OAAF,EAAEA,EAAIgqE,UACX3/E,SAAU,SAACC,GACT,IACE,IAAIpI,EAAM,YAAO2nF,IACjB3nF,EAAO0B,GAAGomF,UAAY1/E,EAAEM,OAAOzQ,MAC/B+H,EAAO0B,GAAGilF,YAAa,EACvBiB,GAAY5nF,GACZ,MAAOrH,MAEXkD,KAAK,OACLiD,KAAK,gBAKX,yBAAKhG,UAAU,uBACb,yBAAKA,UAAU,YACb,wCACA,0BAAMA,UAAU,eAAhB,KACA,kBAAC,IAAD,CACEgG,KAAK,eACLmU,QAASs1E,GACTtwF,MAAK,OAAE6lB,QAAF,IAAEA,OAAF,EAAEA,EAAIspE,kBACXj/E,SAAU,SAACC,GACT,IACE,IAAIpI,EAAM,YAAO2nF,IACjB3nF,EAAO0B,GAAGylF,aAAe/+E,EAAEnQ,MAC3B+H,EAAO0B,GAAGilF,YAAa,EACvB3mF,EAAO0B,GAAG0lF,kBAAoBh/E,EAC9Bw/E,GAAY5nF,GACZ,MAAOrH,SAIf,yBAAKG,UAAU,YACb,wCACA,0BAAMA,UAAU,eAAhB,KACA,2BACE+C,KAAK,SACLiD,KAAK,QACL5F,GAAG,UACHJ,UAAU,eACV0O,UAAW2f,IACXjf,YAAY,QACZjQ,MAAK,OAAE6lB,QAAF,IAAEA,OAAF,EAAEA,EAAImpE,MACXr4D,IAAI,IACJzmB,SAAU,SAACC,GACT,IACE,IAAIpI,EAAM,YAAO2nF,IACjB3nF,EAAO0B,GAAGulF,MAAQ7+E,EAAEM,OAAOzQ,MAC3B+H,EAAO0B,GAAGilF,YAAa,EACvBiB,GAAY5nF,GAGK,MAAb,OAAF8d,QAAE,IAAFA,OAAA,EAAAA,EAAIipE,SACU,MAAZ,OAAFjpE,QAAE,IAAFA,OAAA,EAAAA,EAAImpE,QACW,MAAb,OAAFnpE,QAAE,IAAFA,OAAA,EAAAA,EAAIkpE,SACW,MAAb,OAAFlpE,QAAE,IAAFA,OAAA,EAAAA,EAAInH,SAEJirE,GAA4B,OAC1B9jE,QAD0B,IAC1BA,OAD0B,EAC1BA,EAAIipE,OADsB,OAE1BjpE,QAF0B,IAE1BA,OAF0B,EAE1BA,EAAImpE,MAFsB,OAG1BnpE,QAH0B,IAG1BA,OAH0B,EAG1BA,EAAIkpE,OAHsB,OAI1BlpE,QAJ0B,IAI1BA,OAJ0B,EAI1BA,EAAInH,OACJjV,GAGJ,MAAO/I,SAIf,yBAAKG,UAAU,YACb,yCACA,0BAAMA,UAAU,eAAhB,KACA,2BACE+C,KAAK,SACLiD,KAAK,SACL5F,GAAG,WACHJ,UAAU,eACV0O,UAAW2f,IACXjf,YAAY,SACZjQ,MAAK,OAAE6lB,QAAF,IAAEA,OAAF,EAAEA,EAAIkpE,OACXp4D,IAAI,IACJzmB,SAAU,SAACC,GACT,IACE,IAAIpI,EAAM,YAAO2nF,IACjB3nF,EAAO0B,GAAGslF,OAAS5+E,EAAEM,OAAOzQ,MAC5B+H,EAAO0B,GAAGilF,YAAa,EACvBiB,GAAY5nF,GAGK,MAAb,OAAF8d,QAAE,IAAFA,OAAA,EAAAA,EAAIipE,SACU,MAAZ,OAAFjpE,QAAE,IAAFA,OAAA,EAAAA,EAAImpE,QACW,MAAb,OAAFnpE,QAAE,IAAFA,OAAA,EAAAA,EAAIkpE,SACW,MAAb,OAAFlpE,QAAE,IAAFA,OAAA,EAAAA,EAAInH,SAEJirE,GAA4B,OAC1B9jE,QAD0B,IAC1BA,OAD0B,EAC1BA,EAAIipE,OADsB,OAE1BjpE,QAF0B,IAE1BA,OAF0B,EAE1BA,EAAImpE,MAFsB,OAG1BnpE,QAH0B,IAG1BA,OAH0B,EAG1BA,EAAIkpE,OAHsB,OAI1BlpE,QAJ0B,IAI1BA,OAJ0B,EAI1BA,EAAInH,OACJjV,GAGJ,MAAO/I,SAIf,yBAAKG,UAAU,YACb,yCACA,0BAAMA,UAAU,eAAhB,KACA,2BACE+C,KAAK,SACLiD,KAAK,SACL5F,GAAG,WACHJ,UAAU,eACV0O,UAAW2f,IACXjf,YAAY,SACZjQ,MAAK,OAAE6lB,QAAF,IAAEA,OAAF,EAAEA,EAAIipE,OACXn4D,IAAI,IACJzmB,SAAU,SAACC,GACT,IACE,IAAIpI,EAAM,YAAO2nF,IACjB3nF,EAAO0B,GAAGqlF,OAAS3+E,EAAEM,OAAOzQ,MAC5B+H,EAAO0B,GAAGilF,YAAa,EACvBiB,GAAY5nF,GAGK,MAAb,OAAF8d,QAAE,IAAFA,OAAA,EAAAA,EAAIipE,SACU,MAAZ,OAAFjpE,QAAE,IAAFA,OAAA,EAAAA,EAAImpE,QACW,MAAb,OAAFnpE,QAAE,IAAFA,OAAA,EAAAA,EAAIkpE,SACW,MAAb,OAAFlpE,QAAE,IAAFA,OAAA,EAAAA,EAAInH,SAEJirE,GAA4B,OAC1B9jE,QAD0B,IAC1BA,OAD0B,EAC1BA,EAAIipE,OADsB,OAE1BjpE,QAF0B,IAE1BA,OAF0B,EAE1BA,EAAImpE,MAFsB,OAG1BnpE,QAH0B,IAG1BA,OAH0B,EAG1BA,EAAIkpE,OAHsB,OAI1BlpE,QAJ0B,IAI1BA,OAJ0B,EAI1BA,EAAInH,OACJjV,GAGJ,MAAO/I,SAIf,yBAAKG,UAAU,qBACb,kBAAC,IAAD,CACEA,UAAU,eACVf,KAAK,cACL+G,KAAK,sBACL5F,GAAG,sBACH02B,QAAO,OAAE9R,QAAF,IAAEA,OAAF,EAAEA,EAAIoqC,oBACb//C,SAAU,SAACC,GACT,IACE,IAAIpI,EAAM,YAAO2nF,IACjB3nF,EAAO0B,GAAGwmD,oBAAsB9/C,EAAEM,OAAOknB,QACzC5vB,EAAO0B,GAAGilF,YAAa,EACvBiB,GAAY5nF,GACZ,MAAOrH,kBAw0CX,yBAAKG,UAAU,uBACb,yBAAKA,UAAU,OACb,4BACE+C,KAAK,SACL0J,QAAS63B,GAASxlB,KAAK,GACvB1a,MAAO,CACLyhC,MAAO,QACPzvB,MAAO,OAETpW,UAAU,8BAEV,uBACEA,UAAS,oBACToE,MAAO,CACLu4B,aAAc,aAEZ,KAER,4BACE55B,KAAK,SACL0J,QAAO,sBAAE,8FACDihF,GAAYxyB,GADX,2CAGT92D,MAAO,CACLyhC,MAAO,QACPzvB,MAAO,OAETpW,UAAU,gCAEV,uBACEA,UAAS,wBACToE,MAAO,CACLu4B,aAAc,aAEZ,KAEPkyD,GAAShmF,OAAS,GACjB,4BACE9F,KAAK,SACL3C,GAAG,eACH+S,UACG07E,GAASz+E,MACR,SAACvI,GAAD,OAAS,OAADA,QAAC,IAADA,OAAA,EAAAA,EAAGjE,KAAMiE,EAAEgmF,aAAZ,OAA2BhmF,QAA3B,IAA2BA,OAA3B,EAA2BA,EAAG+lF,WAGzCzpF,MAAM,6BACNC,MAAO,CACLyhC,MAAO,QACPzvB,MAAO,OAET3J,QAAO,sBAAE,8EACP,KACU,OAARoiF,SAAQ,IAARA,QAAA,EAAAA,GAAUhmF,QAAS,GACjBgmF,GAAS9qF,IAAT,uCAAa,WAAOihB,GAAP,sEACL,OAAFA,QAAE,IAAFA,OAAA,EAAAA,EAAIphB,OAAJ,OAAUohB,QAAV,IAAUA,OAAV,EAAUA,EAAI6oE,YADP,gCAEHyB,GAAU,OAACtqE,QAAD,IAACA,OAAD,EAACA,EAAIphB,GAAIohB,GAFhB,OAGTplB,YACE,UADU,yBAEColB,QAFD,IAECA,OAFD,EAECA,EAAIphB,GAFL,mCAIZsC,WAAU,sBAAC,qFACTmnF,IAAoB,GADX,SAEHK,GAAYxyB,GAFT,OAGTmyB,IAAoB,GAHX,2CAIR,KAXM,mBAaProE,QAbO,IAaPA,OAbO,EAaPA,EAAI4oE,QAbG,uBAcT5oE,EAAGwjC,WAAa0S,EAdP,SAeH6zB,GAAY/pE,GAfT,2CAAb,uDAkBF,MAAOnlB,IArBF,4CAwBT,uBACEsE,MAAM,oBACNC,MAAO,CACLu4B,aAAc,kBAS7BmvC,GAAcjjE,OAAS,GACtB,kBAAC,IAAU1I,OAAX,CACEE,GAAImzB,IACJxzB,UAAU,6DACV2zB,QAAQ,OACR4R,SAAS,MAET,kBAAC,IAAD,CACE5R,QAAQ,WACR3zB,UAAU,wBAEV,wBAAIA,UAAU,oBAAd,mBAEF,kBAAC,IAAD,CACEA,UAAWwpB,YACT,mDAEFplB,MAAO,CAAEC,SAAU,GAAIgkB,MAAO,OAAQod,IAAK,UAIjD,kBAAC,IAAD,CACEt0B,KAAK,KACLC,KAAMozD,GACNlzD,kBAAgB,gCAEhB,kBAAC,IAAMC,OAAP,KACE,kBAAC,IAAMI,MAAP,qCACyBizD,SADzB,IACyBA,QADzB,EACyBA,GAAQpnD,eAEjC,kBAAC,IAAD,CACEhM,aAAW,QACX/E,QAAS,WACPg4D,IAAiB,KAGnB,kBAAC,IAAD,QAGJ,kBAAC,IAAMhzD,KAAP,KACE,yBAAKzR,UAAU,kBACb,yBAAKA,UAAU,YACb,gDACA,2BACEA,UAAU,eACV+C,KAAK,SACLqM,YAAY,gBACZ0mB,IAAI,IACJ32B,MAAOmlE,GACPj1D,SAAU,SAACC,GACTi1D,GAAgBj1D,EAAEM,OAAOzQ,WAK/B,yBAAKa,UAAU,YACb,iDACA,2BACEA,UAAU,eACV+C,KAAK,SACLqM,YAAY,iBACZ0mB,IAAI,IACJ32B,MAAO+kE,GACP70D,SAAU,SAACC,GACT60D,GAAiB70D,EAAEM,OAAOzQ,YAKlC,yBAAKa,UAAU,kBACb,yBAAKA,UAAU,YACb,mDACA,2BACEA,UAAU,eACV+C,KAAK,SACLqM,YAAY,mBACZ0mB,IAAI,IACJ32B,MAAOilE,GACP/0D,SAAU,SAACC,GACT+0D,GAAmB/0D,EAAEM,OAAOzQ,aAMtC,kBAAC,IAAMuS,OAAP,KACE,4BACE1R,UAAU,4BACVyM,QAAS,SAAC6C,GACRm1D,IAAiB,KAHrB,SAQA,4BACEtxD,SAAUuxD,GACV1kE,UAAS,sCAAiC0kE,IAAW,6CAErDj4D,QAAO,uCAAE,WAAO6C,GAAP,iEACP,IACEq1D,IAAW,GACXG,GAAO,CACLlhE,GAAIghE,GAAOhhE,GACX0gE,aAAcA,GACdJ,cAAeA,GACfE,gBAAiBA,KAChBxvD,MAAK,SAACtF,GACM,MAATA,EAAE,KACJ1P,YAAa,UAAW,WACxBqtF,IAAiB,SAAC39E,GAChB,IAAI/F,EAAI+F,EAAE8V,WACR,SAACvd,GAAD,OAAOA,EAAEjE,KAAOghE,GAAOhhE,MAgBzB,OAdA0L,EAAE/F,GAAG6iE,qBACc,OAAjB9H,IAA0C,KAAjBA,GACrB,EACAA,GACNh1D,EAAE/F,GAAG4iE,sBACe,OAAlBjI,IACkB,KAAlBA,GACI,EACAA,GACN50D,EAAE/F,GAAG8iE,wBACiB,OAApBjI,IACoB,KAApBA,GACI,EACAA,GACC90D,KAETq1D,IAAW,GACXF,IAAiB,OAGrB,MAAO5kE,IAnCF,2CAAF,uDAJT,UA8CHisE,GAAcjjE,OAAS,GACtB,kBAAC,IAAU68B,SAAX,CAAoBH,SAAS,MAC3B,yBAAKvlC,UAAU,kBACb,yBAAKA,UAAU,kBACb,kBAAC,IAAD,CACE+sE,SAAU,CACR,CACElpE,KAAM,gBACN8N,MAAO,kBAET,CACE9N,KAAM,gBACN8N,MAAO,mBAET,CAAE9N,KAAM,WAAY8N,MAAO,YAC3B,CAAE9N,KAAM,MAAO8N,MAAO,OACtB,CAAE9N,KAAM,MAAO8N,MAAO,OACtB,CACE9N,KAAM,mBACN8N,MAAO,sBAET,CAAE9N,KAAM,YAAa8N,MAAO,aAC5B,CAAE9N,KAAM,YAAa8N,MAAO,cAC5B,CAAE9N,KAAM,cAAe8N,MAAO,eAC9B,CAAE9N,KAAM,WAAY8N,MAAO,cAC3B,CAAE9N,KAAM,SAAU8N,MAAO,UACzB,CAAE9N,KAAM,OAAQ8N,MAAO,QACvB,CACE9N,KAAM,WACN8N,MAAO,aAET,CACE9N,KAAM,QACN8N,MAAO,UAET,CACE9N,KAAM,eACN8N,MAAO,YAET,CACE9N,KAAM,gBACN8N,MAAO,aAET,CACE9N,KAAM,mBACN8N,MAAO,eAET,CACE9N,KAAM,uBACN8N,MAAO,iBAET,CACE9N,KAAM,wBACN8N,MAAO,kBAET,CACE9N,KAAM,0BACN8N,MAAO,oBAET,CACE9N,KAAM,UACN8N,MAAO,UACPnI,OAAQ,YAAc,IAAXhC,EAAU,EAAVA,IACT,OACE,uBACEkB,KAAM,kBAAM,GACZ0W,MAAM,WACNpf,UAAU,uDACVyM,QAAS,WACPg4D,IAAiB,GACjBI,GAAUr9D,GACV+8D,GAC+B,OAA7B/8D,EAAI4kE,qBACA,EACA5kE,EAAI4kE,sBAEVjI,GACgC,OAA9B38D,EAAI2kE,sBACA,EACA3kE,EAAI2kE,uBAEV9H,GACkC,OAAhC78D,EAAI6kE,wBACA,EACA7kE,EAAI6kE,2BAIZ,0BAAMrsE,UAAU,yCACd,kBAAC,IAAD,CACEwI,IAAKC,YACH,mDAShBwS,KAAM6wD,IAAiB,WAQ1B,IACb,kBAAC,IAAMp6D,OAAP,KACE,4BACE3O,KAAK,SACL0J,QAAS,WACPwuD,GAAK,GACDp2D,OAAOu8D,wBAAwBxrD,QAAQ,YAAc,GACvDpX,SACGi3D,uBAAuB,aAAa,GACpC29B,cAAcr8D,QAGjBlyB,OAAOu8D,wBAAwBxrD,QAAQ,qBACtC,GAEDpX,SACGsR,eAAe,8BACfinB,QAEDv4B,SAASsR,eAAe,kBAC1BtR,SAASsR,eAAe,iBAAiBinB,SAE7C/2B,UAAU,6BApBZ,UAwBA,sCACU,MAARuzE,GAAuB,MAARA,IACf,4BACExwE,KAAK,SACLoQ,UAAWw5E,GACXlgF,QAAS,SAAC6C,GACRzK,OAAO+qF,yBAA0B,EAC5BtgF,EAAEM,OAAOqkF,UAAUC,SAAS,aAC/BnxE,KAEJ/iB,UAAU,qDARZ,SAaQ,MAARuzE,GAAuB,MAARA,IACf,4BACExwE,KAAK,SACLoQ,UAAWw5E,GACXlgF,QAAS,SAAC6C,GACRzK,OAAO+qF,yBAA0B,EAE5BtgF,EAAEM,OAAOqkF,UAAUC,SAAS,aAC/BnxE,KAEJ/iB,UAAU,qDATZ,gBAYI2sF,IACA,kBAAC,IAAD,CACEtsF,GAAG,OACHorD,UAAU,SACVt6C,KAAK,KACL2tB,KAAK,SACL4sB,cAAY,gBAalC,SAAS6nC,GAAT,GAgBI,IAAD,8CAfDrsF,EAeC,EAfDA,OACAgM,EAcC,EAdDA,cAcC,IAbDiG,iBAaC,MAbW,GAaX,MAZD09C,cAYC,MAZQ,GAYR,MAXDk2B,uBAWC,MAXiB,GAWjB,MAVDhzB,gBAUC,MAVU,GAUV,MATDwjB,iBASC,MATW,GASX,MARDtzB,mBAQC,MARa,GAQb,EAPDmnC,EAOC,EAPDA,YACAnH,EAMC,EANDA,YACAuD,GAKC,EALDA,eACAV,GAIC,EAJDA,wBACA5xB,GAGC,EAHDA,eACA9hD,GAEC,EAFDA,SACAoY,GACC,EADDA,UAEA,GAA8CxkB,mBAAS8f,GAAvD,qBAAOqnE,GAAP,MAAwBC,GAAxB,MACA,GAA4CpnF,mBAAS8f,GAArD,qBAAOunE,GAAP,MAAuBC,GAAvB,MACA,GAA0CtnF,mBAAS8f,GAAnD,qBAAOynE,GAAP,MAAsBC,GAAtB,MACA,GAAkDxnF,mBAAS8f,GAA3D,qBAAO2nE,GAAP,MAA0BC,GAA1B,MACA,GAA0B1nF,mBAASqX,GAAnC,qBAAOjK,GAAP,MAAcu6E,GAAd,MACA,GAA0C3nF,mBAASqX,GAAnD,qBAAOhK,GAAP,MAAsBu6E,GAAtB,MAEA,GAA4C5nF,mBAASqX,GAArD,qBAAO/J,GAAP,MAAuBu6E,GAAvB,MACA,GAA4C7nF,mBAASqX,GAArD,qBAAO9J,GAAP,MAAuBu6E,GAAvB,MACA,GAAkD9nF,mBAAS,MAA3D,qBAAO+nF,GAAP,MAA0BC,GAA1B,MACA,GAAsDhoF,mBAAS,MAA/D,qBAAOioF,GAAP,MAA4BC,GAA5B,MAEA,GAAwCloF,oBAAS,GAAjD,qBAAOmoF,GAAP,MAAqBC,GAArB,MAEA,SAASC,KAAoB,IAAD,EACtBC,EAAM,IACH,OAANpuF,QAAM,IAANA,OAAA,EAAAA,EAAQ0sC,UAAW,IAAI1yC,SAAQ,SAAC2G,GAC/BytF,GAAG,OAAIztF,QAAJ,IAAIA,OAAJ,EAAIA,EAAGokE,aAGF,OAAN/kE,QAAM,IAANA,GAAA,UAAAA,EAAQ0sC,eAAR,eAAiB/qC,QAAS,GAAKysF,EAAM,EAAGxI,IAAwB,GAC/DU,KAGP,IAAU,OAANtmF,QAAM,IAANA,OAAA,EAAAA,EAAQugE,gBAAuC,OAAtBstB,GAA4B,CACvD,IAAMQ,GAAYh0F,IAChBoI,YAAU,OAACzC,QAAD,IAACA,OAAD,EAACA,EAAQugE,eACnB,uBACAj+D,OAAO,YACT3E,OAAOgrF,WAAa0F,GACpBP,GAAqBO,IAGvB,IAAU,OAANruF,QAAM,IAANA,OAAA,EAAAA,EAAQ8/D,kBAA2C,OAAxBiuB,GAA8B,CAC3D,IAAMM,GAAYh0F,IAChBoI,YAAU,OAACzC,QAAD,IAACA,OAAD,EAACA,EAAQ8/D,iBACnB,uBACAx9D,OAAO,YACT3E,OAAO2wF,aAAeD,GACtBL,GAAuBK,IA0EzB,SAAS1D,GAAWzxF,EAAIQ,GAAO,IAAD,EACxByU,EAAY,IAAIC,QACpBD,EAAUE,OAAO,gBAAjB,2BAA4CpX,EAAG8L,OAAOC,kBAAtD,aAA4C,EAAsByK,QAElE,IAAIa,EAAiB,CACnBjB,OAAQ,MACRE,QAASY,EACTI,SAAU,UAGZpB,MAAM,GAAD,OACAxP,OAAOyP,QADP,sCAC4ClU,EAD5C,uBAEQ,aAATQ,EAFC,wBAGsB,cAATA,GAChB4U,GAECZ,MAAK,SAACC,GAAD,OAAcA,EAAS5V,UAC5B2V,MAAK,SAACzF,GACL,IAAI2d,EAAM/rB,KAAKC,MAAMmO,GACR,aAATvO,EACFwzF,GAAmBtnE,GACD,WAATlsB,EACT0zF,GAAkBxnE,GACA,YAATlsB,EACT4zF,GAAiB1nE,GACC,cAATlsB,GACT8zF,GAAqB5nE,MAGxB3X,OAAM,SAAC5K,GAAD,OAAWnH,QAAQC,IAAI,QAASkH,MAE3C,OAtGAuJ,qBAAU,YACR,OAAI5M,QAAJ,IAAIA,OAAJ,EAAIA,EAAQoS,YACVu4E,GAAU,OAAC3qF,QAAD,IAACA,OAAD,EAACA,EAAQoS,WAAY,YAE/B86E,GAAmBtnE,KAEpB,QAAC5lB,QAAD,IAACA,OAAD,EAACA,EAAQoS,WAAYH,IAExBrF,qBAAU,YACR,OAAI5M,QAAJ,IAAIA,OAAJ,EAAIA,EAAQ+rF,UACVpB,GAAU,OAAC3qF,QAAD,IAACA,OAAD,EAACA,EAAQ+rF,SAAU,UAE7BqB,GAAkBxnE,KAEnB,QAAC5lB,QAAD,IAACA,OAAD,EAACA,EAAQ+rF,SAAUp8B,IAEtB/iD,qBAAU,YACR,OAAI5M,QAAJ,IAAIA,OAAJ,EAAIA,EAAQ2b,WACVgvE,GAAU,OAAC3qF,QAAD,IAACA,OAAD,EAACA,EAAQ2b,UAAW,WAE9B2xE,GAAiB1nE,KAElB,QAAC5lB,QAAD,IAACA,OAAD,EAACA,EAAQ2b,UAAWk3C,IAEvBjmD,qBAAU,YACR,OAAI5M,QAAJ,IAAIA,OAAJ,EAAIA,EAAQyb,aACVkvE,GAAU,OAAC3qF,QAAD,IAACA,OAAD,EAACA,EAAQyb,YAAa,aAEhC+xE,GAAqB5nE,KAEtB,QAAC5lB,QAAD,IAACA,OAAD,EAACA,EAAQyb,YAAa46D,IAEzBzpE,qBAAU,WACR,UAAI5M,QAAJ,IAAIA,OAAJ,EAAIA,EAAQyQ,UAAW,CACrB,IAAI1S,EAAImU,GAAS+J,MAAK,SAACtb,GAAD,OAAOA,EAAEjE,MAAF,OAASsD,QAAT,IAASA,OAAT,EAASA,EAAQyQ,cAC9Cg9E,IAAU,OAAD1vF,QAAC,IAADA,OAAA,EAAAA,EAAGmV,QAAS,IACrBoX,GAAU,OAEX,QAACtqB,QAAD,IAACA,OAAD,EAACA,EAAQyQ,UAAWyB,KAEvBtF,qBAAU,WACR,UAAI5M,QAAJ,IAAIA,OAAJ,EAAIA,EAAQ2Q,OAAQ,CAClB,IAAI5S,EAAImV,GAAM+I,MAAK,SAACtb,GAAD,OAAOA,EAAEjE,KAAF,OAAQsD,QAAR,IAAQA,OAAR,EAAQA,EAAQ2Q,WAC1C+8E,IAAkB,OAAD3vF,QAAC,IAADA,OAAA,EAAAA,EAAGoV,gBAAiB,IACrCmX,IAAW,OAADvsB,QAAC,IAADA,OAAA,EAAAA,EAAG06B,SAAU,IAEvB,IAAI3a,EAAKxmB,SAASi3F,cAAT,mBACLzwE,IAAIA,EAAG7lB,MAAH,OAAW+H,QAAX,IAAWA,OAAX,EAAWA,EAAQ2Q,WAE5B,QAAC3Q,QAAD,IAACA,OAAD,EAACA,EAAQ2Q,OAAQuC,KAEpBtG,qBAAU,WACR,UAAI5M,QAAJ,IAAIA,OAAJ,EAAIA,EAAQ6Q,eAAgB,CAC1B,IAAI9S,EAAIoV,GAAc8I,MAAK,SAACtb,GAAD,OAAOA,EAAEjE,KAAF,OAAQsD,QAAR,IAAQA,OAAR,EAAQA,EAAQ6Q,mBAClD88E,IAAmB,OAAD5vF,QAAC,IAADA,OAAA,EAAAA,EAAGqV,iBAAkB,OAExC,QAACpT,QAAD,IAACA,OAAD,EAACA,EAAQ6Q,eAAgBsC,KAE5BvG,qBAAU,WACR,UAAI5M,QAAJ,IAAIA,OAAJ,EAAIA,EAAQqS,gBAAiB,CAC3B,IAAItU,EAAIqV,GAAe6I,MAAK,SAACtb,GAAD,OAAOA,EAAEjE,KAAF,OAAQsD,QAAR,IAAQA,OAAR,EAAQA,EAAQqS,oBACnDu7E,IAAmB,OAAD7vF,QAAC,IAADA,OAAA,EAAAA,EAAGsV,iBAAkB,OAExC,QAACrT,QAAD,IAACA,OAAD,EAACA,EAAQqS,gBAAiBe,KAE7BxG,qBAAU,WACmB,gBAAjB,OAAN5M,QAAM,IAANA,OAAA,EAAAA,EAAQihE,aACVitB,IAAgB,KAEjB,QAACluF,QAAD,IAACA,OAAD,EAACA,EAAQihE,aAkCV,yBAAKnoE,UAAU,kBACb,2BAAO+C,KAAK,SAAS3C,GAAG,eAAejB,MAAK,iBAAE+H,QAAF,IAAEA,OAAF,EAAEA,EAAQoS,kBAAV,QAAwB,KACpE,2BAAOvW,KAAK,SAAS3C,GAAG,cAAcjB,MAAK,iBAAE+H,QAAF,IAAEA,OAAF,EAAEA,EAAQyQ,iBAAV,QAAuB,KAClE,2BAAO5U,KAAK,SAAS3C,GAAG,WAAWjB,MAAK,iBAAE+H,QAAF,IAAEA,OAAF,EAAEA,EAAQ2Q,cAAV,QAAoB,KAC5D,2BACE9U,KAAK,SACL3C,GAAG,mBACHjB,MAAK,iBAAE+H,QAAF,IAAEA,OAAF,EAAEA,EAAQ6Q,sBAAV,QAA4B,KAEnC,2BACEhV,KAAK,SACL3C,GAAG,oBACHjB,MAAK,iBAAE+H,QAAF,IAAEA,OAAF,EAAEA,EAAQqS,uBAAV,QAA6B,KAEpC,2BACExW,KAAK,SACL3C,GAAG,oBACHjB,MAAK,iBAAE+H,QAAF,IAAEA,OAAF,EAAEA,EAAQsS,uBAAV,QAA6B,KAEpC,2BAAOzW,KAAK,SAAS3C,GAAG,kBAAkBjB,MAAK,OAAE+H,QAAF,IAAEA,OAAF,EAAEA,EAAQ6/D,gBACzD,2BAAOhkE,KAAK,SAAS3C,GAAG,iBAAiBjB,MAAK,OAAE+H,QAAF,IAAEA,OAAF,EAAEA,EAAQ+nD,eACxD,2BAAOlsD,KAAK,SAAS3C,GAAG,iBAAiBjB,MAAK,OAAE+H,QAAF,IAAEA,OAAF,EAAEA,EAAQwuF,eAExD,2BAAO3yF,KAAK,SAAS3C,GAAG,aAAajB,MAAK,iBAAEo1F,SAAF,IAAEA,QAAF,EAAEA,GAAerkE,YAAjB,QAAyB,KACnE,2BACEntB,KAAK,SACL3C,GAAG,gBACHjB,MAAK,iBAAEo1F,SAAF,IAAEA,QAAF,EAAEA,GAAetkE,eAAjB,QAA4B,KAEnC,2BACEltB,KAAK,SACL3C,GAAG,cACHjB,MAAK,iBAAEo1F,SAAF,IAAEA,QAAF,EAAEA,GAAetnE,aAAjB,QAA0B,KAEjC,2BACElqB,KAAK,SACL3C,GAAG,gBACHjB,MAAK,iBAAEo1F,SAAF,IAAEA,QAAF,EAAEA,GAAetuD,eAAjB,QAA4B,KAGnC,2BACEljC,KAAK,SACL3C,GAAG,WACHjB,MAAK,iBAAEs1F,SAAF,IAAEA,QAAF,EAAEA,GAAmBvkE,YAArB,QAA6B,KAEpC,2BACEntB,KAAK,SACL3C,GAAG,cACHjB,MAAK,iBAAEs1F,SAAF,IAAEA,QAAF,EAAEA,GAAmBxkE,eAArB,QAAgC,KAEvC,2BACEltB,KAAK,SACL3C,GAAG,YACHjB,MAAK,iBAAEs1F,SAAF,IAAEA,QAAF,EAAEA,GAAmBxnE,aAArB,QAA8B,KAErC,2BACElqB,KAAK,SACL3C,GAAG,cACHjB,MAAK,iBAAEs1F,SAAF,IAAEA,QAAF,EAAEA,GAAmBxuD,eAArB,QAAgC,KAGvC,yBAAKjmC,UAAU,YACb,kBAAC,IAAD,CACEwD,MAAM,WACNwC,KAAK,aACL4M,UAAU,EACVzT,MAAO,CACLA,MAAK,OAAE+H,QAAF,IAAEA,OAAF,EAAEA,EAAQoS,WACf9V,MAAO2V,EAAUgK,MAAK,SAACtb,GAAD,OAAQ,OAADA,QAAC,IAADA,OAAA,EAAAA,EAAGjE,OAAH,OAAUsD,QAAV,IAAUA,OAAV,EAAUA,EAAQoS,eAC3ChT,YAAE,UAAC6S,EAAUgK,MAAK,SAACtb,GAAD,OAAQ,OAADA,QAAC,IAADA,OAAA,EAAAA,EAAGjE,OAAH,OAAUsD,QAAV,IAAUA,OAAV,EAAUA,EAAQoS,sBAAzC,aAAC,EAAqD4J,OAAxD,UACA/J,EAAUgK,MAAK,SAACtb,GAAD,OAAQ,OAADA,QAAC,IAADA,OAAA,EAAAA,EAAGjE,OAAH,OAAUsD,QAAV,IAAUA,OAAV,EAAUA,EAAQoS,sBADxC,aACA,EAAqDzV,MACrD,aAENsW,QAAShB,EAAUpV,KAAI,SAAC8D,GACtB,MAAO,CACL1I,MAAO0I,EAAEjE,GACTJ,MAAO8C,YAAE,OAACuB,QAAD,IAACA,OAAD,EAACA,EAAGqb,OAAN,OAAcrb,QAAd,IAAcA,OAAd,EAAcA,EAAGhE,UAG5B8xF,eAAe,EACftmF,SAAU,SAAC8e,GACT,IAAI5kB,EAAC,OAAG4kB,QAAH,IAAGA,OAAH,EAAGA,EAAUhvB,MAClB+T,EAAc,aAAc3J,GACxBA,GAAG8rF,QAGX,6BACsB,MAAnBlB,IACC,yBAAKhwF,MAAM,0BAAX,OACGgwF,SADH,IACGA,QADH,EACGA,GAAiBtwF,KAClB,6BAFF,OAGGswF,SAHH,IAGGA,QAHH,EAGGA,GAAiBlkE,QAClB,6BAJF,OAKGkkE,SALH,IAKGA,QALH,EAKGA,GAAiBjkE,KALpB,YAK4BikE,SAL5B,IAK4BA,QAL5B,EAK4BA,GAAiBlnE,MAL7C,WAMGknE,SANH,IAMGA,QANH,EAMGA,GAAiBluD,WAK1B,yBAAKjmC,UAAU,YACb,kBAAC,IAAD,CACEwD,MAAM,UACNoP,UAAU,EACV5M,KAAK,WACL7G,MAAO,CACLA,MAAK,OAAE+H,QAAF,IAAEA,OAAF,EAAEA,EAAQ+rF,SACfzvF,MAAOqzD,EAAO1zC,MAAK,SAACtb,GAAD,OAAQ,OAADA,QAAC,IAADA,OAAA,EAAAA,EAAGjE,OAAH,OAAUsD,QAAV,IAAUA,OAAV,EAAUA,EAAQ+rF,aAArC,UACHp8B,EAAO1zC,MAAK,SAACtb,GAAD,OAAQ,OAADA,QAAC,IAADA,OAAA,EAAAA,EAAGjE,OAAH,OAAUsD,QAAV,IAAUA,OAAV,EAAUA,EAAQ+rF,oBADlC,aACH,EAAgDpvF,KAChD,aAENwL,SAAU,SAACC,GACT4D,EAAc,WAAD,OAAa5D,QAAb,IAAaA,OAAb,EAAaA,EAAGnQ,QAE/Bgb,QAAS08C,EAAO9yD,KAAI,SAAC8D,GACnB,MAAO,CACL1I,MAAO0I,EAAEjE,GACTJ,MAAK,OAAEqE,QAAF,IAAEA,OAAF,EAAEA,EAAGhE,WAIhB,6BACE,yBAAKM,MAAM,0BAAX,OACGkwF,SADH,IACGA,QADH,EACGA,GAAgBrpE,YACjB,6BAFF,OAGGqpE,SAHH,IAGGA,QAHH,EAGGA,GAAgBpkE,QACjB,6BAJF,OAKGokE,SALH,IAKGA,QALH,EAKGA,GAAgBnkE,KALnB,YAK2BmkE,SAL3B,IAK2BA,QAL3B,EAK2BA,GAAgBpnE,MAL3C,WAMGonE,SANH,IAMGA,QANH,EAMGA,GAAgBpuD,WAIvB,yBAAKjmC,UAAU,iBACb,kBAAC,IAAD,CACEgG,KAAK,iBACL0I,UAAW2f,IACXjf,YAAY,kBACZ5L,MAAM,kBACNoyF,UAAU,QAGd,yBAAK51F,UAAU,iBACb,kBAAC,IAAD,CACEgG,KAAK,gBACL0I,UAAW2f,IACXjf,YAAY,iBACZ5L,MAAM,oBAGV,yBAAKxD,UAAU,iBACb,kBAAC,IAAD,CACEgG,KAAK,wBACL0I,UAAW2f,IACXjf,YAAY,QACZ5L,MAAM,QACN2P,UAAQ,KAGZ,yBAAKnT,UAAU,iBACb,kBAAC,IAAD,CACEwD,MAAM,UACNwC,KAAK,YACLid,YAAW,OAAE/b,QAAF,IAAEA,OAAF,EAAEA,EAAQyQ,UACrBzE,cAAeA,EACfiH,QAASf,GAASrV,KAAI,SAAC8D,GACrB,MAAO,CACL1I,MAAO0I,EAAEjE,GACTJ,MAAO8C,YAAE,OAACuB,QAAD,IAACA,OAAD,EAACA,EAAGqb,OAAN,OAAcrb,QAAd,IAAcA,OAAd,EAAcA,EAAGhE,UAG5B8xF,eAAe,EACftmF,SAAU,SAAC8e,GACT,IAAI5kB,EAAC,OAAG4kB,QAAH,IAAGA,OAAH,EAAGA,EAAUhvB,MAClB+T,EAAc,cAAUpN,GACxBoN,EAAc,sBAAkBpN,GAChCoN,EAAc,uBAAmBpN,GACjCoN,EAAc,uBAAmBpN,GAC7ByD,GAAG8rF,SAIZj7E,GAAMvR,OAAS,GACd,yBAAK7I,UAAU,iBACb,uCACA,kBAAC,IAAD,CACEb,MAAO,CACLA,MAAK,OAAE+H,QAAF,IAAEA,OAAF,EAAEA,EAAQ2Q,OACfrU,OACE,UAAA4W,GAAM+I,MAAK,SAACtb,GAAD,OAAOA,EAAEjE,MAAF,OAASsD,QAAT,IAASA,OAAT,EAASA,EAAQ2Q,kBAAnC,eAA4ChU,OAAQ,aAExDmC,KAAK,SACLhG,UAAU,aACVqP,SAAU,SAAC8e,GACT,IAAI5kB,EAAC,OAAG4kB,QAAH,IAAGA,OAAH,EAAGA,EAAUhvB,MAClB+T,EAAc,SAAU3J,GACxB2J,EAAc,sBAAkBpN,GAChCoN,EAAc,uBAAmBpN,GACjCoN,EAAc,uBAAmBpN,GAE7ByD,GAAG8rF,MAETl7E,SAAS,OAACC,SAAD,IAACA,MAAS,IAAIrW,KAAI,SAAC8D,GAC1B,MAAO,CAAE1I,MAAO0I,EAAEjE,GAAIJ,MAAOqE,EAAEhE,YAKtCuW,GAAMvR,OAAS,GAAKwR,GAAcxR,OAAS,GAC1C,yBAAK7I,UAAU,iBACb,gDACA,kBAAC,IAAD,CACEb,MAAO,CACLA,MAAK,OAAE+H,QAAF,IAAEA,OAAF,EAAEA,EAAQ6Q,eACfvU,OACE,UAAA6W,GAAc8I,MAAK,SAACtb,GAAD,OAAOA,EAAEjE,MAAF,OAASsD,QAAT,IAASA,OAAT,EAASA,EAAQ6Q,0BAA3C,eACIlU,OAAQ,aAEhBmC,KAAK,iBACLhG,UAAU,aACVqP,SAAU,SAAC8e,GACT,IAAI5kB,EAAC,OAAG4kB,QAAH,IAAGA,OAAH,EAAGA,EAAUhvB,MAClB+T,EAAc,iBAAkB3J,GAChC2J,EAAc,uBAAmBpN,GACjCoN,EAAc,uBAAmBpN,GAC7ByD,GAAG8rF,MAETl7E,SAAS,OAACE,SAAD,IAACA,MAAiB,IAAItW,KAAI,SAAC8D,GAClC,MAAO,CAAE1I,MAAO0I,EAAEjE,GAAIJ,MAAOqE,EAAEhE,YAKtCuW,GAAMvR,OAAS,GACdwR,GAAcxR,OAAS,GACvByR,GAAezR,OAAS,GACtB,yBAAK7I,UAAU,iBACb,kDACA,kBAAC,IAAD,CACEb,MAAO,CACLA,MAAK,OAAE+H,QAAF,IAAEA,OAAF,EAAEA,EAAQqS,gBACf/V,OACE,UAAA8W,GAAe6I,MAAK,SAACtb,GAAD,OAAOA,EAAEjE,MAAF,OAASsD,QAAT,IAASA,OAAT,EAASA,EAAQqS,2BAA5C,eACI1V,OAAQ,aAEhB7D,UAAU,aACVgG,KAAK,kBACLqJ,SAAU,SAAC8e,GACT,IAAI5kB,EAAC,OAAG4kB,QAAH,IAAGA,OAAH,EAAGA,EAAUhvB,MAClB+T,EAAc,kBAAmB3J,GACjC2J,EAAc,uBAAmBpN,GAC7ByD,GAAG8rF,MAETl7E,SAAS,OAACG,SAAD,IAACA,MAAkB,IAAIvW,KAAI,SAAC8D,GACnC,MAAO,CAAE1I,MAAO0I,EAAEjE,GAAIJ,MAAOqE,EAAEhE,YAKxCuW,GAAMvR,OAAS,GACdwR,GAAcxR,OAAS,GACvByR,GAAezR,OAAS,GACxB0R,GAAe1R,OAAS,GACtB,yBAAK7I,UAAU,iBACb,kDACA,kBAAC,IAAD,CACEb,MAAO,CACLA,MAAK,OAAE+H,QAAF,IAAEA,OAAF,EAAEA,EAAQsS,gBACfhW,OACE,UAAA+W,GAAe4I,MAAK,SAACtb,GAAD,OAAOA,EAAEjE,MAAF,OAASsD,QAAT,IAASA,OAAT,EAASA,EAAQsS,2BAA5C,eACI3V,OAAQ,aAEhBmC,KAAK,kBACLhG,UAAU,aACVqP,SAAU,SAAC8e,GACT,IAAI5kB,EAAC,OAAG4kB,QAAH,IAAGA,OAAH,EAAGA,EAAUhvB,MAClB+T,EAAc,kBAAmB3J,GAC7BA,GAAG8rF,MAETl7E,SAAS,OAACI,SAAD,IAACA,MAAkB,IAAIxW,KAAI,SAAC8D,GACnC,MAAO,CAAE1I,MAAO0I,EAAEjE,GAAIJ,MAAOqE,EAAEhE,YAKzC,yBAAK7D,UAAU,iBACb,kBAAC,IAAD,CACEgG,KAAK,aACLxC,MAAM,YACNxD,UAAU,eACVqP,SAAU,SAACC,GACc,eAAnBA,EAAEM,OAAOzQ,MACXi2F,IAAgB,GAEhBA,IAAgB,GAElBliF,EAAc,aAAc5D,EAAEM,OAAOzQ,SAGvC,4BAAQA,MAAM,KACd,4BAAQA,MAAM,gBAAd,gBACA,4BAAQA,MAAM,cAAd,gBAKHg2F,IACC,oCACE,yBAAKn1F,UAAU,iBACb,kBAAC,IAAD,CACEgG,KAAK,iBACLxC,MAAM,cACNxD,UAAU,gBAEV,4BAAQb,MAAM,IAAd,UACA,4BAAQA,MAAM,KAAd,KACA,4BAAQA,MAAM,KAAd,KACA,4BAAQA,MAAM,QAAd,UAGJ,yBAAKa,UAAU,iBACb,kBAAC,IAAD,CACEI,GAAG,cACH4F,KAAK,cACLjD,KAAK,SACL+yB,IAAI,IACJpnB,UAAW2f,IACXjf,YAAY,eACZ5L,MAAM,cACN6L,SAAU,SAACC,GACT4D,EAAc,cAAe5D,EAAEM,OAAOzQ,YAOhD,yBAAKa,UAAU,kBACf,yBAAKA,UAAU,oJACf,yBAAKA,UAAU,sBACb,kBAAC,IAAD,CACEwD,MAAM,kBACNwC,KAAK,YACL7G,MAAO,CACLA,MAAK,OAAE+H,QAAF,IAAEA,OAAF,EAAEA,EAAQ2b,UACfrf,MAAOu2D,EAAS52C,MAAK,SAACtb,GAAD,OAAQ,OAADA,QAAC,IAADA,OAAA,EAAAA,EAAGjE,OAAH,OAAUsD,QAAV,IAAUA,OAAV,EAAUA,EAAQ2b,cAAvC,UACHk3C,EAAS52C,MAAK,SAACtb,GAAD,OAAQ,OAADA,QAAC,IAADA,OAAA,EAAAA,EAAGjE,OAAH,OAAUsD,QAAV,IAAUA,OAAV,EAAUA,EAAQ2b,qBADpC,aACH,EAAmDhf,KACnD,aAENsW,QAAS4/C,EAASh2D,KAAI,SAAC8D,GACrB,MAAO,CACL1I,MAAO0I,EAAEjE,GACTJ,MAAK,OAAEqE,QAAF,IAAEA,OAAF,EAAEA,EAAGhE,SAGd8xF,eAAe,EACftmF,SAAU,SAAC8e,GACT,IAAI5kB,EAAC,OAAG4kB,QAAH,IAAGA,OAAH,EAAGA,EAAUhvB,MAClB+T,EAAc,YAAa3J,GAC3BrD,YAAW,WACLqD,GAAG8rF,OACN,QAGP,6BACoB,MAAjBd,IACC,yBAAKpwF,MAAM,0BAAX,OACGowF,SADH,IACGA,QADH,EACGA,GAAevpE,YAChB,6BAFF,OAGGupE,SAHH,IAGGA,QAHH,EAGGA,GAAetkE,QAChB,6BAJF,OAKGskE,SALH,IAKGA,QALH,EAKGA,GAAerkE,KALlB,YAK0BqkE,SAL1B,IAK0BA,QAL1B,EAK0BA,GAAetnE,MALzC,WAMGsnE,SANH,IAMGA,QANH,EAMGA,GAAetuD,WAMxB,yBAAKjmC,UAAU,sBACb,kBAAC,IAAD,CACEwD,MAAM,mBACNwC,KAAK,cACL7G,MAAO,CACLA,MAAK,OAAE+H,QAAF,IAAEA,OAAF,EAAEA,EAAQyb,YACfnf,MAAO+5E,EAAUp6D,MAAK,SAACtb,GAAD,OAAQ,OAADA,QAAC,IAADA,OAAA,EAAAA,EAAGjE,OAAH,OAAUsD,QAAV,IAAUA,OAAV,EAAUA,EAAQyb,gBAAxC,UACH46D,EAAUp6D,MAAK,SAACtb,GAAD,OAAQ,OAADA,QAAC,IAADA,OAAA,EAAAA,EAAGjE,OAAH,OAAUsD,QAAV,IAAUA,OAAV,EAAUA,EAAQyb,uBADrC,aACH,EAAsD9e,KACtD,aAENsW,QAASojE,EAAUx5E,KAAI,SAAC8D,GACtB,MAAO,CACL1I,MAAO0I,EAAEjE,GACTJ,MAAK,OAAEqE,QAAF,IAAEA,OAAF,EAAEA,EAAGhE,SAGd8xF,eAAe,EACftmF,SAAU,SAAC8e,GACT,IAAI5kB,EAAC,OAAG4kB,QAAH,IAAGA,OAAH,EAAGA,EAAUhvB,MAClB+T,EAAc,cAAe3J,GAC7BrD,YAAW,WACLqD,GAAG8rF,OACN,QAGP,6BACE,yBAAKlxF,MAAM,0BAAX,OACGswF,SADH,IACGA,QADH,EACGA,GAAmBzpE,YACpB,6BAFF,OAGGypE,SAHH,IAGGA,QAHH,EAGGA,GAAmBxkE,QACpB,6BAJF,OAKGwkE,SALH,IAKGA,QALH,EAKGA,GAAmBvkE,KALtB,YAK8BukE,SAL9B,IAK8BA,QAL9B,EAK8BA,GAAmBxnE,MALjD,WAMGwnE,SANH,IAMGA,QANH,EAMGA,GAAmBxuD,WAI1B,yBAAKjmC,UAAU,iBACb,kBAAC,IAAD,CACEgG,KAAK,gBACL0I,UAAW2f,IACXjf,YAAY,iBACZ5L,MAAM,oBAGV,yBAAKxD,UAAU,iBACb,kBAAC,IAAD,CACEgG,KAAK,kBACL0I,UAAW2f,IACXjf,YAAY,mBACZ5L,MAAM,sBAGV,yBAAKxD,UAAU,iBACb,kBAAC,IAAD,CACEwD,MAAM,yBACNwC,KAAK,sBACL+M,OAAO,gBACPE,aAAY,OAAE/L,QAAF,IAAEA,OAAF,EAAEA,EAAQ2/D,oBACtB3zD,cAAeA,EACflT,UAAU,gBAGd,yBAAKA,UAAU,iBACb,kBAAC,IAAD,CACEwD,MAAM,mBACNoP,UAAU,EACV5M,KAAK,kBACLiN,aAAY,OAAE/L,QAAF,IAAEA,OAAF,EAAEA,EAAQsgE,gBACtBt0D,cAAeA,EACflT,UAAU,gBAGd,yBAAKA,UAAU,iBACb,kBAAC,IAAD,CACEb,MAAO41F,IAAqB,IAC5B/uF,KAAK,gBACLxC,MAAM,UACNpD,GAAG,qBACHJ,UAAU,eACVqP,SAAU,SAACC,GACTzK,OAAOgrF,WAAa9lF,YAAmBuF,EAAEM,OAAOzQ,OAChD61F,GAAqB1lF,EAAEM,OAAOzQ,SAGhC,kBAAC,IAAD,QAGJ,yBAAKa,UAAU,iBACb,kBAAC,IAAD,CACEwD,MAAM,iBACNoP,UAAU,EACV5M,KAAK,eACL+M,OAAO,gBACPE,aAAY,OAAE/L,QAAF,IAAEA,OAAF,EAAEA,EAAQ4/D,aACtB5zD,cAAeA,EACflT,UAAU,aACVqP,SAAU,SAACC,GACT5J,IAAE,uBAAuBU,IAAIkJ,EAAEM,OAAOzQ,WAI5C,yBAAKa,UAAU,iBACb,kBAAC,IAAD,CACEwD,MAAM,QACNoP,SAAkC,OAAT,OAAfuhF,SAAe,IAAfA,QAAA,EAAAA,GAAiBvwF,IAC3BoC,KAAK,uBACLiN,aAAY,OAAE/L,QAAF,IAAEA,OAAF,EAAEA,EAAQwgE,qBACtBx0D,cAAeA,EACflT,UAAU,gBAGd,yBAAKA,UAAU,iBACb,kBAAC,IAAD,CACEwD,MAAM,kBACNwC,KAAK,gBACL+M,OAAO,gBACPE,aAAY,OAAE/L,QAAF,IAAEA,OAAF,EAAEA,EAAQ6/D,cACtB7zD,cAAeA,EACflT,UAAU,aACVqP,SAAU,SAACC,GACT5J,IAAE,gCAAgCU,IAAIkJ,EAAEM,OAAOzQ,WAIrD,yBAAKa,UAAU,iBACb,kBAAC,IAAD,CACEb,MAAO81F,GACPjvF,KAAK,kBACLxC,MAAM,UACNxD,UAAU,eACVqP,SAAU,SAACC,GACTzK,OAAO2wF,aAAelmF,EAAEM,OAAOzQ,MAC/B+T,EACE,kBACAnJ,YAAmBuF,EAAEM,OAAOzQ,QAE9B+1F,GAAuB5lF,EAAEM,OAAOzQ,SAGlC,kBAAC,IAAD,QAGJ,yBAAKa,UAAU,iBACb,kBAAC,IAAD,CACEwD,MAAM,kBACNoP,UAAU,EACV5M,KAAK,iBACLiN,aAAY,OAAE/L,QAAF,IAAEA,OAAF,EAAEA,EAAQ6pF,eACtB79E,cAAeA,EACflT,UAAU,gBAGd,yBAAKA,UAAU,kBACf,yBAAKA,UAAU,iBACb,kBAAC,IAAD,CACEwD,MAAM,oBACNoP,UAAU,EACV5M,KAAK,kBACLiN,aAAY,OAAE/L,QAAF,IAAEA,OAAF,EAAEA,EAAQ4pF,gBACtB59E,cAAeA,EACflT,UAAU,gBAGd,yBAAKA,UAAU,oJACf,yBAAKA,UAAU,iBACb,kBAAC,IAAD,CACEwD,MAAM,YACNwC,KAAK,cACLid,YAAW,OAAE/b,QAAF,IAAEA,OAAF,EAAEA,EAAQ0gE,YACrB10D,cAAeA,EACfiH,QAAS8vC,EAAYlmD,KAAI,SAAC8D,GACxB,MAAO,CACL1I,MAAO0I,EAAEjE,GACTJ,MAAO8C,YAAE,OAACuB,QAAD,IAACA,OAAD,EAACA,EAAGqb,OAAN,OAAcrb,QAAd,IAAcA,OAAd,EAAcA,EAAGoW,iBAG5B5O,SAAU,SAAC8e,GACT,IAAIvlB,EAAC,OAAGulB,QAAH,IAAGA,OAAH,EAAGA,EAAUhvB,MACd8F,EAAIglD,EAAY9mC,MAAK,SAACtb,GAAD,OAAOA,EAAEjE,IAAMgF,KACxC2tB,GAAiB,aAAD,OAAetxB,QAAf,IAAeA,OAAf,EAAeA,EAAGkqF,OAClC54D,GAAiB,SAAD,OAAWtxB,QAAX,IAAWA,OAAX,EAAWA,EAAG4wF,UAIpC,yBACE71F,UACE,kBAC4C,eAA3C6E,OAAOu0C,SAASq+B,SAASrvE,MAAM,KAAK,IACnC,aAGJ,kBAAC,IAAD,CACEpC,KAAK,YACL0I,UAAW2f,IACXjf,YAAY,aACZ5L,MAAM,aACN2P,UAAQ,KAGgC,eAA3CtO,OAAOu0C,SAASq+B,SAASrvE,MAAM,KAAK,IACnC,yBAAKpI,UAAU,iBACb,kBAAC,IAAD,CACEgG,KAAK,UACL0I,UAAW2f,IACXjf,YAAY,YACZ5L,MAAM,YACN2P,UAAQ,EACRhU,MAAO0F,OAAOu0C,SAASq+B,SAASrvE,MAAM,KAAK,MAIjD,yBAAKpI,UAAU,iBACb,kBAAC,IAAD,CACEI,GAAG,aACH4F,KAAK,WACL0I,UAAW2f,IACXjf,YAAY,YACZ5L,MAAM,YACN2P,UAAQ,KAGZ,yBAAKnT,UAAU,iBACb,kBAAC,IAAD,CACEI,GAAG,SACH+S,UAAQ,EACRnN,KAAK,OACL0I,UAAW2f,IACXjf,YAAY,QACZ5L,MAAM,WAGV,yBAAKxD,UAAU,iBACb,kBAAC,IAAD,CACEwD,MAAM,kBACNwC,KAAK,WACLid,YAAW,OAAE/b,QAAF,IAAEA,OAAF,EAAEA,EAAQ4uF,SACrB5iF,cAAeA,EACfiH,QAAS4yE,EAAgBhpF,KAAI,SAAC8D,GAC5B,MAAO,CACL1I,MAAO0I,EAAEjE,GACTJ,OAAQ,OAADqE,QAAC,IAADA,OAAA,EAAAA,EAAGkuF,UAAW,OAAd,OAAsBluF,QAAtB,IAAsBA,OAAtB,EAAsBA,EAAGhE,aAKxC,yBAAK7D,UAAU,kBACf,yBAAKA,UAAU,mBACf,yBAAKA,UAAU,iBACb,kBAAC,IAAD,CACEgG,KAAK,SACL0I,UAAW2f,IACXjf,YAAY,SACZ5L,MAAM,SACN2P,UAAQ,KAGZ,yBAAKnT,UAAU,iBACb,kBAAC,IAAD,CACEgG,KAAK,OACL0I,UAAW2f,IACXjf,YAAY,OACZ5L,MAAM,OACN2P,UAAQ,KAGZ,yBAAKnT,UAAU,iBACb,kBAAC,IAAD,CACEgG,KAAK,SACL0I,UAAW2f,IACXjf,YAAY,cACZ5L,MAAM,cACN2P,UAAQ,KAGZ,yBAAKnT,UAAU,kBACf,yBAAKA,UAAU,oJACf,yBAAKA,UAAU,kBACb,kBAAC,IAAD,CACE4P,OAAO,SACP5P,UAAU,gCACV+P,GAAE,+BAA0BmrD,IAC5B92D,MAAO,CAAE2K,MAAO,UAJlB,OAQA,kBAAC,IAAD,CACEa,OAAO,SACP5P,UAAU,gCACV+P,GAAE,sCAAiCmrD,IACnC92D,MAAO,CAAE2K,MAAO,UAJlB,SAQiB,OAAhBk7E,GACC,kBAAC,IAAD,CACEr6E,OAAO,SACP5P,UAAU,4BACV+P,GAAIqhF,EACJhtF,MAAO,CAAE2K,MAAO,UAJlB,cAcV,SAASk1D,GAAYtkC,EAAQ97B,GAC3B,IACE,OAAuB,KAAb,OAAN87B,QAAM,IAANA,OAAA,EAAAA,EAAQ92B,SACL82B,EAAOpwB,QAAO,SAAC1H,GAAD,OAAQ,OAADA,QAAC,IAADA,OAAA,EAAAA,EAAGhE,QAASA,KAAMgF,OAAS,EACvD,MAAO0B,GACP,OAAO,GAGX,SAASipF,GAAT,GAAwE,IAA9CtsF,EAA6C,EAA7CA,OAAQgM,EAAqC,EAArCA,cAAqC,IAAtBysB,cAAsB,MAAb,GAAa,EAATyiC,EAAS,EAATA,MAC5D,EAAoCp1D,mBAAS,IAA7C,mBAAOgpF,EAAP,KAAmBC,EAAnB,KAMA,OAJAniF,qBAAU,WACRmiF,EAAct2D,GAAU,MACvB,CAACA,IAGF,yBAAK3/B,UAAU,kBACW,KAAb,OAAVg2F,QAAU,IAAVA,OAAA,EAAAA,EAAYntF,SACX,yBAAK7I,UAAU,aACb,yBAAKmE,MAAM,iBACT,yBAAKA,MAAM,aACX,yBAAKA,MAAM,uBACT,uBACEA,MAAM,oBACNC,MAAO,CACL8xF,SAAU,OACV7iC,QAAS,MACThvD,SAAU,OACViS,UAAW,WAIjB,yBAAKnS,MAAM,iBACT,uBAAGA,MAAM,sBAAsBC,MAAO,CAAEivD,QAAS,QAAjD,6CAIF,yBAAKlvD,MAAM,eAIhB8/D,GAAY+xB,EAAY,aAAwB,IAAV5zB,EACrC,yBAAKpiE,UAAU,iBACb,kBAAC,IAAD,CACEgG,KAAK,oBACLxC,MAAM,UACNyP,aAAY,OAAE/L,QAAF,IAAEA,OAAF,EAAEA,EAAQg/D,kBACtB/yD,WAAgB,OAANjM,QAAM,IAANA,OAAA,EAAAA,EAAQ26D,cAAoB,OAAC36D,QAAD,IAACA,OAAD,EAACA,EAAQg/D,mBAC/ChzD,cAAeA,KAInB,GAED+wD,GAAY+xB,EAAY,aAAwB,IAAV5zB,EACrC,yBAAKpiE,UAAU,iBACb,kBAAC,IAAD,CACEgG,KAAK,mBACLxC,MAAM,qBACNyP,aAAY,OAAE/L,QAAF,IAAEA,OAAF,EAAEA,EAAQi/D,iBACtBhzD,WAAgB,OAANjM,QAAM,IAANA,OAAA,EAAAA,EAAQ26D,cAAoB,OAAC36D,QAAD,IAACA,OAAD,EAACA,EAAQi/D,kBAC/CjzD,cAAeA,KAInB,GAED+wD,GAAY+xB,EAAY,aAAwB,IAAV5zB,EACrC,yBAAKpiE,UAAU,iBACb,kBAAC,IAAD,CACEgG,KAAK,wBACLxC,MAAM,wBACNyP,aAAY,OAAE/L,QAAF,IAAEA,OAAF,EAAEA,EAAQivF,oBACtBhjF,WAAgB,OAANjM,QAAM,IAANA,OAAA,EAAAA,EAAQ26D,cAAoB,OAAC36D,QAAD,IAACA,OAAD,EAACA,EAAQivF,qBAC/CjjF,cAAeA,KAInB,GAED+wD,GAAY+xB,EAAY,oBAA+B,IAAV5zB,EAC5C,yBAAKpiE,UAAU,iBACb,kBAAC,IAAD,CACEgG,KAAK,sBACLxC,MAAM,wBACNyP,aAAY,OAAE/L,QAAF,IAAEA,OAAF,EAAEA,EAAQk/D,oBACtBjzD,WAAgB,OAANjM,QAAM,IAANA,OAAA,EAAAA,EAAQ26D,cAAoB,OAAC36D,QAAD,IAACA,OAAD,EAACA,EAAQk/D,qBAC/ClzD,cAAeA,KAInB,GAED+wD,GAAY+xB,EAAY,oBAA+B,IAAV5zB,EAC5C,yBAAKpiE,UAAU,iBACb,kBAAC,IAAD,CACEgG,KAAK,sBACLxC,MAAM,yBACNyP,aAAY,OAAE/L,QAAF,IAAEA,OAAF,EAAEA,EAAQm/D,oBACtBlzD,WAAgB,OAANjM,QAAM,IAANA,OAAA,EAAAA,EAAQ26D,cAAoB,OAAC36D,QAAD,IAACA,OAAD,EAACA,EAAQm/D,qBAC/CnzD,cAAeA,KAInB,GAED+wD,GAAY+xB,EAAY,WACvB,yBAAKh2F,UAAU,iBACb,kBAAC,IAAD,CACEgG,KAAK,mBACLxC,MAAM,SACNyP,aAAY,OAAE/L,QAAF,IAAEA,OAAF,EAAEA,EAAQo/D,iBACtBnzD,WAAgB,OAANjM,QAAM,IAANA,OAAA,EAAAA,EAAQ26D,cAAoB,OAAC36D,QAAD,IAACA,OAAD,EAACA,EAAQo/D,kBAC/CpzD,cAAeA,KAIpB+wD,GAAY+xB,EAAY,QACvB,yBAAKh2F,UAAU,iBACb,kBAAC,IAAD,CACEgG,KAAK,gBACLxC,MAAM,MACNyP,aAAY,OAAE/L,QAAF,IAAEA,OAAF,EAAEA,EAAQ+/D,cACtB9zD,WAAgB,OAANjM,QAAM,IAANA,OAAA,EAAAA,EAAQ26D,cAAoB,OAAC36D,QAAD,IAACA,OAAD,EAACA,EAAQ+/D,eAC/C/zD,cAAeA,MAInB+wD,GAAY+xB,EAAY,WACxB/xB,GAAY+xB,EAAY,cACxB,yBAAKh2F,UAAU,iBACb,kBAAC,IAAD,CACEgG,KAAK,mBACLxC,MAAM,SACNyP,aAAY,OAAE/L,QAAF,IAAEA,OAAF,EAAEA,EAAQq/D,iBACtBpzD,WAAgB,OAANjM,QAAM,IAANA,OAAA,EAAAA,EAAQ26D,cAAoB,OAAC36D,QAAD,IAACA,OAAD,EAACA,EAAQq/D,kBAC/CrzD,cAAeA,KAIpB+wD,GAAY+xB,EAAY,SACvB,yBAAKh2F,UAAU,iBACb,kBAAC,IAAD,CACEgG,KAAK,iBACLxC,MAAM,OACNyP,aAAY,OAAE/L,QAAF,IAAEA,OAAF,EAAEA,EAAQkvF,eACtBjjF,WAAgB,OAANjM,QAAM,IAANA,OAAA,EAAAA,EAAQ26D,cAAoB,OAAC36D,QAAD,IAACA,OAAD,EAACA,EAAQkvF,gBAC/CljF,cAAeA,KAIpB+wD,GAAY+xB,EAAY,eACvB,yBAAKh2F,UAAU,iBACb,kBAAC,IAAD,CACEgG,KAAK,uBACLxC,MAAM,aACNyP,aAAY,OAAE/L,QAAF,IAAEA,OAAF,EAAEA,EAAQggE,qBACtB/zD,WAAgB,OAANjM,QAAM,IAANA,OAAA,EAAAA,EAAQ26D,cAAoB,OAAC36D,QAAD,IAACA,OAAD,EAACA,EAAQggE,sBAC/Ch0D,cAAeA,KAIpB+wD,GAAY+xB,EAAY,YACvB,yBAAKh2F,UAAU,iBACb,kBAAC,IAAD,CACEgG,KAAK,oCACLxC,MAAM,kCACNyP,aAAY,OAAE/L,QAAF,IAAEA,OAAF,EAAEA,EAAQs/D,kCACtBrzD,WACQ,OAANjM,QAAM,IAANA,OAAA,EAAAA,EAAQ26D,cAEJ,OAAC36D,QAAD,IAACA,OAAD,EAACA,EAAQs/D,mCAEftzD,cAAeA,KAIpB+wD,GAAY+xB,EAAY,WACvB,yBAAKh2F,UAAU,iBACb,kBAAC,IAAD,CACEgG,KAAK,mCACLxC,MAAM,iCACNyP,aAAY,OAAE/L,QAAF,IAAEA,OAAF,EAAEA,EAAQigE,iCACtBh0D,WACQ,OAANjM,QAAM,IAANA,OAAA,EAAAA,EAAQ26D,cAEJ,OAAC36D,QAAD,IAACA,OAAD,EAACA,EAAQigE,kCAEfj0D,cAAeA,KAIpB+wD,GAAY+xB,EAAY,aACvB,yBAAKh2F,UAAU,iBACb,kBAAC,IAAD,CACEgG,KAAK,qBACLxC,MAAM,WACNyP,aAAY,OAAE/L,QAAF,IAAEA,OAAF,EAAEA,EAAQmvF,mBACtBljF,WAAgB,OAANjM,QAAM,IAANA,OAAA,EAAAA,EAAQ26D,cAAoB,OAAC36D,QAAD,IAACA,OAAD,EAACA,EAAQmvF,oBAC/CnjF,cAAeA,KAIpB+wD,GAAY+xB,EAAY,cACvB,yBAAKh2F,UAAU,iBACb,kBAAC,IAAD,CACEgG,KAAK,sBACLxC,MAAM,YACNyP,aAAY,OAAE/L,QAAF,IAAEA,OAAF,EAAEA,EAAQovF,oBACtBnjF,WAAgB,OAANjM,QAAM,IAANA,OAAA,EAAAA,EAAQ26D,cAAoB,OAAC36D,QAAD,IAACA,OAAD,EAACA,EAAQovF,qBAC/CpjF,cAAeA,KAIpB+wD,GAAY+xB,EAAY,+BACvB,yBAAKh2F,UAAU,iBACb,kBAAC,IAAD,CACEgG,KAAK,oCACLxC,MAAM,6BACNyP,aAAY,OAAE/L,QAAF,IAAEA,OAAF,EAAEA,EAAQs/D,kCACtBrzD,WACQ,OAANjM,QAAM,IAANA,OAAA,EAAAA,EAAQ26D,cAEJ,OAAC36D,QAAD,IAACA,OAAD,EAACA,EAAQs/D,mCAEftzD,cAAeA,KAIpB+wD,GAAY+xB,EAAY,8BACvB,yBAAKh2F,UAAU,iBACb,kBAAC,IAAD,CACEgG,KAAK,mCACLxC,MAAM,4BACNyP,aAAY,OAAE/L,QAAF,IAAEA,OAAF,EAAEA,EAAQigE,iCACtBh0D,WACQ,OAANjM,QAAM,IAANA,OAAA,EAAAA,EAAQ26D,cAEJ,OAAC36D,QAAD,IAACA,OAAD,EAACA,EAAQigE,kCAEfj0D,cAAeA,KAIpB+wD,GAAY+xB,EAAY,cACvB,yBAAKh2F,UAAU,iBACb,kBAAC,IAAD,CACEgG,KAAK,qBACLxC,MAAM,YACNyP,aAAY,OAAE/L,QAAF,IAAEA,OAAF,EAAEA,EAAQu/D,mBACtBtzD,WAAgB,OAANjM,QAAM,IAANA,OAAA,EAAAA,EAAQ26D,cAAoB,OAAC36D,QAAD,IAACA,OAAD,EAACA,EAAQu/D,oBAC/CvzD,cAAeA,KAKpB+wD,GAAY+xB,EAAY,0BACvB,yBAAKh2F,UAAU,iBACb,kBAAC,IAAD,CACEgG,KAAK,8BACLxC,MAAM,wBACNyP,aAAY,OAAE/L,QAAF,IAAEA,OAAF,EAAEA,EAAQkgE,4BACtBj0D,WACQ,OAANjM,QAAM,IAANA,OAAA,EAAAA,EAAQ26D,cAAoB,OAAC36D,QAAD,IAACA,OAAD,EAACA,EAAQkgE,6BAEvCl0D,cAAeA,KAIpB+wD,GAAY+xB,EAAY,eACvB,yBAAKh2F,UAAU,iBACb,kBAAC,IAAD,CACEgG,KAAK,sBACLxC,MAAM,aACNyP,aAAY,OAAE/L,QAAF,IAAEA,OAAF,EAAEA,EAAQw/D,oBACtBvzD,WAAgB,OAANjM,QAAM,IAANA,OAAA,EAAAA,EAAQ26D,cAAoB,OAAC36D,QAAD,IAACA,OAAD,EAACA,EAAQw/D,qBAC/CxzD,cAAeA,KAIpB+wD,GAAY+xB,EAAY,4BACvB,yBAAKh2F,UAAU,iBACb,kBAAC,IAAD,CACEgG,KAAK,kCACLxC,MAAM,0BACNyP,aAAY,OAAE/L,QAAF,IAAEA,OAAF,EAAEA,EAAQmgE,gCACtBl0D,WACQ,OAANjM,QAAM,IAANA,OAAA,EAAAA,EAAQ26D,cAEJ,OAAC36D,QAAD,IAACA,OAAD,EAACA,EAAQmgE,iCAEfn0D,cAAeA,KAIpB+wD,GAAY+xB,EAAY,2BACvB,yBAAKh2F,UAAU,iBACb,kBAAC,IAAD,CACEgG,KAAK,iCACLxC,MAAM,yBACNyP,aAAY,OAAE/L,QAAF,IAAEA,OAAF,EAAEA,EAAQy/D,+BACtBxzD,WACQ,OAANjM,QAAM,IAANA,OAAA,EAAAA,EAAQ26D,cAEJ,OAAC36D,QAAD,IAACA,OAAD,EAACA,EAAQy/D,gCAEfzzD,cAAeA,KAIpB+wD,GAAY+xB,EAAY,cACvB,yBAAKh2F,UAAU,iBACb,kBAAC,IAAD,CACEgG,KAAK,sBACLxC,MAAM,YACNyP,aAAY,OAAE/L,QAAF,IAAEA,OAAF,EAAEA,EAAQogE,oBACtBn0D,WAAgB,OAANjM,QAAM,IAANA,OAAA,EAAAA,EAAQ26D,cAAoB,OAAC36D,QAAD,IAACA,OAAD,EAACA,EAAQogE,qBAC/Cp0D,cAAeA,KAKpB+wD,GAAY+xB,EAAY,UACvB,yBAAKh2F,UAAU,iBACb,kBAAC,IAAD,CACEgG,KAAK,kBACLxC,MAAM,QACNyP,aAAY,OAAE/L,QAAF,IAAEA,OAAF,EAAEA,EAAQ0/D,gBACtBzzD,WAAgB,OAANjM,QAAM,IAANA,OAAA,EAAAA,EAAQ26D,cAAoB,OAAC36D,QAAD,IAACA,OAAD,EAACA,EAAQ0/D,iBAC/C1zD,cAAeA,KAIpB+wD,GAAY+xB,EAAY,eACvB,yBAAKh2F,UAAU,iBACb,kBAAC,IAAD,CACEgG,KAAK,uBACLxC,MAAM,aACNyP,aAAY,OAAE/L,QAAF,IAAEA,OAAF,EAAEA,EAAQqvF,qBACtBpjF,WAAgB,OAANjM,QAAM,IAANA,OAAA,EAAAA,EAAQ26D,cAAoB,OAAC36D,QAAD,IAACA,OAAD,EAACA,EAAQqvF,sBAC/CrjF,cAAeA,KAIpB+wD,GAAY+xB,EAAY,WACvB,yBAAKh2F,UAAU,iBACb,kBAAC,IAAD,CACEgG,KAAK,mBACLxC,MAAM,SACNyP,aAAY,OAAE/L,QAAF,IAAEA,OAAF,EAAEA,EAAQqgE,iBACtBp0D,WAAgB,OAANjM,QAAM,IAANA,OAAA,EAAAA,EAAQ26D,cAAoB,OAAC36D,QAAD,IAACA,OAAD,EAACA,EAAQqgE,kBAC/Cr0D,cAAeA,MAInB+wD,GAAY+xB,EAAY,+CACxB/xB,GAAY+xB,EAAY,oBACxB,yBAAKh2F,UAAU,iBACb,kBAAC,IAAD,CACEgG,KAAK,sBACLxC,MAAM,iBACNyP,aAAY,OAAE/L,QAAF,IAAEA,OAAF,EAAEA,EAAQogE,oBACtBn0D,WAAgB,OAANjM,QAAM,IAANA,OAAA,EAAAA,EAAQ26D,cAAoB,OAAC36D,QAAD,IAACA,OAAD,EAACA,EAAQogE,qBAC/Cp0D,cAAeA,MAInB+wD,GAAY+xB,EAAY,yCACxB/xB,GAAY+xB,EAAY,uBACxB,yBAAKh2F,UAAU,iBACb,kBAAC,IAAD,CACEgG,KAAK,kBACLxC,MAAM,cACNyP,aAAY,OAAE/L,QAAF,IAAEA,OAAF,EAAEA,EAAQ0/D,gBACtBzzD,WAAgB,OAANjM,QAAM,IAANA,OAAA,EAAAA,EAAQ26D,cAAoB,OAAC36D,QAAD,IAACA,OAAD,EAACA,EAAQ0/D,iBAC/C1zD,cAAeA,MAmsC3B,SAASu9E,GAAqB+F,GAC5Bh4F,SAASo0D,iBAAiB,iBAAiB1xD,SAAQ,SAAC8jB,GAC9CwxE,EAAMxxE,EAAGivE,UAAUl/C,IAAI,YACtB/vB,EAAGivE,UAAUhf,OAAO,e,SAIdnQ,G,iFAAf,oGAAwBlhE,EAAxB,EAAwBA,GAAI0gE,EAA5B,EAA4BA,aAAcJ,EAA1C,EAA0CA,cAAeE,EAAzD,EAAyDA,gBACjD9vB,EAAW,CACfp2B,aACmB,KAAjBomD,GAAwC,OAAjBA,EAAwB,EAAIA,EACrDnmD,cACoB,KAAlB+lD,GAA0C,OAAlBA,EAAyB,EAAIA,EACvD9lD,gBACsB,KAApBgmD,GAA8C,OAApBA,EAA2B,EAAIA,GAP/D,kBASS/vD,MAAMxP,OAAOyP,QAAU,kBAAoB1Q,EAAI,CACpD2Q,OAAQ,MACRC,iBAAiB,EACjBC,QAAS,CACPiL,OAAQ,oCACRhL,cAAc,UAAD,OAAYvW,EAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,oBAElBvV,KAAM2B,KAAKE,UAAUqzC,KAEpB1/B,KAXI,uCAWC,WAAOC,GAAP,gFACEC,EAAaD,EAASE,OADxB,SAEeF,EAAS1N,OAFxB,cAEE5E,EAFF,yBAGGyS,QAAQC,IAAI,CAACH,EAAYvS,KAH5B,2CAXD,uDAgBJqS,MAAK,SAACM,GACL,OAAOA,KAERC,OAAM,SAAC5K,QA5BZ,4C,0FCnhKMoZ,EAAwB,CAC5BH,aAAa,EACbjC,gBAAgB,EAChBqC,WAAY,EACZC,SAAU,KACVC,qBAAiBhe,EACjBie,UAAW,MAEAC,EACL,OADKA,EAEH,SAGGyyE,EAAiBvyE,YAAY,CACxCle,KAAM,YACNme,aAAcR,EACdS,SAAU,CACRC,WAAY,SAAC/E,EAAOgF,GAClBhF,EAAM/U,MAAN,UAAiB+Z,EAAOvhB,KAAxB,aAAiCuhB,EAAOC,QAAQha,OAC5C+Z,EAAOC,QAAQC,WAAaR,EAC9B1E,EAAMkE,aAAc,EAEpBlE,EAAMiC,gBAAiB,GAG3BkD,UAAW,SAACnF,EAAOgF,GACjBhF,EAAM/U,MAAQ,KACV+Z,EAAOC,QAAQC,WAAaR,EAC9B1E,EAAMkE,aAAc,EAEpBlE,EAAMiC,gBAAiB,GAI3BmD,gBAAiB,SAACpF,EAAOgF,GACvBhF,EAAMiC,gBAAiB,EACvBjC,EAAMwE,gBAAkBQ,EAAOC,QAAQT,gBACvCxE,EAAM/U,MAAQ,MAGhBoa,iBAAkB,SAACrF,EAAOgF,GACxB,MAAiCA,EAAOC,QAAhCX,EAAR,EAAQA,WAAYC,EAApB,EAAoBA,SACpBvE,EAAMkE,aAAc,EACpBlE,EAAM/U,MAAQ,KACd+U,EAAMuE,SAAWA,EACjBvE,EAAMsE,WAAaA,GAGrBgB,gBAAiB,SAACtF,EAAOgF,GACvBhF,EAAMiC,gBAAiB,EACvBjC,EAAM/U,MAAQ,KACd+U,EAAMuE,SAAS/a,KAAKwb,EAAOC,QAAQjD,WAGrCuD,gBAAiB,SAACvF,EAAOgF,GACvBhF,EAAM/U,MAAQ,KACd+U,EAAMiC,gBAAiB,EACvBjC,EAAMuE,SAAWvE,EAAMuE,SAAS9f,KAAI,SAAA+gB,GAClC,OAAIA,EAAO1kB,KAAOkkB,EAAOC,QAAQjD,SAASlhB,GACjCkkB,EAAOC,QAAQjD,SAEjBwD,MAIXC,gBAAiB,SAACzF,EAAOgF,GACvBhF,EAAM/U,MAAQ,KACd+U,EAAMiC,gBAAiB,EACvBjC,EAAMuE,SAAWvE,EAAMuE,SAAStU,QAAO,SAAAyV,GAAE,OAAIA,EAAG5kB,KAAOkkB,EAAOC,QAAQnkB,OAGxE6kB,iBAAkB,SAAC3F,EAAOgF,GACxBhF,EAAM/U,MAAQ,KACd+U,EAAMiC,gBAAiB,EACvBjC,EAAMuE,SAAWvE,EAAMuE,SAAStU,QAC9B,SAAAyV,GAAE,OAAKV,EAAOC,QAAQW,IAAIvV,SAASqV,EAAG5kB,QAI1C+kB,uBAAwB,SAAC7F,EAAOgF,GAC9BhF,EAAMiC,gBAAiB,EACvBjC,EAAM/U,MAAQ,KACd,MAAwB+Z,EAAOC,QAAvBW,EAAR,EAAQA,IAAKnQ,EAAb,EAAaA,OACbuK,EAAMuE,SAAWvE,EAAMuE,SAAS9f,KAAI,SAAA+gB,GAIlC,OAHII,EAAIE,WAAU,SAAAhlB,GAAE,OAAIA,IAAO0kB,EAAO1kB,OAAO,IAC3C0kB,EAAO/P,OAASA,GAEX+P,SCzFf,8OAGA,IAAOb,EAAWwyE,EAAXxyE,QAEMoB,EAAiB,SAAAC,GAAW,OAAI,SAAAC,GAE3C,OADAA,EAAStB,EAAQQ,UAAU,CAAED,SAAUR,KCclC,SAAuBsB,GAC5B,OAAOhD,IAAMkD,KAAN,UAnBoB,eAmBpB,SAAoC,CAAEF,gBDdtCG,CACUH,GACd1Q,MAAK,SAAAC,GACJ,MAAiCA,EAAStS,KAAlCqhB,EAAR,EAAQA,WAAYC,EAApB,EAAoBA,SACpB0B,EAAStB,EAAQU,iBAAiB,CAAEf,aAAYC,iBAEjD1O,OAAM,SAAA5K,GACLA,EAAMmb,cAAgB,sBACtBH,EAAStB,EAAQI,WAAW,CAAE9Z,QAAOia,SAAUR,UAIxC2B,EAAgB,SAAAvlB,GAAE,OAAI,SAAAmlB,GACjC,OAAKnlB,GAILmlB,EAAStB,EAAQQ,UAAU,CAAED,SAAUR,MCVT4B,EDYXxlB,ECXZkiB,IAAM3M,IAAN,UAboB,eAapB,YAA8BiQ,KDYlChR,MAAK,SAAAC,GACJ,IAAMyM,EAAWzM,EAAStS,KAC1BgjB,EAAStB,EAAQS,gBAAgB,CAAEZ,gBAAiBxC,QAErDnM,OAAM,SAAA5K,GACLA,EAAMmb,cAAgB,qBACtBH,EAAStB,EAAQI,WAAW,CAAE9Z,QAAOia,SAAUR,SAZ1CuB,EAAStB,EAAQS,gBAAgB,CAAEZ,qBAAiBhe,KCPxD,IAAyB8f,IDuBnBC,EAAiB,SAAAzlB,GAAE,OAAI,SAAAmlB,GAElC,OADAA,EAAStB,EAAQQ,UAAU,CAAED,SAAUR,MCAV4B,EDEXxlB,ECDXkiB,IAAMwD,OAAN,UArCoB,eAqCpB,YAAiCF,KDErChR,MAAK,SAAAC,GACJ0Q,EAAStB,EAAQc,gBAAgB,CAAE3kB,WAEpC+U,OAAM,SAAA5K,GACLA,EAAMmb,cAAgB,uBACtBH,EAAStB,EAAQI,WAAW,CAAE9Z,QAAOia,SAAUR,QCR9C,IAAwB4B,IDYlBG,EAAiB,SAAAC,GAAmB,OAAI,SAAAT,GAEnD,OADAA,EAAStB,EAAQQ,UAAU,CAAED,SAAUR,MC9CV1C,EDgDX0E,EC/CX1D,IAAMkD,KAJc,eAIM,CAAElE,cDgDhC1M,MAAK,SAAAC,GACJ,IAAQyM,EAAazM,EAAStS,KAAtB+e,SACRiE,EAAStB,EAAQW,gBAAgB,CAAEtD,iBAEpCnM,OAAM,SAAA5K,GACLA,EAAMmb,cAAgB,uBACtBH,EAAStB,EAAQI,WAAW,CAAE9Z,QAAOia,SAAUR,QCvD9C,IAAwB1C,ID2DlB2E,EAAiB,SAAA3E,GAAQ,OAAI,SAAAiE,GAExC,OADAA,EAAStB,EAAQQ,UAAU,CAAED,SAAUR,KCxClC,SAAwB1C,GAC7B,OAAOgB,IAAM4D,IAAN,UAxBoB,eAwBpB,YAA8B5E,EAASlhB,IAAM,CAAEkhB,aDwC/CmE,CACWnE,GACf1M,MAAK,WACJ2Q,EAAStB,EAAQY,gBAAgB,CAAEvD,iBAEpCnM,OAAM,SAAA5K,GACLA,EAAMmb,cAAgB,uBACtBH,EAAStB,EAAQI,WAAW,CAAE9Z,QAAOia,SAAUR,UAIxCmC,EAAwB,SAACjB,EAAKnQ,GAAN,OAAiB,SAAAwQ,GAEpD,OADAA,EAAStB,EAAQQ,UAAU,CAAED,SAAUR,KChDlC,SAAkCkB,EAAKnQ,GAC5C,OAAOuN,IAAMkD,KAAN,UA7BoB,eA6BpB,6BAAwD,CAC7DN,MACAnQ,WD8CK0Q,CACqBP,EAAKnQ,GAC9BH,MAAK,WACJ2Q,EAAStB,EAAQkB,uBAAuB,CAAED,MAAKnQ,eAEhDI,OAAM,SAAA5K,GACLA,EAAMmb,cAAgB,8BACtBH,EAAStB,EAAQI,WAAW,CAAE9Z,QAAOia,SAAUR,UAIxCoC,EAAkB,SAAAlB,GAAG,OAAI,SAAAK,GAEpC,OADAA,EAAStB,EAAQQ,UAAU,CAAED,SAAUR,KChDlC,SAAyBkB,GAC9B,OAAO5C,IAAMkD,KAAN,UA1CoB,eA0CpB,oBAA+C,CAAEN,QDgDjDO,CACYP,GAChBtQ,MAAK,WACJ2Q,EAAStB,EAAQgB,iBAAiB,CAAEC,YAErC/P,OAAM,SAAA5K,GACLA,EAAMmb,cAAgB,wBACtBH,EAAStB,EAAQI,WAAW,CAAE9Z,QAAOia,SAAUR,W,+JEjGxCN,EAAgB,4B,YCAvBC,EAAwB,CAC5BH,aAAa,EACbjC,gBAAgB,EAChBqC,WAAY,EACZC,SAAU,KACVC,qBAAiBhe,EACjBie,UAAW,MAEAC,EACL,OADKA,EAEH,SAGGyyE,EAAiBvyE,YAAY,CACxCle,KAAM,YACNme,aAAcR,EACdS,SAAU,CACRC,WAAY,SAAC/E,EAAOgF,GAClBhF,EAAM/U,MAAN,UAAiB+Z,EAAOvhB,KAAxB,aAAiCuhB,EAAOC,QAAQha,OAC5C+Z,EAAOC,QAAQC,WAAaR,EAC9B1E,EAAMkE,aAAc,EAEpBlE,EAAMiC,gBAAiB,GAG3BkD,UAAW,SAACnF,EAAOgF,GACjBhF,EAAM/U,MAAQ,KACV+Z,EAAOC,QAAQC,WAAaR,EAC9B1E,EAAMkE,aAAc,EAEpBlE,EAAMiC,gBAAiB,GAI3BmD,gBAAiB,SAACpF,EAAOgF,GACvBhF,EAAMiC,gBAAiB,EACvBjC,EAAMwE,gBAAkBQ,EAAOC,QAAQT,gBACvCxE,EAAM/U,MAAQ,MAGhBoa,iBAAkB,SAACrF,EAAOgF,GACxB,MAAiCA,EAAOC,QAAhCX,EAAR,EAAQA,WAAYC,EAApB,EAAoBA,SACpBvE,EAAMkE,aAAc,EACpBlE,EAAM/U,MAAQ,KACd+U,EAAMuE,SAAWA,EACjBvE,EAAMsE,WAAaA,GAGrBgB,gBAAiB,SAACtF,EAAOgF,GACvBhF,EAAMiC,gBAAiB,EACvBjC,EAAM/U,MAAQ,KACd+U,EAAMuE,SAAS/a,KAAKwb,EAAOC,QAAQjD,WAGrCuD,gBAAiB,SAACvF,EAAOgF,GACvBhF,EAAM/U,MAAQ,KACd+U,EAAMiC,gBAAiB,EACvBjC,EAAMuE,SAAWvE,EAAMuE,SAAS9f,KAAI,SAAA+gB,GAClC,OAAIA,EAAO1kB,KAAOkkB,EAAOC,QAAQjD,SAASlhB,GACjCkkB,EAAOC,QAAQjD,SAEjBwD,MAIXC,gBAAiB,SAACzF,EAAOgF,GACvBhF,EAAM/U,MAAQ,KACd+U,EAAMiC,gBAAiB,EACvBjC,EAAMuE,SAAWvE,EAAMuE,SAAStU,QAAO,SAAAyV,GAAE,OAAIA,EAAG5kB,KAAOkkB,EAAOC,QAAQnkB,OAGxE6kB,iBAAkB,SAAC3F,EAAOgF,GACxBhF,EAAM/U,MAAQ,KACd+U,EAAMiC,gBAAiB,EACvBjC,EAAMuE,SAAWvE,EAAMuE,SAAStU,QAC9B,SAAAyV,GAAE,OAAKV,EAAOC,QAAQW,IAAIvV,SAASqV,EAAG5kB,QAI1C+kB,uBAAwB,SAAC7F,EAAOgF,GAC9BhF,EAAMiC,gBAAiB,EACvBjC,EAAM/U,MAAQ,KACd,MAAwB+Z,EAAOC,QAAvBW,EAAR,EAAQA,IAAKnQ,EAAb,EAAaA,OACbuK,EAAMuE,SAAWvE,EAAMuE,SAAS9f,KAAI,SAAA+gB,GAIlC,OAHII,EAAIE,WAAU,SAAAhlB,GAAE,OAAIA,IAAO0kB,EAAO1kB,OAAO,IAC3C0kB,EAAO/P,OAASA,GAEX+P,SCzFf,8OAGA,IAAOb,EAAWwyE,EAAXxyE,QAEMoB,EAAiB,SAAAC,GAAW,OAAI,SAAAC,GAE3C,OADAA,EAAStB,EAAQQ,UAAU,CAAED,SAAUR,KFclC,SAAuBsB,GAC5B,OAAOhD,IAAMkD,KAAN,UAAc9B,EAAd,SAAoC,CAAE4B,gBEdtCG,CACUH,GACd1Q,MAAK,SAAAC,GACJ,MAAiCA,EAAStS,KAAlCqhB,EAAR,EAAQA,WAAYC,EAApB,EAAoBA,SACpB0B,EAAStB,EAAQU,iBAAiB,CAAEf,aAAYC,iBAEjD1O,OAAM,SAAA5K,GACLA,EAAMmb,cAAgB,uBACtBH,EAAStB,EAAQI,WAAW,CAAE9Z,QAAOia,SAAUR,UAIxC2B,EAAgB,SAAAvlB,GAAE,OAAI,SAAAmlB,GACjC,OAAKnlB,GAILmlB,EAAStB,EAAQQ,UAAU,CAAED,SAAUR,MFVT4B,EEYXxlB,EFXZkiB,IAAM3M,IAAN,UAAa+N,EAAb,YAA8BkC,KEYlChR,MAAK,SAAAC,GACJ,IAAMyM,EAAWzM,EAAStS,KAC1BgjB,EAAStB,EAAQS,gBAAgB,CAAEZ,gBAAiBxC,QAErDnM,OAAM,SAAA5K,GACLA,EAAMmb,cAAgB,sBACtBH,EAAStB,EAAQI,WAAW,CAAE9Z,QAAOia,SAAUR,SAZ1CuB,EAAStB,EAAQS,gBAAgB,CAAEZ,qBAAiBhe,KFPxD,IAAyB8f,IEuBnBC,EAAiB,SAAAzlB,GAAE,OAAI,SAAAmlB,GAElC,OADAA,EAAStB,EAAQQ,UAAU,CAAED,SAAUR,MFAV4B,EEEXxlB,EFDXkiB,IAAMwD,OAAN,UAAgBpC,EAAhB,YAAiCkC,KEErChR,MAAK,SAAAC,GACJ0Q,EAAStB,EAAQc,gBAAgB,CAAE3kB,WAEpC+U,OAAM,SAAA5K,GACLA,EAAMmb,cAAgB,wBACtBH,EAAStB,EAAQI,WAAW,CAAE9Z,QAAOia,SAAUR,QFR9C,IAAwB4B,IEYlBG,EAAiB,SAAAC,GAAmB,OAAI,SAAAT,GAEnD,OADAA,EAAStB,EAAQQ,UAAU,CAAED,SAAUR,MF9CV1C,EEgDX0E,EF/CX1D,IAAMkD,KAAK9B,EAAe,CAAEpC,cEgDhC1M,MAAK,SAAAC,GACJ,IAAQyM,EAAazM,EAAStS,KAAtB+e,SACRiE,EAAStB,EAAQW,gBAAgB,CAAEtD,iBAEpCnM,OAAM,SAAA5K,GACLA,EAAMmb,cAAgB,wBACtBH,EAAStB,EAAQI,WAAW,CAAE9Z,QAAOia,SAAUR,QFvD9C,IAAwB1C,IE2DlB2E,EAAiB,SAAA3E,GAAQ,OAAI,SAAAiE,GAExC,OADAA,EAAStB,EAAQQ,UAAU,CAAED,SAAUR,KFxClC,SAAwB1C,GAC7B,OAAOgB,IAAM4D,IAAN,UAAaxC,EAAb,YAA8BpC,EAASlhB,IAAM,CAAEkhB,aEwC/CmE,CACWnE,GACf1M,MAAK,WACJ2Q,EAAStB,EAAQY,gBAAgB,CAAEvD,iBAEpCnM,OAAM,SAAA5K,GACLA,EAAMmb,cAAgB,wBACtBH,EAAStB,EAAQI,WAAW,CAAE9Z,QAAOia,SAAUR,UAIxCmC,EAAwB,SAACjB,EAAKnQ,GAAN,OAAiB,SAAAwQ,GAEpD,OADAA,EAAStB,EAAQQ,UAAU,CAAED,SAAUR,KFhDlC,SAAkCkB,EAAKnQ,GAC5C,OAAOuN,IAAMkD,KAAN,UAAc9B,EAAd,6BAAwD,CAC7DwB,MACAnQ,WE8CK0Q,CACqBP,EAAKnQ,GAC9BH,MAAK,WACJ2Q,EAAStB,EAAQkB,uBAAuB,CAAED,MAAKnQ,eAEhDI,OAAM,SAAA5K,GACLA,EAAMmb,cAAgB,gCACtBH,EAAStB,EAAQI,WAAW,CAAE9Z,QAAOia,SAAUR,UAIxCoC,EAAkB,SAAAlB,GAAG,OAAI,SAAAK,GAEpC,OADAA,EAAStB,EAAQQ,UAAU,CAAED,SAAUR,KFhDlC,SAAyBkB,GAC9B,OAAO5C,IAAMkD,KAAN,UAAc9B,EAAd,oBAA+C,CAAEwB,QEgDjDO,CACYP,GAChBtQ,MAAK,WACJ2Q,EAAStB,EAAQgB,iBAAiB,CAAEC,YAErC/P,OAAM,SAAA5K,GACLA,EAAMmb,cAAgB,yBACtBH,EAAStB,EAAQI,WAAW,CAAE9Z,QAAOia,SAAUR,W,k9NCvFrD,IAAM/lB,GAAU,IAAIC,IAAa,MAC3BC,GAAKC,IAAIH,IAEA,SAASy8D,GAAU36D,GAAQ,IAAD,WACxB46D,EADwB,+EACvC,WAAmCC,GAAnC,kFACevmD,MAAMxP,OAAOyP,QAAUsmD,EAAM,CACxCrmD,OAAQ,MACRC,iBAAiB,EACjBC,QAAS,CACPC,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,sBAGjBC,KATU,wCASL,WAAOC,GAAP,iFACEC,EAAaD,EAASE,OADxB,SAEeF,EAAS1N,OAFxB,cAEE5E,EAFF,yBAGGyS,QAAQC,IAAI,CAACH,EAAYvS,KAH5B,2CATK,uDAcVqS,MAAK,SAACM,GACL,OAAOA,EAAI,MAEZC,OAAM,SAAC5K,GACNnH,QAAQmH,MAAMA,MAnBpB,oFADuC,sBAuBvC,IAAMswD,EAAwB,WAAO,IAAD,EAClC,EAAkD7tD,oBAAS,GAA3D,mBAAO8tD,EAAP,KAA0BC,EAA1B,KACA,OACE,oCACE,kBAACt0C,EAAA,EAAD,CACEtV,KAAK,KACLC,KAAM0pD,EACNzpD,OAAQ,WACN0pD,GAAqB,KAGvB,kBAACC,GAAA,EAAD,CAAeC,KAAMF,EAAsBG,eAAc,OAAEn7D,QAAF,IAAEA,GAAF,UAAEA,EAAOyH,WAAT,aAAE,EAAYpH,QAK/E,OACE,kBAAC,WAAD,KACE,kBAACq6C,EAAA,EAAD,CAAUz6C,UAAU,iCAAiCE,YAAU,GAC7D,kBAACu6C,EAAA,EAASt6C,OAAV,CACEH,UAAU,0DACVI,GAAG,sBACHC,GAAIC,MAEJ,uBAAGN,UAAU,yBAEf,kBAACy6C,EAAA,EAASj6C,KAAV,CAAeR,UAAU,mEACvB,wBAAIA,UAAU,wBAEZ,wBAAIA,UAAU,aACZ,uBACE0I,KAAM,kBAAM,GACZ1I,UAAU,YACVyM,QAAS,WAAO,IAAD,EACb1M,EAAMq7D,aAAaztD,WAAnB,UAA8B5N,EAAMyH,WAApC,aAA8B,EAAWpH,IACzCL,EAAMq7D,aAAaC,QAAO,KAG5B,0BAAMr7D,UAAU,8CACd,kBAAC,KAAD,CACEwI,IAAKC,aACH,8CAIN,0BAAMzI,UAAU,aAAhB,SAIJ,wBAAIA,UAAU,aACZ,uBACE0I,KAAM,kBAAM,GACZ1I,UAAU,YACVyM,QAAS,WAAO,IAAD,IACb1M,EAAMq7D,aAAaztD,WAAnB,OAA8B5N,QAA9B,IAA8BA,GAA9B,UAA8BA,EAAOyH,WAArC,aAA8B,EAAYpH,IAC1CL,EAAMq7D,aAAaE,qBAAoB,GACvCC,aAAaC,QACX,qBACAz6D,KAAKE,UAAL,OAAelB,QAAf,IAAeA,GAAf,UAAeA,EAAOyH,WAAtB,aAAe,EAAY2Y,iBAI/B,0BAAMngB,UAAU,2CACd,kBAAC,KAAD,CACEwI,IAAKC,aACH,sDAIN,0BAAMzI,UAAU,aAAhB,uBAEE,IAEN,wBAAIA,UAAU,aACZ,uBACE0I,KAAM,kBAAM,GACZ1I,UAAU,YACVyM,QAAS,WAAO,IAAD,IACb1M,EAAMq7D,aAAaztD,WAAnB,OAA8B5N,QAA9B,IAA8BA,GAA9B,UAA8BA,EAAOyH,WAArC,aAA8B,EAAYpH,IAC1CL,EAAMq7D,aAAaK,YAAnB,OAA+B17D,QAA/B,IAA+BA,GAA/B,UAA+BA,EAAOyH,WAAtC,aAA+B,EAAYm+C,MAC3C5lD,EAAMq7D,aAAaM,qBAAoB,KAGzC,0BAAM17D,UAAU,8CACd,kBAAC,KAAD,CACEwI,IAAKC,aACH,sDAIN,0BAAMzI,UAAU,aAAhB,uBAEE,IAEN,wBAAIA,UAAU,aACZ,uBACE0I,KAAM,kBAAM,GACZ1I,UAAU,YACVyM,QAAS,WAAO,IAAD,EACb1M,EAAMq7D,aAAaztD,WAAnB,UAA8B5N,EAAMyH,WAApC,aAA8B,EAAW5D,IACzC7D,EAAMq7D,aAAaO,OAAM,KAG3B,0BAAM37D,UAAU,2CACd,kBAAC,KAAD,CACEwI,IAAKC,aACH,8CAIN,0BAAMzI,UAAU,aAAhB,WAEE,IAEN,wBAAIA,UAAU,aACZ,uBACE0I,KAAM,kBAAM,GACZ1I,UAAU,YACVyM,QAAO,uBAAE,qHAEDlK,EAAO,GACLq5D,EAAc,GACa,WAAxB,OAAL77D,QAAK,IAALA,GAAA,UAAAA,EAAOyH,WAAP,eAAY2Y,cAJX,iCAKUw6C,EAAoB,+BAAD,cACC56D,QADD,IACCA,GADD,UACCA,EAAOyH,WADR,aACC,EAAYpH,KAN1C,QAKHmC,EALG,QAQMs5D,UAAUhzD,OAAS,GAC1BtG,EAAKs5D,UAAU93D,KAAI,SAACC,GAalB,OAZA43D,EAAY9yD,KAAK,CACfgzD,GAAI93D,EAAKwZ,cACTu+C,IAAK/3D,EAAKyZ,IACVQ,YAAaja,EAAKia,YAClB+9C,SAAUh4D,EAAKg4D,SACfC,QAASj4D,EAAKk4D,aACdC,QAASn4D,EAAKo4D,QACdC,WAAYr0D,aAAehE,EAAK6Z,QAChCy+C,SAAUt0D,aAAehE,EAAK+Z,MAC9Bw+C,QAASv4D,EAAK0Z,OACd8+C,UAAWx4D,EAAKy4D,eAEXz4D,KAETtD,aACEk7D,EACA,QAFI,oCAGkB77D,QAHlB,IAGkBA,GAHlB,UAGkBA,EAAOyH,WAHzB,aAGkB,EAAYpH,MAGpCR,aACE,UADU,iDAEyBG,QAFzB,IAEyBA,GAFzB,UAEyBA,EAAOyH,WAFhC,aAEyB,EAAYpH,KAhChD,yCAoCUu6D,EAAoB,gCAAD,cACE56D,QADF,IACEA,GADF,UACEA,EAAOyH,WADT,aACE,EAAYpH,KArC3C,QAoCHmC,EApCG,QAuCH,UAAAA,EAAKm6D,eAAL,eAAc7zD,QAAS,GACrBtG,EAAKm6D,QAAQ34D,KAAI,SAAC44D,GAOhB,OANAA,EAAM78C,UAAUjX,OAAS,GACvB8zD,EAAM78C,UAAU/b,KAAI,SAAC64D,GAGnB,OAFAA,EAAMC,SAAWF,EAAM/4D,GACvBg4D,EAAY9yD,KAAK8zD,GACVA,KAEJD,MAEP,UAAAp6D,EAAKm6D,eAAL,eAAc7zD,QAAS,EACzBnI,aACEk7D,EACA,QAFI,oCAGkB77D,QAHlB,IAGkBA,GAHlB,UAGkBA,EAAOyH,WAHzB,aAGkB,EAAYpH,KAGpCR,aACE,UADU,iDAEyBG,QAFzB,IAEyBA,GAFzB,UAEyBA,EAAOyH,WAFhC,aAEyB,EAAYpH,KA1DhD,0DA+DLgD,QAAQC,IAAR,MA/DK,2DAmET,0BAAMrD,UAAU,2DACd,kBAAC,KAAD,CAAU+O,MAAM,aAElB,0BAAM/O,UAAU,aAAhB,qCAMJ,wBAAIA,UAAU,aACZ,uBACE0I,KAAM,kBAAM,GACZ1I,UAAU,YACVyM,QAAO,uBAAE,qHAEDlK,EAAO,GACLq5D,EAAc,GACa,WAAxB,OAAL77D,QAAK,IAALA,GAAA,UAAAA,EAAOyH,WAAP,eAAY2Y,cAJX,iCAKUw6C,EAAoB,+BAAD,cACC56D,QADD,IACCA,GADD,UACCA,EAAOyH,WADR,aACC,EAAYpH,KAN1C,QAKHmC,EALG,QAQMs5D,UAAUhzD,OAAS,GAC1BtG,EAAKs5D,UAAU36D,SAAQ,SAAC8C,GACtB43D,EAAY9yD,KAAK,CACfgzD,GAAI93D,EAAKwZ,cACTu+C,IAAK/3D,EAAKyZ,IACVQ,YAAaja,EAAKia,YAClB+9C,SAAUh4D,EAAKg4D,SACfC,QAASj4D,EAAKk4D,aACdC,QAASn4D,EAAKo4D,QACdC,WAAYr0D,aAAehE,EAAK6Z,QAChCy+C,SAAUt0D,aAAehE,EAAK+Z,MAC9Bw+C,QAASv4D,EAAK0Z,OACd8+C,UAAWx4D,EAAKy4D,kBAGpB/7D,aAAOk7D,EAAa,MAAd,oCAA2C77D,QAA3C,IAA2CA,GAA3C,UAA2CA,EAAOyH,WAAlD,aAA2C,EAAYpH,MAE7DR,aACE,UADU,iDAEyBG,QAFzB,IAEyBA,GAFzB,UAEyBA,EAAOyH,WAFhC,aAEyB,EAAYpH,KA3BhD,yCA+BUu6D,EAAoB,gCAAD,cACE56D,QADF,IACEA,GADF,UACEA,EAAOyH,WADT,aACE,EAAYpH,KAhC3C,QA+BHmC,EA/BG,QAkCH,UAAAA,EAAKm6D,eAAL,eAAc7zD,QAAS,GACrBtG,EAAKm6D,QAAQx7D,SAAQ,SAACy7D,GACpBA,EAAM78C,UAAUjX,OAAS,GACvB8zD,EAAM78C,UAAU5e,SAAQ,SAAC07D,GACvBA,EAAMC,SAAWF,EAAM/4D,GACvBg4D,EAAY9yD,KAAK8zD,UAGrB,UAAAr6D,EAAKm6D,eAAL,eAAc7zD,QAAS,EACzBnI,aAAOk7D,EAAa,MAAd,oCAA2C77D,QAA3C,IAA2CA,GAA3C,UAA2CA,EAAOyH,WAAlD,aAA2C,EAAYpH,KAE7DR,aACE,UADU,iDAEyBG,QAFzB,IAEyBA,GAFzB,UAEyBA,EAAOyH,WAFhC,aAEyB,EAAYpH,KA/ChD,0DAoDLgD,QAAQC,IAAR,MApDK,2DAwDT,0BAAMrD,UAAU,qDACd,kBAAC,KAAD,CAAU+O,MAAM,aAElB,0BAAM/O,UAAU,aAAhB,oCAMJ,wBAAIA,UAAU,aACZ,uBACE0I,KAAM,kBAAM,GACZ1I,UAAU,YACVyM,QAAS,WAAO,IAAD,EACb1M,EAAMq7D,aAAa7qC,uBAAnB,OAA0CxwB,QAA1C,IAA0CA,GAA1C,UAA0CA,EAAOyH,WAAjD,aAA0C,EAAYpH,MAGxD,0BAAMJ,UAAU,8CACd,kBAAC,KAAD,CACEwI,IAAKC,aACH,6CAIN,0BAAMzI,UAAU,aAAhB,cAIJ,wBAAIA,UAAU,aACZ,kBAAC,KAAD,CACEI,GAAE,OAAEL,QAAF,IAAEA,GAAF,UAAEA,EAAOyH,WAAT,aAAE,EAAYpH,GAChB6N,KAAM,YACN6uD,YAAY,KAIhB,wBAAI98D,UAAU,aACZ,uBACE0I,KAAM,kBAAM,GACZ1I,UAAU,YACVyM,QAAS,WAAO,IAAD,EACb5H,OAAOulD,+BAA4BtkD,EACnC/F,EAAMq7D,aAAa5qC,yBAAnB,OAA4CzwB,QAA5C,IAA4CA,GAA5C,UAA4CA,EAAOyH,WAAnD,aAA4C,EAAYpH,MAG1D,0BAAMJ,UAAU,8CACd,kBAAC,KAAD,CACEwI,IAAKC,aACH,8CAIN,0BAAMzI,UAAU,aAAhB,uBAMV,kBAAC66D,EAAD,O,s8MCtRN,IAAM58D,GAAU,IAAIC,IAAa,MAC3BC,GAAKC,IAAIH,IACTqZ,GAAYrB,aAAW,SAACC,GAAD,MAAY,CACvCgpB,WAAY,CACV9X,QAASlR,EAAMK,QAAQ,QAG3B,SAASkV,GAAW7pB,GAClB,GAAa,OAATA,QAA0BkE,IAATlE,GAA+B,KAATA,EACzC,MAAO,GAET,IAAIoK,EAAI,IAAIrK,KAAKC,GACf8pB,EAAQ,IAAM1f,EAAEjK,WAAa,GAC7B6J,EAAM,GAAKI,EAAEhK,UACb2pB,EAAO3f,EAAE/J,cAKX,OAHIypB,EAAM7iB,OAAS,IAAG6iB,EAAQ,IAAMA,GAChC9f,EAAI/C,OAAS,IAAG+C,EAAM,IAAMA,GAEzB,CAAC8f,EAAO9f,EAAK+f,GAAMjkB,KAAK,KAEjC,SAASf,GAAQX,EAAMlH,GACrB,IAAK,IAAD,QAEG,QAAH,EAAAA,SAAA,eAAK6Q,SAAS,WAAd,UACA7Q,SADA,aACA,EAAK6Q,SAAS,gBADd,UAEA7Q,SAFA,aAEA,EAAK6Q,SAAS,oBAEd7Q,OAAMgH,GACR,MAAOyE,IACT,OACE,oCACE,yBAAKvK,UAAU,YACb,yBAAKA,UAAU,yEACZgG,GAEH,yBAAKhG,UAAU,iDAAf,KACKlB,GAAO,0BAAMkB,UAAU,cAAhB,YAMpB,SAASg9D,GAAch3D,EAAMlH,GAC3B,IAAK,IAAD,MACK,QAAH,EAAAA,SAAA,eAAK6Q,SAAS,WAAd,UAAyB7Q,SAAzB,aAAyB,EAAK6Q,SAAS,iBAAc7Q,OAAMgH,GAC/D,MAAOyE,IACT,OACE,oCACE,yBAAKvK,UAAU,YACb,yBAAKA,UAAU,0DACZgG,GAEH,yBAAKhG,UAAU,4CACZlB,GAAO,0BAAMkB,UAAU,cAAhB,YAOlB,SAASi9D,GAASC,GAChB,YAAap3D,IAATo3D,GAA+B,OAATA,GAA0B,KAATA,EAClC,KAGPA,EAAOA,EACJ12D,WACAuF,MAAM,6CAA+C,CAACmxD,IAEhDr0D,OAAS,KAEhBq0D,EAAOA,EAAKz7D,MAAM,IACb,IAAMy7D,EAAK,GAAK,GAAK,MAAQ,MAClCA,EAAK,IAAMA,EAAK,GAAK,IAAM,IAEtBA,EAAKx1D,KAAK,KAGd,SAASgvF,GAAT,GAA2D,IAA5BlvF,EAA2B,EAA3BA,IAAKmvF,EAAsB,EAAtBA,YAAav0B,EAAS,EAATA,MACtD,EAAwBp1D,oBAAS,GAAjC,mBAAOiuD,EAAP,KAAa8C,EAAb,KACA,SAAS64B,IACP,OACE,kBAAC,KAAD,CACEn2F,QACE,kBAAC,WAAD,KACE,wBAAIT,UAAU,aACZ,uBACE0I,KAAM,kBAAM,GACZ1I,UAAU,YACVyM,QAAS,WACPzN,aAA0BwI,EAAIpH,KAAJ,OAAUoH,QAAV,IAAUA,OAAV,EAAUA,EAAK5D,OAG3C,0BAAM5D,UAAU,8CACd,kBAAC,KAAD,CAAKwI,IAAKC,aAAc,sCAE1B,0BAAMzI,UAAU,aAAhB,kBAGJ,wBAAIA,UAAU,aACZ,uBACE0I,KAAM,kBAAM,GACZ1I,UAAU,YACVyM,QAAS,WACPzN,aAAyB,OAACwI,QAAD,IAACA,OAAD,EAACA,EAAKyuD,mBAGjC,0BAAMj2D,UAAU,8CACd,kBAAC,KAAD,CAAKwI,IAAKC,aAAc,sCAE1B,0BAAMzI,UAAU,aAAhB,kBAQd,OACE,kBAAC,WAAD,KACE,kBAACymB,EAAA,EAAD,CACEtV,KAAK,KACLC,KAAM6pD,EACN5pD,OAAQ,WACN0sD,GAAQ,IAEVzsD,kBAAgB,gCAEhB,kBAAC6wD,GAAD,CAAgBv+D,GAAE,OAAE4D,QAAF,IAAEA,OAAF,EAAEA,EAAKpH,GAAI29D,QAASA,EAAQj/C,OAAQsjD,MAAOA,KAG/D,kBAACw0B,EAAD,MACA,qCACA,qCACM,OAAHpvF,QAAG,IAAHA,OAAA,EAAAA,EAAKs5D,eAAL,OAAoBt5D,QAApB,IAAoBA,OAApB,EAAoBA,EAAKqvF,cACxB,kBAACp9C,EAAA,EAAD,CACEjtC,QACE,kBAAC4wB,EAAA,EAAD,CAASh9B,GAAG,0BACY,KAAlB,OAAHoH,QAAG,IAAHA,OAAA,EAAAA,EAAKs5D,aACF,WACsB,KAAnB,OAAHt5D,QAAG,IAAHA,OAAA,EAAAA,EAAKqvF,cACL,gBACA,KAIR,kBAAC,KAAD,CACEpqF,QAAS,SAAC6C,GACRA,EAAEqmD,iBACFoI,GAAQ,IAEV/9D,UAAS,kCACc,KAAlB,OAAHwH,QAAG,IAAHA,OAAA,EAAAA,EAAKs5D,aACD,gBACsB,KAAnB,OAAHt5D,QAAG,IAAHA,OAAA,EAAAA,EAAKqvF,cACL,gBACA,mBALG,aAOS,IAAhBF,EAAuB,uBAAyB,iBAPzC,aASc,KAAlB,OAAHnvF,QAAG,IAAHA,OAAA,EAAAA,EAAKs5D,eAEqB,KAAnB,OAAHt5D,QAAG,IAAHA,OAAA,EAAAA,EAAKqvF,cADL,aAGA,0BAGLF,EAAcnvF,EAAIsvF,QAAP,OAAiBtvF,QAAjB,IAAiBA,OAAjB,EAAiBA,EAAKpH,KAItC,kBAAC,KAAD,CACEqM,QAAS,SAAC6C,GACRA,EAAEqmD,iBACFoI,GAAQ,IAEV/9D,UAAS,kCACc,KAAlB,OAAHwH,QAAG,IAAHA,OAAA,EAAAA,EAAKs5D,aACD,gBACsB,KAAnB,OAAHt5D,QAAG,IAAHA,OAAA,EAAAA,EAAKqvF,cACL,gBACA,mBALG,aAOS,IAAhBF,EAAuB,uBAAyB,iBAPzC,aASc,KAAlB,OAAHnvF,QAAG,IAAHA,OAAA,EAAAA,EAAKs5D,eAEqB,KAAnB,OAAHt5D,QAAG,IAAHA,OAAA,EAAAA,EAAKqvF,cADL,aAGA,0BAGLF,EAAcnvF,EAAIsvF,QAAP,OAAiBtvF,QAAjB,IAAiBA,OAAjB,EAAiBA,EAAKpH,MAQvC,SAAS22F,GAAT,GAAuE,IAA7BC,EAA4B,EAA5BA,QAAS52F,EAAmB,EAAnBA,GAAIiiE,EAAe,EAAfA,YAC5D,EAAwBr1D,oBAAS,GAAjC,mBAAOiuD,EAAP,KAAa8C,EAAb,KACA,OACE,oCACE,kBAACt3C,EAAA,EAAD,CACEtV,KAAK,KACLC,KAAM6pD,EACN5pD,OAAQ,WACN0sD,GAAQ,IAEVzsD,kBAAgB,gCAEhB,kBAAC6wD,GAAD,CACEE,YAAaA,EACbz+D,GAAIxD,EACJ29D,QAASA,EAAQj/C,UAGrB,2BACErS,QAAS,kBAAMsxD,GAAQ,IACvBh7D,KAAK,SACL/C,UAAS,8DACTb,MAAO63F,KAKR,SAAS70B,GAAT,GAA8D,IAAD,wgBAAnCv+D,GAAmC,EAAnCA,GAAIm6D,GAA+B,EAA/BA,QAASsE,GAAsB,EAAtBA,YAAaD,GAAS,EAATA,MACnD7hE,GAAU+W,KAChB,GAA4BtK,qBAA5B,qBAAOs1D,GAAP,MAAeC,GAAf,MACA,GAA4Bv1D,mBAAS,IAArC,qBAAO2yB,GAAP,MAAenO,GAAf,MACA,GAAsCxkB,qBAAtC,qBAAOw1D,GAAP,MAAoBC,GAApB,MACA,GAA8Bz1D,mBAAS,IAAvC,qBAAO0tB,GAAP,MAAcgoC,GAAd,MACA,GAA0C11D,qBAA1C,qBAAOw9C,GAAP,MAAoBmY,GAApB,MACA,GAAkD31D,mBAAS,IAA3D,qBAAO41D,GAAP,MAA0BC,GAA1B,MACA,GAAkE71D,mBAChE,IADF,qBAAO81D,GAAP,MAAkCC,GAAlC,MAGA,GAA8D/1D,mBAAS,MAAvE,qBAAOg2D,GAAP,MAAgCC,GAAhC,MACA,GAAoDj2D,mBAAS,IAA7D,qBAAOk2D,GAAP,MAA2BC,GAA3B,MACA,GAAsDn2D,mBAAS,MAA/D,qBAAOiqF,GAAP,MAA4BC,GAA5B,MAbkE,+CAclE,qGACiB9hF,aAAwBxR,IADzC,OACMo9B,EADN,OAEE59B,QAAQC,IAAI,KAAM29B,GAClBk2D,GAAuBl2D,GAHzB,4CAdkE,sBAmBlEltB,qBAAU,YAnBwD,oCAoBhEqjF,KACC,CAACvzF,KAEJkQ,qBAAU,WACR,IAAIsjF,EAAQ,GACZ54F,SAASo0D,iBAAiB,mBAAmB1xD,SAAQ,SAACiP,GAC1B,UAAtBA,EAAQvR,WAA+C,cAAtBuR,EAAQvR,WAC3Cw4F,EAAMtuF,KAAKqH,EAAQvR,cAEvB4yB,GAAU4lE,KACT,IAEH,IA0EMh0B,GAAantD,aAAW,SAACC,GAAD,MAAY,CACxCC,KAAM,CACJktD,WAAY,EACZt0D,MAAOmH,EAAM4R,QAAQ7oB,KAAK49B,UAC1BzlB,WAAYlB,EAAMK,QAAQ,UAG9B,GAAwBmU,IAAM1d,SAAS,GAAvC,qBAAOgoB,GAAP,MAAasuC,GAAb,MACA,GAAsC54C,IAAM1d,SAAS,IAArD,qBAAO2wB,GAAP,MAAoB4lC,GAApB,MAsEA,OAA4Bv2D,mBAAS,MAArC,qBAAOw2D,GAAP,MAAeC,GAAf,MACA3vD,qBAAU,WACR4vD,OACC,IACH,OAAwC12D,oBAAS,GAAjD,qBAAO22D,GAAP,MAAqBC,GAArB,MACA,GAA4C52D,mBAAS,IAArD,qBAAO62D,GAAP,MAAuBC,GAAvB,MACA,GAA8C92D,mBAAS,GAAvD,qBAAO+2D,GAAP,MAAwBC,GAAxB,MAEAlwD,qBAAU,WACR,IAAK,IAAD,IACIgZ,EAAM,IACF,OAANw1C,SAAM,IAANA,IAAA,UAAAA,GAAQzY,gBAAR,mBAAkBM,eAAlB,eAA2BthD,QAAS,IACtCy5D,GAAOzY,SAASM,QAAQjpD,SAAQ,SAACy7D,GAAW,IAAD,IACzCA,EAAMtT,YACJ,UAAAsT,EAAMgE,qBAAN,eAAqB31C,aACrB,OADA,UAEA2xC,EAAMgE,qBAFN,aAEA,EAAqBz9C,MACvBy5C,EAAM7lB,YACJ,uBACEpuC,KAAM,kBAAM,GACZ1I,UAAU,yCACVyM,QAAS,WACPu3D,GAAmBrH,EAAM/4D,IACzBkgE,GAAkBnH,EAAM34B,UAAY,IACpC4/B,IAAgB,KANpB,QAYF92C,EAAIhkB,KAAK6zD,MAEX8F,GAAe31C,IAEjB,MAAOjtB,GACPuD,QAAQC,IAAIxD,MAEb,QAACyiE,SAAD,IAACA,QAAD,EAACA,GAAQzY,WAUZ,OAA0C78C,mBAAS,IAAnD,qBAAOk3D,GAAP,MAAsBC,GAAtB,MACA,GAA8Cn3D,mBAAS,IAAvD,qBAAOo3D,GAAP,MAAwBC,GAAxB,MACA,GAAwCr3D,mBAAS,IAAjD,qBAAOs3D,GAAP,MAAqBC,GAArB,MACA,GAAyCv3D,oBAAS,GAAlD,qBAAOw3D,GAAP,MAAqBC,GAArB,MACA,GAAkCz3D,oBAAS,GAA3C,qBAAO03D,GAAP,MAAoBC,GAApB,MACA,GAA4B33D,mBAAS,MAArC,qBAAO43D,GAAP,MAAeC,GAAf,MA5OkE,SA8OnDC,KA9OmD,+EA8OlE,4FACQxwB,EAAW,CACfp2B,aAAY,OAAEomD,SAAF,IAAEA,MAAgB,EAC9BnmD,cAAa,OAAE+lD,SAAF,IAAEA,MAAiB,EAChC9lD,gBAAe,OAAEgmD,SAAF,IAAEA,MAAmB,GAJxC,kBAMS/vD,MAAMxP,OAAOyP,QAAU,mBAAjB,OAAqCswD,SAArC,IAAqCA,QAArC,EAAqCA,GAAQhhE,IAAI,CAC5D2Q,OAAQ,MACRC,iBAAiB,EACjBC,QAAS,CACPiL,OAAQ,oCACRhL,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,oBAElBvV,KAAM2B,KAAKE,UAAUqzC,KAEpB1/B,KAXI,wCAWC,WAAOC,GAAP,iFACEC,EAAaD,EAASE,OAC5BlQ,OAAOkgE,eAAiBjwD,EAFpB,SAGeD,EAAS1N,OAHxB,cAGE5E,EAHF,yBAIGyS,QAAQC,IAAI,CAACH,EAAYvS,KAJ5B,2CAXD,uDAiBJqS,MAAK,SAACM,GACL,OAAOA,EAAI,MAEZC,OAAM,SAAC5K,QA1BZ,4CA9OkE,sBA0QlE,OAA4CyC,oBAAS,GAArD,qBAAOg4D,GAAP,MAAuBC,GAAvB,MACA,GAAgDj4D,oBAAS,GAAzD,qBAAOk4D,GAAP,MAAyBC,GAAzB,MACArxD,qBAAU,WACHkxD,KACHK,GAAY,IACZD,GAAY,OAEb,CAACJ,KACJ,IAGA,GAA4Bh4D,mBAAS,IAArC,qBAAOjK,GAAP,MAAaqiE,GAAb,MACA,GAAgCp4D,mBAAS,IAAzC,qBAAOmF,GAAP,MAAiBkzD,GAAjB,MACA,OACE,oCACE,kBAAC5+C,EAAA,EAAMlV,OAAP,KACE,yBAAKvR,UAAU,OACb,yBAAKA,UAAU,sCACZ2G,GAAQ,eAAD,OAAiB27D,SAAjB,IAAiBA,IAAjB,UAAiBA,GAAQzY,gBAAzB,aAAiB,EAAkByb,UAE7C,yBAAKtlE,UAAU,sCACZ2G,GACC,mBACM,OAAN27D,SAAM,IAANA,IAAA,UAAAA,GAAQzY,gBAAR,eAAkBjmD,MACT,OAAN0+D,SAAM,IAANA,IAAA,UAAAA,GAAQzY,gBAAR,eAAkB1sC,WACf,cAAQmlD,SAAR,IAAQA,IAAR,UAAQA,GAAQzY,gBAAhB,aAAQ,EAAkB1sC,WAC1B,MAIV,yBAAKnd,UAAU,sCACZ2G,GAAQ,aAAD,OAAe27D,SAAf,IAAeA,IAAf,UAAeA,GAAQzY,gBAAvB,aAAe,EAAkB0b,gBAE3C,yBAAKvlE,UAAU,sCACZ2G,GAAQ,eAAgBgD,aAAU,OAAC24D,SAAD,IAACA,IAAD,UAACA,GAAQzY,gBAAT,aAAC,EAAkB2b,gBAG1D,kBAACnoC,EAAA,EAAD,CACE7rB,aAAW,QACX/E,QAAS,WACPsxD,IAAQ,KAGV,kBAAC,IAAD,QAIJ,kBAACt3C,EAAA,EAAMhV,KAAP,KACE,kBAAC2zB,EAAA,EAAD,CAAWC,iBAAiB,KAC1B,oCACE,kBAACD,EAAA,EAAUjlC,OAAX,CACEE,GAAImzB,IACJxzB,UAAU,6DACV2zB,QAAQ,OACR4R,SAAS,KAET,kBAACC,EAAA,EAAD,CAAO7R,QAAQ,WAAW3zB,UAAU,wBAClC,wBAAIA,UAAU,oBAAd,mBAEF,kBAAC4zB,EAAA,EAAD,CACE5zB,UAAWwpB,YACT,mDAEFplB,MAAO,CAAEC,SAAU,GAAIgkB,MAAO,OAAQod,IAAK,UAG/C,kBAACL,EAAA,EAAUM,SAAX,CAAoBH,SAAS,KAC3B,yBAAKvlC,UAAU,6BACb,yBAAKA,UAAU,sBACb,yBACEA,UAAU,qHACVoE,MAAO,CAAEC,SAAU,SAFrB,YAMA,6BACCsC,GACC,gBADM,OAEN27D,SAFM,IAENA,IAFM,UAENA,GAAQzY,gBAFF,iBAEN,EAAkB4b,uBAFZ,aAEN,EAAmCviD,MAEpCvc,GACC,gBADM,OAEN27D,SAFM,IAENA,IAFM,UAENA,GAAQzY,gBAFF,iBAEN,EAAkB4b,uBAFZ,aAEN,EAAmCz6C,aAEpCrkB,GACC,mBADM,OAEN27D,SAFM,IAENA,IAFM,UAENA,GAAQzY,gBAFF,iBAEN,EAAkB4b,uBAFZ,aAEN,EAAmCx1C,SAErC,6BACGtpB,GACC,uBACM,OAAN27D,SAAM,IAANA,IAAA,UAAAA,GAAQzY,gBAAR,mBAAkB4b,uBAAlB,eAAmCv1C,MACjC,OADF,OAEEoyC,SAFF,IAEEA,IAFF,UAEEA,GAAQzY,gBAFV,iBAEE,EAAkB4b,uBAFpB,aAEE,EAAmCx4C,OACnC,OAHF,OAIEq1C,SAJF,IAIEA,IAJF,UAIEA,GAAQzY,gBAJV,kBAIE,EAAkB4b,uBAJpB,cAIE,GAAmCx/B,WAGzC,6BACGt/B,GACC,mBADM,OAEN27D,SAFM,IAENA,IAFM,WAENA,GAAQzY,gBAFF,cAEN,GAAkB6b,kBAQxB,yBAAK1lE,UAAU,sBACb,yBACEA,UAAU,qHACVoE,MAAO,CAAEC,SAAU,SAFrB,WAMA,6BACCsC,GACC,eADM,OAEN27D,SAFM,IAENA,IAFM,WAENA,GAAQzY,gBAFF,mBAEN,GAAkB8b,qBAFZ,cAEN,GAAiCziD,MAElCvc,GACC,eADM,OAEN27D,SAFM,IAENA,IAFM,WAENA,GAAQzY,gBAFF,mBAEN,GAAkB8b,qBAFZ,cAEN,GAAiC36C,aAElCrkB,GACC,mBADM,OAEN27D,SAFM,IAENA,IAFM,WAENA,GAAQzY,gBAFF,mBAEN,GAAkB8b,qBAFZ,cAEN,GAAiC11C,SAEnC,6BACGtpB,GACC,uBACM,OAAN27D,SAAM,IAANA,IAAA,WAAAA,GAAQzY,gBAAR,sBAAkB8b,qBAAlB,iBAAiCz1C,MAC/B,OADF,OAEEoyC,SAFF,IAEEA,IAFF,WAEEA,GAAQzY,gBAFV,mBAEE,GAAkB8b,qBAFpB,cAEE,GAAiC14C,OACjC,OAHF,OAIEq1C,SAJF,IAIEA,IAJF,WAIEA,GAAQzY,gBAJV,mBAIE,GAAkB8b,qBAJpB,cAIE,GAAiC1/B,WAGvC,6BACGt/B,GACC,kBADM,OAEN27D,SAFM,IAENA,IAFM,WAENA,GAAQzY,gBAFF,cAEN,GAAkB+b,iBAQxB,yBAAK5lE,UAAU,2BACb,yBACEA,UAAU,qHACVoE,MAAO,CAAEC,SAAU,SAFrB,mBAMA,6BACCsC,GACC,uBADM,OAEN27D,SAFM,IAENA,IAFM,WAENA,GAAQzY,gBAFF,mBAEN,GAAkBgc,sBAFZ,cAEN,GAAkC3iD,MAEnCvc,GACC,uBADM,OAEN27D,SAFM,IAENA,IAFM,WAENA,GAAQzY,gBAFF,mBAEN,GAAkBgc,sBAFZ,cAEN,GAAkC76C,aAEnCrkB,GACC,2BADM,OAEN27D,SAFM,IAENA,IAFM,WAENA,GAAQzY,gBAFF,mBAEN,GAAkBgc,sBAFZ,cAEN,GAAkC51C,SAEpC,6BACGtpB,GACC,uBACM,OAAN27D,SAAM,IAANA,IAAA,WAAAA,GAAQzY,gBAAR,sBAAkBgc,sBAAlB,iBAAkC31C,MAChC,OADF,OAEEoyC,SAFF,IAEEA,IAFF,WAEEA,GAAQzY,gBAFV,mBAEE,GAAkBgc,sBAFpB,cAEE,GAAkC54C,OAClC,OAHF,OAIEq1C,SAJF,IAIEA,IAJF,WAIEA,GAAQzY,gBAJV,mBAIE,GAAkBgc,sBAJpB,cAIE,GAAkC5/B,WAGxC,6BACGt/B,GAAQ,iBAAD,OAAmB27D,SAAnB,IAAmBA,IAAnB,WAAmBA,GAAQzY,gBAA3B,cAAmB,GAAkBic,gBAE/C,6BACGn/D,GACC,gBACAgD,aAAU,OAAC24D,SAAD,IAACA,IAAD,WAACA,GAAQzY,gBAAT,cAAC,GAAkBkc,cAKnC,yBAAK/lE,UAAU,2BACb,yBACEA,UAAU,qHACVoE,MAAO,CAAEC,SAAU,SAFrB,oBAMA,6BACCsC,GACC,wBADM,OAEN27D,SAFM,IAENA,IAFM,WAENA,GAAQzY,gBAFF,mBAEN,GAAkBmc,wBAFZ,cAEN,GAAoC9iD,MAErCvc,GACC,wBADM,OAEN27D,SAFM,IAENA,IAFM,WAENA,GAAQzY,gBAFF,mBAEN,GAAkBmc,wBAFZ,cAEN,GAAoCh7C,aAEtC,6BACGrkB,GACC,4BADM,OAEN27D,SAFM,IAENA,IAFM,WAENA,GAAQzY,gBAFF,mBAEN,GAAkBmc,wBAFZ,cAEN,GAAoC/1C,UAGxC,6BACGtpB,GACC,uBACM,OAAN27D,SAAM,IAANA,IAAA,WAAAA,GAAQzY,gBAAR,sBAAkBmc,wBAAlB,iBAAoC91C,MAClC,OADF,OAEEoyC,SAFF,IAEEA,IAFF,WAEEA,GAAQzY,gBAFV,mBAEE,GAAkBmc,wBAFpB,cAEE,GAAoC/4C,OACpC,OAHF,OAIEq1C,SAJF,IAIEA,IAJF,WAIEA,GAAQzY,gBAJV,mBAIE,GAAkBmc,wBAJpB,cAIE,GAAoC//B,WAG1C,6BACGt/B,GACC,mBADM,OAEN27D,SAFM,IAENA,IAFM,WAENA,GAAQzY,gBAFF,cAEN,GAAkBoc,mBAKxB,yBAAKjmE,UAAU,kBACb,yBACEA,UAAU,qHACVoE,MAAO,CAAEC,SAAU,SAFrB,UAOF,yBAAKrE,UAAU,kBACN,OAAN2/B,SAAM,IAANA,QAAA,EAAAA,GAAQ92B,QAAS,GAChB82B,GAAO57B,KAAI,SAAC8D,GAAD,OACT,oCACGlB,GACCkB,EACA8B,aAioF1B,SAAqB9F,EAAM0F,GACzB,GAAa,QAAT1F,EAAgB,cAAO0F,QAAP,IAAOA,OAAP,EAAOA,EAAG09D,cACzB,GAAa,cAATpjE,EAAsB,cAAO0F,QAAP,IAAOA,OAAP,EAAOA,EAAG+sF,oBACpC,GAAa,aAATzyF,EAAqB,cAAO0F,QAAP,IAAOA,OAAP,EAAOA,EAAGg9D,iBACnC,GAAa,4BAAT1iE,EACP,cAAO0F,QAAP,IAAOA,OAAP,EAAOA,EAAG89D,gCACP,GAAa,WAATxjE,EAAmB,cAAO0F,QAAP,IAAOA,OAAP,EAAOA,EAAGg9D,iBACjC,GAAa,WAAT1iE,EAAmB,cAAO0F,QAAP,IAAOA,OAAP,EAAOA,EAAGg+D,iBAEjC,GAAa,mCAAT1jE,EACP,cAAO0F,QAAP,IAAOA,OAAP,EAAOA,EAAGo9D,+BACP,GAAa,eAAT9iE,EAAuB,cAAO0F,QAAP,IAAOA,OAAP,EAAOA,EAAG29D,qBACrC,GAAa,0BAATrjE,EACP,cAAO0F,QAAP,IAAOA,OAAP,EAAOA,EAAG69D,4BACP,GAAa,eAATvjE,EAAuB,cAAO0F,QAAP,IAAOA,OAAP,EAAOA,EAAGm9D,oBACrC,GAAa,WAAT7iE,EAAmB,cAAO0F,QAAP,IAAOA,OAAP,EAAOA,EAAG49D,iCACjC,GAAa,YAATtjE,EAAoB,cAAO0F,QAAP,IAAOA,OAAP,EAAOA,EAAGi9D,kCAClC,GAAa,cAAT3iE,EAAsB,cAAO0F,QAAP,IAAOA,OAAP,EAAOA,EAAGk9D,mBACpC,GAAa,WAAT5iE,EAAmB,cAAO0F,QAAP,IAAOA,OAAP,EAAOA,EAAG+8D,iBACjC,GAAa,aAATziE,EAAqB,cAAO0F,QAAP,IAAOA,OAAP,EAAOA,EAAG8sF,mBACnC,GAAa,SAATxyF,EAAiB,cAAO0F,QAAP,IAAOA,OAAP,EAAOA,EAAG6sF,eAC/B,GAAa,eAATvyF,EAAuB,cAAO0F,QAAP,IAAOA,OAAP,EAAOA,EAAGgtF,qBACrC,GAAa,YAAT1yF,EAAoB,cAAO0F,QAAP,IAAOA,OAAP,EAAOA,EAAG28D,kBAIlC,GAAa,mBAATriE,EAA2B,cAAO0F,QAAP,IAAOA,OAAP,EAAOA,EAAG68D,oBA3pFXixB,CAAYxvF,EAAD,OAAIy6D,SAAJ,IAAIA,QAAJ,EAAIA,GAAQzY,gBAIzCljD,GACC,YACAgD,aAAU,OAAC24D,SAAD,IAACA,IAAD,WAACA,GAAQzY,gBAAT,cAAC,GAAkByd,uBAQpB,IAAVlF,GACGz7D,GACE,wBACAgD,aAAU,OAAC24D,SAAD,IAACA,IAAD,WAACA,GAAQzY,gBAAT,cAAC,GAAkBssC,sBAE/B,IACO,IAAV/zB,GACGz7D,GACE,qBACAgD,aAAU,OAAC24D,SAAD,IAACA,IAAD,WAACA,GAAQzY,gBAAT,cAAC,GAAkBsc,mBAE/B,IAEO,IAAV/D,GACGz7D,GACE,kBACAgD,aAAU,OAAC24D,SAAD,IAACA,IAAD,WAACA,GAAQzY,gBAAT,cAAC,GAAkBwc,sBAE/B,GAQH1/D,GACC,yBACAgD,aAAU,OAAC24D,SAAD,IAACA,IAAD,WAACA,GAAQzY,gBAAT,cAAC,GAAkBgd,sBAE9BlgE,GACC,iBACAgD,aAAU,OAAC24D,SAAD,IAACA,IAAD,WAACA,GAAQzY,gBAAT,cAAC,GAAkBid,eAE9BngE,GACC,kBACAgD,aAAU,OAAC24D,SAAD,IAACA,IAAD,WAACA,GAAQzY,gBAAT,cAAC,GAAkBkd,gBAE9BpgE,GACC,wBAIwB,iBAHxBpF,IACEoI,aAAU,OAAC24D,SAAD,IAACA,IAAD,WAACA,GAAQzY,gBAAT,cAAC,GAAkBkd,eAC7B,uBACAv9D,OAAO,WACL,GACAjI,IACEoI,aAAU,OAAC24D,SAAD,IAACA,IAAD,WAACA,GAAQzY,gBAAT,cAAC,GAAkBkd,eAC7B,uBACAv9D,OAAO,YAEd7C,GACC,qBAIwB,iBAHxBpF,IACEoI,aAAU,OAAC24D,SAAD,IAACA,IAAD,WAACA,GAAQzY,gBAAT,cAAC,GAAkBmd,iBAC7B,uBACAx9D,OAAO,WACL,GACAjI,IACEoI,aAAU,OAAC24D,SAAD,IAACA,IAAD,WAACA,GAAQzY,gBAAT,cAAC,GAAkBmd,iBAC7B,uBACAx9D,OAAO,aAGjB,yBAAKxJ,UAAU,2BACZ2G,GACC,mBACAgD,aAAU,OAAC24D,SAAD,IAACA,IAAD,WAACA,GAAQzY,gBAAT,cAAC,GAAkB2d,kBAE9B7gE,GACC,yBAIwB,iBAHxBpF,IACEoI,aAAU,OAAC24D,SAAD,IAACA,IAAD,WAACA,GAAQzY,gBAAT,cAAC,GAAkB2d,iBAC7B,uBACAh+D,OAAO,WACL,GACAjI,IACEoI,aAAU,OAAC24D,SAAD,IAACA,IAAD,WAACA,GAAQzY,gBAAT,cAAC,GAAkB2d,iBAC7B,uBACAh+D,OAAO,YAEd7C,GACC,sBAIwB,iBAHxBpF,IACEoI,aAAU,OAAC24D,SAAD,IAACA,IAAD,WAACA,GAAQzY,gBAAT,cAAC,GAAkB4d,eAC7B,uBACAj+D,OAAO,WACL,GACAjI,IACEoI,aAAU,OAAC24D,SAAD,IAACA,IAAD,WAACA,GAAQzY,gBAAT,cAAC,GAAkB4d,eAC7B,uBACAj+D,OAAO,YAEd7C,GACC,QACAgD,aAAU,OAAC24D,SAAD,IAACA,IAAD,WAACA,GAAQzY,gBAAT,cAAC,GAAkB6d,uBAE9B/gE,GAAQ,MAAOkD,aAAc,OAACy4D,SAAD,IAACA,IAAD,WAACA,GAAQzY,gBAAT,cAAC,GAAkB8d,OAEnD,yBAAK3nE,UAAU,kBACb,yBACEA,UAAU,qHACVoE,MAAO,CAAEC,SAAU,SAFrB,WAOF,yBAAKrE,UAAU,2BACZ2G,GAAQ,eAAD,OAAiB27D,SAAjB,IAAiBA,IAAjB,WAAiBA,GAAQzY,gBAAzB,cAAiB,GAAkB+d,aAC1CjhE,GAAQ,aAAD,OAAe27D,SAAf,IAAeA,IAAf,WAAeA,GAAQzY,gBAAvB,cAAe,GAAkBge,WACxClhE,GACC,gBACAgD,aAAU,OAAC24D,SAAD,IAACA,IAAD,WAACA,GAAQzY,gBAAT,cAAC,GAAkBkc,YAE9Bp/D,GAAQ,WAAD,OAAa27D,SAAb,IAAaA,IAAb,WAAaA,GAAQzY,gBAArB,cAAa,GAAkByb,SACtC3+D,GAAQ,SAAUqB,aAAc,OAACs6D,SAAD,IAACA,IAAD,WAACA,GAAQzY,gBAAT,cAAC,GAAkBhsC,SACnDlX,GAAQ,OAAQqB,aAAc,OAACs6D,SAAD,IAACA,IAAD,WAACA,GAAQzY,gBAAT,cAAC,GAAkB9rC,OACjDpX,GAAQ,SAAD,OAAW27D,SAAX,IAAWA,IAAX,WAAWA,GAAQzY,gBAAnB,cAAW,GAAkBnsC,SAGvC,yBAAK1d,UAAU,2BACZ2G,GAAQ,UAAD,OAAY27D,SAAZ,IAAYA,IAAZ,WAAYA,GAAQzY,gBAApB,cAAY,GAAkBie,aACrCnhE,GAAQ,OAAD,OAAS27D,SAAT,IAASA,IAAT,WAASA,GAAQzY,gBAAjB,cAAS,GAAkBke,UAClCphE,GAAQ,gBAAD,OAAkB27D,SAAlB,IAAkBA,IAAlB,WAAkBA,GAAQzY,gBAA1B,cAAkB,GAAkBme,kBAC3CrhE,GACC,iBADM,OAEN27D,SAFM,IAENA,IAFM,WAENA,GAAQzY,gBAFF,cAEN,GAAkBoe,mBAEnBthE,GACC,iBADM,OAEN27D,SAFM,IAENA,IAFM,WAENA,GAAQzY,gBAFF,cAEN,GAAkBqe,mBAEnBvhE,GAAQ,YAAD,OAAc27D,SAAd,IAAcA,IAAd,WAAcA,GAAQzY,gBAAtB,cAAc,GAAkBse,YACN,gBAA3B,OAAN7F,SAAM,IAANA,IAAA,WAAAA,GAAQzY,gBAAR,iBAAkBse,aACjB,oCACGxhE,GAAQ,cAAD,OAAgB27D,SAAhB,IAAgBA,IAAhB,WAAgBA,GAAQzY,gBAAxB,cAAgB,GAAkBue,gBACzCzhE,GAAQ,eAAD,OAAiB27D,SAAjB,IAAiBA,IAAjB,WAAiBA,GAAQzY,gBAAzB,cAAiB,GAAkBwe,cAI9C1hE,GAAQ,kBAAD,OAAoB27D,SAApB,IAAoBA,IAApB,WAAoBA,GAAQzY,gBAA5B,cAAoB,GAAkBye,YAC7C3hE,GAAQ,iBAAD,OAAmB27D,SAAnB,IAAmBA,IAAnB,WAAmBA,GAAQzY,gBAA3B,cAAmB,GAAkBxsC,gBAEtB,aAAlB,OAANilD,SAAM,IAANA,QAAA,EAAAA,GAAQwF,cACP,oCACE,yBAAK9nE,UAAU,kBACb,yBACEA,UAAU,qHACVoE,MAAO,CAAEC,SAAU,SAFrB,2BAOF,yBAAKrE,UAAU,iBACZg9D,GAAc,YAAD,OAAcsF,SAAd,IAAcA,QAAd,EAAcA,GAAQyF,UACnC/K,GAAc,SAAD,OAAWsF,SAAX,IAAWA,QAAX,EAAWA,GAAQxlD,QAChCkgD,GAAc,cAAD,OAAgBsF,SAAhB,IAAgBA,QAAhB,EAAgBA,GAAQllD,aAGxC,yBAAKpd,UAAU,iBACZg9D,GAAc,gBAAD,OAAkBsF,SAAlB,IAAkBA,QAAlB,EAAkBA,GAAQl/B,cACvC45B,GAAc,gBAAD,OAAkBsF,SAAlB,IAAkBA,QAAlB,EAAkBA,GAAQiG,cACvCvL,GAAc,UAAD,OAAYsF,SAAZ,IAAYA,QAAZ,EAAYA,GAAQkG,UAGpC,yBAAKxoE,UAAU,iBACZg9D,GAAc,iBAAD,OAAmBsF,SAAnB,IAAmBA,QAAnB,EAAmBA,GAAQmG,eACxCzL,GAAc,MAAD,OAAQsF,SAAR,IAAQA,QAAR,EAAQA,GAAQvlD,KAC7BigD,GAAc,SAAD,OAAWsF,SAAX,IAAWA,QAAX,EAAWA,GAAQoG,eAGnC,yBAAK1oE,UAAU,iBACZg9D,GAAc,mBAAD,OAAqBsF,SAArB,IAAqBA,QAArB,EAAqBA,GAAQ7F,cAC1CO,GAAc,MAAD,OAAQsF,SAAR,IAAQA,QAAR,EAAQA,GAAQ1lD,YAC7BogD,GACC,OACAh1D,aAAc,OAACs6D,SAAD,IAACA,QAAD,EAACA,GAAQqG,eAMN,6BAAlB,OAANrG,SAAM,IAANA,QAAA,EAAAA,GAAQwF,cACP,yBAAK9nE,UAAU,4BACb,yBAAKA,UAAU,kBACb,yBACEA,UAAU,qHACVoE,MAAO,CAAEC,SAAU,SAFrB,wBAOF,yBAAKrE,UAAU,iBACZg9D,GAAc,YAAD,OAAcsF,SAAd,IAAcA,QAAd,EAAcA,GAAQyF,UAAW,IAC9C/K,GAAc,UAAD,OAAYsF,SAAZ,IAAYA,QAAZ,EAAYA,GAAQkG,UAGpC,yBAAKxoE,UAAU,iBACZg9D,GAAc,gBAAD,OAAkBsF,SAAlB,IAAkBA,QAAlB,EAAkBA,GAAQl/B,cACvC45B,GAAc,UAAD,OAAYsF,SAAZ,IAAYA,QAAZ,EAAYA,GAAQjkD,UAGpC,yBAAKre,UAAU,iBACZg9D,GAAc,iBAAD,OAAmBsF,SAAnB,IAAmBA,QAAnB,EAAmBA,GAAQmG,eACxCzL,GAAc,SAAD,OAAWsF,SAAX,IAAWA,QAAX,EAAWA,GAAQoG,eAGnC,yBAAK1oE,UAAU,iBACZg9D,GACC,mBADY,OAEZsF,SAFY,IAEZA,QAFY,EAEZA,GAAQ/oD,iBAETyjD,GACC,OACAh1D,aAAc,OAACs6D,SAAD,IAACA,QAAD,EAACA,GAAQqG,iBAQnC,kBAACvjC,EAAA,EAAUjlC,OAAX,CACEE,GAAImzB,IACJxzB,UAAU,6DACV2zB,QAAQ,OACR4R,SAAS,KAET,kBAACC,EAAA,EAAD,CAAO7R,QAAQ,WAAW3zB,UAAU,wBAClC,wBAAIA,UAAU,oBAAd,aAEF,kBAAC4zB,EAAA,EAAD,CACE5zB,UAAWwpB,YACT,mDAEFplB,MAAO,CAAEC,SAAU,GAAIgkB,MAAO,OAAQod,IAAK,UAG/C,kBAACL,EAAA,EAAUM,SAAX,CAAoB1lC,UAAU,OAAOulC,SAAS,KAC5C,yBAAKvlC,UAAU,OACb,yBAAKA,UAAU,aACb,yBAAKA,UAAS,2CAEZ,yBAAKA,UAAU,2CACb,wBAAIA,UAAU,4CACZ,0BAAMmE,MAAM,+CAAZ,mBAOJ,yBAAKnE,UAAU,mBACb,yBAAKA,UAAU,OACb,yBAAKA,UAAU,OACb,yBAAKA,UAAU,iBACb,0BACEA,UAAS,4CAEX,yBAAKA,UAAU,uCACb,uBACE0I,KAAM,kBAAM,GACZ1I,UAAU,kDAFZ,kBAMA,0BAAMA,UAAU,gBAAhB,OACGkjE,SADH,IACGA,IADH,WACGA,GAAoBrZ,gBADvB,cACG,GAA8B1sC,cAKvC,yBAAKnd,UAAU,OACb,yBAAKA,UAAU,iBACb,0BACEA,UAAS,4CAEX,yBAAKA,UAAU,uCACb,uBACE0I,KAAM,kBAAM,GACZ1I,UAAU,kDAFZ,eAMA,0BAAMA,UAAU,gBAAhB,OACGkjE,SADH,IACGA,IADH,WACGA,GAAoBrZ,gBADvB,cACG,GAA8BzsC,gBAMzC,yBAAKpd,UAAU,OACb,yBAAKA,UAAU,OACb,yBAAKA,UAAU,iBACb,0BACEA,UAAS,4CAEX,yBAAKA,UAAU,uCACb,uBACE0I,KAAM,kBAAM,GACZ1I,UAAU,kDAFZ,YAMA,0BAAMA,UAAU,gBAAhB,OAEIkjE,SAFJ,IAEIA,IAFJ,WAEIA,GAAoBrZ,gBAFxB,mBAEI,GAA8B4b,uBAFlC,cAEI,GACIz6C,gBAMd,yBAAKhrB,UAAU,OACb,yBAAKA,UAAU,iBACb,0BACEA,UAAS,4CAEX,yBAAKA,UAAU,uCACb,uBACE0I,KAAM,kBAAM,GACZ1I,UAAU,kDAFZ,WAMA,0BAAMA,UAAU,gBACoB,QAAf,OAAlBkjE,SAAkB,IAAlBA,QAAA,EAAAA,GAAoBrZ,WACC,OAAlBqZ,SAAkB,IAAlBA,IAAA,WAAAA,GAAoBrZ,gBAApB,sBAA8BM,eAA9B,iBACIthD,QAAS,IADb,OAEAq6D,SAFA,IAEAA,IAFA,WAEAA,GAAoBrZ,gBAFpB,mBAEA,GAA8BM,QAAQ,UAFtC,mBAEA,GACIwW,qBAHJ,cAEA,GACmB31C,aACnB,QAOd,yBAAKhrB,UAAU,iBACb,0BACEA,UAAS,4CAEX,yBAAKA,UAAU,uCACb,uBACE0I,KAAM,kBAAM,GACZ1I,UAAU,kDAFZ,oBAMA,0BAAMA,UAAU,iBACP,OAANwjE,SAAM,IAANA,QAAA,EAAAA,GAAQoF,cACP,OADD,OAECpF,SAFD,IAECA,QAFD,EAECA,GAAQqF,aACR,MAHD,OAICrF,SAJD,IAICA,QAJD,EAICA,GAAQsF,cACR,MACAr9C,GAAU,OAAC+3C,SAAD,IAACA,QAAD,EAACA,GAAQuF,aACnB,KACA9L,GAAQ,OAACuG,SAAD,IAACA,QAAD,EAACA,GAAQwF,gBAIzB,kBAAChvD,EAAA,EAAD,KACE,kBAACS,EAAA,EAAD,CAAK2rC,GAAG,KACN,yBAAKpmD,UAAU,iBACb,0BACEA,UAAS,4CAEX,yBAAKA,UAAU,uCACb,uBACE0I,KAAM,kBAAM,GACZ1I,UAAU,kDAFZ,mBAMA,0BAAMA,UAAU,gBAAhB,OACGkjE,SADH,IACGA,IADH,WACGA,GAAoBrZ,gBADvB,cACG,GAA8BkN,eAKvC,kBAACt8C,EAAA,EAAD,CAAK2rC,GAAG,KACN,yBAAKpmD,UAAU,iBACb,0BACEA,UAAS,4CAEX,yBAAKA,UAAU,uCACb,uBACE0I,KAAM,kBAAM,GACZ1I,UAAU,kDAFZ,iBAMA,0BAAMA,UAAU,gBAAhB,OACGsiE,SADH,IACGA,IADH,WACGA,GAAQzY,gBADX,cACG,GAAkBme,yBASnC,yBAAKhoE,UAAU,YACb,yBAAKmE,MAAM,2CACT,yBAAKA,MAAM,2CACT,wBAAIA,MAAM,4CACR,0BAAMA,MAAM,+CAAZ,uBAKJ,yBAAKA,MAAM,mBACT,yBAAKnE,UAAU,iBACb,0BACEA,UAAS,4CAEX,yBAAKA,UAAU,uCACb,uBACE0I,KAAM,kBAAM,GACZ1I,UAAU,kDAFZ,aAMA,0BAAMA,UAAU,gBAAhB,OACGkjE,SADH,IACGA,IADH,WACGA,GAAoBrZ,gBADvB,mBACG,GAA8Bgc,sBADjC,cACG,GAA8C3iD,KAC9C,IAFH,OAIIggD,SAJJ,IAIIA,IAJJ,WAIIA,GAAoBrZ,gBAJxB,mBAII,GAA8Bgc,sBAJlC,cAII,GACI76C,YALR,IAOI,IAPJ,OASIk4C,SATJ,IASIA,IATJ,WASIA,GAAoBrZ,gBATxB,mBASI,GAA8Bgc,sBATlC,cASI,GACI51C,QAVR,IAYI,IAZJ,OAaGizC,SAbH,IAaGA,IAbH,WAaGA,GAAoBrZ,gBAbvB,mBAaG,GAA8Bgc,sBAbjC,cAaG,GAA8C31C,KAbjD,IAcI,IAdJ,OAgBIgzC,SAhBJ,IAgBIA,IAhBJ,WAgBIA,GAAoBrZ,gBAhBxB,mBAgBI,GAA8Bgc,sBAhBlC,cAgBI,GACI54C,MACJ,IAlBJ,OAoBIi2C,SApBJ,IAoBIA,IApBJ,WAoBIA,GAAoBrZ,gBApBxB,mBAoBI,GAA8Bgc,sBApBlC,cAoBI,GACI5/B,WAKZ,yBAAKjmC,UAAU,gBACb,0BACEA,UAAS,4CAEX,yBAAKA,UAAU,uCACb,uBACE0I,KAAM,kBAAM,GACZ1I,UAAU,kDAFZ,WAMA,0BAAMA,UAAU,gBAAhB,OAEIkjE,SAFJ,IAEIA,IAFJ,WAEIA,GAAoBrZ,gBAFxB,mBAEI,GAA8Bmc,wBAFlC,cAEI,GACI9iD,KAGc,QADD,OAAlBggD,SAAkB,IAAlBA,IAAA,WAAAA,GAAoBrZ,gBAApB,sBAA8Bmc,wBAA9B,iBACGh7C,aACA,IACA,GARN,OAUIk4C,SAVJ,IAUIA,IAVJ,WAUIA,GAAoBrZ,gBAVxB,mBAUI,GAA8Bmc,wBAVlC,cAUI,GACIh7C,YAGU,QADG,OAAlBk4C,SAAkB,IAAlBA,IAAA,WAAAA,GAAoB+F,8BAApB,iBACGh5C,SACA,KACA,GAhBN,OAkBIizC,SAlBJ,IAkBIA,IAlBJ,WAkBIA,GAAoB+F,8BAlBxB,cAkBI,GACIh5C,QAGO,QADM,OAAlBizC,SAAkB,IAAlBA,IAAA,WAAAA,GAAoBrZ,gBAApB,sBAA8Bmc,wBAA9B,iBACG91C,MACA,KACA,GAxBN,OA0BIgzC,SA1BJ,IA0BIA,IA1BJ,WA0BIA,GAAoBrZ,gBA1BxB,mBA0BI,GAA8Bmc,wBA1BlC,cA0BI,GACI91C,KAGQ,QADK,OAAlBgzC,SAAkB,IAAlBA,IAAA,WAAAA,GAAoBrZ,gBAApB,sBAA8Bmc,wBAA9B,iBACG/4C,OACA,KACA,GAhCN,OAkCIi2C,SAlCJ,IAkCIA,IAlCJ,WAkCIA,GAAoBrZ,gBAlCxB,mBAkCI,GAA8Bmc,wBAlClC,cAkCI,GACI/4C,MAGU,QADG,OAAlBi2C,SAAkB,IAAlBA,IAAA,WAAAA,GAAoBrZ,gBAApB,sBAA8Bmc,wBAA9B,iBACG//B,SACA,IACA,GAxCN,OA0CIi9B,SA1CJ,IA0CIA,IA1CJ,WA0CIA,GAAoBrZ,gBA1CxB,mBA0CI,GAA8Bmc,wBA1ClC,cA0CI,GACI//B,WAKZ,yBAAKjmC,UAAU,gBACb,0BACEA,UAAS,4CAEX,yBAAKA,UAAU,uCACb,uBACE0I,KAAM,kBAAM,GACZ1I,UAAU,kDAFZ,yBAMA,0BAAMA,UAAU,gBAEc,QADT,OAAlBkjE,SAAkB,IAAlBA,IAAA,WAAAA,GAAoBrZ,gBAApB,iBACG6c,qBACA,IAAI/kE,KAAJ,OACEuhE,SADF,IACEA,IADF,WACEA,GAAoBrZ,gBADtB,cACE,GAA8B6c,qBAC9BptC,iBACF,MAIV,yBAAKt5B,UAAU,iBACb,0BACEA,UAAS,4CAEX,yBAAKA,UAAU,uCACb,uBACE0I,KAAM,kBAAM,GACZ1I,UAAU,kDAFZ,2BAMA,0BAAMA,UAAU,gBAEe,QADV,OAAlBkjE,SAAkB,IAAlBA,IAAA,WAAAA,GAAoBrZ,gBAApB,iBACG6d,sBACA,IAAI/lE,KAAJ,OACEuhE,SADF,IACEA,IADF,WACEA,GAAoBrZ,gBADtB,cACE,GAA8B6d,sBAC9BpuC,iBACF,WAUpB,kBAAC8L,EAAA,EAAUjlC,OAAX,CACEE,GAAImzB,IACJxzB,UAAU,6DACV2zB,QAAQ,OACR4R,SAAS,KAET,kBAACC,EAAA,EAAD,CAAO7R,QAAQ,WAAW3zB,UAAU,wBAClC,wBAAIA,UAAU,oBAAd,qBAEF,kBAAC4zB,EAAA,EAAD,CACE5zB,UAAWwpB,YACT,mDAEFplB,MAAO,CAAEC,SAAU,GAAIgkB,MAAO,OAAQod,IAAK,UAG/C,kBAACL,EAAA,EAAUM,SAAX,CAAoB1lC,UAAU,OAAOulC,SAAS,KAC5C,kBAAC2jC,EAAA,EAAD,CAAM7jC,iBAAiB,OAAOjlC,GAAG,4BAC/B,kBAAC+oE,EAAA,EAAD,CAAK5jC,SAAS,OAAOnmB,MAAM,YACzB,yBAAKpf,UAAU,OACb,yBAAKA,UAAU,YAAYoE,MAAO,CAAEwS,OAAQ,UACzCksD,IACsC,IAArCA,GAA0Bj6D,OACxB,kBAAC,IAAD,CACEugE,iBAAkB,CAChB9hE,IAAKzC,OAAOwkE,gBAEdC,cAAe,CACbC,IAAK,UACLC,KAAM,WAERC,YAAa,EACbC,kBAAmB,mBAzjCvB,SAAC3lE,EAAK4lE,GAC1B,IAAIpnE,EAAOugE,GAA0B/+D,KAAI,SAACC,GACxC,MAAO,CACLulE,IAAKK,OAAO5lE,EAAK6lE,KACjBL,IAAKI,OAAO5lE,EAAK8lE,KACjB9jE,KAAMhC,EAAKisB,QACXrvB,KAAMoD,EAAK+lE,cAGTC,EAAoB,IAAIL,EAAKM,kBAC7BC,EAAqB,IAAIP,EAAKQ,oBAIpC,SAAkCH,EAAmBE,GACnDrlE,OAAOulE,KAAOrmE,EACd,IAAK,IAAI6E,EAAI,EAAGA,EAAIrG,EAAKsG,OAAQD,IACV,WAAjBrG,EAAKqG,GAAGhI,KACV,IAAI+oE,EAAKU,OAAO,CACd/lE,SAAU/B,EAAKqG,GACf7E,IAAKA,EACLqb,MAAO7c,EAAKqG,GAAG5C,KACfsoD,KAAM,CACJt8C,IAAK,8DAIT,IAAI23D,EAAKU,OAAO,CACd/lE,SAAU/B,EAAKqG,GACf7E,IAAKA,EACLqb,MAAO7c,EAAKqG,GAAG5C,KACfsoD,KAAM,CACJt8C,IAAK,6DAKb,IAAK,IAAIqJ,EAAI,EAAGvP,EAAQ,GAAkBuP,EAAI9Y,EAAKsG,OAAQwS,GAAzB,GAChCvP,EAAMhD,KAAKvG,EAAKd,MAAM4Z,EAAGA,EADO,GACG,IAGrC,IAAK,IAAI/Z,EAAI,EAAGA,EAAIwK,EAAMjD,OAAQvH,IAAK,CAGrC,IADA,IAAIgpE,EAAY,GACPhvD,EAAI,EAAGA,EAAIxP,EAAMxK,GAAGuH,OAAS,EAAGyS,IACvCgvD,EAAUxhE,KAAK,CAAEswC,SAAUttC,EAAMxK,GAAGga,GAAIivD,UAAU,IAGpD,IAAIC,EAAkB,CACpBC,OAAQ3+D,EAAMxK,GAAG,GACjBopE,YAAanoE,EAAKA,EAAKsG,OAAS,GAChCyhE,UAAWA,EACXK,WAAY,WAGdX,EAAkBY,MAAMJ,GAAiB,SAAC31D,EAAUE,GACnC,OAAXA,GAIClQ,OAAOgmE,aAAYhmE,OAAOgmE,WAAa,IAC5ChmE,OAAOgmE,WAAW/hE,KAAKohE,GACvBA,EAAmBY,OAAO/mE,GAC1BmmE,EAAmBa,WAAW,CAC5BC,iBAAiB,EACjBC,kBAAkB,IAEpBf,EAAmBgB,cAAcr2D,IAV/BzR,QAAQC,IAAI,oCAAsC0R,OA7C1Do2D,CAAyBnB,EAAmBE,GA2D5CA,EAAmBY,OAAO/mE,GAm/BAqnE,CADiB,EAAGrnE,IAAH,EAAQ4lE,SAQ/B,IAGJ,yBAAK3pE,UAAU,4BACb,yBACEA,UAAS,mBACToE,MAAO,CAAEwS,OAAQ,UAGjB,yBAAK5W,UAAU,gDACb,wBAAIA,UAAU,4CACZ,0BAAMA,UAAU,gCAAhB,cAMJ,yBAAKA,UAAU,kBACb,yBAAKA,UAAU,4BACb,yBAAKA,UAAU,mCACb,yBAAKA,UAAU,kBACb,uBAAGA,UAAU,4CAGf,yBAAKA,UAAU,4BACb,0BAAMA,UAAU,qCAAhB,OAEIkjE,SAFJ,IAEIA,IAFJ,WAEIA,GAAoBrZ,gBAFxB,mBAEI,GAA8Bgc,sBAFlC,cAEI,GACI31C,KAHR,IAKI,IALJ,OAOIgzC,SAPJ,IAOIA,IAPJ,WAOIA,GAAoBrZ,gBAPxB,mBAOI,GAA8Bgc,sBAPlC,cAOI,GACI54C,OAGR,yBAAKjtB,UAAU,2CAAf,kBACkB,IAEY,QADT,OAAlBkjE,SAAkB,IAAlBA,IAAA,WAAAA,GAAoBrZ,gBAApB,iBACG6c,qBACA,IAAI/kE,KAAJ,OACEuhE,SADF,IACEA,IADF,WACEA,GAAoBrZ,gBADtB,cACE,GAA8B6c,qBAC9BptC,iBACF,MAITspC,GACGA,GAAkB7+D,KAAI,SAACC,EAAMC,GAAP,OACpB,yBACEqD,IAAKrD,EACLjE,UAAU,mCAEV,yBAAKA,UAAU,kBACb,uBACEA,UACqB,WAAnBgE,EAAK+lE,UACD,yCACA,4CAKV,yBAAK/pE,UAAU,4BACb,0BAAMA,UAAU,qCACbgE,EAAKqnE,aADR,IACuB,IACpBrnE,EAAKsnE,eAER,yBAAKtrE,UAAU,2CACZgE,EAAKunE,UADR,IACoB,IACE,OAAnBvnE,EAAKwnE,UACF//C,GAAWznB,EAAKwnE,WAChB,KACAvO,GAASj5D,EAAKynE,WACd,SAKZ,SAOhB,kBAACtC,EAAA,EAAD,CAAK5jC,SAAS,UAAUnmB,MAAM,cAC5B,kBAAC6e,EAAA,EAAD,CAAOj+B,UAAS,eAAUO,GAAQmW,QAChC,kBAAColB,EAAA,EAAD,KACE,kBAACC,EAAA,EAAD,KACE,kBAACC,EAAA,EAAD,CAAWh8B,UAAU,YAArB,cACA,kBAACg8B,EAAA,EAAD,CAAWh8B,UAAU,YAArB,cACA,kBAACg8B,EAAA,EAAD,CAAWh8B,UAAU,YAArB,YACA,kBAACg8B,EAAA,EAAD,CAAWh8B,UAAU,YAArB,cACA,kBAACg8B,EAAA,EAAD,CAAWh8B,UAAU,YAArB,YACA,kBAACg8B,EAAA,EAAD,CAAWh8B,UAAU,YAArB,gBAGJ,kBAACm+B,EAAA,EAAD,UACyBr4B,IAAtB88D,IACCA,GAAkB7+D,KAAI,SAACC,EAAMC,GAAP,OACpB,kBAAC83B,EAAA,EAAD,CAAUz0B,IAAKrD,GACb,kBAAC+3B,EAAA,EAAD,CAAWttB,UAAU,KAAKC,MAAM,OAC7B3K,EAAK+lE,WAER,kBAAC/tC,EAAA,EAAD,KACsB,OAAnBh4B,EAAKwnE,UACF//C,GAAWznB,EAAKwnE,WAChB,KACAvO,GAASj5D,EAAKynE,WACd,IAEN,kBAACzvC,EAAA,EAAD,KACGh4B,EAAKqnE,aACJ,IACArnE,EAAKsnE,cACL,KACAtnE,EAAK0nE,iBAET,kBAAC1vC,EAAA,EAAD,KAAYh4B,EAAKunE,WACjB,kBAACvvC,EAAA,EAAD,KACoB,OAAjBh4B,EAAK2nE,QACFlgD,GAAWznB,EAAK2nE,SAChB,KACA1O,GAASj5D,EAAK4nE,SACd,IAEN,kBAAC5vC,EAAA,EAAD,KAAYh4B,EAAK6nE,oBASjC,kBAACzmC,EAAA,EAAUjlC,OAAX,CACEE,GAAImzB,IACJxzB,UAAU,6DACV2zB,QAAQ,OACR4R,SAAS,MAET,kBAACC,EAAA,EAAD,CAAO7R,QAAQ,WAAW3zB,UAAU,wBAClC,wBAAIA,UAAU,oBAAd,mBAEF,kBAAC4zB,EAAA,EAAD,CACE5zB,UAAWwpB,YACT,mDAEFplB,MAAO,CAAEC,SAAU,GAAIgkB,MAAO,OAAQod,IAAK,UAG/C,kBAACL,EAAA,EAAUM,SAAX,CAAoBH,SAAS,MAC3B,yBAAKvlC,UAAU,cACb,yBAAKA,UAAU,kBACb,yBAAKA,UAAU,0CACb,kBAACi+B,EAAA,EAAD,CAAOj+B,UAAWO,GAAQmW,MAAOvF,KAAK,UACpC,kBAAC2qB,EAAA,EAAD,CAAW97B,UAAU,QACnB,kBAAC+7B,EAAA,EAAD,KACE,kBAACC,EAAA,EAAD,CAAWh8B,UAAU,YAArB,kBAGA,kBAACg8B,EAAA,EAAD,CAAWh8B,UAAU,YAArB,mBAGA,kBAACg8B,EAAA,EAAD,CAAWh8B,UAAU,YAArB,YACA,kBAACg8B,EAAA,EAAD,CAAWh8B,UAAU,YAArB,OACA,kBAACg8B,EAAA,EAAD,CAAWh8B,UAAU,YAArB,OACA,kBAACg8B,EAAA,EAAD,CAAWh8B,UAAU,YAArB,aACA,kBAACg8B,EAAA,EAAD,CAAWh8B,UAAU,YAArB,eAGA,kBAACg8B,EAAA,EAAD,CAAWh8B,UAAU,YAArB,aACA,kBAACg8B,EAAA,EAAD,CAAWh8B,UAAU,YAArB,UACA,kBAACg8B,EAAA,EAAD,CAAWh8B,UAAU,YAArB,QACA,kBAACg8B,EAAA,EAAD,CAAWh8B,UAAU,YAArB,YACA,kBAACg8B,EAAA,EAAD,CAAWh8B,UAAU,YAArB,SACA,kBAACg8B,EAAA,EAAD,CAAWh8B,UAAU,YAArB,iBAGA,kBAACg8B,EAAA,EAAD,CAAWh8B,UAAU,YAArB,gBAGA,kBAACg8B,EAAA,EAAD,CAAWh8B,UAAU,YAArB,mBAIA,kBAACg8B,EAAA,EAAD,CAAWh8B,UAAU,YAArB,mBAGA,kBAACg8B,EAAA,EAAD,CAAWh8B,UAAU,YAArB,kBAGA,kBAACg8B,EAAA,EAAD,CAAWh8B,UAAU,YAArB,qBAGA,kBAACg8B,EAAA,EAAD,CAAWh8B,UAAU,YAArB,aAEA,kBAACg8B,EAAA,EAAD,CAAWh8B,UAAU,YAArB,aAIJ,kBAACm+B,EAAA,EAAD,YACGmkC,SADH,IACGA,IADH,WACGA,GAAQzY,gBADX,cACG,GAAkBiiB,cAAcrqE,MAC/BuzB,GAAO2I,GACP3I,GAAO2I,GAAcA,IACrB55B,KAAI,SAACC,GAAD,OACJ,kBAAC+3B,EAAA,EAAD,KACE,kBAACC,EAAA,EAAD,KAAYh4B,EAAKwZ,eACjB,kBAACwe,EAAA,EAAD,KAAYh4B,EAAK2Z,eACjB,kBAACqe,EAAA,EAAD,KAEI,oCACGh4B,EAAKwa,SACLxa,EAAK+nE,cACJ,kBAACtyB,EAAA,EAAD,CACEjtC,QACE,kBAAC4wB,EAAA,EAAD,CAASh9B,GAAG,yBACT4D,EAAK+nE,eAIV,uBACErjE,KAAM,kBAAM,GACZ1I,UAAU,iDAEV,0BAAMA,UAAU,sCACd,kBAAC,KAAD,CACEwI,IAAKC,aACH,gDAUlB,kBAACuzB,EAAA,EAAD,KAAYh4B,EAAKyZ,KACjB,kBAACue,EAAA,EAAD,KAAYh4B,EAAKgoE,KACjB,kBAAChwC,EAAA,EAAD,KAAYh4B,EAAKw4D,WACjB,kBAACxgC,EAAA,EAAD,KAAYh4B,EAAKia,aACjB,kBAAC+d,EAAA,EAAD,KAAYh4B,EAAKioE,UACjB,kBAACjwC,EAAA,EAAD,KAAYh0B,aAAehE,EAAK6Z,SAChC,kBAACme,EAAA,EAAD,KAAYh0B,aAAehE,EAAK+Z,OAChC,kBAACie,EAAA,EAAD,KACG,IACAh4B,EAAKkoE,UACJ,kBAACzyB,EAAA,EAAD,CACEjtC,QACE,kBAAC4wB,EAAA,EAAD,CAASh9B,GAAG,yBAAZ,uBAKF,uBACEsI,KAAM,kBAAM,GACZ1I,UAAU,sDAEV,0BAAMA,UAAU,wCACd,kBAAC,KAAD,CACEwI,IAAKC,aACH,mDAQd,kBAACuzB,EAAA,EAAD,KACGh4B,EAAKsa,OACJ,kBAACm7B,EAAA,EAAD,CACEjtC,QACE,kBAAC4wB,EAAA,EAAD,CAASh9B,GAAG,yBAAZ,QAKF,uBACEsI,KAAM,kBAAM,GACZ1I,UAAU,sDAEV,0BAAMA,UAAU,wCACd,kBAAC,KAAD,CACEwI,IAAKC,aACH,iDAQd,kBAACuzB,EAAA,EAAD,KAAYh4B,EAAKma,eACjB,kBAAC6d,EAAA,EAAD,KAAYh4B,EAAKka,cACjB,kBAAC8d,EAAA,EAAD,KAAYh4B,EAAKoa,iBACjB,kBAAC4d,EAAA,EAAD,KAAYh4B,EAAKmoE,uBACjB,kBAACnwC,EAAA,EAAD,KAAYh4B,EAAKooE,sBACjB,kBAACpwC,EAAA,EAAD,KACGh4B,EAAKqoE,yBAER,kBAACrwC,EAAA,EAAD,KAAYh4B,EAAKg4D,UAGjB,kBAAChgC,EAAA,EAAD,KACE,uBACEtzB,KAAM,kBAAM,GACZ0W,MAAM,WACNpf,UAAU,uDACVyM,QAAS,WACPg4D,IAAiB,GACjBI,GAAU7gE,GACV2gE,IAAW,GACXJ,GAAgBvgE,EAAKooE,sBACrBjI,GAAiBngE,EAAKmoE,uBACtB9H,GACErgE,EAAKqoE,2BAIT,0BAAMrsE,UAAU,yCACd,kBAAC,KAAD,CACEwI,IAAKC,aACH,gDAKR,gDAOV,kBAACge,EAAA,EAAD,CACEtV,KAAK,KACLC,KAAMozD,GACNlzD,kBAAgB,gCAEhB,kBAACmV,EAAA,EAAMlV,OAAP,KACE,kBAACkV,EAAA,EAAM9U,MAAP,qCACyBizD,SADzB,IACyBA,QADzB,EACyBA,GAAQpnD,eAEjC,kBAAC6f,EAAA,EAAD,CACE7rB,aAAW,QACX/E,QAAS,WACPg4D,IAAiB,KAGnB,kBAAC,IAAD,QAGJ,kBAACh+C,EAAA,EAAMhV,KAAP,KACE,yBAAKzR,UAAU,kBACb,yBAAKA,UAAU,YACb,gDACA,2BACEA,UAAU,eACV+C,KAAK,SACLqM,YAAY,gBACZ0mB,IAAI,IACJtU,aAAc8iD,GACdj1D,SAAU,SAACC,GACTi1D,GAAgBj1D,EAAEM,OAAOzQ,WAK/B,yBAAKa,UAAU,YACb,iDACA,2BACEA,UAAU,eACV+C,KAAK,SACLqM,YAAY,iBACZ0mB,IAAI,IACJtU,aAAc0iD,GACd70D,SAAU,SAACC,GACT60D,GAAiB70D,EAAEM,OAAOzQ,YAKlC,yBAAKa,UAAU,kBACb,yBAAKA,UAAU,YACb,mDACA,2BACEA,UAAU,eACV+C,KAAK,SACLqM,YAAY,mBACZ0mB,IAAI,IACJtU,aAAc4iD,GACd/0D,SAAU,SAACC,GACT+0D,GAAmB/0D,EAAEM,OAAOzQ,aAMtC,kBAACsnB,EAAA,EAAM/U,OAAP,KACE,4BACE1R,UAAU,4BACVyM,QAAS,SAAC6C,GACRm1D,IAAiB,KAHrB,SAQA,4BACEtxD,SAAUuxD,GACV1kE,UAAS,sCAAiC0kE,IAAW,6CAErDj4D,QAAO,wCAAE,WAAO6C,GAAP,kFAELq1D,IAAW,GAFN,SAGCG,GAAOF,GAAOhhE,IAHf,cAIL6gE,IAAiB,GAJZ,SAKCf,KALD,OAML9jE,aAAa,UAAW,WACxB+kE,IAAW,GAPN,4GAAF,uDAJT,WAoBG,OAANrC,SAAM,IAANA,IAAA,WAAAA,GAAQzY,gBAAR,iBAAkBiiB,gBACjB,kBAACQ,EAAA,EAAD,CACEC,mBAAoB,CAAC,EAAG,GAAI,IAC5BvtC,QAAS,EACTwtC,MAAK,OAAElK,SAAF,IAAEA,IAAF,WAAEA,GAAQzY,gBAAV,cAAE,GAAkBiiB,cAAcjjE,OACvC80B,YAAaA,GACb3I,KAAMA,GACNy3C,YAAa,CACXvjD,WAAY,CAAE,aAAc,iBAC5BwjD,QAAQ,GAEVC,aAv6CtB,SAA0B14D,EAAO24D,GAC/BtJ,GAAQsJ,IAu6CYC,oBAp6CtB,SAAiC54D,GAC/BsvD,GAAej5D,SAAS2J,EAAMrE,OAAOzQ,MAAO,MAo6CxB2tE,iBAl6CtB,SAAgC/sE,GAC9B,IAAMQ,EAAU6iE,KACVltD,EAAQuU,cACN+hD,EAA2CzsE,EAA3CysE,MAAOx3C,EAAoCj1B,EAApCi1B,KAAM2I,EAA8B59B,EAA9B49B,YAAagvC,EAAiB5sE,EAAjB4sE,aAkBlC,OACE,yBAAK3sE,UAAWO,EAAQ4V,MACtB,kBAACknB,EAAA,EAAD,CACE5wB,QAnBN,SAAoCwH,GAClC04D,EAAa14D,EAAO,IAmBhBd,SAAmB,IAAT6hB,EACVxjB,aAAW,cAEU,QAApB0E,EAAMqmB,UAAsB,kBAAC,IAAD,MAAmB,kBAAC,IAAD,OAElD,kBAACc,EAAA,EAAD,CACE5wB,QAtBN,SAA+BwH,GAC7B04D,EAAa14D,EAAO+gB,EAAO,IAsBvB7hB,SAAmB,IAAT6hB,EACVxjB,aAAW,iBAEU,QAApB0E,EAAMqmB,UACL,kBAAC,IAAD,MAEA,kBAAC,IAAD,OAGJ,kBAACc,EAAA,EAAD,CACE5wB,QA7BN,SAA+BwH,GAC7B04D,EAAa14D,EAAO+gB,EAAO,IA6BvB7hB,SAAU6hB,GAAQjqB,KAAKO,KAAKkhE,EAAQ7uC,GAAe,EACnDnsB,aAAW,aAEU,QAApB0E,EAAMqmB,UACL,kBAAC,IAAD,MAEA,kBAAC,IAAD,OAGJ,kBAACc,EAAA,EAAD,CACE5wB,QApCN,SAAmCwH,GACjC04D,EAAa14D,EAAOlJ,KAAKgrB,IAAI,EAAGhrB,KAAKO,KAAKkhE,EAAQ7uC,GAAe,KAoC7DxqB,SAAU6hB,GAAQjqB,KAAKO,KAAKkhE,EAAQ7uC,GAAe,EACnDnsB,aAAW,aAEU,QAApB0E,EAAMqmB,UAAsB,kBAAC,IAAD,MAAoB,kBAAC,IAAD,eAg3C/C,kBAAC6I,EAAA,EAAUjlC,OAAX,CACEE,GAAImzB,IACJxzB,UAAU,6DACV2zB,QAAQ,OACR4R,SAAS,KAET,kBAACC,EAAA,EAAD,CAAO7R,QAAQ,WAAW3zB,UAAU,wBAClC,wBAAIA,UAAU,oBAAd,yBAEF,kBAAC4zB,EAAA,EAAD,CACE5zB,UAAWwpB,YACT,mDAEFplB,MAAO,CAAEC,SAAU,GAAIgkB,MAAO,OAAQod,IAAK,UAG/C,kBAACL,EAAA,EAAUM,SAAX,CAAoBH,SAAS,KAC3B,yBAAKvlC,UAAU,kBACb,yBAAKA,UAAU,kBACb,kBAAC,KAAD,CACE+sE,SAAU,CACR,CAAElpE,KAAM,gBAAiB8N,MAAO,kBAChC,CAAE9N,KAAM,gBAAiB8N,MAAO,mBAChC,CAAE9N,KAAM,SAAU8N,MAAO,WACzB,CAAE9N,KAAM,MAAO8N,MAAO,OACtB,CAAE9N,KAAM,cAAe8N,MAAO,eAC9B,CAAE9N,KAAM,WAAY8N,MAAO,aAC3B,CAAE9N,KAAM,SAAU8N,MAAO,UACzB,CAAE9N,KAAM,OAAQ8N,MAAO,QACvB,CACE9N,KAAM,WACN8N,MAAO,yBAET,CACE9N,KAAM,QACN8N,MAAO,SAET,CAAE9N,KAAM,gBAAiB8N,MAAO,iBAChC,CAAE9N,KAAM,eAAgB8N,MAAO,gBAC/B,CAAE9N,KAAM,kBAAmB8N,MAAO,oBAEpCsJ,MAAY,OAANqnD,SAAM,IAANA,IAAA,WAAAA,GAAQzY,gBAAR,iBAAkBmjB,sBAAuB,SAKrD3K,IACA,6BACE,kBAACj9B,EAAA,EAAUjlC,OAAX,CACEE,GAAImzB,IACJxzB,UAAU,6DACV2zB,QAAQ,OACR4R,SAAS,MAET,kBAACC,EAAA,EAAD,CAAO7R,QAAQ,WAAW3zB,UAAU,wBAClC,wBAAIA,UAAU,oBAAd,YAEF,kBAAC4zB,EAAA,EAAD,CACE5zB,UAAWwpB,YACT,mDAEFplB,MAAO,CAAEC,SAAU,GAAIgkB,MAAO,OAAQod,IAAK,UAG/C,kBAACL,EAAA,EAAUM,SAAX,CAAoBH,SAAS,MAC3B,oCACE,yBAAKvlC,UAAU,kBACb,yBAAKA,UAAU,kBACb,kBAAC,KAAD,CACE+sE,SAAU,CACR,CAAElpE,KAAM,KAAM8N,MAAO,MACrB,CAAE9N,KAAM,aAAc8N,MAAO,UAC7B,CACE9N,KAAM,oBACN8N,MAAO,kBAET,CAAE9N,KAAM,cAAe8N,MAAO,YAC9B,CAAE9N,KAAM,eAAgB8N,MAAO,iBAC/B,CAAE9N,KAAM,aAAc8N,MAAO,eAC7B,CAAE9N,KAAM,cAAe8N,MAAO,gBAC9B,CAAE9N,KAAM,cAAe8N,MAAO,gBAC9B,CACE9N,KAAM,qBACN8N,MAAO,uBAET,CAAE9N,KAAM,cAAe8N,MAAO,eAC9B,CAAE9N,KAAM,OAAQ8N,MAAO,SAEzBsJ,KAAMunD,IAAe,OAI3B,kBAAC/7C,EAAA,EAAD,CAAOrV,KAAMuyD,GAAcxyD,KAAK,MAC9B,kBAACsV,EAAA,EAAMlV,OAAP,KACE,kBAACkV,EAAA,EAAM9U,MAAP,kBACaoyD,GADb,aAGA,kBAAC1mC,EAAA,EAAD,CACE7rB,aAAW,QACX/E,QAAS,SAAC6C,GACRs0D,IAAgB,KAGlB,kBAAC,IAAD,QAGJ,kBAACn9C,EAAA,EAAMhV,KAAP,KACE,yBAAKzR,UAAU,kBACb,yBAAKA,UAAU,kBACb,kBAAC,KAAD,CACE+sE,SAAU,CACR,CAAElpE,KAAM,YAAa8N,MAAO,MAC5B,CAAE9N,KAAM,cAAe8N,MAAO,QAC9B,CAAE9N,KAAM,QAAS8N,MAAO,SACxB,CAAE9N,KAAM,cAAe8N,MAAO,gBAC9B,CAAE9N,KAAM,OAAQ8N,MAAO,SAEzBsJ,KAAM4oD,IAAkB,QAKhC,kBAACp9C,EAAA,EAAM/U,OAAP,KACE,4BACE3O,KAAK,SACL0J,QAAS,WACPm3D,IAAgB,IAElB5jE,UAAU,kCALZ,eAeVqiE,IACA,6BACE,kBAACj9B,EAAA,EAAUjlC,OAAX,CACEE,GAAImzB,IACJxzB,UAAU,6DACV2zB,QAAQ,OACR4R,SAAS,KAET,kBAACC,EAAA,EAAD,CAAO7R,QAAQ,WAAW3zB,UAAU,wBAClC,wBAAIA,UAAU,oBAAd,UAEF,kBAAC4zB,EAAA,EAAD,CACE5zB,UAAWwpB,YACT,mDAEFplB,MAAO,CAAEC,SAAU,GAAIgkB,MAAO,OAAQod,IAAK,UAG/C,kBAACL,EAAA,EAAUM,SAAX,CAAoBH,SAAS,KAC3B,yBAAKvlC,UAAU,OACb,yBAAKA,UAAU,aACb,yBAAKA,UAAS,yBAEZ,yBAAKA,UAAU,sBACb,kBAACi+B,EAAA,EAAD,CAAOj+B,UAAWO,GAAQmW,MAAOvF,KAAK,SACpC,kBAAC2qB,EAAA,EAAD,KACE,kBAACC,EAAA,EAAD,KACE,kBAACC,EAAA,EAAD,oBACA,kBAACA,EAAA,EAAD,2BACA,kBAACA,EAAA,EAAD,uBACA,kBAACA,EAAA,EAAD,oBACA,kBAACA,EAAA,EAAD,uBACA,kBAACA,EAAA,EAAD,eACA,kBAACA,EAAA,EAAD,gBACA,kBAACA,EAAA,EAAD,iBACA,kBAACA,EAAA,EAAD,qBACA,kBAACA,EAAA,EAAD,sBAGJ,kBAACmC,EAAA,EAAD,YACGmkC,SADH,IACGA,IADH,WACGA,GAAQzY,gBADX,cACG,GAAkBojB,kBAAkBlpE,KACnC,SAACyD,GAAD,aACE,kBAACu0B,EAAA,EAAD,KACE,kBAACC,EAAA,EAAD,KAAYx0B,EAAI0b,MAChB,kBAAC8Y,EAAA,EAAD,KACGx0B,EAAI0lE,mBAEP,kBAAClxC,EAAA,EAAD,sBACGx0B,QADH,IACGA,OADH,EACGA,EAAK2lE,yBADR,QAC6B,KAE7B,kBAACnxC,EAAA,EAAD,KAAYx0B,EAAI4lE,YAChB,kBAACpxC,EAAA,EAAD,KAAYx0B,EAAI6lE,eAChB,kBAACrxC,EAAA,EAAD,KAAYx0B,EAAI8lE,QAChB,kBAACtxC,EAAA,EAAD,KACGx0B,EAAI+lE,kBAEP,kBAACvxC,EAAA,EAAD,KAAYx0B,EAAI+9D,eAChB,kBAACvpC,EAAA,EAAD,KACuB,OAApBx0B,EAAIg+D,YACD,IAAI7jE,KACF6F,EAAIg+D,aACJlsC,iBACF,IAEN,kBAAC0C,EAAA,EAAD,KAAYx0B,EAAI6hD,gBAItB,kBAACttB,EAAA,EAAD,KACE,kBAACC,EAAA,EAAD,MACA,kBAACA,EAAA,EAAD,MACA,kBAACA,EAAA,EAAD,KACE,2CAEF,kBAACA,EAAA,EAAD,KACE,uCACGsmC,SADH,IACGA,IADH,WACGA,GAAQzY,gBADX,cACG,GAAkB2jB,kBAGvB,kBAACxxC,EAAA,EAAD,KACE,uCACGsmC,SADH,IACGA,IADH,WACGA,GAAQzY,gBADX,cACG,GAAkBnB,eAGvB,kBAAC1sB,EAAA,EAAD,KACE,uCAASsmC,SAAT,IAASA,IAAT,WAASA,GAAQzY,gBAAjB,cAAS,GAAkB4jB,UAE7B,kBAACzxC,EAAA,EAAD,KACE,gCACyC,KAAhC,OAANsmC,SAAM,IAANA,IAAA,WAAAA,GAAQzY,gBAAR,iBAAkB2jB,iBACf,IAES,OAANlL,SAAM,IAANA,IAAA,WAAAA,GAAQzY,gBAAR,iBAAkB4jB,UAAlB,OACCnL,SADD,IACCA,IADD,WACCA,GAAQzY,gBADT,cACC,GAAkB2jB,iBACpB,KACArlE,QAAQ,KAGlB,kBAAC6zB,EAAA,EAAD,MACA,kBAACA,EAAA,EAAD,MACA,kBAACA,EAAA,EAAD,gBAWlBqmC,IACA,kBAACj9B,EAAA,EAAUjlC,OAAX,CACEE,GAAImzB,IACJxzB,UAAU,6DACV2zB,QAAQ,OACR4R,SAAS,OAET,kBAACC,EAAA,EAAD,CAAO7R,QAAQ,WAAW3zB,UAAU,wBAClC,wBAAIA,UAAU,oBAAd,oBAEF,kBAAC4zB,EAAA,EAAD,CACE5zB,UAAWwpB,YACT,mDAEFplB,MAAO,CAAEC,SAAU,GAAIgkB,MAAO,OAAQod,IAAK,UAKjD,kBAACL,EAAA,EAAUM,SAAX,CAAoB1lC,UAAU,OAAOulC,SAAS,OAC5C,yBAAKvlC,UAAU,6BACb,yBAAKA,UAAU,sBACb,yBACEA,UAAU,qHACVoE,MAAO,CAAEC,SAAU,SAFrB,mBAMA,6BACCsC,GACC,gBADM,OAENswF,SAFM,IAENA,IAFM,WAENA,GAAqBz1B,eAFf,cAEN,GAA8BpE,YAE/Bz2D,GACC,iBADM,OAENswF,SAFM,IAENA,IAFM,WAENA,GAAqBz1B,eAFf,cAEN,GAA8Bt7B,aAE/Bv/B,GACC,eADM,OAENswF,SAFM,IAENA,IAFM,WAENA,GAAqBz1B,eAFf,cAEN,GAA8Bx2C,aAEhC,6BACGrkB,GACC,gBADM,OAENswF,SAFM,IAENA,IAFM,WAENA,GAAqBz1B,eAFf,cAEN,GAA8BnE,eAGlC,6BACG12D,GACC,kBADM,OAENswF,SAFM,IAENA,IAFM,WAENA,GAAqBz1B,eAFf,cAEN,GAA8BlE,gBAGlC,6BACG32D,GACC,+BADM,OAENswF,SAFM,IAENA,IAFM,WAENA,GAAqBz1B,eAFf,cAEN,GAA8BjE,4BAGlC,6BACG52D,GACC,uBADM,OAENswF,SAFM,IAENA,IAFM,WAENA,GAAqBz1B,eAFf,cAEN,GAA8BhE,qBAGlC,6BACG72D,GACC,gCADM,OAENswF,SAFM,IAENA,IAFM,WAENA,GAAqBz1B,eAFf,cAEN,GAA8B/D,6BAGlC,6BACG92D,GACC,wBADM,OAENswF,SAFM,IAENA,IAFM,WAENA,GAAqBz1B,eAFf,cAEN,GAA8B9D,uBAKpC,yBAAK19D,UAAU,sBACb,yBACEA,UAAU,qHACVoE,MAAO,CAAEC,SAAU,SAFrB,oBAMA,6BACCsC,GACC,gBADM,OAENswF,SAFM,IAENA,IAFM,WAENA,GAAqBv1B,gBAFf,cAEN,GAA+BtE,YAEhCz2D,GACC,iBADM,OAENswF,SAFM,IAENA,IAFM,WAENA,GAAqBv1B,gBAFf,cAEN,GAA+Bx7B,aAEhCv/B,GACC,eADM,OAENswF,SAFM,IAENA,IAFM,WAENA,GAAqBv1B,gBAFf,cAEN,GAA+B12C,aAEjC,6BACGrkB,GACC,gBADM,OAENswF,SAFM,IAENA,IAFM,WAENA,GAAqBv1B,gBAFf,cAEN,GAA+BrE,eAGnC,6BACG12D,GACC,kBADM,OAENswF,SAFM,IAENA,IAFM,WAENA,GAAqBv1B,gBAFf,cAEN,GAA+BpE,gBAGnC,6BACG32D,GACC,+BADM,OAENswF,SAFM,IAENA,IAFM,WAENA,GAAqBv1B,gBAFf,cAEN,GAA+BnE,4BAGnC,6BACG52D,GACC,uBADM,OAENswF,SAFM,IAENA,IAFM,WAENA,GAAqBv1B,gBAFf,cAEN,GAA+BlE,qBAGnC,6BACG72D,GACC,gCADM,OAENswF,SAFM,IAENA,IAFM,WAENA,GAAqBv1B,gBAFf,cAEN,GAA+BjE,6BAGnC,6BACG92D,GACC,wBADM,OAENswF,SAFM,IAENA,IAFM,WAENA,GAAqBv1B,gBAFf,cAEN,GAA+BhE,yBAMzC,kBAACt4B,EAAA,EAAUjlC,OAAX,CACEE,GAAImzB,IACJxzB,UAAU,6DACV2zB,QAAQ,OACR4R,SAAS,KAET,kBAACC,EAAA,EAAD,CAAO7R,QAAQ,WAAW3zB,UAAU,wBAClC,wBAAIA,UAAU,oBAAd,UAEF,kBAAC4zB,EAAA,EAAD,CACE5zB,UAAWwpB,YACT,mDAEFplB,MAAO,CAAEC,SAAU,GAAIgkB,MAAO,OAAQod,IAAK,UAG/C,kBAACL,EAAA,EAAUM,SAAX,CAAoBH,SAAS,KAC3B,oCACE,yBAAKvlC,UAAU,kBACb,yBAAKA,UAAU,cACI,IAAhBqiE,GACC,kBAAC,KAAD,CACE0K,SAAU,CACR,CAAElpE,KAAM,KAAM8N,MAAO,KACrB,CAAE9N,KAAM,OAAQ8N,MAAO,QACvB,CAAE9N,KAAM,YAAa8N,MAAO,cAC5B,CAAE9N,KAAM,YAAa8N,MAAO,cAC5B,CAAE9N,KAAM,eAAgB8N,MAAO,YAC/B,CAAE9N,KAAM,YAAa8N,MAAO,YAE9BsJ,MACO,OAALyf,SAAK,IAALA,QAAA,EAAAA,GAAOnrB,QAAO,SAACm+D,GAAD,OAAiC,IAAvBA,EAAKjb,mBAC7B,KAIJ,yBAAKzyD,UAAWO,GAAQ4V,MACtB,kBAACgT,EAAA,EAAD,CAAOnpB,UAAWO,GAAQ8V,OACxB,kBAAC4nB,EAAA,EAAD,CACEj+B,UAAS,oBAAeO,GAAQmW,OAChCvF,KAAK,SAEL,kBAAC2qB,EAAA,EAAD,KACE,kBAACC,EAAA,EAAD,KACE,kBAACC,EAAA,EAAD,CAAWG,MAAM,QAAjB,MACA,kBAACH,EAAA,EAAD,CAAWG,MAAM,QAAjB,QACA,kBAACH,EAAA,EAAD,CAAWG,MAAM,QAAjB,aACA,kBAACH,EAAA,EAAD,CAAWG,MAAM,QAAjB,aACA,kBAACH,EAAA,EAAD,CAAWG,MAAM,QAAjB,gBACA,kBAACH,EAAA,EAAD,CAAWG,MAAM,QAAjB,aACA,kBAACH,EAAA,EAAD,CAAWG,MAAM,QAAjB,kBAGJ,kBAACgC,EAAA,EAAD,YACGzD,SADH,IACGA,QADH,EACGA,GAAO32B,KAAI,SAACyD,GAAD,OACV,kBAACu0B,EAAA,EAAD,CAAUz0B,IAAKE,EAAIxB,MACjB,kBAACg2B,EAAA,EAAD,CAAWG,MAAM,QAAQ30B,EAAI5D,IAC7B,kBAACo4B,EAAA,EAAD,CAAWG,MAAM,QAAQ30B,EAAIiK,MAC7B,kBAACuqB,EAAA,EAAD,CAAWG,MAAM,QACd30B,EAAImmE,WAEP,kBAAC3xC,EAAA,EAAD,CAAWG,MAAM,QACd30B,EAAIqkE,WAEP,kBAAC7vC,EAAA,EAAD,CAAWG,MAAM,QACd30B,EAAIomE,cAEP,kBAAC5xC,EAAA,EAAD,CAAWG,MAAM,QACd30B,EAAIu+D,WAEP,kBAAC/pC,EAAA,EAAD,CAAWG,MAAM,QACQ,IAAtB30B,EAAIirD,cACD,UACsB,IAAtBjrD,EAAIirD,cACJ,SACA,gBAa5B,kBAACrtB,EAAA,EAAUjlC,OAAX,CACEE,GAAImzB,IACJxzB,UAAU,6DACV2zB,QAAQ,OACR4R,SAAS,KAET,kBAACC,EAAA,EAAD,CAAO7R,QAAQ,WAAW3zB,UAAU,wBAClC,wBAAIA,UAAU,oBAAd,gBAEF,kBAAC4zB,EAAA,EAAD,CACE5zB,UAAWwpB,YACT,mDAEFplB,MAAO,CAAEC,SAAU,GAAIgkB,MAAO,OAAQod,IAAK,UAG/C,kBAACL,EAAA,EAAUM,SAAX,CAAoBH,SAAS,KAC3B,oCACE,yBAAKvlC,UAAU,kBACb,yBAAKA,UAAU,kBAEb,yBAAKA,UAAU,6BACb,wBAAIA,UAAU,2CAAd,2BAIe,IAAhBqiE,GACC,kBAACwL,GAAA,EAAD,CACEztE,GAAIwD,GACJy+D,aAAa,EACb76D,IAAG,OAAE86D,SAAF,IAAEA,QAAF,EAAEA,GAAQzY,SACbikB,eAAc,OAAExL,SAAF,IAAEA,IAAF,WAAEA,GAAQzY,gBAAV,cAAE,GAAkBW,YAClC5pD,KAAK,aANR,OASC4pD,SATD,IASCA,QATD,EASCA,GAAazmD,KAAI,SAAC8D,EAAG5D,GAAJ,aACf,kBAAC8pE,GAAD,CACElmE,EAAGA,EACHP,IAAKrD,EACLA,MAAOA,EACP7D,GAAE,OAAEkiE,SAAF,IAAEA,IAAF,UAAEA,GAAQzY,gBAAV,aAAE,EAAkBjmD,UAShC,kBAAC6iB,EAAA,EAAD,CACEtV,KAAK,KACLC,KAAM4zD,GACN3zD,OAAQ,WACN4zD,IAAkB,IAEpB3zD,kBAAgB,gCAEhB,kBAACmV,EAAA,EAAMlV,OAAP,KACE,kBAACkV,EAAA,EAAM9U,MAAP,2CAC+B2wD,SAD/B,IAC+BA,IAD/B,WAC+BA,GAAQzY,gBADvC,cAC+B,GAAkBjmD,IAEjD,kBAACy5B,EAAA,EAAD,CACE7rB,aAAW,QACX/E,QAAS,WACPw4D,IAAkB,KAGpB,kBAAC,IAAD,QAGJ,kBAACx+C,EAAA,EAAMhV,KAAP,KACE,oCACE,yBAAKzR,UAAU,uBACb,yBAAKA,UAAU,aACf,yBACEA,UAAU,WACVoE,MAAO,CAAEyN,cAAe,UAExB,4BACE9O,KAAK,SACLoQ,SAAU+xD,GACVllE,UAAU,8BACVyM,QAAS,WACP,IAAMqF,EAAWK,GAASxJ,QACxB,YACA,IAEF1F,IAAUkP,GAAUL,KATxB,YAaU,MAGJ,QAAT/O,GACC,yBAAK/C,UAAU,iBAAiBsH,IAAKyD,KAAKgH,UACxC,yBACE/R,UAAU,sBACVsH,IAAKyD,KAAKgH,UAEV,kBAAC,IAAD,CACEvT,SAAU,CACRwT,IAAKG,QAMb,yBAAKnS,UAAU,iBAAiBsH,IAAKyD,KAAKgH,UACxC,yBAAK/R,UAAU,YAAYsH,IAAKyD,KAAKgH,UACnC,kBAAC,KAAD,CACEG,SAAUnP,GACVoP,SAAUA,GACVC,QA71DZ,SAAC9C,GACflM,QAAQC,IAAIiM,EAAG,yBA61DWtP,UAAU,cAOtB,kBAACymB,EAAA,EAAM/U,OAAP,KACE,4BACE3O,KAAK,SACL0J,QAAS,WACPw4D,IAAkB,IAEpBjlE,UAAU,kCALZ,cAcNqiE,IACA,6BACE,kBAACj9B,EAAA,EAAUjlC,OAAX,CACEE,GAAImzB,IACJxzB,UAAU,6DACV2zB,QAAQ,OACR4R,SAAS,KAET,kBAACC,EAAA,EAAD,CAAO7R,QAAQ,WAAW3zB,UAAU,wBAClC,wBAAIA,UAAU,oBAAd,eAEF,kBAAC4zB,EAAA,EAAD,CACE5zB,UAAWwpB,YACT,mDAEFplB,MAAO,CAAEC,SAAU,GAAIgkB,MAAO,OAAQod,IAAK,UAG/C,kBAACL,EAAA,EAAUM,SAAX,CAAoB1lC,UAAU,OAAOulC,SAAS,KACf,OAA5By9B,GACC,kBAAC,KAAD,CACEj2D,UAAWi2D,IAA2B,KAGxC,yBAAKhjE,UAAS,yBACZ,yBAAKA,UAAU,mCACb,yBACEA,UAAU,YACVoE,MAAO,CAAEsM,UAAW,WAFtB,2BAgBlB,kBAAC+V,EAAA,EAAM/U,OAAP,KACE,4BACE3O,KAAK,SACL0J,QAAS,WACPsxD,IAAQ,IAEV/9D,UAAU,kCALZ,WAjrE4D,SA8rEnD0jE,KA9rEmD,+EA8rElE,+FACQrvD,MAAM,UAAGxP,OAAOyP,QAAV,wBAA0C1Q,GAAI,CACxD2Q,OAAQ,MACRC,iBAAiB,EACjBC,QAAS,CACPiL,OAAQ,oCACRhL,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,sBAGjBC,KAVG,wCAUE,WAAOC,GAAP,0FACqBA,EAASE,OAD9B,cACED,EADF,gBAEeD,EAAS1N,OAFxB,cAEE5E,EAFF,yBAGGyS,QAAQC,IAAI,CAACH,EAAYvS,KAH5B,2CAVF,uDAeHqS,MAAK,SAACM,GACL,IAAM3L,EAAI2L,EAAI,GACdqtD,GAAUh5D,GACV45D,GAAsB55D,GACtBo5D,GAAmBp5D,EAAEsgD,SAASW,aAC9B,IAAIvlD,EAAIsE,EAAEsgD,SAASnvB,MACnBz1B,EAAE/D,SAAQ,SAAC2G,GACTA,EAAEk+D,UAAYp8D,aAAU,OAAC9B,QAAD,IAACA,OAAD,EAACA,EAAGk+D,cAE9BrD,GAAaz9D,MAEdkQ,OAAM,SAAC5K,GACNnH,QAAQmH,MAAMA,MA5BpB,OA8BE04D,GAA2B,MAC3B5uD,MAAMxP,OAAOyP,QAAP,oBAA8B1Q,IAAM,CACxC2Q,OAAQ,MACRC,iBAAiB,EACjBC,QAAS,CACPiL,OAAQ,oCACRhL,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,sBAGjBC,MAAK,SAACC,GAAD,OAAcA,EAAS5V,UAC5B2V,MAAK,SAACzF,GACL,IAAI2d,EAAM/rB,KAAKC,MAAMmO,GACrBs0D,GAAU32C,GACV+1C,GAAqB/1C,EAAIkhD,UACzBjL,GAA6Bj2C,EAAImhD,UAEjCnhD,EAAI1f,WAAWV,MAAK,SAASnD,EAAGtE,GAC9B,OAAO,IAAItD,KAAKsD,EAAE4H,SAAW,IAAIlL,KAAK4H,EAAEsD,YAE1CigB,EAAI1f,WAAWlM,SAAQ,SAAC2G,EAAGe,GACzBf,EAAEzH,GAAKwI,KAETq6D,IAA8B,OAAHn2C,QAAG,IAAHA,OAAA,EAAAA,EAAK1f,aAAc,OAE/C+H,OAAM,SAAC5K,GAAD,OAAWnH,QAAQC,IAAI,QAASkH,MAxD3C,4CA9rEkE,sBAyvElE,SAASyD,GAAaC,GACpB,IAAIC,EAAWD,EAAK7F,MAAM,SAAS+F,MACjCC,EAAMF,EAASG,YAAY,KAC7B,MAAiB,KAAbH,GAAmBE,EAAM,EAAU,GAChCF,EAASzM,MAAM2M,EAAM,GA7vEoC,SA+vEnD8/D,GA/vEmD,oFA+vElE,WAA+BC,EAAWC,GAA1C,kFACe/5D,MACXxP,OAAOyP,QAAP,yCACoC65D,EADpC,YACiDC,EADjD,kCAEA,CACE75D,OAAQ,MACRC,iBAAiB,EACjBC,QAAS,CACPiL,OAAQ,oCACRhL,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,sBAInBC,KAdU,wCAcL,WAAOC,GAAP,0FACqBA,EAASE,OAD9B,cACED,EADF,gBAEeD,EAAS1N,OAFxB,cAEE5E,EAFF,yBAGGyS,QAAQC,IAAI,CAACH,EAAYvS,KAH5B,2CAdK,uDAmBVqS,KAnBU,wCAmBL,WAAOM,GAAP,0EACJ,IACQ3S,EAAO2S,EAAI,GACXhD,EAAWlE,GAAazL,EAAK8rE,gBACnCjJ,GAAYlzD,EAAShD,eACrBm2D,GAAY9iE,EAAK8rE,gBACjBlJ,IAAoB,GACpB,MAAOtlE,IAPL,yBAQGqV,EAAI,IARP,2CAnBK,uDA6BVC,OAAM,SAAC5K,GACNnH,QAAQmH,MAAMA,MA/BpB,oFA/vEkE,sBAiyElE,SAASwjE,GAAT,GAA8C,IAAtBlmE,EAAqB,EAArBA,EAAG5D,EAAkB,EAAlBA,MAAY7D,GAAM,EAAX2oD,IAAW,EAAN3oD,IACrC,OACE,oCACE,kBAACulC,EAAA,EAAD,CACE3lC,UACE,iCAAmCiE,EAAQ,IAAM,GAAK,aAGxD,kBAAC0hC,EAAA,EAAKl0B,KAAN,KACE,kBAACk0B,EAAA,EAAKh0B,MAAN,CAAY3R,UAAU,iBACpB,uBAAGmE,MAAM,qBADX,WACoC0D,QADpC,IACoCA,OADpC,EACoCA,EAAGgkE,WAEvC,uBAAG7rE,UAAU,6CACV,IAAI2B,KAAJ,OAASkG,QAAT,IAASA,OAAT,EAASA,EAAGgF,SAASysB,kBAExB,kBAACqM,EAAA,EAAK2oC,KAAN,CAAWtuE,UAAU,aACnB,uBAAGA,UAAU,sBAAb,cACA,2BACE,uBACE0I,KAAM,kBAAM,GACZ+D,QAAO,uBAAE,+FAELw4D,IAAkB,GAFb,SAGCiJ,GAAgB9tE,EAAIyH,EAAEjE,IAHvB,sDAKLR,QAAQC,IAAR,MALK,wDAQTy7B,KAAK,SACL9+B,UAAU,0CAXZ,OAaG6H,QAbH,IAaGA,OAbH,EAaGA,EAAG0mE,WAKR,yBAAKvuE,UAAW,eACd,yBAAKA,UAAU,YACb,uBAAGA,UAAU,qBAAb,qBAAuD,IACvD,sCAAK6H,QAAL,IAAKA,OAAL,EAAKA,EAAGjH,OAEV,yBAAKZ,UAAU,YACb,uBAAGA,UAAU,qBAAb,kBAAoD,IACpD,sCAAK6H,QAAL,IAAKA,OAAL,EAAKA,EAAG2mE,kBAMlB,+BAKD,IAAM8oB,GAAiB,SAAC,GAAuB,IAArB9vF,EAAoB,EAApBA,IAAQzH,EAAY,kBACnD,EAAwBiN,oBAAS,GAAjC,mBAAOiuD,EAAP,KAAa8C,EAAb,KACA,EAAkD/wD,oBAAS,GAA3D,mBAAO8tD,EAAP,KAA0BC,EAA1B,KAEA,EAAsC/tD,oBAAS,GAA/C,mBAAOwxD,EAAP,KAAoBC,EAApB,KAKA,SAASoB,IACP,OACE,oCACE,kBAAC,KAAD,CACEC,QAAStB,EACTuB,WAAYtB,EACZr+D,GAAE,OAAEoH,QAAF,IAAEA,OAAF,EAAEA,EAAKonD,WAET,kBAAC4B,GAAA,EAAD,QAMR,SAASwP,IACP,OACE,kBAAC,WAAD,KACE,yBAAKhgE,UAAU,UACb,kBAACy6C,EAAA,EAAD,CAAUz6C,UAAU,sCAAsCE,YAAU,GAClE,kBAACu6C,EAAA,EAASt6C,OAAV,CACEH,UAAU,0DACV2zB,QAAQ,cACRvzB,GAAG,sBACHC,GAAI8gE,MAEJ,uBAAGnhE,UAAU,8BAEf,kBAACy6C,EAAA,EAASj6C,KAAV,CAAeR,UAAU,mEACvB,wBAAIA,UAAU,wBACZ,wBAAIA,UAAU,aACZ,uBACE0I,KAAK,gBACL1I,UAAU,YACVyM,QAAS,SAAC6C,GACRA,EAAEqmD,iBACFoI,GAAQ,KAGV,0BAAM/9D,UAAU,aACd,uBAAGA,UAAU,kCAEf,0BAAMA,UAAU,aAAhB,YAGJ,wBAAIA,UAAU,aACZ,uBACE0I,KAAK,gBACL1I,UAAU,YACVyM,QAAS,SAAC6C,GACRzK,OAAOu8D,wBAA0B,sBACjC9xD,EAAEqmD,iBACFoF,GAAqB,KAGvB,0BAAM/6D,UAAU,aACd,uBAAGA,UAAU,6BAEf,0BAAMA,UAAU,aAAhB,UAGJ,yBAAKA,UAAU,qBACf,kBAACu3F,GAAD,CAAc3oC,UAAS,OAAEpnD,QAAF,IAAEA,OAAF,EAAEA,EAAKpH,GAAIoH,IAAKA,OAI7C,kBAACkzD,GAAD,CAAWlzD,IAAKA,EAAK4zD,aAAY,OAAEr7D,QAAF,IAAEA,OAAF,EAAEA,EAAOq7D,iBAMlD,OA3EAtnD,qBAAU,WACRjP,OAAO+pD,UAAP,OAAmBpnD,QAAnB,IAAmBA,OAAnB,EAAmBA,EAAKonD,UACxB/pD,OAAOq9D,qBAAsB,IAC5B,QAAC16D,QAAD,IAACA,OAAD,EAACA,EAAKonD,YAyEP,oCACE,kBAACnoC,EAAA,EAAD,CACEtV,KAAK,KACLC,KAAM6pD,EACN5pD,OAAQ,WACN0sD,GAAQ,IAEVzsD,kBAAgB,gCAEhB,kBAAC6wD,GAAD,CAAgBv+D,GAAE,OAAE4D,QAAF,IAAEA,OAAF,EAAEA,EAAKpH,GAAI29D,QAASA,EAAQj/C,UAE/C0/C,GAAe,kBAACqB,EAAD,MAChB,kBAACp5C,EAAA,EAAD,CACEtV,KAAK,KACLC,KAAM0pD,EACNzpD,OAAQ,WACN0pD,GAAqB,KAGvB,kBAACC,GAAA,EAAD,CAAeC,KAAMF,EAAsBG,eAAgB1zD,EAAIpH,MAEjE,kBAAC4/D,EAAD,QAKN,SAASu3B,GAAT,GAA2C,IAAD,IAAlB3oC,EAAkB,EAAlBA,UAAWpnD,EAAO,EAAPA,IACjC,EAAwCwF,oBAAS,GAAjD,mBAAOwqF,EAAP,KAAqBC,EAArB,KACA,EAAsDzqF,oBAAS,GAA/D,mBAAO0xD,EAAP,KAA4BC,EAA5B,KACA,EAAoC3xD,mBAAS,IAA7C,mBAAO0qF,EAAP,KACA,GADA,KACkC1qF,mBAAS,KAA3C,mBAAO2qF,EAAP,KACA,GADA,KACkC3qF,mBAAS,KAA3C,mBAAO4qF,EAAP,KAAkBC,EAAlB,KACA,EAA4C7qF,mBAAS,IAArD,mBAAO8qF,EAAP,KAAuBC,EAAvB,KACA,EAAkD/qF,mBAAS,IAA3D,mBAAOkyD,EAAP,KAA0BC,EAA1B,KACA,EAA8DnyD,mBAAS,IAAvE,mBAAO8xD,EAAP,KAAgCC,EAAhC,KACA,EAAgE/xD,mBAC9D,MADF,mBAAOmzD,EAAP,KAAiCC,EAAjC,KAGA,EAAkDpzD,mBAAS,IAA3D,mBAAOgyD,EAAP,KAA0BC,EAA1B,KACA,EAAwDjyD,mBAAS,IAAjE,mBAAO4xD,GAAP,KAA6BC,GAA7B,KACA,GAAgE7xD,oBAC9D,GADF,qBAAOs/C,GAAP,MAAiCC,GAAjC,MAGA,GAGIv/C,oBAAS,GAHb,qBACEoxD,GADF,MAEEC,GAFF,MAIA,GAGIrxD,oBAAS,GAHb,qBACEgrF,GADF,MAEEC,GAFF,MArBwC,+CA4BxC,8FACM5iF,EAAY,IAAIC,SACVC,OAAO,gBAAjB,iBAA4CpX,GAAG8L,OAAOC,WAAWyK,QAE7Da,EAAiB,CACnBjB,OAAQ,MACRE,QAASY,EACTI,SAAU,UAGZpB,MAAM,GAAD,OACAxP,OAAOyP,QADP,yCAC+Cs6C,GAClDp5C,GAECZ,MAAK,SAACC,GAAD,OAAcA,EAAS5V,UAC5B2V,MAAK,SAACzF,GACL,IAAI5M,EAAOxB,KAAKC,MAAMmO,GACtB8vD,EAAqB18D,MAEtB4S,OAAM,SAAC5K,GAAD,OAAWnH,QAAQC,IAAI,QAASkH,MACrC81D,EAAat/D,KAAKC,MAAMD,KAAKE,UAAU4D,OAAOquD,iBAClD6L,EAA2Bl6D,OAAOquD,gBAAkB,IAEhDnrD,EAAOs4D,EAAWt8D,KAAI,SAACwF,GAAD,OAAO/H,OAAO+H,EAAEm6C,aAE1CtgD,QAAQC,IAAI,OAAQ0E,IACd9D,EAAQ8D,EAAK6N,QAAQpU,OAAOqD,OAAOu6E,8BAC5B,IACX/e,EAAWp7B,OAAOhhC,EAAOo8D,EAAWx3D,QACpCs2D,EAAqBkB,IA7BzB,6CA5BwC,sBA4DxC,OAA0DrzD,mBAAS,MAAnE,qBAAOkrF,GAAP,MAA8BC,GAA9B,MA5DwC,SA6DzBhlC,GA7DyB,kFA6DxC,WAA0Bl0D,GAA1B,qEACU,oBAAJA,EADN,oBAEsB,KAAd24F,EAFR,uBAGMh4F,aAAa,QAAS,4BAH5B,0CAMYyU,MAAM,GAAD,OACNxP,OAAOyP,QADD,wCACwCs6C,GACjD,CACEr6C,OAAQ,OACRC,iBAAiB,EACjBC,QAAS,CACPiL,OAAQ,oCACRhL,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,oBAElBvV,KAAK,YAAD,OAAcw4F,EAAd,0CAGLhjF,MAAK,SAACC,GACmB,MAApBA,EAASE,QACXnV,aAAa,QAAS,oBAGzBuV,OAAM,SAAC5K,GACNnH,QAAQmH,MAAMA,MA1BxB,wBA4BY8J,MAAM,GAAD,OAAIxP,OAAOyP,QAAX,uCAAyD,CAClEC,OAAQ,OACRC,iBAAiB,EACjBC,QAAS,CACPiL,OAAQ,oCACRhL,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,oBAElBvV,KAAK,SAAD,OAAWwvD,EAAX,YAAwB3vD,EAAxB,OAEH2V,KAXG,wCAWE,WAAOC,GAAP,0FACqBA,EAASE,OAD9B,UACED,EADF,SAEEY,EAAcb,EAASJ,QAAQkB,IAAI,mBACuB,IAA7CD,EAAYE,QAAQ,oBAHnC,yCAIKf,EAAS1N,OAAOyN,MAAK,SAACrS,GAAD,MAAU,CAACuS,EAAYvS,OAJjD,gCAMKsS,EACJ5V,OACA2V,MAAK,SAAC3V,GAAD,MAAU,CAAC6V,EAAY,CAAEe,QAAS,SARxC,2CAXF,uDAsBHjB,MAAK,SAACzF,GACa,MAAdA,EAAO,GAEe,OAAtBA,EAAO,GAAG0G,cACY/P,IAAtBqJ,EAAO,GAAG0G,SACY,KAAtB1G,EAAO,GAAG0G,QAEVjW,aAAa,YAAauP,EAAO,GAAG0G,UAElB,MAAd1G,EAAO,KACLlQ,EAAK2W,QAAQ,WAAa,EAC5BhW,aAAa,UAAW,6BACjBX,EAAK2W,QAAQ,eAAiB,EACrChW,aAAa,UAAW,kCACjBX,EAAK2W,QAAQ,aAAe,GACnChW,aAAa,UAAW,+BAE5BpB,SAASsR,eAAe,iBAAiBinB,SAInB,OAAtB5nB,EAAO,GAAG0G,cACY/P,IAAtBqJ,EAAO,GAAG0G,SACY,KAAtB1G,EAAO,GAAG0G,QAEVjW,aAAa,aAAcuP,EAAO,GAAG0G,SAErCjW,aAAa,aAAc,sBAIhCuV,OAAM,SAAC5K,GACNnH,QAAQmH,MAAMA,MAlFxB,QAoFMstF,EAAa,IACbx5B,IAAkC,GArFxC,iDAwFUhqD,MAAM,GAAD,OAAIxP,OAAOyP,QAAX,uCAAyD,CAClEC,OAAQ,OACRC,iBAAiB,EACjBC,QAAS,CACPiL,OAAQ,oCACRhL,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,oBAElBvV,KAAK,SAAD,OAAWwvD,EAAX,YAAwB3vD,EAAxB,OAEH2V,KAXG,wCAWE,WAAOC,GAAP,0FACqBA,EAASE,OAD9B,UACED,EADF,SAEEY,EAAcb,EAASJ,QAAQkB,IAAI,mBACuB,IAA7CD,EAAYE,QAAQ,oBAHnC,yCAIKf,EAAS1N,OAAOyN,MAAK,SAACrS,GAAD,MAAU,CAACuS,EAAYvS,OAJjD,gCAMKsS,EACJ5V,OACA2V,MAAK,SAAC3V,GAAD,MAAU,CAAC6V,EAAY,CAAEe,QAAS,SARxC,2CAXF,uDAsBHjB,MAAK,SAACzF,GAUG,IAAD,EACiC,EAVtB,MAAdA,EAAO,IACLlQ,EAAK2W,QAAQ,WAAa,EAC5BhW,aAAa,UAAW,6BACjBX,EAAK2W,QAAQ,eAAiB,EACrChW,aAAa,UAAW,kCACjBX,EAAK2W,QAAQ,aAAe,GACnChW,aAAa,UAAW,8BAE1BpB,SAASsR,eAAe,iBAAiBinB,cAEdjxB,KAAvB,UAAAqJ,EAAO,UAAP,eAAW0G,SACbjW,aAAa,aAAD,UAAeuP,EAAO,UAAtB,aAAe,EAAW0G,SAEtCjW,aAAa,aAAc,kBAIhCuV,OAAM,SAAC5K,GACNnH,QAAQmH,MAAMA,MAjItB,eAmII8zD,IAAkC,GAnItC,gEA7DwC,sBAqMxC,SAAS+5B,KACP,OACE,kBAAC3xE,EAAA,EAAD,CACEtV,KAAK,KACLC,KAAMomF,EACNnmF,OAAQ,WACNomF,GAAgB,IAElBnmF,kBAAgB,gCAEhB,kBAACmV,EAAA,EAAMlV,OAAP,KACE,kBAACkV,EAAA,EAAM9U,MAAP,KAAc+lF,GACd,kBAACr6D,EAAA,EAAD,CACE7rB,aAAW,QACX/E,QAAS,SAAC6C,GACRmoF,GAAgB,KAGlB,kBAAC,IAAD,QAGJ,kBAAChxE,EAAA,EAAMhV,KAAP,KAAaimF,EAAb,YACA,kBAACjxE,EAAA,EAAM/U,OAAP,KACE,kBAAC8hB,EAAA,EAAD,CACEG,QAAQ,YACRlnB,QAAS,SAAC6C,GACRmoF,GAAgB,KAHpB,SAQA,kBAACjkE,EAAA,EAAD,CACEG,QAAQ,YACRlnB,QAAS,SAAC6C,GACR6jD,GAAW,IAAD,OAAKwkC,EAAL,WACVF,GAAgB,KAJpB,UAcR,OACE,oCACE,kBAAChxE,EAAA,EAAD,CACEtV,KAAK,KACLC,KAAMk7C,GACNh7C,kBAAgB,gCAEhB,kBAACmV,EAAA,EAAMlV,OAAP,KACE,kBAACkV,EAAA,EAAM9U,MAAP,+BACA,kBAAC0rB,EAAA,EAAD,CACE7rB,aAAW,QACX/E,QAAS,SAAC6C,GACR8wD,EAA4B,MAC5BvB,GAAwB,IACxBtS,IAA4B,KAG9B,kBAAC,IAAD,QAGJ,kBAAC9lC,EAAA,EAAMhV,KAAP,KACE,yBAAKzR,UAAU,OACb,yBAAKA,UAAU,aACb,iDACA,kBAAC,KAAD,CACEygE,cAAc,EACdvmD,aAAW,EACXuO,WAAY,CAAEyB,YApPR,SAACnqB,GACnB,OAAO,kBAAC,KAAWmqB,YAAgBnqB,KAoPvBqP,YAAa,iBACb+K,QAAS+kD,EAAkBn7D,KAAI,SAACwF,GAC9B,MAAO,CAAEpK,MAAOoK,EAAEm6C,SAAUlgD,MAAO+F,EAAE1F,SAEvCwL,SAAU,SAACC,GAEP8wD,EADQ,OAAN9wD,EAC0BA,EAEA,UAIjC,UAAAwvD,EAAwBvvD,QAAO,SAAChG,GAAD,MAAkB,aAAXA,EAAE1F,QAAqB,UAA7D,eACG68D,WADH,UAED5B,EAAwBvvD,QACtB,SAAChG,GAAD,OAAOA,EAAE1F,QAAF,OAAWs8D,QAAX,IAAWA,OAAX,EAAWA,EAA0B38D,UAC5C,UAJD,aAED,EAEMk9D,UACJ,oCACE,2BAAO1gE,UAAU,QAAjB,4BACCg/D,EAAkBj7D,KAAI,SAACC,EAAMC,GAAP,OACrB,kBAAC,KAAD,CACEjE,UAAU,eACVgG,KAAI,iBAAY/B,GAChBhF,KAAM+E,EAAK28D,cAAc31C,YACzB3b,SAAU,SAACC,GACT,IAAIvH,EAAO,GAEX,GADAA,EAAO62D,GACHtvD,EAAEM,OAAOknB,QACX/uB,EAAKe,KAAK9E,EAAKolD,UACfyV,GAAwB92D,GAAQ,QAC3B,CACL,IAAI9D,EAAQ8D,EAAK6N,QAAQ5R,EAAKolD,UAC9ByV,GACE92D,EAAKtG,MAAMwC,EAAOA,IAAU,YAQxC,GAEF,6BACA,6BACA,kDACA,8BACEjE,UAAU,oBACVib,KAAK,IACL7a,GAAG,kBACHkzB,OAAQ,SAAChkB,GAAD,OAAOyoF,EAAkBzoF,EAAEM,OAAOzQ,aAKlD,kBAACsnB,EAAA,EAAM/U,OAAP,KACE,4BACE1R,UAAU,gBACVmT,SAAUurD,EACVjyD,QAAS,SAAC6C,GACRi9C,IAA4B,KAJhC,UASA,4BACEvsD,UAAU,uBACVyM,QAAS,SAAC6C,GAEa,OAAnBwoF,GACmB,KAAnBA,QACmBhyF,IAAnBgyF,GAKFn5B,GAAuB,GACvBn3D,EAAM,CACJ5D,GAAIgrD,EACJlL,SAC+B,OAA7Byc,EACI,KACAA,EAAyBhhE,MAC/ByhE,WAAYhC,GACZiC,aAAa,EACb7V,KAAM8sC,GAERzjF,MAAM,GAAD,OAAIxP,OAAOyP,QAAX,6BAA+C,CAClDC,OAAQ,OACRC,iBAAiB,EACjBC,QAAS,CACPiL,OAAQ,oCACRhL,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,oBAElBvV,KAAM2B,KAAKE,UAAUuG,KAEpBoN,KAXH,wCAWQ,WAAOC,GAAP,0FACqBA,EAASE,OAD9B,UACED,EADF,SAEEY,EAAcb,EAASJ,QAAQkB,IAAI,mBAGM,IAA7CD,EAAYE,QAAQ,oBALlB,yCAOKf,EAAS1N,OAAOyN,MAAK,SAACrS,GAAD,MAAU,CAACuS,EAAYvS,OAPjD,gCASKsS,EACJ5V,OACA2V,MAAK,SAAC3V,GAAD,MAAU,CAAC6V,EAAY,CAAEe,QAAS,SAXxC,2CAXR,uDAyBGjB,MAAK,SAACzF,GACa,MAAdA,EAAO,IAEe,OAAtBA,EAAO,GAAG0G,cACY/P,IAAtBqJ,EAAO,GAAG0G,SACY,KAAtB1G,EAAO,GAAG0G,SAEVjW,aAAa,YAAauP,EAAO,GAAG0G,SACpC02C,IAA4B,KAE5BA,IAA4B,GAC5B/tD,SACGsR,eAAe,6BACfinB,QACHn3B,aAAa,UAAW,kCACxBpB,SAASsR,eAAe,iBAAiBinB,SAE3C4nC,GAAuB,KAGC,OAAtBxvD,EAAO,GAAG0G,cACY/P,IAAtBqJ,EAAO,GAAG0G,SACY,KAAtB1G,EAAO,GAAG0G,SAEVjW,aAAa,aAAcuP,EAAO,GAAG0G,SACrC02C,IAA4B,IAE5B3sD,aAAa,aAAc,mBAE7B++D,GAAuB,OAG1BxpD,OAAM,SAAC5K,GACNnH,QAAQmH,MAAMA,GACdo0D,GAAuB,OAzEzB/+D,aAAa,QAAS,sBAR5B,UAsFG8+D,GACC,kBAAC5e,EAAA,EAAD,CACEz/C,GAAG,OACHorD,UAAU,SACVt6C,KAAK,KACL2tB,KAAK,SACL4sB,cAAY,YAOtB,kBAACjlC,EAAA,EAAD,CACEtV,KAAK,KACL/Q,GAAG,qBACHgR,KAAMgtD,GACN9sD,kBAAgB,+BAChBtR,UAAU,qBAEV,kBAACymB,EAAA,EAAMlV,OAAP,KACE,kBAACkV,EAAA,EAAM9U,MAAP,qCACgC,KACT,IAApBnK,EAAIs5D,YAAuB,WAAa,SAF3C,oBAIA,kBAACzjC,EAAA,EAAD,CACE7rB,aAAW,QACX/E,QAAS,SAAC6C,GACR+uD,IAAkC,KAGpC,kBAAC,IAAD,QAGJ,kBAAC53C,EAAA,EAAMhV,KAAP,KACE,gCACuB,IAApBjK,EAAIs5D,YAAuB,WAAa,SAD3C,sBAGA,8BACE9gE,UAAU,oBACVib,KAAK,IACL7a,GAAG,cACHkzB,OAAQ,SAAChkB,GAAD,OAAOuoF,EAAavoF,EAAEM,OAAOzQ,WAGzC,kBAACsnB,EAAA,EAAM/U,OAAP,KACE,kBAAC8hB,EAAA,EAAD,CACEG,QAAQ,YACR3zB,UAAU,6BACVyM,QAAS,SAAC6C,GACR+uD,IAAkC,KAJtC,MAUA,kBAAC7qC,EAAA,EAAD,CACEG,QAAQ,YACR3zB,UAAU,iCACVyM,QAAS,SAAC6C,GACR6jD,GAAW,qBAJf,SAYJ,kBAAC1sC,EAAA,EAAD,CACEtV,KAAK,KACL/Q,GAAG,qBACHgR,KAAM4mF,GACN1mF,kBAAgB,+BAChBtR,UAAU,qBAEV,kBAACymB,EAAA,EAAMlV,OAAP,KACE,kBAACkV,EAAA,EAAM9U,MAAP,oBACA,kBAAC0rB,EAAA,EAAD,CACE7rB,aAAW,QACX/E,QAAS,SAAC6C,GACR2oF,IAAqC,KAGvC,kBAAC,IAAD,QAGJ,kBAACxxE,EAAA,EAAMhV,KAAP,qEAGA,kBAACgV,EAAA,EAAM/U,OAAP,KACE,kBAAC8hB,EAAA,EAAD,CACEG,QAAQ,YACR3zB,UAAU,6BACVyM,QAAS,SAAC6C,GACR2oF,IAAqC,KAJzC,MAUA,kBAACzkE,EAAA,EAAD,CACEG,QAAQ,YACR3zB,UAAU,iCACVyM,QAAS,SAAC6C,GAGR+E,MAAM,GAAD,OACAxP,OAAOyP,QADP,iCACuC4jF,IAC1C,CACE3jF,OAAQ,OACRC,iBAAiB,EACjBC,QAAS,CACPiL,OAAQ,oCACRhL,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,sBAInBC,KAbH,wCAaQ,WAAOC,GAAP,0FACqBA,EAASE,OAD9B,UACED,EADF,SAEEY,EAAcb,EAASJ,QAAQkB,IAAI,mBAGM,IAA7CD,EAAYE,QAAQ,oBALlB,yCAOKf,EAAS1N,OAAOyN,MAAK,SAACrS,GAAD,MAAU,CAACuS,EAAYvS,OAPjD,gCASKsS,EACJ5V,OACA2V,MAAK,SAAC3V,GAAD,MAAU,CAAC6V,EAAY,CAAEe,QAAS,SAXxC,2CAbR,uDA2BGjB,MAAK,SAACzF,GACa,MAAdA,EAAO,GAEe,OAAtBA,EAAO,GAAG0G,cACY/P,IAAtBqJ,EAAO,GAAG0G,SACY,KAAtB1G,EAAO,GAAG0G,SAEVjW,aAAa,YAAauP,EAAO,GAAG0G,SACpCoiF,IAAqC,GACrCz5F,SAASsR,eAAe,iBAAiBinB,UAEzCkhE,IAAqC,GACrCr4F,aAAa,UAAW,8BACxBpB,SAASsR,eAAe,iBAAiBinB,SAInB,OAAtB5nB,EAAO,GAAG0G,cACY/P,IAAtBqJ,EAAO,GAAG0G,SACY,KAAtB1G,EAAO,GAAG0G,SAEVjW,aAAa,aAAcuP,EAAO,GAAG0G,SACrCoiF,IAAqC,IAErCr4F,aAAa,aAAc,sBAIhCuV,OAAM,SAAC5K,GACNnH,QAAQmH,MAAMA,QA9DtB,SA0EJ,kBAAC6tF,GAAD,MACsC,KAArCvzF,OAAOu6E,2BACN,oCACE,wBAAIp/E,UAAU,aACZ,uBACE0I,KAAK,gBACL1I,UAAU,YACVyM,QAAS,SAAC6C,GACRA,EAAEqmD,iBACGn3D,SAASsR,eAAe8+C,GAAW93B,SACtCt4B,SAASsR,eAAe8+C,GAAW73B,QAEI,KAArClyB,OAAOu6E,2BACTjsB,GAAW,iBACXkL,IAAkC,IAElCn4D,YAAW,WACT,IACE,IAAI0C,EAAI,EACRA,EAAIpK,SAAS08E,qBAAqB,KAAKryE,OACvCD,IAGEpK,SACG08E,qBAAqB,KACrBtyE,GAAGqrF,UAAUC,SAAS,qBAEzB11F,SACG08E,qBAAqB,KAEpBtyE,GACAwqF,cAAcA,cAAcA,cAAcA,cAAc9T,WAAW+Y,YAAYthE,UAGtF,OAIP,0BAAM/2B,UAAU,aACd,uBAAGA,UAAU,wCAEf,0BAAMA,UAAU,aAAhB,iBAGJ,wBAAIA,UAAU,aACZ,uBACE0I,KAAK,gBACL1I,UAAU,YACVyM,QAAS,SAAC6C,GACRA,EAAEqmD,iBApoBwB,oCAqoB1BmM,GACA21B,GAAgB,GAChBlrC,IAA4B,KAG9B,0BAAMvsD,UAAU,aACd,uBAAGA,UAAU,uCAEf,0BAAMA,UAAU,aAAhB,kBAK8B,KAArC6E,OAAOu6E,2BACN,yBAAKp/E,UAAU,qBAEjB,wBAAIA,UAAU,aACZ,uBACE0I,KAAK,gBACL1I,UAAU,YACVyM,QAAS,SAAC6C,GACRA,EAAEqmD,iBACF8hC,GAAgB,GAChBp5B,IAAkC,KAGpC,0BAAMr+D,UAAU,aACd,uBAAGA,UAAU,qCAEf,0BAAMA,UAAU,cACO,IAApBwH,EAAIs5D,YAAuB,WAAa,aAIzB,IAArBt5D,EAAIqvF,cACH,wBAAI72F,UAAU,aACZ,uBACE0I,KAAK,gBACL1I,UAAU,YACVyM,QAAS,SAAC6C,GACRA,EAAEqmD,iBACF8hC,GAAgB,GAChBU,GAAyB3wF,EAAI5D,IAC7Bq0F,IAAqC,KAGvC,0BAAMj4F,UAAU,aACd,uBAAGA,UAAU,+BAEf,0BAAMA,UAAU,aAAhB,oB,2UCp5GN/B,G,KAAU,IAAIC,IAAa,OAC3BC,EAAKC,IAAIH,GAETq6F,EAAmB,CACvB,oBACA,8BAEA,4CACA,qBACA,8CACA,yCAIEC,EAAmB,CAAC,UACjB,SAASC,EAAT,GAA6C,IAArBC,EAAoB,EAApBA,iBACvBhjE,EAAUsqB,cAEhBjsC,qBAAU,YAIV,WACE,GACEjP,OAAOu0C,SAASq+B,SAAS9nE,SAAS,wCAClC,CACA,IAAI+oF,EAAOl6F,SAASi3F,cAAT,0BACXhgE,EAAQ3sB,KAAK,sCACb4vF,EAAK3hE,SATP4hE,KACC,IAYH,MAAgC3rF,mBAC9BsrF,EAAiBloF,MAAK,SAAC2L,GAAD,OAAOlX,OAAOu0C,SAAS1wC,KAAKiH,SAASoM,MACvDlX,OAAOu0C,SAASq+B,SAChB,UAHN,mBAAOmhB,EAAP,KAAiBl7D,EAAjB,KAKA,EAAwB1wB,mBACtBsrF,EAAiBloF,MAAK,SAAC2L,GAAD,OAAOlX,OAAOu0C,SAAS1wC,KAAKiH,SAASoM,MAA3D,UACQw8E,EADR,CAC0B1zF,OAAOu0C,SAASq+B,WACtC8gB,GAHN,mBAAOrvB,EAAP,KAAa2vB,EAAb,KAMA/kF,qBAAU,WACRjP,OAAOi0F,UAAYR,EAAiBloF,MAAK,SAAC2L,GAAD,OACvClX,OAAOu0C,SAAS1wC,KAAKiH,SAASoM,MAE5BlX,OAAOu0C,SAASq+B,SAChB,SAEJ,IAAIshB,EAAKv6F,SAASsR,eAAe,aAC7BipF,GAAIA,EAAG3hB,aAAa,YAAavyE,OAAOu0C,SAASq+B,YACpD,IAEH5yE,OAAOm0F,YAAcV,EACrBzzF,OAAOo0F,SAAWp0F,OAAOu0C,SAASq+B,SAClC3jE,qBAAU,WACR,IAAI25E,EAAMjvF,SAASi3F,cAAc,0BACjC,GAAIhI,GAAyB,WAAlBA,EAAI7uF,UAAwB,CACrC,IAAIm6F,EAAKv6F,SAASsR,eAAe,aAC7BipF,GAAIA,EAAG3hB,aAAa,YAAavyE,OAAOu0C,SAASq+B,UAGlD6gB,EAAiBloF,MAAK,SAAC2L,GAAD,OAAOlX,OAAOu0C,SAAS1wC,KAAKiH,SAASoM,OAC9Dm9E,EAAY,YAEb,CAACr0F,OAAOu0C,SAAS1wC,OAEpB,IAAM8mD,EAAU7/B,uBAAY,WAC1B,IAAIwpE,EAAat0F,OAAOu0F,WACxB,IACGC,EAAiBF,IAClBt0F,OAAOm0F,YAAYrpF,SAASwpF,GAUxBt0F,OAAOy0F,QAAOH,GAAc,GAAKt0F,OAAOy0F,OAC5CT,GAAQ,SAAChxF,GAAD,4BAAWA,GAAX,CAAcsxF,OACtBD,EAAYC,QACP,GAAIE,EAAiBF,GACtBt0F,OAAOy0F,QAAOH,GAAc,GAAKt0F,OAAOy0F,OAC5CJ,EAAYC,OACP,CACL,IAAIJ,EAAKv6F,SAASsR,eAAe,aAC7BipF,GAAIA,EAAG3hB,aAAa,YAAa+hB,GACrCt0F,OAAOo0F,SAAWE,EAClBD,EAAY,UAGdr0F,OAAOy0F,WAAQxzF,EACfjB,OAAO00F,SAAS,EAAG,KAClB,CAACV,IAMJ,SAASW,EAAiBC,GACxB,IAAK,IAAD,EACElwF,EAAC,UAAGkwF,EAAI1tF,MAAM,uBAAb,aAAG,EAA2BrE,KAAK,KACxC,OAAK6B,GAAUkwF,EAEf,MAAOlvF,KAGX,SAAS8uF,EAAiBI,GAAM,IAAD,EACzB50F,OAAOy0F,QAAOG,GAAO,GAAK50F,OAAOy0F,OAGrC,IAJ6B,EAIzBI,EAASF,EAAgB,UAD7BC,EAAc,gCAARA,EAAwC,aAAeA,SAChC,aAAC,EAAKrxF,MAAM,KAAK+F,OAE1CwrF,EAAWn7F,SAASo0D,iBAAiB,eANZ,cAOf+mC,GAPe,IAO7B,2BAAwB,CACtB,GAAID,IADkB,QACL96F,UAAW,OAAO,GARR,8BAU7B,OAAO,EAGT,SAASs6F,EAAY3lB,GACnB,IAAIwlB,EAAKv6F,SAASsR,eAAe,aACjCjL,OAAOi0F,UAAYvlB,EACnB,IAAIj4D,EAAY,WAARi4D,EAAmBwlB,EAAGa,aAAa,aAAermB,EACrD/xE,OAAOqD,OAAOo0F,UAAUtpF,SAAS,oBACpC9K,OAAO4wB,QAAQokE,eAAU/zF,OAAWA,EAAWwV,GAEjDoiB,EAAY61C,GAGd,IAAMumB,EAAYnqE,uBAChB,SAAC4jD,GACC,IAAIwmB,EAAYv7F,SAASi3F,cAAc,0BACnCuE,EAAax7F,SAASi3F,cAAT,gCAAgDliB,EAAhD,OAGfwmB,EAAUH,aAAa,cACvBI,EAAWJ,aAAa,aAEbI,EAAWC,uBACjBljE,QAGP8hE,GAAQ,SAAChxF,GACP,OAAOA,EAAE0H,QAAO,SAAC1H,GAAD,OAAOA,IAAM0rE,UAGjC,CAACslB,IAQH,OALA/kF,qBAAU,WACRtV,SAASsR,eAAe,cAAc1L,MAAM+iB,QAC7B,WAAbyxE,EAAwB,QAAU,SACnC,CAACA,IAGF,yBAAK54F,UAAU,sBACb,yBAAKA,UAAU,iCACb,yBAAKA,UAAU,gBACb,4BACEI,GAAG,aACH2C,KAAK,SACL/C,UAAW,8BACXyM,QAAS,kBAAM+iD,MAJjB,KAQA,4BACEpvD,GAAG,gBACH2C,KAAK,SACL/C,UAAW,8BACXyM,QAAS,WACPysF,EAAY,YALhB,KAUChwB,EAAKnlE,KAAI,SAACwvE,EAAK3qE,GAAN,OACR,4BACEtB,IAAKsB,EACLxI,GAAY,WAARmzE,GAAoB,YACxB2mB,WAAU3mB,EACVxwE,KAAK,SACL/C,UACE,uDACC44F,IAAarlB,EACV,sDACA,+DAENnvE,MAAO,CACL+1F,WAAYvB,IAAarlB,EAAM,kBAAoB,UACnDz8D,WAAY,OACZ47B,aAAc,qBAEhBjmC,QAAS,kBAAMysF,EAAY3lB,KAElB,gCAARA,EACG,aACAA,EAAI5jE,SAAS,yCACb4jE,EAAInrE,MAAM,KAAKmrE,EAAInrE,MAAM,KAAKS,OAAS,GACvC2wF,EAAgB,OAACjmB,QAAD,IAACA,OAAD,EAACA,EAAKnrE,MAAM,KAAK+F,OAE5B,WAARolE,GACC,uBACEvzE,UACE,8BACC44F,IAAarlB,EAAM,aAAe,gBAErCnvE,MAAO,CAAEqhC,IAAK,OAAQpd,MAAO,SAC7B5b,QAAS,SAAC6C,GACRA,EAAEqmD,iBACFmkC,EAAUvmB,GACVjkE,EAAE8qF,2BAOZj8F,EAAG8L,OAAOC,WAAW2F,KAAKoyD,YAC1B,kBAAC,IAAD,CACEjiE,UAAU,wDACVq6F,WAAS,GAET,kBAAC,IAASl6F,OAAV,CACEH,UAAU,mCACV2zB,QAAQ,cACRvzB,GAAG,sBACHC,GAAIioD,KAEJ,uBAAGtoD,UAAU,2BAEf,kBAAC,IAASQ,KAAV,CAAeR,UAAU,mEACvB,wBAAIA,UAAU,wBAAd,OACGy4F,QADH,IACGA,OADH,EACGA,EAAkB10F,KAAI,SAACC,EAAMC,GAC5B,OACE,wBAAIjE,UAAU,YAAYsH,IAAKrD,GAC7B,kBAAC,IAAD,CACEjE,UAAU,YACVs6F,YAAWt2F,EAAK42D,KAChB7qD,GAAIhP,KAAKC,MAAMgD,EAAKu2F,SAASvoF,IAC7BvF,QAAS,SAAC6C,GACR,IAAI0C,EAAMjR,KAAKC,MAAMgD,EAAKu2F,SAASvoF,IAGnC,GAFAnN,OAAOu0F,WAAapnF,EACpBxT,SAASsR,eAAe,cAAcinB,QAClCyjE,EAAaxoF,GAEf,OADA1C,EAAEqmD,kBACK,IAIX,0BAAM31D,UAAU,0BACbgE,EAAKH,eAW1B,yBAAK7D,UAAU,SAOb,kBAACy6F,EAAD,CACEvxB,KAAMA,EACN0vB,SAAUA,EACV/0F,KAAM,4CACNyc,UAAW,kBAAC,IAAD,QAEb,kBAACm6E,EAAD,CACEvxB,KAAMA,EACN0vB,SAAUA,EACV/0F,KAAM,8BACNyc,UAAW,kBAAC,IAAD,QAEb,kBAACm6E,EAAD,CACEvxB,KAAMA,EACN0vB,SAAUA,EACV/0F,KAAM,oBACNyc,UAAW,kBAAC,IAAD,QAEb,kBAACm6E,EAAD,CACEvxB,KAAMA,EACN0vB,SAAUA,EACV/0F,KAAM,uBACNyc,UAAW,kBAAC,IAAD,QAEb,kBAACm6E,EAAD,CACEvxB,KAAMA,EACN0vB,SAAUA,EACV/0F,KAAM,qBACNyc,UAAW,kBAAC,IAAD,QAEb,kBAACm6E,EAAD,CACEvxB,KAAMA,EACN0vB,SAAUA,EACV/0F,KAAM,8CACNyc,UAAW,kBAAC,IAAD,CAAeolC,GAAI,EAAGC,KAAM,OAI1CujB,EAAK35D,QAAO,SAAC1H,GAAD,OACXA,EAAE8H,SAAS,4CACX5L,KAAI,SAAC8D,GAAD,OACJ,kBAAC4yF,EAAD,CACEnzF,IAAKO,EACLqhE,KAAMA,EACN0vB,SAAUA,EACV/0F,KAAMgE,EACNyY,UAAW,kBAACo6E,EAAD,CAAqB9B,SAAUA,IAC1C+B,MAAM,QAOhB,SAASF,EAAT,GAMI,IALFvxB,EAKC,EALDA,KACA0vB,EAIC,EAJDA,SACA/0F,EAGC,EAHDA,KAGC,IAFDyc,iBAEC,MAFW,qCAEX,MADDq6E,YACC,SACD,EAAgC3tF,oBAAS,GAAzC,mBAAO4tF,EAAP,KAAiBC,EAAjB,KACA,EAAwB7tF,oBAAS,GAAjC,mBAAOiuD,EAAP,KAAa8C,EAAb,KAkBA,OAhBAjqD,qBAAU,WACR,IAAIgnF,GAAS,EACTC,GAAS,EAETJ,GACFG,EAgBN,WAAwC,IAAlB5xB,EAAiB,uDAAV,GAAIrlE,EAAM,uCACjC0F,GAAI,EAIR,OAHA2/D,EAAKhoE,SAAQ,SAACiP,GACRA,EAAQR,SAAS9L,KAAO0F,GAAI,MAE3BA,EArBMyxF,CAAa9xB,EAAMrlE,GAC5Bk3F,EAASnC,EAASjpF,SAAS9L,KAE3Bi3F,EAAS5xB,EAAKv5D,SAAS9L,GACvBk3F,EAASnC,IAAa/0F,GAGxBk6D,EAAQg9B,GACRF,EAAYC,KACX,CAAClC,IAGF,oCAAGgC,GAAY,yBAAK56F,UAAS,WAAMi7D,GAAQ,WAAa36C,IAY5D,SAASo6E,EAAT,GAA4C,IAAb9B,EAAY,EAAZA,SAC7B,EAAoB5rF,qBAApB,mBAAOiuF,EAAP,KAAWC,EAAX,KACA,EAAoBluF,qBAApB,mBAAO64C,EAAP,KAAWs1C,EAAX,KAQA,OAPArnF,qBAAU,WACR,IACE,IAAIvK,EAAIqvF,EAASxwF,MAAM,KAAKwwF,EAASxwF,MAAM,KAAKS,OAAS,GACrDU,GAAG4xF,GAAO5xF,GACd,MAAOgB,OACR,IAGD,6BACGs7C,GACC,oCACGo1C,EACC,kBAAC,IAAD,CAAiBv1C,GAAIu1C,EAAIC,MAAOA,IAEhC,kBAAC,IAAD,CAAkB11C,GAAIK,EAAIq1C,MAAOA,MAQ7C,IAAME,EAAS,CACb,SACA,8BACA,oBACA,4CACA,qBAEA,qBACA,wCAGK,SAASC,IACd,IAAI9xF,GAAI,EAIR,OAHA6xF,EAAOl6F,SAAQ,SAACiP,GACVtL,OAAOi0F,UAAUnpF,SAASQ,KAAU5G,GAAI,MAEvCA,EAGT,IAAMixF,EAAe,SAACxoF,GACpB,QAAInN,OAAOm0F,YAAYrpF,SAASqC,IAK3B,SAAS6wC,EAASvzC,EAAG0C,EAAK5R,GAK/B,GAJAyE,OAAOu0F,WAAapnF,EACpBnN,OAAOy0F,MAAQl5F,EACf5B,SAASsR,eAAe,cAAcinB,QAElCyjE,EAAaxoF,GAEf,OADA1C,EAAEqmD,kBACK,I,+ECxbX,gFAEMhyC,EAAwB,CAC5BH,aAAa,EACbjC,gBAAgB,EAChBqC,WAAY,EACZC,SAAU,KACVC,qBAAiBhe,EACjBie,UAAW,MAEAC,EAAY,CACvBjc,KAAM,OACNuc,OAAQ,UAGGmyE,EAAiBvyE,YAAY,CACxCle,KAAM,YACNme,aAAcR,EACdS,SAAU,CACRC,WAAY,SAAC/E,EAAOgF,GAClBhF,EAAM/U,MAAN,UAAiB+Z,EAAOvhB,KAAxB,aAAiCuhB,EAAOC,QAAQha,OAC5C+Z,EAAOC,QAAQC,WAAaR,EAAUjc,KACxCuX,EAAMkE,aAAc,EAEpBlE,EAAMiC,gBAAiB,GAG3BkD,UAAW,SAACnF,EAAOgF,GACjBhF,EAAM/U,MAAQ,KACV+Z,EAAOC,QAAQC,WAAaR,EAAUjc,KACxCuX,EAAMkE,aAAc,EAEpBlE,EAAMiC,gBAAiB,GAI3BmD,gBAAiB,SAACpF,EAAOgF,GACvBhF,EAAMiC,gBAAiB,EACvBjC,EAAMwE,gBAAkBQ,EAAOC,QAAQT,gBACvCxE,EAAM/U,MAAQ,MAGhBoa,iBAAkB,SAACrF,EAAOgF,GACxB,MAAiCA,EAAOC,QAAhCX,EAAR,EAAQA,WAAYC,EAApB,EAAoBA,SACpBvE,EAAMkE,aAAc,EACpBlE,EAAM/U,MAAQ,KACd+U,EAAMuE,SAAWA,EACjBvE,EAAMsE,WAAaA,GAGrBgB,gBAAiB,SAACtF,EAAOgF,GACvBhF,EAAMiC,gBAAiB,EACvBjC,EAAM/U,MAAQ,KACd+U,EAAMuE,SAAS/a,KAAKwb,EAAOC,QAAQjD,WAGrCuD,gBAAiB,SAACvF,EAAOgF,GACvBhF,EAAM/U,MAAQ,KACd+U,EAAMiC,gBAAiB,EACvBjC,EAAMuE,SAAWvE,EAAMuE,SAAS9f,KAAI,SAAC+gB,GACnC,OAAIA,EAAO1kB,KAAOkkB,EAAOC,QAAQjD,SAASlhB,GACjCkkB,EAAOC,QAAQjD,SAEjBwD,MAIXC,gBAAiB,SAACzF,EAAOgF,GACvBhF,EAAM/U,MAAQ,KACd+U,EAAMiC,gBAAiB,EACvBjC,EAAMuE,SAAWvE,EAAMuE,SAAStU,QAC9B,SAACyV,GAAD,OAAQA,EAAG5kB,KAAOkkB,EAAOC,QAAQnkB,OAIrC6kB,iBAAkB,SAAC3F,EAAOgF,GACxBhF,EAAM/U,MAAQ,KACd+U,EAAMiC,gBAAiB,EACvBjC,EAAMuE,SAAWvE,EAAMuE,SAAStU,QAC9B,SAACyV,GAAD,OAASV,EAAOC,QAAQW,IAAIvV,SAASqV,EAAG5kB,QAI5C+kB,uBAAwB,SAAC7F,EAAOgF,GAC9BhF,EAAMiC,gBAAiB,EACvBjC,EAAM/U,MAAQ,KACd,MAAwB+Z,EAAOC,QAAvBW,EAAR,EAAQA,IAAKnQ,EAAb,EAAaA,OACbuK,EAAMuE,SAAWvE,EAAMuE,SAAS9f,KAAI,SAAC+gB,GAInC,OAHII,EAAIE,WAAU,SAAChlB,GAAD,OAAQA,IAAO0kB,EAAO1kB,OAAO,IAC7C0kB,EAAO/P,OAASA,GAEX+P,U,sGC3Ff,gFAEM0sD,EAAuB,CAC3BhuD,aAAa,EACbjC,gBAAgB,EAChBqC,WAAY,EACZC,SAAU,KACVqU,oBAAgBpyB,EAChBie,UAAW,MAEAC,EAAY,CACvBjc,KAAM,OACNuc,OAAQ,UAGGg3E,EAAgBp3E,YAAY,CACvCle,KAAM,WACNme,aAAcqtD,EACdptD,SAAU,CACRC,WAAY,SAAC/E,EAAOgF,GAClBhF,EAAM/U,MAAN,UAAiB+Z,EAAOvhB,KAAxB,aAAiCuhB,EAAOC,QAAQha,OAC5C+Z,EAAOC,QAAQC,WAAaR,EAAUjc,KACxCuX,EAAMkE,aAAc,EAEpBlE,EAAMiC,gBAAiB,GAG3BkD,UAAW,SAACnF,EAAOgF,GACjBhF,EAAM/U,MAAQ,KACV+Z,EAAOC,QAAQC,WAAaR,EAAUjc,KACxCuX,EAAMkE,aAAc,EAEpBlE,EAAMiC,gBAAiB,GAI3BkwD,eAAgB,SAACnyD,EAAOgF,GACtBhF,EAAMiC,gBAAiB,EACvBjC,EAAM4Y,eAAiB5T,EAAOC,QAAQ2T,eACtC5Y,EAAM/U,MAAQ,MAGhBmnE,gBAAiB,SAACpyD,EAAOgF,GACvB,MAAiCA,EAAOC,QAAhCX,EAAR,EAAQA,WAAYC,EAApB,EAAoBA,SACpBvE,EAAMkE,aAAc,EACpBlE,EAAM/U,MAAQ,KACd+U,EAAMuE,SAAWA,EACjBvE,EAAMsE,WAAaA,GAGrB+tD,eAAgB,SAACryD,EAAOgF,GACtBhF,EAAMiC,gBAAiB,EACvBjC,EAAM/U,MAAQ,KACd+U,EAAMuE,SAAS/a,KAAKwb,EAAOC,QAAQi4B,UAGrCo1B,eAAgB,SAACtyD,EAAOgF,GACtBhF,EAAM/U,MAAQ,KACd+U,EAAMiC,gBAAiB,EACvBjC,EAAMuE,SAAWvE,EAAMuE,SAAS9f,KAAI,SAAA+gB,GAClC,OAAIA,EAAO1kB,KAAOkkB,EAAOC,QAAQi4B,QAAQp8C,GAChCkkB,EAAOC,QAAQi4B,QAEjB13B,MAIX+sD,eAAgB,SAACvyD,EAAOgF,GACtBhF,EAAM/U,MAAQ,KACd+U,EAAMiC,gBAAiB,EACvBjC,EAAMuE,SAAWvE,EAAMuE,SAAStU,QAAO,SAAAyV,GAAE,OAAIA,EAAG5kB,KAAOkkB,EAAOC,QAAQnkB,OAGxE0xE,gBAAiB,SAACxyD,EAAOgF,GACvBhF,EAAM/U,MAAQ,KACd+U,EAAMiC,gBAAiB,EACvBjC,EAAMuE,SAAWvE,EAAMuE,SAAStU,QAC9B,SAAAyV,GAAE,OAAKV,EAAOC,QAAQW,IAAIvV,SAASqV,EAAG5kB,QAI1C2xE,sBAAuB,SAACzyD,EAAOgF,GAC7BhF,EAAMiC,gBAAiB,EACvBjC,EAAM/U,MAAQ,KACd,MAAwB+Z,EAAOC,QAAvBW,EAAR,EAAQA,IAAKnQ,EAAb,EAAaA,OACbuK,EAAMuE,SAAWvE,EAAMuE,SAAS9f,KAAI,SAAA+gB,GAIlC,OAHII,EAAIE,WAAU,SAAAhlB,GAAE,OAAIA,IAAO0kB,EAAO1kB,OAAO,IAC3C0kB,EAAO/P,OAASA,GAEX+P,U,2SCnFF0J,EAAgB,CAC3Bjf,OAAQ,CACNtQ,KAAM,IAER4vB,UAAW,MACXC,UAAW,KACXC,WAAY,EACZC,SAAU,G,oECFZ,IAAMusE,EAAmBrsE,0BAElB,SAASm9B,IACd,OAAOj9B,qBAAWmsE,GAGaA,EAAiBlsE,SAE3C,SAASmsE,EAAT,GAA8D,IAA/BC,EAA8B,EAA9BA,iBAAkB/yE,EAAY,EAAZA,SACtD,EAAkC1b,mBAASyuF,GAA3C,mBAAOvuC,EAAP,KAAkBwuC,EAAlB,KACA,EAA0C1uF,mBAASwhB,GAAnD,mBAAOlJ,EAAP,KAAoBkK,EAApB,KACA,EAAsBxiB,mBAAS,IAA/B,mBAAOkY,EAAP,KAAYuK,EAAZ,KACMC,EAAiBC,uBAAY,SAACC,GAClCJ,GAAmB,SAACK,GAKlB,OAJIC,qBAAWF,KACbA,EAAkBA,EAAgBC,IAGhCE,kBAAQF,EAAiBD,GACpBC,EAGFD,OAER,IACH,EAAoC5iB,mBAAS,MAA7C,mBAAO8iD,EAAP,KAAmB6rC,EAAnB,KACA,EAAwD3uF,oBAAS,GAAjE,mBAAOyjD,EAAP,KAA6BmrC,EAA7B,KACMjrC,EAAa,CACjBvwD,QAAI0F,EACJ0X,cAAe,GACfC,IAAK,GACLO,SAAU,MACVF,WAAY,MACZJ,OAAQ,EACRE,UAAW,EACXC,OAAQ,EACRE,KAAM,EACNqxC,qBAAqB,EACrB9wC,OAAO,EACPu9E,SAAU,GACVC,eAAgB,KAChBC,YAAa,KACbC,iBAAkB,GAClBC,uBAAwB,GACxBC,QAAS,GACTC,UAAW,IAEbroF,qBAAU,WACR68C,EAAWzD,UAAYuuC,EACvB9qC,EAAWyrC,MAAQX,EACnBC,EAAaD,KAEZ,CAACA,IACJ,IAYA,EAA4DzuF,oBAAS,GAArE,mBAAO+iD,EAAP,KAA+BssC,EAA/B,KAUA,EAA8DrvF,oBAAS,GAAvE,mBAAO2iD,EAAP,KAAgC2sC,EAAhC,KAQA,EAA4DtvF,oBAAS,GAArE,mBAAOojD,EAAP,KAA+BmsC,EAA/B,KAQMp9F,EAAQ,CACZ+lB,MACAuK,SACAy9B,YACAwuC,eACAp2E,cACAoK,iBACAihC,aACAb,aACAW,uBACAhE,oBAhD0B,WAC1BkvC,OAAc71F,GACd81F,GAAwB,IA+CxB5tC,qBA7C2B,SAAC5tD,GAC5Bu7F,EAAcv7F,GACdw7F,GAAwB,IA4CxBlrC,sBA1C4B,WAC5BirC,OAAc71F,GACd81F,GAAwB,IAyCxB7rC,yBACA9B,uBAvC6B,SAAC7tD,GAC9Bu7F,EAAcv7F,GACdi8F,GAA0B,IAsC1BrsC,wBApC8B,WAC9B2rC,OAAc71F,GACdu2F,GAA0B,IAmC1B1sC,0BACA6sC,wBAhC8B,WAC9BF,GAA2B,IAgC3B1sC,yBA9B+B,WAC/B0sC,GAA2B,IA8B3BG,uBA1B6B,WAC7BF,GAA0B,IA0B1BlsC,wBAxB8B,WAC9BksC,GAA0B,IAwB1BnsC,0BAGF,OACE,kBAACmrC,EAAiB3qE,SAAlB,CAA2BzxB,MAAOA,GAC/BupB,K,gGChIP,gFAEM2gE,EAAsB,CAC1B7lE,aAAa,EACbjC,gBAAgB,EAChBqC,WAAY,EACZC,SAAU,KACV2pC,mBAAe1nD,EACfie,UAAW,MAEAC,EAAY,CACvBjc,KAAM,OACNuc,OAAQ,UAGGo4E,EAAex4E,YAAY,CACtCle,KAAM,UACNme,aAAcklE,EACdjlE,SAAU,CACRC,WAAY,SAAC/E,EAAOgF,GAClBhF,EAAM/U,MAAN,UAAiB+Z,EAAOvhB,KAAxB,aAAiCuhB,EAAOC,QAAQha,OAC5C+Z,EAAOC,QAAQC,WAAaR,EAAUjc,KACxCuX,EAAMkE,aAAc,EAEpBlE,EAAMiC,gBAAiB,GAG3BkD,UAAW,SAACnF,EAAOgF,GACjBhF,EAAM/U,MAAQ,KACV+Z,EAAOC,QAAQC,WAAaR,EAAUjc,KACxCuX,EAAMkE,aAAc,EAEpBlE,EAAMiC,gBAAiB,GAI3BgsC,cAAe,SAACjuC,EAAOgF,GACrBhF,EAAMiC,gBAAiB,EACvBjC,EAAMkuC,cAAgBlpC,EAAOC,QAAQipC,cACrCluC,EAAM/U,MAAQ,MAGhB4iD,eAAgB,SAAC7tC,EAAOgF,GACtB,MAAiCA,EAAOC,QAAhCX,EAAR,EAAQA,WAAYC,EAApB,EAAoBA,SACpBvE,EAAMkE,aAAc,EACpBlE,EAAM/U,MAAQ,KACd+U,EAAMuE,SAAWA,EACjBvE,EAAMsE,WAAaA,GAGrBiqC,cAAe,SAACvuC,EAAOgF,GACrBhF,EAAMiC,gBAAiB,EACvBjC,EAAM/U,MAAQ,KACd+U,EAAMuE,SAAS/a,KAAKwb,EAAOC,QAAQ+oC,SAGrCS,cAAe,SAACzuC,EAAOgF,GACrBhF,EAAM/U,MAAQ,KACd+U,EAAMiC,gBAAiB,EACvBjC,EAAMuE,SAAWvE,EAAMuE,SAAS9f,KAAI,SAAA+gB,GAClC,OAAIA,EAAO1kB,KAAOkkB,EAAOC,QAAQ+oC,OAAOltD,GAC/BkkB,EAAOC,QAAQ+oC,OAEjBxoC,MAIX4oC,cAAe,SAACpuC,EAAOgF,GACrBhF,EAAM/U,MAAQ,KACd+U,EAAMiC,gBAAiB,EACvBjC,EAAMuE,SAAWvE,EAAMuE,SAAStU,QAAO,SAAAyV,GAAE,OAAIA,EAAG5kB,KAAOkkB,EAAOC,QAAQnkB,OAGxEkpF,eAAgB,SAAChqE,EAAOgF,GACtBhF,EAAM/U,MAAQ,KACd+U,EAAMiC,gBAAiB,EACvBjC,EAAMuE,SAAWvE,EAAMuE,SAAStU,QAC9B,SAAAyV,GAAE,OAAKV,EAAOC,QAAQW,IAAIvV,SAASqV,EAAG5kB,QAI1CmpF,qBAAsB,SAACjqE,EAAOgF,GAC5BhF,EAAMiC,gBAAiB,EACvBjC,EAAM/U,MAAQ,KACd,MAAwB+Z,EAAOC,QAAvBW,EAAR,EAAQA,IAAKnQ,EAAb,EAAaA,OACbuK,EAAMuE,SAAWvE,EAAMuE,SAAS9f,KAAI,SAAA+gB,GAIlC,OAHII,EAAIE,WAAU,SAAAhlB,GAAE,OAAIA,IAAO0kB,EAAO1kB,OAAO,IAC3C0kB,EAAO/P,OAASA,GAEX+P,U,iCCzFf,gFAEMukE,EAAsB,CAC1B7lE,aAAa,EACbjC,gBAAgB,EAChBqC,WAAY,EACZC,SAAU,KACV2pC,mBAAe1nD,EACfie,UAAW,MAEAC,EAAY,CACvBjc,KAAM,OACNuc,OAAQ,UAGG0oC,EAAkB9oC,YAAY,CACzCle,KAAM,YACNme,aAAcklE,EACdjlE,SAAU,CACRC,WAAY,SAAC/E,EAAOgF,GAClBhF,EAAM/U,MAAN,UAAiB+Z,EAAOvhB,KAAxB,aAAiCuhB,EAAOC,QAAQha,OAC5C+Z,EAAOC,QAAQC,WAAaR,EAAUjc,KACxCuX,EAAMkE,aAAc,EAEpBlE,EAAMiC,gBAAiB,GAG3BkD,UAAW,SAACnF,EAAOgF,GACjBhF,EAAM/U,MAAQ,KACV+Z,EAAOC,QAAQC,WAAaR,EAAUjc,KACxCuX,EAAMkE,aAAc,EAEpBlE,EAAMiC,gBAAiB,GAI3BgsC,cAAe,SAACjuC,EAAOgF,GACrBhF,EAAMiC,gBAAiB,EACvBjC,EAAMkuC,cAAgBlpC,EAAOC,QAAQipC,cACrCluC,EAAM/U,MAAQ,MAGhB4iD,eAAgB,SAAC7tC,EAAOgF,GACtB,MAAiCA,EAAOC,QAAhCX,EAAR,EAAQA,WAAYC,EAApB,EAAoBA,SACpBvE,EAAMkE,aAAc,EACpBlE,EAAM/U,MAAQ,KACd+U,EAAMuE,SAAWA,EACjBvE,EAAMsE,WAAaA,GAGrBiqC,cAAe,SAACvuC,EAAOgF,GACrBhF,EAAMiC,gBAAiB,EACvBjC,EAAM/U,MAAQ,KACd+U,EAAMuE,SAAS/a,KAAKwb,EAAOC,QAAQ+oC,SAGrCS,cAAe,SAACzuC,EAAOgF,GACrBhF,EAAM/U,MAAQ,KACd+U,EAAMiC,gBAAiB,EACvBjC,EAAMuE,SAAWvE,EAAMuE,SAAS9f,KAAI,SAAA+gB,GAClC,OAAIA,EAAO1kB,KAAOkkB,EAAOC,QAAQ+oC,OAAOltD,GAC/BkkB,EAAOC,QAAQ+oC,OAEjBxoC,MAIX4oC,cAAe,SAACpuC,EAAOgF,GACrBhF,EAAM/U,MAAQ,KACd+U,EAAMiC,gBAAiB,EACvBjC,EAAMuE,SAAWvE,EAAMuE,SAAStU,QAAO,SAAAyV,GAAE,OAAIA,EAAG5kB,KAAOkkB,EAAOC,QAAQnkB,OAGxEkpF,eAAgB,SAAChqE,EAAOgF,GACtBhF,EAAM/U,MAAQ,KACd+U,EAAMiC,gBAAiB,EACvBjC,EAAMuE,SAAWvE,EAAMuE,SAAStU,QAC9B,SAAAyV,GAAE,OAAKV,EAAOC,QAAQW,IAAIvV,SAASqV,EAAG5kB,QAI1CmpF,qBAAsB,SAACjqE,EAAOgF,GAC5BhF,EAAMiC,gBAAiB,EACvBjC,EAAM/U,MAAQ,KACd,MAAwB+Z,EAAOC,QAAvBW,EAAR,EAAQA,IAAKnQ,EAAb,EAAaA,OACbuK,EAAMuE,SAAWvE,EAAMuE,SAAS9f,KAAI,SAAA+gB,GAIlC,OAHII,EAAIE,WAAU,SAAAhlB,GAAE,OAAIA,IAAO0kB,EAAO1kB,OAAO,IAC3C0kB,EAAO/P,OAASA,GAEX+P,U,oUCvFA,GACb,CACE1kB,GAAI,EACJu8F,SAAU,QACVC,SAAU,eACVjuE,MAAO,oBACPkuE,YAAa,gDACbC,aAAc,gDACdC,MAAO,CAAC,GACRC,IAAKv0F,YAAc,2BACnBw0F,SAAU,OACVC,WAAY,MACZC,YAAa,aACbC,MAAO,eACPC,QAAS,CACPC,YAAa,8BACbC,KAAM,gBACNj+E,MAAO,aACPk+E,SAAU,SAEZC,eAAgB,CACdC,SAAU,6BACVC,SAAU,6BACVC,QAAS,4BACTC,UAAW,gCAGf,CACEz9F,GAAI,EACJu8F,SAAU,OACVC,SAAU,OACVjuE,MAAO,gBACPkuE,YAAa,iDACbC,aAAc,gDACdC,MAAO,CAAC,GACRC,IAAKv0F,YAAc,0BACnBw0F,SAAU,QACVC,WAAY,+CACZC,YAAa,aACbC,MAAO,eACPC,QAAS,CACPC,YAAa,oBACbC,KAAM,aACNj+E,MAAO,iBACPk+E,SAAU,SAEZC,eAAgB,CACdC,SAAU,4BACVC,SAAU,4BACVC,QAAS,2BACTC,UAAW,+BAGf,CACEz9F,GAAI,EACJu8F,SAAU,QACVC,SAAU,OACVjuE,MAAO,iBACPkuE,YAAa,gDACbC,aAAc,gDACdC,MAAO,CAAC,GACRC,IAAKv0F,YAAc,4BACnBw0F,SAAU,mBACVC,WAAY,MACZC,YAAa,aACbC,MAAO,eACPC,QAAS,CACPC,YAAa,uBACbC,KAAM,UACNj+E,MAAO,UACPk+E,SAAU,SAEZC,eAAgB,CACdC,SAAU,6BACVC,SAAU,6BACVC,QAAS,4BACTC,UAAW,iC,20MCrEjB,IAAM5/F,EAAU,IAAIC,IAAa,MAC3BC,EAAKC,IAAIH,GCVA,OACX,CACImC,GAAI,EACJ09F,SAAU,aACVC,SAAU,MACVC,OAAQ,kB,gBCLKC,E,0FASnB,SAAWC,EAAWC,GAAuC,IAAzBC,EAAwB,uDAAJ,GAElDC,EAAiBt/E,KAAKu/E,cACxBJ,EACAC,EAAa5uF,OACb6uF,GAKED,EAAarvE,YACfuvE,EAAiBt/E,KAAKw/E,UACpBF,EACAF,EAAarvE,UACbqvE,EAAatvE,YAOjB,IAAME,EAAaovE,EAAapvE,WAAa,EACvCnL,EAAay6E,EAAex1F,OAC5B21F,EAAazvE,EAAaovE,EAAanvE,SAOvCyvE,EAAe,CACnB56E,SAPFw6E,EAAiBA,EAAe58F,MAC9B+8F,EACAA,EAAaL,EAAanvE,UAM1BpL,WAAYA,EACZ86E,aAAc,IAEhB,OAAOD,I,uBAST,SAAUE,GAAsD,IAAtCC,EAAqC,uDAAxB,GAAIC,EAAoB,uDAAP,MACtD,IAAKD,EACH,OAAOD,EAeT,OAXSA,EAAejyF,MAAK,SAACnD,EAAGtE,GAC/B,OAAIsE,EAAEq1F,GAAc35F,EAAE25F,GACE,QAAfC,GAAwB,EAAI,EAGjCt1F,EAAEq1F,GAAc35F,EAAE25F,GACE,QAAfC,EAAuB,GAAK,EAG9B,O,2BAYX,SAAcF,EAAgBG,GAAoC,IAAzBV,EAAwB,uDAAJ,GACrDjvF,EAAS,GACX4vF,EAAe,GACbC,EAAU,GACZC,EAAe,GACfC,GAAW,EA+Cf,OA7CAd,EAAkBl9F,SAAQ,SAAC8C,GACrBA,KAAQ86F,IACVH,EAAez9F,SAAQ,SAACiP,EAASlM,GAC3BkM,EAAQnM,KAAU86F,EAAU96F,IAC9Bi7F,EAAan2F,KAAK7E,MAGtBg7F,EAAa/9F,SAAQ,SAACiP,GACpB4uF,EAAaj2F,KAAK61F,EAAexuF,OAEnCwuF,EAAiBI,EAAat9F,MAAM,GACpCs9F,EAAe,GAAGt9F,MAAM,GACxBw9F,EAAe,GAAGx9F,MAAM,OAI5BL,OAAOC,KAAKy9F,GAAW59F,SAAQ,SAACoG,GAC9B,IAAMorB,EAAaosE,EAAUx3F,GAC1Bd,WACAkJ,OACAR,cACH,GAAI5H,IAAQ82F,EAAkBhuF,MAAK,SAACd,GAAD,OAAOA,IAAMhI,MAAQorB,EAAY,CAClEwsE,GAAW,EACX,IACEP,EAAez9F,SAAQ,SAACiP,EAASlM,IACX,GAAhBkM,EAAQ7I,KAAe6I,EAAQ7I,GAAO,SACtC6I,EAAQ7I,IAA0B,IAAjB6I,EAAQ7I,IAA6B,MAAforB,KAC5BviB,EAAQ7I,GAClBd,WACAkJ,OACAR,cAEI0G,QAAQ8c,IAAe,IACA,IAA5BssE,EAAQppF,QAAQ3R,IAEhB+6F,EAAQl2F,KAAK7E,OAInB,MAAOk7F,GACP/7F,QAAQC,IAAI87F,EAAI73F,EAAKorB,QAKtBwsE,GAILF,EAAQ99F,SAAQ,SAACk4B,GACfjqB,EAAOrG,KAAK61F,EAAevlE,OAGtBjqB,GAPEwvF,M,KClIE,SAASS,EAAsBC,GAC5CA,EAAKC,OAAO,yBAAyBC,OAAM,YAAe,IAAZh9F,EAAW,EAAXA,KACpC+e,EAAavgB,KAAKC,MAAMuB,GAAxB+e,SACR,EAIIA,EAHAw8E,gBADJ,MACe,GADf,IAIIx8E,EAFAy8E,gBAFJ,MAEe,GAFf,IAIIz8E,EADA08E,cAHJ,MAGa,GAHb,EAOMwB,EAAc,CAClBp/F,GA0EN,WACE,IAAM8kB,EAAMu6E,EAAkB17F,KAAI,SAAAihB,GAAE,OAAIA,EAAG5kB,MAE3C,OADc2K,KAAKgrB,IAAL,MAAAhrB,KAAI,YAAQma,IACX,EA/EFw6E,GAGT5B,WACAC,WACAC,UAGF,OADAyB,EAAkB32F,KAAK02F,GAChB,CAAC,IAAK,CAAEl+E,SAAUk+E,OAG3BH,EAAKC,OAAO,8BAA8BC,OAAM,SAAAj0C,GAC9C,IAAMq0C,EAAY,IAAI1B,EACd34E,EAAgBvkB,KAAKC,MAAMsqD,EAAO/oD,MAAlC+iB,YAKR,MAAO,CAAC,IAJiBq6E,EAAUC,WACjCH,EACAn6E,OAKJ+5E,EAAKC,OAAO,yCAAyCC,OAAM,SAAAj0C,GAQzD,OAPgBvqD,KAAKC,MAAMsqD,EAAO/oD,MAA1B2iB,IACJhkB,SAAQ,SAAAd,GACV,IAAM6D,EAAQw7F,EAAkBr6E,WAAU,SAAAJ,GAAE,OAAIA,EAAG5kB,KAAOA,KACtD6D,GAAS,GACXw7F,EAAkBx6D,OAAOhhC,EAAO,MAG7B,CAAC,QAGVo7F,EAAKC,OAAO,kDAAkDC,OAAM,SAAAj0C,GAClE,MAAwBvqD,KAAKC,MAAMsqD,EAAO/oD,MAAlC2iB,EAAR,EAAQA,IAAKnQ,EAAb,EAAaA,OAMb,OALA0qF,EAAkBv+F,SAAQ,SAAA8jB,GACpBE,EAAIE,WAAU,SAAAhlB,GAAE,OAAIA,IAAO4kB,EAAG5kB,OAAO,IACvC4kB,EAAGjQ,OAASA,MAGT,CAAC,QAGVsqF,EAAKQ,MAAM,+BAA+BN,OAAM,SAAAj0C,GAC9C,IAAMlrD,EAAKkrD,EAAOt5C,IAAIjG,MAAM,yBAAyB,GAC/CuV,EAAWm+E,EAAkBt8E,MAAK,SAAA6B,GAAE,OAAIA,EAAG5kB,MAAQA,KACzD,OAAKkhB,EAIE,CAAC,IAAKA,GAHJ,CAAC,QAMZ+9E,EAAKS,MAAM,+BAA+BP,OAAM,SAAAj0C,GAC9C,IAAMlrD,EAAKkrD,EAAOt5C,IAAIjG,MAAM,yBAAyB,GAC7CuV,EAAavgB,KAAKC,MAAMsqD,EAAO/oD,MAA/B+e,SACFrd,EAAQw7F,EAAkBr6E,WAAU,SAAAJ,GAAE,OAAIA,EAAG5kB,MAAQA,KAC3D,OAAK6D,GAILw7F,EAAkBx7F,GAAlB,eAAgCqd,GACzB,CAAC,MAJC,CAAC,QAOZ+9E,EAAK31E,SAAS,+BAA+B61E,OAAM,SAAAj0C,GACjD,IAAMlrD,EAAKkrD,EAAOt5C,IAAIjG,MAAM,yBAAyB,GAC/C9H,EAAQw7F,EAAkBr6E,WAAU,SAAAJ,GAAE,OAAIA,EAAG5kB,MAAQA,KAE3D,OADAq/F,EAAkBx6D,OAAOhhC,EAAO,IAChB,KAAXA,EACI,CAAC,KAGH,CAAC,QCpFG,OACX,CACI7D,GAAI,EACJ2/F,aAAc,aACdC,SAAU,QCDH,SAASC,EAA8BZ,GACpDA,EAAKC,OAAO,iCAAiCC,OAAM,YAAe,IAAZh9F,EAAW,EAAXA,KAC5C+e,EAAavgB,KAAKC,MAAMuB,GAAxB+e,SACR,EAGIA,EAFAy+E,oBADJ,MACmB,GADnB,IAGIz+E,EADA0+E,gBAFJ,MAEe,GAFf,EAMMR,EAAc,CAClBp/F,GAyEN,WACE,IAAM8kB,EAAMu6E,EAAkB17F,KAAI,SAAAihB,GAAE,OAAIA,EAAG5kB,MAE3C,OADc2K,KAAKgrB,IAAL,MAAAhrB,KAAI,YAAQma,IACX,EA9EFw6E,GAGTK,eACAC,YAGF,OADAP,EAAkB32F,KAAK02F,GAChB,CAAC,IAAK,CAAEl+E,SAAUk+E,OAG3BH,EAAKC,OAAO,sCAAsCC,OAAM,SAAAj0C,GACtD,IAAMq0C,EAAY,IAAI1B,EACd34E,EAAgBvkB,KAAKC,MAAMsqD,EAAO/oD,MAAlC+iB,YAKR,MAAO,CAAC,IAJiBq6E,EAAUC,WACjCH,EACAn6E,OAKJ+5E,EAAKC,OAAO,iDAAiDC,OAAM,SAAAj0C,GAQjE,OAPgBvqD,KAAKC,MAAMsqD,EAAO/oD,MAA1B2iB,IACJhkB,SAAQ,SAAAd,GACV,IAAM6D,EAAQw7F,EAAkBr6E,WAAU,SAAAJ,GAAE,OAAIA,EAAG5kB,KAAOA,KACtD6D,GAAS,GACXw7F,EAAkBx6D,OAAOhhC,EAAO,MAG7B,CAAC,QAGVo7F,EAAKC,OAAO,0DAA0DC,OAAM,SAAAj0C,GAC1E,MAAwBvqD,KAAKC,MAAMsqD,EAAO/oD,MAAlC2iB,EAAR,EAAQA,IAAKnQ,EAAb,EAAaA,OAMb,OALA0qF,EAAkBv+F,SAAQ,SAAA8jB,GACpBE,EAAIE,WAAU,SAAAhlB,GAAE,OAAIA,IAAO4kB,EAAG5kB,OAAO,IACvC4kB,EAAGjQ,OAASA,MAGT,CAAC,QAGVsqF,EAAKQ,MAAM,uCAAuCN,OAAM,SAAAj0C,GACtD,IAAMlrD,EAAKkrD,EAAOt5C,IAAIjG,MAAM,yBAAyB,GAC/CuV,EAAWm+E,EAAkBt8E,MAAK,SAAA6B,GAAE,OAAIA,EAAG5kB,MAAQA,KACzD,OAAKkhB,EAIE,CAAC,IAAKA,GAHJ,CAAC,QAMZ+9E,EAAKS,MAAM,uCAAuCP,OAAM,SAAAj0C,GACtD,IAAMlrD,EAAKkrD,EAAOt5C,IAAIjG,MAAM,yBAAyB,GAC7CuV,EAAavgB,KAAKC,MAAMsqD,EAAO/oD,MAA/B+e,SACFrd,EAAQw7F,EAAkBr6E,WAAU,SAAAJ,GAAE,OAAIA,EAAG5kB,MAAQA,KAC3D,OAAK6D,GAILw7F,EAAkBx7F,GAAlB,eAAgCqd,GACzB,CAAC,MAJC,CAAC,QAOZ+9E,EAAK31E,SAAS,uCAAuC61E,OAAM,SAAAj0C,GACzD,IAAMlrD,EAAKkrD,EAAOt5C,IAAIjG,MAAM,yBAAyB,GAC/C9H,EAAQw7F,EAAkBr6E,WAAU,SAAAJ,GAAE,OAAIA,EAAG5kB,MAAQA,KAE3D,OADAq/F,EAAkBx6D,OAAOhhC,EAAO,IAChB,KAAXA,EACI,CAAC,KAGH,CAAC,QClFG,OACX,CACIkV,UAAW,GACX+/B,UAAW,GACXgnD,UAAW,GACXC,UAAW,GACXC,OAAS,KCHF,SAASC,EAA4BhB,GAClDA,EAAKC,OAAO,+BAA+BC,OAAM,YAAe,IAAZh9F,EAAW,EAAXA,KAC1C+e,EAAavgB,KAAKC,MAAMuB,GAAxB+e,SACR,EAMIA,EALFnI,iBADF,MACa,GADb,IAMImI,EAJF43B,iBAFF,MAEa,GAFb,IAMI53B,EAHF4+E,iBAHF,MAGa,GAHb,IAMI5+E,EAFF6+E,iBAJF,MAIa,GAJb,IAMI7+E,EADF8+E,cALF,MAKW,GALX,EASMZ,EAAc,CAClBp/F,GA4EN,WACE,IAAM8kB,EAAMu6E,EAAkB17F,KAAI,SAAAihB,GAAE,OAAIA,EAAG5kB,MAE3C,OADc2K,KAAKgrB,IAAL,MAAAhrB,KAAI,YAAQma,IACX,EAjFFw6E,GAGTvmF,YACA+/B,YACAgnD,YACAC,YACAC,UAGF,OADAX,EAAkB32F,KAAK02F,GAChB,CAAC,IAAK,CAAEl+E,SAAUk+E,OAG3BH,EAAKC,OAAO,oCAAoCC,OAAM,SAAAj0C,GACpD,IAAMq0C,EAAY,IAAI1B,EACd34E,EAAgBvkB,KAAKC,MAAMsqD,EAAO/oD,MAAlC+iB,YAKR,MAAO,CAAC,IAJiBq6E,EAAUC,WACjCH,EACAn6E,OAKJ+5E,EAAKC,OAAO,+CAA+CC,OAAM,SAAAj0C,GAQ/D,OAPgBvqD,KAAKC,MAAMsqD,EAAO/oD,MAA1B2iB,IACJhkB,SAAQ,SAAAd,GACV,IAAM6D,EAAQw7F,EAAkBr6E,WAAU,SAAAJ,GAAE,OAAIA,EAAG5kB,KAAOA,KACtD6D,GAAS,GACXw7F,EAAkBx6D,OAAOhhC,EAAO,MAG7B,CAAC,QAGVo7F,EAAKC,OAAO,wDAAwDC,OAAM,SAAAj0C,GACxE,MAAwBvqD,KAAKC,MAAMsqD,EAAO/oD,MAAlC2iB,EAAR,EAAQA,IAAKnQ,EAAb,EAAaA,OAMb,OALA0qF,EAAkBv+F,SAAQ,SAAA8jB,GACpBE,EAAIE,WAAU,SAAAhlB,GAAE,OAAIA,IAAO4kB,EAAG5kB,OAAO,IACvC4kB,EAAGjQ,OAASA,MAGT,CAAC,QAGVsqF,EAAKQ,MAAM,qCAAqCN,OAAM,SAAAj0C,GACpD,IAAMlrD,EAAKkrD,EAAOt5C,IAAIjG,MAAM,yBAAyB,GAC/CuV,EAAWm+E,EAAkBt8E,MAAK,SAAA6B,GAAE,OAAIA,EAAG5kB,MAAQA,KACzD,OAAKkhB,EAIE,CAAC,IAAKA,GAHJ,CAAC,QAMZ+9E,EAAKS,MAAM,qCAAqCP,OAAM,SAAAj0C,GACpD,IAAMlrD,EAAKkrD,EAAOt5C,IAAIjG,MAAM,yBAAyB,GAC7CuV,EAAavgB,KAAKC,MAAMsqD,EAAO/oD,MAA/B+e,SACFrd,EAAQw7F,EAAkBr6E,WAAU,SAAAJ,GAAE,OAAIA,EAAG5kB,MAAQA,KAC3D,OAAK6D,GAILw7F,EAAkBx7F,GAAlB,eAAgCqd,GACzB,CAAC,MAJC,CAAC,QAOZ+9E,EAAK31E,SAAS,qCAAqC61E,OAAM,SAAAj0C,GACvD,IAAMlrD,EAAKkrD,EAAOt5C,IAAIjG,MAAM,yBAAyB,GAC/C9H,EAAQw7F,EAAkBr6E,WAAU,SAAAJ,GAAE,OAAIA,EAAG5kB,MAAQA,KAE3D,OADAq/F,EAAkBx6D,OAAOhhC,EAAO,IAChB,KAAXA,EACI,CAAC,KAGH,CAAC,Q,ICrFRw7F,E,gzMAgRJ,SAASC,IACP,IAAMx6E,EAAMu6E,EAAkB17F,KAAI,SAAAihB,GAAE,OAAIA,EAAG5kB,MAE3C,OADc2K,KAAKgrB,IAAL,MAAAhrB,KAAI,YAAQma,IACX,EAGjB,SAASo7E,EAASv4F,GAChB,IAAK,IAAI/D,KAAQ+D,EACfA,EAAK/D,GAAM5D,GAAK2H,EAAK/D,GAAMJ,UACpBmE,EAAK/D,GAAMJ,GAEpB,OAAOmE,E,yyMC1RT,IAAM9J,EAAU,IAAIC,IAAa,MAC3BC,EAAKC,IAAIH,GACXwhG,EAAoB,G,4CAET,WAAyBJ,GAAzB,IACJjrD,EAYMsvB,EAbF,EAmDElvB,EAnDF,EA0EED,EA1EF,EAiGEgsD,EAjGF,+GAiGb,WAA2BngG,GAA3B,iFACeiU,MAAMxP,OAAOyP,QAAU,6BAA+BlU,EAAI,CACrEmU,OAAQ,SACRC,iBAAiB,EACjBC,QAAS,CACPiL,OAAQ,oCACRhL,cAAc,UAAD,OAAYvW,EAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,sBAGjBC,KAVU,uCAUL,WAAOC,GAAP,0FACGA,GADH,2CAVK,uDAaVD,MAAK,SAACM,GACL,OAAOk/B,EAAcl/B,MAEtBC,OAAM,SAACtV,GACN,OAAOu0C,EAAcv0C,MAlB3B,oFAjGa,uBAiGE0gG,EAjGF,wFA0Eb,WAAwBjsD,GAAxB,0FACSjgC,MAAMxP,OAAOyP,QAAU,gCAAiC,CAC7DC,OAAQ,MACRC,iBAAiB,EACjBC,QAAS,CACPiL,OAAQ,oCACRhL,cAAc,UAAD,OAAYvW,EAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,oBAElBvV,KAAM2B,KAAKE,UAAUqzC,EAAQ,YAE5B1/B,KAXI,uCAWC,WAAOC,GAAP,iFACSA,EADT,mFAXD,uDAcJD,MAAK,SAACM,GACL,OAAOk/B,EAAcl/B,MAEtBC,OAAM,SAACtV,GACN,OAAOu0C,EAAcv0C,OAnB3B,4CA1Ea,uBA0EE00C,EA1EF,wFAmDb,WAAyBD,GAAzB,0FACSjgC,MAAMxP,OAAOyP,QAAU,iBAAkB,CAC9CC,OAAQ,OACRC,iBAAiB,EACjBC,QAAS,CACPiL,OAAQ,oCACRhL,cAAc,UAAD,OAAYvW,EAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,oBAElBvV,KAAM2B,KAAKE,UAAUqzC,KAEpB1/B,KAXI,uCAWC,WAAOC,GAAP,iFACSA,EADT,mFAXD,uDAcJD,MAAK,SAACM,GACL,OAAOk/B,EAAcl/B,MAEtBC,OAAM,SAACtV,GACN,OAAOu0C,EAAcv0C,OAnB3B,4CAnDa,uBAmDE20C,EAnDF,wFAab,kGAA0BzlB,EAA1B,EAA0BA,WAAYC,EAAtC,EAAsCA,SAAUzf,EAAhD,EAAgDA,OAAhD,SACe8E,MAAM,GAAD,OAEdxP,OAAOyP,QAFO,sCAGcya,EAHd,qBAGqCC,EAHrC,+BAIdzf,QAJc,IAIdA,OAJc,EAIdA,EAAQixF,WAJM,iCAKEjxF,QALF,IAKEA,OALF,EAKEA,EAAQkjD,cALV,8BAMdljD,QANc,IAMdA,OANc,EAMdA,EAAQ+d,WANM,oCAOL/d,QAPK,IAOLA,OAPK,EAOLA,EAAQyzC,cAPH,QAOa,IAC7B,CACEzuC,OAAQ,MACRC,iBAAiB,EACjBC,QAAS,CACPC,cAAc,UAAD,OAAYvW,EAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,sBAInBC,KAlBU,uCAkBL,WAAOC,GAAP,yFACqBA,EAASE,OAD9B,cACED,EADF,gBAEeD,EAAS1N,OAFxB,cAEE5E,EAFF,yBAGGyS,QAAQC,IAAI,CAACH,EAAYvS,KAH5B,2CAlBK,uDAuBVqS,MAAK,SAACM,GACL,OAAe,MAAXA,EAAI,IACNA,EAAI,GAAGwnD,QAAU4jC,EAASprF,EAAI,GAAGwnD,SAC1BxnD,EAAI,KAEXtV,YAAa,QAAD,oBAAUsV,EAAI,UAAd,aAAU,EAAQW,eAAlB,QAA6B,IAClC,IAFD,IAAD,OAKRV,OAAM,SAAC5K,GACNnH,QAAQmH,MAAMA,MAlCpB,oFAba,uBAaEm5D,EAbF,4CACJtvB,EADI,SACUl/B,GACrB,IAAIH,EAASG,EAAIH,OACbs/B,EAAan/B,EAAIm/B,WACrB,OAAe,MAAXt/B,GACFnV,YAAa,UAAW,YACjB,GACa,MAAXmV,GACTnV,YAAa,QAASy0C,IACf,QAFF,GAiHTgrD,EAAKC,OAAO,sBAAsBC,MAAlC,uCAAwC,oBAAAh2F,EAAA,0EAAShH,EAAT,EAASA,KAC3CgH,EAAIxI,KAAKC,MAAMuB,GADmB,SAEpBgyC,EAAShrC,GAFW,cAEhCujB,EAFgC,OAGtCtuB,SAASsR,eAAe,WAAWinB,QAHG,kBAI/B,CAAC,IAAKjK,IAJyB,2CAAxC,uDAOAuyE,EAAKC,OAAO,aAAaC,MAAzB,uCAA+B,gGAASh9F,EAAT,EAASA,KAAT,EACRxB,KAAKC,MAAMuB,GAAxB+e,EADqB,EACrBA,SADqB,SAEvBkzB,EAAUlzB,GAFa,cAG7Bm+E,EAAkB32F,KAAKwY,GACvB9iB,SAASsR,eAAe,iBAAiBinB,QAJZ,kBAKtB,CAAC,IAAK,CAAEzV,SAAUA,KALI,2CAA/B,uDAQA+9E,EAAKC,OAAO,kBAAkBC,MAA9B,uCAAoC,WAAOj0C,GAAP,8FAC5Bq0C,EAAY,IAAI1B,EADY,EAEVl9F,KAAKC,MAAMsqD,EAAO/oD,MAAlC+iB,EAF0B,EAE1BA,YAF0B,SAIhBo+C,EAASp+C,GAJO,OAQlC,IAJIq3B,EAJ8B,OAKlC8iD,EAAiB,iBAAG9iD,QAAH,IAAGA,OAAH,EAAGA,EAAOS,aAAV,QAAmB,GAEhCr1C,EAAO,GAELa,EAAI,EACRA,IAAM0c,EAAYyJ,WAAa,GAAKzJ,EAAY0J,SAChDpmB,IAEAb,EAAKe,KAAK,IAbsB,OAclCf,EAAKe,KAAL,MAAAf,EAAI,YAAS03F,IACbA,EAAoB13F,EAEpBud,EAAY/V,OAAS,IACfkxF,EAAmBd,EAAUC,WACjCH,EACAn6E,IAEe1B,WAAjB,iBAA8B+4B,QAA9B,IAA8BA,OAA9B,EAA8BA,EAAO/4B,kBAArC,QAAmD,EAtBjB,kBAuB3B,CAAC,IAAK68E,IAvBqB,4CAApC,uDA0BApB,EAAKC,OAAO,6BAA6BC,MAAzC,uCAA+C,WAAOj0C,GAAP,gFAC7BvqD,KAAKC,MAAMsqD,EAAO/oD,MADW,EACrC2iB,IACJhkB,SAAQ,SAACd,GACX,IAAM6D,EAAQw7F,EAAkBr6E,WAAU,SAACJ,GAAD,OAAQA,EAAG5kB,KAAOA,KACxD6D,GAAS,GACXw7F,EAAkBx6D,OAAOhhC,EAAO,MALS,kBAQtC,CAAC,MARqC,2CAA/C,uDAWAo7F,EAAKC,OAAO,sCAAsCC,MAAlD,uCAAwD,WAAOj0C,GAAP,oFAC9BvqD,KAAKC,MAAMsqD,EAAO/oD,MAAlC2iB,EAD8C,EAC9CA,IAAKnQ,EADyC,EACzCA,OACb0qF,EAAkBv+F,SAAQ,SAAC8jB,GACrBE,EAAIE,WAAU,SAAChlB,GAAD,OAAQA,IAAO4kB,EAAG5kB,OAAO,IACzC4kB,EAAGjQ,OAASA,MAJsC,kBAO/C,CAAC,MAP8C,2CAAxD,uDAUAsqF,EAAKQ,MAAM,mBAAmBN,MAA9B,uCAAoC,WAAOj0C,GAAP,4EAC5BlrD,EAAKkrD,EAAOt5C,IAAIjG,MAAM,qBAAqB,GAE3CuV,EAAWm+E,EAAkBt8E,MAAK,SAAC6B,GAAD,OAAQA,EAAG5kB,MAAQA,KAHzB,yCAKzB,CAAC,MALwB,gCAO3B,CAAC,IAAKkhB,IAPqB,2CAApC,uDAUA+9E,EAAKS,MAAM,mBAAmBP,MAA9B,uCAAoC,WAAOj0C,GAAP,oFAC5BlrD,EAAKkrD,EAAOt5C,IAAIjG,MAAM,qBAAqB,GAC3C20F,EAAc3/F,KAAKC,MAAMsqD,EAAO/oD,MAC9B+e,EAAao/E,EAAbp/E,SAH0B,SAIfizB,EAASmsD,GAJM,0DAMzB,CAAC,MANwB,WASnB,KADTz8F,EAAQw7F,EAAkBr6E,WAAU,SAACJ,GAAD,OAAQA,EAAG5kB,MAAQA,MAR3B,0CAUzB,CAAC,MAVwB,eAYlCq/F,EAAkBx7F,GAAlB,eAAgCqd,GAChC9iB,SAASsR,eAAe,iBAAiBinB,QAbP,kBAc3B,CAAC,MAd0B,4CAApC,uDAiBAsoE,EAAK31E,SAAS,mBAAmB61E,MAAjC,uCAAuC,WAAOj0C,GAAP,4EAC/BlrD,EAAKkrD,EAAOt5C,IAAIjG,MAAM,qBAAqB,IAElC,KADT9H,EAAQw7F,EAAkBr6E,WAAU,SAACJ,GAAD,OAAQA,EAAG5kB,MAAQA,MAFxB,yCAI5B,CAAC,MAJ2B,uBAMfmgG,EAAYngG,GANG,0DAQ5B,CAAC,MAR2B,cAUrCq/F,EAAkBx6D,OAAOhhC,EAAO,GAVK,kBAW9B,CAAC,MAX6B,4CAAvC,uDAjNa,6C,sBAgOf,SAASq8F,EAASv4F,GAChB,IAAK,IAAI/D,KAAQ+D,EACfA,EAAK/D,GAAM5D,GAAK2H,EAAK/D,GAAMJ,UACpBmE,EAAK/D,GAAMJ,GAEpB,OAAOmE,E,yyMCzOT,IAEI03F,EAFExhG,EAAU,IAAIC,IAAa,MAC3BC,EAAKC,IAAIH,GA+Qf,SAASyhG,IACP,IAAMx6E,EAAMu6E,EAAkB17F,KAAI,SAACihB,GAAD,OAAQA,EAAG5kB,MAE7C,OADc2K,KAAKgrB,IAAL,MAAAhrB,KAAI,YAAQma,IACX,EAGjB,SAASo7E,EAASv4F,GAChB,IAAK,IAAI/D,KAAQ+D,EACfA,EAAK/D,GAAM5D,GAAK2H,EAAK/D,GAAMJ,UACpBmE,EAAK/D,GAAMJ,GAEpB,OAAOmE,E,yyMC3RT,IAEI03F,EAFExhG,EAAU,IAAIC,IAAa,MAC3BC,EAAKC,IAAIH,GAkQf,SAASyhG,IACP,IAAMx6E,EAAMu6E,EAAkB17F,KAAI,SAACihB,GAAD,OAAQA,EAAG5kB,MAE7C,OADc2K,KAAKgrB,IAAL,MAAAhrB,KAAI,YAAQma,IACX,EAGjB,SAASo7E,GAASv4F,GAChB,IAAK,IAAI/D,KAAQ+D,EACfA,EAAK/D,GAAM5D,GAAK2H,EAAK/D,GAAMJ,UACpBmE,EAAK/D,GAAMJ,GAEpB,OAAOmE,E,2yMC9QT,IAEI03F,GAFExhG,GAAU,IAAIC,IAAa,MAC3BC,GAAKC,IAAIH,IAmOf,SAASyhG,KACP,IAAMx6E,EAAMu6E,GAAkB17F,KAAI,SAACihB,GAAD,OAAQA,EAAG5kB,MAE7C,OADc2K,KAAKgrB,IAAL,MAAAhrB,KAAI,YAAQma,IACX,EAGjB,SAASo7E,GAASv4F,GAChB,IAAK,IAAI/D,KAAQ+D,EACfA,EAAK/D,GAAM5D,GAAK2H,EAAK/D,GAAMJ,UACpBmE,EAAK/D,GAAMJ,GAEpB,OAAOmE,E,2yMC/OT,IAEI03F,GAFExhG,GAAU,IAAIC,IAAa,MAC3BC,GAAKC,IAAIH,IA+Of,SAASyhG,KACP,IAAMx6E,EAAMu6E,GAAkB17F,KAAI,SAACihB,GAAD,OAAQA,EAAG5kB,MAE7C,OADc2K,KAAKgrB,IAAL,MAAAhrB,KAAI,YAAQma,IACX,EAGjB,SAASo7E,GAASv4F,GAChB,IAAK,IAAI/D,KAAQ+D,EACfA,EAAK/D,GAAM5D,GAAK2H,EAAK/D,GAAMJ,UACpBmE,EAAK/D,GAAMJ,GAEpB,OAAOmE,E,2yMC3PT,IAEI03F,GAFExhG,GAAU,IAAIC,IAAa,MAC3BC,GAAKC,IAAIH,IAgPf,SAASyhG,KACP,IAAMx6E,EAAMu6E,GAAkB17F,KAAI,SAACihB,GAAD,OAAQA,EAAG5kB,MAE7C,OADc2K,KAAKgrB,IAAL,MAAAhrB,KAAI,YAAQma,IACX,EAGjB,SAASo7E,GAASv4F,GAChB,IAAK,IAAI/D,KAAQ+D,EACfA,EAAK/D,GAAM5D,GAAK2H,EAAK/D,GAAMJ,UACpBmE,EAAK/D,GAAMJ,GAEpB,OAAOmE,EChQM,QACb,CACE3H,GAAI,EACJsuB,UAAW,QACXD,SAAU,UACVE,MAAO,oBACPwB,SAAU,YACVC,OAAQ,SACRrb,OAAQ,EACRsb,aAAc,aACdzB,UAAW,kBACX7rB,KAAM,EACN49F,QAAS,EACTC,aAAc,aACdC,aAAc,cAEhB,CACEzgG,GAAI,EACJsuB,UAAW,OACXD,SAAU,gBACVE,MAAO,8BACPwB,SAAU,kBACVC,OAAQ,OACRrb,OAAQ,EACRsb,aAAc,aACdzB,UAAW,gBACX7rB,KAAM,EACN49F,QAAS,EACTC,aAAc,aACdC,aAAc,cAEhB,CACEzgG,GAAI,EACJsuB,UAAW,SACXD,SAAU,QACVE,MAAO,sBACPwB,SAAU,UACVC,OAAQ,SACRrb,OAAQ,EACRsb,aAAc,WACdzB,UAAW,cACX7rB,KAAM,EACN49F,QAAS,EACTC,aAAc,aACdC,aAAc,cAEhB,CACEzgG,GAAI,EACJsuB,UAAW,QACXD,SAAU,WACVE,MAAO,0BACPwB,SAAU,aACVC,OAAQ,SACRrb,OAAQ,EACRsb,aAAc,aACdzB,UAAW,iBACX7rB,KAAM,EACN49F,QAAS,EACTC,aAAc,aACdC,aAAc,cAEhB,CACEzgG,GAAI,EACJsuB,UAAW,SACXD,SAAU,QACVE,MAAO,kBACPwB,SAAU,UACVC,OAAQ,SACRrb,OAAQ,EACRsb,aAAc,aACdzB,UAAW,cACX7rB,KAAM,EACN49F,QAAS,EACTC,aAAc,aACdC,aAAc,cAEhB,CACEzgG,GAAI,EACJsuB,UAAW,UACXD,SAAU,SACVE,MAAO,mBACPwB,SAAU,WACVC,OAAQ,SACRrb,OAAQ,EACRsb,aAAc,YACdzB,UAAW,gBACX7rB,KAAM,EACN49F,QAAS,EACTC,aAAc,aACdC,aAAc,cAEhB,CACEzgG,GAAI,EACJsuB,UAAW,OACXD,SAAU,OACVE,MAAO,wBACPwB,SAAU,SACVC,OAAQ,OACRrb,OAAQ,EACRsb,aAAc,YACdzB,UAAW,iBACX7rB,KAAM,EACN49F,QAAS,EACTC,aAAc,aACdC,aAAc,cAEhB,CACEzgG,GAAI,EACJsuB,UAAW,SACXD,SAAU,SACVE,MAAO,qBACPwB,SAAU,WACVC,OAAQ,OACRrb,OAAQ,EACRsb,aAAc,YACdzB,UAAW,eACX7rB,KAAM,EACN49F,QAAS,EACTC,aAAc,aACdC,aAAc,cAEhB,CACEzgG,GAAI,EACJsuB,UAAW,OACXD,SAAU,aACVE,MAAO,gCACPwB,SAAU,eACVC,OAAQ,OACRrb,OAAQ,EACRsb,aAAc,YACdzB,UAAW,iBACX7rB,KAAM,EACN49F,QAAS,EACTC,aAAc,aACdC,aAAc,cAEhB,CACEzgG,GAAI,GACJsuB,UAAW,QACXD,SAAU,SACVE,MAAO,0BACPwB,SAAU,WACVC,OAAQ,OACRrb,OAAQ,EACRsb,aAAc,YACdzB,UAAW,iBACX7rB,KAAM,EACN49F,QAAS,EACTC,aAAc,aACdC,aAAc,cAEhB,CACEzgG,GAAI,GACJsuB,UAAW,UACXD,SAAU,WACVE,MAAO,4BACPwB,SAAU,aACVC,OAAQ,SACRrb,OAAQ,EACRsb,aAAc,YACdzB,UAAW,gBACX7rB,KAAM,EACN49F,QAAS,EACTC,aAAc,aACdC,aAAc,cAEhB,CACEzgG,GAAI,GACJsuB,UAAW,WACXD,SAAU,YACVE,MAAO,gCACPwB,SAAU,cACVC,OAAQ,OACRrb,OAAQ,EACRsb,aAAc,YACdzB,UAAW,gBACX7rB,KAAM,EACN49F,QAAS,EACTC,aAAc,aACdC,aAAc,cAEhB,CACEzgG,GAAI,GACJsuB,UAAW,SACXD,SAAU,YACVE,MAAO,gCACPwB,SAAU,cACVC,OAAQ,OACRrb,OAAQ,EACRsb,aAAc,YACdzB,UAAW,iBACX7rB,KAAM,EACN49F,QAAS,EACTC,aAAc,aACdC,aAAc,cAEhB,CACEzgG,GAAI,GACJsuB,UAAW,SACXD,SAAU,WACVE,MAAO,wBACPwB,SAAU,aACVC,OAAQ,SACRrb,OAAQ,EACRsb,aAAc,YACdzB,UAAW,gBACX7rB,KAAM,EACN49F,QAAS,EACTC,aAAc,aACdC,aAAc,cAEhB,CACEzgG,GAAI,GACJsuB,UAAW,QACXD,SAAU,YACVE,MAAO,gCACPwB,SAAU,cACVC,OAAQ,OACRrb,OAAQ,EACRsb,aAAc,aACdzB,UAAW,cACX7rB,KAAM,EACN49F,QAAS,EACTC,aAAc,aACdC,aAAc,cAEhB,CACEzgG,GAAI,GACJsuB,UAAW,QACXD,SAAU,YACVE,MAAO,wBACPwB,SAAU,cACVC,OAAQ,OACRrb,OAAQ,EACRsb,aAAc,YACdzB,UAAW,iBACX7rB,KAAM,EACN49F,QAAS,EACTC,aAAc,aACdC,aAAc,cAEhB,CACEzgG,GAAI,GACJsuB,UAAW,WACXD,SAAU,OACVE,MAAO,kBACPwB,SAAU,SACVC,OAAQ,SACRrb,OAAQ,EACRsb,aAAc,YACdzB,UAAW,kBACX7rB,KAAM,EACN49F,QAAS,EACTC,aAAc,aACdC,aAAc,cAEhB,CACEzgG,GAAI,GACJsuB,UAAW,WACXD,SAAU,UACVE,MAAO,yBACPwB,SAAU,YACVC,OAAQ,SACRrb,OAAQ,EACRsb,aAAc,WACdzB,UAAW,iBACX7rB,KAAM,EACN49F,QAAS,EACTC,aAAc,aACdC,aAAc,cAEhB,CACEzgG,GAAI,GACJsuB,UAAW,QACXD,SAAU,SACVE,MAAO,mBACPwB,SAAU,WACVC,OAAQ,SACRrb,OAAQ,EACRsb,aAAc,YACdzB,UAAW,eACX7rB,KAAM,EACN49F,QAAS,EACTC,aAAc,aACdC,aAAc,cAEhB,CACEzgG,GAAI,GACJsuB,UAAW,SACXD,SAAU,WACVE,MAAO,yBACPwB,SAAU,aACVC,OAAQ,OACRrb,OAAQ,EACRsb,aAAc,aACdzB,UAAW,iBACX7rB,KAAM,EACN49F,QAAS,EACTC,aAAc,aACdC,aAAc,cAEhB,CACEzgG,GAAI,GACJsuB,UAAW,UACXD,SAAU,QACVE,MAAO,kBACPwB,SAAU,UACVC,OAAQ,SACRrb,OAAQ,EACRsb,aAAc,YACdzB,UAAW,gBACX7rB,KAAM,EACN49F,QAAS,EACTC,aAAc,aACdC,aAAc,cAEhB,CACEzgG,GAAI,GACJsuB,UAAW,QACXD,SAAU,QACVE,MAAO,mBACPwB,SAAU,UACVC,OAAQ,OACRrb,OAAQ,EACRsb,aAAc,YACdzB,UAAW,cACX7rB,KAAM,EACN49F,QAAS,EACTC,aAAc,aACdC,aAAc,cAEhB,CACEzgG,GAAI,GACJsuB,UAAW,QACXD,SAAU,cACVE,MAAO,iCACPwB,SAAU,gBACVC,OAAQ,SACRrb,OAAQ,EACRsb,aAAc,WACdzB,UAAW,eACX7rB,KAAM,EACN49F,QAAS,EACTC,aAAc,aACdC,aAAc,cAEhB,CACEzgG,GAAI,GACJsuB,UAAW,UACXD,SAAU,WACVE,MAAO,0BACPwB,SAAU,aACVC,OAAQ,SACRrb,OAAQ,EACRsb,aAAc,aACdzB,UAAW,iBACX7rB,KAAM,EACN49F,QAAS,EACTC,aAAc,aACdC,aAAc,cAEhB,CACEzgG,GAAI,GACJsuB,UAAW,OACXD,SAAU,UACVE,MAAO,uBACPwB,SAAU,YACVC,OAAQ,SACRrb,OAAQ,EACRsb,aAAc,YACdzB,UAAW,gBACX7rB,KAAM,EACN49F,QAAS,EACTC,aAAc,aACdC,aAAc,cAEhB,CACEzgG,GAAI,GACJsuB,UAAW,QACXD,SAAU,cACVE,MAAO,8BACPwB,SAAU,gBACVC,OAAQ,OACRrb,OAAQ,EACRsb,aAAc,YACdzB,UAAW,gBACX7rB,KAAM,EACN49F,QAAS,EACTC,aAAc,aACdC,aAAc,cAEhB,CACEzgG,GAAI,GACJsuB,UAAW,WACXD,SAAU,cACVE,MAAO,2BACPwB,SAAU,eACVC,OAAQ,OACRrb,OAAQ,EACRsb,aAAc,YACdzB,UAAW,iBACX7rB,KAAM,EACN49F,QAAS,EACTC,aAAc,aACdC,aAAc,cAEhB,CACEzgG,GAAI,GACJsuB,UAAW,QACXD,SAAU,QACVE,MAAO,oBACPwB,SAAU,UACVC,OAAQ,SACRrb,OAAQ,EACRsb,aAAc,aACdzB,UAAW,iBACX7rB,KAAM,EACN49F,QAAS,EACTC,aAAc,aACdC,aAAc,cAEhB,CACEzgG,GAAI,GACJsuB,UAAW,UACXD,SAAU,UACVE,MAAO,qBACPwB,SAAU,YACVC,OAAQ,SACRrb,OAAQ,EACRsb,aAAc,YACdzB,UAAW,eACX7rB,KAAM,EACN49F,QAAS,EACTC,aAAc,aACdC,aAAc,cAEhB,CACEzgG,GAAI,GACJsuB,UAAW,SACXD,SAAU,YACVE,MAAO,0BACPwB,SAAU,cACVC,OAAQ,SACRrb,OAAQ,EACRsb,aAAc,aACdzB,UAAW,eACX7rB,KAAM,EACN49F,QAAS,EACTC,aAAc,aACdC,aAAc,cAEhB,CACEzgG,GAAI,GACJsuB,UAAW,SACXD,SAAU,YACVE,MAAO,0BACPwB,SAAU,cACVC,OAAQ,OACRrb,OAAQ,EACRsb,aAAc,YACdzB,UAAW,iBACX7rB,KAAM,EACN49F,QAAS,EACTC,aAAc,aACdC,aAAc,cAEhB,CACEzgG,GAAI,GACJsuB,UAAW,WACXD,SAAU,UACVE,MAAO,0BACPwB,SAAU,YACVC,OAAQ,OACRrb,OAAQ,EACRsb,aAAc,aACdzB,UAAW,gBACX7rB,KAAM,EACN49F,QAAS,EACTC,aAAc,aACdC,aAAc,cAEhB,CACEzgG,GAAI,GACJsuB,UAAW,QACXD,SAAU,QACVE,MAAO,0BACPwB,SAAU,UACVC,OAAQ,SACRrb,OAAQ,EACRsb,aAAc,WACdzB,UAAW,eACX7rB,KAAM,EACN49F,QAAS,EACTC,aAAc,aACdC,aAAc,cAEhB,CACEzgG,GAAI,GACJsuB,UAAW,UACXD,SAAU,YACVE,MAAO,sBACPwB,SAAU,cACVC,OAAQ,OACRrb,OAAQ,EACRsb,aAAc,aACdzB,UAAW,iBACX7rB,KAAM,EACN49F,QAAS,EACTC,aAAc,aACdC,aAAc,cAEhB,CACEzgG,GAAI,GACJsuB,UAAW,QACXD,SAAU,SACVE,MAAO,wBACPwB,SAAU,WACVC,OAAQ,SACRrb,OAAQ,EACRsb,aAAc,aACdzB,UAAW,kBACX7rB,KAAM,EACN49F,QAAS,EACTC,aAAc,aACdC,aAAc,cAEhB,CACEzgG,GAAI,GACJsuB,UAAW,SACXD,SAAU,YACVE,MAAO,uBACPwB,SAAU,cACVC,OAAQ,SACRrb,OAAQ,EACRsb,aAAc,WACdzB,UAAW,iBACX7rB,KAAM,EACN49F,QAAS,EACTC,aAAc,aACdC,aAAc,cAEhB,CACEzgG,GAAI,GACJsuB,UAAW,UACXD,SAAU,SACVE,MAAO,wBACPwB,SAAU,YACVC,OAAQ,SACRrb,OAAQ,EACRsb,aAAc,WACdzB,UAAW,kBACX7rB,KAAM,EACN49F,QAAS,EACTC,aAAc,aACdC,aAAc,cAEhB,CACEzgG,GAAI,GACJsuB,UAAW,SACXD,SAAU,QACVE,MAAO,oBACPwB,SAAU,WACVC,OAAQ,OACRrb,OAAQ,EACRsb,aAAc,YACdzB,UAAW,eACX7rB,KAAM,EACN49F,QAAS,EACTC,aAAc,aACdC,aAAc,cAEhB,CACEzgG,GAAI,GACJsuB,UAAW,QACXD,SAAU,UACVE,MAAO,8BACPwB,SAAU,YACVC,OAAQ,OACRrb,OAAQ,EACRsb,aAAc,aACdzB,UAAW,iBACX7rB,KAAM,EACN49F,QAAS,EACTC,aAAc,aACdC,aAAc,cAEhB,CACEzgG,GAAI,GACJsuB,UAAW,QACXD,SAAU,UACVE,MAAO,uBACPwB,SAAU,aACVC,OAAQ,OACRrb,OAAQ,EACRsb,aAAc,aACdzB,UAAW,iBACX7rB,KAAM,EACN49F,QAAS,EACTC,aAAc,aACdC,aAAc,cAEhB,CACEzgG,GAAI,GACJsuB,UAAW,QACXD,SAAU,UACVE,MAAO,oBACPwB,SAAU,aACVC,OAAQ,OACRrb,OAAQ,EACRsb,aAAc,aACdzB,UAAW,gBACX7rB,KAAM,EACN49F,QAAS,EACTC,aAAc,aACdC,aAAc,cAEhB,CACEzgG,GAAI,GACJsuB,UAAW,QACXD,SAAU,QACVE,MAAO,sBACPwB,SAAU,WACVC,OAAQ,OACRrb,OAAQ,EACRsb,aAAc,YACdzB,UAAW,gBACX7rB,KAAM,EACN49F,QAAS,EACTC,aAAc,aACdC,aAAc,cAEhB,CACEzgG,GAAI,GACJsuB,UAAW,UACXD,SAAU,SACVE,MAAO,sBACPwB,SAAU,YACVC,OAAQ,SACRrb,OAAQ,EACRsb,aAAc,YACdzB,UAAW,gBACX7rB,KAAM,EACN49F,QAAS,EACTC,aAAc,aACdC,aAAc,cAEhB,CACEzgG,GAAI,GACJsuB,UAAW,SACXD,SAAU,cACVE,MAAO,iCACPwB,SAAU,iBACVC,OAAQ,OACRrb,OAAQ,EACRsb,aAAc,aACdzB,UAAW,iBACX7rB,KAAM,EACN49F,QAAS,EACTC,aAAc,aACdC,aAAc,cAEhB,CACEzgG,GAAI,GACJsuB,UAAW,OACXD,SAAU,UACVE,MAAO,yBACPwB,SAAU,aACVC,OAAQ,OACRrb,OAAQ,EACRsb,aAAc,YACdzB,UAAW,gBACX7rB,KAAM,EACN49F,QAAS,EACTC,aAAc,aACdC,aAAc,cAEhB,CACEzgG,GAAI,GACJsuB,UAAW,QACXD,SAAU,QACVE,MAAO,sBACPwB,SAAU,WACVC,OAAQ,SACRrb,OAAQ,EACRsb,aAAc,YACdzB,UAAW,gBACX7rB,KAAM,EACN49F,QAAS,EACTC,aAAc,aACdC,aAAc,cAEhB,CACEzgG,GAAI,GACJsuB,UAAW,OACXD,SAAU,aACVE,MAAO,uBACPwB,SAAU,gBACVC,OAAQ,SACRrb,OAAQ,EACRsb,aAAc,WACdzB,UAAW,kBACX7rB,KAAM,EACN49F,QAAS,EACTC,aAAc,aACdC,aAAc,cAEhB,CACEzgG,GAAI,GACJsuB,UAAW,SACXD,SAAU,UACVE,MAAO,sBACPwB,SAAU,aACVC,OAAQ,OACRrb,OAAQ,EACRsb,aAAc,YACdzB,UAAW,eACX7rB,KAAM,EACN49F,QAAS,EACTC,aAAc,aACdC,aAAc,cAEhB,CACEzgG,GAAI,GACJsuB,UAAW,SACXD,SAAU,UACVE,MAAO,0BACPwB,SAAU,aACVC,OAAQ,SACRrb,OAAQ,EACRsb,aAAc,aACdzB,UAAW,iBACX7rB,KAAM,EACN49F,QAAS,EACTC,aAAc,aACdC,aAAc,cAEhB,CACEzgG,GAAI,GACJsuB,UAAW,SACXD,SAAU,YACVE,MAAO,yBACPwB,SAAU,eACVC,OAAQ,OACRrb,OAAQ,EACRsb,aAAc,aACdzB,UAAW,iBACX7rB,KAAM,EACN49F,QAAS,EACTC,aAAc,aACdC,aAAc,cAEhB,CACEzgG,GAAI,GACJsuB,UAAW,SACXD,SAAU,UACVE,MAAO,2BACPwB,SAAU,aACVC,OAAQ,SACRrb,OAAQ,EACRsb,aAAc,WACdzB,UAAW,iBACX7rB,KAAM,EACN49F,QAAS,EACTC,aAAc,aACdC,aAAc,cAEhB,CACEzgG,GAAI,GACJsuB,UAAW,SACXD,SAAU,QACVE,MAAO,2BACPwB,SAAU,WACVC,OAAQ,OACRrb,OAAQ,EACRsb,aAAc,WACdzB,UAAW,gBACX7rB,KAAM,EACN49F,QAAS,EACTC,aAAc,aACdC,aAAc,cAEhB,CACEzgG,GAAI,GACJsuB,UAAW,QACXD,SAAU,SACVE,MAAO,0BACPwB,SAAU,YACVC,OAAQ,SACRrb,OAAQ,EACRsb,aAAc,WACdzB,UAAW,cACX7rB,KAAM,EACN49F,QAAS,EACTC,aAAc,aACdC,aAAc,cAEhB,CACEzgG,GAAI,GACJsuB,UAAW,OACXD,SAAU,WACVE,MAAO,4BACPwB,SAAU,cACVC,OAAQ,SACRrb,OAAQ,EACRsb,aAAc,YACdzB,UAAW,iBACX7rB,KAAM,EACN49F,QAAS,EACTC,aAAc,aACdC,aAAc,cAEhB,CACEzgG,GAAI,GACJsuB,UAAW,OACXD,SAAU,WACVE,MAAO,4BACPwB,SAAU,cACVC,OAAQ,OACRrb,OAAQ,EACRsb,aAAc,YACdzB,UAAW,iBACX7rB,KAAM,EACN49F,QAAS,EACTC,aAAc,aACdC,aAAc,cAEhB,CACEzgG,GAAI,GACJsuB,UAAW,QACXD,SAAU,UACVE,MAAO,uBACPwB,SAAU,aACVC,OAAQ,OACRrb,OAAQ,EACRsb,aAAc,YACdzB,UAAW,iBACX7rB,KAAM,EACN49F,QAAS,EACTC,aAAc,aACdC,aAAc,cAEhB,CACEzgG,GAAI,GACJsuB,UAAW,SACXD,SAAU,iBACVE,MAAO,iCACPwB,SAAU,oBACVC,OAAQ,OACRrb,OAAQ,EACRsb,aAAc,WACdzB,UAAW,iBACX7rB,KAAM,EACN49F,QAAS,EACTC,aAAc,aACdC,aAAc,cAEhB,CACEzgG,GAAI,GACJsuB,UAAW,QACXD,SAAU,SACVE,MAAO,qBACPwB,SAAU,YACVC,OAAQ,SACRrb,OAAQ,EACRsb,aAAc,WACdzB,UAAW,iBACX7rB,KAAM,EACN49F,QAAS,EACTC,aAAc,aACdC,aAAc,cAEhB,CACEzgG,GAAI,GACJsuB,UAAW,WACXD,SAAU,UACVE,MAAO,2BACPwB,SAAU,aACVC,OAAQ,SACRrb,OAAQ,EACRsb,aAAc,aACdzB,UAAW,gBACX7rB,KAAM,EACN49F,QAAS,EACTC,aAAc,aACdC,aAAc,cAEhB,CACEzgG,GAAI,GACJsuB,UAAW,QACXD,SAAU,cACVE,MAAO,2BACPwB,SAAU,iBACVC,OAAQ,SACRrb,OAAQ,EACRsb,aAAc,aACdzB,UAAW,iBACX7rB,KAAM,EACN49F,QAAS,EACTC,aAAc,aACdC,aAAc,cAEhB,CACEzgG,GAAI,GACJsuB,UAAW,UACXD,SAAU,SACVE,MAAO,sBACPwB,SAAU,YACVC,OAAQ,OACRrb,OAAQ,EACRsb,aAAc,YACdzB,UAAW,cACX7rB,KAAM,EACN49F,QAAS,EACTC,aAAc,aACdC,aAAc,cAEhB,CACEzgG,GAAI,GACJsuB,UAAW,SACXD,SAAU,SACVE,MAAO,8BACPwB,SAAU,YACVC,OAAQ,OACRrb,OAAQ,EACRsb,aAAc,WACdzB,UAAW,gBACX7rB,KAAM,EACN49F,QAAS,EACTC,aAAc,aACdC,aAAc,cAEhB,CACEzgG,GAAI,GACJsuB,UAAW,QACXD,SAAU,YACVE,MAAO,uBACPwB,SAAU,eACVC,OAAQ,OACRrb,OAAQ,EACRsb,aAAc,YACdzB,UAAW,iBACX7rB,KAAM,EACN49F,QAAS,EACTC,aAAc,aACdC,aAAc,cAEhB,CACEzgG,GAAI,GACJsuB,UAAW,WACXD,SAAU,WACVE,MAAO,sBACPwB,SAAU,aACVC,OAAQ,SACRrb,OAAQ,EACRsb,aAAc,aACdzB,UAAW,kBACX7rB,KAAM,EACN49F,QAAS,EACTC,aAAc,aACdC,aAAc,cAEhB,CACEzgG,GAAI,GACJsuB,UAAW,UACXD,SAAU,YACVE,MAAO,6BACPwB,SAAU,eACVC,OAAQ,OACRrb,OAAQ,EACRsb,aAAc,YACdzB,UAAW,gBACX7rB,KAAM,EACN49F,QAAS,EACTC,aAAc,aACdC,aAAc,cAEhB,CACEzgG,GAAI,GACJsuB,UAAW,SACXD,SAAU,UACVE,MAAO,uBACPwB,SAAU,aACVC,OAAQ,SACRrb,OAAQ,EACRsb,aAAc,YACdzB,UAAW,gBACX7rB,KAAM,EACN49F,QAAS,EACTC,aAAc,aACdC,aAAc,cAEhB,CACEzgG,GAAI,GACJsuB,UAAW,MACXD,SAAU,WACVE,MAAO,wBACPwB,SAAU,cACVC,OAAQ,OACRrb,OAAQ,EACRsb,aAAc,YACdzB,UAAW,gBACX7rB,KAAM,EACN49F,QAAS,EACTC,aAAc,aACdC,aAAc,cAEhB,CACEzgG,GAAI,GACJsuB,UAAW,SACXD,SAAU,SACVE,MAAO,uBACPwB,SAAU,YACVC,OAAQ,OACRrb,OAAQ,EACRsb,aAAc,WACdzB,UAAW,eACX7rB,KAAM,EACN49F,QAAS,EACTC,aAAc,aACdC,aAAc,cAEhB,CACEzgG,GAAI,GACJsuB,UAAW,OACXD,SAAU,YACVE,MAAO,4BACPwB,SAAU,eACVC,OAAQ,OACRrb,OAAQ,EACRsb,aAAc,YACdzB,UAAW,gBACX7rB,KAAM,EACN49F,QAAS,EACTC,aAAc,aACdC,aAAc,cAEhB,CACEzgG,GAAI,GACJsuB,UAAW,UACXD,SAAU,UACVE,MAAO,qBACPwB,SAAU,aACVC,OAAQ,SACRrb,OAAQ,EACRsb,aAAc,WACdzB,UAAW,kBACX7rB,KAAM,EACN49F,QAAS,EACTC,aAAc,aACdC,aAAc,cAEhB,CACEzgG,GAAI,GACJsuB,UAAW,SACXD,SAAU,WACVE,MAAO,4BACPwB,SAAU,cACVC,OAAQ,SACRrb,OAAQ,EACRsb,aAAc,aACdzB,UAAW,iBACX7rB,KAAM,EACN49F,QAAS,EACTC,aAAc,aACdC,aAAc,cAEhB,CACEzgG,GAAI,GACJsuB,UAAW,OACXD,SAAU,UACVE,MAAO,2BACPwB,SAAU,aACVC,OAAQ,SACRrb,OAAQ,EACRsb,aAAc,YACdzB,UAAW,iBACX7rB,KAAM,EACN49F,QAAS,EACTC,aAAc,aACdC,aAAc,cAEhB,CACEzgG,GAAI,GACJsuB,UAAW,UACXD,SAAU,YACVE,MAAO,uBACPwB,SAAU,eACVC,OAAQ,SACRrb,OAAQ,EACRsb,aAAc,YACdzB,UAAW,iBACX7rB,KAAM,EACN49F,QAAS,EACTC,aAAc,aACdC,aAAc,cAEhB,CACEzgG,GAAI,GACJsuB,UAAW,MACXD,SAAU,YACVE,MAAO,0BACPwB,SAAU,eACVC,OAAQ,OACRrb,OAAQ,EACRsb,aAAc,aACdzB,UAAW,iBACX7rB,KAAM,EACN49F,QAAS,EACTC,aAAc,aACdC,aAAc,cAEhB,CACEzgG,GAAI,GACJsuB,UAAW,UACXD,SAAU,SACVE,MAAO,yBACPwB,SAAU,YACVC,OAAQ,OACRrb,OAAQ,EACRsb,aAAc,WACdzB,UAAW,eACX7rB,KAAM,EACN49F,QAAS,EACTC,aAAc,aACdC,aAAc,cAEhB,CACEzgG,GAAI,GACJsuB,UAAW,UACXD,SAAU,SACVE,MAAO,0BACPwB,SAAU,YACVC,OAAQ,SACRrb,OAAQ,EACRsb,aAAc,YACdzB,UAAW,gBACX7rB,KAAM,EACN49F,QAAS,EACTC,aAAc,aACdC,aAAc,cAEhB,CACEzgG,GAAI,GACJsuB,UAAW,SACXD,SAAU,SACVE,MAAO,mCACPwB,SAAU,YACVC,OAAQ,OACRrb,OAAQ,EACRsb,aAAc,YACdzB,UAAW,gBACX7rB,KAAM,EACN49F,QAAS,EACTC,aAAc,aACdC,aAAc,cAEhB,CACEzgG,GAAI,GACJsuB,UAAW,UACXD,SAAU,WACVE,MAAO,wBACPwB,SAAU,cACVC,OAAQ,OACRrb,OAAQ,EACRsb,aAAc,YACdzB,UAAW,iBACX7rB,KAAM,EACN49F,QAAS,EACTC,aAAc,aACdC,aAAc,cAEhB,CACEzgG,GAAI,GACJsuB,UAAW,QACXD,SAAU,cACVE,MAAO,8BACPwB,SAAU,iBACVC,OAAQ,SACRrb,OAAQ,EACRsb,aAAc,YACdzB,UAAW,gBACX7rB,KAAM,EACN49F,QAAS,EACTC,aAAc,aACdC,aAAc,cAEhB,CACEzgG,GAAI,GACJsuB,UAAW,WACXD,SAAU,QACVE,MAAO,kBACPwB,SAAU,WACVC,OAAQ,OACRrb,OAAQ,EACRsb,aAAc,WACdzB,UAAW,iBACX7rB,KAAM,EACN49F,QAAS,EACTC,aAAc,aACdC,aAAc,cAEhB,CACEzgG,GAAI,GACJsuB,UAAW,SACXD,SAAU,SACVE,MAAO,yBACPwB,SAAU,YACVC,OAAQ,SACRrb,OAAQ,EACRsb,aAAc,YACdzB,UAAW,kBACX7rB,KAAM,EACN49F,QAAS,EACTC,aAAc,aACdC,aAAc,cAEhB,CACEzgG,GAAI,GACJsuB,UAAW,QACXD,SAAU,UACVE,MAAO,2BACPwB,SAAU,aACVC,OAAQ,SACRrb,OAAQ,EACRsb,aAAc,YACdzB,UAAW,gBACX7rB,KAAM,EACN49F,QAAS,EACTC,aAAc,aACdC,aAAc,cAEhB,CACEzgG,GAAI,GACJsuB,UAAW,UACXD,SAAU,YACVE,MAAO,2BACPwB,SAAU,eACVC,OAAQ,OACRrb,OAAQ,EACRsb,aAAc,aACdzB,UAAW,kBACX7rB,KAAM,EACN49F,QAAS,EACTC,aAAc,aACdC,aAAc,cAEhB,CACEzgG,GAAI,GACJsuB,UAAW,OACXD,SAAU,WACVE,MAAO,uBACPwB,SAAU,cACVC,OAAQ,SACRrb,OAAQ,EACRsb,aAAc,YACdzB,UAAW,eACX7rB,KAAM,EACN49F,QAAS,EACTC,aAAc,aACdC,aAAc,cAEhB,CACEzgG,GAAI,GACJsuB,UAAW,OACXD,SAAU,aACVE,MAAO,0BACPwB,SAAU,gBACVC,OAAQ,SACRrb,OAAQ,EACRsb,aAAc,YACdzB,UAAW,kBACX7rB,KAAM,EACN49F,QAAS,EACTC,aAAc,aACdC,aAAc,cAEhB,CACEzgG,GAAI,GACJsuB,UAAW,QACXD,SAAU,OACVE,MAAO,kBACPwB,SAAU,UACVC,OAAQ,SACRrb,OAAQ,EACRsb,aAAc,YACdzB,UAAW,gBACX7rB,KAAM,EACN49F,QAAS,EACTC,aAAc,aACdC,aAAc,cAEhB,CACEzgG,GAAI,GACJsuB,UAAW,QACXD,SAAU,SACVE,MAAO,uBACPwB,SAAU,WACVC,OAAQ,SACRrb,OAAQ,EACRsb,aAAc,WACdzB,UAAW,cACX7rB,KAAM,EACN49F,QAAS,EACTC,aAAc,aACdC,aAAc,cAEhB,CACEzgG,GAAI,GACJsuB,UAAW,QACXD,SAAU,UACVE,MAAO,oBACPwB,SAAU,aACVC,OAAQ,OACRrb,OAAQ,EACRsb,aAAc,YACdzB,UAAW,iBACX7rB,KAAM,EACN49F,QAAS,EACTC,aAAc,aACdC,aAAc,cAEhB,CACEzgG,GAAI,GACJsuB,UAAW,OACXD,SAAU,SACVE,MAAO,yBACPwB,SAAU,YACVC,OAAQ,SACRrb,OAAQ,EACRsb,aAAc,YACdzB,UAAW,kBACX7rB,KAAM,EACN49F,QAAS,EACTC,aAAc,aACdC,aAAc,cAEhB,CACEzgG,GAAI,GACJsuB,UAAW,QACXD,SAAU,WACVE,MAAO,0BACPwB,SAAU,cACVC,OAAQ,SACRrb,OAAQ,EACRsb,aAAc,aACdzB,UAAW,iBACX7rB,KAAM,EACN49F,QAAS,EACTC,aAAc,aACdC,aAAc,cAEhB,CACEzgG,GAAI,GACJsuB,UAAW,UACXD,SAAU,UACVE,MAAO,6BACPwB,SAAU,aACVC,OAAQ,SACRrb,OAAQ,EACRsb,aAAc,WACdzB,UAAW,eACX7rB,KAAM,EACN49F,QAAS,EACTC,aAAc,aACdC,aAAc,cAEhB,CACEzgG,GAAI,GACJsuB,UAAW,cACXD,SAAU,UACVE,MAAO,2BACPwB,SAAU,aACVC,OAAQ,OACRrb,OAAQ,EACRsb,aAAc,YACdzB,UAAW,iBACX7rB,KAAM,EACN49F,QAAS,EACTC,aAAc,aACdC,aAAc,cAEhB,CACEzgG,GAAI,GACJsuB,UAAW,SACXD,SAAU,aACVE,MAAO,sBACPwB,SAAU,gBACVC,OAAQ,OACRrb,OAAQ,EACRsb,aAAc,WACdzB,UAAW,kBACX7rB,KAAM,EACN49F,QAAS,EACTC,aAAc,aACdC,aAAc,cAEhB,CACEzgG,GAAI,GACJsuB,UAAW,SACXD,SAAU,QACVE,MAAO,mBACPwB,SAAU,WACVC,OAAQ,OACRrb,OAAQ,EACRsb,aAAc,WACdzB,UAAW,kBACX7rB,KAAM,EACN49F,QAAS,EACTC,aAAc,aACdC,aAAc,cAEhB,CACEzgG,GAAI,GACJsuB,UAAW,SACXD,SAAU,SACVE,MAAO,mBACPwB,SAAU,YACVC,OAAQ,OACRrb,OAAQ,EACRsb,aAAc,YACdzB,UAAW,eACX7rB,KAAM,EACN49F,QAAS,EACTC,aAAc,aACdC,aAAc,cAEhB,CACEzgG,GAAI,GACJsuB,UAAW,SACXD,SAAU,UACVE,MAAO,0BACPwB,SAAU,aACVC,OAAQ,SACRrb,OAAQ,EACRsb,aAAc,YACdzB,UAAW,kBACX7rB,KAAM,EACN49F,QAAS,EACTC,aAAc,aACdC,aAAc,cAEhB,CACEzgG,GAAI,GACJsuB,UAAW,UACXD,SAAU,QACVE,MAAO,mBACPwB,SAAU,WACVC,OAAQ,OACRrb,OAAQ,EACRsb,aAAc,YACdzB,UAAW,gBACX7rB,KAAM,EACN49F,QAAS,EACTC,aAAc,aACdC,aAAc,cAEhB,CACEzgG,GAAI,GACJsuB,UAAW,WACXD,SAAU,OACVE,MAAO,wBACPwB,SAAU,UACVC,OAAQ,OACRrb,OAAQ,EACRsb,aAAc,aACdzB,UAAW,gBACX7rB,KAAM,EACN49F,QAAS,EACTC,aAAc,aACdC,aAAc,cAEhB,CACEzgG,GAAI,GACJsuB,UAAW,SACXD,SAAU,QACVE,MAAO,qBACPwB,SAAU,WACVC,OAAQ,SACRrb,OAAQ,EACRsb,aAAc,YACdzB,UAAW,gBACX7rB,KAAM,EACN49F,QAAS,EACTC,aAAc,aACdC,aAAc,cAEhB,CACEzgG,GAAI,IACJsuB,UAAW,UACXD,SAAU,UACVE,MAAO,4BACPwB,SAAU,YACVC,OAAQ,SACRrb,OAAQ,EACRsb,aAAc,aACdzB,UAAW,kBACX7rB,KAAM,EACN49F,QAAS,EACTC,aAAc,aACdC,aAAc,eCx9CH,SAASC,GAAazB,GACnCA,EAAKC,OAAO,iBAAiBC,OAAM,YAAe,IAAZh9F,EAAW,EAAXA,KAC5B+e,EAAavgB,KAAKC,MAAMuB,GAAxB+e,SACR,EAUIA,EATFoN,iBADF,MACc,GADd,IAUIpN,EARFmN,gBAFF,MAEa,GAFb,IAUInN,EAPFqN,aAHF,MAGU,GAHV,IAUIrN,EANF6O,gBAJF,MAIa,GAJb,IAUI7O,EALF8O,cALF,MAKW,SALX,IAUI9O,EAJFvM,cANF,MAMW,EANX,IAUIuM,EAHF+O,oBAPF,MAOiB,aAPjB,IAUI/O,EAFFsN,iBARF,MAQc,YARd,IAUItN,EADFve,YATF,MASS,EATT,EAaMy8F,EAAc,CAClBp/F,GAgFN,WACE,IAAM8kB,EAAMu6E,GAAkB17F,KAAI,SAAAihB,GAAE,OAAIA,EAAG5kB,MAE3C,OADc2K,KAAKgrB,IAAL,MAAAhrB,KAAI,YAAQma,IACX,EArFFw6E,GAGThxE,YACAD,WACAE,QACAwB,WACAC,SACArb,SACAsb,eACAzB,YACA7rB,QAGF,OADA08F,GAAkB32F,KAAK02F,GAChB,CAAC,IAAK,CAAEl+E,SAAUk+E,OAG3BH,EAAKC,OAAO,sBAAsBC,OAAM,SAAAj0C,GACtC,IAAMq0C,EAAY,IAAI1B,EACd34E,EAAgBvkB,KAAKC,MAAMsqD,EAAO/oD,MAAlC+iB,YAKR,MAAO,CAAC,IAJiBq6E,EAAUC,WACjCH,GACAn6E,OAKJ+5E,EAAKC,OAAO,iCAAiCC,OAAM,SAAAj0C,GAQjD,OAPgBvqD,KAAKC,MAAMsqD,EAAO/oD,MAA1B2iB,IACJhkB,SAAQ,SAAAd,GACV,IAAM6D,EAAQw7F,GAAkBr6E,WAAU,SAAAJ,GAAE,OAAIA,EAAG5kB,KAAOA,KACtD6D,GAAS,GACXw7F,GAAkBx6D,OAAOhhC,EAAO,MAG7B,CAAC,QAGVo7F,EAAKC,OAAO,0CAA0CC,OAAM,SAAAj0C,GAC1D,MAAwBvqD,KAAKC,MAAMsqD,EAAO/oD,MAAlC2iB,EAAR,EAAQA,IAAKnQ,EAAb,EAAaA,OAMb,OALA0qF,GAAkBv+F,SAAQ,SAAA8jB,GACpBE,EAAIE,WAAU,SAAAhlB,GAAE,OAAIA,IAAO4kB,EAAG5kB,OAAO,IACvC4kB,EAAGjQ,OAASA,MAGT,CAAC,QAGVsqF,EAAKQ,MAAM,uBAAuBN,OAAM,SAAAj0C,GACtC,IAAMlrD,EAAKkrD,EAAOt5C,IAAIjG,MAAM,yBAAyB,GAC/CuV,EAAWm+E,GAAkBt8E,MAAK,SAAA6B,GAAE,OAAIA,EAAG5kB,MAAQA,KACzD,OAAKkhB,EAIE,CAAC,IAAKA,GAHJ,CAAC,QAMZ+9E,EAAKS,MAAM,uBAAuBP,OAAM,SAAAj0C,GACtC,IAAMlrD,EAAKkrD,EAAOt5C,IAAIjG,MAAM,yBAAyB,GAC7CuV,EAAavgB,KAAKC,MAAMsqD,EAAO/oD,MAA/B+e,SACFrd,EAAQw7F,GAAkBr6E,WAAU,SAAAJ,GAAE,OAAIA,EAAG5kB,MAAQA,KAC3D,OAAK6D,GAILw7F,GAAkBx7F,GAAlB,eAAgCqd,GACzB,CAAC,MAJC,CAAC,QAOZ+9E,EAAK31E,SAAS,uBAAuB61E,OAAM,SAAAj0C,GACzC,IAAMlrD,EAAKkrD,EAAOt5C,IAAIjG,MAAM,yBAAyB,GAC/C9H,EAAQw7F,GAAkBr6E,WAAU,SAAAJ,GAAE,OAAIA,EAAG5kB,MAAQA,KAE3D,OADAq/F,GAAkBx6D,OAAOhhC,EAAO,IAChB,KAAXA,EACI,CAAC,KAGH,CAAC,QChGG,QACb,CACE7D,GAAI,EACJylD,GAAI,YACJxK,SAAU,SACV0K,GAAI,YACJC,IAAK,WACLC,KAAM,QACNC,IAAK,SAEP,CACE9lD,GAAI,EACJylD,GAAI,YACJxK,SAAU,SACV0K,GAAI,YACJC,IAAK,WACLC,KAAM,QACNC,IAAK,SAEP,CACE9lD,GAAI,EACJylD,GAAI,YACJxK,SAAU,MACV0K,GAAI,YACJC,IAAK,WACLC,KAAM,QACNC,IAAK,SAEP,CACE9lD,GAAI,EACJylD,GAAI,YACJxK,SAAU,MACV0K,GAAI,YACJC,IAAK,WACLC,KAAM,QACNC,IAAK,UChCM,SAAS66C,GAAgB1B,GACtCA,EAAKC,OAAO,mBAAmBC,OAAM,YAAe,IAAZh9F,EAAW,EAAXA,KAC9B+e,EAAavgB,KAAKC,MAAMuB,GAAxB+e,SACR,EAOIA,EANFukC,UADF,MACO,GADP,IAOIvkC,EALF+5B,gBAFF,MAEa,GAFb,IAOI/5B,EAJFykC,UAHF,MAGO,GAHP,IAOIzkC,EAHF0kC,WAJF,MAIQ,GAJR,IAOI1kC,EAFF2kC,YALF,MAKS,GALT,IAOI3kC,EADF4kC,WANF,MAMQ,GANR,EAUMs5C,EAAc,CAClBp/F,GA6EN,WACE,IAAM8kB,EAAM87E,GAAqBj9F,KAAI,SAACihB,GAAD,OAAQA,EAAG5kB,MAEhD,OADc2K,KAAKgrB,IAAL,MAAAhrB,KAAI,YAAQma,IACX,EAlFFw6E,GAGT75C,KACAxK,WACA0K,KACAC,MACAC,OACAC,OAGF,OADA86C,GAAqBl4F,KAAK02F,GACnB,CAAC,IAAK,CAAEl+E,SAAUk+E,OAG3BH,EAAKC,OAAO,wBAAwBC,OAAM,SAACj0C,GACzC,IAAMq0C,EAAY,IAAI1B,EACd34E,EAAgBvkB,KAAKC,MAAMsqD,EAAO/oD,MAAlC+iB,YAKR,MAAO,CAAC,IAJiBq6E,EAAUC,WACjCoB,GACA17E,OAKJ+5E,EAAKC,OAAO,mCAAmCC,OAAM,SAACj0C,GAQpD,OAPgBvqD,KAAKC,MAAMsqD,EAAO/oD,MAA1B2iB,IACJhkB,SAAQ,SAACd,GACX,IAAM6D,EAAQ+8F,GAAqB57E,WAAU,SAACJ,GAAD,OAAQA,EAAG5kB,KAAOA,KAC3D6D,GAAS,GACX+8F,GAAqB/7D,OAAOhhC,EAAO,MAGhC,CAAC,QAGVo7F,EAAKC,OAAO,4CAA4CC,OAAM,SAACj0C,GAC7D,MAAwBvqD,KAAKC,MAAMsqD,EAAO/oD,MAAlC2iB,EAAR,EAAQA,IAAKnQ,EAAb,EAAaA,OAMb,OALAisF,GAAqB9/F,SAAQ,SAAC8jB,GACxBE,EAAIE,WAAU,SAAChlB,GAAD,OAAQA,IAAO4kB,EAAG5kB,OAAO,IACzC4kB,EAAGjQ,OAASA,MAGT,CAAC,QAGVsqF,EAAKQ,MAAM,yBAAyBN,OAAM,SAACj0C,GACzC,IAAMlrD,EAAKkrD,EAAOt5C,IAAIjG,MAAM,2BAA2B,GACjDuV,EAAW0/E,GAAqB79E,MAAK,SAAC6B,GAAD,OAAQA,EAAG5kB,MAAQA,KAC9D,OAAKkhB,EAIE,CAAC,IAAKA,GAHJ,CAAC,QAMZ+9E,EAAKS,MAAM,yBAAyBP,OAAM,SAACj0C,GACzC,IAAMlrD,EAAKkrD,EAAOt5C,IAAIjG,MAAM,2BAA2B,GAC/CuV,EAAavgB,KAAKC,MAAMsqD,EAAO/oD,MAA/B+e,SACFrd,EAAQ+8F,GAAqB57E,WAAU,SAACJ,GAAD,OAAQA,EAAG5kB,MAAQA,KAChE,OAAK6D,GAIL+8F,GAAqB/8F,GAArB,eAAmCqd,GAC5B,CAAC,MAJC,CAAC,QAOZ+9E,EAAK31E,SAAS,yBAAyB61E,OAAM,SAACj0C,GAC5C,IAAMlrD,EAAKkrD,EAAOt5C,IAAIjG,MAAM,2BAA2B,GACjD9H,EAAQ+8F,GAAqB57E,WAAU,SAACJ,GAAD,OAAQA,EAAG5kB,MAAQA,KAEhE,OADA4gG,GAAqB/7D,OAAOhhC,EAAO,IACnB,KAAXA,EACI,CAAC,KAGH,CAAC,Q,2yMCtFZ,IAGIg9F,GAHEhjG,GAAU,IAAIC,IAAa,MAC3BC,GAAKC,IAAIH,I,+CAGA,WAA+BohG,GAA/B,IACJjrD,EAYM8sD,EAbF,EAoCEC,EApCF,EA4DEC,EA5DF,EAmFEC,EAnFF,iHAmFb,WAA+BjhG,GAA/B,kFACeiU,MAAM,GAAD,OAAIxP,OAAOyP,QAAX,wBAAkClU,GAAM,CACxDmU,OAAQ,SACRC,iBAAiB,EACjBC,QAAS,CACPC,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,sBAGjBC,KATU,wCASL,WAAOC,GAAP,2FACGA,GADH,2CATK,uDAYVD,MAAK,SAACM,GACL,OAAOk/B,EAAcl/B,MAEtBC,OAAM,SAACtV,GACN,OAAOu0C,EAAcv0C,MAjB3B,oFAnFa,uBAmFEwhG,EAnFF,yFA4Db,WAA4B/sD,EAAUl0C,GAAtC,+EACMkhG,EAAWhtD,EAAQ,SADzB,kBAESjgC,MAAM,GAAD,OAAIxP,OAAOyP,QAAX,wBAAkClU,GAAM,CAClDmU,OAAQ,MACRC,iBAAiB,EACjBC,QAAS,CACPC,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,oBAElBvV,KAAM2B,KAAKE,UAAUqgG,KAEpB1sF,KAVI,wCAUC,WAAOC,GAAP,kFACSA,EADT,mFAVD,uDAaJD,MAAK,SAACM,GACL,OAAOk/B,EAAcl/B,MAEtBC,OAAM,SAACtV,GACN,OAAOu0C,EAAcv0C,OAnB3B,4CA5Da,uBA4DEuhG,EA5DF,2FAoCb,WAA6B9sD,GAA7B,2FACSjgC,MAAMxP,OAAOyP,QAAU,eAAgB,CAC5CC,OAAQ,OACRC,iBAAiB,EACjBC,QAAS,CACPC,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,oBAElBvV,KAAM2B,KAAKE,UAAUqzC,KAEpB1/B,KAVI,wCAUC,WAAOC,GAAP,0FACqBA,EAASE,OAD9B,cACED,EADF,gBAEeD,EAAS1N,OAFxB,cAEE5E,EAFF,yBAGGyS,QAAQC,IAAI,CAACH,EAAYvS,KAH5B,2CAVD,uDAeJqS,MAAK,SAACM,GACL,OAAOA,EAAI,MAEZC,OAAM,SAACtV,GACNuD,QAAQC,IAAIxD,OApBlB,4CApCa,uBAoCEshG,EApCF,yFAab,+FACe9sF,MAAMxP,OAAOyP,QAAU,eAAgB,CAClDC,OAAQ,MACRC,iBAAiB,EACjBC,QAAS,CACPC,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,sBAGjBC,KATU,wCASL,WAAOC,GAAP,0FACqBA,EAASE,OAD9B,cACED,EADF,gBAEeD,EAAS1N,OAFxB,cAEE5E,EAFF,yBAGGyS,QAAQC,IAAI,CAACH,EAAYvS,KAH5B,2CATK,uDAcVqS,MAAK,SAACM,GACL,OAAOorF,GAASprF,EAAI,OAErBC,OAAM,SAAC5K,GACNnH,QAAQmH,MAAMA,MAnBpB,oFAba,uBAaE22F,EAbF,2CACJ9sD,EADI,SACUl/B,GACrB,IAAIH,EAASG,EAAIH,OACbs/B,EAAan/B,EAAIm/B,WACrB,OAAe,MAAXt/B,GACFnV,YAAa,UAAW,YACjB,GACa,MAAXmV,GACTnV,YAAa,QAASy0C,IACf,QAFF,GAmGTgrD,EAAKC,OAAO,mBAAmBC,MAA/B,wCAAqC,+GAASh9F,EAAT,EAASA,KAAT,EACdxB,KAAKC,MAAMuB,GAAxB+e,EAD2B,EAC3BA,SAD2B,EAEiBA,EAA5Cu0E,YAF2B,MAEpB,GAFoB,IAEiBv0E,EAAjC6tE,aAFgB,MAER,GAFQ,IAEiB7tE,EAArBrD,YACzBsjF,EAAe,CACnB1L,OACA1G,QACAlxE,iBANiC,MAEU,GAFV,YAQTkjF,EAAcI,GARL,cAQ/BC,EAR+B,OASnCD,EAAanhG,GAAKohG,EAAc59F,GAChCq9F,GAAmBn4F,KAAKy4F,GAVW,kBAW5B,CAAC,IAAK,CAAEjgF,SAAUigF,KAXU,4CAArC,uDAcAlC,EAAKC,OAAO,wBAAwBC,MAApC,wCAA0C,WAAOj0C,GAAP,qFAClCq0C,EAAY,IAAI1B,EADkB,EAEhBl9F,KAAKC,MAAMsqD,EAAO/oD,MAAlC+iB,EAFgC,EAEhCA,YAFgC,SAGb47E,IAHa,cAGxCD,GAHwC,OAIlCQ,EAAqB9B,EAAUC,WACnCqB,GACA37E,GANsC,kBAQjC,CAAC,IAAKm8E,IAR2B,2CAA1C,uDAWApC,EAAKQ,MAAM,yBAAyBN,MAApC,wCAA0C,WAAOj0C,GAAP,6EAClClrD,EAAKkrD,EAAOt5C,IAAIjG,MAAM,2BAA2B,GACjD21F,EAAYT,GAAmB99E,MAAK,SAAC6B,GAAD,OAAQA,EAAG5kB,MAAQA,KAFrB,yCAI/B,CAAC,MAJ8B,gCAMjC,CAAC,IAAKshG,IAN2B,2CAA1C,uDASArC,EAAKS,MAAM,yBAAyBP,MAApC,wCAA0C,WAAOj0C,GAAP,qFAClClrD,EAAKkrD,EAAOt5C,IAAIjG,MAAM,2BAA2B,GACjD41F,EAAe5gG,KAAKC,MAAMsqD,EAAO/oD,MAC/Bm/F,EAAcC,EAAdD,UAHgC,SAIfN,EAAaO,EAAcvhG,GAJZ,2DAM/B,GAN+B,WASzB,KADT6D,EAAQg9F,GAAmB77E,WAAU,SAACJ,GAAD,OAAQA,EAAG5kB,MAAQA,MARtB,0CASf,CAAC,MATc,eAUxC6gG,GAAmBh9F,GAAnB,eAAiCy9F,GAVO,kBAWjC,CAAC,MAXgC,4CAA1C,uDAcArC,EAAK31E,SAAS,yBAAyB61E,MAAvC,wCAA6C,WAAOj0C,GAAP,6EACrClrD,EAAKkrD,EAAOt5C,IAAIjG,MAAM,2BAA2B,IAExC,KADT9H,EAAQg9F,GAAmB77E,WAAU,SAACJ,GAAD,OAAQA,EAAG5kB,MAAQA,MAFnB,yCAGlB,CAAC,MAHiB,uBAIfihG,EAAgBjhG,GAJD,0DAKd,CAAC,MALa,cAM3C6gG,GAAmBh8D,OAAOhhC,EAAO,GANU,kBAOpC,CAAC,MAPmC,4CAA7C,uDA1Ja,6C,sBAqKf,SAASq8F,GAASv4F,GAChB,IAAK,IAAI/D,KAAQ+D,EACfA,EAAK/D,GAAM5D,GAAK2H,EAAK/D,GAAMJ,UACpBmE,EAAK/D,GAAMJ,GAEpB,OAAOmE,E,2yMC/KT,IAAM9J,GAAU,IAAIC,IAAa,MAC3BC,GAAKC,IAAIH,I,+CAEA,WAAmCohG,GAAnC,IACJjrD,EAWMwtD,EAZF,EAmCEC,EAnCF,EA0DEC,EA1DF,EA+EEC,EA/EF,EAuGEC,EAvGF,EA+HEC,EA/HF,iHA+Hb,WAAoC7hG,EAAI8hG,GAAxC,kFACe7tF,MAAM,GAAD,OACbxP,OAAOyP,QADM,4BACqBlU,EADrB,2BAC0C8hG,GAC1D,CACE3tF,OAAQ,SACRC,iBAAiB,EACjBC,QAAS,CACPiL,OAAQ,oCACRhL,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,sBAInBC,KAbU,wCAaL,WAAOC,GAAP,2FACGA,GADH,2CAbK,uDAgBVD,MAAK,SAACM,GACL,OAAOk/B,EAAcl/B,MAEtBC,OAAM,SAACtV,GACN,OAAOu0C,EAAcv0C,MArB3B,oFA/Ha,uBA+HEoiG,EA/HF,2FAuGb,WAAiC3tD,EAAUl0C,GAA3C,+EACMkhG,EAAWhtD,EAAQ,eADzB,kBAESjgC,MAAM,GAAD,OAAIxP,OAAOyP,QAAX,4BAAsClU,GAAM,CACtDmU,OAAQ,MACRC,iBAAiB,EACjBC,QAAS,CACPiL,OAAQ,oCACRhL,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,oBAElBvV,KAAM2B,KAAKE,UAAUqgG,KAEpB1sF,KAXI,wCAWC,WAAOC,GAAP,2FACGA,GADH,2CAXD,uDAcJD,MAAK,SAACM,GACL,OAAOk/B,EAAcl/B,MAEtBC,OAAM,SAACtV,GACN,OAAOu0C,EAAcv0C,OApB3B,4CAvGa,uBAuGEmiG,EAvGF,2FA+Eb,WAAkC1tD,GAAlC,2FACSjgC,MAAM,GAAD,OAAIxP,OAAOyP,QAAX,oBAAsC,CAChDC,OAAQ,OACRC,iBAAiB,EACjBC,QAAS,CACP,eAAgB,mBAChBC,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,UAElBvV,KAAM2B,KAAKE,UAAUqzC,KAEpB1/B,KAVI,wCAUC,WAAOC,GAAP,iFACEC,EAAaD,EAASE,OADxB,SAEeF,EAAS1N,OAFxB,cAEE5E,EAFF,yBAGGyS,QAAQC,IAAI,CAACH,EAAYvS,KAH5B,2CAVD,uDAeJqS,MAAK,SAACM,GACL,OAAOA,EAAI,MAEZC,OAAM,SAACtV,GACNuD,QAAQC,IAAIxD,OApBlB,4CA/Ea,uBA+EEkiG,EA/EF,yFA0Db,+FACe1tF,MAAM,GAAD,OAAIxP,OAAOyP,QAAX,wBAA0C,CAC1DC,OAAQ,MACRC,iBAAiB,EACjBC,QAAS,CACPiL,OAAQ,oCACR,eAAgB,mBAChBhL,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,YAGjBC,MAAK,SAACM,GAAD,OAASA,EAAI/N,UAClByN,MAAK,SAACM,GACL,OAAOA,KAERC,OAAM,SAACtV,GAEN,OADAD,YAAa,QAAS,QACf,KAjBb,oFA1Da,uBA0DEkiG,EA1DF,wFAmCb,WAAiCl+F,GAAjC,kFACeyQ,MAAM,GAAD,OAAIxP,OAAOyP,QAAX,4BAAsC1Q,GAAM,CAC5D2Q,OAAQ,MACRC,iBAAiB,EACjBC,QAAS,CACPC,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,sBAGjBC,KATU,wCASL,WAAOC,GAAP,iFACEC,EAAaD,EAASE,OADxB,SAEeF,EAAS1N,OAFxB,cAEE5E,EAFF,yBAGGyS,QAAQC,IAAI,CAACH,EAAYvS,KAH5B,2CATK,uDAcVqS,MAAK,SAACM,GACL,OAAOA,EAAI,MAEZC,OAAM,SAAC5K,GACNnH,QAAQmH,MAAMA,MAnBpB,oFAnCa,uBAmCEs3F,EAnCF,yFAYb,+FACextF,MAAM,GAAD,OAAIxP,OAAOyP,QAAX,oBAAsC,CACtDC,OAAQ,MACRC,iBAAiB,EACjBC,QAAS,CACPC,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,sBAGjBC,KATU,wCASL,WAAOC,GAAP,iFACEC,EAAaD,EAASE,OADxB,SAEeF,EAAS1N,OAFxB,cAEE5E,EAFF,yBAGGyS,QAAQC,IAAI,CAACH,EAAYvS,KAH5B,2CATK,uDAcVqS,MAAK,SAACM,GACL,OAAOorF,GAASprF,EAAI,OAErBC,OAAM,SAAC5K,GACNnH,QAAQmH,MAAMA,MAnBpB,oFAZa,uBAYEq3F,EAZF,2CACJxtD,EADI,SACUl/B,GACrB,IAAIH,EAASG,EAAIH,OACbs/B,EAAan/B,EAAIm/B,WACrB,OAAe,MAAXt/B,IAEkB,MAAXA,GACTnV,YAAa,QAASy0C,IACf,QAFF,IAmJTgrD,EAAKQ,MAAM,uBAAuBN,MAAlC,uBAAwC,4FAChCzyE,EAAM,GAD0B,SAEJg1E,IAFI,cAEtCh1E,EAAG,mBAFmC,gBAGP80E,IAHO,cAGtC90E,EAAG,gBAHmC,yBAI/B,CAAC,IAAKA,IAJyB,4CAOxCuyE,EAAKC,OAAO,uBAAuBC,MAAnC,wCAAyC,6GAASh9F,EAAT,EAASA,KAAT,EACZxB,KAAKC,MAAMuB,GAA9B4/F,EAD+B,EAC/BA,eAD+B,EAEYA,EAA3CxwF,aAF+B,MAEvB,GAFuB,IAEYwwF,EAA/BlkF,mBAFmB,MAEL,GAFK,EAEDmkF,EAAaD,EAAbC,SAChCC,EAAoB,CACxB1wF,QACAywF,WACAnkF,eANqC,SAQjC8jF,EAAmBM,GARc,gCAShC,CAAC,IAAK,CAAEF,eAAgBE,KATQ,2CAAzC,uDAYAhD,EAAKQ,MAAM,6BAA6BN,MAAxC,wCAA8C,WAAOj0C,GAAP,iFACtClrD,EAAKkrD,EAAOt5C,IAAIjG,MAAM,+BAA+B,GADf,SAGd81F,EAAkBzhG,GAHJ,UAGxCkiG,EAHwC,gDAKnC,CAAC,MALkC,gCAOrC,CAAC,IAAKA,IAP+B,2CAA9C,uDAUAjD,EAAKS,MAAM,6BAA6BP,MAAxC,wCAA8C,WAAOj0C,GAAP,iFACtClrD,EAAKkrD,EAAOt5C,IAAIjG,MAAM,+BAA+B,GACrDw2F,EAAoBxhG,KAAKC,MAAMsqD,EAAO/oD,MAFA,SAGdy/F,EAAkBO,EAAmBniG,GAHvB,2DAKnC,GALmC,gCAOrC,CAAC,MAPoC,2CAA9C,uDAUAi/F,EAAKC,OAAO,6BAA6BC,MAAzC,wCAA+C,WAAOj0C,GAAP,mFAClBvqD,KAAKC,MAAMsqD,EAAO/oD,MAArC4/F,EADqC,EACrCA,eADqC,SAEZF,EAC/BE,EAAev+F,GACfu+F,EAAeK,gBAJ4B,0DAMX,CAAC,MANU,gCAOtC,CAAC,MAPqC,2CAA/C,uDAhMa,6C,sBA2Mf,SAASlC,GAASv4F,GAChB,IAAK,IAAI/D,KAAQ+D,EACfA,EAAK/D,GAAM5D,GAAK2H,EAAK/D,GAAMJ,UACpBmE,EAAK/D,GAAMJ,GAEpB,OAAOmE,E,2yMCpNT,IAAM9J,GAAU,IAAIC,IAAa,MAC3BC,GAAKC,IAAIH,I,+CAEA,WAAkCohG,GAAlC,IAgDEplD,EAhDF,EA+DEwoD,EA/DF,EAoFEC,EApFF,EAyGEC,EAzGF,EA8HEC,EA9HF,EAkJEC,EAlJF,EA2KEC,EA3KF,EAoMEC,EApMF,EA4NEC,EA5NF,iHA4Nb,WAA2Bp/F,GAA3B,kFACeyQ,MAAM,GAAD,OAAIxP,OAAOyP,QAAX,sBAAgC1Q,EAAhC,YAA8C,CAC9D4Q,iBAAiB,EACjBC,QAAS,CACPC,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,sBAGjBC,KAPU,wCAOL,WAAOC,GAAP,0FACqBA,EAASE,OAD9B,cACED,EADF,gBAEeD,EAAS1N,OAFxB,cAEE5E,EAFF,yBAGGyS,QAAQC,IAAI,CAACH,EAAYvS,KAH5B,2CAPK,uDAYVqS,MAAK,SAACM,GACL,OAAOA,EAAI,MAEZC,OAAM,SAAC5K,GACNnH,QAAQmH,MAAMA,MAjBpB,oFA5Na,uBA4NEy4F,EA5NF,yFAoMb,WAA4B5iG,GAA5B,kFACeiU,MAAM,GAAD,OAAIxP,OAAOyP,QAAX,sBAAgClU,GAAM,CACtDmU,OAAQ,MACRC,iBAAiB,EACjBC,QAAS,CACPiL,OAAQ,oCACRhL,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,sBAGjBC,KAVU,wCAUL,WAAOC,GAAP,0FACqBA,EAASE,OAD9B,cACED,EADF,gBAEeD,EAAS1N,OAFxB,cAEE5E,EAFF,yBAGGyS,QAAQC,IAAI,CAACH,EAAYvS,KAH5B,2CAVK,uDAeVqS,MAAK,SAACM,GACL,OAAOA,EAAI,MAEZC,OAAM,SAAC5K,GACNnH,QAAQmH,MAAMA,MApBpB,oFApMa,uBAoMEw4F,EApMF,yFA2Kb,WAAgCzuD,EAAUl0C,GAA1C,+EACM6iG,EAAgB3uD,EAAQ,cAD9B,kBAESjgC,MAAM,GAAD,OAAIxP,OAAOyP,QAAX,2BAAqClU,GAAM,CACrDmU,OAAQ,MACRC,iBAAiB,EACjBC,QAAS,CACPC,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,oBAElBvV,KAAM2B,KAAKE,UAAUgiG,KAEpBruF,KATI,wCASC,WAAOC,GAAP,6EACEC,EAAaD,EAASE,OACxBxS,EAAO,GACQ,MAAfuS,EAHA,gCAGiCD,EAAS1N,OAH1C,OAGoB5E,EAHpB,uCAIGyS,QAAQC,IAAI,CAACH,EAAYvS,KAJ5B,2CATD,uDAeJqS,MAAK,SAACM,GACL,OAAOA,KAERC,OAAM,SAACtV,GACN,OAAOA,MArBb,4CA3Ka,uBA2KEijG,EA3KF,2FAkJb,WAAiCxuD,GAAjC,2FACSjgC,MAAM,GAAD,OAAIxP,OAAOyP,QAAX,mBAAqC,CAC/CC,OAAQ,OACRC,iBAAiB,EACjBC,QAAS,CACPC,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,oBAElBvV,KAAM2B,KAAKE,UAAUqzC,KAEpB1/B,KATI,wCASC,WAAOC,GAAP,iFACEC,EAAaD,EAASE,OACxBxS,EAAO,GAFP,SAISsS,EAAS1N,OAJlB,cAIJ5E,EAJI,yBAKGyS,QAAQC,IAAI,CAACH,EAAYvS,KAL5B,2CATD,uDAgBJqS,MAAK,SAACM,GACL,OAAOA,KAERC,OAAM,SAACtV,GACNuD,QAAQC,IAAIxD,OArBlB,4CAlJa,uBAkJEgjG,EAlJF,yFA8Hb,WAAoCvuD,GAApC,2FACSjgC,MAAM,GAAD,OAAIxP,OAAOyP,QAAX,0BAA4C,CACtDC,OAAQ,OACRE,QAAS,CAAE,eAAgB,oBAC3BrV,KAAM2B,KAAKE,UAAUqzC,KAEpB1/B,KALI,wCAKC,WAAOC,GAAP,6EACEC,EAAaD,EAASE,OACxBxS,EAAO,GACQ,MAAfuS,EAHA,gCAGiCD,EAAS1N,OAH1C,OAGoB5E,EAHpB,uCAIGyS,QAAQC,IAAI,CAACH,EAAYvS,KAJ5B,2CALD,uDAWJqS,MAAK,SAACM,GACL,OAAOA,KAERC,OAAM,SAACtV,GACNuD,QAAQC,IAAIxD,OAhBlB,4CA9Ha,uBA8HE+iG,EA9HF,yFAyGb,WAAkCh/F,GAAlC,kFACeyQ,MAAM,GAAD,OAAIxP,OAAOyP,QAAX,2BAAqC1Q,GAAM,CAC3D2Q,OAAQ,SACRC,iBAAiB,EACjBC,QAAS,CACPC,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,sBAGjBC,KARU,wCAQL,WAAOC,GAAP,wFACqBA,EAASE,OAD9B,cACED,EADF,yBAEGA,GAFH,2CARK,uDAYVF,MAAK,SAACM,GACL,OAAOA,KAERC,OAAM,SAAC5K,GACNnH,QAAQmH,MAAMA,MAjBpB,oFAzGa,uBAyGEo4F,EAzGF,yFAoFb,WAAgC/+F,GAAhC,kFACeyQ,MAAM,GAAD,OAAIxP,OAAOyP,QAAX,2BAAqC1Q,GAAM,CAC3D4Q,iBAAiB,EACjBC,QAAS,CACPC,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,sBAGjBC,KAPU,wCAOL,WAAOC,GAAP,0FACqBA,EAASE,OAD9B,cACED,EADF,gBAEeD,EAAS1N,OAFxB,cAEE5E,EAFF,yBAGGyS,QAAQC,IAAI,CAACH,EAAYvS,KAH5B,2CAPK,uDAYVqS,MAAK,SAACM,GACL,OAAOA,EAAI,MAEZC,OAAM,SAAC5K,GACNnH,QAAQmH,MAAMA,MAjBpB,oFApFa,uBAoFEm4F,EApFF,yFA+Db,+FACeruF,MAAM,GAAD,OAAIxP,OAAOyP,QAAX,mBAAqC,CACrDE,iBAAiB,EACjBC,QAAS,CACPC,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,sBAGjBC,KAPU,wCAOL,WAAOC,GAAP,0FACqBA,EAASE,OAD9B,cACED,EADF,gBAEeD,EAAS1N,OAFxB,cAEE5E,EAFF,yBAGGyS,QAAQC,IAAI,CAACH,EAAYvS,KAH5B,2CAPK,uDAYVqS,MAAK,SAACM,GACL,OAAOorF,GAASprF,EAAI,OAErBC,OAAM,SAAC5K,GACNnH,QAAQmH,MAAMA,MAjBpB,oFA/Da,uBA+DEk4F,EA/DF,wFAgDb,+FACepuF,MAAM,GAAD,OAAIxP,OAAOyP,QAAX,eACfM,KADU,wCACL,WAAOC,GAAP,0FACqBA,EAASE,OAD9B,cACED,EADF,gBAEeD,EAAS1N,OAFxB,cAEE5E,EAFF,yBAGGyS,QAAQC,IAAI,CAACH,EAAYvS,KAH5B,2CADK,uDAMVqS,MAAK,SAACM,GACL,OAAOorF,GAASprF,EAAI,OAErBC,OAAM,SAAC5K,GACNnH,QAAQmH,MAAMA,MAXpB,oFAhDa,uBAgDE0vC,EAhDF,2CAyPbolD,EAAKQ,MAAM,mCAAmCN,MAA9C,uBAAoD,qGAChCtlD,IADgC,cAC5CntB,EAD4C,yBAE3C,CAAC,IAAKA,IAFqC,4CAKpDuyE,EAAKQ,MAAM,sBAAsBN,MAAjC,uBAAuC,qGACnBkD,IADmB,cAC/B31E,EAD+B,yBAE9B,CAAC,IAAKA,IAFwB,4CAKvCuyE,EAAKQ,MAAM,4BAA4BN,MAAvC,wCAA6C,WAAOj0C,GAAP,iFACrClrD,EAAKkrD,EAAOt5C,IAAIjG,MAAM,8BAA8B,GADf,SAEzB22F,EAAiBtiG,GAFQ,UAErC0sB,EAFqC,gDAIlC,CAAC,MAJiC,gCAMpC,CAAC,IAAKA,IAN8B,2CAA7C,uDASAuyE,EAAKC,OAAO,6BAA6BC,MAAzC,wCAA+C,iGAASh9F,EAAT,EAASA,KAChD2gG,EAAiBniG,KAAKC,MAAMuB,GADW,SAE1BqgG,EAAqBM,GAFK,eAG9Bp9F,KADXqJ,EAFyC,SAGH,MAAdA,EAAO,GAHU,yCAIpC,CAAC,IAAK,CAAEg0F,SAAS,KAJmB,cAM3Ch0F,EAAO,GAAGg0F,SAAU,EANuB,kBAOpC,CAAC,IAAKh0F,EAAO,KAPuB,4CAA/C,uDAWAkwF,EAAKC,OAAL,sBAAkCC,MAAlC,wCAAwC,WAAOj0C,GAAP,qFACZvqD,KAAKC,MAAMsqD,EAAO/oD,MAApC6gG,EAD8B,EAC9BA,cAD8B,SAEnBP,EAAkBO,GAFC,eAGvBt9F,KADXqJ,EAFkC,SAGI,MAAdA,EAAO,GAHG,yCAI7B,CAAC,IAAK,CAAEg0F,SAAS,EAAM5gG,KAAM4M,EAAO,MAJP,cAMpCA,EAAO,GAAGg0F,SAAU,EANgB,kBAO7B,CAAC,IAAKh0F,EAAO,KAPgB,4CAAxC,uDAWAkwF,EAAK31E,SAAS,4BAA4B61E,MAA1C,wCAAgD,WAAOj0C,GAAP,iFACxClrD,EAAKkrD,EAAOt5C,IAAIjG,MAAM,8BAA8B,GADZ,SAE5B42F,EAAmBviG,GAFS,WAExC0sB,EAFwC,SAG1B,MAARA,EAHkC,yCAIrC,CAAC,MAJoC,gCAMvC,CAAC,MANsC,2CAAhD,uDASAuyE,EAAKS,MAAM,4BAA4BP,MAAvC,wCAA6C,WAAOj0C,GAAP,mFACrClrD,EAAKkrD,EAAOt5C,IAAIjG,MAAM,8BAA8B,GACpDs3F,EAAgBtiG,KAAKC,MAAMsqD,EAAO/oD,MAFG,SAGxBugG,EAAiBO,EAAejjG,GAHR,eAI5B0F,KADXqJ,EAHuC,SAID,MAAdA,EAAO,GAJQ,yCAKlC,CAAC,IAAK,CAAEg0F,SAAS,KALiB,cAOzCh0F,EAAO,GAAGg0F,SAAU,EAPqB,kBAQlC,CAAC,IAAKh0F,EAAO,KARqB,4CAA7C,uDAYAkwF,EAAKQ,MAAM,uCAAuCN,MAAlD,wCAAwD,WAAOj0C,GAAP,iFAChDlrD,EAAKkrD,EAAOt5C,IAAIjG,MAAM,yCAAyC,GADf,SAE7Bg3F,EAAa3iG,GAFgB,UAElDkjG,EAFkD,gDAG5B,CAAC,MAH2B,gCAI/C,CAAC,IAAKA,IAJyC,2CAAxD,uDAOAjE,EACGQ,MAAM,gDACNN,MAFH,wCAES,WAAOj0C,GAAP,iFACClrD,EAAKkrD,EAAOt5C,IAAIjG,MACpB,kDACA,GAHG,SAImBi3F,EAAY5iG,GAJ/B,UAIDmjG,EAJC,gDAKoB,CAAC,MALrB,gCAME,CAAC,IAAKA,IANR,2CAFT,uDA9Ta,6C,sBAoVf,SAASjD,GAASv4F,GAChB,IAAK,IAAI/D,KAAQ+D,EACfA,EAAK/D,GAAM5D,GAAK2H,EAAK/D,GAAMJ,UACpBmE,EAAK/D,GAAMJ,GAEpB,OAAOmE,E,wBC7VYk2F,G,0FASnB,SAAWC,EAAWC,GAAuC,IAAzBC,EAAwB,uDAAJ,GAElDC,EAAiBt/E,KAAKu/E,cACxBJ,EACAC,EAAa5uF,OACb6uF,GAKED,EAAarvE,YACfuvE,EAAiBt/E,KAAKw/E,UACpBF,EACAF,EAAarvE,UACbqvE,EAAatvE,YAOjB,IAAME,EAAaovE,EAAapvE,WAAa,EACvCnL,EAAay6E,EAAex1F,OAC5B21F,EAAazvE,EAAaovE,EAAanvE,SAOvCyvE,EAAe,CACnB56E,SAPFw6E,EAAiBA,EAAe58F,MAC9B+8F,EACAA,EAAaL,EAAanvE,UAM1BpL,WAAYA,EACZ86E,aAAc,IAEhB,OAAOD,I,uBAST,SAAUE,GAAsD,IAAtCC,EAAqC,uDAAxB,GAAIC,EAAoB,uDAAP,MACtD,IAAKD,EACH,OAAOD,EAET,IAAI6E,GAAU,EACd,IAAIxuF,SAAQ,SAACyuF,EAASC,GACpB/E,EAAez9F,SAAQ,SAAC/B,EAAO8E,EAAOm6B,GAElC78B,KACwB,OAAtBpC,EAAMy/F,GACFp9F,OAAOrC,EAAMy/F,IAAan9F,MAAM,EAAG,IACnC,GACJ,cACA,GACAC,YAEF8hG,GAAU,GAERv/F,IAAU06F,EAAe91F,OAAS,GACpC46F,UA0BN,OArBS9E,EAAejyF,MAAK,SAACnD,EAAGtE,GAC/B,OAAIu+F,EACE,IAAI7hG,KAAK4H,EAAEq1F,IAAe,IAAIj9F,KAAKsD,EAAE25F,IACjB,QAAfC,GAAwB,EAAI,EAGjC,IAAIl9F,KAAK4H,EAAEq1F,IAAe,IAAIj9F,KAAKsD,EAAE25F,IACjB,QAAfC,EAAuB,GAAK,EAE9B,EAEHt1F,EAAEq1F,GAAc35F,EAAE25F,GACE,QAAfC,GAAwB,EAAI,EAGjCt1F,EAAEq1F,GAAc35F,EAAE25F,GACE,QAAfC,EAAuB,GAAK,EAE9B,O,2BAab,SAAcF,EAAgBG,GAAoC,IAAzBV,EAAwB,uDAAJ,GACrDjvF,EAAS,GACX4vF,EAAe,GACbC,EAAU,GACZC,EAAe,GACfC,GAAW,EAmDf,OAjDAd,EAAkBl9F,SAAQ,SAAC8C,GACrBA,KAAQ86F,IACVH,EAAez9F,SAAQ,SAACiP,EAASlM,GAC3BkM,EAAQnM,KAAU86F,EAAU96F,IAC9Bi7F,EAAan2F,KAAK7E,MAGtBg7F,EAAa/9F,SAAQ,SAACiP,GACpB4uF,EAAaj2F,KAAK61F,EAAexuF,OAEnCwuF,EAAiBI,EAAat9F,MAAM,GACpCs9F,EAAe,GAAGt9F,MAAM,GACxBw9F,EAAe,GAAGx9F,MAAM,OAI5Bk9F,EAAez9F,SAAQ,SAACiP,EAASlM,GAC/B,IAAI0/F,GAAQ,EACZviG,OAAOC,KAAKy9F,GAAW59F,SAAQ,SAACoG,GAC9B,IAAMorB,EAAaosE,EAAUx3F,GAC1Bd,WACAkJ,OACAR,cACH,GAAI5H,IAAQ82F,EAAkBhuF,MAAK,SAACd,GAAD,OAAOA,IAAMhI,MAAQorB,EAAY,CAClEwsE,GAAW,EACX,IAEE,IADqB,IAAjB/uF,EAAQ7I,KAAgB6I,EAAQ7I,GAAO,SACvC6I,EAAQ7I,IAA0B,IAAjB6I,EAAQ7I,IAA6B,MAAforB,GAC5BviB,EAAQ7I,GAClBd,WACAkJ,OACAR,cAEI0G,QAAQ8c,KAAgB,IACD,IAA5BssE,EAAQppF,QAAQ3R,MAEhB0/F,GAAQ,GAGZ,MAAOxE,GACP/7F,QAAQC,IAAI87F,EAAI73F,EAAKorB,QAIvBixE,GACF3E,EAAQl2F,KAAK7E,MAIZi7F,GAILF,EAAQ99F,SAAQ,SAACk4B,GACfjqB,EAAOrG,KAAK61F,EAAevlE,OAGtBjqB,GAPEwvF,M,gzMClKb,IAEIc,GAFExhG,GAAU,IAAIC,IAAa,MAC3BC,GAAKC,IAAIH,IAkff,SAASyhG,KACP,IAAMx6E,EAAMu6E,GAAkB17F,KAAI,SAACihB,GAAD,OAAQA,EAAG5kB,MAE7C,OADc2K,KAAKgrB,IAAL,MAAAhrB,KAAI,YAAQma,IACX,EAGjB,SAASo7E,GAASv4F,GAChB,IAAK,IAAI/D,KAAQ+D,EACfA,EAAK/D,GAAM5D,GAAK2H,EAAK/D,GAAMJ,UACpBmE,EAAK/D,GAAMJ,GAEpB,OAAOmE,E,2yMC9fT,IAEI03F,GAFExhG,GAAU,IAAIC,IAAa,MAC3BC,GAAKC,IAAIH,I,+CAEA,WAAmCohG,GAAnC,IACJjrD,EAYMwvD,EAbF,EAoCEC,EApCF,EA6DEC,EA7DF,EAqFEC,EArFF,EA2GEC,EA3GF,EA6HEC,EA7HF,iHA6Hb,+FACe5vF,MAAMxP,OAAOyP,QAAU,aAAc,CAChDC,OAAQ,MACRE,QAAS,CACPiL,OAAQ,oCACR,eAAgB,sBAGjB9K,MAAK,SAACM,GAAD,OAASA,EAAI/N,UAClByN,MAAK,SAACM,GACL,OAAOA,KAERC,OAAM,SAACtV,GAEN,OADAD,YAAa,QAAS,QACf,KAdb,oFA7Ha,uBA6HEqkG,EA7HF,wFA2Gb,+FACe5vF,MAAMxP,OAAOyP,QAAU,aAAc,CAChDC,OAAQ,MACRE,QAAS,CACPiL,OAAQ,oCACR,eAAgB,sBAGjB9K,MAAK,SAACM,GAAD,OAASA,EAAI/N,UAClByN,MAAK,SAACM,GACL,OAAOA,KAERC,OAAM,SAACtV,GAEN,OADAD,YAAa,QAAS,QACf,KAdb,oFA3Ga,uBA2GEokG,EA3GF,wFAqFb,WAA+B5jG,GAA/B,kFACeiU,MAAMxP,OAAOyP,QAAU,eAAiBlU,EAAI,CACvDmU,OAAQ,SACRC,iBAAiB,EACjBC,QAAS,CACPiL,OAAQ,oCACRhL,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,sBAGjBC,KAVU,wCAUL,WAAOC,GAAP,2FACGA,GADH,2CAVK,uDAaVD,MAAK,SAACM,GACL,OAAOk/B,EAAcl/B,MAEtBC,OAAM,SAACtV,GACN,OAAOu0C,EAAcv0C,MAlB3B,oFArFa,uBAqFEkkG,EArFF,yFA6Db,WAA4BzvD,EAAUl0C,GAAtC,+EACMkhG,EAAWhtD,EAAQ,SADzB,kBAESjgC,MAAMxP,OAAOyP,QAAU,eAAiBlU,EAAI,CACjDmU,OAAQ,MACRC,iBAAiB,EACjBC,QAAS,CACPiL,OAAQ,oCACRhL,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,oBAElBvV,KAAM2B,KAAKE,UAAUqgG,KAEpB1sF,KAXI,wCAWC,WAAOC,GAAP,2FACGA,GADH,2CAXD,uDAcJD,MAAK,SAACM,GACL,OAAOk/B,EAAcl/B,MAEtBC,OAAM,SAACtV,GACN,OAAOu0C,EAAcv0C,OApB3B,4CA7Da,uBA6DEikG,EA7DF,2FAoCb,WAA6BxvD,GAA7B,2FACSjgC,MAAMxP,OAAOyP,QAAU,cAAe,CAC3CC,OAAQ,OACRC,iBAAiB,EACjBC,QAAS,CACPiL,OAAQ,oCACRhL,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,oBAElBvV,KAAM2B,KAAKE,UAAUqzC,KAEpB1/B,KAXI,wCAWC,WAAOC,GAAP,iFACEC,EAAaD,EAASE,OADxB,SAEeF,EAAS1N,OAFxB,cAEE5E,EAFF,yBAGGyS,QAAQC,IAAI,CAACH,EAAYvS,KAH5B,2CAXD,uDAgBJqS,MAAK,SAACM,GACL,OAAOA,EAAI,MAEZC,OAAM,SAAC5K,QApBZ,4CApCa,uBAoCEs5F,EApCF,yFAab,+FACexvF,MAAMxP,OAAOyP,QAAU,cAAe,CACjDC,OAAQ,MACRC,iBAAiB,EACjBC,QAAS,CACPC,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,sBAGjBC,KATU,wCASL,WAAOC,GAAP,iFACEC,EAAaD,EAASE,OADxB,SAEeF,EAAS1N,OAFxB,cAEE5E,EAFF,yBAGGyS,QAAQC,IAAI,CAACH,EAAYvS,KAH5B,2CATK,uDAcVqS,MAAK,SAACM,GACL,OAAOorF,GAASprF,EAAI,OAErBC,OAAM,SAAC5K,GACNnH,QAAQmH,MAAMA,MAnBpB,oFAba,uBAaEq5F,EAbF,2CACJxvD,EADI,SACUl/B,GACrB,IAAIH,EAASG,EAAIH,OACbs/B,EAAan/B,EAAIm/B,WACrB,OAAe,MAAXt/B,GACFnV,YAAa,UAAW,YACjB,GACa,MAAXmV,GACTnV,YAAa,QAASy0C,IACf,QAFF,GAyITgrD,EAAKQ,MAAM,4BAA4BN,MAAvC,uBAA6C,4FACrCzyE,EAAM,GAD+B,SAEfk3E,IAFe,cAE3Cl3E,EAAG,aAFwC,gBAGlBm3E,IAHkB,cAG3Cn3E,EAAG,UAHwC,yBAIpC,CAAC,IAAKA,IAJ8B,4CAO7CuyE,EAAKQ,MAAM,gCAAgCN,MAA3C,uBAAiD,4FACzCzyE,EAAM,GADmC,SAElB82E,IAFkB,cAE/C92E,EAAG,cAF4C,yBAGxC,CAAC,IAAKA,IAHkC,4CAMjDuyE,EAAKC,OAAO,uBAAuBC,MAAnC,wCAAyC,2LAASh9F,EAAT,EAASA,KAAT,EAClBxB,KAAKC,MAAMuB,GAAxB+e,EAD+B,EAC/BA,SAD+B,EAyBnCA,EAtBFzd,YAHqC,MAG9B,GAH8B,IAyBnCyd,EArBF4B,YAJqC,MAI9B,GAJ8B,IAyBnC5B,EApBF4iB,aALqC,MAK7B,GAL6B,IAyBnC5iB,EAnBF4kB,mBANqC,MAMvB,GANuB,IAyBnC5kB,EAlBFlX,gBAPqC,MAO1B,GAP0B,IAyBnCkX,EAjBF4iF,iBARqC,MAQzB,GARyB,IAyBnC5iF,EAhBF8kB,mBATqC,MASvB,GATuB,IAyBnC9kB,EAfF+kB,qBAVqC,MAUrB,GAVqB,IAyBnC/kB,EAdFglB,mBAXqC,MAWvB,GAXuB,IAyBnChlB,EAbFujB,WAZqC,MAY/B,GAZ+B,IAyBnCvjB,EAZF2iB,yBAbqC,MAajB,EAbiB,IAyBnC3iB,EAXFykB,gBAdqC,MAc1B,GAd0B,IAyBnCzkB,EAVF0kB,gBAfqC,MAe1B,GAf0B,IAyBnC1kB,EATF2kB,eAhBqC,MAgB3B,GAhB2B,IAyBnC3kB,EARFilB,eAjBqC,MAiB3B,GAjB2B,IAyBnCjlB,EAPF4O,YAlBqC,MAkB9B,GAlB8B,IAyBnC5O,EANF2L,aAnBqC,MAmB7B,GAnB6B,IAyBnC3L,EALF6iF,gBApBqC,WAyBnC7iF,EAJFqe,cArBqC,MAqB5B,EArB4B,IAyBnCre,EAHFq1B,kBAtBqC,MAsB1B,KAtB0B,IAyBnCr1B,EAFFsU,gBAvBqC,MAuB1B,EAvB0B,IAyBnCtU,EADF0iB,SAGIw7D,EAAc,CAClB37F,OACAqf,OACAghB,QACAgC,cACAi+D,WACA/5F,WACA85F,YACA99D,cACAC,gBACAC,cACAzB,MACAZ,oBACA8B,WACAC,WACAC,UACAM,UACArW,OACAjD,QACA0S,SACAgX,aACA/gB,WACAoO,cAjDqC,MAwB1B,GAxB0B,YAmDb6/D,EAAcrE,GAnDD,aAoDZ,SADvB4E,EAnDmC,QAoDrBlhF,MAEgB,QAAvBkhF,EAAclhF,KADvBtjB,YAAa,QAASwkG,EAAcvuF,SAIpCjW,YAAa,UAAWwkG,EAAcvuF,SAExCrX,SAASsR,eAAe,iBAAiBinB,QACzC0oE,GAAkB32F,KAAK02F,GA5DgB,kBA6DhC,CAAC,IAAK,CAAEl+E,SAAUk+E,KA7Dc,4CAAzC,uDAgEAH,EAAKC,OAAO,4BAA4BC,MAAxC,wCAA8C,WAAOj0C,GAAP,uFACtCq0C,EAAY,IAAI1B,EADsB,EAEpBl9F,KAAKC,MAAMsqD,EAAO/oD,MAAlC+iB,EAFoC,EAEpCA,YAFoC,SAGlBs+E,IAHkB,cAG5CnE,GAH4C,OAMd,KAA5Bn6E,EAAY/V,OAAO1L,WACSiC,IAA5Bwf,EAAY/V,OAAO1L,OAEbwgG,EAAmB/+E,EAAY/V,OAAO1L,KAAKqL,cACjDuwF,GAAoBA,GAAkBlwF,QACpC,SAACm+D,GAAD,OACElsE,OAAOksE,EAAK7pE,KAAKqL,eAAeS,SAASnO,OAAO6iG,KAChD7iG,OAAOksE,EAAK3nC,SAAS72B,eAAeS,SAClCnO,OAAO6iG,KAET7iG,OAAOksE,EAAKx9C,KAAKhhB,eAAeS,SAASnO,OAAO6iG,KAChD7iG,OAAOksE,EAAKzgD,MAAM/d,eAAeS,SAASnO,OAAO6iG,KACjD7iG,OAAOksE,EAAKttE,IAAIuP,SAASnO,OAAO8jB,EAAY/V,OAAO1L,kBAGlDyhB,EAAY/V,OAAOojB,mBACnBrN,EAAY/V,OAAO1L,KACpB48F,EAAmBd,EAAUC,WACjCH,GACAn6E,GAzB0C,kBA2BrC,CAAC,IAAKm7E,IA3B+B,4CAA9C,uDA8BApB,EAAKC,OAAO,8BAA8BC,MAA1C,wCAAgD,WAAOj0C,GAAP,qFACxCq0C,EAAY,IAAI1B,EADwB,EAEtBl9F,KAAKC,MAAMsqD,EAAO/oD,MAAlC+iB,EAFsC,EAEtCA,YAFsC,SAGpBs+E,IAHoB,cAG9CnE,GAH8C,cAIvCn6E,EAAY/V,OAAOojB,YACpB8tE,EAAmBd,EAAUC,WACjCH,GACAn6E,GAP4C,kBASvC,CAAC,IAAKm7E,IATiC,2CAAhD,uDAWApB,EAAKC,OAAO,uCAAuCC,MAAnD,wCAAyD,WAAOj0C,GAAP,iFACvCvqD,KAAKC,MAAMsqD,EAAO/oD,MADqB,EAC/C2iB,IACJhkB,SAAQ,SAACd,GACX,IAAM6D,EAAQw7F,GAAkBr6E,WAAU,SAACJ,GAAD,OAAQA,EAAG5kB,KAAOA,KACxD6D,GAAS,GACXw7F,GAAkBx6D,OAAOhhC,EAAO,MALmB,kBAQhD,CAAC,MAR+C,2CAAzD,uDAWAo7F,EACGC,OAAO,gDACPC,MAFH,wCAES,WAAOj0C,GAAP,qFACmBvqD,KAAKC,MAAMsqD,EAAO/oD,MAAlC2iB,EADH,EACGA,IAAKnQ,EADR,EACQA,OACb0qF,GAAkBv+F,SAAQ,SAAC8jB,GACrBE,EAAIE,WAAU,SAAChlB,GAAD,OAAQA,IAAO4kB,EAAG5kB,OAAO,IACzC4kB,EAAGjQ,OAASA,MAJX,kBAOE,CAAC,MAPH,2CAFT,uDAYAsqF,EAAKQ,MAAM,6BAA6BN,MAAxC,wCAA8C,WAAOj0C,GAAP,6EACtClrD,EAAKkrD,EAAOt5C,IAAIjG,MAAM,+BAA+B,GACrDuV,EAAWm+E,GAAkBt8E,MAAK,SAAC6B,GAAD,OAAQA,EAAG5kB,MAAQA,KAFf,yCAInC,CAAC,MAJkC,gCAMrC,CAAC,IAAKkhB,IAN+B,2CAA9C,uDASA+9E,EAAKS,MAAM,6BAA6BP,MAAxC,wCAA8C,WAAOj0C,GAAP,qFACtClrD,EAAKkrD,EAAOt5C,IAAIjG,MAAM,+BAA+B,GACrD20F,EAAc3/F,KAAKC,MAAMsqD,EAAO/oD,MAC9B+e,EAAao/E,EAAbp/E,SAHoC,SAIzBwiF,EAAapD,EAAatgG,GAJD,0DAMnC,CAAC,MANkC,WAS7B,KADT6D,EAAQw7F,GAAkBr6E,WAAU,SAACJ,GAAD,OAAQA,EAAG5kB,MAAQA,MARjB,0CAUnC,CAAC,MAVkC,eAY5Cq/F,GAAkBx7F,GAAlB,eAAgCqd,GAZY,kBAarC,CAAC,MAboC,4CAA9C,uDAgBA+9E,EAAK31E,SAAS,6BAA6B61E,MAA3C,wCAAiD,WAAOj0C,GAAP,6EACzClrD,EAAKkrD,EAAOt5C,IAAIjG,MAAM,+BAA+B,IAE5C,KADT9H,EAAQw7F,GAAkBr6E,WAAU,SAACJ,GAAD,OAAQA,EAAG5kB,MAAQA,MAFd,yCAItC,CAAC,MAJqC,uBAMzB2jG,EAAgB3jG,GANS,0DAQtC,CAAC,MARqC,cAU/Cq/F,GAAkBx6D,OAAOhhC,EAAO,GAVe,kBAWxC,CAAC,MAXuC,4CAAjD,uDAtTa,6C,sBAqUf,SAASq8F,GAASv4F,GAChB,IAAK,IAAI/D,KAAQ+D,EACfA,EAAK/D,GAAM5D,GAAK2H,EAAK/D,GAAMJ,UACpBmE,EAAK/D,GAAMJ,GAEpB,OAAOmE,ECjVM,QACb,CACE3H,GAAI,EACJ6d,YAAa,qCACbqmF,WAAY,qCACZC,YAAa,oCACbC,WAAY,oCACZC,YAAa,oCAEb9D,QAAS,EACTC,aAAc,aACdC,aAAc,cAEhB,CACEzgG,GAAI,EACJ6d,YAAa,oCACbqmF,WAAY,qCACZC,YAAa,qCACbC,WAAY,oCACZC,YAAa,qCAEb9D,QAAS,EACTC,aAAc,aACdC,aAAc,eCpBH,SAAS6D,GAAmBrF,GACzCA,EAAKC,OAAO,4BAA4BC,OAAM,YAAe,IAAZh9F,EAAW,EAAXA,KACvC+e,EAAavgB,KAAKC,MAAMuB,GAAxB+e,SACR,EAIIA,EAHFw1B,mBADF,MACgB,GADhB,IAIIx1B,EAFFqe,cAFF,MAEW,EAFX,IAIIre,EADFo1B,oBAHF,MAGiB,GAHjB,EAOM8oD,EAAc,CAClBp/F,GA0EN,WACE,IAAM8kB,EAAMu6E,GAAkB17F,KAAI,SAAAihB,GAAE,OAAIA,EAAG5kB,MAE3C,OADc2K,KAAKgrB,IAAL,MAAAhrB,KAAI,YAAQma,IACX,EA/EFw6E,GAGT5oD,cACAnX,SACA+W,gBAGF,OADA+oD,GAAkB32F,KAAK02F,GAChB,CAAC,IAAK,CAAEl+E,SAAUk+E,OAG3BH,EAAKC,OAAO,iCAAiCC,OAAM,SAAAj0C,GACjD,IAAMq0C,EAAY,IAAI1B,EACd34E,EAAgBvkB,KAAKC,MAAMsqD,EAAO/oD,MAAlC+iB,YAKR,MAAO,CAAC,IAJiBq6E,EAAUC,WACjCH,GACAn6E,OAKJ+5E,EAAKC,OAAO,4CAA4CC,OAAM,SAAAj0C,GAQ5D,OAPgBvqD,KAAKC,MAAMsqD,EAAO/oD,MAA1B2iB,IACJhkB,SAAQ,SAAAd,GACV,IAAM6D,EAAQw7F,GAAkBr6E,WAAU,SAAAJ,GAAE,OAAIA,EAAG5kB,KAAOA,KACtD6D,GAAS,GACXw7F,GAAkBx6D,OAAOhhC,EAAO,MAG7B,CAAC,QAGVo7F,EAAKC,OAAO,qDAAqDC,OAAM,SAAAj0C,GACrE,MAAwBvqD,KAAKC,MAAMsqD,EAAO/oD,MAAlC2iB,EAAR,EAAQA,IAAKnQ,EAAb,EAAaA,OAMb,OALA0qF,GAAkBv+F,SAAQ,SAAA8jB,GACpBE,EAAIE,WAAU,SAAAhlB,GAAE,OAAIA,IAAO4kB,EAAG5kB,OAAO,IACvC4kB,EAAGjQ,OAASA,MAGT,CAAC,QAGVsqF,EAAKQ,MAAM,kCAAkCN,OAAM,SAAAj0C,GACjD,IAAMlrD,EAAKkrD,EAAOt5C,IAAIjG,MAAM,oCAAoC,GAC1DuV,EAAWm+E,GAAkBt8E,MAAK,SAAA6B,GAAE,OAAIA,EAAG5kB,MAAQA,KACzD,OAAKkhB,EAIE,CAAC,IAAKA,GAHJ,CAAC,QAMZ+9E,EAAKS,MAAM,kCAAkCP,OAAM,SAAAj0C,GACjD,IAAMlrD,EAAKkrD,EAAOt5C,IAAIjG,MAAM,oCAAoC,GACxDuV,EAAavgB,KAAKC,MAAMsqD,EAAO/oD,MAA/B+e,SACFrd,EAAQw7F,GAAkBr6E,WAAU,SAAAJ,GAAE,OAAIA,EAAG5kB,MAAQA,KAC3D,OAAK6D,GAILw7F,GAAkBx7F,GAAlB,eAAgCqd,GACzB,CAAC,MAJC,CAAC,QAOZ+9E,EAAK31E,SAAS,kCAAkC61E,OAAM,SAAAj0C,GACpD,IAAMlrD,EAAKkrD,EAAOt5C,IAAIjG,MAAM,oCAAoC,GAC1D9H,EAAQw7F,GAAkBr6E,WAAU,SAAAJ,GAAE,OAAIA,EAAG5kB,MAAQA,KAE3D,OADAq/F,GAAkBx6D,OAAOhhC,EAAO,IAChB,KAAXA,EACI,CAAC,KAGH,CAAC,Q,2yMChFZ,IAEIw7F,GAFExhG,GAAU,IAAIC,IAAa,MAC3BC,GAAKC,IAAIH,I,+CAEA,WAAyBohG,GAAzB,IACJjrD,EAYMuwD,EAbF,EAoDEC,EApDF,EA6EEC,EA7EF,EAqGEC,EArGF,EA0HE7qD,EA1HF,EA8IE8qD,EA9IF,EAkKEnB,EAlKF,EAsLEoB,EAtLF,EA0MEC,EA1MF,EA8NEC,EA9NF,EAiPEC,EAjPF,EAqQEC,EArQF,EA0aEC,EA1aF,iHA0ab,WAAuBjlG,GAAvB,kFACeiU,MAAMxP,OAAOyP,QAAU,UAAYlU,EAAI,CAClDmU,OAAQ,MACRC,iBAAiB,EACjBC,QAAS,CACPC,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,sBAGjBC,KATU,wCASL,WAAOC,GAAP,iFACEC,EAAaD,EAASE,OADxB,SAEeF,EAAS1N,OAFxB,cAEE5E,EAFF,yBAGGyS,QAAQC,IAAI,CAACH,EAAYvS,KAH5B,2CATK,uDAcVqS,MAAK,SAACM,GACL,OAAOA,EAAI,MAEZC,OAAM,SAAC5K,GACNnH,QAAQmH,MAAMA,MAnBpB,oFA1aa,uBA0aE86F,EA1aF,yFAqQb,+FACehxF,MAAMxP,OAAOyP,QAAU,4BAA6B,CAC/DC,OAAQ,MACRC,iBAAiB,EACjBC,QAAS,CACPC,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,sBAGjBC,MAAK,SAACM,GAAD,OAASA,EAAI/N,UAClByN,MAAK,SAACM,GACL,OAAOA,KAERC,OAAM,SAACtV,GAEN,OADAD,YAAa,QAAS,QACf,KAhBb,oFArQa,uBAqQEwlG,EArQF,wFAiPb,WAAkCt4E,GAAlC,kFACezY,MAAMxP,OAAOyP,QAAU,yBAA0B,CAC5DC,OAAQ,OACRC,iBAAiB,EACjBC,QAAS,CACPC,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,oBAElBvV,KAAM2B,KAAKE,UAAU6rB,KAEpBlY,MAAK,SAACM,GAAD,OAASA,EAAI/N,UAClByN,MAAK,SAACM,GACL,OAAOA,KAERC,OAAM,SAACtV,GAEN,OADAD,YAAa,QAAS,QACf,KAjBb,oFAjPa,uBAiPEulG,EAjPF,yFA8Nb,+FACe9wF,MAAMxP,OAAOyP,QAAU,2BAA4B,CAC9DC,OAAQ,MACRC,iBAAiB,EACjBC,QAAS,CACPC,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,sBAGjBC,MAAK,SAACM,GAAD,OAASA,EAAI/N,UAClByN,MAAK,SAACM,GACL,OAAOA,KAERC,OAAM,SAACtV,GAEN,OADAD,YAAa,QAAS,QACf,KAhBb,oFA9Na,uBA8NEslG,EA9NF,wFA0Mb,+FACe7wF,MAAMxP,OAAOyP,QAAU,sBAAuB,CACzDC,OAAQ,MACRC,iBAAiB,EACjBC,QAAS,CACPC,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,sBAGjBC,MAAK,SAACM,GAAD,OAASA,EAAI/N,UAClByN,MAAK,SAACM,GACL,OAAOA,KAERC,OAAM,SAACtV,GAEN,OADAD,YAAa,QAAS,QACf,KAhBb,oFA1Ma,uBA0MEqlG,EA1MF,wFAsLb,+FACe5wF,MAAMxP,OAAOyP,QAAU,gBAAiB,CACnDC,OAAQ,MACRC,iBAAiB,EACjBC,QAAS,CACPC,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,sBAGjBC,MAAK,SAACM,GAAD,OAASA,EAAI/N,UAClByN,MAAK,SAACM,GACL,OAAOA,KAERC,OAAM,SAACtV,GAEN,OADAD,YAAa,QAAS,QACf,KAhBb,oFAtLa,uBAsLEolG,EAtLF,wFAkKb,+FACe3wF,MAAMxP,OAAOyP,QAAU,oBAAqB,CACvDC,OAAQ,MACRC,iBAAiB,EACjBC,QAAS,CACPC,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,sBAGjBC,MAAK,SAACM,GAAD,OAASA,EAAI/N,UAClByN,MAAK,SAACM,GACL,OAAOA,KAERC,OAAM,SAACtV,GAEN,OADAD,YAAa,QAAS,QACf,KAhBb,oFAlKa,uBAkKEgkG,EAlKF,wFA8Ib,+FACevvF,MAAMxP,OAAOyP,QAAU,eAAgB,CAClDC,OAAQ,MACRC,iBAAiB,EACjBC,QAAS,CACPC,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,sBAGjBC,MAAK,SAACM,GAAD,OAASA,EAAI/N,UAClByN,MAAK,SAACM,GACL,OAAOA,KAERC,OAAM,SAACtV,GAEN,OADAD,YAAa,QAAS,QACf,KAhBb,oFA9Ia,uBA8IEmlG,EA9IF,wFA0Hb,+FACe1wF,MAAMxP,OAAOyP,QAAU,mBAAoB,CACtDC,OAAQ,MACRC,iBAAiB,EACjBC,QAAS,CACPC,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,sBAGjBC,MAAK,SAACM,GAAD,OAASA,EAAI/N,UAClByN,MAAK,SAACM,GACL,OAAOA,KAERC,OAAM,SAACtV,GAEN,OADAD,YAAa,QAAS,QACf,KAhBb,oFA1Ha,uBA0HEq6C,EA1HF,wFAqGb,WAA0B75C,GAA1B,kFACeiU,MAAMxP,OAAOyP,QAAU,UAAYlU,EAAI,CAClDmU,OAAQ,SACRC,iBAAiB,EACjBC,QAAS,CACPC,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,sBAGjBC,KATU,wCASL,WAAOC,GAAP,2FACGA,GADH,2CATK,uDAYVD,MAAK,SAACM,GACL,OAAOk/B,EAAcl/B,MAEtBC,OAAM,SAACtV,GACN,OAAOu0C,EAAcv0C,MAjB3B,oFArGa,uBAqGEilG,EArGF,yFA6Eb,WAAuBxwD,EAAUl0C,GAAjC,2FACSiU,MAAMxP,OAAOyP,QAAU,UAAYlU,EAAI,CAC5CmU,OAAQ,MACRC,iBAAiB,EACjBC,QAAS,CACPiL,OAAQ,oCACRhL,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,oBAElBvV,KAAM2B,KAAKE,UAAUqzC,KAEpB1/B,KAXI,wCAWC,WAAOC,GAAP,iFACEC,EAAaD,EAASE,OADxB,SAEeF,EAAS1N,OAFxB,cAEE5E,EAFF,yBAGGyS,QAAQC,IAAI,CAACH,EAAYvS,KAH5B,2CAXD,uDAgBJqS,MAAK,SAACM,GACL,OAAOA,EAAI,MAEZC,OAAM,SAAC5K,GACNnH,QAAQmH,MAAMA,OArBpB,4CA7Ea,uBA6EEs6F,EA7EF,2FAoDb,WAAwBvwD,GAAxB,yEACElxC,QAAQC,IAAItC,KAAKE,UAAUqzC,IAD7B,kBAESjgC,MAAMxP,OAAOyP,QAAU,SAAU,CACtCC,OAAQ,OACRC,iBAAiB,EACjBC,QAAS,CACPC,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,oBAElBvV,KAAM2B,KAAKE,UAAUqzC,KAEpB1/B,KAVI,wCAUC,WAAOC,GAAP,iFACEC,EAAaD,EAASE,OADxB,SAEeF,EAAS1N,OAFxB,cAEE5E,EAFF,yBAGGyS,QAAQC,IAAI,CAACH,EAAYvS,KAH5B,2CAVD,uDAeJqS,MAAK,SAACM,GACL,OAAOA,EAAI,MAEZC,OAAM,SAAC5K,QApBZ,4CApDa,uBAoDEq6F,EApDF,yFAab,mFACM//F,OAAOygG,cADb,0CAEW,GAFX,uBAIiBjxF,MAAMxP,OAAOyP,QAAU,SAAU,CAC5CC,OAAQ,MACRC,iBAAiB,EACjBC,QAAS,CACPC,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,sBAGjBC,KATU,wCASL,WAAOC,GAAP,4EAEJ,GAAmB,OADbC,EAAaD,EAASE,QAE1B,IACEvW,SAASsR,eAAe,WAAWinB,QACnC,MAAOl3B,GACPuD,QAAQC,IAAIxD,GANZ,gBASegV,EAAS1N,OATxB,cASE5E,EATF,QAUEgjG,EAAiBhjG,GACJsT,UAAYhR,OAAO2gG,gBACpC5lG,YAAa,QAAS2lG,EAAe1vF,SACrChR,OAAO2gG,eAAgB,GAbrB,kBAeGxwF,QAAQC,IAAI,CAACH,EAAYvS,KAf5B,2CATK,uDA0BVqS,MAAK,SAACM,GACL,OAAOorF,GAASprF,EAAI,OAErBC,OAAM,SAAC5K,GACNnH,QAAQmH,MAAMA,MAlCtB,oFAba,uBAaEo6F,EAbF,2CACJvwD,EADI,SACUl/B,GACrB,IAAIH,EAASG,EAAIH,OACbs/B,EAAan/B,EAAIm/B,WACrB,OAAe,MAAXt/B,GACFnV,YAAa,UAAW,YACjB,GACa,MAAXmV,GACTnV,YAAa,QAASy0C,IACf,QAFF,GAkRTgrD,EAAKQ,MAAM,uBAAuBN,MAAlC,uBAAwC,4FAChCzyE,EAAM,GAD0B,SAETmtB,IAFS,cAEtCntB,EAAG,cAFmC,gBAGbi4E,IAHa,cAGtCj4E,EAAG,UAHmC,gBAIR82E,IAJQ,cAItC92E,EAAG,eAJmC,iBAKZk4E,IALY,eAKtCl4E,EAAG,WALmC,iBAMNm4E,IANM,eAMtCn4E,EAAG,iBANmC,iBAOJo4E,IAPI,eAOtCp4E,EAAG,mBAPmC,iBAQHs4E,IARG,eAQtCt4E,EAAG,oBARmC,yBAS/B,CAAC,IAAKA,IATyB,6CAYxCuyE,EAAKQ,MAAM,6BAA6BN,MAAxC,uBAA8C,4FACtCzyE,EAAM,GADgC,SAETq4E,EAAmBtgG,OAAO4gG,eAFjB,cAE5C34E,EAAG,oBAFyC,yBAGrC,CAAC,IAAKA,IAH+B,4CAK9CuyE,EAAKC,OAAO,aAAaC,MAAzB,wCAA+B,mLAASh9F,EAAT,EAASA,KAAT,EACRxB,KAAKC,MAAMuB,GAAxB+e,EADqB,EACrBA,SADqB,EAgCzBA,EA7BF1d,UAH2B,MAGtB,EAHsB,IAgCzB0d,EA5BFzd,YAJ2B,MAIpB,GAJoB,IAgCzByd,EA3BFokF,gBAL2B,MAKhB,GALgB,IAgCzBpkF,EA1BFqkF,aAN2B,MAMnB,GANmB,IAgCzBrkF,EAzBF4iB,aAP2B,MAOnB,GAPmB,IAgCzB5iB,EAxBFskF,qBAR2B,MAQX,GARW,IAgCzBtkF,EAvBFsU,gBAT2B,WAgCzBtU,EAtBFukF,mBAV2B,MAUb,GAVa,IAgCzBvkF,EArBF4kB,mBAX2B,MAWb,GAXa,IAgCzB5kB,EApBFwkF,mBAZ2B,MAYb,GAZa,IAgCzBxkF,EAnBFmxC,qBAb2B,MAaX,GAbW,IAgCzBnxC,EAlBFykF,cAd2B,MAclB,GAdkB,IAgCzBzkF,EAjBF0kF,kBAf2B,MAed,GAfc,IAgCzB1kF,EAhBFggB,gBAhB2B,MAgBhB,GAhBgB,IAgCzBhgB,EAfFigB,uBAjB2B,MAiBT,GAjBS,IAgCzBjgB,EAdFnI,iBAlB2B,MAkBf,CACV,CACEvV,GAAI,EACJC,KAAM,KArBiB,IAgCzByd,EARF2kF,kBAxB2B,MAwBd,CACX,CACEriG,GAAI,EACJC,KAAM,KA3BiB,IAgCzByd,EAFF4kF,2BA9B2B,WAgCzB5kF,EADFkgE,yBA/B2B,MA+BP,GA/BO,EAiCvBphF,EAAKs/F,MACLF,EAAc,CAClB57F,KACAxD,KACAyD,OACA6hG,WACAC,QACAzhE,QACA0hE,gBACAhwE,WACAiwE,cACA3/D,cACAusB,gBACAqzC,cACAC,SACAC,aACA1kE,WACAC,kBACApoB,YACA8sF,aACAzkB,oBACA0kB,wBAEUR,SAAWlG,EAAYt7D,MAxDN,SAyDR0gE,EAASpF,GAzDD,UA0DP,QADlB2G,EAzDyB,QA0DhBjjF,KA1DgB,wBA2D3Bre,OAAOuhG,aAAe,KACtBxmG,YAAa,UAAW,oCACxBumG,EAAS/lG,GAAK+lG,EAASviG,GACvB67F,GAAkB32F,KAAK02F,GA9DI,kBA+DpB,CACL,IACA,CAAEl+E,SAAUk+E,EAAa14F,QAASq/F,EAAStwF,QAASstF,SAAS,KAjEpC,WAoEL,QAAlBgD,EAASjjF,KApEc,wBAqEzBtjB,YAAa,QAASumG,EAAStwF,SArEN,mBAsElB,GAtEkB,WAuEE,QAAlBswF,EAASjjF,KAvEO,wBAwEzBtjB,YAAa,QAASumG,EAAStwF,SAxEN,mBAyElB,GAzEkB,eA2EzBjW,YAAa,QAASumG,EAAStwF,SA3EN,mBA4ElB,GA5EkB,4CAA/B,uDAiFAwpF,EAAKC,OAAO,kBAAkBC,MAA9B,wCAAoC,WAAOj0C,GAAP,qFAC5Bq0C,EAAY,IAAI1B,GADY,EAEVl9F,KAAKC,MAAMsqD,EAAO/oD,MAAlC+iB,EAF0B,EAE1BA,YAF0B,SAGRq/E,IAHQ,cAGlClF,GAHkC,OAKG,KAAnCn6E,EAAY/V,OAAOs2F,kBACgB//F,IAAnCwf,EAAY/V,OAAOs2F,cAEnBpG,GAAoBA,GAAkBlwF,QACpC,SAACm+D,GAAD,OACElsE,OAAOksE,EAAKm4B,aACT32F,cACAS,SAASnO,OAAO8jB,EAAY/V,OAAOs2F,aAAa32F,kBAEvD9L,QAAQC,IAAI,iFAAwEo8F,YAE/En6E,EAAY/V,OAAOojB,mBACnBrN,EAAY/V,OAAOs2F,YACpBpF,EAAmBd,EAAUC,WACjCH,GACAn6E,GApBgC,kBAsB3B,CAAC,IAAKm7E,IAtBqB,4CAApC,uDAyBApB,EAAKC,OAAO,6BAA6BC,OAAM,SAACj0C,GAS9C,OARAm0C,QAAkB35F,EACF/E,KAAKC,MAAMsqD,EAAO/oD,MAA1B2iB,IACJhkB,SAAQ,SAACd,GACX,IAAM6D,EAAQw7F,GAAkBr6E,WAAU,SAACJ,GAAD,OAAQA,EAAG5kB,KAAOA,KACxD6D,GAAS,GACXw7F,GAAkBx6D,OAAOhhC,EAAO,MAG7B,CAAC,QAGVo7F,EAAKC,OAAO,sCAAsCC,OAAM,SAACj0C,GACvD,MAAwBvqD,KAAKC,MAAMsqD,EAAO/oD,MAAlC2iB,EAAR,EAAQA,IAAKnQ,EAAb,EAAaA,OAMb,OALA0qF,GAAkBv+F,SAAQ,SAAC8jB,GACrBE,EAAIE,WAAU,SAAChlB,GAAD,OAAQA,IAAO4kB,EAAG5kB,OAAO,IACzC4kB,EAAGjQ,OAASA,MAGT,CAAC,QA0BVsqF,EAAKQ,MAAM,mBAAmBN,MAA9B,wCAAoC,WAAOj0C,GAAP,iFAC5BlrD,EAAKkrD,EAAOt5C,IAAIjG,MAAM,qBAAqB,GADf,SAEXs5F,EAAQjlG,GAFG,UAGR,QADpBkhB,EAF4B,QAGrBggB,UAAkD,OAA7BhgB,EAASigB,kBACzCjgB,EAASggB,SAAW,GACpBhgB,EAASigB,gBAAkB,IAExBjgB,EAP6B,yCAQzB,CAAC,MARwB,gCAU3B,CAAC,IAAKA,IAVqB,2CAApC,uDAaA+9E,EAAKS,MAAM,mBAAmBP,MAA9B,wCAAoC,WAAOj0C,GAAP,uFAClCm0C,QAAoB35F,EACd1F,EAAKkrD,EAAOt5C,IAAIjG,MAAM,qBAAqB,GAC3C20F,EAAc3/F,KAAKC,MAAMsqD,EAAO/oD,MAC9B+e,EAAao/E,EAAbp/E,SACJ+kF,EAAa,CACfziG,GAAIxD,EACJyD,KAAMyd,EAASzd,KACf6hG,SAAUpkF,EAASokF,SACnBC,MAAOrkF,EAASqkF,MAChBzhE,MAAO5iB,EAAS4iB,MAChB0hE,cAAetkF,EAASskF,cACxBhwE,SAAStU,EAASsU,SAClBiwE,YAAavkF,EAASukF,YACtB3/D,YAAa5kB,EAAS4kB,YACtBusB,cAAenxC,EAASmxC,cACxBqzC,YAAaxkF,EAASwkF,YACtBC,OAAQzkF,EAASykF,OACjBC,WAAY1kF,EAAS0kF,WACrB1kE,SAAUhgB,EAASggB,SACnBC,gBAAiBjgB,EAASigB,gBAC1BpoB,UAAWmI,EAASnI,UACpB8sF,WAAY3kF,EAAS2kF,WACrBC,oBAAsB5kF,EAAS4kF,oBAC/B1kB,kBAAmBlgE,EAASkgE,mBAxBI,SA0BZqjB,EAAQwB,EAAYjmG,GA1BR,eA2BlB0F,KADVwgG,EA1B4B,UA2BLA,EAAQzwF,QA3BH,wBA4BhCjW,YAAa,QAAS0mG,EAAQzwF,SA5BE,kBA6BzB,CAAC,MA7BwB,eA+BlCjW,YAAa,UAAW,sCACxBpB,SAASsR,eAAe,iBAAiBinB,QAhCP,kBAiC3B,CAAC,MAjC0B,4CAApC,uDAoCAsoE,EAAK31E,SAAS,mBAAmB61E,MAAjC,wCAAuC,WAAOj0C,GAAP,6EAC/BlrD,EAAKkrD,EAAOt5C,IAAIjG,MAAM,qBAAqB,IAElC,KADT9H,EAAQw7F,GAAkBr6E,WAAU,SAACJ,GAAD,OAAQA,EAAG5kB,MAAQA,MAFxB,yCAI5B,CAAC,MAJ2B,cAMrCq/F,QAAkB35F,EANmB,SAOfg/F,EAAW1kG,GAPI,2DAS5B,CAAC,MAT2B,eAWrCq/F,GAAkBx6D,OAAOhhC,EAAO,GAXK,kBAY9B,CAAC,MAZ6B,4CAAvC,uDAlfa,6C,sBAkgBf,SAASq8F,GAASv4F,GAChB,IAAK,IAAI/D,KAAQ+D,EACfA,EAAK/D,GAAM5D,GAAK2H,EAAK/D,GAAMJ,UACpBmE,EAAK/D,GAAMJ,GAEpB,OAAOmE,EAGT,SAAS23F,KACP,IAAMx6E,EAAMu6E,GAAkB17F,KAAI,SAACihB,GAAD,OAAQA,EAAG5kB,MAE7C,OADc2K,KAAKgrB,IAAL,MAAAhrB,KAAI,YAAQma,IACX,E,m0MC/gBjB,IAEIu6E,GAFExhG,GAAU,IAAIC,IAAa,MAC3BC,GAAKC,IAAIH,I,+CAEA,WAAoCohG,GAApC,IAaE0F,EAbF,EA2CEwB,EA3CF,EAkEEC,EAlEF,EA2FEC,EA3FF,EAmHEC,EAnHF,EAyIEC,EAzIF,iHAyIb,+FACetyF,MAAMxP,OAAOyP,QAAU,sBAAuB,CACzDC,OAAQ,MACRC,iBAAiB,EACjBC,QAAS,CACPC,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,sBAGjBC,MAAK,SAACM,GAAD,OAASA,EAAI/N,UAClByN,MAAK,SAACM,GACL,OAAOA,KAERC,OAAM,SAACtV,GAEN,OADAD,YAAa,QAAS,QACf,KAhBb,oFAzIa,uBAyIE+mG,EAzIF,wFAmHb,WAAoCvmG,GAApC,kFACeiU,MAAMxP,OAAOyP,QAAU,UAAYlU,EAAI,CAClDmU,OAAQ,SACRC,iBAAiB,EACjBC,QAAS,CACPiL,OAAQ,oCACRhL,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,sBAGjBC,KAVU,wCAUL,WAAOzF,GAAP,kEACkB,MAAlBA,EAAO4F,OACTnV,YAAa,QAAS,oCAEtBA,YAAa,UAAW,WAJtB,2CAVK,uDAiBVuV,OAAM,SAAC5K,GACNnH,QAAQmH,MAAMA,MAnBpB,oFAnHa,uBAmHEm8F,EAnHF,yFA2Fb,WAAuBpyD,EAAUl0C,GAAjC,2FAESiU,MAAMxP,OAAOyP,QAAU,UAAYlU,EAAI,CAC5CmU,OAAQ,MACRC,iBAAiB,EACjBC,QAAS,CACPiL,OAAQ,oCACRhL,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,oBAElBvV,KAAM2B,KAAKE,UAAUqzC,KAEpB1/B,KAXI,wCAWC,WAAOzF,GAAP,kEACkB,MAAlBA,EAAO4F,OACTnV,YAAa,QAAS,qCAEtBA,YAAa,UAAW,sCAJtB,2CAXD,uDAkBJuV,OAAM,SAAC5K,GACNnH,QAAQmH,MAAMA,OArBpB,4CA3Fa,uBA2FEk8F,EA3FF,2FAkEb,WAAwBnyD,GAAxB,2FACSjgC,MAAMxP,OAAOyP,QAAU,SAAU,CACtCC,OAAQ,OACRC,iBAAiB,EACjBC,QAAS,CACPiL,OAAQ,oCACRhL,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,oBAElBvV,KAAM2B,KAAKE,UAAUqzC,KAEpB1/B,KAXI,wCAWC,WAAOC,GAAP,iFACEC,EAAaD,EAASE,OADxB,SAEeF,EAAS1N,OAFxB,cAEE5E,EAFF,yBAGGyS,QAAQC,IAAI,CAACH,EAAYvS,KAH5B,2CAXD,uDAgBJqS,MAAK,SAACM,GACL,OAAOA,KAERC,OAAM,SAAC5K,GACNnH,QAAQC,IAAI,QAASkH,OArB3B,4CAlEa,uBAkEEi8F,EAlEF,yFA2Cb,WAAuBpmG,GAAvB,kFACeiU,MAAMxP,OAAOyP,QAAU,UAAYlU,EAAI,CAClDmU,OAAQ,MACRC,iBAAiB,EACjBC,QAAS,CACPC,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,sBAGjBC,KATU,wCASL,WAAOC,GAAP,iFACEC,EAAaD,EAASE,OADxB,SAEeF,EAAS1N,OAFxB,cAEE5E,EAFF,yBAGGyS,QAAQC,IAAI,CAACH,EAAYvS,KAH5B,2CATK,uDAcVqS,MAAK,SAACM,GACL,OAAOA,EAAI,MAEZC,OAAM,SAAC5K,GACNnH,QAAQmH,MAAMA,MAnBpB,oFA3Ca,uBA2CEg8F,EA3CF,yFAab,+FACelyF,MAAMxP,OAAOyP,QAAU,SAAU,CAC5CC,OAAQ,MACRC,iBAAiB,EACjBC,QAAS,CACPC,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,sBAGjBC,KATU,wCASL,WAAOC,GAAP,0EAEJ,GAAmB,OADbC,EAAaD,EAASE,QAE1B,IACEvW,SAASsR,eAAe,WAAWinB,QACnC,MAAOl3B,GACPuD,QAAQC,IAAIxD,GANZ,gBASegV,EAAS1N,OATxB,cASE5E,EATF,yBAUGyS,QAAQC,IAAI,CAACH,EAAYvS,KAV5B,2CATK,uDAqBVqS,MAAK,SAACM,GACL,OAAOorF,GAASprF,EAAI,OAErBC,OAAM,SAAC5K,GACNnH,QAAQmH,MAAMA,MA1BpB,oFAba,uBAaEw6F,EAbF,oDACU7vF,GACrB,IAAIH,EAASG,EAAIH,OACbs/B,EAAan/B,EAAIm/B,WACrB,OAAe,MAAXt/B,GACFnV,YAAa,UAAW,YACjB,GACa,MAAXmV,GACTnV,YAAa,QAASy0C,IACf,QAFF,GA0JTgrD,EAAKQ,MAAM,uBAAuBN,MAAlC,uBAAwC,4FAChCzyE,EAAM,GAD0B,SAEP65E,IAFO,cAEtC75E,EAAG,gBAFmC,yBAG/B,CAAC,IAAKA,IAHyB,4CAOxCuyE,EAAKC,OAAO,kBAAkBC,MAA9B,wCAAoC,uHAASh9F,EAAT,EAASA,KAAT,EACbxB,KAAKC,MAAMuB,GAAxB+e,EAD0B,EAC1BA,SAD0B,EAO9BA,EAJFzd,YAHgC,MAGzB,GAHyB,IAO9Byd,EAHF0kF,kBAJgC,MAInB,EAJmB,IAO9B1kF,EAFFslF,uBALgC,MAKd,GALc,IAO9BtlF,EADFzU,eANgC,MAMtBlL,KAAKE,MANiB,EAQ5BzB,EAAKs/F,KACLmH,EAAU,CACdzmG,KACAyD,OACAmiG,aACAY,kBACA/5F,WAdgC,SAgBb25F,EAASK,GAhBI,eAkBnB/gG,KAFXghG,EAhB8B,gCAmBhCtoG,SAASsR,eAAe,iBAAiBinB,QACzCn3B,YAAa,UAAW,oCApBQ,kBAqBzB,CACL,IACA,CAAE0hB,SAAUulF,EAAS//F,QAASggG,EAASjxF,QAASstF,SAAS,KAvB3B,YA0B5B2D,EAAS,GAAGjxF,QA1BgB,wBA2B9BjW,YAAa,QAASknG,EAAS,GAAGjxF,SAClCrX,SAASsR,eAAe,iBAAiBinB,QA5BX,kBA6BvB,CAAC,IAAK,CAAEjwB,QAASggG,EAAS,GAAGjxF,QAASstF,SAAS,KA7BxB,eA+B9BvjG,YAAa,QAAS,iBACtBpB,SAASsR,eAAe,iBAAiBinB,QAhCX,kBAiCvB,CAAC,IAAK,CAAEjwB,QAASggG,EAAS,GAAI3D,SAAS,KAjChB,4CAApC,uDAqCA9D,EAAKQ,MAAM,uBAAuBN,MAAlC,uBAAwC,4FAChCzyE,EAAM,GAD0B,SAEdi4E,IAFc,cAEtCj4E,EAAG,SAFmC,yBAG/B,CAAC,IAAKA,IAHyB,4CAMxCuyE,EAAKC,OAAO,uBAAuBC,MAAnC,wCAAyC,WAAOj0C,GAAP,qFACjCq0C,EAAY,IAAI1B,EADiB,EAEfl9F,KAAKC,MAAMsqD,EAAO/oD,MAAlC+iB,EAF+B,EAE/BA,YAF+B,SAGby/E,IAHa,cAGvCtF,GAHuC,cAIhCn6E,EAAY/V,OAAOojB,YACpB8tE,EAAmBd,EAAUC,WACjCH,GACAn6E,GAPqC,kBAShC,CAAC,IAAKm7E,IAT0B,2CAAzC,uDAYApB,EAAKC,OAAO,iCAAiCC,OAAM,SAACj0C,GAQlD,OAPgBvqD,KAAKC,MAAMsqD,EAAO/oD,MAA1B2iB,IACJhkB,SAAQ,SAACd,GACX,IAAM6D,EAAQw7F,GAAkBr6E,WAAU,SAACJ,GAAD,OAAQA,EAAG5kB,KAAOA,KACxD6D,GAAS,GACXw7F,GAAkBx6D,OAAOhhC,EAAO,MAG7B,CAAC,QAGVo7F,EACGC,OAAO,2CACPC,MAFH,wCAES,WAAOj0C,GAAP,qFACmBvqD,KAAKC,MAAMsqD,EAAO/oD,MAAlC2iB,EADH,EACGA,IAAKnQ,EADR,EACQA,OACb0qF,GAAkBv+F,SAAQ,SAAC8jB,GACrBE,EAAIE,WAAU,SAAChlB,GAAD,OAAQA,IAAO4kB,EAAG5kB,OAAO,IACzC4kB,EAAGjQ,OAASA,MAJX,kBAOE,CAAC,MAPH,2CAFT,uDAYAsqF,EAAKQ,MAAM,wBAAwBN,MAAnC,wCAAyC,WAAOj0C,GAAP,iFACjClrD,EAAKkrD,EAAOt5C,IAAIjG,MAAM,0BAA0B,GADf,SAEhBw6F,EAAQnmG,GAFQ,UAEjCkhB,EAFiC,gDAI9B,CAAC,MAJ6B,gCAMhC,CAAC,IAAKA,IAN0B,2CAAzC,uDAUA+9E,EAAKS,MAAM,wBAAwBP,MAAnC,wCAAyC,WAAOj0C,GAAP,uFACjClrD,EAAKkrD,EAAOt5C,IAAIjG,MAAM,0BAA0B,GADf,EAElBhL,KAAKC,MAAMsqD,EAAO/oD,MAA/B+e,EAF+B,EAE/BA,SACJylF,EAAU,CACZnjG,GAAI0d,EAAS1d,GACbC,KAAMyd,EAASzd,KACfmiG,WAAY1kF,EAAS0kF,WACrBY,gBAAiBtlF,EAASslF,iBAPW,SASjCH,EAAQM,EAAS3mG,GATgB,cAUjC6D,EAAQw7F,GAAkBr6E,WAAU,SAACJ,GAAD,OAAQA,EAAG5kB,MAAQA,KAC7Dq/F,GAAkBx7F,GAAlB,eAAgCqd,GAChC9iB,SAASsR,eAAe,iBAAiBinB,QAZF,kBAahC,CAAC,MAb+B,2CAAzC,uDAiBAsoE,EAAK31E,SAAS,wBAAwB61E,MAAtC,wCAA4C,WAAOj0C,GAAP,6EACpClrD,EAAKkrD,EAAOt5C,IAAIjG,MAAM,0BAA0B,IAEvC,KADT9H,EAAQw7F,GAAkBr6E,WAAU,SAACJ,GAAD,OAAQA,EAAG5kB,MAAQA,MAFnB,yCAIjC,CAAC,MAJgC,uBAMpBsmG,EAAqBtmG,GAND,0DAQjC,CAAC,MARgC,cAU1Cq/F,GAAkBx6D,OAAOhhC,EAAO,GAChCyB,KAAE,oBAAsBtF,EAAK,KAAK60E,SAXQ,kBAYnC,CAAC,MAZkC,4CAA5C,uDAjRa,6C,sBAiSf,SAASqrB,GAASv4F,GAChB,IAAK,IAAI/D,KAAQ+D,EACfA,EAAK/D,GAAM5D,GAAK2H,EAAK/D,GAAMJ,UACpBmE,EAAK/D,GAAMJ,GAEpB,OAAOmE,EAGT,SAAS23F,KACP,IAAMx6E,EAAMu6E,GAAkB17F,KAAI,SAACihB,GAAD,OAAQA,EAAG5kB,MAE7C,OADc2K,KAAKgrB,IAAL,MAAAhrB,KAAI,YAAQma,IACX,E,2yMC/SjB,IAEIu6E,GAFExhG,GAAU,IAAIC,IAAa,MAC3BC,GAAKC,IAAIH,I,+CAEA,WAAoCohG,GAApC,IACJjrD,EAYM2wD,EAbF,EA2CEwB,EA3CF,EAkEEC,EAlEF,EA+FEC,EA/FF,EAwHEC,EAxHF,EA8IEC,EA9IF,iHA8Ib,+FACetyF,MAAMxP,OAAOyP,QAAU,sBAAuB,CACzDC,OAAQ,MACRC,iBAAiB,EACjBC,QAAS,CACPC,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,sBAGjBC,MAAK,SAACM,GAAD,OAASA,EAAI/N,UAClByN,MAAK,SAACM,GACL,OAAOA,KAERC,OAAM,SAACtV,GAEN,OADAD,YAAa,QAAS,QACf,KAhBb,oFA9Ia,uBA8IE+mG,EA9IF,wFAwHb,WAAoCvmG,GAApC,kFACeiU,MAAMxP,OAAOyP,QAAU,WAAalU,EAAI,CACnDmU,OAAQ,SACRC,iBAAiB,EACjBC,QAAS,CACPiL,OAAQ,oCACRhL,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,sBAGjBC,KAVU,wCAUL,WAAOC,GAAP,2FACGA,GADH,2CAVK,uDAaVD,MAAK,SAACM,GACL,OAAOk/B,EAAcl/B,MAEtBC,OAAM,SAACtV,GACN,OAAOu0C,EAAcv0C,MAlB3B,oFAxHa,uBAwHE6mG,EAxHF,yFA+Fb,WAAuBpyD,EAAUl0C,GAAjC,2FACSiU,MAAMxP,OAAOyP,QAAU,WAAalU,EAAI,CAC7CmU,OAAQ,MACRC,iBAAiB,EACjBC,QAAS,CACPiL,OAAQ,oCACRhL,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,oBAElBvV,KAAM2B,KAAKE,UAAUqzC,KAEpB1/B,KAXI,wCAWC,WAAOC,GAAP,iFACEC,EAAaD,EAASE,OADxB,SAEeF,EAAS1N,OAFxB,cAEE5E,EAFF,yBAGGyS,QAAQC,IAAI,CAACH,EAAYvS,KAH5B,2CAXD,uDAgBJqS,MAAK,SAACM,GACL,OAAOA,EAAI,MAEZC,OAAM,SAAC5K,QApBZ,4CA/Fa,uBA+FEk8F,EA/FF,2FAkEb,WAAwBnyD,GAAxB,2FACSjgC,MAAMxP,OAAOyP,QAAU,UAAW,CACvCC,OAAQ,OACRC,iBAAiB,EACjBC,QAAS,CACPiL,OAAQ,oCACRhL,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,oBAElBvV,KAAM2B,KAAKE,UAAUqzC,KAEpB1/B,KAXI,wCAWC,WAAOC,GAAP,iFAEc,OADZC,EAAaD,EAASE,SAE1BnV,YAAa,UAAW,0CAHtB,SAKeiV,EAAS1N,OALxB,cAKE5E,EALF,OAMJsC,OAAOmiG,gBAAkBlyF,EANrB,kBAOGE,QAAQC,IAAI,CAACH,EAAYvS,KAP5B,2CAXD,uDAoBJqS,MAAK,SAACM,GACL,OAAOA,EAAI,MAEZC,OAAM,SAAC5K,QAxBZ,4CAlEa,uBAkEEi8F,EAlEF,yFA2Cb,WAAuBpmG,GAAvB,kFACeiU,MAAMxP,OAAOyP,QAAU,WAAalU,EAAI,CACnDmU,OAAQ,MACRC,iBAAiB,EACjBC,QAAS,CACPC,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,sBAGjBC,KATU,wCASL,WAAOC,GAAP,iFACEC,EAAaD,EAASE,OADxB,SAEeF,EAAS1N,OAFxB,cAEE5E,EAFF,yBAGGyS,QAAQC,IAAI,CAACH,EAAYvS,KAH5B,2CATK,uDAcVqS,MAAK,SAACM,GAAS,IAAD,EACb,iBAAOA,EAAI,UAAX,aAAO,EAAQsF,SAEhBrF,OAAM,SAAC5K,GACNnH,QAAQmH,MAAMA,MAnBpB,oFA3Ca,uBA2CEg8F,EA3CF,yFAab,WAAwB7wE,GAAxB,kFACerhB,MAAMxP,OAAOyP,QAAP,iBAA2BohB,GAAU,CACtDnhB,OAAQ,MACRC,iBAAiB,EACjBC,QAAS,CACPC,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,sBAGjBC,KATU,wCASL,WAAOC,GAAP,0EAEJ,GAAmB,OADbC,EAAaD,EAASE,QAE1B,IACEvW,SAASsR,eAAe,WAAWinB,QACnC,MAAOl3B,GACPuD,QAAQC,IAAIxD,GANZ,gBASegV,EAAS1N,OATxB,cASE5E,EATF,yBAUGyS,QAAQC,IAAI,CAACH,EAAYvS,KAV5B,2CATK,uDAqBVqS,MAAK,SAACM,GACL,OAAOorF,GAASprF,EAAI,OAErBC,OAAM,SAAC5K,GACNnH,QAAQmH,MAAMA,MA1BpB,oFAba,uBAaEw6F,EAbF,4CACJ3wD,EADI,SACUl/B,GACrB,IAAIH,EAASG,EAAIH,OACbs/B,EAAan/B,EAAIm/B,WACrB,OAAe,MAAXt/B,GACFnV,YAAa,UAAW,YACjB,GACa,MAAXmV,GACTnV,YAAa,QAASy0C,IACf,QAFF,GA+JTgrD,EAAKQ,MAAM,uBAAuBN,MAAlC,uBAAwC,4FAChCzyE,EAAM,GAD0B,SAEP65E,IAFO,cAEtC75E,EAAG,gBAFmC,yBAG/B,CAAC,IAAKA,IAHyB,4CAOxCuyE,EAAKC,OAAO,wBAAwBC,MAApC,wCAA0C,+GAASh9F,EAAT,EAASA,KAAT,EACnBxB,KAAKC,MAAMuB,GAAxB+e,EADgC,EAChCA,SADgC,EAMpCA,EAHFzd,YAHsC,MAG/B,GAH+B,IAMpCyd,EAFFrD,mBAJsC,MAIxB,GAJwB,IAMpCqD,EADF2lF,QAEIJ,EAAU,CACdhjG,OACAoa,cACAgpF,aAVsC,MAK5B,GAL4B,YAYnBT,EAASK,GAZU,eAcpB/gG,KAFhBghG,EAZoC,QAc3BljG,GAd2B,wBAetCkjG,EAAS1mG,GAAK0mG,EAASljG,GACvB67F,GAAkB32F,KAAK+9F,GACvBroG,SAASsR,eAAe,iBAAiBinB,QAjBH,kBAkB/B,CACL,IACA,CAAEzV,SAAUulF,EAAS//F,QAASggG,EAASjxF,QAASstF,SAAS,KApBrB,YAuBlC2D,EAASjxF,QAvByB,wBAwBpCjW,YAAa,QAASknG,EAASjxF,SAC/BrX,SAASsR,eAAe,iBAAiBinB,QAzBL,kBA0B7B,CAAC,IAAK,CAAEjwB,QAASggG,EAASjxF,QAASstF,SAAS,KA1Bf,eA4BpCvjG,YAAa,QAAS,iBACtBpB,SAASsR,eAAe,iBAAiBinB,QA7BL,kBA8B7B,CAAC,IAAK,CAAEjwB,QAASggG,EAASjxF,QAASstF,SAAS,KA9Bf,4CAA1C,uDAmCA9D,EAAKC,OAAO,6BAA6BC,MAAzC,wCAA+C,WAAOj0C,GAAP,uFACvCq0C,EAAY,IAAI1B,EADuB,EAErBl9F,KAAKC,MAAMsqD,EAAO/oD,MAAlC+iB,EAFqC,EAErCA,YACFoQ,EAHuC,sBAGfpQ,EAAYyJ,WAHG,qBAGoBzJ,EAAY0J,SAHhC,mBAGmD1J,EAAY/V,OAAOyzC,OAHtE,sBAG0F19B,EAAYwJ,UAHtG,sBAG6HxJ,EAAYuJ,WAHzI,SAInBk2E,EAASrvE,GAJU,cAI7C+pE,GAJ6C,cAKtCn6E,EAAY/V,OAAOojB,mBACnBrN,EAAY/V,OAAOyzC,OACpBy9C,EAAmBd,EAAUC,WACjCH,GACAn6E,GAT2C,kBAWtC,CAAC,IAAKm7E,IAXgC,4CAA/C,uDAcApB,EAAKC,OAAO,uCAAuCC,OAAM,SAACj0C,GAQxD,OAPgBvqD,KAAKC,MAAMsqD,EAAO/oD,MAA1B2iB,IACJhkB,SAAQ,SAACd,GACX,IAAM6D,EAAQw7F,GAAkBr6E,WAAU,SAACJ,GAAD,OAAQA,EAAG5kB,KAAOA,KACxD6D,GAAS,GACXw7F,GAAkBx6D,OAAOhhC,EAAO,MAG7B,CAAC,QAGVo7F,EACGC,OAAO,iDACPC,MAFH,wCAES,WAAOj0C,GAAP,qFACmBvqD,KAAKC,MAAMsqD,EAAO/oD,MAAlC2iB,EADH,EACGA,IAAKnQ,EADR,EACQA,OACb0qF,GAAkBv+F,SAAQ,SAAC8jB,GACrBE,EAAIE,WAAU,SAAChlB,GAAD,OAAQA,IAAO4kB,EAAG5kB,OAAO,IACzC4kB,EAAGjQ,OAASA,MAJX,kBAOE,CAAC,MAPH,2CAFT,uDAYAsqF,EAAKQ,MAAM,8BAA8BN,MAAzC,wCAA+C,WAAOj0C,GAAP,iFACvClrD,EAAKkrD,EAAOt5C,IAAIjG,MAAM,gCAAgC,GADf,SAEtBw6F,EAAQnmG,GAFc,UAEvCkhB,EAFuC,gDAIpC,CAAC,MAJmC,gCAMtC,CAAC,IAAKA,IANgC,2CAA/C,uDAUA+9E,EAAKS,MAAM,8BAA8BP,MAAzC,wCAA+C,WAAOj0C,GAAP,8FAErClrD,EAAKkrD,EAAOt5C,IAAIjG,MAAM,gCAAgC,GAFjB,EAGtBhL,KAAKC,MAAMsqD,EAAO/oD,MAA/B+e,EAHmC,EAGnCA,SAHmC,SAIrCmlF,EAAQnlF,EAAUlhB,GAJmB,UAK3CR,YAAa,UAAW,4CAClBqE,EAAQw7F,GAAkBr6E,WAAU,SAACJ,GAAD,OAAQA,EAAGphB,MAAQxD,KANlB,yCAQlC,CAAC,MARiC,cAU3CkhB,EAAS4lF,MAAQ5lF,EAAS4lF,MAAMr+F,OAChC42F,GAAkBx7F,GAAlB,eAAgCqd,GAChC9iB,SAASsR,eAAe,iBAAiBinB,QAZE,kBAapC,CAAC,MAbmC,kCAe3C3zB,QAAQC,IAAR,MAf2C,0DAA/C,uDAoBAg8F,EAAK31E,SAAS,8BAA8B61E,MAA5C,wCAAkD,WAAOj0C,GAAP,6EAC1ClrD,EAAKkrD,EAAOt5C,IAAIjG,MAAM,gCAAgC,IAE7C,KADT9H,EAAQw7F,GAAkBr6E,WAAU,SAACJ,GAAD,OAAQA,EAAGphB,MAAQxD,MAFb,yCAIvC,CAAC,MAJsC,uBAM1BsmG,EAAqBtmG,GANK,0DAQvC,CAAC,MARsC,cAUhDq/F,GAAkBx6D,OAAOhhC,EAAO,GAChCyB,KAAE,oBAAsBtF,EAAK,KAAK60E,SAXc,kBAYzC,CAAC,MAZwC,4CAAlD,uDAnRa,6C,sBAmSf,SAASqrB,GAASv4F,GAChB,IAAK,IAAI/D,KAAQ+D,EACfA,EAAK/D,GAAM5D,GAAK2H,EAAK/D,GAAMJ,UACpBmE,EAAK/D,GAAMJ,GAEpB,OAAOmE,EAAKo/F,OChTC,QACb,CACE/mG,GAAI,EACJgnG,OAAO,GACPvhD,GAAI,YACJxK,SAAU,SACVgsD,GAAI,YACJrhD,IAAK,YACLL,KAAK,OAEP,CACEvlD,GAAI,EACJgnG,OAAO,GACPvhD,GAAI,YACJxK,SAAU,SACVgsD,GAAI,YACJrhD,IAAK,YACLL,KAAK,MAEP,CACEvlD,GAAI,EACJgnG,OAAO,GACPvhD,GAAI,YACJxK,SAAU,SACVgsD,GAAI,YACJrhD,IAAK,YACLL,KAAK,cAEP,CACEvlD,GAAI,EACJgnG,OAAO,GACPvhD,GAAI,YACJxK,SAAU,SACVgsD,GAAI,YACJrhD,IAAK,YACLL,KAAK,OAEP,CACEvlD,GAAI,EACJgnG,OAAO,GACPvhD,GAAI,YACJxK,SAAU,SACVgsD,GAAI,YACJrhD,IAAK,YACLL,KAAK,OAEP,CACEvlD,GAAI,EACJgnG,OAAO,GACPvhD,GAAI,YACJxK,SAAU,SACVgsD,GAAI,YACJrhD,IAAK,YACLL,KAAK,OAEP,CACEvlD,GAAI,EACJgnG,OAAO,GACPvhD,GAAI,YACJxK,SAAU,SACVgsD,GAAI,YACJrhD,IAAK,YACLL,KAAK,QC3DM,SAAS2hD,GAAajI,GACnCA,EAAKC,OAAO,gBAAgBC,OAAM,YAAe,IAAZh9F,EAAW,EAAXA,KAC3Bi6C,EAAYz7C,KAAKC,MAAMuB,GAAvBi6C,QACR,EAOIA,EANF4qD,cADF,MACW,GADX,IAOI5qD,EALFqJ,UAFF,MAEO,GAFP,IAOIrJ,EAJFnB,gBAHF,MAGa,GAHb,IAOImB,EAHF6qD,UAJF,MAIO,GAJP,IAOI7qD,EAFFwJ,WALF,MAKQ,GALR,IAOIxJ,EADFmJ,YANF,MAMQ,GANR,EAUM4hD,EAAa,CACjBnnG,GA0EN,WACE,IAAM8kB,EAAMsiF,GAAazjG,KAAI,SAAAihB,GAAE,OAAIA,EAAG5kB,MAEtC,OADc2K,KAAKgrB,IAAL,MAAAhrB,KAAI,YAAQma,IACX,EA/EFuiF,GAGTL,SACAvhD,KACAxK,WACAgsD,KACArhD,MACAL,QAGF,OADA6hD,GAAa1+F,KAAKy+F,GACX,CAAC,IAAK,CAAE/qD,QAAS+qD,OAG1BlI,EAAKC,OAAO,qBAAqBC,OAAM,SAAAj0C,GACrC,IAAMq0C,EAAY,IAAI1B,EACd34E,EAAgBvkB,KAAKC,MAAMsqD,EAAO/oD,MAAlC+iB,YAER,MAAO,CAAC,IADiBq6E,EAAUC,WAAW4H,GAAcliF,OAI9D+5E,EAAKC,OAAO,+BAA+BC,OAAM,SAAAj0C,GAQ/C,OAPgBvqD,KAAKC,MAAMsqD,EAAO/oD,MAA1B2iB,IACJhkB,SAAQ,SAAAd,GACV,IAAM6D,EAAQujG,GAAapiF,WAAU,SAAAJ,GAAE,OAAIA,EAAG5kB,KAAOA,KACjD6D,GAAS,GACXujG,GAAaviE,OAAOhhC,EAAO,MAGxB,CAAC,QAGVo7F,EAAKC,OAAO,wCAAwCC,OAAM,SAAAj0C,GACxD,MAAwBvqD,KAAKC,MAAMsqD,EAAO/oD,MAAlC2iB,EAAR,EAAQA,IAAKnQ,EAAb,EAAaA,OAMb,OALAyyF,GAAatmG,SAAQ,SAAA8jB,GACfE,EAAIE,WAAU,SAAAhlB,GAAE,OAAIA,IAAO4kB,EAAG5kB,OAAO,IACvC4kB,EAAGjQ,OAASA,MAGT,CAAC,QAGVsqF,EAAKQ,MAAM,sBAAsBN,OAAM,SAAAj0C,GACrC,IAAMlrD,EAAKkrD,EAAOt5C,IAAIjG,MAAM,wBAAwB,GAC9CywC,EAAUgrD,GAAarkF,MAAK,SAAA6B,GAAE,OAAIA,EAAG5kB,MAAQA,KACnD,OAAKo8C,EAIE,CAAC,IAAKA,GAHJ,CAAC,QAMZ6iD,EAAKS,MAAM,sBAAsBP,OAAM,SAAAj0C,GACrC,IAAMlrD,EAAKkrD,EAAOt5C,IAAIjG,MAAM,wBAAwB,GAC5CywC,EAAYz7C,KAAKC,MAAMsqD,EAAO/oD,MAA9Bi6C,QACFv4C,EAAQujG,GAAapiF,WAAU,SAAAJ,GAAE,OAAIA,EAAG5kB,MAAQA,KACtD,OAAK6D,GAILujG,GAAavjG,GAAb,eAA2Bu4C,GACpB,CAAC,MAJC,CAAC,QAOZ6iD,EAAK31E,SAAS,sBAAsB61E,OAAM,SAAAj0C,GACxC,IAAMlrD,EAAKkrD,EAAOt5C,IAAIjG,MAAM,wBAAwB,GAC9C9H,EAAQujG,GAAapiF,WAAU,SAAAJ,GAAE,OAAIA,EAAG5kB,MAAQA,KAEtD,OADAonG,GAAaviE,OAAOhhC,EAAO,IACX,KAAXA,EACI,CAAC,KAGH,CAAC,QCvFG,QACb,CACE7D,GAAI,EACJg8F,MAAO,EACPn9F,KAAM,qEACN0hG,QAAS,EACTC,aAAc,aACdC,aAAc,aACd99F,KAAM,EACN2kG,aAAa,EACbC,QAAS,cAEX,CACEvnG,GAAI,EACJg8F,MAAO,EACPn9F,KAAM,KACN0hG,QAAS,EACTC,aAAc,aACdC,aAAc,aACd99F,KAAM,EACN2kG,aAAa,EACbC,QAAS,cAEX,CACEvnG,GAAI,EACJg8F,MAAO,EACPn9F,KAAM,qDACN0hG,QAAS,EACTC,aAAc,aACdC,aAAc,aACd99F,KAAM,EACN2kG,aAAa,EACbC,QAAS,cAEX,CACEvnG,GAAI,EACJg8F,MAAO,EACPn9F,KAAM,kDACN0hG,QAAS,EACTC,aAAc,aACdC,aAAc,aACd99F,KAAM,EACN2kG,aAAa,EACbC,QAAS,cAEX,CACEvnG,GAAI,EACJg8F,MAAO,EACPn9F,KACE,gGACF0hG,QAAS,EACTC,aAAc,aACdC,aAAc,aACd99F,KAAM,EACN2kG,aAAa,EACbC,QAAS,cAEX,CACEvnG,GAAI,EACJg8F,MAAO,EACPn9F,KAAM,aACN0hG,QAAS,EACTC,aAAc,aACdC,aAAc,aACd99F,KAAM,EACN2kG,aAAa,EACbC,QAAS,cAEX,CACEvnG,GAAI,EACJg8F,MAAO,EACPn9F,KACE,4EACF0hG,QAAS,EACTC,aAAc,aACdC,aAAc,aACd99F,KAAM,EACN2kG,aAAa,EACbC,QAAS,cAEX,CACEvnG,GAAI,EACJg8F,MAAO,EACPn9F,KAAM,4DACN0hG,QAAS,EACTC,aAAc,aACdC,aAAc,aACd99F,KAAM,EACN2kG,aAAa,EACbC,QAAS,cAEX,CACEvnG,GAAI,EACJg8F,MAAO,EACPn9F,KAAM,OACN0hG,QAAS,EACTC,aAAc,aACdC,aAAc,aACd99F,KAAM,EACN2kG,aAAa,EACbC,QAAS,cAEX,CACEvnG,GAAI,GACJg8F,MAAO,EACPn9F,KACE,+HACF0hG,QAAS,EACTC,aAAc,aACdC,aAAc,aACd99F,KAAM,EACN2kG,aAAa,EACbC,QAAS,cAEX,CACEvnG,GAAI,GACJg8F,MAAO,EACPn9F,KAAM,iDACN0hG,QAAS,EACTC,aAAc,aACdC,aAAc,aACd99F,KAAM,EACN2kG,aAAa,EACbC,QAAS,cAEX,CACEvnG,GAAI,GACJg8F,MAAO,EACPn9F,KAAM,mEACN0hG,QAAS,EACTC,aAAc,aACdC,aAAc,aACd99F,KAAM,EACN2kG,aAAa,EACbC,QAAS,cAEX,CACEvnG,GAAI,GACJg8F,MAAO,EACPn9F,KAAM,GACN0hG,QAAS,EACTC,aAAc,aACdC,aAAc,aACd99F,KAAM,EACN2kG,aAAa,EACbC,QAAS,cAEX,CACEvnG,GAAI,GACJg8F,MAAO,EACPn9F,KAAM,oEACN0hG,QAAS,EACTC,aAAc,aACdC,aAAc,aACd99F,KAAM,EACN2kG,aAAa,EACbC,QAAS,cAEX,CACEvnG,GAAI,GACJg8F,MAAO,EACPn9F,KAAM,YACN0hG,QAAS,EACTC,aAAc,aACdC,aAAc,aACd99F,KAAM,EACN2kG,aAAa,EACbC,QAAS,cAEX,CACEvnG,GAAI,GACJg8F,MAAO,EACPn9F,KACE,yGACF0hG,QAAS,EACTC,aAAc,aACdC,aAAc,aACd99F,KAAM,EACN2kG,aAAa,EACbC,QAAS,cAEX,CACEvnG,GAAI,GACJg8F,MAAO,EACPn9F,KAAM,oEACN0hG,QAAS,EACTC,aAAc,aACdC,aAAc,aACd99F,KAAM,EACN2kG,aAAa,EACbC,QAAS,cAEX,CACEvnG,GAAI,GACJg8F,MAAO,EACPn9F,KACE,kFACF0hG,QAAS,EACTC,aAAc,aACdC,aAAc,aACd99F,KAAM,EACN2kG,aAAa,EACbC,QAAS,cAEX,CACEvnG,GAAI,GACJg8F,MAAO,EACPn9F,KACE,sFACF0hG,QAAS,EACTC,aAAc,aACdC,aAAc,aACd99F,KAAM,EACN2kG,aAAa,EACbC,QAAS,cAEX,CACEvnG,GAAI,GACJg8F,MAAO,EACPn9F,KAAM,GACN0hG,QAAS,EACTC,aAAc,aACdC,aAAc,aACd99F,KAAM,EACN2kG,aAAa,EACbC,QAAS,cAEX,CACEvnG,GAAI,GACJg8F,MAAO,EACPn9F,KACE,uFACF0hG,QAAS,EACTC,aAAc,aACdC,aAAc,aACd99F,KAAM,EACN2kG,aAAa,EACbC,QAAS,cAEX,CACEvnG,GAAI,GACJg8F,MAAO,EACPn9F,KAAM,mEACN0hG,QAAS,EACTC,aAAc,aACdC,aAAc,aACd99F,KAAM,EACN2kG,aAAa,EACbC,QAAS,cAEX,CACEvnG,GAAI,GACJg8F,MAAO,EACPn9F,KACE,4HACF0hG,QAAS,EACTC,aAAc,aACdC,aAAc,aACd99F,KAAM,EACN2kG,aAAa,EACbC,QAAS,cAEX,CACEvnG,GAAI,GACJg8F,MAAO,EACPn9F,KACE,2GACF0hG,QAAS,EACTC,aAAc,aACdC,aAAc,aACd99F,KAAM,EACN2kG,aAAa,EACbC,QAAS,cAEX,CACEvnG,GAAI,GACJg8F,MAAO,EACPn9F,KAAM,0BACN0hG,QAAS,EACTC,aAAc,aACdC,aAAc,aACd99F,KAAM,EACN2kG,aAAa,EACbC,QAAS,cAEX,CACEvnG,GAAI,GACJg8F,MAAO,EACPn9F,KAAM,gDACN0hG,QAAS,EACTC,aAAc,aACdC,aAAc,aACd99F,KAAM,EACN2kG,aAAa,EACbC,QAAS,cAEX,CACEvnG,GAAI,GACJg8F,MAAO,EACPn9F,KAAM,qEACN0hG,QAAS,EACTC,aAAc,aACdC,aAAc,aACd99F,KAAM,EACN2kG,aAAa,EACbC,QAAS,cAEX,CACEvnG,GAAI,GACJg8F,MAAO,GACPn9F,KAAM,GACN0hG,QAAS,EACTC,aAAc,aACdC,aAAc,aACd99F,KAAM,EACN2kG,aAAa,EACbC,QAAS,cAEX,CACEvnG,GAAI,GACJg8F,MAAO,GACPn9F,KACE,qHACF0hG,QAAS,EACTC,aAAc,aACdC,aAAc,aACd99F,KAAM,EACN2kG,aAAa,EACbC,QAAS,cAEX,CACEvnG,GAAI,GACJg8F,MAAO,GACPn9F,KAAM,iDACN0hG,QAAS,EACTC,aAAc,aACdC,aAAc,aACd99F,KAAM,EACN2kG,aAAa,EACbC,QAAS,cAEX,CACEvnG,GAAI,GACJg8F,MAAO,GACPn9F,KAAM,qDACN0hG,QAAS,EACTC,aAAc,aACdC,aAAc,aACd99F,KAAM,EACN2kG,aAAa,EACbC,QAAS,cAEX,CACEvnG,GAAI,GACJg8F,MAAO,GACPn9F,KACE,+HACF0hG,QAAS,EACTC,aAAc,aACdC,aAAc,aACd99F,KAAM,EACN2kG,aAAa,EACbC,QAAS,cAEX,CACEvnG,GAAI,GACJg8F,MAAO,GACPn9F,KAAM,oBACN0hG,QAAS,EACTC,aAAc,aACdC,aAAc,aACd99F,KAAM,EACN2kG,aAAa,EACbC,QAAS,cAEX,CACEvnG,GAAI,GACJg8F,MAAO,GACPn9F,KACE,yEACF0hG,QAAS,EACTC,aAAc,aACdC,aAAc,aACd99F,KAAM,EACN2kG,aAAa,EACbC,QAAS,cAEX,CACEvnG,GAAI,GACJg8F,MAAO,GACPn9F,KAAM,wBACN0hG,QAAS,EACTC,aAAc,aACdC,aAAc,aACd99F,KAAM,EACN2kG,aAAa,EACbC,QAAS,cAEX,CACEvnG,GAAI,GACJg8F,MAAO,GACPn9F,KACE,kGACF0hG,QAAS,EACTC,aAAc,aACdC,aAAc,aACd99F,KAAM,EACN2kG,aAAa,EACbC,QAAS,cAEX,CACEvnG,GAAI,GACJg8F,MAAO,GACPn9F,KAAM,WACN0hG,QAAS,EACTC,aAAc,aACdC,aAAc,aACd99F,KAAM,EACN2kG,aAAa,EACbC,QAAS,cAEX,CACEvnG,GAAI,GACJg8F,MAAO,GACPn9F,KACE,mGACF0hG,QAAS,EACTC,aAAc,aACdC,aAAc,aACd99F,KAAM,EACN2kG,aAAa,EACbC,QAAS,cAEX,CACEvnG,GAAI,GACJg8F,MAAO,GACPn9F,KACE,qHACF0hG,QAAS,EACTC,aAAc,aACdC,aAAc,aACd99F,KAAM,EACN2kG,aAAa,EACbC,QAAS,cAEX,CACEvnG,GAAI,GACJg8F,MAAO,GACPn9F,KACE,sGACF0hG,QAAS,EACTC,aAAc,aACdC,aAAc,aACd99F,KAAM,EACN2kG,aAAa,EACbC,QAAS,cAEX,CACEvnG,GAAI,GACJg8F,MAAO,GACPn9F,KAAM,yDACN0hG,QAAS,EACTC,aAAc,aACdC,aAAc,aACd99F,KAAM,EACN2kG,aAAa,EACbC,QAAS,cAEX,CACEvnG,GAAI,GACJg8F,MAAO,GACPn9F,KAAM,8CACN0hG,QAAS,EACTC,aAAc,aACdC,aAAc,aACd99F,KAAM,EACN2kG,aAAa,EACbC,QAAS,cAEX,CACEvnG,GAAI,GACJg8F,MAAO,GACPn9F,KAAM,qDACN0hG,QAAS,EACTC,aAAc,aACdC,aAAc,aACd99F,KAAM,EACN2kG,aAAa,EACbC,QAAS,cAEX,CACEvnG,GAAI,GACJg8F,MAAO,GACPn9F,KACE,sHACF0hG,QAAS,EACTC,aAAc,aACdC,aAAc,aACd99F,KAAM,EACN2kG,aAAa,EACbC,QAAS,cAEX,CACEvnG,GAAI,GACJg8F,MAAO,GACPn9F,KACE,mGACF0hG,QAAS,EACTC,aAAc,aACdC,aAAc,aACd99F,KAAM,EACN2kG,aAAa,EACbC,QAAS,cAEX,CACEvnG,GAAI,GACJg8F,MAAO,GACPn9F,KACE,sHACF0hG,QAAS,EACTC,aAAc,aACdC,aAAc,aACd99F,KAAM,EACN2kG,aAAa,EACbC,QAAS,cAEX,CACEvnG,GAAI,GACJg8F,MAAO,GACPn9F,KAAM,2CACN0hG,QAAS,EACTC,aAAc,aACdC,aAAc,aACd99F,KAAM,EACN2kG,aAAa,EACbC,QAAS,cAEX,CACEvnG,GAAI,GACJg8F,MAAO,GACPn9F,KAAM,sCACN0hG,QAAS,EACTC,aAAc,aACdC,aAAc,aACd99F,KAAM,EACN2kG,aAAa,EACbC,QAAS,cAEX,CACEvnG,GAAI,GACJg8F,MAAO,GACPn9F,KAAM,4CACN0hG,QAAS,EACTC,aAAc,aACdC,aAAc,aACd99F,KAAM,EACN2kG,aAAa,EACbC,QAAS,cAEX,CACEvnG,GAAI,GACJg8F,MAAO,GACPn9F,KAAM,mEACN0hG,QAAS,EACTC,aAAc,aACdC,aAAc,aACd99F,KAAM,EACN2kG,aAAa,EACbC,QAAS,cAEX,CACEvnG,GAAI,GACJg8F,MAAO,GACPn9F,KACE,gFACF0hG,QAAS,EACTC,aAAc,aACdC,aAAc,aACd99F,KAAM,EACN2kG,aAAa,EACbC,QAAS,cAEX,CACEvnG,GAAI,GACJg8F,MAAO,GACPn9F,KAAM,kBACN0hG,QAAS,EACTC,aAAc,aACdC,aAAc,aACd99F,KAAM,EACN2kG,aAAa,EACbC,QAAS,cAEX,CACEvnG,GAAI,GACJg8F,MAAO,GACPn9F,KAAM,0BACN0hG,QAAS,EACTC,aAAc,aACdC,aAAc,aACd99F,KAAM,EACN2kG,aAAa,EACbC,QAAS,cAEX,CACEvnG,GAAI,GACJg8F,MAAO,GACPn9F,KAAM,oEACN0hG,QAAS,EACTC,aAAc,aACdC,aAAc,aACd99F,KAAM,EACN2kG,aAAa,EACbC,QAAS,cAEX,CACEvnG,GAAI,GACJg8F,MAAO,GACPn9F,KAAM,WACN0hG,QAAS,EACTC,aAAc,aACdC,aAAc,aACd99F,KAAM,EACN2kG,aAAa,EACbC,QAAS,cAEX,CACEvnG,GAAI,GACJg8F,MAAO,GACPn9F,KAAM,OACN0hG,QAAS,EACTC,aAAc,aACdC,aAAc,aACd99F,KAAM,EACN2kG,aAAa,EACbC,QAAS,cAEX,CACEvnG,GAAI,GACJg8F,MAAO,GACPn9F,KACE,sHACF0hG,QAAS,EACTC,aAAc,aACdC,aAAc,aACd99F,KAAM,EACN2kG,aAAa,EACbC,QAAS,cAEX,CACEvnG,GAAI,GACJg8F,MAAO,GACPn9F,KAAM,4BACN0hG,QAAS,EACTC,aAAc,aACdC,aAAc,aACd99F,KAAM,EACN2kG,aAAa,EACbC,QAAS,cAEX,CACEvnG,GAAI,GACJg8F,MAAO,GACPn9F,KACE,oHACF0hG,QAAS,EACTC,aAAc,aACdC,aAAc,aACd99F,KAAM,EACN2kG,aAAa,EACbC,QAAS,cAEX,CACEvnG,GAAI,GACJg8F,MAAO,GACPn9F,KAAM,6CACN0hG,QAAS,EACTC,aAAc,aACdC,aAAc,aACd99F,KAAM,EACN2kG,aAAa,EACbC,QAAS,cAEX,CACEvnG,GAAI,GACJg8F,MAAO,GACPn9F,KAAM,kEACN0hG,QAAS,EACTC,aAAc,aACdC,aAAc,aACd99F,KAAM,EACN2kG,aAAa,EACbC,QAAS,cAEX,CACEvnG,GAAI,GACJg8F,MAAO,GACPn9F,KAAM,6DACN0hG,QAAS,EACTC,aAAc,aACdC,aAAc,aACd99F,KAAM,EACN2kG,aAAa,EACbC,QAAS,cAEX,CACEvnG,GAAI,GACJg8F,MAAO,GACPn9F,KAAM,+CACN0hG,QAAS,EACTC,aAAc,aACdC,aAAc,aACd99F,KAAM,EACN2kG,aAAa,EACbC,QAAS,cAEX,CACEvnG,GAAI,GACJg8F,MAAO,GACPn9F,KAAM,8CACN0hG,QAAS,EACTC,aAAc,aACdC,aAAc,aACd99F,KAAM,EACN2kG,aAAa,EACbC,QAAS,cAEX,CACEvnG,GAAI,GACJg8F,MAAO,GACPn9F,KAAM,8CACN0hG,QAAS,EACTC,aAAc,aACdC,aAAc,aACd99F,KAAM,EACN2kG,aAAa,EACbC,QAAS,cAEX,CACEvnG,GAAI,GACJg8F,MAAO,GACPn9F,KAAM,SACN0hG,QAAS,EACTC,aAAc,aACdC,aAAc,aACd99F,KAAM,EACN2kG,aAAa,EACbC,QAAS,cAEX,CACEvnG,GAAI,GACJg8F,MAAO,GACPn9F,KACE,wGACF0hG,QAAS,EACTC,aAAc,aACdC,aAAc,aACd99F,KAAM,EACN2kG,aAAa,EACbC,QAAS,cAEX,CACEvnG,GAAI,GACJg8F,MAAO,GACPn9F,KAAM,+DACN0hG,QAAS,EACTC,aAAc,aACdC,aAAc,aACd99F,KAAM,EACN2kG,aAAa,EACbC,QAAS,cAEX,CACEvnG,GAAI,GACJg8F,MAAO,GACPn9F,KACE,2HACF0hG,QAAS,EACTC,aAAc,aACdC,aAAc,aACd99F,KAAM,EACN2kG,aAAa,EACbC,QAAS,cAEX,CACEvnG,GAAI,GACJg8F,MAAO,GACPn9F,KAAM,mBACN0hG,QAAS,EACTC,aAAc,aACdC,aAAc,aACd99F,KAAM,EACN2kG,aAAa,EACbC,QAAS,cAEX,CACEvnG,GAAI,GACJg8F,MAAO,GACPn9F,KAAM,iCACN0hG,QAAS,EACTC,aAAc,aACdC,aAAc,aACd99F,KAAM,EACN2kG,aAAa,EACbC,QAAS,cAEX,CACEvnG,GAAI,GACJg8F,MAAO,GACPn9F,KAAM,kEACN0hG,QAAS,EACTC,aAAc,aACdC,aAAc,aACd99F,KAAM,EACN2kG,aAAa,EACbC,QAAS,cAEX,CACEvnG,GAAI,GACJg8F,MAAO,GACPn9F,KAAM,+DACN0hG,QAAS,EACTC,aAAc,aACdC,aAAc,aACd99F,KAAM,EACN2kG,aAAa,EACbC,QAAS,cAEX,CACEvnG,GAAI,GACJg8F,MAAO,GACPn9F,KAAM,+DACN0hG,QAAS,EACTC,aAAc,aACdC,aAAc,aACd99F,KAAM,EACN2kG,aAAa,EACbC,QAAS,cAEX,CACEvnG,GAAI,GACJg8F,MAAO,GACPn9F,KACE,2GACF0hG,QAAS,EACTC,aAAc,aACdC,aAAc,aACd99F,KAAM,EACN2kG,aAAa,EACbC,QAAS,cAEX,CACEvnG,GAAI,GACJg8F,MAAO,GACPn9F,KACE,uEACF0hG,QAAS,EACTC,aAAc,aACdC,aAAc,aACd99F,KAAM,EACN2kG,aAAa,EACbC,QAAS,cAEX,CACEvnG,GAAI,GACJg8F,MAAO,GACPn9F,KAAM,2BACN0hG,QAAS,EACTC,aAAc,aACdC,aAAc,aACd99F,KAAM,EACN2kG,aAAa,EACbC,QAAS,cAEX,CACEvnG,GAAI,GACJg8F,MAAO,GACPn9F,KACE,+FACF0hG,QAAS,EACTC,aAAc,aACdC,aAAc,aACd99F,KAAM,EACN2kG,aAAa,EACbC,QAAS,cAEX,CACEvnG,GAAI,GACJg8F,MAAO,GACPn9F,KAAM,mBACN0hG,QAAS,EACTC,aAAc,aACdC,aAAc,aACd99F,KAAM,EACN2kG,aAAa,EACbC,QAAS,cAEX,CACEvnG,GAAI,GACJg8F,MAAO,GACPn9F,KAAM,iCACN0hG,QAAS,EACTC,aAAc,aACdC,aAAc,aACd99F,KAAM,EACN2kG,aAAa,EACbC,QAAS,cAEX,CACEvnG,GAAI,GACJg8F,MAAO,GACPn9F,KACE,6GACF0hG,QAAS,EACTC,aAAc,aACdC,aAAc,aACd99F,KAAM,EACN2kG,aAAa,EACbC,QAAS,cAEX,CACEvnG,GAAI,GACJg8F,MAAO,GACPn9F,KACE,+HACF0hG,QAAS,EACTC,aAAc,aACdC,aAAc,aACd99F,KAAM,EACN2kG,aAAa,EACbC,QAAS,cAEX,CACEvnG,GAAI,GACJg8F,MAAO,GACPn9F,KACE,gFACF0hG,QAAS,EACTC,aAAc,aACdC,aAAc,aACd99F,KAAM,EACN2kG,aAAa,EACbC,QAAS,cAEX,CACEvnG,GAAI,GACJg8F,MAAO,GACPn9F,KACE,qGACF0hG,QAAS,EACTC,aAAc,aACdC,aAAc,aACd99F,KAAM,EACN2kG,aAAa,EACbC,QAAS,cAEX,CACEvnG,GAAI,GACJg8F,MAAO,GACPn9F,KACE,wHACF0hG,QAAS,EACTC,aAAc,aACdC,aAAc,aACd99F,KAAM,EACN2kG,aAAa,EACbC,QAAS,cAEX,CACEvnG,GAAI,GACJg8F,MAAO,GACPn9F,KACE,iIACF0hG,QAAS,EACTC,aAAc,aACdC,aAAc,aACd99F,KAAM,EACN2kG,aAAa,EACbC,QAAS,cAEX,CACEvnG,GAAI,GACJg8F,MAAO,GACPn9F,KACE,yFACF0hG,QAAS,EACTC,aAAc,aACdC,aAAc,aACd99F,KAAM,EACN2kG,aAAa,EACbC,QAAS,cAEX,CACEvnG,GAAI,GACJg8F,MAAO,GACPn9F,KAAM,wCACN0hG,QAAS,EACTC,aAAc,aACdC,aAAc,aACd99F,KAAM,EACN2kG,aAAa,EACbC,QAAS,cAEX,CACEvnG,GAAI,GACJg8F,MAAO,GACPn9F,KAAM,oBACN0hG,QAAS,EACTC,aAAc,aACdC,aAAc,aACd99F,KAAM,EACN2kG,aAAa,EACbC,QAAS,cAEX,CACEvnG,GAAI,GACJg8F,MAAO,GACPn9F,KAAM,kCACN0hG,QAAS,EACTC,aAAc,aACdC,aAAc,aACd99F,KAAM,EACN2kG,aAAa,EACbC,QAAS,cAEX,CACEvnG,GAAI,GACJg8F,MAAO,GACPn9F,KAAM,0CACN0hG,QAAS,EACTC,aAAc,aACdC,aAAc,aACd99F,KAAM,EACN2kG,aAAa,EACbC,QAAS,cAEX,CACEvnG,GAAI,GACJg8F,MAAO,GACPn9F,KACE,iFACF0hG,QAAS,EACTC,aAAc,aACdC,aAAc,aACd99F,KAAM,EACN2kG,aAAa,EACbC,QAAS,cAEX,CACEvnG,GAAI,GACJg8F,MAAO,GACPn9F,KACE,qFACF0hG,QAAS,EACTC,aAAc,aACdC,aAAc,aACd99F,KAAM,EACN2kG,aAAa,EACbC,QAAS,cAEX,CACEvnG,GAAI,GACJg8F,MAAO,GACPn9F,KAAM,0BACN0hG,QAAS,EACTC,aAAc,aACdC,aAAc,aACd99F,KAAM,EACN2kG,aAAa,EACbC,QAAS,cAEX,CACEvnG,GAAI,GACJg8F,MAAO,GACPn9F,KAAM,yCACN0hG,QAAS,EACTC,aAAc,aACdC,aAAc,aACd99F,KAAM,EACN2kG,aAAa,EACbC,QAAS,cAEX,CACEvnG,GAAI,GACJg8F,MAAO,GACPn9F,KACE,4GACF0hG,QAAS,EACTC,aAAc,aACdC,aAAc,aACd99F,KAAM,EACN2kG,aAAa,EACbC,QAAS,cAEX,CACEvnG,GAAI,GACJg8F,MAAO,GACPn9F,KAAM,UACN0hG,QAAS,EACTC,aAAc,aACdC,aAAc,aACd99F,KAAM,EACN2kG,aAAa,EACbC,QAAS,cAEX,CACEvnG,GAAI,GACJg8F,MAAO,GACPn9F,KAAM,4DACN0hG,QAAS,EACTC,aAAc,aACdC,aAAc,aACd99F,KAAM,EACN2kG,aAAa,EACbC,QAAS,cAEX,CACEvnG,GAAI,GACJg8F,MAAO,GACPn9F,KACE,+HACF0hG,QAAS,EACTC,aAAc,aACdC,aAAc,aACd99F,KAAM,EACN2kG,aAAa,EACbC,QAAS,cAEX,CACEvnG,GAAI,IACJg8F,MAAO,GACPn9F,KAAM,mEACN0hG,QAAS,EACTC,aAAc,aACdC,aAAc,aACd99F,KAAM,EACN2kG,aAAa,EACbC,QAAS,eC9mCE,SAASC,GAAYvI,GAClCA,EAAKC,OAAO,eAAeC,OAAM,YAAe,IAAZh9F,EAAW,EAAXA,KAC1B+qD,EAAWvsD,KAAKC,MAAMuB,GAAtB+qD,OACA8uC,EAAuD9uC,EAAvD8uC,MAAR,EAA+D9uC,EAAhDruD,YAAf,MAAsB,GAAtB,IAA+DquD,EAArCq6C,eAA1B,MAAoC,aAApC,IAA+Dr6C,EAAbvqD,YAAlD,MAAyD,EAAzD,EAEM8kG,EAAY,CAChBznG,GAiEN,WACE,IAAM8kB,EAAM4iF,GAAgB/jG,KAAI,SAAAihB,GAAE,OAAIA,EAAG5kB,MAEzC,OADc2K,KAAKgrB,IAAL,MAAAhrB,KAAI,YAAQma,IACX,EAtEF6iF,GAGT3L,OAAQA,EACRn9F,OACA0oG,UACA5kG,QAGF,OADA+kG,GAAgBh/F,KAAK++F,GACd,CAAC,IAAK,CAAEv6C,OAAQu6C,OAGzBxI,EAAKC,OAAO,yBAAyBC,OAAM,SAAAj0C,GACzC,IACMlrD,EADOkrD,EAAOt5C,IAAI5J,MAAM,KACd,GACVu3F,EAAY,IAAI1B,EACd34E,EAAgBvkB,KAAKC,MAAMsqD,EAAO/oD,MAAlC+iB,YACF0iF,EAAiBF,GAAgBv4F,QAAO,SAAAyV,GAAE,OAAIA,EAAGo3E,SAAWh8F,KAElE,MAAO,CAAC,IADeu/F,EAAUC,WAAWoI,EAAgB1iF,OAI9D+5E,EAAKC,OAAO,6BAA6BC,OAAM,SAAAj0C,GAQ7C,OAPgBvqD,KAAKC,MAAMsqD,EAAO/oD,MAA1B2iB,IACJhkB,SAAQ,SAAAd,GACV,IAAM6D,EAAQ6jG,GAAgB1iF,WAAU,SAAAJ,GAAE,OAAIA,EAAG5kB,KAAOA,KACpD6D,GAAS,GACX6jG,GAAgB7iE,OAAOhhC,EAAO,MAG3B,CAAC,QAGVo7F,EAAKQ,MAAM,qBAAqBN,OAAM,SAAAj0C,GACpC,IAAMlrD,EAAKkrD,EAAOt5C,IAAIjG,MAAM,uBAAuB,GAC7CuhD,EAASw6C,GAAgB3kF,MAAK,SAAA6B,GAAE,OAAIA,EAAG5kB,MAAQA,KACrD,OAAKktD,EAIE,CAAC,IAAKA,GAHJ,CAAC,QAMZ+xC,EAAKS,MAAM,qBAAqBP,OAAM,SAAAj0C,GACpC,IAAMlrD,EAAKkrD,EAAOt5C,IAAIjG,MAAM,uBAAuB,GAC3CuhD,EAAWvsD,KAAKC,MAAMsqD,EAAO/oD,MAA7B+qD,OACFrpD,EAAQ6jG,GAAgB1iF,WAAU,SAAAJ,GAAE,OAAIA,EAAG5kB,MAAQA,KACzD,OAAK6D,GAIL6jG,GAAgB7jG,GAAhB,eAA8BqpD,GACvB,CAAC,MAJC,CAAC,QAOZ+xC,EAAK31E,SAAS,qBAAqB61E,OAAM,SAAAj0C,GACvC,IAAMlrD,EAAKkrD,EAAOt5C,IAAIjG,MAAM,uBAAuB,GAC7C9H,EAAQ6jG,GAAgB1iF,WAAU,SAAAJ,GAAE,OAAIA,EAAG5kB,MAAQA,KAEzD,OADA0nG,GAAgB7iE,OAAOhhC,EAAO,IACd,KAAXA,EACI,CAAC,KAGH,CAAC,QCtEG,QACb,CACE7D,GAAI,EACJg8F,MAAO,EACP6L,OAAQ,EACR9oG,MAAO,uBACPwhG,QAAS,EACTC,aAAc,aACdC,aAAc,cAEhB,CACEzgG,GAAI,EACJg8F,MAAO,EACP6L,OAAQ,EACR9oG,MAAO,qBACPwhG,QAAS,EACTC,aAAc,aACdC,aAAc,cAEhB,CACEzgG,GAAI,EACJg8F,MAAO,EACP6L,OAAQ,EACR9oG,MAAO,YACPwhG,QAAS,EACTC,aAAc,aACdC,aAAc,cAEhB,CACEzgG,GAAI,EACJg8F,MAAO,EACP6L,OAAQ,EACR9oG,MAAO,iBACPwhG,QAAS,EACTC,aAAc,aACdC,aAAc,cAEhB,CACEzgG,GAAI,EACJg8F,MAAO,EACP6L,OAAQ,EACR9oG,MAAO,mCACPwhG,QAAS,EACTC,aAAc,aACdC,aAAc,cAEhB,CACEzgG,GAAI,EACJg8F,MAAO,EACP6L,OAAQ,EACR9oG,MAAO,eACPwhG,QAAS,EACTC,aAAc,aACdC,aAAc,cAEhB,CACEzgG,GAAI,EACJg8F,MAAO,EACP6L,OAAQ,EACR9oG,MAAO,qBACPwhG,QAAS,EACTC,aAAc,aACdC,aAAc,cAEhB,CACEzgG,GAAI,EACJg8F,MAAO,EACP6L,OAAQ,EACR9oG,MAAO,mCACPwhG,QAAS,EACTC,aAAc,aACdC,aAAc,cAEhB,CACEzgG,GAAI,EACJg8F,MAAO,EACP6L,OAAQ,EACR9oG,MAAO,4BACPwhG,QAAS,EACTC,aAAc,aACdC,aAAc,cAEhB,CACEzgG,GAAI,GACJg8F,MAAO,EACP6L,OAAQ,EACR9oG,MAAO,WACPwhG,QAAS,EACTC,aAAc,aACdC,aAAc,cAEhB,CACEzgG,GAAI,GACJg8F,MAAO,EACP6L,OAAQ,EACR9oG,MAAO,2BACPwhG,QAAS,EACTC,aAAc,aACdC,aAAc,cAEhB,CACEzgG,GAAI,GACJg8F,MAAO,EACP6L,OAAQ,EACR9oG,MAAO,iCACPwhG,QAAS,EACTC,aAAc,aACdC,aAAc,cAEhB,CACEzgG,GAAI,GACJg8F,MAAO,EACP6L,OAAQ,EACR9oG,MAAO,yCACPwhG,QAAS,EACTC,aAAc,aACdC,aAAc,cAEhB,CACEzgG,GAAI,GACJg8F,MAAO,EACP6L,OAAQ,EACR9oG,MAAO,0BACPwhG,QAAS,EACTC,aAAc,aACdC,aAAc,cAEhB,CACEzgG,GAAI,GACJg8F,MAAO,EACP6L,OAAQ,EACR9oG,MAAO,uBACPwhG,QAAS,EACTC,aAAc,aACdC,aAAc,cAEhB,CACEzgG,GAAI,GACJg8F,MAAO,EACP6L,OAAQ,EACR9oG,MAAO,8BACPwhG,QAAS,EACTC,aAAc,aACdC,aAAc,cAEhB,CACEzgG,GAAI,GACJg8F,MAAO,EACP6L,OAAQ,EACR9oG,MAAO,2BACPwhG,QAAS,EACTC,aAAc,aACdC,aAAc,cAEhB,CACEzgG,GAAI,GACJg8F,MAAO,EACP6L,OAAQ,EACR9oG,MAAO,yBACPwhG,QAAS,EACTC,aAAc,aACdC,aAAc,cAEhB,CACEzgG,GAAI,GACJg8F,MAAO,EACP6L,OAAQ,EACR9oG,MAAO,kBACPwhG,QAAS,EACTC,aAAc,aACdC,aAAc,cAEhB,CACEzgG,GAAI,GACJg8F,MAAO,EACP6L,OAAQ,EACR9oG,MAAO,4BACPwhG,QAAS,EACTC,aAAc,aACdC,aAAc,cAEhB,CACEzgG,GAAI,GACJg8F,MAAO,EACP6L,OAAQ,EACR9oG,MAAO,kCACPwhG,QAAS,EACTC,aAAc,aACdC,aAAc,cAEhB,CACEzgG,GAAI,GACJg8F,MAAO,EACP6L,OAAQ,EACR9oG,MAAO,UACPwhG,QAAS,EACTC,aAAc,aACdC,aAAc,cAEhB,CACEzgG,GAAI,GACJg8F,MAAO,EACP6L,OAAQ,EACR9oG,MAAO,QACPwhG,QAAS,EACTC,aAAc,aACdC,aAAc,cAEhB,CACEzgG,GAAI,GACJg8F,MAAO,EACP6L,OAAQ,EACR9oG,MAAO,8BACPwhG,QAAS,EACTC,aAAc,aACdC,aAAc,cAEhB,CACEzgG,GAAI,GACJg8F,MAAO,EACP6L,OAAQ,EACR9oG,MAAO,qBACPwhG,QAAS,EACTC,aAAc,aACdC,aAAc,cAEhB,CACEzgG,GAAI,GACJg8F,MAAO,EACP6L,OAAQ,EACR9oG,MAAO,0BACPwhG,QAAS,EACTC,aAAc,aACdC,aAAc,cAEhB,CACEzgG,GAAI,GACJg8F,MAAO,EACP6L,OAAQ,EACR9oG,MAAO,qBACPwhG,QAAS,EACTC,aAAc,aACdC,aAAc,cAEhB,CACEzgG,GAAI,GACJg8F,MAAO,EACP6L,OAAQ,EACR9oG,MAAO,iCACPwhG,QAAS,EACTC,aAAc,aACdC,aAAc,cAEhB,CACEzgG,GAAI,GACJg8F,MAAO,EACP6L,OAAQ,EACR9oG,MAAO,kCACPwhG,QAAS,EACTC,aAAc,aACdC,aAAc,cAEhB,CACEzgG,GAAI,GACJg8F,MAAO,EACP6L,OAAQ,EACR9oG,MAAO,qBACPwhG,QAAS,EACTC,aAAc,aACdC,aAAc,cAEhB,CACEzgG,GAAI,GACJg8F,MAAO,EACP6L,OAAQ,EACR9oG,MAAO,MACPwhG,QAAS,EACTC,aAAc,aACdC,aAAc,cAEhB,CACEzgG,GAAI,GACJg8F,MAAO,EACP6L,OAAQ,EACR9oG,MAAO,aACPwhG,QAAS,EACTC,aAAc,aACdC,aAAc,cAEhB,CACEzgG,GAAI,GACJg8F,MAAO,EACP6L,OAAQ,EACR9oG,MAAO,gBACPwhG,QAAS,EACTC,aAAc,aACdC,aAAc,cAEhB,CACEzgG,GAAI,GACJg8F,MAAO,EACP6L,OAAQ,EACR9oG,MAAO,WACPwhG,QAAS,EACTC,aAAc,aACdC,aAAc,cAEhB,CACEzgG,GAAI,GACJg8F,MAAO,EACP6L,OAAQ,EACR9oG,MAAO,+BACPwhG,QAAS,EACTC,aAAc,aACdC,aAAc,cAEhB,CACEzgG,GAAI,GACJg8F,MAAO,EACP6L,OAAQ,EACR9oG,MAAO,qBACPwhG,QAAS,EACTC,aAAc,aACdC,aAAc,cAEhB,CACEzgG,GAAI,GACJg8F,MAAO,EACP6L,OAAQ,EACR9oG,MAAO,yBACPwhG,QAAS,EACTC,aAAc,aACdC,aAAc,cAEhB,CACEzgG,GAAI,GACJg8F,MAAO,EACP6L,OAAQ,EACR9oG,MAAO,qBACPwhG,QAAS,EACTC,aAAc,aACdC,aAAc,cAEhB,CACEzgG,GAAI,GACJg8F,MAAO,EACP6L,OAAQ,EACR9oG,MAAO,OACPwhG,QAAS,EACTC,aAAc,aACdC,aAAc,cAEhB,CACEzgG,GAAI,GACJg8F,MAAO,EACP6L,OAAQ,EACR9oG,MAAO,4BACPwhG,QAAS,EACTC,aAAc,aACdC,aAAc,cAEhB,CACEzgG,GAAI,GACJg8F,MAAO,EACP6L,OAAQ,EACR9oG,MAAO,8BACPwhG,QAAS,EACTC,aAAc,aACdC,aAAc,cAEhB,CACEzgG,GAAI,GACJg8F,MAAO,EACP6L,OAAQ,EACR9oG,MAAO,2BACPwhG,QAAS,EACTC,aAAc,aACdC,aAAc,cAEhB,CACEzgG,GAAI,GACJg8F,MAAO,EACP6L,OAAQ,EACR9oG,MAAO,2BACPwhG,QAAS,EACTC,aAAc,aACdC,aAAc,cAEhB,CACEzgG,GAAI,GACJg8F,MAAO,EACP6L,OAAQ,EACR9oG,MAAO,wCACPwhG,QAAS,EACTC,aAAc,aACdC,aAAc,cAEhB,CACEzgG,GAAI,GACJg8F,MAAO,EACP6L,OAAQ,EACR9oG,MAAO,cACPwhG,QAAS,EACTC,aAAc,aACdC,aAAc,cAEhB,CACEzgG,GAAI,GACJg8F,MAAO,GACP6L,OAAQ,EACR9oG,MAAO,yBACPwhG,QAAS,EACTC,aAAc,aACdC,aAAc,cAEhB,CACEzgG,GAAI,GACJg8F,MAAO,GACP6L,OAAQ,EACR9oG,MAAO,KACPwhG,QAAS,EACTC,aAAc,aACdC,aAAc,cAEhB,CACEzgG,GAAI,GACJg8F,MAAO,GACP6L,OAAQ,EACR9oG,MAAO,2BACPwhG,QAAS,EACTC,aAAc,aACdC,aAAc,cAEhB,CACEzgG,GAAI,GACJg8F,MAAO,GACP6L,OAAQ,EACR9oG,MAAO,oBACPwhG,QAAS,EACTC,aAAc,aACdC,aAAc,cAEhB,CACEzgG,GAAI,GACJg8F,MAAO,GACP6L,OAAQ,EACR9oG,MAAO,mBACPwhG,QAAS,EACTC,aAAc,aACdC,aAAc,cAEhB,CACEzgG,GAAI,GACJg8F,MAAO,GACP6L,OAAQ,EACR9oG,MAAO,oCACPwhG,QAAS,EACTC,aAAc,aACdC,aAAc,cAEhB,CACEzgG,GAAI,GACJg8F,MAAO,GACP6L,OAAQ,EACR9oG,MAAO,OACPwhG,QAAS,EACTC,aAAc,aACdC,aAAc,cAEhB,CACEzgG,GAAI,GACJg8F,MAAO,GACP6L,OAAQ,EACR9oG,MAAO,iBACPwhG,QAAS,EACTC,aAAc,aACdC,aAAc,cAEhB,CACEzgG,GAAI,GACJg8F,MAAO,GACP6L,OAAQ,EACR9oG,MAAO,wBACPwhG,QAAS,EACTC,aAAc,aACdC,aAAc,cAEhB,CACEzgG,GAAI,GACJg8F,MAAO,GACP6L,OAAQ,EACR9oG,MAAO,WACPwhG,QAAS,EACTC,aAAc,aACdC,aAAc,cAEhB,CACEzgG,GAAI,GACJg8F,MAAO,GACP6L,OAAQ,EACR9oG,MAAO,eACPwhG,QAAS,EACTC,aAAc,aACdC,aAAc,cAEhB,CACEzgG,GAAI,GACJg8F,MAAO,GACP6L,OAAQ,EACR9oG,MAAO,oBACPwhG,QAAS,EACTC,aAAc,aACdC,aAAc,cAEhB,CACEzgG,GAAI,GACJg8F,MAAO,GACP6L,OAAQ,EACR9oG,MAAO,uCACPwhG,QAAS,EACTC,aAAc,aACdC,aAAc,cAEhB,CACEzgG,GAAI,GACJg8F,MAAO,GACP6L,OAAQ,EACR9oG,MAAO,UACPwhG,QAAS,EACTC,aAAc,aACdC,aAAc,cAEhB,CACEzgG,GAAI,GACJg8F,MAAO,GACP6L,OAAQ,EACR9oG,MAAO,4BACPwhG,QAAS,EACTC,aAAc,aACdC,aAAc,cAEhB,CACEzgG,GAAI,GACJg8F,MAAO,GACP6L,OAAQ,EACR9oG,MAAO,SACPwhG,QAAS,EACTC,aAAc,aACdC,aAAc,cAEhB,CACEzgG,GAAI,GACJg8F,MAAO,GACP6L,OAAQ,EACR9oG,MAAO,iBACPwhG,QAAS,EACTC,aAAc,aACdC,aAAc,cAEhB,CACEzgG,GAAI,GACJg8F,MAAO,GACP6L,OAAQ,EACR9oG,MAAO,kBACPwhG,QAAS,EACTC,aAAc,aACdC,aAAc,cAEhB,CACEzgG,GAAI,GACJg8F,MAAO,GACP6L,OAAQ,EACR9oG,MAAO,iBACPwhG,QAAS,EACTC,aAAc,aACdC,aAAc,cAEhB,CACEzgG,GAAI,GACJg8F,MAAO,GACP6L,OAAQ,EACR9oG,MAAO,UACPwhG,QAAS,EACTC,aAAc,aACdC,aAAc,cAEhB,CACEzgG,GAAI,GACJg8F,MAAO,GACP6L,OAAQ,EACR9oG,MAAO,MACPwhG,QAAS,EACTC,aAAc,aACdC,aAAc,cAEhB,CACEzgG,GAAI,GACJg8F,MAAO,GACP6L,OAAQ,EACR9oG,MAAO,aACPwhG,QAAS,EACTC,aAAc,aACdC,aAAc,cAEhB,CACEzgG,GAAI,GACJg8F,MAAO,GACP6L,OAAQ,EACR9oG,MAAO,KACPwhG,QAAS,EACTC,aAAc,aACdC,aAAc,cAEhB,CACEzgG,GAAI,GACJg8F,MAAO,GACP6L,OAAQ,EACR9oG,MAAO,SACPwhG,QAAS,EACTC,aAAc,aACdC,aAAc,cAEhB,CACEzgG,GAAI,GACJg8F,MAAO,GACP6L,OAAQ,EACR9oG,MAAO,mCACPwhG,QAAS,EACTC,aAAc,aACdC,aAAc,cAEhB,CACEzgG,GAAI,GACJg8F,MAAO,GACP6L,OAAQ,EACR9oG,MAAO,MACPwhG,QAAS,EACTC,aAAc,aACdC,aAAc,cAEhB,CACEzgG,GAAI,GACJg8F,MAAO,GACP6L,OAAQ,EACR9oG,MAAO,oCACPwhG,QAAS,EACTC,aAAc,aACdC,aAAc,cAEhB,CACEzgG,GAAI,GACJg8F,MAAO,GACP6L,OAAQ,EACR9oG,MAAO,yBACPwhG,QAAS,EACTC,aAAc,aACdC,aAAc,cAEhB,CACEzgG,GAAI,GACJg8F,MAAO,GACP6L,OAAQ,EACR9oG,MAAO,+BACPwhG,QAAS,EACTC,aAAc,aACdC,aAAc,cAEhB,CACEzgG,GAAI,GACJg8F,MAAO,GACP6L,OAAQ,EACR9oG,MAAO,6BACPwhG,QAAS,EACTC,aAAc,aACdC,aAAc,cAEhB,CACEzgG,GAAI,GACJg8F,MAAO,GACP6L,OAAQ,EACR9oG,MAAO,mBACPwhG,QAAS,EACTC,aAAc,aACdC,aAAc,cAEhB,CACEzgG,GAAI,GACJg8F,MAAO,GACP6L,OAAQ,EACR9oG,MAAO,mBACPwhG,QAAS,EACTC,aAAc,aACdC,aAAc,cAEhB,CACEzgG,GAAI,GACJg8F,MAAO,GACP6L,OAAQ,EACR9oG,MAAO,iCACPwhG,QAAS,EACTC,aAAc,aACdC,aAAc,cAEhB,CACEzgG,GAAI,GACJg8F,MAAO,GACP6L,OAAQ,EACR9oG,MAAO,MACPwhG,QAAS,EACTC,aAAc,aACdC,aAAc,cAEhB,CACEzgG,GAAI,GACJg8F,MAAO,GACP6L,OAAQ,EACR9oG,MAAO,wCACPwhG,QAAS,EACTC,aAAc,aACdC,aAAc,cAEhB,CACEzgG,GAAI,GACJg8F,MAAO,GACP6L,OAAQ,EACR9oG,MAAO,mBACPwhG,QAAS,EACTC,aAAc,aACdC,aAAc,cAEhB,CACEzgG,GAAI,GACJg8F,MAAO,GACP6L,OAAQ,EACR9oG,MAAO,gCACPwhG,QAAS,EACTC,aAAc,aACdC,aAAc,cAEhB,CACEzgG,GAAI,GACJg8F,MAAO,GACP6L,OAAQ,EACR9oG,MAAO,iBACPwhG,QAAS,EACTC,aAAc,aACdC,aAAc,cAEhB,CACEzgG,GAAI,GACJg8F,MAAO,GACP6L,OAAQ,EACR9oG,MAAO,8BACPwhG,QAAS,EACTC,aAAc,aACdC,aAAc,cAEhB,CACEzgG,GAAI,GACJg8F,MAAO,GACP6L,OAAQ,EACR9oG,MAAO,gCACPwhG,QAAS,EACTC,aAAc,aACdC,aAAc,cAEhB,CACEzgG,GAAI,GACJg8F,MAAO,GACP6L,OAAQ,EACR9oG,MAAO,cACPwhG,QAAS,EACTC,aAAc,aACdC,aAAc,cAEhB,CACEzgG,GAAI,GACJg8F,MAAO,GACP6L,OAAQ,EACR9oG,MAAO,wBACPwhG,QAAS,EACTC,aAAc,aACdC,aAAc,cAEhB,CACEzgG,GAAI,GACJg8F,MAAO,GACP6L,OAAQ,EACR9oG,MAAO,qBACPwhG,QAAS,EACTC,aAAc,aACdC,aAAc,cAEhB,CACEzgG,GAAI,GACJg8F,MAAO,GACP6L,OAAQ,EACR9oG,MAAO,wCACPwhG,QAAS,EACTC,aAAc,aACdC,aAAc,cAEhB,CACEzgG,GAAI,GACJg8F,MAAO,GACP6L,OAAQ,EACR9oG,MAAO,qCACPwhG,QAAS,EACTC,aAAc,aACdC,aAAc,cAEhB,CACEzgG,GAAI,GACJg8F,MAAO,GACP6L,OAAQ,EACR9oG,MAAO,mBACPwhG,QAAS,EACTC,aAAc,aACdC,aAAc,cAEhB,CACEzgG,GAAI,GACJg8F,MAAO,GACP6L,OAAQ,EACR9oG,MAAO,sBACPwhG,QAAS,EACTC,aAAc,aACdC,aAAc,cAEhB,CACEzgG,GAAI,GACJg8F,MAAO,GACP6L,OAAQ,EACR9oG,MAAO,sCACPwhG,QAAS,EACTC,aAAc,aACdC,aAAc,cAEhB,CACEzgG,GAAI,GACJg8F,MAAO,GACP6L,OAAQ,EACR9oG,MAAO,QACPwhG,QAAS,EACTC,aAAc,aACdC,aAAc,cAEhB,CACEzgG,GAAI,GACJg8F,MAAO,GACP6L,OAAQ,EACR9oG,MAAO,0BACPwhG,QAAS,EACTC,aAAc,aACdC,aAAc,cAEhB,CACEzgG,GAAI,GACJg8F,MAAO,GACP6L,OAAQ,EACR9oG,MAAO,2BACPwhG,QAAS,EACTC,aAAc,aACdC,aAAc,cAEhB,CACEzgG,GAAI,GACJg8F,MAAO,GACP6L,OAAQ,EACR9oG,MAAO,0BACPwhG,QAAS,EACTC,aAAc,aACdC,aAAc,cAEhB,CACEzgG,GAAI,GACJg8F,MAAO,GACP6L,OAAQ,EACR9oG,MAAO,YACPwhG,QAAS,EACTC,aAAc,aACdC,aAAc,cAEhB,CACEzgG,GAAI,GACJg8F,MAAO,GACP6L,OAAQ,EACR9oG,MAAO,SACPwhG,QAAS,EACTC,aAAc,aACdC,aAAc,cAEhB,CACEzgG,GAAI,IACJg8F,MAAO,GACP6L,OAAQ,EACR9oG,MAAO,KACPwhG,QAAS,EACTC,aAAc,aACdC,aAAc,cAEhB,CACEzgG,GAAI,IACJg8F,MAAO,GACP6L,OAAQ,EACR9oG,MAAO,2BACPwhG,QAAS,EACTC,aAAc,aACdC,aAAc,eCz4BH,SAASqH,GAAmB7I,GACzCA,EAAKC,OAAO,sBAAsBC,OAAM,YAAe,IAAZh9F,EAAW,EAAXA,KACjC4lG,EAAkBpnG,KAAKC,MAAMuB,GAA7B4lG,cACA/L,EAA8B+L,EAA9B/L,MAAR,EAAsC+L,EAAvBhpG,aAAf,MAAuB,GAAvB,EAA2B8oG,EAAWE,EAAXF,OAErBG,EAAmB,CACvBhoG,GAuEN,WACE,IAAM8kB,EAAMmjF,GAAuBtkG,KAAI,SAAAihB,GAAE,OAAIA,EAAG5kB,MAEhD,OADc2K,KAAKgrB,IAAL,MAAAhrB,KAAI,YAAQma,IACX,EA5EFojF,GAGTlM,OAAQA,EACRj9F,QACA8oG,QAASA,GAGX,OADAI,GAAuBv/F,KAAKs/F,GACrB,CAAC,IAAK,CAAED,cAAeC,OAGhC/I,EAAKC,OAAO,gCAAgCC,OAAM,SAAAj0C,GAChD,IACMlrD,EADOkrD,EAAOt5C,IAAI5J,MAAM,KACd,GACVu3F,EAAY,IAAI1B,EACd34E,EAAgBvkB,KAAKC,MAAMsqD,EAAO/oD,MAAlC+iB,YACFijF,EAAiBF,GAAuB94F,QAC5C,SAAAyV,GAAE,OAAIA,EAAGo3E,SAAWh8F,KAEhB+O,EAAS,GAIf,OAHAo5F,EAAernG,SAAQ,SAAA8jB,GAAE,OAAI7V,EAAOrG,KAAK0/F,GAAkBxjF,OAGpD,CAAC,IAFsB26E,EAAUC,WAAWzwF,EAAQmW,OAK7D+5E,EAAKC,OAAO,2CAA2CC,OAAM,SAAAj0C,GAQ3D,OAPgBvqD,KAAKC,MAAMsqD,EAAO/oD,MAA1B2iB,IACJhkB,SAAQ,SAAAd,GACV,IAAM6D,EAAQokG,GAAuBjjF,WAAU,SAAAJ,GAAE,OAAIA,EAAG5kB,KAAOA,KAC3D6D,GAAS,GACXokG,GAAuBpjE,OAAOhhC,EAAO,MAGlC,CAAC,QAGVo7F,EAAKQ,MAAM,4BAA4BN,OAAM,SAAAj0C,GAC3C,IAAMlrD,EAAKkrD,EAAOt5C,IAAIjG,MAAM,8BAA8B,GACpD08F,EAAOJ,GAAuBllF,MAAK,SAAA6B,GAAE,OAAIA,EAAG5kB,MAAQA,KAC1D,OAAKqoG,EAME,CAAC,IAFcD,GAAkBC,IAH/B,CAAC,QAQZpJ,EAAKS,MAAM,4BAA4BP,OAAM,SAAAj0C,GAC3C,IAAMlrD,EAAKkrD,EAAOt5C,IAAIjG,MAAM,8BAA8B,GAClDo8F,EAAkBpnG,KAAKC,MAAMsqD,EAAO/oD,MAApC4lG,cACFlkG,EAAQokG,GAAuBjjF,WAAU,SAAAJ,GAAE,OAAIA,EAAG5kB,MAAQA,KAChE,OAAK6D,GAILokG,GAAuBpkG,GAAvB,eAAqCkkG,GAC9B,CAAC,MAJC,CAAC,QAOZ9I,EAAK31E,SAAS,4BAA4B61E,OAAM,SAAAj0C,GAC9C,IAAMlrD,EAAKkrD,EAAOt5C,IAAIjG,MAAM,8BAA8B,GACpD9H,EAAQokG,GAAuBjjF,WAAU,SAAAJ,GAAE,OAAIA,EAAG5kB,MAAQA,KAEhE,OADAioG,GAAuBpjE,OAAOhhC,EAAO,IACrB,KAAXA,EACI,CAAC,KAGH,CAAC,QAUZ,SAASukG,GAAkBL,GACzB,IAAMO,EAAO,eAAQP,GAErB,OADAO,EAAQ1iG,KAKM,CACZ,QACA,YACA,QACA,aACA,SACA,eACA,aACA,eACA,WACA,UAf6B0iG,EAAQT,QAChCS,ECzFM,QACX,CACItoG,GAAI,EACJuoG,aAAc,aACdC,QAAS,MACTC,gBAAiB,gBACjBC,YAAa,WACbC,cAAgB,WCJT,SAASC,GAA0B3J,GAChDA,EAAKC,OAAO,6BAA6BC,OAAM,YAAe,IAAZh9F,EAAW,EAAXA,KACxC+e,EAAavgB,KAAKC,MAAMuB,GAAxB+e,SACR,EAMIA,EALAqnF,oBADJ,MACmB,GADnB,IAMIrnF,EAJAsnF,eAFJ,MAEc,GAFd,IAMItnF,EAHAunF,uBAHJ,MAGsB,GAHtB,IAMIvnF,EAFAwnF,mBAJJ,MAIiB,GAJjB,IAMIxnF,EADAynF,qBALJ,MAKmB,GALnB,EASMvJ,EAAc,CAClBp/F,GA4EN,WACE,IAAM8kB,EAAMu6E,GAAkB17F,KAAI,SAAAihB,GAAE,OAAIA,EAAG5kB,MAE3C,OADc2K,KAAKgrB,IAAL,MAAAhrB,KAAI,YAAQma,IACX,EAjFFw6E,GAGTiJ,eACAC,UACAC,kBACAC,cACAC,iBAGF,OADAtJ,GAAkB32F,KAAK02F,GAChB,CAAC,IAAK,CAAEl+E,SAAUk+E,OAG3BH,EAAKC,OAAO,kCAAkCC,OAAM,SAAAj0C,GAClD,IAAMq0C,EAAY,IAAI1B,EACd34E,EAAgBvkB,KAAKC,MAAMsqD,EAAO/oD,MAAlC+iB,YAKR,MAAO,CAAC,IAJiBq6E,EAAUC,WACjCH,GACAn6E,OAKJ+5E,EAAKC,OAAO,6CAA6CC,OAAM,SAAAj0C,GAQ7D,OAPgBvqD,KAAKC,MAAMsqD,EAAO/oD,MAA1B2iB,IACJhkB,SAAQ,SAAAd,GACV,IAAM6D,EAAQw7F,GAAkBr6E,WAAU,SAAAJ,GAAE,OAAIA,EAAG5kB,KAAOA,KACtD6D,GAAS,GACXw7F,GAAkBx6D,OAAOhhC,EAAO,MAG7B,CAAC,QAGVo7F,EAAKC,OAAO,sDAAsDC,OAAM,SAAAj0C,GACtE,MAAwBvqD,KAAKC,MAAMsqD,EAAO/oD,MAAlC2iB,EAAR,EAAQA,IAAKnQ,EAAb,EAAaA,OAMb,OALA0qF,GAAkBv+F,SAAQ,SAAA8jB,GACpBE,EAAIE,WAAU,SAAAhlB,GAAE,OAAIA,IAAO4kB,EAAG5kB,OAAO,IACvC4kB,EAAGjQ,OAASA,MAGT,CAAC,QAGVsqF,EAAKQ,MAAM,mCAAmCN,OAAM,SAAAj0C,GAClD,IAAMlrD,EAAKkrD,EAAOt5C,IAAIjG,MAAM,yBAAyB,GAC/CuV,EAAWm+E,GAAkBt8E,MAAK,SAAA6B,GAAE,OAAIA,EAAG5kB,MAAQA,KACzD,OAAKkhB,EAIE,CAAC,IAAKA,GAHJ,CAAC,QAMZ+9E,EAAKS,MAAM,mCAAmCP,OAAM,SAAAj0C,GAClD,IAAMlrD,EAAKkrD,EAAOt5C,IAAIjG,MAAM,yBAAyB,GAC7CuV,EAAavgB,KAAKC,MAAMsqD,EAAO/oD,MAA/B+e,SACFrd,EAAQw7F,GAAkBr6E,WAAU,SAAAJ,GAAE,OAAIA,EAAG5kB,MAAQA,KAC3D,OAAK6D,GAILw7F,GAAkBx7F,GAAlB,eAAgCqd,GACzB,CAAC,MAJC,CAAC,QAOZ+9E,EAAK31E,SAAS,mCAAmC61E,OAAM,SAAAj0C,GACrD,IAAMlrD,EAAKkrD,EAAOt5C,IAAIjG,MAAM,yBAAyB,GAC/C9H,EAAQw7F,GAAkBr6E,WAAU,SAAAJ,GAAE,OAAIA,EAAG5kB,MAAQA,KAE3D,OADAq/F,GAAkBx6D,OAAOhhC,EAAO,IAChB,KAAXA,EACI,CAAC,KAGH,CAAC,QCxFG,ICCXw7F,GDDW,IACX,CAEIwJ,KAAM,GACN9tE,YAAa,MEDN,SAAS+tE,GAAoB7J,GAC1CA,EAAKC,OAAO,uBAAuBC,OAAM,YAAe,IAAZh9F,EAAW,EAAXA,KAClC+e,EAAavgB,KAAKC,MAAMuB,GAAxB+e,SACR,EAGIA,EAFA2nF,YADJ,MACW,GADX,IAGI3nF,EADA6Z,mBAFJ,MAEkB,GAFlB,EAMMqkE,EAAc,CAClBp/F,GAyEN,WACE,IAAM8kB,EAAMu6E,GAAkB17F,KAAI,SAAAihB,GAAE,OAAIA,EAAG5kB,MAE3C,OADc2K,KAAKgrB,IAAL,MAAAhrB,KAAI,YAAQma,IACX,EA9EFw6E,GAGTuJ,OACA9tE,eAGF,OADAskE,GAAkB32F,KAAK02F,GAChB,CAAC,IAAK,CAAEl+E,SAAUk+E,OAG3BH,EAAKC,OAAO,4BAA4BC,OAAM,SAAAj0C,GAC5C,IAAMq0C,EAAY,IAAI1B,EACd34E,EAAgBvkB,KAAKC,MAAMsqD,EAAO/oD,MAAlC+iB,YAKR,MAAO,CAAC,IAJiBq6E,EAAUC,WACjCH,GACAn6E,OAKJ+5E,EAAKC,OAAO,uCAAuCC,OAAM,SAAAj0C,GAQvD,OAPgBvqD,KAAKC,MAAMsqD,EAAO/oD,MAA1B2iB,IACJhkB,SAAQ,SAAAd,GACV,IAAM6D,EAAQw7F,GAAkBr6E,WAAU,SAAAJ,GAAE,OAAIA,EAAG5kB,KAAOA,KACtD6D,GAAS,GACXw7F,GAAkBx6D,OAAOhhC,EAAO,MAG7B,CAAC,QAGVo7F,EAAKC,OAAO,gDAAgDC,OAAM,SAAAj0C,GAChE,MAAwBvqD,KAAKC,MAAMsqD,EAAO/oD,MAAlC2iB,EAAR,EAAQA,IAAKnQ,EAAb,EAAaA,OAMb,OALA0qF,GAAkBv+F,SAAQ,SAAA8jB,GACpBE,EAAIE,WAAU,SAAAhlB,GAAE,OAAIA,IAAO4kB,EAAG5kB,OAAO,IACvC4kB,EAAGjQ,OAASA,MAGT,CAAC,QAGVsqF,EAAKQ,MAAM,6BAA6BN,OAAM,SAAAj0C,GAC5C,IAAMlrD,EAAKkrD,EAAOt5C,IAAIjG,MAAM,yBAAyB,GAC/CuV,EAAWm+E,GAAkBt8E,MAAK,SAAA6B,GAAE,OAAIA,EAAG5kB,MAAQA,KACzD,OAAKkhB,EAIE,CAAC,IAAKA,GAHJ,CAAC,QAMZ+9E,EAAKS,MAAM,6BAA6BP,OAAM,SAAAj0C,GAC5C,IAAMlrD,EAAKkrD,EAAOt5C,IAAIjG,MAAM,yBAAyB,GAC7CuV,EAAavgB,KAAKC,MAAMsqD,EAAO/oD,MAA/B+e,SACFrd,EAAQw7F,GAAkBr6E,WAAU,SAAAJ,GAAE,OAAIA,EAAG5kB,MAAQA,KAC3D,OAAK6D,GAILw7F,GAAkBx7F,GAAlB,eAAgCqd,GACzB,CAAC,MAJC,CAAC,QAOZ+9E,EAAK31E,SAAS,6BAA6B61E,OAAM,SAAAj0C,GAC/C,IAAMlrD,EAAKkrD,EAAOt5C,IAAIjG,MAAM,yBAAyB,GAC/C9H,EAAQw7F,GAAkBr6E,WAAU,SAAAJ,GAAE,OAAIA,EAAG5kB,MAAQA,KAE3D,OADAq/F,GAAkBx6D,OAAOhhC,EAAO,IAChB,KAAXA,EACI,CAAC,KAGH,CAAC,Q,2yMD2DZ,SAASy7F,KACP,IAAMx6E,EAAMu6E,GAAkB17F,KAAI,SAAAihB,GAAE,OAAIA,EAAG5kB,MAE3C,OADc2K,KAAKgrB,IAAL,MAAAhrB,KAAI,YAAQma,IACX,EAGjB,SAASo7E,GAASv4F,GAChB,IAAK,IAAI/D,KAAQ+D,EACfA,EAAK/D,GAAM5D,GAAK2H,EAAK/D,GAAMJ,UACpBmE,EAAK/D,GAAMJ,GAEpB,OAAOmE,E,2yMEpJT,IAEI03F,GAFExhG,GAAU,IAAIC,IAAa,MAC3BC,GAAKC,IAAIH,I,+CAEA,WAA8BohG,GAA9B,IACJjrD,EAYMsvB,EAbF,EAqCEtuB,EArCF,EA6DEZ,EA7DF,EA8HED,EA9HF,EA+LEgsD,EA/LF,EAqNE4I,EArNF,iHAqNb,+FACe90F,MAAMxP,OAAOyP,QAAU,2BAA4B,CAC9DC,OAAQ,MACRC,iBAAiB,EACjBC,QAAS,CACPiL,OAAQ,oCACRhL,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,sBAGjBC,MAAK,SAACM,GAAD,OAASA,EAAI/N,UAClByN,MAAK,SAACM,GACL,OAAOA,KAERC,OAAM,SAACtV,GAEN,OADAD,YAAa,QAAS,QACf,KAjBb,oFArNa,uBAqNEupG,EArNF,wFA+Lb,WAA2B/oG,GAA3B,kFACeiU,MAAM,sCAAwCjU,EAAI,CAC7DmU,OAAQ,SACRC,iBAAiB,EACjBC,QAAS,CACPiL,OAAQ,oCACRhL,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,sBAGjBC,KAVU,wCAUL,WAAOC,GAAP,2FACGA,GADH,2CAVK,uDAaVD,MAAK,SAACM,GACL,OAAOk/B,EAAcl/B,MAEtBC,OAAM,SAACtV,GACN,OAAOu0C,EAAcv0C,MAlB3B,oFA/La,uBA+LE0gG,EA/LF,yFA8Hb,WAAwBjsD,EAAUl0C,GAAlC,+EACQgpG,EAAgB5qG,SAASsR,eAAe,kBACxCu5F,EAAgB7qG,SAASsR,eAAe,uBAC1C+P,EAAW,IAAI0yC,cACWzsD,IAA3BsjG,EAActuF,MAAM,IACrB+E,EAAStK,OACP,OACA6zF,EAActuF,MAAM,GACpBsuF,EAAcjqG,MAAMiJ,MAAM,MAAM,SAENtC,IAA3BujG,EAAcvuF,MAAM,IACrB+E,EAAStK,OACP,QACA8zF,EAAcvuF,MAAM,GACpBuuF,EAAclqG,MAAMiJ,MAAM,MAAM,IAGd,KAAnBksC,EAAS3iC,MAjBd,iBAkBI9M,OAAOykG,gBAAiB,EACxBzpF,EAAStK,OAAO,QAAS++B,EAAS3iC,OAnBtC,+BAqBI/R,YAAa,QAAQ,qBACrBiF,OAAOykG,gBAAiB,EAtB5B,mBAuBW,GAvBX,WAyB2B,KAAtBh1D,EAASi1D,UACV1pF,EAAStK,OAAO,WAAY++B,EAASi1D,UAEZ,KAAxBj1D,EAASk1D,YACV3pF,EAAStK,OAAO,aAAc++B,EAASk1D,WAAWhjG,YAE/B,KAAlB8tC,EAAS7iC,MACVoO,EAAStK,OAAO,OAAQ++B,EAAS7iC,KAAKjL,YAEb,KAAxB8tC,EAAShnB,WAlCd,iBAmCIzoB,OAAOykG,gBAAiB,EACxBzpF,EAAStK,OAAO,aAAc++B,EAAShnB,YApC3C,+BAsCI1tB,YAAa,QAAQ,wBACrBiF,OAAOykG,gBAAiB,EAvC5B,mBAwCW,GAxCX,eA0C4B,IAAvBh1D,EAASm1D,WACV5pF,EAAStK,OAAO,YAAa++B,EAASm1D,WA3C1C,kBA6CSp1F,MAAM,mCAAqCjU,EAAI,CACpDmU,OAAQ,MACRC,iBAAiB,EACjBC,QAAS,CACPC,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,UAElBvV,KAAMygB,IAELjL,KATI,wCASC,WAAOC,GAAP,2FACGA,GADH,2CATD,uDAYJD,MAAK,SAACM,GACL,OAAOk/B,EAAcl/B,MAEtBC,OAAM,SAACtV,GACN,OAAOu0C,EAAcv0C,OA7D3B,6CA9Ha,uBA8HE00C,EA9HF,2FA6Db,WAAyBD,GAAzB,+EACQ80D,EAAgB5qG,SAASsR,eAAe,kBACxCu5F,EAAgB7qG,SAASsR,eAAe,uBAC1C+P,EAAW,IAAI0yC,cACWzsD,IAA3BsjG,EAActuF,MAAM,IACrB+E,EAAStK,OACP,OACA6zF,EAActuF,MAAM,GACpBsuF,EAAcjqG,MAAMiJ,MAAM,MAAM,SAENtC,IAA3BujG,EAAcvuF,MAAM,IACrB+E,EAAStK,OACP,QACA8zF,EAAcvuF,MAAM,GACpBuuF,EAAclqG,MAAMiJ,MAAM,MAAM,IAGd,KAAnBksC,EAAS3iC,MAjBd,iBAkBI9M,OAAOykG,gBAAiB,EACxBzpF,EAAStK,OAAO,QAAS++B,EAAS3iC,OAnBtC,+BAqBI/R,YAAa,QAAQ,qBACrBiF,OAAOykG,gBAAiB,EAtB5B,mBAuBW,GAvBX,WAyB2B,KAAtBh1D,EAASi1D,UACV1pF,EAAStK,OAAO,WAAY++B,EAASi1D,UAEZ,KAAxBj1D,EAASk1D,YACV3pF,EAAStK,OAAO,aAAc++B,EAASk1D,WAAWhjG,YAE/B,KAAlB8tC,EAAS7iC,MACVoO,EAAStK,OAAO,OAAQ++B,EAAS7iC,KAAKjL,YAEb,KAAxB8tC,EAAShnB,WAlCd,iBAmCIzoB,OAAOykG,gBAAiB,EACxBzpF,EAAStK,OAAO,aAAc++B,EAAShnB,YApC3C,+BAsCI1tB,YAAa,QAAQ,wBACrBiF,OAAOykG,gBAAiB,EAvC5B,mBAwCW,GAxCX,eA0C4B,IAAvBh1D,EAASm1D,WACV5pF,EAAStK,OAAO,YAAa++B,EAASm1D,WA3C1C,kBA6CSp1F,MAAM,mCAAoC,CAC/CE,OAAQ,OACRC,iBAAiB,EACjBC,QAAS,CACPC,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,UAElBvV,KAAMygB,IAELjL,KATI,wCASC,WAAOC,GAAP,2FACGA,GADH,2CATD,uDAYJD,MAAK,SAACM,GACL,OAAOk/B,EAAcl/B,MAEtBC,OAAM,SAACtV,GACN,OAAOu0C,EAAcv0C,OA7D3B,6CA7Da,uBA6DE20C,EA7DF,yFAqCb,WAA0Bp0C,GAA1B,kFACeiU,MAAM,yCAAD,OAA0CjU,GAAM,CAChEmU,OAAQ,MACRC,iBAAiB,EACjBC,QAAS,CACPC,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,sBAGjBC,KATU,wCASL,WAAOC,GAAP,0FACqBA,EAASE,OAD9B,cACED,EADF,gBAEeD,EAAS1N,OAFxB,cAEE5E,EAFF,yBAGGyS,QAAQC,IAAI,CAACH,EAAYvS,KAH5B,2CATK,uDAcVqS,MAAK,SAACM,GAAS,IAAD,EAEb,OADAA,EAAI,GAAG9U,GAAP,UAAY8U,EAAI,UAAhB,aAAY,EAAQtR,GACbsR,EAAI,MAEZC,OAAM,SAAC5K,GACNnH,QAAQmH,MAAMA,MApBpB,oFArCa,uBAqCE6qC,EArCF,yFAab,+FACe/gC,MAAM,mCAAoC,CACrDE,OAAQ,MACRC,iBAAiB,EACjBC,QAAS,CACPC,cAAc,UAAD,OAAYvW,GAAG+L,WAAWyK,OACvC,eAAgB,SAChB,eAAgB,mBAChB,8BAA+B,OAGhCC,KAVU,wCAUL,WAAOC,GAAP,0FACqBA,EAASE,OAD9B,cACED,EADF,gBAEeD,EAAS1N,OAFxB,cAEE5E,EAFF,yBAGGyS,QAAQC,IAAI,CAACH,EAAYvS,KAH5B,2CAVK,uDAeVqS,MAAK,SAACM,GACL,OAAOorF,GAASprF,EAAI,OAErBC,OAAM,SAAC5K,GACNnH,QAAQmH,MAAMA,MApBpB,oFAba,uBAaEm5D,EAbF,2CACJtvB,EADI,SACUl/B,GACrB,IAAIH,EAASG,EAAIH,OACbs/B,EAAan/B,EAAIm/B,WACrB,OAAe,MAAXt/B,GACFnV,YAAa,UAAW,YACjB,GACa,MAAXmV,GACTnV,YAAa,QAASy0C,IACf,QAFF,GAoOTgrD,EAAKQ,MAAM,4BAA4BN,MAAvC,uBAA6C,qGACzB4J,IADyB,cACrCr8E,EADqC,yBAEpC,CAAC,IAAKA,IAF8B,4CAK7CuyE,EAAKC,OAAO,kBAAkBC,MAA9B,wCAAoC,6HAASh9F,EAAT,EAASA,KAAT,EACbxB,KAAKC,MAAMuB,GAAxB+e,EAD0B,EAC1BA,SAD0B,EAU9BA,EAPF3P,aAHgC,MAGxB,GAHwB,IAU9B2P,EANFioF,gBAJgC,MAIrB,GAJqB,IAU9BjoF,EALFkoF,kBALgC,MAKnB,GALmB,IAU9BloF,EAJF7P,YANgC,MAMzB,GANyB,IAU9B6P,EAHFmoF,iBAPgC,WAU9BnoF,EAFFgM,kBARgC,MAQnB,GARmB,IAU9BhM,EADFooF,QAGIlK,EAAc,CAClB7tF,QACA+3F,aAdgC,MAStB,KATsB,EAehCH,WACAC,aACA/3F,OACAg4F,YACAn8E,cAnBgC,SAqB5BknB,EAAUgrD,GArBkB,cAsBlChhG,SAASsR,eAAe,iBAAiBinB,QACzC0oE,GAAkB32F,KAAK02F,GAvBW,kBAwB3B,CAAC,IAAK,CAAEl+E,SAAUk+E,KAxBS,2CAApC,uDA2BAH,EAAKC,OAAO,uBAAuBC,MAAnC,wCAAyC,WAAOj0C,GAAP,qFACjCq0C,EAAY,IAAI1B,EADiB,EAEfl9F,KAAKC,MAAMsqD,EAAO/oD,MAAlC+iB,EAF+B,EAE/BA,YAF+B,SAGbo+C,IAHa,cAGvC+7B,GAHuC,OAIvCr8F,QAAQC,IAAIiiB,EAAY/V,eACjB+V,EAAY/V,OAAOo6F,YACpBlJ,EAAmBd,EAAUC,WACjCH,GACAn6E,GARqC,kBAUhC,CAAC,IAAKm7E,IAV0B,2CAAzC,uDAaApB,EAAKC,OAAO,kCAAkCC,MAA9C,wCAAoD,WAAOj0C,GAAP,iFAClCvqD,KAAKC,MAAMsqD,EAAO/oD,MADgB,EAC1C2iB,IACJhkB,SAAQ,SAACd,GACX,IAAM6D,EAAQw7F,GAAkBr6E,WAAU,SAACJ,GAAD,OAAQA,EAAG5kB,KAAOA,KACxD6D,GAAS,GACXw7F,GAAkBx6D,OAAOhhC,EAAO,MALc,kBAQ3C,CAAC,MAR0C,2CAApD,uDAWAo7F,EACGC,OAAO,2CACPC,MAFH,wCAES,WAAOj0C,GAAP,qFACmBvqD,KAAKC,MAAMsqD,EAAO/oD,MAAlC2iB,EADH,EACGA,IAAKnQ,EADR,EACQA,OACb0qF,GAAkBv+F,SAAQ,SAAC8jB,GACrBE,EAAIE,WAAU,SAAChlB,GAAD,OAAQA,IAAO4kB,EAAG5kB,OAAO,IACzC4kB,EAAGjQ,OAASA,MAJX,kBAOE,CAAC,MAPH,2CAFT,uDAYAsqF,EAAKQ,MAAM,wBAAwBN,MAAnC,wCAAyC,WAAOj0C,GAAP,iFACjClrD,EAAKkrD,EAAOt5C,IAAIjG,MAAM,0BAA0B,GADf,SAEhBqpC,EAAWh1C,GAFK,UAEjCkhB,EAFiC,gDAI9B,CAAC,MAJ6B,gCAMhC,CAAC,IAAKA,IAN0B,2CAAzC,uDASA+9E,EAAKS,MAAM,wBAAwBP,MAAnC,wCAAyC,WAAOj0C,GAAP,qFACvCs+C,QACMxpG,EAAKkrD,EAAOt5C,IAAIjG,MAAM,0BAA0B,GAChD20F,EAAc3/F,KAAKC,MAAMsqD,EAAO/oD,MAC9B+e,EAAao/E,EAAbp/E,SACRle,QAAQC,IAAIie,GACZle,QAAQC,IAAIjD,GAN2B,SAQpBm0C,EAASmsD,EAAatgG,GARF,2DAU9B,CAAC,MAV6B,YAaxB,KADT6D,EAAQw7F,GAAkBr6E,WAAU,SAACJ,GAAD,OAAQA,EAAG5kB,MAAQA,MAZtB,0CAc9B,CAAC,MAd6B,eAgBvCq/F,GAAkBx7F,GAAlB,eAAgCqd,GAhBO,kBAiBhC,CAAC,MAjB+B,4CAAzC,uDAoBA+9E,EAAK31E,SAAS,wBAAwB61E,MAAtC,wCAA4C,WAAOj0C,GAAP,6EAC1Cs+C,QACMxpG,EAAKkrD,EAAOt5C,IAAIjG,MAAM,0BAA0B,IAEvC,KADT9H,EAAQw7F,GAAkBr6E,WAAU,SAACJ,GAAD,OAAQA,EAAG5kB,MAAQA,MAHnB,yCAKjC,CAAC,MALgC,uBAOpBmgG,EAAYngG,GAPQ,2DASjC,CAAC,MATgC,eAW1Cq/F,GAAkBx6D,OAAOhhC,EAAO,GAXU,kBAYnC,CAAC,MAZkC,4CAA5C,uDA5Ua,6C,sBA4Vf,SAASq8F,GAASv4F,GAChB,IAAK,IAAI/D,KAAQ+D,EACfA,EAAK/D,GAAM5D,GAAK2H,EAAK/D,GAAMJ,UACpBmE,EAAK/D,GAAMJ,GAEpB,OAAOmE,E,2yMCpWT,IAGI8hG,GCJAA,GDCE5rG,GAAU,IAAIC,IAAa,MAC3BC,GAAKC,IAAIH,IAsNf,SAASqiG,GAASv4F,GAChB,IAAK,IAAI/D,KAAQ+D,EACfA,EAAK/D,GAAM5D,GAAK2H,EAAK/D,GAAMJ,UACpBmE,EAAK/D,GAAMJ,GAEpB,OAAOmE,E,2yMCsBT,SAASu4F,GAASv4F,GAChB,IAAK,IAAI/D,KAAQ+D,EACfA,EAAK/D,GAAM5D,GAAK2H,EAAK/D,GAAMJ,UACpBmE,EAAK/D,GAAMJ,GAEpB,OAAOmE,EC3PM,QACX,CACI3H,GAAI,EACJ0pG,OAAQ,GACR5wD,UAAW,aACX6wD,WAAY,aACZC,mBAAoB,aACpBC,gBAAiB,aACjBC,mBAAoB,cAExB,CACI9pG,GAAI,EACJ0pG,OAAQ,GACR5wD,UAAW,aACX6wD,WAAY,aACZC,mBAAoB,aACpBC,gBAAiB,aACjBC,mBAAoB,eCdb,SAASC,GAAuB9K,GAC7CA,EAAKC,OAAO,0BAA0BC,OAAM,YAAe,IAAZh9F,EAAW,EAAXA,KACrC+e,EAAavgB,KAAKC,MAAMuB,GAAxB+e,SACR,EAKIA,EAJA2nF,YADJ,MACW,GADX,IAKI3nF,EAHA6Z,mBAFJ,MAEkB,GAFlB,IAKI7Z,EAFA8oF,gBAHJ,MAGc,GAHd,IAKI9oF,EADA+oF,gBAJJ,MAIc,GAJd,EAQM7K,EAAc,CAClBp/F,GA2EN,WACE,IAAM8kB,EAAMu6E,GAAkB17F,KAAI,SAAAihB,GAAE,OAAIA,EAAG5kB,MAE3C,OADc2K,KAAKgrB,IAAL,MAAAhrB,KAAI,YAAQma,IACX,EAhFFw6E,GAGTuJ,OACA9tE,cACAivE,WACAC,YAGF,OADA5K,GAAkB32F,KAAK02F,GAChB,CAAC,IAAK,CAAEl+E,SAAUk+E,OAG3BH,EAAKC,OAAO,+BAA+BC,OAAM,SAAAj0C,GAC/C,IAAMq0C,EAAY,IAAI1B,EACd34E,EAAgBvkB,KAAKC,MAAMsqD,EAAO/oD,MAAlC+iB,YAKR,MAAO,CAAC,IAJiBq6E,EAAUC,WACjCH,GACAn6E,OAKJ+5E,EAAKC,OAAO,0CAA0CC,OAAM,SAAAj0C,GAQ1D,OAPgBvqD,KAAKC,MAAMsqD,EAAO/oD,MAA1B2iB,IACJhkB,SAAQ,SAAAd,GACV,IAAM6D,EAAQw7F,GAAkBr6E,WAAU,SAAAJ,GAAE,OAAIA,EAAG5kB,KAAOA,KACtD6D,GAAS,GACXw7F,GAAkBx6D,OAAOhhC,EAAO,MAG7B,CAAC,QAGVo7F,EAAKC,OAAO,mDAAmDC,OAAM,SAAAj0C,GACnE,MAAwBvqD,KAAKC,MAAMsqD,EAAO/oD,MAAlC2iB,EAAR,EAAQA,IAAKnQ,EAAb,EAAaA,OAMb,OALA0qF,GAAkBv+F,SAAQ,SAAA8jB,GACpBE,EAAIE,WAAU,SAAAhlB,GAAE,OAAIA,IAAO4kB,EAAG5kB,OAAO,IACvC4kB,EAAGjQ,OAASA,MAGT,CAAC,QAGVsqF,EAAKQ,MAAM,gCAAgCN,OAAM,SAAAj0C,GAC/C,IAAMlrD,EAAKkrD,EAAOt5C,IAAIjG,MAAM,yBAAyB,GAC/CuV,EAAWm+E,GAAkBt8E,MAAK,SAAA6B,GAAE,OAAIA,EAAG5kB,MAAQA,KACzD,OAAKkhB,EAIE,CAAC,IAAKA,GAHJ,CAAC,QAMZ+9E,EAAKS,MAAM,gCAAgCP,OAAM,SAAAj0C,GAC/C,IAAMlrD,EAAKkrD,EAAOt5C,IAAIjG,MAAM,yBAAyB,GAC7CuV,EAAavgB,KAAKC,MAAMsqD,EAAO/oD,MAA/B+e,SACFrd,EAAQw7F,GAAkBr6E,WAAU,SAAAJ,GAAE,OAAIA,EAAG5kB,MAAQA,KAC3D,OAAK6D,GAILw7F,GAAkBx7F,GAAlB,eAAgCqd,GACzB,CAAC,MAJC,CAAC,QAOZ+9E,EAAK31E,SAAS,gCAAgC61E,OAAM,SAAAj0C,GAClD,IAAMlrD,EAAKkrD,EAAOt5C,IAAIjG,MAAM,yBAAyB,GAC/C9H,EAAQw7F,GAAkBr6E,WAAU,SAAAJ,GAAE,OAAIA,EAAG5kB,MAAQA,KAE3D,OADAq/F,GAAkBx6D,OAAOhhC,EAAO,IAChB,KAAXA,EACI,CAAC,KAGH,CAAC,QCtFG,ICEXujG,G,2yMAiKJ,SAASlH,GAASv4F,GAChB,IAAK,IAAI/D,KAAQ+D,EACfA,EAAK/D,GAAM5D,GAAK2H,EAAK/D,GAAMJ,UACpBmE,EAAK/D,GAAMJ,GAEpB,OAAOmE,E,2yMCnKT,IAEIy/F,GAFEvpG,GAAU,IAAIC,IAAa,MAC3BC,GAAKC,IAAIH,IA0bf,SAASwpG,KACP,IAAMviF,EAAMsiF,GAAazjG,KAAI,SAACihB,GAAD,OAAQA,EAAG5kB,MAExC,OADc2K,KAAKgrB,IAAL,MAAAhrB,KAAI,YAAQma,IACX,EAGjB,SAASo7E,GAASv4F,GAChB,IAAK,IAAI/D,KAAQ+D,EACfA,EAAK/D,GAAM5D,GAAK2H,EAAK/D,GAAMJ,UACpBmE,EAAK/D,GAAMJ,GAEpB,OAAOmE,E,2yMCtcT,IAGIy/F,GAHEvpG,GAAU,IAAIC,IAAa,MAC3BC,GAAKC,IAAIH,IA6jBf,SAASwpG,KACP,IAAMviF,EAAMsiF,GAAazjG,KAAI,SAACihB,GAAD,OAAQA,EAAG5kB,MAExC,OADc2K,KAAKgrB,IAAL,MAAAhrB,KAAI,YAAQma,IACX,EAGjB,SAASo7E,GAASv4F,GAChB,IAAK,IAAI/D,KAAQ+D,EACfA,EAAK/D,GAAM5D,GAAK2H,EAAK/D,GAAMJ,UACpBmE,EAAK/D,GAAMJ,GAEpB,OAAOmE,E,2yMC1kBT,IAEI03F,GACA6K,GAHErsG,GAAU,IAAIC,IAAa,MAC3BC,GAAKC,IAAIH,I,+CAGA,WAAmCohG,GAAnC,IACJjrD,EAYMm2D,EAbF,EAoCEC,EApCF,EA4DE5G,EA5DF,EAmFE6G,EAnFF,EAwGEC,EAxGF,EAuIEC,EAvIF,EA8JEC,EA9JF,EA2LElE,EA3LF,iHA2Lb,WAAoCtmG,GAApC,kFACeiU,MAAMxP,OAAOyP,QAAU,cAAgBlU,EAAI,CACtDmU,OAAQ,SACRC,iBAAiB,EACjBC,QAAS,CACPiL,OAAQ,oCACRhL,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,sBAGjBC,KAVU,wCAUL,WAAOC,GAAP,2FACGA,GADH,2CAVK,uDAaVD,MAAK,SAACM,GACL,OAAOk/B,EAAcl/B,MAEtBC,OAAM,SAACtV,GACN,OAAOu0C,EAAcv0C,MAlB3B,oFA3La,uBA2LE6mG,EA3LF,yFA8Jb,WAAiCpyD,EAAUl0C,GAA3C,2FACSiU,MAAMxP,OAAOyP,QAAU,cAAgBlU,EAAI,CAChDmU,OAAQ,MACRC,iBAAiB,EACjBC,QAAS,CACPiL,OAAQ,oCACRhL,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,oBAElBvV,KAAM2B,KAAKE,UAAUqzC,EAAQ,YAE5B1/B,KAXI,wCAWC,WAAOC,GAAP,6EAGe,OAFbC,EAAaD,EAASE,QADxB,gBAIFnV,YAAa,UAAW,WACxBiF,OAAOgmG,UAAY,IALjB,uCAOiBh2F,EAAS1N,OAP1B,OAOI5E,EAPJ,OAQF3C,YAAa,QAASkV,EAAa,IAAMvS,EAAKsT,SAC9ChR,OAAOgmG,UAAY/1F,EATjB,4CAXD,uDAuBJK,OAAM,SAACtV,GACNuD,QAAQC,IAAIxD,OAzBlB,4CA9Ja,uBA8JE+qG,EA9JF,2FAuIb,WAAmCt2D,GAAnC,2FACSjgC,MAAMxP,OAAOyP,QAAU,uBAAwB,CACpDC,OAAQ,OACRC,iBAAiB,EACjBC,QAAS,CACPiL,OAAQ,oCACRhL,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,oBAElBvV,KAAM2B,KAAKE,UAAUqzC,KAEpB1/B,KAXI,wCAWC,WAAOC,GAAP,2FACGA,GADH,2CAXD,uDAcJD,MAAK,SAACM,GACL,OAAOk/B,EAAcl/B,MAEtBC,OAAM,SAACtV,GACN,OAAOu0C,EAAcv0C,OAnB3B,4CAvIa,uBAuIE8qG,EAvIF,yFAwGb,WAAkCr2D,GAAlC,2FACSjgC,MAAMxP,OAAOyP,QAAU,aAAc,CAC1CC,OAAQ,OACRC,iBAAiB,EACjBC,QAAS,CACPiL,OAAQ,oCACRhL,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,oBAElBvV,KAAM2B,KAAKE,UAAUqzC,KAEpB1/B,KAXI,wCAWC,WAAOC,GAAP,iFACEC,EAAaD,EAASE,OADxB,SAEeF,EAAS1N,OAFxB,cAEE5E,EAFF,yBAGGyS,QAAQC,IAAI,CAACH,EAAYvS,KAH5B,2CAXD,uDAgBJqS,MAAK,SAACM,GAAS,IAAD,EAIN,IAHc,SAAjB,UAAAA,EAAI,UAAJ,eAAQgO,OACVtjB,YAAa,UAAW,WACxBiF,OAAOgmG,UAAY,MAEnBjrG,YAAa,SAAS,UAAAsV,EAAI,UAAJ,eAAQgO,MAAO,IAAMhO,EAAI,GAAGW,SAClDhR,OAAOgmG,UAAP,UAAmB31F,EAAI,UAAvB,aAAmB,EAAQgO,SAG9B/N,OAAM,SAACtV,GACNuD,QAAQC,IAAIxD,OA3BlB,4CAxGa,uBAwGE6qG,EAxGF,yFAmFb,+FACer2F,MAAMxP,OAAOyP,QAAU,0BAA2B,CAC7DC,OAAQ,MACRC,iBAAiB,EACjBC,QAAS,CACPiL,OAAQ,oCACRhL,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,sBAGjBC,MAAK,SAACM,GAAD,OAASA,EAAI/N,UAClByN,MAAK,SAACM,GACL,OAAOA,KAERC,OAAM,SAACtV,GAEN,OADAD,YAAa,QAAS,QACf,KAjBb,oFAnFa,uBAmFE6qG,EAnFF,wFA4Db,+FACep2F,MAAMxP,OAAOyP,QAAU,cAAe,CACjDC,OAAQ,MACRC,iBAAiB,EACjBC,QAAS,CACPC,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,sBAGjBC,KATU,wCASL,WAAOC,GAAP,iFACEC,EAAaD,EAASE,OADxB,SAEeF,EAAS1N,OAFxB,cAEE5E,EAFF,yBAGGyS,QAAQC,IAAI,CAACH,EAAYvS,KAH5B,2CATK,uDAcVqS,MAAK,SAACM,GACL,OAAOA,EAAI,MAEZC,OAAM,SAAC5K,GACNnH,QAAQmH,MAAMA,MAnBpB,oFA5Da,uBA4DEq5F,EA5DF,wFAoCb,WAAiCxjG,GAAjC,kFACeiU,MAAM,GAAD,OAAIxP,OAAOyP,QAAX,sBAAgClU,EAAhC,YAA8C,CAC9DmU,OAAQ,MACRC,iBAAiB,EACjBC,QAAS,CACPC,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,sBAGjBC,KATU,wCASL,WAAOC,GAAP,iFACEC,EAAaD,EAASE,OADxB,SAEeF,EAAS1N,OAFxB,cAEE5E,EAFF,yBAGGyS,QAAQC,IAAI,CAACH,EAAYvS,KAH5B,2CATK,uDAcVqS,MAAK,SAACM,GAEL,OADAA,EAAI,GAAG9U,GAAK8U,EAAI,GAAGtR,GACZsR,EAAI,MAEZC,OAAM,SAAC5K,GACNnH,QAAQmH,MAAMA,MApBpB,oFApCa,uBAoCEigG,EApCF,yFAab,WAAkCpqG,GAAlC,kFACeiU,MAAMxP,OAAOyP,QAAU,cAAgBlU,EAAI,CACtDmU,OAAQ,MACRC,iBAAiB,EACjBC,QAAS,CACPC,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,sBAGjBC,KATU,wCASL,WAAOC,GAAP,iFACEC,EAAaD,EAASE,OADxB,SAEeF,EAAS1N,OAFxB,cAEE5E,EAFF,yBAGGyS,QAAQC,IAAI,CAACH,EAAYvS,KAH5B,2CATK,uDAcVqS,MAAK,SAACM,GACL,OAAOorF,GAASprF,EAAI,OAErBC,OAAM,SAAC5K,GACNnH,QAAQmH,MAAMA,MAnBpB,oFAba,uBAaEggG,EAbF,4CACJn2D,EADI,SACUl/B,GACrB,IAAIH,EAASG,EAAIH,OACbs/B,EAAan/B,EAAIm/B,WACrB,OAAe,MAAXt/B,GACFnV,YAAa,UAAW,YACjB,GACa,MAAXmV,GACTnV,YAAa,QAASy0C,IACf,QAFF,GA2MTgrD,EAAKQ,MAAM,sCAAsCN,MAAjD,uBAAuD,4FAC/CzyE,EAAM,GADyC,SAEvB82E,IAFuB,cAErD92E,EAAG,eAFkD,yBAG9C,CAAC,IAAKA,IAHwC,4CAMvDuyE,EAAKQ,MAAM,2BAA2BN,MAAtC,uBAA4C,4FACpCzyE,EAAM,GAD8B,SAEb29E,IAFa,cAE1C39E,EAAG,cAFuC,yBAGnC,CAAC,IAAKA,IAH6B,4CAM5CuyE,EAAKC,OAAO,wBAAwBC,MAApC,wCAA0C,+FAASh9F,EAAT,EAASA,KAC3CuoG,EAAc/pG,KAAKC,MAAMuB,GAAMA,KADG,SAElCooG,EAAoBG,GAFc,gCAGjC,CAAC,IAAK,SAH2B,2CAA1C,uDAMAzL,EAAKC,OAAO,wBAAwBC,MAApC,wCAA0C,iGAASh9F,EAAT,EAASA,KAC3CshC,EAAc9iC,KAAKC,MAAMuB,GAAMA,KADG,SAEPgoG,EAAmB1mE,GAFZ,cAElCknE,EAFkC,yBAGjC,CAAC,IAAKA,IAH2B,2CAA1C,uDAMA1L,EAAKC,OAAO,uBAAuBC,MAAnC,wCAAyC,mKAASh9F,EAAT,EAASA,KAAT,EAClBxB,KAAKC,MAAMuB,GAAxB+e,EAD+B,EAC/BA,SAD+B,EAoBnCA,EAjBFlhB,UAHqC,MAGhC,EAHgC,IAoBnCkhB,EAhBF1d,UAJqC,MAIhC,EAJgC,IAoBnC0d,EAfFwB,kBALqC,MAKxB,GALwB,IAoBnCxB,EAdFqe,cANqC,MAM5B,GAN4B,IAoBnCre,EAbF0pF,sBAPqC,MAOpB,GAPoB,IAoBnC1pF,EAZFrD,mBARqC,MAQvB,GARuB,IAoBnCqD,EAXF6sE,aATqC,MAS7B,GAT6B,IAoBnC7sE,EAVF2sE,cAVqC,MAU5B,GAV4B,IAoBnC3sE,EATF4sE,cAXqC,MAW5B,GAX4B,IAoBnC5sE,EARF2pF,iBAZqC,MAYzB,GAZyB,IAoBnC3pF,EAPF4pF,sBAbqC,MAapB,GAboB,IAoBnC5pF,EANF6pF,mBAdqC,MAcvB,GAduB,EAerCxoF,EAKErB,EALFqB,YAfqC,EAoBnCrB,EAJFsU,gBAhBqC,WAoBnCtU,EAHFsB,mBAjBqC,MAiBvBpkB,SAASsR,eAAe,kBAAkB3Q,MAjBnB,IAoBnCmiB,EAFF8pF,0BAlBqC,MAkBhB,GAlBgB,EAmBrCC,EACE/pF,EADF+pF,gBAGI7L,EAAc,CAClB57F,KACAxD,KACA0iB,aACA6c,SACAqrE,iBACA/sF,cACA0E,cACAwrE,QACAF,SACAC,SACA+c,YACAC,iBACAC,cACAC,qBACAxoF,cACAgT,WACAy1E,mBAvCqC,SAyCjCX,EAAmBlL,GAzCc,gCA2ChC,CAAC,IAAK,CAAEl+E,SAAUk+E,KA3Cc,2CAAzC,uDA8CAH,EAAKC,OAAO,4BAA4BC,MAAxC,wCAA8C,WAAOj0C,GAAP,yFACtCq0C,EAAY,IAAI1B,EADsB,EAEpBl9F,KAAKC,MAAMsqD,EAAO/oD,MAAlC+iB,EAFoC,EAEpCA,YAFoC,SAGtBs+E,IAHsB,WAG5C0G,GAH4C,QAIxBzhG,OAAS,EAJe,yCAKnC,CAAC,MALkC,cAOtCyiG,EAAqBhmF,EAAY/V,OAAOs0B,YACxCA,OACmB/9B,IAAvBwlG,EACIhB,GAAc,GAAG1mG,GACjB0nG,EAXsC,UAYlBf,EAAmB1mE,GAZD,eAY5C47D,GAZ4C,cAarCn6E,EAAY/V,OAAOs0B,mBACnBve,EAAY/V,OAAOojB,YACpB8tE,EAAmBd,EAAUC,WACjCH,GACAn6E,GAjB0C,kBAmBrC,CAAC,IAAKm7E,IAnB+B,4CAA9C,uDAsBApB,EAAKC,OAAO,uCAAuCC,OAAM,SAACj0C,GAQxD,OAPgBvqD,KAAKC,MAAMsqD,EAAO/oD,MAA1B2iB,IACJhkB,SAAQ,SAACd,GACX,IAAM6D,EAAQw7F,GAAkBr6E,WAAU,SAACJ,GAAD,OAAQA,EAAG5kB,KAAOA,KACxD6D,GAAS,GACXw7F,GAAkBx6D,OAAOhhC,EAAO,MAG7B,CAAC,QAGVo7F,EACGC,OAAO,gDACPC,OAAM,SAACj0C,GACN,MAAwBvqD,KAAKC,MAAMsqD,EAAO/oD,MAAlC2iB,EAAR,EAAQA,IAAKnQ,EAAb,EAAaA,OAMb,OALA0qF,GAAkBv+F,SAAQ,SAAC8jB,GACrBE,EAAIE,WAAU,SAAChlB,GAAD,OAAQA,IAAO4kB,EAAG5kB,OAAO,IACzC4kB,EAAGjQ,OAASA,MAGT,CAAC,QAGZsqF,EAAKQ,MAAM,6BAA6BN,MAAxC,wCAA8C,WAAOj0C,GAAP,6EACtClrD,EAAKkrD,EAAOt5C,IAAIjG,MAAM,+BAA+B,GAC1C0zF,GAAkBt8E,MAAK,SAAC6B,GAAD,OAAQA,EAAG5kB,MAAQA,KAFf,yCAInC,CAAC,MAJkC,uBAMdoqG,EAAkBpqG,GANJ,cAMxCmrG,EANwC,yBAOrC,CAAC,IAAKA,IAP+B,2CAA9C,uDAUAlM,EAAKS,MAAM,6BAA6BP,MAAxC,wCAA8C,WAAOj0C,GAAP,qFACtClrD,EAAKkrD,EAAOt5C,IAAIjG,MAAM,+BAA+B,GACrD20F,EAAc3/F,KAAKC,MAAMsqD,EAAO/oD,MAC9B+e,EAAao/E,EAAbp/E,SAHoC,SAIzBspF,EAAkBlK,EAAatgG,GAJN,0DAMnC,CAAC,MANkC,WAS7B,KADT6D,EAAQw7F,GAAkBr6E,WAAU,SAACJ,GAAD,OAAQA,EAAG5kB,MAAQA,MARjB,0CAUnC,CAAC,MAVkC,eAY5Cq/F,GAAkBx7F,GAAlB,eAAgCqd,GAZY,kBAarC,CAAC,MAboC,4CAA9C,uDAgBA+9E,EAAK31E,SAAS,6BAA6B61E,MAA3C,wCAAiD,WAAOj0C,GAAP,6EACzClrD,EAAKkrD,EAAOt5C,IAAIjG,MAAM,+BAA+B,IAE5C,KADT9H,EAAQw7F,GAAkBr6E,WAAU,SAACJ,GAAD,OAAQA,EAAG5kB,MAAQA,MAFd,yCAItC,CAAC,MAJqC,uBAMzBsmG,EAAqBtmG,GANI,0DAQtC,CAAC,MARqC,cAU/Cq/F,GAAkBx6D,OAAOhhC,EAAO,GAVe,kBAWxC,CAAC,MAXuC,4CAAjD,uDA/Va,6C,sBA8Wf,SAASq8F,GAASv4F,GAChB,IAAK,IAAI/D,KAAQ+D,EACfA,EAAK/D,GAAM5D,GAAK2H,EAAK/D,GAAMJ,UACpBmE,EAAK/D,GAAMJ,GAEpB,OAAOmE,E,2yMCvXT,IAEIy/F,GAFEvpG,GAAU,IAAIC,IAAa,MAC3BC,GAAKC,IAAIH,IAqff,SAASwpG,KACP,IAAMviF,EAAMsiF,GAAazjG,KAAI,SAACihB,GAAD,OAAQA,EAAG5kB,MAExC,OADc2K,KAAKgrB,IAAL,MAAAhrB,KAAI,YAAQma,IACX,EAGjB,SAASo7E,GAASv4F,GAChB,IAAK,IAAI/D,KAAQ+D,EACfA,EAAK/D,GAAM5D,GAAK2H,EAAK/D,GAAMJ,UACpBmE,EAAK/D,GAAMJ,GAEpB,OAAOmE,E,2yMCjgBT,IAEI+/F,GAFE7pG,GAAU,IAAIC,IAAa,MAC3BC,GAAKC,IAAIH,IAiRf,SAAS8pG,KACP,IAAM7iF,EAAM4iF,GAAgB/jG,KAAI,SAACihB,GAAD,OAAQA,EAAG5kB,MAE3C,OADc2K,KAAKgrB,IAAL,MAAAhrB,KAAI,YAAQma,IACX,EAGjB,SAASo7E,GAASv4F,GAChB,IAAK,IAAI/D,KAAQ+D,EACfA,EAAK/D,GAAM5D,GAAK2H,EAAK/D,GAAMJ,UACpBmE,EAAK/D,GAAMJ,GAEpB,OAAOmE,E,2yMC9RT,IAAM9J,GAAU,IAAIC,IAAa,MAC3BC,GAAKC,IAAIH,I,+CACA,WAAkCohG,GAAlC,IACEplD,EADF,EAwBEuxD,EAxBF,iHAwBb,WAAoCl3D,GAApC,2FACSjgC,MAAM,GAAD,OAAIxP,OAAOyP,QAAX,oBAAsC,CAChDC,OAAQ,OACRC,iBAAiB,EACjBC,QAAS,CACP,eAAgB,mBAChBC,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,UAElBvV,KAAM2B,KAAKE,UAAUqzC,KAEpB1/B,KAVI,wCAUC,WAAOC,GAAP,6EACJzR,QAAQC,IAAIwR,GACNC,EAAaD,EAASE,OACxBxS,EAAO,GACQ,MAAfuS,EAJA,gCAIiCD,EAAS1N,OAJ1C,OAIoB5E,EAJpB,uCAKGyS,QAAQC,IAAI,CAACH,EAAYvS,KAL5B,2CAVD,uDAiBJqS,MAAK,SAACM,GACL,OAAOA,KAERC,OAAM,SAACtV,GACNuD,QAAQC,IAAIxD,OAtBlB,4CAxBa,uBAwBE2rG,EAxBF,yFACb,+FACen3F,MAAMxP,OAAOyP,QAAU,aAAc,CAChDC,OAAQ,MACRC,iBAAiB,EACjBC,QAAS,CACPC,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,sBAGjBC,KATU,wCASL,WAAOC,GAAP,0FACqBA,EAASE,OAD9B,cACED,EADF,gBAEeD,EAAS1N,OAFxB,cAEE5E,EAFF,yBAGGyS,QAAQC,IAAI,CAACH,EAAYvS,KAH5B,2CATK,uDAcVqS,MAAK,SAACM,GACL,OAAOorF,GAASprF,EAAI,OAErBC,OAAM,SAAC5K,GACNnH,QAAQmH,MAAMA,MAnBpB,oFADa,uBACE0vC,EADF,2CAkDbolD,EAAKQ,MAAM,mCAAmCN,MAA9C,uBAAoD,qGAChCtlD,IADgC,cAC5CntB,EAD4C,yBAE3C,CAAC,IAAKA,IAFqC,4CAKpDuyE,EAAKC,OAAO,uBAAuBC,MAAnC,wCAAyC,iGAASh9F,EAAT,EAASA,KAC1CkpG,EAAW1qG,KAAKC,MAAMuB,GADW,SAEpBipG,EAAqBC,GAFD,eAGxB3lG,KADXqJ,EAFmC,SAGG,MAAdA,EAAO,GAHI,yCAI9B,CAAC,IAAK,CAAEg0F,SAAS,KAJa,cAMrCh0F,EAAO,GAAGg0F,SAAU,EANiB,kBAO9B,CAAC,IAAKh0F,EAAO,KAPiB,4CAAzC,uDAvDa,4C,sBAmEf,SAASmxF,GAASv4F,GAChB,IAAK,IAAI/D,KAAQ+D,EACfA,EAAK/D,GAAM5D,GAAK2H,EAAK/D,GAAMJ,UACpBmE,EAAK/D,GAAMJ,GAEpB,OAAOmE,E,01MC3EM,WAAkCs3F,GAAlC,IAEEplD,EAFF,EAiBE2pD,EAjBF,EAiCE8H,EAjCF,iHAiCb,WAA8Bp3D,GAA9B,yEACElxC,QAAQC,IAAI,YACZD,QAAQC,IAAIixC,GAFd,kBAGSjgC,MAAM,GAAD,OAAIxP,OAAOyP,QAAX,oBAAsC,CAChDC,OAAQ,OACRE,QAAS,CAAE,eAAgB,oBAC3BrV,KAAM2B,KAAKE,UAAUqzC,KAEpB1/B,KALI,wCAKC,WAAOC,GAAP,6EACEC,EAAaD,EAASE,OACxBxS,EAAO,GACQ,MAAfuS,EAHA,gCAIWD,EAAS1N,OAJpB,OAIF5E,EAJE,uCAKGyS,QAAQC,IAAI,CAACH,EAAYvS,KAL5B,2CALD,uDAYJqS,MAAK,SAACM,GACL,OAAOA,KAERC,OAAM,SAACtV,GACNuD,QAAQC,IAAIxD,OAnBlB,4CAjCa,uBAiCE6rG,EAjCF,yFAiBb,WAA6BtrG,GAA7B,kFACeiU,MAAM,GAAD,OAAIxP,OAAOyP,QAAX,uBAAiClU,IAChDwU,KADU,wCACL,WAAOC,GAAP,0FACqBA,EAASE,OAD9B,cACED,EADF,gBAEeD,EAAS1N,OAFxB,cAEE5E,EAFF,yBAGGyS,QAAQC,IAAI,CAACH,EAAYvS,KAH5B,2CADK,uDAMVqS,MAAK,SAACM,GACL,OAAOA,EAAI,MAEZC,OAAM,SAAC5K,GACNnH,QAAQmH,MAAMA,MAXpB,oFAjBa,uBAiBEq5F,EAjBF,yFAEb,+FACevvF,MAAM,GAAD,OAAIxP,OAAOyP,QAAX,eACfM,KADU,wCACL,WAAOC,GAAP,0FACqBA,EAASE,OAD9B,cACED,EADF,gBAEeD,EAAS1N,OAFxB,cAEE5E,EAFF,yBAGGyS,QAAQC,IAAI,CAACH,EAAYvS,KAH5B,2CADK,uDAMVqS,MAAK,SAACM,GACL,OAAOA,EAAI,MAEZC,OAAM,SAAC5K,GACNnH,QAAQmH,MAAMA,MAXpB,oFAFa,uBAEE0vC,EAFF,2CA0DbolD,EAAKQ,MAAM,6BAA6BN,MAAxC,uBAA8C,qGAC1BtlD,IAD0B,cACtCntB,EADsC,yBAErC,CAAC,IAAKA,IAF+B,4CAK9CuyE,EAAKC,OAAO,uBAAuBC,MAAnC,wCAAyC,iGAASh9F,EAAT,EAASA,KAC1C2gG,EAAiBniG,KAAKC,MAAMuB,GADK,SAEpBmpG,EAAexI,GAFK,eAGxBp9F,KADXqJ,EAFmC,SAGG,MAAdA,EAAO,GAHI,yCAI9B,CAAC,IAAK,CAAEg0F,SAAS,KAJa,cAMrCh0F,EAAO,GAAGg0F,SAAU,EANiB,kBAO9B,CAAC,IAAKh0F,EAAO,KAPiB,4CAAzC,uDAWAkwF,EAAKQ,MAAM,qCAAqCN,MAAhD,wCAAsD,WAAOj0C,GAAP,iFAC9ClrD,EAAKkrD,EAAOt5C,IAAIjG,MAAM,uCAAuC,GADf,SAG1B63F,EAAcxjG,GAHY,UAGhDurG,EAHgD,gDAK3C,CAAC,MAL0C,gCAO7C,CAAC,IAAKA,IAPuC,2CAAtD,uDA1Ea,4C,i0MCEf,IAEIlM,GAFExhG,GAAU,IAAIC,IAAa,MAC3BC,GAAKC,IAAIH,I,+CAEA,WAA8BohG,GAA9B,IACJjrD,EAYMsvB,EAbF,EAuCEtuB,EAvCF,EA8DEZ,EA9DF,EAqFED,EArFF,EA6GEgsD,EA7GF,EAmIE4I,EAnIF,iHAmIb,+FACe90F,MAAMxP,OAAOyP,QAAU,2BAA4B,CAC9DC,OAAQ,MACRC,iBAAiB,EACjBC,QAAS,CACPiL,OAAQ,oCACRhL,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,sBAGjBC,MAAK,SAACM,GAAD,OAASA,EAAI/N,UAClByN,MAAK,SAACM,GACL,OAAOA,KAERC,OAAM,SAACtV,GAEN,OADAD,YAAa,QAAS,QACf,KAjBb,oFAnIa,uBAmIEupG,EAnIF,wFA6Gb,WAA2B/oG,GAA3B,kFACeiU,MAAMxP,OAAOyP,QAAU,eAAiBlU,EAAI,CACvDmU,OAAQ,SACRC,iBAAiB,EACjBC,QAAS,CACPiL,OAAQ,oCACRhL,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,sBAGjBC,KAVU,wCAUL,WAAOC,GAAP,2FACGA,GADH,2CAVK,uDAaVD,MAAK,SAACM,GACL,OAAOk/B,EAAcl/B,MAEtBC,OAAM,SAACtV,GACN,OAAOu0C,EAAcv0C,MAlB3B,oFA7Ga,uBA6GE0gG,EA7GF,yFAqFb,WAAwBjsD,EAAUl0C,GAAlC,+EACMwrG,EAAYt3D,EAAQ,SAD1B,kBAESjgC,MAAMxP,OAAOyP,QAAU,eAAiBlU,EAAI,CACjDmU,OAAQ,MACRC,iBAAiB,EACjBC,QAAS,CACPiL,OAAQ,oCACRhL,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,oBAElBvV,KAAM2B,KAAKE,UAAU2qG,KAEpBh3F,KAXI,wCAWC,WAAOC,GAAP,kFACSA,EADT,mFAXD,uDAcJD,MAAK,SAACM,GACL,OAAOk/B,EAAcl/B,MAEtBC,OAAM,SAACtV,GACN,OAAOu0C,EAAcv0C,OApB3B,4CArFa,uBAqFE00C,EArFF,2FA8Db,WAAyBD,GAAzB,2FACSjgC,MAAMxP,OAAOyP,QAAU,cAAe,CAC3CC,OAAQ,OACRC,iBAAiB,EACjBC,QAAS,CACPiL,OAAQ,oCACRhL,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,oBAElBvV,KAAM2B,KAAKE,UAAUqzC,KAEpB1/B,KAXI,wCAWC,WAAOC,GAAP,kFACSA,EADT,mFAXD,uDAcJD,MAAK,SAACM,GACL,OAAOk/B,EAAcl/B,MAEtBC,OAAM,SAACtV,GACN,OAAOu0C,EAAcv0C,OAnB3B,4CA9Da,uBA8DE20C,EA9DF,yFAuCb,WAA0Bp0C,GAA1B,kFACeiU,MAAM,GAAD,OAAIxP,OAAOyP,QAAX,uBAAiClU,GAAM,CACvDmU,OAAQ,MACRC,iBAAiB,EACjBC,QAAS,CACPC,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,sBAGjBC,KATU,wCASL,WAAOC,GAAP,0FACqBA,EAASE,OAD9B,cACED,EADF,gBAEeD,EAAS1N,OAFxB,cAEE5E,EAFF,yBAGGyS,QAAQC,IAAI,CAACH,EAAYvS,KAH5B,2CATK,uDAcVqS,MAAK,SAACM,GACL,OAAOA,EAAI,MAEZC,OAAM,SAAC5K,GACNnH,QAAQmH,MAAMA,MAnBpB,oFAvCa,uBAuCE6qC,EAvCF,yFAab,WAAwBxvB,EAAYimF,GAApC,kFACex3F,MAAM,GAAD,OACbxP,OAAOyP,QADM,uBACgBsR,EADhB,YAC8BimF,GAC9C,CACEt3F,OAAQ,MACRC,iBAAiB,EACjBC,QAAS,CACPC,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,sBAInBC,KAZU,wCAYL,WAAOC,GAAP,0FACqBA,EAASE,OAD9B,cACED,EADF,gBAEeD,EAAS1N,OAFxB,cAEE5E,EAFF,yBAGGyS,QAAQC,IAAI,CAACH,EAAYvS,KAH5B,2CAZK,uDAiBVqS,MAAK,SAACM,GACL,OAAOorF,GAASprF,EAAI,OAErBC,OAAM,SAAC5K,GACNnH,QAAQmH,MAAMA,MAtBpB,oFAba,uBAaEm5D,EAbF,8CACJtvB,EADI,SACUl/B,GACrB,IAAIH,EAASG,EAAIH,OACbs/B,EAAan/B,EAAIm/B,WACrB,OAAe,MAAXt/B,GACFnV,YAAa,UAAW,YACjB,GACa,MAAXmV,GACTnV,YAAa,QAASy0C,IACf,QAFF,GAkJTgrD,EAAKQ,MAAM,4BAA4BN,MAAvC,uBAA6C,qGACzB4J,IADyB,cACrCr8E,EADqC,yBAEpC,CAAC,IAAKA,IAF8B,4CAK7CuyE,EAAKC,OAAO,kBAAkBC,MAA9B,wCAAoC,6GAASh9F,EAAT,EAASA,KAAT,EACbxB,KAAKC,MAAMuB,GAAxB+e,EAD0B,EAC1BA,SAD0B,EAM9BA,EAHFwqF,iBAHgC,WAGpBhmG,EAHoB,IAM9Bwb,EAFFhI,kBAJgC,WAInBxT,EAJmB,IAM9Bwb,EADFyqF,SAGIvM,EAAc,CAClBsM,YACAxyF,aACAyyF,cAXgC,WAKrBjmG,EALqB,YAaZ0uC,EAAUgrD,GAbE,qBAclChhG,SAASsR,eAAe,iBAAiBinB,QACzC0oE,GAAkB32F,KAAK02F,GAfW,kBAgB3B,CAAC,IAAK,CAAEl+E,SAAUk+E,KAhBS,4CAApC,uDAmBAH,EAAKC,OAAO,uBAAuBC,MAAnC,wCAAyC,WAAOj0C,GAAP,mFACjCq0C,EAAY,IAAI1B,EADiB,EAEfl9F,KAAKC,MAAMsqD,EAAO/oD,MAAlC+iB,EAF+B,EAE/BA,YAEkB,KADpB/V,EAAS+V,EAAY/V,QAChB+J,YAAyC,IAArB/J,EAAOy8F,UAJC,iCAKXtoC,EAASn0D,EAAO+J,WAAY/J,EAAOy8F,WALxB,OAKrCvM,GALqC,cAM9Bn6E,EAAY/V,OAAO+J,kBACnBgM,EAAY/V,OAAOy8F,iBACnB1mF,EAAY/V,OAAOojB,YARW,eAUjC8tE,EAAmBd,EAAUC,WACjCH,GACAn6E,GAZqC,kBAchC,CAAC,IAAKm7E,IAd0B,4CAAzC,uDAiBApB,EAAKC,OAAO,kCAAkCC,MAA9C,wCAAoD,WAAOj0C,GAAP,iFAClCvqD,KAAKC,MAAMsqD,EAAO/oD,MADgB,EAC1C2iB,IACJhkB,SAAQ,SAACd,GACX,IAAM6D,EAAQw7F,GAAkBr6E,WAAU,SAACJ,GAAD,OAAQA,EAAG5kB,KAAOA,KACxD6D,GAAS,GACXw7F,GAAkBx6D,OAAOhhC,EAAO,MALc,kBAQ3C,CAAC,MAR0C,2CAApD,uDAWAo7F,EACGC,OAAO,2CACPC,MAFH,wCAES,WAAOj0C,GAAP,qFACmBvqD,KAAKC,MAAMsqD,EAAO/oD,MAAlC2iB,EADH,EACGA,IAAKnQ,EADR,EACQA,OACb0qF,GAAkBv+F,SAAQ,SAAC8jB,GACrBE,EAAIE,WAAU,SAAChlB,GAAD,OAAQA,IAAO4kB,EAAG5kB,OAAO,IACzC4kB,EAAGjQ,OAASA,MAJX,kBAOE,CAAC,MAPH,2CAFT,uDAYAsqF,EAAKQ,MAAM,wBAAwBN,MAAnC,wCAAyC,WAAOj0C,GAAP,iFACjClrD,EAAKkrD,EAAOt5C,IAAIjG,MAAM,0BAA0B,GADf,SAEhBqpC,EAAWh1C,GAFK,UAEjCkhB,EAFiC,gDAI9B,CAAC,MAJ6B,gCAMhC,CAAC,IAAKA,IAN0B,2CAAzC,uDASA+9E,EAAKS,MAAM,wBAAwBP,MAAnC,wCAAyC,WAAOj0C,GAAP,qFACjClrD,EAAKkrD,EAAOt5C,IAAIjG,MAAM,0BAA0B,GAChD20F,EAAc3/F,KAAKC,MAAMsqD,EAAO/oD,MAC9B+e,EAAao/E,EAAbp/E,SAH+B,SAIpBizB,EAASmsD,EAAatgG,GAJF,0DAM9B,CAAC,MAN6B,WASxB,KADT6D,EAAQw7F,GAAkBr6E,WAAU,SAACJ,GAAD,OAAQA,EAAG5kB,MAAQA,MARtB,0CAU9B,CAAC,MAV6B,eAYvCq/F,GAAkBx7F,GAAlB,eAAgCqd,GAZO,kBAahC,CAAC,MAb+B,4CAAzC,uDAgBA+9E,EAAK31E,SAAS,wBAAwB61E,MAAtC,wCAA4C,WAAOj0C,GAAP,6EACpClrD,EAAKkrD,EAAOt5C,IAAIjG,MAAM,0BAA0B,IAEvC,KADT9H,EAAQw7F,GAAkBr6E,WAAU,SAACJ,GAAD,OAAQA,EAAG5kB,MAAQA,MAFnB,yCAIjC,CAAC,MAJgC,uBAMpBmgG,EAAYngG,GANQ,0DAQjC,CAAC,MARgC,cAU1Cq/F,GAAkBx6D,OAAOhhC,EAAO,GAVU,kBAWnC,CAAC,MAXkC,4CAA5C,uDAlPa,6C,sBAiQf,SAASq8F,GAASv4F,GAChB,IAAK,IAAI/D,KAAQ+D,EACfA,EAAK/D,GAAM5D,GAAK2H,EAAK/D,GAAMJ,UACpBmE,EAAK/D,GAAMJ,GAEpB,OAAOmE,E,2yMC1QT,IAAM9J,GAAU,IAAIC,IAAa,MAC3BC,GAAKC,IAAIH,I,+CAEA,WAAmCohG,GAAnC,IAEE4M,EAFF,EAyBEhI,EAzBF,EA6CEiI,EA7CF,EAoEEC,EApEF,iHAoEb,WAA0B73D,GAA1B,+EACMgtD,EAAWhtD,EAAQ,QADzB,kBAESjgC,MAAM,GAAD,OAAIxP,OAAOyP,QAAX,gBAAkC,CAC5CC,OAAQ,MACRC,iBAAiB,EACjBC,QAAS,CACPC,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,oBAElBvV,KAAM2B,KAAKE,UAAUqgG,KAEpB1sF,KATI,wCASC,WAAOC,GAAP,6EACEC,EAAaD,EAASE,OACxBxS,EAAO,GACQ,MAAfuS,EAHA,gCAGiCD,EAAS1N,OAH1C,OAGoB5E,EAHpB,uCAIGyS,QAAQC,IAAI,CAACH,EAAYvS,KAJ5B,2CATD,uDAeJqS,MAAK,SAACM,GACL,OAAOA,KAERC,OAAM,SAACtV,GACNuD,QAAQC,IAAIxD,OArBlB,4CApEa,uBAoEEssG,EApEF,yFA6Cb,WAAyB/rG,GAAzB,iFACMiV,EAAY,IAAIC,SACVC,OAAO,gBAAjB,iBAA4CpX,GAAG8L,OAAOC,WAAWyK,QAE7Da,EAAiB,CACnBjB,OAAQ,MACRE,QAASY,EACTI,SAAU,UAPd,SASepB,MAAM,GAAD,OAAIxP,OAAOyP,QAAX,mBAA6BlU,GAAKoV,GACjDZ,KADU,wCACL,WAAOC,GAAP,0FACqBA,EAASE,OAD9B,cACED,EADF,gBAEeD,EAAS1N,OAFxB,cAEE5E,EAFF,yBAGGyS,QAAQC,IAAI,CAACH,EAAYvS,KAH5B,2CADK,uDAMVqS,MAAK,SAACM,GACL,OAAOA,EAAI,MAEZC,OAAM,SAAC5K,GACNnH,QAAQmH,MAAMA,MAnBpB,oFA7Ca,uBA6CE2hG,EA7CF,yFAyBb,8FACM72F,EAAY,IAAIC,SACVC,OAAO,gBAAjB,iBAA4CpX,GAAG8L,OAAOC,WAAWyK,QAE7Da,EAAiB,CACnBjB,OAAQ,MACRE,QAASY,EACTI,SAAU,UAPd,SASepB,MAAMxP,OAAOyP,QAAU,aAAakB,GAC9CZ,MAAK,SAACM,GAAD,OAASA,EAAI/N,UAClByN,MAAK,SAACM,GACL,OAAOA,KAERC,OAAM,SAACtV,GAEN,OADAD,YAAa,QAAS,QACf,KAhBb,oFAzBa,uBAyBEqkG,EAzBF,wFAEb,+FACe5vF,MAAM,GAAD,OAAIxP,OAAOyP,QAAX,gBAAkC,CAClDC,OAAQ,MACRC,iBAAiB,EACjBC,QAAS,CACPC,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,sBAGjBC,KATU,wCASL,WAAOC,GAAP,0FACqBA,EAASE,OAD9B,cACED,EADF,gBAEeD,EAAS1N,OAFxB,cAEE5E,EAFF,yBAGGyS,QAAQC,IAAI,CAACH,EAAYvS,KAH5B,2CATK,uDAcVqS,MAAK,SAACM,GACL,OAAOA,EAAI,MAEZC,OAAM,SAAC5K,GACNnH,QAAQmH,MAAMA,MAnBpB,oFAFa,uBAEE0hG,EAFF,2CA8Fb5M,EAAKQ,MAAM,mBAAmBN,MAA9B,uBAAoC,qGAChB0M,IADgB,cAC5Bn/E,EAD4B,yBAE3B,CAAC,IAAKA,IAFqB,4CAKpCuyE,EAAKS,MAAM,mBAAmBP,MAA9B,wCAAoC,WAAOj0C,GAAP,iFAC5B8gD,EAAUrrG,KAAKC,MAAMsqD,EAAO/oD,MADA,SAEf4pG,EAAWC,GAFI,eAGnBtmG,KADXqJ,EAF8B,SAGQ,MAAdA,EAAO,GAHD,yCAIzB,CAAC,IAAK,CAAEg0F,SAAS,KAJQ,cAMhCh0F,EAAO,GAAGg0F,SAAU,EANY,kBAOzB,CAAC,IAAKh0F,EAAO,KAPY,4CAApC,uDAWAkwF,EAAKQ,MAAM,gCAAgCN,MAA3C,uBAAiD,qGAC7B0E,IAD6B,cACzCn3E,EADyC,yBAExC,CAAC,IAAKA,IAFkC,4CAKjDuyE,EAAKQ,MAAM,oCAAoCN,MAA/C,wCAAqD,WAAOj0C,GAAP,iFAC7ClrD,EAAKkrD,EAAOt5C,IAAIjG,MAAM,sCAAsC,GADf,SAE7BmgG,EAAU9rG,GAFmB,UAE/CisG,EAF+C,gDAG5B,CAAC,MAH2B,gCAI5C,CAAC,IAAKA,IAJsC,2CAArD,uDAnHa,6C,i0MCFf,IAEI5M,GAFExhG,GAAU,IAAIC,IAAa,MAC3BC,GAAKC,IAAIH,I,+CAEA,WAA8BohG,GAA9B,IACJjrD,EAYMsvB,EAbF,EAoCEtuB,EApCF,EA2DEZ,EA3DF,EAiFED,EAjFF,EAyGEgsD,EAzGF,EA+HE4I,EA/HF,iHA+Hb,+FACe90F,MAAMxP,OAAOyP,QAAU,6BAA8B,CAChEC,OAAQ,MACRC,iBAAiB,EACjBC,QAAS,CACPiL,OAAQ,oCACRhL,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,sBAGjBC,MAAK,SAACM,GAAD,OAASA,EAAI/N,UAClByN,MAAK,SAACM,GACL,OAAOA,KAERC,OAAM,SAACtV,GAEN,OADAD,YAAa,QAAS,QACf,KAjBb,oFA/Ha,uBA+HEupG,EA/HF,wFAyGb,WAA2B/oG,GAA3B,kFACeiU,MAAMxP,OAAOyP,QAAU,iBAAmBlU,EAAI,CACzDmU,OAAQ,SACRC,iBAAiB,EACjBC,QAAS,CACPiL,OAAQ,oCACRhL,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,sBAGjBC,KAVU,wCAUL,WAAOC,GAAP,2FACGA,GADH,2CAVK,uDAaVD,MAAK,SAACM,GACL,OAAOk/B,EAAcl/B,MAEtBC,OAAM,SAACtV,GACN,OAAOu0C,EAAcv0C,MAlB3B,oFAzGa,uBAyGE0gG,EAzGF,yFAiFb,WAAwBjsD,EAAUl0C,GAAlC,+EACMwrG,EAAYt3D,EAAQ,SAD1B,kBAESjgC,MAAMxP,OAAOyP,QAAU,iBAAmBlU,EAAI,CACnDmU,OAAQ,MACRC,iBAAiB,EACjBC,QAAS,CACPiL,OAAQ,oCACRhL,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,oBAElBvV,KAAM2B,KAAKE,UAAU2qG,KAEpBh3F,KAXI,wCAWC,WAAOC,GAAP,kFACSA,EADT,mFAXD,uDAcJD,MAAK,SAACM,GACL,OAAOk/B,EAAcl/B,MAEtBC,OAAM,SAACtV,GACN,OAAOu0C,EAAcv0C,OApB3B,4CAjFa,uBAiFE00C,EAjFF,2FA2Db,WAAyBD,GAAzB,2FACSjgC,MAAMxP,OAAOyP,QAAU,gBAAiB,CAC7CC,OAAQ,OACRE,QAAS,CACPiL,OAAQ,oCACRhL,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,oBAElBvV,KAAM2B,KAAKE,UAAUqzC,KAEpB1/B,KAVI,wCAUC,WAAOC,GAAP,kFACSA,EADT,mFAVD,uDAaJD,MAAK,SAACM,GACL,OAAOk/B,EAAcl/B,MAEtBC,OAAM,SAACtV,GACN,OAAOu0C,EAAcv0C,OAlB3B,4CA3Da,uBA2DE20C,EA3DF,yFAoCb,WAA0Bp0C,GAA1B,kFACeiU,MAAM,GAAD,OAAIxP,OAAOyP,QAAX,yBAAmClU,EAAnC,YAAiD,CACjEmU,OAAQ,MACRC,iBAAiB,EACjBC,QAAS,CACPC,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,sBAGjBC,KATU,wCASL,WAAOC,GAAP,0FACqBA,EAASE,OAD9B,cACED,EADF,gBAEeD,EAAS1N,OAFxB,cAEE5E,EAFF,yBAGGyS,QAAQC,IAAI,CAACH,EAAYvS,KAH5B,2CATK,uDAcVqS,MAAK,SAACM,GACL,OAAOA,EAAI,MAEZC,OAAM,SAAC5K,GACNnH,QAAQmH,MAAMA,MAnBpB,oFApCa,uBAoCE6qC,EApCF,yFAab,WAAwBxvB,GAAxB,kFACevR,MAAM,GAAD,OAAIxP,OAAOyP,QAAX,yBAAmCsR,GAAc,CACjErR,OAAQ,MACRC,iBAAiB,EACjBC,QAAS,CACPC,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,sBAGjBC,KATU,wCASL,WAAOC,GAAP,0FACqBA,EAASE,OAD9B,cACED,EADF,gBAEeD,EAAS1N,OAFxB,cAEE5E,EAFF,yBAGGyS,QAAQC,IAAI,CAACH,EAAYvS,KAH5B,2CATK,uDAcVqS,MAAK,SAACM,GACL,OAAOorF,GAASprF,EAAI,OAErBC,OAAM,SAAC5K,GACNnH,QAAQmH,MAAMA,MAnBpB,oFAba,uBAaEm5D,EAbF,4CACJtvB,EADI,SACUl/B,GACrB,IAAIH,EAASG,EAAIH,OACbs/B,EAAan/B,EAAIm/B,WACrB,OAAe,MAAXt/B,GACFnV,YAAa,UAAW,YACjB,GACa,MAAXmV,GACTnV,YAAa,QAASy0C,IACf,QAFF,GA8ITgrD,EAAKQ,MAAM,8BAA8BN,MAAzC,uBAA+C,qGAC3B4J,IAD2B,cACvCr8E,EADuC,OAE7CjoB,OAAOynG,8BAAgCx/E,EAFM,kBAGtC,CAAC,IAAKA,IAHgC,4CAM/CuyE,EAAKC,OAAO,oBAAoBC,MAAhC,wCAAsC,yHAASh9F,EAAT,EAASA,KAAT,EACfxB,KAAKC,MAAMuB,GAAxB+e,EAD4B,EAC5BA,SAD4B,EAShCA,EANFzd,YAHkC,WAG3BiC,EAH2B,IAShCwb,EALFnB,oBAJkC,WAInBra,EAJmB,IAShCwb,EAJFhI,kBALkC,WAKrBxT,EALqB,IAShCwb,EAHFirF,cANkC,WAMzBzmG,EANyB,IAShCwb,EAFFkrF,iBAPkC,WAOtB1mG,EAPsB,IAShCwb,EADFmrF,WAGIjN,EAAc,CAClB37F,OACAsc,eACA7G,aACAizF,SACAC,YACAC,gBAjBkC,mBAmBdj4D,EAAUgrD,GAnBI,qBAoBpChhG,SAASsR,eAAe,iBAAiBinB,QACzC0oE,GAAkB32F,KAAK02F,GArBa,kBAsB7B,CAAC,IAAK,CAAEl+E,SAAUk+E,KAtBW,4CAAtC,uDAyBAH,EAAKC,OAAO,yBAAyBC,MAArC,wCAA2C,WAAOj0C,GAAP,mFACnCq0C,EAAY,IAAI1B,EADmB,EAEjBl9F,KAAKC,MAAMsqD,EAAO/oD,MAAlC+iB,EAFiC,EAEjCA,YAEkB,KADpB/V,EAAS+V,EAAY/V,QAChB+J,YAAyC,IAArB/J,EAAOy8F,UAJG,gCAKbtoC,EAASn0D,EAAO+J,YALH,OAKvCmmF,GALuC,cAMhCn6E,EAAY/V,OAAO+J,kBACnBgM,EAAY/V,OAAOojB,YAPa,cASnC8tE,EAAmBd,EAAUC,WACjCH,GACAn6E,GAXuC,kBAalC,CAAC,IAAKm7E,IAb4B,4CAA3C,uDAgBApB,EAAKC,OAAO,oCAAoCC,MAAhD,wCAAsD,WAAOj0C,GAAP,iFACpCvqD,KAAKC,MAAMsqD,EAAO/oD,MADkB,EAC5C2iB,IACJhkB,SAAQ,SAACd,GACX,IAAM6D,EAAQw7F,GAAkBr6E,WAAU,SAACJ,GAAD,OAAQA,EAAG5kB,KAAOA,KACxD6D,GAAS,GACXw7F,GAAkBx6D,OAAOhhC,EAAO,MALgB,kBAQ7C,CAAC,MAR4C,2CAAtD,uDAWAo7F,EACGC,OAAO,6CACPC,MAFH,wCAES,WAAOj0C,GAAP,qFACmBvqD,KAAKC,MAAMsqD,EAAO/oD,MAAlC2iB,EADH,EACGA,IAAKnQ,EADR,EACQA,OACb0qF,GAAkBv+F,SAAQ,SAAC8jB,GACrBE,EAAIE,WAAU,SAAChlB,GAAD,OAAQA,IAAO4kB,EAAG5kB,OAAO,IACzC4kB,EAAGjQ,OAASA,MAJX,kBAOE,CAAC,MAPH,2CAFT,uDAYAsqF,EAAKQ,MAAM,0BAA0BN,MAArC,wCAA2C,WAAOj0C,GAAP,iFACnClrD,EAAKkrD,EAAOt5C,IAAIjG,MAAM,4BAA4B,GADf,SAElBqpC,EAAWh1C,GAFO,UAEnCkhB,EAFmC,gDAIhC,CAAC,MAJ+B,gCAMlC,CAAC,IAAKA,IAN4B,2CAA3C,uDASA+9E,EAAKS,MAAM,0BAA0BP,MAArC,wCAA2C,WAAOj0C,GAAP,qFACnClrD,EAAKkrD,EAAOt5C,IAAIjG,MAAM,4BAA4B,GAClD20F,EAAc3/F,KAAKC,MAAMsqD,EAAO/oD,MAC9B+e,EAAao/E,EAAbp/E,SAHiC,SAItBizB,EAASmsD,EAAatgG,GAJA,0DAMhC,CAAC,MAN+B,WAS1B,KADT6D,EAAQw7F,GAAkBr6E,WAAU,SAACJ,GAAD,OAAQA,EAAG5kB,MAAQA,MARpB,0CAUhC,CAAC,MAV+B,eAYzCq/F,GAAkBx7F,GAAlB,eAAgCqd,GAZS,kBAalC,CAAC,MAbiC,4CAA3C,uDAgBA+9E,EAAK31E,SAAS,0BAA0B61E,MAAxC,wCAA8C,WAAOj0C,GAAP,6EACtClrD,EAAKkrD,EAAOt5C,IAAIjG,MAAM,4BAA4B,IAEzC,KADT9H,EAAQw7F,GAAkBr6E,WAAU,SAACJ,GAAD,OAAQA,EAAG5kB,MAAQA,MAFjB,yCAInC,CAAC,MAJkC,uBAMtBmgG,EAAYngG,GANU,0DAQnC,CAAC,MARkC,cAU5Cq/F,GAAkBx6D,OAAOhhC,EAAO,GAVY,kBAWrC,CAAC,MAXoC,4CAA9C,uDApPa,6C,sBAmQf,SAASq8F,GAASv4F,GAChB,IAAK,IAAI/D,KAAQ+D,EACfA,EAAK/D,GAAM5D,GAAK2H,EAAK/D,GAAMJ,UACpBmE,EAAK/D,GAAMJ,GAEpB,OAAOmE,E,2yMC3QT,IAEI03F,GAFExhG,GAAU,IAAIC,IAAa,MAC3BC,GAAKC,IAAIH,I,+CAEA,WAAmCohG,GAAnC,IACJjrD,EAYMsvB,EAbF,EAoCEtuB,EApCF,EA4DEZ,EA5DF,EAmFED,EAnFF,EA2GEgsD,EA3GF,EAiIE0D,EAjIF,EAkJEiI,EAlJF,EAmKEQ,EAnKF,iHAmKb,WAA4BtsG,GAA5B,kFACeiU,MAAMxP,OAAOyP,QAAU,2BAA6BlU,EAAI,CACnEmU,OAAQ,MACRC,iBAAiB,EACjBC,QAAS,CACPiL,OAAQ,oCACRhL,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,sBAGjBC,MAAK,SAACM,GAAD,OAASA,EAAI/N,UAClByN,MAAK,SAACM,GACL,OAAOA,KAERC,OAAM,SAACtV,GACN,OAAO,KAhBb,oFAnKa,uBAmKE6sG,EAnKF,yFAkJb,WAAyBC,GAAzB,kFACet4F,MAAMxP,OAAOyP,QAAU,WAAaq4F,EAAK,CACpDp4F,OAAQ,MACRE,QAAS,CACPiL,OAAQ,oCACR,eAAgB,sBAGjB9K,MAAK,SAACM,GAAD,OAASA,EAAI/N,UAClByN,MAAK,SAACM,GACL,OAAOA,KAERC,OAAM,SAACtV,GACN,OAAO,KAbb,oFAlJa,uBAkJEqsG,EAlJF,yFAiIb,+FACe73F,MAAMxP,OAAOyP,QAAU,aAAc,CAChDC,OAAQ,MACRE,QAAS,CACPiL,OAAQ,oCACR,eAAgB,sBAGjB9K,MAAK,SAACM,GAAD,OAASA,EAAI/N,UAClByN,MAAK,SAACM,GACL,OAAOA,KAERC,OAAM,SAACtV,GACN,OAAO,KAbb,oFAjIa,uBAiIEokG,EAjIF,wFA2Gb,WAA2B7jG,GAA3B,kFACeiU,MAAMxP,OAAOyP,QAAU,cAAgBlU,EAAI,CACtDmU,OAAQ,SACRC,iBAAiB,EACjBC,QAAS,CACPiL,OAAQ,oCACRhL,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,sBAGjBC,KAVU,wCAUL,WAAOC,GAAP,2FACGA,GADH,2CAVK,uDAaVD,MAAK,SAACM,GACL,OAAOk/B,EAAcl/B,MAEtBC,OAAM,SAACtV,GACN,OAAOu0C,EAAcv0C,MAlB3B,oFA3Ga,uBA2GE0gG,EA3GF,yFAmFb,WAAwBjsD,EAAUl0C,GAAlC,+EACMwrG,EAAYt3D,EAAQ,SAD1B,kBAESjgC,MAAMxP,OAAOyP,QAAU,cAAgBlU,EAAI,CAChDmU,OAAQ,MACRC,iBAAiB,EACjBC,QAAS,CACPiL,OAAQ,oCACRhL,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,oBAElBvV,KAAM2B,KAAKE,UAAU2qG,KAEpBh3F,KAXI,wCAWC,WAAOC,GAAP,kFACSA,EADT,mFAXD,uDAcJD,MAAK,SAACM,GACL,OAAOk/B,EAAcl/B,MAEtBC,OAAM,SAACtV,GACN,OAAOu0C,EAAcv0C,OApB3B,4CAnFa,uBAmFE00C,EAnFF,2FA4Db,WAAyBD,GAAzB,2FACSjgC,MAAMxP,OAAOyP,QAAU,aAAc,CAC1CC,OAAQ,OACRC,iBAAiB,EACjBC,QAAS,CACPiL,OAAQ,oCACRhL,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,oBAElBvV,KAAM2B,KAAKE,UAAUqzC,KAEpB1/B,KAXI,wCAWC,WAAOC,GAAP,kFACSA,EADT,mFAXD,uDAcJD,MAAK,SAACM,GACL,OAAOk/B,EAAcl/B,MAEtBC,OAAM,SAACtV,GACN,OAAOu0C,EAAcv0C,OAnB3B,4CA5Da,uBA4DE20C,EA5DF,yFAoCb,WAA0Bp0C,GAA1B,kFACeiU,MAAM,GAAD,OAAIxP,OAAOyP,QAAX,sBAAgClU,EAAhC,YAA8C,CAC9DmU,OAAQ,MACRC,iBAAiB,EACjBC,QAAS,CACPC,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,sBAGjBC,KATU,wCASL,WAAOC,GAAP,0FACqBA,EAASE,OAD9B,cACED,EADF,gBAEeD,EAAS1N,OAFxB,cAEE5E,EAFF,yBAGGyS,QAAQC,IAAI,CAACH,EAAYvS,KAH5B,2CATK,uDAcVqS,MAAK,SAACM,GAEL,OADAA,EAAI,GAAG9U,GAAK8U,EAAI,GAAGtR,IAAM,EAClBsR,EAAI,MAEZC,OAAM,SAAC5K,GACNnH,QAAQmH,MAAMA,MApBpB,oFApCa,uBAoCE6qC,EApCF,yFAab,WAAwBxvB,GAAxB,kFACevR,MAAM,GAAD,OAAIxP,OAAOyP,QAAX,sBAAgCsR,GAAc,CAC9DrR,OAAQ,MACRC,iBAAiB,EACjBC,QAAS,CACPC,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,sBAGjBC,KATU,wCASL,WAAOC,GAAP,0FACqBA,EAASE,OAD9B,cACED,EADF,gBAEeD,EAAS1N,OAFxB,cAEE5E,EAFF,yBAGGyS,QAAQC,IAAI,CAACH,EAAYvS,KAH5B,2CATK,uDAcVqS,MAAK,SAACM,GACL,OAAOorF,GAASprF,EAAI,OAErBC,OAAM,SAAC5K,GACNnH,QAAQmH,MAAMA,MAnBpB,oFAba,uBAaEm5D,EAbF,4CACJtvB,EADI,SACUl/B,GACrB,IAAIH,EAASG,EAAIH,OACbs/B,EAAan/B,EAAIm/B,WACrB,OAAe,MAAXt/B,GACFnV,YAAa,UAAW,YACjB,GACa,MAAXmV,GACTnV,YAAa,QAASy0C,IACf,QAFF,GAgLTgrD,EAAKQ,MAAM,oCAAoCN,MAA/C,uBAAqD,qGACjC0E,IADiC,cAC7Cn3E,EAD6C,yBAE5C,CAAC,IAAKA,IAFsC,4CAKrDuyE,EAAKC,OAAO,iCAAiCC,MAA7C,wCAAmD,WAAOoN,GAAP,mFAC3CC,EAD2C,UAChC7rG,KAAKC,MAAM2rG,EAAIpqG,aADiB,aAChC,EAAsBoqG,IADU,SAE/BT,EAAUU,GAFqB,cAE3C9/E,EAF2C,yBAG1C,CAAC,IAAKA,IAHoC,2CAAnD,uDAMAuyE,EAAKC,OAAO,oCAAoCC,MAAhD,wCAAsD,WAAOn/F,GAAP,mFAC9CwsG,EAD8C,UACnC7rG,KAAKC,MAAMZ,EAAGmC,aADqB,aACnC,EAAqBnC,GADc,SAElCssG,EAAaE,GAFqB,cAE9C9/E,EAF8C,yBAG7C,CAAC,IAAKA,IAHuC,2CAAtD,uDAMAuyE,EAAKC,OAAO,uBAAuBC,MAAnC,wCAAyC,yKAASh9F,EAAT,EAASA,KAAT,EAClBxB,KAAKC,MAAMuB,GAAxB+e,EAD+B,EAC/BA,SAD+B,EAqBnCA,EAlBF1d,UAHqC,MAGhC,EAHgC,IAqBnC0d,EAjBFzd,YAJqC,WAI9BiC,EAJ8B,IAqBnCwb,EAhBF4B,YALqC,WAK9Bpd,EAL8B,IAqBnCwb,EAfF0J,mBANqC,WAMvBllB,EANuB,IAqBnCwb,EAdFykB,gBAPqC,WAO1BjgC,EAP0B,IAqBnCwb,EAbF0kB,gBARqC,WAQ1BlgC,EAR0B,IAqBnCwb,EAZF4O,YATqC,WAS9BpqB,EAT8B,IAqBnCwb,EAXF2L,aAVqC,WAU7BnnB,EAV6B,IAqBnCwb,EAVFilB,eAXqC,WAW3BzgC,EAX2B,IAqBnCwb,EATF2kB,eAZqC,WAY3BngC,EAZ2B,IAqBnCwb,EARFurF,kBAbqC,WAaxB/mG,EAbwB,IAqBnCwb,EAPFwrF,oBAdqC,WActBhnG,EAdsB,IAqBnCwb,EANFkgB,aAfqC,WAe7B17B,EAf6B,IAqBnCwb,EALF4iB,aAhBqC,WAgB7Bp+B,EAhB6B,IAqBnCwb,EAJFyrF,iBAjBqC,WAiBzBjnG,EAjByB,IAqBnCwb,EAHFhI,kBAlBqC,WAkBxBxT,EAlBwB,IAqBnCwb,EAFFsU,gBAnBqC,WAqBnCtU,EADF0rF,cAGIxN,EAAc,CAClB57F,KACAC,OACAqf,OACA8H,cACA+a,WACAC,WACA9V,OACAjD,QACAsZ,UACAN,UACA4mE,aACAC,eACAtrE,QACA0C,QACA6oE,YACAzzF,aACAsc,WACAo3E,mBAzCqC,mBA2CjCx4D,EAAUgrD,GA3CuB,cA4CvChhG,SAASsR,eAAe,iBAAiBinB,QACzC0oE,GAAkB32F,KAAK02F,GA7CgB,kBA8ChC,CAAC,IAAK,CAAEl+E,SAAUk+E,KA9Cc,2CAAzC,uDAiDAH,EAAKC,OAAO,4BAA4BC,MAAxC,wCAA8C,WAAOj0C,GAAP,mFACtCq0C,EAAY,IAAI1B,EADsB,EAEpBl9F,KAAKC,MAAMsqD,EAAO/oD,MAAlC+iB,EAFoC,EAEpCA,YAEkB,KADpB/V,EAAS+V,EAAY/V,QAChB+J,YAAyC,IAArB/J,EAAOy8F,UAJM,gCAKhBtoC,EAASn0D,EAAO+J,YALA,OAK1CmmF,GAL0C,cAMnCn6E,EAAY/V,OAAO+J,kBACnBgM,EAAY/V,OAAOojB,YAPgB,cAStC8tE,EAAmBd,EAAUC,WACjCH,GACAn6E,GAX0C,kBAarC,CAAC,IAAKm7E,IAb+B,4CAA9C,uDAgBApB,EAAKC,OAAO,uCAAuCC,MAAnD,wCAAyD,WAAOj0C,GAAP,iFACvCvqD,KAAKC,MAAMsqD,EAAO/oD,MADqB,EAC/C2iB,IACJhkB,SAAQ,SAACd,GACX,IAAM6D,EAAQw7F,GAAkBr6E,WAAU,SAACJ,GAAD,OAAQA,EAAG5kB,KAAOA,KACxD6D,GAAS,GACXw7F,GAAkBx6D,OAAOhhC,EAAO,MALmB,kBAQhD,CAAC,MAR+C,2CAAzD,uDAWAo7F,EACGC,OAAO,gDACPC,MAFH,wCAES,WAAOj0C,GAAP,qFACmBvqD,KAAKC,MAAMsqD,EAAO/oD,MAAlC2iB,EADH,EACGA,IAAKnQ,EADR,EACQA,OACb0qF,GAAkBv+F,SAAQ,SAAC8jB,GACrBE,EAAIE,WAAU,SAAChlB,GAAD,OAAQA,IAAO4kB,EAAG5kB,OAAO,IACzC4kB,EAAGjQ,OAASA,MAJX,kBAOE,CAAC,MAPH,2CAFT,uDAYAsqF,EAAKQ,MAAM,6BAA6BN,MAAxC,wCAA8C,WAAOj0C,GAAP,iFACtClrD,EAAKkrD,EAAOt5C,IAAIjG,MAAM,+BAA+B,GADf,SAErBqpC,EAAWh1C,GAFU,UAEtCkhB,EAFsC,gDAInC,CAAC,MAJkC,gCAMrC,CAAC,IAAKA,IAN+B,2CAA9C,uDASA+9E,EAAKS,MAAM,6BAA6BP,MAAxC,wCAA8C,WAAOj0C,GAAP,qFACtClrD,EAAKkrD,EAAOt5C,IAAIjG,MAAM,+BAA+B,GACrD20F,EAAc3/F,KAAKC,MAAMsqD,EAAO/oD,MAC9B+e,EAAao/E,EAAbp/E,SAHoC,SAIzBizB,EAASmsD,EAAatgG,GAJG,0DAMnC,CAAC,MANkC,WAS7B,KADT6D,EAAQw7F,GAAkBr6E,WAAU,SAACJ,GAAD,OAAQA,EAAG5kB,MAAQA,MARjB,0CAUnC,CAAC,MAVkC,eAY5Cq/F,GAAkBx7F,GAAlB,eAAgCqd,GAZY,kBAarC,CAAC,MAboC,4CAA9C,uDAgBA+9E,EAAK31E,SAAS,6BAA6B61E,MAA3C,wCAAiD,WAAOj0C,GAAP,6EACzClrD,EAAKkrD,EAAOt5C,IAAIjG,MAAM,+BAA+B,IAE5C,KADT9H,EAAQw7F,GAAkBr6E,WAAU,SAACJ,GAAD,OAAQA,EAAG5kB,MAAQA,MAFd,yCAItC,CAAC,MAJqC,uBAMzBmgG,EAAYngG,GANa,0DAQtC,CAAC,MARqC,cAU/Cq/F,GAAkBx6D,OAAOhhC,EAAO,GAVe,kBAWxC,CAAC,MAXuC,4CAAjD,uDAzTa,6C,sBAwUf,SAASq8F,GAASv4F,GAChB,IAAK,IAAI/D,KAAQ+D,EACfA,EAAK/D,GAAM5D,GAAK2H,EAAK/D,GAAMJ,UACpBmE,EAAK/D,GAAMJ,GAEpB,OAAOmE,E,ICnVYk2F,G,0FASnB,SAAWC,EAAWC,GAAuC,IAqBrDpvE,EAAaovE,EAAapvE,WAAa,EACvCnL,EAAau6E,EAAa8O,WAQ1BxO,GAP0BN,EAAanvE,SAOxB,CACnBnL,SAAUq6E,EACVt6E,WAAYA,EACZ86E,aAAc,KAEhB,OAAOD,I,uBAST,SAAUE,GAAsD,IAAtCC,EAAqC,uDAAxB,GAAIC,EAAoB,uDAAP,MACtD,IAAKD,EACH,OAAOD,EAET,IAAI6E,GAAU,EACJ,IAAIxuF,SAAQ,SAACyuF,EAASC,GAC9B/E,EAAez9F,SAAQ,SAAC/B,EAAO8E,EAAOm6B,GAElC78B,KACwB,OAAtBpC,EAAMy/F,GACFp9F,OAAOrC,EAAMy/F,IAAan9F,MAAM,EAAG,IACnC,GACJ,cACA,GACAC,YAEF8hG,GAAU,GAERv/F,IAAU06F,EAAe91F,OAAS,GACpC46F,UA0BN,OArBS9E,EAAejyF,MAAK,SAACnD,EAAGtE,GAC/B,OAAIu+F,EACE,IAAI7hG,KAAK4H,EAAEq1F,IAAe,IAAIj9F,KAAKsD,EAAE25F,IACjB,QAAfC,GAAwB,EAAI,EAGjC,IAAIl9F,KAAK4H,EAAEq1F,IAAe,IAAIj9F,KAAKsD,EAAE25F,IACjB,QAAfC,EAAuB,GAAK,EAE9B,EAEHt1F,EAAEq1F,GAAc35F,EAAE25F,GACE,QAAfC,GAAwB,EAAI,EAGjCt1F,EAAEq1F,GAAc35F,EAAE25F,GACE,QAAfC,EAAuB,GAAK,EAE9B,O,2BAab,SAAcF,EAAgBG,GAAoC,IAAzBV,EAAwB,uDAAJ,GACrDjvF,EAAS,GACX4vF,EAAe,GACbC,EAAU,GACZC,EAAe,GACfC,GAAW,EAmDf,OAjDAd,EAAkBl9F,SAAQ,SAAC8C,GACrBA,KAAQ86F,IACVH,EAAez9F,SAAQ,SAACiP,EAASlM,GAC3BkM,EAAQnM,KAAU86F,EAAU96F,IAC9Bi7F,EAAan2F,KAAK7E,MAGtBg7F,EAAa/9F,SAAQ,SAACiP,GACpB4uF,EAAaj2F,KAAK61F,EAAexuF,OAEnCwuF,EAAiBI,EAAat9F,MAAM,GACpCs9F,EAAe,GAAGt9F,MAAM,GACxBw9F,EAAe,GAAGx9F,MAAM,OAI5Bk9F,EAAez9F,SAAQ,SAACiP,EAASlM,GAC/B,IAAI0/F,GAAQ,EACZviG,OAAOC,KAAKy9F,GAAW59F,SAAQ,SAACoG,GAC9B,IAAMorB,EAAaosE,EAAUx3F,GAC1Bd,WACAkJ,OACAR,cACH,GAAI5H,IAAQ82F,EAAkBhuF,MAAK,SAACd,GAAD,OAAOA,IAAMhI,MAAQorB,EAAY,CAClEwsE,GAAW,EACX,IAEE,GADoB,GAAhB/uF,EAAQ7I,KAAe6I,EAAQ7I,GAAO,SACtC6I,EAAQ7I,IAA0B,IAAjB6I,EAAQ7I,IAA6B,MAAforB,GAC5BviB,EAAQ7I,GAClBd,WACAkJ,OACAR,cAEI0G,QAAQ8c,KAAgB,IACD,IAA5BssE,EAAQppF,QAAQ3R,MAEhB0/F,GAAQ,GAGZ,MAAOxE,GACP/7F,QAAQC,IAAI87F,EAAI73F,EAAKorB,QAIvBixE,GACF3E,EAAQl2F,KAAK7E,MAIZi7F,GAILF,EAAQ99F,SAAQ,SAACk4B,GACfjqB,EAAOrG,KAAK61F,EAAevlE,OAGtBjqB,GAPEwvF,M,gzMClKb,IAAM1gG,GAAU,IAAIC,IAAa,MAC3BC,GAAKC,IAAIH,IA+Uf,SAASqiG,GAASv4F,GAChB,IAAK,IAAI/D,KAAQ+D,EACfA,EAAK/D,GAAM5D,GAAK2H,EAAK/D,GAAMJ,GAC3BmE,EAAK/D,GAAM5D,GAAK2H,EAAK/D,GAAMJ,UACpBmE,EAAK/D,GAAMJ,GAEpB,OAAOmE,E,2yMCrVT,IAAM9J,GAAU,IAAIC,IAAa,MAC3BC,GAAKC,IAAIH,IAEX6pG,GAAkB,GAmyBtB,SAASxH,GAASv4F,GAChB,IAAK,IAAI/D,KAAQ+D,EACfA,EAAK/D,GAAM5D,GAAK2H,EAAK/D,GAAMJ,UACpBmE,EAAK/D,GAAMJ,GAEpB,OAAOmE,EAGT,SAASmlG,KAEP,OADgBroG,OAAOu0C,SAASq+B,SACfrvE,MAAM,KAAK,G,2yMCjzB9B,IAAMnK,GAAU,IAAIC,IAAa,MAC3BC,GAAKC,IAAIH,IACXwhG,GAAoB,GAiUxB,SAASC,KACP,IAAMx6E,EAAMu6E,GAAkB17F,KAAI,SAACihB,GAAD,OAAQA,EAAGphB,MAE7C,OADcmH,KAAKgrB,IAAL,MAAAhrB,KAAI,YAAQma,IACX,E,2yMCxUjB,IAAMjnB,GAAU,IAAIC,IAAa,MAC3BC,GAAKC,IAAIH,I,+CAEA,WAAsCohG,GAAtC,IACE8N,EADF,EAsBEC,EAtBF,EA4DJ9M,EA5DI,kEA4DJA,EA5DI,SA4DKv4F,GAChB,IAAK,IAAI/D,KAAQ+D,EACfA,EAAK/D,GAAM5D,GAAK2H,EAAK/D,GAAMJ,UACpBmE,EAAK/D,GAAMJ,GAEpB,OAAOmE,GAjEI,6CAsBb,WAA+B3H,GAA/B,kFACeiU,MAAMxP,OAAOyP,QAAU,iBAAmBlU,EAAI,CACzDmU,OAAQ,MACRC,iBAAiB,EACjBC,QAAS,CACPC,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,sBAGjBC,KATU,wCASL,WAAOC,GAAP,iFACEC,EAAaD,EAASE,OADxB,SAEeF,EAAS1N,OAFxB,cAEE5E,EAFF,yBAGGyS,QAAQC,IAAI,CAACH,EAAYvS,KAH5B,2CATK,uDAcVqS,MAAK,SAACM,GACL,OAAOorF,EAASprF,EAAI,OAErBC,OAAM,SAAC5K,GACNnH,QAAQmH,MAAMA,MAnBpB,oFAtBa,uBAsBE6iG,EAtBF,yFACb,WAAqCxpG,GAArC,kFACeyQ,MAAM,GAAD,OACbxP,OAAOyP,QADM,4CACqC1Q,GACrD,CACE4Q,iBAAiB,EACjBC,QAAS,CACPC,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,sBAInBC,KAVU,wCAUL,WAAOC,GAAP,0FACqBA,EAASE,OAD9B,cACED,EADF,gBAEeD,EAAS1N,OAFxB,cAEE5E,EAFF,yBAGGyS,QAAQC,IAAI,CAACH,EAAYvS,KAH5B,2CAVK,uDAeV4S,OAAM,SAAC5K,GACNnH,QAAQmH,MAAMA,MAjBpB,oFADa,uBACE4iG,EADF,4CA6Cb9N,EAAKC,OAAO,iCAAiCC,MAA7C,wCAAmD,iGAASh9F,EAAT,EAASA,KACpDqjB,EAAa7kB,KAAKC,MAAMuB,GAAMA,KADa,SAEhB6qG,EAAgBxnF,GAFA,cAE3CmlF,EAF2C,yBAG1C,CAAC,IAAKA,IAHoC,2CAAnD,uDAMA1L,EAAKQ,MAAM,gCAAgCN,MAA3C,wCAAiD,WAAOj0C,GAAP,iFACzClrD,EAAKkrD,EAAOt5C,IAAIjG,MAAM,kCAAkC,GADf,SAE7BohG,EAAsB/sG,GAFO,UAEzC0sB,EAFyC,gDAItC,CAAC,MAJqC,gCAMxC,CAAC,IAAKA,IANkC,2CAAjD,uDAnDa,4C,i0MCAf,IAAM7uB,GAAU,IAAIC,IAAa,MAC3BC,GAAKC,IAAIH,IACf,SAASm2C,GAAcl/B,GACrB,IAAIH,EAASG,EAAIH,OAEjB,OADA3R,QAAQC,IAAI,SAAS0R,GACN,MAAXA,GACFnV,YAAa,UAAW,WACjB,CAAC,MACY,MAAXmV,GACTnV,YAAa,QAAS,iBACf,CAAC,WAFH,E,SAKMytG,G,kFAAf,WAA6BC,GAA7B,mFACMj4F,EAAY,IAAIC,SACVC,OAAO,gBAAjB,iBAA4CpX,GAAG8L,OAAOC,WAAWyK,QACjEU,EAAUE,OAAO,eAAgB,oBAC7Bq1C,EAAM7pD,KAAKE,UAAUqsG,GACrB93F,EAAiB,CACnBjB,OAAQ,OACRE,QAASY,EACTjW,KAAMwrD,EACNn1C,SAAU,UATd,SAYepB,MAAM,GAAD,OAAIxP,OAAOyP,QAAX,cAAgCkB,GAC/CZ,KADU,wCACL,WAAOC,GAAP,2FACGA,GADH,2CADK,uDAIVD,MAAK,SAACM,GACL,OAAOk/B,GAAcl/B,MAEtBC,OAAM,SAACtV,GACN,OAAOu0C,GAAcv0C,MApB3B,oF,+BAuBe0tG,G,oFAAf,WAA4BD,EAAUltG,GAAtC,mFACMiV,EAAY,IAAIC,SACVC,OAAO,gBAAjB,iBAA4CpX,GAAG8L,OAAOC,WAAWyK,QACjEU,EAAUE,OAAO,eAAgB,oBAE7Bq1C,EAAM7pD,KAAKE,UAAUqsG,GAErB93F,EAAiB,CACnBjB,OAAQ,MACRE,QAASY,EACTjW,KAAMwrD,EACNn1C,SAAU,UAXd,SAcepB,MAAM,GAAD,OAAIxP,OAAOyP,QAAX,sBAAgClU,GAAMoV,GACrDZ,KADU,wCACL,WAAOC,GAAP,2FACGA,GADH,2CADK,uDAIVD,MAAK,SAACM,GACL,OAAOk/B,GAAcl/B,MAEtBC,OAAM,SAACtV,GACN,OAAOu0C,GAAcv0C,MAtB3B,oF,+BAyBe2tG,G,kFAAf,WAAgCptG,GAAhC,iFACMiV,EAAY,IAAIC,SACVC,OAAO,gBAAjB,iBAA4CpX,GAAG8L,OAAOC,WAAWyK,QAE7Da,EAAiB,CACnBjB,OAAQ,MACRE,QAASY,EACTI,SAAU,UAPd,SAUepB,MAAM,GAAD,OAAIxP,OAAOyP,QAAX,sBAAgClU,GAAMoV,GACrDZ,KADU,wCACL,WAAOC,GAAP,0FACqBA,EAASE,OAD9B,cACED,EADF,gBAEeD,EAAS1N,OAFxB,cAEE5E,EAFF,yBAGGyS,QAAQC,IAAI,CAACH,EAAYvS,KAH5B,2CADK,uDAMVqS,MAAK,SAACM,GAEL,OADA9R,QAAQC,IAAI,MAAO6R,GACZA,EAAI,MAEZC,OAAM,SAAC5K,GAAD,OAAWnH,QAAQC,IAAI,QAASkH,MApB3C,oF,+BAuBekjG,G,kFAAf,WAA+BrtG,GAA/B,iFACMiV,EAAY,IAAIC,SACVC,OAAO,gBAAjB,iBAA4CpX,GAAG8L,OAAOC,WAAWyK,QAE7Da,EAAiB,CACnBjB,OAAQ,SACRE,QAASY,EACTI,SAAU,UAPd,SAUepB,MAAM,GAAD,OAAIxP,OAAOyP,QAAX,sBAAgClU,GAAMoV,GACrDZ,KADU,wCACL,WAAOC,GAAP,2FACGA,GADH,2CADK,uDAIVD,MAAK,SAACM,GACL,OAAOk/B,GAAcl/B,MAEtBC,OAAM,SAACtV,GACN,OAAOu0C,GAAcv0C,MAlB3B,oF,i0MCrFA,IAEI4/F,GCLAA,GDGExhG,GAAU,IAAIC,IAAa,MAC3BC,GAAKC,IAAIH,IAkWf,SAASyhG,KACP,GAAID,GAAkB52F,OAAS,QAA2B/C,IAAtB25F,GAAiC,CACnE,IAAMv6E,EAAMu6E,GAAkB17F,KAAI,SAACihB,GAAD,OAAQA,EAAG5kB,MAE7C,OADc2K,KAAKgrB,IAAL,MAAAhrB,KAAI,YAAQma,IACX,EAEf,OAAO,EAIX,SAASo7E,GAASv4F,GAChB,IAAK,IAAI/D,KAAQ+D,EACfA,EAAK/D,GAAM5D,GAAK2H,EAAK/D,GAAMJ,UACpBmE,EAAK/D,GAAMJ,GAEpB,OAAOmE,E,2yMCpXM,SAAS2lG,GAAkBrO,GAAM,SAE/BlO,IAF+B,4EAE9C,+FACe98E,MAAMxP,OAAOyP,QAAU,+BAAgC,CAClEC,OAAQ,MACRE,QAAS,CACPiL,OAAQ,oCACR,eAAgB,sBAGjB9K,KAPU,wCAOL,WAAOC,GAAP,iFACEC,EAAaD,EAASE,OADxB,SAEeF,EAAS1N,OAFxB,cAEE5E,EAFF,yBAGGyS,QAAQC,IAAI,CAACH,EAAYvS,KAH5B,2CAPK,uDAYVqS,MAAK,SAACM,GACL,OAAOA,EAAI,MAEZC,OAAM,SAAC5K,GACN3K,aAAa,QAAS,UAjB5B,oFAF8C,+BAuB/B+tG,IAvB+B,4EAuB9C,+FACet5F,MAAMxP,OAAOyP,QAAU,kCAAmC,CACrEC,OAAQ,MACRE,QAAS,CACPiL,OAAQ,oCACR,eAAgB,sBAGjB9K,MAAK,SAACM,GAAD,OAASA,EAAI/N,UAClByN,MAAK,SAACM,GACL,OAAOA,KAERC,OAAM,SAACtV,GAEN,OADAD,aAAa,QAAS,QACf,KAdb,oFAvB8C,+BA0C/BguG,EA1C+B,iFA0C9C,WAA6BhoF,EAAYie,GAAzC,kFACexvB,MACXxP,OAAOyP,QAAU,mBAAqBsR,EAAa,IAAMie,GAExDjvB,KAHU,wCAGL,WAAOC,GAAP,iFACEC,EAAaD,EAASE,OADxB,SAEeF,EAAS1N,OAFxB,cAEE5E,EAFF,OAGJa,QAAQC,IAAId,GAHR,kBAIGyS,QAAQC,IAAI,CAACH,EAAYvS,KAJ5B,2CAHK,uDASVqS,MAAK,SAACM,GACL,OAAOorF,GAASprF,EAAI,OAErBC,OAAM,SAAC5K,GACNnH,QAAQmH,MAAMA,MAdpB,oFA1C8C,+BA6D/B0vC,IA7D+B,4EA6D9C,+FACe5lC,MAAMxP,OAAOyP,QAAU,iCAAkC,CACpEC,OAAQ,MACRE,QAAS,CACPiL,OAAQ,oCACR,eAAgB,sBAGjB9K,MAAK,SAACM,GAAD,OAASA,EAAI/N,UAClByN,MAAK,SAACM,GACL,OAAOA,KAERC,OAAM,SAACtV,GAEN,OADAD,aAAa,QAAS,QACf,KAdb,oFA7D8C,sBA+E9Cy/F,EAAKQ,MAAM,+BAA+BN,MAA1C,uBAAgD,4FAC1CsO,EAAgB,GAD0B,SAEA1c,IAFA,cAE9C0c,EAAa,qBAFiC,gBAGA1c,IAHA,cAG9C0c,EAAa,qBAHiC,gBAIJ1c,IAJI,cAI9C0c,EAAa,iBAJiC,iBAKf1c,IALe,eAK9C0c,EAAa,MALiC,iBAQP5zD,IARO,eAQ9C4zD,EAAa,cARiC,iBASPF,IATO,eAS9CE,EAAa,cATiC,yBAUvC,CAAC,IAAKA,IAViC,6CAahDxO,EAAKC,OAAO,qBAAqBC,OAAM,YAAe,IAAZh9F,EAAW,EAAXA,KAChC84C,EAAat6C,KAAKC,MAAMuB,GAAxB84C,SACR,EAOIA,EANFyyD,qBADF,MACkB,GADlB,IAOIzyD,EALF0yD,yBAFF,MAEsB,GAFtB,IAOI1yD,EAJF2yD,yBAHF,MAGsB,GAHtB,IAOI3yD,EAHF4yD,gBAJF,MAIa,GAJb,IAOI5yD,EAFF6yD,uBALF,MAKoB,GALpB,IAOI7yD,EADF8yD,uBANF,MAMoB,GANpB,EAUM3O,EAAc,CAClBp/F,GAiHN,WACE,IAAM8kB,EAAMu6E,GAAkB17F,KAAI,SAACihB,GAAD,OAAQA,EAAG5kB,MAE7C,OADc2K,KAAKgrB,IAAL,MAAAhrB,KAAI,YAAQma,IACX,EAtHFkpF,GAGTN,gBACAC,oBACAC,oBACAC,WACAC,kBACAC,mBAGF,OADA1O,GAAkB32F,KAAK02F,GAChB,CAAC,IAAK,CAAEnkD,SAAUmkD,OAI3BH,EAAKC,OAAO,+BAA+BC,MAA3C,wCAAiD,2GAASh9F,EAAT,EAASA,KACtC,IAAI07F,EAChBoQ,EAAYttG,KAAKC,MAAMuB,GAFkB,EAGvBxB,KAAKC,MAAMuB,GAHY,EAGvC+iB,iBAGmBxf,IAAzBuoG,EAAUzoF,iBACgB9f,IAA1BuoG,EAAUxqE,cAEVwqE,EAAUzoF,WAAa,EACvByoF,EAAUxqE,YAAc,GAEG,IAAzBwqE,EAAUzoF,YAA8C,IAA1ByoF,EAAUxqE,YAZG,iCAatB+pE,EACrBS,EAAUzoF,WACVyoF,EAAUxqE,aAfiC,cAazCyqE,EAbyC,SAqBzCA,EAHFC,sBAlB2C,MAkB1B,GAlB0B,IAqBzCD,EAFFE,8BAnB2C,MAmBlB,GAnBkB,IAqBzCF,EADFG,iBAEIC,EAAa,CACjBH,iBACAC,yBACAC,sBAzB2C,MAoBxB,GApBwB,GA2B7CH,EAAWvqG,KAAI,SAACC,EAAMC,GACpByqG,EAAWH,eAAiBvqG,EAAKuqG,eACjCG,EAAWF,uBAAyBxqG,EAAKwqG,uBACzCE,EAAWD,iBAAmBzqG,EAAKyqG,oBA9BQ,kBAgCtC,CAAC,IAAKC,IAhCgC,4CAAjD,uDAoCArP,EAAKC,OAAO,0BAA0BC,MAAtC,wCAA4C,WAAOj0C,GAAP,+EACxB,IAAI2yC,EAChBoQ,EAAYttG,KAAKC,MAAMsqD,EAAO/oD,MACpCk9F,GAAoB4O,EAAU9rG,KAAKgsG,eAHO,kBAInC,CAAC,IAAK9O,KAJ6B,2CAA5C,uDAOAJ,EAAKC,OAAO,yCAAyCC,OAAM,SAACj0C,GAQ1D,OAPgBvqD,KAAKC,MAAMsqD,EAAO/oD,MAA1B2iB,IACJhkB,SAAQ,SAACd,GACX,IAAM6D,EAAQw7F,GAAkBr6E,WAAU,SAACJ,GAAD,OAAQA,EAAG5kB,KAAOA,KACxD6D,GAAS,GACXw7F,GAAkBx6D,OAAOhhC,EAAO,MAG7B,CAAC,QAGVo7F,EACGC,OAAO,kDACPC,OAAM,SAACj0C,GACN,MAAwBvqD,KAAKC,MAAMsqD,EAAO/oD,MAAlC2iB,EAAR,EAAQA,IAAKnQ,EAAb,EAAaA,OAMb,OALA0qF,GAAkBv+F,SAAQ,SAAC8jB,GACrBE,EAAIE,WAAU,SAAChlB,GAAD,OAAQA,IAAO4kB,EAAG5kB,OAAO,IACzC4kB,EAAGjQ,OAASA,MAGT,CAAC,QAGZsqF,EAAKQ,MAAM,2BAA2BN,OAAM,SAACj0C,GAC3C,IAAMlrD,EAAKkrD,EAAOt5C,IAAIjG,MAAM,6BAA6B,GACnDsvC,EAAWokD,GAAkBt8E,MAAK,SAAC6B,GAAD,OAAQA,EAAG5kB,MAAQA,KAC3D,OAAKi7C,EAIE,CAAC,IAAKA,GAHJ,CAAC,QAMZgkD,EAAKS,MAAM,2BAA2BP,OAAM,SAACj0C,GAC3C,IAAMlrD,EAAKkrD,EAAOt5C,IAAIjG,MAAM,6BAA6B,GACjDsvC,EAAat6C,KAAKC,MAAMsqD,EAAO/oD,MAA/B84C,SACFp3C,EAAQw7F,GAAkBr6E,WAAU,SAACJ,GAAD,OAAQA,EAAG5kB,MAAQA,KAC7D,OAAK6D,GAILw7F,GAAkBx7F,GAAlB,eAAgCo3C,GACzB,CAAC,MAJC,CAAC,QAOZgkD,EAAK31E,SAAS,2BAA2B61E,OAAM,SAACj0C,GAC9C,IAAMlrD,EAAKkrD,EAAOt5C,IAAIjG,MAAM,6BAA6B,GACnD9H,EAAQw7F,GAAkBr6E,WAAU,SAACJ,GAAD,OAAQA,EAAG5kB,MAAQA,KAE7D,OADAq/F,GAAkBx6D,OAAOhhC,EAAO,IAChB,KAAXA,EACI,CAAC,KAGH,CAAC,QAUZ,SAASq8F,GAASv4F,GAChB,IAAK,IAAI/D,KAAQ+D,EACfA,EAAK/D,GAAM5D,GAAK2H,EAAK/D,GAAMJ,UACpBmE,EAAK/D,GAAMJ,GAEpB,OAAOmE,ECvOM,QACb,CACEvE,MAAM,GACNmrG,KAAK,GACLC,KAAM,GACNC,QAAS,GACTC,UAAW,KCHA,SAASC,GAAkB1P,GACxCA,EAAKC,OAAO,qBAAqBC,OAAM,YAAe,IAAZh9F,EAAW,EAAXA,KAChC+e,EAAavgB,KAAKC,MAAMuB,GAAxB+e,SACR,EAMIA,EALA9d,aADJ,MACY,GADZ,IAMI8d,EAJAqtF,YAFJ,MAEW,GAFX,IAMIrtF,EAHAstF,YAHJ,MAGU,GAHV,IAMIttF,EAFAutF,eAJJ,MAIa,GAJb,IAMIvtF,EADAwtF,iBALJ,MAKc,GALd,EASMtP,EAAc,CAClBp/F,GA4EN,WACE,IAAM8kB,EAAMu6E,GAAkB17F,KAAI,SAAAihB,GAAE,OAAIA,EAAG5kB,MAE3C,OADc2K,KAAKgrB,IAAL,MAAAhrB,KAAI,YAAQma,IACX,EAjFFw6E,GAGTl8F,QACAmrG,OACAC,OACAC,UACAC,aAGF,OADArP,GAAkB32F,KAAK02F,GAChB,CAAC,IAAK,CAAEl+E,SAAUk+E,OAG3BH,EAAKC,OAAO,0BAA0BC,OAAM,SAAAj0C,GAC1C,IAAMq0C,EAAY,IAAI1B,EACd34E,EAAgBvkB,KAAKC,MAAMsqD,EAAO/oD,MAAlC+iB,YAKR,MAAO,CAAC,IAJiBq6E,EAAUC,WACjCH,GACAn6E,OAKJ+5E,EAAKC,OAAO,qCAAqCC,OAAM,SAAAj0C,GAQrD,OAPgBvqD,KAAKC,MAAMsqD,EAAO/oD,MAA1B2iB,IACJhkB,SAAQ,SAAAd,GACV,IAAM6D,EAAQw7F,GAAkBr6E,WAAU,SAAAJ,GAAE,OAAIA,EAAG5kB,KAAOA,KACtD6D,GAAS,GACXw7F,GAAkBx6D,OAAOhhC,EAAO,MAG7B,CAAC,QAGVo7F,EAAKC,OAAO,8CAA8CC,OAAM,SAAAj0C,GAC9D,MAAwBvqD,KAAKC,MAAMsqD,EAAO/oD,MAAlC2iB,EAAR,EAAQA,IAAKnQ,EAAb,EAAaA,OAMb,OALA0qF,GAAkBv+F,SAAQ,SAAA8jB,GACpBE,EAAIE,WAAU,SAAAhlB,GAAE,OAAIA,IAAO4kB,EAAG5kB,OAAO,IACvC4kB,EAAGjQ,OAASA,MAGT,CAAC,QAGVsqF,EAAKQ,MAAM,2BAA2BN,OAAM,SAAAj0C,GAC1C,IAAMlrD,EAAKkrD,EAAOt5C,IAAIjG,MAAM,yBAAyB,GAC/CuV,EAAWm+E,GAAkBt8E,MAAK,SAAA6B,GAAE,OAAIA,EAAG5kB,MAAQA,KACzD,OAAKkhB,EAIE,CAAC,IAAKA,GAHJ,CAAC,QAMZ+9E,EAAKS,MAAM,2BAA2BP,OAAM,SAAAj0C,GAC1C,IAAMlrD,EAAKkrD,EAAOt5C,IAAIjG,MAAM,yBAAyB,GAC7CuV,EAAavgB,KAAKC,MAAMsqD,EAAO/oD,MAA/B+e,SACFrd,EAAQw7F,GAAkBr6E,WAAU,SAAAJ,GAAE,OAAIA,EAAG5kB,MAAQA,KAC3D,OAAK6D,GAILw7F,GAAkBx7F,GAAlB,eAAgCqd,GACzB,CAAC,MAJC,CAAC,QAOZ+9E,EAAK31E,SAAS,2BAA2B61E,OAAM,SAAAj0C,GAC7C,IAAMlrD,EAAKkrD,EAAOt5C,IAAIjG,MAAM,yBAAyB,GAC/C9H,EAAQw7F,GAAkBr6E,WAAU,SAAAJ,GAAE,OAAIA,EAAG5kB,MAAQA,KAE3D,OADAq/F,GAAkBx6D,OAAOhhC,EAAO,IAChB,KAAXA,EACI,CAAC,KAGH,CAAC,Q,2yMCtFG,SAAS+qG,GAAoB3P,GAC1CA,EAAKC,OAAO,uBAAuBC,OAAM,YAAe,IAAZh9F,EAAW,EAAXA,KAClC+e,EAAavgB,KAAKC,MAAMuB,GAAxB+e,SACR,EAIIA,EAHA43B,iBADJ,MACgB,GADhB,IAII53B,EAFA2tF,2BAFJ,MAE0B,GAF1B,IAII3tF,EADAstF,YAHJ,MAGU,GAHV,EAOMpP,EAAc,CAClBp/F,GA2EN,WACE,IAAM8kB,QAxFJu6E,GAwF4B17F,KAAI,SAAAihB,GAAE,OAAIA,EAAG5kB,MAE3C,OADc2K,KAAKgrB,IAAL,MAAAhrB,KAAI,YAAQma,IACX,EAhFFw6E,GAGTxmD,YACA+1D,sBACAL,QAGF,YAlBAnP,GAiBkB32F,KAAK02F,GAChB,CAAC,IAAK,CAAEl+E,SAAUk+E,OAG3BH,EAAKC,OAAO,4BAA4BC,MAAxC,wCAA8C,WAAOj0C,GAAP,qFAC5Cs+C,MAAM,WACAjK,EAAY,IAAI1B,EAFsB,EAGpBl9F,KAAKC,MAAMsqD,EAAO/oD,MAAlC+iB,EAHoC,EAGpCA,YACFm7E,EAAmBd,EAAUC,gBAzBnCH,EA2BEn6E,GAN0C,kBAQrC,CAAC,IAAKm7E,IAR+B,2CAA9C,uDAWApB,EAAKC,OAAO,uCAAuCC,OAAM,SAAAj0C,GAQvD,OAPgBvqD,KAAKC,MAAMsqD,EAAO/oD,MAA1B2iB,IACJhkB,SAAQ,SAAAd,GACV,IAAM6D,QAnCRw7F,GAmCkCr6E,WAAU,SAAAJ,GAAE,OAAIA,EAAG5kB,KAAOA,KACtD6D,GAAS,SApCfw7F,GAqCsBx6D,OAAOhhC,EAAO,MAG7B,CAAC,QAGVo7F,EAAKC,OAAO,gDAAgDC,OAAM,SAAAj0C,GAChE,MAAwBvqD,KAAKC,MAAMsqD,EAAO/oD,MAAlC2iB,EAAR,EAAQA,IAAKnQ,EAAb,EAAaA,OAMb,YAlDA0qF,GA6CkBv+F,SAAQ,SAAA8jB,GACpBE,EAAIE,WAAU,SAAAhlB,GAAE,OAAIA,IAAO4kB,EAAG5kB,OAAO,IACvC4kB,EAAGjQ,OAASA,MAGT,CAAC,QAGVsqF,EAAKQ,MAAM,6BAA6BN,OAAM,SAAAj0C,GAC5C,IAAMlrD,EAAKkrD,EAAOt5C,IAAIjG,MAAM,yBAAyB,GAC/CuV,QAvDNm+E,GAuDmCt8E,MAAK,SAAA6B,GAAE,OAAIA,EAAG5kB,MAAQA,KACzD,OAAKkhB,EAIE,CAAC,IAAKA,GAHJ,CAAC,QAMZ+9E,EAAKS,MAAM,6BAA6BP,OAAM,SAAAj0C,GAC5C,IAAMlrD,EAAKkrD,EAAOt5C,IAAIjG,MAAM,yBAAyB,GAC7CuV,EAAavgB,KAAKC,MAAMsqD,EAAO/oD,MAA/B+e,SACFrd,QAlENw7F,GAkEgCr6E,WAAU,SAAAJ,GAAE,OAAIA,EAAG5kB,MAAQA,KAC3D,OAAK6D,SAnELw7F,GAuEkBx7F,GAAlB,eAAgCqd,GACzB,CAAC,MAJC,CAAC,QAOZ+9E,EAAK31E,SAAS,6BAA6B61E,OAAM,SAAAj0C,GAC/C,IAAMlrD,EAAKkrD,EAAOt5C,IAAIjG,MAAM,yBAAyB,GAC/C9H,QA7ENw7F,GA6EgCr6E,WAAU,SAAAJ,GAAE,OAAIA,EAAG5kB,MAAQA,KAE3D,YA/EAq/F,GA8EkBx6D,OAAOhhC,EAAO,IAChB,KAAXA,EACI,CAAC,KAGH,CAAC,Q,2yMChFZ,IAEI6jG,GAFE7pG,GAAU,IAAIC,IAAa,MAC3BC,GAAKC,IAAIH,IA4Pf,SAAS8pG,KACP,IAAM7iF,EAAM4iF,GAAgB/jG,KAAI,SAACihB,GAAD,OAAQA,EAAG5kB,MAE3C,OADc2K,KAAKgrB,IAAL,MAAAhrB,KAAI,YAAQma,IACX,EAGjB,SAASo7E,GAASv4F,GAChB,IAAK,IAAI/D,KAAQ+D,EACfA,EAAK/D,GAAM5D,GAAK2H,EAAK/D,GAAMJ,UACpBmE,EAAK/D,GAAMJ,GAEpB,OAAOmE,E,2yMCxQT,IAGI+/F,GAHE7pG,GAAU,IAAIC,IAAa,MAC3BC,GAAKC,IAAIH,IAiOf,SAAS8pG,KACP,IAAM7iF,EAAM4iF,GAAgB/jG,KAAI,SAACihB,GAAD,OAAQA,EAAG5kB,MAE3C,OADc2K,KAAKgrB,IAAL,MAAAhrB,KAAI,YAAQma,IACX,EAGjB,SAASo7E,GAASv4F,GAChB,IAAK,IAAI/D,KAAQ+D,EACfA,EAAK/D,GAAM5D,GAAK2H,EAAK/D,GAAMJ,UACpBmE,EAAK/D,GAAMJ,GAEpB,OAAOmE,E,2yMC7OT,IAEI+/F,GAFE7pG,GAAU,IAAIC,IAAa,MAC3BC,GAAKC,IAAIH,IAmQf,SAAS8pG,KACP,IAAM7iF,EAAM4iF,GAAgB/jG,KAAI,SAACihB,GAAD,OAAQA,EAAG5kB,MAE3C,OADc2K,KAAKgrB,IAAL,MAAAhrB,KAAI,YAAQma,IACX,EAGjB,SAASo7E,GAASv4F,GAChB,IAAK,IAAI/D,KAAQ+D,EACfA,EAAK/D,GAAM5D,GAAK2H,EAAK/D,GAAMJ,UACpBmE,EAAK/D,GAAMJ,GAEpB,OAAOmE,E,2yMChRT,IAEIsgG,GAFEpqG,GAAU,IAAIC,IAAa,MAC3BC,GAAKC,IAAIH,IA0Sf,SAASqiG,GAASv4F,GAChB,IAAK,IAAI/D,KAAQ+D,EACfA,EAAK/D,GAAM5D,GAAK2H,EAAK/D,GAAMJ,UACpBmE,EAAK/D,GAAMJ,GAEpB,OAAOmE,E,2yMChTT,IAEI+/F,GAFE7pG,GAAU,IAAIC,IAAa,MAC3BC,GAAKC,IAAIH,IAkOf,SAAS8pG,KACP,IAAM7iF,EAAM4iF,GAAgB/jG,KAAI,SAACihB,GAAD,OAAQA,EAAG5kB,MAE3C,OADc2K,KAAKgrB,IAAL,MAAAhrB,KAAI,YAAQma,IACX,EAGjB,SAASo7E,GAASv4F,GAChB,IAAK,IAAI/D,KAAQ+D,EACfA,EAAK/D,GAAM5D,GAAK2H,EAAK/D,GAAMJ,UACpBmE,EAAK/D,GAAMJ,GAEpB,OAAOmE,E,2yMC9OT,IAEIsgG,GAFEpqG,GAAU,IAAIC,IAAa,MAC3BC,GAAKC,IAAIH,IAoSf,SAASqiG,GAASv4F,GAChB,IAAK,IAAI/D,KAAQ+D,EACfA,EAAK/D,GAAM5D,GAAK2H,EAAK/D,GAAMJ,UACpBmE,EAAK/D,GAAMJ,GAEpB,OAAOmE,E,IC7SYk2F,G,0FASnB,SAAWC,EAAWC,GAAuC,IAAzBC,EAAwB,uDAAJ,GAElDC,EAAiBt/E,KAAKu/E,cACxBJ,EACAC,EAAa5uF,OACb6uF,GAKED,EAAarvE,YACfuvE,EAAiBt/E,KAAKw/E,UACpBF,EACAF,EAAarvE,UACbqvE,EAAatvE,YAOjB,IAAME,EAAaovE,EAAapvE,WAAa,EACvCnL,EAAay6E,EAAex1F,OAQ5B41F,GAP0BN,EAAanvE,SAOxB,CACnBnL,SAAUw6E,EACVz6E,WAAYA,EACZ86E,aAAc,KAEhB,OAAOD,I,uBAST,SAAUE,GAAsD,IAAtCC,EAAqC,uDAAxB,GAAIC,EAAoB,uDAAP,MACtD,IAAKD,EACH,OAAOD,EAeT,OAXSA,EAAejyF,MAAK,SAACnD,EAAGtE,GAC/B,OAAIsE,EAAEq1F,GAAc35F,EAAE25F,GACE,QAAfC,GAAwB,EAAI,EAGjCt1F,EAAEq1F,GAAc35F,EAAE25F,GACE,QAAfC,EAAuB,GAAK,EAG9B,O,2BAYX,SAAcF,EAAgBG,GAAoC,IAAzBV,EAAwB,uDAAJ,GACrDjvF,EAAS,GACX4vF,EAAe,GACbC,EAAU,GACZC,EAAe,GACfC,GAAW,EA+Cf,OA7CAd,EAAkBl9F,SAAQ,SAAC8C,GACrBA,KAAQ86F,IACVH,EAAez9F,SAAQ,SAACiP,EAASlM,GAC3BkM,EAAQnM,KAAU86F,EAAU96F,IAC9Bi7F,EAAan2F,KAAK7E,MAGtBg7F,EAAa/9F,SAAQ,SAACiP,GACpB4uF,EAAaj2F,KAAK61F,EAAexuF,OAEnCwuF,EAAiBI,EAAat9F,MAAM,GACpCs9F,EAAe,GAAGt9F,MAAM,GACxBw9F,EAAe,GAAGx9F,MAAM,OAI5BL,OAAOC,KAAKy9F,GAAW59F,SAAQ,SAACoG,GAC9B,IAAMorB,EAAaosE,EAAUx3F,GAC1Bd,WACAkJ,OACAR,cACH,GAAI5H,IAAQ82F,EAAkBhuF,MAAK,SAACd,GAAD,OAAOA,IAAMhI,MAAQorB,EAAY,CAClEwsE,GAAW,EACX,IACEP,EAAez9F,SAAQ,SAACiP,EAASlM,IACX,GAAhBkM,EAAQ7I,KAAe6I,EAAQ7I,GAAO,SACtC6I,EAAQ7I,IAA0B,IAAjB6I,EAAQ7I,IAA6B,MAAforB,KAC5BviB,EAAQ7I,GAClBd,WACAkJ,OACAR,cAEI0G,QAAQ8c,IAAe,IACA,IAA5BssE,EAAQppF,QAAQ3R,IAEhB+6F,EAAQl2F,KAAK7E,OAInB,MAAOk7F,GACP/7F,QAAQC,IAAI87F,EAAI73F,EAAKorB,QAKtBwsE,GAILF,EAAQ99F,SAAQ,SAACk4B,GACfjqB,EAAOrG,KAAK61F,EAAevlE,OAGtBjqB,GAPEwvF,M,gzMChIb,IAAM1gG,GAAU,IAAIC,IAAa,MAC3BC,GAAKC,IAAIH,IAETuxF,GAAS,UACT0f,GAAO,SAETpH,GAAkB,GA4atB,SAASxH,GAASv4F,GAChB,IAAK,IAAI/D,KAAQ+D,EACfA,EAAK/D,GAAM5D,GAAK2H,EAAK/D,GAAMJ,UACpBmE,EAAK/D,GAAMJ,GAEpB,OAAOmE,E,2yMCxbT,IAEI03F,GAFExhG,GAAU,IAAIC,IAAa,MAC3BC,GAAKC,IAAIH,IAwVf,SAASqiG,GAASv4F,GAChB,IAAK,IAAI/D,KAAQ+D,EACfA,EAAK/D,GAAM5D,GAAK2H,EAAK/D,GAAMJ,UACpBmE,EAAK/D,GAAMJ,GAEpB,OAAOmE,E,2yMC9VT,IAEI03F,GAFExhG,GAAU,IAAIC,IAAa,MAC3BC,GAAKC,IAAIH,IAgRf,SAASyhG,KACP,IAAMx6E,EAAMu6E,GAAkB17F,KAAI,SAACihB,GAAD,OAAQA,EAAG5kB,MAE7C,OADc2K,KAAKgrB,IAAL,MAAAhrB,KAAI,YAAQma,IACX,EAGjB,SAASo7E,GAASv4F,GAChB,IAAK,IAAI/D,KAAQ+D,EACfA,EAAK/D,GAAM5D,GAAK2H,EAAK/D,GAAMJ,UACpBmE,EAAK/D,GAAMJ,GAEpB,OAAOmE,E,2yMC5RT,IAEI03F,GAFExhG,GAAU,IAAIC,IAAa,MAC3BC,GAAKC,IAAIH,IA8ef,SAASqiG,GAASv4F,GAChB,IAAK,IAAI/D,KAAQ+D,EACfA,EAAK/D,GAAM5D,GAAK2H,EAAK/D,GAAMJ,UACpBmE,EAAK/D,GAAMJ,GAEpB,OAAOmE,E,2yMCpfT,IAEI03F,GAFExhG,GAAU,IAAIC,IAAa,MAC3BC,GAAKC,IAAIH,IA+lBf,SAASqiG,GAASv4F,GAChB,IAAK,IAAI/D,KAAQ+D,EACfA,EAAK/D,GAAM5D,GAAK2H,EAAK/D,GAAMJ,UACpBmE,EAAK/D,GAAMJ,GAEpB,OAAOmE,E,2yMCrmBT,IAEI03F,GAFExhG,GAAU,IAAIC,IAAa,MAC3BC,GAAKC,IAAIH,IAyZf,SAASyhG,KACP,IAAMx6E,EAAMu6E,GAAkB17F,KAAI,SAACihB,GAAD,OAAQA,EAAG5kB,MAE7C,OADc2K,KAAKgrB,IAAL,MAAAhrB,KAAI,YAAQma,IACX,EAGjB,SAASo7E,GAASv4F,GAChB,IAAK,IAAI/D,KAAQ+D,EACfA,EAAK/D,GAAM5D,GAAK2H,EAAK/D,GAAMJ,UACpBmE,EAAK/D,GAAMJ,GAEpB,OAAOmE,E,2yMCraT,IAEI03F,GAFExhG,GAAU,IAAIC,IAAa,MAC3BC,GAAKC,IAAIH,IAsPf,SAASyhG,KACP,IAAMx6E,EAAMu6E,GAAkB17F,KAAI,SAACihB,GAAD,OAAQA,EAAG5kB,MAE7C,OADc2K,KAAKgrB,IAAL,MAAAhrB,KAAI,YAAQma,IACX,EAEjB,SAASo7E,GAASv4F,GAChB,IAAK,IAAI/D,KAAQ+D,EACfA,EAAK/D,GAAM5D,GAAK2H,EAAK/D,GAAMJ,UACpBmE,EAAK/D,GAAMJ,GAEpB,OAAOmE,E,2yMCjQT,IAGI03F,GAHExhG,GAAU,IAAIC,IAAa,MAC3BC,GAAKC,IAAIH,I,+CAGA,WAAiCohG,GAAjC,IACJjrD,EAYMsvB,EAbF,EAiDEtuB,EAjDF,EA0EEZ,EA1EF,EAmGED,EAnGF,EAkIEgsD,EAlIF,EAsJE4I,EAtJF,EA8KEgG,EA9KF,EAoMEC,EApMF,EA0NEC,EA1NF,EA+OEC,EA/OF,iHA+Ob,WAA4B/sG,GAA5B,2FACS8R,MAAMxP,OAAOyP,QAAU,mCAAoC,CAChEC,OAAQ,OACRE,QAAS,CACPiL,OAAQ,oCACRhL,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,oBAElBvV,KAAM2B,KAAKE,UAAUsB,KAEpBqS,KATI,wCASC,WAAOC,GAAP,kFACSA,EADT,mFATD,uDAYJD,MAAK,SAACM,GACL,OAAOk/B,EAAcl/B,MAEtBC,OAAM,SAACtV,GACN,OAAOu0C,EAAcv0C,OAjB3B,4CA/Oa,uBA+OEyvG,EA/OF,yFA0Nb,WAAiClvG,GAAjC,kFACeiU,MACXxP,OAAOyP,QAAU,4CAA8ClU,EAC/D,CACEmU,OAAQ,OACRE,QAAS,CACPiL,OAAQ,oCACRhL,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,sBAInBC,MAAK,SAACM,GAAD,OAASA,EAAI/N,UAClByN,MAAK,SAACM,GACL,OAAOk/B,EAAcl/B,MAEtBC,OAAM,SAACtV,GACN,OAAO,KAjBb,oFA1Na,uBA0NEwvG,EA1NF,yFAoMb,WAAiCjvG,GAAjC,kFACeiU,MACXxP,OAAOyP,QAAU,uCAAyClU,EAC1D,CACEmU,OAAQ,MACRE,QAAS,CACPiL,OAAQ,oCACRhL,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,sBAInBC,MAAK,SAACM,GAAD,OAASA,EAAI/N,UAClByN,MAAK,SAACM,GACL,OAAOA,KAERC,OAAM,SAACtV,GAEN,OADAD,YAAa,QAAS,QACf,KAlBb,oFApMa,uBAoMEwvG,EApMF,yFA8Kb,WAAkChvG,GAAlC,kFACeiU,MACXxP,OAAOyP,QAAU,oDAAsDlU,EACvE,CACEmU,OAAQ,MACRE,QAAS,CACPiL,OAAQ,oCACRhL,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,sBAInBC,MAAK,SAACM,GAAD,OAASA,EAAI/N,UAClByN,MAAK,SAACM,GACL,OAAOA,KAERC,OAAM,SAACtV,GAEN,OADAD,YAAa,QAAS,QACf,KAlBb,oFA9Ka,uBA8KEuvG,EA9KF,yFAsJb,+FACe96F,MACXxP,OAAOyP,QAAU,yCACjB,CACEC,OAAQ,MACRC,iBAAiB,EACjBC,QAAS,CACPiL,OAAQ,oCACRhL,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,sBAInBC,MAAK,SAACM,GAAD,OAASA,EAAI/N,UAClByN,MAAK,SAACM,GACL,OAAOA,KAERC,OAAM,SAACtV,GAEN,OADAD,YAAa,QAAS,QACf,KApBb,oFAtJa,uBAsJEupG,EAtJF,wFAkIb,WAA2B/oG,GAA3B,kFACeiU,MAAMxP,OAAOyP,QAAU,kBAAoBlU,EAAI,CAC1DmU,OAAQ,SACRE,QAAS,CACPiL,OAAQ,oCACRhL,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,sBAGjBC,KARU,wCAQL,WAAOC,GAAP,2FACGA,GADH,2CARK,uDAWVD,MAAK,SAACM,GACL,OAAOk/B,EAAcl/B,MAEtBC,OAAM,SAACtV,GACN,OAAOu0C,EAAcv0C,MAhB3B,oFAlIa,uBAkIE0gG,EAlIF,yFAmGb,WAAwBjsD,EAAUl0C,GAAlC,+EACMwrG,EAAYt3D,EAAQ,QAD1B,kBAESjgC,MAAMxP,OAAOyP,QAAU,6BAA+BlU,EAAI,CAC/DmU,OAAQ,MACRC,iBAAiB,EAEjBC,QAAS,CACPiL,OAAQ,oCACR,eAAgB,mBAChBhL,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,UAElBvV,KAAM2B,KAAKE,UAAU2qG,KAEpBh3F,KAZI,wCAYC,WAAOC,GAAP,qEACoB,MAApBA,EAASE,OADT,yCAEKF,EAAS1N,QAFd,uBAIW0N,EAJX,mFAZD,uDAmBJD,MAAK,SAACM,GAGL,OAFA9R,QAAQC,IAAI,OACZD,QAAQC,IAAI6R,GACLk/B,EAAcl/B,MAEtBC,OAAM,SAACtV,GACN,OAAOu0C,EAAcv0C,OA3B3B,4CAnGa,uBAmGE00C,EAnGF,2FA0Eb,WAAyBD,GAAzB,2FACSjgC,MAAMxP,OAAOyP,QAAU,4BAA6B,CACzDC,OAAQ,OACRC,iBAAiB,EACjBC,QAAS,CACPC,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,oBAElBvV,KAAM2B,KAAKE,UAAUqzC,KAEpB1/B,KATI,wCASC,WAAOC,GAAP,qEACoB,MAApBA,EAASE,OADT,yCAEKF,EAAS1N,QAFd,uBAIW0N,EAJX,mFATD,uDAgBJD,MAAK,SAACM,GACL,OAAOk/B,EAAcl/B,MAEtBC,OAAM,SAACtV,GACN,OAAOu0C,EAAcv0C,OArB3B,4CA1Ea,uBA0EE20C,EA1EF,yFAiDb,WAA0Bp0C,GAA1B,kFACeiU,MAAM,GAAD,OAAIxP,OAAOyP,QAAX,qCAA+ClU,GAAM,CACrEmU,OAAQ,MACRC,iBAAiB,EACjBC,QAAS,CACPiL,OAAQ,oCACRhL,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,sBAGjBC,KAVU,wCAUL,WAAOC,GAAP,0FACqBA,EAASE,OAD9B,cACED,EADF,gBAEeD,EAAS1N,OAFxB,cAEE5E,EAFF,yBAGGyS,QAAQC,IAAI,CAACH,EAAYvS,KAH5B,2CAVK,uDAeVqS,MAAK,SAACM,GAEL,OADAA,EAAI,GAAG9U,GAAK8U,EAAI,GAAGtR,GACZsR,EAAI,MAEZC,OAAM,SAAC5K,GACNnH,QAAQmH,MAAMA,MArBpB,oFAjDa,uBAiDE6qC,EAjDF,yFAab,WAAwB97B,EAAYi2F,EAAgB7rD,GAApD,8EACoB59C,GAAdwT,IACFA,EAAa,SAEOxT,GAAlBypG,IACFA,EAAiB,SAEHzpG,GAAZ49C,IACFA,EAAW,IARf,SAUervC,MAAM,GAAD,OACbxP,OAAOyP,QADM,gDACyCgF,EADzC,2BACsEi2F,EADtE,qBACiG7rD,GACjH,CACEnvC,OAAQ,MACRC,iBAAiB,EACjBC,QAAS,CACPiL,OAAQ,oCACRhL,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,sBAInBC,KAbU,wCAaL,WAAOC,GAAP,0FACqBA,EAASE,OAD9B,cACED,EADF,gBAEeD,EAAS1N,OAFxB,cAEE5E,EAFF,yBAGGyS,QAAQC,IAAI,CAACH,EAAYvS,KAH5B,2CAbK,uDAkBVqS,MAAK,SAACM,GACL,OAAOorF,GAASprF,EAAI,GAAJ,cAEjBC,OAAM,SAAC5K,GACNnH,QAAQmH,MAAMA,MAhCpB,oFAba,uBAaEm5D,EAbF,gDACJtvB,EADI,SACUl/B,GACrB,IAAIH,EAASG,EAAIH,OACbs/B,EAAan/B,EAAIW,QACrB,OAAe,MAAXd,GACFnV,YAAa,UAAW,YACjB,GACEsV,EAAIW,SACbjW,YAAa,QAASy0C,IACf,QAFF,GA8PTgrD,EAAKQ,MAAM,+BAA+BN,MAA1C,uBAAgD,qGAC5B4J,IAD4B,cACxCr8E,EADwC,yBAEvC,CAAC,IAAKA,IAFiC,4CAKhDuyE,EAAKC,OAAO,oCAAoCC,MAAhD,wCAAsD,WAAOh9F,GAAP,iFAChDnC,EAAKW,KAAKC,MAAMuB,EAAKA,MAAMA,KADqB,SAElC6sG,EAAkBhvG,GAFgB,cAE9C0sB,EAF8C,yBAG7C,CAAC,IAAKA,IAHuC,2CAAtD,uDAMAuyE,EAAKC,OAAO,mCAAmCC,MAA/C,wCAAqD,WAAOh9F,GAAP,+EAC/CnC,EAAKW,KAAKC,MAAMuB,EAAKA,MAAMA,KADoB,SAEjC8sG,EAAkBjvG,GAFe,uCAG5C,CAAC,MAH2C,2CAArD,uDAMAi/F,EAAKC,OAAO,kCAAkCC,MAA9C,wCAAoD,WAAOh9F,GAAP,+EAC9CA,EAAOxB,KAAKC,MAAMuB,EAAKA,MAAMA,KADiB,SAEhC+sG,EAAa/sG,GAFmB,cAE5CuqB,EAF4C,yBAG3C,CAAC,IAAKA,IAHqC,2CAApD,uDAMAuyE,EAAKC,OAAO,wCAAwCC,MAApD,wCAA0D,WAAOh9F,GAAP,iFACpDnC,EAAKW,KAAKC,MAAMuB,EAAKA,MAAMA,KADyB,SAEtC4sG,EAAmB/uG,GAFmB,cAElD0sB,EAFkD,yBAGjD,CAAC,IAAKA,IAH2C,2CAA1D,uDAMAuyE,EAAKC,OAAO,qBAAqBC,MAAjC,wCAAuC,iGAASh9F,EAAT,EAASA,KAAT,EACjBxB,KAAKC,MAAMuB,GAAvBi6C,EAD6B,EAC7BA,QAD6B,SAEfhI,EAAUgI,GAFK,qBAGrCh+C,SAASsR,eAAe,iBAAiBinB,QACzC0oE,GAAkB32F,KAAK0zC,GAJc,kBAK9B,CAAC,IAAK,CAAEl7B,SAAUk7B,KALY,2CAAvC,uDAQA6iD,EAAKC,OAAO,0BAA0BC,MAAtC,wCAA4C,WAAOj0C,GAAP,uFACpCq0C,EAAY,IAAI1B,EADoB,EAElBl9F,KAAKC,MAAMsqD,EAAO/oD,MAAlC+iB,EAFkC,EAElCA,YACF/V,EAAS+V,EAAY/V,OAHe,SAIhBm0D,EACxBn0D,EAAO+J,WACP/J,EAAOggG,eACPhgG,EAAOm0C,UAPiC,cAI1C+7C,GAJ0C,OAStClwF,EAAOnP,KACTq/F,GAAoBA,GAAkBlwF,QAAO,SAACm+D,GAAD,OAC3ClsE,OAAOksE,EAAKttE,IAAIuP,SAASnO,OAAO+N,EAAOnP,SAGvCmP,EAAOggG,iBACT9P,GAAoBA,GAAkBlwF,QAAO,SAACm+D,GAAD,OAC3ClsE,OAAOksE,EAAK6hC,gBAAgB5/F,SAASnO,OAAO+N,EAAOggG,qBAGnDhgG,EAAOm0C,WACT+7C,GAAoBA,GAAkBlwF,QAAO,SAACm+D,GAAD,OAC3ClsE,OAAOksE,EAAKhqB,UAAU/zC,SAASnO,OAAO+N,EAAOm0C,sBAG1Cp+B,EAAY/V,OAAO+J,kBACnBgM,EAAY/V,OAAOggG,sBACnBjqF,EAAY/V,OAAOm0C,gBACnBp+B,EAAY/V,OAAOojB,YACpB8tE,EAAmBd,EAAUC,WACjCH,GACAn6E,GA9BwC,kBAgCnC,CAAC,IAAKm7E,IAhC6B,4CAA5C,uDAmCApB,EAAKC,OAAO,qCAAqCC,MAAjD,wCAAuD,WAAOj0C,GAAP,iFACrCvqD,KAAKC,MAAMsqD,EAAO/oD,MADmB,EAC7C2iB,IACJhkB,SAAQ,SAACd,GACX,IAAM6D,EAAQw7F,GAAkBr6E,WAAU,SAACJ,GAAD,OAAQA,EAAG5kB,KAAOA,KACxD6D,GAAS,GACXw7F,GAAkBx6D,OAAOhhC,EAAO,MALiB,kBAQ9C,CAAC,MAR6C,2CAAvD,uDAWAo7F,EACGC,OAAO,8CACPC,MAFH,wCAES,WAAOj0C,GAAP,qFACmBvqD,KAAKC,MAAMsqD,EAAO/oD,MAAlC2iB,EADH,EACGA,IAAKnQ,EADR,EACQA,OACb0qF,GAAkBv+F,SAAQ,SAAC8jB,GACrBE,EAAIE,WAAU,SAAChlB,GAAD,OAAQA,IAAO4kB,EAAG5kB,OAAO,IACzC4kB,EAAGjQ,OAASA,MAJX,kBAOE,CAAC,MAPH,2CAFT,uDAYAsqF,EAAKQ,MAAM,2BAA2BN,MAAtC,wCAA4C,WAAOj0C,GAAP,iFACpClrD,EAAKkrD,EAAOt5C,IAAIjG,MAAM,6BAA6B,GADf,SAEnBqpC,EAAWh1C,GAFQ,UAEpCkhB,EAFoC,gDAIjC,CAAC,MAJgC,gCAMnC,CAAC,IAAKA,IAN6B,2CAA5C,uDASA+9E,EAAKS,MAAM,2BAA2BP,MAAtC,wCAA4C,WAAOj0C,GAAP,qFACpClrD,EAAKkrD,EAAOt5C,IAAIjG,MAAM,6BAA6B,GACnD20F,EAAc3/F,KAAKC,MAAMsqD,EAAO/oD,MAC9B+e,EAAao/E,EAAbp/E,SAHkC,SAIvBizB,EAASmsD,EAAatgG,GAJC,0DAMjC,CAAC,MANgC,WAS3B,KADT6D,EAAQw7F,GAAkBr6E,WAAU,SAACJ,GAAD,OAAQA,EAAG5kB,MAAQA,MARnB,0CAUjC,CAAC,MAVgC,eAY1Cq/F,GAAkBx7F,GAAlB,eAAgCqd,GAZU,kBAanC,CAAC,MAbkC,4CAA5C,uDAgBA+9E,EAAK31E,SAAS,2BAA2B61E,MAAzC,wCAA+C,WAAOj0C,GAAP,6EACvClrD,EAAKkrD,EAAOt5C,IAAIjG,MAAM,6BAA6B,IAE1C,KADT9H,EAAQw7F,GAAkBr6E,WAAU,SAACJ,GAAD,OAAQA,EAAG5kB,MAAQA,MAFhB,yCAIpC,CAAC,MAJmC,uBAMvBmgG,EAAYngG,GANW,0DAQpC,CAAC,MARmC,cAU7Cq/F,GAAkBx6D,OAAOhhC,EAAO,GAVa,kBAWtC,CAAC,MAXqC,4CAA/C,uDA7Xa,6C,sBA4Yf,SAASq8F,GAASv4F,GAChB,IAAK,IAAI/D,KAAQ+D,EACfA,EAAK/D,GAAM5D,GAAK2H,EAAK/D,GAAMJ,UACpBmE,EAAK/D,GAAMJ,GAEpB,OAAOmE,E,2yMCrZT,IAEIy/F,GACAgI,GAHEvxG,GAAU,IAAIC,IAAa,MAC3BC,GAAKC,IAAIH,IA+ef,SAASqiG,GAASv4F,GAChB,IAAK,IAAI/D,KAAQ+D,EACfA,EAAK/D,GAAM5D,GAAK2H,EAAK/D,GAAMJ,UACpBmE,EAAK/D,GAAMJ,GAEpB,OAAOmE,ECzfM,QACb,CACE3H,GAAI,EACJmuE,SAAS,GACTkhC,eAAe,GACfC,YAAY,K,2yMCDhB,IAEIlI,GAFEvpG,GAAU,IAAIC,IAAa,MAC3BC,GAAKC,IAAIH,I,SAGA0xG,G,kFAAf,WAA0BvvG,GAA1B,kFACeiU,MAAMxP,OAAOyP,QAAS,uBAAuBlU,EAAI,CAC5DmU,OAAQ,MACRE,QAAS,CACPC,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C+K,OAAQ,oCACR,eAAgB,sBAGjB9K,KARU,wCAQL,WAAOC,GAAP,iFACEC,EAAaD,EAASE,OADxB,SAEeF,EAAS1N,OAFxB,cAEE5E,EAFF,yBAGGyS,QAAQC,IAAI,CAACH,EAAYvS,EAAKqtG,gBAHjC,2CARK,uDAaVh7F,MAAK,SAACM,GACL,OAAOorF,GAASprF,EAAI,OAErBC,OAAM,SAAC5K,GACNnH,QAAQmH,MAAMA,MAlBpB,oF,+BAqBeslG,G,wFAAf,WAA8Bh6E,EAAW48B,EAAeC,EAAiBo9C,GAAzE,qFACMx9C,EAAW,IAAIC,SACnBu9C,EAAc/rG,KAAI,SAACgsG,GACjBz9C,EAAS/8C,OAAO,OAAQw6F,EAAMA,EAAK/pG,SAIjCwP,EAAiB,CACnBjB,OAAQ,OACRC,iBAAiB,EACjBC,QAAS,CACPC,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,UAElBvV,KAAMkzD,GAdV,SAgBuBj+C,MAAM,UAAGxP,OAAOyP,QAAV,uCAAyDuhB,EAAY,kBAAoB48B,EAAgB,qBAAuBC,EAAkBl9C,GAhB/K,cAgBMX,EAhBN,gBAiBmBA,EAAS1N,OAjB5B,cAiBM5E,EAjBN,yBAkBSA,GAlBT,6C,+BAoBeytG,G,kFAAf,WAA+B5vG,GAA/B,kFACeiU,MAAMxP,OAAOyP,QAAQ,+BAAiClU,EAAI,CACrEmU,OAAQ,SACRE,QAAS,CACPiL,OAAQ,oCACR,eAAgB,sBAGjB9K,KAPU,wCAOL,WAAOC,GAAP,2FACGA,GADH,2CAPK,uDAUVD,MAAK,SAACM,OAENC,OAAM,SAACtV,OAbZ,oF,sBAuHA,SAASkoG,KACP,IAAM7iF,EAAM+qF,GAAqBlsG,KAAI,SAAAihB,GAAE,OAAIA,EAAG5kB,MAE9C,OADc2K,KAAKgrB,IAAL,MAAAhrB,KAAI,YAAQma,IACX,EAEjB,SAASo7E,GAASv4F,GAChB,IAAK,IAAI/D,KAAQ+D,EACfA,EAAK/D,GAAM5D,GAAK2H,EAAK/D,GAAMJ,UACpBmE,EAAK/D,GAAMJ,GAEpB,OAAOmE,EClLM,QACb,CACE3H,GAAI,EACJi9E,QAAQ,GACR1rE,MAAM,GACNu+F,iBAAiB,GACjBC,YAAY,GACZC,SAAS,GACTC,WAAW,GACXC,YAAY,GACZzrE,IAAI,GACJX,MAAM,K,2yMCPV,IAEIsjE,GAFEvpG,GAAU,IAAIC,IAAa,MAC3BC,GAAKC,IAAIH,I,SAGA0xG,G,kFAAf,WAA0BvvG,GAA1B,kFACeiU,MAAMxP,OAAOyP,QAAS,uBAAuBlU,EAAI,CAC5DmU,OAAQ,MACRE,QAAS,CACPC,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C+K,OAAQ,oCACR,eAAgB,sBAGjB9K,KARU,wCAQL,WAAOC,GAAP,iFACEC,EAAaD,EAASE,OADxB,SAEeF,EAAS1N,OAFxB,cAEE5E,EAFF,yBAGGyS,QAAQC,IAAI,CAACH,EAAYvS,EAAKyhC,YAHjC,2CARK,uDAaVpvB,MAAK,SAACM,GACL,OAAOorF,GAASprF,EAAI,OAErBC,OAAM,SAAC5K,GACNnH,QAAQmH,MAAMA,MAlBpB,oF,+BAqBegmG,G,kFAAf,WAAkC1I,GAAlC,2FACSxzF,MAAMxP,OAAOyP,QAAS,+BAAgC,CAC3DC,OAAQ,OACRE,QAAS,CACPC,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C+K,OAAQ,oCACR,eAAgB,oBAElBtgB,KAAM2B,KAAKE,UAAU4mG,KAEpBjzF,KATI,wCASC,WAAOC,GAAP,kFACSA,EADT,mFATD,uDAYJD,MAAK,SAACM,OAENC,OAAM,SAACtV,QAfZ,4C,+BAkBe2wG,G,kFAAf,WAA0BpwG,GAA1B,kFACeiU,MAAMxP,OAAOyP,QAAQ,gCAAkClU,EAAI,CACtEmU,OAAQ,MACRE,QAAS,CACPC,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C+K,OAAQ,oCACR,eAAgB,sBAGjB9K,MAAK,SAACM,GAAD,OAASA,EAAI/N,UAClByN,MAAK,SAACM,GAEL,OAAOA,KAERC,OAAM,SAACtV,GAEN,OADAD,aAAa,QAAS,QACf,KAhBb,oF,+BAoBe6wG,G,kFAAf,WAAiCrwG,GAAjC,kFACeiU,MAAMxP,OAAOyP,QAAQ,gCAAkClU,EAAI,CACtEmU,OAAQ,SACRE,QAAS,CACPC,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C+K,OAAQ,oCACR,eAAgB,sBAGjB9K,KARU,wCAQL,WAAOC,GAAP,2FACGA,GADH,2CARK,uDAWVD,MAAK,SAACM,OAENC,OAAM,SAACtV,OAdZ,oF,qEAiBA,WAAiCy0C,EAAUl0C,GAA3C,2FACSiU,MAAMxP,OAAOyP,QAAQ,gCAAkClU,EAAI,CAChEmU,OAAQ,MACRE,QAAS,CACPC,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C+K,OAAQ,oCACR,eAAgB,oBAElBtgB,KAAM2B,KAAKE,UAAUqzC,KAEpB1/B,KATI,wCASC,WAAOC,GAAP,kFACSA,EADT,mFATD,uDAYJD,MAAK,SAACM,OAENC,OAAM,SAACtV,QAfZ,4C,sBAmBe,SAAS6wG,GAAuBrR,GAC7CA,EAAKC,OAAO,0BAA0BC,MAAtC,wCAA4C,qKAAQh9F,EAAR,EAAQA,KAAR,EAEvBxB,KAAKC,MAAMuB,GAAtB+qD,EAFkC,EAElCA,OACFqjD,EAAOrjD,EAAO8uC,MAHsB,EAqBtC9uC,EAhBFz3B,iBALwC,MAK9B86E,EAL8B,IAqBtCrjD,EAfFxW,mBANwC,MAM5B,GAN4B,IAqBtCwW,EAdF37C,aAPwC,MAOlC,GAPkC,IAqBtC27C,EAbFsjD,qBARwC,MAQ1B,EAR0B,IAqBtCtjD,EAZF4iD,wBATwC,MASvB,GATuB,IAqBtC5iD,EAXFppB,aAVwC,MAUlC,GAVkC,IAqBtCopB,EAVF8iD,gBAXwC,MAW/B,GAX+B,IAqBtC9iD,EATF+iD,kBAZwC,MAY7B,GAZ6B,IAqBtC/iD,EARFgjD,mBAbwC,MAa5B,GAb4B,IAqBtChjD,EAPFzoB,WAdwC,MAcpC,GAdoC,IAqBtCyoB,EANFvnB,gBAfwC,MAe/B,GAf+B,IAqBtCunB,EALFtnB,gBAhBwC,MAgB/B,GAhB+B,IAqBtCsnB,EAJFp9B,YAjBwC,MAiBnC,GAjBmC,IAqBtCo9B,EAHFrgC,aAlBwC,MAkBlC,GAlBkC,IAqBtCqgC,EAFFzW,kBAnBwC,MAmB7B,GAnB6B,IAqBtCyW,EADF/mB,eApBwC,MAoBhC,GApBgC,EAsB/BwhE,KACLF,EAAY,CAChBhyE,YACAihB,cACAnlC,QACAi/F,gBACAV,mBACAhsE,QACAksE,WACAC,aACAC,cACAzrE,MACAkB,WACAC,WACA9V,OACAjD,QACA4pB,aACAtQ,WAvCwC,SAyCTgqE,GAAmB1I,GAzCV,qBA0C1CgJ,GAA4B/nG,KAAK++F,GA1CS,kBA2CnC,CAAC,IAAK,CAAEv6C,OAAQu6C,KA3CmB,4CAA5C,uDA8CAxI,EAAKC,OAAO,oCAAoCC,MAAhD,wCAAsD,WAAMj0C,GAAN,2FAC9CqlD,EAAOrlD,EAAOt5C,IAAI5J,MAAM,KACxBhI,EAAKuwG,EAAK,GAFoC,SAG9BhB,GAAWvvG,GAHmB,cAG9Co8C,EAH8C,OAIpDgrD,GAAehrD,EACTmjD,EAAY,IAAI1B,EAL8B,EAM5Bl9F,KAAKC,MAAMsqD,EAAO/oD,MAAlC+iB,EAN4C,EAM5CA,YACFwrF,EAAiBnR,EAAUC,WAAW4H,GAAcliF,GAPN,kBAQ7C,CAAC,IAAKwrF,IARuC,4CAAtD,uDAWAzR,EAAKC,OAAO,wCAAwCC,OAAM,SAAAj0C,GAQxD,OAPgBvqD,KAAKC,MAAMsqD,EAAO/oD,MAA1B2iB,IACJhkB,SAAQ,SAAAd,GACV,IAAM6D,EAAQ4sG,GAA4BzrF,WAAU,SAAAJ,GAAE,OAAIA,EAAG5kB,KAAOA,KAChE6D,GAAS,GACX4sG,GAA4B5rE,OAAOhhC,EAAO,MAGvC,CAAC,QAGVo7F,EAAKQ,MAAM,gCAAgCN,MAA3C,wCAAiD,WAAMj0C,GAAN,iFAEzClrD,EAAKkrD,EAAOt5C,IAAIjG,MAAM,kCAAkC,GAFf,SAG1BykG,GAAWpwG,GAHe,UAGzCktD,EAHyC,gDAKtC,CAAC,MALqC,gCAQxC,CAAC,IAAKA,IARkC,2CAAjD,uDAWA+xC,EAAKS,MAAM,gCAAgCP,OAAM,SAAAj0C,GAC/C,IAAMlrD,EAAKkrD,EAAOt5C,IAAIjG,MAAM,kCAAkC,GACtDuhD,EAAWvsD,KAAKC,MAAMsqD,EAAO/oD,MAA7B+qD,OAEFrpD,G,uCADI8sG,CAAkBzjD,EAAOltD,GACrBywG,GAA4BzrF,WAAU,SAAAJ,GAAE,OAAIA,EAAG5kB,MAAQA,MACrE,OAAK6D,GAIL4sG,GAA4B5sG,GAA5B,eAA0CqpD,GACnC,CAAC,MAJC,CAAC,QAOZ+xC,EAAK31E,SAAS,gCAAgC61E,MAA9C,wCAAoD,WAAMj0C,GAAN,iFAE5ClrD,EAAKkrD,EAAOt5C,IAAIjG,MAAM,kCAAkC,GAFZ,SAGlB0kG,GAAkBrwG,GAHA,0DAIjB,CAAC,MAJgB,UAK5C6D,EAAQ4sG,GAA4BzrF,WAAU,SAAAJ,GAAE,OAAIA,EAAG5kB,MAAQA,KACrEywG,GAA4B5rE,OAAOhhC,EAAO,IAC1B,KAAXA,EAP6C,0CAQzC,CAAC,MARwC,iCAW3C,CAAC,MAX0C,4CAApD,uDAeF,SAAS8jG,KACP,IAAM7iF,EAAM2rF,GAA4B9sG,KAAI,SAAAihB,GAAE,OAAIA,EAAG5kB,MAErD,OADc2K,KAAKgrB,IAAL,MAAAhrB,KAAI,YAAQma,IACX,EAEjB,SAASo7E,GAASv4F,GAChB,IAAK,IAAI/D,KAAQ+D,EACfA,EAAK/D,GAAM5D,GAAK2H,EAAK/D,GAAMJ,UACpBmE,EAAK/D,GAAMJ,GAEpB,OAAOmE,EC7NM,QACb,CACE3H,GAAI,EACJ4qB,YAAY,GACZgmF,cAAc,GACdC,aAAa,GACbC,WAAW,GACXC,cAAc,GACdC,eAAe,GACfC,cAAc,GACdC,gBAAgB,GAChB9vE,MAAM,K,2yMCPV,IAEIgmE,GAFEvpG,GAAU,IAAIC,IAAa,MAC3BC,GAAKC,IAAIH,I,SAGA0xG,G,kFAAf,WAA0BvvG,GAA1B,kFACeiU,MAAMxP,OAAOyP,QAAU,uBAAyBlU,EAAI,CAC/DmU,OAAQ,MACRE,QAAS,CACPC,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C+K,OAAQ,oCACR,eAAgB,sBAGjB9K,KARU,wCAQL,WAAOC,GAAP,iFACEC,EAAaD,EAASE,OADxB,SAEeF,EAAS1N,OAFxB,cAEE5E,EAFF,yBAGGyS,QAAQC,IAAI,CAACH,EAAYvS,EAAKgvG,cAHjC,2CARK,uDAaV38F,MAAK,SAACM,GACL,OAAOorF,GAASprF,EAAI,OAErBC,OAAM,SAAC5K,GACNnH,QAAQmH,MAAMA,MAlBpB,oF,+BAsBeinG,G,kFAAf,WAAoC3J,GAApC,mFACMryF,EAAiB,CACnBjB,OAAQ,OACRE,QAAS,CACPC,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C+K,OAAQ,oCACR,eAAgB,oBAElBtgB,KAAM2B,KAAKE,UAAU4mG,GACrBpyF,SAAU,UATd,SAWuBpB,MAAMxP,OAAOyP,QAAU,iCAAkCkB,GAXhF,cAWMX,EAXN,gBAYmBA,EAAS1N,OAZ5B,cAYM5E,EAZN,yBAaSA,GAbT,4C,+BAeekvG,G,kFAAf,WAAwBrxG,GAAxB,kFACeiU,MAAMxP,OAAOyP,QAAU,kCAAoClU,EAAI,CAC1EmU,OAAQ,MACRE,QAAS,CACPC,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C+K,OAAQ,oCACR,eAAgB,sBAGjB9K,MAAK,SAACM,GAAD,OAASA,EAAI/N,UAClByN,MAAK,SAACM,GAEL,OAAOA,KAERC,OAAM,SAACtV,GAEN,OADAD,aAAa,QAAS,QACf,KAhBb,oF,+BAmBeowG,G,kFAAf,WAA+B5vG,GAA/B,kFACeiU,MAAMxP,OAAOyP,QAAU,kCAAoClU,EAAI,CAC1EmU,OAAQ,SACRE,QAAS,CACPC,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C+K,OAAQ,oCACR,eAAgB,sBAGjB9K,KARU,wCAQL,WAAOC,GAAP,2FACGA,GADH,2CARK,uDAWVD,MAAK,SAACM,OAENC,OAAM,SAACtV,OAdZ,oF,+BAiBekxG,G,oFAAf,WAAiCz8D,EAAUl0C,GAA3C,+EACQy1B,EAAYhxB,OAAOu0C,SAASq+B,SAASrvE,MAAM,KAAK,GAEtDksC,EAASze,UAAYA,EAHvB,kBAISxhB,MAAMxP,OAAOyP,QAAU,kCAAoClU,EAAI,CACpEmU,OAAQ,MACRE,QAAS,CACPC,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C+K,OAAQ,oCACR,eAAgB,oBAElBtgB,KAAM2B,KAAKE,UAAUqzC,KAEpB1/B,KATI,wCASC,WAAOC,GAAP,kFACSA,EADT,mFATD,uDAYJD,MAAK,SAACM,OAENC,OAAM,SAACtV,QAlBZ,4C,sBAkMA,SAASygG,GAASv4F,GAChB,IAAK,IAAI/D,KAAQ+D,EACfA,EAAK/D,GAAM5D,GAAK2H,EAAK/D,GAAMJ,UACpBmE,EAAK/D,GAAMJ,GAEpB,OAAOmE,E,2yMCpRT,IAEI03F,GAFExhG,GAAU,IAAIC,IAAa,MAC3BC,GAAKC,IAAIH,IAwQf,SAASqiG,GAASv4F,GAChB,IAAK,IAAI/D,KAAQ+D,EACfA,EAAK/D,GAAM5D,GAAK2H,EAAK/D,GAAMJ,UACpBmE,EAAK/D,GAAMJ,GAEpB,OAAOmE,E,2yMC7QT,IAEI03F,GAFExhG,GAAU,IAAIC,IAAa,MAC3BC,GAAKC,IAAIH,I,+CAEA,WAA+BohG,GAA/B,IACJjrD,EAYM+4D,EAbF,EAmCElzD,EAnCF,EA0DEy3D,EA1DF,EAiFEC,EAjFF,EA2GEC,EA3GF,EAqIEC,EArIF,EA2JEC,EA3JF,iHA2Jb,WAAmClsF,EAAY2mB,GAA/C,kFACel4B,MACXxP,OAAOyP,QAAU,qBAAuBsR,EAAa,IAAM2mB,EAC3D,CACEh4B,OAAQ,MACRC,iBAAiB,EACjBC,QAAS,CACPC,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,sBAInBC,KAZU,wCAYL,WAAOC,GAAP,iFACEC,EAAaD,EAASE,OADxB,SAEeF,EAAS1N,OAFxB,cAEE5E,EAFF,yBAGGyS,QAAQC,IAAI,CAACH,EAAYvS,KAH5B,2CAZK,uDAiBVqS,MAAK,SAACM,GACL,OAAOorF,GAASprF,EAAI,OAErBC,OAAM,SAAC5K,GACNnH,QAAQmH,MAAMA,MAtBpB,oFA3Ja,uBA2JEunG,EA3JF,2FAqIb,WAAsC1xG,GAAtC,kFACeiU,MAAMxP,OAAOyP,QAAU,qBAAuBlU,EAAI,CAC7DmU,OAAQ,SACRC,iBAAiB,EACjBC,QAAS,CACPiL,OAAQ,oCACRhL,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,sBAGjBC,KAVU,wCAUL,WAAOC,GAAP,2FACGA,GADH,2CAVK,uDAaVD,MAAK,SAACM,GACL,OAAOk/B,EAAcl/B,MAEtBC,OAAM,SAACtV,GACN,OAAOu0C,EAAcv0C,MAlB3B,oFArIa,uBAqIEgyG,EArIF,yFA2Gb,WAAmCv9D,EAAUl0C,GAA7C,2FACSiU,MAAMxP,OAAOyP,QAAU,qBAAuBlU,EAAI,CACvDmU,OAAQ,MACRC,iBAAiB,EACjBC,QAAS,CACPiL,OAAQ,oCACRhL,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,oBAElBvV,KAAM2B,KAAKE,UAAUqzC,KAEpB1/B,KAXI,wCAWC,WAAOC,GAAP,iFACEC,EAAaD,EAASE,OAC5BlQ,OAAOkgE,eAAiBjwD,EAFpB,SAGeD,EAAS1N,OAHxB,cAGE5E,EAHF,yBAIGyS,QAAQC,IAAI,CAACH,EAAYvS,KAJ5B,2CAXD,uDAiBJqS,MAAK,SAACM,GACL,OAAOA,EAAI,MAEZC,OAAM,SAAC5K,QArBZ,4CA3Ga,uBA2GEqnG,EA3GF,2FAiFb,WAAoCt9D,GAApC,2FACSjgC,MAAMxP,OAAOyP,QAAU,oBAAqB,CACjDC,OAAQ,OACRC,iBAAiB,EACjBC,QAAS,CACPiL,OAAQ,oCACRhL,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,oBAElBvV,KAAM2B,KAAKE,UAAUqzC,KAEpB1/B,KAXI,wCAWC,WAAOC,GAAP,iFACEC,EAAaD,EAASE,OADxB,SAEeF,EAAS1N,OAFxB,cAEE5E,EAFF,OAGJsC,OAAOmiG,gBAAkBlyF,EAHrB,kBAIGE,QAAQC,IAAI,CAACH,EAAYvS,KAJ5B,2CAXD,uDAiBJqS,MAAK,SAACM,GACL,OAAOA,EAAI,MAEZC,OAAM,SAAC5K,QArBZ,4CAjFa,uBAiFEonG,EAjFF,yFA0Db,WAAuCvxG,GAAvC,kFACeiU,MAAMxP,OAAOyP,QAAU,qBAAuBlU,EAAI,CAC7DmU,OAAQ,MACRC,iBAAiB,EACjBC,QAAS,CACPC,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,sBAGjBC,KATU,wCASL,WAAOC,GAAP,iFACEC,EAAaD,EAASE,OADxB,SAEeF,EAAS1N,OAFxB,cAEE5E,EAFF,yBAGGyS,QAAQC,IAAI,CAACH,EAAYvS,KAH5B,2CATK,uDAcVqS,MAAK,SAACM,GACL,OAAOA,EAAI,MAEZC,OAAM,SAAC5K,GACNnH,QAAQmH,MAAMA,MAnBpB,oFA1Da,uBA0DEmnG,EA1DF,yFAmCb,+FACer9F,MAAMxP,OAAOyP,QAAU,aAAc,CAChDC,OAAQ,MACRC,iBAAiB,EACjBC,QAAS,CACPC,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,sBAGjBC,KATU,wCASL,WAAOC,GAAP,iFACEC,EAAaD,EAASE,OADxB,SAEeF,EAAS1N,OAFxB,cAEE5E,EAFF,yBAGGyS,QAAQC,IAAI,CAACH,EAAYvS,KAH5B,2CATK,uDAcVqS,MAAK,SAACM,GACL,OAAOorF,GAASprF,EAAI,OAErBC,OAAM,SAAC5K,GACNnH,QAAQmH,MAAMA,MAnBpB,oFAnCa,uBAmCE0vC,EAnCF,wFAab,+FACe5lC,MAAMxP,OAAOyP,QAAU,oBAAqB,CACvDC,OAAQ,MACRC,iBAAiB,EACjBC,QAAS,CACPC,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,sBAGjBC,KATU,wCASL,WAAOC,GAAP,iFACEC,EAAaD,EAASE,OADxB,SAEeF,EAAS1N,OAFxB,cAEE5E,EAFF,yBAGGyS,QAAQC,IAAI,CAACH,EAAYvS,KAH5B,2CATK,uDAcVqS,MAAK,SAACM,GACL,OAAOorF,GAASprF,EAAI,OAErBC,OAAM,SAAC5K,GACNnH,QAAQmH,MAAMA,MAnBpB,oFAba,uBAaE4iG,EAbF,2CACJ/4D,EADI,SACUl/B,GACrB,IAAIH,EAASG,EAAIH,OACbs/B,EAAan/B,EAAIm/B,WACrB,OAAe,MAAXt/B,GACFnV,YAAa,UAAW,YACjB,GACa,MAAXmV,GACTnV,YAAa,QAASy0C,IACf,QAFF,GAkLTgrD,EAAKQ,MAAM,6BAA6BN,MAAxC,uBAA8C,4FACtCzyE,EAAM,GADgC,SAEnBmtB,IAFmB,cAE5CntB,EAAG,UAFyC,yBAGrC,CAAC,IAAKA,IAH+B,4CAO9CuyE,EAAKC,OAAO,mBAAmBC,MAA/B,wCAAqC,2IAASh9F,EAAT,EAASA,KAAT,EACdxB,KAAKC,MAAMuB,GAAxB+e,EAD2B,EAC3BA,SAD2B,EAY/BA,EATFhI,kBAHiC,MAGpB,EAHoB,IAY/BgI,EARFqX,kBAJiC,WAY/BrX,EAPFmX,iBALiC,MAKrB,GALqB,IAY/BnX,EANFoX,eANiC,MAMvB,GANuB,IAY/BpX,EALFywF,mBAPiC,MAOnB,EAPmB,IAY/BzwF,EAJFyX,YARiC,MAQ1B,EAR0B,IAY/BzX,EAHFzd,YATiC,MAS1B,GAT0B,IAY/Byd,EAFF4B,YAViC,MAU1B,GAV0B,IAY/B5B,EADFrD,mBAXiC,MAWnB,GAXmB,EAa7B7d,EAAKs/F,MACLmH,EAAU,CACdzmG,KACAkZ,aACAy4F,cACAt5E,YACAC,UACAC,aACAI,OACAl1B,OACAqf,OACAjF,gBAEM8zF,YAAczwF,EAASwX,cA1BI,SA2Bd64E,EAAqB9K,GA3BP,eA6BnB/gG,IAFZghG,EA3B+B,gCA8BjClnG,YAAa,UAAW,oCACxBknG,EAAS1mG,GAAK0mG,EAASljG,GACvB67F,GAAkB32F,KAAK+9F,GACvBroG,SAASsR,eAAe,iBAAiBinB,QAjCR,kBAkC1B,CACL,IACA,CAAEzV,SAAUulF,EAAS//F,QAASggG,EAASjxF,QAASstF,SAAS,KApC1B,YAuC7B2D,EAASjxF,QAvCoB,wBAwC/BjW,YAAa,QAASknG,EAASjxF,SAC/BrX,SAASsR,eAAe,iBAAiBinB,QAzCV,kBA0CxB,CAAC,IAAK,CAAEjwB,QAASggG,EAASjxF,QAASstF,SAAS,KA1CpB,eA4C/BvjG,YAAa,QAAS,iBACtBpB,SAASsR,eAAe,iBAAiBinB,QA7CV,kBA8CxB,CAAC,IAAK,CAAEjwB,QAASggG,EAASjxF,QAASstF,SAAS,KA9CpB,4CAArC,uDAmDA9D,EAAKC,OAAO,wBAAwBC,MAApC,wCAA0C,WAAOj0C,GAAP,iFAClCq0C,EAAY,IAAI1B,EADkB,EAEhBl9F,KAAKC,MAAMsqD,EAAO/oD,OAAlC+iB,EAFgC,EAEhCA,aAEQ/V,OAAO+J,YAAc,GAAKgM,EAAY/V,OAAO+J,iBACzDxT,EAAYwf,EAAY/V,OAAO+J,YAC/B,MACAgM,EAAY/V,OAAOupB,eACnB,GAAKxT,EAAY/V,OAAOupB,oBACxBhzB,EAAYwf,EAAY/V,OAAOupB,eAC/B,KAVoC,wBAYDhzB,GAAjCwf,EAAY/V,OAAO+J,WAZe,wBAaIxT,GAApCwf,EAAY/V,OAAOupB,cAba,gCAcRg5E,EACxBxsF,EAAY/V,OAAO+J,WACnBgM,EAAY/V,OAAOupB,eAhBa,OAclC2mE,GAdkC,iBAsBJ,KAAlCn6E,EAAY/V,OAAO+J,iBACkBxT,IAArCwf,EAAY/V,OAAOupB,cAvBmB,kCAyBZq0E,IAzBY,QAyBtC1N,GAzBsC,kBA2BnCA,GA3BmC,kCA4BZ0N,IA5BY,QA4BtC1N,GA5BsC,6BA8BjCn6E,EAAY/V,OAAOojB,mBACnBrN,EAAY/V,OAAO+J,kBACnBgM,EAAY/V,OAAOupB,cACpB2nE,EAAmBd,EAAUC,WACjCH,GACAn6E,GAnCsC,kBAqCjC,CAAC,IAAKm7E,IArC2B,4CAA1C,uDAwCApB,EAAKC,OAAO,kCAAkCC,OAAM,SAACj0C,GAQnD,OAPgBvqD,KAAKC,MAAMsqD,EAAO/oD,MAA1B2iB,IACJhkB,SAAQ,SAACd,GACX,IAAM6D,EAAQw7F,GAAkBr6E,WAAU,SAACJ,GAAD,OAAQA,EAAG5kB,KAAOA,KACxD6D,GAAS,GACXw7F,GAAkBx6D,OAAOhhC,EAAO,MAG7B,CAAC,QAGVo7F,EACGC,OAAO,4CACPC,MAFH,wCAES,WAAOj0C,GAAP,qFACmBvqD,KAAKC,MAAMsqD,EAAO/oD,MAAlC2iB,EADH,EACGA,IAAKnQ,EADR,EACQA,OACb0qF,GAAkBv+F,SAAQ,SAAC8jB,GACrBE,EAAIE,WAAU,SAAChlB,GAAD,OAAQA,IAAO4kB,EAAG5kB,OAAO,IACzC4kB,EAAGjQ,OAASA,MAJX,kBAOE,CAAC,MAPH,2CAFT,uDAYAsqF,EAAKQ,MAAM,yBAAyBN,MAApC,wCAA0C,WAAOj0C,GAAP,iFAClClrD,EAAKkrD,EAAOt5C,IAAIjG,MAAM,2BAA2B,GADf,SAEjB2lG,EAAwBtxG,GAFP,UAElCkhB,EAFkC,gDAI/B,CAAC,MAJ8B,gCAMjC,CAAC,IAAKA,IAN2B,2CAA1C,uDAUA+9E,EAAKS,MAAM,yBAAyBP,MAApC,wCAA0C,WAAOj0C,GAAP,qFAClClrD,EAAKkrD,EAAOt5C,IAAIjG,MAAM,2BAA2B,GADf,EAEnBhL,KAAKC,MAAMsqD,EAAO/oD,OAA/B+e,EAFgC,EAEhCA,UACCywF,YAAczwF,EAASwX,cAC5BpzB,KAAE,eAAeY,GAAG,YACtBgb,EAASqX,YAAa,EAEtBrX,EAASqX,YAAa,EAPgB,SASrBi5E,EAAoBtwF,EAAUlhB,GATT,qBAUlC6D,EAAQw7F,GAAkBr6E,WAAU,SAACJ,GAAD,OAAQA,EAAG5kB,MAAQA,KAC7DkhB,EAASlhB,GAAKkhB,EAAS1d,GACvB67F,GAAkBx7F,GAAlB,eAAgCqd,GAChC9iB,SAASsR,eAAe,iBAAiBinB,QACzCn3B,YAAa,UAAW,WAdgB,kBAejC,CAAC,MAfgC,4CAA1C,uDAmBAy/F,EAAK31E,SAAS,yBAAyB61E,MAAvC,wCAA6C,WAAOj0C,GAAP,6EACrClrD,EAAKkrD,EAAOt5C,IAAIjG,MAAM,2BAA2B,IAExC,KADT9H,EAAQw7F,GAAkBr6E,WAAU,SAACJ,GAAD,OAAQA,EAAG5kB,MAAQA,MAFlB,yCAIlC,CAAC,MAJiC,uBAMrByxG,EAAuBzxG,GANF,0DAQlC,CAAC,MARiC,cAU3Cq/F,GAAkBx6D,OAAOhhC,EAAO,GAVW,kBAWpC,CAAC,MAXmC,4CAA7C,uDA/Ua,6C,sBA8Vf,SAASq8F,GAASv4F,GAChB,IAAK,IAAI/D,KAAQ+D,EACfA,EAAK/D,GAAM5D,GAAK2H,EAAK/D,GAAMJ,UACpBmE,EAAK/D,GAAMJ,GAEpB,OAAOmE,EAGT,SAAS23F,KACP,IAAMx6E,EAAMu6E,GAAkB17F,KAAI,SAACihB,GAAD,OAAQA,EAAG5kB,MAE7C,OADc2K,KAAKgrB,IAAL,MAAAhrB,KAAI,YAAQma,IACX,E,2yMC/WF,SAAS8sF,GAAiB3S,GACvCA,EAAKC,OAAO,oBAAoBC,OAAM,YAAe,IAAZh9F,EAAW,EAAXA,KAC/B+e,EAAavgB,KAAKC,MAAMuB,GAAxB+e,SACR,EAUIA,EATF7D,WADF,MACM,GADN,IAUI6D,EARF2wF,iBAFF,MAEY,GAFZ,IAUI3wF,EAPF4wF,WAHF,MAGO,GAHP,IAUI5wF,EANF6wF,WAJF,MAIM,GAJN,IAUI7wF,EALF8wF,WALF,MAKM,GALN,IAUI9wF,EAJF+wF,cANF,MAMS,GANT,IAUI/wF,EAHFgxF,eAPF,MAOU,GAPV,IAUIhxF,EAFF9C,gBARF,MAQW,GARX,IAUI8C,EADFixF,YATF,MASO,GATP,EAaM/S,GAiFV,WACE,IAAMt6E,QAnGJu6E,GAmG4B17F,KAAI,SAAAihB,GAAE,OAAIA,EAAG5kB,MAC7B2K,KAAKgrB,IAAL,MAAAhrB,KAAI,YAAQma,IApFbw6E,GACS,CAClBjiF,MACAw0F,YACAC,MACAC,MACAC,MACAC,SACAC,UACA9zF,WACA+zF,SAGF,YA7BA9S,GA4BkB32F,KAAK02F,GAChB,CAAC,IAAK,CAAEl+E,SAAUk+E,OAG3BH,EAAKC,OAAO,yBAAyBC,MAArC,wCAA2C,WAAOj0C,GAAP,qFACzCs+C,MAAM,WACAjK,EAAY,IAAI1B,EAFmB,EAGjBl9F,KAAKC,MAAMsqD,EAAO/oD,MAAlC+iB,EAHiC,EAGjCA,YACFm7E,EAAmBd,EAAUC,gBApCnCH,EAsCEn6E,GANuC,kBAQlC,CAAC,IAAKm7E,IAR4B,2CAA3C,uDAWApB,EAAKC,OAAO,oCAAoCC,OAAM,SAAAj0C,GAQpD,OAPgBvqD,KAAKC,MAAMsqD,EAAO/oD,MAA1B2iB,IACJhkB,SAAQ,SAAAd,GACV,IAAM6D,QA9CRw7F,GA8CkCr6E,WAAU,SAAAJ,GAAE,OAAIA,EAAG5kB,KAAOA,KACtD6D,GAAS,SA/Cfw7F,GAgDsBx6D,OAAOhhC,EAAO,MAG7B,CAAC,QAGVo7F,EAAKC,OAAO,6CAA6CC,OAAM,SAAAj0C,GAC7D,MAAwBvqD,KAAKC,MAAMsqD,EAAO/oD,MAAlC2iB,EAAR,EAAQA,IAAKnQ,EAAb,EAAaA,OAMb,YA7DA0qF,GAwDkBv+F,SAAQ,SAAA8jB,GACpBE,EAAIE,WAAU,SAAAhlB,GAAE,OAAIA,IAAO4kB,EAAG5kB,OAAO,IACvC4kB,EAAGjQ,OAASA,MAGT,CAAC,QAGVsqF,EAAKQ,MAAM,0BAA0BN,OAAM,SAAAj0C,GACzC,IAAMlrD,EAAKkrD,EAAOt5C,IAAIjG,MAAM,yBAAyB,GAC/CuV,QAlENm+E,GAkEmCt8E,MAAK,SAAA6B,GAAE,OAAIA,EAAG5kB,MAAQA,KACzD,OAAKkhB,EAIE,CAAC,IAAKA,GAHJ,CAAC,QAMZ+9E,EAAKS,MAAM,0BAA0BP,OAAM,SAAAj0C,GACzC,IAAMlrD,EAAKkrD,EAAOt5C,IAAIjG,MAAM,yBAAyB,GAC7CuV,EAAavgB,KAAKC,MAAMsqD,EAAO/oD,MAA/B+e,SACFrd,QA7ENw7F,GA6EgCr6E,WAAU,SAAAJ,GAAE,OAAIA,EAAG5kB,MAAQA,KAC3D,OAAK6D,SA9ELw7F,GAkFkBx7F,GAAlB,eAAgCqd,GACzB,CAAC,MAJC,CAAC,QAOZ+9E,EAAK31E,SAAS,0BAA0B61E,OAAM,SAAAj0C,GAC5C,IAAMlrD,EAAKkrD,EAAOt5C,IAAIjG,MAAM,yBAAyB,GAC/C9H,QAxFNw7F,GAwFgCr6E,WAAU,SAAAJ,GAAE,OAAIA,EAAG5kB,MAAQA,KAE3D,YA1FAq/F,GAyFkBx6D,OAAOhhC,EAAO,IAChB,KAAXA,EACI,CAAC,KAGH,CAAC,Q,2yMC3FZ,IAEIw7F,GAFExhG,GAAU,IAAIC,IAAa,MAC3BC,GAAKC,IAAIH,IAGA,SAASu0G,GAAiBnT,GAAO,SAC/B37B,EAD8B,6HAC7C,WACEhxC,EACA9M,EACAotC,EACAr7C,EACAE,EACAy/C,EACA+qB,EACAC,EACAC,EACA7rD,EACAghC,EACAzsD,EACAE,EACAw3E,EACAH,EACAI,EACA6vB,EACAhwB,EACAC,EACA3zD,EACAC,EACAF,EACAD,EACA6jF,GAxBF,8EA0BqB5sG,IAAf8f,IACFA,EAAa,eAAiB/gB,OAAO87E,+BAGrC97E,OAAO87E,+BACmB,iBAA1B97E,OAAO2+E,iBAEP59D,EAAa,eAAiB/gB,OAAO87E,oCAExB76E,IAAX+R,IAAsBA,EAAShT,OAAOg1D,gCAC5B/zD,IAAV68E,IAAqBA,GAAQ,QACL78E,IAAxB08E,IAAmCA,GAAsB,QAC7C18E,IAAZ88E,IAAuBA,GAAU,QACnB98E,IAAdmF,GAAyC,OAAdA,GAAoC,KAAdA,IACnDA,EACEpG,OAAO6qE,qBACPnuE,OACGwzC,KAAK,GAAI,QACTvrC,OAAO,oBAEE1D,IAAZqF,GAAqC,OAAZA,GAAgC,KAAZA,IAC/CA,EAAU5J,OAASiI,OAAO,eAExB3E,OAAOs8E,iBACTl2E,EAAY,GACZE,EAAU,SAEcrF,IAAtB2sG,IAAiCA,EAAoB,IACvC,KAAd96F,QAAkC7R,IAAd6R,IACtBA,EAAY9S,OAAOi1D,8BAAgC,SAC9Bh0D,IAAnBwxD,IAA8BA,EAAiB,QAC3BxxD,IAApBu8E,IAA+BA,EAAkB,QAC7Bv8E,IAApBw8E,IAA+BA,EAAkB,QACpCx8E,IAAby8E,IAAwBA,EAAW,SAEzBz8E,IAAZ4wB,GACqC,IAArC7xB,OAAOu6E,2BAC8B,IAArCv6E,OAAOu6E,4BAEP1oD,EAAU,SACU5wB,IAAlB4xD,IAA6BA,EAAgB,WAEjD7yD,OAAO+hF,gBACL,oBACA/hF,OAAO++E,8BACP,YACA/+E,OAAOk8E,+BACP,SACAl8E,OAAOq8E,4BACP,mBACkCp7E,IAAjCjB,OAAO0+E,uBACyB,KAAjC1+E,OAAO0+E,sBACH1+E,OAAO0+E,sBAAsBx/E,KAAI,SAACC,GAAD,OAAUA,EAAO,SACjB,KAAjCa,OAAO0+E,sBACP,MACA1+E,OAAO+7E,iCACX,cACA31E,EACA,YACAE,EACA,QACAtG,OAAOg/E,uBACP,WACAh/E,OAAOi/E,0BACP,YACAlB,EACA,aACAphF,OAAOihF,GACP,WACAjhF,OAAOkhF,GAEP79E,OAAOwhF,aAAP,wCAAuDzgE,EAAvD,qBAA8EotC,EAA9E,sBAAoGr7C,EAApG,mBAAwHE,EAAxH,2BAAiJy/C,EAAjJ,4BAAmL+qB,EAAnL,4BAAsNC,EAAtN,uBAAoPC,EAApP,qBAAyQ7rD,EAAzQ,uBAA+RghC,EAA/R,sBAA0TzsD,EAA1T,oBAA+UE,EAA/U,kBAAgWw3E,EAAhW,gCAA6XH,EAA7X,oBAA4ZI,EAA5Z,sBAAib6vB,EAAjb,qBAA+chwB,EAA/c,qBAAmeC,EAAne,uBAAwf3zD,EAAxf,0CAAoiBD,EAApiB,sBAA2jBD,EAA3jB,mBAA+kB6jF,GAA/kB,OAAslB7tG,OAAOu0C,SAAS1wC,KAAKiH,SAAS,6BAA6B,2BAA2B,IAC5qB9K,OAAOuhF,WAAP,UAAuBxgE,EAAvB,qBAA8CotC,EAA9C,sBAAoEr7C,EAApE,mBAAwFE,EAAxF,2BAAiHy/C,EAAjH,4BAAmJ+qB,EAAnJ,4BAAsLC,EAAtL,uBAAoNC,EAApN,qBAAyO7rD,EAAzO,uBAA+PghC,EAA/P,sBAA0RzsD,EAA1R,oBAA+SE,EAA/S,kBAAgUw3E,EAAhU,gCAA6VH,EAA7V,oBAA4XI,EAA5X,sBAAiZ6vB,EAAjZ,qBAA+ahwB,EAA/a,qBAAmcC,GAlGvc,UAmGeruE,MAAM,GAAD,OACbxP,OAAOyP,QADM,yCACkCsR,EADlC,qBACyDotC,EADzD,sBAC+Er7C,EAD/E,mBACmGE,EADnG,2BAC4Hy/C,EAD5H,4BAC8J+qB,EAD9J,4BACiMC,EADjM,uBAC+NC,EAD/N,qBACoP7rD,EADpP,uBAC0QghC,EAD1Q,sBACqSzsD,EADrS,oBAC0TE,EAD1T,kBAC2Uw3E,EAD3U,gCACwWH,EADxW,oBACuYI,EADvY,sBAC4Z6vB,EAD5Z,qBAC0bhwB,EAD1b,qBAC8cC,EAD9c,uBACme3zD,EADne,qBAC0fC,EAD1f,sBACghBF,EADhhB,sBACuiBD,EADviB,mBAC2jB6jF,GAD3jB,OACkkB7tG,OAAOu0C,SAAS1wC,KAAKiH,SAAS,6BAA6B,2BAA2B,IACxqB,CACE4E,OAAQ,MACRC,iBAAiB,EACjBC,QAAS,CACPiL,OAAQ,oCACRhL,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,sBAInBC,KAbU,wCAaL,WAAOC,GAAP,0FACqBA,EAASE,OAD9B,OAEJ,GAAmB,OADbD,EADF,QAGF,IACEtW,SAASsR,eAAe,WAAWinB,QACnC,MAAOl3B,GACPuD,QAAQC,IAAIxD,GANZ,gBASegV,EAAS1N,OATxB,cASE5E,EATF,yBAUGyS,QAAQC,IAAI,CAACH,EAAYvS,KAV5B,2CAbK,uDAyBVqS,MAAK,SAACM,GACL,OAAOA,EAAI,MAEZC,OAAM,SAAC5K,GACNnH,QAAQmH,MAAMA,MAhIpB,sFAD6C,+BAgK9B4+F,IAhK8B,4EAgK7C,+FACe90F,MACXxP,OAAOyP,QAAU,yCACjB,CACEC,OAAQ,MACRC,iBAAiB,EACjBC,QAAS,CACPiL,OAAQ,oCACRhL,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,sBAInBC,MAAK,SAACM,GAAD,OAASA,EAAI/N,UAClByN,MAAK,SAACM,GACL,OAAOA,KAERC,OAAM,SAACtV,GAEN,OADAD,aAAa,QAAS,QACf,KApBb,oFAhK6C,sBAyL7Cy/F,EAAKQ,MAAM,kCAAkCN,MAA7C,uBAAmD,qGAC/B4J,IAD+B,cAC3Cr8E,EAD2C,yBAE1C,CAAC,IAAKA,IAFoC,4CAUnDuyE,EAAKC,OAAO,oBAAoBC,OAAM,YAAe,IAAZh9F,EAAW,EAAXA,KAC/B+e,EAAavgB,KAAKC,MAAMuB,GAAxB+e,SACR,EAUIA,EATFzU,eADF,MACY,GADZ,IAUIyU,EARFk7C,iBAFF,MAEc,GAFd,IAUIl7C,EAPFqxF,kBAHF,MAGe,GAHf,IAUIrxF,EANFsxF,sBAJF,MAImB,GAJnB,IAUItxF,EALFqkC,YALF,MAKS,GALT,IAUIrkC,EAJFo1C,cANF,MAMW,GANX,IAUIp1C,EAHFuxF,iBAPF,MAOc,GAPd,IAUIvxF,EAFFwxF,gBARF,MAQa,GARb,IAUIxxF,EADFqe,cATF,MASW,GATX,EAaM6/D,GAmIV,WACE,IAAMt6E,EAAMu6E,GAAkB17F,KAAI,SAACihB,GAAD,OAAQA,EAAG5kB,MAC/B2K,KAAKgrB,IAAL,MAAAhrB,KAAI,YAAQma,IAtIbw6E,GACS,CAClB7yF,UACA2vD,YACAm2C,aACAC,iBACAjtD,OACA+Q,SACAm8C,YACAC,WACAnzE,WAGF,OADA8/D,GAAkB32F,KAAK02F,GAChB,CAAC,IAAK,CAAEl+E,SAAUk+E,OAG3BH,EAAKC,OAAO,yBAAyBC,MAArC,wCAA2C,WAAOj0C,GAAP,2FAEnCq0C,EAAY,IAAI1B,GAFmB,EAGjBl9F,KAAKC,MAAMsqD,EAAO/oD,MAAlC+iB,EAHiC,EAGjCA,YACFytF,EAAUztF,EAChBzgB,OAAO4hF,mBAAgB3gF,EACZ,GACX4sG,EAAO7tG,OAAO80D,gBAAkB,GAPS,SAQxB+J,EACfqvC,EAAQxjG,OAAOmjB,WACf7tB,OAAO2+E,eACP3+E,OAAOu6E,0BACPv6E,OAAOi1D,6BACPj1D,OAAOg1D,0BACPh1D,OAAO8+E,kCACPr+D,EAAY/V,OAAO8yE,gBACnB/8D,EAAY/V,OAAO+yE,gBACnBh9D,EAAY/V,OAAOgzE,SACnBj9D,EAAY/V,OAAOmnB,QACnBpR,EAAY/V,OAAOmoD,cACnB7yD,OAAO6qE,oBACPpqD,EAAY/V,OAAOpE,QACnBma,EAAY/V,OAAOozE,MACnBr9D,EAAY/V,OAAOizE,oBACnBl9D,EAAY/V,OAAOqzE,QACnB/9E,OAAO8hF,kCACgC7gF,IAAvCjB,OAAOw1D,4BAA4C,KAAOx1D,OAAOw1D,4BACjEx1D,OAAO21D,0BACPl1C,EAAYyJ,WACZzJ,EAAY0J,SACZ1J,EAAYwJ,UACZxJ,EAAYuJ,UACZ6jF,GAhCuC,cAQnC3xE,EARmC,OAkCzCl8B,OAAO+/E,kBAAoB7jD,EAAGmjB,UAC9Bu7C,GAAoBa,GAASv/D,EAAGmjB,WAChCr/C,OAAO4hF,cAAgB1lD,EAAGu0B,eAC1BzwD,OAAOquD,eAAiBnyB,EAAGmyB,eAC3B6/C,EAAQ9F,WAAalsE,EAAG4iB,WAAWC,sBAE5BmvD,EAAQxjG,OAAOojB,mBACfogF,EAAQxjG,OAAOmjB,kBACfqgF,EAAQxjG,OAAO6yE,sBACf2wB,EAAQxjG,OAAOoI,iBACfo7F,EAAQxjG,OAAO8yE,uBACf0wB,EAAQxjG,OAAO+yE,uBACfywB,EAAQxjG,OAAOgzE,gBACfwwB,EAAQxjG,OAAOmoD,qBACfq7C,EAAQxjG,OAAO+nD,sBACfy7C,EAAQxjG,OAAOozE,aACfowB,EAAQxjG,OAAOizE,2BACfuwB,EAAQxjG,OAAOqzE,eACfmwB,EAAQxjG,OAAOtE,iBACf8nG,EAAQxjG,OAAOpE,eACf4nG,EAAQxjG,OAAOuzE,cACfiwB,EAAQxjG,OAAOyjD,gBACf+/C,EAAQxjG,OAAOkzE,QAChBge,EAAmBd,EAAUC,WAAWH,GAAmBsT,GAzDxB,kBA0DlC,CAAC,IAAKtS,IA1D4B,4CAA3C,uDA6DApB,EAAKC,OAAO,oCAAoCC,OAAM,SAACj0C,GAQrD,OAPgBvqD,KAAKC,MAAMsqD,EAAO/oD,MAA1B2iB,IACJhkB,SAAQ,SAACd,GACX,IAAM6D,EAAQw7F,GAAkBr6E,WAAU,SAACJ,GAAD,OAAQA,EAAG5kB,KAAOA,KACxD6D,GAAS,GACXw7F,GAAkBx6D,OAAOhhC,EAAO,MAG7B,CAAC,QAGVo7F,EAAKC,OAAO,6CAA6CC,OAAM,SAACj0C,GAC9D,MAAwBvqD,KAAKC,MAAMsqD,EAAO/oD,MAAlC2iB,EAAR,EAAQA,IAAKnQ,EAAb,EAAaA,OAMb,OALA0qF,GAAkBv+F,SAAQ,SAAC8jB,GACrBE,EAAIE,WAAU,SAAChlB,GAAD,OAAQA,IAAO4kB,EAAG5kB,OAAO,IACzC4kB,EAAGjQ,OAASA,MAGT,CAAC,QAGVsqF,EAAKQ,MAAM,0BAA0BN,OAAM,SAACj0C,GAC1C,IAAMlrD,EAAKkrD,EAAOt5C,IAAIjG,MAAM,4BAA4B,GAClDuV,EAAWm+E,GAAkBt8E,MAAK,SAAC6B,GAAD,OAAQA,EAAG5kB,MAAQA,KAC3D,OAAKkhB,EAIE,CAAC,IAAKA,GAHJ,CAAC,QAMZ+9E,EAAKS,MAAM,0BAA0BP,OAAM,SAACj0C,GAC1C,IAAMlrD,EAAKkrD,EAAOt5C,IAAIjG,MAAM,4BAA4B,GAChDuV,EAAavgB,KAAKC,MAAMsqD,EAAO/oD,MAA/B+e,SACFrd,EAAQw7F,GAAkBr6E,WAAU,SAACJ,GAAD,OAAQA,EAAG5kB,MAAQA,KAC7D,OAAK6D,GAILw7F,GAAkBx7F,GAAlB,eAAgCqd,GACzB,CAAC,MAJC,CAAC,QAOZ+9E,EAAK31E,SAAS,0BAA0B61E,OAAM,SAACj0C,GAC7C,IAAMlrD,EAAKkrD,EAAOt5C,IAAIjG,MAAM,4BAA4B,GAClD9H,EAAQw7F,GAAkBr6E,WAAU,SAACJ,GAAD,OAAQA,EAAG5kB,MAAQA,KAE7D,OADAq/F,GAAkBx6D,OAAOhhC,EAAO,IAChB,KAAXA,EACI,CAAC,KAGH,CAAC,QASZ,SAASq8F,GAASv4F,GAChB,IAAK,IAAI/D,KAAQ+D,EACfA,EAAK/D,GAAM5D,GAAK2H,EAAK/D,GAAMJ,GAE7B,OAAOmE,E,2yMClWT,IAEI03F,GAFExhG,GAAU,IAAIC,IAAa,MAC3BC,GAAKC,IAAIH,IAGA,SAAS+0G,GAAoB3T,GAAO,SAClC37B,EADiC,6HAChD,WACEhxC,EACA9M,EACAotC,EACAr7C,EACAE,EACAy/C,EACA+qB,EACAC,EACAC,EACA7rD,EACAghC,EACAzsD,EACAE,EACAw3E,EACAH,EACAI,EACA6vB,EACAhwB,EACAC,EACA3zD,EACAC,EACAF,EACAD,EACA6jF,GAxBF,8EA0BqB5sG,IAAf8f,IACFA,EAAa,eAAiB/gB,OAAO87E,+BAGrC97E,OAAO87E,+BACmB,iBAA1B97E,OAAO2+E,iBAEP59D,EAAa,eAAiB/gB,OAAO87E,oCAExB76E,IAAX+R,IAAsBA,EAAShT,OAAOouG,mCAC5BntG,IAAV68E,IAAqBA,GAAQ,QACL78E,IAAxB08E,IAAmCA,GAAsB,QAC7C18E,IAAZ88E,IAAuBA,GAAU,QACnB98E,IAAdmF,GAAyC,OAAdA,GAAoC,KAAdA,IACnDA,EACEpG,OAAO6qE,qBACPnuE,OACGwzC,KAAK,GAAI,QACTvrC,OAAO,oBAEE1D,IAAZqF,GAAqC,OAAZA,GAAgC,KAAZA,IAC/CA,EAAU5J,OAASiI,OAAO,eAExB3E,OAAOs8E,iBACTl2E,EAAY,GACZE,EAAU,SAEcrF,IAAtB2sG,IAAiCA,EAAoB,IACvC,KAAd96F,QAAkC7R,IAAd6R,IACtBA,EAAY9S,OAAOquG,iCAAmC,SACjCptG,IAAnBwxD,IAA8BA,EAAiB,QAC3BxxD,IAApBu8E,IAA+BA,EAAkB,QAC7Bv8E,IAApBw8E,IAA+BA,EAAkB,QACpCx8E,IAAby8E,IAAwBA,EAAW,SAEzBz8E,IAAZ4wB,GACwC,IAAxC7xB,OAAOsuG,8BACiC,IAAxCtuG,OAAOsuG,8BACiC,IAAxCtuG,OAAOsuG,+BAEPz8E,EAAU,SACU5wB,IAAlB4xD,IAA6BA,EAAgB,WAEjD7yD,OAAO+hF,gBACL,oBACA/hF,OAAOuuG,iCACP,YACAvuG,OAAOwuG,kCACP,SACAxuG,OAAOyuG,+BACP,mBACkCxtG,IAAjCjB,OAAO0+E,uBACyB,KAAjC1+E,OAAO0+E,sBACH1+E,OAAO0+E,sBAAsBx/E,KAAI,SAACC,GAAD,OAAUA,EAAO,SACjB,KAAjCa,OAAO0+E,sBACP,MACA1+E,OAAO+7E,iCACX,cACA31E,EACA,YACAE,EACA,QACAtG,OAAOg/E,uBACP,WACAh/E,OAAOi/E,0BACP,YACAlB,EACA,aACAphF,OAAOihF,GACP,WACAjhF,OAAOkhF,GAET79E,OAAOwhF,aAAP,wCAAuDzgE,EAAvD,qBAA8EotC,EAA9E,sBAAoGr7C,EAApG,mBAAwHE,EAAxH,2BAAiJy/C,EAAjJ,4BAAmL+qB,EAAnL,4BAAsNC,EAAtN,uBAAoPC,EAApP,qBAAyQ7rD,EAAzQ,uBAA+RghC,EAA/R,sBAA0TzsD,EAA1T,oBAA+UE,EAA/U,kBAAgWw3E,EAAhW,gCAA6XH,EAA7X,oBAA4ZI,EAA5Z,sBAAib6vB,EAAjb,qBAA+chwB,EAA/c,qBAAmeC,EAAne,uBAAwf3zD,EAAxf,0CAAoiBD,EAApiB,sBAA2jBD,EAA3jB,mBAA+kB6jF,GAA/kB,OAAslB7tG,OAAOu0C,SAAS1wC,KAAKiH,SAAS,6BAA6B,2BAA2B,IAlG9qB,UAmGe0E,MAAM,GAAD,OACbxP,OAAOyP,QADM,yCACkCsR,EADlC,qBACyDotC,EADzD,sBAC+Er7C,EAD/E,mBACmGE,EADnG,2BAC4Hy/C,EAD5H,4BAC8J+qB,EAD9J,4BACiMC,EADjM,uBAC+NC,EAD/N,qBACoP7rD,EADpP,uBAC0QghC,EAD1Q,sBACqSzsD,EADrS,oBAC0TE,EAD1T,kBAC2Uw3E,EAD3U,gCACwWH,EADxW,oBACuYI,EADvY,sBAC4Z6vB,EAD5Z,qBAC0bhwB,EAD1b,qBAC8cC,EAD9c,uBACme3zD,EADne,qBAC0fC,EAD1f,sBACghBF,EADhhB,sBACuiBD,EADviB,mBAC2jB6jF,GAD3jB,OACkkB7tG,OAAOu0C,SAAS1wC,KAAKiH,SAAS,6BAA6B,2BAA2B,IACxqB,CACE4E,OAAQ,MACRC,iBAAiB,EACjBC,QAAS,CACPiL,OAAQ,oCACRhL,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,sBAInBC,KAbU,wCAaL,WAAOC,GAAP,0FACqBA,EAASE,OAD9B,OAEJ,GAAmB,OADbD,EADF,QAGF,IACEtW,SAASsR,eAAe,WAAWinB,QACnC,MAAOl3B,GACPuD,QAAQC,IAAIxD,GANZ,gBASegV,EAAS1N,OATxB,cASE5E,EATF,yBAUGyS,QAAQC,IAAI,CAACH,EAAYvS,KAV5B,2CAbK,uDAyBVqS,MAAK,SAACM,GACL,OAAOA,EAAI,MAEZC,OAAM,SAAC5K,GACNnH,QAAQmH,MAAMA,MAhIpB,sFADgD,+BAgKjC4+F,IAhKiC,4EAgKhD,+FACe90F,MACXxP,OAAOyP,QAAU,yCACjB,CACEC,OAAQ,MACRC,iBAAiB,EACjBC,QAAS,CACPiL,OAAQ,oCACRhL,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,sBAInBC,MAAK,SAACM,GAAD,OAASA,EAAI/N,UAClByN,MAAK,SAACM,GACL,OAAOA,KAERC,OAAM,SAACtV,GAEN,OADAD,aAAa,QAAS,QACf,KApBb,oFAhKgD,sBAyLhDy/F,EAAKQ,MAAM,qCAAqCN,MAAhD,uBAAsD,qGAClC4J,IADkC,cAC9Cr8E,EAD8C,yBAE7C,CAAC,IAAKA,IAFuC,4CAUtDuyE,EAAKC,OAAO,uBAAuBC,OAAM,YAAe,IAAZh9F,EAAW,EAAXA,KAClC+e,EAAavgB,KAAKC,MAAMuB,GAAxB+e,SACR,EAUIA,EATFzU,eADF,MACY,GADZ,IAUIyU,EARFk7C,iBAFF,MAEc,GAFd,IAUIl7C,EAPFqxF,kBAHF,MAGe,GAHf,IAUIrxF,EANFsxF,sBAJF,MAImB,GAJnB,IAUItxF,EALFqkC,YALF,MAKS,GALT,IAUIrkC,EAJFo1C,cANF,MAMW,GANX,IAUIp1C,EAHFuxF,iBAPF,MAOc,GAPd,IAUIvxF,EAFFwxF,gBARF,MAQa,GARb,IAUIxxF,EADFqe,cATF,MASW,GATX,EAaM6/D,GAmIV,WACE,IAAMt6E,EAAMu6E,GAAkB17F,KAAI,SAACihB,GAAD,OAAQA,EAAG5kB,MAC/B2K,KAAKgrB,IAAL,MAAAhrB,KAAI,YAAQma,IAtIbw6E,GACS,CAClB7yF,UACA2vD,YACAm2C,aACAC,iBACAjtD,OACA+Q,SACAm8C,YACAC,WACAnzE,WAGF,OADA8/D,GAAkB32F,KAAK02F,GAChB,CAAC,IAAK,CAAEl+E,SAAUk+E,OAG3BH,EAAKC,OAAO,4BAA4BC,MAAxC,wCAA8C,WAAOj0C,GAAP,2FAEtCq0C,EAAY,IAAI1B,GAFsB,EAGpBl9F,KAAKC,MAAMsqD,EAAO/oD,MAAlC+iB,EAHoC,EAGpCA,YACFytF,EAAUztF,EAChBzgB,OAAO4hF,mBAAgB3gF,EACZ,GACX4sG,EAAO7tG,OAAO80D,gBAAkB,GAPY,SAQ3B+J,EACfqvC,EAAQxjG,OAAOmjB,WACf7tB,OAAO2+E,eACP3+E,OAAOsuG,6BACPtuG,OAAOquG,gCACPruG,OAAOouG,6BACPpuG,OAAO8+E,kCACPr+D,EAAY/V,OAAO8yE,gBACnB/8D,EAAY/V,OAAO+yE,gBACnBh9D,EAAY/V,OAAOgzE,SACnBj9D,EAAY/V,OAAOmnB,QACnBpR,EAAY/V,OAAOmoD,cACnB7yD,OAAO6qE,oBACPpqD,EAAY/V,OAAOpE,QACnBma,EAAY/V,OAAOozE,MACnBr9D,EAAY/V,OAAOizE,oBACnBl9D,EAAY/V,OAAOqzE,QACnB/9E,OAAO8hF,6BACP9hF,OAAOw1D,4BACPx1D,OAAO21D,0BACPl1C,EAAYyJ,WACZzJ,EAAY0J,SACZ1J,EAAYwJ,UACZxJ,EAAYuJ,UACZ6jF,GAhC0C,cAQtC3xE,EARsC,OAkC5Cl8B,OAAO+/E,kBAAoB7jD,EAAGmjB,UAC9Bu7C,GAAoBa,GAASv/D,EAAGmjB,WAChCr/C,OAAO4hF,cAAgB1lD,EAAGu0B,eAC1BzwD,OAAOquD,eAAiBnyB,EAAGmyB,eAC3B6/C,EAAQ9F,WAAalsE,EAAG4iB,WAAWC,sBAE5BmvD,EAAQxjG,OAAOojB,mBACfogF,EAAQxjG,OAAOmjB,kBACfqgF,EAAQxjG,OAAO6yE,sBACf2wB,EAAQxjG,OAAOoI,iBACfo7F,EAAQxjG,OAAO8yE,uBACf0wB,EAAQxjG,OAAO+yE,uBACfywB,EAAQxjG,OAAOgzE,gBACfwwB,EAAQxjG,OAAOmoD,qBACfq7C,EAAQxjG,OAAO+nD,sBACfy7C,EAAQxjG,OAAOozE,aACfowB,EAAQxjG,OAAOizE,2BACfuwB,EAAQxjG,OAAOqzE,eACfmwB,EAAQxjG,OAAOtE,iBACf8nG,EAAQxjG,OAAOpE,eACf4nG,EAAQxjG,OAAOuzE,cACfiwB,EAAQxjG,OAAOyjD,gBACf+/C,EAAQxjG,OAAOkzE,QAChBge,EAAmBd,EAAUC,WAAWH,GAAmBsT,GAzDrB,kBA0DrC,CAAC,IAAKtS,IA1D+B,4CAA9C,uDA6DApB,EAAKC,OAAO,uCAAuCC,OAAM,SAACj0C,GAQxD,OAPgBvqD,KAAKC,MAAMsqD,EAAO/oD,MAA1B2iB,IACJhkB,SAAQ,SAACd,GACX,IAAM6D,EAAQw7F,GAAkBr6E,WAAU,SAACJ,GAAD,OAAQA,EAAG5kB,KAAOA,KACxD6D,GAAS,GACXw7F,GAAkBx6D,OAAOhhC,EAAO,MAG7B,CAAC,QAGVo7F,EAAKC,OAAO,gDAAgDC,OAAM,SAACj0C,GACjE,MAAwBvqD,KAAKC,MAAMsqD,EAAO/oD,MAAlC2iB,EAAR,EAAQA,IAAKnQ,EAAb,EAAaA,OAMb,OALA0qF,GAAkBv+F,SAAQ,SAAC8jB,GACrBE,EAAIE,WAAU,SAAChlB,GAAD,OAAQA,IAAO4kB,EAAG5kB,OAAO,IACzC4kB,EAAGjQ,OAASA,MAGT,CAAC,QAGVsqF,EAAKQ,MAAM,0BAA0BN,OAAM,SAACj0C,GAC1C,IAAMlrD,EAAKkrD,EAAOt5C,IAAIjG,MAAM,4BAA4B,GAClDuV,EAAWm+E,GAAkBt8E,MAAK,SAAC6B,GAAD,OAAQA,EAAG5kB,MAAQA,KAC3D,OAAKkhB,EAIE,CAAC,IAAKA,GAHJ,CAAC,QAMZ+9E,EAAKS,MAAM,0BAA0BP,OAAM,SAACj0C,GAC1C,IAAMlrD,EAAKkrD,EAAOt5C,IAAIjG,MAAM,4BAA4B,GAChDuV,EAAavgB,KAAKC,MAAMsqD,EAAO/oD,MAA/B+e,SACFrd,EAAQw7F,GAAkBr6E,WAAU,SAACJ,GAAD,OAAQA,EAAG5kB,MAAQA,KAC7D,OAAK6D,GAILw7F,GAAkBx7F,GAAlB,eAAgCqd,GACzB,CAAC,MAJC,CAAC,QAOZ+9E,EAAK31E,SAAS,0BAA0B61E,OAAM,SAACj0C,GAC7C,IAAMlrD,EAAKkrD,EAAOt5C,IAAIjG,MAAM,4BAA4B,GAClD9H,EAAQw7F,GAAkBr6E,WAAU,SAACJ,GAAD,OAAQA,EAAG5kB,MAAQA,KAE7D,OADAq/F,GAAkBx6D,OAAOhhC,EAAO,IAChB,KAAXA,EACI,CAAC,KAGH,CAAC,QASZ,SAASq8F,GAASv4F,GAChB,IAAK,IAAI/D,KAAQ+D,EACfA,EAAK/D,GAAM5D,GAAK2H,EAAK/D,GAAMJ,GAE7B,OAAOmE,E,2yMClWT,IAEI03F,GAFExhG,GAAU,IAAIC,IAAa,MAC3BC,GAAKC,IAAIH,IAEA,SAASs1G,GAAgClU,GAAM,SAG7C37B,EAH6C,iFAG5D,WAAwBwb,EAAM6zB,GAA9B,yEACiC,IAA3BluG,OAAO2uG,gBACT3uG,OAAO2uG,iBAAkB,EAEzB3uG,OAAO2uG,iBAAkB,EAE3B3uG,OAAO4uG,0BAA4Bv0B,EANrC,SAWe7qE,MAAM,GAAD,OACbxP,OAAOyP,QADM,+CACwC4qE,GACxD,CACE3qE,OAAQ,MACRC,iBAAiB,EACjBC,QAAS,CACPiL,OAAQ,oCACRhL,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,sBAInBC,KAbU,wCAaL,WAAOC,GAAP,0EAEJ,GAAmB,OADbC,EAAaD,EAASE,QAE1B,IACEvW,SAASsR,eAAe,WAAWinB,QACnC,MAAOl3B,GACPuD,QAAQC,IAAIxD,GANZ,gBASegV,EAAS1N,OATxB,cASE5E,EATF,yBAUGyS,QAAQC,IAAI,CAACH,EAAYvS,KAV5B,2CAbK,uDAyBVqS,MAAK,SAACM,GACL,OAAOA,EAAI,MAEZC,OAAM,SAAC5K,GACNnH,QAAQmH,MAAMA,MAxCpB,oFAH4D,+BA+C7C4+F,IA/C6C,4EA+C5D,+FACe90F,MAAMxP,OAAOyP,QAAU,mCAAoC,CACtEC,OAAQ,MACRC,iBAAiB,EACjBC,QAAS,CACPiL,OAAQ,oCACRhL,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,sBAGjBC,KAVU,wCAUL,WAAOC,GAAP,0FACqBA,EAASE,OAD9B,cACED,EADF,gBAEeD,EAAS1N,OAFxB,cAEE5E,EAFF,yBAGGyS,QAAQC,IAAI,CAACH,EAAYvS,KAH5B,2CAVK,uDAeVqS,MAAK,SAACM,GACL,OAAOA,EAAI,MAEZC,OAAM,SAACtV,GAEN,OADAD,aAAa,QAAS,QACf,KArBb,oFA/C4D,sBAC5DiF,OAAO6uG,0BAA4B,GACnC7uG,OAAO4uG,0BAA4B,GAuEnCpU,EAAKQ,MAAM,8CAA8CN,MAAzD,uBAA+D,qGAC3C4J,IAD2C,cACvDr8E,EADuD,yBAEtD,CAAC,IAAKA,IAFgD,4CAK/DuyE,EAAKC,OAAO,oCAAoCC,OAAM,YAAe,IAAZh9F,EAAW,EAAXA,KAC/C+e,EAAavgB,KAAKC,MAAMuB,GAAxB+e,SACR,EAUIA,EATFzU,eADF,MACY,GADZ,IAUIyU,EARFk7C,iBAFF,MAEc,GAFd,IAUIl7C,EAPFqxF,kBAHF,MAGe,GAHf,IAUIrxF,EANFsxF,sBAJF,MAImB,GAJnB,IAUItxF,EALFqkC,YALF,MAKS,GALT,IAUIrkC,EAJFo1C,cANF,MAMW,GANX,IAUIp1C,EAHFuxF,iBAPF,MAOc,GAPd,IAUIvxF,EAFFwxF,gBARF,MAQa,GARb,IAUIxxF,EADFqe,cATF,MASW,GATX,EAaM6/D,GA4PV,WACE,IAAMt6E,EAAMu6E,GAAkB17F,KAAI,SAACihB,GAAD,OAAQA,EAAG5kB,MAC/B2K,KAAKgrB,IAAL,MAAAhrB,KAAI,YAAQma,IA/Pbw6E,GACS,CAClB7yF,UACA2vD,YACAm2C,aACAC,iBACAjtD,OACA+Q,SACAm8C,YACAC,WACAnzE,WAGF,OADA8/D,GAAkB32F,KAAK02F,GAChB,CAAC,IAAK,CAAEl+E,SAAUk+E,OAE3BH,EAAKC,OAAO,yCAAyCC,MAArD,wCAA2D,WAAOj0C,GAAP,8EAAA/hD,EAAA,2EACnDo2F,EAAY,IAAI1B,GADmC,EAEjCl9F,KAAKC,MAAMsqD,EAAO/oD,MAAlC+iB,EAFiD,EAEjDA,YACFytF,EAAUztF,EAEXzgB,OAAOk9E,kBACN4xB,EAAuBx1G,GAAG8L,OAAOC,WAAW2F,KAAKwxE,cACrDsyB,EAAoB,UAAGA,SAAH,aAAG,EAAsBxwF,MAAK,SAACtb,GAAD,MAAkB,OAAXA,EAAEy5E,QAC3DsyB,EAAuBD,QAGG7tG,IAA1BjB,OAAOgvG,eACHhvG,OAAOgvG,oBACiC/tG,IAAxCjB,OAAOivG,6BACPjvG,OAAOivG,6BACP,GAENjvG,OAAOkvG,iBAAmBhB,EAAQxjG,OAAOqrE,kBACpCm4B,EAAQxjG,OAAOqrE,0BACX/1E,OAAOgvG,eAEZG,EAAW,cAAgBjB,EAAQxjG,OAAOykG,UAAY,IACtDnwE,EAAc,iBAAmBkvE,EAAQxjG,OAAOs0B,aAAe,IAC/DowE,EAAW,cAAgBlB,EAAQxjG,OAAO65C,UAAY,IACtDsO,EACF,gBAAkBq7C,EAAQxjG,OAAOmoD,eAAiB,WAChDzsD,EACF,oBAC8BnF,IAA7BitG,EAAQxjG,OAAOtE,WACa,KAA7B8nG,EAAQxjG,OAAOtE,WACc,OAA7B8nG,EAAQxjG,OAAOtE,UACX8nG,EAAQxjG,OAAOtE,UACfpG,OAAOqvG,qBACP3yG,OACGwzC,KAAK,GAAI,QACTvrC,OAAO,eACZ2B,EACF,kBAC4BrF,IAA3BitG,EAAQxjG,OAAOpE,SACW,KAA3B4nG,EAAQxjG,OAAOpE,SACY,OAA3B4nG,EAAQxjG,OAAOpE,QACX4nG,EAAQxjG,OAAOpE,QACf5J,OAASiI,OAAO,eAElBwpD,EAAW,cAAgBnuD,OAAOsvG,yBAA2B,IAC7DC,EACF,eAAiBvvG,OAAOwvG,8BAAgC,IACtDC,EACF,oBACwCxuG,IAAvCjB,OAAO0vG,4BACJ,GACA1vG,OAAO0vG,6BACTtxB,EACF,iBACqCn9E,IAApCjB,OAAO2vG,yBACJ,GACA3vG,OAAO2vG,0BACTl9C,EACF,oBAAsBy7C,EAAQxjG,OAAO+nD,gBAAkB,IACrD+qB,EACF,qBAAuB0wB,EAAQxjG,OAAO8yE,iBAAmB,IACvDC,EACF,qBAAuBywB,EAAQxjG,OAAO+yE,iBAAmB,IACvDK,EAAQ,WAAaowB,EAAQxjG,OAAOozE,QAAS,GAC7C8xB,EAAU,aAAe1B,EAAQxjG,OAAOklG,SAAW,GACnDC,EAAU,aAAe3B,EAAQxjG,OAAOmlG,SAAW,GACnDC,EAAW,cAAgB5B,EAAQxjG,OAAOizE,sBAAuB,GACjEoyB,EACF,mBACwB9uG,IAAvBjB,OAAOgwG,YAA4B,KAAOhwG,OAAOgwG,aAChD9lF,EAAa,eAAiBgkF,EAAQhkF,aAAc,EACpDC,EAAW,aAAe+jF,EAAQ/jF,WAAY,EAC7B,uBACjBF,EAAY,cAAgBikF,EAAQjkF,YAAa,EACjDD,EAAY,cAAgBkkF,EAAQlkF,YAAa,EACjD6jF,EAAOK,EAAQxjG,OAAOulG,YACIhvG,IAA1BitG,EAAQxjG,OAAOulG,SACjBpC,EAAO,GACH7tG,OAAOkwG,iBACTrC,EAAO7tG,OAAOkwG,iBAGdD,OAAkBhvG,IAAT4sG,EAAqB,WAAa,WAAaA,EAExD9sF,OACwB9f,IAA1BjB,OAAOgvG,eACHhvG,OAAOgvG,gBACa,QAApB,EAAAD,SAAA,eAAsBpyB,mBACtB,0BAAiBoyB,SAAjB,aAAiB,EAAsBpyB,wBACC17E,IAAxCjB,OAAOivG,6BACP,eAAiBjvG,OAAOivG,6BACxB,eACF50B,EACFt5D,EACAie,EACAowE,EACAD,EACAt8C,EACAzsD,EACAE,EACA6nD,EACAshD,EACAF,EACAnxB,EACA3rB,EACA+qB,EACAC,EACAK,EACA8xB,EACAC,EACAC,EACAC,EACA7lF,EACAC,EACAF,EACAD,EACAimF,EAEEE,EACFpvF,EACAie,EACAmwE,EACAt8C,EACAzsD,EACAE,EACA6nD,EACAshD,EACAF,EACAnxB,EACA3rB,EACA+qB,EACAC,EACAK,EACA8xB,EACAC,EACAC,EACAC,EACA7lF,EAjEmB,uBAmEnBD,EACAD,EACAolF,EACAa,EAEFjwG,OAAOowG,gBACL,mBACApwG,OAAOqwG,cACP,YACArwG,OAAOswG,8BACP,SACAtwG,OAAOuwG,2BACP,mBACoCtvG,IAAnCjB,OAAOwwG,yBAC2B,KAAnCxwG,OAAOwwG,wBACHxwG,OAAOwwG,wBAAwBtxG,KAAI,SAACC,GAAD,OAAUA,EAAO,SACjB,KAAnCa,OAAOwwG,wBACP,MACAxwG,OAAOywG,gCACXrqG,EACAE,EACAw3E,EACA8xB,EACAC,EACAC,EACAC,EAGF/vG,OAAO0wG,WAAaP,EAvKqC,UAwKxCtxC,EAASwb,EAAM6zB,GAxKyB,eAwKnDhyE,EAxKmD,OAyKrDx3B,EAAIw3B,EAAGy0E,UAAY,GAEvB/V,GAAoBa,GAAS/2F,IAAM,GAEnC1E,OAAO4wG,wBAA0B10E,EAAG20E,cAAe,EAInD3C,EAAQ9F,WAAalsE,EAAG40E,SAElBlV,EAAmBd,EAAUC,WAAWH,GAAmBsT,GAnLR,kBAoLlD,CAAC,IAAKtS,IApL4C,4CAA3D,uDAuLApB,EAAKC,OAAO,oCAAoCC,OAAM,SAACj0C,GAQrD,OAPgBvqD,KAAKC,MAAMsqD,EAAO/oD,MAA1B2iB,IACJhkB,SAAQ,SAACd,GACX,IAAM6D,EAAQw7F,GAAkBr6E,WAAU,SAACJ,GAAD,OAAQA,EAAG5kB,KAAOA,KACxD6D,GAAS,GACXw7F,GAAkBx6D,OAAOhhC,EAAO,MAG7B,CAAC,QAGVo7F,EAAKC,OAAO,6CAA6CC,OAAM,SAACj0C,GAC9D,MAAwBvqD,KAAKC,MAAMsqD,EAAO/oD,MAAlC2iB,EAAR,EAAQA,IAAKnQ,EAAb,EAAaA,OAMb,OALA0qF,GAAkBv+F,SAAQ,SAAC8jB,GACrBE,EAAIE,WAAU,SAAChlB,GAAD,OAAQA,IAAO4kB,EAAG5kB,OAAO,IACzC4kB,EAAGjQ,OAASA,MAGT,CAAC,QAGVsqF,EAAKQ,MAAM,sBAAsBN,OAAM,SAACj0C,GACtC,IAAMlrD,EAAKkrD,EAAOt5C,IAAIjG,MAAM,wBAAwB,GAC9CuV,EAAWm+E,GAAkBt8E,MAAK,SAAC6B,GAAD,OAAQA,EAAG5kB,MAAQA,KAC3D,OAAKkhB,EAIE,CAAC,IAAKA,GAHJ,CAAC,QAMZ+9E,EAAKS,MAAM,sBAAsBP,OAAM,SAACj0C,GACtC,IAAMlrD,EAAKkrD,EAAOt5C,IAAIjG,MAAM,wBAAwB,GAC5CuV,EAAavgB,KAAKC,MAAMsqD,EAAO/oD,MAA/B+e,SACFrd,EAAQw7F,GAAkBr6E,WAAU,SAACJ,GAAD,OAAQA,EAAG5kB,MAAQA,KAC7D,OAAK6D,GAILw7F,GAAkBx7F,GAAlB,eAAgCqd,GACzB,CAAC,MAJC,CAAC,QAOZ+9E,EAAK31E,SAAS,sBAAsB61E,OAAM,SAACj0C,GACzC,IAAMlrD,EAAKkrD,EAAOt5C,IAAIjG,MAAM,wBAAwB,GAC9C9H,EAAQw7F,GAAkBr6E,WAAU,SAACJ,GAAD,OAAQA,EAAG5kB,MAAQA,KAE7D,OADAq/F,GAAkBx6D,OAAOhhC,EAAO,IAChB,KAAXA,EACI,CAAC,KAGH,CAAC,QASZ,SAASq8F,GAASv4F,GAChB,IAAK,IAAI/D,KAAQ+D,EACfA,EAAK/D,GAAM5D,GAAK2H,EAAK/D,GAAMJ,GAE7B,OAAOmE,E,2yMCpWT,IAEI03F,GAFExhG,GAAU,IAAIC,IAAa,MAC3BC,GAAKC,IAAIH,I,+CAEA,WAAyCohG,GAAzC,IACJjrD,EAYMuwD,EAbF,EAoCEiR,EApCF,EA4DE/Q,EA5DF,EAuFEC,EAvFF,EA4GE7qD,EA5GF,EA+HE47D,EA/HF,EAsJEC,EAtJF,EA0KEC,EA1KF,EA2MJtqF,EAiTM45E,EA5fF,iHA4fb,WAAuBjlG,GAAvB,kFACeiU,MAAMxP,OAAOyP,QAAU,mBAAqBlU,EAAI,CAC3DmU,OAAQ,MACRC,iBAAiB,EACjBC,QAAS,CACPC,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,sBAGjBC,KATU,wCASL,WAAOC,GAAP,iFACEC,EAAaD,EAASE,OADxB,SAEeF,EAAS1N,OAFxB,cAEE5E,EAFF,yBAGGyS,QAAQC,IAAI,CAACH,EAAYvS,KAH5B,2CATK,uDAcVqS,MAAK,SAACM,GACL,OAAOA,EAAI,MAEZC,OAAM,SAAC5K,GACNnH,QAAQmH,MAAMA,MAnBpB,oFA5fa,uBA4fE86F,EA5fF,qDAqUY2Q,EAAazmG,EAAQhN,GAC5C,IAAMmzB,EAAS,UAAYsgF,EAM3B,OALA5yG,QAAQC,IAAIqyB,GACZnzB,EAAOA,EAAKgN,QAAO,SAACA,GAAD,OACjBmmB,EACGhmB,OACAC,SAASnO,OAAO+N,GAAQG,YAhItB+b,EA3MI,SA2MO7pB,GAClB,IAAIoK,EAAI,IAAIrK,KAAKC,GACf8pB,EAAQ,IAAM1f,EAAEjK,WAAa,GAC7B6J,EAAM,GAAKI,EAAEhK,UACb2pB,EAAO3f,EAAE/J,cAEPypB,EAAM7iB,OAAS,IAAG6iB,EAAQ,IAAMA,GAChC9f,EAAI/C,OAAS,IAAG+C,EAAM,IAAMA,GAEhC,IAAMuD,EAAS,CAACuc,EAAO9f,EAAK+f,GAAMjkB,KAAK,KACvC,MAAe,gBAAXyH,EACKA,EAEA,cAxNE,6CA0Kb,+FACekF,MAAMxP,OAAOyP,QAAU,4BAA6B,CAC/DC,OAAQ,MACRC,iBAAiB,EACjBC,QAAS,CACPiL,OAAQ,oCACRhL,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,sBAGjBC,MAAK,SAACM,GAAD,OAASA,EAAI/N,UAClByN,MAAK,SAACM,GACL,OAAOA,KAERC,OAAM,SAACtV,GACN,OAAO,KAhBb,oFA1Ka,uBA0KEk2G,EA1KF,wFAsJb,+FACe1hG,MAAMxP,OAAOyP,QAAU,wBAAyB,CAC3DC,OAAQ,MACRC,iBAAiB,EACjBC,QAAS,CACPiL,OAAQ,oCACRhL,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,sBAGjBC,MAAK,SAACM,GAAD,OAASA,EAAI/N,UAClByN,MAAK,SAACM,GACL,OAAOA,EAAI+gG,aAEZ9gG,OAAM,SAACtV,GACN,OAAO,KAhBb,oFAtJa,uBAsJEi2G,EAtJF,wFA+Hb,WAA6B11G,GAA7B,2FACSiU,MAAMxP,OAAOyP,QAAU,iBAAmBlU,EAAI,CACnDmU,OAAQ,OACRC,iBAAiB,EACjBC,QAAS,CACPC,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,sBAGjBC,KATI,wCASC,WAAOC,GAAP,iFACEC,EAAaD,EAASE,OADxB,SAEeF,EAAS1N,OAFxB,cAEE5E,EAFF,yBAGGyS,QAAQC,IAAI,CAACH,EAAYvS,KAH5B,2CATD,uDAcJqS,MAAK,SAACM,GACL,OAAOA,EAAI,MAEZC,OAAM,SAAC5K,QAlBZ,4CA/Ha,uBA+HEsrG,EA/HF,yFA4Gb,+FACexhG,MAAMxP,OAAOyP,QAAU,6BAA8B,CAChEC,OAAQ,MACRC,iBAAiB,EACjBC,QAAS,CACPC,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,sBAGjBC,MAAK,SAACM,GAAD,OAASA,EAAI/N,UAClByN,MAAK,SAACM,GACL,OAAOA,KAERC,OAAM,SAACtV,GAEN,OADAD,YAAa,QAAS,QACf,KAhBb,oFA5Ga,uBA4GEq6C,EA5GF,wFAuFb,WAA0B75C,GAA1B,kFACeiU,MAAMxP,OAAOyP,QAAU,mBAAqBlU,EAAI,CAC3DmU,OAAQ,SACRC,iBAAiB,EACjBC,QAAS,CACPC,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,sBAGjBC,KATU,wCASL,WAAOC,GAAP,2FACGA,GADH,2CATK,uDAYVD,MAAK,SAACM,GACL,OAAOk/B,EAAcl/B,MAEtBC,OAAM,SAACtV,GACN,OAAOu0C,EAAcv0C,MAjB3B,oFAvFa,uBAuFEilG,EAvFF,yFA4Db,WAAuBxwD,EAAUl0C,GAAjC,2FACSiU,MACLxP,OAAOyP,QAAU,mBAAqBlU,EAAK,gBAAiB,EAC5D,CACEmU,OAAQ,MACRC,iBAAiB,EACjBC,QAAS,CACPiL,OAAQ,oCACRhL,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,oBAElBvV,KAAM2B,KAAKE,UAAUqzC,KAGtB1/B,KAdI,wCAcC,WAAOC,GAAP,iFACEC,EAAaD,EAASE,OADxB,SAEeF,EAAS1N,OAFxB,cAEE5E,EAFF,yBAGGyS,QAAQC,IAAI,CAACH,EAAYvS,KAH5B,2CAdD,uDAmBJqS,MAAK,SAACM,GACL,OAAOA,EAAI,MAEZC,OAAM,SAAC5K,GACNnH,QAAQmH,MAAMA,OAxBpB,4CA5Da,uBA4DEs6F,EA5DF,2FAoCb,WAAyCvwD,GAAzC,2FACSjgC,MAAMxP,OAAOyP,QAAU,+BAAgC,EAAM,CAClEC,OAAQ,OACRC,iBAAiB,EACjBC,QAAS,CACPC,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,oBAElBvV,KAAM2B,KAAKE,UAAUqzC,KAEpB1/B,KAVI,wCAUC,WAAOC,GAAP,iFACEC,EAAaD,EAASE,OADxB,SAEeF,EAAS1N,OAFxB,cAEE5E,EAFF,yBAGGyS,QAAQC,IAAI,CAACH,EAAYvS,KAH5B,2CAVD,uDAeJqS,MAAK,SAACM,GACL,OAAOA,EAAI,MAEZC,OAAM,SAAC5K,QAnBZ,4CApCa,uBAoCEqrG,EApCF,yFAab,+FACevhG,MAAMxP,OAAOyP,QAAU,+BAAgC,EAAM,CACxEC,OAAQ,MACRC,iBAAiB,EACjBC,QAAS,CACPC,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,sBAGjBC,KATU,wCASL,WAAOC,GAAP,iFACEC,EAAaD,EAASE,OADxB,SAEeF,EAAS1N,OAFxB,cAEE5E,EAFF,yBAGGyS,QAAQC,IAAI,CAACH,EAAYvS,KAH5B,2CATK,uDAcVqS,MAAK,SAACM,GACL,OAAOorF,GAASprF,EAAI,OAErBC,OAAM,SAAC5K,GACNnH,QAAQmH,MAAMA,MAnBpB,oFAba,uBAaEo6F,EAbF,2CACJvwD,EADI,SACUl/B,GACrB,IAAIH,EAASG,EAAIH,OACbs/B,EAAan/B,EAAIm/B,WACrB,OAAe,MAAXt/B,GACFnV,YAAa,UAAW,YACjB,GACa,MAAXmV,GACTnV,YAAa,QAASy0C,IACf,QAFF,GAuLTgrD,EAAKQ,MAAM,uCAAuCN,MAAlD,uBAAwD,4FAChDzyE,EAAM,GAD0C,SAE7BmtB,IAF6B,cAEtDntB,EAAG,UAFmD,gBAGzBgpF,IAHyB,cAGtDhpF,EAAG,cAHmD,gBAI5BipF,IAJ4B,cAItDjpF,EAAG,WAJmD,yBAK/C,CAAC,IAAKA,IALyC,6CAOxDuyE,EAAKQ,MAAM,uCAAuCN,MAAlD,uBAAwD,4FAChDn/F,EAAKyE,OAAOqxG,QADoC,SAEhDL,EAAcz1G,GAFkC,OAGtD5B,SAASsR,eAAe,iBAAiBinB,QACzCn3B,YAAa,UAAW,2CAJ8B,4CAsBxDy/F,EAAKC,OAAO,6BAA6BC,MAAzC,wCAA+C,6OAASh9F,EAAT,EAASA,KAAT,EACxBxB,KAAKC,MAAMuB,GAAxB+e,EADqC,EACrCA,SACF60F,EAAQx0G,KAAKE,MACH4pB,EAAW0qF,GAHkB,EAkCzC70F,EA7BF4B,YAL2C,MAKpC,GALoC,IAkCzC5B,EA5BFzd,YAN2C,MAMpC,GANoC,IAkCzCyd,EA3BFrD,mBAP2C,MAO7B,GAP6B,IAkCzCqD,EA1BF80F,kBAR2C,MAQ9B,GAR8B,IAkCzC90F,EAzBFsU,gBAT2C,WAkCzCtU,EAxBF+0F,mBAV2C,WAkCzC/0F,EAvBFzJ,cAX2C,MAWlC,GAXkC,IAkCzCyJ,EAtBF3J,iBAZ2C,MAY/B,KAZ+B,IAkCzC2J,EArBFvJ,sBAb2C,MAa1B,KAb0B,IAkCzCuJ,EApBF/H,uBAd2C,MAczB,KAdyB,IAkCzC+H,EAnBF9H,uBAf2C,MAezB,KAfyB,IAkCzC8H,EAlBFg1F,sBAhB2C,MAgB1B,GAhB0B,IAkCzCh1F,EAjBFi1F,sBAjB2C,MAiB1B,GAjB0B,IAkCzCj1F,EAhBFk1F,qBAlB2C,MAkB3B,GAlB2B,IAkCzCl1F,EAfFm1F,kBAnB2C,MAmB9B,GAnB8B,IAkCzCn1F,EAdFo1F,mBApB2C,MAoB7B,GApB6B,IAkCzCp1F,EAbFq1F,qBArB2C,MAqB3B,GArB2B,IAkCzCr1F,EAZFs1F,wBAtB2C,MAsBxB,GAtBwB,IAkCzCt1F,EAXFu1F,wBAvB2C,MAuBxB,GAvBwB,IAkCzCv1F,EAVFw1F,uBAxB2C,MAwBzB,GAxByB,IAkCzCx1F,EATFy1F,oBAzB2C,MAyB5B,GAzB4B,IAkCzCz1F,EARF01F,qBA1B2C,MA0B3B,GA1B2B,IAkCzC11F,EAPF21F,wBA3B2C,MA2BzB,GA3ByB,KAkCzC31F,EANF41F,mBA5B2C,OA4B9B,GA5B8B,MAkCzC51F,EALF61F,uBA7B2C,OA6B1B,GA7B0B,MAkCzC71F,EAJF81F,qBA9B2C,OA8B5B,KA9B4B,MAkCzC91F,EAHF+1F,yBA/B2C,OA+BxB,KA/BwB,MAkCzC/1F,EAFFg2F,6BAhC2C,OAgCpB,KAhCoB,MAkCzCh2F,EADFi2F,oBAjC2C,OAiC7B,KAjC6B,GAmCvCn3G,GAAKs/F,KACLF,GAAc,CAClBp/F,MACAyD,OACAqf,OACAjF,cACAm4F,aACAxgF,WACA/d,SACAF,YACAI,iBACAwB,kBACAC,kBACA88F,iBACAC,iBACAC,gBACAC,aACAC,cACAC,gBACAC,mBACAC,mBACAC,kBACAC,eACAC,gBACAC,mBACAC,cACAb,cACAc,kBACAC,gBACAC,oBACAC,wBACAC,gBAlE2C,SAoEb3B,EAA0BpW,IApEb,eAqEd15F,KAD3B0xG,GApEyC,QAqErB5zG,GArEqB,wBAsE3ChE,YACE,UACA,qDAEF43G,GAAoBp3G,GAAKo3G,GAAoB5zG,GAC7C67F,GAAkB32F,KAAK02F,IACvBhhG,SAASsR,eAAe,iBAAiBinB,QA5EE,kBA6EpC,CACL,IACA,CACEzV,SAAUk+E,GACV14F,QAAS0wG,GAAoB3hG,QAC7BstF,SAAS,KAlF8B,YAsFvCqU,GAAoB3hG,QAtFmB,iBAuFzCrX,SAASsR,eAAe,iBAAiBinB,QACzCn3B,YAAa,QAAS43G,GAAoB3hG,SAxFD,+BA0FzCjW,YACE,UACA,qDAEFpB,SAASsR,eAAe,iBAAiBinB,QA9FA,kBA+FlC,CACL,IACA,CACEzV,SAAUk+E,GACV14F,QAAS0wG,GAAoB3hG,QAC7BstF,SAAS,KApG4B,4CAA/C,uDAmHA9D,EAAKC,OAAO,kCAAkCC,MAA9C,wCAAoD,WAAOj0C,GAAP,yFAC5Cq0C,EAAY,IAAI1B,GAD4B,EAE1Bl9F,KAAKC,MAAMsqD,EAAO/oD,OAAlC+iB,EAF0C,EAE1CA,aACQ/V,OAAOmjB,aACf+kF,EAAU5yG,OAAO6yG,sBACjBl+C,EAAcl0C,EAAY/V,OAAOmjB,WACvC+sE,GAAoBgY,EAAQloG,QAAO,SAACm+D,GAAD,OACjClsE,OAAOksE,EAAK7pE,MACT6L,OACAR,cACAS,SAASnO,OAAOg4D,GAAa9pD,OAAOR,gBAEvC1N,OAAOksE,EAAKxqD,MACThU,cACAS,SAASnO,OAAOg4D,GAAa9pD,OAAOR,gBAEvC1N,OAAOksE,EAAKttE,IACTuP,SAASnO,OAAOg4D,GAAa9pD,YAG9BioG,EAAe9yG,OAAO+yG,kBACI,KAAjB,OAAXtyF,QAAW,IAAXA,OAAA,EAAAA,EAAayJ,aAAqBzJ,EAAY/V,OAAOmjB,WArBP,iCAsBtBiyE,IAtBsB,OAsBhDlF,GAtBgD,OAuBhD56F,OAAO6yG,sBAAwBjY,GAC3BkY,IACiC,KAA/BryF,EAAY/V,OAAOwzB,UACrB08D,GAAoBA,GAAkBlwF,QAAO,SAACm+D,GAAD,OAC3ClsE,OAAOksE,EAAK3qC,SACTrzB,OACAR,cACAS,SAASnO,OAAOm2G,EAAa50E,SAASrzB,OAAOR,mBAGZ,KAApCoW,EAAY/V,OAAO6zB,eACrBq8D,GAAoBA,GAAkBlwF,QAAO,SAACm+D,GAAD,OAC3ClsE,OAAOksE,EAAKtqC,cACT1zB,OACAR,cACAS,SAASnO,OAAOm2G,EAAav0E,cAAc1zB,OAAOR,mBAGzB,KAA5BoW,EAAY/V,OAAOo2C,OACrB85C,GAAoBA,GAAkBlwF,QAAO,SAACm+D,GAAD,OAC3ClsE,OAAOksE,EAAK/nB,MACTj2C,OACAR,cACAS,SAASnO,OAAOm2G,EAAahyD,MAAMj2C,OAAOR,mBAG7CyoG,GAAqD,KAArCryF,EAAY/V,OAAO2tE,gBACrCuiB,GAAoBA,GAAkBlwF,QAAO,SAACm+D,GAAD,OAC3ClsE,OAAOksE,EAAKwP,eACTxtE,OACAR,cACAS,SAASnO,OAAOm2G,EAAaz6B,eAAextE,OAAOR,mBAGjB,KAArCoW,EAAY/V,OAAOk5D,gBACrBg3B,GAAoBA,GAAkBlwF,QAAO,SAACm+D,GAAD,OAC3ClsE,OAAOksE,EAAKjF,eACT/4D,OACAR,cACAS,SAASnO,OAAOm2G,EAAalvC,eAAe/4D,OAAOR,mBAGtB,KAAhCoW,EAAY/V,OAAOsoG,WACrBpY,GAAoBA,GAAkBlwF,QAAO,SAACm+D,GAAD,OAC3ClsE,OAAOksE,EAAKmqC,UACTnoG,OACAR,cACAS,SAASnO,OAAOm2G,EAAaE,UAAUnoG,OAAOR,oBAtEP,eA2E7CyoG,SACgC7xG,IAA/Bwf,EAAY/V,OAAOwzB,UACrB08D,GAAoBA,GAAkBlwF,QAAO,SAACm+D,GAAD,OAC3ClsE,OAAOksE,EAAK3qC,SACTrzB,OACAR,cACAS,SAASnO,OAAO8jB,EAAY/V,OAAOwzB,SAASrzB,OAAOR,wBAGlBpJ,IAApCwf,EAAY/V,OAAO6zB,eACrBq8D,GAAoBA,GAAkBlwF,QAAO,SAACm+D,GAAD,OAC3ClsE,OAAOksE,EAAKtqC,cACT1zB,OACAR,cACAS,SAASnO,OAAO8jB,EAAY/V,OAAO6zB,cAAc1zB,OAAOR,wBAG/BpJ,IAA5Bwf,EAAY/V,OAAOo2C,OACrB85C,GAAoBA,GAAkBlwF,QAAO,SAACm+D,GAAD,OAC3ClsE,OAAOksE,EAAK/nB,MACTj2C,OACAR,cACAS,SAASnO,OAAO8jB,EAAY/V,OAAOo2C,MAAMj2C,OAAOR,wBAGdpJ,IAArCwf,EAAY/V,OAAO2tE,gBACrBuiB,GAAoBA,GAAkBlwF,QAAO,SAACm+D,GAAD,OAC3ClsE,OAAOksE,EAAKwP,eACTxtE,OACAR,cACAS,SAASnO,OAAO8jB,EAAY/V,OAAO2tE,eAAextE,OAAOR,wBAGvBpJ,IAArCwf,EAAY/V,OAAOk5D,gBACrBg3B,GAAoBA,GAAkBlwF,QAAO,SAACm+D,GAAD,OAC3ClsE,OAAOksE,EAAKjF,eACT/4D,OACAR,cACAS,SAASnO,OAAO8jB,EAAY/V,OAAOk5D,eAAe/4D,OAAOR,wBAG5BpJ,IAAhCwf,EAAY/V,OAAOsoG,WACrBpY,GAAoBA,GAAkBlwF,QAAO,SAACm+D,GAAD,OAC3ClsE,OAAOksE,EAAKmqC,UACTnoG,OACAR,cACAS,SAASnO,OAAO8jB,EAAY/V,OAAOsoG,UAAUnoG,OAAOR,oBAIvD4oG,EAAiBxyF,EAAY/V,OAAOqmB,SAExC6pE,QADqB35F,IAAnBgyG,EACkBrY,GAAkBlwF,QAAO,SAACm+D,GAAD,OAC3ClsE,OAAOksE,EAAK93C,UAAUjmB,SAASnO,QAAO,OAGpCs2G,EACkBrY,GAAkBlwF,QAAO,SAACm+D,GAAD,OAC3ClsE,OAAOksE,EAAK93C,UAAUjmB,SAASnO,OAAOs2G,OAGpBrY,GAAkBlwF,QAAO,SAACm+D,GAAD,OAC3ClsE,OAAOksE,EAAK93C,UAAUjmB,SAASnO,QAAO,cAIrC8jB,EAAY/V,OAAOojB,mBACnBrN,EAAY/V,OAAOmjB,WAEpBqlF,EAAoBpY,EAAUC,WAClCH,GACAn6E,GAlJgD,kBAoJ3C,CAAC,IAAKyyF,IApJqC,4CAApD,uDAuJA1Y,EAAKC,OAAO,6CAA6CC,OAAM,SAACj0C,GAQ9D,OAPgBvqD,KAAKC,MAAMsqD,EAAO/oD,MAA1B2iB,IACJhkB,SAAQ,SAACd,GACX,IAAM6D,EAAQw7F,GAAkBr6E,WAAU,SAACJ,GAAD,OAAQA,EAAG5kB,KAAOA,KACxD6D,GAAS,GACXw7F,GAAkBx6D,OAAOhhC,EAAO,MAG7B,CAAC,QAGVo7F,EACGC,OAAO,sDACPC,OAAM,SAACj0C,GACN,MAAwBvqD,KAAKC,MAAMsqD,EAAO/oD,MAAlC2iB,EAAR,EAAQA,IAAKnQ,EAAb,EAAaA,OAMb,OALA0qF,GAAkBv+F,SAAQ,SAAC8jB,GACrBE,EAAIE,WAAU,SAAChlB,GAAD,OAAQA,IAAO4kB,EAAG5kB,OAAO,IACzC4kB,EAAGjQ,OAASA,MAGT,CAAC,QA0BZsqF,EAAKQ,MAAM,mCAAmCN,MAA9C,wCAAoD,WAAOj0C,GAAP,iFAC5ClrD,EAAKkrD,EAAOt5C,IAAIjG,MAAM,qCAAqC,GADf,SAE3Bs5F,EAAQjlG,GAFmB,UAE5CkhB,EAF4C,gDAIzC,CAAC,MAJwC,gCAM3C,CAAC,IAAKA,IANqC,2CAApD,uDASA+9E,EAAKS,MAAM,mCAAmCP,MAA9C,wCAAoD,WAAOj0C,GAAP,uFAC5ClrD,EAAKkrD,EAAOt5C,IAAIjG,MAAM,qCAAqC,GADf,EAE7BhL,KAAKC,MAAMsqD,EAAO/oD,MAA/B+e,EAF0C,EAE1CA,SAF0C,SAG7BujF,EAAQvjF,EAAUlhB,GAHW,oBAG5C+O,EAH4C,kBAI9CA,OAJ8C,EAI9CA,EAAQ0G,SAJsC,wBAKhDjW,YACE,aADU,OAEVuP,QAFU,IAEVA,OAFU,EAEVA,EAAQ0G,SAPsC,mBASzC,GATyC,eAW1C5R,EAAQw7F,GAAkBr6E,WAAU,SAACJ,GAAD,OAAQA,EAAG5kB,MAAQA,KAC7Dq/F,GAAkBx7F,GAAlB,eAAgCqd,GAChC1hB,YACE,UACA,uDAEFpB,SAASsR,eAAe,iBAAiBinB,QAjBO,kBAkBzC,CAAC,MAlBwC,4CAApD,uDAsBAsoE,EAAK31E,SAAS,mCAAmC61E,MAAjD,wCAAuD,WAAOj0C,GAAP,6EAC/ClrD,EAAKkrD,EAAOt5C,IAAIjG,MAAM,qCAAqC,IAElD,KADT9H,EAAQw7F,GAAkBr6E,WAAU,SAACJ,GAAD,OAAQA,EAAG5kB,MAAQA,MAFR,yCAI5C,CAAC,MAJ2C,uBAM/B0kG,EAAW1kG,GANoB,0DAQ5C,CAAC,MAR2C,cAUrDq/F,GAAkBx6D,OAAOhhC,EAAO,GAVqB,kBAW9C,CAAC,MAX6C,4CAAvD,uDAljBa,6C,sBAikBf,SAASq8F,GAASv4F,GAChB,IAAK,IAAI/D,KAAQ+D,EACfA,EAAK/D,GAAM5D,GAAK2H,EAAK/D,GAAMJ,UACpBmE,EAAK/D,GAAMJ,GAEpB,OAAOmE,EAGT,SAAS23F,KACP,IAAMx6E,EAAMu6E,GAAkB17F,KAAI,SAACihB,GAAD,OAAQA,EAAG5kB,MAE7C,OADc2K,KAAKgrB,IAAL,MAAAhrB,KAAI,YAAQma,IACX,E,2yMChlBjB,IAEIu6E,GAFExhG,GAAU,IAAIC,IAAa,MAC3BC,GAAKC,IAAIH,I,+CAEA,WAAwCohG,GAAxC,IACJjrD,EAYMuwD,EAbF,EAoCEiR,EApCF,EA2DE/Q,EA3DF,EAsFEC,EAtFF,EA2GE7qD,EA3GF,EA+HEkrD,EA/HF,EAmJE4Q,EAnJF,EAsKEiC,EAtKF,EAsMJvsF,EA8SM45E,EApfF,iHAofb,WAAuBjlG,GAAvB,kFACeiU,MAAMxP,OAAOyP,QAAU,mBAAqBlU,EAAI,CAC3DmU,OAAQ,MACRC,iBAAiB,EACjBC,QAAS,CACPC,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,sBAGjBC,KATU,wCASL,WAAOC,GAAP,iFACEC,EAAaD,EAASE,OADxB,SAEeF,EAAS1N,OAFxB,cAEE5E,EAFF,yBAGGyS,QAAQC,IAAI,CAACH,EAAYvS,KAH5B,2CATK,uDAcVqS,MAAK,SAACM,GACL,OAAOA,EAAI,MAEZC,OAAM,SAAC5K,GACNnH,QAAQmH,MAAMA,MAnBpB,oFApfa,uBAofE86F,EApfF,4CAsMJ55E,EAtMI,SAsMO7pB,GAClB,IAAIoK,EAAI,IAAIrK,KAAKC,GACf8pB,EAAQ,IAAM1f,EAAEjK,WAAa,GAC7B6J,EAAM,GAAKI,EAAEhK,UACb2pB,EAAO3f,EAAE/J,cAEPypB,EAAM7iB,OAAS,IAAG6iB,EAAQ,IAAMA,GAChC9f,EAAI/C,OAAS,IAAG+C,EAAM,IAAMA,GAEhC,IAAMuD,EAAS,CAACuc,EAAO9f,EAAK+f,GAAMjkB,KAAK,KACvC,MAAe,gBAAXyH,EACKA,EAEA,cAnNE,6CAsKb,+FACekF,MAAMxP,OAAOyP,QAAU,wBAAyB,CAC3DC,OAAQ,MACRC,iBAAiB,EACjBC,QAAS,CACPiL,OAAQ,oCACRhL,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,sBAGjBC,MAAK,SAACM,GAAD,OAASA,EAAI/N,UAClByN,MAAK,SAACM,GACL,OAAOA,EAAI+gG,aAEZ9gG,OAAM,SAACtV,GACN,OAAO,KAhBb,oFAtKa,uBAsKEm4G,EAtKF,wFAmJb,+FACe3jG,MAAMxP,OAAOyP,QAAU,4BAA6B,CAC/DC,OAAQ,MACRC,iBAAiB,EACjBC,QAAS,CACPiL,OAAQ,oCACRhL,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,sBAGjBC,MAAK,SAACM,GAAD,OAASA,EAAI/N,UAClByN,MAAK,SAACM,GACL,OAAOA,KAERC,OAAM,SAACtV,GACN,OAAO,KAhBb,oFAnJa,uBAmJEk2G,EAnJF,wFA+Hb,WAAkCjpF,GAAlC,kFACezY,MAAMxP,OAAOyP,QAAU,yBAA0B,CAC5DC,OAAQ,OACRC,iBAAiB,EACjBC,QAAS,CACPC,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,oBAElBvV,KAAM2B,KAAKE,UAAU6rB,KAEpBlY,MAAK,SAACM,GAAD,OAASA,EAAI/N,UAClByN,MAAK,SAACM,GACL,OAAOA,KAERC,OAAM,SAACtV,GAEN,OADAD,YAAa,QAAS,QACf,KAjBb,oFA/Ha,uBA+HEulG,EA/HF,yFA2Gb,+FACe9wF,MAAMxP,OAAOyP,QAAU,4BAA6B,CAC/DC,OAAQ,MACRC,iBAAiB,EACjBC,QAAS,CACPC,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,sBAGjBC,MAAK,SAACM,GAAD,OAASA,EAAI/N,UAClByN,MAAK,SAACM,GACL,OAAOA,KAERC,OAAM,SAACtV,GAEN,OADAD,YAAa,QAAS,QACf,KAhBb,oFA3Ga,uBA2GEq6C,EA3GF,wFAsFb,WAA0B75C,GAA1B,kFACeiU,MAAMxP,OAAOyP,QAAU,mBAAqBlU,EAAI,CAC3DmU,OAAQ,SACRC,iBAAiB,EACjBC,QAAS,CACPC,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,sBAGjBC,KATU,wCASL,WAAOC,GAAP,2FACGA,GADH,2CATK,uDAYVD,MAAK,SAACM,GACL,OAAOk/B,EAAcl/B,MAEtBC,OAAM,SAACtV,GACN,OAAOu0C,EAAcv0C,MAjB3B,oFAtFa,uBAsFEilG,EAtFF,yFA2Db,WAAuBxwD,EAAUl0C,GAAjC,2FACSiU,MACLxP,OAAOyP,QAAU,mBAAqBlU,EAAK,gBAAiB,EAC5D,CACEmU,OAAQ,MACRC,iBAAiB,EACjBC,QAAS,CACPiL,OAAQ,oCACRhL,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,oBAElBvV,KAAM2B,KAAKE,UAAUqzC,KAGtB1/B,KAdI,wCAcC,WAAOC,GAAP,iFACEC,EAAaD,EAASE,OADxB,SAEeF,EAAS1N,OAFxB,cAEE5E,EAFF,yBAGGyS,QAAQC,IAAI,CAACH,EAAYvS,KAH5B,2CAdD,uDAmBJqS,MAAK,SAACM,GACL,OAAOA,EAAI,MAEZC,OAAM,SAAC5K,GACNnH,QAAQmH,MAAMA,OAxBpB,4CA3Da,uBA2DEs6F,EA3DF,2FAoCb,WAAyCvwD,GAAzC,2FACSjgC,MAAMxP,OAAOyP,QAAU,+BAAgC,EAAO,CACnEC,OAAQ,OACRC,iBAAiB,EACjBC,QAAS,CACPC,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,oBAElBvV,KAAM2B,KAAKE,UAAUqzC,KAEpB1/B,KAVI,wCAUC,WAAOC,GAAP,iFACEC,EAAaD,EAASE,OADxB,SAEeF,EAAS1N,OAFxB,cAEE5E,EAFF,yBAGGyS,QAAQC,IAAI,CAACH,EAAYvS,KAH5B,2CAVD,uDAeJqS,MAAK,SAACM,GACL,OAAOA,EAAI,MAEZC,OAAM,SAAC5K,QAnBZ,4CApCa,uBAoCEqrG,EApCF,yFAab,+FACevhG,MAAMxP,OAAOyP,QAAU,+BAAgC,EAAO,CACzEC,OAAQ,MACRC,iBAAiB,EACjBC,QAAS,CACPC,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,sBAGjBC,KATU,wCASL,WAAOC,GAAP,iFACEC,EAAaD,EAASE,OADxB,SAEeF,EAAS1N,OAFxB,cAEE5E,EAFF,yBAGGyS,QAAQC,IAAI,CAACH,EAAYvS,KAH5B,2CATK,uDAcVqS,MAAK,SAACM,GACL,OAAOorF,GAASprF,EAAI,OAErBC,OAAM,SAAC5K,GACNnH,QAAQmH,MAAMA,MAnBpB,oFAba,uBAaEo6F,EAbF,2CACJvwD,EADI,SACUl/B,GACrB,IAAIH,EAASG,EAAIH,OACbs/B,EAAan/B,EAAIm/B,WACrB,OAAe,MAAXt/B,GACFnV,YAAa,UAAW,YACjB,GACa,MAAXmV,GACTnV,YAAa,QAASy0C,IACf,QAFF,GAmLTgrD,EAAKQ,MAAM,sCAAsCN,MAAjD,uBAAuD,4FAC/CzyE,EAAM,GADyC,SAE5BmtB,IAF4B,cAErDntB,EAAG,UAFkD,gBAG3BipF,IAH2B,cAGrDjpF,EAAG,WAHkD,gBAIxBkrF,IAJwB,cAIrDlrF,EAAG,cAJkD,yBAK9C,CAAC,IAAKA,IALwC,6CAOvDuyE,EAAKQ,MAAM,4CAA4CN,MAAvD,uBAA6D,4FACrDzyE,EAAM,GAD+C,SAExBq4E,EAAmBtgG,OAAO4gG,eAFF,cAE3D34E,EAAG,oBAFwD,yBAGpD,CAAC,IAAKA,IAH8C,4CAqB7DuyE,EAAKC,OAAO,4BAA4BC,MAAxC,wCAA8C,+PAASh9F,EAAT,EAASA,KAAT,EACvBxB,KAAKC,MAAMuB,GAAxB+e,EADoC,EACpCA,SACF60F,EAAQx0G,KAAKE,MACH4pB,EAAW0qF,GAHiB,EAqCxC70F,EAhCF4B,YAL0C,MAKnC,GALmC,IAqCxC5B,EA/BFzd,YAN0C,MAMnC,GANmC,IAqCxCyd,EA9BFrD,mBAP0C,MAO5B,GAP4B,IAqCxCqD,EA7BF80F,kBAR0C,MAQ7B,GAR6B,IAqCxC90F,EA5BFsU,gBAT0C,WAqCxCtU,EA3BFzJ,cAV0C,MAUjC,GAViC,IAqCxCyJ,EA1BF3J,iBAX0C,MAW9B,KAX8B,IAqCxC2J,EAzBFvJ,sBAZ0C,MAYzB,KAZyB,IAqCxCuJ,EAxBF/H,uBAb0C,MAaxB,KAbwB,IAqCxC+H,EAvBF9H,uBAd0C,MAcxB,KAdwB,IAqCxC8H,EAtBFg1F,sBAf0C,MAezB,GAfyB,IAqCxCh1F,EArBFi1F,sBAhB0C,MAgBzB,GAhByB,IAqCxCj1F,EApBFk1F,qBAjB0C,MAiB1B,GAjB0B,IAqCxCl1F,EAnBFm1F,kBAlB0C,MAkB7B,GAlB6B,IAqCxCn1F,EAlBFo1F,mBAnB0C,MAmB5B,GAnB4B,IAqCxCp1F,EAjBFq1F,qBApB0C,MAoB1B,GApB0B,IAqCxCr1F,EAhBFs1F,wBArB0C,MAqBvB,GArBuB,IAqCxCt1F,EAfFu1F,wBAtB0C,MAsBvB,GAtBuB,IAqCxCv1F,EAdFw1F,uBAvB0C,MAuBxB,GAvBwB,IAqCxCx1F,EAbFy1F,oBAxB0C,MAwB3B,GAxB2B,IAqCxCz1F,EAZF01F,qBAzB0C,MAyB1B,GAzB0B,IAqCxC11F,EAXF21F,uBA1B0C,MA0BxB,GA1BwB,IAqCxC31F,EAVF41F,mBA3B0C,MA2B7B,GA3B6B,KAqCxC51F,EATF+0F,oBA5B0C,cAqCxC/0F,EARF61F,uBA7B0C,OA6BzB,GA7ByB,MAqCxC71F,EAPF22F,mBA9B0C,OA8B7B,GA9B6B,MAqCxC32F,EANF42F,mBA/B0C,OA+B7B,GA/B6B,MAqCxC52F,EALF62F,mBAhC0C,OAgC7B,GAhC6B,MAqCxC72F,EAJF81F,qBAjC0C,OAiC3B,KAjC2B,MAqCxC91F,EAHF+1F,yBAlC0C,OAkCvB,KAlCuB,MAqCxC/1F,EAFFg2F,6BAnC0C,OAmCnB,KAnCmB,MAqCxCh2F,EADFi2F,oBApC0C,OAoC5B,KApC4B,GAsCtCn3G,GAAKs/F,KACLF,GAAc,CAClBp/F,MACAyD,OACAqf,OACAjF,cACAm4F,aACAxgF,WACA/d,SACAF,YACAI,iBACAwB,kBACAC,kBACA88F,iBACAC,iBACAC,gBACAC,aACAC,cACAC,gBACAC,mBACAC,mBACAC,kBACAC,eACAC,gBACAC,kBACAC,cACAb,eACAc,kBACAgB,cACAD,cACAD,cACAb,gBACAC,oBACAC,wBACAC,gBAxE0C,SA0EZ3B,EAA0BpW,IA1Ed,eA2Eb15F,KAD3B0xG,GA1EwC,QA2EpB5zG,GA3EoB,wBA4E1ChE,YACE,UACA,oDAEF43G,GAAoBp3G,GAAKo3G,GAAoB5zG,GAC7C67F,GAAkB32F,KAAK02F,IACvBhhG,SAASsR,eAAe,iBAAiBinB,QAlFC,kBAmFnC,CACL,IACA,CACEzV,SAAUk+E,GACV14F,QAAS0wG,GAAoB3hG,QAC7BstF,SAAS,KAxF6B,YA4FtCqU,GAAoB3hG,QA5FkB,iBA6FxCrX,SAASsR,eAAe,iBAAiBinB,QACzCn3B,YAAa,QAAS43G,GAAoB3hG,SA9FF,+BAgGxCjW,YACE,UACA,oDAEFpB,SAASsR,eAAe,iBAAiBinB,QApGD,kBAqGjC,CACL,IACA,CACEzV,SAAUk+E,GACV14F,QAAS0wG,GAAoB3hG,QAC7BstF,SAAS,KA1G2B,4CAA9C,uDAiHA9D,EAAKC,OAAO,iCAAiCC,MAA7C,wCAAmD,WAAOj0C,GAAP,yFAC3Cq0C,EAAY,IAAI1B,GAD2B,EAEzBl9F,KAAKC,MAAMsqD,EAAO/oD,OAAlC+iB,EAFyC,EAEzCA,aACQ/V,OAAOmjB,aACf+kF,EAAU5yG,OAAOuzG,qBACjB5+C,EAAcl0C,EAAY/V,OAAOmjB,WACvC+sE,GAAoBgY,EAAQloG,QAAO,SAACm+D,GAAD,OACjClsE,OAAOksE,EAAK7pE,MACT6L,OACAR,cACAS,SAASnO,OAAOg4D,GAAa9pD,OAAOR,gBAEvC1N,OAAOksE,EAAKxqD,MACThU,cACAS,SAASnO,OAAOg4D,GAAa9pD,OAAOR,gBAEvC1N,OAAOksE,EAAKttE,IACTuP,SAASnO,OAAOg4D,GAAa9pD,YAG9BioG,EAAe9yG,OAAOwzG,sBACI,KAAjB,OAAX/yF,QAAW,IAAXA,OAAA,EAAAA,EAAayJ,aAAqBzJ,EAAY/V,OAAOmjB,WArBR,iCAsBrBiyE,IAtBqB,OAsB/ClF,GAtB+C,OAuB/C56F,OAAOuzG,qBAAuB3Y,GAC1BkY,IACiC,KAA/BryF,EAAY/V,OAAOwzB,UACrB08D,GAAoBA,GAAkBlwF,QAAO,SAACm+D,GAAD,OAC3ClsE,OAAOksE,EAAK3qC,SACTrzB,OACAR,cACAS,SAASnO,OAAOm2G,EAAa50E,SAASrzB,OAAOR,mBAGZ,KAApCoW,EAAY/V,OAAO6zB,eACrBq8D,GAAoBA,GAAkBlwF,QAAO,SAACm+D,GAAD,OAC3ClsE,OAAOksE,EAAKtqC,cACT1zB,OACAR,cACAS,SAASnO,OAAOm2G,EAAav0E,cAAc1zB,OAAOR,mBAGzB,KAA5BoW,EAAY/V,OAAOo2C,OACrB85C,GAAoBA,GAAkBlwF,QAAO,SAACm+D,GAAD,OAC3ClsE,OAAOksE,EAAK/nB,MACTj2C,OACAR,cACAS,SAASnO,OAAOm2G,EAAahyD,MAAMj2C,OAAOR,mBAGR,KAArCoW,EAAY/V,OAAO2tE,gBACrBuiB,GAAoBA,GAAkBlwF,QAAO,SAACm+D,GAAD,OAC3ClsE,OAAOksE,EAAKwP,eACTxtE,OACAR,cACAS,SAASnO,OAAOm2G,EAAaz6B,eAAextE,OAAOR,mBAGjB,KAArCoW,EAAY/V,OAAOk5D,gBACrBg3B,GAAoBA,GAAkBlwF,QAAO,SAACm+D,GAAD,OAC3ClsE,OAAOksE,EAAKjF,eACT/4D,OACAR,cACAS,SAASnO,OAAOm2G,EAAalvC,eAAe/4D,OAAOR,mBAGtB,KAAhCoW,EAAY/V,OAAOsoG,WACrBpY,GAAoBA,GAAkBlwF,QAAO,SAACm+D,GAAD,OAC3ClsE,OAAOksE,EAAKmqC,UACTnoG,OACAR,cACAS,SAASnO,OAAOm2G,EAAaE,UAAUnoG,OAAOR,oBAtER,eA2E5CyoG,SACgC7xG,IAA/Bwf,EAAY/V,OAAOwzB,UACrB08D,GAAoBA,GAAkBlwF,QAAO,SAACm+D,GAAD,OAC3ClsE,OAAOksE,EAAK3qC,SACTrzB,OACAR,cACAS,SAASnO,OAAO8jB,EAAY/V,OAAOwzB,SAASrzB,OAAOR,wBAGlBpJ,IAApCwf,EAAY/V,OAAO6zB,eACrBq8D,GAAoBA,GAAkBlwF,QAAO,SAACm+D,GAAD,OAC3ClsE,OAAOksE,EAAKtqC,cACT1zB,OACAR,cACAS,SAASnO,OAAO8jB,EAAY/V,OAAO6zB,cAAc1zB,OAAOR,wBAG/BpJ,IAA5Bwf,EAAY/V,OAAOo2C,OACrB85C,GAAoBA,GAAkBlwF,QAAO,SAACm+D,GAAD,OAC3ClsE,OAAOksE,EAAK/nB,MACTj2C,OACAR,cACAS,SAASnO,OAAO8jB,EAAY/V,OAAOo2C,MAAMj2C,OAAOR,wBAGdpJ,IAArCwf,EAAY/V,OAAO2tE,gBACrBuiB,GAAoBA,GAAkBlwF,QAAO,SAACm+D,GAAD,OAC3ClsE,OAAOksE,EAAKwP,eACTxtE,OACAR,cACAS,SAASnO,OAAO8jB,EAAY/V,OAAO2tE,eAAextE,OAAOR,wBAGvBpJ,IAArCwf,EAAY/V,OAAOk5D,gBACrBg3B,GAAoBA,GAAkBlwF,QAAO,SAACm+D,GAAD,OAC3ClsE,OAAOksE,EAAKjF,eACT/4D,OACAR,cACAS,SAASnO,OAAO8jB,EAAY/V,OAAOk5D,eAAe/4D,OAAOR,wBAG5BpJ,IAAhCwf,EAAY/V,OAAOsoG,WACrBpY,GAAoBA,GAAkBlwF,QAAO,SAACm+D,GAAD,OAC3ClsE,OAAOksE,EAAKmqC,UACTnoG,OACAR,cACAS,SAASnO,OAAO8jB,EAAY/V,OAAOsoG,UAAUnoG,OAAOR,oBAIvD4oG,EAAiBxyF,EAAY/V,OAAOqmB,SAExC6pE,QADqB35F,IAAnBgyG,EACkBrY,GAAkBlwF,QAAO,SAACm+D,GAAD,OAC3ClsE,OAAOksE,EAAK93C,UAAUjmB,SAASnO,QAAO,OAGpCs2G,EACkBrY,GAAkBlwF,QAAO,SAACm+D,GAAD,OAC3ClsE,OAAOksE,EAAK93C,UAAUjmB,SAASnO,OAAOs2G,OAGpBrY,GAAkBlwF,QAAO,SAACm+D,GAAD,OAC3ClsE,OAAOksE,EAAK93C,UAAUjmB,SAASnO,QAAO,cAIrC8jB,EAAY/V,OAAOojB,mBACnBrN,EAAY/V,OAAOmjB,WAEpBqlF,EAAoBpY,EAAUC,WAClCH,GACAn6E,GAlJ+C,kBAoJ1C,CAAC,IAAKyyF,IApJoC,4CAAnD,uDAuJA1Y,EAAKC,OAAO,4CAA4CC,OAAM,SAACj0C,GAQ7D,OAPgBvqD,KAAKC,MAAMsqD,EAAO/oD,MAA1B2iB,IACJhkB,SAAQ,SAACd,GACX,IAAM6D,EAAQw7F,GAAkBr6E,WAAU,SAACJ,GAAD,OAAQA,EAAG5kB,KAAOA,KACxD6D,GAAS,GACXw7F,GAAkBx6D,OAAOhhC,EAAO,MAG7B,CAAC,QAGVo7F,EAAKC,OAAO,qDACTC,OAAM,SAACj0C,GACN,MAAwBvqD,KAAKC,MAAMsqD,EAAO/oD,MAAlC2iB,EAAR,EAAQA,IAAKnQ,EAAb,EAAaA,OAMb,OALA0qF,GAAkBv+F,SAAQ,SAAC8jB,GACrBE,EAAIE,WAAU,SAAChlB,GAAD,OAAQA,IAAO4kB,EAAG5kB,OAAO,IACzC4kB,EAAGjQ,OAASA,MAGT,CAAC,QA0BZsqF,EAAKQ,MAAM,kCAAkCN,MAA7C,wCAAmD,WAAOj0C,GAAP,iFAC3ClrD,EAAKkrD,EAAOt5C,IAAIjG,MAAM,oCAAoC,GADf,SAE1Bs5F,EAAQjlG,GAFkB,UAE3CkhB,EAF2C,gDAIxC,CAAC,MAJuC,gCAM1C,CAAC,IAAKA,IANoC,2CAAnD,uDASA+9E,EAAKS,MAAM,kCAAkCP,MAA7C,wCAAmD,WAAOj0C,GAAP,uFAC3ClrD,EAAKkrD,EAAOt5C,IAAIjG,MAAM,oCAAoC,GADf,EAE5BhL,KAAKC,MAAMsqD,EAAO/oD,MAA/B+e,EAFyC,EAEzCA,SAFyC,SAG5BujF,EAAQvjF,EAAUlhB,GAHU,oBAG3C+O,EAH2C,kBAI7CA,OAJ6C,EAI7CA,EAAQ0G,SAJqC,wBAK/CjW,YACE,aADU,OAEVuP,QAFU,IAEVA,OAFU,EAEVA,EAAQ0G,SAPqC,mBASxC,GATwC,eAWzC5R,EAAQw7F,GAAkBr6E,WAAU,SAACJ,GAAD,OAAQA,EAAG5kB,MAAQA,KAC7Dq/F,GAAkBx7F,GAAlB,eAAgCqd,GAChC1hB,YACE,UACA,sDAEFpB,SAASsR,eAAe,iBAAiBinB,QAjBM,kBAkBxC,CAAC,MAlBuC,4CAAnD,uDAsBAsoE,EAAK31E,SAAS,kCAAkC61E,MAAhD,wCAAsD,WAAOj0C,GAAP,6EAC9ClrD,EAAKkrD,EAAOt5C,IAAIjG,MAAM,oCAAoC,IAEjD,KADT9H,EAAQw7F,GAAkBr6E,WAAU,SAACJ,GAAD,OAAQA,EAAG5kB,MAAQA,MAFT,yCAI3C,CAAC,MAJ0C,uBAM9B0kG,EAAW1kG,GANmB,0DAQ3C,CAAC,MAR0C,cAUpDq/F,GAAkBx6D,OAAOhhC,EAAO,GAVoB,kBAW7C,CAAC,MAX4C,4CAAtD,uDA1iBa,6C,sBAyjBf,SAASq8F,GAASv4F,GAChB,IAAK,IAAI/D,KAAQ+D,EACfA,EAAK/D,GAAM5D,GAAK2H,EAAK/D,GAAMJ,UACpBmE,EAAK/D,GAAMJ,GAEpB,OAAOmE,EAGT,SAAS23F,KACP,IAAMx6E,EAAMu6E,GAAkB17F,KAAI,SAACihB,GAAD,OAAQA,EAAG5kB,MAE7C,OADc2K,KAAKgrB,IAAL,MAAAhrB,KAAI,YAAQma,IACX,E,2yMCtkBjB,IAEIu6E,GAFExhG,GAAU,IAAIC,IAAa,MAC3BC,GAAKC,IAAIH,I,+CAEA,WAAgCohG,GAAhC,IACJjrD,EAYMuwD,EAbF,EAiEEiR,EAjEF,EAwFEC,EAxFF,EA8GEhR,EA9GF,EAsIEC,EAtIF,EA2JE3T,EA3JF,EA+KEgU,EA/KF,EAyVEE,EAzVF,iHAyVb,WAAuBjlG,GAAvB,kFACeiU,MAAMxP,OAAOyP,QAAU,YAAclU,EAAI,CACpDmU,OAAQ,MACRC,iBAAiB,EACjBC,QAAS,CACPC,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,sBAGjBC,KATU,wCASL,WAAOC,GAAP,iFACEC,EAAaD,EAASE,OADxB,SAEeF,EAAS1N,OAFxB,cAEE5E,EAFF,yBAGGyS,QAAQC,IAAI,CAACH,EAAYvS,KAH5B,2CATK,uDAcVqS,MAAK,SAACM,GACL,OAAOA,EAAI,MAEZC,OAAM,SAAC5K,GACNnH,QAAQmH,MAAMA,MAnBpB,oFAzVa,uBAyVE86F,EAzVF,yFA+Kb,WAAkCv4E,GAAlC,kFACezY,MAAMxP,OAAOyP,QAAU,yBAA0B,CAC5DC,OAAQ,OACRC,iBAAiB,EACjBC,QAAS,CACPC,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,oBAElBvV,KAAM2B,KAAKE,UAAU6rB,KAEpBlY,MAAK,SAACM,GAAD,OAASA,EAAI/N,UAClByN,MAAK,SAACM,GACL,OAAOA,KAERC,OAAM,SAACtV,GAEN,OADAD,YAAa,QAAS,QACf,KAjBb,oFA/Ka,uBA+KEulG,EA/KF,yFA2Jb,+FACe9wF,MAAMxP,OAAOyP,QAAU,qBAAsB,CACxDC,OAAQ,MACRC,iBAAiB,EACjBC,QAAS,CACPC,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,sBAGjBC,MAAK,SAACM,GAAD,OAASA,EAAI/N,UAClByN,MAAK,SAACM,GACL,OAAOA,KAERC,OAAM,SAACtV,GAEN,OADAD,YAAa,QAAS,QACf,KAhBb,oFA3Ja,uBA2JEuxF,EA3JF,wFAsIb,WAA0B/wF,GAA1B,kFACeiU,MAAMxP,OAAOyP,QAAU,YAAclU,EAAI,CACpDmU,OAAQ,SACRC,iBAAiB,EACjBC,QAAS,CACPC,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,sBAGjBC,KATU,wCASL,WAAOC,GAAP,2FACGA,GADH,2CATK,uDAYVD,MAAK,SAACM,GACL,OAAOk/B,EAAcl/B,MAEtBC,OAAM,SAACtV,GACN,OAAOu0C,EAAcv0C,MAjB3B,oFAtIa,uBAsIEilG,EAtIF,yFA8Gb,WAAuBxwD,EAAUl0C,GAAjC,2FACSiU,MAAMxP,OAAOyP,QAAU,YAAclU,EAAI,CAC9CmU,OAAQ,MACRC,iBAAiB,EACjBC,QAAS,CACPiL,OAAQ,oCACRhL,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,oBAElBvV,KAAM2B,KAAKE,UAAUqzC,KAEpB1/B,KAXI,wCAWC,WAAOC,GAAP,iFACEC,EAAaD,EAASE,OADxB,SAEeF,EAAS1N,OAFxB,cAEE5E,EAFF,yBAGGyS,QAAQC,IAAI,CAACH,EAAYvS,KAH5B,2CAXD,uDAgBJqS,MAAK,SAACM,GACL,OAAOA,EAAI,MAEZC,OAAM,SAAC5K,GACNnH,QAAQmH,MAAMA,OArBpB,4CA9Ga,uBA8GEs6F,EA9GF,2FAwFb,WAA6BzkG,GAA7B,2FACSiU,MAAMxP,OAAOyP,QAAU,iBAAmBlU,EAAI,CACnDmU,OAAQ,OACRC,iBAAiB,EACjBC,QAAS,CACPC,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,sBAGjBC,KATI,wCASC,WAAOC,GAAP,iFACEC,EAAaD,EAASE,OADxB,SAEeF,EAAS1N,OAFxB,cAEE5E,EAFF,yBAGGyS,QAAQC,IAAI,CAACH,EAAYvS,KAH5B,2CATD,uDAcJqS,MAAK,SAACM,GACL,OAAOA,EAAI,MAEZC,OAAM,SAAC5K,QAlBZ,4CAxFa,uBAwFEsrG,EAxFF,yFAiEb,WAAyCvhE,GAAzC,2FACSjgC,MAAMxP,OAAOyP,QAAU,wBAAyB,CACrDC,OAAQ,OACRC,iBAAiB,EACjBC,QAAS,CACPC,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,oBAElBvV,KAAM2B,KAAKE,UAAUqzC,KAEpB1/B,KAVI,wCAUC,WAAOC,GAAP,iFACEC,EAAaD,EAASE,OADxB,SAEeF,EAAS1N,OAFxB,cAEE5E,EAFF,yBAGGyS,QAAQC,IAAI,CAACH,EAAYvS,KAH5B,2CAVD,uDAeJqS,MAAK,SAACM,GACL,OAAOA,EAAI,MAEZC,OAAM,SAAC5K,QAnBZ,4CAjEa,uBAiEEqrG,EAjEF,yFAab,WAA4Bh7C,GAA5B,kFACevmD,MAAMxP,OAAOyP,QAAU,YAAcsmD,EAAM,CACtDrmD,OAAQ,MACRC,iBAAiB,EACjBC,QAAS,CACPC,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,sBAGjBC,KATU,wCASL,WAAOC,GAAP,mFACEC,EAAaD,EAASE,OADxB,SAEeF,EAAS1N,OAFxB,cAEE5E,EAFF,OAGJsC,OAAOyzG,eAAiB/1G,EAAKg2G,SACvBC,EAAa,CACjB,CACE50G,GAAI,GACJC,KAAM,QACNk1D,MAAOx2D,EAAKk2G,YAEd,CACE70G,GAAI,GACJC,KAAM,MACNk1D,MAAOx2D,EAAKm2G,UAEd,CACE90G,GAAI,GACJC,KAAM,UACNk1D,MAAOx2D,EAAKo2G,cAEd,CACE/0G,GAAI,GACJC,KAAM,WACNk1D,MAAOx2D,EAAKq2G,eAEd,CACEh1G,GAAI,GACJC,KAAM,WACNk1D,MAAOx2D,EAAKs2G,gBAGhBh0G,OAAOi0G,YAAcN,EA/BjB,kBAgCGxjG,QAAQC,IAAI,CAACH,EAAYvS,EAAKA,QAhCjC,2CATK,uDA2CVqS,MAAK,SAACM,GACL,OAAOorF,GAASprF,EAAI,OAErBC,OAAM,SAAC5K,GACNnH,QAAQmH,MAAMA,MAhDpB,oFAba,uBAaEo6F,EAbF,4CACJvwD,EADI,SACUl/B,GACrB,IAAIH,EAASG,EAAIH,OACbs/B,EAAan/B,EAAIm/B,WACrB,OAAe,MAAXt/B,GACFnV,YAAa,UAAW,YACjB,GACa,MAAXmV,GACTnV,YAAa,QAASy0C,IACf,QAFF,GA6LTgrD,EAAKQ,MAAM,sCAAsCN,MAAjD,uBAAuD,4FAC/CzyE,EAAM,GADyC,SAE5BqkE,IAF4B,cAErDrkE,EAAG,UAFkD,yBAG9C,CAAC,IAAKA,IAHwC,4CAKvDuyE,EAAKQ,MAAM,sCAAsCN,MAAjD,uBAAuD,4FAC/Cn/F,EAAKyE,OAAOqxG,QADmC,SAE/CL,EAAcz1G,GAFiC,OAGrD5B,SAASsR,eAAe,iBAAiBinB,QACzCn3B,YAAa,UAAW,2CAJ6B,4CAMvDy/F,EAAKQ,MAAM,4CAA4CN,MAAvD,uBAA6D,4FACrDzyE,EAAM,GAD+C,SAExBq4E,EAAmBtgG,OAAO4gG,eAFF,cAE3D34E,EAAG,oBAFwD,yBAGpD,CAAC,IAAKA,IAH8C,4CAK7DuyE,EAAKC,OAAO,4BAA4BC,MAAxC,wCAA8C,uIAASh9F,EAAT,EAASA,KAAT,EACvBxB,KAAKC,MAAMuB,GAAxB+e,EADoC,EACpCA,SADoC,EAWxCA,EARFzd,YAH0C,MAGnC,GAHmC,IAWxCyd,EAPFrD,mBAJ0C,MAI5B,GAJ4B,IAWxCqD,EANFoiC,gBAL0C,MAK/B,GAL+B,IAWxCpiC,EALFy3F,iBAN0C,MAM9B,GAN8B,IAWxCz3F,EAJF03F,eAP0C,MAOhC,GAPgC,IAWxC13F,EAHF23F,mBAR0C,MAQ9B,KAR8B,IAWxC33F,EAFFuhE,mBAT0C,MAS5B,GAT4B,IAWxCvhE,EADF43F,aAV0C,MAUlC,GAVkC,EAYtC94G,EAAKs/F,KACLF,EAAc,CAClBp/F,KACAyD,OACAoa,cACAylC,WACAq1D,YACAE,cACAD,UACAn2B,cACAq2B,SAtB0C,SAwBZtD,EAA0BpW,GAxBd,eAyBd15F,IAD1B0xG,EAxBwC,QAyBpB5zG,GAzBoB,wBA0B1ChE,YAAa,UAAW,qCACxB43G,EAAoBp3G,GAAKo3G,EAAoB5zG,GAC7C67F,GAAkB32F,KAAK02F,GACvBhhG,SAASsR,eAAe,iBAAiBinB,QACzCrxB,KAAE,uBAAuB0L,OACzBvM,OAAOs0G,mBAAoB,EA/Be,kBAgCnC,CACL,IACA,CACE73F,SAAUk+E,EACV14F,QAAS0wG,EAAoB3hG,QAC7BstF,SAAS,KArC6B,YAyCtCqU,EAAoB3hG,QAzCkB,wBA0CxCrX,SAASsR,eAAe,iBAAiBinB,QACzCn3B,YAAa,QAAS43G,EAAoB3hG,SAC1ChR,OAAOs0G,mBAAoB,EAC3BzzG,KAAE,uBAAuB4tC,OA7Ce,kBA8CjC,CACL,IACA,CACEhyB,SAAUk+E,EACV14F,QAAS0wG,EAAoB3hG,QAC7BstF,SAAS,KAnD2B,eAuDxCvjG,YAAa,UAAW,qCACxBpB,SAASsR,eAAe,iBAAiBinB,QACzCrxB,KAAE,uBAAuB0L,OACzBvM,OAAOs0G,mBAAoB,EA1Da,kBA2DjC,CACL,IACA,CACE73F,SAAUk+E,EACV14F,QAAS0wG,EAAoB3hG,QAC7BstF,SAAS,KAhE2B,4CAA9C,uDAuEA9D,EAAKC,OAAO,iCAAiCC,MAA7C,wCAAmD,WAAOj0C,GAAP,uGAC3Cq0C,EAAY,IAAI1B,EAD2B,EAEzBl9F,KAAKC,MAAMsqD,EAAO/oD,MAAlC+iB,EAFyC,EAEzCA,YAEJ8zF,EAAY,eADVrG,EAAUztF,GACwB/V,OAAOsmB,WAAa,IACxDjQ,EAAa,gBAAkBmtF,EAAQxjG,OAAO+J,YAAc,IAC5D05C,EAAW,cAAgBnuD,OAAOw0G,uBAAyB,IAC3DrzG,EAAO,UAAY+sG,EAAQxjG,OAAO1L,MAAQ,IAC1Cy1G,EAAY,eAAiBvG,EAAQxjG,OAAOwpG,WAAa,IACzDQ,EAAU,aAAexG,EAAQxjG,OAAOypG,SAAW,IACnDQ,EAAU,YAAezG,EAAQxjG,OAAOkqG,QAC9B,gBACV7+C,EACFw+C,EACAxzF,EACAotC,EACAhtD,EACAszG,EACAC,EACAA,EACAC,EATY,gBAXmC,UAsBvB7U,EAAa/pC,GAtBU,eAsBjD6kC,GAtBiD,cAuB1CsT,EAAQxjG,OAAOsmB,iBACfk9E,EAAQxjG,OAAO+J,kBACfy5F,EAAQxjG,OAAOm0C,gBACfqvD,EAAQxjG,OAAOwpG,iBACfhG,EAAQxjG,OAAOypG,eACfjG,EAAQxjG,OAAOojB,mBACfogF,EAAQxjG,OAAOkqG,eACf1G,EAAQxjG,OAAO1L,KAEhB48F,EAAmBd,EAAUC,WACjCH,GACAn6E,GAlC+C,kBAoC1C,CAAC,IAAKm7E,IApCoC,4CAAnD,uDAuCApB,EAAKC,OAAO,4CAA4CC,OAAM,SAACj0C,GAQ7D,OAPgBvqD,KAAKC,MAAMsqD,EAAO/oD,MAA1B2iB,IACJhkB,SAAQ,SAACd,GACX,IAAM6D,EAAQw7F,GAAkBr6E,WAAU,SAACJ,GAAD,OAAQA,EAAG5kB,KAAOA,KACxD6D,GAAS,GACXw7F,GAAkBx6D,OAAOhhC,EAAO,MAG7B,CAAC,QAGVo7F,EACGC,OAAO,qDACPC,OAAM,SAACj0C,GACN,MAAwBvqD,KAAKC,MAAMsqD,EAAO/oD,MAAlC2iB,EAAR,EAAQA,IAAKnQ,EAAb,EAAaA,OAMb,OALA0qF,GAAkBv+F,SAAQ,SAAC8jB,GACrBE,EAAIE,WAAU,SAAChlB,GAAD,OAAQA,IAAO4kB,EAAG5kB,OAAO,IACzC4kB,EAAGjQ,OAASA,MAGT,CAAC,QA0BZsqF,EAAKQ,MAAM,kCAAkCN,MAA7C,wCAAmD,WAAOj0C,GAAP,iFAC3ClrD,EAAKkrD,EAAOt5C,IAAIjG,MAAM,oCAAoC,GADf,SAE1Bs5F,EAAQjlG,GAFkB,UAE3CkhB,EAF2C,gDAIxC,CAAC,MAJuC,gCAM1C,CAAC,IAAKA,IANoC,2CAAnD,uDASA+9E,EAAKS,MAAM,kCAAkCP,MAA7C,wCAAmD,WAAOj0C,GAAP,uFAC3ClrD,EAAKkrD,EAAOt5C,IAAIjG,MAAM,oCAAoC,GADf,EAE5BhL,KAAKC,MAAMsqD,EAAO/oD,MAA/B+e,EAFyC,EAEzCA,SAFyC,SAG1BujF,EAAQvjF,EAAUlhB,GAHQ,UAG3Cs5G,EAH2C,OAI3Cz1G,EAAQw7F,GAAkBr6E,WAAU,SAACJ,GAAD,OAAQA,EAAG5kB,MAAQA,KAC7Dq/F,GAAkBx7F,GAAlB,eAAgCqd,IAC7Bo4F,EAAS7jG,QANqC,wBAO/CjW,YAAa,QAAS85G,EAAS7jG,SAPgB,mBAQxC,GARwC,eAU/CjW,YAAa,UAAW,uCACxBpB,SAASsR,eAAe,iBAAiBinB,QACzCrxB,KAAE,uBAAuB0L,OAZsB,kBAaxC,CAAC,MAbuC,4CAAnD,uDAiBAiuF,EAAK31E,SAAS,kCAAkC61E,MAAhD,wCAAsD,WAAOj0C,GAAP,6EAC9ClrD,EAAKkrD,EAAOt5C,IAAIjG,MAAM,oCAAoC,IAEjD,KADT9H,EAAQw7F,GAAkBr6E,WAAU,SAACJ,GAAD,OAAQA,EAAG5kB,MAAQA,MAFT,yCAI3C,CAAC,MAJ0C,uBAM9B0kG,EAAW1kG,GANmB,0DAQ3C,CAAC,MAR0C,cAUpDq/F,GAAkBx6D,OAAOhhC,EAAO,GAChCzF,SAASsR,eAAe,iBAAiBinB,QAXW,kBAY7C,CAAC,MAZ4C,4CAAtD,uDA1Ya,6C,sBA0Zf,SAASupE,GAASv4F,GAChB,IAAK,IAAI/D,KAAQ+D,EACfA,EAAK/D,GAAM5D,GAAK2H,EAAK/D,GAAMJ,UACpBmE,EAAK/D,GAAMJ,GAEpB,OAAOmE,EAGT,SAAS23F,KACP,IAAMx6E,EAAMu6E,GAAkB17F,KAAI,SAACihB,GAAD,OAAQA,EAAG5kB,MAE7C,OADc2K,KAAKgrB,IAAL,MAAAhrB,KAAI,YAAQma,IACX,E,2yMCxajB,IAEIu6E,GAFExhG,GAAU,IAAIC,IAAa,MAC3BC,GAAKC,IAAIH,I,+CAEA,WAAwCohG,GAAxC,IACJjrD,EAYMuwD,EAbF,EA4DEiR,EA5DF,EAmFEC,EAnFF,EAyGEhR,EAzGF,EAiIEC,EAjIF,EAsJE3T,EAtJF,EA0KEgU,EA1KF,EAoVEE,EApVF,iHAoVb,WAAuBjlG,GAAvB,kFACeiU,MAAMxP,OAAOyP,QAAU,YAAclU,EAAK,iBAAkB,CACvEmU,OAAQ,MACRC,iBAAiB,EACjBC,QAAS,CACPC,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,sBAGjBC,KATU,wCASL,WAAOC,GAAP,iFACEC,EAAaD,EAASE,OADxB,SAEeF,EAAS1N,OAFxB,cAEE5E,EAFF,yBAGGyS,QAAQC,IAAI,CAACH,EAAYvS,KAH5B,2CATK,uDAcVqS,MAAK,SAACM,GACL,OAAOA,EAAI,MAEZC,OAAM,SAAC5K,GACNnH,QAAQmH,MAAMA,MAnBpB,oFApVa,uBAoVE86F,EApVF,yFA0Kb,WAAkCv4E,GAAlC,kFACezY,MAAMxP,OAAOyP,QAAU,yBAA0B,CAC5DC,OAAQ,OACRC,iBAAiB,EACjBC,QAAS,CACPC,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,oBAElBvV,KAAM2B,KAAKE,UAAU6rB,KAEpBlY,MAAK,SAACM,GAAD,OAASA,EAAI/N,UAClByN,MAAK,SAACM,GACL,OAAOA,KAERC,OAAM,SAACtV,GAEN,OADAD,YAAa,QAAS,QACf,KAjBb,oFA1Ka,uBA0KEulG,EA1KF,yFAsJb,+FACe9wF,MAAMxP,OAAOyP,QAAU,qBAAsB,CACxDC,OAAQ,MACRC,iBAAiB,EACjBC,QAAS,CACPC,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,sBAGjBC,MAAK,SAACM,GAAD,OAASA,EAAI/N,UAClByN,MAAK,SAACM,GACL,OAAOA,KAERC,OAAM,SAACtV,GAEN,OADAD,YAAa,QAAS,QACf,KAhBb,oFAtJa,uBAsJEuxF,EAtJF,wFAiIb,WAA0B/wF,GAA1B,kFACeiU,MAAMxP,OAAOyP,QAAU,YAAclU,EAAI,CACpDmU,OAAQ,SACRC,iBAAiB,EACjBC,QAAS,CACPC,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,sBAGjBC,KATU,wCASL,WAAOC,GAAP,2FACGA,GADH,2CATK,uDAYVD,MAAK,SAACM,GACL,OAAOk/B,EAAcl/B,MAEtBC,OAAM,SAACtV,GACN,OAAOu0C,EAAcv0C,MAjB3B,oFAjIa,uBAiIEilG,EAjIF,yFAyGb,WAAuBxwD,EAAUl0C,GAAjC,2FACSiU,MAAMxP,OAAOyP,QAAU,YAAclU,EAAK,iBAAkB,CACjEmU,OAAQ,MACRC,iBAAiB,EACjBC,QAAS,CACPiL,OAAQ,oCACRhL,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,oBAElBvV,KAAM2B,KAAKE,UAAUqzC,KAEpB1/B,KAXI,wCAWC,WAAOC,GAAP,iFACEC,EAAaD,EAASE,OADxB,SAEeF,EAAS1N,OAFxB,cAEE5E,EAFF,yBAGGyS,QAAQC,IAAI,CAACH,EAAYvS,KAH5B,2CAXD,uDAgBJqS,MAAK,SAACM,GACL,OAAOA,EAAI,MAEZC,OAAM,SAAC5K,GACNnH,QAAQmH,MAAMA,OArBpB,4CAzGa,uBAyGEs6F,EAzGF,2FAmFb,WAA6BzkG,GAA7B,2FACSiU,MAAMxP,OAAOyP,QAAU,iBAAmBlU,EAAI,CACnDmU,OAAQ,OACRC,iBAAiB,EACjBC,QAAS,CACPC,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,sBAGjBC,KATI,wCASC,WAAOC,GAAP,iFACEC,EAAaD,EAASE,OADxB,SAEeF,EAAS1N,OAFxB,cAEE5E,EAFF,yBAGGyS,QAAQC,IAAI,CAACH,EAAYvS,KAH5B,2CATD,uDAcJqS,MAAK,SAACM,GACL,OAAOA,EAAI,MAEZC,OAAM,SAAC5K,QAlBZ,4CAnFa,uBAmFEsrG,EAnFF,yFA4Db,WAAyCvhE,GAAzC,2FACSjgC,MAAMxP,OAAOyP,QAAU,yBAA0B,CACtDC,OAAQ,OACRC,iBAAiB,EACjBC,QAAS,CACPC,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,oBAElBvV,KAAM2B,KAAKE,UAAUqzC,KAEpB1/B,KAVI,wCAUC,WAAOC,GAAP,iFACEC,EAAaD,EAASE,OADxB,SAEeF,EAAS1N,OAFxB,cAEE5E,EAFF,yBAGGyS,QAAQC,IAAI,CAACH,EAAYvS,KAH5B,2CAVD,uDAeJqS,MAAK,SAACM,GACL,OAAOA,EAAI,MAEZC,OAAM,SAAC5K,QAnBZ,4CA5Da,uBA4DEqrG,EA5DF,yFAab,WAA4Bh7C,GAA5B,kFACevmD,MAAMxP,OAAOyP,QAAU,YAAcsmD,EAAM,CACtDrmD,OAAQ,MACRC,iBAAiB,EACjBC,QAAS,CACPC,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,sBAGjBC,KATU,wCASL,WAAOC,GAAP,mFACEC,EAAaD,EAASE,OADxB,SAEeF,EAAS1N,OAFxB,cAEE5E,EAFF,OAGJsC,OAAOyzG,eAAiB/1G,EAAKg2G,SACvBC,EAAa,CACjB,CACE50G,GAAI,GACJC,KAAM,QACNk1D,MAAOx2D,EAAKk2G,YAEd,CACE70G,GAAI,GACJC,KAAM,MACNk1D,MAAOx2D,EAAKm2G,UAEd,CACE90G,GAAI,GACJC,KAAM,WACNk1D,MAAOx2D,EAAKq2G,eAEd,CACEh1G,GAAI,GACJC,KAAM,WACNk1D,MAAOx2D,EAAKs2G,gBAGhBh0G,OAAOi0G,YAAcN,EA1BjB,kBA2BGxjG,QAAQC,IAAI,CAACH,EAAYvS,EAAKA,QA3BjC,2CATK,uDAsCVqS,MAAK,SAACM,GACL,OAAOorF,GAASprF,EAAI,OAErBC,OAAM,SAAC5K,GACNnH,QAAQmH,MAAMA,MA3CpB,oFAba,uBAaEo6F,EAbF,4CACJvwD,EADI,SACUl/B,GACrB,IAAIH,EAASG,EAAIH,OACbs/B,EAAan/B,EAAIm/B,WACrB,OAAe,MAAXt/B,GACFnV,YAAa,UAAW,YACjB,GACa,MAAXmV,GACTnV,YAAa,QAASy0C,IACf,QAFF,GAwLTgrD,EAAKQ,MAAM,sCAAsCN,MAAjD,uBAAuD,4FAC/CzyE,EAAM,GADyC,SAE5BqkE,IAF4B,cAErDrkE,EAAG,UAFkD,yBAG9C,CAAC,IAAKA,IAHwC,4CAKvDuyE,EAAKQ,MAAM,sCAAsCN,MAAjD,uBAAuD,4FAC/Cn/F,EAAKyE,OAAOqxG,QADmC,SAE/CL,EAAcz1G,GAFiC,OAGrD5B,SAASsR,eAAe,iBAAiBinB,QACzCn3B,YAAa,UAAW,2CAJ6B,4CAMvDy/F,EAAKQ,MAAM,4CAA4CN,MAAvD,uBAA6D,4FACrDzyE,EAAM,GAD+C,SAExBq4E,EAAmBtgG,OAAO4gG,eAFF,cAE3D34E,EAAG,oBAFwD,yBAGpD,CAAC,IAAKA,IAH8C,4CAK7DuyE,EAAKC,OAAO,4BAA4BC,MAAxC,wCAA8C,2IAASh9F,EAAT,EAASA,KAAT,EACvBxB,KAAKC,MAAMuB,GAAxB+e,EADoC,EACpCA,SADoC,EAYxCA,EATFzd,YAH0C,MAGnC,GAHmC,IAYxCyd,EARFrD,mBAJ0C,MAI5B,GAJ4B,IAYxCqD,EAPFoiC,gBAL0C,MAK/B,GAL+B,IAYxCpiC,EANFy3F,iBAN0C,MAM9B,GAN8B,IAYxCz3F,EALF03F,eAP0C,MAOhC,GAPgC,IAYxC13F,EAJF23F,mBAR0C,MAQ9B,KAR8B,IAYxC33F,EAHFuhE,mBAT0C,MAS5B,GAT4B,IAYxCvhE,EAFFq4F,kBAV0C,MAU7B,GAV6B,IAYxCr4F,EADF43F,aAX0C,MAWlC,GAXkC,EAatC94G,EAAKs/F,KACLF,EAAc,CAClBp/F,KACAyD,OACAoa,cACAylC,WACAq1D,YACAC,UACAn2B,cACAo2B,cACAU,aACAT,SAxB0C,SA0BZtD,EAA0BpW,GA1Bd,eA2Bd15F,IAD1B0xG,EA1BwC,QA2BpB5zG,GA3BoB,wBA4B1ChE,YAAa,UAAW,qCACxB43G,EAAoBp3G,GAAKo3G,EAAoB5zG,GAC7C67F,GAAkB32F,KAAK02F,GACvBhhG,SAASsR,eAAe,iBAAiBinB,QACzCrxB,KAAE,sBAAsB0L,OACxBvM,OAAO+0G,kBAAmB,EAjCgB,kBAkCnC,CACL,IACA,CACEt4F,SAAUk+E,EACV14F,QAAS0wG,EAAoB3hG,QAC7BstF,SAAS,KAvC6B,YA2CtCqU,EAAoB3hG,QA3CkB,wBA4CxCrX,SAASsR,eAAe,iBAAiBinB,QACzCn3B,YAAa,QAAS43G,EAAoB3hG,SAC1ChR,OAAO+0G,kBAAmB,EA9Cc,kBA+CjC,CACL,IACA,CACEt4F,SAAUk+E,EACV14F,QAAS0wG,EAAoB3hG,QAC7BstF,SAAS,KApD2B,eAwDxCvjG,YAAa,UAAW,qCACxBpB,SAASsR,eAAe,iBAAiBinB,QACzCrxB,KAAE,sBAAsB0L,OACxBvM,OAAO+0G,kBAAmB,EA3Dc,kBA4DjC,CACL,IACA,CACEt4F,SAAUk+E,EACV14F,QAAS0wG,EAAoB3hG,QAC7BstF,SAAS,KAjE2B,4CAA9C,uDAwEA9D,EAAKC,OAAO,iCAAiCC,MAA7C,wCAAmD,WAAOj0C,GAAP,uGAC3Cq0C,EAAY,IAAI1B,EAD2B,EAEzBl9F,KAAKC,MAAMsqD,EAAO/oD,MAAlC+iB,EAFyC,EAEzCA,YAEJ8zF,EAAY,eADVrG,EAAUztF,GACwB/V,OAAOsmB,WAAa,IACxDjQ,EAAa,gBAAkBmtF,EAAQxjG,OAAO+J,YAAc,IAC5D05C,EAAW,cAAgBnuD,OAAOw0G,uBAAyB,IAC3DrzG,EAAO,UAAY+sG,EAAQxjG,OAAO1L,MAAQ,IAC1Cy1G,EAAY,eAAiBvG,EAAQxjG,OAAOwpG,WAAa,IACzDQ,EAAU,aAAexG,EAAQxjG,OAAOypG,SAAW,IACnDQ,EAAU,YAAezG,EAAQxjG,OAAOkqG,QAC9B,iBACV7+C,EACFw+C,EACAxzF,EACAotC,EACAhtD,EACAszG,EACAC,EACAA,EACAC,EATY,iBAXmC,UAsBvB7U,EAAa/pC,GAtBU,eAsBjD6kC,GAtBiD,cAuB1CsT,EAAQxjG,OAAOsmB,iBACfk9E,EAAQxjG,OAAO+J,kBACfy5F,EAAQxjG,OAAOm0C,gBACfqvD,EAAQxjG,OAAOwpG,iBACfhG,EAAQxjG,OAAOypG,eACfjG,EAAQxjG,OAAOojB,mBACfogF,EAAQxjG,OAAOkqG,eACf1G,EAAQxjG,OAAO1L,KAChB48F,EAAmBd,EAAUC,WACjCH,GACAn6E,GAjC+C,kBAmC1C,CAAC,IAAKm7E,IAnCoC,4CAAnD,uDAsCApB,EAAKC,OAAO,4CAA4CC,OAAM,SAACj0C,GAQ7D,OAPgBvqD,KAAKC,MAAMsqD,EAAO/oD,MAA1B2iB,IACJhkB,SAAQ,SAACd,GACX,IAAM6D,EAAQw7F,GAAkBr6E,WAAU,SAACJ,GAAD,OAAQA,EAAG5kB,KAAOA,KACxD6D,GAAS,GACXw7F,GAAkBx6D,OAAOhhC,EAAO,MAG7B,CAAC,QAGVo7F,EACGC,OAAO,qDACPC,OAAM,SAACj0C,GACN,MAAwBvqD,KAAKC,MAAMsqD,EAAO/oD,MAAlC2iB,EAAR,EAAQA,IAAKnQ,EAAb,EAAaA,OAMb,OALA0qF,GAAkBv+F,SAAQ,SAAC8jB,GACrBE,EAAIE,WAAU,SAAChlB,GAAD,OAAQA,IAAO4kB,EAAG5kB,OAAO,IACzC4kB,EAAGjQ,OAASA,MAGT,CAAC,QA0BZsqF,EAAKQ,MAAM,kCAAkCN,MAA7C,wCAAmD,WAAOj0C,GAAP,iFAC3ClrD,EAAKkrD,EAAOt5C,IAAIjG,MAAM,oCAAoC,GADf,SAE1Bs5F,EAAQjlG,GAFkB,UAE3CkhB,EAF2C,gDAIxC,CAAC,MAJuC,gCAM1C,CAAC,IAAKA,IANoC,2CAAnD,uDASA+9E,EAAKS,MAAM,kCAAkCP,MAA7C,wCAAmD,WAAOj0C,GAAP,uFAC3ClrD,EAAKkrD,EAAOt5C,IAAIjG,MAAM,oCAAoC,GADf,EAE5BhL,KAAKC,MAAMsqD,EAAO/oD,aAA/B+e,EAFyC,EAEzCA,UACQu4F,YAChBz2G,QAAQC,IAAItC,KAAKE,UAAUqgB,IAJsB,SAK1BujF,EAAQvjF,EAAUlhB,GALQ,UAK3Cs5G,EAL2C,OAM3Cz1G,EAAQw7F,GAAkBr6E,WAAU,SAACJ,GAAD,OAAQA,EAAG5kB,MAAQA,KAC7Dq/F,GAAkBx7F,GAAlB,eAAgCqd,IAC7Bo4F,EAAS7jG,QARqC,wBAS/CjW,YAAa,QAAS85G,EAAS7jG,SATgB,mBAUxC,GAVwC,eAY/CjW,YAAa,UAAW,uCACxBpB,SAASsR,eAAe,iBAAiBinB,QACzCrxB,KAAE,sBAAsB0L,OAduB,kBAexC,CAAC,MAfuC,4CAAnD,uDAmBAiuF,EAAK31E,SAAS,kCAAkC61E,MAAhD,wCAAsD,WAAOj0C,GAAP,6EAC9ClrD,EAAKkrD,EAAOt5C,IAAIjG,MAAM,oCAAoC,IAEjD,KADT9H,EAAQw7F,GAAkBr6E,WAAU,SAACJ,GAAD,OAAQA,EAAG5kB,MAAQA,MAFT,yCAI3C,CAAC,MAJ0C,uBAM9B0kG,EAAW1kG,GANmB,0DAQ3C,CAAC,MAR0C,cAUpDq/F,GAAkBx6D,OAAOhhC,EAAO,GAChCzF,SAASsR,eAAe,iBAAiBinB,QAXW,kBAY7C,CAAC,MAZ4C,4CAAtD,uDAvYa,6C,sBAuZf,SAASupE,GAASv4F,GAChB,IAAK,IAAI/D,KAAQ+D,EACfA,EAAK/D,GAAM5D,GAAK2H,EAAK/D,GAAMJ,UACpBmE,EAAK/D,GAAMJ,GAEpB,OAAOmE,EAGT,SAAS23F,KACP,IAAMx6E,EAAMu6E,GAAkB17F,KAAI,SAACihB,GAAD,OAAQA,EAAG5kB,MAE7C,OADc2K,KAAKgrB,IAAL,MAAAhrB,KAAI,YAAQma,IACX,E,2yMCrajB,IAAMjnB,GAAU,IAAIC,IAAa,MAC3BC,GAAKC,IAAIH,IAEX6pG,GAAkB,GAgWtB,SAASxH,GAASv4F,GAChB,IAAK,IAAI/D,KAAQ+D,EACfA,EAAK/D,GAAM5D,GAAK2H,EAAK/D,GAAMJ,UACpBmE,EAAK/D,GAAMJ,GAEpB,OAAOmE,E,2yMCzWT,IAEI03F,GAFExhG,GAAU,IAAIC,IAAa,MAC3BC,GAAKC,IAAIH,I,+CAEA,WAAyCohG,GAAzC,IACJjrD,EAYMuwD,EAbF,EAoCEiR,EApCF,EA4DE/Q,EA5DF,EAoFEC,EApFF,EAyGEgV,EAzGF,EAiIJruF,EA2GM45E,EA5OF,iHA4Ob,WAAuBjlG,GAAvB,kFACeiU,MAAMxP,OAAOyP,QAAU,UAAYlU,EAAI,CAClDmU,OAAQ,MACRC,iBAAiB,EACjBC,QAAS,CACPC,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,sBAGjBC,KATU,wCASL,WAAOC,GAAP,iFACEC,EAAaD,EAASE,OADxB,SAEeF,EAAS1N,OAFxB,cAEE5E,EAFF,yBAGGyS,QAAQC,IAAI,CAACH,EAAYvS,KAH5B,2CATK,uDAcVqS,MAAK,SAACM,GACL,OAAOA,EAAI,MAEZC,OAAM,SAAC5K,GACNnH,QAAQmH,MAAMA,MAnBpB,oFA5Oa,uBA4OE86F,EA5OF,4CAiIJ55E,EAjII,SAiIO7pB,GAClB,IAAIoK,EAAI,IAAIrK,KAAKC,GACf8pB,EAAQ,IAAM1f,EAAEjK,WAAa,GAC7B6J,EAAM,GAAKI,EAAEhK,UACb2pB,EAAO3f,EAAE/J,cAEPypB,EAAM7iB,OAAS,IAAG6iB,EAAQ,IAAMA,GAChC9f,EAAI/C,OAAS,IAAG+C,EAAM,IAAMA,GAEhC,IAAMuD,EAAS,CAACuc,EAAO9f,EAAK+f,GAAMjkB,KAAK,KACvC,MAAe,gBAAXyH,EACKA,EAEA,cA9IE,6CAyGb,+FACekF,MAAMxP,OAAOyP,QAAU,WAAY,CAC9CC,OAAQ,MACRC,iBAAiB,EACjBC,QAAS,CACPiL,OAAQ,oCACRhL,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,sBAGjBC,MAAK,SAACM,GAAD,OAASA,EAAI/N,UAClByN,MAAK,SAACM,GACL,OAAOA,EAAIi1C,WAEZh1C,OAAM,SAACtV,GACN,OAAO,KAhBb,oFAzGa,uBAyGEi6G,EAzGF,wFAoFb,WAA0B15G,GAA1B,kFACeiU,MAAMxP,OAAOyP,QAAU,UAAYlU,EAAI,CAClDmU,OAAQ,SACRC,iBAAiB,EACjBC,QAAS,CACPC,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,sBAGjBC,KATU,wCASL,WAAOC,GAAP,2FACGA,GADH,2CATK,uDAYVD,MAAK,SAACM,GACL,OAAOk/B,EAAcl/B,MAEtBC,OAAM,SAACtV,GACN,OAAOu0C,EAAcv0C,MAjB3B,oFApFa,uBAoFEilG,EApFF,yFA4Db,WAAuBxwD,EAAUl0C,GAAjC,2FACSiU,MAAMxP,OAAOyP,QAAU,UAAYlU,EAAI,CAC5CmU,OAAQ,MACRC,iBAAiB,EACjBC,QAAS,CACPiL,OAAQ,oCACRhL,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,oBAElBvV,KAAM2B,KAAKE,UAAUqzC,KAEpB1/B,KAXI,wCAWC,WAAOC,GAAP,iFACEC,EAAaD,EAASE,OADxB,SAEeF,EAAS1N,OAFxB,cAEE5E,EAFF,yBAGGyS,QAAQC,IAAI,CAACH,EAAYvS,KAH5B,2CAXD,uDAgBJqS,MAAK,SAACM,GACL,OAAOA,EAAI,MAEZC,OAAM,SAAC5K,GACNnH,QAAQmH,MAAMA,OArBpB,4CA5Da,uBA4DEs6F,EA5DF,2FAoCb,WAAyCvwD,GAAzC,2FACSjgC,MAAMxP,OAAOyP,QAAU,SAAU,CACtCC,OAAQ,OACRC,iBAAiB,EACjBC,QAAS,CACPC,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,oBAElBvV,KAAM2B,KAAKE,UAAUqzC,KAEpB1/B,KAVI,wCAUC,WAAOC,GAAP,iFACEC,EAAaD,EAASE,OADxB,SAEeF,EAAS1N,OAFxB,cAEE5E,EAFF,yBAGGyS,QAAQC,IAAI,CAACH,EAAYvS,KAH5B,2CAVD,uDAeJqS,MAAK,SAACM,GACL,OAAOA,EAAI,MAEZC,OAAM,SAAC5K,QAnBZ,4CApCa,uBAoCEqrG,EApCF,yFAab,+FACevhG,MAAMxP,OAAOyP,QAAU,SAAU,CAC5CC,OAAQ,MACRC,iBAAiB,EACjBC,QAAS,CACPC,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,sBAGjBC,KATU,wCASL,WAAOC,GAAP,iFACEC,EAAaD,EAASE,OADxB,SAEeF,EAAS1N,OAFxB,cAEE5E,EAFF,yBAGGyS,QAAQC,IAAI,CAACH,EAAYvS,KAH5B,2CATK,uDAcVqS,MAAK,SAACM,GACL,OAAOorF,GAASprF,EAAI,OAErBC,OAAM,SAAC5K,GACNnH,QAAQmH,MAAMA,MAnBpB,oFAba,uBAaEo6F,EAbF,2CACJvwD,EADI,SACUl/B,GACrB,IAAIH,EAASG,EAAIH,OACbs/B,EAAan/B,EAAIm/B,WACrB,OAAe,MAAXt/B,GACFnV,YAAa,UAAW,YACjB,GACa,MAAXmV,GACTnV,YAAa,QAASy0C,IACf,QAFF,GAsHTgrD,EAAKQ,MAAM,uCAAuCN,MAAlD,uBAAwD,qGACjCua,IADiC,cAChD3qG,EADgD,yBAE/C,CAAC,IAAKA,IAFyC,4CAoBxDkwF,EAAKC,OAAO,6BAA6BC,MAAzC,wCAA+C,iIAASh9F,EAAT,EAASA,KAAT,EACxBxB,KAAKC,MAAMuB,GAAxB+e,EADqC,EACrCA,SACF60F,EAAQx0G,KAAKE,MACH4pB,EAAW0qF,GAHkB,EAWzC70F,EANFy4F,qBAL2C,MAK3B,GAL2B,IAWzCz4F,EALF8nC,gBAN2C,MAMhC,GANgC,IAWzC9nC,EAJF+8D,kBAP2C,MAO9B,GAP8B,IAWzC/8D,EAHF04F,mBAR2C,MAQ7B,GAR6B,IAWzC14F,EAFF24F,iBAT2C,MAS/B,GAT+B,IAWzC34F,EADFrD,mBAV2C,MAU7B,GAV6B,EAYvC7d,EAAKs/F,KACLF,EAAc,CAClBp/F,KACA25G,gBACA3wD,WACAnrC,cACAogE,aACA27B,cACAC,aApB2C,SAsBbrE,EAA0BpW,GAtBb,eAuBf15F,IAD1B0xG,EAtByC,QAuBrB5zG,GAvBqB,wBAwB3ChE,YAAa,UAAW,oCACxB43G,EAAoBp3G,GAAKo3G,EAAoB5zG,GAC7C67F,GAAkB32F,KAAK02F,GACvBhhG,SAASsR,eAAe,iBAAiBinB,QA3BE,kBA4BpC,CACL,IACA,CACEzV,SAAUk+E,EACV14F,QAAS0wG,EAAoB3hG,QAC7BstF,SAAS,KAjC8B,YAqCvCqU,EAAoB3hG,QArCmB,iBAsCzCjW,YAAa,QAAS43G,EAAoB3hG,SAC1ChR,OAAOq1G,gBAAkB,IACzBr1G,OAAOs1G,iBAAkB,EAxCgB,+BA0CzCv6G,YAAa,UAAW,oCACxBpB,SAASsR,eAAe,iBAAiBinB,QA3CA,kBA4ClC,CACL,IACA,CACEzV,SAAUk+E,EACV14F,QAAS0wG,EAAoB3hG,QAC7BstF,SAAS,KAjD4B,4CAA/C,uDAwDA9D,EAAKC,OAAO,kCAAkCC,MAA9C,wCAAoD,WAAOj0C,GAAP,qFAC5Cq0C,EAAY,IAAI1B,EAD4B,EAE1Bl9F,KAAKC,MAAMsqD,EAAO/oD,MAAlC+iB,EAF0C,EAE1CA,YAF0C,SAGxBq/E,IAHwB,cAGlDlF,GAHkD,cAI3Cn6E,EAAY/V,OAAOojB,YACpB8tE,EAAmBd,EAAUC,WACjCH,GACAn6E,GAPgD,kBAS3C,CAAC,IAAKm7E,IATqC,2CAApD,uDAYApB,EAAKC,OAAO,6CAA6CC,OAAM,SAACj0C,GAQ9D,OAPgBvqD,KAAKC,MAAMsqD,EAAO/oD,MAA1B2iB,IACJhkB,SAAQ,SAACd,GACX,IAAM6D,EAAQw7F,GAAkBr6E,WAAU,SAACJ,GAAD,OAAQA,EAAG5kB,KAAOA,KACxD6D,GAAS,GACXw7F,GAAkBx6D,OAAOhhC,EAAO,MAG7B,CAAC,QAGVo7F,EACGC,OAAO,sDACPC,OAAM,SAACj0C,GACN,MAAwBvqD,KAAKC,MAAMsqD,EAAO/oD,MAAlC2iB,EAAR,EAAQA,IAAKnQ,EAAb,EAAaA,OAMb,OALA0qF,GAAkBv+F,SAAQ,SAAC8jB,GACrBE,EAAIE,WAAU,SAAChlB,GAAD,OAAQA,IAAO4kB,EAAG5kB,OAAO,IACzC4kB,EAAGjQ,OAASA,MAGT,CAAC,QA0BZsqF,EAAKQ,MAAM,mCAAmCN,MAA9C,wCAAoD,WAAOj0C,GAAP,iFAC5ClrD,EAAKkrD,EAAOt5C,IAAIjG,MAAM,qCAAqC,GADf,SAE3Bs5F,EAAQjlG,GAFmB,UAE5CkhB,EAF4C,gDAIzC,CAAC,MAJwC,gCAM3C,CAAC,IAAKA,IANqC,2CAApD,uDASA+9E,EAAKS,MAAM,mCAAmCP,MAA9C,wCAAoD,WAAOj0C,GAAP,qFAC5ClrD,EAAKkrD,EAAOt5C,IAAIjG,MAAM,qCAAqC,GADf,EAE7BhL,KAAKC,MAAMsqD,EAAO/oD,MAA/B+e,EAF0C,EAE1CA,SAF0C,SAG5CujF,EAAQvjF,EAAUlhB,GAH0B,cAI5C6D,EAAQw7F,GAAkBr6E,WAAU,SAACJ,GAAD,OAAQA,EAAG5kB,MAAQA,KAC7Dq/F,GAAkBx7F,GAAlB,eAAgCqd,GAChC1hB,YAAa,UAAW,sCACxBpB,SAASsR,eAAe,iBAAiBinB,QAPS,kBAQ3C,CAAC,MAR0C,2CAApD,uDAWAsoE,EAAK31E,SAAS,mCAAmC61E,MAAjD,wCAAuD,WAAOj0C,GAAP,6EAC/ClrD,EAAKkrD,EAAOt5C,IAAIjG,MAAM,qCAAqC,IAElD,KADT9H,EAAQw7F,GAAkBr6E,WAAU,SAACJ,GAAD,OAAQA,EAAG5kB,MAAQA,MAFR,yCAI5C,CAAC,MAJ2C,uBAM/B0kG,EAAW1kG,GANoB,0DAQ5C,CAAC,MAR2C,cAUrDq/F,GAAkBx6D,OAAOhhC,EAAO,GAVqB,kBAW9C,CAAC,MAX6C,4CAAvD,uDAvRa,6C,sBAsSf,SAASq8F,GAASv4F,GAChB,IAAK,IAAI/D,KAAQ+D,EACfA,EAAK/D,GAAM5D,GAAK2H,EAAK/D,GAAMJ,UACpBmE,EAAK/D,GAAMJ,GAEpB,OAAOmE,EAGT,SAAS23F,KACP,IAAMx6E,EAAMu6E,GAAkB17F,KAAI,SAACihB,GAAD,OAAQA,EAAG5kB,MAE7C,OADc2K,KAAKgrB,IAAL,MAAAhrB,KAAI,YAAQma,IACX,E,2yMCpTjB,IAEIu6E,GAFExhG,GAAU,IAAIC,IAAa,MAC3BC,GAAKC,IAAIH,I,+CAEA,WAAoCohG,GAApC,IACJjrD,EAYMuwD,EAbF,EAiDEiR,EAjDF,EAyEE/Q,EAzEF,EAiGEC,EAjGF,EA6HEgV,EA7HF,EAqJJruF,EAmNM45E,EAxWF,iHAwWb,WAAuBjlG,GAAvB,kFACeiU,MAAMxP,OAAOyP,QAAU,mBAAqBlU,EAAI,CAC3DmU,OAAQ,MACRC,iBAAiB,EACjBC,QAAS,CACPC,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,sBAGjBC,KATU,wCASL,WAAOC,GAAP,iFACEC,EAAaD,EAASE,OADxB,SAEeF,EAAS1N,OAFxB,cAEE5E,EAFF,yBAGGyS,QAAQC,IAAI,CAACH,EAAYvS,KAH5B,2CATK,uDAcVqS,MAAK,SAACM,GACL,OAAOA,EAAI,MAEZC,OAAM,SAAC5K,GACNnH,QAAQmH,MAAMA,MAnBpB,oFAxWa,uBAwWE86F,EAxWF,4CAqJJ55E,EArJI,SAqJO7pB,GAClB,IAAIoK,EAAI,IAAIrK,KAAKC,GACf8pB,EAAQ,IAAM1f,EAAEjK,WAAa,GAC7B6J,EAAM,GAAKI,EAAEhK,UACb2pB,EAAO3f,EAAE/J,cAEPypB,EAAM7iB,OAAS,IAAG6iB,EAAQ,IAAMA,GAChC9f,EAAI/C,OAAS,IAAG+C,EAAM,IAAMA,GAEhC,IAAMuD,EAAS,CAACuc,EAAO9f,EAAK+f,GAAMjkB,KAAK,KACvC,MAAe,gBAAXyH,EACKA,EAEA,cAlKE,6CA6Hb,+FACekF,MAAMxP,OAAOyP,QAAU,WAAY,CAC9CC,OAAQ,MACRC,iBAAiB,EACjBC,QAAS,CACPiL,OAAQ,oCACRhL,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,sBAGjBC,MAAK,SAACM,GAAD,OAASA,EAAI/N,UAClByN,MAAK,SAACM,GACL,OAAOA,EAAIi1C,WAEZh1C,OAAM,SAACtV,GACN,OAAO,KAhBb,oFA7Ha,uBA6HEi6G,EA7HF,wFAiGb,WAA0B15G,GAA1B,kFACeiU,MAAMxP,OAAOyP,QAAU,wBAA0BlU,EAAI,CAChEmU,OAAQ,SACRC,iBAAiB,EACjBC,QAAS,CACPC,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,sBAGjBC,KATU,wCASL,WAAOC,GAAP,iFACEC,EAAaD,EAASE,OADxB,SAEgBF,EAAS1N,OAFzB,gDAEoC,GAFpC,cAEE5E,EAFF,uBAGGyS,QAAQC,IAAI,CAACH,EAAYvS,KAH5B,2CATK,uDAcVqS,MAAK,SAACM,GACL,OAAe,MAAXA,EAAI,IACNtV,YAAa,QAAD,UAAasV,EAAI,GAAGW,WACzB,GACa,MAAXX,EAAI,GACNk/B,EAAcl/B,QADhB,KAIRC,OAAM,SAACtV,GACN,OAAOu0C,EAAcv0C,MAxB3B,oFAjGa,uBAiGEilG,EAjGF,yFAyEb,WAAuBxwD,EAAUl0C,GAAjC,2FACSiU,MAAMxP,OAAOyP,QAAU,UAAYlU,EAAI,CAC5CmU,OAAQ,MACRC,iBAAiB,EACjBC,QAAS,CACPiL,OAAQ,oCACRhL,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,oBAElBvV,KAAM2B,KAAKE,UAAUqzC,KAEpB1/B,KAXI,wCAWC,WAAOC,GAAP,iFACEC,EAAaD,EAASE,OADxB,SAEeF,EAAS1N,OAFxB,cAEE5E,EAFF,yBAGGyS,QAAQC,IAAI,CAACH,EAAYvS,KAH5B,2CAXD,uDAgBJqS,MAAK,SAACM,GACL,OAAOA,EAAI,MAEZC,OAAM,SAAC5K,GACNnH,QAAQmH,MAAMA,OArBpB,4CAzEa,uBAyEEs6F,EAzEF,2FAiDb,WAAyCvwD,GAAzC,2FACSjgC,MAAMxP,OAAOyP,QAAU,iBAAkB,CAC9CC,OAAQ,OACRC,iBAAiB,EACjBC,QAAS,CACPC,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,oBAElBvV,KAAM2B,KAAKE,UAAUqzC,KAEpB1/B,KAVI,wCAUC,WAAOC,GAAP,iFACEC,EAAaD,EAASE,OADxB,SAEeF,EAAS1N,OAFxB,cAEE5E,EAFF,yBAGGyS,QAAQC,IAAI,CAACH,EAAYvS,KAH5B,2CAVD,uDAeJqS,MAAK,SAACM,GACL,OAAOA,EAAI,MAEZC,OAAM,SAAC5K,QAnBZ,4CAjDa,uBAiDEqrG,EAjDF,yFAab,WAA4BqC,EAAYmC,EAAU57F,GAAlD,yEACE3Z,OAAOw1G,kCAA+Bv0G,EADxC,SAGeuO,MACXxP,OAAOyP,QAAP,gCAEIzP,OAAOy1G,wBAFX,iBAGWz1G,OAAO01G,eAHlB,qBAG6CH,IACzC,EAJJ,6BAI8B57F,GAAY,IAC1C,CACEjK,OAAQ,MACRC,iBAAiB,EACjBC,QAAS,CACPC,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,sBAInBC,KAhBU,wCAgBL,WAAOC,GAAP,iFACEC,EAAaD,EAASE,OADxB,SAEeF,EAAS1N,OAFxB,cAEE5E,EAFF,yBAGGyS,QAAQC,IAAI,CAACH,EAAYvS,KAH5B,2CAhBK,uDAqBVqS,MAAK,SAACM,GAAS,IAAD,kBAKb,OAJArQ,OAAO21G,yBAAP,oBAAkCtlG,EAAI,UAAtC,aAAkC,EAAQi1C,eAA1C,QAAqD,GACrDtlD,OAAO41G,2BAAP,oBAAoCvlG,EAAI,UAAxC,aAAoC,EAAQ0M,iBAA5C,QAAyD,GACzD/c,OAAO21G,yBAAP,oBAAkCtlG,EAAI,UAAtC,aAAkC,EAAQi1C,eAA1C,QAAqD,GACrDtlD,OAAOw1G,6BAAP,oBAAsCnlG,EAAI,UAA1C,aAAsC,EAAQwgG,mBAA9C,QAA6D,GACtDpV,GAAQ,UAACprF,EAAI,UAAL,aAAC,EAAQwlG,YAEzBvlG,OAAM,SAAC5K,GACNnH,QAAQmH,MAAMA,MAhCpB,oFAba,uBAaEo6F,EAbF,gDACJvwD,EADI,SACUl/B,GACrB,IAAIH,EAASG,EAAIH,OACbs/B,EAAan/B,EAAIm/B,WACrB,OAAe,MAAXt/B,GACFnV,YAAa,UAAW,YACjB,GACa,MAAXmV,GACTnV,YAAa,QAASy0C,IACf,QAFF,GA0ITgrD,EAAKQ,MAAM,kCAAkCN,MAA7C,uBAAmD,qGAC5Bua,IAD4B,cAC3C3qG,EAD2C,yBAE1C,CAAC,IAAKA,IAFoC,4CAoBnDkwF,EAAKC,OAAO,wBAAwBC,MAApC,wCAA0C,iIAASh9F,EAAT,EAASA,KAAT,EACnBxB,KAAKC,MAAMuB,GAAxB+e,EADgC,EAChCA,SACF60F,EAAQx0G,KAAKE,MACH4pB,EAAW0qF,GAHa,EAWpC70F,EANFy4F,qBALsC,MAKtB,GALsB,IAWpCz4F,EALF8nC,gBANsC,MAM3B,GAN2B,IAWpC9nC,EAJF+8D,kBAPsC,MAOzB,GAPyB,IAWpC/8D,EAHF04F,mBARsC,MAQxB,GARwB,IAWpC14F,EAFF24F,iBATsC,MAS1B,GAT0B,IAWpC34F,EADFrD,mBAVsC,MAUxB,GAVwB,EAYlC7d,EAAKs/F,KACLF,EAAc,CAClBp/F,KACA25G,gBACA3wD,WACAnrC,cACAogE,aACA27B,cACAC,aApBsC,SAsBRrE,EAA0BpW,GAtBlB,eAuBV15F,IAD1B0xG,EAtBoC,QAuBhB5zG,GAvBgB,wBAwBtChE,YAAa,UAAW,oCACxB43G,EAAoBp3G,GAAKo3G,EAAoB5zG,GAC7C67F,GAAkB32F,KAAK02F,GACvBhhG,SAASsR,eAAe,iBAAiBinB,QA3BH,kBA4B/B,CACL,IACA,CACEzV,SAAUk+E,EACV14F,QAAS0wG,EAAoB3hG,QAC7BstF,SAAS,KAjCyB,YAqClCqU,EAAoB3hG,QArCc,iBAsCpCjW,YAAa,QAAS43G,EAAoB3hG,SAC1ChR,OAAOq1G,gBAAkB,IACzBr1G,OAAOs1G,iBAAkB,EAxCW,+BA0CpCv6G,YAAa,UAAW,oCACxBpB,SAASsR,eAAe,iBAAiBinB,QA3CL,kBA4C7B,CACL,IACA,CACEzV,SAAUk+E,EACV14F,QAAS0wG,EAAoB3hG,QAC7BstF,SAAS,KAjDuB,4CAA1C,uDAwDA9D,EAAKC,OAAO,6BAA6BC,MAAzC,wCAA+C,WAAOj0C,GAAP,2FACvCq0C,EAAY,IAAI1B,EADuB,EAErBl9F,KAAKC,MAAMsqD,EAAO/oD,MAAlC+iB,EAFqC,EAErCA,aACJ/V,EAAS+V,GACN/V,OAAOmjB,WAAa7tB,OAAO81G,6BAClCprG,EAAOA,OAAOqrG,gBAAkB/1G,OAAOg2G,kCACvCtrG,EAAOA,OAAOurG,eACZj2G,OAAOk2G,uCAPoC,SAQnBpW,EACxBp1F,EAAOA,OAAO0oG,WACd1oG,EAAOA,OAAO6qG,SACd7qG,EAAOA,OAAOiP,UAX6B,cAQ7CihF,GAR6C,OAed,OAA7BlwF,EAAOA,OAAOmjB,YACe,KAA7BnjB,EAAOA,OAAOmjB,iBACe5sB,IAA7ByJ,EAAOA,OAAOmjB,aAEd+sE,GAAoBA,GAAkBlwF,QACpC,SAAChG,GAAD,OACE/H,OAAO+H,EAAEnJ,IACN8O,cACAQ,OACAC,SAASnO,OAAO+N,EAAOA,OAAOmjB,YAAc,IAAIxjB,gBACnD1N,OAAO+H,EAAEyxG,aACNC,cACAvrG,OACAC,SACCnO,OAAO+N,EAAOA,OAAOmjB,YAClBuoF,cACAvrG,SAEPlO,OAAO+H,EAAE3I,MACNq6G,cACAvrG,OACAC,SACCnO,OAAO+N,EAAOA,OAAOmjB,YAClBuoF,cACAvrG,SAEPlO,OAAO+H,EAAEiV,UACNy8F,cACAvrG,OACAC,SACCnO,OAAO+N,EAAOA,OAAOmjB,YAClBuoF,cACAvrG,SAEPlO,OAAO+H,EAAEmtD,QACNukD,cACAvrG,OACAC,SACCnO,OAAO+N,EAAOA,OAAOmjB,YAClBuoF,cACAvrG,SAEPlO,OAAO+H,EAAE2xG,UACND,cACAvrG,OACAC,SACCnO,OAAO+N,EAAOA,OAAOmjB,YAClBuoF,cACAvrG,YAMuB,OAAlCH,EAAOA,OAAOqrG,iBACoB,KAAlCrrG,EAAOA,OAAOqrG,sBACoB90G,IAAlCyJ,EAAOA,OAAOqrG,kBAERO,EAAW,GACjB1b,GAAkB17F,KAAI,SAACC,GACrBA,EAAKo3G,WAAWvyG,OAAS,GACvB7E,EAAKo3G,WAAWr3G,KAAI,SAAC8D,GACfA,EAAEi0D,KAAOvsD,EAAOA,OAAOqrG,iBACzBO,EAASryG,KAAK9E,SAItBy7F,GAAoB0b,GAIa,OAAjC5rG,EAAOA,OAAOurG,gBACmB,KAAjCvrG,EAAOA,OAAOurG,qBACmBh1G,IAAjCyJ,EAAOA,OAAOurG,iBAERK,EAAW,GACjB1b,GAAkB17F,KAAI,SAACC,GACrBA,EAAKo3G,WAAWvyG,OAAS,GACvB7E,EAAKo3G,WAAWr3G,KAAI,SAAC8D,GACfA,EAAE+mD,YAActkD,SAASiF,EAAOA,OAAOurG,iBACzCK,EAASryG,KAAK9E,SAItBy7F,GAAoB0b,UAEf71F,EAAY/V,OAAOojB,mBACnBrN,EAAY/V,OAAO0oG,kBACnB3yF,EAAY/V,OAAO6qG,gBACnB90F,EAAY/V,OAAOiP,gBACnB8G,EAAY/V,OAAOmjB,kBACnBpN,EAAY/V,OAAOqrG,uBACnBt1F,EAAY/V,OAAOurG,eAC1Bj2G,OAAOw2G,gBAAkB5b,GACnBgB,EAAmBd,EAAUC,WACjCH,GACAn6E,GA/G2C,kBAiHtC,CAAC,IAAKm7E,IAjHgC,4CAA/C,uDAoHApB,EAAKC,OAAO,wCAAwCC,OAAM,SAACj0C,GAQzD,OAPgBvqD,KAAKC,MAAMsqD,EAAO/oD,MAA1B2iB,IACJhkB,SAAQ,SAACd,GACX,IAAM6D,EAAQw7F,GAAkBr6E,WAAU,SAACJ,GAAD,OAAQA,EAAG5kB,KAAOA,KACxD6D,GAAS,GACXw7F,GAAkBx6D,OAAOhhC,EAAO,MAG7B,CAAC,QAGVo7F,EACGC,OAAO,iDACPC,OAAM,SAACj0C,GACN,MAAwBvqD,KAAKC,MAAMsqD,EAAO/oD,MAAlC2iB,EAAR,EAAQA,IAAKnQ,EAAb,EAAaA,OAMb,OALA0qF,GAAkBv+F,SAAQ,SAAC8jB,GACrBE,EAAIE,WAAU,SAAChlB,GAAD,OAAQA,IAAO4kB,EAAG5kB,OAAO,IACzC4kB,EAAGjQ,OAASA,MAGT,CAAC,QA0BZsqF,EAAKQ,MAAM,8BAA8BN,MAAzC,wCAA+C,WAAOj0C,GAAP,iFACvClrD,EAAKkrD,EAAOt5C,IAAIjG,MAAM,gCAAgC,GADf,SAEtBs5F,EAAQjlG,GAFc,UAEvCkhB,EAFuC,gDAIpC,CAAC,MAJmC,gCAMtC,CAAC,IAAKA,IANgC,2CAA/C,uDASA+9E,EAAKS,MAAM,8BAA8BP,MAAzC,wCAA+C,WAAOj0C,GAAP,qFACvClrD,EAAKkrD,EAAOt5C,IAAIjG,MAAM,gCAAgC,GADf,EAExBhL,KAAKC,MAAMsqD,EAAO/oD,MAA/B+e,EAFqC,EAErCA,SAFqC,SAGvCujF,EAAQvjF,EAAUlhB,GAHqB,cAIvC6D,EAAQw7F,GAAkBr6E,WAAU,SAACJ,GAAD,OAAQA,EAAG5kB,MAAQA,KAC7Dq/F,GAAkBx7F,GAAlB,eAAgCqd,GAChC1hB,YAAa,UAAW,sCACxBpB,SAASsR,eAAe,iBAAiBinB,QAPI,kBAQtC,CAAC,MARqC,2CAA/C,uDAWAsoE,EAAK31E,SAAS,8BAA8B61E,MAA5C,wCAAkD,WAAOj0C,GAAP,6EAC1ClrD,EAAKkrD,EAAOt5C,IAAIjG,MAAM,gCAAgC,IAE7C,KADT9H,EAAQw7F,GAAkBr6E,WAAU,SAACJ,GAAD,OAAQA,EAAG5kB,MAAQA,MAFb,yCAIvC,CAAC,MAJsC,uBAM1B0kG,EAAW1kG,GANe,0DAQvC,CAAC,MARsC,cAUhDq/F,GAAkBx6D,OAAOhhC,EAAO,GAVgB,kBAWzC,CAAC,MAXwC,4CAAlD,uDAnZa,6C,sBAkaf,SAASq8F,GAASv4F,GAChB,IAAK,IAAI/D,KAAQ+D,EACfA,EAAK/D,GAAM5D,GAAK2H,EAAK/D,GAAMJ,UACpBmE,EAAK/D,GAAMJ,GAEpB,OAAOmE,EAGT,SAAS23F,KACP,IAAMx6E,EAAMu6E,GAAkB17F,KAAI,SAACihB,GAAD,OAAQA,EAAG5kB,MAE7C,OADc2K,KAAKgrB,IAAL,MAAAhrB,KAAI,YAAQma,IACX,E,2yMChbjB,IAAMjnB,GAAU,IAAIC,IAAa,MAC3BC,GAAKC,IAAIH,IACXwhG,GAAoB,G,+CAET,WAAuCJ,GAAvC,IACJjrD,EADI,EAwCEgB,EAxCF,EAgEEZ,EAhEF,EAuFED,EAvFF,EA8GEgsD,EA9GF,EAoIE4I,EApIF,iHAoIb,+FACe90F,MAAMxP,OAAOyP,QAAU,wBAAyB,CAC3DC,OAAQ,MACRC,iBAAiB,EACjBC,QAAS,CACPiL,OAAQ,oCACRhL,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,sBAGjBC,MAAK,SAACM,GAAD,OAASA,EAAI/N,UAClByN,MAAK,SAACM,GACL,cAAOA,QAAP,IAAOA,IAAO,MAEfC,OAAM,WAEL,OADAvV,YAAa,QAAS,6BACf,KAjBb,oFApIa,uBAoIEupG,EApIF,wFA8Gb,WAA2B/oG,GAA3B,kFACeiU,MAAMxP,OAAOyP,QAAU,YAAclU,EAAI,CACpDmU,OAAQ,SACRC,iBAAiB,EACjBC,QAAS,CACPiL,OAAQ,oCACRhL,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,sBAGjBC,KAVU,wCAUL,WAAOC,GAAP,2FACGA,GADH,2CAVK,uDAaVD,MAAK,SAACM,GACL,OAAOk/B,EAAcl/B,MAEtBC,OAAM,SAACtV,GACN,OAAOu0C,EAAcv0C,MAlB3B,oFA9Ga,uBA8GE0gG,EA9GF,yFAuFb,WAAwBjsD,EAAUl0C,GAAlC,2FACSiU,MAAMxP,OAAOyP,QAAU,YAAclU,EAAI,CAC9CmU,OAAQ,MACRC,iBAAiB,EACjBC,QAAS,CACPiL,OAAQ,oCACRhL,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,oBAElBvV,KAAM2B,KAAKE,UAAUqzC,EAAQ,YAE5B1/B,KAXI,wCAWC,WAAOC,GAAP,kFACSA,EADT,mFAXD,uDAcJD,MAAK,SAACM,GACL,OAAOk/B,EAAcl/B,MAEtBC,OAAM,SAACtV,GACN,OAAOu0C,EAAcv0C,OAnB3B,4CAvFa,uBAuFE00C,EAvFF,2FAgEb,WAAyBD,GAAzB,2FACSjgC,MAAMxP,OAAOyP,QAAU,WAAY,CACxCC,OAAQ,OACRC,iBAAiB,EACjBC,QAAS,CACPiL,OAAQ,oCACRhL,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,oBAElBvV,KAAM2B,KAAKE,UAAUqzC,KAEpB1/B,KAXI,wCAWC,WAAOC,GAAP,kFACSA,EADT,mFAXD,uDAcJD,MAAK,SAACM,GACL,OAAOk/B,EAAcl/B,MAEtBC,OAAM,SAACtV,GACN,OAAOu0C,EAAcv0C,OAnB3B,4CAhEa,uBAgEE20C,EAhEF,yFAwCb,WAA0Bp0C,GAA1B,kFACeiU,MAAM,GAAD,OAAIxP,OAAOyP,QAAX,oBAA8BlU,GAAM,CACpDmU,OAAQ,MACRC,iBAAiB,EACjBC,QAAS,CACPC,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,sBAGjBC,KATU,wCASL,WAAOC,GAAP,0FACqBA,EAASE,OAD9B,cACED,EADF,gBAEeD,EAAS1N,OAFxB,cAEE5E,EAFF,yBAGGyS,QAAQC,IAAI,CAACH,EAAYvS,KAH5B,2CATK,uDAcVqS,MAAK,SAACM,GAEL,OADAA,EAAI,GAAG0K,OAAOxf,GAAK8U,EAAI,GAAG0K,OAAOhc,GAC1BsR,EAAI,GAAG0K,UAEfzK,OAAM,SAAC5K,GACNnH,QAAQmH,MAAMA,MApBpB,oFAxCa,uBAwCE6qC,EAxCF,yFAab,WAAwBkmE,GAAxB,kFACejnG,MAAM,GAAD,OACbxP,OAAOyP,QADM,iEAEhB,CACEC,OAAQ,MACRC,iBAAiB,EACjBC,QAAS,CACPC,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,sBAInBC,KAZU,wCAYL,WAAOC,GAAP,0FACqBA,EAASE,OAD9B,cACED,EADF,gBAEeD,EAAS1N,OAFxB,cAEE5E,EAFF,yBAGGyS,QAAQC,IAAI,CAACH,EAAYvS,KAH5B,2CAZK,uDAiBVqS,MAAK,SAACM,GAEL,OADAA,EAAI,GAAGwnD,QAAU4jC,GAASprF,EAAI,GAAGwlG,SAC1BxlG,EAAI,MAEZC,OAAM,SAAC5K,GACNnH,QAAQmH,MAAMA,MAvBpB,oFAba,mEACJ6pC,EADI,SACUl/B,GACrB,IAAIH,EAASG,EAAIH,OACbs/B,EAAan/B,EAAIm/B,WACrB,OAAe,MAAXt/B,GACFnV,YAAa,UAAW,YACjB,GACa,MAAXmV,GACTnV,YAAa,QAASy0C,IACf,QAFF,GAmJTgrD,EAAKQ,MAAM,qCAAqCN,MAAhD,uBAAsD,qGAClC4J,IADkC,cAC9Cr8E,EAD8C,yBAE7C,CAAC,IAAKA,IAFuC,4CAKtDuyE,EAAKC,OAAO,2BAA2BC,MAAvC,wCAA6C,iGAASh9F,EAAT,EAASA,KAAT,EACtBxB,KAAKC,MAAMuB,GAAxB+e,EADmC,EACnCA,SADmC,SAErCkzB,EAAUlzB,GAF2B,cAG3Cm+E,GAAkB32F,KAAKwY,GAHoB,kBAIpC,CAAC,IAAK,CAAEA,SAAUA,KAJkB,2CAA7C,uDAOA+9E,EAAKC,OAAO,gCAAgCC,MAA5C,wCAAkD,WAAOj0C,GAAP,uFAC1Cq0C,EAAY,IAAI1B,EAD0B,EAExBl9F,KAAKC,MAAMsqD,EAAO/oD,MAAlC+iB,EAFwC,EAExCA,YAEOA,EAAY/V,OAGvBotC,EAAQ,CACV,CACEsS,aAAc,KACd9uC,aAAc,eACdmwD,aAAc,QACdirC,eAAgB,EAChBn7G,GAAI,OACJo7G,OAAQ,KACRh9F,SAAU,KACVhB,cAAe,UACfC,IAAK,QACLC,OAAQ,EACRowE,gBAAiB,GACjBnwE,cAAe,OACfC,UAAW,IACXK,YAAa,0BACbJ,OAAQ,KACRC,WAAY,MACZC,KAAM,GACNC,SAAU,MACVK,QAAS,KACTH,aAAc,EACdC,cAAe,EACfC,gBAAiB,EACjBq9F,eAAgB,KAChBC,QAAS,IACT9sD,UAAW,OACXtwC,OAAO,EACP8wC,qBAAqB,EACrBysC,SAAU,KACVC,eAAgB,KAChBC,YAAa,KACbC,iBAAkB,KAClBC,uBAAwB,KACxBE,UAAW,KACXD,QAAS,KACTlwB,IAAK,eACL2vC,QAAS,KACTC,WAAY,KACZzsD,eAAgB,KAChB0sD,mBAAoB,KACpBC,eAAgB,KAChBngE,gBAAiB,KACjBogE,MAAO,KACPr9F,KAAM,KACNC,MAAO,KACP+kC,SAAU,KACVs4D,iBAAkB,EAClBC,SAAU,KACV/sD,cAAe,KACfgtD,oBAAqB,KACrB/pB,cAAe,KACfgqB,YAAa,GACbtvG,QAAS,uBAEX,CACEoiD,aAAc,KACd9uC,aAAc,eACdmwD,aAAc,QACdirC,eAAgB,EAChBn7G,GAAI,OACJo7G,OAAQ,KACRh9F,SAAU,KACVhB,cAAe,UACfC,IAAK,QACLC,OAAQ,EACRowE,gBAAiB,GACjBnwE,cAAe,OACfC,UAAW,GACXK,YAAa,yBACbJ,OAAQ,KACRC,WAAY,MACZC,KAAM,KACNC,SAAU,MACVK,QAAS,KACTH,aAAc,EACdC,cAAe,EACfC,gBAAiB,EACjBq9F,eAAgB,KAChBC,QAAS,GACT9sD,UAAW,OACXtwC,OAAO,EACP8wC,qBAAqB,EACrBysC,SAAU,KACVC,eAAgB,KAChBC,YAAa,KACbC,iBAAkB,KAClBC,uBAAwB,KACxBE,UAAW,KACXD,QAAS,KACTlwB,IAAK,eACL2vC,QAAS,KACTC,WAAY,KACZzsD,eAAgB,KAChB0sD,mBAAoB,KACpBC,eAAgB,KAChBngE,gBAAiB,KACjBogE,MAAO,KACPr9F,KAAM,KACNC,MAAO,KACP+kC,SAAU,KACVs4D,iBAAkB,EAClBC,SAAU,KACV/sD,cAAe,KACfgtD,oBAAqB,KACrB/pB,cAAe,KACfgqB,YAAa,GACbtvG,QAAS,uBAEX,CACEoiD,aAAc,KACd9uC,aAAc,eACdmwD,aAAc,QACdirC,eAAgB,EAChBn7G,GAAI,OACJo7G,OAAQ,KACRh9F,SAAU,KACVhB,cAAe,UACfC,IAAK,QACLC,OAAQ,EACRowE,gBAAiB,GACjBnwE,cAAe,OACfC,UAAW,IACXK,YAAa,gCACbJ,OAAQ,KACRC,WAAY,MACZC,KAAM,KACNC,SAAU,MACVK,QAAS,KACTH,aAAc,EACdC,cAAe,EACfC,gBAAiB,EACjBq9F,eAAgB,KAChBC,QAAS,IACT9sD,UAAW,OACXtwC,OAAO,EACP8wC,qBAAqB,EACrBysC,SAAU,KACVC,eAAgB,KAChBC,YAAa,KACbC,iBAAkB,KAClBC,uBAAwB,KACxBE,UAAW,KACXD,QAAS,KACTlwB,IAAK,eACL2vC,QAAS,KACTC,WAAY,KACZzsD,eAAgB,KAChB0sD,mBAAoB,KACpBC,eAAgB,KAChBngE,gBAAiB,KACjBogE,MAAO,KACPr9F,KAAM,KACNC,MAAO,KACP+kC,SAAU,KACVs4D,iBAAkB,EAClBC,SAAU,KACV/sD,cAAe,KACfgtD,oBAAqB,KACrB/pB,cAAe,KACfgqB,YAAa,GACbtvG,QAAS,+BAINyY,EAAY/V,OAAO+rG,cAC1B7b,GAAsC,KAAlB56F,OAAO86B,OAAgB,GAAKgd,GAE1C8jD,EAAmBd,EAAUC,WACjCH,GACAn6E,IAEe82F,SAAW,CAC1B,CAAEx4G,GAAI,GAAIC,KAAM,qBAAsBk1D,MAAO,IAC7C,CAAEn1D,GAAI,GAAIC,KAAM,yBAA0Bk1D,MAAO,GACjD,CAAEn1D,GAAI,GAAIC,KAAM,SAAUk1D,MAAO,IAtLa,kBAwLzC,CAAC,IAAK0nC,IAxLmC,2CAAlD,uDA2LApB,EACGC,OAAO,2CACPC,MAFH,wCAES,WAAOj0C,GAAP,iFACWvqD,KAAKC,MAAMsqD,EAAO/oD,MAD7B,EACG2iB,IACJhkB,SAAQ,SAACd,GACX,IAAM6D,EAAQw7F,GAAkBr6E,WAAU,SAACJ,GAAD,OAAQA,EAAG5kB,KAAOA,KACxD6D,GAAS,GACXw7F,GAAkBx6D,OAAOhhC,EAAO,MAL/B,kBAQE,CAAC,MARH,2CAFT,uDAaAo7F,EACGC,OAAO,oDACPC,MAFH,wCAES,WAAOj0C,GAAP,qFACmBvqD,KAAKC,MAAMsqD,EAAO/oD,MAAlC2iB,EADH,EACGA,IAAKnQ,EADR,EACQA,OACb0qF,GAAkBv+F,SAAQ,SAAC8jB,GACrBE,EAAIE,WAAU,SAAChlB,GAAD,OAAQA,IAAO4kB,EAAG5kB,OAAO,IACzC4kB,EAAGjQ,OAASA,MAJX,kBAOE,CAAC,MAPH,2CAFT,uDAYAsqF,EAAKQ,MAAM,iCAAiCN,MAA5C,wCAAkD,WAAOj0C,GAAP,iFAC1ClrD,EAAKkrD,EAAOt5C,IAAIjG,MAAM,mCAAmC,GADf,SAEzBqpC,EAAWh1C,GAFc,UAE1CkhB,EAF0C,gDAIvC,CAAC,MAJsC,gCAMzC,CAAC,IAAKA,IANmC,2CAAlD,uDASA+9E,EAAKS,MAAM,iCAAiCP,MAA5C,wCAAkD,WAAOj0C,GAAP,qFAC1ClrD,EAAKkrD,EAAOt5C,IAAIjG,MAAM,mCAAmC,GACzD20F,EAAc3/F,KAAKC,MAAMsqD,EAAO/oD,MAC9B+e,EAAao/E,EAAbp/E,SAHwC,SAI7BizB,EAASmsD,EAAatgG,GAJO,0DAMvC,CAAC,MANsC,WASjC,KADT6D,EAAQw7F,GAAkBr6E,WAAU,SAACJ,GAAD,OAAQA,EAAG5kB,MAAQA,MARb,0CAUvC,CAAC,MAVsC,eAYhDq/F,GAAkBx7F,GAAlB,eAAgCqd,GAZgB,kBAazC,CAAC,MAbwC,4CAAlD,uDAgBA+9E,EAAK31E,SAAS,iCAAiC61E,MAA/C,wCAAqD,WAAOj0C,GAAP,6EAC7ClrD,EAAKkrD,EAAOt5C,IAAIjG,MAAM,mCAAmC,IAEhD,KADT9H,EAAQw7F,GAAkBr6E,WAAU,SAACJ,GAAD,OAAQA,EAAG5kB,MAAQA,MAFV,yCAI1C,CAAC,MAJyC,uBAM7BmgG,EAAYngG,GANiB,0DAQ1C,CAAC,MARyC,cAUnDq/F,GAAkBx6D,OAAOhhC,EAAO,GAVmB,kBAW5C,CAAC,MAX2C,4CAArD,uDAnZa,6C,sBAkaf,SAASq8F,GAASv4F,GAChB,IAAK,IAAI/D,KAAQ+D,EACfA,EAAK/D,GAAM5D,GAAK2H,EAAK/D,GAAMJ,UACpBmE,EAAK/D,GAAMJ,GAEpB,OAAOmE,E,2yMC3aT,IAEI03F,GAFExhG,GAAU,IAAIC,IAAa,MAC3BC,GAAKC,IAAIH,IA8Tf,SAASyhG,KACP,IAAMx6E,EAAMu6E,GAAkB17F,KAAI,SAACihB,GAAD,OAAQA,EAAG5kB,MAE7C,OADc2K,KAAKgrB,IAAL,MAAAhrB,KAAI,YAAQma,IACX,EAGjB,SAASo7E,GAASv4F,GAChB,IAAK,IAAI/D,KAAQ+D,EACfA,EAAK/D,GAAM5D,GAAK2H,EAAK/D,GAAMJ,UACpBmE,EAAK/D,GAAMJ,GAEpB,OAAOmE,E,2yMC1UT,IAEI03F,GAFExhG,GAAU,IAAIC,IAAa,MAC3BC,GAAKC,IAAIH,IA2Tf,SAASyhG,KACP,IAAMx6E,EAAMu6E,GAAkB17F,KAAI,SAACihB,GAAD,OAAQA,EAAG5kB,MAE7C,OADc2K,KAAKgrB,IAAL,MAAAhrB,KAAI,YAAQma,IACX,EAGjB,SAASo7E,GAASv4F,GAChB,IAAK,IAAI/D,KAAQ+D,EACfA,EAAK/D,GAAM5D,GAAK2H,EAAK/D,GAAMJ,UACpBmE,EAAK/D,GAAMJ,GAEpB,OAAOmE,EC3UM,QACb,CACE3H,GAAI,EACJi8G,MAAO,SACPC,GAAI,QACJ7+F,IAAK,UACLQ,YAAa,SACbS,KAAM,KACNC,MAAO,uBACPy6B,SAAU,QACVmjE,KAAM,WACNC,KAAM,GACNC,IAAK,IACLC,IAAK,IACLC,EAAG,IACHC,EAAG,IACHC,EAAG,IACH3K,IAAK,IACL4K,MAAO,IAEPC,OAAQ,QACRC,OAAQ,oBACRC,OAAQ,kBACRC,kBAAmB,wBACnBC,iBAAkB,wBAClBC,iBAAkB,GAClBC,WAAY,GACZC,WAAY,IAEd,CACEl9G,GAAI,EACJi8G,MAAO,SACPC,GAAI,QACJ7+F,IAAK,UACLQ,YAAa,SACbS,KAAM,KACNC,MAAO,uBACPy6B,SAAU,SACVmjE,KAAM,WACNC,KAAM,YACNC,IAAK,IACLC,IAAK,IACLC,EAAG,IACHC,EAAG,IACHC,EAAG,IACH3K,IAAK,IACL4K,MAAO,IAEPC,OAAQ,QACRC,OAAQ,oBACRC,OAAQ,kBACRC,kBAAmB,YACnBC,iBAAkB,YAClBC,iBAAkB,GAClBC,WAAY,GACZC,WAAY,IAEd,CACEl9G,GAAI,EACJi8G,MAAO,SACPC,GAAI,QACJ7+F,IAAK,UACLQ,YAAa,SACbS,KAAM,KACNC,MAAO,uBACPy6B,SAAU,KACVmjE,KAAM,sBACNC,KAAM,GACNC,IAAK,IACLC,IAAK,IACLC,EAAG,IACHC,EAAG,IACHC,EAAG,IACH3K,IAAK,IACL4K,MAAO,IAEPC,OAAQ,QACRC,OAAQ,oBACRC,OAAQ,kBACRC,kBAAmB,wBACnBC,iBAAkB,wBAClBC,iBAAkB,GAClBC,WAAY,GACZC,WAAY,IAEd,CACEl9G,GAAI,EACJi8G,MAAO,SACPC,GAAI,QACJ7+F,IAAK,UACLQ,YAAa,SACbS,KAAM,KACNC,MAAO,uBACPy6B,SAAU,QACVmjE,KAAM,WACNC,KAAM,GACNC,IAAK,KACLC,IAAK,KACLC,EAAG,IACHC,EAAG,IACHC,EAAG,IACH3K,IAAK,IACL4K,MAAO,KAEPC,OAAQ,QACRC,OAAQ,oBACRC,OAAQ,kBACRC,kBAAmB,wBACnBC,iBAAkB,wBAClBC,iBAAkB,GAClBC,WAAY,GACZC,WAAY,IAEd,CACEl9G,GAAI,EACJi8G,MAAO,SACPC,GAAI,QACJ7+F,IAAK,UACLQ,YAAa,SACbS,KAAM,KACNC,MAAO,uBACPy6B,SAAU,SACVmjE,KAAM,WACNC,KAAM,GACNC,IAAK,KACLC,IAAK,KACLC,EAAG,IACHC,EAAG,IACHC,EAAG,IACH3K,IAAK,IACL4K,MAAO,KAEPC,OAAQ,QACRC,OAAQ,oBACRC,OAAQ,kBACRC,kBAAmB,wBACnBC,iBAAkB,wBAClBC,iBAAkB,GAClBC,WAAY,GACZC,WAAY,IAEd,CACEl9G,GAAI,EACJi8G,MAAO,SACPC,GAAI,QACJ7+F,IAAK,UACLQ,YAAa,SACbS,KAAM,KACNC,MAAO,uBACPy6B,SAAU,KACVmjE,KAAM,WACNC,KAAM,GACNC,IAAK,IACLC,IAAK,IACLC,EAAG,IACHC,EAAG,IACHC,EAAG,IACH3K,IAAK,IACL4K,MAAO,IAEPC,OAAQ,QACRC,OAAQ,oBACRC,OAAQ,kBACRC,kBAAmB,wBACnBC,iBAAkB,wBAClBC,iBAAkB,GAClBC,WAAY,GACZC,WAAY,IAEd,CACEl9G,GAAI,EACJi8G,MAAO,SACPC,GAAI,QACJ7+F,IAAK,UACLQ,YAAa,SACbS,KAAM,KACNC,MAAO,uBACPy6B,SAAU,QACVmjE,KAAM,sBACNC,KAAM,GACNC,IAAK,KACLC,IAAK,KACLC,EAAG,IACHC,EAAG,IACHC,EAAG,IACH3K,IAAK,IACL4K,MAAO,KAEPC,OAAQ,QACRC,OAAQ,oBACRC,OAAQ,kBACRC,kBAAmB,wBACnBC,iBAAkB,wBAClBC,iBAAkB,GAClBC,WAAY,GACZC,WAAY,IAEd,CACEl9G,GAAI,EACJi8G,MAAO,SACPC,GAAI,QACJ7+F,IAAK,UACLQ,YAAa,SACbS,KAAM,KACNC,MAAO,uBACPy6B,SAAU,SACVmjE,KAAM,sBACNC,KAAM,yBACNC,IAAK,KACLC,IAAK,KACLC,EAAG,IACHC,EAAG,IACHC,EAAG,IACH3K,IAAK,IACL4K,MAAO,KAEPC,OAAQ,QACRC,OAAQ,oBACRC,OAAQ,kBACRC,kBAAmB,wBACnBC,iBAAkB,wBAClBC,iBAAkB,GAClBC,WAAY,GACZC,WAAY,IAEd,CACEl9G,GAAI,EACJi8G,MAAO,SACPC,GAAI,QACJ7+F,IAAK,UACLQ,YAAa,SACbS,KAAM,KACNC,MAAO,uBACPy6B,SAAU,KACVmjE,KAAM,sBACNC,KAAM,GACNC,IAAK,IACLC,IAAK,IACLC,EAAG,IACHC,EAAG,IACHC,EAAG,IACH3K,IAAK,IACL4K,MAAO,IAEPC,OAAQ,QACRC,OAAQ,oBACRC,OAAQ,kBACRC,kBAAmB,wBACnBC,iBAAkB,wBAClBC,iBAAkB,GAClBC,WAAY,GACZC,WAAY,KCxPD,SAASC,GAAiBle,GACvCA,EAAKC,OAAO,oBAAoBC,OAAM,YAAe,IAAZh9F,EAAW,EAAXA,KAC/B+e,EAAavgB,KAAKC,MAAMuB,GAAxB+e,SACR,EA2BIA,EA1BF+6F,aADF,MACQ,QADR,IA2BI/6F,EAzBFg7F,UAFF,MAEK,QAFL,IA2BIh7F,EAxBF7D,WAHF,MAGM,OAHN,IA2BI6D,EAvBFrD,mBAJF,MAIc,SAJd,IA2BIqD,EAtBF5C,YALF,kBA2BI4C,EArBF3C,aANF,MAMQ,MANR,IA2BI2C,EApBF83B,gBAPF,MAOW,QAPX,IA2BI93B,EAnBFi7F,YARF,MAQO,aARP,IA2BIj7F,EAlBFk7F,YATF,MASO,aATP,IA2BIl7F,EAjBFm7F,WAVF,MAUM,IAVN,IA2BIn7F,EAhBFo7F,WAXF,MAWM,IAXN,IA2BIp7F,EAfFq7F,SAZF,MAYI,IAZJ,IA2BIr7F,EAdFs7F,SAbF,MAaI,IAbJ,IA2BIt7F,EAbFu7F,SAdF,MAcI,IAdJ,IA2BIv7F,EAZF4wF,WAfF,MAeM,IAfN,IA2BI5wF,EAXFw7F,aAhBF,MAgBQ,IAhBR,IA2BIx7F,EATFy7F,cAlBF,MAkBU,QAlBV,IA2BIz7F,EARF07F,cAnBF,MAmBU,oBAnBV,IA2BI17F,EAPF27F,cApBF,MAoBU,kBApBV,IA2BI37F,EANF47F,yBArBF,MAqBqB,wBArBrB,IA2BI57F,EALF67F,wBAtBF,MAsBoB,wBAtBpB,IA2BI77F,EAJF87F,wBAvBF,MAuBoB,GAvBpB,IA2BI97F,EAHF+7F,kBAxBF,MAwBc,GAxBd,IA2BI/7F,EAFFg8F,kBAzBF,MAyBc,GAzBd,EA8BM9d,EAAc,CAClBp/F,GAgGN,WACE,IAAM8kB,EAAMu6E,GAAkB17F,KAAI,SAAAihB,GAAE,OAAIA,EAAG5kB,MAE3C,OADc2K,KAAKgrB,IAAL,MAAAhrB,KAAI,YAAQma,IACX,EArGFw6E,GAGT2c,QACAC,KACA7+F,MACAQ,cACAS,OACAC,QACAy6B,WACAmjE,OACAC,OACAC,MACAC,MACAC,IACAC,IACAC,IACA3K,MACA4K,QAEAC,SACAC,SACAC,SACAC,oBACAC,mBACAC,mBACAC,aACAC,cAGF,OADA7d,GAAkB32F,KAAK02F,GAChB,CAAC,IAAK,CAAEl+E,SAAUk+E,OAG3BH,EAAKC,OAAO,yBAAyBC,OAAM,SAAAj0C,GACzC,IAAMq0C,EAAY,IAAI1B,EACd34E,EAAgBvkB,KAAKC,MAAMsqD,EAAO/oD,MAAlC+iB,YAKR,MAAO,CAAC,IAJiBq6E,EAAUC,WACjCH,GACAn6E,OAKJ+5E,EAAKC,OAAO,oCAAoCC,OAAM,SAAAj0C,GAQpD,OAPgBvqD,KAAKC,MAAMsqD,EAAO/oD,MAA1B2iB,IACJhkB,SAAQ,SAAAd,GACV,IAAM6D,EAAQw7F,GAAkBr6E,WAAU,SAAAJ,GAAE,OAAIA,EAAG5kB,KAAOA,KACtD6D,GAAS,GACXw7F,GAAkBx6D,OAAOhhC,EAAO,MAG7B,CAAC,QAGVo7F,EAAKC,OAAO,6CAA6CC,OAAM,SAAAj0C,GAC7D,MAAwBvqD,KAAKC,MAAMsqD,EAAO/oD,MAAlC2iB,EAAR,EAAQA,IAAKnQ,EAAb,EAAaA,OAMb,OALA0qF,GAAkBv+F,SAAQ,SAAA8jB,GACpBE,EAAIE,WAAU,SAAAhlB,GAAE,OAAIA,IAAO4kB,EAAG5kB,OAAO,IACvC4kB,EAAGjQ,OAASA,MAGT,CAAC,QAGVsqF,EAAKQ,MAAM,0BAA0BN,OAAM,SAAAj0C,GACzC,IAAMlrD,EAAKkrD,EAAOt5C,IAAIjG,MAAM,4BAA4B,GAClDuV,EAAWm+E,GAAkBt8E,MAAK,SAAA6B,GAAE,OAAIA,EAAG5kB,MAAQA,KACzD,OAAKkhB,EAIE,CAAC,IAAKA,GAHJ,CAAC,QAMZ+9E,EAAKS,MAAM,0BAA0BP,OAAM,SAAAj0C,GACzC,IAAMlrD,EAAKkrD,EAAOt5C,IAAIjG,MAAM,4BAA4B,GAChDuV,EAAavgB,KAAKC,MAAMsqD,EAAO/oD,MAA/B+e,SACFrd,EAAQw7F,GAAkBr6E,WAAU,SAAAJ,GAAE,OAAIA,EAAG5kB,MAAQA,KAC3D,OAAK6D,GAILw7F,GAAkBx7F,GAAlB,eAAgCqd,GACzB,CAAC,MAJC,CAAC,QAOZ+9E,EAAK31E,SAAS,0BAA0B61E,OAAM,SAAAj0C,GAC5C,IAAMlrD,EAAKkrD,EAAOt5C,IAAIjG,MAAM,4BAA4B,GAClD9H,EAAQw7F,GAAkBr6E,WAAU,SAAAJ,GAAE,OAAIA,EAAG5kB,MAAQA,KAE3D,OADAq/F,GAAkBx6D,OAAOhhC,EAAO,IAChB,KAAXA,EACI,CAAC,KAGH,CAAC,Q,2yMC7HZ,IAEIw7F,GAFExhG,GAAU,IAAIC,IAAa,MAC3BC,GAAKC,IAAIH,I,+CAEA,WAAiCohG,GAAjC,IACJjrD,EAWMsvB,EAZF,EAmCElvB,EAnCF,EAoIEswD,EApIF,EAmREvwD,EAnRF,EAsXE8wD,EAtXF,iHAsXb,WAAuBjlG,GAAvB,kFACeiU,MAAMxP,OAAOyP,QAAU,oBAAsBlU,EAAI,CAC5DmU,OAAQ,MACRC,iBAAiB,EACjBC,QAAS,CACPC,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,sBAGjBC,KATU,wCASL,WAAOC,GAAP,iFACEC,EAAaD,EAASE,OADxB,SAEeF,EAAS1N,OAFxB,cAEE5E,EAFF,yBAGGyS,QAAQC,IAAI,CAACH,EAAYvS,KAH5B,2CATK,uDAcVqS,MAAK,SAACM,GACL,OAAOA,EAAI,MAEZC,OAAM,SAAC5K,GACNnH,QAAQmH,MAAMA,MAnBpB,oFAtXa,uBAsXE86F,EAtXF,yFAmRb,WAAwB/wD,EAAUl0C,GAAlC,4EAIE,GAHIgpG,EAAgB,GAChBC,EAAgB,GAChBxpF,EAAW,IAAI0yC,SACwC,IAAvDje,EAASkpE,YAAYjuG,QAAO,SAAChG,GAAD,OAAa,IAANA,KAASV,OAAc,CAC5DugG,EAAgB5qG,SAASsR,eAAe,kBACxCu5F,EAAgB7qG,SAASsR,eAAe,uBACxC,SAE+BhK,IAA3BsjG,EAActuF,MAAM,SACOhV,IAA3BujG,EAAcvuF,MAAM,KAEpBw5B,EAASmpE,WAAa,MAExB,MAAO59G,KAdb,OAkBKy0C,EAASmpE,YAC6C,IAAvDnpE,EAASkpE,YAAYjuG,QAAO,SAAChG,GAAD,OAAa,IAANA,KAASV,OAqBe,IAAvDyrC,EAASkpE,YAAYjuG,QAAO,SAAChG,GAAD,OAAa,IAANA,KAASV,aACf/C,IAA3BujG,EAAcvuF,MAAM,IACtB+E,EAAStK,OACP,OACA8zF,EAAcvuF,MAAM,GACpBuuF,EAAclqG,MAAMiJ,MAAM,MAAM,UAxBPtC,IAA3BsjG,EAActuF,MAAM,IACtB+E,EAAStK,OACP,OACA6zF,EAActuF,MAAM,GACpBsuF,EAAcjqG,MAAMiJ,MAAM,MAAM,IAGhCihG,EAAcvuF,MAAM,KAAOsuF,EAActuF,MAAM,KACjD+E,EAAStK,OAAO,UAAU,GAC1BsK,EAAStK,OAAO,eAAe,SAEFzP,IAA3BujG,EAAcvuF,MAAM,IACtB+E,EAAStK,OACP,QACA8zF,EAAcvuF,MAAM,GACpBuuF,EAAclqG,MAAMiJ,MAAM,MAAM,KAef,KAAnBksC,EAAS3iC,QACX9M,OAAOykG,gBAAiB,EACxBzpF,EAAStK,OAAO,QAAS++B,EAAS3iC,QAEV,KAAtB2iC,EAASi1D,UAAyC,OAAtBj1D,EAASi1D,UACvC1pF,EAAStK,OAAO,WAAY++B,EAASi1D,UAEX,KAAxBj1D,EAASk1D,YAA6C,OAAxBl1D,EAASk1D,YACzC3pF,EAAStK,OAAO,aAAc++B,EAASk1D,WAAWhjG,YAE9B,KAAlB8tC,EAAS7iC,MAAiC,OAAlB6iC,EAAS7iC,MACnCoO,EAAStK,OAAO,OAAQ++B,EAAS7iC,KAAKjL,YAEX,OAAzB8tC,EAASkpE,kBAAiD13G,IAAzBwuC,EAASkpE,aAC5C39F,EAAStK,OAAO,cAAe++B,EAASkpE,aAEf,OAAvBlpE,EAASm1D,gBAA6C3jG,IAAvBwuC,EAASm1D,WAC1C5pF,EAAStK,OAAO,YAAa++B,EAASm1D,WAEd,OAAtBn1D,EAASopE,eAA2C53G,IAAtBwuC,EAASopE,UACzC79F,EAAStK,OAAO,WAAY++B,EAASopE,UAEX,OAAxBppE,EAASmpE,iBAA+C33G,IAAxBwuC,EAASmpE,YAC3C59F,EAAStK,OAAO,aAAc++B,EAASmpE,YAEzC59F,EAAStK,OAAO,SAAU++B,EAASqpE,QA5ErC,UA8EetpG,MAAMxP,OAAOyP,QAAU,aAAelU,EAAI,CACrDmU,OAAQ,MACRC,iBAAiB,EACjBC,QAAS,CACPC,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,UAElBvV,KAAMygB,IAELjL,KATU,wCASL,WAAOC,GAAP,iFACEC,EAAaD,EAASE,OADxB,SAEeF,EAAS1N,OAFxB,cAEE5E,EAFF,yBAGGyS,QAAQC,IAAI,CAACH,EAAYvS,KAH5B,2CATK,uDAcVqS,MAAK,SAACM,GACL,OAAOA,EAAI,MAEZC,OAAM,SAACtV,GACNuD,QAAQC,IAAIxD,MAhGlB,sFAnRa,uBAmRE00C,EAnRF,2FAoIb,WAA0Bn0C,GAA1B,kFACeiU,MAAMxP,OAAOyP,QAAU,aAAelU,EAAI,CACrDmU,OAAQ,SACRC,iBAAiB,EACjBC,QAAS,CACPC,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,sBAGjBC,KATU,wCASL,WAAOC,GAAP,2FACGA,GADH,2CATK,uDAYVD,MAAK,SAACM,GACL,OAAOk/B,EAAcl/B,MAEtBC,OAAM,SAACtV,GACN,OAAOu0C,EAAcv0C,MAjB3B,oFApIa,uBAoIEilG,EApIF,yFAmCb,WAAyBxwD,GAAzB,mFACElxC,QAAQC,IAAI,WAAYixC,GACpB80D,EAAgB,GAChBC,EAAgB,GAChBxpF,EAAW,IAAI0yC,SAEwC,IAAvDje,EAASkpE,YAAYjuG,QAAO,SAAChG,GAAD,OAAa,IAANA,KAASV,SAC9CugG,EAAgB5qG,SAASsR,eAAe,kBACxCu5F,EAAgB7qG,SAASsR,eAAe,4BAEXhK,IAA3BsjG,EAActuF,MAAM,SACOhV,IAA3BujG,EAAcvuF,MAAM,KAEpBw5B,EAASmpE,WAAa,OAKvBnpE,EAASmpE,YAC6C,IAAvDnpE,EAASkpE,YAAYjuG,QAAO,SAAChG,GAAD,OAAa,IAANA,KAASV,OAqBe,IAAvDyrC,EAASkpE,YAAYjuG,QAAO,SAAChG,GAAD,OAAa,IAANA,KAASV,aACf/C,IAA3BujG,EAAcvuF,MAAM,IACtB+E,EAAStK,OACP,OACA8zF,EAAcvuF,MAAM,GACpBuuF,EAAclqG,MAAMiJ,MAAM,MAAM,UAxBPtC,IAA3BsjG,EAActuF,MAAM,IACtB+E,EAAStK,OACP,OACA6zF,EAActuF,MAAM,GACpBsuF,EAAcjqG,MAAMiJ,MAAM,MAAM,IAGhCihG,EAAcvuF,MAAM,KAAOsuF,EAActuF,MAAM,KACjD+E,EAAStK,OAAO,UAAU,GAC1BsK,EAAStK,OAAO,eAAe,SAEFzP,IAA3BujG,EAAcvuF,MAAM,IACtB+E,EAAStK,OACP,QACA8zF,EAAcvuF,MAAM,GACpBuuF,EAAclqG,MAAMiJ,MAAM,MAAM,KAcf,KAAnBksC,EAAS3iC,OACXkO,EAAStK,OAAO,QAAS++B,EAAS3iC,OAEV,KAAtB2iC,EAASi1D,UAAyC,OAAtBj1D,EAASi1D,UACvC1pF,EAAStK,OAAO,WAAY++B,EAASi1D,UAEX,KAAxBj1D,EAASk1D,YAA6C,OAAxBl1D,EAASk1D,YACzC3pF,EAAStK,OAAO,aAAc++B,EAASk1D,WAAWhjG,YAEpDqZ,EAAStK,OAAO,SAAU++B,EAASqpE,QAEb,KAAlBrpE,EAAS7iC,MAAiC,OAAlB6iC,EAAS7iC,MACnCoO,EAAStK,OAAO,OAAQ++B,EAAS7iC,KAAKjL,YAEX,OAAzB8tC,EAASkpE,kBAAiD13G,IAAzBwuC,EAASkpE,aAC5C39F,EAAStK,OAAO,cAAe++B,EAASkpE,cAEf,IAAvBlpE,EAASm1D,WACX5pF,EAAStK,OAAO,YAAa++B,EAASm1D,YAEd,IAAtBn1D,EAASopE,UACX79F,EAAStK,OAAO,WAAY++B,EAASopE,UAEX,OAAxBppE,EAASmpE,iBAA+C33G,IAAxBwuC,EAASmpE,YAC3C59F,EAAStK,OAAO,aAAc++B,EAASmpE,YA1E3C,kBA4ESppG,MAAMxP,OAAOyP,QAAU,YAAa,CACzCC,OAAQ,OACRC,iBAAiB,EACjBC,QAAS,CACPC,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,UAElBvV,KAAMygB,IAELjL,KATI,wCASC,WAAOC,GAAP,iFACEC,EAAaD,EAASE,OADxB,SAEeF,EAAS1N,OAFxB,cAEE5E,EAFF,yBAGGyS,QAAQC,IAAI,CAACH,EAAYvS,KAH5B,2CATD,uDAcJqS,MAAK,SAACM,GACL,OAAOA,EAAI,MAEZC,OAAM,SAACtV,QA7FZ,6CAnCa,uBAmCE20C,EAnCF,yFAYb,+FACengC,MAAMxP,OAAOyP,QAAP,YAA8B,CAC/CC,OAAQ,MACRC,iBAAiB,EACjBC,QAAS,CACPC,cAAc,UAAD,OAAYvW,GAAG+L,WAAWyK,OACvC,eAAgB,SAChB,eAAgB,mBAChB,8BAA+B,OAGhCC,KAVU,wCAUL,WAAOC,GAAP,0FACqBA,EAASE,OAD9B,cACED,EADF,gBAEeD,EAAS1N,OAFxB,cAEE5E,EAFF,yBAGGyS,QAAQC,IAAI,CAACH,EAAYvS,KAH5B,2CAVK,uDAeVqS,MAAK,SAACM,GACL,OAAOorF,GAASprF,EAAI,OAErBC,OAAM,SAAC5K,GACNnH,QAAQmH,MAAMA,MApBpB,oFAZa,uBAYEm5D,EAZF,2CACJtvB,EADI,SACUl/B,GACrB,IAAIH,EAASG,EAAIH,OACbs/B,EAAan/B,EAAIm/B,WACrB,OAAe,MAAXt/B,GACFnV,YAAa,UAAW,YACjB,GACa,MAAXmV,GACTnV,YAAa,QAASy0C,IACf,QAFF,GAiJTgrD,EAAKC,OAAO,qBAAqBC,MAAjC,wCAAuC,2IAASh9F,EAAT,EAASA,KAAT,EAChBxB,KAAKC,MAAMuB,GAAxB+e,EAD6B,EAC7BA,SAD6B,EAajCA,EAVF3P,aAHmC,MAG3B,GAH2B,IAajC2P,EATFioF,gBAJmC,MAIxB,GAJwB,IAajCjoF,EARFkoF,kBALmC,MAKtB,GALsB,IAajCloF,EAPF7P,YANmC,MAM5B,GAN4B,IAajC6P,EANFmoF,iBAPmC,WAajCnoF,EALFo8F,gBARmC,WAajCp8F,EAJFk8F,mBATmC,MASrB,GATqB,IAajCl8F,EAHFooF,eAVmC,MAUzB,KAVyB,IAajCpoF,EAFFm8F,kBAXmC,MAWtB,KAXsB,IAajCn8F,EADFq8F,OAGIne,EAAc,CAClB7tF,QACA+3F,UACAH,WACAC,aACA/3F,OACAg4F,YACAiU,WACAF,cACAC,aACAE,YAzBmC,MAY1B,KAZ0B,YA2BLnpE,EAAUgrD,GA3BL,eA4BN15F,KAD3B0xG,EA3BiC,QA4Bb5zG,GA5Ba,wBA6BnChE,YAAa,UAAW,2CACxB43G,EAAoBp3G,GAAKo3G,EAAoB5zG,GAC7CiB,OAAO+4G,WAAa,IACpBne,GAAkB32F,KAAK02F,GAhCY,kBAiC5B,CACL,IACA,CACEl+E,SAAUk+E,EACV14F,QAAS0wG,EAAoB3hG,QAC7BstF,SAAS,KAtCsB,QA0C/BqU,EAAoB3hG,UACtBjW,YAAa,QAAS43G,EAAoB3hG,SAC1ChR,OAAO+4G,WAAa,KA5Ca,4CAAvC,uDAiDAve,EAAKC,OAAO,0BAA0BC,MAAtC,wCAA4C,WAAOj0C,GAAP,qFACpCq0C,EAAY,IAAI1B,EADoB,EAElBl9F,KAAKC,MAAMsqD,EAAO/oD,MAAlC+iB,EAFkC,EAElCA,YAFkC,SAGhBo+C,IAHgB,cAG1C+7B,GAH0C,OAItCn6E,EAAY/V,OAAOq+D,eACrB6xB,GAAoBA,GAAkBlwF,QAAO,SAAAhG,GAC3C,IAAIs0G,EAAiB,GAErB,OADAt0G,EAAEsuE,WAAW9zE,KAAI,SAAA6E,GAAC,OAAEi1G,EAAe/0G,KAAKF,EAAE/E,SACnCg6G,EAAeluG,SAAS2V,EAAY/V,OAAOq+D,kBAGlD/oE,OAAOi5G,2BACTre,GAAoBA,GAAkBlwF,QACpC,SAACm+D,GAAD,OACElsE,OAAOksE,EAAK/7D,OACTjC,OACAR,cACAS,SACCnO,OAAOqD,OAAOi5G,0BACXpuG,OACAR,gBAEP1N,OAAOksE,EAAK67B,UACT75F,OACAR,cACAS,SACCnO,OAAOqD,OAAOi5G,0BACXpuG,OACAR,gBAEL1N,OAAOksE,EAAKttE,IACTsP,OACAR,cACAS,SACCnO,OAAOqD,OAAOi5G,0BACXpuG,OACAR,wBAIwBpJ,IAAnCwf,EAAY/V,OAAOwuG,cACrBte,GAAoBA,GAAkBlwF,QAAO,SAACm+D,GAAD,OAC3ClsE,OAAOksE,EAAK+7B,WAAW95F,SAASnO,OAAO8jB,EAAY/V,OAAOwuG,uBAGxBj4G,IAAlCwf,EAAY/V,OAAOyuG,aACrBve,GAAoBA,GAAkBlwF,QAAO,SAACm+D,GAAD,OAC3ClsE,OAAOksE,EAAKgwC,UAAU/tG,SACpBnO,OAAO8jB,EAAY/V,OAAOyuG,aAAc,eAIvC14F,EAAY/V,OAAOojB,mBACnBrN,EAAY/V,OAAOq+D,oBACnBtoD,EAAY/V,OAAOmjB,kBACnBpN,EAAY/V,OAAOwuG,mBACnBz4F,EAAY/V,OAAOyuG,WACpBvd,EAAmBd,EAAUC,WACjCH,GACAn6E,GA3DwC,kBA6DnC,CAAC,IAAKm7E,IA7D6B,4CAA5C,uDAgEApB,EAAKC,OAAO,qCAAqCC,OAAM,SAACj0C,GAQtD,OAPgBvqD,KAAKC,MAAMsqD,EAAO/oD,MAA1B2iB,IACJhkB,SAAQ,SAACd,GACX,IAAM6D,EAAQw7F,GAAkBr6E,WAAU,SAACJ,GAAD,OAAQA,EAAG5kB,KAAOA,KACxD6D,GAAS,GACXw7F,GAAkBx6D,OAAOhhC,EAAO,MAG7B,CAAC,QA2HVo7F,EAAKC,OAAO,8CAA8CC,OAAM,SAACj0C,GAC/D,MAAwBvqD,KAAKC,MAAMsqD,EAAO/oD,MAAlC2iB,EAAR,EAAQA,IAAKnQ,EAAb,EAAaA,OAMb,OALA0qF,GAAkBv+F,SAAQ,SAAC8jB,GACrBE,EAAIE,WAAU,SAAChlB,GAAD,OAAQA,IAAO4kB,EAAG5kB,OAAO,IACzC4kB,EAAGjQ,OAASA,MAGT,CAAC,QAGVsqF,EAAKQ,MAAM,2BAA2BN,MAAtC,wCAA4C,WAAOj0C,GAAP,iFACpClrD,EAAKkrD,EAAOt5C,IAAIjG,MAAM,6BAA6B,GADf,SAEnBs5F,EAAQjlG,GAFW,UAEpCkhB,EAFoC,gDAIjC,CAAC,MAJgC,gCAMnC,CAAC,IAAKA,IAN6B,2CAA5C,uDASA+9E,EAAKS,MAAM,2BAA2BP,MAAtC,wCAA4C,WAAOj0C,GAAP,qFACpClrD,EAAKkrD,EAAOt5C,IAAIjG,MAAM,6BAA6B,GADf,EAErBhL,KAAKC,MAAMsqD,EAAO/oD,MAA/B+e,EAFkC,EAElCA,SAFkC,SAGpCizB,EAASjzB,EAAUlhB,GAHiB,cAIpC6D,EAAQw7F,GAAkBr6E,WAAU,SAACJ,GAAD,OAAQA,EAAG5kB,MAAQA,KAC7Dq/F,GAAkBx7F,GAAlB,eAAgCqd,GAChC1hB,YAAa,UAAW,0CANkB,kBAOnC,CAAC,MAPkC,2CAA5C,uDAUAy/F,EAAK31E,SAAS,2BAA2B61E,MAAzC,wCAA+C,WAAOj0C,GAAP,6EACvClrD,EAAKkrD,EAAOt5C,IAAIjG,MAAM,6BAA6B,IAE1C,KADT9H,EAAQw7F,GAAkBr6E,WAAU,SAACJ,GAAD,OAAQA,EAAG5kB,MAAQA,MAFhB,yCAIpC,CAAC,MAJmC,uBAMvB0kG,EAAW1kG,GANY,0DAQpC,CAAC,MARmC,cAU7Cq/F,GAAkBx6D,OAAOhhC,EAAO,GAVa,kBAWtC,CAAC,MAXqC,4CAA/C,uDAzaa,6C,sBAwbf,SAASq8F,GAASv4F,GAChB,IAAK,IAAI/D,KAAQ+D,EACfA,EAAK/D,GAAM5D,GAAK2H,EAAK/D,GAAMJ,UACpBmE,EAAK/D,GAAMJ,GAEpB,OAAOmE,E,2yMChcT,IAAM9J,GAAU,IAAIC,IAAa,MAC3BC,GAAKC,IAAIH,IACXwhG,GAAoB,G,+CAET,WAAoCJ,GAApC,IACJjrD,EAYMsvB,EAbF,EA0CEtuB,EA1CF,EAkEEZ,EAlEF,EAyFED,EAzFF,EAgHEgsD,EAhHF,EAsIE4I,EAtIF,iHAsIb,+FACe90F,MAAMxP,OAAOyP,QAAU,wBAAyB,CAC3DC,OAAQ,MACRC,iBAAiB,EACjBC,QAAS,CACPiL,OAAQ,oCACRhL,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,sBAGjBC,MAAK,SAACM,GAAD,OAASA,EAAI/N,UAClByN,MAAK,SAACM,GACL,cAAOA,QAAP,IAAOA,IAAO,MAEfC,OAAM,WAEL,OADAvV,YAAa,QAAS,6BACf,KAjBb,oFAtIa,uBAsIEupG,EAtIF,wFAgHb,WAA2B/oG,GAA3B,kFACeiU,MAAMxP,OAAOyP,QAAU,YAAclU,EAAI,CACpDmU,OAAQ,SACRC,iBAAiB,EACjBC,QAAS,CACPiL,OAAQ,oCACRhL,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,sBAGjBC,KAVU,wCAUL,WAAOC,GAAP,2FACGA,GADH,2CAVK,uDAaVD,MAAK,SAACM,GACL,OAAOk/B,EAAcl/B,MAEtBC,OAAM,SAACtV,GACN,OAAOu0C,EAAcv0C,MAlB3B,oFAhHa,uBAgHE0gG,EAhHF,yFAyFb,WAAwBjsD,EAAUl0C,GAAlC,2FACSiU,MAAMxP,OAAOyP,QAAU,YAAclU,EAAI,CAC9CmU,OAAQ,MACRC,iBAAiB,EACjBC,QAAS,CACPiL,OAAQ,oCACRhL,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,oBAElBvV,KAAM2B,KAAKE,UAAUqzC,EAAQ,YAE5B1/B,KAXI,wCAWC,WAAOC,GAAP,kFACSA,EADT,mFAXD,uDAcJD,MAAK,SAACM,GACL,OAAOk/B,EAAcl/B,MAEtBC,OAAM,SAACtV,GACN,OAAOu0C,EAAcv0C,OAnB3B,4CAzFa,uBAyFE00C,EAzFF,2FAkEb,WAAyBD,GAAzB,2FACSjgC,MAAMxP,OAAOyP,QAAU,WAAY,CACxCC,OAAQ,OACRC,iBAAiB,EACjBC,QAAS,CACPiL,OAAQ,oCACRhL,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,oBAElBvV,KAAM2B,KAAKE,UAAUqzC,KAEpB1/B,KAXI,wCAWC,WAAOC,GAAP,kFACSA,EADT,mFAXD,uDAcJD,MAAK,SAACM,GACL,OAAOk/B,EAAcl/B,MAEtBC,OAAM,SAACtV,GACN,OAAOu0C,EAAcv0C,OAnB3B,4CAlEa,uBAkEE20C,EAlEF,yFA0Cb,WAA0Bp0C,GAA1B,kFACeiU,MAAM,GAAD,OAAIxP,OAAOyP,QAAX,oBAA8BlU,GAAM,CACpDmU,OAAQ,MACRC,iBAAiB,EACjBC,QAAS,CACPC,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,sBAGjBC,KATU,wCASL,WAAOC,GAAP,0FACqBA,EAASE,OAD9B,cACED,EADF,gBAEeD,EAAS1N,OAFxB,cAEE5E,EAFF,yBAGGyS,QAAQC,IAAI,CAACH,EAAYvS,KAH5B,2CATK,uDAcVqS,MAAK,SAACM,GAEL,OADAA,EAAI,GAAG0K,OAAOxf,GAAK8U,EAAI,GAAG0K,OAAOhc,GAC1BsR,EAAI,GAAG0K,UAEfzK,OAAM,SAAC5K,GACNnH,QAAQmH,MAAMA,MApBpB,oFA1Ca,uBA0CE6qC,EA1CF,yFAab,WAAwBkmE,GAAxB,kFACejnG,MAAM,GAAD,OACbxP,OAAOyP,QADM,sCACwBgnG,QADxB,IACwBA,IAAiB,GADzC,qBAEdz2G,OAAO86B,QAET,CACEprB,OAAQ,MACRC,iBAAiB,EACjBC,QAAS,CACPC,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,sBAInBC,KAdU,wCAcL,WAAOC,GAAP,0FACqBA,EAASE,OAD9B,cACED,EADF,gBAEeD,EAAS1N,OAFxB,cAEE5E,EAFF,yBAGGyS,QAAQC,IAAI,CAACH,EAAYvS,KAH5B,2CAdK,uDAmBVqS,MAAK,SAACM,GAEL,OADAA,EAAI,GAAGwnD,QAAU4jC,GAASprF,EAAI,GAAGwnD,SAC1BxnD,EAAI,MAEZC,OAAM,SAAC5K,GACNnH,QAAQmH,MAAMA,MAzBpB,oFAba,uBAaEm5D,EAbF,4CACJtvB,EADI,SACUl/B,GACrB,IAAIH,EAASG,EAAIH,OACbs/B,EAAan/B,EAAIm/B,WACrB,OAAe,MAAXt/B,GACFnV,YAAa,UAAW,YACjB,GACa,MAAXmV,GACTnV,YAAa,QAASy0C,IACf,QAFF,GAqJTgrD,EAAKQ,MAAM,kCAAkCN,MAA7C,uBAAmD,qGAC/B4J,IAD+B,cAC3Cr8E,EAD2C,yBAE1C,CAAC,IAAKA,IAFoC,4CAKnDuyE,EAAKC,OAAO,wBAAwBC,MAApC,wCAA0C,iGAASh9F,EAAT,EAASA,KAAT,EACnBxB,KAAKC,MAAMuB,GAAxB+e,EADgC,EAChCA,SADgC,SAElCkzB,EAAUlzB,GAFwB,cAGxCm+E,GAAkB32F,KAAKwY,GAHiB,kBAIjC,CAAC,IAAK,CAAEA,SAAUA,KAJe,2CAA1C,uDAOA+9E,EAAKC,OAAO,6BAA6BC,MAAzC,wCAA+C,WAAOj0C,GAAP,yFACvCq0C,EAAY,IAAI1B,EADuB,EAErBl9F,KAAKC,MAAMsqD,EAAO/oD,MAAlC+iB,EAFqC,EAErCA,YAEF/V,EAAS+V,EAAY/V,OAJkB,SAK3Bm0D,EAASn0D,EAAO+rG,eALW,cAKzC3+D,EALyC,cAMtCr3B,EAAY/V,OAAO+rG,cAC1Bh2F,EAAY/V,OAAOnP,GAAKyE,OAAOo5G,4BAC/Bxe,GAAoB9iD,EAAM+f,SACpB+jC,EAAmBd,EAAUC,WACjCH,GACAn6E,IAEe82F,SAAWz/D,EAAMy/D,SAbW,kBActC,CAAC,IAAK3b,IAdgC,4CAA/C,uDAiBApB,EAAKC,OAAO,wCAAwCC,MAApD,wCAA0D,WAAOj0C,GAAP,iFACxCvqD,KAAKC,MAAMsqD,EAAO/oD,MADsB,EAChD2iB,IACJhkB,SAAQ,SAACd,GACX,IAAM6D,EAAQw7F,GAAkBr6E,WAAU,SAACJ,GAAD,OAAQA,EAAG5kB,KAAOA,KACxD6D,GAAS,GACXw7F,GAAkBx6D,OAAOhhC,EAAO,MALoB,kBAQjD,CAAC,MARgD,2CAA1D,uDAWAo7F,EACGC,OAAO,iDACPC,MAFH,wCAES,WAAOj0C,GAAP,qFACmBvqD,KAAKC,MAAMsqD,EAAO/oD,MAAlC2iB,EADH,EACGA,IAAKnQ,EADR,EACQA,OACb0qF,GAAkBv+F,SAAQ,SAAC8jB,GACrBE,EAAIE,WAAU,SAAChlB,GAAD,OAAQA,IAAO4kB,EAAG5kB,OAAO,IACzC4kB,EAAGjQ,OAASA,MAJX,kBAOE,CAAC,MAPH,2CAFT,uDAYAsqF,EAAKQ,MAAM,8BAA8BN,MAAzC,wCAA+C,WAAOj0C,GAAP,iFACvClrD,EAAKkrD,EAAOt5C,IAAIjG,MAAM,gCAAgC,GADf,SAEtBqpC,EAAWh1C,GAFW,UAEvCkhB,EAFuC,gDAIpC,CAAC,MAJmC,gCAMtC,CAAC,IAAKA,IANgC,2CAA/C,uDASA+9E,EAAKS,MAAM,8BAA8BP,MAAzC,wCAA+C,WAAOj0C,GAAP,qFACvClrD,EAAKkrD,EAAOt5C,IAAIjG,MAAM,gCAAgC,GACtD20F,EAAc3/F,KAAKC,MAAMsqD,EAAO/oD,MAC9B+e,EAAao/E,EAAbp/E,SAHqC,SAI1BizB,EAASmsD,EAAatgG,GAJI,0DAMpC,CAAC,MANmC,WAS9B,KADT6D,EAAQw7F,GAAkBr6E,WAAU,SAACJ,GAAD,OAAQA,EAAG5kB,MAAQA,MARhB,0CAUpC,CAAC,MAVmC,eAY7Cq/F,GAAkBx7F,GAAlB,eAAgCqd,GAZa,kBAatC,CAAC,MAbqC,4CAA/C,uDAgBA+9E,EAAK31E,SAAS,8BAA8B61E,MAA5C,wCAAkD,WAAOj0C,GAAP,6EAC1ClrD,EAAKkrD,EAAOt5C,IAAIjG,MAAM,gCAAgC,IAE7C,KADT9H,EAAQw7F,GAAkBr6E,WAAU,SAACJ,GAAD,OAAQA,EAAG5kB,MAAQA,MAFb,yCAIvC,CAAC,MAJsC,uBAM1BmgG,EAAYngG,GANc,0DAQvC,CAAC,MARsC,cAUhDq/F,GAAkBx6D,OAAOhhC,EAAO,GAVgB,kBAWzC,CAAC,MAXwC,4CAAlD,uDAzOa,6C,sBAwPf,SAASq8F,GAASv4F,GAChB,IAAK,IAAI/D,KAAQ+D,EACfA,EAAK/D,GAAM5D,GAAK2H,EAAK/D,GAAMJ,UACpBmE,EAAK/D,GAAMJ,GAEpB,OAAOmE,E,2yMCjQT,IAAM9J,GAAU,IAAIC,IAAa,MAC3BC,GAAKC,IAAIH,IACXwhG,GAAoB,G,+CAET,WAAwCJ,GAAxC,IACJjrD,EAYMsvB,EAbF,EA6CEtuB,EA7CF,EAqEEZ,EArEF,EA4FED,EA5FF,EAmHEgsD,EAnHF,EAyIE4I,EAzIF,iHAyIb,+FACe90F,MAAMxP,OAAOyP,QAAU,wBAAyB,CAC3DC,OAAQ,MACRC,iBAAiB,EACjBC,QAAS,CACPiL,OAAQ,oCACRhL,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,sBAGjBC,MAAK,SAACM,GAAD,OAASA,EAAI/N,UAClByN,MAAK,SAACM,GACL,cAAOA,QAAP,IAAOA,IAAO,MAEfC,OAAM,WAEL,OADAvV,YAAa,QAAS,6BACf,KAjBb,oFAzIa,uBAyIEupG,EAzIF,wFAmHb,WAA2B/oG,GAA3B,kFACeiU,MAAMxP,OAAOyP,QAAU,YAAclU,EAAI,CACpDmU,OAAQ,SACRC,iBAAiB,EACjBC,QAAS,CACPiL,OAAQ,oCACRhL,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,sBAGjBC,KAVU,wCAUL,WAAOC,GAAP,2FACGA,GADH,2CAVK,uDAaVD,MAAK,SAACM,GACL,OAAOk/B,EAAcl/B,MAEtBC,OAAM,SAACtV,GACN,OAAOu0C,EAAcv0C,MAlB3B,oFAnHa,uBAmHE0gG,EAnHF,yFA4Fb,WAAwBjsD,EAAUl0C,GAAlC,2FACSiU,MAAMxP,OAAOyP,QAAU,YAAclU,EAAI,CAC9CmU,OAAQ,MACRC,iBAAiB,EACjBC,QAAS,CACPiL,OAAQ,oCACRhL,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,oBAElBvV,KAAM2B,KAAKE,UAAUqzC,EAAQ,YAE5B1/B,KAXI,wCAWC,WAAOC,GAAP,kFACSA,EADT,mFAXD,uDAcJD,MAAK,SAACM,GACL,OAAOk/B,EAAcl/B,MAEtBC,OAAM,SAACtV,GACN,OAAOu0C,EAAcv0C,OAnB3B,4CA5Fa,uBA4FE00C,EA5FF,2FAqEb,WAAyBD,GAAzB,2FACSjgC,MAAMxP,OAAOyP,QAAU,WAAY,CACxCC,OAAQ,OACRC,iBAAiB,EACjBC,QAAS,CACPiL,OAAQ,oCACRhL,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,oBAElBvV,KAAM2B,KAAKE,UAAUqzC,KAEpB1/B,KAXI,wCAWC,WAAOC,GAAP,kFACSA,EADT,mFAXD,uDAcJD,MAAK,SAACM,GACL,OAAOk/B,EAAcl/B,MAEtBC,OAAM,SAACtV,GACN,OAAOu0C,EAAcv0C,OAnB3B,4CArEa,uBAqEE20C,EArEF,yFA6Cb,WAA0Bp0C,GAA1B,kFACeiU,MAAM,GAAD,OAAIxP,OAAOyP,QAAX,oBAA8BlU,GAAM,CACpDmU,OAAQ,MACRC,iBAAiB,EACjBC,QAAS,CACPC,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,sBAGjBC,KATU,wCASL,WAAOC,GAAP,0FACqBA,EAASE,OAD9B,cACED,EADF,gBAEeD,EAAS1N,OAFxB,cAEE5E,EAFF,yBAGGyS,QAAQC,IAAI,CAACH,EAAYvS,KAH5B,2CATK,uDAcVqS,MAAK,SAACM,GAEL,OADAA,EAAI,GAAG0K,OAAOxf,GAAK8U,EAAI,GAAG0K,OAAOhc,GAC1BsR,EAAI,GAAG0K,UAEfzK,OAAM,SAAC5K,GACNnH,QAAQmH,MAAMA,MApBpB,oFA7Ca,uBA6CE6qC,EA7CF,yFAab,WAAwB9vB,GAAxB,+FACU/V,EAAuD+V,EAAvD/V,OAAQyf,EAA+C1J,EAA/C0J,SAAUD,EAAqCzJ,EAArCyJ,WAAYD,EAAyBxJ,EAAzBwJ,UAAWD,EAAcvJ,EAAduJ,UACzCzuB,EAA+BmP,EAA/BnP,GAAIkZ,EAA2B/J,EAA3B+J,WAAYoZ,EAAenjB,EAAfmjB,WAF1B,SAGere,MAAM,GAAD,OACbxP,OAAOyP,QADM,2CAC6BgF,QAD7B,IAC6BA,IAC3C,GAFc,+BAECzU,OAAO86B,cAFR,QAEkB,GAFlB,4BAEiC3Q,QAFjC,IAEiCA,IAC/C,GAHc,8BAGGD,QAHH,IAGGA,IAAc,GAHjB,0BAG8B2D,QAH9B,IAG8BA,IAAc,GAH5C,sBAGqDtyB,QAHrD,IAGqDA,IACnE,GAJc,6BAIE0uB,QAJF,IAIEA,IAAa,GAJf,6BAI+BD,QAJ/B,IAI+BA,IAAa,OAC5D,CACEta,OAAQ,MACRC,iBAAiB,EACjBC,QAAS,CACPC,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,sBAInBC,KAfU,wCAeL,WAAOC,GAAP,0FACqBA,EAASE,OAD9B,cACED,EADF,gBAEeD,EAAS1N,OAFxB,cAEE5E,EAFF,yBAGGyS,QAAQC,IAAI,CAACH,EAAYvS,KAH5B,2CAfK,uDAoBVqS,MAAK,SAACM,GAEL,OADAA,EAAI,GAAGwnD,QAAU4jC,GAASprF,EAAI,GAAGwnD,SAC1BxnD,EAAI,MAEZC,OAAM,SAAC5K,GACNnH,QAAQmH,MAAMA,MA5BpB,oFAba,uBAaEm5D,EAbF,4CACJtvB,EADI,SACUl/B,GACrB,IAAIH,EAASG,EAAIH,OACbs/B,EAAan/B,EAAIm/B,WACrB,OAAe,MAAXt/B,GACFnV,YAAa,UAAW,YACjB,GACa,MAAXmV,GACTnV,YAAa,QAASy0C,IACf,QAFF,GAwJTgrD,EAAKQ,MAAM,sCAAsCN,MAAjD,uBAAuD,qGACnC4J,IADmC,cAC/Cr8E,EAD+C,yBAE9C,CAAC,IAAKA,IAFwC,4CAKvDuyE,EAAKC,OAAO,4BAA4BC,MAAxC,wCAA8C,iGAASh9F,EAAT,EAASA,KAAT,EACvBxB,KAAKC,MAAMuB,GAAxB+e,EADoC,EACpCA,SADoC,SAEtCkzB,EAAUlzB,GAF4B,cAG5Cm+E,GAAkB32F,KAAKwY,GAHqB,kBAIrC,CAAC,IAAK,CAAEA,SAAUA,KAJmB,2CAA9C,uDAOA+9E,EAAKC,OAAO,iCAAiCC,MAA7C,wCAAmD,WAAOj0C,GAAP,+FAC3Cq0C,EAAY,IAAI1B,EAD2B,EAEzBl9F,KAAKC,MAAMsqD,EAAO/oD,MAAlC+iB,EAFyC,EAEzCA,YAFyC,SAK/Bo+C,EAASp+C,GALsB,OAYjD,IAPIq3B,EAL6C,OAOjDr3B,EAAY/V,OAAS,GACrB+V,EAAY/V,OAAOnP,GAAKyE,OAAOo5G,4BAC/Bxe,GAAoB9iD,EAAM+f,QAEtB30D,EAAO,GAELa,EAAI,EACRA,IAAM0c,EAAYyJ,WAAa,GAAKzJ,EAAY0J,SAChDpmB,IAEAb,EAAKe,KAAK,IAjBqC,OAkBjDf,EAAKe,KAAL,MAAAf,EAAI,YAAS03F,KACbA,GAAoB13F,GAEd04F,EAAmBd,EAAUC,WACjCH,GACAn6E,IAEe1B,WAAjB,iBAA8B+4B,QAA9B,IAA8BA,GAA9B,UAA8BA,EAAOgH,kBAArC,aAA8B,EAAmBC,sBAAjD,QAAmE,EACnE68C,EAAiB2b,SAAWz/D,EAAMy/D,SA1Be,kBA2B1C,CAAC,IAAK3b,IA3BoC,4CAAnD,uDA8BApB,EACGC,OAAO,4CACPC,MAFH,wCAES,WAAOj0C,GAAP,iFACWvqD,KAAKC,MAAMsqD,EAAO/oD,MAD7B,EACG2iB,IACJhkB,SAAQ,SAACd,GACX,IAAM6D,EAAQw7F,GAAkBr6E,WAAU,SAACJ,GAAD,OAAQA,EAAG5kB,KAAOA,KACxD6D,GAAS,GACXw7F,GAAkBx6D,OAAOhhC,EAAO,MAL/B,kBAQE,CAAC,MARH,2CAFT,uDAaAo7F,EACGC,OAAO,qDACPC,MAFH,wCAES,WAAOj0C,GAAP,qFACmBvqD,KAAKC,MAAMsqD,EAAO/oD,MAAlC2iB,EADH,EACGA,IAAKnQ,EADR,EACQA,OACb0qF,GAAkBv+F,SAAQ,SAAC8jB,GACrBE,EAAIE,WAAU,SAAChlB,GAAD,OAAQA,IAAO4kB,EAAG5kB,OAAO,IACzC4kB,EAAGjQ,OAASA,MAJX,kBAOE,CAAC,MAPH,2CAFT,uDAYAsqF,EAAKQ,MAAM,kCAAkCN,MAA7C,wCAAmD,WAAOj0C,GAAP,iFAC3ClrD,EAAKkrD,EAAOt5C,IAAIjG,MAAM,oCAAoC,GADf,SAE1BqpC,EAAWh1C,GAFe,UAE3CkhB,EAF2C,gDAIxC,CAAC,MAJuC,gCAM1C,CAAC,IAAKA,IANoC,2CAAnD,uDASA+9E,EAAKS,MAAM,kCAAkCP,MAA7C,wCAAmD,WAAOj0C,GAAP,qFAC3ClrD,EAAKkrD,EAAOt5C,IAAIjG,MAAM,oCAAoC,GAC1D20F,EAAc3/F,KAAKC,MAAMsqD,EAAO/oD,MAC9B+e,EAAao/E,EAAbp/E,SAHyC,SAI9BizB,EAASmsD,EAAatgG,GAJQ,0DAMxC,CAAC,MANuC,WASlC,KADT6D,EAAQw7F,GAAkBr6E,WAAU,SAACJ,GAAD,OAAQA,EAAG5kB,MAAQA,MARZ,0CAUxC,CAAC,MAVuC,eAYjDq/F,GAAkBx7F,GAAlB,eAAgCqd,GAZiB,kBAa1C,CAAC,MAbyC,4CAAnD,uDAgBA+9E,EAAK31E,SAAS,kCAAkC61E,MAAhD,wCAAsD,WAAOj0C,GAAP,6EAC9ClrD,EAAKkrD,EAAOt5C,IAAIjG,MAAM,oCAAoC,IAEjD,KADT9H,EAAQw7F,GAAkBr6E,WAAU,SAACJ,GAAD,OAAQA,EAAG5kB,MAAQA,MAFT,yCAI3C,CAAC,MAJ0C,uBAM9BmgG,EAAYngG,GANkB,0DAQ3C,CAAC,MAR0C,cAUpDq/F,GAAkBx6D,OAAOhhC,EAAO,GAVoB,kBAW7C,CAAC,MAX4C,4CAAtD,uDA3Pa,6C,sBA0Qf,SAASq8F,GAASv4F,GAChB,IAAK,IAAI/D,KAAQ+D,EACfA,EAAK/D,GAAM5D,GAAK2H,EAAK/D,GAAMJ,UACpBmE,EAAK/D,GAAMJ,GAEpB,OAAOmE,E,2yMCnRT,IAAM9J,GAAU,IAAIC,IAAa,MAC3BC,GAAKC,IAAIH,IACXwhG,GAAoB,G,+CAET,WAA2CJ,GAA3C,IACJjrD,EAYMsvB,EAbF,EAkDEw6C,EAlDF,EAsFE1pE,EAtFF,EA6GED,EA7GF,EAoIEgsD,EApIF,EA0JE4I,EA1JF,EA+KEgV,EA/KF,EAoMEC,EApMF,iHAoMb,WAA0Bh+G,EAAI8G,GAA9B,kFACemN,MAAMxP,OAAOyP,QAAU,4BAA8BlU,EAAI,CACpEmU,OAAQ,MACRC,iBAAiB,EACjBC,QAAS,CACPiL,OAAQ,oCACRhL,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,oBAElBvV,KAAM2B,KAAKE,UAAUiG,KACpB0N,KAVU,wCAUL,WAAOC,GAAP,wFACmBA,EAASE,OAD5B,cAEa,OADbD,EADA,SAGJlV,YAAa,UAAW,WAHpB,kBAKCkV,GALD,2CAVK,uDADf,oFApMa,uBAoMEspG,EApMF,2FA+Kb,WAA0Bh+G,GAA1B,kFACeiU,MAAMxP,OAAOyP,QAAU,4BAA8BlU,EAAI,CACpEmU,OAAQ,MACRC,iBAAiB,EACjBC,QAAS,CACPiL,OAAQ,oCACRhL,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,sBAGjBC,MAAK,SAACM,GAAD,OAASA,EAAI/N,UAClByN,MAAK,SAACM,GACL,cAAOA,QAAP,IAAOA,IAAO,MAEfC,OAAM,WAEL,OADAvV,YAAa,QAAS,6BACf,KAjBb,oFA/Ka,uBA+KEu+G,EA/KF,yFA0Jb,+FACe9pG,MAAMxP,OAAOyP,QAAU,wBAAyB,CAC3DC,OAAQ,MACRC,iBAAiB,EACjBC,QAAS,CACPiL,OAAQ,oCACRhL,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,sBAGjBC,MAAK,SAACM,GAAD,OAASA,EAAI/N,UAClByN,MAAK,SAACM,GACL,cAAOA,QAAP,IAAOA,IAAO,MAEfC,OAAM,WAEL,OADAvV,YAAa,QAAS,6BACf,KAjBb,oFA1Ja,uBA0JEupG,EA1JF,wFAoIb,WAA2B/oG,GAA3B,kFACeiU,MAAMxP,OAAOyP,QAAU,YAAclU,EAAI,CACpDmU,OAAQ,SACRC,iBAAiB,EACjBC,QAAS,CACPiL,OAAQ,oCACRhL,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,sBAGjBC,KAVU,wCAUL,WAAOC,GAAP,2FACGA,GADH,2CAVK,uDAaVD,MAAK,SAACM,GACL,OAAOk/B,EAAcl/B,MAEtBC,OAAM,SAACtV,GACN,OAAOu0C,EAAcv0C,MAlB3B,oFApIa,uBAoIE0gG,EApIF,yFA6Gb,WAAwBjsD,EAAUl0C,GAAlC,2FACSiU,MAAMxP,OAAOyP,QAAU,YAAclU,EAAI,CAC9CmU,OAAQ,MACRC,iBAAiB,EACjBC,QAAS,CACPiL,OAAQ,oCACRhL,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,oBAElBvV,KAAM2B,KAAKE,UAAUqzC,EAAQ,YAE5B1/B,KAXI,wCAWC,WAAOC,GAAP,kFACSA,EADT,mFAXD,uDAcJD,MAAK,SAACM,GACL,OAAOk/B,EAAcl/B,MAEtBC,OAAM,SAACtV,GACN,OAAOu0C,EAAcv0C,OAnB3B,4CA7Ga,uBA6GE00C,EA7GF,2FAsFb,WAAyBD,GAAzB,2FACSjgC,MAAMxP,OAAOyP,QAAU,WAAY,CACxCC,OAAQ,OACRC,iBAAiB,EACjBC,QAAS,CACPiL,OAAQ,oCACRhL,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,oBAElBvV,KAAM2B,KAAKE,UAAUqzC,KAEpB1/B,KAXI,wCAWC,WAAOC,GAAP,kFACSA,EADT,mFAXD,uDAcJD,MAAK,SAACM,GACL,OAAOk/B,EAAcl/B,MAEtBC,OAAM,SAACtV,GACN,OAAOu0C,EAAcv0C,OAnB3B,4CAtFa,uBAsFE20C,EAtFF,yFAkDb,WACE6pE,EACA3rF,EACAznB,EACAE,EACAmzG,EACAvvF,EACAC,EACAF,EACAD,GATF,kFAWexa,MAAM,GAAD,OACbxP,OAAOyP,QADM,6CACsCrJ,EADtC,oBAC2DE,EAD3D,mBAC6EmzG,EAD7E,uBACkGvvF,EADlG,qBACyHC,EADzH,sBAC+IF,EAD/I,sBACsKD,EADtK,mBAC0L6D,EAD1L,sBACkN2rF,GAClO,CACE9pG,OAAQ,MACRC,iBAAiB,EACjBC,QAAS,CACPC,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,sBAInBC,KAZU,wCAYL,WAAOC,GAAP,0FACqBA,EAASE,OAD9B,cACED,EADF,gBAEeD,EAAS1N,OAFxB,cAEE5E,EAFF,yBAGGyS,QAAQC,IAAI,CAACH,EAAYvS,KAH5B,2CAZK,uDAiBVqS,MAAK,SAACM,GACL,OAAOA,EAAI,MAEZC,OAAM,SAAC5K,GACNnH,QAAQmH,MAAMA,MAhCpB,oFAlDa,uBAkDE2zG,EAlDF,yGAab,WACEnpG,EACA2d,EACA6rF,EACAtzG,EACAE,EACAqzG,EACAC,EACA1vF,EACAC,EACAF,EACAD,GAXF,kFAaexa,MAAM,GAAD,OACbxP,OAAOyP,QADM,8CACuCS,EADvC,uBAC4DwpG,EAD5D,sBACkFtzG,EADlF,oBACuGE,EADvG,0BACgIqzG,EADhI,4BACiKC,EADjK,uBAC+L1vF,EAD/L,qBACsNC,EADtN,sBAC4OF,EAD5O,sBACmQD,EADnQ,mBACuR6D,GACvS,CACEne,OAAQ,MACRC,iBAAiB,EACjBC,QAAS,CACPC,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,sBAInBC,KAZU,wCAYL,WAAOC,GAAP,0FACqBA,EAASE,OAD9B,cACED,EADF,gBAEeD,EAAS1N,OAFxB,cAEE5E,EAFF,yBAGGyS,QAAQC,IAAI,CAACH,EAAYvS,KAH5B,2CAZK,uDAiBVqS,MAAK,SAACM,GACL,OAAOA,EAAI,MAEZC,OAAM,SAAC5K,GACNnH,QAAQmH,MAAMA,MAlCpB,oFAba,uBAaEm5D,EAbF,gEACJtvB,EADI,SACUl/B,GACrB,IAAIH,EAASG,EAAIH,OACbs/B,EAAan/B,EAAIm/B,WACrB,OAAe,MAAXt/B,GACFnV,YAAa,UAAW,YACjB,GACa,MAAXmV,GACTnV,YAAa,QAASy0C,IACf,QAFF,GAkNTgrD,EAAKQ,MAAM,yCAAyCN,MAApD,uBAA0D,qGACtC4J,IADsC,cAClDr8E,EADkD,yBAEjD,CAAC,IAAKA,IAF2C,4CAK1DuyE,EAAKC,OAAO,0CAA0CC,MAAtD,wCAA4D,WAAOh9F,GAAP,iFACtDnC,EAAKW,KAAKC,MAAMuB,EAAKA,MAAMqjB,WAD2B,SAExCu4F,EAAW/9G,GAF6B,cAEpD0sB,EAFoD,yBAGnD,CAAC,IAAKA,IAH6C,2CAA5D,uDAMAuyE,EAAKC,OAAO,0CAA0CC,MAAtD,wCAA4D,WAAOh9F,GAAP,uFACnCxB,KAAKC,MAAMuB,EAAKA,MAA/B2E,EADkD,EAClDA,OAAQ9G,EAD0C,EAC1CA,GAD0C,SAExCg+G,EAAWh+G,EAAI8G,GAFyB,cAEpD4lB,EAFoD,yBAGnD,CAACA,IAHkD,2CAA5D,uDAMAuyE,EAAKC,OAAO,+BAA+BC,MAA3C,wCAAiD,iGAASh9F,EAAT,EAASA,KAAT,EAC1BxB,KAAKC,MAAMuB,GAAxB+e,EADuC,EACvCA,SADuC,SAEzCkzB,EAAUlzB,GAF+B,cAG/Cm+E,GAAkB32F,KAAKwY,GAHwB,kBAIxC,CAAC,IAAK,CAAEA,SAAUA,KAJsB,2CAAjD,uDAOA+9E,EAAKC,OAAO,oCAAoCC,MAAhD,wCAAsD,WAAOj0C,GAAP,mFAC9Cq0C,EAAY,IAAI1B,GAD8B,EAE5Bl9F,KAAKC,MAAMsqD,EAAO/oD,MAAlC+iB,EAF4C,EAE5CA,YAEqC,KAAzCzgB,OAAO65G,8BAJyC,iCAKpCh7C,EACZ7+D,OAAO65G,8BACPp5F,EAAY/V,OAAOmjB,WACnBpN,EAAY/V,OAAOmoD,cACnBpyC,EAAY/V,OAAOtE,UACnBqa,EAAY/V,OAAOpE,QACnBma,EAAY/V,OAAOivG,cACnBl5F,EAAY/V,OAAOkvG,gBACnBn5F,EAAYyJ,WACZzJ,EAAY0J,SACZ1J,EAAYwJ,UACZxJ,EAAYuJ,WAhBoC,OAKlD8tB,EALkD,cAkB3Cr3B,EAAY/V,OAAO+rG,cAC1Bh2F,EAAY2nF,WAAatwD,EAAMgH,WAAWC,eAC1C67C,GAAoBa,GAAS3jD,EAAM6mB,QApBe,yCAsBpC06C,EACZr5G,OAAO85G,wCACPr5F,EAAY/V,OAAOmjB,WACnBpN,EAAY/V,OAAOtE,UACnBqa,EAAY/V,OAAOpE,QACnBtG,OAAO+5G,iBACPt5F,EAAYyJ,WACZzJ,EAAY0J,SACZ1J,EAAYwJ,UACZxJ,EAAYuJ,WA/BoC,QAsBlD8tB,EAtBkD,cAiC3Cr3B,EAAY/V,OAAO+rG,cAC1Bh2F,EAAY2nF,WAAatwD,EAAMgH,WAAWC,eAC1C67C,GAAoBa,GAAS3jD,EAAMkiE,UAnCe,eAqC9Cpe,EAAmBd,EAAUC,WACjCH,GACAn6E,IAGe82F,SAAW,CAACz8E,OAAOgd,EAAMhd,OAAOm/E,WAAWniE,EAAMmiE,aAAe,GA1C7B,kBA2C7C,CAAC,IAAKre,IA3CuC,4CAAtD,uDA8CApB,EACGC,OAAO,+CACPC,MAFH,wCAES,WAAOj0C,GAAP,iFACWvqD,KAAKC,MAAMsqD,EAAO/oD,MAD7B,EACG2iB,IACJhkB,SAAQ,SAACd,GACX,IAAM6D,EAAQw7F,GAAkBr6E,WAAU,SAACJ,GAAD,OAAQA,EAAG5kB,KAAOA,KACxD6D,GAAS,GACXw7F,GAAkBx6D,OAAOhhC,EAAO,MAL/B,kBAQE,CAAC,MARH,2CAFT,uDAaAo7F,EACGC,OAAO,wDACPC,MAFH,wCAES,WAAOj0C,GAAP,qFACmBvqD,KAAKC,MAAMsqD,EAAO/oD,MAAlC2iB,EADH,EACGA,IAAKnQ,EADR,EACQA,OACb0qF,GAAkBv+F,SAAQ,SAAC8jB,GACrBE,EAAIE,WAAU,SAAChlB,GAAD,OAAQA,IAAO4kB,EAAG5kB,OAAO,IACzC4kB,EAAGjQ,OAASA,MAJX,kBAOE,CAAC,MAPH,2CAFT,uDAYAsqF,EAAKQ,MAAM,qCAAqCN,MAAhD,wCAAsD,WAAOj0C,GAAP,6EAC9ClrD,EAAKkrD,EAAOt5C,IAAIjG,MAAM,uCAAuC,GAC7DuV,EAAWm+E,GAAkBt8E,MAAK,SAAC6B,GAAD,OAAQA,EAAG5kB,MAAQA,KAFP,yCAI3C,CAAC,MAJ0C,gCAM7C,CAAC,IAAKkhB,IANuC,2CAAtD,uDASA+9E,EAAKS,MAAM,qCAAqCP,MAAhD,wCAAsD,WAAOj0C,GAAP,qFAC9ClrD,EAAKkrD,EAAOt5C,IAAIjG,MAAM,uCAAuC,GAC7D20F,EAAc3/F,KAAKC,MAAMsqD,EAAO/oD,MAC9B+e,EAAao/E,EAAbp/E,SAH4C,SAIjCizB,EAASmsD,EAAatgG,GAJW,0DAM3C,CAAC,MAN0C,WASrC,KADT6D,EAAQw7F,GAAkBr6E,WAAU,SAACJ,GAAD,OAAQA,EAAG5kB,MAAQA,MART,0CAU3C,CAAC,MAV0C,eAYpDq/F,GAAkBx7F,GAAlB,eAAgCqd,GAZoB,kBAa7C,CAAC,MAb4C,4CAAtD,uDAgBA+9E,EAAK31E,SAAS,qCAAqC61E,MAAnD,wCAAyD,WAAOj0C,GAAP,6EACjDlrD,EAAKkrD,EAAOt5C,IAAIjG,MAAM,uCAAuC,IAEpD,KADT9H,EAAQw7F,GAAkBr6E,WAAU,SAACJ,GAAD,OAAQA,EAAG5kB,MAAQA,MAFN,yCAI9C,CAAC,MAJ6C,uBAMjCmgG,EAAYngG,GANqB,0DAQ9C,CAAC,MAR6C,cAUvDq/F,GAAkBx6D,OAAOhhC,EAAO,GAVuB,kBAWhD,CAAC,MAX+C,4CAAzD,uDAjVa,6C,sBAgWf,SAASq8F,GAASv4F,GAChB,IAAK,IAAI/D,KAAQ+D,EACfA,EAAK/D,GAAM5D,GAAK2H,EAAK/D,GAAMJ,GAE7B,OAAOmE,E,2yMCxWT,IAEI03F,GAFExhG,GAAU,IAAIC,IAAa,MAC3BC,GAAKC,IAAIH,IA6Rf,SAASqiG,GAASv4F,GAChB,IAAK,IAAI/D,KAAQ+D,EACfA,EAAK/D,GAAM5D,GAAK2H,EAAK/D,GAAMJ,UACpBmE,EAAK/D,GAAMJ,GAEpB,OAAOmE,E,2yMCnST,IAEI03F,GAFExhG,GAAU,IAAIC,IAAa,MAC3BC,GAAKC,IAAIH,I,+CAEA,WAAsCohG,GAAtC,IACJjrD,EAYMuwD,EAbF,IA6DEE,EA7DF,EAqFEC,EArFF,EA0GEia,EA1GF,EA8PE1Z,EA9PF,iHA8Pb,WAAuBjlG,GAAvB,kFACeiU,MAAMxP,OAAOyP,QAAU,cAAgBlU,EAAI,CACtDmU,OAAQ,MACRC,iBAAiB,EACjBC,QAAS,CACPC,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,sBAGjBC,KATU,wCASL,WAAOC,GAAP,iFACEC,EAAaD,EAASE,OADxB,SAEeF,EAAS1N,OAFxB,cAEE5E,EAFF,yBAGGyS,QAAQC,IAAI,CAACH,EAAYvS,KAH5B,2CATK,uDAcVqS,MAAK,SAACM,GACL,OAAOA,EAAI,MAEZC,OAAM,SAAC5K,GACNnH,QAAQmH,MAAMA,MAnBpB,oFA9Pa,uBA8PE86F,EA9PF,qDAsIOzjG,GAClB,IAAIoK,EAAI,IAAIrK,KAAKC,GACf8pB,EAAQ,IAAM1f,EAAEjK,WAAa,GAC7B6J,EAAM,GAAKI,EAAEhK,UACb2pB,EAAO3f,EAAE/J,cAEPypB,EAAM7iB,OAAS,IAAG6iB,EAAQ,IAAMA,GAChC9f,EAAI/C,OAAS,IAAG+C,EAAM,IAAMA,GAEhC,IAAMuD,EAAS,CAACuc,EAAO9f,EAAK+f,GAAMjkB,KAAK,KACvC,MAAe,gBAAXyH,EACKA,EAEA,cAnJE,6CA0Gb,WAA2B/O,GAA3B,kFACeiU,MAAMxP,OAAOyP,QAAU,aAAclU,EAAI,CACpDmU,OAAQ,MACRC,iBAAiB,EACjBC,QAAS,CACPC,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,sBAGjBC,KATU,wCASL,WAAOC,GAAP,iFACEC,EAAaD,EAASE,OADxB,SAEeF,EAAS1N,OAFxB,cAEE5E,EAFF,yBAGGyS,QAAQC,IAAI,CAACH,EAAYvS,KAH5B,2CATK,uDAcVqS,MAAK,SAACM,GACL,OAAOorF,GAASprF,EAAI,OAErBC,OAAM,SAAC5K,GACNnH,QAAQmH,MAAMA,MAnBpB,oFA1Ga,uBA0GEw0G,EA1GF,yFAqFb,WAA0B3+G,GAA1B,kFACeiU,MAAMxP,OAAOyP,QAAU,cAAgBlU,EAAI,CACtDmU,OAAQ,SACRC,iBAAiB,EACjBC,QAAS,CACPC,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,sBAGjBC,KATU,wCASL,WAAOC,GAAP,2FACGA,GADH,2CATK,uDAYVD,MAAK,SAACM,GACL,OAAOk/B,EAAcl/B,MAEtBC,OAAM,SAACtV,GACN,OAAOu0C,EAAcv0C,MAjB3B,oFArFa,uBAqFEilG,EArFF,yFA6Db,WAAuBxwD,EAAUl0C,GAAjC,2FACSiU,MAAMxP,OAAOyP,QAAU,cAAgBlU,EAAI,CAChDmU,OAAQ,MACRC,iBAAiB,EACjBC,QAAS,CACPiL,OAAQ,oCACRhL,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,oBAElBvV,KAAM2B,KAAKE,UAAUqzC,KAEpB1/B,KAXI,wCAWC,WAAOC,GAAP,iFACEC,EAAaD,EAASE,OADxB,SAEeF,EAAS1N,OAFxB,cAEE5E,EAFF,yBAGGyS,QAAQC,IAAI,CAACH,EAAYvS,KAH5B,2CAXD,uDAgBJqS,MAAK,SAACM,GACL,OAAOA,EAAI,MAEZC,OAAM,SAAC5K,GACNnH,QAAQmH,MAAMA,OArBpB,4CA7Da,uBA6DEs6F,EA7DF,2FAqCb,WAAwBvwD,EAAUl0C,GAAlC,2FACSiU,MAAMxP,OAAOyP,QAAU,cAAgBlU,EAAI,CAChDmU,OAAQ,OACRC,iBAAiB,EACjBC,QAAS,CACPiL,OAAQ,oCACRhL,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,oBAElBvV,KAAM2B,KAAKE,UAAUqzC,KAEpB1/B,KAXI,wCAWC,WAAOC,GAAP,iFACEC,EAAaD,EAASE,OADxB,SAEeF,EAAS1N,OAFxB,cAEE5E,EAFF,yBAGGyS,QAAQC,IAAI,CAACH,EAAYvS,KAH5B,2CAXD,uDAgBJqS,MAAK,SAACM,GACL,OAAOA,EAAI,MAEZC,OAAM,SAAC5K,GACNnH,QAAQmH,MAAMA,OArBpB,4CArCa,kHAab,+FACe8J,MAAMxP,OAAOyP,QAAU,aAAc,CAChDC,OAAQ,MACRC,iBAAiB,EACjBC,QAAS,CACPC,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,sBAGjBC,KATU,wCASL,WAAOC,GAAP,iFACEC,EAAaD,EAASE,OADxB,SAEeF,EAAS1N,OAFxB,cAEE5E,EAFF,yBAGGyS,QAAQC,IAAI,CAACH,EAAYvS,KAH5B,2CATK,uDAcVqS,MAAK,SAACM,GACL,OAAOorF,GAASprF,EAAI,OAErBC,OAAM,SAAC5K,GACNnH,QAAQmH,MAAMA,MAnBpB,oFAba,uBAaEo6F,EAbF,2CACJvwD,EADI,SACUl/B,GACrB,IAAIH,EAASG,EAAIH,OACbs/B,EAAan/B,EAAIm/B,WACrB,OAAe,MAAXt/B,GACFnV,YAAa,UAAW,YACjB,GACa,MAAXmV,GACTnV,YAAa,QAASy0C,IACf,QAFF,GA2HTgrD,EAAKQ,MAAM,qCAAqCN,MAAhD,uBAAsD,qGAC/Bwf,IAD+B,cAC9C5vG,EAD8C,yBAE7C,CAAC,IAAKA,IAFuC,4CAoBtDkwF,EAAKC,OAAO,0BAA0BC,MAAtC,wCAA4C,4FAASh9F,EAAT,EAASA,KAAT,EACrBxB,KAAKC,MAAMuB,GAAxB+e,EADkC,EAClCA,SADkC,EAgBtCA,EAZFzd,KAakB,CAElBA,UAnBwC,MAIjC,GAJiC,8CAA5C,uDAkEAw7F,EAAKC,OAAO,+BAA+BC,MAA3C,wCAAiD,WAAOj0C,GAAP,qFACzCq0C,EAAY,IAAI1B,EADyB,EAEvBl9F,KAAKC,MAAMsqD,EAAO/oD,MAAlC+iB,EAFuC,EAEvCA,YAFuC,SAGrBq/E,IAHqB,cAG/ClF,GAH+C,cAIxCn6E,EAAY/V,OAAOojB,YACpB8tE,EAAmBd,EAAUC,WACjCH,GACAn6E,GAP6C,kBASxC,CAAC,IAAKm7E,IATkC,2CAAjD,uDAWApB,EAAKC,OAAO,0BAA0BC,OAAM,YAAe,IAAZh9F,EAAW,EAAXA,KAE7C,EADqBxB,KAAKC,MAAMuB,GAAxB+e,SAENzd,YADF,MACS,GADT,EAKM27F,GADKE,KACS,CAClB77F,SAGF,OADA47F,GAAkB32F,KAAK02F,GAChB,CAAC,IAAK,CAAEl+E,SAAUk+E,OAI3BH,EACGC,OAAO,mDACPC,OAAM,SAACj0C,GACN,MAAwBvqD,KAAKC,MAAMsqD,EAAO/oD,MAAlC2iB,EAAR,EAAQA,IAAKnQ,EAAb,EAAaA,OAMb,OALA0qF,GAAkBv+F,SAAQ,SAAC8jB,GACrBE,EAAIE,WAAU,SAAChlB,GAAD,OAAQA,IAAO4kB,EAAG5kB,OAAO,IACzC4kB,EAAGjQ,OAASA,MAGT,CAAC,QA0BZsqF,EAAKQ,MAAM,gCAAgCN,MAA3C,wCAAiD,WAAOj0C,GAAP,iFACzClrD,EAAKkrD,EAAOt5C,IAAIjG,MAAM,kCAAkC,GADf,SAExBs5F,EAAQjlG,GAFgB,UAEzCkhB,EAFyC,gDAItC,CAAC,MAJqC,gCAMxC,CAAC,IAAKA,IANkC,2CAAjD,uDAUA+9E,EAAKS,MAAM,gCAAgCP,MAA3C,wCAAiD,WAAOj0C,GAAP,qFACzClrD,EAAKkrD,EAAOt5C,IAAIjG,MAAM,kCAAkC,GADf,EAE1BhL,KAAKC,MAAMsqD,EAAO/oD,MAA/B+e,EAFuC,EAEvCA,SAFuC,SAGzCujF,EAAQvjF,EAAUlhB,GAHuB,cAIzC6D,EAAQw7F,GAAkBr6E,WAAU,SAACJ,GAAD,OAAQA,EAAG5kB,MAAQA,KAC7Dq/F,GAAkBx7F,GAAlB,eAAgCqd,GAChC1hB,YAAa,UAAW,yCACxBpB,SAASsR,eAAe,iBAAiBinB,QAPM,kBAQxC,CAAC,MARuC,2CAAjD,uDAWAsoE,EAAK31E,SAAS,gCAAgC61E,MAA9C,wCAAoD,WAAOj0C,GAAP,6EAC5ClrD,EAAKkrD,EAAOt5C,IAAIjG,MAAM,kCAAkC,IAE/C,KADT9H,EAAQw7F,GAAkBr6E,WAAU,SAACJ,GAAD,OAAQA,EAAG5kB,MAAQA,MAFX,yCAIzC,CAAC,MAJwC,uBAM5B0kG,EAAW1kG,GANiB,0DAQzC,CAAC,MARwC,cAUlDq/F,GAAkBx6D,OAAOhhC,EAAO,GAVkB,kBAW3C,CAAC,MAX0C,4CAApD,uDA1Sa,6C,sBAyTf,SAASq8F,GAASv4F,GAChB,IAAK,IAAI/D,KAAQ+D,EACfA,EAAK/D,GAAM5D,GAAK2H,EAAK/D,GAAMJ,UACpBmE,EAAK/D,GAAMJ,GAEpB,OAAOmE,EAGT,SAAS23F,KACP,IAAMx6E,EAAMu6E,GAAkB17F,KAAI,SAACihB,GAAD,OAAQA,EAAG5kB,MAE7C,OADc2K,KAAKgrB,IAAL,MAAAhrB,KAAI,YAAQma,IACX,E,2yMCtUjB,IAAMjnB,GAAU,IAAIC,IAAa,MAC3BC,GAAKC,IAAIH,IA+Rf,SAASqiG,GAASv4F,GAChB,IAAK,IAAI/D,KAAQ+D,EACfA,EAAK/D,GAAM5D,GAAK2H,EAAK/D,GAAMJ,UACpBmE,EAAK/D,GAAMJ,GAEpB,OAAOmE,E,2yMCtST,IAEI03F,GAFExhG,GAAU,IAAIC,IAAa,MAC3BC,GAAKC,IAAIH,I,+CAEA,WAAgCohG,GAAhC,IACJjrD,EAYMuwD,EAbF,EAoCEiR,EApCF,EA4DE/Q,EA5DF,EAoFEC,EApFF,EA2GJr5E,EAyGM45E,EApNF,iHAoNb,WAAuBjlG,GAAvB,kFACeiU,MAAMxP,OAAOyP,QAAU,qBAAuBlU,EAAI,CAC7DmU,OAAQ,MACRC,iBAAiB,EACjBC,QAAS,CACPC,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,sBAGjBC,KATU,wCASL,WAAOC,GAAP,iFACEC,EAAaD,EAASE,OADxB,SAEeF,EAAS1N,OAFxB,cAEE5E,EAFF,yBAGGyS,QAAQC,IAAI,CAACH,EAAYvS,KAH5B,2CATK,uDAcVqS,MAAK,SAACM,GACL,OAAOA,EAAI,MAEZC,OAAM,SAAC5K,GACNnH,QAAQmH,MAAMA,MAnBpB,oFApNa,uBAoNE86F,EApNF,4CA2GJ55E,EA3GI,SA2GO7pB,GAClB,IAAIoK,EAAI,IAAIrK,KAAKC,GACf8pB,EAAQ,IAAM1f,EAAEjK,WAAa,GAC7B6J,EAAM,GAAKI,EAAEhK,UACb2pB,EAAO3f,EAAE/J,cAEPypB,EAAM7iB,OAAS,IAAG6iB,EAAQ,IAAMA,GAChC9f,EAAI/C,OAAS,IAAG+C,EAAM,IAAMA,GAEhC,IAAMuD,EAAS,CAACuc,EAAO9f,EAAK+f,GAAMjkB,KAAK,KACvC,MAAe,gBAAXyH,EACKA,EAEA,cAxHE,6CAoFb,WAA0B/O,GAA1B,kFACeiU,MAAMxP,OAAOyP,QAAU,qBAAuBlU,EAAI,CAC7DmU,OAAQ,SACRC,iBAAiB,EACjBC,QAAS,CACPC,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,sBAGjBC,KATU,wCASL,WAAOC,GAAP,2FACGA,GADH,2CATK,uDAYVD,MAAK,SAACM,GACL,OAAOk/B,EAAcl/B,MAEtBC,OAAM,SAACtV,GACN,OAAOu0C,EAAcv0C,MAjB3B,oFApFa,uBAoFEilG,EApFF,yFA4Db,WAAuBxwD,EAAUl0C,GAAjC,2FACSiU,MAAMxP,OAAOyP,QAAU,qBAAuBlU,EAAI,CACvDmU,OAAQ,MACRC,iBAAiB,EACjBC,QAAS,CACPiL,OAAQ,oCACRhL,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,oBAElBvV,KAAM2B,KAAKE,UAAUqzC,KAEpB1/B,KAXI,wCAWC,WAAOC,GAAP,iFACEC,EAAaD,EAASE,OADxB,SAEeF,EAAS1N,OAFxB,cAEE5E,EAFF,yBAGGyS,QAAQC,IAAI,CAACH,EAAYvS,KAH5B,2CAXD,uDAgBJqS,MAAK,SAACM,GACL,OAAOA,EAAI,MAEZC,OAAM,SAAC5K,GACNnH,QAAQmH,MAAMA,OArBpB,4CA5Da,uBA4DEs6F,EA5DF,2FAoCb,WAAyCvwD,GAAzC,2FACSjgC,MAAMxP,OAAOyP,QAAU,oBAAqB,CACjDC,OAAQ,OACRC,iBAAiB,EACjBC,QAAS,CACPC,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,oBAElBvV,KAAM2B,KAAKE,UAAUqzC,KAEpB1/B,KAVI,wCAUC,WAAOC,GAAP,iFACEC,EAAaD,EAASE,OADxB,SAEeF,EAAS1N,OAFxB,cAEE5E,EAFF,yBAGGyS,QAAQC,IAAI,CAACH,EAAYvS,KAH5B,2CAVD,uDAeJqS,MAAK,SAACM,GACL,OAAOA,EAAI,MAEZC,OAAM,SAAC5K,QAnBZ,4CApCa,uBAoCEqrG,EApCF,yFAab,+FACevhG,MAAMxP,OAAOyP,QAAU,oBAAqB,CACvDC,OAAQ,MACRC,iBAAiB,EACjBC,QAAS,CACPC,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,sBAGjBC,KATU,wCASL,WAAOC,GAAP,iFACEC,EAAaD,EAASE,OADxB,SAEeF,EAAS1N,OAFxB,cAEE5E,EAFF,yBAGGyS,QAAQC,IAAI,CAACH,EAAYvS,KAH5B,2CATK,uDAcVqS,MAAK,SAACM,GACL,OAAOorF,GAASprF,EAAI,OAErBC,OAAM,SAAC5K,GACNnH,QAAQmH,MAAMA,MAnBpB,oFAba,uBAaEo6F,EAbF,2CACJvwD,EADI,SACUl/B,GACrB,IAAIH,EAASG,EAAIH,OACbs/B,EAAan/B,EAAIm/B,WACrB,OAAe,MAAXt/B,GACFnV,YAAa,UAAW,YACjB,GACa,MAAXmV,GACTnV,YAAa,QAASy0C,IACf,QAFF,GAoHTgrD,EAAKC,OAAO,oBAAoBC,MAAhC,wCAAsC,6HAASh9F,EAAT,EAASA,KAAT,EACfxB,KAAKC,MAAMuB,GAAxB+e,EAD4B,EAC5BA,SACF60F,EAAQx0G,KAAKE,MACH4pB,EAAW0qF,GAHS,EAUhC70F,EALF09F,mBALkC,MAKpB,GALoB,IAUhC19F,EAJF29F,mBANkC,MAMpB,GANoB,IAUhC39F,EAHF49F,mBAPkC,MAOpB,GAPoB,IAUhC59F,EAFF69F,mBARkC,MAQpB,GARoB,IAUhC79F,EADF1gB,YATkC,MAS3B,GAT2B,EAW9BR,EAAKs/F,KACLF,EAAc,CAClBp/F,KACA4+G,cACAC,cACAC,cACAC,cACAv+G,QAlBkC,SAoBJg1G,EAA0BpW,GApBtB,eAqBN15F,IAD1B0xG,EApBgC,QAqBZ5zG,GArBY,wBAsBlChE,YAAa,UAAW,4CACxB43G,EAAoBp3G,GAAKo3G,EAAoB5zG,GAC7C67F,GAAkB32F,KAAK02F,GACvBhhG,SAASsR,eAAe,iBAAiBinB,QAzBP,kBA0B3B,CACL,IACA,CACEzV,SAAUk+E,EACV14F,QAAS0wG,EAAoB3hG,QAC7BstF,SAAS,KA/BqB,YAmC9BqU,EAAoB3hG,QAnCU,iBAoChCjW,YAAa,QAAS43G,EAAoB3hG,SAC1ChR,OAAOq1G,gBAAkB,IACzBr1G,OAAOs1G,iBAAkB,EAtCO,+BAwChCv6G,YAAa,UAAW,4CACxBpB,SAASsR,eAAe,iBAAiBinB,QAzCT,kBA0CzB,CACL,IACA,CACEzV,SAAUk+E,EACV14F,QAAS0wG,EAAoB3hG,QAC7BstF,SAAS,KA/CmB,4CAAtC,uDAsDA9D,EAAKC,OAAO,yBAAyBC,MAArC,wCAA2C,WAAOj0C,GAAP,qFACnCq0C,EAAY,IAAI1B,EADmB,EAEjBl9F,KAAKC,MAAMsqD,EAAO/oD,MAAlC+iB,EAFiC,EAEjCA,YAFiC,SAGfq/E,IAHe,cAGzClF,GAHyC,cAIlCn6E,EAAY/V,OAAOojB,YACpB8tE,EAAmBd,EAAUC,WACjCH,GACAn6E,GAPuC,kBASlC,CAAC,IAAKm7E,IAT4B,2CAA3C,uDAYApB,EAAKC,OAAO,oCAAoCC,OAAM,SAACj0C,GAQrD,OAPgBvqD,KAAKC,MAAMsqD,EAAO/oD,MAA1B2iB,IACJhkB,SAAQ,SAACd,GACX,IAAM6D,EAAQw7F,GAAkBr6E,WAAU,SAACJ,GAAD,OAAQA,EAAG5kB,KAAOA,KACxD6D,GAAS,GACXw7F,GAAkBx6D,OAAOhhC,EAAO,MAG7B,CAAC,QAGVo7F,EACGC,OAAO,6CACPC,OAAM,SAACj0C,GACN,MAAwBvqD,KAAKC,MAAMsqD,EAAO/oD,MAAlC2iB,EAAR,EAAQA,IAAKnQ,EAAb,EAAaA,OAMb,OALA0qF,GAAkBv+F,SAAQ,SAAC8jB,GACrBE,EAAIE,WAAU,SAAChlB,GAAD,OAAQA,IAAO4kB,EAAG5kB,OAAO,IACzC4kB,EAAGjQ,OAASA,MAGT,CAAC,QA0BZsqF,EAAKQ,MAAM,0BAA0BN,MAArC,wCAA2C,WAAOj0C,GAAP,iFACnClrD,EAAKkrD,EAAOt5C,IAAIjG,MAAM,4BAA4B,GADf,SAElBs5F,EAAQjlG,GAFU,UAEnCkhB,EAFmC,gDAIhC,CAAC,MAJ+B,gCAMlC,CAAC,IAAKA,IAN4B,2CAA3C,uDASA+9E,EAAKS,MAAM,0BAA0BP,MAArC,wCAA2C,WAAOj0C,GAAP,qFACnClrD,EAAKkrD,EAAOt5C,IAAIjG,MAAM,4BAA4B,GADf,EAEpBhL,KAAKC,MAAMsqD,EAAO/oD,MAA/B+e,EAFiC,EAEjCA,SAFiC,SAGnCujF,EAAQvjF,EAAUlhB,GAHiB,cAInC6D,EAAQw7F,GAAkBr6E,WAAU,SAACJ,GAAD,OAAQA,EAAG5kB,MAAQA,KAC7Dq/F,GAAkBx7F,GAAlB,eAAgCqd,GAChC1hB,YAAa,UAAW,8CACxBpB,SAASsR,eAAe,iBAAiBinB,QAPA,kBAQlC,CAAC,MARiC,2CAA3C,uDAWAsoE,EAAK31E,SAAS,0BAA0B61E,MAAxC,wCAA8C,WAAOj0C,GAAP,6EACtClrD,EAAKkrD,EAAOt5C,IAAIjG,MAAM,4BAA4B,IAEzC,KADT9H,EAAQw7F,GAAkBr6E,WAAU,SAACJ,GAAD,OAAQA,EAAG5kB,MAAQA,MAFjB,yCAInC,CAAC,MAJkC,uBAMtB0kG,EAAW1kG,GANW,0DAQnC,CAAC,MARkC,cAU5Cq/F,GAAkBx6D,OAAOhhC,EAAO,GAVY,kBAWrC,CAAC,MAXoC,4CAA9C,uDA/Pa,6C,sBA8Qf,SAASq8F,GAASv4F,GAChB,IAAK,IAAI/D,KAAQ+D,EACfA,EAAK/D,GAAM5D,GAAK2H,EAAK/D,GAAMJ,UACpBmE,EAAK/D,GAAMJ,GAEpB,OAAOmE,EAGT,SAAS23F,KACP,IAAMx6E,EAAMu6E,GAAkB17F,KAAI,SAACihB,GAAD,OAAQA,EAAG5kB,MAE7C,OADc2K,KAAKgrB,IAAL,MAAAhrB,KAAI,YAAQma,IACX,E,2yMC5RjB,IAEIu6E,GAFExhG,GAAU,IAAIC,IAAa,MAC3BC,GAAKC,IAAIH,I,+CAEA,WAAiCohG,GAAjC,IACJjrD,EAYMuwD,EAbF,EAoCEiR,EApCF,EA4DE/Q,EA5DF,EAoFEC,EApFF,EA2GJr5E,EAqGM45E,EAhNF,iHAgNb,WAAuBjlG,GAAvB,kFACeiU,MAAMxP,OAAOyP,QAAU,mBAAqBlU,EAAI,CAC3DmU,OAAQ,MACRC,iBAAiB,EACjBC,QAAS,CACPC,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,sBAGjBC,KATU,wCASL,WAAOC,GAAP,iFACEC,EAAaD,EAASE,OADxB,SAEeF,EAAS1N,OAFxB,cAEE5E,EAFF,yBAGGyS,QAAQC,IAAI,CAACH,EAAYvS,KAH5B,2CATK,uDAcVqS,MAAK,SAACM,GACL,OAAOA,EAAI,MAEZC,OAAM,SAAC5K,GACNnH,QAAQmH,MAAMA,MAnBpB,oFAhNa,uBAgNE86F,EAhNF,4CA2GJ55E,EA3GI,SA2GO7pB,GAClB,IAAIoK,EAAI,IAAIrK,KAAKC,GACf8pB,EAAQ,IAAM1f,EAAEjK,WAAa,GAC7B6J,EAAM,GAAKI,EAAEhK,UACb2pB,EAAO3f,EAAE/J,cAEPypB,EAAM7iB,OAAS,IAAG6iB,EAAQ,IAAMA,GAChC9f,EAAI/C,OAAS,IAAG+C,EAAM,IAAMA,GAEhC,IAAMuD,EAAS,CAACuc,EAAO9f,EAAK+f,GAAMjkB,KAAK,KACvC,MAAe,gBAAXyH,EACKA,EAEA,cAxHE,6CAoFb,WAA0B/O,GAA1B,kFACeiU,MAAMxP,OAAOyP,QAAU,mBAAqBlU,EAAI,CAC3DmU,OAAQ,SACRC,iBAAiB,EACjBC,QAAS,CACPC,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,sBAGjBC,KATU,wCASL,WAAOC,GAAP,2FACGA,GADH,2CATK,uDAYVD,MAAK,SAACM,GACL,OAAOk/B,EAAcl/B,MAEtBC,OAAM,SAACtV,GACN,OAAOu0C,EAAcv0C,MAjB3B,oFApFa,uBAoFEilG,EApFF,yFA4Db,WAAuBxwD,EAAUl0C,GAAjC,2FACSiU,MAAMxP,OAAOyP,QAAU,mBAAqBlU,EAAI,CACrDmU,OAAQ,MACRC,iBAAiB,EACjBC,QAAS,CACPiL,OAAQ,oCACRhL,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,oBAElBvV,KAAM2B,KAAKE,UAAUqzC,KAEpB1/B,KAXI,wCAWC,WAAOC,GAAP,iFACEC,EAAaD,EAASE,OADxB,SAEeF,EAAS1N,OAFxB,cAEE5E,EAFF,yBAGGyS,QAAQC,IAAI,CAACH,EAAYvS,KAH5B,2CAXD,uDAgBJqS,MAAK,SAACM,GACL,OAAOA,EAAI,MAEZC,OAAM,SAAC5K,GACNnH,QAAQmH,MAAMA,OArBpB,4CA5Da,uBA4DEs6F,EA5DF,2FAoCb,WAAyCvwD,GAAzC,2FACSjgC,MAAMxP,OAAOyP,QAAU,kBAAmB,CAC/CC,OAAQ,OACRC,iBAAiB,EACjBC,QAAS,CACPC,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,oBAElBvV,KAAM2B,KAAKE,UAAUqzC,KAEpB1/B,KAVI,wCAUC,WAAOC,GAAP,iFACEC,EAAaD,EAASE,OADxB,SAEeF,EAAS1N,OAFxB,cAEE5E,EAFF,yBAGGyS,QAAQC,IAAI,CAACH,EAAYvS,KAH5B,2CAVD,uDAeJqS,MAAK,SAACM,GACL,OAAOA,EAAI,MAEZC,OAAM,SAAC5K,QAnBZ,4CApCa,uBAoCEqrG,EApCF,yFAab,+FACevhG,MAAMxP,OAAOyP,QAAU,kBAAmB,CACrDC,OAAQ,MACRC,iBAAiB,EACjBC,QAAS,CACPC,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,sBAGjBC,KATU,wCASL,WAAOC,GAAP,iFACEC,EAAaD,EAASE,OADxB,SAEeF,EAAS1N,OAFxB,cAEE5E,EAFF,yBAGGyS,QAAQC,IAAI,CAACH,EAAYvS,KAH5B,2CATK,uDAcVqS,MAAK,SAACM,GACL,OAAOorF,GAASprF,EAAI,OAErBC,OAAM,SAAC5K,GACNnH,QAAQmH,MAAMA,MAnBpB,oFAba,uBAaEo6F,EAbF,2CACJvwD,EADI,SACUl/B,GACrB,IAAIH,EAASG,EAAIH,OACbs/B,EAAan/B,EAAIm/B,WACrB,OAAe,MAAXt/B,GACFnV,YAAa,UAAW,YACjB,GACa,MAAXmV,GACTnV,YAAa,QAASy0C,IACf,QAFF,GAoHTgrD,EAAKC,OAAO,qBAAqBC,MAAjC,wCAAuC,qHAASh9F,EAAT,EAASA,KAAT,EAChBxB,KAAKC,MAAMuB,GAAxB+e,EAD6B,EAC7BA,SACF60F,EAAQx0G,KAAKE,MACH4pB,EAAW0qF,GAHU,EAQjC70F,EAHF89F,mBALmC,MAKrB,GALqB,IAQjC99F,EAFF+9F,qBANmC,MAMnB,GANmB,IAQjC/9F,EADF69F,mBAPmC,MAOrB,GAPqB,EAS/B/+G,EAAKs/F,KACLF,EAAc,CAClBp/F,KACAg/G,cACAC,gBACAF,eAdmC,SAgBLvJ,EAA0BpW,GAhBrB,eAiBP15F,IAD1B0xG,EAhBiC,QAiBb5zG,GAjBa,wBAkBnChE,YAAa,UAAW,4CACxB43G,EAAoBp3G,GAAKo3G,EAAoB5zG,GAC7C67F,GAAkB32F,KAAK02F,GACvBhhG,SAASsR,eAAe,iBAAiBinB,QArBN,kBAsB5B,CACL,IACA,CACEzV,SAAUk+E,EACV14F,QAAS0wG,EAAoB3hG,QAC7BstF,SAAS,KA3BsB,YA+B/BqU,EAAoB3hG,QA/BW,iBAgCjCjW,YAAa,QAAQ43G,EAAoB3hG,SACzChR,OAAOq1G,gBAAkB,IACzBr1G,OAAOs1G,iBAAkB,EAlCQ,+BAoCjCv6G,YAAa,UAAW,4CACxBpB,SAASsR,eAAe,iBAAiBinB,QArCR,kBAsC1B,CACL,IACA,CACEzV,SAAUk+E,EACV14F,QAAS0wG,EAAoB3hG,QAC7BstF,SAAS,KA3CoB,4CAAvC,uDAkDA9D,EAAKC,OAAO,0BAA0BC,MAAtC,wCAA4C,WAAOj0C,GAAP,qFACpCq0C,EAAY,IAAI1B,EADoB,EAElBl9F,KAAKC,MAAMsqD,EAAO/oD,MAAlC+iB,EAFkC,EAElCA,YAFkC,SAGhBq/E,IAHgB,cAG1ClF,GAH0C,cAInCn6E,EAAY/V,OAAOojB,YACpB8tE,EAAmBd,EAAUC,WACjCH,GACAn6E,GAPwC,kBASnC,CAAC,IAAKm7E,IAT6B,2CAA5C,uDAYApB,EAAKC,OAAO,qCAAqCC,OAAM,SAACj0C,GAQtD,OAPgBvqD,KAAKC,MAAMsqD,EAAO/oD,MAA1B2iB,IACJhkB,SAAQ,SAACd,GACX,IAAM6D,EAAQw7F,GAAkBr6E,WAAU,SAACJ,GAAD,OAAQA,EAAG5kB,KAAOA,KACxD6D,GAAS,GACXw7F,GAAkBx6D,OAAOhhC,EAAO,MAG7B,CAAC,QAGVo7F,EACGC,OAAO,8CACPC,OAAM,SAACj0C,GACN,MAAwBvqD,KAAKC,MAAMsqD,EAAO/oD,MAAlC2iB,EAAR,EAAQA,IAAKnQ,EAAb,EAAaA,OAMb,OALA0qF,GAAkBv+F,SAAQ,SAAC8jB,GACrBE,EAAIE,WAAU,SAAChlB,GAAD,OAAQA,IAAO4kB,EAAG5kB,OAAO,IACzC4kB,EAAGjQ,OAASA,MAGT,CAAC,QA0BZsqF,EAAKQ,MAAM,2BAA2BN,MAAtC,wCAA4C,WAAOj0C,GAAP,iFACpClrD,EAAKkrD,EAAOt5C,IAAIjG,MAAM,6BAA6B,GADf,SAEnBs5F,EAAQjlG,GAFW,UAEpCkhB,EAFoC,gDAIjC,CAAC,MAJgC,gCAMnC,CAAC,IAAKA,IAN6B,2CAA5C,uDASA+9E,EAAKS,MAAM,2BAA2BP,MAAtC,wCAA4C,WAAOj0C,GAAP,qFACpClrD,EAAKkrD,EAAOt5C,IAAIjG,MAAM,6BAA6B,GADf,EAErBhL,KAAKC,MAAMsqD,EAAO/oD,MAA/B+e,EAFkC,EAElCA,SAFkC,SAGrBujF,EAAQvjF,EAAUlhB,GAHG,YAGrCk/G,EAHqC,QAK9BzpG,QAL8B,iBAMxCjW,YAAa,QAAS0/G,EAAQzpG,SAC9BhR,OAAOq1G,gBAAkB,IACzBr1G,OAAOs1G,iBAAkB,EARe,+BAUxCv6G,YAAa,UAAW,8CACxBpB,SAASsR,eAAe,iBAAiBinB,QAXD,kBAYjC,CACL,IACA,CACEjwB,QAASw4G,EAAQzpG,QACjBstF,SAAS,KAhB2B,4CAA5C,uDAsBA9D,EAAK31E,SAAS,2BAA2B61E,MAAzC,wCAA+C,WAAOj0C,GAAP,6EACvClrD,EAAKkrD,EAAOt5C,IAAIjG,MAAM,6BAA6B,IAE1C,KADT9H,EAAQw7F,GAAkBr6E,WAAU,SAACJ,GAAD,OAAQA,EAAG5kB,MAAQA,MAFhB,yCAIpC,CAAC,MAJmC,uBAMvB0kG,EAAW1kG,GANY,0DAQpC,CAAC,MARmC,cAU7Cq/F,GAAkBx6D,OAAOhhC,EAAO,GAVa,kBAWtC,CAAC,MAXqC,4CAA/C,uDAtQa,6C,sBAqRf,SAASq8F,GAASv4F,GAChB,IAAK,IAAI/D,KAAQ+D,EACfA,EAAK/D,GAAM5D,GAAK2H,EAAK/D,GAAMJ,UACpBmE,EAAK/D,GAAMJ,GAEpB,OAAOmE,EAGT,SAAS23F,KACP,IAAMx6E,EAAMu6E,GAAkB17F,KAAI,SAACihB,GAAD,OAAQA,EAAG5kB,MAE7C,OADc2K,KAAKgrB,IAAL,MAAAhrB,KAAI,YAAQma,IACX,E,2yMCnSjB,IAEIu6E,GAFExhG,GAAU,IAAIC,IAAa,MAC3BC,GAAKC,IAAIH,IAsRf,SAASqiG,GAASv4F,GAChB,IAAK,IAAI/D,KAAQ+D,EACfA,EAAK/D,GAAM5D,GAAK2H,EAAK/D,GAAMJ,UACpBmE,EAAK/D,GAAMJ,GAEpB,OAAOmE,E,2yMC5RT,IAEI03F,GAFExhG,GAAU,IAAIC,IAAa,MAC3BC,GAAKC,IAAIH,IA+Qf,SAASqiG,GAASv4F,GAChB,IAAK,IAAI/D,KAAQ+D,EACfA,EAAK/D,GAAM5D,GAAK2H,EAAK/D,GAAMJ,UACpBmE,EAAK/D,GAAMJ,GAEpB,OAAOmE,E,oGC5NQw3G,I,2yMAxDV,IAAMC,GACJ,iBADIA,GAEH,kBAFGA,GAGD,oBAHCA,GAII,wBAJJA,GAKC,uBAGRC,GAAmB,CACvBt1G,UAAMrE,EACN45G,eAAW55G,GAGA65G,GAAUC,aACrB,CAAEC,aAASv4G,IAAK,aAAcw4G,UAAW,CAAC,OAAQ,eAClD,WAAuC,IAAtCxgG,EAAqC,uDAA7BmgG,GAAkBn7F,EAAW,uCACpC,OAAQA,EAAOvhB,MACb,KAAKy8G,GACH,IAAQE,EAAcp7F,EAAOC,QAArBm7F,UAER,MAAO,CAAEA,YAAWv1G,UAAMrE,GAG5B,KAAK05G,GACH,IAAQE,EAAcp7F,EAAOC,QAArBm7F,UAER,MAAO,CAAEA,YAAWv1G,UAAMrE,GAG5B,KAAK05G,GAEH,OAAOC,GAGT,KAAKD,GACH,IAAQr1G,EAASma,EAAOC,QAAhBpa,KACR,OAAO,2BAAKmV,GAAZ,IAAmBnV,SAGrB,QACE,OAAOmV,MAKF2E,GAAU,CACrB87F,MAAO,SAAAL,GAAS,MAAK,CAAE38G,KAAMy8G,GAAmBj7F,QAAS,CAAEm7F,eAC3DM,SAAU,SAAAN,GAAS,MAAK,CACtB38G,KAAMy8G,GACNj7F,QAAS,CAAEm7F,eAEbO,OAAQ,iBAAO,CAAEl9G,KAAMy8G,KACvBU,YAAa,SAAA/1G,GAAI,MAAK,CAAEpH,KAAMy8G,GAA2Bj7F,QAAS,CAAEpa,UACpEg2G,YAAa,SAAAh2G,GAAI,MAAK,CAAEpH,KAAMy8G,GAAwBj7F,QAAS,CAAEpa,WAG5D,SAAUo1G,KAAV,kEACL,OADK,SACCa,aAAWZ,GAAD,WAAoB,SAAUa,IAAV,kEAClC,OADkC,SAC5Bn6F,aAAIjC,GAAQi8F,eADgB,oCAAUG,OADzC,OAKL,OALK,SAKCD,aAAWZ,GAAD,WAAuB,SAAUc,IAAV,kEACrC,OADqC,SAC/Bp6F,aAAIjC,GAAQi8F,eADmB,oCAAUI,OAL5C,OASL,OATK,SASCF,aAAWZ,GAAD,WAA4B,SAAUe,IAAV,0EACnB,OADmB,SChDrCj+F,IAAM3M,IAhBO,UDgEwB,OAG1C,OAH0C,SAC5BxL,EAD4B,EAClC5H,KADkC,SAGpC2jB,aAAIjC,GAAQk8F,YAAYh2G,IAHY,oCAAUo2G,OATjD,wC,o6MEhCUC,IAdJC,GAAcC,2BAAgB,CACzCC,KAAMA,GACNp9F,UAAWkzE,KAAekpB,QAC1B1nF,SAAUqjE,KAAcqkB,QACxBrvD,QAASosC,KAAaijB,QACtBpX,eAAgBqY,KAAoBjB,QACpC7wD,UAAW9B,KAAgB2yD,QAC3BkB,mBAAoBA,KAAmBlB,QACvCmB,kBAAmBA,KAAkBnB,QACrCoB,qBAAsBA,KAAqBpB,QAC3CqB,kBAAmBC,KAAuBtB,QAC1CuB,iBAAkBC,KAAsBxB,UAGnC,SAAUa,KAAV,kEACL,OADK,SACCvrG,aAAI,CAAC0rG,OADN,wCCvBP,IAAMS,GAAiBC,eACjBC,GAAU,sBACXC,aAAqB,CACtBC,gBAAgB,EAChBC,mBAAmB,EACnBC,OAAO,KAJK,CAMdN,KAGIO,GAAQC,aAAe,CAC3BjC,QAASc,GACTa,cACAO,UAAUC,EACVC,UAAW,CAACC,iBAODC,GAAYC,aAAaP,IAEtCP,GAAee,IAAI3B,IAEJmB,U,s3MCxBf,IAAM1jH,GAAU,IAAIC,IAAa,MAC3BC,GAAKC,IAAIH,IAER,SAASmkH,KACd,IAAMC,EAAU9gH,KAAO,IAAII,MAAQ0gH,UAAY,GAC/C,EAAkCr1G,mBAAS,IAA3C,oBAAOmM,EAAP,KAAkBsI,EAAlB,KACA,EAA0BzU,mBAAS,IAAnC,oBAAOs1G,EAAP,KAAcC,EAAd,KACA,EAAoCv1G,mBAAS,MAA7C,oBAAOsM,EAAP,KAAmBP,EAAnB,KACA,EAA4B/L,mBAASq1G,GAArC,oBAAOG,EAAP,KAAeC,EAAf,KACA,EAA0Dz1G,mBAAS,GAAnE,oBAAO01G,EAAP,KAA8BC,EAA9B,KACA,EAAoD31G,mBAAS,GAA7D,oBAAO41G,EAAP,KAA2BC,EAA3B,KACA,EAAgD71G,mBAAS,IAAzD,oBAAO81G,EAAP,KAAyBC,EAAzB,KACA,EAA0C/1G,mBAAS,IAAnD,oBAAOg2G,EAAP,KAAsBC,EAAtB,KACA,EAA8Bj2G,oBAAS,GAAvC,oBAAOk2G,EAAP,KAAgBjqG,EAAhB,KAYA,OAVAnF,qBAAU,YAZuB,mCAa/BqvG,GACA33D,MACC,IAEH13C,qBAAU,WACRmF,GAAW,GACXuyC,MACC,CAAClyC,EAAYkpG,IAGd,oCACE,yBAAKxiH,UAAU,OACb,yBAAKA,UAAU,iBACb,4BACEI,GAAG,cACHJ,UAAU,qBACVqP,SAAU,SAAC4E,GACT8E,EAAc9E,EAAMrE,OAAOzQ,QAE7BqiB,aAAa,MAEb,4BAAQla,IAAI,GAAGnI,MAAM,KAArB,UAGCga,EAAUpV,KAAI,SAACC,EAAMC,GAAP,OACb,4BAAQqD,IAAKrD,EAAO9E,MAAK,OAAE6E,QAAF,IAAEA,OAAF,EAAEA,EAAMJ,IAAjC,OACGI,QADH,IACGA,OADH,EACGA,EAAMH,UAIb,2BAAOM,MAAM,wBACX,qCADF,iBAMF,yBAAKnE,UAAU,iBACb,4BACEI,GAAG,UACHJ,UAAU,qBACVqP,SAAU,SAAC4E,GACTwuG,EAAUxuG,EAAMrE,OAAOzQ,SAGzB,4BAAQmI,IAAI,GAAGnI,MAAM,KAArB,UAGCmjH,EAAMv+G,KAAI,SAACC,EAAMC,GAAP,OACT,4BAAQqD,IAAKrD,EAAO9E,MAAO6E,GACxBA,OAIP,2BAAOG,MAAM,wBACX,qCADF,aAMF,yBAAKnE,UAAU,uBACZkjH,GAAW,kBAAC90F,GAAA,EAAD,MACZ,kBAAC,KAAD,CACEpuB,UAAU,wBACV4iH,mBAAoBA,EACpBF,sBAAuBA,EACvBM,cAAeA,EACfF,iBAAkBA,OA/EK,6CAsFjC,+FACezuG,MAAM,GAAD,OAAIxP,OAAOyP,QAAX,qCAAuD,CACvEC,OAAQ,MACRC,iBAAiB,EACjBC,QAAS,CACPiL,OAAQ,oCACRhL,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,sBAGjBC,KAVU,wCAUL,WAAOC,GAAP,0FACqBA,EAASE,OAD9B,cACED,EADF,gBAEeD,EAAS1N,OAFxB,cAEE5E,EAFF,yBAGGyS,QAAQC,IAAI,CAACH,EAAYvS,KAH5B,2CAVK,uDAeVqS,MAAK,SAACM,GACL,IAAI3L,EAAI2L,EAAI,GACZuM,GAAc,OAADlY,QAAC,IAADA,OAAA,EAAAA,EAAG4P,YAAa,IAC7BopG,GAAU,OAADh5G,QAAC,IAADA,OAAA,EAAAA,EAAG+4G,QAAS,IACrB58G,KAAE,gBAAgBU,IAAI,MACtBV,KAAE,YAAYU,IAAIi8G,MAEnBltG,OAAM,SAAC5K,GACNnH,QAAQmH,MAAMA,MAxBpB,oFAtFiC,+BAkHlBihD,IAlHkB,4EAkHjC,+FACen3C,MAAM,GAAD,OACbxP,OAAOyP,QADM,mDAC4CkuG,EAD5C,uBACiElpG,GACjF,CACE/E,OAAQ,MACRC,iBAAiB,EACjBC,QAAS,CACPiL,OAAQ,oCACRhL,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,sBAInBC,KAbU,wCAaL,WAAOC,GAAP,0FACqBA,EAASE,OAD9B,cACED,EADF,gBAEeD,EAAS1N,OAFxB,cAEE5E,EAFF,yBAGGyS,QAAQC,IAAI,CAACH,EAAYvS,KAH5B,2CAbK,uDAkBVqS,MAAK,SAACM,GAAS,IAAD,IACT3L,EAAI2L,EAAI,GAGZytG,GAA0B,OAADp5G,QAAC,IAADA,OAAA,EAAAA,EAAG65G,4BAA6B,GACzDP,GAAuB,OAADt5G,QAAC,IAADA,OAAA,EAAAA,EAAG85G,yBAA0B,GAEnDN,GAAqB,OAADx5G,QAAC,IAADA,GAAA,UAAAA,EAAGu5G,wBAAH,eAAqBQ,SAAU,IACnDL,GAAkB,OAAD15G,QAAC,IAADA,GAAA,UAAAA,EAAGy5G,qBAAH,eAAkBM,SAAU,IAC7Cp9G,YAAW,WACT+S,GAAW,KACV,QAEJ9D,OAAM,SAAC5K,GACNnH,QAAQmH,MAAMA,MAjCpB,oFAlHiC,uB,eCP5B,SAASg5G,KACZ,OACI,kBAAC,KAAD,M,eCFD,SAASC,KACZ,OACI,kBAAC,KAAD,M,wBCDFC,GAAS,CACb,UACA,UACA,UACA,UACA,YACA,UACA,UACA,UACA,WAEK,SAASC,GAAT,GAA6D,IAAxCC,EAAuC,EAAvCA,YAAa3jH,EAA0B,EAA1BA,UAAWkgD,EAAe,EAAfA,YAmBlD,OAlBApsC,qBAAU,WACR,GAA2B,IAAvB6vG,EAAY96G,OAAhB,CAGA,IAAMsH,EAAU3R,SAASsR,eAAe,iCAExC,GAAKK,EAAL,CAIA,IAAMgK,EAkCV,SAAwBwpG,GAuDtB,MAtDgB,CACdC,OAAQ,CACN,CACE59G,KAAM,aACNzD,MACa,OAAXohH,QAAW,IAAXA,OAAA,EAAAA,EAAa5/G,KAAI,SAACwF,GAAD,OAAyB,OAAjBA,EAAEs6G,WAAsB,EAAIt6G,EAAEs6G,gBACvD,IAEJ,CACE79G,KAAM,MACNzD,MAAiB,OAAXohH,QAAW,IAAXA,OAAA,EAAAA,EAAa5/G,KAAI,SAACwF,GAAD,OAAkB,OAAVA,EAAEu6G,IAAe,EAAIv6G,EAAEu6G,SAAS,IAEjE,CACE99G,KAAM,MACNzD,MAAiB,OAAXohH,QAAW,IAAXA,OAAA,EAAAA,EAAa5/G,KAAI,SAACwF,GAAD,OAAkB,OAAVA,EAAEw6G,IAAe,EAAIx6G,EAAEw6G,SAAS,KAGnEN,OAAQA,GACRO,MAAO,CACLptG,OAAQ,IACR7T,KAAM,QAERkhH,OAAQ,CACN7yG,MAAM,GAGR8yG,WAAY,CACVC,SAAS,GAEX5rD,OAAQ,CACN6rD,MAAO,UAETC,MAAO,CACLthH,KAAM,WACNuhH,WACEX,EAAY5/G,KAAI,SAACwF,GAAD,OACdhI,MACsB,IAAnBgI,EAAEg7G,MAAM17G,OAAe,IAAMU,EAAEg7G,MAAQh7G,EAAEg7G,OAAS,OAASh7G,EAAEi7G,MAC9Dh7G,OAAO,kBACN,IAET8oC,QAAS,CACPzqC,EAAG,CACD2B,OAAQ,aAGZi7G,MAAO,CACLC,OAAQ,CACNr4G,UAAW,SAASlN,GAClB,OAAOA,EAAQ,QApFLwlH,CAAehB,GACzBK,EAAQ,IAAIY,KAAWz0G,EAASgK,GAEtC,OADA6pG,EAAMa,SACC,WACLb,EAAMc,eAEP,CAACnB,EAAazjE,IAGf,yBAAKlgD,UAAS,2BAAsBA,IAClC,yBAAKA,UAAU,wBACb,wBAAIA,UAAU,2CAAd,MAEF,yBAAKA,UAAU,gCACb,yBAAKA,UAAU,OACb,yBAAKA,UAAU,0BACI,IAAhBkgD,EACC,2CACyB,IAAvByjE,EAAY96G,OACd,8DAEA,yBACEzI,GAAG,gCACHJ,UAAU,sBACVoE,MAAO,CAAEwS,OAAQ,e,g7MCzBjC,IAAImuG,GAAWlnH,EAAQ,KACjBI,GAAU,IAAIC,IAAa,MAC3BC,GAAKC,IAAIH,IACTm9C,GAA0B,CAAC,UAAW,OAAQ,WAChDp5C,GAAU,SAASgK,GACrB,GAAU,OAANA,GAAoB,KAANA,QAAkBlG,IAANkG,EAAiB,MAAO,GACtD,IAAIxC,EAAS,qBAQb,OANEjI,KAAOyK,GACJC,QAAQ,OACRC,YAAc3K,KAAOyK,GAAGE,YAE3B1C,EAAS,cAGT,0BAAMxJ,UAAU,mDACbuB,KAAOyK,GAAGxC,OAAOA,KAIT,SAASw7G,GAAT,GAAsC,IAAfC,EAAc,EAAdA,WACpC,EAAgDj4G,mBAAS,CACvD4nB,QAAQ,EACR3pB,UAAWg6G,EAAWh6G,UACtBE,QAAS85G,EAAW95G,QACpBya,WAAYq/F,EAAWr/F,WACvBiP,UAAW,EACX/F,UAAW,KACXD,UAAW,OACXN,gBAAiB,CACf,CAAEtvB,KAAM,KAAME,MAAO,IACrB,CAAEF,KAAM,KAAME,MAAO,IACrB,CAAEF,KAAM,KAAME,MAAO,IACrB,CACEF,KAAMuC,OAAO,GACbrC,MAAO,IAGX41B,YAAa,GACbC,KAAM,IAlBR,oBAAOkwF,EAAP,KAAyBC,EAAzB,KAoBA,EAAsDn4G,oBAAS,GAA/D,oBAAOo4G,EAAP,KAA4BC,EAA5B,KArBkD,SA6CnC3hD,EA7CmC,+EA6ClD,WAAwB3jE,GAAxB,iFACM6lB,EAAa7lB,EAAM6lB,YACR/c,OAAS,GAClBy8G,EAAiB1/F,EAAW7hB,KAAI,SAACwF,GAAD,OAAOA,EAAEpK,SAC7CymB,EAAa,eAAiB0/F,EAAe59G,KAAK,iBAElDke,EAAa,GAEfy/F,GAAuB,GARzB,SASQhxG,MAAM,GAAD,OACNxP,OAAOyP,QADD,0CAC0CvU,EAAMkL,UADhD,oBACqElL,EAAMoL,SAD3E,OACqFya,EADrF,uBAC8G7lB,EAAMi1B,KADpH,qBACqIj1B,EAAMg1B,YAD3I,sBACoKh1B,EAAM+uB,UAD1K,sBACiM/uB,EAAM8uB,UADvM,YAET,CACEta,OAAQ,MACRC,iBAAiB,EACjBC,QAAS,CACPiL,OAAQ,oCACRhL,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,sBAInBC,KAbG,wCAaE,WAAOC,GAAP,0FACqBA,EAASE,OAD9B,cACED,EADF,gBAEeD,EAAS1N,OAFxB,cAEE5E,EAFF,yBAGGyS,QAAQC,IAAI,CAACH,EAAYvS,KAH5B,2CAbF,uDAkBHqS,MAAK,SAACM,GAAS,IAAD,UACP3L,EAAI2L,EAAI,GACdqwG,EACEh8G,EAAE26C,UAAUngD,KAAI,SAACwF,GACf,OAAO,2BAAKA,GAAZ,IAAenJ,GAAImJ,EAAE3F,SACjB,IAER,IAAI4hH,EAAS,eAAQN,GACrBM,EAAUv6G,UAAYg6G,EAAWh6G,UACjCu6G,EAAUr6G,QAAU85G,EAAW95G,QAC/Bq6G,EAAU3wF,WAAa,OAADtrB,QAAC,IAADA,GAAA,UAAAA,EAAGo6C,kBAAH,eAAeC,iBAAkB,EACvD4hE,EAAU12F,UAAY/uB,EAAM+uB,UAC5B02F,EAAU5/F,WAAY7lB,EAAM6lB,WAC5B4/F,EAAU32F,UAAY9uB,EAAM8uB,UAC5B22F,EAAUj3F,gBAAkB,CAC1B,CAAEtvB,KAAM,KAAME,MAAO,IACrB,CAAEF,KAAM,KAAME,MAAO,IACrB,CAAEF,KAAM,KAAME,MAAO,IACrB,CACEF,KAAMuC,QAAQ,OAAD+H,QAAC,IAADA,GAAA,UAAAA,EAAGo6C,kBAAH,eAAeC,iBAAkB,GAC9CzkD,OAAQ,OAADoK,QAAC,IAADA,GAAA,UAAAA,EAAGo6C,kBAAH,eAAeC,iBAAkB,IAG5C4hE,EAAUzwF,YAAV,OAAwBxrB,QAAxB,IAAwBA,GAAxB,UAAwBA,EAAGo6C,kBAA3B,aAAwB,EAAe8hE,SACvCD,EAAUxwF,KAAV,OAAiBzrB,QAAjB,IAAiBA,GAAjB,UAAiBA,EAAGo6C,kBAApB,aAAiB,EAAe+hE,WAChCP,EAAoBK,GACpBH,GAAuB,MAExBlwG,OAAM,SAAC5K,GACNnH,QAAQmH,MAAMA,GACd86G,GAAuB,MAzD7B,4CA7CkD,sBAsBlDvxG,qBAAU,WACR4vD,EAAS,CACP9uC,QAAQ,EACR3pB,UAAWg6G,EAAWh6G,UACtBE,QAAS85G,EAAW95G,QACpBya,WAAYq/F,EAAWr/F,WACvBiP,UAAW,EACX/F,UAAW,KACXD,UAAW,OACXN,gBAAiB,CACf,CAAEtvB,KAAM,KAAME,MAAO,IACrB,CAAEF,KAAM,KAAME,MAAO,IACrB,CAAEF,KAAM,KAAME,MAAO,IACrB,CACEF,KAAMuC,OAAO,GACbrC,MAAO,IAGX41B,YAAa,GACbC,KAAM,MAEP,CAACiwF,IA+DJ,MAAgCj4G,mBAAS,IAAzC,oBAAO6W,EAAP,KAAiB0hG,EAAjB,KACM9/B,EAAe,CACnB,CACEr5E,UAAW,KACXnN,KAAM,KACNyN,MAAM,EACNtI,MAAO,CACLuS,SAAU,SAEZhK,UAAWA,IACXN,UAAW,SAACC,EAAM9E,GAChB,OAAO,kBAAC,KAAD,CAAqBA,IAAKA,MAGrC,CACE4E,UAAW,kBACXnN,KAAM,iBACNyN,MAAM,EACNC,UAAWA,KAEb,CACEP,UAAW,eACXnN,KAAM,WACNyN,MAAM,EACNC,UAAWA,IACXN,UAAW,SAACC,EAAM9E,GAChB,GACuB,OAArBA,EAAI8oE,cACiB,KAArB9oE,EAAI8oE,mBACiBxqE,IAArB0B,EAAI8oE,aAEJ,OACE,oCACG9oE,EAAI8oE,aAAe,IACpB,kBAAC72B,GAAA,EAAD,CACEjtC,QACE,kBAAC4wB,GAAA,EAAD,CAASh9B,GAAG,yBACToH,EAAI2Y,eAIT,uBACEzX,KAAM,kBAAM,GACZ1I,UAAU,iDAEV,0BAAMA,UAAU,sCACd,kBAAC,KAAD,CACEwI,IAAKC,YACH,iDAWpB,CACE2D,UAAW,cACXnN,KAAM,0BACNyN,MAAM,EACNC,UAAWA,IACXN,UAAW,SAACC,EAAM9E,GAChB,IAAI+oE,GACyB,OAA1B/oE,EAAIgpE,kBAA6BhpE,EAAIgpE,kBAAoB,IAC1D,IACAhpE,EAAI2/B,UACe,OAAlB3/B,EAAI4/B,WAAwC,KAAlB5/B,EAAI4/B,UAC3B,KAAO5/B,EAAI4/B,UACX,IACN,GAC4B,OAA1B5/B,EAAIgpE,mBACsB,KAA1BhpE,EAAIgpE,wBACsB1qE,IAA1B0B,EAAIgpE,kBAEJ,OACE,oCACGhpE,EAAIipE,kBAAoB,IACzB,kBAACh3B,GAAA,EAAD,CACEjtC,QAAS,kBAAC4wB,GAAA,EAAD,CAASh9B,GAAG,yBAAyBmwE,IAE9C,uBACE7nE,KAAM,kBAAM,GACZ1I,UAAU,iDAEV,0BAAMA,UAAU,sCACd,kBAAC,KAAD,CACEwI,IAAKC,YACH,iDAWpB,CACE2D,UAAW,gBACXnN,KAAM,4BACNyN,MAAM,EACNC,UAAWA,IACXN,UAAW,SAACC,EAAM9E,GAChB,IAAI+oE,GAC8B,OAA/B/oE,EAAIkpE,uBACDlpE,EAAIkpE,uBACJ,IACJ,IACAlpE,EAAI6/B,QACa,OAAhB7/B,EAAI8/B,SAAoC,KAAhB9/B,EAAI8/B,QACzB,KAAO9/B,EAAI8/B,QACX,IACN,GACiC,OAA/B9/B,EAAIkpE,wBAC2B,KAA/BlpE,EAAIkpE,6BAC2B5qE,IAA/B0B,EAAIkpE,uBAEJ,OACE,oCACGlpE,EAAImpE,uBAAyB,IAC9B,kBAACl3B,GAAA,EAAD,CACEjtC,QAAS,kBAAC4wB,GAAA,EAAD,CAASh9B,GAAG,yBAAyBmwE,IAE9C,uBACE7nE,KAAM,kBAAM,GACZ1I,UAAU,iDAEV,0BAAMA,UAAU,sCACd,kBAAC,KAAD,CACEwI,IAAKC,YACH,iDAWpB,CACE2D,UAAW,gBACXnN,KAAM,iBACNyN,MAAM,EACNC,UAAWA,KAEb,CACEP,UAAW,cACXnN,KAAM,eACNyN,MAAM,EACNC,UAAWA,IACXN,UAAW,SAACC,EAAM9E,GAChB,OAAO,oCAAGxF,GAAQwF,EAAIopE,gBAG1B,CACExkE,UAAW,sBACXnN,KAAM,wBACNyN,MAAM,EACNC,UAAWA,IACXN,UAAW,SAACC,EAAM9E,GAChB,OAAO,oCAAGxF,GAAQwF,EAAI8/D,wBAG1B,CACEl7D,UAAW,sBACXnN,KAAM,yBACNyN,MAAM,EACNC,UAAWA,IACXN,UAAW,SAACC,EAAM9E,GAChB,OAAO,oCAAGxF,GAAQwF,EAAIq/D,wBAG1B,CACEz6D,UAAW,wBACXnN,KAAM,sBACNyN,MAAM,EACNC,UAAWA,IACXN,UAAW,SAACC,EAAM9E,GAChB,OAAO,oCAAGxF,GAAQwF,EAAIgiD,0BAG1B,CACEp9C,UAAW,eACXnN,KAAM,iBACNyN,MAAM,EACNC,UAAWA,IACXN,UAAW,SAACC,EAAM9E,GAChB,OAAO,oCAAGxF,GAAQwF,EAAIs/D,iBAG1B,CACE16D,UAAW,0BACXnN,KAAM,uBACNyN,MAAM,EACNC,UAAWA,KAGb,CACEP,UAAW,cACXnN,KAAM,eACNyN,MAAM,EACNC,UAAWA,KAEb,CACEP,UAAW,SACXnN,KAAM,SACNyN,MAAM,EACNC,UAAWA,IACXN,UAAW,SAACC,EAAM9E,GAChB,OAAO,oCAAGA,EAAIqW,UAGlB,CACEzR,UAAW,YACXnN,KAAM,YACNyN,MAAM,EACNC,UAAWA,KAEb,CACEP,UAAW,cACXnN,KAAM,UACNyN,MAAM,EACNC,UAAWA,IACXN,UAAW,SAACC,EAAM9E,GAChB,GACsB,OAApBA,EAAIspE,aACgB,KAApBtpE,EAAIspE,kBACgBhrE,IAApB0B,EAAIspE,YAEJ,OACE,oCACGtpE,EAAIupE,YAAc,IACnB,kBAACt3B,GAAA,EAAD,CACEjtC,QACE,kBAAC4wB,GAAA,EAAD,CAASh9B,GAAG,yBACToH,EAAIspE,cAIT,uBACEpoE,KAAM,kBAAM,GACZ1I,UAAU,iDAEV,0BAAMA,UAAU,sCACd,kBAAC,KAAD,CACEwI,IAAKC,YACH,iDAWpB,CACE2D,UAAW,qBACXnN,KAAM,iBACNyN,MAAM,EACNC,UAAWA,KAEb,CACEP,UAAW,gBACXnN,KAAM,iBACNyN,MAAM,EACNC,UAAWA,KAEb,CACEP,UAAW,SACXnN,KAAM,SACNyN,MAAM,EACNC,UAAWA,IACXN,UAAW,SAACC,EAAM9E,GAChB,OACE,oCACGA,EAAIm+G,SACH,kBAAClsE,GAAA,EAAD,CACEjtC,QACE,kBAAC4wB,GAAA,EAAD,CACEh5B,MAAO,CAAEgvD,cAAe,QACxBhzD,GAAG,2BAEH,yBAAKiS,wBAAyB,CAAEC,OAAQ9K,EAAIm+G,aAIhD,uBACEj9G,KAAM,kBAAM,GACZ1I,UAAU,wDAEV,0BAAMA,UAAU,yCACd,kBAAC,KAAD,CACEwI,IAAKC,YACH,mDAOXjB,EAAIo+G,cACH,kBAACnsE,GAAA,EAAD,CACEjtC,QACE,kBAAC4wB,GAAA,EAAD,CAASh9B,GAAG,0BAAZ,2DAKF,uBACEsI,KAAM,kBAAM,GACZ1I,UAAU,wDAEV,0BAAMA,UAAU,yCACd,kBAAC,KAAD,CACEwI,IAAKC,YACH,mDAOXjB,EAAIq+G,sBACH,kBAACpsE,GAAA,EAAD,CACEz5C,UAAU,OACVwM,QACE,kBAAC4wB,GAAA,EAAD,CAASh9B,GAAG,yBAAZ,+DAKF,uBACEsI,KAAM,kBAAM,GACZ1I,UAAU,sDAEV,0BAAMA,UAAU,yCACd,kBAAC,KAAD,CACEwI,IAAKC,YACH,wDAOXjB,EAAIs+G,YACH,kBAACrsE,GAAA,EAAD,CACEjtC,QACE,kBAAC4wB,GAAA,EAAD,CAASh9B,GAAG,yBAAZ,2BAKF,uBACEsI,KAAM,kBAAM,GACZ1I,UAAU,sDAEV,0BAAMA,UAAU,wCACd,kBAAC,KAAD,CACEwI,IAAKC,YACH,uDAOXjB,EAAIu+G,UACH,kBAACtsE,GAAA,EAAD,CACEjtC,QAAS,kBAAC4wB,GAAA,EAAD,CAASh9B,GAAG,yBAAZ,QAET,uBACEsI,KAAM,kBAAM,GACZ1I,UAAU,sDAEV,0BAAMA,UAAU,wCACd,kBAAC,KAAD,CACEwI,IAAKC,YACH,gDAOXjB,EAAIw+G,WACH,kBAACvsE,GAAA,EAAD,CACEjtC,QACE,kBAAC4wB,GAAA,EAAD,CAASh9B,GAAG,yBAAZ,qDAKF,uBACEsI,KAAM,kBAAM,GACZ1I,UAAU,wDAEV,0BAAMA,UAAU,wCACd,kBAAC,KAAD,CACEwI,IAAKC,YAAc,wCAM5BjB,EAAIy+G,wBACH,kBAACxsE,GAAA,EAAD,CACEjtC,QACE,kBAAC4wB,GAAA,EAAD,CAASh9B,GAAG,yBAAZ,yCAKF,uBACEsI,KAAM,kBAAM,GACZ1I,UAAU,uDAGV,0BAAMA,UAAU,wCACd,kBAAC,KAAD,CACEwI,IAAKC,YACH,oDAUlBlI,QAAS,cACTm0B,cAAe,cACftwB,MAAO,CACLuS,SAAU,UAGd,CACEvK,UAAW,SACXnN,KAAM,SACNmB,GAAI,sBACJG,QAAS,mBACTm0B,cAAe,mBACfhoB,MAAM,EACNC,UAAWA,IACXN,UAAW,SAACC,EAAM9E,GAChB,OACE,0BACExH,UAAS,qCACPo7C,GAAwB5zC,EAAIk8C,UADrB,kBAMRl8C,EAAIm4B,WAOTykB,EAA2B,SAACrhD,EAAMshD,GACtC,GAAa,SAATthD,EAAiB,CACnB,IAAImE,EAAM,eAAQg+G,GAClBh+G,EAAO4nB,UAAYu1B,EAASv1B,UAC5B5nB,EAAO2nB,UAAYw1B,EAASx1B,UAC5B60C,EAASx8D,GAEX,GAAa,eAATnE,EAAuB,CACzB,IAAImE,EAAM,eAAQg+G,GAClBh+G,EAAO6tB,YAAcsvB,EAAStvB,YAC9B7tB,EAAO8tB,UAAyBlvB,IAAlBu+C,EAASrvB,KAAqB,EAAIqvB,EAASrvB,KACzD0uC,EAASx8D,KAGb,OACE,yBAAKlH,UAAS,qBACZ,yBAAKA,UAAU,wBACb,wBAAIA,UAAU,2CAAd,kBAIF,yBAAKA,UAAU,gCACb,yBAAKA,UAAU,OACb,yBAAKA,UAAU,UACZolH,GACC,kBAAC,KAAD,CACEzxF,QAAQ,UACRixB,UAAQ,EACR/iD,IAAK,IACLuC,MAAO,CAAEwS,OAAQ,MAAOR,MAAO,UAGnC,kBAAC,sBAAD,CACEtF,WAAYC,KAAkBm0G,KAE7B,YAAgD,IAA7CjwF,EAA4C,EAA5CA,gBAAiBC,EAA2B,EAA3BA,qBACnB,OACE,kBAAC,KAAD,CAAYD,gBAAiBA,GAC3B,kBAAC,KAAD,eACEjkB,eAAe,mBACfE,UAAU,EACV3Q,QAAQ,gDACR0Q,YAAU,EACVkkB,QAAM,EACN/0B,GAAG,YACHuQ,SAAS,KACTk0C,iBACEugE,EACE,kBAACprG,GAAA,EAAD,KACE,kBAACS,GAAA,EAAD,KACE,yBACEza,UAAU,kBACVoE,MAAO,CACLsM,UAAW,mBAGb,kBAACq0G,GAAD,CAAU/+G,KAAK,eAAe+I,MAAM,YAK1C,wBACE/O,UAAU,kBACVoE,MAAO,CAAEsM,UAAW,WAFtB,6CAQJnO,KAAmB,OAAbshB,EAAoB,GAAKA,EAC/B1X,QAASs5E,EACT70E,cAAe,CAAC,CAAExE,UAAW,KAAMyE,MAAO,SAC1CukB,cAAegvB,GACXlvB,GAEJ,kBAAC,IAAD,CACErR,SAAuB,OAAbA,EAAoB,GAAKA,IAErC,kBAAC,IAAD,CACEA,SAAuB,OAAbA,EAAoB,GAAKA,aCrrB3D,IAAM4/F,GAAS,CACb,UACA,UACA,UACA,UACA,YACA,UACA,UACA,UACA,WAGK,SAASyC,GAAT,GAKH,IAJFlmH,EAIC,EAJDA,UACAmmH,EAGC,EAHDA,kBACAC,EAEC,EAFDA,yBACAnB,EACC,EADDA,WA0BA,OAxBAnxG,qBAAU,WACR,IAAM3D,EAAU3R,SAASsR,eAAe,iCAExC,GAAKK,EAAL,CAIA,IAAMgK,EAgDV,SAAwBgsG,GAwDtB,MAvDgB,CACdvC,OAAQ,CACN,CACE59G,KAAM,aACNzD,MACmB,OAAjB4jH,QAAiB,IAAjBA,OAAA,EAAAA,EAAmBpiH,KAAI,SAACwF,GAAD,OACJ,OAAjBA,EAAEs6G,WAAsB,EAAIt6G,EAAEs6G,gBAC3B,IAET,CACE79G,KAAM,MACNzD,MAAuB,OAAjB4jH,QAAiB,IAAjBA,OAAA,EAAAA,EAAmBpiH,KAAI,SAACwF,GAAD,OAAkB,OAAVA,EAAEu6G,IAAe,EAAIv6G,EAAEu6G,SAAS,IAEvE,CACE99G,KAAM,MACNzD,MAAuB,OAAjB4jH,QAAiB,IAAjBA,OAAA,EAAAA,EAAmBpiH,KAAI,SAACwF,GAAD,OAAkB,OAAVA,EAAEw6G,IAAe,EAAIx6G,EAAEw6G,SAAS,KAGzEN,OAAQA,GACRO,MAAO,CACLptG,OAAQ,IACR7T,KAAM,QAERkhH,OAAQ,CACN7yG,MAAM,GAGR8yG,WAAY,CACVC,SAAS,GAEX5rD,OAAQ,CACN6rD,MAAO,UAETC,MAAO,CACLthH,KAAM,WACNuhH,WACE6B,EAAkBpiH,KAAI,SAACwF,GAAD,OACpBhI,MACsB,IAAnBgI,EAAEg7G,MAAM17G,OAAe,IAAMU,EAAEg7G,MAAQh7G,EAAEg7G,OAAS,OAASh7G,EAAEi7G,MAC9Dh7G,OAAO,kBACN,IAET8oC,QAAS,CACPzqC,EAAG,CACD2B,OAAQ,aAGZi7G,MAAO,CACLC,OAAQ,CACNr4G,UAAW,SAASlN,GAClB,OAAOA,EAAQ,QAnGLwlH,CAAewB,GACzBnC,EAAQ,IAAIY,KAAWz0G,EAASgK,GAEtC,OADA6pG,EAAMa,SACC,WACLb,EAAMc,cAEP,CAACqB,EAAmBC,IACvBD,EAAkBjlH,SAAQ,SAACiP,GACzB/M,QAAQC,IACN,SACA9B,MAC4B,IAAzB4O,EAAQo0G,MAAM17G,OAAe,IAAMsH,EAAQo0G,MAAQp0G,EAAQo0G,OAC1D,OACAp0G,EAAQq0G,MACVh7G,OAAO,kBAIX,oCACE,yBAAKxJ,UAAS,2BAAsBA,IAClC,yBAAKA,UAAU,wBACb,wBAAIA,UAAU,2CAAd,mBAIF,yBAAKA,UAAU,gCACb,yBAAKA,UAAU,OACb,yBAAKA,UAAU,0BACiB,IAA7BomH,EACC,2CAC+B,IAA7BD,EAAkBt9G,OACpB,8DAEA,yBACEzI,GAAG,gCACHJ,UAAU,sBACVoE,MAAO,CAAEwS,OAAQ,eAO7B,kBAACouG,GAAD,CAAaC,WAAYA,KCtE/B,IAAMxB,GAAS,CAAC,UAAW,UAAW,WAC/B,SAAS4C,GAAT,GAAwE,IAA7CrmH,EAA4C,EAA5CA,UAAWsmH,EAAiC,EAAjCA,WAAYC,EAAqB,EAArBA,kBAgBvD,OAfAzyG,qBAAU,WACR,IAAM3D,EAAU3R,SAASsR,eAAe,iCAExC,GAAKK,EAAL,CAIA,IAAMgK,EAoCV,SAAwBmsG,GAwDtB,MAvDgB,CACd1C,OAAQ,CACN,CACE59G,KAAM,aACNzD,MACY,OAAV+jH,QAAU,IAAVA,OAAA,EAAAA,EAAYviH,KAAI,SAACwF,GAAD,OAAyB,OAAjBA,EAAEs6G,WAAsB,EAAIt6G,EAAEs6G,gBACtD,IAEJ,CACE79G,KAAM,MACNzD,MAAgB,OAAV+jH,QAAU,IAAVA,OAAA,EAAAA,EAAYviH,KAAI,SAACwF,GAAD,OAAkB,OAAVA,EAAEu6G,IAAe,EAAIv6G,EAAEu6G,SAAS,IAEhE,CACE99G,KAAM,MACNzD,MAAgB,OAAV+jH,QAAU,IAAVA,OAAA,EAAAA,EAAYviH,KAAI,SAACwF,GAAD,OAAkB,OAAVA,EAAEw6G,IAAe,EAAIx6G,EAAEw6G,SAAS,KAGlEN,OAAQA,GACRO,MAAO,CACLptG,OAAQ,IACR7T,KAAM,OAERkhH,OAAQ,CACN7yG,MAAM,GAER8yG,WAAY,CACVC,SAAS,GAEX5rD,OAAQ,CACN6rD,MAAO,UAETC,MAAO,CACLthH,KAAM,WACNuhH,WACEgC,EAAWviH,KAAI,SAACwF,GAAD,OACbhI,MACsB,IAAnBgI,EAAEg7G,MAAM17G,OAAe,IAAMU,EAAEg7G,MAAQh7G,EAAEg7G,OAAS,OAASh7G,EAAEi7G,MAC9Dh7G,OAAO,kBACN,IAET8oC,QAAS,CACPzqC,EAAG,CACD2B,OAAQ,aAGZg9G,YAAa,CACXC,IAAK,CACHnwE,aAAc,EACdowE,YAAa,MACbxC,WAAY,CACV5/G,SAAU,UAvFAqgH,CAAe2B,GACzBtC,EAAQ,IAAIY,KAAWz0G,EAASgK,GAEtC,OADA6pG,EAAMa,SACC,WACLb,EAAMc,cAEP,CAACwB,EAAYC,IAGd,yBAAKvmH,UAAS,2BAAsBA,IAClC,yBAAKA,UAAU,wBACb,wBAAIA,UAAU,2CAAd,kBAIF,yBAAKA,UAAU,gCACb,yBAAKA,UAAU,OACb,yBAAKA,UAAU,0BACU,IAAtBumH,EACC,2CACwB,IAAtBD,EAAWz9G,OACb,8DAEA,yBACEzI,GAAG,gCACHJ,UAAU,sBACVoE,MAAO,CAAEwS,OAAQ,e,cCnC3B6sG,I,OAAS,CACb,UACA,UACA,UACA,UACA,YACA,UACA,UACA,UACA,YAEK,SAASkD,GAAT,GAIH,IAHF3mH,EAGC,EAHDA,UACA4mH,EAEC,EAFDA,gBACAC,EACC,EADDA,uBAiBA,OAfA/yG,qBAAU,WACR,IAAM3D,EAAU3R,SAASsR,eAAe,kCAExC,GAAKK,EAAL,CAIA,IAAMgK,EAiEV,SAAwBysG,GAgCtB,MA/BgB,CACdhD,OAAM,OAAEgD,QAAF,IAAEA,OAAF,EAAEA,EAAiB7iH,KAAI,SAACC,EAAMC,GAAP,OACzBD,EAAK8iH,oBAAsB9iH,EAAK+iH,SAAY,KAAO,GAAG5+G,QAAQ,MAElEs7G,OAAQA,GACRQ,OAAQ,CACN7yG,MAAM,GAER4yG,MAAO,CACLjhH,KAAM,aAERyjH,YAAa,CACXQ,UAAW,CACTC,YAAa,GACbC,SAAU,GACVC,MAAO,CACLhtB,WAAY,UACZ3hC,YAAa,MACbxhD,OAAQ,KAIdowG,KAAM,CACJhgG,QAAS,CACPqe,KAAM,KAGVi/E,OAAM,OAAEkC,QAAF,IAAEA,OAAF,EAAEA,EAAiB7iH,KAAI,SAACC,EAAMC,GAAP,OACV,OAAjBD,EAAKqjH,QAAmB,QAAUrjH,EAAKqjH,YA9FzB1C,CAAeiC,GACzB5C,EAAQ,IAAIY,KAAWz0G,EAASgK,GAEtC,OADA6pG,EAAMa,SACC,WACLb,EAAMc,cAEP,CAAC8B,EAAiBC,IAGnB,yBAAK7mH,UAAS,2BAAsBA,IAClC,yBAAKA,UAAU,wBACb,wBAAIA,UAAU,2CAAd,0BAIF,yBAAKA,UAAU,gCACb,yBAAKA,UAAU,OACb,yBAAKA,UAAU,mDACe,IAA3B6mH,EACC,2CAC6B,IAA3BD,EAAgB/9G,OAClB,8DAEA,yBACEzI,GAAG,iCACHJ,UAAU,sBACVoE,MAAO,CAAEwS,OAAQ,YAKvB,yBAAK5W,UAAU,wDAAf,OACG4mH,QADH,IACGA,OADH,EACGA,EAAiB7iH,KAAI,SAACC,EAAMC,GAAP,OACpB,kBAAC,WAAD,CAAUqD,IAAKrD,GACb,yBAAKE,MAAM,kCACT,wBACEnE,UAAU,mBACVoE,MAAO,CAAE2K,MAAO00G,GAAOx/G,KAFzB,UAIyB,OAAfD,EAAKqjH,QAAgB,QAAQrjH,EAAKqjH,QAJ5C,MAOF,yBAAKljH,MAAM,kCACT,wBAAInE,UAAU,+BAAd,SACA,wBAAIA,UAAU,iCACXgE,EAAK+iH,WAGV,yBAAK5iH,MAAM,uDACX,yBAAKA,MAAM,kCACT,wBAAInE,UAAU,+BAAd,WACA,wBAAIA,UAAU,iCACXgE,EAAK8iH,sBAGV,yBAAK9mH,UAAU,+DC9E/B,IAAMyjH,GAAS,CACb,UACA,UACA,UACA,UACA,YACA,UACA,UACA,UACA,WAGK,SAAS6D,GAAT,GAIH,IAHFtnH,EAGC,EAHDA,UACA4mH,EAEC,EAFDA,gBACAC,EACC,EADDA,uBAiBA,OAfA/yG,qBAAU,WACR,IAAM3D,EAAU3R,SAASsR,eAAe,kCAExC,GAAKK,EAAL,CAIA,IAAMgK,EAgEV,SAAwBysG,GA8BtB,MA7BgB,CACdhD,OAAM,OAAEgD,QAAF,IAAEA,OAAF,EAAEA,EAAiB7iH,KAAI,SAACC,EAAMC,GAAP,OACzBD,EAAKujH,qBAAuBvjH,EAAKsjH,UAAa,KAAO,GAAGn/G,QAAQ,MAEpEs7G,OAAQA,GACRO,MAAO,CACLjhH,KAAM,aAERkhH,OAAQ,CACN7yG,MAAM,GAERo1G,YAAa,CACXQ,UAAW,CACTG,MAAO,CACLhtB,WAAY,UACZ3hC,YAAa,MACbxhD,OAAQ,KAIdowG,KAAM,CACJhgG,QAAS,CACPqe,KAAM,IAGVi/E,OAAM,OAAEkC,QAAF,IAAEA,OAAF,EAAEA,EAAiB7iH,KAAI,SAACC,EAAMC,GAAP,OACV,OAAjBD,EAAKqjH,QAAmB,QAAUrjH,EAAKqjH,YA3FzB1C,CAAeiC,GACzB5C,EAAQ,IAAIY,KAAWz0G,EAASgK,GAEtC,OADA6pG,EAAMa,SACC,WACLb,EAAMc,cAEP,CAAC8B,EAAiBC,IAGnB,yBAAK7mH,UAAS,2BAAsBA,IAClC,yBAAKA,UAAU,wBACb,wBAAIA,UAAU,2CAAd,0BAIF,yBAAKA,UAAU,gCACb,yBAAKA,UAAU,OACb,yBAAKA,UAAU,uCACe,IAA3B6mH,EACC,2CAC6B,IAA3BD,EAAgB/9G,OAClB,8DAEA,yBACEzI,GAAG,iCACHJ,UAAU,sBACVoE,MAAO,CAAEwS,OAAQ,YAIvB,yBAAK5W,UAAU,wDAAf,OACG4mH,QADH,IACGA,OADH,EACGA,EAAiB7iH,KAAI,SAACC,EAAMC,GAAP,OACpB,kBAAC,WAAD,CAAUqD,IAAKrD,GACb,yBAAKE,MAAM,kCACT,wBACEnE,UAAU,mBACVoE,MAAO,CAAE2K,MAAO00G,GAAOx/G,KAFzB,UAI2B,OAAjBD,EAAKqjH,QAAmB,QAAUrjH,EAAKqjH,QAJjD,MAOF,yBAAKljH,MAAM,kCACT,wBAAInE,UAAU,+BAAd,SACA,wBAAIA,UAAU,iCACXgE,EAAKsjH,YAGV,yBAAKnjH,MAAM,uDACX,yBAAKA,MAAM,kCACT,wBAAInE,UAAU,+BAAd,WACA,wBAAIA,UAAU,iCACXgE,EAAKujH,uBAGV,yBAAKvnH,UAAU,+D,wCC1ExB,SAASwnH,GAAT,GAA4B,IAAdxnH,EAAa,EAAbA,UACX84F,EAAYv9B,aAAayV,QAHF,oBAI7B,EAAsBhkE,mBAAS8rF,GAAaA,EAAY,GAAxD,oBAAOxxF,EAAP,KAAYmgH,EAAZ,KACMC,EAAiB,SAACC,GACpBpsD,aAAaC,QANY,mBAMsBmsD,IAE7CC,EAAYC,eACZC,EAAc92F,mBAAQ,WACxB,MAAO,CACH+2F,kBAAmBC,KAAWryG,IAC1BiyG,EAAUt8D,OACV,0BAEJ28D,kBAAmBD,KAAWryG,IAC1BiyG,EAAUt8D,OACV,0BAEJ48D,kBAAmBF,KAAWryG,IAC1BiyG,EAAUt8D,OACV,0BAEJ68D,uBAAwBH,KAAWryG,IAC/BiyG,EAAUt8D,OACV,gCAEJ88D,wBAAyBJ,KAAWryG,IAChCiyG,EAAUt8D,OACV,iCAEJ+8D,WAAYL,KAAWryG,IAAIiyG,EAAUt8D,OAAQ,oBAElD,CAACs8D,IAuDJ,OArDA9zG,qBAAU,WACN,IAAM3D,EAAU3R,SAASsR,eAAe,kCACxC,GAAKK,EAAL,CAGA,IAAMgK,EAAUwqG,GAAemD,GACzB9D,EAAQ,IAAIY,KAAWz0G,EAASgK,GAEtC,OADA6pG,EAAMa,SACC,WACHb,EAAMc,cAEX,CAACgD,IAEJh0G,qBAAU,WACN,IAAMw0G,EAAW9pH,SAASsR,eAAe,kCAEzC,GAAKw4G,EAAL,CAGA,IAAMnuG,EAAUwqG,GAAemD,GACzB9D,EAAQ,IAAIY,KAAW0D,EAAUnuG,GAEvC,OADA6pG,EAAMa,SACC,WACHb,EAAMc,cAEX,CAACgD,IACJh0G,qBAAU,WACN,IAAMy0G,EAAW/pH,SAASsR,eAAe,kCAGzC,GAAKy4G,EAAL,CAGA,IAAMpuG,EAAUwqG,GAAemD,GACzB9D,EAAQ,IAAIY,KAAW2D,EAAUpuG,GAEvC,OADA6pG,EAAMa,SACC,WACHb,EAAMc,cAEX,CAACgD,IACJh0G,qBAAU,WACN,IAAM00G,EAAWhqH,SAASsR,eAAe,kCAEzC,GAAK04G,EAAL,CAGA,IAAMruG,EAAUwqG,GAAemD,GACzB9D,EAAQ,IAAIY,KAAW4D,EAAUruG,GAEvC,OADA6pG,EAAMa,SACC,WACHb,EAAMc,cAEX,CAACgD,IAEA,yBAAK9nH,UAAS,2BAAsBA,IAChC,yBAAKA,UAAU,wBACX,wBAAIA,UAAU,2CAAd,OAGA,yBAAKA,UAAU,gBACX,wBACIA,UAAU,+CACVyoH,oBAAkB,SAClB3pF,KAAK,WAEL,wBAAI9+B,UAAU,YACV,uBACI0I,KAAM,mBAAM,MACZ1I,UAAS,gCAAmC,IAARsH,EAAY,4BAA8B,IAC9E6X,cAAY,MACZ1S,QAAS,WACLg7G,EAAO,GACPC,EAAe,KANvB,YAYJ,wBAAI1nH,UAAU,YACV,uBACI0I,KAAM,mBAAM,MACZ1I,UAAS,gCAAmC,IAARsH,EAAY,4BAA8B,IAC9E6X,cAAY,MACZ1S,QAAS,WACLg7G,EAAO,GACPC,EAAe,KANvB,OAYJ,wBAAI1nH,UAAU,YACV,uBACI0I,KAAM,mBAAM,MACZ1I,UAAS,gCAAmC,IAARsH,EAAY,4BAA8B,IAC9E6X,cAAY,MACZ1S,QAAS,WACLg7G,EAAO,GACPC,EAAe,KANvB,OAYJ,wBAAI1nH,UAAU,YACV,uBACI0I,KAAM,mBAAM,MACZ1I,UAAS,gCAAmC,IAARsH,EAAY,4BAA8B,IAC9E6X,cAAY,MACZ1S,QAAS,WACLg7G,EAAO,GACPC,EAAe,KANvB,SAehB,yBAAK1nH,UAAU,gCACX,yBAAKA,UAAU,mCACX,yBAAKA,UAAS,mBAAsB,IAARsH,EAAY,SAAW,KAC/C,yBAAKtH,UAAU,UACX,yBAAKA,UAAU,wCACX,yBACII,GAAG,iCACHJ,UAAU,sBACVoE,MAAO,CAAEwS,OAAQ,YAGzB,yBAAK5W,UAAU,OACX,yBAAKA,UAAU,oCACX,yBAAKA,UAAU,6BACX,yBAAKA,UAAU,oCACX,wBAAIA,UAAU,+CAAd,YACA,wBAAIA,UAAU,+CAAd,iBAIZ,yBAAKA,UAAU,oCACX,yBAAKA,UAAU,6BACX,yBAAKA,UAAU,oCACX,wBAAIA,UAAU,kDAAd,sBACA,wBAAIA,UAAU,+CAAd,gBAIZ,yBAAKA,UAAU,oCACX,yBAAKA,UAAU,6BACX,yBAAKA,UAAU,oCACX,wBAAIA,UAAU,kDAAd,iBACA,wBAAIA,UAAU,+CAAd,eAOxB,yBAAKA,UAAS,mBAAsB,IAARsH,EAAY,SAAW,KAC/C,yBAAKtH,UAAU,UACX,yBAAKA,UAAU,wCACX,yBACII,GAAG,iCACHJ,UAAU,sBACVoE,MAAO,CAAEwS,OAAQ,YAGzB,yBAAK5W,UAAU,OACX,yBAAKA,UAAU,oCACX,yBAAKA,UAAU,6BACX,yBAAKA,UAAU,oCACX,wBAAIA,UAAU,+CAAd,YACA,wBAAIA,UAAU,+CAAd,iBAIZ,yBAAKA,UAAU,oCACX,yBAAKA,UAAU,6BACX,yBAAKA,UAAU,oCACX,wBAAIA,UAAU,kDAAd,sBACA,wBAAIA,UAAU,+CAAd,gBAIZ,yBAAKA,UAAU,oCACX,yBAAKA,UAAU,6BACX,yBAAKA,UAAU,oCACX,wBAAIA,UAAU,kDAAd,iBACA,wBAAIA,UAAU,+CAAd,eAOxB,yBAAKA,UAAS,mBAAsB,IAARsH,EAAY,SAAW,KAC/C,yBAAKtH,UAAU,UACX,yBAAKA,UAAU,wCACX,yBACII,GAAG,iCACHJ,UAAU,sBACVoE,MAAO,CAAEwS,OAAQ,YAGzB,yBAAK5W,UAAU,OACX,yBAAKA,UAAU,oCACX,yBAAKA,UAAU,6BACX,yBAAKA,UAAU,oCACX,wBAAIA,UAAU,+CAAd,YACA,wBAAIA,UAAU,+CAAd,iBAIZ,yBAAKA,UAAU,oCACX,yBAAKA,UAAU,6BACX,yBAAKA,UAAU,oCACX,wBAAIA,UAAU,kDAAd,sBACA,wBAAIA,UAAU,+CAAd,gBAIZ,yBAAKA,UAAU,oCACX,yBAAKA,UAAU,6BACX,yBAAKA,UAAU,oCACX,wBAAIA,UAAU,kDAAd,iBACA,wBAAIA,UAAU,+CAAd,eAOxB,yBAAKA,UAAS,mBAAsB,IAARsH,EAAY,SAAW,KAC/C,yBAAKtH,UAAU,UACX,yBAAKA,UAAU,wCACX,yBACII,GAAG,iCACHJ,UAAU,sBACVoE,MAAO,CAAEwS,OAAQ,YAGzB,yBAAK5W,UAAU,OACX,yBAAKA,UAAU,oCACX,yBAAKA,UAAU,6BACX,yBAAKA,UAAU,oCACX,wBAAIA,UAAU,+CAAd,YACA,wBAAIA,UAAU,+CAAd,iBAIZ,yBAAKA,UAAU,oCACX,yBAAKA,UAAU,6BACX,yBAAKA,UAAU,oCACX,wBAAIA,UAAU,kDAAd,sBACA,wBAAIA,UAAU,+CAAd,gBAIZ,yBAAKA,UAAU,oCACX,yBAAKA,UAAU,6BACX,yBAAKA,UAAU,oCACX,wBAAIA,UAAU,kDAAd,iBACA,wBAAIA,UAAU,+CAAd,kBAa5C,SAAS2kH,GAAemD,GAiDpB,MAhDgB,CACZlE,OAAQ,CACJ,CACI59G,KAAM,KACNzD,KAAM,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,OAIpEkhH,OAAQ,CAAC,WACTO,MAAO,CACHptG,OAAQ,IACR7T,KAAM,OAEVkhH,OAAQ,CACJ7yG,MAAM,GAEV8yG,WAAY,CACRC,SAAS,GAEb5rD,OAAQ,CACJ6rD,MAAO,UAEXC,MAAO,CACHthH,KAAM,WACNuhH,WAAY,CAAC,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,OAEnFhyE,QAAS,CACLzqC,EAAG,CACC2B,OAAQ,aAGhBg9G,YAAa,CACTC,IAAK,CACDnwE,aAAc,GACdowE,YAAa,MACbxC,WAAY,CACR5/G,SAAU,SAItBmgH,MAAO,CACHC,OAAQ,CACJr4G,UAAW,SAAUlN,GACjB,OAAOA,EAAQ,QCnW5B,SAASupH,GAAT,GAAgC,IAAd1oH,EAAa,EAAbA,UACf4nH,EAAYC,eACZC,EAAc92F,mBAAQ,WACxB,MAAO,CACH+2F,kBAAmBC,KAAWryG,IAC1BiyG,EAAUt8D,OACV,0BAEJ28D,kBAAmBD,KAAWryG,IAC1BiyG,EAAUt8D,OACV,0BAEJ48D,kBAAmBF,KAAWryG,IAC1BiyG,EAAUt8D,OACV,0BAEJ68D,uBAAwBH,KAAWryG,IAC/BiyG,EAAUt8D,OACV,gCAEJ88D,wBAAyBJ,KAAWryG,IAChCiyG,EAAUt8D,OACV,iCAEJ+8D,WAAYL,KAAWryG,IAAIiyG,EAAUt8D,OAAQ,oBAElD,CAACs8D,IAiBJ,OAfA9zG,qBAAU,WACN,IAAM3D,EAAU3R,SAASsR,eAAe,kCAExC,GAAKK,EAAL,CAIA,IAAMgK,EA+CM,CACZypG,OAAQ,CAAC,IACTH,OAAQ,CAAC,WACTO,MAAO,CACHjhH,KAAM,aAGVyjH,YAAa,CACTQ,UAAW,CACP1wE,aAAc,GACd2wE,YAAa,GACbC,SAAU,GACVC,MAAO,CACHhtB,WAAY,UACZ3hC,YAAa,MACbxhD,OAAQ,KAKpBowG,KAAM,CACFhgG,QAAS,CACLqe,KAAM,KAGdi/E,OAAQ,CAAC,WAvEHV,EAAQ,IAAIY,KAAWz0G,EAASgK,GAEtC,OADA6pG,EAAMa,SACC,WACHb,EAAMc,cAEX,CAACgD,IAGA,yBAAK9nH,UAAS,2BAAsBA,IAChC,yBAAKA,UAAU,wBACX,wBAAIA,UAAU,2CAAd,WAIJ,yBAAKA,UAAU,gCACX,yBAAKA,UAAU,UACX,yBAAKA,UAAU,wCACX,yBACII,GAAG,iCACHJ,UAAU,sBACVoE,MAAO,CAAEwS,OAAQ,YAGzB,yBAAK5W,UAAU,qDACX,yBAAKA,UAAU,6BACX,yBAAKA,UAAU,oCACX,wBAAIA,UAAU,+CAAd,WACA,wBAAIA,UAAU,+CAAd,iBAIZ,yBAAKA,UAAU,gDACX,yBAAKA,UAAU,6BACX,yBAAKA,UAAU,oCACX,wBAAIA,UAAU,kDAAd,UACA,wBAAIA,UAAU,+CAAd,oBCtEzB,SAAS2oH,KAEZ,OACI,oCACI,yBAAK3oH,UAAU,6DACX,yBAAKA,UAAU,aACX,yBAAKA,UAAU,eACX,yBAAKA,UAAU,cACX,wBAAIA,UAAU,cAAd,mBAEJ,0BAAMA,UAAU,wFAEZ,yBAAKA,UAAU,SACX,yBAAKmE,MAAM,cACP,2BAAOnE,UAAU,sBAAjB,YACA,kBAAC,KAAD,CACIygE,cAAc,EACdvmD,aAAW,MAKvB,0BAAMla,UAAU,mDAChB,yBAAKA,UAAU,SACX,yBAAKmE,MAAM,cACP,2BAAOnE,UAAU,sBAAjB,QACA,kBAAC,mBAAD,CACIiL,UAAW,IAAItJ,KAAK,KAAM,EAAG,IAC7BwJ,QAAS,IAAIxJ,KAAK,KAAM,EAAG,OAOvC,4BAAQoB,KAAK,SAAS/C,UAAU,wDAC5B,0BAAMA,UAAU,wBAEZ,yBAAKm4D,MAAM,6BAA6BywD,WAAW,+BAA+BxyG,MAAM,OAAOQ,OAAO,OAAOyhD,QAAQ,YAAYC,QAAQ,OACrI,uBAAGC,OAAO,OAAOC,YAAa,EAAGC,KAAK,OAAOC,SAAS,WAClD,0BAAM7wD,EAAG,EAAGoU,EAAG,EAAG7F,MAAO,GAAIQ,OAAQ,KACrC,0BAAM5K,EAAE,qVAAqVysD,KAAK,UAAUC,SAAS,UAAUrF,QAAQ,QACvY,0BAAMrnD,EAAE,gSAAgSysD,KAAK,UAAUC,SAAS,mBAS5V,kBAAC1+C,GAAA,EAAD,KACI,kBAACS,GAAA,EAAD,CAAKmxC,GAAG,IAAIxF,GAAG,IAAIC,GAAG,KAAKwiE,GAAG,MAC1B,kBAACH,GAAD,CAAQ1oH,UAAU,2BAEtB,kBAACya,GAAA,EAAD,CAAKmxC,GAAG,IAAIxF,GAAG,IAAIC,GAAG,KAAKwiE,GAAG,MAC1B,kBAACrB,GAAD,CAAIxnH,UAAU,8B,wzMC/CtC,IAAM/B,GAAU,IAAIC,IAAa,MAC3BC,GAAKC,IAAIH,IAIR,SAAS6qH,KACd,IAAMrzF,EAAUsqB,eAChB,EAA8C/yC,oBAAS,GAAvD,oBAAO+7G,EAAP,KAAwBC,EAAxB,KACA,EAAsCh8G,oBAAS,GAA/C,oBAAOi8G,EAAP,KAAoBC,EAApB,KACA,EAAsCl8G,oBAAS,GAA/C,oBAAOkzC,EAAP,KAAoBC,EAApB,KACA,EAAgEnzC,oBAC9D,GADF,oBAAOo5G,EAAP,KAAiC+C,EAAjC,KAGA,EAAkDn8G,oBAAS,GAA3D,oBAAOu5G,EAAP,KAA0B6C,EAA1B,KACA,EAA4Dp8G,oBAAS,GAArE,oBAAO65G,EAAP,KAA+BwC,EAA/B,KACMvwB,EAAYv9B,aAAayV,QAZA,oBAa/B,EAAwChkE,mBAAS,IAAjD,oBAAOs8G,EAAP,KAAqBC,EAArB,KACA,EAAsCv8G,mBAAS,IAA/C,oBAAO22G,EAAP,KAAoB6F,EAApB,KACA,EAAkDx8G,mBAAS,IAA3D,oBAAOm5G,EAAP,KAA0BsD,EAA1B,KACA,EAA8Cz8G,mBAAS,IAAvD,oBAAO45G,EAAP,KAAwB8C,EAAxB,KACA,EAAoC18G,mBAAS,IAA7C,oBAAOs5G,EAAP,KAAmBqD,EAAnB,KACA,EAAgC38G,mBAAS,IAAzC,oBAAO48G,EAAP,KAAiBC,EAAjB,KACA,GAAoC78G,mBAAS,CAC3C4Y,WAAY,GACZ3a,UAAW,KACXE,QAAS,KACT2+G,KAAM,GACNjnG,UAAW,GACXF,YAAa,KANf,sBAAOsiG,GAAP,MAAmB8E,GAAnB,MAQA,GAAsB/8G,mBAAS8rF,GAAaA,EAAY,GAAxD,sBAAOxxF,GAAP,MAAYmgH,GAAZ,MACMC,GAAiB,SAACC,GACtBpsD,aAAaC,QA7BgB,mBA6BkBmsD,IA2CjD,SAASqC,GAAYjqH,GACnBmpH,GAAe,GACf,IAAItjG,EAAa7lB,EAAM6lB,WACvB,GAAIA,EAAW/c,OAAS,EAAG,CACzB,IAAIy8G,EAAiB1/F,EAAW7hB,KAAI,SAACwF,GAAD,OAAOA,EAAEpK,SAC7CymB,EAAa,eAAiB0/F,EAAe59G,KAAK,qBAElDke,EAAa,GAGf,IAAIvQ,EAAY,IAAIC,QACpBD,EAAUE,OAAO,gBAAjB,iBAA4CpX,GAAG8L,OAAOC,WAAWyK,QACjEU,EAAUE,OAAO,eAAgB,oBACjCF,EAAUE,OAAO,eAAgB,UACjC,IAAIC,EAAiB,CACnBjB,OAAQ,MACRC,iBAAiB,EACjBC,QAASY,EACTI,SAAU,UAEZpB,MAAM,GAAD,OACAxP,OAAOyP,QADP,2CACiDvU,EAAMkL,UADvD,oBAC4ElL,EAAMoL,SADlF,OAC4Fya,GAC/FpQ,GAECZ,KAJH,wCAIQ,WAAOC,GAAP,0FACqBA,EAASE,OAD9B,cAEe,OADbD,EADF,SAGF2gB,EAAQ3sB,KAAK,cAHX,SAKe+L,EAAS1N,OALxB,cAKE5E,EALF,yBAMGyS,QAAQC,IAAI,CAACH,EAAYvS,KAN5B,2CAJR,uDAYGqS,KAZH,wCAYQ,WAAOzF,GAAP,wEACAgjD,EAAOhjD,EAAO,GAClB06G,EAAY13D,GAAQ,IACpB+2D,GAAe,GAHX,2CAZR,uDAiBG/zG,OAAM,SAAC5K,GACNnH,QAAQC,IAAI,QAASkH,GACrB2+G,GAAe,MAMrB,SAASe,GAAYlqH,GACnBogD,GAAe,GACf,IAAIv6B,EAAa7lB,EAAM6lB,WACvB,GAAIA,EAAW/c,OAAS,EAAG,CACzB,IAAIy8G,EAAiB1/F,EAAW7hB,KAAI,SAACwF,GAAD,OAAOA,EAAEpK,SAC7CymB,EAAa,eAAiB0/F,EAAe59G,KAAK,qBAElDke,EAAa,GAGf,IAAIvQ,EAAY,IAAIC,QACpBD,EAAUE,OAAO,gBAAjB,iBAA4CpX,GAAG8L,OAAOC,WAAWyK,QACjEU,EAAUE,OAAO,eAAgB,oBACjCF,EAAUE,OAAO,eAAgB,UACjC,IAAIC,EAAiB,CACnBjB,OAAQ,MACRC,iBAAiB,EACjBC,QAASY,EACTI,SAAU,UAEZpB,MAAM,GAAD,OACAxP,OAAOyP,QADP,+CACqDsR,EADrD,sBAC6E7lB,EAAMkL,UADnF,oBACwGlL,EAAMoL,QAD9G,sBACmIpL,EAAM8iB,UADzI,wBACkK9iB,EAAM4iB,aAC3KnN,GAECZ,KAJH,wCAIQ,WAAOC,GAAP,0FACqBA,EAASE,OAD9B,cAEe,OADbD,EADF,SAGF2gB,EAAQ3sB,KAAK,cAHX,SAKe+L,EAAS1N,OALxB,cAKE5E,EALF,yBAMGyS,QAAQC,IAAI,CAACH,EAAYvS,KAN5B,2CAJR,uDAYGqS,KAZH,wCAYQ,WAAOzF,GAAP,wEACAgjD,EAAOhjD,EAAO,GAClBq6G,EAAer3D,GAAQ,IACvBhS,GAAe,GAHX,2CAZR,uDAiBGhrC,OAAM,SAAC5K,GACNnH,QAAQC,IAAI,QAASkH,GACrB41C,GAAe,MAKrB,SAAS+pE,GAAiBnqH,GACxBopH,GAA4B,GAC5B,IAAIvjG,EAAa7lB,EAAM6lB,WACvB,GAAIA,EAAW/c,OAAS,EAAG,CACzB,IAAIy8G,EAAiB1/F,EAAW7hB,KAAI,SAACwF,GAAD,OAAOA,EAAEpK,SAC7CymB,EAAa,eAAiB0/F,EAAe59G,KAAK,qBAElDke,EAAa,GAGf,IAAIvQ,EAAY,IAAIC,QACpBD,EAAUE,OAAO,gBAAjB,iBAA4CpX,GAAG8L,OAAOC,WAAWyK,QACjEU,EAAUE,OAAO,eAAgB,oBACjCF,EAAUE,OAAO,eAAgB,UACjC,IAAIC,EAAiB,CACnBjB,OAAQ,MACRC,iBAAiB,EACjBC,QAASY,EACTI,SAAU,UAEZpB,MAAM,GAAD,OACAxP,OAAOyP,QADP,oDAC0DsR,EAD1D,sBACkF7lB,EAAMkL,UADxF,oBAC6GlL,EAAMoL,QADnH,sBACwIpL,EAAM8iB,UAD9I,wBACuK9iB,EAAM4iB,aAChLnN,GAECZ,KAJH,wCAIQ,WAAOC,GAAP,0FACqBA,EAASE,OAD9B,cAEe,OADbD,EADF,SAGF2gB,EAAQ3sB,KAAK,cAHX,SAKe+L,EAAS1N,OALxB,cAKE5E,EALF,yBAMGyS,QAAQC,IAAI,CAACH,EAAYvS,KAN5B,2CAJR,uDAYGqS,KAZH,wCAYQ,WAAOzF,GAAP,wEACAgjD,EAAOhjD,EAAO,GAClBs6G,EAAqBt3D,GAAQ,IAC7Bg3D,GAA4B,GAHxB,2CAZR,uDAiBGh0G,OAAM,SAAC5K,GACNnH,QAAQC,IAAI,QAASkH,GACrB4+G,GAA4B,MAKlC,SAASgB,GAAUpqH,GACjBqpH,GAAqB,GACrB,IAAIxjG,EAAa7lB,EAAM6lB,WACvB,GAAIA,EAAW/c,OAAS,EAAG,CACzB,IAAIy8G,EAAiB1/F,EAAW7hB,KAAI,SAACwF,GAAD,OAAOA,EAAEpK,SAC7CymB,EAAa,eAAiB0/F,EAAe59G,KAAK,qBAElDke,EAAa,GAGf,IAAIvQ,EAAY,IAAIC,QACpBD,EAAUE,OAAO,gBAAjB,iBAA4CpX,GAAG8L,OAAOC,WAAWyK,QACjEU,EAAUE,OAAO,eAAgB,oBACjCF,EAAUE,OAAO,eAAgB,UACjC,IAAIC,EAAiB,CACnBjB,OAAQ,MACRC,iBAAiB,EACjBC,QAASY,EACTI,SAAU,UAEZpB,MAAM,GAAD,OACAxP,OAAOyP,QADP,6CACmDsR,EADnD,sBAC2E7lB,EAAMkL,UADjF,oBACsGlL,EAAMoL,QAD5G,sBACiIpL,EAAM8iB,UADvI,wBACgK9iB,EAAM4iB,aACzKnN,GAECZ,KAJH,wCAIQ,WAAOC,GAAP,0FACqBA,EAASE,OAD9B,cAEe,OADbD,EADF,SAGF2gB,EAAQ3sB,KAAK,cAHX,SAKe+L,EAAS1N,OALxB,cAKE5E,EALF,yBAMGyS,QAAQC,IAAI,CAACH,EAAYvS,KAN5B,2CAJR,uDAYGqS,KAZH,wCAYQ,WAAOzF,GAAP,wEACAgjD,EAAOhjD,EAAO,GAClBw6G,EAAcx3D,GAAQ,IACtBi3D,GAAqB,GAHjB,2CAZR,uDAiBGj0G,OAAM,SAAC5K,GACNnH,QAAQC,IAAI,QAASkH,GACrB6+G,GAAqB,MAK3B,SAASgB,GAAerqH,GACtBspH,GAA0B,GAC1B,IAAIzjG,EAAa7lB,EAAM6lB,WACvB,GAAIA,EAAW/c,OAAS,EAAG,CACzB,IAAIy8G,EAAiB1/F,EAAW7hB,KAAI,SAACwF,GAAD,OAAOA,EAAEpK,SAC7CymB,EAAa,eAAiB0/F,EAAe59G,KAAK,qBAElDke,EAAa,GAGf,IAAIvQ,EAAY,IAAIC,QACpBD,EAAUE,OAAO,gBAAjB,iBAA4CpX,GAAG8L,OAAOC,WAAWyK,QACjEU,EAAUE,OAAO,eAAgB,oBACjCF,EAAUE,OAAO,eAAgB,UACjC,IAAIC,EAAiB,CACnBjB,OAAQ,MACRC,iBAAiB,EACjBC,QAASY,EACTI,SAAU,UAEZpB,MAAM,GAAD,OACAxP,OAAOyP,QADP,kDACwDsR,EADxD,sBACgF7lB,EAAMkL,UADtF,oBAC2GlL,EAAMoL,QADjH,sBACsIpL,EAAM8iB,UAD5I,wBACqK9iB,EAAM4iB,aAC9KnN,GAECZ,KAJH,wCAIQ,WAAOC,GAAP,0FACqBA,EAASE,OAD9B,cAEe,OADbD,EADF,SAGF2gB,EAAQ3sB,KAAK,cAHX,SAKe+L,EAAS1N,OALxB,cAKE5E,EALF,yBAMGyS,QAAQC,IAAI,CAACH,EAAYvS,KAN5B,2CAJR,uDAYGqS,KAZH,wCAYQ,WAAOzF,GAAP,wEACAgjD,EAAOhjD,EAAO,GAClBu6G,EAAmBv3D,GAAQ,IAC3Bk3D,GAA0B,GAHtB,2CAZR,uDAiBGl0G,OAAM,SAAC5K,GACNnH,QAAQC,IAAI,QAASkH,GACrB8+G,GAA0B,MAKhC,OAtQAv1G,qBAAU,YAQV,WACEk1G,GAAmB,GACnB,IAAI3zG,EAAY,IAAIC,QACpBD,EAAUE,OAAO,gBAAjB,iBAA4CpX,GAAG8L,OAAOC,WAAWyK,QACjEU,EAAUE,OAAO,eAAgB,oBACjCF,EAAUE,OAAO,eAAgB,UACjC,IAAIC,EAAiB,CACnBjB,OAAQ,MACRC,iBAAiB,EACjBC,QAASY,EACTI,SAAU,UAEZpB,MAAM,GAAD,OAAIxP,OAAOyP,QAAX,cAAgCkB,GAClCZ,KADH,wCACQ,WAAOC,GAAP,0FACqBA,EAASE,OAD9B,cAEe,OADbD,EADF,SAGF2gB,EAAQ3sB,KAAK,cAHX,SAKe+L,EAAS1N,OALxB,cAKE5E,EALF,yBAMGyS,QAAQC,IAAI,CAACH,EAAYvS,KAN5B,2CADR,uDASGqS,KATH,wCASQ,WAAOzF,GAAP,wEACAgjD,EAAOhjD,EAAO,GAClBo6G,EAAgBp3D,GAAQ,IACxB62D,GAAmB,GAHf,2CATR,uDAcG7zG,OAAM,SAAC5K,GACNnH,QAAQC,IAAI,QAASkH,GACrBy+G,GAAmB,MAnCvBqB,GACAJ,GAAYhF,IACZiF,GAAiBjF,IACjBmF,GAAenF,IACfkF,GAAUlF,MACT,IAiQD,oCACE,yBAAKjlH,UAAU,6DACb,yBAAKA,UAAU,aACb,yBAAKA,UAAU,eACb,yBAAKA,UAAU,cACb,wBAAIA,UAAU,cAAd,uBAEF,0BAAMA,UAAU,wFAEd,yBAAKA,UAAU,SACb,yBAAKmE,MAAM,cACT,2BAAOnE,UAAU,sBAAjB,aACA,kBAACsqH,GAAA,EAAD,CACEtkH,KAAK,aACLqvC,SAAO,EACPj1C,GAAG,aACHoD,MAAM,YACN+nB,QAAQ,sBACRnc,YAAY,kBACZjQ,MAAO8lH,GAAWr/F,WAClBkD,eAAgB,CACd/U,gBAAiB,CACfyX,QAAS,sBACTxX,QAAQ,IAGZmG,QAASmvG,EAAavlH,KAAI,SAACgnB,GAAD,MAAiB,CACzC5rB,MAAO4rB,EAAWnnB,GAClBJ,MAAOunB,EAAWC,gBAEpB3b,SAAU,SAACC,GACT,IAAIwd,EAAG,eAAQm4F,IACfn4F,EAAIlH,WAAmB,OAANtW,EAAa,GAAKA,EACnC06G,GAAYl9F,GACZi9F,GAAcj9F,GACdm9F,GAAYn9F,GACZo9F,GAAiBp9F,GACjBs9F,GAAet9F,GACfq9F,GAAUr9F,MAGbi8F,GAAmB,kBAAC36F,GAAA,EAAD,QAGxB,yBAAKpuB,UAAU,SACb,yBAAKmE,MAAM,cACT,2BAAOnE,UAAU,sBAAjB,QACA,kBAAC,mBAAD,CACEiL,UAC2B,OAAzBg6G,GAAWh6G,WACX1J,KAAO0jH,GAAWh6G,WAAWzB,OAAO,cAEtC2B,QACyB,OAAvB85G,GAAW95G,SACX5J,KAAO0jH,GAAW95G,SAAS3B,OAAO,cAEpC6F,SAAU,SAACpE,EAAWE,GACpB,IAAI2hB,EAAG,eAAQm4F,IACfn4F,EAAI7hB,UACY,OAAdA,EACI,KACA1J,KAAO0J,GAAWzB,OAAO,cAC/BsjB,EAAI3hB,QACU,OAAZA,EACI,KACA5J,KAAO4J,GAAS3B,OAAO,cAC7BugH,GAAcj9F,GACdk9F,GAAYl9F,GACZm9F,GAAYn9F,GACZo9F,GAAiBp9F,GACjBs9F,GAAet9F,GACfq9F,GAAUr9F,IAEZktC,WAAW,aACXxa,qBAAqB,aACrBC,mBAAmB,WACnBz/C,UAAU,oBACVm6D,aAAa,aAInB,0BAAMn6D,UAAU,mDAChB,yBAAKA,UAAU,SACb,yBAAKmE,MAAM,cACT,2BAAOnE,UAAU,sBAAjB,QACA,kBAACsqH,GAAA,EAAD,CACE7pD,cAAc,EACdvmD,aAAW,EACXC,QAASyvG,EAAS7lH,KAAI,SAACgnB,GAAD,MAAiB,CACrC5rB,MACE4rB,EAAW1K,YAAc,IAAM0K,EAAWhL,cAC5Cvc,MACEunB,EAAW1K,YACX,MACA0K,EAAWhL,cACb4C,YAAaoI,EAAWpI,YACxBE,UAAWkI,EAAWlI,cAExBxT,SAAU,SAACC,GACT,IAAIwd,EAAG,eAAQm4F,IACfn4F,EAAIg9F,KACI,OAANx6G,EAAa,IAAM,OAADA,QAAC,IAADA,OAAA,EAAAA,EAAG+Q,cAAH,OAAiB/Q,QAAjB,IAAiBA,OAAjB,EAAiBA,EAAGyQ,eACxC+M,EAAInK,YAAoB,OAANrT,EAAa,GAAb,OAAkBA,QAAlB,IAAkBA,OAAlB,EAAkBA,EAAGqT,YACvCmK,EAAIjK,UAAkB,OAANvT,EAAa,GAAb,OAAkBA,QAAlB,IAAkBA,OAAlB,EAAkBA,EAAGuT,UACrConG,GAAYn9F,GACZo9F,GAAiBp9F,GACjBs9F,GAAet9F,GACfq9F,GAAUr9F,GACVi9F,GAAcj9F,MAGjBm8F,GAAe,kBAAC76F,GAAA,EAAD,QAKpB,4BACErrB,KAAK,SACL/C,UAAU,wDAEV,0BAAMA,UAAU,wBAEd,yBACEm4D,MAAM,6BACNywD,WAAW,+BACXxyG,MAAM,OACNQ,OAAO,OACPyhD,QAAQ,YACRC,QAAQ,OAER,uBACEC,OAAO,OACPC,YAAa,EACbC,KAAK,OACLC,SAAS,WAET,0BAAM7wD,EAAG,EAAGoU,EAAG,EAAG7F,MAAO,GAAIQ,OAAQ,KACrC,0BACE5K,EAAE,qVACFysD,KAAK,UACLC,SAAS,UACTrF,QAAQ,QAEV,0BACErnD,EAAE,gSACFysD,KAAK,UACLC,SAAS,iBAQrB,wBACE14D,UAAU,+CACVyoH,oBAAkB,SAClB3pF,KAAK,WAEL,wBAAI9+B,UAAU,YACZ,uBACE0I,KAAM,mBAAM,MACZ1I,UAAS,gCACC,IAARsH,GAAY,4BAA8B,IAE5C6X,cAAY,MACZ1S,QAAS,WACPg7G,GAAO,GACPC,GAAe,KARnB,MAcF,wBAAI1nH,UAAU,YACZ,uBACE0I,KAAM,mBAAM,MACZ1I,UAAS,gCACC,IAARsH,GAAY,4BAA8B,IAE5C6X,cAAY,MACZ1S,QAAS,WACPg7G,GAAO,GACPC,GAAe,KARnB,mBAcF,wBAAI1nH,UAAU,YACZ,uBACE0I,KAAM,mBAAM,MACZ1I,UAAS,gCACC,IAARsH,GAAY,4BAA8B,IAE5C6X,cAAY,MACZ1S,QAAS,WACPg7G,GAAO,GACPC,GAAe,KARnB,kBAcF,wBAAI1nH,UAAU,YACZ,uBACE0I,KAAM,mBAAM,MACZ1I,UAAS,gCACC,IAARsH,GAAY,4BAA8B,IAE5C6X,cAAY,MACZ1S,QAAS,WACPg7G,GAAO,GACPC,GAAe,KARnB,mBAkBR,yBAAK1nH,UAAU,mCACb,yBAAKA,UAAS,mBAAsB,IAARsH,GAAY,SAAW,KACjD,kBAACo8G,GAAD,CACEC,YAAaA,EACbzjE,YAAaA,EACb+kE,WAAYA,GACZjlH,UAAU,2BAGd,yBAAKA,UAAS,mBAAsB,IAARsH,GAAY,SAAW,KACjD,kBAAC4+G,GAAD,CACEE,yBAA0BA,EAC1BD,kBAAmBA,EACnBlB,WAAYA,GACZjlH,UAAU,2BAGd,yBAAKA,UAAS,mBAAsB,IAARsH,GAAY,SAAW,KACjD,kBAAC++G,GAAD,CACEE,kBAAmBA,EACnBD,WAAYA,EACZrB,WAAYA,GACZjlH,UAAU,2BAGd,yBAAKA,UAAS,mBAAsB,IAARsH,GAAY,SAAW,KACjD,kBAAC0S,GAAA,EAAD,KACE,kBAACS,GAAA,EAAD,CAAKmxC,GAAG,KACN,kBAAC+6D,GAAD,CACEE,uBAAwBA,EACxBD,gBAAiBA,EACjB3B,WAAYA,GACZjlH,UAAU,2BAGd,kBAACya,GAAA,EAAD,CAAKmxC,GAAG,KACN,kBAAC07D,GAAD,CACET,uBAAwBA,EACxBD,gBAAiBA,EACjB3B,WAAYA,GACZjlH,UAAU,+BAOtB,kBAAC2oH,GAAD,CAAoB3oH,UAAU,2BCpkB7B,IAAMuqH,GAAoB,WAG7B,OAAQ,oCAAE,kBAACzB,GAAD,Q,WCJP,SAAS0B,KACZ,OACI,kBAAC,KAAD,M,eCFD,SAASC,KACZ,OACI,kBAAC,KAAD,M,eCFD,SAASC,KACZ,OACI,kBAAC,KAAD,M,eCFD,SAASC,KACZ,OACI,kBAAC,KAAD,M,uBCDD,SAASC,KAEZ,OAEQ,yBAAK5qH,UAAU,OACX,yBAAKA,UAAU,aACX,yBAAMA,UAAU,qDACZ,yBAAKA,UAAU,eACf,wBAAIA,UAAU,kCAAd,uBAEA,yBAAKA,UAAU,aACf,uEAGA,yBAAKA,UAAU,UACf,kBAACslC,GAAA,EAAD,KACI,kBAACA,GAAA,EAAK9qB,MAAN,CAAYxa,UAAU,YAClB,kBAACslC,GAAA,EAAKrrB,MAAN,sBACA,kBAACqrB,GAAA,EAAK3qB,QAAN,CAAc5X,KAAK,OAAOqM,YAAY,wBACtC,kBAACk2B,GAAA,EAAKgpC,KAAN,CAAWtuE,UAAU,gBAIzB,kBAACslC,GAAA,EAAK9qB,MAAN,CAAYxa,UAAU,YAClB,kBAACslC,GAAA,EAAKrrB,MAAN,gBACA,kBAACqrB,GAAA,EAAK3qB,QAAN,CAAc5X,KAAK,OAAOqM,YAAY,aAE1C,kBAACokB,GAAA,EAAD,CAAQG,QAAQ,UAAU5wB,KAAK,UAA/B,WAIJ,yBAAK/C,UAAU,oCACf,kBAACwzB,GAAA,EAAD,CAAQG,QAAQ,WAAhB,Y,eCjCjB,SAASk3F,KACZ,OACI,kBAAC,KAAD,M,m1MCQD,SAASC,KACZ,IA+BA,EAAwC99G,mBA/Bf,CACrB+4B,SAAU,GACVC,SAAU,GACV+kF,yBAAyB,EACzBC,iBAAiB,EACjB96F,KAAM,GACNlF,YAAa,GACbub,QAAS,GACT0kF,SAAU,GACV/mF,MAAO,GACPW,IAAK,GACLqmF,UAAW,GACXhlF,YAAa,GACbilF,wBAAyB,GACzBC,oBAAqB,GACrBC,kBAAmB,GACnBC,mBAAoB,GACpBC,0BAA2B,GAC3BC,oBAAqB,GACrBC,0BAA2B,GAC3BC,sBAAuB,GACvBC,oBAAqB,GACrBC,qBAAsB,GACtBC,4BAA6B,GAC7BC,sBAAuB,GACvB7+F,MAAO,GACP8+F,SAAU,GACVC,YAAa,GACbC,WAAY,GACZhmF,QAAS,KAEb,oBAAOimF,EAAP,KAAqBC,EAArB,KACA,EAAkCn/G,mBAAS,IAA3C,oBAAOo/G,EAAP,KAAkBC,EAAlB,KACA,EAA4Br/G,mBAAS,IAArC,oBAAOqf,EAAP,KAAeC,EAAf,KACA,EAAwCtf,oBAAS,GAAjD,oBAAO6L,EAAP,KAAqBggB,EAArB,KACA,EAAsD7rB,oBAAS,GAA/D,oBAAOs/G,EAAP,KAA4BC,EAA5B,KACMC,EAAgBtrG,OAAaC,MAAM,CACrC6J,YAAa9J,OACRtO,SAAS,4BACd04G,mBAAoBpqG,OACftO,SAAS,oCACdw4G,oBAAqBlqG,OAChBtO,SAAS,uCAGlBkB,qBAAU,WACNs5B,MACD,IAEH,IAAMA,EAAc,wCAAG,kHAEM9qB,IAAM3M,IAAI,mBAFhB,cAETxG,EAFS,gBAGemT,IAAM3M,IAAI,gCAHzB,UAGT82G,EAHS,OAIO,MAAlBt9G,EAAO4F,OAJI,kCAKgBuN,IAAM3M,IAAN,oCAAuCxG,EAAO5M,KAAKgkC,UALnE,QAMiB,OADtBmmF,EALK,QAMM33G,QACT23G,EAAanqH,KAAKsG,OAAS,GAC3ByjB,EAAUogG,EAAanqH,MAE/B4pH,EAAgBh9G,EAAO5M,MACvB/D,SAASsR,eAAe,SAAS3Q,MAAQgQ,EAAO5M,KAAK0qB,MACrDzuB,SAASsR,eAAe,mBAAmBgnB,QAAU3nB,EAAO5M,KAAKyoH,gBACjExsH,SAASsR,eAAe,2BAA2BgnB,QAAU3nB,EAAO5M,KAAKwoH,wBACzEwB,GAAuB,GAdZ,QAgBgB,MAA3BE,EAAgB13G,QAChBs3G,EAAaI,EAAgBlqH,MAjBlB,4GAAH,qDAsBdsrB,EAAmB,wCAAG,WAAO5Z,GAAP,2EACxB4kB,GAAgB,GAChBvM,EAAU,IACiB,KAAvBrY,EAAMrE,OAAOzQ,OAAsC,OAAtB8U,EAAMrE,OAAOke,KAHtB,gCAICxL,IAAM3M,IAAN,oCAAuC1B,EAAMrE,OAAOzQ,QAJrD,OAKE,OADhBgQ,EAJc,QAKT4F,SACH5F,EAAO5M,KAAKsG,OAAS,EACrByjB,EAAUnd,EAAO5M,MAEjB3C,YAAa,UAAW,yCATZ,OAYxBi5B,GAAgB,GAZQ,2CAAH,sDAgBnB8zF,EAAW,wCAAG,WAAOvgB,GAAP,0FACK9pF,IAAM4D,IAAN,kBAA6B,CAAEkmF,YADpC,QAEY,KADtBj9F,EADU,QAEL5M,KAAK4gG,QACZvjG,YAAa,UAAW,wCAGlB8Z,OAA8B5T,IAAxBqJ,EAAO5M,KAAKsT,QAAwB,iEAAmE1G,EAAO5M,KAAKsT,QAC/HjW,YAAa,QAAS8Z,IAPV,2CAAH,sDAUjB,OACI,kBAAC,KAAD,KACI,kBAAC,KAAKjI,KAAN,KACI,kBAAC,KAAD,CACI+Q,cAAe0pG,EACfzpG,iBAAkB+pG,EAClBjqG,oBAAoB,EACpBG,SAAU,SAACxb,GACPylH,EAAYzlH,MAEf,gBAAG6b,EAAH,EAAGA,aAAc7P,EAAjB,EAAiBA,cAAjB,OACG,oCACI,kBAACoyB,GAAA,EAAD,KACI,kBAACA,GAAA,EAAKtrB,IAAN,KACI,yBAAKha,UAAU,eACX,wBAAIA,UAAU,iCAAd,mCACA,wBAAIA,UAAU,mCAElB,yBAAKA,UAAU,eACX,yBAAKA,UAAU,SACX,kBAACslC,GAAA,EAAKrrB,MAAN,sBACA,kBAAC,KAAD,CAAOvL,UAAW2f,KAAOtrB,KAAK,OAAOiD,KAAK,cAAcoJ,YAAY,KACnEk9G,GAAuB,kBAACl+F,GAAA,EAAD,CAAgBrf,MAAM,iBAW1D,6BAAM,6BACN,kBAACu2B,GAAA,EAAKtrB,IAAN,KACI,yBAAKha,UAAU,eACX,wBAAIA,UAAU,iCAAd,mBACA,wBAAIA,UAAU,mCAGlB,yBAAKA,UAAU,cACX,kBAACslC,GAAA,EAAKrrB,MAAN,iBACA,kBAAC,KAAD,CAAOvL,UAAW2f,KAAOtrB,KAAK,OAAOiD,KAAK,WAAWoJ,YAAY,KAChEk9G,GAAuB,kBAACl+F,GAAA,EAAD,CAAgBrf,MAAM,eAGlD,yBAAK/O,UAAU,SACX,kBAACslC,GAAA,EAAKrrB,MAAN,iBACA,kBAAC,KAAD,CAAOvL,UAAW2f,KAAOtrB,KAAK,OAAOiD,KAAK,WAAWoJ,YAAY,KAChEk9G,GAAuB,kBAACl+F,GAAA,EAAD,CAAgBrf,MAAM,eAGlD,yBAAK/O,UAAU,SACX,kBAACslC,GAAA,EAAKrrB,MAAN,aACA,kBAAC,KAAD,CAAOvL,UAAW2f,KAAOtrB,KAAK,OAAOiD,KAAK,OAAOoJ,YAAY,KAC5Dk9G,GAAuB,kBAACl+F,GAAA,EAAD,CAAgBrf,MAAM,eAElD,yBAAK/O,UAAU,cACX,kBAACslC,GAAA,EAAKrrB,MAAN,gBACA,kBAAC,KAAD,CAAQja,UAAU,eAAegG,KAAK,UAAU5F,GAAG,UAAUiP,SAAU,SAAC4E,GACpE4Z,EAAoB5Z,GACpBf,EAAc,UAAWe,EAAMrE,OAAOzQ,SAEtC,4BAAQmI,IAAI,GAAGnI,MAAM,IAArB,oBACCitH,EAAUroH,KAAI,SAACC,EAAMC,GAAP,OACX,4BAAQqD,IAAKrD,EAAO9E,MAAO6E,EAAK4oH,KAAM5oH,EAAKH,UAGlDyoH,GAAuB,kBAACl+F,GAAA,EAAD,CAAgBrf,MAAM,eAElD,yBAAK/O,UAAU,SACX,kBAACslC,GAAA,EAAKrrB,MAAN,WACA,4BAAQja,UAAU,eAAegG,KAAK,QAAQ5F,GAAG,QAAQiP,SAAU,SAAC4E,GAChEf,EAAc,QAASe,EAAMrE,OAAOzQ,SAEpC,4BAAQmI,IAAI,GAAGnI,MAAM,IAArB,kBACCktB,EAAOtoB,KAAI,SAACC,EAAMC,GAAP,OACR,4BAAQqD,IAAKrD,EAAO9E,MAAO6E,EAAKH,MAAOG,EAAKH,UAGnDgV,GAAgB,kBAACuV,GAAA,EAAD,CAAgBrf,MAAM,eAE3C,yBAAK/O,UAAU,SACX,kBAACslC,GAAA,EAAKrrB,MAAN,YACA,kBAAC,KAAD,CAAOvL,UAAW2f,KAAOtrB,KAAK,OAAOiD,KAAK,UAAUoJ,YAAY,KAC3Dk9G,GAAuB,kBAACl+F,GAAA,EAAD,CAAgBrf,MAAM,gBAI1D,kBAACu2B,GAAA,EAAKtrB,IAAN,KACI,yBAAKha,UAAU,eACX,wBAAIA,UAAU,iCAAd,sBACA,wBAAIA,UAAU,mCAElB,yBAAKA,UAAU,cACX,kBAACslC,GAAA,EAAKrrB,MAAN,kBACA,kBAAC,KAAD,CAAOvL,UAAW2f,KAAOtrB,KAAK,OAAOiD,KAAK,cAAcoJ,YAAY,KAC/Dk9G,GAAuB,kBAACl+F,GAAA,EAAD,CAAgBrf,MAAM,eAEtD,yBAAK/O,UAAU,cACX,kBAACslC,GAAA,EAAKrrB,MAAN,oBACA,kBAAC,KAAD,CAAOvL,UAAW2f,KAAOtrB,KAAK,OAAOiD,KAAK,YAAYoJ,YAAY,KAC7Dk9G,GAAuB,kBAACl+F,GAAA,EAAD,CAAgBrf,MAAM,eAEtD,yBAAK/O,UAAU,cACX,kBAACslC,GAAA,EAAKrrB,MAAN,oBACA,kBAAC,KAAD,CAAOvL,UAAW2f,KAAOtrB,KAAK,OAAOiD,KAAK,aAAaoJ,YAAY,KAC9Dk9G,GAAuB,kBAACl+F,GAAA,EAAD,CAAgBrf,MAAM,eAEtD,yBAAK/O,UAAU,cACX,kBAACslC,GAAA,EAAKrrB,MAAN,YACA,kBAAC,KAAD,CAAOvL,UAAW2f,KAAOtrB,KAAK,OAAOiD,KAAK,MAAMoJ,YAAY,KACvDk9G,GAAuB,kBAACl+F,GAAA,EAAD,CAAgBrf,MAAM,eAEtD,yBAAK/O,UAAU,cACX,kBAACslC,GAAA,EAAKrrB,MAAN,cACA,kBAAC,KAAD,CAAOvL,UAAW2f,KAAOtrB,KAAK,OAAOiD,KAAK,WAAWoJ,YAAY,KAC5Dk9G,GAAuB,kBAACl+F,GAAA,EAAD,CAAgBrf,MAAM,eAEtD,yBAAK/O,UAAU,cACX,kBAACslC,GAAA,EAAKrrB,MAAN,qBACA,kBAAC,KAAD,CAAOvL,UAAW2f,KAAOtrB,KAAK,OAAOiD,KAAK,QAAQoJ,YAAY,KACzDk9G,GAAuB,kBAACl+F,GAAA,EAAD,CAAgBrf,MAAM,eAEtD,yBAAK/O,UAAU,cACX,kBAACslC,GAAA,EAAKrrB,MAAN,kBACA,kBAAC,KAAD,CAAOvL,UAAW2f,KAAOtrB,KAAK,OAAOiD,KAAK,WAAWoJ,YAAY,KAC5Dk9G,GAAuB,kBAACl+F,GAAA,EAAD,CAAgBrf,MAAM,eAEtD,yBAAK/O,UAAU,cACX,kBAACslC,GAAA,EAAKrrB,MAAN,qBACA,kBAAC,KAAD,CAAOvL,UAAW2f,KAAOtrB,KAAK,OAAOiD,KAAK,cAAcoJ,YAAY,KAC/Dk9G,GAAuB,kBAACl+F,GAAA,EAAD,CAAgBrf,MAAM,gBAI1D,6BAAM,6BACN,kBAACu2B,GAAA,EAAKtrB,IAAN,KACI,yBAAKha,UAAU,eACX,wBAAIA,UAAU,mCAElB,yBAAKA,UAAU,eACX,wBAAIA,UAAU,iCAAd,mBACA,kBAACslC,GAAA,EAAKtrB,IAAN,KACI,yBAAKha,UAAU,mBACX,kBAACslC,GAAA,EAAKrrB,MAAN,cACA,kBAAC,KAAD,CAAOvL,UAAW2f,KAAOtrB,KAAK,OAAOiD,KAAK,qBAAqBoJ,YAAY,KAC9Ek9G,GAAuB,kBAACl+F,GAAA,EAAD,CAAgBrf,MAAM,eAE9C,yBAAK/O,UAAU,mBACX,kBAACslC,GAAA,EAAKrrB,MAAN,cACA,kBAAC,KAAD,CAAOvL,UAAW2f,KAAOtrB,KAAK,OAAOiD,KAAK,4BAA4BoJ,YAAY,KACrFk9G,GAAuB,kBAACl+F,GAAA,EAAD,CAAgBrf,MAAM,eAE9C,yBAAK/O,UAAU,cACX,kBAACslC,GAAA,EAAKrrB,MAAN,mBACA,kBAAC,KAAD,CAAOvL,UAAW2f,KAAOtrB,KAAK,OAAOiD,KAAK,0BAA0BoJ,YAAY,KACnFk9G,GAAuB,kBAACl+F,GAAA,EAAD,CAAgBrf,MAAM,eAE9C,yBAAK/O,UAAU,cACX,kBAACslC,GAAA,EAAKrrB,MAAN,eACA,kBAAC,KAAD,CAAOvL,UAAW2f,KAAOtrB,KAAK,OAAOiD,KAAK,sBAAsBoJ,YAAY,KAC/Ek9G,GAAuB,kBAACl+F,GAAA,EAAD,CAAgBrf,MAAM,eAE9C,yBAAK/O,UAAU,cACX,kBAACslC,GAAA,EAAKrrB,MAAN,cACA,kBAAC,KAAD,CAAOvL,UAAW2f,KAAOtrB,KAAK,OAAOiD,KAAK,sBAAsBoJ,YAAY,KAC/Ek9G,GAAuB,kBAACl+F,GAAA,EAAD,CAAgBrf,MAAM,eAE9C,yBAAK/O,UAAU,cACX,kBAACslC,GAAA,EAAKrrB,MAAN,YACA,kBAAC,KAAD,CAAOvL,UAAW2f,KAAOtrB,KAAK,OAAOiD,KAAK,oBAAoBoJ,YAAY,KAC7Ek9G,GAAuB,kBAACl+F,GAAA,EAAD,CAAgBrf,MAAM,iBAItD,yBAAK/O,UAAU,eACX,wBAAIA,UAAU,iCAAd,qBACA,kBAACslC,GAAA,EAAKtrB,IAAN,KACI,yBAAKha,UAAU,mBACX,kBAACslC,GAAA,EAAKrrB,MAAN,aACA,kBAAC,KAAD,CAAOvL,UAAW2f,KAAOtrB,KAAK,OAAOiD,KAAK,uBAAuBoJ,YAAY,KAChFk9G,GAAuB,kBAACl+F,GAAA,EAAD,CAAgBrf,MAAM,eAE9C,yBAAK/O,UAAU,mBACX,kBAACslC,GAAA,EAAKrrB,MAAN,cACA,kBAAC,KAAD,CAAOvL,UAAW2f,KAAOtrB,KAAK,OAAOiD,KAAK,8BAA8BoJ,YAAY,KACvFk9G,GAAuB,kBAACl+F,GAAA,EAAD,CAAgBrf,MAAM,eAE9C,yBAAK/O,UAAU,cACX,kBAACslC,GAAA,EAAKrrB,MAAN,mBACA,kBAAC,KAAD,CAAOvL,UAAW2f,KAAOtrB,KAAK,OAAOiD,KAAK,4BAA4BoJ,YAAY,KACrFk9G,GAAuB,kBAACl+F,GAAA,EAAD,CAAgBrf,MAAM,eAE9C,yBAAK/O,UAAU,cACX,kBAACslC,GAAA,EAAKrrB,MAAN,cACA,kBAAC,KAAD,CAAOvL,UAAW2f,KAAOtrB,KAAK,OAAOiD,KAAK,wBAAwBoJ,YAAY,KACjFk9G,GAAuB,kBAACl+F,GAAA,EAAD,CAAgBrf,MAAM,eAE9C,yBAAK/O,UAAU,cACX,kBAACslC,GAAA,EAAKrrB,MAAN,cACA,kBAAC,KAAD,CAAOvL,UAAW2f,KAAOtrB,KAAK,OAAOiD,KAAK,wBAAwBoJ,YAAY,KACjFk9G,GAAuB,kBAACl+F,GAAA,EAAD,CAAgBrf,MAAM,eAE9C,yBAAK/O,UAAU,cACX,kBAACslC,GAAA,EAAKrrB,MAAN,YACA,kBAAC,KAAD,CAAOvL,UAAW2f,KAAOtrB,KAAK,OAAOiD,KAAK,sBAAsBoJ,YAAY,KAC/Ek9G,GAAuB,kBAACl+F,GAAA,EAAD,CAAgBrf,MAAM,kBAK1D,6BAAM,6BACN,kBAACu2B,GAAA,EAAKtrB,IAAN,KACI,yBAAKha,UAAU,eACX,wBAAIA,UAAU,iCAAd,uBACA,wBAAIA,UAAU,mCAElB,yBAAKA,UAAU,eACX,yBAAKA,UAAU,6BACX,0BAAMA,UAAU,kCAChB,2BAAOA,UAAU,sFACb,2BAAO+C,KAAK,WAAWiD,KAAK,kBAAkB5F,GAAG,kBAAkBiP,SAAU,SAAC4E,GAAYf,EAAc,kBAAmBe,EAAMrE,OAAOknB,UAAa33B,MAAM,MAC3J,gCAEJ,yBAAKa,UAAU,kCACX,uBAAGA,UAAU,sEAAb,wCAMhB,6BAAM,6BACN,kBAACslC,GAAA,EAAKtrB,IAAN,KACI,yBAAKha,UAAU,eACX,wBAAIA,UAAU,iCAAd,sBACA,wBAAIA,UAAU,mCAElB,yBAAKA,UAAU,UACX,yBAAKA,UAAU,6BACX,0BAAMA,UAAU,kCAChB,2BAAOA,UAAU,sFACb,2BAAO+C,KAAK,WAAWiD,KAAK,0BAA0B5F,GAAG,0BAA0BiP,SAAU,SAAC4E,GAAYf,EAAc,0BAA2Be,EAAMrE,OAAOknB,UAAa33B,MAAM,MACnL,gCAEJ,yBAAKa,UAAU,kCACX,uBAAGA,UAAU,sEAAb,sEAGR,uBAAGA,UAAU,QAAb,0IAIR,wBAAIA,UAAU,kCACd,6BAAM,6BAEN,yBAAKA,UAAU,eACX,kBAACwzB,GAAA,EAAD,CAAQnzB,GAAG,QAAQ0C,KAAK,SAAS0J,QAAS,kBAAMsW,KAAgB/iB,UAAU,cAAcif,UAAQ,EAAC9f,MAAM,iB,eC7WpI,SAAS0tH,KACZ,OACI,kBAAC,KAAD,M,eCFD,SAASC,KACZ,OACI,kBAAC,KAAD,M,iCCCU72G,cAAW,SAAAC,GAAK,MAAK,CACnCC,KAAM,CACFC,MAAO,OACPE,UAAWJ,EAAMK,QAAQ,GACzBC,UAAW,QAEfohB,eAAgB,CACZC,WAAY,QAEhBk1F,MAAO,CACH5lG,QAAS,Y,eCbV,SAAS6lG,KACZ,OACI,kBAAC,KAAD,M,eCFD,SAASC,KACZ,OACI,kBAAC,KAAD,M,eCFD,SAASC,KACZ,OACI,kBAAC,KAAD,M,eCFD,SAASC,KACZ,OACI,kBAAC,KAAD,M,eCFD,SAASC,KACZ,OACI,kBAAC,KAAD,M,eCFD,SAASC,KACZ,OACI,kBAAC,KAAD,M,4CCaF/1G,GAAYrB,cAAW,SAACC,GAAD,MAAY,CACvC0V,UAAW,CACTzE,QAAS,OACTG,SAAU,QAEZuE,UAAW,CACTzU,WAAYlB,EAAMK,QAAQ,GAC1BW,YAAahB,EAAMK,QAAQ,IAE7B4hB,MAAO,CACL7hB,UAAWJ,EAAMK,QAAQ,IAE3B6hB,KAAM,CACJhiB,MAAO,KAETD,KAAM,CACJC,MAAO,QAET67D,QAAS,CACP5tE,SAAU,OACVyS,WAAYZ,EAAMgpB,WAAWgzC,mBAE/Bo7C,WAAY,CACV15G,OAAQ,sBACRwT,QAAS,OAEXmmG,OAAQ,CACNx+G,MAAO,QAETy+G,UAAW,CACT5lG,gBAAiB,UACjB7Y,MAAO,UACPunC,aAAc,QAEhBm3E,QAAS,CACP1+G,MAAO,UACP1K,SAAU,uBAGP,SAASqpH,KACd,IAAMntH,EAAU+W,KAEhB,OACE,kBAAC,KAAD,KACE,kBAAC,KAAK7F,KAAN,KACE,yBAAKzR,UAAWO,EAAQ4V,MACtB,kBAACg9D,GAAA,EAAD,KACE,kBAACrpD,GAAA,EAAD,KACE,yBAAK9pB,UAAU,OACb,yBAAKA,UAAU,aACb,wBAAIA,UAAWO,EAAQgtH,QAAvB,0BAIJ,yBAAKvtH,UAAU,OACb,yBAAKA,UAAU,aACb,yBAAKA,UAAU,OACb,yBAAKA,UAAU,aACb,yBAAKA,UAAWO,EAAQ+sH,YACtB,yBAAKttH,UAAU,OACb,yBAAKA,UAAU,aACb,kBAAC+oB,GAAA,EAAD,CACEvlB,MAAM,UACNxD,UAAWO,EAAQsrB,UACnB7U,OAAO,SACP2c,QAAQ,WACR1K,WAAY,OAIlB,6BACA,yBAAKjpB,UAAU,OACb,yBAAKA,UAAU,kBACb,kBAAC+oB,GAAA,EAAD,CACEvlB,MAAM,UACNxD,UAAWO,EAAQsrB,UACnB7U,OAAO,SACP2c,QAAQ,WACR1K,WAAY,OAMlB,yBAAKjpB,UAAU,OACb,yBAAKA,UAAU,aACb,yBAAKA,UAAU,kCACb,0BAAMA,UAAU,kCAChB,2BAAOA,UAAU,sFACf,2BAAO+C,KAAK,WAAWiD,KAAK,GAAGqJ,SAAU,aAAWlQ,MAAM,MAC1D,gCAEF,yBAAKa,UAAU,kCACb,uBAAGA,UAAU,sEAAb,qBAWlB,yBAAKA,UAAU,yBACb,4BACE+C,KAAK,SACL/C,UAAU,yCAFZ,QAMA,4BACE+C,KAAK,SACL/C,UAAU,yCAFZ,cAMA,4BACE+C,KAAK,SACL/C,UAAU,yCAFZ,gBCrHhB,IAAMsX,GAAYrB,cAAW,SAACC,GAAD,MAAY,CACvC0V,UAAW,CACTzE,QAAS,OACTG,SAAU,QAEZuE,UAAW,CACTzU,WAAYlB,EAAMK,QAAQ,GAC1BW,YAAahB,EAAMK,QAAQ,IAE7B4hB,MAAO,CACL7hB,UAAWJ,EAAMK,QAAQ,IAE3B6hB,KAAM,CACJhiB,MAAO,KAETD,KAAM,CACJC,MAAO,QAET67D,QAAS,CACP5tE,SAAU,OACVyS,WAAYZ,EAAMgpB,WAAWgzC,mBAE/Bo7C,WAAY,CACV15G,OAAQ,sBACRwT,QAAS,OAEXmmG,OAAQ,CACNx+G,MAAO,QAETy+G,UAAW,CACT5lG,gBAAiB,UACjB7Y,MAAO,UACPunC,aAAc,QAEhBm3E,QAAS,CACP1+G,MAAO,UACP1K,SAAU,uBAGP,SAASspH,KACd,IAAMptH,EAAU+W,KAEhB,OACE,kBAAC,KAAD,KACE,kBAAC,KAAK7F,KAAN,KACE,yBAAKzR,UAAWO,EAAQ4V,MACtB,kBAACg9D,GAAA,EAAD,KACE,kBAACrpD,GAAA,EAAD,KACE,yBAAK9pB,UAAU,OACb,yBAAKA,UAAU,aACb,wBAAIA,UAAWO,EAAQgtH,QAAvB,2BAIJ,yBAAKvtH,UAAU,OACb,yBAAKA,UAAU,aACb,yBAAKA,UAAU,OACb,yBAAKA,UAAU,aACb,yBAAKA,UAAWO,EAAQ+sH,YACtB,yBAAKttH,UAAU,OACb,yBAAKA,UAAU,aACb,kBAAC+oB,GAAA,EAAD,CACEvlB,MAAM,UACNxD,UAAWO,EAAQsrB,UACnB7U,OAAO,SACP2c,QAAQ,WACR1K,WAAY,OAIlB,6BACA,yBAAKjpB,UAAU,OACb,yBAAKA,UAAU,kBACb,kBAAC+oB,GAAA,EAAD,CACEvlB,MAAM,UACNxD,UAAWO,EAAQsrB,UACnB7U,OAAO,SACP2c,QAAQ,WACR1K,WAAY,OAKlB,yBAAKjpB,UAAU,OACb,yBAAKA,UAAU,aACb,yBAAKA,UAAU,kCACb,0BAAMA,UAAU,kCAChB,2BAAOA,UAAU,sFACf,2BAAO+C,KAAK,WAAWiD,KAAK,GAAGqJ,SAAU,aAAWlQ,MAAM,MAC1D,gCAEF,yBAAKa,UAAU,kCACb,uBAAGA,UAAU,sEAAb,qBAWlB,yBAAKA,UAAU,yBACb,4BACE+C,KAAK,SACL/C,UAAU,yCAFZ,QAMA,4BACE+C,KAAK,SACL/C,UAAU,yCAFZ,gB,eC7HT,SAAS4tH,KACZ,OACI,kBAAC,KAAD,MCHD,SAASC,KACZ,OACI,kBAACA,GAAD,M,sDCmBD,SAASC,GAAT,GAA4D,IAAD,IAArCC,qBAAqC,MAArB,GAAqB,MAAjB9mG,gBAAiB,MAAN,GAAM,EAChE,EAA8Bja,mBAAS,IAAvC,oBAAOb,EAAP,KAAgB6hH,EAAhB,KAEAl6G,qBAAU,WACR,GAA6B,IAAzBi6G,EAAcllH,OAAlB,CACA,IAAId,EAAO,GAEXkf,EAAS/lB,SAAQ,SAACiP,GAChBpI,EAAKe,KAAK,CACRsD,UAAS,OAAE+D,QAAF,IAAEA,OAAF,EAAEA,EAAShR,MACpBF,KAAI,OAAEkR,QAAF,IAAEA,OAAF,EAAEA,EAAS3M,MACfkJ,MAAM,EACNC,UAAWA,IACXC,yBACAP,UAAW,SAACC,EAAM9E,GAChB,OA2DH,SAAuBA,EAAKyU,GACjC,IAAMpU,EAAC,OAAGoU,QAAH,IAAGA,OAAH,EAAGA,EAAG9c,MACR,GAAI8uH,GAAcpmH,EAAG,QAAS,OAAOqmH,aAAe1mH,EAAIK,IACxD,GAAIomH,GAAcpmH,EAAG,OAAQ,OA2D7B,WAAwC,IAAhB86E,EAAe,wDAC5C,OACE,oCACGA,EACC,kBAAClpC,GAAA,EAAD,CACEjtC,QAAS,kBAAC4wB,GAAA,EAAD,CAASh9B,GAAG,yBAAZ,QAET,uBAAGJ,UAAU,sDACX,0BAAMA,UAAU,wCACd,uBAAGmE,MAAM,iCAKf,0BAAMnE,UAAU,uCACd,uBAAGmE,MAAM,+BA1EwBgqH,CAAe3mH,EAAIK,IACvD,GAAIomH,GAAcpmH,EAAG,OAAQ,OAAOumH,aAAY5mH,EAAIK,IACpD,GAAIomH,GAAcpmH,EAAG,QAAS,OAAOwmH,aAAiB7mH,EAAIK,IAC1D,GAAU,cAANA,EAAmB,OAAOymH,aAAkB9mH,EAAIK,IACpD,GAAU,cAANA,EAAmB,CAC1B,QAAwB/B,IAApB0B,EAAI+mH,YACN,OACE,kBAACC,GAAA,EAAD,CACE5qH,GAAI4D,EAAI+mH,YACR/xD,UAAWh1D,EAAIg1D,UACfm6B,aAAa,IAGZ,QAAwB7wF,IAApB0B,EAAI,YACb,OACE,kBAACgnH,GAAA,EAAD,CACE5qH,GAAI4D,EAAI,YACRg1D,UAAWh1D,EAAIg1D,UACfm6B,aAAa,IAGZ,QAAsB7wF,IAAlB0B,EAAIonD,UACb,OACE,kBAAC4/D,GAAA,EAAD,CACE5qH,GAAI4D,EAAIonD,UACR4N,UAAWh1D,EAAIg1D,UACfm6B,aAAa,QAId,IAAU,OAAN9uF,EAkBJ,MAAU,YAANA,EAEP,kBAAC,KAAD,CACEmvF,QAASxvF,EAAIsvF,QACb12F,GAAIoH,EAAIqiD,SACRwY,aAAa,IAGP76D,EAAIK,GAzBd,QAAwB/B,IAApB0B,EAAI+mH,YACN,OACE,kBAACC,GAAA,EAAD,CACE5qH,GAAI4D,EAAI+mH,YACR/xD,UAAWh1D,EAAIs0D,GACf66B,aAAa,IAGZ,QAAsB7wF,IAAlB0B,EAAIonD,UACb,OACE,kBAAC4/D,GAAA,EAAD,CACE5qH,GAAI4D,EAAIonD,UACR4N,UAAWh1D,EAAIs0D,GACf66B,aAAa,KA1GN83B,CAAcjnH,EAAK2I,SAKhC69G,EAAWjmH,MACV,CAACgmH,IAEJ,IACMx/F,EAAkB,CACtB,CAAEtvB,KAAM,IAAKE,MAAO,GACpB,CAAEF,KAAM,KAAME,MAAO,IACrB,CAAEF,KAAM,KAAME,MAAO,IACrB,CACEF,KAAM,MACNE,MAAO4uH,EAAcllH,SAIzB,OACE,oCACGsD,EAAQtD,OAAS,GAChB,kBAAC,KAAD,CACE8H,SAAU,MACVk0C,iBACE,wBAAIzgD,MAAO,CAAEsM,UAAW,WAAxB,6CAIFnO,KAAMwrH,EAAchqH,KAAI,SAACC,EAAMC,GAC7B,IAAI1B,EAAOyB,EAEX,OADAzB,EAAK+E,IAAMrD,EACJ1B,KAET4J,QAASA,EACTyE,cA3Bc,CAAC,CAAExE,UAAW,QAASyE,MAAO,SA4B5CC,WAAYC,KAAkB,CAC5BqpC,WAAW,EACXrlB,YACEg5F,EAAcllH,QAAU,IAAMklH,EAAcllH,OAAS,GACvD0lB,gBAAiBA,IAEnBvd,eAAe,6BACfzQ,QAAQ,gDACR0Q,YAAU,EACVC,UAAU,KAOpB,SAAS+8G,GAAcv7G,EAAO+mF,GAAM,IAAD,IACjC,cAAO/mF,QAAP,IAAOA,GAAP,UAAOA,EACHhD,cADJ,iBAAO,EAEHR,qBAFJ,aAAO,EAGHS,SAAS8pF,EAAI/pF,OAAOR,e,s2MCvE1B,IAAMjR,GAAU,IAAIC,IAAa,MAC3BC,GAAKC,IAAIH,IAER,SAASywH,KACd,MAA4B1hH,mBAAS,IAArC,oBAAO5F,EAAP,KAAeunH,EAAf,KACA,EAA0C3hH,mBAAS,IAAnD,oBAAO+gH,EAAP,KAAsBa,EAAtB,KACA,EAA8B5hH,oBAAS,GAAvC,oBAAOk2G,EAAP,KAAgBjqG,EAAhB,KACA,EAAgCjM,mBAAS,IAAzC,oBAAOia,EAAP,KAAiB4nG,EAAjB,KACA,EAA0C7hH,mBAAS,IAAnD,oBAAO8hH,EAAP,KAAsBC,EAAtB,KAEA,EAA0B/hH,mBAAS,CACjCgiH,WAAY,MACZC,MAAO,CAAC,CAAEv8G,MAAO,cAAew8G,SAAU,IAAK/vH,MAAO,OAFxD,oBAAOgwH,EAAP,KAAcC,EAAd,KASA,OAJAt7G,qBAAU,YA8IZ,SAAkB66G,GAChBt6G,MAAM,GAAD,OAAIxP,OAAOyP,QAAX,8BAAgD,CACnDC,OAAQ,MACRC,iBAAiB,EACjBC,QAAS,CACPiL,OAAQ,oCACRhL,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,sBAGjBC,KAVH,wCAUQ,WAAOC,GAAP,0FACqBA,EAASE,OAD9B,cACED,EADF,gBAEeD,EAAS1N,OAFxB,cAEE5E,EAFF,yBAGGyS,QAAQC,IAAI,CAACH,EAAYvS,KAH5B,2CAVR,uDAeGqS,KAfH,wCAeQ,WAAOM,GAAP,2EAGJnN,GAFIA,EADA,UACOmN,EAAI,UADX,QACiB,IAET3F,QAAO,SAAC1H,GAAD,OAAOA,EAAEwnH,kBAEvBnuH,SAAQ,SAACiP,GACZA,EAAQnK,KAAOmK,EAAQtM,KACvBsM,EAAQ3M,MAAQ2M,EAAQ8J,SAG1B00G,EAAU5mH,GAVN,2CAfR,uDA2BGoN,OAAM,SAAC5K,GACNnH,QAAQmH,MAAMA,MA1KhBm5D,CAASirD,KACR,IAGD,oCACE,kBAACxtF,GAAA,EAAD,KACE,6DACA,0BAAMn7B,KAAK,cAAc4a,QAAQ,iCAGnC,yBAAK5gB,UAAU,aACb,yBAAKA,UAAU,+CACb,wBAAIA,UAAU,YAAd,iBACA,kBAACsvH,GAAD,CAAiBvB,cAAeA,KAGlC,yBAAK/tH,UAAU,aACb,yBAAKA,UAAU,QACb,gDACA,kBAAC,KAAD,CACEI,GAAG,oBACHi1C,SAAO,EACPrvC,KAAK,oBACLmU,QAAS/S,EAAOrD,KAAI,SAAC8D,GACnB,MAAO,CACL1I,MAAO0I,EAAEhE,KACTL,MAAK,OAAEqE,QAAF,IAAEA,OAAF,EAAEA,EAAGoS,UAGdja,UAAU,qBACVs1C,gBAAgB,SAChBjmC,SAAU,SAACC,GACT,IAAKA,GAAmB,KAAb,OAADA,QAAC,IAADA,OAAA,EAAAA,EAAGzG,QAEX,OADAkmH,EAAiB,KACV,EAMTF,EAAYv/G,QAKX,OAANlI,QAAM,IAANA,OAAA,EAAAA,EAAQyB,QAAS,GAChB,oCACE,wCACA,kBAAC,KAAD,CACEzB,OAAQA,EACR+nH,MAAOA,EACPI,cAAe,SAAC7zG,GACd0zG,EAAS1zG,IAEX8zG,aAAcA,GACdC,kBAAmBA,MAIzB,yBAAKzvH,UAAU,oBACb,4BACE+C,KAAK,SACLoQ,SAAU+vG,EACVz2G,QAAS,WACP,IAAIijH,EAAWC,aAAYR,EAAO,QA8GlD,SAAmBxyE,EAAOiyE,EAAkB31G,GAC1C21G,EAAiB,IACjB31G,GAAW,GACX5E,MAAM,GAAD,OAAIxP,OAAOyP,QAAX,2BAA6C,CAChDC,OAAQ,OACRC,iBAAiB,EACjBC,QAAS,CACPiL,OAAQ,oCACRhL,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,oBAElBvV,KAAM2B,KAAKE,UAAU07C,KAEpB/nC,KAXH,wCAWQ,WAAOC,GAAP,0FACqBA,EAASE,OAD9B,cACED,EADF,gBAEeD,EAAS1N,OAFxB,cAEE5E,EAFF,yBAGGyS,QAAQC,IAAI,CAACH,EAAYvS,KAH5B,2CAXR,uDAgBGqS,KAhBH,wCAgBQ,WAAOM,GAAP,0EACW,MAAXA,EAAI,GACN05G,EAAiB15G,EAAI,KAEjBwE,EADC,UACKxE,EAAI,UADT,aACK,EAAQW,UACTjW,YAAa,QAAS8Z,GAEjCT,GAAW,GAPP,2CAhBR,uDAyBG9D,OAAM,SAAC5K,GACN3K,YAAa,QAAS,YAlIZ40C,CARU,CACRo7E,aAAc3oG,EAASljB,KAAI,SAACC,GAC1B,OAAOA,EAAK7E,SAEd0wH,cAAe,GACfC,cAAehB,EACfiB,WAAYL,GAECd,EAAkB31G,IAEnCjZ,UAAU,4CAETkjH,GACC,kBAACpjE,GAAA,EAAD,CACEz/C,GAAG,OACHorD,UAAU,SACV3sB,KAAK,SACL4sB,cAAY,OACZ1rD,UAAU,SAvBhB,UA6BD+tH,EAAcllH,OAAS,GACtB,kBAACilH,GAAD,CAAYC,cAAeA,EAAe9mG,SAAUA,IAG5B,IAAzB8mG,EAAcllH,SAAiBq6G,GAC9B,oCACE,kBAAC8M,GAAD,UASd,IAAMR,GAAe,CACnBS,QAAS,CACPzsH,MACE,oCACE,uBAAGxD,UAAU,4BADf,SAMJkwH,SAAU,CACR1sH,MACE,oCACE,uBAAGxD,UAAU,4BADf,UAMJmwH,WAAY,CACV3sH,MAAO,uBAAGxD,UAAU,iBACpBof,MAAO,gBAILqwG,GAAoB,CACxBW,UAAW,qCACXF,SAAU,iCACVD,QAAS,+BACTI,WAAY,2BACZC,UAAW,2BACXC,YAAa,wBACbJ,WAAY,8BACZK,YAAa,oBACbppH,OAAQ,oBACRqpH,UAAW,oBACXtxH,MAAO,gBAqET,SAAS6wH,KACP,MAA4BhjH,oBAAS,GAArC,oBAAO0jH,EAAP,KAAeC,EAAf,KAQA,OANA78G,qBAAU,WACR5N,YAAW,WACTyqH,GAAU,KACT,OACF,IAGD,oCACID,EAaA,yBAAK1wH,UAAU,yBACb,kBAAC8/C,GAAA,EAAD,CACE1/C,GAAG,iBACHqrD,UAAU,OACV3sB,KAAK,SACLnL,QAAQ,UACRxiB,KAAK,KACL/M,MAAO,CAAEgS,MAAO,QAASQ,OAAQ,UAEjC,0BAAM5W,UAAU,WAAhB,gBArBJ,yBAAKA,UAAU,uBACb,yBAAKA,UAAU,oCACb,uBACEA,UAAU,oBACVoE,MAAO,CAAEC,SAAU,OAAQgvD,QAAS,MAEtC,uBAAGrzD,UAAU,wBAAwBoE,MAAO,CAAEivD,QAAS,KAAvD,qBAuBZ,SAASi8D,GAAT,GAA6C,IAAlBvB,EAAiB,EAAjBA,cACzB,EAAgCrjG,IAAM1d,SAAS,MAA/C,oBAAO6lB,EAAP,KAAiBC,EAAjB,KAEMvyB,EAAU+W,eAUhB,OACE,oCACE,kBAACic,GAAA,EAAD,CACEvzB,UAAU,2CACVoE,MAAO,CAAEqhC,IAAK,OAAQpd,MAAO,MAE7B,kBAAC,KAAD,CACEjkB,MAAO,CAAEikB,MAAO,KAAM/jB,SAAU,YAChCmvB,gBAAc,kBACdC,gBAAc,OACdC,QAAQ,WACR5kB,MAAM,UACNtC,QApBR,SAAqBwH,GACnB6e,EAAY7e,EAAM+e,iBAad,YASE,kBAACY,GAAA,EAAD,CAAM5zB,UAAWO,EAAQ4W,WAAzB,SAEF,kBAAC,KAAD,CACE/W,GAAG,kBACHyyB,SAAUA,EACVgB,aAAW,EACXC,KAAMC,QAAQlB,GACdmB,QA3BR,WACEx1B,SAASoyH,cAAcC,OACvB/9F,EAAY,QA2BN,kBAAC,KAAD,CACErmB,QAAS,WACP,IACE/L,aAAOqtH,EAAe,QAAhB,iBACN,MAAOluH,GACPuD,QAAQC,IAAIxD,MAIhB,kBAACo0B,GAAA,EAAD,KACE,uBAAGj0B,UAAU,uBAEf,kBAACk0B,GAAA,EAAD,CAAc/I,QAAQ,WAExB,kBAAC,KAAD,CACE1e,QAAS,WACP,IACE/L,aAAOqtH,EAAe,MAAhB,iBACN,MAAOluH,GACPuD,QAAQC,IAAIxD,MAIhB,kBAACo0B,GAAA,EAAD,KACE,uBAAGj0B,UAAU,qBAEf,kBAACk0B,GAAA,EAAD,CAAc/I,QAAQ,SAExB,kBAAC,KAAD,CACE1e,QAAS,WACP,IACE/L,aAAOqtH,EAAe,OAAhB,iBACN,MAAOluH,GACPuD,QAAQC,IAAIxD,MAIhB,kBAACo0B,GAAA,EAAD,KACE,uBAAGj0B,UAAU,sBAEf,kBAACk0B,GAAA,EAAD,CAAc/I,QAAQ,a,2yMCnWlC,IAAMltB,GAAU,IAAIC,IAAa,MAC3BC,GAAKC,IAAIH,IAER,SAAS6yH,KACd,MAAkC9jH,mBAAS,IAA3C,oBAAOksD,EAAP,KAAkB6V,EAAlB,KACA,EAAoC/hE,mBAAS,IAA7C,oBAAO+jH,EAAP,KAAmBC,EAAnB,KACA,EAA8BhkH,oBAAS,GAAvC,oBAAOk2G,EAAP,KAAgBjqG,EAAhB,KACA,EAAsCjM,oBAAS,GAA/C,oBAAOikH,EAAP,KAAoBC,EAApB,KACA,EAA4BlkH,mBAAS,IAArC,oBAAOuC,EAAP,KAAe4hH,EAAf,KAMA,OAJAr9G,qBAAU,YA2MZ,SAAkBi7D,EAAciiD,EAAe/3G,GAC7CA,GAAW,GACX5E,MAAM,GAAD,OAAIxP,OAAOyP,QAAX,8BAAgD,CACnDC,OAAQ,MACRC,iBAAiB,EACjBC,QAAS,CACPiL,OAAQ,oCACRhL,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,sBAGjBC,KAVH,wCAUQ,WAAOC,GAAP,0FACqBA,EAASE,OAD9B,cACED,EADF,gBAEeD,EAAS1N,OAFxB,cAEE5E,EAFF,yBAGGyS,QAAQC,IAAI,CAACH,EAAYvS,KAH5B,2CAVR,uDAeGqS,KAfH,wCAeQ,WAAOM,GAAP,kEACJ65D,EAAa75D,EAAI,IACjB87G,EAAc97G,EAAI,IAClB+D,GAAW,GAHP,2CAfR,uDAoBG9D,OAAM,SAAC5K,GACNnH,QAAQmH,MAAMA,GACd0O,GAAW,MAlObyqD,CAASqL,EAAciiD,EAAe/3G,KACrC,IAGD,oCACE,kBAACkoB,GAAA,EAAD,KACE,6DACA,0BAAMn7B,KAAK,cAAc4a,QAAQ,iCAGnC,yBAAK5gB,UAAU,aACb,yBACEA,UAAU,yCACVoE,MAAO,CAAEE,SAAU,QAASmhC,IAAK,QAASrd,OAAQ,IAAKhS,MAAO,QAE9D,yBAAKpW,UAAU,sBACb,yBAAKA,UAAU,SACb,wBAAIA,UAAU,YAAd,4BAEF,yBAAKA,UAAU,SACb,2BACE+C,KAAK,OACL/C,UAAU,eACVoP,YAAY,2BACZC,SAAU,SAACC,GAAO,IAAD,IACf6hH,EAAS,UAAC7hH,EAAEM,OAAOzQ,aAAV,iBAAC,EAAgB+P,qBAAjB,aAAC,EAA+BQ,YAI/C,yBAAK1P,UAAU,SACb,4BACE+C,KAAK,SACLoQ,SAA+B,IAArB+lD,EAAUrwD,OACpB4D,QAAS,YAqMzB,SAAmBkwC,EAAOu0E,GACxBA,GAAe,GACf78G,MAAM,GAAD,OAAIxP,OAAOyP,QAAX,gCAAkD,CACrDC,OAAQ,OACRC,iBAAiB,EACjBC,QAAS,CACPiL,OAAQ,oCACRhL,cAAc,UAAD,OAAYvW,GAAG8L,OAAOC,WAAWyK,OAC9C,eAAgB,SAChB,eAAgB,oBAElBvV,KAAM2B,KAAKE,UAAU,CAAEmwH,SAAUz0E,MAEhC/nC,KAXH,wCAWQ,WAAOC,GAAP,kFACqBA,EAASE,OAD9B,OAEe,MAFf,SAGFnV,YAAa,UAAW,WACxBsxH,GAAe,IAJb,2CAXR,uDAkBG/7G,OAAM,SAAC5K,GACN3K,YAAa,QAAS,SACtBsxH,GAAe,MA1NH18E,CAAUu8E,EAAYG,IAExBlxH,UAAU,uDAETixH,GACC,kBAACnxE,GAAA,EAAD,CACE1/C,GAAG,iBACHqrD,UAAU,OACV3sB,KAAK,SACLnL,QAAQ,UACRxiB,KAAK,KACL/M,MAAO,CACLgS,MAAO,OACPQ,OAAQ,OACRtS,SAAU,WACVmhC,IAAK,MACLvd,KAAM,QAGR,0BAAMloB,UAAU,WAAhB,eAvBN,WAgCN,yBAAKA,UAAU,YAAYoE,MAAO,CAAEkS,UAAW,SAC7C,kBAAC+6G,GAAD,CACEn4D,UAAWA,EACX6V,aAAcA,EACdgiD,WAAYA,EACZC,cAAeA,EACf9N,QAASA,EACT3zG,OAAQA,OAQpB,SAAS8hH,GAAT,GAMI,IAAD,IALDn4D,iBAKC,MALW,GAKX,EAJD6V,EAIC,EAJDA,aACAiiD,EAGC,EAHDA,cAGC,IAFD9N,eAEC,aADD3zG,cACC,MADQ,GACR,EACD,OACE,oCACE,yBAAKvP,UAAU,OACb,yBAAKA,UAAU,SACb,yBAAKA,UAAU,4CACb,qCAIJ,yBAAKA,UAAU,SACb,yBAAKA,UAAU,4CACb,sCAIJ,yBAAKA,UAAU,SACb,yBAAKA,UAAU,4CACb,+CAIJ,yBAAKA,UAAU,SACb,yBAAKA,UAAU,4CACb,iDAIJ,yBAAKA,UAAU,sBACZkjH,GACC,kBAACpjE,GAAA,EAAD,CACE1/C,GAAG,iBACHqrD,UAAU,OACV3sB,KAAK,SACLnL,QAAQ,UACRxiB,KAAK,KACL/M,MAAO,CAAEgS,MAAO,QAASQ,OAAQ,UAEjC,0BAAM5W,UAAU,WAAhB,gBAKLk5D,EAAU3pD,QACT,SAAC1H,GAAD,eACE,UAAAA,EAAEoS,MAAM/K,qBAAR,eAAuBS,SAASJ,MAAhC,UACA1H,EAAEhE,KAAKqL,qBADP,aACA,EAAsBS,SAASJ,OACjCxL,KAAI,SAAC8D,EAAG5D,GAAJ,OACJ,kBAAC,WAAD,CAAUqD,KAAM,OAADO,QAAC,IAADA,OAAA,EAAAA,EAAGhE,MAAO,IAAV,OAAegE,QAAf,IAAeA,OAAf,EAAeA,EAAGjE,KAC/B,yBAAK5D,UAAU,yBACb,kCAAI6H,QAAJ,IAAIA,OAAJ,EAAIA,EAAGhE,OAET,yBAAK7D,UAAU,cACb,2BACE+C,KAAK,OACL/C,UAAU,eACVwhB,aAAY,OAAE3Z,QAAF,IAAEA,OAAF,EAAEA,EAAGoS,MACjB5K,SAAU,SAAC4E,GAAW,IAAD,EACnBilD,EAAUj1D,GAAOgW,MAAjB,UAAyBhG,EAAMrE,cAA/B,aAAyB,EAAczQ,MACvC4vE,EAAa7V,GAEb83D,EAAc,IACd9qH,YAAW,WACT8qH,EAAc93D,KACb,OAIT,yBAAKl5D,UAAU,cACb,yBAAKA,UAAU,6BACb,2BAAOA,UAAU,wFACf,2BACE+C,KAAK,WACLiD,KAAK,WACLsrH,eAAc,OAAEzpH,QAAF,IAAEA,OAAF,EAAEA,EAAGwnH,cACnBhgH,SAAU,SAAC4E,GAAW,IAAD,IACnBilD,EAAUj1D,GAAOorH,cAAjB,oBACEp7G,EAAMrE,cADR,aACE,EAAcknB,eADhB,SAEAi4C,EAAa7V,GAEb83D,EAAc,IACd9qH,YAAW,WACT8qH,EAAc93D,KACb,MAGP,kCAIN,yBAAKl5D,UAAU,cACb,yBAAKA,UAAU,6BACb,2BAAOA,UAAU,wFACf,2BACE+C,KAAK,WACLiD,KAAK,WACLsrH,eAAc,OAAEzpH,QAAF,IAAEA,OAAF,EAAEA,EAAG0pH,eACnBliH,SAAU,SAAC4E,GAAW,IAAD,IACnBilD,EAAUj1D,GAAOstH,eAAjB,oBACEt9G,EAAMrE,cADR,aACE,EAAcknB,eADhB,SAEAi4C,EAAa7V,GAEb83D,EAAc,IACd9qH,YAAW,WACT8qH,EAAc93D,KACb,MAGP,wC,eC/MX,SAASs4D,KACZ,OACI,kBAAC,KAAD,MCDD,SAASC,KACZ,OAEI,kBAAC,KAAD,KACI,kBAAC,KAAKhgH,KAAN,KACI,kBAAC6zB,GAAA,EAAD,KACI,yBAAKnhC,MAAM,OACP,yBAAKA,MAAM,eAEP,6BAEA,0BAAMA,MAAM,mDACR,kBAAC,KAAD,CAAMnE,UAAU,wBAAwB+P,GAAG,6BAA3C,kCAGJ,uBAAG/P,UAAU,QAAb,4NACA,6BACA,0BAAMmE,MAAM,mDACR,kBAAC,KAAD,CAAMnE,UAAU,wBAAwB+P,GAAG,qBAA3C,wDAGJ,uBAAG/P,UAAU,QAAb,iHACkH,6BADlH,8GAE+G,6BAF/G,mLAII,6BAAM,6BAJV,6FAK8F,6BAL9F,kHAMmH,6BAAM,6BANzH,kBAOmB,4CAPnB,2FASA,6BAEA,0BAAMmE,MAAM,mDACR,kBAAC,KAAD,CAAMnE,UAAU,wBAAwB+P,GAAG,gBAA3C,iBAGJ,uBAAG/P,UAAU,QAAb,oHAEA,6BACA,0BAAMmE,MAAM,mDACR,kBAAC,KAAD,CAAMnE,UAAU,wBAAwB+P,GAAG,uBAA3C,yBAGJ,6BACA,6BACA,6BACA,0BAAM5L,MAAM,mDACR,kBAAC,KAAD,CAAMnE,UAAU,wBAAwB+P,GAAG,gBAA3C,sB,k4MCrCzB,SAAS2hH,KACZ,IAiCMnxH,EAjCY0V,cAAW,SAAAC,GAAK,MAAK,CACnCC,KAAM,CACFC,MAAO,QAEXC,MAAO,CACHC,UAAWJ,EAAMK,QAAQ,GACzBH,MAAO,OACPI,UAAW,OACXC,aAAcP,EAAMK,QAAQ,IAEhCG,MAAO,CACHC,SAAU,KAEdnP,IAAK,CACDoP,OAAQ,IAEZC,QAAS,CACLD,OAAQ,GACRE,WAAY,QAEhBC,OAAQ,CACJC,OAAQd,EAAMK,QAAQ,IAE1BU,SAAU,CACNC,YAAahB,EAAMK,QAAQ,IAE/BY,UAAW,CACPC,WAAYlB,EAAMK,QAAQ,IAE9Bc,UAAW,CACPhT,SAAU,OAGFiT,GAChB,EAAkCtK,mBAAS,IAA3C,oBAAOuK,EAAP,KAAkBC,EAAlB,KACA,EAAwCxK,oBAAS,GAAjD,oBAAOyK,EAAP,KAAqBC,EAArB,KACA,EAAkC1K,oBAAS,GAA3C,oBAAOqL,EAAP,KAAkBC,EAAlB,KACA,EAA0CtL,mBAAS,IAAnD,oBAAOyL,EAAP,KAAsBC,EAAtB,KACA,EAAgD1L,oBAAS,GAAzD,oBAAO2L,EAAP,KAAyBC,EAAzB,KACM+4G,EAAgB,CAAC,SAAS,SAAS,SAAS,YAElD79G,qBAAU,WACNoF,MACD,IAEH,IAAMA,EAAmB,wCAAG,8GAECoJ,IAAM3M,IAAI,mCAFX,OAGE,OADhBxG,EAFc,QAGT4F,QACP2D,EAAiBvJ,EAAO5M,MAJR,uGAAH,qDA2JzB,IAAM8W,EAAkB,wCAAG,0FACvBT,GAAoB,KACdgN,EAAapnB,SAASsR,eAAe,cAAc3Q,OAFlC,qBAKfsY,EALe,sBAMXF,EAAU1O,OAAS,GANR,iCAOQyZ,IAAMkD,KAAK,sBAAuB,CAAEI,WAAYA,EAAY6lF,SAAUl0F,IAP9E,QAQiB,KADxBpI,EAPO,QAQA5M,KAAK4gG,QACZvjG,YAAa,UAAW,6BAGxBA,YAAa,QAASuP,EAAO5M,KAAKsT,SAZ3B,wBAgBXjW,YAAa,QAAS,yCAhBX,gCAoBfA,YAAa,QAAS,yCApBP,gCAwBnBA,YAAa,QAAS,6BAxBH,QA0BvBgZ,GAAoB,GA1BG,4CAAH,qDAiCxB,OAEI,kBAAC,KAAD,KACI,kBAAC,KAAKnH,KAAN,KACI,kBAAC6zB,GAAA,EAAD,KACI,kBAACA,GAAA,EAAKtrB,IAAN,KACI,yBAAKha,UAAU,SACX,kBAACslC,GAAA,EAAKrrB,MAAN,0BACA,4BAAQja,UAAU,mBAAmBgG,KAAK,aAAa5F,GAAG,aAAaqM,QAAS,cAC5E,4BAAQnF,IAAI,GAAGnI,MAAM,IAArB,qBACCsZ,EAAc1U,KAAI,SAACC,EAAMC,GAAP,OACf,4BAAQqD,IAAKrD,EAAO9E,MAAO6E,EAAK5D,IAAK4D,EAAKgnB,mBAK1D,6BAAM,6BACN,kBAACsa,GAAA,EAAKtrB,IAAN,KACI,yBAAKha,UAAW,eACZ,wBAAIA,UAAU,iCAAd,eACA,wBAAIA,UAAU,mCAGlB,yBAAKA,UAAU,eACX,kBAACwlC,GAAA,EAAD,CAAO7R,QAAQ,QAAQ3zB,UAAU,QAAjC,gEAKJ,kBAACslC,GAAA,EAAK9qB,MAAN,CAAYna,GAAIoa,KAAKC,UAAU,oBAC3B,kBAAC4qB,GAAA,EAAKrrB,MAAN,gBACA,kBAAC,KAAD,CAAMja,UAAU,qCACZ,kBAACslC,GAAA,EAAK3qB,QAAN,CACI5X,KAAK,OACL6X,OAAO,8FACPvL,SA7MZ,SAAC4E,GACjByD,GAAgB,GAChBF,EAAa,IACbc,GAAa,GACb,IAAIuC,EAAU5G,EAAMrE,OAAOkL,MAAM,GACjC1X,QAAQC,IAAI,WACZD,QAAQC,IAAIwX,GACZE,yBAAcF,GAAS,SAAChb,EAAKmb,GACzB,GAAInb,GAAOmb,EAAKC,KAAKpS,OAAS,EAE1B,OADAyP,GAAa,IACN,EAEP,IAAI/O,EAAIyR,EAAKC,KAAK,GAAGrF,QAAQ,QACzB3Q,EAAI+V,EAAKC,KAAK,GAAGrF,QAAQ,QACzBnM,EAAIuR,EAAKC,KAAK,GAAGrF,QAAQ,WACzB5J,EAAIgP,EAAKC,KAAK,GAAGrF,QAAQ,YACzBtG,EAAI0L,EAAKC,KAAK,GAAGrF,QAAQ,YACzBsF,EAAIF,EAAKC,KAAK,GAAGrF,QAAQ,QACzBuF,EAAIH,EAAKC,KAAK,GAAGrF,QAAQ,SACzBwF,EAAIJ,EAAKC,KAAK,GAAGrF,QAAQ,OACzBhN,EAAIoS,EAAKC,KAAK,GAAGrF,QAAQ,WACzByF,EAAIL,EAAKC,KAAK,GAAGrF,QAAQ,QACzBtU,EAAI0Z,EAAKC,KAAK,GAAGrF,QAAQ,SACzB0F,EAAIN,EAAKC,KAAK,GAAGrF,QAAQ,SACzB2F,EAAIP,EAAKC,KAAK,GAAGrF,QAAQ,eACzB4F,EAAIR,EAAKC,KAAK,GAAGrF,QAAQ,eAC7B,IACW,IAAPrM,IACO,IAAPtE,IACO,IAAPwE,IACO,IAAPuC,IACO,IAAPsD,IACO,IAAP4L,IACO,IAAPC,IACO,IAAPC,IACO,IAAPxS,IACO,IAAPyS,IACO,IAAP/Z,IACO,IAAPga,IACO,IAAPC,IACO,IAAPC,EAGA,OADAlD,GAAa,IACN,EAGX,IAAI2C,EAAO,GACXD,EAAKC,KAAKxZ,MAAM,EAAGuZ,EAAKC,KAAKpS,QAAQ3H,SAAQ,SAACiP,EAASlM,GACnD,IAAIwY,EAAQ,EACRlS,EAAQ,QACOzE,IAAfqK,EAAQ1G,SACO3D,IAAfqK,EAAQnE,SACOlG,IAAfqK,EAAQ+K,SACOpV,IAAfqK,EAAQgL,SACOrV,IAAfqK,EAAQiL,SACOtV,IAAfqK,EAAQvH,SACO9C,IAAfqK,EAAQoL,SACOzV,IAAfqK,EAAQqL,KAERiB,EAAQ,EACRlS,EAAQ,2CAEOzE,IAAfqK,EAAQqL,IAAqBm2G,EAAahiH,SAASQ,EAAQqL,GAAGtM,iBAC9DuN,EAAQ,EACRlS,EAAQ,mFAGZ0Q,EAAKnS,KA8BrB,SACI6T,EACAzP,EACAgW,EACArf,EACAmnB,EACA+a,EACAC,EACA9V,EACAjD,EACAgZ,EACAM,EACAqrF,EACApwF,EACA0C,EACA2tF,EACA1hB,EACAvxF,GAEA,MAAO,CACHjC,QACAzP,QACAgW,OACArf,OACAmnB,cACA+a,WACAC,WACA9V,OACAjD,QACAgZ,UACAM,UACAqrF,OACApwF,QACA0C,QACA2tF,cACA1hB,cACAvxF,SAjEYC,CACIpC,EACAxY,EAAQ,EACRkM,EAAQ5G,GACR4G,EAAQlL,GACRkL,EAAQ1G,GACR0G,EAAQnE,GACRmE,EAAQb,GACRa,EAAQ+K,GACR/K,EAAQgL,GACRhL,EAAQiL,GACRjL,EAAQvH,GACRuH,EAAQkL,GACRlL,EAAQ7O,GACR6O,EAAQmL,GACRnL,EAAQoL,GACRpL,EAAQqL,GACRjR,OAIZnH,QAAQC,IAAI,QACZD,QAAQC,IAAI4X,GACZzD,EAAayD,GACb3C,GAAa,OAiH6BwG,KAAKC,MAC3BtS,QAxCd,SAACwH,GACfA,EAAMrE,OAAOzQ,MAAQ,IAuC0B2f,KAAKC,UAMpC,yBAAK/e,UAAU,eACX,kBAACwlC,GAAA,EAAD,CAAO7R,QAAQ,QAAQ3zB,UAAU,QAAjC,qDAKJ,yBAAKA,UAAU,mBACX,yBAAKA,UAAU,SACf,kBAACwzB,GAAA,EAAD,CAAQnzB,GAAG,QAAQ0C,KAAK,SAASgM,MAAM,YAAYkQ,UAAQ,EAAC9f,MAAM,SAC9Da,UAAU,wCACVyM,QAAS,YAvOV,WACvB,GAAI4L,EAGA,OAFAzY,YAAa,QAAS,yCACtB8X,GAAgB,IACT,EAEXA,GAAgB,GAkOYwH,SAOfzH,GACG,kBAAC6tB,GAAA,EAAKtrB,IAAN,CAAUha,UAAU,kBAChB,kBAACmpB,GAAA,EAAD,CAAOnpB,UAAWO,EAAQ8V,OACtB,kBAAC,KAAD,CAAOrW,UAAWO,EAAQmW,MAAOvF,KAAK,SAClC,kBAAC2qB,GAAA,EAAD,CAAW97B,UAAU,WACjB,kBAAC+7B,GAAA,EAAD,CAAU/7B,UAAWO,EAAQiH,KACzB,kBAACw0B,GAAA,EAAD,CAAWh8B,UAAU,cAArB,YACA,kBAACg8B,GAAA,EAAD,CAAWh8B,UAAU,cAArB,QACA,kBAACg8B,GAAA,EAAD,CAAWh8B,UAAU,cAArB,QACA,kBAACg8B,GAAA,EAAD,CAAWh8B,UAAU,cAArB,QACA,kBAACg8B,GAAA,EAAD,CAAWh8B,UAAU,cAArB,YACA,kBAACg8B,GAAA,EAAD,CAAWh8B,UAAU,cAArB,cACA,kBAACg8B,GAAA,EAAD,CAAWh8B,UAAU,cAArB,aACA,kBAACg8B,GAAA,EAAD,CAAWh8B,UAAU,cAArB,SACA,kBAACg8B,GAAA,EAAD,CAAWh8B,UAAU,cAArB,UACA,kBAACg8B,GAAA,EAAD,CAAWh8B,UAAU,cAArB,QACA,kBAACg8B,GAAA,EAAD,CAAWh8B,UAAU,cAArB,YACA,kBAACg8B,GAAA,EAAD,CAAWh8B,UAAU,cAArB,QACA,kBAACg8B,GAAA,EAAD,CAAWh8B,UAAU,cAArB,SACA,kBAACg8B,GAAA,EAAD,CAAWh8B,UAAU,cAArB,SACA,kBAACg8B,GAAA,EAAD,CAAWh8B,UAAU,cAArB,gBACA,kBAACg8B,GAAA,EAAD,CAAWh8B,UAAU,cAArB,kBAGR,kBAACm+B,GAAA,EAAD,KACK5mB,EAAUxT,KAAI,SAACyD,GAAD,OACX,kBAACu0B,GAAA,EAAD,CAAU/7B,UAAWO,EAAQsW,QAASvP,IAAKE,EAAI0F,OAC3C,kBAAC8uB,GAAA,EAAD,KACmB,IAAdx0B,EAAImV,OACD,uBAAGwC,cAAY,UAAUC,MAAM,QAAQpf,UAAU,sCAEtC,IAAdwH,EAAImV,OACD,uBAAGwC,cAAY,UAAUC,MAAO5X,EAAIoX,MAAO5e,UAAU,6CAG7D,kBAACg8B,GAAA,EAAD,KAAYx0B,EAAI0F,OAChB,kBAAC8uB,GAAA,EAAD,KAAYx0B,EAAI0b,MAChB,kBAAC8Y,GAAA,EAAD,KAAYx0B,EAAI3D,MAChB,kBAACm4B,GAAA,EAAD,KAAYx0B,EAAIwjB,aAChB,kBAACgR,GAAA,EAAD,KAAYx0B,EAAIu+B,UAChB,kBAAC/J,GAAA,EAAD,KAAYx0B,EAAIw+B,UAChB,kBAAChK,GAAA,EAAD,KAAYx0B,EAAI0oB,MAChB,kBAAC8L,GAAA,EAAD,KAAYx0B,EAAIylB,OAChB,kBAAC+O,GAAA,EAAD,KAAYx0B,EAAIy+B,SAChB,kBAACjK,GAAA,EAAD,KAAYx0B,EAAI++B,SAChB,kBAACvK,GAAA,EAAD,KAAYx0B,EAAIoqH,MAChB,kBAAC51F,GAAA,EAAD,KAAYx0B,EAAIg6B,OAChB,kBAACxF,GAAA,EAAD,KAAYx0B,EAAI08B,OAChB,kBAAClI,GAAA,EAAD,KAAYx0B,EAAIqqH,YAAYrrH,YAC5B,kBAACw1B,GAAA,EAAD,KAAYx0B,EAAI2oG,oBAMpC,yBAAKnwG,UAAU,sBAAf,IAAqC,2BAAIuX,EAAU1O,OAAS,EAAI0O,EAAU1O,OAAS,cAAgB,0BAA9D,OAE1C,IAEH,kBAACy8B,GAAA,EAAKtrB,IAAN,KACI,kBAACsrB,GAAA,EAAK9qB,MAAN,CAAYna,GAAIoa,KAAKC,UAAU,oBAC3B,kBAAC4qB,GAAA,EAAKrrB,MAAN,CAAYja,UAAU,8BAAtB,UACA,yBAAKA,UAAU,mCACX,uGAEJ,yBAAKA,UAAU,mCACX,qFAGJ,kBAACwzB,GAAA,EAAD,CAAQnzB,GAAG,QAAQlB,MAAOwZ,EAAmB,eAAgB,SAAU5V,KAAK,SAASkc,UAAQ,EAAC9L,SAAUwF,EAAkB3Y,UAAU,wCAChIyM,QAAS,WACL4M,Y,2yMC7W7B,SAASy4G,KACZ,IAiCMvxH,EAjCY0V,cAAW,SAAAC,GAAK,MAAK,CACnCC,KAAM,CACFC,MAAO,QAEXC,MAAO,CACHC,UAAWJ,EAAMK,QAAQ,GACzBH,MAAO,OACPI,UAAW,OACXC,aAAcP,EAAMK,QAAQ,IAEhCG,MAAO,CACHC,SAAU,KAEdnP,IAAK,CACDoP,OAAQ,IAEZC,QAAS,CACLD,OAAQ,GACRE,WAAY,QAEhBC,OAAQ,CACJC,OAAQd,EAAMK,QAAQ,IAE1BU,SAAU,CACNC,YAAahB,EAAMK,QAAQ,IAE/BY,UAAW,CACPC,WAAYlB,EAAMK,QAAQ,IAE9Bc,UAAW,CACPhT,SAAU,OAGFiT,GAChB,EAAkCtK,mBAAS,IAA3C,oBAAOuK,EAAP,KAAkBC,EAAlB,KACA,EAAwCxK,oBAAS,GAAjD,oBAAOyK,EAAP,KAAqBC,EAArB,KACA,EAAkC1K,oBAAS,GAA3C,oBAAOqL,EAAP,KAAkBC,EAAlB,KACA,EAAgDtL,oBAAS,GAAzD,oBAAO2L,EAAP,KAAyBC,EAAzB,KA4GA,IAAMS,EAAkB,wCAAG,wFACvBT,GAAoB,IAChBnB,EAFmB,sBAGfF,EAAU1O,OAAS,GAHJ,gCAIIyZ,IAAMkD,KAAK,yBAA0B,CAAEusG,MAAOx6G,IAJlD,QAKa,KADxBpI,EAJW,QAKJ5M,KAAK4gG,QACZvjG,YAAa,UAAW,6BAGxBA,YAAa,QAASuP,EAAO5M,KAAKsT,SATvB,uBAafjW,YAAa,QAAS,yCAbP,gCAiBnBA,YAAa,QAAS,yCAjBH,QAmBvBgZ,GAAoB,GAnBG,4CAAH,qDA2BxB,OAEI,kBAAC,KAAD,KACI,kBAAC,KAAKnH,KAAN,KACI,kBAAC6zB,GAAA,EAAD,KACI,kBAACA,GAAA,EAAKtrB,IAAN,KACA,kBAAC,KAAD,CAAMjK,GAAG,eAAe/P,UAAU,sBAC9B,uBAAGA,UAAU,qBADjB,QAII,yBAAKA,UAAW,eACZ,wBAAIA,UAAU,iCAAd,4BACA,wBAAIA,UAAU,mCAGlB,yBAAKA,UAAU,eACX,kBAACwlC,GAAA,EAAD,CAAO7R,QAAQ,QAAQ3zB,UAAU,QAAjC,qEAKJ,kBAACslC,GAAA,EAAK9qB,MAAN,CAAYna,GAAIoa,KAAKC,UAAU,oBAC3B,kBAAC4qB,GAAA,EAAKrrB,MAAN,gBACA,kBAAC,KAAD,CAAMja,UAAU,qCACZ,kBAACslC,GAAA,EAAK3qB,QAAN,CACI5X,KAAK,OACL6X,OAAO,8FACPvL,SAvJZ,SAAC4E,GACjByD,GAAgB,GAChBF,EAAa,IACbc,GAAa,GACb,IAAIuC,EAAU5G,EAAMrE,OAAOkL,MAAM,GACjC1X,QAAQC,IAAI,WACZD,QAAQC,IAAIwX,GACZE,yBAAcF,GAAS,SAAChb,EAAKmb,GACzB,GAAInb,GAAOmb,EAAKC,KAAKpS,OAAS,EAE1B,OADAyP,GAAa,IACN,EAEP,IAAI/O,EAAIyR,EAAKC,KAAK,GAAGrF,QAAQ,gBACzB3Q,EAAI+V,EAAKC,KAAK,GAAGrF,QAAQ,iBACzBnM,EAAIuR,EAAKC,KAAK,GAAGrF,QAAQ,WACzB5J,EAAIgP,EAAKC,KAAK,GAAGrF,QAAQ,gBACzBtG,EAAI0L,EAAKC,KAAK,GAAGrF,QAAQ,YACzBsF,EAAIF,EAAKC,KAAK,GAAGrF,QAAQ,UACzBuF,EAAIH,EAAKC,KAAK,GAAGrF,QAAQ,QAC7B,IACW,IAAPrM,IACO,IAAPtE,IACO,IAAPwE,IACO,IAAPuC,IACO,IAAPsD,IACO,IAAP4L,IACO,IAAPC,EAGA,OADA7C,GAAa,IACN,EAGX,IAAI2C,EAAO,GACXD,EAAKC,KAAKxZ,MAAM,EAAGuZ,EAAKC,KAAKpS,QAAQ3H,SAAQ,SAACiP,EAASlM,GACnD,IAAIwY,EAAQ,EACRlS,EAAQ,QACOzE,IAAfqK,EAAQ5G,SACOzD,IAAfqK,EAAQlL,SACOa,IAAfqK,EAAQ1G,SACO3D,IAAfqK,EAAQnE,SACOlG,IAAfqK,EAAQb,SACOxJ,IAAfqK,EAAQ+K,SACOpV,IAAfqK,EAAQgL,KAGRsB,EAAQ,EACRlS,EAAQ,sCAEZ0Q,EAAKnS,KAuBrB,SACI6T,EACAzP,EACAiT,EACA2lB,EACApP,EACA0M,EACAD,EACAtlB,EACAkb,EACAna,GAEA,MAAO,CACHjC,QACAzP,QACAiT,eACA2lB,gBACApP,UACA0M,eACAD,WACAtlB,SACAkb,OACAna,SA5CYC,CACIpC,EACAxY,EAAQ,EACRkM,EAAQ5G,GACR4G,EAAQlL,GACRkL,EAAQ1G,GACR0G,EAAQnE,GACRmE,EAAQb,GACRa,EAAQ+K,GACR/K,EAAQgL,GACR5Q,OAIZnH,QAAQC,IAAI,QACZD,QAAQC,IAAI4X,GACZzD,EAAayD,GACb3C,GAAa,OAqF6BwG,KAAKC,MAC3BtS,QAjCd,SAACwH,GACfuD,EAAa,IACbvD,EAAMrE,OAAOzQ,MAAQ,IA+B0B2f,KAAKC,UAMpC,yBAAK/e,UAAU,eACX,kBAACwlC,GAAA,EAAD,CAAO7R,QAAQ,QAAQ3zB,UAAU,QAAjC,qDAKJ,yBAAKA,UAAU,mBACX,yBAAKA,UAAU,SACf,kBAACwzB,GAAA,EAAD,CAAQnzB,GAAG,QAAQ0C,KAAK,SAASgM,MAAM,YAAYkQ,UAAQ,EAAC9f,MAAM,SAC9Da,UAAU,wCACVyM,QAAS,YAjLV,WACvB,GAAI4L,EAGA,OAFAzY,YAAa,QAAS,yCACtB8X,GAAgB,IACT,EAEXA,GAAgB,GA4KYwH,SAOfzH,GACG,kBAAC6tB,GAAA,EAAKtrB,IAAN,CAAUha,UAAU,kBAChB,kBAACmpB,GAAA,EAAD,CAAOnpB,UAAWO,EAAQ8V,OACtB,kBAAC,KAAD,CAAOrW,UAAWO,EAAQmW,MAAOvF,KAAK,SAClC,kBAAC2qB,GAAA,EAAD,CAAW97B,UAAU,WACjB,kBAAC+7B,GAAA,EAAD,CAAU/7B,UAAWO,EAAQiH,KACzB,kBAACw0B,GAAA,EAAD,CAAWh8B,UAAU,cAArB,YACA,kBAACg8B,GAAA,EAAD,CAAWh8B,UAAU,cAArB,QACA,kBAACg8B,GAAA,EAAD,CAAWh8B,UAAU,cAArB,iBACA,kBAACg8B,GAAA,EAAD,CAAWh8B,UAAU,cAArB,kBACA,kBAACg8B,GAAA,EAAD,CAAWh8B,UAAU,cAArB,YACA,kBAACg8B,GAAA,EAAD,CAAWh8B,UAAU,cAArB,iBACA,kBAACg8B,GAAA,EAAD,CAAWh8B,UAAU,cAArB,aACA,kBAACg8B,GAAA,EAAD,CAAWh8B,UAAU,cAArB,WACA,kBAACg8B,GAAA,EAAD,CAAWh8B,UAAU,cAArB,WAGR,kBAACm+B,GAAA,EAAD,KACK5mB,EAAUxT,KAAI,SAACyD,GAAD,OACX,kBAACu0B,GAAA,EAAD,CAAU/7B,UAAWO,EAAQsW,QAASvP,IAAKE,EAAI0F,OAC3C,kBAAC8uB,GAAA,EAAD,KACkB,GAAbx0B,EAAImV,OACD,uBAAGwC,cAAY,UAAUC,MAAM,QAAQpf,UAAU,sCAEvC,GAAbwH,EAAImV,OACD,uBAAGwC,cAAY,UAAUC,MAAO5X,EAAIoX,MAAO5e,UAAU,6CAG7D,kBAACg8B,GAAA,EAAD,KAAYx0B,EAAI0F,OAChB,kBAAC8uB,GAAA,EAAD,KAAYx0B,EAAI2Y,cAChB,kBAAC6b,GAAA,EAAD,KAAYx0B,EAAIs+B,eAChB,kBAAC9J,GAAA,EAAD,KAAYx0B,EAAIkvB,SAChB,kBAACsF,GAAA,EAAD,KAAYx0B,EAAI47B,cAChB,kBAACpH,GAAA,EAAD,KAAYx0B,EAAI27B,UAChB,kBAACnH,GAAA,EAAD,KAAYx0B,EAAIqW,QAChB,kBAACme,GAAA,EAAD,KAAYx0B,EAAIuxB,aAMpC,yBAAK/4B,UAAU,sBAAf,IAAqC,2BAAIuX,EAAU1O,OAAS,EAAI0O,EAAU1O,OAAS,oBAAsB,+BAApE,OAE1C,IAEH,kBAACy8B,GAAA,EAAKtrB,IAAN,KACI,kBAACsrB,GAAA,EAAK9qB,MAAN,CAAYna,GAAIoa,KAAKC,UAAU,oBAC3B,kBAAC4qB,GAAA,EAAKrrB,MAAN,CAAYja,UAAU,mCAAtB,UACA,yBAAKA,UAAU,mCACX,0FAGJ,kBAACwzB,GAAA,EAAD,CAAQnzB,GAAG,QAAQlB,MAAOwZ,EAAmB,eAAgB,SAAU5V,KAAK,SAASkc,UAAQ,EAAC9L,SAAUwF,EAAkB3Y,UAAU,wCAChIyM,QAAS,WACL4M,Y,6CC/R9B24G,GAAiBtgG,cAAW,SAAAxb,GAAK,MAAK,CACxCC,KAAM,CACF,YAAa,CACTG,UAAWJ,EAAMK,QAAQ,KAGjC1K,MAAO,CACHyqC,aAAc,EACdhyC,SAAU,WACVsjB,gBAAiB1R,EAAM4R,QAAQqyE,WAAW9jF,MAC1CzC,OAAQ,oBACRvP,SAAU,GACV+iB,QAAS,kCACT6qG,WAAY/7G,EAAMg8G,YAAYC,OAAO,CAAC,eAAgB,eAEtD9J,WAAY,CACR,gBACA,qBACA,aACA,SACA,mBACA,QACA,aACA,sBACA,mBACA,qBACF3gH,KAAK,KACP,UAAW,CACP4uC,aAAc,EACd87E,YAAa,UACb77E,UAAW,wCA9BA7kB,CAiCnB2gG,MACE/6G,GAAYrB,cAAW,SAAAC,GAAK,MAAK,CACnCa,OAAQ,CACJC,OAAQd,EAAMK,QAAQ,IAE1B1K,MAAO,CACHsb,QAAS,YAGV,SAASmrG,KACZ,IAAM/xH,EAAU+W,KAChB,OAEI,kBAAC,KAAD,KACI,kBAAC,KAAK7F,KAAN,KACI,kBAAC6zB,GAAA,EAAD,KACI,kBAACA,GAAA,EAAKtrB,IAAN,KACI,kBAACsrB,GAAA,EAAK9qB,MAAN,CAAYna,GAAIoa,KAAKC,UAAU,iBAC3B,kBAACquE,GAAA,EAAD,CAAa/oF,UAAWO,EAAQyW,QAC5B,kBAACsuB,GAAA,EAAKrrB,MAAN,iBACA,kBAACs4G,GAAA,EAAD,CACI1mH,MAAO,kBAACmmH,GAAD,CAAgBhsH,KAAK,MAAM5F,GAAG,kCAErC,4BAAQjB,MAAM,YCxDlD,IAAM6yH,GAAiBtgG,cAAW,SAAAxb,GAAK,MAAK,CACxCC,KAAM,CACF,YAAa,CACTG,UAAWJ,EAAMK,QAAQ,KAGjC1K,MAAO,CACHyqC,aAAc,EACdhyC,SAAU,WACVsjB,gBAAiB1R,EAAM4R,QAAQqyE,WAAW9jF,MAC1CzC,OAAQ,oBACRvP,SAAU,GACV+iB,QAAS,kCACT6qG,WAAY/7G,EAAMg8G,YAAYC,OAAO,CAAC,eAAgB,eAEtD9J,WAAY,CACR,gBACA,qBACA,aACA,SACA,mBACA,QACA,aACA,sBACA,mBACA,qBACF3gH,KAAK,KACP,UAAW,CACP4uC,aAAc,EACd87E,YAAa,UACb77E,UAAW,wCA9BA7kB,CAiCnB2gG,MACE/6G,GAAYrB,cAAW,SAAAC,GAAK,MAAK,CACnCa,OAAQ,CACJC,OAAQd,EAAMK,QAAQ,IAE1B1K,MAAO,CACHsb,QAAS,YAGV,SAASqrG,KACZ,IAAMjyH,EAAU+W,KAChB,OAEI,kBAAC,KAAD,KACI,kBAAC,KAAK7F,KAAN,KACI,kBAAC6zB,GAAA,EAAD,KACI,kBAACA,GAAA,EAAKtrB,IAAN,KACI,kBAACsrB,GAAA,EAAK9qB,MAAN,CAAYna,GAAIoa,KAAKC,UAAU,iBAC3B,yBAAK0E,MAAM,gBACP,yBAAKpf,UAAU,QAEX,4BACI+C,KAAK,SACL/C,UAAU,yCAFd,QAMA,4BACI+C,KAAK,SACL/C,UAAU,2CAFd,UAQR,kBAAC+oF,GAAA,EAAD,CAAa/oF,UAAWO,EAAQyW,QAC5B,kBAACsuB,GAAA,EAAKrrB,MAAN,iBACA,kBAACs4G,GAAA,EAAD,CACI1mH,MAAO,kBAAC,GAAD,CAAgB7F,KAAK,MAAM5F,GAAG,kCAErC,4BAAQjB,MAAM,YCtElD,IAAMszH,GAAkB/gG,cAAW,SAAAxb,GAAK,MAAK,CACzCw8G,KAAM,CACF9qG,gBAAiB1R,EAAM4R,QAAQqK,OAAOwgG,MACtC5jH,MAAOmH,EAAM4R,QAAQqK,OAAOC,OAEhChzB,KAAM,CACFiF,SAAU,OANMqtB,CAQpBsK,MAEE42F,GAAiBlhG,cAAW,SAAAxb,GAAK,MAAK,CACxCC,KAAM,CACF,qBAAsB,CAClByR,gBAAiB1R,EAAM4R,QAAQqyE,WAAW04B,aAH/BnhG,CAMnBqK,MAMJ,IAAM9gB,GAAO,CAJb,SAAoB7a,EAAI6jB,EAASV,EAAW4X,EAAa23F,EAAYC,EAAgBhwH,GACjF,MAAO,CAAE3C,KAAI6jB,UAASV,YAAW4X,cAAa23F,aAAYC,iBAAgBhwH,QAI1E8b,IAGEvH,GAAYrB,cAAW,SAAAC,GAAK,MAAK,CACnCC,KAAM,CACFC,MAAO,OACPE,UAAWJ,EAAMK,QAAQ,GACzBC,UAAW,YAIZ,SAASw8G,KACZ,IAAMzyH,EAAU+W,KAEhB,OAEI,kBAAC6R,GAAA,EAAD,CAAOnpB,UAAWO,EAAQ4V,MACtB,yBAAKnW,UAAU,iBACX,4BACIA,UAAU,eACVgG,KAAK,SACLoJ,YAAY,oBAGZ,4BAAQjQ,MAAM,IAAd,iBACA,4BAAQA,MAAM,KAAd,cACA,4BAAQA,MAAM,KAAd,eAEJ,2BAAOa,UAAU,wBACb,qCADJ,iBAIJ,yBAAKA,UAAU,iBACX,2PAIJ,kBAAC,KAAD,CAAOA,UAAS,6BAAwBO,EAAQmW,QAC5C,kBAAColB,GAAA,EAAD,KACI,kBAACC,GAAA,EAAD,KACI,kBAAC02F,GAAD,WACA,kBAACA,GAAD,gBACA,kBAACA,GAAD,kBACA,kBAACA,GAAD,oBACA,kBAACA,GAAD,mBACA,kBAACA,GAAD,uBACA,kBAACA,GAAD,eAGR,kBAACt0F,GAAA,EAAD,KACKljB,GAAKlX,KAAI,SAAAyD,GAAG,OACT,kBAACorH,GAAD,CAAgBtrH,IAAKE,EAAIxB,MACrB,kBAACysH,GAAD,KAAkBjrH,EAAIpH,IACtB,kBAACqyH,GAAD,KAAkBjrH,EAAIyc,SACtB,kBAACwuG,GAAD,KAAkBjrH,EAAI+b,WACtB,kBAACkvG,GAAD,KAAkBjrH,EAAI2zB,aACtB,kBAACs3F,GAAD,KAAkBjrH,EAAIsrH,YACtB,kBAACL,GAAD,KAAkBjrH,EAAIurH,gBACtB,kBAACN,GAAD,KAAmBjrH,EAAIzE,aChFnD,IAAM0vH,GAAkB/gG,cAAW,SAAAxb,GAAK,MAAK,CACzCw8G,KAAM,CACF9qG,gBAAiB1R,EAAM4R,QAAQqK,OAAOwgG,MACtC5jH,MAAOmH,EAAM4R,QAAQqK,OAAOC,OAEhChzB,KAAM,CACFiF,SAAU,OANMqtB,CAQpBsK,MAEE42F,GAAiBlhG,cAAW,SAAAxb,GAAK,MAAK,CACxCC,KAAM,CACF,qBAAsB,CAClByR,gBAAiB1R,EAAM4R,QAAQqyE,WAAW04B,aAH/BnhG,CAMnBqK,MAMJ,IAAM9gB,GAAO,CAJb,SAAoB7a,EAAIo3B,EAAK1wB,GACzB,MAAO,CAAE1G,KAAIo3B,MAAK1wB,WAIlB+X,IAGEvH,GAAYrB,cAAW,SAAAC,GAAK,MAAK,CACnCC,KAAM,CACFC,MAAO,OACPE,UAAWJ,EAAMK,QAAQ,GACzBC,UAAW,YAIZ,SAASy8G,KACZ,IAAM1yH,EAAU+W,KAEhB,OAEI,kBAAC6R,GAAA,EAAD,CAAOnpB,UAAWO,EAAQ4V,MACtB,yBAAKnW,UAAU,iBACX,4BACIA,UAAU,eACVgG,KAAK,SACLoJ,YAAY,oBAGZ,4BAAQjQ,MAAM,IAAd,iBACA,4BAAQA,MAAM,KAAd,QACA,4BAAQA,MAAM,KAAd,6BAEJ,2BAAOa,UAAU,wBACb,qCADJ,gBAIJ,kBAAC,KAAD,CAAOA,UAAS,6BAAwBO,EAAQmW,QAC5C,kBAAColB,GAAA,EAAD,KACI,kBAACC,GAAA,EAAD,KACI,kBAAC,GAAD,WACA,kBAAC,GAAD,YACA,kBAAC,GAAD,kBAGR,kBAACoC,GAAA,EAAD,KACKljB,GAAKlX,KAAI,SAAAyD,GAAG,OACT,kBAAC,GAAD,CAAgBF,IAAKE,EAAIxB,MACrB,kBAAC,GAAD,KAAmBwB,EAAIpH,IACvB,kBAAC,GAAD,KAAmBoH,EAAIgwB,KACvB,kBAAC,GAAD,KAAmBhwB,EAAIV,eAKvC,yBAAK9G,UAAU,mBACX,kBAAC,KAAD,CAAQA,UAAU,yBAAlB,OAGA,kBAAC,KAAD,CAAQA,UAAU,8BAAlB,QAGA,kBAAC,KAAD,CAAQA,UAAU,8BAAlB,Y,mGCnEVyyH,GAAkB/gG,cAAW,SAAAxb,GAAK,MAAK,CACzCw8G,KAAM,CACF9qG,gBAAiB1R,EAAM4R,QAAQqK,OAAOwgG,MACtC5jH,MAAOmH,EAAM4R,QAAQqK,OAAOC,OAEhChzB,KAAM,CACFiF,SAAU,IAEd6uH,KAAM,CACF/rG,QAAS,OACTgsG,cAAe,SACfn8G,OAAQ,OACRZ,MAAO,eAEXsjB,YAAa,CACTpjB,UAAWJ,EAAMK,QAAQ,GACzBI,SAAU,KAEdy8G,iBAAkB,CACd98G,UAAWJ,EAAMK,QAAQ,OAnBTmb,CAqBpBsK,MACEq3F,GAAgB3hG,aAAW,CAC7Bvb,KAAM,CACFpH,MAAOukH,KAAM,KACb,YAAa,CACTvkH,MAAOukH,KAAM,OAGrBx8F,QAAS,IAPSpF,EAQnB,SAAA3xB,GAAK,OAAI,kBAACk8B,GAAA,EAAD,eAAUltB,MAAM,WAAchP,OACpC6yH,GAAiBlhG,cAAW,SAAAxb,GAAK,MAAK,CACxCC,KAAM,CACF,qBAAsB,CAClByR,gBAAiB1R,EAAM4R,QAAQqyE,WAAW04B,aAH/BnhG,CAMnBqK,MAMJ,IAJoB4kF,GAAMvgH,GAAI+6B,GAIxBlgB,GAAO,EAJO0lG,GAKL,KALWvgH,GAKL,EALS+6B,GAKN,mBAJb,CAAEwlF,QAAMvgH,MAAI+6B,kBAOjB7jB,GAAYrB,cAAW,SAAAC,GAAK,MAAK,CACnCC,KAAM,CACFC,MAAO,OACPE,UAAWJ,EAAMK,QAAQ,GACzBC,UAAW,YAIZ,SAAS+8G,KACZ,IAAMhzH,EAAU+W,KAChB,EAAwBoT,IAAM1d,UAAS,GAAvC,oBAAO8mB,EAAP,KAAa+J,EAAb,KAKA,SAAS5K,IACL4K,GAAQ,GAEZ,MAA0BnT,IAAM1d,SAAS,CACrCwmH,UAAU,EACVC,UAAU,EACVC,UAAU,EACVC,UAAU,IAJd,oBAAOr0G,EAAP,KAAcK,EAAd,KAOM0T,EAAe,SAAArtB,GAAI,OAAI,SAAAiO,GACzB0L,EAAS,2BAAKL,GAAN,mBAActZ,EAAOiO,EAAMrE,OAAOknB,aAE9C,OAEI,kBAAC3N,GAAA,EAAD,CAAOnpB,UAAWO,EAAQ4V,MACtB,yBAAKnW,UAAU,iBACX,4BACIA,UAAU,eACVgG,KAAK,SACLoJ,YAAY,oBAGZ,4BAAQjQ,MAAM,IAAd,iBACA,4BAAQA,MAAM,KAAd,QACA,4BAAQA,MAAM,KAAd,6BAEJ,2BAAOa,UAAU,wBACb,qCADJ,gBAIJ,kBAAC,KAAD,CAAOA,UAAS,6BAAwBO,EAAQmW,QAC5C,kBAAColB,GAAA,EAAD,KACI,kBAACC,GAAA,EAAD,KACI,kBAAC,GAAD,aACA,kBAAC,GAAD,WACA,kBAAC,GAAD,sBAGR,kBAACoC,GAAA,EAAD,KACKljB,GAAKlX,KAAI,SAAAyD,GAAG,OACT,kBAAC,GAAD,CAAgBF,IAAKE,EAAIxB,MACrB,kBAAC,GAAD,KAAkBwB,EAAIm5G,MACtB,kBAAC,GAAD,KAAkBn5G,EAAIpH,IACtB,kBAAC,GAAD,KAAkBoH,EAAI2zB,mBAKtC,yBAAKn7B,UAAU,mBACX,kBAAC,IAAM61C,SAAP,KACI,kBAAC,KAAD,CAAQ71C,UAAU,wBAAwByM,QAvD1D,WACIoxB,GAAQ,KAsDI,QAGA,kBAACC,GAAA,EAAD,CACI9U,WAAW,EACXupB,SAAU,KACVze,KAAMA,EACNE,QAASf,EACT3hB,kBAAgB,0BAEhB,kBAACysB,GAAA,EAAD,CAAa39B,GAAG,0BAAhB,QACA,kBAAC49B,GAAA,EAAD,KAEI,0BAAMh+B,UAAWO,EAAQ2yH,KAAM7wF,YAAU,GACrC,kBAAC0mD,GAAA,EAAD,CAAa/oF,UAAWO,EAAQm5B,aAC5B,kBAAC3Q,GAAA,EAAD,CACI3oB,GAAG,eACHoD,MAAM,KACNxD,UAAWwpB,aAAKjpB,EAAQsrB,UAAWtrB,EAAQ43B,OAC3CnhB,OAAO,QACP2c,QAAQ,SACRx0B,MAAM,MAEV,kBAAC4pB,GAAA,EAAD,CACI3oB,GAAG,kBACHoD,MAAM,cACN4L,YAAY,cACZuyB,WAAS,EACT3hC,UAAWO,EAAQsrB,UACnB7U,OAAO,SACP2c,QAAQ,SACRx0B,MAAM,sBAEV,kBAACk7B,GAAA,EAAD,CACIC,QACI,kBAAC+4F,GAAD,CACIhkH,SAAUgkB,EAAa,YACvBl0B,MAAM,aAGdqE,MAAM,iBAEV,kBAACowH,GAAA,EAAD,uOAGA,kBAACA,GAAA,EAAD,kFAGA,kBAACA,GAAA,EAAD,KACI,uBACIlrH,KAAK,sDACL1I,UAAU,sEAFd,wDAOJ,kBAAC+oB,GAAA,EAAD,CACI3oB,GAAG,gBACHoD,MAAM,WACNxD,UAAWO,EAAQsrB,UACnBxc,SAAUgkB,EAAa,QACvBrc,OAAO,SACP2c,QAAQ,aAEX,kBAAC5K,GAAA,EAAD,CACG3oB,GAAG,gBACHoD,MAAM,aACNxD,UAAWO,EAAQsrB,UACnBxc,SAAUgkB,EAAa,QACvBrc,OAAO,SACP2c,QAAQ,gBAKxB,kBAACsL,GAAA,EAAD,KACI,kBAAC,KAAD,CAAQlwB,MAAM,WAAd,QAGA,kBAAC,KAAD,CAAQtC,QAASwmB,GAAjB,cCpNrB,SAAS4gG,KACZ,OAEI,kBAAC,KAAD,KACI,kBAAC,KAAKpiH,KAAN,KACI,kBAAC6zB,GAAA,EAAD,KACI,kBAACA,GAAA,EAAKtrB,IAAN,KACI,yBAAK7V,MAAM,SACP,kBAACmhC,GAAA,EAAKrrB,MAAN,0BACA,kBAACwgC,GAAA,EAAD,CAAUz6C,UAAU,oBAChB,kBAACy6C,GAAA,EAASt6C,OAAV,CAAiBwzB,QAAQ,OAAOvzB,GAAG,iBAAiBJ,UAAU,mBAA9D,UAGA,kBAACy6C,GAAA,EAASj6C,KAAV,KACI,kBAACi6C,GAAA,EAASC,KAAV,CAAehyC,KAAK,cAApB,iBACA,kBAAC+xC,GAAA,EAASC,KAAV,CAAehyC,KAAK,cAApB,QACA,kBAAC+xC,GAAA,EAASC,KAAV,CAAehyC,KAAK,cAApB,gCACA,kBAAC+xC,GAAA,EAASC,KAAV,CAAehyC,KAAK,cAApB,4BACA,kBAAC+xC,GAAA,EAASC,KAAV,CAAehyC,KAAK,cAApB,uCAQpB,2BAAOvE,MAAM,cACT,2BAAOA,MAAM,cACT,4BACI,wBAAIwK,MAAM,OAAV,KACA,wBAAIA,MAAM,OAAV,MACA,wBAAIA,MAAM,OAAV,iBAIR,+BACI,4BACI,wBAAIA,MAAM,OAAV,KACA,6BACA,8BAEJ,4BACI,wBAAIA,MAAM,OAAV,KACA,6BACA,8BAEJ,4BACI,wBAAIA,MAAM,OAAV,KACA,6BACA,gCAKZ,yBAAKxK,MAAM,OACX,yBAAKA,MAAM,SACH,kBAACqvB,GAAA,EAAD,CAAQnzB,GAAG,QAAQ0C,KAAK,SAAS5D,MAAM,SAE3C,yBAAKgF,MAAM,SACP,kBAACqvB,GAAA,EAAD,CAAQnzB,GAAG,QAAQ0C,KAAK,SAAS5D,MAAM,UAG3C,yBAAKgF,MAAM,SACP,kBAACqvB,GAAA,EAAD,CAAQnzB,GAAG,QAAQ0C,KAAK,SAAS5D,MAAM,eC7D/D,IAAMmY,GAAYrB,cAAW,SAAAC,GAAK,MAAK,CACnCC,KAAM,CACFC,MAAO,OACPE,UAAWJ,EAAMK,QAAQ,GACzBC,UAAW,YAIZ,SAASs9G,KACZ,IAAMvzH,EAAU+W,KAEhB,OAEI,kBAAC6R,GAAA,EAAD,CAAOnpB,UAAWO,EAAQ4V,MACtB,yBAAKnW,UAAU,iBACX,4BACIA,UAAU,eACVgG,KAAK,SACLoJ,YAAY,oBAGZ,4BAAQjQ,MAAM,IAAd,iBACA,4BAAQA,MAAM,KAAd,QACA,4BAAQA,MAAM,KAAd,6BAEJ,2BAAOa,UAAU,wBACb,qCADJ,gBAIJ,yBAAKA,UAAU,mBACX,kBAAC,KAAD,CAAQA,UAAU,wBAAwB+P,GAAG,0BAA7C,YCjCT,SAASgkH,KAEZ,OAEI,yBAAK/zH,UAAU,kBACX,yBAAKA,UAAU,kBAEX,uBAAGmE,MAAM,4CAAT,kFAC+E,0BAAMnE,UAAU,yDAAhB,2CAExE,uBAAGmE,MAAM,4CAAT,oBACiB,0BAAMnE,UAAU,yDAAhB,wCADjB,oDAGA,uBAAGmE,MAAM,4CAAT,gCAC6B,0BAAMnE,UAAU,yDAAhB,yCAD7B,gCAGA,uBAAGmE,MAAM,4CAAT,qF,2yMCZvB,IAAMmT,GAAYrB,cAAW,SAAAC,GAAK,MAAK,CACnCC,KAAM,CACFC,MAAO,OACPE,UAAWJ,EAAMK,QAAQ,GACzBC,UAAW,YAGZ,SAASw9G,KACZ,MAAoBhnH,mBAAS,GAA7B,oBAAO5M,EAAP,KAAW6zH,EAAX,KACA,EAA0CjnH,mBAAS,IAAnD,oBAAOyL,EAAP,KAAsBC,EAAtB,KACA,EAAwC1L,oBAAS,GAAjD,oBAAO6L,EAAP,KAAqBggB,EAArB,KAEA/kB,qBAAU,WACNuO,MAED,IACH,IAAMA,EAAe,wCAAG,qGAEhBwW,GAAgB,GAFA,SAGKvW,IAAM3M,IAAI,0BAHf,OAGVxG,EAHU,OAIhBuJ,EAAiBvJ,EAAO5M,KAAP,eACjBs2B,GAAgB,GALA,gDAOhBA,GAAgB,GAPA,yDAAH,qDAUft4B,EAAU+W,KAQhB,OACJ,6BACQ,kBAAC6R,GAAA,EAAD,CAAOnpB,UAAS,cAASO,EAAQ4V,OAE7B,yBAAKnW,UAAU,iBACX,4BACIA,UAAU,eACVgG,KAAK,SACLoJ,YAAY,oBACZhP,GAAK,cAELqY,EAAc1U,KAAI,SAACC,EAAMC,GAAP,OACF,4BAAQqD,IAAKrD,EAAO9E,MAAO6E,EAAKJ,IAC3BI,EAAKgnB,iBAI7BnS,GAAgB,kBAACuV,GAAA,EAAD,MACjB,2BAAOpuB,UAAU,wBACb,kDAIR,yBAAKA,UAAU,oCACX,uBAAGA,UAAU,wCAAwC0I,KAAI,8BAAyBtI,GAAMqM,QAAS,YA/BvF,WAClBwnH,EAAM,GACN,IAAI36G,EAAa9a,SAASsR,eAAe,cAAc3Q,MACnDma,GACA26G,EAAM36G,GA4Bc46G,KADhB,a,+2MCjDhB,SAASC,GAAT,GAA0C,IAAlBzrG,EAAiB,EAAjBA,SAAU0rG,EAAO,EAAPA,IAC9B,OACI,kBAACtqG,GAAA,EAAD,CAAYpb,UAAU,MAAM0lH,IAAKA,EAAKhwH,MAAO,CAAEgjB,QAAS,KACnDsB,GASb,IAAM+pG,GAAkB/gG,cAAW,SAAAxb,GAAK,MAAK,CACzCw8G,KAAM,CACF9qG,gBAAiB1R,EAAM4R,QAAQqK,OAAOwgG,MACtC5jH,MAAOmH,EAAM4R,QAAQqK,OAAOC,OAEhChzB,KAAM,CACFiF,SAAU,OANMqtB,CAQpBsK,MACE42F,GAAiBlhG,cAAW,SAAAxb,GAAK,MAAK,CACxCC,KAAM,CACF,qBAAsB,CAClByR,gBAAiB1R,EAAM4R,QAAQqyE,WAAW04B,aAH/BnhG,CAMnBqK,MACEzkB,GAAYrB,cAAW,SAAAC,GAAK,MAAK,CACnCC,KAAM,CACFyR,gBAAiB1R,EAAM4R,QAAQqyE,WAAW9jF,WAG3C,SAASg+G,KACZ,IAAQj0H,EAAO03B,aAAU,MAAjB13B,GACR,EAAsD4M,mBAAS,IAA/D,oBAAOsnH,EAAP,KAA4BC,EAA5B,KACA,EAAwDvnH,mBAAS,IAAjE,oBAAOwnH,EAAP,KAA6BC,EAA7B,KACA,EAAwDznH,mBAAS,IAAjE,oBAAO0nH,EAAP,KAA6BC,EAA7B,KACA,EAA4D3nH,mBAAS,IAArE,oBAAO4nH,EAAP,KAA+BC,EAA/B,KACA,EAA0D7nH,mBAAS,IAAnE,oBAAO8nH,EAAP,KAA8BC,EAA9B,KACA,EAA4D/nH,mBAAS,IAArE,oBAAOgoH,EAAP,KAA+BC,EAA/B,KACM10H,EAAU+W,KACVpB,EAAQuU,eACd,EAA0BC,IAAM1d,SAAS,GAAzC,oBAAO7N,EAAP,KAAc+1H,EAAd,KAUAphH,qBAAU,WACNqhH,MACD,IAEH,IAAMA,EAA0B,wCAAG,4FAC/BZ,EAAuB,IADQ,kBAINjyG,IAAM3M,IAAN,iCAAoCvV,IAJ9B,OAKL,OADhB+O,EAJqB,QAKhB4F,QAEP5F,EAAO5M,KAAK,GAAGqxC,QAAQ7vC,KAAI,SAAS+oB,GAChC,OAAOA,EAAIjpB,MAEP,IAAK,WACD0wH,EAAuBznG,EAAIsoG,aAC3B,MACJ,IAAK,YACDX,EAAwB3nG,EAAIsoG,aAC5B,MACJ,IAAK,cACDP,EAA0B/nG,EAAIsoG,aAC9B,MACJ,IAAK,aACDL,EAAyBjoG,EAAIsoG,aAC7B,MACJ,IAAK,cACDH,EAA0BnoG,EAAIsoG,aAC9B,MACJ,IAAK,aACDT,EAAwB7nG,EAAIsoG,iBA1BjB,yGAAH,qDAoChC,OACI,yBAAKp1H,UAAWO,EAAQ4V,MACpB,yBAAKnW,UAAU,kBAEX,uBAAGA,UAAU,4CAAb,6HAGA,uBAAGA,UAAU,4CAAb,qFAIJ,kBAACq1H,GAAA,EAAD,CAAQ/wH,SAAS,SAASyK,MAAM,SAC5B,kBAACm6D,GAAA,EAAD,CACI/pE,MAAOA,EACPkQ,SA9DhB,SAAsB4E,EAAOka,GACzB+mG,EAAS/mG,IA8DGmnG,eAAe,UACfC,UAAU,UACV5hG,QAAQ,aAER,kBAACw1C,GAAA,EAAD,CAAK3lE,MAAM,aACX,kBAAC2lE,GAAA,EAAD,CAAK3lE,MAAM,cACX,kBAAC2lE,GAAA,EAAD,CAAK3lE,MAAM,eACX,kBAAC2lE,GAAA,EAAD,CAAK3lE,MAAM,gBACX,kBAAC2lE,GAAA,EAAD,CAAK3lE,MAAM,eACX,kBAAC2lE,GAAA,EAAD,CAAK3lE,MAAM,kBAGnB,kBAAC,KAAD,CACIS,MAAO9E,EACPq2H,cAzEZ,SAA2BvxH,GACvBixH,EAASjxH,KA0ED,kBAACkwH,GAAD,CAAcC,IAAKl+G,EAAMqmB,WACrB,kBAAC,KAAD,CAAOv8B,UAAWO,EAAQmW,OACtB,kBAAColB,GAAA,EAAD,KACI,kBAACC,GAAA,EAAD,KACI,kBAAC,GAAD,CAAiBI,MAAM,UAAvB,cACA,kBAAC,GAAD,CAAiBA,MAAM,UAAvB,eACA,kBAAC,GAAD,CAAiBA,MAAM,aAG/B,kBAACgC,GAAA,EAAD,KACKm2F,EAAoBvwH,KAAI,SAAAyD,GAAG,OACxB,kBAAC,GAAD,CAAgBF,IAAKE,EAAI5D,IACrB,kBAAC,GAAD,CAAiBu4B,MAAM,UAAU30B,EAAI3D,MACrC,kBAAC,GAAD,CAAiBs4B,MAAM,UAAU30B,EAAIyW,aACrC,kBAAC,GAAD,CAAiBke,MAAM,UAAS,kBAAC,KAAD,CAAMpsB,GAAG,8BAA8BtD,QAAS,WAC5E5H,OAAO+gB,WAAaxlB,EACpByE,OAAO4wH,aAAe,EACtB5wH,OAAO6wH,aAAeluH,EAAI5D,KAHE,UAAhC,KAImB4D,EAAIuxD,MAJvB,oBAUpB,kBAACo7D,GAAD,CAAcC,IAAKl+G,EAAMqmB,WACrB,kBAAC,KAAD,CAAOv8B,UAAWO,EAAQmW,OACtB,kBAAColB,GAAA,EAAD,KACI,kBAACC,GAAA,EAAD,KACI,kBAAC,GAAD,CAAiBI,MAAM,UAAvB,cACA,kBAAC,GAAD,CAAiBA,MAAM,UAAvB,eACA,kBAAC,GAAD,CAAiBA,MAAM,aAG/B,kBAACgC,GAAA,EAAD,KACUq2F,EAAqBzwH,KAAI,SAAAyD,GAAG,OAC1B,kBAAC,GAAD,CAAgBF,IAAKE,EAAI5D,IACrB,kBAAC,GAAD,CAAiBu4B,MAAM,UAAU30B,EAAI3D,MACrC,kBAAC,GAAD,CAAiBs4B,MAAM,UAAU30B,EAAIyW,aACrC,kBAAC,GAAD,CAAiBke,MAAM,UAAS,kBAAC,KAAD,CAAMpsB,GAAG,8BAA8BtD,QAAS,WAChF5H,OAAO+gB,WAAaxlB,EACpByE,OAAO4wH,aAAe,EACtB5wH,OAAO6wH,aAAeluH,EAAI5D,KAHM,UAAhC,KAIe4D,EAAIuxD,MAJnB,oBAUxB,kBAACo7D,GAAD,CAAcC,IAAKl+G,EAAMqmB,WACrB,kBAAC,KAAD,CAAOv8B,UAAWO,EAAQmW,OACtB,kBAAColB,GAAA,EAAD,KACI,kBAACC,GAAA,EAAD,KACI,kBAAC,GAAD,CAAiBI,MAAM,UAAvB,cACA,kBAAC,GAAD,CAAiBA,MAAM,UAAvB,eACA,kBAAC,GAAD,CAAiBA,MAAM,aAG/B,kBAACgC,GAAA,EAAD,KACUu2F,EAAqB3wH,KAAI,SAAAyD,GAAG,OAC1B,kBAAC,GAAD,CAAgBF,IAAKE,EAAI5D,IACrB,kBAAC,GAAD,CAAiBu4B,MAAM,UAAU30B,EAAI3D,MACrC,kBAAC,GAAD,CAAiBs4B,MAAM,UAAU30B,EAAIyW,aACrC,kBAAC,GAAD,CAAiBke,MAAM,UAAS,kBAAC,KAAD,CAAMpsB,GAAG,8BAA8BtD,QAAS,WAChF5H,OAAO+gB,WAAaxlB,EACpByE,OAAO4wH,aAAe,EACtB5wH,OAAO6wH,aAAeluH,EAAI5D,KAHM,UAAhC,KAIe4D,EAAIuxD,MAJnB,oBAUxB,kBAACo7D,GAAD,CAAcC,IAAKl+G,EAAMqmB,WACrB,kBAAC,KAAD,CAAOv8B,UAAWO,EAAQmW,OACtB,kBAAColB,GAAA,EAAD,KACI,kBAACC,GAAA,EAAD,KACI,kBAAC,GAAD,CAAiBI,MAAM,UAAvB,cACA,kBAAC,GAAD,CAAiBA,MAAM,UAAvB,eACA,kBAAC,GAAD,CAAiBA,MAAM,aAG/B,kBAACgC,GAAA,EAAD,KACUy2F,EAAuB7wH,KAAI,SAAAyD,GAAG,OAC5B,kBAAC,GAAD,CAAgBF,IAAKE,EAAI5D,IACrB,kBAAC,GAAD,CAAiBu4B,MAAM,UAAU30B,EAAI3D,MACrC,kBAAC,GAAD,CAAiBs4B,MAAM,UAAU30B,EAAIyW,aACrC,kBAAC,GAAD,CAAiBke,MAAM,UAAS,kBAAC,KAAD,CAAMpsB,GAAG,8BAA8BtD,QAAS,WAChF5H,OAAO+gB,WAAaxlB,EACpByE,OAAO4wH,aAAe,EACtB5wH,OAAO6wH,aAAeluH,EAAI5D,KAHM,UAAhC,KAIe4D,EAAIuxD,MAJnB,oBAUxB,kBAACo7D,GAAD,CAAcC,IAAKl+G,EAAMqmB,WACrB,kBAAC,KAAD,CAAOv8B,UAAWO,EAAQmW,OACtB,kBAAColB,GAAA,EAAD,KACI,kBAACC,GAAA,EAAD,KACI,kBAAC,GAAD,CAAiBI,MAAM,UAAvB,cACA,kBAAC,GAAD,CAAiBA,MAAM,UAAvB,eACA,kBAAC,GAAD,CAAiBA,MAAM,aAG/B,kBAACgC,GAAA,EAAD,KACS22F,EAAsB/wH,KAAI,SAAAyD,GAAG,OAC1B,kBAAC,GAAD,CAAgBF,IAAKE,EAAI5D,IACrB,kBAAC,GAAD,CAAiBu4B,MAAM,UAAU30B,EAAI3D,MACrC,kBAAC,GAAD,CAAiBs4B,MAAM,UAAU30B,EAAIyW,aACrC,kBAAC,GAAD,CAAiBke,MAAM,UAAS,kBAAC,KAAD,CAAMpsB,GAAG,8BAA8BtD,QAAS,WAChF5H,OAAO+gB,WAAaxlB,EACpByE,OAAO4wH,aAAe,EACtB5wH,OAAO6wH,aAAeluH,EAAI5D,KAHM,UAAhC,KAIe4D,EAAIuxD,MAJnB,oBAUxB,kBAACo7D,GAAD,CAAcC,IAAKl+G,EAAMqmB,WACrB,kBAAC,KAAD,CAAOv8B,UAAWO,EAAQmW,OACtB,kBAAColB,GAAA,EAAD,KACI,kBAACC,GAAA,EAAD,KACI,kBAAC,GAAD,CAAiBI,MAAM,UAAvB,cACA,kBAAC,GAAD,CAAiBA,MAAM,UAAvB,eACA,kBAAC,GAAD,CAAiBA,MAAM,aAG/B,kBAACgC,GAAA,EAAD,KACW62F,EAAuBjxH,KAAI,SAAAyD,GAAG,OAC7B,kBAAC,GAAD,CAAgBF,IAAKE,EAAI5D,IACrB,kBAAC,GAAD,CAAiBu4B,MAAM,UAAU30B,EAAI3D,MACrC,kBAAC,GAAD,CAAiBs4B,MAAM,UAAU30B,EAAIyW,aACrC,kBAAC,GAAD,CAAiBke,MAAM,UAAS,kBAAC,KAAD,CAAMpsB,GAAG,8BAA8BtD,QAAS,WAChF5H,OAAO+gB,WAAaxlB,EACpByE,OAAO4wH,aAAe,EACtB5wH,OAAO6wH,aAAeluH,EAAI5D,KAHM,UAAhC,KAIe4D,EAAIuxD,MAJnB,sB,eC9QjC,SAAS48D,KACZ,OACI,kBAAC,KAAD,MCCD,SAASC,KACZ,OAEI,kBAAC,KAAD,KACI,kBAAC,KAAKnkH,KAAN,KACI,kBAAC6zB,GAAA,EAAD,KACI,kBAACA,GAAA,EAAKtrB,IAAN,KACI,yBAAK7V,MAAM,eACP,wBAAInE,UAAU,iCAAd,iCACA,wBAAImE,MAAM,mCAGd,yBAAKA,MAAM,UACP,kBAACmhC,GAAA,EAAKrrB,MAAN,2BACA,kBAACwgC,GAAA,EAAD,CAAUz6C,UAAU,oBAChB,kBAACy6C,GAAA,EAASt6C,OAAV,CAAiBwzB,QAAQ,OAAOvzB,GAAG,iBAAiBJ,UAAU,mBAA9D,UAGA,kBAACy6C,GAAA,EAASj6C,KAAV,KACI,kBAACi6C,GAAA,EAASC,KAAV,CAAehyC,KAAK,cAApB,UACA,kBAAC+xC,GAAA,EAASC,KAAV,CAAehyC,KAAK,cAApB,kBACA,kBAAC+xC,GAAA,EAASC,KAAV,CAAehyC,KAAK,cAApB,sBAOhB,6BACA,kBAAC48B,GAAA,EAAKtrB,IAAN,KACI,yBAAK7V,MAAM,eACP,wBAAInE,UAAU,kCACd,wBAAImE,MAAM,mCAGd,yBAAKA,MAAM,SACP,kBAACmhC,GAAA,EAAKrrB,MAAN,mBAAuB,kBAAC2Z,GAAA,EAAD,CAAM5zB,UAAWwpB,aAAK,6CAA8CplB,MAAO,CAACC,SAAS,OAC5G,kBAACihC,GAAA,EAAK3qB,QAAN,CAAc5X,KAAK,UAGvB,yBAAKoB,MAAM,SACP,kBAACmhC,GAAA,EAAKrrB,MAAN,iBAAqB,kBAAC2Z,GAAA,EAAD,CAAM5zB,UAAWwpB,aAAK,6CAA8CplB,MAAO,CAACC,SAAS,OAC1G,kBAACihC,GAAA,EAAK3qB,QAAN,CAAc5X,KAAK,UAGvB,yBAAKoB,MAAM,cACP,kBAACmhC,GAAA,EAAKrrB,MAAN,aACA,kBAACwgC,GAAA,EAAD,CAAUz6C,UAAU,oBAChB,kBAACy6C,GAAA,EAASt6C,OAAV,CAAiBwzB,QAAQ,OAAOvzB,GAAG,iBAAiBJ,UAAU,mBAA9D,UAGA,kBAACy6C,GAAA,EAASj6C,KAAV,KACI,kBAACi6C,GAAA,EAASC,KAAV,CAAehyC,KAAK,cAApB,UACA,kBAAC+xC,GAAA,EAASC,KAAV,CAAehyC,KAAK,cAApB,kBACA,kBAAC+xC,GAAA,EAASC,KAAV,CAAehyC,KAAK,cAApB,qBAKZ,yBAAKvE,MAAM,cACP,kBAACmhC,GAAA,EAAKrrB,MAAN,uBACA,kBAACqrB,GAAA,EAAK3qB,QAAN,CAAc5X,KAAK,OAAOqM,YAAY,qBAG1C,yBAAKjL,MAAM,mBACP,yBAAKA,MAAM,SACP,kBAACqvB,GAAA,EAAD,CAAQnzB,GAAG,QAAQ0C,KAAK,SAAS5D,MAAM,kBAE3C,yBAAKgF,MAAM,SACP,kBAACqvB,GAAA,EAAD,CAAQnzB,GAAG,QAAQ0C,KAAK,SAAS5D,MAAM,qBAMnD,6BAAM,6BACN,2BAAOgF,MAAM,SACT,2BAAOA,MAAM,cACT,4BACI,wBAAIwK,MAAM,OAAV,KACA,wBAAIA,MAAM,OAAV,MACA,wBAAIA,MAAM,OAAV,aACA,wBAAIA,MAAM,OAAV,QACA,wBAAIA,MAAM,OAAV,WACA,wBAAIA,MAAM,OAAV,uBAGR,+BACI,4BACI,wBAAIA,MAAM,OAAV,KACA,6BACA,6BACA,6BACA,6BACA,8BAEJ,4BACI,wBAAIA,MAAM,OAAV,KACA,6BACA,6BACA,6BACA,6BACA,8BAEJ,4BACI,wBAAIA,MAAM,OAAV,KACA,6BACA,6BACA,6BACA,6BACA,mC,+0MC5GhC,IAAMknH,GAAYC,KAAYD,UACxBE,GAAaD,KAAYD,UAAUE,WACnCC,GAAcF,KAAYD,UAAUG,YAEpC1+G,GAAYrB,cAAW,SAAAC,GAAK,MAAK,CACnCC,KAAM,CACFC,MAAO,OACPE,UAAWJ,EAAMK,QAAQ,GACzBC,UAAW,YAGZ,SAASy/G,KAEZniH,qBAAU,WACNuO,MACD,IAEH,MAA0CrV,mBAAS,IAAnD,oBAAOyL,EAAP,KAAsBC,EAAtB,KACA,EAAwC1L,oBAAS,GAAjD,oBAAO6L,EAAP,KAAqBggB,EAArB,KACA,EAAkC7rB,mBAC9B,4BAAQ7I,MAAM,+BAAd,WADJ,oBAAO+xH,EAAP,KAAkBC,EAAlB,KAGM9zG,EAAe,wCAAG,qGAEhBwW,GAAgB,GAFA,SAGKvW,IAAM3M,IAAI,0BAHf,OAGVxG,EAHU,OAIhBuJ,EAAiBvJ,EAAO5M,KAAP,eACjBs2B,GAAgB,GALA,gDAMNA,GAAgB,GANV,yDAAH,qDAQfu9F,EAAU,wCAAG,gGACfv9F,GAAgB,GACVjT,EAAapnB,SAASsR,eAAe,cAAc3Q,MAF1C,kBAIUmjB,IAAMkD,KAAK,gCAAiC,CAC7DjjB,KAAMqjB,IALC,OAILzW,EAJK,OAOPknH,EACA,kBAACR,GAAD,CACIS,SAAW,oBAAsB1wG,EAAa,IAAKrkB,OAASiI,OAAO,uBACnE2G,QACI,4BAAQnQ,UAAU,mBAAlB,WAGJ,kBAAC+1H,GAAD,CACIxzH,KAAM4M,EAAO5M,KACbyD,KAAK,YACLhG,UAAU,mBAEV,kBAACg2H,GAAD,CAAaxyH,MAAM,cAAcrE,MAAM,eACvC,kBAAC62H,GAAD,CAAaxyH,MAAM,OAAOrE,MAAM,SAChC,kBAAC62H,GAAD,CAAaxyH,MAAM,mBAAmBrE,MAAM,oBAC5C,kBAAC62H,GAAD,CAAaxyH,MAAM,eAAerE,MAAM,gBACxC,kBAAC62H,GAAD,CAAaxyH,MAAM,kBAAkBrE,MAAM,kBAC3C,kBAAC62H,GAAD,CAAaxyH,MAAM,QAAQrE,MAAM,UACjC,kBAAC62H,GAAD,CAAaxyH,MAAM,gBAAgBrE,MAAM,cACzC,kBAAC62H,GAAD,CAAaxyH,MAAM,UAAUrE,MAAM,WACnC,kBAAC62H,GAAD,CAAaxyH,MAAM,sBAAsBrE,MAAM,sBAC/C,kBAAC62H,GAAD,CAAaxyH,MAAM,YAAYrE,MAAM,eAIjDg3H,EAAaE,GACbx9F,GAAgB,GAjCL,4GAAH,qDAuCVt4B,EAAU+W,KAChB,OACI,6BACI,kBAAC6R,GAAA,EAAD,CAAOnpB,UAAS,cAASO,EAAQ4V,OAE7B,yBAAKnW,UAAU,iBACX,4BACIA,UAAU,eACVgG,KAAK,aACL5F,GAAG,aACHgP,YAAY,oBACZC,SAAU,WACN+mH,MAIJ,0CACC39G,EAAc1U,KAAI,SAACC,EAAMC,GAAP,OACf,4BAAQqD,IAAKrD,EAAO9E,MAAO6E,EAAKJ,IAC3BI,EAAKgnB,iBAIjBnS,GAAgB,kBAACuV,GAAA,EAAD,MACjB,2BAAOpuB,UAAU,wBACb,kDASR,yBAAKA,UAAU,cAAck2H,GAC7B,yBAAKl2H,UAAU,cACV6Y,GAAgB,kBAAC09G,GAAA,EAAD,CAAkBC,eAAa,O,eC9G7D,SAASC,KACZ,OACI,kBAAC,KAAD,M,kCCLK7lH,GAAgB,CAAC,CAAExE,UAAW,KAAMyE,MAAO,SAC3C0d,GAAkB,CAC7B,CAAEtvB,KAAM,IAAKE,MAAO,GACpB,CAAEF,KAAM,IAAKE,MAAO,GACpB,CAAEF,KAAM,IAAKE,MAAO,IAETqvB,GAAgB,CAC3Bjf,OAAQ,CACNtQ,KAAM,IAER4vB,UAAW,MACXC,UAAW,KACXC,WAAY,EACZC,SAAU,GCRNusE,GAAmBrsE,0BAElB,SAASm9B,KACd,OAAOj9B,qBAAWmsE,IAGaA,GAAiBlsE,SAE3C,SAASqnG,GAAT,GAA4D,IAA/Bj7B,EAA8B,EAA9BA,iBAAkB/yE,EAAY,EAAZA,SACpD,EAAkC1b,mBAASyuF,GAA3C,oBAAOvuC,EAAP,KAAkBwuC,EAAlB,KACA,EAA0C1uF,mBAASwhB,IAAnD,oBAAOlJ,EAAP,KAAoBkK,EAApB,KACA,EAAsBxiB,mBAAS,IAA/B,oBAAOkY,EAAP,KAAYuK,EAAZ,KACMC,EAAiBC,uBAAY,SAAAC,GACjCJ,GAAmB,SAAAK,GAKjB,OAJIC,sBAAWF,KACbA,EAAkBA,EAAgBC,IAGhCE,mBAAQF,EAAiBD,GACpBC,EAGFD,OAER,IACH,EAAoC5iB,mBAAS,MAA7C,oBAAO8iD,EAAP,KAAmB6rC,EAAnB,KACA,EAAwD3uF,oBAAS,GAAjE,oBAAOyjD,EAAP,KAA6BmrC,EAA7B,KACMjrC,EAAa,CACjBvwD,QAAI0F,GAENgO,qBAAU,WACR68C,EAAWzD,UAAYuuC,EACvB9qC,EAAWyrC,MAAQX,EACnBC,EAAaD,KAEZ,CAACA,IACJ,IAYA,EAA4DzuF,oBAAS,GAArE,oBAAO+iD,EAAP,KAA+BssC,EAA/B,KAUA,EAA8DrvF,oBAAS,GAAvE,oBAAO2iD,EAAP,KAAgC2sC,EAAhC,KAQA,EAA4DtvF,oBAAS,GAArE,oBAAOojD,EAAP,KAA+BmsC,EAA/B,KAQMp9F,EAAQ,CACZ+lB,MACAuK,SACAy9B,YACAwuC,eACAp2E,cACAoK,iBACAihC,aACAb,aACAW,uBACAhE,oBAhD0B,WAC1BkvC,OAAc71F,GACd81F,GAAwB,IA+CxB5tC,qBA7C2B,SAAA5tD,GAC3Bu7F,EAAcv7F,GACdw7F,GAAwB,IA4CxBlrC,sBA1C4B,WAC5BirC,OAAc71F,GACd81F,GAAwB,IAyCxB7rC,yBACA9B,uBAvC6B,SAAA7tD,GAC7Bu7F,EAAcv7F,GACdi8F,GAA0B,IAsC1BrsC,wBApC8B,WAC9B2rC,OAAc71F,GACdu2F,GAA0B,IAmC1B1sC,0BACA6sC,wBAhC8B,WAC9BF,GAA2B,IAgC3B1sC,yBA9B+B,WAC/B0sC,GAA2B,IA8B3BG,uBA1B6B,WAC7BF,GAA0B,IA0B1BlsC,wBAxB8B,WAC9BksC,GAA0B,IAwB1BnsC,0BAGF,OACE,kBAACmrC,GAAiB3qE,SAAlB,CAA2BzxB,MAAOA,GAC/BupB,GC9FA,SAASyjC,KAEd,IAAMC,EAAmBC,KACnBG,EAAiBx7B,mBAAQ,WAC7B,MAAO,CACLtB,eAAgB08B,EAAiB18B,eACjC+8B,oBAAqBL,EAAiBK,oBACtCnnC,YAAa8mC,EAAiB9mC,eAE/B,CAAC8mC,IAEJ,OACE,oCACE,yBAAKpsD,UAAU,mBACb,yBAAKA,UAAU,OACb,yBAAKA,UAAU,oCACb,4BACE+C,KAAK,SACL/C,UAAU,wCACVyM,QAAS,kBAAM+/C,EAAeC,wBAHhC,WCzBL,IAAMM,GAAc,oBCA3B,IAAMs8B,GAAsB,CAC1B7lE,aAAa,EACbjC,gBAAgB,EAChBqC,WAAY,EACZC,SAAU,KACV2pC,mBAAe1nD,EACfie,UAAW,MAEAC,GACL,OADKA,GAEH,SCTHC,GDYqBC,aAAY,CACtCle,KAAM,UACNme,aAAcklE,GACdjlE,SAAU,CACRC,WAAY,SAAC/E,EAAOgF,GAClBhF,EAAM/U,MAAN,UAAiB+Z,EAAOvhB,KAAxB,aAAiCuhB,EAAOC,QAAQha,OAC5C+Z,EAAOC,QAAQC,WAAaR,GAC9B1E,EAAMkE,aAAc,EAEpBlE,EAAMiC,gBAAiB,GAG3BkD,UAAW,SAACnF,EAAOgF,GACjBhF,EAAM/U,MAAQ,KACV+Z,EAAOC,QAAQC,WAAaR,GAC9B1E,EAAMkE,aAAc,EAEpBlE,EAAMiC,gBAAiB,GAI3BgsC,cAAe,SAACjuC,EAAOgF,GACrBhF,EAAMiC,gBAAiB,EACvBjC,EAAMkuC,cAAgBlpC,EAAOC,QAAQipC,cACrCluC,EAAM/U,MAAQ,MAGhB4iD,eAAgB,SAAC7tC,EAAOgF,GACtB,MAAiCA,EAAOC,QAAhCX,EAAR,EAAQA,WAAYC,EAApB,EAAoBA,SACpBvE,EAAMkE,aAAc,EACpBlE,EAAM/U,MAAQ,KACd+U,EAAMuE,SAAWA,EACjBvE,EAAMsE,WAAaA,GAGrBiqC,cAAe,SAACvuC,EAAOgF,GACrBhF,EAAMiC,gBAAiB,EACvBjC,EAAM/U,MAAQ,KACd+U,EAAMuE,SAAS/a,KAAKwb,EAAOC,QAAQ+oC,SAGrCS,cAAe,SAACzuC,EAAOgF,GACrBhF,EAAM/U,MAAQ,KACd+U,EAAMiC,gBAAiB,EACvBjC,EAAMuE,SAAWvE,EAAMuE,SAAS9f,KAAI,SAAA+gB,GAClC,OAAIA,EAAO1kB,KAAOkkB,EAAOC,QAAQ+oC,OAAOltD,GAC/BkkB,EAAOC,QAAQ+oC,OAEjBxoC,MAIX4oC,cAAe,SAACpuC,EAAOgF,GACrBhF,EAAM/U,MAAQ,KACd+U,EAAMiC,gBAAiB,EACvBjC,EAAMuE,SAAWvE,EAAMuE,SAAStU,QAAO,SAAAyV,GAAE,OAAIA,EAAG5kB,KAAOkkB,EAAOC,QAAQnkB,OAGxEkpF,eAAgB,SAAChqE,EAAOgF,GACtBhF,EAAM/U,MAAQ,KACd+U,EAAMiC,gBAAiB,EACvBjC,EAAMuE,SAAWvE,EAAMuE,SAAStU,QAC9B,SAAAyV,GAAE,OAAKV,EAAOC,QAAQW,IAAIvV,SAASqV,EAAG5kB,QAI1CmpF,qBAAsB,SAACjqE,EAAOgF,GAC5BhF,EAAMiC,gBAAiB,EACvBjC,EAAM/U,MAAQ,KACd,MAAwB+Z,EAAOC,QAAvBW,EAAR,EAAQA,IAAKnQ,EAAb,EAAaA,OACbuK,EAAMuE,SAAWvE,EAAMuE,SAAS9f,KAAI,SAAA+gB,GAIlC,OAHII,EAAIE,WAAU,SAAAhlB,GAAE,OAAIA,IAAO0kB,EAAO1kB,OAAO,IAC3C0kB,EAAO/P,OAASA,GAEX+P,SCtFRb,QAEMgpC,GAAe,SAAC3nC,EAAa4nC,GAAd,OAA4B,SAAA3nC,GAEtD,OADAA,EAAStB,GAAQQ,UAAU,CAAED,SAAUR,MAClCkpC,EFcA,SAAqB5nC,EAAa4nC,GACvC,OAAO5qC,IAAMkD,KAAN,UAAcunC,GAAd,gBAAiCG,GAAa,CAAE5nC,gBEXhDG,CACQH,EAAa4nC,GACzBt4C,MAAK,SAAAC,GACJ,MAAiCA,EAAStS,KAAlCqhB,EAAR,EAAQA,WAAYC,EAApB,EAAoBA,SACpB0B,EAAStB,GAAQkpC,eAAe,CAAEvpC,aAAYC,iBAE/C1O,OAAM,SAAA5K,GACLA,EAAMmb,cAAgB,qBACtBH,EAAStB,GAAQI,WAAW,CAAE9Z,QAAOia,SAAUR,SAX1CuB,EAAStB,GAAQkpC,eAAe,CAAEvpC,WAAY,EAAGC,SAAU,UAezDupC,GAAc,SAAAhtD,GAAE,OAAI,SAAAmlB,GAC/B,OAAKnlB,GAILmlB,EAAStB,GAAQQ,UAAU,CAAED,SAAUR,OFbXqpC,EEeXjtD,EFdVkiB,IAAM3M,IAAN,UAAao3C,GAAb,YAA4BM,KEehCz4C,MAAK,SAAAC,GACJ,IAAMy4C,EAASz4C,EAAStS,KACxBgjB,EAAStB,GAAQspC,cAAc,CAAEC,cAAeF,QAEjDn4C,OAAM,SAAA5K,GACLA,EAAMmb,cAAgB,oBACtBH,EAAStB,GAAQI,WAAW,CAAE9Z,QAAOia,SAAUR,UAZ1CuB,EAAStB,GAAQspC,cAAc,CAAEC,mBAAe1nD,KFVpD,IAAuBunD,IE0BjBI,GAAe,SAAArtD,GAAE,OAAI,SAAAmlB,GAEhC,OADAA,EAAStB,GAAQQ,UAAU,CAAED,SAAUR,OFXZqpC,EEaXjtD,EFZTkiB,IAAMwD,OAAN,UAAgBinC,GAAhB,YAA+BM,KEanCz4C,MAAK,SAAAC,GACJ0Q,EAAStB,GAAQypC,cAAc,CAAEttD,WAElC+U,OAAM,SAAA5K,GACLA,EAAMmb,cAAgB,sBACtBH,EAAStB,GAAQI,WAAW,CAAE9Z,QAAOia,SAAUR,SFnB9C,IAAsBqpC,IEuBhBM,GAAe,SAAAC,GAAiB,OAAI,SAAAroC,GAE/C,OADAA,EAAStB,GAAQQ,UAAU,CAAED,SAAUR,OFlDZspC,EEoDXM,EFnDTtrC,IAAMkD,KAAKunC,GAAa,CAAEO,YEoD9B14C,MAAK,SAAAC,GACJ,IAAQy4C,EAAWz4C,EAAStS,KAApB+qD,OACR/nC,EAAStB,GAAQ4pC,cAAc,CAAEP,eAElCn4C,OAAM,SAAA5K,GACLA,EAAMmb,cAAgB,sBACtBH,EAAStB,GAAQI,WAAW,CAAE9Z,QAAOia,SAAUR,SF3D9C,IAAsBspC,IE+DhBQ,GAAe,SAAAR,GAAM,OAAI,SAAA/nC,GAEpC,OADAA,EAAStB,GAAQQ,UAAU,CAAED,SAAUR,MF3ClC,SAAsBspC,GAC3B,OAAOhrC,IAAM4D,IAAN,UAAa6mC,GAAb,YAA4BO,EAAOltD,IAAM,CAAEktD,WE2C3C7nC,CACS6nC,GACb14C,MAAK,WACJ2Q,EAAStB,GAAQ8pC,cAAc,CAAET,eAElCn4C,OAAM,SAAA5K,GACLA,EAAMmb,cAAgB,sBACtBH,EAAStB,GAAQI,WAAW,CAAE9Z,QAAOia,SAAUR,WAIxCwlE,GAAgB,SAAAtkE,GAAG,OAAI,SAAAK,GAElC,OADAA,EAAStB,GAAQQ,UAAU,CAAED,SAAUR,MF9ClC,SAAuBkB,GAC5B,OAAO5C,IAAMkD,KAAN,UAAcunC,GAAd,kBAA2C,CAAE7nC,QE8C7CO,CACUP,GACdtQ,MAAK,WACJxR,QAAQC,IAAI,iBACZkiB,EAAStB,GAAQqlE,eAAe,CAAEpkE,YAEnC/P,OAAM,SAAA5K,GACLA,EAAMmb,cAAgB,uBACtBH,EAAStB,GAAQI,WAAW,CAAE9Z,QAAOia,SAAUR,WCrFxCmQ,GAAyB,SACpCC,EACA5sB,EACA6sB,EAHoC,OAIlC25B,EAJkC,EAIlCA,qBAAsBC,EAJY,EAIZA,uBAJY,OAMpC,oCACE,kBAACxU,GAAA,EAAD,CACEjtC,QAAS,kBAAC4wB,GAAA,EAAD,CAASh9B,GAAG,0BAAZ,gBAET,uBACEJ,UAAU,uDACVyM,QAAS,kBAAMuhD,EAAqBxmD,EAAIpH,MAExC,0BAAMJ,UAAU,yCACd,kBAAC,KAAD,CACEwI,IAAKC,YAAc,iDAM3B,yCACA,kBAACgxC,GAAA,EAAD,CACEjtC,QAAS,kBAAC4wB,GAAA,EAAD,CAASh9B,GAAG,4BAAZ,kBAET,uBACEJ,UAAU,iDACVyM,QAAS,kBAAMwhD,EAAuBzmD,EAAIpH,MAE1C,0BAAMJ,UAAU,wCACd,kBAAC,KAAD,CAAKwI,IAAKC,YAAc,6CCf3B,SAASomD,KAEd,IAAMzC,EAAmBC,KACnBG,EAAiBx7B,mBAAQ,WAC7B,MAAO,CACL9L,IAAKknC,EAAiBlnC,IACtBuK,OAAQ28B,EAAiB38B,OACzBnK,YAAa8mC,EAAiB9mC,YAC9BoK,eAAgB08B,EAAiB18B,eACjCw9B,UAAWd,EAAiBc,UAC5Bc,qBAAsB5B,EAAiB4B,qBACvCC,uBAAwB7B,EAAiB6B,0BAE1C,CAAC7B,IAGI73B,EAAiBjR,cACvB,SAAChE,GAAD,MAAY,CAAEiV,aAAcjV,EAAMgxC,WAClC7sC,MAFM8Q,aAIA3Q,EAAsC2Q,EAAtC3Q,WAAYC,EAA0B0Q,EAA1B1Q,SAAUL,EAAgB+Q,EAAhB/Q,YACxB+B,EAAW0L,eACjBnd,qBAAU,WACR04C,EAAe/8B,OAAO,IACtBlK,EACEtB,GAAqBuoC,EAAelnC,YAAaknC,EAAeU,cAGjE,CAACV,EAAelnC,YAAaC,EAAUinC,EAAeU,YACzD,IAAM/gD,EAAU,CACd,CACEC,UAAW,KACXnN,KAAM,KACNyN,MAAM,EACNC,UAAWA,KAEb,CACEP,UAAW,WACXnN,KAAM,gBACNyN,MAAM,EACNC,UAAWA,KAEb,CACEP,UAAW,sBACXnN,KAAM,wBACNyN,MAAM,EACNC,UAAWA,KAEb,CACEP,UAAW,sBACXnN,KAAM,wBACNyN,MAAM,EACNC,UAAWA,KAEb,CACEP,UAAW,WACXnN,KAAM,YACNyN,MAAM,EACNC,UAAWA,KAEb,CACEP,UAAW,uBACXnN,KAAM,oBACNyN,MAAM,EACNC,UAAWA,KAEb,CACEP,UAAW,uBACXnN,KAAM,oBACNyN,MAAM,EACNC,UAAWA,KAEb,CACEP,UAAW,SACXnN,KAAM,UACNoN,UAAW8nB,GACXM,gBAAiB,CACfu5B,qBAAsBxB,EAAewB,qBACrCC,uBAAwBzB,EAAeyB,wBAEzC1tD,QAAS,mBACTm0B,cAAe,mBACftwB,MAAO,CACLuS,SAAU,WAKVge,EAAoB,CACxBC,QAAQ,EACRC,UAAWjR,EACX2K,gBAAiBuG,GACjBC,YAAay3B,EAAelnC,YAAY0J,SACxCgG,KAAMw3B,EAAelnC,YAAYyJ,YAEnC,OACE,oCACE,kBAAC,sBAAD,CAAoBje,WAAYC,KAAkB4jB,KAC/C,YAAgD,IAA7CM,EAA4C,EAA5CA,gBAAiBC,EAA2B,EAA3BA,qBACnB,OACE,kBAAC,KAAD,CACE7R,UAAWG,EACXyR,gBAAiBA,GAEjB,kBAAC,KAAD,eACEjkB,eAAe,mBACfzQ,QAAQ,gDACR2Q,UAAU,EACVD,YAAU,EACVkkB,QAAM,EACNxkB,SAAS,KACTpO,KAAmB,OAAbshB,EAAoB,GAAKA,EAC/B1X,QAASA,EACTyE,cAAekkB,GACfM,cAAeC,YACbm3B,EAAe98B,gBAEjBgI,UAAWC,YAAa,CACtB9T,WACAqB,IAAKsnC,EAAetnC,IACpBuK,OAAQ+8B,EAAe/8B,UAErByF,GAEJ,kBAAC,IAAD,CAAmBrR,SAAUA,IAC7B,kBAAC,IAAD,CAAuBA,SAAUA,UC/I1C,SAAS4rC,KACd,IAAQpsC,EAAcC,cACpB,SAAAhE,GAAK,MAAK,CAAE+D,UAAW/D,EAAMgxC,QAAQ9sC,eACrCC,MAFMJ,UAKR,OADAvP,qBAAU,cAAU,CAACuP,IACd,kBAAC,KAAD,CAAeA,UAAWA,EAAWpkB,KAAK,gB,aCF5C,SAASywD,KAEd,IAAMtD,EAAmBC,KACnBG,EAAiBx7B,mBAAQ,WAC7B,MAAO,CACL9L,IAAKknC,EAAiBlnC,IACtBuK,OAAQ28B,EAAiB38B,OACzBy9B,UAAWd,EAAiBc,UAC5B5nC,YAAa8mC,EAAiB9mC,YAC9BqqC,wBAAyBvD,EAAiBuD,wBAC1CC,yBAA0BxD,EAAiBwD,4BAE5C,CAACxD,IAEE7mC,EAAW0L,eACT5N,EAAcC,cACpB,SAAChE,GAAD,MAAY,CAAE+D,UAAW/D,EAAMgxC,QAAQ/uC,kBACvCkC,MAFMJ,UAKRvP,qBAAU,cAAU,CAACuP,EAAWkC,IAChCzR,qBAAU,WACH04C,EAAetnC,KAAqC,IAA9BsnC,EAAetnC,IAAIrc,QAC5C2jD,EAAeoD,6BAGhB,CAACpD,EAAetnC,MAgBnB,OACE,kBAACuB,GAAA,EAAD,CACErV,KAAMo7C,EAAemD,wBACrBt+C,OAAQm7C,EAAeoD,yBACvBt+C,kBAAgB,gCAEf+R,GAAa,kBAAC,KAAD,CAAkBsQ,QAAQ,UACxC,kBAAClN,GAAA,EAAMlV,OAAP,CAAcmV,aAAW,GACvB,kBAACD,GAAA,EAAM9U,MAAP,CAAavR,GAAG,gCAAhB,mBAIF,kBAACqmB,GAAA,EAAMhV,KAAP,MACI4R,GACA,sFAEDA,GAAa,0DAEhB,kBAACoD,GAAA,EAAM/U,OAAP,KACE,6BACE,4BACE3O,KAAK,SACL0J,QAAS+/C,EAAeoD,yBACxB5vD,UAAU,6BAHZ,UAOA,yCACA,4BACE+C,KAAK,SACL0J,QA5CY,WACpB8Y,EAAStB,GAAsBuoC,EAAetnC,MAAMtQ,MAAK,WACvD2Q,EACEtB,GACEuoC,EAAelnC,YACfknC,EAAeU,YAEjBt4C,MAAK,WACL43C,EAAe/8B,OAAO,IACtB+8B,EAAeoD,kCAoCX5vD,UAAU,+BAHZ,aCtEH,SAAS6vD,KAEd,IAAMzD,EAAmBC,KACnBG,EAAiBx7B,mBAAQ,WAC7B,MAAO,CACL5wB,GAAIgsD,EAAiB0D,WACrBrgC,OAAQ28B,EAAiB38B,OACzBy9B,UAAWd,EAAiBc,UAC5B5nC,YAAa8mC,EAAiB9mC,YAC9ByqC,uBAAwB3D,EAAiB2D,uBACzCC,wBAAyB5D,EAAiB4D,2BAE3C,CAAC5D,IAGE7mC,EAAW0L,eACT5N,EAAcC,cACpB,SAAChE,GAAD,MAAY,CAAE+D,UAAW/D,EAAMgxC,QAAQ/uC,kBACvCkC,MAFMJ,UAMRvP,qBAAU,WACH04C,EAAepsD,IAClBosD,EAAewD,4BAGhB,CAACxD,EAAepsD,KAGnB0T,qBAAU,cAAU,CAACuP,EAAWkC,IAmBhC,OACE,kBAACkB,GAAA,EAAD,CACErV,KAAMo7C,EAAeuD,uBACrB1+C,OAAQm7C,EAAewD,wBACvB1+C,kBAAgB,gCAEf+R,GAAa,kBAAC,KAAD,CAAkBsQ,QAAQ,UACxC,kBAAClN,GAAA,EAAMlV,OAAP,CAAcmV,aAAW,GACvB,kBAACD,GAAA,EAAM9U,MAAP,CAAavR,GAAG,gCAAhB,kBAIF,kBAACqmB,GAAA,EAAMhV,KAAP,MACI4R,GACA,iFAEDA,GAAa,wDAEhB,kBAACoD,GAAA,EAAM/U,OAAP,KACE,6BACE,4BACE3O,KAAK,SACL0J,QAAS+/C,EAAewD,wBACxBhwD,UAAU,6BAHZ,UAOA,yCACA,4BACE+C,KAAK,SACL0J,QA/CW,WAEnB8Y,EAAStB,GAAqBuoC,EAAepsD,KAAKwU,MAAK,WAErD2Q,EACEtB,GACEuoC,EAAelnC,YACfknC,EAAeU,YAInBV,EAAe/8B,OAAO,IAEtB+8B,EAAewD,8BAmCThwD,UAAU,+BAHZ,aChFV,IAAMiwD,GAAkB,SAACpsC,EAAUqB,GACjC,IAAMgrC,EAAW,GAOjB,OANAhrC,EAAIhkB,SAAQ,SAACd,GACX,IAAMktD,EAASzpC,EAASV,MAAK,SAAC6B,GAAD,OAAQA,EAAG5kB,KAAOA,KAC3CktD,GACF4C,EAASpnD,KAAKwkD,MAGX4C,GAGF,SAASC,KAEd,IAAM/D,EAAmBC,KACnBG,EAAiBx7B,mBAAQ,WAC7B,MAAO,CACL9L,IAAKknC,EAAiBlnC,IACtBI,YAAa8mC,EAAiB9mC,YAC9B8qC,uBAAwBhE,EAAiBgE,uBACzCC,wBAAyBjE,EAAiBiE,2BAE3C,CAACjE,IAEIkE,EAAYhtC,cAClB,SAAChE,GAAD,MAAY,CACVgxC,QAASL,GAAgB3wC,EAAMgxC,QAAQzsC,SAAU2oC,EAAetnC,QAElEzB,MAJM6sC,QAcR,OAPAx8C,qBAAU,WACH04C,EAAetnC,KAAqC,IAA9BsnC,EAAetnC,IAAIrc,QAC5C2jD,EAAe6D,4BAGhB,CAAC7D,EAAetnC,MAGjB,kBAACuB,GAAA,EAAD,CACErV,KAAMo7C,EAAe4D,uBACrB/+C,OAAQm7C,EAAe6D,wBACvB/+C,kBAAgB,gCAEhB,kBAACmV,GAAA,EAAMlV,OAAP,CAAcmV,aAAW,GACvB,kBAACD,GAAA,EAAM9U,MAAP,CAAavR,GAAG,gCAAhB,4BAIF,kBAACqmB,GAAA,EAAMhV,KAAP,KACE,yBAAKzR,UAAU,qDACb,yBAAKA,UAAU,uBACZswD,EAAQvsD,KAAI,SAACupD,GAAD,OACX,yBAAKttD,UAAU,0BAA0BsH,IAAKgmD,EAAOltD,IACnD,0BAAMJ,UAAU,sBACd,0BACEA,UAAU,kDACVoE,MAAO,CAAEgS,MAAO,SAFlB,OAIOk3C,EAAOltD,IACN,IACR,0BAAMJ,UAAU,QAAQstD,EAAOruD,KAA/B,aAOZ,kBAACwnB,GAAA,EAAM/U,OAAP,KACE,6BACE,4BACE3O,KAAK,SACL0J,QAAS+/C,EAAe6D,wBACxBrwD,UAAU,6BAHZ,UAOA,yCACA,4BACE+C,KAAK,SACL0J,QAAS+/C,EAAe6D,wBACxBrwD,UAAU,+BAHZ,SC/EH,SAAS22H,KAEd,IAAMvqE,EAAmBC,KACnBG,EAAiBx7B,mBAAQ,WAC7B,MAAO,CACL9L,IAAKknC,EAAiBlnC,IACtBs3E,wBAAyBpwC,EAAiBowC,wBAC1CC,uBAAwBrwC,EAAiBqwC,0BAE1C,CAACrwC,IAEJ,OACE,yBAAKpsD,UAAU,QACb,yBAAKA,UAAU,2DACb,yBAAKA,UAAU,aACb,yBAAKA,UAAU,gCACb,yBAAKA,UAAU,iCACb,2BAAOA,UAAU,8BACf,yDAA+BwsD,EAAetnC,IAAIrc,UAGtD,yBAAK7I,UAAU,qBACb,4BACE+C,KAAK,SACL/C,UAAU,iDACVyM,QAAS+/C,EAAegwC,yBAExB,uBAAGx8F,UAAU,gBALf,eADF,OASE,4BACE+C,KAAK,SACL/C,UAAU,wDACVyM,QAAS+/C,EAAeiwC,wBAExB,uBAAGz8F,UAAU,iBALf,wBC3BP,SAASuwD,GAAT,GAAyC,IAAPnwD,EAAM,EAANA,GACvC,EAA0B4M,mBAAS,IAAnC,oBAAOoS,EAAP,KAAckH,EAAd,KAEA,EAA0ChD,cACxC,SAAChE,GAAD,MAAY,CACVkuC,cAAeluC,EAAMgxC,QAAQ9C,cAC7BjsC,eAAgBjC,EAAMgxC,QAAQ/uC,kBAEhCkC,MALM+pC,EAAR,EAAQA,cAAejsC,EAAvB,EAAuBA,eAkBvB,OAVAzN,qBAAU,WACR,IAAIyS,EAASnmB,EAAK,GAAK,aACnBotD,GAAiBptD,IACnBmmB,EAAS,eAGXD,EAASC,KAER,CAACinC,EAAejsC,IAGjB,oCACGA,GAAkB,kBAAC,KAAD,CAAkBoS,QAAQ,UAC7C,kBAAClN,GAAA,EAAMlV,OAAP,CAAcmV,aAAW,GACvB,kBAACD,GAAA,EAAM9U,MAAP,CAAavR,GAAG,gCAAgCgf,K,2yMCfxD,IAAMw3G,GAAmB11G,OAAaC,MAAM,IAGrC,SAAS0vC,GAAT,GAAyE,IAA/CC,EAA8C,EAA9CA,WAAYxD,EAAkC,EAAlCA,OAAQ/rC,EAA0B,EAA1BA,eAAgBlQ,EAAU,EAAVA,OACnE,EAAuCrE,mBAAS,IAAhD,oBAAO6pH,EAAP,KAAuBC,EAAvB,KACAhjH,qBAAU,WACR+Y,MACD,IAEH,IAAMA,EAAe,wCAAG,8GAEKvK,IAAM3M,IAAI,+BAFf,OAEVxG,EAFU,OAGhB2nH,EAAa3nH,EAAO5M,KAAP,MAAqB63B,OAHlB,uGAAH,qDAMnB,OACE,oCACE,kBAAC,KAAD,CACE7X,oBAAoB,EACpBC,cAAe8qC,EACf7qC,iBAAkBm0G,GAClBl0G,SAAU,SAACxb,GAAD,OAAY4pD,EAAW5pD,MAEhC,gBAAG6b,EAAH,EAAGA,aAAH,OACC,oCACE,kBAAC0D,GAAA,EAAMhV,KAAP,CAAYzR,UAAU,yBACnBuhB,GACC,yBAAKvhB,UAAU,gCACb,yBAAKA,UAAU,wCAGnB,kBAAC,KAAD,CAAMA,UAAU,yBACd,yBAAKA,UAAU,kBACb,yBAAKA,UAAU,YACd,kBAAC,KAAD,CAAQgG,KAAK,SAASxC,MAAM,aACzB,4BAAQrE,MAAM,IAAd,UACC03H,EAAe9yH,KAAI,SAACC,EAAMC,GAAP,OAClB,4BAAQqD,IAAKrD,EAAO9E,MAAO6E,EAAKJ,IAAKI,EAAKH,WAIhD,yBAAK7D,UAAU,mCACb,+FAGJ,wBAAIA,UAAU,kCAAd,6BACA,yBAAKA,UAAU,mBACf,yBAAKA,UAAU,mBACb,yBAAKA,UAAU,YAEb,kBAAC,KAAD,CACE+C,KAAK,OACLiD,KAAK,yBACL0I,UAAW2f,KACXjf,YAAY,yBACZ5L,MAAM,4BAGV,yBAAKxD,UAAU,mCACb,mMAMJ,yBAAKA,UAAU,kBACb,yBAAKA,UAAU,YAEb,kBAAC,KAAD,CACE+C,KAAK,OACLiD,KAAK,yBACL0I,UAAW2f,KACXjf,YAAY,yBACZ5L,MAAM,4BAGV,yBAAKxD,UAAU,mCACb,oMAMJ,yBAAKA,UAAU,kBACb,yBAAKA,UAAU,YAEb,kBAAC,KAAD,CACE+C,KAAK,OACLiD,KAAK,YACL0I,UAAW2f,KACXjf,YAAY,YACZ5L,MAAM,eAGV,yBAAKxD,UAAU,mCACb,uEAA4C,6CAA5C,oEACmE,iDADnE,uIAQJ,wBAAIA,UAAU,kCAAd,8BACA,yBAAKA,UAAU,cACf,yBAAKA,UAAU,kBACb,yBAAKA,UAAU,YAEb,kBAAC,KAAD,CACE+C,KAAK,OACLiD,KAAK,yBACL0I,UAAW2f,KACXjf,YAAY,yBACZ5L,MAAM,4BAGV,yBAAKxD,UAAU,mCACb,2FAIJ,yBAAKA,UAAU,kBACb,yBAAKA,UAAU,YAEb,kBAAC,KAAD,CACE+C,KAAK,OACLiD,KAAK,yBACL0I,UAAW2f,KACXjf,YAAY,yBACZ5L,MAAM,4BAGV,yBAAKxD,UAAU,mCACb,2FAOR,kBAACymB,GAAA,EAAM/U,OAAP,KACE,4BACE3O,KAAK,SACL0J,QAAS4E,EACTrR,UAAU,6BAHZ,UAOA,yCACA,4BACE+C,KAAK,SACL0J,QAAS,kBAAMsW,KACf/iB,UAAU,+BAHZ,cC5IP,SAASwwD,KAEd,IAAMpE,EAAmBC,KACnBG,EAAiBx7B,mBAAQ,WAC7B,MAAO,CACL5wB,GAAIgsD,EAAiB0D,WACrBrgC,OAAQ28B,EAAiB38B,OACzBy9B,UAAWd,EAAiBc,UAC5B5nC,YAAa8mC,EAAiB9mC,YAC9BmrC,qBAAsBrE,EAAiBqE,qBACvCC,sBAAuBtE,EAAiBsE,sBACxCC,WAAYvE,EAAiBuE,cAE9B,CAACvE,IAGE7mC,EAAW0L,eACjB,EAA0C3N,cACxC,SAAChE,GAAD,MAAY,CACViC,eAAgBjC,EAAMgxC,QAAQ/uC,eAC9BisC,cAAeluC,EAAMgxC,QAAQ9C,iBAE/B/pC,MALMlC,EAAR,EAAQA,eAAgBisC,EAAxB,EAAwBA,cAQxB15C,qBAAU,WAERyR,EAAStB,GAAoBuoC,EAAepsD,OAC3C,CAACosD,EAAepsD,GAAImlB,IAyCvB,OACE,kBAACkB,GAAA,EAAD,CACEtV,KAAK,KACLC,KAAMo7C,EAAeiE,qBACrBp/C,OAAQm7C,EAAekE,sBACvBp/C,kBAAgB,gCAEhB,kBAACi/C,GAAD,CAAwBnwD,GAAIosD,EAAepsD,KAC3C,kBAACywD,GAAD,CACEC,WAhDa,SAACxD,GAClBlqD,QAAQC,IAAI,YACZD,QAAQC,IAAIiqD,GACPd,EAAepsD,GAkBlBmlB,EAAStB,GAAqBqpC,IAAS14C,MAAK,WAE1C2Q,EAEEtB,GACEuoC,EAAelnC,YACfknC,EAAeU,YAEjBt4C,MAAK,WAEL43C,EAAe/8B,OAAO,IAEtB+8B,EAAekE,8BA5BnBnrC,EAAStB,GAAqBqpC,IAAS14C,MAAK,WAE1C2Q,EACEtB,GACEuoC,EAAelnC,YACfknC,EAAeU,YAEjBt4C,MAAK,WAEL43C,EAAe/8B,OAAO,IAEtB+8B,EAAekE,+BAiCjBnvC,eAAgBA,EAChB+rC,OAAQE,GAAiBhB,EAAemE,WACxCt/C,OAAQm7C,EAAekE,yBC/FxB,SAASmP,KAEd,IAAMzT,EAAmBC,KACnBG,EAAiBx7B,mBAAQ,WAC7B,MAAO,CAAE9L,IAAKknC,EAAiBlnC,OAC9B,CAACknC,IAEJ,OACE,oCACE,kBAACqD,GAAD,MACA,kBAACe,GAAD,MACA,kBAACX,GAAD,MACA,kBAACH,GAAD,MACA,kBAACS,GAAD,MACA,yBAAKnwD,UAAU,oBACb,kBAACmsD,GAAD,MACCK,EAAetnC,IAAIrc,OAAS,GAAK,kBAAC8tH,GAAD,OAEpC,kBAAC9nE,GAAD,OC7BC,IAAMj+C,GAAgB,CAAC,CAAExE,UAAW,KAAMyE,MAAO,SAC3C0d,GAAkB,CAC7B,CAAEtvB,KAAM,IAAKE,MAAO,GACpB,CAAEF,KAAM,IAAKE,MAAO,GACpB,CAAEF,KAAM,IAAKE,MAAO,IAETqvB,GAAgB,CAC3Bjf,OAAQ,CACNtQ,KAAM,IAER4vB,UAAW,MACXC,UAAW,KACXC,WAAY,EACZC,SAAU,GCRNusE,GAAmBrsE,0BAElB,SAASm9B,KACd,OAAOj9B,qBAAWmsE,IAGaA,GAAiBlsE,SAE3C,SAAS0nG,GAAT,GAAkE,IAA/Bt7B,EAA8B,EAA9BA,iBAAkB/yE,EAAY,EAAZA,SAC1D,EAAkC1b,mBAASyuF,GAA3C,oBAAOvuC,EAAP,KAAkBwuC,EAAlB,KACA,EAA0C1uF,mBAASwhB,IAAnD,oBAAOlJ,EAAP,KAAoBkK,EAApB,KACA,EAAsBxiB,mBAAS,IAA/B,oBAAOkY,EAAP,KAAYuK,EAAZ,KACMC,EAAiBC,uBAAY,SAAAC,GACjCJ,GAAmB,SAAAK,GAKjB,OAJIC,sBAAWF,KACbA,EAAkBA,EAAgBC,IAGhCE,mBAAQF,EAAiBD,GACpBC,EAGFD,OAER,IACH,EAAoC5iB,mBAAS,MAA7C,oBAAO8iD,EAAP,KAAmB6rC,EAAnB,KACA,EAAwD3uF,oBAAS,GAAjE,oBAAOyjD,EAAP,KAA6BmrC,EAA7B,KACMjrC,EAAa,CACjBvwD,QAAI0F,EACJ7G,KAAM,GACN8D,KAAM,EACN4kG,QAAS,aACTvL,MAAOlvC,GAETp5C,qBAAU,WACR68C,EAAWzD,UAAYuuC,EACvB9qC,EAAWyrC,MAAQX,EACnBC,EAAaD,KAEZ,CAACA,IACJ,IAYA,EAA4DzuF,oBAAS,GAArE,oBAAO+iD,EAAP,KAA+BssC,EAA/B,KAUA,EAA8DrvF,oBAAS,GAAvE,oBAAO2iD,EAAP,KAAgC2sC,EAAhC,KAQA,EAA4DtvF,oBAAS,GAArE,oBAAOojD,EAAP,KAA+BmsC,EAA/B,KAQMp9F,EAAQ,CACZ+lB,MACAuK,SACAy9B,YACAwuC,eACAp2E,cACAoK,iBACAihC,aACAb,aACAW,uBACAhE,oBAhD0B,WAC1BkvC,OAAc71F,GACd81F,GAAwB,IA+CxB5tC,qBA7C2B,SAAA5tD,GAC3Bu7F,EAAcv7F,GACdw7F,GAAwB,IA4CxBlrC,sBA1C4B,WAC5BirC,OAAc71F,GACd81F,GAAwB,IAyCxB7rC,yBACA9B,uBAvC6B,SAAA7tD,GAC7Bu7F,EAAcv7F,GACdi8F,GAA0B,IAsC1BrsC,wBApC8B,WAC9B2rC,OAAc71F,GACdu2F,GAA0B,IAmC1B1sC,0BACA6sC,wBAhC8B,WAC9BF,GAA2B,IAgC3B1sC,yBA9B+B,WAC/B0sC,GAA2B,IA8B3BG,uBA1B6B,WAC7BF,GAA0B,IA0B1BlsC,wBAxB8B,WAC9BksC,GAA0B,IAwB1BnsC,0BAGF,OACE,kBAAC,GAAiBx/B,SAAlB,CAA2BzxB,MAAOA,GAC/BupB,GC/FA,SAASyjC,KAEd,IAAMC,EAAmBC,KACnBG,EAAiBx7B,mBAAQ,WAC7B,MAAO,CACLtB,eAAgB08B,EAAiB18B,eACjC+8B,oBAAqBL,EAAiBK,oBACtCnnC,YAAa8mC,EAAiB9mC,eAE/B,CAAC8mC,IAEE55B,EAAc,SAACtrB,GACnB,IAAMurB,EArBY,SAACnN,EAAape,GAClC,IAAQwrB,EAAexrB,EAAfwrB,WACFD,EAAc,eAAQnN,GACtB/V,EAAS,GAGf,OAFAA,EAAOtQ,KAAOyzB,EACdD,EAAeljB,OAASA,EACjBkjB,EAekBG,CAAc45B,EAAelnC,YAAape,GAC5D6oB,mBAAQ0C,EAAgB+5B,EAAelnC,eAC1CmN,EAAe1D,WAAa,EAC5By9B,EAAe98B,eAAe+C,KAIlC,OACE,oCACE,yBAAKzyB,UAAU,mBACb,yBAAKA,UAAU,0BACb,yBAAKA,UAAU,oCACb,kBAAC,KAAD,CACEwiB,cAAe,CACbkQ,WAAY,IAEdhQ,SAAU,SAACxb,GACTsrB,EAAYtrB,MAGb,cACCA,OADD,IAEC6b,EAFD,EAECA,aAFD,EAGCqQ,WAHD,EAICC,aAJD,EAKCngB,cALD,OAOC,0BAAMwP,SAAUK,QAMtB,yBAAK/iB,UAAU,qCACf,yBAAKA,UAAU,+CACb,4BACE+C,KAAK,SACL/C,UAAU,kBACVyM,QAAS,kBAAM+/C,EAAeC,wBAHhC,WC3DZ,IAAM48B,GAAsB,CAC1B7lE,aAAa,EACbjC,gBAAgB,EAChBqC,WAAY,EACZC,SAAU,KACV2pC,mBAAe1nD,EACfie,UAAW,MAEAC,GACL,OADKA,GAEH,SCTHC,GDYqBC,aAAY,CACtCle,KAAM,UACNme,aAAcklE,GACdjlE,SAAU,CACRC,WAAY,SAAC/E,EAAOgF,GAClBhF,EAAM/U,MAAN,UAAiB+Z,EAAOvhB,KAAxB,aAAiCuhB,EAAOC,QAAQha,OAC5C+Z,EAAOC,QAAQC,WAAaR,GAC9B1E,EAAMkE,aAAc,EAEpBlE,EAAMiC,gBAAiB,GAG3BkD,UAAW,SAACnF,EAAOgF,GACjBhF,EAAM/U,MAAQ,KACV+Z,EAAOC,QAAQC,WAAaR,GAC9B1E,EAAMkE,aAAc,EAEpBlE,EAAMiC,gBAAiB,GAI3BgsC,cAAe,SAACjuC,EAAOgF,GACrBhF,EAAMiC,gBAAiB,EACvBjC,EAAMkuC,cAAgBlpC,EAAOC,QAAQipC,cACrCluC,EAAM/U,MAAQ,MAGhB4iD,eAAgB,SAAC7tC,EAAOgF,GACtB,MAAiCA,EAAOC,QAAhCX,EAAR,EAAQA,WAAYC,EAApB,EAAoBA,SACpBvE,EAAMkE,aAAc,EACpBlE,EAAM/U,MAAQ,KACd+U,EAAMuE,SAAWA,EACjBvE,EAAMsE,WAAaA,GAGrBiqC,cAAe,SAACvuC,EAAOgF,GACrBhF,EAAMiC,gBAAiB,EACvBjC,EAAM/U,MAAQ,KACd+U,EAAMuE,SAAS/a,KAAKwb,EAAOC,QAAQ+oC,SAGrCS,cAAe,SAACzuC,EAAOgF,GACrBhF,EAAM/U,MAAQ,KACd+U,EAAMiC,gBAAiB,EACvBjC,EAAMuE,SAAWvE,EAAMuE,SAAS9f,KAAI,SAAA+gB,GAClC,OAAIA,EAAO1kB,KAAOkkB,EAAOC,QAAQ+oC,OAAOltD,GAC/BkkB,EAAOC,QAAQ+oC,OAEjBxoC,MAIX4oC,cAAe,SAACpuC,EAAOgF,GACrBhF,EAAM/U,MAAQ,KACd+U,EAAMiC,gBAAiB,EACvBjC,EAAMuE,SAAWvE,EAAMuE,SAAStU,QAAO,SAAAyV,GAAE,OAAIA,EAAG5kB,KAAOkkB,EAAOC,QAAQnkB,OAGxEkpF,eAAgB,SAAChqE,EAAOgF,GACtBhF,EAAM/U,MAAQ,KACd+U,EAAMiC,gBAAiB,EACvBjC,EAAMuE,SAAWvE,EAAMuE,SAAStU,QAC9B,SAAAyV,GAAE,OAAKV,EAAOC,QAAQW,IAAIvV,SAASqV,EAAG5kB,QAI1CmpF,qBAAsB,SAACjqE,EAAOgF,GAC5BhF,EAAMiC,gBAAiB,EACvBjC,EAAM/U,MAAQ,KACd,MAAwB+Z,EAAOC,QAAvBW,EAAR,EAAQA,IAAKnQ,EAAb,EAAaA,OACbuK,EAAMuE,SAAWvE,EAAMuE,SAAS9f,KAAI,SAAA+gB,GAIlC,OAHII,EAAIE,WAAU,SAAAhlB,GAAE,OAAIA,IAAO0kB,EAAO1kB,OAAO,IAC3C0kB,EAAO/P,OAASA,GAEX+P,SCtFRb,QAEMgpC,GAAe,SAAC3nC,EAAa4nC,GAAd,OAA4B,SAAA3nC,GAEtD,OADAA,EAAStB,GAAQQ,UAAU,CAAED,SAAUR,MAClCkpC,ECcA,SAAqB5nC,EAAa4nC,GACvC,OAAO5qC,IAAMkD,KAAN,UApBkB,oBAoBlB,gBAAiC0nC,GAAa,CAAE5nC,gBDXhDG,CACQH,EAAa4nC,GACzBt4C,MAAK,SAAAC,GACJ,MAAiCA,EAAStS,KAAlCqhB,EAAR,EAAQA,WAAYC,EAApB,EAAoBA,SACpB0B,EAAStB,GAAQkpC,eAAe,CAAEvpC,aAAYC,iBAE/C1O,OAAM,SAAA5K,GACLA,EAAMmb,cAAgB,qBACtBH,EAAStB,GAAQI,WAAW,CAAE9Z,QAAOia,SAAUR,SAX1CuB,EAAStB,GAAQkpC,eAAe,CAAEvpC,WAAY,EAAGC,SAAU,UAezDupC,GAAc,SAAAhtD,GAAE,OAAI,SAAAmlB,GAC/B,OAAKnlB,GAILmlB,EAAStB,GAAQQ,UAAU,CAAED,SAAUR,OCbXqpC,EDeXjtD,ECdVkiB,IAAM3M,IAAN,UAdkB,oBAclB,YAA4B03C,KDehCz4C,MAAK,SAAAC,GACJ,IAAMy4C,EAASz4C,EAAStS,KACxBgjB,EAAStB,GAAQspC,cAAc,CAAEC,cAAeF,QAEjDn4C,OAAM,SAAA5K,GACLA,EAAMmb,cAAgB,oBACtBH,EAAStB,GAAQI,WAAW,CAAE9Z,QAAOia,SAAUR,UAZ1CuB,EAAStB,GAAQspC,cAAc,CAAEC,mBAAe1nD,KCVpD,IAAuBunD,ID0BjBI,GAAe,SAAArtD,GAAE,OAAI,SAAAmlB,GAEhC,OADAA,EAAStB,GAAQQ,UAAU,CAAED,SAAUR,OCXZqpC,EDaXjtD,ECZTkiB,IAAMwD,OAAN,UA9BkB,oBA8BlB,YAA+BunC,KDanCz4C,MAAK,SAAAC,GACJ0Q,EAAStB,GAAQypC,cAAc,CAAEttD,WAElC+U,OAAM,SAAA5K,GACLA,EAAMmb,cAAgB,sBACtBH,EAAStB,GAAQI,WAAW,CAAE9Z,QAAOia,SAAUR,SCnB9C,IAAsBqpC,IDuBhBM,GAAe,SAAAC,GAAiB,OAAI,SAAAroC,GAE/C,OADAA,EAAStB,GAAQQ,UAAU,CAAED,SAAUR,OClDZspC,EDoDXM,ECnDTtrC,IAAMkD,KAJY,oBAIM,CAAE8nC,YDoD9B14C,MAAK,SAAAC,GACJ,IAAQy4C,EAAWz4C,EAAStS,KAApB+qD,OACR/nC,EAAStB,GAAQ4pC,cAAc,CAAEP,eAElCn4C,OAAM,SAAA5K,GACLA,EAAMmb,cAAgB,sBACtBH,EAAStB,GAAQI,WAAW,CAAE9Z,QAAOia,SAAUR,SC3D9C,IAAsBspC,ID+DhBQ,GAAe,SAAAR,GAAM,OAAI,SAAA/nC,GAEpC,OADAA,EAAStB,GAAQQ,UAAU,CAAED,SAAUR,MC3ClC,SAAsBspC,GAC3B,OAAOhrC,IAAM4D,IAAN,UAzBkB,oBAyBlB,YAA4BonC,EAAOltD,IAAM,CAAEktD,WD2C3C7nC,CACS6nC,GACb14C,MAAK,WACJ2Q,EAAStB,GAAQ8pC,cAAc,CAAET,eAElCn4C,OAAM,SAAA5K,GACLA,EAAMmb,cAAgB,sBACtBH,EAAStB,GAAQI,WAAW,CAAE9Z,QAAOia,SAAUR,WAIxCwlE,GAAgB,SAAAtkE,GAAG,OAAI,SAAAK,GAElC,OADAA,EAAStB,GAAQQ,UAAU,CAAED,SAAUR,MC9ClC,SAAuBkB,GAC5B,OAAO5C,IAAMkD,KAAN,UAnCkB,oBAmClB,kBAA2C,CAAEN,QD8C7CO,CACUP,GACdtQ,MAAK,WACJxR,QAAQC,IAAI,iBACZkiB,EAAStB,GAAQqlE,eAAe,CAAEpkE,YAEnC/P,OAAM,SAAA5K,GACLA,EAAMmb,cAAgB,uBACtBH,EAAStB,GAAQI,WAAW,CAAE9Z,QAAOia,SAAUR,WErFxCmQ,GAAyB,SACpCC,EACA5sB,EACA6sB,EAHoC,OAIlC25B,EAJkC,EAIlCA,qBAAsBC,EAJY,EAIZA,uBAJY,OAMpC,oCACE,kBAACxU,GAAA,EAAD,CACEjtC,QAAS,kBAAC4wB,GAAA,EAAD,CAASh9B,GAAG,0BAAZ,gBAET,uBACEJ,UAAU,uDACVyM,QAAS,kBAAMuhD,EAAqBxmD,EAAIpH,MAExC,0BAAMJ,UAAU,yCACd,kBAAC,KAAD,CACEwI,IAAKC,YAAc,iDAM3B,yCACA,kBAACgxC,GAAA,EAAD,CACEjtC,QAAS,kBAAC4wB,GAAA,EAAD,CAASh9B,GAAG,4BAAZ,kBAET,uBACEJ,UAAU,iDACVyM,QAAS,kBAAMwhD,EAAuBzmD,EAAIpH,MAE1C,0BAAMJ,UAAU,wCACd,kBAAC,KAAD,CAAKwI,IAAKC,YAAc,6CCf3B,SAASomD,KAEd,IAAMzC,EAAmBC,KACnBG,EAAiBx7B,mBAAQ,WAC7B,MAAO,CACL9L,IAAKknC,EAAiBlnC,IACtBuK,OAAQ28B,EAAiB38B,OACzBnK,YAAa8mC,EAAiB9mC,YAC9BoK,eAAgB08B,EAAiB18B,eACjCw9B,UAAWd,EAAiBc,UAC5Bc,qBAAsB5B,EAAiB4B,qBACvCC,uBAAwB7B,EAAiB6B,0BAE1C,CAAC7B,IAGI73B,EAAiBjR,cACvB,SAAChE,GAAD,MAAY,CAAEiV,aAAcjV,EAAMgxC,WAClC7sC,MAFM8Q,aAIA3Q,EAAsC2Q,EAAtC3Q,WAAYC,EAA0B0Q,EAA1B1Q,SAAUL,EAAgB+Q,EAAhB/Q,YACxB+B,EAAW0L,eACjBnd,qBAAU,WACR04C,EAAe/8B,OAAO,IACtBlK,EACEtB,GAAqBuoC,EAAelnC,YAAaknC,EAAeU,cAGjE,CAACV,EAAelnC,YAAaC,EAAUinC,EAAeU,YACzD,IAAM/gD,EAAU,CACd,CACEC,UAAW,KACXnN,KAAM,KACNyN,MAAM,EACNC,UAAWA,KAEb,CACEP,UAAW,QACXnN,KAAM,QACNyN,MAAM,EACNC,UAAWA,KAEb,CACEP,UAAW,OACXnN,KAAM,OACNyN,MAAM,EACNC,UAAWA,KAEb,CACEP,UAAW,OACXnN,KAAM,OACNyN,MAAM,EACNC,UAAWA,KAEb,CACEP,UAAW,UACXnN,KAAM,WACNyN,MAAM,EACNC,UAAWA,KAEb,CACEP,UAAW,YACXnN,KAAM,YACNyN,MAAM,EACNC,UAAWA,KAEb,CACEP,UAAW,SACXnN,KAAM,UACNoN,UAAW8nB,GACXM,gBAAiB,CACfu5B,qBAAsBxB,EAAewB,qBACrCC,uBAAwBzB,EAAeyB,wBAEzC1tD,QAAS,mBACTm0B,cAAe,mBACftwB,MAAO,CACLuS,SAAU,WAKVge,EAAoB,CACxBC,QAAQ,EACRC,UAAWjR,EACX2K,gBAAiBuG,GACjBC,YAAay3B,EAAelnC,YAAY0J,SACxCgG,KAAMw3B,EAAelnC,YAAYyJ,YAEnC,OACE,oCACE,kBAAC,sBAAD,CAAoBje,WAAYC,KAAkB4jB,KAC/C,YAAgD,IAA7CM,EAA4C,EAA5CA,gBAAiBC,EAA2B,EAA3BA,qBACnB,OACE,kBAAC,KAAD,CACE7R,UAAWG,EACXyR,gBAAiBA,GAEjB,kBAAC,KAAD,eACEjkB,eAAe,mBACfzQ,QAAQ,gDACR2Q,UAAU,EACVD,YAAU,EACVkkB,QAAM,EACNxkB,SAAS,KACTpO,KAAmB,OAAbshB,EAAoB,GAAKA,EAC/B1X,QAASA,EACTyE,cAAekkB,GACfM,cAAeC,YACbm3B,EAAe98B,gBAEjBgI,UAAWC,YAAa,CACtB9T,WACAqB,IAAKsnC,EAAetnC,IACpBuK,OAAQ+8B,EAAe/8B,UAErByF,GAEJ,kBAAC,IAAD,CAAmBrR,SAAUA,IAC7B,kBAAC,IAAD,CAAuBA,SAAUA,UCzI1C,SAAS4rC,KACd,IAAQpsC,EAAcC,cACpB,SAAAhE,GAAK,MAAK,CAAE+D,UAAW/D,EAAMgxC,QAAQ9sC,eACrCC,MAFMJ,UAKR,OADAvP,qBAAU,cAAU,CAACuP,IACd,kBAAC,KAAD,CAAeA,UAAWA,EAAWpkB,KAAK,gBCF5C,SAASywD,KAEd,IAAMtD,EAAmBC,KACnBG,EAAiBx7B,mBAAQ,WAC7B,MAAO,CACL9L,IAAKknC,EAAiBlnC,IACtBuK,OAAQ28B,EAAiB38B,OACzBy9B,UAAWd,EAAiBc,UAC5B5nC,YAAa8mC,EAAiB9mC,YAC9BqqC,wBAAyBvD,EAAiBuD,wBAC1CC,yBAA0BxD,EAAiBwD,4BAE5C,CAACxD,IAEE7mC,EAAW0L,eACT5N,EAAcC,cACpB,SAAChE,GAAD,MAAY,CAAE+D,UAAW/D,EAAMgxC,QAAQ/uC,kBACvCkC,MAFMJ,UAKRvP,qBAAU,cAAU,CAACuP,EAAWkC,IAChCzR,qBAAU,WACH04C,EAAetnC,KAAqC,IAA9BsnC,EAAetnC,IAAIrc,QAC5C2jD,EAAeoD,6BAGhB,CAACpD,EAAetnC,MAgBnB,OACE,kBAACuB,GAAA,EAAD,CACErV,KAAMo7C,EAAemD,wBACrBt+C,OAAQm7C,EAAeoD,yBACvBt+C,kBAAgB,gCAEf+R,GAAa,kBAAC,KAAD,CAAkBsQ,QAAQ,UACxC,kBAAClN,GAAA,EAAMlV,OAAP,CAAcmV,aAAW,GACvB,kBAACD,GAAA,EAAM9U,MAAP,CAAavR,GAAG,gCAAhB,mBAIF,kBAACqmB,GAAA,EAAMhV,KAAP,MACI4R,GACA,sFAEDA,GAAa,0DAEhB,kBAACoD,GAAA,EAAM/U,OAAP,KACE,6BACE,4BACE3O,KAAK,SACL0J,QAAS+/C,EAAeoD,yBACxB5vD,UAAU,6BAHZ,UAOA,yCACA,4BACE+C,KAAK,SACL0J,QA5CY,WACpB8Y,EAAStB,GAAsBuoC,EAAetnC,MAAMtQ,MAAK,WACvD2Q,EACEtB,GACEuoC,EAAelnC,YACfknC,EAAeU,YAEjBt4C,MAAK,WACL43C,EAAe/8B,OAAO,IACtB+8B,EAAeoD,kCAoCX5vD,UAAU,+BAHZ,aCtEH,SAAS6vD,KAEd,IAAMzD,EAAmBC,KACnBG,EAAiBx7B,mBAAQ,WAC7B,MAAO,CACL5wB,GAAIgsD,EAAiB0D,WACrBrgC,OAAQ28B,EAAiB38B,OACzBy9B,UAAWd,EAAiBc,UAC5B5nC,YAAa8mC,EAAiB9mC,YAC9ByqC,uBAAwB3D,EAAiB2D,uBACzCC,wBAAyB5D,EAAiB4D,2BAE3C,CAAC5D,IAGE7mC,EAAW0L,eACT5N,EAAcC,cACpB,SAAChE,GAAD,MAAY,CAAE+D,UAAW/D,EAAMgxC,QAAQ/uC,kBACvCkC,MAFMJ,UAMRvP,qBAAU,WACH04C,EAAepsD,IAClBosD,EAAewD,4BAGhB,CAACxD,EAAepsD,KAGnB0T,qBAAU,cAAU,CAACuP,EAAWkC,IAmBhC,OACE,kBAACkB,GAAA,EAAD,CACErV,KAAMo7C,EAAeuD,uBACrB1+C,OAAQm7C,EAAewD,wBACvB1+C,kBAAgB,gCAEf+R,GAAa,kBAAC,KAAD,CAAkBsQ,QAAQ,UACxC,kBAAClN,GAAA,EAAMlV,OAAP,CAAcmV,aAAW,GACvB,kBAACD,GAAA,EAAM9U,MAAP,CAAavR,GAAG,gCAAhB,kBAIF,kBAACqmB,GAAA,EAAMhV,KAAP,MACI4R,GACA,iFAEDA,GAAa,wDAEhB,kBAACoD,GAAA,EAAM/U,OAAP,KACE,6BACE,4BACE3O,KAAK,SACL0J,QAAS+/C,EAAewD,wBACxBhwD,UAAU,6BAHZ,UAOA,yCACA,4BACE+C,KAAK,SACL0J,QA/CW,WAEnB8Y,EAAStB,GAAqBuoC,EAAepsD,KAAKwU,MAAK,WAErD2Q,EACEtB,GACEuoC,EAAelnC,YACfknC,EAAeU,YAInBV,EAAe/8B,OAAO,IAEtB+8B,EAAewD,8BAmCThwD,UAAU,+BAHZ,aChFV,IAAMiwD,GAAkB,SAACpsC,EAAUqB,GACjC,IAAMgrC,EAAW,GAOjB,OANAhrC,EAAIhkB,SAAQ,SAACd,GACX,IAAMktD,EAASzpC,EAASV,MAAK,SAAC6B,GAAD,OAAQA,EAAG5kB,KAAOA,KAC3CktD,GACF4C,EAASpnD,KAAKwkD,MAGX4C,GAGF,SAASC,KAEd,IAAM/D,EAAmBC,KACnBG,EAAiBx7B,mBAAQ,WAC7B,MAAO,CACL9L,IAAKknC,EAAiBlnC,IACtBI,YAAa8mC,EAAiB9mC,YAC9B8qC,uBAAwBhE,EAAiBgE,uBACzCC,wBAAyBjE,EAAiBiE,2BAE3C,CAACjE,IAEIkE,EAAYhtC,cAClB,SAAChE,GAAD,MAAY,CACVgxC,QAASL,GAAgB3wC,EAAMgxC,QAAQzsC,SAAU2oC,EAAetnC,QAElEzB,MAJM6sC,QAcR,OAPAx8C,qBAAU,WACH04C,EAAetnC,KAAqC,IAA9BsnC,EAAetnC,IAAIrc,QAC5C2jD,EAAe6D,4BAGhB,CAAC7D,EAAetnC,MAGjB,kBAACuB,GAAA,EAAD,CACErV,KAAMo7C,EAAe4D,uBACrB/+C,OAAQm7C,EAAe6D,wBACvB/+C,kBAAgB,gCAEhB,kBAACmV,GAAA,EAAMlV,OAAP,CAAcmV,aAAW,GACvB,kBAACD,GAAA,EAAM9U,MAAP,CAAavR,GAAG,gCAAhB,4BAIF,kBAACqmB,GAAA,EAAMhV,KAAP,KACE,yBAAKzR,UAAU,qDACb,yBAAKA,UAAU,uBACZswD,EAAQvsD,KAAI,SAACupD,GAAD,OACX,yBAAKttD,UAAU,0BAA0BsH,IAAKgmD,EAAOltD,IACnD,0BAAMJ,UAAU,sBACd,0BACEA,UAAU,kDACVoE,MAAO,CAAEgS,MAAO,SAFlB,OAIOk3C,EAAOltD,IACN,IACR,0BAAMJ,UAAU,QAAQstD,EAAOruD,KAA/B,aAOZ,kBAACwnB,GAAA,EAAM/U,OAAP,KACE,6BACE,4BACE3O,KAAK,SACL0J,QAAS+/C,EAAe6D,wBACxBrwD,UAAU,6BAHZ,UAOA,yCACA,4BACE+C,KAAK,SACL0J,QAAS+/C,EAAe6D,wBACxBrwD,UAAU,+BAHZ,SC/EH,SAAS22H,KAEd,IAAMvqE,EAAmBC,KACnBG,EAAiBx7B,mBAAQ,WAC7B,MAAO,CACL9L,IAAKknC,EAAiBlnC,IACtBs3E,wBAAyBpwC,EAAiBowC,wBAC1CC,uBAAwBrwC,EAAiBqwC,0BAE1C,CAACrwC,IAEJ,OACE,yBAAKpsD,UAAU,QACb,yBAAKA,UAAU,2DACb,yBAAKA,UAAU,aACb,yBAAKA,UAAU,gCACb,yBAAKA,UAAU,iCACb,2BAAOA,UAAU,8BACf,yDAA+BwsD,EAAetnC,IAAIrc,UAGtD,yBAAK7I,UAAU,qBACb,4BACE+C,KAAK,SACL/C,UAAU,iDACVyM,QAAS+/C,EAAegwC,yBAExB,uBAAGx8F,UAAU,gBALf,eADF,OASE,4BACE+C,KAAK,SACL/C,UAAU,wDACVyM,QAAS+/C,EAAeiwC,wBAExB,uBAAGz8F,UAAU,iBALf,wBC3BP,SAASuwD,GAAT,GAAyC,IAAPnwD,EAAM,EAANA,GACvC,EAA0B4M,mBAAS,IAAnC,oBAAOoS,EAAP,KAAckH,EAAd,KAEA,EAA0ChD,cACxC,SAAChE,GAAD,MAAY,CACVkuC,cAAeluC,EAAMgxC,QAAQ9C,cAC7BjsC,eAAgBjC,EAAMgxC,QAAQ/uC,kBAEhCkC,MALM+pC,EAAR,EAAQA,cAAejsC,EAAvB,EAAuBA,eAkBvB,OAVAzN,qBAAU,WACR,IAAIyS,EAASnmB,EAAK,GAAK,aACnBotD,GAAiBptD,IACnBmmB,EAAS,eAGXD,EAASC,KAER,CAACinC,EAAejsC,IAGjB,oCACGA,GAAkB,kBAAC,KAAD,CAAkBoS,QAAQ,UAC7C,kBAAClN,GAAA,EAAMlV,OAAP,CAAcmV,aAAW,GACvB,kBAACD,GAAA,EAAM9U,MAAP,CAAavR,GAAG,gCAAgCgf,KCnBxD,IAAMw3G,GAAmB11G,OAAaC,MAAM,CAC1CliB,KAAMiiB,OACH4U,IAAI,EAAG,qBACPC,IAAI,GAAI,sBACRnjB,SAAS,oBACZ7P,KAAMme,OAAatO,SAAS,oBAC5B+0F,QAASzmF,OACNugB,UAAS,GACT7uB,SAAS,0BAER0E,GAAYrB,cAAW,SAAAC,GAAK,MAAK,CACrC0V,UAAW,CACTzE,QAAS,OACTG,SAAU,QAEZuE,UAAW,CACTzU,WAAYlB,EAAMK,QAAQ,GAC1BW,YAAahB,EAAMK,QAAQ,IAE7B4hB,MAAO,CACL7hB,UAAWJ,EAAMK,QAAQ,IAE3B6hB,KAAM,CACJhiB,MAAO,SAGJ,SAASy6C,GAAT,GAAyE,IAA/CC,EAA8C,EAA9CA,WAAYxD,EAAkC,EAAlCA,OAAQ/rC,EAA0B,EAA1BA,eAAgBlQ,EAAU,EAAVA,OAC7D9Q,EAAU+W,KAChB,OACE,oCACE,kBAAC,KAAD,CACEiL,oBAAoB,EACpBC,cAAe8qC,EACf7qC,iBAAkBm0G,GAClBl0G,SAAU,SAACxb,GAAD,OAAY4pD,EAAW5pD,MAEhC,gBAAG6b,EAAH,EAAGA,aAAH,OACC,oCACE,kBAAC0D,GAAA,EAAMhV,KAAP,CAAYzR,UAAU,yBACnBuhB,GACC,yBAAKvhB,UAAU,gCACb,yBAAKA,UAAU,wCAGnB,kBAAC,KAAD,CAAMA,UAAU,yBACd,yBAAKA,UAAU,uBACb,yBAAKA,UAAU,8BACf,2BAAOA,UAAU,QAAjB,iBAEA,yBAAKA,UAAU,YACb,kBAAC+oB,GAAA,EAAD,CACE3oB,GAAG,iBACHoD,MAAM,GACNxD,UAAWwpB,aAAKjpB,EAAQsrB,UAAWtrB,EAAQ43B,OAC3CnhB,OAAO,QACP2c,QAAQ,eAId,yBAAK3zB,UAAU,uBACb,yBAAKA,UAAU,8BACf,2BAAOA,UAAU,QAAjB,SAEA,yBAAKA,UAAU,YACb,kBAAC+oB,GAAA,EAAD,CACE3oB,GAAG,iBACHoD,MAAM,GACNxD,UAAWwpB,aAAKjpB,EAAQsrB,UAAWtrB,EAAQ43B,OAC3CnhB,OAAO,QACP2c,QAAQ,eAId,yBAAK3zB,UAAU,uBACb,yBAAKA,UAAU,8BACf,2BAAOA,UAAU,QAAjB,oBAEA,yBAAKA,UAAU,YACb,kBAAC+oB,GAAA,EAAD,CACE3oB,GAAG,iBACHoD,MAAM,GACNxD,UAAWwpB,aAAKjpB,EAAQsrB,UAAWtrB,EAAQ43B,OAC3CnhB,OAAO,QACP2c,QAAQ,WACRqjG,WAAW,2BAIjB,yBAAKh3H,UAAU,uBACb,yBAAKA,UAAU,8BACf,2BAAOA,UAAU,QAAjB,qBAEA,yBAAKA,UAAU,YACb,kBAAC+oB,GAAA,EAAD,CACE3oB,GAAG,iBACHoD,MAAM,GACNxD,UAAWwpB,aAAKjpB,EAAQsrB,UAAWtrB,EAAQ43B,OAC3CnhB,OAAO,QACP2c,QAAQ,WACRqjG,WAAW,qFAIjB,yBAAKh3H,UAAU,uBACb,yBAAKA,UAAU,8BACf,2BAAOA,UAAU,QAAjB,iBAEA,yBAAKA,UAAU,YACb,kBAAC+oB,GAAA,EAAD,CACE3oB,GAAG,iBACHoD,MAAM,GACNxD,UAAWwpB,aAAKjpB,EAAQsrB,UAAWtrB,EAAQ43B,OAC3CnhB,OAAO,QACP2c,QAAQ,iBAMlB,kBAAClN,GAAA,EAAM/U,OAAP,KACE,4BACE3O,KAAK,SACL0J,QAAS4E,EACTrR,UAAU,6BAHZ,UAOA,yCACA,4BACE+C,KAAK,SACL0J,QAAS,kBAAMsW,KACf/iB,UAAU,+BAHZ,cCpHP,SAASwwD,KAEd,IAAMpE,EAAmBC,KACnBG,EAAiBx7B,mBAAQ,WAC7B,MAAO,CACL5wB,GAAIgsD,EAAiB0D,WACrBrgC,OAAQ28B,EAAiB38B,OACzBy9B,UAAWd,EAAiBc,UAC5B5nC,YAAa8mC,EAAiB9mC,YAC9BmrC,qBAAsBrE,EAAiBqE,qBACvCC,sBAAuBtE,EAAiBsE,sBACxCC,WAAYvE,EAAiBuE,cAE9B,CAACvE,IAGE7mC,EAAW0L,eACjB,EAA0C3N,cACxC,SAAChE,GAAD,MAAY,CACViC,eAAgBjC,EAAMgxC,QAAQ/uC,eAC9BisC,cAAeluC,EAAMgxC,QAAQ9C,iBAE/B/pC,MALMlC,EAAR,EAAQA,eAAgBisC,EAAxB,EAAwBA,cAQxB15C,qBAAU,WAERyR,EAAStB,GAAoBuoC,EAAepsD,OAC3C,CAACosD,EAAepsD,GAAImlB,IAwCvB,OACE,kBAACkB,GAAA,EAAD,CACEtV,KAAK,KACLC,KAAMo7C,EAAeiE,qBACrBp/C,OAAQm7C,EAAekE,sBACvBp/C,kBAAgB,gCAEhB,kBAAC,GAAD,CAAwBlR,GAAIosD,EAAepsD,KAC3C,kBAAC,GAAD,CACE0wD,WA/Ca,SAACxD,GAClBA,EAAOq6C,QA/CX,SAA0B/lG,GACxB,GAAoB,kBAATA,EACT,OAAOA,EAGT,IAAI+pB,EAAO/pB,EAAKK,cAEZypB,GAAS,EAAI9pB,EAAKG,YAAYyE,WAClCklB,EAAQA,EAAM7iB,OAAS,EAAI6iB,EAAQ,IAAMA,EAEzC,IAAI9f,EAAMhK,EAAKI,UAAUwE,WAGzB,OAAOklB,EAAQ,KAFf9f,EAAMA,EAAI/C,OAAS,EAAI+C,EAAM,IAAMA,GAER,IAAM+f,EAkCdsrG,CAAiB3pE,EAAOq6C,SACpCn7C,EAAepsD,GAkBlBmlB,EAAStB,GAAqBqpC,IAAS14C,MAAK,WAE1C2Q,EAEEtB,GACEuoC,EAAelnC,YACfknC,EAAeU,YAEjBt4C,MAAK,WAEL43C,EAAe/8B,OAAO,IAEtB+8B,EAAekE,8BA5BnBnrC,EAAStB,GAAqBqpC,IAAS14C,MAAK,WAE1C2Q,EACEtB,GACEuoC,EAAelnC,YACfknC,EAAeU,YAEjBt4C,MAAK,WAEL43C,EAAe/8B,OAAO,IAEtB+8B,EAAekE,+BAiCjBnvC,eAAgBA,EAChB+rC,OAAQE,GAAiBhB,EAAemE,WACxCt/C,OAAQm7C,EAAekE,yBC7FxB,SAASwmE,KAEd,IAAM9qE,EAAmBC,KACnBG,EAAiBx7B,mBAAQ,WAC7B,MAAO,CAAE9L,IAAKknC,EAAiBlnC,OAC9B,CAACknC,IAEJ,OACE,oCACE,kBAAC,GAAD,MACA,kBAAC,GAAD,MACA,kBAAC,GAAD,MACA,kBAAC,GAAD,MACA,kBAAC,GAAD,MACA,yBAAKpsD,UAAU,oBACb,kBAAC,GAAD,MACCwsD,EAAetnC,IAAIrc,OAAS,GAAK,kBAAC,GAAD,OAEpC,kBAAC,GAAD,OC7BC,IAAM+H,GAAgB,CAAC,CAAExE,UAAW,KAAMyE,MAAO,SAC3C0d,GAAkB,CAC7B,CAAEtvB,KAAM,IAAKE,MAAO,GACpB,CAAEF,KAAM,IAAKE,MAAO,GACpB,CAAEF,KAAM,IAAKE,MAAO,IAETqvB,GAAgB,CAC3Bjf,OAAQ,CACNtQ,KAAM,IAER4vB,UAAW,MACXC,UAAW,KACXC,WAAY,EACZC,SAAU,GCRNusE,GAAmBrsE,0BAElB,SAASm9B,KACd,OAAOj9B,qBAAWmsE,IAGaA,GAAiBlsE,SAE3C,SAAS8nG,GAAT,GAA2E,IAA/B17B,EAA8B,EAA9BA,iBAAkB/yE,EAAY,EAAZA,SACnE,EAAkC1b,mBAASyuF,GAA3C,oBAAOvuC,EAAP,KAAkBwuC,EAAlB,KACA,EAA0C1uF,mBAASwhB,IAAnD,oBAAOlJ,EAAP,KAAoBkK,EAApB,KACA,EAAsBxiB,mBAAS,IAA/B,oBAAOkY,EAAP,KAAYuK,EAAZ,KACMC,EAAiBC,uBAAY,SAAAC,GACjCJ,GAAmB,SAAAK,GAKjB,OAJIC,sBAAWF,KACbA,EAAkBA,EAAgBC,IAGhCE,mBAAQF,EAAiBD,GACpBC,EAGFD,OAER,IACH,EAAoC5iB,mBAAS,MAA7C,oBAAO8iD,EAAP,KAAmB6rC,EAAnB,KACA,EAAwD3uF,oBAAS,GAAjE,oBAAOyjD,EAAP,KAA6BmrC,EAA7B,KACMjrC,EAAa,CACjBvwD,QAAI0F,EACJ7G,KAAM,GACN8D,KAAM,EACN4kG,QAAS,aACTvL,MAAOlvC,GAETp5C,qBAAU,WACR68C,EAAWzD,UAAYuuC,EACvB9qC,EAAWyrC,MAAQX,EACnBC,EAAaD,KAEZ,CAACA,IACJ,IAYA,EAA4DzuF,oBAAS,GAArE,oBAAO+iD,EAAP,KAA+BssC,EAA/B,KAUA,EAA8DrvF,oBAAS,GAAvE,oBAAO2iD,EAAP,KAAgC2sC,EAAhC,KAQA,EAA4DtvF,oBAAS,GAArE,oBAAOojD,EAAP,KAA+BmsC,EAA/B,KAQMp9F,EAAQ,CACZ+lB,MACAuK,SACAy9B,YACAwuC,eACAp2E,cACAoK,iBACAihC,aACAb,aACAW,uBACAhE,oBAhD0B,WAC1BkvC,OAAc71F,GACd81F,GAAwB,IA+CxB5tC,qBA7C2B,SAAA5tD,GAC3Bu7F,EAAcv7F,GACdw7F,GAAwB,IA4CxBlrC,sBA1C4B,WAC5BirC,OAAc71F,GACd81F,GAAwB,IAyCxB7rC,yBACA9B,uBAvC6B,SAAA7tD,GAC7Bu7F,EAAcv7F,GACdi8F,GAA0B,IAsC1BrsC,wBApC8B,WAC9B2rC,OAAc71F,GACdu2F,GAA0B,IAmC1B1sC,0BACA6sC,wBAhC8B,WAC9BF,GAA2B,IAgC3B1sC,yBA9B+B,WAC/B0sC,GAA2B,IA8B3BG,uBA1B6B,WAC7BF,GAA0B,IA0B1BlsC,wBAxB8B,WAC9BksC,GAA0B,IAwB1BnsC,0BAGF,OACE,kBAAC,GAAiBx/B,SAAlB,CAA2BzxB,MAAOA,GAC/BupB,GCjGA,SAASyjC,KAEd,IAAMC,EAAmBC,KACFr7B,mBAAQ,WAC7B,MAAO,CACLtB,eAAgB08B,EAAiB18B,eACjC+8B,oBAAqBL,EAAiBK,oBACtCnnC,YAAa8mC,EAAiB9mC,eAE/B,CAAC8mC,IAGJ,OACE,oCACE,yBAAKpsD,UAAU,wBACb,yBAAKA,UAAU,OACb,yBAAKA,UAAU,qCACb,4BACE+C,KAAK,SACL/C,UAAU,uBACVyM,SAAO,GAHT,iBAOA,4BACE1J,KAAK,SACL/C,UAAU,kBACVyM,SAAO,GAHT,gBAQF,yBAAKzM,UAAU,sDACb,wGC3CZ,IAAMqpF,GAAsB,CAC1B7lE,aAAa,EACbjC,gBAAgB,EAChBqC,WAAY,EACZC,SAAU,KACV2pC,mBAAe1nD,EACfie,UAAW,MAEAC,GACL,OADKA,GAEH,SCTHC,GDYqBC,aAAY,CACtCle,KAAM,UACNme,aAAcklE,GACdjlE,SAAU,CACRC,WAAY,SAAC/E,EAAOgF,GAClBhF,EAAM/U,MAAN,UAAiB+Z,EAAOvhB,KAAxB,aAAiCuhB,EAAOC,QAAQha,OAC5C+Z,EAAOC,QAAQC,WAAaR,GAC9B1E,EAAMkE,aAAc,EAEpBlE,EAAMiC,gBAAiB,GAG3BkD,UAAW,SAACnF,EAAOgF,GACjBhF,EAAM/U,MAAQ,KACV+Z,EAAOC,QAAQC,WAAaR,GAC9B1E,EAAMkE,aAAc,EAEpBlE,EAAMiC,gBAAiB,GAI3BgsC,cAAe,SAACjuC,EAAOgF,GACrBhF,EAAMiC,gBAAiB,EACvBjC,EAAMkuC,cAAgBlpC,EAAOC,QAAQipC,cACrCluC,EAAM/U,MAAQ,MAGhB4iD,eAAgB,SAAC7tC,EAAOgF,GACtB,MAAiCA,EAAOC,QAAhCX,EAAR,EAAQA,WAAYC,EAApB,EAAoBA,SACpBvE,EAAMkE,aAAc,EACpBlE,EAAM/U,MAAQ,KACd+U,EAAMuE,SAAWA,EACjBvE,EAAMsE,WAAaA,GAGrBiqC,cAAe,SAACvuC,EAAOgF,GACrBhF,EAAMiC,gBAAiB,EACvBjC,EAAM/U,MAAQ,KACd+U,EAAMuE,SAAS/a,KAAKwb,EAAOC,QAAQ+oC,SAGrCS,cAAe,SAACzuC,EAAOgF,GACrBhF,EAAM/U,MAAQ,KACd+U,EAAMiC,gBAAiB,EACvBjC,EAAMuE,SAAWvE,EAAMuE,SAAS9f,KAAI,SAAA+gB,GAClC,OAAIA,EAAO1kB,KAAOkkB,EAAOC,QAAQ+oC,OAAOltD,GAC/BkkB,EAAOC,QAAQ+oC,OAEjBxoC,MAIX4oC,cAAe,SAACpuC,EAAOgF,GACrBhF,EAAM/U,MAAQ,KACd+U,EAAMiC,gBAAiB,EACvBjC,EAAMuE,SAAWvE,EAAMuE,SAAStU,QAAO,SAAAyV,GAAE,OAAIA,EAAG5kB,KAAOkkB,EAAOC,QAAQnkB,OAGxEkpF,eAAgB,SAAChqE,EAAOgF,GACtBhF,EAAM/U,MAAQ,KACd+U,EAAMiC,gBAAiB,EACvBjC,EAAMuE,SAAWvE,EAAMuE,SAAStU,QAC9B,SAAAyV,GAAE,OAAKV,EAAOC,QAAQW,IAAIvV,SAASqV,EAAG5kB,QAI1CmpF,qBAAsB,SAACjqE,EAAOgF,GAC5BhF,EAAMiC,gBAAiB,EACvBjC,EAAM/U,MAAQ,KACd,MAAwB+Z,EAAOC,QAAvBW,EAAR,EAAQA,IAAKnQ,EAAb,EAAaA,OACbuK,EAAMuE,SAAWvE,EAAMuE,SAAS9f,KAAI,SAAA+gB,GAIlC,OAHII,EAAIE,WAAU,SAAAhlB,GAAE,OAAIA,IAAO0kB,EAAO1kB,OAAO,IAC3C0kB,EAAO/P,OAASA,GAEX+P,SCtFRb,QAEMgpC,GAAe,SAAC3nC,EAAa4nC,GAAd,OAA4B,SAAA3nC,GAEtD,OADAA,EAAStB,GAAQQ,UAAU,CAAED,SAAUR,MAClCkpC,ECcA,SAAqB5nC,EAAa4nC,GACvC,OAAO5qC,IAAMkD,KAAN,UApBkB,sBAoBlB,gBAAiC0nC,GAAa,CAAE5nC,gBDXhDG,CACQH,EAAa4nC,GACzBt4C,MAAK,SAAAC,GACJ,MAAiCA,EAAStS,KAAlCqhB,EAAR,EAAQA,WAAYC,EAApB,EAAoBA,SACpB0B,EAAStB,GAAQkpC,eAAe,CAAEvpC,aAAYC,iBAE/C1O,OAAM,SAAA5K,GACLA,EAAMmb,cAAgB,qBACtBH,EAAStB,GAAQI,WAAW,CAAE9Z,QAAOia,SAAUR,SAX1CuB,EAAStB,GAAQkpC,eAAe,CAAEvpC,WAAY,EAAGC,SAAU,UAezDupC,GAAc,SAAAhtD,GAAE,OAAI,SAAAmlB,GAC/B,OAAKnlB,GAILmlB,EAAStB,GAAQQ,UAAU,CAAED,SAAUR,OCbXqpC,EDeXjtD,ECdVkiB,IAAM3M,IAAN,UAdkB,sBAclB,YAA4B03C,KDehCz4C,MAAK,SAAAC,GACJ,IAAMy4C,EAASz4C,EAAStS,KACxBgjB,EAAStB,GAAQspC,cAAc,CAAEC,cAAeF,QAEjDn4C,OAAM,SAAA5K,GACLA,EAAMmb,cAAgB,oBACtBH,EAAStB,GAAQI,WAAW,CAAE9Z,QAAOia,SAAUR,UAZ1CuB,EAAStB,GAAQspC,cAAc,CAAEC,mBAAe1nD,KCVpD,IAAuBunD,ID0BjBI,GAAe,SAAArtD,GAAE,OAAI,SAAAmlB,GAEhC,OADAA,EAAStB,GAAQQ,UAAU,CAAED,SAAUR,OCXZqpC,EDaXjtD,ECZTkiB,IAAMwD,OAAN,UA9BkB,sBA8BlB,YAA+BunC,KDanCz4C,MAAK,SAAAC,GACJ0Q,EAAStB,GAAQypC,cAAc,CAAEttD,WAElC+U,OAAM,SAAA5K,GACLA,EAAMmb,cAAgB,sBACtBH,EAAStB,GAAQI,WAAW,CAAE9Z,QAAOia,SAAUR,SCnB9C,IAAsBqpC,IDuBhBM,GAAe,SAAAC,GAAiB,OAAI,SAAAroC,GAE/C,OADAA,EAAStB,GAAQQ,UAAU,CAAED,SAAUR,OClDZspC,EDoDXM,ECnDTtrC,IAAMkD,KAJY,sBAIM,CAAE8nC,YDoD9B14C,MAAK,SAAAC,GACJ,IAAQy4C,EAAWz4C,EAAStS,KAApB+qD,OACR/nC,EAAStB,GAAQ4pC,cAAc,CAAEP,eAElCn4C,OAAM,SAAA5K,GACLA,EAAMmb,cAAgB,sBACtBH,EAAStB,GAAQI,WAAW,CAAE9Z,QAAOia,SAAUR,SC3D9C,IAAsBspC,ID+DhBQ,GAAe,SAAAR,GAAM,OAAI,SAAA/nC,GAEpC,OADAA,EAAStB,GAAQQ,UAAU,CAAED,SAAUR,MC3ClC,SAAsBspC,GAC3B,OAAOhrC,IAAM4D,IAAN,UAzBkB,sBAyBlB,YAA4BonC,EAAOltD,IAAM,CAAEktD,WD2C3C7nC,CACS6nC,GACb14C,MAAK,WACJ2Q,EAAStB,GAAQ8pC,cAAc,CAAET,eAElCn4C,OAAM,SAAA5K,GACLA,EAAMmb,cAAgB,sBACtBH,EAAStB,GAAQI,WAAW,CAAE9Z,QAAOia,SAAUR,WAIxCwlE,GAAgB,SAAAtkE,GAAG,OAAI,SAAAK,GAElC,OADAA,EAAStB,GAAQQ,UAAU,CAAED,SAAUR,MC9ClC,SAAuBkB,GAC5B,OAAO5C,IAAMkD,KAAN,UAnCkB,sBAmClB,kBAA2C,CAAEN,QD8C7CO,CACUP,GACdtQ,MAAK,WACJxR,QAAQC,IAAI,iBACZkiB,EAAStB,GAAQqlE,eAAe,CAAEpkE,YAEnC/P,OAAM,SAAA5K,GACLA,EAAMmb,cAAgB,uBACtBH,EAAStB,GAAQI,WAAW,CAAE9Z,QAAOia,SAAUR,WErFxCmQ,GAAyB,SACpCC,EACA5sB,EACA6sB,EAHoC,OAIlC25B,EAJkC,EAIlCA,qBAAsBC,EAJY,EAIZA,uBAJY,OAMpC,oCACE,kBAACxU,GAAA,EAAD,CACEjtC,QAAS,kBAAC4wB,GAAA,EAAD,CAASh9B,GAAG,0BAAZ,gBAET,uBACEJ,UAAU,uDACVyM,QAAS,kBAAMuhD,EAAqBxmD,EAAIpH,MAExC,0BAAMJ,UAAU,yCACd,kBAAC,KAAD,CACEwI,IAAKC,YAAc,iDAM3B,yCACA,kBAACgxC,GAAA,EAAD,CACEjtC,QAAS,kBAAC4wB,GAAA,EAAD,CAASh9B,GAAG,4BAAZ,kBAET,uBACEJ,UAAU,iDACVyM,QAAS,kBAAMwhD,EAAuBzmD,EAAIpH,MAE1C,0BAAMJ,UAAU,wCACd,kBAAC,KAAD,CAAKwI,IAAKC,YAAc,6CCf3B,SAASomD,KAEd,IAAMzC,EAAmBC,KACnBG,EAAiBx7B,mBAAQ,WAC7B,MAAO,CACL9L,IAAKknC,EAAiBlnC,IACtBuK,OAAQ28B,EAAiB38B,OACzBnK,YAAa8mC,EAAiB9mC,YAC9BoK,eAAgB08B,EAAiB18B,eACjCw9B,UAAWd,EAAiBc,UAC5Bc,qBAAsB5B,EAAiB4B,qBACvCC,uBAAwB7B,EAAiB6B,0BAE1C,CAAC7B,IAGI73B,EAAiBjR,cACvB,SAAChE,GAAD,MAAY,CAAEiV,aAAcjV,EAAMgxC,WAClC7sC,MAFM8Q,aAIA3Q,EAAsC2Q,EAAtC3Q,WAAYC,EAA0B0Q,EAA1B1Q,SAAUL,EAAgB+Q,EAAhB/Q,YACxB+B,EAAW0L,eACjBnd,qBAAU,WACR04C,EAAe/8B,OAAO,IACtBlK,EACEtB,GAAqBuoC,EAAelnC,YAAaknC,EAAeU,cAGjE,CAACV,EAAelnC,YAAaC,EAAUinC,EAAeU,YACzD,IAAM/gD,EAAU,CACd,CACEC,UAAW,KACXnN,KAAM,KACNyN,MAAM,EACNC,UAAWA,KAEb,CACEP,UAAW,YACXnN,KAAM,YACNyN,MAAM,EACNC,UAAWA,KAEb,CACEP,UAAW,sBACXnN,KAAM,wBACNyN,MAAM,EACNC,UAAWA,KAEb,CACEP,UAAW,OACXnN,KAAM,OACNyN,MAAM,EACNC,UAAWA,KAEb,CACEP,UAAW,SACXnN,KAAM,UACNoN,UAAW8nB,GACXM,gBAAiB,CACfu5B,qBAAsBxB,EAAewB,sBAEvCztD,QAAS,mBACTm0B,cAAe,mBACftwB,MAAO,CACLuS,SAAU,WAKVge,EAAoB,CACxBC,QAAQ,EACRC,UAAWjR,EACX2K,gBAAiBuG,GACjBC,YAAay3B,EAAelnC,YAAY0J,SACxCgG,KAAMw3B,EAAelnC,YAAYyJ,YAEnC,OACE,oCACE,kBAAC,sBAAD,CAAoBje,WAAYC,KAAkB4jB,KAC/C,YAAgD,IAA7CM,EAA4C,EAA5CA,gBAAiBC,EAA2B,EAA3BA,qBACnB,OACE,kBAAC,KAAD,CACE7R,UAAWG,EACXyR,gBAAiBA,GAEjB,kBAAC,KAAD,eACEjkB,eAAe,mBACfzQ,QAAQ,gDACR2Q,UAAU,EACVD,YAAU,EACVkkB,QAAM,EACNxkB,SAAS,KACTpO,KAAmB,OAAbshB,EAAoB,GAAKA,EAC/B1X,QAASA,EACTyE,cAAekkB,GACfM,cAAeC,YACbm3B,EAAe98B,gBAEjBgI,UAAWC,YAAa,CACtB9T,WACAqB,IAAKsnC,EAAetnC,IACpBuK,OAAQ+8B,EAAe/8B,UAErByF,GAEJ,kBAAC,IAAD,CAAmBrR,SAAUA,IAC7B,kBAAC,IAAD,CAAuBA,SAAUA,UC5H1C,SAAS4rC,KACd,IAAQpsC,EAAcC,cACpB,SAAAhE,GAAK,MAAK,CAAE+D,UAAW/D,EAAMgxC,QAAQ9sC,eACrCC,MAFMJ,UAKR,OADAvP,qBAAU,cAAU,CAACuP,IACd,kBAAC,KAAD,CAAeA,UAAWA,EAAWpkB,KAAK,gBCF5C,SAASywD,KAEd,IAAMtD,EAAmBC,KACnBG,EAAiBx7B,mBAAQ,WAC7B,MAAO,CACL9L,IAAKknC,EAAiBlnC,IACtBuK,OAAQ28B,EAAiB38B,OACzBy9B,UAAWd,EAAiBc,UAC5B5nC,YAAa8mC,EAAiB9mC,YAC9BqqC,wBAAyBvD,EAAiBuD,wBAC1CC,yBAA0BxD,EAAiBwD,4BAE5C,CAACxD,IAEE7mC,EAAW0L,eACT5N,EAAcC,cACpB,SAAChE,GAAD,MAAY,CAAE+D,UAAW/D,EAAMgxC,QAAQ/uC,kBACvCkC,MAFMJ,UAKRvP,qBAAU,cAAU,CAACuP,EAAWkC,IAChCzR,qBAAU,WACH04C,EAAetnC,KAAqC,IAA9BsnC,EAAetnC,IAAIrc,QAC5C2jD,EAAeoD,6BAGhB,CAACpD,EAAetnC,MAgBnB,OACE,kBAACuB,GAAA,EAAD,CACErV,KAAMo7C,EAAemD,wBACrBt+C,OAAQm7C,EAAeoD,yBACvBt+C,kBAAgB,gCAEf+R,GAAa,kBAAC,KAAD,CAAkBsQ,QAAQ,UACxC,kBAAClN,GAAA,EAAMlV,OAAP,CAAcmV,aAAW,GACvB,kBAACD,GAAA,EAAM9U,MAAP,CAAavR,GAAG,gCAAhB,mBAIF,kBAACqmB,GAAA,EAAMhV,KAAP,MACI4R,GACA,sFAEDA,GAAa,0DAEhB,kBAACoD,GAAA,EAAM/U,OAAP,KACE,6BACE,4BACE3O,KAAK,SACL0J,QAAS+/C,EAAeoD,yBACxB5vD,UAAU,6BAHZ,UAOA,yCACA,4BACE+C,KAAK,SACL0J,QA5CY,WACpB8Y,EAAStB,GAAsBuoC,EAAetnC,MAAMtQ,MAAK,WACvD2Q,EACEtB,GACEuoC,EAAelnC,YACfknC,EAAeU,YAEjBt4C,MAAK,WACL43C,EAAe/8B,OAAO,IACtB+8B,EAAeoD,kCAoCX5vD,UAAU,+BAHZ,aCtEH,SAAS6vD,KAEd,IAAMzD,EAAmBC,KACnBG,EAAiBx7B,mBAAQ,WAC7B,MAAO,CACL5wB,GAAIgsD,EAAiB0D,WACrBrgC,OAAQ28B,EAAiB38B,OACzBy9B,UAAWd,EAAiBc,UAC5B5nC,YAAa8mC,EAAiB9mC,YAC9ByqC,uBAAwB3D,EAAiB2D,uBACzCC,wBAAyB5D,EAAiB4D,2BAE3C,CAAC5D,IAGE7mC,EAAW0L,eACT5N,EAAcC,cACpB,SAAChE,GAAD,MAAY,CAAE+D,UAAW/D,EAAMgxC,QAAQ/uC,kBACvCkC,MAFMJ,UAMRvP,qBAAU,WACH04C,EAAepsD,IAClBosD,EAAewD,4BAGhB,CAACxD,EAAepsD,KAGnB0T,qBAAU,cAAU,CAACuP,EAAWkC,IAmBhC,OACE,kBAACkB,GAAA,EAAD,CACErV,KAAMo7C,EAAeuD,uBACrB1+C,OAAQm7C,EAAewD,wBACvB1+C,kBAAgB,gCAEf+R,GAAa,kBAAC,KAAD,CAAkBsQ,QAAQ,UACxC,kBAAClN,GAAA,EAAMlV,OAAP,CAAcmV,aAAW,GACvB,kBAACD,GAAA,EAAM9U,MAAP,CAAavR,GAAG,gCAAhB,kBAIF,kBAACqmB,GAAA,EAAMhV,KAAP,MACI4R,GACA,iFAEDA,GAAa,wDAEhB,kBAACoD,GAAA,EAAM/U,OAAP,KACE,6BACE,4BACE3O,KAAK,SACL0J,QAAS+/C,EAAewD,wBACxBhwD,UAAU,6BAHZ,UAOA,yCACA,4BACE+C,KAAK,SACL0J,QA/CW,WAEnB8Y,EAAStB,GAAqBuoC,EAAepsD,KAAKwU,MAAK,WAErD2Q,EACEtB,GACEuoC,EAAelnC,YACfknC,EAAeU,YAInBV,EAAe/8B,OAAO,IAEtB+8B,EAAewD,8BAmCThwD,UAAU,+BAHZ,aChFV,IAAMiwD,GAAkB,SAACpsC,EAAUqB,GACjC,IAAMgrC,EAAW,GAOjB,OANAhrC,EAAIhkB,SAAQ,SAACd,GACX,IAAMktD,EAASzpC,EAASV,MAAK,SAAC6B,GAAD,OAAQA,EAAG5kB,KAAOA,KAC3CktD,GACF4C,EAASpnD,KAAKwkD,MAGX4C,GAGF,SAASC,KAEd,IAAM/D,EAAmBC,KACnBG,EAAiBx7B,mBAAQ,WAC7B,MAAO,CACL9L,IAAKknC,EAAiBlnC,IACtBI,YAAa8mC,EAAiB9mC,YAC9B8qC,uBAAwBhE,EAAiBgE,uBACzCC,wBAAyBjE,EAAiBiE,2BAE3C,CAACjE,IAEIkE,EAAYhtC,cAClB,SAAChE,GAAD,MAAY,CACVgxC,QAASL,GAAgB3wC,EAAMgxC,QAAQzsC,SAAU2oC,EAAetnC,QAElEzB,MAJM6sC,QAcR,OAPAx8C,qBAAU,WACH04C,EAAetnC,KAAqC,IAA9BsnC,EAAetnC,IAAIrc,QAC5C2jD,EAAe6D,4BAGhB,CAAC7D,EAAetnC,MAGjB,kBAACuB,GAAA,EAAD,CACErV,KAAMo7C,EAAe4D,uBACrB/+C,OAAQm7C,EAAe6D,wBACvB/+C,kBAAgB,gCAEhB,kBAACmV,GAAA,EAAMlV,OAAP,CAAcmV,aAAW,GACvB,kBAACD,GAAA,EAAM9U,MAAP,CAAavR,GAAG,gCAAhB,4BAIF,kBAACqmB,GAAA,EAAMhV,KAAP,KACE,yBAAKzR,UAAU,qDACb,yBAAKA,UAAU,uBACZswD,EAAQvsD,KAAI,SAACupD,GAAD,OACX,yBAAKttD,UAAU,0BAA0BsH,IAAKgmD,EAAOltD,IACnD,0BAAMJ,UAAU,sBACd,0BACEA,UAAU,kDACVoE,MAAO,CAAEgS,MAAO,SAFlB,OAIOk3C,EAAOltD,IACN,IACR,0BAAMJ,UAAU,QAAQstD,EAAOruD,KAA/B,aAOZ,kBAACwnB,GAAA,EAAM/U,OAAP,KACE,6BACE,4BACE3O,KAAK,SACL0J,QAAS+/C,EAAe6D,wBACxBrwD,UAAU,6BAHZ,UAOA,yCACA,4BACE+C,KAAK,SACL0J,QAAS+/C,EAAe6D,wBACxBrwD,UAAU,+BAHZ,SC/EH,SAAS22H,KAEd,IAAMvqE,EAAmBC,KACnBG,EAAiBx7B,mBAAQ,WAC7B,MAAO,CACL9L,IAAKknC,EAAiBlnC,IACtBs3E,wBAAyBpwC,EAAiBowC,wBAC1CC,uBAAwBrwC,EAAiBqwC,0BAE1C,CAACrwC,IAEJ,OACE,yBAAKpsD,UAAU,QACb,yBAAKA,UAAU,2DACb,yBAAKA,UAAU,aACb,yBAAKA,UAAU,gCACb,yBAAKA,UAAU,iCACb,2BAAOA,UAAU,8BACf,yDAA+BwsD,EAAetnC,IAAIrc,UAGtD,yBAAK7I,UAAU,qBACb,4BACE+C,KAAK,SACL/C,UAAU,iDACVyM,QAAS+/C,EAAegwC,yBAExB,uBAAGx8F,UAAU,gBALf,eADF,OASE,4BACE+C,KAAK,SACL/C,UAAU,wDACVyM,QAAS+/C,EAAeiwC,wBAExB,uBAAGz8F,UAAU,iBALf,wBC3BP,SAASuwD,GAAT,GAAyC,IAAPnwD,EAAM,EAANA,GACvC,EAA0B4M,mBAAS,IAAnC,oBAAOoS,EAAP,KAAckH,EAAd,KAEA,EAA0ChD,cACxC,SAAChE,GAAD,MAAY,CACVkuC,cAAeluC,EAAMgxC,QAAQ9C,cAC7BjsC,eAAgBjC,EAAMgxC,QAAQ/uC,kBAEhCkC,MALM+pC,EAAR,EAAQA,cAAejsC,EAAvB,EAAuBA,eAkBvB,OAVAzN,qBAAU,WACR,IAAIyS,EAASnmB,EAAK,GAAK,aACnBotD,GAAiBptD,IACnBmmB,EAAS,eAGXD,EAASC,KAER,CAACinC,EAAejsC,IAGjB,oCACGA,GAAkB,kBAAC,KAAD,CAAkBoS,QAAQ,UAC7C,kBAAClN,GAAA,EAAMlV,OAAP,CAAcmV,aAAW,GACvB,kBAACD,GAAA,EAAM9U,MAAP,CAAavR,GAAG,gCAAgCgf,KCnBxD,IAAMw3G,GAAmB11G,OAAaC,MAAM,CAC1CliB,KAAMiiB,OACH4U,IAAI,EAAG,qBACPC,IAAI,GAAI,sBACRnjB,SAAS,oBACZ7P,KAAMme,OAAatO,SAAS,oBAC5B+0F,QAASzmF,OACNugB,UAAS,GACT7uB,SAAS,0BAER0E,GAAYrB,cAAW,SAAAC,GAAK,MAAK,CACrC0V,UAAW,CACTzE,QAAS,OACTG,SAAU,QAEZuE,UAAW,CACTzU,WAAYlB,EAAMK,QAAQ,GAC1BW,YAAahB,EAAMK,QAAQ,IAE7B4hB,MAAO,CACL7hB,UAAWJ,EAAMK,QAAQ,IAE3B6hB,KAAM,CACJhiB,MAAO,SAGJ,SAASy6C,GAAT,GAAyE,IAA/CC,EAA8C,EAA9CA,WAAYxD,EAAkC,EAAlCA,OAAQ/rC,EAA0B,EAA1BA,eAAgBlQ,EAAU,EAAVA,OAC7D9Q,EAAU+W,KAChB,OACE,oCACE,kBAAC,KAAD,CACEiL,oBAAoB,EACpBC,cAAe8qC,EACf7qC,iBAAkBm0G,GAClBl0G,SAAU,SAACxb,GAAD,OAAY4pD,EAAW5pD,MAEhC,gBAAG6b,EAAH,EAAGA,aAAH,OACC,oCACE,kBAAC0D,GAAA,EAAMhV,KAAP,CAAYzR,UAAU,yBACnBuhB,GACC,yBAAKvhB,UAAU,gCACb,yBAAKA,UAAU,wCAGnB,kBAAC,KAAD,CAAMA,UAAU,yBACd,yBAAKA,UAAU,uBACb,yBAAKA,UAAU,8BACf,2BAAOA,UAAU,QAAjB,iBAEA,yBAAKA,UAAU,YACb,kBAAC+oB,GAAA,EAAD,CACE3oB,GAAG,iBACHoD,MAAM,GACNxD,UAAWwpB,aAAKjpB,EAAQsrB,UAAWtrB,EAAQ43B,OAC3CnhB,OAAO,QACP2c,QAAQ,eAId,yBAAK3zB,UAAU,uBACb,yBAAKA,UAAU,8BACf,2BAAOA,UAAU,QAAjB,SAEA,yBAAKA,UAAU,YACb,kBAAC+oB,GAAA,EAAD,CACE3oB,GAAG,iBACHoD,MAAM,GACNxD,UAAWwpB,aAAKjpB,EAAQsrB,UAAWtrB,EAAQ43B,OAC3CnhB,OAAO,QACP2c,QAAQ,eAId,yBAAK3zB,UAAU,uBACb,yBAAKA,UAAU,8BACf,2BAAOA,UAAU,QAAjB,oBAEA,yBAAKA,UAAU,YACb,kBAAC+oB,GAAA,EAAD,CACE3oB,GAAG,iBACHoD,MAAM,GACNxD,UAAWwpB,aAAKjpB,EAAQsrB,UAAWtrB,EAAQ43B,OAC3CnhB,OAAO,QACP2c,QAAQ,WACRqjG,WAAW,2BAIjB,yBAAKh3H,UAAU,uBACb,yBAAKA,UAAU,8BACf,2BAAOA,UAAU,QAAjB,qBAEA,yBAAKA,UAAU,YACb,kBAAC+oB,GAAA,EAAD,CACE3oB,GAAG,iBACHoD,MAAM,GACNxD,UAAWwpB,aAAKjpB,EAAQsrB,UAAWtrB,EAAQ43B,OAC3CnhB,OAAO,QACP2c,QAAQ,WACRqjG,WAAW,qFAIjB,yBAAKh3H,UAAU,uBACb,yBAAKA,UAAU,8BACf,2BAAOA,UAAU,QAAjB,iBAEA,yBAAKA,UAAU,YACb,kBAAC+oB,GAAA,EAAD,CACE3oB,GAAG,iBACHoD,MAAM,GACNxD,UAAWwpB,aAAKjpB,EAAQsrB,UAAWtrB,EAAQ43B,OAC3CnhB,OAAO,QACP2c,QAAQ,iBAMlB,kBAAClN,GAAA,EAAM/U,OAAP,KACE,4BACE3O,KAAK,SACL0J,QAAS4E,EACTrR,UAAU,6BAHZ,UAOA,yCACA,4BACE+C,KAAK,SACL0J,QAAS,kBAAMsW,KACf/iB,UAAU,+BAHZ,cCpHP,SAASwwD,KAEd,IAAMpE,EAAmBC,KACnBG,EAAiBx7B,mBAAQ,WAC7B,MAAO,CACL5wB,GAAIgsD,EAAiB0D,WACrBrgC,OAAQ28B,EAAiB38B,OACzBy9B,UAAWd,EAAiBc,UAC5B5nC,YAAa8mC,EAAiB9mC,YAC9BmrC,qBAAsBrE,EAAiBqE,qBACvCC,sBAAuBtE,EAAiBsE,sBACxCC,WAAYvE,EAAiBuE,cAE9B,CAACvE,IAGE7mC,EAAW0L,eACjB,EAA0C3N,cACxC,SAAChE,GAAD,MAAY,CACViC,eAAgBjC,EAAMgxC,QAAQ/uC,eAC9BisC,cAAeluC,EAAMgxC,QAAQ9C,iBAE/B/pC,MALMlC,EAAR,EAAQA,eAAgBisC,EAAxB,EAAwBA,cAQxB15C,qBAAU,WAERyR,EAAStB,GAAoBuoC,EAAepsD,OAC3C,CAACosD,EAAepsD,GAAImlB,IAwCvB,OACE,kBAACkB,GAAA,EAAD,CACEtV,KAAK,KACLC,KAAMo7C,EAAeiE,qBACrBp/C,OAAQm7C,EAAekE,sBACvBp/C,kBAAgB,gCAEhB,kBAAC,GAAD,CAAwBlR,GAAIosD,EAAepsD,KAC3C,kBAAC,GAAD,CACE0wD,WA/Ca,SAACxD,GAClBA,EAAOq6C,QA/CX,SAA0B/lG,GACxB,GAAoB,kBAATA,EACT,OAAOA,EAGT,IAAI+pB,EAAO/pB,EAAKK,cAEZypB,GAAS,EAAI9pB,EAAKG,YAAYyE,WAClCklB,EAAQA,EAAM7iB,OAAS,EAAI6iB,EAAQ,IAAMA,EAEzC,IAAI9f,EAAMhK,EAAKI,UAAUwE,WAGzB,OAAOklB,EAAQ,KAFf9f,EAAMA,EAAI/C,OAAS,EAAI+C,EAAM,IAAMA,GAER,IAAM+f,EAkCdsrG,CAAiB3pE,EAAOq6C,SACpCn7C,EAAepsD,GAkBlBmlB,EAAStB,GAAqBqpC,IAAS14C,MAAK,WAE1C2Q,EAEEtB,GACEuoC,EAAelnC,YACfknC,EAAeU,YAEjBt4C,MAAK,WAEL43C,EAAe/8B,OAAO,IAEtB+8B,EAAekE,8BA5BnBnrC,EAAStB,GAAqBqpC,IAAS14C,MAAK,WAE1C2Q,EACEtB,GACEuoC,EAAelnC,YACfknC,EAAeU,YAEjBt4C,MAAK,WAEL43C,EAAe/8B,OAAO,IAEtB+8B,EAAekE,+BAiCjBnvC,eAAgBA,EAChB+rC,OAAQE,GAAiBhB,EAAemE,WACxCt/C,OAAQm7C,EAAekE,yBC7FxB,SAAS0mE,KAEd,IAAMhrE,EAAmBC,KACnBG,EAAiBx7B,mBAAQ,WAC7B,MAAO,CAAE9L,IAAKknC,EAAiBlnC,OAC9B,CAACknC,IAEJ,OACE,oCACE,kBAAC,GAAD,MACA,kBAAC,GAAD,MACA,kBAAC,GAAD,MACA,kBAAC,GAAD,MACA,kBAAC,GAAD,MACA,yBAAKpsD,UAAU,oBACb,kBAAC,GAAD,MACCwsD,EAAetnC,IAAIrc,OAAS,GAAK,kBAAC,GAAD,OAEpC,kBAAC,GAAD,O,2yMCFN,SAASsrH,GAAT,GAA0C,IAAlBzrG,EAAiB,EAAjBA,SAAU0rG,EAAO,EAAPA,IAC9B,OACI,kBAACtqG,GAAA,EAAD,CAAYpb,UAAU,MAAM0lH,IAAKA,EAAKhwH,MAAO,CAAEgjB,QAAS,KACnDsB,GAUb,IAAMpR,GAAYrB,cAAW,SAAAC,GAAK,MAAK,CACnCC,KAAM,CACFyR,gBAAiB1R,EAAM4R,QAAQqyE,WAAW9jF,WAK3C,SAASghH,KAAoB,IAAD,IACvBj3H,EAAO03B,aAAU,MAAjB13B,GACR,EAAkD4M,mBAAS,IAA3D,oBAA0BsqH,GAA1B,WACA,EAAgDtqH,mBAAS,IAAzD,oBAAyBuqH,GAAzB,WACA,EAAoCvqH,mBAAS,IAA7C,oBAAmBwqH,GAAnB,WACA,EAA0DxqH,mBAAS,IAAnE,oBAA4ByqH,GAA5B,WACMl3H,EAAU+W,KACVpB,EAAQuU,eACd,EAA0BC,IAAM1d,SAAS,GAAzC,oBAAO7N,EAAP,KAAc+1H,EAAd,KACA,EAA4BxqG,IAAM1d,SAAS,CACvChH,KAAM,GACN07B,IAAK,GACLC,UAAW,GACXC,SAAU,KAJd,oBAAO16B,EAAP,KAAe26B,EAAf,KAMA,EAA8BnX,IAAM1d,UAAS,GAA7C,8BAIA,IAAM0qH,EAAe,SAAA1xH,GAAI,OAAI,SAAAiO,GACzB4tB,EAAU,2BAAK36B,GAAN,mBAAelB,EAAOiO,EAAMrE,OAAOzQ,WAKhD,SAASw4H,EAAe1jH,GACpBihH,EAASjhH,EAAMrE,OAAOzQ,OAM1B2U,qBAAU,WACNqhH,OACD,IACH,IAAMp9F,EAAYC,eAClB,EAA0BhrB,mBAAS,IAAnC,oBAAcsZ,GAAd,WACA,EAA0EtZ,mBAAS,IAAnF,oBAAO4qH,EAAP,KAAsCC,EAAtC,KACA,EAA0E7qH,mBAAS,IAAnF,oBAAO8qH,EAAP,KAAsCC,EAAtC,KACA,EAAkE/qH,mBAAS,IAA3E,oBAAOgrH,EAAP,KAAkCC,EAAlC,KAEA,EAAoDjrH,mBAAS,IAA7D,oBAAOkrH,EAAP,KAA2BC,GAA3B,KACA,GAAsDnrH,mBAAS,IAA/D,sBAAOorH,GAAP,MAA4BC,GAA5B,MACA,GAA8CrrH,mBAAS,IAAvD,sBAAOsrH,GAAP,MAAsBC,GAAtB,MACA,GAAwCvrH,mBAAS,IAAjD,sBAAOwrH,GAAP,MAAmBC,GAAnB,MAEA3kH,qBAAU,WACN+Y,OACD,IAEH,IAAMA,GAAe,wCAAG,8GAEKvK,IAAM3M,IAAI,+BAFf,OAEVxG,EAFU,OAGhB0oH,EAAiC1oH,EAAO5M,KAAP,qBAAoCm2H,sBACrEX,EAAiC5oH,EAAO5M,KAAP,qBAAoCo2H,sBACrEV,EAA6B9oH,EAAO5M,KAAP,iBAAgCq2H,kBAE7DT,GAAsBhpH,EAAO5M,KAAP,eACtB81H,GAAuBlpH,EAAO5M,KAAP,eARP,4GAAH,qDAWrB,GAA2C+gB,cACvC,SAAChE,GAAD,MAAY,CACRiC,eAAgBjC,EAAM2Y,SAAS1W,eAC/B2W,eAAgB5Y,EAAM2Y,SAASC,kBAEnCzU,MALoByU,IAAxB,GAAQ3W,eAAR,GAAwB2W,gBAOxBpkB,qBAAU,WACN,IAAIyS,EAASnmB,EAAK,GAAK,sDACnB83B,IAAkB93B,IAClBmmB,EAAM,WAAO2R,GAAeza,IAAtB,MAGV6I,EAASC,GACTwR,EAAUzR,SAASC,KACpB,CAAC2R,GAAgB93B,IACpB,IAAM+0H,GAA0B,wCAAG,4FAC/BmC,EAAqB,IADU,kBAGNh1G,IAAM3M,IAAN,+BAAkCvV,IAH5B,OAIL,OADhB+O,EAHqB,QAIhB4F,QACP5F,EAAO5M,KAAK,GAAGqxC,QAAQ7vC,KAAI,SAAU+oB,GACjC,OAAQA,EAAIjpB,MACR,IAAK,iBACDyzH,EAAqBxqG,EAAIsoG,aACzB,MACJ,IAAK,iBACDmC,EAAoBzqG,EAAIsoG,aACxB,MACJ,IAAK,SACDoC,EAAc1qG,EAAIsoG,aAClB,MACJ,IAAK,oBACDqC,EAA2B3qG,EAAIsoG,aAC/B,MACJ,QACIqC,EAA2B3qG,EAAIsoG,iBApBpB,yGAAH,qDA2BhC,GAAwCpoH,oBAAS,GAAjD,sBAAO6L,GAAP,MAAqBggB,GAArB,MACM2K,GAAoB,wCAAG,WAAOvvB,GAAP,2EACzB4kB,IAAgB,GAChBw/F,GAAuB,IACI,KAAvBpkH,EAAMrE,OAAOzQ,OAAuC,OAAvB8U,EAAMrE,OAAOzQ,MAHrB,gCAIAmjB,IAAM3M,IAAN,qCAAwC1B,EAAMrE,OAAOzQ,QAJrD,OAKC,OADhBgQ,EAJe,QAKV4F,SACH5F,EAAO5M,KAAKsG,OAAS,EACrBwvH,GAAuBlpH,EAAO5M,MAE9B3C,YAAa,QAAS,wDATT,OAYzBi5B,IAAgB,GAZS,2CAAH,sDAcpBggG,GAAc,wCAAG,4FACbjzG,EAAapnB,SAASsR,eAAe,cAAc3Q,MACnD0kC,EAAcrlC,SAASsR,eAAe,eAAe3Q,OACvDymB,IAAcie,EAHC,iCAIIvhB,IAAMkD,KAAK,8BAA+B,CAAEI,WAAYtb,SAASsb,GAAaie,YAAav5B,SAASu5B,KAJxG,cAIX10B,EAJW,gBAKOmT,IAAMkD,KAAK,yBAA0BrW,GAL5C,cAMfopH,GAAqBppH,EAAO5M,KAAKisG,wBACjCiqB,GAAkBtpH,EAAO5M,KAAKksG,kBAPf,4CAAH,qDAUpB,OACI,yBAAKzuG,UAAWO,EAAQ4V,MACpB,yBAAKnW,UAAU,kBACX,0BAAM0iB,UAAQ,EAAC1iB,UAAU,yBACrB,yBAAKA,UAAU,uBACX,yBAAKA,UAAU,YACX,4BACII,GAAG,aACHJ,UAAU,eACVgG,KAAK,aACLoJ,YAAY,qBACZC,SAAUm0B,GAAqB1kB,KAAKC,MAAOtS,QAAS,cAEpD,4BAAQtN,MAAM,IAAd,UACC+4H,EAAmBn0H,KAAI,SAACC,EAAMC,GAAP,OACpB,4BAAQqD,IAAKrD,EAAO9E,MAAO6E,EAAKJ,IAAKI,EAAKH,UAGlD,2BAAO7D,UAAU,wBAAjB,sBAIJ,yBAAKA,UAAU,YACX,4BACII,GAAG,cACHJ,UAAU,eACVgG,KAAK,cACLoJ,YAAY,sBACZC,SAAU,WAAQwpH,OAGlB,4BAAQ15H,MAAM,IAAd,UACCi5H,GAAoBr0H,KAAI,SAACC,EAAMC,GAAP,OACrB,4BAAQqD,IAAKrD,EAAO9E,MAAO6E,EAAKJ,IAAKI,EAAKH,UAGjDgV,IAAgB,kBAACuV,GAAA,EAAD,MACjB,2BAAOpuB,UAAU,wBAAjB,yBAOZ,uBAAGA,UAAU,4CAAb,oJAGA,uBAAGA,UAAU,4CAAb,6IAIJ,kBAACq1H,GAAA,EAAD,CAAQ/wH,SAAS,SAASyK,MAAM,SAC5B,kBAACm6D,GAAA,EAAD,CACI/pE,MAAOA,EACPkQ,SAjKhB,SAAsB4E,EAAOka,GACzB+mG,EAAS/mG,IAiKGmnG,eAAe,UACfC,UAAU,UACV5hG,QAAQ,aAER,kBAACw1C,GAAA,EAAD,CAAK3lE,MAAM,mBACX,kBAAC2lE,GAAA,EAAD,CAAK3lE,MAAM,mBACX,kBAAC2lE,GAAA,EAAD,CAAK3lE,MAAM,WACX,kBAAC2lE,GAAA,EAAD,CAAK3lE,MAAM,wBAGnB,kBAAC,KAAD,CACIS,MAAO9E,EACPq2H,cAxKZ,SAA2BvxH,GACvBixH,EAASjxH,KA0KD,kBAAC,GAAD,CAAcmwH,IAAKl+G,EAAMqmB,WACrB,yBAAKv8B,UAAU,aACX,wBAAIA,UAAU,kCAAd,qCACA,yBAAKA,UAAU,8EACX,uBAAGA,UAAU,4CAAb,sIAGA,uBAAGmE,MAAM,4CAAT,sEAIJ,yBAAKnE,UAAU,oBACX,0BAAMA,UAAWO,EAAQqrB,UAAWyW,YAAU,EAACy2F,aAAa,OACxD,yBAAK94H,UAAU,cACX,2BAAOA,UAAU,QAAjB,uCACA,yBAAKmE,MAAM,gBACNyzH,EAA8B7zH,KAAI,SAACC,EAAMC,GAAP,OAC/B,2BAAOjE,UAAU,QAAQsH,IAAKrD,EAAO9E,MAAO6E,EAAKH,MAC7C,2BAAOd,KAAK,QAAQiD,KAAK,YACzB,+BACChC,EAAKH,WAKtB,yBAAK7D,UAAU,qBACX,kBAAC+oB,GAAA,EAAD,CACI3oB,GAAG,gBACHoD,MAAM,mCACNxD,UAAS,6BAAwBO,EAAQsrB,WACzC1sB,MAAO+H,EAAOlB,KACdqJ,SAAUqoH,EAAa,QACvB1gH,OAAO,WAEX,kBAAC+R,GAAA,EAAD,CACI3oB,GAAG,wBACHoD,MAAM,mBACNge,aAAa,GACbxhB,UAAS,wBAAmBO,EAAQsrB,WACpC7U,OAAO,cAKvB,wBAAIhX,UAAU,sCAAd,sCACA,yBAAKA,UAAU,oBACX,0BAAMA,UAAWO,EAAQqrB,UAAWyW,YAAU,EAACy2F,aAAa,OACxD,yBAAK94H,UAAU,qBACX,kBAAC+oB,GAAA,EAAD,CACI3oB,GAAG,gBACHoD,MAAM,8BACNxD,UAAS,wBAAmBO,EAAQsrB,WACpC1sB,MAAO+H,EAAOlB,KACdqJ,SAAUqoH,EAAa,QACvB1gH,OAAO,WAEX,kBAAC+R,GAAA,EAAD,CACI3oB,GAAG,wBACHoD,MAAM,gCACNge,aAAa,GACbxhB,UAAS,mBAAcO,EAAQsrB,WAC/B7U,OAAO,cAKvB,yBAAK7S,MAAM,8EACP,uBAAGnE,UAAU,4CACT,4CADJ,uMAGA,uBAAGA,UAAU,4CACT,sCADJ,8KAGA,uBAAGA,UAAU,4CACT,kDADJ,iNAGA,uBAAGA,UAAU,4CACT,8CADJ,gFAGA,uBAAGA,UAAU,4CAAb,yIAIJ,0BAAM0iB,UAAQ,EAAC1iB,UAAU,yBACrB,yBAAKA,UAAU,uBACX,yBAAKA,UAAU,YACX,2BAAOA,UAAU,QAAjB,iEAEJ,yBAAKA,UAAU,YACX,4BACIA,UAAU,eACVgG,KAAK,SACLoJ,YAAY,oBAEZ,4BAAQjQ,MAAM,IAAd,YAKhB,kBAACu3H,GAAD,CAAmBj7B,iBAAkBr7F,GACjC,kBAACy/D,GAAD,OAEJ,4BACI98D,KAAK,SACL/C,UAAU,6BAFd,UAMA,yCACA,4BACI+C,KAAK,SACL/C,UAAU,+BAFd,UAUR,kBAAC,GAAD,CAAco0H,IAAKl+G,EAAMqmB,WACrB,yBAAKv8B,UAAU,aACX,yBAAKA,UAAU,8EACX,uBAAGA,UAAU,4CAAb,wPAGA,uBAAGmE,MAAM,4CAAT,mGAIJ,0BAAMnE,UAAWO,EAAQqrB,UAAWyW,YAAU,EAACy2F,aAAa,OACxD,yBAAK94H,UAAU,qBACX,kBAAC+oB,GAAA,EAAD,CACI3oB,GAAG,gBACHoD,MAAM,8BACNxD,UAAS,6BAAwBO,EAAQsrB,WACzC1sB,MAAOm5H,GACPjpH,SAAUqoH,EAAa,QACvB1gH,OAAO,WAEX,kBAAC+R,GAAA,EAAD,CACI3oB,GAAG,wBACHoD,MAAM,yBACNrE,MAAOq5H,GACPx4H,UAAS,wBAAmBO,EAAQsrB,WACpC7U,OAAO,aAInB,wBAAIhX,UAAU,sCAAd,+DACA,yBAAKA,UAAU,oBACX,0BAAMA,UAAWO,EAAQqrB,UAAWyW,YAAU,EAACy2F,aAAa,OACxD,yBAAK94H,UAAU,qBACX,yBAAKA,UAAWO,EAAQ4V,MACpB,yBAAKnW,UAAU,YACX,2BAAOA,UAAU,QAAjB,mBAEJ,kBAAC+4H,GAAA,GAAD,GACIvnH,aAAW,SACXxL,KAAK,UACLhG,UAAWO,EAAQo5B,MACnBx6B,MAAOA,GAJX,4BAKe,YALf,sBAK+B,YAL/B,uBAMWA,GANX,0BAOcw4H,GAPd,4BAUKG,EAA8B/zH,KAAI,SAACC,EAAMC,GAAP,OAC/B,kBAACo2B,GAAA,EAAD,CACIj6B,GAAI4D,EAAKJ,GACTzE,MAAO6E,EAAKH,KACZy2B,QAAS,kBAACC,GAAA,EAAD,CAAOxrB,MAAM,YACtBvL,MAAOQ,EAAKH,KACZ22B,eAAe,gBAMnC,yBAAKx6B,UAAU,kBACX,yBAAKA,UAAU,YACX,2BAAOA,UAAU,QAAjB,iEAEJ,yBAAKA,UAAU,YACX,kBAAC+oB,GAAA,EAAD,CACI3oB,GAAG,iBACHoD,MAAM,GACNxD,UAAWwpB,aAAKjpB,EAAQsrB,UAAWtrB,EAAQ43B,OAC3CnhB,OAAO,QACP2c,QAAQ,iBAM5B,wBAAI3zB,UAAU,sCAAd,8CACA,yBAAKA,UAAU,yBACX,0BAAMA,UAAWO,EAAQqrB,UAAWyW,YAAU,EAACy2F,aAAa,OACxD,yBAAK94H,UAAU,qBACX,yBAAKA,UAAWO,EAAQ4V,MACpB,yBAAKnW,UAAU,YACX,2BAAOA,UAAU,QAAjB,uBAEJ,kBAAC+4H,GAAA,GAAD,GACIvnH,aAAW,SACXxL,KAAK,UACLhG,UAAWO,EAAQo5B,MACnBx6B,MAAOA,GAJX,4BAKe,YALf,sBAK+B,YAL/B,uBAMWA,GANX,0BAOcw4H,GAPd,GASKK,EAA0Bj0H,KAAI,SAACC,EAAMC,GAAP,OAC3B,kBAACo2B,GAAA,EAAD,CACIj6B,GAAI4D,EAAKJ,GACTzE,MAAO6E,EAAKH,KACZy2B,QAAS,kBAACC,GAAA,EAAD,CAAOxrB,MAAM,YACtBvL,MAAOQ,EAAKH,UAGpB,yBAAK7D,UAAU,uBACX,yBAAKA,UAAU,aAEf,yBAAKA,UAAU,YACX,4BACIA,UAAU,eACVgG,KAAK,SACLoJ,YAAY,oBAEZ,4BAAQjQ,MAAM,IAAd,aAIZ,2BAAOa,UAAU,QAAjB,4CAOpB,4BACI+C,KAAK,SACL/C,UAAU,6BAFd,UAMA,yCACA,4BACI+C,KAAK,SACL/C,UAAU,+BAFd,UAQR,kBAAC,GAAD,CAAco0H,IAAKl+G,EAAMqmB,WACrB,yBAAKv8B,UAAU,aACX,yBAAKA,UAAU,8EACX,uBAAGA,UAAU,4CAAb,iIAGA,uBAAGmE,MAAM,4CAAT,sIAGA,uBAAGA,MAAM,4CAAT,gFAEJ,kBAAC4yH,GAAD,CAAyBt7B,iBAAkBr7F,GACvC,kBAAC82H,GAAD,OAEJ,4BACIn0H,KAAK,SACL/C,UAAU,6BAFd,UAMA,yCACA,4BACI+C,KAAK,SACL/C,UAAU,+BAFd,UASR,kBAAC,GAAD,CAAco0H,IAAKl+G,EAAMqmB,WACrB,yBAAKv8B,UAAU,aACX,kBAACm3H,GAAD,CAAkC17B,iBAAkBr7F,GAChD,kBAACg3H,GAAD,OAEJ,4BACIr0H,KAAK,SACL/C,UAAU,6BAFd,UAMA,yCACA,4BACI+C,KAAK,SACL/C,UAAU,+BAFd,Y,eC3hBjB,SAASg5H,KACZ,OACI,kBAAC,KAAD,M,2yMCGR,IAAM1hH,GAAYrB,cAAW,SAAAC,GAAK,MAAK,CACnCC,KAAM,CACFC,MAAO,OACPE,UAAWJ,EAAMK,QAAQ,GACzBC,UAAW,YAGZ,SAASyiH,KACZ,MAAoBjsH,mBAAS,GAA7B,oBAAO5M,EAAP,KAAW6zH,EAAX,KACA,EAAkCjnH,mBAAS,GAA3C,oBAAOu/B,EAAP,KAAkBC,EAAlB,KACA,EAA0Cx/B,mBAAS,IAAnD,oBAAOyL,EAAP,KAAsBC,EAAtB,KACA,EAAwC1L,oBAAS,GAAjD,oBAAO6L,EAAP,KAAqBggB,EAArB,KAEA/kB,qBAAU,WACNuO,MAED,IACH,IAAMA,EAAe,wCAAG,qGAEhBwW,GAAgB,GAFA,SAGKvW,IAAM3M,IAAI,0BAHf,OAGVxG,EAHU,OAIhBuJ,EAAiBvJ,EAAO5M,KAAP,eACjBs2B,GAAgB,GALA,gDAOhBA,GAAgB,GAPA,yDAAH,qDAUft4B,EAAU+W,KAYhB,OACJ,6BACQ,kBAAC6R,GAAA,EAAD,CAAOnpB,UAAS,cAASO,EAAQ4V,OAC7B,yBAAKnW,UAAU,iBACP,4BACIA,UAAU,eACVgG,KAAK,SACLoJ,YAAY,oBACZhP,GAAG,cACFqY,EAAc1U,KAAI,SAACC,EAAMC,GAAP,OACf,4BAAQqD,IAAKrD,EAAO9E,MAAO6E,EAAKJ,IAC3BI,EAAKgnB,iBAIrBnS,GAAgB,kBAACuV,GAAA,EAAD,MACjB,2BAAOpuB,UAAU,wBACb,kDAGR,yBAAKA,UAAU,iBACP,4BACIA,UAAU,eACVgG,KAAK,gBACLoJ,YAAY,wBACZhP,GAAG,iBAEH,4BAAQjB,MAAM,KAAd,cACA,4BAAQA,MAAM,KAAd,aAER,2BAAOa,UAAU,wBACb,sDAGR,yBAAKA,UAAU,oCACX,uBAAGA,UAAU,wCAAwC0I,KAAI,uBAAkBtI,EAAlB,YAAwBmsC,GAAa9/B,QAAS,YA9C7F,WAClBwnH,EAAM,GACN,IAAI36G,EAAa9a,SAASsR,eAAe,cAAc3Q,MACnDotC,EAAY/tC,SAASsR,eAAe,iBAAiB3Q,MACrDma,GACA26G,EAAM36G,GAENizB,GACAC,EAAaD,GAuCO2nF,KADhB,a,eC/ET,SAASgF,KACZ,OACI,kBAAC,KAAD,M,m0MCaR,IAAMj7H,GAAU,IAAIC,IAAa,MAC3BC,GAAKC,IAAIH,IAER,SAASk7H,GAAmB1jG,GACjC,IAAI04C,EACAvoD,EACE7Z,EAAQqtH,aAAU3jG,EAAQ2jB,SAASq+B,SAAU,CACjDxpE,KAAM,4CAER,IACqB,IAAD,IAAlB,GAAIlC,EAAM2pB,OACRy4C,EAAS,UAAGpiE,EAAM2pB,cAAT,aAAG,EAAct1B,GAC1BwlB,EAAU,UAAG7Z,EAAM2pB,cAAT,aAAG,EAAc2jG,GAE7B,MAAOx5H,IACPuD,QAAQC,IAAIxD,IAGd,IAiCMU,EAjCY0V,cAAW,SAACC,GAAD,MAAY,CACvCC,KAAM,CACJC,MAAO,QAETC,MAAO,CACLC,UAAWJ,EAAMK,QAAQ,GACzBH,MAAO,OACPI,UAAW,OACXC,aAAcP,EAAMK,QAAQ,IAE9BG,MAAO,CACLC,SAAU,KAEZnP,IAAK,CACHoP,OAAQ,IAEVC,QAAS,CACPD,OAAQ,GACRE,WAAY,QAEdC,OAAQ,CACNC,OAAQd,EAAMK,QAAQ,IAExBU,SAAU,CACRC,YAAahB,EAAMK,QAAQ,IAE7BY,UAAW,CACTC,WAAYlB,EAAMK,QAAQ,IAE5Bc,UAAW,CACThT,SAAU,OAGEiT,GAChB,EAAkCtK,mBAAS,IAA3C,oBAAOuK,EAAP,KAAkBC,EAAlB,KACA,EAAwCxK,oBAAS,GAAjD,oBAAOyK,EAAP,KAAqBC,EAArB,KACA,EAAkC1K,oBAAS,GAA3C,oBAAOqL,EAAP,KAAkBC,EAAlB,KACA,EAAwCtL,mBAAS,IAAjD,oBAAOssH,EAAP,KAAqBC,EAArB,KACA,EAA0CvsH,mBAAS,IAAnD,oBAAOyL,EAAP,KAAsBC,EAAtB,KACA,EAAgD1L,oBAAS,GAAzD,oBAAO2L,EAAP,KAAyBC,EAAzB,KACA,EAAwC5L,oBAAS,GAAjD,oBAAO6L,EAAP,KAAqBggB,EAArB,KACA,EAAuC7rB,mBAAS,CAC9C7N,MAAO,GACPqE,MAAO,WAFT,oBAAOg2H,EAAP,KAAuBC,EAAvB,KAIA,EAAyCzsH,mBAAS,CAChD7N,MAAO,GACPqE,MAAO,WAFT,oBAAOsV,EAAP,KAAwBC,EAAxB,KAIA,EAA8B/L,oBAAS,GAAvC,oBAAOgM,EAAP,KAAgBC,EAAhB,KACAnF,qBAAU,WACRoF,MACC,IACH,IAAMA,EAAmB,wCAAG,kHAEHoJ,IAAM3M,IAAI,mCAFP,OAGF,OADhBxG,EAFkB,QAGb4F,SACT2D,EAAiBvJ,EAAO5M,MAGpB2gD,EAAgB/zC,EAAO5M,KACvBqjB,IACEtE,EADU,OACC4hC,QADD,IACCA,OADD,EACCA,EAAe//B,MAC5B,SAACtb,GAAD,OAAOA,EAAEzH,KAAOkK,SAASsb,MAE3B7M,EAAc,CAAE5Z,MAAOmiB,EAASlhB,GAAIoD,MAAO8d,EAAS0J,cACpDwY,EAAqB5d,IAEnBuoD,GACFsrD,EAAa,CAAEt6H,MAAOgvE,EAAW3qE,MAAO2qE,KAhBpB,uGAAH,qDAqBnB3qC,EAAoB,wCAAG,WAAOvvB,GAAP,6EAC3B4kB,GAAgB,GAChB0gG,EAAgB,IACF,KAAVtlH,GAA0B,OAAVA,EAHO,wBAIrBoB,EAAY,IAAIC,SACVC,OAAO,gBAAjB,iBAA4CpX,GAAG8L,OAAOC,WAAWyK,QACjEU,EAAUE,OAAO,eAAgB,oBACjCF,EAAUE,OAAO,eAAgB,UAC7BC,EAAiB,CACnBjB,OAAQ,MACRC,iBAAiB,EACjBC,QAASY,EACTI,SAAU,UAZa,UAcnBpB,MAAM,GAAD,OACNxP,OAAOyP,QADD,yDACyDL,GAClEuB,GAECZ,MAAK,SAACC,GAAD,OAAcA,EAAS5V,UAC5B2V,MAAK,SAACzF,GACL,IACIpH,EADMhH,KAAKC,MAAMmO,GACNpL,KAAI,SAACgnB,GAAD,MAAiB,CAClC5rB,MAAO4rB,EACPvnB,MAAOunB,MAETwuG,EAAgBxxH,MAEjBoN,OAAM,SAAC5K,GAAD,OAAWnH,QAAQC,IAAI,QAASkH,MA3BhB,QA6B3BsuB,GAAgB,GA7BW,4CAAH,sDAsNpBxf,GAAkB,wCAAG,yFACzBT,GAAoB,GACpBK,GAAW,IACLk1D,EAAYqrD,EAAer6H,OAE3BsY,EACEF,EAAU1O,OAAS,IACjBwM,EAAY,IAAIC,SACVC,OACR,gBADF,iBAEYpX,GAAG8L,OAAOC,WAAWyK,QAEjCU,EAAUE,OAAO,eAAgB,oBACjCF,EAAUE,OAAO,eAAgB,UAC7BC,EAAiB,CACnBjB,OAAQ,OACRC,iBAAiB,EACjBC,QAASY,EACTjW,KAAM2B,KAAKE,UAAU,CACnB2tD,UAAWuf,EACX10D,MAAOlC,EACP+B,WAAU,OAAER,QAAF,IAAEA,OAAF,EAAEA,EAAiB3Z,SAGjCkV,MAAM,GAAD,OACAxP,OAAOyP,QADP,sCAEHkB,GAECZ,KAJH,wCAIQ,WAAOC,GAAP,iFACEC,EAAaD,EAASE,OACxBxS,EAAO,GACQ,MAAfuS,EAHA,gBAIFlV,YAAa,UAAW,6BAJtB,uCAMWiV,EAAS1N,OANpB,OAMF5E,EANE,OAOImX,OACc5T,KAAd,QAAJ,EAAAvD,SAAA,eAAMsT,SACF,iEACAtT,EAAKsT,QACXjW,YAAa,QAAS8Z,GAXpB,4CAJR,uDAkBG9E,MAAK,SAACM,GACL,OAAOA,KAERC,OAAM,SAACtV,GACNuD,QAAQC,IAAIxD,OAYhBD,YAAa,QAAS,yCAGxBA,YAAa,QAAS,yCAGxBA,YAAa,QAAS,4BAExBqZ,GAAW,GACXL,GAAoB,GAnEK,2CAAH,qDAsHxB,SAASe,GAAY7a,GACnB,IAAI8a,EAAW,EACf,MAAmB,kBAAR9a,EAAyBA,GACxB,OAARA,QAAwBgH,IAARhH,GACdA,EAAI+J,OAAS,IACVgR,MAAM/a,KACT8a,EAAWtP,SAASxL,KAInB8a,GAGT,SAASE,GAAchb,GACrB,IAAI8a,EAAW,EACf,MAAmB,kBAAR9a,EAAyBA,GACxB,OAARA,QAAwBgH,IAARhH,GACdA,EAAI+J,OAAS,IACVgR,MAAM/a,KACT8a,EAAWG,WAAWjb,KAIrB8a,GAET,OACE,kBAAC,KAAD,KACE,kBAAC,KAAKnI,KAAN,KACE,kBAAC6zB,GAAA,EAAD,KACE,kBAACA,GAAA,EAAKtrB,IAAN,KACE,yBAAKha,UAAU,iBACb,kBAACslC,GAAA,EAAKrrB,MAAN,0BACA,kBAAC,KAAD,CACEC,aAAW,EACX/a,MAAO2Z,EACPzJ,SAAU,SAACC,GACC,OAANA,EACFyJ,EAAc,CACZ5Z,MAAO,GACPqE,MAAO,YAGTggC,EAAoB,OAACl0B,QAAD,IAACA,OAAD,EAACA,EAAGnQ,OACxB4Z,EAAczJ,KAGlB6K,QAAS1B,EAAc1U,KAAI,SAAC8D,GAC1B,MAAO,CAAE1I,MAAK,OAAE0I,QAAF,IAAEA,OAAF,EAAEA,EAAGzH,GAAIoD,MAAK,OAAEqE,QAAF,IAAEA,OAAF,EAAEA,EAAGmjB,gBAEnChlB,KAAK,aACL5F,GAAG,aACHJ,UAAU,gBAmBd,yBAAKA,UAAU,iBAQb,uBAAGA,UAAU,QAAb,cACA,kBAAC,KAAD,CACEka,aAAW,EACX/a,MAAOq6H,EACPnqH,SAAU,SAACC,GAEPmqH,EADQ,OAANnqH,EACW,CACXnQ,MAAO,GACPqE,MAAO,UAGI8L,IAGjB6K,QAASm/G,EACTtzH,KAAK,YACL5F,GAAG,YACHJ,UAAU,eAEX6Y,GAAgB,kBAACuV,GAAA,EAAD,OAEnB,kBAACkX,GAAA,EAAK9qB,MAAN,CAAYna,GAAIoa,KAAKC,UAAU,oBAC7B,kBAAC4qB,GAAA,EAAKrrB,MAAN,gBACA,kBAAC,KAAD,CAAMja,UAAU,qCACd,kBAACslC,GAAA,EAAK3qB,QAAN,CACE5X,KAAK,OACL6X,OAAO,8FACPvL,SAzYI,SAAC4E,GACnByD,GAAgB,GAChBF,EAAa,IACbc,GAAa,GACb,IAAIuC,EAAU5G,EAAMrE,OAAOkL,MAAM,GACjCC,yBAAcF,GAAS,SAAChb,EAAKmb,GAC3B,GAAInb,EAEF,OADAyY,GAAa,IACN,EAEP,GAAI0C,EAAKC,KAAKpS,OAAS,EAErB,OADAyP,GAAa,IACN,EAET,IAAI/O,EAAIyR,EAAKC,KAAK,GAAGrF,QAAQ,kBACzB3Q,EAAI+V,EAAKC,KAAK,GAAGrF,QAAQ,OACzBnM,EAAIuR,EAAKC,KAAK,GAAGrF,QAAQ,aACzB5J,EAAIgP,EAAKC,KAAK,GAAGrF,QAAQ,kBACzBtG,EAAI0L,EAAKC,KAAK,GAAGrF,QAAQ,cACzBsF,EAAIF,EAAKC,KAAK,GAAGrF,QAAQ,WACzBuF,EAAIH,EAAKC,KAAK,GAAGrF,QAAQ,eACzBwF,EAAIJ,EAAKC,KAAK,GAAGrF,QAAQ,SACzBhN,EAAIoS,EAAKC,KAAK,GAAGrF,QAAQ,aACzByF,EAAIL,EAAKC,KAAK,GAAGrF,QAAQ,eACzBtU,EAAI0Z,EAAKC,KAAK,GAAGrF,QAAQ,gBACzB0F,EAAIN,EAAKC,KAAK,GAAGrF,QAAQ,iBACzB2F,EAAIP,EAAKC,KAAK,GAAGrF,QAAQ,mBACzB4F,EAAIR,EAAKC,KAAK,GAAGrF,QAAQ,WACzBzU,EAAI6Z,EAAKC,KAAK,GAAGrF,QAAQ,SACzB6F,EAAIT,EAAKC,KAAK,GAAGrF,QAAQ,YACzB8F,EAAIV,EAAKC,KAAK,GAAGrF,QAAQ,YACzB+F,EAAIX,EAAKC,KAAK,GAAGrF,QAAQ,aAC7B,IACS,IAAPrM,IACO,IAAPtE,IACO,IAAPwE,IACO,IAAPuC,IACO,IAAPsD,IACO,IAAP4L,IACO,IAAPC,IACO,IAAPC,IACO,IAAPxS,IACO,IAAPyS,IACO,IAAP/Z,IACO,IAAPga,IACO,IAAPC,IACO,IAAPC,IACO,IAAPra,IACO,IAAPsa,IACO,IAAPC,IACO,IAAPC,EAGA,OADArD,GAAa,IACN,EAGT,IAAI2C,EAAO,GACXD,EAAKC,KAAKxZ,MAAM,EAAGuZ,EAAKC,KAAKpS,QAAQ3H,SAAQ,SAACiP,EAASlM,GACrD,IAAIwY,EAAQ,EACRlS,EAAQ,QAEKzE,IAAfqK,EAAQ5G,SACOzD,IAAfqK,EAAQ1G,SACO3D,IAAfqK,EAAQnE,SACOlG,IAAfqK,EAAQb,SACOxJ,IAAfqK,EAAQ+K,SACOpV,IAAfqK,EAAQgL,SACOrV,IAAfqK,EAAQiL,SACOtV,IAAfqK,EAAQvH,KAER6T,EAAQ,EACRlS,EAAQ,sCAENoP,GAAYxJ,EAAQ1G,IAAM,IAC5BgT,EAAQ,EACRlS,EAAQ,oCAENoP,GAAYxJ,EAAQb,IAAM,IAC5BmN,EAAQ,EACRlS,EAAQ,qCAENuP,GAAc3J,EAAQ+K,IAAM,IAC9BuB,EAAQ,EACRlS,EAAQ,qCAENuP,GAAc3J,EAAQiL,IAAM,IAC9BqB,EAAQ,EACRlS,EAAQ,qCAES,KAAf4F,EAAQ1G,SAA4B3D,IAAfqK,EAAQ1G,KAC/BgT,EAAQ,EACRlS,EAAQ,yBAES,KAAf4F,EAAQb,SAA4BxJ,IAAfqK,EAAQb,KAC/BmN,EAAQ,EACRlS,EAAQ,0BAES,KAAf4F,EAAQ+K,SAA4BpV,IAAfqK,EAAQ+K,KAC/BuB,EAAQ,EACRlS,EAAQ,sBAES,KAAf4F,EAAQiL,SAA4BtV,IAAfqK,EAAQiL,KAC/BqB,EAAQ,EACRlS,EAAQ,oBAGO,KAAf4F,EAAQ7O,SACOwE,IAAfqK,EAAQ7O,IACRqY,GAAYxJ,EAAQ7O,KAAO,IAE3Bmb,EAAQ,EACRlS,EAAQ,wCAGO,KAAf4F,EAAQmL,SACOxV,IAAfqK,EAAQmL,IACR3B,GAAYxJ,EAAQmL,KAAO,IAE3BmB,EAAQ,EACRlS,EAAQ,yCAGO,KAAf4F,EAAQoL,SACOzV,IAAfqK,EAAQoL,IACR5B,GAAYxJ,EAAQoL,KAAO,IAE3BkB,EAAQ,EACRlS,EAAQ,2CAGO,KAAf4F,EAAQqL,SACO1V,IAAfqK,EAAQqL,IACR7B,GAAYxJ,EAAQqL,KAAO,IAE3BiB,EAAQ,EACRlS,EAAQ,uCAESzE,IAAfqK,EAAQ5G,IACV0R,EAAKnS,KAsGf,SACE6T,EACAzP,EACAsQ,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAG,GAEA,MAAO,CACLjC,QACAzP,QACAsQ,gBACAC,MACAC,SACAC,gBACAC,YACAC,SACAC,aACAC,OACAC,WACAC,cACAC,eACAC,gBACAC,kBACAC,UACAC,QACAC,WACAC,WACAC,YACAG,SAjJQC,CACEpC,EACAxY,EAAQ,EACRkM,EAAQ5G,GACR4G,EAAQlL,GACRkL,EAAQ1G,GACR0G,EAAQnE,GACRmE,EAAQb,GACRa,EAAQ+K,GACR/K,EAAQgL,GACRhL,EAAQiL,GACRjL,EAAQvH,GACRuH,EAAQkL,GACRlL,EAAQ7O,GACR6O,EAAQmL,GACRnL,EAAQoL,GACRpL,EAAQqL,GACRrL,EAAQhP,GACRgP,EAAQsL,GACRtL,EAAQuL,GACRvL,EAAQwL,GACRpR,OAIRiN,EAAayD,EAAKlS,WAClBuP,GAAa,OAoOmBwG,KAAKC,MAC3BtS,QA9YE,SAACwH,GACjBA,EAAMrE,OAAOzQ,MAAQ,IA6YY2f,KAAKC,WAKhC,kBAACumB,GAAA,EAAKtrB,IAAN,KACE,kBAACsrB,GAAA,EAAK9qB,MAAN,CAAYna,GAAIoa,KAAKC,UAAU,oBAC7B,kBAAC4qB,GAAA,EAAKrrB,MAAN,CAAYja,UAAU,8BAAtB,eAGA,yBAAKA,UAAU,mCACb,+FAEQ,IACN,uBACE0I,KAAK,qGACLsW,UAAQ,EACRpP,OAAO,UAHT,uBASJ,yBAAK5P,UAAU,mCACb,gFAGF,kBAACwzB,GAAA,EAAD,CACEnzB,GAAG,QACH0C,KAAK,SACLgM,MAAM,YACNkQ,UAAQ,EACR9f,MAAM,SACNa,UAAU,wCACVyM,QAAS,YAzbI,WACzB,GAAI4L,EAGF,OAFAzY,YAAa,QAAS,yCACtB8X,GAAgB,IACT,EAETA,GAAgB,GAobFwH,QAKPzH,GACC,kBAAC6tB,GAAA,EAAKtrB,IAAN,CAAUha,UAAU,kBAClB,kBAACmpB,GAAA,EAAD,CAAOnpB,UAAWO,EAAQ8V,OACxB,kBAAC,KAAD,CAAOrW,UAAWO,EAAQmW,MAAOvF,KAAK,SACpC,kBAAC2qB,GAAA,EAAD,CAAW97B,UAAU,WACnB,kBAAC+7B,GAAA,EAAD,CAAU/7B,UAAWO,EAAQiH,KAC3B,kBAACw0B,GAAA,EAAD,CAAWh8B,UAAU,cACnB,wCAKF,kBAACg8B,GAAA,EAAD,CAAWh8B,UAAU,cACnB,+CAEF,kBAACg8B,GAAA,EAAD,CAAWh8B,UAAU,cACnB,mCAEF,kBAACg8B,GAAA,EAAD,CAAWh8B,UAAU,cACnB,0CAEF,kBAACg8B,GAAA,EAAD,CAAWh8B,UAAU,cACnB,gDAEF,kBAACg8B,GAAA,EAAD,CAAWh8B,UAAU,cACnB,2CAEF,kBAACg8B,GAAA,EAAD,CAAWh8B,UAAU,cACnB,uCAEF,kBAACg8B,GAAA,EAAD,CAAWh8B,UAAU,cACnB,4CAEF,kBAACg8B,GAAA,EAAD,CAAWh8B,UAAU,cACnB,qCAEF,kBAACg8B,GAAA,EAAD,CAAWh8B,UAAU,cACnB,0CAEF,kBAACg8B,GAAA,EAAD,CAAWh8B,UAAU,cACnB,2CAEF,kBAACg8B,GAAA,EAAD,CAAWh8B,UAAU,cACnB,uCAEF,kBAACg8B,GAAA,EAAD,CAAWh8B,UAAU,cACnB,yCAEF,kBAACg8B,GAAA,EAAD,CAAWh8B,UAAU,cACnB,2CAEF,kBAACg8B,GAAA,EAAD,CAAWh8B,UAAU,cACnB,uCAEF,kBAACg8B,GAAA,EAAD,CAAWh8B,UAAU,cACnB,sCAEF,kBAACg8B,GAAA,EAAD,CAAWh8B,UAAU,cACnB,yCAEF,kBAACg8B,GAAA,EAAD,CAAWh8B,UAAU,cACnB,wCAEF,kBAACg8B,GAAA,EAAD,CAAWh8B,UAAU,cACnB,4CAIN,kBAACm+B,GAAA,EAAD,KACG5mB,EAAUxT,KAAI,SAACyD,GAAD,OACb,kBAACu0B,GAAA,EAAD,CAAU/7B,UAAWO,EAAQsW,QAASvP,IAAKE,EAAI0F,OAC7C,kBAAC8uB,GAAA,EAAD,KACiB,IAAdx0B,EAAImV,OACH,uBACEwC,cAAY,UACZC,MAAM,QACNpf,UAAU,sCAGC,IAAdwH,EAAImV,OACH,uBACEwC,cAAY,UACZC,MAAO5X,EAAIoX,MACX5e,UAAU,6CAKhB,kBAACg8B,GAAA,EAAD,KAAYx0B,EAAIgW,eAChB,kBAACwe,GAAA,EAAD,KAAYx0B,EAAIiW,KAChB,kBAACue,GAAA,EAAD,KAAYx0B,EAAIkW,QAChB,kBAACse,GAAA,EAAD,KAAYx0B,EAAImW,eAChB,kBAACqe,GAAA,EAAD,KAAYx0B,EAAIoW,WAChB,kBAACoe,GAAA,EAAD,KAAYx0B,EAAIqW,QAChB,kBAACme,GAAA,EAAD,KAAYx0B,EAAIsW,YAChB,kBAACke,GAAA,EAAD,KAAYx0B,EAAIuW,MAChB,kBAACie,GAAA,EAAD,KAAYx0B,EAAIwW,UAChB,kBAACge,GAAA,EAAD,KAAYx0B,EAAIyW,aAChB,kBAAC+d,GAAA,EAAD,KAAYx0B,EAAI0W,cAChB,kBAAC8d,GAAA,EAAD,KAAYx0B,EAAI2W,eAChB,kBAAC6d,GAAA,EAAD,KAAYx0B,EAAI4W,iBAChB,kBAAC4d,GAAA,EAAD,KAAYx0B,EAAI6W,SAChB,kBAAC2d,GAAA,EAAD,KAAYx0B,EAAI8W,OAChB,kBAAC0d,GAAA,EAAD,KAAYx0B,EAAI+W,UAChB,kBAACyd,GAAA,EAAD,KAAYx0B,EAAIgX,UAChB,kBAACwd,GAAA,EAAD,KAAYx0B,EAAIiX,kBAM1B,yBAAKze,UAAU,sBACZ,IACD,2BACGuX,EAAU1O,OAAS,EAChB0O,EAAU1O,OAAS,YACnB,uBAHN,OAQH,IACH,kBAACy8B,GAAA,EAAKtrB,IAAN,KACE,kBAACsrB,GAAA,EAAK9qB,MAAN,CAAYna,GAAIoa,KAAKC,UAAU,oBAC7B,kBAAC4qB,GAAA,EAAKrrB,MAAN,CAAYja,UAAU,8BAAtB,UAGA,yBAAKA,UAAU,mCACb,iGAKF,yBAAKA,UAAU,mCACb,sFAGF,4BACE+C,KAAK,SACL0J,QAAS,WACP4M,MAEFlG,SAAUwF,EACV3Y,UAAU,yCAEV,8BAAO2Y,EAAmB,eAAiB,UAC1CK,GACC,0BAAMhZ,UAAU,qC,2yMC7sBlC,IAAM/B,GAAU,IAAIC,IAAa,MAC3BC,GAAKC,IAAIH,IAER,SAASy7H,KACd,IAiCMn5H,EAjCY0V,cAAW,SAACC,GAAD,MAAY,CACvCC,KAAM,CACJC,MAAO,QAETC,MAAO,CACLC,UAAWJ,EAAMK,QAAQ,GACzBH,MAAO,OACPI,UAAW,OACXC,aAAcP,EAAMK,QAAQ,IAE9BG,MAAO,CACLC,SAAU,KAEZnP,IAAK,CACHoP,OAAQ,IAEVC,QAAS,CACPD,OAAQ,GACRE,WAAY,QAEdC,OAAQ,CACNC,OAAQd,EAAMK,QAAQ,IAExBU,SAAU,CACRC,YAAahB,EAAMK,QAAQ,IAE7BY,UAAW,CACTC,WAAYlB,EAAMK,QAAQ,IAE5Bc,UAAW,CACThT,SAAU,OAGEiT,GAChB,EAAkCtK,mBAAS,IAA3C,oBAAOuK,EAAP,KAAkBC,EAAlB,KACA,EAAwCxK,oBAAS,GAAjD,oBAAOyK,EAAP,KAAqBC,EAArB,KACA,EAAkC1K,oBAAS,GAA3C,oBAAOqL,EAAP,KAAkBC,EAAlB,KACA,EAAgDtL,oBAAS,GAAzD,oBAAO2L,EAAP,KAAyBC,EAAzB,KACA,EAAwC5L,oBAAS,GAAjD,oBACA,GADA,UAC8BA,oBAAS,IAAvC,oBAAOgM,EAAP,KAAgBC,EAAhB,KA+HMI,EAAkB,wCAAG,uFACzBT,GAAoB,GACpBK,GAAW,GACPxB,EACEF,EAAU1O,OAAS,IACjBwM,EAAY,IAAIC,SACVC,OACR,gBADF,iBAEYpX,GAAG8L,OAAOC,WAAWyK,QAEjCU,EAAUE,OAAO,eAAgB,oBACjCF,EAAUE,OAAO,eAAgB,UAC7BC,EAAiB,CACnBjB,OAAQ,OACRC,iBAAiB,EACjBC,QAASY,EACTjW,KAAM2B,KAAKE,UAAU,CACnB04H,UAAWpiH,KAGflD,MAAM,GAAD,OACAxP,OAAOyP,QADP,sBAEHkB,GAECZ,KAJH,wCAIQ,WAAOC,GAAP,iFACEC,EAAaD,EAASE,OACxBxS,EAAO,GACQ,MAAfuS,EAHA,gBAIFlV,YAAa,UAAW,6BAJtB,uCAMWiV,EAAS1N,OANpB,OAMF5E,EANE,OAOImX,OACc5T,KAAd,QAAJ,EAAAvD,SAAA,eAAMsT,SACF,iEACAtT,EAAKsT,QACXjW,YAAa,QAAS8Z,GAXpB,4CAJR,uDAkBG9E,MAAK,SAACM,GACL,OAAOA,KAERC,OAAM,SAACtV,GACNuD,QAAQC,IAAIxD,OAGhBD,YAAa,QAAS,yCAGxBA,YAAa,QAAS,yCAExBqZ,GAAW,GACXL,GAAoB,GAnDK,2CAAH,qDA+GxB,OACE,kBAAC,KAAD,KACE,kBAAC,KAAKnH,KAAN,KACE,kBAAC6zB,GAAA,EAAD,KACE,kBAACA,GAAA,EAAKtrB,IAAN,KACE,kBAACsrB,GAAA,EAAK9qB,MAAN,CAAYna,GAAIoa,KAAKC,UAAU,oBAC7B,kBAAC4qB,GAAA,EAAKrrB,MAAN,gBACA,kBAAC,KAAD,CAAMja,UAAU,qCACd,kBAACslC,GAAA,EAAK3qB,QAAN,CACE5X,KAAK,OACL6X,OAAO,8FACPvL,SA1OI,SAAC4E,GACnByD,GAAgB,GAChBF,EAAa,IACbc,GAAa,GACb,IAAIuC,EAAU5G,EAAMrE,OAAOkL,MAAM,GACjCC,yBAAcF,GAAS,SAAChb,EAAKmb,GAC3B,GAAInb,EAEF,OADAyY,GAAa,IACN,EAEP,GAAI0C,EAAKC,KAAKpS,OAAS,EAErB,OADAyP,GAAa,IACN,EAET,IAAI/O,EAAIyR,EAAKC,KAAK,GAAGrF,QAAQ,QACzB3Q,EAAI+V,EAAKC,KAAK,GAAGrF,QAAQ,gBACzBnM,EAAIuR,EAAKC,KAAK,GAAGrF,QAAQ,UACzB5J,EAAIgP,EAAKC,KAAK,GAAGrF,QAAQ,aACzBtG,EAAI0L,EAAKC,KAAK,GAAGrF,QAAQ,eACzBsF,EAAIF,EAAKC,KAAK,GAAGrF,QAAQ,gBACzBuF,EAAIH,EAAKC,KAAK,GAAGrF,QAAQ,eACzBwF,EAAIJ,EAAKC,KAAK,GAAGrF,QAAQ,SACzBhN,EAAIoS,EAAKC,KAAK,GAAGrF,QAAQ,sBACzByF,EAAIL,EAAKC,KAAK,GAAGrF,QAAQ,aAC7B,IACS,IAAPrM,IACO,IAAPtE,IACO,IAAPwE,IACO,IAAPuC,IACO,IAAPsD,IACO,IAAP4L,IACO,IAAPC,IACO,IAAPC,IACO,IAAPxS,IACO,IAAPyS,EAGA,OADA/C,GAAa,IACN,EAGT,IAAI2C,EAAO,GACXD,EAAKC,KAAKxZ,MAAM,EAAGuZ,EAAKC,KAAKpS,QAAQ3H,SAAQ,SAACiP,EAASlM,GACrD,IAAIwY,EAAQ,EACRlS,EAAQ,QAEKzE,IAAfqK,EAAQlL,SACOa,IAAfqK,EAAQ1G,SACO3D,IAAfqK,EAAQnE,SACOlG,IAAfqK,EAAQb,SACOxJ,IAAfqK,EAAQ+K,SACOpV,IAAfqK,EAAQgL,SACOrV,IAAfqK,EAAQiL,SACOtV,IAAfqK,EAAQvH,SACO9C,IAAfqK,EAAQkL,KAERoB,EAAQ,EACRlS,EAAQ,sCAGS,KAAf4F,EAAQlL,SAA4Ba,IAAfqK,EAAQlL,KAC/BwX,EAAQ,EACRlS,EAAQ,4BAES,KAAf4F,EAAQ1G,SAA4B3D,IAAfqK,EAAQ1G,KAC/BgT,EAAQ,EACRlS,EAAQ,qBAES,KAAf4F,EAAQnE,SAA4BlG,IAAfqK,EAAQnE,KAC/ByQ,EAAQ,EACRlS,EAAQ,wBAES,KAAf4F,EAAQiL,SAA4BtV,IAAfqK,EAAQiL,KAC/BqB,EAAQ,EACRlS,EAAQ,oBAES,KAAf4F,EAAQ+K,SAA4BpV,IAAfqK,EAAQ+K,KAC/BuB,EAAQ,EACRlS,EAAQ,4BAES,KAAf4F,EAAQgL,SAA4BrV,IAAfqK,EAAQgL,KAC/BsB,EAAQ,EACRlS,EAAQ,2BAES,KAAf4F,EAAQkL,SAA4BvV,IAAfqK,EAAQkL,KAC/BoB,EAAQ,EACRlS,EAAQ,8BAESzE,IAAfqK,EAAQ5G,IACV0R,EAAKnS,KA8Ef,SACE6T,EACAzP,EACArJ,EACAgiG,EACA3hE,EACA5C,EACA4E,EACA4/D,EACA8zB,EACAC,EACAC,EACAlkG,EACAhX,GAEA,MAAO,CACLjC,QACAzP,QACArJ,OACAgiG,cACA3hE,QACA5C,WACA4E,cACA4/D,cACA8zB,aACAC,OACAC,oBACAlkG,WACAhX,SAzGQC,CACEpC,EACAxY,EAAQ,EACRkM,EAAQ5G,GACR4G,EAAQlL,GACRkL,EAAQ1G,GACR0G,EAAQnE,GACRmE,EAAQb,GACRa,EAAQ+K,GACR/K,EAAQgL,GACRhL,EAAQiL,GACRjL,EAAQvH,GACRuH,EAAQkL,GACR9Q,OAIRiN,EAAayD,EAAKlS,WAClBuP,GAAa,OA+HmBwG,KAAKC,MAC3BtS,QA/OE,SAACwH,GACjBA,EAAMrE,OAAOzQ,MAAQ,IA8OY2f,KAAKC,WAKhC,kBAACumB,GAAA,EAAKtrB,IAAN,KACE,kBAACsrB,GAAA,EAAK9qB,MAAN,CAAYna,GAAIoa,KAAKC,UAAU,oBAC7B,kBAAC4qB,GAAA,EAAKrrB,MAAN,CAAYja,UAAU,8BAAtB,eAGA,yBAAKA,UAAU,mCACb,uFAC4D,IAC1D,uBACE0I,KAAK,qGACLsW,UAAQ,EACRpP,OAAO,UAHT,uBASJ,yBAAK5P,UAAU,mCACb,gFAGF,kBAACwzB,GAAA,EAAD,CACEnzB,GAAG,QACH0C,KAAK,SACLgM,MAAM,YACNkQ,UAAQ,EACR9f,MAAM,SACNa,UAAU,wCACVyM,QAAS,YAzRI,WACzB,GAAI4L,EAGF,OAFAzY,YAAa,QAAS,yCACtB8X,GAAgB,IACT,EAETA,GAAgB,GAoRFwH,QAKPzH,GACC,kBAAC6tB,GAAA,EAAKtrB,IAAN,CAAUha,UAAU,kBAClB,kBAACmpB,GAAA,EAAD,CAAOnpB,UAAWO,EAAQ8V,OACxB,kBAAC,KAAD,CAAOrW,UAAWO,EAAQmW,MAAOvF,KAAK,SACpC,kBAAC2qB,GAAA,EAAD,CAAW97B,UAAU,WACnB,kBAAC+7B,GAAA,EAAD,CAAU/7B,UAAWO,EAAQiH,KAC3B,kBAACw0B,GAAA,EAAD,CAAWh8B,UAAU,cACnB,wCAEF,kBAACg8B,GAAA,EAAD,CAAWh8B,UAAU,cACnB,oCAEF,kBAACg8B,GAAA,EAAD,CAAWh8B,UAAU,cACnB,6CAEF,kBAACg8B,GAAA,EAAD,CAAWh8B,UAAU,cACnB,sCAEF,kBAACg8B,GAAA,EAAD,CAAWh8B,UAAU,cACnB,yCAEF,kBAACg8B,GAAA,EAAD,CAAWh8B,UAAU,cACnB,6CAEF,kBAACg8B,GAAA,EAAD,CAAWh8B,UAAU,cACnB,6CAEF,kBAACg8B,GAAA,EAAD,CAAWh8B,UAAU,cACnB,4CAEF,kBAACg8B,GAAA,EAAD,CAAWh8B,UAAU,cACnB,qCAEF,kBAACg8B,GAAA,EAAD,CAAWh8B,UAAU,cACnB,oDAEF,kBAACg8B,GAAA,EAAD,CAAWh8B,UAAU,cACnB,4CAIN,kBAACm+B,GAAA,EAAD,KACG5mB,EAAUxT,KAAI,SAACyD,GAAD,OACb,kBAACu0B,GAAA,EAAD,CAAU/7B,UAAWO,EAAQsW,QAASvP,IAAKE,EAAI0F,OAC7C,kBAAC8uB,GAAA,EAAD,KACiB,IAAdx0B,EAAImV,OACH,uBACEwC,cAAY,UACZC,MAAM,QACNpf,UAAU,sCAGC,IAAdwH,EAAImV,OACH,uBACEwC,cAAY,UACZC,MAAO5X,EAAIoX,MACX5e,UAAU,6CAIhB,kBAACg8B,GAAA,EAAD,KAAYx0B,EAAI3D,MAChB,kBAACm4B,GAAA,EAAD,KAAYx0B,EAAIq+F,aAChB,kBAAC7pE,GAAA,EAAD,KAAYx0B,EAAI08B,OAChB,kBAAClI,GAAA,EAAD,KAAYx0B,EAAI85B,UAChB,kBAACtF,GAAA,EAAD,KAAYx0B,EAAI0+B,aAChB,kBAAClK,GAAA,EAAD,KAAYx0B,EAAIs+F,aAChB,kBAAC9pE,GAAA,EAAD,KAAYx0B,EAAIoyH,YAChB,kBAAC59F,GAAA,EAAD,KAAYx0B,EAAIqyH,MAChB,kBAAC79F,GAAA,EAAD,KAAYx0B,EAAIsyH,mBAChB,kBAAC99F,GAAA,EAAD,KAAYx0B,EAAIouB,iBAM1B,yBAAK51B,UAAU,sBACZ,IACD,2BACGuX,EAAU1O,OAAS,EAChB0O,EAAU1O,OAAS,YACnB,uBAHN,OAQH,IACH,kBAACy8B,GAAA,EAAKtrB,IAAN,KACE,kBAACsrB,GAAA,EAAK9qB,MAAN,CAAYna,GAAIoa,KAAKC,UAAU,oBAC7B,kBAAC4qB,GAAA,EAAKrrB,MAAN,CAAYja,UAAU,8BAAtB,UAGA,yBAAKA,UAAU,mCACb,yFAKF,yBAAKA,UAAU,mCACb,8EAGF,4BACE+C,KAAK,SACLqB,MAAO,CAAEgS,MAAO,SAChB3J,QAAS,WACP4M,KAEFlG,SAAUwF,EACV3Y,UAAU,yCAEV,8BAAO2Y,EAAmB,eAAiB,UAC1CK,GACC,0BAAMhZ,UAAU,qCC3c3B,SAAS+5H,KACZ,OAEI,kBAAC,KAAD,KACI,kBAAC,KAAKtoH,KAAN,KACI,kBAAC6zB,GAAA,EAAD,KACI,kBAACA,GAAA,EAAKtrB,IAAN,KACI,kBAACsrB,GAAA,EAAK9qB,MAAN,CAAYna,GAAIoa,KAAKC,UAAU,iBAC3B,kBAAC4qB,GAAA,EAAKrrB,MAAN,0BACA,kBAACwgC,GAAA,EAAD,CAAUz6C,UAAU,oBAChB,kBAACy6C,GAAA,EAASt6C,OAAV,CAAiBwzB,QAAQ,OAAOvzB,GAAG,iBAAiBJ,UAAU,mBAA9D,qBAGA,kBAACy6C,GAAA,EAASj6C,KAAV,KACI,kBAACi6C,GAAA,EAASC,KAAV,CAAehyC,KAAK,cAApB,UACA,kBAAC+xC,GAAA,EAASC,KAAV,CAAehyC,KAAK,cAApB,kBACA,kBAAC+xC,GAAA,EAASC,KAAV,CAAehyC,KAAK,cAApB,qBAKZ,kBAAC48B,GAAA,EAAK9qB,MAAN,CAAYna,GAAIoa,KAAKC,UAAU,iBAC3B,kBAAC4qB,GAAA,EAAKrrB,MAAN,kBACA,kBAACwgC,GAAA,EAAD,CAAUz6C,UAAU,oBAChB,kBAACy6C,GAAA,EAASt6C,OAAV,CAAiBwzB,QAAQ,OAAOvzB,GAAG,iBAAiBJ,UAAU,mBAA9D,oBAGA,kBAACy6C,GAAA,EAASj6C,KAAV,KACI,kBAACi6C,GAAA,EAASC,KAAV,CAAehyC,KAAK,cAApB,UACA,kBAAC+xC,GAAA,EAASC,KAAV,CAAehyC,KAAK,cAApB,kBACA,kBAAC+xC,GAAA,EAASC,KAAV,CAAehyC,KAAK,cAApB,sBAMhB,kBAAC48B,GAAA,EAAKtrB,IAAN,KACI,kBAACwZ,GAAA,EAAD,CAAQnzB,GAAG,QAAQ0C,KAAK,SAAS5D,MAAM,mBAE3C,6BACA,kBAACmmC,GAAA,EAAKtrB,IAAN,KACI,kBAACsrB,GAAA,EAAK9qB,MAAN,CAAYna,GAAIoa,KAAKC,UAAU,oBAC3B,kBAAC4qB,GAAA,EAAKrrB,MAAN,sBACA,kBAAC,KAAD,CAAMja,UAAU,qCACZ,kBAACslC,GAAA,EAAK3qB,QAAN,CAAc5X,KAAK,OAAOqM,YAAY,eAI9C,kBAACk2B,GAAA,EAAK9qB,MAAN,CAAYna,GAAIoa,KAAKC,UAAU,sBAGnC,kBAAC4qB,GAAA,EAAKtrB,IAAN,KACI,kBAACsrB,GAAA,EAAK9qB,MAAN,CAAYna,GAAIoa,KAAKC,UAAU,oBAC3B,kBAAC8qB,GAAA,EAAD,CAAO7R,QAAQ,QAAQ3zB,UAAU,QAAjC,2DAEA,4BAFA,0DAKA,kBAACwzB,GAAA,EAAD,CAAQnzB,GAAG,QAAQ0C,KAAK,SAAS5D,MAAM,mBAI/C,kBAACmmC,GAAA,EAAKtrB,IAAN,KACI,kBAACsrB,GAAA,EAAK9qB,MAAN,CAAYna,GAAIoa,KAAKC,UAAU,oBAC3B,kBAAC4qB,GAAA,EAAKrrB,MAAN,4BACA,kBAACurB,GAAA,EAAD,CAAO7R,QAAQ,QAAQ3zB,UAAU,QAAjC,2DAEA,4BAFA,0DAKA,kBAACwzB,GAAA,EAAD,CAAQnzB,GAAG,QAAQ0C,KAAK,SAAS5D,MAAM,mBAI/C,6BACA,kBAACmmC,GAAA,EAAK9qB,MAAN,CAAYE,UAAU,oBAClB,kBAAC4qB,GAAA,EAAKrrB,MAAN,8BACA,kBAACqrB,GAAA,EAAK3qB,QAAN,CAActa,GAAG,WAAW4a,KAAK,OAGrC,kBAACqqB,GAAA,EAAK9qB,MAAN,CAAYE,UAAU,oBAClB,kBAAC4qB,GAAA,EAAKrrB,MAAN,2CACA,kBAACqrB,GAAA,EAAK3qB,QAAN,CAActa,GAAG,WAAW4a,KAAK,UClFlD,SAAS++G,KACZ,OAEI,kBAAC,KAAD,KACI,kBAAC,KAAKvoH,KAAN,KACI,kBAAC6zB,GAAA,EAAD,KACI,kBAACA,GAAA,EAAKtrB,IAAN,KAEI,yBAAK7V,MAAM,qBACP,yBAAKnE,UAAU,6BACX,0BAAMA,UAAU,oDAChB,2BAAOA,UAAU,sFACb,2BAAO+C,KAAK,WAAWiD,KAAK,GAAGqJ,SAAU,aAAWlQ,MAAM,MAC1D,gCAEJ,yBAAKa,UAAU,kCACX,uBAAG0I,KAAK,IAAI1I,UAAU,sEAAtB,uBAKZ,yBAAKmE,MAAM,UACP,kBAACmhC,GAAA,EAAKrrB,MAAN,wCACA,kBAACwgC,GAAA,EAAD,CAAUz6C,UAAU,0BAChB,kBAACy6C,GAAA,EAASt6C,OAAV,CAAiBwzB,QAAQ,OAAOvzB,GAAG,iBAAiBJ,UAAU,mBAA9D,UAGA,kBAACy6C,GAAA,EAASj6C,KAAV,KACI,kBAACi6C,GAAA,EAASC,KAAV,CAAehyC,KAAK,cAApB,UACA,kBAAC+xC,GAAA,EAASC,KAAV,CAAehyC,KAAK,cAApB,kBACA,kBAAC+xC,GAAA,EAASC,KAAV,CAAehyC,KAAK,cAApB,qBAIZ,yBAAKvE,MAAM,kDAAX,UAGA,yBAAKA,MAAM,UACP,kBAACmhC,GAAA,EAAKrrB,MAAN,sCACA,kBAACwgC,GAAA,EAAD,CAAUz6C,UAAU,yBAChB,kBAACy6C,GAAA,EAASt6C,OAAV,CAAiBwzB,QAAQ,OAAOvzB,GAAG,iBAAiBJ,UAAU,mBAA9D,UAGA,kBAACy6C,GAAA,EAASj6C,KAAV,KACI,kBAACi6C,GAAA,EAASC,KAAV,CAAehyC,KAAK,cAApB,UACA,kBAAC+xC,GAAA,EAASC,KAAV,CAAehyC,KAAK,cAApB,kBACA,kBAAC+xC,GAAA,EAASC,KAAV,CAAehyC,KAAK,cAApB,qBAKZ,yBAAKvE,MAAM,eACP,kBAACqvB,GAAA,EAAD,CAAQnzB,GAAG,QAAQ0C,KAAK,SAAS5D,MAAM,gBCpD5D,SAAS86H,KACZ,OAEI,kBAAC,KAAD,KACI,kBAAC,KAAKxoH,KAAN,KACI,kBAAC6zB,GAAA,EAAD,KACI,kBAACA,GAAA,EAAKtrB,IAAN,KAEI,yBAAK7V,MAAM,UACP,kBAACmhC,GAAA,EAAKrrB,MAAN,2BACA,kBAACwgC,GAAA,EAAD,CAAUz6C,UAAU,oBAChB,kBAACy6C,GAAA,EAASt6C,OAAV,CAAiBwzB,QAAQ,OAAOvzB,GAAG,iBAAiBJ,UAAU,mBAA9D,UAGA,kBAACy6C,GAAA,EAASj6C,KAAV,KACI,kBAACi6C,GAAA,EAASC,KAAV,CAAehyC,KAAK,aAApB,UACA,kBAAC+xC,GAAA,EAASC,KAAV,CAAehyC,KAAK,aAApB,kBACA,kBAAC+xC,GAAA,EAASC,KAAV,CAAehyC,KAAK,aAApB,qBAKZ,yBAAKvE,MAAM,SACP,kBAACmhC,GAAA,EAAKrrB,MAAN,kBACA,kBAACwgC,GAAA,EAAD,CAAUz6C,UAAU,oBAChB,kBAACy6C,GAAA,EAASt6C,OAAV,CAAiBwzB,QAAQ,OAAOvzB,GAAG,iBAAiBJ,UAAU,mBAA9D,UAGA,kBAACy6C,GAAA,EAASj6C,KAAV,KACI,kBAACi6C,GAAA,EAASC,KAAV,CAAehyC,KAAK,aAApB,UACA,kBAAC+xC,GAAA,EAASC,KAAV,CAAehyC,KAAK,aAApB,kBACA,kBAAC+xC,GAAA,EAASC,KAAV,CAAehyC,KAAK,aAApB,sBAUhB,6BAAM,6BACN,kBAAC48B,GAAA,EAAKtrB,IAAN,KACI,yBAAK7V,MAAM,eACP,wBAAInE,UAAU,iCAAd,eACA,wBAAImE,MAAM,mCAGd,yBAAKA,MAAM,eACP,kBAACqhC,GAAA,EAAD,CAAO7R,QAAQ,QAAQ3zB,UAAU,QAAjC,gEACiE,4BADjE,yDAMJ,yBAAKmE,MAAM,eACP,kBAACmhC,GAAA,EAAKrrB,MAAN,uBACA,kBAACqrB,GAAA,EAAK3qB,QAAN,CAAc5X,KAAK,OAAOqM,YAAY,cAI1C,yBAAKjL,MAAM,eACP,kBAACqhC,GAAA,EAAD,CAAO7R,QAAQ,QAAQ3zB,UAAU,QAAjC,2EAKJ,yBAAKmE,MAAM,mBACP,yBAAKA,MAAM,SAAQ,kBAACqvB,GAAA,EAAD,CAAQnzB,GAAG,QAAQ0C,KAAK,SAAS5D,MAAM,WAA1D,KACA,yBAAKgF,MAAM,SAAQ,kBAACqvB,GAAA,EAAD,CAAQnzB,GAAG,QAAQ0C,KAAK,SAAS5D,MAAM,UAA1D,U,0zMCrD5B,IAAMmY,GAAYrB,cAAW,SAACC,GAAD,MAAY,CACvCC,KAAM,CACJC,MAAO,QAETC,MAAO,CACLC,UAAWJ,EAAMK,QAAQ,GACzBH,MAAO,OACPI,UAAW,OACXC,aAAcP,EAAMK,QAAQ,IAE9BG,MAAO,CACLC,SAAU,KAEZnP,IAAK,CACHoP,OAAQ,IAEVC,QAAS,CACPD,OAAQ,GACRE,WAAY,YAIhB,SAASojH,KACP,OACE,uBACEl6H,UAAU,wCACVoE,MAAO,CAAEC,SAAU,UAKlB,SAAS81H,KACd,IAAM55H,EAAU+W,KAChB,EAA0CtK,mBAAS,IAAnD,oBAAOyL,EAAP,KAAsBC,EAAtB,KACA,EAAgC1L,mBAAS,IAAzC,oBAAOotH,EAAP,KAAiBC,EAAjB,KACA,EAA0CrtH,mBAAS,IAAnD,oBAAOstH,EAAP,KAAsBC,EAAtB,KACA,EAAwCvtH,oBAAS,GAAjD,oBAAOyK,EAAP,KAAqBC,EAArB,KACA,EAAkC1K,oBAAS,GAA3C,oBAAOqL,EAAP,KAAkBC,EAAlB,KAEAxE,qBAAU,WACRuO,MACC,IAEH,IAAMA,EAAe,wCAAG,8GAECC,IAAM3M,IAAI,0BAFX,OAEdxG,EAFc,OAGpBuJ,EAAiBvJ,EAAO5M,KAAP,eAHG,uGAAH,qDAOrB,SAASsc,EACPpC,EACAs/C,EACA99C,EACAu8G,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAvoB,EACAwoB,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAptC,EACAE,EACAD,EACArwE,EACAy9G,EACAC,EACAC,EACA3lC,EACA4lC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,GAEA,MAAO,CACLpgH,QACAs/C,MACA99C,cACAu8G,eACAC,MACAC,MACAC,aACAC,aACAC,kBACAC,cACAvoB,OACAwoB,MACAC,WACAC,cACAC,eACAC,kCACAC,2BACAC,gBACAptC,SACAE,QACAD,SACArwE,SACAy9G,aACAC,eACAC,gBACA3lC,OACA4lC,oBACAC,uBACAC,eACAC,qBACAC,aACAC,eACAC,oBACAC,WACAC,qBACAC,oBACAC,qBACAC,mBACAC,kBACAC,aACAC,WACAC,+BACAC,eACAC,sCACAC,QACAC,WACAC,YAmPJ,OACE,kBAAC,KAAD,KACE,kBAAC,KAAKprH,KAAN,KACE,kBAAC6zB,GAAA,EAAD,KACE,kBAACA,GAAA,EAAKtrB,IAAN,KACE,yBAAKha,UAAU,SACb,2BAAOA,UAAU,aAAamiC,IAAI,oBAAlC,qBAGA,4BACEniC,UAAU,kDACVgG,KAAK,cACL5F,GAAG,eAEFqY,EAAc1U,KAAI,SAACC,EAAMC,GAAP,OACjB,4BAAQqD,IAAKrD,EAAO9E,MAAO6E,EAAKJ,IAC7BI,EAAKgnB,iBAIc,IAAzBvS,EAAc5P,QAAgB,kBAACulB,GAAA,EAAD,OAGjC,kBAACkX,GAAA,EAAK9qB,MAAN,CAAYna,GAAIoa,KAAKC,UAAU,oBAC7B,kBAAC4qB,GAAA,EAAKrrB,MAAN,gBACA,kBAAC,KAAD,CAAMja,UAAU,qCACd,kBAAC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","file":"static/js/main.f8c24253.chunk.js","sourcesContent":["import React, { Fragment, StrictMode, useEffect, useState } from \"react\";\r\nimport * as FileSaver from \"file-saver\";\r\nimport * as XLSX from \"xlsx\";\r\nimport moment from \"moment\";\r\nimport SVG from \"react-inlinesvg\";\r\nimport { Notification } from \"../../app/modules/Notification\";\r\nimport {\r\n sortCaret,\r\n toAbsoluteUrl,\r\n headerSortingClasses,\r\n} from \"../../_metronic/_helpers\";\r\nimport $ from \"jquery\";\r\nimport low from \"lowdb\";\r\nimport LocalStorage from \"lowdb/adapters/LocalStorage\";\r\nimport {\r\n Col,\r\n Dropdown,\r\n Modal,\r\n OverlayTrigger,\r\n Row,\r\n Tooltip,\r\n} from \"react-bootstrap\";\r\nimport {\r\n TextField,\r\n IconButton,\r\n TableBody,\r\n TableCell,\r\n TableHead,\r\n TableRow,\r\n} from \"@material-ui/core\";\r\nimport { Link } from \"react-router-dom\";\r\nimport BootstrapTable from \"react-bootstrap-table-next\";\r\nimport paginationFactory from \"react-bootstrap-table2-paginator\";\r\nimport { Table } from \"react-bootstrap\";\r\nimport { JsonToTable } from \"react-json-to-table\";\r\nimport CloseIcon from \"@material-ui/icons/Close\";\r\nimport { FileViewer } from \"react-file-viewer\";\r\nimport PDFViewer from \"pdf-viewer-reactjs\";\r\nimport { DropdownCustomTogglerPrimary } from \"../_partials/dropdowns/DropdownCustomToggler\";\r\nimport Swal from \"sweetalert2\";\r\nconst fedHolidays = require(\"@18f/us-federal-holidays\");\r\n\r\nconst options = { shiftSaturdayHolidays: true, shiftSundayHolidays: true };\r\nconst _holidays = fedHolidays.allForYear(2021, options);\r\nconst adapter = new LocalStorage(\"db\");\r\nconst db = low(adapter);\r\n\r\nexport function stripHtml(html) {\r\n let tmp = document.createElement(\"DIV\");\r\n tmp.innerHTML = html;\r\n return tmp.textContent || tmp.innerText || \"\";\r\n}\r\nexport const containsHTML = (str) => /<[a-z][\\s\\S]*>/i.test(str);\r\nexport function CopyTextToClipboardGlobal(text) {\r\n try {\r\n var copyText = document.createElement(\"input\");\r\n copyText.value = text;\r\n document.body.appendChild(copyText);\r\n copyText.select();\r\n copyText.setSelectionRange(0, 99999);\r\n navigator.clipboard.writeText(copyText.value);\r\n document.body.removeChild(copyText);\r\n\r\n //Swal\r\n Notification(\"success\", \"Copied!\");\r\n } catch (err) {}\r\n}\r\nexport function MenuIdsCopy(props) {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n
    {props?.Content}
\r\n
\r\n \r\n
\r\n );\r\n}\r\nexport function Export(List, Type, Entity) {\r\n try {\r\n var dataExportList = JSON.parse(JSON.stringify(List));\r\n dataExportList.forEach((o) => {\r\n Object.keys(o).forEach((k) => {\r\n if (containsHTML(o[k])) {\r\n o[k] = stripHtml(o[k]);\r\n }\r\n if (\r\n moment(\r\n o[k] !== null ? String(o[k]).slice(0, 10) : \"\",\r\n \"YYYY-MM-DD\",\r\n true\r\n ).isValid()\r\n ) {\r\n o[k] = new Date(o[k]);\r\n }\r\n });\r\n });\r\n var date = new Date(Date.now());\r\n var dateformat =\r\n (\"0\" + (date.getMonth() + 1)).slice(-2) +\r\n \"\" +\r\n date.getDate() +\r\n \"\" +\r\n date.getFullYear() +\r\n \"\" +\r\n date.getHours() +\r\n \"\" +\r\n date.getMinutes() +\r\n \"\" +\r\n date.getSeconds();\r\n if (Type === \"excel\") {\r\n const fileType =\r\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=UTF-8\";\r\n const fileExtension = \".xlsx\";\r\n const ws = XLSX.utils.json_to_sheet(dataExportList, {\r\n cellDates: true,\r\n dateNF: \"mm/dd/yyyy\",\r\n });\r\n const wb = { Sheets: { data: ws }, SheetNames: [\"data\"] };\r\n const excelBuffer = XLSX.write(wb, { bookType: \"xlsx\", type: \"array\" });\r\n const data = new Blob([excelBuffer], { type: fileType });\r\n FileSaver.saveAs(data, Entity + \"_\" + dateformat + fileExtension);\r\n } else if (Type === \"csv\") {\r\n const data2 = returncsv(dataExportList);\r\n const fileType = \"text/csv;charset=utf-8\";\r\n const fileExtension = \".csv\";\r\n const data = new Blob([data2], { type: fileType });\r\n FileSaver.saveAs(data, Entity + \"_\" + dateformat + fileExtension);\r\n } else if (Type === \"json\") {\r\n const fileType = \"application/json\";\r\n const fileExtension = \".json\";\r\n const data = new Blob([JSON.stringify(dataExportList)], {\r\n type: fileType,\r\n });\r\n FileSaver.saveAs(data, Entity + \"_\" + dateformat + fileExtension);\r\n }\r\n } catch (err) {\r\n console.log(err);\r\n }\r\n}\r\nexport function Exportd2d(List, Type, Entity) {\r\n try {\r\n var dataExportList = JSON.parse(JSON.stringify(List));\r\n var date = new Date(Date.now());\r\n var dateformat =\r\n (\"0\" + (date.getMonth() + 1)).slice(-2) +\r\n \"\" +\r\n date.getDate() +\r\n \"\" +\r\n date.getFullYear() +\r\n \"\" +\r\n date.getHours() +\r\n \"\" +\r\n date.getMinutes() +\r\n \"\" +\r\n date.getSeconds();\r\n if (Type === \"excel\") {\r\n const fileType =\r\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=UTF-8\";\r\n const fileExtension = \".xlsx\";\r\n const ws = XLSX.utils.json_to_sheet(dataExportList);\r\n const wb = { Sheets: { data: ws }, SheetNames: [\"data\"] };\r\n const excelBuffer = XLSX.write(wb, { bookType: \"xlsx\", type: \"array\" });\r\n const data = new Blob([excelBuffer], { type: fileType });\r\n FileSaver.saveAs(data, Entity + \"_\" + dateformat + fileExtension);\r\n } else if (Type === \"csv\") {\r\n const data2 = returncsv(dataExportList);\r\n const fileType = \"text/csv;charset=utf-8\";\r\n const fileExtension = \".csv\";\r\n const data = new Blob([data2], { type: fileType });\r\n FileSaver.saveAs(data, Entity + \"_\" + dateformat + fileExtension);\r\n } else if (Type === \"json\") {\r\n const fileType = \"application/json\";\r\n const fileExtension = \".json\";\r\n const data = new Blob([JSON.stringify(dataExportList)], {\r\n type: fileType,\r\n });\r\n FileSaver.saveAs(data, Entity + \"_\" + dateformat + fileExtension);\r\n }\r\n } catch (err) {\r\n console.log(err);\r\n }\r\n}\r\nexport const ComparisonGlobalSearchOptions = [\r\n { value: \"Equals\", label: \"Equals\" },\r\n { value: \"Contains\", label: \"Contains\" },\r\n { value: \"Starts With\", label: \"Starts With\" },\r\n { value: \"Ends With\", label: \"Ends With\" },\r\n];\r\nexport const PickTypeList = [\r\n { value: \"PICKUP\", label: \"PICKUP\" },\r\n { value: \"DROP OFF\", label: \"DROP OFF\" },\r\n];\r\nexport const timeList = [\r\n { value: \"00:00:00\", label: \"12.00 AM\" },\r\n { value: \"00:30:00\", label: \"12.30 AM\" },\r\n { value: \"01:00:00\", label: \"01.00 AM\" },\r\n { value: \"01:30:00\", label: \"01.30 AM\" },\r\n { value: \"02:00:00\", label: \"02.00 AM\" },\r\n { value: \"02:30:00\", label: \"02.30 AM\" },\r\n { value: \"03:00:00\", label: \"03.00 AM\" },\r\n { value: \"03:30:00\", label: \"03.30 AM\" },\r\n { value: \"04:00:00\", label: \"04.00 AM\" },\r\n { value: \"04:30:00\", label: \"04.30 AM\" },\r\n { value: \"05:00:00\", label: \"05.00 AM\" },\r\n { value: \"05:30:00\", label: \"05.30 AM\" },\r\n { value: \"06:00:00\", label: \"06.00 AM\" },\r\n { value: \"06:30:00\", label: \"06.30 AM\" },\r\n { value: \"07:00:00\", label: \"07.00 AM\" },\r\n { value: \"07:30:00\", label: \"07.30 AM\" },\r\n { value: \"08:00:00\", label: \"08.00 AM\" },\r\n { value: \"08:30:00\", label: \"08.30 AM\" },\r\n { value: \"09:00:00\", label: \"09.00 AM\" },\r\n { value: \"09:30:00\", label: \"09.30 AM\" },\r\n { value: \"10:00:00\", label: \"10.00 AM\" },\r\n { value: \"10:30:00\", label: \"10.30 AM\" },\r\n { value: \"11:00:00\", label: \"11.00 AM\" },\r\n { value: \"11:30:00\", label: \"11.30 AM\" },\r\n { value: \"12:00:00\", label: \"12.00 PM\" },\r\n { value: \"12:30:00\", label: \"12.30 PM\" },\r\n { value: \"13:00:00\", label: \"01.00 PM\" },\r\n { value: \"13:30:00\", label: \"01.30 PM\" },\r\n { value: \"14:00:00\", label: \"02.00 PM\" },\r\n { value: \"14:30:00\", label: \"02.30 PM\" },\r\n { value: \"15:00:00\", label: \"03.00 PM\" },\r\n { value: \"15:30:00\", label: \"03.30 PM\" },\r\n { value: \"16:00:00\", label: \"04.00 PM\" },\r\n { value: \"16:30:00\", label: \"04.30 PM\" },\r\n { value: \"17:00:00\", label: \"05.00 PM\" },\r\n { value: \"17:30:00\", label: \"05.30 PM\" },\r\n { value: \"18:00:00\", label: \"06.00 PM\" },\r\n { value: \"18:30:00\", label: \"06.30 PM\" },\r\n { value: \"19:00:00\", label: \"07.00 PM\" },\r\n { value: \"19:30:00\", label: \"07.30 PM\" },\r\n { value: \"20:00:00\", label: \"08.00 PM\" },\r\n { value: \"20:30:00\", label: \"08.30 PM\" },\r\n { value: \"21:00:00\", label: \"09.00 PM\" },\r\n { value: \"21:30:00\", label: \"09.30 PM\" },\r\n { value: \"22:00:00\", label: \"10.00 PM\" },\r\n { value: \"22:30:00\", label: \"10.30 PM\" },\r\n { value: \"23:00:00\", label: \"11.00 PM\" },\r\n { value: \"23:30:00\", label: \"11.30 PM\" },\r\n];\r\nexport const TMStimeList = [\r\n { value: \"00:00:00\", label: \"00:00\" },\r\n { value: \"00:30:00\", label: \"00:30\" },\r\n { value: \"01:00:00\", label: \"01:00\" },\r\n { value: \"01:30:00\", label: \"01:30\" },\r\n { value: \"02:00:00\", label: \"02:00\" },\r\n { value: \"02:30:00\", label: \"02:30\" },\r\n { value: \"03:00:00\", label: \"03:00\" },\r\n { value: \"03:30:00\", label: \"03:30\" },\r\n { value: \"04:00:00\", label: \"04:00\" },\r\n { value: \"04:30:00\", label: \"04:30\" },\r\n { value: \"05:00:00\", label: \"05:00\" },\r\n { value: \"05:30:00\", label: \"05:30\" },\r\n { value: \"06:00:00\", label: \"06:00\" },\r\n { value: \"06:30:00\", label: \"06:30\" },\r\n { value: \"07:00:00\", label: \"07:00\" },\r\n { value: \"07:30:00\", label: \"07:30\" },\r\n { value: \"08:00:00\", label: \"08:00\" },\r\n { value: \"08:30:00\", label: \"08:30\" },\r\n { value: \"09:00:00\", label: \"09:00\" },\r\n { value: \"09:30:00\", label: \"09:30\" },\r\n { value: \"10:00:00\", label: \"10:00\" },\r\n { value: \"10:30:00\", label: \"10:30\" },\r\n { value: \"11:00:00\", label: \"11:00\" },\r\n { value: \"11:30:00\", label: \"11:30\" },\r\n { value: \"12:00:00\", label: \"12:00\" },\r\n { value: \"12:30:00\", label: \"12:30\" },\r\n { value: \"13:00:00\", label: \"13:00\" },\r\n { value: \"13:30:00\", label: \"13:30\" },\r\n { value: \"14:00:00\", label: \"14:00\" },\r\n { value: \"14:30:00\", label: \"14:30\" },\r\n { value: \"15:00:00\", label: \"15:00\" },\r\n { value: \"15:30:00\", label: \"15:30\" },\r\n { value: \"16:00:00\", label: \"16:00\" },\r\n { value: \"16:30:00\", label: \"16:30\" },\r\n { value: \"17:00:00\", label: \"17:00\" },\r\n { value: \"17:30:00\", label: \"17:30\" },\r\n { value: \"18:00:00\", label: \"18:00\" },\r\n { value: \"18:30:00\", label: \"18:30\" },\r\n { value: \"19:00:00\", label: \"19:00\" },\r\n { value: \"19:30:00\", label: \"19:30\" },\r\n { value: \"20:00:00\", label: \"20:00\" },\r\n { value: \"20:30:00\", label: \"20:30\" },\r\n { value: \"21:00:00\", label: \"21:00\" },\r\n { value: \"21:30:00\", label: \"21:30\" },\r\n { value: \"22:00:00\", label: \"22:00\" },\r\n { value: \"22:30:00\", label: \"22:30\" },\r\n { value: \"23:00:00\", label: \"23:00\" },\r\n { value: \"23:30:00\", label: \"23:30\" },\r\n];\r\nexport const StatesUs = [\r\n {\r\n Id: 7,\r\n Name: \"AL\",\r\n },\r\n {\r\n Id: 8,\r\n Name: \"AK\",\r\n },\r\n {\r\n Id: 9,\r\n Name: \"AZ\",\r\n },\r\n {\r\n Id: 10,\r\n Name: \"AR\",\r\n },\r\n {\r\n Id: 11,\r\n Name: \"CA\",\r\n },\r\n {\r\n Id: 12,\r\n Name: \"CO\",\r\n },\r\n {\r\n Id: 13,\r\n Name: \"CT\",\r\n },\r\n {\r\n Id: 14,\r\n Name: \"DE\",\r\n },\r\n {\r\n Id: 15,\r\n Name: \"DC\",\r\n },\r\n {\r\n Id: 16,\r\n Name: \"FL\",\r\n },\r\n {\r\n Id: 17,\r\n Name: \"GA\",\r\n },\r\n {\r\n Id: 18,\r\n Name: \"HI\",\r\n },\r\n {\r\n Id: 19,\r\n Name: \"ID\",\r\n },\r\n {\r\n Id: 20,\r\n Name: \"IL\",\r\n },\r\n {\r\n Id: 21,\r\n Name: \"IN\",\r\n },\r\n {\r\n Id: 22,\r\n Name: \"IA\",\r\n },\r\n {\r\n Id: 23,\r\n Name: \"KS\",\r\n },\r\n {\r\n Id: 24,\r\n Name: \"KY\",\r\n },\r\n {\r\n Id: 25,\r\n Name: \"LA\",\r\n },\r\n {\r\n Id: 26,\r\n Name: \"ME\",\r\n },\r\n {\r\n Id: 27,\r\n Name: \"MD\",\r\n },\r\n {\r\n Id: 28,\r\n Name: \"MA\",\r\n },\r\n {\r\n Id: 29,\r\n Name: \"MI\",\r\n },\r\n {\r\n Id: 30,\r\n Name: \"MN\",\r\n },\r\n {\r\n Id: 31,\r\n Name: \"MS\",\r\n },\r\n {\r\n Id: 32,\r\n Name: \"MO\",\r\n },\r\n {\r\n Id: 33,\r\n Name: \"MT\",\r\n },\r\n {\r\n Id: 34,\r\n Name: \"NE\",\r\n },\r\n {\r\n Id: 35,\r\n Name: \"NV\",\r\n },\r\n {\r\n Id: 36,\r\n Name: \"NH\",\r\n },\r\n {\r\n Id: 37,\r\n Name: \"NJ\",\r\n },\r\n {\r\n Id: 38,\r\n Name: \"NM\",\r\n },\r\n {\r\n Id: 39,\r\n Name: \"NY\",\r\n },\r\n {\r\n Id: 40,\r\n Name: \"NC\",\r\n },\r\n {\r\n Id: 41,\r\n Name: \"ND\",\r\n },\r\n {\r\n Id: 42,\r\n Name: \"OH\",\r\n },\r\n {\r\n Id: 43,\r\n Name: \"OK\",\r\n },\r\n {\r\n Id: 44,\r\n Name: \"OR\",\r\n },\r\n {\r\n Id: 45,\r\n Name: \"PA\",\r\n },\r\n {\r\n Id: 46,\r\n Name: \"RI\",\r\n },\r\n {\r\n Id: 47,\r\n Name: \"SC\",\r\n },\r\n {\r\n Id: 48,\r\n Name: \"SD\",\r\n },\r\n {\r\n Id: 49,\r\n Name: \"TN\",\r\n },\r\n {\r\n Id: 50,\r\n Name: \"TX\",\r\n },\r\n {\r\n Id: 51,\r\n Name: \"UT\",\r\n },\r\n {\r\n Id: 52,\r\n Name: \"VT\",\r\n },\r\n {\r\n Id: 53,\r\n Name: \"VA\",\r\n },\r\n {\r\n Id: 54,\r\n Name: \"WA\",\r\n },\r\n {\r\n Id: 55,\r\n Name: \"WV\",\r\n },\r\n {\r\n Id: 56,\r\n Name: \"WI\",\r\n },\r\n {\r\n Id: 57,\r\n Name: \"WY\",\r\n },\r\n];\r\nexport const DateTime30minInterval = () => {\r\n return (\r\n <>\r\n \r\n {timeList.map((item, index) => (\r\n \r\n ))}\r\n \r\n );\r\n};\r\nexport const RequiredHtml = () => {\r\n return (\r\n \r\n );\r\n};\r\n\r\nexport function TimeSpanColumnFormatter(dateTime) {\r\n var _dateTime = new Date(dateTime);\r\n var currentDate = new Date();\r\n var utcTime = new Date(\r\n _dateTime.getTime() + -60 * (60000 * window.$timezone)\r\n );\r\n var convertedDate = new Date(\r\n utcTime.getTime() + currentDate.getTimezoneOffset() * -60000\r\n );\r\n var b = moment(new Date());\r\n var diffYear = b.diff(convertedDate, \"year\");\r\n var diffMonths = b.diff(convertedDate, \"months\");\r\n var diffDays = b.diff(convertedDate, \"days\");\r\n var diffHours = b.diff(convertedDate, \"hours\");\r\n var diffMinutes = b.diff(convertedDate, \"minutes\");\r\n var text = \"\";\r\n if (diffYear > 0) text = diffYear + ` year${diffYear > 1 ? \"s\" : \"\"} ago`;\r\n else if (diffMonths > 0)\r\n text = diffMonths + ` month${diffMonths > 1 ? \"s\" : \"\"} ago`;\r\n else if (diffDays > 0) text = diffDays + ` day${diffDays > 1 ? \"s\" : \"\"} ago`;\r\n else if (diffHours > 0)\r\n text = diffHours + ` hour${diffHours > 1 ? \"s\" : \"\"} ago`;\r\n else if (diffMinutes > 0)\r\n text = diffMinutes + ` minute${diffMinutes > 1 ? \"s\" : \"\"} ago`;\r\n else text = \"now\";\r\n return text;\r\n}\r\n\r\nexport const delay = (ms) => new Promise((res) => setTimeout(res, ms));\r\n\r\nexport function JqueryName(name) {\r\n return $(`[name=\"${name}\"]`).val() || \"0\";\r\n}\r\n\r\nexport function Close_aside() {\r\n var aside = $(\"#kt_body\");\r\n if (!aside.hasClass(\"aside-minimize\")) {\r\n aside.addClass(\"aside-minimize\");\r\n }\r\n}\r\n\r\nexport function CheckDetail(value) {\r\n if (value === undefined || value === \"\" || value === null) return \"\";\r\n return (\r\n <>\r\n {value}\r\n
\r\n \r\n );\r\n}\r\n\r\nexport function jqueryChange(name, value) {\r\n $(`[name=\"${name}\"]`).ready(function() {\r\n setTimeout(() => {\r\n if (value && value !== \"\" && value !== undefined && value !== null) {\r\n window.$CreatableSelect2 = value;\r\n $(`[name=\"${name}\"]`)\r\n .val(value)\r\n .trigger(\"change\");\r\n }\r\n }, 1000);\r\n });\r\n}\r\n\r\nexport function is(str, point = true) {\r\n if (!str || str === null || str === undefined) return \"\";\r\n return str.toString() + (point ? \" - \" : \"\");\r\n}\r\n\r\nexport function is2({ str, append = \"\" }) {\r\n if (!str || str === null || str === undefined) return \"\";\r\n return append + str.toString();\r\n}\r\n\r\nexport function ReturnEmptyOrString(str) {\r\n if (!str || str === null || str === \"\" || str === undefined)\r\n return Empty;\r\n return <>{str};\r\n}\r\n\r\nexport function IsValidMessage(name, value) {\r\n if (!value) {\r\n Notification(\"error\", name + \" is required\");\r\n window.IsValid = true;\r\n }\r\n}\r\n\r\nexport function Try(fun) {\r\n try {\r\n return fun;\r\n } catch (err) {\r\n console.log(err.message);\r\n }\r\n}\r\n\r\nexport function strip(html) {\r\n var tmp = document.implementation.createHTMLDocument(\"New\").body;\r\n tmp.innerHTML = html;\r\n return tmp.textContent || tmp.innerText || \"\";\r\n}\r\n\r\nfunction returncsv(values) {\r\n var json = values;\r\n var fields = Object.keys(json[0]);\r\n var replacer = function(key, value) {\r\n return value === null ? \"\" : value;\r\n };\r\n var csv = json.map(function(row) {\r\n return fields\r\n .map(function(fieldName) {\r\n return JSON.stringify(row[fieldName], replacer);\r\n })\r\n .join(\",\");\r\n });\r\n csv.unshift(fields.join(\",\")); // add header column\r\n csv = csv.join(\"\\r\\n\");\r\n return csv;\r\n}\r\nfunction returnColorAlert(value, x) {\r\n if (x === \"elapsed_time\") {\r\n if (value !== null) {\r\n if (value / 1000 > 180) {\r\n return \"danger\";\r\n } else if (value / 1000 >= 90) {\r\n return \"warning\";\r\n } else {\r\n return \"success\";\r\n }\r\n }\r\n } else if (x === \"cpu\") {\r\n if (value !== null) {\r\n if (value > 90000) {\r\n return \"danger\";\r\n } else if (value >= 50000) {\r\n return \"warning\";\r\n } else {\r\n return \"success\";\r\n }\r\n }\r\n } else if (x === \"used_memory\") {\r\n if (value !== null) {\r\n if (value > 200000) {\r\n return \"danger\";\r\n } else if (value >= 100000) {\r\n return \"warning\";\r\n } else {\r\n return \"success\";\r\n }\r\n }\r\n }\r\n}\r\nexport function TryList(list) {\r\n return list || [];\r\n}\r\n\r\nexport function currencyFormat(no) {\r\n if (no === null) {\r\n no = 0;\r\n }\r\n var ar = (+no).toFixed(2).split(\".\");\r\n return [numberFormat(ar[0] | 0), \".\", ar[1]].join(\"\");\r\n\r\n // return new Intl.NumberFormat('en-US', {\r\n // style: 'currency',\r\n // currency: 'USD',\r\n // }).format(no)\r\n}\r\nexport function numberWithCommas(x, type) {\r\n if (x !== null && x !== \"\") {\r\n return (\r\n <>\r\n
\r\n {returnColorAlert(x, type) !== \"success\" ? (\r\n \r\n \r\n \r\n ) : (\r\n \"\"\r\n )}\r\n false}\r\n class={`alert px-2 py-1 mt-3 text-${returnColorAlert(\r\n x,\r\n type\r\n )} bg-light-${returnColorAlert(x, type)}`}\r\n >\r\n {String(x)\r\n .toString()\r\n .replace(/(\\d)(?=(\\d\\d\\d)+(?!\\d))/g, \"$1,\")}\r\n \r\n
\r\n \r\n );\r\n } else {\r\n return \"\";\r\n }\r\n}\r\nfunction numberFormat(no) {\r\n var str = no + \"\";\r\n var ar = [];\r\n var i = str.length - 1;\r\n\r\n while (i >= 0) {\r\n ar.push((str[i - 2] || \"\") + (str[i - 1] || \"\") + (str[i] || \"\"));\r\n i = i - 3;\r\n }\r\n return ar.reverse().join(\",\");\r\n}\r\n\r\n//Convert time to user timeZone\r\nexport function ConvertDate(dateTime, timezone) {\r\n if (!dateTime || !Date.parse(dateTime)) return \"\";\r\n var ISODate = new Date(`${dateTime}-${window.$timezone}`).toISOString();\r\n return moment(ISODate).utcOffset(timezone);\r\n}\r\n\r\n//Convert User time to GMT timeZone\r\nfunction DeConvertDate(dateTime, timezone) {\r\n if (!dateTime || !Date.parse(dateTime)) return \"\";\r\n var ISODate = new Date(`${dateTime}+${window.$timezone}`).toISOString();\r\n return moment(ISODate).utcOffset(timezone);\r\n}\r\n\r\n// Get\r\nexport function momentDateTimeByDay(a, format = \"MM-DD-YYYY, h:mm A\") {\r\n if (!a || !Date.parse(a)) return \"\";\r\n var c = moment(new Date(a), \"M/D/YYYY\");\r\n var b = moment(new Date(), \"M/D/YYYY\");\r\n return ConvertDate(a, -GetTimeZone()).format(\r\n b.diff(c, \"days\") === 0 ? format : \"MM-DD-YYYY\"\r\n );\r\n}\r\n\r\n// Get\r\nexport function momentDate(a, format = \"MM-DD-YYYY, h:mm A\") {\r\n if (!a || !Date.parse(a)) return \"\";\r\n return ConvertDate(a, -GetTimeZone()).format(format);\r\n //return moment(a).format(format);\r\n}\r\nexport function momentTime(a, format = \"h:mm A\") {\r\n if (!a || !Date.parse(a)) return \"\";\r\n return ConvertDate(a, -GetTimeZone()).format(format);\r\n //return moment(a).format(format);\r\n}\r\n// Get\r\nexport function momentDateOnly(a) {\r\n if (!a || !Date.parse(a)) return \"\";\r\n return ConvertDate(a, -GetTimeZone()).format(\"MM-DD-YYYY\");\r\n //return moment(a).format(\"MM-DD-YYYY\");\r\n}\r\n\r\n// Post\r\nexport function PostMomentDate(dateTime) {\r\n if (!dateTime || !Date.parse(dateTime)) return \"\";\r\n var dateTime = DeConvertDate(dateTime, +GetTimeZone());\r\n return moment(dateTime).format(\"MM-DD-YYYY, h:mm A\");\r\n}\r\n\r\nexport function PostMomentTimeOnly(dateTime) {\r\n dateTime = \"1997-1-1 \" + dateTime;\r\n if (!dateTime || !Date.parse(dateTime)) return \"\";\r\n var dateTime = DeConvertDate(dateTime, +GetTimeZone());\r\n return moment(dateTime).format(\"HH:mm:ss\");\r\n}\r\n\r\nfunction GetTimeZone() {\r\n try {\r\n var uct = db.read().getState()?.user?.TimeZone;\r\n if (uct === undefined) return 8;\r\n var subStr = uct?.split(\"(UTC -\")[1]?.replace(\")\", \"\");\r\n return parseInt(subStr ?? \"8\");\r\n } catch (error) {\r\n return 8;\r\n }\r\n}\r\n\r\nexport function workingDaysBetweenDates(d0) {\r\n /* Two working days and an sunday (not working day) */\r\n if (d0 === null || d0 === \"\" || d0 === undefined) {\r\n return 0;\r\n }\r\n\r\n var holidays = _holidays.map((a) => a.dateString);\r\n\r\n const dateOneObj = new Date(getDate(d0));\r\n const dateTwoObj = new Date();\r\n const milliseconds = Math.abs(dateTwoObj - dateOneObj);\r\n var hours = milliseconds / 36e5;\r\n var startDate = parseDate(moment(d0).format(\"YYYY-MM-DD\"));\r\n var endDate = parseDate(moment().format(\"YYYY-MM-DD\"));\r\n // Validate input\r\n if (endDate < startDate) {\r\n return 0;\r\n }\r\n if (endDate === startDate) {\r\n return hours;\r\n }\r\n // Validate input\r\n\r\n // Calculate days between dates\r\n var millisecondsPerDay = 86400 * 1000; // Day in milliseconds\r\n startDate.setHours(0, 0, 0, 1); // Start just after midnight\r\n endDate.setHours(23, 59, 59, 999); // End just before midnight\r\n var diff = endDate - startDate; // Milliseconds between datetime objects\r\n var days = Math.ceil(diff / millisecondsPerDay);\r\n\r\n // Subtract two weekend days for every week in between\r\n var weeks = Math.floor(days / 7);\r\n hours -= weeks * 2 * 24;\r\n\r\n // Handle special cases\r\n var startDay = startDate.getDay();\r\n var endDay = endDate.getDay();\r\n\r\n // Remove weekend not previously removed.\r\n if (startDay - endDay > 1) {\r\n hours -= 2 * 24;\r\n }\r\n // Remove start day if span starts on Sunday but ends before Saturday\r\n if (startDay == 0 && endDay != 6) {\r\n hours -= 24;\r\n }\r\n // Remove end day if span ends on Saturday but starts after Sunday\r\n if (endDay == 6 && startDay != 0) {\r\n hours -= 24;\r\n }\r\n /* Here is the code */\r\n holidays.forEach((day) => {\r\n if (day >= d0 && day <= moment().format(\"YYYY-MM-DD\")) {\r\n /* If it is not saturday (6) or sunday (0), substract it */\r\n if (parseDate(day).getDay() % 6 != 0) {\r\n hours -= 24;\r\n }\r\n }\r\n });\r\n return hours;\r\n}\r\n\r\nfunction parseDate(input) {\r\n // Transform date from text to date\r\n var parts = input.match(/(\\d+)/g);\r\n // new Date(year, month [, date [, hours[, minutes[, seconds[, ms]]]]])\r\n return new Date(parts[0], parts[1] - 1, parts[2]); // months are 0-based\r\n}\r\nvar getDate = function(d) {\r\n if (d === null || d === \"\" || d === undefined) return \"\";\r\n var format = \"MM/DD/YYYY, hh:mm A\";\r\n if (\r\n moment(d)\r\n .startOf(\"day\")\r\n .valueOf() === moment(d).valueOf()\r\n ) {\r\n format = \"MM/DD/YYYY\";\r\n }\r\n return momentDate(moment(d).format(format));\r\n};\r\n//ZB 08/16 Activities\r\n\r\nconst columns = [\r\n {\r\n dataField: \"Icon\",\r\n text: \"\",\r\n classes: \"text-center\",\r\n formatter: (cell, row) => {\r\n if (row.Fields.length !== 0) {\r\n return (\r\n <>\r\n \r\n Activity Details\r\n \r\n }\r\n >\r\n {}}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n },\r\n },\r\n {\r\n dataField: \"User\",\r\n text: \"User\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n headerSortingClasses,\r\n },\r\n {\r\n dataField: \"Created\",\r\n text: \"Date\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n headerSortingClasses,\r\n formatter: (cell, row) => {\r\n return (\r\n <>\r\n
\r\n \r\n {momentDate(row.Created)}\r\n \r\n
\r\n \r\n );\r\n },\r\n },\r\n {\r\n dataField: \"Action\",\r\n text: \"Event\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n headerSortingClasses,\r\n },\r\n];\r\nexport function ActivityFunction({ Activitys = [] }) {\r\n const [Activities, setActivities] = useState(\r\n NewActivites(\r\n Activitys.map((a, Index) => {\r\n a.Id = Index;\r\n return a;\r\n })\r\n )\r\n );\r\n\r\n function NewActivites(activitys = []) {\r\n try {\r\n var list = JSON.parse(JSON.stringify(activitys));\r\n (list ?? []).forEach((a, Index) => {\r\n a.Id = Index;\r\n });\r\n return list;\r\n } catch (error) {\r\n console.log(error);\r\n return [];\r\n }\r\n }\r\n\r\n const [jsonValue, setJsonValue] = useState(\"\");\r\n const [showModalJson, setShowJsonModal] = useState(false);\r\n const [rowItem, setRowItem] = useState(null);\r\n const [modalShowAttachment, setModalShowAttachment] = useState(false);\r\n const [modalShowHtml, setModalShowHtml] = useState(false);\r\n const onError = (e) => {\r\n console.log(e, \"error in file-viewer\");\r\n };\r\n function createMarkup(dataString) {\r\n return { __html: dataString };\r\n }\r\n function getExtension(path) {\r\n try {\r\n var basename = path?.split(/[\\\\/]/).pop(),\r\n pos = basename?.lastIndexOf(\".\");\r\n if (basename === \"\" || pos < 1) return \"\";\r\n return basename?.slice(pos + 1);\r\n } catch (err) {\r\n console.log(err);\r\n }\r\n }\r\n const expandRow = {\r\n renderer: (row) => {\r\n if (row.Fields.length !== 0) {\r\n return (\r\n \r\n \r\n \r\n Field\r\n Old Value\r\n New Value\r\n \r\n \r\n \r\n {row.Fields.map((x) => {\r\n if (x.Field === \"Total\") {\r\n return (\r\n \r\n \r\n {x.Field}\r\n \r\n \r\n \r\n {x?.Type === \"json\" && x?.OldValue !== \"Empty\" ? (\r\n {\r\n try {\r\n setShowJsonModal(true);\r\n const jsonData = JSON.parse(x?.OldValue);\r\n setJsonValue(jsonData);\r\n } catch (err) {\r\n console.log(err);\r\n }\r\n }}\r\n >\r\n Show Data Json\r\n \r\n ) : (\r\n x?.OldValue\r\n )}\r\n \r\n \r\n \r\n \r\n {x?.Type === \"json\" ? (\r\n {\r\n try {\r\n setShowJsonModal(true);\r\n const jsonData = JSON.parse(x?.NewValue);\r\n setJsonValue(jsonData);\r\n } catch (err) {\r\n console.log(err);\r\n }\r\n }}\r\n >\r\n Show Data Json\r\n \r\n ) : x?.Type === \"attachment\" ? (\r\n {\r\n setModalShowAttachment(true);\r\n setRowItem(x);\r\n }}\r\n >\r\n Show Attachment\r\n \r\n ) : x?.Type === \"html\" ? (\r\n {\r\n setModalShowHtml(true);\r\n setRowItem(x);\r\n }}\r\n >\r\n Show Html\r\n \r\n ) : (\r\n x?.NewValue\r\n )}\r\n \r\n \r\n \r\n );\r\n } else if (x.NewValue === \"Removed\") {\r\n return (\r\n \r\n \r\n {x.Field}\r\n \r\n {x.OldValue}\r\n \r\n {x.NewValue}\r\n \r\n \r\n );\r\n } else if (x.OldValue === \"Empty\") {\r\n return (\r\n \r\n \r\n {x.Field}\r\n \r\n \r\n {x?.Type === \"json\" && x?.OldValue !== \"Empty\" ? (\r\n {\r\n try {\r\n setShowJsonModal(true);\r\n const jsonData = JSON.parse(x?.OldValue);\r\n setJsonValue(jsonData);\r\n } catch (err) {\r\n console.log(err);\r\n }\r\n }}\r\n >\r\n Show Data Json\r\n \r\n ) : (\r\n x?.OldValue\r\n )}\r\n \r\n \r\n {x?.Type === \"json\" ? (\r\n {\r\n try {\r\n setShowJsonModal(true);\r\n const jsonData = JSON.parse(x?.NewValue);\r\n setJsonValue(jsonData);\r\n } catch (err) {\r\n console.log(err);\r\n }\r\n }}\r\n >\r\n Show Data Json\r\n \r\n ) : x?.Type === \"attachment\" ? (\r\n {\r\n setModalShowAttachment(true);\r\n setRowItem(x);\r\n }}\r\n >\r\n Show Attachment\r\n \r\n ) : x?.Type === \"html\" ? (\r\n {\r\n setModalShowHtml(true);\r\n setRowItem(x);\r\n }}\r\n >\r\n Show Html\r\n \r\n ) : (\r\n x?.NewValue\r\n )}\r\n \r\n \r\n );\r\n } else {\r\n return (\r\n \r\n \r\n {x.Field}\r\n \r\n \r\n {x?.Type === \"json\" && x?.OldValue !== \"Empty\" ? (\r\n {\r\n try {\r\n setShowJsonModal(true);\r\n const jsonData = JSON.parse(x?.OldValue);\r\n setJsonValue(jsonData);\r\n } catch (err) {\r\n console.log(err);\r\n }\r\n }}\r\n >\r\n Show Data Json\r\n \r\n ) : (\r\n x?.OldValue\r\n )}\r\n \r\n \r\n {x?.Type === \"json\" ? (\r\n {\r\n try {\r\n setShowJsonModal(true);\r\n const jsonData = JSON.parse(x?.NewValue);\r\n setJsonValue(jsonData);\r\n } catch (err) {\r\n console.log(err);\r\n }\r\n }}\r\n >\r\n Show Data Json\r\n \r\n ) : x?.Type === \"attachment\" ? (\r\n {\r\n setModalShowAttachment(true);\r\n setRowItem(x);\r\n }}\r\n >\r\n Show Attachment\r\n \r\n ) : x?.Type === \"html\" ? (\r\n {\r\n setModalShowHtml(true);\r\n setRowItem(x);\r\n }}\r\n >\r\n Show Html\r\n \r\n ) : (\r\n x?.NewValue\r\n )}\r\n \r\n \r\n );\r\n }\r\n })}\r\n \r\n
\r\n );\r\n }\r\n },\r\n };\r\n\r\n function fetchTypeImages(path) {\r\n try {\r\n const imgPath = getExtension(path)?.toLowerCase();\r\n let result = false;\r\n switch (imgPath) {\r\n case \"jpg\": {\r\n result = true;\r\n break;\r\n }\r\n case \"png\": {\r\n result = true;\r\n break;\r\n }\r\n case \"webp\": {\r\n result = true;\r\n break;\r\n }\r\n case \"jpeg\": {\r\n result = true;\r\n break;\r\n }\r\n default: {\r\n result = false;\r\n }\r\n }\r\n return result;\r\n } catch (err) {\r\n console.log(err);\r\n }\r\n }\r\n return (\r\n <>\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {\r\n setActivities(\r\n Activitys.filter(\r\n (a) =>\r\n String(a.Action)\r\n .toLocaleLowerCase()\r\n .trim()\r\n .includes(\r\n String(e.target.value)\r\n .toLocaleLowerCase()\r\n .trim()\r\n ) ||\r\n String(a.User)\r\n .toLocaleLowerCase()\r\n .trim()\r\n .includes(\r\n String(e.target.value)\r\n .toLocaleLowerCase()\r\n .trim()\r\n )\r\n )\r\n );\r\n }}\r\n />\r\n \r\n Search in all fields\r\n \r\n
\r\n
\r\n
\r\n \r\n All Activities\r\n \r\n }\r\n >\r\n {\r\n document.getElementById(\"SearchActivitiesInput\").value =\r\n \"\";\r\n setActivities(Activitys);\r\n }}\r\n to=\"#\"\r\n className=\"nav-link align-self-center btn btn-icon btn-hover-primary mr-2\"\r\n >\r\n \r\n \r\n \r\n Updates\r\n }\r\n >\r\n {\r\n document.getElementById(\"SearchActivitiesInput\").value =\r\n \"\";\r\n setActivities(\r\n Activitys.filter(\r\n (a) =>\r\n String(a.Action)\r\n .toLocaleLowerCase()\r\n .trim()\r\n .includes(\r\n String(\"Update\")\r\n .toLocaleLowerCase()\r\n .trim()\r\n ) &&\r\n !String(a.Action)\r\n .toLocaleLowerCase()\r\n .trim()\r\n .includes(\r\n String(\"status\")\r\n .toLocaleLowerCase()\r\n .trim()\r\n ) &&\r\n !String(a.Action)\r\n .toLocaleLowerCase()\r\n .trim()\r\n .includes(\r\n String(\"receivables\")\r\n .toLocaleLowerCase()\r\n .trim()\r\n ) &&\r\n !String(a.Action)\r\n .toLocaleLowerCase()\r\n .trim()\r\n .includes(\r\n String(\"payables\")\r\n .toLocaleLowerCase()\r\n .trim()\r\n )\r\n )\r\n );\r\n }}\r\n to=\"#\"\r\n className=\"nav-link align-self-center btn btn-icon btn-hover-primary mr-2\"\r\n >\r\n \r\n \r\n \r\n Creation\r\n }\r\n >\r\n {\r\n document.getElementById(\"SearchActivitiesInput\").value =\r\n \"\";\r\n\r\n setActivities(\r\n Activitys.filter((a) =>\r\n String(a.Action)\r\n .toLocaleLowerCase()\r\n .trim()\r\n .includes(\r\n String(\"Create\")\r\n .toLocaleLowerCase()\r\n .trim()\r\n )\r\n )\r\n );\r\n }}\r\n to=\"#\"\r\n className=\"nav-link align-self-center btn btn-icon btn-hover-primary mr-2\"\r\n >\r\n \r\n \r\n \r\n \r\n Status changes\r\n \r\n }\r\n >\r\n {\r\n let vv = [...Activitys];\r\n let vv2 = [...Activitys];\r\n let filteredArray = vv\r\n .filter(\r\n (element) =>\r\n element.Fields.some(\r\n (subElement) => subElement.Field === \"Status Id\"\r\n ) && element.Action === \"Updated from Trinium\"\r\n )\r\n .map((element) => {\r\n return Object.assign({}, element);\r\n });\r\n\r\n let filteredArray2 = vv2.filter((a) =>\r\n String(a.Action)\r\n .toLocaleLowerCase()\r\n .trim()\r\n .includes(\r\n String(\"status\")\r\n .toLocaleLowerCase()\r\n .trim()\r\n )\r\n );\r\n document.getElementById(\"SearchActivitiesInput\").value =\r\n \"\";\r\n let uniunarr = filteredArray.concat(filteredArray2);\r\n setActivities(uniunarr);\r\n }}\r\n to=\"#\"\r\n className=\"nav-link btn btn-icon btn-hover-primary mr-2\"\r\n >\r\n \r\n \r\n \r\n \r\n Charge Changes\r\n \r\n }\r\n >\r\n {\r\n document.getElementById(\"SearchActivitiesInput\").value =\r\n \"\";\r\n\r\n setActivities(\r\n Activitys.filter(\r\n (a) =>\r\n String(a.Action)\r\n .toLocaleLowerCase()\r\n .trim()\r\n .includes(\r\n String(\"receivables\")\r\n .toLocaleLowerCase()\r\n .trim()\r\n ) ||\r\n String(a.Action)\r\n .toLocaleLowerCase()\r\n .trim()\r\n .includes(\r\n String(\"payables\")\r\n .toLocaleLowerCase()\r\n .trim()\r\n )\r\n )\r\n );\r\n }}\r\n to=\"#\"\r\n className=\"nav-link btn btn-icon btn-hover-primary\"\r\n >\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n {Activities.length > 0 ? (\r\n \r\n !(\r\n a.Action.toLocaleLowerCase().includes(\r\n \"from Trinium\".toLocaleLowerCase()\r\n ) && a.Fields.length === 0\r\n )\r\n )}\r\n columns={columns}\r\n pagination={paginationFactory()}\r\n expandRow={expandRow}\r\n wrapperClasses=\"table-responsive\"\r\n classes=\"table table-head-custom table-vertical-center\"\r\n bootstrap4\r\n bordered={false}\r\n />\r\n ) : (\r\n No data to display\r\n )}\r\n
\r\n
\r\n
\r\n {\r\n setShowJsonModal(false);\r\n setJsonValue(\"\");\r\n }}\r\n aria-labelledby=\"example-modal-sizes-title-lg\"\r\n >\r\n \r\n
\r\n
\r\n

Json Data Table

\r\n
\r\n
\r\n {\r\n setShowJsonModal(false);\r\n setJsonValue(\"\");\r\n }}\r\n >\r\n \r\n \r\n
\r\n \r\n \r\n \r\n

Data JSON

\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n {\r\n setJsonValue(\"\");\r\n setShowJsonModal(false);\r\n }}\r\n >\r\n Close\r\n \r\n \r\n \r\n\r\n {/* Modal Attachment Viewer */}\r\n {\r\n setModalShowAttachment(false);\r\n }}\r\n aria-labelledby=\"example-modal-sizes-title-lg\"\r\n >\r\n \r\n Attachment Viewer\r\n {\r\n setModalShowAttachment(false);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n {\r\n const fileName = rowItem?.NewValue?.replace(\r\n /^.*[\\\\\\/]/,\r\n \"\"\r\n );\r\n FileSaver(rowItem?.NewValue, fileName);\r\n }}\r\n >\r\n Download\r\n {\" \"}\r\n
\r\n
\r\n {getExtension(rowItem?.NewValue)?.toLowerCase() === \"pdf\" ? (\r\n
\r\n
\r\n \r\n
\r\n
\r\n ) : (\r\n \r\n
\r\n \r\n {fetchTypeImages(rowItem?.NewValue) ? (\r\n \r\n ) : (\r\n \r\n )}\r\n
\r\n \r\n
\r\n )}\r\n
\r\n
\r\n \r\n {\r\n setModalShowAttachment(false);\r\n }}\r\n className=\"btn btn-light btn-elevate w-25\"\r\n >\r\n Close\r\n \r\n \r\n \r\n\r\n {/* Modal Html Viewer */}\r\n {\r\n setModalShowHtml(false);\r\n }}\r\n aria-labelledby=\"example-modal-sizes-title-lg\"\r\n >\r\n \r\n Html Viewer\r\n {\r\n setModalShowHtml(false);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n <>\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n {\r\n setModalShowHtml(false);\r\n }}\r\n className=\"btn btn-light btn-elevate w-25\"\r\n >\r\n Close\r\n \r\n \r\n \r\n \r\n );\r\n}\r\n\r\nexport function LoadingHtml(params) {\r\n return (\r\n
\r\n \r\n
\r\n );\r\n}\r\n\r\nfunction minOr30(h) {\r\n try {\r\n let a = h?.split(\":\");\r\n let b = parseInt(a[1]);\r\n let c = 15 < b && b < 45 ? \"30\" : \"00\";\r\n return `${a[0]}:${c}:00`;\r\n } catch (err) {\r\n return \"00:00:00\";\r\n }\r\n}\r\n\r\nfunction twoDigit(number) {\r\n var twodigit = number >= 10 ? number : \"0\" + number.toString();\r\n return twodigit;\r\n}\r\n\r\nconst filterOption = (option, inputValue) =>\r\n (\r\n String(option.label)\r\n .replace(\".\", \"\")\r\n .match(inputValue) || []\r\n ).length > 0;\r\nfunction validateHhMm(inputField) {\r\n var isValid = /^([0-1]?[0-9]|2[0-4]):([0-5][0-9])(:[0-5][0-9])?$/.test(\r\n inputField\r\n );\r\n return isValid;\r\n}\r\nexport function DateTime30GL({\r\n field,\r\n label,\r\n span,\r\n withFeedbackLabel = true,\r\n customFeedbackLabel,\r\n type = \"text\",\r\n IdName = \"\",\r\n required,\r\n ClassLabel,\r\n setFieldValue,\r\n defaultvalue,\r\n disabled = false,\r\n Time = true,\r\n ...props\r\n}) {\r\n const { name, idInput, onChange } = props;\r\n\r\n const [DateValue, setDateValue] = useState(\"\");\r\n const [TimeValue, setTimeValue] = useState(\"\");\r\n const [valueDate, setvalueDate] = useState(\"\");\r\n const [border, setborder] = useState(\"\");\r\n\r\n useEffect(() => {\r\n if (DateValue === \"\" || DateValue === null || DateValue === undefined) {\r\n setvalueDate(\"\");\r\n setTimeValue(\"\");\r\n setDateValue(\"\");\r\n } else if (String(new Date(DateValue).getFullYear()).length > 3) {\r\n if (DateValue !== \"\")\r\n if (TimeValue.length > 4) {\r\n var kk = validateHhMm(TimeValue);\r\n if (kk) {\r\n setvalueDate(DateValue + \"T\" + TimeValue + \":00\");\r\n } else {\r\n setTimeValue(\"00:00\");\r\n setvalueDate(DateValue + \"T00:00:00\");\r\n }\r\n } else {\r\n setvalueDate(DateValue + \"T00:00:00\");\r\n }\r\n }\r\n }, [DateValue, TimeValue]);\r\n\r\n useEffect(() => {\r\n onChange(valueDate);\r\n }, [valueDate]);\r\n\r\n useEffect(() => {\r\n if (defaultvalue) {\r\n var c = new Date(momentDate(defaultvalue));\r\n\r\n var date = `${c.getFullYear()}-${twoDigit(c.getMonth() + 1)}-${twoDigit(\r\n c.getDate()\r\n )}`;\r\n\r\n var label = twoDigit(c.getHours()) + \":\" + twoDigit(c.getMinutes());\r\n /* var value = minOr30(label); */\r\n\r\n setDateValue(date);\r\n setTimeValue(label);\r\n }\r\n }, [defaultvalue]);\r\n\r\n const RequiredHtml = () => {\r\n return (\r\n \r\n );\r\n };\r\n\r\n return (\r\n <>\r\n
\r\n
\r\n {label && (\r\n \r\n )}\r\n {\r\n setDateValue(event.target.value);\r\n }}\r\n />\r\n
\r\n
\r\n {label && }\r\n {\r\n if (e.keyCode === 8) {\r\n setTimeValue(\"\");\r\n setborder(\"\");\r\n return;\r\n }\r\n }}\r\n onChange={(e) => {\r\n var value = e.target?.value;\r\n if (!value || value === \"\") return;\r\n if (value.length === 2) value += \":\";\r\n if (value.length > 5) value = value[5];\r\n setTimeValue(value);\r\n var re = /^0[0-9]|1[0-9]|2[0-3]:[0-5][0-9]$/;\r\n setborder(re.test(value) ? \"\" : \"border-danger\");\r\n }}\r\n />\r\n
\r\n
\r\n \r\n );\r\n}\r\n\r\nexport async function GetBaseData(id) {\r\n return await fetch(`${window.$apiurl}/driverCheckedIn/GetBaseData/${id}`, {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n return res[1];\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n}\r\n\r\nexport async function GetCarrierCheckedInData(id) {\r\n var myHeaders = new Headers();\r\n myHeaders.append(\"Authorization\", `bearer ${db.read().getState().Token}`);\r\n\r\n var requestOptions = {\r\n method: \"GET\",\r\n headers: myHeaders,\r\n redirect: \"follow\",\r\n };\r\n\r\n return await fetch(`${window.$apiurl}/driverCheckedIn/${id}`, requestOptions)\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const contentType = response.headers.get(\"content-type\");\r\n if (contentType && contentType.indexOf(\"application/json\") !== -1) {\r\n return response.json().then((data) => [statusCode, data]);\r\n } else {\r\n return response.text().then((text) => [statusCode, { Message: \"\" }]);\r\n }\r\n })\r\n .then(async (result) => {\r\n if (result[0] === 200) {\r\n return result[1];\r\n } else if (\r\n result[1].Message !== null &&\r\n result[1].Message !== undefined &&\r\n result[1].Message !== \"\"\r\n ) {\r\n Notification(\"infoClick\", result[1].Message);\r\n } else {\r\n Notification(\"infoClick\", \"something wrong!!\");\r\n }\r\n })\r\n .catch((error) => {\r\n console.log(\"error\", error);\r\n });\r\n}\r\n","import React, { useEffect, useState } from \"react\";\r\nimport { Card } from \"react-bootstrap\";\r\nimport { ImportOrderItemsComp } from \"./ImportOrderItemsComp\";\r\n\r\nexport function ImportOrderItems({ isFromImport }) {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n","import React, { useEffect, useState } from \"react\";\r\nimport { Button, Form, Card, Col } from \"react-bootstrap\";\r\nimport { makeStyles } from \"@material-ui/core/styles\";\r\nimport axios from \"axios\";\r\nimport Select from \"react-select\";\r\nimport { Notification } from \"../../modules/Notification\";\r\nimport { ExcelRenderer } from \"react-excel-renderer\";\r\nimport Table from \"@material-ui/core/Table\";\r\nimport TableBody from \"@material-ui/core/TableBody\";\r\nimport TableCell from \"@material-ui/core/TableCell\";\r\nimport TableHead from \"@material-ui/core/TableHead\";\r\nimport TableRow from \"@material-ui/core/TableRow\";\r\nimport Paper from \"@material-ui/core/Paper\";\r\nimport LocalStorage from \"lowdb/adapters/LocalStorage\";\r\nimport low from \"lowdb\";\r\nimport LinearProgress from \"@material-ui/core/LinearProgress\";\r\nimport { matchPath } from \"react-router\";\r\nimport CreatableSelect from \"react-select/creatable\";\r\nimport moment from \"moment\";\r\nconst adapter = new LocalStorage(\"db\");\r\nconst db = low(adapter);\r\n\r\nfunction isValidDate(d) {\r\n return moment(d, \"M/D/YYYY\", true).isValid();\r\n}\r\n\r\nexport function ImportOrderItemsComp({ isFromImport }) {\r\n const useStyles = makeStyles((theme) => ({\r\n root: {\r\n width: \"100%\",\r\n },\r\n paper: {\r\n marginTop: theme.spacing(3),\r\n width: \"100%\",\r\n overflowX: \"auto\",\r\n marginBottom: theme.spacing(2),\r\n },\r\n table: {\r\n minWidth: 650,\r\n },\r\n row: {\r\n height: 50,\r\n },\r\n rowBody: {\r\n height: 50,\r\n fontWeight: \"bold\",\r\n },\r\n button: {\r\n margin: theme.spacing(1),\r\n },\r\n leftIcon: {\r\n marginRight: theme.spacing(1),\r\n },\r\n rightIcon: {\r\n marginLeft: theme.spacing(1),\r\n },\r\n iconSmall: {\r\n fontSize: 20,\r\n },\r\n }));\r\n const classes = useStyles();\r\n const [rowsState, setRowsState] = useState([]);\r\n const [rowsStatBool, setRowsStatBool] = useState(false);\r\n const [ServiceId, setServiceId] = useState(\"\");\r\n const [ModeId, setModeId] = useState(\"\");\r\n const [ServiceLevelId, setServiceLevelId] = useState(\"\");\r\n const [EqTypeId, setEqTypeId] = useState(\"\");\r\n const [EqSizeId, setEqSizeId] = useState(\"\");\r\n const [rowsEmpty, setRowsEmpty] = useState(true);\r\n const [ServiceListOption, setServiceListOption] = useState([]);\r\n const [customersList, setCustomersList] = useState([]);\r\n const [importInProgress, setImportInProgress] = useState(false);\r\n const [showProgress, setshowProgress] = useState(false);\r\n const [CustomerIdValue, setCustomerId] = useState({\r\n value: \"\",\r\n label: \"Select...\",\r\n });\r\n const [loading, setLoading] = useState(false);\r\n useEffect(() => {\r\n fetchCustomersAsync();\r\n }, []);\r\n const fetchCustomersAsync = async () => {\r\n try {\r\n var myHeaders = new Headers();\r\n myHeaders.append(\"Authorization\", `Bearer ${db.read().getState().Token}`);\r\n\r\n var requestOptions = {\r\n method: \"GET\",\r\n headers: myHeaders,\r\n redirect: \"follow\",\r\n };\r\n\r\n fetch(`${window.$apiurl}/receiptsmanagement/getviewmodel`, requestOptions)\r\n .then((response) => response.text())\r\n .then((result) => {\r\n console.log(result);\r\n var data = JSON.parse(result);\r\n setCustomersList(data.Customers);\r\n setServiceListOption(data.Services);\r\n })\r\n .catch((error) => console.log(\"error\", error));\r\n } catch (e) {}\r\n };\r\n\r\n const fileHandlerOnclick = () => {\r\n if (rowsEmpty) {\r\n Notification(\"error\", \"Please select a valid file to import.\");\r\n setRowsStatBool(false);\r\n return false;\r\n }\r\n setRowsStatBool(true);\r\n };\r\n\r\n const fileClear = (event) => {\r\n event.target.value = \"\";\r\n };\r\n\r\n const fileHandler = (event) => {\r\n setRowsStatBool(false);\r\n setRowsState([]);\r\n setRowsEmpty(false);\r\n let fileObj = event.target.files[0];\r\n ExcelRenderer(fileObj, (err, resp) => {\r\n if (err) {\r\n setRowsEmpty(true);\r\n return false;\r\n } else {\r\n if (resp.rows.length < 1) {\r\n setRowsEmpty(true);\r\n return false;\r\n }\r\n var a = resp.rows[0].indexOf(\"Master Bill\");\r\n var b = resp.rows[0].indexOf(\"Order Date*\");\r\n var c = resp.rows[0].indexOf(\"Vessel\");\r\n var d = resp.rows[0].indexOf(\"Eta\");\r\n var e = resp.rows[0].indexOf(\"Voyage\");\r\n var f = resp.rows[0].indexOf(\"Customer Ref No\");\r\n var g = resp.rows[0].indexOf(\"Customer Ref No2\");\r\n var h = resp.rows[0].indexOf(\"Equipment*\");\r\n var i = resp.rows[0].indexOf(\"Seal Number\");\r\n var j = resp.rows[0].indexOf(\"Freight charge\");\r\n var k = resp.rows[0].indexOf(\"Pickup location\");\r\n var l = resp.rows[0].indexOf(\"Ship to location\");\r\n var m = resp.rows[0].indexOf(\"Purchase Order*\");\r\n var n = resp.rows[0].indexOf(\"Sku\");\r\n var o = resp.rows[0].indexOf(\"Case Pack*\");\r\n var p = resp.rows[0].indexOf(\"UnitOfMeasure*\");\r\n var q = resp.rows[0].indexOf(\"UnitCount*\");\r\n var r = resp.rows[0].indexOf(\"Weight*\");\r\n var s = resp.rows[0].indexOf(\"WeightType*\");\r\n var t = resp.rows[0].indexOf(\"Cube*\");\r\n var u = resp.rows[0].indexOf(\"CubeType*\");\r\n var v = resp.rows[0].indexOf(\"Description\");\r\n var w = resp.rows[0].indexOf(\"OverQuantity\");\r\n var x = resp.rows[0].indexOf(\"ShortQuantity\");\r\n var y = resp.rows[0].indexOf(\"DamagedQuantity\");\r\n var z = resp.rows[0].indexOf(\"Pallets\");\r\n var aa = resp.rows[0].indexOf(\"IsHot\");\r\n var ab = resp.rows[0].indexOf(\"IsHazMat\");\r\n var ac = resp.rows[0].indexOf(\"Location\");\r\n var ad = resp.rows[0].indexOf(\"UpcNumber\");\r\n var ae = resp.rows[0].indexOf(\"Size\");\r\n var af = resp.rows[0].indexOf(\"Color\");\r\n if (\r\n a === -1 ||\r\n b === -1 ||\r\n c === -1 ||\r\n d === -1 ||\r\n e === -1 ||\r\n f === -1 ||\r\n g === -1 ||\r\n h === -1 ||\r\n i === -1 ||\r\n j === -1 ||\r\n k === -1 ||\r\n l === -1 ||\r\n m === -1 ||\r\n n === -1 ||\r\n o === -1 ||\r\n p === -1 ||\r\n q === -1 ||\r\n r === -1 ||\r\n s === -1 ||\r\n t === -1 ||\r\n u === -1 ||\r\n v === -1 ||\r\n w === -1 ||\r\n x === -1 ||\r\n y === -1 ||\r\n z === -1 ||\r\n aa === -1 ||\r\n ab === -1 ||\r\n ac === -1 ||\r\n ad === -1 ||\r\n ae === -1 ||\r\n af === -1\r\n ) {\r\n setRowsEmpty(true);\r\n return false;\r\n }\r\n\r\n let rows = [];\r\n resp.rows.slice(1, resp.rows.length).forEach((element, index) => {\r\n var empty = 1;\r\n var error = \"\";\r\n if (\r\n element[b] === undefined ||\r\n element[h] === undefined ||\r\n element[m] === undefined ||\r\n element[o] === undefined ||\r\n element[p] === undefined ||\r\n element[q] === undefined ||\r\n element[r] === undefined ||\r\n element[s] === undefined ||\r\n element[t] === undefined ||\r\n element[u] === undefined\r\n ) {\r\n empty = 0;\r\n error = \"Please check the required fields*.\";\r\n }\r\n\r\n if (TryParseInt(element[o]) < 0) {\r\n empty = 0;\r\n error = \"Case pack must be a valid number\";\r\n }\r\n if (TryParseInt(element[q]) < 0) {\r\n empty = 0;\r\n error = \"Unit count must be a valid number\";\r\n }\r\n if (TryParseFloat(element[p]) < 0) {\r\n empty = 0;\r\n error = \"Unit Of Measure must be a valid number\";\r\n }\r\n if (!isValidDate(element[b])) {\r\n empty = 0;\r\n error = \"Order Date must be a valid Date\";\r\n }\r\n if (TryParseFloat(element[r]) < 0) {\r\n empty = 0;\r\n error = \"Weight must be a valid number\";\r\n }\r\n if (element[b] === \"\" || element[b] === undefined) {\r\n empty = 0;\r\n error = \"Order Date is required\";\r\n }\r\n if (element[h] === \"\" || element[h] === undefined) {\r\n empty = 0;\r\n error = \"Equipment is required\";\r\n }\r\n if (element[m] === \"\" || element[m] === undefined) {\r\n empty = 0;\r\n error = \"Purchase Order is required\";\r\n }\r\n if (element[n] === \"\" || element[n] === undefined) {\r\n empty = 0;\r\n error = \"Case Pack is required\";\r\n }\r\n if (element[q] === \"\" || element[q] === undefined) {\r\n empty = 0;\r\n error = \"Unit Count is required\";\r\n }\r\n if (element[r] === \"\" || element[r] === undefined) {\r\n empty = 0;\r\n error = \"Weight is required\";\r\n }\r\n if (element[t] === \"\" || element[t] === undefined) {\r\n empty = 0;\r\n error = \"Cube is required\";\r\n }\r\n if (\r\n element[w] !== \"\" &&\r\n element[w] !== undefined &&\r\n TryParseInt(element[w]) <= 0\r\n ) {\r\n empty = 0;\r\n error = \"Over Quantity must be a valid number\";\r\n }\r\n if (\r\n element[x] !== \"\" &&\r\n element[x] !== undefined &&\r\n TryParseInt(element[x]) <= 0\r\n ) {\r\n empty = 0;\r\n error = \"Short Quantity must be a valid number\";\r\n }\r\n if (\r\n element[y] !== \"\" &&\r\n element[y] !== undefined &&\r\n TryParseInt(element[y]) <= 0\r\n ) {\r\n empty = 0;\r\n error = \"Damaged Quantity must be a valid number\";\r\n }\r\n if (\r\n element[z] !== \"\" &&\r\n element[z] !== undefined &&\r\n TryParseInt(element[z]) <= 0\r\n ) {\r\n empty = 0;\r\n error = \"Pallets must be a valid number\";\r\n }\r\n if (element[a] !== undefined)\r\n rows.push(\r\n createData(\r\n empty,\r\n index + 1,\r\n element[a],\r\n element[b],\r\n element[c],\r\n element[d],\r\n element[e],\r\n element[f],\r\n element[g],\r\n element[h],\r\n element[i],\r\n element[j],\r\n element[k],\r\n element[l],\r\n element[m],\r\n element[n],\r\n element[o],\r\n element[p],\r\n element[q],\r\n element[r],\r\n element[s],\r\n element[t],\r\n element[u],\r\n element[v],\r\n element[w],\r\n element[x],\r\n element[y],\r\n element[z],\r\n element[aa],\r\n element[ab],\r\n element[ac],\r\n element[ad],\r\n element[ae],\r\n element[af],\r\n error\r\n )\r\n );\r\n });\r\n setRowsState(rows.reverse());\r\n setRowsEmpty(false);\r\n }\r\n });\r\n };\r\n\r\n const fileUploadeOnclick = async () => {\r\n if (CustomerIdValue?.value === undefined || CustomerIdValue?.value === \"\") {\r\n Notification(\"error\", \"Customer Is required\");\r\n return;\r\n }\r\n if (ServiceId?.value === undefined || ServiceId?.value === \"\") {\r\n Notification(\"error\", \"Service Is required\");\r\n return;\r\n }\r\n if (ModeId?.value === undefined || ModeId?.value === \"\") {\r\n Notification(\"error\", \"Mode Is required\");\r\n return;\r\n }\r\n setImportInProgress(true);\r\n setLoading(true);\r\n if (rowsStatBool) {\r\n if (rowsState.length > 0) {\r\n var myHeaders = new Headers();\r\n myHeaders.append(\r\n \"Authorization\",\r\n `bearer ${db.read().getState().Token}`\r\n );\r\n myHeaders.append(\"Content-Type\", \"application/json\");\r\n myHeaders.append(\"X-FP-API-KEY\", \"iphone\");\r\n var requestOptions = {\r\n method: \"post\",\r\n withCredentials: true,\r\n headers: myHeaders,\r\n body: JSON.stringify({\r\n CustomerId: CustomerIdValue?.value,\r\n ServiceId: ServiceId?.value,\r\n ModeId: ModeId?.value,\r\n ServiceLevelId:\r\n ServiceLevelId?.value === undefined ? \"\" : ServiceLevelId?.value,\r\n EquipmentTypeId:\r\n EqTypeId?.value === undefined ? \"\" : EqTypeId?.value,\r\n EquipmentSizeId:\r\n EqSizeId?.value === undefined ? \"\" : EqSizeId?.value,\r\n Items: rowsState,\r\n }),\r\n };\r\n fetch(`${window.$apiurl}/orders/import`, requestOptions)\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n let data = {};\r\n if (statusCode === 200) {\r\n Notification(\"success\", \"Import done successfully.\");\r\n } else {\r\n data = await response.json();\r\n const msg =\r\n data?.Message === undefined\r\n ? \"Something went wrong, please try later or contact the support.\"\r\n : data.Message;\r\n Notification(\"error\", msg);\r\n }\r\n })\r\n .then((res) => {\r\n return res;\r\n })\r\n .catch((err) => {\r\n console.log(err);\r\n });\r\n } else {\r\n Notification(\"error\", \"Please select a valid file to emport.\");\r\n }\r\n } else {\r\n Notification(\"error\", \"Please select a valid file to import.\");\r\n }\r\n\r\n setLoading(false);\r\n setImportInProgress(false);\r\n };\r\n\r\n function createData(\r\n Empty,\r\n Index,\r\n MasterBill,\r\n OrderDate,\r\n Vessel,\r\n Eta,\r\n Voyage,\r\n CustomerRefNo,\r\n CustomerRefNo2,\r\n Equipment,\r\n SealNumber,\r\n FreightCharge,\r\n PickupLocation,\r\n ShiptoLocation,\r\n PurchaseOrder,\r\n Sku,\r\n Pieces,\r\n UnitOfMeasure,\r\n UnitCount,\r\n Weight,\r\n WeightType,\r\n Cube,\r\n CubeType,\r\n Description,\r\n OverQuantity,\r\n ShortQuantity,\r\n DamagedQuantity,\r\n Pallets,\r\n IsHot,\r\n IsHazMat,\r\n Location,\r\n UpcNumber,\r\n Size,\r\n Color,\r\n Error\r\n ) {\r\n return {\r\n Empty,\r\n Index,\r\n MasterBill,\r\n OrderDate,\r\n Vessel,\r\n Eta,\r\n Voyage,\r\n CustomerRefNo,\r\n CustomerRefNo2,\r\n Equipment,\r\n SealNumber,\r\n FreightCharge,\r\n PickupLocation,\r\n ShiptoLocation,\r\n PurchaseOrder,\r\n Sku,\r\n Pieces,\r\n UnitOfMeasure,\r\n UnitCount,\r\n Weight,\r\n WeightType,\r\n Cube,\r\n CubeType,\r\n Description,\r\n OverQuantity,\r\n ShortQuantity,\r\n DamagedQuantity,\r\n Pallets,\r\n IsHot,\r\n IsHazMat,\r\n Location,\r\n UpcNumber,\r\n Size,\r\n Color,\r\n Error,\r\n };\r\n }\r\n\r\n function TryParseInt(str) {\r\n var retValue = 0;\r\n if (typeof str === \"number\") return str;\r\n if (str !== null && str !== undefined) {\r\n if (str.length > 0) {\r\n if (!isNaN(str)) {\r\n retValue = parseInt(str);\r\n }\r\n }\r\n }\r\n return retValue;\r\n }\r\n\r\n function TryParseFloat(str) {\r\n var retValue = 0;\r\n if (typeof str === \"number\") return str;\r\n if (str !== null && str !== undefined) {\r\n if (str.length > 0) {\r\n if (!isNaN(str)) {\r\n retValue = parseFloat(str);\r\n }\r\n }\r\n }\r\n return retValue;\r\n }\r\n return (\r\n
\r\n \r\n
\r\n Choose a Customer\r\n {\r\n if (e === null) {\r\n setCustomerId({\r\n value: \"\",\r\n label: \"Select...\",\r\n });\r\n } else {\r\n setCustomerId(e);\r\n }\r\n }}\r\n options={customersList.map((x) => {\r\n return { value: x?.Id, label: x?.Name };\r\n })}\r\n name=\"CustomerId\"\r\n id=\"CustomerId\"\r\n className=\"w-100 mr-2\"\r\n />\r\n
\r\n
\r\n

Service

\r\n {\r\n setModeId({\r\n value: \"\",\r\n label: \"Select...\",\r\n });\r\n setServiceLevelId({\r\n value: \"\",\r\n label: \"Select...\",\r\n });\r\n setEqSizeId({\r\n value: \"\",\r\n label: \"Select...\",\r\n });\r\n setEqTypeId({\r\n value: \"\",\r\n label: \"Select...\",\r\n });\r\n if (e === null) {\r\n setServiceId({\r\n value: \"\",\r\n label: \"Select...\",\r\n });\r\n } else {\r\n setServiceId(e);\r\n }\r\n }}\r\n options={ServiceListOption.map((a) => ({\r\n value: a.Id,\r\n label: a.Name,\r\n }))}\r\n name=\"ReceiptId\"\r\n id=\"ReceiptId\"\r\n className=\"w-100 mr-2\"\r\n />\r\n {showProgress && }\r\n
\r\n
\r\n

Mode

\r\n {\r\n setServiceLevelId({\r\n value: \"\",\r\n label: \"Select...\",\r\n });\r\n setEqSizeId({\r\n value: \"\",\r\n label: \"Select...\",\r\n });\r\n setEqTypeId({\r\n value: \"\",\r\n label: \"Select...\",\r\n });\r\n if (e === null) {\r\n setModeId({\r\n value: \"\",\r\n label: \"Select...\",\r\n });\r\n } else {\r\n setModeId(e);\r\n }\r\n }}\r\n options={ServiceListOption.filter(\r\n (a) => String(a.Id) === String(ServiceId?.value)\r\n )[0]?.Modes?.map((a) => ({ value: a.Id, label: a.Name }))}\r\n name=\"ModeId\"\r\n id=\"ModeId\"\r\n className=\"w-100 mr-2\"\r\n />\r\n {showProgress && }\r\n
\r\n
\r\n

Service Level

\r\n {\r\n setEqSizeId({\r\n value: \"\",\r\n label: \"Select...\",\r\n });\r\n setEqTypeId({\r\n value: \"\",\r\n label: \"Select...\",\r\n });\r\n if (e === null) {\r\n setServiceLevelId({\r\n value: \"\",\r\n label: \"Select...\",\r\n });\r\n } else {\r\n setServiceLevelId(e);\r\n }\r\n }}\r\n options={ServiceListOption.filter(\r\n (a) => String(a.Id) === String(ServiceId?.value)\r\n )[0]\r\n ?.Modes?.filter((a) => String(a.Id) === String(ModeId?.value))[0]\r\n ?.ServiceLevels?.map((a) => ({ value: a.Id, label: a.Name }))}\r\n name=\"ServiceLevelId\"\r\n id=\"ServiceLevelId\"\r\n className=\"w-100 mr-2\"\r\n />\r\n {showProgress && }\r\n
\r\n
\r\n

Eq Type

\r\n {\r\n setEqSizeId({\r\n value: \"\",\r\n label: \"Select...\",\r\n });\r\n if (e === null) {\r\n setEqTypeId({\r\n value: \"\",\r\n label: \"Select...\",\r\n });\r\n } else {\r\n setEqTypeId(e);\r\n }\r\n }}\r\n options={ServiceListOption.filter(\r\n (a) => String(a.Id) === String(ServiceId?.value)\r\n )[0]\r\n ?.Modes?.filter((a) => String(a.Id) === String(ModeId?.value))[0]\r\n ?.ServiceLevels?.filter(\r\n (a) => String(a.Id) === String(ServiceLevelId?.value)\r\n )[0]\r\n ?.EquipmentTypes?.map((a) => ({\r\n value: a.Id,\r\n label: a.Name,\r\n }))}\r\n name=\"EqTypeId\"\r\n id=\"EqTypeId\"\r\n className=\"w-100 mr-2\"\r\n />\r\n {showProgress && }\r\n
\r\n
\r\n

Eq Size

\r\n {\r\n if (e === null) {\r\n setEqSizeId({\r\n value: \"\",\r\n label: \"Select...\",\r\n });\r\n } else {\r\n setEqSizeId(e);\r\n }\r\n }}\r\n options={ServiceListOption.filter(\r\n (a) => String(a.Id) === String(ServiceId?.value)\r\n )[0]\r\n ?.Modes?.filter((a) => String(a.Id) === String(ModeId?.value))[0]\r\n ?.ServiceLevels?.filter(\r\n (a) => String(a.Id) === String(ServiceLevelId?.value)\r\n )[0]\r\n ?.EquipmentTypes?.filter(\r\n (a) => String(a.Id) === String(EqTypeId?.value)\r\n )[0]\r\n ?.EquipmentSizes?.map((a) => ({\r\n value: a.Id,\r\n label: a.Name,\r\n }))}\r\n name=\"EqSizeId\"\r\n id=\"EqSizeId\"\r\n className=\"w-100 mr-2\"\r\n />\r\n {showProgress && }\r\n
\r\n \r\n Import \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n IMPORT FILE\r\n \r\n
\r\n

\r\n Use the 'Browse...' button to select an Orders to import file.{\" \"}\r\n \r\n Download Template\r\n \r\n

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

Then press the 'Import' button to read the file.

\r\n
\r\n\r\n {\r\n fileHandlerOnclick();\r\n }}\r\n />\r\n
\r\n
\r\n {rowsStatBool && (\r\n \r\n \r\n \r\n \r\n \r\n \r\n Is Valid\r\n \r\n {/* \r\n Line\r\n */}\r\n \r\n Master Bill\r\n \r\n \r\n Order Date*\r\n \r\n \r\n Vessel\r\n \r\n \r\n Eta\r\n \r\n \r\n Voyage\r\n \r\n \r\n Customer Ref No\r\n \r\n \r\n Customer Ref No2\r\n \r\n \r\n Equipment\r\n \r\n \r\n Seal Number\r\n \r\n \r\n Freight charge\r\n \r\n \r\n Pickup location\r\n \r\n \r\n Ship to location\r\n \r\n \r\n Purchase Order*\r\n \r\n \r\n Sku\r\n \r\n \r\n Case Pack*\r\n \r\n \r\n Unit Of Measure*\r\n \r\n \r\n Unit Count*\r\n \r\n \r\n Weight*\r\n \r\n \r\n Weight Type*\r\n \r\n \r\n Cube*\r\n \r\n \r\n Cube Type*\r\n \r\n \r\n Description\r\n \r\n \r\n Ovr Qty\r\n \r\n \r\n Short Qty\r\n \r\n \r\n Damaged Qty\r\n \r\n \r\n Pallets\r\n \r\n \r\n Is Hot\r\n \r\n \r\n Is HazMat\r\n \r\n \r\n Location\r\n \r\n \r\n Upc Number\r\n \r\n \r\n Size\r\n \r\n \r\n Color\r\n \r\n \r\n \r\n \r\n {rowsState.map((row) => (\r\n \r\n \r\n {row.Empty === 1 && (\r\n \r\n )}\r\n {row.Empty === 0 && (\r\n \r\n )}\r\n \r\n {/* {row.Index} */}\r\n {row.MasterBill}\r\n {row.OrderDate}\r\n {row.Vessel}\r\n {row.Eta}\r\n {row.Voyage}\r\n {row.CustomerRefNo}\r\n {row.CustomerRefNo2}\r\n {row.Equipment}\r\n {row.SealNumber}\r\n {row.FreightCharge}\r\n {row.PickupLocation}\r\n {row.ShiptoLocation}\r\n {row.PurchaseOrder}\r\n {row.Sku}\r\n {row.Pieces}\r\n {row.UnitOfMeasure}\r\n {row.UnitCount}\r\n {row.Weight}\r\n {row.WeightType}\r\n {row.Cube}\r\n {row.CubeType}\r\n {row.Description}\r\n {row.OverQuantity}\r\n {row.ShortQuantity}\r\n {row.DamagedQuantity}\r\n {row.Pallets}\r\n {row.IsHot}\r\n {row.IsHazMat}\r\n {row.Location}\r\n {row.UpcNumber}\r\n {row.Size}\r\n {row.Color}\r\n \r\n ))}\r\n \r\n
\r\n
\r\n
\r\n {\" \"}\r\n \r\n {rowsState.length > 0\r\n ? rowsState.length + \" Items(s)\"\r\n : \"No item was imported\"}\r\n .\r\n \r\n
\r\n
\r\n )}{\" \"}\r\n \r\n \r\n Create\r\n
\r\n

\r\n Use the 'Browse...' button to select an Orders to import file.\r\n

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

Press the 'Create' button to create the Orders.

\r\n
\r\n\r\n {\r\n fileUploadeOnclick();\r\n }}\r\n disabled={importInProgress}\r\n className=\"btn btn-success btn-shadow-hover mr-2\"\r\n >\r\n {importInProgress ? \"Importing...\" : \"Create\"}\r\n {loading && }\r\n \r\n {/* {\r\n fileUploadeOnclick();\r\n }}\r\n /> */}\r\n
\r\n
\r\n
\r\n );\r\n}\r\n","import low from \"lowdb\";\r\nimport LocalStorage from \"lowdb/adapters/LocalStorage\";\r\nimport React, { Component, useEffect, useState } from \"react\";\r\nimport { useRef } from \"react\";\r\nimport { Spinner } from \"react-bootstrap\";\r\nimport PrintProvider, { NoPrint, Print } from \"react-easy-print\";\r\nimport QRCode from \"react-qr-code\";\r\nimport { useReactToPrint } from \"react-to-print\";\r\nimport { Notification } from \"../../../Notification\";\r\nimport \"./label.css\";\r\nconst adapter = new LocalStorage(\"db\");\r\nconst db = low(adapter);\r\nclass ManifestLabel extends Component {\r\n constructor() {\r\n super();\r\n var obj = {\r\n Carriers: [],\r\n Items: [],\r\n Statistiques: [],\r\n LocationItems: [],\r\n };\r\n this.state = { data: obj };\r\n }\r\n async componentDidMount() {\r\n await fetch(window.$apiurl + \"/pallets/\" + this.props.id, {\r\n method: \"get\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n }).then(async (response) => {\r\n const statusCode = response.status;\r\n if (statusCode !== 200) {\r\n Notification(\"error\", \"No data found !\");\r\n }\r\n const json = await response.json();\r\n this.setState({ data: json?.pallet });\r\n });\r\n }\r\n render() {\r\n const formData = this.state.data;\r\n if (this?.state?.data?.ItemsList?.length > 0) {\r\n return (\r\n
\r\n {this?.state?.data?.ItemsList?.map((item, index) => (\r\n
\r\n \r\n {formData?.ConsigneeName}\r\n \r\n \r\n \r\n {this.props.id}\r\n \r\n \r\n CTN:{formData.Unitcount}\r\n \r\n \r\n PO#:{item?.PurchaseOrder}\r\n \r\n \r\n SKU:{item?.Sku}\r\n \r\n \r\n Container#:{item?.ContainerNumber}\r\n \r\n \r\n {formData?.CustomerName}\r\n \r\n\r\n \r\n {formData?.ShipperName === undefined ||\r\n formData?.ShipperName === null ||\r\n formData?.ShipperName === \"\"\r\n ? formData?.Location\r\n : formData?.ShipperName}\r\n \r\n
\r\n ))}\r\n
\r\n );\r\n } else {\r\n return (\r\n
\r\n
\r\n \r\n {formData?.ConsigneeName}\r\n \r\n \r\n \r\n {this.props.id}\r\n \r\n \r\n CTN:{formData.Unitcount}\r\n \r\n \r\n {formData?.CustomerName}\r\n \r\n \r\n {formData?.ShipperName === undefined ||\r\n formData?.ShipperName === null ||\r\n formData?.ShipperName === \"\"\r\n ? formData?.Location\r\n : formData?.ShipperName}\r\n \r\n
\r\n
\r\n );\r\n }\r\n }\r\n}\r\n\r\nexport function PalletManifestLabel({ id }) {\r\n const componentRef = useRef();\r\n const handlePrint = useReactToPrint({\r\n content: () => componentRef.current,\r\n });\r\n return (\r\n \r\n \r\n \r\n Print label\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n );\r\n}\r\n","import axios from \"axios\";\r\nimport { Form, Formik } from \"formik\";\r\nimport React, { useEffect, useState } from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport * as Yup from \"yup\";\r\nimport {\r\n is,\r\n IsValidMessage\r\n} from \"../../../../../../_metronic/_helpers/ATHelpers\";\r\nimport { CreatableSelect3 } from \"../../../../../../_metronic/_partials/controls\";\r\n\r\n// Validation schema\r\nconst CustomerEditSchema = Yup.object().shape({});\r\n\r\nexport function CustomerEditForm({\r\n saveCustomer,\r\n customer,\r\n actionsLoading,\r\n onHide,\r\n defaultValue = false,\r\n}) {\r\n const [Customers, setCustomers] = useState([]);\r\n const [warehouses, setwarehouses] = useState([]);\r\n const [Locations, setLocations] = useState([]);\r\n const [consignees, setconsignees] = useState([]);\r\n const [shippers, setshippers] = useState([]);\r\n const [shipperIds, setshipperIds] = useState();\r\n const [CustomerIdDisabled, setCustomerIdDisabled] = useState(false);\r\n\r\n const fetchUsersAsync = async () => {\r\n try {\r\n const result = await axios.get(\"api/PalletsManagment/GetAllApi\");\r\n setCustomers(result.data[\"customers\"] || []);\r\n setwarehouses(result.data[\"warehouses\"] || []);\r\n setconsignees(result.data[\"consignees\"] || []);\r\n setshippers(result.data[\"shippers\"] || []);\r\n } catch (e) {}\r\n };\r\n\r\n useEffect(() => {\r\n fetchUsersAsync();\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (customer?.CustomerId) setCustomerIdDisabled(true);\r\n }, [customer?.CustomerId]);\r\n\r\n return (\r\n <>\r\n {\r\n window.IsValid = false;\r\n IsValidMessage(\"Customer\", values?.CustomerId);\r\n IsValidMessage(\"ConsigneeId\", values?.ConsigneeId);\r\n IsValidMessage(\"Warehouse\", values?.WarehouseId);\r\n IsValidMessage(\"Shipper\", values?.ShipperId);\r\n IsValidMessage(\"Location\", values?.LocationId);\r\n if (window.IsValid) return false;\r\n saveCustomer(values);\r\n }}\r\n >\r\n {({ handleSubmit, setFieldValue, values }) => (\r\n <>\r\n \r\n {actionsLoading && (\r\n
\r\n
\r\n
\r\n )}\r\n
\r\n
\r\n
\r\n {\r\n return {\r\n value: x?.Id,\r\n label: is(x?.Code) + x?.Name,\r\n };\r\n })}\r\n />\r\n
\r\n
\r\n {\r\n return {\r\n value: x?.Id,\r\n label: x?.Name,\r\n };\r\n })}\r\n />\r\n
\r\n
\r\n {\r\n return {\r\n value: x?.Id,\r\n label: x?.Name,\r\n };\r\n })}\r\n onChange={(e) => {\r\n setshipperIds(e?.value);\r\n }}\r\n />\r\n
\r\n
\r\n {\r\n return {\r\n value: x?.Id,\r\n label: x?.Name,\r\n };\r\n })}\r\n onChange={(e) => {\r\n const a = warehouses.find((x) => x?.Id === e?.value);\r\n setLocations([]);\r\n setTimeout(() => {\r\n setLocations(a?.Locations || []);\r\n }, 1);\r\n }}\r\n />\r\n
\r\n
\r\n {\r\n return {\r\n value: x?.Id,\r\n label: x?.Description,\r\n };\r\n })}\r\n />\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n Cancel\r\n \r\n <> \r\n handleSubmit()}\r\n className=\"btn btn-primary btn-elevate\"\r\n >\r\n Save\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n );\r\n}\r\n","import React, { useEffect } from \"react\";\r\nimport { shallowEqual, useSelector } from \"react-redux\";\r\nimport { LoadingDialog } from \"../../../../../../../_metronic/_partials/controls\";\r\n\r\nexport function CustomersLoadingDialog() {\r\n // Customers Redux state\r\n const { isLoading } = useSelector(\r\n (state) => ({ isLoading: state.customers.listLoading }),\r\n shallowEqual\r\n );\r\n // looking for loading/dispatch\r\n useEffect(() => {}, [isLoading]);\r\n return ;\r\n}\r\n","import axios from \"axios\";\r\n\r\nexport const CUSTOMERS_URL = \"api/ManageContacts\";\r\n\r\n// CREATE => POST: add a new customer to the server\r\nexport function createCustomer(customer) {\r\n return axios.post(CUSTOMERS_URL, { customer });\r\n}\r\n\r\n// READ\r\nexport function getAllCustomers() {\r\n return axios.get(CUSTOMERS_URL);\r\n}\r\n\r\nexport function getCustomerById(customerId) {\r\n return axios.get(`${CUSTOMERS_URL}/${customerId}`);\r\n}\r\n\r\n// Method from server should return QueryResultsModel(items: any[], totalsCount: number)\r\n// items => filtered/sorted result\r\nexport function findCustomers(queryParams) {\r\n return axios.post(`${CUSTOMERS_URL}/find`, { queryParams });\r\n}\r\n\r\n// UPDATE => PUT: update the customer on the server\r\nexport function updateCustomer(customer) {\r\n return axios.put(`${CUSTOMERS_URL}/${customer.Id}`, { customer });\r\n}\r\n\r\n// UPDATE Status\r\nexport function updateStatusForCustomers(ids, status) {\r\n return axios.post(`${CUSTOMERS_URL}/updateStatusForCustomers`, {\r\n ids,\r\n status\r\n });\r\n}\r\n\r\n// DELETE => delete the customer from the server\r\nexport function deleteCustomer(customerId) {\r\n return axios.delete(`${CUSTOMERS_URL}/${customerId}`);\r\n}\r\n\r\n// DELETE Customers by ids\r\nexport function deleteCustomers(ids) {\r\n return axios.post(`${CUSTOMERS_URL}/deleteCustomers`, { ids });\r\n}\r\n","import {createSlice} from \"@reduxjs/toolkit\";\r\n\r\nconst initialCustomersState = {\r\n listLoading: false,\r\n actionsLoading: false,\r\n totalCount: 0,\r\n entities: null,\r\n customerForEdit: undefined,\r\n lastError: null\r\n};\r\nexport const callTypes = {\r\n list: \"list\",\r\n action: \"action\"\r\n};\r\n\r\nexport const customersSlice = createSlice({\r\n name: \"customers\",\r\n initialState: initialCustomersState,\r\n reducers: {\r\n catchError: (state, action) => {\r\n state.error = `${action.type}: ${action.payload.error}`;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = false;\r\n } else {\r\n state.actionsLoading = false;\r\n }\r\n },\r\n startCall: (state, action) => {\r\n state.error = null;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = true;\r\n } else {\r\n state.actionsLoading = true;\r\n }\r\n },\r\n // getCustomerById\r\n customerFetched: (state, action) => {\r\n state.actionsLoading = false;\r\n state.customerForEdit = action.payload.customerForEdit;\r\n state.error = null;\r\n },\r\n // findCustomers\r\n customersFetched: (state, action) => {\r\n const { totalCount, entities } = action.payload;\r\n state.listLoading = false;\r\n state.error = null;\r\n state.entities = entities;\r\n state.totalCount = totalCount;\r\n },\r\n // createCustomer\r\n customerCreated: (state, action) => {\r\n state.actionsLoading = false;\r\n state.error = null;\r\n state.entities.push(action.payload.customer);\r\n },\r\n // updateCustomer\r\n customerUpdated: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.map(entity => {\r\n if (entity.id === action.payload.customer.id) {\r\n return action.payload.customer;\r\n }\r\n return entity;\r\n });\r\n },\r\n // deleteCustomer\r\n customerDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(el => el.id !== action.payload.id);\r\n },\r\n // deleteCustomers\r\n customersDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(\r\n el => !action.payload.ids.includes(el.id)\r\n );\r\n },\r\n // customersUpdateState\r\n customersStatusUpdated: (state, action) => {\r\n state.actionsLoading = false;\r\n state.error = null;\r\n const { ids, status } = action.payload;\r\n state.entities = state.entities.map(entity => {\r\n if (ids.findIndex(id => id === entity.id) > -1) {\r\n entity.status = status;\r\n }\r\n return entity;\r\n });\r\n }\r\n }\r\n});\r\n","import * as requestFromServer from \"./customersCrud\";\r\nimport {customersSlice, callTypes} from \"./customersSlice\";\r\n\r\nconst {actions} = customersSlice;\r\n\r\nexport const fetchCustomers = queryParams => dispatch => {\r\n dispatch(actions.startCall({ callType: callTypes.list }));\r\n return requestFromServer\r\n .findCustomers(queryParams)\r\n .then(response => {\r\n const { totalCount, entities } = response.data;\r\n dispatch(actions.customersFetched({ totalCount, entities }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't find customers\";\r\n dispatch(actions.catchError({ error, callType: callTypes.list }));\r\n });\r\n};\r\n\r\nexport const fetchCustomer = id => dispatch => {\r\n if (!id) {\r\n return dispatch(actions.customerFetched({ customerForEdit: undefined }));\r\n }\r\n\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .getCustomerById(id)\r\n .then(response => {\r\n const customer = response.data;\r\n dispatch(actions.customerFetched({ customerForEdit: customer }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't find customer\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const deleteCustomer = id => dispatch => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .deleteCustomer(id)\r\n .then(response => {\r\n dispatch(actions.customerDeleted({ id }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't delete customer\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const createCustomer = customerForCreation => dispatch => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .createCustomer(customerForCreation)\r\n .then(response => {\r\n const { customer } = response.data;\r\n dispatch(actions.customerCreated({ customer }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't create customer\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const updateCustomer = customer => dispatch => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .updateCustomer(customer)\r\n .then(() => {\r\n dispatch(actions.customerUpdated({ customer }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't update customer\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const updateCustomersStatus = (ids, status) => dispatch => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .updateStatusForCustomers(ids, status)\r\n .then(() => {\r\n dispatch(actions.customersStatusUpdated({ ids, status }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't update customers status\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const deleteCustomers = ids => dispatch => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .deleteCustomers(ids)\r\n .then(() => {\r\n dispatch(actions.customersDeleted({ ids }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't delete customers\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n","import React, { useState, useEffect } from \"react\";\r\nimport { shallowEqual, useSelector } from \"react-redux\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport {ModalProgressBar} from \"../../../../../../../_metronic/_partials/controls\";\r\n\r\nexport function CustomerEditDialogHeader({ id }) {\r\n // Customers Redux state\r\n const { customerForEdit, actionsLoading } = useSelector(\r\n (state) => ({\r\n customerForEdit: state.customers.customerForEdit,\r\n actionsLoading: state.customers.actionsLoading,\r\n }),\r\n shallowEqual\r\n );\r\n\r\n const [title, setTitle] = useState(\"\");\r\n // Title couting\r\n useEffect(() => {\r\n let _title = id ? \"\" : \"New Contact\";\r\n if (customerForEdit && id) {\r\n _title = `Edit Contact '${customerForEdit.Name} ${customerForEdit.LastName == null ? \"\" : customerForEdit.LastName}'`;\r\n }\r\n\r\n setTitle(_title);\r\n // eslint-disable-next-line\r\n }, [customerForEdit, actionsLoading]);\r\n\r\n return (\r\n <>\r\n {actionsLoading && }\r\n \r\n {title}\r\n \r\n \r\n );\r\n}\r\n","import React from \"react\";\r\nimport {useField, useFormikContext} from \"formik\";\r\nimport DatePicker from \"react-datepicker\";\r\n\r\nconst getFieldCSSClasses = (touched, errors) => {\r\n const classes = [\"form-control\"];\r\n if (touched && errors) {\r\n classes.push(\"is-invalid\");\r\n }\r\n\r\n if (touched && !errors) {\r\n classes.push(\"is-valid\");\r\n }\r\n\r\n return classes.join(\" \");\r\n};\r\n\r\nexport function DateFieldFilter({ ...props }) {\r\n const { setFieldValue, errors, touched } = useFormikContext();\r\n const [field] = useField(props);\r\n return (\r\n <>\r\n {props.label && }\r\n {\r\n setFieldValue(field.name, val);\r\n }}\r\n />\r\n {errors[field.name] && touched[field.name] ? (\r\n
\r\n {errors[field.name].toString()}\r\n
\r\n ) : (\r\n
\r\n
\r\n )}\r\n \r\n );\r\n}\r\n","import React, { useEffect } from \"react\";\r\nimport clsx from \"clsx\";\r\nimport Select from \"react-select\";\r\nimport { emphasize, makeStyles, useTheme } from \"@material-ui/core/styles\";\r\nimport Typography from \"@material-ui/core/Typography\";\r\nimport NoSsr from \"@material-ui/core/NoSsr\";\r\nimport TextField from \"@material-ui/core/TextField\";\r\nimport Paper from \"@material-ui/core/Paper\";\r\nimport Chip from \"@material-ui/core/Chip\";\r\nimport MenuItem from \"@material-ui/core/MenuItem\";\r\nimport CancelIcon from \"@material-ui/icons/Cancel\";\r\nimport PropTypes from \"prop-types\";\r\nimport { Field } from \"formik\";\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n root: {\r\n flexGrow: 1,\r\n },\r\n input: {\r\n display: \"flex\",\r\n padding: 0,\r\n height: \"auto\",\r\n },\r\n valueContainer: {\r\n display: \"flex\",\r\n flexWrap: \"wrap\",\r\n flex: 1,\r\n alignItems: \"center\",\r\n overflow: \"hidden\",\r\n },\r\n chip: {\r\n margin: theme.spacing(0.5, 0.25),\r\n },\r\n chipFocused: {\r\n backgroundColor: emphasize(\r\n theme.palette.type === \"light\"\r\n ? theme.palette.grey[300]\r\n : theme.palette.grey[700],\r\n 0.08\r\n ),\r\n },\r\n noOptionsMessage: {\r\n padding: theme.spacing(1, 2),\r\n },\r\n singleValue: {\r\n fontSize: 14,\r\n },\r\n placeholder: {\r\n position: \"absolute\",\r\n left: 2,\r\n bottom: 6,\r\n fontSize: 14,\r\n },\r\n paper: {\r\n position: \"absolute\",\r\n zIndex: 1,\r\n marginTop: theme.spacing(1),\r\n left: 0,\r\n right: 0,\r\n },\r\n divider: {\r\n height: theme.spacing(2),\r\n },\r\n}));\r\n\r\nfunction NoOptionsMessage(props) {\r\n return (\r\n \r\n {props.children}\r\n \r\n );\r\n}\r\n\r\nNoOptionsMessage.propTypes = {\r\n children: PropTypes.node,\r\n innerProps: PropTypes.object,\r\n selectProps: PropTypes.object.isRequired,\r\n};\r\n\r\nfunction inputComponent({ inputRef, ...props }) {\r\n return
;\r\n}\r\n\r\ninputComponent.propTypes = {\r\n inputRef: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\r\n};\r\n\r\nfunction Control(props) {\r\n const {\r\n children,\r\n innerProps,\r\n innerRef,\r\n selectProps: { classes, TextFieldProps },\r\n } = props;\r\n\r\n return (\r\n \r\n );\r\n}\r\n\r\nControl.propTypes = {\r\n children: PropTypes.node,\r\n innerProps: PropTypes.object,\r\n innerRef: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\r\n selectProps: PropTypes.object.isRequired,\r\n};\r\n\r\nfunction Option(props) {\r\n return (\r\n \r\n {props.children}\r\n \r\n );\r\n}\r\n\r\nOption.propTypes = {\r\n children: PropTypes.node,\r\n innerProps: PropTypes.object,\r\n innerRef: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\r\n isFocused: PropTypes.bool,\r\n isSelected: PropTypes.bool,\r\n};\r\n\r\nfunction Placeholder(props) {\r\n return (\r\n \r\n {props.children}\r\n \r\n );\r\n}\r\n\r\nPlaceholder.propTypes = {\r\n children: PropTypes.node,\r\n innerProps: PropTypes.object,\r\n selectProps: PropTypes.object.isRequired,\r\n};\r\n\r\nfunction SingleValue(props) {\r\n return (\r\n \r\n {props.children}\r\n \r\n );\r\n}\r\n\r\nSingleValue.propTypes = {\r\n children: PropTypes.node,\r\n innerProps: PropTypes.object,\r\n selectProps: PropTypes.object.isRequired,\r\n};\r\n\r\nfunction ValueContainer(props) {\r\n return (\r\n
\r\n {props.children}\r\n
\r\n );\r\n}\r\n\r\nValueContainer.propTypes = {\r\n children: PropTypes.node,\r\n selectProps: PropTypes.object.isRequired,\r\n};\r\n\r\nfunction MultiValue(props) {\r\n return (\r\n }\r\n />\r\n );\r\n}\r\n\r\nMultiValue.propTypes = {\r\n children: PropTypes.node,\r\n isFocused: PropTypes.bool,\r\n removeProps: PropTypes.object.isRequired,\r\n selectProps: PropTypes.object.isRequired,\r\n};\r\n\r\nfunction Menu(props) {\r\n return (\r\n \r\n {props.children}\r\n \r\n );\r\n}\r\n\r\nMenu.propTypes = {\r\n children: PropTypes.node,\r\n innerProps: PropTypes.object,\r\n selectProps: PropTypes.object,\r\n};\r\n\r\nconst components = {\r\n Control,\r\n Menu,\r\n MultiValue,\r\n NoOptionsMessage,\r\n Option,\r\n Placeholder,\r\n SingleValue,\r\n ValueContainer,\r\n};\r\n\r\nexport function DownshiftMultipleSelect({\r\n suggestions,\r\n setFieldValue,\r\n handleSubmit,\r\n FieldName,\r\n DefalutValue,\r\n}) {\r\n const classes = useStyles();\r\n const theme = useTheme();\r\n const [single, setSingle] = React.useState(DefalutValue || null);\r\n const [suggestionStat, setsuggestionStat] = React.useState([]);\r\n useEffect(() => {\r\n var a = [{ value: 0, label: \"\" }];\r\n if (suggestions) {\r\n suggestions.map((suggestion) => {\r\n a.push({\r\n value: suggestion.Id,\r\n label: (suggestion.Code + \" - \" + suggestion.CompanyName)\r\n });\r\n });\r\n }\r\n setsuggestionStat(a);\r\n }, [suggestions]);\r\n useEffect(() => {\r\n if (single != null) {\r\n setFieldValue(FieldName, single.value);\r\n }\r\n }, [single]);\r\n\r\n useEffect(() => {\r\n if (DefalutValue != null && DefalutValue.value) {\r\n handleChangeSingle(DefalutValue);\r\n }\r\n }, [DefalutValue]);\r\n\r\n function handleChangeSingle(value) {\r\n setSingle(value);\r\n }\r\n const selectStyles = {\r\n input: (base) => ({\r\n ...base,\r\n color: theme.palette.text.primary,\r\n \"& input\": {\r\n font: \"inherit\",\r\n },\r\n }),\r\n };\r\n return (\r\n
\r\n \r\n \r\n \r\n
\r\n );\r\n}\r\n","// Form is based on Formik\r\n// Data validation is based on Yup\r\n// Please, be familiar with article first:\r\n// https://hackernoon.com/react-form-validation-with-formik-and-yup-8b76bda62e10\r\nimport React, { useEffect, useState } from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { Formik, Form, Field } from \"formik\";\r\n\r\nimport * as Yup from \"yup\";\r\nimport {\r\n CreatableSelect3,\r\n Input,\r\n Select\r\n} from \"../../../../../../../_metronic/_partials/controls\";\r\nimport { makeStyles } from '@material-ui/core/styles';\r\nimport axios from \"axios\";\r\nimport { Notification } from \"../../../../../Notification\";\r\nimport LinearProgress from \"@material-ui/core/LinearProgress\";\r\nimport { DateFieldFilter } from '../DateFieldFilter';\r\nimport { DownshiftMultipleSelect } from \"./DownshiftMultipleSelect\";\r\nimport CreatableSelect from \"react-select/creatable\";\r\nimport $ from \"jquery\";\r\nfunction formatDate(date) {\r\n var d = new Date(date),\r\n month = '' + (d.getMonth() + 1),\r\n day = '' + d.getDate(),\r\n year = d.getFullYear();\r\n\r\n if (month.length < 2)\r\n month = '0' + month;\r\n if (day.length < 2)\r\n day = '0' + day;\r\n\r\n const result = [month, day, year].join('/');\r\n if (result !== \"NaN/NaN/NaN\") {\r\n return result;\r\n } else {\r\n return \"--/--/----\";\r\n }\r\n}\r\n// Validation schema\r\nconst useStyles = makeStyles(theme => ({\r\n container: {\r\n display: 'flex',\r\n flexWrap: 'wrap',\r\n },\r\n textField: {\r\n marginLeft: theme.spacing(1),\r\n marginRight: theme.spacing(1),\r\n },\r\n}));\r\nlet CustomerEditSchema;\r\n\r\nCustomerEditSchema = Yup.object().shape({\r\n // FirstName: Yup.string()\r\n // .min(3, \"Minimum 3 symbols\")\r\n // .max(50, \"Maximum 50 symbols\")\r\n // .required(\"Name is required\"),\r\n // LastName: Yup.string()\r\n // .min(3, \"Minimum 3 symbols\")\r\n // .max(50, \"Maximum 50 symbols\")\r\n // .required(\"Name is required\"),\r\n // Address: Yup.string()\r\n // .min(4, \"Minimum 4 symbols\")\r\n // .required(\"Address is required\"),\r\n\r\n // City: Yup.string()\r\n // .min(3, \"Minimum 3 symbols\")\r\n // .required(\"City is required\"),\r\n\r\n // State: Yup.string()\r\n // .required(\"State is required\"),\r\n});\r\nfunction SetValuefunction(id, value) {\r\n var element = document.getElementById(id);\r\n if (element != null)\r\n setTimeout(() => {\r\n element.value = value;\r\n }, 500);\r\n}\r\nexport function CustomerEditForm({\r\n saveCustomer,\r\n customer,\r\n actionsLoading,\r\n onHide,\r\n}) {\r\n const [showProgress, setShowProgress] = useState(false);\r\n const [showStateProgress, setShowStateProgress] = useState(false);\r\n const [companiesList, setcompaniesList] = useState([]);\r\n const [countriesList, setcountriesList] = useState([]);\r\n const [states, setStates] = useState([]);\r\n const [gendersList, setgendersList] = useState([]);\r\n const [CategoriesList, setCategoriesList] = useState([]);\r\n const [companyValue, setValueCompany] = useState({});\r\n useEffect(() => {\r\n fetchOrderAsync();\r\n }, []);\r\n useEffect(() => {\r\n if (customer.Id !== undefined) {\r\n const obj = {\r\n label: customer.CompanyCode + \" - \" + customer.CompanyName,\r\n value: customer.CompanyId\r\n };\r\n setValueCompany(obj);\r\n } else {\r\n const obj = {\r\n label: \"Select\",\r\n value: 0\r\n };\r\n setValueCompany(obj);\r\n }\r\n if(customer.State){\r\n setStateValue({value : customer.State,label : customer.State});\r\n }\r\n if(customer.Gender){\r\n setGenderValue({value : customer.GenderId,label : customer.Gender});\r\n }\r\n if(customer.CategoryId){\r\n setCategoryValue({value : customer.CategoryId,label : customer.Category});\r\n }\r\n }, [customer]);\r\n const fetchOrderAsync = async () => {\r\n try {\r\n setShowProgress(true);\r\n const result = await axios.get(\"api/ManageContacts/GetAllApi\");\r\n setcompaniesList(result.data[\"CompaniesList\"]);\r\n setcountriesList(result.data[\"CountriesList\"]);\r\n setgendersList(result.data[\"GendersList\"]);\r\n setCategoriesList(result.data[\"CategoriesList\"]);\r\n if (customer.id === undefined) {\r\n $(\"#countryIdSelect option[value=US]\").prop('selected', 'selected');\r\n handleCountryChangeUS(\"US\");\r\n }\r\n setShowProgress(false);\r\n } catch (e) { }\r\n };\r\n var birthDate = customer.BirthDate || false;\r\n if (birthDate) {\r\n $(\"#birthDateField\").val(formatDate(customer.BirthDate));\r\n }\r\n const classes = useStyles();\r\n const handleCountryChange = async (event) => {\r\n setShowStateProgress(true);\r\n setStates([]);\r\n if (event.target.value !== \"\" && event.target.vale !== null) {\r\n const result = await axios.get(`api/companyinfo/getstates/${event.target.value}`);\r\n if (result.status == 200) {\r\n if (result.data.length > 0)\r\n setStates(result.data);\r\n else\r\n Notification(\"warning\", \"This Country doesn't have any state.\");\r\n }\r\n }\r\n setShowStateProgress(false);\r\n }\r\n const handleCountryChangeUS = async (event) => {\r\n setShowStateProgress(true);\r\n setStates([]);\r\n if (event !== \"\" && event !== null) {\r\n const result = await axios.get(`api/companyinfo/getstates/${event}`);\r\n if (result.status == 200) {\r\n if (result.data.length > 0)\r\n setStates(result.data);\r\n else\r\n Notification(\"warning\", \"This Country doesn't have any state.\");\r\n }\r\n }\r\n setShowStateProgress(false);\r\n }\r\n //useStates Values Formik\r\n const [genderValue,setGenderValue] = useState({value : \"\",label : \"Select\"});\r\n const [categoryValue,setCategoryValue] = useState({value : \"\",label : \"Select\"});\r\n const [stateValue,setStateValue] = useState({value : \"\",label : \"Select\"});\r\n return (\r\n <>\r\n {\r\n if (values.Name === \"\") {\r\n Notification(\"error\", \"Name is required\");\r\n return false;\r\n }\r\n if (values.State === \"\") {\r\n Notification(\"error\", \"State is required\");\r\n return false;\r\n }\r\n if (values.CompanyId === undefined) {\r\n Notification(\"error\", \"Company is required\");\r\n return false;\r\n }\r\n values.CountryId = document.getElementById(\"countryIdSelect\").value;\r\n saveCustomer(values);\r\n }}\r\n >\r\n {({ handleSubmit, setFieldValue }) => (\r\n <>\r\n \r\n {actionsLoading && (\r\n
\r\n
\r\n
\r\n )}\r\n
\r\n
\r\n {/* First Name */}\r\n
\r\n \r\n {\r\n return {\r\n value: x.Id,\r\n label: x?.Name,\r\n };\r\n })}\r\n value={genderValue}\r\n onChange={(newValue) => {\r\n setGenderValue(newValue);\r\n setFieldValue(\"Gender\", newValue?.value);\r\n }}\r\n />\r\n {showProgress && }\r\n
\r\n
\r\n \r\n {\r\n return {\r\n value: x.Id,\r\n label: x?.Name,\r\n };\r\n })}\r\n value={categoryValue}\r\n onChange={(newValue) => {\r\n setCategoryValue(newValue);\r\n setFieldValue(\"CategoryId\", newValue?.value);\r\n }}\r\n />\r\n {showProgress && }\r\n
\r\n {/* Last Name */}\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n {showProgress && }\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n {/* Email */}\r\n
\r\n
\r\n \r\n
\r\n {/* Date of birth */}\r\n
\r\n \r\n
\r\n {/* IP Address */}\r\n
\r\n \r\n {\r\n handleCountryChange(event);\r\n }}\r\n >\r\n \r\n {countriesList.map((item, index) => (\r\n \r\n ))}\r\n \r\n\r\n {showProgress && }\r\n
\r\n
\r\n \r\n {\r\n return {\r\n value: x.Name,\r\n label: x?.Name,\r\n };\r\n })}\r\n value={stateValue}\r\n onChange={(newValue) => {\r\n setStateValue(newValue);\r\n setFieldValue(\"State\", newValue?.value);\r\n }}\r\n />\r\n {showStateProgress && }\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n Cancel\r\n \r\n <> \r\n handleSubmit()}\r\n className=\"btn btn-primary btn-elevate\"\r\n >\r\n Save\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n );\r\n}\r\n","export const CustomerStatusCssClasses = [\"danger\", \"success\", \"info\", \"\"];\r\nexport const CustomerStatusTitles = [\"Inactive\", \"Active\"];\r\nexport const CustomerTypeCssClasses = [\"success\", \"primary\", \"\"];\r\nexport const CustomerTypeTitles = [\"Business\", \"Individual\", \"\"];\r\nexport const defaultSorted = [{ dataField: \"id\", order: \"desc\" }];\r\nexport const sizePerPageList = [\r\n { text: \"3\", value: 3 },\r\n { text: \"5\", value: 5 },\r\n { text: \"10\", value: 10 }\r\n];\r\nexport const initialFilter = {\r\n filter: {\r\n lastName: \"\",\r\n firstName: \"\",\r\n email: \"\",\r\n ipAddress: \"\"\r\n },\r\n sortOrder: \"asc\", // asc||desc\r\n sortField: \"id\",\r\n pageNumber: 1,\r\n pageSize: 10\r\n};\r\n","import React, {createContext, useContext, useState, useCallback} from \"react\";\r\nimport {isEqual, isFunction} from \"lodash\";\r\nimport {initialFilter} from \"./CustomersUIHelpers\";\r\n\r\nconst CustomersUIContext = createContext();\r\n\r\nexport function useCustomersUIContext() {\r\n return useContext(CustomersUIContext);\r\n}\r\n\r\nexport const CustomersUIConsumer = CustomersUIContext.Consumer;\r\n\r\nexport function CustomersUIProvider({customersUIEvents, children}) {\r\n const [queryParams, setQueryParamsBase] = useState(initialFilter);\r\n const [ids, setIds] = useState([]);\r\n const setQueryParams = useCallback(nextQueryParams => {\r\n setQueryParamsBase(prevQueryParams => {\r\n if (isFunction(nextQueryParams)) {\r\n nextQueryParams = nextQueryParams(prevQueryParams);\r\n }\r\n\r\n if (isEqual(prevQueryParams, nextQueryParams)) {\r\n return prevQueryParams;\r\n }\r\n\r\n return nextQueryParams;\r\n });\r\n }, []);\r\n\r\n const initCustomer = {\r\n id: undefined,\r\n Name:\"\",\r\n firstName: \"\",\r\n CompanyId:0,\r\n lastName: \"\",\r\n Address:\"\",\r\n City:\"\",\r\n State:\"\",\r\n email: \"\",\r\n userName: \"\",\r\n gender: \"Female\",\r\n CategoryId:\"\",\r\n status: 0,\r\n dateOfBbirth: \"\",\r\n ipAddress: \"\",\r\n type: 1\r\n };\r\n\r\n const value = {\r\n queryParams,\r\n setQueryParamsBase,\r\n ids,\r\n setIds,\r\n setQueryParams,\r\n initCustomer,\r\n newCustomerButtonClick: customersUIEvents.newCustomerButtonClick,\r\n openEditCustomerDialog: customersUIEvents.openEditCustomerDialog,\r\n openDeleteCustomerDialog: customersUIEvents.openDeleteCustomerDialog,\r\n openDeleteCustomersDialog: customersUIEvents.openDeleteCustomersDialog,\r\n openFetchCustomersDialog: customersUIEvents.openFetchCustomersDialog,\r\n openUpdateCustomersStatusDialog: customersUIEvents.openUpdateCustomersStatusDialog\r\n };\r\n\r\n return {children};\r\n}","import React, { useEffect, useMemo } from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { shallowEqual, useDispatch, useSelector } from \"react-redux\";\r\nimport * as actions from \"../../../../_redux/Transload/ManageContacts/customersActions\";\r\nimport { CustomerEditDialogHeader } from \"./CustomerEditDialogHeader\";\r\nimport { CustomerEditForm } from \"./CustomerEditForm\";\r\nimport { useCustomersUIContext } from \"../CustomersUIContext\";\r\n\r\nexport function CustomerEditDialog({ id, show, onHide }) {\r\n // Customers UI Context\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n initCustomer: customersUIContext.initCustomer,\r\n };\r\n }, [customersUIContext]);\r\n\r\n // Customers Redux state\r\n const dispatch = useDispatch();\r\n const { actionsLoading, customerForEdit } = useSelector(\r\n (state) => ({\r\n actionsLoading: state.customers.actionsLoading,\r\n customerForEdit: state.customers.customerForEdit,\r\n }),\r\n shallowEqual\r\n );\r\n\r\n useEffect(() => {\r\n // server call for getting Customer by id\r\n dispatch(actions.fetchCustomer(id));\r\n }, [id, dispatch]);\r\n\r\n // server request for saving customer\r\n const saveCustomer = (customer) => {\r\n if (!id) {\r\n // server request for creating customer\r\n dispatch(actions.createCustomer(customer)).then(() =>onHide());\r\n } else {\r\n // server request for updating customer\r\n dispatch(actions.updateCustomer(customer)).then(() => onHide());\r\n }\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n}\r\n","import React, { useEffect, useMemo } from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { shallowEqual, useDispatch, useSelector } from \"react-redux\";\r\nimport {ModalProgressBar} from \"../../../../../../../_metronic/_partials/controls\";\r\nimport * as actions from \"../../../../_redux/Transload/ManageContacts/customersActions\";\r\nimport {useCustomersUIContext} from \"../CustomersUIContext\";\r\n\r\nexport function CustomerDeleteDialog({ id, show, onHide }) {\r\n // Customers UI Context\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n setIds: customersUIContext.setIds,\r\n queryParams: customersUIContext.queryParams\r\n };\r\n }, [customersUIContext]);\r\n\r\n // Customers Redux state\r\n const dispatch = useDispatch();\r\n const { isLoading } = useSelector(\r\n (state) => ({ isLoading: state.customers.actionsLoading }),\r\n shallowEqual\r\n );\r\n\r\n // if !id we should close modal\r\n useEffect(() => {\r\n if (!id) {\r\n onHide();\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [id]);\r\n\r\n // looking for loading/dispatch\r\n useEffect(() => {}, [isLoading, dispatch]);\r\n\r\n const deleteCustomer = () => {\r\n // server request for deleting customer by id\r\n dispatch(actions.deleteCustomer(id)).then(() => {\r\n // refresh list after deletion\r\n dispatch(actions.fetchCustomers(customersUIProps.queryParams));\r\n // clear selections list\r\n customersUIProps.setIds([]);\r\n // closing delete modal\r\n onHide();\r\n });\r\n };\r\n\r\n return (\r\n \r\n {/*begin::Loading*/}\r\n {isLoading && }\r\n {/*end::Loading*/}\r\n \r\n \r\n Contact Delete\r\n \r\n \r\n \r\n {!isLoading && (\r\n Are you sure to permanently delete this contact?\r\n )}\r\n {isLoading && Contact is deleting...}\r\n \r\n \r\n
\r\n \r\n Cancel\r\n \r\n <> \r\n \r\n Delete\r\n \r\n
\r\n
\r\n \r\n );\r\n}\r\n","import React, { useEffect, useMemo } from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { shallowEqual, useDispatch, useSelector } from \"react-redux\";\r\nimport * as actions from \"../../../../_redux/Transload/ManageContacts/customersActions\";\r\nimport { useCustomersUIContext } from \"../CustomersUIContext\";\r\nimport {ModalProgressBar} from \"../../../../../../../_metronic/_partials/controls\";\r\n\r\nexport function CustomersDeleteDialog({ show, onHide }) {\r\n // Customers UI Context\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n ids: customersUIContext.ids,\r\n setIds: customersUIContext.setIds,\r\n queryParams: customersUIContext.queryParams,\r\n };\r\n }, [customersUIContext]);\r\n\r\n // Customers Redux state\r\n const dispatch = useDispatch();\r\n const { isLoading } = useSelector(\r\n (state) => ({ isLoading: state.customers.actionsLoading }),\r\n shallowEqual\r\n );\r\n\r\n // if customers weren't selected we should close modal\r\n useEffect(() => {\r\n if (!customersUIProps.ids || customersUIProps.ids.length === 0) {\r\n onHide();\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [customersUIProps.ids]);\r\n\r\n // looking for loading/dispatch\r\n useEffect(() => {}, [isLoading, dispatch]);\r\n\r\n const deleteCustomers = () => {\r\n // server request for deleting customer by selected ids\r\n dispatch(actions.deleteCustomers(customersUIProps.ids)).then(() => {\r\n // refresh list after deletion\r\n dispatch(actions.fetchCustomers(customersUIProps.queryParams)).then(\r\n () => {\r\n // clear selections list\r\n customersUIProps.setIds([]);\r\n // closing delete modal\r\n onHide();\r\n }\r\n );\r\n });\r\n };\r\n\r\n return (\r\n \r\n {/*begin::Loading*/}\r\n {isLoading && }\r\n {/*end::Loading*/}\r\n \r\n \r\n Customers Delete\r\n \r\n \r\n \r\n {!isLoading && (\r\n Are you sure to permanently delete selected customers?\r\n )}\r\n {isLoading && Customer are deleting...}\r\n \r\n \r\n
\r\n \r\n Cancel\r\n \r\n <> \r\n \r\n Delete\r\n \r\n
\r\n
\r\n \r\n );\r\n}\r\n","import React, { useEffect, useMemo } from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { shallowEqual, useSelector } from \"react-redux\";\r\nimport { CustomerStatusCssClasses } from \"../CustomersUIHelpers\";\r\nimport { useCustomersUIContext } from \"../CustomersUIContext\";\r\n\r\nconst selectedCustomers = (entities, ids) => {\r\n const _customers = [];\r\n ids.forEach((id) => {\r\n const customer = entities.find((el) => el.id === id);\r\n if (customer) {\r\n _customers.push(customer);\r\n }\r\n });\r\n return _customers;\r\n};\r\n\r\nexport function CustomersFetchDialog({ show, onHide }) {\r\n // Customers UI Context\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n ids: customersUIContext.ids,\r\n };\r\n }, [customersUIContext]);\r\n\r\n // Customers Redux state\r\n const { customers } = useSelector(\r\n (state) => ({\r\n customers: selectedCustomers(\r\n state.customers.entities,\r\n customersUIProps.ids\r\n ),\r\n }),\r\n shallowEqual\r\n );\r\n\r\n // if customers weren't selected we should close modal\r\n useEffect(() => {\r\n if (!customersUIProps.ids || customersUIProps.ids.length === 0) {\r\n onHide();\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [customersUIProps.ids]);\r\n\r\n return (\r\n \r\n \r\n \r\n Fetch selected elements\r\n \r\n \r\n \r\n
\r\n {customers.map((customer) => (\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n ID: {customer.id}\r\n \r\n {customer.lastName}, {customer.firstName} \r\n
\r\n
\r\n ))}\r\n
\r\n \r\n \r\n
\r\n \r\n Cancel\r\n \r\n <> \r\n \r\n Ok\r\n \r\n
\r\n
\r\n \r\n );\r\n}\r\n","import React, { useEffect, useState, useMemo } from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { shallowEqual, useDispatch, useSelector } from \"react-redux\";\r\nimport { CustomerStatusCssClasses } from \"../CustomersUIHelpers\";\r\nimport * as actions from \"../../../../_redux/Transload/ManageContacts/customersActions\";\r\nimport { useCustomersUIContext } from \"../CustomersUIContext\";\r\n\r\nconst selectedCustomers = (entities, ids) => {\r\n const _customers = [];\r\n ids.forEach((id) => {\r\n const customer = entities.find((el) => el.id === id);\r\n if (customer) {\r\n _customers.push(customer);\r\n }\r\n });\r\n return _customers;\r\n};\r\n\r\nexport function CustomersUpdateStateDialog({ show, onHide }) {\r\n // Customers UI Context\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n ids: customersUIContext.ids,\r\n setIds: customersUIContext.setIds,\r\n queryParams: customersUIContext.queryParams,\r\n };\r\n }, [customersUIContext]);\r\n\r\n // Customers Redux state\r\n const { customers, isLoading } = useSelector(\r\n (state) => ({\r\n customers: selectedCustomers(\r\n state.customers.entities,\r\n customersUIProps.ids\r\n ),\r\n isLoading: state.customers.actionsLoading,\r\n }),\r\n shallowEqual\r\n );\r\n\r\n // if !id we should close modal\r\n useEffect(() => {\r\n if (!customersUIProps.ids || customersUIProps.ids.length === 0) {\r\n onHide();\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [customersUIProps.ids]);\r\n\r\n const [status, setStatus] = useState(0);\r\n\r\n const dispatch = useDispatch();\r\n const updateStatus = () => {\r\n // server request for update customers status by selected ids\r\n dispatch(actions.updateCustomersStatus(customersUIProps.ids, status)).then(\r\n () => {\r\n // refresh list after deletion\r\n dispatch(actions.fetchCustomers(customersUIProps.queryParams)).then(\r\n () => {\r\n // clear selections list\r\n customersUIProps.setIds([]);\r\n // closing delete modal\r\n onHide();\r\n }\r\n );\r\n }\r\n );\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n Status has been updated for selected customers\r\n \r\n \r\n \r\n {/*begin::Loading*/}\r\n {isLoading && (\r\n
\r\n
\r\n
\r\n )}\r\n {/*end::Loading*/}\r\n\r\n
\r\n {customers.map((customer) => (\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n ID: {customer.id}\r\n \r\n \r\n {customer.lastName}, {customer.firstName}\r\n \r\n
\r\n
\r\n ))}\r\n
\r\n \r\n \r\n
\r\n setStatus(+e.target.value)}\r\n >\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n Cancel\r\n \r\n \r\n Update Status\r\n \r\n
\r\n
\r\n \r\n );\r\n}\r\n","import React, { useMemo,useState } from \"react\";\r\nimport { Formik } from \"formik\";\r\nimport { isEqual } from \"lodash\";\r\nimport { useCustomersUIContext } from \"../CustomersUIContext\";\r\nimport Menu from '@material-ui/core/Menu';\r\nimport MenuItem from '@material-ui/core/MenuItem';\r\nimport ListItemIcon from '@material-ui/core/ListItemIcon';\r\nimport ListItemText from '@material-ui/core/ListItemText';\r\nimport { withStyles } from '@material-ui/core/styles';\r\nimport { makeStyles } from '@material-ui/core/styles';\r\nimport Icon from '@material-ui/core/Icon';\r\nimport Button from '@material-ui/core/Button';\r\nimport { Form, Modal, Col, Tabs, Tab, Table, Spinner, OverlayTrigger, Tooltip, ButtonToolbar } from \"react-bootstrap\";\r\nimport { Export } from \"../../../../../../../_metronic/_helpers/ATHelpers\";\r\nimport axios from \"axios\";\r\n\r\n//Export Filter\r\n\r\nconst StyledMenu = withStyles({\r\n paper: {\r\n border: '1px solid #d3d4d5',\r\n },\r\n})(props => (\r\n \r\n));\r\nconst StyledMenuItem = withStyles(theme => ({\r\n root: {\r\n '&:focus': {\r\n backgroundColor: theme.palette.primary.main,\r\n '& .MuiListItemIcon-root, & .MuiListItemText-primary': {\r\n color: theme.palette.common.white,\r\n },\r\n },\r\n },\r\n}))(MenuItem);\r\nconst useStyles = makeStyles(theme => ({\r\n button: {\r\n margin: theme.spacing(1),\r\n },\r\n leftIcon: {\r\n marginRight: theme.spacing(1),\r\n },\r\n rightIcon: {\r\n marginLeft: theme.spacing(1),\r\n },\r\n iconSmall: {\r\n fontSize: 20,\r\n },\r\n}));\r\nconst prepareFilter = (queryParams, values) => {\r\n const { searchText, ReLoadTable } = values;\r\n const newQueryParams = { ...queryParams };\r\n const filter = {};\r\n filter.ReLoadTable = ReLoadTable || false;\r\n if (searchText) {\r\n filter.Address = searchText;\r\n }\r\n newQueryParams.filter = filter;\r\n return newQueryParams;\r\n};\r\n\r\nexport function CustomersFilter({ listLoading }) {\r\n // Customers UI Context\r\n const customersUIContext = useCustomersUIContext();\r\n const [QueryFilter, setQueryFilter] = useState(\"\");\r\n\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n queryParams: customersUIContext.queryParams,\r\n setQueryParams: customersUIContext.setQueryParams,\r\n };\r\n }, [customersUIContext]);\r\n\r\n // queryParams, setQueryParams,\r\n const applyFilter = (values) => {\r\n const newQueryParams = prepareFilter(customersUIProps.queryParams, values);\r\n if (!isEqual(newQueryParams, customersUIProps.queryParams)) {\r\n newQueryParams.pageNumber = 1;\r\n // update list by queryParams\r\n setQueryFilter(newQueryParams);\r\n \r\n customersUIProps.setQueryParams(newQueryParams);\r\n }\r\n };\r\n const useStyles = makeStyles(theme => ({\r\n container: {\r\n display: 'flex',\r\n flexWrap: 'wrap',\r\n },\r\n textField: {\r\n marginLeft: theme.spacing(1),\r\n marginRight: theme.spacing(1),\r\n width: 200,\r\n },\r\n }));\r\n const classes = useStyles();\r\n const [anchorEl, setAnchorEl] = React.useState(null);\r\n function handleClick(event) {\r\n setAnchorEl(event.currentTarget);\r\n }\r\n function handleClose() {\r\n setAnchorEl(null);\r\n }\r\n\r\n async function fetchMyAPI2(type, entityName) {\r\n var filter = QueryFilter;\r\n if (filter) {\r\n filter.pageSize=100000;\r\n const result = await axios.post(`api/ManageContacts/filter`, { \"queryParams\": filter });\r\n Export(result.data.entities, type, entityName);\r\n } else {\r\n const result = await axios.post(`api/ManageContacts/filter`, { \"queryParams\": { \"filter\": {\"ReLoadTable\": false }, \"sortOrder\": \"asc\", \"sortField\": \"id\", \"pageNumber\": 1, \"pageSize\": 100000 } });\r\n Export(result.data.entities, type, entityName);\r\n }\r\n }\r\n return (\r\n <>\r\n {\r\n applyFilter(values);\r\n }}\r\n >\r\n {({\r\n values,\r\n handleSubmit,\r\n handleBlur,\r\n handleChange,\r\n setFieldValue,\r\n }) => (\r\n
\r\n {\r\n if (e.target.value == \"0\")\r\n document.getElementById(\"ReLoadTableId\").value = 1;\r\n else document.getElementById(\"ReLoadTableId\").value = 0;\r\n setFieldValue(\"ReLoadTable\", e.target.value);\r\n handleSubmit();\r\n }}\r\n />\r\n
\r\n
\r\n {\r\n setFieldValue(\"searchText\", e.target.value);\r\n handleSubmit();\r\n }}\r\n />\r\n \r\n Search in all fields\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n {\r\n fetchMyAPI2(\"excel\", \"Contacts\");\r\n\r\n }}>\r\n \r\n \r\n \r\n \r\n \r\n {\r\n fetchMyAPI2(\"csv\", \"Contacts\");\r\n }} >\r\n \r\n \r\n \r\n \r\n \r\n {\r\n fetchMyAPI2(\"json\", \"Contacts\");\r\n }}>\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n {/* */}\r\n \r\n
\r\n
\r\n \r\n )}\r\n \r\n \r\n );\r\n}\r\n","// please be familiar with react-bootstrap-table-next column formaters\r\n// https://react-bootstrap-table.github.io/react-bootstrap-table2/storybook/index.html?selectedKind=Work%20on%20Columns&selectedStory=Column%20Formatter&full=0&addons=1&stories=1&panelRight=0&addonPanel=storybook%2Factions%2Factions-panel\r\n/* eslint-disable no-script-url,jsx-a11y/anchor-is-valid */\r\nimport React from \"react\";\r\nimport SVG from \"react-inlinesvg\";\r\nimport { toAbsoluteUrl } from \"../../../../../../../../_metronic/_helpers\";\r\n\r\nexport function ActionsColumnFormatter(\r\n cellContent,\r\n row,\r\n rowIndex,\r\n { openEditCustomerDialog, openDeleteCustomerDialog }\r\n) {\r\n return (\r\n <>\r\n openEditCustomerDialog(row.id)}\r\n >\r\n \r\n \r\n \r\n \r\n <> \r\n\r\n openDeleteCustomerDialog(row.id)}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n","// React bootstrap table next =>\r\n// DOCS: https://react-bootstrap-table.github.io/react-bootstrap-table2/docs/\r\n// STORYBOOK: https://react-bootstrap-table.github.io/react-bootstrap-table2/storybook/index.html\r\nimport React, { useEffect, useMemo } from \"react\";\r\nimport BootstrapTable from \"react-bootstrap-table-next\";\r\nimport paginationFactory, {\r\n PaginationProvider,\r\n} from \"react-bootstrap-table2-paginator\";\r\nimport { shallowEqual, useDispatch, useSelector } from \"react-redux\";\r\nimport * as actions from \"../../../../_redux/Transload/ManageContacts/customersActions\";\r\nimport {\r\n getSelectRow,\r\n getHandlerTableChange,\r\n NoRecordsFoundMessage,\r\n PleaseWaitMessage,\r\n sortCaret,\r\n headerSortingClasses,\r\n} from \"../../../../../../../_metronic/_helpers\";\r\nimport * as uiHelpers from \"../CustomersUIHelpers\";\r\nimport * as columnFormatters from \"./column-formatters\";\r\nimport { Pagination } from \"../../../../../../../_metronic/_partials/controls\";\r\nimport { useCustomersUIContext } from \"../CustomersUIContext\";\r\n\r\nexport function CustomersTable() {\r\n // Customers UI Context\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n ids: customersUIContext.ids,\r\n setIds: customersUIContext.setIds,\r\n queryParams: customersUIContext.queryParams,\r\n setQueryParams: customersUIContext.setQueryParams,\r\n openEditCustomerDialog: customersUIContext.openEditCustomerDialog,\r\n openDeleteCustomerDialog: customersUIContext.openDeleteCustomerDialog,\r\n };\r\n }, [customersUIContext]);\r\n\r\n // Getting curret state of customers list from store (Redux)\r\n const { currentState } = useSelector(\r\n (state) => ({ currentState: state.customers }),\r\n shallowEqual\r\n );\r\n const { totalCount, entities, listLoading } = currentState;\r\n\r\n // Customers Redux state\r\n const dispatch = useDispatch();\r\n useEffect(() => {\r\n // clear selections list\r\n customersUIProps.setIds([]);\r\n // server call by queryParams\r\n dispatch(actions.fetchCustomers(customersUIProps.queryParams));\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [customersUIProps.queryParams, dispatch]);\r\n // Table columns\r\n const columns = [\r\n {\r\n dataField: \"id\",\r\n text: \"Contact ID\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n headerSortingClasses,\r\n },\r\n {\r\n dataField: \"Name\",\r\n text: \"FIRST NAME\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n headerSortingClasses,\r\n },\r\n {\r\n dataField: \"LastName\",\r\n text: \"LAST NAME\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n headerSortingClasses,\r\n },\r\n {\r\n dataField: \"PhoneNumber\",\r\n text: \"WorkPhone\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n headerSortingClasses,\r\n },\r\n {\r\n dataField: \"Email\",\r\n text: \"EMAIL\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n headerSortingClasses,\r\n },\r\n {\r\n dataField: \"CompanyName\",\r\n text: \"COMPANY\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n headerSortingClasses,\r\n },\r\n {\r\n dataField: \"Address\",\r\n text: \"Address\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n headerSortingClasses,\r\n },\r\n {\r\n dataField: \"action\",\r\n text: \"Actions\",\r\n formatter: columnFormatters.ActionsColumnFormatter,\r\n formatExtraData: {\r\n openEditCustomerDialog: customersUIProps.openEditCustomerDialog,\r\n openDeleteCustomerDialog: customersUIProps.openDeleteCustomerDialog,\r\n },\r\n classes: \"text-center pr-0\",\r\n headerClasses: \"text-center pr-3\",\r\n style: {\r\n minWidth: \"100px\",\r\n },\r\n },\r\n ];\r\n // Table pagination properties\r\n const paginationOptions = {\r\n custom: true,\r\n totalSize: totalCount,\r\n sizePerPageList: uiHelpers.sizePerPageList,\r\n sizePerPage: customersUIProps.queryParams.pageSize,\r\n page: customersUIProps.queryParams.pageNumber,\r\n };\r\n return (\r\n <>\r\n \r\n {({ paginationProps, paginationTableProps }) => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n }}\r\n \r\n \r\n );\r\n}\r\n","import React, { useMemo } from \"react\";\r\nimport { useCustomersUIContext } from \"../CustomersUIContext\";\r\n\r\nexport function CustomersGrouping() {\r\n // Customers UI Context\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n ids: customersUIContext.ids,\r\n setIds: customersUIContext.setIds,\r\n openDeleteCustomersDialog: customersUIContext.openDeleteCustomersDialog,\r\n openFetchCustomersDialog: customersUIContext.openFetchCustomersDialog,\r\n openUpdateCustomersStatusDialog:\r\n customersUIContext.openUpdateCustomersStatusDialog,\r\n };\r\n }, [customersUIContext]);\r\n\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n Delete All\r\n \r\n  \r\n \r\n Fetch Selected\r\n \r\n  \r\n \r\n Update Status\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n );\r\n}\r\n","import React, { useMemo } from \"react\";\r\nimport {\r\n Card,\r\n CardBody,\r\n CardHeader,\r\n CardHeaderToolbar,\r\n} from \"../../../../../../_metronic/_partials/controls\";\r\nimport { CustomersFilter } from \"./customers-filter/CustomersFilter\";\r\nimport { CustomersTable } from \"./customers-table/CustomersTable\";\r\nimport { CustomersGrouping } from \"./customers-grouping/CustomersGrouping\";\r\nimport { useCustomersUIContext } from \"./CustomersUIContext\";\r\n\r\nexport function CustomersCard() {\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n ids: customersUIContext.ids,\r\n newCustomerButtonClick: customersUIContext.newCustomerButtonClick,\r\n };\r\n }, [customersUIContext]);\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n New Contact\r\n \r\n \r\n \r\n \r\n \r\n {customersUIProps.ids.length > 0 && }\r\n \r\n \r\n \r\n );\r\n}\r\n","import React from \"react\";\r\nimport { Route } from \"react-router-dom\";\r\nimport { CustomersLoadingDialog } from \"./customers-loading-dialog/CustomersLoadingDialog\";\r\nimport { CustomerEditDialog } from \"./customer-edit-dialog/CustomerEditDialog\";\r\nimport { CustomerDeleteDialog } from \"./customer-delete-dialog/CustomerDeleteDialog\";\r\nimport { CustomersDeleteDialog } from \"./customers-delete-dialog/CustomersDeleteDialog\";\r\nimport { CustomersFetchDialog } from \"./customers-fetch-dialog/CustomersFetchDialog\";\r\nimport { CustomersUpdateStateDialog } from \"./customers-update-status-dialog/CustomersUpdateStateDialog\";\r\nimport { CustomersUIProvider } from \"./CustomersUIContext\";\r\nimport { CustomersCard } from \"./CustomersCard\";\r\n\r\nexport function ManageContactsPage({ history }) {\r\n const customersUIEvents = {\r\n newCustomerButtonClick: () => {\r\n history.push(\"/Transload/ManageContacts/new\");\r\n },\r\n openEditCustomerDialog: (id) => {\r\n history.push(`/Transload/ManageContacts/${id}/edit`);\r\n },\r\n openDeleteCustomerDialog: (id) => {\r\n history.push(`/Transload/ManageContacts/${id}/delete`);\r\n },\r\n openDeleteCustomersDialog: () => {\r\n history.push(`/Transload/ManageContacts/deleteCustomers`);\r\n },\r\n openFetchCustomersDialog: () => {\r\n history.push(`/Transload/ManageContacts/fetch`);\r\n },\r\n openUpdateCustomersStatusDialog: () => {\r\n history.push(\"/Transload/ManageContacts/updateStatus\");\r\n }\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n {({ history, match }) => (\r\n {\r\n history.push(\"/Transload/ManageContacts\");\r\n }}\r\n />\r\n )}\r\n \r\n \r\n {({ history, match }) => (\r\n {\r\n history.push(\"/Transload/ManageContacts\");\r\n }}\r\n />\r\n )}\r\n \r\n \r\n {({ history, match }) => (\r\n {\r\n history.push(\"/Transload/ManageContacts\");\r\n }}\r\n />\r\n )}\r\n \r\n \r\n {({ history, match }) => (\r\n {\r\n history.push(\"/Transload/ManageContacts\");\r\n }}\r\n />\r\n )}\r\n \r\n \r\n {({ history, match }) => (\r\n {\r\n history.push(\"/Transload/ManageContacts\");\r\n }}\r\n />\r\n )}\r\n \r\n \r\n {({ history, match }) => (\r\n {\r\n history.push(\"/Transload/ManageContacts\");\r\n }}\r\n />\r\n )}\r\n \r\n \r\n \r\n );\r\n}\r\n","import React, { useEffect } from \"react\";\r\nimport { shallowEqual, useSelector } from \"react-redux\";\r\nimport { LoadingDialog } from \"../../../../../../_metronic/_partials/controls\";\r\n\r\nexport function CustomersLoadingDialog() {\r\n // Customers Redux state\r\n const { isLoading } = useSelector(\r\n (state) => ({ isLoading: state.customers.listLoading }),\r\n shallowEqual\r\n );\r\n // looking for loading/dispatch\r\n useEffect(() => {}, [isLoading]);\r\n return ;\r\n}\r\n","import axios from \"axios\";\r\n\r\nexport const CUSTOMERS_URL = \"api/ServiceManageCarriers\";\r\n\r\n// CREATE => POST: add a new customer to the server\r\nexport function createCustomer(customer) {\r\n return axios.post(CUSTOMERS_URL, { customer });\r\n}\r\n\r\n// READ\r\nexport function getAllCustomers() {\r\n return axios.get(CUSTOMERS_URL);\r\n}\r\n\r\nexport function getCustomerById(customerId) {\r\n return axios.get(`${CUSTOMERS_URL}/${customerId}`);\r\n}\r\n\r\n// Method from server should return QueryResultsModel(items: any[], totalsCount: number)\r\n// items => filtered/sorted result\r\nexport function findCustomers(queryParams) {\r\n return axios.post(`${CUSTOMERS_URL}/find`, { queryParams });\r\n}\r\n\r\n// UPDATE => PUT: update the customer on the server\r\nexport function updateCustomer(customer) {\r\n return axios.put(`${CUSTOMERS_URL}/${customer.id}`, { customer });\r\n}\r\n\r\n// UPDATE Status\r\nexport function updateStatusForCustomers(ids, status) {\r\n return axios.post(`${CUSTOMERS_URL}/updateStatusForCustomers`, {\r\n ids,\r\n status\r\n });\r\n}\r\n\r\n// DELETE => delete the customer from the server\r\nexport function deleteCustomer(customerId) {\r\n return axios.delete(`${CUSTOMERS_URL}/${customerId}`);\r\n}\r\n\r\n// DELETE Customers by ids\r\nexport function deleteCustomers(ids) {\r\n return axios.post(`${CUSTOMERS_URL}/deleteCustomers`, { ids });\r\n}\r\n","import {createSlice} from \"@reduxjs/toolkit\";\r\n\r\nconst initialCustomersState = {\r\n listLoading: false,\r\n actionsLoading: false,\r\n totalCount: 0,\r\n entities: null,\r\n customerForEdit: undefined,\r\n lastError: null\r\n};\r\nexport const callTypes = {\r\n list: \"list\",\r\n action: \"action\"\r\n};\r\n\r\nexport const customersSlice = createSlice({\r\n name: \"customers\",\r\n initialState: initialCustomersState,\r\n reducers: {\r\n catchError: (state, action) => {\r\n state.error = `${action.type}: ${action.payload.error}`;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = false;\r\n } else {\r\n state.actionsLoading = false;\r\n }\r\n },\r\n startCall: (state, action) => {\r\n state.error = null;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = true;\r\n } else {\r\n state.actionsLoading = true;\r\n }\r\n },\r\n // getCustomerById\r\n customerFetched: (state, action) => {\r\n state.actionsLoading = false;\r\n state.customerForEdit = action.payload.customerForEdit;\r\n state.error = null;\r\n },\r\n // findCustomers\r\n customersFetched: (state, action) => {\r\n const { totalCount, entities } = action.payload;\r\n state.listLoading = false;\r\n state.error = null;\r\n state.entities = entities;\r\n state.totalCount = totalCount;\r\n },\r\n // createCustomer\r\n customerCreated: (state, action) => {\r\n state.actionsLoading = false;\r\n state.error = null;\r\n state.entities.push(action.payload.customer);\r\n },\r\n // updateCustomer\r\n customerUpdated: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.map(entity => {\r\n if (entity.id === action.payload.customer.id) {\r\n return action.payload.customer;\r\n }\r\n return entity;\r\n });\r\n },\r\n // deleteCustomer\r\n customerDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(el => el.id !== action.payload.id);\r\n },\r\n // deleteCustomers\r\n customersDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(\r\n el => !action.payload.ids.includes(el.id)\r\n );\r\n },\r\n // customersUpdateState\r\n customersStatusUpdated: (state, action) => {\r\n state.actionsLoading = false;\r\n state.error = null;\r\n const { ids, status } = action.payload;\r\n state.entities = state.entities.map(entity => {\r\n if (ids.findIndex(id => id === entity.id) > -1) {\r\n entity.status = status;\r\n }\r\n return entity;\r\n });\r\n }\r\n }\r\n});\r\n","import * as requestFromServer from \"./customersCrud\";\r\nimport {customersSlice, callTypes} from \"./customersSlice\";\r\n\r\nconst {actions} = customersSlice;\r\n\r\nexport const fetchCustomers = queryParams => dispatch => {\r\n dispatch(actions.startCall({ callType: callTypes.list }));\r\n return requestFromServer\r\n .findCustomers(queryParams)\r\n .then(response => {\r\n const { totalCount, entities } = response.data;\r\n dispatch(actions.customersFetched({ totalCount, entities }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't find customers\";\r\n dispatch(actions.catchError({ error, callType: callTypes.list }));\r\n });\r\n};\r\n\r\nexport const fetchCustomer = id => dispatch => {\r\n if (!id) {\r\n return dispatch(actions.customerFetched({ customerForEdit: undefined }));\r\n }\r\n\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .getCustomerById(id)\r\n .then(response => {\r\n const customer = response.data;\r\n dispatch(actions.customerFetched({ customerForEdit: customer }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't find customer\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const deleteCustomer = id => dispatch => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .deleteCustomer(id)\r\n .then(response => {\r\n dispatch(actions.customerDeleted({ id }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't delete customer\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const createCustomer = customerForCreation => dispatch => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .createCustomer(customerForCreation)\r\n .then(response => {\r\n const { customer } = response.data;\r\n dispatch(actions.customerCreated({ customer }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't create customer\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const updateCustomer = customer => dispatch => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .updateCustomer(customer)\r\n .then(() => {\r\n dispatch(actions.customerUpdated({ customer }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't update customer\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const updateCustomersStatus = (ids, status) => dispatch => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .updateStatusForCustomers(ids, status)\r\n .then(() => {\r\n dispatch(actions.customersStatusUpdated({ ids, status }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't update customers status\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const deleteCustomers = ids => dispatch => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .deleteCustomers(ids)\r\n .then(() => {\r\n dispatch(actions.customersDeleted({ ids }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't delete customers\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n","import React, { useState, useEffect } from \"react\";\r\nimport { shallowEqual, useSelector } from \"react-redux\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport {ModalProgressBar} from \"../../../../../../_metronic/_partials/controls\";\r\n\r\nexport function CustomerEditDialogHeader({ id }) {\r\n // Customers Redux state\r\n const { customerForEdit, actionsLoading } = useSelector(\r\n (state) => ({\r\n customerForEdit: state.customers.customerForEdit,\r\n actionsLoading: state.customers.actionsLoading,\r\n }),\r\n shallowEqual\r\n );\r\n\r\n const [title, setTitle] = useState(\"\");\r\n // Title couting\r\n useEffect(() => {\r\n let _title = id ? \"\" : \"Carrier Services\";\r\n if (customerForEdit && id) {\r\n _title = `Edit Carrier '${customerForEdit.firstName} ${customerForEdit.lastName}'`;\r\n }\r\n\r\n setTitle(_title);\r\n // eslint-disable-next-line\r\n }, [customerForEdit, actionsLoading]);\r\n\r\n return (\r\n <>\r\n {actionsLoading && }\r\n \r\n {title}\r\n \r\n \r\n );\r\n}\r\n","export const CustomerStatusCssClasses = [\"danger\", \"success\", \"info\", \"\"];\r\nexport const CustomerStatusTitles = [\"Inactive\", \"Active\"];\r\nexport const CustomerTypeCssClasses = [\"success\", \"primary\", \"\"];\r\nexport const CustomerTypeTitles = [\"No\", \"Yes\", \"\"];\r\nexport const defaultSorted = [{ dataField: \"Position\", order: \"asc\" }];\r\nexport const sizePerPageList = [\r\n { text: \"3\", value: 3 },\r\n { text: \"5\", value: 5 },\r\n { text: \"10\", value: 10 }\r\n];\r\nexport const initialFilter = {\r\n filter: {\r\n lastName: \"\",\r\n firstName: \"\",\r\n email: \"\",\r\n ipAddress: \"\"\r\n },\r\n sortOrder: \"asc\", // asc||desc\r\n sortField: \"Position\",\r\n pageNumber: 1,\r\n pageSize: 10\r\n};\r\n","import React, { createContext, useContext, useState, useCallback } from \"react\";\r\nimport { isEqual, isFunction } from \"lodash\";\r\nimport { initialFilter } from \"./CustomersUIHelpers\";\r\n\r\nconst CustomersUIContext = createContext();\r\n\r\nexport function useCustomersUIContext() {\r\n return useContext(CustomersUIContext);\r\n}\r\n\r\nexport const CustomersUIConsumer = CustomersUIContext.Consumer;\r\n\r\nexport function CustomersUIProvider({ customersUIEvents, children }) {\r\n const [queryParams, setQueryParamsBase] = useState(initialFilter);\r\n const [ids, setIds] = useState([]);\r\n const setQueryParams = useCallback((nextQueryParams) => {\r\n setQueryParamsBase((prevQueryParams) => {\r\n if (isFunction(nextQueryParams)) {\r\n nextQueryParams = nextQueryParams(prevQueryParams);\r\n }\r\n\r\n if (isEqual(prevQueryParams, nextQueryParams)) {\r\n return prevQueryParams;\r\n }\r\n\r\n return nextQueryParams;\r\n });\r\n }, []);\r\n\r\n const initCustomer = {\r\n id: undefined,\r\n Name: \"\",\r\n ExternalServiceId: \"\",\r\n IsActive: false,\r\n CarrierId: 0,\r\n };\r\n\r\n const value = {\r\n queryParams,\r\n setQueryParamsBase,\r\n ids,\r\n setIds,\r\n setQueryParams,\r\n initCustomer,\r\n newCustomerButtonClick: customersUIEvents.newCustomerButtonClick,\r\n openEditCustomerDialog: customersUIEvents.openEditCustomerDialog,\r\n openDeleteCustomerDialog: customersUIEvents.openDeleteCustomerDialog,\r\n openDeleteCustomersDialog: customersUIEvents.openDeleteCustomersDialog,\r\n openFetchCustomersDialog: customersUIEvents.openFetchCustomersDialog,\r\n openUpdateCustomersStatusDialog:\r\n customersUIEvents.openUpdateCustomersStatusDialog,\r\n };\r\n\r\n return (\r\n \r\n {children}\r\n \r\n );\r\n}\r\n","import React, { useMemo } from \"react\";\r\nimport { useCustomersUIContext } from \"../CustomersUIContext\";\r\n\r\nexport function CustomersGrouping() {\r\n // Customers UI Context\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n ids: customersUIContext.ids,\r\n setIds: customersUIContext.setIds,\r\n openDeleteCustomersDialog: customersUIContext.openDeleteCustomersDialog,\r\n openFetchCustomersDialog: customersUIContext.openFetchCustomersDialog,\r\n openUpdateCustomersStatusDialog:\r\n customersUIContext.openUpdateCustomersStatusDialog,\r\n };\r\n }, [customersUIContext]);\r\n\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n Delete All\r\n \r\n  \r\n
\r\n
\r\n
\r\n
\r\n
\r\n );\r\n}\r\n","import React, { useMemo, useEffect, useState } from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { Formik, Form, Field } from \"formik\";\r\nimport { CustomersGrouping } from \"../customers-grouping/CustomersGrouping\";\r\nimport { useCustomersUIContext } from \"../CustomersUIContext\";\r\nimport * as Yup from \"yup\";\r\nimport {\r\n Input,\r\n Select,\r\n CheckboxLarge,\r\n} from \"../../../../../../_metronic/_partials/controls\";\r\nimport axios from \"axios\";\r\nimport LinearProgress from \"@material-ui/core/LinearProgress\";\r\nimport { Notification } from \"../../../../Notification\";\r\n\r\n// Validation schema\r\nconst CustomerEditSchema = Yup.object().shape({\r\n Name: Yup.string()\r\n .min(1, \"Minimum 1 symbols\")\r\n .max(50, \"Maximum 50 symbols\")\r\n .required(\"Service is required\"),\r\n});\r\nfunction createData(name, lenght, Lenght, width) {\r\n return { name, lenght, width, Lenght, width };\r\n}\r\nconst eventChange = new Event(\"change\", { bubbles: true });\r\nfunction eventChangefunction(id) {\r\n const element = document.getElementById(id);\r\n if (element != null)\r\n setTimeout(() => {\r\n element.dispatchEvent(eventChange);\r\n }, 500);\r\n}\r\nfunction SetValuefunction(id, value) {\r\n const element = document.getElementById(id);\r\n if (element != null)\r\n setTimeout(() => {\r\n element.value = value;\r\n }, 500);\r\n}\r\nconst rows = [createData(\"US/IMPERIAL\"), createData(\"METRIC\")];\r\n\r\nexport function CustomerEditForm({\r\n saveCustomer,\r\n customer,\r\n actionsLoading,\r\n onHide,\r\n}) {\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n ids: customersUIContext.ids,\r\n newCustomerButtonClick: customersUIContext.newCustomerButtonClick,\r\n };\r\n }, [customersUIContext]);\r\n const [externalservices, setexternalservices] = useState([]);\r\n const [Carrier, setCarrier] = useState([]);\r\n useEffect(() => {\r\n fetchUsersAsync();\r\n }, []);\r\n\r\n const fetchUsersAsync = async () => {\r\n try {\r\n const result = await axios.get(\r\n \"api/ServiceManageCarriers/externalservices\"\r\n );\r\n setexternalservices(result.data[\"externalservices\"] || []);\r\n setCarrier(result.data[\"Carrier\"] || []);\r\n\r\n const serviceManageCarriers = window.ServiceManageCarriers || false;\r\n if (serviceManageCarriers) {\r\n SetValuefunction(\"CarrierId\", serviceManageCarriers);\r\n eventChangefunction(\"CarrierId\");\r\n }\r\n } catch (e) {}\r\n };\r\n useEffect(() => {\r\n if (customer.IsActive === true) {\r\n document.getElementById(\"IsActiveId\").checked = true;\r\n }\r\n }, [customer]);\r\n\r\n return (\r\n <>\r\n {\r\n if (+values.CarrierId === 0) {\r\n Notification(\"error\", \"Carrier required is empty\");\r\n return false;\r\n }\r\n saveCustomer(values);\r\n }}\r\n >\r\n {({ handleSubmit, setFieldValue }) => (\r\n <>\r\n \r\n {actionsLoading && (\r\n
\r\n
\r\n
\r\n )}\r\n
\r\n
\r\n
\r\n \r\n {Carrier.length === 0 && }\r\n
\r\n
\r\n {customersUIProps.ids.length > 0 && }\r\n \r\n
\r\n
\r\n \r\n {externalservices.length === 0 && }\r\n
\r\n\r\n
\r\n {\r\n setFieldValue(\"IsActive\", event.target.checked);\r\n }}\r\n />\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n Cancel\r\n \r\n <> \r\n handleSubmit()}\r\n className=\"btn btn-success btn-elevate\"\r\n >\r\n Save\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n );\r\n}\r\n","import React, { useEffect, useMemo } from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { shallowEqual, useDispatch, useSelector } from \"react-redux\";\r\nimport * as actions from \"../../../_redux/ServiceManageCarriers/customersActions\";\r\nimport { CustomerEditDialogHeader } from \"./CustomerEditDialogHeader\";\r\nimport { CustomerEditForm } from \"./CustomerEditForm\";\r\nimport { useCustomersUIContext } from \"../CustomersUIContext\";\r\n\r\nexport function CustomerEditDialog({ id, show, onHide }) {\r\n // Customers UI Context\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n initCustomer: customersUIContext.initCustomer,\r\n };\r\n }, [customersUIContext]);\r\n\r\n // Customers Redux state\r\n const dispatch = useDispatch();\r\n const { actionsLoading, customerForEdit } = useSelector(\r\n (state) => ({\r\n actionsLoading: state.customers.actionsLoading,\r\n customerForEdit: state.customers.customerForEdit,\r\n }),\r\n shallowEqual\r\n );\r\n\r\n useEffect(() => {\r\n // server call for getting Customer by id\r\n dispatch(actions.fetchCustomer(id));\r\n }, [id, dispatch]);\r\n\r\n // server request for saving customer\r\n const saveCustomer = (customer) => {\r\n if (!id) {\r\n // server request for creating customer\r\n dispatch(actions.createCustomer(customer)).then(() => {\r\n onHide();\r\n document.getElementById(\"ReLoadTableId\").click();\r\n });\r\n } else {\r\n // server request for updating customer\r\n dispatch(actions.updateCustomer(customer)).then(() => {\r\n onHide();\r\n document.getElementById(\"ReLoadTableId\").click();\r\n });\r\n }\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n}\r\n","import React, { useEffect, useMemo } from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { shallowEqual, useDispatch, useSelector } from \"react-redux\";\r\nimport {ModalProgressBar} from \"../../../../../../_metronic/_partials/controls\";\r\nimport * as actions from \"../../../_redux/ServiceManageCarriers/customersActions\";\r\nimport {useCustomersUIContext} from \"../CustomersUIContext\";\r\n\r\nexport function CustomerDeleteDialog({ id, show, onHide }) {\r\n // Customers UI Context\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n setIds: customersUIContext.setIds,\r\n queryParams: customersUIContext.queryParams\r\n };\r\n }, [customersUIContext]);\r\n\r\n // Customers Redux state\r\n const dispatch = useDispatch();\r\n const { isLoading } = useSelector(\r\n (state) => ({ isLoading: state.customers.actionsLoading }),\r\n shallowEqual\r\n );\r\n\r\n // if !id we should close modal\r\n useEffect(() => {\r\n if (!id) {\r\n onHide();\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [id]);\r\n\r\n // looking for loading/dispatch\r\n useEffect(() => {}, [isLoading, dispatch]);\r\n\r\n const deleteCustomer = () => {\r\n // server request for deleting customer by id\r\n dispatch(actions.deleteCustomer(id)).then(() => {\r\n // refresh list after deletion\r\n dispatch(actions.fetchCustomers(customersUIProps.queryParams));\r\n // clear selections list\r\n customersUIProps.setIds([]);\r\n // closing delete modal\r\n onHide();\r\n });\r\n };\r\n\r\n return (\r\n \r\n {/*begin::Loading*/}\r\n {isLoading && }\r\n {/*end::Loading*/}\r\n \r\n \r\n Service Carrier Delete\r\n \r\n \r\n \r\n {!isLoading && (\r\n Are you sure to permanently delete this Service Carrier?\r\n )}\r\n {isLoading && Service Carrier is deleting...}\r\n \r\n \r\n
\r\n \r\n Cancel\r\n \r\n <> \r\n \r\n Delete\r\n \r\n
\r\n
\r\n \r\n );\r\n}\r\n","import React, { useEffect, useMemo } from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { shallowEqual, useDispatch, useSelector } from \"react-redux\";\r\nimport * as actions from \"../../../_redux/ServiceManageCarriers/customersActions\";\r\nimport { useCustomersUIContext } from \"../CustomersUIContext\";\r\nimport {ModalProgressBar} from \"../../../../../../_metronic/_partials/controls\";\r\n\r\nexport function CustomersDeleteDialog({ show, onHide }) {\r\n // Customers UI Context\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n ids: customersUIContext.ids,\r\n setIds: customersUIContext.setIds,\r\n queryParams: customersUIContext.queryParams,\r\n };\r\n }, [customersUIContext]);\r\n\r\n // Customers Redux state\r\n const dispatch = useDispatch();\r\n const { isLoading } = useSelector(\r\n (state) => ({ isLoading: state.customers.actionsLoading }),\r\n shallowEqual\r\n );\r\n\r\n // if customers weren't selected we should close modal\r\n useEffect(() => {\r\n if (!customersUIProps.ids || customersUIProps.ids.length === 0) {\r\n onHide();\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [customersUIProps.ids]);\r\n\r\n // looking for loading/dispatch\r\n useEffect(() => {}, [isLoading, dispatch]);\r\n\r\n const deleteCustomers = () => {\r\n // server request for deleting customer by selected ids\r\n dispatch(actions.deleteCustomers(customersUIProps.ids)).then(() => {\r\n // refresh list after deletion\r\n dispatch(actions.fetchCustomers(customersUIProps.queryParams)).then(\r\n () => {\r\n // clear selections list\r\n customersUIProps.setIds([]);\r\n // closing delete modal\r\n onHide();\r\n }\r\n );\r\n });\r\n };\r\n\r\n return (\r\n \r\n {/*begin::Loading*/}\r\n {isLoading && }\r\n {/*end::Loading*/}\r\n \r\n \r\n Customers Delete\r\n \r\n \r\n \r\n {!isLoading && (\r\n Are you sure to permanently delete selected customers?\r\n )}\r\n {isLoading && Customer are deleting...}\r\n \r\n \r\n
\r\n \r\n Cancel\r\n \r\n <> \r\n \r\n Delete\r\n \r\n
\r\n
\r\n \r\n );\r\n}\r\n","import React, { useEffect, useMemo } from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { shallowEqual, useSelector } from \"react-redux\";\r\nimport { CustomerStatusCssClasses } from \"../CustomersUIHelpers\";\r\nimport { useCustomersUIContext } from \"../CustomersUIContext\";\r\n\r\nconst selectedCustomers = (entities, ids) => {\r\n const _customers = [];\r\n ids.forEach((id) => {\r\n const customer = entities.find((el) => el.id === id);\r\n if (customer) {\r\n _customers.push(customer);\r\n }\r\n });\r\n return _customers;\r\n};\r\n\r\nexport function CustomersFetchDialog({ show, onHide }) {\r\n // Customers UI Context\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n ids: customersUIContext.ids,\r\n };\r\n }, [customersUIContext]);\r\n\r\n // Customers Redux state\r\n const { customers } = useSelector(\r\n (state) => ({\r\n customers: selectedCustomers(\r\n state.customers.entities,\r\n customersUIProps.ids\r\n ),\r\n }),\r\n shallowEqual\r\n );\r\n\r\n // if customers weren't selected we should close modal\r\n useEffect(() => {\r\n if (!customersUIProps.ids || customersUIProps.ids.length === 0) {\r\n onHide();\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [customersUIProps.ids]);\r\n\r\n return (\r\n \r\n \r\n \r\n Fetch selected elements\r\n \r\n \r\n \r\n
\r\n {customers.map((customer) => (\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n ID: {customer.id}\r\n \r\n {customer.lastName}, {customer.firstName} \r\n
\r\n
\r\n ))}\r\n
\r\n \r\n \r\n
\r\n \r\n Cancel\r\n \r\n <> \r\n \r\n Ok\r\n \r\n
\r\n
\r\n \r\n );\r\n}\r\n","import React, { useEffect, useState, useMemo } from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { shallowEqual, useDispatch, useSelector } from \"react-redux\";\r\nimport { CustomerStatusCssClasses } from \"../CustomersUIHelpers\";\r\nimport * as actions from \"../../../_redux/ServiceManageCarriers/customersActions\";\r\nimport { useCustomersUIContext } from \"../CustomersUIContext\";\r\n\r\nconst selectedCustomers = (entities, ids) => {\r\n const _customers = [];\r\n ids.forEach((id) => {\r\n const customer = entities.find((el) => el.id === id);\r\n if (customer) {\r\n _customers.push(customer);\r\n }\r\n });\r\n return _customers;\r\n};\r\n\r\nexport function CustomersUpdateStateDialog({ show, onHide }) {\r\n // Customers UI Context\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n ids: customersUIContext.ids,\r\n setIds: customersUIContext.setIds,\r\n queryParams: customersUIContext.queryParams,\r\n };\r\n }, [customersUIContext]);\r\n\r\n // Customers Redux state\r\n const { customers, isLoading } = useSelector(\r\n (state) => ({\r\n customers: selectedCustomers(\r\n state.customers.entities,\r\n customersUIProps.ids\r\n ),\r\n isLoading: state.customers.actionsLoading,\r\n }),\r\n shallowEqual\r\n );\r\n\r\n // if !id we should close modal\r\n useEffect(() => {\r\n if (!customersUIProps.ids || customersUIProps.ids.length === 0) {\r\n onHide();\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [customersUIProps.ids]);\r\n\r\n const [status, setStatus] = useState(0);\r\n\r\n const dispatch = useDispatch();\r\n const updateStatus = () => {\r\n // server request for update customers status by selected ids\r\n dispatch(actions.updateCustomersStatus(customersUIProps.ids, status)).then(\r\n () => {\r\n // refresh list after deletion\r\n dispatch(actions.fetchCustomers(customersUIProps.queryParams)).then(\r\n () => {\r\n // clear selections list\r\n customersUIProps.setIds([]);\r\n // closing delete modal\r\n onHide();\r\n }\r\n );\r\n }\r\n );\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n Status has been updated for selected User\r\n \r\n \r\n \r\n {/*begin::Loading*/}\r\n {isLoading && (\r\n
\r\n
\r\n
\r\n )}\r\n {/*end::Loading*/}\r\n\r\n
\r\n {customers.map((customer) => (\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n ID: {customer.id}\r\n \r\n \r\n {customer.lastName}, {customer.firstName}\r\n \r\n
\r\n
\r\n ))}\r\n
\r\n \r\n \r\n
\r\n setStatus(+e.target.value)}\r\n >\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n Cancel\r\n \r\n \r\n Update Status\r\n \r\n
\r\n
\r\n \r\n );\r\n}\r\n","import React, { useEffect, useState, useMemo } from \"react\";\r\nimport { Formik } from \"formik\";\r\nimport { isEqual } from \"lodash\";\r\nimport { useCustomersUIContext } from \"../CustomersUIContext\";\r\nimport {\r\n CheckboxLarge,\r\n} from \"../../../../../../_metronic/_partials/controls\";\r\nimport axios from \"axios\";\r\nimport LinearProgress from \"@material-ui/core/LinearProgress\";\r\n\r\nconst prepareFilter = (queryParams, values) => {\r\n const { ShowInactive, CarriersId, ReLoadTable } = values;\r\n const newQueryParams = { ...queryParams };\r\n const filter = {};\r\n filter.ReLoadTable = ReLoadTable || false;\r\n filter.ShowInactive = ShowInactive;\r\n filter.CarriersId = CarriersId;\r\n newQueryParams.filter = filter;\r\n return newQueryParams;\r\n};\r\n\r\nexport function CustomersFilter({ listLoading }) {\r\n // Customers UI Context\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n queryParams: customersUIContext.queryParams,\r\n setQueryParams: customersUIContext.setQueryParams,\r\n };\r\n }, [customersUIContext]);\r\n\r\n // queryParams, setQueryParams,\r\n const applyFilter = (values) => {\r\n const newQueryParams = prepareFilter(customersUIProps.queryParams, values);\r\n if (!isEqual(newQueryParams, customersUIProps.queryParams)) {\r\n newQueryParams.pageNumber = 1;\r\n // update list by queryParams\r\n customersUIProps.setQueryParams(newQueryParams);\r\n }\r\n };\r\n const [Carriers, setCarriers] = useState([]);\r\n useEffect(() => {\r\n fetchUsersAsync();\r\n }, []);\r\n\r\n const fetchUsersAsync = async () => {\r\n try {\r\n const result = await axios.get(\"api/ServiceManageCarriers/GetCarriers\");\r\n setCarriers(result.data);\r\n } catch (e) {}\r\n };\r\n return (\r\n <>\r\n {\r\n applyFilter(values);\r\n }}\r\n >\r\n {({\r\n values,\r\n handleSubmit,\r\n handleBlur,\r\n handleChange,\r\n setFieldValue,\r\n }) => (\r\n
\r\n {\r\n if (e.target.value === \"0\")\r\n document.getElementById(\"ReLoadTableId\").value = 1;\r\n else document.getElementById(\"ReLoadTableId\").value = 0;\r\n setFieldValue(\"ReLoadTable\", e.target.value);\r\n handleSubmit();\r\n }}\r\n />\r\n
\r\n
\r\n {\r\n setFieldValue(\"CarriersId\", e.target.value);\r\n window.ServiceManageCarriers = e.target.value;\r\n handleSubmit();\r\n }}\r\n >\r\n \r\n {Carriers.map((item, index) => (\r\n \r\n ))}\r\n \r\n {Carriers.length === 0 && }\r\n \r\n Filter by Carriers\r\n \r\n
\r\n
\r\n {\r\n setFieldValue(\"ShowInactive\", event.target.checked);\r\n handleSubmit();\r\n }}\r\n />\r\n
\r\n
\r\n \r\n )}\r\n \r\n \r\n );\r\n}\r\n","import React from \"react\";\r\n\r\nexport function StatusColumnFormatter(cellContent, row) {\r\n const CustomerStatusCssClasses = [\"success\", \"danger\"];\r\n const CustomerStatusTitles = [\"Active\", \"Inactive\"];\r\n\r\n var isActive = row.Active ? 0 : 1;\r\n const getLabelCssClasses = () => {\r\n return `label label-lg label-light-${CustomerStatusCssClasses[isActive]} label-inline`;\r\n };\r\n return (\r\n \r\n {CustomerStatusTitles[isActive]}\r\n \r\n );\r\n}\r\n","import React from \"react\";\r\nimport { Notification } from \"../../../../../Notification\";\r\n\r\nexport function MoveColumnFormatter(cellContent, row) {\r\n const getLabelCssClasses = () => {\r\n return `label label-lg label-light-primary label-inline w-25 mr-2`;\r\n };\r\n const OnClickActive = (num) => {\r\n fetch(\r\n `${window.$apiurl}/api/CarrierServices/Move?id=${row.id}&moveUp=${num}`\r\n )\r\n .then(async (response) => {\r\n return response;\r\n })\r\n .then((res) => {\r\n document.getElementById(\"ReLoadTableId\").click();\r\n Notification(\"success\", \"success\");\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n };\r\n return (\r\n <>\r\n OnClickActive(\"true\")}\r\n >\r\n \r\n \r\n\r\n OnClickActive(\"false\")}\r\n >\r\n \r\n \r\n \r\n );\r\n}\r\n","// please be familiar with react-bootstrap-table-next column formaters\r\n// https://react-bootstrap-table.github.io/react-bootstrap-table2/storybook/index.html?selectedKind=Work%20on%20Columns&selectedStory=Column%20Formatter&full=0&addons=1&stories=1&panelRight=0&addonPanel=storybook%2Factions%2Factions-panel\r\n/* eslint-disable no-script-url,jsx-a11y/anchor-is-valid */\r\nimport React from \"react\";\r\nimport SVG from \"react-inlinesvg\";\r\nimport { toAbsoluteUrl } from \"../../../../../../../_metronic/_helpers\";\r\n\r\nexport function ActionsColumnFormatter(\r\n cellContent,\r\n row,\r\n rowIndex,\r\n { openEditCustomerDialog, openDeleteCustomerDialog }\r\n) {\r\n return (\r\n <>\r\n openEditCustomerDialog(row.id)}\r\n >\r\n \r\n \r\n \r\n \r\n <> \r\n\r\n openDeleteCustomerDialog(row.id)}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n","import React, { useEffect, useMemo } from \"react\";\r\nimport BootstrapTable from \"react-bootstrap-table-next\";\r\nimport paginationFactory, {\r\n PaginationProvider,\r\n} from \"react-bootstrap-table2-paginator\";\r\nimport { shallowEqual, useDispatch, useSelector } from \"react-redux\";\r\nimport * as actions from \"../../../_redux/ServiceManageCarriers/customersActions\";\r\nimport {\r\n getSelectRow,\r\n getHandlerTableChange,\r\n NoRecordsFoundMessage,\r\n PleaseWaitMessage,\r\n sortCaret,\r\n headerSortingClasses,\r\n} from \"../../../../../../_metronic/_helpers\";\r\nimport * as uiHelpers from \"../CustomersUIHelpers\";\r\nimport * as columnFormatters from \"./column-formatters\";\r\nimport { Pagination } from \"../../../../../../_metronic/_partials/controls\";\r\nimport { useCustomersUIContext } from \"../CustomersUIContext\";\r\n\r\nexport function CustomersTable() {\r\n // Customers UI Context\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n ids: customersUIContext.ids,\r\n setIds: customersUIContext.setIds,\r\n queryParams: customersUIContext.queryParams,\r\n setQueryParams: customersUIContext.setQueryParams,\r\n openEditCustomerDialog: customersUIContext.openEditCustomerDialog,\r\n openDeleteCustomerDialog: customersUIContext.openDeleteCustomerDialog,\r\n };\r\n }, [customersUIContext]);\r\n\r\n // Getting curret state of customers list from store (Redux)\r\n const { currentState } = useSelector(\r\n (state) => ({ currentState: state.customers }),\r\n shallowEqual\r\n );\r\n const { totalCount, entities, listLoading } = currentState;\r\n\r\n // Customers Redux state\r\n const dispatch = useDispatch();\r\n useEffect(() => {\r\n // clear selections list\r\n customersUIProps.setIds([]);\r\n // server call by queryParams\r\n dispatch(actions.fetchCustomers(customersUIProps.queryParams));\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [customersUIProps.queryParams, dispatch]);\r\n // Table columns\r\n const columns = [\r\n /* {\r\n dataField: \"Position\",\r\n text: \"Position\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n headerSortingClasses,\r\n }, */\r\n {\r\n dataField: \"id\",\r\n text: \"ID\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n headerSortingClasses,\r\n },\r\n {\r\n dataField: \"Name\",\r\n text: \"Name\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n headerSortingClasses,\r\n },\r\n {\r\n dataField: \"Active\",\r\n text: \"INACTIVE\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n formatter: columnFormatters.StatusColumnFormatter,\r\n headerSortingClasses,\r\n },\r\n {\r\n dataField: \"\",\r\n text: \"Move\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n formatter: columnFormatters.MoveColumnFormatter,\r\n headerSortingClasses,\r\n },\r\n {\r\n dataField: \"action\",\r\n text: \"Actions\",\r\n formatter: columnFormatters.ActionsColumnFormatter,\r\n formatExtraData: {\r\n openEditCustomerDialog: customersUIProps.openEditCustomerDialog,\r\n openDeleteCustomerDialog: customersUIProps.openDeleteCustomerDialog,\r\n },\r\n classes: \"text-center pr-0\",\r\n headerClasses: \"text-center pr-3\",\r\n style: {\r\n minWidth: \"100px\",\r\n },\r\n },\r\n ];\r\n // Table pagination properties\r\n const paginationOptions = {\r\n custom: true,\r\n totalSize: totalCount,\r\n sizePerPageList: uiHelpers.sizePerPageList,\r\n sizePerPage: customersUIProps.queryParams.pageSize,\r\n page: customersUIProps.queryParams.pageNumber,\r\n };\r\n return (\r\n <>\r\n \r\n {({ paginationProps, paginationTableProps }) => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n }}\r\n \r\n \r\n );\r\n}\r\n","import React from 'react';\r\nimport Dialog from '@material-ui/core/Dialog';\r\nimport DialogActions from '@material-ui/core/DialogActions';\r\nimport DialogContent from '@material-ui/core/DialogContent';\r\nimport DialogTitle from '@material-ui/core/DialogTitle';\r\nimport { makeStyles } from '@material-ui/core/styles';\r\nimport {\r\n Row,\r\n Col\r\n} from \"react-bootstrap\";\r\nimport { Formik } from \"formik\";\r\nconst useStyles = makeStyles(theme => ({\r\n textDecoration: {\r\n lineHeight: '2rem',\r\n },\r\n}));\r\nexport function CustomerDialogForm() {\r\n const [open, setOpen] = React.useState(false);\r\n\r\n function handleClickOpen() {\r\n setOpen(true);\r\n }\r\n\r\n function handleClose() {\r\n setOpen(false);\r\n }\r\n const classes = useStyles();\r\n const [values, setValues] = React.useState({\r\n name: '',\r\n age: '',\r\n multiline: 'Controlled',\r\n currency: 'EUR',\r\n });\r\n const [value, setValue] = React.useState('female');\r\n const handleChange = name => event => {\r\n setValues({ ...values, [name]: event.target.value });\r\n };\r\n return (\r\n
\r\n \r\n Services\r\n \r\n \r\n Manage Carriers - Services\r\n \r\n\r\n \r\n \r\n Add\r\n \r\n \r\n Move Up\r\n \r\n \r\n Move Down\r\n \r\n \r\n
\r\n \r\n\r\n
\r\n Show Inactives\r\n
\r\n
\r\n \r\n\r\n \r\n Refresh Grid\r\n \r\n
\r\n {\r\n }}\r\n >\r\n {({ handleSubmit }) => (\r\n <>\r\n
\r\n
\r\n
\r\n
\r\n \r\n Some transactions do not have an invoice delivered date set.\r\n \r\n
\r\n \r\n\r\n
\r\n \r\n Set transaction's invoice delivered date to today\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n )}\r\n \r\n \r\n \r\n Delete\r\n \r\n \r\n
\r\n \r\n \r\n Cancel\r\n \r\n \r\n
\r\n
\r\n );\r\n}\r\n","import React, { useEffect, useMemo, useState } from \"react\";\r\nimport {\r\n Card,\r\n CardBody,\r\n CardHeader,\r\n CardHeaderToolbar,\r\n CardFooter,\r\n} from \"../../../../../_metronic/_partials/controls\";\r\nimport { CustomersFilter } from \"./customers-filter/CustomersFilter\";\r\nimport { CustomersTable } from \"./customers-table/CustomersTable\";\r\nimport { CustomersGrouping } from \"./customers-grouping/CustomersGrouping\";\r\nimport { useCustomersUIContext } from \"./CustomersUIContext\";\r\nimport { CustomerDialogForm } from \"./customer-notify-dialog/CustomerDialogForm\";\r\nimport { useParams } from \"react-router-dom\";\r\nimport {\r\n Button,\r\n InputGroup,\r\n FormControl,\r\n DropdownButton,\r\n Dropdown,\r\n Row,\r\n} from \"react-bootstrap\";\r\nimport { shallowEqual, useSelector } from \"react-redux\";\r\nimport { useSubheader } from \"../../../../../_metronic/layout\";\r\nexport function CustomersCard() {\r\n const { id } = useParams(\"id\");\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n ids: customersUIContext.ids,\r\n newCustomerButtonClick: customersUIContext.newCustomerButtonClick,\r\n };\r\n }, [customersUIContext]);\r\n const suhbeader = useSubheader();\r\n const [title, setTitle] = useState(\"\");\r\n const { actionsLoading, productForEdit } = useSelector(\r\n (state) => ({\r\n actionsLoading: state.products.actionsLoading,\r\n productForEdit: state.products.productForEdit,\r\n }),\r\n shallowEqual\r\n );\r\n useEffect(() => {\r\n let _title = id ? \"\" : \"Service Manage Carriers\";\r\n if (productForEdit && id) {\r\n _title = `'${productForEdit.Sku}'`;\r\n }\r\n\r\n setTitle(_title);\r\n suhbeader.setTitle(_title);\r\n }, [productForEdit, id]);\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n New Service Carrier\r\n \r\n \r\n \r\n \r\n \r\n \r\n {customersUIProps.ids.length > 0 && }\r\n \r\n \r\n \r\n \r\n );\r\n}\r\n","import React from \"react\";\r\nimport { Route } from \"react-router-dom\";\r\nimport { CustomersLoadingDialog } from \"./customers-loading-dialog/CustomersLoadingDialog\";\r\nimport { CustomerEditDialog } from \"./customer-edit-dialog/CustomerEditDialog\";\r\nimport { CustomerDeleteDialog } from \"./customer-delete-dialog/CustomerDeleteDialog\";\r\nimport { CustomersDeleteDialog } from \"./customers-delete-dialog/CustomersDeleteDialog\";\r\nimport { CustomersFetchDialog } from \"./customers-fetch-dialog/CustomersFetchDialog\";\r\nimport { CustomersUpdateStateDialog } from \"./customers-update-status-dialog/CustomersUpdateStateDialog\";\r\nimport { CustomersUIProvider } from \"./CustomersUIContext\";\r\nimport { CustomersCard } from \"./CustomersCard\";\r\n\r\nexport function ServiceManageCarriers({ history }) {\r\n const customersUIEvents = {\r\n newCustomerButtonClick: () => {\r\n history.push(\"/ServiceManageCarriersPage/new\");\r\n },\r\n openEditCustomerDialog: (id) => {\r\n history.push(`/ServiceManageCarriersPage/${id}/edit`);\r\n },\r\n openDeleteCustomerDialog: (id) => {\r\n history.push(`/ServiceManageCarriersPage/${id}/delete`);\r\n },\r\n openDeleteCustomersDialog: () => {\r\n history.push(`/ServiceManageCarriersPage/deleteCustomers`);\r\n },\r\n openFetchCustomersDialog: () => {\r\n history.push(`/ServiceManageCarriersPage/fetch`);\r\n },\r\n openUpdateCustomersStatusDialog: () => {\r\n history.push(\"/ServiceManageCarriersPage/updateStatus\");\r\n }\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n {({ history, match }) => (\r\n {\r\n history.push(\"/ServiceManageCarriersPage\");\r\n }}\r\n />\r\n )}\r\n \r\n \r\n {({ history, match }) => (\r\n {\r\n history.push(\"/ServiceManageCarriersPage\");\r\n }}\r\n />\r\n )}\r\n \r\n \r\n {({ history, match }) => (\r\n {\r\n history.push(\"/ServiceManageCarriersPage\");\r\n }}\r\n />\r\n )}\r\n \r\n \r\n {({ history, match }) => (\r\n {\r\n history.push(\"/ServiceManageCarriersPage\");\r\n }}\r\n />\r\n )}\r\n \r\n \r\n {({ history, match }) => (\r\n {\r\n history.push(\"/ServiceManageCarriersPage\");\r\n }}\r\n />\r\n )}\r\n \r\n \r\n {({ history, match }) => (\r\n {\r\n history.push(\"/ServiceManageCarriersPage\");\r\n }}\r\n />\r\n )}\r\n \r\n \r\n \r\n );\r\n}\r\n","import React, { useEffect } from \"react\";\r\nimport { shallowEqual, useSelector } from \"react-redux\";\r\nimport { LoadingDialog } from \"../../../../../../_metronic/_partials/controls\";\r\n\r\nexport function CustomersLoadingDialog() {\r\n // Customers Redux state\r\n const { isLoading } = useSelector(\r\n (state) => ({ isLoading: state.customers.listLoading }),\r\n shallowEqual\r\n );\r\n // looking for loading/dispatch\r\n useEffect(() => {}, [isLoading]);\r\n return ;\r\n}\r\n","import {createSlice} from \"@reduxjs/toolkit\";\r\n\r\nconst initialCustomersState = {\r\n listLoading: false,\r\n actionsLoading: false,\r\n totalCount: 0,\r\n entities: null,\r\n customerForEdit: undefined,\r\n lastError: null\r\n};\r\nexport const callTypes = {\r\n list: \"list\",\r\n action: \"action\"\r\n};\r\n\r\nexport const customersSlice = createSlice({\r\n name: \"customers\",\r\n initialState: initialCustomersState,\r\n reducers: {\r\n catchError: (state, action) => {\r\n state.error = `${action.type}: ${action.payload.error}`;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = false;\r\n } else {\r\n state.actionsLoading = false;\r\n }\r\n },\r\n startCall: (state, action) => {\r\n state.error = null;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = true;\r\n } else {\r\n state.actionsLoading = true;\r\n }\r\n },\r\n // getCustomerById\r\n customerFetched: (state, action) => {\r\n state.actionsLoading = false;\r\n state.customerForEdit = action.payload.customerForEdit;\r\n state.error = null;\r\n },\r\n // findCustomers\r\n customersFetched: (state, action) => {\r\n const { totalCount, entities } = action.payload;\r\n state.listLoading = false;\r\n state.error = null;\r\n state.entities = entities;\r\n state.totalCount = totalCount;\r\n },\r\n // createCustomer\r\n customerCreated: (state, action) => {\r\n state.actionsLoading = false;\r\n state.error = null;\r\n state.entities.push(action.payload.customer);\r\n },\r\n // updateCustomer\r\n customerUpdated: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.map(entity => {\r\n if (entity.id === action.payload.customer.id) {\r\n return action.payload.customer;\r\n }\r\n return entity;\r\n });\r\n },\r\n // deleteCustomer\r\n customerDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(el => el.id !== action.payload.id);\r\n },\r\n // deleteCustomers\r\n customersDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(\r\n el => !action.payload.ids.includes(el.id)\r\n );\r\n },\r\n // customersUpdateState\r\n customersStatusUpdated: (state, action) => {\r\n state.actionsLoading = false;\r\n state.error = null;\r\n const { ids, status } = action.payload;\r\n state.entities = state.entities.map(entity => {\r\n if (ids.findIndex(id => id === entity.id) > -1) {\r\n entity.status = status;\r\n }\r\n return entity;\r\n });\r\n }\r\n }\r\n});\r\n","import * as requestFromServer from \"./customersCrud\";\r\nimport {customersSlice, callTypes} from \"./customersSlice\";\r\n\r\nconst {actions} = customersSlice;\r\n\r\nexport const fetchCustomers = queryParams => dispatch => {\r\n dispatch(actions.startCall({ callType: callTypes.list }));\r\n return requestFromServer\r\n .findCustomers(queryParams)\r\n .then(response => {\r\n const { totalCount, entities } = response.data;\r\n dispatch(actions.customersFetched({ totalCount, entities }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't find customers\";\r\n dispatch(actions.catchError({ error, callType: callTypes.list }));\r\n });\r\n};\r\n\r\nexport const fetchCustomer = id => dispatch => {\r\n if (!id) {\r\n return dispatch(actions.customerFetched({ customerForEdit: undefined }));\r\n }\r\n\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .getCustomerById(id)\r\n .then(response => {\r\n const customer = response.data;\r\n dispatch(actions.customerFetched({ customerForEdit: customer }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't find customer\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const deleteCustomer = id => dispatch => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .deleteCustomer(id)\r\n .then(response => {\r\n dispatch(actions.customerDeleted({ id }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't delete customer\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const createCustomer = customerForCreation => dispatch => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .createCustomer(customerForCreation)\r\n .then(response => {\r\n const { customer } = response.data;\r\n dispatch(actions.customerCreated({ customer }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't create customer\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const updateCustomer = customer => dispatch => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .updateCustomer(customer)\r\n .then(() => {\r\n dispatch(actions.customerUpdated({ customer }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't update customer\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const updateCustomersStatus = (ids, status) => dispatch => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .updateStatusForCustomers(ids, status)\r\n .then(() => {\r\n dispatch(actions.customersStatusUpdated({ ids, status }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't update customers status\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const deleteCustomers = ids => dispatch => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .deleteCustomers(ids)\r\n .then(() => {\r\n dispatch(actions.customersDeleted({ ids }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't delete customers\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n","import axios from \"axios\";\r\n\r\nexport const CUSTOMERS_URL = \"api/ManageRates\";\r\n\r\n// CREATE => POST: add a new customer to the server\r\nexport function createCustomer(customer) {\r\n return axios.post(CUSTOMERS_URL, { customer });\r\n}\r\n\r\n// READ\r\nexport function getAllCustomers() {\r\n return axios.get(CUSTOMERS_URL);\r\n}\r\n\r\nexport function getCustomerById(customerId) {\r\n return axios.get(`${CUSTOMERS_URL}/${customerId}`);\r\n}\r\n\r\n// Method from server should return QueryResultsModel(items: any[], totalsCount: number)\r\n// items => filtered/sorted result\r\nexport function findCustomers(queryParams) {\r\n return axios.post(`${CUSTOMERS_URL}/find`, { queryParams });\r\n}\r\n\r\n// UPDATE => PUT: update the customer on the server\r\nexport function updateCustomer(customer) {\r\n return axios.put(`${CUSTOMERS_URL}/${customer.Id}`, { customer });\r\n}\r\n\r\n// UPDATE Status\r\nexport function updateStatusForCustomers(ids, status) {\r\n return axios.post(`${CUSTOMERS_URL}/updateStatusForCustomers`, {\r\n ids,\r\n status\r\n });\r\n}\r\n\r\n// DELETE => delete the customer from the server\r\nexport function deleteCustomer(customerId) {\r\n return axios.delete(`${CUSTOMERS_URL}/${customerId}`);\r\n}\r\n\r\n// DELETE Customers by ids\r\nexport function deleteCustomers(ids) {\r\n return axios.post(`${CUSTOMERS_URL}/deleteCustomers`, { ids });\r\n}\r\n","import React, { useState, useEffect } from \"react\";\r\nimport { shallowEqual, useSelector } from \"react-redux\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport {ModalProgressBar} from \"../../../../../../_metronic/_partials/controls\";\r\n\r\nexport function CustomerEditDialogHeader({ id }) {\r\n // Customers Redux state\r\n const { customerForEdit, actionsLoading } = useSelector(\r\n (state) => ({\r\n customerForEdit: state.customers.customerForEdit,\r\n actionsLoading: state.customers.actionsLoading,\r\n }),\r\n shallowEqual\r\n );\r\n\r\n const [title, setTitle] = useState(\"\");\r\n // Title couting\r\n useEffect(() => {\r\n let _title = id ? \"\" : \"New Rate\";\r\n if (customerForEdit && id) {\r\n _title = `Edit Rate ID:'${id}'`;\r\n }\r\n\r\n setTitle(_title);\r\n // eslint-disable-next-line\r\n }, [customerForEdit, actionsLoading]);\r\n\r\n return (\r\n <>\r\n {actionsLoading && }\r\n \r\n {title}\r\n \r\n \r\n );\r\n}\r\n","// Form is based on Formik\r\n// Data validation is based on Yup\r\n// Please, be familiar with article first:\r\n// https://hackernoon.com/react-form-validation-with-formik-and-yup-8b76bda62e10\r\nimport React, { useState, useEffect } from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { Formik, Form, Field } from \"formik\";\r\nimport * as Yup from \"yup\";\r\nimport {\r\n Input,\r\n} from \"../../../../../../_metronic/_partials/controls\";\r\nimport { Select , DatePickerField , CheckboxLargeWB} from \"../../../../../../_metronic/_partials/controls\";\r\nimport axios from \"axios\";\r\nimport { makeStyles } from '@material-ui/core/styles';\r\nimport LinearProgress from \"@material-ui/core/LinearProgress\";\r\nimport { Notification } from \"../../../../Notification\";\r\nimport $ from \"jquery\";\r\nimport TextField from \"@material-ui/core/TextField\";\r\n\r\n// Validation schema\r\nconst useStyles = makeStyles(theme => ({\r\n container: {\r\n display: 'flex',\r\n flexWrap: 'wrap',\r\n },\r\n textField: {\r\n marginLeft: theme.spacing(1),\r\n marginRight: theme.spacing(1),\r\n marginBottom: '2rem'\r\n },\r\n dense: {\r\n marginTop: theme.spacing(2),\r\n },\r\n menu: {\r\n width: 200,\r\n },\r\n col4Check :{\r\n placeSelf: 'center',\r\n paddingTop: '1.5rem'\r\n }\r\n}));\r\nexport function CustomerEditForm({\r\n saveCustomer,\r\n customer,\r\n actionsLoading,\r\n onHide,\r\n}) {\r\n const classes = useStyles();\r\n let CustomerEditSchema;\r\n if (customer.id === undefined) {\r\n CustomerEditSchema = Yup.object().shape({\r\n // Code: Yup.string()\r\n // .min(3, \"Minimum 3 symbols\")\r\n // .max(50, \"Maximum 50 symbols\")\r\n // .required(\"Code is required\"),\r\n\r\n // CustomerId: Yup.string()\r\n // .required(\"Customer is required\"),\r\n\r\n // BillingTypeId: Yup.string()\r\n // .required(\"BillingType is required\"),\r\n\r\n // Rate: Yup.string()\r\n // .required(\"Rate is required\"),\r\n\r\n // Name: Yup.string()\r\n // .min(3, \"Minimum 3 symbols\")\r\n // .max(50, \"Maximum 50 symbols\")\r\n // .required(\"Name is required\"),\r\n });\r\n } else {\r\n CustomerEditSchema = Yup.object().shape({});\r\n }\r\n useEffect(() => {\r\n fetchAsync();\r\n }, []);\r\n useEffect(() => {\r\n if(customer.DateStart){\r\n $(\"#StartDate\").val(customer.DateStart);\r\n }\r\n if(customer.DateEnd){\r\n $(\"#EndDate\").val(customer.DateEnd);\r\n }\r\n if(customer.IsQuickAdd){\r\n $(\"#IsQuickAdd\").attr(\"checked\",true);\r\n }else{\r\n $(\"#IsQuickAdd\").attr(\"checked\",false);\r\n }\r\n }, [customer]);\r\n const [customersList, setCustomers] = useState([]);\r\n const [showProgress, setshowProgress] = useState(false);\r\n const fetchAsync = async () => {\r\n try {\r\n setshowProgress(true);\r\n const result = await axios.get(\"api/ManageRates/GetAllApi\");\r\n setCustomers(result.data[\"Customers\"]);\r\n setshowProgress(false);\r\n } catch (e) { }\r\n };\r\n return (\r\n <>\r\n {\r\n if (\r\n +values.Code === \"\" ||\r\n values.Code === undefined ||\r\n +values.CustomerId === 0 ||\r\n values.CustomerId === undefined ||\r\n +values.BillingTypeId === 0 ||\r\n values.BillingTypeId === undefined ||\r\n +values.Rate === \"\" ||\r\n values.Rate === undefined ||\r\n +values.Name === \"\" ||\r\n values.Name === undefined\r\n ) {\r\n Notification(\"error\", \"Fields * is required\");\r\n return false;\r\n }\r\n saveCustomer(values);\r\n }}\r\n >\r\n {({ handleSubmit, setFieldValue ,handleBlur}) => (\r\n <>\r\n \r\n {actionsLoading && (\r\n
\r\n
\r\n
\r\n )}\r\n
\r\n
\r\n
\r\n {\r\n setFieldValue(\"CustomerId\", e.target.value);\r\n }}\r\n >\r\n \r\n {customersList.map((item, index) => (\r\n \r\n ))}\r\n \r\n {showProgress && }\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n {\r\n setFieldValue(\"IsQuickAdd\", event.target.checked);\r\n }}\r\n />\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n {\r\n setFieldValue(\"DateStart\", event.target.value);\r\n }}\r\n />\r\n
\r\n
\r\n {\r\n setFieldValue(\"DateEnd\", event.target.value);\r\n }}\r\n />\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n Cancel\r\n \r\n <> \r\n handleSubmit()}\r\n className=\"btn btn-success btn-elevate\"\r\n >\r\n Save\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n );\r\n}\r\n","export const CustomerStatusCssClasses = [\"danger\", \"success\", \"info\", \"\"];\r\nexport const CustomerStatusTitles = [\"Inactive\", \"Active\"];\r\nexport const CustomerTypeCssClasses = [\"success\", \"primary\", \"\"];\r\nexport const CustomerTypeTitles = [\"Business\", \"Individual\", \"\"];\r\nexport const defaultSorted = [{ dataField: \"id\", order: \"desc\" }];\r\nexport const sizePerPageList = [\r\n { text: \"3\", value: 3 },\r\n { text: \"5\", value: 5 },\r\n { text: \"10\", value: 10 }\r\n];\r\nexport const initialFilter = {\r\n filter: {\r\n lastName: \"\",\r\n firstName: \"\",\r\n email: \"\",\r\n ipAddress: \"\"\r\n },\r\n sortOrder: \"asc\", // asc||desc\r\n sortField: \"id\",\r\n pageNumber: 1,\r\n pageSize: 10\r\n};\r\n","import React, {createContext, useContext, useState, useCallback} from \"react\";\r\nimport {isEqual, isFunction} from \"lodash\";\r\nimport {initialFilter} from \"./CustomersUIHelpers\";\r\n\r\nconst CustomersUIContext = createContext();\r\n\r\nexport function useCustomersUIContext() {\r\n return useContext(CustomersUIContext);\r\n}\r\n\r\nexport const CustomersUIConsumer = CustomersUIContext.Consumer;\r\n\r\nexport function CustomersUIProvider({customersUIEvents, children}) {\r\n const [queryParams, setQueryParamsBase] = useState(initialFilter);\r\n const [ids, setIds] = useState([]);\r\n const setQueryParams = useCallback(nextQueryParams => {\r\n setQueryParamsBase(prevQueryParams => {\r\n if (isFunction(nextQueryParams)) {\r\n nextQueryParams = nextQueryParams(prevQueryParams);\r\n }\r\n\r\n if (isEqual(prevQueryParams, nextQueryParams)) {\r\n return prevQueryParams;\r\n }\r\n\r\n return nextQueryParams;\r\n });\r\n }, []);\r\n\r\n const initCustomer = {\r\n id: undefined,\r\n };\r\n\r\n const value = {\r\n queryParams,\r\n setQueryParamsBase,\r\n ids,\r\n setIds,\r\n setQueryParams,\r\n initCustomer,\r\n newCustomerButtonClick: customersUIEvents.newCustomerButtonClick,\r\n openEditCustomerDialog: customersUIEvents.openEditCustomerDialog,\r\n openDeleteCustomerDialog: customersUIEvents.openDeleteCustomerDialog,\r\n openDeleteCustomersDialog: customersUIEvents.openDeleteCustomersDialog,\r\n openFetchCustomersDialog: customersUIEvents.openFetchCustomersDialog,\r\n openUpdateCustomersStatusDialog: customersUIEvents.openUpdateCustomersStatusDialog\r\n };\r\n\r\n return {children};\r\n}","import React, { useEffect, useMemo } from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { shallowEqual, useDispatch, useSelector } from \"react-redux\";\r\nimport * as actions from \"../../../_redux/ManageRates/customersActions\";\r\nimport { CustomerEditDialogHeader } from \"./CustomerEditDialogHeader\";\r\nimport { CustomerEditForm } from \"./CustomerEditForm\";\r\nimport { useCustomersUIContext } from \"../CustomersUIContext\";\r\n\r\nexport function CustomerEditDialog({ id, show, onHide }) {\r\n // Customers UI Context\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n initCustomer: customersUIContext.initCustomer,\r\n };\r\n }, [customersUIContext]);\r\n\r\n // Customers Redux state\r\n const dispatch = useDispatch();\r\n const { actionsLoading, customerForEdit } = useSelector(\r\n (state) => ({\r\n actionsLoading: state.customers.actionsLoading,\r\n customerForEdit: state.customers.customerForEdit,\r\n }),\r\n shallowEqual\r\n );\r\n\r\n useEffect(() => {\r\n // server call for getting Customer by id\r\n dispatch(actions.fetchCustomer(id));\r\n }, [id, dispatch]);\r\n\r\n // server request for saving customer\r\n const saveCustomer = (customer) => {\r\n if (!id) {\r\n // server request for creating customer\r\n dispatch(actions.createCustomer(customer)).then(() => onHide());\r\n } else {\r\n // server request for updating customer\r\n dispatch(actions.updateCustomer(customer)).then(() => onHide());\r\n }\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n}\r\n","import React, { useEffect, useMemo } from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { shallowEqual, useDispatch, useSelector } from \"react-redux\";\r\nimport {ModalProgressBar} from \"../../../../../../_metronic/_partials/controls\";\r\nimport * as actions from \"../../../_redux/ManageRates/customersActions\";\r\nimport {useCustomersUIContext} from \"../CustomersUIContext\";\r\n\r\nexport function CustomerDeleteDialog({ id, show, onHide }) {\r\n // Customers UI Context\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n setIds: customersUIContext.setIds,\r\n queryParams: customersUIContext.queryParams\r\n };\r\n }, [customersUIContext]);\r\n\r\n // Customers Redux state\r\n const dispatch = useDispatch();\r\n const { isLoading } = useSelector(\r\n (state) => ({ isLoading: state.customers.actionsLoading }),\r\n shallowEqual\r\n );\r\n\r\n // if !id we should close modal\r\n useEffect(() => {\r\n if (!id) {\r\n onHide();\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [id]);\r\n\r\n // looking for loading/dispatch\r\n useEffect(() => {}, [isLoading, dispatch]);\r\n\r\n const deleteCustomer = () => {\r\n // server request for deleting customer by id\r\n dispatch(actions.deleteCustomer(id)).then(() => {\r\n // refresh list after deletion\r\n dispatch(actions.fetchCustomers(customersUIProps.queryParams));\r\n // clear selections list\r\n customersUIProps.setIds([]);\r\n // closing delete modal\r\n onHide();\r\n });\r\n };\r\n\r\n return (\r\n \r\n {/*begin::Loading*/}\r\n {isLoading && }\r\n {/*end::Loading*/}\r\n \r\n \r\n Rate Delete\r\n \r\n \r\n \r\n {!isLoading && (\r\n Are you sure to permanently delete this Rate ?\r\n )}\r\n {isLoading && Rate is deleting...}\r\n \r\n \r\n
\r\n \r\n Cancel\r\n \r\n <> \r\n \r\n Delete\r\n \r\n
\r\n
\r\n \r\n );\r\n}\r\n","import React, { useEffect, useMemo } from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { shallowEqual, useDispatch, useSelector } from \"react-redux\";\r\nimport * as actions from \"../../../_redux/ManageRates/customersActions\";\r\nimport { useCustomersUIContext } from \"../CustomersUIContext\";\r\nimport {ModalProgressBar} from \"../../../../../../_metronic/_partials/controls\";\r\n\r\nexport function CustomersDeleteDialog({ show, onHide }) {\r\n // Customers UI Context\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n ids: customersUIContext.ids,\r\n setIds: customersUIContext.setIds,\r\n queryParams: customersUIContext.queryParams,\r\n };\r\n }, [customersUIContext]);\r\n\r\n // Customers Redux state\r\n const dispatch = useDispatch();\r\n const { isLoading } = useSelector(\r\n (state) => ({ isLoading: state.customers.actionsLoading }),\r\n shallowEqual\r\n );\r\n\r\n // if customers weren't selected we should close modal\r\n useEffect(() => {\r\n if (!customersUIProps.ids || customersUIProps.ids.length === 0) {\r\n onHide();\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [customersUIProps.ids]);\r\n\r\n // looking for loading/dispatch\r\n useEffect(() => {}, [isLoading, dispatch]);\r\n\r\n const deleteCustomers = () => {\r\n // server request for deleting customer by selected ids\r\n dispatch(actions.deleteCustomers(customersUIProps.ids)).then(() => {\r\n // refresh list after deletion\r\n dispatch(actions.fetchCustomers(customersUIProps.queryParams)).then(\r\n () => {\r\n // clear selections list\r\n customersUIProps.setIds([]);\r\n // closing delete modal\r\n onHide();\r\n }\r\n );\r\n });\r\n };\r\n\r\n return (\r\n \r\n {/*begin::Loading*/}\r\n {isLoading && }\r\n {/*end::Loading*/}\r\n \r\n \r\n Rates Delete\r\n \r\n \r\n \r\n {!isLoading && (\r\n Are you sure to permanently delete selected Rate ?\r\n )}\r\n {isLoading && Rate are deleting...}\r\n \r\n \r\n
\r\n \r\n Cancel\r\n \r\n <> \r\n \r\n Delete\r\n \r\n
\r\n
\r\n \r\n );\r\n}\r\n","import React, { useEffect, useMemo } from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { shallowEqual, useSelector } from \"react-redux\";\r\nimport { CustomerStatusCssClasses } from \"../CustomersUIHelpers\";\r\nimport { useCustomersUIContext } from \"../CustomersUIContext\";\r\n\r\nconst selectedCustomers = (entities, ids) => {\r\n const _customers = [];\r\n ids.forEach((id) => {\r\n const customer = entities.find((el) => el.id === id);\r\n if (customer) {\r\n _customers.push(customer);\r\n }\r\n });\r\n return _customers;\r\n};\r\n\r\nexport function CustomersFetchDialog({ show, onHide }) {\r\n // Customers UI Context\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n ids: customersUIContext.ids,\r\n };\r\n }, [customersUIContext]);\r\n\r\n // Customers Redux state\r\n const { customers } = useSelector(\r\n (state) => ({\r\n customers: selectedCustomers(\r\n state.customers.entities,\r\n customersUIProps.ids\r\n ),\r\n }),\r\n shallowEqual\r\n );\r\n\r\n // if customers weren't selected we should close modal\r\n useEffect(() => {\r\n if (!customersUIProps.ids || customersUIProps.ids.length === 0) {\r\n onHide();\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [customersUIProps.ids]);\r\n\r\n return (\r\n \r\n \r\n \r\n Fetch selected elements\r\n \r\n \r\n \r\n
\r\n {customers.map((customer) => (\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n ID: {customer.id}\r\n \r\n {customer.lastName}, {customer.firstName} \r\n
\r\n
\r\n ))}\r\n
\r\n \r\n \r\n
\r\n \r\n Cancel\r\n \r\n <> \r\n \r\n Ok\r\n \r\n
\r\n
\r\n \r\n );\r\n}\r\n","import React, { useEffect, useState, useMemo } from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { shallowEqual, useDispatch, useSelector } from \"react-redux\";\r\nimport { CustomerStatusCssClasses } from \"../CustomersUIHelpers\";\r\nimport * as actions from \"../../../_redux/ManageRates/customersActions\";\r\nimport { useCustomersUIContext } from \"../CustomersUIContext\";\r\n\r\nconst selectedCustomers = (entities, ids) => {\r\n const _customers = [];\r\n ids.forEach((id) => {\r\n const customer = entities.find((el) => el.id === id);\r\n if (customer) {\r\n _customers.push(customer);\r\n }\r\n });\r\n return _customers;\r\n};\r\n\r\nexport function CustomersUpdateStateDialog({ show, onHide }) {\r\n // Customers UI Context\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n ids: customersUIContext.ids,\r\n setIds: customersUIContext.setIds,\r\n queryParams: customersUIContext.queryParams,\r\n };\r\n }, [customersUIContext]);\r\n\r\n // Customers Redux state\r\n const { customers, isLoading } = useSelector(\r\n (state) => ({\r\n customers: selectedCustomers(\r\n state.customers.entities,\r\n customersUIProps.ids\r\n ),\r\n isLoading: state.customers.actionsLoading,\r\n }),\r\n shallowEqual\r\n );\r\n\r\n // if !id we should close modal\r\n useEffect(() => {\r\n if (!customersUIProps.ids || customersUIProps.ids.length === 0) {\r\n onHide();\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [customersUIProps.ids]);\r\n\r\n const [status, setStatus] = useState(0);\r\n\r\n const dispatch = useDispatch();\r\n const updateStatus = () => {\r\n // server request for update customers status by selected ids\r\n dispatch(actions.updateCustomersStatus(customersUIProps.ids, status)).then(\r\n () => {\r\n // refresh list after deletion\r\n dispatch(actions.fetchCustomers(customersUIProps.queryParams)).then(\r\n () => {\r\n // clear selections list\r\n customersUIProps.setIds([]);\r\n // closing delete modal\r\n onHide();\r\n }\r\n );\r\n }\r\n );\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n Status has been updated for selected User\r\n \r\n \r\n \r\n {/*begin::Loading*/}\r\n {isLoading && (\r\n
\r\n
\r\n
\r\n )}\r\n {/*end::Loading*/}\r\n\r\n
\r\n {customers.map((customer) => (\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n ID: {customer.id}\r\n \r\n \r\n {customer.lastName}, {customer.firstName}\r\n \r\n
\r\n
\r\n ))}\r\n
\r\n \r\n \r\n
\r\n setStatus(+e.target.value)}\r\n >\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n Cancel\r\n \r\n \r\n Update Status\r\n \r\n
\r\n
\r\n \r\n );\r\n}\r\n","import React, { useMemo, useEffect, useState } from \"react\";\r\nimport { Formik } from \"formik\";\r\nimport { isEqual } from \"lodash\";\r\nimport { useCustomersUIContext } from \"../CustomersUIContext\";\r\nimport { Select } from \"../../../../../../_metronic/_partials/controls\";\r\nimport axios from \"axios\";\r\nimport LinearProgress from \"@material-ui/core/LinearProgress\";\r\nimport {\r\n ButtonToolbar,\r\n} from \"react-bootstrap\";\r\nimport ListItemIcon from '@material-ui/core/ListItemIcon';\r\nimport ListItemText from '@material-ui/core/ListItemText';\r\nimport { makeStyles } from '@material-ui/core/styles';\r\nimport { Export } from \"../../../../../../_metronic/_helpers/ATHelpers\";\r\nimport { withStyles } from '@material-ui/core/styles';\r\nimport Button from '@material-ui/core/Button';\r\nimport Icon from '@material-ui/core/Icon';\r\nimport Menu from '@material-ui/core/Menu';\r\nimport MenuItem from '@material-ui/core/MenuItem';\r\nconst useStyles = makeStyles(theme => ({\r\n button: {\r\n margin: theme.spacing(1),\r\n },\r\n leftIcon: {\r\n marginRight: theme.spacing(1),\r\n },\r\n rightIcon: {\r\n marginLeft: theme.spacing(1),\r\n },\r\n iconSmall: {\r\n fontSize: 20,\r\n },\r\n}));\r\nconst StyledMenu = withStyles({\r\n paper: {\r\n border: '1px solid #d3d4d5',\r\n },\r\n})(props => (\r\n \r\n));\r\nconst StyledMenuItem = withStyles(theme => ({\r\n root: {\r\n '&:focus': {\r\n backgroundColor: theme.palette.primary.main,\r\n '& .MuiListItemIcon-root, & .MuiListItemText-primary': {\r\n color: theme.palette.common.white,\r\n },\r\n },\r\n },\r\n}))(MenuItem);\r\nexport function CustomersFilter({ listLoading }) {\r\n const [anchorEl, setAnchorEl] = React.useState(null);\r\n const [QueryFilter, setQueryFilter] = useState(\"\");\r\n function handleClick(event) {\r\n setAnchorEl(event.currentTarget);\r\n }\r\n function handleClose() {\r\n setAnchorEl(null);\r\n }\r\n async function fetchMyAPI2(type, entityName) {\r\n if (QueryFilter) {\r\n QueryFilter.pageSize = 1000;\r\n const result = await axios.post(`api/ManageRates/find`, { \"queryParams\": QueryFilter });\r\n Export(result.data.entities, type, entityName);\r\n } else {\r\n const result = await axios.post(`api/ManageRates/find`, { \"queryParams\": { \"filter\": { \"CustomerId\": \"\", \"BillingTypeId\": \"\"}, \"sortOrder\": \"asc\", \"sortField\": \"id\", \"pageNumber\": 1, \"pageSize\": 100000 } });\r\n Export(result.data.entities, type, entityName);\r\n }\r\n }\r\n // Customers UI Context\r\n const customersUIContext = useCustomersUIContext();\r\n const classes = useStyles();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n queryParams: customersUIContext.queryParams,\r\n setQueryParams: customersUIContext.setQueryParams,\r\n };\r\n }, [customersUIContext]);\r\n\r\n // queryParams, setQueryParams,\r\n const applyFilter = (values) => {\r\n const newQueryParams = prepareFilter(customersUIProps.queryParams, values);\r\n if (!isEqual(newQueryParams, customersUIProps.queryParams)) {\r\n newQueryParams.pageNumber = 1;\r\n // update list by queryParams\r\n customersUIProps.setQueryParams(newQueryParams);\r\n setQueryFilter(newQueryParams);\r\n }\r\n };\r\n const prepareFilter = (queryParams, values) => {\r\n const { ReLoadTable , CustomerId , BillingTypeId} = values;\r\n const newQueryParams = { ...queryParams };\r\n const filter = {};\r\n filter.CustomerId = CustomerId !== \"\" ? CustomerId : \"\";\r\n filter.BillingTypeId = BillingTypeId !== \"\" ? BillingTypeId : \"\";\r\n filter.ReLoadTable = ReLoadTable;\r\n newQueryParams.filter = filter;\r\n return newQueryParams;\r\n };\r\n //get the list of name\r\n useEffect(() => {\r\n fetchAsync();\r\n }, []);\r\n const [Name, setName] = useState([]);\r\n const [showProgress, setshowProgress] = useState(false);\r\n const fetchAsync = async () => {\r\n try {\r\n setshowProgress(true);\r\n const result = await axios.get(\"api/ManageRates/GetAllApi\");\r\n setName(result.data[\"Customers\"]);\r\n setshowProgress(false);\r\n } catch (e) { }\r\n };\r\n\r\n return (\r\n <>\r\n All=\"\"/Susspended=0/Active=1/Pending=2\r\n BillintTypeId: \"\",// values => All=\"\"/Business=0/Individual=1\r\n ReLoadTable : 0\r\n }}\r\n onSubmit={(values) => {\r\n fetchAsync();\r\n applyFilter(values);\r\n }}\r\n >\r\n {({\r\n values,\r\n handleSubmit,\r\n handleBlur,\r\n handleChange,\r\n setFieldValue,\r\n }) => (\r\n
\r\n {\r\n if (e.target.value == \"0\")\r\n document.getElementById(\"ReLoadTableId\").value = 1;\r\n else document.getElementById(\"ReLoadTableId\").value = 0;\r\n setFieldValue(\"ReLoadTable\", e.target.value);\r\n handleSubmit();\r\n }}\r\n />\r\n
\r\n
\r\n \r\n \r\n \r\n {\r\n fetchMyAPI2(\"excel\", \"Manage Rates\");\r\n }}>\r\n \r\n \r\n \r\n \r\n \r\n {\r\n fetchMyAPI2(\"csv\", \" Manage Rates\")\r\n }} >\r\n \r\n \r\n \r\n \r\n \r\n {\r\n fetchMyAPI2(\"json\", \"Manage Rates\")\r\n }}>\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n {/* */}\r\n \r\n
\r\n
\r\n
\r\n
\r\n {\r\n setFieldValue(\"CustomerId\", e.target.value);\r\n handleSubmit();\r\n }}\r\n value={values.CustomerId}\r\n >\r\n \r\n {Name.map((item, index) => (\r\n \r\n ))}\r\n \r\n {showProgress && }\r\n \r\n Choose a Customer\r\n \r\n
\r\n
\r\n {\r\n setFieldValue(\"BillingTypeId\", e.target.value);\r\n handleSubmit();\r\n }}\r\n value={values.BillingTypeId}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n Choose a Billing Type\r\n \r\n
\r\n
\r\n \r\n )}\r\n \r\n \r\n );\r\n}\r\n","// please be familiar with react-bootstrap-table-next column formaters\r\n// https://react-bootstrap-table.github.io/react-bootstrap-table2/storybook/index.html?selectedKind=Work%20on%20Columns&selectedStory=Column%20Formatter&full=0&addons=1&stories=1&panelRight=0&addonPanel=storybook%2Factions%2Factions-panel\r\n/* eslint-disable no-script-url,jsx-a11y/anchor-is-valid */\r\nimport React from \"react\";\r\nimport SVG from \"react-inlinesvg\";\r\nimport { toAbsoluteUrl } from \"../../../../../../../_metronic/_helpers\";\r\n\r\nexport function ActionsColumnFormatter(\r\n cellContent,\r\n row,\r\n rowIndex,\r\n { openEditCustomerDialog, openDeleteCustomerDialog }\r\n) {\r\n return (\r\n <>\r\n openEditCustomerDialog(row.id)}\r\n >\r\n \r\n \r\n \r\n \r\n <> \r\n\r\n openDeleteCustomerDialog(row.id)}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n","import React from \"react\";\r\nexport function DateColumnFormatterEnd(cellContent, row) {\r\n var re = new RegExp(\"/\", \"g\");\r\n let elapsed;\r\n if(row.DateEnd){\r\n elapsed = new Date(row.DateEnd).toLocaleString().replace(re, \"-\");\r\n }else{\r\n elapsed = \"Empty\";\r\n }\r\n return (\r\n <>\r\n \r\n {elapsed}\r\n \r\n \r\n );\r\n}\r\n","import React from \"react\";\r\nexport function DateColumnFormatterStart(cellContent, row) {\r\n var re = new RegExp(\"/\", \"g\");\r\n let elapsed;\r\n if(row.DateStart){\r\n elapsed = new Date(row.DateStart).toLocaleString().replace(re, \"-\");\r\n }else{\r\n elapsed = \"Empty\";\r\n }\r\n return (\r\n <>\r\n \r\n {elapsed}\r\n \r\n \r\n );\r\n}\r\n","// React bootstrap table next =>\r\n// DOCS: https://react-bootstrap-table.github.io/react-bootstrap-table2/docs/\r\n// STORYBOOK: https://react-bootstrap-table.github.io/react-bootstrap-table2/storybook/index.html\r\nimport React, { useEffect, useMemo } from \"react\";\r\nimport BootstrapTable from \"react-bootstrap-table-next\";\r\nimport paginationFactory, {\r\n PaginationProvider,\r\n} from \"react-bootstrap-table2-paginator\";\r\nimport { shallowEqual, useDispatch, useSelector } from \"react-redux\";\r\nimport * as actions from \"../../../_redux/ManageRates/customersActions\";\r\nimport {\r\n getSelectRow,\r\n getHandlerTableChange,\r\n NoRecordsFoundMessage,\r\n PleaseWaitMessage,\r\n sortCaret,\r\n headerSortingClasses,\r\n} from \"../../../../../../_metronic/_helpers\";\r\nimport * as uiHelpers from \"../CustomersUIHelpers\";\r\nimport * as columnFormatters from \"./column-formatters\";\r\nimport { Pagination } from \"../../../../../../_metronic/_partials/controls\";\r\nimport { useCustomersUIContext } from \"../CustomersUIContext\";\r\n\r\nexport function CustomersTable() {\r\n // Customers UI Context\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n ids: customersUIContext.ids,\r\n setIds: customersUIContext.setIds,\r\n queryParams: customersUIContext.queryParams,\r\n setQueryParams: customersUIContext.setQueryParams,\r\n openEditCustomerDialog: customersUIContext.openEditCustomerDialog,\r\n openDeleteCustomerDialog: customersUIContext.openDeleteCustomerDialog,\r\n };\r\n }, [customersUIContext]);\r\n\r\n // Getting curret state of customers list from store (Redux)\r\n const { currentState } = useSelector(\r\n (state) => ({ currentState: state.customers }),\r\n shallowEqual\r\n );\r\n const { totalCount, entities, listLoading } = currentState;\r\n\r\n // Customers Redux state\r\n const dispatch = useDispatch();\r\n useEffect(() => {\r\n // clear selections list\r\n customersUIProps.setIds([]);\r\n // server call by queryParams\r\n dispatch(actions.fetchCustomers(customersUIProps.queryParams));\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [customersUIProps.queryParams, dispatch]);\r\n // Table columns\r\n const columns = [\r\n {\r\n dataField: \"id\",\r\n text: \"ID\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n headerSortingClasses,\r\n },\r\n {\r\n dataField: \"Name\",\r\n text: \"Name\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n headerSortingClasses,\r\n },\r\n {\r\n dataField: \"Code\",\r\n text: \"Code\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n headerSortingClasses,\r\n },\r\n {\r\n dataField: \"CustomerName\",\r\n text: \"Customer\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n headerSortingClasses,\r\n },\r\n {\r\n dataField: \"BillingType\",\r\n text: \"Billing Type\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n headerSortingClasses,\r\n },\r\n {\r\n dataField: \"Rate\",\r\n text: \"Rate\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n headerSortingClasses,\r\n },\r\n {\r\n dataField: \"Description\",\r\n text: \"Description\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n headerSortingClasses,\r\n },\r\n {\r\n dataField: \"DateStart\",\r\n text: \"Date Start\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n headerSortingClasses,\r\n formatter: columnFormatters.DateColumnFormatterStart,\r\n },\r\n {\r\n dataField: \"DateEnd\",\r\n text: \"Date End\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n headerSortingClasses,\r\n formatter: columnFormatters.DateColumnFormatterEnd,\r\n },\r\n {\r\n dataField: \"IsQuickAdd\",\r\n text: \"Is Quick Add\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n headerSortingClasses,\r\n },\r\n {\r\n dataField: \"action\",\r\n text: \"Actions\",\r\n formatter: columnFormatters.ActionsColumnFormatter,\r\n formatExtraData: {\r\n openEditCustomerDialog: customersUIProps.openEditCustomerDialog,\r\n openDeleteCustomerDialog: customersUIProps.openDeleteCustomerDialog,\r\n },\r\n classes: \"text-center pr-0\",\r\n headerClasses: \"text-center pr-3\",\r\n style: {\r\n minWidth: \"100px\",\r\n },\r\n },\r\n ];\r\n // Table pagination properties\r\n const paginationOptions = {\r\n custom: true,\r\n totalSize: totalCount,\r\n sizePerPageList: uiHelpers.sizePerPageList,\r\n sizePerPage: customersUIProps.queryParams.pageSize,\r\n page: customersUIProps.queryParams.pageNumber,\r\n };\r\n return (\r\n <>\r\n \r\n {({ paginationProps, paginationTableProps }) => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n }}\r\n \r\n \r\n );\r\n}\r\n","import React, { useMemo } from \"react\";\r\nimport { useCustomersUIContext } from \"../CustomersUIContext\";\r\n\r\nexport function CustomersGrouping() {\r\n // Customers UI Context\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n ids: customersUIContext.ids,\r\n setIds: customersUIContext.setIds,\r\n openDeleteCustomersDialog: customersUIContext.openDeleteCustomersDialog,\r\n openFetchCustomersDialog: customersUIContext.openFetchCustomersDialog,\r\n openUpdateCustomersStatusDialog:\r\n customersUIContext.openUpdateCustomersStatusDialog,\r\n };\r\n }, [customersUIContext]);\r\n\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n Delete All\r\n \r\n  \r\n
\r\n
\r\n
\r\n
\r\n
\r\n );\r\n}\r\n","import React, { useMemo } from \"react\";\r\nimport {\r\n Card,\r\n CardBody,\r\n CardHeader,\r\n CardHeaderToolbar,\r\n} from \"../../../../../_metronic/_partials/controls\";\r\nimport { CustomersFilter } from \"./customers-filter/CustomersFilter\";\r\nimport { CustomersTable } from \"./customers-table/CustomersTable\";\r\nimport { CustomersGrouping } from \"./customers-grouping/CustomersGrouping\";\r\nimport { useCustomersUIContext } from \"./CustomersUIContext\";\r\nexport function CustomersCard() {\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n ids: customersUIContext.ids,\r\n newCustomerButtonClick: customersUIContext.newCustomerButtonClick,\r\n };\r\n }, [customersUIContext]);\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n Add Rate\r\n \r\n \r\n \r\n \r\n \r\n {customersUIProps.ids.length > 0 && }\r\n \r\n \r\n \r\n );\r\n}\r\n","import React from \"react\";\r\nimport { Route } from \"react-router-dom\";\r\nimport { CustomersLoadingDialog } from \"./customers-loading-dialog/CustomersLoadingDialog\";\r\nimport { CustomerEditDialog } from \"./customer-edit-dialog/CustomerEditDialog\";\r\nimport { CustomerDeleteDialog } from \"./customer-delete-dialog/CustomerDeleteDialog\";\r\nimport { CustomersDeleteDialog } from \"./customers-delete-dialog/CustomersDeleteDialog\";\r\nimport { CustomersFetchDialog } from \"./customers-fetch-dialog/CustomersFetchDialog\";\r\nimport { CustomersUpdateStateDialog } from \"./customers-update-status-dialog/CustomersUpdateStateDialog\";\r\nimport { CustomersUIProvider } from \"./CustomersUIContext\";\r\nimport { CustomersCard } from \"./CustomersCard\";\r\n\r\nexport function ManageRatesBilling({ history }) {\r\n const customersUIEvents = {\r\n newCustomerButtonClick: () => {\r\n history.push(\"/ManageRatesBilling/new\");\r\n },\r\n openEditCustomerDialog: (id) => {\r\n history.push(`/ManageRatesBilling/${id}/edit`);\r\n },\r\n openDeleteCustomerDialog: (id) => {\r\n history.push(`/ManageRatesBilling/${id}/delete`);\r\n },\r\n openDeleteCustomersDialog: () => {\r\n history.push(`/ManageRatesBilling/deleteCustomers`);\r\n },\r\n openFetchCustomersDialog: () => {\r\n history.push(`/ManageRatesBilling/fetch`);\r\n },\r\n openUpdateCustomersStatusDialog: () => {\r\n history.push(\"/ManageRatesBilling/updateStatus\");\r\n }\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n {({ history, match }) => (\r\n {\r\n history.push(\"/ManageRatesBilling\");\r\n }}\r\n />\r\n )}\r\n \r\n \r\n {({ history, match }) => (\r\n {\r\n history.push(\"/ManageRatesBilling\");\r\n }}\r\n />\r\n )}\r\n \r\n \r\n {({ history, match }) => (\r\n {\r\n history.push(\"/ManageRatesBilling\");\r\n }}\r\n />\r\n )}\r\n \r\n \r\n {({ history, match }) => (\r\n {\r\n history.push(\"/ManageRatesBilling\");\r\n }}\r\n />\r\n )}\r\n \r\n \r\n {({ history, match }) => (\r\n {\r\n history.push(\"/ManageRatesBilling\");\r\n }}\r\n />\r\n )}\r\n \r\n \r\n {({ history, match }) => (\r\n {\r\n history.push(\"/ManageRatesBilling\");\r\n }}\r\n />\r\n )}\r\n \r\n \r\n \r\n );\r\n}\r\n","import React, { useEffect } from \"react\";\r\nimport { shallowEqual, useSelector } from \"react-redux\";\r\nimport { LoadingDialog } from \"../../../../../../_metronic/_partials/controls\";\r\n\r\nexport function CustomersLoadingDialog() {\r\n // Customers Redux state\r\n const { isLoading } = useSelector(\r\n (state) => ({ isLoading: state.customers.listLoading }),\r\n shallowEqual\r\n );\r\n // looking for loading/dispatch\r\n useEffect(() => {}, [isLoading]);\r\n return ;\r\n}\r\n","import axios from \"axios\";\r\n\r\nexport const CUSTOMERS_URL = \"api/TransactionBillingShipping\";\r\n\r\n// CREATE => POST: add a new customer to the server\r\nexport function createCustomer(customer) {\r\n return axios.post(CUSTOMERS_URL, { customer });\r\n}\r\n\r\n// READ\r\nexport function getAllCustomers() {\r\n return axios.get(CUSTOMERS_URL);\r\n}\r\n\r\nexport function getCustomerById(customerId) {\r\n return axios.get(`${CUSTOMERS_URL}/${customerId}`);\r\n}\r\n\r\n// Method from server should return QueryResultsModel(items: any[], totalsCount: number)\r\n// items => filtered/sorted result\r\nexport function findCustomers(queryParams) {\r\n return axios.post(`${CUSTOMERS_URL}/find`, { queryParams });\r\n}\r\n\r\n// UPDATE => PUT: update the customer on the server\r\nexport function updateCustomer(customer) {\r\n return axios.put(`${CUSTOMERS_URL}/${customer.id}`, { customer });\r\n}\r\n\r\n// UPDATE Status\r\nexport function updateStatusForCustomers(ids, status) {\r\n return axios.post(`${CUSTOMERS_URL}/updateStatusForCustomers`, {\r\n ids,\r\n status\r\n });\r\n}\r\n\r\n// DELETE => delete the customer from the server\r\nexport function deleteCustomer(customerId) {\r\n return axios.delete(`${CUSTOMERS_URL}/${customerId}`);\r\n}\r\n\r\n// DELETE Customers by ids\r\nexport function deleteCustomers(ids) {\r\n return axios.post(`${CUSTOMERS_URL}/deleteCustomers`, { ids });\r\n}\r\n","import {createSlice} from \"@reduxjs/toolkit\";\r\n\r\nconst initialCustomersState = {\r\n listLoading: false,\r\n actionsLoading: false,\r\n totalCount: 0,\r\n entities: null,\r\n customerForEdit: undefined,\r\n lastError: null\r\n};\r\nexport const callTypes = {\r\n list: \"list\",\r\n action: \"action\"\r\n};\r\n\r\nexport const customersSlice = createSlice({\r\n name: \"customers\",\r\n initialState: initialCustomersState,\r\n reducers: {\r\n catchError: (state, action) => {\r\n state.error = `${action.type}: ${action.payload.error}`;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = false;\r\n } else {\r\n state.actionsLoading = false;\r\n }\r\n },\r\n startCall: (state, action) => {\r\n state.error = null;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = true;\r\n } else {\r\n state.actionsLoading = true;\r\n }\r\n },\r\n // getCustomerById\r\n customerFetched: (state, action) => {\r\n state.actionsLoading = false;\r\n state.customerForEdit = action.payload.customerForEdit;\r\n state.error = null;\r\n },\r\n // findCustomers\r\n customersFetched: (state, action) => {\r\n const { totalCount, entities } = action.payload;\r\n state.listLoading = false;\r\n state.error = null;\r\n state.entities = entities;\r\n state.totalCount = totalCount;\r\n },\r\n // createCustomer\r\n customerCreated: (state, action) => {\r\n state.actionsLoading = false;\r\n state.error = null;\r\n state.entities.push(action.payload.customer);\r\n },\r\n // updateCustomer\r\n customerUpdated: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.map(entity => {\r\n if (entity.id === action.payload.customer.id) {\r\n return action.payload.customer;\r\n }\r\n return entity;\r\n });\r\n },\r\n // deleteCustomer\r\n customerDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(el => el.id !== action.payload.id);\r\n },\r\n // deleteCustomers\r\n customersDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(\r\n el => !action.payload.ids.includes(el.id)\r\n );\r\n },\r\n // customersUpdateState\r\n customersStatusUpdated: (state, action) => {\r\n state.actionsLoading = false;\r\n state.error = null;\r\n const { ids, status } = action.payload;\r\n state.entities = state.entities.map(entity => {\r\n if (ids.findIndex(id => id === entity.id) > -1) {\r\n entity.status = status;\r\n }\r\n return entity;\r\n });\r\n }\r\n }\r\n});\r\n","import * as requestFromServer from \"./customersCrud\";\r\nimport {customersSlice, callTypes} from \"./customersSlice\";\r\n\r\nconst {actions} = customersSlice;\r\n\r\nexport const fetchCustomers = queryParams => dispatch => {\r\n dispatch(actions.startCall({ callType: callTypes.list }));\r\n return requestFromServer\r\n .findCustomers(queryParams)\r\n .then(response => {\r\n const { totalCount, entities } = response.data;\r\n dispatch(actions.customersFetched({ totalCount, entities }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't find Transaction Billing Shipping\";\r\n dispatch(actions.catchError({ error, callType: callTypes.list }));\r\n });\r\n};\r\n\r\nexport const fetchCustomer = id => dispatch => {\r\n if (!id) {\r\n return dispatch(actions.customerFetched({ customerForEdit: undefined }));\r\n }\r\n\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .getCustomerById(id)\r\n .then(response => {\r\n const customer = response.data;\r\n dispatch(actions.customerFetched({ customerForEdit: customer }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't find Transaction Billing Shipping\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const deleteCustomer = id => dispatch => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .deleteCustomer(id)\r\n .then(response => {\r\n dispatch(actions.customerDeleted({ id }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't delete Transaction Billing Shipping\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const createCustomer = customerForCreation => dispatch => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .createCustomer(customerForCreation)\r\n .then(response => {\r\n const { customer } = response.data;\r\n dispatch(actions.customerCreated({ customer }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't create Transaction Billing Shipping\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const updateCustomer = customer => dispatch => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .updateCustomer(customer)\r\n .then(() => {\r\n dispatch(actions.customerUpdated({ customer }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't update Transaction Billing Shipping\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const updateCustomersStatus = (ids, status) => dispatch => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .updateStatusForCustomers(ids, status)\r\n .then(() => {\r\n dispatch(actions.customersStatusUpdated({ ids, status }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't update Transaction Billing Shipping status\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const deleteCustomers = ids => dispatch => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .deleteCustomers(ids)\r\n .then(() => {\r\n dispatch(actions.customersDeleted({ ids }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't delete Transaction Billing Shipping\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n","import React, { useState, useEffect } from \"react\";\r\nimport { shallowEqual, useSelector } from \"react-redux\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport {ModalProgressBar} from \"../../../../../../_metronic/_partials/controls\";\r\n\r\nexport function CustomerEditDialogHeader({ id }) {\r\n // Customers Redux state\r\n const { customerForEdit, actionsLoading } = useSelector(\r\n (state) => ({\r\n customerForEdit: state.customers.customerForEdit,\r\n actionsLoading: state.customers.actionsLoading,\r\n }),\r\n shallowEqual\r\n );\r\n\r\n const [title, setTitle] = useState(\"\");\r\n // Title couting\r\n useEffect(() => {\r\n let _title = id ? \"\" : \"Charge\";\r\n if (customerForEdit && id) {\r\n _title = `Edit Transaction Billing Shipping '${customerForEdit.Description}'`;\r\n }\r\n\r\n setTitle(_title);\r\n // eslint-disable-next-line\r\n }, [customerForEdit, actionsLoading]);\r\n\r\n return (\r\n <>\r\n {actionsLoading && }\r\n \r\n {title}\r\n \r\n \r\n );\r\n}\r\n","// Form is based on Formik\r\n// Data validation is based on Yup\r\n// Please, be familiar with article first:\r\n// https://hackernoon.com/react-form-validation-with-formik-and-yup-8b76bda62e10\r\nimport React, { useEffect, useState } from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { Formik, Form, Field } from \"formik\";\r\nimport * as Yup from \"yup\";\r\nimport Radio from '@material-ui/core/Radio';\r\nimport RadioGroup from '@material-ui/core/RadioGroup';\r\nimport { makeStyles } from '@material-ui/core/styles';\r\nimport FormHelperText from '@material-ui/core/FormHelperText';\r\nimport FormControlLabel from '@material-ui/core/FormControlLabel';\r\nimport FormControl from '@material-ui/core/FormControl';\r\nimport FormLabel from '@material-ui/core/FormLabel';\r\nimport { Dropdown } from \"react-bootstrap\";\r\nimport { DropdownMenu2 } from \"../../../../../../_metronic/_partials/dropdowns\";\r\nimport {\r\n Input,\r\n Select,\r\n RadioButton,\r\n DatePickerField,\r\n} from \"../../../../../../_metronic/_partials/controls\";\r\nimport axios from \"axios\";\r\n\r\n // Validation schema\r\n const ReceiptEditSchema = Yup.object().shape({\r\n Rate: Yup.string()\r\n .required(\"Rate is required\"),\r\n });\r\nconst useStyles = makeStyles(theme => ({\r\n root: {\r\n display: 'flex',\r\n },\r\n formControl: {\r\n margin: theme.spacing(3),\r\n },\r\n group: {\r\n margin: theme.spacing(1, 0),\r\n },\r\n}));\r\nexport function CustomerEditForm({\r\n saveCustomer,\r\n customer,\r\n actionsLoading,\r\n onHide,\r\n}) {\r\n const classes = useStyles();\r\n const [value, setValue] = useState('female');\r\n\r\n function handleChange(event) {\r\n setValue(event.target.value);\r\n }\r\n const [viewModelDataLabels, setViewModelLabels] = useState([]);\r\n const [viewModelDataUnits, setViewModelUnits] = useState([]);\r\n const [isManual, setisActive] = useState(false);\r\n useEffect(() => {\r\n fetchOrderAsync();\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (customer.IsManual !== \"\") {\r\n var a = customer.IsManual ? \"true\" : \"false\";\r\n setisActive(a);\r\n }\r\n }, [customer]);\r\n const fetchOrderAsync = async () => {\r\n try {\r\n const result = await axios.get(\"api/TransactionBillingShipping/GetAllApi\");\r\n setViewModelLabels(result.data[\"viewModelLabels\"].Labels);\r\n setViewModelUnits(result.data[\"viewModelUnits\"].Units);\r\n } catch (e) { }\r\n };\r\n return (\r\n <>\r\n {\r\n values.id = values.Id;\r\n saveCustomer(values);\r\n }}\r\n >\r\n {({ handleSubmit ,setFieldValue}) => (\r\n <>\r\n \r\n {actionsLoading && (\r\n
\r\n
\r\n
\r\n )}\r\n
\r\n
\r\n
\r\n
Shipping: Handling Billing Wizard
\r\n

handling charges, such as by container, sorts, postal fees

\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n (select from list, or type your own)\r\n \r\n
\r\n
\r\n \r\n \r\n (select from list, or type your own)\r\n \r\n
\r\n
\r\n {/* ZoneName */}\r\n {\r\n setisActive(e.target.value);\r\n setFieldValue(\"IsManual\", e.target.value);\r\n }}\r\n >\r\n }\r\n label=\"Auto\"\r\n labelPlacement=\"start\"\r\n />\r\n }\r\n label=\"Manual\"\r\n labelPlacement=\"start\"\r\n />\r\n \r\n
\r\n
\r\n
\r\n
\r\n {/* STARTZIP */}\r\n \r\n \r\n (as a numeric value)\r\n \r\n
\r\n\r\n
\r\n {/* ENDZIP */}\r\n \r\n
\r\n
\r\n {/* STARTZIP */}\r\n \r\n
\r\n
\r\n
\r\n
\r\n {/* STARTZIP */}\r\n \r\n
\r\n\r\n
\r\n {/* ENDZIP */}\r\n \r\n
\r\n
\r\n {/* STARTZIP */}\r\n \r\n \r\n (leave blank to use the Default)\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n Cancel\r\n \r\n <> \r\n handleSubmit()}\r\n className=\"btn btn-success btn-elevate\"\r\n >\r\n Save\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n );\r\n}\r\n","export const CustomerStatusCssClasses = [\"danger\", \"success\", \"info\", \"\"];\r\nexport const CustomerStatusTitles = [\"Inactive\", \"Active\"];\r\nexport const CustomerTypeCssClasses = [\"success\", \"primary\", \"\"];\r\nexport const CustomerTypeTitles = [\"Business\", \"Individual\", \"\"];\r\nexport const defaultSorted = [{ dataField: \"id\", order: \"desc\" }];\r\nexport const sizePerPageList = [\r\n { text: \"3\", value: 3 },\r\n { text: \"5\", value: 5 },\r\n { text: \"10\", value: 10 }\r\n];\r\nexport const initialFilter = {\r\n filter: {\r\n lastName: \"\",\r\n firstName: \"\",\r\n email: \"\",\r\n ipAddress: \"\"\r\n },\r\n sortOrder: \"asc\", // asc||desc\r\n sortField: \"id\",\r\n pageNumber: 1,\r\n pageSize: 10\r\n};\r\n","import React, {createContext, useContext, useState, useCallback} from \"react\";\r\nimport {isEqual, isFunction} from \"lodash\";\r\nimport {initialFilter} from \"./CustomersUIHelpers\";\r\n\r\nconst CustomersUIContext = createContext();\r\n\r\nexport function useCustomersUIContext() {\r\n return useContext(CustomersUIContext);\r\n}\r\n\r\nexport const CustomersUIConsumer = CustomersUIContext.Consumer;\r\n\r\nexport function CustomersUIProvider({customersUIEvents, children}) {\r\n const [queryParams, setQueryParamsBase] = useState(initialFilter);\r\n const [ids, setIds] = useState([]);\r\n const setQueryParams = useCallback(nextQueryParams => {\r\n setQueryParamsBase(prevQueryParams => {\r\n if (isFunction(nextQueryParams)) {\r\n nextQueryParams = nextQueryParams(prevQueryParams);\r\n }\r\n\r\n if (isEqual(prevQueryParams, nextQueryParams)) {\r\n return prevQueryParams;\r\n }\r\n\r\n return nextQueryParams;\r\n });\r\n }, []);\r\n\r\n const initCustomer = {\r\n id: undefined,\r\n Label: \"\",\r\n Unit: \"\",\r\n IsManual: \"\",\r\n Rate: \"\",\r\n Notes: \"\",\r\n ItemId: \"\",\r\n Description: \"\",\r\n ArAcct: \"\",\r\n GlAcctNumber: \"\"\r\n };\r\n\r\n const value = {\r\n queryParams,\r\n setQueryParamsBase,\r\n ids,\r\n setIds,\r\n setQueryParams,\r\n initCustomer,\r\n newCustomerButtonClick: customersUIEvents.newCustomerButtonClick,\r\n openEditCustomerDialog: customersUIEvents.openEditCustomerDialog,\r\n openImportCustomerDialog: customersUIEvents.openImportCustomerDialog,\r\n openDeleteCustomerDialog: customersUIEvents.openDeleteCustomerDialog,\r\n openDeleteCustomersDialog: customersUIEvents.openDeleteCustomersDialog,\r\n openFetchCustomersDialog: customersUIEvents.openFetchCustomersDialog,\r\n openUpdateCustomersStatusDialog: customersUIEvents.openUpdateCustomersStatusDialog\r\n };\r\n\r\n return {children};\r\n}","import React, { useEffect, useMemo } from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { shallowEqual, useDispatch, useSelector } from \"react-redux\";\r\nimport * as actions from \"../../../_redux/TransactionBillingShipping/customersActions\";\r\nimport { CustomerEditDialogHeader } from \"./CustomerEditDialogHeader\";\r\nimport { CustomerEditForm } from \"./CustomerEditForm\";\r\nimport { useCustomersUIContext } from \"../CustomersUIContext\";\r\nimport { Notification } from \"../../../../Notification\";\r\n\r\nexport function CustomerEditDialog({ id, show, onHide }) {\r\n // Customers UI Context\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n initCustomer: customersUIContext.initCustomer,\r\n };\r\n }, [customersUIContext]);\r\n\r\n // Customers Redux state\r\n const dispatch = useDispatch();\r\n const { actionsLoading, customerForEdit } = useSelector(\r\n (state) => ({\r\n actionsLoading: state.customers.actionsLoading,\r\n customerForEdit: state.customers.customerForEdit,\r\n }),\r\n shallowEqual\r\n );\r\n\r\n useEffect(() => {\r\n // server call for getting Customer by id\r\n dispatch(actions.fetchCustomer(id));\r\n }, [id, dispatch]);\r\n\r\n // server request for saving customer\r\n const saveCustomer = (customer) => {\r\n if (!id) {\r\n // server request for creating customer\r\n dispatch(actions.createCustomer(customer)).then(() =>\r\n {\r\n if(window.$ManageBillingShippingPost === 200){\r\n Notification(\"success\", window.$ManageBillingShippingPostMessage);\r\n onHide();\r\n }else{\r\n Notification(\"error\", window.$ManageBillingShippingPostMessage); \r\n }\r\n });\r\n } else {\r\n // server request for updating customer\r\n dispatch(actions.updateCustomer(customer)).then(() => {\r\n if(window.$ManageTransactionBillingPut === 200){\r\n Notification(\"success\", \"success\");\r\n onHide();\r\n }else{\r\n Notification(\"error\", window.$ManageTransactionBillingPutMessage); \r\n }\r\n });\r\n }\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n}\r\n","import React, { useEffect, useMemo } from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { shallowEqual, useDispatch, useSelector } from \"react-redux\";\r\nimport {ModalProgressBar} from \"../../../../../../_metronic/_partials/controls\";\r\nimport * as actions from \"../../../_redux/TransactionBillingShipping/customersActions\";\r\nimport {useCustomersUIContext} from \"../CustomersUIContext\";\r\n\r\nexport function CustomerDeleteDialog({ id, show, onHide }) {\r\n // Customers UI Context\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n setIds: customersUIContext.setIds,\r\n queryParams: customersUIContext.queryParams\r\n };\r\n }, [customersUIContext]);\r\n\r\n // Customers Redux state\r\n const dispatch = useDispatch();\r\n const { isLoading } = useSelector(\r\n (state) => ({ isLoading: state.customers.actionsLoading }),\r\n shallowEqual\r\n );\r\n\r\n // if !id we should close modal\r\n useEffect(() => {\r\n if (!id) {\r\n onHide();\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [id]);\r\n\r\n // looking for loading/dispatch\r\n useEffect(() => {}, [isLoading, dispatch]);\r\n\r\n const deleteCustomer = () => {\r\n // server request for deleting customer by id\r\n dispatch(actions.deleteCustomer(id)).then(() => {\r\n // refresh list after deletion\r\n dispatch(actions.fetchCustomers(customersUIProps.queryParams));\r\n // clear selections list\r\n customersUIProps.setIds([]);\r\n // closing delete modal\r\n onHide();\r\n });\r\n };\r\n\r\n return (\r\n \r\n {/*begin::Loading*/}\r\n {isLoading && }\r\n {/*end::Loading*/}\r\n \r\n \r\n Transaction Billing Shipping Delete\r\n \r\n \r\n \r\n {!isLoading && (\r\n Are you sure to permanently delete this Transaction Billing Shipping?\r\n )}\r\n {isLoading && Transaction Billing Shipping is deleting...}\r\n \r\n \r\n
\r\n \r\n Cancel\r\n \r\n <> \r\n \r\n Delete\r\n \r\n
\r\n
\r\n \r\n );\r\n}\r\n","import React, { useEffect, useMemo } from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { shallowEqual, useDispatch, useSelector } from \"react-redux\";\r\nimport * as actions from \"../../../_redux/TransactionBillingShipping/customersActions\";\r\nimport { useCustomersUIContext } from \"../CustomersUIContext\";\r\nimport {ModalProgressBar} from \"../../../../../../_metronic/_partials/controls\";\r\n\r\nexport function CustomersDeleteDialog({ show, onHide }) {\r\n // Customers UI Context\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n ids: customersUIContext.ids,\r\n setIds: customersUIContext.setIds,\r\n queryParams: customersUIContext.queryParams,\r\n };\r\n }, [customersUIContext]);\r\n\r\n // Customers Redux state\r\n const dispatch = useDispatch();\r\n const { isLoading } = useSelector(\r\n (state) => ({ isLoading: state.customers.actionsLoading }),\r\n shallowEqual\r\n );\r\n\r\n // if customers weren't selected we should close modal\r\n useEffect(() => {\r\n if (!customersUIProps.ids || customersUIProps.ids.length === 0) {\r\n onHide();\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [customersUIProps.ids]);\r\n\r\n // looking for loading/dispatch\r\n useEffect(() => {}, [isLoading, dispatch]);\r\n\r\n const deleteCustomers = () => {\r\n // server request for deleting customer by selected ids\r\n dispatch(actions.deleteCustomers(customersUIProps.ids)).then(() => {\r\n // refresh list after deletion\r\n dispatch(actions.fetchCustomers(customersUIProps.queryParams)).then(\r\n () => {\r\n // clear selections list\r\n customersUIProps.setIds([]);\r\n // closing delete modal\r\n onHide();\r\n }\r\n );\r\n });\r\n };\r\n\r\n return (\r\n \r\n {/*begin::Loading*/}\r\n {isLoading && }\r\n {/*end::Loading*/}\r\n \r\n \r\n TransactionBillingShipping Delete\r\n \r\n \r\n \r\n {!isLoading && (\r\n Are you sure to permanently delete selected Transactions Billing Shipping?\r\n )}\r\n {isLoading && Transaction Billing Shipping are deleting...}\r\n \r\n \r\n
\r\n \r\n Cancel\r\n \r\n <> \r\n \r\n Delete\r\n \r\n
\r\n
\r\n \r\n );\r\n}\r\n","import React, { useEffect, useMemo } from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { shallowEqual, useSelector } from \"react-redux\";\r\nimport { CustomerStatusCssClasses } from \"../CustomersUIHelpers\";\r\nimport { useCustomersUIContext } from \"../CustomersUIContext\";\r\n\r\nconst selectedCustomers = (entities, ids) => {\r\n const _customers = [];\r\n ids.forEach((id) => {\r\n const customer = entities.find((el) => el.id === id);\r\n if (customer) {\r\n _customers.push(customer);\r\n }\r\n });\r\n return _customers;\r\n};\r\n\r\nexport function CustomersFetchDialog({ show, onHide }) {\r\n // Customers UI Context\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n ids: customersUIContext.ids,\r\n };\r\n }, [customersUIContext]);\r\n\r\n // Customers Redux state\r\n const { customers } = useSelector(\r\n (state) => ({\r\n customers: selectedCustomers(\r\n state.customers.entities,\r\n customersUIProps.ids\r\n ),\r\n }),\r\n shallowEqual\r\n );\r\n\r\n // if customers weren't selected we should close modal\r\n useEffect(() => {\r\n if (!customersUIProps.ids || customersUIProps.ids.length === 0) {\r\n onHide();\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [customersUIProps.ids]);\r\n\r\n return (\r\n \r\n \r\n \r\n Fetch selected elements\r\n \r\n \r\n \r\n
\r\n {customers.map((customer) => (\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n ID: {customer.id}\r\n \r\n {customer.lastName}, {customer.firstName} \r\n
\r\n
\r\n ))}\r\n
\r\n \r\n \r\n
\r\n \r\n Cancel\r\n \r\n <> \r\n \r\n Ok\r\n \r\n
\r\n
\r\n \r\n );\r\n}\r\n","import React, { useEffect, useState, useMemo } from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { shallowEqual, useDispatch, useSelector } from \"react-redux\";\r\nimport { CustomerStatusCssClasses } from \"../CustomersUIHelpers\";\r\nimport * as actions from \"../../../_redux/ManageCarrierAccounts/customersActions\";\r\nimport { useCustomersUIContext } from \"../CustomersUIContext\";\r\n\r\nconst selectedCustomers = (entities, ids) => {\r\n const _customers = [];\r\n ids.forEach((id) => {\r\n const customer = entities.find((el) => el.id === id);\r\n if (customer) {\r\n _customers.push(customer);\r\n }\r\n });\r\n return _customers;\r\n};\r\n\r\nexport function CustomersUpdateStateDialog({ show, onHide }) {\r\n // Customers UI Context\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n ids: customersUIContext.ids,\r\n setIds: customersUIContext.setIds,\r\n queryParams: customersUIContext.queryParams,\r\n };\r\n }, [customersUIContext]);\r\n\r\n // Customers Redux state\r\n const { customers, isLoading } = useSelector(\r\n (state) => ({\r\n customers: selectedCustomers(\r\n state.customers.entities,\r\n customersUIProps.ids\r\n ),\r\n isLoading: state.customers.actionsLoading,\r\n }),\r\n shallowEqual\r\n );\r\n\r\n // if !id we should close modal\r\n useEffect(() => {\r\n if (!customersUIProps.ids || customersUIProps.ids.length === 0) {\r\n onHide();\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [customersUIProps.ids]);\r\n\r\n const [status, setStatus] = useState(0);\r\n\r\n const dispatch = useDispatch();\r\n const updateStatus = () => {\r\n // server request for update customers status by selected ids\r\n dispatch(actions.updateCustomersStatus(customersUIProps.ids, status)).then(\r\n () => {\r\n // refresh list after deletion\r\n dispatch(actions.fetchCustomers(customersUIProps.queryParams)).then(\r\n () => {\r\n // clear selections list\r\n customersUIProps.setIds([]);\r\n // closing delete modal\r\n onHide();\r\n }\r\n );\r\n }\r\n );\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n Status has been updated for selected User\r\n \r\n \r\n \r\n {/*begin::Loading*/}\r\n {isLoading && (\r\n
\r\n
\r\n
\r\n )}\r\n {/*end::Loading*/}\r\n\r\n
\r\n {customers.map((customer) => (\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n ID: {customer.id}\r\n \r\n \r\n {customer.lastName}, {customer.firstName}\r\n \r\n
\r\n
\r\n ))}\r\n
\r\n \r\n \r\n
\r\n setStatus(+e.target.value)}\r\n >\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n Cancel\r\n \r\n \r\n Update Status\r\n \r\n
\r\n
\r\n \r\n );\r\n}\r\n","import React, { useMemo } from \"react\";\r\nimport { Formik } from \"formik\";\r\nimport { isEqual } from \"lodash\";\r\nimport { useCustomersUIContext } from \"../CustomersUIContext\";\r\nconst prepareFilter = (queryParams, values) => {\r\n const { ReLoadTable} = values;\r\n const newQueryParams = { ...queryParams };\r\n const filter = {};\r\n /* // Filter by status\r\n filter.status = status !== \"\" ? +status : undefined;\r\n // Filter by type\r\n filter.type = type !== \"\" ? +type : undefined;\r\n // Filter by all fields\r\n filter.lastName = searchText;\r\n if (searchText) {\r\n filter.firstName = searchText;\r\n filter.email = searchText;\r\n filter.ipAddress = searchText;\r\n } */\r\n filter.ReLoadTable = ReLoadTable;\r\n newQueryParams.filter = filter;\r\n return newQueryParams;\r\n};\r\n\r\nexport function CustomersFilter({ listLoading }) {\r\n // Customers UI Context\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n queryParams: customersUIContext.queryParams,\r\n setQueryParams: customersUIContext.setQueryParams,\r\n };\r\n }, [customersUIContext]);\r\n\r\n // queryParams, setQueryParams,\r\n const applyFilter = (values) => {\r\n const newQueryParams = prepareFilter(customersUIProps.queryParams, values);\r\n if (!isEqual(newQueryParams, customersUIProps.queryParams)) {\r\n newQueryParams.pageNumber = 1;\r\n // update list by queryParams\r\n customersUIProps.setQueryParams(newQueryParams);\r\n }\r\n };\r\n\r\n return (\r\n <>\r\n All=\"\"/Susspended=0/Active=1/Pending=2\r\n type: \"\", // values => All=\"\"/Business=0/Individual=1\r\n searchText: \"\",\r\n }}\r\n onSubmit={(values) => {\r\n applyFilter(values);\r\n }}\r\n >\r\n {({\r\n values,\r\n handleSubmit,\r\n handleBlur,\r\n setFieldValue,\r\n }) => (\r\n
\r\n {\r\n if (e.target.value === \"0\")\r\n document.getElementById(\"ReLoadTableId\").value = 1;\r\n else document.getElementById(\"ReLoadTableId\").value = 0;\r\n setFieldValue(\"ReLoadTable\", e.target.value);\r\n handleSubmit();\r\n }}\r\n />\r\n
\r\n
\r\n

handling charges, such as by container, sorts, postal fees

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n GENERAL LEDGER ACCOUNT NUMBER\r\n \r\n
\r\n\r\n
\r\n \r\n Save\r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n

You can specify a G.L. account number for details saved when using the Billing Wizard.\r\n

\r\n

This account number can be overriden for each detail below.\r\n\r\n

\r\n
\r\n
\r\n \r\n )}\r\n \r\n \r\n );\r\n}\r\n","// please be familiar with react-bootstrap-table-next column formaters\r\n// https://react-bootstrap-table.github.io/react-bootstrap-table2/storybook/index.html?selectedKind=Work%20on%20Columns&selectedStory=Column%20Formatter&full=0&addons=1&stories=1&panelRight=0&addonPanel=storybook%2Factions%2Factions-panel\r\n/* eslint-disable no-script-url,jsx-a11y/anchor-is-valid */\r\nimport React from \"react\";\r\nimport SVG from \"react-inlinesvg\";\r\nimport { toAbsoluteUrl } from \"../../../../../../../_metronic/_helpers\";\r\n\r\nexport function ActionsColumnFormatter(\r\n cellContent,\r\n row,\r\n rowIndex,\r\n { openEditCustomerDialog, openDeleteCustomerDialog }\r\n) {\r\n return (\r\n <>\r\n openEditCustomerDialog(row.Id)}\r\n >\r\n \r\n \r\n \r\n \r\n <> \r\n\r\n openDeleteCustomerDialog(row.Id)}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n","// React bootstrap table next =>\r\n// DOCS: https://react-bootstrap-table.github.io/react-bootstrap-table2/docs/\r\n// STORYBOOK: https://react-bootstrap-table.github.io/react-bootstrap-table2/storybook/index.html\r\nimport React, { useEffect, useMemo } from \"react\";\r\nimport BootstrapTable from \"react-bootstrap-table-next\";\r\nimport paginationFactory, {\r\n PaginationProvider,\r\n} from \"react-bootstrap-table2-paginator\";\r\nimport { shallowEqual, useDispatch, useSelector } from \"react-redux\";\r\nimport * as actions from \"../../../_redux/TransactionBillingShipping/customersActions\";\r\nimport {\r\n getSelectRow,\r\n getHandlerTableChange,\r\n NoRecordsFoundMessage,\r\n PleaseWaitMessage,\r\n sortCaret,\r\n headerSortingClasses,\r\n} from \"../../../../../../_metronic/_helpers\";\r\nimport * as uiHelpers from \"../CustomersUIHelpers\";\r\nimport * as columnFormatters from \"./column-formatters\";\r\nimport { Pagination } from \"../../../../../../_metronic/_partials/controls\";\r\nimport { useCustomersUIContext } from \"../CustomersUIContext\";\r\n\r\nexport function CustomersTable() {\r\n // Customers UI Context\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n ids: customersUIContext.ids,\r\n setIds: customersUIContext.setIds,\r\n queryParams: customersUIContext.queryParams,\r\n setQueryParams: customersUIContext.setQueryParams,\r\n openEditCustomerDialog: customersUIContext.openEditCustomerDialog,\r\n openDeleteCustomerDialog: customersUIContext.openDeleteCustomerDialog,\r\n };\r\n }, [customersUIContext]);\r\n\r\n // Getting curret state of customers list from store (Redux)\r\n const { currentState } = useSelector(\r\n (state) => ({ currentState: state.customers }),\r\n shallowEqual\r\n );\r\n const { totalCount, entities, listLoading } = currentState;\r\n\r\n // Customers Redux state\r\n const dispatch = useDispatch();\r\n useEffect(() => {\r\n // clear selections list\r\n customersUIProps.setIds([]);\r\n // server call by queryParams\r\n dispatch(actions.fetchCustomers(customersUIProps.queryParams));\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [customersUIProps.queryParams, dispatch]);\r\n // Table columns\r\n const columns = [\r\n {\r\n dataField: \"Id\",\r\n text: \"Id\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n headerSortingClasses,\r\n },\r\n {\r\n dataField: \"Label\",\r\n text: \"LABEL\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n headerSortingClasses,\r\n },\r\n {\r\n dataField: \"Unit\",\r\n text: \"UNIT\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n headerSortingClasses,\r\n },\r\n {\r\n dataField: \"Rate\",\r\n text: \"RATE\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n headerSortingClasses,\r\n },\r\n {\r\n dataField: \"Notes\",\r\n text: \"NOTES\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n headerSortingClasses,\r\n },\r\n {\r\n dataField: \"ItemId\",\r\n text: \"ITEM ID\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n headerSortingClasses,\r\n },\r\n {\r\n dataField: \"Description\",\r\n text: \"DESCRIPTION\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n headerSortingClasses,\r\n },\r\n {\r\n dataField: \"ArAcct\",\r\n text: \"AR ACCT\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n headerSortingClasses,\r\n },\r\n {\r\n dataField: \"GlAcctNumber\",\r\n text: \"GlACCTNUMBER\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n headerSortingClasses,\r\n },\r\n {\r\n dataField: \"action\",\r\n text: \"Actions\",\r\n formatter: columnFormatters.ActionsColumnFormatter,\r\n formatExtraData: {\r\n openEditCustomerDialog: customersUIProps.openEditCustomerDialog,\r\n openDeleteCustomerDialog: customersUIProps.openDeleteCustomerDialog,\r\n },\r\n classes: \"text-center pr-0\",\r\n headerClasses: \"text-center pr-3\",\r\n style: {\r\n minWidth: \"100px\",\r\n },\r\n },\r\n ];\r\n // Table pagination properties\r\n const paginationOptions = {\r\n custom: true,\r\n totalSize: totalCount,\r\n sizePerPageList: uiHelpers.sizePerPageList,\r\n sizePerPage: customersUIProps.queryParams.pageSize,\r\n page: customersUIProps.queryParams.pageNumber,\r\n };\r\n return (\r\n <>\r\n \r\n {({ paginationProps, paginationTableProps }) => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n }}\r\n \r\n \r\n );\r\n}\r\n","import React, { useMemo } from \"react\";\r\nimport { useCustomersUIContext } from \"../CustomersUIContext\";\r\n\r\nexport function CustomersGrouping() {\r\n // Customers UI Context\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n ids: customersUIContext.ids,\r\n setIds: customersUIContext.setIds,\r\n openDeleteCustomersDialog: customersUIContext.openDeleteCustomersDialog,\r\n openFetchCustomersDialog: customersUIContext.openFetchCustomersDialog,\r\n openUpdateCustomersStatusDialog:\r\n customersUIContext.openUpdateCustomersStatusDialog,\r\n };\r\n }, [customersUIContext]);\r\n\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n Delete All\r\n \r\n  \r\n
\r\n
\r\n
\r\n
\r\n
\r\n );\r\n}\r\n","import React from 'react';\r\nimport clsx from 'clsx';\r\nimport PropTypes from 'prop-types';\r\nimport Button from '@material-ui/core/Button';\r\nimport Dialog from '@material-ui/core/Dialog';\r\nimport DialogActions from '@material-ui/core/DialogActions';\r\nimport DialogContent from '@material-ui/core/DialogContent';\r\nimport DialogTitle from '@material-ui/core/DialogTitle';\r\nimport Table from '@material-ui/core/Table';\r\nimport TableBody from '@material-ui/core/TableBody';\r\nimport TableCell from '@material-ui/core/TableCell';\r\nimport TableHead from '@material-ui/core/TableHead';\r\nimport TablePagination from '@material-ui/core/TablePagination';\r\nimport TableRow from '@material-ui/core/TableRow';\r\nimport TableSortLabel from '@material-ui/core/TableSortLabel';\r\nimport Toolbar from '@material-ui/core/Toolbar';\r\nimport Typography from '@material-ui/core/Typography';\r\nimport Paper from '@material-ui/core/Paper';\r\nimport Checkbox from '@material-ui/core/Checkbox';\r\nimport IconButton from '@material-ui/core/IconButton';\r\nimport Tooltip from '@material-ui/core/Tooltip';\r\nimport FormControlLabel from '@material-ui/core/FormControlLabel';\r\nimport Switch from '@material-ui/core/Switch';\r\nimport DeleteIcon from '@material-ui/icons/Delete';\r\nimport FilterListIcon from '@material-ui/icons/FilterList';\r\nimport { lighten, makeStyles } from '@material-ui/core/styles';\r\nfunction createData(name, description) {\r\n return { name, description };\r\n}\r\n\r\nconst rows = [\r\n createData('charge type min','charge type min'),\r\n];\r\n\r\nfunction desc(a, b, orderBy) {\r\n if (b[orderBy] < a[orderBy]) {\r\n return -1;\r\n }\r\n if (b[orderBy] > a[orderBy]) {\r\n return 1;\r\n }\r\n return 0;\r\n}\r\n\r\nfunction stableSort(array, cmp) {\r\n const stabilizedThis = array.map((el, index) => [el, index]);\r\n stabilizedThis.sort((a, b) => {\r\n const order = cmp(a[0], b[0]);\r\n if (order !== 0) return order;\r\n return a[1] - b[1];\r\n });\r\n return stabilizedThis.map(el => el[0]);\r\n}\r\n\r\nfunction getSorting(order, orderBy) {\r\n return order === 'desc' ? (a, b) => desc(a, b, orderBy) : (a, b) => -desc(a, b, orderBy);\r\n}\r\n\r\nconst headRows = [\r\n { id: 'name', numeric: false, disablePadding: true, label: 'NAME' },\r\n { id: 'description', numeric: true, disablePadding: false, label: 'DESCRIPTION' },\r\n];\r\n\r\nfunction EnhancedTableHead(props) {\r\n const { onSelectAllClick, order, orderBy, numSelected, rowCount, onRequestSort } = props;\r\n const createSortHandler = property => event => {\r\n onRequestSort(event, property);\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n 0 && numSelected < rowCount}\r\n checked={numSelected === rowCount}\r\n onChange={onSelectAllClick}\r\n inputProps={{ 'aria-label': 'Select all desserts' }}\r\n />\r\n \r\n {headRows.map(row => (\r\n \r\n \r\n {row.label}\r\n \r\n \r\n ))}\r\n \r\n \r\n );\r\n}\r\n\r\nEnhancedTableHead.propTypes = {\r\n numSelected: PropTypes.number.isRequired,\r\n onRequestSort: PropTypes.func.isRequired,\r\n onSelectAllClick: PropTypes.func.isRequired,\r\n order: PropTypes.string.isRequired,\r\n orderBy: PropTypes.string.isRequired,\r\n rowCount: PropTypes.number.isRequired,\r\n};\r\n\r\nconst useToolbarStyles = makeStyles(theme => ({\r\n root: {\r\n paddingLeft: theme.spacing(2),\r\n paddingRight: theme.spacing(1),\r\n },\r\n highlight:\r\n theme.palette.type === 'light'\r\n ? {\r\n color: theme.palette.secondary.main,\r\n backgroundColor: lighten(theme.palette.secondary.light, 0.85),\r\n }\r\n : {\r\n color: theme.palette.text.primary,\r\n backgroundColor: theme.palette.secondary.dark,\r\n },\r\n spacer: {\r\n flex: '1 1 100%',\r\n },\r\n actions: {\r\n color: theme.palette.text.secondary,\r\n },\r\n title: {\r\n flex: '0 0 auto',\r\n },\r\n}));\r\n\r\nconst EnhancedTableToolbar = props => {\r\n const classes = useToolbarStyles();\r\n const { numSelected } = props;\r\n\r\n return (\r\n 0,\r\n })}\r\n >\r\n
\r\n {numSelected > 0 ? (\r\n \r\n {numSelected} selected\r\n \r\n ) : (\r\n \r\n \r\n \r\n )}\r\n
\r\n
\r\n
\r\n {numSelected > 0 ? (\r\n \r\n \r\n \r\n \r\n \r\n ) : (\r\n \r\n \r\n \r\n \r\n )}\r\n
\r\n \r\n );\r\n};\r\n\r\nEnhancedTableToolbar.propTypes = {\r\n numSelected: PropTypes.number.isRequired,\r\n};\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n root: {\r\n width: '100%',\r\n marginTop: theme.spacing(3),\r\n },\r\n paper: {\r\n width: '100%',\r\n marginBottom: theme.spacing(2),\r\n },\r\n table: {\r\n minWidth: 552,\r\n },\r\n tableWrapper: {\r\n overflowX: 'auto',\r\n },\r\n textDecoration: {\r\n lineHeight: '2rem',\r\n },\r\n}));\r\nexport function CustomerDialogForm() {\r\n const classes = useStyles();\r\n const [order, setOrder] = React.useState('asc');\r\n const [orderBy, setOrderBy] = React.useState('calories');\r\n const [selected, setSelected] = React.useState([]);\r\n const [page, setPage] = React.useState(0);\r\n const [dense, setDense] = React.useState(false);\r\n const [rowsPerPage, setRowsPerPage] = React.useState(5);\r\n\r\n function handleRequestSort(event, property) {\r\n const isDesc = orderBy === property && order === 'desc';\r\n setOrder(isDesc ? 'asc' : 'desc');\r\n setOrderBy(property);\r\n }\r\n\r\n function handleSelectAllClick(event) {\r\n if (event.target.checked) {\r\n const newSelecteds = rows.map(n => n.name);\r\n setSelected(newSelecteds);\r\n return;\r\n }\r\n setSelected([]);\r\n }\r\n\r\n function handleClick(event, name) {\r\n const selectedIndex = selected.indexOf(name);\r\n let newSelected = [];\r\n\r\n if (selectedIndex === -1) {\r\n newSelected = newSelected.concat(selected, name);\r\n } else if (selectedIndex === 0) {\r\n newSelected = newSelected.concat(selected.slice(1));\r\n } else if (selectedIndex === selected.length - 1) {\r\n newSelected = newSelected.concat(selected.slice(0, -1));\r\n } else if (selectedIndex > 0) {\r\n newSelected = newSelected.concat(\r\n selected.slice(0, selectedIndex),\r\n selected.slice(selectedIndex + 1),\r\n );\r\n }\r\n\r\n setSelected(newSelected);\r\n }\r\n\r\n function handleChangePage(event, newPage) {\r\n setPage(newPage);\r\n }\r\n\r\n function handleChangeRowsPerPage(event) {\r\n setRowsPerPage(+event.target.value);\r\n }\r\n\r\n function handleChangeDense(event) {\r\n setDense(event.target.checked);\r\n }\r\n\r\n const isSelected = name => selected.indexOf(name) !== -1;\r\n\r\n const emptyRows = rowsPerPage - Math.min(rowsPerPage, rows.length - page * rowsPerPage);\r\n\r\n const [open, setOpen] = React.useState(false);\r\n\r\n function handleClickOpen() {\r\n setOpen(true);\r\n }\r\n\r\n function handleClose() {\r\n setOpen(false);\r\n }\r\n return (\r\n
\r\n \r\n Change\r\n \r\n \r\n Change\r\n \r\n
\r\n \r\n \r\n
\r\n \r\n \r\n \r\n {stableSort(rows, getSorting(order, orderBy))\r\n .slice(page * rowsPerPage, page * rowsPerPage + rowsPerPage)\r\n .map((row, index) => {\r\n const isItemSelected = isSelected(row.name);\r\n const labelId = `enhanced-table-checkbox-${index}`;\r\n\r\n return (\r\n handleClick(event, row.name)}\r\n role=\"checkbox\"\r\n aria-checked={isItemSelected}\r\n tabIndex={-1}\r\n key={row.name}\r\n selected={isItemSelected}\r\n >\r\n \r\n \r\n \r\n \r\n {row.name}\r\n \r\n {row.description}\r\n \r\n );\r\n })}\r\n {emptyRows > 0 && (\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n\r\n \r\n
\r\n
\r\n );\r\n}\r\n","import React, { useMemo } from \"react\";\r\nimport {\r\n Card,\r\n CardBody,\r\n CardHeader,\r\n CardFooter,\r\n CardHeaderToolbar,\r\n} from \"../../../../../_metronic/_partials/controls\";\r\nimport { makeStyles } from '@material-ui/core/styles';\r\nimport { CustomersFilter } from \"./customers-filter/CustomersFilter\";\r\nimport { CustomersTable } from \"./customers-table/CustomersTable\";\r\nimport { CustomersGrouping } from \"./customers-grouping/CustomersGrouping\";\r\nimport { useCustomersUIContext } from \"./CustomersUIContext\";\r\nimport { CustomerDialogForm } from './customer-import-dialog/CustomerDialogForm';\r\nimport Popover from '@material-ui/core/Popover';\r\nimport PopupState, { bindTrigger, bindPopover } from 'material-ui-popup-state';\r\nimport Typography from '@material-ui/core/Typography';\r\nimport {\r\n Button,\r\n InputGroup,\r\n FormControl,\r\n DropdownButton,\r\n Dropdown\r\n} from \"react-bootstrap\";\r\nconst useStyles = makeStyles(theme => ({\r\n typography: {\r\n padding: theme.spacing(2),\r\n },\r\n}));\r\nexport function CustomersCard() {\r\n const classes = useStyles();\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n ids: customersUIContext.ids,\r\n newCustomerButtonClick: customersUIContext.newCustomerButtonClick,\r\n };\r\n }, [customersUIContext]);\r\n console.log(\"customer UI\");\r\n console.log(customersUIProps);\r\n return (\r\n \r\n \r\n \r\n \r\n Add\r\n \r\n\r\n \r\n \r\n \r\n \r\n {customersUIProps.ids.length > 0 && }\r\n \r\n \r\n \r\n

Handling Level Rate:\r\n \r\n {popupState => (\r\n \r\n \r\n \r\n Adding a minimum charge amount\r\n Charge Type Min is a script that allows you to add a minimum charge rate to every\r\n transaction relevant to the selected billing type. If you select this script, the system \r\n will automatically enable this charge even if you don't specify a charge amount.\r\n \r\n \r\n )}\r\n \r\n None Selected\r\n

\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n Back\r\n \r\n \r\n
\r\n );\r\n}","import React from \"react\";\r\nimport { Route } from \"react-router-dom\";\r\nimport { CustomersLoadingDialog } from \"./customers-loading-dialog/CustomersLoadingDialog\";\r\nimport { CustomerEditDialog } from \"./customer-edit-dialog/CustomerEditDialog\";\r\nimport { CustomerDeleteDialog } from \"./customer-delete-dialog/CustomerDeleteDialog\";\r\nimport { CustomersDeleteDialog } from \"./customers-delete-dialog/CustomersDeleteDialog\";\r\nimport { CustomersFetchDialog } from \"./customers-fetch-dialog/CustomersFetchDialog\";\r\nimport { CustomersUpdateStateDialog } from \"./customers-update-status-dialog/CustomersUpdateStateDialog\";\r\nimport { CustomersUIProvider } from \"./CustomersUIContext\";\r\nimport { CustomersCard } from \"./CustomersCard\";\r\n\r\nexport function TransactionBillingShipping({ history }) {\r\n const customersUIEvents = {\r\n newCustomerButtonClick: () => {\r\n history.push(\"/TransactionBillingShipping/new\");\r\n },\r\n openEditCustomerDialog: (id) => {\r\n history.push(`/TransactionBillingShipping/${id}/edit`);\r\n },\r\n openDeleteCustomerDialog: (id) => {\r\n history.push(`/TransactionBillingShipping/${id}/delete`);\r\n },\r\n openDeleteCustomersDialog: () => {\r\n history.push(`/TransactionBillingShipping/deleteCustomers`);\r\n },\r\n openFetchCustomersDialog: () => {\r\n history.push(`/TransactionBillingShipping/fetch`);\r\n },\r\n openUpdateCustomersStatusDialog: () => {\r\n history.push(\"/TransactionBillingShipping/updateStatus\");\r\n }\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n {({ history, match }) => (\r\n {\r\n history.push(\"/TransactionBillingShipping\");\r\n }}\r\n />\r\n )}\r\n \r\n \r\n {({ history, match }) => (\r\n {\r\n history.push(\"/TransactionBillingShipping\");\r\n }}\r\n />\r\n )}\r\n \r\n \r\n {({ history, match }) => (\r\n {\r\n history.push(\"/TransactionBillingShipping\");\r\n }}\r\n />\r\n )}\r\n \r\n \r\n {({ history, match }) => (\r\n {\r\n history.push(\"/TransactionBillingShipping\");\r\n }}\r\n />\r\n )}\r\n \r\n \r\n {({ history, match }) => (\r\n {\r\n history.push(\"/TransactionBillingShipping\");\r\n }}\r\n />\r\n )}\r\n \r\n \r\n {({ history, match }) => (\r\n {\r\n history.push(\"/TransactionBillingShipping\");\r\n }}\r\n />\r\n )}\r\n \r\n \r\n {({ history, match }) => (\r\n {\r\n history.push(\"/TransactionBillingShipping\");\r\n }}\r\n />\r\n )}\r\n \r\n \r\n \r\n );\r\n}\r\n","import React, { useEffect } from \"react\";\r\nimport { shallowEqual, useSelector } from \"react-redux\";\r\nimport { LoadingDialog } from \"../../../../../../../_metronic/_partials/controls\";\r\n\r\nexport function CustomersLoadingDialog() {\r\n // Customers Redux state\r\n const { isLoading } = useSelector(\r\n (state) => ({ isLoading: state.customers.listLoading }),\r\n shallowEqual\r\n );\r\n // looking for loading/dispatch\r\n useEffect(() => {}, [isLoading]);\r\n return ;\r\n}\r\n","import axios from \"axios\";\r\n\r\nexport const CUSTOMERS_URL = \"api/ManageEquipments\";\r\n\r\n// CREATE => POST: add a new customer to the server\r\nexport function createCustomer(customer) {\r\n return axios.post(CUSTOMERS_URL, { customer });\r\n}\r\n\r\n// READ\r\nexport function getAllCustomers() {\r\n return axios.get(CUSTOMERS_URL);\r\n}\r\n\r\nexport function getCustomerById(customerId) {\r\n return axios.get(`${CUSTOMERS_URL}/${customerId}`);\r\n}\r\n\r\n// Method from server should return QueryResultsModel(items: any[], totalsCount: number)\r\n// items => filtered/sorted result\r\nexport function findCustomers(queryParams) {\r\n return axios.post(`${CUSTOMERS_URL}/find`, { queryParams });\r\n}\r\n\r\n// UPDATE => PUT: update the customer on the server\r\nexport function updateCustomer(customer) {\r\n return axios.put(`${CUSTOMERS_URL}/${customer.id}`, { customer });\r\n}\r\n\r\n// UPDATE Status\r\nexport function updateStatusForCustomers(ids, status) {\r\n return axios.post(`${CUSTOMERS_URL}/updateStatusForCustomers`, {\r\n ids,\r\n status\r\n });\r\n}\r\n\r\n// DELETE => delete the customer from the server\r\nexport function deleteCustomer(customerId) {\r\n return axios.delete(`${CUSTOMERS_URL}/${customerId}`);\r\n}\r\n\r\n// DELETE Customers by ids\r\nexport function deleteCustomers(ids) {\r\n return axios.post(`${CUSTOMERS_URL}/deleteCustomers`, { ids });\r\n}\r\n","import {createSlice} from \"@reduxjs/toolkit\";\r\n\r\nconst initialCustomersState = {\r\n listLoading: false,\r\n actionsLoading: false,\r\n totalCount: 0,\r\n entities: null,\r\n customerForEdit: undefined,\r\n lastError: null\r\n};\r\nexport const callTypes = {\r\n list: \"list\",\r\n action: \"action\"\r\n};\r\n\r\nexport const customersSlice = createSlice({\r\n name: \"customers\",\r\n initialState: initialCustomersState,\r\n reducers: {\r\n catchError: (state, action) => {\r\n state.error = `${action.type}: ${action.payload.error}`;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = false;\r\n } else {\r\n state.actionsLoading = false;\r\n }\r\n },\r\n startCall: (state, action) => {\r\n state.error = null;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = true;\r\n } else {\r\n state.actionsLoading = true;\r\n }\r\n },\r\n // getCustomerById\r\n customerFetched: (state, action) => {\r\n state.actionsLoading = false;\r\n state.customerForEdit = action.payload.customerForEdit;\r\n state.error = null;\r\n },\r\n // findCustomers\r\n customersFetched: (state, action) => {\r\n const { totalCount, entities } = action.payload;\r\n state.listLoading = false;\r\n state.error = null;\r\n state.entities = entities;\r\n state.totalCount = totalCount;\r\n },\r\n // createCustomer\r\n customerCreated: (state, action) => {\r\n state.actionsLoading = false;\r\n state.error = null;\r\n state.entities.push(action.payload.customer);\r\n },\r\n // updateCustomer\r\n customerUpdated: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.map(entity => {\r\n if (entity.id === action.payload.customer.id) {\r\n return action.payload.customer;\r\n }\r\n return entity;\r\n });\r\n },\r\n // deleteCustomer\r\n customerDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(el => el.id !== action.payload.id);\r\n },\r\n // deleteCustomers\r\n customersDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(\r\n el => !action.payload.ids.includes(el.id)\r\n );\r\n },\r\n // customersUpdateState\r\n customersStatusUpdated: (state, action) => {\r\n state.actionsLoading = false;\r\n state.error = null;\r\n const { ids, status } = action.payload;\r\n state.entities = state.entities.map(entity => {\r\n if (ids.findIndex(id => id === entity.id) > -1) {\r\n entity.status = status;\r\n }\r\n return entity;\r\n });\r\n }\r\n }\r\n});\r\n","import * as requestFromServer from \"./customersCrud\";\r\nimport {customersSlice, callTypes} from \"./customersSlice\";\r\n\r\nconst {actions} = customersSlice;\r\n\r\nexport const fetchCustomers = queryParams => dispatch => {\r\n dispatch(actions.startCall({ callType: callTypes.list }));\r\n return requestFromServer\r\n .findCustomers(queryParams)\r\n .then(response => {\r\n const { totalCount, entities } = response.data;\r\n dispatch(actions.customersFetched({ totalCount, entities }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't find customers\";\r\n dispatch(actions.catchError({ error, callType: callTypes.list }));\r\n });\r\n};\r\n\r\nexport const fetchCustomer = id => dispatch => {\r\n if (!id) {\r\n return dispatch(actions.customerFetched({ customerForEdit: undefined }));\r\n }\r\n\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .getCustomerById(id)\r\n .then(response => {\r\n const customer = response.data;\r\n dispatch(actions.customerFetched({ customerForEdit: customer }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't find customer\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const deleteCustomer = id => dispatch => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .deleteCustomer(id)\r\n .then(response => {\r\n dispatch(actions.customerDeleted({ id }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't delete customer\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const createCustomer = customerForCreation => dispatch => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .createCustomer(customerForCreation)\r\n .then(response => {\r\n const { customer } = response.data;\r\n dispatch(actions.customerCreated({ customer }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't create customer\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const updateCustomer = customer => dispatch => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .updateCustomer(customer)\r\n .then(() => {\r\n dispatch(actions.customerUpdated({ customer }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't update customer\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const updateCustomersStatus = (ids, status) => dispatch => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .updateStatusForCustomers(ids, status)\r\n .then(() => {\r\n dispatch(actions.customersStatusUpdated({ ids, status }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't update customers status\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const deleteCustomers = ids => dispatch => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .deleteCustomers(ids)\r\n .then(() => {\r\n dispatch(actions.customersDeleted({ ids }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't delete customers\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n","import React, { useState, useEffect } from \"react\";\r\nimport { shallowEqual, useSelector } from \"react-redux\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { ModalProgressBar } from \"../../../../../../../_metronic/_partials/controls\";\r\nimport CloseIcon from '@material-ui/icons/Close';\r\nimport IconButton from '@material-ui/core/IconButton';\r\nexport function CustomerEditDialogHeader({ id,onHide }) {\r\n // Customers Redux state\r\n const { customerForEdit, actionsLoading } = useSelector(\r\n (state) => ({\r\n customerForEdit: state.customers.customerForEdit,\r\n actionsLoading: state.customers.actionsLoading,\r\n }),\r\n shallowEqual\r\n );\r\n\r\n const [title, setTitle] = useState(\"\");\r\n // Title couting\r\n useEffect(() => {\r\n let _title = id ? \"\" : \"New Equipment Size\";\r\n if (customerForEdit && id) {\r\n _title = `Edit Equipment Size '${customerForEdit.Name}'`;\r\n }\r\n\r\n setTitle(_title);\r\n // eslint-disable-next-line\r\n }, [customerForEdit, actionsLoading]);\r\n\r\n return (\r\n <>\r\n {actionsLoading && }\r\n \r\n {title}\r\n {\r\n onHide(false);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n );\r\n}\r\n","import React, { useState, useEffect } from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { Formik, Form, Field } from \"formik\";\r\nimport { Notification } from \"../../../../../../modules/Notification\";\r\nimport * as Yup from \"yup\";\r\nimport Select from 'react-select';\r\nimport axios from \"axios\"\r\nimport {\r\n Input,\r\n CheckboxLarge,\r\n} from \"../../../../../../../_metronic/_partials/controls\";\r\n\r\n// Validation schema\r\nconst CustomerEditSchema = Yup.object().shape({\r\n Name: Yup.string()\r\n .min(1, \"Minimum 3 symbols\")\r\n .max(50, \"Maximum 50 symbols\")\r\n .required(\"EQUIPMENTS is required\"),\r\n EquipmentTypeId: Yup.string()\r\n .required(\"Equipment Type is required\"),\r\n});\r\n\r\nexport function CustomerEditForm({\r\n saveCustomer,\r\n customer,\r\n actionsLoading,\r\n onHide,\r\n}) {\r\n const [Refrigerated, setRefrigerated] = useState(false);\r\n const [Status, setStatus] = useState(false);\r\n const [ServicesList, setServicesList] = useState([]);\r\n const [ServicesListOption, setServicesListOption] = useState([]);\r\n const [ModesList, setModesList] = useState([]);\r\n const [ModesListOption, setModesListOption] = useState([]);\r\n const [ServiceLevelsList, setServiceLevelsList] = useState([]);\r\n const [ServiceLevelsListOption, setServiceLevelsListOption] = useState([]);\r\n const [EquipmentTypesList, setEquipmentTypesList] = useState([]);\r\n const [EquipmentTypesListOption, setEquipmentTypesListOption] = useState([]);\r\n const [ModeId, setModeId] = useState(null);\r\n const [ServiceId, setServiceId] = useState(null);\r\n const [ServiceLevelId, setServiceLevelId] = useState(null);\r\n const [EquepmentTypeId, setEquepmentTypeId] = useState(null);\r\n\r\n useEffect(() => {\r\n setRefrigerated(customer.Refrigerated || false);\r\n setStatus(customer.IsActive || false);\r\n fetchGetCountriesAsync();\r\n if (customer.ServiceId !== undefined && customer.ServiceId !== \"\" && customer.ServiceId !== null) {\r\n setServiceId(customer.ServiceId);\r\n }\r\n }, [customer]);\r\n const fetchGetCountriesAsync = async () => {\r\n try {\r\n const result = await axios.get(\"api/ManageServices/GetData\");\r\n setServicesListOption(result.data.map(suggestion => ({\r\n value: suggestion.id,\r\n label: suggestion.Name,\r\n })));\r\n setServicesList(result.data || []);\r\n if (customer.ModeId !== undefined && customer.ModeId !== \"\" && customer.ModeId !== null) {\r\n const dataFilter = result.data.filter(a => a.id === customer.ServiceId);\r\n if (dataFilter.length > 0) {\r\n var gg = dataFilter[0].Modes;\r\n setModesListOption(gg.map(suggestion => ({\r\n value: suggestion.Id,\r\n label: suggestion.Name,\r\n })));\r\n setModesList(gg);\r\n const tt = gg.filter(a => a.Id === customer.ModeId);\r\n if (tt.length > 0) {\r\n setServiceLevelsList(tt[0].ServiceLevels);\r\n setServiceLevelsListOption(tt[0].ServiceLevels.map(suggestion => ({\r\n value: suggestion.Id,\r\n label: suggestion.Name,\r\n })));\r\n const hh = tt[0].ServiceLevels.filter(a => a.Id === customer.ServiceLevelId);\r\n if (hh.length > 0) {\r\n setEquipmentTypesList(hh[0].EquipmentTypes);\r\n setEquipmentTypesListOption(hh[0].EquipmentTypes.map(suggestion => ({\r\n value: suggestion.Id,\r\n label: suggestion.Name,\r\n })));\r\n }\r\n }\r\n setModeId(customer.ModeId);\r\n setServiceLevelId(customer.ServiceLevelId);\r\n setEquepmentTypeId(customer.EquipmentTypeId);\r\n }\r\n }\r\n } catch (e) { }\r\n };\r\n return (\r\n <>\r\n {\r\n saveCustomer(values);\r\n }}\r\n >\r\n {({ errors, touched, handleSubmit, setFieldValue }) => (\r\n <>\r\n \r\n {actionsLoading && (\r\n
\r\n
\r\n
\r\n )}\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n {ServicesListOption && (\r\n <>\r\n

Service

\r\n a.value === ServiceId)}\r\n onChange={(event) => {\r\n setServiceId(event.value);\r\n setFieldValue(\"ServiceId\", event.value);\r\n setFieldValue(\"ModeId\", null);\r\n setFieldValue(\"ServiceLevelId\", null);\r\n const dataFilter = ServicesList.filter(a => a.id === event.value);\r\n console.log(dataFilter);\r\n if (dataFilter[0].Modes.length > 0) {\r\n setModesList(dataFilter[0].Modes);\r\n setModesListOption(dataFilter[0].Modes.map(suggestion => ({\r\n value: suggestion.Id,\r\n label: suggestion.Name,\r\n })));\r\n } else {\r\n setModesList([]);\r\n setModeId(null);\r\n setServiceLevelId(null);\r\n setServiceLevelsList([]);\r\n setModesListOption([]);\r\n setServiceLevelsListOption([]);\r\n Notification(\"warning\", \"this Service doesn't have any mode\");\r\n }\r\n }}\r\n >\r\n \r\n \r\n )}\r\n
\r\n
\r\n
\r\n
\r\n {\r\n ModesListOption && (\r\n <>\r\n

Mode

\r\n\r\n a.value === ModeId)}\r\n\r\n onChange={(event) => {\r\n setModeId(event.value);\r\n setFieldValue(\"ModeId\", event.value);\r\n setFieldValue(\"ServiceLevelId\", null);\r\n const dataFilter = ModesList.filter(a => a.Id === event.value);\r\n if (dataFilter[0].ServiceLevels.length > 0) {\r\n setServiceLevelsList(dataFilter[0].ServiceLevels);\r\n setServiceLevelsListOption(dataFilter[0].ServiceLevels.map(suggestion => ({\r\n value: suggestion.Id,\r\n label: suggestion.Name,\r\n })))\r\n } else {\r\n setServiceLevelId(null);\r\n setServiceLevelsList([]);\r\n setModesList([]);\r\n setServiceLevelsListOption([]);\r\n setModesListOption([]);\r\n Notification(\"warning\", \"this Mode doesn't have any Service Level\");\r\n }\r\n }}\r\n >\r\n \r\n\r\n \r\n )\r\n }\r\n
\r\n
\r\n
\r\n
\r\n

Service Level

\r\n\r\n a.value === ServiceLevelId)}\r\n options={ServiceLevelsListOption}\r\n onChange={(event) => {\r\n setServiceLevelId(event.value);\r\n setFieldValue(\"ServiceLevelId\", event.value);\r\n const dataFilter = ServiceLevelsList.filter(a => a.Id === event.value);\r\n if (dataFilter[0].EquipmentTypes.length > 0) {\r\n setEquipmentTypesList(dataFilter[0].EquipmentTypes);\r\n setEquipmentTypesListOption(dataFilter[0].EquipmentTypes.map(suggestion => ({\r\n value: suggestion.Id,\r\n label: suggestion.Name,\r\n })))\r\n } else {\r\n setEquepmentTypeId(\"\");\r\n setFieldValue(\"EquipmentTypeId\", null);\r\n setServiceLevelsListOption([]);\r\n setEquipmentTypesList([]);\r\n setEquipmentTypesListOption([]);\r\n Notification(\"warning\", \"this Mode doesn't have any Service Level\");\r\n }\r\n }}\r\n >\r\n \r\n\r\n
\r\n
\r\n
\r\n
\r\n

Equipment Type

\r\n\r\n a.value === EquepmentTypeId)}\r\n options={EquipmentTypesListOption}\r\n onChange={(event) => {\r\n setEquepmentTypeId(event.value);\r\n setFieldValue(\"EquipmentTypeId\", event.value);\r\n }}\r\n >\r\n \r\n {errors.EquipmentTypeId && touched.EquipmentTypeId ? (\r\n
{errors.EquipmentTypeId}
\r\n ) : null}\r\n
\r\n
\r\n
\r\n
\r\n This Fields Accepts Up to 3 Decimal Points\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n {\r\n setFieldValue(\"Refrigerated\", event.target.checked);\r\n setRefrigerated(event.target.checked);\r\n }}\r\n />\r\n
\r\n
\r\n {\r\n setFieldValue(\"IsActive\", event.target.checked);\r\n setStatus(event.target.checked);\r\n }}\r\n />\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n Cancel\r\n \r\n <> \r\n handleSubmit()}\r\n className=\"btn btn-primary btn-elevate\"\r\n >\r\n Save\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n );\r\n}\r\n","export const CustomerStatusCssClasses = [\"danger\", \"success\", \"info\", \"\"];\r\nexport const CustomerStatusTitles = [\"Inactive\", \"Active\"];\r\nexport const CustomerTypeCssClasses = [\"success\", \"primary\", \"\"];\r\nexport const CustomerTypeTitles = [\"Business\", \"Individual\", \"\"];\r\nexport const defaultSorted = [{ dataField: \"id\", order: \"desc\" }];\r\nexport const sizePerPageList = [\r\n { text: \"3\", value: 3 },\r\n { text: \"5\", value: 5 },\r\n { text: \"10\", value: 10 }\r\n];\r\nexport const initialFilter = {\r\n filter: {\r\n lastName: \"\",\r\n firstName: \"\",\r\n email: \"\",\r\n ipAddress: \"\"\r\n },\r\n sortOrder: \"asc\", // asc||desc\r\n sortField: \"id\",\r\n pageNumber: 1,\r\n pageSize: 10\r\n};\r\n","import React, {createContext, useContext, useState, useCallback} from \"react\";\r\nimport {isEqual, isFunction} from \"lodash\";\r\nimport {initialFilter} from \"./CustomersUIHelpers\";\r\n\r\nconst CustomersUIContext = createContext();\r\n\r\nexport function useCustomersUIContext() {\r\n return useContext(CustomersUIContext);\r\n}\r\n\r\nexport const CustomersUIConsumer = CustomersUIContext.Consumer;\r\n\r\nexport function CustomersUIProvider({customersUIEvents, children}) {\r\n const [queryParams, setQueryParamsBase] = useState(initialFilter);\r\n const [ids, setIds] = useState([]);\r\n const setQueryParams = useCallback(nextQueryParams => {\r\n setQueryParamsBase(prevQueryParams => {\r\n if (isFunction(nextQueryParams)) {\r\n nextQueryParams = nextQueryParams(prevQueryParams);\r\n }\r\n\r\n if (isEqual(prevQueryParams, nextQueryParams)) {\r\n return prevQueryParams;\r\n }\r\n\r\n return nextQueryParams;\r\n });\r\n }, []);\r\n\r\n const initCustomer = {\r\n id: undefined,\r\n Name: \"\",\r\n EquipmentTypeId:\"\",\r\n Refrigerated: false,\r\n };\r\n\r\n const value = {\r\n queryParams,\r\n setQueryParamsBase,\r\n ids,\r\n setIds,\r\n setQueryParams,\r\n initCustomer,\r\n newCustomerButtonClick: customersUIEvents.newCustomerButtonClick,\r\n openEditCustomerDialog: customersUIEvents.openEditCustomerDialog,\r\n openDeleteCustomerDialog: customersUIEvents.openDeleteCustomerDialog,\r\n openDeleteCustomersDialog: customersUIEvents.openDeleteCustomersDialog,\r\n openFetchCustomersDialog: customersUIEvents.openFetchCustomersDialog,\r\n openUpdateCustomersStatusDialog: customersUIEvents.openUpdateCustomersStatusDialog\r\n };\r\n\r\n return {children};\r\n}","import React, { useEffect, useMemo } from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { shallowEqual, useDispatch, useSelector } from \"react-redux\";\r\nimport * as actions from \"../../../../_redux/Transload/ManageEquipments/customersActions\";\r\nimport { CustomerEditDialogHeader } from \"./CustomerEditDialogHeader\";\r\nimport { CustomerEditForm } from \"./CustomerEditForm\";\r\nimport { useCustomersUIContext } from \"../CustomersUIContext\";\r\n\r\nexport function CustomerEditDialog({ id, show, onHide }) {\r\n // Customers UI Context\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n initCustomer: customersUIContext.initCustomer,\r\n };\r\n }, [customersUIContext]);\r\n\r\n // Customers Redux state\r\n const dispatch = useDispatch();\r\n const { actionsLoading, customerForEdit } = useSelector(\r\n (state) => ({\r\n actionsLoading: state.customers.actionsLoading,\r\n customerForEdit: state.customers.customerForEdit,\r\n }),\r\n shallowEqual\r\n );\r\n\r\n useEffect(() => {\r\n // server call for getting Customer by id\r\n dispatch(actions.fetchCustomer(id));\r\n }, [id, dispatch]);\r\n\r\n // server request for saving customer\r\n const saveCustomer = (customer) => {\r\n if (!id) {\r\n // server request for creating customer\r\n dispatch(actions.createCustomer(customer)).then(() => {\r\n onHide();\r\n document.getElementById(\"ReLoadTableId\").click();\r\n });\r\n } else {\r\n // server request for updating customer\r\n dispatch(actions.updateCustomer(customer)).then(() => {\r\n onHide();\r\n document.getElementById(\"ReLoadTableId\").click();\r\n });\r\n }\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n}\r\n","import React, { useEffect, useMemo } from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { shallowEqual, useDispatch, useSelector } from \"react-redux\";\r\nimport { ModalProgressBar } from \"../../../../../../../_metronic/_partials/controls\";\r\nimport * as actions from \"../../../../_redux/Transload/ManageEquipments/customersActions\";\r\nimport { useCustomersUIContext } from \"../CustomersUIContext\";\r\n\r\nexport function CustomerDeleteDialog({ id, show, onHide }) {\r\n // Customers UI Context\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n setIds: customersUIContext.setIds,\r\n queryParams: customersUIContext.queryParams,\r\n };\r\n }, [customersUIContext]);\r\n\r\n // Customers Redux state\r\n const dispatch = useDispatch();\r\n const { isLoading } = useSelector(\r\n (state) => ({ isLoading: state.customers.actionsLoading }),\r\n shallowEqual\r\n );\r\n\r\n // if !id we should close modal\r\n useEffect(() => {\r\n if (!id) {\r\n onHide();\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [id]);\r\n\r\n // looking for loading/dispatch\r\n useEffect(() => {}, [isLoading, dispatch]);\r\n\r\n const deleteCustomer = () => {\r\n // server request for deleting customer by id\r\n dispatch(actions.deleteCustomer(id)).then(() => {\r\n // refresh list after deletion\r\n dispatch(actions.fetchCustomers(customersUIProps.queryParams));\r\n // clear selections list\r\n customersUIProps.setIds([]);\r\n // closing delete modal\r\n onHide();\r\n });\r\n };\r\n\r\n return (\r\n \r\n {/*begin::Loading*/}\r\n {isLoading && }\r\n {/*end::Loading*/}\r\n \r\n \r\n Equipment Delete\r\n \r\n \r\n \r\n {!isLoading && (\r\n Are you sure to permanently delete this Equipment?\r\n )}\r\n {isLoading && Equipment is deleting...}\r\n \r\n \r\n
\r\n \r\n Cancel\r\n \r\n <> \r\n \r\n Delete\r\n \r\n
\r\n
\r\n \r\n );\r\n}\r\n","import React, { useEffect, useMemo } from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { shallowEqual, useDispatch, useSelector } from \"react-redux\";\r\nimport * as actions from \"../../../../_redux/Transload/ManageEquipments/customersActions\";\r\nimport { useCustomersUIContext } from \"../CustomersUIContext\";\r\nimport {ModalProgressBar} from \"../../../../../../../_metronic/_partials/controls\";\r\n\r\nexport function CustomersDeleteDialog({ show, onHide }) {\r\n // Customers UI Context\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n ids: customersUIContext.ids,\r\n setIds: customersUIContext.setIds,\r\n queryParams: customersUIContext.queryParams,\r\n };\r\n }, [customersUIContext]);\r\n\r\n // Customers Redux state\r\n const dispatch = useDispatch();\r\n const { isLoading } = useSelector(\r\n (state) => ({ isLoading: state.customers.actionsLoading }),\r\n shallowEqual\r\n );\r\n\r\n // if customers weren't selected we should close modal\r\n useEffect(() => {\r\n if (!customersUIProps.ids || customersUIProps.ids.length === 0) {\r\n onHide();\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [customersUIProps.ids]);\r\n\r\n // looking for loading/dispatch\r\n useEffect(() => {}, [isLoading, dispatch]);\r\n\r\n const deleteCustomers = () => {\r\n // server request for deleting customer by selected ids\r\n dispatch(actions.deleteCustomers(customersUIProps.ids)).then(() => {\r\n // refresh list after deletion\r\n dispatch(actions.fetchCustomers(customersUIProps.queryParams)).then(\r\n () => {\r\n // clear selections list\r\n customersUIProps.setIds([]);\r\n // closing delete modal\r\n onHide();\r\n }\r\n );\r\n });\r\n };\r\n\r\n return (\r\n \r\n {/*begin::Loading*/}\r\n {isLoading && }\r\n {/*end::Loading*/}\r\n \r\n \r\n Customers Delete\r\n \r\n \r\n \r\n {!isLoading && (\r\n Are you sure to permanently delete selected customers?\r\n )}\r\n {isLoading && Customer are deleting...}\r\n \r\n \r\n
\r\n \r\n Cancel\r\n \r\n <> \r\n \r\n Delete\r\n \r\n
\r\n
\r\n \r\n );\r\n}\r\n","import React, { useEffect, useMemo } from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { shallowEqual, useSelector } from \"react-redux\";\r\nimport { CustomerStatusCssClasses } from \"../CustomersUIHelpers\";\r\nimport { useCustomersUIContext } from \"../CustomersUIContext\";\r\n\r\nconst selectedCustomers = (entities, ids) => {\r\n const _customers = [];\r\n ids.forEach((id) => {\r\n const customer = entities.find((el) => el.id === id);\r\n if (customer) {\r\n _customers.push(customer);\r\n }\r\n });\r\n return _customers;\r\n};\r\n\r\nexport function CustomersFetchDialog({ show, onHide }) {\r\n // Customers UI Context\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n ids: customersUIContext.ids,\r\n };\r\n }, [customersUIContext]);\r\n\r\n // Customers Redux state\r\n const { customers } = useSelector(\r\n (state) => ({\r\n customers: selectedCustomers(\r\n state.customers.entities,\r\n customersUIProps.ids\r\n ),\r\n }),\r\n shallowEqual\r\n );\r\n\r\n // if customers weren't selected we should close modal\r\n useEffect(() => {\r\n if (!customersUIProps.ids || customersUIProps.ids.length === 0) {\r\n onHide();\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [customersUIProps.ids]);\r\n\r\n return (\r\n \r\n \r\n \r\n Fetch selected elements\r\n \r\n \r\n \r\n
\r\n {customers.map((customer) => (\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n ID: {customer.id}\r\n \r\n {customer.lastName}, {customer.firstName} \r\n
\r\n
\r\n ))}\r\n
\r\n \r\n \r\n
\r\n \r\n Cancel\r\n \r\n <> \r\n \r\n Ok\r\n \r\n
\r\n
\r\n \r\n );\r\n}\r\n","import React, { useEffect, useState, useMemo } from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { shallowEqual, useDispatch, useSelector } from \"react-redux\";\r\nimport { CustomerStatusCssClasses } from \"../CustomersUIHelpers\";\r\nimport * as actions from \"../../../../_redux/Transload/ManageEquipments/customersActions\";\r\nimport { useCustomersUIContext } from \"../CustomersUIContext\";\r\n\r\nconst selectedCustomers = (entities, ids) => {\r\n const _customers = [];\r\n ids.forEach((id) => {\r\n const customer = entities.find((el) => el.id === id);\r\n if (customer) {\r\n _customers.push(customer);\r\n }\r\n });\r\n return _customers;\r\n};\r\n\r\nexport function CustomersUpdateStateDialog({ show, onHide }) {\r\n // Customers UI Context\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n ids: customersUIContext.ids,\r\n setIds: customersUIContext.setIds,\r\n queryParams: customersUIContext.queryParams,\r\n };\r\n }, [customersUIContext]);\r\n\r\n // Customers Redux state\r\n const { customers, isLoading } = useSelector(\r\n (state) => ({\r\n customers: selectedCustomers(\r\n state.customers.entities,\r\n customersUIProps.ids\r\n ),\r\n isLoading: state.customers.actionsLoading,\r\n }),\r\n shallowEqual\r\n );\r\n\r\n // if !id we should close modal\r\n useEffect(() => {\r\n if (!customersUIProps.ids || customersUIProps.ids.length === 0) {\r\n onHide();\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [customersUIProps.ids]);\r\n\r\n const [status, setStatus] = useState(0);\r\n\r\n const dispatch = useDispatch();\r\n const updateStatus = () => {\r\n // server request for update customers status by selected ids\r\n dispatch(actions.updateCustomersStatus(customersUIProps.ids, status)).then(\r\n () => {\r\n // refresh list after deletion\r\n dispatch(actions.fetchCustomers(customersUIProps.queryParams)).then(\r\n () => {\r\n // clear selections list\r\n customersUIProps.setIds([]);\r\n // closing delete modal\r\n onHide();\r\n }\r\n );\r\n }\r\n );\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n Status has been updated for selected customers\r\n \r\n \r\n \r\n {/*begin::Loading*/}\r\n {isLoading && (\r\n
\r\n
\r\n
\r\n )}\r\n {/*end::Loading*/}\r\n\r\n
\r\n {customers.map((customer) => (\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n ID: {customer.id}\r\n \r\n \r\n {customer.lastName}, {customer.firstName}\r\n \r\n
\r\n
\r\n ))}\r\n
\r\n \r\n \r\n
\r\n setStatus(+e.target.value)}\r\n >\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n Cancel\r\n \r\n \r\n Update Status\r\n \r\n
\r\n
\r\n \r\n );\r\n}\r\n","import React, { useMemo,useState } from \"react\";\r\nimport { Formik } from \"formik\";\r\nimport { isEqual } from \"lodash\";\r\nimport { useCustomersUIContext } from \"../CustomersUIContext\";\r\nimport axios from \"axios\";\r\nimport Menu from '@material-ui/core/Menu';\r\nimport MenuItem from '@material-ui/core/MenuItem';\r\nimport ListItemIcon from '@material-ui/core/ListItemIcon';\r\nimport ListItemText from '@material-ui/core/ListItemText';\r\nimport { withStyles } from '@material-ui/core/styles';\r\nimport { makeStyles } from '@material-ui/core/styles';\r\nimport Icon from '@material-ui/core/Icon';\r\nimport Button from '@material-ui/core/Button';\r\nimport { Form, Modal, Col, Tabs, Tab, Table, Spinner, OverlayTrigger, Tooltip, ButtonToolbar } from \"react-bootstrap\";\r\nimport { Export } from \"../../../../../../../_metronic/_helpers/ATHelpers\";\r\n\r\n//Export Filter\r\n\r\nconst StyledMenu = withStyles({\r\n paper: {\r\n border: '1px solid #d3d4d5',\r\n },\r\n})(props => (\r\n \r\n));\r\nconst StyledMenuItem = withStyles(theme => ({\r\n root: {\r\n '&:focus': {\r\n backgroundColor: theme.palette.primary.main,\r\n '& .MuiListItemIcon-root, & .MuiListItemText-primary': {\r\n color: theme.palette.common.white,\r\n },\r\n },\r\n },\r\n}))(MenuItem);\r\nconst useStyles = makeStyles(theme => ({\r\n button: {\r\n margin: theme.spacing(1),\r\n },\r\n leftIcon: {\r\n marginRight: theme.spacing(1),\r\n },\r\n rightIcon: {\r\n marginLeft: theme.spacing(1),\r\n },\r\n iconSmall: {\r\n fontSize: 20,\r\n },\r\n}));\r\nconst prepareFilter = (queryParams, values) => {\r\n const { ReLoadTable, searchText } = values;\r\n const newQueryParams = { ...queryParams };\r\n const filter = {};\r\n filter.id = searchText;\r\n if (searchText) {\r\n filter.id = searchText;\r\n }\r\n filter.ReLoadTable = ReLoadTable;\r\n newQueryParams.filter = filter;\r\n return newQueryParams;\r\n};\r\n\r\nexport function CustomersFilter({ listLoading }) {\r\n // Customers UI Context\r\n const customersUIContext = useCustomersUIContext();\r\n const [QueryFilter, setQueryFilter] = useState(\"\");\r\n\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n queryParams: customersUIContext.queryParams,\r\n setQueryParams: customersUIContext.setQueryParams,\r\n };\r\n }, [customersUIContext]);\r\n\r\n // queryParams, setQueryParams,\r\n const applyFilter = (values) => {\r\n const newQueryParams = prepareFilter(customersUIProps.queryParams, values);\r\n if (!isEqual(newQueryParams, customersUIProps.queryParams)) {\r\n newQueryParams.pageNumber = 1;\r\n // update list by queryParams\r\n setQueryFilter(newQueryParams);\r\n\r\n customersUIProps.setQueryParams(newQueryParams);\r\n }\r\n };\r\n const useStyles = makeStyles(theme => ({\r\n container: {\r\n display: 'flex',\r\n flexWrap: 'wrap',\r\n },\r\n textField: {\r\n marginLeft: theme.spacing(1),\r\n marginRight: theme.spacing(1),\r\n width: 200,\r\n },\r\n }));\r\n const classes = useStyles();\r\n const [anchorEl, setAnchorEl] = React.useState(null);\r\n function handleClick(event) {\r\n setAnchorEl(event.currentTarget);\r\n }\r\n function handleClose() {\r\n setAnchorEl(null);\r\n }\r\n\r\n async function fetchMyAPI2(type, entityName) {\r\n var filter = QueryFilter;\r\n if (filter) {\r\n filter.pageSize=100000;\r\n const result = await axios.post(`api/ManageEquipments/filter`, { \"queryParams\": filter });\r\n Export(result.data.entities, type, entityName);\r\n } else {\r\n const result = await axios.post(`api/ManageEquipments/filter`, { \"queryParams\": { \"filter\": {\"ReLoadTable\": false }, \"sortOrder\": \"asc\", \"sortField\": \"id\", \"pageNumber\": 1, \"pageSize\": 100000 } });\r\n Export(result.data.entities, type, entityName);\r\n }\r\n }\r\n return (\r\n <>\r\n {\r\n applyFilter(values);\r\n }}\r\n >\r\n {({\r\n values,\r\n handleSubmit,\r\n handleBlur,\r\n handleChange,\r\n setFieldValue,\r\n }) => (\r\n
\r\n {\r\n if (e.target.value == \"0\")\r\n document.getElementById(\"ReLoadTableId\").value = 1;\r\n else document.getElementById(\"ReLoadTableId\").value = 0;\r\n setFieldValue(\"ReLoadTable\", e.target.value);\r\n handleSubmit();\r\n }}\r\n />\r\n
\r\n
\r\n {\r\n setFieldValue(\"searchText\", e.target.value);\r\n handleSubmit();\r\n }}\r\n />\r\n \r\n Search by ID\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n {\r\n fetchMyAPI2(\"excel\", \"Equipment\");\r\n\r\n }}>\r\n \r\n \r\n \r\n \r\n \r\n {\r\n fetchMyAPI2(\"csv\", \"Equipment\");\r\n }} >\r\n \r\n \r\n \r\n \r\n \r\n {\r\n fetchMyAPI2(\"json\", \"Equipment\");\r\n }}>\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n {/* */}\r\n \r\n
\r\n
\r\n \r\n )}\r\n \r\n \r\n );\r\n}\r\n","// please be familiar with react-bootstrap-table-next column formaters\r\n// https://react-bootstrap-table.github.io/react-bootstrap-table2/storybook/index.html?selectedKind=Work%20on%20Columns&selectedStory=Column%20Formatter&full=0&addons=1&stories=1&panelRight=0&addonPanel=storybook%2Factions%2Factions-panel\r\nimport React from \"react\";\r\n\r\nexport function StatusColumnFormatter(cellContent, row) {\r\n const CustomerStatusCssClasses = [\"success\", \"danger\"];\r\n const CustomerStatusTitles = [\"Active\", \"Inactive\"];\r\n\r\n var isActive = row.IsActive === true ? 0 : 1;\r\n\r\n const getLabelCssClasses = () => {\r\n return `label label-lg label-light-${CustomerStatusCssClasses[isActive]} label-inline`;\r\n };\r\n return (\r\n \r\n {CustomerStatusTitles[isActive]}\r\n \r\n );\r\n}\r\n ","// please be familiar with react-bootstrap-table-next column formaters\r\n// https://react-bootstrap-table.github.io/react-bootstrap-table2/storybook/index.html?selectedKind=Work%20on%20Columns&selectedStory=Column%20Formatter&full=0&addons=1&stories=1&panelRight=0&addonPanel=storybook%2Factions%2Factions-panel\r\n/* eslint-disable no-script-url,jsx-a11y/anchor-is-valid */\r\nimport React from \"react\";\r\nimport SVG from \"react-inlinesvg\";\r\nimport { toAbsoluteUrl } from \"../../../../../../../../_metronic/_helpers\";\r\n\r\nexport function ActionsColumnFormatter(\r\n cellContent,\r\n row,\r\n rowIndex,\r\n { openEditCustomerDialog, openDeleteCustomerDialog }\r\n) {\r\n return (\r\n <>\r\n openEditCustomerDialog(row.id)}\r\n >\r\n \r\n \r\n \r\n \r\n <> \r\n\r\n openDeleteCustomerDialog(row.id)}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n","import React from \"react\";\r\n\r\nexport function RefrigeratedColumnFormatter(cellContent, row) {\r\n const CustomerStatusCssClasses = [\"primary\", \"danger\"];\r\n const CustomerStatusTitles = [\"true\", \"false\"];\r\n\r\n var isActive = row.Refrigerated === true ? 0 : 1;\r\n return (\r\n \r\n \r\n {CustomerStatusTitles[isActive]}\r\n \r\n );\r\n}\r\n","// React bootstrap table next =>\r\n// DOCS: https://react-bootstrap-table.github.io/react-bootstrap-table2/docs/\r\n// STORYBOOK: https://react-bootstrap-table.github.io/react-bootstrap-table2/storybook/index.html\r\nimport React, { useEffect, useMemo } from \"react\";\r\nimport BootstrapTable from \"react-bootstrap-table-next\";\r\nimport paginationFactory, {\r\n PaginationProvider,\r\n} from \"react-bootstrap-table2-paginator\";\r\nimport { shallowEqual, useDispatch, useSelector } from \"react-redux\";\r\nimport * as actions from \"../../../../_redux/Transload/ManageEquipments/customersActions\";\r\nimport {\r\n getSelectRow,\r\n getHandlerTableChange,\r\n NoRecordsFoundMessage,\r\n PleaseWaitMessage,\r\n sortCaret,\r\n headerSortingClasses,\r\n} from \"../../../../../../../_metronic/_helpers\";\r\nimport * as uiHelpers from \"../CustomersUIHelpers\";\r\nimport * as columnFormatters from \"./column-formatters\";\r\nimport { Pagination } from \"../../../../../../../_metronic/_partials/controls\";\r\nimport { useCustomersUIContext } from \"../CustomersUIContext\";\r\n\r\nexport function CustomersTable() {\r\n // Customers UI Context\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n ids: customersUIContext.ids,\r\n setIds: customersUIContext.setIds,\r\n queryParams: customersUIContext.queryParams,\r\n setQueryParams: customersUIContext.setQueryParams,\r\n openEditCustomerDialog: customersUIContext.openEditCustomerDialog,\r\n openDeleteCustomerDialog: customersUIContext.openDeleteCustomerDialog,\r\n };\r\n }, [customersUIContext]);\r\n\r\n // Getting curret state of customers list from store (Redux)\r\n const { currentState } = useSelector(\r\n (state) => ({ currentState: state.customers }),\r\n shallowEqual\r\n );\r\n const { totalCount, entities, listLoading } = currentState;\r\n\r\n // Customers Redux state\r\n const dispatch = useDispatch();\r\n useEffect(() => {\r\n // clear selections list\r\n customersUIProps.setIds([]);\r\n // server call by queryParams\r\n dispatch(actions.fetchCustomers(customersUIProps.queryParams));\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [customersUIProps.queryParams, dispatch]);\r\n // Table columns\r\n const columns = [\r\n {\r\n dataField: \"id\",\r\n text: \"ID\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n headerSortingClasses,\r\n },\r\n {\r\n dataField: \"Service\",\r\n text: \"Service\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n headerSortingClasses,\r\n },\r\n {\r\n dataField: \"Mode\",\r\n text: \"Mode\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n headerSortingClasses,\r\n },\r\n {\r\n dataField: \"ServiceLevel\",\r\n text: \"Service Level\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n headerSortingClasses,\r\n },\r\n {\r\n dataField: \"EquipmentType\",\r\n text: \"Equipment Type\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n headerSortingClasses,\r\n },\r\n {\r\n dataField: \"Name\",\r\n text: \"Equipment Size\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n headerSortingClasses,\r\n },\r\n {\r\n dataField: \"Refrigerated\",\r\n text: \"REFRIGERATED\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n formatter: columnFormatters.RefrigeratedColumnFormatter,\r\n },\r\n {\r\n dataField: \"MaxCbm\",\r\n text: \"MAX CBM\",\r\n sort: false,\r\n sortCaret: sortCaret,\r\n },\r\n {\r\n dataField: \"MaxKgs\",\r\n text: \"MAX KGS\",\r\n sort: false,\r\n sortCaret: sortCaret,\r\n },\r\n {\r\n dataField: \"MaxCft\",\r\n text: \"MAX CFT\",\r\n sort: false,\r\n sortCaret: sortCaret,\r\n },\r\n {\r\n dataField: \"MaxLbs\",\r\n text: \"MAX LBS\",\r\n sort: false,\r\n sortCaret: sortCaret,\r\n },\r\n {\r\n dataField: \"IsActive\",\r\n text: \"Status\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n formatter: columnFormatters.StatusColumnFormatter,\r\n headerSortingClasses,\r\n },\r\n {\r\n dataField: \"action\",\r\n text: \"Actions\",\r\n formatter: columnFormatters.ActionsColumnFormatter,\r\n formatExtraData: {\r\n openEditCustomerDialog: customersUIProps.openEditCustomerDialog,\r\n openDeleteCustomerDialog: customersUIProps.openDeleteCustomerDialog,\r\n },\r\n classes: \"text-center pr-0\",\r\n headerClasses: \"text-center pr-3\",\r\n style: {\r\n minWidth: \"100px\",\r\n },\r\n },\r\n ];\r\n // Table pagination properties\r\n const paginationOptions = {\r\n custom: true,\r\n totalSize: totalCount,\r\n sizePerPageList: uiHelpers.sizePerPageList,\r\n sizePerPage: customersUIProps.queryParams.pageSize,\r\n page: customersUIProps.queryParams.pageNumber,\r\n };\r\n return (\r\n <>\r\n \r\n {({ paginationProps, paginationTableProps }) => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n }}\r\n \r\n \r\n );\r\n}\r\n","import React, { useMemo } from \"react\";\r\nimport { useCustomersUIContext } from \"../CustomersUIContext\";\r\n\r\nexport function CustomersGrouping() {\r\n // Customers UI Context\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n ids: customersUIContext.ids,\r\n setIds: customersUIContext.setIds,\r\n openDeleteCustomersDialog: customersUIContext.openDeleteCustomersDialog,\r\n openFetchCustomersDialog: customersUIContext.openFetchCustomersDialog,\r\n openUpdateCustomersStatusDialog:\r\n customersUIContext.openUpdateCustomersStatusDialog,\r\n };\r\n }, [customersUIContext]);\r\n\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n Delete All\r\n \r\n  \r\n \r\n Fetch Selected\r\n \r\n  \r\n \r\n Update Status\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n );\r\n}\r\n","import React, { useMemo } from \"react\";\r\nimport {\r\n Card,\r\n CardBody,\r\n CardHeader,\r\n CardHeaderToolbar,\r\n} from \"../../../../../../_metronic/_partials/controls\";\r\nimport { CustomersFilter } from \"./customers-filter/CustomersFilter\";\r\nimport { CustomersTable } from \"./customers-table/CustomersTable\";\r\nimport { CustomersGrouping } from \"./customers-grouping/CustomersGrouping\";\r\nimport { useCustomersUIContext } from \"./CustomersUIContext\";\r\nimport { Helmet } from \"react-helmet\";\r\n\r\nexport function CustomersCard() {\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n ids: customersUIContext.ids,\r\n newCustomerButtonClick: customersUIContext.newCustomerButtonClick,\r\n };\r\n }, [customersUIContext]);\r\n\r\n return (\r\n <>\r\n \r\n eMPower | Equipment Size\r\n \r\n \r\n \r\n \r\n \r\n \r\n New Equipment Size\r\n \r\n \r\n \r\n \r\n \r\n {customersUIProps.ids.length > 0 && }\r\n \r\n \r\n \r\n \r\n );\r\n}\r\n","import React from \"react\";\r\nimport { Route } from \"react-router-dom\";\r\nimport { CustomersLoadingDialog } from \"./customers-loading-dialog/CustomersLoadingDialog\";\r\nimport { CustomerEditDialog } from \"./customer-edit-dialog/CustomerEditDialog\";\r\nimport { CustomerDeleteDialog } from \"./customer-delete-dialog/CustomerDeleteDialog\";\r\nimport { CustomersDeleteDialog } from \"./customers-delete-dialog/CustomersDeleteDialog\";\r\nimport { CustomersFetchDialog } from \"./customers-fetch-dialog/CustomersFetchDialog\";\r\nimport { CustomersUpdateStateDialog } from \"./customers-update-status-dialog/CustomersUpdateStateDialog\";\r\nimport { CustomersUIProvider } from \"./CustomersUIContext\";\r\nimport { CustomersCard } from \"./CustomersCard\";\r\n\r\nexport function ManageEquipmentsPage({ history }) {\r\n const customersUIEvents = {\r\n newCustomerButtonClick: () => {\r\n history.push(\"/ManageEquipmentsSize/new\");\r\n },\r\n openEditCustomerDialog: (id) => {\r\n history.push(`/ManageEquipmentsSize/${id}/edit`);\r\n },\r\n openDeleteCustomerDialog: (id) => {\r\n history.push(`/ManageEquipmentsSize/${id}/delete`);\r\n },\r\n openDeleteCustomersDialog: () => {\r\n history.push(`/ManageEquipmentsSize/deleteCustomers`);\r\n },\r\n openFetchCustomersDialog: () => {\r\n history.push(`/ManageEquipmentsSize/fetch`);\r\n },\r\n openUpdateCustomersStatusDialog: () => {\r\n history.push(\"/ManageEquipmentsSize/updateStatus\");\r\n }\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n {({ history, match }) => (\r\n {\r\n history.push(\"/ManageEquipmentsSize\");\r\n }}\r\n />\r\n )}\r\n \r\n \r\n {({ history, match }) => (\r\n {\r\n history.push(\"/ManageEquipmentsSize\");\r\n }}\r\n />\r\n )}\r\n \r\n \r\n {({ history, match }) => (\r\n {\r\n history.push(\"/ManageEquipmentsSize\");\r\n }}\r\n />\r\n )}\r\n \r\n \r\n {({ history, match }) => (\r\n {\r\n history.push(\"/ManageEquipmentsSize\");\r\n }}\r\n />\r\n )}\r\n \r\n \r\n {({ history, match }) => (\r\n {\r\n history.push(\"/ManageEquipmentsSize\");\r\n }}\r\n />\r\n )}\r\n \r\n \r\n {({ history, match }) => (\r\n {\r\n history.push(\"/ManageEquipmentsSize\");\r\n }}\r\n />\r\n )}\r\n \r\n \r\n \r\n );\r\n}\r\n","import React, { useEffect } from \"react\";\r\nimport { shallowEqual, useSelector } from \"react-redux\";\r\nimport { LoadingDialog } from \"../../../../../../_metronic/_partials/controls\";\r\n\r\nexport function CustomersLoadingDialog() {\r\n // Customers Redux state\r\n const { isLoading } = useSelector(\r\n (state) => ({ isLoading: state.customers.listLoading }),\r\n shallowEqual\r\n );\r\n // looking for loading/dispatch\r\n useEffect(() => {}, [isLoading]);\r\n return ;\r\n}\r\n","import axios from \"axios\";\r\n\r\nexport const CUSTOMERS_URL = \"api/LocationBilling\";\r\n\r\n// CREATE => POST: add a new customer to the server\r\nexport function createCustomer(customer) {\r\n return axios.post(CUSTOMERS_URL, { customer });\r\n}\r\n\r\n// READ\r\nexport function getAllCustomers() {\r\n return axios.get(CUSTOMERS_URL);\r\n}\r\n\r\nexport function getCustomerById(customerId) {\r\n return axios.get(`${CUSTOMERS_URL}/${customerId}`);\r\n}\r\n\r\n// Method from server should return QueryResultsModel(items: any[], totalsCount: number)\r\n// items => filtered/sorted result\r\nexport function findCustomers(queryParams) {\r\n return axios.post(`${CUSTOMERS_URL}/find`, { queryParams });\r\n}\r\n\r\n// UPDATE => PUT: update the customer on the server\r\nexport function updateCustomer(customer) {\r\n return axios.put(`${CUSTOMERS_URL}/${customer.id}`, { customer });\r\n}\r\n\r\n// UPDATE Status\r\nexport function updateStatusForCustomers(ids, status) {\r\n return axios.post(`${CUSTOMERS_URL}/updateStatusForCustomers`, {\r\n ids,\r\n status\r\n });\r\n}\r\n\r\n// DELETE => delete the customer from the server\r\nexport function deleteCustomer(customerId) {\r\n return axios.delete(`${CUSTOMERS_URL}/${customerId}`);\r\n}\r\n\r\n// DELETE Customers by ids\r\nexport function deleteCustomers(ids) {\r\n return axios.post(`${CUSTOMERS_URL}/deleteCustomers`, { ids });\r\n}\r\n","import {createSlice} from \"@reduxjs/toolkit\";\r\n\r\nconst initialCustomersState = {\r\n listLoading: false,\r\n actionsLoading: false,\r\n totalCount: 0,\r\n entities: null,\r\n customerForEdit: undefined,\r\n lastError: null\r\n};\r\nexport const callTypes = {\r\n list: \"list\",\r\n action: \"action\"\r\n};\r\n\r\nexport const customersSlice = createSlice({\r\n name: \"customers\",\r\n initialState: initialCustomersState,\r\n reducers: {\r\n catchError: (state, action) => {\r\n state.error = `${action.type}: ${action.payload.error}`;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = false;\r\n } else {\r\n state.actionsLoading = false;\r\n }\r\n },\r\n startCall: (state, action) => {\r\n state.error = null;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = true;\r\n } else {\r\n state.actionsLoading = true;\r\n }\r\n },\r\n // getCustomerById\r\n customerFetched: (state, action) => {\r\n state.actionsLoading = false;\r\n state.customerForEdit = action.payload.customerForEdit;\r\n state.error = null;\r\n },\r\n // findCustomers\r\n customersFetched: (state, action) => {\r\n const { totalCount, entities } = action.payload;\r\n state.listLoading = false;\r\n state.error = null;\r\n state.entities = entities;\r\n state.totalCount = totalCount;\r\n },\r\n // createCustomer\r\n customerCreated: (state, action) => {\r\n state.actionsLoading = false;\r\n state.error = null;\r\n state.entities.push(action.payload.customer);\r\n },\r\n // updateCustomer\r\n customerUpdated: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.map(entity => {\r\n if (entity.id === action.payload.customer.id) {\r\n return action.payload.customer;\r\n }\r\n return entity;\r\n });\r\n },\r\n // deleteCustomer\r\n customerDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(el => el.id !== action.payload.id);\r\n },\r\n // deleteCustomers\r\n customersDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(\r\n el => !action.payload.ids.includes(el.id)\r\n );\r\n },\r\n // customersUpdateState\r\n customersStatusUpdated: (state, action) => {\r\n state.actionsLoading = false;\r\n state.error = null;\r\n const { ids, status } = action.payload;\r\n state.entities = state.entities.map(entity => {\r\n if (ids.findIndex(id => id === entity.id) > -1) {\r\n entity.status = status;\r\n }\r\n return entity;\r\n });\r\n }\r\n }\r\n});\r\n","import * as requestFromServer from \"./customersCrud\";\r\nimport {customersSlice, callTypes} from \"./customersSlice\";\r\n\r\nconst {actions} = customersSlice;\r\n\r\nexport const fetchCustomers = queryParams => dispatch => {\r\n dispatch(actions.startCall({ callType: callTypes.list }));\r\n return requestFromServer\r\n .findCustomers(queryParams)\r\n .then(response => {\r\n const { totalCount, entities } = response.data;\r\n dispatch(actions.customersFetched({ totalCount, entities }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't find customers\";\r\n dispatch(actions.catchError({ error, callType: callTypes.list }));\r\n });\r\n};\r\n\r\nexport const fetchCustomer = id => dispatch => {\r\n if (!id) {\r\n return dispatch(actions.customerFetched({ customerForEdit: undefined }));\r\n }\r\n\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .getCustomerById(id)\r\n .then(response => {\r\n const customer = response.data;\r\n dispatch(actions.customerFetched({ customerForEdit: customer }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't find customer\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const deleteCustomer = id => dispatch => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .deleteCustomer(id)\r\n .then(response => {\r\n dispatch(actions.customerDeleted({ id }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't delete customer\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const createCustomer = customerForCreation => dispatch => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .createCustomer(customerForCreation)\r\n .then(response => {\r\n const { customer } = response.data;\r\n dispatch(actions.customerCreated({ customer }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't create customer\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const updateCustomer = customer => dispatch => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .updateCustomer(customer)\r\n .then(() => {\r\n dispatch(actions.customerUpdated({ customer }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't update customer\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const updateCustomersStatus = (ids, status) => dispatch => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .updateStatusForCustomers(ids, status)\r\n .then(() => {\r\n dispatch(actions.customersStatusUpdated({ ids, status }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't update customers status\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const deleteCustomers = ids => dispatch => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .deleteCustomers(ids)\r\n .then(() => {\r\n dispatch(actions.customersDeleted({ ids }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't delete customers\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n","import React, { useState, useEffect } from \"react\";\r\nimport { shallowEqual, useSelector } from \"react-redux\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport {ModalProgressBar} from \"../../../../../../_metronic/_partials/controls\";\r\n\r\nexport function CustomerEditDialogHeader({ id }) {\r\n // Customers Redux state\r\n const { customerForEdit, actionsLoading } = useSelector(\r\n (state) => ({\r\n customerForEdit: state.customers.customerForEdit,\r\n actionsLoading: state.customers.actionsLoading,\r\n }),\r\n shallowEqual\r\n );\r\n\r\n const [title, setTitle] = useState(\"\");\r\n // Title couting\r\n useEffect(() => {\r\n let _title = id ? \"\" : \"New Location Billing\";\r\n if (customerForEdit && id) {\r\n _title = `Edit customer '${customerForEdit.firstName} ${customerForEdit.lastName}'`;\r\n }\r\n\r\n setTitle(_title);\r\n // eslint-disable-next-line\r\n }, [customerForEdit, actionsLoading]);\r\n\r\n return (\r\n <>\r\n {actionsLoading && }\r\n \r\n {title}\r\n \r\n \r\n );\r\n}\r\n","// Form is based on Formik\r\n// Data validation is based on Yup\r\n// Please, be familiar with article first:\r\n// https://hackernoon.com/react-form-validation-with-formik-and-yup-8b76bda62e10\r\nimport React from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { Formik, Form } from \"formik\";\r\nimport * as Yup from \"yup\";\r\nimport TextField from '@material-ui/core/TextField';\r\nimport { makeStyles } from '@material-ui/core/styles';\r\n// Validation schema\r\nconst CustomerEditSchema = Yup.object().shape({\r\n LoginUserName: Yup.string()\r\n .min(3, \"Minimum 3 symbols\")\r\n .max(50, \"Maximum 50 symbols\")\r\n .required(\"Login / User Name is required\"),\r\n Password: Yup.string()\r\n .min(8, \"Minimum 8 symbols\")\r\n .max(50, \"Maximum 50 symbols\")\r\n .required(\"Password is required\"),\r\n ConfirmPassword: Yup.string()\r\n .min(8, \"Minimum 8 symbols\")\r\n .max(50, \"Maximum 50 symbols\")\r\n .required(\"Password is required\"),\r\n email: Yup.string()\r\n .email(\"Invalid email\")\r\n .required(\"Email is required\"),\r\n Phone: Yup.string()\r\n .min(7, \"Minimum 7 Number\")\r\n .max(50, \"Maximum 50 Number\")\r\n .required(\"Phone Number is required\"),\r\n userName: Yup.string().required(\"Username is required\"),\r\n dateOfBbirth: Yup.mixed()\r\n .nullable(false)\r\n .required(\"Date of Birth is required\"),\r\n ipAddress: Yup.string().required(\"IP Address is required\"),\r\n});\r\nconst useStyles = makeStyles(theme => ({\r\n container: {\r\n display: 'flex',\r\n flexWrap: 'wrap',\r\n },\r\n textField: {\r\n marginLeft: theme.spacing(1),\r\n marginRight: theme.spacing(1),\r\n },\r\n dense: {\r\n marginTop: theme.spacing(2),\r\n },\r\n menu: {\r\n width: 200,\r\n },\r\n}));\r\n\r\nexport function CustomerEditForm({\r\n saveCustomer,\r\n customer,\r\n actionsLoading,\r\n onHide,\r\n}) {\r\n const classes = useStyles();\r\n const [values, setValues] = React.useState({\r\n name: '',\r\n age: '',\r\n multiline: 'Controlled',\r\n currency: 'EUR',\r\n });\r\n\r\n const handleChange = name => event => {\r\n setValues({ ...values, [name]: event.target.value });\r\n };\r\n return (\r\n <>\r\n {\r\n saveCustomer(values);\r\n }}\r\n >\r\n {({ handleSubmit }) => (\r\n <>\r\n \r\n {actionsLoading && (\r\n
\r\n
\r\n
\r\n )}\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n Cancel\r\n \r\n <> \r\n handleSubmit()}\r\n className=\"btn btn-success btn-elevate\"\r\n >\r\n Save\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n );\r\n}\r\n","export const CustomerStatusCssClasses = [\"danger\", \"success\", \"info\", \"\"];\r\nexport const CustomerStatusTitles = [\"Inactive\", \"Active\"];\r\nexport const CustomerTypeCssClasses = [\"success\", \"primary\", \"\"];\r\nexport const CustomerTypeTitles = [\"Business\", \"Individual\", \"\"];\r\nexport const defaultSorted = [{ dataField: \"id\", order: \"desc\" }];\r\nexport const sizePerPageList = [\r\n { text: \"3\", value: 3 },\r\n { text: \"5\", value: 5 },\r\n { text: \"10\", value: 10 }\r\n];\r\nexport const initialFilter = {\r\n filter: {\r\n lastName: \"\",\r\n firstName: \"\",\r\n email: \"\",\r\n ipAddress: \"\"\r\n },\r\n sortOrder: \"asc\", // asc||desc\r\n sortField: \"id\",\r\n pageNumber: 1,\r\n pageSize: 10\r\n};\r\n","import React, {createContext, useContext, useState, useCallback} from \"react\";\r\nimport {isEqual, isFunction} from \"lodash\";\r\nimport {initialFilter} from \"./CustomersUIHelpers\";\r\n\r\nconst CustomersUIContext = createContext();\r\n\r\nexport function useCustomersUIContext() {\r\n return useContext(CustomersUIContext);\r\n}\r\n\r\nexport const CustomersUIConsumer = CustomersUIContext.Consumer;\r\n\r\nexport function CustomersUIProvider({customersUIEvents, children}) {\r\n const [queryParams, setQueryParamsBase] = useState(initialFilter);\r\n const [ids, setIds] = useState([]);\r\n const setQueryParams = useCallback(nextQueryParams => {\r\n setQueryParamsBase(prevQueryParams => {\r\n if (isFunction(nextQueryParams)) {\r\n nextQueryParams = nextQueryParams(prevQueryParams);\r\n }\r\n\r\n if (isEqual(prevQueryParams, nextQueryParams)) {\r\n return prevQueryParams;\r\n }\r\n\r\n return nextQueryParams;\r\n });\r\n }, []);\r\n\r\n const initCustomer = {\r\n id: undefined,\r\n firstName: \"\",\r\n lastName: \"\",\r\n email: \"\",\r\n userName: \"\",\r\n gender: \"Female\",\r\n status: 0,\r\n dateOfBbirth: \"\",\r\n ipAddress: \"\",\r\n type: 1\r\n };\r\n\r\n const value = {\r\n queryParams,\r\n setQueryParamsBase,\r\n ids,\r\n setIds,\r\n setQueryParams,\r\n initCustomer,\r\n newCustomerButtonClick: customersUIEvents.newCustomerButtonClick,\r\n openEditCustomerDialog: customersUIEvents.openEditCustomerDialog,\r\n openDeleteCustomerDialog: customersUIEvents.openDeleteCustomerDialog,\r\n openDeleteCustomersDialog: customersUIEvents.openDeleteCustomersDialog,\r\n openFetchCustomersDialog: customersUIEvents.openFetchCustomersDialog,\r\n openUpdateCustomersStatusDialog: customersUIEvents.openUpdateCustomersStatusDialog\r\n };\r\n\r\n return {children};\r\n}","import React, { useEffect, useMemo } from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { shallowEqual, useDispatch, useSelector } from \"react-redux\";\r\nimport * as actions from \"../../../_redux/LocationBillings/customersActions\";\r\nimport { CustomerEditDialogHeader } from \"./CustomerEditDialogHeader\";\r\nimport { CustomerEditForm } from \"./CustomerEditForm\";\r\nimport { useCustomersUIContext } from \"../CustomersUIContext\";\r\n\r\nexport function CustomerEditDialog({ id, show, onHide }) {\r\n // Customers UI Context\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n initCustomer: customersUIContext.initCustomer,\r\n };\r\n }, [customersUIContext]);\r\n\r\n // Customers Redux state\r\n const dispatch = useDispatch();\r\n const { actionsLoading, customerForEdit } = useSelector(\r\n (state) => ({\r\n actionsLoading: state.customers.actionsLoading,\r\n customerForEdit: state.customers.customerForEdit,\r\n }),\r\n shallowEqual\r\n );\r\n\r\n useEffect(() => {\r\n // server call for getting Customer by id\r\n dispatch(actions.fetchCustomer(id));\r\n }, [id, dispatch]);\r\n\r\n // server request for saving customer\r\n const saveCustomer = (customer) => {\r\n if (!id) {\r\n // server request for creating customer\r\n dispatch(actions.createCustomer(customer)).then(() => onHide());\r\n } else {\r\n // server request for updating customer\r\n dispatch(actions.updateCustomer(customer)).then(() => onHide());\r\n }\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n}\r\n","import React, { useEffect, useMemo } from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { shallowEqual, useDispatch, useSelector } from \"react-redux\";\r\nimport {ModalProgressBar} from \"../../../../../../_metronic/_partials/controls\";\r\nimport * as actions from \"../../../_redux/LocationBillings/customersActions\";\r\nimport {useCustomersUIContext} from \"../CustomersUIContext\";\r\n\r\nexport function CustomerDeleteDialog({ id, show, onHide }) {\r\n // Customers UI Context\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n setIds: customersUIContext.setIds,\r\n queryParams: customersUIContext.queryParams\r\n };\r\n }, [customersUIContext]);\r\n\r\n // Customers Redux state\r\n const dispatch = useDispatch();\r\n const { isLoading } = useSelector(\r\n (state) => ({ isLoading: state.customers.actionsLoading }),\r\n shallowEqual\r\n );\r\n\r\n // if !id we should close modal\r\n useEffect(() => {\r\n if (!id) {\r\n onHide();\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [id]);\r\n\r\n // looking for loading/dispatch\r\n useEffect(() => {}, [isLoading, dispatch]);\r\n\r\n const deleteCustomer = () => {\r\n // server request for deleting customer by id\r\n dispatch(actions.deleteCustomer(id)).then(() => {\r\n // refresh list after deletion\r\n dispatch(actions.fetchCustomers(customersUIProps.queryParams));\r\n // clear selections list\r\n customersUIProps.setIds([]);\r\n // closing delete modal\r\n onHide();\r\n });\r\n };\r\n\r\n return (\r\n \r\n {/*begin::Loading*/}\r\n {isLoading && }\r\n {/*end::Loading*/}\r\n \r\n \r\n Customer Delete\r\n \r\n \r\n \r\n {!isLoading && (\r\n Are you sure to permanently delete this customer?\r\n )}\r\n {isLoading && Customer is deleting...}\r\n \r\n \r\n
\r\n \r\n Cancel\r\n \r\n <> \r\n \r\n Delete\r\n \r\n
\r\n
\r\n \r\n );\r\n}\r\n","import React, { useEffect, useMemo } from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { shallowEqual, useDispatch, useSelector } from \"react-redux\";\r\nimport * as actions from \"../../../_redux/LocationBillings/customersActions\";\r\nimport { useCustomersUIContext } from \"../CustomersUIContext\";\r\nimport {ModalProgressBar} from \"../../../../../../_metronic/_partials/controls\";\r\n\r\nexport function CustomersDeleteDialog({ show, onHide }) {\r\n // Customers UI Context\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n ids: customersUIContext.ids,\r\n setIds: customersUIContext.setIds,\r\n queryParams: customersUIContext.queryParams,\r\n };\r\n }, [customersUIContext]);\r\n\r\n // Customers Redux state\r\n const dispatch = useDispatch();\r\n const { isLoading } = useSelector(\r\n (state) => ({ isLoading: state.customers.actionsLoading }),\r\n shallowEqual\r\n );\r\n\r\n // if customers weren't selected we should close modal\r\n useEffect(() => {\r\n if (!customersUIProps.ids || customersUIProps.ids.length === 0) {\r\n onHide();\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [customersUIProps.ids]);\r\n\r\n // looking for loading/dispatch\r\n useEffect(() => {}, [isLoading, dispatch]);\r\n\r\n const deleteCustomers = () => {\r\n // server request for deleting customer by selected ids\r\n dispatch(actions.deleteCustomers(customersUIProps.ids)).then(() => {\r\n // refresh list after deletion\r\n dispatch(actions.fetchCustomers(customersUIProps.queryParams)).then(\r\n () => {\r\n // clear selections list\r\n customersUIProps.setIds([]);\r\n // closing delete modal\r\n onHide();\r\n }\r\n );\r\n });\r\n };\r\n\r\n return (\r\n \r\n {/*begin::Loading*/}\r\n {isLoading && }\r\n {/*end::Loading*/}\r\n \r\n \r\n Customers Delete\r\n \r\n \r\n \r\n {!isLoading && (\r\n Are you sure to permanently delete selected customers?\r\n )}\r\n {isLoading && Customer are deleting...}\r\n \r\n \r\n
\r\n \r\n Cancel\r\n \r\n <> \r\n \r\n Delete\r\n \r\n
\r\n
\r\n \r\n );\r\n}\r\n","import React, { useEffect, useMemo } from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { shallowEqual, useSelector } from \"react-redux\";\r\nimport { CustomerStatusCssClasses } from \"../CustomersUIHelpers\";\r\nimport { useCustomersUIContext } from \"../CustomersUIContext\";\r\n\r\nconst selectedCustomers = (entities, ids) => {\r\n const _customers = [];\r\n ids.forEach((id) => {\r\n const customer = entities.find((el) => el.id === id);\r\n if (customer) {\r\n _customers.push(customer);\r\n }\r\n });\r\n return _customers;\r\n};\r\n\r\nexport function CustomersFetchDialog({ show, onHide }) {\r\n // Customers UI Context\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n ids: customersUIContext.ids,\r\n };\r\n }, [customersUIContext]);\r\n\r\n // Customers Redux state\r\n const { customers } = useSelector(\r\n (state) => ({\r\n customers: selectedCustomers(\r\n state.customers.entities,\r\n customersUIProps.ids\r\n ),\r\n }),\r\n shallowEqual\r\n );\r\n\r\n // if customers weren't selected we should close modal\r\n useEffect(() => {\r\n if (!customersUIProps.ids || customersUIProps.ids.length === 0) {\r\n onHide();\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [customersUIProps.ids]);\r\n\r\n return (\r\n \r\n \r\n \r\n Fetch selected elements\r\n \r\n \r\n \r\n
\r\n {customers.map((customer) => (\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n ID: {customer.id}\r\n \r\n {customer.lastName}, {customer.firstName} \r\n
\r\n
\r\n ))}\r\n
\r\n \r\n \r\n
\r\n \r\n Cancel\r\n \r\n <> \r\n \r\n Ok\r\n \r\n
\r\n
\r\n \r\n );\r\n}\r\n","import React, { useEffect, useState, useMemo } from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { shallowEqual, useDispatch, useSelector } from \"react-redux\";\r\nimport { CustomerStatusCssClasses } from \"../CustomersUIHelpers\";\r\nimport * as actions from \"../../../_redux/LocationBillings/customersActions\";\r\nimport { useCustomersUIContext } from \"../CustomersUIContext\";\r\n\r\nconst selectedCustomers = (entities, ids) => {\r\n const _customers = [];\r\n ids.forEach((id) => {\r\n const customer = entities.find((el) => el.id === id);\r\n if (customer) {\r\n _customers.push(customer);\r\n }\r\n });\r\n return _customers;\r\n};\r\n\r\nexport function CustomersUpdateStateDialog({ show, onHide }) {\r\n // Customers UI Context\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n ids: customersUIContext.ids,\r\n setIds: customersUIContext.setIds,\r\n queryParams: customersUIContext.queryParams,\r\n };\r\n }, [customersUIContext]);\r\n\r\n // Customers Redux state\r\n const { customers, isLoading } = useSelector(\r\n (state) => ({\r\n customers: selectedCustomers(\r\n state.customers.entities,\r\n customersUIProps.ids\r\n ),\r\n isLoading: state.customers.actionsLoading,\r\n }),\r\n shallowEqual\r\n );\r\n\r\n // if !id we should close modal\r\n useEffect(() => {\r\n if (!customersUIProps.ids || customersUIProps.ids.length === 0) {\r\n onHide();\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [customersUIProps.ids]);\r\n\r\n const [status, setStatus] = useState(0);\r\n\r\n const dispatch = useDispatch();\r\n const updateStatus = () => {\r\n // server request for update customers status by selected ids\r\n dispatch(actions.updateCustomersStatus(customersUIProps.ids, status)).then(\r\n () => {\r\n // refresh list after deletion\r\n dispatch(actions.fetchCustomers(customersUIProps.queryParams)).then(\r\n () => {\r\n // clear selections list\r\n customersUIProps.setIds([]);\r\n // closing delete modal\r\n onHide();\r\n }\r\n );\r\n }\r\n );\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n Status has been updated for selected User\r\n \r\n \r\n \r\n {/*begin::Loading*/}\r\n {isLoading && (\r\n
\r\n
\r\n
\r\n )}\r\n {/*end::Loading*/}\r\n\r\n
\r\n {customers.map((customer) => (\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n ID: {customer.id}\r\n \r\n \r\n {customer.lastName}, {customer.firstName}\r\n \r\n
\r\n
\r\n ))}\r\n
\r\n \r\n \r\n
\r\n setStatus(+e.target.value)}\r\n >\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n Cancel\r\n \r\n \r\n Update Status\r\n \r\n
\r\n
\r\n \r\n );\r\n}\r\n","import React, { useMemo } from \"react\";\r\nimport { Formik } from \"formik\";\r\nimport { isEqual } from \"lodash\";\r\nimport { useCustomersUIContext } from \"../CustomersUIContext\";\r\nconst prepareFilter = (queryParams, values) => {\r\n const { status, type, searchText } = values;\r\n const newQueryParams = { ...queryParams };\r\n const filter = {};\r\n // Filter by status\r\n filter.status = status !== \"\" ? +status : undefined;\r\n // Filter by type\r\n filter.type = type !== \"\" ? +type : undefined;\r\n // Filter by all fields\r\n filter.lastName = searchText;\r\n if (searchText) {\r\n filter.firstName = searchText;\r\n filter.email = searchText;\r\n filter.ipAddress = searchText;\r\n }\r\n newQueryParams.filter = filter;\r\n return newQueryParams;\r\n};\r\n\r\nexport function CustomersFilter({ listLoading }) {\r\n // Customers UI Context\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n queryParams: customersUIContext.queryParams,\r\n setQueryParams: customersUIContext.setQueryParams,\r\n };\r\n }, [customersUIContext]);\r\n\r\n // queryParams, setQueryParams,\r\n const applyFilter = (values) => {\r\n const newQueryParams = prepareFilter(customersUIProps.queryParams, values);\r\n if (!isEqual(newQueryParams, customersUIProps.queryParams)) {\r\n newQueryParams.pageNumber = 1;\r\n // update list by queryParams\r\n customersUIProps.setQueryParams(newQueryParams);\r\n }\r\n };\r\n\r\n return (\r\n <>\r\n All=\"\"/Susspended=0/Active=1/Pending=2\r\n type: \"\", // values => All=\"\"/Business=0/Individual=1\r\n searchText: \"\",\r\n }}\r\n onSubmit={(values) => {\r\n applyFilter(values);\r\n }}\r\n >\r\n {({\r\n values,\r\n handleSubmit,\r\n handleBlur,\r\n handleChange,\r\n setFieldValue,\r\n }) => (\r\n
\r\n
\r\n )}\r\n \r\n \r\n );\r\n}\r\n","// please be familiar with react-bootstrap-table-next column formaters\r\n// https://react-bootstrap-table.github.io/react-bootstrap-table2/storybook/index.html?selectedKind=Work%20on%20Columns&selectedStory=Column%20Formatter&full=0&addons=1&stories=1&panelRight=0&addonPanel=storybook%2Factions%2Factions-panel\r\n/* eslint-disable no-script-url,jsx-a11y/anchor-is-valid */\r\nimport React from \"react\";\r\nimport SVG from \"react-inlinesvg\";\r\nimport { toAbsoluteUrl } from \"../../../../../../../_metronic/_helpers\";\r\n\r\nexport function ActionsColumnFormatter(\r\n cellContent,\r\n row,\r\n rowIndex,\r\n { openEditCustomerDialog, openDeleteCustomerDialog }\r\n) {\r\n return (\r\n <>\r\n openEditCustomerDialog(row.id)}\r\n >\r\n \r\n \r\n \r\n \r\n <> \r\n\r\n openDeleteCustomerDialog(row.id)}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n","// React bootstrap table next =>\r\n// DOCS: https://react-bootstrap-table.github.io/react-bootstrap-table2/docs/\r\n// STORYBOOK: https://react-bootstrap-table.github.io/react-bootstrap-table2/storybook/index.html\r\nimport React, { useEffect, useMemo } from \"react\";\r\nimport BootstrapTable from \"react-bootstrap-table-next\";\r\nimport paginationFactory, {\r\n PaginationProvider,\r\n} from \"react-bootstrap-table2-paginator\";\r\nimport { shallowEqual, useDispatch, useSelector } from \"react-redux\";\r\nimport * as actions from \"../../../_redux/LocationBillings/customersActions\";\r\nimport {\r\n getSelectRow,\r\n getHandlerTableChange,\r\n NoRecordsFoundMessage,\r\n PleaseWaitMessage,\r\n sortCaret,\r\n headerSortingClasses,\r\n} from \"../../../../../../_metronic/_helpers\";\r\nimport * as uiHelpers from \"../CustomersUIHelpers\";\r\nimport * as columnFormatters from \"./column-formatters\";\r\nimport { Pagination } from \"../../../../../../_metronic/_partials/controls\";\r\nimport { useCustomersUIContext } from \"../CustomersUIContext\";\r\n\r\nexport function CustomersTable() {\r\n // Customers UI Context\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n ids: customersUIContext.ids,\r\n setIds: customersUIContext.setIds,\r\n queryParams: customersUIContext.queryParams,\r\n setQueryParams: customersUIContext.setQueryParams,\r\n openEditCustomerDialog: customersUIContext.openEditCustomerDialog,\r\n openDeleteCustomerDialog: customersUIContext.openDeleteCustomerDialog,\r\n };\r\n }, [customersUIContext]);\r\n\r\n // Getting curret state of customers list from store (Redux)\r\n const { currentState } = useSelector(\r\n (state) => ({ currentState: state.customers }),\r\n shallowEqual\r\n );\r\n const { totalCount, entities, listLoading } = currentState;\r\n\r\n // Customers Redux state\r\n const dispatch = useDispatch();\r\n useEffect(() => {\r\n // clear selections list\r\n customersUIProps.setIds([]);\r\n // server call by queryParams\r\n dispatch(actions.fetchCustomers(customersUIProps.queryParams));\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [customersUIProps.queryParams, dispatch]);\r\n // Table columns\r\n const columns = [\r\n {\r\n dataField: \"id\",\r\n text: \"ID\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n headerSortingClasses,\r\n },\r\n {\r\n dataField: \"code\",\r\n text: \"CODE\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n headerSortingClasses,\r\n },\r\n {\r\n dataField: \"description\",\r\n text: \"DESCRIPTION\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n headerSortingClasses,\r\n },\r\n {\r\n dataField: \"action\",\r\n text: \"Actions\",\r\n formatter: columnFormatters.ActionsColumnFormatter,\r\n formatExtraData: {\r\n openEditCustomerDialog: customersUIProps.openEditCustomerDialog,\r\n openDeleteCustomerDialog: customersUIProps.openDeleteCustomerDialog,\r\n },\r\n classes: \"text-center pr-0\",\r\n headerClasses: \"text-center pr-3\",\r\n style: {\r\n minWidth: \"100px\",\r\n },\r\n },\r\n ];\r\n // Table pagination properties\r\n const paginationOptions = {\r\n custom: true,\r\n totalSize: totalCount,\r\n sizePerPageList: uiHelpers.sizePerPageList,\r\n sizePerPage: customersUIProps.queryParams.pageSize,\r\n page: customersUIProps.queryParams.pageNumber,\r\n };\r\n return (\r\n <>\r\n \r\n {({ paginationProps, paginationTableProps }) => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n }}\r\n \r\n \r\n );\r\n}\r\n","import React, { useMemo } from \"react\";\r\nimport { useCustomersUIContext } from \"../CustomersUIContext\";\r\n\r\nexport function CustomersGrouping() {\r\n // Customers UI Context\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n ids: customersUIContext.ids,\r\n setIds: customersUIContext.setIds,\r\n openDeleteCustomersDialog: customersUIContext.openDeleteCustomersDialog,\r\n openFetchCustomersDialog: customersUIContext.openFetchCustomersDialog,\r\n openUpdateCustomersStatusDialog:\r\n customersUIContext.openUpdateCustomersStatusDialog,\r\n };\r\n }, [customersUIContext]);\r\n\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n Delete All\r\n \r\n  \r\n
\r\n
\r\n
\r\n
\r\n
\r\n );\r\n}\r\n","import React, { useMemo } from \"react\";\r\nimport {\r\n Card,\r\n CardBody,\r\n CardHeader,\r\n CardHeaderToolbar,\r\n} from \"../../../../../_metronic/_partials/controls\";\r\nimport { CustomersFilter } from \"./customers-filter/CustomersFilter\";\r\nimport { CustomersTable } from \"./customers-table/CustomersTable\";\r\nimport { CustomersGrouping } from \"./customers-grouping/CustomersGrouping\";\r\nimport { useCustomersUIContext } from \"./CustomersUIContext\";\r\nimport { Helmet } from \"react-helmet\";\r\n\r\nexport function CustomersCard() {\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n ids: customersUIContext.ids,\r\n newCustomerButtonClick: customersUIContext.newCustomerButtonClick,\r\n };\r\n }, [customersUIContext]);\r\n\r\n return (\r\n <>\r\n \r\n eMPower | Location Billing\r\n \r\n \r\n \r\n \r\n \r\n \r\n Add\r\n \r\n \r\n \r\n \r\n \r\n {customersUIProps.ids.length > 0 && }\r\n \r\n \r\n \r\n \r\n );\r\n}\r\n","import React from \"react\";\r\nimport { Route } from \"react-router-dom\";\r\nimport { CustomersLoadingDialog } from \"./customers-loading-dialog/CustomersLoadingDialog\";\r\nimport { CustomerEditDialog } from \"./customer-edit-dialog/CustomerEditDialog\";\r\nimport { CustomerDeleteDialog } from \"./customer-delete-dialog/CustomerDeleteDialog\";\r\nimport { CustomersDeleteDialog } from \"./customers-delete-dialog/CustomersDeleteDialog\";\r\nimport { CustomersFetchDialog } from \"./customers-fetch-dialog/CustomersFetchDialog\";\r\nimport { CustomersUpdateStateDialog } from \"./customers-update-status-dialog/CustomersUpdateStateDialog\";\r\nimport { CustomersUIProvider } from \"./CustomersUIContext\";\r\nimport { CustomersCard } from \"./CustomersCard\";\r\n\r\nexport function LocationBilling({ history }) {\r\n const customersUIEvents = {\r\n newCustomerButtonClick: () => {\r\n history.push(\"/LocationBillings/new\");\r\n },\r\n openEditCustomerDialog: (id) => {\r\n history.push(`/LocationBillings/${id}/edit`);\r\n },\r\n openDeleteCustomerDialog: (id) => {\r\n history.push(`/LocationBillings/${id}/delete`);\r\n },\r\n openDeleteCustomersDialog: () => {\r\n history.push(`/LocationBillings/deleteCustomers`);\r\n },\r\n openFetchCustomersDialog: () => {\r\n history.push(`/LocationBillings/fetch`);\r\n },\r\n openUpdateCustomersStatusDialog: () => {\r\n history.push(\"/LocationBillings/updateStatus\");\r\n }\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n {({ history, match }) => (\r\n {\r\n history.push(\"/LocationBillings\");\r\n }}\r\n />\r\n )}\r\n \r\n \r\n {({ history, match }) => (\r\n {\r\n history.push(\"/LocationBilling\");\r\n }}\r\n />\r\n )}\r\n \r\n \r\n {({ history, match }) => (\r\n {\r\n history.push(\"/LocationBilling\");\r\n }}\r\n />\r\n )}\r\n \r\n \r\n {({ history, match }) => (\r\n {\r\n history.push(\"/LocationBillings\");\r\n }}\r\n />\r\n )}\r\n \r\n \r\n {({ history, match }) => (\r\n {\r\n history.push(\"/LocationBillings\");\r\n }}\r\n />\r\n )}\r\n \r\n \r\n {({ history, match }) => (\r\n {\r\n history.push(\"/LocationBillings\");\r\n }}\r\n />\r\n )}\r\n \r\n \r\n \r\n );\r\n}\r\n","import React, { useEffect } from \"react\";\r\nimport { shallowEqual, useSelector } from \"react-redux\";\r\nimport { LoadingDialog } from \"../../../../../../_metronic/_partials/controls\";\r\n\r\nexport function CustomersLoadingDialog() {\r\n // Customers Redux state\r\n const { isLoading } = useSelector(\r\n (state) => ({ isLoading: state.customers.listLoading }),\r\n shallowEqual\r\n );\r\n // looking for loading/dispatch\r\n useEffect(() => {}, [isLoading]);\r\n return ;\r\n}\r\n","import axios from \"axios\";\r\n\r\nexport const CUSTOMERS_URL = \"api/RecurringStorageCharges\";\r\n\r\n// CREATE => POST: add a new customer to the server\r\nexport function createCustomer(customer) {\r\n return axios.post(CUSTOMERS_URL, { customer });\r\n}\r\n\r\n// READ\r\nexport function getAllCustomers() {\r\n return axios.get(CUSTOMERS_URL);\r\n}\r\n\r\nexport function getCustomerById(customerId) {\r\n return axios.get(`${CUSTOMERS_URL}/${customerId}`);\r\n}\r\n\r\n// Method from server should return QueryResultsModel(items: any[], totalsCount: number)\r\n// items => filtered/sorted result\r\nexport function findCustomers(queryParams) {\r\n return axios.post(`${CUSTOMERS_URL}/find`, { queryParams });\r\n}\r\n\r\n// UPDATE => PUT: update the customer on the server\r\nexport function updateCustomer(customer) {\r\n return axios.put(`${CUSTOMERS_URL}/${customer.id}`, { customer });\r\n}\r\n\r\n// UPDATE Status\r\nexport function updateStatusForCustomers(ids, status) {\r\n return axios.post(`${CUSTOMERS_URL}/updateStatusForCustomers`, {\r\n ids,\r\n status\r\n });\r\n}\r\n\r\n// DELETE => delete the customer from the server\r\nexport function deleteCustomer(customerId) {\r\n return axios.delete(`${CUSTOMERS_URL}/${customerId}`);\r\n}\r\n\r\n// DELETE Customers by ids\r\nexport function deleteCustomers(ids) {\r\n return axios.post(`${CUSTOMERS_URL}/deleteCustomers`, { ids });\r\n}\r\n","import {createSlice} from \"@reduxjs/toolkit\";\r\n\r\nconst initialCustomersState = {\r\n listLoading: false,\r\n actionsLoading: false,\r\n totalCount: 0,\r\n entities: null,\r\n customerForEdit: undefined,\r\n lastError: null\r\n};\r\nexport const callTypes = {\r\n list: \"list\",\r\n action: \"action\"\r\n};\r\n\r\nexport const customersSlice = createSlice({\r\n name: \"customers\",\r\n initialState: initialCustomersState,\r\n reducers: {\r\n catchError: (state, action) => {\r\n state.error = `${action.type}: ${action.payload.error}`;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = false;\r\n } else {\r\n state.actionsLoading = false;\r\n }\r\n },\r\n startCall: (state, action) => {\r\n state.error = null;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = true;\r\n } else {\r\n state.actionsLoading = true;\r\n }\r\n },\r\n // getCustomerById\r\n customerFetched: (state, action) => {\r\n state.actionsLoading = false;\r\n state.customerForEdit = action.payload.customerForEdit;\r\n state.error = null;\r\n },\r\n // findCustomers\r\n customersFetched: (state, action) => {\r\n const { totalCount, entities } = action.payload;\r\n state.listLoading = false;\r\n state.error = null;\r\n state.entities = entities;\r\n state.totalCount = totalCount;\r\n },\r\n // createCustomer\r\n customerCreated: (state, action) => {\r\n state.actionsLoading = false;\r\n state.error = null;\r\n state.entities.push(action.payload.customer);\r\n },\r\n // updateCustomer\r\n customerUpdated: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.map(entity => {\r\n if (entity.id === action.payload.customer.id) {\r\n return action.payload.customer;\r\n }\r\n return entity;\r\n });\r\n },\r\n // deleteCustomer\r\n customerDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(el => el.id !== action.payload.id);\r\n },\r\n // deleteCustomers\r\n customersDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(\r\n el => !action.payload.ids.includes(el.id)\r\n );\r\n },\r\n // customersUpdateState\r\n customersStatusUpdated: (state, action) => {\r\n state.actionsLoading = false;\r\n state.error = null;\r\n const { ids, status } = action.payload;\r\n state.entities = state.entities.map(entity => {\r\n if (ids.findIndex(id => id === entity.id) > -1) {\r\n entity.status = status;\r\n }\r\n return entity;\r\n });\r\n }\r\n }\r\n});\r\n","import * as requestFromServer from \"./customersCrud\";\r\nimport {customersSlice, callTypes} from \"./customersSlice\";\r\n\r\nconst {actions} = customersSlice;\r\n\r\nexport const fetchCustomers = queryParams => dispatch => {\r\n dispatch(actions.startCall({ callType: callTypes.list }));\r\n return requestFromServer\r\n .findCustomers(queryParams)\r\n .then(response => {\r\n const { totalCount, entities } = response.data;\r\n dispatch(actions.customersFetched({ totalCount, entities }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't find customers\";\r\n dispatch(actions.catchError({ error, callType: callTypes.list }));\r\n });\r\n};\r\n\r\nexport const fetchCustomer = id => dispatch => {\r\n if (!id) {\r\n return dispatch(actions.customerFetched({ customerForEdit: undefined }));\r\n }\r\n\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .getCustomerById(id)\r\n .then(response => {\r\n const customer = response.data;\r\n dispatch(actions.customerFetched({ customerForEdit: customer }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't find customer\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const deleteCustomer = id => dispatch => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .deleteCustomer(id)\r\n .then(response => {\r\n dispatch(actions.customerDeleted({ id }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't delete customer\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const createCustomer = customerForCreation => dispatch => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .createCustomer(customerForCreation)\r\n .then(response => {\r\n const { customer } = response.data;\r\n dispatch(actions.customerCreated({ customer }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't create customer\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const updateCustomer = customer => dispatch => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .updateCustomer(customer)\r\n .then(() => {\r\n dispatch(actions.customerUpdated({ customer }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't update customer\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const updateCustomersStatus = (ids, status) => dispatch => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .updateStatusForCustomers(ids, status)\r\n .then(() => {\r\n dispatch(actions.customersStatusUpdated({ ids, status }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't update customers status\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const deleteCustomers = ids => dispatch => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .deleteCustomers(ids)\r\n .then(() => {\r\n dispatch(actions.customersDeleted({ ids }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't delete customers\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n","import React, { useState, useEffect } from \"react\";\r\nimport { shallowEqual, useSelector } from \"react-redux\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport {ModalProgressBar} from \"../../../../../../_metronic/_partials/controls\";\r\n\r\nexport function CustomerEditDialogHeader({ id }) {\r\n // Customers Redux state\r\n const { customerForEdit, actionsLoading } = useSelector(\r\n (state) => ({\r\n customerForEdit: state.customers.customerForEdit,\r\n actionsLoading: state.customers.actionsLoading,\r\n }),\r\n shallowEqual\r\n );\r\n\r\n const [title, setTitle] = useState(\"\");\r\n // Title couting\r\n useEffect(() => {\r\n let _title = id ? \"\" : \"New carrier connection\";\r\n if (customerForEdit && id) {\r\n _title = `Edit customer '${customerForEdit.firstName} ${customerForEdit.lastName}'`;\r\n }\r\n\r\n setTitle(_title);\r\n // eslint-disable-next-line\r\n }, [customerForEdit, actionsLoading]);\r\n\r\n return (\r\n <>\r\n {actionsLoading && }\r\n \r\n {title}\r\n \r\n \r\n );\r\n}\r\n","// Form is based on Formik\r\n// Data validation is based on Yup\r\n// Please, be familiar with article first:\r\n// https://hackernoon.com/react-form-validation-with-formik-and-yup-8b76bda62e10\r\nimport React from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { Formik, Form} from \"formik\";\r\nimport * as Yup from \"yup\";\r\nimport {\r\n Select,\r\n} from \"../../../../../../_metronic/_partials/controls\";\r\n\r\n// Validation schema\r\nconst CustomerEditSchema = Yup.object().shape({\r\n LoginUserName: Yup.string()\r\n .min(3, \"Minimum 3 symbols\")\r\n .max(50, \"Maximum 50 symbols\")\r\n .required(\"Login / User Name is required\"),\r\n Password: Yup.string()\r\n .min(8, \"Minimum 8 symbols\")\r\n .max(50, \"Maximum 50 symbols\")\r\n .required(\"Password is required\"),\r\n ConfirmPassword: Yup.string()\r\n .min(8, \"Minimum 8 symbols\")\r\n .max(50, \"Maximum 50 symbols\")\r\n .required(\"Password is required\"),\r\n email: Yup.string()\r\n .email(\"Invalid email\")\r\n .required(\"Email is required\"),\r\n Phone: Yup.string()\r\n .min(7, \"Minimum 7 Number\")\r\n .max(50, \"Maximum 50 Number\")\r\n .required(\"Phone Number is required\"),\r\n userName: Yup.string().required(\"Username is required\"),\r\n dateOfBbirth: Yup.mixed()\r\n .nullable(false)\r\n .required(\"Date of Birth is required\"),\r\n ipAddress: Yup.string().required(\"IP Address is required\"),\r\n});\r\n\r\nexport function CustomerEditForm({\r\n saveCustomer,\r\n customer,\r\n actionsLoading,\r\n onHide,\r\n}) {\r\n return (\r\n <>\r\n {\r\n saveCustomer(values);\r\n }}\r\n >\r\n {({ handleSubmit }) => (\r\n <>\r\n \r\n {actionsLoading && (\r\n
\r\n
\r\n
\r\n )}\r\n
\r\n
\r\n
\r\n
CARRIER SELECT
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n Cancel\r\n \r\n <> \r\n handleSubmit()}\r\n className=\"btn btn-success btn-elevate\"\r\n >\r\n Save\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n );\r\n}\r\n","export const CustomerStatusCssClasses = [\"danger\", \"success\", \"info\", \"\"];\r\nexport const CustomerStatusTitles = [\"Inactive\", \"Active\"];\r\nexport const CustomerTypeCssClasses = [\"success\", \"primary\", \"\"];\r\nexport const CustomerTypeTitles = [\"Business\", \"Individual\", \"\"];\r\nexport const defaultSorted = [{ dataField: \"id\", order: \"desc\" }];\r\nexport const sizePerPageList = [\r\n { text: \"3\", value: 3 },\r\n { text: \"5\", value: 5 },\r\n { text: \"10\", value: 10 }\r\n];\r\nexport const initialFilter = {\r\n filter: {\r\n lastName: \"\",\r\n firstName: \"\",\r\n email: \"\",\r\n ipAddress: \"\"\r\n },\r\n sortOrder: \"asc\", // asc||desc\r\n sortField: \"id\",\r\n pageNumber: 1,\r\n pageSize: 10\r\n};\r\n","import React, {createContext, useContext, useState, useCallback} from \"react\";\r\nimport {isEqual, isFunction} from \"lodash\";\r\nimport {initialFilter} from \"./CustomersUIHelpers\";\r\n\r\nconst CustomersUIContext = createContext();\r\n\r\nexport function useCustomersUIContext() {\r\n return useContext(CustomersUIContext);\r\n}\r\n\r\nexport const CustomersUIConsumer = CustomersUIContext.Consumer;\r\n\r\nexport function CustomersUIProvider({customersUIEvents, children}) {\r\n const [queryParams, setQueryParamsBase] = useState(initialFilter);\r\n const [ids, setIds] = useState([]);\r\n const setQueryParams = useCallback(nextQueryParams => {\r\n setQueryParamsBase(prevQueryParams => {\r\n if (isFunction(nextQueryParams)) {\r\n nextQueryParams = nextQueryParams(prevQueryParams);\r\n }\r\n\r\n if (isEqual(prevQueryParams, nextQueryParams)) {\r\n return prevQueryParams;\r\n }\r\n\r\n return nextQueryParams;\r\n });\r\n }, []);\r\n\r\n const initCustomer = {\r\n id: undefined,\r\n firstName: \"\",\r\n lastName: \"\",\r\n email: \"\",\r\n userName: \"\",\r\n gender: \"Female\",\r\n status: 0,\r\n dateOfBbirth: \"\",\r\n ipAddress: \"\",\r\n type: 1\r\n };\r\n\r\n const value = {\r\n queryParams,\r\n setQueryParamsBase,\r\n ids,\r\n setIds,\r\n setQueryParams,\r\n initCustomer,\r\n newCustomerButtonClick: customersUIEvents.newCustomerButtonClick,\r\n openEditCustomerDialog: customersUIEvents.openEditCustomerDialog,\r\n openDeleteCustomerDialog: customersUIEvents.openDeleteCustomerDialog,\r\n openDeleteCustomersDialog: customersUIEvents.openDeleteCustomersDialog,\r\n openFetchCustomersDialog: customersUIEvents.openFetchCustomersDialog,\r\n openUpdateCustomersStatusDialog: customersUIEvents.openUpdateCustomersStatusDialog\r\n };\r\n\r\n return {children};\r\n}","import React, { useEffect, useMemo } from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { shallowEqual, useDispatch, useSelector } from \"react-redux\";\r\nimport * as actions from \"../../../_redux/RecurringStorageCharges/customersActions\";\r\nimport { CustomerEditDialogHeader } from \"./CustomerEditDialogHeader\";\r\nimport { CustomerEditForm } from \"./CustomerEditForm\";\r\nimport { useCustomersUIContext } from \"../CustomersUIContext\";\r\n\r\nexport function CustomerEditDialog({ id, show, onHide }) {\r\n // Customers UI Context\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n initCustomer: customersUIContext.initCustomer,\r\n };\r\n }, [customersUIContext]);\r\n\r\n // Customers Redux state\r\n const dispatch = useDispatch();\r\n const { actionsLoading, customerForEdit } = useSelector(\r\n (state) => ({\r\n actionsLoading: state.customers.actionsLoading,\r\n customerForEdit: state.customers.customerForEdit,\r\n }),\r\n shallowEqual\r\n );\r\n\r\n useEffect(() => {\r\n // server call for getting Customer by id\r\n dispatch(actions.fetchCustomer(id));\r\n }, [id, dispatch]);\r\n\r\n // server request for saving customer\r\n const saveCustomer = (customer) => {\r\n if (!id) {\r\n // server request for creating customer\r\n dispatch(actions.createCustomer(customer)).then(() => onHide());\r\n } else {\r\n // server request for updating customer\r\n dispatch(actions.updateCustomer(customer)).then(() => onHide());\r\n }\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n}\r\n","import React, { useEffect, useMemo } from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { shallowEqual, useDispatch, useSelector } from \"react-redux\";\r\nimport {ModalProgressBar} from \"../../../../../../_metronic/_partials/controls\";\r\nimport * as actions from \"../../../_redux/RecurringStorageCharges/customersActions\";\r\nimport {useCustomersUIContext} from \"../CustomersUIContext\";\r\n\r\nexport function CustomerDeleteDialog({ id, show, onHide }) {\r\n // Customers UI Context\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n setIds: customersUIContext.setIds,\r\n queryParams: customersUIContext.queryParams\r\n };\r\n }, [customersUIContext]);\r\n\r\n // Customers Redux state\r\n const dispatch = useDispatch();\r\n const { isLoading } = useSelector(\r\n (state) => ({ isLoading: state.customers.actionsLoading }),\r\n shallowEqual\r\n );\r\n\r\n // if !id we should close modal\r\n useEffect(() => {\r\n if (!id) {\r\n onHide();\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [id]);\r\n\r\n // looking for loading/dispatch\r\n useEffect(() => {}, [isLoading, dispatch]);\r\n\r\n const deleteCustomer = () => {\r\n // server request for deleting customer by id\r\n dispatch(actions.deleteCustomer(id)).then(() => {\r\n // refresh list after deletion\r\n dispatch(actions.fetchCustomers(customersUIProps.queryParams));\r\n // clear selections list\r\n customersUIProps.setIds([]);\r\n // closing delete modal\r\n onHide();\r\n });\r\n };\r\n\r\n return (\r\n \r\n {/*begin::Loading*/}\r\n {isLoading && }\r\n {/*end::Loading*/}\r\n \r\n \r\n Customer Delete\r\n \r\n \r\n \r\n {!isLoading && (\r\n Are you sure to permanently delete this customer?\r\n )}\r\n {isLoading && Customer is deleting...}\r\n \r\n \r\n
\r\n \r\n Cancel\r\n \r\n <> \r\n \r\n Delete\r\n \r\n
\r\n
\r\n \r\n );\r\n}\r\n","import React, { useEffect, useMemo } from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { shallowEqual, useDispatch, useSelector } from \"react-redux\";\r\nimport * as actions from \"../../../_redux/RecurringStorageCharges/customersActions\";\r\nimport { useCustomersUIContext } from \"../CustomersUIContext\";\r\nimport {ModalProgressBar} from \"../../../../../../_metronic/_partials/controls\";\r\n\r\nexport function CustomersDeleteDialog({ show, onHide }) {\r\n // Customers UI Context\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n ids: customersUIContext.ids,\r\n setIds: customersUIContext.setIds,\r\n queryParams: customersUIContext.queryParams,\r\n };\r\n }, [customersUIContext]);\r\n\r\n // Customers Redux state\r\n const dispatch = useDispatch();\r\n const { isLoading } = useSelector(\r\n (state) => ({ isLoading: state.customers.actionsLoading }),\r\n shallowEqual\r\n );\r\n\r\n // if customers weren't selected we should close modal\r\n useEffect(() => {\r\n if (!customersUIProps.ids || customersUIProps.ids.length === 0) {\r\n onHide();\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [customersUIProps.ids]);\r\n\r\n // looking for loading/dispatch\r\n useEffect(() => {}, [isLoading, dispatch]);\r\n\r\n const deleteCustomers = () => {\r\n // server request for deleting customer by selected ids\r\n dispatch(actions.deleteCustomers(customersUIProps.ids)).then(() => {\r\n // refresh list after deletion\r\n dispatch(actions.fetchCustomers(customersUIProps.queryParams)).then(\r\n () => {\r\n // clear selections list\r\n customersUIProps.setIds([]);\r\n // closing delete modal\r\n onHide();\r\n }\r\n );\r\n });\r\n };\r\n\r\n return (\r\n \r\n {/*begin::Loading*/}\r\n {isLoading && }\r\n {/*end::Loading*/}\r\n \r\n \r\n Customers Delete\r\n \r\n \r\n \r\n {!isLoading && (\r\n Are you sure to permanently delete selected customers?\r\n )}\r\n {isLoading && Customer are deleting...}\r\n \r\n \r\n
\r\n \r\n Cancel\r\n \r\n <> \r\n \r\n Delete\r\n \r\n
\r\n
\r\n \r\n );\r\n}\r\n","import React, { useEffect, useMemo } from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { shallowEqual, useSelector } from \"react-redux\";\r\nimport { CustomerStatusCssClasses } from \"../CustomersUIHelpers\";\r\nimport { useCustomersUIContext } from \"../CustomersUIContext\";\r\n\r\nconst selectedCustomers = (entities, ids) => {\r\n const _customers = [];\r\n ids.forEach((id) => {\r\n const customer = entities.find((el) => el.id === id);\r\n if (customer) {\r\n _customers.push(customer);\r\n }\r\n });\r\n return _customers;\r\n};\r\n\r\nexport function CustomersFetchDialog({ show, onHide }) {\r\n // Customers UI Context\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n ids: customersUIContext.ids,\r\n };\r\n }, [customersUIContext]);\r\n\r\n // Customers Redux state\r\n const { customers } = useSelector(\r\n (state) => ({\r\n customers: selectedCustomers(\r\n state.customers.entities,\r\n customersUIProps.ids\r\n ),\r\n }),\r\n shallowEqual\r\n );\r\n\r\n // if customers weren't selected we should close modal\r\n useEffect(() => {\r\n if (!customersUIProps.ids || customersUIProps.ids.length === 0) {\r\n onHide();\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [customersUIProps.ids]);\r\n\r\n return (\r\n \r\n \r\n \r\n Fetch selected elements\r\n \r\n \r\n \r\n
\r\n {customers.map((customer) => (\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n ID: {customer.id}\r\n \r\n {customer.lastName}, {customer.firstName} \r\n
\r\n
\r\n ))}\r\n
\r\n \r\n \r\n
\r\n \r\n Cancel\r\n \r\n <> \r\n \r\n Ok\r\n \r\n
\r\n
\r\n \r\n );\r\n}\r\n","import React, { useEffect, useState, useMemo } from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { shallowEqual, useDispatch, useSelector } from \"react-redux\";\r\nimport { CustomerStatusCssClasses } from \"../CustomersUIHelpers\";\r\nimport * as actions from \"../../../_redux/RecurringStorageCharges/customersActions\";\r\nimport { useCustomersUIContext } from \"../CustomersUIContext\";\r\n\r\nconst selectedCustomers = (entities, ids) => {\r\n const _customers = [];\r\n ids.forEach((id) => {\r\n const customer = entities.find((el) => el.id === id);\r\n if (customer) {\r\n _customers.push(customer);\r\n }\r\n });\r\n return _customers;\r\n};\r\n\r\nexport function CustomersUpdateStateDialog({ show, onHide }) {\r\n // Customers UI Context\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n ids: customersUIContext.ids,\r\n setIds: customersUIContext.setIds,\r\n queryParams: customersUIContext.queryParams,\r\n };\r\n }, [customersUIContext]);\r\n\r\n // Customers Redux state\r\n const { customers, isLoading } = useSelector(\r\n (state) => ({\r\n customers: selectedCustomers(\r\n state.customers.entities,\r\n customersUIProps.ids\r\n ),\r\n isLoading: state.customers.actionsLoading,\r\n }),\r\n shallowEqual\r\n );\r\n\r\n // if !id we should close modal\r\n useEffect(() => {\r\n if (!customersUIProps.ids || customersUIProps.ids.length === 0) {\r\n onHide();\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [customersUIProps.ids]);\r\n\r\n const [status, setStatus] = useState(0);\r\n\r\n const dispatch = useDispatch();\r\n const updateStatus = () => {\r\n // server request for update customers status by selected ids\r\n dispatch(actions.updateCustomersStatus(customersUIProps.ids, status)).then(\r\n () => {\r\n // refresh list after deletion\r\n dispatch(actions.fetchCustomers(customersUIProps.queryParams)).then(\r\n () => {\r\n // clear selections list\r\n customersUIProps.setIds([]);\r\n // closing delete modal\r\n onHide();\r\n }\r\n );\r\n }\r\n );\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n Status has been updated for selected User\r\n \r\n \r\n \r\n {/*begin::Loading*/}\r\n {isLoading && (\r\n
\r\n
\r\n
\r\n )}\r\n {/*end::Loading*/}\r\n\r\n
\r\n {customers.map((customer) => (\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n ID: {customer.id}\r\n \r\n \r\n {customer.lastName}, {customer.firstName}\r\n \r\n
\r\n
\r\n ))}\r\n
\r\n \r\n \r\n
\r\n setStatus(+e.target.value)}\r\n >\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n Cancel\r\n \r\n \r\n Update Status\r\n \r\n
\r\n
\r\n \r\n );\r\n}\r\n","import React, { useMemo } from \"react\";\r\nimport { Formik } from \"formik\";\r\nimport { isEqual } from \"lodash\";\r\nimport { useCustomersUIContext } from \"../CustomersUIContext\";\r\nconst prepareFilter = (queryParams, values) => {\r\n const { status, type, searchText } = values;\r\n const newQueryParams = { ...queryParams };\r\n const filter = {};\r\n // Filter by status\r\n filter.status = status !== \"\" ? +status : undefined;\r\n // Filter by type\r\n filter.type = type !== \"\" ? +type : undefined;\r\n // Filter by all fields\r\n filter.lastName = searchText;\r\n if (searchText) {\r\n filter.firstName = searchText;\r\n filter.email = searchText;\r\n filter.ipAddress = searchText;\r\n }\r\n newQueryParams.filter = filter;\r\n return newQueryParams;\r\n};\r\n\r\nexport function CustomersFilter({ listLoading }) {\r\n // Customers UI Context\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n queryParams: customersUIContext.queryParams,\r\n setQueryParams: customersUIContext.setQueryParams,\r\n };\r\n }, [customersUIContext]);\r\n\r\n // queryParams, setQueryParams,\r\n const applyFilter = (values) => {\r\n const newQueryParams = prepareFilter(customersUIProps.queryParams, values);\r\n if (!isEqual(newQueryParams, customersUIProps.queryParams)) {\r\n newQueryParams.pageNumber = 1;\r\n // update list by queryParams\r\n customersUIProps.setQueryParams(newQueryParams);\r\n }\r\n };\r\n\r\n return (\r\n <>\r\n All=\"\"/Susspended=0/Active=1/Pending=2\r\n type: \"\", // values => All=\"\"/Business=0/Individual=1\r\n searchText: \"\",\r\n }}\r\n onSubmit={(values) => {\r\n applyFilter(values);\r\n }}\r\n >\r\n {({\r\n values,\r\n handleSubmit,\r\n handleBlur,\r\n handleChange,\r\n setFieldValue,\r\n }) => (\r\n
\r\n
\r\n
\r\n\r\n

\r\n THIS GRID CONTAINS UN-CONFIRMED RECURRING STORAGE CHARGE TRANSATIONS. THEY MUST BE CONFIRMED TO APPEAR ON CUSTOMER BILLS.\r\n

\r\n

\r\n ANY ROW IN THIS GRID WITH A PINK BACKGROUND NEEDS ENTRY OF A QUANTITY FOR MANUAL CHARGES.\r\n

\r\n\r\n
\r\n
\r\n
\r\n )}\r\n \r\n \r\n );\r\n}\r\n","// please be familiar with react-bootstrap-table-next column formaters\r\n// https://react-bootstrap-table.github.io/react-bootstrap-table2/storybook/index.html?selectedKind=Work%20on%20Columns&selectedStory=Column%20Formatter&full=0&addons=1&stories=1&panelRight=0&addonPanel=storybook%2Factions%2Factions-panel\r\n/* eslint-disable no-script-url,jsx-a11y/anchor-is-valid */\r\nimport React from \"react\";\r\nimport SVG from \"react-inlinesvg\";\r\nimport { toAbsoluteUrl } from \"../../../../../../../_metronic/_helpers\";\r\n\r\nexport function ActionsColumnFormatter(\r\n cellContent,\r\n row,\r\n rowIndex,\r\n { openEditCustomerDialog, openDeleteCustomerDialog }\r\n) {\r\n return (\r\n <>\r\n openEditCustomerDialog(row.id)}\r\n >\r\n \r\n \r\n \r\n \r\n <> \r\n\r\n openDeleteCustomerDialog(row.id)}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n","// React bootstrap table next =>\r\n// DOCS: https://react-bootstrap-table.github.io/react-bootstrap-table2/docs/\r\n// STORYBOOK: https://react-bootstrap-table.github.io/react-bootstrap-table2/storybook/index.html\r\nimport React, { useEffect, useMemo } from \"react\";\r\nimport BootstrapTable from \"react-bootstrap-table-next\";\r\nimport paginationFactory, {\r\n PaginationProvider,\r\n} from \"react-bootstrap-table2-paginator\";\r\nimport { shallowEqual, useDispatch, useSelector } from \"react-redux\";\r\nimport * as actions from \"../../../_redux/RecurringStorageCharges/customersActions\";\r\nimport {\r\n getSelectRow,\r\n getHandlerTableChange,\r\n NoRecordsFoundMessage,\r\n PleaseWaitMessage,\r\n sortCaret,\r\n headerSortingClasses,\r\n} from \"../../../../../../_metronic/_helpers\";\r\nimport * as uiHelpers from \"../CustomersUIHelpers\";\r\nimport * as columnFormatters from \"./column-formatters\";\r\nimport { Pagination } from \"../../../../../../_metronic/_partials/controls\";\r\nimport { useCustomersUIContext } from \"../CustomersUIContext\";\r\n\r\nexport function CustomersTable() {\r\n // Customers UI Context\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n ids: customersUIContext.ids,\r\n setIds: customersUIContext.setIds,\r\n queryParams: customersUIContext.queryParams,\r\n setQueryParams: customersUIContext.setQueryParams,\r\n openEditCustomerDialog: customersUIContext.openEditCustomerDialog,\r\n openDeleteCustomerDialog: customersUIContext.openDeleteCustomerDialog,\r\n };\r\n }, [customersUIContext]);\r\n\r\n // Getting curret state of customers list from store (Redux)\r\n const { currentState } = useSelector(\r\n (state) => ({ currentState: state.customers }),\r\n shallowEqual\r\n );\r\n const { totalCount, entities, listLoading } = currentState;\r\n\r\n // Customers Redux state\r\n const dispatch = useDispatch();\r\n useEffect(() => {\r\n // clear selections list\r\n customersUIProps.setIds([]);\r\n // server call by queryParams\r\n dispatch(actions.fetchCustomers(customersUIProps.queryParams));\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [customersUIProps.queryParams, dispatch]);\r\n // Table columns\r\n const columns = [\r\n {\r\n dataField: \"id\",\r\n text: \"ID\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n headerSortingClasses,\r\n },\r\n {\r\n dataField: \"Customers\",\r\n text: \"CUSTOMER\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n headerSortingClasses,\r\n },\r\n {\r\n dataField: \"warehouse\",\r\n text: \"WAREHOUSE\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n headerSortingClasses,\r\n },\r\n {\r\n dataField: \"frequency\",\r\n text: \"FREQUENCY\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n headerSortingClasses,\r\n },\r\n {\r\n dataField: \"periodEnd\",\r\n text: \"PERIOD END\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n headerSortingClasses,\r\n },\r\n {\r\n dataField: \"amounr\",\r\n text: \"AMOUNT\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n headerSortingClasses,\r\n },\r\n {\r\n dataField: \"action\",\r\n text: \"Actions\",\r\n formatter: columnFormatters.ActionsColumnFormatter,\r\n formatExtraData: {\r\n openEditCustomerDialog: customersUIProps.openEditCustomerDialog,\r\n openDeleteCustomerDialog: customersUIProps.openDeleteCustomerDialog,\r\n },\r\n classes: \"text-center pr-0\",\r\n headerClasses: \"text-center pr-3\",\r\n style: {\r\n minWidth: \"100px\",\r\n },\r\n },\r\n ];\r\n // Table pagination properties\r\n const paginationOptions = {\r\n custom: true,\r\n totalSize: totalCount,\r\n sizePerPageList: uiHelpers.sizePerPageList,\r\n sizePerPage: customersUIProps.queryParams.pageSize,\r\n page: customersUIProps.queryParams.pageNumber,\r\n };\r\n return (\r\n <>\r\n \r\n {({ paginationProps, paginationTableProps }) => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n }}\r\n \r\n \r\n );\r\n}\r\n","import React, { useMemo } from \"react\";\r\nimport { useCustomersUIContext } from \"../CustomersUIContext\";\r\n\r\nexport function CustomersGrouping() {\r\n // Customers UI Context\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n ids: customersUIContext.ids,\r\n setIds: customersUIContext.setIds,\r\n openDeleteCustomersDialog: customersUIContext.openDeleteCustomersDialog,\r\n openFetchCustomersDialog: customersUIContext.openFetchCustomersDialog,\r\n openUpdateCustomersStatusDialog:\r\n customersUIContext.openUpdateCustomersStatusDialog,\r\n };\r\n }, [customersUIContext]);\r\n\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n Delete All\r\n \r\n  \r\n
\r\n
\r\n
\r\n
\r\n
\r\n );\r\n}\r\n","import React, { useMemo } from \"react\";\r\nimport {\r\n Card,\r\n CardBody,\r\n CardHeader,\r\n CardHeaderToolbar,\r\n} from \"../../../../../_metronic/_partials/controls\";\r\nimport { CustomersFilter } from \"./customers-filter/CustomersFilter\";\r\nimport { CustomersTable } from \"./customers-table/CustomersTable\";\r\nimport { CustomersGrouping } from \"./customers-grouping/CustomersGrouping\";\r\nimport { useCustomersUIContext } from \"./CustomersUIContext\";\r\nimport {\r\n Button,\r\n InputGroup,\r\n FormControl,\r\n DropdownButton,\r\n Dropdown\r\n} from \"react-bootstrap\";\r\nexport function CustomersCard() {\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n ids: customersUIContext.ids,\r\n newCustomerButtonClick: customersUIContext.newCustomerButtonClick,\r\n };\r\n }, [customersUIContext]);\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n Confirm\r\n \r\n \r\n Re-gin\r\n \r\n \r\n Unconrifm\r\n \r\n \r\n \r\n \r\n \r\n {customersUIProps.ids.length > 0 && }\r\n \r\n \r\n \r\n );\r\n}\r\n","import React from \"react\";\r\nimport { Route } from \"react-router-dom\";\r\nimport { CustomersLoadingDialog } from \"./customers-loading-dialog/CustomersLoadingDialog\";\r\nimport { CustomerEditDialog } from \"./customer-edit-dialog/CustomerEditDialog\";\r\nimport { CustomerDeleteDialog } from \"./customer-delete-dialog/CustomerDeleteDialog\";\r\nimport { CustomersDeleteDialog } from \"./customers-delete-dialog/CustomersDeleteDialog\";\r\nimport { CustomersFetchDialog } from \"./customers-fetch-dialog/CustomersFetchDialog\";\r\nimport { CustomersUpdateStateDialog } from \"./customers-update-status-dialog/CustomersUpdateStateDialog\";\r\nimport { CustomersUIProvider } from \"./CustomersUIContext\";\r\nimport { CustomersCard } from \"./CustomersCard\";\r\n\r\nexport function RecurringStorageCharges({ history }) {\r\n const customersUIEvents = {\r\n newCustomerButtonClick: () => {\r\n history.push(\"/RecurringStorageCharges/new\");\r\n },\r\n openEditCustomerDialog: (id) => {\r\n history.push(`/RecurringStorageCharges/${id}/edit`);\r\n },\r\n openDeleteCustomerDialog: (id) => {\r\n history.push(`/RecurringStorageCharges/${id}/delete`);\r\n },\r\n openDeleteCustomersDialog: () => {\r\n history.push(`/RecurringStorageCharges/deleteCustomers`);\r\n },\r\n openFetchCustomersDialog: () => {\r\n history.push(`/RecurringStorageCharges/fetch`);\r\n },\r\n openUpdateCustomersStatusDialog: () => {\r\n history.push(\"/RecurringStorageCharges/updateStatus\");\r\n }\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n {({ history, match }) => (\r\n {\r\n history.push(\"/RecurringStorageCharges\");\r\n }}\r\n />\r\n )}\r\n \r\n \r\n {({ history, match }) => (\r\n {\r\n history.push(\"/RecurringStorageCharges\");\r\n }}\r\n />\r\n )}\r\n \r\n \r\n {({ history, match }) => (\r\n {\r\n history.push(\"/RecurringStorageCharges\");\r\n }}\r\n />\r\n )}\r\n \r\n \r\n {({ history, match }) => (\r\n {\r\n history.push(\"/RecurringStorageCharges\");\r\n }}\r\n />\r\n )}\r\n \r\n \r\n {({ history, match }) => (\r\n {\r\n history.push(\"/RecurringStorageCharges\");\r\n }}\r\n />\r\n )}\r\n \r\n \r\n {({ history, match }) => (\r\n {\r\n history.push(\"/RecurringStorageCharges\");\r\n }}\r\n />\r\n )}\r\n \r\n \r\n \r\n );\r\n}\r\n","import React, { useEffect } from \"react\";\r\nimport { shallowEqual, useSelector } from \"react-redux\";\r\nimport { LoadingDialog } from \"../../../../../../_metronic/_partials/controls\";\r\n\r\nexport function CustomersLoadingDialog() {\r\n // Customers Redux state\r\n const { isLoading } = useSelector(\r\n (state) => ({ isLoading: state.customers.listLoading }),\r\n shallowEqual\r\n );\r\n // looking for loading/dispatch\r\n useEffect(() => {}, [isLoading]);\r\n return ;\r\n}\r\n","import axios from \"axios\";\r\n\r\nexport const CUSTOMERS_URL = \"api/ManageTPLScale\";\r\n\r\n// CREATE => POST: add a new customer to the server\r\nexport function createCustomer(customer) {\r\n return axios.post(CUSTOMERS_URL, { customer });\r\n}\r\n\r\n// READ\r\nexport function getAllCustomers() {\r\n return axios.get(CUSTOMERS_URL);\r\n}\r\n\r\nexport function getCustomerById(customerId) {\r\n return axios.get(`${CUSTOMERS_URL}/${customerId}`);\r\n}\r\n\r\n// Method from server should return QueryResultsModel(items: any[], totalsCount: number)\r\n// items => filtered/sorted result\r\nexport function findCustomers(queryParams) {\r\n return axios.post(`${CUSTOMERS_URL}/find`, { queryParams });\r\n}\r\n\r\n// UPDATE => PUT: update the customer on the server\r\nexport function updateCustomer(customer) {\r\n return axios.put(`${CUSTOMERS_URL}/${customer.id}`, { customer });\r\n}\r\n\r\n// UPDATE Status\r\nexport function updateStatusForCustomers(ids, status) {\r\n return axios.post(`${CUSTOMERS_URL}/updateStatusForCustomers`, {\r\n ids,\r\n status\r\n });\r\n}\r\n\r\n// DELETE => delete the customer from the server\r\nexport function deleteCustomer(customerId) {\r\n return axios.delete(`${CUSTOMERS_URL}/${customerId}`);\r\n}\r\n\r\n// DELETE Customers by ids\r\nexport function deleteCustomers(ids) {\r\n return axios.post(`${CUSTOMERS_URL}/deleteCustomers`, { ids });\r\n}\r\n","import {createSlice} from \"@reduxjs/toolkit\";\r\n\r\nconst initialCustomersState = {\r\n listLoading: false,\r\n actionsLoading: false,\r\n totalCount: 0,\r\n entities: null,\r\n customerForEdit: undefined,\r\n lastError: null\r\n};\r\nexport const callTypes = {\r\n list: \"list\",\r\n action: \"action\"\r\n};\r\n\r\nexport const customersSlice = createSlice({\r\n name: \"customers\",\r\n initialState: initialCustomersState,\r\n reducers: {\r\n catchError: (state, action) => {\r\n state.error = `${action.type}: ${action.payload.error}`;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = false;\r\n } else {\r\n state.actionsLoading = false;\r\n }\r\n },\r\n startCall: (state, action) => {\r\n state.error = null;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = true;\r\n } else {\r\n state.actionsLoading = true;\r\n }\r\n },\r\n // getCustomerById\r\n customerFetched: (state, action) => {\r\n state.actionsLoading = false;\r\n state.customerForEdit = action.payload.customerForEdit;\r\n state.error = null;\r\n },\r\n // findCustomers\r\n customersFetched: (state, action) => {\r\n const { totalCount, entities } = action.payload;\r\n state.listLoading = false;\r\n state.error = null;\r\n state.entities = entities;\r\n state.totalCount = totalCount;\r\n },\r\n // createCustomer\r\n customerCreated: (state, action) => {\r\n state.actionsLoading = false;\r\n state.error = null;\r\n state.entities.push(action.payload.customer);\r\n },\r\n // updateCustomer\r\n customerUpdated: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.map(entity => {\r\n if (entity.id === action.payload.customer.id) {\r\n return action.payload.customer;\r\n }\r\n return entity;\r\n });\r\n },\r\n // deleteCustomer\r\n customerDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(el => el.id !== action.payload.id);\r\n },\r\n // deleteCustomers\r\n customersDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(\r\n el => !action.payload.ids.includes(el.id)\r\n );\r\n },\r\n // customersUpdateState\r\n customersStatusUpdated: (state, action) => {\r\n state.actionsLoading = false;\r\n state.error = null;\r\n const { ids, status } = action.payload;\r\n state.entities = state.entities.map(entity => {\r\n if (ids.findIndex(id => id === entity.id) > -1) {\r\n entity.status = status;\r\n }\r\n return entity;\r\n });\r\n }\r\n }\r\n});\r\n","import * as requestFromServer from \"./customersCrud\";\r\nimport {customersSlice, callTypes} from \"./customersSlice\";\r\n\r\nconst {actions} = customersSlice;\r\n\r\nexport const fetchCustomers = queryParams => dispatch => {\r\n dispatch(actions.startCall({ callType: callTypes.list }));\r\n return requestFromServer\r\n .findCustomers(queryParams)\r\n .then(response => {\r\n const { totalCount, entities } = response.data;\r\n dispatch(actions.customersFetched({ totalCount, entities }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't find customers\";\r\n dispatch(actions.catchError({ error, callType: callTypes.list }));\r\n });\r\n};\r\n\r\nexport const fetchCustomer = id => dispatch => {\r\n if (!id) {\r\n return dispatch(actions.customerFetched({ customerForEdit: undefined }));\r\n }\r\n\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .getCustomerById(id)\r\n .then(response => {\r\n const customer = response.data;\r\n dispatch(actions.customerFetched({ customerForEdit: customer }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't find customer\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const deleteCustomer = id => dispatch => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .deleteCustomer(id)\r\n .then(response => {\r\n dispatch(actions.customerDeleted({ id }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't delete customer\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const createCustomer = customerForCreation => dispatch => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .createCustomer(customerForCreation)\r\n .then(response => {\r\n const { customer } = response.data;\r\n dispatch(actions.customerCreated({ customer }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't create customer\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const updateCustomer = customer => dispatch => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .updateCustomer(customer)\r\n .then(() => {\r\n dispatch(actions.customerUpdated({ customer }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't update customer\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const updateCustomersStatus = (ids, status) => dispatch => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .updateStatusForCustomers(ids, status)\r\n .then(() => {\r\n dispatch(actions.customersStatusUpdated({ ids, status }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't update customers status\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const deleteCustomers = ids => dispatch => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .deleteCustomers(ids)\r\n .then(() => {\r\n dispatch(actions.customersDeleted({ ids }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't delete customers\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n","import React, { useState, useEffect } from \"react\";\r\nimport { shallowEqual, useSelector } from \"react-redux\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport {ModalProgressBar} from \"../../../../../../_metronic/_partials/controls\";\r\n\r\nexport function CustomerEditDialogHeader({ id }) {\r\n // Customers Redux state\r\n const { customerForEdit, actionsLoading } = useSelector(\r\n (state) => ({\r\n customerForEdit: state.customers.customerForEdit,\r\n actionsLoading: state.customers.actionsLoading,\r\n }),\r\n shallowEqual\r\n );\r\n\r\n const [title, setTitle] = useState(\"\");\r\n // Title couting\r\n useEffect(() => {\r\n let _title = id ? \"\" : \"New TPL Scale\";\r\n if (customerForEdit && id) {\r\n _title = `Edit TPL Scale '${customerForEdit.Description}'`;\r\n }\r\n\r\n setTitle(_title);\r\n // eslint-disable-next-line\r\n }, [customerForEdit, actionsLoading]);\r\n\r\n return (\r\n <>\r\n {actionsLoading && }\r\n \r\n {title}\r\n \r\n \r\n );\r\n}\r\n","// Form is based on Formik\r\n// Data validation is based on Yup\r\n// Please, be familiar with article first:\r\n// https://hackernoon.com/react-form-validation-with-formik-and-yup-8b76bda62e10\r\nimport React, { useEffect } from 'react'\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { Formik, Form} from \"formik\";\r\nimport TextField from '@material-ui/core/TextField';\r\nimport { makeStyles } from '@material-ui/core/styles';\r\n// Validation schema\r\n// const CustomerEditSchema = Yup.object().shape({\r\n// LoginUserName: Yup.string()\r\n// .min(3, \"Minimum 3 symbols\")\r\n// .max(50, \"Maximum 50 symbols\")\r\n// .required(\"Login / User Name is required\"),\r\n// Password: Yup.string()\r\n// .min(8, \"Minimum 8 symbols\")\r\n// .max(50, \"Maximum 50 symbols\")\r\n// .required(\"Password is required\"),\r\n// ConfirmPassword: Yup.string()\r\n// .min(8, \"Minimum 8 symbols\")\r\n// .max(50, \"Maximum 50 symbols\")\r\n// .required(\"Password is required\"),\r\n// email: Yup.string()\r\n// .email(\"Invalid email\")\r\n// .required(\"Email is required\"),\r\n// Phone: Yup.string()\r\n// .min(7, \"Minimum 7 Number\")\r\n// .max(50, \"Maximum 50 Number\")\r\n// .required(\"Phone Number is required\"),\r\n// userName: Yup.string().required(\"Username is required\"),\r\n// dateOfBbirth: Yup.mixed()\r\n// .nullable(false)\r\n// .required(\"Date of Birth is required\"),\r\n// ipAddress: Yup.string().required(\"IP Address is required\"),\r\n// });\r\nconst useStyles = makeStyles(theme => ({\r\n container: {\r\n display: 'flex',\r\n flexWrap: 'wrap',\r\n },\r\n textField: {\r\n marginLeft: theme.spacing(1),\r\n marginRight: theme.spacing(1),\r\n },\r\n dense: {\r\n marginTop: theme.spacing(2),\r\n },\r\n menu: {\r\n width: 200,\r\n },\r\n}));\r\n\r\nexport function CustomerEditForm({\r\n saveCustomer,\r\n customer,\r\n actionsLoading,\r\n onHide,\r\n}) {\r\n const classes = useStyles();\r\n const [values, setValues] = React.useState({\r\n name: '',\r\n age: '',\r\n multiline: 'Controlled',\r\n currency: 'EUR',\r\n });\r\n useEffect(() => {\r\n if (customer.Description != null) {\r\n document.getElementById(\"outlined-multiline-static\").value = customer.Description;\r\n }\r\n }, [customer]);\r\n const handleChange = name => event => {\r\n setValues({ ...values, [name]: event.target.value });\r\n };\r\n return (\r\n <>\r\n {\r\n saveCustomer(values);\r\n }}\r\n >\r\n {({ handleSubmit, setFieldValue }) => (\r\n <>\r\n \r\n {actionsLoading && (\r\n
\r\n
\r\n
\r\n )}\r\n
\r\n
\r\n
\r\n {\r\n setFieldValue(\"Description\", event.target.value)\r\n }}\r\n multiline\r\n rows=\"4\"\r\n defaultValue=\"\"\r\n className={classes.textField}\r\n margin=\"normal\"\r\n variant=\"outlined\"\r\n />\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n Cancel\r\n \r\n <> \r\n handleSubmit()}\r\n className=\"btn btn-success btn-elevate\"\r\n >\r\n Save\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n );\r\n}\r\n","export const CustomerStatusCssClasses = [\"danger\", \"success\", \"info\", \"\"];\r\nexport const CustomerStatusTitles = [\"Inactive\", \"Active\"];\r\nexport const CustomerTypeCssClasses = [\"success\", \"primary\", \"\"];\r\nexport const CustomerTypeTitles = [\"Business\", \"Individual\", \"\"];\r\nexport const defaultSorted = [{ dataField: \"id\", order: \"desc\" }];\r\nexport const sizePerPageList = [\r\n { text: \"3\", value: 3 },\r\n { text: \"5\", value: 5 },\r\n { text: \"10\", value: 10 }\r\n];\r\nexport const initialFilter = {\r\n filter: {\r\n lastName: \"\",\r\n firstName: \"\",\r\n email: \"\",\r\n ipAddress: \"\"\r\n },\r\n sortOrder: \"asc\", // asc||desc\r\n sortField: \"id\",\r\n pageNumber: 1,\r\n pageSize: 10\r\n};\r\n","import React, {createContext, useContext, useState, useCallback} from \"react\";\r\nimport {isEqual, isFunction} from \"lodash\";\r\nimport {initialFilter} from \"./CustomersUIHelpers\";\r\n\r\nconst CustomersUIContext = createContext();\r\n\r\nexport function useCustomersUIContext() {\r\n return useContext(CustomersUIContext);\r\n}\r\n\r\nexport const CustomersUIConsumer = CustomersUIContext.Consumer;\r\n\r\nexport function CustomersUIProvider({customersUIEvents, children}) {\r\n const [queryParams, setQueryParamsBase] = useState(initialFilter);\r\n const [ids, setIds] = useState([]);\r\n const setQueryParams = useCallback(nextQueryParams => {\r\n setQueryParamsBase(prevQueryParams => {\r\n if (isFunction(nextQueryParams)) {\r\n nextQueryParams = nextQueryParams(prevQueryParams);\r\n }\r\n\r\n if (isEqual(prevQueryParams, nextQueryParams)) {\r\n return prevQueryParams;\r\n }\r\n\r\n return nextQueryParams;\r\n });\r\n }, []);\r\n\r\n const initCustomer = {\r\n id: undefined,\r\n firstName: \"\",\r\n lastName: \"\",\r\n email: \"\",\r\n userName: \"\",\r\n gender: \"Female\",\r\n status: 0,\r\n dateOfBbirth: \"\",\r\n ipAddress: \"\",\r\n type: 1\r\n };\r\n\r\n const value = {\r\n queryParams,\r\n setQueryParamsBase,\r\n ids,\r\n setIds,\r\n setQueryParams,\r\n initCustomer,\r\n newCustomerButtonClick: customersUIEvents.newCustomerButtonClick,\r\n openEditCustomerDialog: customersUIEvents.openEditCustomerDialog,\r\n openDeleteCustomerDialog: customersUIEvents.openDeleteCustomerDialog,\r\n openDeleteCustomersDialog: customersUIEvents.openDeleteCustomersDialog,\r\n openFetchCustomersDialog: customersUIEvents.openFetchCustomersDialog,\r\n openUpdateCustomersStatusDialog: customersUIEvents.openUpdateCustomersStatusDialog\r\n };\r\n\r\n return {children};\r\n}","import React, { useEffect, useMemo } from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { shallowEqual, useDispatch, useSelector } from \"react-redux\";\r\nimport * as actions from \"../../../_redux/ManageTPLScales/customersActions\";\r\nimport { CustomerEditDialogHeader } from \"./CustomerEditDialogHeader\";\r\nimport { CustomerEditForm } from \"./CustomerEditForm\";\r\nimport { useCustomersUIContext } from \"../CustomersUIContext\";\r\n\r\nexport function CustomerEditDialog({ id, show, onHide }) {\r\n // Customers UI Context\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n initCustomer: customersUIContext.initCustomer,\r\n };\r\n }, [customersUIContext]);\r\n\r\n // Customers Redux state\r\n const dispatch = useDispatch();\r\n const { actionsLoading, customerForEdit } = useSelector(\r\n (state) => ({\r\n actionsLoading: state.customers.actionsLoading,\r\n customerForEdit: state.customers.customerForEdit,\r\n }),\r\n shallowEqual\r\n );\r\n\r\n useEffect(() => {\r\n // server call for getting Customer by id\r\n dispatch(actions.fetchCustomer(id));\r\n }, [id, dispatch]);\r\n\r\n // server request for saving customer\r\n const saveCustomer = (customer) => {\r\n if (!id) {\r\n // server request for creating customer\r\n dispatch(actions.createCustomer(customer)).then(() => onHide());\r\n } else {\r\n // server request for updating customer\r\n dispatch(actions.updateCustomer(customer)).then(() => onHide());\r\n }\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n}\r\n","import React, { useEffect, useMemo } from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { shallowEqual, useDispatch, useSelector } from \"react-redux\";\r\nimport {ModalProgressBar} from \"../../../../../../_metronic/_partials/controls\";\r\nimport * as actions from \"../../../_redux/ManageTPLScales/customersActions\";\r\nimport {useCustomersUIContext} from \"../CustomersUIContext\";\r\n\r\nexport function CustomerDeleteDialog({ id, show, onHide }) {\r\n // Customers UI Context\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n setIds: customersUIContext.setIds,\r\n queryParams: customersUIContext.queryParams\r\n };\r\n }, [customersUIContext]);\r\n\r\n // Customers Redux state\r\n const dispatch = useDispatch();\r\n const { isLoading } = useSelector(\r\n (state) => ({ isLoading: state.customers.actionsLoading }),\r\n shallowEqual\r\n );\r\n\r\n // if !id we should close modal\r\n useEffect(() => {\r\n if (!id) {\r\n onHide();\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [id]);\r\n\r\n // looking for loading/dispatch\r\n useEffect(() => {}, [isLoading, dispatch]);\r\n\r\n const deleteCustomer = () => {\r\n // server request for deleting customer by id\r\n dispatch(actions.deleteCustomer(id)).then(() => {\r\n // refresh list after deletion\r\n dispatch(actions.fetchCustomers(customersUIProps.queryParams));\r\n // clear selections list\r\n customersUIProps.setIds([]);\r\n // closing delete modal\r\n onHide();\r\n });\r\n };\r\n\r\n return (\r\n \r\n {/*begin::Loading*/}\r\n {isLoading && }\r\n {/*end::Loading*/}\r\n \r\n \r\n TPL Scale Delete\r\n \r\n \r\n \r\n {!isLoading && (\r\n Are you sure to permanently delete this TPL Scales?\r\n )}\r\n {isLoading && TPL Scales is deleting...}\r\n \r\n \r\n
\r\n \r\n Cancel\r\n \r\n <> \r\n \r\n Delete\r\n \r\n
\r\n
\r\n \r\n );\r\n}\r\n","import React, { useEffect, useMemo } from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { shallowEqual, useDispatch, useSelector } from \"react-redux\";\r\nimport * as actions from \"../../../_redux/ManageTPLScales/customersActions\";\r\nimport { useCustomersUIContext } from \"../CustomersUIContext\";\r\nimport {ModalProgressBar} from \"../../../../../../_metronic/_partials/controls\";\r\n\r\nexport function CustomersDeleteDialog({ show, onHide }) {\r\n // Customers UI Context\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n ids: customersUIContext.ids,\r\n setIds: customersUIContext.setIds,\r\n queryParams: customersUIContext.queryParams,\r\n };\r\n }, [customersUIContext]);\r\n\r\n // Customers Redux state\r\n const dispatch = useDispatch();\r\n const { isLoading } = useSelector(\r\n (state) => ({ isLoading: state.customers.actionsLoading }),\r\n shallowEqual\r\n );\r\n\r\n // if customers weren't selected we should close modal\r\n useEffect(() => {\r\n if (!customersUIProps.ids || customersUIProps.ids.length === 0) {\r\n onHide();\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [customersUIProps.ids]);\r\n\r\n // looking for loading/dispatch\r\n useEffect(() => {}, [isLoading, dispatch]);\r\n\r\n const deleteCustomers = () => {\r\n // server request for deleting customer by selected ids\r\n dispatch(actions.deleteCustomers(customersUIProps.ids)).then(() => {\r\n // refresh list after deletion\r\n dispatch(actions.fetchCustomers(customersUIProps.queryParams)).then(\r\n () => {\r\n // clear selections list\r\n customersUIProps.setIds([]);\r\n // closing delete modal\r\n onHide();\r\n }\r\n );\r\n });\r\n };\r\n\r\n return (\r\n \r\n {/*begin::Loading*/}\r\n {isLoading && }\r\n {/*end::Loading*/}\r\n \r\n \r\n Customers Delete\r\n \r\n \r\n \r\n {!isLoading && (\r\n Are you sure to permanently delete selected customers?\r\n )}\r\n {isLoading && Customer are deleting...}\r\n \r\n \r\n
\r\n \r\n Cancel\r\n \r\n <> \r\n \r\n Delete\r\n \r\n
\r\n
\r\n \r\n );\r\n}\r\n","import React, { useEffect, useMemo } from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { shallowEqual, useSelector } from \"react-redux\";\r\nimport { CustomerStatusCssClasses } from \"../CustomersUIHelpers\";\r\nimport { useCustomersUIContext } from \"../CustomersUIContext\";\r\n\r\nconst selectedCustomers = (entities, ids) => {\r\n const _customers = [];\r\n ids.forEach((id) => {\r\n const customer = entities.find((el) => el.id === id);\r\n if (customer) {\r\n _customers.push(customer);\r\n }\r\n });\r\n return _customers;\r\n};\r\n\r\nexport function CustomersFetchDialog({ show, onHide }) {\r\n // Customers UI Context\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n ids: customersUIContext.ids,\r\n };\r\n }, [customersUIContext]);\r\n\r\n // Customers Redux state\r\n const { customers } = useSelector(\r\n (state) => ({\r\n customers: selectedCustomers(\r\n state.customers.entities,\r\n customersUIProps.ids\r\n ),\r\n }),\r\n shallowEqual\r\n );\r\n\r\n // if customers weren't selected we should close modal\r\n useEffect(() => {\r\n if (!customersUIProps.ids || customersUIProps.ids.length === 0) {\r\n onHide();\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [customersUIProps.ids]);\r\n\r\n return (\r\n \r\n \r\n \r\n Fetch selected elements\r\n \r\n \r\n \r\n
\r\n {customers.map((customer) => (\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n ID: {customer.id}\r\n \r\n {customer.lastName}, {customer.firstName} \r\n
\r\n
\r\n ))}\r\n
\r\n \r\n \r\n
\r\n \r\n Cancel\r\n \r\n <> \r\n \r\n Ok\r\n \r\n
\r\n
\r\n \r\n );\r\n}\r\n","import React, { useEffect, useState, useMemo } from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { shallowEqual, useDispatch, useSelector } from \"react-redux\";\r\nimport { CustomerStatusCssClasses } from \"../CustomersUIHelpers\";\r\nimport * as actions from \"../../../_redux/ManageTPLScales/customersActions\";\r\nimport { useCustomersUIContext } from \"../CustomersUIContext\";\r\n\r\nconst selectedCustomers = (entities, ids) => {\r\n const _customers = [];\r\n ids.forEach((id) => {\r\n const customer = entities.find((el) => el.id === id);\r\n if (customer) {\r\n _customers.push(customer);\r\n }\r\n });\r\n return _customers;\r\n};\r\n\r\nexport function CustomersUpdateStateDialog({ show, onHide }) {\r\n // Customers UI Context\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n ids: customersUIContext.ids,\r\n setIds: customersUIContext.setIds,\r\n queryParams: customersUIContext.queryParams,\r\n };\r\n }, [customersUIContext]);\r\n\r\n // Customers Redux state\r\n const { customers, isLoading } = useSelector(\r\n (state) => ({\r\n customers: selectedCustomers(\r\n state.customers.entities,\r\n customersUIProps.ids\r\n ),\r\n isLoading: state.customers.actionsLoading,\r\n }),\r\n shallowEqual\r\n );\r\n\r\n // if !id we should close modal\r\n useEffect(() => {\r\n if (!customersUIProps.ids || customersUIProps.ids.length === 0) {\r\n onHide();\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [customersUIProps.ids]);\r\n\r\n const [status, setStatus] = useState(0);\r\n\r\n const dispatch = useDispatch();\r\n const updateStatus = () => {\r\n // server request for update customers status by selected ids\r\n dispatch(actions.updateCustomersStatus(customersUIProps.ids, status)).then(\r\n () => {\r\n // refresh list after deletion\r\n dispatch(actions.fetchCustomers(customersUIProps.queryParams)).then(\r\n () => {\r\n // clear selections list\r\n customersUIProps.setIds([]);\r\n // closing delete modal\r\n onHide();\r\n }\r\n );\r\n }\r\n );\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n Status has been updated for selected User\r\n \r\n \r\n \r\n {/*begin::Loading*/}\r\n {isLoading && (\r\n
\r\n
\r\n
\r\n )}\r\n {/*end::Loading*/}\r\n\r\n
\r\n {customers.map((customer) => (\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n ID: {customer.id}\r\n \r\n \r\n {customer.lastName}, {customer.firstName}\r\n \r\n
\r\n
\r\n ))}\r\n
\r\n \r\n \r\n
\r\n setStatus(+e.target.value)}\r\n >\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n Cancel\r\n \r\n \r\n Update Status\r\n \r\n
\r\n
\r\n \r\n );\r\n}\r\n","import React, { useMemo } from \"react\";\r\nimport { Formik } from \"formik\";\r\nimport { isEqual } from \"lodash\";\r\nimport { useCustomersUIContext } from \"../CustomersUIContext\";\r\nconst prepareFilter = (queryParams, values) => {\r\n const { status, type, searchText } = values;\r\n const newQueryParams = { ...queryParams };\r\n const filter = {};\r\n // Filter by status\r\n filter.status = status !== \"\" ? +status : undefined;\r\n // Filter by type\r\n filter.type = type !== \"\" ? +type : undefined;\r\n // Filter by all fields\r\n filter.lastName = searchText;\r\n if (searchText) {\r\n filter.firstName = searchText;\r\n filter.email = searchText;\r\n filter.ipAddress = searchText;\r\n }\r\n newQueryParams.filter = filter;\r\n return newQueryParams;\r\n};\r\n\r\nexport function CustomersFilter({ listLoading }) {\r\n // Customers UI Context\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n queryParams: customersUIContext.queryParams,\r\n setQueryParams: customersUIContext.setQueryParams,\r\n };\r\n }, [customersUIContext]);\r\n\r\n // queryParams, setQueryParams,\r\n const applyFilter = (values) => {\r\n const newQueryParams = prepareFilter(customersUIProps.queryParams, values);\r\n if (!isEqual(newQueryParams, customersUIProps.queryParams)) {\r\n newQueryParams.pageNumber = 1;\r\n // update list by queryParams\r\n customersUIProps.setQueryParams(newQueryParams);\r\n }\r\n };\r\n\r\n return (\r\n <>\r\n All=\"\"/Susspended=0/Active=1/Pending=2\r\n type: \"\", // values => All=\"\"/Business=0/Individual=1\r\n searchText: \"\",\r\n }}\r\n onSubmit={(values) => {\r\n applyFilter(values);\r\n }}\r\n >\r\n {({\r\n values,\r\n handleSubmit,\r\n handleBlur,\r\n handleChange,\r\n setFieldValue,\r\n }) => (\r\n
\r\n
\r\n )}\r\n \r\n \r\n );\r\n}\r\n","// please be familiar with react-bootstrap-table-next column formaters\r\n// https://react-bootstrap-table.github.io/react-bootstrap-table2/storybook/index.html?selectedKind=Work%20on%20Columns&selectedStory=Column%20Formatter&full=0&addons=1&stories=1&panelRight=0&addonPanel=storybook%2Factions%2Factions-panel\r\n/* eslint-disable no-script-url,jsx-a11y/anchor-is-valid */\r\nimport React from \"react\";\r\nimport SVG from \"react-inlinesvg\";\r\nimport { toAbsoluteUrl } from \"../../../../../../../_metronic/_helpers\";\r\n\r\nexport function ActionsColumnFormatter(\r\n cellContent,\r\n row,\r\n rowIndex,\r\n { openEditCustomerDialog, openDeleteCustomerDialog }\r\n) {\r\n return (\r\n <>\r\n openEditCustomerDialog(row.id)}\r\n >\r\n \r\n \r\n \r\n \r\n <> \r\n\r\n openDeleteCustomerDialog(row.id)}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n","// React bootstrap table next =>\r\n// DOCS: https://react-bootstrap-table.github.io/react-bootstrap-table2/docs/\r\n// STORYBOOK: https://react-bootstrap-table.github.io/react-bootstrap-table2/storybook/index.html\r\nimport React, { useEffect, useMemo } from \"react\";\r\nimport BootstrapTable from \"react-bootstrap-table-next\";\r\nimport paginationFactory, {\r\n PaginationProvider,\r\n} from \"react-bootstrap-table2-paginator\";\r\nimport { shallowEqual, useDispatch, useSelector } from \"react-redux\";\r\nimport * as actions from \"../../../_redux/ManageTPLScales/customersActions\";\r\nimport {\r\n getSelectRow,\r\n getHandlerTableChange,\r\n NoRecordsFoundMessage,\r\n PleaseWaitMessage,\r\n sortCaret,\r\n headerSortingClasses,\r\n} from \"../../../../../../_metronic/_helpers\";\r\nimport * as uiHelpers from \"../CustomersUIHelpers\";\r\nimport * as columnFormatters from \"./column-formatters\";\r\nimport { Pagination } from \"../../../../../../_metronic/_partials/controls\";\r\nimport { useCustomersUIContext } from \"../CustomersUIContext\";\r\n\r\nexport function CustomersTable() {\r\n // Customers UI Context\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n ids: customersUIContext.ids,\r\n setIds: customersUIContext.setIds,\r\n queryParams: customersUIContext.queryParams,\r\n setQueryParams: customersUIContext.setQueryParams,\r\n openEditCustomerDialog: customersUIContext.openEditCustomerDialog,\r\n openDeleteCustomerDialog: customersUIContext.openDeleteCustomerDialog,\r\n };\r\n }, [customersUIContext]);\r\n\r\n // Getting curret state of customers list from store (Redux)\r\n const { currentState } = useSelector(\r\n (state) => ({ currentState: state.customers }),\r\n shallowEqual\r\n );\r\n const { totalCount, entities, listLoading } = currentState;\r\n\r\n // Customers Redux state\r\n const dispatch = useDispatch();\r\n useEffect(() => {\r\n // clear selections list\r\n customersUIProps.setIds([]);\r\n // server call by queryParams\r\n dispatch(actions.fetchCustomers(customersUIProps.queryParams));\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [customersUIProps.queryParams, dispatch]);\r\n // Table columns\r\n const columns = [\r\n {\r\n dataField: \"id\",\r\n text: \"ID\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n headerSortingClasses,\r\n },\r\n {\r\n dataField: \"Description\",\r\n text: \"DESCRIPTION\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n headerSortingClasses,\r\n },\r\n {\r\n dataField: \"action\",\r\n text: \"Actions\",\r\n formatter: columnFormatters.ActionsColumnFormatter,\r\n formatExtraData: {\r\n openEditCustomerDialog: customersUIProps.openEditCustomerDialog,\r\n openDeleteCustomerDialog: customersUIProps.openDeleteCustomerDialog,\r\n },\r\n classes: \"text-center pr-0\",\r\n headerClasses: \"text-center pr-3\",\r\n style: {\r\n minWidth: \"100px\",\r\n },\r\n },\r\n ];\r\n // Table pagination properties\r\n const paginationOptions = {\r\n custom: true,\r\n totalSize: totalCount,\r\n sizePerPageList: uiHelpers.sizePerPageList,\r\n sizePerPage: customersUIProps.queryParams.pageSize,\r\n page: customersUIProps.queryParams.pageNumber,\r\n };\r\n return (\r\n <>\r\n \r\n {({ paginationProps, paginationTableProps }) => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n }}\r\n \r\n \r\n );\r\n}\r\n","import React, { useMemo } from \"react\";\r\nimport { useCustomersUIContext } from \"../CustomersUIContext\";\r\n\r\nexport function CustomersGrouping() {\r\n // Customers UI Context\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n ids: customersUIContext.ids,\r\n setIds: customersUIContext.setIds,\r\n openDeleteCustomersDialog: customersUIContext.openDeleteCustomersDialog,\r\n openFetchCustomersDialog: customersUIContext.openFetchCustomersDialog,\r\n openUpdateCustomersStatusDialog:\r\n customersUIContext.openUpdateCustomersStatusDialog,\r\n };\r\n }, [customersUIContext]);\r\n\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n Delete All\r\n \r\n  \r\n
\r\n
\r\n
\r\n
\r\n
\r\n );\r\n}\r\n","import React, { useMemo } from \"react\";\r\nimport {\r\n Card,\r\n CardBody,\r\n CardHeader,\r\n CardHeaderToolbar,\r\n} from \"../../../../../_metronic/_partials/controls\";\r\nimport { CustomersFilter } from \"./customers-filter/CustomersFilter\";\r\nimport { CustomersTable } from \"./customers-table/CustomersTable\";\r\nimport { CustomersGrouping } from \"./customers-grouping/CustomersGrouping\";\r\nimport { useCustomersUIContext } from \"./CustomersUIContext\";\r\nimport {\r\n Button,\r\n InputGroup,\r\n FormControl,\r\n DropdownButton,\r\n Dropdown\r\n} from \"react-bootstrap\";\r\nexport function CustomersCard() {\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n ids: customersUIContext.ids,\r\n newCustomerButtonClick: customersUIContext.newCustomerButtonClick,\r\n };\r\n }, [customersUIContext]);\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n Add\r\n \r\n \r\n \r\n \r\n \r\n {customersUIProps.ids.length > 0 && }\r\n \r\n \r\n \r\n );\r\n}\r\n","import React from \"react\";\r\nimport { Route } from \"react-router-dom\";\r\nimport { CustomersLoadingDialog } from \"./customers-loading-dialog/CustomersLoadingDialog\";\r\nimport { CustomerEditDialog } from \"./customer-edit-dialog/CustomerEditDialog\";\r\nimport { CustomerDeleteDialog } from \"./customer-delete-dialog/CustomerDeleteDialog\";\r\nimport { CustomersDeleteDialog } from \"./customers-delete-dialog/CustomersDeleteDialog\";\r\nimport { CustomersFetchDialog } from \"./customers-fetch-dialog/CustomersFetchDialog\";\r\nimport { CustomersUpdateStateDialog } from \"./customers-update-status-dialog/CustomersUpdateStateDialog\";\r\nimport { CustomersUIProvider } from \"./CustomersUIContext\";\r\nimport { CustomersCard } from \"./CustomersCard\";\r\n\r\nexport function ManageTPLScales({ history }) {\r\n const customersUIEvents = {\r\n newCustomerButtonClick: () => {\r\n history.push(\"/ManageTPLScales/new\");\r\n },\r\n openEditCustomerDialog: (id) => {\r\n history.push(`/ManageTPLScales/${id}/edit`);\r\n },\r\n openDeleteCustomerDialog: (id) => {\r\n history.push(`/ManageTPLScales/${id}/delete`);\r\n },\r\n openDeleteCustomersDialog: () => {\r\n history.push(`/ManageTPLScales/deleteCustomers`);\r\n },\r\n openFetchCustomersDialog: () => {\r\n history.push(`/ManageTPLScales/fetch`);\r\n },\r\n openUpdateCustomersStatusDialog: () => {\r\n history.push(\"/ManageTPLScales/updateStatus\");\r\n }\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n {({ history, match }) => (\r\n {\r\n history.push(\"/ManageTPLScales\");\r\n }}\r\n />\r\n )}\r\n \r\n \r\n {({ history, match }) => (\r\n {\r\n history.push(\"/ManageTPLScales\");\r\n }}\r\n />\r\n )}\r\n \r\n \r\n {({ history, match }) => (\r\n {\r\n history.push(\"/ManageTPLScales\");\r\n }}\r\n />\r\n )}\r\n \r\n \r\n {({ history, match }) => (\r\n {\r\n history.push(\"/ManageTPLScales\");\r\n }}\r\n />\r\n )}\r\n \r\n \r\n {({ history, match }) => (\r\n {\r\n history.push(\"/ManageTPLScales\");\r\n }}\r\n />\r\n )}\r\n \r\n \r\n {({ history, match }) => (\r\n {\r\n history.push(\"/ManageTPLScales\");\r\n }}\r\n />\r\n )}\r\n \r\n \r\n \r\n );\r\n}\r\n","import React, { useEffect } from \"react\";\r\nimport { shallowEqual, useSelector } from \"react-redux\";\r\nimport { LoadingDialog } from \"../../../../../../_metronic/_partials/controls\";\r\n\r\nexport function CustomersLoadingDialog() {\r\n // Customers Redux state\r\n const { isLoading } = useSelector(\r\n (state) => ({ isLoading: state.customers.listLoading }),\r\n shallowEqual\r\n );\r\n // looking for loading/dispatch\r\n useEffect(() => {}, [isLoading]);\r\n return ;\r\n}\r\n","import axios from \"axios\";\r\n\r\nexport const CUSTOMERS_URL = \"api/CustomLabels\";\r\n\r\n// CREATE => POST: add a new customer to the server\r\nexport function createCustomer(customer) {\r\n return axios.post(CUSTOMERS_URL, { customer });\r\n}\r\n\r\n// READ\r\nexport function getAllCustomers() {\r\n return axios.get(CUSTOMERS_URL);\r\n}\r\n\r\nexport function getCustomerById(customerId) {\r\n return axios.get(`${CUSTOMERS_URL}/${customerId}`);\r\n}\r\n\r\n// Method from server should return QueryResultsModel(items: any[], totalsCount: number)\r\n// items => filtered/sorted result\r\nexport function findCustomers(queryParams) {\r\n return axios.post(`${CUSTOMERS_URL}/find`, { queryParams });\r\n}\r\n\r\n// UPDATE => PUT: update the customer on the server\r\nexport function updateCustomer(customer) {\r\n return axios.put(`${CUSTOMERS_URL}/${customer.id}`, { customer });\r\n}\r\n\r\n// UPDATE Status\r\nexport function updateStatusForCustomers(ids, status) {\r\n return axios.post(`${CUSTOMERS_URL}/updateStatusForCustomers`, {\r\n ids,\r\n status\r\n });\r\n}\r\n\r\n// DELETE => delete the customer from the server\r\nexport function deleteCustomer(customerId) {\r\n return axios.delete(`${CUSTOMERS_URL}/${customerId}`);\r\n}\r\n\r\n// DELETE Customers by ids\r\nexport function deleteCustomers(ids) {\r\n return axios.post(`${CUSTOMERS_URL}/deleteCustomers`, { ids });\r\n}\r\n","import {createSlice} from \"@reduxjs/toolkit\";\r\n\r\nconst initialCustomersState = {\r\n listLoading: false,\r\n actionsLoading: false,\r\n totalCount: 0,\r\n entities: null,\r\n customerForEdit: undefined,\r\n lastError: null\r\n};\r\nexport const callTypes = {\r\n list: \"list\",\r\n action: \"action\"\r\n};\r\n\r\nexport const customersSlice = createSlice({\r\n name: \"customers\",\r\n initialState: initialCustomersState,\r\n reducers: {\r\n catchError: (state, action) => {\r\n state.error = `${action.type}: ${action.payload.error}`;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = false;\r\n } else {\r\n state.actionsLoading = false;\r\n }\r\n },\r\n startCall: (state, action) => {\r\n state.error = null;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = true;\r\n } else {\r\n state.actionsLoading = true;\r\n }\r\n },\r\n // getCustomerById\r\n customerFetched: (state, action) => {\r\n state.actionsLoading = false;\r\n state.customerForEdit = action.payload.customerForEdit;\r\n state.error = null;\r\n },\r\n // findCustomers\r\n customersFetched: (state, action) => {\r\n const { totalCount, entities } = action.payload;\r\n state.listLoading = false;\r\n state.error = null;\r\n state.entities = entities;\r\n state.totalCount = totalCount;\r\n },\r\n // createCustomer\r\n customerCreated: (state, action) => {\r\n state.actionsLoading = false;\r\n state.error = null;\r\n state.entities.push(action.payload.customer);\r\n },\r\n // updateCustomer\r\n customerUpdated: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.map(entity => {\r\n if (entity.id === action.payload.customer.id) {\r\n return action.payload.customer;\r\n }\r\n return entity;\r\n });\r\n },\r\n // deleteCustomer\r\n customerDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(el => el.id !== action.payload.id);\r\n },\r\n // deleteCustomers\r\n customersDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(\r\n el => !action.payload.ids.includes(el.id)\r\n );\r\n },\r\n // customersUpdateState\r\n customersStatusUpdated: (state, action) => {\r\n state.actionsLoading = false;\r\n state.error = null;\r\n const { ids, status } = action.payload;\r\n state.entities = state.entities.map(entity => {\r\n if (ids.findIndex(id => id === entity.id) > -1) {\r\n entity.status = status;\r\n }\r\n return entity;\r\n });\r\n }\r\n }\r\n});\r\n","import * as requestFromServer from \"./customersCrud\";\r\nimport {customersSlice, callTypes} from \"./customersSlice\";\r\n\r\nconst {actions} = customersSlice;\r\n\r\nexport const fetchCustomers = queryParams => dispatch => {\r\n dispatch(actions.startCall({ callType: callTypes.list }));\r\n return requestFromServer\r\n .findCustomers(queryParams)\r\n .then(response => {\r\n const { totalCount, entities } = response.data;\r\n dispatch(actions.customersFetched({ totalCount, entities }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't find Custom Label\";\r\n dispatch(actions.catchError({ error, callType: callTypes.list }));\r\n });\r\n};\r\n\r\nexport const fetchCustomer = id => dispatch => {\r\n if (!id) {\r\n return dispatch(actions.customerFetched({ customerForEdit: undefined }));\r\n }\r\n\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .getCustomerById(id)\r\n .then(response => {\r\n const customer = response.data;\r\n dispatch(actions.customerFetched({ customerForEdit: customer }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't find Custom Label\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const deleteCustomer = id => dispatch => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .deleteCustomer(id)\r\n .then(response => {\r\n dispatch(actions.customerDeleted({ id }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't delete Custom Label\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const createCustomer = customerForCreation => dispatch => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .createCustomer(customerForCreation)\r\n .then(response => {\r\n const { customer } = response.data;\r\n dispatch(actions.customerCreated({ customer }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't create Custom Label\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const updateCustomer = customer => dispatch => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .updateCustomer(customer)\r\n .then(() => {\r\n dispatch(actions.customerUpdated({ customer }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't update Custom Label\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const updateCustomersStatus = (ids, status) => dispatch => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .updateStatusForCustomers(ids, status)\r\n .then(() => {\r\n dispatch(actions.customersStatusUpdated({ ids, status }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't update Custom Label status\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const deleteCustomers = ids => dispatch => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .deleteCustomers(ids)\r\n .then(() => {\r\n dispatch(actions.customersDeleted({ ids }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't delete Custom Label\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n","import React, { useState, useEffect } from \"react\";\r\nimport { shallowEqual, useSelector } from \"react-redux\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport {ModalProgressBar} from \"../../../../../../_metronic/_partials/controls\";\r\n\r\nexport function CustomerEditDialogHeader({ id }) {\r\n // Customers Redux state\r\n const { customerForEdit, actionsLoading } = useSelector(\r\n (state) => ({\r\n customerForEdit: state.customers.customerForEdit,\r\n actionsLoading: state.customers.actionsLoading,\r\n }),\r\n shallowEqual\r\n );\r\n\r\n const [title, setTitle] = useState(\"\");\r\n // Title couting\r\n useEffect(() => {\r\n let _title = id ? \"\" : \"New Custom Label\";\r\n if (customerForEdit && id) {\r\n _title = `Edit Custom Label '${customerForEdit.Name}'`;\r\n }\r\n\r\n setTitle(_title);\r\n // eslint-disable-next-line\r\n }, [customerForEdit, actionsLoading]);\r\n\r\n return (\r\n <>\r\n {actionsLoading && }\r\n \r\n {title}\r\n \r\n \r\n );\r\n}\r\n","// Form is based on Formik\r\n// Data validation is based on Yup\r\n// Please, be familiar with article first:\r\n// https://hackernoon.com/react-form-validation-with-formik-and-yup-8b76bda62e10\r\nimport React from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { Formik, Form, Field } from \"formik\";\r\nimport * as Yup from \"yup\";\r\nimport {\r\n Input\r\n} from \"../../../../../../_metronic/_partials/controls\";\r\nimport { makeStyles } from '@material-ui/core/styles';\r\n// Validation schema\r\nconst useStyles = makeStyles(theme => ({\r\n container: {\r\n display: 'flex',\r\n flexWrap: 'wrap',\r\n },\r\n textField: {\r\n marginLeft: theme.spacing(1),\r\n marginRight: theme.spacing(1),\r\n },\r\n dense: {\r\n marginTop: theme.spacing(2),\r\n },\r\n menu: {\r\n width: 200,\r\n },\r\n}));\r\n\r\nexport function CustomerEditForm({\r\n saveCustomer,\r\n customer,\r\n actionsLoading,\r\n onHide,\r\n}) {\r\n const classes = useStyles();\r\n const [values, setValues] = React.useState({\r\n name: '',\r\n age: '',\r\n multiline: 'Controlled',\r\n currency: 'EUR',\r\n });\r\n\r\n const handleChange = name => event => {\r\n setValues({ ...values, [name]: event.target.value });\r\n };\r\n let CustomerEditSchema;\r\n if (customer.id === undefined) {\r\n CustomerEditSchema = Yup.object().shape({\r\n Value: Yup.string()\r\n .min(3, \"Minimum 8 symbols\")\r\n .max(50, \"Maximum 50 symbols\")\r\n .required(\"Name is required\"),\r\n });\r\n } else {\r\n CustomerEditSchema = Yup.object().shape({});\r\n }\r\n return (\r\n <>\r\n {\r\n saveCustomer(values);\r\n }}\r\n >\r\n {({ handleSubmit }) => (\r\n <>\r\n \r\n {actionsLoading && (\r\n
\r\n
\r\n
\r\n )}\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n Cancel\r\n \r\n <> \r\n handleSubmit()}\r\n className=\"btn btn-success btn-elevate\"\r\n >\r\n Save\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n );\r\n}\r\n","export const CustomerStatusCssClasses = [\"danger\", \"success\", \"info\", \"\"];\r\nexport const CustomerStatusTitles = [\"Inactive\", \"Active\"];\r\nexport const CustomerTypeCssClasses = [\"success\", \"primary\", \"\"];\r\nexport const CustomerTypeTitles = [\"Business\", \"Individual\", \"\"];\r\nexport const defaultSorted = [{ dataField: \"id\", order: \"desc\" }];\r\nexport const sizePerPageList = [\r\n { text: \"3\", value: 3 },\r\n { text: \"5\", value: 5 },\r\n { text: \"10\", value: 10 }\r\n];\r\nexport const initialFilter = {\r\n filter: {\r\n lastName: \"\",\r\n firstName: \"\",\r\n email: \"\",\r\n ipAddress: \"\"\r\n },\r\n sortOrder: \"asc\", // asc||desc\r\n sortField: \"id\",\r\n pageNumber: 1,\r\n pageSize: 10\r\n};\r\n","import React, {createContext, useContext, useState, useCallback} from \"react\";\r\nimport {isEqual, isFunction} from \"lodash\";\r\nimport {initialFilter} from \"./CustomersUIHelpers\";\r\n\r\nconst CustomersUIContext = createContext();\r\n\r\nexport function useCustomersUIContext() {\r\n return useContext(CustomersUIContext);\r\n}\r\n\r\nexport const CustomersUIConsumer = CustomersUIContext.Consumer;\r\n\r\nexport function CustomersUIProvider({customersUIEvents, children}) {\r\n const [queryParams, setQueryParamsBase] = useState(initialFilter);\r\n const [ids, setIds] = useState([]);\r\n const setQueryParams = useCallback(nextQueryParams => {\r\n setQueryParamsBase(prevQueryParams => {\r\n if (isFunction(nextQueryParams)) {\r\n nextQueryParams = nextQueryParams(prevQueryParams);\r\n }\r\n\r\n if (isEqual(prevQueryParams, nextQueryParams)) {\r\n return prevQueryParams;\r\n }\r\n\r\n return nextQueryParams;\r\n });\r\n }, []);\r\n\r\n const initCustomer = {\r\n id: undefined,\r\n name : \"\",\r\n value:\"\"\r\n };\r\n\r\n const value = {\r\n queryParams,\r\n setQueryParamsBase,\r\n ids,\r\n setIds,\r\n setQueryParams,\r\n initCustomer,\r\n newCustomerButtonClick: customersUIEvents.newCustomerButtonClick,\r\n openEditCustomerDialog: customersUIEvents.openEditCustomerDialog,\r\n openDeleteCustomerDialog: customersUIEvents.openDeleteCustomerDialog,\r\n openDeleteCustomersDialog: customersUIEvents.openDeleteCustomersDialog,\r\n openFetchCustomersDialog: customersUIEvents.openFetchCustomersDialog,\r\n openUpdateCustomersStatusDialog: customersUIEvents.openUpdateCustomersStatusDialog\r\n };\r\n\r\n return {children};\r\n}","import React, { useEffect, useMemo } from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { shallowEqual, useDispatch, useSelector } from \"react-redux\";\r\nimport * as actions from \"../../../_redux/CustomLabels/customersActions\";\r\nimport { CustomerEditDialogHeader } from \"./CustomerEditDialogHeader\";\r\nimport { CustomerEditForm } from \"./CustomerEditForm\";\r\nimport { useCustomersUIContext } from \"../CustomersUIContext\";\r\n\r\nexport function CustomerEditDialog({ id, show, onHide }) {\r\n // Customers UI Context\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n initCustomer: customersUIContext.initCustomer,\r\n };\r\n }, [customersUIContext]);\r\n\r\n // Customers Redux state\r\n const dispatch = useDispatch();\r\n const { actionsLoading, customerForEdit } = useSelector(\r\n (state) => ({\r\n actionsLoading: state.customers.actionsLoading,\r\n customerForEdit: state.customers.customerForEdit,\r\n }),\r\n shallowEqual\r\n );\r\n\r\n useEffect(() => {\r\n // server call for getting Customer by id\r\n dispatch(actions.fetchCustomer(id));\r\n }, [id, dispatch]);\r\n\r\n // server request for saving customer\r\n const saveCustomer = (customer) => {\r\n if (!id) {\r\n // server request for creating customer\r\n dispatch(actions.createCustomer(customer)).then(() => onHide());\r\n } else {\r\n // server request for updating customer\r\n dispatch(actions.updateCustomer(customer)).then(() => onHide());\r\n }\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n}\r\n","import React, { useEffect, useMemo } from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { shallowEqual, useDispatch, useSelector } from \"react-redux\";\r\nimport {ModalProgressBar} from \"../../../../../../_metronic/_partials/controls\";\r\nimport * as actions from \"../../../_redux/CustomLabels/customersActions\";\r\nimport {useCustomersUIContext} from \"../CustomersUIContext\";\r\n\r\nexport function CustomerDeleteDialog({ id, show, onHide }) {\r\n // Customers UI Context\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n setIds: customersUIContext.setIds,\r\n queryParams: customersUIContext.queryParams\r\n };\r\n }, [customersUIContext]);\r\n\r\n // Customers Redux state\r\n const dispatch = useDispatch();\r\n const { isLoading } = useSelector(\r\n (state) => ({ isLoading: state.customers.actionsLoading }),\r\n shallowEqual\r\n );\r\n\r\n // if !id we should close modal\r\n useEffect(() => {\r\n if (!id) {\r\n onHide();\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [id]);\r\n\r\n // looking for loading/dispatch\r\n useEffect(() => {}, [isLoading, dispatch]);\r\n\r\n const deleteCustomer = () => {\r\n // server request for deleting customer by id\r\n dispatch(actions.deleteCustomer(id)).then(() => {\r\n // refresh list after deletion\r\n dispatch(actions.fetchCustomers(customersUIProps.queryParams));\r\n // clear selections list\r\n customersUIProps.setIds([]);\r\n // closing delete modal\r\n onHide();\r\n });\r\n };\r\n\r\n return (\r\n \r\n {/*begin::Loading*/}\r\n {isLoading && }\r\n {/*end::Loading*/}\r\n \r\n \r\n Customer Delete\r\n \r\n \r\n \r\n {!isLoading && (\r\n Are you sure to permanently delete this customer?\r\n )}\r\n {isLoading && Customer is deleting...}\r\n \r\n \r\n
\r\n \r\n Cancel\r\n \r\n <> \r\n \r\n Delete\r\n \r\n
\r\n
\r\n \r\n );\r\n}\r\n","import React, { useEffect, useMemo } from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { shallowEqual, useDispatch, useSelector } from \"react-redux\";\r\nimport * as actions from \"../../../_redux/CustomLabels/customersActions\";\r\nimport { useCustomersUIContext } from \"../CustomersUIContext\";\r\nimport {ModalProgressBar} from \"../../../../../../_metronic/_partials/controls\";\r\n\r\nexport function CustomersDeleteDialog({ show, onHide }) {\r\n // Customers UI Context\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n ids: customersUIContext.ids,\r\n setIds: customersUIContext.setIds,\r\n queryParams: customersUIContext.queryParams,\r\n };\r\n }, [customersUIContext]);\r\n\r\n // Customers Redux state\r\n const dispatch = useDispatch();\r\n const { isLoading } = useSelector(\r\n (state) => ({ isLoading: state.customers.actionsLoading }),\r\n shallowEqual\r\n );\r\n\r\n // if customers weren't selected we should close modal\r\n useEffect(() => {\r\n if (!customersUIProps.ids || customersUIProps.ids.length === 0) {\r\n onHide();\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [customersUIProps.ids]);\r\n\r\n // looking for loading/dispatch\r\n useEffect(() => {}, [isLoading, dispatch]);\r\n\r\n const deleteCustomers = () => {\r\n // server request for deleting customer by selected ids\r\n dispatch(actions.deleteCustomers(customersUIProps.ids)).then(() => {\r\n // refresh list after deletion\r\n dispatch(actions.fetchCustomers(customersUIProps.queryParams)).then(\r\n () => {\r\n // clear selections list\r\n customersUIProps.setIds([]);\r\n // closing delete modal\r\n onHide();\r\n }\r\n );\r\n });\r\n };\r\n\r\n return (\r\n \r\n {/*begin::Loading*/}\r\n {isLoading && }\r\n {/*end::Loading*/}\r\n \r\n \r\n Customers Delete\r\n \r\n \r\n \r\n {!isLoading && (\r\n Are you sure to permanently delete selected customers?\r\n )}\r\n {isLoading && Customer are deleting...}\r\n \r\n \r\n
\r\n \r\n Cancel\r\n \r\n <> \r\n \r\n Delete\r\n \r\n
\r\n
\r\n \r\n );\r\n}\r\n","import React, { useEffect, useMemo } from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { shallowEqual, useSelector } from \"react-redux\";\r\nimport { CustomerStatusCssClasses } from \"../CustomersUIHelpers\";\r\nimport { useCustomersUIContext } from \"../CustomersUIContext\";\r\n\r\nconst selectedCustomers = (entities, ids) => {\r\n const _customers = [];\r\n ids.forEach((id) => {\r\n const customer = entities.find((el) => el.id === id);\r\n if (customer) {\r\n _customers.push(customer);\r\n }\r\n });\r\n return _customers;\r\n};\r\n\r\nexport function CustomersFetchDialog({ show, onHide }) {\r\n // Customers UI Context\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n ids: customersUIContext.ids,\r\n };\r\n }, [customersUIContext]);\r\n\r\n // Customers Redux state\r\n const { customers } = useSelector(\r\n (state) => ({\r\n customers: selectedCustomers(\r\n state.customers.entities,\r\n customersUIProps.ids\r\n ),\r\n }),\r\n shallowEqual\r\n );\r\n\r\n // if customers weren't selected we should close modal\r\n useEffect(() => {\r\n if (!customersUIProps.ids || customersUIProps.ids.length === 0) {\r\n onHide();\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [customersUIProps.ids]);\r\n\r\n return (\r\n \r\n \r\n \r\n Fetch selected elements\r\n \r\n \r\n \r\n
\r\n {customers.map((customer) => (\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n ID: {customer.id}\r\n \r\n {customer.lastName}, {customer.firstName} \r\n
\r\n
\r\n ))}\r\n
\r\n \r\n \r\n
\r\n \r\n Cancel\r\n \r\n <> \r\n \r\n Ok\r\n \r\n
\r\n
\r\n \r\n );\r\n}\r\n","import React, { useEffect, useState, useMemo } from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { shallowEqual, useDispatch, useSelector } from \"react-redux\";\r\nimport { CustomerStatusCssClasses } from \"../CustomersUIHelpers\";\r\nimport * as actions from \"../../../_redux/CustomLabels/customersActions\";\r\nimport { useCustomersUIContext } from \"../CustomersUIContext\";\r\n\r\nconst selectedCustomers = (entities, ids) => {\r\n const _customers = [];\r\n ids.forEach((id) => {\r\n const customer = entities.find((el) => el.id === id);\r\n if (customer) {\r\n _customers.push(customer);\r\n }\r\n });\r\n return _customers;\r\n};\r\n\r\nexport function CustomersUpdateStateDialog({ show, onHide }) {\r\n // Customers UI Context\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n ids: customersUIContext.ids,\r\n setIds: customersUIContext.setIds,\r\n queryParams: customersUIContext.queryParams,\r\n };\r\n }, [customersUIContext]);\r\n\r\n // Customers Redux state\r\n const { customers, isLoading } = useSelector(\r\n (state) => ({\r\n customers: selectedCustomers(\r\n state.customers.entities,\r\n customersUIProps.ids\r\n ),\r\n isLoading: state.customers.actionsLoading,\r\n }),\r\n shallowEqual\r\n );\r\n\r\n // if !id we should close modal\r\n useEffect(() => {\r\n if (!customersUIProps.ids || customersUIProps.ids.length === 0) {\r\n onHide();\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [customersUIProps.ids]);\r\n\r\n const [status, setStatus] = useState(0);\r\n\r\n const dispatch = useDispatch();\r\n const updateStatus = () => {\r\n // server request for update customers status by selected ids\r\n dispatch(actions.updateCustomersStatus(customersUIProps.ids, status)).then(\r\n () => {\r\n // refresh list after deletion\r\n dispatch(actions.fetchCustomers(customersUIProps.queryParams)).then(\r\n () => {\r\n // clear selections list\r\n customersUIProps.setIds([]);\r\n // closing delete modal\r\n onHide();\r\n }\r\n );\r\n }\r\n );\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n Status has been updated for selected User\r\n \r\n \r\n \r\n {/*begin::Loading*/}\r\n {isLoading && (\r\n
\r\n
\r\n
\r\n )}\r\n {/*end::Loading*/}\r\n\r\n
\r\n {customers.map((customer) => (\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n ID: {customer.id}\r\n \r\n \r\n {customer.lastName}, {customer.firstName}\r\n \r\n
\r\n
\r\n ))}\r\n
\r\n \r\n \r\n
\r\n setStatus(+e.target.value)}\r\n >\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n Cancel\r\n \r\n \r\n Update Status\r\n \r\n
\r\n
\r\n \r\n );\r\n}\r\n","import React, { useMemo } from \"react\";\r\nimport { Formik } from \"formik\";\r\nimport { isEqual } from \"lodash\";\r\nimport { useCustomersUIContext } from \"../CustomersUIContext\";\r\nconst prepareFilter = (queryParams, values) => {\r\n const { status, type, searchText } = values;\r\n const newQueryParams = { ...queryParams };\r\n const filter = {};\r\n // Filter by status\r\n filter.status = status !== \"\" ? +status : undefined;\r\n // Filter by type\r\n filter.type = type !== \"\" ? +type : undefined;\r\n // Filter by all fields\r\n filter.lastName = searchText;\r\n if (searchText) {\r\n filter.firstName = searchText;\r\n filter.email = searchText;\r\n filter.ipAddress = searchText;\r\n }\r\n newQueryParams.filter = filter;\r\n return newQueryParams;\r\n};\r\n\r\nexport function CustomersFilter({ listLoading }) {\r\n // Customers UI Context\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n queryParams: customersUIContext.queryParams,\r\n setQueryParams: customersUIContext.setQueryParams,\r\n };\r\n }, [customersUIContext]);\r\n\r\n // queryParams, setQueryParams,\r\n const applyFilter = (values) => {\r\n const newQueryParams = prepareFilter(customersUIProps.queryParams, values);\r\n if (!isEqual(newQueryParams, customersUIProps.queryParams)) {\r\n newQueryParams.pageNumber = 1;\r\n // update list by queryParams\r\n customersUIProps.setQueryParams(newQueryParams);\r\n }\r\n };\r\n\r\n return (\r\n <>\r\n All=\"\"/Susspended=0/Active=1/Pending=2\r\n type: \"\", // values => All=\"\"/Business=0/Individual=1\r\n searchText: \"\",\r\n }}\r\n onSubmit={(values) => {\r\n applyFilter(values);\r\n }}\r\n >\r\n {({\r\n values,\r\n handleSubmit,\r\n handleBlur,\r\n handleChange,\r\n setFieldValue,\r\n }) => (\r\n
\r\n
\r\n )}\r\n \r\n \r\n );\r\n}\r\n","// please be familiar with react-bootstrap-table-next column formaters\r\n// https://react-bootstrap-table.github.io/react-bootstrap-table2/storybook/index.html?selectedKind=Work%20on%20Columns&selectedStory=Column%20Formatter&full=0&addons=1&stories=1&panelRight=0&addonPanel=storybook%2Factions%2Factions-panel\r\n/* eslint-disable no-script-url,jsx-a11y/anchor-is-valid */\r\nimport React from \"react\";\r\nimport SVG from \"react-inlinesvg\";\r\nimport { toAbsoluteUrl } from \"../../../../../../../_metronic/_helpers\";\r\n\r\nexport function ActionsColumnFormatter(\r\n cellContent,\r\n row,\r\n rowIndex,\r\n { openEditCustomerDialog }\r\n) {\r\n return (\r\n <>\r\n openEditCustomerDialog(row.id)}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n","// React bootstrap table next =>\r\n// DOCS: https://react-bootstrap-table.github.io/react-bootstrap-table2/docs/\r\n// STORYBOOK: https://react-bootstrap-table.github.io/react-bootstrap-table2/storybook/index.html\r\nimport React, { useEffect, useMemo } from \"react\";\r\nimport BootstrapTable from \"react-bootstrap-table-next\";\r\nimport paginationFactory, {\r\n PaginationProvider,\r\n} from \"react-bootstrap-table2-paginator\";\r\nimport { shallowEqual, useDispatch, useSelector } from \"react-redux\";\r\nimport * as actions from \"../../../_redux/CustomLabels/customersActions\";\r\nimport {\r\n getSelectRow,\r\n getHandlerTableChange,\r\n NoRecordsFoundMessage,\r\n PleaseWaitMessage,\r\n sortCaret,\r\n headerSortingClasses,\r\n} from \"../../../../../../_metronic/_helpers\";\r\nimport * as uiHelpers from \"../CustomersUIHelpers\";\r\nimport * as columnFormatters from \"./column-formatters\";\r\nimport { Pagination } from \"../../../../../../_metronic/_partials/controls\";\r\nimport { useCustomersUIContext } from \"../CustomersUIContext\";\r\n\r\nexport function CustomersTable() {\r\n // Customers UI Context\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n ids: customersUIContext.ids,\r\n setIds: customersUIContext.setIds,\r\n queryParams: customersUIContext.queryParams,\r\n setQueryParams: customersUIContext.setQueryParams,\r\n openEditCustomerDialog: customersUIContext.openEditCustomerDialog,\r\n openDeleteCustomerDialog: customersUIContext.openDeleteCustomerDialog,\r\n };\r\n }, [customersUIContext]);\r\n\r\n // Getting curret state of customers list from store (Redux)\r\n const { currentState } = useSelector(\r\n (state) => ({ currentState: state.customers }),\r\n shallowEqual\r\n );\r\n const { totalCount, entities, listLoading } = currentState;\r\n\r\n // Customers Redux state\r\n const dispatch = useDispatch();\r\n useEffect(() => {\r\n // clear selections list\r\n customersUIProps.setIds([]);\r\n // server call by queryParams\r\n dispatch(actions.fetchCustomers(customersUIProps.queryParams));\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [customersUIProps.queryParams, dispatch]);\r\n // Table columns\r\n const columns = [\r\n {\r\n dataField: \"id\",\r\n text: \"ID\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n headerSortingClasses,\r\n },\r\n {\r\n dataField: \"Name\",\r\n text: \"NAME\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n headerSortingClasses,\r\n },\r\n {\r\n dataField: \"Value\",\r\n text: \"VALUE\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n headerSortingClasses,\r\n },\r\n {\r\n dataField: \"action\",\r\n text: \"Actions\",\r\n formatter: columnFormatters.ActionsColumnFormatter,\r\n formatExtraData: {\r\n openEditCustomerDialog: customersUIProps.openEditCustomerDialog,\r\n openDeleteCustomerDialog: customersUIProps.openDeleteCustomerDialog,\r\n },\r\n classes: \"text-center pr-0\",\r\n headerClasses: \"text-center pr-3\",\r\n style: {\r\n minWidth: \"100px\",\r\n },\r\n },\r\n ];\r\n // Table pagination properties\r\n const paginationOptions = {\r\n custom: true,\r\n totalSize: totalCount,\r\n sizePerPageList: uiHelpers.sizePerPageList,\r\n sizePerPage: customersUIProps.queryParams.pageSize,\r\n page: customersUIProps.queryParams.pageNumber,\r\n };\r\n return (\r\n <>\r\n \r\n {({ paginationProps, paginationTableProps }) => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n }}\r\n \r\n \r\n );\r\n}\r\n","import React, { useMemo } from \"react\";\r\nimport { useCustomersUIContext } from \"../CustomersUIContext\";\r\n\r\nexport function CustomersGrouping() {\r\n // Customers UI Context\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n ids: customersUIContext.ids,\r\n setIds: customersUIContext.setIds,\r\n openDeleteCustomersDialog: customersUIContext.openDeleteCustomersDialog,\r\n openFetchCustomersDialog: customersUIContext.openFetchCustomersDialog,\r\n openUpdateCustomersStatusDialog:\r\n customersUIContext.openUpdateCustomersStatusDialog,\r\n };\r\n }, [customersUIContext]);\r\n\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n Delete All\r\n \r\n  \r\n
\r\n
\r\n
\r\n
\r\n
\r\n );\r\n}\r\n","import React, { useMemo } from \"react\";\r\nimport {\r\n Card,\r\n CardBody,\r\n CardHeader,\r\n CardHeaderToolbar,\r\n} from \"../../../../../_metronic/_partials/controls\";\r\nimport { CustomersFilter } from \"./customers-filter/CustomersFilter\";\r\nimport { CustomersTable } from \"./customers-table/CustomersTable\";\r\nimport { CustomersGrouping } from \"./customers-grouping/CustomersGrouping\";\r\nimport { useCustomersUIContext } from \"./CustomersUIContext\";\r\nimport {\r\n Button,\r\n InputGroup,\r\n FormControl,\r\n DropdownButton,\r\n Dropdown\r\n} from \"react-bootstrap\";\r\nexport function CustomersCard() {\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n ids: customersUIContext.ids,\r\n newCustomerButtonClick: customersUIContext.newCustomerButtonClick,\r\n };\r\n }, [customersUIContext]);\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {customersUIProps.ids.length > 0 && }\r\n \r\n \r\n \r\n );\r\n}\r\n","import React from \"react\";\r\nimport { Route } from \"react-router-dom\";\r\nimport { CustomersLoadingDialog } from \"./customers-loading-dialog/CustomersLoadingDialog\";\r\nimport { CustomerEditDialog } from \"./customer-edit-dialog/CustomerEditDialog\";\r\nimport { CustomerDeleteDialog } from \"./customer-delete-dialog/CustomerDeleteDialog\";\r\nimport { CustomersDeleteDialog } from \"./customers-delete-dialog/CustomersDeleteDialog\";\r\nimport { CustomersFetchDialog } from \"./customers-fetch-dialog/CustomersFetchDialog\";\r\nimport { CustomersUpdateStateDialog } from \"./customers-update-status-dialog/CustomersUpdateStateDialog\";\r\nimport { CustomersUIProvider } from \"./CustomersUIContext\";\r\nimport { CustomersCard } from \"./CustomersCard\";\r\n\r\nexport function CustomLabel({ history }) {\r\n const customersUIEvents = {\r\n newCustomerButtonClick: () => {\r\n history.push(\"/CustomLabels/new\");\r\n },\r\n openEditCustomerDialog: (id) => {\r\n history.push(`/CustomLabels/${id}/edit`);\r\n },\r\n openDeleteCustomerDialog: (id) => {\r\n history.push(`/CustomLabels/${id}/delete`);\r\n },\r\n openDeleteCustomersDialog: () => {\r\n history.push(`/CustomLabels/deleteCustomers`);\r\n },\r\n openFetchCustomersDialog: () => {\r\n history.push(`/CustomLabels/fetch`);\r\n },\r\n openUpdateCustomersStatusDialog: () => {\r\n history.push(\"/CustomLabels/updateStatus\");\r\n }\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n {({ history, match }) => (\r\n {\r\n history.push(\"/CustomLabels\");\r\n }}\r\n />\r\n )}\r\n \r\n \r\n {({ history, match }) => (\r\n {\r\n history.push(\"/CustomLabels\");\r\n }}\r\n />\r\n )}\r\n \r\n \r\n {({ history, match }) => (\r\n {\r\n history.push(\"/CustomLabels\");\r\n }}\r\n />\r\n )}\r\n \r\n \r\n {({ history, match }) => (\r\n {\r\n history.push(\"/CustomLabels\");\r\n }}\r\n />\r\n )}\r\n \r\n \r\n {({ history, match }) => (\r\n {\r\n history.push(\"/CustomLabels\");\r\n }}\r\n />\r\n )}\r\n \r\n \r\n {({ history, match }) => (\r\n {\r\n history.push(\"/CustomLabels\");\r\n }}\r\n />\r\n )}\r\n \r\n \r\n \r\n );\r\n}\r\n","import React, { useEffect } from \"react\";\r\nimport { shallowEqual, useSelector } from \"react-redux\";\r\nimport { LoadingDialog } from \"../../../../../../_metronic/_partials/controls\";\r\n\r\nexport function CustomersLoadingDialog() {\r\n // Customers Redux state\r\n const { isLoading } = useSelector(\r\n (state) => ({ isLoading: state.customers.listLoading }),\r\n shallowEqual\r\n );\r\n // looking for loading/dispatch\r\n useEffect(() => {}, [isLoading]);\r\n return ;\r\n}\r\n","import axios from \"axios\";\r\n\r\nexport const CUSTOMERS_URL = \"api/ManageSmartParcelCarriers\";\r\n\r\n// CREATE => POST: add a new customer to the server\r\nexport function createCustomer(customer) {\r\n return axios.post(CUSTOMERS_URL, { customer });\r\n}\r\n\r\n// READ\r\nexport function getAllCustomers() {\r\n return axios.get(CUSTOMERS_URL);\r\n}\r\n\r\nexport function getCustomerById(customerId) {\r\n return axios.get(`${CUSTOMERS_URL}/${customerId}`);\r\n}\r\n\r\n// Method from server should return QueryResultsModel(items: any[], totalsCount: number)\r\n// items => filtered/sorted result\r\nexport function findCustomers(queryParams) {\r\n return axios.post(`${CUSTOMERS_URL}/find`, { queryParams });\r\n}\r\n\r\n// UPDATE => PUT: update the customer on the server\r\nexport function updateCustomer(customer) {\r\n return axios.put(`${CUSTOMERS_URL}/${customer.id}`, { customer });\r\n}\r\n\r\n// UPDATE Status\r\nexport function updateStatusForCustomers(ids, status) {\r\n return axios.post(`${CUSTOMERS_URL}/updateStatusForCustomers`, {\r\n ids,\r\n status\r\n });\r\n}\r\n\r\n// DELETE => delete the customer from the server\r\nexport function deleteCustomer(customerId) {\r\n return axios.delete(`${CUSTOMERS_URL}/${customerId}`);\r\n}\r\n\r\n// DELETE Customers by ids\r\nexport function deleteCustomers(ids) {\r\n return axios.post(`${CUSTOMERS_URL}/deleteCustomers`, { ids });\r\n}\r\n","import {createSlice} from \"@reduxjs/toolkit\";\r\n\r\nconst initialCustomersState = {\r\n listLoading: false,\r\n actionsLoading: false,\r\n totalCount: 0,\r\n entities: null,\r\n customerForEdit: undefined,\r\n lastError: null\r\n};\r\nexport const callTypes = {\r\n list: \"list\",\r\n action: \"action\"\r\n};\r\n\r\nexport const customersSlice = createSlice({\r\n name: \"customers\",\r\n initialState: initialCustomersState,\r\n reducers: {\r\n catchError: (state, action) => {\r\n state.error = `${action.type}: ${action.payload.error}`;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = false;\r\n } else {\r\n state.actionsLoading = false;\r\n }\r\n },\r\n startCall: (state, action) => {\r\n state.error = null;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = true;\r\n } else {\r\n state.actionsLoading = true;\r\n }\r\n },\r\n // getCustomerById\r\n customerFetched: (state, action) => {\r\n state.actionsLoading = false;\r\n state.customerForEdit = action.payload.customerForEdit;\r\n state.error = null;\r\n },\r\n // findCustomers\r\n customersFetched: (state, action) => {\r\n const { totalCount, entities } = action.payload;\r\n state.listLoading = false;\r\n state.error = null;\r\n state.entities = entities;\r\n state.totalCount = totalCount;\r\n },\r\n // createCustomer\r\n customerCreated: (state, action) => {\r\n state.actionsLoading = false;\r\n state.error = null;\r\n state.entities.push(action.payload.customer);\r\n },\r\n // updateCustomer\r\n customerUpdated: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.map(entity => {\r\n if (entity.id === action.payload.customer.id) {\r\n return action.payload.customer;\r\n }\r\n return entity;\r\n });\r\n },\r\n // deleteCustomer\r\n customerDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(el => el.id !== action.payload.id);\r\n },\r\n // deleteCustomers\r\n customersDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(\r\n el => !action.payload.ids.includes(el.id)\r\n );\r\n },\r\n // customersUpdateState\r\n customersStatusUpdated: (state, action) => {\r\n state.actionsLoading = false;\r\n state.error = null;\r\n const { ids, status } = action.payload;\r\n state.entities = state.entities.map(entity => {\r\n if (ids.findIndex(id => id === entity.id) > -1) {\r\n entity.status = status;\r\n }\r\n return entity;\r\n });\r\n }\r\n }\r\n});\r\n","import * as requestFromServer from \"./customersCrud\";\r\nimport {customersSlice, callTypes} from \"./customersSlice\";\r\n\r\nconst {actions} = customersSlice;\r\n\r\nexport const fetchCustomers = queryParams => dispatch => {\r\n dispatch(actions.startCall({ callType: callTypes.list }));\r\n return requestFromServer\r\n .findCustomers(queryParams)\r\n .then(response => {\r\n const { totalCount, entities } = response.data;\r\n dispatch(actions.customersFetched({ totalCount, entities }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't find customers\";\r\n dispatch(actions.catchError({ error, callType: callTypes.list }));\r\n });\r\n};\r\n\r\nexport const fetchCustomer = id => dispatch => {\r\n if (!id) {\r\n return dispatch(actions.customerFetched({ customerForEdit: undefined }));\r\n }\r\n\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .getCustomerById(id)\r\n .then(response => {\r\n const customer = response.data;\r\n dispatch(actions.customerFetched({ customerForEdit: customer }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't find customer\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const deleteCustomer = id => dispatch => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .deleteCustomer(id)\r\n .then(response => {\r\n dispatch(actions.customerDeleted({ id }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't delete customer\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const createCustomer = customerForCreation => dispatch => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .createCustomer(customerForCreation)\r\n .then(response => {\r\n const { customer } = response.data;\r\n dispatch(actions.customerCreated({ customer }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't create customer\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const updateCustomer = customer => dispatch => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .updateCustomer(customer)\r\n .then(() => {\r\n dispatch(actions.customerUpdated({ customer }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't update customer\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const updateCustomersStatus = (ids, status) => dispatch => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .updateStatusForCustomers(ids, status)\r\n .then(() => {\r\n dispatch(actions.customersStatusUpdated({ ids, status }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't update customers status\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const deleteCustomers = ids => dispatch => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .deleteCustomers(ids)\r\n .then(() => {\r\n dispatch(actions.customersDeleted({ ids }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't delete customers\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n","import React, { useState, useEffect } from \"react\";\r\nimport { shallowEqual, useSelector } from \"react-redux\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport {ModalProgressBar} from \"../../../../../../_metronic/_partials/controls\";\r\n\r\nexport function CustomerEditDialogHeader({ id }) {\r\n // Customers Redux state\r\n const { customerForEdit, actionsLoading } = useSelector(\r\n (state) => ({\r\n customerForEdit: state.customers.customerForEdit,\r\n actionsLoading: state.customers.actionsLoading,\r\n }),\r\n shallowEqual\r\n );\r\n\r\n const [title, setTitle] = useState(\"\");\r\n // Title couting\r\n useEffect(() => {\r\n let _title = id ? \"\" : \"New Zone Billing\";\r\n if (customerForEdit && id) {\r\n _title = `Edit customer '${customerForEdit.firstName} ${customerForEdit.lastName}'`;\r\n }\r\n\r\n setTitle(_title);\r\n // eslint-disable-next-line\r\n }, [customerForEdit, actionsLoading]);\r\n\r\n return (\r\n <>\r\n {actionsLoading && }\r\n \r\n {title}\r\n \r\n \r\n );\r\n}\r\n","// Form is based on Formik\r\n// Data validation is based on Yup\r\n// Please, be familiar with article first:\r\n// https://hackernoon.com/react-form-validation-with-formik-and-yup-8b76bda62e10\r\nimport React from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { Formik, Form, Field } from \"formik\";\r\nimport * as Yup from \"yup\";\r\nimport {\r\n Input,\r\n Select,\r\n} from \"../../../../../../_metronic/_partials/controls\";\r\n\r\n// Validation schema\r\nconst CustomerEditSchema = Yup.object().shape({\r\n LoginUserName: Yup.string()\r\n .min(3, \"Minimum 3 symbols\")\r\n .max(50, \"Maximum 50 symbols\")\r\n .required(\"Login / User Name is required\"),\r\n Password: Yup.string()\r\n .min(8, \"Minimum 8 symbols\")\r\n .max(50, \"Maximum 50 symbols\")\r\n .required(\"Password is required\"),\r\n ConfirmPassword: Yup.string()\r\n .min(8, \"Minimum 8 symbols\")\r\n .max(50, \"Maximum 50 symbols\")\r\n .required(\"Password is required\"),\r\n email: Yup.string()\r\n .email(\"Invalid email\")\r\n .required(\"Email is required\"),\r\n Phone: Yup.string()\r\n .min(7, \"Minimum 7 Number\")\r\n .max(50, \"Maximum 50 Number\")\r\n .required(\"Phone Number is required\"),\r\n userName: Yup.string().required(\"Username is required\"),\r\n dateOfBbirth: Yup.mixed()\r\n .nullable(false)\r\n .required(\"Date of Birth is required\"),\r\n ipAddress: Yup.string().required(\"IP Address is required\"),\r\n});\r\n\r\nexport function CustomerEditForm({\r\n saveCustomer,\r\n customer,\r\n actionsLoading,\r\n onHide,\r\n}) {\r\n return (\r\n <>\r\n {\r\n saveCustomer(values);\r\n }}\r\n >\r\n {({ handleSubmit }) => (\r\n <>\r\n \r\n {actionsLoading && (\r\n
\r\n
\r\n
\r\n )}\r\n
\r\n
\r\n
\r\n
Zone Billing SELECT
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n {/* ZoneName */}\r\n \r\n
\r\n\r\n
\r\n {/* STARTZIP */}\r\n \r\n
\r\n \r\n
\r\n {/* ENDZIP */}\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n Cancel\r\n \r\n <> \r\n handleSubmit()}\r\n className=\"btn btn-success btn-elevate\"\r\n >\r\n Save\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n );\r\n}\r\n","export const CustomerStatusCssClasses = [\"danger\", \"success\", \"info\", \"\"];\r\nexport const CustomerStatusTitles = [\"Inactive\", \"Active\"];\r\nexport const CustomerTypeCssClasses = [\"success\", \"primary\", \"\"];\r\nexport const CustomerTypeTitles = [\"Business\", \"Individual\", \"\"];\r\nexport const defaultSorted = [{ dataField: \"id\", order: \"desc\" }];\r\nexport const sizePerPageList = [\r\n { text: \"3\", value: 3 },\r\n { text: \"5\", value: 5 },\r\n { text: \"10\", value: 10 }\r\n];\r\nexport const initialFilter = {\r\n filter: {\r\n lastName: \"\",\r\n firstName: \"\",\r\n email: \"\",\r\n ipAddress: \"\"\r\n },\r\n sortOrder: \"asc\", // asc||desc\r\n sortField: \"id\",\r\n pageNumber: 1,\r\n pageSize: 10\r\n};\r\n","import React, {createContext, useContext, useState, useCallback} from \"react\";\r\nimport {isEqual, isFunction} from \"lodash\";\r\nimport {initialFilter} from \"./CustomersUIHelpers\";\r\n\r\nconst CustomersUIContext = createContext();\r\n\r\nexport function useCustomersUIContext() {\r\n return useContext(CustomersUIContext);\r\n}\r\n\r\nexport const CustomersUIConsumer = CustomersUIContext.Consumer;\r\n\r\nexport function CustomersUIProvider({customersUIEvents, children}) {\r\n const [queryParams, setQueryParamsBase] = useState(initialFilter);\r\n const [ids, setIds] = useState([]);\r\n const setQueryParams = useCallback(nextQueryParams => {\r\n setQueryParamsBase(prevQueryParams => {\r\n if (isFunction(nextQueryParams)) {\r\n nextQueryParams = nextQueryParams(prevQueryParams);\r\n }\r\n\r\n if (isEqual(prevQueryParams, nextQueryParams)) {\r\n return prevQueryParams;\r\n }\r\n\r\n return nextQueryParams;\r\n });\r\n }, []);\r\n\r\n const initCustomer = {\r\n id: undefined,\r\n firstName: \"\",\r\n lastName: \"\",\r\n email: \"\",\r\n userName: \"\",\r\n gender: \"Female\",\r\n status: 0,\r\n dateOfBbirth: \"\",\r\n ipAddress: \"\",\r\n type: 1\r\n };\r\n\r\n const value = {\r\n queryParams,\r\n setQueryParamsBase,\r\n ids,\r\n setIds,\r\n setQueryParams,\r\n initCustomer,\r\n newCustomerButtonClick: customersUIEvents.newCustomerButtonClick,\r\n openEditCustomerDialog: customersUIEvents.openEditCustomerDialog,\r\n openDeleteCustomerDialog: customersUIEvents.openDeleteCustomerDialog,\r\n openDeleteCustomersDialog: customersUIEvents.openDeleteCustomersDialog,\r\n openFetchCustomersDialog: customersUIEvents.openFetchCustomersDialog,\r\n openUpdateCustomersStatusDialog: customersUIEvents.openUpdateCustomersStatusDialog\r\n };\r\n\r\n return {children};\r\n}","import React, { useEffect, useMemo } from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { shallowEqual, useDispatch, useSelector } from \"react-redux\";\r\nimport * as actions from \"../../../_redux/ManageSmartParcelCarriers/customersActions\";\r\nimport { CustomerEditDialogHeader } from \"./CustomerEditDialogHeader\";\r\nimport { CustomerEditForm } from \"./CustomerEditForm\";\r\nimport { useCustomersUIContext } from \"../CustomersUIContext\";\r\n\r\nexport function CustomerEditDialog({ id, show, onHide }) {\r\n // Customers UI Context\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n initCustomer: customersUIContext.initCustomer,\r\n };\r\n }, [customersUIContext]);\r\n\r\n // Customers Redux state\r\n const dispatch = useDispatch();\r\n const { actionsLoading, customerForEdit } = useSelector(\r\n (state) => ({\r\n actionsLoading: state.customers.actionsLoading,\r\n customerForEdit: state.customers.customerForEdit,\r\n }),\r\n shallowEqual\r\n );\r\n\r\n useEffect(() => {\r\n // server call for getting Customer by id\r\n dispatch(actions.fetchCustomer(id));\r\n }, [id, dispatch]);\r\n\r\n // server request for saving customer\r\n const saveCustomer = (customer) => {\r\n if (!id) {\r\n // server request for creating customer\r\n dispatch(actions.createCustomer(customer)).then(() => onHide());\r\n } else {\r\n // server request for updating customer\r\n dispatch(actions.updateCustomer(customer)).then(() => onHide());\r\n }\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n}\r\n","import React, { useEffect, useMemo } from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { shallowEqual, useDispatch, useSelector } from \"react-redux\";\r\nimport {ModalProgressBar} from \"../../../../../../_metronic/_partials/controls\";\r\nimport * as actions from \"../../../_redux/ManageSmartParcelCarriers/customersActions\";\r\nimport {useCustomersUIContext} from \"../CustomersUIContext\";\r\n\r\nexport function CustomerDeleteDialog({ id, show, onHide }) {\r\n // Customers UI Context\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n setIds: customersUIContext.setIds,\r\n queryParams: customersUIContext.queryParams\r\n };\r\n }, [customersUIContext]);\r\n\r\n // Customers Redux state\r\n const dispatch = useDispatch();\r\n const { isLoading } = useSelector(\r\n (state) => ({ isLoading: state.customers.actionsLoading }),\r\n shallowEqual\r\n );\r\n\r\n // if !id we should close modal\r\n useEffect(() => {\r\n if (!id) {\r\n onHide();\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [id]);\r\n\r\n // looking for loading/dispatch\r\n useEffect(() => {}, [isLoading, dispatch]);\r\n\r\n const deleteCustomer = () => {\r\n // server request for deleting customer by id\r\n dispatch(actions.deleteCustomer(id)).then(() => {\r\n // refresh list after deletion\r\n dispatch(actions.fetchCustomers(customersUIProps.queryParams));\r\n // clear selections list\r\n customersUIProps.setIds([]);\r\n // closing delete modal\r\n onHide();\r\n });\r\n };\r\n\r\n return (\r\n \r\n {/*begin::Loading*/}\r\n {isLoading && }\r\n {/*end::Loading*/}\r\n \r\n \r\n Customer Delete\r\n \r\n \r\n \r\n {!isLoading && (\r\n Are you sure to permanently delete this customer?\r\n )}\r\n {isLoading && Customer is deleting...}\r\n \r\n \r\n
\r\n \r\n Cancel\r\n \r\n <> \r\n \r\n Delete\r\n \r\n
\r\n
\r\n \r\n );\r\n}\r\n","import React, { useEffect, useMemo } from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { shallowEqual, useDispatch, useSelector } from \"react-redux\";\r\nimport * as actions from \"../../../_redux/ManageSmartParcelCarriers/customersActions\";\r\nimport { useCustomersUIContext } from \"../CustomersUIContext\";\r\nimport {ModalProgressBar} from \"../../../../../../_metronic/_partials/controls\";\r\n\r\nexport function CustomersDeleteDialog({ show, onHide }) {\r\n // Customers UI Context\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n ids: customersUIContext.ids,\r\n setIds: customersUIContext.setIds,\r\n queryParams: customersUIContext.queryParams,\r\n };\r\n }, [customersUIContext]);\r\n\r\n // Customers Redux state\r\n const dispatch = useDispatch();\r\n const { isLoading } = useSelector(\r\n (state) => ({ isLoading: state.customers.actionsLoading }),\r\n shallowEqual\r\n );\r\n\r\n // if customers weren't selected we should close modal\r\n useEffect(() => {\r\n if (!customersUIProps.ids || customersUIProps.ids.length === 0) {\r\n onHide();\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [customersUIProps.ids]);\r\n\r\n // looking for loading/dispatch\r\n useEffect(() => {}, [isLoading, dispatch]);\r\n\r\n const deleteCustomers = () => {\r\n // server request for deleting customer by selected ids\r\n dispatch(actions.deleteCustomers(customersUIProps.ids)).then(() => {\r\n // refresh list after deletion\r\n dispatch(actions.fetchCustomers(customersUIProps.queryParams)).then(\r\n () => {\r\n // clear selections list\r\n customersUIProps.setIds([]);\r\n // closing delete modal\r\n onHide();\r\n }\r\n );\r\n });\r\n };\r\n\r\n return (\r\n \r\n {/*begin::Loading*/}\r\n {isLoading && }\r\n {/*end::Loading*/}\r\n \r\n \r\n Customers Delete\r\n \r\n \r\n \r\n {!isLoading && (\r\n Are you sure to permanently delete selected customers?\r\n )}\r\n {isLoading && Customer are deleting...}\r\n \r\n \r\n
\r\n \r\n Cancel\r\n \r\n <> \r\n \r\n Delete\r\n \r\n
\r\n
\r\n \r\n );\r\n}\r\n","import React, { useEffect, useMemo } from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { shallowEqual, useSelector } from \"react-redux\";\r\nimport { CustomerStatusCssClasses } from \"../CustomersUIHelpers\";\r\nimport { useCustomersUIContext } from \"../CustomersUIContext\";\r\n\r\nconst selectedCustomers = (entities, ids) => {\r\n const _customers = [];\r\n ids.forEach((id) => {\r\n const customer = entities.find((el) => el.id === id);\r\n if (customer) {\r\n _customers.push(customer);\r\n }\r\n });\r\n return _customers;\r\n};\r\n\r\nexport function CustomersFetchDialog({ show, onHide }) {\r\n // Customers UI Context\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n ids: customersUIContext.ids,\r\n };\r\n }, [customersUIContext]);\r\n\r\n // Customers Redux state\r\n const { customers } = useSelector(\r\n (state) => ({\r\n customers: selectedCustomers(\r\n state.customers.entities,\r\n customersUIProps.ids\r\n ),\r\n }),\r\n shallowEqual\r\n );\r\n\r\n // if customers weren't selected we should close modal\r\n useEffect(() => {\r\n if (!customersUIProps.ids || customersUIProps.ids.length === 0) {\r\n onHide();\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [customersUIProps.ids]);\r\n\r\n return (\r\n \r\n \r\n \r\n Fetch selected elements\r\n \r\n \r\n \r\n
\r\n {customers.map((customer) => (\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n ID: {customer.id}\r\n \r\n {customer.lastName}, {customer.firstName} \r\n
\r\n
\r\n ))}\r\n
\r\n \r\n \r\n
\r\n \r\n Cancel\r\n \r\n <> \r\n \r\n Ok\r\n \r\n
\r\n
\r\n \r\n );\r\n}\r\n","import React, { useEffect, useState, useMemo } from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { shallowEqual, useDispatch, useSelector } from \"react-redux\";\r\nimport { CustomerStatusCssClasses } from \"../CustomersUIHelpers\";\r\nimport * as actions from \"../../../_redux/ManageSmartParcelCarriers/customersActions\";\r\nimport { useCustomersUIContext } from \"../CustomersUIContext\";\r\n\r\nconst selectedCustomers = (entities, ids) => {\r\n const _customers = [];\r\n ids.forEach((id) => {\r\n const customer = entities.find((el) => el.id === id);\r\n if (customer) {\r\n _customers.push(customer);\r\n }\r\n });\r\n return _customers;\r\n};\r\n\r\nexport function CustomersUpdateStateDialog({ show, onHide }) {\r\n // Customers UI Context\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n ids: customersUIContext.ids,\r\n setIds: customersUIContext.setIds,\r\n queryParams: customersUIContext.queryParams,\r\n };\r\n }, [customersUIContext]);\r\n\r\n // Customers Redux state\r\n const { customers, isLoading } = useSelector(\r\n (state) => ({\r\n customers: selectedCustomers(\r\n state.customers.entities,\r\n customersUIProps.ids\r\n ),\r\n isLoading: state.customers.actionsLoading,\r\n }),\r\n shallowEqual\r\n );\r\n\r\n // if !id we should close modal\r\n useEffect(() => {\r\n if (!customersUIProps.ids || customersUIProps.ids.length === 0) {\r\n onHide();\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [customersUIProps.ids]);\r\n\r\n const [status, setStatus] = useState(0);\r\n\r\n const dispatch = useDispatch();\r\n const updateStatus = () => {\r\n // server request for update customers status by selected ids\r\n dispatch(actions.updateCustomersStatus(customersUIProps.ids, status)).then(\r\n () => {\r\n // refresh list after deletion\r\n dispatch(actions.fetchCustomers(customersUIProps.queryParams)).then(\r\n () => {\r\n // clear selections list\r\n customersUIProps.setIds([]);\r\n // closing delete modal\r\n onHide();\r\n }\r\n );\r\n }\r\n );\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n Status has been updated for selected User\r\n \r\n \r\n \r\n {/*begin::Loading*/}\r\n {isLoading && (\r\n
\r\n
\r\n
\r\n )}\r\n {/*end::Loading*/}\r\n\r\n
\r\n {customers.map((customer) => (\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n ID: {customer.id}\r\n \r\n \r\n {customer.lastName}, {customer.firstName}\r\n \r\n
\r\n
\r\n ))}\r\n
\r\n \r\n \r\n
\r\n setStatus(+e.target.value)}\r\n >\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n Cancel\r\n \r\n \r\n Update Status\r\n \r\n
\r\n
\r\n \r\n );\r\n}\r\n","import React from \"react\";\r\n\r\n\r\nexport function CustomersFilter({ listLoading }) {\r\n // Customers UI Context\r\n\r\n\r\n return (\r\n
\r\n

\r\n 3PL SETTINGS\r\n

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

\r\n CARRIER SETTINGS\r\n

\r\n \r\n Click on the 'pencil' to edit the carrier settings\r\n \r\n
\r\n );\r\n}","// React bootstrap table next =>\r\n// DOCS: https://react-bootstrap-table.github.io/react-bootstrap-table2/docs/\r\n// STORYBOOK: https://react-bootstrap-table.github.io/react-bootstrap-table2/storybook/index.html\r\nimport React, { useEffect, useMemo } from \"react\";\r\nimport BootstrapTable from \"react-bootstrap-table-next\";\r\nimport paginationFactory, {\r\n PaginationProvider,\r\n} from \"react-bootstrap-table2-paginator\";\r\nimport { shallowEqual, useDispatch, useSelector } from \"react-redux\";\r\nimport * as actions from \"../../../_redux/ManageSmartParcelCarriers/customersActions\";\r\nimport {\r\n getSelectRow,\r\n getHandlerTableChange,\r\n NoRecordsFoundMessage,\r\n PleaseWaitMessage,\r\n sortCaret,\r\n headerSortingClasses,\r\n} from \"../../../../../../_metronic/_helpers\";\r\nimport * as uiHelpers from \"../CustomersUIHelpers\";\r\nimport * as columnFormatters from \"./column-formatters\";\r\nimport { Pagination } from \"../../../../../../_metronic/_partials/controls\";\r\nimport { useCustomersUIContext } from \"../CustomersUIContext\";\r\n\r\nexport function CustomersTable() {\r\n // Customers UI Context\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n ids: customersUIContext.ids,\r\n setIds: customersUIContext.setIds,\r\n queryParams: customersUIContext.queryParams,\r\n setQueryParams: customersUIContext.setQueryParams,\r\n openEditCustomerDialog: customersUIContext.openEditCustomerDialog,\r\n openDeleteCustomerDialog: customersUIContext.openDeleteCustomerDialog,\r\n };\r\n }, [customersUIContext]);\r\n\r\n // Getting curret state of customers list from store (Redux)\r\n const { currentState } = useSelector(\r\n (state) => ({ currentState: state.customers }),\r\n shallowEqual\r\n );\r\n const { totalCount, entities, listLoading } = currentState;\r\n\r\n // Customers Redux state\r\n const dispatch = useDispatch();\r\n useEffect(() => {\r\n // clear selections list\r\n customersUIProps.setIds([]);\r\n // server call by queryParams\r\n dispatch(actions.fetchCustomers(customersUIProps.queryParams));\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [customersUIProps.queryParams, dispatch]);\r\n // Table columns\r\n const columns = [\r\n {\r\n dataField: \"id\",\r\n text: \"ID\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n headerSortingClasses,\r\n },\r\n {\r\n dataField: \"CUSTOMERNAME\",\r\n text: \"CUSTOMERNAME\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n headerSortingClasses,\r\n },\r\n {\r\n dataField: \"FACILITY\",\r\n text: \"FACILITY\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n headerSortingClasses,\r\n },\r\n ];\r\n // Table pagination properties\r\n const paginationOptions = {\r\n custom: true,\r\n totalSize: totalCount,\r\n sizePerPageList: uiHelpers.sizePerPageList,\r\n sizePerPage: customersUIProps.queryParams.pageSize,\r\n page: customersUIProps.queryParams.pageNumber,\r\n };\r\n return (\r\n <>\r\n \r\n {({ paginationProps, paginationTableProps }) => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n }}\r\n \r\n \r\n );\r\n}\r\n","import React, { useMemo } from \"react\";\r\nimport { useCustomersUIContext } from \"../CustomersUIContext\";\r\n\r\nexport function CustomersGrouping() {\r\n // Customers UI Context\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n ids: customersUIContext.ids,\r\n setIds: customersUIContext.setIds,\r\n openDeleteCustomersDialog: customersUIContext.openDeleteCustomersDialog,\r\n openFetchCustomersDialog: customersUIContext.openFetchCustomersDialog,\r\n openUpdateCustomersStatusDialog:\r\n customersUIContext.openUpdateCustomersStatusDialog,\r\n };\r\n }, [customersUIContext]);\r\n\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n Delete All\r\n \r\n  \r\n
\r\n
\r\n
\r\n
\r\n
\r\n );\r\n}\r\n","import React, { useMemo } from \"react\";\r\nimport {\r\n Card,\r\n CardBody,\r\n CardHeader,\r\n CardHeaderToolbar,\r\n} from \"../../../../../_metronic/_partials/controls\";\r\nimport { CustomersFilter } from \"./customers-filter/CustomersFilter\";\r\nimport { CustomersTable } from \"./customers-table/CustomersTable\";\r\nimport { CustomersGrouping } from \"./customers-grouping/CustomersGrouping\";\r\nimport { useCustomersUIContext } from \"./CustomersUIContext\";\r\nexport function CustomersCard() {\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n ids: customersUIContext.ids,\r\n newCustomerButtonClick: customersUIContext.newCustomerButtonClick,\r\n };\r\n }, [customersUIContext]);\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {customersUIProps.ids.length > 0 && }\r\n \r\n \r\n \r\n );\r\n}\r\n","import React from \"react\";\r\nimport { Route } from \"react-router-dom\";\r\nimport { CustomersLoadingDialog } from \"./customers-loading-dialog/CustomersLoadingDialog\";\r\nimport { CustomerEditDialog } from \"./customer-edit-dialog/CustomerEditDialog\";\r\nimport { CustomerDeleteDialog } from \"./customer-delete-dialog/CustomerDeleteDialog\";\r\nimport { CustomersDeleteDialog } from \"./customers-delete-dialog/CustomersDeleteDialog\";\r\nimport { CustomersFetchDialog } from \"./customers-fetch-dialog/CustomersFetchDialog\";\r\nimport { CustomersUpdateStateDialog } from \"./customers-update-status-dialog/CustomersUpdateStateDialog\";\r\nimport { CustomersUIProvider } from \"./CustomersUIContext\";\r\nimport { CustomersCard } from \"./CustomersCard\";\r\n\r\nexport function ManageSmartParcelCarriers({ history }) {\r\n const customersUIEvents = {\r\n newCustomerButtonClick: () => {\r\n history.push(\"/ManageSmartParcelCarriers/new\");\r\n },\r\n openEditCustomerDialog: (id) => {\r\n history.push(`/ManageSmartParcelCarriers/${id}/edit`);\r\n },\r\n openDeleteCustomerDialog: (id) => {\r\n history.push(`/ManageSmartParcelCarriers/${id}/delete`);\r\n },\r\n openDeleteCustomersDialog: () => {\r\n history.push(`/ManageSmartParcelCarriers/deleteCustomers`);\r\n },\r\n openFetchCustomersDialog: () => {\r\n history.push(`/ManageSmartParcelCarriers/fetch`);\r\n },\r\n openUpdateCustomersStatusDialog: () => {\r\n history.push(\"/ManageSmartParcelCarriers/updateStatus\");\r\n }\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n {({ history, match }) => (\r\n {\r\n history.push(\"/ManageSmartParcelCarriers\");\r\n }}\r\n />\r\n )}\r\n \r\n \r\n {({ history, match }) => (\r\n {\r\n history.push(\"/ManageSmartParcelCarriers\");\r\n }}\r\n />\r\n )}\r\n \r\n \r\n {({ history, match }) => (\r\n {\r\n history.push(\"/ManageSmartParcelCarriers\");\r\n }}\r\n />\r\n )}\r\n \r\n \r\n {({ history, match }) => (\r\n {\r\n history.push(\"/ManageSmartParcelCarriers\");\r\n }}\r\n />\r\n )}\r\n \r\n \r\n {({ history, match }) => (\r\n {\r\n history.push(\"/ManageSmartParcelCarriers\");\r\n }}\r\n />\r\n )}\r\n \r\n \r\n {({ history, match }) => (\r\n {\r\n history.push(\"/ManageSmartParcelCarriers\");\r\n }}\r\n />\r\n )}\r\n \r\n \r\n \r\n );\r\n}\r\n","import React, { useEffect } from \"react\";\r\nimport { shallowEqual, useSelector } from \"react-redux\";\r\nimport { LoadingDialog } from \"../../../../../../_metronic/_partials/controls\";\r\n\r\nexport function CustomersLoadingDialog() {\r\n // Customers Redux state\r\n const { isLoading } = useSelector(\r\n (state) => ({ isLoading: state.customers.listLoading }),\r\n shallowEqual\r\n );\r\n // looking for loading/dispatch\r\n useEffect(() => {}, [isLoading]);\r\n return ;\r\n}\r\n","import axios from \"axios\";\r\n\r\nexport const CUSTOMERS_URL = \"api/FreezeTransactions\";\r\n\r\n// CREATE => POST: add a new customer to the server\r\nexport function createCustomer(customer) {\r\n return axios.post(CUSTOMERS_URL, { customer });\r\n}\r\n\r\n// READ\r\nexport function getAllCustomers() {\r\n return axios.get(CUSTOMERS_URL);\r\n}\r\n\r\nexport function getCustomerById(customerId) {\r\n return axios.get(`${CUSTOMERS_URL}/${customerId}`);\r\n}\r\n\r\n// Method from server should return QueryResultsModel(items: any[], totalsCount: number)\r\n// items => filtered/sorted result\r\nexport function findCustomers(queryParams) {\r\n return axios.post(`${CUSTOMERS_URL}/find`, { queryParams });\r\n}\r\n\r\n// UPDATE => PUT: update the customer on the server\r\nexport function updateCustomer(customer) {\r\n return axios.put(`${CUSTOMERS_URL}/${customer.id}`, { customer });\r\n}\r\n\r\n// UPDATE Status\r\nexport function updateStatusForCustomers(ids, status) {\r\n return axios.post(`${CUSTOMERS_URL}/updateStatusForCustomers`, {\r\n ids,\r\n status\r\n });\r\n}\r\n\r\n// DELETE => delete the customer from the server\r\nexport function deleteCustomer(customerId) {\r\n return axios.delete(`${CUSTOMERS_URL}/${customerId}`);\r\n}\r\n\r\n// DELETE Customers by ids\r\nexport function deleteCustomers(ids) {\r\n return axios.post(`${CUSTOMERS_URL}/deleteCustomers`, { ids });\r\n}\r\n","import {createSlice} from \"@reduxjs/toolkit\";\r\n\r\nconst initialCustomersState = {\r\n listLoading: false,\r\n actionsLoading: false,\r\n totalCount: 0,\r\n entities: null,\r\n customerForEdit: undefined,\r\n lastError: null\r\n};\r\nexport const callTypes = {\r\n list: \"list\",\r\n action: \"action\"\r\n};\r\n\r\nexport const customersSlice = createSlice({\r\n name: \"customers\",\r\n initialState: initialCustomersState,\r\n reducers: {\r\n catchError: (state, action) => {\r\n state.error = `${action.type}: ${action.payload.error}`;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = false;\r\n } else {\r\n state.actionsLoading = false;\r\n }\r\n },\r\n startCall: (state, action) => {\r\n state.error = null;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = true;\r\n } else {\r\n state.actionsLoading = true;\r\n }\r\n },\r\n // getCustomerById\r\n customerFetched: (state, action) => {\r\n state.actionsLoading = false;\r\n state.customerForEdit = action.payload.customerForEdit;\r\n state.error = null;\r\n },\r\n // findCustomers\r\n customersFetched: (state, action) => {\r\n const { totalCount, entities } = action.payload;\r\n state.listLoading = false;\r\n state.error = null;\r\n state.entities = entities;\r\n state.totalCount = totalCount;\r\n },\r\n // createCustomer\r\n customerCreated: (state, action) => {\r\n state.actionsLoading = false;\r\n state.error = null;\r\n state.entities.push(action.payload.customer);\r\n },\r\n // updateCustomer\r\n customerUpdated: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.map(entity => {\r\n if (entity.id === action.payload.customer.id) {\r\n return action.payload.customer;\r\n }\r\n return entity;\r\n });\r\n },\r\n // deleteCustomer\r\n customerDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(el => el.id !== action.payload.id);\r\n },\r\n // deleteCustomers\r\n customersDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(\r\n el => !action.payload.ids.includes(el.id)\r\n );\r\n },\r\n // customersUpdateState\r\n customersStatusUpdated: (state, action) => {\r\n state.actionsLoading = false;\r\n state.error = null;\r\n const { ids, status } = action.payload;\r\n state.entities = state.entities.map(entity => {\r\n if (ids.findIndex(id => id === entity.id) > -1) {\r\n entity.status = status;\r\n }\r\n return entity;\r\n });\r\n }\r\n }\r\n});\r\n","import * as requestFromServer from \"./customersCrud\";\r\nimport {customersSlice, callTypes} from \"./customersSlice\";\r\n\r\nconst {actions} = customersSlice;\r\n\r\nexport const fetchCustomers = queryParams => dispatch => {\r\n dispatch(actions.startCall({ callType: callTypes.list }));\r\n return requestFromServer\r\n .findCustomers(queryParams)\r\n .then(response => {\r\n const { totalCount, entities } = response.data;\r\n dispatch(actions.customersFetched({ totalCount, entities }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't find customers\";\r\n dispatch(actions.catchError({ error, callType: callTypes.list }));\r\n });\r\n};\r\n\r\nexport const fetchCustomer = id => dispatch => {\r\n if (!id) {\r\n return dispatch(actions.customerFetched({ customerForEdit: undefined }));\r\n }\r\n\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .getCustomerById(id)\r\n .then(response => {\r\n const customer = response.data;\r\n dispatch(actions.customerFetched({ customerForEdit: customer }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't find customer\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const deleteCustomer = id => dispatch => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .deleteCustomer(id)\r\n .then(response => {\r\n dispatch(actions.customerDeleted({ id }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't delete customer\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const createCustomer = customerForCreation => dispatch => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .createCustomer(customerForCreation)\r\n .then(response => {\r\n const { customer } = response.data;\r\n dispatch(actions.customerCreated({ customer }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't create customer\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const updateCustomer = customer => dispatch => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .updateCustomer(customer)\r\n .then(() => {\r\n dispatch(actions.customerUpdated({ customer }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't update customer\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const updateCustomersStatus = (ids, status) => dispatch => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .updateStatusForCustomers(ids, status)\r\n .then(() => {\r\n dispatch(actions.customersStatusUpdated({ ids, status }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't update customers status\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const deleteCustomers = ids => dispatch => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .deleteCustomers(ids)\r\n .then(() => {\r\n dispatch(actions.customersDeleted({ ids }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't delete customers\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n","import React, { useState, useEffect } from \"react\";\r\nimport { shallowEqual, useSelector } from \"react-redux\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport {ModalProgressBar} from \"../../../../../../_metronic/_partials/controls\";\r\n\r\nexport function CustomerEditDialogHeader({ id }) {\r\n // Customers Redux state\r\n const { customerForEdit, actionsLoading } = useSelector(\r\n (state) => ({\r\n customerForEdit: state.customers.customerForEdit,\r\n actionsLoading: state.customers.actionsLoading,\r\n }),\r\n shallowEqual\r\n );\r\n\r\n const [title, setTitle] = useState(\"\");\r\n // Title couting\r\n useEffect(() => {\r\n let _title = id ? \"\" : \"New TPL Scale\";\r\n if (customerForEdit && id) {\r\n _title = `Edit customer '${customerForEdit.Description}'`;\r\n }\r\n\r\n setTitle(_title);\r\n // eslint-disable-next-line\r\n }, [customerForEdit, actionsLoading]);\r\n\r\n return (\r\n <>\r\n {actionsLoading && }\r\n \r\n {title}\r\n \r\n \r\n );\r\n}\r\n","// Form is based on Formik\r\n// Data validation is based on Yup\r\n// Please, be familiar with article first:\r\n// https://hackernoon.com/react-form-validation-with-formik-and-yup-8b76bda62e10\r\nimport React from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { Formik, Form } from \"formik\";\r\nimport * as Yup from \"yup\";\r\nimport TextField from '@material-ui/core/TextField';\r\nimport { makeStyles } from '@material-ui/core/styles';\r\n// Validation schema\r\nconst CustomerEditSchema = Yup.object().shape({\r\n LoginUserName: Yup.string()\r\n .min(3, \"Minimum 3 symbols\")\r\n .max(50, \"Maximum 50 symbols\")\r\n .required(\"Login / User Name is required\"),\r\n Password: Yup.string()\r\n .min(8, \"Minimum 8 symbols\")\r\n .max(50, \"Maximum 50 symbols\")\r\n .required(\"Password is required\"),\r\n ConfirmPassword: Yup.string()\r\n .min(8, \"Minimum 8 symbols\")\r\n .max(50, \"Maximum 50 symbols\")\r\n .required(\"Password is required\"),\r\n email: Yup.string()\r\n .email(\"Invalid email\")\r\n .required(\"Email is required\"),\r\n Phone: Yup.string()\r\n .min(7, \"Minimum 7 Number\")\r\n .max(50, \"Maximum 50 Number\")\r\n .required(\"Phone Number is required\"),\r\n userName: Yup.string().required(\"Username is required\"),\r\n dateOfBbirth: Yup.mixed()\r\n .nullable(false)\r\n .required(\"Date of Birth is required\"),\r\n ipAddress: Yup.string().required(\"IP Address is required\"),\r\n});\r\nconst useStyles = makeStyles(theme => ({\r\n container: {\r\n display: 'flex',\r\n flexWrap: 'wrap',\r\n },\r\n textField: {\r\n marginLeft: theme.spacing(1),\r\n marginRight: theme.spacing(1),\r\n },\r\n dense: {\r\n marginTop: theme.spacing(2),\r\n },\r\n menu: {\r\n width: 200,\r\n },\r\n}));\r\n\r\nexport function CustomerEditForm({\r\n saveCustomer,\r\n customer,\r\n actionsLoading,\r\n onHide,\r\n}) {\r\n const classes = useStyles();\r\n const [values, setValues] = React.useState({\r\n name: '',\r\n age: '',\r\n multiline: 'Controlled',\r\n currency: 'EUR',\r\n });\r\n\r\n const handleChange = name => event => {\r\n setValues({ ...values, [name]: event.target.value });\r\n };\r\n return (\r\n <>\r\n {\r\n saveCustomer(values);\r\n }}\r\n >\r\n {({ handleSubmit }) => (\r\n <>\r\n \r\n {actionsLoading && (\r\n
\r\n
\r\n
\r\n )}\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n Cancel\r\n \r\n <> \r\n handleSubmit()}\r\n className=\"btn btn-success btn-elevate\"\r\n >\r\n Save\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n );\r\n}\r\n","export const CustomerStatusCssClasses = [\"danger\", \"success\", \"info\", \"\"];\r\nexport const CustomerStatusTitles = [\"Inactive\", \"Active\"];\r\nexport const CustomerTypeCssClasses = [\"success\", \"primary\", \"\"];\r\nexport const CustomerTypeTitles = [\"Business\", \"Individual\", \"\"];\r\nexport const defaultSorted = [{ dataField: \"id\", order: \"desc\" }];\r\nexport const sizePerPageList = [\r\n { text: \"3\", value: 3 },\r\n { text: \"5\", value: 5 },\r\n { text: \"10\", value: 10 }\r\n];\r\nexport const initialFilter = {\r\n filter: {\r\n lastName: \"\",\r\n firstName: \"\",\r\n email: \"\",\r\n ipAddress: \"\"\r\n },\r\n sortOrder: \"asc\", // asc||desc\r\n sortField: \"id\",\r\n pageNumber: 1,\r\n pageSize: 10\r\n};\r\n","import React, {createContext, useContext, useState, useCallback} from \"react\";\r\nimport {isEqual, isFunction} from \"lodash\";\r\nimport {initialFilter} from \"./CustomersUIHelpers\";\r\n\r\nconst CustomersUIContext = createContext();\r\n\r\nexport function useCustomersUIContext() {\r\n return useContext(CustomersUIContext);\r\n}\r\n\r\nexport const CustomersUIConsumer = CustomersUIContext.Consumer;\r\n\r\nexport function CustomersUIProvider({customersUIEvents, children}) {\r\n const [queryParams, setQueryParamsBase] = useState(initialFilter);\r\n const [ids, setIds] = useState([]);\r\n const setQueryParams = useCallback(nextQueryParams => {\r\n setQueryParamsBase(prevQueryParams => {\r\n if (isFunction(nextQueryParams)) {\r\n nextQueryParams = nextQueryParams(prevQueryParams);\r\n }\r\n\r\n if (isEqual(prevQueryParams, nextQueryParams)) {\r\n return prevQueryParams;\r\n }\r\n\r\n return nextQueryParams;\r\n });\r\n }, []);\r\n\r\n const initCustomer = {\r\n id: undefined,\r\n firstName: \"\",\r\n lastName: \"\",\r\n email: \"\",\r\n userName: \"\",\r\n gender: \"Female\",\r\n status: 0,\r\n dateOfBbirth: \"\",\r\n ipAddress: \"\",\r\n type: 1\r\n };\r\n\r\n const value = {\r\n queryParams,\r\n setQueryParamsBase,\r\n ids,\r\n setIds,\r\n setQueryParams,\r\n initCustomer,\r\n newCustomerButtonClick: customersUIEvents.newCustomerButtonClick,\r\n openEditCustomerDialog: customersUIEvents.openEditCustomerDialog,\r\n openDeleteCustomerDialog: customersUIEvents.openDeleteCustomerDialog,\r\n openDeleteCustomersDialog: customersUIEvents.openDeleteCustomersDialog,\r\n openFetchCustomersDialog: customersUIEvents.openFetchCustomersDialog,\r\n openUpdateCustomersStatusDialog: customersUIEvents.openUpdateCustomersStatusDialog\r\n };\r\n\r\n return {children};\r\n}","import React, { useEffect, useMemo } from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { shallowEqual, useDispatch, useSelector } from \"react-redux\";\r\nimport * as actions from \"../../../_redux/FreezeTransactions/customersActions\";\r\nimport { CustomerEditDialogHeader } from \"./CustomerEditDialogHeader\";\r\nimport { CustomerEditForm } from \"./CustomerEditForm\";\r\nimport { useCustomersUIContext } from \"../CustomersUIContext\";\r\n\r\nexport function CustomerEditDialog({ id, show, onHide }) {\r\n // Customers UI Context\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n initCustomer: customersUIContext.initCustomer,\r\n };\r\n }, [customersUIContext]);\r\n\r\n // Customers Redux state\r\n const dispatch = useDispatch();\r\n const { actionsLoading, customerForEdit } = useSelector(\r\n (state) => ({\r\n actionsLoading: state.customers.actionsLoading,\r\n customerForEdit: state.customers.customerForEdit,\r\n }),\r\n shallowEqual\r\n );\r\n\r\n useEffect(() => {\r\n // server call for getting Customer by id\r\n dispatch(actions.fetchCustomer(id));\r\n }, [id, dispatch]);\r\n\r\n // server request for saving customer\r\n const saveCustomer = (customer) => {\r\n if (!id) {\r\n // server request for creating customer\r\n dispatch(actions.createCustomer(customer)).then(() => onHide());\r\n } else {\r\n // server request for updating customer\r\n dispatch(actions.updateCustomer(customer)).then(() => onHide());\r\n }\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n}\r\n","import React, { useEffect, useMemo } from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { shallowEqual, useDispatch, useSelector } from \"react-redux\";\r\nimport {ModalProgressBar} from \"../../../../../../_metronic/_partials/controls\";\r\nimport * as actions from \"../../../_redux/FreezeTransactions/customersActions\";\r\nimport {useCustomersUIContext} from \"../CustomersUIContext\";\r\n\r\nexport function CustomerDeleteDialog({ id, show, onHide }) {\r\n // Customers UI Context\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n setIds: customersUIContext.setIds,\r\n queryParams: customersUIContext.queryParams\r\n };\r\n }, [customersUIContext]);\r\n\r\n // Customers Redux state\r\n const dispatch = useDispatch();\r\n const { isLoading } = useSelector(\r\n (state) => ({ isLoading: state.customers.actionsLoading }),\r\n shallowEqual\r\n );\r\n\r\n // if !id we should close modal\r\n useEffect(() => {\r\n if (!id) {\r\n onHide();\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [id]);\r\n\r\n // looking for loading/dispatch\r\n useEffect(() => {}, [isLoading, dispatch]);\r\n\r\n const deleteCustomer = () => {\r\n // server request for deleting customer by id\r\n dispatch(actions.deleteCustomer(id)).then(() => {\r\n // refresh list after deletion\r\n dispatch(actions.fetchCustomers(customersUIProps.queryParams));\r\n // clear selections list\r\n customersUIProps.setIds([]);\r\n // closing delete modal\r\n onHide();\r\n });\r\n };\r\n\r\n return (\r\n \r\n {/*begin::Loading*/}\r\n {isLoading && }\r\n {/*end::Loading*/}\r\n \r\n \r\n Customer Delete\r\n \r\n \r\n \r\n {!isLoading && (\r\n Are you sure to permanently delete this customer?\r\n )}\r\n {isLoading && Customer is deleting...}\r\n \r\n \r\n
\r\n \r\n Cancel\r\n \r\n <> \r\n \r\n Delete\r\n \r\n
\r\n
\r\n \r\n );\r\n}\r\n","import React, { useEffect, useMemo } from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { shallowEqual, useDispatch, useSelector } from \"react-redux\";\r\nimport * as actions from \"../../../_redux/FreezeTransactions/customersActions\";\r\nimport { useCustomersUIContext } from \"../CustomersUIContext\";\r\nimport {ModalProgressBar} from \"../../../../../../_metronic/_partials/controls\";\r\n\r\nexport function CustomersDeleteDialog({ show, onHide }) {\r\n // Customers UI Context\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n ids: customersUIContext.ids,\r\n setIds: customersUIContext.setIds,\r\n queryParams: customersUIContext.queryParams,\r\n };\r\n }, [customersUIContext]);\r\n\r\n // Customers Redux state\r\n const dispatch = useDispatch();\r\n const { isLoading } = useSelector(\r\n (state) => ({ isLoading: state.customers.actionsLoading }),\r\n shallowEqual\r\n );\r\n\r\n // if customers weren't selected we should close modal\r\n useEffect(() => {\r\n if (!customersUIProps.ids || customersUIProps.ids.length === 0) {\r\n onHide();\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [customersUIProps.ids]);\r\n\r\n // looking for loading/dispatch\r\n useEffect(() => {}, [isLoading, dispatch]);\r\n\r\n const deleteCustomers = () => {\r\n // server request for deleting customer by selected ids\r\n dispatch(actions.deleteCustomers(customersUIProps.ids)).then(() => {\r\n // refresh list after deletion\r\n dispatch(actions.fetchCustomers(customersUIProps.queryParams)).then(\r\n () => {\r\n // clear selections list\r\n customersUIProps.setIds([]);\r\n // closing delete modal\r\n onHide();\r\n }\r\n );\r\n });\r\n };\r\n\r\n return (\r\n \r\n {/*begin::Loading*/}\r\n {isLoading && }\r\n {/*end::Loading*/}\r\n \r\n \r\n Customers Delete\r\n \r\n \r\n \r\n {!isLoading && (\r\n Are you sure to permanently delete selected customers?\r\n )}\r\n {isLoading && Customer are deleting...}\r\n \r\n \r\n
\r\n \r\n Cancel\r\n \r\n <> \r\n \r\n Delete\r\n \r\n
\r\n
\r\n \r\n );\r\n}\r\n","import React, { useEffect, useMemo } from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { shallowEqual, useSelector } from \"react-redux\";\r\nimport { CustomerStatusCssClasses } from \"../CustomersUIHelpers\";\r\nimport { useCustomersUIContext } from \"../CustomersUIContext\";\r\n\r\nconst selectedCustomers = (entities, ids) => {\r\n const _customers = [];\r\n ids.forEach((id) => {\r\n const customer = entities.find((el) => el.id === id);\r\n if (customer) {\r\n _customers.push(customer);\r\n }\r\n });\r\n return _customers;\r\n};\r\n\r\nexport function CustomersFetchDialog({ show, onHide }) {\r\n // Customers UI Context\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n ids: customersUIContext.ids,\r\n };\r\n }, [customersUIContext]);\r\n\r\n // Customers Redux state\r\n const { customers } = useSelector(\r\n (state) => ({\r\n customers: selectedCustomers(\r\n state.customers.entities,\r\n customersUIProps.ids\r\n ),\r\n }),\r\n shallowEqual\r\n );\r\n\r\n // if customers weren't selected we should close modal\r\n useEffect(() => {\r\n if (!customersUIProps.ids || customersUIProps.ids.length === 0) {\r\n onHide();\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [customersUIProps.ids]);\r\n\r\n return (\r\n \r\n \r\n \r\n Fetch selected elements\r\n \r\n \r\n \r\n
\r\n {customers.map((customer) => (\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n ID: {customer.id}\r\n \r\n {customer.lastName}, {customer.firstName} \r\n
\r\n
\r\n ))}\r\n
\r\n \r\n \r\n
\r\n \r\n Cancel\r\n \r\n <> \r\n \r\n Ok\r\n \r\n
\r\n
\r\n \r\n );\r\n}\r\n","import React, { useEffect, useState, useMemo } from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { shallowEqual, useDispatch, useSelector } from \"react-redux\";\r\nimport { CustomerStatusCssClasses } from \"../CustomersUIHelpers\";\r\nimport * as actions from \"../../../_redux/FreezeTransactions/customersActions\";\r\nimport { useCustomersUIContext } from \"../CustomersUIContext\";\r\n\r\nconst selectedCustomers = (entities, ids) => {\r\n const _customers = [];\r\n ids.forEach((id) => {\r\n const customer = entities.find((el) => el.id === id);\r\n if (customer) {\r\n _customers.push(customer);\r\n }\r\n });\r\n return _customers;\r\n};\r\n\r\nexport function CustomersUpdateStateDialog({ show, onHide }) {\r\n // Customers UI Context\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n ids: customersUIContext.ids,\r\n setIds: customersUIContext.setIds,\r\n queryParams: customersUIContext.queryParams,\r\n };\r\n }, [customersUIContext]);\r\n\r\n // Customers Redux state\r\n const { customers, isLoading } = useSelector(\r\n (state) => ({\r\n customers: selectedCustomers(\r\n state.customers.entities,\r\n customersUIProps.ids\r\n ),\r\n isLoading: state.customers.actionsLoading,\r\n }),\r\n shallowEqual\r\n );\r\n\r\n // if !id we should close modal\r\n useEffect(() => {\r\n if (!customersUIProps.ids || customersUIProps.ids.length === 0) {\r\n onHide();\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [customersUIProps.ids]);\r\n\r\n const [status, setStatus] = useState(0);\r\n\r\n const dispatch = useDispatch();\r\n const updateStatus = () => {\r\n // server request for update customers status by selected ids\r\n dispatch(actions.updateCustomersStatus(customersUIProps.ids, status)).then(\r\n () => {\r\n // refresh list after deletion\r\n dispatch(actions.fetchCustomers(customersUIProps.queryParams)).then(\r\n () => {\r\n // clear selections list\r\n customersUIProps.setIds([]);\r\n // closing delete modal\r\n onHide();\r\n }\r\n );\r\n }\r\n );\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n Status has been updated for selected User\r\n \r\n \r\n \r\n {/*begin::Loading*/}\r\n {isLoading && (\r\n
\r\n
\r\n
\r\n )}\r\n {/*end::Loading*/}\r\n\r\n
\r\n {customers.map((customer) => (\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n ID: {customer.id}\r\n \r\n \r\n {customer.lastName}, {customer.firstName}\r\n \r\n
\r\n
\r\n ))}\r\n
\r\n \r\n \r\n
\r\n setStatus(+e.target.value)}\r\n >\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n Cancel\r\n \r\n \r\n Update Status\r\n \r\n
\r\n
\r\n \r\n );\r\n}\r\n","import React, { useMemo } from \"react\";\r\nimport { Formik } from \"formik\";\r\nimport { isEqual } from \"lodash\";\r\nimport { useCustomersUIContext } from \"../CustomersUIContext\";\r\nconst prepareFilter = (queryParams, values) => {\r\n const { status, type, searchText } = values;\r\n const newQueryParams = { ...queryParams };\r\n const filter = {};\r\n // Filter by status\r\n filter.status = status !== \"\" ? +status : undefined;\r\n // Filter by type\r\n filter.type = type !== \"\" ? +type : undefined;\r\n // Filter by all fields\r\n filter.lastName = searchText;\r\n if (searchText) {\r\n filter.firstName = searchText;\r\n filter.email = searchText;\r\n filter.ipAddress = searchText;\r\n }\r\n newQueryParams.filter = filter;\r\n return newQueryParams;\r\n};\r\n\r\nexport function CustomersFilter({ listLoading }) {\r\n // Customers UI Context\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n queryParams: customersUIContext.queryParams,\r\n setQueryParams: customersUIContext.setQueryParams,\r\n };\r\n }, [customersUIContext]);\r\n\r\n // queryParams, setQueryParams,\r\n const applyFilter = (values) => {\r\n const newQueryParams = prepareFilter(customersUIProps.queryParams, values);\r\n if (!isEqual(newQueryParams, customersUIProps.queryParams)) {\r\n newQueryParams.pageNumber = 1;\r\n // update list by queryParams\r\n customersUIProps.setQueryParams(newQueryParams);\r\n }\r\n };\r\n\r\n return (\r\n <>\r\n All=\"\"/Susspended=0/Active=1/Pending=2\r\n type: \"\", // values => All=\"\"/Business=0/Individual=1\r\n searchText: \"\",\r\n }}\r\n onSubmit={(values) => {\r\n applyFilter(values);\r\n }}\r\n >\r\n {({\r\n values,\r\n handleSubmit,\r\n handleBlur,\r\n handleChange,\r\n setFieldValue,\r\n }) => (\r\n
\r\n
\r\n )}\r\n \r\n
\r\n

Freezing the period makes transactions closed prior to the freeze date unchangable.

\r\n

This prevents changes that could affect various reports and invoices already produced for customers for the period.

\r\n

After freezing, needed changes can be applied to the next period by using the Adjustment menu.

\r\n
\r\n \r\n );\r\n}\r\n","// please be familiar with react-bootstrap-table-next column formaters\r\n// https://react-bootstrap-table.github.io/react-bootstrap-table2/storybook/index.html?selectedKind=Work%20on%20Columns&selectedStory=Column%20Formatter&full=0&addons=1&stories=1&panelRight=0&addonPanel=storybook%2Factions%2Factions-panel\r\n/* eslint-disable no-script-url,jsx-a11y/anchor-is-valid */\r\nimport React from \"react\";\r\nimport SVG from \"react-inlinesvg\";\r\nimport { toAbsoluteUrl } from \"../../../../../../../_metronic/_helpers\";\r\n\r\nexport function ActionsColumnFormatter(\r\n cellContent,\r\n row,\r\n rowIndex,\r\n { openEditCustomerDialog, openDeleteCustomerDialog }\r\n) {\r\n return (\r\n <>\r\n openEditCustomerDialog(row.id)}\r\n >\r\n \r\n \r\n \r\n \r\n <> \r\n\r\n openDeleteCustomerDialog(row.id)}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n","// React bootstrap table next =>\r\n// DOCS: https://react-bootstrap-table.github.io/react-bootstrap-table2/docs/\r\n// STORYBOOK: https://react-bootstrap-table.github.io/react-bootstrap-table2/storybook/index.html\r\nimport React, { useEffect, useMemo } from \"react\";\r\nimport BootstrapTable from \"react-bootstrap-table-next\";\r\nimport paginationFactory, {\r\n PaginationProvider,\r\n} from \"react-bootstrap-table2-paginator\";\r\nimport { shallowEqual, useDispatch, useSelector } from \"react-redux\";\r\nimport * as actions from \"../../../_redux/FreezeTransactions/customersActions\";\r\nimport {\r\n getSelectRow,\r\n getHandlerTableChange,\r\n NoRecordsFoundMessage,\r\n PleaseWaitMessage,\r\n sortCaret,\r\n headerSortingClasses,\r\n} from \"../../../../../../_metronic/_helpers\";\r\nimport * as uiHelpers from \"../CustomersUIHelpers\";\r\nimport * as columnFormatters from \"./column-formatters\";\r\nimport { Pagination } from \"../../../../../../_metronic/_partials/controls\";\r\nimport { useCustomersUIContext } from \"../CustomersUIContext\";\r\n\r\nexport function CustomersTable() {\r\n // Customers UI Context\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n ids: customersUIContext.ids,\r\n setIds: customersUIContext.setIds,\r\n queryParams: customersUIContext.queryParams,\r\n setQueryParams: customersUIContext.setQueryParams,\r\n openEditCustomerDialog: customersUIContext.openEditCustomerDialog,\r\n openDeleteCustomerDialog: customersUIContext.openDeleteCustomerDialog,\r\n };\r\n }, [customersUIContext]);\r\n\r\n // Getting curret state of customers list from store (Redux)\r\n const { currentState } = useSelector(\r\n (state) => ({ currentState: state.customers }),\r\n shallowEqual\r\n );\r\n const { totalCount, entities, listLoading } = currentState;\r\n\r\n // Customers Redux state\r\n const dispatch = useDispatch();\r\n useEffect(() => {\r\n // clear selections list\r\n customersUIProps.setIds([]);\r\n // server call by queryParams\r\n dispatch(actions.fetchCustomers(customersUIProps.queryParams));\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [customersUIProps.queryParams, dispatch]);\r\n // Table columns\r\n const columns = [\r\n {\r\n dataField: \"id\",\r\n text: \"ID\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n headerSortingClasses,\r\n },\r\n {\r\n dataField: \"freeze\",\r\n text: \"Freeze\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n headerSortingClasses,\r\n },\r\n {\r\n dataField: \"warehouse\",\r\n text: \"Warehouse\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n headerSortingClasses,\r\n },\r\n {\r\n dataField: \"lastFrozen\",\r\n text: \"Last Frozen\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n headerSortingClasses,\r\n },\r\n {\r\n dataField: \"oldestOpenReceiver\",\r\n text: \"Oldest Open Receiver\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n headerSortingClasses,\r\n },\r\n {\r\n dataField: \"oldestOpenOrder\",\r\n text: \"Oldest Open Order\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n headerSortingClasses,\r\n },\r\n {\r\n dataField: \"oldestOpenAssembly\",\r\n text: \"Oldest Open Assembly\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n headerSortingClasses,\r\n },\r\n {\r\n dataField: \"action\",\r\n text: \"Actions\",\r\n formatter: columnFormatters.ActionsColumnFormatter,\r\n formatExtraData: {\r\n openEditCustomerDialog: customersUIProps.openEditCustomerDialog,\r\n openDeleteCustomerDialog: customersUIProps.openDeleteCustomerDialog,\r\n },\r\n classes: \"text-center pr-0\",\r\n headerClasses: \"text-center pr-3\",\r\n style: {\r\n minWidth: \"100px\",\r\n },\r\n },\r\n ];\r\n // Table pagination properties\r\n const paginationOptions = {\r\n custom: true,\r\n totalSize: totalCount,\r\n sizePerPageList: uiHelpers.sizePerPageList,\r\n sizePerPage: customersUIProps.queryParams.pageSize,\r\n page: customersUIProps.queryParams.pageNumber,\r\n };\r\n return (\r\n <>\r\n \r\n {({ paginationProps, paginationTableProps }) => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n }}\r\n \r\n \r\n );\r\n}\r\n","import React, { useMemo } from \"react\";\r\nimport { useCustomersUIContext } from \"../CustomersUIContext\";\r\n\r\nexport function CustomersGrouping() {\r\n // Customers UI Context\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n ids: customersUIContext.ids,\r\n setIds: customersUIContext.setIds,\r\n openDeleteCustomersDialog: customersUIContext.openDeleteCustomersDialog,\r\n openFetchCustomersDialog: customersUIContext.openFetchCustomersDialog,\r\n openUpdateCustomersStatusDialog:\r\n customersUIContext.openUpdateCustomersStatusDialog,\r\n };\r\n }, [customersUIContext]);\r\n\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n Delete All\r\n \r\n  \r\n
\r\n
\r\n
\r\n
\r\n
\r\n );\r\n}\r\n","import React, { useMemo } from \"react\";\r\nimport {\r\n Card,\r\n CardBody,\r\n CardHeader,\r\n CardHeaderToolbar,\r\n CardFooter,\r\n} from \"../../../../../_metronic/_partials/controls\";\r\nimport { CustomersFilter } from \"./customers-filter/CustomersFilter\";\r\nimport { CustomersTable } from \"./customers-table/CustomersTable\";\r\nimport { CustomersGrouping } from \"./customers-grouping/CustomersGrouping\";\r\nimport { useCustomersUIContext } from \"./CustomersUIContext\";\r\nimport {\r\n Button,\r\n InputGroup,\r\n FormControl,\r\n DropdownButton,\r\n Dropdown,\r\n} from \"react-bootstrap\";\r\n\r\nimport { makeStyles } from '@material-ui/core/styles';\r\nimport TextField from '@material-ui/core/TextField';\r\nconst useStyles = makeStyles(theme => ({\r\n container: {\r\n display: 'flex',\r\n flexWrap: 'wrap',\r\n },\r\n textField: {\r\n marginLeft: theme.spacing(1),\r\n marginRight: theme.spacing(1),\r\n width: 200,\r\n },\r\n}));\r\n\r\nexport function CustomersCard() {\r\n const classes = useStyles();\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n ids: customersUIContext.ids,\r\n newCustomerButtonClick: customersUIContext.newCustomerButtonClick,\r\n };\r\n }, [customersUIContext]);\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {customersUIProps.ids.length > 0 && }\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n

\r\n
    \r\n
  1. Check the box(es) for each warehouse for which you wish to freeze transactions.

  2. \r\n
  3. Enter a freeze date. Purely as a caution and a reminder, dates listed above indicate oldest creation dates for the different open transaction types. Once the period is frozen, you can still close (confirm) open transactions, but they will be closed in the next period, not the current period.

  4. \r\n
  5. Push the \"Freeze\" button.

  6. \r\n
\r\n
\r\n \r\n \r\n Freeze\r\n \r\n \r\n
\r\n );\r\n}\r\n","import React from \"react\";\r\nimport { Route } from \"react-router-dom\";\r\nimport { CustomersLoadingDialog } from \"./customers-loading-dialog/CustomersLoadingDialog\";\r\nimport { CustomerEditDialog } from \"./customer-edit-dialog/CustomerEditDialog\";\r\nimport { CustomerDeleteDialog } from \"./customer-delete-dialog/CustomerDeleteDialog\";\r\nimport { CustomersDeleteDialog } from \"./customers-delete-dialog/CustomersDeleteDialog\";\r\nimport { CustomersFetchDialog } from \"./customers-fetch-dialog/CustomersFetchDialog\";\r\nimport { CustomersUpdateStateDialog } from \"./customers-update-status-dialog/CustomersUpdateStateDialog\";\r\nimport { CustomersUIProvider } from \"./CustomersUIContext\";\r\nimport { CustomersCard } from \"./CustomersCard\";\r\n\r\nexport function FreezeTransactions({ history }) {\r\n const customersUIEvents = {\r\n newCustomerButtonClick: () => {\r\n history.push(\"/FreezeTransactions/new\");\r\n },\r\n openEditCustomerDialog: (id) => {\r\n history.push(`/FreezeTransactions/${id}/edit`);\r\n },\r\n openDeleteCustomerDialog: (id) => {\r\n history.push(`/FreezeTransactions/${id}/delete`);\r\n },\r\n openDeleteCustomersDialog: () => {\r\n history.push(`/FreezeTransactions/deleteCustomers`);\r\n },\r\n openFetchCustomersDialog: () => {\r\n history.push(`/FreezeTransactions/fetch`);\r\n },\r\n openUpdateCustomersStatusDialog: () => {\r\n history.push(\"/FreezeTransactions/updateStatus\");\r\n }\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n {({ history, match }) => (\r\n {\r\n history.push(\"/FreezeTransactions\");\r\n }}\r\n />\r\n )}\r\n \r\n \r\n {({ history, match }) => (\r\n {\r\n history.push(\"/FreezeTransactions\");\r\n }}\r\n />\r\n )}\r\n \r\n \r\n {({ history, match }) => (\r\n {\r\n history.push(\"/FreezeTransactions\");\r\n }}\r\n />\r\n )}\r\n \r\n \r\n {({ history, match }) => (\r\n {\r\n history.push(\"/FreezeTransactions\");\r\n }}\r\n />\r\n )}\r\n \r\n \r\n {({ history, match }) => (\r\n {\r\n history.push(\"/FreezeTransactions\");\r\n }}\r\n />\r\n )}\r\n \r\n \r\n {({ history, match }) => (\r\n {\r\n history.push(\"/FreezeTransactions\");\r\n }}\r\n />\r\n )}\r\n \r\n \r\n \r\n );\r\n}\r\n","import React, { useEffect } from \"react\";\r\nimport { shallowEqual, useSelector } from \"react-redux\";\r\nimport { LoadingDialog } from \"../../../../../../_metronic/_partials/controls\";\r\n\r\nexport function CustomersLoadingDialog() {\r\n // Customers Redux state\r\n const { isLoading } = useSelector(\r\n (state) => ({ isLoading: state.customers.listLoading }),\r\n shallowEqual\r\n );\r\n // looking for loading/dispatch\r\n useEffect(() => {}, [isLoading]);\r\n return ;\r\n}\r\n","import axios from \"axios\";\r\n\r\nexport const CUSTOMERS_URL = \"api/MovableUnits\";\r\n\r\n// CREATE => POST: add a new customer to the server\r\nexport function createCustomer(customer) {\r\n return axios.post(CUSTOMERS_URL, { customer });\r\n}\r\n\r\n// READ\r\nexport function getAllCustomers() {\r\n return axios.get(CUSTOMERS_URL);\r\n}\r\n\r\nexport function getCustomerById(customerId) {\r\n return axios.get(`${CUSTOMERS_URL}/${customerId}`);\r\n}\r\n\r\n// Method from server should return QueryResultsModel(items: any[], totalsCount: number)\r\n// items => filtered/sorted result\r\nexport function findCustomers(queryParams) {\r\n return axios.post(`${CUSTOMERS_URL}/find`, { queryParams });\r\n}\r\n\r\n// UPDATE => PUT: update the customer on the server\r\nexport function updateCustomer(customer) {\r\n return axios.put(`${CUSTOMERS_URL}/${customer.id}`, { customer });\r\n}\r\n\r\n// UPDATE Status\r\nexport function updateStatusForCustomers(ids, status) {\r\n return axios.post(`${CUSTOMERS_URL}/updateStatusForCustomers`, {\r\n ids,\r\n status\r\n });\r\n}\r\n\r\n// DELETE => delete the customer from the server\r\nexport function deleteCustomer(customerId) {\r\n return axios.delete(`${CUSTOMERS_URL}/${customerId}`);\r\n}\r\n\r\n// DELETE Customers by ids\r\nexport function deleteCustomers(ids) {\r\n return axios.post(`${CUSTOMERS_URL}/deleteCustomers`, { ids });\r\n}\r\n","import {createSlice} from \"@reduxjs/toolkit\";\r\n\r\nconst initialCustomersState = {\r\n listLoading: false,\r\n actionsLoading: false,\r\n totalCount: 0,\r\n entities: null,\r\n customerForEdit: undefined,\r\n lastError: null\r\n};\r\nexport const callTypes = {\r\n list: \"list\",\r\n action: \"action\"\r\n};\r\n\r\nexport const customersSlice = createSlice({\r\n name: \"customers\",\r\n initialState: initialCustomersState,\r\n reducers: {\r\n catchError: (state, action) => {\r\n state.error = `${action.type}: ${action.payload.error}`;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = false;\r\n } else {\r\n state.actionsLoading = false;\r\n }\r\n },\r\n startCall: (state, action) => {\r\n state.error = null;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = true;\r\n } else {\r\n state.actionsLoading = true;\r\n }\r\n },\r\n // getCustomerById\r\n customerFetched: (state, action) => {\r\n state.actionsLoading = false;\r\n state.customerForEdit = action.payload.customerForEdit;\r\n state.error = null;\r\n },\r\n // findCustomers\r\n customersFetched: (state, action) => {\r\n const { totalCount, entities } = action.payload;\r\n state.listLoading = false;\r\n state.error = null;\r\n state.entities = entities;\r\n state.totalCount = totalCount;\r\n },\r\n // createCustomer\r\n customerCreated: (state, action) => {\r\n state.actionsLoading = false;\r\n state.error = null;\r\n state.entities.push(action.payload.customer);\r\n },\r\n // updateCustomer\r\n customerUpdated: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.map(entity => {\r\n if (entity.id === action.payload.customer.id) {\r\n return action.payload.customer;\r\n }\r\n return entity;\r\n });\r\n },\r\n // deleteCustomer\r\n customerDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(el => el.id !== action.payload.id);\r\n },\r\n // deleteCustomers\r\n customersDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(\r\n el => !action.payload.ids.includes(el.id)\r\n );\r\n },\r\n // customersUpdateState\r\n customersStatusUpdated: (state, action) => {\r\n state.actionsLoading = false;\r\n state.error = null;\r\n const { ids, status } = action.payload;\r\n state.entities = state.entities.map(entity => {\r\n if (ids.findIndex(id => id === entity.id) > -1) {\r\n entity.status = status;\r\n }\r\n return entity;\r\n });\r\n }\r\n }\r\n});\r\n","import * as requestFromServer from \"./customersCrud\";\r\nimport { customersSlice, callTypes } from \"./customersSlice\";\r\n\r\nconst { actions } = customersSlice;\r\n\r\nexport const fetchCustomers = queryParams => dispatch => {\r\n dispatch(actions.startCall({ callType: callTypes.list }));\r\n return requestFromServer\r\n .findCustomers(queryParams)\r\n .then(response => {\r\n const { totalCount, entities } = response.data;\r\n dispatch(actions.customersFetched({ totalCount, entities }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't find customers\";\r\n dispatch(actions.catchError({ error, callType: callTypes.list }));\r\n });\r\n};\r\n\r\nexport const fetchCustomer = id => dispatch => {\r\n if (!id) {\r\n return dispatch(actions.customerFetched({ customerForEdit: undefined }));\r\n }\r\n\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .getCustomerById(id)\r\n .then(response => {\r\n const customer = response.data;\r\n dispatch(actions.customerFetched({ customerForEdit: customer }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't find customer\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const deleteCustomer = id => dispatch => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .deleteCustomer(id)\r\n .then(response => {\r\n dispatch(actions.customerDeleted({ id }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't delete customer\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const createCustomer = customerForCreation => dispatch => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .createCustomer(customerForCreation)\r\n .then(response => {\r\n const { customer } = response.data;\r\n dispatch(actions.customerCreated({ customer }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't create customer\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const updateCustomer = customer => dispatch => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .updateCustomer(customer)\r\n .then(() => {\r\n switch (customer.LoadTypeId) {\r\n case \"1\":\r\n customer.LoadType = 'OnTopOf';\r\n break;\r\n case \"2\":\r\n customer.LoadType = 'InsideOf';\r\n break;\r\n }\r\n switch (customer.MaterialTypeId) {\r\n case \"1\":\r\n customer.Material = 'Wood';\r\n break;\r\n case \"2\":\r\n customer.Material = 'Plastic';\r\n break;\r\n\r\n case \"3\":\r\n customer.Material = 'Metal';\r\n break;\r\n\r\n case \"4\":\r\n customer.Material = 'Cardboard';\r\n break;\r\n\r\n case \"5\":\r\n customer.Material = 'Other';\r\n break;\r\n }\r\n dispatch(actions.customerUpdated({ customer }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't update customer\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const updateCustomersStatus = (ids, status) => dispatch => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .updateStatusForCustomers(ids, status)\r\n .then(() => {\r\n dispatch(actions.customersStatusUpdated({ ids, status }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't update customers status\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const deleteCustomers = ids => dispatch => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .deleteCustomers(ids)\r\n .then(() => {\r\n dispatch(actions.customersDeleted({ ids }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't delete customers\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n","import React, { useState, useEffect } from \"react\";\r\nimport { shallowEqual, useSelector } from \"react-redux\";\r\nimport CloseIcon from '@material-ui/icons/Close';\r\nimport IconButton from '@material-ui/core/IconButton';\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { ModalProgressBar } from \"../../../../../../_metronic/_partials/controls\";\r\n\r\nexport function CustomerEditDialogHeader({ id, onHide }) {\r\n // Customers Redux state\r\n const { customerForEdit, actionsLoading } = useSelector(\r\n (state) => ({\r\n customerForEdit: state.customers.customerForEdit,\r\n actionsLoading: state.customers.actionsLoading,\r\n }),\r\n shallowEqual\r\n );\r\n\r\n const [title, setTitle] = useState(\"\");\r\n // Title couting\r\n useEffect(() => {\r\n let _title = id ? \"\" : \"New Movable Unit\";\r\n if (customerForEdit && id) {\r\n _title = `Edit Movable Unit '${customerForEdit.Code}'`;\r\n }\r\n\r\n setTitle(_title);\r\n // eslint-disable-next-line\r\n }, [customerForEdit, actionsLoading]);\r\n\r\n return (\r\n <>\r\n {actionsLoading && }\r\n \r\n {title}\r\n {\r\n onHide(false);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n );\r\n}\r\n","// Form is based on Formik\r\n// Data validation is based on Yup\r\n// Please, be familiar with article first:\r\n// https://hackernoon.com/react-form-validation-with-formik-and-yup-8b76bda62e10\r\nimport React, { useState, useEffect } from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { Formik, Form, Field } from \"formik\";\r\nimport * as Yup from \"yup\";\r\nimport Radio from '@material-ui/core/Radio';\r\nimport FormControlLabel from '@material-ui/core/FormControlLabel';\r\nimport FormLabel from '@material-ui/core/FormLabel';\r\nimport Table from '@material-ui/core/Table';\r\nimport TableBody from '@material-ui/core/TableBody';\r\nimport TableCell from '@material-ui/core/TableCell';\r\nimport TableHead from '@material-ui/core/TableHead';\r\nimport TableRow from '@material-ui/core/TableRow';\r\nimport Paper from '@material-ui/core/Paper';\r\nimport {\r\n Input,\r\n RadioButton,\r\n} from \"../../../../../../_metronic/_partials/controls\";\r\nimport { makeStyles } from '@material-ui/core/styles';\r\n// Validation schema\r\nconst useStyles = makeStyles(theme => ({\r\n container: {\r\n display: 'flex',\r\n flexWrap: 'wrap',\r\n },\r\n textField: {\r\n marginLeft: theme.spacing(1),\r\n marginRight: theme.spacing(1),\r\n marginBottom: '2rem'\r\n },\r\n dense: {\r\n marginTop: theme.spacing(2),\r\n },\r\n menu: {\r\n width: 200,\r\n },\r\n}));\r\nexport function CustomerEditForm({\r\n saveCustomer,\r\n customer,\r\n actionsLoading,\r\n onHide,\r\n}) {\r\n const classes = useStyles();\r\n let CustomerEditSchema;\r\n if (customer.id === undefined) {\r\n CustomerEditSchema = Yup.object().shape({\r\n Code: Yup.string()\r\n .min(3, \"Minimum 8 symbols\")\r\n .max(50, \"Maximum 50 symbols\")\r\n .required(\"Code is required\"),\r\n\r\n MaterialTypeId: Yup.string()\r\n .required(\"Materiel is required\"),\r\n\r\n LoadTypeId: Yup.string()\r\n .required(\"LoadType is required\"),\r\n });\r\n } else {\r\n CustomerEditSchema = Yup.object().shape({});\r\n }\r\n const [isActive, setisActive] = useState(false);\r\n const [isActiveLoadType, setisisActiveLoadType] = useState(false);\r\n useEffect(() => {\r\n if (customer.MaterialTypeId !== undefined) {\r\n setisActive(customer.MaterialTypeId + \"\");\r\n }\r\n if (customer.LoadTypeId !== undefined) {\r\n setisisActiveLoadType(customer.LoadTypeId + \"\");\r\n }\r\n \r\n }, [customer]);\r\n return (\r\n <>\r\n {\r\n saveCustomer(values);\r\n }}\r\n >\r\n {({ handleSubmit, setFieldValue }) => (\r\n <>\r\n \r\n {actionsLoading && (\r\n
\r\n
\r\n
\r\n )}\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n {\r\n setisActive(e.target.value);\r\n setFieldValue(\"MaterialTypeId\", e.target.value);\r\n }}\r\n >\r\n }\r\n label=\"Wood\"\r\n labelPlacement=\"start\"\r\n />\r\n }\r\n label=\"Plastic\"\r\n labelPlacement=\"start\"\r\n />\r\n }\r\n label=\"Metal\"\r\n labelPlacement=\"start\"\r\n />\r\n }\r\n label=\"Cardboard\"\r\n labelPlacement=\"start\"\r\n />\r\n }\r\n label=\"Other\"\r\n labelPlacement=\"start\"\r\n />\r\n \r\n
\r\n
\r\n
\r\n
\r\n labelPlacement\r\n {\r\n setisisActiveLoadType(e.target.value);\r\n setFieldValue(\"LoadTypeId\", e.target.value);\r\n }}\r\n >\r\n }\r\n label=\"Product is stacked on top of this (like a pallet)\"\r\n labelPlacement=\"end\"\r\n />\r\n }\r\n label=\"Product is put inside of this (like a container)\"\r\n labelPlacement=\"end\"\r\n />\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n LENGHT\r\n\r\n WIDTH\r\n\r\n HEIGHT\r\n WEIGHT\r\n \r\n \r\n \r\n \r\n \r\n US/IMPERIAL\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {/* Table two */}\r\n \r\n \r\n METRIC\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n Cancel\r\n \r\n <> \r\n handleSubmit()}\r\n className=\"btn btn-success btn-elevate\"\r\n >\r\n Save\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n );\r\n}\r\n","export const CustomerStatusCssClasses = [\"danger\", \"success\", \"info\", \"\"];\r\nexport const CustomerStatusTitles = [\"Inactive\", \"Active\"];\r\nexport const CustomerTypeCssClasses = [\"success\", \"primary\", \"\"];\r\nexport const CustomerTypeTitles = [\"Business\", \"Individual\", \"\"];\r\nexport const defaultSorted = [{ dataField: \"id\", order: \"desc\" }];\r\nexport const sizePerPageList = [\r\n { text: \"3\", value: 3 },\r\n { text: \"5\", value: 5 },\r\n { text: \"10\", value: 10 }\r\n];\r\nexport const initialFilter = {\r\n filter: {\r\n lastName: \"\",\r\n firstName: \"\",\r\n email: \"\",\r\n ipAddress: \"\"\r\n },\r\n sortOrder: \"asc\", // asc||desc\r\n sortField: \"id\",\r\n pageNumber: 1,\r\n pageSize: 10\r\n};\r\n","import React, {createContext, useContext, useState, useCallback} from \"react\";\r\nimport {isEqual, isFunction} from \"lodash\";\r\nimport {initialFilter} from \"./CustomersUIHelpers\";\r\n\r\nconst CustomersUIContext = createContext();\r\n\r\nexport function useCustomersUIContext() {\r\n return useContext(CustomersUIContext);\r\n}\r\n\r\nexport const CustomersUIConsumer = CustomersUIContext.Consumer;\r\n\r\nexport function CustomersUIProvider({customersUIEvents, children}) {\r\n const [queryParams, setQueryParamsBase] = useState(initialFilter);\r\n const [ids, setIds] = useState([]);\r\n const setQueryParams = useCallback(nextQueryParams => {\r\n setQueryParamsBase(prevQueryParams => {\r\n if (isFunction(nextQueryParams)) {\r\n nextQueryParams = nextQueryParams(prevQueryParams);\r\n }\r\n\r\n if (isEqual(prevQueryParams, nextQueryParams)) {\r\n return prevQueryParams;\r\n }\r\n\r\n return nextQueryParams;\r\n });\r\n }, []);\r\n\r\n const initCustomer = {\r\n id: undefined,\r\n };\r\n\r\n const value = {\r\n queryParams,\r\n setQueryParamsBase,\r\n ids,\r\n setIds,\r\n setQueryParams,\r\n initCustomer,\r\n newCustomerButtonClick: customersUIEvents.newCustomerButtonClick,\r\n openEditCustomerDialog: customersUIEvents.openEditCustomerDialog,\r\n openDeleteCustomerDialog: customersUIEvents.openDeleteCustomerDialog,\r\n openDeleteCustomersDialog: customersUIEvents.openDeleteCustomersDialog,\r\n openFetchCustomersDialog: customersUIEvents.openFetchCustomersDialog,\r\n openUpdateCustomersStatusDialog: customersUIEvents.openUpdateCustomersStatusDialog\r\n };\r\n\r\n return {children};\r\n}","import React, { useEffect, useMemo } from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { shallowEqual, useDispatch, useSelector } from \"react-redux\";\r\nimport * as actions from \"../../../_redux/MovableUnits/customersActions\";\r\nimport { CustomerEditDialogHeader } from \"./CustomerEditDialogHeader\";\r\nimport { CustomerEditForm } from \"./CustomerEditForm\";\r\nimport { useCustomersUIContext } from \"../CustomersUIContext\";\r\n\r\nexport function CustomerEditDialog({ id, show, onHide }) {\r\n // Customers UI Context\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n initCustomer: customersUIContext.initCustomer,\r\n };\r\n }, [customersUIContext]);\r\n\r\n // Customers Redux state\r\n const dispatch = useDispatch();\r\n const { actionsLoading, customerForEdit } = useSelector(\r\n (state) => ({\r\n actionsLoading: state.customers.actionsLoading,\r\n customerForEdit: state.customers.customerForEdit,\r\n }),\r\n shallowEqual\r\n );\r\n\r\n useEffect(() => {\r\n // server call for getting Customer by id\r\n dispatch(actions.fetchCustomer(id));\r\n }, [id, dispatch]);\r\n\r\n // server request for saving customer\r\n const saveCustomer = (customer) => {\r\n if (!id) {\r\n // server request for creating customer\r\n dispatch(actions.createCustomer(customer)).then(() => onHide());\r\n } else {\r\n // server request for updating customer\r\n dispatch(actions.updateCustomer(customer)).then(() => onHide());\r\n }\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n}\r\n","import React, { useEffect, useMemo } from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { shallowEqual, useDispatch, useSelector } from \"react-redux\";\r\nimport {ModalProgressBar} from \"../../../../../../_metronic/_partials/controls\";\r\nimport * as actions from \"../../../_redux/MovableUnits/customersActions\";\r\nimport {useCustomersUIContext} from \"../CustomersUIContext\";\r\n\r\nexport function CustomerDeleteDialog({ id, show, onHide }) {\r\n // Customers UI Context\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n setIds: customersUIContext.setIds,\r\n queryParams: customersUIContext.queryParams\r\n };\r\n }, [customersUIContext]);\r\n\r\n // Customers Redux state\r\n const dispatch = useDispatch();\r\n const { isLoading } = useSelector(\r\n (state) => ({ isLoading: state.customers.actionsLoading }),\r\n shallowEqual\r\n );\r\n\r\n // if !id we should close modal\r\n useEffect(() => {\r\n if (!id) {\r\n onHide();\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [id]);\r\n\r\n // looking for loading/dispatch\r\n useEffect(() => {}, [isLoading, dispatch]);\r\n\r\n const deleteCustomer = () => {\r\n // server request for deleting customer by id\r\n dispatch(actions.deleteCustomer(id)).then(() => {\r\n // refresh list after deletion\r\n dispatch(actions.fetchCustomers(customersUIProps.queryParams));\r\n // clear selections list\r\n customersUIProps.setIds([]);\r\n // closing delete modal\r\n onHide();\r\n });\r\n };\r\n\r\n return (\r\n \r\n {/*begin::Loading*/}\r\n {isLoading && }\r\n {/*end::Loading*/}\r\n \r\n \r\n Movable Units Delete\r\n \r\n \r\n \r\n {!isLoading && (\r\n Are you sure to permanently delete this movable unit?\r\n )}\r\n {isLoading && movable unit is deleting...}\r\n \r\n \r\n
\r\n \r\n Cancel\r\n \r\n <> \r\n \r\n Delete\r\n \r\n
\r\n
\r\n \r\n );\r\n}\r\n","import React, { useEffect, useMemo } from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { shallowEqual, useDispatch, useSelector } from \"react-redux\";\r\nimport * as actions from \"../../../_redux/MovableUnits/customersActions\";\r\nimport { useCustomersUIContext } from \"../CustomersUIContext\";\r\nimport {ModalProgressBar} from \"../../../../../../_metronic/_partials/controls\";\r\n\r\nexport function CustomersDeleteDialog({ show, onHide }) {\r\n // Customers UI Context\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n ids: customersUIContext.ids,\r\n setIds: customersUIContext.setIds,\r\n queryParams: customersUIContext.queryParams,\r\n };\r\n }, [customersUIContext]);\r\n\r\n // Customers Redux state\r\n const dispatch = useDispatch();\r\n const { isLoading } = useSelector(\r\n (state) => ({ isLoading: state.customers.actionsLoading }),\r\n shallowEqual\r\n );\r\n\r\n // if customers weren't selected we should close modal\r\n useEffect(() => {\r\n if (!customersUIProps.ids || customersUIProps.ids.length === 0) {\r\n onHide();\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [customersUIProps.ids]);\r\n\r\n // looking for loading/dispatch\r\n useEffect(() => {}, [isLoading, dispatch]);\r\n\r\n const deleteCustomers = () => {\r\n // server request for deleting customer by selected ids\r\n dispatch(actions.deleteCustomers(customersUIProps.ids)).then(() => {\r\n // refresh list after deletion\r\n dispatch(actions.fetchCustomers(customersUIProps.queryParams)).then(\r\n () => {\r\n // clear selections list\r\n customersUIProps.setIds([]);\r\n // closing delete modal\r\n onHide();\r\n }\r\n );\r\n });\r\n };\r\n\r\n return (\r\n \r\n {/*begin::Loading*/}\r\n {isLoading && }\r\n {/*end::Loading*/}\r\n \r\n \r\n Movable Units Delete\r\n \r\n \r\n \r\n {!isLoading && (\r\n Are you sure to permanently delete selected movable unit?\r\n )}\r\n {isLoading && movable unit are deleting...}\r\n \r\n \r\n
\r\n \r\n Cancel\r\n \r\n <> \r\n \r\n Delete\r\n \r\n
\r\n
\r\n \r\n );\r\n}\r\n","import React, { useEffect, useMemo } from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { shallowEqual, useSelector } from \"react-redux\";\r\nimport { CustomerStatusCssClasses } from \"../CustomersUIHelpers\";\r\nimport { useCustomersUIContext } from \"../CustomersUIContext\";\r\n\r\nconst selectedCustomers = (entities, ids) => {\r\n const _customers = [];\r\n ids.forEach((id) => {\r\n const customer = entities.find((el) => el.id === id);\r\n if (customer) {\r\n _customers.push(customer);\r\n }\r\n });\r\n return _customers;\r\n};\r\n\r\nexport function CustomersFetchDialog({ show, onHide }) {\r\n // Customers UI Context\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n ids: customersUIContext.ids,\r\n };\r\n }, [customersUIContext]);\r\n\r\n // Customers Redux state\r\n const { customers } = useSelector(\r\n (state) => ({\r\n customers: selectedCustomers(\r\n state.customers.entities,\r\n customersUIProps.ids\r\n ),\r\n }),\r\n shallowEqual\r\n );\r\n\r\n // if customers weren't selected we should close modal\r\n useEffect(() => {\r\n if (!customersUIProps.ids || customersUIProps.ids.length === 0) {\r\n onHide();\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [customersUIProps.ids]);\r\n\r\n return (\r\n \r\n \r\n \r\n Fetch selected elements\r\n \r\n \r\n \r\n
\r\n {customers.map((customer) => (\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n ID: {customer.id}\r\n \r\n {customer.lastName}, {customer.firstName} \r\n
\r\n
\r\n ))}\r\n
\r\n \r\n \r\n
\r\n \r\n Cancel\r\n \r\n <> \r\n \r\n Ok\r\n \r\n
\r\n
\r\n \r\n );\r\n}\r\n","import React, { useEffect, useState, useMemo } from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { shallowEqual, useDispatch, useSelector } from \"react-redux\";\r\nimport { CustomerStatusCssClasses } from \"../CustomersUIHelpers\";\r\nimport * as actions from \"../../../_redux/MovableUnits/customersActions\";\r\nimport { useCustomersUIContext } from \"../CustomersUIContext\";\r\n\r\nconst selectedCustomers = (entities, ids) => {\r\n const _customers = [];\r\n ids.forEach((id) => {\r\n const customer = entities.find((el) => el.id === id);\r\n if (customer) {\r\n _customers.push(customer);\r\n }\r\n });\r\n return _customers;\r\n};\r\n\r\nexport function CustomersUpdateStateDialog({ show, onHide }) {\r\n // Customers UI Context\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n ids: customersUIContext.ids,\r\n setIds: customersUIContext.setIds,\r\n queryParams: customersUIContext.queryParams,\r\n };\r\n }, [customersUIContext]);\r\n\r\n // Customers Redux state\r\n const { customers, isLoading } = useSelector(\r\n (state) => ({\r\n customers: selectedCustomers(\r\n state.customers.entities,\r\n customersUIProps.ids\r\n ),\r\n isLoading: state.customers.actionsLoading,\r\n }),\r\n shallowEqual\r\n );\r\n\r\n // if !id we should close modal\r\n useEffect(() => {\r\n if (!customersUIProps.ids || customersUIProps.ids.length === 0) {\r\n onHide();\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [customersUIProps.ids]);\r\n\r\n const [status, setStatus] = useState(0);\r\n\r\n const dispatch = useDispatch();\r\n const updateStatus = () => {\r\n // server request for update customers status by selected ids\r\n dispatch(actions.updateCustomersStatus(customersUIProps.ids, status)).then(\r\n () => {\r\n // refresh list after deletion\r\n dispatch(actions.fetchCustomers(customersUIProps.queryParams)).then(\r\n () => {\r\n // clear selections list\r\n customersUIProps.setIds([]);\r\n // closing delete modal\r\n onHide();\r\n }\r\n );\r\n }\r\n );\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n Status has been updated for selected User\r\n \r\n \r\n \r\n {/*begin::Loading*/}\r\n {isLoading && (\r\n
\r\n
\r\n
\r\n )}\r\n {/*end::Loading*/}\r\n\r\n
\r\n {customers.map((customer) => (\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n ID: {customer.id}\r\n \r\n \r\n {customer.lastName}, {customer.firstName}\r\n \r\n
\r\n
\r\n ))}\r\n
\r\n \r\n \r\n
\r\n setStatus(+e.target.value)}\r\n >\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n Cancel\r\n \r\n \r\n Update Status\r\n \r\n
\r\n
\r\n \r\n );\r\n}\r\n","import React, { useMemo } from \"react\";\r\nimport { Formik } from \"formik\";\r\nimport { isEqual } from \"lodash\";\r\nimport { useCustomersUIContext } from \"../CustomersUIContext\";\r\nconst prepareFilter = (queryParams, values) => {\r\n const { status, type, searchText } = values;\r\n const newQueryParams = { ...queryParams };\r\n const filter = {};\r\n // Filter by status\r\n filter.status = status !== \"\" ? +status : undefined;\r\n // Filter by type\r\n filter.type = type !== \"\" ? +type : undefined;\r\n // Filter by all fields\r\n filter.lastName = searchText;\r\n if (searchText) {\r\n filter.firstName = searchText;\r\n filter.email = searchText;\r\n filter.ipAddress = searchText;\r\n }\r\n newQueryParams.filter = filter;\r\n return newQueryParams;\r\n};\r\n\r\nexport function CustomersFilter({ listLoading }) {\r\n // Customers UI Context\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n queryParams: customersUIContext.queryParams,\r\n setQueryParams: customersUIContext.setQueryParams,\r\n };\r\n }, [customersUIContext]);\r\n\r\n // queryParams, setQueryParams,\r\n const applyFilter = (values) => {\r\n const newQueryParams = prepareFilter(customersUIProps.queryParams, values);\r\n if (!isEqual(newQueryParams, customersUIProps.queryParams)) {\r\n newQueryParams.pageNumber = 1;\r\n // update list by queryParams\r\n customersUIProps.setQueryParams(newQueryParams);\r\n }\r\n };\r\n\r\n return (\r\n <>\r\n All=\"\"/Susspended=0/Active=1/Pending=2\r\n type: \"\", // values => All=\"\"/Business=0/Individual=1\r\n searchText: \"\",\r\n }}\r\n onSubmit={(values) => {\r\n applyFilter(values);\r\n }}\r\n >\r\n {({\r\n values,\r\n handleSubmit,\r\n handleBlur,\r\n handleChange,\r\n setFieldValue,\r\n }) => (\r\n
\r\n
\r\n )}\r\n \r\n \r\n );\r\n}\r\n","// please be familiar with react-bootstrap-table-next column formaters\r\n// https://react-bootstrap-table.github.io/react-bootstrap-table2/storybook/index.html?selectedKind=Work%20on%20Columns&selectedStory=Column%20Formatter&full=0&addons=1&stories=1&panelRight=0&addonPanel=storybook%2Factions%2Factions-panel\r\n/* eslint-disable no-script-url,jsx-a11y/anchor-is-valid */\r\nimport React from \"react\";\r\nimport SVG from \"react-inlinesvg\";\r\nimport { toAbsoluteUrl } from \"../../../../../../../_metronic/_helpers\";\r\n\r\nexport function ActionsColumnFormatter(\r\n cellContent,\r\n row,\r\n rowIndex,\r\n { openEditCustomerDialog, openDeleteCustomerDialog }\r\n) {\r\n return (\r\n <>\r\n openEditCustomerDialog(row.id)}\r\n >\r\n \r\n \r\n \r\n \r\n <> \r\n\r\n openDeleteCustomerDialog(row.id)}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n","// React bootstrap table next =>\r\n// DOCS: https://react-bootstrap-table.github.io/react-bootstrap-table2/docs/\r\n// STORYBOOK: https://react-bootstrap-table.github.io/react-bootstrap-table2/storybook/index.html\r\nimport React, { useEffect, useMemo } from \"react\";\r\nimport BootstrapTable from \"react-bootstrap-table-next\";\r\nimport paginationFactory, {\r\n PaginationProvider,\r\n} from \"react-bootstrap-table2-paginator\";\r\nimport { shallowEqual, useDispatch, useSelector } from \"react-redux\";\r\nimport * as actions from \"../../../_redux/MovableUnits/customersActions\";\r\nimport {\r\n getSelectRow,\r\n getHandlerTableChange,\r\n NoRecordsFoundMessage,\r\n PleaseWaitMessage,\r\n sortCaret,\r\n headerSortingClasses,\r\n} from \"../../../../../../_metronic/_helpers\";\r\nimport * as uiHelpers from \"../CustomersUIHelpers\";\r\nimport * as columnFormatters from \"./column-formatters\";\r\nimport { Pagination } from \"../../../../../../_metronic/_partials/controls\";\r\nimport { useCustomersUIContext } from \"../CustomersUIContext\";\r\n\r\nexport function CustomersTable() {\r\n // Customers UI Context\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n ids: customersUIContext.ids,\r\n setIds: customersUIContext.setIds,\r\n queryParams: customersUIContext.queryParams,\r\n setQueryParams: customersUIContext.setQueryParams,\r\n openEditCustomerDialog: customersUIContext.openEditCustomerDialog,\r\n openDeleteCustomerDialog: customersUIContext.openDeleteCustomerDialog,\r\n };\r\n }, [customersUIContext]);\r\n\r\n // Getting curret state of customers list from store (Redux)\r\n const { currentState } = useSelector(\r\n (state) => ({ currentState: state.customers }),\r\n shallowEqual\r\n );\r\n const { totalCount, entities, listLoading } = currentState;\r\n\r\n // Customers Redux state\r\n const dispatch = useDispatch();\r\n useEffect(() => {\r\n // clear selections list\r\n customersUIProps.setIds([]);\r\n // server call by queryParams\r\n dispatch(actions.fetchCustomers(customersUIProps.queryParams));\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [customersUIProps.queryParams, dispatch]);\r\n // Table columns\r\n const columns = [\r\n {\r\n dataField: \"id\",\r\n text: \"ID\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n headerSortingClasses,\r\n },\r\n {\r\n dataField: \"Code\",\r\n text: \"CODE\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n headerSortingClasses,\r\n },\r\n {\r\n dataField: \"Description\",\r\n text: \"DESCRIPTION\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n headerSortingClasses,\r\n },\r\n {\r\n dataField: \"Material\",\r\n text: \"MATERIAL\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n headerSortingClasses,\r\n },\r\n {\r\n dataField: \"LoadType\",\r\n text: \"LOADTYPE\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n headerSortingClasses,\r\n },\r\n {\r\n dataField: \"action\",\r\n text: \"Actions\",\r\n formatter: columnFormatters.ActionsColumnFormatter,\r\n formatExtraData: {\r\n openEditCustomerDialog: customersUIProps.openEditCustomerDialog,\r\n openDeleteCustomerDialog: customersUIProps.openDeleteCustomerDialog,\r\n },\r\n classes: \"text-center pr-0\",\r\n headerClasses: \"text-center pr-3\",\r\n style: {\r\n minWidth: \"100px\",\r\n },\r\n },\r\n ];\r\n // Table pagination properties\r\n const paginationOptions = {\r\n custom: true,\r\n totalSize: totalCount,\r\n sizePerPageList: uiHelpers.sizePerPageList,\r\n sizePerPage: customersUIProps.queryParams.pageSize,\r\n page: customersUIProps.queryParams.pageNumber,\r\n };\r\n return (\r\n <>\r\n \r\n {({ paginationProps, paginationTableProps }) => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n }}\r\n \r\n \r\n );\r\n}\r\n","import React, { useMemo } from \"react\";\r\nimport { useCustomersUIContext } from \"../CustomersUIContext\";\r\n\r\nexport function CustomersGrouping() {\r\n // Customers UI Context\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n ids: customersUIContext.ids,\r\n setIds: customersUIContext.setIds,\r\n openDeleteCustomersDialog: customersUIContext.openDeleteCustomersDialog,\r\n openFetchCustomersDialog: customersUIContext.openFetchCustomersDialog,\r\n openUpdateCustomersStatusDialog:\r\n customersUIContext.openUpdateCustomersStatusDialog,\r\n };\r\n }, [customersUIContext]);\r\n\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n Delete All\r\n \r\n  \r\n
\r\n
\r\n
\r\n
\r\n
\r\n );\r\n}\r\n","import React, { useMemo } from \"react\";\r\nimport {\r\n Card,\r\n CardBody,\r\n CardHeader,\r\n CardHeaderToolbar,\r\n} from \"../../../../../_metronic/_partials/controls\";\r\nimport { CustomersFilter } from \"./customers-filter/CustomersFilter\";\r\nimport { CustomersTable } from \"./customers-table/CustomersTable\";\r\nimport { CustomersGrouping } from \"./customers-grouping/CustomersGrouping\";\r\nimport { useCustomersUIContext } from \"./CustomersUIContext\";\r\nimport {\r\n Button,\r\n InputGroup,\r\n FormControl,\r\n DropdownButton,\r\n Dropdown\r\n} from \"react-bootstrap\";\r\nexport function CustomersCard() {\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n ids: customersUIContext.ids,\r\n newCustomerButtonClick: customersUIContext.newCustomerButtonClick,\r\n };\r\n }, [customersUIContext]);\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n Add\r\n \r\n \r\n \r\n \r\n \r\n {customersUIProps.ids.length > 0 && }\r\n \r\n \r\n \r\n );\r\n}\r\n","import React from \"react\";\r\nimport { Route } from \"react-router-dom\";\r\nimport { CustomersLoadingDialog } from \"./customers-loading-dialog/CustomersLoadingDialog\";\r\nimport { CustomerEditDialog } from \"./customer-edit-dialog/CustomerEditDialog\";\r\nimport { CustomerDeleteDialog } from \"./customer-delete-dialog/CustomerDeleteDialog\";\r\nimport { CustomersDeleteDialog } from \"./customers-delete-dialog/CustomersDeleteDialog\";\r\nimport { CustomersFetchDialog } from \"./customers-fetch-dialog/CustomersFetchDialog\";\r\nimport { CustomersUpdateStateDialog } from \"./customers-update-status-dialog/CustomersUpdateStateDialog\";\r\nimport { CustomersUIProvider } from \"./CustomersUIContext\";\r\nimport { CustomersCard } from \"./CustomersCard\";\r\n\r\nexport function MovableUnits({ history }) {\r\n const customersUIEvents = {\r\n newCustomerButtonClick: () => {\r\n history.push(\"/MovableUnits/new\");\r\n },\r\n openEditCustomerDialog: (id) => {\r\n history.push(`/MovableUnits/${id}/edit`);\r\n },\r\n openDeleteCustomerDialog: (id) => {\r\n history.push(`/MovableUnits/${id}/delete`);\r\n },\r\n openDeleteCustomersDialog: () => {\r\n history.push(`/MovableUnits/deleteCustomers`);\r\n },\r\n openFetchCustomersDialog: () => {\r\n history.push(`/MovableUnits/fetch`);\r\n },\r\n openUpdateCustomersStatusDialog: () => {\r\n history.push(\"/MovableUnits/updateStatus\");\r\n }\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n {({ history, match }) => (\r\n {\r\n history.push(\"/MovableUnits\");\r\n }}\r\n />\r\n )}\r\n \r\n \r\n {({ history, match }) => (\r\n {\r\n history.push(\"/MovableUnits\");\r\n }}\r\n />\r\n )}\r\n \r\n \r\n {({ history, match }) => (\r\n {\r\n history.push(\"/MovableUnits\");\r\n }}\r\n />\r\n )}\r\n \r\n \r\n {({ history, match }) => (\r\n {\r\n history.push(\"/MovableUnits\");\r\n }}\r\n />\r\n )}\r\n \r\n \r\n {({ history, match }) => (\r\n {\r\n history.push(\"/MovableUnits\");\r\n }}\r\n />\r\n )}\r\n \r\n \r\n {({ history, match }) => (\r\n {\r\n history.push(\"/MovableUnits\");\r\n }}\r\n />\r\n )}\r\n \r\n \r\n \r\n );\r\n}\r\n","import React, { useEffect } from \"react\";\r\nimport { shallowEqual, useSelector } from \"react-redux\";\r\nimport { LoadingDialog } from \"../../../../../../_metronic/_partials/controls\";\r\n\r\nexport function CustomersLoadingDialog() {\r\n // Customers Redux state\r\n const { isLoading } = useSelector(\r\n (state) => ({ isLoading: state.customers.listLoading }),\r\n shallowEqual\r\n );\r\n // looking for loading/dispatch\r\n useEffect(() => {}, [isLoading]);\r\n return ;\r\n}\r\n","import {createSlice} from \"@reduxjs/toolkit\";\r\n\r\nconst initialCustomersState = {\r\n listLoading: false,\r\n actionsLoading: false,\r\n totalCount: 0,\r\n entities: null,\r\n customerForEdit: undefined,\r\n lastError: null\r\n};\r\nexport const callTypes = {\r\n list: \"list\",\r\n action: \"action\"\r\n};\r\n\r\nexport const customersSlice = createSlice({\r\n name: \"customers\",\r\n initialState: initialCustomersState,\r\n reducers: {\r\n catchError: (state, action) => {\r\n state.error = `${action.type}: ${action.payload.error}`;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = false;\r\n } else {\r\n state.actionsLoading = false;\r\n }\r\n },\r\n startCall: (state, action) => {\r\n state.error = null;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = true;\r\n } else {\r\n state.actionsLoading = true;\r\n }\r\n },\r\n // getCustomerById\r\n customerFetched: (state, action) => {\r\n state.actionsLoading = false;\r\n state.customerForEdit = action.payload.customerForEdit;\r\n state.error = null;\r\n },\r\n // findCustomers\r\n customersFetched: (state, action) => {\r\n const { totalCount, entities } = action.payload;\r\n state.listLoading = false;\r\n state.error = null;\r\n state.entities = entities;\r\n state.totalCount = totalCount;\r\n },\r\n // createCustomer\r\n customerCreated: (state, action) => {\r\n state.actionsLoading = false;\r\n state.error = null;\r\n state.entities.push(action.payload.customer);\r\n },\r\n // updateCustomer\r\n customerUpdated: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.map(entity => {\r\n if (entity.id === action.payload.customer.id) {\r\n return action.payload.customer;\r\n }\r\n return entity;\r\n });\r\n },\r\n // deleteCustomer\r\n customerDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(el => el.id !== action.payload.id);\r\n },\r\n // deleteCustomers\r\n customersDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(\r\n el => !action.payload.ids.includes(el.id)\r\n );\r\n },\r\n // customersUpdateState\r\n customersStatusUpdated: (state, action) => {\r\n state.actionsLoading = false;\r\n state.error = null;\r\n const { ids, status } = action.payload;\r\n state.entities = state.entities.map(entity => {\r\n if (ids.findIndex(id => id === entity.id) > -1) {\r\n entity.status = status;\r\n }\r\n return entity;\r\n });\r\n }\r\n }\r\n});\r\n","import * as requestFromServer from \"./customersCrud\";\r\nimport { customersSlice, callTypes } from \"./customersSlice\";\r\n\r\nconst { actions } = customersSlice;\r\n\r\nexport const fetchCustomers = queryParams => dispatch => {\r\n dispatch(actions.startCall({ callType: callTypes.list }));\r\n return requestFromServer\r\n .findCustomers(queryParams)\r\n .then(response => {\r\n const { totalCount, entities } = response.data;\r\n dispatch(actions.customersFetched({ totalCount, entities }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't find customers\";\r\n dispatch(actions.catchError({ error, callType: callTypes.list }));\r\n });\r\n};\r\n\r\nexport const fetchCustomer = id => dispatch => {\r\n if (!id) {\r\n return dispatch(actions.customerFetched({ customerForEdit: undefined }));\r\n }\r\n\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .getCustomerById(id)\r\n .then(response => {\r\n const customer = response.data;\r\n dispatch(actions.customerFetched({ customerForEdit: customer }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't find customer\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const deleteCustomer = id => dispatch => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .deleteCustomer(id)\r\n .then(response => {\r\n dispatch(actions.customerDeleted({ id }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't delete customer\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const createCustomer = customerForCreation => dispatch => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .createCustomer(customerForCreation)\r\n .then(response => {\r\n const { customer } = response.data;\r\n dispatch(actions.customerCreated({ customer }));\r\n document.getElementById(\"ReLoadTableId\").click();\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't create customer\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const updateCustomer = customer => dispatch => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .updateCustomer(customer)\r\n .then(() => { \r\n dispatch(actions.customerUpdated({ customer }));\r\n document.getElementById(\"ReLoadTableId\").click();\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't update customer\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const updateCustomersStatus = (ids, status) => dispatch => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .updateStatusForCustomers(ids, status)\r\n .then(() => {\r\n dispatch(actions.customersStatusUpdated({ ids, status }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't update customers status\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const deleteCustomers = ids => dispatch => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .deleteCustomers(ids)\r\n .then(() => {\r\n dispatch(actions.customersDeleted({ ids }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't delete customers\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n","import axios from \"axios\";\r\n\r\nexport const CUSTOMERS_URL = \"api/ManageModes\";\r\n\r\n// CREATE => POST: add a new customer to the server\r\nexport function createCustomer(customer) {\r\n return axios.post(CUSTOMERS_URL, { customer });\r\n}\r\n\r\n// READ\r\nexport function getAllCustomers() {\r\n return axios.get(CUSTOMERS_URL);\r\n}\r\n\r\nexport function getCustomerById(customerId) {\r\n return axios.get(`${CUSTOMERS_URL}/${customerId}`);\r\n}\r\n\r\n// Method from server should return QueryResultsModel(items: any[], totalsCount: number)\r\n// items => filtered/sorted result\r\nexport function findCustomers(queryParams) {\r\n return axios.post(`${CUSTOMERS_URL}/find`, { queryParams });\r\n}\r\n\r\n// UPDATE => PUT: update the customer on the server\r\nexport function updateCustomer(customer) {\r\n return axios.put(`${CUSTOMERS_URL}/${customer.Id}`, { customer });\r\n}\r\n\r\n// UPDATE Status\r\nexport function updateStatusForCustomers(ids, status) {\r\n return axios.post(`${CUSTOMERS_URL}/updateStatusForCustomers`, {\r\n ids,\r\n status\r\n });\r\n}\r\n\r\n// DELETE => delete the customer from the server\r\nexport function deleteCustomer(customerId) {\r\n return axios.delete(`${CUSTOMERS_URL}/${customerId}`);\r\n}\r\n\r\n// DELETE Customers by ids\r\nexport function deleteCustomers(ids) {\r\n return axios.post(`${CUSTOMERS_URL}/deleteCustomers`, { ids });\r\n}\r\n","import React, { useState, useEffect } from \"react\";\r\nimport { shallowEqual, useSelector } from \"react-redux\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { ModalProgressBar } from \"../../../../../../_metronic/_partials/controls\";\r\nimport CloseIcon from '@material-ui/icons/Close';\r\nimport IconButton from '@material-ui/core/IconButton';\r\nexport function CustomerEditDialogHeader({ id, onHide }) {\r\n // Customers Redux state\r\n const { customerForEdit, actionsLoading } = useSelector(\r\n (state) => ({\r\n customerForEdit: state.customers.customerForEdit,\r\n actionsLoading: state.customers.actionsLoading,\r\n }),\r\n shallowEqual\r\n );\r\n\r\n const [title, setTitle] = useState(\"\");\r\n // Title couting\r\n useEffect(() => {\r\n let _title = id ? \"\" : \"New Mode\";\r\n if (customerForEdit && id) {\r\n _title = `Mode Unit '${customerForEdit.Name}'`;\r\n }\r\n\r\n setTitle(_title);\r\n // eslint-disable-next-line\r\n }, [customerForEdit, actionsLoading]);\r\n\r\n return (\r\n <>\r\n {actionsLoading && }\r\n \r\n {title}\r\n {\r\n onHide(false);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n );\r\n}\r\n","// Form is based on Formik\r\n// Data validation is based on Yup\r\n// Please, be familiar with article first:\r\n// https://hackernoon.com/react-form-validation-with-formik-and-yup-8b76bda62e10\r\nimport React, { useState, useEffect } from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { Formik, Form, Field } from \"formik\";\r\nimport axios from \"axios\";\r\nimport * as Yup from \"yup\";\r\nimport { Input } from \"../../../../../../_metronic/_partials/controls\";\r\nimport Select from \"react-select\";\r\n\r\nimport { makeStyles } from \"@material-ui/core/styles\";\r\n// Validation schema\r\nconst useStyles = makeStyles((theme) => ({\r\n container: {\r\n display: \"flex\",\r\n flexWrap: \"wrap\",\r\n },\r\n textField: {\r\n marginLeft: theme.spacing(1),\r\n marginRight: theme.spacing(1),\r\n marginBottom: \"2rem\",\r\n },\r\n dense: {\r\n marginTop: theme.spacing(2),\r\n },\r\n menu: {\r\n width: 200,\r\n },\r\n}));\r\nexport function CustomerEditForm({\r\n saveCustomer,\r\n customer,\r\n actionsLoading,\r\n onHide,\r\n}) {\r\n let CustomerEditSchema;\r\n if (customer.id === undefined) {\r\n CustomerEditSchema = Yup.object().shape({\r\n Name: Yup.string()\r\n // .min(3, \"Minimum 3 symbols\")\r\n .max(50, \"Maximum 50 symbols\")\r\n .required(\"Name is required\"),\r\n\r\n ServiceId: Yup.string().required(\"Service is required\"),\r\n });\r\n } else {\r\n CustomerEditSchema = Yup.object().shape({});\r\n }\r\n const [ServicesList, setServicesList] = useState([]);\r\n const [ServicesListOption, setServicesListOption] = useState([]);\r\n const [ServiceId, setServiceId] = useState(null);\r\n\r\n useEffect(() => {\r\n fetchGetCountriesAsync();\r\n }, [customer]);\r\n const fetchGetCountriesAsync = async () => {\r\n try {\r\n const result = await axios.get(\"api/ManageServices/GetData\");\r\n setServicesListOption(\r\n result.data.map((suggestion) => ({\r\n value: suggestion.id,\r\n label: suggestion.Name,\r\n }))\r\n );\r\n setServicesList(result.data || []);\r\n if (\r\n customer.ServiceId !== undefined &&\r\n customer.ServiceId !== \"\" &&\r\n customer.ServiceId !== null\r\n ) {\r\n setServiceId(customer.ServiceId);\r\n }\r\n } catch (e) {}\r\n };\r\n return (\r\n <>\r\n {\r\n saveCustomer(values);\r\n }}\r\n >\r\n {({ errors, touched, handleSubmit, setFieldValue, values }) => (\r\n <>\r\n \r\n {actionsLoading && (\r\n
\r\n
\r\n
\r\n )}\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n {ServicesListOption && (\r\n <>\r\n

Service

\r\n a.value === ServiceId\r\n )}\r\n onChange={(event) => {\r\n setServiceId(event.value);\r\n setFieldValue(\"ServiceId\", event.value);\r\n }}\r\n >\r\n {errors.ServiceId && touched.ServiceId ? (\r\n
\r\n {errors.ServiceId}\r\n
\r\n ) : null}\r\n \r\n )}\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n

\r\n IsActive\r\n

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n Cancel\r\n \r\n <> \r\n handleSubmit()}\r\n className=\"btn btn-primary btn-elevate\"\r\n >\r\n Save\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n );\r\n}\r\n","export const CustomerStatusCssClasses = [\"danger\", \"success\", \"info\", \"\"];\r\nexport const CustomerStatusTitles = [\"Inactive\", \"Active\"];\r\nexport const CustomerTypeCssClasses = [\"success\", \"primary\", \"\"];\r\nexport const CustomerTypeTitles = [\"Business\", \"Individual\", \"\"];\r\nexport const defaultSorted = [{ dataField: \"id\", order: \"desc\" }];\r\nexport const sizePerPageList = [\r\n { text: \"3\", value: 3 },\r\n { text: \"5\", value: 5 },\r\n { text: \"10\", value: 10 },\r\n];\r\nexport const initialFilter = {\r\n filter: {\r\n lastName: \"\",\r\n firstName: \"\",\r\n email: \"\",\r\n ipAddress: \"\",\r\n IsActive: true,\r\n },\r\n sortOrder: \"asc\", // asc||desc\r\n sortField: \"id\",\r\n pageNumber: 1,\r\n pageSize: 10,\r\n};\r\n","import React, {createContext, useContext, useState, useCallback} from \"react\";\r\nimport {isEqual, isFunction} from \"lodash\";\r\nimport {initialFilter} from \"./CustomersUIHelpers\";\r\n\r\nconst CustomersUIContext = createContext();\r\n\r\nexport function useCustomersUIContext() {\r\n return useContext(CustomersUIContext);\r\n}\r\n\r\nexport const CustomersUIConsumer = CustomersUIContext.Consumer;\r\n\r\nexport function CustomersUIProvider({customersUIEvents, children}) {\r\n const [queryParams, setQueryParamsBase] = useState(initialFilter);\r\n const [ids, setIds] = useState([]);\r\n const setQueryParams = useCallback(nextQueryParams => {\r\n setQueryParamsBase(prevQueryParams => {\r\n if (isFunction(nextQueryParams)) {\r\n nextQueryParams = nextQueryParams(prevQueryParams);\r\n }\r\n\r\n if (isEqual(prevQueryParams, nextQueryParams)) {\r\n return prevQueryParams;\r\n }\r\n\r\n return nextQueryParams;\r\n });\r\n }, []);\r\n\r\n const initCustomer = {\r\n id: undefined,\r\n Name:\"\",\r\n ServiceId:\"\",\r\n Description:\"\",\r\n IsActive:true,\r\n };\r\n\r\n const value = {\r\n queryParams,\r\n setQueryParamsBase,\r\n ids,\r\n setIds,\r\n setQueryParams,\r\n initCustomer,\r\n newCustomerButtonClick: customersUIEvents.newCustomerButtonClick,\r\n openEditCustomerDialog: customersUIEvents.openEditCustomerDialog,\r\n openDeleteCustomerDialog: customersUIEvents.openDeleteCustomerDialog,\r\n openDeleteCustomersDialog: customersUIEvents.openDeleteCustomersDialog,\r\n openFetchCustomersDialog: customersUIEvents.openFetchCustomersDialog,\r\n openUpdateCustomersStatusDialog: customersUIEvents.openUpdateCustomersStatusDialog\r\n };\r\n\r\n return {children};\r\n}","import React, { useEffect, useMemo } from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { shallowEqual, useDispatch, useSelector } from \"react-redux\";\r\nimport * as actions from \"../../../_redux/ManageModes/customersActions\";\r\nimport { CustomerEditDialogHeader } from \"./CustomerEditDialogHeader\";\r\nimport { CustomerEditForm } from \"./CustomerEditForm\";\r\nimport { useCustomersUIContext } from \"../CustomersUIContext\";\r\n\r\nexport function CustomerEditDialog({ id, show, onHide }) {\r\n // Customers UI Context\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n initCustomer: customersUIContext.initCustomer,\r\n };\r\n }, [customersUIContext]);\r\n\r\n // Customers Redux state\r\n const dispatch = useDispatch();\r\n const { actionsLoading, customerForEdit } = useSelector(\r\n (state) => ({\r\n actionsLoading: state.customers.actionsLoading,\r\n customerForEdit: state.customers.customerForEdit,\r\n }),\r\n shallowEqual\r\n );\r\n\r\n useEffect(() => {\r\n // server call for getting Customer by id\r\n dispatch(actions.fetchCustomer(id));\r\n }, [id, dispatch]);\r\n\r\n // server request for saving customer\r\n const saveCustomer = (customer) => {\r\n if (!id) {\r\n // server request for creating customer\r\n dispatch(actions.createCustomer(customer)).then(() => onHide());\r\n } else {\r\n // server request for updating customer\r\n dispatch(actions.updateCustomer(customer)).then(() => onHide());\r\n }\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n}\r\n","import React, { useEffect, useMemo } from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { shallowEqual, useDispatch, useSelector } from \"react-redux\";\r\nimport {ModalProgressBar} from \"../../../../../../_metronic/_partials/controls\";\r\nimport * as actions from \"../../../_redux/ManageModes/customersActions\";\r\nimport {useCustomersUIContext} from \"../CustomersUIContext\";\r\n\r\nexport function CustomerDeleteDialog({ id, show, onHide }) {\r\n // Customers UI Context\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n setIds: customersUIContext.setIds,\r\n queryParams: customersUIContext.queryParams\r\n };\r\n }, [customersUIContext]);\r\n\r\n // Customers Redux state\r\n const dispatch = useDispatch();\r\n const { isLoading } = useSelector(\r\n (state) => ({ isLoading: state.customers.actionsLoading }),\r\n shallowEqual\r\n );\r\n\r\n // if !id we should close modal\r\n useEffect(() => {\r\n if (!id) {\r\n onHide();\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [id]);\r\n\r\n // looking for loading/dispatch\r\n useEffect(() => {}, [isLoading, dispatch]);\r\n\r\n const deleteCustomer = () => {\r\n // server request for deleting customer by id\r\n dispatch(actions.deleteCustomer(id)).then(() => {\r\n // refresh list after deletion\r\n dispatch(actions.fetchCustomers(customersUIProps.queryParams));\r\n // clear selections list\r\n customersUIProps.setIds([]);\r\n // closing delete modal\r\n onHide();\r\n });\r\n };\r\n\r\n return (\r\n \r\n {/*begin::Loading*/}\r\n {isLoading && }\r\n {/*end::Loading*/}\r\n \r\n \r\n Modes Delete\r\n \r\n \r\n \r\n {!isLoading && (\r\n Are you sure to permanently delete this Mode?\r\n )}\r\n {isLoading && Mode is deleting...}\r\n \r\n \r\n
\r\n \r\n Cancel\r\n \r\n <> \r\n \r\n Delete\r\n \r\n
\r\n
\r\n \r\n );\r\n}\r\n","import React, { useEffect, useMemo } from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { shallowEqual, useDispatch, useSelector } from \"react-redux\";\r\nimport * as actions from \"../../../_redux/ManageModes/customersActions\";\r\nimport { useCustomersUIContext } from \"../CustomersUIContext\";\r\nimport {ModalProgressBar} from \"../../../../../../_metronic/_partials/controls\";\r\n\r\nexport function CustomersDeleteDialog({ show, onHide }) {\r\n // Customers UI Context\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n ids: customersUIContext.ids,\r\n setIds: customersUIContext.setIds,\r\n queryParams: customersUIContext.queryParams,\r\n };\r\n }, [customersUIContext]);\r\n\r\n // Customers Redux state\r\n const dispatch = useDispatch();\r\n const { isLoading } = useSelector(\r\n (state) => ({ isLoading: state.customers.actionsLoading }),\r\n shallowEqual\r\n );\r\n\r\n // if customers weren't selected we should close modal\r\n useEffect(() => {\r\n if (!customersUIProps.ids || customersUIProps.ids.length === 0) {\r\n onHide();\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [customersUIProps.ids]);\r\n\r\n // looking for loading/dispatch\r\n useEffect(() => {}, [isLoading, dispatch]);\r\n\r\n const deleteCustomers = () => {\r\n // server request for deleting customer by selected ids\r\n dispatch(actions.deleteCustomers(customersUIProps.ids)).then(() => {\r\n // refresh list after deletion\r\n dispatch(actions.fetchCustomers(customersUIProps.queryParams)).then(\r\n () => {\r\n // clear selections list\r\n customersUIProps.setIds([]);\r\n // closing delete modal\r\n onHide();\r\n }\r\n );\r\n });\r\n };\r\n\r\n return (\r\n \r\n {/*begin::Loading*/}\r\n {isLoading && }\r\n {/*end::Loading*/}\r\n \r\n \r\n Modes Delete\r\n \r\n \r\n \r\n {!isLoading && (\r\n Are you sure to permanently delete selected Mode?\r\n )}\r\n {isLoading && Mode are deleting...}\r\n \r\n \r\n
\r\n \r\n Cancel\r\n \r\n <> \r\n \r\n Delete\r\n \r\n
\r\n
\r\n \r\n );\r\n}\r\n","import React, { useEffect, useMemo } from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { shallowEqual, useSelector } from \"react-redux\";\r\nimport { CustomerStatusCssClasses } from \"../CustomersUIHelpers\";\r\nimport { useCustomersUIContext } from \"../CustomersUIContext\";\r\n\r\nconst selectedCustomers = (entities, ids) => {\r\n const _customers = [];\r\n ids.forEach((id) => {\r\n const customer = entities.find((el) => el.id === id);\r\n if (customer) {\r\n _customers.push(customer);\r\n }\r\n });\r\n return _customers;\r\n};\r\n\r\nexport function CustomersFetchDialog({ show, onHide }) {\r\n // Customers UI Context\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n ids: customersUIContext.ids,\r\n };\r\n }, [customersUIContext]);\r\n\r\n // Customers Redux state\r\n const { customers } = useSelector(\r\n (state) => ({\r\n customers: selectedCustomers(\r\n state.customers.entities,\r\n customersUIProps.ids\r\n ),\r\n }),\r\n shallowEqual\r\n );\r\n\r\n // if customers weren't selected we should close modal\r\n useEffect(() => {\r\n if (!customersUIProps.ids || customersUIProps.ids.length === 0) {\r\n onHide();\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [customersUIProps.ids]);\r\n\r\n return (\r\n \r\n \r\n \r\n Fetch selected elements\r\n \r\n \r\n \r\n
\r\n {customers.map((customer) => (\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n ID: {customer.id}\r\n \r\n {customer.lastName}, {customer.firstName} \r\n
\r\n
\r\n ))}\r\n
\r\n \r\n \r\n
\r\n \r\n Cancel\r\n \r\n <> \r\n \r\n Ok\r\n \r\n
\r\n
\r\n \r\n );\r\n}\r\n","import React, { useEffect, useState, useMemo } from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { shallowEqual, useDispatch, useSelector } from \"react-redux\";\r\nimport { CustomerStatusCssClasses } from \"../CustomersUIHelpers\";\r\nimport * as actions from \"../../../_redux/ManageModes/customersActions\";\r\nimport { useCustomersUIContext } from \"../CustomersUIContext\";\r\n\r\nconst selectedCustomers = (entities, ids) => {\r\n const _customers = [];\r\n ids.forEach((id) => {\r\n const customer = entities.find((el) => el.id === id);\r\n if (customer) {\r\n _customers.push(customer);\r\n }\r\n });\r\n return _customers;\r\n};\r\n\r\nexport function CustomersUpdateStateDialog({ show, onHide }) {\r\n // Customers UI Context\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n ids: customersUIContext.ids,\r\n setIds: customersUIContext.setIds,\r\n queryParams: customersUIContext.queryParams,\r\n };\r\n }, [customersUIContext]);\r\n\r\n // Customers Redux state\r\n const { customers, isLoading } = useSelector(\r\n (state) => ({\r\n customers: selectedCustomers(\r\n state.customers.entities,\r\n customersUIProps.ids\r\n ),\r\n isLoading: state.customers.actionsLoading,\r\n }),\r\n shallowEqual\r\n );\r\n\r\n // if !id we should close modal\r\n useEffect(() => {\r\n if (!customersUIProps.ids || customersUIProps.ids.length === 0) {\r\n onHide();\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [customersUIProps.ids]);\r\n\r\n const [status, setStatus] = useState(0);\r\n\r\n const dispatch = useDispatch();\r\n const updateStatus = () => {\r\n // server request for update customers status by selected ids\r\n dispatch(actions.updateCustomersStatus(customersUIProps.ids, status)).then(\r\n () => {\r\n // refresh list after deletion\r\n dispatch(actions.fetchCustomers(customersUIProps.queryParams)).then(\r\n () => {\r\n // clear selections list\r\n customersUIProps.setIds([]);\r\n // closing delete modal\r\n onHide();\r\n }\r\n );\r\n }\r\n );\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n Status has been updated for selected User\r\n \r\n \r\n \r\n {/*begin::Loading*/}\r\n {isLoading && (\r\n
\r\n
\r\n
\r\n )}\r\n {/*end::Loading*/}\r\n\r\n
\r\n {customers.map((customer) => (\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n ID: {customer.id}\r\n \r\n \r\n {customer.lastName}, {customer.firstName}\r\n \r\n
\r\n
\r\n ))}\r\n
\r\n \r\n \r\n
\r\n setStatus(+e.target.value)}\r\n >\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n Cancel\r\n \r\n \r\n Update Status\r\n \r\n
\r\n
\r\n \r\n );\r\n}\r\n","import React, { useMemo } from \"react\";\r\nimport { Formik } from \"formik\";\r\nimport { isEqual } from \"lodash\";\r\nimport { useCustomersUIContext } from \"../CustomersUIContext\";\r\nconst prepareFilter = (queryParams, values) => {\r\n const { ReLoadTable, status, type, searchText, IsActive } = values;\r\n const newQueryParams = { ...queryParams };\r\n const filter = {};\r\n // Filter by status\r\n filter.status = status !== \"\" ? +status : undefined;\r\n // Filter by type\r\n filter.type = type !== \"\" ? +type : undefined;\r\n // Filter by all fields\r\n filter.Service = searchText;\r\n filter.IsActive = IsActive;\r\n if (searchText) {\r\n // filter.firstName = searchText;\r\n // filter.email = searchText;\r\n // filter.ipAddress = searchText;\r\n }\r\n filter.ReLoadTable = ReLoadTable;\r\n\r\n newQueryParams.filter = filter;\r\n return newQueryParams;\r\n};\r\n\r\nexport function CustomersFilter({ listLoading }) {\r\n // Customers UI Context\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n queryParams: customersUIContext.queryParams,\r\n setQueryParams: customersUIContext.setQueryParams,\r\n };\r\n }, [customersUIContext]);\r\n\r\n // queryParams, setQueryParams,\r\n const applyFilter = (values) => {\r\n const newQueryParams = prepareFilter(customersUIProps.queryParams, values);\r\n if (!isEqual(newQueryParams, customersUIProps.queryParams)) {\r\n newQueryParams.pageNumber = 1;\r\n // update list by queryParams\r\n customersUIProps.setQueryParams(newQueryParams);\r\n }\r\n };\r\n\r\n return (\r\n <>\r\n All=\"\"/Susspended=0/Active=1/Pending=2\r\n type: \"\", // values => All=\"\"/Business=0/Individual=1\r\n searchText: \"\",\r\n ReLoadTable: 0,\r\n IsActive: true,\r\n }}\r\n onSubmit={(values) => {\r\n applyFilter(values);\r\n }}\r\n >\r\n {({\r\n values,\r\n handleSubmit,\r\n handleBlur,\r\n handleChange,\r\n setFieldValue,\r\n }) => (\r\n
\r\n {\r\n if (e.target.value === \"0\")\r\n document.getElementById(\"ReLoadTableId\").value = 1;\r\n else document.getElementById(\"ReLoadTableId\").value = 0;\r\n setFieldValue(\"ReLoadTable\", e.target.value);\r\n handleSubmit();\r\n }}\r\n />\r\n
\r\n
\r\n {\r\n setFieldValue(\"searchText\", e.target.value);\r\n handleSubmit();\r\n }}\r\n />\r\n \r\n Search in all fields\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n

\r\n IsActive\r\n

\r\n
\r\n
\r\n
\r\n
\r\n \r\n )}\r\n \r\n \r\n );\r\n}\r\n","// please be familiar with react-bootstrap-table-next column formaters\r\n// https://react-bootstrap-table.github.io/react-bootstrap-table2/storybook/index.html?selectedKind=Work%20on%20Columns&selectedStory=Column%20Formatter&full=0&addons=1&stories=1&panelRight=0&addonPanel=storybook%2Factions%2Factions-panel\r\n/* eslint-disable no-script-url,jsx-a11y/anchor-is-valid */\r\nimport React from \"react\";\r\nimport SVG from \"react-inlinesvg\";\r\nimport { toAbsoluteUrl } from \"../../../../../../../_metronic/_helpers\";\r\n\r\nexport function ActionsColumnFormatter(\r\n cellContent,\r\n row,\r\n rowIndex,\r\n { openEditCustomerDialog, openDeleteCustomerDialog }\r\n) {\r\n return (\r\n <>\r\n openEditCustomerDialog(row.id)}\r\n >\r\n \r\n \r\n \r\n \r\n <> \r\n\r\n openDeleteCustomerDialog(row.id)}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n","// React bootstrap table next =>\r\n// DOCS: https://react-bootstrap-table.github.io/react-bootstrap-table2/docs/\r\n// STORYBOOK: https://react-bootstrap-table.github.io/react-bootstrap-table2/storybook/index.html\r\nimport React, { useEffect, useMemo } from \"react\";\r\nimport BootstrapTable from \"react-bootstrap-table-next\";\r\nimport paginationFactory, {\r\n PaginationProvider,\r\n} from \"react-bootstrap-table2-paginator\";\r\nimport { shallowEqual, useDispatch, useSelector } from \"react-redux\";\r\nimport * as actions from \"../../../_redux/ManageModes/customersActions\";\r\nimport {\r\n getSelectRow,\r\n getHandlerTableChange,\r\n NoRecordsFoundMessage,\r\n PleaseWaitMessage,\r\n sortCaret,\r\n headerSortingClasses,\r\n} from \"../../../../../../_metronic/_helpers\";\r\nimport { momentDate } from \"../../../../../../_metronic/_helpers/ATHelpers\";\r\nimport * as uiHelpers from \"../CustomersUIHelpers\";\r\nimport * as columnFormatters from \"./column-formatters\";\r\nimport { Pagination } from \"../../../../../../_metronic/_partials/controls\";\r\nimport { useCustomersUIContext } from \"../CustomersUIContext\";\r\n\r\nexport function CustomersTable() {\r\n // Customers UI Context\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n ids: customersUIContext.ids,\r\n setIds: customersUIContext.setIds,\r\n queryParams: customersUIContext.queryParams,\r\n setQueryParams: customersUIContext.setQueryParams,\r\n openEditCustomerDialog: customersUIContext.openEditCustomerDialog,\r\n openDeleteCustomerDialog: customersUIContext.openDeleteCustomerDialog,\r\n };\r\n }, [customersUIContext]);\r\n\r\n // Getting curret state of customers list from store (Redux)\r\n const { currentState } = useSelector(\r\n (state) => ({ currentState: state.customers }),\r\n shallowEqual\r\n );\r\n const { totalCount, entities, listLoading } = currentState;\r\n\r\n // Customers Redux state\r\n const dispatch = useDispatch();\r\n useEffect(() => {\r\n // clear selections list\r\n customersUIProps.setIds([]);\r\n // server call by queryParams\r\n dispatch(actions.fetchCustomers(customersUIProps.queryParams));\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [customersUIProps.queryParams, dispatch]);\r\n // Table columns\r\n const columns = [\r\n {\r\n dataField: \"id\",\r\n text: \"ID\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n headerSortingClasses,\r\n },\r\n {\r\n dataField: \"Name\",\r\n text: \"Name\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n headerSortingClasses,\r\n },\r\n {\r\n dataField: \"Description\",\r\n text: \"DESCRIPTION\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n headerSortingClasses,\r\n },\r\n {\r\n dataField: \"Service\",\r\n text: \"Service\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n headerSortingClasses,\r\n },\r\n {\r\n dataField: \"Created\",\r\n text: \"Created\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n headerSortingClasses,\r\n formatter: (cell, row) => {\r\n return (\r\n <>\r\n
\r\n {momentDate(row?.Created)}\r\n
\r\n \r\n );\r\n },\r\n },\r\n {\r\n dataField: \"IsActive\",\r\n text: \"Status\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n formatter: (cell, row) => {\r\n const CustomerStatusCssClasses = [\"success\", \"danger\"];\r\n const CustomerStatusTitles = [\"Active\", \"Inactive\"];\r\n\r\n var isActive = row.IsActive === true ? 0 : 1;\r\n\r\n const getLabelCssClasses = () => {\r\n return `label label-lg label-light-${CustomerStatusCssClasses[isActive]} label-inline`;\r\n };\r\n return (\r\n \r\n {CustomerStatusTitles[isActive]}\r\n \r\n );\r\n },\r\n headerSortingClasses,\r\n },\r\n {\r\n dataField: \"action\",\r\n text: \"Actions\",\r\n formatter: columnFormatters.ActionsColumnFormatter,\r\n formatExtraData: {\r\n openEditCustomerDialog: customersUIProps.openEditCustomerDialog,\r\n openDeleteCustomerDialog: customersUIProps.openDeleteCustomerDialog,\r\n },\r\n classes: \"text-center pr-0\",\r\n headerClasses: \"text-center pr-3\",\r\n style: {\r\n minWidth: \"100px\",\r\n },\r\n },\r\n ];\r\n // Table pagination properties\r\n const paginationOptions = {\r\n custom: true,\r\n totalSize: totalCount,\r\n sizePerPageList: uiHelpers.sizePerPageList,\r\n sizePerPage: customersUIProps.queryParams.pageSize,\r\n page: customersUIProps.queryParams.pageNumber,\r\n };\r\n return (\r\n <>\r\n \r\n {({ paginationProps, paginationTableProps }) => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n }}\r\n \r\n \r\n );\r\n}\r\n","import React, { useMemo } from \"react\";\r\nimport { useCustomersUIContext } from \"../CustomersUIContext\";\r\n\r\nexport function CustomersGrouping() {\r\n // Customers UI Context\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n ids: customersUIContext.ids,\r\n setIds: customersUIContext.setIds,\r\n openDeleteCustomersDialog: customersUIContext.openDeleteCustomersDialog,\r\n openFetchCustomersDialog: customersUIContext.openFetchCustomersDialog,\r\n openUpdateCustomersStatusDialog:\r\n customersUIContext.openUpdateCustomersStatusDialog,\r\n };\r\n }, [customersUIContext]);\r\n\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n Delete All\r\n \r\n  \r\n
\r\n
\r\n
\r\n
\r\n
\r\n );\r\n}\r\n","import React, { useMemo } from \"react\";\r\nimport {\r\n Card,\r\n CardBody,\r\n CardHeader,\r\n CardHeaderToolbar,\r\n} from \"../../../../../_metronic/_partials/controls\";\r\nimport { CustomersFilter } from \"./customers-filter/CustomersFilter\";\r\nimport { CustomersTable } from \"./customers-table/CustomersTable\";\r\nimport { CustomersGrouping } from \"./customers-grouping/CustomersGrouping\";\r\nimport { useCustomersUIContext } from \"./CustomersUIContext\";\r\nimport { Helmet } from \"react-helmet\";\r\n\r\nexport function CustomersCard() {\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n ids: customersUIContext.ids,\r\n newCustomerButtonClick: customersUIContext.newCustomerButtonClick,\r\n };\r\n }, [customersUIContext]);\r\n\r\n return (\r\n <>\r\n \r\n eMPower | Manage Mode\r\n \r\n \r\n \r\n \r\n \r\n \r\n Add Mode\r\n \r\n \r\n \r\n \r\n \r\n {customersUIProps.ids.length > 0 && }\r\n \r\n \r\n \r\n \r\n );\r\n}\r\n","import React from \"react\";\r\nimport { Route } from \"react-router-dom\";\r\nimport { CustomersLoadingDialog } from \"./customers-loading-dialog/CustomersLoadingDialog\";\r\nimport { CustomerEditDialog } from \"./customer-edit-dialog/CustomerEditDialog\";\r\nimport { CustomerDeleteDialog } from \"./customer-delete-dialog/CustomerDeleteDialog\";\r\nimport { CustomersDeleteDialog } from \"./customers-delete-dialog/CustomersDeleteDialog\";\r\nimport { CustomersFetchDialog } from \"./customers-fetch-dialog/CustomersFetchDialog\";\r\nimport { CustomersUpdateStateDialog } from \"./customers-update-status-dialog/CustomersUpdateStateDialog\";\r\nimport { CustomersUIProvider } from \"./CustomersUIContext\";\r\nimport { CustomersCard } from \"./CustomersCard\";\r\n\r\nexport function ManageModes({ history }) {\r\n const customersUIEvents = {\r\n newCustomerButtonClick: () => {\r\n history.push(\"/ManageModes/new\");\r\n },\r\n openEditCustomerDialog: (id) => {\r\n history.push(`/ManageModes/${id}/edit`);\r\n },\r\n openDeleteCustomerDialog: (id) => {\r\n history.push(`/ManageModes/${id}/delete`);\r\n },\r\n openDeleteCustomersDialog: () => {\r\n history.push(`/ManageModes/deleteCustomers`);\r\n },\r\n openFetchCustomersDialog: () => {\r\n history.push(`/ManageModes/fetch`);\r\n },\r\n openUpdateCustomersStatusDialog: () => {\r\n history.push(\"/ManageModes/updateStatus\");\r\n }\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n {({ history, match }) => (\r\n {\r\n history.push(\"/ManageModes\");\r\n }}\r\n />\r\n )}\r\n \r\n \r\n {({ history, match }) => (\r\n {\r\n history.push(\"/ManageModes\");\r\n }}\r\n />\r\n )}\r\n \r\n \r\n {({ history, match }) => (\r\n {\r\n history.push(\"/ManageModes\");\r\n }}\r\n />\r\n )}\r\n \r\n \r\n {({ history, match }) => (\r\n {\r\n history.push(\"/ManageModes\");\r\n }}\r\n />\r\n )}\r\n \r\n \r\n {({ history, match }) => (\r\n {\r\n history.push(\"/ManageModes\");\r\n }}\r\n />\r\n )}\r\n \r\n \r\n {({ history, match }) => (\r\n {\r\n history.push(\"/ManageModes\");\r\n }}\r\n />\r\n )}\r\n \r\n \r\n \r\n );\r\n}\r\n","import React, { useEffect } from \"react\";\r\nimport { shallowEqual, useSelector } from \"react-redux\";\r\nimport { LoadingDialog } from \"../../../../../../_metronic/_partials/controls\";\r\n\r\nexport function CustomersLoadingDialog() {\r\n // Customers Redux state\r\n const { isLoading } = useSelector(\r\n (state) => ({ isLoading: state.customers.listLoading }),\r\n shallowEqual\r\n );\r\n // looking for loading/dispatch\r\n useEffect(() => {}, [isLoading]);\r\n return ;\r\n}\r\n","import axios from \"axios\";\r\n\r\nexport const CUSTOMERS_URL = \"api/ManageEquipmentsType\";\r\n\r\n// CREATE => POST: add a new customer to the server\r\nexport function createCustomer(customer) {\r\n return axios.post(CUSTOMERS_URL, { customer });\r\n}\r\n\r\n// READ\r\nexport function getAllCustomers() {\r\n return axios.get(CUSTOMERS_URL);\r\n}\r\n\r\nexport function getCustomerById(customerId) {\r\n return axios.get(`${CUSTOMERS_URL}/${customerId}`);\r\n}\r\n\r\n// Method from server should return QueryResultsModel(items: any[], totalsCount: number)\r\n// items => filtered/sorted result\r\nexport function findCustomers(queryParams) {\r\n return axios.post(`${CUSTOMERS_URL}/find`, { queryParams });\r\n}\r\n\r\n// UPDATE => PUT: update the customer on the server\r\nexport function updateCustomer(customer) {\r\n return axios.put(`${CUSTOMERS_URL}/${customer.Id}`, { customer });\r\n}\r\n\r\n// UPDATE Status\r\nexport function updateStatusForCustomers(ids, status) {\r\n return axios.post(`${CUSTOMERS_URL}/updateStatusForCustomers`, {\r\n ids,\r\n status\r\n });\r\n}\r\n\r\n// DELETE => delete the customer from the server\r\nexport function deleteCustomer(customerId) {\r\n return axios.delete(`${CUSTOMERS_URL}/${customerId}`);\r\n}\r\n\r\n// DELETE Customers by ids\r\nexport function deleteCustomers(ids) {\r\n return axios.post(`${CUSTOMERS_URL}/deleteCustomers`, { ids });\r\n}\r\n","import {createSlice} from \"@reduxjs/toolkit\";\r\n\r\nconst initialCustomersState = {\r\n listLoading: false,\r\n actionsLoading: false,\r\n totalCount: 0,\r\n entities: null,\r\n customerForEdit: undefined,\r\n lastError: null\r\n};\r\nexport const callTypes = {\r\n list: \"list\",\r\n action: \"action\"\r\n};\r\n\r\nexport const customersSlice = createSlice({\r\n name: \"customers\",\r\n initialState: initialCustomersState,\r\n reducers: {\r\n catchError: (state, action) => {\r\n state.error = `${action.type}: ${action.payload.error}`;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = false;\r\n } else {\r\n state.actionsLoading = false;\r\n }\r\n },\r\n startCall: (state, action) => {\r\n state.error = null;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = true;\r\n } else {\r\n state.actionsLoading = true;\r\n }\r\n },\r\n // getCustomerById\r\n customerFetched: (state, action) => {\r\n state.actionsLoading = false;\r\n state.customerForEdit = action.payload.customerForEdit;\r\n state.error = null;\r\n },\r\n // findCustomers\r\n customersFetched: (state, action) => {\r\n const { totalCount, entities } = action.payload;\r\n state.listLoading = false;\r\n state.error = null;\r\n state.entities = entities;\r\n state.totalCount = totalCount;\r\n },\r\n // createCustomer\r\n customerCreated: (state, action) => {\r\n state.actionsLoading = false;\r\n state.error = null;\r\n state.entities.push(action.payload.customer);\r\n },\r\n // updateCustomer\r\n customerUpdated: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.map(entity => {\r\n if (entity.id === action.payload.customer.id) {\r\n return action.payload.customer;\r\n }\r\n return entity;\r\n });\r\n },\r\n // deleteCustomer\r\n customerDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(el => el.id !== action.payload.id);\r\n },\r\n // deleteCustomers\r\n customersDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(\r\n el => !action.payload.ids.includes(el.id)\r\n );\r\n },\r\n // customersUpdateState\r\n customersStatusUpdated: (state, action) => {\r\n state.actionsLoading = false;\r\n state.error = null;\r\n const { ids, status } = action.payload;\r\n state.entities = state.entities.map(entity => {\r\n if (ids.findIndex(id => id === entity.id) > -1) {\r\n entity.status = status;\r\n }\r\n return entity;\r\n });\r\n }\r\n }\r\n});\r\n","import * as requestFromServer from \"./customersCrud\";\r\nimport { customersSlice, callTypes } from \"./customersSlice\";\r\n\r\nconst { actions } = customersSlice;\r\n\r\nexport const fetchCustomers = queryParams => dispatch => {\r\n dispatch(actions.startCall({ callType: callTypes.list }));\r\n return requestFromServer\r\n .findCustomers(queryParams)\r\n .then(response => {\r\n const { totalCount, entities } = response.data;\r\n dispatch(actions.customersFetched({ totalCount, entities }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't find customers\";\r\n dispatch(actions.catchError({ error, callType: callTypes.list }));\r\n });\r\n};\r\n\r\nexport const fetchCustomer = id => dispatch => {\r\n if (!id) {\r\n return dispatch(actions.customerFetched({ customerForEdit: undefined }));\r\n }\r\n\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .getCustomerById(id)\r\n .then(response => {\r\n const customer = response.data;\r\n dispatch(actions.customerFetched({ customerForEdit: customer }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't find customer\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const deleteCustomer = id => dispatch => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .deleteCustomer(id)\r\n .then(response => {\r\n dispatch(actions.customerDeleted({ id }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't delete customer\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const createCustomer = customerForCreation => dispatch => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .createCustomer(customerForCreation)\r\n .then(response => {\r\n const { customer } = response.data;\r\n dispatch(actions.customerCreated({ customer }));\r\n document.getElementById(\"ReLoadTableId\").click();\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't create customer\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const updateCustomer = customer => dispatch => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .updateCustomer(customer)\r\n .then(() => { \r\n dispatch(actions.customerUpdated({ customer }));\r\n document.getElementById(\"ReLoadTableId\").click();\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't update customer\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const updateCustomersStatus = (ids, status) => dispatch => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .updateStatusForCustomers(ids, status)\r\n .then(() => {\r\n dispatch(actions.customersStatusUpdated({ ids, status }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't update customers status\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const deleteCustomers = ids => dispatch => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .deleteCustomers(ids)\r\n .then(() => {\r\n dispatch(actions.customersDeleted({ ids }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't delete customers\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n","import React, { useState, useEffect } from \"react\";\r\nimport { shallowEqual, useSelector } from \"react-redux\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { ModalProgressBar } from \"../../../../../../_metronic/_partials/controls\";\r\nimport CloseIcon from '@material-ui/icons/Close';\r\nimport IconButton from '@material-ui/core/IconButton';\r\nexport function CustomerEditDialogHeader({ id, onHide }) {\r\n // Customers Redux state\r\n const { customerForEdit, actionsLoading } = useSelector(\r\n (state) => ({\r\n customerForEdit: state.customers.customerForEdit,\r\n actionsLoading: state.customers.actionsLoading,\r\n }),\r\n shallowEqual\r\n );\r\n\r\n const [title, setTitle] = useState(\"\");\r\n // Title couting\r\n useEffect(() => {\r\n let _title = id ? \"\" : \"New Equipment Type\";\r\n if (customerForEdit && id) {\r\n _title = `Equipment Type '${customerForEdit.Name}'`;\r\n }\r\n\r\n setTitle(_title);\r\n // eslint-disable-next-line\r\n }, [customerForEdit, actionsLoading]);\r\n\r\n return (\r\n <>\r\n {actionsLoading && }\r\n \r\n {title}\r\n {\r\n onHide(false);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n );\r\n}\r\n","// Form is based on Formik\r\n// Data validation is based on Yup\r\n// Please, be familiar with article first:\r\n// https://hackernoon.com/react-form-validation-with-formik-and-yup-8b76bda62e10\r\nimport React, { useState, useEffect } from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { Formik, Form, Field } from \"formik\";\r\nimport { Notification } from \"../../../../../modules/Notification\";\r\nimport axios from \"axios\";\r\nimport * as Yup from \"yup\";\r\nimport {\r\n Input\r\n} from \"../../../../../../_metronic/_partials/controls\";\r\nimport Select from 'react-select';\r\nimport { makeStyles } from '@material-ui/core/styles';\r\n// Validation schema\r\nconst useStyles = makeStyles(theme => ({\r\n container: {\r\n display: 'flex',\r\n flexWrap: 'wrap',\r\n },\r\n textField: {\r\n marginLeft: theme.spacing(1),\r\n marginRight: theme.spacing(1),\r\n marginBottom: '2rem'\r\n },\r\n dense: {\r\n marginTop: theme.spacing(2),\r\n },\r\n menu: {\r\n width: 200,\r\n },\r\n}));\r\nexport function CustomerEditForm({\r\n saveCustomer,\r\n customer,\r\n actionsLoading,\r\n onHide,\r\n}) {\r\n let CustomerEditSchema;\r\n if (customer.id === undefined) {\r\n CustomerEditSchema = Yup.object().shape({\r\n Name: Yup.string()\r\n .min(3, \"Minimum 3 symbols\")\r\n .max(50, \"Maximum 50 symbols\")\r\n .required(\"Name is required\"),\r\n\r\n ServiceLevelId: Yup.string()\r\n .required(\"Service Levele is required\"),\r\n });\r\n } else {\r\n CustomerEditSchema = Yup.object().shape({});\r\n }\r\n const [ServicesList, setServicesList] = useState([]);\r\n const [ServicesListOption, setServicesListOption] = useState([]);\r\n const [ModesList, setModesList] = useState([]);\r\n const [ServiceId, setServiceId] = useState(null);\r\n const [ModeId, setModeId] = useState(null);\r\n const [ServiceLevelId, setServiceLevelId] = useState(null);\r\n const [ModesListOption, setModesListOption] = useState([]);\r\n const [ServiceLevelsList, setServiceLevelsList] = useState([]);\r\n const [ServiceLevelsListOption, setServiceLevelsListOption] = useState([]);\r\n\r\n useEffect(() => {\r\n fetchGetCountriesAsync();\r\n if (customer.Service !== undefined && customer.Service !== \"\" && customer.Service !== null) {\r\n setServiceId(customer.Service);\r\n }\r\n }, [customer]);\r\n const fetchGetCountriesAsync = async () => {\r\n try {\r\n const result = await axios.get(\"api/ManageServices/GetData\");\r\n setServicesListOption(result.data.map(suggestion => ({\r\n value: suggestion.id,\r\n label: suggestion.Name,\r\n })));\r\n setServicesList(result.data || []);\r\n if (customer.ModeId !== undefined && customer.ModeId !== \"\" && customer.ModeId !== null) {\r\n const dataFilter = result.data.filter(a => a.Name === customer.Service);\r\n if (dataFilter.length > 0) {\r\n var gg = dataFilter[0].Modes;\r\n setModesListOption(gg.map(suggestion => ({\r\n value: suggestion.Id,\r\n label: suggestion.Name,\r\n })));\r\n setModesList(gg);\r\n const tt = gg.filter(a => a.Id === customer.ModeId);\r\n if (tt.length > 0) {\r\n setServiceLevelsList(tt[0].ServiceLevels);\r\n setServiceLevelsListOption(tt[0].ServiceLevels.map(suggestion => ({\r\n value: suggestion.Id,\r\n label: suggestion.Name,\r\n })));\r\n }\r\n setModeId(customer.ModeId);\r\n setServiceLevelId(customer.ServiceLevelId);\r\n\r\n }\r\n }\r\n\r\n } catch (e) { }\r\n };\r\n return (\r\n <>\r\n {\r\n saveCustomer(values);\r\n }}\r\n >\r\n {({ errors, touched, handleSubmit, setFieldValue }) => (\r\n <>\r\n \r\n {actionsLoading && (\r\n
\r\n
\r\n
\r\n )}\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n {ServicesListOption && (\r\n <>\r\n

Service

\r\n a.label === ServiceId)}\r\n onChange={(event) => {\r\n setServiceId(event.label);\r\n setFieldValue(\"ServiceId\", event.value);\r\n setFieldValue(\"ModeId\", null);\r\n setFieldValue(\"ServiceLevelId\", null);\r\n const dataFilter = ServicesList.filter(a => a.id === event.value);\r\n console.log(dataFilter);\r\n if (dataFilter[0].Modes.length > 0) {\r\n setModesList(dataFilter[0].Modes);\r\n setModesListOption(dataFilter[0].Modes.map(suggestion => ({\r\n value: suggestion.Id,\r\n label: suggestion.Name,\r\n })));\r\n } else {\r\n setModesList([]);\r\n setModeId(null);\r\n setServiceLevelId(null);\r\n setServiceLevelsList([]);\r\n setModesListOption([]);\r\n setServiceLevelsListOption([]);\r\n Notification(\"warning\", \"this Service doesn't have any mode\");\r\n }\r\n }}\r\n >\r\n \r\n \r\n )}\r\n\r\n
\r\n
\r\n
\r\n
\r\n {\r\n ModesListOption && (\r\n <>\r\n

Mode

\r\n\r\n a.value === ModeId)}\r\n\r\n onChange={(event) => {\r\n setModeId(event.value);\r\n setFieldValue(\"ModeId\", event.value);\r\n setFieldValue(\"ServiceLevelId\", null);\r\n const dataFilter = ModesList.filter(a => a.Id === event.value);\r\n if (dataFilter[0].ServiceLevels.length > 0) {\r\n setServiceLevelsList(dataFilter[0].ServiceLevels);\r\n setServiceLevelsListOption(dataFilter[0].ServiceLevels.map(suggestion => ({\r\n value: suggestion.Id,\r\n label: suggestion.Name,\r\n })))\r\n } else {\r\n setServiceLevelId(null);\r\n setServiceLevelsList([]);\r\n setModesList([]);\r\n setServiceLevelsListOption([]);\r\n setModesListOption([]);\r\n Notification(\"warning\", \"this Mode doesn't have any Service Level\");\r\n }\r\n }}\r\n >\r\n \r\n\r\n \r\n )\r\n }\r\n\r\n
\r\n
\r\n
\r\n
\r\n

Service Levele

\r\n a.value === ServiceLevelId)}\r\n options={ServiceLevelsListOption}\r\n onChange={(event) => {\r\n setServiceLevelId(event.value);\r\n setFieldValue(\"ServiceLevelId\", event.value);\r\n }}\r\n >\r\n \r\n {errors.ServiceLevelId && touched.ServiceLevelId ? (\r\n
{errors.ServiceLevelId}
\r\n ) : null}\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n Cancel\r\n \r\n <> \r\n handleSubmit()}\r\n className=\"btn btn-primary btn-elevate\"\r\n >\r\n Save\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n );\r\n}\r\n","export const CustomerStatusCssClasses = [\"danger\", \"success\", \"info\", \"\"];\r\nexport const CustomerStatusTitles = [\"Inactive\", \"Active\"];\r\nexport const CustomerTypeCssClasses = [\"success\", \"primary\", \"\"];\r\nexport const CustomerTypeTitles = [\"Business\", \"Individual\", \"\"];\r\nexport const defaultSorted = [{ dataField: \"id\", order: \"desc\" }];\r\nexport const sizePerPageList = [\r\n { text: \"3\", value: 3 },\r\n { text: \"5\", value: 5 },\r\n { text: \"10\", value: 10 }\r\n];\r\nexport const initialFilter = {\r\n filter: {\r\n lastName: \"\",\r\n firstName: \"\",\r\n email: \"\",\r\n ipAddress: \"\"\r\n },\r\n sortOrder: \"asc\", // asc||desc\r\n sortField: \"id\",\r\n pageNumber: 1,\r\n pageSize: 10\r\n};\r\n","import React, {createContext, useContext, useState, useCallback} from \"react\";\r\nimport {isEqual, isFunction} from \"lodash\";\r\nimport {initialFilter} from \"./CustomersUIHelpers\";\r\n\r\nconst CustomersUIContext = createContext();\r\n\r\nexport function useCustomersUIContext() {\r\n return useContext(CustomersUIContext);\r\n}\r\n\r\nexport const CustomersUIConsumer = CustomersUIContext.Consumer;\r\n\r\nexport function CustomersUIProvider({customersUIEvents, children}) {\r\n const [queryParams, setQueryParamsBase] = useState(initialFilter);\r\n const [ids, setIds] = useState([]);\r\n const setQueryParams = useCallback(nextQueryParams => {\r\n setQueryParamsBase(prevQueryParams => {\r\n if (isFunction(nextQueryParams)) {\r\n nextQueryParams = nextQueryParams(prevQueryParams);\r\n }\r\n\r\n if (isEqual(prevQueryParams, nextQueryParams)) {\r\n return prevQueryParams;\r\n }\r\n\r\n return nextQueryParams;\r\n });\r\n }, []);\r\n\r\n const initCustomer = {\r\n id: undefined,\r\n Name:\"\",\r\n ServiceLevelId:\"\"\r\n };\r\n\r\n const value = {\r\n queryParams,\r\n setQueryParamsBase,\r\n ids,\r\n setIds,\r\n setQueryParams,\r\n initCustomer,\r\n newCustomerButtonClick: customersUIEvents.newCustomerButtonClick,\r\n openEditCustomerDialog: customersUIEvents.openEditCustomerDialog,\r\n openDeleteCustomerDialog: customersUIEvents.openDeleteCustomerDialog,\r\n openDeleteCustomersDialog: customersUIEvents.openDeleteCustomersDialog,\r\n openFetchCustomersDialog: customersUIEvents.openFetchCustomersDialog,\r\n openUpdateCustomersStatusDialog: customersUIEvents.openUpdateCustomersStatusDialog\r\n };\r\n\r\n return {children};\r\n}","import React, { useEffect, useMemo } from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { shallowEqual, useDispatch, useSelector } from \"react-redux\";\r\nimport * as actions from \"../../../_redux/ManageEquipmentsType/customersActions\";\r\nimport { CustomerEditDialogHeader } from \"./CustomerEditDialogHeader\";\r\nimport { CustomerEditForm } from \"./CustomerEditForm\";\r\nimport { useCustomersUIContext } from \"../CustomersUIContext\";\r\n\r\nexport function CustomerEditDialog({ id, show, onHide }) {\r\n // Customers UI Context\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n initCustomer: customersUIContext.initCustomer,\r\n };\r\n }, [customersUIContext]);\r\n\r\n // Customers Redux state\r\n const dispatch = useDispatch();\r\n const { actionsLoading, customerForEdit } = useSelector(\r\n (state) => ({\r\n actionsLoading: state.customers.actionsLoading,\r\n customerForEdit: state.customers.customerForEdit,\r\n }),\r\n shallowEqual\r\n );\r\n\r\n useEffect(() => {\r\n // server call for getting Customer by id\r\n dispatch(actions.fetchCustomer(id));\r\n }, [id, dispatch]);\r\n\r\n // server request for saving customer\r\n const saveCustomer = (customer) => {\r\n if (!id) {\r\n // server request for creating customer\r\n dispatch(actions.createCustomer(customer)).then(() => onHide());\r\n } else {\r\n // server request for updating customer\r\n dispatch(actions.updateCustomer(customer)).then(() => onHide());\r\n }\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n}\r\n","import React, { useEffect, useMemo } from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { shallowEqual, useDispatch, useSelector } from \"react-redux\";\r\nimport {ModalProgressBar} from \"../../../../../../_metronic/_partials/controls\";\r\nimport * as actions from \"../../../_redux/ManageEquipmentsType/customersActions\";\r\nimport {useCustomersUIContext} from \"../CustomersUIContext\";\r\n\r\nexport function CustomerDeleteDialog({ id, show, onHide }) {\r\n // Customers UI Context\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n setIds: customersUIContext.setIds,\r\n queryParams: customersUIContext.queryParams\r\n };\r\n }, [customersUIContext]);\r\n\r\n // Customers Redux state\r\n const dispatch = useDispatch();\r\n const { isLoading } = useSelector(\r\n (state) => ({ isLoading: state.customers.actionsLoading }),\r\n shallowEqual\r\n );\r\n\r\n // if !id we should close modal\r\n useEffect(() => {\r\n if (!id) {\r\n onHide();\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [id]);\r\n\r\n // looking for loading/dispatch\r\n useEffect(() => {}, [isLoading, dispatch]);\r\n\r\n const deleteCustomer = () => {\r\n // server request for deleting customer by id\r\n dispatch(actions.deleteCustomer(id)).then(() => {\r\n // refresh list after deletion\r\n dispatch(actions.fetchCustomers(customersUIProps.queryParams));\r\n // clear selections list\r\n customersUIProps.setIds([]);\r\n // closing delete modal\r\n onHide();\r\n });\r\n };\r\n\r\n return (\r\n \r\n {/*begin::Loading*/}\r\n {isLoading && }\r\n {/*end::Loading*/}\r\n \r\n \r\n Equipments Type Delete\r\n \r\n \r\n \r\n {!isLoading && (\r\n Are you sure to permanently delete this Equipment Type?\r\n )}\r\n {isLoading && Equipment Type is deleting...}\r\n \r\n \r\n
\r\n \r\n Cancel\r\n \r\n <> \r\n \r\n Delete\r\n \r\n
\r\n
\r\n \r\n );\r\n}\r\n","import React, { useEffect, useMemo } from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { shallowEqual, useDispatch, useSelector } from \"react-redux\";\r\nimport * as actions from \"../../../_redux/ManageEquipmentsType/customersActions\";\r\nimport { useCustomersUIContext } from \"../CustomersUIContext\";\r\nimport {ModalProgressBar} from \"../../../../../../_metronic/_partials/controls\";\r\n\r\nexport function CustomersDeleteDialog({ show, onHide }) {\r\n // Customers UI Context\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n ids: customersUIContext.ids,\r\n setIds: customersUIContext.setIds,\r\n queryParams: customersUIContext.queryParams,\r\n };\r\n }, [customersUIContext]);\r\n\r\n // Customers Redux state\r\n const dispatch = useDispatch();\r\n const { isLoading } = useSelector(\r\n (state) => ({ isLoading: state.customers.actionsLoading }),\r\n shallowEqual\r\n );\r\n\r\n // if customers weren't selected we should close modal\r\n useEffect(() => {\r\n if (!customersUIProps.ids || customersUIProps.ids.length === 0) {\r\n onHide();\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [customersUIProps.ids]);\r\n\r\n // looking for loading/dispatch\r\n useEffect(() => {}, [isLoading, dispatch]);\r\n\r\n const deleteCustomers = () => {\r\n // server request for deleting customer by selected ids\r\n dispatch(actions.deleteCustomers(customersUIProps.ids)).then(() => {\r\n // refresh list after deletion\r\n dispatch(actions.fetchCustomers(customersUIProps.queryParams)).then(\r\n () => {\r\n // clear selections list\r\n customersUIProps.setIds([]);\r\n // closing delete modal\r\n onHide();\r\n }\r\n );\r\n });\r\n };\r\n\r\n return (\r\n \r\n {/*begin::Loading*/}\r\n {isLoading && }\r\n {/*end::Loading*/}\r\n \r\n \r\n Equipments Type Delete\r\n \r\n \r\n \r\n {!isLoading && (\r\n Are you sure to permanently delete selected Equipment Type?\r\n )}\r\n {isLoading && Equipment Type are deleting...}\r\n \r\n \r\n
\r\n \r\n Cancel\r\n \r\n <> \r\n \r\n Delete\r\n \r\n
\r\n
\r\n \r\n );\r\n}\r\n","import React, { useEffect, useMemo } from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { shallowEqual, useSelector } from \"react-redux\";\r\nimport { CustomerStatusCssClasses } from \"../CustomersUIHelpers\";\r\nimport { useCustomersUIContext } from \"../CustomersUIContext\";\r\n\r\nconst selectedCustomers = (entities, ids) => {\r\n const _customers = [];\r\n ids.forEach((id) => {\r\n const customer = entities.find((el) => el.id === id);\r\n if (customer) {\r\n _customers.push(customer);\r\n }\r\n });\r\n return _customers;\r\n};\r\n\r\nexport function CustomersFetchDialog({ show, onHide }) {\r\n // Customers UI Context\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n ids: customersUIContext.ids,\r\n };\r\n }, [customersUIContext]);\r\n\r\n // Customers Redux state\r\n const { customers } = useSelector(\r\n (state) => ({\r\n customers: selectedCustomers(\r\n state.customers.entities,\r\n customersUIProps.ids\r\n ),\r\n }),\r\n shallowEqual\r\n );\r\n\r\n // if customers weren't selected we should close modal\r\n useEffect(() => {\r\n if (!customersUIProps.ids || customersUIProps.ids.length === 0) {\r\n onHide();\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [customersUIProps.ids]);\r\n\r\n return (\r\n \r\n \r\n \r\n Fetch selected elements\r\n \r\n \r\n \r\n
\r\n {customers.map((customer) => (\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n ID: {customer.id}\r\n \r\n {customer.lastName}, {customer.firstName} \r\n
\r\n
\r\n ))}\r\n
\r\n \r\n \r\n
\r\n \r\n Cancel\r\n \r\n <> \r\n \r\n Ok\r\n \r\n
\r\n
\r\n \r\n );\r\n}\r\n","import React, { useEffect, useState, useMemo } from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { shallowEqual, useDispatch, useSelector } from \"react-redux\";\r\nimport { CustomerStatusCssClasses } from \"../CustomersUIHelpers\";\r\nimport * as actions from \"../../../_redux/ManageEquipmentsType/customersActions\";\r\nimport { useCustomersUIContext } from \"../CustomersUIContext\";\r\n\r\nconst selectedCustomers = (entities, ids) => {\r\n const _customers = [];\r\n ids.forEach((id) => {\r\n const customer = entities.find((el) => el.id === id);\r\n if (customer) {\r\n _customers.push(customer);\r\n }\r\n });\r\n return _customers;\r\n};\r\n\r\nexport function CustomersUpdateStateDialog({ show, onHide }) {\r\n // Customers UI Context\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n ids: customersUIContext.ids,\r\n setIds: customersUIContext.setIds,\r\n queryParams: customersUIContext.queryParams,\r\n };\r\n }, [customersUIContext]);\r\n\r\n // Customers Redux state\r\n const { customers, isLoading } = useSelector(\r\n (state) => ({\r\n customers: selectedCustomers(\r\n state.customers.entities,\r\n customersUIProps.ids\r\n ),\r\n isLoading: state.customers.actionsLoading,\r\n }),\r\n shallowEqual\r\n );\r\n\r\n // if !id we should close modal\r\n useEffect(() => {\r\n if (!customersUIProps.ids || customersUIProps.ids.length === 0) {\r\n onHide();\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [customersUIProps.ids]);\r\n\r\n const [status, setStatus] = useState(0);\r\n\r\n const dispatch = useDispatch();\r\n const updateStatus = () => {\r\n // server request for update customers status by selected ids\r\n dispatch(actions.updateCustomersStatus(customersUIProps.ids, status)).then(\r\n () => {\r\n // refresh list after deletion\r\n dispatch(actions.fetchCustomers(customersUIProps.queryParams)).then(\r\n () => {\r\n // clear selections list\r\n customersUIProps.setIds([]);\r\n // closing delete modal\r\n onHide();\r\n }\r\n );\r\n }\r\n );\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n Status has been updated for selected User\r\n \r\n \r\n \r\n {/*begin::Loading*/}\r\n {isLoading && (\r\n
\r\n
\r\n
\r\n )}\r\n {/*end::Loading*/}\r\n\r\n
\r\n {customers.map((customer) => (\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n ID: {customer.id}\r\n \r\n \r\n {customer.lastName}, {customer.firstName}\r\n \r\n
\r\n
\r\n ))}\r\n
\r\n \r\n \r\n
\r\n setStatus(+e.target.value)}\r\n >\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n Cancel\r\n \r\n \r\n Update Status\r\n \r\n
\r\n
\r\n \r\n );\r\n}\r\n","import React, { useMemo } from \"react\";\r\nimport { Formik } from \"formik\";\r\nimport { isEqual } from \"lodash\";\r\nimport { useCustomersUIContext } from \"../CustomersUIContext\";\r\nconst prepareFilter = (queryParams, values) => {\r\n const { ReLoadTable,status, type, searchText } = values;\r\n const newQueryParams = { ...queryParams };\r\n const filter = {};\r\n // Filter by status\r\n filter.status = status !== \"\" ? +status : undefined;\r\n // Filter by type\r\n filter.type = type !== \"\" ? +type : undefined;\r\n // Filter by all fields\r\n filter.Name = searchText;\r\n if (searchText) {\r\n filter.Name = searchText;\r\n }\r\n filter.ReLoadTable = ReLoadTable;\r\n newQueryParams.filter = filter;\r\n return newQueryParams;\r\n};\r\n\r\nexport function CustomersFilter({ listLoading }) {\r\n // Customers UI Context\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n queryParams: customersUIContext.queryParams,\r\n setQueryParams: customersUIContext.setQueryParams,\r\n };\r\n }, [customersUIContext]);\r\n\r\n // queryParams, setQueryParams,\r\n const applyFilter = (values) => {\r\n const newQueryParams = prepareFilter(customersUIProps.queryParams, values);\r\n if (!isEqual(newQueryParams, customersUIProps.queryParams)) {\r\n newQueryParams.pageNumber = 1;\r\n // update list by queryParams\r\n customersUIProps.setQueryParams(newQueryParams);\r\n }\r\n };\r\n\r\n return (\r\n <>\r\n All=\"\"/Susspended=0/Active=1/Pending=2\r\n type: \"\", // values => All=\"\"/Business=0/Individual=1\r\n searchText: \"\",ReLoadTable: 0,\r\n }}\r\n onSubmit={(values) => {\r\n applyFilter(values);\r\n }}\r\n >\r\n {({\r\n values,\r\n handleSubmit,\r\n handleBlur,\r\n handleChange,\r\n setFieldValue,\r\n }) => (\r\n
\r\n {\r\n if (e.target.value === \"0\")\r\n document.getElementById(\"ReLoadTableId\").value = 1;\r\n else document.getElementById(\"ReLoadTableId\").value = 0;\r\n setFieldValue(\"ReLoadTable\", e.target.value);\r\n handleSubmit();\r\n }}\r\n />\r\n
\r\n
\r\n {\r\n setFieldValue(\"searchText\", e.target.value);\r\n handleSubmit();\r\n }}\r\n />\r\n \r\n Search in all fields\r\n \r\n
\r\n
\r\n \r\n )}\r\n \r\n \r\n );\r\n}\r\n","// please be familiar with react-bootstrap-table-next column formaters\r\n// https://react-bootstrap-table.github.io/react-bootstrap-table2/storybook/index.html?selectedKind=Work%20on%20Columns&selectedStory=Column%20Formatter&full=0&addons=1&stories=1&panelRight=0&addonPanel=storybook%2Factions%2Factions-panel\r\n/* eslint-disable no-script-url,jsx-a11y/anchor-is-valid */\r\nimport React from \"react\";\r\nimport SVG from \"react-inlinesvg\";\r\nimport { toAbsoluteUrl } from \"../../../../../../../_metronic/_helpers\";\r\n\r\nexport function ActionsColumnFormatter(\r\n cellContent,\r\n row,\r\n rowIndex,\r\n { openEditCustomerDialog, openDeleteCustomerDialog }\r\n) {\r\n return (\r\n <>\r\n openEditCustomerDialog(row.id)}\r\n >\r\n \r\n \r\n \r\n \r\n <> \r\n\r\n openDeleteCustomerDialog(row.id)}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n","// React bootstrap table next =>\r\n// DOCS: https://react-bootstrap-table.github.io/react-bootstrap-table2/docs/\r\n// STORYBOOK: https://react-bootstrap-table.github.io/react-bootstrap-table2/storybook/index.html\r\nimport React, { useEffect, useMemo } from \"react\";\r\nimport BootstrapTable from \"react-bootstrap-table-next\";\r\nimport paginationFactory, {\r\n PaginationProvider,\r\n} from \"react-bootstrap-table2-paginator\";\r\nimport { shallowEqual, useDispatch, useSelector } from \"react-redux\";\r\nimport * as actions from \"../../../_redux/ManageEquipmentsType/customersActions\";\r\nimport {\r\n getSelectRow,\r\n getHandlerTableChange,\r\n NoRecordsFoundMessage,\r\n PleaseWaitMessage,\r\n sortCaret,\r\n headerSortingClasses,\r\n} from \"../../../../../../_metronic/_helpers\";\r\nimport { momentDate } from \"../../../../../../_metronic/_helpers/ATHelpers\";\r\nimport * as uiHelpers from \"../CustomersUIHelpers\";\r\nimport * as columnFormatters from \"./column-formatters\";\r\nimport { Pagination } from \"../../../../../../_metronic/_partials/controls\";\r\nimport { useCustomersUIContext } from \"../CustomersUIContext\";\r\n\r\nexport function CustomersTable() {\r\n // Customers UI Context\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n ids: customersUIContext.ids,\r\n setIds: customersUIContext.setIds,\r\n queryParams: customersUIContext.queryParams,\r\n setQueryParams: customersUIContext.setQueryParams,\r\n openEditCustomerDialog: customersUIContext.openEditCustomerDialog,\r\n openDeleteCustomerDialog: customersUIContext.openDeleteCustomerDialog,\r\n };\r\n }, [customersUIContext]);\r\n\r\n // Getting curret state of customers list from store (Redux)\r\n const { currentState } = useSelector(\r\n (state) => ({ currentState: state.customers }),\r\n shallowEqual\r\n );\r\n const { totalCount, entities, listLoading } = currentState;\r\n\r\n // Customers Redux state\r\n const dispatch = useDispatch();\r\n useEffect(() => {\r\n // clear selections list\r\n customersUIProps.setIds([]);\r\n // server call by queryParams\r\n dispatch(actions.fetchCustomers(customersUIProps.queryParams));\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [customersUIProps.queryParams, dispatch]);\r\n // Table columns\r\n const columns = [\r\n {\r\n dataField: \"id\",\r\n text: \"ID\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n headerSortingClasses,\r\n },\r\n {\r\n dataField: \"Name\",\r\n text: \"Name\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n headerSortingClasses,\r\n },\r\n {\r\n dataField: \"Description\",\r\n text: \"DESCRIPTION\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n headerSortingClasses,\r\n },\r\n {\r\n dataField: \"Service\",\r\n text: \"Service\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n headerSortingClasses,\r\n },\r\n {\r\n dataField: \"Mode\",\r\n text: \"Mode\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n headerSortingClasses,\r\n },\r\n {\r\n dataField: \"ServiceLevel\",\r\n text: \"Service Level\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n headerSortingClasses,\r\n },\r\n {\r\n dataField: \"Created\",\r\n text: \"Created\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n headerSortingClasses,\r\n formatter: (cell, row) => {\r\n return (\r\n <>\r\n
\r\n {momentDate(row?.Created)}\r\n
\r\n \r\n );\r\n },\r\n },\r\n {\r\n dataField: \"action\",\r\n text: \"Actions\",\r\n formatter: columnFormatters.ActionsColumnFormatter,\r\n formatExtraData: {\r\n openEditCustomerDialog: customersUIProps.openEditCustomerDialog,\r\n openDeleteCustomerDialog: customersUIProps.openDeleteCustomerDialog,\r\n },\r\n classes: \"text-center pr-0\",\r\n headerClasses: \"text-center pr-3\",\r\n style: {\r\n minWidth: \"100px\",\r\n },\r\n },\r\n ];\r\n // Table pagination properties\r\n const paginationOptions = {\r\n custom: true,\r\n totalSize: totalCount,\r\n sizePerPageList: uiHelpers.sizePerPageList,\r\n sizePerPage: customersUIProps.queryParams.pageSize,\r\n page: customersUIProps.queryParams.pageNumber,\r\n };\r\n return (\r\n <>\r\n \r\n {({ paginationProps, paginationTableProps }) => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n }}\r\n \r\n \r\n );\r\n}\r\n","import React, { useMemo } from \"react\";\r\nimport { useCustomersUIContext } from \"../CustomersUIContext\";\r\n\r\nexport function CustomersGrouping() {\r\n // Customers UI Context\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n ids: customersUIContext.ids,\r\n setIds: customersUIContext.setIds,\r\n openDeleteCustomersDialog: customersUIContext.openDeleteCustomersDialog,\r\n openFetchCustomersDialog: customersUIContext.openFetchCustomersDialog,\r\n openUpdateCustomersStatusDialog:\r\n customersUIContext.openUpdateCustomersStatusDialog,\r\n };\r\n }, [customersUIContext]);\r\n\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n Delete All\r\n \r\n  \r\n
\r\n
\r\n
\r\n
\r\n
\r\n );\r\n}\r\n","import React, { useMemo } from \"react\";\r\nimport {\r\n Card,\r\n CardBody,\r\n CardHeader,\r\n CardHeaderToolbar,\r\n} from \"../../../../../_metronic/_partials/controls\";\r\nimport { CustomersFilter } from \"./customers-filter/CustomersFilter\";\r\nimport { CustomersTable } from \"./customers-table/CustomersTable\";\r\nimport { CustomersGrouping } from \"./customers-grouping/CustomersGrouping\";\r\nimport { useCustomersUIContext } from \"./CustomersUIContext\";\r\nimport { Helmet } from \"react-helmet\";\r\n\r\nexport function CustomersCard() {\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n ids: customersUIContext.ids,\r\n newCustomerButtonClick: customersUIContext.newCustomerButtonClick,\r\n };\r\n }, [customersUIContext]);\r\n\r\n return (\r\n <>\r\n \r\n eMPower | Equipments Type\r\n \r\n \r\n \r\n \r\n \r\n \r\n Add Equipments Type\r\n \r\n \r\n \r\n \r\n \r\n {customersUIProps.ids.length > 0 && }\r\n \r\n \r\n \r\n \r\n );\r\n}\r\n","import React from \"react\";\r\nimport { Route } from \"react-router-dom\";\r\nimport { CustomersLoadingDialog } from \"./customers-loading-dialog/CustomersLoadingDialog\";\r\nimport { CustomerEditDialog } from \"./customer-edit-dialog/CustomerEditDialog\";\r\nimport { CustomerDeleteDialog } from \"./customer-delete-dialog/CustomerDeleteDialog\";\r\nimport { CustomersDeleteDialog } from \"./customers-delete-dialog/CustomersDeleteDialog\";\r\nimport { CustomersFetchDialog } from \"./customers-fetch-dialog/CustomersFetchDialog\";\r\nimport { CustomersUpdateStateDialog } from \"./customers-update-status-dialog/CustomersUpdateStateDialog\";\r\nimport { CustomersUIProvider } from \"./CustomersUIContext\";\r\nimport { CustomersCard } from \"./CustomersCard\";\r\n\r\nexport function ManageEquipmentsType({ history }) {\r\n const customersUIEvents = {\r\n newCustomerButtonClick: () => {\r\n history.push(\"/ManageEquipmentsType/new\");\r\n },\r\n openEditCustomerDialog: (id) => {\r\n history.push(`/ManageEquipmentsType/${id}/edit`);\r\n },\r\n openDeleteCustomerDialog: (id) => {\r\n history.push(`/ManageEquipmentsType/${id}/delete`);\r\n },\r\n openDeleteCustomersDialog: () => {\r\n history.push(`/ManageEquipmentsType/deleteCustomers`);\r\n },\r\n openFetchCustomersDialog: () => {\r\n history.push(`/ManageEquipmentsType/fetch`);\r\n },\r\n openUpdateCustomersStatusDialog: () => {\r\n history.push(\"/ManageEquipmentsType/updateStatus\");\r\n }\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n {({ history, match }) => (\r\n {\r\n history.push(\"/ManageEquipmentsType\");\r\n }}\r\n />\r\n )}\r\n \r\n \r\n {({ history, match }) => (\r\n {\r\n history.push(\"/ManageEquipmentsType\");\r\n }}\r\n />\r\n )}\r\n \r\n \r\n {({ history, match }) => (\r\n {\r\n history.push(\"/ManageEquipmentsType\");\r\n }}\r\n />\r\n )}\r\n \r\n \r\n {({ history, match }) => (\r\n {\r\n history.push(\"/ManageEquipmentsType\");\r\n }}\r\n />\r\n )}\r\n \r\n \r\n {({ history, match }) => (\r\n {\r\n history.push(\"/ManageEquipmentsType\");\r\n }}\r\n />\r\n )}\r\n \r\n \r\n {({ history, match }) => (\r\n {\r\n history.push(\"/ManageEquipmentsType\");\r\n }}\r\n />\r\n )}\r\n \r\n \r\n \r\n );\r\n}\r\n","import React, { useEffect } from \"react\";\r\nimport { shallowEqual, useSelector } from \"react-redux\";\r\nimport { LoadingDialog } from \"../../../../../../_metronic/_partials/controls\";\r\n\r\nexport function CustomersLoadingDialog() {\r\n // Customers Redux state\r\n const { isLoading } = useSelector(\r\n (state) => ({ isLoading: state.customers.listLoading }),\r\n shallowEqual\r\n );\r\n // looking for loading/dispatch\r\n useEffect(() => {}, [isLoading]);\r\n return ;\r\n}\r\n","import axios from \"axios\";\r\n\r\nexport const CUSTOMERS_URL = \"api/ManageServiceLevels\";\r\n\r\n// CREATE => POST: add a new customer to the server\r\nexport function createCustomer(customer) {\r\n return axios.post(CUSTOMERS_URL, { customer });\r\n}\r\n\r\n// READ\r\nexport function getAllCustomers() {\r\n return axios.get(CUSTOMERS_URL);\r\n}\r\n\r\nexport function getCustomerById(customerId) {\r\n return axios.get(`${CUSTOMERS_URL}/${customerId}`);\r\n}\r\n\r\n// Method from server should return QueryResultsModel(items: any[], totalsCount: number)\r\n// items => filtered/sorted result\r\nexport function findCustomers(queryParams) {\r\n return axios.post(`${CUSTOMERS_URL}/find`, { queryParams });\r\n}\r\n\r\n// UPDATE => PUT: update the customer on the server\r\nexport function updateCustomer(customer) {\r\n return axios.put(`${CUSTOMERS_URL}/${customer.Id}`, { customer });\r\n}\r\n\r\n// UPDATE Status\r\nexport function updateStatusForCustomers(ids, status) {\r\n return axios.post(`${CUSTOMERS_URL}/updateStatusForCustomers`, {\r\n ids,\r\n status\r\n });\r\n}\r\n\r\n// DELETE => delete the customer from the server\r\nexport function deleteCustomer(customerId) {\r\n return axios.delete(`${CUSTOMERS_URL}/${customerId}`);\r\n}\r\n\r\n// DELETE Customers by ids\r\nexport function deleteCustomers(ids) {\r\n return axios.post(`${CUSTOMERS_URL}/deleteCustomers`, { ids });\r\n}\r\n","import {createSlice} from \"@reduxjs/toolkit\";\r\n\r\nconst initialCustomersState = {\r\n listLoading: false,\r\n actionsLoading: false,\r\n totalCount: 0,\r\n entities: null,\r\n customerForEdit: undefined,\r\n lastError: null\r\n};\r\nexport const callTypes = {\r\n list: \"list\",\r\n action: \"action\"\r\n};\r\n\r\nexport const customersSlice = createSlice({\r\n name: \"customers\",\r\n initialState: initialCustomersState,\r\n reducers: {\r\n catchError: (state, action) => {\r\n state.error = `${action.type}: ${action.payload.error}`;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = false;\r\n } else {\r\n state.actionsLoading = false;\r\n }\r\n },\r\n startCall: (state, action) => {\r\n state.error = null;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = true;\r\n } else {\r\n state.actionsLoading = true;\r\n }\r\n },\r\n // getCustomerById\r\n customerFetched: (state, action) => {\r\n state.actionsLoading = false;\r\n state.customerForEdit = action.payload.customerForEdit;\r\n state.error = null;\r\n },\r\n // findCustomers\r\n customersFetched: (state, action) => {\r\n const { totalCount, entities } = action.payload;\r\n state.listLoading = false;\r\n state.error = null;\r\n state.entities = entities;\r\n state.totalCount = totalCount;\r\n },\r\n // createCustomer\r\n customerCreated: (state, action) => {\r\n state.actionsLoading = false;\r\n state.error = null;\r\n state.entities.push(action.payload.customer);\r\n },\r\n // updateCustomer\r\n customerUpdated: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.map(entity => {\r\n if (entity.id === action.payload.customer.id) {\r\n return action.payload.customer;\r\n }\r\n return entity;\r\n });\r\n },\r\n // deleteCustomer\r\n customerDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(el => el.id !== action.payload.id);\r\n },\r\n // deleteCustomers\r\n customersDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(\r\n el => !action.payload.ids.includes(el.id)\r\n );\r\n },\r\n // customersUpdateState\r\n customersStatusUpdated: (state, action) => {\r\n state.actionsLoading = false;\r\n state.error = null;\r\n const { ids, status } = action.payload;\r\n state.entities = state.entities.map(entity => {\r\n if (ids.findIndex(id => id === entity.id) > -1) {\r\n entity.status = status;\r\n }\r\n return entity;\r\n });\r\n }\r\n }\r\n});\r\n","import * as requestFromServer from \"./customersCrud\";\r\nimport { customersSlice, callTypes } from \"./customersSlice\";\r\n\r\nconst { actions } = customersSlice;\r\n\r\nexport const fetchCustomers = queryParams => dispatch => {\r\n dispatch(actions.startCall({ callType: callTypes.list }));\r\n return requestFromServer\r\n .findCustomers(queryParams)\r\n .then(response => {\r\n const { totalCount, entities } = response.data;\r\n dispatch(actions.customersFetched({ totalCount, entities }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't find customers\";\r\n dispatch(actions.catchError({ error, callType: callTypes.list }));\r\n });\r\n};\r\n\r\nexport const fetchCustomer = id => dispatch => {\r\n if (!id) {\r\n return dispatch(actions.customerFetched({ customerForEdit: undefined }));\r\n }\r\n\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .getCustomerById(id)\r\n .then(response => {\r\n const customer = response.data;\r\n dispatch(actions.customerFetched({ customerForEdit: customer }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't find customer\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const deleteCustomer = id => dispatch => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .deleteCustomer(id)\r\n .then(response => {\r\n dispatch(actions.customerDeleted({ id }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't delete customer\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const createCustomer = customerForCreation => dispatch => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .createCustomer(customerForCreation)\r\n .then(response => {\r\n const { customer } = response.data;\r\n dispatch(actions.customerCreated({ customer }));\r\n document.getElementById(\"ReLoadTableId\").click();\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't create customer\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const updateCustomer = customer => dispatch => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .updateCustomer(customer)\r\n .then(() => { \r\n dispatch(actions.customerUpdated({ customer }));\r\n document.getElementById(\"ReLoadTableId\").click();\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't update customer\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const updateCustomersStatus = (ids, status) => dispatch => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .updateStatusForCustomers(ids, status)\r\n .then(() => {\r\n dispatch(actions.customersStatusUpdated({ ids, status }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't update customers status\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const deleteCustomers = ids => dispatch => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .deleteCustomers(ids)\r\n .then(() => {\r\n dispatch(actions.customersDeleted({ ids }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't delete customers\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n","import React, { useState, useEffect } from \"react\";\r\nimport { shallowEqual, useSelector } from \"react-redux\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { ModalProgressBar } from \"../../../../../../_metronic/_partials/controls\";\r\nimport CloseIcon from '@material-ui/icons/Close';\r\nimport IconButton from '@material-ui/core/IconButton';\r\nexport function CustomerEditDialogHeader({ id, onHide }) {\r\n // Customers Redux state\r\n const { customerForEdit, actionsLoading } = useSelector(\r\n (state) => ({\r\n customerForEdit: state.customers.customerForEdit,\r\n actionsLoading: state.customers.actionsLoading,\r\n }),\r\n shallowEqual\r\n );\r\n\r\n const [title, setTitle] = useState(\"\");\r\n // Title couting\r\n useEffect(() => {\r\n let _title = id ? \"\" : \"New Service Level\";\r\n console.log(\"customerForEdit\");\r\n if (customerForEdit && id) {\r\n _title = `Edit Service Level '${customerForEdit.Name}'`;\r\n }\r\n\r\n setTitle(_title);\r\n // eslint-disable-next-line\r\n }, [customerForEdit, actionsLoading]);\r\n\r\n return (\r\n <>\r\n {actionsLoading && }\r\n \r\n {title}\r\n {\r\n onHide(false);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n );\r\n}\r\n","// Form is based on Formik\r\n// Data validation is based on Yup\r\n// Please, be familiar with article first:\r\n// https://hackernoon.com/react-form-validation-with-formik-and-yup-8b76bda62e10\r\nimport React, { useState, useEffect } from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { Formik, Form, Field } from \"formik\";\r\nimport { Notification } from \"../../../../../modules/Notification\";\r\nimport * as Yup from \"yup\";\r\nimport Select from 'react-select';\r\nimport axios from \"axios\"\r\nimport {\r\n Input,\r\n} from \"../../../../../../_metronic/_partials/controls\";\r\nimport { makeStyles } from '@material-ui/core/styles';\r\n// Validation schema\r\nconst useStyles = makeStyles(theme => ({\r\n container: {\r\n display: 'flex',\r\n flexWrap: 'wrap',\r\n },\r\n textField: {\r\n marginLeft: theme.spacing(1),\r\n marginRight: theme.spacing(1),\r\n marginBottom: '2rem'\r\n },\r\n dense: {\r\n marginTop: theme.spacing(2),\r\n },\r\n menu: {\r\n width: 200,\r\n },\r\n}));\r\nexport function CustomerEditForm({\r\n saveCustomer,\r\n customer,\r\n actionsLoading,\r\n onHide,\r\n}) {\r\n let CustomerEditSchema;\r\n if (customer.id === undefined) {\r\n CustomerEditSchema = Yup.object().shape({\r\n Name: Yup.string()\r\n .min(3, \"Minimum 3 symbols\")\r\n .max(50, \"Maximum 50 symbols\")\r\n .required(\"Name is required\"),\r\n\r\n ModeId: Yup.string()\r\n .required(\"Mode is required\"),\r\n });\r\n } else {\r\n CustomerEditSchema = Yup.object().shape({});\r\n }\r\n const [ServicesList, setServicesList] = useState([]);\r\n const [ServicesListOption, setServicesListOption] = useState([]);\r\n const [ServiceId, setServiceId] = useState(null);\r\n const [ModesList, setModesList] = useState([]);\r\n const [ModesListOption, setModesListOption] = useState([]);\r\n const [ModeId, setModeId] = useState(null);\r\n\r\n useEffect(() => {\r\n fetchGetCountriesAsync();\r\n if (customer.Service !== undefined && customer.Service !== \"\" && customer.Service !== null) {\r\n setServiceId(customer.Service);\r\n }\r\n }, [customer]);\r\n const fetchGetCountriesAsync = async () => {\r\n try {\r\n const result = await axios.get(\"api/ManageServices/GetData\");\r\n setServicesListOption(result.data.map(suggestion => ({\r\n value: suggestion.id,\r\n label: suggestion.Name,\r\n })));\r\n setServicesList(result.data || []);\r\n if (customer.ModeId !== undefined && customer.ModeId !== \"\" && customer.ModeId !== null) {\r\n const dataFilter = result.data.filter(a => a.Name === customer.Service);\r\n if (dataFilter.length > 0) {\r\n var gg = dataFilter[0].Modes;\r\n setModesListOption(gg.map(suggestion => ({\r\n value: suggestion.Id,\r\n label: suggestion.Name,\r\n })));\r\n setModesList(dataFilter[0].Modes);\r\n setModeId(customer.ModeId);\r\n }\r\n }\r\n } catch (e) { }\r\n };\r\n return (\r\n <>\r\n {\r\n saveCustomer(values);\r\n }}\r\n >\r\n {({ errors, touched, handleSubmit, setFieldValue }) => (\r\n <>\r\n \r\n {actionsLoading && (\r\n
\r\n
\r\n
\r\n )}\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n {ServicesListOption && (\r\n <>\r\n

Service

\r\n\r\n a.label === ServiceId)}\r\n onChange={(event) => {\r\n setServiceId(event.label);\r\n setFieldValue(\"ServiceId\", event.value);\r\n setFieldValue(\"ModeId\", null);\r\n const dataFilter = ServicesList.filter(a => a.id === event.value);\r\n console.log(dataFilter);\r\n if (dataFilter[0].Modes.length > 0) {\r\n setModesList(dataFilter[0].Modes);\r\n setModesListOption(dataFilter[0].Modes.map(suggestion => ({\r\n value: suggestion.Id,\r\n label: suggestion.Name,\r\n })));\r\n } else {\r\n setModesList([]);\r\n setModeId(null);\r\n setModesListOption([]);\r\n Notification(\"warning\", \"this Service doesn't have any mode\");\r\n }\r\n }}\r\n >\r\n \r\n \r\n )}\r\n
\r\n
\r\n
\r\n
\r\n {\r\n ModesListOption && (\r\n <>\r\n

Mode

\r\n a.value === ModeId)}\r\n\r\n onChange={(event) => {\r\n setModeId(event.value);\r\n setFieldValue(\"ModeId\", event.value);\r\n }}\r\n >\r\n \r\n {errors.ModeId && touched.ModeId ? (\r\n
{errors.ModeId}
\r\n ) : null}\r\n \r\n )}\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n Cancel\r\n \r\n <> \r\n handleSubmit()}\r\n className=\"btn btn-primary btn-elevate\"\r\n >\r\n Save\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n );\r\n}\r\n","export const CustomerStatusCssClasses = [\"danger\", \"success\", \"info\", \"\"];\r\nexport const CustomerStatusTitles = [\"Inactive\", \"Active\"];\r\nexport const CustomerTypeCssClasses = [\"success\", \"primary\", \"\"];\r\nexport const CustomerTypeTitles = [\"Business\", \"Individual\", \"\"];\r\nexport const defaultSorted = [{ dataField: \"id\", order: \"desc\" }];\r\nexport const sizePerPageList = [\r\n { text: \"3\", value: 3 },\r\n { text: \"5\", value: 5 },\r\n { text: \"10\", value: 10 }\r\n];\r\nexport const initialFilter = {\r\n filter: {\r\n lastName: \"\",\r\n firstName: \"\",\r\n email: \"\",\r\n ipAddress: \"\"\r\n },\r\n sortOrder: \"asc\", // asc||desc\r\n sortField: \"id\",\r\n pageNumber: 1,\r\n pageSize: 10\r\n};\r\n","import React, {createContext, useContext, useState, useCallback} from \"react\";\r\nimport {isEqual, isFunction} from \"lodash\";\r\nimport {initialFilter} from \"./CustomersUIHelpers\";\r\n\r\nconst CustomersUIContext = createContext();\r\n\r\nexport function useCustomersUIContext() {\r\n return useContext(CustomersUIContext);\r\n}\r\n\r\nexport const CustomersUIConsumer = CustomersUIContext.Consumer;\r\n\r\nexport function CustomersUIProvider({customersUIEvents, children}) {\r\n const [queryParams, setQueryParamsBase] = useState(initialFilter);\r\n const [ids, setIds] = useState([]);\r\n const setQueryParams = useCallback(nextQueryParams => {\r\n setQueryParamsBase(prevQueryParams => {\r\n if (isFunction(nextQueryParams)) {\r\n nextQueryParams = nextQueryParams(prevQueryParams);\r\n }\r\n\r\n if (isEqual(prevQueryParams, nextQueryParams)) {\r\n return prevQueryParams;\r\n }\r\n\r\n return nextQueryParams;\r\n });\r\n }, []);\r\n\r\n const initCustomer = {\r\n id: undefined,\r\n Name:\"\",\r\n ModeId:\"\"\r\n };\r\n\r\n const value = {\r\n queryParams,\r\n setQueryParamsBase,\r\n ids,\r\n setIds,\r\n setQueryParams,\r\n initCustomer,\r\n newCustomerButtonClick: customersUIEvents.newCustomerButtonClick,\r\n openEditCustomerDialog: customersUIEvents.openEditCustomerDialog,\r\n openDeleteCustomerDialog: customersUIEvents.openDeleteCustomerDialog,\r\n openDeleteCustomersDialog: customersUIEvents.openDeleteCustomersDialog,\r\n openFetchCustomersDialog: customersUIEvents.openFetchCustomersDialog,\r\n openUpdateCustomersStatusDialog: customersUIEvents.openUpdateCustomersStatusDialog\r\n };\r\n\r\n return {children};\r\n}","import React, { useEffect, useMemo } from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { shallowEqual, useDispatch, useSelector } from \"react-redux\";\r\nimport * as actions from \"../../../_redux/ManageServiceLevels/customersActions\";\r\nimport { CustomerEditDialogHeader } from \"./CustomerEditDialogHeader\";\r\nimport { CustomerEditForm } from \"./CustomerEditForm\";\r\nimport { useCustomersUIContext } from \"../CustomersUIContext\";\r\n\r\nexport function CustomerEditDialog({ id, show, onHide }) {\r\n // Customers UI Context\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n initCustomer: customersUIContext.initCustomer,\r\n };\r\n }, [customersUIContext]);\r\n\r\n // Customers Redux state\r\n const dispatch = useDispatch();\r\n const { actionsLoading, customerForEdit } = useSelector(\r\n (state) => ({\r\n actionsLoading: state.customers.actionsLoading,\r\n customerForEdit: state.customers.customerForEdit,\r\n }),\r\n shallowEqual\r\n );\r\n\r\n useEffect(() => {\r\n // server call for getting Customer by id\r\n dispatch(actions.fetchCustomer(id));\r\n }, [id, dispatch]);\r\n\r\n // server request for saving customer\r\n const saveCustomer = (customer) => {\r\n if (!id) {\r\n // server request for creating customer\r\n dispatch(actions.createCustomer(customer)).then(() => onHide());\r\n } else {\r\n // server request for updating customer\r\n dispatch(actions.updateCustomer(customer)).then(() => onHide());\r\n }\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n}\r\n","import React, { useEffect, useMemo } from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { shallowEqual, useDispatch, useSelector } from \"react-redux\";\r\nimport {ModalProgressBar} from \"../../../../../../_metronic/_partials/controls\";\r\nimport * as actions from \"../../../_redux/ManageServiceLevels/customersActions\";\r\nimport {useCustomersUIContext} from \"../CustomersUIContext\";\r\n\r\nexport function CustomerDeleteDialog({ id, show, onHide }) {\r\n // Customers UI Context\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n setIds: customersUIContext.setIds,\r\n queryParams: customersUIContext.queryParams\r\n };\r\n }, [customersUIContext]);\r\n\r\n // Customers Redux state\r\n const dispatch = useDispatch();\r\n const { isLoading } = useSelector(\r\n (state) => ({ isLoading: state.customers.actionsLoading }),\r\n shallowEqual\r\n );\r\n\r\n // if !id we should close modal\r\n useEffect(() => {\r\n if (!id) {\r\n onHide();\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [id]);\r\n\r\n // looking for loading/dispatch\r\n useEffect(() => {}, [isLoading, dispatch]);\r\n\r\n const deleteCustomer = () => {\r\n // server request for deleting customer by id\r\n dispatch(actions.deleteCustomer(id)).then(() => {\r\n // refresh list after deletion\r\n dispatch(actions.fetchCustomers(customersUIProps.queryParams));\r\n // clear selections list\r\n customersUIProps.setIds([]);\r\n // closing delete modal\r\n onHide();\r\n });\r\n };\r\n\r\n return (\r\n \r\n {/*begin::Loading*/}\r\n {isLoading && }\r\n {/*end::Loading*/}\r\n \r\n \r\n Service Levels Delete\r\n \r\n \r\n \r\n {!isLoading && (\r\n Are you sure to permanently delete this Service Level?\r\n )}\r\n {isLoading && Service Level is deleting...}\r\n \r\n \r\n
\r\n \r\n Cancel\r\n \r\n <> \r\n \r\n Delete\r\n \r\n
\r\n
\r\n \r\n );\r\n}\r\n","import React, { useEffect, useMemo } from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { shallowEqual, useDispatch, useSelector } from \"react-redux\";\r\nimport * as actions from \"../../../_redux/ManageServiceLevels/customersActions\";\r\nimport { useCustomersUIContext } from \"../CustomersUIContext\";\r\nimport {ModalProgressBar} from \"../../../../../../_metronic/_partials/controls\";\r\n\r\nexport function CustomersDeleteDialog({ show, onHide }) {\r\n // Customers UI Context\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n ids: customersUIContext.ids,\r\n setIds: customersUIContext.setIds,\r\n queryParams: customersUIContext.queryParams,\r\n };\r\n }, [customersUIContext]);\r\n\r\n // Customers Redux state\r\n const dispatch = useDispatch();\r\n const { isLoading } = useSelector(\r\n (state) => ({ isLoading: state.customers.actionsLoading }),\r\n shallowEqual\r\n );\r\n\r\n // if customers weren't selected we should close modal\r\n useEffect(() => {\r\n if (!customersUIProps.ids || customersUIProps.ids.length === 0) {\r\n onHide();\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [customersUIProps.ids]);\r\n\r\n // looking for loading/dispatch\r\n useEffect(() => {}, [isLoading, dispatch]);\r\n\r\n const deleteCustomers = () => {\r\n // server request for deleting customer by selected ids\r\n dispatch(actions.deleteCustomers(customersUIProps.ids)).then(() => {\r\n // refresh list after deletion\r\n dispatch(actions.fetchCustomers(customersUIProps.queryParams)).then(\r\n () => {\r\n // clear selections list\r\n customersUIProps.setIds([]);\r\n // closing delete modal\r\n onHide();\r\n }\r\n );\r\n });\r\n };\r\n\r\n return (\r\n \r\n {/*begin::Loading*/}\r\n {isLoading && }\r\n {/*end::Loading*/}\r\n \r\n \r\n Service Levels Delete\r\n \r\n \r\n \r\n {!isLoading && (\r\n Are you sure to permanently delete selected Service Level?\r\n )}\r\n {isLoading && Service Level are deleting...}\r\n \r\n \r\n
\r\n \r\n Cancel\r\n \r\n <> \r\n \r\n Delete\r\n \r\n
\r\n
\r\n \r\n );\r\n}\r\n","import React, { useEffect, useMemo } from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { shallowEqual, useSelector } from \"react-redux\";\r\nimport { CustomerStatusCssClasses } from \"../CustomersUIHelpers\";\r\nimport { useCustomersUIContext } from \"../CustomersUIContext\";\r\n\r\nconst selectedCustomers = (entities, ids) => {\r\n const _customers = [];\r\n ids.forEach((id) => {\r\n const customer = entities.find((el) => el.id === id);\r\n if (customer) {\r\n _customers.push(customer);\r\n }\r\n });\r\n return _customers;\r\n};\r\n\r\nexport function CustomersFetchDialog({ show, onHide }) {\r\n // Customers UI Context\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n ids: customersUIContext.ids,\r\n };\r\n }, [customersUIContext]);\r\n\r\n // Customers Redux state\r\n const { customers } = useSelector(\r\n (state) => ({\r\n customers: selectedCustomers(\r\n state.customers.entities,\r\n customersUIProps.ids\r\n ),\r\n }),\r\n shallowEqual\r\n );\r\n\r\n // if customers weren't selected we should close modal\r\n useEffect(() => {\r\n if (!customersUIProps.ids || customersUIProps.ids.length === 0) {\r\n onHide();\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [customersUIProps.ids]);\r\n\r\n return (\r\n \r\n \r\n \r\n Fetch selected elements\r\n \r\n \r\n \r\n
\r\n {customers.map((customer) => (\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n ID: {customer.id}\r\n \r\n {customer.lastName}, {customer.firstName} \r\n
\r\n
\r\n ))}\r\n
\r\n \r\n \r\n
\r\n \r\n Cancel\r\n \r\n <> \r\n \r\n Ok\r\n \r\n
\r\n
\r\n \r\n );\r\n}\r\n","import React, { useEffect, useState, useMemo } from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { shallowEqual, useDispatch, useSelector } from \"react-redux\";\r\nimport { CustomerStatusCssClasses } from \"../CustomersUIHelpers\";\r\nimport * as actions from \"../../../_redux/ManageServiceLevels/customersActions\";\r\nimport { useCustomersUIContext } from \"../CustomersUIContext\";\r\n\r\nconst selectedCustomers = (entities, ids) => {\r\n const _customers = [];\r\n ids.forEach((id) => {\r\n const customer = entities.find((el) => el.id === id);\r\n if (customer) {\r\n _customers.push(customer);\r\n }\r\n });\r\n return _customers;\r\n};\r\n\r\nexport function CustomersUpdateStateDialog({ show, onHide }) {\r\n // Customers UI Context\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n ids: customersUIContext.ids,\r\n setIds: customersUIContext.setIds,\r\n queryParams: customersUIContext.queryParams,\r\n };\r\n }, [customersUIContext]);\r\n\r\n // Customers Redux state\r\n const { customers, isLoading } = useSelector(\r\n (state) => ({\r\n customers: selectedCustomers(\r\n state.customers.entities,\r\n customersUIProps.ids\r\n ),\r\n isLoading: state.customers.actionsLoading,\r\n }),\r\n shallowEqual\r\n );\r\n\r\n // if !id we should close modal\r\n useEffect(() => {\r\n if (!customersUIProps.ids || customersUIProps.ids.length === 0) {\r\n onHide();\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [customersUIProps.ids]);\r\n\r\n const [status, setStatus] = useState(0);\r\n\r\n const dispatch = useDispatch();\r\n const updateStatus = () => {\r\n // server request for update customers status by selected ids\r\n dispatch(actions.updateCustomersStatus(customersUIProps.ids, status)).then(\r\n () => {\r\n // refresh list after deletion\r\n dispatch(actions.fetchCustomers(customersUIProps.queryParams)).then(\r\n () => {\r\n // clear selections list\r\n customersUIProps.setIds([]);\r\n // closing delete modal\r\n onHide();\r\n }\r\n );\r\n }\r\n );\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n Status has been updated for selected User\r\n \r\n \r\n \r\n {/*begin::Loading*/}\r\n {isLoading && (\r\n
\r\n
\r\n
\r\n )}\r\n {/*end::Loading*/}\r\n\r\n
\r\n {customers.map((customer) => (\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n ID: {customer.id}\r\n \r\n \r\n {customer.lastName}, {customer.firstName}\r\n \r\n
\r\n
\r\n ))}\r\n
\r\n \r\n \r\n
\r\n setStatus(+e.target.value)}\r\n >\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n Cancel\r\n \r\n \r\n Update Status\r\n \r\n
\r\n
\r\n \r\n );\r\n}\r\n","import React, { useMemo } from \"react\";\r\nimport { Formik } from \"formik\";\r\nimport { isEqual } from \"lodash\";\r\nimport { useCustomersUIContext } from \"../CustomersUIContext\";\r\nconst prepareFilter = (queryParams, values) => {\r\n const { ReLoadTable,status, type, searchText } = values;\r\n const newQueryParams = { ...queryParams };\r\n const filter = {};\r\n // Filter by status\r\n filter.status = status !== \"\" ? +status : undefined;\r\n // Filter by type\r\n filter.type = type !== \"\" ? +type : undefined;\r\n // Filter by all fields\r\n filter.Name = searchText;\r\n if (searchText) {\r\n filter.Name = searchText;\r\n }\r\n filter.ReLoadTable = ReLoadTable;\r\n newQueryParams.filter = filter;\r\n return newQueryParams;\r\n};\r\n\r\nexport function CustomersFilter({ listLoading }) {\r\n // Customers UI Context\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n queryParams: customersUIContext.queryParams,\r\n setQueryParams: customersUIContext.setQueryParams,\r\n };\r\n }, [customersUIContext]);\r\n\r\n // queryParams, setQueryParams,\r\n const applyFilter = (values) => {\r\n const newQueryParams = prepareFilter(customersUIProps.queryParams, values);\r\n if (!isEqual(newQueryParams, customersUIProps.queryParams)) {\r\n newQueryParams.pageNumber = 1;\r\n // update list by queryParams\r\n customersUIProps.setQueryParams(newQueryParams);\r\n }\r\n };\r\n\r\n return (\r\n <>\r\n All=\"\"/Susspended=0/Active=1/Pending=2\r\n type: \"\", // values => All=\"\"/Business=0/Individual=1\r\n searchText: \"\",\r\n }}\r\n onSubmit={(values) => {\r\n applyFilter(values);\r\n }}\r\n >\r\n {({\r\n values,\r\n handleSubmit,\r\n handleBlur,\r\n handleChange,\r\n setFieldValue,\r\n }) => (\r\n
\r\n {\r\n if (e.target.value === \"0\")\r\n document.getElementById(\"ReLoadTableId\").value = 1;\r\n else document.getElementById(\"ReLoadTableId\").value = 0;\r\n setFieldValue(\"ReLoadTable\", e.target.value);\r\n handleSubmit();\r\n }}\r\n />\r\n
\r\n
\r\n {\r\n setFieldValue(\"searchText\", e.target.value);\r\n handleSubmit();\r\n }}\r\n />\r\n \r\n Search in all fields\r\n \r\n
\r\n
\r\n \r\n )}\r\n \r\n \r\n );\r\n}\r\n","// please be familiar with react-bootstrap-table-next column formaters\r\n// https://react-bootstrap-table.github.io/react-bootstrap-table2/storybook/index.html?selectedKind=Work%20on%20Columns&selectedStory=Column%20Formatter&full=0&addons=1&stories=1&panelRight=0&addonPanel=storybook%2Factions%2Factions-panel\r\n/* eslint-disable no-script-url,jsx-a11y/anchor-is-valid */\r\nimport React from \"react\";\r\nimport SVG from \"react-inlinesvg\";\r\nimport { toAbsoluteUrl } from \"../../../../../../../_metronic/_helpers\";\r\n\r\nexport function ActionsColumnFormatter(\r\n cellContent,\r\n row,\r\n rowIndex,\r\n { openEditCustomerDialog, openDeleteCustomerDialog }\r\n) {\r\n return (\r\n <>\r\n openEditCustomerDialog(row.id)}\r\n >\r\n \r\n \r\n \r\n \r\n <> \r\n\r\n openDeleteCustomerDialog(row.id)}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n","// React bootstrap table next =>\r\n// DOCS: https://react-bootstrap-table.github.io/react-bootstrap-table2/docs/\r\n// STORYBOOK: https://react-bootstrap-table.github.io/react-bootstrap-table2/storybook/index.html\r\nimport React, { useEffect, useMemo } from \"react\";\r\nimport BootstrapTable from \"react-bootstrap-table-next\";\r\nimport paginationFactory, {\r\n PaginationProvider,\r\n} from \"react-bootstrap-table2-paginator\";\r\nimport { shallowEqual, useDispatch, useSelector } from \"react-redux\";\r\nimport * as actions from \"../../../_redux/ManageServiceLevels/customersActions\";\r\nimport {\r\n getSelectRow,\r\n getHandlerTableChange,\r\n NoRecordsFoundMessage,\r\n PleaseWaitMessage,\r\n sortCaret,\r\n headerSortingClasses,\r\n} from \"../../../../../../_metronic/_helpers\";\r\nimport { momentDate } from \"../../../../../../_metronic/_helpers/ATHelpers\";\r\nimport * as uiHelpers from \"../CustomersUIHelpers\";\r\nimport * as columnFormatters from \"./column-formatters\";\r\nimport { Pagination } from \"../../../../../../_metronic/_partials/controls\";\r\nimport { useCustomersUIContext } from \"../CustomersUIContext\";\r\n\r\nexport function CustomersTable() {\r\n // Customers UI Context\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n ids: customersUIContext.ids,\r\n setIds: customersUIContext.setIds,\r\n queryParams: customersUIContext.queryParams,\r\n setQueryParams: customersUIContext.setQueryParams,\r\n openEditCustomerDialog: customersUIContext.openEditCustomerDialog,\r\n openDeleteCustomerDialog: customersUIContext.openDeleteCustomerDialog,\r\n };\r\n }, [customersUIContext]);\r\n\r\n // Getting curret state of customers list from store (Redux)\r\n const { currentState } = useSelector(\r\n (state) => ({ currentState: state.customers }),\r\n shallowEqual\r\n );\r\n const { totalCount, entities, listLoading } = currentState;\r\n\r\n // Customers Redux state\r\n const dispatch = useDispatch();\r\n useEffect(() => {\r\n // clear selections list\r\n customersUIProps.setIds([]);\r\n // server call by queryParams\r\n dispatch(actions.fetchCustomers(customersUIProps.queryParams));\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [customersUIProps.queryParams, dispatch]);\r\n // Table columns\r\n const columns = [\r\n {\r\n dataField: \"id\",\r\n text: \"ID\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n headerSortingClasses,\r\n },\r\n {\r\n dataField: \"Name\",\r\n text: \"Name\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n headerSortingClasses,\r\n },\r\n {\r\n dataField: \"Description\",\r\n text: \"DESCRIPTION\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n headerSortingClasses,\r\n },\r\n {\r\n dataField: \"Service\",\r\n text: \"Service\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n headerSortingClasses,\r\n },\r\n {\r\n dataField: \"Mode\",\r\n text: \"Mode\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n headerSortingClasses,\r\n },\r\n {\r\n dataField: \"Created\",\r\n text: \"Created\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n headerSortingClasses,\r\n formatter: (cell, row) => {\r\n return (\r\n <>\r\n
\r\n {momentDate(row?.Created)}\r\n
\r\n \r\n );\r\n },\r\n },\r\n {\r\n dataField: \"action\",\r\n text: \"Actions\",\r\n formatter: columnFormatters.ActionsColumnFormatter,\r\n formatExtraData: {\r\n openEditCustomerDialog: customersUIProps.openEditCustomerDialog,\r\n openDeleteCustomerDialog: customersUIProps.openDeleteCustomerDialog,\r\n },\r\n classes: \"text-center pr-0\",\r\n headerClasses: \"text-center pr-3\",\r\n style: {\r\n minWidth: \"100px\",\r\n },\r\n },\r\n ];\r\n // Table pagination properties\r\n const paginationOptions = {\r\n custom: true,\r\n totalSize: totalCount,\r\n sizePerPageList: uiHelpers.sizePerPageList,\r\n sizePerPage: customersUIProps.queryParams.pageSize,\r\n page: customersUIProps.queryParams.pageNumber,\r\n };\r\n return (\r\n <>\r\n \r\n {({ paginationProps, paginationTableProps }) => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n }}\r\n \r\n \r\n );\r\n}\r\n","import React, { useMemo } from \"react\";\r\nimport { useCustomersUIContext } from \"../CustomersUIContext\";\r\n\r\nexport function CustomersGrouping() {\r\n // Customers UI Context\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n ids: customersUIContext.ids,\r\n setIds: customersUIContext.setIds,\r\n openDeleteCustomersDialog: customersUIContext.openDeleteCustomersDialog,\r\n openFetchCustomersDialog: customersUIContext.openFetchCustomersDialog,\r\n openUpdateCustomersStatusDialog:\r\n customersUIContext.openUpdateCustomersStatusDialog,\r\n };\r\n }, [customersUIContext]);\r\n\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n Delete All\r\n \r\n  \r\n
\r\n
\r\n
\r\n
\r\n
\r\n );\r\n}\r\n","import React, { useMemo } from \"react\";\r\nimport {\r\n Card,\r\n CardBody,\r\n CardHeader,\r\n CardHeaderToolbar,\r\n} from \"../../../../../_metronic/_partials/controls\";\r\nimport { CustomersFilter } from \"./customers-filter/CustomersFilter\";\r\nimport { CustomersTable } from \"./customers-table/CustomersTable\";\r\nimport { CustomersGrouping } from \"./customers-grouping/CustomersGrouping\";\r\nimport { useCustomersUIContext } from \"./CustomersUIContext\";\r\nimport { Helmet } from \"react-helmet\";\r\n\r\nexport function CustomersCard() {\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n ids: customersUIContext.ids,\r\n newCustomerButtonClick: customersUIContext.newCustomerButtonClick,\r\n };\r\n }, [customersUIContext]);\r\n\r\n return (\r\n <>\r\n \r\n eMPower | Service Levels\r\n \r\n \r\n \r\n \r\n \r\n \r\n Add Service Level\r\n \r\n \r\n \r\n \r\n \r\n {customersUIProps.ids.length > 0 && }\r\n \r\n \r\n \r\n \r\n );\r\n}\r\n","import React from \"react\";\r\nimport { Route } from \"react-router-dom\";\r\nimport { CustomersLoadingDialog } from \"./customers-loading-dialog/CustomersLoadingDialog\";\r\nimport { CustomerEditDialog } from \"./customer-edit-dialog/CustomerEditDialog\";\r\nimport { CustomerDeleteDialog } from \"./customer-delete-dialog/CustomerDeleteDialog\";\r\nimport { CustomersDeleteDialog } from \"./customers-delete-dialog/CustomersDeleteDialog\";\r\nimport { CustomersFetchDialog } from \"./customers-fetch-dialog/CustomersFetchDialog\";\r\nimport { CustomersUpdateStateDialog } from \"./customers-update-status-dialog/CustomersUpdateStateDialog\";\r\nimport { CustomersUIProvider } from \"./CustomersUIContext\";\r\nimport { CustomersCard } from \"./CustomersCard\";\r\n\r\nexport function ManageServiceLevels({ history }) {\r\n const customersUIEvents = {\r\n newCustomerButtonClick: () => {\r\n history.push(\"/ManageServiceLevels/new\");\r\n },\r\n openEditCustomerDialog: (id) => {\r\n history.push(`/ManageServiceLevels/${id}/edit`);\r\n },\r\n openDeleteCustomerDialog: (id) => {\r\n history.push(`/ManageServiceLevels/${id}/delete`);\r\n },\r\n openDeleteCustomersDialog: () => {\r\n history.push(`/ManageServiceLevels/deleteCustomers`);\r\n },\r\n openFetchCustomersDialog: () => {\r\n history.push(`/ManageServiceLevels/fetch`);\r\n },\r\n openUpdateCustomersStatusDialog: () => {\r\n history.push(\"/ManageServiceLevels/updateStatus\");\r\n }\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n {({ history, match }) => (\r\n {\r\n history.push(\"/ManageServiceLevels\");\r\n }}\r\n />\r\n )}\r\n \r\n \r\n {({ history, match }) => (\r\n {\r\n history.push(\"/ManageServiceLevels\");\r\n }}\r\n />\r\n )}\r\n \r\n \r\n {({ history, match }) => (\r\n {\r\n history.push(\"/ManageServiceLevels\");\r\n }}\r\n />\r\n )}\r\n \r\n \r\n {({ history, match }) => (\r\n {\r\n history.push(\"/ManageServiceLevels\");\r\n }}\r\n />\r\n )}\r\n \r\n \r\n {({ history, match }) => (\r\n {\r\n history.push(\"/ManageServiceLevels\");\r\n }}\r\n />\r\n )}\r\n \r\n \r\n {({ history, match }) => (\r\n {\r\n history.push(\"/ManageServiceLevels\");\r\n }}\r\n />\r\n )}\r\n \r\n \r\n \r\n );\r\n}\r\n","import React, { useEffect } from \"react\";\r\nimport { shallowEqual, useSelector } from \"react-redux\";\r\nimport { LoadingDialog } from \"../../../../../../_metronic/_partials/controls\";\r\n\r\nexport function CustomersLoadingDialog() {\r\n // Customers Redux state\r\n const { isLoading } = useSelector(\r\n (state) => ({ isLoading: state.customers.listLoading }),\r\n shallowEqual\r\n );\r\n // looking for loading/dispatch\r\n useEffect(() => {}, [isLoading]);\r\n return ;\r\n}\r\n","import {createSlice} from \"@reduxjs/toolkit\";\r\n\r\nconst initialCustomersState = {\r\n listLoading: false,\r\n actionsLoading: false,\r\n totalCount: 0,\r\n entities: null,\r\n customerForEdit: undefined,\r\n lastError: null\r\n};\r\nexport const callTypes = {\r\n list: \"list\",\r\n action: \"action\"\r\n};\r\n\r\nexport const customersSlice = createSlice({\r\n name: \"customers\",\r\n initialState: initialCustomersState,\r\n reducers: {\r\n catchError: (state, action) => {\r\n state.error = `${action.type}: ${action.payload.error}`;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = false;\r\n } else {\r\n state.actionsLoading = false;\r\n }\r\n },\r\n startCall: (state, action) => {\r\n state.error = null;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = true;\r\n } else {\r\n state.actionsLoading = true;\r\n }\r\n },\r\n // getCustomerById\r\n customerFetched: (state, action) => {\r\n state.actionsLoading = false;\r\n state.customerForEdit = action.payload.customerForEdit;\r\n state.error = null;\r\n },\r\n // findCustomers\r\n customersFetched: (state, action) => {\r\n const { totalCount, entities } = action.payload;\r\n state.listLoading = false;\r\n state.error = null;\r\n state.entities = entities;\r\n state.totalCount = totalCount;\r\n },\r\n // createCustomer\r\n customerCreated: (state, action) => {\r\n state.actionsLoading = false;\r\n state.error = null;\r\n state.entities.push(action.payload.customer);\r\n },\r\n // updateCustomer\r\n customerUpdated: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.map(entity => {\r\n if (entity.id === action.payload.customer.id) {\r\n return action.payload.customer;\r\n }\r\n return entity;\r\n });\r\n },\r\n // deleteCustomer\r\n customerDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(el => el.id !== action.payload.id);\r\n },\r\n // deleteCustomers\r\n customersDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(\r\n el => !action.payload.ids.includes(el.id)\r\n );\r\n },\r\n // customersUpdateState\r\n customersStatusUpdated: (state, action) => {\r\n state.actionsLoading = false;\r\n state.error = null;\r\n const { ids, status } = action.payload;\r\n state.entities = state.entities.map(entity => {\r\n if (ids.findIndex(id => id === entity.id) > -1) {\r\n entity.status = status;\r\n }\r\n return entity;\r\n });\r\n }\r\n }\r\n});\r\n","import * as requestFromServer from \"./customersCrud\";\r\nimport {customersSlice, callTypes} from \"./customersSlice\";\r\n\r\nconst {actions} = customersSlice;\r\n\r\nexport const fetchCustomers = queryParams => dispatch => {\r\n dispatch(actions.startCall({ callType: callTypes.list }));\r\n return requestFromServer\r\n .findCustomers(queryParams)\r\n .then(response => {\r\n const { totalCount, entities } = response.data;\r\n dispatch(actions.customersFetched({ totalCount, entities }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't find customers\";\r\n dispatch(actions.catchError({ error, callType: callTypes.list }));\r\n });\r\n};\r\n\r\nexport const fetchCustomer = id => dispatch => {\r\n if (!id) {\r\n return dispatch(actions.customerFetched({ customerForEdit: undefined }));\r\n }\r\n\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .getCustomerById(id)\r\n .then(response => {\r\n const customer = response.data;\r\n dispatch(actions.customerFetched({ customerForEdit: customer }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't find customer\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const deleteCustomer = id => dispatch => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .deleteCustomer(id)\r\n .then(response => {\r\n dispatch(actions.customerDeleted({ id }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't delete customer\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const createCustomer = customerForCreation => dispatch => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .createCustomer(customerForCreation)\r\n .then(response => {\r\n const { customer } = response.data;\r\n dispatch(actions.customerCreated({ customer }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't create customer\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const updateCustomer = customer => dispatch => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .updateCustomer(customer)\r\n .then(() => {\r\n dispatch(actions.customerUpdated({ customer }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't update customer\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const updateCustomersStatus = (ids, status) => dispatch => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .updateStatusForCustomers(ids, status)\r\n .then(() => {\r\n dispatch(actions.customersStatusUpdated({ ids, status }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't update customers status\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const deleteCustomers = ids => dispatch => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .deleteCustomers(ids)\r\n .then(() => {\r\n dispatch(actions.customersDeleted({ ids }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't delete customers\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n","import axios from \"axios\";\r\n\r\nexport const CUSTOMERS_URL = \"api/ZoneBilling\";\r\n\r\n// CREATE => POST: add a new customer to the server\r\nexport function createCustomer(customer) {\r\n return axios.post(CUSTOMERS_URL, { customer });\r\n}\r\n\r\n// READ\r\nexport function getAllCustomers() {\r\n return axios.get(CUSTOMERS_URL);\r\n}\r\n\r\nexport function getCustomerById(customerId) {\r\n return axios.get(`${CUSTOMERS_URL}/${customerId}`);\r\n}\r\n\r\n// Method from server should return QueryResultsModel(items: any[], totalsCount: number)\r\n// items => filtered/sorted result\r\nexport function findCustomers(queryParams) {\r\n return axios.post(`${CUSTOMERS_URL}/find`, { queryParams });\r\n}\r\n\r\n// UPDATE => PUT: update the customer on the server\r\nexport function updateCustomer(customer) {\r\n return axios.put(`${CUSTOMERS_URL}/${customer.id}`, { customer });\r\n}\r\n\r\n// UPDATE Status\r\nexport function updateStatusForCustomers(ids, status) {\r\n return axios.post(`${CUSTOMERS_URL}/updateStatusForCustomers`, {\r\n ids,\r\n status\r\n });\r\n}\r\n\r\n// DELETE => delete the customer from the server\r\nexport function deleteCustomer(customerId) {\r\n return axios.delete(`${CUSTOMERS_URL}/${customerId}`);\r\n}\r\n\r\n// DELETE Customers by ids\r\nexport function deleteCustomers(ids) {\r\n return axios.post(`${CUSTOMERS_URL}/deleteCustomers`, { ids });\r\n}\r\n","import React, { useState, useEffect } from \"react\";\r\nimport { shallowEqual, useSelector } from \"react-redux\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport {ModalProgressBar} from \"../../../../../../_metronic/_partials/controls\";\r\n\r\nexport function CustomerEditDialogHeader({ id }) {\r\n // Customers Redux state\r\n const { customerForEdit, actionsLoading } = useSelector(\r\n (state) => ({\r\n customerForEdit: state.customers.customerForEdit,\r\n actionsLoading: state.customers.actionsLoading,\r\n }),\r\n shallowEqual\r\n );\r\n\r\n const [title, setTitle] = useState(\"\");\r\n // Title couting\r\n useEffect(() => {\r\n let _title = id ? \"\" : \"CREATE ZONEBILLING\";\r\n if (customerForEdit && id) {\r\n _title = `Edit ZoneBilling '${customerForEdit.ZoneName}'`;\r\n }\r\n\r\n setTitle(_title);\r\n // eslint-disable-next-line\r\n }, [customerForEdit, actionsLoading]);\r\n\r\n return (\r\n <>\r\n {actionsLoading && }\r\n \r\n {title}\r\n \r\n \r\n );\r\n}\r\n","// Form is based on Formik\r\n// Data validation is based on Yup\r\n// Please, be familiar with article first:\r\n// https://hackernoon.com/react-form-validation-with-formik-and-yup-8b76bda62e10\r\nimport React, { useEffect, useState} from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { Formik, Form, Field } from \"formik\";\r\nimport * as Yup from \"yup\";\r\nimport { makeStyles } from '@material-ui/core/styles';\r\nimport {\r\n Input,\r\n Select,\r\n} from \"../../../../../../_metronic/_partials/controls\";\r\nimport axios from \"axios\";\r\nimport { Notification } from \"../../../../Notification\";\r\nimport LinearProgress from \"@material-ui/core/LinearProgress\";\r\n\r\n// Validation schema\r\nconst CustomerEditSchema = Yup.object().shape({\r\n Carrier: Yup.string()\r\n .min(3, \"Minimum 3 symbols\")\r\n .max(50, \"Maximum 50 symbols\")\r\n .required(\"Carrier is required\"),\r\n ServiceLevel: Yup.string()\r\n .min(3, \"Minimum 3 symbols\")\r\n .required(\"ServiceLevel is required\"),\r\n ZoneName: Yup.string()\r\n .min(5, \"Minimum 3 symbols\")\r\n .required(\"ZoneName is required\"),\r\n CustomerId: Yup.string()\r\n .required(\"ZoneName is required\"),\r\n WarehouseId: Yup.string()\r\n .required(\"ZoneName is required\"),\r\n});\r\nconst useStyles = makeStyles(theme => ({\r\n root: {\r\n display: 'flex',\r\n },\r\n formControl: {\r\n margin: theme.spacing(3),\r\n },\r\n group: {\r\n margin: theme.spacing(1, 0),\r\n },\r\n}));\r\nexport function CustomerEditForm({\r\n saveCustomer,\r\n customer,\r\n actionsLoading,\r\n onHide,\r\n}) {\r\n const [customersList, setcustomersList] = useState([]);\r\n const [wareHousesList, setwareHousesList] = useState([]);\r\n const [showProgress, setshowProgress] = useState(false);\r\n useEffect(() => {\r\n fetchOrderAsync();\r\n }, []);\r\n const fetchOrderAsync = async () => {\r\n try {\r\n const result = await axios.get(\"api/FindReceipt/GetAllApi\");\r\n setcustomersList(result.data[\"customersList\"]);\r\n setwareHousesList(result.data[\"warhousesList\"]);\r\n } catch (e) { }\r\n };\r\n\r\n const handleCustomerChange = async (event, setFieldValue) => {\r\n setshowProgress(true);\r\n setwareHousesList([]);\r\n if (event.target.value !== \"\" && event.target.value !== null) {\r\n setFieldValue(\"CustomerId\", event.target.value)\r\n const result = await axios.get(`api/receipts/getwarehouses/${event.target.value}`);\r\n if (result.status === 200) {\r\n if (result.data.length > 0) {\r\n setwareHousesList(result.data);\r\n }\r\n else\r\n {\r\n Notification(\"error\", \"This Customer doesn't have access to any warehouse.\");\r\n }\r\n }\r\n }\r\n setshowProgress(false);\r\n }\r\n return (\r\n <>\r\n {\r\n values.id = values.Id;\r\n saveCustomer(values);\r\n }}\r\n >\r\n {({ handleSubmit ,setFieldValue}) => (\r\n <>\r\n \r\n {actionsLoading && (\r\n
\r\n
\r\n
\r\n )}\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n {showProgress && }\r\n
\r\n
\r\n
\r\n
\r\n {/* Carrier */}\r\n \r\n
\r\n\r\n
\r\n {/* ServiceLevel */}\r\n \r\n
\r\n
\r\n {/* ZoneName */}\r\n \r\n
\r\n
\r\n {/* Weight */}\r\n \r\n
\r\n
\r\n {/* Rate */}\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n Cancel\r\n \r\n <> \r\n handleSubmit()}\r\n className=\"btn btn-success btn-elevate\"\r\n >\r\n Save\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n );\r\n}\r\n","export const CustomerStatusCssClasses = [\"danger\", \"success\", \"info\", \"\"];\r\nexport const CustomerStatusTitles = [\"Inactive\", \"Active\"];\r\nexport const CustomerTypeCssClasses = [\"success\", \"primary\", \"\"];\r\nexport const CustomerTypeTitles = [\"Business\", \"Individual\", \"\"];\r\nexport const defaultSorted = [{ dataField: \"id\", order: \"desc\" }];\r\nexport const sizePerPageList = [\r\n { text: \"3\", value: 3 },\r\n { text: \"5\", value: 5 },\r\n { text: \"10\", value: 10 }\r\n];\r\nexport const initialFilter = {\r\n filter: {\r\n lastName: \"\",\r\n firstName: \"\",\r\n email: \"\",\r\n ipAddress: \"\"\r\n },\r\n sortOrder: \"asc\", // asc||desc\r\n sortField: \"id\",\r\n pageNumber: 1,\r\n pageSize: 10\r\n};\r\n","import React, {createContext, useContext, useState, useCallback} from \"react\";\r\nimport {isEqual, isFunction} from \"lodash\";\r\nimport {initialFilter} from \"./CustomersUIHelpers\";\r\n\r\nconst CustomersUIContext = createContext();\r\n\r\nexport function useCustomersUIContext() {\r\n return useContext(CustomersUIContext);\r\n}\r\n\r\nexport const CustomersUIConsumer = CustomersUIContext.Consumer;\r\n\r\nexport function CustomersUIProvider({customersUIEvents, children}) {\r\n const [queryParams, setQueryParamsBase] = useState(initialFilter);\r\n const [ids, setIds] = useState([]);\r\n const setQueryParams = useCallback(nextQueryParams => {\r\n setQueryParamsBase(prevQueryParams => {\r\n if (isFunction(nextQueryParams)) {\r\n nextQueryParams = nextQueryParams(prevQueryParams);\r\n }\r\n\r\n if (isEqual(prevQueryParams, nextQueryParams)) {\r\n return prevQueryParams;\r\n }\r\n\r\n return nextQueryParams;\r\n });\r\n }, []);\r\n\r\n const initCustomer = {\r\n id: undefined,\r\n Carrier: \"\",\r\n CustomerId: 0,\r\n WarehouseId: 0,\r\n ServiceLevel: \"\",\r\n ZoneName: \"\",\r\n Weight: \"\",\r\n Rate: \"\",\r\n };\r\n\r\n const value = {\r\n queryParams,\r\n setQueryParamsBase,\r\n ids,\r\n setIds,\r\n setQueryParams,\r\n initCustomer,\r\n newCustomerButtonClick: customersUIEvents.newCustomerButtonClick,\r\n openEditCustomerDialog: customersUIEvents.openEditCustomerDialog,\r\n openImportCustomerDialog: customersUIEvents.openImportCustomerDialog,\r\n\r\n\r\n openDeleteCustomerDialog: customersUIEvents.openDeleteCustomerDialog,\r\n openDeleteCustomersDialog: customersUIEvents.openDeleteCustomersDialog,\r\n openFetchCustomersDialog: customersUIEvents.openFetchCustomersDialog,\r\n openUpdateCustomersStatusDialog: customersUIEvents.openUpdateCustomersStatusDialog\r\n };\r\n\r\n return {children};\r\n}","import React, { useEffect, useMemo } from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { shallowEqual, useDispatch, useSelector } from \"react-redux\";\r\nimport * as actions from \"../../../_redux/ZoneBilling/customersActions\";\r\nimport { CustomerEditDialogHeader } from \"./CustomerEditDialogHeader\";\r\nimport { CustomerEditForm } from \"./CustomerEditForm\";\r\nimport { useCustomersUIContext } from \"../CustomersUIContext\";\r\nimport { Notification } from \"../../../../Notification\";\r\n\r\nexport function CustomerEditDialog({ id, show, onHide }) {\r\n // Customers UI Context\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n initCustomer: customersUIContext.initCustomer,\r\n };\r\n }, [customersUIContext]);\r\n\r\n // Customers Redux state\r\n const dispatch = useDispatch();\r\n const { actionsLoading, customerForEdit } = useSelector(\r\n (state) => ({\r\n actionsLoading: state.customers.actionsLoading,\r\n customerForEdit: state.customers.customerForEdit,\r\n }),\r\n shallowEqual\r\n );\r\n\r\n useEffect(() => {\r\n // server call for getting Customer by id\r\n dispatch(actions.fetchCustomer(id));\r\n }, [id, dispatch]);\r\n\r\n // server request for saving customer\r\n const saveCustomer = (customer) => {\r\n if (!id) {\r\n // server request for creating customer\r\n dispatch(actions.createCustomer(customer)).then(() =>{\r\n if(window.$ManageZoneBillingPost === 200){\r\n Notification(\"success\", window.$ManageZoneBillingPostMessage);\r\n onHide();\r\n }else{\r\n Notification(\"error\", window.$ManageZoneBillingPostMessage); \r\n }\r\n });\r\n } else {\r\n // server request for updating customer\r\n dispatch(actions.updateCustomer(customer)).then(() =>\r\n {\r\n if(window.$ManageZoneBillingPut === 200){\r\n Notification(\"success\", \"success\");\r\n onHide();\r\n }else{\r\n Notification(\"error\", window.$ManageZoneBillingPutMessage); \r\n }\r\n });\r\n }\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n}\r\n","import React, { useEffect, useMemo } from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { shallowEqual, useDispatch, useSelector } from \"react-redux\";\r\nimport {ModalProgressBar} from \"../../../../../../_metronic/_partials/controls\";\r\nimport * as actions from \"../../../_redux/ZoneBilling/customersActions\";\r\nimport {useCustomersUIContext} from \"../CustomersUIContext\";\r\n\r\nexport function CustomerDeleteDialog({ id, show, onHide }) {\r\n // Customers UI Context\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n setIds: customersUIContext.setIds,\r\n queryParams: customersUIContext.queryParams\r\n };\r\n }, [customersUIContext]);\r\n\r\n // Customers Redux state\r\n const dispatch = useDispatch();\r\n const { isLoading } = useSelector(\r\n (state) => ({ isLoading: state.customers.actionsLoading }),\r\n shallowEqual\r\n );\r\n\r\n // if !id we should close modal\r\n useEffect(() => {\r\n if (!id) {\r\n onHide();\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [id]);\r\n\r\n // looking for loading/dispatch\r\n useEffect(() => {}, [isLoading, dispatch]);\r\n\r\n const deleteCustomer = () => {\r\n // server request for deleting customer by id\r\n dispatch(actions.deleteCustomer(id)).then(() => {\r\n // refresh list after deletion\r\n dispatch(actions.fetchCustomers(customersUIProps.queryParams));\r\n // clear selections list\r\n customersUIProps.setIds([]);\r\n // closing delete modal\r\n onHide();\r\n });\r\n };\r\n\r\n return (\r\n \r\n {/*begin::Loading*/}\r\n {isLoading && }\r\n {/*end::Loading*/}\r\n \r\n \r\n ZoneBilling Delete\r\n \r\n \r\n \r\n {!isLoading && (\r\n Are you sure to permanently delete this zone billing?\r\n )}\r\n {isLoading && ZoneBilling is deleting...}\r\n \r\n \r\n
\r\n \r\n Cancel\r\n \r\n <> \r\n \r\n Delete\r\n \r\n
\r\n
\r\n \r\n );\r\n}\r\n","import React, { useEffect, useMemo } from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { shallowEqual, useDispatch, useSelector } from \"react-redux\";\r\nimport * as actions from \"../../../_redux/ZoneBilling/customersActions\";\r\nimport { useCustomersUIContext } from \"../CustomersUIContext\";\r\nimport {ModalProgressBar} from \"../../../../../../_metronic/_partials/controls\";\r\n\r\nexport function CustomersDeleteDialog({ show, onHide }) {\r\n // Customers UI Context\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n ids: customersUIContext.ids,\r\n setIds: customersUIContext.setIds,\r\n queryParams: customersUIContext.queryParams,\r\n };\r\n }, [customersUIContext]);\r\n\r\n // Customers Redux state\r\n const dispatch = useDispatch();\r\n const { isLoading } = useSelector(\r\n (state) => ({ isLoading: state.customers.actionsLoading }),\r\n shallowEqual\r\n );\r\n\r\n // if customers weren't selected we should close modal\r\n useEffect(() => {\r\n if (!customersUIProps.ids || customersUIProps.ids.length === 0) {\r\n onHide();\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [customersUIProps.ids]);\r\n\r\n // looking for loading/dispatch\r\n useEffect(() => {}, [isLoading, dispatch]);\r\n\r\n const deleteCustomers = () => {\r\n // server request for deleting customer by selected ids\r\n dispatch(actions.deleteCustomers(customersUIProps.ids)).then(() => {\r\n // refresh list after deletion\r\n dispatch(actions.fetchCustomers(customersUIProps.queryParams)).then(\r\n () => {\r\n // clear selections list\r\n customersUIProps.setIds([]);\r\n // closing delete modal\r\n onHide();\r\n }\r\n );\r\n });\r\n };\r\n\r\n return (\r\n \r\n {/*begin::Loading*/}\r\n {isLoading && }\r\n {/*end::Loading*/}\r\n \r\n \r\n Customers Delete\r\n \r\n \r\n \r\n {!isLoading && (\r\n Are you sure to permanently delete selected customers?\r\n )}\r\n {isLoading && Customer are deleting...}\r\n \r\n \r\n
\r\n \r\n Cancel\r\n \r\n <> \r\n \r\n Delete\r\n \r\n
\r\n
\r\n \r\n );\r\n}\r\n","import React, { useEffect, useMemo } from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { shallowEqual, useSelector } from \"react-redux\";\r\nimport { CustomerStatusCssClasses } from \"../CustomersUIHelpers\";\r\nimport { useCustomersUIContext } from \"../CustomersUIContext\";\r\n\r\nconst selectedCustomers = (entities, ids) => {\r\n const _customers = [];\r\n ids.forEach((id) => {\r\n const customer = entities.find((el) => el.id === id);\r\n if (customer) {\r\n _customers.push(customer);\r\n }\r\n });\r\n return _customers;\r\n};\r\n\r\nexport function CustomersFetchDialog({ show, onHide }) {\r\n // Customers UI Context\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n ids: customersUIContext.ids,\r\n };\r\n }, [customersUIContext]);\r\n\r\n // Customers Redux state\r\n const { customers } = useSelector(\r\n (state) => ({\r\n customers: selectedCustomers(\r\n state.customers.entities,\r\n customersUIProps.ids\r\n ),\r\n }),\r\n shallowEqual\r\n );\r\n\r\n // if customers weren't selected we should close modal\r\n useEffect(() => {\r\n if (!customersUIProps.ids || customersUIProps.ids.length === 0) {\r\n onHide();\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [customersUIProps.ids]);\r\n\r\n return (\r\n \r\n \r\n \r\n Fetch selected elements\r\n \r\n \r\n \r\n
\r\n {customers.map((customer) => (\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n ID: {customer.id}\r\n \r\n {customer.lastName}, {customer.firstName} \r\n
\r\n
\r\n ))}\r\n
\r\n \r\n \r\n
\r\n \r\n Cancel\r\n \r\n <> \r\n \r\n Ok\r\n \r\n
\r\n
\r\n \r\n );\r\n}\r\n","import React, { useEffect, useState, useMemo } from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { shallowEqual, useDispatch, useSelector } from \"react-redux\";\r\nimport { CustomerStatusCssClasses } from \"../CustomersUIHelpers\";\r\nimport * as actions from \"../../../_redux/ZoneBilling/customersActions\";\r\nimport { useCustomersUIContext } from \"../CustomersUIContext\";\r\n\r\nconst selectedCustomers = (entities, ids) => {\r\n const _customers = [];\r\n ids.forEach((id) => {\r\n const customer = entities.find((el) => el.id === id);\r\n if (customer) {\r\n _customers.push(customer);\r\n }\r\n });\r\n return _customers;\r\n};\r\n\r\nexport function CustomersUpdateStateDialog({ show, onHide }) {\r\n // Customers UI Context\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n ids: customersUIContext.ids,\r\n setIds: customersUIContext.setIds,\r\n queryParams: customersUIContext.queryParams,\r\n };\r\n }, [customersUIContext]);\r\n\r\n // Customers Redux state\r\n const { customers, isLoading } = useSelector(\r\n (state) => ({\r\n customers: selectedCustomers(\r\n state.customers.entities,\r\n customersUIProps.ids\r\n ),\r\n isLoading: state.customers.actionsLoading,\r\n }),\r\n shallowEqual\r\n );\r\n\r\n // if !id we should close modal\r\n useEffect(() => {\r\n if (!customersUIProps.ids || customersUIProps.ids.length === 0) {\r\n onHide();\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [customersUIProps.ids]);\r\n\r\n const [status, setStatus] = useState(0);\r\n\r\n const dispatch = useDispatch();\r\n const updateStatus = () => {\r\n // server request for update customers status by selected ids\r\n dispatch(actions.updateCustomersStatus(customersUIProps.ids, status)).then(\r\n () => {\r\n // refresh list after deletion\r\n dispatch(actions.fetchCustomers(customersUIProps.queryParams)).then(\r\n () => {\r\n // clear selections list\r\n customersUIProps.setIds([]);\r\n // closing delete modal\r\n onHide();\r\n }\r\n );\r\n }\r\n );\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n Status has been updated for selected User\r\n \r\n \r\n \r\n {/*begin::Loading*/}\r\n {isLoading && (\r\n
\r\n
\r\n
\r\n )}\r\n {/*end::Loading*/}\r\n\r\n
\r\n {customers.map((customer) => (\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n ID: {customer.id}\r\n \r\n \r\n {customer.lastName}, {customer.firstName}\r\n \r\n
\r\n
\r\n ))}\r\n
\r\n \r\n \r\n
\r\n setStatus(+e.target.value)}\r\n >\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n Cancel\r\n \r\n \r\n Update Status\r\n \r\n
\r\n
\r\n \r\n );\r\n}\r\n","import React, { useEffect, useState, createRef ,useMemo} from \"react\";import { Formik } from \"formik\";\r\nimport { isEqual } from \"lodash\";\r\nimport { useCustomersUIContext } from \"../CustomersUIContext\";\r\nimport {\r\n Button,\r\n InputGroup,\r\n FormControl,\r\n DropdownButton,\r\n Dropdown\r\n} from \"react-bootstrap\";\r\nimport axios from \"axios\";\r\nimport {\r\n Select\r\n} from \"../../../../../../_metronic/_partials/controls\";\r\nimport { Notification } from \"../../../../Notification\";\r\nimport LinearProgress from \"@material-ui/core/LinearProgress\";\r\n\r\nconst prepareFilter = (queryParams, values) => {\r\n const { ReLoadTable, customerId, warehouseId ,zoneName} = values;\r\n const newQueryParams = { ...queryParams };\r\n const filter = {};\r\n filter.CustomerId = +customerId;\r\n filter.WarehouseId = +warehouseId;\r\n filter.ReLoadTable = ReLoadTable;\r\n if(zoneName)\r\n {\r\n filter.ZoneName = zoneName;\r\n }\r\n newQueryParams.filter = filter;\r\n return newQueryParams;\r\n};\r\n\r\nexport function CustomersFilter({ listLoading }) {\r\n // Customers UI Context\r\n const customersUIContext = useCustomersUIContext();\r\n const [customersList, setcustomersList] = useState([]);\r\n const [wareHousesList, setwareHousesList] = useState([]);\r\n const [showProgress, setshowProgress] = useState(false);\r\n\r\n useEffect(() => {\r\n fetchOrderAsync();\r\n }, []);\r\n const fetchOrderAsync = async () => {\r\n try {\r\n const result = await axios.get(\"api/FindReceipt/GetAllApi\");\r\n setcustomersList(result.data[\"customersList\"]);\r\n setwareHousesList(result.data[\"warhousesList\"]);\r\n } catch (e) { }\r\n };\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n queryParams: customersUIContext.queryParams,\r\n setQueryParams: customersUIContext.setQueryParams,\r\n };\r\n }, [customersUIContext]);\r\n\r\n // queryParams, setQueryParams,\r\n const applyFilter = (values) => {\r\n const newQueryParams = prepareFilter(customersUIProps.queryParams, values);\r\n if (!isEqual(newQueryParams, customersUIProps.queryParams)) {\r\n newQueryParams.pageNumber = 1;\r\n // update list by queryParams\r\n customersUIProps.setQueryParams(newQueryParams);\r\n }\r\n };\r\n //Fetsh Select\r\n const handleCustomerChange = async (event, setFieldValue) => {\r\n setshowProgress(true);\r\n setwareHousesList([]);\r\n if (event.target.value !== \"\" && event.target.value !== null) {\r\n setFieldValue(\"CustomerId\", event.target.value)\r\n const result = await axios.get(`api/receipts/getwarehouses/${event.target.value}`);\r\n if (result.status == 200) {\r\n if (result.data.length > 0) {\r\n setwareHousesList(result.data);\r\n }\r\n else{\r\n setwareHousesList([]);\r\n }\r\n }\r\n }\r\n setshowProgress(false);\r\n }\r\n return (\r\n <>\r\n {\r\n applyFilter(values);\r\n }}\r\n >\r\n {({\r\n values,\r\n handleSubmit,\r\n handleBlur,\r\n setFieldValue,\r\n }) => (\r\n
\r\n {\r\n if (e.target.value == \"0\")\r\n document.getElementById(\"ReLoadTableId\").value = 1;\r\n else document.getElementById(\"ReLoadTableId\").value = 0;\r\n setFieldValue(\"ReLoadTable\", e.target.value);\r\n handleSubmit();\r\n }}\r\n />\r\n
\r\n
\r\n
\r\n {\r\n setFieldValue(\"zoneName\", e.target.value);\r\n handleSubmit();\r\n }}\r\n />\r\n
\r\n \r\n Zone Name\r\n \r\n
\r\n
\r\n {\r\n setFieldValue(\"customerId\", e.target.value);\r\n handleSubmit();\r\n handleCustomerChange(e, setFieldValue);\r\n if(values.CustomerId === \"0\")\r\n {\r\n values.WarehouseId = \"0\";\r\n }\r\n }}\r\n onBlur={handleBlur}\r\n value={values.CustomerId}\r\n >\r\n \r\n {customersList.map((item, index) => (\r\n \r\n ))}\r\n \r\n \r\n Choose a Customer\r\n \r\n
\r\n
\r\n {\r\n setFieldValue(\"warehouseId\", e.target.value);\r\n handleSubmit();\r\n }}\r\n onBlur={handleBlur}\r\n value={values.WarehouseId}\r\n >\r\n \r\n {wareHousesList.map((item, index) => (\r\n \r\n ))}\r\n \r\n {showProgress && }\r\n \r\n Warehouse\r\n \r\n
\r\n {/*
\r\n \r\n Refresh\r\n \r\n
*/}\r\n
\r\n \r\n )}\r\n \r\n \r\n );\r\n}\r\n","// please be familiar with react-bootstrap-table-next column formaters\r\n// https://react-bootstrap-table.github.io/react-bootstrap-table2/storybook/index.html?selectedKind=Work%20on%20Columns&selectedStory=Column%20Formatter&full=0&addons=1&stories=1&panelRight=0&addonPanel=storybook%2Factions%2Factions-panel\r\n/* eslint-disable no-script-url,jsx-a11y/anchor-is-valid */\r\nimport React from \"react\";\r\nimport SVG from \"react-inlinesvg\";\r\nimport { toAbsoluteUrl } from \"../../../../../../../_metronic/_helpers\";\r\n\r\nexport function ActionsColumnFormatter(\r\n cellContent,\r\n row,\r\n rowIndex,\r\n { openEditCustomerDialog, openDeleteCustomerDialog }\r\n) {\r\n return (\r\n <>\r\n openEditCustomerDialog(row.id)}\r\n >\r\n \r\n \r\n \r\n \r\n <> \r\n\r\n openDeleteCustomerDialog(row.id)}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n","// React bootstrap table next =>\r\n// DOCS: https://react-bootstrap-table.github.io/react-bootstrap-table2/docs/\r\n// STORYBOOK: https://react-bootstrap-table.github.io/react-bootstrap-table2/storybook/index.html\r\nimport React, { useEffect, useMemo } from \"react\";\r\nimport BootstrapTable from \"react-bootstrap-table-next\";\r\nimport paginationFactory, {\r\n PaginationProvider,\r\n} from \"react-bootstrap-table2-paginator\";\r\nimport { shallowEqual, useDispatch, useSelector } from \"react-redux\";\r\nimport * as actions from \"../../../_redux/ZoneBilling/customersActions\";\r\nimport {\r\n getSelectRow,\r\n getHandlerTableChange,\r\n NoRecordsFoundMessage,\r\n PleaseWaitMessage,\r\n sortCaret,\r\n headerSortingClasses,\r\n} from \"../../../../../../_metronic/_helpers\";\r\nimport * as uiHelpers from \"../CustomersUIHelpers\";\r\nimport * as columnFormatters from \"./column-formatters\";\r\nimport { Pagination } from \"../../../../../../_metronic/_partials/controls\";\r\nimport { useCustomersUIContext } from \"../CustomersUIContext\";\r\n\r\nexport function CustomersTable() {\r\n // Customers UI Context\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n ids: customersUIContext.ids,\r\n setIds: customersUIContext.setIds,\r\n queryParams: customersUIContext.queryParams,\r\n setQueryParams: customersUIContext.setQueryParams,\r\n openEditCustomerDialog: customersUIContext.openEditCustomerDialog,\r\n openDeleteCustomerDialog: customersUIContext.openDeleteCustomerDialog,\r\n };\r\n }, [customersUIContext]);\r\n\r\n // Getting curret state of customers list from store (Redux)\r\n const { currentState } = useSelector(\r\n (state) => ({ currentState: state.customers }),\r\n shallowEqual\r\n );\r\n const { totalCount, entities, listLoading } = currentState;\r\n\r\n // Customers Redux state\r\n const dispatch = useDispatch();\r\n useEffect(() => {\r\n // clear selections list\r\n customersUIProps.setIds([]);\r\n // server call by queryParams\r\n dispatch(actions.fetchCustomers(customersUIProps.queryParams));\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [customersUIProps.queryParams, dispatch]);\r\n // Table columns\r\n const columns = [\r\n {\r\n dataField: \"id\",\r\n text: \"Id\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n headerSortingClasses,\r\n },\r\n {\r\n dataField: \"Carrier\",\r\n text: \"CARRIER\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n headerSortingClasses,\r\n },\r\n {\r\n dataField: \"ServiceLevel\",\r\n text: \"SERVICELEVEL\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n headerSortingClasses,\r\n },\r\n {\r\n dataField: \"ZoneName\",\r\n text: \"ZONENAME\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n headerSortingClasses,\r\n },\r\n {\r\n dataField: \"Weight\",\r\n text: \"WEIGHT\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n headerSortingClasses,\r\n },\r\n {\r\n dataField: \"Rate\",\r\n text: \"RATE\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n headerSortingClasses,\r\n },\r\n {\r\n dataField: \"action\",\r\n text: \"Actions\",\r\n formatter: columnFormatters.ActionsColumnFormatter,\r\n formatExtraData: {\r\n openEditCustomerDialog: customersUIProps.openEditCustomerDialog,\r\n openDeleteCustomerDialog: customersUIProps.openDeleteCustomerDialog,\r\n },\r\n classes: \"text-center pr-0\",\r\n headerClasses: \"text-center pr-3\",\r\n style: {\r\n minWidth: \"100px\",\r\n },\r\n },\r\n ];\r\n // Table pagination properties\r\n const paginationOptions = {\r\n custom: true,\r\n totalSize: totalCount,\r\n sizePerPageList: uiHelpers.sizePerPageList,\r\n sizePerPage: customersUIProps.queryParams.pageSize,\r\n page: customersUIProps.queryParams.pageNumber,\r\n };\r\n return (\r\n <>\r\n \r\n {({ paginationProps, paginationTableProps }) => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n }}\r\n \r\n \r\n );\r\n}\r\n","import React, { useMemo } from \"react\";\r\nimport { useCustomersUIContext } from \"../CustomersUIContext\";\r\n\r\nexport function CustomersGrouping() {\r\n // Customers UI Context\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n ids: customersUIContext.ids,\r\n setIds: customersUIContext.setIds,\r\n openDeleteCustomersDialog: customersUIContext.openDeleteCustomersDialog,\r\n openFetchCustomersDialog: customersUIContext.openFetchCustomersDialog,\r\n openUpdateCustomersStatusDialog:\r\n customersUIContext.openUpdateCustomersStatusDialog,\r\n };\r\n }, [customersUIContext]);\r\n\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n Delete All\r\n \r\n  \r\n
\r\n
\r\n
\r\n
\r\n
\r\n );\r\n}\r\n","import React, { useMemo } from \"react\";\r\nimport {\r\n Card,\r\n CardBody,\r\n CardHeader,\r\n CardFooter,\r\n CardHeaderToolbar,\r\n} from \"../../../../../_metronic/_partials/controls\";\r\nimport { makeStyles } from '@material-ui/core/styles';\r\nimport { CustomersFilter } from \"./customers-filter/CustomersFilter\";\r\nimport { CustomersTable } from \"./customers-table/CustomersTable\";\r\nimport { CustomersGrouping } from \"./customers-grouping/CustomersGrouping\";\r\nimport { useCustomersUIContext } from \"./CustomersUIContext\";\r\nimport { Link } from \"react-router-dom\";\r\nconst useStyles = makeStyles(theme => ({\r\n typography: {\r\n padding: theme.spacing(2),\r\n },\r\n}));\r\nexport function CustomersCard() {\r\n const classes = useStyles();\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n ids: customersUIContext.ids,\r\n newCustomerButtonClick: customersUIContext.newCustomerButtonClick,\r\n };\r\n }, [customersUIContext]);\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n Add\r\n \r\n Import\r\n {/*
\r\n \r\n
*/}\r\n
\r\n
\r\n \r\n \r\n {customersUIProps.ids.length > 0 && }\r\n \r\n \r\n \r\n \r\n Close\r\n \r\n \r\n
\r\n );\r\n}","import React from \"react\";\r\nimport { Route } from \"react-router-dom\";\r\nimport { CustomersLoadingDialog } from \"./customers-loading-dialog/CustomersLoadingDialog\";\r\nimport { CustomerEditDialog } from \"./customer-edit-dialog/CustomerEditDialog\";\r\nimport { CustomerDeleteDialog } from \"./customer-delete-dialog/CustomerDeleteDialog\";\r\nimport { CustomersDeleteDialog } from \"./customers-delete-dialog/CustomersDeleteDialog\";\r\nimport { CustomersFetchDialog } from \"./customers-fetch-dialog/CustomersFetchDialog\";\r\nimport { CustomersUpdateStateDialog } from \"./customers-update-status-dialog/CustomersUpdateStateDialog\";\r\nimport { CustomersUIProvider } from \"./CustomersUIContext\";\r\nimport { CustomersCard } from \"./CustomersCard\";\r\n\r\nexport function ZoneBilling({ history }) {\r\n const customersUIEvents = {\r\n newCustomerButtonClick: () => {\r\n history.push(\"/ZoneBilling/new\");\r\n },\r\n openEditCustomerDialog: (id) => {\r\n history.push(`/ZoneBilling/${id}/edit`);\r\n },\r\n openDeleteCustomerDialog: (id) => {\r\n history.push(`/ZoneBilling/${id}/delete`);\r\n },\r\n openDeleteCustomersDialog: () => {\r\n history.push(`/ZoneBilling/deleteCustomers`);\r\n },\r\n openFetchCustomersDialog: () => {\r\n history.push(`/ZoneBilling/fetch`);\r\n },\r\n openUpdateCustomersStatusDialog: () => {\r\n history.push(\"/ZoneBilling/updateStatus\");\r\n }\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n {({ history, match }) => (\r\n {\r\n history.push(\"/ZoneBilling\");\r\n }}\r\n />\r\n )}\r\n \r\n \r\n {({ history, match }) => (\r\n {\r\n history.push(\"/ZoneBilling\");\r\n }}\r\n />\r\n )}\r\n \r\n \r\n {({ history, match }) => (\r\n {\r\n history.push(\"/ZoneBilling\");\r\n }}\r\n />\r\n )}\r\n \r\n \r\n {({ history, match }) => (\r\n {\r\n history.push(\"/ZoneBilling\");\r\n }}\r\n />\r\n )}\r\n \r\n \r\n {({ history, match }) => (\r\n {\r\n history.push(\"/ZoneBilling\");\r\n }}\r\n />\r\n )}\r\n \r\n \r\n {({ history, match }) => (\r\n {\r\n history.push(\"/ZoneBilling\");\r\n }}\r\n />\r\n )}\r\n \r\n \r\n {({ history, match }) => (\r\n {\r\n history.push(\"/ZoneBilling\");\r\n }}\r\n />\r\n )}\r\n \r\n \r\n \r\n );\r\n}\r\n","import React, { useEffect } from \"react\";\r\nimport { shallowEqual, useSelector } from \"react-redux\";\r\nimport { LoadingDialog } from \"../../../../../../_metronic/_partials/controls\";\r\n\r\nexport function CustomersLoadingDialog() {\r\n // Customers Redux state\r\n const { isLoading } = useSelector(\r\n (state) => ({ isLoading: state.customers.listLoading }),\r\n shallowEqual\r\n );\r\n // looking for loading/dispatch\r\n useEffect(() => {}, [isLoading]);\r\n return ;\r\n}\r\n","import axios from \"axios\";\r\n\r\nexport const CUSTOMERS_URL = \"api/ManageWarehouse\";\r\n\r\n// CREATE => POST: add a new customer to the server\r\nexport function createCustomer(customer) {\r\n return axios.post(CUSTOMERS_URL, { customer });\r\n}\r\n\r\n// READ\r\nexport function getAllCustomers() {\r\n return axios.get(CUSTOMERS_URL);\r\n}\r\n\r\nexport function getCustomerById(customerId) {\r\n return axios.get(`${CUSTOMERS_URL}/${customerId}`);\r\n}\r\n\r\n// Method from server should return QueryResultsModel(items: any[], totalsCount: number)\r\n// items => filtered/sorted result\r\nexport function findCustomers(queryParams) {\r\n return axios.post(`${CUSTOMERS_URL}/find`, { queryParams });\r\n}\r\n\r\n// UPDATE => PUT: update the customer on the server\r\nexport function updateCustomer(customer) {\r\n return axios.put(`${CUSTOMERS_URL}/${customer.id}`, { customer });\r\n}\r\n\r\n// UPDATE Status\r\nexport function updateStatusForCustomers(ids, status) {\r\n return axios.post(`${CUSTOMERS_URL}/updateStatusForCustomers`, {\r\n ids,\r\n status\r\n });\r\n}\r\n\r\n// DELETE => delete the customer from the server\r\nexport function deleteCustomer(customerId) {\r\n return axios.delete(`${CUSTOMERS_URL}/${customerId}`);\r\n}\r\n\r\n// DELETE Customers by ids\r\nexport function deleteCustomers(ids) {\r\n return axios.post(`${CUSTOMERS_URL}/deleteCustomers`, { ids });\r\n}\r\n","import {createSlice} from \"@reduxjs/toolkit\";\r\n\r\nconst initialCustomersState = {\r\n listLoading: false,\r\n actionsLoading: false,\r\n totalCount: 0,\r\n entities: null,\r\n customerForEdit: undefined,\r\n lastError: null\r\n};\r\nexport const callTypes = {\r\n list: \"list\",\r\n action: \"action\"\r\n};\r\n\r\nexport const customersSlice = createSlice({\r\n name: \"customers\",\r\n initialState: initialCustomersState,\r\n reducers: {\r\n catchError: (state, action) => {\r\n state.error = `${action.type}: ${action.payload.error}`;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = false;\r\n } else {\r\n state.actionsLoading = false;\r\n }\r\n },\r\n startCall: (state, action) => {\r\n state.error = null;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = true;\r\n } else {\r\n state.actionsLoading = true;\r\n }\r\n },\r\n // getCustomerById\r\n customerFetched: (state, action) => {\r\n state.actionsLoading = false;\r\n state.customerForEdit = action.payload.customerForEdit;\r\n state.error = null;\r\n },\r\n // findCustomers\r\n customersFetched: (state, action) => {\r\n const { totalCount, entities } = action.payload;\r\n state.listLoading = false;\r\n state.error = null;\r\n state.entities = entities;\r\n state.totalCount = totalCount;\r\n },\r\n // createCustomer\r\n customerCreated: (state, action) => {\r\n state.actionsLoading = false;\r\n state.error = null;\r\n state.entities.push(action.payload.customer);\r\n },\r\n // updateCustomer\r\n customerUpdated: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.map(entity => {\r\n if (entity.id === action.payload.customer.id) {\r\n return action.payload.customer;\r\n }\r\n return entity;\r\n });\r\n },\r\n // deleteCustomer\r\n customerDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(el => el.id !== action.payload.id);\r\n },\r\n // deleteCustomers\r\n customersDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(\r\n el => !action.payload.ids.includes(el.id)\r\n );\r\n },\r\n // customersUpdateState\r\n customersStatusUpdated: (state, action) => {\r\n state.actionsLoading = false;\r\n state.error = null;\r\n const { ids, status } = action.payload;\r\n state.entities = state.entities.map(entity => {\r\n if (ids.findIndex(id => id === entity.id) > -1) {\r\n entity.status = status;\r\n }\r\n return entity;\r\n });\r\n }\r\n }\r\n});\r\n","import * as requestFromServer from \"./customersCrud\";\r\nimport {customersSlice, callTypes} from \"./customersSlice\";\r\n\r\nconst {actions} = customersSlice;\r\n\r\nexport const fetchCustomers = queryParams => dispatch => {\r\n dispatch(actions.startCall({ callType: callTypes.list }));\r\n return requestFromServer\r\n .findCustomers(queryParams)\r\n .then(response => {\r\n const { totalCount, entities } = response.data;\r\n dispatch(actions.customersFetched({ totalCount, entities }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't find customers\";\r\n dispatch(actions.catchError({ error, callType: callTypes.list }));\r\n });\r\n};\r\n\r\nexport const fetchCustomer = id => dispatch => {\r\n if (!id) {\r\n return dispatch(actions.customerFetched({ customerForEdit: undefined }));\r\n }\r\n\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .getCustomerById(id)\r\n .then(response => {\r\n const customer = response.data;\r\n dispatch(actions.customerFetched({ customerForEdit: customer }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't find customer\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const deleteCustomer = id => dispatch => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .deleteCustomer(id)\r\n .then(response => {\r\n dispatch(actions.customerDeleted({ id }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't delete customer\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const createCustomer = customerForCreation => dispatch => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .createCustomer(customerForCreation)\r\n .then(response => {\r\n const { customer } = response.data;\r\n dispatch(actions.customerCreated({ customer }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't create customer\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const updateCustomer = customer => dispatch => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .updateCustomer(customer)\r\n .then(() => {\r\n dispatch(actions.customerUpdated({ customer }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't update customer\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const updateCustomersStatus = (ids, status) => dispatch => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .updateStatusForCustomers(ids, status)\r\n .then(() => {\r\n dispatch(actions.customersStatusUpdated({ ids, status }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't update customers status\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const deleteCustomers = ids => dispatch => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .deleteCustomers(ids)\r\n .then(() => {\r\n dispatch(actions.customersDeleted({ ids }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't delete customers\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n","import React, { useEffect, useState } from \"react\";\r\nimport { Modal, Form, Card, Alert, Accordion, Button } from \"react-bootstrap\";\r\nimport { Formik, Field } from \"formik\";\r\nimport * as Yup from \"yup\";\r\nimport {\r\n Input,\r\n Select,\r\n RadioButton,\r\n} from \"../../../../../../_metronic/_partials/controls\";\r\nimport CreatableSelect from \"react-select/creatable\";\r\nimport { Icon } from \"@material-ui/core\";\r\nimport clsx from \"clsx\";\r\nimport Radio from \"@material-ui/core/Radio\";\r\nimport FormControlLabel from \"@material-ui/core/FormControlLabel\";\r\nimport axios from \"axios\";\r\nimport LinearProgress from \"@material-ui/core/LinearProgress\";\r\nimport moment from \"moment\";\r\nimport LocalStorage from \"lowdb/adapters/LocalStorage\";\r\nimport low from \"lowdb\";\r\nconst adapter = new LocalStorage(\"db\");\r\nconst db = low(adapter);\r\nexport function CustomerEditForm({\r\n saveCustomer,\r\n customer,\r\n actionsLoading,\r\n onHide,\r\n Contacts,\r\n show\r\n}) {\r\n let CustomerEditSchema;\r\n if (customer.id === undefined) {\r\n CustomerEditSchema = Yup.object().shape({\r\n Name: Yup.string()\r\n .min(3, \"Minimum 8 symbols\")\r\n .max(50, \"Maximum 50 symbols\")\r\n .required(\"Warehouse Name is required\"),\r\n Code: Yup.string()\r\n .min(3, \"Minimum 8 symbols\")\r\n .max(50, \"Maximum 50 symbols\")\r\n .required(\"Warehouse Name is required\"),\r\n NumberPerLocation: Yup.string().required(\"Warehouse Name is required\"),\r\n Email: Yup.string()\r\n .email(\"Invalid email\")\r\n .required(\"Email is required\"),\r\n });\r\n } else {\r\n CustomerEditSchema = Yup.object().shape({\r\n Email: Yup.string()\r\n .email(\"Invalid email\")\r\n .required(\"Email is required\"),\r\n });\r\n }\r\n\r\n const [timeZoneInfoList, setTimeZoneInfoList] = useState([]);\r\n const [countriesList, setCountriesList] = useState([]);\r\n const [isActive, setisActive] = useState(false);\r\n\r\n useEffect(() => {\r\n fetchUsersAsync();\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (customer.IsActive !== undefined) {\r\n var a = customer.IsActive ? \"true\" : \"false\";\r\n setisActive(a);\r\n }\r\n }, [customer]);\r\n\r\n const fetchUsersAsync = async () => {\r\n try {\r\n const result = await axios.get(\"api/Warehouses/GetAllApi\");\r\n setTimeZoneInfoList(result.data[\"TimeZoneInfo\"]);\r\n setCountriesList(result.data[\"Countries\"]);\r\n } catch (e) {}\r\n };\r\n\r\n function addClick() {\r\n setusers((prevState) => [\r\n ...prevState,\r\n {\r\n Id: 0,\r\n Category: \"\",\r\n CategoryId: \"\",\r\n FirstName: \"\",\r\n LastName: \"\",\r\n Name: \"\",\r\n WorkPhone: \"\",\r\n Cellular: \"\",\r\n HomePhone: \"\",\r\n Email: \"\",\r\n Fax: \"\",\r\n Birthday: \"\",\r\n },\r\n ]);\r\n }\r\n\r\n const [users, setusers] = useState([\r\n {\r\n Id: 0,\r\n Category: \"\",\r\n CategoryId: \"\",\r\n FirstName: \"\",\r\n LastName: \"\",\r\n Name: \"\",\r\n WorkPhone: \"\",\r\n Cellular: \"\",\r\n HomePhone: \"\",\r\n Email: \"\",\r\n Fax: \"\",\r\n Birthday: \"\",\r\n },\r\n ]);\r\n\r\n useEffect(() => {\r\n if (!!Contacts) {\r\n if (!!Contacts[0]?.CategoryId) {\r\n setusers(Contacts);\r\n }else{\r\n setusers([\r\n {\r\n Id: 0,\r\n Category: \"\",\r\n CategoryId: \"\",\r\n FirstName: \"\",\r\n LastName: \"\",\r\n Name: \"\",\r\n WorkPhone: \"\",\r\n Cellular: \"\",\r\n HomePhone: \"\",\r\n Email: \"\",\r\n Fax: \"\",\r\n Birthday: \"\",\r\n },\r\n ]);\r\n }\r\n }\r\n }, [Contacts]);\r\n\r\n function removeClickContact(i) {\r\n let user = [...users];\r\n user.splice(i, 1);\r\n setusers(user);\r\n }\r\n\r\n const [CategoriesList, setCategoriesList] = useState([]);\r\n\r\n function createUI() {\r\n return users.map((el, i) => (\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n {el?.Name !== \"\" && (\r\n
\r\n
\r\n

Contact : {el?.Name}

\r\n
\r\n
\r\n )}\r\n\r\n
\r\n
\r\n \r\n x.Id === el.CategoryId) !==\r\n undefined && {\r\n value: el.CategoryId,\r\n label: el.Category,\r\n }\r\n }\r\n onChange={(newValue) => {\r\n let values = [...users];\r\n values[i].Category = newValue?.label;\r\n values[i].CategoryId = newValue.value;\r\n setusers(values);\r\n }}\r\n options={CategoriesList.map((x) => {\r\n return {\r\n value: x.Id,\r\n label: x?.Name,\r\n };\r\n })}\r\n />\r\n
\r\n
\r\n\r\n
\r\n
\r\n {\r\n let values = [...users];\r\n values[i].FirstName = event.target.value;\r\n if (event.target.value && values[i].LastName) {\r\n values[i].Name =\r\n event.target.value + \" \" + values[i].LastName;\r\n } else {\r\n values[i].Name = \"\";\r\n }\r\n setusers(values);\r\n }}\r\n />\r\n
\r\n
\r\n {\r\n let values = [...users];\r\n values[i].LastName = event.target.value;\r\n if (event.target.value !== \"\" && values[i].FirstName) {\r\n values[i].Name =\r\n values[i].FirstName + \" \" + event.target.value;\r\n } else {\r\n values[i].Name = \"\";\r\n }\r\n setusers(values);\r\n }}\r\n />\r\n
\r\n
\r\n\r\n
\r\n
\r\n {\r\n let values = [...users];\r\n values[i].WorkPhone = event.target.value;\r\n setusers(values);\r\n }}\r\n />\r\n
\r\n
\r\n {\r\n let values = [...users];\r\n values[i].Cellular = event.target.value;\r\n setusers(values);\r\n }}\r\n />\r\n
\r\n
\r\n\r\n
\r\n
\r\n {\r\n let values = [...users];\r\n values[i].HomePhone = event.target.value;\r\n setusers(values);\r\n }}\r\n />\r\n
\r\n
\r\n {\r\n let values = [...users];\r\n values[i].Email = event.target.value;\r\n setusers(values);\r\n }}\r\n />\r\n
\r\n
\r\n\r\n
\r\n
\r\n {\r\n let values = [...users];\r\n values[i].Fax = event.target.value;\r\n setusers(values);\r\n }}\r\n />\r\n
\r\n
\r\n \r\n {\r\n let values = [...users];\r\n values[i].Birthday = e.target.value;\r\n setusers(values);\r\n }}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n ));\r\n }\r\n\r\n const fetchCategories = async () => {\r\n try {\r\n if (CategoriesList.length === 0) {\r\n await fetch(window.$apiurl + \"/contact/getviewmodel\", {\r\n method: \"get\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then((res) => res.json())\r\n .then((res) => {\r\n setCategoriesList(res.ContactCategories || []);\r\n })\r\n .catch((err) => {\r\n return false;\r\n });\r\n }\r\n } catch (e) {}\r\n };\r\n\r\n useEffect(() => {\r\n fetchCategories();\r\n }, []);\r\n\r\n\r\n return (\r\n <>\r\n \r\n {\r\n values = JSON.parse(JSON.stringify(values));\r\n values.Contacts = users;\r\n saveCustomer(values);\r\n }}\r\n >\r\n {({ handleSubmit, setFieldValue }) => (\r\n <>\r\n \r\n {actionsLoading && (\r\n
\r\n
\r\n
\r\n )}\r\n\r\n
\r\n \r\n \r\n
CONTACT INFORMATION
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n {\r\n setisActive(e.target.value);\r\n setFieldValue(\"IsActive\", e.target.value);\r\n }}\r\n >\r\n }\r\n label=\"Activate\"\r\n />\r\n }\r\n label=\"Deactivate\"\r\n />\r\n \r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n {countriesList.length === 0 && }\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n {timeZoneInfoList.length === 0 && }\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n \r\n
ACCOUNTS
\r\n
\r\n \r\n \r\n\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n \r\n
CUSTOMIZATIONS
\r\n
\r\n \r\n \r\n\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n \r\n
CONTACTS
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n Contact Information\r\n \r\n
\r\n
\r\n \r\n {createUI()}\r\n
\r\n
\r\n
\r\n
\r\n \r\n {\" \"}\r\n \r\n Add\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n \r\n Cancel\r\n \r\n <> \r\n handleSubmit()}\r\n className=\"btn btn-primary btn-elevate\"\r\n >\r\n Save\r\n \r\n \r\n \r\n )}\r\n \r\n
\r\n \r\n );\r\n}\r\n","export const CustomerStatusCssClasses = [\"danger\", \"success\"];\r\nexport const CustomerStatusTitles = [\"true\", \"false\"];\r\nexport const CustomerTypeCssClasses = [\"success\", \"primary\", \"\"];\r\nexport const CustomerTypeTitles = [\"Business\", \"Individual\", \"\"];\r\nexport const defaultSorted = [{ dataField: \"id\", order: \"desc\" }];\r\nexport const sizePerPageList = [\r\n { text: \"3\", value: 3 },\r\n { text: \"5\", value: 5 },\r\n { text: \"10\", value: 10 },\r\n];\r\nexport const initialFilter = {\r\n filter: {\r\n WarehouseName: \"\",\r\n Address1: \"\",\r\n City: \"\",\r\n State: \"\",\r\n IsActive: \"\",\r\n },\r\n sortOrder: \"asc\", // asc||desc\r\n sortField: \"id\",\r\n pageNumber: 1,\r\n pageSize: 10,\r\n};\r\n","import React, { createContext, useContext, useState, useCallback } from \"react\";\r\nimport { isEqual, isFunction } from \"lodash\";\r\nimport { initialFilter } from \"./CustomersUIHelpers\";\r\n\r\nconst CustomersUIContext = createContext();\r\n\r\nexport function useCustomersUIContext() {\r\n return useContext(CustomersUIContext);\r\n}\r\n\r\nexport const CustomersUIConsumer = CustomersUIContext.Consumer;\r\n\r\nexport function CustomersUIProvider({ customersUIEvents, children }) {\r\n const [queryParams, setQueryParamsBase] = useState(initialFilter);\r\n const [ids, setIds] = useState([]);\r\n const setQueryParams = useCallback((nextQueryParams) => {\r\n setQueryParamsBase((prevQueryParams) => {\r\n if (isFunction(nextQueryParams)) {\r\n nextQueryParams = nextQueryParams(prevQueryParams);\r\n }\r\n\r\n if (isEqual(prevQueryParams, nextQueryParams)) {\r\n return prevQueryParams;\r\n }\r\n\r\n return nextQueryParams;\r\n });\r\n }, []);\r\n\r\n const initCustomer = {\r\n id: undefined,\r\n Name: \"\",\r\n Code: \"\",\r\n Address1: \"\",\r\n Address2: \"\",\r\n State: \"\",\r\n ZipCode: \"\",\r\n City: \"\",\r\n TimeZone: \"\",\r\n PhoneNumber: \"\",\r\n Fax: \"\",\r\n Email: \"\",\r\n UPSNumber: \"\",\r\n FedExNumber: \"\",\r\n FuelSurcharge: \"\",\r\n FreightRate: \"\",\r\n NumberPerLocation: \"\",\r\n Country: 226,\r\n Contacts: [],\r\n };\r\n\r\n const value = {\r\n queryParams,\r\n setQueryParamsBase,\r\n ids,\r\n setIds,\r\n setQueryParams,\r\n initCustomer,\r\n newCustomerButtonClick: customersUIEvents.newCustomerButtonClick,\r\n openEditCustomerDialog: customersUIEvents.openEditCustomerDialog,\r\n openDeleteCustomerDialog: customersUIEvents.openDeleteCustomerDialog,\r\n openDeleteCustomersDialog: customersUIEvents.openDeleteCustomersDialog,\r\n openFetchCustomersDialog: customersUIEvents.openFetchCustomersDialog,\r\n openUpdateCustomersStatusDialog:\r\n customersUIEvents.openUpdateCustomersStatusDialog,\r\n };\r\n\r\n return (\r\n \r\n {children}\r\n \r\n );\r\n}\r\n","import React, { useState, useEffect } from \"react\";\r\nimport { shallowEqual, useSelector } from \"react-redux\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { ModalProgressBar } from \"../../../../../../_metronic/_partials/controls\";\r\nimport CloseIcon from '@material-ui/icons/Close';\r\nimport IconButton from '@material-ui/core/IconButton';\r\nexport function CustomerEditDialogHeader({ id,onHide }) {\r\n // Customers Redux state\r\n const { customerForEdit, actionsLoading } = useSelector(\r\n (state) => ({\r\n customerForEdit: state.customers.customerForEdit,\r\n actionsLoading: state.customers.actionsLoading,\r\n }),\r\n shallowEqual\r\n );\r\n\r\n const [title, setTitle] = useState(\"\");\r\n // Title couting\r\n useEffect(() => {\r\n let _title = id ? \"\" : \"New Warehouse\";\r\n if (customerForEdit && id) {\r\n _title = `Edit Warehouse`;\r\n }\r\n\r\n setTitle(_title);\r\n // eslint-disable-next-line\r\n }, [customerForEdit, actionsLoading]);\r\n\r\n return (\r\n <>\r\n {actionsLoading && }\r\n \r\n {title}\r\n {\r\n onHide(false);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n );\r\n}\r\n","import React, { useEffect, useMemo, useState } from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { shallowEqual, useDispatch, useSelector } from \"react-redux\";\r\nimport * as actions from \"../../../_redux/ManageWarehouse/customersActions\";\r\nimport { CustomerEditForm } from \"./CustomerEditForm\";\r\nimport { useCustomersUIContext } from \"../CustomersUIContext\";\r\nimport {CustomerEditDialogHeader} from \"./CustomerEditDialogHeader\"\r\nimport LocalStorage from \"lowdb/adapters/LocalStorage\";\r\nimport low from \"lowdb\";\r\n\r\nconst adapter = new LocalStorage(\"db\");\r\nconst db = low(adapter);\r\n\r\nexport function CustomerEditDialog({ id, show, onHide }) {\r\n // Customers UI Context\r\n const [Contacts, setContacts] = useState([]);\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n initCustomer: customersUIContext.initCustomer,\r\n };\r\n }, [customersUIContext]);\r\n\r\n // Customers Redux state\r\n const dispatch = useDispatch();\r\n const { actionsLoading, customerForEdit } = useSelector(\r\n (state) => ({\r\n actionsLoading: state.customers.actionsLoading,\r\n customerForEdit: state.customers.customerForEdit,\r\n }),\r\n shallowEqual\r\n );\r\n\r\n useEffect(() => {\r\n // server call for getting Customer by id\r\n dispatch(actions.fetchCustomer(id));\r\n }, [id, dispatch]);\r\n\r\n // server request for saving customer\r\n const saveCustomer = (customer) => {\r\n if (!id) {\r\n // server request for creating customer\r\n dispatch(actions.createCustomer(customer)).then(() => {\r\n onHide();\r\n dispatch(actions.fetchCustomers(customersUIProps.queryParams));\r\n });\r\n } else {\r\n // server request for updating customer\r\n dispatch(actions.updateCustomer(customer)).then(() => {\r\n onHide();\r\n dispatch(actions.fetchCustomers(customersUIProps.queryParams));\r\n });\r\n }\r\n };\r\n\r\n async function GetWarehouse(id) {\r\n return await fetch(`${window.$apiurl}/Warehouses/byId/${id}`, {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", \r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n setContacts(res[1]?.Contacts);\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n\r\n useEffect(() => {\r\n if(id){\r\n GetWarehouse(id);\r\n }\r\n }, [id]);\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n}\r\n","import React, { useEffect, useMemo } from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { shallowEqual, useDispatch, useSelector } from \"react-redux\";\r\nimport { ModalProgressBar } from \"../../../../../../_metronic/_partials/controls\";\r\nimport * as actions from \"../../../_redux/ManageWarehouse/customersActions\";\r\nimport { useCustomersUIContext } from \"../CustomersUIContext\";\r\n\r\nexport function CustomerDeleteDialog({ id, show, onHide }) {\r\n // Customers UI Context\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n setIds: customersUIContext.setIds,\r\n queryParams: customersUIContext.queryParams,\r\n };\r\n }, [customersUIContext]);\r\n\r\n // Customers Redux state\r\n const dispatch = useDispatch();\r\n const { isLoading } = useSelector(\r\n (state) => ({ isLoading: state.customers.actionsLoading }),\r\n shallowEqual\r\n );\r\n\r\n // if !id we should close modal\r\n useEffect(() => {\r\n if (!id) {\r\n onHide();\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [id]);\r\n\r\n // looking for loading/dispatch\r\n useEffect(() => {}, [isLoading, dispatch]);\r\n\r\n const deleteCustomer = () => {\r\n // server request for deleting customer by id\r\n dispatch(actions.deleteCustomer(id)).then(() => {\r\n // refresh list after deletion\r\n dispatch(actions.fetchCustomers(customersUIProps.queryParams));\r\n // clear selections list\r\n customersUIProps.setIds([]);\r\n // closing delete modal\r\n onHide();\r\n });\r\n };\r\n\r\n return (\r\n \r\n {/*begin::Loading*/}\r\n {isLoading && }\r\n {/*end::Loading*/}\r\n \r\n \r\n Warehouse Delete\r\n \r\n \r\n \r\n {!isLoading && (\r\n Are you sure to permanently delete this Warehouse?\r\n )}\r\n {isLoading && Warehouse is deleting...}\r\n \r\n \r\n
\r\n \r\n Cancel\r\n \r\n <> \r\n \r\n Delete\r\n \r\n
\r\n
\r\n \r\n );\r\n}\r\n","import React, { useEffect, useMemo } from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { shallowEqual, useDispatch, useSelector } from \"react-redux\";\r\nimport * as actions from \"../../../_redux/ManageWarehouse/customersActions\";\r\nimport { useCustomersUIContext } from \"../CustomersUIContext\";\r\nimport {ModalProgressBar} from \"../../../../../../_metronic/_partials/controls\";\r\n\r\nexport function CustomersDeleteDialog({ show, onHide }) {\r\n // Customers UI Context\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n ids: customersUIContext.ids,\r\n setIds: customersUIContext.setIds,\r\n queryParams: customersUIContext.queryParams,\r\n };\r\n }, [customersUIContext]);\r\n\r\n // Customers Redux state\r\n const dispatch = useDispatch();\r\n const { isLoading } = useSelector(\r\n (state) => ({ isLoading: state.customers.actionsLoading }),\r\n shallowEqual\r\n );\r\n\r\n // if customers weren't selected we should close modal\r\n useEffect(() => {\r\n if (!customersUIProps.ids || customersUIProps.ids.length === 0) {\r\n onHide();\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [customersUIProps.ids]);\r\n\r\n // looking for loading/dispatch\r\n useEffect(() => {}, [isLoading, dispatch]);\r\n\r\n const deleteCustomers = () => {\r\n // server request for deleting customer by selected ids\r\n dispatch(actions.deleteCustomers(customersUIProps.ids)).then(() => {\r\n // refresh list after deletion\r\n dispatch(actions.fetchCustomers(customersUIProps.queryParams)).then(\r\n () => {\r\n // clear selections list\r\n customersUIProps.setIds([]);\r\n // closing delete modal\r\n onHide();\r\n }\r\n );\r\n });\r\n };\r\n\r\n return (\r\n \r\n {/*begin::Loading*/}\r\n {isLoading && }\r\n {/*end::Loading*/}\r\n \r\n \r\n Customers Delete\r\n \r\n \r\n \r\n {!isLoading && (\r\n Are you sure to permanently delete selected customers?\r\n )}\r\n {isLoading && Customer are deleting...}\r\n \r\n \r\n
\r\n \r\n Cancel\r\n \r\n <> \r\n \r\n Delete\r\n \r\n
\r\n
\r\n \r\n );\r\n}\r\n","import React, { useEffect, useMemo } from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { shallowEqual, useSelector } from \"react-redux\";\r\nimport { CustomerStatusCssClasses } from \"../CustomersUIHelpers\";\r\nimport { useCustomersUIContext } from \"../CustomersUIContext\";\r\n\r\nconst selectedCustomers = (entities, ids) => {\r\n const _customers = [];\r\n ids.forEach((id) => {\r\n const customer = entities.find((el) => el.id === id);\r\n if (customer) {\r\n _customers.push(customer);\r\n }\r\n });\r\n return _customers;\r\n};\r\n\r\nexport function CustomersFetchDialog({ show, onHide }) {\r\n // Customers UI Context\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n ids: customersUIContext.ids,\r\n };\r\n }, [customersUIContext]);\r\n\r\n // Customers Redux state\r\n const { customers } = useSelector(\r\n (state) => ({\r\n customers: selectedCustomers(\r\n state.customers.entities,\r\n customersUIProps.ids\r\n ),\r\n }),\r\n shallowEqual\r\n );\r\n\r\n // if customers weren't selected we should close modal\r\n useEffect(() => {\r\n if (!customersUIProps.ids || customersUIProps.ids.length === 0) {\r\n onHide();\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [customersUIProps.ids]);\r\n\r\n return (\r\n \r\n \r\n \r\n Fetch selected elements\r\n \r\n \r\n \r\n
\r\n {customers.map((customer) => (\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n ID: {customer.id}\r\n \r\n {customer.lastName}, {customer.firstName} \r\n
\r\n
\r\n ))}\r\n
\r\n \r\n \r\n
\r\n \r\n Cancel\r\n \r\n <> \r\n \r\n Ok\r\n \r\n
\r\n
\r\n \r\n );\r\n}\r\n","import React, { useEffect, useState, useMemo } from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { shallowEqual, useDispatch, useSelector } from \"react-redux\";\r\nimport { CustomerStatusCssClasses } from \"../CustomersUIHelpers\";\r\nimport * as actions from \"../../../_redux/ManageWarehouse/customersActions\";\r\nimport { useCustomersUIContext } from \"../CustomersUIContext\";\r\n\r\nconst selectedCustomers = (entities, ids) => {\r\n const _customers = [];\r\n ids.forEach((id) => {\r\n const customer = entities.find((el) => el.id === id);\r\n if (customer) {\r\n _customers.push(customer);\r\n }\r\n });\r\n return _customers;\r\n};\r\n\r\nexport function CustomersUpdateStateDialog({ show, onHide }) {\r\n // Customers UI Context\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n ids: customersUIContext.ids,\r\n setIds: customersUIContext.setIds,\r\n queryParams: customersUIContext.queryParams,\r\n };\r\n }, [customersUIContext]);\r\n\r\n // Customers Redux state\r\n const { customers, isLoading } = useSelector(\r\n (state) => ({\r\n customers: selectedCustomers(\r\n state.customers.entities,\r\n customersUIProps.ids\r\n ),\r\n isLoading: state.customers.actionsLoading,\r\n }),\r\n shallowEqual\r\n );\r\n\r\n // if !id we should close modal\r\n useEffect(() => {\r\n if (!customersUIProps.ids || customersUIProps.ids.length === 0) {\r\n onHide();\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [customersUIProps.ids]);\r\n\r\n const [status, setStatus] = useState(0);\r\n\r\n const dispatch = useDispatch();\r\n const updateStatus = () => {\r\n // server request for update customers status by selected ids\r\n dispatch(actions.updateCustomersStatus(customersUIProps.ids, status)).then(\r\n () => {\r\n // refresh list after deletion\r\n dispatch(actions.fetchCustomers(customersUIProps.queryParams)).then(\r\n () => {\r\n // clear selections list\r\n customersUIProps.setIds([]);\r\n // closing delete modal\r\n onHide();\r\n }\r\n );\r\n }\r\n );\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n Status has been updated for selected customers\r\n \r\n \r\n \r\n {/*begin::Loading*/}\r\n {isLoading && (\r\n
\r\n
\r\n
\r\n )}\r\n {/*end::Loading*/}\r\n\r\n
\r\n {customers.map((customer) => (\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n ID: {customer.id}\r\n \r\n \r\n {customer.lastName}, {customer.firstName}\r\n \r\n
\r\n
\r\n ))}\r\n
\r\n \r\n \r\n
\r\n setStatus(+e.target.value)}\r\n >\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n Cancel\r\n \r\n \r\n Update Status\r\n \r\n
\r\n
\r\n \r\n );\r\n}\r\n","import React, { useMemo, useState } from \"react\";\r\nimport { Formik } from \"formik\";\r\nimport { isEqual } from \"lodash\";\r\nimport { useCustomersUIContext } from \"../CustomersUIContext\";\r\nimport Menu from \"@material-ui/core/Menu\";\r\nimport MenuItem from \"@material-ui/core/MenuItem\";\r\nimport ListItemIcon from \"@material-ui/core/ListItemIcon\";\r\nimport ListItemText from \"@material-ui/core/ListItemText\";\r\nimport { withStyles } from \"@material-ui/core/styles\";\r\nimport { makeStyles } from \"@material-ui/core/styles\";\r\nimport Icon from \"@material-ui/core/Icon\";\r\nimport Button from \"@material-ui/core/Button\";\r\nimport { ButtonToolbar } from \"react-bootstrap\";\r\nimport { Export } from \"../../../../../../_metronic/_helpers/ATHelpers\";\r\nimport axios from \"axios\";\r\n\r\n//Export Filter\r\n\r\nconst StyledMenu = withStyles({\r\n paper: {\r\n border: \"1px solid #d3d4d5\",\r\n },\r\n})((props) => (\r\n \r\n));\r\nconst StyledMenuItem = withStyles((theme) => ({\r\n root: {\r\n \"&:focus\": {\r\n backgroundColor: theme.palette.primary.main,\r\n \"& .MuiListItemIcon-root, & .MuiListItemText-primary\": {\r\n color: theme.palette.common.white,\r\n },\r\n },\r\n },\r\n}))(MenuItem);\r\nconst useStyles = makeStyles((theme) => ({\r\n button: {\r\n margin: theme.spacing(1),\r\n },\r\n leftIcon: {\r\n marginRight: theme.spacing(1),\r\n },\r\n rightIcon: {\r\n marginLeft: theme.spacing(1),\r\n },\r\n iconSmall: {\r\n fontSize: 20,\r\n },\r\n}));\r\nconst prepareFilter = (queryParams, values) => {\r\n const { ReLoadTable, status, type, searchText } = values;\r\n const newQueryParams = { ...queryParams };\r\n const filter = {};\r\n filter.IsActive = status !== \"\" ? status === \"true\" : undefined;\r\n filter.ReLoadTable = ReLoadTable;\r\n if (searchText) {\r\n filter.Name = searchText;\r\n }\r\n newQueryParams.filter = filter;\r\n return newQueryParams;\r\n};\r\n\r\nexport function CustomersFilter({ listLoading }) {\r\n // Customers UI Context\r\n const [QueryFilter, setQueryFilter] = useState(\"\");\r\n\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n queryParams: customersUIContext.queryParams,\r\n setQueryParams: customersUIContext.setQueryParams,\r\n };\r\n }, [customersUIContext]);\r\n\r\n // queryParams, setQueryParams,\r\n const applyFilter = (values) => {\r\n const newQueryParams = prepareFilter(customersUIProps.queryParams, values);\r\n if (!isEqual(newQueryParams, customersUIProps.queryParams)) {\r\n newQueryParams.pageNumber = 1;\r\n // update list by queryParams\r\n setQueryFilter(newQueryParams);\r\n\r\n customersUIProps.setQueryParams(newQueryParams);\r\n }\r\n };\r\n const useStyles = makeStyles((theme) => ({\r\n container: {\r\n display: \"flex\",\r\n flexWrap: \"wrap\",\r\n },\r\n textField: {\r\n marginLeft: theme.spacing(1),\r\n marginRight: theme.spacing(1),\r\n width: 200,\r\n },\r\n }));\r\n const classes = useStyles();\r\n const [anchorEl, setAnchorEl] = React.useState(null);\r\n function handleClick(event) {\r\n setAnchorEl(event.currentTarget);\r\n }\r\n function handleClose() {\r\n setAnchorEl(null);\r\n }\r\n\r\n async function fetchMyAPI2(type, entityName) {\r\n var filter = QueryFilter;\r\n if (filter) {\r\n filter.pageSize = 100000;\r\n const result = await axios.post(`api/ManageWarehouse/filter`, {\r\n queryParams: filter,\r\n });\r\n Export(result.data.entities, type, entityName);\r\n } else {\r\n const result = await axios.post(`api/ManageWarehouse/filter`, {\r\n queryParams: {\r\n filter: { IsActive: \"\", ReLoadTable: \"\" },\r\n sortOrder: \"asc\",\r\n sortField: \"id\",\r\n pageNumber: 1,\r\n pageSize: 100000,\r\n },\r\n });\r\n Export(result.data.entities, type, entityName);\r\n }\r\n }\r\n return (\r\n <>\r\n All=\"\"/Susspended=0/Active=1/Pending=2\r\n type: \"\", // values => All=\"\"/Business=0/Individual=1\r\n searchText: \"\",\r\n ReLoadTable: \"\",\r\n }}\r\n onSubmit={(values) => {\r\n applyFilter(values);\r\n }}\r\n >\r\n {({\r\n values,\r\n handleSubmit,\r\n handleBlur,\r\n handleChange,\r\n setFieldValue,\r\n }) => (\r\n
\r\n {\r\n if (e.target.value === \"0\")\r\n document.getElementById(\"ReLoadTableId\").value = 1;\r\n else document.getElementById(\"ReLoadTableId\").value = 0;\r\n setFieldValue(\"ReLoadTable\", e.target.value);\r\n handleSubmit();\r\n }}\r\n />\r\n
\r\n
\r\n \r\n \r\n Export as\r\n save\r\n \r\n \r\n {\r\n fetchMyAPI2(\"excel\", \"Warehouses\");\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n {\r\n fetchMyAPI2(\"csv\", \"Warehouses\");\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n {\r\n fetchMyAPI2(\"json\", \"Warehouses\");\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n {/* */}\r\n \r\n
\r\n
\r\n
\r\n
\r\n {\r\n setFieldValue(\"status\", e.target.value);\r\n handleSubmit();\r\n }}\r\n onBlur={handleBlur}\r\n value={values.status}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n Filter by Status\r\n \r\n
\r\n\r\n
\r\n {\r\n setFieldValue(\"searchText\", e.target.value);\r\n handleSubmit();\r\n }}\r\n />\r\n \r\n Search in all fields\r\n \r\n
\r\n
\r\n \r\n )}\r\n \r\n \r\n );\r\n}\r\n","// please be familiar with react-bootstrap-table-next column formaters\r\n// https://react-bootstrap-table.github.io/react-bootstrap-table2/storybook/index.html?selectedKind=Work%20on%20Columns&selectedStory=Column%20Formatter&full=0&addons=1&stories=1&panelRight=0&addonPanel=storybook%2Factions%2Factions-panel\r\nimport React from \"react\";\r\n\r\nexport function StatusColumnFormatter(cellContent, row) {\r\n const CustomerStatusCssClasses = [\"success\", \"danger\"];\r\n const CustomerStatusTitles = [\"Active\", \"Inactive\"];\r\n\r\n var isActive = row.IsActive === true ? 0 : 1;\r\n\r\n const getLabelCssClasses = () => {\r\n return `label label-lg label-light-${CustomerStatusCssClasses[isActive]} label-inline`;\r\n };\r\n return (\r\n \r\n {CustomerStatusTitles[isActive]}\r\n \r\n );\r\n}\r\n","// please be familiar with react-bootstrap-table-next column formaters\r\n// https://react-bootstrap-table.github.io/react-bootstrap-table2/storybook/index.html?selectedKind=Work%20on%20Columns&selectedStory=Column%20Formatter&full=0&addons=1&stories=1&panelRight=0&addonPanel=storybook%2Factions%2Factions-panel\r\n/* eslint-disable no-script-url,jsx-a11y/anchor-is-valid */\r\nimport React from \"react\";\r\nimport SVG from \"react-inlinesvg\";\r\nimport { toAbsoluteUrl } from \"../../../../../../../_metronic/_helpers\";\r\n\r\nexport function ActionsColumnFormatter(\r\n cellContent,\r\n row,\r\n rowIndex,\r\n { openEditCustomerDialog, openDeleteCustomerDialog }\r\n) {\r\n return (\r\n <>\r\n openEditCustomerDialog(row.id)}\r\n >\r\n \r\n \r\n \r\n \r\n <> \r\n\r\n openDeleteCustomerDialog(row.id)}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n","// React bootstrap table next =>\r\n// DOCS: https://react-bootstrap-table.github.io/react-bootstrap-table2/docs/\r\n// STORYBOOK: https://react-bootstrap-table.github.io/react-bootstrap-table2/storybook/index.html\r\nimport React, { useEffect, useMemo, useState } from \"react\";\r\nimport BootstrapTable from \"react-bootstrap-table-next\";\r\nimport paginationFactory, {\r\n PaginationProvider,\r\n} from \"react-bootstrap-table2-paginator\";\r\nimport { shallowEqual, useDispatch, useSelector } from \"react-redux\";\r\nimport * as actions from \"../../../_redux/ManageWarehouse/customersActions\";\r\nimport {\r\n getSelectRow,\r\n getHandlerTableChange,\r\n NoRecordsFoundMessage,\r\n PleaseWaitMessage,\r\n sortCaret,\r\n headerSortingClasses,\r\n} from \"../../../../../../_metronic/_helpers\";\r\nimport * as uiHelpers from \"../CustomersUIHelpers\";\r\nimport * as columnFormatters from \"./column-formatters\";\r\nimport { Pagination } from \"../../../../../../_metronic/_partials/controls\";\r\nimport { useCustomersUIContext } from \"../CustomersUIContext\";\r\n\r\nexport function CustomersTable() {\r\n // Customers UI Context\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n ids: customersUIContext.ids,\r\n setIds: customersUIContext.setIds,\r\n queryParams: customersUIContext.queryParams,\r\n setQueryParams: customersUIContext.setQueryParams,\r\n openEditCustomerDialog: customersUIContext.openEditCustomerDialog,\r\n openDeleteCustomerDialog: customersUIContext.openDeleteCustomerDialog,\r\n };\r\n }, [customersUIContext]);\r\n\r\n // Getting curret state of customers list from store (Redux)\r\n const { currentState } = useSelector(\r\n (state) => ({ currentState: state.customers }),\r\n shallowEqual\r\n );\r\n const { totalCount, entities } = currentState;\r\n\r\n // Customers Redux state\r\n const dispatch = useDispatch();\r\n useEffect(() => {\r\n // clear selections list\r\n customersUIProps.setIds([]);\r\n // server call by queryParams\r\n dispatch(actions.fetchCustomers(customersUIProps.queryParams));\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [customersUIProps.queryParams, dispatch]);\r\n // Table columns\r\n\r\n const columns = [\r\n {\r\n dataField: \"id\",\r\n text: \"ID\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n headerSortingClasses,\r\n },\r\n {\r\n dataField: \"Name\",\r\n text: \"WarehouseName\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n headerSortingClasses,\r\n },\r\n {\r\n dataField: \"IsActive\",\r\n text: \"Status\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n formatter: columnFormatters.StatusColumnFormatter,\r\n headerSortingClasses,\r\n },\r\n {\r\n dataField: \"Address1\",\r\n text: \"Address1\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n headerSortingClasses,\r\n },\r\n {\r\n dataField: \"City\",\r\n text: \"City\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n headerSortingClasses,\r\n },\r\n {\r\n dataField: \"State\",\r\n text: \"State\",\r\n sort: false,\r\n sortCaret: sortCaret,\r\n },\r\n {\r\n dataField: \"action\",\r\n text: \"Actions\",\r\n formatter: columnFormatters.ActionsColumnFormatter,\r\n formatExtraData: {\r\n openEditCustomerDialog: customersUIProps.openEditCustomerDialog,\r\n openDeleteCustomerDialog: customersUIProps.openDeleteCustomerDialog,\r\n },\r\n classes: \"text-center pr-0\",\r\n headerClasses: \"text-center pr-3\",\r\n style: {\r\n minWidth: \"100px\",\r\n },\r\n },\r\n ];\r\n const [loading, setloading] = useState(false);\r\n useEffect(() => {\r\n setTimeout(() => {\r\n setloading(true);\r\n }, 1000);\r\n });\r\n // Table pagination properties\r\n const paginationOptions = {\r\n custom: true,\r\n totalSize: totalCount,\r\n sizePerPageList: uiHelpers.sizePerPageList,\r\n sizePerPage: customersUIProps.queryParams.pageSize,\r\n page: customersUIProps.queryParams.pageNumber,\r\n };\r\n return (\r\n <>\r\n \r\n {({ paginationProps, paginationTableProps }) => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n }}\r\n \r\n \r\n );\r\n}\r\n","import React, { useMemo } from \"react\";\r\nimport { useCustomersUIContext } from \"../CustomersUIContext\";\r\n\r\nexport function CustomersGrouping() {\r\n // Customers UI Context\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n ids: customersUIContext.ids,\r\n setIds: customersUIContext.setIds,\r\n openDeleteCustomersDialog: customersUIContext.openDeleteCustomersDialog,\r\n openFetchCustomersDialog: customersUIContext.openFetchCustomersDialog,\r\n openUpdateCustomersStatusDialog:\r\n customersUIContext.openUpdateCustomersStatusDialog,\r\n };\r\n }, [customersUIContext]);\r\n\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n Delete All\r\n \r\n  \r\n {/* \r\n Fetch Selected\r\n \r\n  \r\n \r\n Update Status\r\n */}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n );\r\n}\r\n","import React, { useMemo } from \"react\";\r\nimport {\r\n Card,\r\n CardBody,\r\n CardHeader,\r\n CardHeaderToolbar,\r\n} from \"../../../../../_metronic/_partials/controls\";\r\nimport { CustomersFilter } from \"./customers-filter/CustomersFilter\";\r\nimport { CustomersTable } from \"./customers-table/CustomersTable\";\r\nimport { CustomersGrouping } from \"./customers-grouping/CustomersGrouping\";\r\nimport { useCustomersUIContext } from \"./CustomersUIContext\";\r\nimport { Helmet } from \"react-helmet\";\r\n\r\nexport function CustomersCard() {\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n ids: customersUIContext.ids,\r\n newCustomerButtonClick: customersUIContext.newCustomerButtonClick,\r\n };\r\n }, [customersUIContext]);\r\n\r\n return (\r\n <>\r\n \r\n eMPower | Manage Warehouse\r\n \r\n \r\n \r\n \r\n \r\n \r\n New Warehouse\r\n \r\n \r\n \r\n \r\n \r\n {customersUIProps.ids.length > 0 && }\r\n \r\n \r\n \r\n \r\n );\r\n}\r\n","import React from \"react\";\r\nimport { Route } from \"react-router-dom\";\r\nimport { CustomersLoadingDialog } from \"./customers-loading-dialog/CustomersLoadingDialog\";\r\nimport { CustomerEditDialog } from \"./customer-edit-dialog/CustomerEditDialog\";\r\nimport { CustomerDeleteDialog } from \"./customer-delete-dialog/CustomerDeleteDialog\";\r\nimport { CustomersDeleteDialog } from \"./customers-delete-dialog/CustomersDeleteDialog\";\r\nimport { CustomersFetchDialog } from \"./customers-fetch-dialog/CustomersFetchDialog\";\r\nimport { CustomersUpdateStateDialog } from \"./customers-update-status-dialog/CustomersUpdateStateDialog\";\r\nimport { CustomersUIProvider } from \"./CustomersUIContext\";\r\nimport { CustomersCard } from \"./CustomersCard\";\r\n\r\nexport function ManageWarehouse({ history }) {\r\n const customersUIEvents = {\r\n newCustomerButtonClick: () => {\r\n history.push(\"/ManageWarehouse/new\");\r\n },\r\n openEditCustomerDialog: (id) => {\r\n history.push(`/ManageWarehouse/${id}/edit`);\r\n },\r\n openDeleteCustomerDialog: (id) => {\r\n history.push(`/ManageWarehouse/${id}/delete`);\r\n },\r\n openDeleteCustomersDialog: () => {\r\n history.push(`/ManageWarehouse/deleteCustomers`);\r\n },\r\n openFetchCustomersDialog: () => {\r\n history.push(`/ManageWarehouse/fetch`);\r\n },\r\n openUpdateCustomersStatusDialog: () => {\r\n history.push(\"/ManageWarehouse/updateStatus\");\r\n }\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n {({ history, match }) => (\r\n {\r\n history.push(\"/ManageWarehouse\");\r\n }}\r\n />\r\n )}\r\n \r\n \r\n {({ history, match }) => (\r\n {\r\n history.push(\"/ManageWarehouse\");\r\n }}\r\n />\r\n )}\r\n \r\n \r\n {({ history, match }) => (\r\n {\r\n history.push(\"/ManageWarehouse\");\r\n }}\r\n />\r\n )}\r\n \r\n \r\n {({ history, match }) => (\r\n {\r\n history.push(\"/ManageWarehouse\");\r\n }}\r\n />\r\n )}\r\n \r\n \r\n {({ history, match }) => (\r\n {\r\n history.push(\"/ManageWarehouse\");\r\n }}\r\n />\r\n )}\r\n \r\n \r\n {({ history, match }) => (\r\n {\r\n history.push(\"/ManageWarehouse\");\r\n }}\r\n />\r\n )}\r\n \r\n \r\n \r\n );\r\n}\r\n","import React, { useEffect } from \"react\";\r\nimport { shallowEqual, useSelector } from \"react-redux\";\r\nimport { LoadingDialog } from \"../../../../../../_metronic/_partials/controls\";\r\n\r\nexport function CustomersLoadingDialog() {\r\n // Customers Redux state\r\n const { isLoading } = useSelector(\r\n (state) => ({ isLoading: state.customers.listLoading }),\r\n shallowEqual\r\n );\r\n // looking for loading/dispatch\r\n useEffect(() => {}, [isLoading]);\r\n return ;\r\n}\r\n","import React, { useState, useEffect } from \"react\";\r\nimport { shallowEqual, useSelector } from \"react-redux\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport {ModalProgressBar} from \"../../../../../../_metronic/_partials/controls\";\r\n\r\nexport function CustomerEditDialogHeader({ id }) {\r\n // Customers Redux state\r\n const { customerForEdit, actionsLoading } = useSelector(\r\n (state) => ({\r\n customerForEdit: state.customers.customerForEdit,\r\n actionsLoading: state.customers.actionsLoading,\r\n }),\r\n shallowEqual\r\n );\r\n\r\n const [title, setTitle] = useState(\"\");\r\n // Title couting\r\n useEffect(() => {\r\n let _title = id ? \"\" : \"Add a new Carrier\";\r\n if (customerForEdit && id) {\r\n _title = `Edit Carrier '${customerForEdit.firstName} ${customerForEdit.lastName}'`;\r\n }\r\n\r\n setTitle(_title);\r\n // eslint-disable-next-line\r\n }, [customerForEdit, actionsLoading]);\r\n\r\n return (\r\n <>\r\n {actionsLoading && }\r\n \r\n {title}\r\n \r\n \r\n );\r\n}\r\n","import React, { useEffect } from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { Formik, Form, Field } from \"formik\";\r\nimport {\r\n Input,\r\n CheckboxLarge,\r\n} from \"../../../../../../_metronic/_partials/controls\";\r\nimport { makeStyles } from \"@material-ui/core/styles\";\r\nimport { Notification } from \"../../../../Notification\";\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n container: {\r\n display: \"flex\",\r\n flexWrap: \"wrap\",\r\n },\r\n textField: {\r\n marginLeft: theme.spacing(1),\r\n marginRight: theme.spacing(1),\r\n },\r\n dense: {\r\n marginTop: theme.spacing(2),\r\n },\r\n menu: {\r\n width: 200,\r\n },\r\n}));\r\nfunction createData(name, lenght, widht, Lenght, width) {\r\n return { name, lenght, width, Lenght, width };\r\n}\r\n\r\nfunction SetValuefunction(id, value) {\r\n var element = document.getElementById(id);\r\n if (element != null)\r\n setTimeout(() => {\r\n element.value = value;\r\n }, 500);\r\n}\r\nconst RequiredHtml = () => {\r\n return (\r\n \r\n );\r\n};\r\nconst rows = [createData(\"US/IMPERIAL\"), createData(\"METRIC\")];\r\nexport function CustomerEditForm({\r\n saveCustomer,\r\n customer,\r\n actionsLoading,\r\n onHide,\r\n}) {\r\n const classes = useStyles();\r\n const [values, setValues] = React.useState({\r\n name: \"\",\r\n age: \"\",\r\n multiline: \"Controlled\",\r\n currency: \"EUR\",\r\n });\r\n const [value, setValue] = React.useState(\"female\");\r\n const handleChange = (name) => (event) => {\r\n setValues({ ...values, [name]: event.target.value });\r\n };\r\n useEffect(() => {\r\n var Description = customer.Description || false;\r\n if (Description) {\r\n SetValuefunction(\"DescriptionId\", Description);\r\n }\r\n if (customer.NeedBill === true) {\r\n document.getElementById(\"NeedBillId\").checked = true;\r\n }\r\n }, [customer]);\r\n return (\r\n <>\r\n {\r\n if (values.Description === \"\") {\r\n Notification(\"error\", \"fields required is empty\");\r\n return false;\r\n }\r\n saveCustomer(values);\r\n }}\r\n >\r\n {({ handleSubmit, setFieldValue }) => (\r\n <>\r\n \r\n {actionsLoading && (\r\n
\r\n
\r\n
\r\n )}\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n {\r\n setFieldValue(\"NeedBill\", event.target.checked);\r\n }}\r\n />\r\n
\r\n
\r\n \r\n {\r\n setFieldValue(\"Description\", event.target.value);\r\n }}\r\n />\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n Cancel\r\n \r\n <> \r\n handleSubmit()}\r\n className=\"btn btn-success btn-elevate\"\r\n >\r\n Save\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n );\r\n}\r\n","export const CustomerStatusCssClasses = [\"danger\", \"success\", \"info\", \"\"];\r\nexport const CustomerStatusTitles = [\"Inactive\", \"Active\"];\r\nexport const CustomerTypeCssClasses = [\"success\", \"primary\", \"\"];\r\nexport const CustomerTypeTitles = [\"Business\", \"Individual\", \"\"];\r\nexport const defaultSorted = [{ dataField: \"id\", order: \"desc\" }];\r\nexport const sizePerPageList = [\r\n { text: \"3\", value: 3 },\r\n { text: \"5\", value: 5 },\r\n { text: \"10\", value: 10 }\r\n];\r\nexport const initialFilter = {\r\n filter: {\r\n lastName: \"\",\r\n firstName: \"\",\r\n email: \"\",\r\n ipAddress: \"\"\r\n },\r\n sortOrder: \"asc\", // asc||desc\r\n sortField: \"id\",\r\n pageNumber: 1,\r\n pageSize: 10\r\n};\r\n","import React, { createContext, useContext, useState, useCallback } from \"react\";\r\nimport { isEqual, isFunction } from \"lodash\";\r\nimport { initialFilter } from \"./CustomersUIHelpers\";\r\n\r\nconst CustomersUIContext = createContext();\r\n\r\nexport function useCustomersUIContext() {\r\n return useContext(CustomersUIContext);\r\n}\r\n\r\nexport const CustomersUIConsumer = CustomersUIContext.Consumer;\r\n\r\nexport function CustomersUIProvider({ customersUIEvents, children }) {\r\n const [queryParams, setQueryParamsBase] = useState(initialFilter);\r\n const [ids, setIds] = useState([]);\r\n const setQueryParams = useCallback((nextQueryParams) => {\r\n setQueryParamsBase((prevQueryParams) => {\r\n if (isFunction(nextQueryParams)) {\r\n nextQueryParams = nextQueryParams(prevQueryParams);\r\n }\r\n\r\n if (isEqual(prevQueryParams, nextQueryParams)) {\r\n return prevQueryParams;\r\n }\r\n\r\n return nextQueryParams;\r\n });\r\n }, []);\r\n\r\n const initCustomer = {\r\n id: undefined,\r\n Carrier: \"\",\r\n SCAC: \"\",\r\n NeedBill: false,\r\n Description: \"\",\r\n };\r\n\r\n const value = {\r\n queryParams,\r\n setQueryParamsBase,\r\n ids,\r\n setIds,\r\n setQueryParams,\r\n initCustomer,\r\n newCustomerButtonClick: customersUIEvents.newCustomerButtonClick,\r\n openEditCustomerDialog: customersUIEvents.openEditCustomerDialog,\r\n openDeleteCustomerDialog: customersUIEvents.openDeleteCustomerDialog,\r\n openDeleteCustomersDialog: customersUIEvents.openDeleteCustomersDialog,\r\n openFetchCustomersDialog: customersUIEvents.openFetchCustomersDialog,\r\n openUpdateCustomersStatusDialog:\r\n customersUIEvents.openUpdateCustomersStatusDialog,\r\n };\r\n\r\n return (\r\n \r\n {children}\r\n \r\n );\r\n}\r\n","import React, { useEffect, useMemo } from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { shallowEqual, useDispatch, useSelector } from \"react-redux\";\r\nimport * as actions from \"../../../_redux/carriers/carriersActions\";\r\nimport { CustomerEditDialogHeader } from \"./CustomerEditDialogHeader\";\r\nimport { CustomerEditForm } from \"./CustomerEditForm\";\r\nimport { useCustomersUIContext } from \"../CustomersUIContext\";\r\n\r\nexport function CustomerEditDialog({ id, show, onHide }) {\r\n // Customers UI Context\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n initCustomer: customersUIContext.initCustomer,\r\n };\r\n }, [customersUIContext]);\r\n\r\n // Customers Redux state\r\n const dispatch = useDispatch();\r\n const { actionsLoading, customerForEdit } = useSelector(\r\n (state) => ({\r\n actionsLoading: state.customers.actionsLoading,\r\n customerForEdit: state.customers.customerForEdit,\r\n }),\r\n shallowEqual\r\n );\r\n\r\n useEffect(() => {\r\n // server call for getting Customer by id\r\n dispatch(actions.fetchCustomer(id));\r\n }, [id, dispatch]);\r\n\r\n // server request for saving customer\r\n const saveCustomer = (customer) => {\r\n if (!id) {\r\n // server request for creating customer\r\n dispatch(actions.createCustomer(customer)).then(() => {\r\n onHide();\r\n document.getElementById(\"ReLoadTableId\").click();\r\n });\r\n } else {\r\n // server request for updating customer\r\n dispatch(actions.updateCustomer(customer)).then(() => {\r\n onHide();\r\n document.getElementById(\"ReLoadTableId\").click();\r\n });\r\n }\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n}\r\n","import React, { useEffect, useMemo } from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { shallowEqual, useDispatch, useSelector } from \"react-redux\";\r\nimport {ModalProgressBar} from \"../../../../../../_metronic/_partials/controls\";\r\nimport * as actions from \"../../../_redux/carriers/carriersActions\";\r\nimport {useCustomersUIContext} from \"../CustomersUIContext\";\r\n\r\nexport function CustomerDeleteDialog({ id, show, onHide }) {\r\n // Customers UI Context\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n setIds: customersUIContext.setIds,\r\n queryParams: customersUIContext.queryParams\r\n };\r\n }, [customersUIContext]);\r\n\r\n // Customers Redux state\r\n const dispatch = useDispatch();\r\n const { isLoading } = useSelector(\r\n (state) => ({ isLoading: state.customers.actionsLoading }),\r\n shallowEqual\r\n );\r\n\r\n // if !id we should close modal\r\n useEffect(() => {\r\n if (!id) {\r\n onHide();\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [id]);\r\n\r\n // looking for loading/dispatch\r\n useEffect(() => {}, [isLoading, dispatch]);\r\n\r\n const deleteCustomer = () => {\r\n // server request for deleting customer by id\r\n dispatch(actions.deleteCustomer(id)).then(() => {\r\n // refresh list after deletion\r\n dispatch(actions.fetchCustomers(customersUIProps.queryParams));\r\n // clear selections list\r\n customersUIProps.setIds([]);\r\n // closing delete modal\r\n onHide();\r\n });\r\n };\r\n\r\n return (\r\n \r\n {/*begin::Loading*/}\r\n {isLoading && }\r\n {/*end::Loading*/}\r\n \r\n \r\n carrier Delete\r\n \r\n \r\n \r\n {!isLoading && (\r\n Are you sure to permanently delete this carrier?\r\n )}\r\n {isLoading && carrier is deleting...}\r\n \r\n \r\n
\r\n \r\n Cancel\r\n \r\n <> \r\n \r\n Delete\r\n \r\n
\r\n
\r\n \r\n );\r\n}\r\n","import React, { useEffect, useMemo } from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { shallowEqual, useDispatch, useSelector } from \"react-redux\";\r\nimport * as actions from \"../../../_redux/carriers/carriersActions\";\r\nimport { useCustomersUIContext } from \"../CustomersUIContext\";\r\nimport {ModalProgressBar} from \"../../../../../../_metronic/_partials/controls\";\r\n\r\nexport function CustomersDeleteDialog({ show, onHide }) {\r\n // Customers UI Context\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n ids: customersUIContext.ids,\r\n setIds: customersUIContext.setIds,\r\n queryParams: customersUIContext.queryParams,\r\n };\r\n }, [customersUIContext]);\r\n\r\n // Customers Redux state\r\n const dispatch = useDispatch();\r\n const { isLoading } = useSelector(\r\n (state) => ({ isLoading: state.customers.actionsLoading }),\r\n shallowEqual\r\n );\r\n\r\n // if customers weren't selected we should close modal\r\n useEffect(() => {\r\n if (!customersUIProps.ids || customersUIProps.ids.length === 0) {\r\n onHide();\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [customersUIProps.ids]);\r\n\r\n // looking for loading/dispatch\r\n useEffect(() => {}, [isLoading, dispatch]);\r\n\r\n const deleteCustomers = () => {\r\n // server request for deleting customer by selected ids\r\n dispatch(actions.deleteCustomers(customersUIProps.ids)).then(() => {\r\n // refresh list after deletion\r\n dispatch(actions.fetchCustomers(customersUIProps.queryParams)).then(\r\n () => {\r\n // clear selections list\r\n customersUIProps.setIds([]);\r\n // closing delete modal\r\n onHide();\r\n }\r\n );\r\n });\r\n };\r\n\r\n return (\r\n \r\n {/*begin::Loading*/}\r\n {isLoading && }\r\n {/*end::Loading*/}\r\n \r\n \r\n Customers Delete\r\n \r\n \r\n \r\n {!isLoading && (\r\n Are you sure to permanently delete selected customers?\r\n )}\r\n {isLoading && Customer are deleting...}\r\n \r\n \r\n
\r\n \r\n Cancel\r\n \r\n <> \r\n \r\n Delete\r\n \r\n
\r\n
\r\n \r\n );\r\n}\r\n","import React, { useEffect, useMemo } from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { shallowEqual, useSelector } from \"react-redux\";\r\nimport { CustomerStatusCssClasses } from \"../CustomersUIHelpers\";\r\nimport { useCustomersUIContext } from \"../CustomersUIContext\";\r\n\r\nconst selectedCustomers = (entities, ids) => {\r\n const _customers = [];\r\n ids.forEach((id) => {\r\n const customer = entities.find((el) => el.id === id);\r\n if (customer) {\r\n _customers.push(customer);\r\n }\r\n });\r\n return _customers;\r\n};\r\n\r\nexport function CustomersFetchDialog({ show, onHide }) {\r\n // Customers UI Context\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n ids: customersUIContext.ids,\r\n };\r\n }, [customersUIContext]);\r\n\r\n // Customers Redux state\r\n const { customers } = useSelector(\r\n (state) => ({\r\n customers: selectedCustomers(\r\n state.customers.entities,\r\n customersUIProps.ids\r\n ),\r\n }),\r\n shallowEqual\r\n );\r\n\r\n // if customers weren't selected we should close modal\r\n useEffect(() => {\r\n if (!customersUIProps.ids || customersUIProps.ids.length === 0) {\r\n onHide();\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [customersUIProps.ids]);\r\n\r\n return (\r\n \r\n \r\n \r\n Fetch selected elements\r\n \r\n \r\n \r\n
\r\n {customers.map((customer) => (\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n ID: {customer.id}\r\n \r\n {customer.lastName}, {customer.firstName} \r\n
\r\n
\r\n ))}\r\n
\r\n \r\n \r\n
\r\n \r\n Cancel\r\n \r\n <> \r\n \r\n Ok\r\n \r\n
\r\n
\r\n \r\n );\r\n}\r\n","import React, { useEffect, useState, useMemo } from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { shallowEqual, useDispatch, useSelector } from \"react-redux\";\r\nimport { CustomerStatusCssClasses } from \"../CustomersUIHelpers\";\r\nimport * as actions from \"../../../_redux/carriers/carriersActions\";\r\nimport { useCustomersUIContext } from \"../CustomersUIContext\";\r\n\r\nconst selectedCustomers = (entities, ids) => {\r\n const _customers = [];\r\n ids.forEach((id) => {\r\n const customer = entities.find((el) => el.id === id);\r\n if (customer) {\r\n _customers.push(customer);\r\n }\r\n });\r\n return _customers;\r\n};\r\n\r\nexport function CustomersUpdateStateDialog({ show, onHide }) {\r\n // Customers UI Context\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n ids: customersUIContext.ids,\r\n setIds: customersUIContext.setIds,\r\n queryParams: customersUIContext.queryParams,\r\n };\r\n }, [customersUIContext]);\r\n\r\n // Customers Redux state\r\n const { customers, isLoading } = useSelector(\r\n (state) => ({\r\n customers: selectedCustomers(\r\n state.customers.entities,\r\n customersUIProps.ids\r\n ),\r\n isLoading: state.customers.actionsLoading,\r\n }),\r\n shallowEqual\r\n );\r\n\r\n // if !id we should close modal\r\n useEffect(() => {\r\n if (!customersUIProps.ids || customersUIProps.ids.length === 0) {\r\n onHide();\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [customersUIProps.ids]);\r\n\r\n const [status, setStatus] = useState(0);\r\n\r\n const dispatch = useDispatch();\r\n const updateStatus = () => {\r\n // server request for update customers status by selected ids\r\n dispatch(actions.updateCustomersStatus(customersUIProps.ids, status)).then(\r\n () => {\r\n // refresh list after deletion\r\n dispatch(actions.fetchCustomers(customersUIProps.queryParams)).then(\r\n () => {\r\n // clear selections list\r\n customersUIProps.setIds([]);\r\n // closing delete modal\r\n onHide();\r\n }\r\n );\r\n }\r\n );\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n Status has been updated for selected User\r\n \r\n \r\n \r\n {/*begin::Loading*/}\r\n {isLoading && (\r\n
\r\n
\r\n
\r\n )}\r\n {/*end::Loading*/}\r\n\r\n
\r\n {customers.map((customer) => (\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n ID: {customer.id}\r\n \r\n \r\n {customer.lastName}, {customer.firstName}\r\n \r\n
\r\n
\r\n ))}\r\n
\r\n \r\n \r\n
\r\n setStatus(+e.target.value)}\r\n >\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n Cancel\r\n \r\n \r\n Update Status\r\n \r\n
\r\n
\r\n \r\n );\r\n}\r\n","import React, { useMemo,useState } from \"react\";\r\nimport { Formik } from \"formik\";\r\nimport { isEqual } from \"lodash\";\r\nimport { useCustomersUIContext } from \"../CustomersUIContext\";\r\nimport { CheckboxLarge } from \"../../../../../../_metronic/_partials/controls\";\r\nimport Menu from '@material-ui/core/Menu';\r\nimport MenuItem from '@material-ui/core/MenuItem';\r\nimport ListItemIcon from '@material-ui/core/ListItemIcon';\r\nimport ListItemText from '@material-ui/core/ListItemText';\r\nimport { withStyles } from '@material-ui/core/styles';\r\nimport { makeStyles } from '@material-ui/core/styles';\r\nimport Icon from '@material-ui/core/Icon';\r\nimport Button from '@material-ui/core/Button';\r\nimport { Form, Modal, Col, Tabs, Tab, Table, Spinner, OverlayTrigger, Tooltip, ButtonToolbar } from \"react-bootstrap\";\r\nimport { Export } from \"../../../../../../_metronic/_helpers/ATHelpers\";\r\nimport axios from \"axios\";\r\n\r\n\r\n//Export Filter\r\n\r\nconst StyledMenu = withStyles({\r\n paper: {\r\n border: '1px solid #d3d4d5',\r\n },\r\n})(props => (\r\n \r\n));\r\nconst StyledMenuItem = withStyles(theme => ({\r\n root: {\r\n '&:focus': {\r\n backgroundColor: theme.palette.primary.main,\r\n '& .MuiListItemIcon-root, & .MuiListItemText-primary': {\r\n color: theme.palette.common.white,\r\n },\r\n },\r\n },\r\n}))(MenuItem);\r\nconst useStyles = makeStyles(theme => ({\r\n button: {\r\n margin: theme.spacing(1),\r\n },\r\n leftIcon: {\r\n marginRight: theme.spacing(1),\r\n },\r\n rightIcon: {\r\n marginLeft: theme.spacing(1),\r\n },\r\n iconSmall: {\r\n fontSize: 20,\r\n },\r\n}));\r\nconst prepareFilter = (queryParams, values) => {\r\n const { ShowInactive, ReLoadTable } = values;\r\n const newQueryParams = { ...queryParams };\r\n const filter = {};\r\n filter.ReLoadTable = ReLoadTable || false;\r\n filter.ShowInactive = ShowInactive;\r\n newQueryParams.filter = filter;\r\n return newQueryParams;\r\n};\r\n\r\nexport function CustomersFilter({ listLoading }) {\r\n // Customers UI Context\r\n const [QueryFilter, setQueryFilter] = useState(\"\");\r\n\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n queryParams: customersUIContext.queryParams,\r\n setQueryParams: customersUIContext.setQueryParams,\r\n };\r\n }, [customersUIContext]);\r\n\r\n // queryParams, setQueryParams,\r\n const applyFilter = (values) => {\r\n const newQueryParams = prepareFilter(customersUIProps.queryParams, values);\r\n if (!isEqual(newQueryParams, customersUIProps.queryParams)) {\r\n newQueryParams.pageNumber = 1;\r\n // update list by queryParams\r\n setQueryFilter(newQueryParams);\r\n\r\n customersUIProps.setQueryParams(newQueryParams);\r\n }\r\n };\r\n const useStyles = makeStyles(theme => ({\r\n container: {\r\n display: 'flex',\r\n flexWrap: 'wrap',\r\n },\r\n textField: {\r\n marginLeft: theme.spacing(1),\r\n marginRight: theme.spacing(1),\r\n width: 200,\r\n },\r\n }));\r\n const classes = useStyles();\r\n const [anchorEl, setAnchorEl] = React.useState(null);\r\n function handleClick(event) {\r\n setAnchorEl(event.currentTarget);\r\n }\r\n function handleClose() {\r\n setAnchorEl(null);\r\n }\r\n\r\n async function fetchMyAPI2(type, entityName) {\r\n var filter = QueryFilter;\r\n if (filter) {\r\n filter.pageSize=100000;\r\n const result = await axios.post(`api/carriers/filter`, { \"queryParams\": filter });\r\n Export(result.data.entities, type, entityName);\r\n } else {\r\n const result = await axios.post(`api/carriers/filter`, { \"queryParams\": { \"filter\": { \"ShowInactive\": false,\"ReLoadTable\": false}, \"sortOrder\": \"asc\", \"sortField\": \"id\", \"pageNumber\": 1, \"pageSize\": 100000 } });\r\n Export(result.data.entities, type, entityName);\r\n }\r\n }\r\n return (\r\n <>\r\n {\r\n applyFilter(values);\r\n }}\r\n >\r\n {({\r\n values,\r\n handleSubmit,\r\n handleBlur,\r\n handleChange,\r\n setFieldValue,\r\n }) => (\r\n
\r\n\r\n
\r\n\r\n
\r\n {\r\n setFieldValue(\"ShowInactive\", event.target.checked);\r\n handleSubmit();\r\n }}\r\n />\r\n {\r\n if (e.target.value == \"0\")\r\n document.getElementById(\"ReLoadTableId\").value = 1;\r\n else document.getElementById(\"ReLoadTableId\").value = 0;\r\n setFieldValue(\"ReLoadTable\", e.target.value);\r\n handleSubmit();\r\n }}\r\n />\r\n
\r\n
\r\n \r\n \r\n \r\n {\r\n fetchMyAPI2(\"excel\", \"Customers\");\r\n\r\n }}>\r\n \r\n \r\n \r\n \r\n \r\n {\r\n fetchMyAPI2(\"csv\", \"Customers\");\r\n }} >\r\n \r\n \r\n \r\n \r\n \r\n {\r\n fetchMyAPI2(\"json\", \"Customers\");\r\n }}>\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n {/* */}\r\n \r\n
\r\n
\r\n
\r\n )}\r\n \r\n \r\n );\r\n}\r\n","import React from \"react\";\r\nimport { Notification } from \"../../../../../Notification\";\r\n\r\nexport function StatusColumnFormatter(cellContent, row) {\r\n const CustomerStatusCssClasses = [\"success\", \"danger\"];\r\n const CustomerStatusTitles = [\"Active\", \"Inactive\"];\r\n\r\n var isActive = row.Active ? 0 : 1;\r\n\r\n const getLabelCssClasses = () => {\r\n return `label label-lg label-light-${CustomerStatusCssClasses[isActive]} label-inline`;\r\n };\r\n const OnClickActive = (event) => {\r\n const a = event.target.textContent === \"Active\" ? false : true;\r\n fetch(`${window.$apiurl}/Carriers/Activate?id=${row.id}&status=${a}`)\r\n .then(async (response) => {\r\n return response;\r\n })\r\n .then((res) => {\r\n document.getElementById(\"ReLoadTableId\").click();\r\n Notification(\"success\", \"success\");\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n };\r\n return (\r\n \r\n {CustomerStatusTitles[isActive]}\r\n \r\n );\r\n}\r\n","// please be familiar with react-bootstrap-table-next column formaters\r\n// https://react-bootstrap-table.github.io/react-bootstrap-table2/storybook/index.html?selectedKind=Work%20on%20Columns&selectedStory=Column%20Formatter&full=0&addons=1&stories=1&panelRight=0&addonPanel=storybook%2Factions%2Factions-panel\r\n/* eslint-disable no-script-url,jsx-a11y/anchor-is-valid */\r\nimport React from \"react\";\r\nimport SVG from \"react-inlinesvg\";\r\nimport { toAbsoluteUrl } from \"../../../../../../../_metronic/_helpers\";\r\n\r\nexport function ActionsColumnFormatter(\r\n cellContent,\r\n row,\r\n rowIndex,\r\n { openEditCustomerDialog, openDeleteCustomerDialog }\r\n) {\r\n return (\r\n <>\r\n openEditCustomerDialog(row.id)}\r\n >\r\n \r\n \r\n \r\n \r\n <> \r\n\r\n openDeleteCustomerDialog(row.id)}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n","import React from \"react\";\r\nexport function BooleanColumnFormatter(cellContent, row) {\r\n //var elapsed = new Date(row.CreatedAt).toLocaleString();\r\n var newValue = \"\";\r\n if(cellContent !== null)\r\n {\r\n newValue = cellContent.toString().toLowerCase();\r\n console.log(newValue);\r\n if(newValue === \"true\") {\r\n newValue = \"yes\";\r\n } else if (newValue === \"false\") {\r\n newValue = \"no\";\r\n }\r\n }\r\n return (\r\n <>\r\n {newValue}\r\n \r\n );\r\n}\r\n","// React bootstrap table next =>\r\n// DOCS: https://react-bootstrap-table.github.io/react-bootstrap-table2/docs/\r\n// STORYBOOK: https://react-bootstrap-table.github.io/react-bootstrap-table2/storybook/index.html\r\nimport React, { useEffect, useMemo } from \"react\";\r\nimport BootstrapTable from \"react-bootstrap-table-next\";\r\nimport paginationFactory, {\r\n PaginationProvider,\r\n} from \"react-bootstrap-table2-paginator\";\r\nimport { shallowEqual, useDispatch, useSelector } from \"react-redux\";\r\nimport * as actions from \"../../../_redux/carriers/carriersActions\";\r\nimport {\r\n getSelectRow,\r\n getHandlerTableChange,\r\n NoRecordsFoundMessage,\r\n PleaseWaitMessage,\r\n sortCaret,\r\n headerSortingClasses,\r\n} from \"../../../../../../_metronic/_helpers\";\r\nimport * as uiHelpers from \"../CustomersUIHelpers\";\r\nimport * as columnFormatters from \"./column-formatters/\";\r\nimport { Pagination } from \"../../../../../../_metronic/_partials/controls\";\r\nimport { useCustomersUIContext } from \"../CustomersUIContext\";\r\n\r\nexport function CustomersTable() {\r\n // Customers UI Context\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n ids: customersUIContext.ids,\r\n setIds: customersUIContext.setIds,\r\n queryParams: customersUIContext.queryParams,\r\n setQueryParams: customersUIContext.setQueryParams,\r\n openEditCustomerDialog: customersUIContext.openEditCustomerDialog,\r\n openDeleteCustomerDialog: customersUIContext.openDeleteCustomerDialog,\r\n };\r\n }, [customersUIContext]);\r\n\r\n // Getting curret state of customers list from store (Redux)\r\n const { currentState } = useSelector(\r\n (state) => ({ currentState: state.customers }),\r\n shallowEqual\r\n );\r\n const { totalCount, entities, listLoading } = currentState;\r\n\r\n // Customers Redux state\r\n const dispatch = useDispatch();\r\n useEffect(() => {\r\n // clear selections list\r\n customersUIProps.setIds([]);\r\n // server call by queryParams\r\n dispatch(actions.fetchCustomers(customersUIProps.queryParams));\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [customersUIProps.queryParams, dispatch]);\r\n // Table columns\r\n const columns = [\r\n {\r\n dataField: \"id\",\r\n text: \"ID\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n headerSortingClasses,\r\n },\r\n {\r\n dataField: \"Carrier\",\r\n text: \"CARRIER\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n headerSortingClasses,\r\n },\r\n {\r\n dataField: \"SCAC\",\r\n text: \"SCAC\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n headerSortingClasses,\r\n },\r\n {\r\n dataField: \"NeedBill\",\r\n text: \"LTL\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n headerSortingClasses,\r\n formatter: columnFormatters.BooleanColumnFormatter,\r\n },\r\n {\r\n dataField: \"Description\",\r\n text: \"DESCRIPTION\",\r\n sort: false,\r\n sortCaret: sortCaret,\r\n },\r\n {\r\n dataField: \"Active\",\r\n text: \"ACTIVE\",\r\n sort: false,\r\n sortCaret: sortCaret,\r\n formatter: columnFormatters.StatusColumnFormatter\r\n },\r\n {\r\n dataField: \"action\",\r\n text: \"Actions\",\r\n formatter: columnFormatters.ActionsColumnFormatter,\r\n formatExtraData: {\r\n openEditCustomerDialog: customersUIProps.openEditCustomerDialog,\r\n openDeleteCustomerDialog: customersUIProps.openDeleteCustomerDialog,\r\n },\r\n classes: \"text-center pr-0\",\r\n headerClasses: \"text-center pr-3\",\r\n style: {\r\n minWidth: \"100px\",\r\n },\r\n },\r\n ];\r\n // Table pagination properties\r\n const paginationOptions = {\r\n custom: true,\r\n totalSize: totalCount,\r\n sizePerPageList: uiHelpers.sizePerPageList,\r\n sizePerPage: customersUIProps.queryParams.pageSize,\r\n page: customersUIProps.queryParams.pageNumber,\r\n };\r\n return (\r\n <>\r\n \r\n {({ paginationProps, paginationTableProps }) => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n }}\r\n \r\n \r\n );\r\n}\r\n","import React, { useMemo } from \"react\";\r\nimport { useCustomersUIContext } from \"../CustomersUIContext\";\r\n\r\nexport function CustomersGrouping() {\r\n // Customers UI Context\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n ids: customersUIContext.ids,\r\n setIds: customersUIContext.setIds,\r\n openDeleteCustomersDialog: customersUIContext.openDeleteCustomersDialog,\r\n openFetchCustomersDialog: customersUIContext.openFetchCustomersDialog,\r\n openUpdateCustomersStatusDialog:\r\n customersUIContext.openUpdateCustomersStatusDialog,\r\n };\r\n }, [customersUIContext]);\r\n\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n Delete All\r\n \r\n  \r\n
\r\n
\r\n
\r\n
\r\n
\r\n );\r\n}\r\n","import React from 'react';\r\nimport Dialog from '@material-ui/core/Dialog';\r\nimport DialogActions from '@material-ui/core/DialogActions';\r\nimport DialogContent from '@material-ui/core/DialogContent';\r\nimport DialogTitle from '@material-ui/core/DialogTitle';\r\nimport { makeStyles } from '@material-ui/core/styles';\r\nimport {\r\n Row,\r\n Col\r\n} from \"react-bootstrap\";\r\nimport { Formik } from \"formik\";\r\nconst useStyles = makeStyles(theme => ({\r\n textDecoration: {\r\n lineHeight: '2rem',\r\n },\r\n}));\r\nexport function CustomerDialogForm() {\r\n const [open, setOpen] = React.useState(false);\r\n\r\n function handleClickOpen() {\r\n setOpen(true);\r\n }\r\n\r\n function handleClose() {\r\n setOpen(false);\r\n }\r\n const [values, setValues] = React.useState({\r\n name: '',\r\n age: '',\r\n multiline: 'Controlled',\r\n currency: 'EUR',\r\n });\r\n const handleChange = name => event => {\r\n setValues({ ...values, [name]: event.target.value });\r\n };\r\n return (\r\n
\r\n \r\n Services\r\n \r\n \r\n Manage Carriers - Services\r\n \r\n\r\n \r\n \r\n Add\r\n \r\n \r\n Move Up\r\n \r\n \r\n Move Down\r\n \r\n \r\n
\r\n \r\n\r\n
\r\n Show Inactives\r\n
\r\n
\r\n \r\n\r\n \r\n Refresh Grid\r\n \r\n
\r\n {\r\n }}\r\n >\r\n {({ handleSubmit }) => (\r\n <>\r\n
\r\n
\r\n
\r\n
\r\n \r\n Some transactions do not have an invoice delivered date set.\r\n \r\n
\r\n \r\n\r\n
\r\n \r\n Set transaction's invoice delivered date to today\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n )}\r\n \r\n \r\n \r\n Delete\r\n \r\n \r\n
\r\n \r\n \r\n Cancel\r\n \r\n \r\n
\r\n
\r\n );\r\n}\r\n","import React, { useMemo } from \"react\";\r\nimport {\r\n Card,\r\n CardBody,\r\n CardHeader,\r\n CardHeaderToolbar,\r\n CardFooter,\r\n} from \"../../../../../_metronic/_partials/controls\";\r\nimport { CustomersFilter } from \"./customers-filter/CustomersFilter\";\r\nimport { CustomersTable } from \"./customers-table/CustomersTable\";\r\nimport { CustomersGrouping } from \"./customers-grouping/CustomersGrouping\";\r\nimport { useCustomersUIContext } from \"./CustomersUIContext\";\r\nimport { CustomerDialogForm } from './customer-notify-dialog/CustomerDialogForm';\r\nimport {\r\n Button,\r\n InputGroup,\r\n FormControl,\r\n DropdownButton,\r\n Dropdown,\r\n Row\r\n} from \"react-bootstrap\";\r\nexport function CustomersCard() {\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n ids: customersUIContext.ids,\r\n newCustomerButtonClick: customersUIContext.newCustomerButtonClick,\r\n };\r\n }, [customersUIContext]);\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {customersUIProps.ids.length > 0 && }\r\n \r\n \r\n \r\n \r\n \r\n Add\r\n \r\n \r\n Services\r\n \r\n \r\n \r\n \r\n );\r\n}\r\n","import React from \"react\";\r\nimport { Route } from \"react-router-dom\";\r\nimport { CustomersLoadingDialog } from \"./customers-loading-dialog/CustomersLoadingDialog\";\r\nimport { CustomerEditDialog } from \"./customer-edit-dialog/CustomerEditDialog\";\r\nimport { CustomerDeleteDialog } from \"./customer-delete-dialog/CustomerDeleteDialog\";\r\nimport { CustomersDeleteDialog } from \"./customers-delete-dialog/CustomersDeleteDialog\";\r\nimport { CustomersFetchDialog } from \"./customers-fetch-dialog/CustomersFetchDialog\";\r\nimport { CustomersUpdateStateDialog } from \"./customers-update-status-dialog/CustomersUpdateStateDialog\";\r\nimport { CustomersUIProvider } from \"./CustomersUIContext\";\r\nimport { CustomersCard } from \"./CustomersCard\";\r\n\r\nexport function ManageCarriers({ history }) {\r\n const customersUIEvents = {\r\n newCustomerButtonClick: () => {\r\n history.push(\"/carriers/new\");\r\n },\r\n openEditCustomerDialog: (id) => {\r\n history.push(`/carriers/${id}/edit`);\r\n },\r\n openDeleteCustomerDialog: (id) => {\r\n history.push(`/carriers/${id}/delete`);\r\n },\r\n openDeleteCustomersDialog: () => {\r\n history.push(`/carriers/deleteCustomers`);\r\n },\r\n openFetchCustomersDialog: () => {\r\n history.push(`/carriers/fetch`);\r\n },\r\n openUpdateCustomersStatusDialog: () => {\r\n history.push(\"/carriers/updateStatus\");\r\n }\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n {({ history, match }) => (\r\n {\r\n history.push(\"/carriers\");\r\n }}\r\n />\r\n )}\r\n \r\n \r\n {({ history, match }) => (\r\n {\r\n history.push(\"/carriers\");\r\n }}\r\n />\r\n )}\r\n \r\n \r\n {({ history, match }) => (\r\n {\r\n history.push(\"/carriers\");\r\n }}\r\n />\r\n )}\r\n \r\n \r\n {({ history, match }) => (\r\n {\r\n history.push(\"/carriers\");\r\n }}\r\n />\r\n )}\r\n \r\n \r\n {({ history, match }) => (\r\n {\r\n history.push(\"/carriers\");\r\n }}\r\n />\r\n )}\r\n \r\n \r\n {({ history, match }) => (\r\n {\r\n history.push(\"/carriers\");\r\n }}\r\n />\r\n )}\r\n \r\n \r\n \r\n );\r\n}\r\n","import React, { useEffect } from \"react\";\r\nimport { shallowEqual, useSelector } from \"react-redux\";\r\nimport { LoadingDialog } from \"../../../../../../_metronic/_partials/controls\";\r\n\r\nexport function CustomersLoadingDialog() {\r\n // Customers Redux state\r\n const { isLoading } = useSelector(\r\n (state) => ({ isLoading: state.customers.listLoading }),\r\n shallowEqual\r\n );\r\n // looking for loading/dispatch\r\n useEffect(() => {}, [isLoading]);\r\n return ;\r\n}\r\n","import React, { useState, useEffect } from \"react\";\r\nimport { shallowEqual, useSelector } from \"react-redux\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { ModalProgressBar } from \"../../../../../../_metronic/_partials/controls\";\r\nimport CloseIcon from '@material-ui/icons/Close';\r\nimport IconButton from '@material-ui/core/IconButton';\r\nexport function CustomerEditDialogHeader({ id, onHide }) {\r\n // Customers Redux state\r\n const { customerForEdit, actionsLoading } = useSelector(\r\n (state) => ({\r\n customerForEdit: state.customers.customerForEdit,\r\n actionsLoading: state.customers.actionsLoading,\r\n }),\r\n shallowEqual\r\n );\r\n\r\n const [title, setTitle] = useState(\"\");\r\n // Title couting\r\n useEffect(() => {\r\n let _title = id ? \"\" : \"New Customer\";\r\n if (customerForEdit && id) {\r\n _title = `Edit customer '${customerForEdit.CompanyName}'`;\r\n }\r\n\r\n setTitle(_title);\r\n // eslint-disable-next-line\r\n }, [customerForEdit, actionsLoading]);\r\n\r\n return (\r\n <>\r\n {actionsLoading && }\r\n \r\n {title}\r\n {\r\n onHide(false);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n );\r\n}\r\n","import React, { useEffect } from \"react\";\r\nimport clsx from \"clsx\";\r\nimport Select from \"react-select\";\r\nimport { emphasize, makeStyles, useTheme } from \"@material-ui/core/styles\";\r\nimport Typography from \"@material-ui/core/Typography\";\r\nimport NoSsr from \"@material-ui/core/NoSsr\";\r\nimport TextField from \"@material-ui/core/TextField\";\r\nimport Paper from \"@material-ui/core/Paper\";\r\nimport Chip from \"@material-ui/core/Chip\";\r\nimport MenuItem from \"@material-ui/core/MenuItem\";\r\nimport CancelIcon from \"@material-ui/icons/Cancel\";\r\nimport PropTypes from \"prop-types\";\r\nimport { Field } from \"formik\";\r\nimport $ from \"jquery\";\r\nconst useStyles = makeStyles((theme) => ({\r\n root: {\r\n flexGrow: 1,\r\n },\r\n input: {\r\n display: \"flex\",\r\n padding: 0,\r\n height: \"auto\",\r\n },\r\n valueContainer: {\r\n display: \"flex\",\r\n flexWrap: \"wrap\",\r\n flex: 1,\r\n alignItems: \"center\",\r\n overflow: \"hidden\",\r\n },\r\n chip: {\r\n margin: theme.spacing(0.5, 0.25),\r\n },\r\n chipFocused: {\r\n backgroundColor: emphasize(\r\n theme.palette.type === \"light\"\r\n ? theme.palette.grey[300]\r\n : theme.palette.grey[700],\r\n 0.08\r\n ),\r\n },\r\n noOptionsMessage: {\r\n padding: theme.spacing(1, 2),\r\n },\r\n singleValue: {\r\n fontSize: 14,\r\n },\r\n placeholder: {\r\n position: \"absolute\",\r\n left: 2,\r\n bottom: 6,\r\n fontSize: 14,\r\n },\r\n paper: {\r\n position: \"absolute\",\r\n zIndex: 1,\r\n marginTop: theme.spacing(1),\r\n left: 0,\r\n right: 0,\r\n },\r\n divider: {\r\n height: theme.spacing(2),\r\n },\r\n}));\r\n\r\nfunction NoOptionsMessage(props) {\r\n return (\r\n \r\n {props.children}\r\n \r\n );\r\n}\r\n\r\nNoOptionsMessage.propTypes = {\r\n children: PropTypes.node,\r\n innerProps: PropTypes.object,\r\n selectProps: PropTypes.object.isRequired,\r\n};\r\n\r\nfunction inputComponent({ inputRef, ...props }) {\r\n return
;\r\n}\r\n\r\ninputComponent.propTypes = {\r\n inputRef: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\r\n};\r\n\r\nfunction Control(props) {\r\n const {\r\n children,\r\n innerProps,\r\n innerRef,\r\n selectProps: { classes, TextFieldProps },\r\n } = props;\r\n\r\n return (\r\n \r\n );\r\n}\r\n\r\nControl.propTypes = {\r\n children: PropTypes.node,\r\n innerProps: PropTypes.object,\r\n innerRef: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\r\n selectProps: PropTypes.object.isRequired,\r\n};\r\n\r\nfunction Option(props) {\r\n return (\r\n \r\n {props.children}\r\n \r\n );\r\n}\r\n\r\nOption.propTypes = {\r\n children: PropTypes.node,\r\n innerProps: PropTypes.object,\r\n innerRef: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\r\n isFocused: PropTypes.bool,\r\n isSelected: PropTypes.bool,\r\n};\r\n\r\nfunction Placeholder(props) {\r\n return (\r\n \r\n {props.children}\r\n \r\n );\r\n}\r\n\r\nPlaceholder.propTypes = {\r\n children: PropTypes.node,\r\n innerProps: PropTypes.object,\r\n selectProps: PropTypes.object.isRequired,\r\n};\r\n\r\nfunction SingleValue(props) {\r\n return (\r\n \r\n {props.children}\r\n \r\n );\r\n}\r\n\r\nSingleValue.propTypes = {\r\n children: PropTypes.node,\r\n innerProps: PropTypes.object,\r\n selectProps: PropTypes.object.isRequired,\r\n};\r\n\r\nfunction ValueContainer(props) {\r\n return (\r\n
\r\n {props.children}\r\n
\r\n );\r\n}\r\n\r\nValueContainer.propTypes = {\r\n children: PropTypes.node,\r\n selectProps: PropTypes.object.isRequired,\r\n};\r\n\r\nfunction MultiValue(props) {\r\n return (\r\n }\r\n />\r\n );\r\n}\r\n\r\nMultiValue.propTypes = {\r\n children: PropTypes.node,\r\n isFocused: PropTypes.bool,\r\n removeProps: PropTypes.object.isRequired,\r\n selectProps: PropTypes.object.isRequired,\r\n};\r\n\r\nfunction Menu(props) {\r\n return (\r\n \r\n {props.children}\r\n \r\n );\r\n}\r\n\r\nMenu.propTypes = {\r\n children: PropTypes.node,\r\n innerProps: PropTypes.object,\r\n selectProps: PropTypes.object,\r\n};\r\n\r\nconst components = {\r\n Control,\r\n Menu,\r\n MultiValue,\r\n NoOptionsMessage,\r\n Option,\r\n Placeholder,\r\n SingleValue,\r\n ValueContainer,\r\n};\r\n\r\nexport function DownshiftMultipleSelectCustom({\r\n suggestions,\r\n setFieldValue,\r\n handleSubmit,\r\n FieldName,\r\n DefalutValue,\r\n}) {\r\n const classes = useStyles();\r\n const theme = useTheme();\r\n const [single, setSingle] = React.useState(DefalutValue || null);\r\n const [suggestionStat, setsuggestionStat] = React.useState([]);\r\n useEffect(() => {\r\n var a = [{ value: 0, label: \"ALL\" }];\r\n if (suggestions) {\r\n suggestions.map((suggestion) => {\r\n a.push({\r\n value: suggestion.Id,\r\n label: suggestion.Name,\r\n });\r\n });\r\n }\r\n setsuggestionStat(a);\r\n }, [suggestions]);\r\n useEffect(() => {\r\n if (single != null) {\r\n setFieldValue(FieldName, single.value);\r\n if (handleSubmit) handleSubmit();\r\n }\r\n }, [single]);\r\n\r\n useEffect(() => {\r\n if (DefalutValue != null && DefalutValue.value) {\r\n handleChangeSingle(DefalutValue);\r\n }\r\n }, [DefalutValue]);\r\n\r\n function handleChangeSingle(value) {\r\n // if (value.label === \"Vendor\") {\r\n // $(\"#sectionVendorRates\").show();\r\n // }else{\r\n // $(\"#sectionVendorRates\").hide();\r\n // }\r\n console.log(value);\r\n setSingle(value);\r\n }\r\n const selectStyles = {\r\n input: (base) => ({\r\n ...base,\r\n color: theme.palette.text.primary,\r\n \"& input\": {\r\n font: \"inherit\",\r\n },\r\n }),\r\n };\r\n return (\r\n
\r\n \r\n \r\n \r\n
\r\n );\r\n}\r\n","// Form is based on Formik\r\n// Data validation is based on Yup\r\n// Please, be familiar with article first:\r\n// https://hackernoon.com/react-form-validation-with-formik-and-yup-8b76bda62e10\r\nimport { Icon } from \"@material-ui/core\";\r\nimport FormControlLabel from \"@material-ui/core/FormControlLabel\";\r\nimport IconButton from \"@material-ui/core/IconButton\";\r\nimport LinearProgress from \"@material-ui/core/LinearProgress\";\r\nimport Radio from \"@material-ui/core/Radio\";\r\nimport { makeStyles, withStyles } from \"@material-ui/core/styles\";\r\nimport TextField from \"@material-ui/core/TextField\";\r\nimport Tooltip from \"@material-ui/core/Tooltip\";\r\nimport CloseIcon from \"@material-ui/icons/Close\";\r\nimport axios from \"axios\";\r\nimport clsx from \"clsx\";\r\nimport { ErrorMessage, Field, Formik } from \"formik\";\r\nimport $ from \"jquery\";\r\nimport low from \"lowdb\";\r\nimport moment from \"moment\";\r\nimport LocalStorage from \"lowdb/adapters/LocalStorage\";\r\nimport React, { useEffect, useState } from \"react\";\r\nimport { Accordion, Alert, Button, Form, Modal } from \"react-bootstrap\";\r\nimport SVG from \"react-inlinesvg\";\r\nimport SelectMulti from \"react-select\";\r\nimport * as Yup from \"yup\";\r\nimport { toAbsoluteUrl } from \"../../../../../../_metronic/_helpers\";\r\nimport { Try } from \"../../../../../../_metronic/_helpers/ATHelpers\";\r\nimport {\r\n CheckboxLarge,\r\n CheckboxLargeWB,\r\n Input,\r\n RadioButton,\r\n Select,\r\n CreatableSelect3,\r\n} from \"../../../../../../_metronic/_partials/controls\";\r\nimport CreatableSelect from \"react-select/creatable\";\r\nimport { Notification } from \"../../../../Notification\";\r\nimport { DownshiftMultipleSelectCustom } from \"./DownshiftMultipleSelectCustom\";\r\nimport Table from \"@material-ui/core/Table\";\r\nimport TableBody from \"@material-ui/core/TableBody\";\r\nimport TableCell from \"@material-ui/core/TableCell\";\r\nimport TableHead from \"@material-ui/core/TableHead\";\r\nimport TableRow from \"@material-ui/core/TableRow\";\r\nimport { methodOf } from \"lodash\";\r\n\r\nconst adapter = new LocalStorage(\"db\");\r\nconst db = low(adapter);\r\nfunction handleChangeMultiple(event) {\r\n if (event.target.checked) {\r\n for (const option of document.querySelectorAll(\r\n \"#WarehousesAccessId option\"\r\n )) {\r\n option.removeAttribute(\"selected\");\r\n option.setAttribute(\"selected\", \"selected\");\r\n }\r\n } else {\r\n for (const option of document.querySelectorAll(\r\n \"#WarehousesAccessId option\"\r\n )) {\r\n option.removeAttribute(\"selected\");\r\n }\r\n }\r\n}\r\nexport function CustomerEditForm({\r\n saveCustomer,\r\n customer,\r\n actionsLoading,\r\n onHide,\r\n}) {\r\n const [ETAGrid, setETAGrid] = useState([\r\n {\r\n Id: 0,\r\n ServiceId: \"\",\r\n ModeId: \"\",\r\n ServiceLevelId: \"\",\r\n MilesPerDay: 0,\r\n FromCity: \"\",\r\n FromState: \"\",\r\n ToCity: \"\",\r\n ToState: \"\",\r\n TransitDays: 0,\r\n },\r\n ]);\r\n const [ServiceList, setServiceList] = useState([]);\r\n const [Services, setServices] = useState([\r\n {\r\n Id: 0,\r\n ServiceId: \"\",\r\n ModeId: \"\",\r\n ServiceLevelId: \"\",\r\n MilesPerDay: 0,\r\n // SlaParameter: 0,\r\n items: [\r\n {\r\n FromCity: \"\",\r\n FromState: \"\",\r\n ToCity: \"\",\r\n ToState: \"\",\r\n TransitDays: 0,\r\n },\r\n ],\r\n },\r\n ]);\r\n function hasDuplicateObjects(array) {\r\n const set = new Set();\r\n\r\n for (let i = 0; i < array.length; i++) {\r\n const obj = array[i];\r\n\r\n const values = [\r\n obj.ServiceId,\r\n obj.ModeId,\r\n obj.ServiceLevelId,\r\n ];\r\n\r\n if (set.has(values.join(\"|\"))) {\r\n return true;\r\n } else {\r\n set.add(values.join(\"|\"));\r\n }\r\n }\r\n\r\n return false;\r\n }\r\n\r\n\r\n\r\n\r\n // create function that add new row to Services\r\n const addNewRow = () => {\r\n setServices([\r\n ...Services,\r\n {\r\n Id: 0,\r\n ServiceId: \"\",\r\n ModeId: \"\",\r\n ServiceLevelId: \"\",\r\n MilesPerDay: 0,\r\n // SlaParameter: 0,\r\n Items: [\r\n {\r\n FromCity: \"\",\r\n FromState: \"\",\r\n ToCity: \"\",\r\n ToState: \"\",\r\n TransitDays: 0,\r\n },\r\n ],\r\n },\r\n ]);\r\n };\r\n\r\n const addNewRowItems = (index) => {\r\n const values = [...Services];\r\n values[index].Items = [\r\n ...values[index].Items,\r\n {\r\n FromCity: \"\",\r\n FromState: \"\",\r\n ToCity: \"\",\r\n ToState: \"\",\r\n TransitDays: 0,\r\n },\r\n ];\r\n setServices(values);\r\n };\r\n\r\n const removeRowItems = (index, index2) => {\r\n const values = [...Services];\r\n values[index].Items.splice(index2, 1);\r\n setServices(values);\r\n };\r\n\r\n const removeRow = (index) => {\r\n const values = [...Services];\r\n values.splice(index, 1);\r\n setServices(values);\r\n };\r\n\r\n const handleChangeInput = (index, event) => {\r\n const values = [...Services];\r\n if (event.target.name === \"ServiceId\") {\r\n values[index].ServiceId = event.target.value;\r\n } else if (event.target.name === \"ModeId\") {\r\n values[index].ModeId = event.target.value;\r\n } else if (event.target.name === \"ServiceLevelId\") {\r\n values[index].ServiceLevelId = event.target.value;\r\n } else if (event.target.name === \"MilesPerDay\") {\r\n values[index].MilesPerDay = event.target.value;\r\n }\r\n // else if (event.target.name === \"SlaParameter\") {\r\n // values[index].SlaParameter = event.target.value;\r\n // }\r\n setServices(values);\r\n };\r\n\r\n const handleChangeInputItems = (index, index2, event) => {\r\n const values = [...Services];\r\n if (event.target.name === \"FromCity\") {\r\n values[index].Items[index2].FromCity = event.target.value;\r\n } else if (event.target.name === \"FromState\") {\r\n values[index].Items[index2].FromState = event.target.value;\r\n } else if (event.target.name === \"ToCity\") {\r\n values[index].Items[index2].ToCity = event.target.value;\r\n } else if (event.target.name === \"ToState\") {\r\n values[index].Items[index2].ToState = event.target.value;\r\n } else if (event.target.name === \"TransitDays\") {\r\n values[index].Items[index2].TransitDays = event.target.value;\r\n }\r\n setServices(values);\r\n };\r\n\r\n const handleChangeSelect = (index, name, value) => {\r\n const values = [...Services];\r\n values[index][name] = value ? value : \"\";\r\n setServices(values);\r\n };\r\n\r\n const handleChangeSelectItems = (index, index2, name, value) => {\r\n const values = [...Services];\r\n values[index].Items[index2][name] = value ? value : \"\";\r\n setServices(values);\r\n };\r\n\r\n\r\n const createServicesUI = () => {\r\n return Services?.map((r, index) => (\r\n \r\n
\r\n
\r\n

Service

\r\n a.Id === r?.ServiceId).map(\r\n (suggestion) => ({\r\n value: suggestion.Id,\r\n label: suggestion.Name,\r\n })\r\n )}\r\n onChange={(event) => handleChangeSelect(index, \"ServiceId\", event?.value)}\r\n options={Service?.Services?.map((suggestion) => ({\r\n value: suggestion.Id,\r\n label: suggestion.Name,\r\n }))}\r\n />\r\n
\r\n
\r\n

Mode

\r\n a.Id === r?.ServiceId)[0]\r\n ?.Modes?.filter((a) => a.Id === r?.ModeId)\r\n .map((suggestion) => ({\r\n value: suggestion.Id,\r\n label: suggestion.Name,\r\n }))}\r\n onChange={(event) => handleChangeSelect(index, \"ModeId\", event?.value)}\r\n options={Service?.Services?.filter(\r\n (a) => a.Id === r?.ServiceId\r\n )[0]?.Modes?.map((suggestion) => ({\r\n value: suggestion.Id,\r\n label: suggestion.Name,\r\n }))}\r\n />\r\n
\r\n
\r\n

Service Level

\r\n a.Id === r?.ServiceId)[0]\r\n ?.Modes?.filter((a) => a.Id === r?.ModeId)[0]\r\n ?.ServiceLevels?.filter((a) => a.Id === r?.ServiceLevelId)\r\n .map((suggestion) => ({\r\n value: suggestion.Id,\r\n label: suggestion.Name,\r\n }))}\r\n onChange={(event) => handleChangeSelect(index, \"ServiceLevelId\", event?.value)}\r\n options={Service?.Services?.filter((a) => a.Id === r?.ServiceId)[0]\r\n ?.Modes?.filter((a) => a.Id === r?.ModeId)[0]\r\n ?.ServiceLevels?.map((suggestion) => ({\r\n value: suggestion.Id,\r\n label: suggestion.Name,\r\n }))}\r\n />\r\n
\r\n
\r\n

Miles Per Day

\r\n handleChangeInput(index, event)}\r\n />\r\n
\r\n {/*
\r\n

Sla Parameter

\r\n handleChangeInput(index, event)}\r\n />\r\n
*/}\r\n {/*
\r\n removeRow(index)}\r\n >\r\n Delete\r\n \r\n
*/}\r\n removeRow(index)}\r\n >\r\n X\r\n \r\n
\r\n {r?.Items?.map((r2, index2) => (\r\n \r\n
\r\n

From State

\r\n ({\r\n value: item.Name,\r\n label: item.Name,\r\n }))}\r\n value={statesList\r\n ?.filter((a) => a.Name === r2?.FromState)\r\n .map((suggestion) => ({\r\n value: suggestion.Name,\r\n label: suggestion.Name,\r\n }))}\r\n\r\n onChange={(event) => handleChangeSelectItems(index, index2, \"FromState\", event?.value)}\r\n id=\"FromState\"\r\n />\r\n
\r\n
\r\n

From City

\r\n handleChangeInputItems(index, index2, event)}\r\n />\r\n
\r\n
\r\n

To State

\r\n ({\r\n value: item.Name,\r\n label: item.Name,\r\n }))}\r\n value={statesList\r\n ?.filter((a) => a.Name === r2?.ToState)\r\n .map((suggestion) => ({\r\n value: suggestion.Name,\r\n label: suggestion.Name,\r\n }))}\r\n onChange={(event) => handleChangeSelectItems(index, index2, \"ToState\", event?.value)}\r\n />\r\n
\r\n
\r\n

To City

\r\n handleChangeInputItems(index, index2, event)}\r\n />\r\n
\r\n
\r\n

Transit Days

\r\n handleChangeInputItems(index, index2, event)}\r\n />\r\n
\r\n {/* removeRowItems(index, index2)}\r\n >\r\n Delete\r\n */}\r\n removeRowItems(index, index2)}\r\n >\r\n X\r\n \r\n
\r\n ))}\r\n {/* addNewRowItems(index)}\r\n style={{ position: \"absolute\", bottom: \"10px\", right: \"10px\" }}\r\n >\r\n Add\r\n */}\r\n addNewRowItems(index)}\r\n >\r\n +\r\n \r\n
\r\n ));\r\n };\r\n\r\n\r\n const [LoacationsTransitDays, setLoacationsTransitDays] = useState([\r\n {\r\n Id: 0,\r\n Location: \"\",\r\n TransitDays: 0,\r\n },\r\n ]);\r\n\r\n const [TmsOptions, setTmsOptions] = useState([]);\r\n\r\n const [countryList, setcountryList] = useState([\r\n { firstName: \"\", lastName: \"\" },\r\n ]);\r\n const [locationOptionsList, setlocationOptionsList] = useState([]);\r\n const [warhousesList, setwarhousesList] = useState([]);\r\n\r\n const [ShipmentModeList, setShipmentModeList] = useState([]);\r\n const [postWarehouseList, setPostWarehouseList] = useState([]);\r\n const [getWarehouseList, setGetWarehouseList] = useState([]);\r\n const [statesList, setstatesList] = useState([]);\r\n const [LocationList, setLocationList] = useState([]);\r\n const [movableUnitOptionList, setmovableUnitOptionList] = useState([]);\r\n const [\r\n fulfillmentInvoicesOptionsList,\r\n setfulfillmentInvoicesOptionsList,\r\n ] = useState([]);\r\n const [carrierInfoOptionList, setcarrierInfoOptionListList] = useState([]);\r\n const [supplierOptionsList, setsupplierOptionsList] = useState([]);\r\n const [defaultInvoicesOptionsList, setdefaultInvoicesOptionsList] = useState(\r\n []\r\n );\r\n const [isActive, setisActive] = useState(false);\r\n const [InvoiceOptionId, setInvoiceOptionId] = useState([]);\r\n const [InvoiceGrpOptionId, setInvoiceGrpOptionId] = useState([]);\r\n const [TermsList, setTermsList] = useState([]);\r\n const [BillingAddress, setBillingAddress] = useState([]);\r\n const [tmsStatteOptions, settmsStatteOptions] = useState([]);\r\n const [BillingAddressValue, setBillingAddressValue] = useState({\r\n value: \"\",\r\n label: \"Select\",\r\n });\r\n const [PrimaryWarehouseValue, setPrimaryWarehouseValue] = useState({\r\n value: \"\",\r\n label: \"Select\",\r\n });\r\n const [PrimaryZoneValue, setPrimaryZoneValue] = useState({\r\n value: \"\",\r\n label: \"Select\",\r\n });\r\n const [Method, setMethod] = useState({\r\n value: \"\",\r\n label: \"Select\",\r\n });\r\n //ServiceId,ModeId,ServiceLevelId\r\n const [Service, setService] = useState([]);\r\n const [AllModes, setAllModes] = useState([]);\r\n const [UsersOtions, setUsersOtions] = useState([]);\r\n const [TmsMode, setTmsMode] = useState([]);\r\n // const [DefaultModeId, setDefaultModeId] = useState(0);\r\n\r\n //Billing\r\n const initCustomer = {\r\n id: undefined,\r\n Id: undefined,\r\n Code: \"\",\r\n Name: \"\",\r\n City: \"\",\r\n CountryId: \"US\",\r\n AddressTypeId: \"\",\r\n Address: \"\",\r\n IsActive: false,\r\n };\r\n const [showModal, setShowModal] = useState(false);\r\n const [\r\n modalConfirmationReasonSelected,\r\n setModalConfirmationSelected,\r\n ] = useState(false);\r\n const [ReasonCodeId, setReasonCodeId] = useState(null);\r\n const [ReasonCode, setReasonCode] = React.useState([]);\r\n const [showBillingModal, setShowModalBilling] = useState(false);\r\n const [hideModal, setHideModal] = useState(false);\r\n const [billingId, setBillingId] = useState(0);\r\n const [billingData, setBillingAddressData] = useState(initCustomer);\r\n // Validation schema\r\n let CustomerEditSchema;\r\n if (customer.id === undefined) {\r\n CustomerEditSchema = Yup.object().shape({\r\n CompanyName: Yup.string()\r\n .min(3, \"Minimum 8 symbols\")\r\n .max(50, \"Maximum 50 symbols\")\r\n .required(\"Company Name is required\"),\r\n FuelSurchargePercentage: Yup.number()\r\n .integer()\r\n .required(\"Fuel surcharge Percentage is required\"),\r\n Email: Yup.string().email(\"Invalid email\"),\r\n ContactEmail: Yup.string().email(\"Invalid email\"),\r\n Country: Yup.string().required(\"Country is required\"),\r\n LocationOptionId: Yup.string().required(\"Location Option is required\"),\r\n MovableUnitOptionId: Yup.string().required(\r\n \"Movable Unit Option is required\"\r\n ),\r\n SupplierOptionId: Yup.string().required(\"Supplier Option is required\"),\r\n InvoicingOptionId: Yup.string().required(\r\n \"Fulfillment Invoicing Option is required\"\r\n ),\r\n CarrierInfoOptionId: Yup.string().required(\r\n \"Add Carrier Info to Orders Option is required\"\r\n ),\r\n CreateInvoicesOptionId: Yup.string().required(\r\n \"Create Invoice Defaults Option is required\"\r\n ),\r\n });\r\n } else {\r\n CustomerEditSchema = Yup.object().shape({});\r\n }\r\n useEffect(() => {\r\n fetchDataAsync();\r\n setShowModal(false);\r\n window.states = undefined;\r\n }, []);\r\n const fetchCategories = async () => {\r\n try {\r\n if (CategoriesList.length === 0) {\r\n await fetch(window.$apiurl + \"/contact/getviewmodel\", {\r\n method: \"get\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then((res) => res.json())\r\n .then((res) => {\r\n setCategoriesList(res.ContactCategories || []);\r\n })\r\n .catch((err) => {\r\n return false;\r\n });\r\n }\r\n } catch (e) { }\r\n };\r\n const fetchDataAsync = async () => {\r\n try {\r\n const result = await axios.get(\"api/ManageCustomer/GetAllApi\");\r\n setcountryList(result.data.country[\"Countries\"]);\r\n var warehouses = result.data.warhousesList;\r\n var objWarehouses = [];\r\n {\r\n warehouses.map((item) => {\r\n objWarehouses.push({ value: item.Id, label: item.Name });\r\n });\r\n }\r\n const genericAddresses = result.data.country[\"GenericAddresses\"];\r\n setUsersOtions(result.data.country[\"Users\"] || []);\r\n window.$dataGenericAdd = genericAddresses;\r\n var objBlAddress = [];\r\n {\r\n genericAddresses.map((item) => {\r\n objBlAddress.push({ value: item.Id, label: item.CompanyName });\r\n });\r\n }\r\n\r\n setBillingAddress(objBlAddress);\r\n setwarhousesList(objWarehouses);\r\n setReasonCode(result.data.country[\"DeleteReasons\"] || []);\r\n setstatesList(result.data.country[\"States\"]);\r\n setlocationOptionsList(result.data.country[\"LocationOptions\"]);\r\n setLocationList(result.data.country[\"Locations\"] || []);\r\n setfulfillmentInvoicesOptionsList(\r\n result.data.country[\"FulfillmentInvoicesOptions\"]\r\n );\r\n setmovableUnitOptionList(result.data.country[\"MovableUnitsOptions\"]);\r\n setcarrierInfoOptionListList(result.data.country[\"CarrierInfoOptions\"]);\r\n setsupplierOptionsList(result.data.country[\"SuppliersOptions\"]);\r\n setdefaultInvoicesOptionsList(\r\n result.data.country[\"DefaultInvoicesOptions\"]\r\n );\r\n setTermsList(result.data.country[\"NetTerms\"]);\r\n setShipmentModeList(result.data.country[\"Modes\"]);\r\n setInvoiceOptionId(result.data.country[\"InvoiceOptions\"]);\r\n setServiceList(result.data.country[\"Service\"]);\r\n window.InvoiceGrpOptions = result.data.country[\"InvoiceGrpOptions\"];\r\n\r\n var myHeaders = new Headers();\r\n myHeaders.append(\"Authorization\", `Bearer ${db.read().getState().Token}`);\r\n\r\n var requestOptions = {\r\n method: \"GET\",\r\n headers: myHeaders,\r\n redirect: \"follow\",\r\n };\r\n\r\n fetch(`${window.$apiurl}/billing/getreceiptsviewmodel`, requestOptions)\r\n .then((response) => response.text())\r\n .then((result) => {\r\n const obj = JSON.parse(result);\r\n setService(obj);\r\n setTmsMode(\r\n obj?.Services?.find((a) => a.Name === \"Domestic Transportation\")\r\n ?.Modes || []\r\n );\r\n var array = [];\r\n obj.Services.map((items, index) =>\r\n items.Modes.map((suggestion) =>\r\n array.push({\r\n value: suggestion.Id,\r\n label: items.Name + \"-\" + suggestion.Name,\r\n })\r\n )\r\n );\r\n setAllModes(array);\r\n })\r\n .catch((error) => console.log(\"error\", error));\r\n\r\n const state = await axios.get(`api/companyinfo/getstates/US`);\r\n if (state.status === 200) {\r\n if (state.data.length > 0) {\r\n settmsStatteOptions(state?.data || []);\r\n }\r\n }\r\n } catch (e) { }\r\n };\r\n //Billing Addres by ID\r\n useEffect(() => {\r\n fetchViewModelAsync();\r\n }, [billingId]);\r\n const fetchViewModelAsync = async () => {\r\n try {\r\n const result = await axios.get(\"api/ManageAddress/GetAllApi\");\r\n setCountry(result.data[\"Countries\"]);\r\n window.AddressTypes = result.data[\"AddressTypes\"] || [];\r\n window.Country = result.data[\"Countries\"] || [];\r\n } catch (e) { }\r\n };\r\n async function GetModelId(id) {\r\n return await fetch(`${window.$apiurl}/address/${id}`, {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n var a = res[1][\"Address\"];\r\n a.id = a.Id;\r\n setBillingAddressData(a);\r\n return a;\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n ////////////////////////\r\n useEffect(() => {\r\n if (customer.PrimaryWarehouseId) {\r\n setPrimaryWarehouseValue({\r\n value: customer.PrimaryWarehouseId,\r\n label: customer.PrimaryWarehouse,\r\n });\r\n }\r\n\r\n if (customer.ZoneName) {\r\n setPrimaryZoneValue({\r\n value: customer.PetroleumZoneId,\r\n label: customer.ZoneName,\r\n });\r\n }\r\n if (customer.CustomerServiceLevels) {\r\n const serviceLits = JSON.stringify(customer.CustomerServiceLevels);\r\n setServices(JSON.parse(serviceLits));\r\n }\r\n\r\n if (customer.FuelSurchargeMethodId) {\r\n setMethod({\r\n value: customer.FuelSurchargeMethodId,\r\n label: customer.MethodFuelSurchargeName,\r\n });\r\n }\r\n\r\n if (customer.BillingAddressId) {\r\n setBillingId(customer.BillingAddressId);\r\n setBillingAddressValue({\r\n value: customer.BillingAddressId,\r\n label: customer.BillingAddress,\r\n });\r\n }\r\n if (customer.InboundManifestHasUpc === true) {\r\n document.getElementById(\"InboundManifestHasUpc\").checked = true;\r\n }\r\n if (customer.IsPodRequired === true) {\r\n document.getElementById(\"IsPodRequired\").checked = true;\r\n }\r\n if (customer.POManage === true) {\r\n document.getElementById(\"POManage\").checked = true;\r\n }\r\n if (customer.ReceiveAgaintAsn === true) {\r\n document.getElementById(\"ReceiveAgaintAsnId\").checked = true;\r\n }\r\n if (customer.OneFileAtLeast === true) {\r\n document.getElementById(\"OneFileAtLeastId\").checked = true;\r\n }\r\n if (customer.TotalPackageVolume === true) {\r\n document.getElementById(\"TotalPackageVolumeId\").checked = true;\r\n }\r\n if (customer.TotalPackageWeight === true) {\r\n document.getElementById(\"TotalPackageWeightId\").checked = true;\r\n }\r\n if (customer.AutoAllocate === true) {\r\n document.getElementById(\"AutoAllocateId\").checked = true;\r\n }\r\n if (customer.SplitMovableUnit === true) {\r\n document.getElementById(\"SplitMovableUnitId\").checked = true;\r\n }\r\n if (customer.SuggestedPutWay === true) {\r\n document.getElementById(\"SuggestedPutWayId\").checked = true;\r\n }\r\n if (customer.UseBlindReceipt === true) {\r\n document.getElementById(\"UseBlindReceiptId\").checked = true;\r\n }\r\n if (customer.DefaultQuantity === true) {\r\n document.getElementById(\"DefaultQuantityId\").checked = true;\r\n }\r\n if (customer.FileImportTracking === true) {\r\n document.getElementById(\"FileImportTrackingId\").checked = true;\r\n }\r\n if (customer.AllocateOrderManually === true) {\r\n document.getElementById(\"AllocateOrderManuallyId\").checked = true;\r\n }\r\n if (customer.AutomaticallyTrackBy === true) {\r\n document.getElementById(\"AutomaticallyTrackById\").checked = true;\r\n }\r\n if (customer.RequireScac === true) {\r\n document.getElementById(\"RequireScacId\").checked = true;\r\n }\r\n if (customer.RequireCarrier === true) {\r\n document.getElementById(\"RequireCarrierId\").checked = true;\r\n }\r\n if (customer.RequireLoadNumber === true) {\r\n document.getElementById(\"RequireLoadNumberId\").checked = true;\r\n }\r\n if (customer.RequireLadingNumber === true) {\r\n document.getElementById(\"RequireLadingNumberId\").checked = true;\r\n }\r\n if (customer.RequirePurchaseOrder === true) {\r\n document.getElementById(\"RequirePurchaseOrderId\").checked = true;\r\n }\r\n if (customer.PackageCount === true) {\r\n document.getElementById(\"PackageCountId\").checked = true;\r\n }\r\n if (customer.ConnectionUpdatesTracking === true) {\r\n document.getElementById(\"ConnectionUpdatesTrackingId\").checked = true;\r\n }\r\n if (customer.ScannerApplication === true) {\r\n document.getElementById(\"ScannerApplicationId\").checked = true;\r\n }\r\n if (customer.RequireTrackingNumber === true) {\r\n document.getElementById(\"RequireTrackingNumberId\").checked = true;\r\n }\r\n if (customer.FullMovableUnits === true) {\r\n document.getElementById(\"FullMovableUnitsId\").checked = true;\r\n }\r\n if (customer.LocationIdentifierReport === true) {\r\n document.getElementById(\"LocationIdentifierReportId\").checked = true;\r\n }\r\n if (customer.EnableCustomFields === true) {\r\n document.getElementById(\"EnableCustomFieldsId\").checked = true;\r\n }\r\n if (customer.AllowPurchaseOrder === true) {\r\n document.getElementById(\"AllowPurchaseOrderId\").checked = true;\r\n }\r\n\r\n if (customer.EnableDashboard === true) {\r\n document.getElementById(\"EnableDashboardId\").checked = true;\r\n }\r\n if (customer.InvoiceConfirmation === true) {\r\n document.getElementById(\"InvoiceConfirmationId\").checked = true;\r\n }\r\n if (customer.UseTransactionBillNumber === true) {\r\n document.getElementById(\"UseTransactionBillNumberId\").checked = true;\r\n }\r\n if (customer.DisplayVendorId === true) {\r\n document.getElementById(\"DisplayVendorId\").checked = true;\r\n }\r\n if (customer.RequireOrderClosed === true) {\r\n document.getElementById(\"RequireOrderClosedId\").checked = true;\r\n }\r\n if (customer.Assignments !== null && customer.Assignments !== undefined) {\r\n setTmsOptions(JSON.parse(JSON.stringify(customer?.Assignments)) || []);\r\n }\r\n if (customer.Contacts !== null && customer.Contacts !== undefined) {\r\n fetchCategories();\r\n try {\r\n let deepClone = JSON.parse(JSON.stringify(customer));\r\n deepClone.defaultForm = true;\r\n if (deepClone.Contacts.length > 0) {\r\n deepClone.Contacts.map((item) => {\r\n if (item.FirstName === null) item.FirstName = \"\";\r\n if (item.LastName === null) item.LastName = \"\";\r\n if (item.CategoryId === 0) item.CategoryId = 1;\r\n if (item.Category === null) item.Category = \"Manager\";\r\n item.Category = {\r\n value: item.CategoryId === 0 ? 1 : item.CategoryId,\r\n label: item.Category === null ? \"Manager\" : item.Category,\r\n };\r\n });\r\n }\r\n setusers(deepClone.Contacts);\r\n } catch (err) { }\r\n }\r\n // if (\r\n // customer.DefaultModeId !== null &&\r\n // customer.DefaultModeId !== undefined\r\n // ) {\r\n // setDefaultModeId(customer.DefaultModeId);\r\n // }\r\n if (customer.Locations !== null && customer.Locations !== undefined) {\r\n setLoacationsTransitDays(customer.Locations);\r\n }\r\n if (\r\n customer.CustomerServiceLevels !== null &&\r\n customer.CustomerServiceLevels !== undefined\r\n ) {\r\n let deepClone2 = JSON.parse(JSON.stringify(customer));\r\n var arrayserviceMode = [];\r\n deepClone2.CustomerServiceLevels.map((objcts, index) =>\r\n Service.Services?.map((items) =>\r\n items?.Modes?.map((item) =>\r\n item?.ServiceLevels?.map((itm) => {\r\n var newobj = {};\r\n if (itm.Id === objcts.ServiceLevelId) {\r\n newobj.Id = index;\r\n newobj.ServiceId = items.Id;\r\n newobj.ModeId = item.Id;\r\n newobj.ServiceLevelId = itm.Id;\r\n newobj.MilesPerDay = objcts.MilesPerDay;\r\n newobj.FromCity = objcts.FromCity;\r\n newobj.FromState = objcts.FromState;\r\n newobj.ToCity = objcts.ToCity;\r\n newobj.ToState = objcts.ToState;\r\n newobj.TransitDays = objcts.TransitDays;\r\n arrayserviceMode.push(newobj);\r\n }\r\n })\r\n )\r\n )\r\n );\r\n\r\n if (arrayserviceMode.length > 0) {\r\n setETAGrid(arrayserviceMode);\r\n }\r\n }\r\n if (\r\n customer.WarehousesAccess !== null ||\r\n customer.WarehousesAccess !== undefined\r\n ) {\r\n var obj = [];\r\n {\r\n customer.WarehousesAccess.map((item, index) => {\r\n obj.push({ value: item.Id, label: item.Name });\r\n });\r\n }\r\n setGetWarehouseList(obj);\r\n }\r\n if (customer.IsActive !== undefined) {\r\n var a = customer.IsActive ? \"true\" : \"false\";\r\n setisActive(a);\r\n }\r\n\r\n if (customer?.InboundInvoiceOptionId === 222) {\r\n setInvoiceGrpOptionId(window.InvoiceGrpOptions);\r\n }\r\n }, [customer, Service]);\r\n //TMS OPTIONS\r\n function removeClickTmsOptions(i) {\r\n let eTAGrid = [...TmsOptions];\r\n eTAGrid.splice(i, 1);\r\n setTmsOptions(eTAGrid);\r\n }\r\n function handleChangeTmsOptionsUserId(i, event) {\r\n let values = [...TmsOptions];\r\n values[i].UserId = event === null ? null : event?.value;\r\n values[i].UserIsGroup = event === null ? null : event?.IsGroup;\r\n setTmsOptions(values);\r\n }\r\n function handleChangeTmsOptionsShippingCity(i, event) {\r\n let values = [...TmsOptions];\r\n values[i].ShippingCity = event?.target?.value;\r\n setTmsOptions(values);\r\n }\r\n function handleChangeTmsOptionsMode(i, event) {\r\n let values = [...TmsOptions];\r\n values[i].ModeId = event === null ? null : event?.value;\r\n setTmsOptions(values);\r\n }\r\n function handleChangeTmsOptionsShippingState(i, event) {\r\n let values = [...TmsOptions];\r\n values[i].ShippingState = event === null ? \"\" : event?.value;\r\n setTmsOptions(values);\r\n }\r\n function handleChangeTmsOptionsReceivingCity(i, event) {\r\n let values = [...TmsOptions];\r\n values[i].ReceivingCity = event?.target?.value;\r\n setTmsOptions(values);\r\n }\r\n function handleChangeTmsOptionsReceivingState(i, event) {\r\n let values = [...TmsOptions];\r\n values[i].ReceivingState = event === null ? \"\" : event?.value;\r\n setTmsOptions(values);\r\n }\r\n //END TMS OPTIONS\r\n function addClickETAGrid() {\r\n setETAGrid((prevState) => [\r\n ...prevState,\r\n {\r\n id: 0,\r\n ServiceId: \"\",\r\n ModeId: \"\",\r\n ServiceLevelId: \"\",\r\n MilesPerDay: 0,\r\n FromCity: \"\",\r\n FromState: \"\",\r\n ToCity: \"\",\r\n ToState: \"\",\r\n TransitDays: 0,\r\n },\r\n ]);\r\n }\r\n function addClickLoacationsTransitDays() {\r\n setLoacationsTransitDays((prevState) => [\r\n ...prevState,\r\n {\r\n id: 0,\r\n Location: \"\",\r\n TransitDays: 0,\r\n },\r\n ]);\r\n }\r\n function addClickTmsOptions() {\r\n setTmsOptions((prevState) => [\r\n ...prevState,\r\n {\r\n Id: 0,\r\n UserId: null,\r\n UserIsGroup: false,\r\n ModeId: null,\r\n ShippingCity: null,\r\n ShippingState: \"\",\r\n ReceivingCity: null,\r\n ReceivingState: \"\",\r\n },\r\n ]);\r\n }\r\n function removeClickContact(i) {\r\n let user = [...users];\r\n user.splice(i, 1);\r\n setusers(user);\r\n }\r\n function removeClickETAGrid(i) {\r\n let eTAGrid = [...ETAGrid];\r\n eTAGrid.splice(i, 1);\r\n setETAGrid(eTAGrid);\r\n }\r\n function removeClickLoacationsTransitDays(i) {\r\n let eTAGrid = [...LoacationsTransitDays];\r\n eTAGrid.splice(i, 1);\r\n setLoacationsTransitDays(eTAGrid);\r\n }\r\n\r\n function handleChangeEmil(i, event) {\r\n let values = [...users];\r\n values[i].Email = event.target.value;\r\n setusers(values);\r\n }\r\n function handleChangeService(i, event) {\r\n let values = [...ETAGrid];\r\n values[i].ServiceId = event?.value;\r\n setETAGrid(values);\r\n }\r\n function handleChangePhoneNumber(i, event) {\r\n let values = [...users];\r\n values[i].PhoneNumber = event.target.value;\r\n setusers(values);\r\n }\r\n function handleChangeMode(i, event) {\r\n let values = [...ETAGrid];\r\n values[i].ModeId = event?.value;\r\n setETAGrid(values);\r\n }\r\n function handleChangeName(i, event) {\r\n let values = [...users];\r\n values[i].FullName = event.target.value;\r\n setusers(values);\r\n }\r\n function handleChangeServiceLevel(i, event) {\r\n let values = [...ETAGrid];\r\n values[i].ServiceLevelId = event?.value;\r\n setETAGrid(values);\r\n }\r\n function handleChangeAverageMilesPerDay(i, event) {\r\n let values = [...ETAGrid];\r\n values[i].MilesPerDay = event.target.value;\r\n setETAGrid(values);\r\n }\r\n function handleChangeAverageFromCity(i, event) {\r\n let values = [...ETAGrid];\r\n values[i].FromCity = event.target.value;\r\n setETAGrid(values);\r\n }\r\n function handleChangeAverageFromState(i, event) {\r\n let values = [...ETAGrid];\r\n values[i].FromState = event?.value;\r\n setETAGrid(values);\r\n }\r\n\r\n function handleChangeLoacations(i, event) {\r\n let values = [...LoacationsTransitDays];\r\n values[i].Location = event?.value;\r\n setLoacationsTransitDays(values);\r\n }\r\n function handleChangeAverageToCity(i, event) {\r\n let values = [...ETAGrid];\r\n values[i].ToCity = event.target.value;\r\n setETAGrid(values);\r\n }\r\n function handleChangeAverageToState(i, event) {\r\n let values = [...ETAGrid];\r\n values[i].ToState = event?.value;\r\n setETAGrid(values);\r\n }\r\n function handleChangeAverageTransitDays(i, event) {\r\n let values = [...ETAGrid];\r\n values[i].TransitDays = event.target.value;\r\n setETAGrid(values);\r\n }\r\n function handleChangeLocationTransitDays(i, event) {\r\n let values = [...LoacationsTransitDays];\r\n values[i].TransitDays = event.target.value;\r\n setLoacationsTransitDays(values);\r\n }\r\n const HtmlTooltip = withStyles((theme) => ({\r\n tooltip: {\r\n backgroundColor: \"#f5f5f9\",\r\n color: \"rgba(0, 0, 0, 0.87)\",\r\n maxWidth: 300,\r\n fontSize: theme.typography.pxToRem(12),\r\n border: \"1px solid #dadde9\",\r\n },\r\n }))(Tooltip);\r\n //Contacts22222\r\n function addClick() {\r\n fetchCategories();\r\n setusers((prevState) => [\r\n ...prevState,\r\n {\r\n Id: 0,\r\n Category: { value: \"\", label: \"Select\" },\r\n CategoryId: \"\",\r\n FirstName: \"\",\r\n LastName: \"\",\r\n Name: \"\",\r\n WorkPhone: \"\",\r\n Cellular: \"\",\r\n HomePhone: \"\",\r\n Email: \"\",\r\n Fax: \"\",\r\n Birthday: \"\",\r\n },\r\n ]);\r\n }\r\n const [users, setusers] = useState([\r\n {\r\n Id: 0,\r\n Category: { value: \"\", label: \"Select\" },\r\n CategoryId: \"\",\r\n FirstName: \"\",\r\n LastName: \"\",\r\n Name: \"\",\r\n WorkPhone: \"\",\r\n Cellular: \"\",\r\n HomePhone: \"\",\r\n Email: \"\",\r\n Fax: \"\",\r\n Birthday: \"\",\r\n },\r\n ]);\r\n const [CategoriesList, setCategoriesList] = useState([]);\r\n function createUI() {\r\n return users.map((el, i) => (\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n {el?.Name !== \"\" && (\r\n
\r\n
\r\n

Contact : {el?.Name}

\r\n
\r\n
\r\n )}\r\n\r\n
\r\n
\r\n \r\n {\r\n let values = [...users];\r\n values[i].Category = newValue;\r\n values[i].CategoryId = newValue.value;\r\n setusers(values);\r\n }}\r\n options={CategoriesList.map((x) => {\r\n return {\r\n value: x.Id,\r\n label: x?.Name,\r\n };\r\n })}\r\n />\r\n
\r\n
\r\n\r\n
\r\n
\r\n {\r\n let values = [...users];\r\n values[i].FirstName = event.target.value;\r\n if (event.target.value && values[i].LastName) {\r\n values[i].Name =\r\n event.target.value + \" \" + values[i].LastName;\r\n } else {\r\n values[i].Name = \"\";\r\n }\r\n setusers(values);\r\n }}\r\n />\r\n
\r\n
\r\n {\r\n let values = [...users];\r\n values[i].LastName = event.target.value;\r\n if (event.target.value !== \"\" && values[i].FirstName) {\r\n values[i].Name =\r\n values[i].FirstName + \" \" + event.target.value;\r\n } else {\r\n values[i].Name = \"\";\r\n }\r\n setusers(values);\r\n }}\r\n />\r\n
\r\n
\r\n\r\n
\r\n
\r\n {\r\n let values = [...users];\r\n values[i].WorkPhone = event.target.value;\r\n setusers(values);\r\n }}\r\n />\r\n
\r\n
\r\n {\r\n let values = [...users];\r\n values[i].Cellular = event.target.value;\r\n setusers(values);\r\n }}\r\n />\r\n
\r\n
\r\n\r\n
\r\n
\r\n {\r\n let values = [...users];\r\n values[i].HomePhone = event.target.value;\r\n setusers(values);\r\n }}\r\n />\r\n
\r\n
\r\n {\r\n let values = [...users];\r\n values[i].Email = event.target.value;\r\n setusers(values);\r\n }}\r\n />\r\n
\r\n
\r\n\r\n
\r\n
\r\n {\r\n let values = [...users];\r\n values[i].Fax = event.target.value;\r\n setusers(values);\r\n }}\r\n />\r\n
\r\n
\r\n \r\n {\r\n let values = [...users];\r\n values[i].Birthday = e.target.value;\r\n setusers(values);\r\n }}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n ));\r\n }\r\n function createETAGridUI() {\r\n return ETAGrid?.map((el, i) => (\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n

Service

\r\n a.Id === el.ServiceId).map(\r\n (suggestion) => ({\r\n value: suggestion.Id,\r\n label: suggestion.Name,\r\n })\r\n )}\r\n onChange={handleChangeService.bind(this, i)}\r\n options={Service?.Services?.map((suggestion) => ({\r\n value: suggestion.Id,\r\n label: suggestion.Name,\r\n }))}\r\n />\r\n
\r\n\r\n
\r\n

Mode

\r\n a.Id === el.ServiceId)[0]\r\n ?.Modes?.filter((a) => a.Id === el.ModeId)\r\n .map((suggestion) => ({\r\n value: suggestion.Id,\r\n label: suggestion.Name,\r\n }))}\r\n onChange={handleChangeMode.bind(this, i)}\r\n options={Service?.Services?.filter(\r\n (a) => a.Id === el.ServiceId\r\n )[0]?.Modes?.map((suggestion) => ({\r\n value: suggestion.Id,\r\n label: suggestion.Name,\r\n }))}\r\n />\r\n
\r\n
\r\n

Service Level

\r\n a.Id === el.ServiceId)[0]\r\n ?.Modes?.filter((a) => a.Id === el.ModeId)[0]\r\n ?.ServiceLevels?.filter((a) => a.Id === el.ServiceLevelId)\r\n .map((suggestion) => ({\r\n value: suggestion.Id,\r\n label: suggestion.Name,\r\n }))}\r\n onChange={handleChangeServiceLevel.bind(this, i)}\r\n options={Service?.Services?.filter((a) => a.Id === el.ServiceId)[0]\r\n ?.Modes?.filter((a) => a.Id === el.ModeId)[0]\r\n ?.ServiceLevels?.map((suggestion) => ({\r\n value: suggestion.Id,\r\n label: suggestion.Name,\r\n }))}\r\n />\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n ({\r\n value: item.Name,\r\n label: item.Name,\r\n }))}\r\n value={statesList\r\n ?.filter((a) => a.Name === el.FromState)\r\n .map((suggestion) => ({\r\n value: suggestion.Name,\r\n label: suggestion.Name,\r\n }))}\r\n onChange={handleChangeAverageFromState.bind(this, i)}\r\n id=\"FromState\"\r\n />\r\n {/* */}\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n ({\r\n value: item.Name,\r\n label: item.Name,\r\n }))}\r\n value={statesList\r\n ?.filter((a) => a.Name === el.ToState)\r\n .map((suggestion) => ({\r\n value: suggestion.Name,\r\n label: suggestion.Name,\r\n }))}\r\n onChange={handleChangeAverageToState.bind(this, i)}\r\n id=\"ToState\"\r\n />\r\n {/* */}\r\n
\r\n
\r\n \r\n
\r\n
\r\n ));\r\n }\r\n\r\n //createLoacationsTransitDaysUI\r\n function createLoacationsTransitDaysUI() {\r\n return LoacationsTransitDays?.map((el, i) => (\r\n \r\n
\r\n
\r\n \r\n X\r\n \r\n
\r\n
\r\n
\r\n \r\n ({\r\n value: item,\r\n label: item,\r\n }))}\r\n value={LocationList?.filter((a) => a === el.Location).map(\r\n (suggestion) => ({\r\n value: suggestion,\r\n label: suggestion,\r\n })\r\n )}\r\n onChange={handleChangeLoacations.bind(this, i)}\r\n id=\"Location\"\r\n />\r\n
\r\n
\r\n \r\n
\r\n
\r\n ));\r\n }\r\n function createTmsOptionsUI() {\r\n return TmsOptions?.map((itm, idx) => (\r\n <>\r\n \r\n
\r\n \r\n false}\r\n className=\"btn btn-icon btn-light btn-hover-danger btn-sm ml-2\"\r\n onClick={removeClickTmsOptions.bind(this, idx)}\r\n style={{\r\n borderRadius: \"50%\",\r\n height: \"20px\",\r\n width: \"20px\",\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n ({\r\n value: item.Id,\r\n label: item.Name,\r\n }))}\r\n value={TmsMode?.filter((a) => a.Id === itm.ModeId).map(\r\n (suggestion) => ({\r\n value: suggestion.Id,\r\n label: suggestion.Name,\r\n })\r\n )}\r\n onChange={handleChangeTmsOptionsMode.bind(this, idx)}\r\n />\r\n
\r\n
\r\n \r\n ({\r\n value: item.Id,\r\n label: item.Name,\r\n IsGroup: item.IsGroup,\r\n }))}\r\n value={UsersOtions?.filter((a) => a.Id === itm.UserId).map(\r\n (suggestion) => ({\r\n value: suggestion.Id,\r\n label: suggestion.Name,\r\n IsGroup: suggestion.IsGroup,\r\n })\r\n )}\r\n onChange={handleChangeTmsOptionsUserId.bind(this, idx)}\r\n />\r\n
\r\n
\r\n \r\n ({\r\n value: item.Name,\r\n label: item.Name,\r\n }))}\r\n value={tmsStatteOptions\r\n ?.filter((a) => String(a.Name) === String(itm.ShippingState))\r\n .map((suggestion) => ({\r\n value: suggestion.Name,\r\n label: suggestion.Name,\r\n }))}\r\n onChange={handleChangeTmsOptionsShippingState.bind(this, idx)}\r\n />\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n ({\r\n value: item.Name,\r\n label: item.Name,\r\n }))}\r\n value={tmsStatteOptions\r\n ?.filter((a) => String(a.Name) === String(itm.ReceivingState))\r\n .map((suggestion) => ({\r\n value: suggestion.Name,\r\n label: suggestion.Name,\r\n }))}\r\n onChange={handleChangeTmsOptionsReceivingState.bind(this, idx)}\r\n />\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n ));\r\n }\r\n const [value, setValue] = React.useState(0);\r\n const useStyles = makeStyles((theme) => ({\r\n container: {\r\n display: \"flex\",\r\n flexWrap: \"wrap\",\r\n },\r\n textField: {\r\n marginLeft: theme.spacing(1),\r\n marginRight: theme.spacing(1),\r\n marginBottom: \"2rem\",\r\n },\r\n dense: {\r\n marginTop: theme.spacing(2),\r\n },\r\n menu: {\r\n width: 200,\r\n },\r\n col4Check: {\r\n placeSelf: \"center\",\r\n paddingTop: \"1.5rem\",\r\n },\r\n borderBtmCst: {\r\n borderBottom: \"1px solid #a2a5a7 !important\",\r\n },\r\n scrollHeighRates: {\r\n overflow: \"scroll\",\r\n height: \"642px\",\r\n width: \"101%\",\r\n },\r\n }));\r\n // Validation schema\r\n const CustomerEditSchema2 = Yup.object().shape({\r\n Name: Yup.string()\r\n .min(3, \"Minimum 1 symbols\")\r\n .max(50, \"Maximum 50 symbols\")\r\n .required(\"Organisation Name is required\"),\r\n Address: Yup.string()\r\n .min(10, \"Minimum 10 symbols\")\r\n .required(\"Address is required\"),\r\n City: Yup.string().required(\"City is required\"),\r\n AddressTypeId: Yup.string().required(\"Address Type Option is required\"),\r\n CountryId: Yup.string().required(\"Country Option is required\"),\r\n });\r\n const RequiredHtml = () => {\r\n return (\r\n \r\n );\r\n };\r\n\r\n const catchError = [];\r\n\r\n function CustomerBillingAddressModal({ actionsLoading, customer }) {\r\n const [Country, setCountry] = useState(catchError);\r\n const [CountryObj, setCountryObj] = useState({\r\n value: \"\",\r\n label: \"Select\",\r\n });\r\n const [AddressTypes, setAddressTypes] = useState(catchError);\r\n const [Status, setStatus] = useState(false);\r\n const [AddressTypeValue, setAddressTypeValue] = useState();\r\n const [states, setStates] = useState([]);\r\n const [showStateProgress, setShowStateProgress] = useState(false);\r\n const [hideModal, setHideModal] = useState(false);\r\n const [countryIdFetch, setCountryValue] = useState({\r\n value: \"\",\r\n label: \"\",\r\n });\r\n const [title, setTitle] = useState(\"\");\r\n useEffect(() => {\r\n setCountry(window.Country || catchError);\r\n setAddressTypes(window.AddressTypes || catchError);\r\n }, []);\r\n useEffect(() => {\r\n if (customer.Id === undefined) {\r\n $(\"#newAddress\").hide();\r\n $(\"#organisationName\").removeClass(\"col-lg-6\");\r\n $(\"#organisationName\").addClass(\"col-lg-12\");\r\n }\r\n try {\r\n let _title = customer.Id ? \"\" : \"New Address\";\r\n if (customer.Id) {\r\n _title = `Edit Address '${customer.Id}'`;\r\n }\r\n setTitle(_title);\r\n } catch (err) {\r\n console.log(err);\r\n }\r\n }, customer);\r\n useEffect(() => {\r\n setStatus(customer.IsActive || false);\r\n var countryId = customer.CountryId || false;\r\n if (countryId) {\r\n var c = Country.find((x) => x.Id == countryId) || CountryObj;\r\n setCountryObj(\r\n {\r\n value: c.Id,\r\n label: c.Name,\r\n } || CountryObj\r\n );\r\n }\r\n if (\r\n customer.OrganizationId !== null ||\r\n customer.OrganizationId !== undefined\r\n ) {\r\n setAddressTypeValue({\r\n value: customer.OrganizationId,\r\n label: customer.OrganizationName,\r\n });\r\n }\r\n if (customer.Id != undefined) {\r\n $(\"#newAddress\").show();\r\n $(\"#organisationName\").removeClass(\"col-lg-12\");\r\n $(\"#organisationName\").addClass(\"col-lg-6\");\r\n $(\"#newAddressInpt\").attr(\"readonly\", true);\r\n $(\"#newAddressInpt\").css(\"background-color\", \"#F5F5F5\");\r\n $(\"#newAddressInpt\").attr(\"disabled\", true);\r\n }\r\n if (customer.Charges !== null && customer.Charges !== undefined) {\r\n let deepClone = JSON.parse(JSON.stringify(customer));\r\n deepClone.defaultForm = true;\r\n setusers(deepClone.Charges);\r\n }\r\n // if (customer.CountryId !== null || customer.CountryId !== undefined) {\r\n // handleCountryChange(customer.CountryId);\r\n // var c = Country.find((x) => x.Id == customer.CountryId);\r\n // if (c === undefined) {\r\n // setCountryValue({ value: \"US\", label: \"United States\" });\r\n // } else {\r\n // setCountryValue({ value: c?.Id, label: c?.Name });\r\n // }\r\n // }\r\n }, [customer]);\r\n //Multi Select Vendor\r\n function removeClick(i) {\r\n let user = [...users];\r\n user.splice(i, 1);\r\n setusers(user);\r\n }\r\n function addClick() {\r\n setusers((prevState) => [\r\n ...prevState,\r\n {\r\n id: 0,\r\n Name: \"\",\r\n Code: \"\",\r\n Rate: 0,\r\n DateStart: \"\",\r\n DateEnd: \"\",\r\n Description: \"\",\r\n IsQuickAdd: false,\r\n },\r\n ]);\r\n }\r\n const [users, setusers] = useState([\r\n {\r\n Id: 0,\r\n Name: \"\",\r\n Rate: 0,\r\n Code: \"\",\r\n DateStart: \"\",\r\n DateEnd: \"\",\r\n Description: \"\",\r\n IsQuickAdd: false,\r\n },\r\n ]);\r\n const classes = useStyles();\r\n function handleChangeName(i, event) {\r\n let values = [...users];\r\n values[i].Name = event.target.value;\r\n setusers(values);\r\n }\r\n function handleChangeCode(i, event) {\r\n let values = [...users];\r\n values[i].Code = event.target.value;\r\n setusers(values);\r\n }\r\n function handleChangeRate(i, event) {\r\n let values = [...users];\r\n values[i].Rate = event.target.value;\r\n setusers(values);\r\n }\r\n function handleChangeDescription(i, event) {\r\n let values = [...users];\r\n values[i].Description = event.target.value;\r\n setusers(values);\r\n }\r\n function handleChangeDateStart(i, event) {\r\n let values = [...users];\r\n values[i].DateStart = event.target.value;\r\n setusers(values);\r\n }\r\n function handleChangeDateEnd(i, event) {\r\n let values = [...users];\r\n values[i].DateEnd = event.target.value;\r\n setusers(values);\r\n }\r\n function handleChangeIsQuick(i, event) {\r\n let values = [...users];\r\n values[i].IsQuickAdd = event.target.checked;\r\n setusers(values);\r\n }\r\n function createUI() {\r\n return users.map((el, i) => (\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n Remove\r\n \r\n
\r\n
\r\n ));\r\n }\r\n const handleCountryChange = async (event) => {\r\n if (window.states === `api/companyinfo/getstates/${event}`) return;\r\n setShowStateProgress(true);\r\n setStates([]);\r\n try {\r\n if (event !== \"\" && event !== null) {\r\n const result = await axios.get(`api/companyinfo/getstates/${event}`);\r\n if (result.status == 200) {\r\n if (result.data.length > 0) {\r\n window.states = `api/companyinfo/getstates/${event}`;\r\n setStates(result?.data || []);\r\n } else\r\n Notification(\"warning\", \"This Country doesn't have any state.\");\r\n }\r\n }\r\n } catch (err) { }\r\n setShowStateProgress(false);\r\n };\r\n\r\n function StatusMessage(res) {\r\n var status = res.status;\r\n var statusText = res.statusText;\r\n if (status === 200) {\r\n Notification(\"success\", \"success\");\r\n return true;\r\n } else if (status === 400) {\r\n Notification(\"error\", statusText);\r\n return false;\r\n }\r\n }\r\n async function PutModel(someData, id) {\r\n return fetch(`${window.$apiurl}/address/${id}`, {\r\n method: \"put\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(someData),\r\n })\r\n .then(async (response) => {\r\n return response;\r\n })\r\n .then((res) => {\r\n fetchDataAsync();\r\n setBillingAddressValue({ value: someData.Id, label: someData.Name });\r\n return StatusMessage(res);\r\n })\r\n .catch((err) => {\r\n return StatusMessage(err);\r\n });\r\n }\r\n async function PostModel(someData) {\r\n return fetch(`${window.$apiurl}/address`, {\r\n method: \"post\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(someData),\r\n })\r\n .then(async (response) => {\r\n return response;\r\n })\r\n .then((res) => {\r\n fetchDataAsync();\r\n return StatusMessage(res);\r\n })\r\n .catch((err) => {\r\n return StatusMessage(err);\r\n });\r\n }\r\n return (\r\n <>\r\n {\r\n values.Charges = users;\r\n if (values.Id) {\r\n PutModel(values, values.id);\r\n } else {\r\n PostModel(values);\r\n }\r\n }}\r\n >\r\n {({ errors, touched, handleSubmit, setFieldValue }) => (\r\n <>\r\n \r\n \r\n \r\n {title}\r\n \r\n {\r\n setShowModalBilling(false);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n {actionsLoading && (\r\n
\r\n
\r\n
\r\n )}\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n {errors.Address && touched.Address ? (\r\n
\r\n {errors.Address}\r\n
\r\n ) : null}\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n {showStateProgress && (\r\n \r\n )}\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n {\r\n return { value: x?.Id, label: x?.Name };\r\n })}\r\n onChange={(newValue) => {\r\n setCountryValue(newValue);\r\n setFieldValue(\"CountryId\", newValue?.value);\r\n handleCountryChange(newValue?.value);\r\n }}\r\n />\r\n {errors.CountryId && touched.CountryId ? (\r\n
\r\n {errors.CountryId}\r\n
\r\n ) : null}\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n {errors.AddressTypeId && touched.AddressTypeId ? (\r\n
\r\n {errors.AddressTypeId}\r\n
\r\n ) : null}\r\n
\r\n
\r\n {\r\n setFieldValue(\"IsActive\", event.target.checked);\r\n setStatus(event.target.checked);\r\n }}\r\n />\r\n
\r\n
\r\n {/* Multi Select Vendor */}\r\n \r\n
\r\n
\r\n
Vendor Rates
\r\n
\r\n
\r\n
\r\n {createUI()}\r\n \r\n Add Rate\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n setShowModalBilling(false)}\r\n className=\"btn btn-light btn-elevate\"\r\n >\r\n Cancel\r\n \r\n <> \r\n {\r\n handleSubmit();\r\n setShowModalBilling(false);\r\n }}\r\n className=\"btn btn-primary btn-elevate\"\r\n >\r\n Save\r\n \r\n \r\n \r\n \r\n )}\r\n \r\n \r\n );\r\n }\r\n\r\n const [states, setStates] = useState([]);\r\n const [showStateProgress, setShowStateProgress] = useState(false);\r\n const [Country, setCountry] = useState(catchError);\r\n\r\n const handleCountryChange2 = async (event) => {\r\n setShowStateProgress(true);\r\n setStates([]);\r\n if (event !== \"\" && event !== null) {\r\n const result = await axios.get(`api/companyinfo/getstates/${event}`);\r\n if (result.status == 200) {\r\n if (result.data.length > 0) {\r\n const states = [];\r\n window.$StatesAddress = result.data;\r\n result.data.length > 0 &&\r\n result.data.map((item) => {\r\n states.push({ value: item.Id, label: item.Name });\r\n });\r\n setStates(states);\r\n } else {\r\n Notification(\"warning\", \"This Country doesn't have any state.\");\r\n }\r\n }\r\n }\r\n setShowStateProgress(false);\r\n };\r\n\r\n useEffect(() => {\r\n if (customer.Country) {\r\n handleCountryChange2(customer.Country);\r\n }\r\n }, [customer]);\r\n\r\n return (\r\n <>\r\n {/*Selected Remove PO */}\r\n \r\n {\r\n let deepClone = JSON.parse(JSON.stringify(values));\r\n deepClone.defaultForm = true;\r\n deepClone.Contacts = users;\r\n deepClone.Assignments = TmsOptions;\r\n //mapping Data Contacts\r\n let isEmpty;\r\n deepClone.Contacts.length > 0 &&\r\n deepClone.Contacts.map((item, index) => {\r\n if (\r\n item.FirstName === \"\" ||\r\n item.LastName === \"\" ||\r\n item.Email === \"\"\r\n ) {\r\n if (item.FirstName === \"\") {\r\n Notification(\r\n \"error\",\r\n `Contact ${index + 1} : First Name is Required`\r\n );\r\n }\r\n if (item.LastName === \"\") {\r\n Notification(\r\n \"error\",\r\n `Contact ${index + 1} : Last Name is Required`\r\n );\r\n }\r\n if (item.Email === \"\") {\r\n Notification(\r\n \"error\",\r\n `Contact ${index + 1} : Email is Required`\r\n );\r\n }\r\n isEmpty = true;\r\n }\r\n });\r\n if (isEmpty) {\r\n return false;\r\n } else {\r\n users.map((item) => {\r\n delete item.Category;\r\n });\r\n }\r\n\r\n if (hasDuplicateObjects(Services)) {\r\n Notification(\"error\", \"Duplicate Service At RDD transit days\")\r\n return;\r\n }\r\n deepClone.CustomerServiceLevels = Services;\r\n deepClone.Locations = LoacationsTransitDays;\r\n deepClone.WarehousesAccess = postWarehouseList;\r\n saveCustomer(deepClone);\r\n }}\r\n >\r\n {({ errors, touched, handleSubmit, setFieldValue, values }) => (\r\n <>\r\n \r\n \r\n \r\n Reason for Hold Customer\r\n {\r\n setModalConfirmationSelected(false);\r\n setFieldValue(\"IsOnHold\", false);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n {ReasonCode.length > 0 ? (\r\n
\r\n {\r\n if (e !== null) {\r\n setReasonCodeId(e.target.value);\r\n } else {\r\n setReasonCodeId(null);\r\n }\r\n }}\r\n >\r\n \r\n {ReasonCode?.map((item, index) => (\r\n \r\n ))}\r\n \r\n
\r\n ) : (\r\n \"\"\r\n )}\r\n\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n {\r\n setModalConfirmationSelected(false);\r\n setFieldValue(\"IsOnHold\", false);\r\n }}\r\n >\r\n No\r\n \r\n\r\n {\r\n if (\r\n document.getElementById(\"CancelNotes\").value === \"\" ||\r\n document.getElementById(\"CancelNotes\").value ===\r\n null ||\r\n document.getElementById(\"CancelNotes\").value ===\r\n undefined\r\n ) {\r\n Notification(\"error\", `Please Fill Note`);\r\n return;\r\n }\r\n if (ReasonCodeId === null) {\r\n Notification(\"error\", `Please Select Reason Code`);\r\n return;\r\n }\r\n var myHeaders = new Headers();\r\n myHeaders.append(\r\n \"Authorization\",\r\n `Bearer ${db.read().getState().Token}`\r\n );\r\n myHeaders.append(\"Content-Type\", \"application/json\");\r\n\r\n var raw = JSON.stringify({\r\n Reason: document.getElementById(\"CancelNotes\").value,\r\n DeleteReasonId: ReasonCodeId,\r\n });\r\n var requestOptions = {\r\n method: \"PUT\",\r\n headers: myHeaders,\r\n body: raw,\r\n redirect: \"follow\",\r\n };\r\n fetch(\r\n `${window.$apiurl}/Customers/Holding/${customer?.Id}`,\r\n requestOptions\r\n )\r\n .then((response) => response.text())\r\n .then((result) => {\r\n setModalConfirmationSelected(false);\r\n Notification(\r\n \"success\",\r\n `Update Customer successfully`\r\n );\r\n document.getElementById(\"ReLoadTableId\").click();\r\n })\r\n .catch((error) => console.log(\"error\", error));\r\n }}\r\n >\r\n Yes\r\n \r\n \r\n \r\n\r\n {actionsLoading && (\r\n
\r\n
\r\n
\r\n )}\r\n
\r\n \r\n \r\n
CUSTOMER BASICS
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n CUSTOMER INFORMATION\r\n
\r\n
\r\n
\r\n
\r\n {\r\n setisActive(e.target.value);\r\n setFieldValue(\"IsActive\", e.target.value);\r\n }}\r\n >\r\n }\r\n label=\"Activate\"\r\n />\r\n }\r\n label=\"Deactivate\"\r\n />\r\n \r\n
\r\n {customer?.Id !== undefined ? (\r\n
\r\n
\r\n \r\n \r\n
\r\n

\r\n Is On Hold\r\n

\r\n
\r\n
\r\n
\r\n ) : (\r\n \"\"\r\n )}\r\n
\r\n
\r\n {/* Warehouse Name */}\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n {/* Address1 */}\r\n\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n {/* Address1 */}\r\n\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n {/* Address1 */}\r\n
\r\n \r\n {\r\n return { value: x?.Id, label: x?.Name };\r\n }\r\n )?.find(\r\n (obj) => obj.value === values.Country\r\n ) || { value: \"\", label: \"Select\" }\r\n\r\n }\r\n options={Country.map((x) => {\r\n return { value: x?.Id, label: x?.Name };\r\n })}\r\n onChange={(newValue) => {\r\n setFieldValue(\"Country\", newValue?.value);\r\n handleCountryChange2(newValue?.value);\r\n }}\r\n />\r\n {\r\n \r\n }\r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n {/* Address1 */}\r\n
\r\n \r\n obj.label === values.State\r\n ) || { value: \"\", label: \"Select\" }\r\n\r\n }\r\n onChange={(newValue) => {\r\n setFieldValue(\"State\", newValue?.label);\r\n }}\r\n />\r\n {showStateProgress && }\r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
PRIMARY CONTACT
\r\n
\r\n
\r\n {/* Warehouse Name */}\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n PRIMARY WAREHOUSE / BILLING ADDRESS\r\n
\r\n
\r\n
\r\n {/* Warehouse Name */}\r\n
\r\n \r\n {\r\n if (newValue !== null) {\r\n setPrimaryWarehouseValue(newValue);\r\n } else {\r\n setPrimaryWarehouseValue({\r\n value: \"\",\r\n label: \"Select\",\r\n });\r\n }\r\n setFieldValue(\r\n \"PrimaryWarehouseId\",\r\n newValue?.value\r\n );\r\n }}\r\n options={warhousesList}\r\n name=\"PrimaryWarehouseId\"\r\n className=\"w-100 mr-2\"\r\n />\r\n
\r\n
\r\n \r\n {\r\n if (newValue !== null) {\r\n setBillingId(newValue?.value);\r\n setBillingAddressValue(newValue);\r\n } else {\r\n setBillingAddressValue({\r\n value: \"\",\r\n label: \"Select\",\r\n });\r\n setBillingId(0);\r\n setBillingAddressData(initCustomer);\r\n }\r\n setFieldValue(\r\n \"BillingAddressId\",\r\n newValue?.value\r\n );\r\n }}\r\n options={BillingAddress}\r\n name=\"BillingAddressId\"\r\n className=\"w-100 mr-2\"\r\n />\r\n
{\" \"}\r\n {billingId !== 0 && (\r\n
\r\n {\r\n setShowModalBilling(true);\r\n GetModelId(billingId);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n
\r\n )}\r\n {billingId === 0 && (\r\n
\r\n {\r\n setShowModalBilling(true);\r\n }}\r\n className=\"btn btn-light-success w-40 mt-md-8\"\r\n >\r\n {\" \"}\r\n \r\n
\r\n )}\r\n
\r\n
\r\n
\r\n
\r\n
WAREHOUSE ACCESS
\r\n
\r\n
\r\n
\r\n {\r\n {\r\n var post = [];\r\n if (e) {\r\n {\r\n e.map((item, index) => {\r\n post.push({\r\n Id: item.value,\r\n Name: item.label,\r\n });\r\n });\r\n }\r\n }\r\n setGetWarehouseList(e);\r\n setPostWarehouseList(post);\r\n }}\r\n />\r\n }\r\n {warhousesList.length === 0 && }\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
FUEL SURCHARGE
\r\n
\r\n
\r\n
\r\n \r\n {\r\n if (newValue !== null) {\r\n setMethod(newValue);\r\n } else {\r\n setMethod({\r\n value: \"\",\r\n label: \"Select\",\r\n });\r\n }\r\n setFieldValue(\r\n \"FuelSurchargeMethodId\",\r\n newValue?.value\r\n );\r\n }}\r\n options={[\r\n { label: \"Flat\", value: 3 },\r\n { label: \"Per miles\", value: 1 },\r\n { label: \"Percentage of total\", value: 2 },\r\n ]}\r\n name=\"FuelSurchargeMethodId\"\r\n className=\"w-100 mr-2\"\r\n />\r\n
\r\n\r\n
\r\n \r\n\r\n {\r\n if (newValue !== null) {\r\n setPrimaryZoneValue(newValue);\r\n } else {\r\n setPrimaryZoneValue({\r\n value: \"\",\r\n label: \"Select\",\r\n });\r\n }\r\n setFieldValue(\r\n \"PetroleumZoneId\",\r\n newValue?.value\r\n );\r\n }}\r\n options={[\r\n { label: \"West Coast\", value: 1 },\r\n { label: \"Gulf Coast\", value: 3 },\r\n { label: \"Rocky Mountain\", value: 2 },\r\n { label: \"Midwest\", value: 4 },\r\n { label: \"East Coast\", value: 5 },\r\n ]}\r\n name=\"PetroleumZoneId\"\r\n className=\"w-100 mr-2\"\r\n />\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n \r\n
RECEIPT OPTION
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
OPTIONS
\r\n
\r\n
\r\n {/* Warehouse Name */}\r\n
\r\n \r\n \r\n {locationOptionsList?.map((item, index) => (\r\n \r\n ))}\r\n \r\n
\r\n
\r\n \r\n \r\n {movableUnitOptionList?.map((item, index) => (\r\n \r\n ))}\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n {/* Address1 */}\r\n\r\n
\r\n \r\n \r\n {supplierOptionsList?.map((item, index) => (\r\n \r\n ))}\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n

\r\n When confirming a receipt, default to\r\n Auto-allocate to Open Orders.\r\n

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

\r\n When adding receipt line items, default to\r\n Split Movable Unit.\r\n

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

\r\n Enable Suggested Putaway.\r\n

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n MOBILE RECEIVING (SMARTSCAN)\r\n
\r\n
\r\n
\r\n {/* Warehouse Name */}\r\n
\r\n
\r\n \r\n \r\n
\r\n

\r\n Receive Against ASN\r\n

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

\r\n Use Blind Receipts\r\n

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

\r\n Default Quantity = 1\r\n

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n \r\n
Shipment Option
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n

\r\n
\r\n
\r\n Shipment Modes weight limit\r\n
\r\n
\r\n
\r\n {ShipmentModeList?.map((item, index) => (\r\n
\r\n el.ModeId === item.Id\r\n )?.WeightLimit\r\n }\r\n label={item.Name}\r\n onChange={(event) => {\r\n setFieldValue(\r\n `CustomerShipmentModes[${item.Id}].ModeId`,\r\n item.Id\r\n );\r\n setFieldValue(\r\n `CustomerShipmentModes[${item.Id}].WeightLimit`,\r\n event.target.value\r\n );\r\n }}\r\n />\r\n
\r\n ))}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n \r\n
Orders OPTION
\r\n
\r\n \r\n \r\n \r\n
\r\n
OPTIONS
\r\n
\r\n
\r\n {/* UPC Inbound Option */}\r\n
\r\n
\r\n \r\n \r\n
\r\n

\r\n Include UPC in Inbound Manifest\r\n

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

\r\n Close order when a file import updates\r\n tracking information.\r\n

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

\r\n Order Queue - Allocate orders manually.\r\n

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

\r\n SmartPack - Automatically populate track-by\r\n information\r\n

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

\r\n {\" \"}\r\n SmartParcel - Close order when a connection\r\n updates tracking information\r\n \r\n

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

\r\n Scanner Application - Reallocate at pick time\r\n

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

\r\n Require tracking number to close order\r\n

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

\r\n Allocate Full Movable Units\r\n

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n {fulfillmentInvoicesOptionsList?.map(\r\n (item, index) => (\r\n \r\n {item.Name}\r\n \r\n )\r\n )}\r\n \r\n {/* {errors.InvoicingOptionId && touched.InvoicingOptionId ? (\r\n
{errors.InvoicingOptionId}
\r\n ) : null} */}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
Advance Shipping Notice (ASN) Settings
\r\n
\r\n
\r\n \r\n \r\n
\r\n

\r\n require a SCAC.\r\n

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

\r\n Require a carrier.\r\n

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

\r\n Require a load number.\r\n

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

\r\n Require a Bill of Lading number.\r\n

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

\r\n Require a purchase order number.\r\n

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

\r\n Package count cannot equal '0'.\r\n

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

\r\n Require the order to be Closed.\r\n

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

\r\n Require at least one attached file.\r\n

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

\r\n Total volume and individual package volume\r\n must be greater than '0'\r\n

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

\r\n Total weight and individual package weight\r\n must be greater than '0'\r\n

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n \r\n
Invoice OPTION
\r\n
\r\n \r\n \r\n \r\n
\r\n
OPTIONS
\r\n
\r\n
\r\n
\r\n {\r\n const val = e.target.value === \"222\";\r\n const wList = window.InvoiceGrpOptions || [];\r\n setInvoiceGrpOptionId(val ? wList : []);\r\n setFieldValue(\r\n \"InboundInvoiceOptionId\",\r\n e.target.value\r\n );\r\n })}\r\n >\r\n \r\n {InvoiceOptionId?.map((item, index) => (\r\n \r\n ))}\r\n \r\n
\r\n\r\n
\r\n \r\n \r\n {InvoiceGrpOptionId?.map((item, index) => (\r\n \r\n ))}\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n {\r\n setFieldValue(\r\n \"IsPodRequired\",\r\n event.target.checked\r\n );\r\n }}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n \r\n
SYSTEM OPTION
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
SETTINGS
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n

\r\n When using the Location Identifier report,\r\n default to exclude locations with zero\r\n inventory\r\n

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

\r\n Enable custom fields.\r\n

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

\r\n Allow purchase orders.\r\n

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

\r\n Enable dashboard.\r\n

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
CARRIER ACCOUNT
\r\n
\r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n {/* Address1 */}\r\n
\r\n \r\n \r\n {carrierInfoOptionList?.map((item, index) => (\r\n \r\n ))}\r\n \r\n {/* {errors.CarrierInfoOptionId && touched.CarrierInfoOptionId ? (\r\n
{errors.CarrierInfoOptionId}
\r\n ) : null} */}\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n PER TRANSACTION OPTIONS\r\n
\r\n
\r\n
\r\n {/* Address1 */}\r\n
\r\n \r\n \r\n {defaultInvoicesOptionsList?.map(\r\n (item, index) => (\r\n \r\n )\r\n )}\r\n \r\n {/* {errors.CreateInvoicesOptionId && touched.CreateInvoicesOptionId ? (\r\n
{errors.CreateInvoicesOptionId}
\r\n ) : null} */}\r\n
\r\n\r\n
\r\n \r\n \r\n {\r\n \"If this field does not match your customer’s name\"\r\n }\r\n {\" exactly\"}\r\n {\r\n \" as it is recorded in QuickBooks, you will receive an error.Please note that both entries must also contain\"\r\n }\r\n {\" alphanumeric characters only.\"}\r\n

\r\n \r\n }\r\n >\r\n \r\n \r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n

\r\n Default invoice confirmation date to the\r\n transaction confirmation date.\r\n

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
EDI X12 940-945
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n PRE-WIRED CONNECTIONS\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
DOCUMENT SETTINGS
\r\n
\r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n

\r\n Use Transaction-based bill of lading number\r\n format rather than VICS standard.\r\n

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

\r\n Display the Vendor ID instead of the\r\n Retailer ID on bills of lading.\r\n

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n \r\n
Contact
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n Contact Information\r\n \r\n
\r\n
\r\n \r\n {createUI()}\r\n
\r\n
\r\n
\r\n
\r\n \r\n {\" \"}\r\n \r\n Add\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n\r\n \r\n \r\n
Tracking Options
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n {\r\n setFieldValue(\r\n \"POManage\",\r\n event.target.checked\r\n );\r\n }}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n \r\n
\r\n ETA Grid\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n

Default Service

\r\n {\r\n return {\r\n value: x.Id,\r\n label: x.Name,\r\n };\r\n })}\r\n onChange={(e) => {\r\n setFieldValue(\"DefaultServiceId\", e?.value);\r\n }}\r\n value={\r\n ServiceList?.filter(\r\n (x) => x.Id === values?.DefaultServiceId\r\n ).map((x) => {\r\n return {\r\n value: x.Id,\r\n label: x.Name,\r\n };\r\n })\r\n }\r\n />\r\n
\r\n
\r\n

Default Mode

\r\n {\r\n setFieldValue(\"DefaultModeId\", e?.value);\r\n }}\r\n options={ServiceList?.find(\r\n (x) => x.Id === values?.DefaultServiceId\r\n )?.Modes?.map((x) => {\r\n return {\r\n value: x.Id,\r\n label: x.Name,\r\n };\r\n })}\r\n\r\n value={\r\n ServiceList?.find(\r\n (x) => x.Id === values?.DefaultServiceId\r\n )?.Modes?.filter(\r\n (x) => x.Id === values?.DefaultModeId\r\n ).map((x) => {\r\n return {\r\n value: x.Id,\r\n label: x.Name,\r\n };\r\n })\r\n }\r\n />\r\n
\r\n
\r\n

Service Level

\r\n {\r\n setFieldValue(\"DefaultServiceLevelId\", e?.value);\r\n }}\r\n options={ServiceList?.find(\r\n (x) => x.Id === values?.DefaultServiceId\r\n )?.Modes?.find(\r\n (x) => x.Id === values?.DefaultModeId\r\n )?.ServiceLevels?.map((x) => {\r\n return {\r\n value: x.Id,\r\n label: x.Name,\r\n };\r\n })}\r\n value={\r\n ServiceList?.find(\r\n (x) => x.Id === values?.DefaultServiceId\r\n )?.Modes?.find(\r\n (x) => x.Id === values?.DefaultModeId\r\n )?.ServiceLevels?.filter(\r\n (x) => x.Id == values?.DefaultServiceLevelId\r\n ).map((x) => {\r\n return {\r\n value: x.Id,\r\n label: x.Name,\r\n };\r\n })\r\n }\r\n />\r\n
\r\n
\r\n
\r\n
\r\n Factor table\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Factor\r\n \r\n \r\n \r\n \r\n \r\n Discharge Date\r\n \r\n \r\n \r\n \r\n \r\n Release Date\r\n \r\n \r\n \r\n \r\n \r\n Appointment Date\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Picked Up Date\r\n \r\n \r\n \r\n \r\n \r\n Received Date\r\n \r\n \r\n \r\n \r\n \r\n Devan Date\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Hot Flag\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n RDD transit days\r\n
\r\n
\r\n {createServicesUI()}\r\n \r\n Add more\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n \r\n
Assignments
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n ({\r\n value: item.Id,\r\n label: item.Name,\r\n IsGroup: item.IsGroup,\r\n }))}\r\n value={UsersOtions?.filter(\r\n (a) => a.Id === values.CommercialAssigneeId\r\n ).map((suggestion) => ({\r\n value: suggestion.Id,\r\n label: suggestion.Name,\r\n }))}\r\n onChange={(e) => {\r\n setFieldValue(\r\n \"CommercialAssigneeId\",\r\n e !== null ? e.value : null\r\n );\r\n setFieldValue(\r\n \"CommercialAssigneeIsGroup\",\r\n e !== null ? e.IsGroup : null\r\n );\r\n }}\r\n />\r\n
\r\n
\r\n \r\n ({\r\n value: item.Id,\r\n label: item.Name,\r\n IsGroup: item.IsGroup,\r\n }))}\r\n value={UsersOtions?.filter(\r\n (a) => a.Id === values.CommercialOperationId\r\n ).map((suggestion) => ({\r\n value: suggestion.Id,\r\n label: suggestion.Name,\r\n }))}\r\n onChange={(e) => {\r\n setFieldValue(\r\n \"CommercialOperationId\",\r\n e === null ? null : e.value\r\n );\r\n setFieldValue(\r\n \"CommercialOperationIsGroup\",\r\n e === null ? null : e.IsGroup\r\n );\r\n }}\r\n />\r\n
\r\n
\r\n \r\n ({\r\n value: item.Id,\r\n label: item.Name,\r\n IsGroup: item.IsGroup,\r\n }))}\r\n value={UsersOtions?.filter(\r\n (a) => a.Id === values.CapacityOperationId\r\n ).map((suggestion) => ({\r\n value: suggestion.Id,\r\n label: suggestion.Name,\r\n }))}\r\n onChange={(e) => {\r\n setFieldValue(\r\n \"CapacityOperationId\",\r\n e !== null ? e.value : null\r\n );\r\n setFieldValue(\r\n \"CapacityOperationIsGroup\",\r\n e !== null ? e.IsGroup : null\r\n );\r\n }}\r\n />\r\n
\r\n
\r\n \r\n ({\r\n value: item.Id,\r\n label: item.Name,\r\n IsGroup: item.IsGroup,\r\n }))}\r\n value={UsersOtions?.filter(\r\n (a) => a.Id === values.CapacityAssigneeId\r\n ).map((suggestion) => ({\r\n value: suggestion.Id,\r\n label: suggestion.Name,\r\n }))}\r\n onChange={(e) => {\r\n setFieldValue(\r\n \"CapacityAssigneeId\",\r\n e !== null ? e.value : null\r\n );\r\n setFieldValue(\r\n \"CapacityAssigneeIsGroup\",\r\n e !== null ? e.IsGroup : null\r\n );\r\n }}\r\n />\r\n
\r\n
\r\n
\r\n \r\n Add New Capacity Assignment\r\n \r\n
\r\n {createTmsOptionsUI()}\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
Transit days by location
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n Loacations Transit days\r\n
\r\n
\r\n {createLoacationsTransitDaysUI()}\r\n \r\n Add more\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n Cancel\r\n \r\n <> \r\n handleSubmit()}\r\n className=\"btn btn-primary btn-elevate\"\r\n >\r\n Save\r\n \r\n \r\n \r\n )}\r\n \r\n
\r\n \r\n \r\n );\r\n}\r\n","export const CustomerStatusCssClasses = [\"danger\", \"success\"];\r\nexport const CustomerStatusTitles = [\"Inactive\", \"Active\"];\r\nexport const CustomerTypeCssClasses = [\"success\", \"primary\", \"\"];\r\nexport const CustomerTypeTitles = [\"Business\", \"Individual\", \"\"];\r\nexport const defaultSorted = [{ dataField: \"id\", order: \"desc\" }];\r\nexport const sizePerPageList = [\r\n { text: \"3\", value: 3 },\r\n { text: \"5\", value: 5 },\r\n { text: \"10\", value: 10 }\r\n];\r\nexport const initialFilter = {\r\n filter: {\r\n CompanyName: \"\",\r\n ContactPhone: \"\",\r\n IsOnHold:false\r\n },\r\n sortOrder: \"asc\", // asc||desc\r\n sortField: \"id\",\r\n pageNumber: 1,\r\n pageSize: 10\r\n};\r\n","import React, { createContext, useContext, useState, useCallback } from \"react\";\r\nimport { isEqual, isFunction } from \"lodash\";\r\nimport { initialFilter } from \"./CustomersUIHelpers\";\r\n\r\nconst CustomersUIContext = createContext();\r\n\r\nexport function useCustomersUIContext() {\r\n return useContext(CustomersUIContext);\r\n}\r\n\r\nexport const CustomersUIConsumer = CustomersUIContext.Consumer;\r\n\r\nexport function CustomersUIProvider({ customersUIEvents, children }) {\r\n const [queryParams, setQueryParamsBase] = useState(initialFilter);\r\n const [ids, setIds] = useState([]);\r\n const setQueryParams = useCallback(nextQueryParams => {\r\n setQueryParamsBase(prevQueryParams => {\r\n if (isFunction(nextQueryParams)) {\r\n nextQueryParams = nextQueryParams(prevQueryParams);\r\n }\r\n\r\n if (isEqual(prevQueryParams, nextQueryParams)) {\r\n return prevQueryParams;\r\n }\r\n\r\n return nextQueryParams;\r\n });\r\n }, []);\r\n\r\n const initCustomer = {\r\n id: undefined,\r\n Country: \"\",\r\n CompanyName: \"\",\r\n PhoneNumber: \"\",\r\n ExternalId: \"\",\r\n Fax: \"\",\r\n Website: \"\",\r\n Email: \"\",\r\n State: \"\",\r\n Address1: \"\",\r\n Address2: \"\",\r\n City: \"\",\r\n PostalCode: \"\",\r\n ContactName: \"\",\r\n ContactPhone: \"\",\r\n ContactEmail: \"\",\r\n LocationOptionId: 38,\r\n MovableUnitOptionId: 44,\r\n SupplierOptionId: 49,\r\n InvoicingOptionId: 54,\r\n CarrierInfoOptionId: 57,\r\n CreateInvoicesOptionId: 61,\r\n FuelSurchargePercentage: 0,\r\n TurnTimes: 3,\r\n VicsBillLadingId: \"\",\r\n UspNumber: \"\",\r\n fedExNumber: \"\",\r\n CarrierPostalCode: \"\",\r\n AccountingName: \"\",\r\n InterchangeId: \"\",\r\n IdQualifier: \"\",\r\n EwmsInterchangeId: \"\",\r\n LowCube:\"85\",\r\n EwmsIdQualifier: \"\",\r\n SpsTradingPartnerId: \"\",\r\n ManufacturingId: \"\",\r\n AutoAllocate: false,\r\n SplitMovableUnit: false,\r\n SuggestedPutWay: false,\r\n ReceiveAgaintAsn: false,\r\n UseBlindReceipt: false,\r\n DefaultQuantity: false,\r\n FileImportTracking: false,\r\n AllocateOrderManually: false,\r\n AutomaticallyTrackBy: false,\r\n RequireScac: false,\r\n ConnectionUpdatesTracking: false,\r\n RequireOrderClosed: false,\r\n ScannerApplication: false,\r\n RequireTrackingNumber: false,\r\n FullMovableUnits: false,\r\n LocationIdentifierReport: false,\r\n EnableCustomFields: false,\r\n AllowPurchaseOrder: false,\r\n EnableDashboard: false,\r\n InvoiceConfirmation: false,\r\n UseTransactionBillNumber: false,\r\n DisplayVendorId: false,\r\n InboundInvoiceOptionId:null,\r\n InboundInvoiceGrpOptionId:null,\r\n NetTermId:null,\r\n IsActive: true,\r\n RequireCarrier: false,\r\n RequireLoadNumber: false,\r\n RequireLadingNumber: false,\r\n RequirePurchaseOrder: false,\r\n PackageCount: false,\r\n OneFileAtLeast: false,\r\n TotalPackageVolume: false,\r\n TotalPackageWeight: false,\r\n WarehousesAccess: [],\r\n CustomerShipmentModes: [],\r\n CustomerServiceLevels: [],\r\n Contacts: [],\r\n Status: 0,\r\n WeightLimit: null,\r\n Sales:\"\",\r\n CreditLimit : 0,\r\n Balance : 0,\r\n LineHaulDefaultPercentage : 0,\r\n FuelPercentage : 0,\r\n AvgDaysToRelease : 0,\r\n AvgDaysToPickupOn : 0,\r\n AvgDaysToDevan : 0,\r\n AvgDaysToPickup : 0,\r\n AvgDaysToReleaseHot : 0,\r\n AvgDaysToPickupOnHot : 0,\r\n AvgDaysToDevanHot : 0,\r\n AvgDaysToPickupHot : 0,\r\n IsOnHold:false,\r\n AvgDaysToHotFlag:0,\r\n AvgDaysToReceived:0,\r\n AvgDaysToAppointment:0,\r\n AvgDaysToDischarge:0,\r\n DefaultModeId : 0,\r\n DefaultServiceId : 0,\r\n DefaultServiceLevelId : 0,\r\n };\r\n\r\n const value = {\r\n queryParams,\r\n setQueryParamsBase,\r\n ids,\r\n setIds,\r\n setQueryParams,\r\n initCustomer,\r\n newCustomerButtonClick: customersUIEvents.newCustomerButtonClick,\r\n openEditCustomerDialog: customersUIEvents.openEditCustomerDialog,\r\n openDeleteCustomerDialog: customersUIEvents.openDeleteCustomerDialog,\r\n openDeleteCustomersDialog: customersUIEvents.openDeleteCustomersDialog,\r\n openFetchCustomersDialog: customersUIEvents.openFetchCustomersDialog,\r\n openUpdateCustomersStatusDialog: customersUIEvents.openUpdateCustomersStatusDialog,\r\n openDetailsCustomerDialog: customersUIEvents.openDetailsCustomerDialog\r\n };\r\n\r\n return {children};\r\n}","import React, { useEffect, useMemo } from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { shallowEqual, useDispatch, useSelector } from \"react-redux\";\r\nimport * as actions from \"../../../_redux/ManageCustomer/customersActions\";\r\nimport { CustomerEditDialogHeader } from \"./CustomerEditDialogHeader\";\r\nimport { CustomerEditForm } from \"./CustomerEditForm\";\r\nimport { useCustomersUIContext } from \"../CustomersUIContext\";\r\nimport { Notification } from \"../../../../Notification\";\r\n\r\nexport function CustomerEditDialog({ id, show, onHide }) {\r\n // Customers UI Context\r\n const customersUIContext = useCustomersUIContext();\r\n \r\n const customersUIProps = useMemo(() => {\r\n return {\r\n initCustomer: customersUIContext.initCustomer,\r\n };\r\n }, [customersUIContext]);\r\n\r\n // Customers Redux state\r\n const dispatch = useDispatch();\r\n const { actionsLoading, customerForEdit } = useSelector(\r\n (state) => ({\r\n actionsLoading: state.customers.actionsLoading,\r\n customerForEdit: state.customers.customerForEdit,\r\n }),\r\n shallowEqual\r\n );\r\n\r\n useEffect(() => {\r\n // server call for getting Customer by id\r\n dispatch(actions.fetchCustomer(id));\r\n }, [id, dispatch]);\r\n\r\n // server request for saving customer\r\n const saveCustomer = (customer) => {\r\n if (!id) {\r\n // server request for creating customer\r\n dispatch(actions.createCustomer(customer)).then(() => {\r\n if (window.$ManageCustomerPost === 200) {\r\n Notification(\"success\", \"Customer added successfully\");\r\n onHide();\r\n document.getElementById(\"ReLoadTableId\").click();\r\n } else {\r\n Notification(\"error\", window.$ManageCustomerPostMessage);\r\n }\r\n });\r\n } else {\r\n // server request for updating customer\r\n dispatch(actions.updateCustomer(customer)).then(() => {\r\n if (window.$statusPut === 200) {\r\n console.log(customer);\r\n Notification(\"success\", \"Customer has been updated successfully\");\r\n onHide();\r\n document.getElementById(\"ReLoadTableId\").click();\r\n } else {\r\n Notification(\"error\", \"Error occured !\");\r\n }\r\n });\r\n }\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n}\r\n","import React, { useEffect, useMemo } from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { shallowEqual, useDispatch, useSelector } from \"react-redux\";\r\nimport {ModalProgressBar} from \"../../../../../../_metronic/_partials/controls\";\r\nimport * as actions from \"../../../_redux/ManageCustomer/customersActions\";\r\nimport {useCustomersUIContext} from \"../CustomersUIContext\";\r\n\r\nexport function CustomerDeleteDialog({ id, show, onHide }) {\r\n // Customers UI Context\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n setIds: customersUIContext.setIds,\r\n queryParams: customersUIContext.queryParams\r\n };\r\n }, [customersUIContext]);\r\n\r\n // Customers Redux state\r\n const dispatch = useDispatch();\r\n const { isLoading } = useSelector(\r\n (state) => ({ isLoading: state.customers.actionsLoading }),\r\n shallowEqual\r\n );\r\n\r\n // if !id we should close modal\r\n useEffect(() => {\r\n if (!id) {\r\n onHide();\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [id]);\r\n\r\n // looking for loading/dispatch\r\n useEffect(() => {}, [isLoading, dispatch]);\r\n\r\n const deleteCustomer = () => {\r\n // server request for deleting customer by id\r\n dispatch(actions.deleteCustomer(id)).then(() => {\r\n // refresh list after deletion\r\n dispatch(actions.fetchCustomers(customersUIProps.queryParams));\r\n // clear selections list\r\n customersUIProps.setIds([]);\r\n // closing delete modal\r\n onHide();\r\n });\r\n };\r\n\r\n return (\r\n \r\n {/*begin::Loading*/}\r\n {isLoading && }\r\n {/*end::Loading*/}\r\n \r\n \r\n Customer Delete\r\n \r\n \r\n \r\n {!isLoading && (\r\n Are you sure to permanently delete this customer?\r\n )}\r\n {isLoading && Customer is deleting...}\r\n \r\n \r\n
\r\n \r\n Cancel\r\n \r\n <> \r\n \r\n Customer Delete\r\n \r\n
\r\n
\r\n \r\n );\r\n}\r\n","import React, { useEffect, useMemo } from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { shallowEqual, useDispatch, useSelector } from \"react-redux\";\r\nimport * as actions from \"../../../_redux/customers/customersActions\";\r\nimport { useCustomersUIContext } from \"../CustomersUIContext\";\r\nimport {ModalProgressBar} from \"../../../../../../_metronic/_partials/controls\";\r\n\r\nexport function CustomersDeleteDialog({ show, onHide }) {\r\n // Customers UI Context\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n ids: customersUIContext.ids,\r\n setIds: customersUIContext.setIds,\r\n queryParams: customersUIContext.queryParams,\r\n };\r\n }, [customersUIContext]);\r\n\r\n // Customers Redux state\r\n const dispatch = useDispatch();\r\n const { isLoading } = useSelector(\r\n (state) => ({ isLoading: state.customers.actionsLoading }),\r\n shallowEqual\r\n );\r\n\r\n // if customers weren't selected we should close modal\r\n useEffect(() => {\r\n if (!customersUIProps.ids || customersUIProps.ids.length === 0) {\r\n onHide();\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [customersUIProps.ids]);\r\n\r\n // looking for loading/dispatch\r\n useEffect(() => {}, [isLoading, dispatch]);\r\n\r\n const deleteCustomers = () => {\r\n // server request for deleting customer by selected ids\r\n dispatch(actions.deleteCustomers(customersUIProps.ids)).then(() => {\r\n // refresh list after deletion\r\n dispatch(actions.fetchCustomers(customersUIProps.queryParams)).then(\r\n () => {\r\n // clear selections list\r\n customersUIProps.setIds([]);\r\n // closing delete modal\r\n onHide();\r\n }\r\n );\r\n });\r\n };\r\n\r\n return (\r\n \r\n {/*begin::Loading*/}\r\n {isLoading && }\r\n {/*end::Loading*/}\r\n \r\n \r\n Customers Delete\r\n \r\n \r\n \r\n {!isLoading && (\r\n Are you sure to permanently delete selected customers?\r\n )}\r\n {isLoading && Customer are deleting...}\r\n \r\n \r\n
\r\n \r\n Cancel\r\n \r\n <> \r\n \r\n Delete\r\n \r\n
\r\n
\r\n \r\n );\r\n}\r\n","import React, { useEffect, useMemo } from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { shallowEqual, useSelector } from \"react-redux\";\r\nimport { CustomerStatusCssClasses } from \"../CustomersUIHelpers\";\r\nimport { useCustomersUIContext } from \"../CustomersUIContext\";\r\n\r\nconst selectedCustomers = (entities, ids) => {\r\n const _customers = [];\r\n ids.forEach((id) => {\r\n const customer = entities.find((el) => el.id === id);\r\n if (customer) {\r\n _customers.push(customer);\r\n }\r\n });\r\n return _customers;\r\n};\r\n\r\nexport function CustomersFetchDialog({ show, onHide }) {\r\n // Customers UI Context\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n ids: customersUIContext.ids,\r\n };\r\n }, [customersUIContext]);\r\n\r\n // Customers Redux state\r\n const { customers } = useSelector(\r\n (state) => ({\r\n customers: selectedCustomers(\r\n state.customers.entities,\r\n customersUIProps.ids\r\n ),\r\n }),\r\n shallowEqual\r\n );\r\n\r\n // if customers weren't selected we should close modal\r\n useEffect(() => {\r\n if (!customersUIProps.ids || customersUIProps.ids.length === 0) {\r\n onHide();\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [customersUIProps.ids]);\r\n\r\n return (\r\n \r\n \r\n \r\n Fetch selected elements\r\n \r\n \r\n \r\n
\r\n {customers.map((customer) => (\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n ID: {customer.id}\r\n \r\n {customer.lastName}, {customer.firstName} \r\n
\r\n
\r\n ))}\r\n
\r\n \r\n \r\n
\r\n \r\n Cancel\r\n \r\n <> \r\n \r\n Ok\r\n \r\n
\r\n
\r\n \r\n );\r\n}\r\n","import React, { useEffect, useState, useMemo } from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { shallowEqual, useDispatch, useSelector } from \"react-redux\";\r\nimport { CustomerStatusCssClasses } from \"../CustomersUIHelpers\";\r\nimport * as actions from \"../../../_redux/customers/customersActions\";\r\nimport { useCustomersUIContext } from \"../CustomersUIContext\";\r\n\r\nconst selectedCustomers = (entities, ids) => {\r\n const _customers = [];\r\n ids.forEach((id) => {\r\n const customer = entities.find((el) => el.id === id);\r\n if (customer) {\r\n _customers.push(customer);\r\n }\r\n });\r\n return _customers;\r\n};\r\n\r\nexport function CustomersUpdateStateDialog({ show, onHide }) {\r\n // Customers UI Context\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n ids: customersUIContext.ids,\r\n setIds: customersUIContext.setIds,\r\n queryParams: customersUIContext.queryParams,\r\n };\r\n }, [customersUIContext]);\r\n\r\n // Customers Redux state\r\n const { customers, isLoading } = useSelector(\r\n (state) => ({\r\n customers: selectedCustomers(\r\n state.customers.entities,\r\n customersUIProps.ids\r\n ),\r\n isLoading: state.customers.actionsLoading,\r\n }),\r\n shallowEqual\r\n );\r\n\r\n // if !id we should close modal\r\n useEffect(() => {\r\n if (!customersUIProps.ids || customersUIProps.ids.length === 0) {\r\n onHide();\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [customersUIProps.ids]);\r\n\r\n const [status, setStatus] = useState(0);\r\n\r\n const dispatch = useDispatch();\r\n const updateStatus = () => {\r\n // server request for update customers status by selected ids\r\n dispatch(actions.updateCustomersStatus(customersUIProps.ids, status)).then(\r\n () => {\r\n // refresh list after deletion\r\n dispatch(actions.fetchCustomers(customersUIProps.queryParams)).then(\r\n () => {\r\n // clear selections list\r\n customersUIProps.setIds([]);\r\n // closing delete modal\r\n onHide();\r\n }\r\n );\r\n }\r\n );\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n Status has been updated for selected customers\r\n \r\n \r\n \r\n {/*begin::Loading*/}\r\n {isLoading && (\r\n
\r\n
\r\n
\r\n )}\r\n {/*end::Loading*/}\r\n\r\n
\r\n {customers.map((customer) => (\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n ID: {customer.id}\r\n \r\n \r\n {customer.lastName}, {customer.firstName}\r\n \r\n
\r\n
\r\n ))}\r\n
\r\n \r\n \r\n
\r\n setStatus(+e.target.value)}\r\n >\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n Cancel\r\n \r\n \r\n Update Status\r\n \r\n
\r\n
\r\n \r\n );\r\n}\r\n","import React, { useMemo, useState } from \"react\";\r\nimport { Formik } from \"formik\";\r\nimport { isEqual } from \"lodash\";\r\nimport { useCustomersUIContext } from \"../CustomersUIContext\";\r\nimport Menu from \"@material-ui/core/Menu\";\r\nimport MenuItem from \"@material-ui/core/MenuItem\";\r\nimport ListItemIcon from \"@material-ui/core/ListItemIcon\";\r\nimport ListItemText from \"@material-ui/core/ListItemText\";\r\nimport { withStyles } from \"@material-ui/core/styles\";\r\nimport { makeStyles } from \"@material-ui/core/styles\";\r\nimport Icon from \"@material-ui/core/Icon\";\r\nimport Button from \"@material-ui/core/Button\";\r\nimport {\r\n Form,\r\n Modal,\r\n Col,\r\n Tabs,\r\n Tab,\r\n Table,\r\n Spinner,\r\n OverlayTrigger,\r\n Tooltip,\r\n ButtonToolbar,\r\n} from \"react-bootstrap\";\r\nimport { Export } from \"../../../../../../_metronic/_helpers/ATHelpers\";\r\nimport axios from \"axios\";\r\n\r\n//Export Filter\r\n\r\nconst StyledMenu = withStyles({\r\n paper: {\r\n border: \"1px solid #d3d4d5\",\r\n },\r\n})((props) => (\r\n \r\n));\r\nconst StyledMenuItem = withStyles((theme) => ({\r\n root: {\r\n \"&:focus\": {\r\n backgroundColor: theme.palette.primary.main,\r\n \"& .MuiListItemIcon-root, & .MuiListItemText-primary\": {\r\n color: theme.palette.common.white,\r\n },\r\n },\r\n },\r\n}))(MenuItem);\r\nconst useStyles = makeStyles((theme) => ({\r\n button: {\r\n margin: theme.spacing(1),\r\n },\r\n leftIcon: {\r\n marginRight: theme.spacing(1),\r\n },\r\n rightIcon: {\r\n marginLeft: theme.spacing(1),\r\n },\r\n iconSmall: {\r\n fontSize: 20,\r\n },\r\n}));\r\nconst prepareFilter = (queryParams, values) => {\r\n const {\r\n ReLoadTable,\r\n status,\r\n CompanyName,\r\n warehouse,\r\n searchText,\r\n IsOnHold,\r\n } = values;\r\n const newQueryParams = { ...queryParams };\r\n const filter = {};\r\n filter.IsActive = status !== \"\" ? status : undefined;\r\n filter.CompanyName = CompanyName;\r\n filter.ReLoadTable = ReLoadTable;\r\n filter.PrimaryWarehouse = warehouse;\r\n filter.id = searchText;\r\n filter.IsOnHold = IsOnHold;\r\n newQueryParams.filter = filter;\r\n return newQueryParams;\r\n};\r\n\r\nexport function CustomersFilter({ listLoading }) {\r\n // Customers UI Context\r\n const [QueryFilter, setQueryFilter] = useState(\"\");\r\n\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n queryParams: customersUIContext.queryParams,\r\n setQueryParams: customersUIContext.setQueryParams,\r\n };\r\n }, [customersUIContext]);\r\n\r\n // queryParams, setQueryParams,\r\n const applyFilter = (values) => {\r\n const newQueryParams = prepareFilter(customersUIProps.queryParams, values);\r\n if (!isEqual(newQueryParams, customersUIProps.queryParams)) {\r\n newQueryParams.pageNumber = 1;\r\n // update list by queryParams\r\n setQueryFilter(newQueryParams);\r\n\r\n customersUIProps.setQueryParams(newQueryParams);\r\n }\r\n };\r\n\r\n var url_string = window.location.href; //window.location.href\r\n var url = new URL(url_string);\r\n var type = url.searchParams.get(\"Id\");\r\n if (type !== null) {\r\n window.$GlobalSearchCustomerid = type;\r\n }\r\n const useStyles = makeStyles((theme) => ({\r\n container: {\r\n display: \"flex\",\r\n flexWrap: \"wrap\",\r\n },\r\n textField: {\r\n marginLeft: theme.spacing(1),\r\n marginRight: theme.spacing(1),\r\n width: 200,\r\n },\r\n }));\r\n const classes = useStyles();\r\n const [anchorEl, setAnchorEl] = React.useState(null);\r\n function handleClick(event) {\r\n setAnchorEl(event.currentTarget);\r\n }\r\n function handleClose() {\r\n setAnchorEl(null);\r\n }\r\n\r\n async function fetchMyAPI2(type, entityName) {\r\n var filter = QueryFilter;\r\n if (filter) {\r\n filter.pageSize = 100000;\r\n const result = await axios.post(`api/ManageCustomer/filter`, {\r\n queryParams: filter,\r\n });\r\n Export(result.data.entities, type, entityName);\r\n } else {\r\n const result = await axios.post(`api/ManageCustomer/filter`, {\r\n queryParams: {\r\n filter: {\r\n IsActive: \"\",\r\n CompanyName: \"\",\r\n ReLoadTable: \"\",\r\n PrimaryWarehouse: \"\",\r\n },\r\n sortOrder: \"asc\",\r\n sortField: \"id\",\r\n pageNumber: 1,\r\n pageSize: 100000,\r\n },\r\n });\r\n Export(result.data.entities, type, entityName);\r\n }\r\n }\r\n\r\n return (\r\n <>\r\n {\r\n applyFilter(values);\r\n }}\r\n >\r\n {({\r\n values,\r\n handleSubmit,\r\n handleBlur,\r\n handleChange,\r\n setFieldValue,\r\n }) => (\r\n
\r\n {\r\n if (e.target.value == \"0\")\r\n document.getElementById(\"ReLoadTableId\").value = 1;\r\n else document.getElementById(\"ReLoadTableId\").value = 0;\r\n setFieldValue(\"ReLoadTable\", e.target.value);\r\n handleSubmit();\r\n }}\r\n />\r\n
\r\n
\r\n \r\n \r\n Export as\r\n save\r\n \r\n \r\n {\r\n fetchMyAPI2(\"excel\", \"Customers\");\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n {\r\n fetchMyAPI2(\"csv\", \"Customers\");\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n {\r\n fetchMyAPI2(\"json\", \"Customers\");\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n {/* */}\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n {\r\n setFieldValue(\"CompanyName\", e.target.value);\r\n handleSubmit();\r\n }}\r\n />\r\n
\r\n \r\n Search by Customer Name\r\n \r\n
\r\n
\r\n
\r\n {\r\n setFieldValue(\"warehouse\", e.target.value);\r\n handleSubmit();\r\n }}\r\n />\r\n
\r\n \r\n Search by Primary Warehouse\r\n \r\n
\r\n
\r\n
\r\n
\r\n {\r\n setFieldValue(\"status\", e.target.value);\r\n handleSubmit();\r\n }}\r\n onBlur={handleBlur}\r\n value={values.status}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n Filter by Status\r\n \r\n
\r\n
\r\n {\r\n setFieldValue(\"searchText\", e.target.value);\r\n handleSubmit();\r\n }}\r\n />\r\n \r\n Search by ID\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n

\r\n Is On Hold\r\n

\r\n
\r\n
\r\n
\r\n
\r\n \r\n )}\r\n \r\n \r\n );\r\n}\r\n","import React from \"react\";\r\n\r\nexport function StatusColumnFormatter(cellContent, row) {\r\n const CustomerStatusCssClasses = [\"success\", \"danger\"];\r\n const CustomerStatusTitles = [\"Active\", \"Inactive\"];\r\n\r\n var isActive = row.IsActive === true ? 0 : 1;\r\n\r\n const getLabelCssClasses = () => {\r\n return `label label-lg label-light-${CustomerStatusCssClasses[isActive]} label-inline mr-3`;\r\n };\r\n return (\r\n <>\r\n \r\n {CustomerStatusTitles[isActive]}\r\n \r\n {row.IsOnHold === true ? (\r\n \r\n is On Hold\r\n \r\n ) : (\r\n \"\"\r\n )}\r\n \r\n );\r\n}\r\n","// please be familiar with react-bootstrap-table-next column formaters\r\n// https://react-bootstrap-table.github.io/react-bootstrap-table2/storybook/index.html?selectedKind=Work%20on%20Columns&selectedStory=Column%20Formatter&full=0&addons=1&stories=1&panelRight=0&addonPanel=storybook%2Factions%2Factions-panel\r\n/* eslint-disable no-script-url,jsx-a11y/anchor-is-valid */\r\nimport React from \"react\";\r\nimport SVG from \"react-inlinesvg\";\r\nimport { toAbsoluteUrl } from \"../../../../../../../_metronic/_helpers\";\r\nimport { OverlayTrigger, Tooltip } from \"react-bootstrap\";\r\n\r\n\r\n\r\n\r\nvar isexecut= false;\r\nexport function ActionsColumnFormatter(\r\n cellContent,\r\n row,\r\n rowIndex,\r\n { openEditCustomerDialog, openDeleteCustomerDialog,openDetailsCustomerDialog }\r\n) {\r\n if(window.$GlobalSearchCustomerid!==null && window.$GlobalSearchCustomerid!==undefined && !isexecut){\r\n isexecut=true;\r\n setTimeout(() => {\r\n openEditCustomerDialog(window.$GlobalSearchCustomerid);\r\n }, 1000); \r\n }\r\n\r\n\r\n return (\r\n
\r\n Customer Activities}\r\n >\r\n openDetailsCustomerDialog(row.id)}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n <> \r\n Edit Customer}\r\n >\r\n openEditCustomerDialog(row.id)}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n <> \r\n Delete Customer}\r\n >\r\n openDeleteCustomerDialog(row.id)}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n );\r\n}\r\n","// React bootstrap table next =>\r\n// DOCS: https://react-bootstrap-table.github.io/react-bootstrap-table2/docs/\r\n// STORYBOOK: https://react-bootstrap-table.github.io/react-bootstrap-table2/storybook/index.html\r\nimport React, { useEffect, useMemo } from \"react\";\r\nimport BootstrapTable from \"react-bootstrap-table-next\";\r\nimport paginationFactory, {\r\n PaginationProvider,\r\n} from \"react-bootstrap-table2-paginator\";\r\nimport { shallowEqual, useDispatch, useSelector } from \"react-redux\";\r\nimport * as actions from \"../../../_redux/ManageCustomer/customersActions\";\r\nimport {\r\n getSelectRow,\r\n getHandlerTableChange,\r\n NoRecordsFoundMessage,\r\n PleaseWaitMessage,\r\n sortCaret,\r\n headerSortingClasses,\r\n} from \"../../../../../../_metronic/_helpers\";\r\nimport * as uiHelpers from \"../CustomersUIHelpers\";\r\nimport * as columnFormatters from \"./column-formatters\";\r\nimport { Pagination } from \"../../../../../../_metronic/_partials/controls\";\r\nimport { useCustomersUIContext } from \"../CustomersUIContext\";\r\n\r\nexport function CustomersTable() {\r\n // Customers UI Context\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n ids: customersUIContext.ids,\r\n setIds: customersUIContext.setIds,\r\n queryParams: customersUIContext.queryParams,\r\n setQueryParams: customersUIContext.setQueryParams,\r\n openEditCustomerDialog: customersUIContext.openEditCustomerDialog,\r\n openDeleteCustomerDialog: customersUIContext.openDeleteCustomerDialog,\r\n openDetailsCustomerDialog: customersUIContext.openDetailsCustomerDialog\r\n };\r\n }, [customersUIContext]);\r\n\r\n // Getting curret state of customers list from store (Redux)\r\n const { currentState } = useSelector(\r\n (state) => ({ currentState: state.customers }),\r\n shallowEqual\r\n );\r\n const { totalCount, entities, listLoading } = currentState;\r\n\r\n // Customers Redux state\r\n const dispatch = useDispatch();\r\n useEffect(() => {\r\n // clear selections list\r\n customersUIProps.setIds([]);\r\n // server call by queryParams\r\n dispatch(actions.fetchCustomers(customersUIProps.queryParams));\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [customersUIProps.queryParams, dispatch]);\r\n // Table columns\r\n const columns = [\r\n {\r\n dataField: \"id\",\r\n text: \"ID\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n headerSortingClasses,\r\n },\r\n {\r\n dataField: \"CompanyName\",\r\n text: \"Customer Name\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n headerSortingClasses,\r\n },\r\n {\r\n dataField: \"IsActive\",\r\n text: \"Status\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n formatter: columnFormatters.StatusColumnFormatter,\r\n headerSortingClasses,\r\n },\r\n {\r\n dataField: \"ContactPhone\",\r\n text: \"Contact Phone\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n headerSortingClasses,\r\n },\r\n {\r\n dataField: \"PrimaryWarehouse\",\r\n text: \"Primary Warehouse\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n headerSortingClasses,\r\n },\r\n // {\r\n // dataField: \"ZoneName\",\r\n // text: \"Zone Name\",\r\n // sort: true,\r\n // sortCaret: sortCaret,\r\n // headerSortingClasses,\r\n // },\r\n {\r\n dataField: \"action\",\r\n text: \"Actions\",\r\n formatter: columnFormatters.ActionsColumnFormatter,\r\n formatExtraData: {\r\n openEditCustomerDialog: customersUIProps.openEditCustomerDialog,\r\n openDeleteCustomerDialog: customersUIProps.openDeleteCustomerDialog,\r\n openDetailsCustomerDialog: customersUIProps.openDetailsCustomerDialog\r\n },\r\n classes: \"text-center\",\r\n headerClasses: \"text-center\",\r\n style: {\r\n minWidth: \"80px\",\r\n },\r\n },\r\n ];\r\n // Table pagination properties\r\n const paginationOptions = {\r\n custom: true,\r\n totalSize: totalCount,\r\n sizePerPageList: uiHelpers.sizePerPageList,\r\n sizePerPage: customersUIProps.queryParams.pageSize,\r\n page: customersUIProps.queryParams.pageNumber,\r\n };\r\n return (\r\n <>\r\n \r\n {({ paginationProps, paginationTableProps }) => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n }}\r\n \r\n \r\n );\r\n}\r\n","import React, { useMemo } from \"react\";\r\nimport { useCustomersUIContext } from \"../CustomersUIContext\";\r\n\r\nexport function CustomersGrouping() {\r\n // Customers UI Context\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n ids: customersUIContext.ids,\r\n setIds: customersUIContext.setIds,\r\n openDeleteCustomersDialog: customersUIContext.openDeleteCustomersDialog,\r\n openFetchCustomersDialog: customersUIContext.openFetchCustomersDialog,\r\n openUpdateCustomersStatusDialog:\r\n customersUIContext.openUpdateCustomersStatusDialog,\r\n };\r\n }, [customersUIContext]);\r\n\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n Delete All\r\n \r\n  \r\n \r\n Fetch Selected\r\n \r\n  \r\n \r\n Update Status\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n );\r\n}\r\n","import React, { useMemo } from \"react\";\r\nimport {\r\n Card,\r\n CardBody,\r\n CardHeader,\r\n CardHeaderToolbar,\r\n} from \"../../../../../_metronic/_partials/controls\";\r\nimport { CustomersFilter } from \"./customers-filter/CustomersFilter\";\r\nimport { CustomersTable } from \"./customers-table/CustomersTable\";\r\nimport { CustomersGrouping } from \"./customers-grouping/CustomersGrouping\";\r\nimport { useCustomersUIContext } from \"./CustomersUIContext\";\r\nimport { Helmet } from \"react-helmet\";\r\n\r\nexport function CustomersCard() {\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n ids: customersUIContext.ids,\r\n newCustomerButtonClick: customersUIContext.newCustomerButtonClick,\r\n };\r\n }, [customersUIContext]);\r\n\r\n return (\r\n <>\r\n \r\n eMPower | Manage Customers\r\n \r\n \r\n \r\n \r\n \r\n \r\n New Customer\r\n \r\n \r\n \r\n \r\n \r\n {customersUIProps.ids.length > 0 && }\r\n \r\n \r\n \r\n \r\n );\r\n}\r\n","import React, { useEffect, useMemo } from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { shallowEqual, useDispatch, useSelector } from \"react-redux\";\r\nimport * as actions from \"../../../_redux/ManageCustomer/customersActions\";\r\nimport { useCustomersUIContext } from \"../CustomersUIContext\";\r\nimport { Notification } from \"../../../../Notification\";\r\nimport CloseIcon from \"@material-ui/icons/Close\";\r\nimport IconButton from \"@material-ui/core/IconButton\";\r\nimport BootstrapTable from \"react-bootstrap-table-next\";\r\nimport paginationFactory from \"react-bootstrap-table2-paginator\";\r\nimport { useState } from \"react\";\r\nimport LocalStorage from \"lowdb/adapters/LocalStorage\";\r\nimport low from \"lowdb\";\r\nimport { propTypes } from \"react-spinkit\";\r\nimport { OverlayTrigger, Tooltip } from \"react-bootstrap\";\r\nimport SVG from \"react-inlinesvg\";\r\nimport { toAbsoluteUrl } from \"../../../../../../_metronic/_helpers\";\r\nimport Table from \"@material-ui/core/Table\";\r\nimport TableBody from \"@material-ui/core/TableBody\";\r\nimport TableCell from \"@material-ui/core/TableCell\";\r\nimport TableHead from \"@material-ui/core/TableHead\";\r\nimport TableRow from \"@material-ui/core/TableRow\";\r\nimport { ActivityFunction } from \"../../../../../../_metronic/_helpers/ATHelpers\";\r\n\r\nexport function CustomerDetailsDialog({ id, show, onHide }) {\r\n const adapter = new LocalStorage(\"db\");\r\n const db = low(adapter);\r\n\r\n // Customers UI Context\r\n const customersUIContext = useCustomersUIContext();\r\n const [activitiesData, setActDataCustomer] = useState(null);\r\n\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n initCustomer: customersUIContext.initCustomer,\r\n };\r\n }, [customersUIContext]);\r\n\r\n // Customers Redux state\r\n const dispatch = useDispatch();\r\n const [CustomerId, setCustomerId] = React.useState(false);\r\n const { actionsLoading, customerForEdit } = useSelector(\r\n (state) => ({\r\n actionsLoading: state.customers.actionsLoading,\r\n customerForEdit: state.customers.customerForEdit,\r\n }),\r\n shallowEqual\r\n );\r\n\r\n useEffect(() => {\r\n //shipments/GetSendEmailInvoice/{id}\r\n if (id != null && id != undefined) {\r\n setActDataCustomer(null);\r\n fetch(`${window.$apiurl}/customers/activities/` + id, {\r\n method: \"get\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n const data = await response.json();\r\n console.log(data);\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n var a = res[1];\r\n setActDataCustomer(a || []);\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n }, [id]);\r\n\r\n return (\r\n
\r\n \r\n \r\n
\r\n
\r\n

\r\n Customer Activities ID: {id}\r\n

\r\n
\r\n
\r\n {\r\n // setModalActivities(false);\r\n onHide();\r\n }}\r\n >\r\n \r\n \r\n
\r\n \r\n
\r\n {/* Body */}\r\n
\r\n {activitiesData !== null ? (\r\n \r\n ) : (\r\n
\r\n
\r\n
\r\n Loading Data ...\r\n
\r\n
\r\n
\r\n )}\r\n
\r\n
\r\n
\r\n \r\n
\r\n );\r\n}\r\n","import React from \"react\";\r\nimport { Route } from \"react-router-dom\";\r\nimport { CustomersLoadingDialog } from \"./customers-loading-dialog/CustomersLoadingDialog\";\r\nimport { CustomerEditDialog } from \"./customer-edit-dialog/CustomerEditDialog\";\r\nimport { CustomerDeleteDialog } from \"./customer-delete-dialog/CustomerDeleteDialog\";\r\nimport { CustomersDeleteDialog } from \"./customers-delete-dialog/CustomersDeleteDialog\";\r\nimport { CustomersFetchDialog } from \"./customers-fetch-dialog/CustomersFetchDialog\";\r\nimport { CustomersUpdateStateDialog } from \"./customers-update-status-dialog/CustomersUpdateStateDialog\";\r\nimport { CustomersUIProvider } from \"./CustomersUIContext\";\r\nimport { CustomersCard } from \"./CustomersCard\";\r\nimport {CustomerDetailsDialog} from \"./customer-details-dialog/CustomerDetailsDialog\"\r\n\r\nexport function ManageCustomers({ history }) {\r\n const customersUIEvents = {\r\n newCustomerButtonClick: () => {\r\n history.push(\"/ManageCustomers/new\");\r\n },\r\n openEditCustomerDialog: (id) => {\r\n history.push(`/ManageCustomers/${id}/edit`);\r\n },\r\n openDeleteCustomerDialog: (id) => {\r\n history.push(`/ManageCustomers/${id}/delete`);\r\n },\r\n openDeleteCustomersDialog: () => {\r\n history.push(`/ManageCustomers/deleteCustomers`);\r\n },\r\n openFetchCustomersDialog: () => {\r\n history.push(`/ManageCustomers/fetch`);\r\n },\r\n openUpdateCustomersStatusDialog: () => {\r\n history.push(\"/ManageCustomers/updateStatus\");\r\n },\r\n openDetailsCustomerDialog: (id) => {\r\n history.push(`/ManageCustomers/${id}/details`);\r\n }\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n {({ history, match }) => (\r\n {\r\n history.push(\"/ManageCustomers\");\r\n }}\r\n />\r\n )}\r\n \r\n \r\n {({ history, match }) => (\r\n {\r\n history.push(\"/ManageCustomers\");\r\n window.$GlobalSearchCustomerid=null;\r\n\r\n }}\r\n />\r\n )}\r\n \r\n \r\n {({ history, match }) => (\r\n {\r\n history.push(\"/ManageCustomers\");\r\n window.$GlobalSearchCustomerid=null;\r\n\r\n }}\r\n />\r\n )}\r\n \r\n \r\n {({ history, match }) => (\r\n {\r\n history.push(\"/ManageCustomers\");\r\n }}\r\n />\r\n )}\r\n \r\n \r\n {({ history, match }) => (\r\n {\r\n history.push(\"/ManageCustomers\");\r\n }}\r\n />\r\n )}\r\n \r\n \r\n {({ history, match }) => (\r\n {\r\n history.push(\"/ManageCustomers\");\r\n }}\r\n />\r\n )}\r\n \r\n \r\n {({ history, match }) => (\r\n {\r\n history.push(\"/ManageCustomers\");\r\n }}\r\n />\r\n )}\r\n \r\n \r\n \r\n );\r\n}\r\n","import React, { useEffect } from \"react\";\r\nimport { shallowEqual, useSelector } from \"react-redux\";\r\nimport { LoadingDialog } from \"../../../../../../../_metronic/_partials/controls\";\r\n\r\nexport function CustomersLoadingDialog() {\r\n // Customers Redux state\r\n const { isLoading } = useSelector(\r\n (state) => ({ isLoading: state.customers.listLoading }),\r\n shallowEqual\r\n );\r\n // looking for loading/dispatch\r\n useEffect(() => {}, [isLoading]);\r\n return ;\r\n}\r\n","import axios from \"axios\";\r\n\r\nexport const CUSTOMERS_URL = \"api/ManageAddress\";\r\n\r\n// CREATE => POST: add a new customer to the server\r\nexport function createCustomer(customer) {\r\n return axios.post(CUSTOMERS_URL, { customer });\r\n}\r\n\r\n// READ\r\nexport function getAllCustomers() {\r\n return axios.get(CUSTOMERS_URL);\r\n}\r\n\r\nexport function getCustomerById(customerId) {\r\n return axios.get(`${CUSTOMERS_URL}/${customerId}`);\r\n}\r\n\r\n// Method from server should return QueryResultsModel(items: any[], totalsCount: number)\r\n// items => filtered/sorted result\r\nexport function findCustomers(queryParams) {\r\n return axios.post(`${CUSTOMERS_URL}/find`, { queryParams });\r\n}\r\n\r\n// UPDATE => PUT: update the customer on the server\r\nexport function updateCustomer(customer) {\r\n return axios.put(`${CUSTOMERS_URL}/${customer.id}`, { customer });\r\n}\r\n\r\n// UPDATE Status\r\nexport function updateStatusForCustomers(ids, status) {\r\n return axios.post(`${CUSTOMERS_URL}/updateStatusForCustomers`, {\r\n ids,\r\n status\r\n });\r\n}\r\n\r\n// DELETE => delete the customer from the server\r\nexport function deleteCustomer(customerId) {\r\n return axios.delete(`${CUSTOMERS_URL}/${customerId}`);\r\n}\r\n\r\n// DELETE Customers by ids\r\nexport function deleteCustomers(ids) {\r\n return axios.post(`${CUSTOMERS_URL}/deleteCustomers`, { ids });\r\n}\r\n","import {createSlice} from \"@reduxjs/toolkit\";\r\n\r\nconst initialCustomersState = {\r\n listLoading: false,\r\n actionsLoading: false,\r\n totalCount: 0,\r\n entities: null,\r\n customerForEdit: undefined,\r\n lastError: null\r\n};\r\nexport const callTypes = {\r\n list: \"list\",\r\n action: \"action\"\r\n};\r\n\r\nexport const customersSlice = createSlice({\r\n name: \"customers\",\r\n initialState: initialCustomersState,\r\n reducers: {\r\n catchError: (state, action) => {\r\n state.error = `${action.type}: ${action.payload.error}`;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = false;\r\n } else {\r\n state.actionsLoading = false;\r\n }\r\n },\r\n startCall: (state, action) => {\r\n state.error = null;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = true;\r\n } else {\r\n state.actionsLoading = true;\r\n }\r\n },\r\n // getCustomerById\r\n customerFetched: (state, action) => {\r\n state.actionsLoading = false;\r\n state.customerForEdit = action.payload.customerForEdit;\r\n state.error = null;\r\n },\r\n // findCustomers\r\n customersFetched: (state, action) => {\r\n const { totalCount, entities } = action.payload;\r\n state.listLoading = false;\r\n state.error = null;\r\n state.entities = entities;\r\n state.totalCount = totalCount;\r\n },\r\n // createCustomer\r\n customerCreated: (state, action) => {\r\n state.actionsLoading = false;\r\n state.error = null;\r\n state.entities.push(action.payload.customer);\r\n },\r\n // updateCustomer\r\n customerUpdated: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.map(entity => {\r\n if (entity.id === action.payload.customer.id) {\r\n return action.payload.customer;\r\n }\r\n return entity;\r\n });\r\n },\r\n // deleteCustomer\r\n customerDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(el => el.id !== action.payload.id);\r\n },\r\n // deleteCustomers\r\n customersDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(\r\n el => !action.payload.ids.includes(el.id)\r\n );\r\n },\r\n // customersUpdateState\r\n customersStatusUpdated: (state, action) => {\r\n state.actionsLoading = false;\r\n state.error = null;\r\n const { ids, status } = action.payload;\r\n state.entities = state.entities.map(entity => {\r\n if (ids.findIndex(id => id === entity.id) > -1) {\r\n entity.status = status;\r\n }\r\n return entity;\r\n });\r\n }\r\n }\r\n});\r\n","import * as requestFromServer from \"./customersCrud\";\r\nimport {customersSlice, callTypes} from \"./customersSlice\";\r\n\r\nconst {actions} = customersSlice;\r\n\r\nexport const fetchCustomers = queryParams => dispatch => {\r\n dispatch(actions.startCall({ callType: callTypes.list }));\r\n return requestFromServer\r\n .findCustomers(queryParams)\r\n .then(response => {\r\n const { totalCount, entities } = response.data;\r\n dispatch(actions.customersFetched({ totalCount, entities }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't find customers\";\r\n dispatch(actions.catchError({ error, callType: callTypes.list }));\r\n });\r\n};\r\n\r\nexport const fetchCustomer = id => dispatch => {\r\n if (!id) {\r\n return dispatch(actions.customerFetched({ customerForEdit: undefined }));\r\n }\r\n\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .getCustomerById(id)\r\n .then(response => {\r\n const customer = response.data;\r\n dispatch(actions.customerFetched({ customerForEdit: customer }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't find customer\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const deleteCustomer = id => dispatch => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .deleteCustomer(id)\r\n .then(response => {\r\n dispatch(actions.customerDeleted({ id }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't delete customer\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const createCustomer = customerForCreation => dispatch => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .createCustomer(customerForCreation)\r\n .then(response => {\r\n const { customer } = response.data;\r\n dispatch(actions.customerCreated({ customer }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't create customer\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const updateCustomer = customer => dispatch => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .updateCustomer(customer)\r\n .then(() => {\r\n dispatch(actions.customerUpdated({ customer }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't update customer\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const updateCustomersStatus = (ids, status) => dispatch => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .updateStatusForCustomers(ids, status)\r\n .then(() => {\r\n dispatch(actions.customersStatusUpdated({ ids, status }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't update customers status\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const deleteCustomers = ids => dispatch => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .deleteCustomers(ids)\r\n .then(() => {\r\n dispatch(actions.customersDeleted({ ids }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't delete customers\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n","export const CustomerStatusCssClasses = [\"danger\", \"success\", \"info\", \"\"];\r\nexport const CustomerStatusTitles = [\"Inactive\", \"Active\"];\r\nexport const CustomerTypeCssClasses = [\"success\", \"primary\", \"\"];\r\nexport const CustomerTypeTitles = [\"Business\", \"Individual\", \"\"];\r\nexport const defaultSorted = [{ dataField: \"id\", order: \"desc\" }];\r\nexport const sizePerPageList = [\r\n { text: \"3\", value: 3 },\r\n { text: \"5\", value: 5 },\r\n { text: \"10\", value: 10 }\r\n];\r\nexport const initialFilter = {\r\n filter: {\r\n lastName: \"\",\r\n firstName: \"\",\r\n email: \"\",\r\n ipAddress: \"\"\r\n },\r\n sortOrder: \"desc\", // asc||desc\r\n sortField: \"id\",\r\n pageNumber: 1,\r\n pageSize: 10\r\n};\r\n","import React, { createContext, useContext, useState, useCallback } from \"react\";\r\nimport { isEqual, isFunction } from \"lodash\";\r\nimport { initialFilter } from \"./CustomersUIHelpers\";\r\n\r\nconst CustomersUIContext = createContext();\r\n\r\nexport function useCustomersUIContext() {\r\n return useContext(CustomersUIContext);\r\n}\r\n\r\nexport const CustomersUIConsumer = CustomersUIContext.Consumer;\r\n\r\nexport function CustomersUIProvider({ customersUIEvents, children }) {\r\n const [queryParams, setQueryParamsBase] = useState(initialFilter);\r\n const [ids, setIds] = useState([]);\r\n const setQueryParams = useCallback((nextQueryParams) => {\r\n setQueryParamsBase((prevQueryParams) => {\r\n if (isFunction(nextQueryParams)) {\r\n nextQueryParams = nextQueryParams(prevQueryParams);\r\n }\r\n\r\n if (isEqual(prevQueryParams, nextQueryParams)) {\r\n return prevQueryParams;\r\n }\r\n\r\n return nextQueryParams;\r\n });\r\n }, []);\r\n\r\n const initCustomer = {\r\n id: undefined,\r\n Id: undefined,\r\n Code: \"\",\r\n Name: \"\",\r\n City:\"\",\r\n CountryId: \"US\",\r\n AddressTypeId: \"\",\r\n Address:\"\",\r\n IsActive: false,\r\n };\r\n\r\n const value = {\r\n queryParams,\r\n setQueryParamsBase,\r\n ids,\r\n setIds,\r\n setQueryParams,\r\n initCustomer,\r\n newCustomerButtonClick: customersUIEvents.newCustomerButtonClick,\r\n openEditCustomerDialog: customersUIEvents.openEditCustomerDialog,\r\n openDeleteCustomerDialog: customersUIEvents.openDeleteCustomerDialog,\r\n openDeleteCustomersDialog: customersUIEvents.openDeleteCustomersDialog,\r\n openFetchCustomersDialog: customersUIEvents.openFetchCustomersDialog,\r\n openUpdateCustomersStatusDialog:\r\n customersUIEvents.openUpdateCustomersStatusDialog,\r\n };\r\n\r\n return (\r\n \r\n {children}\r\n \r\n );\r\n}\r\n","import React, { useEffect, useMemo } from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { shallowEqual, useDispatch, useSelector } from \"react-redux\";\r\nimport * as actions from \"../../../../_redux/Transload/ManageAddress/customersActions\";\r\nimport { CustomerEditDialogHeader } from \"./CustomerEditDialogHeader\";\r\nimport { CustomerEditForm } from \"./CustomerEditForm\";\r\nimport { useCustomersUIContext } from \"../CustomersUIContext\";\r\n\r\nexport function CustomerEditDialog({ id, show, onHide }) {\r\n // Customers UI Context\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n initCustomer: customersUIContext.initCustomer,\r\n };\r\n }, [customersUIContext]);\r\n\r\n // Customers Redux state\r\n const dispatch = useDispatch();\r\n const { actionsLoading, customerForEdit } = useSelector(\r\n (state) => ({\r\n actionsLoading: state.customers.actionsLoading,\r\n customerForEdit: state.customers.customerForEdit,\r\n }),\r\n shallowEqual\r\n );\r\n\r\n useEffect(() => {\r\n // server call for getting Customer by id\r\n dispatch(actions.fetchCustomer(id));\r\n }, [id, dispatch]);\r\n\r\n // server request for saving customer\r\n const saveCustomer = (customer) => {\r\n if (!id) {\r\n // server request for creating customer\r\n dispatch(actions.createCustomer(customer)).then(() => {\r\n onHide();\r\n document.getElementById(\"ReLoadTableId\").click();\r\n });\r\n } else {\r\n // server request for updating customer\r\n dispatch(actions.updateCustomer(customer)).then(() => {\r\n onHide();\r\n document.getElementById(\"ReLoadTableId\").click();\r\n });\r\n }\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n}\r\n","import React, { useEffect, useMemo } from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { shallowEqual, useDispatch, useSelector } from \"react-redux\";\r\nimport {ModalProgressBar} from \"../../../../../../../_metronic/_partials/controls\";\r\nimport * as actions from \"../../../../_redux/Transload/ManageAddress/customersActions\";\r\nimport {useCustomersUIContext} from \"../CustomersUIContext\";\r\n\r\nexport function CustomerDeleteDialog({ id, show, onHide }) {\r\n // Customers UI Context\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n setIds: customersUIContext.setIds,\r\n queryParams: customersUIContext.queryParams\r\n };\r\n }, [customersUIContext]);\r\n\r\n // Customers Redux state\r\n const dispatch = useDispatch();\r\n const { isLoading } = useSelector(\r\n (state) => ({ isLoading: state.customers.actionsLoading }),\r\n shallowEqual\r\n );\r\n\r\n // if !id we should close modal\r\n useEffect(() => {\r\n if (!id) {\r\n onHide();\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [id]);\r\n\r\n // looking for loading/dispatch\r\n useEffect(() => {}, [isLoading, dispatch]);\r\n\r\n const deleteCustomer = () => {\r\n // server request for deleting customer by id\r\n dispatch(actions.deleteCustomer(id)).then(() => {\r\n // refresh list after deletion\r\n dispatch(actions.fetchCustomers(customersUIProps.queryParams));\r\n // clear selections list\r\n customersUIProps.setIds([]);\r\n // closing delete modal\r\n onHide();\r\n });\r\n };\r\n\r\n return (\r\n \r\n {/*begin::Loading*/}\r\n {isLoading && }\r\n {/*end::Loading*/}\r\n \r\n \r\n Address Delete\r\n \r\n \r\n \r\n {!isLoading && (\r\n Are you sure to permanently delete this Address ?\r\n )}\r\n {isLoading && Address is deleting...}\r\n \r\n \r\n
\r\n \r\n Cancel\r\n \r\n <> \r\n \r\n Delete\r\n \r\n
\r\n
\r\n \r\n );\r\n}\r\n","import React, { useEffect, useMemo } from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { shallowEqual, useDispatch, useSelector } from \"react-redux\";\r\nimport * as actions from \"../../../../_redux/Transload/ManageAddress/customersActions\";\r\nimport { useCustomersUIContext } from \"../CustomersUIContext\";\r\nimport {ModalProgressBar} from \"../../../../../../../_metronic/_partials/controls\";\r\n\r\nexport function CustomersDeleteDialog({ show, onHide }) {\r\n // Customers UI Context\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n ids: customersUIContext.ids,\r\n setIds: customersUIContext.setIds,\r\n queryParams: customersUIContext.queryParams,\r\n };\r\n }, [customersUIContext]);\r\n\r\n // Customers Redux state\r\n const dispatch = useDispatch();\r\n const { isLoading } = useSelector(\r\n (state) => ({ isLoading: state.customers.actionsLoading }),\r\n shallowEqual\r\n );\r\n\r\n // if customers weren't selected we should close modal\r\n useEffect(() => {\r\n if (!customersUIProps.ids || customersUIProps.ids.length === 0) {\r\n onHide();\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [customersUIProps.ids]);\r\n\r\n // looking for loading/dispatch\r\n useEffect(() => {}, [isLoading, dispatch]);\r\n\r\n const deleteCustomers = () => {\r\n // server request for deleting customer by selected ids\r\n dispatch(actions.deleteCustomers(customersUIProps.ids)).then(() => {\r\n // refresh list after deletion\r\n dispatch(actions.fetchCustomers(customersUIProps.queryParams)).then(\r\n () => {\r\n // clear selections list\r\n customersUIProps.setIds([]);\r\n // closing delete modal\r\n onHide();\r\n }\r\n );\r\n });\r\n };\r\n\r\n return (\r\n \r\n {/*begin::Loading*/}\r\n {isLoading && }\r\n {/*end::Loading*/}\r\n \r\n \r\n Customers Delete\r\n \r\n \r\n \r\n {!isLoading && (\r\n Are you sure to permanently delete selected customers?\r\n )}\r\n {isLoading && Customer are deleting...}\r\n \r\n \r\n
\r\n \r\n Cancel\r\n \r\n <> \r\n \r\n Delete\r\n \r\n
\r\n
\r\n \r\n );\r\n}\r\n","import React, { useEffect, useMemo } from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { shallowEqual, useSelector } from \"react-redux\";\r\nimport { CustomerStatusCssClasses } from \"../CustomersUIHelpers\";\r\nimport { useCustomersUIContext } from \"../CustomersUIContext\";\r\n\r\nconst selectedCustomers = (entities, ids) => {\r\n const _customers = [];\r\n ids.forEach((id) => {\r\n const customer = entities.find((el) => el.id === id);\r\n if (customer) {\r\n _customers.push(customer);\r\n }\r\n });\r\n return _customers;\r\n};\r\n\r\nexport function CustomersFetchDialog({ show, onHide }) {\r\n // Customers UI Context\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n ids: customersUIContext.ids,\r\n };\r\n }, [customersUIContext]);\r\n\r\n // Customers Redux state\r\n const { customers } = useSelector(\r\n (state) => ({\r\n customers: selectedCustomers(\r\n state.customers.entities,\r\n customersUIProps.ids\r\n ),\r\n }),\r\n shallowEqual\r\n );\r\n\r\n // if customers weren't selected we should close modal\r\n useEffect(() => {\r\n if (!customersUIProps.ids || customersUIProps.ids.length === 0) {\r\n onHide();\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [customersUIProps.ids]);\r\n\r\n return (\r\n \r\n \r\n \r\n Fetch selected elements\r\n \r\n \r\n \r\n
\r\n {customers.map((customer) => (\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n ID: {customer.id}\r\n \r\n {customer.lastName}, {customer.firstName} \r\n
\r\n
\r\n ))}\r\n
\r\n \r\n \r\n
\r\n \r\n Cancel\r\n \r\n <> \r\n \r\n Ok\r\n \r\n
\r\n
\r\n \r\n );\r\n}\r\n","import React, { useEffect, useState, useMemo } from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { shallowEqual, useDispatch, useSelector } from \"react-redux\";\r\nimport { CustomerStatusCssClasses } from \"../CustomersUIHelpers\";\r\nimport * as actions from \"../../../../_redux/Transload/ManageAddress/customersActions\";\r\nimport { useCustomersUIContext } from \"../CustomersUIContext\";\r\n\r\nconst selectedCustomers = (entities, ids) => {\r\n const _customers = [];\r\n ids.forEach((id) => {\r\n const customer = entities.find((el) => el.id === id);\r\n if (customer) {\r\n _customers.push(customer);\r\n }\r\n });\r\n return _customers;\r\n};\r\n\r\nexport function CustomersUpdateStateDialog({ show, onHide }) {\r\n // Customers UI Context\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n ids: customersUIContext.ids,\r\n setIds: customersUIContext.setIds,\r\n queryParams: customersUIContext.queryParams,\r\n };\r\n }, [customersUIContext]);\r\n\r\n // Customers Redux state\r\n const { customers, isLoading } = useSelector(\r\n (state) => ({\r\n customers: selectedCustomers(\r\n state.customers.entities,\r\n customersUIProps.ids\r\n ),\r\n isLoading: state.customers.actionsLoading,\r\n }),\r\n shallowEqual\r\n );\r\n\r\n // if !id we should close modal\r\n useEffect(() => {\r\n if (!customersUIProps.ids || customersUIProps.ids.length === 0) {\r\n onHide();\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [customersUIProps.ids]);\r\n\r\n const [status, setStatus] = useState(0);\r\n\r\n const dispatch = useDispatch();\r\n const updateStatus = () => {\r\n // server request for update customers status by selected ids\r\n dispatch(actions.updateCustomersStatus(customersUIProps.ids, status)).then(\r\n () => {\r\n // refresh list after deletion\r\n dispatch(actions.fetchCustomers(customersUIProps.queryParams)).then(\r\n () => {\r\n // clear selections list\r\n customersUIProps.setIds([]);\r\n // closing delete modal\r\n onHide();\r\n }\r\n );\r\n }\r\n );\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n Status has been updated for selected customers\r\n \r\n \r\n \r\n {/*begin::Loading*/}\r\n {isLoading && (\r\n
\r\n
\r\n
\r\n )}\r\n {/*end::Loading*/}\r\n\r\n
\r\n {customers.map((customer) => (\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n ID: {customer.id}\r\n \r\n \r\n {customer.lastName}, {customer.firstName}\r\n \r\n
\r\n
\r\n ))}\r\n
\r\n \r\n \r\n
\r\n setStatus(+e.target.value)}\r\n >\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n Cancel\r\n \r\n \r\n Update Status\r\n \r\n
\r\n
\r\n \r\n );\r\n}\r\n","import Button from '@material-ui/core/Button';\r\nimport Icon from '@material-ui/core/Icon';\r\nimport ListItemIcon from '@material-ui/core/ListItemIcon';\r\nimport ListItemText from '@material-ui/core/ListItemText';\r\nimport Menu from '@material-ui/core/Menu';\r\nimport MenuItem from '@material-ui/core/MenuItem';\r\nimport { makeStyles, withStyles } from '@material-ui/core/styles';\r\nimport axios from \"axios\";\r\nimport { Formik } from \"formik\";\r\nimport { isEqual } from \"lodash\";\r\nimport low from \"lowdb\";\r\nimport LocalStorage from \"lowdb/adapters/LocalStorage\";\r\nimport React, { useEffect, useMemo, useState } from \"react\";\r\nimport { ButtonToolbar } from \"react-bootstrap\";\r\nimport Select from \"react-select\";\r\nimport { Export } from \"../../../../../../../_metronic/_helpers/ATHelpers\";\r\nimport { useCustomersUIContext } from \"../CustomersUIContext\";\r\nconst adapter = new LocalStorage(\"db\");\r\nconst db = low(adapter);\r\n\r\n//Export Filter\r\n\r\nconst StyledMenu = withStyles({\r\n paper: {\r\n border: '1px solid #d3d4d5',\r\n },\r\n})(props => (\r\n \r\n));\r\nconst StyledMenuItem = withStyles(theme => ({\r\n root: {\r\n '&:focus': {\r\n backgroundColor: theme.palette.primary.main,\r\n '& .MuiListItemIcon-root, & .MuiListItemText-primary': {\r\n color: theme.palette.common.white,\r\n },\r\n },\r\n },\r\n}))(MenuItem);\r\nconst useStyles = makeStyles(theme => ({\r\n button: {\r\n margin: theme.spacing(1),\r\n },\r\n leftIcon: {\r\n marginRight: theme.spacing(1),\r\n },\r\n rightIcon: {\r\n marginLeft: theme.spacing(1),\r\n },\r\n iconSmall: {\r\n fontSize: 20,\r\n },\r\n}));\r\nconst catchError = [];\r\nconst prepareFilter = (queryParams, values) => {\r\n const {\r\n ReLoadTable,\r\n typeId,\r\n searchText,\r\n organisationName,\r\n customer,\r\n } = values;\r\n const newQueryParams = { ...queryParams };\r\n const filter = {};\r\n filter.typeId = typeId !== \"0\" ? typeId : undefined;\r\n filter.Code = searchText;\r\n filter.OrganisationName = organisationName;\r\n filter.customer = customer;\r\n filter.ReLoadTable = ReLoadTable;\r\n newQueryParams.filter = filter;\r\n return newQueryParams;\r\n};\r\nexport function CustomersFilter({ listLoading }) {\r\n // Customers UI Context\r\n const [QueryFilter, setQueryFilter] = useState(\"\");\r\n\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n queryParams: customersUIContext.queryParams,\r\n setQueryParams: customersUIContext.setQueryParams,\r\n };\r\n }, [customersUIContext]);\r\n\r\n // queryParams, setQueryParams,\r\n const applyFilter = (values) => {\r\n const newQueryParams = prepareFilter(customersUIProps.queryParams, values);\r\n if (!isEqual(newQueryParams, customersUIProps.queryParams)) {\r\n newQueryParams.pageNumber = 1;\r\n // update list by queryParams\r\n setQueryFilter(newQueryParams);\r\n\r\n customersUIProps.setQueryParams(newQueryParams);\r\n }\r\n };\r\n\r\n const [AddressTypes, setAddressTypes] = useState(catchError);\r\n const [customers, setCustomers] = useState(catchError);\r\n useEffect(() => {\r\n fetchViewModelAsync();\r\n GetCustomers();\r\n }, []);\r\n\r\n const fetchViewModelAsync = async () => {\r\n try {\r\n const result = await axios.get(\"api/ManageAddress/GetAllApi\");\r\n const types = result.data[\"AddressTypes\"] || catchError;\r\n const list = [];\r\n types.length > 0 &&\r\n types.map((item) => {\r\n list.push({ value: item.Id, label: item.Name });\r\n });\r\n setAddressTypes(list || catchError);\r\n window.AddressTypes = result.data[\"AddressTypes\"] || catchError;\r\n window.Country = result.data[\"Countries\"] || catchError;\r\n } catch (e) { }\r\n };\r\n const useStyles = makeStyles(theme => ({\r\n container: {\r\n display: 'flex',\r\n flexWrap: 'wrap',\r\n },\r\n textField: {\r\n marginLeft: theme.spacing(1),\r\n marginRight: theme.spacing(1),\r\n width: 200,\r\n },\r\n }));\r\n const classes = useStyles();\r\n const [anchorEl, setAnchorEl] = React.useState(null);\r\n function handleClick(event) {\r\n setAnchorEl(event.currentTarget);\r\n }\r\n function handleClose() {\r\n setAnchorEl(null);\r\n }\r\n\r\n async function fetchMyAPI2(type, entityName) {\r\n var filter = QueryFilter;\r\n if (filter) {\r\n filter.pageSize = 100000;\r\n const result = await axios.post(`api/ManageAddress/filter`, { \"queryParams\": filter });\r\n Export(result.data.entities, type, entityName);\r\n } else {\r\n const result = await axios.post(`api/ManageAddress/filter`, { \"queryParams\": { \"filter\": { \"typeId\": \"\", \"ReLoadTable\": false }, \"sortOrder\": \"asc\", \"sortField\": \"id\", \"pageNumber\": 1, \"pageSize\": 100000 } });\r\n Export(result.data.entities, type, entityName);\r\n }\r\n }\r\n async function GetCustomers() {\r\n return await fetch(`${window.$apiurl}/quoting/viewmodel`, {\r\n method: \"get\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n var a = res[1];\r\n const obj = [];\r\n a?.Customers.length > 0 && a.Customers.map((item) => {\r\n obj.push({ value: item.Id, label: item.Name });\r\n })\r\n setCustomers(obj);\r\n window.$customersAddress = a.Customers;\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n\r\n return (\r\n <>\r\n {\r\n applyFilter(values);\r\n }}\r\n >\r\n {({\r\n values,\r\n handleSubmit,\r\n handleBlur,\r\n handleChange,\r\n setFieldValue,\r\n }) => (\r\n
\r\n {\r\n if (e.target.value == \"0\")\r\n document.getElementById(\"ReLoadTableId\").value = 1;\r\n else document.getElementById(\"ReLoadTableId\").value = 0;\r\n setFieldValue(\"ReLoadTable\", e.target.value);\r\n handleSubmit();\r\n }}\r\n />\r\n\r\n
\r\n
\r\n {\r\n setFieldValue(\"searchText\", e.target.value);\r\n handleSubmit();\r\n }}\r\n />\r\n \r\n Search in all fields\r\n \r\n
\r\n
\r\n {\r\n if (e !== null) {\r\n setFieldValue(\"customer\", e.value);\r\n } else {\r\n setFieldValue(\"customer\", \"\");\r\n }\r\n handleSubmit();\r\n }}\r\n />\r\n \r\n Filter by Customer\r\n \r\n
\r\n
\r\n {\r\n setFieldValue(\"organisationName\", e.target.value);\r\n handleSubmit();\r\n }}\r\n />\r\n \r\n Search by Organisation Name\r\n \r\n
\r\n\r\n
\r\n {\r\n if (e !== null) {\r\n setFieldValue(\"typeId\", e.value);\r\n } else {\r\n setFieldValue(\"typeId\", \"\");\r\n }\r\n handleSubmit();\r\n }}\r\n />\r\n \r\n Filter by Organization type\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n Export as\r\n save\r\n \r\n \r\n {\r\n fetchMyAPI2(\"excel\", \"Addresses\");\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n {\r\n fetchMyAPI2(\"csv\", \"Addresses\");\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n {\r\n fetchMyAPI2(\"json\", \"Addresses\");\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n {/* */}\r\n \r\n
\r\n
\r\n \r\n )}\r\n \r\n \r\n );\r\n}\r\n","import React from \"react\";\r\nimport { Notification } from \"../../../../../../Notification\";\r\n\r\nexport function StatusColumnFormatter(cellContent, row) {\r\n const CustomerStatusCssClasses = [\"success\", \"danger\"];\r\n const CustomerStatusTitles = [\"Active\", \"Inactive\"];\r\n\r\n var isActive = row.IsActive === true ? 0 : 1;\r\n\r\n const getLabelCssClasses = () => {\r\n return `label label-lg label-light-${CustomerStatusCssClasses[isActive]} label-inline`;\r\n };\r\n const OnClickActive = () => {\r\n fetch(`${window.$apiurl}/address/activate?id=${row.id}`)\r\n .then(async (response) => {\r\n return response;\r\n })\r\n .then((res) => {\r\n document.getElementById(\"ReLoadTableId\").click();\r\n Notification(\"success\", \"success\");\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n };\r\n return (\r\n OnClickActive()}\r\n style={{ cursor: \"pointer\" }}\r\n >\r\n {CustomerStatusTitles[isActive]}\r\n \r\n );\r\n}","// please be familiar with react-bootstrap-table-next column formaters\r\n// https://react-bootstrap-table.github.io/react-bootstrap-table2/storybook/index.html?selectedKind=Work%20on%20Columns&selectedStory=Column%20Formatter&full=0&addons=1&stories=1&panelRight=0&addonPanel=storybook%2Factions%2Factions-panel\r\n/* eslint-disable no-script-url,jsx-a11y/anchor-is-valid */\r\nimport React from \"react\";\r\nimport SVG from \"react-inlinesvg\";\r\nimport { toAbsoluteUrl } from \"../../../../../../../../_metronic/_helpers\";\r\n\r\nexport function ActionsColumnFormatter(\r\n cellContent,\r\n row,\r\n rowIndex,\r\n { openEditCustomerDialog, openDeleteCustomerDialog }\r\n) {\r\n return (\r\n <>\r\n openEditCustomerDialog(row.id)}\r\n >\r\n \r\n \r\n \r\n \r\n <> \r\n\r\n openDeleteCustomerDialog(row.id)}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n","// React bootstrap table next =>\r\n// DOCS: https://react-bootstrap-table.github.io/react-bootstrap-table2/docs/\r\n// STORYBOOK: https://react-bootstrap-table.github.io/react-bootstrap-table2/storybook/index.html\r\nimport React, { useEffect, useMemo } from \"react\";\r\nimport BootstrapTable from \"react-bootstrap-table-next\";\r\nimport paginationFactory from \"react-bootstrap-table2-paginator\";\r\nimport { shallowEqual, useDispatch, useSelector } from \"react-redux\";\r\nimport * as actions from \"../../../../_redux/Transload/ManageAddress/customersActions\";\r\nimport {\r\n getSelectRow,\r\n sortCaret,\r\n headerSortingClasses,\r\n} from \"../../../../../../../_metronic/_helpers\";\r\nimport * as uiHelpers from \"../CustomersUIHelpers\";\r\nimport * as columnFormatters from \"./column-formatters\";\r\nimport { useCustomersUIContext } from \"../CustomersUIContext\";\r\n\r\nexport function CustomersTable() {\r\n // Customers UI Context\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n ids: customersUIContext.ids,\r\n setIds: customersUIContext.setIds,\r\n queryParams: customersUIContext.queryParams,\r\n setQueryParams: customersUIContext.setQueryParams,\r\n openEditCustomerDialog: customersUIContext.openEditCustomerDialog,\r\n openDeleteCustomerDialog: customersUIContext.openDeleteCustomerDialog,\r\n };\r\n }, [customersUIContext]);\r\n\r\n // Getting curret state of customers list from store (Redux)\r\n const { currentState } = useSelector(\r\n (state) => ({ currentState: state.customers }),\r\n shallowEqual\r\n );\r\n const { totalCount, entities } = currentState;\r\n\r\n // Customers Redux state\r\n const dispatch = useDispatch();\r\n useEffect(() => {\r\n // clear selections list\r\n customersUIProps.setIds([]);\r\n // server call by queryParams\r\n dispatch(actions.fetchCustomers(customersUIProps.queryParams));\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [customersUIProps.queryParams, dispatch]);\r\n // Table columns\r\n const columns = [\r\n {\r\n dataField: \"id\",\r\n text: \"ID\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n headerSortingClasses,\r\n },\r\n {\r\n dataField: \"Code\",\r\n text: \"ADDRESS CODE\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n headerSortingClasses,\r\n },\r\n {\r\n dataField: \"Name\",\r\n text: \"ORGANISATION NAME\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n headerSortingClasses,\r\n },\r\n {\r\n dataField: \"State\",\r\n text: \"STATE\",\r\n sort: false,\r\n sortCaret: sortCaret,\r\n },\r\n {\r\n dataField: \"Type\",\r\n text: \"ORG TYPE\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n }, \r\n {\r\n dataField: \"CustomerName\",\r\n text: \"Customer\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n formatter: (cell, row) => {\r\n return (\r\n \r\n {row?.CustomerName ?? \"Empty\"}\r\n \r\n );\r\n },\r\n },\r\n {\r\n dataField: \"IsActive\",\r\n text: \"Status\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n formatter: columnFormatters.StatusColumnFormatter,\r\n headerSortingClasses,\r\n },\r\n {\r\n dataField: \"action\",\r\n text: \"Actions\",\r\n formatter: columnFormatters.ActionsColumnFormatter,\r\n formatExtraData: {\r\n openEditCustomerDialog: customersUIProps.openEditCustomerDialog,\r\n openDeleteCustomerDialog: customersUIProps.openDeleteCustomerDialog,\r\n },\r\n classes: \"text-center pr-0\",\r\n headerClasses: \"text-center pr-3\",\r\n style: {\r\n minWidth: \"100px\",\r\n },\r\n },\r\n ];\r\n // Table pagination properties\r\n return (\r\n <>\r\n \r\n \r\n );\r\n}\r\n","import React, { useMemo } from \"react\";\r\nimport { useCustomersUIContext } from \"../CustomersUIContext\";\r\n\r\nexport function CustomersGrouping() {\r\n // Customers UI Context\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n ids: customersUIContext.ids,\r\n setIds: customersUIContext.setIds,\r\n openDeleteCustomersDialog: customersUIContext.openDeleteCustomersDialog,\r\n openFetchCustomersDialog: customersUIContext.openFetchCustomersDialog,\r\n openUpdateCustomersStatusDialog:\r\n customersUIContext.openUpdateCustomersStatusDialog,\r\n };\r\n }, [customersUIContext]);\r\n\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n Delete All\r\n \r\n  \r\n \r\n Fetch Selected\r\n \r\n  \r\n \r\n Update Status\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n );\r\n}\r\n","import React, { useMemo } from \"react\";\r\nimport {\r\n Card,\r\n CardBody,\r\n CardHeader,\r\n CardHeaderToolbar,\r\n} from \"../../../../../../_metronic/_partials/controls\";\r\nimport { CustomersFilter } from \"./customers-filter/CustomersFilter\";\r\nimport { CustomersTable } from \"./customers-table/CustomersTable\";\r\nimport { CustomersGrouping } from \"./customers-grouping/CustomersGrouping\";\r\nimport { useCustomersUIContext } from \"./CustomersUIContext\";\r\nimport { Helmet } from \"react-helmet\";\r\n\r\nexport function CustomersCard() {\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n ids: customersUIContext.ids,\r\n newCustomerButtonClick: customersUIContext.newCustomerButtonClick,\r\n };\r\n }, [customersUIContext]);\r\n\r\n return (\r\n <>\r\n \r\n eMPower | Manage Addresses\r\n \r\n \r\n \r\n \r\n \r\n \r\n New Address\r\n \r\n \r\n \r\n \r\n \r\n {customersUIProps.ids.length > 0 && }\r\n \r\n \r\n \r\n \r\n );\r\n}\r\n","import React from \"react\";\r\nimport { Route } from \"react-router-dom\";\r\nimport { CustomersLoadingDialog } from \"./customers-loading-dialog/CustomersLoadingDialog\";\r\nimport { CustomerEditDialog } from \"./customer-edit-dialog/CustomerEditDialog\";\r\nimport { CustomerDeleteDialog } from \"./customer-delete-dialog/CustomerDeleteDialog\";\r\nimport { CustomersDeleteDialog } from \"./customers-delete-dialog/CustomersDeleteDialog\";\r\nimport { CustomersFetchDialog } from \"./customers-fetch-dialog/CustomersFetchDialog\";\r\nimport { CustomersUpdateStateDialog } from \"./customers-update-status-dialog/CustomersUpdateStateDialog\";\r\nimport { CustomersUIProvider } from \"./CustomersUIContext\";\r\nimport { CustomersCard } from \"./CustomersCard\";\r\n\r\nexport function ManageAddressPage({ history }) {\r\n const customersUIEvents = {\r\n newCustomerButtonClick: () => {\r\n history.push(\"/Transload/ManageAddress/new\");\r\n },\r\n openEditCustomerDialog: (id) => {\r\n history.push(`/Transload/ManageAddress/${id}/edit`);\r\n },\r\n openDeleteCustomerDialog: (id) => {\r\n history.push(`/Transload/ManageAddress/${id}/delete`);\r\n },\r\n openDeleteCustomersDialog: () => {\r\n history.push(`/Transload/ManageAddress/deleteCustomers`);\r\n },\r\n openFetchCustomersDialog: () => {\r\n history.push(`/Transload/ManageAddress/fetch`);\r\n },\r\n openUpdateCustomersStatusDialog: () => {\r\n history.push(\"/Transload/ManageAddress/updateStatus\");\r\n }\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n {({ history, match }) => (\r\n {\r\n history.push(\"/Transload/ManageAddress\");\r\n }}\r\n />\r\n )}\r\n \r\n \r\n {({ history, match }) => (\r\n {\r\n history.push(\"/Transload/ManageAddress\");\r\n }}\r\n />\r\n )}\r\n \r\n \r\n {({ history, match }) => (\r\n {\r\n history.push(\"/Transload/ManageAddress\");\r\n }}\r\n />\r\n )}\r\n \r\n \r\n {({ history, match }) => (\r\n {\r\n history.push(\"/Transload/ManageAddress\");\r\n }}\r\n />\r\n )}\r\n \r\n \r\n {({ history, match }) => (\r\n {\r\n history.push(\"/Transload/ManageAddress\");\r\n }}\r\n />\r\n )}\r\n \r\n \r\n {({ history, match }) => (\r\n {\r\n history.push(\"/Transload/ManageAddress\");\r\n }}\r\n />\r\n )}\r\n \r\n \r\n \r\n );\r\n}\r\n","import React, { useEffect } from \"react\";\r\nimport { shallowEqual, useSelector } from \"react-redux\";\r\nimport { LoadingDialog } from \"../../../../../../_metronic/_partials/controls\";\r\n\r\nexport function CustomersLoadingDialog() {\r\n // Customers Redux state\r\n const { isLoading } = useSelector(\r\n (state) => ({ isLoading: state.customers.listLoading }),\r\n shallowEqual\r\n );\r\n // looking for loading/dispatch\r\n useEffect(() => {}, [isLoading]);\r\n return ;\r\n}\r\n","import React, { useState, useEffect } from \"react\";\r\nimport { shallowEqual, useSelector } from \"react-redux\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport {ModalProgressBar} from \"../../../../../../_metronic/_partials/controls\";\r\n\r\nexport function CustomerEditDialogHeader({ id }) {\r\n // Customers Redux state\r\n const { customerForEdit, actionsLoading } = useSelector(\r\n (state) => ({\r\n customerForEdit: state.customers.customerForEdit,\r\n actionsLoading: state.customers.actionsLoading,\r\n }),\r\n shallowEqual\r\n );\r\n\r\n const [title, setTitle] = useState(\"\");\r\n // Title couting\r\n useEffect(() => {\r\n let _title = id ? \"\" : \"New Zone Billing\";\r\n if (customerForEdit && id) {\r\n _title = `Edit Zone Billing '${customerForEdit.firstName} ${customerForEdit.lastName}'`;\r\n }\r\n\r\n setTitle(_title);\r\n // eslint-disable-next-line\r\n }, [customerForEdit, actionsLoading]);\r\n\r\n return (\r\n <>\r\n {actionsLoading && }\r\n \r\n {title}\r\n \r\n \r\n );\r\n}\r\n","// Form is based on Formik\r\n// Data validation is based on Yup\r\n// Please, be familiar with article first:\r\n// https://hackernoon.com/react-form-validation-with-formik-and-yup-8b76bda62e10\r\nimport React from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { Formik, Form, Field } from \"formik\";\r\nimport * as Yup from \"yup\";\r\nimport {\r\n Input,\r\n Select,\r\n} from \"../../../../../../_metronic/_partials/controls\";\r\n\r\n// Validation schema\r\nconst CustomerEditSchema = Yup.object().shape({\r\n LoginUserName: Yup.string()\r\n .min(3, \"Minimum 3 symbols\")\r\n .max(50, \"Maximum 50 symbols\")\r\n .required(\"Login / User Name is required\"),\r\n Password: Yup.string()\r\n .min(8, \"Minimum 8 symbols\")\r\n .max(50, \"Maximum 50 symbols\")\r\n .required(\"Password is required\"),\r\n ConfirmPassword: Yup.string()\r\n .min(8, \"Minimum 8 symbols\")\r\n .max(50, \"Maximum 50 symbols\")\r\n .required(\"Password is required\"),\r\n email: Yup.string()\r\n .email(\"Invalid email\")\r\n .required(\"Email is required\"),\r\n Phone: Yup.string()\r\n .min(7, \"Minimum 7 Number\")\r\n .max(50, \"Maximum 50 Number\")\r\n .required(\"Phone Number is required\"),\r\n userName: Yup.string().required(\"Username is required\"),\r\n dateOfBbirth: Yup.mixed()\r\n .nullable(false)\r\n .required(\"Date of Birth is required\"),\r\n ipAddress: Yup.string().required(\"IP Address is required\"),\r\n});\r\n\r\nexport function CustomerEditForm({\r\n saveCustomer,\r\n customer,\r\n actionsLoading,\r\n onHide,\r\n}) {\r\n return (\r\n <>\r\n {\r\n saveCustomer(values);\r\n }}\r\n >\r\n {({ handleSubmit }) => (\r\n <>\r\n \r\n {actionsLoading && (\r\n
\r\n
\r\n
\r\n )}\r\n
\r\n
\r\n
\r\n
Zone Billing SELECT
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n {/* ZoneName */}\r\n \r\n
\r\n\r\n
\r\n {/* STARTZIP */}\r\n \r\n
\r\n \r\n
\r\n {/* ENDZIP */}\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n Cancel\r\n \r\n <> \r\n handleSubmit()}\r\n className=\"btn btn-success btn-elevate\"\r\n >\r\n Save\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n );\r\n}\r\n","export const CustomerStatusCssClasses = [\"danger\", \"success\", \"info\", \"\"];\r\nexport const CustomerStatusTitles = [\"Inactive\", \"Active\"];\r\nexport const CustomerTypeCssClasses = [\"success\", \"primary\", \"\"];\r\nexport const CustomerTypeTitles = [\"Business\", \"Individual\", \"\"];\r\nexport const defaultSorted = [{ dataField: \"id\", order: \"desc\" }];\r\nexport const sizePerPageList = [\r\n { text: \"3\", value: 3 },\r\n { text: \"5\", value: 5 },\r\n { text: \"10\", value: 10 }\r\n];\r\nexport const initialFilter = {\r\n filter: {\r\n lastName: \"\",\r\n firstName: \"\",\r\n email: \"\",\r\n ipAddress: \"\"\r\n },\r\n sortOrder: \"asc\", // asc||desc\r\n sortField: \"id\",\r\n pageNumber: 1,\r\n pageSize: 10\r\n};\r\n","import React, {createContext, useContext, useState, useCallback} from \"react\";\r\nimport {isEqual, isFunction} from \"lodash\";\r\nimport {initialFilter} from \"./CustomersUIHelpers\";\r\n\r\nconst CustomersUIContext = createContext();\r\n\r\nexport function useCustomersUIContext() {\r\n return useContext(CustomersUIContext);\r\n}\r\n\r\nexport const CustomersUIConsumer = CustomersUIContext.Consumer;\r\n\r\nexport function CustomersUIProvider({customersUIEvents, children}) {\r\n const [queryParams, setQueryParamsBase] = useState(initialFilter);\r\n const [ids, setIds] = useState([]);\r\n const setQueryParams = useCallback(nextQueryParams => {\r\n setQueryParamsBase(prevQueryParams => {\r\n if (isFunction(nextQueryParams)) {\r\n nextQueryParams = nextQueryParams(prevQueryParams);\r\n }\r\n\r\n if (isEqual(prevQueryParams, nextQueryParams)) {\r\n return prevQueryParams;\r\n }\r\n\r\n return nextQueryParams;\r\n });\r\n }, []);\r\n\r\n const initCustomer = {\r\n id: undefined,\r\n firstName: \"\",\r\n lastName: \"\",\r\n email: \"\",\r\n userName: \"\",\r\n gender: \"Female\",\r\n status: 0,\r\n dateOfBbirth: \"\",\r\n ipAddress: \"\",\r\n type: 1\r\n };\r\n\r\n const value = {\r\n queryParams,\r\n setQueryParamsBase,\r\n ids,\r\n setIds,\r\n setQueryParams,\r\n initCustomer,\r\n newCustomerButtonClick: customersUIEvents.newCustomerButtonClick,\r\n openEditCustomerDialog: customersUIEvents.openEditCustomerDialog,\r\n openImportCustomerDialog: customersUIEvents.openImportCustomerDialog,\r\n\r\n\r\n openDeleteCustomerDialog: customersUIEvents.openDeleteCustomerDialog,\r\n openDeleteCustomersDialog: customersUIEvents.openDeleteCustomersDialog,\r\n openFetchCustomersDialog: customersUIEvents.openFetchCustomersDialog,\r\n openUpdateCustomersStatusDialog: customersUIEvents.openUpdateCustomersStatusDialog\r\n };\r\n\r\n return {children};\r\n}","import React, { useEffect, useMemo } from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { shallowEqual, useDispatch, useSelector } from \"react-redux\";\r\nimport * as actions from \"../../../_redux/ManageZoneBilling/customersActions\";\r\nimport { CustomerEditDialogHeader } from \"./CustomerEditDialogHeader\";\r\nimport { CustomerEditForm } from \"./CustomerEditForm\";\r\nimport { useCustomersUIContext } from \"../CustomersUIContext\";\r\n\r\nexport function CustomerEditDialog({ id, show, onHide }) {\r\n // Customers UI Context\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n initCustomer: customersUIContext.initCustomer,\r\n };\r\n }, [customersUIContext]);\r\n\r\n // Customers Redux state\r\n const dispatch = useDispatch();\r\n const { actionsLoading, customerForEdit } = useSelector(\r\n (state) => ({\r\n actionsLoading: state.customers.actionsLoading,\r\n customerForEdit: state.customers.customerForEdit,\r\n }),\r\n shallowEqual\r\n );\r\n\r\n useEffect(() => {\r\n // server call for getting Customer by id\r\n dispatch(actions.fetchCustomer(id));\r\n }, [id, dispatch]);\r\n\r\n // server request for saving customer\r\n const saveCustomer = (customer) => {\r\n if (!id) {\r\n // server request for creating customer\r\n dispatch(actions.createCustomer(customer)).then(() => onHide());\r\n } else {\r\n // server request for updating customer\r\n dispatch(actions.updateCustomer(customer)).then(() => onHide());\r\n }\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n}\r\n","import React, { useEffect, useMemo } from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { shallowEqual, useDispatch, useSelector } from \"react-redux\";\r\nimport {ModalProgressBar} from \"../../../../../../_metronic/_partials/controls\";\r\nimport * as actions from \"../../../_redux/ManageZoneBilling/customersActions\";\r\nimport {useCustomersUIContext} from \"../CustomersUIContext\";\r\n\r\nexport function CustomerDeleteDialog({ id, show, onHide }) {\r\n // Customers UI Context\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n setIds: customersUIContext.setIds,\r\n queryParams: customersUIContext.queryParams\r\n };\r\n }, [customersUIContext]);\r\n\r\n // Customers Redux state\r\n const dispatch = useDispatch();\r\n const { isLoading } = useSelector(\r\n (state) => ({ isLoading: state.customers.actionsLoading }),\r\n shallowEqual\r\n );\r\n\r\n // if !id we should close modal\r\n useEffect(() => {\r\n if (!id) {\r\n onHide();\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [id]);\r\n\r\n // looking for loading/dispatch\r\n useEffect(() => {}, [isLoading, dispatch]);\r\n\r\n const deleteCustomer = () => {\r\n // server request for deleting customer by id\r\n dispatch(actions.deleteCustomer(id)).then(() => {\r\n // refresh list after deletion\r\n dispatch(actions.fetchCustomers(customersUIProps.queryParams));\r\n // clear selections list\r\n customersUIProps.setIds([]);\r\n // closing delete modal\r\n onHide();\r\n });\r\n };\r\n\r\n return (\r\n \r\n {/*begin::Loading*/}\r\n {isLoading && }\r\n {/*end::Loading*/}\r\n \r\n \r\n Zone Billing Delete\r\n \r\n \r\n \r\n {!isLoading && (\r\n Are you sure to permanently delete this Zone Billing?\r\n )}\r\n {isLoading && Zone Billing is deleting...}\r\n \r\n \r\n
\r\n \r\n Cancel\r\n \r\n <> \r\n \r\n Delete\r\n \r\n
\r\n
\r\n \r\n );\r\n}\r\n","import React, { useEffect, useMemo } from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { shallowEqual, useDispatch, useSelector } from \"react-redux\";\r\nimport * as actions from \"../../../_redux/ManageZoneBilling/customersActions\";\r\nimport { useCustomersUIContext } from \"../CustomersUIContext\";\r\nimport {ModalProgressBar} from \"../../../../../../_metronic/_partials/controls\";\r\n\r\nexport function CustomersDeleteDialog({ show, onHide }) {\r\n // Customers UI Context\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n ids: customersUIContext.ids,\r\n setIds: customersUIContext.setIds,\r\n queryParams: customersUIContext.queryParams,\r\n };\r\n }, [customersUIContext]);\r\n\r\n // Customers Redux state\r\n const dispatch = useDispatch();\r\n const { isLoading } = useSelector(\r\n (state) => ({ isLoading: state.customers.actionsLoading }),\r\n shallowEqual\r\n );\r\n\r\n // if customers weren't selected we should close modal\r\n useEffect(() => {\r\n if (!customersUIProps.ids || customersUIProps.ids.length === 0) {\r\n onHide();\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [customersUIProps.ids]);\r\n\r\n // looking for loading/dispatch\r\n useEffect(() => {}, [isLoading, dispatch]);\r\n\r\n const deleteCustomers = () => {\r\n // server request for deleting customer by selected ids\r\n dispatch(actions.deleteCustomers(customersUIProps.ids)).then(() => {\r\n // refresh list after deletion\r\n dispatch(actions.fetchCustomers(customersUIProps.queryParams)).then(\r\n () => {\r\n // clear selections list\r\n customersUIProps.setIds([]);\r\n // closing delete modal\r\n onHide();\r\n }\r\n );\r\n });\r\n };\r\n\r\n return (\r\n \r\n {/*begin::Loading*/}\r\n {isLoading && }\r\n {/*end::Loading*/}\r\n \r\n \r\n Customers Delete\r\n \r\n \r\n \r\n {!isLoading && (\r\n Are you sure to permanently delete selected customers?\r\n )}\r\n {isLoading && Customer are deleting...}\r\n \r\n \r\n
\r\n \r\n Cancel\r\n \r\n <> \r\n \r\n Delete\r\n \r\n
\r\n
\r\n \r\n );\r\n}\r\n","import React, { useEffect, useMemo } from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { shallowEqual, useSelector } from \"react-redux\";\r\nimport { CustomerStatusCssClasses } from \"../CustomersUIHelpers\";\r\nimport { useCustomersUIContext } from \"../CustomersUIContext\";\r\n\r\nconst selectedCustomers = (entities, ids) => {\r\n const _customers = [];\r\n ids.forEach((id) => {\r\n const customer = entities.find((el) => el.id === id);\r\n if (customer) {\r\n _customers.push(customer);\r\n }\r\n });\r\n return _customers;\r\n};\r\n\r\nexport function CustomersFetchDialog({ show, onHide }) {\r\n // Customers UI Context\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n ids: customersUIContext.ids,\r\n };\r\n }, [customersUIContext]);\r\n\r\n // Customers Redux state\r\n const { customers } = useSelector(\r\n (state) => ({\r\n customers: selectedCustomers(\r\n state.customers.entities,\r\n customersUIProps.ids\r\n ),\r\n }),\r\n shallowEqual\r\n );\r\n\r\n // if customers weren't selected we should close modal\r\n useEffect(() => {\r\n if (!customersUIProps.ids || customersUIProps.ids.length === 0) {\r\n onHide();\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [customersUIProps.ids]);\r\n\r\n return (\r\n \r\n \r\n \r\n Fetch selected elements\r\n \r\n \r\n \r\n
\r\n {customers.map((customer) => (\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n ID: {customer.id}\r\n \r\n {customer.lastName}, {customer.firstName} \r\n
\r\n
\r\n ))}\r\n
\r\n \r\n \r\n
\r\n \r\n Cancel\r\n \r\n <> \r\n \r\n Ok\r\n \r\n
\r\n
\r\n \r\n );\r\n}\r\n","import React, { useEffect, useState, useMemo } from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { shallowEqual, useDispatch, useSelector } from \"react-redux\";\r\nimport { CustomerStatusCssClasses } from \"../CustomersUIHelpers\";\r\nimport * as actions from \"../../../_redux/ManageCarrierAccounts/customersActions\";\r\nimport { useCustomersUIContext } from \"../CustomersUIContext\";\r\n\r\nconst selectedCustomers = (entities, ids) => {\r\n const _customers = [];\r\n ids.forEach((id) => {\r\n const customer = entities.find((el) => el.id === id);\r\n if (customer) {\r\n _customers.push(customer);\r\n }\r\n });\r\n return _customers;\r\n};\r\n\r\nexport function CustomersUpdateStateDialog({ show, onHide }) {\r\n // Customers UI Context\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n ids: customersUIContext.ids,\r\n setIds: customersUIContext.setIds,\r\n queryParams: customersUIContext.queryParams,\r\n };\r\n }, [customersUIContext]);\r\n\r\n // Customers Redux state\r\n const { customers, isLoading } = useSelector(\r\n (state) => ({\r\n customers: selectedCustomers(\r\n state.customers.entities,\r\n customersUIProps.ids\r\n ),\r\n isLoading: state.customers.actionsLoading,\r\n }),\r\n shallowEqual\r\n );\r\n\r\n // if !id we should close modal\r\n useEffect(() => {\r\n if (!customersUIProps.ids || customersUIProps.ids.length === 0) {\r\n onHide();\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [customersUIProps.ids]);\r\n\r\n const [status, setStatus] = useState(0);\r\n\r\n const dispatch = useDispatch();\r\n const updateStatus = () => {\r\n // server request for update customers status by selected ids\r\n dispatch(actions.updateCustomersStatus(customersUIProps.ids, status)).then(\r\n () => {\r\n // refresh list after deletion\r\n dispatch(actions.fetchCustomers(customersUIProps.queryParams)).then(\r\n () => {\r\n // clear selections list\r\n customersUIProps.setIds([]);\r\n // closing delete modal\r\n onHide();\r\n }\r\n );\r\n }\r\n );\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n Status has been updated for selected User\r\n \r\n \r\n \r\n {/*begin::Loading*/}\r\n {isLoading && (\r\n
\r\n
\r\n
\r\n )}\r\n {/*end::Loading*/}\r\n\r\n
\r\n {customers.map((customer) => (\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n ID: {customer.id}\r\n \r\n \r\n {customer.lastName}, {customer.firstName}\r\n \r\n
\r\n
\r\n ))}\r\n
\r\n \r\n \r\n
\r\n setStatus(+e.target.value)}\r\n >\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n Cancel\r\n \r\n \r\n Update Status\r\n \r\n
\r\n
\r\n \r\n );\r\n}\r\n","import React, { useMemo } from \"react\";\r\nimport { Formik } from \"formik\";\r\nimport { isEqual } from \"lodash\";\r\nimport { useCustomersUIContext } from \"../CustomersUIContext\";\r\nimport {\r\n Select,\r\n} from \"../../../../../../_metronic/_partials/controls\";\r\nconst prepareFilter = (queryParams, values) => {\r\n const { status, type, searchText } = values;\r\n const newQueryParams = { ...queryParams };\r\n const filter = {};\r\n // Filter by status\r\n filter.status = status !== \"\" ? +status : undefined;\r\n // Filter by type\r\n filter.type = type !== \"\" ? +type : undefined;\r\n // Filter by all fields\r\n filter.lastName = searchText;\r\n if (searchText) {\r\n filter.firstName = searchText;\r\n filter.email = searchText;\r\n filter.ipAddress = searchText;\r\n }\r\n newQueryParams.filter = filter;\r\n return newQueryParams;\r\n};\r\n\r\nexport function CustomersFilter({ listLoading }) {\r\n // Customers UI Context\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n queryParams: customersUIContext.queryParams,\r\n setQueryParams: customersUIContext.setQueryParams,\r\n };\r\n }, [customersUIContext]);\r\n\r\n // queryParams, setQueryParams,\r\n const applyFilter = (values) => {\r\n const newQueryParams = prepareFilter(customersUIProps.queryParams, values);\r\n if (!isEqual(newQueryParams, customersUIProps.queryParams)) {\r\n newQueryParams.pageNumber = 1;\r\n // update list by queryParams\r\n customersUIProps.setQueryParams(newQueryParams);\r\n }\r\n };\r\n\r\n return (\r\n <>\r\n All=\"\"/Susspended=0/Active=1/Pending=2\r\n type: \"\", // values => All=\"\"/Business=0/Individual=1\r\n searchText: \"\",\r\n }}\r\n onSubmit={(values) => {\r\n applyFilter(values);\r\n }}\r\n >\r\n {({\r\n values,\r\n handleSubmit,\r\n handleBlur,\r\n setFieldValue,\r\n }) => (\r\n
\r\n
\r\n
\r\n {\r\n setFieldValue(\"status\", e.target.value);\r\n handleSubmit();\r\n }}\r\n onBlur={handleBlur}\r\n value={values.status}\r\n >\r\n \r\n \r\n \r\n Facility\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n Zone Name\r\n \r\n
\r\n\r\n
\r\n \r\n Refresh\r\n \r\n
\r\n\r\n
\r\n
\r\n )}\r\n \r\n \r\n );\r\n}\r\n","// please be familiar with react-bootstrap-table-next column formaters\r\n// https://react-bootstrap-table.github.io/react-bootstrap-table2/storybook/index.html?selectedKind=Work%20on%20Columns&selectedStory=Column%20Formatter&full=0&addons=1&stories=1&panelRight=0&addonPanel=storybook%2Factions%2Factions-panel\r\n/* eslint-disable no-script-url,jsx-a11y/anchor-is-valid */\r\nimport React from \"react\";\r\nimport SVG from \"react-inlinesvg\";\r\nimport { toAbsoluteUrl } from \"../../../../../../../_metronic/_helpers\";\r\n\r\nexport function ActionsColumnFormatter(\r\n cellContent,\r\n row,\r\n rowIndex,\r\n { openEditCustomerDialog, openDeleteCustomerDialog }\r\n) {\r\n return (\r\n <>\r\n openEditCustomerDialog(row.id)}\r\n >\r\n \r\n \r\n \r\n \r\n <> \r\n\r\n openDeleteCustomerDialog(row.id)}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n","// React bootstrap table next =>\r\n// DOCS: https://react-bootstrap-table.github.io/react-bootstrap-table2/docs/\r\n// STORYBOOK: https://react-bootstrap-table.github.io/react-bootstrap-table2/storybook/index.html\r\nimport React, { useEffect, useMemo } from \"react\";\r\nimport BootstrapTable from \"react-bootstrap-table-next\";\r\nimport paginationFactory, {\r\n PaginationProvider,\r\n} from \"react-bootstrap-table2-paginator\";\r\nimport { shallowEqual, useDispatch, useSelector } from \"react-redux\";\r\nimport * as actions from \"../../../_redux/ManageZoneBilling/customersActions\";\r\nimport {\r\n getSelectRow,\r\n getHandlerTableChange,\r\n NoRecordsFoundMessage,\r\n PleaseWaitMessage,\r\n sortCaret,\r\n headerSortingClasses,\r\n} from \"../../../../../../_metronic/_helpers\";\r\nimport * as uiHelpers from \"../CustomersUIHelpers\";\r\nimport * as columnFormatters from \"./column-formatters\";\r\nimport { Pagination } from \"../../../../../../_metronic/_partials/controls\";\r\nimport { useCustomersUIContext } from \"../CustomersUIContext\";\r\n\r\nexport function CustomersTable() {\r\n // Customers UI Context\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n ids: customersUIContext.ids,\r\n setIds: customersUIContext.setIds,\r\n queryParams: customersUIContext.queryParams,\r\n setQueryParams: customersUIContext.setQueryParams,\r\n openEditCustomerDialog: customersUIContext.openEditCustomerDialog,\r\n openDeleteCustomerDialog: customersUIContext.openDeleteCustomerDialog,\r\n };\r\n }, [customersUIContext]);\r\n\r\n // Getting curret state of customers list from store (Redux)\r\n const { currentState } = useSelector(\r\n (state) => ({ currentState: state.customers }),\r\n shallowEqual\r\n );\r\n const { totalCount, entities, listLoading } = currentState;\r\n\r\n // Customers Redux state\r\n const dispatch = useDispatch();\r\n useEffect(() => {\r\n // clear selections list\r\n customersUIProps.setIds([]);\r\n // server call by queryParams\r\n dispatch(actions.fetchCustomers(customersUIProps.queryParams));\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [customersUIProps.queryParams, dispatch]);\r\n // Table columns\r\n const columns = [\r\n {\r\n dataField: \"id\",\r\n text: \"ID\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n headerSortingClasses,\r\n },\r\n {\r\n dataField: \"ZONENAME\",\r\n text: \"ZONENAME\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n headerSortingClasses,\r\n },\r\n {\r\n dataField: \"STARTZIP\",\r\n text: \"STARTZIP\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n headerSortingClasses,\r\n },\r\n {\r\n dataField: \"ENDZIP\",\r\n text: \"ENDZIP\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n headerSortingClasses,\r\n },\r\n {\r\n dataField: \"action\",\r\n text: \"Actions\",\r\n formatter: columnFormatters.ActionsColumnFormatter,\r\n formatExtraData: {\r\n openEditCustomerDialog: customersUIProps.openEditCustomerDialog,\r\n openDeleteCustomerDialog: customersUIProps.openDeleteCustomerDialog,\r\n },\r\n classes: \"text-center pr-0\",\r\n headerClasses: \"text-center pr-3\",\r\n style: {\r\n minWidth: \"100px\",\r\n },\r\n },\r\n ];\r\n // Table pagination properties\r\n const paginationOptions = {\r\n custom: true,\r\n totalSize: totalCount,\r\n sizePerPageList: uiHelpers.sizePerPageList,\r\n sizePerPage: customersUIProps.queryParams.pageSize,\r\n page: customersUIProps.queryParams.pageNumber,\r\n };\r\n return (\r\n <>\r\n \r\n {({ paginationProps, paginationTableProps }) => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n }}\r\n \r\n \r\n );\r\n}\r\n","import React, { useMemo } from \"react\";\r\nimport { useCustomersUIContext } from \"../CustomersUIContext\";\r\n\r\nexport function CustomersGrouping() {\r\n // Customers UI Context\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n ids: customersUIContext.ids,\r\n setIds: customersUIContext.setIds,\r\n openDeleteCustomersDialog: customersUIContext.openDeleteCustomersDialog,\r\n openFetchCustomersDialog: customersUIContext.openFetchCustomersDialog,\r\n openUpdateCustomersStatusDialog:\r\n customersUIContext.openUpdateCustomersStatusDialog,\r\n };\r\n }, [customersUIContext]);\r\n\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n Delete All\r\n \r\n  \r\n
\r\n
\r\n
\r\n
\r\n
\r\n );\r\n}\r\n","import React from 'react';\r\nimport Button from '@material-ui/core/Button';\r\nimport Dialog from '@material-ui/core/Dialog';\r\nimport DialogActions from '@material-ui/core/DialogActions';\r\nimport DialogContent from '@material-ui/core/DialogContent';\r\nimport DialogTitle from '@material-ui/core/DialogTitle';\r\nimport {makeStyles} from '@material-ui/core/styles';\r\nconst useStyles = makeStyles(theme => ({\r\n textDecoration: {\r\n lineHeight: '2rem',\r\n },\r\n }));\r\nexport function CustomerDialogForm() {\r\n const [open, setOpen] = React.useState(false);\r\n\r\n function handleClickOpen() {\r\n setOpen(true);\r\n }\r\n\r\n function handleClose() {\r\n setOpen(false);\r\n }\r\n const classes = useStyles();\r\n return (\r\n
\r\n \r\n Import\r\n \r\n \r\n Import\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n Use the 'Browse...' button to select an zone import file\r\n Then press the 'Import Zones' button to read the file.\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n After previewing the imported data for accuracy\r\n Press the 'Update Zones' button to update the Zones.\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n );\r\n}\r\n","import React, { useMemo } from \"react\";\r\nimport {\r\n Card,\r\n CardBody,\r\n CardHeader,\r\n CardHeaderToolbar,\r\n} from \"../../../../../_metronic/_partials/controls\";\r\nimport { CustomersFilter } from \"./customers-filter/CustomersFilter\";\r\nimport { CustomersTable } from \"./customers-table/CustomersTable\";\r\nimport { CustomersGrouping } from \"./customers-grouping/CustomersGrouping\";\r\nimport { useCustomersUIContext } from \"./CustomersUIContext\";\r\nimport { CustomerDialogForm } from './customer-import-dialog/CustomerDialogForm';\r\nimport {\r\n Button,\r\n InputGroup,\r\n FormControl,\r\n DropdownButton,\r\n Dropdown\r\n} from \"react-bootstrap\";\r\nexport function CustomersCard() {\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n ids: customersUIContext.ids,\r\n newCustomerButtonClick: customersUIContext.newCustomerButtonClick,\r\n };\r\n }, [customersUIContext]);\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n Add\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n {customersUIProps.ids.length > 0 && }\r\n \r\n \r\n
\r\n );\r\n }","import React from \"react\";\r\nimport { Route } from \"react-router-dom\";\r\nimport { CustomersLoadingDialog } from \"./customers-loading-dialog/CustomersLoadingDialog\";\r\nimport { CustomerEditDialog } from \"./customer-edit-dialog/CustomerEditDialog\";\r\nimport { CustomerDeleteDialog } from \"./customer-delete-dialog/CustomerDeleteDialog\";\r\nimport { CustomersDeleteDialog } from \"./customers-delete-dialog/CustomersDeleteDialog\";\r\nimport { CustomersFetchDialog } from \"./customers-fetch-dialog/CustomersFetchDialog\";\r\nimport { CustomersUpdateStateDialog } from \"./customers-update-status-dialog/CustomersUpdateStateDialog\";\r\nimport { CustomersUIProvider } from \"./CustomersUIContext\";\r\nimport { CustomersCard } from \"./CustomersCard\";\r\n\r\nexport function ManageZoneBilling({ history }) {\r\n const customersUIEvents = {\r\n newCustomerButtonClick: () => {\r\n history.push(\"/ManageZoneBilling/new\");\r\n },\r\n openEditCustomerDialog: (id) => {\r\n history.push(`/ManageZoneBilling/${id}/edit`);\r\n },\r\n openDeleteCustomerDialog: (id) => {\r\n history.push(`/ManageZoneBilling/${id}/delete`);\r\n },\r\n openDeleteCustomersDialog: () => {\r\n history.push(`/ManageZoneBilling/deleteCustomers`);\r\n },\r\n openFetchCustomersDialog: () => {\r\n history.push(`/ManageZoneBilling/fetch`);\r\n },\r\n openUpdateCustomersStatusDialog: () => {\r\n history.push(\"/ManageZoneBilling/updateStatus\");\r\n }\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n {({ history, match }) => (\r\n {\r\n history.push(\"/ManageZoneBilling\");\r\n }}\r\n />\r\n )}\r\n \r\n \r\n {({ history, match }) => (\r\n {\r\n history.push(\"/ManageZoneBilling\");\r\n }}\r\n />\r\n )}\r\n \r\n \r\n {({ history, match }) => (\r\n {\r\n history.push(\"/ManageZoneBilling\");\r\n }}\r\n />\r\n )}\r\n \r\n \r\n {({ history, match }) => (\r\n {\r\n history.push(\"/ManageZoneBilling\");\r\n }}\r\n />\r\n )}\r\n \r\n \r\n {({ history, match }) => (\r\n {\r\n history.push(\"/ManageZoneBilling\");\r\n }}\r\n />\r\n )}\r\n \r\n \r\n {({ history, match }) => (\r\n {\r\n history.push(\"/ManageZoneBilling\");\r\n }}\r\n />\r\n )}\r\n \r\n \r\n {({ history, match }) => (\r\n {\r\n history.push(\"/ManageZoneBilling\");\r\n }}\r\n />\r\n )}\r\n \r\n \r\n \r\n );\r\n}\r\n","import React, { useEffect } from \"react\";\r\nimport { shallowEqual, useSelector } from \"react-redux\";\r\nimport { LoadingDialog } from \"../../../../../../_metronic/_partials/controls\";\r\n\r\nexport function CustomersLoadingDialog() {\r\n // Customers Redux state\r\n const { isLoading } = useSelector(\r\n (state) => ({ isLoading: state.customers.listLoading }),\r\n shallowEqual\r\n );\r\n // looking for loading/dispatch\r\n useEffect(() => {}, [isLoading]);\r\n return ;\r\n}\r\n","import React, { useState, useEffect } from \"react\";\r\nimport { shallowEqual, useSelector } from \"react-redux\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport {ModalProgressBar} from \"../../../../../../_metronic/_partials/controls\";\r\n\r\nexport function CustomerEditDialogHeader({ id }) {\r\n // Customers Redux state\r\n const { customerForEdit, actionsLoading } = useSelector(\r\n (state) => ({\r\n customerForEdit: state.customers.customerForEdit,\r\n actionsLoading: state.customers.actionsLoading,\r\n }),\r\n shallowEqual\r\n );\r\n\r\n const [title, setTitle] = useState(\"\");\r\n // Title couting\r\n useEffect(() => {\r\n let _title = id ? \"\" : \"New carrier connection\";\r\n if (customerForEdit && id) {\r\n _title = `Edit customer '${customerForEdit.firstName} ${customerForEdit.lastName}'`;\r\n }\r\n\r\n setTitle(_title);\r\n // eslint-disable-next-line\r\n }, [customerForEdit, actionsLoading]);\r\n\r\n return (\r\n <>\r\n {actionsLoading && }\r\n \r\n {title}\r\n \r\n \r\n );\r\n}\r\n","// Form is based on Formik\r\n// Data validation is based on Yup\r\n// Please, be familiar with article first:\r\n// https://hackernoon.com/react-form-validation-with-formik-and-yup-8b76bda62e10\r\nimport React from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { Formik, Form } from \"formik\";\r\nimport * as Yup from \"yup\";\r\nimport {\r\n Select,\r\n} from \"../../../../../../_metronic/_partials/controls\";\r\n\r\n// Validation schema\r\nconst CustomerEditSchema = Yup.object().shape({\r\n LoginUserName: Yup.string()\r\n .min(3, \"Minimum 3 symbols\")\r\n .max(50, \"Maximum 50 symbols\")\r\n .required(\"Login / User Name is required\"),\r\n Password: Yup.string()\r\n .min(8, \"Minimum 8 symbols\")\r\n .max(50, \"Maximum 50 symbols\")\r\n .required(\"Password is required\"),\r\n ConfirmPassword: Yup.string()\r\n .min(8, \"Minimum 8 symbols\")\r\n .max(50, \"Maximum 50 symbols\")\r\n .required(\"Password is required\"),\r\n email: Yup.string()\r\n .email(\"Invalid email\")\r\n .required(\"Email is required\"),\r\n Phone: Yup.string()\r\n .min(7, \"Minimum 7 Number\")\r\n .max(50, \"Maximum 50 Number\")\r\n .required(\"Phone Number is required\"),\r\n userName: Yup.string().required(\"Username is required\"),\r\n dateOfBbirth: Yup.mixed()\r\n .nullable(false)\r\n .required(\"Date of Birth is required\"),\r\n ipAddress: Yup.string().required(\"IP Address is required\"),\r\n});\r\n\r\nexport function CustomerEditForm({\r\n saveCustomer,\r\n customer,\r\n actionsLoading,\r\n onHide,\r\n}) {\r\n return (\r\n <>\r\n {\r\n saveCustomer(values);\r\n }}\r\n >\r\n {({ handleSubmit }) => (\r\n <>\r\n \r\n {actionsLoading && (\r\n
\r\n
\r\n
\r\n )}\r\n
\r\n
\r\n
\r\n
CARRIER SELECT
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n Cancel\r\n \r\n <> \r\n handleSubmit()}\r\n className=\"btn btn-success btn-elevate\"\r\n >\r\n Save\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n );\r\n}\r\n","export const CustomerStatusCssClasses = [\"danger\", \"success\", \"info\", \"\"];\r\nexport const CustomerStatusTitles = [\"Inactive\", \"Active\"];\r\nexport const CustomerTypeCssClasses = [\"success\", \"primary\", \"\"];\r\nexport const CustomerTypeTitles = [\"Business\", \"Individual\", \"\"];\r\nexport const defaultSorted = [{ dataField: \"id\", order: \"desc\" }];\r\nexport const sizePerPageList = [\r\n { text: \"3\", value: 3 },\r\n { text: \"5\", value: 5 },\r\n { text: \"10\", value: 10 }\r\n];\r\nexport const initialFilter = {\r\n filter: {\r\n lastName: \"\",\r\n firstName: \"\",\r\n email: \"\",\r\n ipAddress: \"\"\r\n },\r\n sortOrder: \"asc\", // asc||desc\r\n sortField: \"id\",\r\n pageNumber: 1,\r\n pageSize: 10\r\n};\r\n","import React, {createContext, useContext, useState, useCallback} from \"react\";\r\nimport {isEqual, isFunction} from \"lodash\";\r\nimport {initialFilter} from \"./CustomersUIHelpers\";\r\n\r\nconst CustomersUIContext = createContext();\r\n\r\nexport function useCustomersUIContext() {\r\n return useContext(CustomersUIContext);\r\n}\r\n\r\nexport const CustomersUIConsumer = CustomersUIContext.Consumer;\r\n\r\nexport function CustomersUIProvider({customersUIEvents, children}) {\r\n const [queryParams, setQueryParamsBase] = useState(initialFilter);\r\n const [ids, setIds] = useState([]);\r\n const setQueryParams = useCallback(nextQueryParams => {\r\n setQueryParamsBase(prevQueryParams => {\r\n if (isFunction(nextQueryParams)) {\r\n nextQueryParams = nextQueryParams(prevQueryParams);\r\n }\r\n\r\n if (isEqual(prevQueryParams, nextQueryParams)) {\r\n return prevQueryParams;\r\n }\r\n\r\n return nextQueryParams;\r\n });\r\n }, []);\r\n\r\n const initCustomer = {\r\n id: undefined,\r\n firstName: \"\",\r\n lastName: \"\",\r\n email: \"\",\r\n userName: \"\",\r\n gender: \"Female\",\r\n status: 0,\r\n dateOfBbirth: \"\",\r\n ipAddress: \"\",\r\n type: 1\r\n };\r\n\r\n const value = {\r\n queryParams,\r\n setQueryParamsBase,\r\n ids,\r\n setIds,\r\n setQueryParams,\r\n initCustomer,\r\n newCustomerButtonClick: customersUIEvents.newCustomerButtonClick,\r\n openEditCustomerDialog: customersUIEvents.openEditCustomerDialog,\r\n openDeleteCustomerDialog: customersUIEvents.openDeleteCustomerDialog,\r\n openDeleteCustomersDialog: customersUIEvents.openDeleteCustomersDialog,\r\n openFetchCustomersDialog: customersUIEvents.openFetchCustomersDialog,\r\n openUpdateCustomersStatusDialog: customersUIEvents.openUpdateCustomersStatusDialog\r\n };\r\n\r\n return {children};\r\n}","import React, { useEffect, useMemo } from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { shallowEqual, useDispatch, useSelector } from \"react-redux\";\r\nimport * as actions from \"../../../_redux/ManageCarrierAccounts/customersActions\";\r\nimport { CustomerEditDialogHeader } from \"./CustomerEditDialogHeader\";\r\nimport { CustomerEditForm } from \"./CustomerEditForm\";\r\nimport { useCustomersUIContext } from \"../CustomersUIContext\";\r\n\r\nexport function CustomerEditDialog({ id, show, onHide }) {\r\n // Customers UI Context\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n initCustomer: customersUIContext.initCustomer,\r\n };\r\n }, [customersUIContext]);\r\n\r\n // Customers Redux state\r\n const dispatch = useDispatch();\r\n const { actionsLoading, customerForEdit } = useSelector(\r\n (state) => ({\r\n actionsLoading: state.customers.actionsLoading,\r\n customerForEdit: state.customers.customerForEdit,\r\n }),\r\n shallowEqual\r\n );\r\n\r\n useEffect(() => {\r\n // server call for getting Customer by id\r\n dispatch(actions.fetchCustomer(id));\r\n }, [id, dispatch]);\r\n\r\n // server request for saving customer\r\n const saveCustomer = (customer) => {\r\n if (!id) {\r\n // server request for creating customer\r\n dispatch(actions.createCustomer(customer)).then(() => onHide());\r\n } else {\r\n // server request for updating customer\r\n dispatch(actions.updateCustomer(customer)).then(() => onHide());\r\n }\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n}\r\n","import React, { useEffect, useMemo } from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { shallowEqual, useDispatch, useSelector } from \"react-redux\";\r\nimport {ModalProgressBar} from \"../../../../../../_metronic/_partials/controls\";\r\nimport * as actions from \"../../../_redux/ManageCarrierAccounts/customersActions\";\r\nimport {useCustomersUIContext} from \"../CustomersUIContext\";\r\n\r\nexport function CustomerDeleteDialog({ id, show, onHide }) {\r\n // Customers UI Context\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n setIds: customersUIContext.setIds,\r\n queryParams: customersUIContext.queryParams\r\n };\r\n }, [customersUIContext]);\r\n\r\n // Customers Redux state\r\n const dispatch = useDispatch();\r\n const { isLoading } = useSelector(\r\n (state) => ({ isLoading: state.customers.actionsLoading }),\r\n shallowEqual\r\n );\r\n\r\n // if !id we should close modal\r\n useEffect(() => {\r\n if (!id) {\r\n onHide();\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [id]);\r\n\r\n // looking for loading/dispatch\r\n useEffect(() => {}, [isLoading, dispatch]);\r\n\r\n const deleteCustomer = () => {\r\n // server request for deleting customer by id\r\n dispatch(actions.deleteCustomer(id)).then(() => {\r\n // refresh list after deletion\r\n dispatch(actions.fetchCustomers(customersUIProps.queryParams));\r\n // clear selections list\r\n customersUIProps.setIds([]);\r\n // closing delete modal\r\n onHide();\r\n });\r\n };\r\n\r\n return (\r\n \r\n {/*begin::Loading*/}\r\n {isLoading && }\r\n {/*end::Loading*/}\r\n \r\n \r\n Customer Delete\r\n \r\n \r\n \r\n {!isLoading && (\r\n Are you sure to permanently delete this customer?\r\n )}\r\n {isLoading && Customer is deleting...}\r\n \r\n \r\n
\r\n \r\n Cancel\r\n \r\n <> \r\n \r\n Delete\r\n \r\n
\r\n
\r\n \r\n );\r\n}\r\n","import React, { useEffect, useMemo } from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { shallowEqual, useDispatch, useSelector } from \"react-redux\";\r\nimport * as actions from \"../../../_redux/ManageCarrierAccounts/customersActions\";\r\nimport { useCustomersUIContext } from \"../CustomersUIContext\";\r\nimport {ModalProgressBar} from \"../../../../../../_metronic/_partials/controls\";\r\n\r\nexport function CustomersDeleteDialog({ show, onHide }) {\r\n // Customers UI Context\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n ids: customersUIContext.ids,\r\n setIds: customersUIContext.setIds,\r\n queryParams: customersUIContext.queryParams,\r\n };\r\n }, [customersUIContext]);\r\n\r\n // Customers Redux state\r\n const dispatch = useDispatch();\r\n const { isLoading } = useSelector(\r\n (state) => ({ isLoading: state.customers.actionsLoading }),\r\n shallowEqual\r\n );\r\n\r\n // if customers weren't selected we should close modal\r\n useEffect(() => {\r\n if (!customersUIProps.ids || customersUIProps.ids.length === 0) {\r\n onHide();\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [customersUIProps.ids]);\r\n\r\n // looking for loading/dispatch\r\n useEffect(() => {}, [isLoading, dispatch]);\r\n\r\n const deleteCustomers = () => {\r\n // server request for deleting customer by selected ids\r\n dispatch(actions.deleteCustomers(customersUIProps.ids)).then(() => {\r\n // refresh list after deletion\r\n dispatch(actions.fetchCustomers(customersUIProps.queryParams)).then(\r\n () => {\r\n // clear selections list\r\n customersUIProps.setIds([]);\r\n // closing delete modal\r\n onHide();\r\n }\r\n );\r\n });\r\n };\r\n\r\n return (\r\n \r\n {/*begin::Loading*/}\r\n {isLoading && }\r\n {/*end::Loading*/}\r\n \r\n \r\n Customers Delete\r\n \r\n \r\n \r\n {!isLoading && (\r\n Are you sure to permanently delete selected customers?\r\n )}\r\n {isLoading && Customer are deleting...}\r\n \r\n \r\n
\r\n \r\n Cancel\r\n \r\n <> \r\n \r\n Delete\r\n \r\n
\r\n
\r\n \r\n );\r\n}\r\n","import React, { useEffect, useMemo } from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { shallowEqual, useSelector } from \"react-redux\";\r\nimport { CustomerStatusCssClasses } from \"../CustomersUIHelpers\";\r\nimport { useCustomersUIContext } from \"../CustomersUIContext\";\r\n\r\nconst selectedCustomers = (entities, ids) => {\r\n const _customers = [];\r\n ids.forEach((id) => {\r\n const customer = entities.find((el) => el.id === id);\r\n if (customer) {\r\n _customers.push(customer);\r\n }\r\n });\r\n return _customers;\r\n};\r\n\r\nexport function CustomersFetchDialog({ show, onHide }) {\r\n // Customers UI Context\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n ids: customersUIContext.ids,\r\n };\r\n }, [customersUIContext]);\r\n\r\n // Customers Redux state\r\n const { customers } = useSelector(\r\n (state) => ({\r\n customers: selectedCustomers(\r\n state.customers.entities,\r\n customersUIProps.ids\r\n ),\r\n }),\r\n shallowEqual\r\n );\r\n\r\n // if customers weren't selected we should close modal\r\n useEffect(() => {\r\n if (!customersUIProps.ids || customersUIProps.ids.length === 0) {\r\n onHide();\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [customersUIProps.ids]);\r\n\r\n return (\r\n \r\n \r\n \r\n Fetch selected elements\r\n \r\n \r\n \r\n
\r\n {customers.map((customer) => (\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n ID: {customer.id}\r\n \r\n {customer.lastName}, {customer.firstName} \r\n
\r\n
\r\n ))}\r\n
\r\n \r\n \r\n
\r\n \r\n Cancel\r\n \r\n <> \r\n \r\n Ok\r\n \r\n
\r\n
\r\n \r\n );\r\n}\r\n","import React, { useEffect, useState, useMemo } from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { shallowEqual, useDispatch, useSelector } from \"react-redux\";\r\nimport { CustomerStatusCssClasses } from \"../CustomersUIHelpers\";\r\nimport * as actions from \"../../../_redux/ManageCarrierAccounts/customersActions\";\r\nimport { useCustomersUIContext } from \"../CustomersUIContext\";\r\n\r\nconst selectedCustomers = (entities, ids) => {\r\n const _customers = [];\r\n ids.forEach((id) => {\r\n const customer = entities.find((el) => el.id === id);\r\n if (customer) {\r\n _customers.push(customer);\r\n }\r\n });\r\n return _customers;\r\n};\r\n\r\nexport function CustomersUpdateStateDialog({ show, onHide }) {\r\n // Customers UI Context\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n ids: customersUIContext.ids,\r\n setIds: customersUIContext.setIds,\r\n queryParams: customersUIContext.queryParams,\r\n };\r\n }, [customersUIContext]);\r\n\r\n // Customers Redux state\r\n const { customers, isLoading } = useSelector(\r\n (state) => ({\r\n customers: selectedCustomers(\r\n state.customers.entities,\r\n customersUIProps.ids\r\n ),\r\n isLoading: state.customers.actionsLoading,\r\n }),\r\n shallowEqual\r\n );\r\n\r\n // if !id we should close modal\r\n useEffect(() => {\r\n if (!customersUIProps.ids || customersUIProps.ids.length === 0) {\r\n onHide();\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [customersUIProps.ids]);\r\n\r\n const [status, setStatus] = useState(0);\r\n\r\n const dispatch = useDispatch();\r\n const updateStatus = () => {\r\n // server request for update customers status by selected ids\r\n dispatch(actions.updateCustomersStatus(customersUIProps.ids, status)).then(\r\n () => {\r\n // refresh list after deletion\r\n dispatch(actions.fetchCustomers(customersUIProps.queryParams)).then(\r\n () => {\r\n // clear selections list\r\n customersUIProps.setIds([]);\r\n // closing delete modal\r\n onHide();\r\n }\r\n );\r\n }\r\n );\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n Status has been updated for selected User\r\n \r\n \r\n \r\n {/*begin::Loading*/}\r\n {isLoading && (\r\n
\r\n
\r\n
\r\n )}\r\n {/*end::Loading*/}\r\n\r\n
\r\n {customers.map((customer) => (\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n ID: {customer.id}\r\n \r\n \r\n {customer.lastName}, {customer.firstName}\r\n \r\n
\r\n
\r\n ))}\r\n
\r\n \r\n \r\n
\r\n setStatus(+e.target.value)}\r\n >\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n Cancel\r\n \r\n \r\n Update Status\r\n \r\n
\r\n
\r\n \r\n );\r\n}\r\n","import React, { useMemo } from \"react\";\r\nimport { Formik } from \"formik\";\r\nimport { isEqual } from \"lodash\";\r\nimport { useCustomersUIContext } from \"../CustomersUIContext\";\r\nconst prepareFilter = (queryParams, values) => {\r\n const { status, type, searchText } = values;\r\n const newQueryParams = { ...queryParams };\r\n const filter = {};\r\n // Filter by status\r\n filter.status = status !== \"\" ? +status : undefined;\r\n // Filter by type\r\n filter.type = type !== \"\" ? +type : undefined;\r\n // Filter by all fields\r\n filter.lastName = searchText;\r\n if (searchText) {\r\n filter.firstName = searchText;\r\n filter.email = searchText;\r\n filter.ipAddress = searchText;\r\n }\r\n newQueryParams.filter = filter;\r\n return newQueryParams;\r\n};\r\n\r\nexport function CustomersFilter({ listLoading }) {\r\n // Customers UI Context\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n queryParams: customersUIContext.queryParams,\r\n setQueryParams: customersUIContext.setQueryParams,\r\n };\r\n }, [customersUIContext]);\r\n\r\n // queryParams, setQueryParams,\r\n const applyFilter = (values) => {\r\n const newQueryParams = prepareFilter(customersUIProps.queryParams, values);\r\n if (!isEqual(newQueryParams, customersUIProps.queryParams)) {\r\n newQueryParams.pageNumber = 1;\r\n // update list by queryParams\r\n customersUIProps.setQueryParams(newQueryParams);\r\n }\r\n };\r\n\r\n return (\r\n <>\r\n All=\"\"/Susspended=0/Active=1/Pending=2\r\n type: \"\", // values => All=\"\"/Business=0/Individual=1\r\n searchText: \"\",\r\n }}\r\n onSubmit={(values) => {\r\n applyFilter(values);\r\n }}\r\n >\r\n {({\r\n values,\r\n handleSubmit,\r\n handleBlur,\r\n handleChange,\r\n setFieldValue,\r\n }) => (\r\n
\r\n
\r\n
\r\n {\r\n setFieldValue(\"status\", e.target.value);\r\n handleSubmit();\r\n }}\r\n onBlur={handleBlur}\r\n value={values.status}\r\n >\r\n \r\n \r\n \r\n Select Customer\r\n \r\n
\r\n
\r\n
\r\n )}\r\n \r\n \r\n );\r\n}\r\n","// please be familiar with react-bootstrap-table-next column formaters\r\n// https://react-bootstrap-table.github.io/react-bootstrap-table2/storybook/index.html?selectedKind=Work%20on%20Columns&selectedStory=Column%20Formatter&full=0&addons=1&stories=1&panelRight=0&addonPanel=storybook%2Factions%2Factions-panel\r\n/* eslint-disable no-script-url,jsx-a11y/anchor-is-valid */\r\nimport React from \"react\";\r\nimport SVG from \"react-inlinesvg\";\r\nimport { toAbsoluteUrl } from \"../../../../../../../_metronic/_helpers\";\r\n\r\nexport function ActionsColumnFormatter(\r\n cellContent,\r\n row,\r\n rowIndex,\r\n { openEditCustomerDialog, openDeleteCustomerDialog }\r\n) {\r\n return (\r\n <>\r\n openEditCustomerDialog(row.id)}\r\n >\r\n \r\n \r\n \r\n \r\n <> \r\n\r\n openDeleteCustomerDialog(row.id)}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n","// React bootstrap table next =>\r\n// DOCS: https://react-bootstrap-table.github.io/react-bootstrap-table2/docs/\r\n// STORYBOOK: https://react-bootstrap-table.github.io/react-bootstrap-table2/storybook/index.html\r\nimport React, { useEffect, useMemo } from \"react\";\r\nimport BootstrapTable from \"react-bootstrap-table-next\";\r\nimport paginationFactory, {\r\n PaginationProvider,\r\n} from \"react-bootstrap-table2-paginator\";\r\nimport { shallowEqual, useDispatch, useSelector } from \"react-redux\";\r\nimport * as actions from \"../../../_redux/ManageZoneBilling/customersActions\";\r\nimport {\r\n getSelectRow,\r\n getHandlerTableChange,\r\n NoRecordsFoundMessage,\r\n PleaseWaitMessage,\r\n sortCaret,\r\n headerSortingClasses,\r\n} from \"../../../../../../_metronic/_helpers\";\r\nimport * as uiHelpers from \"../CustomersUIHelpers\";\r\nimport * as columnFormatters from \"./column-formatters\";\r\nimport { Pagination } from \"../../../../../../_metronic/_partials/controls\";\r\nimport { useCustomersUIContext } from \"../CustomersUIContext\";\r\n\r\nexport function CustomersTable() {\r\n // Customers UI Context\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n ids: customersUIContext.ids,\r\n setIds: customersUIContext.setIds,\r\n queryParams: customersUIContext.queryParams,\r\n setQueryParams: customersUIContext.setQueryParams,\r\n openEditCustomerDialog: customersUIContext.openEditCustomerDialog,\r\n openDeleteCustomerDialog: customersUIContext.openDeleteCustomerDialog,\r\n };\r\n }, [customersUIContext]);\r\n\r\n // Getting curret state of customers list from store (Redux)\r\n const { currentState } = useSelector(\r\n (state) => ({ currentState: state.customers }),\r\n shallowEqual\r\n );\r\n const { totalCount, entities, listLoading } = currentState;\r\n\r\n // Customers Redux state\r\n const dispatch = useDispatch();\r\n useEffect(() => {\r\n // clear selections list\r\n customersUIProps.setIds([]);\r\n // server call by queryParams\r\n dispatch(actions.fetchCustomers(customersUIProps.queryParams));\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [customersUIProps.queryParams, dispatch]);\r\n // Table columns\r\n const columns = [\r\n {\r\n dataField: \"id\",\r\n text: \"ID\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n headerSortingClasses,\r\n },\r\n {\r\n dataField: \"ACCOUNTOWNER\",\r\n text: \"ACCOUN TOWNER\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n headerSortingClasses,\r\n },\r\n {\r\n dataField: \"CARRIER\",\r\n text: \"CARRIER\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n headerSortingClasses,\r\n },\r\n {\r\n dataField: \"ACCOUNTNICKNAME\",\r\n text: \"ACCOUNT NICKNAME\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n headerSortingClasses,\r\n },\r\n {\r\n dataField: \"ACCOUNTTYPE\",\r\n text: \"ACCOUNT TYPE\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n headerSortingClasses,\r\n },\r\n {\r\n dataField: \"ACCOUNTNUMBER\",\r\n text: \"ACCOUNT NUMBER\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n headerSortingClasses,\r\n },\r\n {\r\n dataField: \"action\",\r\n text: \"Actions\",\r\n formatter: columnFormatters.ActionsColumnFormatter,\r\n formatExtraData: {\r\n openEditCustomerDialog: customersUIProps.openEditCustomerDialog,\r\n openDeleteCustomerDialog: customersUIProps.openDeleteCustomerDialog,\r\n },\r\n classes: \"text-center pr-0\",\r\n headerClasses: \"text-center pr-3\",\r\n style: {\r\n minWidth: \"100px\",\r\n },\r\n },\r\n ];\r\n // Table pagination properties\r\n const paginationOptions = {\r\n custom: true,\r\n totalSize: totalCount,\r\n sizePerPageList: uiHelpers.sizePerPageList,\r\n sizePerPage: customersUIProps.queryParams.pageSize,\r\n page: customersUIProps.queryParams.pageNumber,\r\n };\r\n return (\r\n <>\r\n \r\n {({ paginationProps, paginationTableProps }) => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n }}\r\n \r\n \r\n );\r\n}\r\n","import React, { useMemo } from \"react\";\r\nimport { useCustomersUIContext } from \"../CustomersUIContext\";\r\n\r\nexport function CustomersGrouping() {\r\n // Customers UI Context\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n ids: customersUIContext.ids,\r\n setIds: customersUIContext.setIds,\r\n openDeleteCustomersDialog: customersUIContext.openDeleteCustomersDialog,\r\n openFetchCustomersDialog: customersUIContext.openFetchCustomersDialog,\r\n openUpdateCustomersStatusDialog:\r\n customersUIContext.openUpdateCustomersStatusDialog,\r\n };\r\n }, [customersUIContext]);\r\n\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n Delete All\r\n \r\n  \r\n
\r\n
\r\n
\r\n
\r\n
\r\n );\r\n}\r\n","import React, { useMemo } from \"react\";\r\nimport {\r\n Card,\r\n CardBody,\r\n CardHeader,\r\n CardHeaderToolbar,\r\n} from \"../../../../../_metronic/_partials/controls\";\r\nimport { CustomersFilter } from \"./customers-filter/CustomersFilter\";\r\nimport { CustomersTable } from \"./customers-table/CustomersTable\";\r\nimport { CustomersGrouping } from \"./customers-grouping/CustomersGrouping\";\r\nimport { useCustomersUIContext } from \"./CustomersUIContext\";\r\nimport {\r\n Button,\r\n InputGroup,\r\n FormControl,\r\n DropdownButton,\r\n Dropdown\r\n} from \"react-bootstrap\";\r\nexport function CustomersCard() {\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n ids: customersUIContext.ids,\r\n newCustomerButtonClick: customersUIContext.newCustomerButtonClick,\r\n };\r\n }, [customersUIContext]);\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n Add\r\n \r\n \r\n Reset Default Grid Layout\r\n Clear Sort\r\n \r\n \r\n \r\n \r\n \r\n {customersUIProps.ids.length > 0 && }\r\n \r\n \r\n \r\n );\r\n}\r\n","import React from \"react\";\r\nimport { Route } from \"react-router-dom\";\r\nimport { CustomersLoadingDialog } from \"./customers-loading-dialog/CustomersLoadingDialog\";\r\nimport { CustomerEditDialog } from \"./customer-edit-dialog/CustomerEditDialog\";\r\nimport { CustomerDeleteDialog } from \"./customer-delete-dialog/CustomerDeleteDialog\";\r\nimport { CustomersDeleteDialog } from \"./customers-delete-dialog/CustomersDeleteDialog\";\r\nimport { CustomersFetchDialog } from \"./customers-fetch-dialog/CustomersFetchDialog\";\r\nimport { CustomersUpdateStateDialog } from \"./customers-update-status-dialog/CustomersUpdateStateDialog\";\r\nimport { CustomersUIProvider } from \"./CustomersUIContext\";\r\nimport { CustomersCard } from \"./CustomersCard\";\r\n\r\nexport function ManageCarrierAccounts({ history }) {\r\n const customersUIEvents = {\r\n newCustomerButtonClick: () => {\r\n history.push(\"/ManageCarrierAccounts/new\");\r\n },\r\n openEditCustomerDialog: (id) => {\r\n history.push(`/ManageCarrierAccounts/${id}/edit`);\r\n },\r\n openDeleteCustomerDialog: (id) => {\r\n history.push(`/ManageCarrierAccounts/${id}/delete`);\r\n },\r\n openDeleteCustomersDialog: () => {\r\n history.push(`/ManageCarrierAccounts/deleteCustomers`);\r\n },\r\n openFetchCustomersDialog: () => {\r\n history.push(`/ManageCarrierAccounts/fetch`);\r\n },\r\n openUpdateCustomersStatusDialog: () => {\r\n history.push(\"/ManageCarrierAccounts/updateStatus\");\r\n }\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n {({ history, match }) => (\r\n {\r\n history.push(\"/ManageCarrierAccounts\");\r\n }}\r\n />\r\n )}\r\n \r\n \r\n {({ history, match }) => (\r\n {\r\n history.push(\"/ManageCarrierAccounts\");\r\n }}\r\n />\r\n )}\r\n \r\n \r\n {({ history, match }) => (\r\n {\r\n history.push(\"/ManageCarrierAccounts\");\r\n }}\r\n />\r\n )}\r\n \r\n \r\n {({ history, match }) => (\r\n {\r\n history.push(\"/ManageCarrierAccounts\");\r\n }}\r\n />\r\n )}\r\n \r\n \r\n {({ history, match }) => (\r\n {\r\n history.push(\"/ManageCarrierAccounts\");\r\n }}\r\n />\r\n )}\r\n \r\n \r\n {({ history, match }) => (\r\n {\r\n history.push(\"/ManageCarrierAccounts\");\r\n }}\r\n />\r\n )}\r\n \r\n \r\n \r\n );\r\n}\r\n","import React, { useEffect } from \"react\";\r\nimport { shallowEqual, useSelector } from \"react-redux\";\r\nimport { LoadingDialog } from \"../../../../../../_metronic/_partials/controls\";\r\n\r\nexport function CustomersLoadingDialog() {\r\n // Customers Redux state\r\n const { isLoading } = useSelector(\r\n (state) => ({ isLoading: state.customers.listLoading }),\r\n shallowEqual\r\n );\r\n // looking for loading/dispatch\r\n useEffect(() => {}, [isLoading]);\r\n return ;\r\n}\r\n","import React, { useState, useEffect } from \"react\";\r\nimport { shallowEqual, useSelector } from \"react-redux\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { ModalProgressBar } from \"../../../../../../_metronic/_partials/controls\";\r\nimport CloseIcon from '@material-ui/icons/Close';\r\nimport IconButton from '@material-ui/core/IconButton';\r\nexport function CustomerEditDialogHeader({ id, onHide }) {\r\n // Customers Redux state\r\n const { customerForEdit, actionsLoading } = useSelector(\r\n (state) => ({\r\n customerForEdit: state.customers.customerForEdit,\r\n actionsLoading: state.customers.actionsLoading,\r\n }),\r\n shallowEqual\r\n );\r\n\r\n const [title, setTitle] = useState(\"\");\r\n // Title couting\r\n useEffect(() => {\r\n let _title = id ? \"\" : \"New Service\";\r\n if (customerForEdit && id) {\r\n _title = `Service '${customerForEdit.Name}'`;\r\n }\r\n\r\n setTitle(_title);\r\n // eslint-disable-next-line\r\n }, [customerForEdit, actionsLoading]);\r\n\r\n return (\r\n <>\r\n {actionsLoading && }\r\n \r\n {title}\r\n {\r\n onHide(false);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n );\r\n}\r\n","// Form is based on Formik\r\n// Data validation is based on Yup\r\n// Please, be familiar with article first:\r\n// https://hackernoon.com/react-form-validation-with-formik-and-yup-8b76bda62e10\r\nimport React, { useState, useEffect } from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { Formik, Form, Field } from \"formik\";\r\nimport * as Yup from \"yup\";\r\nimport { Input } from \"../../../../../../_metronic/_partials/controls\";\r\nimport { makeStyles } from \"@material-ui/core/styles\";\r\nimport CreatableSelect from \"react-select/creatable\";\r\nimport { LinearProgress } from \"@material-ui/core\";\r\n// Validation schema\r\nimport low from \"lowdb\";\r\nimport LocalStorage from \"lowdb/adapters/LocalStorage\";\r\n\r\nconst adapter = new LocalStorage(\"db\");\r\nconst db = low(adapter);\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n container: {\r\n display: \"flex\",\r\n flexWrap: \"wrap\",\r\n },\r\n textField: {\r\n marginLeft: theme.spacing(1),\r\n marginRight: theme.spacing(1),\r\n marginBottom: \"2rem\",\r\n },\r\n dense: {\r\n marginTop: theme.spacing(2),\r\n },\r\n menu: {\r\n width: 200,\r\n },\r\n}));\r\nexport function CustomerEditForm({\r\n saveCustomer,\r\n customer,\r\n actionsLoading,\r\n onHide,\r\n}) {\r\n\r\n const [DepartementsTypeList, setDepartementsTypeList] = useState([]);\r\n const [DepartementsType, setDepartementsType] = useState({\r\n value: null,\r\n label: \"Select\",\r\n });\r\n\r\n let CustomerEditSchema;\r\n if (customer.id === undefined) {\r\n CustomerEditSchema = Yup.object().shape({\r\n Name: Yup.string()\r\n .min(3, \"Minimum 3 symbols\")\r\n .max(50, \"Maximum 50 symbols\")\r\n .required(\"Name is required\"),\r\n });\r\n } else {\r\n CustomerEditSchema = Yup.object().shape({});\r\n }\r\n useEffect(() => { \r\n if (customer.DepartementId) {\r\n var a = customer.DepartementId;\r\n var b = DepartementsTypeList?.find((x) => x.Id === a);\r\n setDepartementsType({\r\n value: b?.Id,\r\n label: b?.Name,\r\n });\r\n }\r\n }, [customer]);\r\n\r\n async function handleGetViewModel() {\r\n return await fetch(window.$apiurl + \"/Departements/GetDepartements\", {\r\n method: \"get\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then((res) => res.json())\r\n .then((res) => {\r\n return res;\r\n })\r\n .catch((err) => {\r\n return false;\r\n });\r\n }\r\n\r\n useEffect(() => {\r\n handleGetViewModel().then((res) => {\r\n if (res) {\r\n setDepartementsTypeList(res);\r\n }\r\n });\r\n }, []);\r\n\r\n return (\r\n <>\r\n {\r\n saveCustomer(values);\r\n }}\r\n >\r\n {({ handleSubmit, setFieldValue, values }) => (\r\n <>\r\n \r\n {actionsLoading && (\r\n
\r\n
\r\n
\r\n )}\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n

IsActive

\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n {\r\n try {\r\n if (\r\n newValue === null ||\r\n newValue?.value === null\r\n ) {\r\n setFieldValue(\"DepartementId\", null);\r\n setDepartementsType({\r\n value: null,\r\n label: \"All\",\r\n });\r\n } else {\r\n setFieldValue(\r\n \"DepartementId\",\r\n newValue?.value\r\n );\r\n var a = newValue?.value;\r\n var b = DepartementsTypeList?.find(\r\n (x) => x.Id === a\r\n );\r\n setDepartementsType({\r\n value: b?.Id,\r\n label: b?.Name,\r\n });\r\n }\r\n } catch (err) {\r\n console.log(err);\r\n }\r\n }}\r\n options={DepartementsTypeList?.map((x) => {\r\n return { value: x?.Id, label: x?.Name };\r\n })}\r\n name=\"DepartementId\"\r\n id=\"DepartementId\"\r\n className=\"w-100 mr-2\"\r\n />\r\n {DepartementsTypeList.length === 0 && (\r\n \r\n )}\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n Cancel\r\n \r\n <> \r\n handleSubmit()}\r\n className=\"btn btn-primary btn-elevate\"\r\n >\r\n Save\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n );\r\n}\r\n","export const CustomerStatusCssClasses = [\"danger\", \"success\", \"info\", \"\"];\r\nexport const CustomerStatusTitles = [\"Inactive\", \"Active\"];\r\nexport const CustomerTypeCssClasses = [\"success\", \"primary\", \"\"];\r\nexport const CustomerTypeTitles = [\"Business\", \"Individual\", \"\"];\r\nexport const defaultSorted = [{ dataField: \"id\", order: \"desc\" }];\r\nexport const sizePerPageList = [\r\n { text: \"3\", value: 3 },\r\n { text: \"5\", value: 5 },\r\n { text: \"10\", value: 10 },\r\n];\r\nexport const initialFilter = {\r\n filter: {\r\n lastName: \"\",\r\n firstName: \"\",\r\n email: \"\",\r\n ipAddress: \"\",\r\n IsActive: true,\r\n },\r\n sortOrder: \"asc\", // asc||desc\r\n sortField: \"id\",\r\n pageNumber: 1,\r\n pageSize: 10,\r\n};\r\n","import React, {createContext, useContext, useState, useCallback} from \"react\";\r\nimport {isEqual, isFunction} from \"lodash\";\r\nimport {initialFilter} from \"./CustomersUIHelpers\";\r\n\r\nconst CustomersUIContext = createContext();\r\n\r\nexport function useCustomersUIContext() {\r\n return useContext(CustomersUIContext);\r\n}\r\n\r\nexport const CustomersUIConsumer = CustomersUIContext.Consumer;\r\n\r\nexport function CustomersUIProvider({customersUIEvents, children}) {\r\n const [queryParams, setQueryParamsBase] = useState(initialFilter);\r\n const [ids, setIds] = useState([]);\r\n const setQueryParams = useCallback(nextQueryParams => {\r\n setQueryParamsBase(prevQueryParams => {\r\n if (isFunction(nextQueryParams)) {\r\n nextQueryParams = nextQueryParams(prevQueryParams);\r\n }\r\n\r\n if (isEqual(prevQueryParams, nextQueryParams)) {\r\n return prevQueryParams;\r\n }\r\n\r\n return nextQueryParams;\r\n });\r\n }, []);\r\n\r\n const initCustomer = {\r\n id: undefined,\r\n Name:\"\",\r\n Description:\"\",\r\n IsActive:true\r\n };\r\n\r\n const value = {\r\n queryParams,\r\n setQueryParamsBase,\r\n ids,\r\n setIds,\r\n setQueryParams,\r\n initCustomer,\r\n newCustomerButtonClick: customersUIEvents.newCustomerButtonClick,\r\n openEditCustomerDialog: customersUIEvents.openEditCustomerDialog,\r\n openDeleteCustomerDialog: customersUIEvents.openDeleteCustomerDialog,\r\n openDeleteCustomersDialog: customersUIEvents.openDeleteCustomersDialog,\r\n openFetchCustomersDialog: customersUIEvents.openFetchCustomersDialog,\r\n openUpdateCustomersStatusDialog: customersUIEvents.openUpdateCustomersStatusDialog\r\n };\r\n\r\n return {children};\r\n}","import React, { useEffect, useMemo } from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { shallowEqual, useDispatch, useSelector } from \"react-redux\";\r\nimport * as actions from \"../../../_redux/ManageServices/customersActions\";\r\nimport { CustomerEditDialogHeader } from \"./CustomerEditDialogHeader\";\r\nimport { CustomerEditForm } from \"./CustomerEditForm\";\r\nimport { useCustomersUIContext } from \"../CustomersUIContext\";\r\n\r\nexport function CustomerEditDialog({ id, show, onHide }) {\r\n // Customers UI Context\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n initCustomer: customersUIContext.initCustomer,\r\n };\r\n }, [customersUIContext]);\r\n\r\n // Customers Redux state\r\n const dispatch = useDispatch();\r\n const { actionsLoading, customerForEdit } = useSelector(\r\n (state) => ({\r\n actionsLoading: state.customers.actionsLoading,\r\n customerForEdit: state.customers.customerForEdit,\r\n }),\r\n shallowEqual\r\n );\r\n\r\n useEffect(() => {\r\n // server call for getting Customer by id\r\n dispatch(actions.fetchCustomer(id));\r\n }, [id, dispatch]);\r\n\r\n // server request for saving customer\r\n const saveCustomer = (customer) => {\r\n if (!id) {\r\n // server request for creating customer\r\n dispatch(actions.createCustomer(customer)).then(() => onHide());\r\n } else {\r\n // server request for updating customer\r\n dispatch(actions.updateCustomer(customer)).then(() => onHide());\r\n }\r\n document.getElementById(\"ReLoadTableId\").click();\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n}\r\n","import React, { useEffect, useMemo } from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { shallowEqual, useDispatch, useSelector } from \"react-redux\";\r\nimport {ModalProgressBar} from \"../../../../../../_metronic/_partials/controls\";\r\nimport * as actions from \"../../../_redux/ManageServices/customersActions\";\r\nimport {useCustomersUIContext} from \"../CustomersUIContext\";\r\n\r\nexport function CustomerDeleteDialog({ id, show, onHide }) {\r\n // Customers UI Context\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n setIds: customersUIContext.setIds,\r\n queryParams: customersUIContext.queryParams\r\n };\r\n }, [customersUIContext]);\r\n\r\n // Customers Redux state\r\n const dispatch = useDispatch();\r\n const { isLoading } = useSelector(\r\n (state) => ({ isLoading: state.customers.actionsLoading }),\r\n shallowEqual\r\n );\r\n\r\n // if !id we should close modal\r\n useEffect(() => {\r\n if (!id) {\r\n onHide();\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [id]);\r\n\r\n // looking for loading/dispatch\r\n useEffect(() => {}, [isLoading, dispatch]);\r\n\r\n const deleteCustomer = () => {\r\n // server request for deleting customer by id\r\n dispatch(actions.deleteCustomer(id)).then(() => {\r\n // refresh list after deletion\r\n dispatch(actions.fetchCustomers(customersUIProps.queryParams));\r\n // clear selections list\r\n customersUIProps.setIds([]);\r\n // closing delete modal\r\n onHide();\r\n });\r\n };\r\n\r\n return (\r\n \r\n {/*begin::Loading*/}\r\n {isLoading && }\r\n {/*end::Loading*/}\r\n \r\n \r\n Services Delete\r\n \r\n \r\n \r\n {!isLoading && (\r\n Are you sure to permanently delete this Service?\r\n )}\r\n {isLoading && Service is deleting...}\r\n \r\n \r\n
\r\n \r\n Cancel\r\n \r\n <> \r\n \r\n Delete\r\n \r\n
\r\n
\r\n \r\n );\r\n}\r\n","import React, { useEffect, useMemo } from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { shallowEqual, useDispatch, useSelector } from \"react-redux\";\r\nimport * as actions from \"../../../_redux/ManageServices/customersActions\";\r\nimport { useCustomersUIContext } from \"../CustomersUIContext\";\r\nimport {ModalProgressBar} from \"../../../../../../_metronic/_partials/controls\";\r\n\r\nexport function CustomersDeleteDialog({ show, onHide }) {\r\n // Customers UI Context\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n ids: customersUIContext.ids,\r\n setIds: customersUIContext.setIds,\r\n queryParams: customersUIContext.queryParams,\r\n };\r\n }, [customersUIContext]);\r\n\r\n // Customers Redux state\r\n const dispatch = useDispatch();\r\n const { isLoading } = useSelector(\r\n (state) => ({ isLoading: state.customers.actionsLoading }),\r\n shallowEqual\r\n );\r\n\r\n // if customers weren't selected we should close modal\r\n useEffect(() => {\r\n if (!customersUIProps.ids || customersUIProps.ids.length === 0) {\r\n onHide();\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [customersUIProps.ids]);\r\n\r\n // looking for loading/dispatch\r\n useEffect(() => {}, [isLoading, dispatch]);\r\n\r\n const deleteCustomers = () => {\r\n // server request for deleting customer by selected ids\r\n dispatch(actions.deleteCustomers(customersUIProps.ids)).then(() => {\r\n // refresh list after deletion\r\n dispatch(actions.fetchCustomers(customersUIProps.queryParams)).then(\r\n () => {\r\n // clear selections list\r\n customersUIProps.setIds([]);\r\n // closing delete modal\r\n onHide();\r\n }\r\n );\r\n });\r\n };\r\n\r\n return (\r\n \r\n {/*begin::Loading*/}\r\n {isLoading && }\r\n {/*end::Loading*/}\r\n \r\n \r\n Services Delete\r\n \r\n \r\n \r\n {!isLoading && (\r\n Are you sure to permanently delete selected Service?\r\n )}\r\n {isLoading && Service are deleting...}\r\n \r\n \r\n
\r\n \r\n Cancel\r\n \r\n <> \r\n \r\n Delete\r\n \r\n
\r\n
\r\n \r\n );\r\n}\r\n","import React, { useEffect, useMemo } from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { shallowEqual, useSelector } from \"react-redux\";\r\nimport { CustomerStatusCssClasses } from \"../CustomersUIHelpers\";\r\nimport { useCustomersUIContext } from \"../CustomersUIContext\";\r\n\r\nconst selectedCustomers = (entities, ids) => {\r\n const _customers = [];\r\n ids.forEach((id) => {\r\n const customer = entities.find((el) => el.id === id);\r\n if (customer) {\r\n _customers.push(customer);\r\n }\r\n });\r\n return _customers;\r\n};\r\n\r\nexport function CustomersFetchDialog({ show, onHide }) {\r\n // Customers UI Context\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n ids: customersUIContext.ids,\r\n };\r\n }, [customersUIContext]);\r\n\r\n // Customers Redux state\r\n const { customers } = useSelector(\r\n (state) => ({\r\n customers: selectedCustomers(\r\n state.customers.entities,\r\n customersUIProps.ids\r\n ),\r\n }),\r\n shallowEqual\r\n );\r\n\r\n // if customers weren't selected we should close modal\r\n useEffect(() => {\r\n if (!customersUIProps.ids || customersUIProps.ids.length === 0) {\r\n onHide();\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [customersUIProps.ids]);\r\n\r\n return (\r\n \r\n \r\n \r\n Fetch selected elements\r\n \r\n \r\n \r\n
\r\n {customers.map((customer) => (\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n ID: {customer.id}\r\n \r\n {customer.lastName}, {customer.firstName} \r\n
\r\n
\r\n ))}\r\n
\r\n \r\n \r\n
\r\n \r\n Cancel\r\n \r\n <> \r\n \r\n Ok\r\n \r\n
\r\n
\r\n \r\n );\r\n}\r\n","import React, { useEffect, useState, useMemo } from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { shallowEqual, useDispatch, useSelector } from \"react-redux\";\r\nimport { CustomerStatusCssClasses } from \"../CustomersUIHelpers\";\r\nimport * as actions from \"../../../_redux/ManageServices/customersActions\";\r\nimport { useCustomersUIContext } from \"../CustomersUIContext\";\r\n\r\nconst selectedCustomers = (entities, ids) => {\r\n const _customers = [];\r\n ids.forEach((id) => {\r\n const customer = entities.find((el) => el.id === id);\r\n if (customer) {\r\n _customers.push(customer);\r\n }\r\n });\r\n return _customers;\r\n};\r\n\r\nexport function CustomersUpdateStateDialog({ show, onHide }) {\r\n // Customers UI Context\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n ids: customersUIContext.ids,\r\n setIds: customersUIContext.setIds,\r\n queryParams: customersUIContext.queryParams,\r\n };\r\n }, [customersUIContext]);\r\n\r\n // Customers Redux state\r\n const { customers, isLoading } = useSelector(\r\n (state) => ({\r\n customers: selectedCustomers(\r\n state.customers.entities,\r\n customersUIProps.ids\r\n ),\r\n isLoading: state.customers.actionsLoading,\r\n }),\r\n shallowEqual\r\n );\r\n\r\n // if !id we should close modal\r\n useEffect(() => {\r\n if (!customersUIProps.ids || customersUIProps.ids.length === 0) {\r\n onHide();\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [customersUIProps.ids]);\r\n\r\n const [status, setStatus] = useState(0);\r\n\r\n const dispatch = useDispatch();\r\n const updateStatus = () => {\r\n // server request for update customers status by selected ids\r\n dispatch(actions.updateCustomersStatus(customersUIProps.ids, status)).then(\r\n () => {\r\n // refresh list after deletion\r\n dispatch(actions.fetchCustomers(customersUIProps.queryParams)).then(\r\n () => {\r\n // clear selections list\r\n customersUIProps.setIds([]);\r\n // closing delete modal\r\n onHide();\r\n }\r\n );\r\n }\r\n );\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n Status has been updated for selected User\r\n \r\n \r\n \r\n {/*begin::Loading*/}\r\n {isLoading && (\r\n
\r\n
\r\n
\r\n )}\r\n {/*end::Loading*/}\r\n\r\n
\r\n {customers.map((customer) => (\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n ID: {customer.id}\r\n \r\n \r\n {customer.lastName}, {customer.firstName}\r\n \r\n
\r\n
\r\n ))}\r\n
\r\n \r\n \r\n
\r\n setStatus(+e.target.value)}\r\n >\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n Cancel\r\n \r\n \r\n Update Status\r\n \r\n
\r\n
\r\n \r\n );\r\n}\r\n","import React, { useMemo } from \"react\";\r\nimport { Formik } from \"formik\";\r\nimport { isEqual } from \"lodash\";\r\nimport { useCustomersUIContext } from \"../CustomersUIContext\";\r\nconst prepareFilter = (queryParams, values) => {\r\n const { ReLoadTable, typeId, searchText, IsActive = true } = values;\r\n const newQueryParams = { ...queryParams };\r\n const filter = {};\r\n filter.typeId = typeId !== \"0\" ? typeId : undefined;\r\n filter.Name = searchText;\r\n filter.IsActive = IsActive;\r\n filter.ReLoadTable = ReLoadTable;\r\n newQueryParams.filter = filter;\r\n return newQueryParams;\r\n};\r\n\r\nexport function CustomersFilter({ listLoading }) {\r\n // Customers UI Context\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n queryParams: customersUIContext.queryParams,\r\n setQueryParams: customersUIContext.setQueryParams,\r\n };\r\n }, [customersUIContext]);\r\n\r\n // queryParams, setQueryParams,\r\n const applyFilter = (values) => {\r\n const newQueryParams = prepareFilter(customersUIProps.queryParams, values);\r\n if (!isEqual(newQueryParams, customersUIProps.queryParams)) {\r\n newQueryParams.pageNumber = 1;\r\n // update list by queryParams\r\n customersUIProps.setQueryParams(newQueryParams);\r\n }\r\n };\r\n\r\n return (\r\n <>\r\n All=\"\"/Susspended=0/Active=1/Pending=2\r\n type: \"\", // values => All=\"\"/Business=0/Individual=1\r\n searchText: \"\",\r\n IsActive: true,\r\n ReLoadTable: \"\",\r\n }}\r\n onSubmit={(values) => {\r\n applyFilter(values);\r\n }}\r\n >\r\n {({\r\n values,\r\n handleSubmit,\r\n handleBlur,\r\n handleChange,\r\n setFieldValue,\r\n }) => (\r\n
\r\n
\r\n {\r\n if (e.target.value == \"0\")\r\n document.getElementById(\"ReLoadTableId\").value = 1;\r\n else document.getElementById(\"ReLoadTableId\").value = 0;\r\n setFieldValue(\"ReLoadTable\", e.target.value);\r\n handleSubmit();\r\n }}\r\n />\r\n
\r\n {\r\n setFieldValue(\"searchText\", e.target.value);\r\n handleSubmit();\r\n }}\r\n />\r\n \r\n Search in all fields\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n

\r\n IsActive\r\n

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n )}\r\n \r\n \r\n );\r\n}\r\n","// please be familiar with react-bootstrap-table-next column formaters\r\n// https://react-bootstrap-table.github.io/react-bootstrap-table2/storybook/index.html?selectedKind=Work%20on%20Columns&selectedStory=Column%20Formatter&full=0&addons=1&stories=1&panelRight=0&addonPanel=storybook%2Factions%2Factions-panel\r\n/* eslint-disable no-script-url,jsx-a11y/anchor-is-valid */\r\nimport React from \"react\";\r\nimport SVG from \"react-inlinesvg\";\r\nimport { toAbsoluteUrl } from \"../../../../../../../_metronic/_helpers\";\r\n\r\nexport function ActionsColumnFormatter(\r\n cellContent,\r\n row,\r\n rowIndex,\r\n { openEditCustomerDialog, openDeleteCustomerDialog }\r\n) {\r\n return (\r\n <>\r\n openEditCustomerDialog(row.id)}\r\n >\r\n \r\n \r\n \r\n \r\n <> \r\n\r\n openDeleteCustomerDialog(row.id)}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n","// React bootstrap table next =>\r\n// DOCS: https://react-bootstrap-table.github.io/react-bootstrap-table2/docs/\r\n// STORYBOOK: https://react-bootstrap-table.github.io/react-bootstrap-table2/storybook/index.html\r\nimport React, { useEffect, useMemo } from \"react\";\r\nimport BootstrapTable from \"react-bootstrap-table-next\";\r\nimport paginationFactory, {\r\n PaginationProvider,\r\n} from \"react-bootstrap-table2-paginator\";\r\nimport { shallowEqual, useDispatch, useSelector } from \"react-redux\";\r\nimport * as actions from \"../../../_redux/ManageServices/customersActions\";\r\nimport {\r\n getSelectRow,\r\n getHandlerTableChange,\r\n NoRecordsFoundMessage,\r\n PleaseWaitMessage,\r\n sortCaret,\r\n headerSortingClasses,\r\n} from \"../../../../../../_metronic/_helpers\";\r\nimport { momentDate } from \"../../../../../../_metronic/_helpers/ATHelpers\";\r\nimport * as uiHelpers from \"../CustomersUIHelpers\";\r\nimport * as columnFormatters from \"./column-formatters\";\r\nimport { Pagination } from \"../../../../../../_metronic/_partials/controls\";\r\nimport { useCustomersUIContext } from \"../CustomersUIContext\";\r\n\r\nexport function CustomersTable() {\r\n // Customers UI Context\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n ids: customersUIContext.ids,\r\n setIds: customersUIContext.setIds,\r\n queryParams: customersUIContext.queryParams,\r\n setQueryParams: customersUIContext.setQueryParams,\r\n openEditCustomerDialog: customersUIContext.openEditCustomerDialog,\r\n openDeleteCustomerDialog: customersUIContext.openDeleteCustomerDialog,\r\n };\r\n }, [customersUIContext]);\r\n\r\n // Getting curret state of customers list from store (Redux)\r\n const { currentState } = useSelector(\r\n (state) => ({ currentState: state.customers }),\r\n shallowEqual\r\n );\r\n const { totalCount, entities, listLoading } = currentState;\r\n\r\n // Customers Redux state\r\n const dispatch = useDispatch();\r\n useEffect(() => {\r\n // clear selections list\r\n customersUIProps.setIds([]);\r\n // server call by queryParams\r\n dispatch(actions.fetchCustomers(customersUIProps.queryParams));\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [customersUIProps.queryParams, dispatch]);\r\n // Table columns\r\n const columns = [\r\n {\r\n dataField: \"id\",\r\n text: \"ID\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n headerSortingClasses,\r\n },\r\n {\r\n dataField: \"Name\",\r\n text: \"Name\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n headerSortingClasses,\r\n },\r\n {\r\n dataField: \"Description\",\r\n text: \"DESCRIPTION\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n headerSortingClasses,\r\n },\r\n {\r\n dataField: \"DepartementName\",\r\n text: \"Departement\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n headerSortingClasses,\r\n },\r\n {\r\n dataField: \"Created\",\r\n text: \"Created\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n headerSortingClasses,\r\n formatter: (cell, row) => {\r\n return (\r\n <>\r\n
\r\n {momentDate(row?.Created)}\r\n
\r\n \r\n );\r\n },\r\n },\r\n {\r\n dataField: \"IsActive\",\r\n text: \"Status\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n formatter: (cell, row) => {\r\n const CustomerStatusCssClasses = [\"success\", \"danger\"];\r\n const CustomerStatusTitles = [\"Active\", \"Inactive\"];\r\n\r\n var isActive = row.IsActive === true ? 0 : 1;\r\n\r\n const getLabelCssClasses = () => {\r\n return `label label-lg label-light-${CustomerStatusCssClasses[isActive]} label-inline`;\r\n };\r\n return (\r\n \r\n {CustomerStatusTitles[isActive]}\r\n \r\n );\r\n },\r\n headerSortingClasses,\r\n },\r\n {\r\n dataField: \"action\",\r\n text: \"Actions\",\r\n formatter: columnFormatters.ActionsColumnFormatter,\r\n formatExtraData: {\r\n openEditCustomerDialog: customersUIProps.openEditCustomerDialog,\r\n openDeleteCustomerDialog: customersUIProps.openDeleteCustomerDialog,\r\n },\r\n classes: \"text-center pr-0\",\r\n headerClasses: \"text-center pr-3\",\r\n style: {\r\n minWidth: \"100px\",\r\n },\r\n },\r\n ];\r\n // Table pagination properties\r\n const paginationOptions = {\r\n custom: true,\r\n totalSize: totalCount,\r\n sizePerPageList: uiHelpers.sizePerPageList,\r\n sizePerPage: customersUIProps.queryParams.pageSize,\r\n page: customersUIProps.queryParams.pageNumber,\r\n };\r\n return (\r\n <>\r\n \r\n {({ paginationProps, paginationTableProps }) => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n }}\r\n \r\n \r\n );\r\n}\r\n","import React, { useMemo } from \"react\";\r\nimport { useCustomersUIContext } from \"../CustomersUIContext\";\r\n\r\nexport function CustomersGrouping() {\r\n // Customers UI Context\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n ids: customersUIContext.ids,\r\n setIds: customersUIContext.setIds,\r\n openDeleteCustomersDialog: customersUIContext.openDeleteCustomersDialog,\r\n openFetchCustomersDialog: customersUIContext.openFetchCustomersDialog,\r\n openUpdateCustomersStatusDialog:\r\n customersUIContext.openUpdateCustomersStatusDialog,\r\n };\r\n }, [customersUIContext]);\r\n\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n Delete All\r\n \r\n  \r\n
\r\n
\r\n
\r\n
\r\n
\r\n );\r\n}\r\n","import React, { useMemo } from \"react\";\r\nimport {\r\n Card,\r\n CardBody,\r\n CardHeader,\r\n CardHeaderToolbar,\r\n} from \"../../../../../_metronic/_partials/controls\";\r\nimport { CustomersFilter } from \"./customers-filter/CustomersFilter\";\r\nimport { CustomersTable } from \"./customers-table/CustomersTable\";\r\nimport { CustomersGrouping } from \"./customers-grouping/CustomersGrouping\";\r\nimport { useCustomersUIContext } from \"./CustomersUIContext\";\r\nimport { Helmet } from \"react-helmet\";\r\n\r\nexport function CustomersCard() {\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n ids: customersUIContext.ids,\r\n newCustomerButtonClick: customersUIContext.newCustomerButtonClick,\r\n };\r\n }, [customersUIContext]);\r\n\r\n return (\r\n <>\r\n \r\n eMPower | Manage Services\r\n \r\n \r\n \r\n \r\n \r\n \r\n Add Service\r\n \r\n \r\n \r\n \r\n \r\n {customersUIProps.ids.length > 0 && }\r\n \r\n \r\n \r\n \r\n );\r\n}\r\n","import React from \"react\";\r\nimport { Route } from \"react-router-dom\";\r\nimport { CustomersLoadingDialog } from \"./customers-loading-dialog/CustomersLoadingDialog\";\r\nimport { CustomerEditDialog } from \"./customer-edit-dialog/CustomerEditDialog\";\r\nimport { CustomerDeleteDialog } from \"./customer-delete-dialog/CustomerDeleteDialog\";\r\nimport { CustomersDeleteDialog } from \"./customers-delete-dialog/CustomersDeleteDialog\";\r\nimport { CustomersFetchDialog } from \"./customers-fetch-dialog/CustomersFetchDialog\";\r\nimport { CustomersUpdateStateDialog } from \"./customers-update-status-dialog/CustomersUpdateStateDialog\";\r\nimport { CustomersUIProvider } from \"./CustomersUIContext\";\r\nimport { CustomersCard } from \"./CustomersCard\";\r\n\r\nexport function ManageServices({ history }) {\r\n const customersUIEvents = {\r\n newCustomerButtonClick: () => {\r\n history.push(\"/ManageServices/new\");\r\n },\r\n openEditCustomerDialog: (id) => {\r\n history.push(`/ManageServices/${id}/edit`);\r\n },\r\n openDeleteCustomerDialog: (id) => {\r\n history.push(`/ManageServices/${id}/delete`);\r\n },\r\n openDeleteCustomersDialog: () => {\r\n history.push(`/ManageServices/deleteCustomers`);\r\n },\r\n openFetchCustomersDialog: () => {\r\n history.push(`/ManageServices/fetch`);\r\n },\r\n openUpdateCustomersStatusDialog: () => {\r\n history.push(\"/ManageServices/updateStatus\");\r\n }\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n {({ history, match }) => (\r\n {\r\n history.push(\"/ManageServices\");\r\n }}\r\n />\r\n )}\r\n \r\n \r\n {({ history, match }) => (\r\n {\r\n history.push(\"/ManageServices\");\r\n }}\r\n />\r\n )}\r\n \r\n \r\n {({ history, match }) => (\r\n {\r\n history.push(\"/ManageServices\");\r\n }}\r\n />\r\n )}\r\n \r\n \r\n {({ history, match }) => (\r\n {\r\n history.push(\"/ManageServices\");\r\n }}\r\n />\r\n )}\r\n \r\n \r\n {({ history, match }) => (\r\n {\r\n history.push(\"/ManageServices\");\r\n }}\r\n />\r\n )}\r\n \r\n \r\n {({ history, match }) => (\r\n {\r\n history.push(\"/ManageServices\");\r\n }}\r\n />\r\n )}\r\n \r\n \r\n \r\n );\r\n}\r\n","import React, {useEffect} from \"react\";\r\nimport {shallowEqual, useSelector} from \"react-redux\";\r\nimport {LoadingDialog} from \"../../../../../../_metronic/_partials/controls\";\r\n\r\nexport function ProductsLoadingDialog() {\r\n const { isLoading } = useSelector(\r\n state => ({ isLoading: state.products.listLoading }),\r\n shallowEqual\r\n );\r\n useEffect(() => {}, [isLoading]);\r\n return ;\r\n}\r\n","export const ProductStatusCssClasses = [\"success\", \"info\", \"\"];\r\nexport const ProductStatusTitles = [\"Selling\", \"Sold\"];\r\nexport const ProductConditionCssClasses = [\"success\", \"danger\", \"\"];\r\nexport const ProductConditionTitles = [\"New\", \"Used\"];\r\nexport const defaultSorted = [{ dataField: \"CreatedAt\", order: \"desc\" }];\r\nexport const sizePerPageList = [\r\n { text: \"3\", value: 3 },\r\n { text: \"5\", value: 5 },\r\n { text: \"10\", value: 10 }\r\n];\r\n\r\nexport const initialFilter = {\r\n filter: {\r\n Customer: \"\",\r\n Warehouse: \"\"\r\n },\r\n sortOrder: \"desc\", // asc||desc\r\n sortField: \"CreatedAt\",\r\n pageNumber: 1,\r\n pageSize: 10\r\n};\r\nexport const AVAILABLE_COLORS = [\r\n \"Red\",\r\n \"CadetBlue\",\r\n \"Eagle\",\r\n \"Gold\",\r\n \"LightSlateGrey\",\r\n \"RoyalBlue\",\r\n \"Crimson\",\r\n \"Blue\",\r\n \"Sienna\",\r\n \"Indigo\",\r\n \"Green\",\r\n \"Violet\",\r\n \"GoldenRod\",\r\n \"OrangeRed\",\r\n \"Khaki\",\r\n \"Teal\",\r\n \"Purple\",\r\n \"Orange\",\r\n \"Pink\",\r\n \"Black\",\r\n \"DarkTurquoise\"\r\n];\r\n\r\nexport const AVAILABLE_MANUFACTURES = [\r\n \"Pontiac\",\r\n \"Kia\",\r\n \"Lotus\",\r\n \"Subaru\",\r\n \"Jeep\",\r\n \"Isuzu\",\r\n \"Mitsubishi\",\r\n \"Oldsmobile\",\r\n \"Chevrolet\",\r\n \"Chrysler\",\r\n \"Audi\",\r\n \"Suzuki\",\r\n \"GMC\",\r\n \"Cadillac\",\r\n \"Infinity\",\r\n \"Mercury\",\r\n \"Dodge\",\r\n \"Ram\",\r\n \"Lexus\",\r\n \"Lamborghini\",\r\n \"Honda\",\r\n \"Nissan\",\r\n \"Ford\",\r\n \"Hyundai\",\r\n \"Saab\",\r\n \"Toyota\"\r\n];\r\n","import React, { createContext, useContext, useState, useCallback } from \"react\";\r\nimport { isEqual, isFunction } from \"lodash\";\r\nimport { initialFilter } from \"./ReceiptsUIHelpers\";\r\n\r\nconst ProductsUIContext = createContext();\r\n\r\nexport function useProductsUIContext() {\r\n return useContext(ProductsUIContext);\r\n}\r\n\r\nexport const ProductsUIConsumer = ProductsUIContext.Consumer;\r\n\r\nexport function ProductsUIProvider({ productsUIEvents, children }) {\r\n const [queryParams, setQueryParamsBase] = useState(initialFilter);\r\n const [ids, setIds] = useState([]);\r\n const setQueryParams = useCallback((nextQueryParams) => {\r\n setQueryParamsBase((prevQueryParams) => {\r\n if (isFunction(nextQueryParams)) {\r\n nextQueryParams = nextQueryParams(prevQueryParams);\r\n }\r\n\r\n if (isEqual(prevQueryParams, nextQueryParams)) {\r\n return prevQueryParams;\r\n }\r\n\r\n return nextQueryParams;\r\n });\r\n }, []);\r\n\r\n const initCustomer = {\r\n id: undefined,\r\n ReferenceNumber:\"\",\r\n WarehouseId:\"\",\r\n CustomerId:\"\"\r\n };\r\n const value = {\r\n queryParams,\r\n setQueryParamsBase,\r\n ids,\r\n setIds,\r\n setQueryParams,\r\n initCustomer,\r\n newProductButtonClick: productsUIEvents.newProductButtonClick,\r\n openEditProductPage: productsUIEvents.openEditProductPage,\r\n openDeleteProductDialog: productsUIEvents.openDeleteProductDialog,\r\n openDeleteProductsDialog: productsUIEvents.openDeleteProductsDialog,\r\n openFetchProductsDialog: productsUIEvents.openFetchProductsDialog,\r\n openUpdateProductsStatusDialog:\r\n productsUIEvents.openUpdateProductsStatusDialog,\r\n };\r\n\r\n return (\r\n \r\n {children}\r\n \r\n );\r\n}\r\n","/* eslint-disable no-restricted-imports */\r\nimport React, { useEffect, useMemo } from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { shallowEqual, useDispatch, useSelector } from \"react-redux\";\r\nimport { ModalProgressBar } from \"../../../../../../_metronic/_partials/controls\";\r\nimport * as actions from \"../../../_redux/FindReceipts/receiptsActions\";\r\nimport { useProductsUIContext } from \"../ReceiptsUIContext\";\r\n\r\nexport function ProductDeleteDialog({ id, show, onHide }) {\r\n // Products UI Context\r\n const productsUIContext = useProductsUIContext();\r\n const productsUIProps = useMemo(() => {\r\n return {\r\n setIds: productsUIContext.setIds,\r\n queryParams: productsUIContext.queryParams,\r\n };\r\n }, [productsUIContext]);\r\n\r\n // Products Redux state\r\n const dispatch = useDispatch();\r\n const { isLoading } = useSelector(\r\n (state) => ({ isLoading: state.products.actionsLoading }),\r\n shallowEqual\r\n );\r\n\r\n // if !id we should close modal\r\n useEffect(() => {\r\n if (!id) {\r\n onHide();\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [id]);\r\n\r\n // looking for loading/dispatch\r\n useEffect(() => {}, [isLoading, dispatch]);\r\n\r\n const deleteProduct = () => {\r\n // server request for deleting product by id\r\n dispatch(actions.deleteProduct(id)).then(() => {\r\n // refresh list after deletion\r\n dispatch(actions.fetchProducts(productsUIProps.queryParams));\r\n // clear selections list\r\n productsUIProps.setIds([]);\r\n // closing delete modal\r\n onHide();\r\n });\r\n };\r\n\r\n return (\r\n \r\n {isLoading && }\r\n \r\n \r\n Receipt Cancel\r\n \r\n \r\n \r\n {!isLoading && (\r\n Are you sure to permanently Cancel this receipt?\r\n )}\r\n {isLoading && Receipt is canceling...}\r\n \r\n \r\n
\r\n {/* \r\n Cancel\r\n */}\r\n <> \r\n \r\n Cancel\r\n \r\n
\r\n
\r\n \r\n );\r\n}\r\n","/* eslint-disable no-restricted-imports */\r\nimport React, { useEffect, useMemo } from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { shallowEqual, useDispatch, useSelector } from \"react-redux\";\r\nimport { ModalProgressBar } from \"../../../../../../_metronic/_partials/controls\";\r\nimport * as actions from \"../../../_redux/FindReceipts/receiptsActions\";\r\nimport { useProductsUIContext } from \"../ReceiptsUIContext\";\r\n\r\nexport function ProductsDeleteDialog({ show, onHide }) {\r\n // Products UI Context\r\n const productsUIContext = useProductsUIContext();\r\n const productsUIProps = useMemo(() => {\r\n return {\r\n ids: productsUIContext.ids,\r\n setIds: productsUIContext.setIds,\r\n queryParams: productsUIContext.queryParams,\r\n };\r\n }, [productsUIContext]);\r\n\r\n // Products Redux state\r\n const dispatch = useDispatch();\r\n const { isLoading } = useSelector(\r\n (state) => ({ isLoading: state.products.actionsLoading }),\r\n shallowEqual\r\n );\r\n\r\n // looking for loading/dispatch\r\n useEffect(() => {}, [isLoading, dispatch]);\r\n\r\n // if there weren't selected products we should close modal\r\n useEffect(() => {\r\n if (!productsUIProps.ids || productsUIProps.ids.length === 0) {\r\n onHide();\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [productsUIProps.ids]);\r\n\r\n const deleteProducts = () => {\r\n // server request for deleting product by seleted ids\r\n dispatch(actions.deleteProducts(productsUIProps.ids)).then(() => {\r\n // refresh list after deletion\r\n dispatch(actions.fetchProducts(productsUIProps.queryParams)).then(() => {\r\n // clear selections list\r\n productsUIProps.setIds([]);\r\n // closing delete modal\r\n onHide();\r\n });\r\n });\r\n };\r\n\r\n return (\r\n \r\n {isLoading && }\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n","import React, { useEffect, useMemo } from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { shallowEqual, useSelector } from \"react-redux\";\r\nimport { ProductStatusCssClasses } from \"../ReceiptsUIHelpers\";\r\nimport { useProductsUIContext } from \"../ReceiptsUIContext\";\r\n\r\nconst selectedProducts = (entities, ids) => {\r\n const _products = [];\r\n ids.forEach((id) => {\r\n const product = entities.find((el) => el.id === id);\r\n if (product) {\r\n _products.push(product);\r\n }\r\n });\r\n return _products;\r\n};\r\n\r\nexport function ProductsFetchDialog({ show, onHide }) {\r\n // Products UI Context\r\n const productsUIContext = useProductsUIContext();\r\n const productsUIProps = useMemo(() => {\r\n return {\r\n ids: productsUIContext.ids,\r\n queryParams: productsUIContext.queryParams,\r\n };\r\n }, [productsUIContext]);\r\n\r\n // Products Redux state\r\n const { products } = useSelector(\r\n (state) => ({\r\n products: selectedProducts(state.products.entities, productsUIProps.ids),\r\n }),\r\n shallowEqual\r\n );\r\n\r\n // if there weren't selected ids we should close modal\r\n useEffect(() => {\r\n if (!productsUIProps.ids || productsUIProps.ids.length === 0) {\r\n onHide();\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [productsUIProps.ids]);\r\n\r\n return (\r\n \r\n \r\n \r\n Fetch selected elements\r\n \r\n \r\n \r\n
\r\n
\r\n {products.map((product) => (\r\n
\r\n \r\n \r\n ID: {product.id}\r\n {\" \"}\r\n \r\n {product.manufacture}, {product.model}\r\n \r\n \r\n
\r\n ))}\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n Cancel\r\n \r\n <> \r\n \r\n Ok\r\n \r\n
\r\n
\r\n \r\n );\r\n}\r\n","import React, { useEffect, useState, useMemo } from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { shallowEqual, useDispatch, useSelector } from \"react-redux\";\r\nimport { ProductStatusCssClasses } from \"../ReceiptsUIHelpers\";\r\nimport * as actions from \"../../../_redux/FindReceipts/receiptsActions\";\r\nimport { useProductsUIContext } from \"../ReceiptsUIContext\";\r\n\r\nconst selectedProducts = (entities, ids) => {\r\n const _products = [];\r\n ids.forEach((id) => {\r\n const product = entities.find((el) => el.id === id);\r\n if (product) {\r\n _products.push(product);\r\n }\r\n });\r\n return _products;\r\n};\r\n\r\nexport function ProductsUpdateStatusDialog({ show, onHide }) {\r\n // Products UI Context\r\n const productsUIContext = useProductsUIContext();\r\n const productsUIProps = useMemo(() => {\r\n return {\r\n ids: productsUIContext.ids,\r\n setIds: productsUIContext.setIds,\r\n queryParams: productsUIContext.queryParams,\r\n };\r\n }, [productsUIContext]);\r\n\r\n // Products Redux state\r\n const { products, isLoading } = useSelector(\r\n (state) => ({\r\n products: selectedProducts(state.products.entities, productsUIProps.ids),\r\n isLoading: state.products.actionsLoading,\r\n }),\r\n shallowEqual\r\n );\r\n\r\n // if there weren't selected products we should close modal\r\n useEffect(() => {\r\n if (productsUIProps.ids || productsUIProps.ids.length === 0) {\r\n onHide();\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [productsUIProps.ids]);\r\n\r\n const [status, setStatus] = useState(0);\r\n\r\n const dispatch = useDispatch();\r\n const updateStatus = () => {\r\n // server request for updateing product by ids\r\n dispatch(actions.updateProductsStatus(productsUIProps.ids, status)).then(\r\n () => {\r\n // refresh list after deletion\r\n dispatch(actions.fetchProducts(productsUIProps.queryParams)).then(\r\n () => {\r\n // clear selections list\r\n productsUIProps.setIds([]);\r\n // closing delete modal\r\n onHide();\r\n }\r\n );\r\n }\r\n );\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n Status has been updated for selected products\r\n \r\n \r\n \r\n {isLoading && (\r\n
\r\n
\r\n
\r\n )}\r\n
\r\n
\r\n {products.map((product) => (\r\n
\r\n \r\n \r\n ID: {product.id}\r\n {\" \"}\r\n \r\n {product.manufacture}, {product.model}\r\n \r\n \r\n
\r\n ))}\r\n
\r\n
\r\n \r\n \r\n
\r\n setStatus(+e.target.value)}\r\n >\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n Cancel\r\n \r\n <> \r\n \r\n Update Status\r\n \r\n
\r\n
\r\n \r\n );\r\n}\r\n","import React, { useMemo, useEffect, useState } from \"react\";\r\nimport { Formik } from \"formik\";\r\nimport { isEqual } from \"lodash\";\r\nimport { useProductsUIContext } from \"../ReceiptsUIContext\";\r\nimport axios from \"axios\";\r\nimport Radio from '@material-ui/core/Radio';\r\nimport FormControlLabel from '@material-ui/core/FormControlLabel';\r\nimport { RadioButton } from \"../../../../../../_metronic/_partials/controls\";\r\nimport { InputGroup } from 'react-bootstrap';\r\nimport TextField from '@material-ui/core/TextField';\r\nimport { Notification } from \"../../../../Notification\";\r\nimport LinearProgress from \"@material-ui/core/LinearProgress\";\r\nimport Menu from '@material-ui/core/Menu';\r\nimport MenuItem from '@material-ui/core/MenuItem';\r\nimport ListItemIcon from '@material-ui/core/ListItemIcon';\r\nimport ListItemText from '@material-ui/core/ListItemText';\r\nimport { withStyles } from '@material-ui/core/styles';\r\nimport { makeStyles } from '@material-ui/core/styles';\r\nimport Icon from '@material-ui/core/Icon';\r\nimport Button from '@material-ui/core/Button';\r\nimport { ButtonToolbar } from \"react-bootstrap\";\r\nimport { Export } from \"../../../../../../_metronic/_helpers/ATHelpers\";\r\nimport { CreatableSelect2 } from \"../../../../../../_metronic/_partials/controls\";\r\n\r\n\r\n//Export Filter\r\n\r\nconst StyledMenu = withStyles({\r\n paper: {\r\n border: '1px solid #d3d4d5',\r\n },\r\n})(props => (\r\n \r\n));\r\nconst StyledMenuItem = withStyles(theme => ({\r\n root: {\r\n '&:focus': {\r\n backgroundColor: theme.palette.primary.main,\r\n '& .MuiListItemIcon-root, & .MuiListItemText-primary': {\r\n color: theme.palette.common.white,\r\n },\r\n },\r\n },\r\n}))(MenuItem);\r\nconst useStyles = makeStyles(theme => ({\r\n button: {\r\n margin: theme.spacing(1),\r\n },\r\n leftIcon: {\r\n marginRight: theme.spacing(1),\r\n },\r\n rightIcon: {\r\n marginLeft: theme.spacing(1),\r\n },\r\n iconSmall: {\r\n fontSize: 20,\r\n },\r\n}));\r\nexport function ProductsFilter({ listLoading }) {\r\n // Products UI Context\r\n const productsUIContext = useProductsUIContext();\r\n const [QueryFilter, setQueryFilter] = useState(\"\");\r\n const productsUIProps = useMemo(() => {\r\n return {\r\n setQueryParams: productsUIContext.setQueryParams,\r\n queryParams: productsUIContext.queryParams,\r\n };\r\n }, [productsUIContext]);\r\n\r\n const applyFilter = (values) => {\r\n const newQueryParams = prepareFilter(productsUIProps.queryParams, values);\r\n if (!isEqual(newQueryParams, productsUIProps.queryParams)) {\r\n newQueryParams.pageNumber = 1;\r\n productsUIProps.setQueryParams(newQueryParams);\r\n }\r\n };\r\n const [customersList, setcustomersList] = useState([]);\r\n const [wareHousesList, setwareHousesList] = useState([]);\r\n\r\n //Filter Function\r\n const prepareFilter = (queryParams, values) => {\r\n const { CustomerId,\r\n WarehouseId,\r\n datefilter,\r\n searchText,\r\n status,\r\n lastTransNumber,\r\n firstTransNumber,\r\n referenceNumber,\r\n purchaseOrderId,\r\n receiptAdviceNumber,\r\n notes,\r\n startDate,\r\n endDate,\r\n } = values;\r\n const newQueryParams = { ...queryParams };\r\n const filter = {};\r\n if (CustomerId && WarehouseId) {\r\n filter.CustomerId = +CustomerId;\r\n filter.WarehouseId = +WarehouseId;\r\n }\r\n if (datefilter && startDate && endDate) {\r\n var startDateFormatter = new Date(startDate).toLocaleString();\r\n var endDateFormatter = new Date(endDate).toLocaleString();\r\n filter.StartDate = +new Date(startDateFormatter).getTime();\r\n filter.EndDate = +new Date(endDateFormatter).getTime();\r\n filter.DateFilter = datefilter;\r\n }\r\n filter.Status = status !== \"\" ? status : undefined;\r\n if (referenceNumber) {\r\n filter.ReferenceNumber = referenceNumber;\r\n }\r\n if (purchaseOrderId) {\r\n filter.PurchaseOrderId = purchaseOrderId;\r\n }\r\n if (receiptAdviceNumber) {\r\n filter.ReceiptAdviceNumber = receiptAdviceNumber;\r\n }\r\n if (notes) {\r\n filter.Notes = notes;\r\n }\r\n if (firstTransNumber && lastTransNumber) {\r\n filter.FirstTransactionId = +firstTransNumber;\r\n filter.LastTransactionId = +lastTransNumber;\r\n }\r\n newQueryParams.filter = filter;\r\n setQueryFilter(newQueryParams);\r\n return newQueryParams;\r\n };\r\n useEffect(() => {\r\n fetchOrderAsync();\r\n }, []);\r\n const fetchOrderAsync = async () => {\r\n try {\r\n setshowProgress(true);\r\n const result = await axios.get(\"api/FindReceipt/GetAllApi\");\r\n\r\n\r\n setcustomersList([{ Id: \"\", Name: \"Unspecified\" }].concat(result.data[\"customersList\"]));\r\n setwareHousesList([{ Id: \"\", Name: \"Unspecified\" }].concat(result.data[\"warhousesList\"]));\r\n setshowProgress(false);\r\n } catch (e) { }\r\n };\r\n const useStyles = makeStyles(theme => ({\r\n container: {\r\n display: 'flex',\r\n flexWrap: 'wrap',\r\n },\r\n textField: {\r\n marginLeft: theme.spacing(1),\r\n marginRight: theme.spacing(1),\r\n width: 200,\r\n },\r\n }));\r\n const classes = useStyles();\r\n const [showProgress, setshowProgress] = useState(false);\r\n const [showProgressWarehouse, setshowProgressWarehouse] = useState(false);\r\n const handleCustomerChange = async (event, setFieldValue) => {\r\n setshowProgressWarehouse(true);\r\n setwareHousesList([]);\r\n if (event.target.value !== \"\" && event.target.value !== null) {\r\n setFieldValue(\"CustomerId\", event.target.value)\r\n const result = await axios.get(`api/receipts/getwarehouses/${event.target.value}`);\r\n if (result.status === 200) {\r\n if (result.data.length > 0) {\r\n setwareHousesList(result.data);\r\n }\r\n else\r\n Notification(\"error\", \"This Customer doesn't have access to any warehouse.\");\r\n }\r\n }\r\n setshowProgressWarehouse(false);\r\n }\r\n const [anchorEl, setAnchorEl] = React.useState(null);\r\n function handleClick(event) {\r\n setAnchorEl(event.currentTarget);\r\n }\r\n function handleClose() {\r\n setAnchorEl(null);\r\n }\r\n\r\n async function fetchMyAPI2(type, entityName) {\r\n var filter = QueryFilter;\r\n if (filter) {\r\n filter.pageSize = 100000;\r\n const result = await axios.post(`api/FindReceipts/filter`, { \"queryParams\": filter });\r\n Export(result.data.entities, type, entityName);\r\n } else {\r\n const result = await axios.post(`api/FindReceipts/filter`, { \"queryParams\": { \"filter\": { \"ReceiptAdviceNumber\": \"\", \"Status\": undefined }, \"sortOrder\": \"asc\", \"sortField\": \"id\", \"pageNumber\": 1, \"pageSize\": 100000 } });\r\n Export(result.data.entities, type, entityName);\r\n }\r\n }\r\n return (\r\n <>\r\n {\r\n applyFilter(values);\r\n }}\r\n >\r\n {({\r\n values,\r\n handleSubmit,\r\n handleBlur,\r\n handleChange,\r\n setFieldValue,\r\n }) => (\r\n
\r\n {\r\n if (e.target.value === \"0\")\r\n document.getElementById(\"ReLoadTableId\").value = 1;\r\n else document.getElementById(\"ReLoadTableId\").value = 0;\r\n setFieldValue(\"ReLoadTable\", e.target.value);\r\n handleSubmit();\r\n }}\r\n />\r\n
\r\n
\r\n \r\n \r\n \r\n {\r\n fetchMyAPI2(\"excel\", \"Receipts\");\r\n\r\n }}>\r\n \r\n \r\n \r\n \r\n \r\n {\r\n fetchMyAPI2(\"csv\", \"Receipts\");\r\n }} >\r\n \r\n \r\n \r\n \r\n \r\n {\r\n fetchMyAPI2(\"json\", \"Receipts\");\r\n }}>\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n {/* */}\r\n \r\n
\r\n
\r\n {/* Filter By Customer / Warehouse Name */}\r\n
\r\n
\r\n {/* Filter Customer Id \r\n \r\n */}\r\n

Customer Name

\r\n {\r\n return {\r\n value: x.Id,\r\n label: x.Name,\r\n };\r\n })}\r\n onChange={(newValue) => {\r\n var i = newValue?.value;\r\n setFieldValue(\"CustomerId\", i);\r\n handleSubmit();\r\n }}\r\n />\r\n\r\n\r\n\r\n {showProgress && }\r\n
\r\n
\r\n {/* Filter Warehouse Id \r\n \r\n */}\r\n

Warehouse Name

\r\n {\r\n return {\r\n value: x?.Id,\r\n label: x?.Name,\r\n };\r\n })}\r\n onChange={(newValue) => {\r\n var i = newValue?.value;\r\n setFieldValue(\"WarehouseId\", i);\r\n handleSubmit();\r\n }}\r\n />\r\n {showProgressWarehouse && }\r\n\r\n\r\n\r\n
\r\n
\r\n {/* Filter By Date */}\r\n
\r\n
\r\n

Date

\r\n {\r\n var i = newValue?.value;\r\n setFieldValue(\"status\", i);\r\n handleSubmit();\r\n }}\r\n />\r\n {/*\r\n \r\n */}\r\n\r\n
\r\n
\r\n {/* Date Start */}\r\n

\r\n Start Date\r\n

\r\n {\r\n setFieldValue(\"startDate\", e.target.value);\r\n handleSubmit();\r\n }}\r\n />\r\n\r\n
\r\n
\r\n {/* Date End */}\r\n

\r\n End Date\r\n

\r\n {\r\n setFieldValue(\"endDate\", e.target.value);\r\n handleSubmit();\r\n }}\r\n />\r\n\r\n
\r\n
\r\n {/* Filter By Reference Id */}\r\n
\r\n
\r\n

\r\n Reference ID\r\n

\r\n \r\n {\r\n setFieldValue(\"referenceNumber\", e.target.value);\r\n handleSubmit();\r\n }}\r\n />\r\n \r\n\r\n
\r\n
\r\n

\r\n Purchase Order Number\r\n

\r\n \r\n {\r\n setFieldValue(\"purchaseOrderId\", e.target.value);\r\n handleSubmit();\r\n }}\r\n />\r\n \r\n\r\n
\r\n
\r\n\r\n
\r\n
\r\n

\r\n Receipt Advice Number\r\n

\r\n \r\n {\r\n setFieldValue(\"receiptAdviceNumber\", e.target.value);\r\n handleSubmit();\r\n }}\r\n />\r\n \r\n\r\n
\r\n
\r\n

\r\n Notes

\r\n \r\n {\r\n setFieldValue(\"notes\", e.target.value);\r\n handleSubmit();\r\n }}\r\n />\r\n \r\n\r\n
\r\n
\r\n\r\n
\r\n
\r\n {/*\r\n \r\n */}\r\n

\r\n Receipt Status

\r\n {\r\n var i = newValue?.value;\r\n setFieldValue(\"status\", i);\r\n handleSubmit();\r\n }}\r\n />\r\n\r\n
\r\n\r\n
\r\n \r\n }\r\n label=\"All\"\r\n labelPlacement=\"start\"\r\n />\r\n }\r\n label=\"Sent\"\r\n labelPlacement=\"start\"\r\n />\r\n }\r\n label=\"Not Sent\"\r\n labelPlacement=\"start\"\r\n />\r\n \r\n
\r\n
\r\n {/* ///////////////////////// */}\r\n
\r\n
\r\n

\r\n First Transaction Number

\r\n {\r\n setFieldValue(\"firstTransNumber\", e.target.value);\r\n handleSubmit();\r\n }}\r\n />\r\n\r\n
\r\n\r\n
\r\n

\r\n Last Transaction Number

\r\n {\r\n setFieldValue(\"lastTransNumber\", e.target.value);\r\n handleSubmit();\r\n }}\r\n />\r\n\r\n
\r\n
\r\n \r\n )}\r\n \r\n \r\n );\r\n}\r\n","/* eslint-disable no-script-url,jsx-a11y/anchor-is-valid */\r\nimport React from \"react\";\r\nimport { OverlayTrigger, Tooltip } from \"react-bootstrap\";\r\nimport SVG from \"react-inlinesvg\";\r\nimport { toAbsoluteUrl } from \"../../../../../../../_metronic/_helpers\";\r\n\r\nexport const ActionsColumnFormatter = (\r\n cellContent,\r\n row,\r\n rowIndex,\r\n { openEditProductPage, openDeleteProductDialog }\r\n) => (\r\n <>\r\n Edit Receipt}\r\n >\r\n openEditProductPage(row.id)}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n\r\n <> \r\n Cancel Receipt}\r\n >\r\n openDeleteProductDialog(row.id)}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n);\r\n","import React from \"react\";\r\nexport function DateColumnFormatter(cellContent, row) {\r\n var elapsed = new Date(row.Created).toLocaleString();\r\n return (\r\n <>\r\n {elapsed}\r\n \r\n );\r\n}\r\n","// React bootstrap table next =>\r\n// DOCS: https://react-bootstrap-table.github.io/react-bootstrap-table2/docs/\r\n// STORYBOOK: https://react-bootstrap-table.github.io/react-bootstrap-table2/storybook/index.html\r\nimport React, { useEffect, useMemo } from \"react\";\r\nimport BootstrapTable from \"react-bootstrap-table-next\";\r\nimport paginationFactory, {\r\n PaginationProvider,\r\n} from \"react-bootstrap-table2-paginator\";\r\nimport { shallowEqual, useDispatch, useSelector } from \"react-redux\";\r\nimport * as actions from \"../../../_redux/FindReceipts/receiptsActions\";\r\nimport * as uiHelpers from \"../ReceiptsUIHelpers\";\r\nimport {\r\n getSelectRow,\r\n getHandlerTableChange,\r\n NoRecordsFoundMessage,\r\n PleaseWaitMessage,\r\n sortCaret,\r\n headerSortingClasses,\r\n} from \"../../../../../../_metronic/_helpers\";\r\nimport * as columnFormatters from \"./column-formatters\";\r\nimport { Pagination } from \"../../../../../../_metronic/_partials/controls\";\r\nimport { useProductsUIContext } from \"../ReceiptsUIContext\";\r\n\r\nexport function ProductsTable() {\r\n // Products UI Context\r\n const productsUIContext = useProductsUIContext();\r\n const productsUIProps = useMemo(() => {\r\n return {\r\n ids: productsUIContext.ids,\r\n setIds: productsUIContext.setIds,\r\n queryParams: productsUIContext.queryParams,\r\n setQueryParams: productsUIContext.setQueryParams,\r\n openEditProductPage: productsUIContext.openEditProductPage,\t\r\n openDeleteProductDialog: productsUIContext.openDeleteProductDialog,\r\n };\r\n }, [productsUIContext]);\r\n\r\n // Getting curret state of products list from store (Redux)\r\n const { currentState } = useSelector(\r\n (state) => ({ currentState: state.products }),\r\n shallowEqual\r\n );\r\n const { totalCount, entities, listLoading } = currentState;\r\n // Products Redux state\r\n const dispatch = useDispatch();\r\n useEffect(() => {\r\n // clear selections list\r\n productsUIProps.setIds([]);\r\n // server call by queryParams\r\n dispatch(actions.fetchProducts(productsUIProps.queryParams));\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [productsUIProps.queryParams, dispatch]);\r\n // Table columns\r\n const columns = [\r\n {\r\n dataField: \"id\",\r\n text: \"ID\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n headerSortingClasses,\r\n },\r\n {\r\n dataField: \"Status\",\r\n text: \"Status\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n headerSortingClasses,\r\n },\r\n {\r\n dataField: \"TransactionNumber\",\r\n text: \"Transaction ID\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n headerSortingClasses,\r\n },\r\n {\r\n dataField: \"ReferenceNumber\",\r\n text: \"Reference Number\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n headerSortingClasses,\r\n },\r\n {\r\n dataField: \"Created\",\r\n text: \"Creation Date\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n headerSortingClasses,\r\n formatter:columnFormatters.DateColumnFormatter,\r\n },\r\n {\r\n dataField: \"CustomerName\",\r\n text: \"Customer\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n headerSortingClasses,\r\n },\r\n {\r\n dataField: \"WareHouseName\",\r\n text: \"Warehouse\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n headerSortingClasses,\r\n },\r\n {\r\n dataField: \"ReceiptAdviceNumber\",\r\n text: \"Receipt Advice Number\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n headerSortingClasses,\r\n },\r\n {\r\n dataField: \"PurchaseOrderNumber\",\r\n text: \"Purchase Order Number\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n headerSortingClasses,\r\n },\r\n {\r\n dataField: \"TrailerNUmberPro\",\r\n text: \"Trailer / Pro Number\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n headerSortingClasses,\r\n },\r\n {\r\n dataField: \"Sku\",\r\n text: \"SKU\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n headerSortingClasses,\r\n },\r\n {\r\n dataField: \"ArrivalDate\",\r\n text: \"Arrival Date\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n headerSortingClasses,\r\n formatter:columnFormatters.DateColumnFormatter,\r\n },\r\n {\r\n dataField: \"Notes\",\r\n text: \"Notes\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n headerSortingClasses,\r\n },\r\n {\r\n dataField: \"action\",\r\n text: \"Actions\",\r\n formatter: columnFormatters.ActionsColumnFormatter,\r\n formatExtraData: {\r\n openEditProductPage: productsUIProps.openEditProductPage,\r\n openDeleteProductDialog: productsUIProps.openDeleteProductDialog,\r\n },\r\n classes: \"text-center pr-0\",\r\n headerClasses: \"text-center pr-3\",\r\n style: {\r\n minWidth: \"100px\",\r\n },\r\n },\r\n ];\r\n // Table pagination properties\r\n const paginationOptions = {\r\n custom: true,\r\n totalSize: totalCount,\r\n sizePerPageList: uiHelpers.sizePerPageList,\r\n sizePerPage: productsUIProps.queryParams.pageSize,\r\n page: productsUIProps.queryParams.pageNumber,\r\n };\r\n return (\r\n <>\r\n \r\n {({ paginationProps, paginationTableProps }) => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n }}\r\n \r\n \r\n );\r\n}\r\n","import React, { useMemo } from \"react\";\r\nimport { useProductsUIContext } from \"../ReceiptsUIContext\";\r\n\r\nexport function ProductsGrouping() {\r\n // Products UI Context\r\n const productsUIContext = useProductsUIContext();\r\n const productsUIProps = useMemo(() => {\r\n return {\r\n ids: productsUIContext.ids,\r\n setIds: productsUIContext.setIds,\r\n openDeleteProductsDialog: productsUIContext.openDeleteProductsDialog,\r\n openFetchProductsDialog: productsUIContext.openFetchProductsDialog,\r\n openUpdateProductsStatusDialog:\r\n productsUIContext.openUpdateProductsStatusDialog,\r\n };\r\n }, [productsUIContext]);\r\n\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n {/* \r\n Delete All\r\n */}\r\n  \r\n \r\n Fetch Selected\r\n \r\n  \r\n \r\n Update Status\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n );\r\n}\r\n","import React, { useMemo } from \"react\";\r\nimport {\r\n Card,\r\n CardBody,\r\n CardHeader,\r\n CardHeaderToolbar,\r\n} from \"../../../../../_metronic/_partials/controls\";\r\nimport { ProductsFilter } from \"./receipts-filter/ReceiptsFilter\";\r\nimport { ProductsTable } from \"./receipts-table/ReceiptsTable\";\r\nimport { ProductsGrouping } from \"./receipts-grouping/ReceiptsGrouping\";\r\nimport { useProductsUIContext } from \"./ReceiptsUIContext\";\r\n\r\nexport function ProductsCard() {\r\n const productsUIContext = useProductsUIContext();\r\n const productsUIProps = useMemo(() => {\r\n return {\r\n ids: productsUIContext.ids,\r\n queryParams: productsUIContext.queryParams,\r\n setQueryParams: productsUIContext.setQueryParams,\r\n newProductButtonClick: productsUIContext.newProductButtonClick,\r\n openDeleteProductsDialog: productsUIContext.openDeleteProductsDialog,\r\n openEditProductPage: productsUIContext.openEditProductPage,\r\n openUpdateProductsStatusDialog:\r\n productsUIContext.openUpdateProductsStatusDialog,\r\n openFetchProductsDialog: productsUIContext.openFetchProductsDialog,\r\n };\r\n }, [productsUIContext]);\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n New Receipt\r\n \r\n \r\n \r\n \r\n \r\n {productsUIProps.ids.length > 0 && (\r\n <>\r\n \r\n \r\n )}\r\n \r\n \r\n \r\n );\r\n}\r\n","import React from \"react\";\r\nimport { Route } from \"react-router-dom\";\r\nimport { ProductsLoadingDialog } from \"./receipts-loading-dialog/ReceiptsLoadingDialog\";\r\nimport { ProductDeleteDialog } from \"./receipt-delete-dialog/ReceiptDeleteDialog\";\r\nimport { ProductsDeleteDialog } from \"./receipts-delete-dialog/ReceiptsDeleteDialog\";\r\nimport { ProductsFetchDialog } from \"./receipts-fetch-dialog/ReceiptsFetchDialog\";\r\nimport { ProductsUpdateStatusDialog } from \"./receipts-update-status-dialog/ReceiptsUpdateStatusDialog\";\r\nimport { ProductsCard } from \"./ReceiptsCard\";\r\nimport { ProductsUIProvider } from \"./ReceiptsUIContext\";\r\n\r\nexport function FindReceiptsPage({ history }) {\r\n const productsUIEvents = {\r\n newProductButtonClick: () => {\r\n history.push(\"/FindReceipts/new\");\r\n },\r\n openEditProductPage: (id) => {\r\n history.push(`/FindReceipts/${id}/edit`);\r\n },\r\n openDeleteProductDialog: (id) => {\r\n history.push(`/FindReceipts/${id}/delete`);\r\n },\r\n openDeleteProductsDialog: () => {\r\n history.push(`/FindReceipts/deleteReceipts`);\r\n },\r\n openFetchProductsDialog: () => {\r\n history.push(`/FindReceipts/fetch`);\r\n },\r\n openUpdateProductsStatusDialog: () => {\r\n history.push(\"/FindReceipts/updateStatus\");\r\n },\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n {({ history, match }) => (\r\n {\r\n history.push(\"/FindReceipts\");\r\n }}\r\n />\r\n )}\r\n \r\n \r\n {({ history, match }) => (\r\n {\r\n history.push(\"/FindReceipts\");\r\n }}\r\n />\r\n )}\r\n \r\n \r\n {({ history, match }) => (\r\n {\r\n history.push(\"/FindReceipts\");\r\n }}\r\n />\r\n )}\r\n \r\n \r\n {({ history, match }) => (\r\n {\r\n history.push(\"/FindReceipts\");\r\n }}\r\n />\r\n )}\r\n \r\n \r\n \r\n );\r\n}\r\n","import React, { useEffect } from \"react\";\r\nimport { shallowEqual, useSelector } from \"react-redux\";\r\nimport { LoadingDialog } from \"../../../../../../../_metronic/_partials/controls\";\r\n\r\nexport function CustomersLoadingDialog() {\r\n // Customers Redux state\r\n const { isLoading } = useSelector(\r\n (state) => ({ isLoading: state.customers.listLoading }),\r\n shallowEqual\r\n );\r\n // looking for loading/dispatch\r\n useEffect(() => {}, [isLoading]);\r\n return ;\r\n}\r\n","import React, { useState, useEffect } from \"react\";\r\nimport { shallowEqual, useSelector } from \"react-redux\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport CloseIcon from '@material-ui/icons/Close';\r\nimport IconButton from '@material-ui/core/IconButton';\r\nimport { ModalProgressBar } from \"../../../../../../../_metronic/_partials/controls\";\r\n\r\nexport function CustomerEditDialogHeader({ id, onHide }) {\r\n // Customers Redux state\r\n const { customerForEdit, actionsLoading } = useSelector(\r\n (state) => ({\r\n customerForEdit: state.customers.customerForEdit,\r\n actionsLoading: state.customers.actionsLoading,\r\n }),\r\n shallowEqual\r\n );\r\n\r\n const [title, setTitle] = useState(\"\");\r\n // Title couting\r\n useEffect(() => {\r\n let _title = id ? \"\" : \"New UOM\";\r\n if (customerForEdit && id) {\r\n _title = `Edit UOM '${customerForEdit.Name}'`;\r\n }\r\n\r\n setTitle(_title);\r\n // eslint-disable-next-line\r\n }, [customerForEdit, actionsLoading]);\r\n\r\n return (\r\n <>\r\n {actionsLoading && }\r\n \r\n {title}\r\n {\r\n onHide(false);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n );\r\n}\r\n","// Form is based on Formik\r\n// Data validation is based on Yup\r\n// Please, be familiar with article first:\r\n// https://hackernoon.com/react-form-validation-with-formik-and-yup-8b76bda62e10\r\nimport React from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { Formik, Form, Field } from \"formik\";\r\nimport * as Yup from \"yup\";\r\nimport {\r\n Input,\r\n Select,\r\n DatePickerField,\r\n} from \"../../../../../../../_metronic/_partials/controls\";\r\n\r\n// Validation schema\r\nconst CustomerEditSchema = Yup.object().shape({\r\n Name: Yup.string()\r\n .min(3, \"Minimum 3 symbols\")\r\n .max(50, \"Maximum 50 symbols\")\r\n .required(\"Name is required\"),\r\n});\r\n\r\nexport function CustomerEditForm({\r\n saveCustomer,\r\n customer,\r\n actionsLoading,\r\n onHide,\r\n}) {\r\n return (\r\n <>\r\n {\r\n saveCustomer(values);\r\n }}\r\n >\r\n {({ handleSubmit }) => (\r\n <>\r\n \r\n {actionsLoading && (\r\n
\r\n
\r\n
\r\n )}\r\n
\r\n
\r\n {/* First Name */}\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n \r\n Cancel\r\n \r\n <> \r\n handleSubmit()}\r\n className=\"btn btn-primary btn-elevate\"\r\n >\r\n Save\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n );\r\n}\r\n","export const CustomerStatusCssClasses = [\"danger\", \"success\", \"info\", \"\"];\r\nexport const CustomerStatusTitles = [\"Inactive\", \"Active\"];\r\nexport const CustomerTypeCssClasses = [\"success\", \"primary\", \"\"];\r\nexport const CustomerTypeTitles = [\"Business\", \"Individual\", \"\"];\r\nexport const defaultSorted = [{ dataField: \"id\", order: \"desc\" }];\r\nexport const sizePerPageList = [\r\n { text: \"3\", value: 3 },\r\n { text: \"5\", value: 5 },\r\n { text: \"10\", value: 10 }\r\n];\r\nexport const initialFilter = {\r\n filter: {\r\n lastName: \"\",\r\n firstName: \"\",\r\n email: \"\",\r\n ipAddress: \"\"\r\n },\r\n sortOrder: \"asc\", // asc||desc\r\n sortField: \"id\",\r\n pageNumber: 1,\r\n pageSize: 10\r\n};\r\n","import React, {createContext, useContext, useState, useCallback} from \"react\";\r\nimport {isEqual, isFunction} from \"lodash\";\r\nimport {initialFilter} from \"./CustomersUIHelpers\";\r\n\r\nconst CustomersUIContext = createContext();\r\n\r\nexport function useCustomersUIContext() {\r\n return useContext(CustomersUIContext);\r\n}\r\n\r\nexport const CustomersUIConsumer = CustomersUIContext.Consumer;\r\n\r\nexport function CustomersUIProvider({customersUIEvents, children}) {\r\n const [queryParams, setQueryParamsBase] = useState(initialFilter);\r\n const [ids, setIds] = useState([]);\r\n const setQueryParams = useCallback(nextQueryParams => {\r\n setQueryParamsBase(prevQueryParams => {\r\n if (isFunction(nextQueryParams)) {\r\n nextQueryParams = nextQueryParams(prevQueryParams);\r\n }\r\n\r\n if (isEqual(prevQueryParams, nextQueryParams)) {\r\n return prevQueryParams;\r\n }\r\n\r\n return nextQueryParams;\r\n });\r\n }, []);\r\n\r\n const initCustomer = {\r\n id: undefined,\r\n firstName: \"\",\r\n lastName: \"\",\r\n email: \"\",\r\n userName: \"\",\r\n gender: \"Female\",\r\n status: 0,\r\n dateOfBbirth: \"\",\r\n ipAddress: \"\",\r\n type: 1\r\n };\r\n\r\n const value = {\r\n queryParams,\r\n setQueryParamsBase,\r\n ids,\r\n setIds,\r\n setQueryParams,\r\n initCustomer,\r\n newCustomerButtonClick: customersUIEvents.newCustomerButtonClick,\r\n openEditCustomerDialog: customersUIEvents.openEditCustomerDialog,\r\n openDeleteCustomerDialog: customersUIEvents.openDeleteCustomerDialog,\r\n openDeleteCustomersDialog: customersUIEvents.openDeleteCustomersDialog,\r\n openFetchCustomersDialog: customersUIEvents.openFetchCustomersDialog,\r\n openUpdateCustomersStatusDialog: customersUIEvents.openUpdateCustomersStatusDialog\r\n };\r\n\r\n return {children};\r\n}","import React, { useEffect, useMemo } from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { shallowEqual, useDispatch, useSelector } from \"react-redux\";\r\nimport * as actions from \"../../../../_redux/Transload/ManageUOM/customersActions\";\r\nimport { CustomerEditDialogHeader } from \"./CustomerEditDialogHeader\";\r\nimport { CustomerEditForm } from \"./CustomerEditForm\";\r\nimport { useCustomersUIContext } from \"../CustomersUIContext\";\r\n\r\nexport function CustomerEditDialog({ id, show, onHide }) {\r\n // Customers UI Context\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n initCustomer: customersUIContext.initCustomer,\r\n };\r\n }, [customersUIContext]);\r\n\r\n // Customers Redux state\r\n const dispatch = useDispatch();\r\n const { actionsLoading, customerForEdit } = useSelector(\r\n (state) => ({\r\n actionsLoading: state.customers.actionsLoading,\r\n customerForEdit: state.customers.customerForEdit,\r\n }),\r\n shallowEqual\r\n );\r\n\r\n useEffect(() => {\r\n // server call for getting Customer by id\r\n dispatch(actions.fetchCustomer(id));\r\n }, [id, dispatch]);\r\n\r\n // server request for saving customer\r\n const saveCustomer = (customer) => {\r\n if (!id) {\r\n // server request for creating customer\r\n dispatch(actions.createCustomer(customer)).then(() => onHide());\r\n } else {\r\n // server request for updating customer\r\n dispatch(actions.updateCustomer(customer)).then(() => onHide());\r\n }\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n}\r\n","import React, { useEffect, useMemo } from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { shallowEqual, useDispatch, useSelector } from \"react-redux\";\r\nimport {ModalProgressBar} from \"../../../../../../../_metronic/_partials/controls\";\r\nimport * as actions from \"../../../../_redux/Transload/ManageUOM/customersActions\";\r\nimport {useCustomersUIContext} from \"../CustomersUIContext\";\r\n\r\nexport function CustomerDeleteDialog({ id, show, onHide }) {\r\n // Customers UI Context\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n setIds: customersUIContext.setIds,\r\n queryParams: customersUIContext.queryParams\r\n };\r\n }, [customersUIContext]);\r\n\r\n // Customers Redux state\r\n const dispatch = useDispatch();\r\n const { isLoading } = useSelector(\r\n (state) => ({ isLoading: state.customers.actionsLoading }),\r\n shallowEqual\r\n );\r\n\r\n // if !id we should close modal\r\n useEffect(() => {\r\n if (!id) {\r\n onHide();\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [id]);\r\n\r\n // looking for loading/dispatch\r\n useEffect(() => {}, [isLoading, dispatch]);\r\n\r\n const deleteCustomer = () => {\r\n // server request for deleting customer by id\r\n dispatch(actions.deleteCustomer(id)).then(() => {\r\n // refresh list after deletion\r\n dispatch(actions.fetchCustomers(customersUIProps.queryParams));\r\n // clear selections list\r\n customersUIProps.setIds([]);\r\n // closing delete modal\r\n onHide();\r\n });\r\n };\r\n\r\n return (\r\n \r\n {/*begin::Loading*/}\r\n {isLoading && }\r\n {/*end::Loading*/}\r\n \r\n \r\n UOM Delete\r\n \r\n \r\n \r\n {!isLoading && (\r\n Are you sure to permanently delete this unit of measure ?\r\n )}\r\n {isLoading && UOM is deleting...}\r\n \r\n \r\n
\r\n \r\n Cancel\r\n \r\n <> \r\n \r\n Delete\r\n \r\n
\r\n
\r\n \r\n );\r\n}\r\n","import React, { useEffect, useMemo } from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { shallowEqual, useDispatch, useSelector } from \"react-redux\";\r\nimport * as actions from \"../../../../_redux/Transload/ManageUOM/customersActions\";\r\nimport { useCustomersUIContext } from \"../CustomersUIContext\";\r\nimport {ModalProgressBar} from \"../../../../../../../_metronic/_partials/controls\";\r\n\r\nexport function CustomersDeleteDialog({ show, onHide }) {\r\n // Customers UI Context\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n ids: customersUIContext.ids,\r\n setIds: customersUIContext.setIds,\r\n queryParams: customersUIContext.queryParams,\r\n };\r\n }, [customersUIContext]);\r\n\r\n // Customers Redux state\r\n const dispatch = useDispatch();\r\n const { isLoading } = useSelector(\r\n (state) => ({ isLoading: state.customers.actionsLoading }),\r\n shallowEqual\r\n );\r\n\r\n // if customers weren't selected we should close modal\r\n useEffect(() => {\r\n if (!customersUIProps.ids || customersUIProps.ids.length === 0) {\r\n onHide();\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [customersUIProps.ids]);\r\n\r\n // looking for loading/dispatch\r\n useEffect(() => {}, [isLoading, dispatch]);\r\n\r\n const deleteCustomers = () => {\r\n // server request for deleting customer by selected ids\r\n dispatch(actions.deleteCustomers(customersUIProps.ids)).then(() => {\r\n // refresh list after deletion\r\n dispatch(actions.fetchCustomers(customersUIProps.queryParams)).then(\r\n () => {\r\n // clear selections list\r\n customersUIProps.setIds([]);\r\n // closing delete modal\r\n onHide();\r\n }\r\n );\r\n });\r\n };\r\n\r\n return (\r\n \r\n {/*begin::Loading*/}\r\n {isLoading && }\r\n {/*end::Loading*/}\r\n \r\n \r\n Customers Delete\r\n \r\n \r\n \r\n {!isLoading && (\r\n Are you sure to permanently delete selected customers?\r\n )}\r\n {isLoading && Customer are deleting...}\r\n \r\n \r\n
\r\n \r\n Cancel\r\n \r\n <> \r\n \r\n Delete\r\n \r\n
\r\n
\r\n \r\n );\r\n}\r\n","import React, { useEffect, useMemo } from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { shallowEqual, useSelector } from \"react-redux\";\r\nimport { CustomerStatusCssClasses } from \"../CustomersUIHelpers\";\r\nimport { useCustomersUIContext } from \"../CustomersUIContext\";\r\n\r\nconst selectedCustomers = (entities, ids) => {\r\n const _customers = [];\r\n ids.forEach((id) => {\r\n const customer = entities.find((el) => el.id === id);\r\n if (customer) {\r\n _customers.push(customer);\r\n }\r\n });\r\n return _customers;\r\n};\r\n\r\nexport function CustomersFetchDialog({ show, onHide }) {\r\n // Customers UI Context\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n ids: customersUIContext.ids,\r\n };\r\n }, [customersUIContext]);\r\n\r\n // Customers Redux state\r\n const { customers } = useSelector(\r\n (state) => ({\r\n customers: selectedCustomers(\r\n state.customers.entities,\r\n customersUIProps.ids\r\n ),\r\n }),\r\n shallowEqual\r\n );\r\n\r\n // if customers weren't selected we should close modal\r\n useEffect(() => {\r\n if (!customersUIProps.ids || customersUIProps.ids.length === 0) {\r\n onHide();\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [customersUIProps.ids]);\r\n\r\n return (\r\n \r\n \r\n \r\n Fetch selected elements\r\n \r\n \r\n \r\n
\r\n {customers.map((customer) => (\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n ID: {customer.id}\r\n \r\n {customer.lastName}, {customer.firstName} \r\n
\r\n
\r\n ))}\r\n
\r\n \r\n \r\n
\r\n \r\n Cancel\r\n \r\n <> \r\n \r\n Ok\r\n \r\n
\r\n
\r\n \r\n );\r\n}\r\n","import React, { useEffect, useState, useMemo } from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { shallowEqual, useDispatch, useSelector } from \"react-redux\";\r\nimport { CustomerStatusCssClasses } from \"../CustomersUIHelpers\";\r\nimport * as actions from \"../../../../_redux/Transload/ManageUOM/customersActions\";\r\nimport { useCustomersUIContext } from \"../CustomersUIContext\";\r\n\r\nconst selectedCustomers = (entities, ids) => {\r\n const _customers = [];\r\n ids.forEach((id) => {\r\n const customer = entities.find((el) => el.id === id);\r\n if (customer) {\r\n _customers.push(customer);\r\n }\r\n });\r\n return _customers;\r\n};\r\n\r\nexport function CustomersUpdateStateDialog({ show, onHide }) {\r\n // Customers UI Context\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n ids: customersUIContext.ids,\r\n setIds: customersUIContext.setIds,\r\n queryParams: customersUIContext.queryParams,\r\n };\r\n }, [customersUIContext]);\r\n\r\n // Customers Redux state\r\n const { customers, isLoading } = useSelector(\r\n (state) => ({\r\n customers: selectedCustomers(\r\n state.customers.entities,\r\n customersUIProps.ids\r\n ),\r\n isLoading: state.customers.actionsLoading,\r\n }),\r\n shallowEqual\r\n );\r\n\r\n // if !id we should close modal\r\n useEffect(() => {\r\n if (!customersUIProps.ids || customersUIProps.ids.length === 0) {\r\n onHide();\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [customersUIProps.ids]);\r\n\r\n const [status, setStatus] = useState(0);\r\n\r\n const dispatch = useDispatch();\r\n const updateStatus = () => {\r\n // server request for update customers status by selected ids\r\n dispatch(actions.updateCustomersStatus(customersUIProps.ids, status)).then(\r\n () => {\r\n // refresh list after deletion\r\n dispatch(actions.fetchCustomers(customersUIProps.queryParams)).then(\r\n () => {\r\n // clear selections list\r\n customersUIProps.setIds([]);\r\n // closing delete modal\r\n onHide();\r\n }\r\n );\r\n }\r\n );\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n Status has been updated for selected customers\r\n \r\n \r\n \r\n {/*begin::Loading*/}\r\n {isLoading && (\r\n
\r\n
\r\n
\r\n )}\r\n {/*end::Loading*/}\r\n\r\n
\r\n {customers.map((customer) => (\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n ID: {customer.id}\r\n \r\n \r\n {customer.lastName}, {customer.firstName}\r\n \r\n
\r\n
\r\n ))}\r\n
\r\n \r\n \r\n
\r\n setStatus(+e.target.value)}\r\n >\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n Cancel\r\n \r\n \r\n Update Status\r\n \r\n
\r\n
\r\n \r\n );\r\n}\r\n","import React, { useMemo,useState } from \"react\";\r\nimport { Formik } from \"formik\";\r\nimport { isEqual } from \"lodash\";\r\nimport { useCustomersUIContext } from \"../CustomersUIContext\";\r\nimport axios from \"axios\";\r\nimport Menu from '@material-ui/core/Menu';\r\nimport MenuItem from '@material-ui/core/MenuItem';\r\nimport ListItemIcon from '@material-ui/core/ListItemIcon';\r\nimport ListItemText from '@material-ui/core/ListItemText';\r\nimport { withStyles } from '@material-ui/core/styles';\r\nimport { makeStyles } from '@material-ui/core/styles';\r\nimport Icon from '@material-ui/core/Icon';\r\nimport Button from '@material-ui/core/Button';\r\nimport { Form, Modal, Col, Tabs, Tab, Table, Spinner, OverlayTrigger, Tooltip, ButtonToolbar } from \"react-bootstrap\";\r\nimport { Export } from \"../../../../../../../_metronic/_helpers/ATHelpers\";\r\n\r\n//Export Filter\r\n\r\nconst StyledMenu = withStyles({\r\n paper: {\r\n border: '1px solid #d3d4d5',\r\n },\r\n})(props => (\r\n \r\n));\r\nconst StyledMenuItem = withStyles(theme => ({\r\n root: {\r\n '&:focus': {\r\n backgroundColor: theme.palette.primary.main,\r\n '& .MuiListItemIcon-root, & .MuiListItemText-primary': {\r\n color: theme.palette.common.white,\r\n },\r\n },\r\n },\r\n}))(MenuItem);\r\nconst useStyles = makeStyles(theme => ({\r\n button: {\r\n margin: theme.spacing(1),\r\n },\r\n leftIcon: {\r\n marginRight: theme.spacing(1),\r\n },\r\n rightIcon: {\r\n marginLeft: theme.spacing(1),\r\n },\r\n iconSmall: {\r\n fontSize: 20,\r\n },\r\n}));\r\nconst prepareFilter = (queryParams, values) => {\r\n const { searchText,ReLoadTable } = values;\r\n const newQueryParams = { ...queryParams };\r\n const filter = {};\r\n filter.ReLoadTable = ReLoadTable || false;\r\n // Filter by all fields\r\n filter.Name = searchText;\r\n if (searchText) {\r\n filter.Name = searchText;\r\n }\r\n newQueryParams.filter = filter;\r\n return newQueryParams;\r\n};\r\n\r\nexport function CustomersFilter({ listLoading }) {\r\n // Customers UI Context\r\n const customersUIContext = useCustomersUIContext();\r\n const [QueryFilter, setQueryFilter] = useState(\"\");\r\n\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n queryParams: customersUIContext.queryParams,\r\n setQueryParams: customersUIContext.setQueryParams,\r\n };\r\n }, [customersUIContext]);\r\n\r\n // queryParams, setQueryParams,\r\n const applyFilter = (values) => {\r\n const newQueryParams = prepareFilter(customersUIProps.queryParams, values);\r\n if (!isEqual(newQueryParams, customersUIProps.queryParams)) {\r\n newQueryParams.pageNumber = 1;\r\n // update list by queryParams\r\n setQueryFilter(newQueryParams);\r\n\r\n customersUIProps.setQueryParams(newQueryParams);\r\n }\r\n };\r\n const useStyles = makeStyles(theme => ({\r\n container: {\r\n display: 'flex',\r\n flexWrap: 'wrap',\r\n },\r\n textField: {\r\n marginLeft: theme.spacing(1),\r\n marginRight: theme.spacing(1),\r\n width: 200,\r\n },\r\n }));\r\n const classes = useStyles();\r\n const [anchorEl, setAnchorEl] = React.useState(null);\r\n function handleClick(event) {\r\n setAnchorEl(event.currentTarget);\r\n }\r\n function handleClose() {\r\n setAnchorEl(null);\r\n }\r\n\r\n async function fetchMyAPI2(type, entityName) {\r\n var filter = QueryFilter;\r\n if (filter) {\r\n filter.pageSize=100000;\r\n const result = await axios.post(`api/ManageUOM/filter`, { \"queryParams\": filter });\r\n Export(result.data.entities, type, entityName);\r\n } else {\r\n const result = await axios.post(`api/ManageUOM/filter`, { \"queryParams\": { \"filter\": { \"ReLoadTable\": false }, \"sortOrder\": \"asc\", \"sortField\": \"id\", \"pageNumber\": 1, \"pageSize\": 100000 } });\r\n Export(result.data.entities, type, entityName);\r\n }\r\n }\r\n return (\r\n <>\r\n All=\"\"/Susspended=0/Active=1/Pending=2\r\n type: \"\", // values => All=\"\"/Business=0/Individual=1\r\n searchText: \"\",\r\n }}\r\n onSubmit={(values) => {\r\n applyFilter(values);\r\n }}\r\n >\r\n {({\r\n values,\r\n handleSubmit,\r\n handleBlur,\r\n handleChange,\r\n setFieldValue,\r\n }) => (\r\n
\r\n {\r\n if (e.target.value == \"0\")\r\n document.getElementById(\"ReLoadTableId\").value = 1;\r\n else document.getElementById(\"ReLoadTableId\").value = 0;\r\n setFieldValue(\"ReLoadTable\", e.target.value);\r\n handleSubmit();\r\n }}\r\n />\r\n
\r\n
\r\n {\r\n setFieldValue(\"searchText\", e.target.value);\r\n handleSubmit();\r\n }}\r\n />\r\n \r\n Search in all fields\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n {\r\n fetchMyAPI2(\"excel\", \"Manage_UOM\");\r\n\r\n }}>\r\n \r\n \r\n \r\n \r\n \r\n {\r\n fetchMyAPI2(\"csv\", \"Manage_UOM\");\r\n }} >\r\n \r\n \r\n \r\n \r\n \r\n {\r\n fetchMyAPI2(\"json\", \"Manage_UOM\");\r\n }}>\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n {/* */}\r\n \r\n
\r\n
\r\n \r\n )}\r\n \r\n \r\n );\r\n}\r\n","// please be familiar with react-bootstrap-table-next column formaters\r\n// https://react-bootstrap-table.github.io/react-bootstrap-table2/storybook/index.html?selectedKind=Work%20on%20Columns&selectedStory=Column%20Formatter&full=0&addons=1&stories=1&panelRight=0&addonPanel=storybook%2Factions%2Factions-panel\r\n/* eslint-disable no-script-url,jsx-a11y/anchor-is-valid */\r\nimport React from \"react\";\r\nimport SVG from \"react-inlinesvg\";\r\nimport { toAbsoluteUrl } from \"../../../../../../../../_metronic/_helpers\";\r\n\r\nexport function ActionsColumnFormatter(\r\n cellContent,\r\n row,\r\n rowIndex,\r\n { openEditCustomerDialog, openDeleteCustomerDialog }\r\n) {\r\n return (\r\n <>\r\n openEditCustomerDialog(row.id)}\r\n >\r\n \r\n \r\n \r\n \r\n <> \r\n\r\n openDeleteCustomerDialog(row.id)}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n","// React bootstrap table next =>\r\n// DOCS: https://react-bootstrap-table.github.io/react-bootstrap-table2/docs/\r\n// STORYBOOK: https://react-bootstrap-table.github.io/react-bootstrap-table2/storybook/index.html\r\nimport React, { useEffect, useMemo } from \"react\";\r\nimport BootstrapTable from \"react-bootstrap-table-next\";\r\nimport paginationFactory, {\r\n PaginationProvider,\r\n} from \"react-bootstrap-table2-paginator\";\r\nimport { shallowEqual, useDispatch, useSelector } from \"react-redux\";\r\nimport * as actions from \"../../../../_redux/Transload/ManageUOM/customersActions\";\r\nimport {\r\n getSelectRow,\r\n getHandlerTableChange,\r\n NoRecordsFoundMessage,\r\n PleaseWaitMessage,\r\n sortCaret,\r\n headerSortingClasses,\r\n} from \"../../../../../../../_metronic/_helpers\";\r\nimport * as uiHelpers from \"../CustomersUIHelpers\";\r\nimport * as columnFormatters from \"./column-formatters\";\r\nimport { Pagination } from \"../../../../../../../_metronic/_partials/controls\";\r\nimport { useCustomersUIContext } from \"../CustomersUIContext\";\r\n\r\nexport function CustomersTable() {\r\n // Customers UI Context\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n ids: customersUIContext.ids,\r\n setIds: customersUIContext.setIds,\r\n queryParams: customersUIContext.queryParams,\r\n setQueryParams: customersUIContext.setQueryParams,\r\n openEditCustomerDialog: customersUIContext.openEditCustomerDialog,\r\n openDeleteCustomerDialog: customersUIContext.openDeleteCustomerDialog,\r\n };\r\n }, [customersUIContext]);\r\n\r\n // Getting curret state of customers list from store (Redux)\r\n const { currentState } = useSelector(\r\n (state) => ({ currentState: state.customers }),\r\n shallowEqual\r\n );\r\n const { totalCount, entities, listLoading } = currentState;\r\n\r\n // Customers Redux state\r\n const dispatch = useDispatch();\r\n useEffect(() => {\r\n // clear selections list\r\n customersUIProps.setIds([]);\r\n // server call by queryParams\r\n dispatch(actions.fetchCustomers(customersUIProps.queryParams));\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [customersUIProps.queryParams, dispatch]);\r\n // Table columns\r\n const columns = [\r\n {\r\n dataField: \"id\",\r\n text: \"ID\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n headerSortingClasses,\r\n },\r\n {\r\n dataField: \"Name\",\r\n text: \"Name\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n headerSortingClasses,\r\n },\r\n {\r\n dataField: \"Description\",\r\n text: \"Description\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n headerSortingClasses,\r\n },\r\n {\r\n dataField: \"action\",\r\n text: \"Actions\",\r\n formatter: columnFormatters.ActionsColumnFormatter,\r\n formatExtraData: {\r\n openEditCustomerDialog: customersUIProps.openEditCustomerDialog,\r\n openDeleteCustomerDialog: customersUIProps.openDeleteCustomerDialog,\r\n },\r\n classes: \"text-center pr-0\",\r\n headerClasses: \"text-center pr-3\",\r\n style: {\r\n minWidth: \"100px\",\r\n },\r\n },\r\n ];\r\n // Table pagination properties\r\n const paginationOptions = {\r\n custom: true,\r\n totalSize: totalCount,\r\n sizePerPageList: uiHelpers.sizePerPageList,\r\n sizePerPage: customersUIProps.queryParams.pageSize,\r\n page: customersUIProps.queryParams.pageNumber,\r\n };\r\n return (\r\n <>\r\n \r\n {({ paginationProps, paginationTableProps }) => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n }}\r\n \r\n \r\n );\r\n}\r\n","import React, { useMemo } from \"react\";\r\nimport { useCustomersUIContext } from \"../CustomersUIContext\";\r\n\r\nexport function CustomersGrouping() {\r\n // Customers UI Context\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n ids: customersUIContext.ids,\r\n setIds: customersUIContext.setIds,\r\n openDeleteCustomersDialog: customersUIContext.openDeleteCustomersDialog,\r\n openFetchCustomersDialog: customersUIContext.openFetchCustomersDialog,\r\n openUpdateCustomersStatusDialog:\r\n customersUIContext.openUpdateCustomersStatusDialog,\r\n };\r\n }, [customersUIContext]);\r\n\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n Delete All\r\n \r\n  \r\n \r\n Fetch Selected\r\n \r\n  \r\n \r\n Update Status\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n );\r\n}\r\n","import React, { useMemo } from \"react\";\r\nimport {\r\n Card,\r\n CardBody,\r\n CardHeader,\r\n CardHeaderToolbar,\r\n} from \"../../../../../../_metronic/_partials/controls\";\r\nimport { CustomersFilter } from \"./customers-filter/CustomersFilter\";\r\nimport { CustomersTable } from \"./customers-table/CustomersTable\";\r\nimport { CustomersGrouping } from \"./customers-grouping/CustomersGrouping\";\r\nimport { useCustomersUIContext } from \"./CustomersUIContext\";\r\nimport { Helmet } from \"react-helmet\";\r\n\r\nexport function CustomersCard() {\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n ids: customersUIContext.ids,\r\n newCustomerButtonClick: customersUIContext.newCustomerButtonClick,\r\n };\r\n }, [customersUIContext]);\r\n\r\n return (\r\n <>\r\n \r\n eMPower | Manage UOM\r\n \r\n \r\n \r\n \r\n \r\n \r\n New UOM\r\n \r\n \r\n \r\n \r\n \r\n {customersUIProps.ids.length > 0 && }\r\n \r\n \r\n \r\n \r\n );\r\n}\r\n","import React from \"react\";\r\nimport { Route } from \"react-router-dom\";\r\nimport { CustomersLoadingDialog } from \"./customers-loading-dialog/CustomersLoadingDialog\";\r\nimport { CustomerEditDialog } from \"./customer-edit-dialog/CustomerEditDialog\";\r\nimport { CustomerDeleteDialog } from \"./customer-delete-dialog/CustomerDeleteDialog\";\r\nimport { CustomersDeleteDialog } from \"./customers-delete-dialog/CustomersDeleteDialog\";\r\nimport { CustomersFetchDialog } from \"./customers-fetch-dialog/CustomersFetchDialog\";\r\nimport { CustomersUpdateStateDialog } from \"./customers-update-status-dialog/CustomersUpdateStateDialog\";\r\nimport { CustomersUIProvider } from \"./CustomersUIContext\";\r\nimport { CustomersCard } from \"./CustomersCard\";\r\n\r\nexport function ManageUOMPage({ history }) {\r\n const customersUIEvents = {\r\n newCustomerButtonClick: () => {\r\n history.push(\"/Transload/ManageUOM/new\");\r\n },\r\n openEditCustomerDialog: (id) => {\r\n history.push(`/Transload/ManageUOM/${id}/edit`);\r\n },\r\n openDeleteCustomerDialog: (id) => {\r\n history.push(`/Transload/ManageUOM/${id}/delete`);\r\n },\r\n openDeleteCustomersDialog: () => {\r\n history.push(`/Transload/ManageUOM/deleteCustomers`);\r\n },\r\n openFetchCustomersDialog: () => {\r\n history.push(`/Transload/ManageUOM/fetch`);\r\n },\r\n openUpdateCustomersStatusDialog: () => {\r\n history.push(\"/Transload/ManageUOM/updateStatus\");\r\n }\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n {({ history, match }) => (\r\n {\r\n history.push(\"/Transload/ManageUOM\");\r\n }}\r\n />\r\n )}\r\n \r\n \r\n {({ history, match }) => (\r\n {\r\n history.push(\"/Transload/ManageUOM\");\r\n }}\r\n />\r\n )}\r\n \r\n \r\n {({ history, match }) => (\r\n {\r\n history.push(\"/Transload/ManageUOM\");\r\n }}\r\n />\r\n )}\r\n \r\n \r\n {({ history, match }) => (\r\n {\r\n history.push(\"/Transload/ManageUOM\");\r\n }}\r\n />\r\n )}\r\n \r\n \r\n {({ history, match }) => (\r\n {\r\n history.push(\"/Transload/ManageUOM\");\r\n }}\r\n />\r\n )}\r\n \r\n \r\n {({ history, match }) => (\r\n {\r\n history.push(\"/Transload/ManageUOM\");\r\n }}\r\n />\r\n )}\r\n \r\n \r\n \r\n );\r\n}\r\n","import React, {useEffect} from \"react\";\r\nimport {shallowEqual, useSelector} from \"react-redux\";\r\nimport {LoadingDialog} from \"../../../../../../_metronic/_partials/controls\";\r\n\r\nexport function ProductsLoadingDialog() {\r\n const { isLoading } = useSelector(\r\n state => ({ isLoading: state.products.listLoading }),\r\n shallowEqual\r\n );\r\n useEffect(() => {}, [isLoading]);\r\n return ;\r\n}\r\n","import moment from \"moment\";\r\nexport const ProductStatusCssClasses = [\"success\", \"info\", \"\"];\r\nexport const ProductStatusTitles = [\"Selling\", \"Sold\"];\r\nexport const ProductConditionCssClasses = [\"success\", \"danger\", \"\"];\r\nexport const ProductConditionTitles = [\"New\", \"Used\"];\r\nexport const defaultSorted = [{ dataField: \"id\", order: \"desc\" }];\r\nexport const sizePerPageList = [\r\n { text: \"4\", value: 4 },\r\n { text: \"8\", value: 8 },\r\n { text: \"15\", value: 15 },\r\n];\r\n\r\nexport const initialFilter = {\r\n filter: {\r\n LoadBoardId: \"\", // values => All=\"\"/Selling=0/Sold=1\r\n CustomerId: \"\", // values => All=\"\"/New=0/Used=1\r\n ModeId: \"\",\r\n CarrierId: \"\",\r\n SearchText: \"\",\r\n CapacityOperationId: \"\",\r\n CommercialAssigneeId: \"\",\r\n CommercialOperationId: \"\",\r\n startDate: moment(moment(), \"DD-MM-YYYY\")\r\n .add(-28, \"days\")\r\n .format(\"YYYY-MM-DD\"),\r\n endDate: moment(moment(), \"DD-MM-YYYY\")\r\n .add(14, \"days\")\r\n .format(\"YYYY-MM-DD\"),\r\n },\r\n sortOrder: \"asc\", // asc||desc\r\n sortField: \"VINCode\",\r\n pageNumber: 1,\r\n pageSize: 4,\r\n};\r\nexport const AVAILABLE_COLORS = [\r\n \"Red\",\r\n \"CadetBlue\",\r\n \"Eagle\",\r\n \"Gold\",\r\n \"LightSlateGrey\",\r\n \"RoyalBlue\",\r\n \"Crimson\",\r\n \"Blue\",\r\n \"Sienna\",\r\n \"Indigo\",\r\n \"Green\",\r\n \"Violet\",\r\n \"GoldenRod\",\r\n \"OrangeRed\",\r\n \"Khaki\",\r\n \"Teal\",\r\n \"Purple\",\r\n \"Orange\",\r\n \"Pink\",\r\n \"Black\",\r\n \"DarkTurquoise\",\r\n];\r\n\r\nexport const AVAILABLE_MANUFACTURES = [\r\n \"Pontiac\",\r\n \"Kia\",\r\n \"Lotus\",\r\n \"Subaru\",\r\n \"Jeep\",\r\n \"Isuzu\",\r\n \"Mitsubishi\",\r\n \"Oldsmobile\",\r\n \"Chevrolet\",\r\n \"Chrysler\",\r\n \"Audi\",\r\n \"Suzuki\",\r\n \"GMC\",\r\n \"Cadillac\",\r\n \"Infinity\",\r\n \"Mercury\",\r\n \"Dodge\",\r\n \"Ram\",\r\n \"Lexus\",\r\n \"Lamborghini\",\r\n \"Honda\",\r\n \"Nissan\",\r\n \"Ford\",\r\n \"Hyundai\",\r\n \"Saab\",\r\n \"Toyota\",\r\n];\r\n","import React, { createContext, useContext, useState, useCallback } from \"react\";\r\nimport { isEqual, isFunction } from \"lodash\";\r\nimport { initialFilter } from \"./ProductsUIHelpers\";\r\n\r\nconst ProductsUIContext = createContext();\r\n\r\nexport function useProductsUIContext() {\r\n return useContext(ProductsUIContext);\r\n}\r\n\r\nexport const ProductsUIConsumer = ProductsUIContext.Consumer;\r\n\r\nexport function ProductsUIProvider({ productsUIEvents, children }) {\r\n const [queryParams, setQueryParamsBase] = useState(initialFilter);\r\n const [ids, setIds] = useState([]);\r\n const setQueryParams = useCallback((nextQueryParams) => {\r\n setQueryParamsBase((prevQueryParams) => {\r\n if (isFunction(nextQueryParams)) {\r\n nextQueryParams = nextQueryParams(prevQueryParams);\r\n }\r\n\r\n if (isEqual(prevQueryParams, nextQueryParams)) {\r\n return prevQueryParams;\r\n }\r\n\r\n return nextQueryParams;\r\n });\r\n }, []);\r\n\r\n const value = {\r\n queryParams,\r\n setQueryParamsBase,\r\n ids,\r\n setIds,\r\n setQueryParams,\r\n newProductButtonClick: productsUIEvents.newProductButtonClick,\r\n newCreateOrderButtonClick: productsUIEvents.newCreateOrderButtonClick,\r\n openEditProductPage: productsUIEvents.openEditProductPage,\r\n openDetailProductPage: productsUIEvents.openDetailProductPage,\r\n openDeleteProductDialog: productsUIEvents.openDeleteProductDialog,\r\n openDeleteProductsDialog: productsUIEvents.openDeleteProductsDialog,\r\n openFetchProductsDialog: productsUIEvents.openFetchProductsDialog,\r\n openUpdateProductsStatusDialog:\r\n productsUIEvents.openUpdateProductsStatusDialog,\r\n };\r\n\r\n return (\r\n \r\n {children}\r\n \r\n );\r\n}\r\n","import React, { useMemo, useState, useEffect } from \"react\";\r\nimport { Formik } from \"formik\";\r\nimport { isEqual } from \"lodash\";\r\nimport { useProductsUIContext } from \"../ProductsUIContext\";\r\nimport { RangeDatePicker } from \"react-google-flight-datepicker\";\r\nimport \"react-google-flight-datepicker/dist/main.css\";\r\nimport Select from \"react-select\";\r\nimport low from \"lowdb\";\r\nimport LocalStorage from \"lowdb/adapters/LocalStorage\";\r\nimport SelectMulti from \"react-select\";\r\nimport { OverlayTrigger, Tooltip } from \"react-bootstrap\";\r\nimport SVG from \"react-inlinesvg\";\r\nimport { toAbsoluteUrl } from \"../../../../../../_metronic/_helpers\";\r\nimport moment from \"moment\";\r\nconst adapter = new LocalStorage(\"db\");\r\nconst db = low(adapter);\r\n\r\nvar typingTimer;\r\nconst prepareFilter = (queryParams, values) => {\r\n const {\r\n LoadBoardId,\r\n CustomerId,\r\n ModeId,\r\n CarrierId,\r\n UserId,\r\n CapacityOperationId,\r\n CommercialAssigneeId,\r\n CommercialOperationId,\r\n SearchText,\r\n startDate,\r\n endDate,\r\n } = values;\r\n const newQueryParams = { ...queryParams };\r\n const filter = {};\r\n // Filter by status\r\n filter.LoadBoardId = LoadBoardId;\r\n // Filter by condition\r\n filter.CustomerId = CustomerId;\r\n filter.ModeId = ModeId;\r\n filter.SearchText = SearchText;\r\n filter.CarrierId = CarrierId;\r\n filter.UserId = UserId;\r\n filter.startDate = startDate;\r\n filter.CapacityOperationId = CapacityOperationId;\r\n filter.CommercialAssigneeId = CommercialAssigneeId;\r\n filter.CommercialOperationId = CommercialOperationId;\r\n filter.endDate = endDate;\r\n // Filter by all fields\r\n\r\n newQueryParams.filter = filter;\r\n return newQueryParams;\r\n};\r\n\r\nexport function ProductsFilter({ IsFilterHide }) {\r\n // Products UI Context\r\n const [Customers, setCustomers] = useState([]);\r\n const [CustomersList, setCustomersList] = useState([]);\r\n const [CarriersList, setCarriersList] = useState([]);\r\n const [UsersList, setUsersList] = useState([]);\r\n const [ModeList, setModeList] = useState([]);\r\n\r\n const [LoadBoardsList, setLoadBoardsList] = useState([]);\r\n const productsUIContext = useProductsUIContext();\r\n const productsUIProps = useMemo(() => {\r\n return {\r\n setQueryParams: productsUIContext.setQueryParams,\r\n queryParams: productsUIContext.queryParams,\r\n };\r\n }, [productsUIContext]);\r\n\r\n const applyFilter = (values) => {\r\n const newQueryParams = prepareFilter(productsUIProps.queryParams, values);\r\n if (!isEqual(newQueryParams, productsUIProps.queryParams)) {\r\n newQueryParams.pageNumber = 1;\r\n productsUIProps.setQueryParams(newQueryParams);\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n getDataViewModel();\r\n var myHeaders = new Headers();\r\n myHeaders.append(\"Authorization\", `Bearer ${db.read().getState().Token}`);\r\n\r\n var requestOptions = {\r\n method: \"GET\",\r\n headers: myHeaders,\r\n redirect: \"follow\",\r\n };\r\n\r\n fetch(`${window.$apiurl}/loadboard/GetLBViewModel`, requestOptions)\r\n .then((response) => response.text())\r\n .then((result) => {\r\n var obj = JSON.parse(result);\r\n setCustomersList(obj?.Customers || []);\r\n setCarriersList(obj?.Carriers || []);\r\n setUsersList(obj?.Updators || []);\r\n setModeList(obj.Modes || []);\r\n })\r\n .catch((error) => console.log(\"error\", error));\r\n }, []);\r\n useEffect(() => {\r\n if (window.$RefreshTMSLoadBoaed) {\r\n getDataViewModel();\r\n }\r\n window.$RefreshTMSLoadBoaed = false;\r\n }, [window.$RefreshTMSLoadBoaed]);\r\n function getDataViewModel() {\r\n var myHeaders = new Headers();\r\n myHeaders.append(\"Authorization\", `Bearer ${db.read().getState().Token}`);\r\n\r\n var requestOptions = {\r\n method: \"GET\",\r\n headers: myHeaders,\r\n redirect: \"follow\",\r\n };\r\n\r\n fetch(`${window.$apiurl}/loadboard`, requestOptions)\r\n .then((response) => response.text())\r\n .then((result) => {\r\n var obj = JSON.parse(result);\r\n setLoadBoardsList(obj || []);\r\n })\r\n .catch((error) => console.log(\"error\", error));\r\n }\r\n\r\n return (\r\n <>\r\n All=\"\"/Selling=0/Sold=1\r\n CustomerId: productsUIProps?.queryParams?.filter?.CustomerId, // values => All=\"\"/New=0/Used=1\r\n ModeId: productsUIProps?.queryParams?.filter?.ModeId,\r\n CarrierId: productsUIProps?.queryParams?.filter?.CarrierId,\r\n UserId: productsUIProps?.queryParams?.filter?.UserId,\r\n SearchText: productsUIProps?.queryParams?.filter?.SearchText,\r\n CapacityOperationId:\r\n productsUIProps?.queryParams?.filter?.CapacityOperationId,\r\n CommercialAssigneeId:\r\n productsUIProps?.queryParams?.filter?.CommercialAssigneeId,\r\n CommercialOperationId:\r\n productsUIProps?.queryParams?.filter?.CommercialOperationId,\r\n startDate: productsUIProps?.queryParams?.filter?.startDate,\r\n endDate: productsUIProps?.queryParams?.filter?.endDate,\r\n }}\r\n onSubmit={(values) => {\r\n applyFilter(values);\r\n }}\r\n >\r\n {({ values, handleSubmit, setFieldValue }) => (\r\n
\r\n {IsFilterHide === false ? (\r\n <>\r\n
\r\n
\r\n

Capacity Operations

\r\n {\r\n return {\r\n value: a.Id,\r\n label: a.Name,\r\n IsGroup: a.IsGroup,\r\n };\r\n })}\r\n onChange={(e) => {\r\n if (e !== null) {\r\n setFieldValue(\"CapacityOperationId\", e);\r\n } else {\r\n setFieldValue(\"CapacityOperationId\", null);\r\n }\r\n handleSubmit();\r\n }}\r\n />\r\n
\r\n
\r\n

Commercial Assignment

\r\n {\r\n return {\r\n value: a.Id,\r\n label: a.Name,\r\n IsGroup: a.IsGroup,\r\n };\r\n })}\r\n onChange={(e) => {\r\n if (e !== null) {\r\n setFieldValue(\"CommercialAssigneeId\", e);\r\n } else {\r\n setFieldValue(\"CommercialAssigneeId\", null);\r\n }\r\n handleSubmit();\r\n }}\r\n />\r\n
\r\n
\r\n

Commercial Operations

\r\n {\r\n return {\r\n value: a.Id,\r\n label: a.Name,\r\n IsGroup: a.IsGroup,\r\n };\r\n })}\r\n onChange={(e) => {\r\n if (e !== null) {\r\n setFieldValue(\"CommercialOperationId\", e);\r\n } else {\r\n setFieldValue(\"CommercialOperationId\", null);\r\n }\r\n handleSubmit();\r\n }}\r\n />\r\n
\r\n
\r\n

Date Start - End

\r\n {\r\n if (startDate === null) {\r\n setFieldValue(\"startDate\", \"\");\r\n } else {\r\n setFieldValue(\r\n \"startDate\",\r\n moment(startDate).format(\"YYYY-MM-DD\")\r\n );\r\n }\r\n if (endDate === null) {\r\n setFieldValue(\"endDate\", \"\");\r\n } else {\r\n setFieldValue(\r\n \"endDate\",\r\n moment(endDate).format(\"YYYY-MM-DD\")\r\n );\r\n }\r\n\r\n handleSubmit();\r\n }}\r\n />\r\n
\r\n
\r\n

Search

\r\n {\r\n setFieldValue(\"SearchText\", e.target.value);\r\n clearTimeout(typingTimer);\r\n typingTimer = setTimeout(function() {\r\n handleSubmit();\r\n }, 500);\r\n }}\r\n />\r\n
\r\n {values.LoadBoardId !== null && values.IsReadOnly !== true ? (\r\n
\r\n Edit\r\n }\r\n >\r\n {\r\n var ele1 = document.getElementById(\"LoadBoardEdit\");\r\n ele1.value = values.LoadBoardId;\r\n ele1.click();\r\n }}\r\n href={() => false}\r\n className=\"btn btn-icon btn-light btn-hover-primary btn-sm mx-3\"\r\n >\r\n \r\n \r\n \r\n \r\n \r\n
\r\n ) : (\r\n \"\"\r\n )}\r\n
\r\n
\r\n
\r\n

Load Board

\r\n a.Id === values.LoadBoardId\r\n ).map((a) => {\r\n return { value: a.Id, label: a.Name };\r\n })}\r\n options={LoadBoardsList?.map((a) => {\r\n return { value: a.Id, label: a.Name };\r\n })}\r\n onChange={(e) => {\r\n var data = e;\r\n if (data === null) {\r\n setFieldValue(\"LoadBoardId\", null);\r\n setFieldValue(\"CustomerId\", []);\r\n setFieldValue(\"ModeId\", \"\");\r\n setFieldValue(\"CarrierId\", \"\");\r\n setFieldValue(\"UserId\", \"\");\r\n setFieldValue(\"SearchText\", \"\");\r\n setFieldValue(\"CapacityOperationId\", []);\r\n setFieldValue(\"CommercialAssigneeId\", []);\r\n setFieldValue(\"CommercialOperationId\", []);\r\n setFieldValue(\"IsReadOnly\", false);\r\n handleSubmit();\r\n } else {\r\n setFieldValue(\"LoadBoardId\", data.value);\r\n setFieldValue(\r\n \"CustomerId\",\r\n LoadBoardsList?.filter(\r\n (a) => a.Id === data.value\r\n )[0]?.Customers?.map((a) => {\r\n return { value: a.Id, label: a.Name };\r\n })\r\n );\r\n setFieldValue(\r\n \"ModeId\",\r\n LoadBoardsList?.filter(\r\n (a) => a.Id === data.value\r\n )[0]?.Modes?.map((a) => {\r\n return { value: a.Id, label: a.Name };\r\n })\r\n );\r\n setFieldValue(\r\n \"CarrierId\",\r\n LoadBoardsList?.filter(\r\n (a) => a.Id === data.value\r\n )[0]?.Carriers?.map((a) => {\r\n return { value: a.Id, label: a.Name };\r\n })\r\n );\r\n setFieldValue(\r\n \"IsReadOnly\",\r\n LoadBoardsList?.filter(\r\n (a) => a.Id === data.value\r\n )[0]?.ReadOnly\r\n );\r\n handleSubmit();\r\n }\r\n }}\r\n />\r\n
\r\n
\r\n

Customers

\r\n\r\n {\r\n return { value: a.Id, label: a.Name };\r\n })}\r\n className=\"basic-multi-select\"\r\n classNamePrefix=\"select\"\r\n onChange={(e) => {\r\n if (e !== null) {\r\n setFieldValue(\"CustomerId\", e);\r\n } else {\r\n setFieldValue(\"CustomerId\", []);\r\n }\r\n handleSubmit();\r\n }}\r\n />\r\n
\r\n
\r\n

Mode

\r\n {\r\n return { value: a.Id, label: a.Name };\r\n })}\r\n onChange={(e) => {\r\n if (e === null) {\r\n setFieldValue(\"ModeId\", null);\r\n } else {\r\n setFieldValue(\"ModeId\", e);\r\n }\r\n handleSubmit();\r\n }}\r\n />\r\n
\r\n
\r\n

Carrier

\r\n {\r\n return { value: a.Id, label: a.Name };\r\n })}\r\n onChange={(e) => {\r\n if (e !== null) {\r\n setFieldValue(\"CarrierId\", e);\r\n } else {\r\n setFieldValue(\"CarrierId\", null);\r\n }\r\n handleSubmit();\r\n }}\r\n />\r\n
\r\n
\r\n \r\n ) : (\r\n \"\"\r\n )}\r\n
\r\n )}\r\n \r\n \r\n );\r\n}\r\n","import low from \"lowdb\";\r\nimport LocalStorage from \"lowdb/adapters/LocalStorage\";\r\nimport React, { useEffect, useMemo, useState } from \"react\";\r\nimport { Dropdown, ProgressBar } from \"react-bootstrap\";\r\nimport BootstrapTable from \"react-bootstrap-table-next\";\r\nimport paginationFactory, {\r\n PaginationProvider,\r\n} from \"react-bootstrap-table2-paginator\";\r\nimport SVG from \"react-inlinesvg\";\r\nimport { Link, useHistory } from \"react-router-dom\";\r\nimport {\r\n NoRecordsFoundMessage,\r\n PleaseWaitMessage,\r\n sortCaret,\r\n toAbsoluteUrl,\r\n} from \"../../../../../_metronic/_helpers\";\r\nimport {\r\n Card,\r\n CardBody,\r\n CardHeader,\r\n CardHeaderToolbar,\r\n Pagination,\r\n} from \"../../../../../_metronic/_partials/controls\";\r\nimport { DropdownCustomTo } from \"../../../../../_metronic/_partials/dropdowns\";\r\nimport { ClickFun } from \"../../../../SpecificTabs\";\r\nimport { ProductsFilter } from \"./products-filter/ProductsFilter\";\r\nimport * as columnFormatters from \"./products-table/column-formatters\";\r\nimport { useProductsUIContext } from \"./ProductsUIContext\";\r\nvar Spinner = require(\"react-spinkit\");\r\nconst adapter = new LocalStorage(\"db\");\r\nconst db = low(adapter);\r\n\r\n//Pagination Option\r\nvar totalItemsNew = 0;\r\nvar totalItemsBooked = 0;\r\nvar totalItemsAtShipper = 0;\r\nvar totalItemsInTransit = 0;\r\nvar totalItemsAtReceiver = 0;\r\nvar totalItemsDelivered = 0;\r\n\r\nexport function ProductsCard() {\r\n const history = useHistory();\r\n\r\n const FilterTable = [\r\n {\r\n name: \"New Order\",\r\n color: \"danger\",\r\n },\r\n {\r\n name: \"Booked\",\r\n color: \"warning\",\r\n },\r\n {\r\n name: \"Out for Pickup\",\r\n color: \"secondary\",\r\n },\r\n {\r\n name: \"At Shipper\",\r\n color: \"primary\",\r\n },\r\n {\r\n name: \"At Receiver\",\r\n color: \"info\",\r\n },\r\n {\r\n name: \"Delivered\",\r\n color: \"success\",\r\n },\r\n ];\r\n const [ShowData, setShowData] = useState(\"\");\r\n const [loadingData, setloadingData] = useState(false);\r\n const [loadingDataNew, setloadingDataNew] = useState(false);\r\n const [loadingDataBooked, setloadingDataBooked] = useState(false);\r\n const [loadingDataAtShipper, setloadingDataAtShipper] = useState(false);\r\n const [loadingDataInTransit, setloadingDataInTransit] = useState(false);\r\n const [loadingDataAtReceiver, setloadingDataAtReceiver] = useState(false);\r\n const [loadingDataDelivered, setloadingDataDelivered] = useState(false);\r\n const [IsFilterHide, setIsFilterHide] = useState(false);\r\n const [NewOrderData, setNewOrderData] = useState([]);\r\n const [BookedData, setBookedData] = useState([]);\r\n const [AtShipperData, setAtShipperData] = useState([]);\r\n const [InTransitData, setInTransitData] = useState([]);\r\n const [AtReceiverData, setAtReceiverData] = useState([]);\r\n const [DeliveredData, setDeliveredData] = useState([]);\r\n const productsUIContext = useProductsUIContext();\r\n const [PaginationProperty, setPaginationProperty] = useState({\r\n pageNumber: 1,\r\n pageSize: 4,\r\n sortField: \"Id\",\r\n sortOrder: \"desc\",\r\n });\r\n const [paginationOptionsNew, setpaginationOptionsNew] = useState({\r\n custom: true,\r\n totalSize: totalItemsNew,\r\n sortField: \"Id\",\r\n sortOrder: \"desc\",\r\n sizePerPageList: [\r\n { text: \"4\", value: 4 },\r\n { text: \"8\", value: 8 },\r\n { text: \"25\", value: 25 },\r\n {\r\n text: String(totalItemsNew),\r\n value: totalItemsNew,\r\n },\r\n ],\r\n sizePerPage: 4,\r\n page: 1,\r\n fromLoading: true,\r\n });\r\n const [paginationOptionsBooked, setpaginationOptionsBooked] = useState({\r\n custom: true,\r\n totalSize: totalItemsBooked,\r\n sortField: \"Id\",\r\n sortOrder: \"desc\",\r\n sizePerPageList: [\r\n { text: \"4\", value: 4 },\r\n { text: \"8\", value: 8 },\r\n { text: \"25\", value: 25 },\r\n {\r\n text: String(totalItemsBooked),\r\n value: totalItemsBooked,\r\n },\r\n ],\r\n sizePerPage: 4,\r\n page: 1,\r\n });\r\n const [paginationOptionsAtShipper, setpaginationOptionsAtShipper] = useState({\r\n custom: true,\r\n totalSize: totalItemsAtShipper,\r\n sortField: \"Id\",\r\n sortOrder: \"desc\",\r\n sizePerPageList: [\r\n { text: \"4\", value: 4 },\r\n { text: \"8\", value: 8 },\r\n { text: \"25\", value: 25 },\r\n {\r\n text: String(totalItemsAtShipper),\r\n value: totalItemsAtShipper,\r\n },\r\n ],\r\n sizePerPage: 4,\r\n page: 1,\r\n });\r\n const [paginationOptionsInTransit, setpaginationOptionsInTransit] = useState({\r\n custom: true,\r\n totalSize: totalItemsInTransit,\r\n sortField: \"Id\",\r\n sortOrder: \"desc\",\r\n sizePerPageList: [\r\n { text: \"4\", value: 4 },\r\n { text: \"8\", value: 8 },\r\n { text: \"25\", value: 25 },\r\n {\r\n text: String(totalItemsInTransit),\r\n value: totalItemsInTransit,\r\n },\r\n ],\r\n sizePerPage: 4,\r\n page: 1,\r\n });\r\n const [\r\n paginationOptionsAtReceiver,\r\n setpaginationOptionsAtReceiver,\r\n ] = useState({\r\n custom: true,\r\n totalSize: totalItemsAtReceiver,\r\n sortField: \"Id\",\r\n sortOrder: \"desc\",\r\n sizePerPageList: [\r\n { text: \"4\", value: 4 },\r\n { text: \"8\", value: 8 },\r\n { text: \"25\", value: 25 },\r\n {\r\n text: String(totalItemsAtReceiver),\r\n value: totalItemsAtReceiver,\r\n },\r\n ],\r\n sizePerPage: 4,\r\n page: 1,\r\n });\r\n const [paginationOptionsDelivered, setpaginationOptionsDelivered] = useState({\r\n custom: true,\r\n totalSize: totalItemsDelivered,\r\n sortField: \"Id\",\r\n sortOrder: \"desc\",\r\n sizePerPageList: [\r\n { text: \"4\", value: 4 },\r\n { text: \"8\", value: 8 },\r\n { text: \"25\", value: 25 },\r\n {\r\n text: String(totalItemsDelivered),\r\n value: totalItemsDelivered,\r\n },\r\n ],\r\n sizePerPage: 4,\r\n page: 1,\r\n });\r\n const productsUIProps = useMemo(() => {\r\n return {\r\n ids: productsUIContext.ids,\r\n queryParams: productsUIContext.queryParams,\r\n setQueryParams: productsUIContext.setQueryParams,\r\n newProductButtonClick: productsUIContext.newProductButtonClick,\r\n newCreateOrderButtonClick: productsUIContext.newCreateOrderButtonClick,\r\n openDeleteProductsDialog: productsUIContext.openDeleteProductsDialog,\r\n openEditProductPage: productsUIContext.openEditProductPage,\r\n openDetailProductPage: productsUIContext.openDetailProductPage,\r\n openUpdateProductsStatusDialog:\r\n productsUIContext.openUpdateProductsStatusDialog,\r\n openFetchProductsDialog: productsUIContext.openFetchProductsDialog,\r\n };\r\n }, [productsUIContext]);\r\n // Table columns\r\n const columns = [\r\n {\r\n dataField: \"Id\",\r\n text: \"SO#\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n formatter: (cell, row) => {\r\n return (\r\n {\r\n ClickFun(e, `/TransportManagementSystems/SoDetail/`, row.Id);\r\n }}\r\n >\r\n {row.Id}\r\n \r\n );\r\n },\r\n\r\n classes: \"text-center pr-0 text-primary font-weight-bolder\",\r\n headerClasses: \"text-center pr-3\",\r\n style: {\r\n minWidth: \"100px\",\r\n },\r\n },\r\n {\r\n dataField: \"CustomerName\",\r\n text: \"Customer\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n },\r\n {\r\n dataField: \"FromCity\",\r\n text: \"PU City/St\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n formatter: (cell, row) => {\r\n return row.FromCity + \", \" + row.FromState;\r\n },\r\n },\r\n {\r\n dataField: \"ToCity\",\r\n text: \"Del City/St\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n formatter: (cell, row) => {\r\n return row.ToCity + \", \" + row.ToState;\r\n },\r\n },\r\n {\r\n dataField: \"Mode\",\r\n text: \"Mode\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n },\r\n ];\r\n\r\n //End Pagination option\r\n // useEffect(() => {\r\n // let Paginationvalues = { ...PaginationProperty };\r\n // Paginationvalues.pageSize = 10;\r\n // setPaginationProperty(Paginationvalues);\r\n // paginationOptions.sizePerPage = 10;\r\n // }, [FilterFormData.StatusCode, FilterFormData.StatusName]);\r\n async function GetDataLoadBoardFunction() {\r\n setloadingData(true);\r\n let filter = productsUIProps.queryParams.filter;\r\n var carriers = filter.CarrierId;\r\n var Customers = filter.CustomerId;\r\n var CapacityOperationId = filter.CapacityOperationId;\r\n var CommercialAssigneeId = filter.CommercialAssigneeId;\r\n var CommercialOperationId = filter.CommercialOperationId;\r\n var search = filter.SearchText;\r\n var startDate = filter.startDate;\r\n var endDate = filter.endDate;\r\n var Modes = filter.ModeId;\r\n if (carriers !== \"\" && carriers !== null && carriers !== undefined) {\r\n var listcarriers = carriers.map((a) => a.value);\r\n carriers = \"&CarrierId=\" + listcarriers.join(\"&CarrierId=\");\r\n }\r\n if (Customers !== \"\" && Customers !== null && Customers !== undefined) {\r\n var listCustomers = Customers.map((a) => a.value);\r\n Customers = \"&CustomerId=\" + listCustomers.join(\"&CustomerId=\");\r\n }\r\n var listCapacityOperationId = \"\"\r\n if (\r\n CapacityOperationId !== \"\" &&\r\n CapacityOperationId !== null &&\r\n CapacityOperationId !== undefined\r\n ) {\r\n listCapacityOperationId = CapacityOperationId.map((a) => {\r\n if (a.IsGroup) {\r\n return \"&capacityOperationGroupId=\" + a.value;\r\n } else {\r\n return \"&CapacityOperationId=\" + a.value;\r\n }\r\n });\r\n }\r\n\r\n var listCommercialAssigneeId =\"\";\r\n if (\r\n CommercialAssigneeId !== \"\" &&\r\n CommercialAssigneeId !== null &&\r\n CommercialAssigneeId !== undefined\r\n ) {\r\n listCommercialAssigneeId = CommercialAssigneeId.map((a) => {\r\n if (a.IsGroup) {\r\n return \"&commercialAssigneeGroupId=\" + a.value;\r\n } else {\r\n return \"&CommercialAssigneeId=\" + a.value;\r\n }\r\n });\r\n }\r\n\r\n var listCommercialOperationId =\"\";\r\n if (\r\n CommercialOperationId !== \"\" &&\r\n CommercialOperationId !== null &&\r\n CommercialOperationId !== undefined\r\n ) {\r\n listCommercialOperationId = CommercialOperationId.map((a) => {\r\n if (a.IsGroup) {\r\n return \"&commercialOperationGroupId=\" + a.value;\r\n } else {\r\n return \"&CommercialOperationId=\" + a.value;\r\n }\r\n });\r\n }\r\n if (Modes !== \"\" && Modes !== null && Modes !== undefined) {\r\n var listModes = Modes.map((a) => a.value);\r\n Modes = \"&ModeId=\" + listModes.join(\"&ModeId=\");\r\n }\r\n var myHeaders = new Headers();\r\n myHeaders.append(\"Authorization\", `Bearer ${db.read().getState().Token}`);\r\n\r\n var requestOptions = {\r\n method: \"GET\",\r\n headers: myHeaders,\r\n redirect: \"follow\",\r\n };\r\n\r\n await fetch(\r\n `${\r\n window.$apiurl\r\n }/tms?startDate=${startDate}&endDate=${endDate}&search=${search}${\r\n listCapacityOperationId === null ? \"\" : listCapacityOperationId\r\n }\r\n ${listCommercialAssigneeId === null ? \"\" : listCommercialAssigneeId}\r\n ${listCommercialOperationId === null ? \"\" : listCommercialOperationId}${\r\n carriers === null ? \"\" : carriers\r\n }${Customers === null ? \"\" : Customers}${Modes === null ? \"\" : Modes}`,\r\n requestOptions\r\n )\r\n .then(async (response) => {\r\n if (response.status === 401) {\r\n history.push(\"/error/401\");\r\n }\r\n return response.text();\r\n })\r\n .then((result) => {\r\n var dataObj = JSON.parse(result);\r\n let _paginationOptionsNew = { ...paginationOptionsNew };\r\n _paginationOptionsNew.fromLoading = true;\r\n _paginationOptionsNew.totalSize = dataObj.Data.filter(\r\n (a) => a.StatusId === 2\r\n )[0]?.Pagination?.TotalItemCount;\r\n _paginationOptionsNew.sizePerPageList = [\r\n { text: \"4\", value: 4 },\r\n { text: \"8\", value: 8 },\r\n { text: \"25\", value: 25 },\r\n {\r\n text: String(\r\n dataObj.Data.filter((a) => a.StatusId === 2)[0]?.Pagination\r\n ?.TotalItemCount\r\n ),\r\n value: dataObj.Data.filter((a) => a.StatusId === 2)[0]?.Pagination\r\n ?.TotalItemCount,\r\n },\r\n ];\r\n _paginationOptionsNew.page = 1;\r\n setpaginationOptionsNew(_paginationOptionsNew);\r\n //booked\r\n var _paginationOptionsBooked = { ...paginationOptionsBooked };\r\n\r\n _paginationOptionsBooked.totalSize = dataObj.Data.filter(\r\n (a) => a.StatusId === 98\r\n )[0]?.Pagination?.TotalItemCount;\r\n _paginationOptionsBooked.sizePerPageList = [\r\n { text: \"4\", value: 4 },\r\n { text: \"8\", value: 8 },\r\n { text: \"25\", value: 25 },\r\n {\r\n text: String(\r\n dataObj.Data.filter((a) => a.StatusId === 98)[0]?.Pagination\r\n ?.TotalItemCount\r\n ),\r\n value: dataObj.Data.filter((a) => a.StatusId === 98)[0]?.Pagination\r\n ?.TotalItemCount,\r\n },\r\n ];\r\n _paginationOptionsBooked.page = 1;\r\n setpaginationOptionsBooked(_paginationOptionsBooked);\r\n //At shipper\r\n var _paginationOptionsAtShipper = { ...paginationOptionsAtShipper };\r\n _paginationOptionsAtShipper.totalSize = dataObj.Data.filter(\r\n (a) => a.StatusId === 99\r\n )[0]?.Pagination?.TotalItemCount;\r\n _paginationOptionsAtShipper.sizePerPageList = [\r\n { text: \"4\", value: 4 },\r\n { text: \"8\", value: 8 },\r\n { text: \"25\", value: 25 },\r\n {\r\n text: String(\r\n dataObj.Data.filter((a) => a.StatusId === 99)[0]?.Pagination\r\n ?.TotalItemCount\r\n ),\r\n value: dataObj.Data.filter((a) => a.StatusId === 99)[0]?.Pagination\r\n ?.TotalItemCount,\r\n },\r\n ];\r\n _paginationOptionsAtShipper.page = 1;\r\n setpaginationOptionsAtShipper(_paginationOptionsAtShipper);\r\n //InTransit\r\n var _paginationOptionsInTransit = { ...paginationOptionsInTransit };\r\n _paginationOptionsInTransit.totalSize = dataObj.Data.filter(\r\n (a) => a.StatusId === 4\r\n )[0]?.Pagination?.TotalItemCount;\r\n _paginationOptionsInTransit.sizePerPageList = [\r\n { text: \"4\", value: 4 },\r\n { text: \"8\", value: 8 },\r\n { text: \"25\", value: 25 },\r\n {\r\n text: String(\r\n dataObj.Data.filter((a) => a.StatusId === 4)[0]?.Pagination\r\n ?.TotalItemCount\r\n ),\r\n value: dataObj.Data.filter((a) => a.StatusId === 4)[0]?.Pagination\r\n ?.TotalItemCount,\r\n },\r\n ];\r\n _paginationOptionsInTransit.page = 1;\r\n setpaginationOptionsInTransit(_paginationOptionsInTransit);\r\n //AtReceiver\r\n var _paginationOptionsAtReceiver = { ...paginationOptionsAtReceiver };\r\n\r\n _paginationOptionsAtReceiver.totalSize = dataObj.Data.filter(\r\n (a) => a.StatusId === 100\r\n )[0]?.Pagination?.TotalItemCount;\r\n _paginationOptionsAtReceiver.sizePerPageList = [\r\n { text: \"4\", value: 4 },\r\n { text: \"8\", value: 8 },\r\n { text: \"25\", value: 25 },\r\n {\r\n text: String(\r\n dataObj.Data.filter((a) => a.StatusId === 100)[0]?.Pagination\r\n ?.TotalItemCount\r\n ),\r\n value: dataObj.Data.filter((a) => a.StatusId === 100)[0]?.Pagination\r\n ?.TotalItemCount,\r\n },\r\n ];\r\n _paginationOptionsAtReceiver.page = 1;\r\n setpaginationOptionsAtReceiver(_paginationOptionsAtReceiver);\r\n //AtReceiver\r\n var _paginationOptionsDelivered = { ...paginationOptionsDelivered };\r\n _paginationOptionsDelivered.totalSize = dataObj.Data.filter(\r\n (a) => a.StatusId === 12\r\n )[0]?.Pagination?.TotalItemCount;\r\n _paginationOptionsDelivered.sizePerPageList = [\r\n { text: \"4\", value: 4 },\r\n { text: \"8\", value: 8 },\r\n { text: \"25\", value: 25 },\r\n {\r\n text: String(\r\n dataObj.Data.filter((a) => a.StatusId === 12)[0]?.Pagination\r\n ?.TotalItemCount\r\n ),\r\n value: dataObj.Data.filter((a) => a.StatusId === 12)[0]?.Pagination\r\n ?.TotalItemCount,\r\n },\r\n ];\r\n _paginationOptionsDelivered.page = 1;\r\n setpaginationOptionsDelivered(_paginationOptionsDelivered);\r\n setNewOrderData(\r\n dataObj.Data.filter((a) => a.StatusId === 2)[0]?.Shipments\r\n );\r\n setBookedData(\r\n dataObj.Data.filter((a) => a.StatusId === 98)[0]?.Shipments\r\n );\r\n setAtShipperData(\r\n dataObj.Data.filter((a) => a.StatusId === 99)[0]?.Shipments\r\n );\r\n setInTransitData(\r\n dataObj.Data.filter((a) => a.StatusId === 4)[0]?.Shipments\r\n );\r\n setAtReceiverData(\r\n dataObj.Data.filter((a) => a.StatusId === 100)[0]?.Shipments\r\n );\r\n setDeliveredData(\r\n dataObj.Data.filter((a) => a.StatusId === 12)[0]?.Shipments\r\n );\r\n setloadingData(false);\r\n })\r\n .catch((error) => console.log(\"error\", error));\r\n }\r\n\r\n async function GetDataByStatus(\r\n StatusId,\r\n page,\r\n sizePerPage,\r\n sortField,\r\n sortOrder\r\n ) {\r\n switch (StatusId) {\r\n case 2:\r\n setloadingDataNew(true);\r\n break;\r\n case 98:\r\n setloadingDataBooked(true);\r\n break;\r\n case 99:\r\n setloadingDataAtShipper(true);\r\n break;\r\n case 4:\r\n setloadingDataInTransit(true);\r\n break;\r\n case 100:\r\n setloadingDataAtReceiver(true);\r\n break;\r\n case 12:\r\n setloadingDataDelivered(true);\r\n break;\r\n default:\r\n break;\r\n }\r\n let filter = productsUIProps.queryParams.filter;\r\n var carriers = filter.CarrierId;\r\n\r\n var Customers = filter.CustomerId;\r\n var CapacityOperationId = filter.CapacityOperationId;\r\n var CommercialAssigneeId = filter.CommercialAssigneeId;\r\n var CommercialOperationId = filter.CommercialOperationId;\r\n var search = filter.SearchText;\r\n var startDate = filter.startDate;\r\n var endDate = filter.endDate;\r\n var Modes = filter.ModeId;\r\n if (carriers !== \"\" && carriers !== null && carriers !== undefined) {\r\n var listcarriers = carriers.map((a) => a.value);\r\n carriers = \"&CarrierId=\" + listcarriers.join(\"&CarrierId=\");\r\n }\r\n if (Customers !== \"\" && Customers !== null && Customers !== undefined) {\r\n var listCustomers = Customers.map((a) => a.value);\r\n Customers = \"&CustomerId=\" + listCustomers.join(\"&CustomerId=\");\r\n }\r\n if (\r\n CapacityOperationId !== \"\" &&\r\n CapacityOperationId !== null &&\r\n CapacityOperationId !== undefined\r\n ) {\r\n var listCapacityOperationId = CapacityOperationId.map((a) => a.value);\r\n CapacityOperationId =\r\n \"&CapacityOperationId=\" +\r\n listCapacityOperationId.join(\"&CapacityOperationId=\");\r\n }\r\n if (\r\n CommercialAssigneeId !== \"\" &&\r\n CommercialAssigneeId !== null &&\r\n CommercialAssigneeId !== undefined\r\n ) {\r\n var listCommercialAssigneeId = CommercialAssigneeId.map((a) => a.value);\r\n CommercialAssigneeId =\r\n \"&CommercialAssigneeId=\" +\r\n listCommercialAssigneeId.join(\"&CommercialAssigneeId=\");\r\n }\r\n if (\r\n CommercialOperationId !== \"\" &&\r\n CommercialOperationId !== null &&\r\n CommercialOperationId !== undefined\r\n ) {\r\n var listCommercialOperationId = CommercialOperationId.map((a) => a.value);\r\n CommercialOperationId =\r\n \"&CommercialOperationId=\" +\r\n listCommercialOperationId.join(\"&CommercialOperationId=\");\r\n }\r\n if (Modes !== \"\" && Modes !== null && Modes !== undefined) {\r\n var listModes = Modes.map((a) => a.value);\r\n Modes = \"&ModeId=\" + listModes.join(\"&ModeId=\");\r\n }\r\n var myHeaders = new Headers();\r\n myHeaders.append(\"Authorization\", `Bearer ${db.read().getState().Token}`);\r\n\r\n var requestOptions = {\r\n method: \"GET\",\r\n headers: myHeaders,\r\n redirect: \"follow\",\r\n };\r\n\r\n await fetch(\r\n `${\r\n window.$apiurl\r\n }/tms?startDate=${startDate}&endDate=${endDate}&search=${search}&statusId=${StatusId}${\r\n CapacityOperationId === null ? \"\" : CapacityOperationId\r\n }\r\n ${CommercialAssigneeId === null ? \"\" : CommercialAssigneeId}\r\n ${CommercialOperationId === null ? \"\" : CommercialOperationId}${\r\n carriers === null ? \"\" : carriers\r\n }${Customers === null ? \"\" : Customers}${\r\n Modes === null ? \"\" : Modes\r\n }&pageNumber=${page}&pageSize=${sizePerPage}&sortField=${sortField}&sortOrder=${sortOrder}`,\r\n requestOptions\r\n )\r\n .then((response) => response.text())\r\n .then((result) => {\r\n var dataObj = JSON.parse(result);\r\n if (StatusId === 2) {\r\n paginationOptionsNew.totalSize = dataObj.Data.filter(\r\n (a) => a.StatusId === 2\r\n )[0]?.Pagination?.TotalItemCount;\r\n paginationOptionsNew.sizePerPageList = [\r\n { text: \"4\", value: 4 },\r\n { text: \"8\", value: 8 },\r\n { text: \"25\", value: 25 },\r\n {\r\n text: String(\r\n dataObj.Data.filter((a) => a.StatusId === 2)[0]?.Pagination\r\n ?.TotalItemCount\r\n ),\r\n value: dataObj.Data.filter((a) => a.StatusId === 2)[0]?.Pagination\r\n ?.TotalItemCount,\r\n },\r\n ];\r\n setNewOrderData(\r\n dataObj.Data.filter((a) => a.StatusId === 2)[0]?.Shipments\r\n );\r\n } else if (StatusId === 98) {\r\n //booked\r\n paginationOptionsBooked.totalSize = dataObj.Data.filter(\r\n (a) => a.StatusId === 98\r\n )[0]?.Pagination?.TotalItemCount;\r\n paginationOptionsBooked.sizePerPageList = [\r\n { text: \"4\", value: 4 },\r\n { text: \"8\", value: 8 },\r\n { text: \"25\", value: 25 },\r\n {\r\n text: String(\r\n dataObj.Data.filter((a) => a.StatusId === 98)[0]?.Pagination\r\n ?.TotalItemCount\r\n ),\r\n value: dataObj.Data.filter((a) => a.StatusId === 98)[0]\r\n ?.Pagination?.TotalItemCount,\r\n },\r\n ];\r\n setBookedData(\r\n dataObj.Data.filter((a) => a.StatusId === 98)[0]?.Shipments\r\n );\r\n } else if (StatusId === 99) {\r\n //At shipper\r\n paginationOptionsAtShipper.totalSize = dataObj.Data.filter(\r\n (a) => a.StatusId === 99\r\n )[0]?.Pagination?.TotalItemCount;\r\n paginationOptionsAtShipper.sizePerPageList = [\r\n { text: \"4\", value: 4 },\r\n { text: \"8\", value: 8 },\r\n { text: \"25\", value: 25 },\r\n {\r\n text: String(\r\n dataObj.Data.filter((a) => a.StatusId === 99)[0]?.Pagination\r\n ?.TotalItemCount\r\n ),\r\n value: dataObj.Data.filter((a) => a.StatusId === 99)[0]\r\n ?.Pagination?.TotalItemCount,\r\n },\r\n ];\r\n setAtShipperData(\r\n dataObj.Data.filter((a) => a.StatusId === 99)[0]?.Shipments\r\n );\r\n } else if (StatusId === 4) {\r\n //InTransit\r\n paginationOptionsInTransit.totalSize = dataObj.Data.filter(\r\n (a) => a.StatusId === 4\r\n )[0]?.Pagination?.TotalItemCount;\r\n paginationOptionsInTransit.sizePerPageList = [\r\n { text: \"4\", value: 4 },\r\n { text: \"8\", value: 8 },\r\n { text: \"25\", value: 25 },\r\n {\r\n text: String(\r\n dataObj.Data.filter((a) => a.StatusId === 4)[0]?.Pagination\r\n ?.TotalItemCount\r\n ),\r\n value: dataObj.Data.filter((a) => a.StatusId === 4)[0]?.Pagination\r\n ?.TotalItemCount,\r\n },\r\n ];\r\n setInTransitData(\r\n dataObj.Data.filter((a) => a.StatusId === 4)[0]?.Shipments\r\n );\r\n } else if (StatusId === 100) {\r\n //AtReceiver\r\n paginationOptionsAtReceiver.totalSize = dataObj.Data.filter(\r\n (a) => a.StatusId === 100\r\n )[0]?.Pagination?.TotalItemCount;\r\n paginationOptionsAtReceiver.sizePerPageList = [\r\n { text: \"4\", value: 4 },\r\n { text: \"8\", value: 8 },\r\n { text: \"25\", value: 25 },\r\n {\r\n text: String(\r\n dataObj.Data.filter((a) => a.StatusId === 100)[0]?.Pagination\r\n ?.TotalItemCount\r\n ),\r\n value: dataObj.Data.filter((a) => a.StatusId === 100)[0]\r\n ?.Pagination?.TotalItemCount,\r\n },\r\n ];\r\n setAtReceiverData(\r\n dataObj.Data.filter((a) => a.StatusId === 100)[0]?.Shipments\r\n );\r\n } else if (StatusId === 12) {\r\n //AtReceiver\r\n paginationOptionsDelivered.totalSize = dataObj.Data.filter(\r\n (a) => a.StatusId === 12\r\n )[0]?.Pagination?.TotalItemCount;\r\n paginationOptionsDelivered.sizePerPageList = [\r\n { text: \"4\", value: 4 },\r\n { text: \"8\", value: 8 },\r\n { text: \"25\", value: 25 },\r\n {\r\n text: String(\r\n dataObj.Data.filter((a) => a.StatusId === 12)[0]?.Pagination\r\n ?.TotalItemCount\r\n ),\r\n value: dataObj.Data.filter((a) => a.StatusId === 12)[0]\r\n ?.Pagination?.TotalItemCount,\r\n },\r\n ];\r\n setDeliveredData(\r\n dataObj.Data.filter((a) => a.StatusId === 12)[0]?.Shipments\r\n );\r\n }\r\n\r\n let values = { ...PaginationProperty };\r\n values.pageSize = dataObj.Data.filter(\r\n (a) => a.StatusId === 2\r\n )[0]?.Pagination?.TotalItemCount;\r\n setPaginationProperty(values);\r\n switch (StatusId) {\r\n case 2:\r\n setloadingDataNew(false);\r\n break;\r\n case 98:\r\n setloadingDataBooked(false);\r\n break;\r\n case 99:\r\n setloadingDataAtShipper(false);\r\n break;\r\n case 4:\r\n setloadingDataInTransit(false);\r\n break;\r\n case 100:\r\n setloadingDataAtReceiver(false);\r\n break;\r\n case 12:\r\n setloadingDataDelivered(false);\r\n break;\r\n default:\r\n break;\r\n }\r\n })\r\n .catch((error) => console.log(\"error\", error));\r\n }\r\n useEffect(() => {\r\n GetDataLoadBoardFunction();\r\n }, [productsUIProps.queryParams]);\r\n\r\n const GetHandlerTableChangeNew = (type, newState) => {\r\n if (type === \"sort\") {\r\n let values = { ...paginationOptionsNew };\r\n values.sortField = newState.sortField;\r\n values.sortOrder = newState.sortOrder;\r\n values.fromLoading = false;\r\n setpaginationOptionsNew(values);\r\n if (\r\n newState.sortField !== paginationOptionsNew.sortField ||\r\n newState.sortOrder !== paginationOptionsNew.sortOrder\r\n ) {\r\n GetDataByStatus(\r\n 2,\r\n paginationOptionsNew.page,\r\n paginationOptionsNew.sizePerPage,\r\n newState.sortField,\r\n newState.sortOrder\r\n );\r\n }\r\n }\r\n if (type === \"pagination\") {\r\n let values = { ...paginationOptionsNew };\r\n values.sizePerPage = newState.sizePerPage;\r\n values.page = newState.page === undefined ? 1 : newState.page;\r\n values.fromLoading = false;\r\n setpaginationOptionsNew(values);\r\n GetDataByStatus(\r\n 2,\r\n newState.page === undefined ? 1 : newState.page,\r\n newState.sizePerPage,\r\n paginationOptionsNew.sortField,\r\n paginationOptionsNew.sortOrder\r\n );\r\n }\r\n };\r\n\r\n const GetHandlerTableChangeBooked = (type, newState) => {\r\n if (type === \"sort\") {\r\n let values = { ...paginationOptionsBooked };\r\n values.sortField = newState.sortField;\r\n values.sortOrder = newState.sortOrder;\r\n setpaginationOptionsBooked(values);\r\n if (\r\n newState.sortField !== paginationOptionsBooked.sortField ||\r\n newState.sortOrder !== paginationOptionsBooked.sortOrder\r\n ) {\r\n GetDataByStatus(\r\n 98,\r\n paginationOptionsBooked.page,\r\n paginationOptionsBooked.sizePerPage,\r\n newState.sortField,\r\n newState.sortOrder\r\n );\r\n }\r\n }\r\n if (type === \"pagination\") {\r\n let values = { ...paginationOptionsBooked };\r\n values.sizePerPage = newState.sizePerPage;\r\n values.page = newState.page === undefined ? 1 : newState.page;\r\n setpaginationOptionsBooked(values);\r\n GetDataByStatus(\r\n 98,\r\n newState.page === undefined ? 1 : newState.page,\r\n newState.sizePerPage,\r\n paginationOptionsBooked.sortField,\r\n paginationOptionsBooked.sortOrder\r\n );\r\n }\r\n };\r\n const GetHandlerTableChangeAtShipper = (type, newState) => {\r\n if (type === \"sort\") {\r\n let values = { ...paginationOptionsAtShipper };\r\n values.sortField = newState.sortField;\r\n values.sortOrder = newState.sortOrder;\r\n setpaginationOptionsAtShipper(values);\r\n if (\r\n newState.sortField !== paginationOptionsAtShipper.sortField ||\r\n newState.sortOrder !== paginationOptionsAtShipper.sortOrder\r\n ) {\r\n GetDataByStatus(\r\n 99,\r\n paginationOptionsAtShipper.page,\r\n paginationOptionsAtShipper.sizePerPage,\r\n newState.sortField,\r\n newState.sortOrder\r\n );\r\n }\r\n }\r\n if (type === \"pagination\") {\r\n let values = { ...paginationOptionsAtShipper };\r\n values.sizePerPage = newState.sizePerPage;\r\n values.page = newState.page === undefined ? 1 : newState.page;\r\n setpaginationOptionsAtShipper(values);\r\n GetDataByStatus(\r\n 99,\r\n newState.page === undefined ? 1 : newState.page,\r\n newState.sizePerPage,\r\n paginationOptionsAtShipper.sortField,\r\n paginationOptionsAtShipper.sortOrder\r\n );\r\n }\r\n };\r\n\r\n const GetHandlerTableChangeInTransit = (type, newState) => {\r\n if (type === \"sort\") {\r\n let values = { ...paginationOptionsInTransit };\r\n values.sortField = newState.sortField;\r\n values.sortOrder = newState.sortOrder;\r\n setpaginationOptionsInTransit(values);\r\n if (\r\n newState.sortField !== paginationOptionsInTransit.sortField ||\r\n newState.sortOrder !== paginationOptionsInTransit.sortOrder\r\n ) {\r\n GetDataByStatus(\r\n 4,\r\n paginationOptionsInTransit.page,\r\n paginationOptionsInTransit.sizePerPage,\r\n newState.sortField,\r\n newState.sortOrder\r\n );\r\n }\r\n }\r\n if (type === \"pagination\") {\r\n let values = { ...paginationOptionsInTransit };\r\n values.sizePerPage = newState.sizePerPage;\r\n values.page = newState.page === undefined ? 1 : newState.page;\r\n setpaginationOptionsInTransit(values);\r\n GetDataByStatus(\r\n 4,\r\n newState.page === undefined ? 1 : newState.page,\r\n newState.sizePerPage,\r\n paginationOptionsInTransit.sortField,\r\n paginationOptionsInTransit.sortOrder\r\n );\r\n }\r\n };\r\n const GetHandlerTableChangeAtReceiver = (type, newState) => {\r\n if (type === \"sort\") {\r\n let values = { ...paginationOptionsAtReceiver };\r\n values.sortField = newState.sortField;\r\n values.sortOrder = newState.sortOrder;\r\n setpaginationOptionsAtReceiver(values);\r\n if (\r\n newState.sortField !== paginationOptionsAtReceiver.sortField ||\r\n newState.sortOrder !== paginationOptionsAtReceiver.sortOrder\r\n ) {\r\n GetDataByStatus(\r\n 100,\r\n paginationOptionsAtReceiver.page,\r\n paginationOptionsAtReceiver.sizePerPage,\r\n newState.sortField,\r\n newState.sortOrder\r\n );\r\n }\r\n }\r\n if (type === \"pagination\") {\r\n let values = { ...paginationOptionsAtReceiver };\r\n values.sizePerPage = newState.sizePerPage;\r\n values.page = newState.page === undefined ? 1 : newState.page;\r\n setpaginationOptionsAtReceiver(values);\r\n GetDataByStatus(\r\n 100,\r\n newState.page === undefined ? 1 : newState.page,\r\n newState.sizePerPage,\r\n paginationOptionsAtReceiver.sortField,\r\n paginationOptionsAtReceiver.sortOrder\r\n );\r\n }\r\n };\r\n const GetHandlerTableChangeDelivered = (type, newState) => {\r\n if (type === \"sort\") {\r\n let values = { ...paginationOptionsDelivered };\r\n values.sortField = newState.sortField;\r\n values.sortOrder = newState.sortOrder;\r\n setpaginationOptionsDelivered(values);\r\n if (\r\n newState.sortField !== paginationOptionsDelivered.sortField ||\r\n newState.sortOrder !== paginationOptionsDelivered.sortOrder\r\n ) {\r\n GetDataByStatus(\r\n 12,\r\n paginationOptionsDelivered.page,\r\n paginationOptionsDelivered.sizePerPage,\r\n newState.sortField,\r\n newState.sortOrder\r\n );\r\n }\r\n }\r\n if (type === \"pagination\") {\r\n let values = { ...paginationOptionsDelivered };\r\n values.sizePerPage = newState.sizePerPage;\r\n values.page = newState.page === undefined ? 1 : newState.page;\r\n setpaginationOptionsDelivered(values);\r\n GetDataByStatus(\r\n 12,\r\n newState.page === undefined ? 1 : newState.page,\r\n newState.sizePerPage,\r\n paginationOptionsDelivered.sortField,\r\n paginationOptionsDelivered.sortOrder\r\n );\r\n }\r\n };\r\n return (\r\n \r\n \r\n \r\n {\r\n var ele1 = document.getElementById(\"LoadBoardEdit\");\r\n ele1.value = undefined;\r\n ele1.click();\r\n }}\r\n >\r\n Create Load Board\r\n \r\n {\r\n GetDataLoadBoardFunction();\r\n }}\r\n className=\"btn btn-success ml-5\"\r\n >\r\n Refresh\r\n \r\n {\r\n setIsFilterHide(!IsFilterHide);\r\n }}\r\n className=\"btn btn-primary ml-5\"\r\n >\r\n {IsFilterHide === false ? \"Hide\" : \"Show\"} Filter\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n false}\r\n className=\"btn btn-icon btn-light btn-hover-info btn-sm mb-4\"\r\n onClick={() => {\r\n setShowData(\"\");\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n {FilterTable.map(({ name, color }) => (\r\n
\r\n {\r\n setShowData(name);\r\n }}\r\n >\r\n {name}\r\n

\r\n
\r\n ))}\r\n
\r\n
\r\n
\r\n {loadingData === true ? (\r\n
\r\n
\r\n \r\n
\r\n
\r\n ) : (\r\n \"\"\r\n )}\r\n {loadingData === false ? (\r\n <>\r\n {(ShowData === \"New Order\" || ShowData === \"\") && (\r\n \r\n \r\n {\"New Order\"}\r\n

\r\n {loadingDataNew === true ? (\r\n \r\n ) : (\r\n \"\"\r\n )}\r\n \r\n {({ paginationProps, paginationTableProps }) => {\r\n return (\r\n \r\n \r\n There is no data available at the moment.\r\n \r\n }\r\n data={NewOrderData}\r\n columns={columns}\r\n defaultSorted={[{ dataField: \"Id\", order: \"desc\" }]}\r\n onTableChange={GetHandlerTableChangeNew}\r\n {...paginationTableProps}\r\n >\r\n \r\n \r\n \r\n \r\n );\r\n }}\r\n \r\n
\r\n )}\r\n {(ShowData === \"Booked\" || ShowData === \"\") && (\r\n \r\n \r\n {\"Booked\"}\r\n

\r\n {loadingDataBooked === true ? (\r\n \r\n ) : (\r\n \"\"\r\n )}\r\n \r\n {({ paginationProps, paginationTableProps }) => {\r\n return (\r\n \r\n \r\n There is no data available at the moment.\r\n \r\n }\r\n data={BookedData}\r\n columns={columns}\r\n defaultSorted={[{ dataField: \"Id\", order: \"desc\" }]}\r\n onTableChange={GetHandlerTableChangeBooked}\r\n {...paginationTableProps}\r\n >\r\n \r\n \r\n \r\n \r\n );\r\n }}\r\n \r\n
\r\n )}\r\n {(ShowData === \"Out for Pickup\" || ShowData === \"\") && (\r\n \r\n \r\n {\"Out for Pickup\"}\r\n

\r\n {loadingDataInTransit === true ? (\r\n \r\n ) : (\r\n \"\"\r\n )}\r\n \r\n {({ paginationProps, paginationTableProps }) => {\r\n return (\r\n \r\n \r\n There is no data available at the moment.\r\n \r\n }\r\n data={InTransitData}\r\n columns={columns}\r\n defaultSorted={[{ dataField: \"Id\", order: \"desc\" }]}\r\n onTableChange={GetHandlerTableChangeInTransit}\r\n {...paginationTableProps}\r\n >\r\n \r\n \r\n \r\n \r\n );\r\n }}\r\n \r\n
\r\n )}\r\n {(ShowData === \"At Shipper\" || ShowData === \"\") && (\r\n \r\n \r\n {\"At Shipper\"}\r\n

\r\n {loadingDataAtShipper === true ? (\r\n \r\n ) : (\r\n \"\"\r\n )}\r\n \r\n {({ paginationProps, paginationTableProps }) => {\r\n return (\r\n \r\n \r\n There is no data available at the moment.\r\n \r\n }\r\n data={AtShipperData}\r\n columns={columns}\r\n defaultSorted={[{ dataField: \"Id\", order: \"desc\" }]}\r\n onTableChange={GetHandlerTableChangeAtShipper}\r\n {...paginationTableProps}\r\n >\r\n \r\n \r\n \r\n \r\n );\r\n }}\r\n \r\n
\r\n )}\r\n\r\n {(ShowData === \"At Receiver\" || ShowData === \"\") && (\r\n \r\n \r\n {\"At Receiver\"}\r\n

\r\n {loadingDataAtReceiver === true ? (\r\n \r\n ) : (\r\n \"\"\r\n )}\r\n \r\n {({ paginationProps, paginationTableProps }) => {\r\n return (\r\n \r\n \r\n There is no data available at the moment.\r\n \r\n }\r\n data={AtReceiverData}\r\n columns={columns}\r\n defaultSorted={[{ dataField: \"Id\", order: \"desc\" }]}\r\n onTableChange={GetHandlerTableChangeAtReceiver}\r\n {...paginationTableProps}\r\n >\r\n \r\n \r\n \r\n \r\n );\r\n }}\r\n \r\n
\r\n )}\r\n {(ShowData === \"Delivered\" || ShowData === \"\") && (\r\n \r\n \r\n {\"Delivered\"}\r\n

\r\n {loadingDataDelivered === true ? (\r\n \r\n ) : (\r\n \"\"\r\n )}\r\n \r\n {({ paginationProps, paginationTableProps }) => {\r\n return (\r\n \r\n \r\n There is no data available at the moment.\r\n \r\n }\r\n columns={columns}\r\n defaultSorted={[{ dataField: \"Id\", order: \"desc\" }]}\r\n onTableChange={GetHandlerTableChangeDelivered}\r\n {...paginationTableProps}\r\n >\r\n \r\n \r\n \r\n \r\n );\r\n }}\r\n \r\n
\r\n )}\r\n \r\n ) : (\r\n \"\"\r\n )}\r\n
\r\n \r\n \r\n );\r\n}\r\n","import React, { useState } from \"react\";\r\nimport { Route } from \"react-router-dom\";\r\nimport { ProductsLoadingDialog } from \"./products-loading-dialog/ProductsLoadingDialog\";\r\nimport { ProductDeleteDialog } from \"./product-delete-dialog/ProductDeleteDialog\";\r\nimport { ProductsDeleteDialog } from \"./products-delete-dialog/ProductsDeleteDialog\";\r\nimport { ProductsFetchDialog } from \"./products-fetch-dialog/ProductsFetchDialog\";\r\nimport { ProductsUpdateStatusDialog } from \"./products-update-status-dialog/ProductsUpdateStatusDialog\";\r\nimport { ProductsCard } from \"./ProductsCard\";\r\nimport { ProductsUIProvider } from \"./ProductsUIContext\";\r\nimport { ProductTMSDetail } from \"./product-detail/ProductDetail\";\r\nimport { ProductMODetail } from \"./master-order-detail/ProductDetail\";\r\nimport { OrderCreation } from \"./Order-Creation/OrderCreation\";\r\nimport { ProductTMSEdit } from \"./product-edit/ProductEdit\";\r\n\r\nexport function ProductsPage({ history }) {\r\n const [NewModal, setNewModal] = useState(false);\r\n const [EditModal, setEditModal] = useState(false);\r\n const [MODetail, setMODetail] = useState(false);\r\n const [LoadBoardEdit, setLoadBoardEdit] = useState(false);\r\n const [LoadBoardGrid, setLoadBoardGrid] = useState(true);\r\n const [DeleteModal, setDeleteModal] = useState(false);\r\n const [OrderCreationModal, setOrderCreationModal] = useState(false);\r\n\r\n const productsUIEvents = {\r\n // newProductButtonClick: () => {\r\n // history.push(\"/TransportManagementSystems/new\");\r\n // },\r\n // newCreateOrderButtonClick: (MO) => {\r\n // history.push(`/TransportManagementSystems/${MO}/OrderCreation`);\r\n // },\r\n // openEditProductPage: (id) => {\r\n // setEditModal(id);\r\n // },\r\n // openDetailProductPage: (SO) => {\r\n // history.push(`/TransportManagementSystems/SoDetail/${SO}`);\r\n // },\r\n // openMoProductPage: (MO) => {\r\n // history.push(`/TransportManagementSystems/${MO}/MOEdit`);\r\n // },\r\n // openDeleteProductDialog: (id) => {\r\n // history.push(`/TransportManagementSystems/${id}/delete`);\r\n // },\r\n // openDeleteProductsDialog: () => {\r\n // history.push(`/TransportManagementSystems/deleteProducts`);\r\n // },\r\n // openFetchProductsDialog: () => {\r\n // history.push(`/TransportManagementSystems/fetch`);\r\n // },\r\n // openUpdateProductsStatusDialog: () => {\r\n // history.push(\"/TransportManagementSystems/updateStatus\");\r\n // },\r\n };\r\n\r\n return (\r\n \r\n {\r\n setEditModal(false);\r\n setOrderCreationModal(false);\r\n setLoadBoardEdit(false);\r\n setLoadBoardGrid(false);\r\n setMODetail(e.target.value);\r\n }}\r\n />\r\n {\r\n setMODetail(false);\r\n setOrderCreationModal(false);\r\n setLoadBoardEdit(false);\r\n setLoadBoardGrid(false);\r\n setEditModal(e.target.value);\r\n }}\r\n />\r\n {\r\n setMODetail(false);\r\n setEditModal(false);\r\n setLoadBoardGrid(false);\r\n setLoadBoardEdit(false);\r\n setOrderCreationModal(e.target.value);\r\n }}\r\n />\r\n {\r\n setMODetail(false);\r\n setEditModal(false);\r\n setLoadBoardGrid(false);\r\n setOrderCreationModal(false);\r\n setLoadBoardEdit(e.target.value);\r\n }}\r\n />\r\n {\r\n setMODetail(false);\r\n setEditModal(false);\r\n setLoadBoardGrid(true);\r\n setOrderCreationModal(false);\r\n setLoadBoardEdit(false);\r\n }}\r\n />\r\n \r\n\r\n {LoadBoardEdit && }\r\n\r\n {EditModal && (\r\n \r\n )}\r\n\r\n {OrderCreationModal && }\r\n\r\n {MODetail && }\r\n\r\n {!EditModal && !MODetail && !OrderCreationModal && !LoadBoardEdit && (\r\n \r\n )}\r\n\r\n {/* \r\n {({ history, match }) => (\r\n {\r\n history.push(\"/TransportManagementSystems\");\r\n }}\r\n />\r\n )}\r\n \r\n \r\n {({ history, match }) => (\r\n {\r\n history.push(\"/TransportManagementSystems\");\r\n }}\r\n />\r\n )}\r\n \r\n \r\n {({ history, match }) => (\r\n {\r\n history.push(\"/TransportManagementSystems\");\r\n }}\r\n />\r\n )}\r\n \r\n \r\n {({ history, match }) => (\r\n {\r\n history.push(\"/TransportManagementSystems\");\r\n }}\r\n />\r\n )}\r\n */}\r\n \r\n );\r\n}\r\n","import React, { useEffect } from \"react\";\r\nimport { shallowEqual, useSelector } from \"react-redux\";\r\nimport { LoadingDialog } from \"../../../../../../_metronic/_partials/controls\";\r\n\r\nexport function CustomersLoadingDialog() {\r\n // Customers Redux state\r\n const { isLoading } = useSelector(\r\n (state) => ({ isLoading: state.customers.listLoading }),\r\n shallowEqual\r\n );\r\n // looking for loading/dispatch\r\n useEffect(() => {}, [isLoading]);\r\n return ;\r\n}\r\n","import React, { useState, useEffect } from \"react\";\r\nimport { shallowEqual, useSelector } from \"react-redux\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport {ModalProgressBar} from \"../../../../../../_metronic/_partials/controls\";\r\n\r\nexport function CustomerEditDialogHeader({ id }) {\r\n // Customers Redux state\r\n const { customerForEdit, actionsLoading } = useSelector(\r\n (state) => ({\r\n customerForEdit: state.customers.customerForEdit,\r\n actionsLoading: state.customers.actionsLoading,\r\n }),\r\n shallowEqual\r\n );\r\n\r\n const [title, setTitle] = useState(\"\");\r\n // Title couting\r\n useEffect(() => {\r\n let _title = id ? \"\" : \"Add\";\r\n if (customerForEdit && id) {\r\n _title = `Edit customer '${customerForEdit.firstName} ${customerForEdit.lastName}'`;\r\n }\r\n\r\n setTitle(_title);\r\n // eslint-disable-next-line\r\n }, [customerForEdit, actionsLoading]);\r\n\r\n return (\r\n <>\r\n {actionsLoading && }\r\n \r\n Add Offer\r\n \r\n \r\n );\r\n}\r\n","// Form is based on Formik\r\n// Data validation is based on Yup\r\n// Please, be familiar with article first:\r\n// https://hackernoon.com/react-form-validation-with-formik-and-yup-8b76bda62e10\r\nimport React from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { Formik, Form, Field } from \"formik\";\r\nimport * as Yup from \"yup\";\r\nimport {\r\n Input,\r\n DatePickerField,\r\n} from \"../../../../../../_metronic/_partials/controls\";\r\nimport Select from \"react-select\";\r\n\r\n// Validation schema\r\nconst CustomerEditSchema = Yup.object().shape({\r\n firstName: Yup.string()\r\n .min(3, \"Minimum 3 symbols\")\r\n .max(50, \"Maximum 50 symbols\")\r\n .required(\"Firstname is required\"),\r\n lastName: Yup.string()\r\n .min(3, \"Minimum 3 symbols\")\r\n .max(50, \"Maximum 50 symbols\")\r\n .required(\"Lastname is required\"),\r\n email: Yup.string()\r\n .email(\"Invalid email\")\r\n .required(\"Email is required\"),\r\n userName: Yup.string().required(\"Username is required\"),\r\n dateOfBbirth: Yup.mixed()\r\n .nullable(false)\r\n .required(\"Date of Birth is required\"),\r\n ipAddress: Yup.string().required(\"IP Address is required\"),\r\n});\r\n\r\nexport function CustomerEditForm({\r\n saveCustomer,\r\n customer,\r\n actionsLoading,\r\n onHide,\r\n}) {\r\n const Carrier = [\r\n { value: \"Carrier A\", label: \"Carrier A\" },\r\n { value: \"Carrier B\", label: \"Carrier B\" },\r\n { value: \"Carrier C\", label: \"Carrier C\" },\r\n ];\r\n\r\n return (\r\n <>\r\n {\r\n saveCustomer(values);\r\n }}\r\n >\r\n {({ handleSubmit }) => (\r\n <>\r\n \r\n {actionsLoading && (\r\n
\r\n
\r\n
\r\n )}\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n {/* Last Name */}\r\n
\r\n
\r\n \r\n \r\n \r\n Cancel\r\n \r\n <> \r\n handleSubmit()}\r\n className=\"btn btn-primary btn-elevate\"\r\n >\r\n Save\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n );\r\n}\r\n","export const CustomerStatusCssClasses = [\"danger\", \"success\", \"info\", \"\"];\r\nexport const CustomerStatusTitles = [\"Suspended\", \"Active\", \"Pending\", \"\"];\r\nexport const CustomerTypeCssClasses = [\"success\", \"primary\", \"\"];\r\nexport const CustomerTypeTitles = [\"Business\", \"Individual\", \"\"];\r\nexport const defaultSorted = [{ dataField: \"id\", order: \"desc\" }];\r\nexport const sizePerPageList = [\r\n { text: \"3\", value: 3 },\r\n { text: \"5\", value: 5 },\r\n { text: \"10\", value: 10 }\r\n];\r\nexport const initialFilter = {\r\n filter: {\r\n userAssignee:0,\r\n CustomerId: \"\",\r\n ModeId: \"\",\r\n SearchText: \"\",\r\n },\r\n sortOrder: \"asc\", // asc||desc\r\n sortField: \"Id\",\r\n pageNumber: 1,\r\n pageSize: 10\r\n};\r\n","import React, {createContext, useContext, useState, useCallback} from \"react\";\r\nimport {isEqual, isFunction} from \"lodash\";\r\nimport {initialFilter} from \"./CustomersUIHelpers\";\r\n\r\nconst CustomersUIContext = createContext();\r\n\r\nexport function useCustomersUIContext() {\r\n return useContext(CustomersUIContext);\r\n}\r\n\r\nexport const CustomersUIConsumer = CustomersUIContext.Consumer;\r\n\r\nexport function CustomersUIProvider({customersUIEvents, children}) {\r\n const [queryParams, setQueryParamsBase] = useState(initialFilter);\r\n const [ids, setIds] = useState([]);\r\n const setQueryParams = useCallback(nextQueryParams => {\r\n setQueryParamsBase(prevQueryParams => {\r\n if (isFunction(nextQueryParams)) {\r\n nextQueryParams = nextQueryParams(prevQueryParams);\r\n }\r\n\r\n if (isEqual(prevQueryParams, nextQueryParams)) {\r\n return prevQueryParams;\r\n }\r\n\r\n return nextQueryParams;\r\n });\r\n }, []);\r\n\r\n const initCustomer = {\r\n id: undefined,\r\n So: \"\",\r\n Customer: \"\",\r\n shipDateFilter: null,\r\n Pu: \"\",\r\n Del: \"\",\r\n Cust: \"Female\",\r\n Bid: 0,\r\n };\r\n\r\n const value = {\r\n queryParams,\r\n setQueryParamsBase,\r\n ids,\r\n setIds,\r\n setQueryParams,\r\n initCustomer,\r\n newCustomerButtonClick: customersUIEvents.newCustomerButtonClick,\r\n openEditCustomerDialog: customersUIEvents.openEditCustomerDialog,\r\n openDeleteCustomerDialog: customersUIEvents.openDeleteCustomerDialog,\r\n openDeleteCustomersDialog: customersUIEvents.openDeleteCustomersDialog,\r\n openFetchCustomersDialog: customersUIEvents.openFetchCustomersDialog,\r\n openUpdateCustomersStatusDialog: customersUIEvents.openUpdateCustomersStatusDialog\r\n };\r\n\r\n return {children};\r\n}","import React, { useEffect, useMemo } from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { shallowEqual, useDispatch, useSelector } from \"react-redux\";\r\nimport * as actions from \"../../../_redux/customers/customersActions\";\r\nimport { CustomerEditDialogHeader } from \"./CustomerEditDialogHeader\";\r\nimport { CustomerEditForm } from \"./CustomerEditForm\";\r\nimport { useCustomersUIContext } from \"../CustomersUIContext\";\r\n\r\nexport function CustomerEditDialog({ id, show, onHide }) {\r\n // Customers UI Context\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n initCustomer: customersUIContext.initCustomer,\r\n };\r\n }, [customersUIContext]);\r\n\r\n // Customers Redux state\r\n const dispatch = useDispatch();\r\n const { actionsLoading, customerForEdit } = useSelector(\r\n (state) => ({\r\n actionsLoading: state.customers.actionsLoading,\r\n customerForEdit: state.customers.customerForEdit,\r\n }),\r\n shallowEqual\r\n );\r\n\r\n useEffect(() => {\r\n // server call for getting Customer by id\r\n dispatch(actions.fetchCustomer(id));\r\n }, [id, dispatch]);\r\n\r\n // server request for saving customer\r\n const saveCustomer = (customer) => {\r\n if (!id) {\r\n // server request for creating customer\r\n dispatch(actions.createCustomer(customer)).then(() => onHide());\r\n } else {\r\n // server request for updating customer\r\n dispatch(actions.updateCustomer(customer)).then(() => onHide());\r\n }\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n}\r\n","import React, { useEffect, useMemo } from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { shallowEqual, useDispatch, useSelector } from \"react-redux\";\r\nimport {ModalProgressBar} from \"../../../../../../_metronic/_partials/controls\";\r\nimport * as actions from \"../../../_redux/customers/customersActions\";\r\nimport {useCustomersUIContext} from \"../CustomersUIContext\";\r\n\r\nexport function CustomerDeleteDialog({ id, show, onHide }) {\r\n // Customers UI Context\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n setIds: customersUIContext.setIds,\r\n queryParams: customersUIContext.queryParams\r\n };\r\n }, [customersUIContext]);\r\n\r\n // Customers Redux state\r\n const dispatch = useDispatch();\r\n const { isLoading } = useSelector(\r\n (state) => ({ isLoading: state.customers.actionsLoading }),\r\n shallowEqual\r\n );\r\n\r\n // if !id we should close modal\r\n useEffect(() => {\r\n if (!id) {\r\n onHide();\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [id]);\r\n\r\n // looking for loading/dispatch\r\n useEffect(() => {}, [isLoading, dispatch]);\r\n\r\n const deleteCustomer = () => {\r\n // server request for deleting customer by id\r\n dispatch(actions.deleteCustomer(id)).then(() => {\r\n // refresh list after deletion\r\n dispatch(actions.fetchCustomers(customersUIProps.queryParams));\r\n // clear selections list\r\n customersUIProps.setIds([]);\r\n // closing delete modal\r\n onHide();\r\n });\r\n };\r\n\r\n return (\r\n \r\n {/*begin::Loading*/}\r\n {isLoading && }\r\n {/*end::Loading*/}\r\n \r\n \r\n Customer Delete\r\n \r\n \r\n \r\n {!isLoading && (\r\n Are you sure to permanently delete this customer?\r\n )}\r\n {isLoading && Customer is deleting...}\r\n \r\n \r\n
\r\n \r\n Cancel\r\n \r\n <> \r\n \r\n Delete\r\n \r\n
\r\n
\r\n \r\n );\r\n}\r\n","import React, { useEffect, useMemo, useState } from \"react\";\r\nimport { Formik } from \"formik\";\r\nimport { isEqual } from \"lodash\";\r\nimport { useCustomersUIContext } from \"../CustomersUIContext\";\r\nimport Select from \"react-select\";\r\nimport low from \"lowdb\";\r\nimport LocalStorage from \"lowdb/adapters/LocalStorage\";\r\nimport { Col, Row } from \"react-bootstrap\";\r\nconst adapter = new LocalStorage(\"db\");\r\nconst db = low(adapter);\r\n\r\nvar typingTimer;\r\nconst prepareFilter = (queryParams, values) => {\r\n const {\r\n SearchText,\r\n CustomerId,\r\n ModeId,\r\n userAssignee,\r\n shipDateFilter,\r\n } = values;\r\n const newQueryParams = { ...queryParams };\r\n const filter = {};\r\n filter.SearchText = SearchText;\r\n filter.userAssignee = userAssignee;\r\n filter.shipDateFilter = shipDateFilter;\r\n filter.CustomerId = CustomerId;\r\n filter.ModeId = ModeId;\r\n // Filter by type\r\n\r\n newQueryParams.filter = filter;\r\n return newQueryParams;\r\n};\r\n\r\nexport function CustomersFilter({\r\n GetDataLoadBoardFunction,\r\n loadingDataNew,\r\n loadingDataBooked,\r\n loadingDataAtShipper,\r\n LoadBoardsList,\r\n}) {\r\n const listShipDates = [\r\n { value: null, label: \"All\" },\r\n { value: 1, label: \"Today\" },\r\n { value: 2, label: \"Tomorrow \" },\r\n { value: 3, label: \"This Week\" },\r\n ];\r\n // Customers UI Context\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n queryParams: customersUIContext.queryParams,\r\n setQueryParams: customersUIContext.setQueryParams,\r\n };\r\n }, [customersUIContext]);\r\n\r\n // queryParams, setQueryParams,\r\n const applyFilter = (values) => {\r\n const newQueryParams = prepareFilter(customersUIProps.queryParams, values);\r\n if (!isEqual(newQueryParams, customersUIProps.queryParams)) {\r\n newQueryParams.pageNumber = 1;\r\n // update list by queryParams\r\n customersUIProps.setQueryParams(newQueryParams);\r\n }\r\n };\r\n\r\n return (\r\n <>\r\n {\r\n applyFilter(values);\r\n }}\r\n >\r\n {({ values, handleSubmit, setFieldValue }) => (\r\n
\r\n
\r\n\r\n \r\n \r\n {\r\n setFieldValue(\"SearchText\", e.target.value);\r\n clearTimeout(typingTimer);\r\n typingTimer = setTimeout(function () {\r\n handleSubmit();\r\n }, 500);\r\n }}\r\n />\r\n \r\n
\r\n \r\n {\r\n return { value: a.Id, label: a.Code + \"-\" + a.Name };\r\n })}\r\n className=\"basic-multi-select\"\r\n classNamePrefix=\"select\"\r\n onChange={(e) => {\r\n if (e !== null) {\r\n setFieldValue(\"CustomerId\", e);\r\n } else {\r\n setFieldValue(\"CustomerId\", []);\r\n }\r\n handleSubmit();\r\n }}\r\n />\r\n
\r\n
\r\n \r\n a.value === values.userAssignee)}\r\n className=\"basic-multi-select\"\r\n classNamePrefix=\"select\"\r\n onChange={(e) => {\r\n setFieldValue(\"userAssignee\", e.value);\r\n handleSubmit();\r\n }}\r\n />\r\n
\r\n
\r\n \r\n x.value === values?.shipDateFilter\r\n )?.label,\r\n }\r\n }\r\n name=\"shipDateFilter\"\r\n className=\"basic-multi-select\"\r\n classNamePrefix=\"select\"\r\n onChange={(e) => {\r\n setFieldValue(\"shipDateFilter\", e?.value);\r\n handleSubmit();\r\n }}\r\n />\r\n
\r\n
\r\n \r\n {\r\n return { value: a.Id, label: a.Name };\r\n })}\r\n className=\"basic-multi-select\"\r\n classNamePrefix=\"select\"\r\n onChange={(e) => {\r\n if (e !== null) {\r\n setFieldValue(\"ModeId\", e);\r\n } else {\r\n setFieldValue(\"ModeId\", []);\r\n }\r\n handleSubmit();\r\n }}\r\n />\r\n
\r\n\r\n
\r\n\r\n
\r\n )}\r\n \r\n \r\n );\r\n}\r\n","import React, { useMemo } from \"react\";\r\nimport { useCustomersUIContext } from \"../CustomersUIContext\";\r\n\r\nexport function CustomersGrouping() {\r\n // Customers UI Context\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n ids: customersUIContext.ids,\r\n setIds: customersUIContext.setIds,\r\n openDeleteCustomersDialog: customersUIContext.openDeleteCustomersDialog,\r\n openFetchCustomersDialog: customersUIContext.openFetchCustomersDialog,\r\n openUpdateCustomersStatusDialog:\r\n customersUIContext.openUpdateCustomersStatusDialog,\r\n };\r\n }, [customersUIContext]);\r\n\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n Delete All\r\n \r\n  \r\n \r\n Fetch Selected\r\n \r\n  \r\n \r\n Update Status\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n );\r\n}\r\n","import React, { useEffect, useMemo, useState } from \"react\";\r\nimport {\r\n Card,\r\n CardBody,\r\n CardHeader,\r\n CheckboxLarge,\r\n CheckboxLargeWB,\r\n Pagination,\r\n} from \"../../../../../_metronic/_partials/controls\";\r\nimport paginationFactory, {\r\n PaginationProvider,\r\n} from \"react-bootstrap-table2-paginator\";\r\nimport BootstrapTable from \"react-bootstrap-table-next\";\r\nimport { currencyFormat } from \"../../../../../_metronic/_helpers/ATHelpers\";\r\nimport {\r\n NoRecordsFoundMessage,\r\n PleaseWaitMessage,\r\n sortCaret,\r\n toAbsoluteUrl,\r\n} from \"../../../../../_metronic/_helpers\";\r\nimport CloseIcon from \"@material-ui/icons/Close\";\r\nimport ClassicEditor from \"@ckeditor/ckeditor5-build-classic\";\r\nimport { CKEditor } from \"@ckeditor/ckeditor5-react\";\r\nimport CreatableSelect from \"react-select/creatable\";\r\nimport { CustomersFilter } from \"./customers-filter/CustomersFilter\";\r\nimport { CustomersGrouping } from \"./customers-grouping/CustomersGrouping\";\r\nimport { useCustomersUIContext } from \"./CustomersUIContext\";\r\nimport { Helmet } from \"react-helmet\";\r\nimport {\r\n Col,\r\n Modal,\r\n OverlayTrigger,\r\n Row,\r\n Spinner,\r\n Tooltip,\r\n Dropdown,\r\n ProgressBar,\r\n} from \"react-bootstrap\";\r\nimport { DropdownCustomTo } from \"../../../../../_metronic/_partials/dropdowns\";\r\nimport SVG from \"react-inlinesvg\";\r\nimport low from \"lowdb\";\r\nimport LocalStorage from \"lowdb/adapters/LocalStorage\";\r\nimport {\r\n Table,\r\n makeStyles,\r\n TableBody,\r\n TableCell,\r\n IconButton,\r\n TableHead,\r\n TableRow,\r\n} from \"@material-ui/core\";\r\nimport Select from \"react-select\";\r\nimport { Notification } from \"../../../Notification\";\r\nimport { useHistory } from \"react-router\";\r\nimport { ClickFun } from \"../../../../SpecificTabs\";\r\nimport moment from \"moment\";\r\nconst adapter = new LocalStorage(\"db\");\r\nconst db = low(adapter);\r\nvar expendedDefault = [];\r\nconst useStyles = makeStyles((theme) => ({\r\n root: {\r\n width: \"100%\",\r\n },\r\n paper: {\r\n marginTop: theme.spacing(3),\r\n width: \"100%\",\r\n overflowX: \"auto\",\r\n marginBottom: theme.spacing(2),\r\n },\r\n}));\r\n\r\n//Pagination Option\r\nvar totalItemsNew = 0;\r\nvar totalItemsBooked = 0;\r\nvar totalItemsAtShipper = 0;\r\nvar totalItemsNotConfirmed = 0;\r\n\r\nexport function CustomersCard() {\r\n const history = useHistory();\r\n const [ShowData, setShowData] = useState(\"\");\r\n const [loadingDataNew, setloadingDataNew] = useState(false);\r\n const [loadingDataBooked, setloadingDataBooked] = useState(false);\r\n const [loadingDataNotConfirmed, setloadingDataNotConfirmed] = useState(false);\r\n const [loadingDataAtShipper, setloadingDataAtShipper] = useState(false);\r\n const [ShowAddOfferModal, setShowAddOfferModal] = useState(false);\r\n const [LoadingPost, setLoadingPost] = useState(false);\r\n const customersUIContext = useCustomersUIContext();\r\n const [NewOrderData, setNewOrderData] = useState([]);\r\n const [NotConfirmedData, setNotConfirmedData] = useState([]);\r\n const [BookedData, setBookedData] = useState([]);\r\n const [AtShipperData, setAtShipperData] = useState([]);\r\n const [dataExpandedPo, setDataExpandedRow] = useState([]);\r\n\r\n const [EmailAddressList, setEmailAddressList] = useState([]);\r\n const [ToDataDefeault, setToDataDefeault] = useState([]);\r\n const [ToData, setToData] = useState(null);\r\n const [includCCData, setincludCCData] = useState(false);\r\n const [SubjectData, setSubjectData] = useState(null);\r\n const [BodyData, setBodyData] = useState(\"\");\r\n const [AttachmentData, setAttachmentData] = useState([]);\r\n const [isLoadingSend, setisLoadingSend] = useState(false);\r\n const [showModalSend, setshowModalSend] = useState(false);\r\n const [DataListBids, setDataListBids] = useState([]);\r\n\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n ids: customersUIContext.ids,\r\n newCustomerButtonClick: customersUIContext.newCustomerButtonClick,\r\n setIds: customersUIContext.setIds,\r\n queryParams: customersUIContext.queryParams,\r\n setQueryParams: customersUIContext.setQueryParams,\r\n openEditCustomerDialog: customersUIContext.openEditCustomerDialog,\r\n openDeleteCustomerDialog: customersUIContext.openDeleteCustomerDialog,\r\n };\r\n }, [customersUIContext]);\r\n\r\n const [PaginationProperty, setPaginationProperty] = useState({\r\n pageNumber: 1,\r\n pageSize: 4,\r\n sortField: \"Id\",\r\n sortOrder: \"desc\",\r\n });\r\n\r\n const [paginationOptionsNew, setpaginationOptionsNew] = useState({\r\n custom: true,\r\n totalSize: totalItemsNew,\r\n sortField: \"Id\",\r\n sortOrder: \"desc\",\r\n sizePerPageList: [\r\n { text: \"4\", value: 4 },\r\n { text: \"10\", value: 10 },\r\n { text: \"25\", value: 25 },\r\n {\r\n text: String(totalItemsNew),\r\n value: totalItemsNew,\r\n },\r\n ],\r\n sizePerPage: 4,\r\n page: 1,\r\n fromLoading: true,\r\n });\r\n const [paginationOptionsBooked, setpaginationOptionsBooked] = useState({\r\n custom: true,\r\n totalSize: totalItemsBooked,\r\n sortField: \"Id\",\r\n sortOrder: \"desc\",\r\n sizePerPageList: [\r\n { text: \"4\", value: 4 },\r\n { text: \"10\", value: 10 },\r\n { text: \"25\", value: 25 },\r\n {\r\n text: String(totalItemsBooked),\r\n value: totalItemsBooked,\r\n },\r\n ],\r\n sizePerPage: 4,\r\n page: 1,\r\n });\r\n const [\r\n paginationOptionsNotConfirmed,\r\n setpaginationOptionsNotConfirmed,\r\n ] = useState({\r\n custom: true,\r\n totalSize: totalItemsNotConfirmed,\r\n sortField: \"Id\",\r\n sortOrder: \"desc\",\r\n sizePerPageList: [\r\n { text: \"4\", value: 4 },\r\n { text: \"10\", value: 10 },\r\n { text: \"25\", value: 25 },\r\n {\r\n text: String(totalItemsNotConfirmed),\r\n value: totalItemsNotConfirmed,\r\n },\r\n ],\r\n sizePerPage: 4,\r\n page: 1,\r\n });\r\n const [paginationOptionsAtShipper, setpaginationOptionsAtShipper] = useState({\r\n custom: true,\r\n totalSize: totalItemsAtShipper,\r\n sortField: \"Id\",\r\n sortOrder: \"desc\",\r\n sizePerPageList: [\r\n { text: \"4\", value: 4 },\r\n { text: \"10\", value: 10 },\r\n { text: \"25\", value: 25 },\r\n {\r\n text: String(totalItemsAtShipper),\r\n value: totalItemsAtShipper,\r\n },\r\n ],\r\n sizePerPage: 4,\r\n page: 1,\r\n });\r\n\r\n const GetHandlerTableChangeNew = (type, newState) => {\r\n if (type === \"sort\") {\r\n let values = { ...paginationOptionsNew };\r\n values.sortField = newState.sortField;\r\n values.sortOrder = newState.sortOrder;\r\n values.fromLoading = false;\r\n setpaginationOptionsNew(values);\r\n if (\r\n newState.sortField !== paginationOptionsNew.sortField ||\r\n newState.sortOrder !== paginationOptionsNew.sortOrder\r\n ) {\r\n GetDataByStatus(\r\n \"New\",\r\n paginationOptionsNew.page,\r\n paginationOptionsNew.sizePerPage,\r\n newState.sortField,\r\n newState.sortOrder\r\n );\r\n }\r\n }\r\n if (type === \"pagination\") {\r\n let values = { ...paginationOptionsNew };\r\n values.sizePerPage = newState.sizePerPage;\r\n values.page = newState.page === undefined ? 1 : newState.page;\r\n values.fromLoading = false;\r\n setpaginationOptionsNew(values);\r\n GetDataByStatus(\r\n \"New\",\r\n newState.page === undefined ? 1 : newState.page,\r\n newState.sizePerPage,\r\n paginationOptionsNew.sortField,\r\n paginationOptionsNew.sortOrder\r\n );\r\n }\r\n };\r\n const GetHandlerTableChangeBooked = (type, newState) => {\r\n if (type === \"sort\") {\r\n let values = { ...paginationOptionsBooked };\r\n values.sortField = newState.sortField;\r\n values.sortOrder = newState.sortOrder;\r\n setpaginationOptionsBooked(values);\r\n if (\r\n newState.sortField !== paginationOptionsBooked.sortField ||\r\n newState.sortOrder !== paginationOptionsBooked.sortOrder\r\n ) {\r\n GetDataByStatus(\r\n \"Order\",\r\n paginationOptionsBooked.page,\r\n paginationOptionsBooked.sizePerPage,\r\n newState.sortField,\r\n newState.sortOrder\r\n );\r\n }\r\n }\r\n if (type === \"pagination\") {\r\n let values = { ...paginationOptionsBooked };\r\n values.sizePerPage = newState.sizePerPage;\r\n values.page = newState.page === undefined ? 1 : newState.page;\r\n setpaginationOptionsBooked(values);\r\n GetDataByStatus(\r\n \"Order\",\r\n newState.page === undefined ? 1 : newState.page,\r\n newState.sizePerPage,\r\n paginationOptionsBooked.sortField,\r\n paginationOptionsBooked.sortOrder\r\n );\r\n }\r\n };\r\n const GetHandlerTableChangeNotConfirmed = (type, newState) => {\r\n if (type === \"sort\") {\r\n let values = { ...paginationOptionsNotConfirmed };\r\n values.sortField = newState.sortField;\r\n values.sortOrder = newState.sortOrder;\r\n setpaginationOptionsNotConfirmed(values);\r\n if (\r\n newState.sortField !== paginationOptionsNotConfirmed.sortField ||\r\n newState.sortOrder !== paginationOptionsNotConfirmed.sortOrder\r\n ) {\r\n GetDataByStatus(\r\n \"NotConfirmed\",\r\n paginationOptionsNotConfirmed.page,\r\n paginationOptionsNotConfirmed.sizePerPage,\r\n newState.sortField,\r\n newState.sortOrder\r\n );\r\n }\r\n }\r\n if (type === \"pagination\") {\r\n let values = { ...paginationOptionsNotConfirmed };\r\n values.sizePerPage = newState.sizePerPage;\r\n values.page = newState.page === undefined ? 1 : newState.page;\r\n setpaginationOptionsNotConfirmed(values);\r\n GetDataByStatus(\r\n \"NotConfirmed\",\r\n newState.page === undefined ? 1 : newState.page,\r\n newState.sizePerPage,\r\n paginationOptionsNotConfirmed.sortField,\r\n paginationOptionsNotConfirmed.sortOrder\r\n );\r\n }\r\n };\r\n const GetHandlerTableChangeAtShipper = (type, newState) => {\r\n if (type === \"sort\") {\r\n let values = { ...paginationOptionsAtShipper };\r\n values.sortField = newState.sortField;\r\n values.sortOrder = newState.sortOrder;\r\n setpaginationOptionsAtShipper(values);\r\n if (\r\n newState.sortField !== paginationOptionsAtShipper.sortField ||\r\n newState.sortOrder !== paginationOptionsAtShipper.sortOrder\r\n ) {\r\n GetDataByStatus(\r\n \"Bids\",\r\n paginationOptionsAtShipper.page,\r\n paginationOptionsAtShipper.sizePerPage,\r\n newState.sortField,\r\n newState.sortOrder\r\n );\r\n }\r\n }\r\n if (type === \"pagination\") {\r\n let values = { ...paginationOptionsAtShipper };\r\n values.sizePerPage = newState.sizePerPage;\r\n values.page = newState.page === undefined ? 1 : newState.page;\r\n setpaginationOptionsAtShipper(values);\r\n GetDataByStatus(\r\n \"Bids\",\r\n newState.page === undefined ? 1 : newState.page,\r\n newState.sizePerPage,\r\n paginationOptionsAtShipper.sortField,\r\n paginationOptionsAtShipper.sortOrder\r\n );\r\n }\r\n };\r\n\r\n const FilterTable = [\r\n {\r\n name: \"New Assignments\",\r\n color: \"primary\",\r\n },\r\n {\r\n name: \"Order Bids\",\r\n color: \"info\",\r\n },\r\n {\r\n name: \"Bids Accepted\",\r\n color: \"success\",\r\n },\r\n {\r\n name: \"Booked - Not Confirmed\",\r\n color: \"warning\",\r\n },\r\n ];\r\n const columnsNew = [\r\n {\r\n dataField: \"Id\",\r\n text: \"SO#\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n formatter: (cell, row) => {\r\n return (\r\n \r\n \r\n

\r\n {row.Id}\r\n

\r\n \r\n \r\n
    \r\n
  • \r\n false}\r\n className=\"navi-link\"\r\n onClick={() => {\r\n let value = { ...BidsInfo };\r\n value.ShipmentId = row.Id;\r\n setBidsInfo(value);\r\n setShowAddOfferModal(true);\r\n }}\r\n >\r\n \r\n \r\n \r\n Add offer\r\n \r\n
  • \r\n
  • \r\n false}\r\n className=\"navi-link\"\r\n onClick={(e) => {\r\n /* window.TMSEditSOCommingFrom = \"CapacityBoard\";\r\n customersUIProps.openEditCustomerDialog(row.Id); */\r\n ClickFun(\r\n e,\r\n `/TransportManagementSystems/SoDetail/`,\r\n row.Id\r\n );\r\n }}\r\n >\r\n \r\n \r\n \r\n View / Edit\r\n \r\n
  • \r\n
\r\n
\r\n
\r\n );\r\n },\r\n formatExtraData: {\r\n openEditCustomerDialog: customersUIProps.openEditCustomerDialog,\r\n },\r\n classes: \"text-center pr-0 text-primary font-weight-bolder\",\r\n headerClasses: \"text-center pr-3\",\r\n style: {\r\n minWidth: \"100px\",\r\n },\r\n },\r\n {\r\n dataField: \"CustomerName\",\r\n text: \"Customer\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n },\r\n {\r\n dataField: \"Mode\",\r\n text: \"Mode\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n },\r\n {\r\n dataField: \"Pu\",\r\n text: \"Pu Location\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n formatter: (cell, row) => {\r\n return row.FromCity + \", \" + row.FromState;\r\n },\r\n },\r\n {\r\n dataField: \"Del\",\r\n text: \"Del Location\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n formatter: (cell, row) => {\r\n return row.ToCity + \", \" + row.ToState;\r\n },\r\n },\r\n {\r\n dataField: \"TotalPayable\",\r\n text: \"Req Bid\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n formatter: (cell, row) => {\r\n return currencyFormat(row.TotalPayable);\r\n },\r\n },\r\n {\r\n dataField: \"TotalReceivables\",\r\n text: \"Cust Rate\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n formatter: (cell, row) => {\r\n return currencyFormat(row.TotalReceivables);\r\n },\r\n },\r\n ];\r\n const columnsOrder = [\r\n {\r\n dataField: \"Po\",\r\n text: \"Details\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n style: {\r\n width: \"85px\",\r\n },\r\n formatter: (cell, row, index) => {\r\n return (\r\n <>\r\n Bids Details\r\n }\r\n >\r\n false}\r\n className=\"btn btn-icon btn-light btn-hover-info btn-sm\"\r\n onClick={async () => {\r\n if (expendedDefault[0] !== row?.Id) {\r\n expendedDefault = [row?.Id];\r\n setDataExpandedRow([]);\r\n } else {\r\n expendedDefault = [];\r\n setDataExpandedRow([]);\r\n }\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n },\r\n },\r\n {\r\n dataField: \"Id\",\r\n text: \"SO#\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n formatter: (cell, row) => {\r\n return (\r\n \r\n \r\n

\r\n {row.Id}\r\n

\r\n \r\n \r\n
    \r\n
  • \r\n false}\r\n className=\"navi-link\"\r\n onClick={() => {\r\n setShowAddOfferModal(true);\r\n let value = { ...BidsInfo };\r\n value.ShipmentId = row.Id;\r\n setBidsInfo(value);\r\n }}\r\n >\r\n \r\n \r\n \r\n Add offer\r\n \r\n
  • \r\n
  • \r\n false}\r\n className=\"navi-link\"\r\n onClick={(e) => {\r\n ClickFun(\r\n e,\r\n `/TransportManagementSystems/SoDetail/`,\r\n row.Id\r\n );\r\n }}\r\n >\r\n \r\n \r\n \r\n View / Edit\r\n \r\n
  • \r\n
\r\n
\r\n
\r\n );\r\n },\r\n },\r\n {\r\n dataField: \"CustomerName\",\r\n text: \"Customer\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n },\r\n {\r\n dataField: \"Mode\",\r\n text: \"Mode\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n },\r\n {\r\n dataField: \"Pu\",\r\n text: \"Pu Location\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n formatter: (cell, row) => {\r\n return row.FromCity + \", \" + row.FromState;\r\n },\r\n },\r\n {\r\n dataField: \"Del\",\r\n text: \"Del Location\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n formatter: (cell, row) => {\r\n return row.ToCity + \", \" + row.ToState;\r\n },\r\n },\r\n {\r\n dataField: \"TotalPayable\",\r\n text: \"Bid Amount\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n formatter: (cell, row) => {\r\n return currencyFormat(row.TotalPayable);\r\n },\r\n },\r\n {\r\n dataField: \"TotalReceivables\",\r\n text: \"Cust Rate\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n formatter: (cell, row) => {\r\n return currencyFormat(row.TotalReceivables);\r\n },\r\n },\r\n ];\r\n const columnsBids = [\r\n {\r\n dataField: \"Id\",\r\n text: \"SO#\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n formatter: (cell, row) => {\r\n return (\r\n \r\n \r\n

\r\n {row.Id}\r\n

\r\n \r\n \r\n
    \r\n
  • \r\n false}\r\n className=\"navi-link\"\r\n onClick={(e) => {\r\n ClickFun(\r\n e,\r\n `/TransportManagementSystems/SoDetail/`,\r\n row.Id\r\n );\r\n }}\r\n >\r\n \r\n \r\n \r\n View / Edit\r\n \r\n
  • \r\n
\r\n
\r\n
\r\n );\r\n },\r\n },\r\n {\r\n dataField: \"CustomerName\",\r\n text: \"Customer\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n },\r\n {\r\n dataField: \"Mode\",\r\n text: \"Mode\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n },\r\n {\r\n dataField: \"Pu\",\r\n text: \"Pu Location\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n formatter: (cell, row) => {\r\n return row.FromCity + \", \" + row.FromState;\r\n },\r\n },\r\n {\r\n dataField: \"Del\",\r\n text: \"Del Location\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n formatter: (cell, row) => {\r\n return row.ToCity + \", \" + row.ToState;\r\n },\r\n },\r\n {\r\n dataField: \"TotalPayable\",\r\n text: \"Accepted Bid\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n formatter: (cell, row) => {\r\n return currencyFormat(row.TotalPayable);\r\n },\r\n },\r\n {\r\n dataField: \"TotalReceivables\",\r\n text: \"Cust Rate\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n formatter: (cell, row) => {\r\n return currencyFormat(row.TotalReceivables);\r\n },\r\n },\r\n ];\r\n const columnsNoteCofirmed = [\r\n {\r\n dataField: \"Id\",\r\n text: \"SO#\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n formatter: (cell, row) => {\r\n return (\r\n \r\n \r\n

\r\n {row.Id}\r\n

\r\n \r\n \r\n
    \r\n
  • \r\n false}\r\n className=\"navi-link\"\r\n onClick={(e) => {\r\n ClickFun(\r\n e,\r\n `/TransportManagementSystems/SoDetail/`,\r\n row.Id\r\n );\r\n }}\r\n >\r\n \r\n \r\n \r\n View / Edit\r\n \r\n
  • \r\n
\r\n
\r\n
\r\n );\r\n },\r\n },\r\n {\r\n dataField: \"CustomerName\",\r\n text: \"Customer\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n },\r\n {\r\n dataField: \"Mode\",\r\n text: \"Mode\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n },\r\n {\r\n dataField: \"Pu\",\r\n text: \"Pu Location\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n formatter: (cell, row) => {\r\n return row.FromCity + \", \" + row.FromState;\r\n },\r\n },\r\n {\r\n dataField: \"Del\",\r\n text: \"Del Location\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n formatter: (cell, row) => {\r\n return row.ToCity + \", \" + row.ToState;\r\n },\r\n },\r\n ];\r\n //End Configuration\r\n async function GetDataByStatus(\r\n StatusId,\r\n page,\r\n sizePerPage,\r\n sortField,\r\n sortOrder\r\n ) {\r\n switch (StatusId) {\r\n case \"New\":\r\n setloadingDataNew(true);\r\n break;\r\n case \"Order\":\r\n setloadingDataBooked(true);\r\n break;\r\n case \"Bids\":\r\n setloadingDataAtShipper(true);\r\n break;\r\n case \"NotConfirmed\":\r\n setloadingDataNotConfirmed(true);\r\n break;\r\n default:\r\n break;\r\n }\r\n let filter = customersUIProps.queryParams.filter;\r\n var Customers = filter.CustomerId;\r\n var search = \"\";\r\n\r\n if (Customers !== \"\" && Customers !== null && Customers !== undefined) {\r\n var listCustomers = Customers.map((a) => a.value);\r\n Customers = \"&CustomerId=\" + listCustomers.join(\"&CustomerId=\");\r\n }\r\n var Modes = filter.ModeId;\r\n\r\n if (Modes !== \"\" && Modes !== null && Modes !== undefined) {\r\n var listModes = Modes.map((a) => a.value);\r\n Modes = \"&ModeId=\" + listModes.join(\"&ModeId=\");\r\n }\r\n var myHeaders = new Headers();\r\n myHeaders.append(\"Authorization\", `Bearer ${db.read().getState().Token}`);\r\n\r\n var requestOptions = {\r\n method: \"GET\",\r\n headers: myHeaders,\r\n redirect: \"follow\",\r\n };\r\n\r\n await fetch(\r\n `${window.$apiurl}/tms/CapacityLoadBoard?search=${search}&userAssignee=${\r\n filter.userAssignee\r\n }&shipDateFilter=${filter.shipDateFilter ?? null}${\r\n Customers === null ? \"\" : Customers\r\n }\r\n ${\r\n Modes === null ? \"\" : Modes\r\n }&pageNumber=${page}&pageSize=${sizePerPage}&sortField=${sortField}&sortOrder=${sortOrder}`,\r\n requestOptions\r\n )\r\n .then((response) => response.text())\r\n .then((result) => {\r\n var dataObj = JSON.parse(result);\r\n if (StatusId === \"New\") {\r\n paginationOptionsNew.totalSize =\r\n dataObj?.New?.Pagination?.TotalItemCount;\r\n paginationOptionsNew.sizePerPageList = [\r\n { text: \"4\", value: 4 },\r\n { text: \"10\", value: 10 },\r\n { text: \"25\", value: 25 },\r\n {\r\n text: String(dataObj?.New?.Pagination?.TotalItemCount),\r\n value: dataObj?.New?.Pagination?.TotalItemCount,\r\n },\r\n ];\r\n setNewOrderData(dataObj?.New?.Shipments);\r\n } else if (StatusId === \"Order\") {\r\n //booked\r\n paginationOptionsBooked.totalSize =\r\n dataObj?.OrderBids?.Pagination?.TotalItemCount;\r\n paginationOptionsBooked.sizePerPageList = [\r\n { text: \"4\", value: 4 },\r\n { text: \"10\", value: 10 },\r\n { text: \"25\", value: 25 },\r\n {\r\n text: String(dataObj?.OrderBids?.Pagination?.TotalItemCount),\r\n value: dataObj?.OrderBids?.Pagination?.TotalItemCount,\r\n },\r\n ];\r\n setBookedData(dataObj?.OrderBids?.Shipments);\r\n } else if (StatusId === \"NotConfirmed\") {\r\n //booked\r\n paginationOptionsNotConfirmed.totalSize =\r\n dataObj?.NotConfirmed?.Pagination?.TotalItemCount;\r\n paginationOptionsNotConfirmed.sizePerPageList = [\r\n { text: \"4\", value: 4 },\r\n { text: \"10\", value: 10 },\r\n { text: \"25\", value: 25 },\r\n {\r\n text: String(dataObj?.NotConfirmed?.Pagination?.TotalItemCount),\r\n value: dataObj?.NotConfirmed?.Pagination?.TotalItemCount,\r\n },\r\n ];\r\n setNotConfirmedData(dataObj?.NotConfirmed?.Shipments);\r\n } else if (StatusId === \"Bids\") {\r\n //At shipper\r\n paginationOptionsAtShipper.totalSize =\r\n dataObj?.BidsAccepted?.Pagination?.TotalItemCount;\r\n paginationOptionsAtShipper.sizePerPageList = [\r\n { text: \"4\", value: 4 },\r\n { text: \"10\", value: 10 },\r\n { text: \"25\", value: 25 },\r\n {\r\n text: String(dataObj?.BidsAccepted?.Pagination?.TotalItemCount),\r\n value: dataObj?.BidsAccepted?.Pagination?.TotalItemCount,\r\n },\r\n ];\r\n setAtShipperData(dataObj?.BidsAccepted?.Shipments);\r\n }\r\n let values = { ...PaginationProperty };\r\n values.pageSize = dataObj?.BidsAccepted?.TotalItemCount;\r\n setPaginationProperty(values);\r\n switch (StatusId) {\r\n case \"New\":\r\n setloadingDataNew(false);\r\n break;\r\n case \"Order\":\r\n setloadingDataBooked(false);\r\n break;\r\n case \"Bids\":\r\n setloadingDataAtShipper(false);\r\n break;\r\n case \"NotConfirmed\":\r\n setloadingDataNotConfirmed(false);\r\n break;\r\n default:\r\n break;\r\n }\r\n })\r\n .catch((error) => console.log(\"error\", error));\r\n }\r\n async function GetDataLoadBoardFunction() {\r\n setloadingDataAtShipper(true);\r\n setloadingDataBooked(true);\r\n setloadingDataNew(true);\r\n let filter = customersUIProps.queryParams.filter;\r\n var Customers = filter.CustomerId;\r\n var search =\r\n filter.SearchText !== null && filter.SearchText !== undefined\r\n ? filter.SearchText\r\n : \"\";\r\n\r\n if (Customers !== \"\" && Customers !== null && Customers !== undefined) {\r\n var listCustomers = Customers.map((a) => a.value);\r\n Customers = \"&CustomerId=\" + listCustomers.join(\"&CustomerId=\");\r\n }\r\n var Modes = filter.ModeId;\r\n\r\n if (Modes !== \"\" && Modes !== null && Modes !== undefined) {\r\n var listModes = Modes.map((a) => a.value);\r\n Modes = \"&ModeId=\" + listModes.join(\"&ModeId=\");\r\n }\r\n var myHeaders = new Headers();\r\n myHeaders.append(\"Authorization\", `Bearer ${db.read().getState().Token}`);\r\n\r\n var requestOptions = {\r\n method: \"GET\",\r\n headers: myHeaders,\r\n redirect: \"follow\",\r\n };\r\n\r\n await fetch(\r\n `${\r\n window.$apiurl\r\n }/tms/CapacityLoadBoard?search=${search}${Customers}${Modes}&userAssignee=${\r\n filter.userAssignee\r\n }&shipDateFilter=${filter.shipDateFilter ??\r\n null}&pageNumber=${1}&pageSize=${4}`,\r\n requestOptions\r\n )\r\n .then(async (response) => {\r\n if (response.status === 401) {\r\n history.push(\"/error/401\");\r\n }\r\n return response.text();\r\n })\r\n .then((result) => {\r\n var dataObj = JSON.parse(result);\r\n let _paginationOptionsNew = { ...paginationOptionsNew };\r\n _paginationOptionsNew.fromLoading = true;\r\n _paginationOptionsNew.totalSize =\r\n dataObj?.New?.Pagination?.TotalItemCount;\r\n _paginationOptionsNew.sizePerPageList = [\r\n { text: \"4\", value: 4 },\r\n { text: \"10\", value: 10 },\r\n { text: \"25\", value: 25 },\r\n {\r\n text: String(dataObj?.New?.Pagination?.TotalItemCount),\r\n value: dataObj?.New?.Pagination?.TotalItemCount,\r\n },\r\n ];\r\n _paginationOptionsNew.page = 1;\r\n setpaginationOptionsNew(_paginationOptionsNew);\r\n //booked\r\n var _paginationOptionsBooked = { ...paginationOptionsBooked };\r\n\r\n _paginationOptionsBooked.totalSize =\r\n dataObj?.OrderBids?.Pagination?.TotalItemCount;\r\n _paginationOptionsBooked.sizePerPageList = [\r\n { text: \"4\", value: 4 },\r\n { text: \"10\", value: 10 },\r\n { text: \"25\", value: 25 },\r\n {\r\n text: String(dataObj?.OrderBids?.Pagination?.TotalItemCount),\r\n value: dataObj?.OrderBids?.Pagination?.TotalItemCount,\r\n },\r\n ];\r\n _paginationOptionsBooked.page = 1;\r\n setpaginationOptionsBooked(_paginationOptionsBooked);\r\n\r\n //NotConfirmed\r\n var _paginationOptionsNotConfirmed = {\r\n ...paginationOptionsNotConfirmed,\r\n };\r\n\r\n _paginationOptionsNotConfirmed.totalSize =\r\n dataObj?.NotConfirmed?.Pagination?.TotalItemCount;\r\n _paginationOptionsNotConfirmed.sizePerPageList = [\r\n { text: \"4\", value: 4 },\r\n { text: \"10\", value: 10 },\r\n { text: \"25\", value: 25 },\r\n {\r\n text: String(dataObj?.NotConfirmed?.Pagination?.TotalItemCount),\r\n value: dataObj?.NotConfirmed?.Pagination?.TotalItemCount,\r\n },\r\n ];\r\n _paginationOptionsNotConfirmed.page = 1;\r\n setpaginationOptionsNotConfirmed(_paginationOptionsNotConfirmed);\r\n //At shipper\r\n var _paginationOptionsAtShipper = { ...paginationOptionsAtShipper };\r\n _paginationOptionsAtShipper.totalSize =\r\n dataObj?.BidsAccepted?.Pagination?.TotalItemCount;\r\n _paginationOptionsAtShipper.sizePerPageList = [\r\n { text: \"4\", value: 4 },\r\n { text: \"10\", value: 10 },\r\n { text: \"25\", value: 25 },\r\n {\r\n text: String(dataObj?.BidsAccepted?.Pagination?.TotalItemCount),\r\n value: dataObj?.BidsAccepted?.Pagination?.TotalItemCount,\r\n },\r\n ];\r\n _paginationOptionsAtShipper.page = 1;\r\n setpaginationOptionsAtShipper(_paginationOptionsAtShipper);\r\n\r\n setNewOrderData(dataObj?.New?.Shipments);\r\n setBookedData(dataObj?.OrderBids?.Shipments);\r\n setAtShipperData(dataObj?.BidsAccepted?.Shipments);\r\n setNotConfirmedData(dataObj?.NotConfirmed?.Shipments);\r\n\r\n setloadingDataAtShipper(false);\r\n setloadingDataBooked(false);\r\n setloadingDataNew(false);\r\n setloadingDataNotConfirmed(false);\r\n })\r\n .catch((error) => console.log(\"error\", error));\r\n }\r\n const [BidsInfo, setBidsInfo] = useState({\r\n ShipmentId: \"\",\r\n VendorId: \"\",\r\n VendorName: \"\",\r\n SpecialReq: \"\",\r\n Amount: null,\r\n PickupAppointmentDate: null,\r\n DeliveryDate: null,\r\n IsTendered: false,\r\n });\r\n async function GetEmailNotification(SO, VendorId, VendorName, Amount) {\r\n var myHeaders = new Headers();\r\n myHeaders.append(\"Authorization\", `bearer ${db.read().getState().Token}`);\r\n var requestOptions = {\r\n method: \"GET\",\r\n headers: myHeaders,\r\n redirect: \"follow\",\r\n };\r\n\r\n fetch(\r\n `${window.$apiurl}/tms/getemail/${SO}?vendorId=${VendorId}`,\r\n requestOptions\r\n )\r\n .then((response) => response.text())\r\n .then((result) => {\r\n let dataemail = JSON.parse(result);\r\n setEmailAddressList(dataemail?.Emails || []);\r\n setSubjectData(\r\n `Mitco Carrier Offer: SO # ${SO} – ${dataemail?.Shipment?.FromCity}/${dataemail?.Shipment?.FromState} to ${dataemail?.Shipment?.ToCity}/${dataemail?.Shipment?.ToState}`\r\n );\r\n setBodyData(\r\n `

Hello ${VendorName},

Please see below load request and reply back confirming acceptance or rejection, thank you!

 

Shipper: ${\r\n dataemail?.Shipment?.FromCity !== null\r\n ? dataemail?.Shipment?.FromCity\r\n : \"\"\r\n }/${\r\n dataemail?.Shipment?.FromState !== null\r\n ? dataemail?.Shipment?.FromState\r\n : \"\"\r\n }

Receiver: ${\r\n dataemail?.Shipment?.ToCity !== null\r\n ? dataemail?.Shipment?.ToCity\r\n : \"\"\r\n }/${\r\n dataemail?.Shipment?.ToState !== null\r\n ? dataemail?.Shipment?.ToState\r\n : \"\"\r\n }

Ship Date Range: ${\r\n dataemail?.Shipment?.ShipmentDate !== null\r\n ? moment(dataemail?.Shipment?.ShipmentDate).format(\"YYYY-MM-DD\")\r\n : \"\"\r\n } to ${\r\n dataemail?.Shipment?.ReqShipDate !== null\r\n ? moment(dataemail?.Shipment?.ReqShipDate).format(\"YYYY-MM-DD\")\r\n : \"\"\r\n }

MABD: ${\r\n dataemail?.Shipment?.MustArriveByDate !== null\r\n ? moment(dataemail?.Shipment?.MustArriveByDate).format(\r\n \"YYYY-MM-DD\"\r\n )\r\n : \"\"\r\n }

Commodity: ${\r\n dataemail?.Shipment?.Commodities !== undefined &&\r\n dataemail?.Shipment?.Commodities !== null\r\n ? dataemail?.Shipment?.Commodities?.join(\", \")\r\n : \"\"\r\n }

Pallets: ${\r\n dataemail?.Shipment?.Pallets !== null\r\n ? dataemail?.Shipment?.Pallets\r\n : \"\"\r\n }

Pieces: ${\r\n dataemail?.Shipment?.Pieces !== null\r\n ? dataemail?.Shipment?.Pieces\r\n : \"\"\r\n }

Weight: ${\r\n dataemail?.Shipment?.Weight !== null\r\n ? dataemail?.Shipment?.Weight\r\n : \"\"\r\n }

Special Requirements: [${\r\n dataemail?.Shipment?.SpecialReq !== null\r\n ? dataemail?.Shipment?.SpecialReq\r\n : \"\"\r\n }]

 

Requested Rate: ${Amount}

 

Thank you!

`\r\n );\r\n setshowModalSend(true);\r\n })\r\n .catch((error) => console.log(\"error\", error));\r\n }\r\n useEffect(() => {\r\n GetDataLoadBoardFunction();\r\n }, [customersUIProps.queryParams]);\r\n //eXPEND Row\r\n useEffect(() => {\r\n getDataViewModel();\r\n }, []);\r\n const [LoadBoardsList, setLoadBoardsList] = useState([]);\r\n\r\n function getDataViewModel() {\r\n var myHeaders = new Headers();\r\n myHeaders.append(\"Authorization\", `Bearer ${db.read().getState().Token}`);\r\n\r\n var requestOptions = {\r\n method: \"GET\",\r\n headers: myHeaders,\r\n redirect: \"follow\",\r\n };\r\n\r\n fetch(`${window.$apiurl}/CapacityLoadBoard/GetViewModel`, requestOptions)\r\n .then((response) => response.text())\r\n .then((result) => {\r\n var obj = JSON.parse(result);\r\n setLoadBoardsList(obj);\r\n window.VendorListCapasityLB = obj?.Vendors || [];\r\n })\r\n .catch((error) => console.log(\"error\", error));\r\n }\r\n\r\n async function SendBidsNotification() {\r\n if (ToData === null) {\r\n Notification(\"error\", \"Please fill email Info\");\r\n return;\r\n }\r\n // server request for deleting product by id\r\n setisLoadingSend(true);\r\n var data = {};\r\n if (window.SendDispatchShipmentsList !== undefined) {\r\n data = {\r\n Ids: window.SendDispatchShipmentsList?.map(function(item) {\r\n return item.id;\r\n }),\r\n Emails: ToData,\r\n Subject: SubjectData,\r\n Body: BodyData,\r\n IncludeCc: includCCData,\r\n Attachments: AttachmentData,\r\n Bol: false,\r\n OutboundDispatch: false,\r\n ShipmentManifest: false,\r\n };\r\n } else {\r\n data = {\r\n Emails: ToData,\r\n Subject: SubjectData,\r\n Body: BodyData,\r\n IncludeCc: includCCData,\r\n Attachments: AttachmentData,\r\n Bol: false,\r\n OutboundDispatch: false,\r\n ShipmentManifest: false,\r\n };\r\n }\r\n\r\n var raw = JSON.stringify(data);\r\n var requestOptions = {\r\n method: \"POST\",\r\n body: raw,\r\n redirect: \"follow\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n };\r\n var url = \"\";\r\n if (window.SendDispatchShipmentsList !== undefined) {\r\n url = \"/shipmentsmanagement/sendMultiEmail\";\r\n } else {\r\n url = `/shipments/sendEmail/` + BidsInfo.ShipmentId;\r\n }\r\n let response = await fetch(`${window.$apiurl}${url}`, requestOptions);\r\n if (response.status === 200) {\r\n Notification(\r\n \"success\",\r\n \"Email sent successfuly for Shipment ID \" + BidsInfo.ShipmentId\r\n );\r\n setToData(null);\r\n setToDataDefeault(null);\r\n setSubjectData(null);\r\n setBodyData(\"\");\r\n setincludCCData(false);\r\n setAttachmentData([]);\r\n } else {\r\n Notification(\"error\", \"invalid data\");\r\n }\r\n setBidsInfo({\r\n ShipmentId: \"\",\r\n VendorId: \"\",\r\n VendorName: \"\",\r\n SpecialReq: \"\",\r\n Amount: null,\r\n PickupAppointmentDate: null,\r\n DeliveryDate: null,\r\n IsTendered: false,\r\n });\r\n setisLoadingSend(false);\r\n setshowModalSend(false);\r\n }\r\n\r\n const expandRow = {\r\n renderer: (row) => {\r\n return (\r\n \r\n \r\n \r\n Id\r\n Carrier\r\n Bid Amount\r\n Note\r\n \r\n \r\n \r\n {row?.OrderBids?.map((item, index) => (\r\n \r\n \r\n \r\n Accept Bid\r\n \r\n }\r\n >\r\n false}\r\n className=\"btn btn-icon btn-light btn-hover-success btn-sm\"\r\n onClick={async () => {\r\n setLoadingPost(true);\r\n\r\n var myHeaders = new Headers();\r\n myHeaders.append(\r\n \"Authorization\",\r\n `Bearer ${db.read().getState().Token}`\r\n );\r\n myHeaders.append(\"Content-Type\", \"application/json\");\r\n var raw = JSON.stringify({\r\n Id: item.Id,\r\n Value: true,\r\n Type: 1,\r\n });\r\n var requestOptions = {\r\n method: \"POST\",\r\n headers: myHeaders,\r\n body: raw,\r\n redirect: \"follow\",\r\n };\r\n\r\n fetch(`${window.$apiurl}/tms/BidStatus`, requestOptions)\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n const contentType = response.headers.get(\r\n \"content-type\"\r\n );\r\n if (\r\n contentType &&\r\n contentType.indexOf(\"application/json\") !== -1\r\n ) {\r\n return response\r\n .json()\r\n .then((data) => [statusCode, data]);\r\n } else {\r\n return response\r\n .text()\r\n .then((text) => [statusCode, { Message: \"\" }]);\r\n }\r\n })\r\n .then((result) => {\r\n if (result[0] === 200) {\r\n Notification(\"success\", `Bid Add successfully`);\r\n GetDataLoadBoardFunction();\r\n setLoadingPost(false);\r\n } else {\r\n if (\r\n result[1].ModelState !== null &&\r\n result[1].ModelState !== undefined &&\r\n result[1].ModelState !== \"\"\r\n ) {\r\n let modelState = result[1].ModelState;\r\n if (modelState)\r\n Object.keys(modelState).forEach(function(k) {\r\n modelState[k].forEach((element) => {\r\n Notification(\"errorClick\", element);\r\n });\r\n });\r\n } else if (\r\n result[1].Message !== null &&\r\n result[1].Message !== undefined &&\r\n result[1].Message !== \"\"\r\n ) {\r\n Notification(\"errorClick\", result[1].Message);\r\n } else {\r\n Notification(\"errorClick\", \"invalid request\");\r\n }\r\n setLoadingPost(false);\r\n }\r\n })\r\n .catch((error) => {\r\n console.log(\"error\", error);\r\n Notification(\"errorClick\", \"invalid request\");\r\n setLoadingPost(false);\r\n });\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {item.Carrier}\r\n \r\n \r\n {currencyFormat(item.BidAmount)}\r\n \r\n \r\n {item.Note}\r\n \r\n \r\n ))}\r\n \r\n
\r\n );\r\n },\r\n expanded: expendedDefault,\r\n expandByColumnOnly: true,\r\n };\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n Carrier Offer Email\r\n \r\n {\r\n setBidsInfo({\r\n ShipmentId: \"\",\r\n VendorId: \"\",\r\n VendorName: \"\",\r\n\r\n SpecialReq: \"\",\r\n Amount: null,\r\n PickupAppointmentDate: null,\r\n DeliveryDate: null,\r\n IsTendered: false,\r\n });\r\n setshowModalSend(false);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n

To:

\r\n {EmailAddressList && (\r\n {\r\n return { value: a.Email, label: a.Email };\r\n })}\r\n className=\"basic-multi-select\"\r\n classNamePrefix=\"select\"\r\n onChange={(e) => {\r\n var obj = [];\r\n var objDefeault = [];\r\n if (e) {\r\n e.map((item) => {\r\n obj.push({\r\n Email: item.value,\r\n Name: item.value,\r\n });\r\n objDefeault.push({\r\n value: item.value,\r\n label: item.value,\r\n });\r\n return null;\r\n });\r\n }\r\n setToDataDefeault(objDefeault);\r\n setToData(obj);\r\n }}\r\n />\r\n )}\r\n\r\n {\r\n setincludCCData(event.target.checked);\r\n }}\r\n />\r\n
\r\n
\r\n

Subject:

\r\n {\r\n setSubjectData(event.target.value);\r\n }}\r\n />\r\n
\r\n
\r\n

Body:

\r\n\r\n {\r\n const data = editor.getData();\r\n setBodyData(data);\r\n }}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n {\r\n setBidsInfo({\r\n ShipmentId: \"\",\r\n VendorId: \"\",\r\n VendorName: \"\",\r\n\r\n SpecialReq: \"\",\r\n Amount: null,\r\n PickupAppointmentDate: null,\r\n DeliveryDate: null,\r\n IsTendered: false,\r\n });\r\n setshowModalSend(false);\r\n }}\r\n className=\"btn btn-light btn-elevate\"\r\n >\r\n Cancel\r\n \r\n <> \r\n \r\n Send Email\r\n {isLoadingSend && (\r\n \r\n )}\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n Add Offer\r\n \r\n \r\n
\r\n
\r\n \r\n\r\n {\r\n return { value: a.Id, label: a.Code + \"-\" + a.Name };\r\n })}\r\n onChange={(e) => {\r\n if (e !== null) {\r\n let value = { ...BidsInfo };\r\n value.VendorId = e?.value;\r\n value.VendorName = e?.label;\r\n setBidsInfo(value);\r\n }\r\n }}\r\n />\r\n
\r\n\r\n
\r\n \r\n {\r\n let value = { ...BidsInfo };\r\n value.SpecialReq = e?.target.value;\r\n setBidsInfo(value);\r\n }}\r\n />\r\n
\r\n
\r\n \r\n {\r\n let value = { ...BidsInfo };\r\n value.Amount = e?.target.value;\r\n setBidsInfo(value);\r\n }}\r\n />\r\n
\r\n
\r\n \r\n\r\n {\r\n let value = { ...BidsInfo };\r\n value.PickupAppointmentDate = e?.target.value;\r\n setBidsInfo(value);\r\n }}\r\n />\r\n
\r\n
\r\n \r\n\r\n {\r\n let value = { ...BidsInfo };\r\n value.DeliveryDate = e?.target.value;\r\n setBidsInfo(value);\r\n }}\r\n />\r\n
\r\n\r\n
\r\n {\r\n let value = { ...BidsInfo };\r\n value.IsTendered = e?.target.checked;\r\n setBidsInfo(value);\r\n }}\r\n />\r\n
\r\n
\r\n
\r\n \r\n {\r\n setShowAddOfferModal(false);\r\n setBidsInfo({\r\n ShipmentId: \"\",\r\n VendorId: \"\",\r\n VendorName: \"\",\r\n\r\n SpecialReq: \"\",\r\n Amount: null,\r\n PickupAppointmentDate: null,\r\n DeliveryDate: null,\r\n IsTendered: false,\r\n });\r\n }}\r\n className=\"btn btn-outline btn-elevate\"\r\n >\r\n Cancel\r\n \r\n {\r\n if (\r\n BidsInfo.VendorId === null ||\r\n BidsInfo.VendorId === \"\" ||\r\n BidsInfo.VendorId === undefined\r\n ) {\r\n Notification(\"errorClick\", \"please select carrier\");\r\n return;\r\n }\r\n if (\r\n BidsInfo.PickupAppointmentDate === null ||\r\n BidsInfo.PickupAppointmentDate === \"\" ||\r\n BidsInfo.PickupAppointmentDate === undefined\r\n ) {\r\n Notification(\r\n \"errorClick\",\r\n \"please Fill Pickup Appointment Date\"\r\n );\r\n return;\r\n }\r\n if (\r\n BidsInfo.DeliveryDate === null ||\r\n BidsInfo.DeliveryDate === \"\" ||\r\n BidsInfo.DeliveryDate === undefined\r\n ) {\r\n Notification(\"errorClick\", \"please Fill Delivery Date\");\r\n return;\r\n }\r\n //return;\r\n\r\n setLoadingPost(true);\r\n var myHeaders = new Headers();\r\n myHeaders.append(\r\n \"Authorization\",\r\n `Bearer ${db.read().getState().Token}`\r\n );\r\n myHeaders.append(\"Content-Type\", \"application/json\");\r\n\r\n var raw = JSON.stringify(BidsInfo);\r\n\r\n var requestOptions = {\r\n method: \"Post\",\r\n headers: myHeaders,\r\n body: raw,\r\n redirect: \"follow\",\r\n };\r\n\r\n fetch(`${window.$apiurl}/tms/PostBidNew`, requestOptions)\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n const contentType = response.headers.get(\"content-type\");\r\n if (\r\n contentType &&\r\n contentType.indexOf(\"application/json\") !== -1\r\n ) {\r\n return response.json().then((data) => [statusCode, data]);\r\n } else {\r\n return response\r\n .text()\r\n .then((text) => [statusCode, { Message: \"\" }]);\r\n }\r\n })\r\n .then((result) => {\r\n if (result[0] === 200) {\r\n Notification(\r\n \"success\",\r\n \"Bid has been Created successfully\"\r\n );\r\n if (BidsInfo.IsTendered === true) {\r\n GetEmailNotification(\r\n BidsInfo.ShipmentId,\r\n BidsInfo.VendorId,\r\n BidsInfo.VendorName,\r\n BidsInfo.Amount\r\n );\r\n } else {\r\n setBidsInfo({\r\n ShipmentId: \"\",\r\n VendorId: \"\",\r\n VendorName: \"\",\r\n\r\n SpecialReq: \"\",\r\n Amount: null,\r\n PickupAppointmentDate: null,\r\n DeliveryDate: null,\r\n IsTendered: false,\r\n });\r\n }\r\n GetDataLoadBoardFunction();\r\n setLoadingPost(false);\r\n setShowAddOfferModal(false);\r\n } else {\r\n if (\r\n result[1].ModelState !== null &&\r\n result[1].ModelState !== undefined &&\r\n result[1].ModelState !== \"\"\r\n ) {\r\n let modelState = result[1].ModelState;\r\n if (modelState)\r\n Object.keys(modelState).forEach(function(k) {\r\n modelState[k].forEach((element) => {\r\n Notification(\"errorClick\", element);\r\n });\r\n });\r\n } else if (\r\n result[1].Message !== null &&\r\n result[1].Message !== undefined &&\r\n result[1].Message !== \"\"\r\n ) {\r\n Notification(\"errorClick\", result[1].Message);\r\n } else {\r\n Notification(\"errorClick\", \"Bad Request\");\r\n }\r\n }\r\n setLoadingPost(false);\r\n })\r\n .catch((error) => {\r\n console.log(\"error\", error);\r\n });\r\n }}\r\n >\r\n Save\r\n {LoadingPost && (\r\n \r\n )}\r\n \r\n \r\n \r\n \r\n eMPower | Capacity Board\r\n \r\n \r\n \r\n \r\n \r\n Refresh\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n false}\r\n className=\"btn btn-icon btn-light btn-hover-info btn-sm mb-4\"\r\n onClick={() => {\r\n setShowData(\"\");\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n\r\n
\r\n
\r\n {FilterTable.map(({ name, color }) => (\r\n
\r\n {\r\n setShowData(name);\r\n }}\r\n >\r\n {name}\r\n

\r\n
\r\n ))}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n {customersUIProps.ids.length > 0 && }\r\n\r\n \r\n {(ShowData === \"New Assignments\" || ShowData === \"\") && (\r\n <>\r\n \r\n \r\n New Assignments\r\n

\r\n {loadingDataNew === true ? (\r\n \r\n ) : (\r\n \"\"\r\n )}\r\n \r\n {({ paginationProps, paginationTableProps }) => {\r\n return (\r\n \r\n \r\n There is no data available at the moment.\r\n \r\n }\r\n data={NewOrderData}\r\n columns={columnsNew}\r\n defaultSorted={[{ dataField: \"Id\", order: \"desc\" }]}\r\n onTableChange={GetHandlerTableChangeNew}\r\n {...paginationTableProps}\r\n >\r\n \r\n \r\n \r\n \r\n );\r\n }}\r\n \r\n \r\n \r\n )}\r\n {(ShowData === \"Order Bids\" || ShowData === \"\") && (\r\n <>\r\n \r\n \r\n Order Bids\r\n

\r\n {loadingDataBooked === true ? (\r\n \r\n ) : (\r\n \"\"\r\n )}\r\n \r\n {({ paginationProps, paginationTableProps }) => {\r\n return (\r\n \r\n \r\n There is no data available at the moment.\r\n \r\n }\r\n data={BookedData}\r\n expandRow={expandRow}\r\n columns={columnsOrder}\r\n defaultSorted={[{ dataField: \"Id\", order: \"desc\" }]}\r\n onTableChange={GetHandlerTableChangeBooked}\r\n {...paginationTableProps}\r\n >\r\n \r\n \r\n \r\n \r\n );\r\n }}\r\n \r\n \r\n \r\n )}\r\n {(ShowData === \"Bids Accepted\" || ShowData === \"\") && (\r\n <>\r\n \r\n \r\n Bids Accepted\r\n

\r\n {loadingDataAtShipper === true ? (\r\n \r\n ) : (\r\n \"\"\r\n )}\r\n \r\n {({ paginationProps, paginationTableProps }) => {\r\n return (\r\n \r\n \r\n There is no data available at the moment.\r\n \r\n }\r\n data={AtShipperData}\r\n columns={columnsBids}\r\n defaultSorted={[{ dataField: \"Id\", order: \"desc\" }]}\r\n onTableChange={GetHandlerTableChangeAtShipper}\r\n {...paginationTableProps}\r\n >\r\n \r\n \r\n \r\n \r\n );\r\n }}\r\n \r\n \r\n \r\n )}\r\n {(ShowData === \"Booked - Not Confirmed\" || ShowData === \"\") && (\r\n <>\r\n \r\n \r\n Booked - Not Confirmed\r\n

\r\n {loadingDataNotConfirmed === true ? (\r\n \r\n ) : (\r\n \"\"\r\n )}\r\n \r\n {({ paginationProps, paginationTableProps }) => {\r\n return (\r\n \r\n \r\n There is no data available at the moment.\r\n \r\n }\r\n data={NotConfirmedData}\r\n columns={columnsNoteCofirmed}\r\n defaultSorted={[{ dataField: \"Id\", order: \"desc\" }]}\r\n onTableChange={GetHandlerTableChangeNotConfirmed}\r\n {...paginationTableProps}\r\n >\r\n \r\n \r\n \r\n \r\n );\r\n }}\r\n \r\n \r\n \r\n )}\r\n
\r\n
\r\n
\r\n \r\n );\r\n}\r\n","import React, { useState } from \"react\";\r\nimport { Route } from \"react-router-dom\";\r\nimport { CustomersLoadingDialog } from \"./customers-loading-dialog/CustomersLoadingDialog\";\r\nimport { CustomerEditDialog } from \"./customer-edit-dialog/CustomerEditDialog\";\r\nimport { CustomerDeleteDialog } from \"./customer-delete-dialog/CustomerDeleteDialog\";\r\nimport { CustomersDeleteDialog } from \"./customers-delete-dialog/CustomersDeleteDialog\";\r\nimport { CustomersFetchDialog } from \"./customers-fetch-dialog/CustomersFetchDialog\";\r\nimport { CustomersUpdateStateDialog } from \"./customers-update-status-dialog/CustomersUpdateStateDialog\";\r\nimport { CustomersUIProvider } from \"./CustomersUIContext\";\r\nimport { CustomersCard } from \"./CustomersCard\";\r\nimport { ProductTMSDetail } from \"../ManageTMS/product-detail/ProductDetail\";\r\nimport { ProductMODetail } from \"../ManageTMS/master-order-detail/ProductDetail\";\r\n\r\nexport function CapacityBoardPageTab({ history }) {\r\n const [NewModal, setNewModal] = useState(false);\r\n const [EditModal, setEditModal] = useState(false);\r\n const [MODetail, setMODetail] = useState(false);\r\n const [CBDetail, setCBDetail] = useState(true);\r\n\r\n const [DeleteModal, setDeleteModal] = useState(false);\r\n const customersUIEvents = {\r\n newCustomerButtonClick: () => {\r\n setNewModal(true);\r\n },\r\n openEditCustomerDialog: (id) => {\r\n setEditModal(id);\r\n },\r\n openDeleteCustomerDialog: (id) => {\r\n setDeleteModal(id);\r\n },\r\n openDeleteCustomersDialog: () => {\r\n history.push(`/TransportManagementSystems/CapacityBoard/deleteCustomers`);\r\n },\r\n openFetchCustomersDialog: () => {\r\n history.push(`/TransportManagementSystems/CapacityBoard/fetch`);\r\n },\r\n openUpdateCustomersStatusDialog: () => {\r\n history.push(\"/TransportManagementSystems/CapacityBoard/updateStatus\");\r\n },\r\n openDetailsCustomerDialog: (id) => {\r\n history.push(`/PalletsManagment/${id}/details`);\r\n },\r\n };\r\n console.log(\"NewModal\", NewModal);\r\n console.log(\"EditModal\", EditModal);\r\n console.log(\"MODetail\", MODetail);\r\n console.log(\"DeleteModal\", DeleteModal);\r\n return (\r\n \r\n {\r\n setTimeout(() => {\r\n setEditModal(false);\r\n setMODetail(false);\r\n setCBDetail(true);\r\n }, 1);\r\n }}\r\n />\r\n {\r\n setEditModal(false);\r\n setCBDetail(false);\r\n setMODetail(e?.target?.value);\r\n }}\r\n />\r\n {\r\n setEditModal(e?.target?.value);\r\n setCBDetail(false);\r\n setMODetail(false);\r\n }}\r\n />\r\n \r\n {NewModal && (\r\n {\r\n setNewModal(false);\r\n }}\r\n />\r\n )}\r\n {EditModal && (\r\n \r\n )}\r\n {MODetail && }\r\n\r\n {!MODetail && !EditModal && !DeleteModal && !NewModal && (\r\n \r\n )}\r\n\r\n {DeleteModal && (\r\n {\r\n setDeleteModal(false);\r\n }}\r\n />\r\n )}\r\n\r\n {/* \r\n {({ history, match }) => (\r\n {\r\n history.push(\"/PalletsManagment\");\r\n }}\r\n />\r\n )}\r\n \r\n \r\n {({ history, match }) => (\r\n {\r\n history.push(\"/PalletsManagment\");\r\n }}\r\n />\r\n )}\r\n \r\n \r\n {({ history, match }) => (\r\n {\r\n history.push(\"/PalletsManagment\");\r\n }}\r\n />\r\n )}\r\n \r\n \r\n {({ history, match }) => (\r\n {\r\n history.push(\"/PalletsManagment\");\r\n }}\r\n />\r\n )}\r\n \r\n \r\n {({ history, match }) => (\r\n {\r\n history.push(\"/PalletsManagment\");\r\n }}\r\n />\r\n )}\r\n \r\n \r\n {({ history, match }) => (\r\n {\r\n history.push(\"/PalletsManagment\");\r\n }}\r\n />\r\n )}\r\n \r\n \r\n {({ history, match }) => (\r\n {\r\n history.push(\"/PalletsManagment\");\r\n }}\r\n />\r\n )}\r\n */}\r\n \r\n );\r\n}\r\n","import React, { useMemo, useState } from \"react\";\r\nimport { useRemarksUIContext } from \"./RemarksUIContext\";\r\nimport $ from \"jquery\";\r\nimport { Modal, Button } from \"react-bootstrap\";\r\nimport { isEqual } from \"lodash\";\r\nimport { Formik } from \"formik\";\r\nimport { Link } from \"react-router-dom\";\r\nconst prepareFilter = (queryParams, values) => {\r\n const { ReLoadTableCustomTrRm, search } = values;\r\n const newQueryParams = { ...queryParams };\r\n const filter = {};\r\n filter.ReLoadTableCustomTrRm = ReLoadTableCustomTrRm;\r\n filter.search = search;\r\n newQueryParams.filter = filter;\r\n return newQueryParams;\r\n};\r\n\r\nexport function RemarksFilter({ id }) {\r\n // Remarks UI Context\r\n const remarksUIContext = useRemarksUIContext();\r\n const [ModelShowingConfirmation, setModelShowingConfirmation] = useState(\r\n false\r\n );\r\n const remarksUIProps = useMemo(() => {\r\n return {\r\n setQueryParams: remarksUIContext.setQueryParams,\r\n openNewRemarkDialog: remarksUIContext.openNewRemarkDialog,\r\n queryParams: remarksUIContext.queryParams,\r\n };\r\n }, [remarksUIContext]);\r\n\r\n const applyFilter = (values) => {\r\n const newQueryParams = prepareFilter(remarksUIProps.queryParams, values);\r\n if (!isEqual(newQueryParams, remarksUIProps.queryParams)) {\r\n newQueryParams.pageNumber = 1;\r\n remarksUIProps.setQueryParams(newQueryParams);\r\n }\r\n };\r\n function checkIsIds(value1, value2) {\r\n if (\r\n value1 !== undefined &&\r\n value1 !== null &&\r\n value2 !== undefined && value2 !== null\r\n ) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n return (\r\n <>\r\n {\r\n if (values.ReLoadTableCustomTrRm === \"0\") {\r\n values.ReLoadTableCustomTrRm = 1;\r\n } else {\r\n values.ReLoadTableCustomTrRm = 0;\r\n }\r\n applyFilter(values);\r\n }}\r\n >\r\n {({ values, handleSubmit, setFieldValue }) => (\r\n
\r\n {\r\n setFieldValue(\"ReLoadTableCustomTrRm\", e.target.value);\r\n handleSubmit();\r\n }}\r\n />\r\n
\r\n
\r\n
\r\n \r\n {\r\n try {\r\n setFieldValue(\"search\", e.target.value);\r\n handleSubmit();\r\n } catch (err) {}\r\n }}\r\n />\r\n
\r\n
\r\n \r\n Import Items\r\n \r\n
\r\n
\r\n {\r\n document\r\n .getElementById(\"ReLoadTableCustomTrRmId\")\r\n .click();\r\n }}\r\n >\r\n Refresh\r\n \r\n
\r\n\r\n
\r\n {\r\n if (id) remarksUIProps.openNewRemarkDialog();\r\n if (!id) setModelShowingConfirmation(true);\r\n }}\r\n >\r\n New\r\n \r\n
\r\n
\r\n
\r\n \r\n )}\r\n \r\n \r\n \r\n Save Order Confirmation\r\n \r\n \r\n Before creating a new line item, you must save the order first
\r\n Click \"YES\" to save order\r\n
\r\n \r\n {\r\n setModelShowingConfirmation(false);\r\n }}\r\n >\r\n No\r\n \r\n\r\n {\r\n $(\"#AddContainerID\").click();\r\n setModelShowingConfirmation(false);\r\n setTimeout(() => {\r\n remarksUIProps.openNewRemarkDialog();\r\n }, 2000);\r\n }}\r\n >\r\n Yes\r\n \r\n \r\n \r\n \r\n );\r\n}\r\n","import axios from \"axios\";\r\n\r\nexport const REMARKS_URL = \"api/TransloadReceiving\";\r\n\r\n// CREATE => POST: add a new remark to the server\r\nexport function createRemark(remark) {\r\n return axios.post(REMARKS_URL, { remark });\r\n}\r\n\r\n// READ\r\n// Server should return filtered remarks by productId\r\nexport function getAllProductRemarksByProductId(productId) {\r\n return axios.get(`${REMARKS_URL}?productId=${productId}`);\r\n}\r\n\r\nexport function getRemarkById(remarkId) {\r\n return axios.get(`${REMARKS_URL}/${remarkId}`);\r\n}\r\n\r\n// Server should return sorted/filtered remarks and merge with items from state\r\n// TODO: Change your URL to REAL API, right now URL is 'api/remarksfind/{productId}'. Should be 'api/remarks/find/{productId}'!!!\r\nexport function findRemarks(queryParams, productId) {\r\n return axios.post(`${REMARKS_URL}find/${productId}`, { queryParams });\r\n}\r\n\r\n// UPDATE => PUT: update the remark\r\nexport function updateRemark(remark) {\r\n return axios.put(`${REMARKS_URL}/${remark.id}`, { remark });\r\n}\r\n\r\n// DELETE => delete the remark\r\nexport function deleteRemark(remarkId) {\r\n return axios.delete(`${REMARKS_URL}/${remarkId}`);\r\n}\r\n\r\n// DELETE Remarks by ids\r\nexport function deleteRemarks(ids) {\r\n return axios.post(`${REMARKS_URL}/deleteRemarks`, { ids });\r\n}\r\n","import * as requestFromServer from \"./remarksCrud\";\r\nimport {ReceivingsSlice, callTypes} from \"./remarksSlice\";\r\n\r\nconst {actions} = ReceivingsSlice;\r\n\r\nexport const fetchRemarks = (queryParams, productId) => dispatch => {\r\n dispatch(actions.startCall({ callType: callTypes.list }));\r\n if (!productId) {\r\n return dispatch(actions.remarksFetched({ totalCount: 0, entities: null }));\r\n }\r\n\r\n return requestFromServer\r\n .findRemarks(queryParams, productId)\r\n .then(response => {\r\n const { totalCount, entities } = response.data;\r\n dispatch(actions.remarksFetched({ totalCount, entities }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't find remarks\";\r\n dispatch(actions.catchError({ error, callType: callTypes.list }));\r\n });\r\n};\r\n\r\nexport const fetchRemark = id => dispatch => {\r\n if (!id) {\r\n return dispatch(actions.remarkFetched({ remarkForEdit: undefined }));\r\n }\r\n\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .getRemarkById(id)\r\n .then(response => {\r\n const remark = response.data;\r\n dispatch(actions.remarkFetched({ remarkForEdit: remark }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't find remark\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const deleteRemark = id => dispatch => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .deleteRemark(id)\r\n .then(response => {\r\n dispatch(actions.remarkDeleted({ id }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't delete remark\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const createRemark = remarkForCreation => dispatch => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .createRemark(remarkForCreation)\r\n .then(response => {\r\n const { remark } = response.data;\r\n dispatch(actions.remarkCreated({ remark }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't create remark\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const updateRemark = remark => dispatch => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .updateRemark(remark)\r\n .then(() => {\r\n dispatch(actions.remarkUpdated({ remark }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't update remark\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const deleteRemarks = ids => dispatch => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .deleteRemarks(ids)\r\n .then(() => {\r\n console.log(\"delete return\");\r\n dispatch(actions.remarksDeleted({ ids }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't delete remarks\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n","import React from \"react\";\r\nimport { OverlayTrigger, Tooltip } from \"react-bootstrap\";\r\nimport SVG from \"react-inlinesvg\";\r\nimport Swal from \"sweetalert2\";\r\nimport { toAbsoluteUrl } from \"../../../../../../../../_metronic/_helpers\";\r\nimport { Notification } from \"../../../../../../Notification\";\r\n\r\nexport const ActionsColumnFormatter = (\r\n cellContent,\r\n row,\r\n rowIndex,\r\n { openEditRemarkDialog, openDeleteRemarkDialog, AcceptRejeted }\r\n) => (\r\n <>\r\n \r\n Edit item\r\n {/* {window.$ReceiptsManagmentStatu === 23 ||\r\n window.$statusIdIsClosed === 23\r\n ? \"This PO is Closed.\"\r\n : \"Edit item\"} */}\r\n \r\n }\r\n >\r\n {\r\n try {\r\n // if (\r\n // window.$ReceiptsManagmentStatu === 23 ||\r\n // window.$statusIdIsClosed === 23\r\n // ) {\r\n // Notification(\"error\", \"This PO is Closed.\");\r\n // return false;\r\n // } else {\r\n openEditRemarkDialog(row.id);\r\n // }\r\n } catch (err) {}\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n\r\n <> \r\n Delete item\r\n }\r\n >\r\n openDeleteRemarkDialog(row.id)}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n {\r\n row.ChangedModeServiceLevel === true && (\r\n <>\r\n Accept Requested Mode/Service Level\r\n }\r\n >\r\n {\r\n Swal.fire({\r\n title: 'Are you sure?',\r\n text: \"You want to accept customer mode/service level\",\r\n icon: 'warning',\r\n showCancelButton: true,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#d33',\r\n confirmButtonText: 'Yes, accept it!'\r\n }).then((result) => {\r\n if (result.isConfirmed) {\r\n AcceptRejeted(row.ReceiptId,true,row.PurchaseOrder);\r\n }\r\n })\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n Reject Requested Mode/Service Level\r\n }\r\n >\r\n {\r\n Swal.fire({\r\n title: 'Are you sure?',\r\n text: \"You want to reject customer mode/service level\",\r\n icon: 'warning',\r\n showCancelButton: true,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#d33',\r\n confirmButtonText: 'Yes, reject it!'\r\n }).then((result) => {\r\n if (result.isConfirmed) {\r\n AcceptRejeted(row.ReceiptId,false,row.PurchaseOrder);\r\n }\r\n })\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n }\r\n \r\n);\r\n","import moment from \"moment\";\r\nimport React, { useEffect, useMemo } from \"react\";\r\nimport { OverlayTrigger, Tooltip } from \"react-bootstrap\";\r\nimport BootstrapTable from \"react-bootstrap-table-next\";\r\nimport paginationFactory from \"react-bootstrap-table2-paginator\";\r\nimport SVG from \"react-inlinesvg\";\r\nimport { shallowEqual, useDispatch, useSelector } from \"react-redux\";\r\nimport {\r\n sortCaret, toAbsoluteUrl\r\n} from \"../../../../../../../_metronic/_helpers\";\r\nimport \"./Style.css\";\r\nimport {\r\n momentDate, momentDateOnly\r\n} from \"../../../../../../../_metronic/_helpers/ATHelpers\";\r\nimport * as actions from \"../../../../_redux/Transload/TransloadReceiving/remarksActions\";\r\nimport { ActionsColumnFormatter } from \"./column-formatters/ActionsColumnFormatter\";\r\nimport { useRemarksUIContext } from \"./RemarksUIContext\";\r\nimport low from \"lowdb\";\r\nimport LocalStorage from \"lowdb/adapters/LocalStorage\";\r\nimport { Notification } from \"../../../../../Notification\";\r\n\r\nconst adapter = new LocalStorage(\"db\");\r\nconst db = low(adapter);\r\n\r\nexport function RemarksTable() {\r\n // Remarks UI Context\r\n const remarksUIContext = useRemarksUIContext();\r\n const remarksUIProps = useMemo(() => {\r\n return {\r\n ids: remarksUIContext.ids,\r\n setIds: remarksUIContext.setIds,\r\n queryParams: remarksUIContext.queryParams,\r\n setQueryParams: remarksUIContext.setQueryParams,\r\n productId: remarksUIContext.productId,\r\n openEditRemarkDialog: remarksUIContext.openEditRemarkDialog,\r\n openDeleteRemarkDialog: remarksUIContext.openDeleteRemarkDialog,\r\n };\r\n }, [remarksUIContext]);\r\n\r\n var getDate = function(d) {\r\n if (d === null || d === \"\" || d === undefined) return \"\";\r\n var format = \"MM/DD/YYYY, hh:mm A\";\r\n if (\r\n moment(d)\r\n .startOf(\"day\")\r\n .valueOf() === moment(d).valueOf()\r\n ) {\r\n format = \"MM/DD/YYYY\";\r\n }\r\n return moment(d).format(format);\r\n };\r\n\r\n // Getting curret state of products list from store (Redux)\r\n const { currentState } = useSelector(\r\n (state) => ({ currentState: state.Receiving }),\r\n shallowEqual\r\n );\r\n const { totalCount, entities, listLoading } = currentState;\r\n const dispatch = useDispatch();\r\n useEffect(() => {\r\n remarksUIProps.setIds([]);\r\n dispatch(\r\n actions.fetchRemarks(remarksUIProps.queryParams, remarksUIProps.productId)\r\n );\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [remarksUIProps.queryParams, dispatch, remarksUIProps.productId]);\r\n\r\n\r\n const AcceptRejeted = (Id,Accept,POs) => {\r\n const values = {\r\n \"Id\": Id,\r\n \"Accept\": Accept,\r\n \"POs\": [POs],\r\n }\r\n fetch(window.$apiurl + `/receiptsManagement/acceptRejectModeServiceLevel`, {\r\n method: \"PUT\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n },\r\n Allow: \"PUT\",\r\n body: JSON.stringify(values),\r\n })\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n const contentType = response.headers.get(\"content-type\");\r\n if (contentType && contentType.indexOf(\"application/json\") !== -1) {\r\n return response.json().then((data) => [statusCode, data]);\r\n } else {\r\n return response.text().then((data) => [statusCode, data]);\r\n }\r\n })\r\n .then((data) => {\r\n if (data[0] === 200) {\r\n Notification(\"success\", \"Successfully Updated\");\r\n dispatch(\r\n actions.fetchRemarks(remarksUIProps.queryParams, remarksUIProps.productId)\r\n );\r\n }\r\n else if (data[0] === 400 && data[1].Message) {\r\n Notification(\"error\", data[1].Message);\r\n }\r\n else {\r\n Notification(\"error\", \"Something went wrong\");\r\n }\r\n })\r\n .catch((error) => {\r\n console.log(error);\r\n });\r\n };\r\n const columns = [\r\n {\r\n dataField: \"id\",\r\n text: \"Ln\",\r\n sort: true,\r\n formatter: (cell, row) => {\r\n return row?.IsRtvConfirmed === true ? (\r\n RTV}\r\n >\r\n false} className={`btn btn-light-danger px-2 py-1 mt-3 ml-1`}>\r\n {row.id}\r\n \r\n \r\n ) : (\r\n row.id\r\n );\r\n },\r\n sortCaret: sortCaret,\r\n },\r\n {\r\n dataField: \"PurchaseOrder\",\r\n text: \"P.O.\",\r\n sort: true,\r\n },\r\n {\r\n dataField: \"Upc\",\r\n text: \"Upc\",\r\n sort: true,\r\n },\r\n {\r\n dataField: \"Sku\",\r\n text: \"SkU\",\r\n sort: false,\r\n },\r\n {\r\n dataField: \"Pieces\",\r\n text: \"Case pack\",\r\n sort: true,\r\n },\r\n {\r\n dataField: \"UnitCount\",\r\n text: \"Unit Count\",\r\n sort: false,\r\n },\r\n {\r\n dataField: \"Color\",\r\n text: \"Color\",\r\n hidden: window.$ItemsCusId === 2271 ? false : true,\r\n sort: false,\r\n },\r\n {\r\n dataField: \"Size\",\r\n text: \"Size\",\r\n hidden: window.$ItemsCusId === 2271 ? false : true,\r\n sort: false,\r\n },\r\n {\r\n dataField: \"ProductType\",\r\n text: \"ProductType\",\r\n hidden: window.$ItemsCusId === 2271 ? false : true,\r\n sort: false,\r\n },\r\n {\r\n dataField: \"ReceivedQuantity\",\r\n text: \"Cartons Count\",\r\n hidden: window.$ItemsCusId === 2271 ? false : true,\r\n sort: false,\r\n },\r\n {\r\n dataField: \"PiecesField\",\r\n text: \"Pieces\",\r\n sort: false,\r\n formatter: (cell, row) => {\r\n return <>{row?.UnitCount * row?.Pieces};\r\n },\r\n },\r\n {\r\n dataField: \"UnitOfMeasure\",\r\n text: \"UOM\",\r\n sort: false,\r\n },\r\n {\r\n dataField: \"Pallets\",\r\n text: \"Pallets \",\r\n sort: false,\r\n },\r\n {\r\n dataField: \"Description\",\r\n text: \"Description\",\r\n sort: true,\r\n },\r\n {\r\n dataField: \"Destination\",\r\n text: \"DC Location\",\r\n sort: true,\r\n },\r\n {\r\n dataField: \"Weight\",\r\n text: \"Weight\",\r\n sort: false,\r\n formatter: (cell, row) => {\r\n return <>{row?.Weight?.toFixed(2)};\r\n },\r\n },\r\n {\r\n dataField: \"WeightType\",\r\n text: \"Type\",\r\n sort: false,\r\n },\r\n {\r\n dataField: \"Cube\",\r\n text: \"Cube\",\r\n sort: true,\r\n formatter: (cell, row) => {\r\n return <>{row?.Cube?.toFixed(2)};\r\n },\r\n },\r\n {\r\n dataField: \"CubeType\",\r\n text: \"Type\",\r\n sort: false,\r\n },\r\n {\r\n dataField: \"Shipped\",\r\n text: \"Shipped\",\r\n sort: false,\r\n },\r\n {\r\n dataField: \"OverQuantity\",\r\n text: \"Ovr\",\r\n sort: false,\r\n },\r\n {\r\n dataField: \"ShortQuantity\",\r\n text: \"Shrt\",\r\n sort: false,\r\n },\r\n {\r\n dataField: \"AstrayQuantity\",\r\n text: \"Astray\",\r\n sort: false,\r\n },\r\n {\r\n dataField: \"ReceivedDate\",\r\n text: \"Received Date\",\r\n sort: false,\r\n formatter: (cell, row) => {\r\n return <>{momentDateOnly(row.ReceivedDate)};\r\n },\r\n },\r\n {\r\n dataField: \"ProcessedDate\",\r\n text: \"Processed Date\",\r\n sort: false,\r\n formatter: (cell, row) => {\r\n return <>{momentDateOnly(row.ProcessedDate)};\r\n },\r\n },\r\n {\r\n dataField: \"PoEta\",\r\n text: \"Po Eta\",\r\n sort: false,\r\n },\r\n {\r\n dataField: \"BuyerId\",\r\n text: \"Buyer Id\",\r\n sort: false,\r\n },\r\n {\r\n dataField: \"Department\",\r\n text: \"Department\",\r\n sort: false,\r\n },\r\n {\r\n dataField: \"PoEta\",\r\n text: \"Delivery ETA\",\r\n sort: false,\r\n },\r\n {\r\n dataField: \"PoExpectedDate\",\r\n text: \"RDD\",\r\n sort: false,\r\n formatter: (cell, row) => {\r\n return (\r\n <>\r\n \r\n {momentDate(getDate(row?.PoExpectedDate))}\r\n \r\n \r\n );\r\n },\r\n },\r\n {\r\n dataField: \"ModeName\",\r\n text: \"Mode\",\r\n sort: false,\r\n },\r\n {\r\n dataField: \"ServiceLevelName\",\r\n text: \"Service Level\",\r\n sort: false,\r\n },\r\n {\r\n dataField: \"RequiredModeName\",\r\n text: \"Requested Mode\",\r\n sort: false,\r\n },\r\n {\r\n dataField: \"RequiredServiceLevelName\",\r\n text: \"Requested Service Level\",\r\n sort: false,\r\n },\r\n {\r\n dataField: \"ThirdPartyQuantity\",\r\n text: \"DropShip Quantity\",\r\n sort: false,\r\n },\r\n {\r\n dataField: \"ThirdPartyName\",\r\n text: \"DropShip Name\",\r\n sort: false,\r\n },\r\n {\r\n dataField: \"ReferenceNumber\",\r\n text: \"Reference N.\",\r\n sort: false,\r\n },\r\n {\r\n dataField: \"IsHot\",\r\n text: \"ALERTS\",\r\n sort: true,\r\n formatter: (cell, row) => {\r\n return (\r\n <>\r\n {row.IsHot && (\r\n Hot}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n )}\r\n {row.IsHazardousMateriel && (\r\n \r\n Item contains Hazardous materials\r\n \r\n }\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n )}\r\n \r\n );\r\n },\r\n },\r\n {\r\n dataField: \"DamagedQuantity\",\r\n text: \"Dmg\",\r\n sort: false,\r\n },\r\n {\r\n dataField: \"action\",\r\n text: \"Actions\",\r\n formatter: ActionsColumnFormatter,\r\n formatExtraData: {\r\n openEditRemarkDialog: remarksUIProps.openEditRemarkDialog,\r\n openDeleteRemarkDialog: remarksUIProps.openDeleteRemarkDialog,\r\n AcceptRejeted : AcceptRejeted,\r\n },\r\n classes: \"text-center pr-0\",\r\n headerClasses: \"text-center pr-3\",\r\n style: {\r\n minWidth: \"100px\",\r\n },\r\n },\r\n ];\r\n try {\r\n const pageDropDownSelect = document.getElementById(\"pageDropDown\");\r\n if (pageDropDownSelect) {\r\n pageDropDownSelect.onclick = function() {\r\n return false;\r\n };\r\n }\r\n } catch (err) {}\r\n return (\r\n <>\r\n \r\n \r\n );\r\n}\r\n","import React, { useEffect } from \"react\";\r\nimport { shallowEqual, useSelector } from \"react-redux\";\r\nimport { LoadingDialog } from \"../../../../../../../_metronic/_partials/controls\";\r\n\r\nexport function RemarksLoadingDialog() {\r\n const { isLoading } = useSelector(\r\n (state) => ({ isLoading: state.Receiving.listLoading }),\r\n shallowEqual\r\n );\r\n useEffect(() => {}, [isLoading]);\r\n return <>;\r\n return ;\r\n}\r\n","/* eslint-disable no-restricted-imports */\r\nimport React, { useEffect, useMemo } from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { shallowEqual, useDispatch, useSelector } from \"react-redux\";\r\nimport { ModalProgressBar } from \"../../../../../../../_metronic/_partials/controls\";\r\nimport * as actions from \"../../../../_redux/remarks/remarksActions\";\r\nimport { useRemarksUIContext } from \"./RemarksUIContext\";\r\n\r\nexport function RemarksDeleteDialog() {\r\n // Remarks UI Context\r\n const remarksUIContext = useRemarksUIContext();\r\n const remarksUIProps = useMemo(() => {\r\n return {\r\n ids: remarksUIContext.ids,\r\n setIds: remarksUIContext.setIds,\r\n productId: remarksUIContext.productId,\r\n queryParams: remarksUIContext.queryParams,\r\n showDeleteRemarksDialog: remarksUIContext.showDeleteRemarksDialog,\r\n closeDeleteRemarksDialog: remarksUIContext.closeDeleteRemarksDialog,\r\n };\r\n }, [remarksUIContext]);\r\n\r\n const dispatch = useDispatch();\r\n const { isLoading } = useSelector(\r\n (state) => ({ isLoading: state.Receiving.actionsLoading }),\r\n shallowEqual\r\n );\r\n\r\n useEffect(() => {}, [isLoading, dispatch]);\r\n useEffect(() => {\r\n if (!remarksUIProps.ids || remarksUIProps.ids.length === 0) {\r\n remarksUIProps.closeDeleteRemarksDialog();\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [remarksUIProps.ids]);\r\n\r\n const deleteRemarks = () => {\r\n dispatch(actions.deleteRemarks(remarksUIProps.ids)).then(() => {\r\n dispatch(\r\n actions.fetchRemarks(\r\n remarksUIProps.queryParams,\r\n remarksUIProps.productId\r\n )\r\n ).then(() => {\r\n remarksUIProps.setIds([]);\r\n remarksUIProps.closeDeleteRemarksDialog();\r\n });\r\n });\r\n };\r\n\r\n return (\r\n \r\n {isLoading && }\r\n \r\n \r\n Remarks Delete\r\n \r\n \r\n \r\n {!isLoading && (\r\n Are you sure to permanently delete selected remarks?\r\n )}\r\n {isLoading && Remarks are deleting...}\r\n \r\n \r\n
\r\n \r\n Cancel\r\n \r\n <> \r\n \r\n Delete\r\n \r\n
\r\n
\r\n \r\n );\r\n}\r\n","/* eslint-disable no-restricted-imports */\r\nimport React, { useEffect, useMemo } from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { shallowEqual, useDispatch, useSelector } from \"react-redux\";\r\nimport { ModalProgressBar } from \"../../../../../../../_metronic/_partials/controls\";\r\nimport * as actions from \"../../../../_redux/Transload/TransloadReceiving/remarksActions\";\r\nimport { useRemarksUIContext } from \"./RemarksUIContext\";\r\n\r\nexport function RemarkDeleteDialog() {\r\n // Remarks UI Context\r\n const remarksUIContext = useRemarksUIContext();\r\n const remarksUIProps = useMemo(() => {\r\n return {\r\n id: remarksUIContext.selectedId,\r\n setIds: remarksUIContext.setIds,\r\n productId: remarksUIContext.productId,\r\n queryParams: remarksUIContext.queryParams,\r\n showDeleteRemarkDialog: remarksUIContext.showDeleteRemarkDialog,\r\n closeDeleteRemarkDialog: remarksUIContext.closeDeleteRemarkDialog,\r\n };\r\n }, [remarksUIContext]);\r\n\r\n // Remarks Redux state\r\n const dispatch = useDispatch();\r\n const { isLoading } = useSelector(\r\n (state) => ({ isLoading: state.Receiving.actionsLoading }),\r\n shallowEqual\r\n );\r\n\r\n // if !id we should close modal\r\n useEffect(() => {\r\n if (!remarksUIProps.id) {\r\n remarksUIProps.closeDeleteRemarkDialog();\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [remarksUIProps.id]);\r\n\r\n // looking for loading/dispatch\r\n useEffect(() => {}, [isLoading, dispatch]);\r\n\r\n const deleteRemark = () => {\r\n // server request for deleting remark by id\r\n dispatch(actions.deleteRemark(remarksUIProps.id)).then(() => {\r\n // refresh list after deletion\r\n dispatch(\r\n actions.fetchRemarks(\r\n remarksUIProps.queryParams,\r\n remarksUIProps.productId\r\n )\r\n );\r\n // clear selections list\r\n remarksUIProps.setIds([]);\r\n // closing delete modal\r\n remarksUIProps.closeDeleteRemarkDialog();\r\n });\r\n };\r\n\r\n return (\r\n \r\n {isLoading && }\r\n \r\n \r\n Receipt Delete\r\n \r\n \r\n \r\n {!isLoading && (\r\n Are you sure to permanently delete this Receipt?\r\n )}\r\n {isLoading && Receipt is deleting...}\r\n \r\n \r\n
\r\n \r\n Cancel\r\n \r\n <> \r\n \r\n Delete\r\n \r\n
\r\n
\r\n \r\n );\r\n}\r\n","import React, { useEffect, useMemo } from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { shallowEqual, useSelector } from \"react-redux\";\r\nimport { useRemarksUIContext } from \"./RemarksUIContext\";\r\n\r\nconst selectedRemarks = (entities, ids) => {\r\n const _remarks = [];\r\n ids.forEach((id) => {\r\n const remark = entities.find((el) => el.id === id);\r\n if (remark) {\r\n _remarks.push(remark);\r\n }\r\n });\r\n return _remarks;\r\n};\r\n\r\nexport function RemarksFetchDialog() {\r\n // Remarks UI Context\r\n const remarksUIContext = useRemarksUIContext();\r\n const remarksUIProps = useMemo(() => {\r\n return {\r\n ids: remarksUIContext.ids,\r\n queryParams: remarksUIContext.queryParams,\r\n showFetchRemarksDialog: remarksUIContext.showFetchRemarksDialog,\r\n closeFetchRemarksDialog: remarksUIContext.closeFetchRemarksDialog,\r\n };\r\n }, [remarksUIContext]);\r\n\r\n const { remarks } = useSelector(\r\n (state) => ({\r\n remarks: selectedRemarks(state.Receiving.entities, remarksUIProps.ids),\r\n }),\r\n shallowEqual\r\n );\r\n\r\n useEffect(() => {\r\n if (!remarksUIProps.ids || remarksUIProps.ids.length === 0) {\r\n remarksUIProps.closeFetchRemarksDialog();\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [remarksUIProps.ids]);\r\n\r\n return (\r\n \r\n \r\n \r\n Fetch selected elements\r\n \r\n \r\n \r\n
\r\n
\r\n {remarks.map((remark) => (\r\n
\r\n \r\n \r\n ID: {remark.id}\r\n {\" \"}\r\n {remark.text} \r\n \r\n
\r\n ))}\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n Cancel\r\n \r\n <> \r\n \r\n Ok\r\n \r\n
\r\n
\r\n \r\n );\r\n}\r\n","/* eslint-disable no-restricted-imports */\r\nimport React, { useState, useEffect } from \"react\";\r\nimport { shallowEqual, useSelector } from \"react-redux\";\r\nimport CloseIcon from \"@material-ui/icons/Close\";\r\nimport IconButton from \"@material-ui/core/IconButton\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { ModalProgressBar } from \"../../../../../../../../_metronic/_partials/controls\";\r\n\r\nexport function RemarkEditDialogHeader({ id, onHide }) {\r\n const [title, setTitle] = useState(\"\");\r\n // Remarks Redux state\r\n const { remarkForEdit, actionsLoading } = useSelector(\r\n (state) => ({\r\n remarkForEdit: state.Receiving.remarkForEdit,\r\n actionsLoading: state.Receiving.actionsLoading,\r\n }),\r\n shallowEqual\r\n );\r\n\r\n useEffect(() => {\r\n let _title = id ? \"\" : \"New Receipt Item\";\r\n if (remarkForEdit && id) {\r\n _title = \"Edit Receipt Item #: \" + id;\r\n }\r\n\r\n setTitle(_title);\r\n // eslint-disable-next-line\r\n }, [remarkForEdit, actionsLoading]);\r\n\r\n return (\r\n <>\r\n {actionsLoading && }\r\n \r\n {title}\r\n {\r\n try {\r\n onHide(false);\r\n } catch (error) {}\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n );\r\n}\r\n","import React, { useEffect, useMemo } from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { shallowEqual, useDispatch, useSelector } from \"react-redux\";\r\nimport * as actions from \"../../../../../_redux/Transload/TransloadReceiving/remarksActions\";\r\nimport { RemarkEditDialogHeader } from \"./RemarkEditDialogHeader\";\r\nimport { RemarkEditForm } from \"./RemarkEditForm\";\r\nimport { useRemarksUIContext } from \"../RemarksUIContext\";\r\nimport { AutoRatingClick } from \"../../product-Containers/remark-edit-dialog/ChargesFunction\";\r\n\r\nexport function RemarkEditDialog(onHide) {\r\n // Remarks UI Context\r\n const remarksUIContext = useRemarksUIContext();\r\n const remarksUIProps = useMemo(() => {\r\n return {\r\n id: remarksUIContext.selectedId,\r\n setIds: remarksUIContext.setIds,\r\n productId: remarksUIContext.productId,\r\n queryParams: remarksUIContext.queryParams,\r\n showEditRemarkDialog: remarksUIContext.showEditRemarkDialog,\r\n closeEditRemarkDialog: remarksUIContext.closeEditRemarkDialog,\r\n initRemark: remarksUIContext.initRemark,\r\n openNewRemarkDialog: remarksUIContext.openNewRemarkDialog,\r\n };\r\n }, [remarksUIContext]);\r\n\r\n // Remarks Redux state\r\n const dispatch = useDispatch();\r\n const { actionsLoading, remarkForEdit } = useSelector(\r\n (state) => ({\r\n actionsLoading: state.Receiving.actionsLoading,\r\n remarkForEdit: state.Receiving.remarkForEdit,\r\n }),\r\n shallowEqual\r\n );\r\n\r\n useEffect(() => {\r\n // server request for getting remark by seleted id\r\n dispatch(actions.fetchRemark(remarksUIProps.id));\r\n }, [remarksUIProps.id, dispatch]);\r\n\r\n function openNewRemarkDialog() {\r\n if (window.$NewItemSaveClose === true)\r\n setTimeout(() => {\r\n remarksUIProps.openNewRemarkDialog();\r\n window.$NewItemSaveClose = undefined;\r\n }, 200);\r\n }\r\n\r\n const saveRemark = (remark) => {\r\n if (!remarksUIProps.id) {\r\n // server request for creating remarks\r\n dispatch(actions.createRemark(remark)).then(() => {\r\n // refresh list after deletion\r\n dispatch(\r\n actions.fetchRemarks(\r\n remarksUIProps.queryParams,\r\n remarksUIProps.productId\r\n )\r\n ).then(() => {\r\n // clear selections list\r\n remarksUIProps.setIds([]);\r\n // closing edit modal\r\n remarksUIProps.closeEditRemarkDialog();\r\n openNewRemarkDialog();\r\n // remarksUIProps.closeEditRemarkDialog();\r\n });\r\n });\r\n } else {\r\n // server request for updating remarks\r\n dispatch(actions.updateRemark(remark)).then(() => {\r\n // refresh list after deletion\r\n dispatch(\r\n // refresh list after deletion\r\n actions.fetchRemarks(\r\n remarksUIProps.queryParams,\r\n remarksUIProps.productId\r\n )\r\n ).then(() => {\r\n // clear selections list\r\n remarksUIProps.setIds([]);\r\n // closing edit modal\r\n openNewRemarkDialog();\r\n remarksUIProps.closeEditRemarkDialog();\r\n\r\n AutoRatingClick(\"percarton,percube,perweight,perweightlbs\");\r\n });\r\n });\r\n }\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n}\r\n","import React, { useMemo } from \"react\";\r\nimport { RemarksFilter } from \"./RemarksFilter\";\r\nimport { RemarksTable } from \"./RemarksTable\";\r\nimport { RemarksLoadingDialog } from \"./RemarksLoadingDialog\";\r\nimport { RemarksDeleteDialog } from \"./RemarksDeleteDialog\";\r\nimport { RemarkDeleteDialog } from \"./RemarkDeleteDialog\";\r\nimport { RemarksFetchDialog } from \"./RemarksFetchDialog\";\r\nimport { RemarkEditDialog } from \"./remark-edit-dialog/RemarkEditDialog\";\r\nimport { useRemarksUIContext } from \"./RemarksUIContext\";\r\n\r\nexport function Receiving({ id }) {\r\n // Remarks UI Context\r\n const remarksUIContext = useRemarksUIContext();\r\n const remarksUIProps = useMemo(() => {\r\n return { ids: remarksUIContext.ids };\r\n }, [remarksUIContext]);\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n );\r\n}\r\n","import { IconButton } from \"@material-ui/core\";\r\nimport React, { useEffect, useState, Fragment } from \"react\";\r\nimport { Modal, Spinner } from \"react-bootstrap\";\r\nimport CloseIcon from \"@material-ui/icons/Close\";\r\nimport CreatableSelect from \"react-select/creatable\";\r\nimport {\r\n CheckboxLarge,\r\n Input,\r\n} from \"../../../../../../_metronic/_partials/controls\";\r\nimport { CKEditor } from \"@ckeditor/ckeditor5-react\";\r\nimport ClassicEditor from \"@ckeditor/ckeditor5-build-classic\";\r\nimport low from \"lowdb\";\r\nimport LocalStorage from \"lowdb/adapters/LocalStorage\";\r\nimport { NotificationContainer } from \"react-notifications\";\r\nimport { Notification } from \"../../../../Notification\";\r\nconst adapter = new LocalStorage(\"db\");\r\nconst db = low(adapter);\r\n\r\nexport const SendEmail = ({\r\n row,\r\n showModalSend,\r\n setshowModalSend,\r\n IsMultu,\r\n GetWarehousDataPageChanges,\r\n paginationOptions,\r\n}) => {\r\n const [EmailAddressList, setEmailAddressList] = useState([]);\r\n const [ToDataDefeault, setToDataDefeault] = useState([]);\r\n const [includBol, setincludBol] = useState(true);\r\n const [ToData, setToData] = useState(null);\r\n const [includOutboundDispatch, setincludOutboundDispatch] = useState(true);\r\n const [includShipmentManifest, setincludShipmentManifest] = useState(false);\r\n const [AttachmentData, setAttachmentData] = useState([]);\r\n const [AttachementList, setAttachementList] = useState(null);\r\n const [AccessLevels, setAccessLevels] = useState([]);\r\n const [AttachmentTypes, setAttachmentTypes] = useState([]);\r\n const [isLoadingSubmit, setisLoadingSubmit] = useState(false);\r\n const [BodyData, setBodyData] = useState(\r\n `

Hello,

Attached are the BOL file for the following shipment.

Shipment# {${\r\n IsMultu === true ? row.join(\", \") : row.Id\r\n }}

Thanks

Mitco team

`\r\n );\r\n const [SubjectData, setSubjectData] = useState(\r\n `Mitco Shipment ID: ${IsMultu === true ? row.join(\", \") : row.Id} `\r\n );\r\n const [includCCData, setincludCCData] = useState(false);\r\n const [isLoadingSend, setisLoadingSend] = useState(false);\r\n\r\n useEffect(() => {\r\n var myHeaders = new Headers();\r\n myHeaders.append(\"Authorization\", `bearer ${db.read().getState().Token}`);\r\n myHeaders.append(\"Content-Type\", \"application/json\");\r\n myHeaders.append(\"X-FP-API-KEY\", \"iphone\");\r\n var requestOptions = {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: myHeaders,\r\n redirect: \"follow\",\r\n };\r\n fetch(\r\n `${window.$apiurl}/shipments/getsendemail/${\r\n IsMultu === true ? row[0] : row.Id\r\n }`,\r\n requestOptions\r\n )\r\n .then((response) => response.text())\r\n .then((result) => {\r\n const resultobj = JSON.parse(result);\r\n var obj = [];\r\n var obj2 = [];\r\n setAttachementList(resultobj.Attachments);\r\n resultobj.Emails.map((item) => {\r\n obj.push({ value: item.Email, label: item.Email });\r\n obj2.push({ Email: item.Email, Name: item.Email });\r\n return null;\r\n });\r\n setToDataDefeault(obj);\r\n setToData(obj2);\r\n setEmailAddressList(obj);\r\n })\r\n .catch((error) => console.log(\"error\", error));\r\n\r\n fetch(window.$apiurl + \"/carriers/transport/getviewmodel\", {\r\n method: \"get\",\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n Accept: \"application/json, text/plain, */*\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then((response) => response.text())\r\n .then((result) => {\r\n const objs = JSON.parse(result);\r\n setAccessLevels(objs.AccessLevels);\r\n setAttachmentTypes(objs.AttachmentTypes);\r\n })\r\n .catch((error) => console.log(\"error\", error));\r\n }, []);\r\n\r\n const SendEmailfunctions = async () => {\r\n if (ToData === null) {\r\n Notification(\"error\", \"Please fill email Info\");\r\n return;\r\n }\r\n // server request for deleting product by id\r\n setisLoadingSend(true);\r\n var data = {};\r\n data = {\r\n Ids: IsMultu === true ? row : [row.id],\r\n Emails: ToData,\r\n Subject: SubjectData,\r\n Body: BodyData,\r\n IncludeCc: includCCData,\r\n Attachments: AttachmentData,\r\n Bol: includBol,\r\n OutboundDispatch: includOutboundDispatch,\r\n ShipmentManifest: includShipmentManifest,\r\n };\r\n\r\n var raw = JSON.stringify(data);\r\n var requestOptions = {\r\n method: \"POST\",\r\n body: raw,\r\n redirect: \"follow\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n };\r\n var url = \"\";\r\n url = \"/shipmentsmanagement/sendMultiEmail\";\r\n\r\n let response = await fetch(`${window.$apiurl}${url}`, requestOptions);\r\n if (response.status === 200) {\r\n Notification(\r\n \"success\",\r\n `Email sent successfully for Shipment ID ${row.Id}`\r\n );\r\n if (GetWarehousDataPageChanges) {\r\n GetWarehousDataPageChanges(paginationOptions);\r\n }\r\n\r\n setToData(null);\r\n setToDataDefeault(null);\r\n setSubjectData(null);\r\n setBodyData(\"\");\r\n setincludCCData(false);\r\n setincludBol(false);\r\n } else {\r\n Notification(\"error\", \"invalid data\");\r\n if (GetWarehousDataPageChanges) {\r\n GetWarehousDataPageChanges(paginationOptions);\r\n }\r\n\r\n }\r\n setisLoadingSend(false);\r\n setshowModalSend(false);\r\n };\r\n function NextStatus(id, statusId) {\r\n var myHeaders = new Headers();\r\n myHeaders.append(\"Authorization\", `bearer ${db.read().getState().Token}`);\r\n myHeaders.append(\"Content-Type\", \"application/json\");\r\n\r\n var raw = JSON.stringify({\r\n ShipmentIds: [id],\r\n ShipmentStatus: statusId,\r\n });\r\n\r\n var requestOptions = {\r\n method: \"POST\",\r\n headers: myHeaders,\r\n body: raw,\r\n redirect: \"follow\",\r\n };\r\n\r\n fetch(\r\n `${window.$apiurl}/warehouseManagement/UpdateMultipleStatus`,\r\n requestOptions\r\n )\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n const contentType = response.headers.get(\"content-type\");\r\n if (contentType && contentType.indexOf(\"application/json\") !== -1) {\r\n return response.json().then((data) => [statusCode, data]);\r\n } else {\r\n return response.text().then((text) => [statusCode, { Message: \"\" }]);\r\n }\r\n })\r\n .then((result) => {\r\n if (result[0] === 200) {\r\n if (\r\n result[1].Message !== null &&\r\n result[1].Message !== undefined &&\r\n result[1].Message !== \"\"\r\n ) {\r\n Notification(\"infoClick\", result[1].Message);\r\n SendEmailfunctions();\r\n } else {\r\n SendEmailfunctions();\r\n }\r\n } else {\r\n if (\r\n result[1].ModelState !== null &&\r\n result[1].ModelState !== undefined &&\r\n result[1].ModelState !== \"\"\r\n ) {\r\n let modelState = result[1].ModelState;\r\n if (modelState)\r\n Object.keys(modelState).forEach(function(k) {\r\n modelState[k].forEach((element) => {\r\n Notification(\"errorClick\", element);\r\n });\r\n });\r\n } else if (\r\n result[1].Message !== null &&\r\n result[1].Message !== undefined &&\r\n result[1].Message !== \"\"\r\n ) {\r\n Notification(\"errorClick\", result[1].Message);\r\n } else {\r\n Notification(\"errorClick\", \"Bad Request\");\r\n }\r\n }\r\n })\r\n .catch((error) => {\r\n console.log(\"error\", error);\r\n });\r\n }\r\n async function SaveShipementAattachement(id) {\r\n if (\r\n document.getElementById(\"shipmentAttachmentList\").files[0] === undefined\r\n ) {\r\n Notification(\"error\", \"Please select Attachment\");\r\n return;\r\n }\r\n setisLoadingSubmit(true);\r\n var formdata = new FormData();\r\n const inputElement = document.getElementById(\"shipmentAttachmentList\");\r\n const AccessLevelId = document.getElementById(\"shipmentAccessLevelIdList\")\r\n .value;\r\n const AttachmentTypeId = document.getElementById(\r\n \"shipmentAttachmentTypeIdList\"\r\n ).value;\r\n formdata.append(\r\n \"File\",\r\n inputElement.files[0],\r\n inputElement.value.split(\"\\\\\")[2]\r\n );\r\n var requestOptions = {\r\n method: \"POST\",\r\n body: formdata,\r\n redirect: \"follow\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n },\r\n };\r\n let response = await fetch(\r\n window.$apiurl +\r\n `/transload/shipments/addattachment?shipmentId=${id}&accessLevelId=${AccessLevelId}&attachmentTypeId=${AttachmentTypeId}`,\r\n requestOptions\r\n );\r\n let data = await response.json();\r\n var inputs = document.querySelectorAll(\".ShipmentsAttachmentCheckBox\");\r\n for (var i = 0; i < inputs.length; i++) {\r\n inputs[i].checked = false;\r\n }\r\n setisLoadingSubmit(false);\r\n getAttachmentData(row?.Id);\r\n setAttachmentData([]);\r\n }\r\n\r\n async function getAttachmentData(id) {\r\n var myHeaders = new Headers();\r\n myHeaders.append(\"Authorization\", `bearer ${db.read().getState().Token}`);\r\n myHeaders.append(\"Content-Type\", \"application/json\");\r\n myHeaders.append(\"X-FP-API-KEY\", \"iphone\");\r\n var requestOptions = {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: myHeaders,\r\n redirect: \"follow\",\r\n };\r\n fetch(window.$apiurl + \"/shipments/getsendemail/\" + id, requestOptions)\r\n .then((response) => response.text())\r\n .then((result) => {\r\n const resultobj = JSON.parse(result);\r\n setAttachementList(resultobj.Attachments);\r\n })\r\n .catch((error) => console.log(\"error\", error));\r\n }\r\n return (\r\n \r\n \r\n Send Email\r\n {\r\n setshowModalSend(false);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n

To:

\r\n {\r\n var obj = [];\r\n var objDefeault = [];\r\n if (e) {\r\n e.map((item) => {\r\n obj.push({\r\n Email: item.value,\r\n Name: item.value,\r\n });\r\n objDefeault.push({\r\n value: item.value,\r\n label: item.value,\r\n });\r\n return null;\r\n });\r\n }\r\n setToDataDefeault(objDefeault);\r\n setToData(obj);\r\n }}\r\n />\r\n\r\n {\r\n setincludCCData(event.target.checked);\r\n }}\r\n />\r\n
\r\n
\r\n

Subject:

\r\n {\r\n setSubjectData(event.target.value);\r\n }}\r\n />\r\n
\r\n
\r\n

Body:

\r\n\r\n {\r\n const data = editor.getData();\r\n setBodyData(data);\r\n }}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n

Attachments

\r\n
\r\n
\r\n
\r\n {\r\n setincludBol(event.target.checked);\r\n }}\r\n />\r\n
\r\n
\r\n {\r\n setincludOutboundDispatch(event.target.checked);\r\n }}\r\n />\r\n
\r\n
\r\n {\r\n setincludShipmentManifest(event.target.checked);\r\n }}\r\n />\r\n
\r\n
\r\n {AttachementList?.map((item, index) => {\r\n return (\r\n \r\n
\r\n
\r\n {\r\n var obj = AttachmentData;\r\n obj.push(event.target.value);\r\n setAttachmentData(obj);\r\n }}\r\n />\r\n \r\n {item.Name}\r\n \r\n
\r\n
\r\n
\r\n );\r\n })}\r\n
\r\n
\r\n
\r\n

Add Attachment

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

Attachment Type

\r\n \r\n {AttachmentTypes.map((item, index) => (\r\n \r\n ))}\r\n \r\n
\r\n
\r\n

Access Level

\r\n \r\n {AccessLevels.map((item, index) => (\r\n \r\n ))}\r\n \r\n
\r\n
\r\n \r\n await SaveShipementAattachement(row?.Id)\r\n }\r\n disabled={isLoadingSubmit}\r\n className=\"btn btn-primary btn-elevate\"\r\n >\r\n Save Attachment\r\n {isLoadingSubmit && (\r\n \r\n )}\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n {\r\n setshowModalSend(false);\r\n }}\r\n className=\"btn btn-light btn-elevate\"\r\n >\r\n Cancel\r\n \r\n <> \r\n {\r\n NextStatus(IsMultu === true ? row : row.Id, 102);\r\n }}\r\n disabled={isLoadingSend}\r\n className=\"btn btn-delete btn-primary\"\r\n >\r\n Send Email\r\n {isLoadingSend && (\r\n \r\n )}\r\n \r\n
\r\n
\r\n \r\n );\r\n};\r\n","import { IconButton } from \"@material-ui/core\";\r\nimport React, { useEffect, useState } from \"react\";\r\nimport { Modal, Spinner } from \"react-bootstrap\";\r\nimport CloseIcon from \"@material-ui/icons/Close\";\r\nimport CreatableSelect from \"react-select/creatable\";\r\nimport { CheckboxLarge } from \"../../../../../../_metronic/_partials/controls\";\r\nimport { CKEditor } from \"@ckeditor/ckeditor5-react\";\r\nimport ClassicEditor from \"@ckeditor/ckeditor5-build-classic\";\r\nimport low from \"lowdb\";\r\nimport LocalStorage from \"lowdb/adapters/LocalStorage\";\r\nimport { Notification } from \"../../../../Notification\";\r\nconst adapter = new LocalStorage(\"db\");\r\nconst db = low(adapter);\r\n\r\nexport const SendEmailfromGrid = ({ row, showModalSend, setshowModalSend }) => {\r\n const [EmailAddressList, setEmailAddressList] = useState([]);\r\n const [ToDataDefeault, setToDataDefeault] = useState([]);\r\n const [includBol, setincludBol] = useState(true);\r\n const [ToData, setToData] = useState(null);\r\n const [BodyData, setBodyData] = useState(\"\");\r\n const [SubjectData, setSubjectData] = useState(\"\");\r\n const [includCCData, setincludCCData] = useState(false);\r\n const [isLoadingSend, setisLoadingSend] = useState(false);\r\n\r\n useEffect(() => {\r\n setTimeout(() => {\r\n setSubjectData(\"Mitco Shipment ID: \" + row.Id);\r\n setBodyData(\r\n `

Hello,

Attached are the dispatch files for the following shipments.

Shipment# {${row.Id}}

Thanks

Mitco team

`\r\n );\r\n }, 500);\r\n }, [row.Id]);\r\n\r\n useEffect(() => {\r\n var myHeaders = new Headers();\r\n myHeaders.append(\"Authorization\", `bearer ${db.read().getState().Token}`);\r\n myHeaders.append(\"Content-Type\", \"application/json\");\r\n myHeaders.append(\"X-FP-API-KEY\", \"iphone\");\r\n var requestOptions = {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: myHeaders,\r\n redirect: \"follow\",\r\n };\r\n fetch(window.$apiurl + \"/shipments/getsendemail/\" + row.Id, requestOptions)\r\n .then((response) => response.text())\r\n .then((result) => {\r\n const resultobj = JSON.parse(result);\r\n var obj = [];\r\n var obj2 = [];\r\n\r\n resultobj.Emails.map((item) => {\r\n obj.push({ value: item.Email, label: item.Email });\r\n obj2.push({ Email: item.Email, Name: item.Email });\r\n return null;\r\n });\r\n\r\n setEmailAddressList(obj);\r\n })\r\n .catch((error) => console.log(\"error\", error));\r\n }, []);\r\n\r\n const SendEmailfunctions = async () => {\r\n if (ToData === null) {\r\n Notification(\"error\", \"Please fill email Info\");\r\n return;\r\n }\r\n // server request for deleting product by id\r\n setisLoadingSend(true);\r\n var data = {};\r\n if (window.SendDispatchShipmentsList !== undefined) {\r\n data = {\r\n Ids: window.SendDispatchShipmentsList?.map(function(item) {\r\n return item.id;\r\n }),\r\n Emails: ToData,\r\n Subject: SubjectData,\r\n Body: BodyData,\r\n IncludeCc: includCCData,\r\n Attachments: [],\r\n Bol: includBol,\r\n };\r\n } else {\r\n data = {\r\n Emails: ToData,\r\n Subject: SubjectData,\r\n Body: BodyData,\r\n IncludeCc: includCCData,\r\n Attachments: [],\r\n Bol: includBol,\r\n };\r\n }\r\n\r\n var raw = JSON.stringify(data);\r\n var requestOptions = {\r\n method: \"POST\",\r\n body: raw,\r\n redirect: \"follow\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n };\r\n var url = \"\";\r\n if (window.SendDispatchShipmentsList !== undefined) {\r\n url = \"/shipmentsmanagement/sendMultiEmail\";\r\n } else {\r\n url = `/shipments/sendEmail/` + row.Id;\r\n }\r\n let response = await fetch(`${window.$apiurl}${url}`, requestOptions);\r\n if (response.status === 200) {\r\n Notification(\r\n \"success\",\r\n \"Email sent successfuly for Shipment ID \" + row.Id\r\n );\r\n setToData(null);\r\n setToDataDefeault(null);\r\n setSubjectData(null);\r\n setBodyData(\"\");\r\n setincludCCData(false);\r\n setincludBol(false);\r\n } else {\r\n Notification(\"error\", \"invalid data\");\r\n }\r\n setisLoadingSend(false);\r\n setshowModalSend(false);\r\n };\r\n return (\r\n \r\n \r\n Send Email\r\n {\r\n setshowModalSend(false);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n

To:

\r\n {\r\n var obj = [];\r\n var objDefeault = [];\r\n if (e) {\r\n e.map((item) => {\r\n obj.push({\r\n Email: item.value,\r\n Name: item.value,\r\n });\r\n objDefeault.push({\r\n value: item.value,\r\n label: item.value,\r\n });\r\n return null;\r\n });\r\n }\r\n setToDataDefeault(objDefeault);\r\n setToData(obj);\r\n }}\r\n />\r\n\r\n {\r\n setincludCCData(event.target.checked);\r\n }}\r\n />\r\n
\r\n
\r\n

Subject:

\r\n {\r\n setSubjectData(event.target.value);\r\n }}\r\n />\r\n
\r\n
\r\n

Body:

\r\n\r\n {\r\n const data = editor.getData();\r\n setBodyData(data);\r\n }}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n

Attachments

\r\n
\r\n
\r\n
\r\n {\r\n setincludBol(event.target.checked);\r\n }}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n {\r\n setshowModalSend(false);\r\n }}\r\n className=\"btn btn-light btn-elevate\"\r\n >\r\n Cancel\r\n \r\n <> \r\n \r\n Send Email\r\n {isLoadingSend && (\r\n \r\n )}\r\n \r\n
\r\n
\r\n \r\n );\r\n};\r\n","// please be familiar with react-bootstrap-table-next column formaters\r\n// https://react-bootstrap-table.github.io/react-bootstrap-table2/storybook/index.html?selectedKind=Work%20on%20Columns&selectedStory=Column%20Formatter&full=0&addons=1&stories=1&panelRight=0&addonPanel=storybook%2Factions%2Factions-panel\r\n/* eslint-disable no-script-url,jsx-a11y/anchor-is-valid */\r\nimport React, { useState } from \"react\";\r\nimport SVG from \"react-inlinesvg\";\r\nimport { Modal, OverlayTrigger, Tooltip } from \"react-bootstrap\";\r\nimport SaveIcon from \"@material-ui/icons/Save\";\r\nimport { Link } from \"react-router-dom\";\r\nimport low from \"lowdb\";\r\nimport LocalStorage from \"lowdb/adapters/LocalStorage\";\r\nimport { OneMoveMaster } from \"../../Transload/FindOrders/product-Containers/remark-edit-dialog/OneMoveMaster\";\r\nimport { toAbsoluteUrl } from \"../../../../../../_metronic/_helpers\";\r\nimport {\r\n currencyFormat,\r\n Export,\r\n} from \"../../../../../../_metronic/_helpers/ATHelpers\";\r\nimport { Notification } from \"../../../../Notification\";\r\nimport { SendEmail } from \"./SendEmail\";\r\nimport { SendEmailfromGrid } from \"./SendEmailfromGrid\";\r\nimport { ChargesModel } from \"../../Transload/FindOrders/product-Containers/remark-edit-dialog/ChargesFunction\";\r\nconst adapter = new LocalStorage(\"db\");\r\nconst db = low(adapter);\r\nexport function ActionsFormatter(props) {\r\n const SendEmailFunction = () => {\r\n const [showModalSend, setshowModalSend] = useState(false);\r\n return (\r\n <>\r\n {showModalSend && (\r\n \r\n )}\r\n Send Documents\r\n }\r\n >\r\n {\r\n setshowModalSend(true);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n };\r\n const OneMoveMasterFunction = () => {\r\n const [OneMoveMasterShow, setOneMoveMasterShow] = useState(false);\r\n return (\r\n <>\r\n {\r\n setOneMoveMasterShow(false);\r\n }}\r\n >\r\n \r\n \r\n \r\n );\r\n };\r\n async function GetShipmentManifest(link) {\r\n return await fetch(window.$apiurl + link, {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n return res[1];\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n let outboundUrl;\r\n switch (props?.row?.Mode) {\r\n case \"LTL\": {\r\n outboundUrl = \"/LTL/Outbound/report/\" + props?.row?.id;\r\n break;\r\n }\r\n case \"Intermodal Rail (COFC)\": {\r\n outboundUrl = \"/TRC/Outbound/report/\" + props?.row?.id;\r\n break;\r\n }\r\n case \"OTR (Over The Road)\": {\r\n outboundUrl = \"/TRC/Outbound/report/\" + props?.row?.id;\r\n break;\r\n }\r\n default:\r\n outboundUrl = \"/DRAYAGE/Outbound/report/\" + props?.row?.id;\r\n }\r\n return (\r\n <>\r\n \r\n BOL}\r\n >\r\n false}\r\n className=\"btn btn-icon btn-light btn-hover-primary btn-sm ml-1\"\r\n onClick={() => {\r\n props.setRow(props?.row?.id);\r\n props.setBol(true);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n P & L}\r\n >\r\n false}\r\n className=\"btn btn-icon btn-light btn-hover-primary btn-sm ml-1\"\r\n role=\"button\"\r\n onClick={() => {\r\n props.setRow(props?.row?.id);\r\n props.setPL(true);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n {/* Export */}\r\n \r\n Export Shipment Manifest (XLSX)\r\n \r\n }\r\n >\r\n {\r\n try {\r\n let data = [];\r\n const currentList = [];\r\n if (props?.row?.CustomerName !== \"Lulus\") {\r\n data = await GetShipmentManifest(\r\n `/Shipments/OutboundManifest/${props?.row?.id}`\r\n );\r\n if (data.ShipItems.length > 0) {\r\n data.ShipItems.map((item) => {\r\n currentList.push({\r\n PO: item.PurchaseOrder,\r\n SKU: item.Sku,\r\n Description: item.Description,\r\n CasePack: item.CasePack,\r\n ShipQTY: item.ShipQuantity,\r\n ShipUOM: item.ShipUom,\r\n Weight_LBS: currencyFormat(item.Weight),\r\n Cube_CBM: currencyFormat(item.Cube),\r\n ItemQty: item.Pieces,\r\n Container: item.EquipmentRef,\r\n });\r\n return item;\r\n });\r\n Export(\r\n currentList,\r\n \"excel\",\r\n `Shipment_Manifest#_${props?.row?.id}`\r\n );\r\n } else {\r\n Notification(\r\n \"warning\",\r\n `No Data Items on this Shipment# ${props?.row?.id}`\r\n );\r\n }\r\n } else {\r\n data = await GetShipmentManifest(\r\n `/pallets/GetPalletByShipment/${props?.row?.id}`\r\n );\r\n data.pallets?.length > 0 &&\r\n data.pallets.map((itemX) => {\r\n itemX.ItemsList.length > 0 &&\r\n itemX.ItemsList.map((itemY) => {\r\n itemY.PalletId = itemX.Id;\r\n currentList.push(itemY);\r\n return itemY;\r\n });\r\n return itemX;\r\n });\r\n if (data.pallets?.length > 0) {\r\n Export(\r\n currentList,\r\n \"excel\",\r\n `Shipment_Manifest#_${props?.row?.id}`\r\n );\r\n } else {\r\n Notification(\r\n \"warning\",\r\n `No Data Items on this Shipment# ${props?.row?.id}`\r\n );\r\n }\r\n }\r\n } catch (err) {\r\n console.log(err);\r\n }\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n {/* Export */}\r\n \r\n Export Shipment Manifest (CSV)\r\n \r\n }\r\n >\r\n {\r\n try {\r\n let data = [];\r\n const currentList = [];\r\n if (props?.row?.CustomerName !== \"Lulus\") {\r\n data = await GetShipmentManifest(\r\n `/Shipments/OutboundManifest/${props?.row?.id}`\r\n );\r\n if (data.ShipItems.length > 0) {\r\n data.ShipItems.forEach((item) => {\r\n currentList.push({\r\n PO: item.PurchaseOrder,\r\n SKU: item.Sku,\r\n Description: item.Description,\r\n CasePack: item.CasePack,\r\n ShipQTY: item.ShipQuantity,\r\n ShipUOM: item.ShipUom,\r\n Weight_LBS: currencyFormat(item.Weight),\r\n Cube_CBM: currencyFormat(item.Cube),\r\n ItemQty: item.Pieces,\r\n Container: item.EquipmentRef,\r\n });\r\n });\r\n Export(\r\n currentList,\r\n \"csv\",\r\n `Shipment_Manifest#_${props?.row?.id}`\r\n );\r\n } else {\r\n Notification(\r\n \"warning\",\r\n `No Data Items on this Shipment# ${props?.row?.id}`\r\n );\r\n }\r\n } else {\r\n data = await GetShipmentManifest(\r\n `/pallets/GetPalletByShipment/${props?.row?.id}`\r\n );\r\n data.pallets?.length > 0 &&\r\n data.pallets.forEach((itemX) => {\r\n itemX.ItemsList.length > 0 &&\r\n itemX.ItemsList.forEach((itemY) => {\r\n itemY.PalletId = itemX.Id;\r\n currentList.push(itemY);\r\n });\r\n });\r\n if (data.pallets?.length > 0) {\r\n Export(\r\n currentList,\r\n \"csv\",\r\n `Shipment_Manifest#_${props?.row?.id}`\r\n );\r\n } else {\r\n Notification(\r\n \"warning\",\r\n `No Data Items on this Shipment# ${props?.row?.id}`\r\n );\r\n }\r\n }\r\n } catch (err) {\r\n console.log(err);\r\n }\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n Shipment Manifest\r\n }\r\n >\r\n false}\r\n className=\"btn btn-icon btn-light btn-hover-primary btn-sm ml-2\"\r\n onClick={() => {\r\n props.setRow(props?.row?.id);\r\n props.setOutboundManifest(true);\r\n localStorage.setItem(\r\n \"SmManifestCustomer\",\r\n JSON.stringify(props?.row?.CustomerName)\r\n );\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n Rate Confirmation\r\n }\r\n >\r\n false}\r\n className=\"btn btn-icon btn-light btn-hover-primary btn-sm ml-1\"\r\n onClick={() => {\r\n props.setRow(props?.row?.id);\r\n props.setModeItem(props?.row?.Mode);\r\n props.setRateConfirmation(true);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n {/* New Note}\r\n >\r\n openEditCustomerDialog(row.id)}\r\n >\r\n \r\n \r\n \r\n \r\n */}\r\n <> \r\n \r\n \r\n );\r\n}\r\n","import {\r\n Drawer,\r\n emphasize,\r\n IconButton,\r\n makeStyles,\r\n TextField,\r\n} from \"@material-ui/core\";\r\nimport CloseIcon from \"@material-ui/icons/Close\";\r\nimport React, { useEffect, useState } from \"react\";\r\nimport { Modal, OverlayTrigger, Spinner, Tooltip } from \"react-bootstrap\";\r\nimport { Link } from \"react-router-dom\";\r\nimport low from \"lowdb\";\r\nimport LocalStorage from \"lowdb/adapters/LocalStorage\";\r\nimport { SendEmail } from \"./SendEmail\";\r\nimport { TmsAttachementsStatus } from \"../../Transload/FindOrders/product-edit/OrderAttachements\";\r\nimport Select, { components, PlaceholderProps } from \"react-select\";\r\n\r\nimport { DateTime30minInterval } from \"../../../../../../_metronic/_helpers/ATHelpers\";\r\nimport { Notification } from \"../../../../Notification\";\r\nconst adapter = new LocalStorage(\"db\");\r\nconst db = low(adapter);\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n root: {\r\n flexGrow: 1,\r\n height: 250,\r\n },\r\n input: {\r\n display: \"flex\",\r\n padding: 0,\r\n height: \"auto\",\r\n },\r\n valueContainer: {\r\n display: \"flex\",\r\n flexWrap: \"wrap\",\r\n flex: 1,\r\n alignItems: \"center\",\r\n overflow: \"hidden\",\r\n },\r\n chip: {\r\n margin: theme.spacing(0.5, 0.25),\r\n },\r\n chipFocused: {\r\n backgroundColor: emphasize(\r\n theme.palette.type === \"light\"\r\n ? theme.palette.grey[300]\r\n : theme.palette.grey[700],\r\n 0.08\r\n ),\r\n },\r\n noOptionsMessage: {\r\n padding: theme.spacing(1, 2),\r\n },\r\n placeholder: {\r\n position: \"absolute\",\r\n },\r\n isDisabled: {\r\n color: \"currentColor\",\r\n cursor: \"not-allowed\",\r\n pointerEvents: \"none\",\r\n opacity: \"0.5\",\r\n },\r\n paper: {\r\n position: \"absolute\",\r\n zIndex: 1,\r\n marginTop: theme.spacing(1),\r\n left: 0,\r\n right: 0,\r\n },\r\n divider: {\r\n height: theme.spacing(2),\r\n },\r\n button: {\r\n margin: theme.spacing(1),\r\n justifyContent: \"flex-end\",\r\n },\r\n leftIcon: {\r\n marginRight: theme.spacing(1),\r\n },\r\n rightIcon: {\r\n marginLeft: theme.spacing(1),\r\n },\r\n iconSmall: {\r\n fontSize: 20,\r\n },\r\n textField: {\r\n marginLeft: theme.spacing(1),\r\n marginRight: theme.spacing(1),\r\n },\r\n list: {\r\n width: 250,\r\n },\r\n fullList: {\r\n width: \"auto\",\r\n },\r\n}));\r\n\r\nexport function ActionsStatus({\r\n filterOptions,\r\n DataWareHouse,\r\n GetWarehousDataPageChanges,\r\n paginationOptions,\r\n SelectedRow,\r\n setSelectedRow,\r\n SelectedRowBulk,\r\n}) {\r\n const [loadingModalShow, setloadingModalShow] = useState(false);\r\n const [showModalSend, setshowModalSend] = useState(false);\r\n const [showModalPickedUp, setshowModalPickedUp] = useState(false);\r\n const [loadedModalShow, setloadedModalShow] = useState(false);\r\n const [LoadingPostStatus, setLoadingPostStatus] = useState(false);\r\n const [ShowModalAssigned, setShowModalAssigned] = useState(false);\r\n const [optionsVandorList, setoptionsVandorList] = useState([]);\r\n const [initAssignedStatusVendor, setinitAssignedStatusVendor] = useState({\r\n ShipmentIds: SelectedRow,\r\n VendorId: SelectedRowBulk[0]?.CarrierId || \"\",\r\n VendorTypeId: 1308,\r\n ShipmentStatus: \"\",\r\n ThirdPartyBillToId: \"\",\r\n FreightChargeId: 98,\r\n });\r\n const [FreightChargeList, setFreightChargeList] = useState([]);\r\n const [optionsVandorTypeList, setoptionsVandorTypeList] = useState([]);\r\n const [BillToList, setBillToList] = useState([]);\r\n\r\n function SubmitLoadedDetail(parameters) {\r\n var SealNumber = document.getElementById(`SealNumber`).value;\r\n if (SealNumber === \"\" || SealNumber === undefined || SealNumber === null) {\r\n Notification(\"error\", \"please fill Seal #\");\r\n return;\r\n }\r\n setLoadingPostStatus(true);\r\n var myHeaders = new Headers();\r\n myHeaders.append(\"Authorization\", `bearer ${db.read().getState().Token}`);\r\n myHeaders.append(\"Content-Type\", \"application/json\");\r\n\r\n var raw = JSON.stringify({\r\n ShipmentIds: SelectedRow,\r\n ShipmentStatus: 6,\r\n SealNumber: SealNumber,\r\n });\r\n\r\n var requestOptions = {\r\n method: \"POST\",\r\n headers: myHeaders,\r\n body: raw,\r\n redirect: \"follow\",\r\n };\r\n\r\n fetch(\r\n `${window.$apiurl}/warehouseManagement/UpdateMultipleStatus`,\r\n requestOptions\r\n )\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n const contentType = response.headers.get(\"content-type\");\r\n if (contentType && contentType.indexOf(\"application/json\") !== -1) {\r\n return response.json().then((data) => [statusCode, data]);\r\n } else {\r\n return response.text().then((text) => [statusCode, { Message: \"\" }]);\r\n }\r\n })\r\n .then((result) => {\r\n if (result[0] === 200) {\r\n Notification(\"success\", \"Shipment has been Updated successfully\");\r\n GetWarehousDataPageChanges(paginationOptions);\r\n setloadedModalShow(false);\r\n setSelectedRow([]);\r\n } else {\r\n if (\r\n result[1].ModelState !== null &&\r\n result[1].ModelState !== undefined &&\r\n result[1].ModelState !== \"\"\r\n ) {\r\n let modelState = result[1].ModelState;\r\n if (modelState)\r\n Object.keys(modelState).forEach(function(k) {\r\n modelState[k].forEach((element) => {\r\n Notification(\"errorClick\", element);\r\n });\r\n });\r\n } else if (\r\n result[1].Message !== null &&\r\n result[1].Message !== undefined &&\r\n result[1].Message !== \"\"\r\n ) {\r\n Notification(\"errorClick\", result[1].Message);\r\n } else {\r\n Notification(\"errorClick\", \"Bad Request\");\r\n }\r\n setloadedModalShow(false);\r\n }\r\n setLoadingPostStatus(false);\r\n })\r\n .catch((error) => {\r\n console.log(\"error\", error);\r\n setLoadingPostStatus(false);\r\n });\r\n }\r\n function SubmitLoadingDetail() {\r\n var Traillerdrop = document.getElementById(`Traillerdrop`).value;\r\n if (\r\n Traillerdrop === \"\" ||\r\n Traillerdrop === undefined ||\r\n Traillerdrop === null\r\n ) {\r\n Notification(\"error\", \"please fill tailler\");\r\n return;\r\n }\r\n setLoadingPostStatus(true);\r\n\r\n var myHeaders = new Headers();\r\n myHeaders.append(\"Authorization\", `bearer ${db.read().getState().Token}`);\r\n myHeaders.append(\"Content-Type\", \"application/json\");\r\n\r\n var raw = JSON.stringify({\r\n ShipmentIds: SelectedRow,\r\n ShipmentStatus: 5,\r\n EquipmentNumber: Traillerdrop,\r\n });\r\n\r\n var requestOptions = {\r\n method: \"POST\",\r\n headers: myHeaders,\r\n body: raw,\r\n redirect: \"follow\",\r\n };\r\n\r\n fetch(\r\n `${window.$apiurl}/warehouseManagement/UpdateMultipleStatus`,\r\n requestOptions\r\n )\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n const contentType = response.headers.get(\"content-type\");\r\n if (contentType && contentType.indexOf(\"application/json\") !== -1) {\r\n return response.json().then((data) => [statusCode, data]);\r\n } else {\r\n return response.text().then((text) => [statusCode, { Message: \"\" }]);\r\n }\r\n })\r\n .then((result) => {\r\n if (result[0] === 200) {\r\n Notification(\"success\", \"Shipment has been Updated successfully\");\r\n GetWarehousDataPageChanges(paginationOptions);\r\n setloadingModalShow(false);\r\n setSelectedRow([]);\r\n } else {\r\n if (\r\n result[1].ModelState !== null &&\r\n result[1].ModelState !== undefined &&\r\n result[1].ModelState !== \"\"\r\n ) {\r\n let modelState = result[1].ModelState;\r\n if (modelState)\r\n Object.keys(modelState).forEach(function(k) {\r\n modelState[k].forEach((element) => {\r\n Notification(\"errorClick\", element);\r\n });\r\n });\r\n } else if (\r\n result[1].Message !== null &&\r\n result[1].Message !== undefined &&\r\n result[1].Message !== \"\"\r\n ) {\r\n Notification(\"errorClick\", result[1].Message);\r\n } else {\r\n Notification(\"errorClick\", \"Bad Request\");\r\n }\r\n setloadingModalShow(false);\r\n }\r\n setLoadingPostStatus(false);\r\n })\r\n .catch((error) => {\r\n console.log(\"error\", error);\r\n setLoadingPostStatus(false);\r\n });\r\n }\r\n function NextStatus(id, statusId) {\r\n var myHeaders = new Headers();\r\n myHeaders.append(\"Authorization\", `bearer ${db.read().getState().Token}`);\r\n myHeaders.append(\"Content-Type\", \"application/json\");\r\n\r\n var raw = JSON.stringify({\r\n ShipmentIds: id,\r\n ShipmentStatus: statusId,\r\n });\r\n\r\n var requestOptions = {\r\n method: \"POST\",\r\n headers: myHeaders,\r\n body: raw,\r\n redirect: \"follow\",\r\n };\r\n\r\n fetch(\r\n `${window.$apiurl}/warehouseManagement/UpdateMultipleStatus`,\r\n requestOptions\r\n )\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n const contentType = response.headers.get(\"content-type\");\r\n if (contentType && contentType.indexOf(\"application/json\") !== -1) {\r\n return response.json().then((data) => [statusCode, data]);\r\n } else {\r\n return response.text().then((text) => [statusCode, { Message: \"\" }]);\r\n }\r\n })\r\n .then((result) => {\r\n if (result[0] === 200) {\r\n if (\r\n result[1].Message !== null &&\r\n result[1].Message !== undefined &&\r\n result[1].Message !== \"\"\r\n ) {\r\n Notification(\"infoClick\", result[1].Message);\r\n GetWarehousDataPageChanges(paginationOptions);\r\n } else {\r\n Notification(\"success\", \"Shipment has been Updated successfully\");\r\n GetWarehousDataPageChanges(paginationOptions);\r\n setSelectedRow([]);\r\n }\r\n } else {\r\n if (\r\n result[1].ModelState !== null &&\r\n result[1].ModelState !== undefined &&\r\n result[1].ModelState !== \"\"\r\n ) {\r\n let modelState = result[1].ModelState;\r\n if (modelState)\r\n Object.keys(modelState).forEach(function(k) {\r\n modelState[k].forEach((element) => {\r\n Notification(\"errorClick\", element);\r\n });\r\n });\r\n } else if (\r\n result[1].Message !== null &&\r\n result[1].Message !== undefined &&\r\n result[1].Message !== \"\"\r\n ) {\r\n Notification(\"errorClick\", result[1].Message);\r\n } else {\r\n Notification(\"errorClick\", \"Bad Request\");\r\n }\r\n }\r\n })\r\n .catch((error) => {\r\n console.log(\"error\", error);\r\n });\r\n }\r\n\r\n function nextOrder(statusId) {\r\n const index = DataWareHouse?.ShipmentsCount?.findIndex(\r\n (order) => String(order.StatusId) === String(statusId)\r\n );\r\n if (index === -1 || index === DataWareHouse?.ShipmentsCount.length - 1) {\r\n // No such order or no next order\r\n return null;\r\n }\r\n return DataWareHouse?.ShipmentsCount[index + 1];\r\n }\r\n const classes = useStyles();\r\n const [state, setState] = useState({\r\n top: false,\r\n left: false,\r\n bottom: false,\r\n right: false,\r\n });\r\n const toggleDrawer = (side, open) => (event) => {\r\n setState({ ...state, [side]: open });\r\n if (open) {\r\n setTimeout(() => {\r\n document.getElementsByClassName(\"MuiDrawer-modal\")[0].style.visibility =\r\n \"visible\";\r\n }, 500);\r\n }\r\n event.preventDefault();\r\n };\r\n const fullList = (side) => (\r\n
\r\n \r\n {/*begin::Header*/}\r\n \r\n

Select an Action For

\r\n\r\n \r\n \r\n \r\n
\r\n \r\n {filterOptions.statusId !== \"\" && SelectedRow.length !== 0 ? (\r\n
\r\n {DataWareHouse?.ShipmentsCount?.map((item, index) => {\r\n return (\r\n {\r\n setState({\r\n top: false,\r\n left: false,\r\n bottom: false,\r\n right: false,\r\n });\r\n document.getElementById(\"kt_body\").style.overflow =\r\n \"scroll\";\r\n if (index !== null) {\r\n if (item.StatusId === 5) {\r\n setloadingModalShow(true);\r\n return;\r\n }\r\n if (item.StatusId === 6) {\r\n setloadedModalShow(true);\r\n return;\r\n }\r\n if (item.StatusId === 102) {\r\n setshowModalSend(true);\r\n return;\r\n }\r\n if (item.StatusId === 3) {\r\n getvandorsList();\r\n setinitAssignedStatusVendor({\r\n ShipmentIds: SelectedRow,\r\n VendorId: SelectedRowBulk[0]?.CarrierId || \"\",\r\n VendorTypeId: 1308,\r\n ShipmentStatus: 3,\r\n ThirdPartyBillToId: \"\",\r\n FreightChargeId: 98,\r\n });\r\n setShowModalAssigned(true);\r\n return;\r\n }\r\n if (item.StatusId === 7) {\r\n setshowModalPickedUp(true);\r\n return;\r\n }\r\n NextStatus(SelectedRow, item.StatusId);\r\n }\r\n }}\r\n className={`navi-item ${\r\n String(nextOrder(filterOptions.statusId)?.StatusId) !==\r\n String(item.StatusId)\r\n ? classes.isDisabled\r\n : \"\"\r\n }`}\r\n key={index}\r\n >\r\n
\r\n
\r\n
\r\n {item.StatusId !== filterOptions.statusId ? (\r\n \r\n \r\n \r\n ) : (\r\n \r\n \r\n \r\n )}\r\n
\r\n
\r\n
\r\n
\r\n {item.StatusName}\r\n
\r\n
\r\n
\r\n \r\n );\r\n })}\r\n\r\n {/*end:Item*/}\r\n
\r\n ) : (\r\n \"Please Select a status and Select at least one shipment\"\r\n )}\r\n\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n );\r\n function PostAssignedVandors() {\r\n try {\r\n var VandorSelected = initAssignedStatusVendor.VendorId;\r\n if (\r\n VandorSelected === null ||\r\n VandorSelected === undefined ||\r\n VandorSelected === \"\"\r\n ) {\r\n Notification(\"errorClick\", \"Please select vendor\");\r\n return;\r\n }\r\n setLoadingPostStatus(true);\r\n var myHeaders = new Headers();\r\n myHeaders.append(\"Authorization\", `bearer ${db.read().getState().Token}`);\r\n myHeaders.append(\"Content-Type\", \"application/json\");\r\n myHeaders.append(\"X-FP-API-KEY\", \"iphone\");\r\n var raw = JSON.stringify(initAssignedStatusVendor);\r\n var requestOptions = {\r\n method: \"POST\",\r\n headers: myHeaders,\r\n body: raw,\r\n redirect: \"follow\",\r\n };\r\n fetch(\r\n window.$apiurl + `/warehouseManagement/UpdateMultipleStatus`,\r\n requestOptions\r\n )\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n const contentType = response.headers.get(\"content-type\");\r\n if (contentType && contentType.indexOf(\"application/json\") !== -1) {\r\n return response.json().then((data) => [statusCode, data]);\r\n } else {\r\n return response\r\n .text()\r\n .then((text) => [statusCode, { Message: \"\" }]);\r\n }\r\n })\r\n .then((result) => {\r\n if (result[0] === 200) {\r\n if (\r\n result[1].Message !== null &&\r\n result[1].Message !== undefined &&\r\n result[1].Message !== \"\"\r\n ) {\r\n Notification(\"infoClick\", result[1].Message);\r\n setShowModalAssigned(false);\r\n } else {\r\n Notification(\r\n \"success\",\r\n `Status of shipments : [${initAssignedStatusVendor.ShipmentIds.map(\r\n (customer) => customer + \", \"\r\n )}] has been changed successfully`\r\n );\r\n }\r\n GetWarehousDataPageChanges(paginationOptions);\r\n setShowModalAssigned(false);\r\n } else {\r\n if (\r\n result[1].ModelState !== null &&\r\n result[1].ModelState !== undefined &&\r\n result[1].ModelState !== \"\"\r\n ) {\r\n let modelState = result[1].ModelState;\r\n if (modelState)\r\n Object.keys(modelState).forEach(function(k) {\r\n modelState[k].forEach((element) => {\r\n Notification(\"errorClick\", element);\r\n });\r\n });\r\n } else if (\r\n result[1].Message !== null &&\r\n result[1].Message !== undefined &&\r\n result[1].Message !== \"\"\r\n ) {\r\n Notification(\"errorClick\", result[1].Message);\r\n } else {\r\n Notification(\"errorClick\", \"Bad Request\");\r\n }\r\n }\r\n setLoadingPostStatus(false);\r\n })\r\n .catch((error) => {\r\n console.log(\"error\", error);\r\n setLoadingPostStatus(false);\r\n });\r\n } catch (e) {}\r\n }\r\n function getvandorsList() {\r\n var myHeaders = new Headers();\r\n myHeaders.append(\"Authorization\", `Bearer ${db.read().getState().Token}`);\r\n var requestOptions = {\r\n method: \"GET\",\r\n headers: myHeaders,\r\n redirect: \"follow\",\r\n };\r\n fetch(window.$apiurl + \"/vendors\", requestOptions)\r\n .then((response) => response.text())\r\n .then((result) => {\r\n const data = JSON.parse(result);\r\n const opt = [];\r\n data.Vendors.forEach((Vendor) => {\r\n opt.push({\r\n value: Vendor.Id,\r\n label: Vendor.Code + \"-\" + Vendor.CompanyName,\r\n color: Vendor?.IsApproved ? \"black\" : \"red\",\r\n CarrierId: Vendor?.CarrierId,\r\n IsApproved: Vendor?.IsApproved,\r\n });\r\n });\r\n setoptionsVandorList(opt || []);\r\n setFreightChargeList(data?.FreightCharges ?? []);\r\n setoptionsVandorTypeList(data?.VendorTypes || []);\r\n setBillToList(data?.BillTo || []);\r\n })\r\n .catch((error) => console.log(\"error\", error));\r\n }\r\n const Option = (props) => {\r\n return (\r\n
\r\n \r\n
\r\n );\r\n };\r\n return (\r\n
\r\n {/* start dispatched Modal */}\r\n\r\n \r\n \r\n \r\n Assigned Details\r\n \r\n {\r\n setShowModalAssigned(false);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n

Vendors

\r\n {\r\n var obj = { ...a };\r\n if (initAssignedStatusVendor.FreightChargeId === 98) {\r\n if (a.IsApproved === false) {\r\n return {\r\n value: obj?.value,\r\n label: obj?.label,\r\n color: \"red\",\r\n CarrierId: obj?.CarrierId,\r\n IsApproved: obj?.IsApproved,\r\n };\r\n } else {\r\n return {\r\n value: obj?.value,\r\n label: obj?.label,\r\n color: \"black\",\r\n CarrierId: obj?.CarrierId,\r\n IsApproved: obj?.IsApproved,\r\n };\r\n }\r\n } else {\r\n return {\r\n value: obj?.value,\r\n label: obj?.label,\r\n color: \"black\",\r\n CarrierId: obj?.CarrierId,\r\n IsApproved: obj?.IsApproved,\r\n };\r\n }\r\n })}\r\n value={optionsVandorList.filter(\r\n (a) => a.value === initAssignedStatusVendor.VendorId\r\n )}\r\n onChange={(event) => {\r\n var dataobj = { ...initAssignedStatusVendor };\r\n dataobj.VendorId = event?.value;\r\n setinitAssignedStatusVendor(dataobj);\r\n }}\r\n >\r\n {initAssignedStatusVendor.FreightChargeId === 98 &&\r\n (optionsVandorList?.filter(\r\n (a) => a.value === initAssignedStatusVendor.VendorId\r\n )[0]?.IsApproved === false ? (\r\n

\r\n This Vendor is not Certified\r\n

\r\n ) : (\r\n \"\"\r\n ))}\r\n
\r\n
\r\n

Vendor Type

\r\n a.Id === initAssignedStatusVendor.VendorTypeId\r\n )\r\n .map((x) => {\r\n return {\r\n value: x?.Id,\r\n label: x?.Name,\r\n };\r\n })}\r\n options={optionsVandorTypeList.map((x) => {\r\n return {\r\n value: x?.Id,\r\n label: x?.Name,\r\n };\r\n })}\r\n onChange={(event) => {\r\n var dataobj = { ...initAssignedStatusVendor };\r\n dataobj.VendorTypeId = event?.value;\r\n setinitAssignedStatusVendor(dataobj);\r\n }}\r\n >\r\n
\r\n
\r\n

Freight Charge

\r\n a.Id === initAssignedStatusVendor.FreightChargeId\r\n ).map((x) => {\r\n return {\r\n value: x?.Id,\r\n label: x?.Name,\r\n };\r\n })}\r\n options={FreightChargeList.map((x) => {\r\n return {\r\n value: x?.Id,\r\n label: x?.Name,\r\n };\r\n })}\r\n onChange={(event) => {\r\n var dataobj = { ...initAssignedStatusVendor };\r\n dataobj.FreightChargeId = event?.value;\r\n setinitAssignedStatusVendor(dataobj);\r\n //setVandorSelectedData(null);\r\n }}\r\n >\r\n
\r\n {initAssignedStatusVendor.FreightChargeId === 100 ? (\r\n
\r\n

BillTo

\r\n {\r\n return {\r\n value: x?.Id,\r\n label: x?.Name + \"-\" + x?.Code,\r\n };\r\n })}\r\n onChange={(event) => {\r\n var dataobj = { ...initAssignedStatusVendor };\r\n dataobj.ThirdPartyBillToId = event?.value;\r\n setinitAssignedStatusVendor(dataobj);\r\n }}\r\n >\r\n
\r\n ) : (\r\n \"\"\r\n )}\r\n {/*
\r\n {initAssignedStatusVendor.CarrierId !== null &&\r\n initAssignedStatusVendor.CarrierId !== \"\" &&\r\n initAssignedStatusVendor.CarrierId !== undefined ? (\r\n \r\n ) : (\r\n \"\"\r\n )}\r\n
*/}\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n {\r\n setShowModalAssigned(false);\r\n }}\r\n className=\"btn btn-light btn-elevate\"\r\n >\r\n Cancel\r\n \r\n {\r\n PostAssignedVandors();\r\n }}\r\n className=\"btn btn-primary btn-elevate\"\r\n >\r\n Save changes\r\n {LoadingPostStatus && (\r\n \r\n )}\r\n \r\n \r\n \r\n {/* end dispatched modal */}\r\n {/* loading Modal */}\r\n \r\n \r\n \r\n Loading Details\r\n \r\n {\r\n setloadingModalShow(false);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n {\r\n setloadingModalShow(false);\r\n }}\r\n className=\"btn btn-light btn-elevate mr-3\"\r\n >\r\n Cancel\r\n \r\n {\r\n SubmitLoadingDetail();\r\n }}\r\n className=\"btn btn-primary btn-elevate\"\r\n >\r\n Save changes\r\n {LoadingPostStatus && (\r\n \r\n )}\r\n \r\n \r\n \r\n {/* loaded Modal */}\r\n \r\n \r\n \r\n Loaded Details\r\n \r\n {\r\n setloadedModalShow(false);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n {\r\n setloadedModalShow(false);\r\n }}\r\n className=\"btn btn-light btn-elevate mr-3\"\r\n >\r\n Cancel\r\n \r\n {\r\n SubmitLoadedDetail();\r\n }}\r\n className=\"btn btn-primary btn-elevate\"\r\n >\r\n Save changes\r\n {LoadingPostStatus && (\r\n \r\n )}\r\n \r\n \r\n \r\n {/* Picked Up Modal */}\r\n \r\n \r\n \r\n Picked Up Details\r\n \r\n {\r\n setshowModalPickedUp(false);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {/* Notify Trucker Modal */}\r\n {showModalSend && (\r\n \r\n )}\r\n
    \r\n Actions}\r\n >\r\n
  • \r\n \r\n \r\n \r\n
  • \r\n \r\n
\r\n \r\n {fullList(\"right\")}\r\n \r\n
\r\n );\r\n}\r\n","import { MenuItem, MenuList, Typography } from \"@material-ui/core\";\r\nimport React, { Fragment, useEffect, useState } from \"react\";\r\nimport low from \"lowdb\";\r\nimport LocalStorage from \"lowdb/adapters/LocalStorage\";\r\nimport { Card } from \"react-bootstrap\";\r\nconst adapter = new LocalStorage(\"db\");\r\nconst db = low(adapter);\r\n\r\nexport function Status({\r\n DataWareHouse,\r\n filterOptions,\r\n setfilterOptions,\r\n paginationOptions,\r\n setpaginationOptions,\r\n}) {\r\n var Spinner = require(\"react-spinkit\");\r\n const [ShipmentsException, setShipmentsException] = useState([]);\r\n async function getExceptionAscync() {\r\n var _customers = filterOptions.customers.length > 0 ? \"\" : \"?customerId=\";\r\n filterOptions.customers.map((item, index) => {\r\n _customers +=\r\n (index === 0 ? \"?customerId=\" : \"&customerId=\") + item.value;\r\n });\r\n var myHeaders = new Headers();\r\n myHeaders.append(\"Authorization\", `bearer ${db.read().getState().Token}`);\r\n myHeaders.append(\"Content-Type\", \"application/json\");\r\n myHeaders.append(\"X-FP-API-KEY\", \"iphone\");\r\n var requestOptions = {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: myHeaders,\r\n redirect: \"follow\",\r\n };\r\n\r\n await fetch(\r\n `${window.$apiurl}/warehouseManagement/getexceptions${_customers}&statusId=${filterOptions.statusId}&ServiceId=${filterOptions.service}&modeId=${filterOptions.mode}&serviceLevelId=${filterOptions.serviceLevelId}&equipmentTypeId=${filterOptions.eqTypeId}&equipmentSizeId=${filterOptions.eqSizeId}&shipFromId=${filterOptions.ShipFrom}&VendorId=${filterOptions.VendorId}&filterDate=${filterOptions.DateRangeType}&startDate=${filterOptions.startDate}&endDate=${filterOptions.endDate}&isHot=${filterOptions.hot}&isHazardousMaterial=${filterOptions.hasMat}&exception=&IsCancel=${filterOptions.canceled}&IsClosed=${filterOptions.closed}&pageNumber=${paginationOptions.page}&pageSize=${paginationOptions.sizePerPage}&sortField=${paginationOptions.sortField}&sortOrder=${paginationOptions.sortOrder}&search=${filterOptions.search}`,\r\n requestOptions\r\n )\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then(async (res) => {\r\n setShipmentsException(res[1] || []);\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n useEffect(() => {\r\n getExceptionAscync();\r\n }, [filterOptions]);\r\n return (\r\n \r\n
\r\n
\r\n <>\r\n \r\n
Statuses
\r\n \r\n {\r\n var datapagination = { ...paginationOptions };\r\n datapagination.sortField = \"StatusNewDate\";\r\n setpaginationOptions(datapagination);\r\n var data = { ...filterOptions };\r\n data.statusId = \"\";\r\n data.StatusName = \"\";\r\n data.exceptionsId = \"\";\r\n setfilterOptions(data);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ALL Shipments\r\n \r\n \r\n \r\n {DataWareHouse?.ShipmentsCount?.reduce(\r\n (a, b) => a + (b[\"CountItems\"] || 0),\r\n 0\r\n )}\r\n \r\n \r\n \r\n {DataWareHouse?.ShipmentsCount?.map((item, index) => {\r\n return (\r\n {\r\n var datapagination = { ...paginationOptions };\r\n switch (item.StatusId) {\r\n case 2:\r\n datapagination.sortField = \"StatusNewDate\";\r\n datapagination.sortOrder = \"desc\";\r\n break;\r\n case 3:\r\n datapagination.sortField = \"StatusBookedDate\";\r\n datapagination.sortOrder = \"desc\";\r\n break;\r\n case 5:\r\n datapagination.sortField =\r\n \"StatusLoadingFromOurWarehouseDate\";\r\n datapagination.sortOrder = \"desc\";\r\n break;\r\n case 6:\r\n datapagination.sortField =\r\n \"StatusLoadedFromOurWarehouseDate\";\r\n datapagination.sortOrder = \"desc\";\r\n break;\r\n case 102:\r\n datapagination.sortField = \"StatusNotifyTrucker\";\r\n datapagination.sortOrder = \"desc\";\r\n break;\r\n case 7:\r\n datapagination.sortField = \"StatusPickedUpDate\";\r\n datapagination.sortOrder = \"desc\";\r\n break;\r\n case -1:\r\n datapagination.sortField = \"StatusNewDate\";\r\n datapagination.sortOrder = \"desc\";\r\n break;\r\n default:\r\n datapagination.sortField = \"StatusNewDate\";\r\n datapagination.sortOrder = \"desc\";\r\n break;\r\n }\r\n setpaginationOptions(datapagination);\r\n var data = { ...filterOptions };\r\n data.statusId = item.StatusId;\r\n data.StatusName = item.StatusName;\r\n data.exceptionsId = \"\";\r\n setfilterOptions(data);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {item.StatusName}\r\n \r\n \r\n \r\n {item.CountItems}\r\n \r\n \r\n \r\n );\r\n })}\r\n \r\n
\r\n \r\n
\r\n
\r\n <>\r\n {ShipmentsException.length > 0 && (\r\n \r\n \r\n
\r\n Exceptions\r\n
\r\n {ShipmentsException?.length > 0 ? (\r\n \r\n {ShipmentsException?.map((a, i) => (\r\n {\r\n var datapagination = { ...paginationOptions };\r\n datapagination.sortField = \"StatusNewDate\";\r\n setpaginationOptions(datapagination);\r\n\r\n var data = { ...filterOptions };\r\n data.exceptionsId = a.Id;\r\n data.statusId = \"\";\r\n data.StatusName = \"\";\r\n setfilterOptions(data);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n {a.Name.substring(0, 30)}\r\n \r\n \r\n \r\n {a.Count}\r\n \r\n \r\n \r\n ))}\r\n \r\n ) : (\r\n \r\n \r\n
\r\n )}\r\n \r\n \r\n )}\r\n \r\n
\r\n
\r\n \r\n );\r\n}\r\n","import React, { useEffect } from \"react\";\r\nimport Select from \"react-select\";\r\nimport { RangeDatePicker } from \"react-google-flight-datepicker\";\r\nimport { Checkbox, FormControlLabel } from \"@material-ui/core\";\r\nimport { CheckboxLargeWB } from \"../../../../../../_metronic/_partials/controls\";\r\nvar typingTimer;\r\nconst DateRangeTypeList = [\r\n { value: \"created\", label: \"Creation date\" },\r\n { value: \"booked\", label: \"Assigned date\" },\r\n { value: \"loading\", label: \"Loading date\" },\r\n { value: \"loaded\", label: \"Loaded date\" },\r\n { value: \"pickup\", label: \"Pickup Date\" },\r\n];\r\n\r\nfunction formatDate(date) {\r\n if (date) {\r\n var d = new Date(date),\r\n month = \"\" + (d.getMonth() + 1),\r\n day = \"\" + d.getDate(),\r\n year = d.getFullYear();\r\n\r\n if (month.length < 2) month = \"0\" + month;\r\n if (day.length < 2) day = \"0\" + day;\r\n\r\n const result = [year, month, day].join(\"-\");\r\n if (result !== \"NaN/NaN/NaN\") {\r\n return result;\r\n } else {\r\n return \"\";\r\n }\r\n } else {\r\n return \"\";\r\n }\r\n}\r\n\r\nexport function WarehouseFilter({\r\n ViewModel,\r\n filterOptions,\r\n setfilterOptions,\r\n statusesList,\r\n}) {\r\n const [IsCancel, setIsCancel] = React.useState({ value: 1, label: \"Active\" });\r\n const [OnHold, setOnHold] = React.useState({ value: 1, label: \"Active\" });\r\n const listCanceled = [\r\n { value: 1, label: \"Active\" },\r\n { value: 2, label: \"Canceled\" },\r\n ];\r\n const listOnHold = [\r\n { value: 1, label: \"Active\" },\r\n { value: 2, label: \"On Hold\" },\r\n ];\r\n const listDriver = [\r\n { value: \"\", label: \"Both\" },\r\n { value: 1, label: \"No\" },\r\n { value: 2, label: \"Yes\" },\r\n ];\r\n const [searchValue, setSearchValue] = React.useState(\"\");\r\n useEffect(() => {\r\n var currentData = { ...filterOptions };\r\n currentData.search = searchValue;\r\n window.$SmGsearchText = searchValue;\r\n const delayDebounceFn = setTimeout(() => {\r\n setfilterOptions(currentData);\r\n // Send Axios request here\r\n }, 1000);\r\n\r\n return () => clearTimeout(delayDebounceFn);\r\n }, [searchValue]);\r\n\r\n useEffect(() => {\r\n if (\r\n filterOptions.search !== null &&\r\n filterOptions.search !== undefined &&\r\n filterOptions.search !== \"\"\r\n ) {\r\n setSearchValue(filterOptions.search);\r\n }\r\n }, [filterOptions.search]);\r\n return (\r\n
\r\n
\r\n {\r\n var filter = { ...filterOptions };\r\n filter.ReLoadTable = filter.ReLoadTable ? true : false;\r\n setfilterOptions(filter);\r\n }}\r\n />\r\n
\r\n

Search

\r\n {\r\n const value = e.target.value;\r\n setSearchValue(value);\r\n }}\r\n />\r\n
\r\n
\r\n

Customers

\r\n {\r\n return {\r\n value: x.Id,\r\n label: x?.Name,\r\n };\r\n })}\r\n onChange={(e) => {\r\n var filter = { ...filterOptions };\r\n if (e?.length === 0) {\r\n filter.customers = [];\r\n } else if (e !== null) {\r\n filter.customers = e;\r\n } else {\r\n filter.customers = [];\r\n }\r\n setfilterOptions(filter);\r\n }}\r\n />\r\n
\r\n\r\n
\r\n

Service

\r\n a.Id === filterOptions.service\r\n )?.map((x) => {\r\n return {\r\n value: x.Id,\r\n label: x?.Name,\r\n };\r\n })}\r\n options={ViewModel?.Services?.map((x) => {\r\n return {\r\n value: x.Id,\r\n label: x?.Name,\r\n };\r\n })}\r\n onChange={(e) => {\r\n var filter = { ...filterOptions };\r\n if (e !== null) {\r\n filter.service = e?.value;\r\n filter.mode = \"\";\r\n filter.serviceLevelId = \"\";\r\n filter.eqTypeId = \"\";\r\n filter.eqSizeId = \"\";\r\n window.$ShipmentManagementModeId = \"\";\r\n window.$ShipmentManagementServiceId = e?.value;\r\n } else {\r\n filter.service = \"\";\r\n filter.mode = \"\";\r\n filter.serviceLevelId = \"\";\r\n filter.eqTypeId = \"\";\r\n filter.eqSizeId = \"\";\r\n window.$ShipmentManagementModeId = \"\";\r\n window.$ShipmentManagementServiceId = \"\";\r\n }\r\n setfilterOptions(filter);\r\n }}\r\n />\r\n
\r\n
\r\n

Mode

\r\n a.Id === filterOptions.service\r\n )[0]\r\n ?.Modes.filter((a) => a.Id === filterOptions.mode)\r\n .map((x) => {\r\n return {\r\n value: x.Id,\r\n label: x?.Name,\r\n };\r\n })}\r\n options={ViewModel?.Services?.filter(\r\n (a) => a.Id === filterOptions.service\r\n )[0]?.Modes.map((x) => {\r\n return {\r\n value: x.Id,\r\n label: x?.Name,\r\n };\r\n })}\r\n onChange={(e) => {\r\n var filter = { ...filterOptions };\r\n if (e !== null) {\r\n window.$ShipmentManagementModeId = e?.value;\r\n filter.mode = e?.value;\r\n filter.serviceLevelId = \"\";\r\n filter.eqTypeId = \"\";\r\n filter.eqSizeId = \"\";\r\n } else {\r\n window.$ShipmentManagementModeId = \"\";\r\n filter.mode = \"\";\r\n filter.serviceLevelId = \"\";\r\n filter.eqTypeId = \"\";\r\n filter.eqSizeId = \"\";\r\n }\r\n setfilterOptions(filter);\r\n }}\r\n />\r\n
\r\n
\r\n

Service Level

\r\n a.Id === filterOptions.service\r\n )[0]\r\n ?.Modes?.filter((a) => a.Id === filterOptions.mode)[0]\r\n ?.ServiceLevels?.filter(\r\n (a) => a.Id === filterOptions.serviceLevelId\r\n )\r\n .map((x) => {\r\n return {\r\n value: x.Id,\r\n label: x?.Name,\r\n };\r\n })}\r\n options={ViewModel?.Services?.filter(\r\n (a) => a.Id === filterOptions.service\r\n )[0]\r\n ?.Modes?.filter((a) => a.Id === filterOptions.mode)[0]\r\n ?.ServiceLevels?.map((x) => {\r\n return {\r\n value: x.Id,\r\n label: x?.Name,\r\n };\r\n })}\r\n onChange={(e) => {\r\n var filter = { ...filterOptions };\r\n if (e !== null) {\r\n filter.serviceLevelId = e?.value;\r\n filter.eqTypeId = \"\";\r\n filter.eqSizeId = \"\";\r\n } else {\r\n filter.serviceLevelId = \"\";\r\n filter.eqTypeId = \"\";\r\n filter.eqSizeId = \"\";\r\n }\r\n setfilterOptions(filter);\r\n }}\r\n />\r\n
\r\n
\r\n

Equipment Type

\r\n a.Id === filterOptions.service\r\n )[0]\r\n ?.Modes?.filter((a) => a.Id === filterOptions.mode)[0]\r\n ?.ServiceLevels?.filter(\r\n (a) => a.Id === filterOptions.serviceLevelId\r\n )[0]\r\n ?.EquipmentTypes?.filter((a) => a.Id === filterOptions.eqTypeId)\r\n ?.map((x) => {\r\n return {\r\n value: x.Id,\r\n label: x?.Name,\r\n };\r\n })}\r\n options={ViewModel?.Services?.filter(\r\n (a) => a.Id === filterOptions.service\r\n )[0]\r\n ?.Modes?.filter((a) => a.Id === filterOptions.mode)[0]\r\n ?.ServiceLevels?.filter(\r\n (a) => a.Id === filterOptions.serviceLevelId\r\n )[0]\r\n ?.EquipmentTypes?.map((x) => {\r\n return {\r\n value: x.Id,\r\n label: x?.Name,\r\n };\r\n })}\r\n onChange={(e) => {\r\n var filter = { ...filterOptions };\r\n if (e !== null) {\r\n filter.eqTypeId = e?.value;\r\n filter.eqSizeId = \"\";\r\n } else {\r\n filter.eqTypeId = \"\";\r\n filter.eqSizeId = \"\";\r\n }\r\n setfilterOptions(filter);\r\n }}\r\n />\r\n
\r\n
\r\n

Equipment Size

\r\n a.Id === filterOptions.service\r\n )[0]\r\n ?.Modes?.filter((a) => a.Id === filterOptions.mode)[0]\r\n ?.ServiceLevels?.filter(\r\n (a) => a.Id === filterOptions.serviceLevelId\r\n )[0]\r\n ?.EquipmentTypes?.filter(\r\n (a) => a.Id === filterOptions.eqTypeId\r\n )[0]\r\n ?.EquipmentSizes?.filter((a) => a.Id === filterOptions.eqSizeId)\r\n ?.map((x) => {\r\n return {\r\n value: x.Id,\r\n label: x?.Name,\r\n };\r\n })}\r\n options={ViewModel?.Services?.filter(\r\n (a) => a.Id === filterOptions.service\r\n )[0]\r\n ?.Modes?.filter((a) => a.Id === filterOptions.mode)[0]\r\n ?.ServiceLevels?.filter(\r\n (a) => a.Id === filterOptions.serviceLevelId\r\n )[0]\r\n ?.EquipmentTypes?.filter(\r\n (a) => a.Id === filterOptions.eqTypeId\r\n )[0]\r\n ?.EquipmentSizes?.map((x) => {\r\n return {\r\n value: x.Id,\r\n label: x?.Name,\r\n };\r\n })}\r\n onChange={(e) => {\r\n var filter = { ...filterOptions };\r\n if (e !== null) {\r\n filter.eqSizeId = e?.value;\r\n } else {\r\n filter.eqSizeId = \"\";\r\n }\r\n setfilterOptions(filter);\r\n }}\r\n />\r\n
\r\n
\r\n

Ship From

\r\n {\r\n return {\r\n value: x.Id,\r\n label: x?.Code + \"-\" + x?.Name,\r\n };\r\n })}\r\n onChange={(e) => {\r\n var filter = { ...filterOptions };\r\n if (e !== null) {\r\n filter.ShipFrom = e?.value;\r\n } else {\r\n filter.ShipFrom = \"\";\r\n }\r\n setfilterOptions(filter);\r\n }}\r\n />\r\n
\r\n
\r\n

Date Filter

\r\n String(a.value) === filterOptions.DateRangeType\r\n )}\r\n onChange={(e) => {\r\n var filter = { ...filterOptions };\r\n if (e !== null) {\r\n filter.DateRangeType = e?.value;\r\n } else {\r\n filter.DateRangeType = \"\";\r\n }\r\n setfilterOptions(filter);\r\n }}\r\n />\r\n
\r\n
\r\n

Date Start - End

\r\n {\r\n var filter = { ...filterOptions };\r\n if (startDate) {\r\n filter.startDate = formatDate(startDate) + \"T12:00\";\r\n } else {\r\n filter.startDate = \"\";\r\n }\r\n if (endDate) {\r\n filter.endDate = formatDate(endDate) + \"T12:00\";\r\n } else {\r\n filter.endDate = \"\";\r\n }\r\n setfilterOptions(filter);\r\n }}\r\n dateFormat=\"MM/DD/YYYY\"\r\n minDate={new Date(1900, 0, 1)}\r\n maxDate={new Date(2100, 0, 1)}\r\n startDatePlaceholder=\"Start Date\"\r\n endDatePlaceholder=\"End Date\"\r\n disabled={false}\r\n className=\"my-own-class-name\"\r\n startWeekDay=\"monday\"\r\n />\r\n
\r\n
\r\n

Carrier

\r\n {\r\n return {\r\n value: x.Id,\r\n label: x?.Code + \"-\" + x?.Name,\r\n };\r\n })}\r\n onChange={(e) => {\r\n var filter = { ...filterOptions };\r\n if (e !== null) {\r\n filter.VendorId = e?.value;\r\n } else {\r\n filter.VendorId = \"\";\r\n }\r\n setfilterOptions(filter);\r\n }}\r\n />\r\n
\r\n
\r\n \r\n {\r\n let value = e?.value;\r\n if (value === 1) {\r\n value = false;\r\n } else if (value === 2) {\r\n value = true;\r\n } else {\r\n value = \"\";\r\n }\r\n var filter = { ...filterOptions };\r\n if (e !== null) {\r\n setIsCancel(e);\r\n filter.IsCanceled = value;\r\n window.$ShipmentManagementCanceled = value;\r\n } else {\r\n setIsCancel({ value: \"\", label: \"Both\" });\r\n filter.IsCanceled = \"\";\r\n window.$ShipmentManagementCanceled = \"\";\r\n }\r\n setfilterOptions(filter);\r\n }}\r\n isClearable\r\n options={listCanceled}\r\n value={IsCancel}\r\n />\r\n
\r\n
\r\n \r\n {\r\n let value = e?.value;\r\n if (value === 1) {\r\n value = false;\r\n } else if (value === 2) {\r\n value = true;\r\n } else {\r\n value = \"\";\r\n }\r\n var filter = { ...filterOptions };\r\n if (e !== null) {\r\n setOnHold(e);\r\n filter.OnHold = value;\r\n } else {\r\n setOnHold({ value: \"\", label: \"Both\" });\r\n filter.OnHold = \"\";\r\n }\r\n setfilterOptions(filter);\r\n }}\r\n isClearable\r\n options={listOnHold}\r\n value={OnHold}\r\n />\r\n
\r\n
\r\n \r\n {\r\n let value = e?.value;\r\n if (value === 1) {\r\n value = false;\r\n } else if (value === 2) {\r\n value = true;\r\n } else {\r\n value = \"\";\r\n }\r\n var filter = { ...filterOptions };\r\n if (e !== null) {\r\n filter.driverCheckedIn = value;\r\n } else {\r\n filter.driverCheckedIn = \"\";\r\n }\r\n setfilterOptions(filter);\r\n }}\r\n isClearable\r\n options={listDriver}\r\n value={listDriver.filter(\r\n (a) =>\r\n a.value ===\r\n (filterOptions?.driverCheckedIn === true\r\n ? 2\r\n : filterOptions?.driverCheckedIn === false\r\n ? 1\r\n : \"\")\r\n )}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n {\r\n var filter = { ...filterOptions };\r\n filter.hot = e.target.checked;\r\n setfilterOptions(filter);\r\n }}\r\n />\r\n \r\n \r\n \r\n
\r\n
\r\n {\r\n var filter = { ...filterOptions };\r\n filter.hasMat = e.target.checked;\r\n setfilterOptions(filter);\r\n }}\r\n />\r\n \r\n \r\n \r\n
\r\n
\r\n {\r\n var filter = { ...filterOptions };\r\n filter.isHeavy = e.target.checked;\r\n setfilterOptions(filter);\r\n }}\r\n />\r\n \r\n \r\n \r\n
\r\n
\r\n {\r\n var filter = { ...filterOptions };\r\n filter.closed = e.target.checked;\r\n window.$ShipmentManagementClosed = e.target.checked;\r\n setfilterOptions(filter);\r\n }}\r\n />\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n WORKFLOW:{\" \"}\r\n \r\n {\" \"}\r\n {statusesList?.ShipmentsCount?.find(\r\n (x) => x.StatusId === filterOptions?.statusId\r\n )?.StatusName ?? \"All Statuses\"}\r\n \r\n \r\n \r\n CUSTOMER:{\" \"}\r\n \r\n {filterOptions.customers?.length === 0\r\n ? \"All\"\r\n : filterOptions.customers.map((a) => a.label).join(\", \")}\r\n \r\n \r\n \r\n SERVICE:{\" \"}\r\n \r\n {\r\n ViewModel?.Services?.filter(\r\n (a) => a.Id === filterOptions.service\r\n )[0]?.Name\r\n }\r\n \r\n \r\n \r\n MODE:{\" \"}\r\n \r\n {\r\n ViewModel?.Services?.filter(\r\n (a) => a.Id === filterOptions.service\r\n )[0]\r\n ?.Modes.filter((a) => a.Id === filterOptions.mode)\r\n .map((x) => {\r\n return x?.Name;\r\n })[0]\r\n }\r\n \r\n \r\n \r\n HOT: {filterOptions?.hot === false ? \"false\" : \"true\"}\r\n \r\n \r\n HAZMAT: {filterOptions?.hasMat === false ? \"false\" : \"true\"}\r\n \r\n \r\n Heavy: {filterOptions?.isHeavy === false ? \"false\" : \"true\"}\r\n \r\n \r\n Closed: {filterOptions?.closed === false ? \"false\" : \"true\"}\r\n \r\n
\r\n
\r\n false}\r\n onClick={(event) => {\r\n try {\r\n let filterOptionsReset = { ...filterOptions };\r\n filterOptionsReset = {\r\n customers: [],\r\n service: window.$ShipmentManagementServiceId,\r\n mode: window.$ShipmentManagementModeId,\r\n serviceLevelId: \"\",\r\n IsCanceled: null,\r\n search: \"\",\r\n eqTypeId: \"\",\r\n eqSizeId: \"\",\r\n DateRangeType: \"created\",\r\n exceptionsId: \"\",\r\n ShipFrom: \"\",\r\n VendorId: \"\",\r\n startDate: \"\",\r\n endDate: \"\",\r\n statusId: \"\",\r\n StatusName: \"\",\r\n hot: false,\r\n hasMat: false,\r\n isHeavy: false,\r\n canceled: \"\",\r\n driverCheckedIn: \"\",\r\n closed: \"\",\r\n };\r\n setfilterOptions(filterOptionsReset);\r\n } catch (err) {}\r\n }}\r\n className=\"btn btn-light-info btn-elevate\"\r\n >\r\n \r\n Clear Filters\r\n \r\n
\r\n
\r\n
\r\n );\r\n}\r\n","import low from \"lowdb\";\r\nimport LocalStorage from \"lowdb/adapters/LocalStorage\";\r\nimport React, { Fragment, useState } from \"react\";\r\nimport { Dropdown, Modal, OverlayTrigger, Tooltip } from \"react-bootstrap\";\r\nimport SVG from \"react-inlinesvg\";\r\nimport { toAbsoluteUrl } from \"../../../../../../../_metronic/_helpers\";\r\nimport { currencyFormat, Export } from \"../../../../../../../_metronic/_helpers/ATHelpers\";\r\nimport { DropdownCustomTogglerPrimary } from \"../../../../../../../_metronic/_partials/dropdowns/DropdownCustomToggler\";\r\nimport { Notification } from \"../../../../../Notification\";\r\nimport { ChargesModel } from \"../../../Transload/FindOrders/product-Containers/remark-edit-dialog/ChargesFunction\";\r\nimport { OneMoveMaster } from \"../../../Transload/FindOrders/product-Containers/remark-edit-dialog/OneMoveMaster\";\r\nimport SaveIcon from \"@material-ui/icons/Save\";\r\nimport { SendEmail } from \"../SendEmail\";\r\nconst adapter = new LocalStorage(\"db\");\r\nconst db = low(adapter);\r\n\r\nexport default function MenuIndex(props) {\r\n async function GetShipmentManifest(link) {\r\n return await fetch(window.$apiurl + link, {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n return res[1];\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n const OneMoveMasterFunction = () => {\r\n const [OneMoveMasterShow, setOneMoveMasterShow] = useState(false);\r\n return (\r\n <>\r\n {\r\n setOneMoveMasterShow(false);\r\n }}\r\n >\r\n \r\n \r\n \r\n );\r\n };\r\n const SendEmailFunction = () => {\r\n const [showModalSend, setshowModalSend] = useState(false);\r\n return (\r\n <>\r\n {showModalSend && (\r\n \r\n )}\r\n false}\r\n className=\"navi-link\"\r\n onClick={() => {\r\n setshowModalSend(true);\r\n }}\r\n >\r\n \r\n \r\n \r\n Send Documents\r\n \r\n \r\n );\r\n };\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n {/* BOL */}\r\n
  • \r\n false}\r\n className=\"navi-link\"\r\n onClick={() => {\r\n props.modalActions.setRowItem(props.row?.id);\r\n props.modalActions.setBol(true);\r\n }}\r\n >\r\n \r\n \r\n \r\n BOL\r\n \r\n
  • \r\n {/* Shipment Manifest */}\r\n
  • \r\n false}\r\n className=\"navi-link\"\r\n onClick={() => {\r\n props.modalActions.setRowItem(props?.row?.id);\r\n props.modalActions.setOutboundManifest(true);\r\n localStorage.setItem(\r\n \"SmManifestCustomer\",\r\n JSON.stringify(props?.row?.CustomerName)\r\n );\r\n }}\r\n >\r\n \r\n \r\n \r\n Shipment Manifest\r\n \r\n
  • {\" \"}\r\n {/* Rate Confirmation */}\r\n
  • \r\n false}\r\n className=\"navi-link\"\r\n onClick={() => {\r\n props.modalActions.setRowItem(props?.row?.id);\r\n props.modalActions.setModeItem(props?.row?.Mode);\r\n props.modalActions.setRateConfirmation(true);\r\n }}\r\n >\r\n \r\n \r\n \r\n Rate Confirmation\r\n \r\n
  • {\" \"}\r\n {/* P & L */}\r\n
  • \r\n false}\r\n className=\"navi-link\"\r\n onClick={() => {\r\n props.modalActions.setRowItem(props.row?.Id);\r\n props.modalActions.setPL(true);\r\n }}\r\n >\r\n \r\n \r\n \r\n P & L\r\n \r\n
  • {\" \"}\r\n {/* Export 1 */}\r\n
  • \r\n false}\r\n className=\"navi-link\"\r\n onClick={async () => {\r\n try {\r\n let data = [];\r\n const currentList = [];\r\n if (props?.row?.CustomerName !== \"Lulus\") {\r\n data = await GetShipmentManifest(\r\n `/Shipments/OutboundManifest/${props?.row?.id}`\r\n );\r\n if (data.ShipItems.length > 0) {\r\n data.ShipItems.map((item) => {\r\n currentList.push({\r\n PO: item.PurchaseOrder,\r\n SKU: item.Sku,\r\n Description: item.Description,\r\n CasePack: item.CasePack,\r\n ShipQTY: item.ShipQuantity,\r\n ShipUOM: item.ShipUom,\r\n Weight_LBS: currencyFormat(item.Weight),\r\n Cube_CBM: currencyFormat(item.Cube),\r\n ItemQty: item.Pieces,\r\n Container: item.EquipmentRef,\r\n });\r\n return item;\r\n });\r\n Export(\r\n currentList,\r\n \"excel\",\r\n `Shipment_Manifest#_${props?.row?.id}`\r\n );\r\n } else {\r\n Notification(\r\n \"warning\",\r\n `No Data Items on this Shipment# ${props?.row?.id}`\r\n );\r\n }\r\n } else {\r\n data = await GetShipmentManifest(\r\n `/pallets/GetPalletByShipment/${props?.row?.id}`\r\n );\r\n data.pallets?.length > 0 &&\r\n data.pallets.map((itemX) => {\r\n itemX.ItemsList.length > 0 &&\r\n itemX.ItemsList.map((itemY) => {\r\n itemY.PalletId = itemX.Id;\r\n currentList.push(itemY);\r\n return itemY;\r\n });\r\n return itemX;\r\n });\r\n if (data.pallets?.length > 0) {\r\n Export(\r\n currentList,\r\n \"excel\",\r\n `Shipment_Manifest#_${props?.row?.id}`\r\n );\r\n } else {\r\n Notification(\r\n \"warning\",\r\n `No Data Items on this Shipment# ${props?.row?.id}`\r\n );\r\n }\r\n }\r\n } catch (err) {\r\n console.log(err);\r\n }\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n Export Shipment Manifest (XLSX)\r\n \r\n \r\n
  • \r\n {/* Export 2 */}\r\n
  • \r\n false}\r\n className=\"navi-link\"\r\n onClick={async () => {\r\n try {\r\n let data = [];\r\n const currentList = [];\r\n if (props?.row?.CustomerName !== \"Lulus\") {\r\n data = await GetShipmentManifest(\r\n `/Shipments/OutboundManifest/${props?.row?.id}`\r\n );\r\n if (data.ShipItems.length > 0) {\r\n data.ShipItems.forEach((item) => {\r\n currentList.push({\r\n PO: item.PurchaseOrder,\r\n SKU: item.Sku,\r\n Description: item.Description,\r\n CasePack: item.CasePack,\r\n ShipQTY: item.ShipQuantity,\r\n ShipUOM: item.ShipUom,\r\n Weight_LBS: currencyFormat(item.Weight),\r\n Cube_CBM: currencyFormat(item.Cube),\r\n ItemQty: item.Pieces,\r\n Container: item.EquipmentRef,\r\n });\r\n });\r\n Export(\r\n currentList,\r\n \"csv\",\r\n `Shipment_Manifest#_${props?.row?.id}`\r\n );\r\n } else {\r\n Notification(\r\n \"warning\",\r\n `No Data Items on this Shipment# ${props?.row?.id}`\r\n );\r\n }\r\n } else {\r\n data = await GetShipmentManifest(\r\n `/pallets/GetPalletByShipment/${props?.row?.id}`\r\n );\r\n data.pallets?.length > 0 &&\r\n data.pallets.forEach((itemX) => {\r\n itemX.ItemsList.length > 0 &&\r\n itemX.ItemsList.forEach((itemY) => {\r\n itemY.PalletId = itemX.Id;\r\n currentList.push(itemY);\r\n });\r\n });\r\n if (data.pallets?.length > 0) {\r\n Export(\r\n currentList,\r\n \"csv\",\r\n `Shipment_Manifest#_${props?.row?.id}`\r\n );\r\n } else {\r\n Notification(\r\n \"warning\",\r\n `No Data Items on this Shipment# ${props?.row?.id}`\r\n );\r\n }\r\n }\r\n } catch (err) {\r\n console.log(err);\r\n }\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n Export Shipment Manifest (CSV)\r\n \r\n \r\n
  • \r\n {/* Charges */}\r\n
  • \r\n \r\n
  • \r\n
  • \r\n \r\n
  • \r\n
\r\n
\r\n
\r\n \r\n
\r\n );\r\n}\r\n","import React, { useState, useEffect } from \"react\";\r\nimport {\r\n OverlayTrigger,\r\n Modal,\r\n Alert,\r\n Accordion,\r\n Tooltip,\r\n Tabs,\r\n Tab,\r\n Dropdown,\r\n Spinner,\r\n Row,\r\n Col,\r\n} from \"react-bootstrap\";\r\nimport {\r\n momentDate,\r\n currencyFormat,\r\n momentDateOnly,\r\n ActivityFunction,\r\n DateTime30minInterval,\r\n GetBaseData,\r\n DateTime30GL,\r\n GetCarrierCheckedInData,\r\n} from \"../../../../../../_metronic/_helpers/ATHelpers\";\r\nimport Select, { components, PlaceholderProps } from \"react-select\";\r\nimport {\r\n OrderAttachementsV2,\r\n TmsAttachementsStatus,\r\n} from \"../../Transload/FindOrders/product-edit/OrderAttachements\";\r\nimport { Notification } from \"../../../../../modules/Notification\";\r\nimport { Icon, TextField } from \"@material-ui/core\";\r\nimport clsx from \"clsx\";\r\nimport { makeStyles, useTheme } from \"@material-ui/core/styles\";\r\nimport low from \"lowdb\";\r\nimport LocalStorage from \"lowdb/adapters/LocalStorage\";\r\nimport { RemarkEditDialog } from \"../../Transload/FindOrders/product-Containers/remark-edit-dialog/RemarkEditDialog\";\r\nimport { ContainersUIProvider } from \"../../Transload/FindOrders/product-Containers/RemarksUIContext\";\r\nimport axios from \"axios\";\r\nimport { toAbsoluteUrl } from \"../../../../../../_metronic/_helpers\";\r\nimport SVG from \"react-inlinesvg\";\r\nimport $ from \"jquery\";\r\nimport {\r\n TableRow,\r\n TableHead,\r\n TableCell,\r\n TableBody,\r\n Table,\r\n Button,\r\n Paper,\r\n IconButton,\r\n TablePagination,\r\n} from \"@material-ui/core\";\r\nimport GoogleMapReact from \"google-map-react\";\r\nimport moment from \"moment\";\r\nimport { OneMoveMaster } from \"../../../../eMPower/pages/Transload/FindOrders/product-Containers/remark-edit-dialog/OneMoveMaster\";\r\nimport CloseIcon from \"@material-ui/icons/Close\";\r\nimport { Card } from \"react-bootstrap\";\r\nimport FirstPageIcon from \"@material-ui/icons/FirstPage\";\r\nimport KeyboardArrowLeft from \"@material-ui/icons/KeyboardArrowLeft\";\r\nimport KeyboardArrowRight from \"@material-ui/icons/KeyboardArrowRight\";\r\nimport LastPageIcon from \"@material-ui/icons/LastPage\";\r\nimport PDFViewer from \"pdf-viewer-reactjs\";\r\nimport FileViewer from \"react-file-viewer\";\r\nimport \"../../ReceiptsManagementNewVersion/customers-table/FileViewerStyle.css\";\r\nimport FileSaver from \"file-saver\";\r\nimport { DropdownCustomTogglerYellow } from \"../../../../../../_metronic/_partials/dropdowns/DropdownCustomToggler\";\r\nimport { SendEmail } from \"./SendEmail\";\r\nimport {\r\n CheckboxLargeWB,\r\n DenseTableSm,\r\n} from \"../../../../../../_metronic/_partials/controls\";\r\nimport DynamicReport from \"../../../../../pages/DynamicReport/DynamicReport\";\r\nimport { BLFORM } from \"../../../../../pages/BL/BLFORM\";\r\nimport { ChargesFunctionCompo } from \"../../Transload/FindOrders/product-Containers/remark-edit-dialog/ChargesFunction\";\r\nimport MenuIndex from \"./Menu/Index\";\r\nimport Swal from \"sweetalert2\";\r\nconst adapter = new LocalStorage(\"db\");\r\nconst db = low(adapter);\r\n\r\nlet statusNoteRollBack = \"\";\r\nlet statusIdRollBack = \"\";\r\nconst useStyles = makeStyles((theme) => ({\r\n typography: {\r\n padding: theme.spacing(2),\r\n },\r\n}));\r\nfunction formatDate(date) {\r\n if (date === null || date === undefined || date === \"\") {\r\n return \"\";\r\n }\r\n var d = new Date(date),\r\n month = \"\" + (d.getMonth() + 1),\r\n day = \"\" + d.getDate(),\r\n year = d.getFullYear();\r\n\r\n if (month.length < 2) month = \"0\" + month;\r\n if (day.length < 2) day = \"0\" + day;\r\n\r\n return [month, day, year].join(\"-\");\r\n}\r\nfunction IsValid(name, str) {\r\n try {\r\n if (\r\n str?.includes(\"null\") ||\r\n str?.includes(\"undefined\") ||\r\n str?.includes(\"Invalid date\")\r\n )\r\n str = undefined;\r\n } catch (error) {}\r\n return (\r\n <>\r\n
\r\n
\r\n {name}\r\n
\r\n
\r\n : {str || Empty}\r\n
\r\n
\r\n \r\n );\r\n}\r\nfunction IsValidColumn(name, str) {\r\n try {\r\n if (str?.includes(\"null\") || str?.includes(\"undefined\")) str = undefined;\r\n } catch (error) {}\r\n return (\r\n <>\r\n
\r\n
\r\n {name}\r\n
\r\n
\r\n {str || Empty}\r\n
\r\n
\r\n \r\n );\r\n}\r\n\r\nfunction tConvert(time) {\r\n if (time === undefined || time === null || time === \"\") {\r\n return \"\";\r\n } else {\r\n // Check correct time format and split into components\r\n time = time\r\n .toString()\r\n .match(/^([01]\\d|2[0-3])(:)([0-5]\\d)(:[0-5]\\d)?$/) || [time];\r\n\r\n if (time.length > 1) {\r\n // If time format correct\r\n time = time.slice(1); // Remove full string match value\r\n time[5] = +time[0] < 12 ? \" AM\" : \" PM\"; // Set AM/PM\r\n time[0] = +time[0] % 12 || 12; // Adjust hours\r\n }\r\n return time.join(\"\"); // return adjusted time or original string\r\n }\r\n}\r\nlet checkindriver = {\r\n ShipmentId: \"\",\r\n DriverName: \"\",\r\n PhoneNumber: \"\",\r\n CompanyName: \"\",\r\n PickupNumber: \"\",\r\n PickupAppDate: new Date(),\r\n SealDroppingTrailerNumber: \"\",\r\n SealDroppingNumber: \"\",\r\n SealPickingUpTrailerNumber: \"\",\r\n SealPickingUpNumber: \"\",\r\n Type: 1,\r\n IsChanged: false,\r\n};\r\nlet checkindriverOut = {\r\n ShipmentId: \"\",\r\n DriverName: \"\",\r\n PhoneNumber: \"\",\r\n CompanyName: \"\",\r\n PickupNumber: \"\",\r\n PickupAppDate: new Date(),\r\n SealDroppingTrailerNumber: \"\",\r\n SealDroppingNumber: \"\",\r\n SealPickingUpTrailerNumber: \"\",\r\n SealPickingUpNumber: \"\",\r\n Type: 2,\r\n IsChanged: false,\r\n};\r\nconst Option = (props) => {\r\n return (\r\n
\r\n \r\n
\r\n );\r\n};\r\nexport const ModelMnagementTMSWarehouse = ({\r\n row,\r\n filterOptions,\r\n DataWareHouse,\r\n GetWarehousDataPageChanges,\r\n paginationOptions,\r\n ...props\r\n}) => {\r\n function nextOrder(statusId) {\r\n const index = DataWareHouse?.ShipmentsCount?.findIndex(\r\n (order) => String(order.StatusId) === String(statusId)\r\n );\r\n if (\r\n index === -1 ||\r\n index === DataWareHouse?.ShipmentsCount.length - 2 ||\r\n index === DataWareHouse?.ShipmentsCount.length - 1\r\n ) {\r\n // No such order or no next order\r\n return null;\r\n }\r\n\r\n return DataWareHouse?.ShipmentsCount[index + 1];\r\n }\r\n function PrevOrder(statusId) {\r\n const index = DataWareHouse?.ShipmentsCount?.findIndex(\r\n (order) => String(order.StatusId) === String(statusId)\r\n );\r\n if (index === -1 || index === 0) {\r\n // No such order or no next order\r\n return null;\r\n }\r\n\r\n return DataWareHouse?.ShipmentsCount[index - 1];\r\n }\r\n const classes = useStyles();\r\n const [Show, setShow] = useState(false);\r\n const [OneMoveMasterShow, setOneMoveMasterShow] = useState(false);\r\n const [Issue210, setIssue210] = useState([]);\r\n const [Show210issue, setShow210issue] = useState(false);\r\n const [LoadingCarrierPost, setLoadingCarrierPost] = useState(false);\r\n const [loadingModalShow, setloadingModalShow] = useState(false);\r\n const [showModalSend, setshowModalSend] = useState(false);\r\n const [showModalPickedUp, setshowModalPickedUp] = useState(false);\r\n const [\r\n CancelModelShowingConfirmation,\r\n setModelShowingConfirmationCancel,\r\n ] = useState(false);\r\n const [rowItem, setRowItem] = useState(null);\r\n const [loadedModalShow, setloadedModalShow] = useState(false);\r\n const [NotesText, setNotesText] = useState(\"\");\r\n const [DriverSheckInModal, setDriverSheckInModal] = useState(false);\r\n const [ShowRemarks, setShowRemarks] = useState(false);\r\n const [RollBackLoadingPost, setRollBackLoadingPost] = useState(false);\r\n const [ReceiptVendorRemoved, setReceiptVendorRemoved] = useState([]);\r\n const [GlobalStatusListOptions, setGlobalStatusListOptions] = useState([]);\r\n const [ReceiptVendorList, setReceiptVendorList] = useState([]);\r\n const [StatusListOptions, setStatusListOptions] = useState([]);\r\n const [initCarrier, setinitCarrier] = useState({\r\n ShipmentId: \"\",\r\n DriverName: \"\",\r\n PhoneNumber: \"\",\r\n CompanyName: \"\",\r\n PickupNumber: \"\",\r\n PickupAppDate: new Date(),\r\n SealDroppingTrailerNumber: \"\",\r\n SealDroppingNumber: \"\",\r\n SealPickingUpTrailerNumber: \"\",\r\n SealPickingUpNumber: \"\",\r\n Type: 1,\r\n IsChanged: false,\r\n });\r\n const [initCarrierOut, setinitCarrierOut] = useState({\r\n ShipmentId: \"\",\r\n DriverName: \"\",\r\n PhoneNumber: \"\",\r\n CompanyName: \"\",\r\n PickupNumber: \"\",\r\n PickupAppDate: new Date(),\r\n SealDroppingTrailerNumber: \"\",\r\n SealDroppingNumber: \"\",\r\n SealPickingUpTrailerNumber: \"\",\r\n SealPickingUpNumber: \"\",\r\n Type: 2,\r\n IsChanged: false,\r\n });\r\n const [isCustomerValue, setIsCustomer] = useState(false);\r\n const [ActivitiesCarriersCheck, setActivitiesCarriersCheck] = useState(null);\r\n\r\n useEffect(() => {}, [row.Id]);\r\n\r\n const [ModelShowingConfirmation, setModelShowingConfirmation] = useState(\r\n false\r\n );\r\n const Placeholder = (props: PlaceholderProps) => {\r\n return ;\r\n };\r\n async function NextStatusCancel(text) {\r\n try {\r\n const noteValue = document.getElementById(\"valueNoteCancel\").value;\r\n if (text === `\"IsCancel\":true`) {\r\n if (noteValue === \"\" || noteValue === undefined || noteValue === null) {\r\n Notification(\"error\", \"please fill cencled note\");\r\n return;\r\n } else {\r\n await fetch(\r\n `${window.$apiurl}/transload/shipments/addnote/${rowItem?.Id}`,\r\n {\r\n method: \"post\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: `{\"body\":\"${noteValue}\",\"CategoryId\":12,\"accessLevelId\":5}`,\r\n }\r\n )\r\n .then((response) => {\r\n if (response.status !== 200) {\r\n Notification(\"error\", \"Note Note Add\");\r\n }\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n await fetch(`${window.$apiurl}/ShipmentActions/updateSingleStatus`, {\r\n method: \"post\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: `{\"Id\":${rowItem?.Id},${text}}`,\r\n })\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n const contentType = response.headers.get(\"content-type\");\r\n if (\r\n contentType &&\r\n contentType.indexOf(\"application/json\") !== -1\r\n ) {\r\n return response.json().then((data) => [statusCode, data]);\r\n } else {\r\n return response\r\n .text()\r\n .then((text) => [statusCode, { Message: \"\" }]);\r\n }\r\n })\r\n .then((result) => {\r\n if (result[0] === 200) {\r\n if (\r\n result[1].Message !== null &&\r\n result[1].Message !== undefined &&\r\n result[1].Message !== \"\"\r\n ) {\r\n Notification(\"infoClick\", result[1].Message);\r\n } else {\r\n if (result[0] === 200) {\r\n if (text.indexOf(\"IsNext\") > -1)\r\n Notification(\"success\", \"Next Status is successful\");\r\n else if (text.indexOf(\"IsRollBack\") > -1)\r\n Notification(\"success\", \"Roll Back Status is successful\");\r\n else if (text.indexOf(\"IsCancel\") > -1)\r\n Notification(\"success\", \"Cancel Order is successful\");\r\n }\r\n document.getElementById(\"ReLoadTableId\").click();\r\n }\r\n } else {\r\n if (\r\n result[1].Message !== null &&\r\n result[1].Message !== undefined &&\r\n result[1].Message !== \"\"\r\n ) {\r\n Notification(\"errorClick\", result[1].Message);\r\n } else {\r\n Notification(\"errorClick\", \"invalid request\");\r\n }\r\n }\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n document.getElementById(\"valueNoteCancel\").value = \"\";\r\n setModelShowingConfirmationCancel(false);\r\n }\r\n } else {\r\n await fetch(`${window.$apiurl}/ShipmentActions/updateSingleStatus`, {\r\n method: \"post\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: `{\"Id\":${rowItem?.Id},${text}}`,\r\n })\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n const contentType = response.headers.get(\"content-type\");\r\n if (contentType && contentType.indexOf(\"application/json\") !== -1) {\r\n return response.json().then((data) => [statusCode, data]);\r\n } else {\r\n return response\r\n .text()\r\n .then((text) => [statusCode, { Message: \"\" }]);\r\n }\r\n })\r\n .then((result) => {\r\n if (result[0] === 200) {\r\n if (text.indexOf(\"IsNext\") > -1)\r\n Notification(\"success\", \"Next Status is successful\");\r\n else if (text.indexOf(\"IsRollBack\") > -1)\r\n Notification(\"success\", \"Roll Back Status is successful\");\r\n else if (text.indexOf(\"IsCancel\") > -1)\r\n Notification(\"success\", \"Cancel Order is successful\");\r\n\r\n document.getElementById(\"ReLoadTableId\").click();\r\n } else {\r\n if (result[1]?.Message !== undefined) {\r\n Notification(\"errorClick\", result[1]?.Message);\r\n } else {\r\n Notification(\"errorClick\", \"Bad Request\");\r\n }\r\n }\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n setModelShowingConfirmationCancel(false);\r\n return;\r\n }\r\n } catch (err) {}\r\n }\r\n useEffect(() => {\r\n if (DataWareHouse !== null) {\r\n var listonstatus = JSON.parse(\r\n JSON.stringify(DataWareHouse?.ShipmentsCount)\r\n );\r\n var list = DataWareHouse?.ShipmentsCount?.map((a) => String(a.StatusId));\r\n\r\n const index = list?.indexOf(String(filterOptions.statusId));\r\n if (index > -1) {\r\n listonstatus.splice(index, DataWareHouse?.ShipmentsCount?.length);\r\n setStatusListOptions(listonstatus);\r\n }\r\n }\r\n }, [row.Id]);\r\n axios.get(\"auth/Login\").then((res) => {\r\n let userDefault;\r\n if (res.data !== undefined) {\r\n userDefault = {\r\n IsCustomer: res.data.IsCustomer,\r\n };\r\n setIsCustomer(userDefault.IsCustomer);\r\n }\r\n });\r\n useEffect(() => {\r\n window.ReceiptId = row?.ReceiptId;\r\n window.ReceiptManagmetShow = true;\r\n }, [row?.ReceiptId]);\r\n function Remarks() {\r\n return (\r\n <>\r\n \r\n \r\n \r\n \r\n );\r\n }\r\n\r\n function SimplePopover() {\r\n //BOL dynamic report\r\n const [showBol, setBol] = useState(false);\r\n const [rowItem, setRow] = useState(null);\r\n\r\n const [LoadingPostStatus, setLoadingPostStatus] = useState(false);\r\n const [ShowModalAssigned, setShowModalAssigned] = useState(false);\r\n const [optionsVandorList, setoptionsVandorList] = useState([]);\r\n const [initAssignedStatusVendor, setinitAssignedStatusVendor] = useState({\r\n ShipmentIds: [row.Id],\r\n VendorId: row?.CarrierId,\r\n VendorTypeId: 1308,\r\n ShipmentStatus: \"\",\r\n ThirdPartyBillToId: \"\",\r\n FreightChargeId: 98,\r\n });\r\n const [FreightChargeList, setFreightChargeList] = useState([]);\r\n const [optionsVandorTypeList, setoptionsVandorTypeList] = useState([]);\r\n const [BillToList, setBillToList] = useState([]);\r\n\r\n const [StatusSelectedRolledBack, setStatusSelectedRolledBack] = useState(\r\n null\r\n );\r\n\r\n async function GetListOfPreviewsStatus(params) {\r\n var myHeaders = new Headers();\r\n myHeaders.append(\"Authorization\", `Bearer ${db.read().getState().Token}`);\r\n\r\n var requestOptions = {\r\n method: \"GET\",\r\n headers: myHeaders,\r\n redirect: \"follow\",\r\n };\r\n\r\n fetch(\r\n `${window.$apiurl}/Shipments/GetShipmentVendors/${params}`,\r\n requestOptions\r\n )\r\n .then((response) => response.text())\r\n .then((result) => {\r\n var data = JSON.parse(result);\r\n setReceiptVendorList(data);\r\n })\r\n .catch((error) => console.log(\"error\", error));\r\n var statusList = JSON.parse(\r\n JSON.stringify(DataWareHouse?.ShipmentStatus)\r\n );\r\n setGlobalStatusListOptions(DataWareHouse?.ShipmentStatus || []);\r\n\r\n var list = statusList.map((a) => String(a.StatusId));\r\n const index = list.indexOf(String(DataWareHouse?.ShipmentStatus));\r\n if (index > -1) {\r\n statusList.splice(index, statusList.length);\r\n setStatusListOptions(statusList);\r\n }\r\n }\r\n\r\n function PostAssignedVandors() {\r\n try {\r\n var VandorSelected = initAssignedStatusVendor.VendorId;\r\n if (\r\n VandorSelected === null ||\r\n VandorSelected === undefined ||\r\n VandorSelected === \"\"\r\n ) {\r\n Notification(\"errorClick\", \"Please select vendor\");\r\n return;\r\n }\r\n setLoadingPostStatus(true);\r\n var myHeaders = new Headers();\r\n myHeaders.append(\r\n \"Authorization\",\r\n `bearer ${db.read().getState().Token}`\r\n );\r\n myHeaders.append(\"Content-Type\", \"application/json\");\r\n myHeaders.append(\"X-FP-API-KEY\", \"iphone\");\r\n var raw = JSON.stringify(initAssignedStatusVendor);\r\n var requestOptions = {\r\n method: \"POST\",\r\n headers: myHeaders,\r\n body: raw,\r\n redirect: \"follow\",\r\n };\r\n fetch(\r\n window.$apiurl + `/warehouseManagement/UpdateMultipleStatus`,\r\n requestOptions\r\n )\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n const contentType = response.headers.get(\"content-type\");\r\n if (contentType && contentType.indexOf(\"application/json\") !== -1) {\r\n return response.json().then((data) => [statusCode, data]);\r\n } else {\r\n return response\r\n .text()\r\n .then((text) => [statusCode, { Message: \"\" }]);\r\n }\r\n })\r\n .then((result) => {\r\n if (result[0] === 200) {\r\n if (\r\n result[1].Message !== null &&\r\n result[1].Message !== undefined &&\r\n result[1].Message !== \"\"\r\n ) {\r\n Notification(\"infoClick\", result[1].Message);\r\n setShowModalAssigned(false);\r\n } else {\r\n Notification(\r\n \"success\",\r\n `Status of shipments : [${initAssignedStatusVendor.ShipmentIds.map(\r\n (customer) => customer + \", \"\r\n )}] has been changed successfully`\r\n );\r\n }\r\n GetWarehousDataPageChanges(paginationOptions);\r\n setShowModalAssigned(false);\r\n } else {\r\n if (\r\n result[1].ModelState !== null &&\r\n result[1].ModelState !== undefined &&\r\n result[1].ModelState !== \"\"\r\n ) {\r\n let modelState = result[1].ModelState;\r\n if (modelState)\r\n Object.keys(modelState).forEach(function(k) {\r\n modelState[k].forEach((element) => {\r\n Notification(\"errorClick\", element);\r\n });\r\n });\r\n } else if (\r\n result[1].Message !== null &&\r\n result[1].Message !== undefined &&\r\n result[1].Message !== \"\"\r\n ) {\r\n Notification(\"errorClick\", result[1].Message);\r\n } else {\r\n Notification(\"errorClick\", \"Bad Request\");\r\n }\r\n }\r\n setLoadingPostStatus(false);\r\n })\r\n .catch((error) => {\r\n console.log(\"error\", error);\r\n setLoadingPostStatus(false);\r\n });\r\n } catch (e) {}\r\n }\r\n function NextStatus(id, statusId) {\r\n var myHeaders = new Headers();\r\n myHeaders.append(\"Authorization\", `bearer ${db.read().getState().Token}`);\r\n myHeaders.append(\"Content-Type\", \"application/json\");\r\n\r\n var raw = JSON.stringify({\r\n ShipmentIds: [id],\r\n ShipmentStatus: statusId,\r\n });\r\n\r\n var requestOptions = {\r\n method: \"POST\",\r\n headers: myHeaders,\r\n body: raw,\r\n redirect: \"follow\",\r\n };\r\n\r\n fetch(\r\n `${window.$apiurl}/warehouseManagement/UpdateMultipleStatus`,\r\n requestOptions\r\n )\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n const contentType = response.headers.get(\"content-type\");\r\n if (contentType && contentType.indexOf(\"application/json\") !== -1) {\r\n return response.json().then((data) => [statusCode, data]);\r\n } else {\r\n return response\r\n .text()\r\n .then((text) => [statusCode, { Message: \"\" }]);\r\n }\r\n })\r\n .then((result) => {\r\n if (result[0] === 200) {\r\n if (\r\n result[1].Message !== null &&\r\n result[1].Message !== undefined &&\r\n result[1].Message !== \"\"\r\n ) {\r\n Notification(\"infoClick\", result[1].Message);\r\n if (statusId !== 102) {\r\n GetWarehousDataPageChanges(paginationOptions);\r\n }\r\n } else {\r\n Notification(\"success\", \"Shipment has been Updated successfully\");\r\n if (statusId !== 102) {\r\n GetWarehousDataPageChanges(paginationOptions);\r\n }\r\n }\r\n } else {\r\n if (\r\n result[1].ModelState !== null &&\r\n result[1].ModelState !== undefined &&\r\n result[1].ModelState !== \"\"\r\n ) {\r\n let modelState = result[1].ModelState;\r\n if (modelState)\r\n Object.keys(modelState).forEach(function(k) {\r\n modelState[k].forEach((element) => {\r\n Notification(\"errorClick\", element);\r\n });\r\n });\r\n } else if (\r\n result[1].Message !== null &&\r\n result[1].Message !== undefined &&\r\n result[1].Message !== \"\"\r\n ) {\r\n Notification(\"errorClick\", result[1].Message);\r\n } else {\r\n Notification(\"errorClick\", \"Bad Request\");\r\n }\r\n }\r\n })\r\n .catch((error) => {\r\n console.log(\"error\", error);\r\n });\r\n }\r\n\r\n function SubmitLoadingDetail() {\r\n var Traillerdrop = document.getElementById(`Traillerdrop`).value;\r\n if (\r\n Traillerdrop === \"\" ||\r\n Traillerdrop === undefined ||\r\n Traillerdrop === null\r\n ) {\r\n Notification(\"error\", \"please fill tailler\");\r\n return;\r\n }\r\n setLoadingPostStatus(true);\r\n\r\n var myHeaders = new Headers();\r\n myHeaders.append(\"Authorization\", `bearer ${db.read().getState().Token}`);\r\n myHeaders.append(\"Content-Type\", \"application/json\");\r\n\r\n var raw = JSON.stringify({\r\n ShipmentIds: [row.Id],\r\n ShipmentStatus: 5,\r\n EquipmentNumber: Traillerdrop,\r\n });\r\n\r\n var requestOptions = {\r\n method: \"POST\",\r\n headers: myHeaders,\r\n body: raw,\r\n redirect: \"follow\",\r\n };\r\n\r\n fetch(\r\n `${window.$apiurl}/warehouseManagement/UpdateMultipleStatus`,\r\n requestOptions\r\n )\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n const contentType = response.headers.get(\"content-type\");\r\n if (contentType && contentType.indexOf(\"application/json\") !== -1) {\r\n return response.json().then((data) => [statusCode, data]);\r\n } else {\r\n return response\r\n .text()\r\n .then((text) => [statusCode, { Message: \"\" }]);\r\n }\r\n })\r\n .then((result) => {\r\n if (result[0] === 200) {\r\n if (\r\n result[1].Message !== null &&\r\n result[1].Message !== undefined &&\r\n result[1].Message !== \"\"\r\n ) {\r\n Notification(\"infoClick\", result[1].Message);\r\n GetWarehousDataPageChanges(paginationOptions);\r\n setloadingModalShow(false);\r\n } else {\r\n Notification(\"success\", \"Shipment has been Updated successfully\");\r\n GetWarehousDataPageChanges(paginationOptions);\r\n setloadingModalShow(false);\r\n }\r\n } else {\r\n if (\r\n result[1].ModelState !== null &&\r\n result[1].ModelState !== undefined &&\r\n result[1].ModelState !== \"\"\r\n ) {\r\n let modelState = result[1].ModelState;\r\n if (modelState)\r\n Object.keys(modelState).forEach(function(k) {\r\n modelState[k].forEach((element) => {\r\n Notification(\"errorClick\", element);\r\n });\r\n });\r\n } else if (\r\n result[1].Message !== null &&\r\n result[1].Message !== undefined &&\r\n result[1].Message !== \"\"\r\n ) {\r\n Notification(\"errorClick\", result[1].Message);\r\n } else {\r\n Notification(\"errorClick\", \"Bad Request\");\r\n }\r\n setloadingModalShow(false);\r\n }\r\n setLoadingPostStatus(false);\r\n })\r\n .catch((error) => {\r\n console.log(\"error\", error);\r\n setLoadingPostStatus(false);\r\n });\r\n }\r\n\r\n function SubmitLoadedDetail(parameters) {\r\n var SealNumber = document.getElementById(`SealNumberLoadedDetail`).value;\r\n if (\r\n SealNumber === \"\" ||\r\n SealNumber === undefined ||\r\n SealNumber === null\r\n ) {\r\n Notification(\"error\", \"please fill Seal #\");\r\n return;\r\n }\r\n setLoadingPostStatus(true);\r\n\r\n var myHeaders = new Headers();\r\n myHeaders.append(\"Authorization\", `bearer ${db.read().getState().Token}`);\r\n myHeaders.append(\"Content-Type\", \"application/json\");\r\n\r\n var raw = JSON.stringify({\r\n ShipmentIds: [row.Id],\r\n ShipmentStatus: 6,\r\n SealNumber: SealNumber,\r\n });\r\n\r\n var requestOptions = {\r\n method: \"POST\",\r\n headers: myHeaders,\r\n body: raw,\r\n redirect: \"follow\",\r\n };\r\n\r\n fetch(\r\n `${window.$apiurl}/warehouseManagement/UpdateMultipleStatus`,\r\n requestOptions\r\n )\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n const contentType = response.headers.get(\"content-type\");\r\n if (contentType && contentType.indexOf(\"application/json\") !== -1) {\r\n return response.json().then((data) => [statusCode, data]);\r\n } else {\r\n return response\r\n .text()\r\n .then((text) => [statusCode, { Message: \"\" }]);\r\n }\r\n })\r\n .then((result) => {\r\n if (result[0] === 200) {\r\n if (\r\n result[1].Message !== null &&\r\n result[1].Message !== undefined &&\r\n result[1].Message !== \"\"\r\n ) {\r\n Notification(\"infoClick\", result[1].Message);\r\n GetWarehousDataPageChanges(paginationOptions);\r\n setloadedModalShow(false);\r\n } else {\r\n Notification(\"success\", \"Shipment has been Updated successfully\");\r\n GetWarehousDataPageChanges(paginationOptions);\r\n setloadedModalShow(false);\r\n }\r\n } else {\r\n if (\r\n result[1].ModelState !== null &&\r\n result[1].ModelState !== undefined &&\r\n result[1].ModelState !== \"\"\r\n ) {\r\n let modelState = result[1].ModelState;\r\n if (modelState)\r\n Object.keys(modelState).forEach(function(k) {\r\n modelState[k].forEach((element) => {\r\n Notification(\"errorClick\", element);\r\n });\r\n });\r\n } else if (\r\n result[1].Message !== null &&\r\n result[1].Message !== undefined &&\r\n result[1].Message !== \"\"\r\n ) {\r\n Notification(\"errorClick\", result[1].Message);\r\n } else {\r\n Notification(\"errorClick\", \"Bad Request\");\r\n }\r\n setloadedModalShow(false);\r\n }\r\n setLoadingPostStatus(false);\r\n })\r\n .catch((error) => {\r\n console.log(\"error\", error);\r\n setLoadingPostStatus(false);\r\n });\r\n }\r\n function SubmitCarrierCheckIn() {\r\n if (checkindriver.IsChanged) {\r\n if (\r\n checkindriver.PickupNumber === \"\" ||\r\n checkindriver.DriverName === \"\" ||\r\n checkindriver.CompanyName === \"\"\r\n ) {\r\n Notification(\r\n \"errorClick\",\r\n \"Please fill Company Name, Driver Name and Pickup Number\"\r\n );\r\n return;\r\n }\r\n }\r\n var myHeaders = new Headers();\r\n myHeaders.append(\"Authorization\", `bearer ${db.read().getState().Token}`);\r\n myHeaders.append(\"Content-Type\", \"application/json\");\r\n setLoadingPostStatus(true);\r\n\r\n var objPosted = {\r\n ShipmentId: checkindriver?.ShipmentId,\r\n Checks: [checkindriver, checkindriverOut],\r\n };\r\n\r\n var raw = JSON.stringify(objPosted);\r\n\r\n var requestOptions = {\r\n method: \"POST\",\r\n headers: myHeaders,\r\n body: raw,\r\n redirect: \"follow\",\r\n };\r\n\r\n fetch(`${window.$apiurl}/driverCheckedIn`, requestOptions)\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n const contentType = response.headers.get(\"content-type\");\r\n if (contentType && contentType.indexOf(\"application/json\") !== -1) {\r\n return response.json().then((data) => [statusCode, data]);\r\n } else {\r\n return response\r\n .text()\r\n .then((text) => [statusCode, { Message: \"\" }]);\r\n }\r\n })\r\n .then((result) => {\r\n if (result[0] === 200) {\r\n if (\r\n result[1].Message !== null &&\r\n result[1].Message !== undefined &&\r\n result[1].Message !== \"\"\r\n ) {\r\n Notification(\"infoClick\", result[1].Message);\r\n setDriverSheckInModal(false);\r\n } else {\r\n Notification(\"success\", \"Shipment has been Updated successfully\");\r\n setDriverSheckInModal(false);\r\n }\r\n GetWarehousDataPageChanges(paginationOptions);\r\n } else {\r\n if (\r\n result[1].ModelState !== null &&\r\n result[1].ModelState !== undefined &&\r\n result[1].ModelState !== \"\"\r\n ) {\r\n let modelState = result[1].ModelState;\r\n if (modelState)\r\n Object.keys(modelState).forEach(function(k) {\r\n modelState[k].forEach((element) => {\r\n Notification(\"errorClick\", element);\r\n });\r\n });\r\n } else if (\r\n result[1].Message !== null &&\r\n result[1].Message !== undefined &&\r\n result[1].Message !== \"\"\r\n ) {\r\n Notification(\"errorClick\", result[1].Message);\r\n } else {\r\n Notification(\"errorClick\", \"Bad Request\");\r\n }\r\n setDriverSheckInModal(false);\r\n }\r\n setLoadingPostStatus(false);\r\n })\r\n .catch((error) => {\r\n console.log(\"error\", error);\r\n setLoadingPostStatus(false);\r\n });\r\n }\r\n function getvandorsList() {\r\n var myHeaders = new Headers();\r\n myHeaders.append(\"Authorization\", `Bearer ${db.read().getState().Token}`);\r\n var requestOptions = {\r\n method: \"GET\",\r\n headers: myHeaders,\r\n redirect: \"follow\",\r\n };\r\n fetch(window.$apiurl + \"/vendors\", requestOptions)\r\n .then((response) => response.text())\r\n .then((result) => {\r\n const data = JSON.parse(result);\r\n const opt = [];\r\n data.Vendors.forEach((Vendor) => {\r\n opt.push({\r\n value: Vendor.Id,\r\n label: Vendor.Code + \"-\" + Vendor.CompanyName,\r\n color: Vendor?.IsApproved ? \"black\" : \"red\",\r\n CarrierId: Vendor?.CarrierId,\r\n IsApproved: Vendor?.IsApproved,\r\n });\r\n });\r\n setoptionsVandorList(opt || []);\r\n setFreightChargeList(data?.FreightCharges ?? []);\r\n setoptionsVandorTypeList(data?.VendorTypes || []);\r\n setBillToList(data?.BillTo || []);\r\n })\r\n .catch((error) => console.log(\"error\", error));\r\n }\r\n return (\r\n
\r\n {/* start dispatched Modal */}\r\n\r\n \r\n \r\n \r\n Assigned Details\r\n \r\n {\r\n setShowModalAssigned(false);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n

Vendors

\r\n {\r\n var obj = { ...a };\r\n if (initAssignedStatusVendor.FreightChargeId === 98) {\r\n if (a.IsApproved === false) {\r\n return {\r\n value: obj?.value,\r\n label: obj?.label,\r\n color: \"red\",\r\n CarrierId: obj?.CarrierId,\r\n IsApproved: obj?.IsApproved,\r\n };\r\n } else {\r\n return {\r\n value: obj?.value,\r\n label: obj?.label,\r\n color: \"black\",\r\n CarrierId: obj?.CarrierId,\r\n IsApproved: obj?.IsApproved,\r\n };\r\n }\r\n } else {\r\n return {\r\n value: obj?.value,\r\n label: obj?.label,\r\n color: \"black\",\r\n CarrierId: obj?.CarrierId,\r\n IsApproved: obj?.IsApproved,\r\n };\r\n }\r\n })}\r\n value={optionsVandorList.filter(\r\n (a) => a.value === initAssignedStatusVendor.VendorId\r\n )}\r\n onChange={(event) => {\r\n var dataobj = { ...initAssignedStatusVendor };\r\n dataobj.VendorId = event?.value;\r\n setinitAssignedStatusVendor(dataobj);\r\n }}\r\n >\r\n {initAssignedStatusVendor.FreightChargeId === 98 &&\r\n (optionsVandorList?.filter(\r\n (a) => a.value === initAssignedStatusVendor.VendorId\r\n )[0]?.IsApproved === false ? (\r\n

\r\n This Vendor is not Certified\r\n

\r\n ) : (\r\n \"\"\r\n ))}\r\n
\r\n
\r\n

Vendor Type

\r\n a.Id === initAssignedStatusVendor.VendorTypeId\r\n )\r\n .map((x) => {\r\n return {\r\n value: x?.Id,\r\n label: x?.Name,\r\n };\r\n })}\r\n options={optionsVandorTypeList.map((x) => {\r\n return {\r\n value: x?.Id,\r\n label: x?.Name,\r\n };\r\n })}\r\n onChange={(event) => {\r\n var dataobj = { ...initAssignedStatusVendor };\r\n dataobj.VendorTypeId = event?.value;\r\n setinitAssignedStatusVendor(dataobj);\r\n }}\r\n >\r\n
\r\n
\r\n

Freight Charge

\r\n a.Id === initAssignedStatusVendor.FreightChargeId\r\n ).map((x) => {\r\n return {\r\n value: x?.Id,\r\n label: x?.Name,\r\n };\r\n })}\r\n options={FreightChargeList.map((x) => {\r\n return {\r\n value: x?.Id,\r\n label: x?.Name,\r\n };\r\n })}\r\n onChange={(event) => {\r\n var dataobj = { ...initAssignedStatusVendor };\r\n dataobj.FreightChargeId = event?.value;\r\n setinitAssignedStatusVendor(dataobj);\r\n //setVandorSelectedData(null);\r\n }}\r\n >\r\n
\r\n {initAssignedStatusVendor.FreightChargeId === 100 ? (\r\n
\r\n

BillTo

\r\n {\r\n return {\r\n value: x?.Id,\r\n label: x?.Name + \"-\" + x?.Code,\r\n };\r\n })}\r\n onChange={(event) => {\r\n var dataobj = { ...initAssignedStatusVendor };\r\n dataobj.ThirdPartyBillToId = event?.value;\r\n setinitAssignedStatusVendor(dataobj);\r\n }}\r\n >\r\n
\r\n ) : (\r\n \"\"\r\n )}\r\n {/*
\r\n {initAssignedStatusVendor.CarrierId !== null &&\r\n initAssignedStatusVendor.CarrierId !== \"\" &&\r\n initAssignedStatusVendor.CarrierId !== undefined ? (\r\n \r\n ) : (\r\n \"\"\r\n )}\r\n
*/}\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n {\r\n setShowModalAssigned(false);\r\n }}\r\n className=\"btn btn-light btn-elevate\"\r\n >\r\n Cancel\r\n \r\n {\r\n PostAssignedVandors();\r\n }}\r\n className=\"btn btn-primary btn-elevate\"\r\n >\r\n Save changes\r\n {LoadingPostStatus && (\r\n \r\n )}\r\n \r\n \r\n \r\n {/* end dispatched modal */}\r\n {/* backstatus */}\r\n \r\n \r\n Roll Back Confirmation\r\n {\r\n setStatusSelectedRolledBack(null);\r\n setReceiptVendorRemoved([]);\r\n setModelShowingConfirmation(false);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n {\r\n return { value: a.StatusId, label: a.StatusName };\r\n })}\r\n onChange={(e) => {\r\n statusIdRollBack = e?.value;\r\n if (e !== null) {\r\n setStatusSelectedRolledBack(e);\r\n } else {\r\n setStatusSelectedRolledBack(null);\r\n }\r\n }}\r\n />\r\n\r\n {GlobalStatusListOptions.filter((a) => a.Name === \"Assigned\")[0]\r\n ?.Position >\r\n GlobalStatusListOptions.filter(\r\n (a) => a.Name === StatusSelectedRolledBack?.label\r\n )[0]?.Position ? (\r\n <>\r\n \r\n {ReceiptVendorList.map((item, index) => (\r\n {\r\n var list = [];\r\n list = ReceiptVendorRemoved;\r\n if (e.target.checked) {\r\n list.push(item.VendorId);\r\n setReceiptVendorRemoved(list || []);\r\n } else {\r\n var index = list.indexOf(item.VendorId);\r\n setReceiptVendorRemoved(\r\n list.slice(index, index) || []\r\n );\r\n }\r\n }}\r\n />\r\n ))}\r\n \r\n ) : (\r\n \"\"\r\n )}\r\n

\r\n

\r\n \r\n (statusNoteRollBack = e.target.value)}\r\n >\r\n
\r\n
\r\n
\r\n \r\n {\r\n setModelShowingConfirmation(false);\r\n }}\r\n >\r\n Cancel\r\n \r\n {\r\n if (\r\n statusNoteRollBack === null ||\r\n statusNoteRollBack === \"\" ||\r\n statusNoteRollBack === undefined\r\n ) {\r\n Notification(\"error\", \"please fill note\");\r\n return;\r\n }\r\n //setRollBackLoadingPost(true);\r\n row = {\r\n Id: row.Id,\r\n StatusId:\r\n StatusSelectedRolledBack === null\r\n ? null\r\n : StatusSelectedRolledBack.value,\r\n VendorsIds: ReceiptVendorRemoved,\r\n KeepChanges: false,\r\n Note: statusNoteRollBack,\r\n };\r\n fetch(`${window.$apiurl}/ShipmentActions/RollBack`, {\r\n method: \"post\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(row),\r\n })\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n const contentType = response.headers.get(\"content-type\");\r\n if (\r\n contentType &&\r\n contentType.indexOf(\"application/json\") !== -1\r\n ) {\r\n return response.json().then((data) => [statusCode, data]);\r\n } else {\r\n return response\r\n .text()\r\n .then((text) => [statusCode, { Message: \"\" }]);\r\n }\r\n })\r\n .then((result) => {\r\n setRollBackLoadingPost(false);\r\n if (result[0] === 200) {\r\n if (\r\n result[1].Message !== null &&\r\n result[1].Message !== undefined &&\r\n result[1].Message !== \"\"\r\n ) {\r\n Notification(\"infoClick\", result[1].Message);\r\n setModelShowingConfirmation(false);\r\n } else {\r\n setModelShowingConfirmation(false);\r\n Notification(\r\n \"success\",\r\n \"Roll Back Status is successful\"\r\n );\r\n GetWarehousDataPageChanges(paginationOptions);\r\n }\r\n } else {\r\n if (\r\n result[1].Message !== null &&\r\n result[1].Message !== undefined &&\r\n result[1].Message !== \"\"\r\n ) {\r\n Notification(\"errorClick\", result[1].Message);\r\n setModelShowingConfirmation(false);\r\n } else {\r\n Notification(\"errorClick\", \"invalid request\");\r\n }\r\n }\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }}\r\n >\r\n Confirm\r\n {RollBackLoadingPost && (\r\n \r\n )}\r\n \r\n \r\n \r\n\r\n {/* loading Modal */}\r\n \r\n \r\n \r\n Loading Details\r\n \r\n {\r\n setloadingModalShow(false);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n {\r\n setloadingModalShow(false);\r\n }}\r\n className=\"btn btn-light btn-elevate mr-3\"\r\n >\r\n Cancel\r\n \r\n {\r\n SubmitLoadingDetail();\r\n }}\r\n className=\"btn btn-primary btn-elevate\"\r\n >\r\n Save changes\r\n {LoadingPostStatus && (\r\n \r\n )}\r\n \r\n \r\n \r\n {/* loaded Modal */}\r\n \r\n \r\n \r\n Loaded Details\r\n \r\n {\r\n setloadedModalShow(false);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n {\r\n setloadedModalShow(false);\r\n }}\r\n className=\"btn btn-light btn-elevate mr-3\"\r\n >\r\n Cancel\r\n \r\n {\r\n SubmitLoadedDetail();\r\n }}\r\n className=\"btn btn-primary btn-elevate\"\r\n >\r\n Save changes\r\n {LoadingPostStatus && (\r\n \r\n )}\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n Are you sure that you want to{\" \"}\r\n {row.IsCancelled === true ? \"UnCancel\" : \"Cancel\"} this Shipment ?\r\n \r\n {\r\n setModelShowingConfirmationCancel(false);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n setModelShowingConfirmationCancel(false);\r\n }}\r\n >\r\n No\r\n \r\n\r\n {\r\n await NextStatusCancel(`\"IsCancel\":true`);\r\n }}\r\n >\r\n Yes\r\n \r\n \r\n \r\n\r\n {/* Picked Up Modal */}\r\n \r\n \r\n \r\n Picked Up Details\r\n \r\n
\r\n {\r\n setRow(row?.Id);\r\n setBol(true);\r\n }}\r\n >\r\n Show BOL\r\n \r\n
\r\n {\r\n setshowModalPickedUp(false);\r\n }}\r\n >\r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n {\r\n checkindriverOut.DriverName = e.target.value;\r\n checkindriverOut.IsChanged = true;\r\n }}\r\n />\r\n
\r\n
\r\n \r\n\r\n {\r\n checkindriverOut.PhoneNumber = e.target.value;\r\n checkindriverOut.IsChanged = true;\r\n }}\r\n />\r\n
\r\n
\r\n \r\n\r\n {\r\n checkindriverOut.CompanyName = e.target.value;\r\n checkindriverOut.IsChanged = true;\r\n }}\r\n />\r\n
\r\n
\r\n \r\n\r\n {\r\n checkindriverOut.PickupNumber = e.target.value;\r\n checkindriverOut.IsChanged = true;\r\n }}\r\n />\r\n
\r\n
\r\n \r\n\r\n {\r\n checkindriverOut.PickupAppDate = newValue;\r\n checkindriverOut.IsChanged = true;\r\n }}\r\n />\r\n
\r\n
\r\n \r\n\r\n {\r\n checkindriverOut.SealDroppingTrailerNumber = e.target.value;\r\n checkindriverOut.IsChanged = true;\r\n }}\r\n />\r\n
\r\n
\r\n \r\n\r\n {\r\n checkindriverOut.SealDroppingNumber = e.target.value;\r\n checkindriverOut.IsChanged = true;\r\n }}\r\n />\r\n
\r\n
\r\n \r\n\r\n {\r\n checkindriverOut.SealPickingUpTrailerNumber =\r\n e.target.value;\r\n checkindriverOut.IsChanged = true;\r\n }}\r\n />\r\n
\r\n
\r\n \r\n\r\n {\r\n checkindriverOut.SealPickingUpNumber = e.target.value;\r\n checkindriverOut.IsChanged = true;\r\n }}\r\n />\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n {\r\n SubmitCarrierCheckIn();\r\n }}\r\n >\r\n SaveInput\r\n \r\n
\r\n \r\n {/* Notify Trucker Modal */}\r\n {showModalSend && (\r\n \r\n )}\r\n {/* Modal BOL */}\r\n }\r\n />\r\n {/* Driver Check In */}\r\n \r\n \r\n \r\n Drivers Details\r\n \r\n {\r\n setDriverSheckInModal(false);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Driver Checked In
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n {\r\n checkindriver.DriverName = e.target.value;\r\n checkindriver.IsChanged = true;\r\n }}\r\n />\r\n
\r\n
\r\n \r\n\r\n {\r\n checkindriver.PhoneNumber = e.target.value;\r\n checkindriver.IsChanged = true;\r\n }}\r\n />\r\n
\r\n
\r\n \r\n\r\n {\r\n checkindriver.CompanyName = e.target.value;\r\n checkindriver.IsChanged = true;\r\n }}\r\n />\r\n
\r\n
\r\n \r\n\r\n {\r\n checkindriver.PickupNumber = e.target.value;\r\n checkindriver.IsChanged = true;\r\n }}\r\n />\r\n
\r\n
\r\n \r\n\r\n {\r\n checkindriver.PickupAppDate = newValue;\r\n checkindriver.IsChanged = true;\r\n }}\r\n />\r\n
\r\n
\r\n \r\n\r\n {\r\n checkindriver.SealDroppingTrailerNumber =\r\n e.target.value;\r\n checkindriver.IsChanged = true;\r\n }}\r\n />\r\n
\r\n
\r\n \r\n\r\n {\r\n checkindriver.SealDroppingNumber = e.target.value;\r\n checkindriver.IsChanged = true;\r\n }}\r\n />\r\n
\r\n
\r\n \r\n\r\n {\r\n checkindriver.SealPickingUpTrailerNumber =\r\n e.target.value;\r\n checkindriver.IsChanged = true;\r\n }}\r\n />\r\n
\r\n
\r\n \r\n\r\n {\r\n checkindriver.SealPickingUpNumber = e.target.value;\r\n checkindriver.IsChanged = true;\r\n }}\r\n />\r\n
\r\n
\r\n
\r\n\r\n \r\n \r\n
Driver Checked out
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n {\r\n checkindriverOut.DriverName = e.target.value;\r\n checkindriverOut.IsChanged = true;\r\n }}\r\n />\r\n
\r\n
\r\n \r\n\r\n {\r\n checkindriverOut.PhoneNumber = e.target.value;\r\n checkindriverOut.IsChanged = true;\r\n }}\r\n />\r\n
\r\n
\r\n \r\n\r\n {\r\n checkindriverOut.CompanyName = e.target.value;\r\n checkindriverOut.IsChanged = true;\r\n }}\r\n />\r\n
\r\n
\r\n \r\n\r\n {\r\n checkindriverOut.PickupNumber = e.target.value;\r\n checkindriverOut.IsChanged = true;\r\n }}\r\n />\r\n
\r\n
\r\n \r\n\r\n {\r\n checkindriverOut.PickupAppDate = newValue;\r\n checkindriverOut.IsChanged = true;\r\n }}\r\n />\r\n
\r\n
\r\n \r\n\r\n {\r\n checkindriverOut.SealDroppingTrailerNumber =\r\n e.target.value;\r\n checkindriverOut.IsChanged = true;\r\n }}\r\n />\r\n
\r\n
\r\n \r\n\r\n {\r\n checkindriverOut.SealDroppingNumber = e.target.value;\r\n checkindriverOut.IsChanged = true;\r\n }}\r\n />\r\n
\r\n
\r\n \r\n\r\n {\r\n checkindriverOut.SealPickingUpTrailerNumber =\r\n e.target.value;\r\n checkindriverOut.IsChanged = true;\r\n }}\r\n />\r\n
\r\n
\r\n \r\n\r\n {\r\n checkindriverOut.SealPickingUpNumber = e.target.value;\r\n checkindriverOut.IsChanged = true;\r\n }}\r\n />\r\n
\r\n
\r\n
\r\n\r\n \r\n \r\n
Activities
\r\n
\r\n \r\n \r\n \r\n {ActivitiesCarriersCheck !== null ? (\r\n \r\n ) : (\r\n
\r\n
\r\n \r\n Loading Data ...\r\n
\r\n
\r\n
\r\n )}\r\n \r\n \r\n
\r\n \r\n {\r\n setDriverSheckInModal(false);\r\n }}\r\n className=\"btn btn-light btn-elevate mr-3\"\r\n >\r\n Cancel\r\n \r\n {\r\n SubmitCarrierCheckIn();\r\n }}\r\n className=\"btn btn-primary btn-elevate\"\r\n >\r\n Save changes\r\n {LoadingPostStatus && (\r\n \r\n )}\r\n \r\n \r\n \r\n {\r\n setShow210issue(false);\r\n }}\r\n aria-labelledby=\"example-modal-sizes-title-lg\"\r\n >\r\n \r\n
\r\n 210 Issues: {row.Id}\r\n
\r\n {\r\n setShow210issue(false);\r\n }}\r\n >\r\n \r\n \r\n
\r\n\r\n \r\n
\r\n {Issue210.map((a) => {\r\n return (\r\n <>\r\n
\r\n \r\n \r\n \r\n

\r\n {a}\r\n

\r\n
\r\n \r\n );\r\n })}\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
  • \r\n {\r\n e.preventDefault();\r\n setShow(true);\r\n }}\r\n >\r\n \r\n \r\n \r\n Detail\r\n \r\n
  • \r\n
  • \r\n {\r\n window.shipmentEditCommingFrom = \"ShipmentsManagement\";\r\n e.preventDefault();\r\n setOneMoveMasterShow(true);\r\n }}\r\n >\r\n \r\n \r\n \r\n Edit\r\n \r\n
  • \r\n {filterOptions.exceptionsId === \"210-issues\" && (\r\n
  • \r\n {\r\n e.preventDefault();\r\n await fetch(\r\n window.$apiurl +\r\n `/Shipments/GetShipment210Issues/${row.Id}`,\r\n {\r\n method: \"get\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${\r\n db.read().getState().Token\r\n }`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n }\r\n )\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then(async (res) => {\r\n const data = res[1];\r\n setIssue210(data?.Errors || []);\r\n setShow210issue(true);\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }}\r\n >\r\n \r\n \r\n \r\n 210 Issues\r\n \r\n
  • \r\n )}\r\n {filterOptions.statusId !== \"\" &&\r\n filterOptions.statusId !== 2 &&\r\n filterOptions.statusId !== 3 ? (\r\n
  • \r\n false}\r\n className=\"navi-link\"\r\n onClick={async (e) => {\r\n checkindriver = {\r\n ShipmentId: row.Id,\r\n DriverName: \"\",\r\n PhoneNumber: \"\",\r\n CompanyName: \"\",\r\n PickupNumber: row.Id,\r\n PickupAppDate: new Date(),\r\n SealDroppingTrailerNumber: \"\",\r\n SealDroppingNumber: \"\",\r\n SealPickingUpTrailerNumber: \"\",\r\n SealPickingUpNumber: \"\",\r\n Type: 1,\r\n IsChanged: false,\r\n };\r\n checkindriverOut = {\r\n ShipmentId: row.Id,\r\n DriverName: \"\",\r\n PhoneNumber: \"\",\r\n CompanyName: \"\",\r\n PickupNumber: row.Id,\r\n PickupAppDate: new Date(),\r\n SealDroppingTrailerNumber: \"\",\r\n SealDroppingNumber: \"\",\r\n SealPickingUpTrailerNumber: \"\",\r\n SealPickingUpNumber: \"\",\r\n Type: 2,\r\n IsChanged: false,\r\n };\r\n const resObject = await GetCarrierCheckedInData(row.Id);\r\n console.log(\"resObject\", resObject);\r\n try {\r\n if (resObject !== null && resObject !== undefined) {\r\n console.log(\"resObject2\", resObject);\r\n\r\n const dataBased = await GetBaseData(row?.Id);\r\n if (resObject?.CheckIn !== null) {\r\n setinitCarrier(resObject?.CheckIn);\r\n checkindriver = resObject?.CheckIn;\r\n } else {\r\n var newObject = {\r\n ShipmentId: dataBased.Id,\r\n DriverName: \"\",\r\n PhoneNumber: \"\",\r\n CompanyName: dataBased?.Vendor,\r\n PickupNumber: dataBased.Id,\r\n PickupAppDate: new Date(),\r\n SealDroppingTrailerNumber: \"\",\r\n SealDroppingNumber: \"\",\r\n SealPickingUpTrailerNumber: dataBased.Equipment,\r\n SealPickingUpNumber: dataBased.SealNumber,\r\n Type: 1,\r\n IsChanged: false,\r\n };\r\n setinitCarrier(newObject);\r\n checkindriver = newObject;\r\n }\r\n if (resObject?.CheckOut !== null) {\r\n setinitCarrierOut(resObject?.CheckOut);\r\n checkindriverOut = resObject?.CheckOut;\r\n } else {\r\n var newObjectOut = {\r\n ShipmentId: dataBased.Id,\r\n DriverName: \"\",\r\n PhoneNumber: \"\",\r\n CompanyName: dataBased?.Vendor,\r\n PickupNumber: dataBased.Id,\r\n PickupAppDate: new Date(),\r\n SealDroppingTrailerNumber: \"\",\r\n SealDroppingNumber: \"\",\r\n SealPickingUpTrailerNumber: dataBased.Equipment,\r\n SealPickingUpNumber: dataBased.SealNumber,\r\n Type: 2,\r\n IsChanged: false,\r\n };\r\n setinitCarrierOut(newObjectOut);\r\n checkindriverOut = newObjectOut;\r\n }\r\n setActivitiesCarriersCheck(\r\n resObject?.Activities || []\r\n );\r\n setDriverSheckInModal(true);\r\n }\r\n } catch (err) {\r\n console.log(err);\r\n }\r\n }}\r\n >\r\n \r\n \r\n \r\n Driver Check\r\n \r\n
  • \r\n ) : (\r\n \"\"\r\n )}\r\n\r\n {filterOptions.statusId !== \"\" ? (\r\n <>\r\n {nextOrder(filterOptions.statusId) !== null &&\r\n PrevOrder(filterOptions.statusId) !== null && (\r\n
    \r\n )}\r\n {nextOrder(filterOptions.statusId) !== null && (\r\n
  • \r\n false}\r\n className=\"navi-link\"\r\n onClick={async (e) => {\r\n let index = nextOrder(filterOptions.statusId);\r\n if (index !== null) {\r\n if (index.StatusId === 5) {\r\n setloadingModalShow(true);\r\n const dataBased = await GetBaseData(row?.Id);\r\n setTimeout(() => {\r\n document.getElementById(\"Traillerdrop\").value =\r\n dataBased?.Equipment;\r\n }, 50);\r\n return;\r\n }\r\n if (index.StatusId === 6) {\r\n //SealNumberLoadedDetail\r\n setloadedModalShow(true);\r\n const dataBased = await GetBaseData(row?.Id);\r\n setTimeout(() => {\r\n document.getElementById(\r\n \"SealNumberLoadedDetail\"\r\n ).value = dataBased?.SealNumber;\r\n }, 50);\r\n return;\r\n }\r\n if (index.StatusId === 102) {\r\n await fetch(\r\n `${window.$apiurl}/warehouseManagement/GetShipmentCube/` +\r\n row?.Id,\r\n {\r\n method: \"get\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${\r\n db.read().getState().Token\r\n }`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n }\r\n )\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n const a = res[1];\r\n console.log(\"a.IsLowCube\", a.IsLowCube);\r\n console.log(\"a.IsManager\", a.IsManager);\r\n if (a.IsLowCube && a.IsManager) {\r\n Swal.fire({\r\n title: \"Are you sure?\",\r\n text: `This shipment (${row.Id}) has a low total cube, are you sure that you want to mark it as notify trucker ?`,\r\n icon: \"warning\",\r\n showCancelButton: true,\r\n confirmButtonColor: \"#3085d6\",\r\n cancelButtonColor: \"#d33\",\r\n confirmButtonText: \"Yes!\",\r\n }).then((result) => {\r\n if (result.isConfirmed) {\r\n setshowModalSend(true);\r\n return;\r\n } else {\r\n return;\r\n }\r\n });\r\n } else if (!a.IsLowCube && !a.IsManager) {\r\n setshowModalSend(true);\r\n return;\r\n } else if (a.IsLowCube && !a.IsManager) {\r\n Notification(\r\n \"errorClick\",\r\n `Update failed, please check the total cube for this shipments (${row.Id}).`\r\n );\r\n return;\r\n } else if (!a.IsLowCube && a.IsManager) {\r\n setshowModalSend(true);\r\n return;\r\n }\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n //setshowModalSend(true);\r\n return;\r\n }\r\n if (index.StatusId === 7) {\r\n checkindriver = {\r\n ShipmentId: row.Id,\r\n DriverName: \"\",\r\n PhoneNumber: \"\",\r\n CompanyName: \"\",\r\n PickupNumber: row.Id,\r\n PickupAppDate: new Date(),\r\n SealDroppingTrailerNumber: \"\",\r\n SealDroppingNumber: \"\",\r\n SealPickingUpTrailerNumber: \"\",\r\n SealPickingUpNumber: \"\",\r\n Type: 1,\r\n IsChanged: false,\r\n };\r\n checkindriverOut = {\r\n ShipmentId: row.Id,\r\n DriverName: \"\",\r\n PhoneNumber: \"\",\r\n CompanyName: \"\",\r\n PickupNumber: row.Id,\r\n PickupAppDate: new Date(),\r\n SealDroppingTrailerNumber: \"\",\r\n SealDroppingNumber: \"\",\r\n SealPickingUpTrailerNumber: \"\",\r\n SealPickingUpNumber: \"\",\r\n Type: 2,\r\n IsChanged: false,\r\n };\r\n var resObject = await GetCarrierCheckedInData(\r\n row.Id\r\n );\r\n if (\r\n resObject !== null &&\r\n resObject !== undefined\r\n ) {\r\n if (resObject?.CheckIn !== null) {\r\n setinitCarrier(resObject?.CheckIn);\r\n checkindriver = resObject?.CheckIn;\r\n } else {\r\n if (resObject?.CheckOut !== null) {\r\n resObject.CheckOut.Type = 1;\r\n resObject.CheckOut.IsChanged = false;\r\n\r\n setinitCarrier(resObject?.CheckOut);\r\n checkindriver = resObject?.CheckOut;\r\n } else {\r\n setinitCarrier(checkindriver);\r\n }\r\n }\r\n\r\n if (resObject?.CheckOut !== null) {\r\n setinitCarrierOut(resObject?.CheckOut);\r\n checkindriverOut = resObject?.CheckOut;\r\n } else {\r\n if (resObject?.CheckIn !== null) {\r\n resObject.CheckIn.Type = 2;\r\n resObject.CheckIn.IsChanged = false;\r\n } else {\r\n setinitCarrierOut(checkindriverOut);\r\n }\r\n }\r\n }\r\n setshowModalPickedUp(true);\r\n return;\r\n }\r\n if (index.StatusId === 3) {\r\n await getvandorsList();\r\n setinitAssignedStatusVendor({\r\n ShipmentIds: [row.Id],\r\n VendorId: row?.CarrierId,\r\n VendorTypeId: 1308,\r\n ShipmentStatus: 3,\r\n ThirdPartyBillToId: \"\",\r\n FreightChargeId: 98,\r\n });\r\n setShowModalAssigned(true);\r\n return;\r\n }\r\n NextStatus(row.Id, index.StatusId);\r\n }\r\n }}\r\n >\r\n \r\n \r\n \r\n Next Status\r\n \r\n
  • \r\n )}\r\n {PrevOrder(filterOptions.statusId) !== null &&\r\n filterOptions.statusId !== -1 ? (\r\n
  • \r\n false}\r\n className=\"navi-link\"\r\n onClick={(e) => {\r\n e.preventDefault();\r\n //setModelShowing(false);\r\n GetListOfPreviewsStatus(row.Id);\r\n setModelShowingConfirmation(true);\r\n }}\r\n >\r\n \r\n \r\n \r\n Back Status\r\n \r\n
  • \r\n ) : (\r\n \"\"\r\n )}\r\n \r\n ) : (\r\n \"\"\r\n )}\r\n {filterOptions?.statusId !== \"\" && (\r\n
    \r\n )}\r\n
  • \r\n false}\r\n className=\"navi-link\"\r\n onClick={(e) => {\r\n setModelShowingConfirmationCancel(true);\r\n setRowItem(row);\r\n e.preventDefault();\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n {row.IsCancelled === true ? \"UnCancel\" : \"Cancel\"}\r\n \r\n \r\n
  • \r\n
\r\n
\r\n
\r\n \r\n
\r\n );\r\n }\r\n\r\n return (\r\n <>\r\n {\r\n setShow(false);\r\n }}\r\n aria-labelledby=\"example-modal-sizes-title-lg\"\r\n >\r\n \r\n \r\n {ShowRemarks && }\r\n {\r\n setOneMoveMasterShow(false);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport function DetailMangment({ Id, setShow, isDashboard, isTms }) {\r\n const classes = useStyles();\r\n const [Detail, setDetail] = useState();\r\n const [VendorsList, setVendorsList] = useState();\r\n const [Notes, setNotesList] = useState([]);\r\n const [Attachments, setAttachmentsList] = useState();\r\n const [DetailTrakingInfo, setDetailTrakingInfo] = useState([]);\r\n const [DetailTrakingGeometryInfo, setDetailTrakingGeometryInfo] = useState(\r\n []\r\n );\r\n const [DetailActivityRatesInfo, setDetailActivityRatesInfo] = useState(null);\r\n const [DetailShipmentInfo, setDetailShipmentInfo] = useState({});\r\n\r\n const renderMarkers = (map, maps) => {\r\n var data = DetailTrakingGeometryInfo.map((item) => {\r\n return {\r\n lat: Number(item.Lat),\r\n lng: Number(item.Lng),\r\n name: item.Address,\r\n Type: item.TraceType,\r\n };\r\n });\r\n const directionsService = new maps.DirectionsService();\r\n const directionsRenderer = new maps.DirectionsRenderer();\r\n\r\n calculateAndDisplayRoute(directionsService, directionsRenderer);\r\n\r\n function calculateAndDisplayRoute(directionsService, directionsRenderer) {\r\n window.gMap = map;\r\n for (var i = 0; i < data.length; i++) {\r\n if (data[i].Type === \"MANUAL\") {\r\n new maps.Marker({\r\n position: data[i],\r\n map: map,\r\n title: data[i].name,\r\n icon: {\r\n url: \"https://maps.google.com/mapfiles/ms/icons/orange-dot.png\",\r\n },\r\n });\r\n } else {\r\n new maps.Marker({\r\n position: data[i],\r\n map: map,\r\n title: data[i].name,\r\n icon: {\r\n url: \"https://maps.google.com/mapfiles/ms/icons/green-dot.png\",\r\n },\r\n });\r\n }\r\n }\r\n for (var j = 0, parts = [], max = 22 - 1; j < data.length; j = j + max) {\r\n parts.push(data.slice(j, j + max + 1));\r\n }\r\n\r\n for (var k = 0; k < parts.length; k++) {\r\n // Waypoints does not include first station (origin) and last station (destination)\r\n var waypoints = [];\r\n for (var l = 1; l < parts[k].length - 1; l++) {\r\n waypoints.push({ location: parts[k][l], stopover: false });\r\n }\r\n // Service options\r\n var service_options = {\r\n origin: parts[k][0],\r\n destination: data[data.length - 1],\r\n waypoints: waypoints,\r\n travelMode: \"DRIVING\",\r\n };\r\n // Send request\r\n directionsService.route(service_options, (response, status) => {\r\n if (status != \"OK\") {\r\n console.log(\"Directions request failed due to \" + status);\r\n return;\r\n }\r\n if (!window.gRenderers) window.gRenderers = [];\r\n window.gRenderers.push(directionsRenderer);\r\n directionsRenderer.setMap(map);\r\n directionsRenderer.setOptions({\r\n suppressMarkers: true,\r\n preserveViewport: true,\r\n });\r\n directionsRenderer.setDirections(response);\r\n });\r\n }\r\n }\r\n directionsRenderer.setMap(map);\r\n };\r\n\r\n const useStyles1 = makeStyles((theme) => ({\r\n root: {\r\n flexShrink: 0,\r\n color: theme.palette.text.secondary,\r\n marginLeft: theme.spacing(2.5),\r\n },\r\n }));\r\n const [page, setPage] = React.useState(0);\r\n const [rowsPerPage, setRowsPerPage] = React.useState(10);\r\n function handleChangePage(event, newPage) {\r\n setPage(newPage);\r\n }\r\n\r\n function handleChangeRowsPerPage(event) {\r\n setRowsPerPage(parseInt(event.target.value, 10));\r\n }\r\n function TablePaginationActions(props) {\r\n const classes = useStyles1();\r\n const theme = useTheme();\r\n const { count, page, rowsPerPage, onChangePage } = props;\r\n\r\n function handleFirstPageButtonClick(event) {\r\n onChangePage(event, 0);\r\n }\r\n\r\n function handleBackButtonClick(event) {\r\n onChangePage(event, page - 1);\r\n }\r\n\r\n function handleNextButtonClick(event) {\r\n onChangePage(event, page + 1);\r\n }\r\n\r\n function handleLastPageButtonClick(event) {\r\n onChangePage(event, Math.max(0, Math.ceil(count / rowsPerPage) - 1));\r\n }\r\n\r\n return (\r\n
\r\n \r\n {theme.direction === \"rtl\" ? : }\r\n \r\n \r\n {theme.direction === \"rtl\" ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n = Math.ceil(count / rowsPerPage) - 1}\r\n aria-label=\"Next Page\"\r\n >\r\n {theme.direction === \"rtl\" ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n = Math.ceil(count / rowsPerPage) - 1}\r\n aria-label=\"Last Page\"\r\n >\r\n {theme.direction === \"rtl\" ? : }\r\n \r\n
\r\n );\r\n }\r\n const [Result, setResult] = useState(null);\r\n useEffect(() => {\r\n GetModel();\r\n }, []);\r\n const [contactModal, setContactModal] = useState(false);\r\n const [contactsVendor, setContactsVendor] = useState([]);\r\n const [vendorIdContact, setVendorIdContact] = useState(0);\r\n\r\n useEffect(() => {\r\n try {\r\n const obj = [];\r\n if (Detail?.Shipment?.Vendors?.length > 0) {\r\n Detail.Shipment.Vendors.map((itemX) => {\r\n itemX.VendorName =\r\n itemX.VendorAddress?.CompanyName +\r\n \" - \" +\r\n itemX.VendorAddress?.Code;\r\n itemX.ContactName = (\r\n {\r\n setVendorIdContact(itemX.Id);\r\n setContactsVendor(itemX.Contacts || []);\r\n setContactModal(true);\r\n }}\r\n >\r\n Show\r\n \r\n );\r\n obj.push(itemX);\r\n });\r\n setVendorsList(obj);\r\n }\r\n } catch (err) {\r\n console.log(err);\r\n }\r\n }, [Detail?.Shipment]);\r\n\r\n function CheckStatus(Name) {\r\n try {\r\n return $(`.ShipmentStatus:contains(\"${Name}\")`)?.length > 0;\r\n } catch (error) {\r\n return false;\r\n }\r\n }\r\n const [loaderData, setLoaderData] = useState(false);\r\n //OSD\r\n const [shortQuantity, setShortQuantity] = useState(\"\");\r\n const [damagedQuantity, setDamagedQuantity] = useState(\"\");\r\n const [overQuantity, setOverQuantity] = useState(\"\");\r\n const [modalOsdEdit, showModalEditOsd] = useState(false);\r\n const [saveEditOsd, setSaveOsd] = useState(false);\r\n const [rowOsd, setRowOsd] = useState(null);\r\n\r\n async function PutOsd() {\r\n const someData = {\r\n OverQuantity: overQuantity ?? 0,\r\n ShortQuantity: shortQuantity ?? 0,\r\n DamagedQuantity: damagedQuantity ?? 0,\r\n };\r\n return fetch(window.$apiurl + \"/Shipments/Osd/\" + rowOsd?.Id, {\r\n method: \"put\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(someData),\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n window.$statusCodePut = statusCode;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n return res[1];\r\n })\r\n .catch((error) => {});\r\n }\r\n const [showAttachment, setShowAttachment] = useState(false);\r\n const [disabledDownload, setDisabledDownload] = useState(true);\r\n\r\n const onError = (e) => {\r\n console.log(e, \"error in file-viewer\");\r\n };\r\n const [type, setFileType] = useState(\"\");\r\n const [filePath, setFilePath] = useState(\"\");\r\n return (\r\n <>\r\n \r\n
\r\n
\r\n {IsValid(\"Order Number\", Detail?.Shipment?.OrderId)}\r\n
\r\n
\r\n {IsValid(\r\n \"Shipment Number\",\r\n Detail?.Shipment?.Id +\r\n (Detail?.Shipment?.Equipment\r\n ? \" - \" + Detail?.Shipment?.Equipment\r\n : \"\")\r\n )}\r\n
\r\n\r\n
\r\n {IsValid(\"Invoice No\", Detail?.Shipment?.InvoiceNumber)}\r\n
\r\n
\r\n {IsValid(\"Invoice Date\", momentDate(Detail?.Shipment?.InvoiceDate))}\r\n
\r\n
\r\n {\r\n setShow(false);\r\n }}\r\n >\r\n \r\n \r\n
\r\n\r\n \r\n \r\n <>\r\n \r\n \r\n
Shipment Basic
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n Customer\r\n
\r\n
\r\n {IsValid(\r\n \"Customer Code\",\r\n Detail?.Shipment?.CustomerAddress?.Code\r\n )}\r\n {IsValid(\r\n \"Customer Name\",\r\n Detail?.Shipment?.CustomerAddress?.CompanyName\r\n )}\r\n {IsValid(\r\n \"Customer Address\",\r\n Detail?.Shipment?.CustomerAddress?.Address\r\n )}\r\n
\r\n {IsValid(\r\n \"City,State,Zip Code\",\r\n Detail?.Shipment?.CustomerAddress?.City +\r\n \" , \" +\r\n Detail?.Shipment?.CustomerAddress?.State +\r\n \" , \" +\r\n Detail?.Shipment?.CustomerAddress?.ZipCode\r\n )}\r\n
\r\n
\r\n {IsValid(\r\n \"Customer Ref No \",\r\n Detail?.Shipment?.CustomerNumber\r\n )}\r\n
\r\n {/*
\r\n {IsValid(\"Customer Ref No 2\", Detail?.CustomerReference2)}\r\n
*/}\r\n
\r\n\r\n
\r\n \r\n Bill To\r\n
\r\n
\r\n {IsValid(\r\n \"Bill To Code\",\r\n Detail?.Shipment?.BillToAddress?.Code\r\n )}\r\n {IsValid(\r\n \"Bill To Name\",\r\n Detail?.Shipment?.BillToAddress?.CompanyName\r\n )}\r\n {IsValid(\r\n \"Bill To Address1\",\r\n Detail?.Shipment?.BillToAddress?.Address\r\n )}\r\n
\r\n {IsValid(\r\n \"City,State,Zip Code\",\r\n Detail?.Shipment?.BillToAddress?.City +\r\n \" , \" +\r\n Detail?.Shipment?.BillToAddress?.State +\r\n \" , \" +\r\n Detail?.Shipment?.BillToAddress?.ZipCode\r\n )}\r\n
\r\n
\r\n {IsValid(\r\n \"Billing Ref No \",\r\n Detail?.Shipment?.BillingNumber\r\n )}\r\n
\r\n {/*
\r\n {IsValid(\"Billing Ref No 2\", Detail?.BillingReference2)}\r\n
*/}\r\n
\r\n\r\n
\r\n \r\n Pickup Location\r\n
\r\n
\r\n {IsValid(\r\n \"Pickup Location Code\",\r\n Detail?.Shipment?.ShipperAddress?.Code\r\n )}\r\n {IsValid(\r\n \"Pickup Location Name\",\r\n Detail?.Shipment?.ShipperAddress?.CompanyName\r\n )}\r\n {IsValid(\r\n \"Pickup Location Address1\",\r\n Detail?.Shipment?.ShipperAddress?.Address\r\n )}\r\n
\r\n {IsValid(\r\n \"City,State,Zip Code\",\r\n Detail?.Shipment?.ShipperAddress?.City +\r\n \" , \" +\r\n Detail?.Shipment?.ShipperAddress?.State +\r\n \" , \" +\r\n Detail?.Shipment?.ShipperAddress?.ZipCode\r\n )}\r\n
\r\n
\r\n {IsValid(\"Shipper Ref No\", Detail?.Shipment?.ShipperNumber)}\r\n
\r\n
\r\n {IsValid(\r\n \"Order Created\",\r\n momentDate(Detail?.Shipment?.CreatedAt)\r\n )}\r\n
\r\n\r\n {/*
\r\n {IsValid(\r\n \"Pickup Required By Date\",\r\n momentDate(Detail?.PickupDate)\r\n )}\r\n
\r\n
\r\n {IsValid(\r\n \"Pickup Appointment\",\r\n momentDate(Detail?.PickupOnDate)\r\n )}\r\n
*/}\r\n
\r\n\r\n
\r\n \r\n Ship to Location\r\n
\r\n
\r\n {IsValid(\r\n \"Ship to Location Code\",\r\n Detail?.Shipment?.ConsigneeAddress?.Code\r\n )}\r\n {IsValid(\r\n \"Ship to Location Name\",\r\n Detail?.Shipment?.ConsigneeAddress?.CompanyName\r\n )}\r\n
\r\n {IsValid(\r\n \"Ship to Location Address1\",\r\n Detail?.Shipment?.ConsigneeAddress?.Address\r\n )}\r\n
\r\n
\r\n {IsValid(\r\n \"City,State,Zip Code\",\r\n Detail?.Shipment?.ConsigneeAddress?.City +\r\n \" , \" +\r\n Detail?.Shipment?.ConsigneeAddress?.State +\r\n \" , \" +\r\n Detail?.Shipment?.ConsigneeAddress?.ZipCode\r\n )}\r\n
\r\n
\r\n {IsValid(\r\n \"Consignee Ref No\",\r\n Detail?.Shipment?.ConsigneeNumber\r\n )}\r\n
\r\n
\r\n\r\n
\r\n \r\n Dates\r\n
\r\n
\r\n
\r\n {isTms === true\r\n ? IsValid(\r\n \"Planned\",\r\n momentDate(Detail?.Shipment?.StatusPlannedDate)\r\n )\r\n : \"\"}\r\n {isTms === true\r\n ? IsValid(\r\n \"Trailler Drop Date\",\r\n momentDate(Detail?.Shipment?.TraillerDropDate)\r\n )\r\n : \"\"}\r\n {isTms === true\r\n ? IsValid(\r\n \"Notify Trucker\",\r\n momentDate(Detail?.Shipment?.StatusNotifyTrucker)\r\n )\r\n : \"\"}\r\n {isTms === true\r\n ? IsValid(\r\n \"Checked In Date\",\r\n momentDate(Detail?.Shipment?.StatusCheckedInDate)\r\n )\r\n : \"\"}\r\n {CheckStatus(\"Quoted\") &&\r\n IsValid(\r\n \"Quoted\",\r\n momentDate(Detail?.Shipment?.StatusQuotedDate)\r\n )}\r\n {CheckStatus(\"Booked\") &&\r\n IsValid(\r\n \"Booked\",\r\n momentDate(Detail?.Shipment?.StatusBookedDate)\r\n )}\r\n {CheckStatus(\"Loading\") &&\r\n IsValid(\r\n \"Loading From Our Warehouse\",\r\n momentDate(\r\n Detail?.Shipment?.StatusLoadingFromOurWarehouseDate\r\n )\r\n )}\r\n {CheckStatus(\"Picked Up\") &&\r\n IsValid(\r\n \"Picked Up\",\r\n momentDate(Detail?.Shipment?.StatusPickedUpDate)\r\n )}\r\n {CheckStatus(\"In Transit\") &&\r\n IsValid(\r\n \"In Transit\",\r\n momentDate(Detail?.Shipment?.StatusInTransitDate)\r\n )}\r\n {CheckStatus(\"Delivered to Consignee\") &&\r\n IsValid(\r\n \"Delivered To Consignee\",\r\n momentDate(\r\n Detail?.Shipment?.StatusDeliveredToConsigneeDate\r\n )\r\n )}\r\n {CheckStatus(\"Empty\") &&\r\n IsValid(\r\n \"Empty\",\r\n momentDate(Detail?.Shipment?.StatusEmptyDate)\r\n )}\r\n {IsValid(\r\n \"Requested Pick Up Date\",\r\n momentDate(Detail?.Shipment?.RequestedPickUpDate)\r\n )}\r\n {IsValid(\r\n \"Last Ship Date\",\r\n momentDate(Detail?.Shipment?.LastShipDate)\r\n )}\r\n {IsValid(\r\n \"P/U Appointment\",\r\n momentDate(Detail?.Shipment?.PuAppointment)\r\n )}\r\n {IsValid(\r\n \"P/U Appointment Start\",\r\n moment(\r\n momentDate(Detail?.Shipment?.PuAppointment),\r\n \"MM-DD-YYYY, hh:mm A\"\r\n ).format(\"hh:mm A\") === \"Invalid date\"\r\n ? \"\"\r\n : moment(\r\n momentDate(Detail?.Shipment?.PuAppointment),\r\n \"MM-DD-YYYY, hh:mm A\"\r\n ).format(\"hh:mm A\")\r\n )}\r\n {IsValid(\r\n \"P/U Appointment To\",\r\n moment(\r\n momentDate(Detail?.Shipment?.PuAppointmentTo),\r\n \"MM-DD-YYYY, hh:mm A\"\r\n ).format(\"hh:mm A\") === \"Invalid date\"\r\n ? \"\"\r\n : moment(\r\n momentDate(Detail?.Shipment?.PuAppointmentTo),\r\n \"MM-DD-YYYY, hh:mm A\"\r\n ).format(\"hh:mm A\")\r\n )}\r\n
\r\n
\r\n {CheckStatus(\"New\") &&\r\n IsValid(\r\n \"New Date\",\r\n momentDate(Detail?.Shipment?.StatusNewDate)\r\n )}\r\n {CheckStatus(\"Dispatched\") &&\r\n IsValid(\r\n \"Dispatched\",\r\n momentDate(Detail?.Shipment?.StatusDispatchedDate)\r\n )}\r\n {CheckStatus(\"Loaded\") &&\r\n IsValid(\r\n \"Loaded From Our Warehouse\",\r\n momentDate(\r\n Detail?.Shipment?.StatusLoadedFromOurWarehouseDate\r\n )\r\n )}\r\n {CheckStatus(\"In Gate at Origin Hub\") &&\r\n IsValid(\r\n \"In Gate At Origin Hub\",\r\n momentDate(Detail?.Shipment?.StatusInGateAtOriginHubDate)\r\n )}\r\n {CheckStatus(\"Arrived Destination Hub\") &&\r\n IsValid(\r\n \"Arrived Destination Hubt\",\r\n momentDate(\r\n Detail?.Shipment?.StatusArrivedDestinationHubDate\r\n )\r\n )}\r\n {IsValid(\r\n \"Delivered\",\r\n momentDate(Detail?.Shipment?.StatusDeliveredDate)\r\n )}\r\n {CheckStatus(\"Closed\") &&\r\n IsValid(\r\n \"Closed\",\r\n momentDate(Detail?.Shipment?.StatusClosedDate)\r\n )}\r\n
\r\n
\r\n {IsValid(\r\n \"Appointment Date\",\r\n momentDate(Detail?.Shipment?.AppointmentDate)\r\n )}\r\n {IsValid(\r\n \"Appointment Date Start\",\r\n moment(\r\n momentDate(Detail?.Shipment?.AppointmentDate),\r\n \"MM-DD-YYYY, hh:mm A\"\r\n ).format(\"hh:mm A\") === \"Invalid date\"\r\n ? \"\"\r\n : moment(\r\n momentDate(Detail?.Shipment?.AppointmentDate),\r\n \"MM-DD-YYYY, hh:mm A\"\r\n ).format(\"hh:mm A\")\r\n )}\r\n {IsValid(\r\n \"Appointment Date To\",\r\n moment(\r\n momentDate(Detail?.Shipment?.AppointmentTo),\r\n \"MM-DD-YYYY, hh:mm A\"\r\n ).format(\"hh:mm A\") === \"Invalid date\"\r\n ? \"\"\r\n : moment(\r\n momentDate(Detail?.Shipment?.AppointmentTo),\r\n \"MM-DD-YYYY, hh:mm A\"\r\n ).format(\"hh:mm A\")\r\n )}\r\n {IsValid(\r\n \"E.T.A\",\r\n momentDate(Detail?.Shipment?.EstimatedArrivalDate)\r\n )}\r\n {IsValid(\"RDD\", momentDateOnly(Detail?.Shipment?.Rdd))}\r\n
\r\n
\r\n \r\n Basics\r\n
\r\n
\r\n
\r\n {IsValid(\"Commodity Id\", Detail?.Shipment?.CommodityId)}\r\n {IsValid(\"Entered By\", Detail?.Shipment?.EnteredBy)}\r\n {IsValid(\r\n \"Order Created\",\r\n momentDate(Detail?.Shipment?.CreatedAt)\r\n )}\r\n {IsValid(\"Order No\", Detail?.Shipment?.OrderId)}\r\n {IsValid(\"Weight\", currencyFormat(Detail?.Shipment?.Weight))}\r\n {IsValid(\"Cube\", currencyFormat(Detail?.Shipment?.Cube))}\r\n {IsValid(\"Pieces\", Detail?.Shipment?.Pieces)}\r\n
\r\n\r\n
\r\n {IsValid(\"Service\", Detail?.Shipment?.ServiceName)}\r\n {IsValid(\"Mode\", Detail?.Shipment?.ModeName)}\r\n {IsValid(\"Service Level\", Detail?.Shipment?.ServiceLevelName)}\r\n {IsValid(\r\n \"Equipment Type\",\r\n Detail?.Shipment?.EquipmentTypeName\r\n )}\r\n {IsValid(\r\n \"Equipment Size\",\r\n Detail?.Shipment?.EquipmentSizeName\r\n )}\r\n {IsValid(\"Load Type\", Detail?.Shipment?.PalletType)}\r\n {Detail?.Shipment?.PalletType === \"Palletized\" && (\r\n <>\r\n {IsValid(\"Pallet Type\", Detail?.Shipment?.PalletLoadType)}\r\n {IsValid(\"Pallet Count\", Detail?.Shipment?.PalletCount)}\r\n \r\n )}\r\n\r\n {IsValid(\"Tracking Device\", Detail?.Shipment?.DeviceName)}\r\n {IsValid(\"Freight Charge\", Detail?.Shipment?.FreightCharge)}\r\n
\r\n {Detail?.ServiceName === \"Drayage\" && (\r\n <>\r\n
\r\n \r\n Oder Details - Drayage\r\n
\r\n
\r\n
\r\n {IsValidColumn(\"Mode Name\", Detail?.ModeName)}\r\n {IsValidColumn(\"Vessel\", Detail?.Vessel)}\r\n {IsValidColumn(\"Seal Number\", Detail?.SealNumber)}\r\n
\r\n\r\n
\r\n {IsValidColumn(\"Service Level\", Detail?.ServiceLevel)}\r\n {IsValidColumn(\"Voyage Number\", Detail?.VesselVoyage)}\r\n {IsValidColumn(\"Cartons\", Detail?.Cartons)}\r\n
\r\n\r\n
\r\n {IsValidColumn(\"Equipment Type\", Detail?.EquipmentType)}\r\n {IsValidColumn(\"ETA\", Detail?.Eta)}\r\n {IsValidColumn(\"Weight\", Detail?.TotalWeight1)}\r\n
\r\n\r\n
\r\n {IsValidColumn(\"Equipment Number\", Detail?.EquipmentRef)}\r\n {IsValidColumn(\"MBL\", Detail?.MasterBill)}\r\n {IsValidColumn(\r\n \"Cube\",\r\n currencyFormat(Detail?.TotalCube1)\r\n )}\r\n
\r\n \r\n )}\r\n\r\n {Detail?.ServiceName === \"Domestic Transportation\" && (\r\n
\r\n
\r\n \r\n Order Details - LTL\r\n
\r\n
\r\n
\r\n {IsValidColumn(\"Mode Name\", Detail?.ModeName)}{\" \"}\r\n {IsValidColumn(\"Cartons\", Detail?.Cartons)}\r\n
\r\n\r\n
\r\n {IsValidColumn(\"Service Level\", Detail?.ServiceLevel)}\r\n {IsValidColumn(\"Pallets\", Detail?.Pallets)}\r\n
\r\n\r\n
\r\n {IsValidColumn(\"Equipment Type\", Detail?.EquipmentType)}\r\n {IsValidColumn(\"Weight\", Detail?.TotalWeight1)}\r\n
\r\n\r\n
\r\n {IsValidColumn(\r\n \"Equipment Number\",\r\n Detail?.EquipmentTypeId\r\n )}\r\n {IsValidColumn(\r\n \"Cube\",\r\n currencyFormat(Detail?.TotalCube1)\r\n )}\r\n
\r\n
\r\n )}\r\n
\r\n \r\n\r\n \r\n \r\n
TRACKING
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n {/* Header */}\r\n
\r\n

\r\n \r\n BASIC DETAILS\r\n \r\n

\r\n
\r\n\r\n {/* Body */}\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n Trailer Number\r\n \r\n \r\n {DetailShipmentInfo?.Shipment?.Equipment}\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n Seal Number\r\n \r\n \r\n {DetailShipmentInfo?.Shipment?.SealNumber}\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n Customer\r\n \r\n \r\n {\r\n DetailShipmentInfo?.Shipment?.CustomerAddress\r\n ?.CompanyName\r\n }\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n Carrier\r\n \r\n \r\n {DetailShipmentInfo?.Shipment !== null\r\n ? DetailShipmentInfo?.Shipment?.Vendors\r\n ?.length > 0 &&\r\n DetailShipmentInfo?.Shipment?.Vendors[0]\r\n ?.VendorAddress?.CompanyName\r\n : \"\"}\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n \r\n Current Location\r\n \r\n \r\n {Result?.CurrentEvent +\r\n \" - \" +\r\n Result?.CurrentCity +\r\n \", \" +\r\n Result?.CurrentState +\r\n \" - \" +\r\n formatDate(Result?.CurrentDate) +\r\n \", \" +\r\n tConvert(Result?.CurrentTime)}\r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n \r\n Shipment Status\r\n \r\n \r\n {DetailShipmentInfo?.Shipment?.StatusName}\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

\r\n \r\n SHIPMENT OVERVIEW\r\n \r\n

\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n Ship From\r\n \r\n \r\n {DetailShipmentInfo?.Shipment?.ShipperAddress?.Code}\r\n {\"-\"}\r\n {\r\n DetailShipmentInfo?.Shipment?.ShipperAddress\r\n ?.CompanyName\r\n }\r\n :{\" \"}\r\n {\r\n DetailShipmentInfo?.Shipment?.ShipperAddress\r\n ?.Address\r\n }\r\n ,{\" \"}\r\n {DetailShipmentInfo?.Shipment?.ShipperAddress?.City}\r\n ,{\" \"}\r\n {\r\n DetailShipmentInfo?.Shipment?.ShipperAddress\r\n ?.State\r\n }{\" \"}\r\n {\r\n DetailShipmentInfo?.Shipment?.ShipperAddress\r\n ?.ZipCode\r\n }\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n Ship To\r\n \r\n \r\n {\r\n DetailShipmentInfo?.Shipment?.ConsigneeAddress\r\n ?.Code\r\n }\r\n {DetailShipmentInfo?.Shipment?.ConsigneeAddress\r\n ?.CompanyName !== null\r\n ? \"-\"\r\n : \"\"}\r\n {\r\n DetailShipmentInfo?.Shipment?.ConsigneeAddress\r\n ?.CompanyName\r\n }\r\n {DetailShipmentInfo?.DestinationInformation\r\n ?.Address !== null\r\n ? \": \"\r\n : \"\"}\r\n {\r\n DetailShipmentInfo?.DestinationInformation\r\n ?.Address\r\n }\r\n {DetailShipmentInfo?.Shipment?.ConsigneeAddress\r\n ?.City !== null\r\n ? \", \"\r\n : \"\"}\r\n {\r\n DetailShipmentInfo?.Shipment?.ConsigneeAddress\r\n ?.City\r\n }\r\n {DetailShipmentInfo?.Shipment?.ConsigneeAddress\r\n ?.State !== null\r\n ? \", \"\r\n : \"\"}\r\n {\r\n DetailShipmentInfo?.Shipment?.ConsigneeAddress\r\n ?.State\r\n }\r\n {DetailShipmentInfo?.Shipment?.ConsigneeAddress\r\n ?.ZipCode !== null\r\n ? \" \"\r\n : \"\"}\r\n {\r\n DetailShipmentInfo?.Shipment?.ConsigneeAddress\r\n ?.ZipCode\r\n }\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n Pickup Estimated Date\r\n \r\n \r\n {DetailShipmentInfo?.Shipment\r\n ?.StatusInTransitDate !== null\r\n ? new Date(\r\n DetailShipmentInfo?.Shipment?.StatusInTransitDate\r\n ).toLocaleString()\r\n : \"\"}\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n Delivery Estimated Date\r\n \r\n \r\n {DetailShipmentInfo?.Shipment\r\n ?.EstimatedArrivalDate !== null\r\n ? new Date(\r\n DetailShipmentInfo?.Shipment?.EstimatedArrivalDate\r\n ).toLocaleString()\r\n : \"\"}\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n \r\n
TRACKING DETAILS
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n {DetailTrakingGeometryInfo ? (\r\n DetailTrakingGeometryInfo.length !== 0 ? (\r\n \r\n renderMarkers(map, maps)\r\n }\r\n >\r\n ) : (\r\n \"\"\r\n )\r\n ) : (\r\n \"\"\r\n )}\r\n
\r\n
\r\n \r\n {/* Header */}\r\n
\r\n

\r\n \r\n TRACKING\r\n \r\n

\r\n
\r\n {/* Body */}\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n {\r\n DetailShipmentInfo?.Shipment?.ShipperAddress\r\n ?.City\r\n }\r\n ,{\" \"}\r\n {\r\n DetailShipmentInfo?.Shipment?.ShipperAddress\r\n ?.State\r\n }\r\n \r\n
\r\n Start Tracking:{\" \"}\r\n {DetailShipmentInfo?.Shipment\r\n ?.StatusInTransitDate !== null\r\n ? new Date(\r\n DetailShipmentInfo?.Shipment?.StatusInTransitDate\r\n ).toLocaleString()\r\n : \"\"}\r\n
\r\n
\r\n
\r\n {DetailTrakingInfo\r\n ? DetailTrakingInfo.map((item, index) => (\r\n \r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n {item.LocationCity},{\" \"}\r\n {item.LocationState}\r\n \r\n
\r\n {item.EventName}:{\" \"}\r\n {item.TraceDate !== null\r\n ? formatDate(item.TraceDate) +\r\n \", \" +\r\n tConvert(item.TraceTime)\r\n : \"\"}\r\n
\r\n
\r\n
\r\n ))\r\n : \"\"}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n Trace Type\r\n Trace Date\r\n Location\r\n Event Name\r\n Eta Date\r\n Created By\r\n \r\n \r\n \r\n {DetailTrakingInfo !== undefined &&\r\n DetailTrakingInfo.map((item, index) => (\r\n \r\n \r\n {item.TraceType}\r\n \r\n \r\n {item.TraceDate !== null\r\n ? formatDate(item.TraceDate) +\r\n \", \" +\r\n tConvert(item.TraceTime)\r\n : \"\"}\r\n \r\n \r\n {item.LocationCity +\r\n \" \" +\r\n item.LocationState +\r\n \", \" +\r\n item.LocationCountry}\r\n \r\n {item.EventName}\r\n \r\n {item.EtaDate !== null\r\n ? formatDate(item.EtaDate) +\r\n \", \" +\r\n tConvert(item.EtaTime)\r\n : \"\"}\r\n \r\n {item.CreatedBy}\r\n \r\n ))}\r\n \r\n
\r\n
\r\n \r\n \r\n\r\n \r\n \r\n
Shipment Items
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n Purchase Order\r\n \r\n \r\n Unit Of Measure\r\n \r\n Location\r\n Sku\r\n UPC\r\n Container\r\n \r\n Description\r\n \r\n UnitCount\r\n Weight\r\n Cube\r\n IsHazmat\r\n IsHot\r\n \r\n ShortQuantity\r\n \r\n \r\n OverQuantity\r\n \r\n \r\n DamagedQuantity\r\n \r\n\r\n \r\n Ship Short Qte.\r\n \r\n \r\n Ship Over Qte.\r\n \r\n \r\n Ship Damaged Qte.\r\n \r\n Case Pack\r\n {/* {isDashboard && ( */}\r\n Actions\r\n {/* )} */}\r\n \r\n \r\n \r\n {Detail?.Shipment?.ShipmentItems.slice(\r\n page * rowsPerPage,\r\n page * rowsPerPage + rowsPerPage\r\n ).map((item) => (\r\n \r\n {item.PurchaseOrder}\r\n {item.UnitOfMeasure}\r\n \r\n {\r\n <>\r\n {item.Location}\r\n {item.LocationCode && (\r\n \r\n {item.LocationCode}\r\n \r\n }\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n )}\r\n \r\n }\r\n \r\n {item.Sku}\r\n {item.Upc}\r\n {item.Container}\r\n {item.Description}\r\n {item.Quantity}\r\n {currencyFormat(item.Weight)}\r\n {currencyFormat(item.Cube)}\r\n \r\n {\" \"}\r\n {item.IsHazmat && (\r\n \r\n Hazardous Material\r\n \r\n }\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n )}\r\n \r\n \r\n {item.IsHot && (\r\n \r\n Hot\r\n \r\n }\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n )}\r\n \r\n {item.ShortQuantity}\r\n {item.OverQuantity}\r\n {item.DamagedQuantity}\r\n {item.ShipmentShortQuantity}\r\n {item.ShipmentOverQuantity}\r\n \r\n {item.ShipmentDamagedQuantity}\r\n \r\n {item.CasePack}\r\n\r\n {/* {isDashboard && ( */}\r\n \r\n {\r\n showModalEditOsd(true);\r\n setRowOsd(item);\r\n setSaveOsd(false);\r\n setOverQuantity(item.ShipmentOverQuantity);\r\n setShortQuantity(item.ShipmentShortQuantity);\r\n setDamagedQuantity(\r\n item.ShipmentDamagedQuantity\r\n );\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n <> \r\n \r\n {/* )} */}\r\n \r\n ))}\r\n \r\n
\r\n \r\n \r\n \r\n Edit OSD Item / PO# : {rowOsd?.PurchaseOrder}\r\n \r\n {\r\n showModalEditOsd(false);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n {\r\n setOverQuantity(e.target.value);\r\n }}\r\n />\r\n
\r\n\r\n
\r\n \r\n {\r\n setShortQuantity(e.target.value);\r\n }}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n \r\n {\r\n setDamagedQuantity(e.target.value);\r\n }}\r\n />\r\n
\r\n
\r\n
\r\n \r\n {\r\n showModalEditOsd(false);\r\n }}\r\n >\r\n Close\r\n \r\n {\r\n try {\r\n setSaveOsd(true);\r\n await PutOsd(rowOsd.Id);\r\n showModalEditOsd(false);\r\n await GetModel();\r\n Notification(\"success\", \"Success\");\r\n setSaveOsd(false);\r\n } catch (err) {}\r\n }}\r\n >\r\n Save\r\n \r\n \r\n \r\n\r\n {Detail?.Shipment?.ShipmentItems && (\r\n \r\n )}\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
Transportation Items
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n {!isDashboard && (\r\n
\r\n \r\n \r\n
Vendors
\r\n
\r\n \r\n \r\n \r\n <>\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n Vendor #: {vendorIdContact} Contacts\r\n \r\n {\r\n setContactModal(false);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n {\r\n setContactModal(false);\r\n }}\r\n className=\"btn btn-light btn-elevate w-25\"\r\n >\r\n Close\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n )}\r\n {!isDashboard && (\r\n
\r\n \r\n \r\n
Rates
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n {/* Body */}\r\n
\r\n \r\n \r\n \r\n Charge Code\r\n Charge Description\r\n Freight Charge\r\n Bill Amount\r\n Payable Amount\r\n Margin\r\n Margin%\r\n Invoice#\r\n Invoice Date\r\n Vendor Name\r\n \r\n \r\n \r\n {Detail?.Shipment?.CalculatedCharges.map(\r\n (row) => (\r\n \r\n {row.Code}\r\n \r\n {row.ChargeDescription}\r\n \r\n \r\n {row?.FreightChargeName ?? \"-\"}\r\n \r\n {row.BillAmount}\r\n {row.PayableAmount}\r\n {row.Margin}\r\n \r\n {row.MarginPercentage}\r\n \r\n {row.InvoiceNumber}\r\n \r\n {row.InvoiceDate !== null\r\n ? new Date(\r\n row.InvoiceDate\r\n ).toLocaleString()\r\n : \"\"}\r\n \r\n {row.VendorName}\r\n \r\n )\r\n )}\r\n \r\n \r\n \r\n \r\n Totals\r\n \r\n \r\n \r\n {Detail?.Shipment?.TotalReceivable}\r\n \r\n \r\n \r\n \r\n {Detail?.Shipment?.TotalPayable}\r\n \r\n \r\n \r\n {Detail?.Shipment?.Revenue}\r\n \r\n \r\n \r\n {Detail?.Shipment?.TotalReceivable === 0\r\n ? 0\r\n : (\r\n (Detail?.Shipment?.Revenue /\r\n Detail?.Shipment?.TotalReceivable) *\r\n 100\r\n ).toFixed(2)}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n )}\r\n \r\n \r\n
Notes
\r\n
\r\n \r\n \r\n \r\n <>\r\n
\r\n
\r\n {isDashboard === true ? (\r\n word.AccessLevelId === 4) ||\r\n []\r\n }\r\n />\r\n ) : (\r\n
\r\n \r\n \r\n \r\n \r\n Id\r\n Body\r\n UserEmail\r\n CreatedBy\r\n CategoryName\r\n CreatedAt\r\n Access Level\r\n \r\n \r\n \r\n {Notes?.map((row) => (\r\n \r\n {row.Id}\r\n {row.Body}\r\n \r\n {row.UserEmail}\r\n \r\n \r\n {row.CreatedBy}\r\n \r\n \r\n {row.CategoryName}\r\n \r\n \r\n {row.CreatedAt}\r\n \r\n \r\n {row.AccessLevelId === 5\r\n ? \"Private\"\r\n : row.AccessLevelId === 4\r\n ? \"Public\"\r\n : \"\"}\r\n \r\n \r\n ))}\r\n \r\n \r\n \r\n
\r\n )}\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n
Attachments
\r\n
\r\n \r\n \r\n \r\n <>\r\n
\r\n
\r\n {/* Header */}\r\n
\r\n

\r\n Shipments Attachments\r\n

\r\n
\r\n {isDashboard === true ? (\r\n \r\n ) : (\r\n Attachments?.map((x, index) => (\r\n \r\n ))\r\n )}\r\n {}\r\n
\r\n
\r\n\r\n {/* Modal Attachment Viewer */}\r\n {\r\n setShowAttachment(false);\r\n }}\r\n aria-labelledby=\"example-modal-sizes-title-lg\"\r\n >\r\n \r\n \r\n Attachment Viewer for SM #: {Detail?.Shipment?.Id}\r\n \r\n {\r\n setShowAttachment(false);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n <>\r\n
\r\n
\r\n \r\n {\r\n const fileName = filePath.replace(\r\n /^.*[\\\\\\/]/,\r\n \"\"\r\n );\r\n FileSaver(filePath, fileName);\r\n }}\r\n >\r\n Download\r\n {\" \"}\r\n
\r\n
\r\n {type === \"pdf\" ? (\r\n
\r\n \r\n \r\n
\r\n
\r\n ) : (\r\n
\r\n
\r\n \r\n
\r\n
\r\n )}\r\n \r\n
\r\n \r\n {\r\n setShowAttachment(false);\r\n }}\r\n className=\"btn btn-light btn-elevate w-25\"\r\n >\r\n Close\r\n \r\n \r\n \r\n \r\n \r\n\r\n {!isDashboard && (\r\n
\r\n \r\n \r\n
ACTIVITIES
\r\n
\r\n \r\n \r\n \r\n {DetailActivityRatesInfo !== null ? (\r\n \r\n ) : (\r\n
\r\n
\r\n \r\n Loading Data ...\r\n
\r\n
\r\n
\r\n )}\r\n \r\n
\r\n )}\r\n \r\n \r\n
\r\n\r\n \r\n {\r\n setShow(false);\r\n }}\r\n className=\"btn btn-light btn-elevate w-25\"\r\n >\r\n Close\r\n \r\n \r\n \r\n );\r\n\r\n async function GetModel() {\r\n await fetch(`${window.$apiurl}/transload/shipment/` + Id, {\r\n method: \"get\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n const a = res[1];\r\n setDetail(a);\r\n setDetailShipmentInfo(a);\r\n setAttachmentsList(a.Shipment.Attachments);\r\n var b = a.Shipment.Notes;\r\n b.forEach((x) => {\r\n x.CreatedAt = momentDate(x?.CreatedAt);\r\n });\r\n setNotesList(b);\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n setDetailActivityRatesInfo(null);\r\n fetch(window.$apiurl + `/tracking/${Id}`, {\r\n method: \"get\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then((response) => response.text())\r\n .then((result) => {\r\n var obj = JSON.parse(result);\r\n setResult(obj);\r\n setDetailTrakingInfo(obj.Tracking);\r\n setDetailTrakingGeometryInfo(obj.Polyline);\r\n\r\n obj.Activities.sort(function(a, b) {\r\n return new Date(b.Created) - new Date(a.Created);\r\n });\r\n obj.Activities.forEach((x, i) => {\r\n x.id = i;\r\n });\r\n setDetailActivityRatesInfo(obj?.Activities || []);\r\n })\r\n .catch((error) => console.log(\"error\", error));\r\n }\r\n\r\n function getExtension(path) {\r\n var basename = path.split(/[\\\\/]/).pop(),\r\n pos = basename.lastIndexOf(\".\");\r\n if (basename === \"\" || pos < 1) return \"\";\r\n return basename.slice(pos + 1);\r\n }\r\n async function SecureFileFetch(receiptId, attachmentId) {\r\n return await fetch(\r\n window.$apiurl +\r\n `/generic/attachment/secureFile/${receiptId}/${attachmentId}?isReceipt=false&isQuote=false`,\r\n {\r\n method: \"get\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n }\r\n )\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then(async (res) => {\r\n try {\r\n const data = res[1];\r\n const fileType = getExtension(data.AttachmentFile);\r\n setFileType(fileType.toLowerCase());\r\n setFilePath(data.AttachmentFile);\r\n setDisabledDownload(false);\r\n } catch (err) {}\r\n return res[1];\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n function CardFunction({ x, index, New, id }) {\r\n return (\r\n <>\r\n \r\n \r\n \r\n {x?.CreatedBy}\r\n \r\n

\r\n {new Date(x?.Created).toLocaleString()}\r\n

\r\n \r\n Download :\r\n \r\n {\r\n setShowAttachment(true);\r\n await SecureFileFetch(id, x.Id);\r\n }}\r\n href={() => false}\r\n // target=\"_blank\"\r\n role=\"button\"\r\n className=\"btn btn-light-primary btn-elevate py-1\"\r\n >\r\n {x?.FileName}\r\n \r\n \r\n\r\n {/* Detail Attachments */}\r\n
\r\n
\r\n Attachment Type :{\" \"}\r\n {x?.Type}\r\n
\r\n
\r\n Access Level :{\" \"}\r\n {x?.AccessLevel}\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n );\r\n }\r\n}\r\n","import {\r\n Button,\r\n Icon,\r\n ListItemIcon,\r\n ListItemText,\r\n Menu,\r\n MenuItem,\r\n withStyles,\r\n} from \"@material-ui/core\";\r\nimport low from \"lowdb\";\r\nimport LocalStorage from \"lowdb/adapters/LocalStorage\";\r\nimport moment from \"moment\";\r\nimport React, { useEffect, useState } from \"react\";\r\nimport {\r\n ButtonToolbar,\r\n OverlayTrigger,\r\n ProgressBar,\r\n Tooltip,\r\n} from \"react-bootstrap\";\r\nimport BootstrapTable from \"react-bootstrap-table-next\";\r\nimport paginationFactory, {\r\n PaginationProvider,\r\n} from \"react-bootstrap-table2-paginator\";\r\nimport { Helmet } from \"react-helmet\";\r\nimport SVG from \"react-inlinesvg\";\r\nimport {\r\n NoRecordsFoundMessage,\r\n PleaseWaitMessage,\r\n SimpleZoom,\r\n sortCaret,\r\n toAbsoluteUrl,\r\n} from \"../../../../../../_metronic/_helpers\";\r\nimport { Export } from \"../../../../../../_metronic/_helpers/ATHelpers\";\r\nimport {\r\n Card,\r\n CardBody,\r\n CardHeader,\r\n CardHeaderToolbar,\r\n CheckboxLargeWB,\r\n Pagination,\r\n} from \"../../../../../../_metronic/_partials/controls\";\r\nimport { BLFORM } from \"../../../../../pages/BL/BLFORM\";\r\nimport { DRAYAGEFORM } from \"../../../../../pages/Drayage/DRAYAGEFORM\";\r\nimport DynamicReport from \"../../../../../pages/DynamicReport/DynamicReport\";\r\nimport { LTLFORM } from \"../../../../../pages/LTL/LTLFORM\";\r\nimport { PLFORM } from \"../../../../../pages/PL/PLFORM\";\r\nimport { OutboundManifest } from \"../../../../../pages/SCENTSY/OutboundManifest\";\r\nimport { TRCFORM } from \"../../../../../pages/TRC/TRCFORM\";\r\nimport { Notification } from \"../../../../Notification\";\r\nimport * as columnFormatters from \"../../NewShipmentsBeta/customers-table/column-formatters\";\r\nimport { ModelManagmentFirst } from \"../../NewShipmentsBeta/customers-table/ModelShipmentManagment\";\r\nimport { ActionsFormatter } from \"./ActionsFormatter\";\r\nimport { ActionsStatus } from \"./ActionsStatus\";\r\nimport { Status } from \"./Status\";\r\nimport \"./Style.css\";\r\nimport { WarehouseFilter } from \"./WarehouseFilter\";\r\nimport { ModelMnagementTMSWarehouse } from \"./ModelMnagementTMSWarehouse\";\r\nimport { BlFormMulti } from \"../../../../../pages/BL/BlFormMulti\";\r\nimport { RateConfirmationBeta } from \"../../../../../pages/Drayage/RateConfirmationBeta\";\r\n\r\nvar Spinner = require(\"react-spinkit\");\r\nconst adapter = new LocalStorage(\"db\");\r\nconst db = low(adapter);\r\n\r\nvar totalItems = 0;\r\n\r\nconst StyledMenu = withStyles({\r\n paper: {\r\n border: \"1px solid #d3d4d5\",\r\n },\r\n})((props) => (\r\n \r\n));\r\nconst StyledMenuItem = withStyles((theme) => ({\r\n root: {\r\n \"&:focus\": {\r\n backgroundColor: theme.palette.primary.main,\r\n \"& .MuiListItemIcon-root, & .MuiListItemText-primary\": {\r\n color: theme.palette.common.white,\r\n },\r\n },\r\n },\r\n}))(MenuItem);\r\n\r\nvar getDate = function(d) {\r\n if (d === null || d === \"\" || d === undefined) return \"\";\r\n var format = \"MM/DD/YYYY hh:mm A\";\r\n if (\r\n moment(d)\r\n .startOf(\"day\")\r\n .valueOf() === moment(d).valueOf()\r\n ) {\r\n format = \"MM/DD/YYYY\";\r\n }\r\n return (\r\n \r\n {moment(d).format(format)}\r\n \r\n );\r\n};\r\n\r\nexport function TmsWarehouseManagementPage() {\r\n const [LoadingGridData, setLoadingGridData] = useState(false);\r\n const [showModalSends, setshowModalSends] = useState(false);\r\n\r\n const [anchorEl, setAnchorEl] = useState(null);\r\n const [DataWareHouse, setDataWareHouse] = useState(null);\r\n const [ViewModel, setViewModel] = useState(null);\r\n const [ExportLoadingData, setExportLoadingData] = useState(false);\r\n const [SelectedRow, setSelectedRow] = useState([]);\r\n const [SelectedRowBulk, setSelectedRowBulk] = useState([]);\r\n const [SelectedRowBulkButtonShow, setSelectedRowBulkButtonShow] = useState(\r\n false\r\n );\r\n const [paginationOptions, setpaginationOptions] = useState({\r\n custom: true,\r\n totalSize: totalItems,\r\n sortField: \"StatusNewDate\",\r\n sortOrder: \"desc\",\r\n sizePerPageList: [\r\n { text: \"10\", value: 10 },\r\n { text: \"25\", value: 25 },\r\n { text: \"50\", value: 50 },\r\n ],\r\n sizePerPage: 10,\r\n page: 1,\r\n });\r\n const [filterOptions, setfilterOptions] = useState({\r\n customers: [],\r\n service: window.$ShipmentManagementServiceId,\r\n mode: window.$ShipmentManagementModeId,\r\n serviceLevelId: \"\",\r\n IsCanceled: null,\r\n search: window.$SmGsearchText,\r\n eqTypeId: \"\",\r\n eqSizeId: \"\",\r\n DateRangeType: \"created\",\r\n exceptionsId: \"\",\r\n ShipFrom: \"\",\r\n VendorId: \"\",\r\n startDate: new Date()\r\n .addDays(-28)\r\n .toISOString()\r\n .split(\"T\")[0],\r\n endDate: new Date().toISOString().split(\"T\")[0],\r\n statusId: \"\",\r\n StatusName: \"\",\r\n hot: false,\r\n hasMat: false,\r\n isHeavy: false,\r\n OnHold: false,\r\n canceled: window.$ShipmentManagementCanceled,\r\n driverCheckedIn: \"\",\r\n closed: window.$ShipmentManagementClosed,\r\n });\r\n function handleClick(event) {\r\n setAnchorEl(event.currentTarget);\r\n }\r\n useEffect(() => {\r\n if (window.$SmGsearchText !== filterOptions.search) {\r\n setfilterOptions({\r\n customers: [],\r\n service: window.$ShipmentManagementServiceId,\r\n mode: window.$ShipmentManagementModeId,\r\n serviceLevelId: \"\",\r\n IsCanceled: null,\r\n search: window.$SmGsearchText,\r\n eqTypeId: \"\",\r\n eqSizeId: \"\",\r\n DateRangeType: \"created\",\r\n exceptionsId: \"\",\r\n ShipFrom: \"\",\r\n VendorId: \"\",\r\n startDate: window.$SmGsearchStartDate,\r\n endDate: \"\",\r\n statusId: \"\",\r\n StatusName: \"\",\r\n hot: false,\r\n hasMat: false,\r\n OnHold: false,\r\n isHeavy: false,\r\n canceled: window.$ShipmentManagementCanceled,\r\n driverCheckedIn: \"\",\r\n closed: window.$ShipmentManagementClosed,\r\n });\r\n }\r\n }, [window.$SmGsearchText]);\r\n\r\n function handleClose() {\r\n setAnchorEl(null);\r\n }\r\n\r\n useEffect(() => {\r\n GetWarehousData();\r\n }, [filterOptions]);\r\n\r\n //Datafunctions\r\n function GetWarehousData(searchVal) {\r\n setLoadingGridData(true);\r\n var _customers = filterOptions.customers.length > 0 ? \"\" : \"?customerId=\";\r\n filterOptions.customers.forEach((item, index) => {\r\n _customers +=\r\n (index === 0 ? \"?customerId=\" : \"&customerId=\") + item.value;\r\n });\r\n var myHeaders = new Headers();\r\n myHeaders.append(\"Authorization\", `bearer ${db.read().getState().Token}`);\r\n\r\n var requestOptions = {\r\n method: \"GET\",\r\n headers: myHeaders,\r\n redirect: \"follow\",\r\n };\r\n if (searchVal !== null && searchVal !== undefined) {\r\n let currentFilter = { ...filterOptions };\r\n currentFilter.search = searchVal;\r\n setfilterOptions(currentFilter);\r\n }\r\n fetch(\r\n `${window.$apiurl}/warehouseManagement${_customers}&driverCheckedIn=${filterOptions.driverCheckedIn}&statusId=${filterOptions.statusId}&ServiceId=${filterOptions.service}&modeId=${filterOptions.mode}&serviceLevelId=${filterOptions.serviceLevelId}&equipmentTypeId=${filterOptions.eqTypeId}&equipmentSizeId=${filterOptions.eqSizeId}&shipFromId=${filterOptions.ShipFrom}&VendorId=${filterOptions.VendorId}&filterDate=${filterOptions.DateRangeType}&startDate=${filterOptions.startDate}&endDate=${filterOptions.endDate}&isHot=${filterOptions.hot}&IsHeavy=${filterOptions.isHeavy}&isHazardousMaterial=${filterOptions.hasMat}&exception=${filterOptions.exceptionsId}&IsCancel=${filterOptions.IsCanceled}&OnHold=${filterOptions.OnHold}&IsClosed=${filterOptions.closed}&pageNumber=${paginationOptions.page}&pageSize=${paginationOptions.sizePerPage}&sortField=${paginationOptions.sortField}&sortOrder=${paginationOptions.sortOrder}&search=${filterOptions.search}`,\r\n requestOptions\r\n )\r\n .then((response) => response.text())\r\n .then((result) => {\r\n let dataObj = JSON.parse(result);\r\n setDataWareHouse(dataObj);\r\n\r\n //InTransit\r\n var _paginationOptions = { ...paginationOptions };\r\n _paginationOptions.totalSize = dataObj?.Pagination?.TotalItemCount;\r\n _paginationOptions.page = 1;\r\n setSelectedRow([]);\r\n setSelectedRowBulk([]);\r\n setpaginationOptions(_paginationOptions);\r\n\r\n setLoadingGridData(false);\r\n })\r\n .catch((error) => {\r\n console.log(\"error\", error);\r\n setLoadingGridData(false);\r\n });\r\n }\r\n function GetWarehousDataPageChanges(values) {\r\n setLoadingGridData(true);\r\n\r\n var _customers = filterOptions.customers.length > 0 ? \"\" : \"?customerId=\";\r\n filterOptions.customers.map((item, index) => {\r\n _customers +=\r\n (index === 0 ? \"?customerId=\" : \"&customerId=\") + item.value;\r\n });\r\n var myHeaders = new Headers();\r\n myHeaders.append(\"Authorization\", `bearer ${db.read().getState().Token}`);\r\n\r\n var requestOptions = {\r\n method: \"GET\",\r\n headers: myHeaders,\r\n redirect: \"follow\",\r\n };\r\n\r\n fetch(\r\n `${window.$apiurl}/warehouseManagement${_customers}&driverCheckedIn=${filterOptions.driverCheckedIn}&statusId=${filterOptions.statusId}&ServiceId=${filterOptions.service}&modeId=${filterOptions.mode}&serviceLevelId=${filterOptions.serviceLevelId}&equipmentTypeId=${filterOptions.eqTypeId}&equipmentSizeId=${filterOptions.eqSizeId}&shipFromId=${filterOptions.ShipFrom}&VendorId=${filterOptions.VendorId}&filterDate=${filterOptions.DateRangeType}&startDate=${filterOptions.startDate}&endDate=${filterOptions.endDate}&isHot=${filterOptions.hot}&IsHeavy=${filterOptions.isHeavy}&isHazardousMaterial=${filterOptions.hasMat}&exception=${filterOptions.exceptionsId}&IsCancel=${filterOptions.IsCanceled}&OnHold=${filterOptions.OnHold}&IsClosed=${filterOptions.closed}&pageNumber=${values.page}&pageSize=${values.sizePerPage}&sortField=${values.sortField}&sortOrder=${values.sortOrder}&search=${filterOptions.search}`,\r\n requestOptions\r\n )\r\n .then((response) => response.text())\r\n .then((result) => {\r\n let dataObj = JSON.parse(result);\r\n let oldPaginationValue = { ...paginationOptions };\r\n oldPaginationValue.totalSize = dataObj?.Pagination?.TotalItemCount;\r\n oldPaginationValue.sortField = values.sortField;\r\n oldPaginationValue.sortOrder = values.sortOrder;\r\n oldPaginationValue.page = values.page;\r\n oldPaginationValue.sizePerPage = values.sizePerPage;\r\n setpaginationOptions(oldPaginationValue);\r\n setSelectedRow([]);\r\n setSelectedRowBulk([]);\r\n setLoadingGridData(false);\r\n setDataWareHouse(dataObj);\r\n })\r\n .catch((error) => {\r\n console.log(\"error\", error);\r\n setLoadingGridData(false);\r\n });\r\n }\r\n function GetOptionsViewModel() {\r\n fetch(window.$apiurl + \"/transportation/shipments/getSmViewModel\", {\r\n method: \"get\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then((res) => res.json())\r\n .then((res) => {\r\n setViewModel(res);\r\n })\r\n .catch(() => {\r\n Notification(\"error\", \"err\");\r\n return false;\r\n });\r\n }\r\n useEffect(() => {\r\n GetOptionsViewModel();\r\n GetWarehousData();\r\n }, []);\r\n async function fetchMyAPI2(type, entityName) {\r\n var _customers = filterOptions.customers.length > 0 ? \"\" : \"?customerId=\";\r\n filterOptions.customers.map((item, index) => {\r\n _customers +=\r\n (index === 0 ? \"?customerId=\" : \"&customerId=\") + item.value;\r\n });\r\n setExportLoadingData(true);\r\n return await fetch(\r\n `${window.$apiurl}/warehouseManagement${_customers}&driverCheckedIn=${filterOptions.driverCheckedIn}&exception=${filterOptions.exceptionsId}&statusId=${filterOptions.statusId}&ServiceId=${filterOptions.service}&modeId=${filterOptions.mode}&serviceLevelId=${filterOptions.serviceLevelId}&equipmentTypeId=${filterOptions.eqTypeId}&equipmentSizeId=${filterOptions.eqSizeId}&shipFromId=${filterOptions.ShipFrom}&VendorId=${filterOptions.VendorId}&filterDate=${filterOptions.DateRangeType}&startDate=${filterOptions.startDate}&endDate=${filterOptions.endDate}&isHot=${filterOptions.hot}&IsHeavy=${filterOptions.isHeavy}&isHazardousMaterial=${filterOptions.hasMat}&exception=&IsCancel=${filterOptions.canceled}&IsClosed=${filterOptions.closed}&pageNumber=${paginationOptions.page}&pageSize=1000000&sortField=${paginationOptions.sortField}&sortOrder=${paginationOptions.sortOrder}&search=${filterOptions.search}`,\r\n {\r\n method: \"get\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n }\r\n )\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n if (statusCode === 401) {\r\n try {\r\n document.getElementById(\"401Link\").click();\r\n } catch (err) {\r\n console.log(err);\r\n }\r\n }\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n Export(res[1].Shipments, type, entityName);\r\n setExportLoadingData(false);\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n setExportLoadingData(false);\r\n });\r\n }\r\n //End Data functions\r\n const selectRow = {\r\n mode: \"checkbox\",\r\n selected: SelectedRow,\r\n hideSelectColumn:\r\n filterOptions?.statusId === 102 || filterOptions?.statusId === 7\r\n ? true\r\n : false,\r\n onSelect: (row, isSelect, rowIndex, e) => {\r\n var a = [];\r\n var b = [];\r\n if (isSelect) {\r\n a = SelectedRow;\r\n b = SelectedRowBulk;\r\n a.push(row.Id);\r\n b.push(row);\r\n setSelectedRow(a);\r\n setSelectedRowBulk(b);\r\n if (b.length > 0) {\r\n setSelectedRowBulkButtonShow(true);\r\n } else {\r\n setSelectedRowBulkButtonShow(false);\r\n }\r\n } else {\r\n a = SelectedRow;\r\n b = SelectedRowBulk;\r\n a = a?.filter((word) => String(word) !== String(row.Id));\r\n b = b?.filter((word) => String(word.Id) !== String(row.Id));\r\n setSelectedRow(a);\r\n setSelectedRowBulk(b);\r\n if (b.length > 0) {\r\n setSelectedRowBulkButtonShow(true);\r\n } else {\r\n setSelectedRowBulkButtonShow(false);\r\n }\r\n }\r\n },\r\n onSelectAll: (isSelected, rows) => {\r\n if (isSelected) {\r\n setSelectedRow(rows.map((a) => a.Id));\r\n setSelectedRowBulk(rows);\r\n setSelectedRowBulkButtonShow(true);\r\n } else {\r\n setSelectedRow([]);\r\n setSelectedRowBulk([]);\r\n setSelectedRowBulkButtonShow(false);\r\n }\r\n },\r\n };\r\n const GetHandlerTableChange = (type, newState) => {\r\n if (type === \"sort\") {\r\n let values = { ...paginationOptions };\r\n\r\n if (\r\n values.sortField === newState.sortField &&\r\n values.sortOrder === newState.sortOrder\r\n ) {\r\n return;\r\n }\r\n values.sortField = newState.sortField;\r\n values.sortOrder = newState.sortOrder;\r\n //setpaginationOptions(values);\r\n GetWarehousDataPageChanges(values);\r\n }\r\n if (type === \"pagination\") {\r\n let values = { ...paginationOptions };\r\n values.sizePerPage = newState.sizePerPage;\r\n values.page = newState.page === undefined ? 1 : newState.page;\r\n //setpaginationOptions(values);\r\n GetWarehousDataPageChanges(values);\r\n }\r\n };\r\n useEffect(() => {\r\n setcolumns(columnsWareHouse);\r\n }, [DataWareHouse]);\r\n useEffect(() => {\r\n setstatusId(filterOptions.statusId);\r\n }, [filterOptions.statusId]);\r\n //useStates Reports\r\n const [showInboundManifest, setOutboundManifest] = useState(false);\r\n const [showDispatchReport, setRateConfirmation] = useState(false);\r\n const [showPl, setPL] = useState(false);\r\n const [showBol, setBol] = useState(false);\r\n const [rowItem, setRow] = useState(null);\r\n const [modeItem, setModeItem] = useState(null);\r\n const [statusId, setstatusId] = useState(0);\r\n const columnsWareHouse = [\r\n {\r\n dataField: \"Id\",\r\n text: \"#\",\r\n formatter: (cell, row) => {\r\n const actions = {\r\n setOutboundManifest: setOutboundManifest,\r\n setRateConfirmation: setRateConfirmation,\r\n setBol: setBol,\r\n setPL: setPL,\r\n setRowItem: setRow,\r\n setModeItem: setModeItem,\r\n setshowModalSends: setshowModalSends,\r\n showModalSends: showModalSends,\r\n };\r\n return (\r\n \r\n );\r\n },\r\n },\r\n {\r\n dataField: \"Id\",\r\n text: \"ID\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n formatter: (cell, row) => {\r\n return (\r\n \r\n );\r\n },\r\n style: {\r\n minWidth: \"130px\",\r\n },\r\n },\r\n {\r\n dataField:\r\n statusId === 2\r\n ? \"StatusNewDate\"\r\n : statusId === 3\r\n ? \"StatusBookedDate\"\r\n : statusId === 5\r\n ? \"StatusLoadingFromOurWarehouseDate\"\r\n : statusId === 6\r\n ? \"StatusLoadedFromOurWarehouseDate\"\r\n : statusId === 102\r\n ? \"StatusNotifyTrucker\"\r\n : statusId === 7\r\n ? \"StatusPickedUpDate\"\r\n : statusId === -1\r\n ? \"StatusNewDate\"\r\n : \"StatusNewDate\",\r\n text:\r\n statusId === 2\r\n ? \"Created Date\"\r\n : statusId === 3\r\n ? \"Assigned Date\"\r\n : statusId === 5\r\n ? \"Loading Date\"\r\n : statusId === 6\r\n ? \"Loaded Date\"\r\n : statusId === 102\r\n ? \"Notify Trucker Date\"\r\n : statusId === 7\r\n ? \"Picked Up Date\"\r\n : statusId === -1\r\n ? \"Created Date\"\r\n : \"Created Date\",\r\n formatter: (cell, row) => {\r\n return (\r\n <>\r\n \r\n {statusId === 2\r\n ? getDate(row.StatusNewDate)\r\n : statusId === 3\r\n ? getDate(row.StatusBookedDate)\r\n : statusId === 5\r\n ? getDate(row.StatusLoadingFromOurWarehouseDate)\r\n : statusId === 6\r\n ? getDate(row.StatusLoadedFromOurWarehouseDate)\r\n : statusId === 102\r\n ? getDate(row.StatusNotifyTrucker)\r\n : statusId === 7\r\n ? getDate(row.StatusPickedUpDate)\r\n : statusId === -1\r\n ? getDate(row.StatusNewDate)\r\n : getDate(row.StatusNewDate)}\r\n \r\n \r\n );\r\n },\r\n sort: true,\r\n sortCaret: sortCaret,\r\n },\r\n {\r\n dataField: \"EquipmentNumber\",\r\n text: \"Trailer Number\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n },\r\n {\r\n dataField: \"CustomerName\",\r\n text: \"Customer\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n formatter: (cell, row) => {\r\n if (\r\n row.CustomerCode !== null &&\r\n row.CustomerCode !== \"\" &&\r\n row.CustomerCode !== undefined\r\n ) {\r\n return (\r\n <>\r\n {row.CustomerCode + \" \"}\r\n \r\n {row.CustomerName}\r\n \r\n }\r\n >\r\n false}\r\n className=\"btn btn-icon btn-light btn-hover-light btn-sm\"\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n },\r\n },\r\n {\r\n dataField: \"OriginCompanyCode\",\r\n text: \"Shipper Name/City State\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n formatter: (cell, row) => {\r\n var string =\r\n (row.OriginCompanyName !== null ? row.OriginCompanyName : \"\") +\r\n \"/\" +\r\n row.FromCity +\r\n (row.FromState !== null && row.FromState !== \"\"\r\n ? \", \" + row.FromState\r\n : \"\");\r\n if (\r\n row.OriginCompanyName !== null &&\r\n row.OriginCompanyName !== \"\" &&\r\n row.OriginCompanyName !== undefined\r\n ) {\r\n return (\r\n <>\r\n {row.OriginCompanyCode + \" \"}\r\n {string}}\r\n >\r\n false}\r\n className=\"btn btn-icon btn-light btn-hover-light btn-sm\"\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n },\r\n },\r\n {\r\n dataField: \"DestinationCompanyCode\",\r\n text: \"Consignee Name/City State\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n formatter: (cell, row) => {\r\n var string =\r\n (row.DestinationCompanyName !== null\r\n ? row.DestinationCompanyName\r\n : \"\") +\r\n \"/\" +\r\n row.ToCity +\r\n (row.ToState !== null && row.ToState !== \"\"\r\n ? \", \" + row.ToState\r\n : \"\");\r\n if (\r\n row.DestinationCompanyName !== null &&\r\n row.DestinationCompanyName !== \"\" &&\r\n row.DestinationCompanyName !== undefined\r\n ) {\r\n return (\r\n <>\r\n {row.DestinationCompanyCode + \" \"}\r\n {string}}\r\n >\r\n false}\r\n className=\"btn btn-icon btn-light btn-hover-light btn-sm\"\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n },\r\n },\r\n {\r\n dataField: \"FreightCharge\",\r\n text: \"Freight Charge\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n hidden: statusId !== 2 && statusId !== 7 ? true : false,\r\n },\r\n {\r\n dataField: \"DeliveryEta\",\r\n text: \"Delivery ETA\",\r\n sort: true,\r\n hidden: statusId !== 7 && statusId !== 9 ? true : false,\r\n sortCaret: sortCaret,\r\n formatter: (cell, row) => {\r\n return <>{getDate(row.DeliveryEta)};\r\n },\r\n },\r\n {\r\n dataField: \"StatusDeliveredDate\",\r\n text: \"Actual Delivered Date\",\r\n sort: false,\r\n hidden: statusId !== 12 ? true : false,\r\n sortCaret: sortCaret,\r\n formatter: (cell, row) => {\r\n return <>{getDate(row.StatusDeliveredDate)};\r\n },\r\n },\r\n {\r\n dataField: \"RequestedPickUpDate\",\r\n text: \"PICKUP ready DATE/Time\",\r\n sort: true,\r\n hidden: statusId !== 2 ? true : false,\r\n sortCaret: sortCaret,\r\n formatter: (cell, row) => {\r\n return <>{getDate(row.RequestedPickUpDate)};\r\n },\r\n },\r\n {\r\n dataField: \"PickupAppointmentDate\",\r\n text: \"PickUp by Date/Time\",\r\n sort: true,\r\n hidden: statusId !== 2 ? true : false,\r\n sortCaret: sortCaret,\r\n formatter: (cell, row) => {\r\n return <>{getDate(row.PickupAppointmentDate)};\r\n },\r\n }, //LastShipDate\r\n {\r\n dataField: \"LastShipDate\",\r\n text: \"Last Ship Date\",\r\n sort: true,\r\n hidden: statusId !== 2 ? true : false,\r\n sortCaret: sortCaret,\r\n formatter: (cell, row) => {\r\n return <>{getDate(row.LastShipDate)};\r\n },\r\n },\r\n {\r\n dataField: \"DeliveryAppointmentDate\",\r\n text: \"Delivery Appointment\",\r\n sort: true,\r\n hidden: statusId === 2 || statusId === 12 ? true : false,\r\n sortCaret: sortCaret,\r\n formatter: (cell, row) => {\r\n return <>{getDate(row.DeliveryAppointmentDate)};\r\n },\r\n },\r\n\r\n {\r\n dataField: \"LoadingType\",\r\n text: \"Loading Type\",\r\n hidden: statusId !== 2 ? true : false,\r\n sort: true,\r\n sortCaret: sortCaret,\r\n },\r\n {\r\n dataField: \"Weight\",\r\n text: \"Weight\",\r\n hidden: statusId !== 2 ? true : false,\r\n sort: true,\r\n sortCaret: sortCaret,\r\n formatter: (cell, row) => {\r\n return <>{row.Weight};\r\n },\r\n },\r\n {\r\n dataField: \"Commodity\",\r\n text: \"Commodity\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n hidden: statusId !== 2 ? true : false,\r\n },\r\n {\r\n dataField: \"CarrierName\",\r\n text: \"Carrier\",\r\n hidden: statusId === 2 ? true : false,\r\n sort: true,\r\n sortCaret: sortCaret,\r\n formatter: (cell, row) => {\r\n if (\r\n row.CarrierName !== null &&\r\n row.CarrierName !== \"\" &&\r\n row.CarrierName !== undefined\r\n ) {\r\n return (\r\n <>\r\n {row.CarrierCode + \" \"}\r\n \r\n {row.CarrierName}\r\n \r\n }\r\n >\r\n false}\r\n className=\"btn btn-icon btn-light btn-hover-light btn-sm\"\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n },\r\n },\r\n {\r\n dataField: \"CarrierPhoneNumber\",\r\n text: \"Carrier Phone#\",\r\n sort: false,\r\n sortCaret: sortCaret,\r\n },\r\n {\r\n dataField: \"EquipmentType\",\r\n text: \"Equipment Type\",\r\n hidden: statusId === 2 ? true : false,\r\n sort: true,\r\n sortCaret: sortCaret,\r\n },\r\n {\r\n dataField: \"Alerts\",\r\n text: \"Alerts\",\r\n sort: false,\r\n sortCaret: sortCaret,\r\n formatter: columnFormatters.AlertsColumnFormatter,\r\n classes: \"text-center\",\r\n headerClasses: \"text-center\",\r\n style: {\r\n minWidth: \"100px\",\r\n },\r\n },\r\n {\r\n dataField: \"Status\",\r\n text: \"Status\",\r\n sort: true,\r\n classes: \"text-center px-0\",\r\n headerClasses: \"text-center pr-3\",\r\n sortCaret: sortCaret,\r\n formatter: columnFormatters.StatusColumnFormatter,\r\n },\r\n ];\r\n const [columns, setcolumns] = useState(columnsWareHouse || []);\r\n //Column Visibility\r\n (\r\n JSON.parse(localStorage.getItem(\"ColumnVisibility_warehousemanagement\")) ||\r\n []\r\n ).forEach((x) => {\r\n const a = columnsWareHouse.find(\r\n (y) => y?.dataField + y?.text === x?.dataField + x?.text\r\n );\r\n if (a) a.hidden = x?.hidden || false;\r\n });\r\n return (\r\n <>\r\n \r\n eMPower | Warehouse Management\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n {LoadingGridData && (\r\n \r\n )}\r\n\r\n \r\n \r\n \r\n Export as\r\n save\r\n {ExportLoadingData && (\r\n \r\n )}\r\n \r\n \r\n {\r\n fetchMyAPI2(\"excel\", `Warehouse Management`);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n {\r\n fetchMyAPI2(\"csv\", `Warehouse Management`);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n {\r\n fetchMyAPI2(\"json\", `Warehouse Management`);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n Column visibility{\" \"}\r\n \r\n \r\n }\r\n body={\r\n
\r\n {columns?.map((x) => (\r\n
\r\n {\r\n let a = columns;\r\n a.forEach((y) => {\r\n if (\r\n y?.dataField + y?.text ===\r\n x?.dataField + x?.text\r\n ) {\r\n y.hidden = !y.hidden;\r\n }\r\n });\r\n setcolumns([]);\r\n setTimeout(() => {\r\n setcolumns(a);\r\n localStorage.setItem(\r\n \"ColumnVisibility_warehousemanagement\",\r\n JSON.stringify(a)\r\n );\r\n }, 1);\r\n }}\r\n />\r\n
\r\n ))}\r\n
\r\n }\r\n />\r\n {LoadingGridData === false && columns.length > 0 ? (\r\n \r\n {({ paginationProps, paginationTableProps }) => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n }}\r\n \r\n ) : (\r\n \r\n \r\n
\r\n )}\r\n \r\n \r\n
\r\n
\r\n {/* ************************ Reports RM *************************** */}\r\n }\r\n />\r\n }\r\n />\r\n }\r\n />\r\n }\r\n />\r\n {/* **************************************************************** */}\r\n \r\n );\r\n}\r\n","import axios from \"axios\";\r\n\r\nexport const PRODUCTS_URL = \"api/TMSLoadBoard\";\r\n\r\n// CREATE => POST: add a new product to the server\r\nexport function createProduct(product) {\r\n return axios.post(PRODUCTS_URL, { product });\r\n}\r\n\r\n// READ\r\nexport function getAllProducts() {\r\n return axios.get(PRODUCTS_URL);\r\n}\r\n\r\nexport function getProductById(productId) {\r\n return axios.get(`${PRODUCTS_URL}/${productId}`);\r\n}\r\n\r\n// Method from server should return QueryResultsModel(items: any[], totalsCount: number)\r\n// items => filtered/sorted result\r\nexport function findProducts(queryParams) {\r\n return axios.post(`${PRODUCTS_URL}/find`, { queryParams });\r\n}\r\n\r\n// UPDATE => PUT: update the procuct on the server\r\nexport function updateProduct(product) {\r\n return axios.put(`${PRODUCTS_URL}/${product.Id}`, { product });\r\n}\r\n\r\n// UPDATE Status\r\nexport function updateStatusForProducts(ids, status) {\r\n return axios.post(`${PRODUCTS_URL}/updateStatusForProducts`, {\r\n ids,\r\n status\r\n });\r\n}\r\n\r\n// DELETE => delete the product from the server\r\nexport function deleteProduct(productId) {\r\n return axios.delete(`${PRODUCTS_URL}/${productId}`);\r\n}\r\n\r\n// DELETE Products by ids\r\nexport function deleteProducts(ids) {\r\n return axios.post(`${PRODUCTS_URL}/deleteProducts`, { ids });\r\n}\r\n","import {createSlice} from \"@reduxjs/toolkit\";\r\n\r\nconst initialProductsState = {\r\n listLoading: false,\r\n actionsLoading: false,\r\n totalCount: 0,\r\n entities: null,\r\n productForEdit: undefined,\r\n lastError: null\r\n};\r\nexport const callTypes = {\r\n list: \"list\",\r\n action: \"action\"\r\n};\r\n\r\nexport const productsSlice = createSlice({\r\n name: \"products\",\r\n initialState: initialProductsState,\r\n reducers: {\r\n catchError: (state, action) => {\r\n state.error = `${action.type}: ${action.payload.error}`;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = false;\r\n } else {\r\n state.actionsLoading = false;\r\n }\r\n },\r\n startCall: (state, action) => {\r\n state.error = null;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = true;\r\n } else {\r\n state.actionsLoading = true;\r\n }\r\n },\r\n // getProductById\r\n productFetched: (state, action) => {\r\n state.actionsLoading = false;\r\n state.productForEdit = action.payload.productForEdit;\r\n state.error = null;\r\n },\r\n // findProducts\r\n productsFetched: (state, action) => {\r\n const { totalCount, entities } = action.payload;\r\n state.listLoading = false;\r\n state.error = null;\r\n state.entities = entities;\r\n state.totalCount = totalCount;\r\n },\r\n // createProduct\r\n productCreated: (state, action) => {\r\n state.actionsLoading = false;\r\n state.error = null;\r\n state.entities.push(action.payload.product);\r\n },\r\n // updateProduct\r\n productUpdated: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.map(entity => {\r\n if (entity.id === action.payload.product.id) {\r\n return action.payload.product;\r\n }\r\n return entity;\r\n });\r\n },\r\n // deleteProduct\r\n productDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(el => el.Id !== action.payload.id);\r\n },\r\n // deleteProducts\r\n productsDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(\r\n el => !action.payload.ids.includes(el.id)\r\n );\r\n },\r\n // productsUpdateState\r\n productsStatusUpdated: (state, action) => {\r\n state.actionsLoading = false;\r\n state.error = null;\r\n const { ids, status } = action.payload;\r\n state.entities = state.entities.map(entity => {\r\n if (ids.findIndex(id => id === entity.id) > -1) {\r\n entity.status = status;\r\n }\r\n return entity;\r\n });\r\n }\r\n }\r\n});\r\n","import * as requestFromServer from \"./productsCrud\";\r\nimport {productsSlice, callTypes} from \"./productsSlice\";\r\n\r\nconst {actions} = productsSlice;\r\n\r\nexport const fetchProducts = queryParams => dispatch => {\r\n dispatch(actions.startCall({ callType: callTypes.list }));\r\n return requestFromServer\r\n .findProducts(queryParams)\r\n .then(response => {\r\n const { totalCount, entities } = response.data;\r\n dispatch(actions.productsFetched({ totalCount, entities }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't find products\";\r\n dispatch(actions.catchError({ error, callType: callTypes.list }));\r\n });\r\n};\r\n\r\nexport const fetchProduct = id => dispatch => {\r\n if (!id) {\r\n return dispatch(actions.productFetched({ productForEdit: undefined }));\r\n }\r\n\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .getProductById(id)\r\n .then(response => {\r\n const product = response.data;\r\n dispatch(actions.productFetched({ productForEdit: product }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't find product\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const deleteProduct = Id => dispatch => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .deleteProduct(Id)\r\n .then(response => {\r\n dispatch(actions.productDeleted({ Id }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't delete product\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const createProduct = productForCreation => dispatch => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .createProduct(productForCreation)\r\n .then(response => {\r\n const { product } = response.data;\r\n dispatch(actions.productCreated({ product }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't create product\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const updateProduct = product => dispatch => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .updateProduct(product)\r\n .then(() => {\r\n dispatch(actions.productUpdated({ product }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't update product\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const updateProductsStatus = (ids, status) => dispatch => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .updateStatusForProducts(ids, status)\r\n .then(() => {\r\n dispatch(actions.productsStatusUpdated({ ids, status }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't update products status\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const deleteProducts = ids => dispatch => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .deleteProducts(ids)\r\n .then(() => {\r\n dispatch(actions.productsDeleted({ ids }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't delete products\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n","// Form is based on Formik\r\n// Data validation is based on Yup\r\n// Please, be familiar with article first:\r\n// https://hackernoon.com/react-form-validation-with-formik-and-yup-8b76bda62e10\r\nimport {\r\n ExpansionPanel,\r\n ExpansionPanelDetails,\r\n ExpansionPanelSummary,\r\n FormControlLabel,\r\n makeStyles,\r\n Typography,\r\n} from \"@material-ui/core\";\r\nimport ExpandMoreIcon from \"@material-ui/icons/ExpandMore\";\r\nimport { Form, Formik } from \"formik\";\r\nimport React, { useEffect, useState } from \"react\";\r\nimport Select from \"react-select\";\r\nimport low from \"lowdb\";\r\nimport LocalStorage from \"lowdb/adapters/LocalStorage\";\r\nimport { Modal, OverlayTrigger, Tooltip } from \"react-bootstrap\";\r\nimport SVG from \"react-inlinesvg\";\r\nimport { toAbsoluteUrl } from \"../../../../../../_metronic/_helpers\";\r\nimport Axios from \"axios\";\r\nconst adapter = new LocalStorage(\"db\");\r\nconst db = low(adapter);\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n root: {\r\n width: \"100%\",\r\n },\r\n heading: {\r\n fontSize: theme.typography.pxToRem(15),\r\n fontWeight: theme.typography.fontWeightRegular,\r\n },\r\n}));\r\nexport function ProductEditForm({ product, btnRef, saveProduct }) {\r\n const classes = useStyles();\r\n const [CustomersList, setCustomersList] = useState([]);\r\n const [ShowDeleteLBModal, setShowDeleteLBModal] = useState(false);\r\n const [dataFilter, setDataFilter] = useState({\r\n Customers: [],\r\n Carriers: [],\r\n });\r\n const [CarriersList, setCarriersList] = useState([]);\r\n const [ModeList, setModeList] = useState([]);\r\n const [UpdatorsList, setUpdatorsList] = useState([]);\r\n const deleteProduct = async (id) => {\r\n await Axios.delete(`api/TMSLoadBoard/${id}`);\r\n document.getElementById(\"LoadBoardGrid\").click();\r\n };\r\n useEffect(() => {\r\n var myHeaders = new Headers();\r\n myHeaders.append(\"Authorization\", `Bearer ${db.read().getState().Token}`);\r\n\r\n var requestOptions = {\r\n method: \"GET\",\r\n headers: myHeaders,\r\n redirect: \"follow\",\r\n };\r\n\r\n fetch(`${window.$apiurl}/loadboard/GetLBViewModel`, requestOptions)\r\n .then((response) => response.text())\r\n .then((result) => {\r\n var obj = JSON.parse(result);\r\n setCustomersList(obj?.Customers || []);\r\n setDataFilter({\r\n Customers: obj?.Customers || [],\r\n Carriers: obj?.Carriers || [],\r\n });\r\n setCarriersList(obj?.Carriers || []);\r\n setModeList(obj.Modes || []);\r\n setUpdatorsList(obj?.Updators || []);\r\n })\r\n .catch((error) => console.log(\"error\", error));\r\n }, []);\r\n var typingTimer;\r\n function filterCustomerCheckbox(isCustomer, value) {\r\n try {\r\n let result = isCustomer ? dataFilter.Customers : dataFilter.Carriers;\r\n if (value === \"\") {\r\n if (isCustomer) {\r\n setCustomersList(result);\r\n } else {\r\n setCarriersList(result);\r\n }\r\n } else {\r\n result = result.filter((word) =>\r\n String(word.Name)\r\n .toLowerCase()\r\n .trim()\r\n .includes(String(value).toLowerCase().trim())\r\n );\r\n if (result.length === 0) {\r\n if (isCustomer) {\r\n setCustomersList([]);\r\n } else {\r\n setCarriersList([]);\r\n }\r\n } else {\r\n if (isCustomer) {\r\n setCustomersList(result);\r\n } else {\r\n setCarriersList(result);\r\n }\r\n }\r\n }\r\n } catch (err) {}\r\n }\r\n return (\r\n <>\r\n {\r\n saveProduct(values);\r\n }}\r\n >\r\n {({ handleSubmit, setFieldValue, values }) => (\r\n <>\r\n \r\n \r\n \r\n Load Board Delete\r\n \r\n \r\n \r\n Are you sure to permanently delete this Load Board?\r\n \r\n \r\n
\r\n {\r\n setShowDeleteLBModal(false);\r\n }}\r\n className=\"btn btn-light btn-elevate mr-3\"\r\n >\r\n Cancel\r\n \r\n <> \r\n {\r\n deleteProduct(product.Id);\r\n setShowDeleteLBModal(false);\r\n }}\r\n className=\"btn btn-delete btn-danger\"\r\n >\r\n Delete\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n {\r\n setFieldValue(\"Name\", e.target.value);\r\n }}\r\n id=\"Name\"\r\n placeholder=\"\"\r\n />\r\n
\r\n
\r\n \r\n \r\n values.Updators.includes(item.Id)\r\n ).map((a) => {\r\n return { value: a.Id, label: a.Name };\r\n })}\r\n name=\"LoadBoard\"\r\n id=\"LoadBoard\"\r\n options={UpdatorsList.map((a) => {\r\n return { value: a.Id, label: a.Name };\r\n })}\r\n className=\"basic-multi-select\"\r\n classNamePrefix=\"select\"\r\n onChange={(e) => {\r\n if (e !== null) {\r\n setFieldValue(\r\n \"Updators\",\r\n e.map((a) => a.value)\r\n );\r\n } else {\r\n setFieldValue(\"Updators\", []);\r\n }\r\n }}\r\n />\r\n
\r\n
\r\n
\r\n \r\n \r\n {product.Id !== undefined ? (\r\n Delete\r\n }\r\n >\r\n {\r\n setShowDeleteLBModal(true);\r\n }}\r\n href={() => false}\r\n className=\"btn btn-icon btn-light btn-hover-danger btn-sm\"\r\n >\r\n \r\n \r\n \r\n \r\n \r\n ) : (\r\n \"\"\r\n )}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
Mode Filter
\r\n \r\n }\r\n aria-controls=\"panel1a-content\"\r\n id=\"panel1a-header\"\r\n >\r\n \r\n \r\n \r\n \r\n
\r\n }\r\n label=\"Select All\"\r\n />\r\n \r\n \r\n = 5 ? \"scrollCustomerCheckbox\" : \"\"\r\n } ${\r\n ModeList.length === 0 ? \"noDataCheckList\" : \"modeHeight\"\r\n }`}\r\n >\r\n {ModeList.length > 0 ? (\r\n ModeList.map((Item, Index) => (\r\n \r\n \r\n
\r\n \r\n \r\n \r\n
\r\n }\r\n label={Item.Name}\r\n />\r\n
\r\n \r\n \r\n ))\r\n ) : (\r\n
No Data founded on those modes
\r\n )}\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
Customer Filter
\r\n
\r\n
\r\n {\r\n e.preventDefault();\r\n return false;\r\n }}\r\n onChange={async (e) => {\r\n try {\r\n const value = e.target.value;\r\n clearTimeout(typingTimer);\r\n typingTimer = setTimeout(async function() {\r\n filterCustomerCheckbox(true, value);\r\n }, 500);\r\n } catch (err) {}\r\n }}\r\n />\r\n
\r\n
\r\n\r\n \r\n }\r\n aria-controls=\"panel1a-content\"\r\n id=\"panel1a-header\"\r\n >\r\n \r\n \r\n \r\n \r\n
\r\n }\r\n label=\"Select All\"\r\n />\r\n \r\n \r\n \r\n {CustomersList.length > 0 ? (\r\n CustomersList.map((Item, Index) => (\r\n \r\n \r\n
\r\n \r\n \r\n \r\n
\r\n }\r\n label={Item.Name}\r\n />\r\n
\r\n \r\n \r\n ))\r\n ) : (\r\n
\r\n No Data founded on those customers\r\n
\r\n )}\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
Carrier Filter
\r\n
\r\n
\r\n {\r\n e.preventDefault();\r\n }}\r\n onChange={async (e) => {\r\n try {\r\n const value = e.target.value;\r\n clearTimeout(typingTimer);\r\n typingTimer = setTimeout(async function() {\r\n filterCustomerCheckbox(false, value);\r\n }, 500);\r\n } catch (err) {}\r\n }}\r\n />\r\n
\r\n
\r\n \r\n }\r\n aria-controls=\"panel1a-content\"\r\n id=\"panel1a-header\"\r\n >\r\n \r\n \r\n \r\n \r\n
\r\n }\r\n label=\"Select All\"\r\n />\r\n \r\n \r\n \r\n {CarriersList.length > 0 ? (\r\n CarriersList.map((Item, Index) => (\r\n \r\n \r\n
\r\n \r\n \r\n \r\n
\r\n }\r\n label={Item.Name}\r\n />\r\n
\r\n \r\n \r\n ))\r\n ) : (\r\n
\r\n No Data founded on those carriers\r\n
\r\n )}\r\n
\r\n \r\n
\r\n
\r\n handleSubmit()}\r\n >\r\n \r\n \r\n )}\r\n \r\n \r\n );\r\n}\r\n","/* eslint-disable no-script-url,jsx-a11y/anchor-is-valid,jsx-a11y/role-supports-aria-props */\r\nimport React, { useEffect, useRef, useState } from \"react\";\r\nimport { shallowEqual, useDispatch, useSelector } from \"react-redux\";\r\nimport { useSubheader } from \"../../../../../../_metronic/layout\";\r\nimport {\r\n Card,\r\n CardBody,\r\n CardHeader,\r\n CardHeaderToolbar,\r\n ModalProgressBar,\r\n} from \"../../../../../../_metronic/_partials/controls\";\r\nimport { Notification } from \"../../../../Notification\";\r\nimport * as actions from \"../../../_redux/TMSLoadBoard/productsActions\";\r\nimport { ProductEditForm } from \"./ProductEditForm\";\r\nimport low from \"lowdb\";\r\nimport LocalStorage from \"lowdb/adapters/LocalStorage\";\r\nconst adapter = new LocalStorage(\"db\");\r\nconst db = low(adapter);\r\n\r\nconst initProduct = {\r\n Id: undefined,\r\n Name: \"\",\r\n IsPublic: false,\r\n Updators: [],\r\n Customers: [],\r\n Carriers: [],\r\n Modes: [],\r\n};\r\n\r\nexport function ProductTMSEdit({ id }) {\r\n // Subheader\r\n const suhbeader = useSubheader();\r\n\r\n // Tabs\r\n const [tab, setTab] = useState(\"basic\");\r\n const [title, setTitle] = useState(\"\");\r\n const [LoadingPost, setLoadingPost] = useState(false);\r\n const dispatch = useDispatch();\r\n // const layoutDispatch = useContext(LayoutContext.Dispatch);\r\n const { actionsLoading, productForEdit } = useSelector(\r\n (state) => ({\r\n actionsLoading: state.products.actionsLoading,\r\n productForEdit: state.products.productForEdit,\r\n }),\r\n shallowEqual\r\n );\r\n\r\n useEffect(() => {\r\n if (String(id) !== \"undefined\") {\r\n dispatch(actions.fetchProduct(id));\r\n }\r\n }, [id, dispatch]);\r\n\r\n useEffect(() => {\r\n let _title = \"\";\r\n if (String(id) !== \"undefined\") {\r\n _title = \"New Load Board Creation\";\r\n } else {\r\n if (productForEdit !== undefined && String(id) !== \"undefined\") {\r\n _title = `Edit Order : \"${productForEdit.Id} - ${productForEdit.Name}\"`;\r\n } else {\r\n _title = `LoadBoard`;\r\n }\r\n }\r\n setTitle(_title);\r\n suhbeader.setTitle(_title);\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [productForEdit, id]);\r\n\r\n const saveProduct = (values) => {\r\n var obj = JSON.stringify(values);\r\n\r\n if (String(id) === \"undefined\") {\r\n setLoadingPost(true);\r\n var myHeaders = new Headers();\r\n myHeaders.append(\"Authorization\", `Bearer ${db.read().getState().Token}`);\r\n myHeaders.append(\"Content-Type\", \"application/json\");\r\n var requestOptions = {\r\n method: \"POST\",\r\n headers: myHeaders,\r\n body: obj,\r\n redirect: \"follow\",\r\n };\r\n\r\n fetch(`${window.$apiurl}/loadboard`, requestOptions)\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n const contentType = response.headers.get(\"content-type\");\r\n if (contentType && contentType.indexOf(\"application/json\") !== -1) {\r\n return response.json().then((data) => [statusCode, data]);\r\n } else {\r\n return response\r\n .text()\r\n .then((text) => [statusCode, { Message: \"\" }]);\r\n }\r\n })\r\n .then((result) => {\r\n if (result[0] === 200) {\r\n Notification(\"success\", \"LoadBoard has been Added successfully\");\r\n backToProductsList();\r\n setLoadingPost(false);\r\n } else {\r\n if (\r\n result[1].ModelState !== null &&\r\n result[1].ModelState !== undefined &&\r\n result[1].ModelState !== \"\"\r\n ) {\r\n let modelState = result[1].ModelState;\r\n if (modelState)\r\n Object.keys(modelState).forEach(function(k) {\r\n modelState[k].forEach((element) => {\r\n Notification(\"errorClick\", element);\r\n });\r\n });\r\n } else if (\r\n result[1].Message !== null &&\r\n result[1].Message !== undefined &&\r\n result[1].Message !== \"\"\r\n ) {\r\n Notification(\"errorClick\", result[1].Message);\r\n } else {\r\n Notification(\"errorClick\", \"Bad Request\");\r\n }\r\n setLoadingPost(false);\r\n }\r\n })\r\n .catch((error) => {\r\n console.log(\"error\", error);\r\n });\r\n } else {\r\n setLoadingPost(true);\r\n\r\n var myHeaders2 = new Headers();\r\n myHeaders2.append(\r\n \"Authorization\",\r\n `Bearer ${db.read().getState().Token}`\r\n );\r\n myHeaders2.append(\"Content-Type\", \"application/json\");\r\n\r\n var requestOptions2 = {\r\n method: \"PUT\",\r\n headers: myHeaders2,\r\n body: obj,\r\n redirect: \"follow\",\r\n };\r\n\r\n fetch(`${window.$apiurl}/loadboard/${id}`, requestOptions2)\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n const contentType = response.headers.get(\"content-type\");\r\n if (contentType && contentType.indexOf(\"application/json\") !== -1) {\r\n return response.json().then((data) => [statusCode, data]);\r\n } else {\r\n return response\r\n .text()\r\n .then((text) => [statusCode, { Message: \"\" }]);\r\n }\r\n })\r\n .then((result) => {\r\n if (result[0] === 200) {\r\n Notification(\"success\", \"LoadBoard has been Updated successfully\");\r\n backToProductsList();\r\n setLoadingPost(false);\r\n } else {\r\n if (\r\n result[1].ModelState !== null &&\r\n result[1].ModelState !== undefined &&\r\n result[1].ModelState !== \"\"\r\n ) {\r\n let modelState = result[1].ModelState;\r\n if (modelState)\r\n Object.keys(modelState).forEach(function(k) {\r\n modelState[k].forEach((element) => {\r\n Notification(\"errorClick\", element);\r\n });\r\n });\r\n } else if (\r\n result[1].Message !== null &&\r\n result[1].Message !== undefined &&\r\n result[1].Message !== \"\"\r\n ) {\r\n Notification(\"errorClick\", result[1].Message);\r\n } else {\r\n Notification(\"errorClick\", \"Bad Request\");\r\n }\r\n setLoadingPost(false);\r\n }\r\n })\r\n .catch((error) => {\r\n console.log(\"error\", error);\r\n });\r\n }\r\n };\r\n\r\n const btnRef = useRef();\r\n const saveProductClick = () => {\r\n if (btnRef && btnRef.current) {\r\n btnRef.current.click();\r\n }\r\n };\r\n\r\n const backToProductsList = () => {\r\n document.getElementById(\"LoadBoardGrid\").click();\r\n };\r\n\r\n return (\r\n \r\n {LoadingPost && }\r\n \r\n \r\n \r\n \r\n Back\r\n \r\n {` `}\r\n \r\n {` `}\r\n \r\n Save\r\n \r\n \r\n \r\n \r\n
\r\n {tab === \"basic\" && (\r\n \r\n )}\r\n
\r\n
\r\n
\r\n );\r\n}\r\n","/* eslint-disable */\r\n\"use strict\";\r\n\r\nimport { KTUtil } from \"./util\";\r\n\r\n// Component Definition\r\nvar KTCard = function(elementId, options) {\r\n // Main object\r\n var the = this;\r\n var init = false;\r\n\r\n // Get element object\r\n var element = KTUtil.getById(elementId);\r\n var body = KTUtil.getBody();\r\n\r\n if (!element) {\r\n return;\r\n }\r\n\r\n // Default options\r\n var defaultOptions = {\r\n toggleSpeed: 400,\r\n sticky: {\r\n releseOnReverse: false,\r\n offset: 300,\r\n zIndex: 101\r\n }\r\n };\r\n\r\n ////////////////////////////\r\n // ** Private Methods ** //\r\n ////////////////////////////\r\n\r\n var Plugin = {\r\n /**\r\n * Construct\r\n */\r\n\r\n construct: function(options) {\r\n if (KTUtil.data(element).has('card')) {\r\n the = KTUtil.data(element).get('card');\r\n } else {\r\n // reset menu\r\n Plugin.init(options);\r\n\r\n // build menu\r\n Plugin.build();\r\n\r\n KTUtil.data(element).set('card', the);\r\n }\r\n\r\n return the;\r\n },\r\n\r\n /**\r\n * Init card\r\n */\r\n init: function(options) {\r\n the.element = element;\r\n the.events = [];\r\n\r\n // merge default and user defined options\r\n the.options = KTUtil.deepExtend({}, defaultOptions, options);\r\n the.header = KTUtil.child(element, '.card-header');\r\n the.footer = KTUtil.child(element, '.card-footer');\r\n\r\n if (KTUtil.child(element, '.card-body')) {\r\n the.body = KTUtil.child(element, '.card-body');\r\n } else if (KTUtil.child(element, '.form')) {\r\n the.body = KTUtil.child(element, '.form');\r\n }\r\n },\r\n\r\n /**\r\n * Build Form Wizard\r\n */\r\n build: function() {\r\n // Remove\r\n var remove = KTUtil.find(the.header, '[data-card-tool=remove]');\r\n if (remove) {\r\n KTUtil.addEvent(remove, 'click', function(e) {\r\n e.preventDefault();\r\n Plugin.remove();\r\n });\r\n }\r\n\r\n // Reload\r\n var reload = KTUtil.find(the.header, '[data-card-tool=reload]');\r\n if (reload) {\r\n KTUtil.addEvent(reload, 'click', function(e) {\r\n e.preventDefault();\r\n Plugin.reload();\r\n });\r\n }\r\n\r\n // Toggle\r\n var toggle = KTUtil.find(the.header, '[data-card-tool=toggle]');\r\n if (toggle) {\r\n KTUtil.addEvent(toggle, 'click', function(e) {\r\n e.preventDefault();\r\n Plugin.toggle();\r\n });\r\n }\r\n },\r\n\r\n /**\r\n * Enable stickt mode\r\n */\r\n initSticky: function() {\r\n var lastScrollTop = 0;\r\n var offset = the.options.sticky.offset;\r\n\r\n if (!the.header) {\r\n return;\r\n }\r\n\r\n\t window.addEventListener('scroll', Plugin.onScrollSticky);\r\n },\r\n\r\n\t /**\r\n\t * Window scroll handle event for sticky card\r\n\t */\r\n\t onScrollSticky: function(e) {\r\n\t\t var offset = the.options.sticky.offset;\r\n\r\n\t\t if(isNaN(offset)) return;\r\n\r\n\t\t var st = KTUtil.getScrollTop();\r\n\r\n\t\t if (st >= offset && KTUtil.hasClass(body, 'card-sticky-on') === false) {\r\n\t\t\t Plugin.eventTrigger('stickyOn');\r\n\r\n\t\t\t KTUtil.addClass(body, 'card-sticky-on');\r\n\r\n\t\t\t Plugin.updateSticky();\r\n\r\n\t\t } else if ((st*1.5) <= offset && KTUtil.hasClass(body, 'card-sticky-on')) {\r\n\t\t\t // Back scroll mode\r\n\t\t\t Plugin.eventTrigger('stickyOff');\r\n\r\n\t\t\t KTUtil.removeClass(body, 'card-sticky-on');\r\n\r\n\t\t\t Plugin.resetSticky();\r\n\t\t }\r\n\t },\r\n\r\n updateSticky: function() {\r\n if (!the.header) {\r\n return;\r\n }\r\n\r\n var top;\r\n\r\n if (KTUtil.hasClass(body, 'card-sticky-on')) {\r\n if (the.options.sticky.position.top instanceof Function) {\r\n top = parseInt(the.options.sticky.position.top.call(this, the));\r\n } else {\r\n top = parseInt(the.options.sticky.position.top);\r\n }\r\n\r\n var left;\r\n if (the.options.sticky.position.left instanceof Function) {\r\n left = parseInt(the.options.sticky.position.left.call(this, the));\r\n } else {\r\n left = parseInt(the.options.sticky.position.left);\r\n }\r\n\r\n var right;\r\n if (the.options.sticky.position.right instanceof Function) {\r\n right = parseInt(the.options.sticky.position.right.call(this, the));\r\n } else {\r\n right = parseInt(the.options.sticky.position.right);\r\n }\r\n\r\n KTUtil.css(the.header, 'z-index', the.options.sticky.zIndex);\r\n KTUtil.css(the.header, 'top', top + 'px');\r\n KTUtil.css(the.header, 'left', left + 'px');\r\n KTUtil.css(the.header, 'right', right + 'px');\r\n }\r\n },\r\n\r\n resetSticky: function() {\r\n if (!the.header) {\r\n return;\r\n }\r\n\r\n if (KTUtil.hasClass(body, 'card-sticky-on') === false) {\r\n KTUtil.css(the.header, 'z-index', '');\r\n KTUtil.css(the.header, 'top', '');\r\n KTUtil.css(the.header, 'left', '');\r\n KTUtil.css(the.header, 'right', '');\r\n }\r\n },\r\n\r\n /**\r\n * Remove card\r\n */\r\n remove: function() {\r\n if (Plugin.eventTrigger('beforeRemove') === false) {\r\n return;\r\n }\r\n\r\n KTUtil.remove(element);\r\n\r\n Plugin.eventTrigger('afterRemove');\r\n },\r\n\r\n /**\r\n * Set content\r\n */\r\n setContent: function(html) {\r\n if (html) {\r\n the.body.innerHTML = html;\r\n }\r\n },\r\n\r\n /**\r\n * Get body\r\n */\r\n getBody: function() {\r\n return the.body;\r\n },\r\n\r\n /**\r\n * Get self\r\n */\r\n getSelf: function() {\r\n return element;\r\n },\r\n\r\n /**\r\n * Reload\r\n */\r\n reload: function() {\r\n Plugin.eventTrigger('reload');\r\n },\r\n\r\n /**\r\n * Toggle\r\n */\r\n toggle: function() {\r\n if (KTUtil.hasClass(element, 'card-collapse') || KTUtil.hasClass(element, 'card-collapsed')) {\r\n Plugin.expand();\r\n } else {\r\n Plugin.collapse();\r\n }\r\n },\r\n\r\n /**\r\n * Collapse\r\n */\r\n collapse: function() {\r\n if (Plugin.eventTrigger('beforeCollapse') === false) {\r\n return;\r\n }\r\n\r\n KTUtil.slideUp(the.body, the.options.toggleSpeed, function() {\r\n Plugin.eventTrigger('afterCollapse');\r\n });\r\n\r\n KTUtil.addClass(element, 'card-collapse');\r\n },\r\n\r\n /**\r\n * Expand\r\n */\r\n expand: function() {\r\n if (Plugin.eventTrigger('beforeExpand') === false) {\r\n return;\r\n }\r\n\r\n KTUtil.slideDown(the.body, the.options.toggleSpeed, function() {\r\n Plugin.eventTrigger('afterExpand');\r\n });\r\n\r\n KTUtil.removeClass(element, 'card-collapse');\r\n KTUtil.removeClass(element, 'card-collapsed');\r\n },\r\n\r\n /**\r\n * Trigger events\r\n */\r\n eventTrigger: function(name) {\r\n //KTUtil.triggerCustomEvent(name);\r\n for (var i = 0; i < the.events.length; i++) {\r\n var event = the.events[i];\r\n if (event.name == name) {\r\n if (event.one == true) {\r\n if (event.fired == false) {\r\n the.events[i].fired = true;\r\n return event.handler.call(this, the);\r\n }\r\n } else {\r\n return event.handler.call(this, the);\r\n }\r\n }\r\n }\r\n },\r\n\r\n addEvent: function(name, handler, one) {\r\n the.events.push({\r\n name: name,\r\n handler: handler,\r\n one: one,\r\n fired: false\r\n });\r\n\r\n return the;\r\n }\r\n };\r\n\r\n //////////////////////////\r\n // ** Public Methods ** //\r\n //////////////////////////\r\n\r\n /**\r\n * Set default options\r\n */\r\n\r\n the.setDefaults = function(options) {\r\n defaultOptions = options;\r\n };\r\n\r\n /**\r\n * Remove card\r\n */\r\n the.remove = function() {\r\n return Plugin.remove(html);\r\n };\r\n\r\n /**\r\n * Init sticky card\r\n */\r\n the.initSticky = function() {\r\n return Plugin.initSticky();\r\n };\r\n\r\n /**\r\n * Rerender sticky layout\r\n */\r\n the.updateSticky = function() {\r\n return Plugin.updateSticky();\r\n };\r\n\r\n /**\r\n * Reset the sticky\r\n */\r\n the.resetSticky = function() {\r\n return Plugin.resetSticky();\r\n };\r\n\r\n\t/**\r\n\t * Destroy sticky card\r\n\t */\r\n\tthe.destroySticky = function() {\r\n\t\tPlugin.resetSticky();\r\n\t\twindow.removeEventListener('scroll', Plugin.onScrollSticky);\r\n\t};\r\n\r\n /**\r\n * Reload card\r\n */\r\n the.reload = function() {\r\n return Plugin.reload();\r\n };\r\n\r\n /**\r\n * Set card content\r\n */\r\n the.setContent = function(html) {\r\n return Plugin.setContent(html);\r\n };\r\n\r\n /**\r\n * Toggle card\r\n */\r\n the.toggle = function() {\r\n return Plugin.toggle();\r\n };\r\n\r\n /**\r\n * Collapse card\r\n */\r\n the.collapse = function() {\r\n return Plugin.collapse();\r\n };\r\n\r\n /**\r\n * Expand card\r\n */\r\n the.expand = function() {\r\n return Plugin.expand();\r\n };\r\n\r\n /**\r\n * Get cardbody\r\n * @returns {jQuery}\r\n */\r\n the.getBody = function() {\r\n return Plugin.getBody();\r\n };\r\n\r\n /**\r\n * Get cardbody\r\n * @returns {jQuery}\r\n */\r\n the.getSelf = function() {\r\n return Plugin.getSelf();\r\n };\r\n\r\n /**\r\n * Attach event\r\n */\r\n the.on = function(name, handler) {\r\n return Plugin.addEvent(name, handler);\r\n };\r\n\r\n /**\r\n * Attach event that will be fired once\r\n */\r\n the.one = function(name, handler) {\r\n return Plugin.addEvent(name, handler, true);\r\n };\r\n\r\n // Construct plugin\r\n Plugin.construct.apply(the, [options]);\r\n\r\n return the;\r\n};\r\n\r\n// webpack support\r\nif (typeof module !== 'undefined' && typeof module.exports !== 'undefined') {\r\n // module.exports = KTCard;\r\n}\r\n\r\nexport default KTCard;","/* eslint-disable */\r\n\"use strict\";\r\n\r\nimport { KTUtil } from \"./util\";\r\n\r\n// Component Definition\r\nvar KTScrolltop = function(elementId, options) {\r\n // Main object\r\n var the = this;\r\n var init = false;\r\n\r\n // Get element object\r\n var element = KTUtil.getById(elementId);\r\n var body = KTUtil.getBody();\r\n\r\n if (!element) {\r\n return;\r\n }\r\n\r\n // Default options\r\n var defaultOptions = {\r\n offset: 300,\r\n speed: 6000\r\n };\r\n\r\n ////////////////////////////\r\n // ** Private Methods ** //\r\n ////////////////////////////\r\n\r\n var Plugin = {\r\n /**\r\n * Run plugin\r\n * @returns {mscrolltop}\r\n */\r\n construct: function(options) {\r\n if (KTUtil.data(element).has('scrolltop')) {\r\n the = KTUtil.data(element).get('scrolltop');\r\n } else {\r\n // reset scrolltop\r\n Plugin.init(options);\r\n\r\n // build scrolltop\r\n Plugin.build();\r\n\r\n KTUtil.data(element).set('scrolltop', the);\r\n }\r\n\r\n return the;\r\n },\r\n\r\n /**\r\n * Handles subscrolltop click toggle\r\n * @returns {mscrolltop}\r\n */\r\n init: function(options) {\r\n the.events = [];\r\n\r\n // merge default and user defined options\r\n the.options = KTUtil.deepExtend({}, defaultOptions, options);\r\n },\r\n\r\n build: function() {\r\n var timer;\r\n\r\n window.addEventListener('scroll', function() {\r\n KTUtil.throttle(timer, function() {\r\n Plugin.handle();\r\n }, 200);\r\n });\r\n\r\n // handle button click\r\n KTUtil.addEvent(element, 'click', Plugin.scroll);\r\n },\r\n\r\n /**\r\n * Handles scrolltop click scrollTop\r\n */\r\n handle: function() {\r\n var pos = KTUtil.getScrollTop(); // current vertical position\r\n\r\n if (pos > the.options.offset) {\r\n if (body.hasAttribute('data-scrolltop') === false) {\r\n body.setAttribute('data-scrolltop', 'on');\r\n }\r\n } else {\r\n if (body.hasAttribute('data-scrolltop') === true) {\r\n body.removeAttribute('data-scrolltop');\r\n }\r\n }\r\n },\r\n\r\n /**\r\n * Handles scrolltop click scrollTop\r\n */\r\n scroll: function(e) {\r\n e.preventDefault();\r\n\r\n KTUtil.scrollTop(0, the.options.speed);\r\n },\r\n\r\n\r\n /**\r\n * Trigger events\r\n */\r\n eventTrigger: function(name, args) {\r\n for (var i = 0; i < the.events.length; i++) {\r\n var event = the.events[i];\r\n if (event.name == name) {\r\n if (event.one == true) {\r\n if (event.fired == false) {\r\n the.events[i].fired = true;\r\n return event.handler.call(this, the, args);\r\n }\r\n } else {\r\n return event.handler.call(this, the, args);\r\n }\r\n }\r\n }\r\n },\r\n\r\n addEvent: function(name, handler, one) {\r\n the.events.push({\r\n name: name,\r\n handler: handler,\r\n one: one,\r\n fired: false\r\n });\r\n }\r\n };\r\n\r\n //////////////////////////\r\n // ** Public Methods ** //\r\n //////////////////////////\r\n\r\n /**\r\n * Set default options\r\n */\r\n\r\n the.setDefaults = function(options) {\r\n defaultOptions = options;\r\n };\r\n\r\n /**\r\n * Get subscrolltop mode\r\n */\r\n the.on = function(name, handler) {\r\n return Plugin.addEvent(name, handler);\r\n };\r\n\r\n /**\r\n * Set scrolltop content\r\n * @returns {mscrolltop}\r\n */\r\n the.one = function(name, handler) {\r\n return Plugin.addEvent(name, handler, true);\r\n };\r\n\r\n ///////////////////////////////\r\n // ** Plugin Construction ** //\r\n ///////////////////////////////\r\n\r\n // Run plugin\r\n Plugin.construct.apply(the, [options]);\r\n\r\n // Init done\r\n init = true;\r\n\r\n // Return plugin instance\r\n return the;\r\n};\r\n\r\n// webpack support\r\nif (typeof module !== 'undefined' && typeof module.exports !== 'undefined') {\r\n // module.exports = KTScrolltop;\r\n}\r\n\r\nexport default KTScrolltop;","import React, { useEffect } from \"react\";\r\nimport { shallowEqual, useSelector } from \"react-redux\";\r\nimport { LoadingDialog } from \"../../../../../../_metronic/_partials/controls\";\r\n\r\nexport function CustomersLoadingDialog() {\r\n // Customers Redux state\r\n const { isLoading } = useSelector(\r\n (state) => ({ isLoading: state.customers.listLoading }),\r\n shallowEqual\r\n );\r\n // if (isLoading === false) {\r\n // if (window.$isFromGlobalSearch) {\r\n // if (document.getElementsByClassName(\"inputShipmentId\")[0] !== undefined) {\r\n // setTimeout(() => {\r\n // document.getElementsByClassName(\"inputShipmentId\")[0].click();\r\n // }, 1000);\r\n // setTimeout(() => {\r\n // window.$isFromGlobalSearch = false;\r\n // }, 2000);\r\n // }\r\n // }\r\n // }\r\n // looking for loading/dispatch\r\n useEffect(() => {}, [isLoading]);\r\n return (\r\n \r\n );\r\n}\r\n","import React, { useState, useEffect } from \"react\";\r\nimport { shallowEqual, useSelector } from \"react-redux\";\r\nimport CloseIcon from '@material-ui/icons/Close';\r\nimport { IconButton } from \"@material-ui/core\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { ModalProgressBar } from \"../../../../../../_metronic/_partials/controls\";\r\n\r\nexport function CustomerEditDialogHeader({ id, onHide }) {\r\n // Customers Redux state\r\n const { customerForEdit, actionsLoading } = useSelector(\r\n (state) => ({\r\n customerForEdit: state.customers.customerForEdit,\r\n actionsLoading: state.customers.actionsLoading,\r\n }),\r\n shallowEqual\r\n );\r\n\r\n // Title couting\r\n useEffect(() => {\r\n let _title = id ? \"\" : \"New Customer\";\r\n if (customerForEdit && id) {\r\n _title = `Add Note`;\r\n }\r\n // eslint-disable-next-line\r\n }, [customerForEdit, actionsLoading]);\r\n\r\n return (\r\n <>\r\n {actionsLoading && }\r\n \r\n Add New Note\r\n {\r\n onHide(false);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n );\r\n}\r\n","import React from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { Formik, Form } from \"formik\";\r\nimport * as Yup from \"yup\";\r\nimport { Notification } from \"../../../../Notification\";\r\nimport { CreatableSelect2 } from \"../../../../../../_metronic/_partials/controls\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport low from \"lowdb\";\r\nimport LocalStorage from \"lowdb/adapters/LocalStorage\";\r\nconst adapter = new LocalStorage(\"db\");\r\nconst db = low(adapter);\r\nconst CustomerEditSchema = Yup.object().shape({\r\n});\r\n\r\nexport function CustomerEditForm({\r\n saveCustomer,\r\n customer,\r\n actionsLoading,\r\n onHide,\r\n}) {\r\n const history = useHistory();\r\n\r\n async function handleSubmited() {\r\n const shipmentId = window.location.pathname.split(\"/\")[2];\r\n const CategoriesShipmentNotes = document.getElementById(\r\n \"CategorieShipmentNotes\"\r\n ).value;\r\n const ShipmentNotes = document.getElementById(\"ShipmentNotes\").value;\r\n const data = {\r\n CategoryId: CategoriesShipmentNotes,\r\n Body: ShipmentNotes,\r\n };\r\n var raw = JSON.stringify(data);\r\n\r\n var requestOptions = {\r\n method: \"POST\",\r\n body: raw,\r\n redirect: \"follow\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n };\r\n await fetch(\r\n `${window.$apiurl}/transload/shipments/addnote/` + shipmentId,\r\n requestOptions\r\n );\r\n Notification(\"info\", \"Note Add seccessfuly for shipment \" + shipmentId);\r\n history.push(\"/ShipmentsManagement/\");\r\n }\r\n\r\n return (\r\n <>\r\n {\r\n saveCustomer(values);\r\n }}\r\n >\r\n {() => (\r\n <>\r\n \r\n {actionsLoading && (\r\n
\r\n
\r\n
\r\n )}\r\n
\r\n
\r\n {/* First Name */}\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n Cancel\r\n \r\n <> \r\n handleSubmited()}\r\n className=\"btn btn-primary btn-elevate\"\r\n >\r\n Save\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n );\r\n}\r\n","import React, {createContext, useContext, useState, useCallback} from \"react\";\r\nimport {isEqual, isFunction} from \"lodash\";\r\nimport {initialFilter} from \"./CustomersUIHelpers\";\r\n\r\nconst CustomersUIContext = createContext();\r\n\r\nexport function useCustomersUIContext() {\r\n return useContext(CustomersUIContext);\r\n}\r\n\r\nexport const CustomersUIConsumer = CustomersUIContext.Consumer;\r\n\r\nexport function CustomersUIProvider({customersUIEvents, children}) {\r\n const [queryParams, setQueryParamsBase] = useState(initialFilter);\r\n const [ids, setIds] = useState([]);\r\n const setQueryParams = useCallback(nextQueryParams => {\r\n setQueryParamsBase(prevQueryParams => {\r\n if (isFunction(nextQueryParams)) {\r\n nextQueryParams = nextQueryParams(prevQueryParams);\r\n }\r\n\r\n if (isEqual(prevQueryParams, nextQueryParams)) {\r\n return prevQueryParams;\r\n }\r\n\r\n return nextQueryParams;\r\n });\r\n }, []);\r\n\r\n const initCustomer = {\r\n id: undefined,\r\n Categories: \"\",\r\n ShipmentNote: \"\"\r\n };\r\n\r\n const value = {\r\n queryParams,\r\n setQueryParamsBase,\r\n ids,\r\n setIds,\r\n setQueryParams,\r\n initCustomer,\r\n newCustomerButtonClick: customersUIEvents.newCustomerButtonClick,\r\n openEditCustomerDialog: customersUIEvents.openEditCustomerDialog,\r\n openDeleteCustomerDialog: customersUIEvents.openDeleteCustomerDialog,\r\n openDeleteCustomersDialog: customersUIEvents.openDeleteCustomersDialog,\r\n openFetchCustomersDialog: customersUIEvents.openFetchCustomersDialog,\r\n openUpdateCustomersStatusDialog: customersUIEvents.openUpdateCustomersStatusDialog\r\n };\r\n\r\n return {children};\r\n}","import React, { useEffect, useMemo } from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { shallowEqual, useDispatch, useSelector } from \"react-redux\";\r\nimport * as actions from \"../../../_redux/AllOrdersBeta/customersActions\";\r\nimport { CustomerEditDialogHeader } from \"./CustomerEditDialogHeader\";\r\nimport { CustomerEditForm } from \"./CustomerEditForm\";\r\nimport { useCustomersUIContext } from \"../CustomersUIContext\";\r\n\r\nexport function CustomerEditDialog({ id, show, onHide }) {\r\n // Customers UI Context\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n initCustomer: customersUIContext.initCustomer,\r\n };\r\n }, [customersUIContext]);\r\n\r\n // Customers Redux state\r\n const dispatch = useDispatch();\r\n const { actionsLoading, customerForEdit } = useSelector(\r\n (state) => ({\r\n actionsLoading: state.customers.actionsLoading,\r\n customerForEdit: state.customers.customerForEdit,\r\n }),\r\n shallowEqual\r\n );\r\n\r\n useEffect(() => {\r\n // server call for getting Customer by id\r\n dispatch(actions.fetchCustomer(id));\r\n }, [id, dispatch]);\r\n\r\n // server request for saving customer\r\n const saveCustomer = (customer) => {\r\n if (!id) {\r\n // server request for creating customer\r\n dispatch(actions.createCustomer(customer)).then(() => onHide());\r\n } else {\r\n // server request for updating customer\r\n dispatch(actions.updateCustomer(customer)).then(() => onHide());\r\n }\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n}\r\n","/* eslint-disable no-restricted-imports */\r\nimport React, { useState, useEffect, useMemo } from \"react\";\r\nimport CloseIcon from \"@material-ui/icons/Close\";\r\nimport IconButton from \"@material-ui/core/IconButton\";\r\nimport { Modal, Spinner } from \"react-bootstrap\";\r\nimport { shallowEqual, useDispatch, useSelector } from \"react-redux\";\r\nimport {\r\n ModalProgressBar,\r\n Input,\r\n CheckboxLarge,\r\n} from \"../../../../../../_metronic/_partials/controls\";\r\nimport { useCustomersUIContext } from \"../CustomersUIContext\";\r\nimport { Formik, Form, Field } from \"formik\";\r\nimport low from \"lowdb\";\r\nimport LocalStorage from \"lowdb/adapters/LocalStorage\";\r\nimport CreatableSelect from \"react-select/creatable\";\r\nimport { CKEditor } from \"@ckeditor/ckeditor5-react\";\r\nimport ClassicEditor from \"@ckeditor/ckeditor5-build-classic\";\r\nimport { Notification } from \"../../../../Notification\";\r\n\r\nconst adapter = new LocalStorage(\"db\");\r\nconst db = low(adapter);\r\n\r\nexport function CustomerDeleteDialog({ id, show, onHide }) {\r\n // Products UI Context\r\n const [EmailAddressList, setEmailAddressList] = useState(null);\r\n const [AttachementList, setAttachementList] = useState(null);\r\n const [ToData, setToData] = useState(null);\r\n const [ToDataDefeault, setToDataDefeault] = useState(null);\r\n const [SubjectData, setSubjectData] = useState(null);\r\n const [includCCData, setincludCCData] = useState(false);\r\n const [includBol, setincludBol] = useState(false);\r\n const [includOutboundDispatch, setincludOutboundDispatch] = useState(true);\r\n const [includShipmentManifest, setincludShipmentManifest] = useState(false);\r\n const [BodyData, setBodyData] = useState(\"\");\r\n const [AttachmentData, setAttachmentData] = useState([]);\r\n const [AccessLevels, setAccessLevels] = useState([]);\r\n const [AttachmentTypes, setAttachmentTypes] = useState([]);\r\n const [isLoadingSubmit, setisLoadingSubmit] = useState(false);\r\n const [isLoadingSend, setisLoadingSend] = useState(false);\r\n\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n setIds: customersUIContext.setIds,\r\n queryParams: customersUIContext.queryParams,\r\n };\r\n }, [customersUIContext]);\r\n\r\n // Products Redux state\r\n const dispatch = useDispatch();\r\n const { isLoading } = useSelector(\r\n (state) => ({ isLoading: state.products.actionsLoading }),\r\n shallowEqual\r\n );\r\n\r\n // if !id we should close modal\r\n useEffect(() => {\r\n if (!id) {\r\n onHide();\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [id]);\r\n useEffect(() => {\r\n fetchUsersAsync();\r\n if (window.SendDispatchShipmentsList !== undefined) {\r\n setTimeout(() => {\r\n setSubjectData(\r\n `Mitco Shipment ID: ${window.SendDispatchShipmentsList?.map(function(\r\n item\r\n ) {\r\n return item.id;\r\n }).join(\", \")}`\r\n );\r\n setBodyData(\r\n `

Hello,

Attached are the dispatch files for the following shipments.

Shipment# {${window.SendDispatchShipmentsList?.map(function(\r\n item\r\n ) {\r\n return item.id;\r\n }).join(\", \")}}

Thanks

Mitco team

`\r\n );\r\n }, 500);\r\n \r\n } else {\r\n setTimeout(() => {\r\n setSubjectData(\"Mitco Shipment ID: \" + id);\r\n setBodyData(\r\n `

Hello,

Attached are the dispatch files for the following shipments.

Shipment# {${id}}

Thanks

Mitco team

`\r\n );\r\n }, 500);\r\n \r\n }\r\n }, [id]);\r\n const fetchUsersAsync = async () => {\r\n try {\r\n if (id !== null) {\r\n var myHeaders = new Headers();\r\n myHeaders.append(\r\n \"Authorization\",\r\n `bearer ${db.read().getState().Token}`\r\n );\r\n myHeaders.append(\"Content-Type\", \"application/json\");\r\n myHeaders.append(\"X-FP-API-KEY\", \"iphone\");\r\n var requestOptions = {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: myHeaders,\r\n redirect: \"follow\",\r\n };\r\n fetch(window.$apiurl + \"/shipments/getsendemail/\" + id, requestOptions)\r\n .then((response) => response.text())\r\n .then((result) => {\r\n const resulting = JSON.parse(result);\r\n var obj = [];\r\n var obj2 = [];\r\n resulting.Emails.map((item, index) => {\r\n obj.push({ value: item.Email, label: item.Email });\r\n obj2.push({ Email: item.Email, Name: item.Email });\r\n });\r\n setToDataDefeault(obj);\r\n setToData(obj2);\r\n setEmailAddressList(obj);\r\n setAttachementList(resulting.Attachments);\r\n })\r\n .catch((error) => console.log(\"error\", error));\r\n\r\n fetch(window.$apiurl + \"/carriers/transport/getviewmodel\", {\r\n method: \"get\",\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n Accept: \"application/json, text/plain, */*\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then((response) => response.text())\r\n .then((result) => {\r\n const objs = JSON.parse(result);\r\n setAccessLevels(objs.AccessLevels);\r\n setAttachmentTypes(objs.AttachmentTypes);\r\n })\r\n .catch((error) => console.log(\"error\", error));\r\n }\r\n } catch (e) {}\r\n };\r\n // looking for loading/dispatch\r\n useEffect(() => {}, [isLoading, dispatch]);\r\n\r\n const deleteProduct = async () => {\r\n if (ToData === null) {\r\n Notification(\"error\", \"Please fill email Info\");\r\n return;\r\n }\r\n // server request for deleting product by id\r\n setisLoadingSend(true);\r\n var data = {};\r\n if (window.SendDispatchShipmentsList !== undefined) {\r\n data = {\r\n Ids: window.SendDispatchShipmentsList?.map(function(item) {\r\n return item.id;\r\n }),\r\n Emails: ToData,\r\n Subject: SubjectData,\r\n Body: BodyData,\r\n IncludeCc: includCCData,\r\n Attachments: AttachmentData,\r\n Bol: includBol,\r\n OutboundDispatch: includOutboundDispatch,\r\n ShipmentManifest: includShipmentManifest,\r\n };\r\n } else {\r\n data = {\r\n Emails: ToData,\r\n Subject: SubjectData,\r\n Body: BodyData,\r\n IncludeCc: includCCData,\r\n Attachments: AttachmentData,\r\n Bol: includBol,\r\n OutboundDispatch: includOutboundDispatch,\r\n ShipmentManifest: includShipmentManifest,\r\n };\r\n }\r\n\r\n var raw = JSON.stringify(data);\r\n var requestOptions = {\r\n method: \"POST\",\r\n body: raw,\r\n redirect: \"follow\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n };\r\n var url = \"\";\r\n if (window.SendDispatchShipmentsList !== undefined) {\r\n url = \"/shipmentsmanagement/sendMultiEmail\";\r\n } else {\r\n url = `/shipments/sendEmail/` + id;\r\n }\r\n let response = await fetch(`${window.$apiurl}${url}`, requestOptions);\r\n if (response.status === 200) {\r\n if (window.SendDispatchShipmentsList !== undefined) {\r\n Notification(\"success\", `Email sent successfuly for Shipments IDs ${window.SendDispatchShipmentsList?.map(function(\r\n item\r\n ) {\r\n return item.id;\r\n }).join(\", \")}`);\r\n\r\n }else{\r\n Notification(\"success\", \"Email sent successfuly for Shipment ID \" + id);\r\n\r\n }\r\n setToData(null);\r\n setToDataDefeault(null);\r\n setSubjectData(null);\r\n setBodyData(\"\");\r\n setincludCCData(false);\r\n setincludBol(false);\r\n setincludOutboundDispatch(false);\r\n setincludShipmentManifest(false);\r\n setAttachmentData([]);\r\n setisLoadingSend(false);\r\n onHide();\r\n } else {\r\n Notification(\"error\", \"invalid data\");\r\n setisLoadingSend(false);\r\n onHide();\r\n }\r\n };\r\n\r\n ///----------------------\r\n async function SaveShipementAattachement(id) {\r\n if (\r\n document.getElementById(\"shipmentAttachmentList\").files[0] === undefined\r\n ) {\r\n Notification(\"error\", \"Please select Attachment\");\r\n return;\r\n }\r\n setisLoadingSubmit(true);\r\n var formdata = new FormData();\r\n const inputElement = document.getElementById(\"shipmentAttachmentList\");\r\n const AccessLevelId = document.getElementById(\"shipmentAccessLevelIdList\")\r\n .value;\r\n const AttachmentTypeId = document.getElementById(\r\n \"shipmentAttachmentTypeIdList\"\r\n ).value;\r\n formdata.append(\r\n \"File\",\r\n inputElement.files[0],\r\n inputElement.value.split(\"\\\\\")[2]\r\n );\r\n var requestOptions = {\r\n method: \"POST\",\r\n body: formdata,\r\n redirect: \"follow\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n },\r\n };\r\n let response = await fetch(\r\n `${window.$apiurl}/transload/shipments/addattachment?shipmentId=` +\r\n id +\r\n \"&accessLevelId=\" +\r\n AccessLevelId +\r\n \"&attachmentTypeId=\" +\r\n AttachmentTypeId,\r\n requestOptions\r\n );\r\n let data = await response.json();\r\n var inputs = document.querySelectorAll(\".ShipmentsAttachmentCheckBox\");\r\n for (var i = 0; i < inputs.length; i++) {\r\n inputs[i].checked = false;\r\n }\r\n setisLoadingSubmit(false);\r\n getAttachmentData();\r\n setAttachmentData([]);\r\n }\r\n\r\n async function getAttachmentData() {\r\n var myHeaders = new Headers();\r\n myHeaders.append(\"Authorization\", `bearer ${db.read().getState().Token}`);\r\n myHeaders.append(\"Content-Type\", \"application/json\");\r\n myHeaders.append(\"X-FP-API-KEY\", \"iphone\");\r\n var requestOptions = {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: myHeaders,\r\n redirect: \"follow\",\r\n };\r\n fetch(window.$apiurl + \"/shipments/getsendemail/\" + id, requestOptions)\r\n .then((response) => response.text())\r\n .then((result) => {\r\n const resultobj = JSON.parse(result);\r\n setAttachementList(resultobj.Attachments);\r\n })\r\n .catch((error) => console.log(\"error\", error));\r\n }\r\n return (\r\n \r\n {isLoading && }\r\n \r\n \r\n Shipment Send\r\n \r\n \r\n \r\n \r\n \r\n \r\n {isLoading && Shipment Documents is Sending...}\r\n \r\n
\r\n
\r\n
\r\n
\r\n

To:

\r\n {EmailAddressList && (\r\n {\r\n var obj = [];\r\n var objDefeault = [];\r\n if (e) {\r\n e.map((item, index) => {\r\n obj.push({ Email: item.value, Name: item.value });\r\n objDefeault.push({\r\n value: item.value,\r\n label: item.value,\r\n });\r\n });\r\n }\r\n setToDataDefeault(objDefeault);\r\n setToData(obj);\r\n }}\r\n />\r\n )}\r\n\r\n {\r\n setincludCCData(event.target.checked);\r\n }}\r\n />\r\n
\r\n
\r\n

Subject:

\r\n {\r\n setSubjectData(event.target.value);\r\n }}\r\n />\r\n
\r\n
\r\n

Body:

\r\n\r\n {\r\n const data = editor.getData();\r\n setBodyData(data);\r\n }}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n

Attachments

\r\n
\r\n
\r\n
\r\n {\r\n setincludBol(event.target.checked);\r\n }}\r\n />\r\n
\r\n
\r\n {\r\n setincludOutboundDispatch(event.target.checked);\r\n }}\r\n />\r\n
\r\n
\r\n {\r\n setincludShipmentManifest(event.target.checked);\r\n }}\r\n />\r\n
\r\n
\r\n {AttachementList?.map((item, index) => {\r\n return (\r\n
\r\n
\r\n {\r\n var obj = AttachmentData;\r\n obj.push(event.target.value);\r\n setAttachmentData(obj);\r\n }}\r\n />\r\n \r\n {item.Name}\r\n \r\n
\r\n
\r\n );\r\n })}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

Add Attachment

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

Attachment Type

\r\n \r\n {AttachmentTypes.map((item, index) => (\r\n \r\n ))}\r\n \r\n
\r\n
\r\n

Access Level

\r\n \r\n {AccessLevels.map((item, index) => (\r\n \r\n ))}\r\n \r\n
\r\n
\r\n \r\n await SaveShipementAattachement(id)\r\n }\r\n disabled={isLoadingSubmit}\r\n className=\"btn btn-primary btn-elevate\"\r\n >\r\n Save Attachment\r\n {isLoadingSubmit && (\r\n \r\n )}\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n Cancel\r\n \r\n <> \r\n \r\n Send Email\r\n {isLoadingSend && (\r\n \r\n )}\r\n \r\n
\r\n
\r\n \r\n );\r\n}\r\n","import React, { useEffect, useState, useMemo } from \"react\";\r\nimport { makeStyles } from \"@material-ui/core/styles\";\r\nimport Drawer from \"@material-ui/core/Drawer\";\r\nimport { shallowEqual, useSelector } from \"react-redux\";\r\nimport { Link, useHistory } from \"react-router-dom\";\r\nimport { Modal, Spinner, OverlayTrigger, Tooltip } from \"react-bootstrap\";\r\nimport { useCustomersUIContext } from \"../../../../app/modules/eMPower/pages/NewShipmentsBeta/CustomersUIContext\";\r\nimport { Notification } from \"../../../../app/modules/Notification\";\r\nimport { CKEditor } from \"@ckeditor/ckeditor5-react\";\r\nimport TextField from \"@material-ui/core/TextField\";\r\nimport LinearProgress from \"@material-ui/core/LinearProgress\";\r\nimport Tab from \"react-bootstrap/Tab\";\r\nimport Nav from \"react-bootstrap/Nav\";\r\n\r\nimport Select, { components } from \"react-select\";\r\nimport ClassicEditor from \"@ckeditor/ckeditor5-build-classic\";\r\nimport low from \"lowdb\";\r\nimport $ from \"jquery\";\r\nimport {\r\n ReturnEmptyOrString,\r\n currencyFormat,\r\n DateTime30minInterval,\r\n} from \"../../../_helpers/ATHelpers\";\r\nimport { CheckboxLargeWB } from \"../../../_partials/controls\";\r\nimport LocalStorage from \"lowdb/adapters/LocalStorage\";\r\nimport CloseIcon from \"@material-ui/icons/Close\";\r\nimport IconButton from \"@material-ui/core/IconButton\";\r\nimport { ChargesFunctionCompo } from \"../../../../app/modules/eMPower/pages/Transload/FindOrders/product-Containers/remark-edit-dialog/ChargesFunction\";\r\nimport { CustomerDeleteDialog } from \"../../../../app/modules/eMPower/pages/NewShipmentsBeta/customer-delete-dialog/CustomerDeleteDialog\";\r\nconst adapter = new LocalStorage(\"db\");\r\nconst db = low(adapter);\r\n\r\nDate.prototype.addHours = function(h) {\r\n this.setTime(this.getTime() + h * 60 * 60 * 1000);\r\n return this;\r\n};\r\nfunction IsValidAddress(str, isFirstItem) {\r\n if (str === null || str === undefined || str === \"\") {\r\n return \"\";\r\n } else {\r\n return isFirstItem === true ? str : \", \" + str;\r\n }\r\n}\r\nfunction tConvert(time) {\r\n if (time === null || time === undefined || time === \"\") {\r\n return \"\";\r\n }\r\n // Check correct time format and split into components\r\n time = time.toString().match(/^([01]\\d|2[0-3])(:)([0-5]\\d)(:[0-5]\\d)?$/) || [\r\n time,\r\n ];\r\n\r\n if (time.length > 1) {\r\n // If time format correct\r\n time = time.slice(1); // Remove full string match value\r\n time[5] = +time[0] < 12 ? \"AM\" : \"PM\"; // Set AM/PM\r\n time[0] = +time[0] % 12 || 12; // Adjust hours\r\n }\r\n return time.join(\"\"); // return adjusted time or original string\r\n}\r\nfunction formatDate(date) {\r\n if (date) {\r\n var d = new Date(date),\r\n month = \"\" + (d.getMonth() + 1),\r\n day = \"\" + d.getDate(),\r\n year = d.getFullYear();\r\n\r\n if (month.length < 2) month = \"0\" + month;\r\n if (day.length < 2) day = \"0\" + day;\r\n\r\n const result = [month, day, year].join(\"/\");\r\n if (result !== \"NaN/NaN/NaN\") {\r\n return result;\r\n } else {\r\n return \"--/--/----\";\r\n }\r\n } else {\r\n return \"\";\r\n }\r\n}\r\n\r\nconst selectedCustomers = (entities, ids) => {\r\n const _customers = [];\r\n ids.forEach((id) => {\r\n const customer = entities.find((el) => el.id === id);\r\n if (customer) {\r\n _customers.push(customer);\r\n }\r\n });\r\n return _customers;\r\n};\r\nconst useStyles = makeStyles({\r\n list: {\r\n width: 250,\r\n },\r\n fullList: {\r\n width: \"auto\",\r\n },\r\n isDisabled: {\r\n color: \"currentColor\",\r\n cursor: \"not-allowed\",\r\n pointerEvents: \"none\",\r\n opacity: \"0.5\",\r\n },\r\n});\r\nconst prepareFilter = (queryParams) => {\r\n return queryParams;\r\n};\r\nexport function ShipmentActions() {\r\n document.getElementById(\"kt_body\").style.overflow = \"scroll\";\r\n const history = useHistory();\r\n const customersUIContext = useCustomersUIContext();\r\n const [DetailShipmentInfo, setDetailShipmentInfo] = useState([]);\r\n const [ShowModalDespatch, setShowModalDespatch] = useState(false);\r\n const [ckEditorData, setckEditorData] = useState();\r\n const [\r\n LoadingchangeDespatchStatus,\r\n setLoadingchangeDespatchStatus,\r\n ] = useState(false);\r\n const [ShowModalBooked, setShowModalBooked] = useState(false);\r\n const [ShowModalLoading, setShowModalLoading] = useState(false);\r\n const [ShowModalLoaded, setShowModalLoaded] = useState(false);\r\n const [optionsVandorList, setoptionsVandorList] = useState([]);\r\n const [optionsVandorTypeList, setoptionsVandorTypeList] = useState([]);\r\n const [VandorSelectedData, setVandorSelectedData] = useState(null);\r\n const [\r\n FreightChargeIdSelectedData,\r\n setFreightChargeIdSelectedData,\r\n ] = useState(98);\r\n const [BillToSelectedId, setBillToSelectedId] = useState(null);\r\n const [VendorTypeIdSelectedData, setVendorTypeIdSelectedData] = useState(\r\n 1308\r\n );\r\n const [BillToList, setBillToList] = useState([]);\r\n const [FreightChargeList, setFreightChargeList] = useState([]);\r\n const [SelectShipmentIds, setSelectShipmentIds] = useState([]);\r\n const [ShowModalDispatched, setShowModalDispatched] = useState(false);\r\n const [showSendEmail, setShowSendEmail] = useState(false);\r\n const [ShipmentStatusId, setShipmentStatusId] = useState(null);\r\n const [ShowModalPreviewDispatched, setShowModalPreviewDispatched] = useState(\r\n false\r\n );\r\n const [ShowModalPickUp, setShowModalPickUp] = useState(false);\r\n const [ShowModalAppointed, setShowModalAppointed] = useState(false);\r\n const [ShowModalSentInterModal, setShowModalSentInterModal] = useState(false);\r\n const [formData, setformData] = useState(null);\r\n const Option = (props) => {\r\n return (\r\n
\r\n \r\n
\r\n );\r\n };\r\n function getvandorsList() {\r\n var myHeaders = new Headers();\r\n myHeaders.append(\"Authorization\", `Bearer ${db.read().getState().Token}`);\r\n var requestOptions = {\r\n method: \"GET\",\r\n headers: myHeaders,\r\n redirect: \"follow\",\r\n };\r\n fetch(window.$apiurl + \"/vendors\", requestOptions)\r\n .then((response) => response.text())\r\n .then((result) => {\r\n const data = JSON.parse(result);\r\n const opt = [];\r\n data.Vendors.forEach((Vendor) => {\r\n opt.push({\r\n Id: Vendor.Id,\r\n value: Vendor.Id,\r\n label: Vendor.Code + \"-\" + Vendor.CompanyName,\r\n color: \"red\",\r\n CarrierId: Vendor?.CarrierId,\r\n IsApproved: Vendor?.IsApproved,\r\n IsActive: Vendor?.IsActive,\r\n });\r\n });\r\n var vendorid = customers.filter(\r\n (customer) => customer?.VendorId !== null || \"\"\r\n )[0]?.VendorId;\r\n var v = opt.filter((x) => !!x?.IsActive || x?.Id === vendorid);\r\n\r\n setoptionsVandorList(v);\r\n setFreightChargeList(data?.FreightCharges ?? \"\");\r\n setoptionsVandorTypeList(data?.VendorTypes || []);\r\n setBillToList(data?.BillTo || []);\r\n })\r\n .catch((error) => console.log(\"error\", error));\r\n }\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n ids: customersUIContext.ids,\r\n queryParams: customersUIContext.queryParams,\r\n setQueryParams: customersUIContext.setQueryParams,\r\n newCustomerButtonClick: customersUIContext.newCustomerButtonClick,\r\n };\r\n }, [customersUIContext]);\r\n\r\n // Customers Redux state\r\n const { customers } = useSelector(\r\n (state) => ({\r\n customers: selectedCustomers(\r\n state.customers.entities,\r\n customersUIProps.ids\r\n ),\r\n }),\r\n shallowEqual\r\n );\r\n\r\n // if customers weren't selected we should close modal\r\n useEffect(() => {\r\n if (!customersUIProps.ids || customersUIProps.ids.length === 0) {\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [customersUIProps.ids]);\r\n const classes = useStyles();\r\n const [state, setState] = React.useState({\r\n top: false,\r\n left: false,\r\n bottom: false,\r\n right: false,\r\n });\r\n\r\n const toggleDrawer = (side, open) => (event) => {\r\n if (\r\n event.type === \"keydown\" &&\r\n (event.key === \"Tab\" || event.key === \"Shift\")\r\n ) {\r\n return;\r\n }\r\n setState({ ...state, [side]: open });\r\n if (open) {\r\n setTimeout(() => {\r\n document.getElementsByClassName(\"MuiDrawer-modal\")[0].style.visibility =\r\n \"visible\";\r\n }, 500);\r\n }\r\n };\r\n\r\n const applyFilter = () => {\r\n //document.getElementById(\"searchTextTable\").value = \"\";\r\n const newQueryParams = prepareFilter({\r\n filter: {\r\n multiCustomersGet: window.$filterActionsSm,\r\n //Filter: window.$ShipmentManagementMode,\r\n },\r\n sortOrder: \"desc\",\r\n sortField: \"id\",\r\n pageNumber: 1,\r\n pageSize: 10,\r\n });\r\n\r\n newQueryParams.pageNumber = 1;\r\n // update list by queryParams\r\n customersUIProps.setQueryParams(newQueryParams);\r\n // document.getElementById(\"ReLoadTableId\").click();\r\n };\r\n\r\n useEffect(() => {\r\n if (window.ShipmentStatus !== undefined && window.ShipmentStatus !== \"\") {\r\n setDetailShipmentInfo(window.ShipmentStatus);\r\n }\r\n }, [window.ShipmentStatus]);\r\n\r\n // useEffect(() => {\r\n // fetchClassificationsAsync();\r\n // }, [window.$ShipmentManagementModeId]);\r\n // useEffect(() => {\r\n // fetchClassificationsAsync();\r\n // }, [window.$ShipmentManagementServiceLevelId]);\r\n const submitShipmentStatus = async (StatusId, Name) => {\r\n try {\r\n if (customers.filter((a) => a.IsOnHold === true).length > 0) {\r\n Notification(\"warning\", \"Customer is On Hold\");\r\n }\r\n var ShipmentsId = [];\r\n customers.map((customer) => ShipmentsId.push(customer.id));\r\n var myHeaders = new Headers();\r\n myHeaders.append(\"Authorization\", `bearer ${db.read().getState().Token}`);\r\n myHeaders.append(\"Content-Type\", \"application/json\");\r\n myHeaders.append(\"X-FP-API-KEY\", \"iphone\");\r\n var raw = JSON.stringify({\r\n ShipmentIds: ShipmentsId,\r\n ShipmentStatus: StatusId,\r\n });\r\n var requestOptions = {\r\n method: \"POST\",\r\n headers: myHeaders,\r\n body: raw,\r\n redirect: \"follow\",\r\n };\r\n fetch(\r\n window.$apiurl + `/transportation/shipment/updatestatus`,\r\n requestOptions\r\n )\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n const contentType = response.headers.get(\"content-type\");\r\n if (contentType && contentType.indexOf(\"application/json\") !== -1) {\r\n return response.json().then((data) => [statusCode, data]);\r\n } else {\r\n return response\r\n .text()\r\n .then((text) => [statusCode, { Message: \"\" }]);\r\n }\r\n })\r\n .then((result) => {\r\n if (result[0] === 200) {\r\n if (\r\n result[1].Message !== null &&\r\n result[1].Message !== undefined &&\r\n result[1].Message !== \"\"\r\n ) {\r\n Notification(\"errorClick\", result[1].Message);\r\n document.getElementById(\"ReLoadTableId\").click();\r\n } else {\r\n // window.$ShipmentManagementStatus = StatusId;\r\n // window.$ShipmentManagementStatusName = Name;\r\n Notification(\r\n \"success\",\r\n `Status of shipments : [${customers.map(\r\n (customer) => customer.id + \", \"\r\n )}] has been changed successfully`\r\n );\r\n }\r\n } else {\r\n Notification(\"errorClick\", \"invalid request\");\r\n }\r\n document.getElementById(\"ReLoadTableId\").click();\r\n setTimeout(() => {\r\n document.getElementById(\"kt_body\").style.overflow = \"scroll\";\r\n }, 500);\r\n var checkboxes = new Array();\r\n checkboxes = document.getElementsByTagName(\"input\");\r\n for (var i = 0; i < checkboxes.length; i++) {\r\n if (checkboxes[i].type == \"checkbox\") {\r\n checkboxes[i].checked = false;\r\n }\r\n }\r\n })\r\n .catch((error) => console.log(\"error\", error));\r\n } catch (e) {}\r\n };\r\n //start dispatched preview Modal\r\n const PostDispatchVandors = async () => {\r\n var ShipmentsId = [];\r\n\r\n window.ShpmentsIdFrowSendEmail = customers[0].id;\r\n //ziko\r\n customers.map((customer) => ShipmentsId.push(customer.id));\r\n setSelectShipmentIds(customers);\r\n var VandorSelected =\r\n VandorSelectedData === null\r\n ? customers.filter((customer) => customer?.CarrierId !== null || \"\")[0]\r\n ?.CarrierId\r\n : VandorSelectedData;\r\n if (\r\n VandorSelected === null ||\r\n VandorSelected === undefined ||\r\n VandorSelected === \"\"\r\n ) {\r\n Notification(\"errorClick\", \"Please select vendor\");\r\n return;\r\n }\r\n setLoadingchangeDespatchStatus(true);\r\n\r\n var myHeaders = new Headers();\r\n myHeaders.append(\"Authorization\", `bearer ${db.read().getState().Token}`);\r\n myHeaders.append(\"Content-Type\", \"application/json\");\r\n myHeaders.append(\"X-FP-API-KEY\", \"iphone\");\r\n var raw = JSON.stringify({\r\n ShipmentIds: ShipmentsId,\r\n ShipmentStatus: ShipmentStatusId,\r\n VendorId:\r\n VandorSelectedData === null\r\n ? customers.filter(\r\n (customer) => customer?.CarrierId !== null || \"\"\r\n )[0]?.CarrierId\r\n : VandorSelectedData,\r\n });\r\n var requestOptions = {\r\n method: \"POST\",\r\n headers: myHeaders,\r\n body: raw,\r\n redirect: \"follow\",\r\n };\r\n fetch(\r\n window.$apiurl + `/transportation/shipment/updatestatus`,\r\n requestOptions\r\n )\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n const contentType = response.headers.get(\"content-type\");\r\n if (contentType && contentType.indexOf(\"application/json\") !== -1) {\r\n return response.json().then((data) => [statusCode, data]);\r\n } else {\r\n return response.text().then((text) => [statusCode, { Message: \"\" }]);\r\n }\r\n })\r\n .then((result) => {\r\n if (result[0] === 200) {\r\n if (\r\n result[1].Message !== null &&\r\n result[1].Message !== undefined &&\r\n result[1].Message !== \"\"\r\n ) {\r\n Notification(\"errorClick\", result[1].Message);\r\n } else {\r\n setVandorSelectedData(null);\r\n setFreightChargeIdSelectedData(98);\r\n setBillToSelectedId(null);\r\n setVendorTypeIdSelectedData(1308);\r\n\r\n Notification(\r\n \"success\",\r\n `Status of Shipments : [${customers.map(\r\n (customer) => customer.id + \", \"\r\n )}] has been changed successfully`\r\n );\r\n }\r\n } else {\r\n Notification(\"errorClick\", \"invalid request\");\r\n }\r\n setLoadingchangeDespatchStatus(false);\r\n })\r\n .then(async (result) => {\r\n var myHeaders2 = new Headers();\r\n myHeaders2.append(\r\n \"Authorization\",\r\n `bearer ${db.read().getState().Token}`\r\n );\r\n myHeaders2.append(\"Content-Type\", \"application/json\");\r\n myHeaders2.append(\"X-FP-API-KEY\", \"iphone\");\r\n var requestOptions2 = {\r\n method: \"POST\",\r\n headers: myHeaders2,\r\n body: JSON.stringify({ Ids: ShipmentsId }),\r\n };\r\n await fetch(\r\n window.$apiurl + \"/Outbound/report/multiple\",\r\n requestOptions2\r\n )\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n if (statusCode !== 200) {\r\n Notification(\"error\", \"No data found !\");\r\n }\r\n const json = await response.json();\r\n setformData(json);\r\n setLoadingchangeDespatchStatus(false);\r\n\r\n setShowModalDispatched(false);\r\n toggleDrawer(\"right\", false);\r\n document.getElementById(\"ReLoadTableId\").click();\r\n setVandorSelectedData(null);\r\n setTimeout(() => {\r\n document.getElementById(\"kt_body\").style.overflow = \"scroll\";\r\n }, 500);\r\n setShowModalPreviewDispatched(true);\r\n setShipmentStatusId(null);\r\n })\r\n .catch((error) => {\r\n setLoadingchangeDespatchStatus(false);\r\n console.error(error);\r\n });\r\n setLoadingchangeDespatchStatus(false);\r\n })\r\n .catch((error) => console.log(\"error\", error));\r\n };\r\n\r\n //start submit modal booked\r\n\r\n const PostbookedchVandors = async () => {\r\n try {\r\n customers.map((a, index) => {\r\n if (document.getElementById(`PickupOnTime${index}`).value === \"0\") {\r\n Notification(\"errorClick\", \"Pickup On Time is required\");\r\n return false;\r\n }\r\n if (document.getElementById(`PickupToTime${index}`).value === \"0\") {\r\n Notification(\"errorClick\", \"Pickup To Time is required\");\r\n return false;\r\n }\r\n });\r\n var ShipmentsId = [];\r\n var pickupToDates = [];\r\n var pickupOnDates = [];\r\n customers.map((customer, index) => {\r\n ShipmentsId.push(customer.id);\r\n pickupToDates.push(\r\n new Date(\r\n document.getElementById(`PickupOnDate${index}`).value +\r\n \"Z\" +\r\n document.getElementById(`PickupToTime${index}`).value\r\n )\r\n );\r\n pickupOnDates.push(\r\n new Date(\r\n document.getElementById(`PickupOnDate${index}`).value +\r\n \"Z\" +\r\n document.getElementById(`PickupOnTime${index}`).value\r\n )\r\n );\r\n });\r\n var VandorSelected =\r\n VandorSelectedData === null\r\n ? customers.filter(\r\n (customer) => customer?.CarrierId !== null || \"\"\r\n )[0]?.CarrierId\r\n : VandorSelectedData;\r\n if (\r\n VandorSelected === null ||\r\n VandorSelected === undefined ||\r\n VandorSelected === \"\"\r\n ) {\r\n Notification(\"errorClick\", \"Please select vendor\");\r\n return;\r\n }\r\n setLoadingchangeDespatchStatus(true);\r\n\r\n var myHeaders = new Headers();\r\n myHeaders.append(\"Authorization\", `bearer ${db.read().getState().Token}`);\r\n myHeaders.append(\"Content-Type\", \"application/json\");\r\n myHeaders.append(\"X-FP-API-KEY\", \"iphone\");\r\n var raw = JSON.stringify({\r\n ShipmentIds: ShipmentsId,\r\n ShipmentStatus: 3,\r\n PickupToDate: pickupToDates[0],\r\n PickupOnDate: pickupToDates[0],\r\n PickupToDates: pickupToDates,\r\n PickupOnDates: pickupOnDates,\r\n VendorTypeId: VendorTypeIdSelectedData,\r\n VendorId:\r\n VandorSelectedData === null\r\n ? customers.filter(\r\n (customer) => customer?.CarrierId !== null || \"\"\r\n )[0]?.CarrierId\r\n : VandorSelectedData,\r\n\r\n FreightChargeId: FreightChargeIdSelectedData ?? 98,\r\n ThirdPartyBillToId: BillToSelectedId,\r\n });\r\n var requestOptions = {\r\n method: \"POST\",\r\n headers: myHeaders,\r\n body: raw,\r\n redirect: \"follow\",\r\n };\r\n fetch(\r\n window.$apiurl + `/transportation/shipment/updatestatus`,\r\n requestOptions\r\n )\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n const contentType = response.headers.get(\"content-type\");\r\n if (contentType && contentType.indexOf(\"application/json\") !== -1) {\r\n return response.json().then((data) => [statusCode, data]);\r\n } else {\r\n return response\r\n .text()\r\n .then((text) => [statusCode, { Message: \"\" }]);\r\n }\r\n })\r\n .then((result) => {\r\n if (result[0] === 200) {\r\n setVandorSelectedData(null);\r\n setFreightChargeIdSelectedData(98);\r\n setBillToSelectedId(null);\r\n setVendorTypeIdSelectedData(1308);\r\n if (\r\n result[1].Message !== null &&\r\n result[1].Message !== undefined &&\r\n result[1].Message !== \"\"\r\n ) {\r\n Notification(\"errorClick\", result[1].Message);\r\n document.getElementById(\"ReLoadTableId\").click();\r\n setShowModalBooked(false);\r\n\r\n setLoadingchangeDespatchStatus(false);\r\n } else {\r\n // window.$ShipmentManagementStatus = StatusId;\r\n // window.$ShipmentManagementStatusName = Name;\r\n Notification(\r\n \"success\",\r\n `Status of shipments : [${customers.map(\r\n (customer) => customer.id + \", \"\r\n )}] has been changed successfully`\r\n );\r\n }\r\n var dataRowes = JSON.parse(window.$payablesRates);\r\n dataRowes.FreightChargeId = FreightChargeIdSelectedData ?? 98;\r\n dataRowes.ThirdPartyBillToId = BillToSelectedId;\r\n dataRowes.VendorTypeId = VendorTypeIdSelectedData;\r\n dataRowes.VendorId =\r\n VandorSelectedData === null\r\n ? customers.filter(\r\n (customer) => customer?.CarrierId !== null || \"\"\r\n )[0]?.CarrierId\r\n : VandorSelectedData;\r\n try {\r\n // Rates Post\r\n fetch(`${window.$apiurl}/transloadshipments/mutlipayables`, {\r\n method: \"post\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataRowes),\r\n }).then((response) => {});\r\n } catch (err) {\r\n console.log(err);\r\n }\r\n } else {\r\n Notification(\"errorClick\", \"invalid request\");\r\n }\r\n setVandorSelectedData(null);\r\n\r\n setShowModalBooked(false);\r\n setLoadingchangeDespatchStatus(false);\r\n\r\n document.getElementById(\"ReLoadTableId\").click();\r\n setTimeout(() => {\r\n document.getElementById(\"kt_body\").style.overflow = \"scroll\";\r\n }, 500);\r\n var checkboxes = new Array();\r\n checkboxes = document.getElementsByTagName(\"input\");\r\n for (var i = 0; i < checkboxes.length; i++) {\r\n if (checkboxes[i].type == \"checkbox\") {\r\n checkboxes[i].checked = false;\r\n }\r\n }\r\n })\r\n .catch((error) => console.log(\"error\", error));\r\n } catch (e) {}\r\n };\r\n\r\n //start submit eqNumber\r\n\r\n const SubmitEqNumber = async (status) => {\r\n try {\r\n setLoadingchangeDespatchStatus(true);\r\n var ShipmentsId = [];\r\n customers.map((customer) => ShipmentsId.push(customer.id));\r\n const EqNumber =\r\n status === 5\r\n ? document.getElementById(\"EquipmentNumberInput\").value\r\n : document.getElementById(\"SealNumberInput\").value;\r\n var myHeaders = new Headers();\r\n myHeaders.append(\"Authorization\", `bearer ${db.read().getState().Token}`);\r\n myHeaders.append(\"Content-Type\", \"application/json\");\r\n myHeaders.append(\"X-FP-API-KEY\", \"iphone\");\r\n if (status === 5) {\r\n var raw = JSON.stringify({\r\n ShipmentIds: ShipmentsId,\r\n ShipmentStatus: status,\r\n EquipmentNumber: EqNumber,\r\n });\r\n } else {\r\n var raw = JSON.stringify({\r\n ShipmentIds: ShipmentsId,\r\n ShipmentStatus: status,\r\n SealNumber: EqNumber,\r\n });\r\n }\r\n\r\n var requestOptions = {\r\n method: \"POST\",\r\n headers: myHeaders,\r\n body: raw,\r\n redirect: \"follow\",\r\n };\r\n fetch(\r\n window.$apiurl + `/transportation/shipment/updatestatus`,\r\n requestOptions\r\n )\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n const contentType = response.headers.get(\"content-type\");\r\n if (contentType && contentType.indexOf(\"application/json\") !== -1) {\r\n return response.json().then((data) => [statusCode, data]);\r\n } else {\r\n return response\r\n .text()\r\n .then((text) => [statusCode, { Message: \"\" }]);\r\n }\r\n })\r\n .then((result) => {\r\n if (result[0] === 200) {\r\n if (\r\n result[1].Message !== null &&\r\n result[1].Message !== undefined &&\r\n result[1].Message !== \"\"\r\n ) {\r\n Notification(\"errorClick\", result[1].Message);\r\n document.getElementById(\"ReLoadTableId\").click();\r\n setLoadingchangeDespatchStatus(false);\r\n if (status === 5) {\r\n setShowModalLoading(false);\r\n } else {\r\n setShowModalLoaded(false);\r\n }\r\n } else {\r\n // window.$ShipmentManagementStatus = StatusId;\r\n // window.$ShipmentManagementStatusName = Name;\r\n Notification(\r\n \"success\",\r\n `Status of shipments : [${customers.map(\r\n (customer) => customer.id + \", \"\r\n )}] has been changed successfully`\r\n );\r\n }\r\n } else {\r\n Notification(\"errorClick\", \"invalid request\");\r\n }\r\n setLoadingchangeDespatchStatus(false);\r\n if (status === 5) {\r\n setShowModalLoading(false);\r\n } else {\r\n setShowModalLoaded(false);\r\n }\r\n setTimeout(() => {\r\n document.getElementById(\"kt_body\").style.overflow = \"scroll\";\r\n }, 500);\r\n document.getElementById(\"ReLoadTableId\").click();\r\n var checkboxes = new Array();\r\n checkboxes = document.getElementsByTagName(\"input\");\r\n for (var i = 0; i < checkboxes.length; i++) {\r\n if (checkboxes[i].type == \"checkbox\") {\r\n checkboxes[i].checked = false;\r\n }\r\n }\r\n })\r\n .catch((error) => console.log(\"error\", error));\r\n } catch (e) {}\r\n };\r\n //start submit modal Aappointed\r\n const SubmitAppointedDetail = async () => {\r\n if (document.getElementById(\"DeliveryAptTime\").value === \"0\") {\r\n Notification(\"errorClick\", \"Delivery Apt Time is required\");\r\n return;\r\n }\r\n if (document.getElementById(\"PickupAptTime\").value === \"0\") {\r\n Notification(\"errorClick\", \"Pickup Apt Time is required\");\r\n return;\r\n }\r\n var DeliveryAptDate = new Date(\r\n document.getElementById(\"PickupAptDate\").value +\r\n \"Z\" +\r\n document.getElementById(\"DeliveryAptTime\").value\r\n );\r\n var PickupAptDate = new Date(\r\n document.getElementById(\"PickupAptDate\").value +\r\n \"Z\" +\r\n document.getElementById(\"PickupAptTime\").value\r\n );\r\n\r\n setLoadingchangeDespatchStatus(true);\r\n var ShipmentsId = [];\r\n customers.map((customer) => ShipmentsId.push(customer.id));\r\n var myHeaders = new Headers();\r\n myHeaders.append(\"Authorization\", `bearer ${db.read().getState().Token}`);\r\n myHeaders.append(\"Content-Type\", \"application/json\");\r\n myHeaders.append(\"X-FP-API-KEY\", \"iphone\");\r\n var raw = JSON.stringify({\r\n ShipmentIds: ShipmentsId,\r\n ShipmentStatus: 57,\r\n DeliveryOnDate: DeliveryAptDate,\r\n PickupOnDate: PickupAptDate,\r\n });\r\n var requestOptions = {\r\n method: \"POST\",\r\n headers: myHeaders,\r\n body: raw,\r\n redirect: \"follow\",\r\n };\r\n fetch(\r\n window.$apiurl + `/transportation/shipment/updatestatus`,\r\n requestOptions\r\n )\r\n .then(async (response) => {\r\n if (response.status === 200) {\r\n // window.$ReceiptsManagmentStatu = 18;\r\n Notification(\r\n \"success\",\r\n `Status of Receipts : [${customers.map(\r\n (customer) => customer.id + \", \"\r\n )}] has been changed successfully`\r\n );\r\n setLoadingchangeDespatchStatus(false);\r\n } else {\r\n Notification(\"errorClick\", \"invalid request\");\r\n setLoadingchangeDespatchStatus(false);\r\n }\r\n })\r\n .then((result) => {\r\n setShowModalAppointed(false);\r\n toggleDrawer(\"right\", false);\r\n setTimeout(() => {\r\n document.getElementById(\"kt_body\").style.overflow = \"scroll\";\r\n }, 500);\r\n document.getElementById(\"ReLoadTableId\").click();\r\n })\r\n .catch((error) => console.log(\"error\", error));\r\n };\r\n const PostPickUpStatus = async () => {\r\n customers.map((a, index) => {\r\n if (document.getElementById(`ETATime${index}`).value === \"0\") {\r\n Notification(\"errorClick\", \"ETA Time is required\");\r\n return false;\r\n }\r\n });\r\n var ShipmentsId = [];\r\n var ETADates = [];\r\n customers.map((customer, index) => {\r\n ShipmentsId.push(customer.id);\r\n ETADates.push(\r\n new Date(\r\n document.getElementById(`ETA${index}`).value +\r\n \"Z\" +\r\n document.getElementById(`ETATime${index}`).value\r\n )\r\n );\r\n });\r\n setLoadingchangeDespatchStatus(true);\r\n var myHeaders = new Headers();\r\n myHeaders.append(\"Authorization\", `bearer ${db.read().getState().Token}`);\r\n myHeaders.append(\"Content-Type\", \"application/json\");\r\n myHeaders.append(\"X-FP-API-KEY\", \"iphone\");\r\n var raw = JSON.stringify({\r\n ShipmentIds: ShipmentsId,\r\n ShipmentStatus: 7,\r\n EtaDates: ETADates,\r\n });\r\n var requestOptions = {\r\n method: \"POST\",\r\n headers: myHeaders,\r\n body: raw,\r\n redirect: \"follow\",\r\n };\r\n fetch(\r\n window.$apiurl + `/transportation/shipment/updatestatus`,\r\n requestOptions\r\n )\r\n .then(async (response) => {\r\n if (response.status === 200) {\r\n // window.$ReceiptsManagmentStatu = 18;\r\n Notification(\r\n \"success\",\r\n `Status of Shipment : [${customers.map(\r\n (customer) => customer.id + \", \"\r\n )}] has been changed successfully`\r\n );\r\n setLoadingchangeDespatchStatus(false);\r\n } else {\r\n Notification(\"errorClick\", \"invalid request\");\r\n setLoadingchangeDespatchStatus(false);\r\n }\r\n })\r\n .then((result) => {\r\n setShowModalPickUp(false);\r\n toggleDrawer(\"right\", false);\r\n setTimeout(() => {\r\n document.getElementById(\"kt_body\").style.overflow = \"scroll\";\r\n }, 500);\r\n applyFilter();\r\n })\r\n .catch((error) => console.log(\"error\", error));\r\n };\r\n //start submit modal SentInterModal\r\n const SubmitSentInterModalDetail = async () => {\r\n if (document.getElementById(\"DeliveryAptTime\").value === \"0\") {\r\n Notification(\"errorClick\", \"Pick up Appointment Time is required\");\r\n return;\r\n }\r\n if (document.getElementById(\"PickupAptTime\").value === \"0\") {\r\n Notification(\"errorClick\", \"Pick up Appointment To Time is required\");\r\n return;\r\n }\r\n var DeliveryAptDate = new Date(\r\n document.getElementById(\"PickupAptDate\").value +\r\n \"Z\" +\r\n document.getElementById(\"DeliveryAptTime\").value\r\n );\r\n var PickupAptDate = new Date(\r\n document.getElementById(\"PickupAptDate\").value +\r\n \"Z\" +\r\n document.getElementById(\"PickupAptTime\").value\r\n );\r\n setLoadingchangeDespatchStatus(true);\r\n var ShipmentsId = [];\r\n customers.map((customer) => ShipmentsId.push(customer.id));\r\n var myHeaders = new Headers();\r\n myHeaders.append(\"Authorization\", `bearer ${db.read().getState().Token}`);\r\n myHeaders.append(\"Content-Type\", \"application/json\");\r\n myHeaders.append(\"X-FP-API-KEY\", \"iphone\");\r\n var raw = JSON.stringify({\r\n ShipmentIds: ShipmentsId,\r\n ShipmentStatus: 62,\r\n PickupOnDate: DeliveryAptDate,\r\n PickupToDate: PickupAptDate,\r\n });\r\n var requestOptions = {\r\n method: \"POST\",\r\n headers: myHeaders,\r\n body: raw,\r\n redirect: \"follow\",\r\n };\r\n fetch(\r\n window.$apiurl + `/transportation/shipment/updatestatus`,\r\n requestOptions\r\n )\r\n .then(async (response) => {\r\n if (response.status === 200) {\r\n // window.$ReceiptsManagmentStatu = 18;\r\n Notification(\r\n \"success\",\r\n `Status of Receipts : [${customers.map(\r\n (customer) => customer.id + \", \"\r\n )}] has been changed successfully`\r\n );\r\n setLoadingchangeDespatchStatus(false);\r\n } else {\r\n Notification(\"errorClick\", \"invalid request\");\r\n setLoadingchangeDespatchStatus(false);\r\n }\r\n })\r\n .then((result) => {\r\n setShowModalSentInterModal(false);\r\n toggleDrawer(\"right\", false);\r\n setTimeout(() => {\r\n document.getElementById(\"kt_body\").style.overflow = \"scroll\";\r\n }, 500);\r\n document.getElementById(\"ReLoadTableId\").click();\r\n })\r\n .catch((error) => console.log(\"error\", error));\r\n };\r\n //SendDespatchEmail**************************\r\n const SendDespatchEmail = async () => {\r\n ///shipments/actions/senddispatchemail\r\n setLoadingchangeDespatchStatus(true);\r\n var ShipmentsId = [];\r\n customers.map((customer) => ShipmentsId.push(customer.id));\r\n var myHeaders = new Headers();\r\n myHeaders.append(\"Authorization\", `bearer ${db.read().getState().Token}`);\r\n myHeaders.append(\"Content-Type\", \"application/json\");\r\n myHeaders.append(\"X-FP-API-KEY\", \"iphone\");\r\n var raw = JSON.stringify({\r\n ShipmentIds: ShipmentsId,\r\n Notes: ckEditorData,\r\n });\r\n var requestOptions = {\r\n method: \"POST\",\r\n headers: myHeaders,\r\n body: raw,\r\n redirect: \"follow\",\r\n };\r\n fetch(\r\n window.$apiurl + `/shipments/actions/senddispatchemail`,\r\n requestOptions\r\n )\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n const contentType = response.headers.get(\"content-type\");\r\n if (contentType && contentType.indexOf(\"application/json\") !== -1) {\r\n return response.json().then((data) => [statusCode, data]);\r\n } else {\r\n return response.text().then((text) => [statusCode, { Message: \"\" }]);\r\n }\r\n })\r\n .then((result) => {\r\n if (result[0] === 200) {\r\n // window.$ShipmentManagementStatus = 4;\r\n // window.$ShipmentManagementStatusName = \"Dispatched\";\r\n setShowModalDespatch(false);\r\n toggleDrawer(\"right\", false);\r\n setTimeout(() => {\r\n document.getElementById(\"kt_body\").style.overflow = \"scroll\";\r\n }, 500);\r\n document.getElementById(\"ReLoadTableId\").click();\r\n var checkboxes = new Array();\r\n checkboxes = document.getElementsByTagName(\"input\");\r\n for (var i = 0; i < checkboxes.length; i++) {\r\n if (checkboxes[i].type == \"checkbox\") {\r\n checkboxes[i].checked = false;\r\n }\r\n }\r\n\r\n if (\r\n result[1].Message !== null &&\r\n result[1].Message !== undefined &&\r\n result[1].Message !== \"\"\r\n ) {\r\n Notification(\"errorClick\", result[1].Message);\r\n Notification(\r\n \"success\",\r\n `Status of shipments : [${customers.map(\r\n (customer) => customer.id + \", \"\r\n )}] has been changed successfully`\r\n );\r\n } else {\r\n Notification(\r\n \"success\",\r\n `Status of shipments : [${customers.map(\r\n (customer) => customer.id + \", \"\r\n )}] has been changed successfully`\r\n );\r\n }\r\n setLoadingchangeDespatchStatus(false);\r\n setTimeout(() => {\r\n document.getElementById(\"kt_body\").style.overflow = \"scroll\";\r\n }, 500);\r\n } else {\r\n Notification(\"errorClick\", \"invalid request\");\r\n setLoadingchangeDespatchStatus(false);\r\n setTimeout(() => {\r\n document.getElementById(\"kt_body\").style.overflow = \"scroll\";\r\n }, 500);\r\n }\r\n })\r\n .catch((error) => console.log(\"error\", error));\r\n };\r\n\r\n const fullList = (side) => (\r\n \r\n \r\n {/*begin::Header*/}\r\n \r\n {/*begin::Header*/}\r\n\r\n

Select an Action For

\r\n \r\n \r\n \r\n {/* start preview Modal */}\r\n \r\n \r\n \r\n Dispatched Order\r\n \r\n {\r\n setShowModalPreviewDispatched(false);\r\n setTimeout(() => {\r\n document.getElementById(\"kt_body\").style.overflow =\r\n \"scroll\";\r\n }, 500);\r\n document.getElementById(\"ReLoadTableId\").click();\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n

\r\n Shipments Number\r\n

\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n {formData?.length > 0 &&\r\n formData?.map((frmData, index) => (\r\n \r\n {formData && (\r\n
\r\n
\r\n
\r\n {/* First Data */}\r\n {String(\r\n window.$ShipmentManagementModeId\r\n ) === \"3\" ||\r\n String(\r\n window.$ShipmentManagementModeId\r\n ) === \"2\" ? (\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n {frmData.Title}\r\n \r\n

\r\n {\r\n frmData.BillTo\r\n ?.Name\r\n }\r\n

\r\n {frmData.BillTo\r\n ?.Address1 ===\r\n undefined\r\n ? \" \"\r\n : frmData.BillTo\r\n ?.Address1}\r\n {(frmData.BillTo\r\n ?.Address2 ===\r\n undefined) |\r\n (frmData.BillTo\r\n ?.Address2 ===\r\n null)\r\n ? \" \"\r\n : frmData.BillTo\r\n ?.Address2}\r\n

\r\n {frmData.BillTo\r\n ?.City ===\r\n undefined\r\n ? \" \"\r\n : frmData.BillTo\r\n ?.City}\r\n ,{\" \"}\r\n {frmData.BillTo\r\n ?.State ===\r\n undefined\r\n ? \" \"\r\n : frmData.BillTo\r\n ?.State}{\" \"}\r\n {frmData.BillTo\r\n ?.ZipCode ===\r\n undefined\r\n ? \" \"\r\n : frmData.BillTo\r\n ?.ZipCode}\r\n

\r\n {frmData.BillTo\r\n ?.Phone ===\r\n undefined\r\n ? \" \"\r\n : frmData.BillTo\r\n ?.Phone}\r\n

\r\n {frmData.BillTo\r\n ?.Reference ===\r\n undefined\r\n ? \" \"\r\n : frmData.BillTo\r\n ?.Reference}\r\n

\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n Carrier Name\r\n \r\n PickUp Date{\" \"}\r\n \r\n Delivery Date\r\n \r\n Shipment Id\r\n \r\n Equipment Number\r\n \r\n Shipper Ref\r\n
\r\n {\r\n frmData.CarrierName\r\n }\r\n \r\n {formatDate(\r\n frmData.ReadyDate\r\n )}\r\n \r\n {formatDate(\r\n frmData.DateNeeded\r\n )}\r\n \r\n {\r\n frmData.LoadNumber\r\n }\r\n \r\n {\r\n frmData.Equipment\r\n }\r\n \r\n {\r\n frmData.ShipperRef\r\n }\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n Service\r\n \r\n Mode\r\n \r\n Service Level\r\n \r\n Equipment Size\r\n \r\n Equipment Type\r\n
\r\n {frmData.Service}\r\n \r\n {frmData.Mode}\r\n \r\n {\r\n frmData.ServiceLevel\r\n }\r\n \r\n {\r\n frmData.EquipmentSize\r\n }\r\n \r\n {\r\n frmData.EquipmentType\r\n }\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n Shipper\r\n Information\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n Name:{\" \"}\r\n \r\n
\r\n Address:{\" \"}\r\n \r\n
\r\n Contact:{\" \"}\r\n \r\n
\r\n Phone:{\" \"}\r\n \r\n
\r\n Pick Up Time\r\n From-To:{\" \"}\r\n \r\n
\r\n \r\n \r\n \r\n \r\n Consignee\r\n Information\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n Name:{\" \"}\r\n \r\n
\r\n Address:{\" \"}\r\n \r\n
\r\n Contact:{\" \"}\r\n \r\n
\r\n Phone:{\" \"}\r\n \r\n
\r\n Delivery Time\r\n From-To:{\" \"}\r\n \r\n
\r\n
\r\n
\r\n
\r\n {/* Items */}\r\n
\r\n

\r\n Shipment Items\r\n

\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n {/* */}\r\n \r\n {/* */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {/* */}\r\n \r\n {/* */}\r\n \r\n \r\n \r\n
\r\n PCS\r\n \r\n Package Type\r\n Pieces\r\n HAZMAT\r\n List of Items\r\n Total Weight (LBS)\r\n
\r\n {\r\n frmData.Items\r\n ?.handlingUnit\r\n }\r\n \r\n {\r\n frmData.Items\r\n ?.PackageType\r\n }\r\n {item.Pieces}\r\n \r\n {item.ListOfItems}\r\n {frmData.Items\r\n ?.TotalLBSWeight !==\r\n 0\r\n ? frmData.Items?.TotalLBSWeight?.toFixed(\r\n 2\r\n )\r\n : (frmData.Items?.TotalWeight).toFixed(\r\n 2\r\n )}\r\n
\r\n
\r\n
\r\n\r\n {/* Vendors */}\r\n
\r\n

\r\n Payables\r\n

\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {frmData.Vendors\r\n ?.length > 0 &&\r\n frmData.Vendors?.map(\r\n (item, index) =>\r\n item.Payables\r\n ?.length >\r\n 0 &&\r\n item.Payables?.map(\r\n (\r\n itemX,\r\n index\r\n ) => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n )\r\n )}\r\n {frmData.Vendors\r\n ?.length > 0 &&\r\n frmData.Vendors?.map(\r\n (item, index) => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n GRAND TOTAL\r\n \r\n \r\n \r\n )\r\n )}\r\n \r\n
\r\n Vendor Name\r\n \r\n Vendor Reference\r\n \r\n Name\r\n \r\n Rate\r\n \r\n Quantity\r\n \r\n Total\r\n
\r\n {\r\n item\r\n .VendorAddress\r\n ?.CompanyName\r\n }\r\n \r\n {\r\n item.VendorNumber\r\n }\r\n \r\n {\r\n itemX.Name\r\n }\r\n \r\n {itemX.Rate.toFixed(\r\n 2\r\n )}\r\n \r\n {\r\n itemX.Quantity\r\n }\r\n \r\n {itemX.Total.toFixed(\r\n 2\r\n )}\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n This\r\n confirmation\r\n governs the\r\n movement of the\r\n above-referenced\r\n freight as of\r\n the specified\r\n and hereby\r\n amends, is\r\n incorporated by\r\n reference and\r\n becomes a part\r\n of the certain\r\n transportation\r\n contract by and\r\n between “Broker”\r\n and “Contract\r\n carrier”.\r\n Carrier Agrees\r\n to sign the\r\n confirmation and\r\n return it to the\r\n broker via email\r\n and carrier\r\n shall be\r\n conclusively\r\n presumed and\r\n compensatory\r\n that the freight\r\n would not have\r\n been tendered to\r\n Carrier at\r\n higher rates and\r\n that not\r\n shipments\r\n handled under\r\n such rates will\r\n subsequently be\r\n subject to a\r\n later claim for\r\n undercharges. IF\r\n AGREED SERVICES\r\n ARE FULFILLED,\r\n RATES ARE NOT\r\n NEGOTIABLE.Carrier\r\n MUST email\r\n tracing@mitcoglobal.com\r\n For any pickup\r\n and delivery\r\n appointments\r\n that are\r\n required.\r\n Failure to\r\n comply with\r\n appointments\r\n will result in a\r\n penalty of\r\n $150.00 Per\r\n Appointment.\r\n \r\n

\r\n \r\n The undersigned\r\n accepts the\r\n referenced\r\n shipment on\r\n behalf of the\r\n carrier and\r\n acknowledge as\r\n correct the\r\n information\r\n contained\r\n herein, the\r\n carrier agrees\r\n to the terms of\r\n the Master\r\n agreement\r\n previously\r\n executed between\r\n our companies.\r\n Invoicing by the\r\n carrier and\r\n payment by Mitco\r\n Ltd.,\r\n constitutes\r\n acceptance of\r\n this agreement\r\n and creates a\r\n valid contract\r\n for carriage\r\n shipment.\r\n \r\n

\r\n \r\n When loading,\r\n the driver must\r\n count and\r\n inspect his/her\r\n load. The\r\n Driver/Carrier\r\n is responsible\r\n for piece count\r\n and condition of\r\n load at time of\r\n delivery.{\" \"}\r\n \r\n For payment of\r\n freight\r\n charges, we\r\n must receive\r\n original and\r\n signed Bill of\r\n lading and\r\n Proof of\r\n Delivery with\r\n a carrier\r\n invoice\r\n \r\n . Payment will\r\n be made 30 days\r\n after all\r\n required\r\n paperwork is\r\n received at\r\n Mitco Ltd.,\r\n facilities.\r\n Carrier will\r\n send a POD for\r\n load to\r\n tracing@mitcoglobal.com\r\n within 48 hours\r\n of delivery or\r\n carrier will be\r\n assessed a $50\r\n late fee per day\r\n until received\r\n at that email.\r\n Carrier will\r\n send the invoice\r\n and POD to\r\n accounting@mitcoglobal.com.\r\n We are not\r\n responsible for\r\n Overweight. If\r\n Dimensions,\r\n Weight, Quantity\r\n or type of\r\n commodity are\r\n different than\r\n those consigned\r\n in our Load\r\n Confirmation\r\n Agreement, the\r\n carrier or\r\n Broker\r\n contracted MUST\r\n notify Mitco\r\n Ltd. Before\r\n picking up and\r\n request a\r\n WRITTEN\r\n AUTHORIZATION.\r\n Mitco Ltd. will\r\n not pay any\r\n extra charges\r\n without\r\n AUTHORIZATION,\r\n and will only\r\n approve changes\r\n to charges via\r\n revised rate\r\n confirmation. In\r\n and out times\r\n must be provided\r\n on POD for all\r\n pickup and\r\n deliveries.{\" \"}\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n Phone: (253)\r\n 245-2102 | Fax:\r\n (253) 891-0601\r\n

\r\n Please sign and\r\n return via email\r\n to ensure payment\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n Carrier\r\n Signature:\r\n \r\n ________________________\r\n \r\n \r\n Driver Name:\r\n {\" \"}\r\n \r\n {frmData.Vendors\r\n ?.length ===\r\n 0 ||\r\n frmData.Vendors ===\r\n undefined ||\r\n frmData\r\n .Vendors[0]\r\n .DriverName ===\r\n \"\" ||\r\n frmData\r\n .Vendors[0]\r\n .DriverName ===\r\n null\r\n ? \"________________________\"\r\n : frmData\r\n .Vendors[0]\r\n .DriverName}\r\n \r\n
\r\n \r\n Signature Date:\r\n \r\n ________________________\r\n \r\n \r\n Driver Phone#:\r\n {\" \"}\r\n \r\n {frmData.Vendors\r\n ?.length ===\r\n 0 ||\r\n frmData.Vendors ===\r\n undefined ||\r\n frmData\r\n .Vendors[0]\r\n .DriverPhone ===\r\n \"\" ||\r\n frmData\r\n .Vendors[0]\r\n .DriverPhone ===\r\n null\r\n ? \" ________________________\"\r\n : frmData\r\n .Vendors[0]\r\n .DriverPhone}\r\n \r\n
\r\n MC#:{\" \"}\r\n \r\n {\r\n frmData.MCNumber\r\n }\r\n \r\n \r\n \r\n Truck Number:\r\n {\" \"}\r\n \r\n {frmData.Vendors\r\n ?.length ===\r\n 0 ||\r\n frmData.Vendors ===\r\n undefined ||\r\n frmData\r\n .Vendors[0]\r\n .TruckNumber ===\r\n \"\" ||\r\n frmData\r\n .Vendors[0]\r\n .TruckNumber ===\r\n null\r\n ? \" ________________________\"\r\n : frmData\r\n .Vendors[0]\r\n .TruckNumber}\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n Please call\r\n (253) 245-2102\r\n immediately with\r\n any questions,\r\n concerns, or\r\n problems!\r\n

\r\n Send Invoicing\r\n to: Mitco Limited\r\n Logistics. |2302 B Street NW #101\r\n | Auburn, WA. 98001\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n ) : String(\r\n window.$ShipmentManagementModeId\r\n ) === \"1\" ? (\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n {formData.Title}\r\n \r\n

\r\n {\r\n formData.From\r\n ?.Name\r\n }\r\n

\r\n {formData.From\r\n ?.Address1 ===\r\n null\r\n ? \" \"\r\n : formData.From\r\n ?.Address1}\r\n {(formData.From\r\n ?.Address2 ===\r\n null) |\r\n (formData.From\r\n ?.Address2 ===\r\n null)\r\n ? \" \"\r\n : formData.From\r\n ?.Address2}\r\n

\r\n {formData.From\r\n ?.City === null\r\n ? \" \"\r\n : formData.From\r\n ?.City}\r\n ,{\" \"}\r\n {formData.From\r\n ?.State === null\r\n ? \" \"\r\n : formData.From\r\n ?.State}{\" \"}\r\n {formData.From\r\n ?.ZipCode ===\r\n null\r\n ? \" \"\r\n : formData.From\r\n ?.ZipCode}\r\n

\r\n {formData.From\r\n ?.Phone === null\r\n ? \" \"\r\n : formData.From\r\n ?.Phone}\r\n

\r\n {formData.From\r\n ?.Reference ===\r\n null\r\n ? \" \"\r\n : formData.From\r\n ?.Reference}\r\n

\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n PickUp Date\r\n \r\n Delivery Date\r\n \r\n Shipment Id\r\n \r\n Shipment Ref{\" \"}\r\n
\r\n {formatDate(\r\n formData.PickUpDate\r\n )}\r\n \r\n {formatDate(\r\n formData.DeliveryDate\r\n )}\r\n \r\n {\r\n formData.ShipmentId\r\n }\r\n \r\n {\r\n formData.ShipmentRef\r\n }\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n Service\r\n \r\n Mode\r\n \r\n Service Level\r\n \r\n Equipment Size\r\n \r\n Equipment Type\r\n
\r\n {formData.Service}\r\n \r\n {formData.Mode}\r\n \r\n {\r\n formData.ServiceLevel\r\n }\r\n \r\n {\r\n formData.EquipmentSize\r\n }\r\n \r\n {\r\n formData.EquipmentType\r\n }\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n PICKUP\r\n Information\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n Name:{\" \"}\r\n \r\n
\r\n Address:{\" \"}\r\n \r\n
\r\n Contact:{\" \"}\r\n \r\n
\r\n Phone:{\" \"}\r\n \r\n
\r\n Pick Up Time\r\n From-To:{\" \"}\r\n \r\n
\r\n \r\n \r\n \r\n \r\n DELIVERY\r\n Information\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n Name:{\" \"}\r\n \r\n
\r\n Address:{\" \"}\r\n \r\n
\r\n Contact:{\" \"}\r\n \r\n
\r\n Phone:{\" \"}\r\n \r\n
\r\n Delivery Time\r\n From-To:{\" \"}\r\n \r\n
\r\n
\r\n
\r\n
\r\n {/* Items */}\r\n
\r\n

\r\n Shipment Items\r\n

\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n {/* */}\r\n \r\n {/* */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {/* */}\r\n \r\n {/* */}\r\n \r\n \r\n \r\n
\r\n PCS\r\n \r\n Package Type\r\n Pieces\r\n HAZMAT\r\n List of Items\r\n Total Weight (LBS)\r\n
\r\n {\r\n formData.Items\r\n ?.handlingUnit\r\n }\r\n \r\n {\r\n formData.Items\r\n ?.PackageType\r\n }\r\n {item.Pieces}\r\n \r\n {item.ListOfItems}\r\n {formData.Items\r\n ?.TotalLBSWeight !==\r\n 0\r\n ? formData.Items\r\n ?.TotalLBSWeight\r\n : (formData.Items?.TotalWeight).toFixed(\r\n 2\r\n )}\r\n
\r\n
\r\n
\r\n\r\n {/* Vendors */}\r\n
\r\n

\r\n Payables\r\n

\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {formData.Vendors\r\n ?.length > 0 &&\r\n formData.Vendors?.map(\r\n (item, index) =>\r\n item.Payables\r\n ?.length >\r\n 0 &&\r\n item.Payables?.map(\r\n (\r\n itemX,\r\n index\r\n ) => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n )\r\n )}\r\n {formData.Vendors\r\n ?.length > 0 &&\r\n formData.Vendors?.map(\r\n (item, index) => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n GRAND TOTAL\r\n \r\n \r\n \r\n )\r\n )}\r\n \r\n
\r\n Vendor Name\r\n \r\n Vendor Reference\r\n \r\n Name\r\n \r\n Rate\r\n \r\n Quantity\r\n \r\n Total\r\n
\r\n {\r\n item\r\n .VendorAddress\r\n ?.CompanyName\r\n }\r\n \r\n {\r\n item.VendorNumber\r\n }\r\n \r\n {\r\n itemX.Name\r\n }\r\n \r\n {itemX.Rate.toFixed(\r\n 2\r\n )}\r\n \r\n {\r\n itemX.Quantity\r\n }\r\n \r\n {itemX.Total.toFixed(\r\n 2\r\n )}\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n PICKUP\r\n INSTRUCTIONS:\r\n \r\n

{\" \"}\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n DELIVERY\r\n INSTRUCTIONS\r\n \r\n

\r\n {\r\n formData.DeliveryInstructions\r\n }\r\n

\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n Mitco Ltd. must be\r\n notified of\r\n detention 1⁄2 hour\r\n before it starts\r\n and documentation\r\n within 48 hours.\r\n BOL must have time\r\n in and out and\r\n facilities\r\n signature.\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n CARRIER COST:\r\n {\" \"}\r\n $\r\n {\r\n formData.CarrierCost\r\n }{\" \"}\r\n Accepted:________________________________\r\n Date:____________________\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n Phone: (253)\r\n 245-2102 | Fax:\r\n (253) 891-0601\r\n

\r\n Please sign and\r\n return via email\r\n to ensure payment\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n Please call\r\n (253) 245-2102\r\n immediately with\r\n any questions,\r\n concerns, or\r\n problems!\r\n

\r\n Send Invoicing\r\n to: Mitco Limited\r\n Logistics. |\r\n 2302 B Street NW #101\r\n | Auburn, WA. 98001\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n ) : (\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n {formData.Title}\r\n \r\n

\r\n {\r\n formData.BillTo\r\n ?.Name\r\n }\r\n

\r\n {formData.BillTo\r\n ?.Address1 ===\r\n undefined\r\n ? \" \"\r\n : formData\r\n .BillTo\r\n ?.Address1}\r\n {(formData.BillTo\r\n ?.Address2 ===\r\n undefined) |\r\n (formData.BillTo\r\n ?.Address2 ===\r\n null)\r\n ? \" \"\r\n : formData\r\n .BillTo\r\n ?.Address2}\r\n

\r\n {formData.BillTo\r\n ?.City ===\r\n undefined\r\n ? \" \"\r\n : formData\r\n .BillTo\r\n ?.City}\r\n ,{\" \"}\r\n {formData.BillTo\r\n ?.State ===\r\n undefined\r\n ? \" \"\r\n : formData\r\n .BillTo\r\n ?.State}{\" \"}\r\n {formData.BillTo\r\n ?.ZipCode ===\r\n undefined\r\n ? \" \"\r\n : formData\r\n .BillTo\r\n ?.ZipCode}\r\n

\r\n {formData.BillTo\r\n ?.Phone ===\r\n undefined\r\n ? \" \"\r\n : formData\r\n .BillTo\r\n ?.Phone}\r\n

\r\n {formData.BillTo\r\n ?.Reference ===\r\n undefined\r\n ? \" \"\r\n : formData\r\n .BillTo\r\n ?.Reference}\r\n

\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n Carrier Name\r\n \r\n PickUp Date{\" \"}\r\n \r\n Delivery Date\r\n \r\n Shipment Id\r\n \r\n Equipment Number\r\n \r\n Shipper Ref\r\n
\r\n {\r\n formData.CarrierName\r\n }\r\n \r\n {formatDate(\r\n formData.ReadyDate\r\n )}\r\n \r\n {formatDate(\r\n formData.DateNeeded\r\n )}\r\n \r\n {\r\n formData.LoadNumber\r\n }\r\n \r\n {\r\n formData.Equipment\r\n }\r\n \r\n {\r\n formData.ShipperRef\r\n }\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n Service\r\n \r\n Mode\r\n \r\n Service Level\r\n \r\n Equipment Size\r\n \r\n Equipment Type\r\n
\r\n {formData.Service}\r\n \r\n {formData.Mode}\r\n \r\n {\r\n formData.ServiceLevel\r\n }\r\n \r\n {\r\n formData.EquipmentSize\r\n }\r\n \r\n {\r\n formData.EquipmentType\r\n }\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n Shipper\r\n Information\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n Name:{\" \"}\r\n {\r\n formData\r\n .Shipper\r\n ?.ShipperAddress\r\n ?.Name\r\n }\r\n
\r\n Address:{\" \"}\r\n {IsValidAddress(\r\n formData\r\n .Shipper\r\n ?.ShipperAddress\r\n ?.Address1,\r\n true\r\n ) +\r\n IsValidAddress(\r\n formData.Shipper?.ShipperAddress?.City.replace(\r\n / /g,\r\n \"\"\r\n ),\r\n false\r\n ) +\r\n IsValidAddress(\r\n formData\r\n .Shipper\r\n ?.ShipperAddress\r\n ?.State,\r\n false\r\n ) +\r\n IsValidAddress(\r\n formData\r\n .Shipper\r\n ?.ShipperAddress\r\n ?.ZipCode,\r\n false\r\n )}\r\n
\r\n Contact:{\" \"}\r\n {\r\n formData\r\n .Shipper\r\n ?.Contact\r\n }\r\n
\r\n Phone:{\" \"}\r\n {\r\n formData\r\n .Shipper\r\n ?.Phone\r\n }\r\n
\r\n Pick Up Time\r\n From-To:{\" \"}\r\n {tConvert(\r\n formData\r\n .Shipper\r\n ?.ReadyTime\r\n )}\r\n
\r\n \r\n \r\n \r\n \r\n Consignee\r\n Information\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n Name:{\" \"}\r\n {\r\n formData\r\n .Consignee\r\n ?.ShipperAddress\r\n ?.Name\r\n }\r\n
\r\n Address:{\" \"}\r\n {IsValidAddress(\r\n formData\r\n .Consignee\r\n ?.ShipperAddress\r\n ?.Address1,\r\n true\r\n ) +\r\n IsValidAddress(\r\n formData.Consignee?.ShipperAddress?.City.replace(\r\n / /g,\r\n \"\"\r\n ),\r\n false\r\n ) +\r\n IsValidAddress(\r\n formData\r\n .Consignee\r\n ?.ShipperAddress\r\n ?.State,\r\n false\r\n ) +\r\n IsValidAddress(\r\n formData\r\n .Consignee\r\n ?.ShipperAddress\r\n ?.ZipCode,\r\n false\r\n )}\r\n
\r\n Contact:{\" \"}\r\n {(formData\r\n .Consignee\r\n ?.Contact ===\r\n undefined) |\r\n (formData\r\n .Consignee\r\n ?.Contact ===\r\n null)\r\n ? \" \"\r\n : formData\r\n .Consignee\r\n ?.Contact}\r\n
\r\n Phone:{\" \"}\r\n {(formData\r\n .Consignee\r\n ?.Phone ===\r\n undefined) |\r\n (formData\r\n .Consignee\r\n ?.Phone ===\r\n null)\r\n ? \" \"\r\n : formData\r\n .Consignee\r\n ?.Phone}\r\n
\r\n Delivery Time\r\n From-To:{\" \"}\r\n {tConvert(\r\n formData\r\n .Consignee\r\n ?.CloseTime\r\n )}\r\n
\r\n
\r\n
\r\n
\r\n {/* Items */}\r\n
\r\n

\r\n Shipment Items\r\n

\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n {/* */}\r\n \r\n {/* */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {/* */}\r\n \r\n {/* */}\r\n \r\n \r\n \r\n
\r\n PCS\r\n \r\n Package Type\r\n Pieces\r\n HAZMAT\r\n List of Items\r\n Total Weight (LBS)\r\n
\r\n {\r\n formData.Items\r\n ?.handlingUnit\r\n }\r\n \r\n {\r\n formData.Items\r\n ?.PackageType\r\n }\r\n {item.Pieces}\r\n \r\n {item.ListOfItems}\r\n {formData.Items\r\n ?.TotalLBSWeight !==\r\n 0\r\n ? currencyFormat(\r\n formData\r\n .Items\r\n ?.TotalLBSWeight\r\n )\r\n : currencyFormat(\r\n formData\r\n .Items\r\n ?.TotalWeight\r\n )}\r\n
\r\n
\r\n
\r\n\r\n {/* Vendors */}\r\n
\r\n

\r\n Payables\r\n

\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {formData.Vendors\r\n ?.length > 0 &&\r\n formData.Vendors?.map(\r\n (item, index) =>\r\n item.Payables\r\n ?.length >\r\n 0 &&\r\n item.Payables?.map(\r\n (\r\n itemX,\r\n index\r\n ) => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n )\r\n )}\r\n {formData.Vendors\r\n ?.length > 0 &&\r\n formData.Vendors?.map(\r\n (item, index) => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n GRAND TOTAL\r\n \r\n \r\n {\"$ \" +\r\n currencyFormat(\r\n item.Total\r\n )}\r\n \r\n \r\n )\r\n )}\r\n \r\n
\r\n Carrier Name\r\n \r\n Carrier Reference\r\n \r\n Name\r\n \r\n Rate\r\n \r\n Quantity\r\n \r\n Total\r\n
\r\n {\r\n item\r\n .VendorAddress\r\n ?.CompanyName\r\n }\r\n \r\n {\r\n item.VendorNumber\r\n }\r\n \r\n {\r\n itemX.Name\r\n }\r\n \r\n {currencyFormat(\r\n itemX.Rate\r\n )}\r\n \r\n {\r\n itemX.Quantity\r\n }\r\n \r\n {currencyFormat(\r\n itemX.Total\r\n )}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n This\r\n confirmation\r\n governs the\r\n movement of the\r\n above-referenced\r\n freight as of\r\n the specified\r\n and hereby\r\n amends, is\r\n incorporated by\r\n reference and\r\n becomes a part\r\n of the certain\r\n transportation\r\n contract by and\r\n between “Broker”\r\n and “Contract\r\n carrier”.\r\n Carrier Agrees\r\n to sign the\r\n confirmation and\r\n return it to the\r\n broker via email\r\n and carrier\r\n shall be\r\n conclusively\r\n presumed and\r\n compensatory\r\n that the freight\r\n would not have\r\n been tendered to\r\n Carrier at\r\n higher rates and\r\n that not\r\n shipments\r\n handled under\r\n such rates will\r\n subsequently be\r\n subject to a\r\n later claim for\r\n undercharges. IF\r\n AGREED SERVICES\r\n ARE FULFILLED,\r\n RATES ARE NOT\r\n NEGOTIABLE.Carrier\r\n MUST email\r\n tracing@mitcoglobal.com\r\n For any pickup\r\n and delivery\r\n appointments\r\n that are\r\n required.\r\n Failure to\r\n comply with\r\n appointments\r\n will result in a\r\n penalty of\r\n $150.00 Per\r\n Appointment.\r\n \r\n

\r\n \r\n The undersigned\r\n accepts the\r\n referenced\r\n shipment on\r\n behalf of the\r\n carrier and\r\n acknowledge as\r\n correct the\r\n information\r\n contained\r\n herein, the\r\n carrier agrees\r\n to the terms of\r\n the Master\r\n agreement\r\n previously\r\n executed between\r\n our companies.\r\n Invoicing by the\r\n carrier and\r\n payment by Mitco\r\n Ltd.,\r\n constitutes\r\n acceptance of\r\n this agreement\r\n and creates a\r\n valid contract\r\n for carriage\r\n shipment.\r\n \r\n

\r\n \r\n When loading,\r\n the driver must\r\n count and\r\n inspect his/her\r\n load. The\r\n Driver/Carrier\r\n is responsible\r\n for piece count\r\n and condition of\r\n load at time of\r\n delivery.{\" \"}\r\n \r\n For payment of\r\n freight\r\n charges, we\r\n must receive\r\n original and\r\n signed Bill of\r\n lading and\r\n Proof of\r\n Delivery with\r\n a carrier\r\n invoice\r\n \r\n . Payment will\r\n be made 30 days\r\n after all\r\n required\r\n paperwork is\r\n received at\r\n Mitco Ltd.,\r\n facilities.\r\n Carrier will\r\n send a POD for\r\n load to\r\n tracing@mitcoglobal.com\r\n within 48 hours\r\n of delivery or\r\n carrier will be\r\n assessed a $50\r\n late fee per day\r\n until received\r\n at that email.\r\n Carrier will\r\n send the invoice\r\n and POD to\r\n accounting@mitcoglobal.com.\r\n We are not\r\n responsible for\r\n Overweight. If\r\n Dimensions,\r\n Weight, Quantity\r\n or type of\r\n commodity are\r\n different than\r\n those consigned\r\n in our Load\r\n Confirmation\r\n Agreement, the\r\n carrier or\r\n Broker\r\n contracted MUST\r\n notify Mitco\r\n Ltd. Before\r\n picking up and\r\n request a\r\n WRITTEN\r\n AUTHORIZATION.\r\n Mitco Ltd. will\r\n not pay any\r\n extra charges\r\n without\r\n AUTHORIZATION,\r\n and will only\r\n approve changes\r\n to charges via\r\n revised rate\r\n confirmation. In\r\n and out times\r\n must be provided\r\n on POD for all\r\n pickup and\r\n deliveries.{\" \"}\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n Phone: (253)\r\n 245-2102 | Fax:\r\n (253) 891-0601\r\n

\r\n Please sign and\r\n return via email\r\n to ensure payment\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n Carrier\r\n Signature:\r\n \r\n ________________________\r\n \r\n \r\n Driver Name:\r\n {\" \"}\r\n \r\n {formData\r\n .Vendors\r\n ?.length ===\r\n 0 ||\r\n formData.Vendors ===\r\n undefined ||\r\n formData\r\n .Vendors[0]\r\n .DriverName ===\r\n \"\" ||\r\n formData\r\n .Vendors[0]\r\n .DriverName ===\r\n null\r\n ? \"________________________\"\r\n : formData\r\n .Vendors[0]\r\n .DriverName}\r\n \r\n
\r\n \r\n Signature Date:\r\n \r\n ________________________\r\n \r\n \r\n Driver Phone#:\r\n {\" \"}\r\n \r\n {formData\r\n .Vendors\r\n ?.length ===\r\n 0 ||\r\n formData.Vendors ===\r\n undefined ||\r\n formData\r\n .Vendors[0]\r\n .DriverPhone ===\r\n \"\" ||\r\n formData\r\n .Vendors[0]\r\n .DriverPhone ===\r\n null\r\n ? \" ________________________\"\r\n : formData\r\n .Vendors[0]\r\n .DriverPhone}\r\n \r\n
\r\n MC#:{\" \"}\r\n \r\n {\r\n formData.MCNumber\r\n }\r\n \r\n \r\n \r\n Truck Number:\r\n {\" \"}\r\n \r\n {formData\r\n .Vendors\r\n ?.length ===\r\n 0 ||\r\n formData.Vendors ===\r\n undefined ||\r\n formData\r\n .Vendors[0]\r\n .TruckNumber ===\r\n \"\" ||\r\n formData\r\n .Vendors[0]\r\n .TruckNumber ===\r\n null\r\n ? \" ________________________\"\r\n : formData\r\n .Vendors[0]\r\n .TruckNumber}\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n Please call\r\n (253) 245-2102\r\n immediately with\r\n any questions,\r\n concerns, or\r\n problems!\r\n

\r\n Send Invoicing\r\n to: Mitco Limited\r\n Logistics. |2302\r\n B Street NW #101\r\n | Auburn, WA.\r\n 98001\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n )}\r\n
\r\n
\r\n
\r\n )}\r\n
\r\n ))}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n {\r\n fetch(\r\n `${window.$apiurl}/ShipmentActions/updateSingleStatusMultiShipment`,\r\n {\r\n method: \"post\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: `{\"Ids\":[${SelectShipmentIds.map(\r\n (a) => a.id\r\n )}],IsRollBack:true,KeepChanges:false}`,\r\n }\r\n )\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n const contentType = response.headers.get(\"content-type\");\r\n if (\r\n contentType &&\r\n contentType.indexOf(\"application/json\") !== -1\r\n ) {\r\n return response\r\n .json()\r\n .then((data) => [statusCode, data]);\r\n } else {\r\n return response\r\n .text()\r\n .then((text) => [statusCode, { Message: \"\" }]);\r\n }\r\n })\r\n .then((result) => {\r\n if (result[0] === 200) {\r\n if (\r\n result[1].Message !== null &&\r\n result[1].Message !== undefined &&\r\n result[1].Message !== \"\"\r\n ) {\r\n Notification(\"errorClick\", result[1].Message);\r\n } else {\r\n Notification(\r\n \"success\",\r\n \"Roll Back Status is successful\"\r\n );\r\n setShowModalPreviewDispatched(false);\r\n setTimeout(() => {\r\n document.getElementById(\"kt_body\").style.overflow =\r\n \"scroll\";\r\n }, 500);\r\n document.getElementById(\"ReLoadTableId\").click();\r\n }\r\n } else {\r\n if (\r\n result[1].Message !== null &&\r\n result[1].Message !== undefined &&\r\n result[1].Message !== \"\"\r\n ) {\r\n Notification(\"errorClick\", result[1].Message);\r\n setShowModalPreviewDispatched(false);\r\n setTimeout(() => {\r\n document.getElementById(\"kt_body\").style.overflow =\r\n \"scroll\";\r\n }, 500);\r\n } else {\r\n Notification(\"errorClick\", \"invalid request\");\r\n setShowModalPreviewDispatched(false);\r\n setTimeout(() => {\r\n document.getElementById(\"kt_body\").style.overflow =\r\n \"scroll\";\r\n }, 500);\r\n }\r\n }\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }}\r\n >\r\n Cancel changes\r\n \r\n {\r\n setShowModalPreviewDispatched(false);\r\n setTimeout(() => {\r\n document.getElementById(\"kt_body\").style.overflow =\r\n \"scroll\";\r\n }, 500);\r\n }}\r\n >\r\n Save without sending file\r\n \r\n {\r\n window.SendDispatchShipmentsList = SelectShipmentIds;\r\n setTimeout(() => {\r\n setShowModalPreviewDispatched(false);\r\n setShowSendEmail(true);\r\n // history.push(\r\n // `/ShipmentsManagement/${window.ShpmentsIdFrowSendEmail}/SendEmail`\r\n // );\r\n }, 200);\r\n }}\r\n >\r\n Send Dispatch file to Vendor\r\n \r\n \r\n \r\n\r\n setShowSendEmail(false)}\r\n />\r\n {/* end preview modal */}\r\n {/* appointed Modal */}\r\n \r\n \r\n \r\n Appointed Details\r\n \r\n {\r\n setShowModalAppointed(false);\r\n document.getElementsByClassName(\r\n \"MuiDrawer-modal\"\r\n )[0].style.visibility = \"visible\";\r\n setTimeout(() => {\r\n document.getElementById(\"kt_body\").style.overflow =\r\n \"scroll\";\r\n }, 500);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n Pickup On Date\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n Choose a Time\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n Delivery On Date\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n Choose a Time\r\n \r\n
\r\n
\r\n
\r\n \r\n {\r\n setShowModalAppointed(false);\r\n document.getElementsByClassName(\r\n \"MuiDrawer-modal\"\r\n )[0].style.visibility = \"visible\";\r\n setTimeout(() => {\r\n document.getElementById(\"kt_body\").style.overflow =\r\n \"scroll\";\r\n }, 500);\r\n }}\r\n className=\"btn btn-light btn-elevate\"\r\n >\r\n Cancel\r\n \r\n {\r\n SubmitAppointedDetail();\r\n }}\r\n className=\"btn btn-primary btn-elevate\"\r\n >\r\n Save changes\r\n {LoadingchangeDespatchStatus && (\r\n \r\n )}\r\n \r\n \r\n \r\n\r\n {/* end appointed Modal */}\r\n\r\n {/* Sent InterModal Modal */}\r\n \r\n \r\n \r\n Sent Details\r\n \r\n {\r\n ShowModalSentInterModal(false);\r\n document.getElementsByClassName(\r\n \"MuiDrawer-modal\"\r\n )[0].style.visibility = \"visible\";\r\n setTimeout(() => {\r\n document.getElementById(\"kt_body\").style.overflow =\r\n \"scroll\";\r\n }, 500);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n pick up Appointment Date\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n Choose On Time\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n Choose To Time\r\n \r\n
\r\n
\r\n
\r\n \r\n {\r\n ShowModalSentInterModal(false);\r\n document.getElementsByClassName(\r\n \"MuiDrawer-modal\"\r\n )[0].style.visibility = \"visible\";\r\n setTimeout(() => {\r\n document.getElementById(\"kt_body\").style.overflow =\r\n \"scroll\";\r\n }, 500);\r\n }}\r\n className=\"btn btn-light btn-elevate\"\r\n >\r\n Cancel\r\n \r\n {\r\n SubmitSentInterModalDetail();\r\n }}\r\n className=\"btn btn-primary btn-elevate\"\r\n >\r\n Save changes\r\n {LoadingchangeDespatchStatus && (\r\n \r\n )}\r\n \r\n \r\n \r\n\r\n {/* end Sent InterModal Modal */}\r\n {/* start PickUp Modal */}\r\n\r\n \r\n \r\n \r\n PickUp Details\r\n \r\n {\r\n setShowModalPickUp(false);\r\n document.getElementsByClassName(\r\n \"MuiDrawer-modal\"\r\n )[0].style.visibility = \"visible\";\r\n setTimeout(() => {\r\n document.getElementById(\"kt_body\").style.overflow =\r\n \"scroll\";\r\n }, 500);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n {customers.map((a, index) => {\r\n return (\r\n
\r\n
\r\n Shipment#: {a.id}\r\n
\r\n
\r\n \r\n \r\n ETA Date\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n Choose From Time\r\n \r\n
\r\n
\r\n );\r\n })}\r\n
\r\n
\r\n
\r\n \r\n {\r\n setShowModalPickUp(false);\r\n document.getElementsByClassName(\r\n \"MuiDrawer-modal\"\r\n )[0].style.visibility = \"visible\";\r\n setTimeout(() => {\r\n document.getElementById(\"kt_body\").style.overflow =\r\n \"scroll\";\r\n }, 500);\r\n }}\r\n className=\"btn btn-light btn-elevate\"\r\n >\r\n Cancel\r\n \r\n {\r\n PostPickUpStatus();\r\n }}\r\n className=\"btn btn-primary btn-elevate\"\r\n >\r\n Save changes\r\n {LoadingchangeDespatchStatus && (\r\n \r\n )}\r\n \r\n \r\n \r\n {/* end PickUp modal */}\r\n {/* start dispatched Modal */}\r\n\r\n \r\n \r\n \r\n Assigned Details\r\n \r\n {\r\n setShowModalBooked(false);\r\n setVandorSelectedData(null);\r\n setFreightChargeIdSelectedData(98);\r\n document.getElementsByClassName(\r\n \"MuiDrawer-modal\"\r\n )[0].style.visibility = \"visible\";\r\n setTimeout(() => {\r\n document.getElementById(\"kt_body\").style.overflow =\r\n \"scroll\";\r\n }, 500);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n {customers.map((a, index) => {\r\n return (\r\n
\r\n
\r\n Shipment#: {a.id}\r\n
\r\n
\r\n \r\n \r\n pick up Appointment Date\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n Choose From Time\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n Choose To Time\r\n \r\n
\r\n
\r\n );\r\n })}\r\n
\r\n
\r\n

Vendors

\r\n {\r\n var obj = { ...a };\r\n if (FreightChargeIdSelectedData === 98) {\r\n if (a.IsApproved === false) {\r\n return {\r\n value: obj?.value,\r\n label: obj?.label,\r\n color: \"red\",\r\n CarrierId: obj?.CarrierId,\r\n IsApproved: obj?.IsApproved,\r\n };\r\n } else {\r\n return {\r\n value: obj?.value,\r\n label: obj?.label,\r\n color: \"black\",\r\n CarrierId: obj?.CarrierId,\r\n IsApproved: obj?.IsApproved,\r\n };\r\n }\r\n } else {\r\n return {\r\n value: obj?.value,\r\n label: obj?.label,\r\n color: \"black\",\r\n CarrierId: obj?.CarrierId,\r\n IsApproved: obj?.IsApproved,\r\n };\r\n }\r\n })}\r\n value={\r\n VandorSelectedData !== null\r\n ? optionsVandorList.filter(\r\n (a) => a.value === VandorSelectedData\r\n )\r\n : optionsVandorList.filter(\r\n (a) =>\r\n a.value ===\r\n customers.filter(\r\n (customer) =>\r\n customer?.CarrierId !== null || \"\"\r\n )[0]?.CarrierId\r\n ) || \"\"\r\n }\r\n onChange={(event) => {\r\n setVandorSelectedData(event?.value);\r\n }}\r\n >\r\n {FreightChargeIdSelectedData === 98 &&\r\n (optionsVandorList?.filter(\r\n (a) => a.value === VandorSelectedData\r\n )[0]?.IsApproved === false ||\r\n optionsVandorList.filter(\r\n (a) =>\r\n a.value ===\r\n customers.filter(\r\n (customer) => customer?.CarrierId !== null || \"\"\r\n )[0]?.CarrierId\r\n )[0]?.IsApproved === false) ? (\r\n

\r\n This Vendor is not Certified\r\n

\r\n ) : (\r\n \"\"\r\n )}\r\n
\r\n
\r\n

Vendor Type

\r\n a.Id === VendorTypeIdSelectedData)\r\n .map((x) => {\r\n return {\r\n value: x?.Id,\r\n label: x?.Name,\r\n };\r\n })}\r\n options={optionsVandorTypeList.map((x) => {\r\n return {\r\n value: x?.Id,\r\n label: x?.Name,\r\n };\r\n })}\r\n onChange={(event) => {\r\n setVendorTypeIdSelectedData(event?.value);\r\n }}\r\n >\r\n
\r\n
\r\n

Freight Charge

\r\n {\r\n return {\r\n value: x?.Id,\r\n label: x?.Name,\r\n };\r\n })}\r\n onChange={(event) => {\r\n setFreightChargeIdSelectedData(event?.value);\r\n //setVandorSelectedData(null);\r\n }}\r\n >\r\n
\r\n {FreightChargeIdSelectedData === 100 ? (\r\n
\r\n

BillTo

\r\n {\r\n return {\r\n value: x?.Id,\r\n label: x?.Name + \"-\" + x?.Code,\r\n };\r\n })}\r\n onChange={(event) => {\r\n setBillToSelectedId(event?.value);\r\n }}\r\n >\r\n
\r\n ) : (\r\n \"\"\r\n )}\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n {\r\n setShowModalBooked(false);\r\n setVandorSelectedData(null);\r\n setFreightChargeIdSelectedData(98);\r\n document.getElementsByClassName(\r\n \"MuiDrawer-modal\"\r\n )[0].style.visibility = \"visible\";\r\n setTimeout(() => {\r\n document.getElementById(\"kt_body\").style.overflow =\r\n \"scroll\";\r\n }, 500);\r\n }}\r\n className=\"btn btn-light btn-elevate\"\r\n >\r\n Cancel\r\n \r\n {\r\n PostbookedchVandors();\r\n }}\r\n className=\"btn btn-primary btn-elevate\"\r\n >\r\n Save changes\r\n {LoadingchangeDespatchStatus && (\r\n \r\n )}\r\n \r\n \r\n \r\n {/* end dispatched modal */}\r\n\r\n {/* start dispatched Modal */}\r\n \r\n \r\n \r\n Dispatch Details\r\n \r\n {\r\n setShowModalDispatched(false);\r\n setVandorSelectedData(null);\r\n setFreightChargeIdSelectedData(98);\r\n setBillToSelectedId(null);\r\n document.getElementsByClassName(\r\n \"MuiDrawer-modal\"\r\n )[0].style.visibility = \"visible\";\r\n setTimeout(() => {\r\n document.getElementById(\"kt_body\").style.overflow =\r\n \"scroll\";\r\n }, 500);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n

Vendors

\r\n a.value === VandorSelectedData\r\n )\r\n : optionsVandorList.filter(\r\n (a) =>\r\n a.value ===\r\n customers.filter(\r\n (customer) => customer?.CarrierId !== null || \"\"\r\n )[0]?.CarrierId\r\n ) || \"\"\r\n }\r\n onChange={(event) => {\r\n setVandorSelectedData(event?.value);\r\n GetAttachements({ VendorId: event?.value });\r\n }}\r\n >\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n {\r\n setShowModalDispatched(false);\r\n setVandorSelectedData(null);\r\n setFreightChargeIdSelectedData(98);\r\n setBillToSelectedId(null);\r\n document.getElementsByClassName(\r\n \"MuiDrawer-modal\"\r\n )[0].style.visibility = \"visible\";\r\n setTimeout(() => {\r\n document.getElementById(\"kt_body\").style.overflow =\r\n \"scroll\";\r\n }, 500);\r\n }}\r\n className=\"btn btn-light btn-elevate\"\r\n >\r\n Cancel\r\n \r\n {\r\n PostDispatchVandors();\r\n }}\r\n className=\"btn btn-primary btn-elevate\"\r\n >\r\n Save changes\r\n {LoadingchangeDespatchStatus && (\r\n \r\n )}\r\n \r\n \r\n \r\n {/* end dispatched modal */}\r\n {/* start Loading Modal */}\r\n \r\n \r\n \r\n Loading Details\r\n \r\n {\r\n setShowModalLoading(false);\r\n document.getElementsByClassName(\r\n \"MuiDrawer-modal\"\r\n )[0].style.visibility = \"visible\";\r\n setTimeout(() => {\r\n document.getElementById(\"kt_body\").style.overflow =\r\n \"scroll\";\r\n }, 500);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n

Equipment Number

\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n {\r\n setShowModalLoading(false);\r\n document.getElementsByClassName(\r\n \"MuiDrawer-modal\"\r\n )[0].style.visibility = \"visible\";\r\n setTimeout(() => {\r\n document.getElementById(\"kt_body\").style.overflow =\r\n \"scroll\";\r\n }, 500);\r\n }}\r\n className=\"btn btn-light btn-elevate\"\r\n >\r\n Cancel\r\n \r\n {\r\n SubmitEqNumber(5);\r\n }}\r\n className=\"btn btn-primary btn-elevate\"\r\n >\r\n Save changes\r\n {LoadingchangeDespatchStatus && (\r\n \r\n )}\r\n \r\n \r\n \r\n {/* start Loading Modal */}\r\n \r\n \r\n \r\n Loaded Details\r\n \r\n {\r\n setShowModalLoaded(false);\r\n document.getElementsByClassName(\r\n \"MuiDrawer-modal\"\r\n )[0].style.visibility = \"visible\";\r\n setTimeout(() => {\r\n document.getElementById(\"kt_body\").style.overflow =\r\n \"scroll\";\r\n }, 500);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n

Seal Number

\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n {\r\n setShowModalLoaded(false);\r\n document.getElementsByClassName(\r\n \"MuiDrawer-modal\"\r\n )[0].style.visibility = \"visible\";\r\n setTimeout(() => {\r\n document.getElementById(\"kt_body\").style.overflow =\r\n \"scroll\";\r\n }, 500);\r\n }}\r\n className=\"btn btn-light btn-elevate\"\r\n >\r\n Cancel\r\n \r\n {\r\n SubmitEqNumber(6);\r\n }}\r\n className=\"btn btn-primary btn-elevate\"\r\n >\r\n Save changes\r\n {LoadingchangeDespatchStatus && (\r\n \r\n )}\r\n \r\n \r\n \r\n {/* end dispatched modal */}\r\n \r\n \r\n \r\n Dispatch Details\r\n \r\n {\r\n setShowModalDespatch(false);\r\n document.getElementsByClassName(\r\n \"MuiDrawer-modal\"\r\n )[0].style.visibility = \"visible\";\r\n setTimeout(() => {\r\n document.getElementById(\"kt_body\").style.overflow =\r\n \"scroll\";\r\n }, 500);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n
\r\n

Notes

\r\n {\r\n setckEditorData(editor.getData());\r\n }}\r\n />\r\n
\r\n
\r\n \r\n {\r\n setShowModalDespatch(false);\r\n document.getElementsByClassName(\r\n \"MuiDrawer-modal\"\r\n )[0].style.visibility = \"visible\";\r\n setTimeout(() => {\r\n document.getElementById(\"kt_body\").style.overflow =\r\n \"scroll\";\r\n }, 500);\r\n }}\r\n className=\"btn btn-light btn-elevate\"\r\n >\r\n Cancel\r\n \r\n {\r\n SendDespatchEmail();\r\n }}\r\n className=\"btn btn-primary btn-elevate\"\r\n >\r\n Save changes\r\n {LoadingchangeDespatchStatus && (\r\n \r\n )}\r\n \r\n \r\n \r\n
\r\n {/*end::Header*/}\r\n {/*begin::Content*/}\r\n

\r\n {\" \"}\r\n {customers.length === 0\r\n ? \"Please select Shipement\"\r\n : customers.map((customer) => customer.id + \", \")}\r\n

\r\n

\r\n {window.$ShipmentManagementStatus === \"\"\r\n ? \"Please select Status\"\r\n : \"\"}\r\n

\r\n \r\n
\r\n {/*begin::Item*/}\r\n {window.$ShipmentManagementStatus &&\r\n customers.length !== 0 &&\r\n DetailShipmentInfo.map((item, index) => {\r\n var __FOUND = customers.find(function(post, index) {\r\n if (post.FreightCharge === \"Prepaid\") return true;\r\n });\r\n if (item.StatusId !== window.$ShipmentManagementStatus) {\r\n if (\r\n index > 0 &&\r\n DetailShipmentInfo[index - 1].StatusId ===\r\n window.$ShipmentManagementStatus\r\n ) {\r\n return (\r\n {\r\n if (item.Name === \"Assigned\") {\r\n if (\r\n customers.filter((a) => a.IsOnHold === true)\r\n .length > 0\r\n ) {\r\n Notification(\"warning\", \"Customer is On Hold\");\r\n }\r\n getvandorsList();\r\n setShowModalBooked(true);\r\n setTimeout(() => {\r\n // document.getElementById(\r\n // \"DispatchedDateModal\"\r\n // ).parentNode.style.zIndex = \"1500\";\r\n document.getElementsByClassName(\r\n \"MuiDrawer-modal\"\r\n )[0].style.visibility = \"hidden\";\r\n }, 500);\r\n return;\r\n }\r\n if (item.Name === \"Appointed\") {\r\n if (\r\n customers.filter((a) => a.IsOnHold === true)\r\n .length > 0\r\n ) {\r\n Notification(\"warning\", \"Customer is On Hold\");\r\n }\r\n setShowModalAppointed(true);\r\n setTimeout(() => {\r\n document.getElementById(\r\n \"AppointedDateModal\"\r\n ).parentNode.style.zIndex = \"1500\";\r\n document.getElementsByClassName(\r\n \"MuiDrawer-modal\"\r\n )[0].style.visibility = \"hidden\";\r\n setTimeout(() => {\r\n document.getElementById(\r\n \"kt_body\"\r\n ).style.overflow = \"scroll\";\r\n }, 500);\r\n }, 500);\r\n return;\r\n }\r\n if (item.Name === \"Picked Up\") {\r\n if (\r\n customers.filter((a) => a.IsOnHold === true)\r\n .length > 0\r\n ) {\r\n Notification(\"warning\", \"Customer is On Hold\");\r\n }\r\n setShowModalPickUp(true);\r\n setTimeout(() => {\r\n document.getElementById(\r\n \"DispatchedDateModal\"\r\n ).parentNode.style.zIndex = \"1500\";\r\n document.getElementsByClassName(\r\n \"MuiDrawer-modal\"\r\n )[0].style.visibility = \"hidden\";\r\n setTimeout(() => {\r\n document.getElementById(\r\n \"kt_body\"\r\n ).style.overflow = \"scroll\";\r\n }, 500);\r\n }, 500);\r\n return;\r\n }\r\n if (item.StatusId === 62) {\r\n if (\r\n customers.filter((a) => a.IsOnHold === true)\r\n .length > 0\r\n ) {\r\n Notification(\"warning\", \"Customer is On Hold\");\r\n }\r\n setShowModalSentInterModal(true);\r\n setTimeout(() => {\r\n document.getElementById(\r\n \"AppointedDateModal\"\r\n ).parentNode.style.zIndex = \"1500\";\r\n document.getElementsByClassName(\r\n \"MuiDrawer-modal\"\r\n )[0].style.visibility = \"hidden\";\r\n setTimeout(() => {\r\n document.getElementById(\r\n \"kt_body\"\r\n ).style.overflow = \"scroll\";\r\n }, 500);\r\n }, 500);\r\n return;\r\n }\r\n if (\r\n (item.StatusId === 4 || item.StatusId === 60) &&\r\n DetailShipmentInfo[index - 1].StatusId === 3\r\n ) {\r\n if (\r\n customers.filter((a) => a.IsOnHold === true)\r\n .length > 0\r\n ) {\r\n Notification(\"error\", \"Customer is On Hold\");\r\n return;\r\n }\r\n if (\r\n !customers.every(\r\n (v) =>\r\n v.CustomerName === customers[0].CustomerName\r\n )\r\n ) {\r\n Notification(\r\n \"error\",\r\n \"shipments dosn't have same customer\"\r\n );\r\n return;\r\n }\r\n if (\r\n !customers.every(\r\n (v) =>\r\n v.CarrierCode === customers[0].CarrierCode\r\n )\r\n ) {\r\n Notification(\r\n \"error\",\r\n \"shipments dosn't have same Carrier\"\r\n );\r\n return;\r\n }\r\n getvandorsList();\r\n setShipmentStatusId(item.StatusId);\r\n setShowModalDispatched(true);\r\n //setShowModalDespatch(true);\r\n setTimeout(() => {\r\n // document.getElementById(\r\n // \"DispatchedDateModal\"\r\n // ).parentNode.style.zIndex = \"1500\";\r\n document.getElementsByClassName(\r\n \"MuiDrawer-modal\"\r\n )[0].style.visibility = \"hidden\";\r\n }, 500);\r\n return;\r\n }\r\n if (item.StatusId === 5) {\r\n if (\r\n customers.filter((a) => a.IsOnHold === true)\r\n .length > 0\r\n ) {\r\n Notification(\"warning\", \"Customer is On Hold\");\r\n }\r\n customers.map((customer) => {\r\n if (\r\n customer.EquipmentNumber === null ||\r\n customer.EquipmentNumber === \"\"\r\n ) {\r\n setShowModalLoading(true);\r\n setTimeout(() => {\r\n document.getElementById(\r\n \"LoadingLoadidModal\"\r\n ).parentNode.style.zIndex = \"1500\";\r\n document.getElementsByClassName(\r\n \"MuiDrawer-modal\"\r\n )[0].style.visibility = \"hidden\";\r\n }, 500);\r\n return;\r\n } else {\r\n submitShipmentStatus(item.StatusId, item.Name);\r\n document.getElementsByClassName(\r\n \"MuiDrawer-modal\"\r\n )[0].style.visibility = \"hidden\";\r\n toggleDrawer(side, false);\r\n setTimeout(() => {\r\n document.getElementById(\r\n \"kt_body\"\r\n ).style.overflow = \"scroll\";\r\n }, 500);\r\n return;\r\n }\r\n });\r\n return;\r\n }\r\n if (item.StatusId === 6) {\r\n if (\r\n customers.filter((a) => a.IsOnHold === true)\r\n .length > 0\r\n ) {\r\n Notification(\"warning\", \"Customer is On Hold\");\r\n }\r\n customers.map((customer) => {\r\n if (\r\n customer.SealNumber === null ||\r\n customer.SealNumber === \"\"\r\n ) {\r\n setShowModalLoaded(true);\r\n setTimeout(() => {\r\n document.getElementById(\r\n \"LoadingLoadidModal\"\r\n ).parentNode.style.zIndex = \"1500\";\r\n document.getElementsByClassName(\r\n \"MuiDrawer-modal\"\r\n )[0].style.visibility = \"hidden\";\r\n }, 500);\r\n return;\r\n } else {\r\n submitShipmentStatus(item.StatusId, item.Name);\r\n document.getElementsByClassName(\r\n \"MuiDrawer-modal\"\r\n )[0].style.visibility = \"hidden\";\r\n toggleDrawer(side, false);\r\n setTimeout(() => {\r\n document.getElementById(\r\n \"kt_body\"\r\n ).style.overflow = \"scroll\";\r\n }, 500);\r\n return;\r\n }\r\n });\r\n return;\r\n }\r\n submitShipmentStatus(item.StatusId, item.Name);\r\n document.getElementsByClassName(\r\n \"MuiDrawer-modal\"\r\n )[0].style.visibility = \"hidden\";\r\n toggleDrawer(side, false);\r\n setTimeout(() => {\r\n document.getElementById(\"kt_body\").style.overflow =\r\n \"scroll\";\r\n }, 500);\r\n }}\r\n >\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
{item.Name}
\r\n
\r\n
\r\n \r\n );\r\n } else {\r\n return (\r\n {\r\n if (item.Name === \"Assigned\") {\r\n if (\r\n customers.filter((a) => a.IsOnHold === true)\r\n .length > 0\r\n ) {\r\n Notification(\"warning\", \"Customer is On Hold\");\r\n }\r\n getvandorsList();\r\n setShowModalBooked(true);\r\n setTimeout(() => {\r\n // document.getElementById(\r\n // \"DispatchedDateModal\"\r\n // ).parentNode.style.zIndex = \"1500\";\r\n document.getElementsByClassName(\r\n \"MuiDrawer-modal\"\r\n )[0].style.visibility = \"hidden\";\r\n }, 500);\r\n return;\r\n }\r\n if (item.Name === \"Appointed\") {\r\n if (\r\n customers.filter((a) => a.IsOnHold === true)\r\n .length > 0\r\n ) {\r\n Notification(\"warning\", \"Customer is On Hold\");\r\n }\r\n setShowModalAppointed(true);\r\n setTimeout(() => {\r\n document.getElementById(\r\n \"AppointedDateModal\"\r\n ).parentNode.style.zIndex = \"1500\";\r\n document.getElementsByClassName(\r\n \"MuiDrawer-modal\"\r\n )[0].style.visibility = \"hidden\";\r\n setTimeout(() => {\r\n document.getElementById(\r\n \"kt_body\"\r\n ).style.overflow = \"scroll\";\r\n }, 500);\r\n }, 500);\r\n return;\r\n }\r\n if (item.Name === \"Picked Up\") {\r\n if (\r\n customers.filter((a) => a.IsOnHold === true)\r\n .length > 0\r\n ) {\r\n Notification(\"warning\", \"Customer is On Hold\");\r\n }\r\n setShowModalPickUp(true);\r\n setTimeout(() => {\r\n document.getElementById(\r\n \"DispatchedDateModal\"\r\n ).parentNode.style.zIndex = \"1500\";\r\n document.getElementsByClassName(\r\n \"MuiDrawer-modal\"\r\n )[0].style.visibility = \"hidden\";\r\n setTimeout(() => {\r\n document.getElementById(\r\n \"kt_body\"\r\n ).style.overflow = \"scroll\";\r\n }, 500);\r\n }, 500);\r\n return;\r\n }\r\n if (item.StatusId === 62) {\r\n if (\r\n customers.filter((a) => a.IsOnHold === true)\r\n .length > 0\r\n ) {\r\n Notification(\"warning\", \"Customer is On Hold\");\r\n }\r\n setShowModalSentInterModal(true);\r\n setTimeout(() => {\r\n document.getElementById(\r\n \"AppointedDateModal\"\r\n ).parentNode.style.zIndex = \"1500\";\r\n document.getElementsByClassName(\r\n \"MuiDrawer-modal\"\r\n )[0].style.visibility = \"hidden\";\r\n setTimeout(() => {\r\n document.getElementById(\r\n \"kt_body\"\r\n ).style.overflow = \"scroll\";\r\n }, 500);\r\n }, 500);\r\n return;\r\n }\r\n if (\r\n (item.StatusId === 4 || item.StatusId === 60) &&\r\n DetailShipmentInfo[index - 1].StatusId === 3\r\n ) {\r\n if (\r\n customers.filter((a) => a.IsOnHold === true)\r\n .length > 0\r\n ) {\r\n Notification(\"error\", \"Customer is On Hold\");\r\n return;\r\n }\r\n getvandorsList();\r\n setShipmentStatusId(item.StatusId);\r\n setShowModalDispatched(true);\r\n setTimeout(() => {\r\n // document.getElementById(\r\n // \"DispatchedDateModal\"\r\n // ).parentNode.style.zIndex = \"1500\";\r\n document.getElementsByClassName(\r\n \"MuiDrawer-modal\"\r\n )[0].style.visibility = \"hidden\";\r\n }, 500);\r\n return;\r\n }\r\n if (item.StatusId === 5) {\r\n if (\r\n customers.filter((a) => a.IsOnHold === true)\r\n .length > 0\r\n ) {\r\n Notification(\"warning\", \"Customer is On Hold\");\r\n }\r\n customers.map((customer) => {\r\n if (\r\n customer.EquipmentNumber === null ||\r\n customer.EquipmentNumber === \"\"\r\n ) {\r\n setShowModalLoading(true);\r\n setTimeout(() => {\r\n document.getElementById(\r\n \"LoadingLoadidModal\"\r\n ).parentNode.style.zIndex = \"1500\";\r\n document.getElementsByClassName(\r\n \"MuiDrawer-modal\"\r\n )[0].style.visibility = \"hidden\";\r\n }, 500);\r\n return;\r\n } else {\r\n submitShipmentStatus(item.StatusId, item.Name);\r\n document.getElementsByClassName(\r\n \"MuiDrawer-modal\"\r\n )[0].style.visibility = \"hidden\";\r\n toggleDrawer(side, false);\r\n setTimeout(() => {\r\n document.getElementById(\r\n \"kt_body\"\r\n ).style.overflow = \"scroll\";\r\n }, 500);\r\n return;\r\n }\r\n });\r\n return;\r\n }\r\n if (item.StatusId === 6) {\r\n if (\r\n customers.filter((a) => a.IsOnHold === true)\r\n .length > 0\r\n ) {\r\n Notification(\"warning\", \"Customer is On Hold\");\r\n }\r\n customers.map((customer) => {\r\n if (\r\n customer.SealNumber === null ||\r\n customer.SealNumber === \"\"\r\n ) {\r\n setShowModalLoaded(true);\r\n setTimeout(() => {\r\n document.getElementById(\r\n \"LoadingLoadidModal\"\r\n ).parentNode.style.zIndex = \"1500\";\r\n document.getElementsByClassName(\r\n \"MuiDrawer-modal\"\r\n )[0].style.visibility = \"hidden\";\r\n }, 500);\r\n return;\r\n } else {\r\n submitShipmentStatus(item.StatusId, item.Name);\r\n document.getElementsByClassName(\r\n \"MuiDrawer-modal\"\r\n )[0].style.visibility = \"hidden\";\r\n toggleDrawer(side, false);\r\n setTimeout(() => {\r\n document.getElementById(\r\n \"kt_body\"\r\n ).style.overflow = \"scroll\";\r\n }, 500);\r\n return;\r\n }\r\n });\r\n return;\r\n }\r\n submitShipmentStatus(item.StatusId, item.Name);\r\n document.getElementsByClassName(\r\n \"MuiDrawer-modal\"\r\n )[0].style.visibility = \"hidden\";\r\n toggleDrawer(side, false);\r\n setTimeout(() => {\r\n document.getElementById(\"kt_body\").style.overflow =\r\n \"scroll\";\r\n }, 500);\r\n }}\r\n >\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
{item.Name}
\r\n
\r\n
\r\n \r\n );\r\n }\r\n } else {\r\n return (\r\n {\r\n submitShipmentStatus(item.StatusId, item.Name);\r\n }}\r\n >\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
{item.Name}
\r\n
\r\n
\r\n \r\n );\r\n }\r\n })}\r\n {/*end:Item*/}\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n );\r\n\r\n return (\r\n
\r\n
    \r\n Actions}\r\n >\r\n
  • \r\n \r\n \r\n \r\n
  • \r\n \r\n
\r\n \r\n {fullList(\"right\")}\r\n \r\n
\r\n );\r\n}\r\n\r\nconst ChargesFunction = ({ type, customers, vendorId, VendorList = [] }) => {\r\n const [ChargeModel, setChargeModel] = useState(false);\r\n const [Charges, setCharges] = useState([]);\r\n const [ChargesN, setChargesN] = useState([]);\r\n const [loadingCharges, setloadingCharges] = useState(true);\r\n\r\n useEffect(() => {\r\n const vId = vendorId || 0;\r\n var a = VendorList.find((x) => x.value === vId);\r\n if (vId && vId !== 0 && a?.CarrierId && ShipmentsId[0]) {\r\n GetList();\r\n }\r\n }, [vendorId, VendorList]);\r\n\r\n var ShipmentsId = [];\r\n customers.map((customer) => ShipmentsId.push(customer.id));\r\n\r\n const GetPayableForVendor = ({\r\n customerId,\r\n serviceId,\r\n modeId,\r\n serviceLevelId,\r\n equipmentTypeId,\r\n equipmentSizeId,\r\n CarrierId,\r\n fromCity,\r\n toCity,\r\n Inbound,\r\n Payable,\r\n Payables,\r\n FromAddress,\r\n FromState,\r\n FromZipcode,\r\n ToAddress,\r\n ToState,\r\n ToZipcode,\r\n }) => {\r\n try {\r\n var myHeaders = new Headers();\r\n myHeaders.append(\"Authorization\", `bearer ${db.read().getState().Token}`);\r\n myHeaders.append(\"Content-Type\", \"application/json\");\r\n myHeaders.append(\"X-FP-API-KEY\", \"iphone\");\r\n var requestOptions = {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: myHeaders,\r\n redirect: \"follow\",\r\n };\r\n var carrierIdSt = VendorList.find((x) => x.value === vendorId)?.CarrierId;\r\n fetch(\r\n window.$apiurl +\r\n `/ordersRating/GetCharges?customerId=${customerId}&serviceId=${serviceId}&serviceLevelId=${serviceLevelId}&ModeId=${modeId}&isInbound=${Inbound}&isPayable=${Payable}&carrierId=${carrierIdSt}&equipmentTypeId=${equipmentTypeId}&equipmentSizeId=${equipmentSizeId}&fromCity=${fromCity}&fromAddress=${FromAddress}&fromState=${FromState}&fromZipCode=${FromZipcode}&toCity=${toCity}&toAddress=${ToAddress}&toState=${ToState}&toZipCode=${ToZipcode}&date=`,\r\n //`/ordersRating/GetCharges?customerId=${customerId}&serviceId=${serviceId}&serviceLevelId=${serviceLevelId}&ModeId=${modeId}&isInbound=${Inbound}&isPayable=${Payable}&carrierId=${carrierIdSt}&equipmentTypeId=${equipmentTypeId}&equipmentSizeId=${equipmentSizeId}&fromCity=${fromCity}&toCity=${toCity}`,\r\n requestOptions\r\n )\r\n .then((response) => response.text())\r\n .then(async (result) => {\r\n setCharges([]);\r\n setChargesN([]);\r\n setloadingCharges(true);\r\n\r\n let obj = JSON.parse(result) || [];\r\n let chargesVar = Payables || [];\r\n\r\n let objCalc =\r\n Payables.length === 0\r\n ? await GetPayableForVendorCalc({\r\n customerId,\r\n serviceId,\r\n modeId,\r\n serviceLevelId,\r\n equipmentTypeId,\r\n equipmentSizeId,\r\n CarrierId,\r\n fromCity,\r\n toCity,\r\n Inbound,\r\n Payable,\r\n FromAddress,\r\n FromState,\r\n FromZipcode,\r\n ToAddress,\r\n ToState,\r\n ToZipcode,\r\n })\r\n : [];\r\n\r\n chargesVar = JSON.parse(JSON.stringify(chargesVar));\r\n chargesVar.forEach((x) => (x.Id = x?.ChargeId));\r\n\r\n let allObjs = chargesVar.concat(objCalc);\r\n\r\n let resArr = [];\r\n allObjs.filter(function(item) {\r\n let i = resArr.findIndex((x) => x.Id == item?.Id);\r\n if (i === -1) {\r\n resArr.push({ ...item, ChargeId: item?.Id });\r\n }\r\n });\r\n\r\n var a = [];\r\n obj.forEach((x) => {\r\n var i = allObjs.find((y) => y.Id === x.Id);\r\n if (i === undefined) a.push(x);\r\n });\r\n\r\n setCharges(resArr || []);\r\n setChargesN(a || []);\r\n setTimeout(() => {\r\n setloadingCharges(false);\r\n }, 1000);\r\n })\r\n .catch((error) => console.log(\"error\", error));\r\n } catch (e) {}\r\n };\r\n\r\n async function GetPayableForVendorCalc({\r\n customerId,\r\n serviceId,\r\n modeId,\r\n serviceLevelId,\r\n equipmentTypeId,\r\n equipmentSizeId,\r\n CarrierId,\r\n fromCity,\r\n toCity,\r\n Inbound,\r\n Payable,\r\n FromAddress,\r\n FromState,\r\n FromZipcode,\r\n ToAddress,\r\n ToState,\r\n ToZipcode,\r\n }) {\r\n var carrierIdSt = VendorList.find((x) => x.value === vendorId)?.CarrierId;\r\n return await fetch(\r\n window.$apiurl +\r\n `/ordersRating/GetCalculatedCharges?customerId=${customerId}&serviceId=${serviceId}&serviceLevelId=${serviceLevelId}&ModeId=${modeId}&isInbound=${Inbound}&isPayable=${Payable}&carrierId=${carrierIdSt}&equipmentTypeId=${equipmentTypeId}&equipmentSizeId=${equipmentSizeId}&fromCity=${fromCity}&fromAddress=${FromAddress}&fromState=${FromState}&fromZipCode=${FromZipcode}&toCity=${toCity}&toAddress=${ToAddress}&toState=${ToState}&toZipCode=${ToZipcode}&date=`,\r\n //`/ordersRating/GetCalculatedCharges?customerId=${customerId}&serviceId=${serviceId}&serviceLevelId=${serviceLevelId}&ModeId=${modeId}&isInbound=${Inbound}&isPayable=${Payable}&carrierId=${carrierIdSt}&equipmentTypeId=${equipmentTypeId}&equipmentSizeId=${equipmentSizeId}&fromCity=${fromCity}&toCity=${toCity}`,\r\n {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n }\r\n )\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n const a = [];\r\n res[1].map((x) => a.push({ ...x, Calc: true }));\r\n return a;\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n\r\n async function GetList() {\r\n return await fetch(\r\n `${window.$apiurl}/transloadshipments/payables/${ShipmentsId[0]}?vendorId=${vendorId}`,\r\n {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n }\r\n )\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n const a = res[1];\r\n GetPayableForVendor({\r\n customerId: a?.CustomerId,\r\n serviceId: a?.ServiceId,\r\n modeId: a?.ModeId,\r\n serviceLevelId: a?.ServiceLevelId,\r\n equipmentTypeId: a?.EquipmentTypeId,\r\n equipmentSizeId: a?.EquipmentSizeId,\r\n CarrierId: a?.CarrierId,\r\n fromCity: a?.FromCity,\r\n toCity: a?.ToCity,\r\n Inbound: a?.Inbound,\r\n Payable: a?.Payable,\r\n Payables: a?.Payables || [],\r\n FreightChargeId: a?.FreightChargeId,\r\n FreightChargeName: a?.FreightChargeName,\r\n FromAddress: a?.FromAddress,\r\n FromState: a?.FromState,\r\n FromZipcode: a?.FromZipcode,\r\n ToState: a?.ToState,\r\n ToZipcode: a?.ToZipcode,\r\n ToAddress: a?.ToAddress,\r\n });\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n\r\n function CalcTotal() {\r\n var sum = 0;\r\n $(`.RatesTotal-${type}`).each(function() {\r\n var a = Number(\r\n $(this)\r\n .find(\"input\")\r\n .val()\r\n );\r\n $(this)\r\n .find(\"input\")\r\n .val(a.toFixed(2));\r\n sum += a;\r\n });\r\n $(`.RateAllTotal-${type} span`).text(sum.toFixed(2));\r\n }\r\n\r\n useEffect(() => {\r\n let a = [];\r\n Charges.map((x) =>\r\n a.push({\r\n ChargeId: x?.ChargeId || x?.Id,\r\n Code: x?.Code,\r\n Name: x?.Name,\r\n Quantity: x?.Quantity || 0,\r\n Rate: x?.Rate,\r\n })\r\n );\r\n window.$payablesRates = JSON.stringify({\r\n Ids: ShipmentsId,\r\n VendorId: vendorId,\r\n Payables: a,\r\n });\r\n CalcTotal();\r\n }, [Charges, ChargesN]);\r\n\r\n return (\r\n <>\r\n {vendorId && (\r\n
\r\n \r\n \r\n \r\n Vendors Charges\r\n \r\n \r\n \r\n {ChargesN &&\r\n ChargesN.length > 0 &&\r\n ChargesN.map((x) => (\r\n <>\r\n
\r\n {x?.Name}\r\n
\r\n
\r\n \r\n
\r\n
\r\n {\r\n let a = JSON.parse(JSON.stringify(Charges)) || [];\r\n var c = ChargesN?.filter((y) => y?.Id !== x?.Id);\r\n var b = ChargesN?.find((y) => y?.Id === x?.Id);\r\n if (b) {\r\n a.push({\r\n ChargeId: b?.Id,\r\n Rate: b?.Rate,\r\n Name: b?.Name,\r\n Code: b?.Code,\r\n Quantity: 0,\r\n RateType: b?.RateType,\r\n MinCharge: b?.MinCharge,\r\n MaxCharge: b?.MaxCharge,\r\n FreeTime: b?.FreeTime,\r\n });\r\n }\r\n setCharges([]);\r\n setChargesN([]);\r\n setTimeout(() => {\r\n setCharges(a);\r\n if (type === \"Charges\") window.C_Charges2 = a;\r\n if (type === \"Payables\") window.C_Payables2 = a;\r\n setChargesN(c || []);\r\n if (c.length === 0) setChargeModel(false);\r\n }, 1);\r\n }}\r\n >\r\n \r\n \r\n
\r\n \r\n ))}\r\n
\r\n \r\n
\r\n setChargeModel(false)}\r\n className=\"btn btn-light btn-elevate\"\r\n >\r\n Cancel\r\n \r\n
\r\n
\r\n \r\n\r\n {loadingCharges && (\r\n
\r\n \r\n
\r\n )}\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {Charges?.map((x) => (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ))}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
CodeNameRateQuantityTotalRemove
\r\n \r\n {x?.Code}\r\n \r\n {x?.Name}\r\n \r\n \r\n {\r\n var b = JSON.parse(JSON.stringify(Charges));\r\n var a = b.findIndex(\r\n (y) => y.ChargeId === x?.ChargeId\r\n );\r\n if (a > -1) {\r\n b[a].Quantity = +e.target.value;\r\n setCharges(b);\r\n }\r\n const c = CalculateCharge({\r\n Rate: x?.Rate,\r\n Quantity: e.target.value,\r\n rateType: x?.RateType,\r\n MinCharge: x?.MinCharge,\r\n MaxCharge: x?.MaxCharge,\r\n FreeTime: x?.FreeTime,\r\n });\r\n $(`.RatesTotal${x?.ChargeId} input`).val(\r\n c.toFixed(2)\r\n );\r\n }}\r\n defaultValue={x?.Quantity || 0}\r\n />\r\n \r\n {\r\n let a = Charges || [];\r\n let b = ChargesN || [];\r\n a = a?.filter((y) => y?.ChargeId !== x?.ChargeId);\r\n\r\n const isCharg = b?.find(\r\n (y) => y?.ChargeId === x?.ChargeId\r\n );\r\n if (isCharg === undefined)\r\n b.push({\r\n Id: x?.ChargeId,\r\n Rate: x?.Rate,\r\n Name: x?.Name,\r\n Code: x?.Code,\r\n Quantity: 1,\r\n RateType: x?.RateType,\r\n MinCharge: x?.MinCharge,\r\n MaxCharge: x?.MaxCharge,\r\n FreeTime: x?.FreeTime,\r\n });\r\n\r\n setCharges([]);\r\n setChargesN([]);\r\n setTimeout(() => {\r\n setCharges(a);\r\n setChargesN(b);\r\n }, 1);\r\n }}\r\n >\r\n \r\n \r\n
\r\n {(x?.FreeTime || null) !== null && (\r\n \r\n FT : {ReturnEmptyOrString(x?.FreeTime)}\r\n \r\n )}\r\n {(x?.MinCharge || null) !== null && (\r\n \r\n Min : {ReturnEmptyOrString(x?.MinCharge)}\r\n \r\n )}\r\n {(x?.MaxCharge || null) !== null && (\r\n \r\n Max : {ReturnEmptyOrString(x?.MaxCharge)}\r\n \r\n )}\r\n
\r\n Total :\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n {\r\n setChargeModel(true);\r\n }}\r\n disabled={ChargesN?.length === 0 || window.C_ChargesReadOnly}\r\n >\r\n Add Charge\r\n \r\n \r\n {\" \"}\r\n Manual\r\n \r\n \r\n {\" \"}\r\n Auto\r\n \r\n
\r\n
\r\n \r\n The receipt rates have been approved\r\n \r\n
\r\n
\r\n )}\r\n \r\n );\r\n};\r\n\r\nasync function GetAttachements() {\r\n return await fetch(\r\n `${window.$apiurl}/transloadshipments/payables/7839?vendorId=54491`,\r\n {\r\n method: \"get\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n }\r\n )\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then(async (res) => {\r\n return res[1];\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n}\r\n\r\nfunction CalculateCharge({\r\n Rate,\r\n Quantity,\r\n rateType,\r\n MinCharge,\r\n MaxCharge,\r\n FreeTime,\r\n}) {\r\n var amount = 0;\r\n Rate = Rate ?? 0;\r\n Quantity = Quantity ?? 0;\r\n MinCharge = MinCharge ?? 0;\r\n MaxCharge = MaxCharge ?? 0;\r\n FreeTime = FreeTime ?? 0;\r\n switch (rateType) {\r\n case \"Days\":\r\n case \"Hours\":\r\n if (FreeTime > 0)\r\n amount = Quantity < FreeTime ? 0 : (Quantity - FreeTime) * Rate;\r\n else amount = Rate * Quantity;\r\n break;\r\n case \"Weight\":\r\n amount = Rate * Quantity;\r\n break;\r\n case \"Volume\":\r\n amount = Rate * Quantity;\r\n break;\r\n case \"Quantity\":\r\n amount = Rate * Quantity;\r\n break;\r\n case \"Distance\":\r\n amount = Rate * Quantity;\r\n break;\r\n case \"Revenue\":\r\n amount = Rate * Quantity;\r\n break;\r\n case \"Cost\":\r\n amount = Rate * Quantity;\r\n break;\r\n case \" Dsp Time\":\r\n amount = Rate * Quantity;\r\n break;\r\n default:\r\n amount = Rate * Quantity;\r\n break;\r\n }\r\n if (MinCharge > 0 && amount < MinCharge) amount = MinCharge;\r\n if (MaxCharge > 0 && amount > MaxCharge) amount = MaxCharge;\r\n /* if (amount < 0) amount = 0; */\r\n return amount;\r\n}\r\n","import {\r\n Chip,\r\n TextField,\r\n Typography,\r\n MenuItem,\r\n Paper,\r\n} from \"@material-ui/core\";\r\nimport CancelIcon from \"@material-ui/icons/Cancel\";\r\nimport clsx from \"clsx\";\r\nimport { Formik } from \"formik\";\r\nimport low from \"lowdb\";\r\nimport LocalStorage from \"lowdb/adapters/LocalStorage\";\r\nimport moment from \"moment\";\r\nimport PropTypes from \"prop-types\";\r\nimport React, { useEffect, useMemo, useState } from \"react\";\r\nimport { RangeDatePicker } from \"react-google-flight-datepicker\";\r\nimport { default as Select, default as SelectMulti } from \"react-select\";\r\nimport { CheckboxLargeWB } from \"../../../../../../_metronic/_partials/controls\";\r\nimport { Notification } from \"../../../../../modules/Notification\";\r\nimport { useCustomersUIContext } from \"../CustomersUIContext\";\r\nconst adapter = new LocalStorage(\"db\");\r\nconst db = low(adapter);\r\nvar typingTimer;\r\n\r\nfunction formatDate(date) {\r\n if (date) {\r\n var d = new Date(date),\r\n month = \"\" + (d.getMonth() + 1),\r\n day = \"\" + d.getDate(),\r\n year = d.getFullYear();\r\n\r\n if (month.length < 2) month = \"0\" + month;\r\n if (day.length < 2) day = \"0\" + day;\r\n\r\n const result = [year, month, day].join(\"-\");\r\n if (result !== \"NaN/NaN/NaN\") {\r\n return result;\r\n } else {\r\n return \"\";\r\n }\r\n } else {\r\n return \"\";\r\n }\r\n}\r\nconst DateRangeTypeList = [\r\n { value: \"created\", label: \"Creation date\" },\r\n { value: \"dispatched\", label: \"Dispatch date\" },\r\n { value: \"picked-up\", label: \"Picked Up date\" },\r\n { value: \"in-transit\", label: \"In Transit date\" },\r\n { value: \"delivered\", label: \"Delivery Date\" },\r\n];\r\nfunction NoOptionsMessage(props) {\r\n return (\r\n \r\n {props.children}\r\n \r\n );\r\n}\r\n\r\nNoOptionsMessage.propTypes = {\r\n children: PropTypes.node,\r\n innerProps: PropTypes.object,\r\n selectProps: PropTypes.object.isRequired,\r\n};\r\n\r\nfunction inputComponent({ inputRef, ...props }) {\r\n return
;\r\n}\r\n\r\ninputComponent.propTypes = {\r\n inputRef: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\r\n};\r\n\r\nfunction Control(props) {\r\n const {\r\n children,\r\n innerProps,\r\n innerRef,\r\n selectProps: { classes, TextFieldProps },\r\n } = props;\r\n\r\n return (\r\n \r\n );\r\n}\r\n\r\nControl.propTypes = {\r\n children: PropTypes.node,\r\n innerProps: PropTypes.object,\r\n innerRef: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\r\n selectProps: PropTypes.object.isRequired,\r\n};\r\n\r\nfunction Option(props) {\r\n return (\r\n \r\n {props.children}\r\n \r\n );\r\n}\r\n\r\nOption.propTypes = {\r\n children: PropTypes.node,\r\n innerProps: PropTypes.object,\r\n innerRef: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\r\n isFocused: PropTypes.bool,\r\n isSelected: PropTypes.bool,\r\n};\r\n\r\nfunction Placeholder(props) {\r\n return (\r\n \r\n {props.children}\r\n \r\n );\r\n}\r\n\r\nPlaceholder.propTypes = {\r\n children: PropTypes.node,\r\n innerProps: PropTypes.object,\r\n selectProps: PropTypes.object.isRequired,\r\n};\r\n\r\nfunction SingleValue(props) {\r\n return (\r\n \r\n {props.children}\r\n \r\n );\r\n}\r\n\r\nSingleValue.propTypes = {\r\n children: PropTypes.node,\r\n innerProps: PropTypes.object,\r\n selectProps: PropTypes.object.isRequired,\r\n};\r\n\r\nfunction ValueContainer(props) {\r\n return (\r\n
\r\n {props.children}\r\n
\r\n );\r\n}\r\n\r\nValueContainer.propTypes = {\r\n children: PropTypes.node,\r\n selectProps: PropTypes.object.isRequired,\r\n};\r\n\r\nfunction MultiValue(props) {\r\n return (\r\n }\r\n />\r\n );\r\n}\r\n\r\nMultiValue.propTypes = {\r\n children: PropTypes.node,\r\n isFocused: PropTypes.bool,\r\n removeProps: PropTypes.object.isRequired,\r\n selectProps: PropTypes.object.isRequired,\r\n};\r\n\r\nfunction Menu(props) {\r\n return (\r\n \r\n {props.children}\r\n \r\n );\r\n}\r\n\r\nMenu.propTypes = {\r\n children: PropTypes.node,\r\n innerProps: PropTypes.object,\r\n selectProps: PropTypes.object,\r\n};\r\n\r\nconst prepareFilter = (queryParams, values) => {\r\n const {\r\n DateRangeType = \"created\",\r\n shipmentTypeId = window.$ShipmentManagementModeId,\r\n ServiceId = window.$ShipmentManagementServiceId,\r\n serviceLevelId,\r\n equipmentTypeId,\r\n equipmentSizeId,\r\n shipFrom,\r\n Carrier,\r\n ReLoadTable,\r\n isHazardousMaterial,\r\n Cancled,\r\n Closed,\r\n isHot,\r\n IsHeavy,\r\n searchText,\r\n startDate = window.$SmGsearchStartDate !== undefined\r\n ? window.$SmGsearchStartDate\r\n : moment()\r\n .add(-28, \"days\")\r\n .format(\"YYYY-MM-DD\"),\r\n endDate = moment().format(\"YYYY-MM-DD\"),\r\n multiCustomersGet = window.$ShipmentManagementCustomerId !== \"\"\r\n ? [\r\n {\r\n value: window.$ShipmentManagementCustomerId,\r\n label: window.$ShipmentManagementCustomerName,\r\n },\r\n ]\r\n : [],\r\n } = values;\r\n const newQueryParams = { ...queryParams };\r\n const filter = {};\r\n filter.multiCustomersGet = multiCustomersGet;\r\n filter.shipmentTypeId = shipmentTypeId;\r\n filter.serviceLevelId = serviceLevelId;\r\n filter.equipmentTypeId = equipmentTypeId;\r\n filter.equipmentSizeId = equipmentSizeId;\r\n filter.shipFrom = shipFrom;\r\n filter.Carrier = Carrier;\r\n filter.DateRangeType = DateRangeType;\r\n filter.ServiceId = ServiceId;\r\n filter.isHazardousMaterial = isHazardousMaterial;\r\n filter.IsHeavy = IsHeavy;\r\n filter.isHot = isHot;\r\n filter.Cancled = Cancled;\r\n filter.Closed = Closed;\r\n filter.searchText = searchText;\r\n filter.startDate = startDate;\r\n filter.endDate = endDate;\r\n filter.ReLoadTable = ReLoadTable;\r\n filter.filter = window.$ShipmentManagementStatus;\r\n newQueryParams.filter = filter;\r\n return newQueryParams;\r\n};\r\nexport function CustomersFilter({ listLoading }) {\r\n const [ShipmentTypes, setShipmentTypes] = useState([]);\r\n const [Customers, setCustomers] = useState([]);\r\n const [ShipFrom, setShipFrom] = useState([]);\r\n const [CarrierOptions, setCarrierOptions] = useState([]);\r\n const [ShipmentTypesOption, setShipmentTypesOption] = useState([]);\r\n const [\r\n ShipmentServiceLevelsOption,\r\n setShipmentServiceLevelsOption,\r\n ] = useState([]);\r\n const [ShipmentServicesOption, setShipmentServicesOption] = useState([]);\r\n const [ShipmentServices, setShipmentServices] = useState([]);\r\n const [ShipmentServiceLeveles, setShipmentServiceLeveles] = useState([]);\r\n const [ShipmentEquipmentTypes, setShipmentEquipmentTypes] = useState([]);\r\n const [\r\n ShipmentEquipmentTypesOption,\r\n setShipmentEquipmentTypesOption,\r\n ] = useState([]);\r\n const [customerIdItem, setCustomerIdItem] = useState({\r\n value: window.$ShipmentManagementCustomerId,\r\n label: window.$ShipmentManagementCustomerName,\r\n });\r\n const [ServiceId, setServiceId] = useState({\r\n value: window.$ShipmentManagementServiceId,\r\n label: window.$ShipmentManagementServiceName,\r\n });\r\n const [\r\n ShipmentEquipmentSizeOption,\r\n setShipmentEquipmentSizeOption,\r\n ] = useState([]);\r\n // const [multiCustomersGet, getMultiSelectCustomers] = useState([{ value: 112, label: \"Meijer, Inc.\" }]);\r\n // const [CustomerIds, setCustomerIds] = useState(\"\");\r\n useEffect(() => {\r\n fetch(window.$apiurl + \"/transportation/shipments/getSmViewModel\", {\r\n method: \"get\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then((res) => res.json())\r\n .then((res) => {\r\n setCustomers(res.Customers || []);\r\n setShipFrom(res.Shippers || []);\r\n setCarrierOptions(res.Vendors || []);\r\n setShipmentServices(res.Services);\r\n setShipmentServicesOption(\r\n res.Services.map((suggestion) => ({\r\n value: suggestion.Id,\r\n label: suggestion.Name,\r\n }))\r\n );\r\n var a = res.Services.filter(\r\n (a) => String(a.Id) === String(window.$ShipmentManagementServiceId)\r\n );\r\n\r\n if (a[0].Modes.length > 0) {\r\n setShipmentTypes(a[0].Modes);\r\n setShipmentTypesOption(\r\n a[0].Modes.map((suggestion) => ({\r\n value: suggestion.Id,\r\n label: suggestion.Name,\r\n }))\r\n );\r\n var j = a[0].Modes.filter(\r\n (a) => String(a.Name) === String(window.$ShipmentManagementModeName)\r\n );\r\n if (j[0].ServiceLevels.length) {\r\n setShipmentServiceLeveles(j[0].ServiceLevels);\r\n\r\n setShipmentServiceLevelsOption(\r\n j[0].ServiceLevels.map((suggestion) => ({\r\n value: suggestion.Id,\r\n label: suggestion.Name,\r\n }))\r\n );\r\n }\r\n }\r\n })\r\n .catch(() => {\r\n Notification(\"error\", \"err\");\r\n return false;\r\n });\r\n }, []);\r\n useEffect(() => {\r\n fetchGlobalSearchFilter();\r\n }, []);\r\n function fetchGlobalSearchFilter() {\r\n try {\r\n window.$clearableDate = undefined;\r\n var shipmentDefaultFilter = db.read().getState().User.DefaultFilter;\r\n shipmentDefaultFilter = shipmentDefaultFilter?.find(x => x.Flow === \"SM\"); \r\n const userDbFilterRm = {\r\n DefaultCustomerId: shipmentDefaultFilter?.DefaultCustomer?.value,\r\n DefaultCustomerName: shipmentDefaultFilter?.DefaultCustomer?.label,\r\n \r\n DefaultServiceId: shipmentDefaultFilter?.DefaultService?.value,\r\n DefaultServiceName: shipmentDefaultFilter?.DefaultService?.label,\r\n \r\n DefaultModeId: shipmentDefaultFilter?.DefaultMode?.value,\r\n DefaultModeName: shipmentDefaultFilter?.DefaultMode?.label,\r\n };\r\n //Filter User Case\r\n if (!window.$isGlobalSearch) {\r\n if (userDbFilterRm.DefaultServiceId !== undefined) {\r\n window.$ShipmentManagementServiceId = userDbFilterRm.DefaultServiceId;\r\n window.$ShipmentManagementServiceName =\r\n userDbFilterRm.DefaultServiceName;\r\n setServiceId({\r\n value: window.$ShipmentManagementServiceId,\r\n label: window.$ShipmentManagementServiceName,\r\n });\r\n } else {\r\n window.$ShipmentManagementServiceId = 6;\r\n setServiceId({\r\n value: 6,\r\n label: \"Domestic Transportation\",\r\n });\r\n }\r\n\r\n if (userDbFilterRm.DefaultModeId !== undefined) {\r\n window.$ShipmentManagementModeId = userDbFilterRm.DefaultModeId;\r\n window.$ShipmentManagementModeName = userDbFilterRm.DefaultModeName;\r\n setmodeId({\r\n value: window.$ShipmentManagementModeId,\r\n label: window.$ShipmentManagementModeName,\r\n });\r\n }else {\r\n window.$ShipmentManagementModeId = 3;\r\n setmodeId({\r\n value: 3,\r\n label: \"OTR (Over The Road)\",\r\n });\r\n }\r\n if (userDbFilterRm.DefaultCustomerId !== undefined) {\r\n window.$ShipmentManagementCustomerId =\r\n userDbFilterRm.DefaultCustomerId;\r\n window.$ShipmentManagementCustomerName =\r\n userDbFilterRm.DefaultCustomerName;\r\n setCustomerIdItem({\r\n value: window.$ShipmentManagementCustomerId,\r\n label: window.$ShipmentManagementCustomerName,\r\n });\r\n } else {\r\n window.$ShipmentManagementCustomerId = \"\";\r\n window.$ShipmentManagementCustomerName = \"\";\r\n setCustomerIdItem(null);\r\n }\r\n\r\n //Global Search Case\r\n } else {\r\n setServiceId({\r\n value: window.$ShipmentManagementServiceId,\r\n label: window.$ShipmentManagementServiceName,\r\n });\r\n setmodeId({\r\n value: window.$ShipmentManagementModeId,\r\n label: window.$ShipmentManagementModeName,\r\n });\r\n setCustomerIdItem({\r\n value: window.$ShipmentManagementCustomerId,\r\n label: window.$ShipmentManagementCustomerName,\r\n });\r\n }\r\n } catch (err) {}\r\n }\r\n const suggestions = Customers.map((suggestion) => ({\r\n value: suggestion.Id,\r\n label: suggestion.Name,\r\n }));\r\n const suggestionsShipper = ShipFrom.map((suggestion) => ({\r\n value: suggestion.Id,\r\n label: suggestion.Code + \"-\" + suggestion.Name,\r\n }));\r\n const suggestionsCarriers = CarrierOptions.map((suggestion) => ({\r\n value: suggestion.Id,\r\n label: suggestion.Code + \"-\" + suggestion.CompanyName,\r\n }));\r\n // Customers UI Context\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n queryParams: customersUIContext.queryParams,\r\n setQueryParams: customersUIContext.setQueryParams,\r\n };\r\n }, [customersUIContext]);\r\n\r\n // queryParams, setQueryParams,\r\n const applyFilter = (values) => {\r\n const newQueryParams = prepareFilter(\r\n {\r\n filter: {\r\n CustomerIds: \"?customerId=\" + window.$ShipmentManagementCustomerId,\r\n shipmentTypeId: window.$ShipmentManagementModeId,\r\n ServiceId: window.$ShipmentManagementServiceId,\r\n serviceLevelId: 0,\r\n equipmentTypeId: 0,\r\n equipmentSizeId: 0,\r\n searchText: window.$SmGsearchText || \"\",\r\n shipFrom: \"\",\r\n Carrier: \"\",\r\n DateRangeType: \"created\",\r\n Filter: window.$ShipmentManagementStatus,\r\n // isHazardousMaterial: false,\r\n // isHot: false,\r\n // IsHeavy: false,\r\n startDate: startDateValue,\r\n endDate: endDateValue,\r\n },\r\n sortOrder: \"desc\",\r\n sortField: \"id\",\r\n pageNumber: 1,\r\n pageSize: 10,\r\n },\r\n values\r\n );\r\n // if (newQueryParams.filter.shipmentTypeId === 0) {\r\n // return;\r\n // }\r\n // update list by queryParams\r\n customersUIProps.setQueryParams(newQueryParams);\r\n };\r\n const [modeId, setmodeId] = useState({\r\n value: window.$ShipmentManagementModeId,\r\n label: window.$ShipmentManagementModeName,\r\n });\r\n const [serviceLevelId, setserviceLevelId] = useState({\r\n value: null,\r\n label: \"Select\",\r\n });\r\n //startDate\r\n const [startDateValue, setStartDateValue] = useState(\r\n window.$SmGsearchStartDate !== undefined\r\n ? window.$SmGsearchStartDate\r\n : new Date()\r\n .addDays(-28)\r\n .toISOString()\r\n .split(\"T\")[0]\r\n );\r\n\r\n //end Date\r\n const [endDateValue, setEndDateValue] = useState(\r\n new Date().toISOString().split(\"T\")[0]\r\n );\r\n const [IsCancel, setIsCancel] = useState({ value: 1, label: \"Active\" });\r\n const listCanceled = [\r\n { value: 1, label: \"Active\" },\r\n { value: 2, label: \"Canceled\" },\r\n ];\r\n useEffect(() => {\r\n const value = window.$ShipmentManagementCanceled ;\r\n if(value === true){\r\n setIsCancel({ value: 2, label: \"Canceled\" });\r\n }\r\n if(value === false){\r\n setIsCancel({ value: 1, label: \"Active\" });\r\n }\r\n },[]);\r\n return (\r\n <>\r\n {\r\n applyFilter(values);\r\n }}\r\n >\r\n {({\r\n values,\r\n handleSubmit,\r\n handleBlur,\r\n handleChange,\r\n setFieldValue,\r\n }) => (\r\n \r\n {\r\n if (e.target.value === \"0\")\r\n document.getElementById(\"ReLoadTableId\").value = 1;\r\n else document.getElementById(\"ReLoadTableId\").value = 0;\r\n setFieldValue(\"ReLoadTable\", e.target.value);\r\n handleSubmit();\r\n }}\r\n />\r\n
\r\n
\r\n

Search

\r\n {\r\n setFieldValue(\"searchText\", e.target.value);\r\n window.$SmGsearchText = e.target.value;\r\n clearTimeout(typingTimer);\r\n typingTimer = setTimeout(function() {\r\n handleSubmit();\r\n }, 500);\r\n }}\r\n />\r\n
\r\n
\r\n {Customers &&

Customers

}\r\n {Customers && (\r\n x.Flow === \"SM\")\r\n ?.DefaultCustomerId !== null\r\n ? [customerIdItem]\r\n : values.multiCustomersGet\r\n }\r\n name=\"multiCustomersGet\"\r\n options={suggestions}\r\n className=\"basic-multi-select\"\r\n classNamePrefix=\"select\"\r\n onChange={(e) => {\r\n var obj = \"\";\r\n var listCustomer = [];\r\n if (e?.length === 0) {\r\n setFieldValue(\"multiCustomersGet\", []);\r\n window.$CustomerListOverview = \"\";\r\n window.$CustomerIdsSm = \"?customerId=\";\r\n window.$ShipmentManagementCustomerId = \"\";\r\n setFieldValue(\"multiCustomersGet\", []);\r\n setCustomerIdItem(null);\r\n } else if (e !== null) {\r\n e.forEach((item, index) => {\r\n listCustomer.push(item.label);\r\n obj +=\r\n (index === 0 ? \"?customerId=\" : \"&customerId=\") +\r\n item.value;\r\n });\r\n setCustomerIdItem(obj);\r\n window.$CustomerListOverview = listCustomer;\r\n window.$CustomerIdsSm = obj;\r\n setFieldValue(\"multiCustomersGet\", e);\r\n } else {\r\n setCustomerIdItem(null);\r\n window.$CustomerListOverview = \"\";\r\n window.$CustomerIdsSm = \"?customerId=\";\r\n window.$ShipmentManagementCustomerId = \"\";\r\n setFieldValue(\"multiCustomersGet\", []);\r\n }\r\n handleSubmit();\r\n }}\r\n />\r\n )}\r\n
\r\n
\r\n

Service

\r\n \r\n String(a.value) ===\r\n String(window.$ShipmentManagementServiceId)\r\n )}\r\n placeholder=\"Service\"\r\n options={ShipmentServicesOption}\r\n onChange={(e) => {\r\n setServiceId(e || { value: \"\", label: \"Select\" });\r\n setmodeId({ value: \"\", label: \"Select\" });\r\n values.IsCustomerFilter = false;\r\n window.$ShipmentManagementServiceId = e?.value;\r\n window.$ShipmentManagementServiceName = e?.label;\r\n setFieldValue(\"ServiceId\", e?.value);\r\n setFieldValue(\"shipmentTypeId\", 0);\r\n setFieldValue(\"serviceLevelId\", 0);\r\n setFieldValue(\"equipmentTypeId\", 0);\r\n setFieldValue(\"equipmentSizeId\", 0);\r\n window.$ShipmentManagementType = \"\";\r\n window.$ShipmentManagementModeId = \"\";\r\n window.$ShipmentManagementServiceLevelId = \"\";\r\n window.$ShipmentManagementModeName = \"\";\r\n window.$ShipmentManagementStatusName = \"All\";\r\n handleSubmit();\r\n var a = ShipmentServices.filter((a) => a.Id === e?.value);\r\n if (a[0]?.Modes.length > 0) {\r\n setShipmentTypes(a[0].Modes);\r\n setShipmentTypesOption(\r\n a[0].Modes.map((suggestion) => ({\r\n value: suggestion.Id,\r\n label: suggestion.Name,\r\n }))\r\n );\r\n setShipmentServiceLevelsOption([]);\r\n setShipmentEquipmentSizeOption([]);\r\n setShipmentEquipmentTypesOption([]);\r\n } else {\r\n Notification(\r\n \"warning\",\r\n \"this Service doesn't have any mode\"\r\n );\r\n setShipmentTypesOption([]);\r\n setShipmentServiceLevelsOption([]);\r\n setShipmentEquipmentSizeOption([]);\r\n setShipmentEquipmentTypesOption([]);\r\n }\r\n }}\r\n />\r\n
\r\n
\r\n

Mode

\r\n \r\n String(a.value) ===\r\n String(window.$ShipmentManagementModeId)\r\n )}\r\n placeholder=\"Mode\"\r\n options={ShipmentTypesOption}\r\n onChange={(e) => {\r\n values.IsCustomerFilter = false;\r\n if (e === null) {\r\n setmodeId({ value: \"\", label: \"Select\" });\r\n setFieldValue(\"shipmentTypeId\", \"\");\r\n setFieldValue(\"serviceLevelId\", 0);\r\n setFieldValue(\"equipmentTypeId\", 0);\r\n setFieldValue(\"equipmentSizeId\", 0);\r\n window.$ShipmentManagementType = \"\";\r\n window.$ShipmentManagementModeId = \"\";\r\n window.$ShipmentManagementModeName = \"\";\r\n window.$ShipmentManagementServiceLevelId = \"\";\r\n handleSubmit();\r\n setShipmentServiceLevelsOption([]);\r\n setShipmentEquipmentSizeOption([]);\r\n setShipmentEquipmentTypesOption([]);\r\n } else {\r\n setmodeId(e);\r\n setFieldValue(\"shipmentTypeId\", e.value);\r\n setFieldValue(\"serviceLevelId\", 0);\r\n setFieldValue(\"equipmentTypeId\", 0);\r\n setFieldValue(\"equipmentSizeId\", 0);\r\n window.$ShipmentManagementType = e.label;\r\n window.$ShipmentManagementModeId = e?.value;\r\n window.$ShipmentManagementModeName = e?.label;\r\n window.$ShipmentManagementServiceLevelId = \"\";\r\n handleSubmit();\r\n var a = ShipmentTypes.filter((a) => a.Id === e?.value);\r\n if (a[0].ServiceLevels.length > 0) {\r\n setShipmentServiceLeveles(a[0].ServiceLevels);\r\n\r\n setShipmentServiceLevelsOption(\r\n a[0].ServiceLevels.map((suggestion) => ({\r\n value: suggestion.Id,\r\n label: suggestion.Name,\r\n }))\r\n );\r\n setShipmentEquipmentSizeOption([]);\r\n setShipmentEquipmentTypesOption([]);\r\n } else {\r\n Notification(\r\n \"warning\",\r\n \"this mode doesn't have any Service Level\"\r\n );\r\n setShipmentServiceLevelsOption([]);\r\n setShipmentEquipmentSizeOption([]);\r\n setShipmentEquipmentTypesOption([]);\r\n }\r\n }\r\n }}\r\n />\r\n
\r\n
\r\n

Service Level

\r\n a.value === window.$ShipmentManagementServiceLevelId\r\n )}\r\n value={serviceLevelId}\r\n options={ShipmentServiceLevelsOption}\r\n onChange={(e) => {\r\n values.IsCustomerFilter = false;\r\n if (e === null) {\r\n setserviceLevelId({ value: \"\", label: \"Select\" });\r\n setFieldValue(\"serviceLevelId\", 0);\r\n setFieldValue(\"equipmentTypeId\", 0);\r\n setFieldValue(\"equipmentSizeId\", 0);\r\n window.$ShipmentManagementServiceLevelId = \"\";\r\n handleSubmit();\r\n setShipmentEquipmentSizeOption([]);\r\n setShipmentEquipmentTypesOption([]);\r\n } else {\r\n setserviceLevelId(e);\r\n setFieldValue(\"serviceLevelId\", e?.value);\r\n setFieldValue(\"equipmentTypeId\", 0);\r\n setFieldValue(\"equipmentSizeId\", 0);\r\n window.$ShipmentManagementServiceLevelId = e.value;\r\n handleSubmit();\r\n var a = ShipmentServiceLeveles.filter(\r\n (a) => a.Id === e?.value\r\n );\r\n if (a[0].EquipmentTypes.length > 0) {\r\n setShipmentEquipmentTypes(a[0].EquipmentTypes);\r\n setShipmentEquipmentTypesOption(\r\n a[0].EquipmentTypes.map((suggestion) => ({\r\n value: suggestion.Id,\r\n label: suggestion.Name,\r\n }))\r\n );\r\n setShipmentEquipmentSizeOption([]);\r\n } else {\r\n Notification(\r\n \"warning\",\r\n \"this Service Level doesn't have any Equipment Type\"\r\n );\r\n setShipmentEquipmentSizeOption([]);\r\n setShipmentEquipmentTypesOption([]);\r\n }\r\n }\r\n }}\r\n />\r\n
\r\n
\r\n

Equipment Type

\r\n a.value === values.equipmentTypeId\r\n ) || \"\"\r\n }\r\n options={ShipmentEquipmentTypesOption}\r\n onChange={(e) => {\r\n values.IsCustomerFilter = false;\r\n if (e === null) {\r\n setFieldValue(\"equipmentTypeId\", e?.value);\r\n setFieldValue(\"equipmentSizeId\", 0);\r\n //window.$ShipmentManagementType = e.label;\r\n handleSubmit();\r\n setShipmentEquipmentSizeOption([]);\r\n } else {\r\n setFieldValue(\"equipmentTypeId\", e?.value);\r\n setFieldValue(\"equipmentSizeId\", 0);\r\n //window.$ShipmentManagementType = e.label;\r\n handleSubmit();\r\n var a = ShipmentEquipmentTypes.filter(\r\n (a) => a.Id === e?.value\r\n );\r\n if (a[0].EquipmentSizes.length > 0) {\r\n setShipmentEquipmentSizeOption(\r\n a[0].EquipmentSizes.map((suggestion) => ({\r\n value: suggestion.Id,\r\n label: suggestion.Name,\r\n }))\r\n );\r\n } else {\r\n Notification(\r\n \"warning\",\r\n \"this Equipment Type doesn't have any Equipment Size\"\r\n );\r\n setShipmentEquipmentSizeOption([]);\r\n }\r\n }\r\n }}\r\n />\r\n
\r\n
\r\n

Equipment Size

\r\n a.value === values.equipmentSizeId\r\n ) || \"\"\r\n }\r\n options={ShipmentEquipmentSizeOption}\r\n onChange={(e) => {\r\n values.IsCustomerFilter = false;\r\n if (e === null) {\r\n setFieldValue(\"equipmentSizeId\", \"\");\r\n //window.$ShipmentManagementType = e.label;\r\n handleSubmit();\r\n } else {\r\n setFieldValue(\"equipmentSizeId\", e?.value);\r\n //window.$ShipmentManagementType = e.label;\r\n handleSubmit();\r\n }\r\n }}\r\n />\r\n
\r\n
\r\n

Ship From

\r\n {\r\n values.IsCustomerFilter = false;\r\n if (e === null) {\r\n setFieldValue(\"shipFrom\", \"\");\r\n //window.$ShipmentManagementType = e.label;\r\n handleSubmit();\r\n } else {\r\n setFieldValue(\"shipFrom\", e?.value);\r\n //window.$ShipmentManagementType = e.label;\r\n handleSubmit();\r\n }\r\n }}\r\n />\r\n
\r\n\r\n
\r\n

Date Filter

\r\n String(a.value) === values.DateRangeType\r\n )}\r\n onChange={(e) => {\r\n values.IsCustomerFilter = false;\r\n if (e === null) {\r\n setFieldValue(\"DateRangeType\", \"created\");\r\n handleSubmit();\r\n } else {\r\n setFieldValue(\"DateRangeType\", e?.value);\r\n handleSubmit();\r\n }\r\n }}\r\n />\r\n
\r\n\r\n
\r\n

Date Start - End

\r\n {\r\n setStartDateValue(startDate);\r\n setEndDateValue(endDate);\r\n values.IsCustomerFilter = false;\r\n window.$SmGsearchStartDate =\r\n formatDate(startDate) + \"T12:00\";\r\n setFieldValue(\r\n \"startDate\",\r\n formatDate(startDate) + \"T12:00\"\r\n );\r\n setFieldValue(\"endDate\", formatDate(endDate) + \"T12:00\");\r\n handleSubmit();\r\n }}\r\n dateFormat=\"MM/DD/YYYY\"\r\n minDate={new Date(1900, 0, 1)}\r\n maxDate={new Date(2100, 0, 1)}\r\n startDatePlaceholder=\"Start Date\"\r\n endDatePlaceholder=\"End Date\"\r\n disabled={false}\r\n className=\"my-own-class-name\"\r\n startWeekDay=\"monday\"\r\n />\r\n
\r\n\r\n {window.$ShipmentManagementStatus !== 1 &&\r\n window.$ShipmentManagementStatus !== 2 ? (\r\n
\r\n

Carrier

\r\n a.value === values.Carrier\r\n ) || \"\"\r\n }\r\n inputId=\"react-select-single\"\r\n placeholder=\"Carrier\"\r\n options={suggestionsCarriers}\r\n onChange={(e) => {\r\n values.IsCustomerFilter = false;\r\n if (e === null) {\r\n setFieldValue(\"Carrier\", \"\");\r\n //window.$ShipmentManagementType = e.label;\r\n handleSubmit();\r\n } else {\r\n setFieldValue(\"Carrier\", e?.value);\r\n //window.$ShipmentManagementType = e.label;\r\n handleSubmit();\r\n }\r\n }}\r\n />\r\n
\r\n ) : (\r\n \"\"\r\n )}\r\n
\r\n \r\n {\r\n let value = e?.value;\r\n if (value === 1) {\r\n value = false;\r\n } else if (value === 2) {\r\n value = true;\r\n } else {\r\n value = null;\r\n }\r\n window.$ShipmentManagementCanceled = value;\r\n if (e !== null) {\r\n setIsCancel(e);\r\n } else {\r\n setIsCancel({ value: \"\", label: \"Both\" });\r\n window.$ShipmentManagementCanceled = null;\r\n }\r\n values.IsCustomerFilter = false;\r\n setFieldValue(\"Cancled\", value);\r\n handleSubmit();\r\n }}\r\n isClearable\r\n options={listCanceled}\r\n value={IsCancel}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n {\r\n values.IsCustomerFilter = false;\r\n setFieldValue(\"isHot\", e.target.checked);\r\n window.$ShipmentManagementHot = `${e.target.checked}`;\r\n handleSubmit();\r\n }}\r\n />\r\n \r\n \r\n \r\n
\r\n
\r\n {\r\n values.IsCustomerFilter = false;\r\n setFieldValue(\"isHazardousMaterial\", e.target.checked);\r\n window.$ShipmentManagementHazmat = `${e.target.checked}`;\r\n handleSubmit();\r\n }}\r\n />\r\n \r\n \r\n \r\n
\r\n
\r\n {\r\n values.IsCustomerFilter = false;\r\n setFieldValue(\"IsHeavy\", e.target.checked);\r\n window.$ShipmentManagementHeavy = `${e.target.checked}`;\r\n handleSubmit();\r\n }}\r\n />\r\n \r\n \r\n \r\n
\r\n
\r\n {\r\n values.IsCustomerFilter = false;\r\n window.$ShipmentManagementClosed = e.target.checked;\r\n setFieldValue(\"Closed\", e.target.checked);\r\n handleSubmit();\r\n }}\r\n />\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n false}\r\n onClick={(event) => {\r\n try {\r\n setFieldValue(\"serviceId\", \"\");\r\n window.$ShipmentManagementServiceName = \"\";\r\n window.$CustomerListOverview = \"\";\r\n window.$ShipmentManagementServiceId = \"\";\r\n window.$ShipmentManagementModeName = \"\";\r\n window.$ShipmentManagementModeId = \"\";\r\n window.$ShipmentManagementServiceLevelId = \"\";\r\n setServiceId({ value: \"\", label: \"Select\" });\r\n setmodeId({ value: \"\", label: \"Select\" });\r\n setFieldValue(\"modeId\", \"\");\r\n window.$ShipmentManagementModeId = \"\";\r\n setFieldValue(\"serviceLevelId\", \"\");\r\n setserviceLevelId({ value: \"\", label: \"Select\" });\r\n setFieldValue(\"equipmentTypeId\", \"\");\r\n setFieldValue(\"equipmentSizeId\", \"\");\r\n\r\n setFieldValue(\"searchText\", \"\");\r\n window.$SmGsearchText = \"\";\r\n setFieldValue(\"multiCustomersGet\", []);\r\n setCustomerIdItem(null);\r\n window.$CustomerIdsSm = \"?customerId=\";\r\n\r\n setFieldValue(\"DateRangeType\", \"created\");\r\n\r\n //Date reset\r\n setStartDateValue(null);\r\n setEndDateValue(null);\r\n //Checkbox reset\r\n setFieldValue(\"isHot\", false);\r\n setFieldValue(\"isHeavy\", false);\r\n setFieldValue(\"isHazardousMaterial\", false);\r\n\r\n setFieldValue(\"Cancled\", false);\r\n setIsCancel({ value: \"\", label: \"Both\" });\r\n setFieldValue(\"Closed\", false);\r\n window.$ShipmentManagementCustomerId = \"\";\r\n window.$clearableDate = true;\r\n window.$ShipmentManagementHot = false;\r\n window.$ShipmentManagementHeavy = false;\r\n window.$ShipmentManagementHazmat = false;\r\n window.$ShipmentManagementClosed = false;\r\n window.$ShipmentManagementCanceled = false;\r\n window.$isGlobalSearch = undefined;\r\n handleSubmit();\r\n } catch (err) {}\r\n }}\r\n className=\"btn btn-light-info btn-elevate\"\r\n >\r\n \r\n Clear Filters\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n WORKFLOW:\r\n {window.$ShipmentManagementStatusName} Shipments\r\n \r\n \r\n CUSTOMER:{\" \"}\r\n \r\n {window.$CustomerListOverview !== undefined &&\r\n window.$CustomerListOverview !== \"\"\r\n ? window.$CustomerListOverview.map((item) => item + \" , \")\r\n : window.$CustomerListOverview === \"\"\r\n ? \"All\"\r\n : \"All\"}\r\n \r\n \r\n \r\n SERVICE: {window.$ShipmentManagementServiceName}\r\n \r\n \r\n MODE: {window.$ShipmentManagementModeName}\r\n \r\n \r\n HOT: {window.$ShipmentManagementHot}\r\n \r\n \r\n HAZMAT: {window.$ShipmentManagementHazmat}\r\n \r\n \r\n Heavy: {window.$ShipmentManagementHeavy}\r\n \r\n
\r\n
\r\n \r\n )}\r\n \r\n \r\n );\r\n}\r\n","/* eslint-disable no-restricted-imports */\r\nimport React, { useState, useEffect } from \"react\";\r\nimport { Modal, Spinner } from \"react-bootstrap\";\r\nimport { shallowEqual, useDispatch, useSelector } from \"react-redux\";\r\nimport {\r\n ModalProgressBar,\r\n Input,\r\n CheckboxLarge,\r\n} from \"../../../../../../_metronic/_partials/controls\";\r\nimport { Formik, Form, Field } from \"formik\";\r\nimport low from \"lowdb\";\r\nimport LocalStorage from \"lowdb/adapters/LocalStorage\";\r\nimport CreatableSelect from \"react-select/creatable\";\r\nimport { CKEditor } from \"@ckeditor/ckeditor5-react\";\r\nimport ClassicEditor from \"@ckeditor/ckeditor5-build-classic\";\r\nimport { Notification } from \"../../../../Notification\";\r\nimport IconButton from \"@material-ui/core/IconButton\";\r\nimport CloseIcon from \"@material-ui/icons/Close\";\r\nimport \"./tableStyle.css\";\r\nimport $ from \"jquery\";\r\nconst adapter = new LocalStorage(\"db\");\r\nconst db = low(adapter);\r\n\r\nexport default function ShippingBulkEmail({ rows, show ,onHide}) {\r\n const [ToData, setToData] = useState(null);\r\n const [SubjectData, setSubjectData] = useState(`Loaded alerts for carriers: ${rows.map(item=>item).join(\", \")}`);\r\n const [includCCData, setincludCCData] = useState(false);\r\n const [BodyData, setBodyData] = useState(message);\r\n const [isLoadingSend, setisLoadingSend] = useState(false);\r\n const [isShowModal, setisShowModal] = useState(false);\r\n const [CustomerEmailsList, setCustomerEmailsList] = useState([]);\r\n const [CustomerEmailsListDefeault, setCustomerEmailsListDefeault] = useState([]);\r\n const [AttachmentData, setAttachmentData] = useState([]);\r\n\r\n const [dataTableCarriers, setDataTableCarriers] = useState([]);\r\n\r\n // Products Redux state\r\n const dispatch = useDispatch();\r\n const { isLoading } = useSelector(\r\n (state) => ({ isLoading: state.products.actionsLoading }),\r\n shallowEqual\r\n );\r\n function formatDate(date) {\r\n if (date) {\r\n var d = new Date(date),\r\n month = \"\" + (d.getMonth() + 1),\r\n day = \"\" + d.getDate(),\r\n year = d.getFullYear();\r\n \r\n if (month.length < 2) month = \"0\" + month;\r\n if (day.length < 2) day = \"0\" + day;\r\n \r\n const result = [month, day, year].join(\"/\");\r\n if (result !== \"NaN/NaN/NaN\") {\r\n return result;\r\n } else {\r\n return \"--/--/----\";\r\n }\r\n } else {\r\n return \"\";\r\n }\r\n }\r\n useEffect(() => {\r\n //shipments/GetSendEmailInvoice/{id}\r\n var paramsIds = \"\";\r\n var paramsCust = \"\";\r\n rows.map((item,index) => {\r\n paramsIds += (index === 0 ? `?ids=` : `&ids=`) + item;\r\n });\r\n fetch(`${window.$apiurl}/GetSendEmailCarriersLoaded` + paramsIds, {\r\n method: \"get\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n var a = res[1];\r\n var obj = [];\r\n var obj2 = [];\r\n if(a.IsTheSameCarrier){\r\n a.Emails.map((item, index) => {\r\n obj.push({ value: item.Email, label: item.Email });\r\n obj2.push({ Email: item.Email, Name: item.Email });\r\n });\r\n setCustomerEmailsList(obj);\r\n setCustomerEmailsListDefeault(obj);\r\n setToData(obj2);\r\n }else{\r\n Notification(\"error\",\"Those Shipments doesn't have the same Carrier !\");\r\n onHide();\r\n }\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n \r\n const listShipments = window.$dataNewShipments;\r\n try{\r\n if(listShipments){\r\n const listTable = [];\r\n rows.length > 0 &&\r\n rows.map((item) => {\r\n const currentShipment = listShipments.find((x) => x.Id == item);\r\n listTable.push({\r\n Container : currentShipment?.EquipmentNumber,\r\n Customer : currentShipment?.CustomerName,\r\n PickUpLocation : currentShipment?.OriginCompanyName,\r\n Carrier : currentShipment?.CarrierName,\r\n LoadDate : formatDate(currentShipment?.StatusLoadedFromOurWarehouseDate),\r\n Id : currentShipment.Id\r\n })\r\n });\r\n setDataTableCarriers(listTable || [])\r\n }\r\n }catch(err) {}\r\n }, [rows])\r\n\r\n\r\n // if !id we should close modal\r\n\r\n useEffect(() => {\r\n setisShowModal(show);\r\n }, [show]);\r\n // useEffect(() => {\r\n // if (id !== undefined) {\r\n // setSubjectData(\"Mitco Invoice ID: \" + id);\r\n // }\r\n // }, [id]);\r\n\r\n // looking for loading/dispatch\r\n useEffect(() => { }, [isLoading, dispatch]);\r\n\r\n const deleteProduct = async () => {\r\n // server request for deleting product by id\r\n if (ToData === null) {\r\n Notification(\"error\", \"Please fill email Info\");\r\n return;\r\n }\r\n setisLoadingSend(true);\r\n\r\n const data = {\r\n Emails: ToData,\r\n Subject: SubjectData,\r\n Body: BodyData ?? message,\r\n IncludeCc: includCCData,\r\n Ids:rows.map(item=>item.Id),\r\n Attachments : AttachmentData\r\n };\r\n var raw = JSON.stringify(data);\r\n var requestOptions = {\r\n method: \"POST\",\r\n body: raw,\r\n redirect: \"follow\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n };\r\n let response = await fetch(\r\n `${window.$apiurl}/billing/sendMultiOutboundEmail`,\r\n requestOptions\r\n );\r\n if (response.status === 200) {\r\n Notification(\"success\", \"Email sent successfuly for Invoice IDs \" + rows.map(item=>item).join(\",\"));\r\n // setToData(null);\r\n // setSubjectData(null);\r\n // setBodyData(null);\r\n // setincludCCData(false);\r\n setAttachmentData([]);\r\n setisLoadingSend(false);\r\n onHide();\r\n } else {\r\n Notification(\"error\", \"invalid data\");\r\n setAttachmentData([]);\r\n setisLoadingSend(false);\r\n }\r\n };\r\n\r\n ///----------------------\r\n var result = dataTableCarriers.map(function(item) {\r\n return `\r\n \r\n ${item.Container}\r\n LOADED\r\n ${item.LoadDate}\r\n ${item.Customer}\r\n ${item.Carrier}\r\n ${item.Id}\r\n \r\n `;});\r\n var message = `\r\n

\r\n Good morning,
\r\n We show the following loads are available for pickup at the ${dataTableCarriers.length >\r\n 0 &&\r\n dataTableCarriers[0]\r\n ?.PickUpLocation}, please confirm your schedule for pickup.\r\n

\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ${result}\r\n \r\n
CONTAINERSTATUSLD DATEACCOUNTDRAYMANeMP Load
\r\n
\r\n`;\r\n return (\r\n {\r\n //setShow(false);\r\n }}\r\n aria-labelledby=\"example-modal-sizes-title-lg\"\r\n size=\"xl\"\r\n >\r\n {isLoading && }\r\n \r\n \r\n Shipment Status `Loaded` Send\r\n \r\n {\r\n onHide();\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n {isLoading && Shipment Documents is Sending...}\r\n \r\n
\r\n
\r\n
\r\n
\r\n

To:

\r\n {\r\n var obj = [];\r\n var objDefeault = [];\r\n if (e) {\r\n e.forEach((item, index) => {\r\n obj.push({ Email: item.label, Name: item.value });\r\n objDefeault.push({\r\n value: item.value,\r\n label: item.value,\r\n });\r\n });\r\n }\r\n setToData(obj);\r\n setCustomerEmailsListDefeault(objDefeault);\r\n }}\r\n />\r\n {\r\n setincludCCData(event.target.checked);\r\n }}\r\n />\r\n
\r\n
\r\n

Subject:

\r\n {\r\n setSubjectData(event.target.value);\r\n }}\r\n />\r\n
\r\n
\r\n

Body:

\r\n\r\n {\r\n const data = editor.getData();\r\n var html = `
${data}
`;\r\n var element = $(html);\r\n var div = element.find(\".table table tr td\");\r\n div.css(\"border\", \"1px solid black\");\r\n div.css(\"font-size\", \"12px\");\r\n div.css(\"padding\", \"8px\");\r\n html = element.html();\r\n console.log(\"html\");\r\n console.log(html);\r\n setBodyData(html);\r\n }}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n {\r\n onHide();\r\n }}\r\n className=\"btn btn-light btn-elevate\"\r\n >\r\n Cancel\r\n \r\n <> \r\n \r\n Send Email\r\n {isLoadingSend && (\r\n \r\n )}\r\n \r\n
\r\n
\r\n \r\n );\r\n}\r\n","import React, { useMemo, useState } from \"react\";\r\nimport { useCustomersUIContext } from \"../CustomersUIContext\";\r\nimport ShippingBulkEmail from \"./ShippingBulkEmail\";\r\nexport function CustomersGrouping() {\r\n // Customers UI Context\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n ids: customersUIContext.ids,\r\n setIds: customersUIContext.setIds,\r\n openDeleteCustomersDialog: customersUIContext.openDeleteCustomersDialog,\r\n openFetchCustomersDialog: customersUIContext.openFetchCustomersDialog,\r\n openUpdateCustomersStatusDialog:\r\n customersUIContext.openUpdateCustomersStatusDialog,\r\n };\r\n }, [customersUIContext]);\r\n const [OpenEmailBulkPage, setOpenEmailBulkPage] = useState(false);\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n {window.$ShipmentManagementStatusName === \"Loaded\" &&\r\n customersUIProps.ids.length > 0 && (\r\n
\r\n
\r\n {\r\n setOpenEmailBulkPage(true);\r\n }}\r\n >\r\n Send Bulk Email\r\n \r\n
\r\n
\r\n )}\r\n {OpenEmailBulkPage && (\r\n \r\n )}\r\n
\r\n );\r\n}\r\n","import React, { useState, useEffect, useMemo } from \"react\";\r\nimport BootstrapTable from \"react-bootstrap-table-next\";\r\nimport paginationFactory, {\r\n PaginationProvider,\r\n} from \"react-bootstrap-table2-paginator\";\r\nimport { shallowEqual, useDispatch, useSelector } from \"react-redux\";\r\nimport * as actions from \"../../../_redux/AllOrdersBeta/customersActions\";\r\nimport {\r\n getSelectRow,\r\n getHandlerTableChange,\r\n NoRecordsFoundMessage,\r\n PleaseWaitMessage,\r\n sortCaret,\r\n} from \"../../../../../../_metronic/_helpers\";\r\nimport $ from \"jquery\";\r\nimport { ModelManagment, ModelManagmentFirst } from \"./ModelShipmentManagment\";\r\nimport { OneMoveMaster } from \"../../../../eMPower/pages/Transload/FindOrders/product-Containers/remark-edit-dialog/OneMoveMaster\";\r\nimport * as uiHelpers from \"../CustomersUIHelpers\";\r\nimport * as columnFormatters from \"./column-formatters\";\r\nimport {\r\n Pagination,\r\n CheckboxLargeWB,\r\n} from \"../../../../../../_metronic/_partials/controls\";\r\nimport { useCustomersUIContext } from \"../CustomersUIContext\";\r\nimport { Modal, Spinner } from \"react-bootstrap\";\r\nimport {\r\n toAbsoluteUrl,\r\n SimpleZoom,\r\n} from \"../../../../../../_metronic/_helpers\";\r\nimport SVG from \"react-inlinesvg\";\r\nimport { OverlayTrigger, Tooltip } from \"react-bootstrap\";\r\nimport moment from \"moment\";\r\nimport \"./Style.css\";\r\nimport DynamicReport from \"../../../../../pages/DynamicReport/DyanmicReport\";\r\nimport { BLFORM } from \"../../../../../pages/BL/BLFORM\";\r\nimport { OutboundManifest } from \"../../../../../pages/SCENTSY/OutboundManifest\";\r\nimport { PLFORM } from \"../../../../../pages/PL/PLFORM\";\r\nimport { DRAYAGEFORM } from \"../../../../../pages/Drayage/DRAYAGEFORM\";\r\nimport { TRCFORM } from \"../../../../../pages/TRC/TRCFORM\";\r\nimport { LTLFORM } from \"../../../../../pages/LTL/LTLFORM\";\r\nvar getDate = function(d) {\r\n if (d === null || d === \"\" || d === undefined) return \"\";\r\n var format = \"MM/DD/YYYY hh:mm A\";\r\n if (\r\n moment(d)\r\n .startOf(\"day\")\r\n .valueOf() === moment(d).valueOf()\r\n ) {\r\n format = \"MM/DD/YYYY\";\r\n }\r\n return (\r\n \r\n {moment(d).format(format)}\r\n \r\n );\r\n};\r\n\r\nexport function AllOrderTableTable() {\r\n // Customers UI Context\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n ids: customersUIContext.ids,\r\n setIds: customersUIContext.setIds,\r\n queryParams: customersUIContext.queryParams,\r\n setQueryParams: customersUIContext.setQueryParams,\r\n openEditCustomerDialog: customersUIContext.openEditCustomerDialog,\r\n openDeleteCustomerDialog: customersUIContext.openDeleteCustomerDialog,\r\n };\r\n }, [customersUIContext]);\r\n useEffect(() => {\r\n setstatusId(window.$ShipmentManagementStatus);\r\n }, [window.$ShipmentManagementStatus]);\r\n const [OneMoveMasterShowLink, setOneMoveMasterShowLink] = useState(false);\r\n const [OneMoveMasterShowId, setOneMoveMasterShowId] = useState(false);\r\n const [showInboundManifest, setOutboundManifest] = useState(false);\r\n const [showDispatchReport, setRateConfirmation] = useState(false);\r\n const [showPl, setPL] = useState(false);\r\n const [showBol, setBol] = useState(false);\r\n const [rowItem, setRow] = useState(null);\r\n const [modeItem, setModeItem] = useState(null);\r\n const [statusId, setstatusId] = useState(0);\r\n\r\n // Getting curret state of customers list from store (Redux)\r\n const { currentState } = useSelector(\r\n (state) => ({ currentState: state.customers }),\r\n shallowEqual\r\n );\r\n const { totalCount, entities, listLoading } = currentState;\r\n\r\n // Customers Redux state\r\n const dispatch = useDispatch();\r\n useEffect(() => {\r\n // clear selections list\r\n customersUIProps.setIds([]);\r\n $(\".ShipmentManagment input:checked\").prop(\"checked\", false);\r\n // server call by queryParams\r\n dispatch(actions.fetchCustomers(customersUIProps.queryParams));\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [customersUIProps.queryParams, dispatch]);\r\n // Table columns\r\n const columnsFirst = [\r\n {\r\n dataField: \"id\",\r\n text: \"#\",\r\n formatter: (cell, row) => {\r\n const actions = {\r\n openEditCustomerDialog: customersUIProps.openEditCustomerDialog,\r\n openDeleteCustomerDialog: customersUIProps.openDeleteCustomerDialog,\r\n setOutboundManifest: setOutboundManifest,\r\n setRateConfirmation: setRateConfirmation,\r\n setBol: setBol,\r\n setPL: setPL,\r\n setRowItem: setRow,\r\n setModeItem: setModeItem,\r\n };\r\n return ;\r\n },\r\n },\r\n {\r\n dataField: \"id\",\r\n text: \"ID\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n formatter: (cell, row) => {\r\n return ;\r\n },\r\n },\r\n {\r\n dataField: \"EquipmentNumber\",\r\n text: \"Trailer Number\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n },\r\n {\r\n dataField: \"CustomerName\",\r\n text: \"Customer\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n formatter: (cell, row) => {\r\n if (\r\n row.CustomerCode !== null &&\r\n row.CustomerCode !== \"\" &&\r\n row.CustomerCode !== undefined\r\n ) {\r\n return (\r\n <>\r\n {row.CustomerCode + \" \"}\r\n \r\n {row.CustomerName}\r\n \r\n }\r\n >\r\n false}\r\n className=\"btn btn-icon btn-light btn-hover-light btn-sm\"\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n },\r\n },\r\n {\r\n dataField: \"ShipperName\",\r\n text: \"Shipper Name/City State\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n formatter: (cell, row) => {\r\n var string =\r\n (row.OriginCompanyName !== null ? row.OriginCompanyName : \"\") +\r\n \"/\" +\r\n row.FromCity +\r\n (row.FromState !== null && row.FromState !== \"\"\r\n ? \", \" + row.FromState\r\n : \"\");\r\n if (\r\n row.OriginCompanyName !== null &&\r\n row.OriginCompanyName !== \"\" &&\r\n row.OriginCompanyName !== undefined\r\n ) {\r\n return (\r\n <>\r\n {row.OriginCompanyCode + \" \"}\r\n {string}}\r\n >\r\n false}\r\n className=\"btn btn-icon btn-light btn-hover-light btn-sm\"\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n },\r\n },\r\n {\r\n dataField: \"ConsigneeName\",\r\n text: \"Consignee Name/City State\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n formatter: (cell, row) => {\r\n var string =\r\n (row.DestinationCompanyName !== null\r\n ? row.DestinationCompanyName\r\n : \"\") +\r\n \"/\" +\r\n row.ToCity +\r\n (row.ToState !== null && row.ToState !== \"\"\r\n ? \", \" + row.ToState\r\n : \"\");\r\n if (\r\n row.DestinationCompanyName !== null &&\r\n row.DestinationCompanyName !== \"\" &&\r\n row.DestinationCompanyName !== undefined\r\n ) {\r\n return (\r\n <>\r\n {row.DestinationCompanyCode + \" \"}\r\n {string}}\r\n >\r\n false}\r\n className=\"btn btn-icon btn-light btn-hover-light btn-sm\"\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n },\r\n },\r\n {\r\n dataField: \"FreightCharge\",\r\n text: \"Freight Charge\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n hidden: statusId !== 2 && statusId !== 7 ? true : false,\r\n },\r\n {\r\n dataField: \"DeliveryEta\",\r\n text: \"Delivery ETA\",\r\n sort: true,\r\n hidden: statusId !== 7 && statusId !== 9 ? true : false,\r\n sortCaret: sortCaret,\r\n formatter: (cell, row) => {\r\n return <>{getDate(row.DeliveryEta)};\r\n },\r\n },\r\n {\r\n dataField: \"StatusDeliveredDate\",\r\n text: \"Actual Delivered Date\",\r\n sort: true,\r\n hidden: statusId !== 12 ? true : false,\r\n sortCaret: sortCaret,\r\n formatter: (cell, row) => {\r\n return <>{getDate(row.StatusDeliveredDate)};\r\n },\r\n },\r\n {\r\n dataField: \"RequestedPickUpDate\",\r\n text: \"PICKUP ready DATE/Time\",\r\n sort: true,\r\n hidden: statusId !== 2 ? true : false,\r\n sortCaret: sortCaret,\r\n formatter: (cell, row) => {\r\n return <>{getDate(row.RequestedPickUpDate)};\r\n },\r\n },\r\n {\r\n dataField: \"PickupAppointmentDate\",\r\n text: \"PickUp by Date/Time\",\r\n sort: true,\r\n hidden: statusId !== 2 ? true : false,\r\n sortCaret: sortCaret,\r\n formatter: (cell, row) => {\r\n return <>{getDate(row.PickupAppointmentDate)};\r\n },\r\n }, //LastShipDate\r\n {\r\n dataField: \"LastShipDate\",\r\n text: \"Last Ship Date\",\r\n sort: true,\r\n hidden: statusId !== 2 ? true : false,\r\n sortCaret: sortCaret,\r\n formatter: (cell, row) => {\r\n return <>{getDate(row.LastShipDate)};\r\n },\r\n },\r\n {\r\n dataField: \"DeliveryAppointmentDate\",\r\n text: \"Delivery Appointment\",\r\n sort: true,\r\n hidden: statusId === 2 || statusId === 12 ? true : false,\r\n sortCaret: sortCaret,\r\n formatter: (cell, row) => {\r\n return <>{getDate(row.DeliveryAppointmentDate)};\r\n },\r\n },\r\n\r\n {\r\n dataField: \"LoadingType\",\r\n text: \"Loading Type\",\r\n hidden: statusId !== 2 ? true : false,\r\n sort: true,\r\n sortCaret: sortCaret,\r\n },\r\n {\r\n dataField: \"Weight\",\r\n text: \"Weight\",\r\n hidden: statusId !== 2 ? true : false,\r\n sort: true,\r\n sortCaret: sortCaret,\r\n formatter: (cell, row) => {\r\n return <>{row.Weight};\r\n },\r\n },\r\n {\r\n dataField: \"Commodity\",\r\n text: \"Commodity\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n hidden: statusId !== 2 ? true : false,\r\n },\r\n {\r\n dataField: \"CarrierName\",\r\n text: \"Carrier\",\r\n hidden: statusId === 2 ? true : false,\r\n sort: true,\r\n sortCaret: sortCaret,\r\n formatter: (cell, row) => {\r\n if (\r\n row.CarrierName !== null &&\r\n row.CarrierName !== \"\" &&\r\n row.CarrierName !== undefined\r\n ) {\r\n return (\r\n <>\r\n {row.CarrierCode + \" \"}\r\n \r\n {row.CarrierName}\r\n \r\n }\r\n >\r\n false}\r\n className=\"btn btn-icon btn-light btn-hover-light btn-sm\"\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n },\r\n },\r\n {\r\n dataField: \"CarrierPhoneNumber\",\r\n text: \"Carrier Phone#\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n },\r\n {\r\n dataField: \"EquipmentType\",\r\n text: \"Equipment Type\",\r\n hidden: statusId === 2 ? true : false,\r\n sort: true,\r\n sortCaret: sortCaret,\r\n },\r\n {\r\n dataField: \"Alerts\",\r\n text: \"Alerts\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n formatter: columnFormatters.AlertsColumnFormatter,\r\n classes: \"text-center\",\r\n headerClasses: \"text-center\",\r\n style: {\r\n minWidth: \"100px\",\r\n },\r\n },\r\n {\r\n dataField: \"Status\",\r\n text: \"Status\",\r\n id: \"actionsShipmentsTab\",\r\n classes: \"text-center px-0\",\r\n headerClasses: \"text-center pr-3\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n formatter: columnFormatters.StatusColumnFormatter,\r\n },\r\n ];\r\n (JSON.parse(localStorage.getItem(\"ColumnVisibility_SM\")) || []).forEach(\r\n (x) => {\r\n const a = columnsFirst.find(\r\n (y) => y?.dataField + y?.text === x?.dataField + x?.text\r\n );\r\n if (a) a.hidden = x?.hidden || false;\r\n }\r\n );\r\n const [columns, setcolumns] = useState(columnsFirst);\r\n // Table pagination properties\r\n const paginationOptions = {\r\n custom: true,\r\n totalSize: totalCount,\r\n sizePerPageList: uiHelpers.sizePerPageList,\r\n sizePerPage: customersUIProps.queryParams.pageSize,\r\n page: customersUIProps.queryParams.pageNumber,\r\n };\r\n return (\r\n <>\r\n {\r\n setOneMoveMasterShowLink(false);\r\n }} */\r\n >\r\n \r\n \r\n \r\n Column visibility \r\n \r\n }\r\n body={\r\n
\r\n {columns.map((x) => (\r\n
\r\n {\r\n let a = columns;\r\n a.forEach((y) => {\r\n if (y?.dataField + y?.text === x?.dataField + x?.text) {\r\n y.hidden = !y.hidden;\r\n }\r\n });\r\n setcolumns([]);\r\n setTimeout(() => {\r\n setcolumns(a);\r\n localStorage.setItem(\r\n \"ColumnVisibility_SM\",\r\n JSON.stringify(a)\r\n );\r\n }, 1);\r\n }}\r\n />\r\n
\r\n ))}\r\n {/*
\r\n {\r\n setcolumns(columnsFirst.concat([]));\r\n }}\r\n >\r\n Rest\r\n \r\n
*/}\r\n {columns.length === 0 && (\r\n \r\n Loading...\r\n \r\n )}\r\n
\r\n }\r\n />\r\n \r\n {({ paginationProps, paginationTableProps }) => {\r\n return (\r\n \r\n \r\n There is no data available at the moment.\r\n \r\n }\r\n wrapperClasses=\"table-responsive\"\r\n bordered={false}\r\n classes=\"table table-head-custom table-vertical-center smTable\"\r\n bootstrap4\r\n remote\r\n keyField=\"id\"\r\n data={entities === null ? [] : entities}\r\n columns={columns}\r\n defaultSorted={uiHelpers.defaultSorted}\r\n onTableChange={getHandlerTableChange(\r\n customersUIProps.setQueryParams\r\n )}\r\n selectRow={getSelectRow({\r\n entities,\r\n ids: customersUIProps.ids,\r\n setIds: customersUIProps.setIds,\r\n })}\r\n {...paginationTableProps}\r\n >\r\n \r\n \r\n \r\n \r\n );\r\n }}\r\n \r\n\r\n {/* ************************ Reports RM *************************** */}\r\n }\r\n />\r\n \r\n ) : modeItem === \"Intermodal Rail (COFC)\" ? (\r\n \r\n ) : modeItem === \"OTR (Over The Road)\" ? (\r\n \r\n ) : (\r\n \r\n )\r\n }\r\n />\r\n }\r\n />\r\n }\r\n />\r\n {/* **************************************************************** */}\r\n \r\n );\r\n}\r\n","import {\r\n Button, emphasize, Icon, IconButton, ListItemIcon, ListItemText, makeStyles, Menu, MenuItem, MenuList, Typography, withStyles\r\n} from \"@material-ui/core\";\r\nimport CloseIcon from \"@material-ui/icons/Close\";\r\nimport $ from \"jquery\";\r\nimport low from \"lowdb\";\r\nimport LocalStorage from \"lowdb/adapters/LocalStorage\";\r\nimport React, { useEffect, useMemo, useState } from \"react\";\r\nimport { ButtonToolbar, Modal, Spinner } from \"react-bootstrap\";\r\nimport { Helmet } from \"react-helmet\";\r\nimport SVG from \"react-inlinesvg\";\r\nimport { useSubheader } from \"../../../../../_metronic/layout\";\r\nimport { ShipmentActions } from \"../../../../../_metronic/layout/components/extras/ShipmentActionsBeta\";\r\nimport { toAbsoluteUrl } from \"../../../../../_metronic/_helpers\";\r\nimport { Close_aside, Export } from \"../../../../../_metronic/_helpers/ATHelpers\";\r\nimport {\r\n Card,\r\n CardBody,\r\n CardHeader,\r\n CardHeaderToolbar\r\n} from \"../../../../../_metronic/_partials/controls\";\r\nimport { Notification } from \"../../../../modules/Notification\";\r\nimport { OneMoveMaster } from \"../Transload/FindOrders/product-Containers/remark-edit-dialog/OneMoveMaster\";\r\nimport { CustomersFilter } from \"./customers-filter/CustomersFilter\";\r\nimport { CustomersGrouping } from \"./customers-grouping/CustomersGrouping\";\r\nimport { AllOrderTableTable } from \"./customers-table/CustomersTable\";\r\nimport { useCustomersUIContext } from \"./CustomersUIContext\";\r\nconst adapter = new LocalStorage(\"db\");\r\nconst db = low(adapter);\r\n\r\nconst StyledMenu = withStyles({\r\n paper: {\r\n border: \"1px solid #d3d4d5\",\r\n },\r\n})((props) => (\r\n \r\n));\r\nconst StyledMenuItem = withStyles((theme) => ({\r\n root: {\r\n \"&:focus\": {\r\n backgroundColor: theme.palette.primary.main,\r\n \"& .MuiListItemIcon-root, & .MuiListItemText-primary\": {\r\n color: theme.palette.common.white,\r\n },\r\n },\r\n },\r\n}))(MenuItem);\r\nconst useStyles = makeStyles((theme) => ({\r\n root: {\r\n flexGrow: 1,\r\n height: 250,\r\n },\r\n input: {\r\n display: \"flex\",\r\n padding: 0,\r\n height: \"auto\",\r\n },\r\n valueContainer: {\r\n display: \"flex\",\r\n flexWrap: \"wrap\",\r\n flex: 1,\r\n alignItems: \"center\",\r\n overflow: \"hidden\",\r\n },\r\n chip: {\r\n margin: theme.spacing(0.5, 0.25),\r\n },\r\n chipFocused: {\r\n backgroundColor: emphasize(\r\n theme.palette.type === \"light\"\r\n ? theme.palette.grey[300]\r\n : theme.palette.grey[700],\r\n 0.08\r\n ),\r\n },\r\n noOptionsMessage: {\r\n padding: theme.spacing(1, 2),\r\n },\r\n placeholder: {\r\n position: \"absolute\",\r\n left: 2,\r\n bottom: 6,\r\n fontSize: 13,\r\n },\r\n paper: {\r\n position: \"absolute\",\r\n zIndex: 1,\r\n marginTop: theme.spacing(1),\r\n left: 0,\r\n right: 0,\r\n },\r\n divider: {\r\n height: theme.spacing(2),\r\n },\r\n button: {\r\n margin: theme.spacing(1),\r\n },\r\n leftIcon: {\r\n marginRight: theme.spacing(1),\r\n },\r\n rightIcon: {\r\n marginLeft: theme.spacing(1),\r\n },\r\n iconSmall: {\r\n fontSize: 20,\r\n },\r\n textField: {\r\n marginLeft: theme.spacing(1),\r\n marginRight: theme.spacing(1),\r\n },\r\n}));\r\n\r\nexport function CustomersCard() {\r\n const subHeader = useSubheader();\r\n useEffect(() => {\r\n let _title = \"Shipments Management\";\r\n subHeader.setTitle(_title);\r\n }, [subHeader]);\r\n const classes = useStyles();\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n queryParams: customersUIContext.queryParams,\r\n setQueryParams: customersUIContext.setQueryParams,\r\n ids: customersUIContext.ids,\r\n newCustomerButtonClick: customersUIContext.newCustomerButtonClick,\r\n };\r\n }, [customersUIContext]);\r\n const [ShipmentsCount, setShipmentsCount] = useState([]);\r\n const [ShipmentsException, setShipmentsException] = useState([]);\r\n const [anchorEl, setAnchorEl] = React.useState(null);\r\n const [ExceptionsLoading, setExceptionsLoading] = React.useState(false);\r\n const [ExportLoadingData, setExportLoadingData] = React.useState(false);\r\n const [OneMoveMasterShow, setOneMoveMasterShow] = useState(false);\r\n\r\n function handleClick(event) {\r\n setAnchorEl(event.currentTarget);\r\n }\r\n function handleClose() {\r\n setAnchorEl(null);\r\n }\r\n const [ShipmentNewModel, setShipmentNewModelt] = useState(false);\r\n\r\n useEffect(() => {\r\n Close_aside();\r\n window.$ShipmentManagementStatus = \"\";\r\n $(document).ready(function() {\r\n $('.breadcrumb-item [href=\"/ShipmentsManagement\"]').html(`Management`);\r\n });\r\n\r\n window.SM_GetViewModel = undefined;\r\n }, []);\r\n\r\n async function PostNewShipment() {\r\n var label = $(\"#LabelForShipmentID\").val() || \"\";\r\n return await fetch(\r\n `${window.$apiurl}/transload/shipment?label=${label}&orderId=`,\r\n {\r\n method: \"post\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n }\r\n )\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then(async (res) => {\r\n Notification(\"success\", \"Create New Shipment ID : \" + res[1]?.Id);\r\n setShipmentNewModelt(false);\r\n return res[1];\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n\r\n async function PostNewShipment() {\r\n var label = $(\"#LabelForShipmentID\").val() || \"\";\r\n return await fetch(\r\n `${window.$apiurl}/transload/shipment?label=${label}&orderId=`,\r\n {\r\n method: \"post\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n }\r\n )\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then(async (res) => {\r\n Notification(\"success\", \"Create New Shipment ID : \" + res[1]?.Id);\r\n setOneMoveMasterShow(res[1]?.Id || false);\r\n setShipmentNewModelt(false);\r\n document.getElementById(\"ReLoadTableId\").click();\r\n return res[1];\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n\r\n useEffect(() => {\r\n var refreshIntervalId = setInterval(function() {\r\n var statusCount = window.shipmentCount;\r\n if (statusCount) {\r\n setShipmentsCount(window.shipmentCount || []);\r\n //setShipmentsException(window.shipmentExceptions || []);\r\n clearInterval(refreshIntervalId);\r\n }\r\n }, 500);\r\n }, [customersUIContext.queryParams]);\r\n useEffect(() => {\r\n setTimeout(() => {\r\n getExceptionAscync();\r\n }, 500);\r\n }, [\r\n window.$ShipmentManagementServiceLevelId,\r\n customersUIContext.queryParams.filter.equipmentTypeId,\r\n customersUIContext.queryParams.filter.equipmentSizeId,\r\n customersUIContext.queryParams.filter.shipFrom,\r\n customersUIContext.queryParams.filter.Carrier,\r\n customersUIContext.queryParams.filter.DateRangeType,\r\n customersUIContext.queryParams.filter.endDate,\r\n customersUIContext.queryParams.filter.isHot,\r\n customersUIContext.queryParams.filter.isHazardousMaterial,\r\n customersUIContext.queryParams.filter.IsHeavy,\r\n window.$SmGsearchStartDate,\r\n window.$ShipmentManagementModeId,\r\n window.$ShipmentManagementServiceId,\r\n window.$CustomerIdsSm,\r\n ]);\r\n\r\n async function getExceptionAscync() {\r\n setExceptionsLoading(true);\r\n var myHeaders = new Headers();\r\n myHeaders.append(\"Authorization\", `bearer ${db.read().getState().Token}`);\r\n myHeaders.append(\"Content-Type\", \"application/json\");\r\n myHeaders.append(\"X-FP-API-KEY\", \"iphone\");\r\n var requestOptions = {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: myHeaders,\r\n redirect: \"follow\",\r\n };\r\n await fetch(\r\n `${window.$apiurl}/transportation/getexceptions${window.SMLinkUsed}`,\r\n requestOptions\r\n )\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then(async (res) => {\r\n setExceptionsLoading(false);\r\n setShipmentsException(res[1] || []);\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n setExceptionsLoading(false);\r\n }\r\n async function fetchMyAPI2(type, entityName) {\r\n setExportLoadingData(true);\r\n setAnchorEl(null);\r\n return await fetch(`${window.$apiurl}${window.exportSMLink}`, {\r\n method: \"get\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n if (statusCode === 401) {\r\n try {\r\n document.getElementById(\"401Link\").click();\r\n } catch (err) {\r\n console.log(err);\r\n }\r\n }\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n Export(res[1].Shipments, type, entityName);\r\n setExportLoadingData(false);\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n setExportLoadingData(false);\r\n });\r\n }\r\n\r\n return (\r\n <>\r\n \r\n eMPower | Shipment Managment\r\n \r\n \r\n \r\n \r\n New Shipment\r\n {\r\n setShipmentNewModelt(false);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n {\r\n setShipmentNewModelt(false);\r\n }}\r\n >\r\n Close\r\n \r\n {\r\n setShipmentNewModelt(false);\r\n PostNewShipment();\r\n }}\r\n >\r\n Create\r\n \r\n \r\n
\r\n\r\n \r\n \r\n New Shipment\r\n {\r\n setShipmentNewModelt(false);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n {\r\n setShipmentNewModelt(false);\r\n }}\r\n >\r\n Close\r\n \r\n {\r\n setShipmentNewModelt(false);\r\n PostNewShipment();\r\n }}\r\n >\r\n Next\r\n \r\n \r\n
\r\n\r\n {\r\n setOneMoveMasterShow(false);\r\n }}\r\n >\r\n \r\n \r\n\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
Statuses
\r\n \r\n {\r\n window.$ShipmentManagementStatus = \"\";\r\n window.$ShipmentManagementStatusName = \"All\";\r\n window.$ShipmentManagementexception = \"\";\r\n window.$ShipmentManagementHot = \"false\";\r\n window.$ShipmentManagementHazmat = \"false\";\r\n window.$ShipmentManagementHeavy = \"false\";\r\n $(\r\n '.breadcrumb-item [href=\"/ShipmentsManagement\"]'\r\n ).html(`Management ${\"\"}`);\r\n document.getElementById(\"ReLoadTableId\").click();\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n ALL Shipments\r\n \r\n \r\n \r\n {ShipmentsCount.reduce(\r\n (a, b) => a + (b[\"CountItems\"] || 0),\r\n 0\r\n )}\r\n \r\n \r\n \r\n {ShipmentsCount.map((item, index) => (\r\n {\r\n window.$ShipmentManagementStatus = item.StatusId;\r\n window.$ShipmentManagementStatusName = item.StatusName;\r\n window.$ShipmentManagementexception = \"\";\r\n $(\r\n '.breadcrumb-item [href=\"/ShipmentsManagement\"]'\r\n ).html(\r\n `Management ${\" > \" +\r\n item?.StatusName}`\r\n );\r\n document.getElementById(\"ReLoadTableId\").click();\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n {item.StatusName}\r\n \r\n \r\n \r\n {item.CountItems}\r\n \r\n \r\n \r\n ))}\r\n \r\n
\r\n
\r\n
\r\n \r\n
Exceptions
\r\n {\r\n getExceptionAscync();\r\n }}\r\n >\r\n {ExceptionsLoading === true ? (\r\n
\r\n {\" \"}\r\n \r\n
\r\n ) : (\r\n \"\"\r\n )}\r\n {ExceptionsLoading === false\r\n ? ShipmentsException.map((item, index) => (\r\n {\r\n window.$ShipmentManagementexception = item?.Id;\r\n window.$ShipmentManagementStatus = \"\";\r\n window.$ShipmentManagementStatusName = item?.Name;\r\n document.getElementById(\"ReLoadTableId\").click();\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n {item?.Name}\r\n \r\n \r\n \r\n {item?.Count}\r\n \r\n \r\n \r\n ))\r\n : \"\"}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n Export as\r\n save\r\n {ExportLoadingData && (\r\n \r\n )}\r\n \r\n \r\n {\r\n fetchMyAPI2(\r\n \"excel\",\r\n window.$exportFilterSM.length > 150\r\n ? window.$exportFilterSM.slice(0, 150)\r\n : window.$exportFilterSM\r\n );\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n {\r\n fetchMyAPI2(\r\n \"csv\",\r\n window.$exportFilterSM.length > 150\r\n ? window.$exportFilterSM.slice(0, 150)\r\n : window.$exportFilterSM\r\n );\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n {\r\n fetchMyAPI2(\r\n \"json\",\r\n window.$exportFilterSM.length > 150\r\n ? window.$exportFilterSM.slice(0, 150)\r\n : window.$exportFilterSM\r\n );\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n setShipmentNewModelt(true);\r\n }}\r\n >\r\n New\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n {customersUIProps.ids.length > 0 && }\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n );\r\n}\r\n","import React, { useState } from \"react\";\r\nimport { Route } from \"react-router-dom\";\r\nimport { CustomersLoadingDialog } from \"./customers-loading-dialog/CustomersLoadingDialog\";\r\nimport { CustomerEditDialog } from \"./customer-edit-dialog/CustomerEditDialog\";\r\nimport { CustomerDeleteDialog } from \"./customer-delete-dialog/CustomerDeleteDialog\";\r\nimport { CustomersDeleteDialog } from \"./customers-delete-dialog/CustomersDeleteDialog\";\r\nimport { CustomersFetchDialog } from \"./customers-fetch-dialog/CustomersFetchDialog\";\r\nimport { CustomersUpdateStateDialog } from \"./customers-update-status-dialog/CustomersUpdateStateDialog\";\r\nimport { CustomersUIProvider } from \"./CustomersUIContext\";\r\nimport { CustomersCard } from \"./CustomersCard\";\r\n\r\nexport function ShipmentsManagmentBetaPage({ history }) {\r\n const [NewModal, setNewModal] = useState(false);\r\n const [EditModal, setEditModal] = useState(false);\r\n const [SendEmailModal, setSendEmailModal] = useState(false);\r\n const [DeleteModal, setDeleteModal] = useState(false);\r\n\r\n const customersUIEvents = {\r\n newCustomerButtonClick: () => {\r\n history.push(\"/ShipmentsManagement/new\");\r\n },\r\n openEditCustomerDialog: (id) => {\r\n setEditModal(id);\r\n //history.push(`/ShipmentsManagement/${id}/edit`);\r\n },\r\n openDeleteCustomerDialog: (id) => {\r\n setSendEmailModal(id);\r\n //history.push(`/ShipmentsManagement/${id}/SendEmail`);\r\n },\r\n openDeleteCustomersDialog: () => {\r\n history.push(`/ShipmentsManagement/deleteCustomers`);\r\n },\r\n openFetchCustomersDialog: () => {\r\n history.push(`/ShipmentsManagement/fetch`);\r\n },\r\n openUpdateCustomersStatusDialog: () => {\r\n history.push(\"/ShipmentsManagement/updateStatus\");\r\n },\r\n };\r\n\r\n return (\r\n \r\n \r\n\r\n {EditModal && (\r\n {\r\n setEditModal(false);\r\n }}\r\n />\r\n )}\r\n{SendEmailModal && (\r\n {\r\n setSendEmailModal(false);\r\n }}\r\n />\r\n )}\r\n {!EditModal && }\r\n {/* \r\n {({ history, match }) => (\r\n {\r\n history.push(\"/ShipmentsManagement\");\r\n }}\r\n />\r\n )}\r\n \r\n \r\n {({ history, match }) => (\r\n {\r\n history.push(\"/ShipmentsManagement\");\r\n }}\r\n />\r\n )}\r\n \r\n \r\n {({ history, match }) => (\r\n {\r\n history.push(\"/ShipmentsManagement\");\r\n }}\r\n />\r\n )}\r\n */}\r\n \r\n\r\n {/* \r\n {({ history, match }) => (\r\n {\r\n history.push(\"/ShipmentsManagement\");\r\n }}\r\n />\r\n )}\r\n \r\n \r\n {({ history, match }) => (\r\n {\r\n history.push(\"/ShipmentsManagement\");\r\n }}\r\n />\r\n )}\r\n */}\r\n \r\n );\r\n}\r\n","import { IconButton } from \"@material-ui/core\";\r\nimport Table from \"@material-ui/core/Table\";\r\nimport CloseIcon from \"@material-ui/icons/Close\";\r\nimport low from \"lowdb\";\r\nimport LocalStorage from \"lowdb/adapters/LocalStorage\";\r\nimport React, { useEffect, useMemo, useState } from \"react\";\r\nimport { Form, FormControl, InputGroup, Modal, Row } from \"react-bootstrap\";\r\nimport Select from \"react-select\";\r\nimport { useRemarksUIContext } from \"./RemarksUIContext\";\r\nconst adapter = new LocalStorage(\"db\");\r\nconst db = low(adapter);\r\n\r\nconst prepareFilter = (queryParams, values) => {\r\n const { searchText } = values;\r\n const newQueryParams = { ...queryParams };\r\n const filter = {};\r\n filter.text = searchText;\r\n newQueryParams.filter = filter;\r\n return newQueryParams;\r\n};\r\n\r\nexport function RemarksFilter() {\r\n // Remarks UI Context\r\n const remarksUIContext = useRemarksUIContext();\r\n const remarksUIProps = useMemo(() => {\r\n return {\r\n setQueryParams: remarksUIContext.setQueryParams,\r\n openNewRemarkDialog: remarksUIContext.openNewRemarkDialog,\r\n queryParams: remarksUIContext.queryParams,\r\n };\r\n }, [remarksUIContext]);\r\n const [ShowConst, setShowConst] = useState(false);\r\n const suggestions2 = [{ label: \"in./lbs.\" }, { label: \"cm./kg.\" }].map(\r\n (suggestion2) => ({\r\n value: suggestion2.label,\r\n label: suggestion2.label,\r\n })\r\n );\r\n async function ClassCalculatorFunctionFetch() {\r\n return await fetch(\r\n window.$apiurl +\r\n `/FreightClass/CalculateClass?length=${lengthValue}&width=${widthValue}&height=${heightValue}&weight=${weightValue}\r\n &isMeter=${isMeter}`,\r\n {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n }\r\n )\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n const a = res[1];\r\n setFreightClasses(a?.Classes);\r\n setFreightClassValue(a?.Result);\r\n setCubicValueF(a?.CubicFeet.toFixed(2));\r\n setCubicValueM(a?.CubicMeter.toFixed(2));\r\n setPcfValue(a?.Density.toFixed(2));\r\n setFreightClassValue(a?.Result);\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n const [freightClassValue, setFreightClassValue] = React.useState(0);\r\n const [freightClasses, setFreightClasses] = React.useState([]);\r\n\r\n const [lengthValue, setLengthValue] = React.useState(\"\");\r\n const [widthValue, setWidthValue] = React.useState(\"\");\r\n const [heightValue, setHeightValue] = React.useState(\"\");\r\n const [weightValue, setWeightValue] = React.useState(\"\");\r\n const [cubicValueM, setCubicValueM] = React.useState(0);\r\n const [pcfValue, setPcfValue] = React.useState(0);\r\n const [cubicValueF, setCubicValueF] = React.useState(0);\r\n const [IsLbsWeight, setIsLbsWeight] = React.useState(true);\r\n const [IsFeet, setIsFeet] = React.useState(false);\r\n const [isMeter, setIsMeter] = React.useState(false);\r\n const [unitWeight, setUnitWeight] = React.useState({\r\n value: \"in./lbs.\",\r\n label: \"in./lbs.\",\r\n });\r\n\r\n useEffect(() => {\r\n if (\r\n lengthValue !== \"\" &&\r\n heightValue !== \"\" &&\r\n widthValue !== \"\" &&\r\n weightValue !== \"\"\r\n ) {\r\n ClassCalculatorFunctionFetch();\r\n } else {\r\n setFreightClassValue(0);\r\n }\r\n }, [\r\n lengthValue,\r\n widthValue,\r\n heightValue,\r\n weightValue,\r\n isMeter,\r\n ]);\r\n return (\r\n <>\r\n\r\n {\r\n setShowConst(false);\r\n }}\r\n aria-labelledby=\"example-modal-sizes-title-lg\"\r\n >\r\n \r\n Class Calculator\r\n {\r\n setShowConst(false);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n {\r\n setWeightValue(e.target.value);\r\n }}\r\n />\r\n
\r\n
\r\n \r\n {\r\n try {\r\n if (e?.value === \"in./lbs.\") {\r\n setIsMeter(false);\r\n } else {\r\n setIsMeter(true);\r\n }\r\n setUnitWeight(e);\r\n } catch (err) {}\r\n }}\r\n className=\"rounded-0\"\r\n inputId=\"react-select-single\"\r\n placeholder=\"\"\r\n options={suggestions2}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n {\r\n setLengthValue(e.target.value);\r\n }}\r\n />\r\n
\r\n
\r\n \r\n {\r\n setWidthValue(e.target.value);\r\n }}\r\n />\r\n
\r\n
\r\n \r\n {\r\n setHeightValue(e.target.value);\r\n }}\r\n />\r\n
\r\n{/* \r\n
\r\n \r\n {\r\n try {\r\n if (e?.value === \"ft.\") {\r\n setIsFeet(true);\r\n setIsMeter(false);\r\n setUnitLength({\r\n value: \"lbs.\",\r\n label: \"lbs.\",\r\n });\r\n setIsLbsWeight(true);\r\n } else if(e?.value === \"cm.\") {\r\n setUnitLength({ value: \"kg\", label: \"kg\" });\r\n setIsLbsWeight(false);\r\n setIsFeet(false);\r\n setIsMeter(true);\r\n }else{\r\n setUnitLength({\r\n value: \"lbs.\",\r\n label: \"lbs.\",\r\n });\r\n setIsLbsWeight(true);\r\n setIsFeet(false);\r\n setIsMeter(false);\r\n }\r\n setUnitLength(e);\r\n } catch (err) {}\r\n }}\r\n options={suggestions}\r\n />\r\n
*/}\r\n
\r\n
\r\n
\r\n
\r\n \r\n

{cubicValueF}

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

{cubicValueM}

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

{pcfValue}

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

\r\n {freightClassValue}\r\n

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {freightClasses?.length > 0 &&\r\n freightClasses\r\n .sort((a, b) =>\r\n a.EstimatedClass.localeCompare(freightClassValue)\r\n )\r\n .slice(0, 5)\r\n .map((item) => (\r\n \r\n \r\n {\" \"}\r\n >= {item.GreaterThanOrEqual}\r\n \r\n \r\n {item.EstimatedClass}\r\n \r\n \r\n ))}\r\n \r\n
DensityClass
\r\n
\r\n
\r\n
\r\n \r\n {\r\n setWeightValue(\"\");\r\n setLengthValue(\"\");\r\n setWidthValue(\"\");\r\n setHeightValue(\"\");\r\n setCubicValueF(0);\r\n setCubicValueM(0);\r\n setPcfValue(0);\r\n setUnitWeight({ value: \"in./lbs.\", label: \"in./lbs.\" });\r\n setShowConst(false);\r\n }}\r\n >\r\n Close\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n {window.$ShipmentManagementModeName === \"LTL\" ? (\r\n {\r\n setShowConst(true);\r\n }}\r\n >\r\n \r\n Class Calculator\r\n \r\n ) : (\r\n \"\"\r\n )}\r\n
\r\n
\r\n remarksUIProps.openNewRemarkDialog()}\r\n >\r\n New\r\n \r\n
\r\n
\r\n
\r\n \r\n );\r\n}\r\n","import axios from \"axios\";\r\n\r\nexport const REMARKS_URL = \"api/TransportationItems\";\r\n\r\n// CREATE => POST: add a new remark to the server\r\nexport function createRemark(remark) {\r\n return axios.post(REMARKS_URL, { remark });\r\n}\r\n\r\n// READ\r\n// Server should return filtered remarks by productId\r\nexport function getAllProductRemarksByProductId(productId) {\r\n return axios.get(`${REMARKS_URL}?productId=${productId}`);\r\n}\r\n\r\nexport function getRemarkById(remarkId) {\r\n return axios.get(`${REMARKS_URL}/${remarkId}`);\r\n}\r\n\r\n// Server should return sorted/filtered remarks and merge with items from state\r\n// TODO: Change your URL to REAL API, right now URL is 'api/remarksfind/{productId}'. Should be 'api/remarks/find/{productId}'!!!\r\nexport function findRemarks(queryParams, productId) {\r\n return axios.post(`${REMARKS_URL}find/${productId}`, { queryParams });\r\n}\r\n\r\n// UPDATE => PUT: update the remark\r\nexport function updateRemark(remark) {\r\n return axios.put(`${REMARKS_URL}/${remark.id}`, { remark });\r\n}\r\n\r\n// DELETE => delete the remark\r\nexport function deleteRemark(remarkId) {\r\n return axios.delete(`${REMARKS_URL}/${remarkId}`);\r\n}\r\n\r\n// DELETE Remarks by ids\r\nexport function deleteRemarks(ids) {\r\n return axios.post(`${REMARKS_URL}/deleteRemarks`, { ids });\r\n}\r\n","import {createSlice} from \"@reduxjs/toolkit\";\r\n\r\nconst initialRemarksState = {\r\n listLoading: false,\r\n actionsLoading: false,\r\n totalCount: 0,\r\n entities: null,\r\n remarkForEdit: undefined,\r\n lastError: null\r\n};\r\nexport const callTypes = {\r\n list: \"list\",\r\n action: \"action\"\r\n};\r\n\r\nexport const ReceivingsSlice = createSlice({\r\n name: \"Receiving\",\r\n initialState: initialRemarksState,\r\n reducers: {\r\n catchError: (state, action) => {\r\n state.error = `${action.type}: ${action.payload.error}`;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = false;\r\n } else {\r\n state.actionsLoading = false;\r\n }\r\n },\r\n startCall: (state, action) => {\r\n state.error = null;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = true;\r\n } else {\r\n state.actionsLoading = true;\r\n }\r\n },\r\n // getRemarkById\r\n remarkFetched: (state, action) => {\r\n state.actionsLoading = false;\r\n state.remarkForEdit = action.payload.remarkForEdit;\r\n state.error = null;\r\n },\r\n // findRemarks\r\n remarksFetched: (state, action) => {\r\n const { totalCount, entities } = action.payload;\r\n state.listLoading = false;\r\n state.error = null;\r\n state.entities = entities;\r\n state.totalCount = totalCount;\r\n },\r\n // createRemark\r\n remarkCreated: (state, action) => {\r\n state.actionsLoading = false;\r\n state.error = null;\r\n state.entities.push(action.payload.remark);\r\n },\r\n // updateRemark\r\n remarkUpdated: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.map(entity => {\r\n if (entity.id === action.payload.remark.id) {\r\n return action.payload.remark;\r\n }\r\n return entity;\r\n });\r\n },\r\n // deleteRemark\r\n remarkDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(el => el.id !== action.payload.id);\r\n },\r\n // deleteRemarks\r\n remarksDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(\r\n el => !action.payload.ids.includes(el.id)\r\n );\r\n },\r\n // remarksUpdateState\r\n remarksStatusUpdated: (state, action) => {\r\n state.actionsLoading = false;\r\n state.error = null;\r\n const { ids, status } = action.payload;\r\n state.entities = state.entities.map(entity => {\r\n if (ids.findIndex(id => id === entity.id) > -1) {\r\n entity.status = status;\r\n }\r\n return entity;\r\n });\r\n }\r\n }\r\n});\r\n","import * as requestFromServer from \"./remarksCrud\";\r\nimport {ReceivingsSlice, callTypes} from \"./remarksSlice\";\r\n\r\nconst {actions} = ReceivingsSlice;\r\n\r\nexport const fetchRemarks = (queryParams, productId) => dispatch => {\r\n dispatch(actions.startCall({ callType: callTypes.list }));\r\n if (!productId) {\r\n return dispatch(actions.remarksFetched({ totalCount: 0, entities: null }));\r\n }\r\n\r\n return requestFromServer\r\n .findRemarks(queryParams, productId)\r\n .then(response => {\r\n const { totalCount, entities } = response.data;\r\n dispatch(actions.remarksFetched({ totalCount, entities }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't find remarks\";\r\n dispatch(actions.catchError({ error, callType: callTypes.list }));\r\n });\r\n};\r\n\r\nexport const fetchRemark = id => dispatch => {\r\n if (!id) {\r\n return dispatch(actions.remarkFetched({ remarkForEdit: undefined }));\r\n }\r\n\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .getRemarkById(id)\r\n .then(response => {\r\n const remark = response.data;\r\n dispatch(actions.remarkFetched({ remarkForEdit: remark }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't find remark\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const deleteRemark = id => dispatch => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .deleteRemark(id)\r\n .then(response => {\r\n dispatch(actions.remarkDeleted({ id }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't delete remark\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const createRemark = remarkForCreation => dispatch => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .createRemark(remarkForCreation)\r\n .then(response => {\r\n const { remark } = response.data;\r\n dispatch(actions.remarkCreated({ remark }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't create remark\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const updateRemark = remark => dispatch => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .updateRemark(remark)\r\n .then(() => {\r\n dispatch(actions.remarkUpdated({ remark }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't update remark\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const deleteRemarks = ids => dispatch => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .deleteRemarks(ids)\r\n .then(() => {\r\n console.log(\"delete return\");\r\n dispatch(actions.remarksDeleted({ ids }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't delete remarks\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n","import React from \"react\";\r\nimport { OverlayTrigger, Tooltip } from \"react-bootstrap\";\r\nimport SVG from \"react-inlinesvg\";\r\nimport { toAbsoluteUrl } from \"../../../../../../../../../../_metronic/_helpers\";\r\n\r\nexport const ActionsColumnFormatter = (\r\n cellContent,\r\n row,\r\n rowIndex,\r\n { openEditRemarkDialog, openDeleteRemarkDialog }\r\n) => (\r\n <>\r\n Edit item}\r\n >\r\n openEditRemarkDialog(row.id)}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n\r\n <> \r\n Delete item}\r\n >\r\n openDeleteRemarkDialog(row.id)}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n);\r\n","import React, { useEffect, useMemo } from \"react\";\r\nimport { shallowEqual, useDispatch, useSelector } from \"react-redux\";\r\nimport BootstrapTable from \"react-bootstrap-table-next\";\r\nimport paginationFactory, {\r\n PaginationProvider,\r\n} from \"react-bootstrap-table2-paginator\";\r\nimport * as actions from \"../../../../../../../eMPower/_redux/Transload/TransportationItems/remarksActions\";\r\nimport { ActionsColumnFormatter } from \"./column-formatters/ActionsColumnFormatter\";\r\nimport * as uiHelpers from \"./RemarksUIHelper\";\r\nimport { Pagination } from \"../../../../../../../../../_metronic/_partials/controls\";\r\nimport {\r\n getSelectRow,\r\n getHandlerTableChange,\r\n NoRecordsFoundMessage,\r\n PleaseWaitMessage,\r\n sortCaret,\r\n} from \"../../../../../../../../../_metronic/_helpers\";\r\nimport { toAbsoluteUrl } from \"../../../../../../../../../_metronic/_helpers\";\r\nimport SVG from \"react-inlinesvg\";\r\nimport { OverlayTrigger, Tooltip } from \"react-bootstrap\";\r\nimport { useRemarksUIContext } from \"./RemarksUIContext\";\r\n\r\nexport function RemarksTable() {\r\n // Remarks UI Context\r\n const remarksUIContext = useRemarksUIContext();\r\n const remarksUIProps = useMemo(() => {\r\n return {\r\n ids: remarksUIContext.ids,\r\n setIds: remarksUIContext.setIds,\r\n queryParams: remarksUIContext.queryParams,\r\n setQueryParams: remarksUIContext.setQueryParams,\r\n productId: remarksUIContext.productId,\r\n openEditRemarkDialog: remarksUIContext.openEditRemarkDialog,\r\n openDeleteRemarkDialog: remarksUIContext.openDeleteRemarkDialog,\r\n };\r\n }, [remarksUIContext]);\r\n\r\n // Getting curret state of products list from store (Redux)\r\n const { currentState } = useSelector(\r\n (state) => ({ currentState: state.Receiving }),\r\n shallowEqual\r\n );\r\n const { totalCount, entities, listLoading } = currentState;\r\n const dispatch = useDispatch();\r\n useEffect(() => {\r\n remarksUIProps.setIds([]);\r\n dispatch(\r\n actions.fetchRemarks(remarksUIProps.queryParams, remarksUIProps.productId)\r\n );\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [remarksUIProps.queryParams, dispatch, remarksUIProps.productId]);\r\n const columns = [\r\n {\r\n dataField: \"id\",\r\n text: \"Ln\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n },\r\n {\r\n dataField: \"PurchaseOrder\",\r\n text: \"P.O.\",\r\n sort: true,\r\n },\r\n {\r\n dataField: \"Sku\",\r\n text: \"SkU\",\r\n sort: false,\r\n },\r\n {\r\n dataField: \"Quantity\",\r\n text: \"Cartons\",\r\n sort: false,\r\n },\r\n {\r\n dataField: \"UnitOfMeasure\",\r\n text: \"UOM\",\r\n sort: false,\r\n },\r\n {\r\n dataField: \"Description\",\r\n text: \"Description\",\r\n sort: true,\r\n },\r\n {\r\n dataField: \"WeightMode\",\r\n text: \"Weight Mode\",\r\n sort: false,\r\n },\r\n {\r\n dataField: \"Weight\",\r\n text: \"Weight\",\r\n sort: false,\r\n formatter: (cell, row) => {\r\n return <>{row?.Weight?.toFixed(2)};\r\n },\r\n },\r\n {\r\n dataField: \"Cube\",\r\n text: \"Cube\",\r\n sort: true,\r\n formatter: (cell, row) => {\r\n return <>{row?.Cube?.toFixed(2)};\r\n },\r\n },\r\n {\r\n dataField: \"Class\",\r\n text: \"Class\",\r\n sort: true,\r\n }, \r\n {\r\n dataField: \"Nmfc\",\r\n text: \"NMFC\",\r\n sort: true,\r\n },\r\n // {\r\n // dataField: \"Shipped\",\r\n // text: \"Shipped\",\r\n // sort: false,\r\n // },\r\n // {\r\n // dataField: \"OverQuantity\",\r\n // text: \"Ovr\",\r\n // sort: false,\r\n // },\r\n // {\r\n // dataField: \"ShortQuantity\",\r\n // text: \"Shrt\",\r\n // sort: false,\r\n // },\r\n // {\r\n // dataField: \"DamagedQuantity\",\r\n // text: \"Dmg\",\r\n // sort: false,\r\n // },\r\n {\r\n dataField: \"IsHot\",\r\n text: \"ALERTS\",\r\n sort: true,\r\n formatter: (cell, row) => {\r\n return (\r\n <>\r\n {row?.IsHot && (\r\n Hot}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n )}\r\n {row?.IsHazmat && (\r\n \r\n Item contains Hazardous materials\r\n \r\n }\r\n >\r\n openEditProductPage(row.id)}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n )}\r\n \r\n );\r\n },\r\n },\r\n {\r\n dataField: \"action\",\r\n text: \"Actions\",\r\n formatter: ActionsColumnFormatter,\r\n formatExtraData: {\r\n openEditRemarkDialog: remarksUIProps.openEditRemarkDialog,\r\n openDeleteRemarkDialog: remarksUIProps.openDeleteRemarkDialog,\r\n },\r\n classes: \"text-center pr-0\",\r\n headerClasses: \"text-center pr-3\",\r\n style: {\r\n minWidth: \"100px\",\r\n },\r\n },\r\n ];\r\n\r\n const paginationOptions = {\r\n custom: true,\r\n totalSize: totalCount,\r\n sizePerPageList: uiHelpers.sizePerPageList,\r\n sizePerPage: remarksUIProps.queryParams.pageSize,\r\n page: remarksUIProps.queryParams.pageNumber,\r\n };\r\n return (\r\n <>\r\n \r\n {({ paginationProps, paginationTableProps }) => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n }}\r\n \r\n \r\n );\r\n}\r\n","import React, {useEffect} from \"react\";\r\nimport {shallowEqual, useSelector} from \"react-redux\";\r\nimport {LoadingDialog} from \"../../../../../../../../../_metronic/_partials/controls\";\r\n\r\nexport function RemarksLoadingDialog() {\r\n const { isLoading } = useSelector(\r\n state => ({ isLoading: state.Receiving.listLoading }),\r\n shallowEqual\r\n );\r\n useEffect(() => {}, [isLoading]);\r\n return ;\r\n}\r\n","/* eslint-disable no-restricted-imports */\r\nimport React, { useEffect, useMemo } from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { shallowEqual, useDispatch, useSelector } from \"react-redux\";\r\nimport { ModalProgressBar } from \"../../../../../../../../../_metronic/_partials/controls\";\r\nimport * as actions from \"../../../../../../_redux/Transload/TransportationItems/remarksActions\";\r\nimport { useRemarksUIContext } from \"./RemarksUIContext\";\r\n\r\nexport function RemarksDeleteDialog() {\r\n // Remarks UI Context\r\n const remarksUIContext = useRemarksUIContext();\r\n const remarksUIProps = useMemo(() => {\r\n return {\r\n ids: remarksUIContext.ids,\r\n setIds: remarksUIContext.setIds,\r\n productId: remarksUIContext.productId,\r\n queryParams: remarksUIContext.queryParams,\r\n showDeleteRemarksDialog: remarksUIContext.showDeleteRemarksDialog,\r\n closeDeleteRemarksDialog: remarksUIContext.closeDeleteRemarksDialog,\r\n };\r\n }, [remarksUIContext]);\r\n\r\n const dispatch = useDispatch();\r\n const { isLoading } = useSelector(\r\n (state) => ({ isLoading: state.Receiving.actionsLoading }),\r\n shallowEqual\r\n );\r\n\r\n useEffect(() => {}, [isLoading, dispatch]);\r\n useEffect(() => {\r\n if (!remarksUIProps.ids || remarksUIProps.ids.length === 0) {\r\n remarksUIProps.closeDeleteRemarksDialog();\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [remarksUIProps.ids]);\r\n\r\n const deleteRemarks = () => {\r\n dispatch(actions.deleteRemarks(remarksUIProps.ids)).then(() => {\r\n dispatch(\r\n actions.fetchRemarks(\r\n remarksUIProps.queryParams,\r\n remarksUIProps.productId\r\n )\r\n ).then(() => {\r\n remarksUIProps.setIds([]);\r\n remarksUIProps.closeDeleteRemarksDialog();\r\n });\r\n });\r\n };\r\n\r\n return (\r\n \r\n {isLoading && }\r\n \r\n \r\n Remarks Delete\r\n \r\n \r\n \r\n {!isLoading && (\r\n Are you sure to permanently delete selected remarks?\r\n )}\r\n {isLoading && Remarks are deleting...}\r\n \r\n \r\n
\r\n \r\n Cancel\r\n \r\n <> \r\n \r\n Delete\r\n \r\n
\r\n
\r\n \r\n );\r\n}\r\n","/* eslint-disable no-restricted-imports */\r\nimport React, { useEffect, useMemo } from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { shallowEqual, useDispatch, useSelector } from \"react-redux\";\r\nimport { ModalProgressBar } from \"../../../../../../../../../_metronic/_partials/controls\";\r\nimport * as actions from \"../../../../../../_redux/Transload/TransportationItems/remarksActions\";\r\nimport { useRemarksUIContext } from \"./RemarksUIContext\";\r\n\r\nexport function RemarkDeleteDialog() {\r\n // Remarks UI Context\r\n const remarksUIContext = useRemarksUIContext();\r\n const remarksUIProps = useMemo(() => {\r\n return {\r\n id: remarksUIContext.selectedId,\r\n setIds: remarksUIContext.setIds,\r\n productId: remarksUIContext.productId,\r\n queryParams: remarksUIContext.queryParams,\r\n showDeleteRemarkDialog: remarksUIContext.showDeleteRemarkDialog,\r\n closeDeleteRemarkDialog: remarksUIContext.closeDeleteRemarkDialog,\r\n };\r\n }, [remarksUIContext]);\r\n\r\n // Remarks Redux state\r\n const dispatch = useDispatch();\r\n const { isLoading } = useSelector(\r\n (state) => ({ isLoading: state.Receiving.actionsLoading }),\r\n shallowEqual\r\n );\r\n\r\n // if !id we should close modal\r\n useEffect(() => {\r\n if (!remarksUIProps.id) {\r\n remarksUIProps.closeDeleteRemarkDialog();\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [remarksUIProps.id]);\r\n\r\n // looking for loading/dispatch\r\n useEffect(() => {}, [isLoading, dispatch]);\r\n\r\n const deleteRemark = () => {\r\n // server request for deleting remark by id\r\n dispatch(actions.deleteRemark(remarksUIProps.id)).then(() => {\r\n // refresh list after deletion\r\n dispatch(\r\n actions.fetchRemarks(\r\n remarksUIProps.queryParams,\r\n remarksUIProps.productId\r\n )\r\n );\r\n // clear selections list\r\n remarksUIProps.setIds([]);\r\n // closing delete modal\r\n remarksUIProps.closeDeleteRemarkDialog();\r\n });\r\n };\r\n\r\n return (\r\n \r\n {isLoading && }\r\n \r\n \r\n Shipment Item Delete\r\n \r\n \r\n \r\n {!isLoading && (\r\n Are you sure to permanently delete this Shipment Item ?\r\n )}\r\n {isLoading && Shipment Item is deleting...}\r\n \r\n \r\n
\r\n \r\n Cancel\r\n \r\n <> \r\n \r\n Delete\r\n \r\n
\r\n
\r\n \r\n );\r\n}\r\n","import React, { useEffect, useMemo } from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { shallowEqual, useSelector } from \"react-redux\";\r\nimport { useRemarksUIContext } from \"./RemarksUIContext\";\r\n\r\nconst selectedRemarks = (entities, ids) => {\r\n const _remarks = [];\r\n ids.forEach((id) => {\r\n const remark = entities.find((el) => el.id === id);\r\n if (remark) {\r\n _remarks.push(remark);\r\n }\r\n });\r\n return _remarks;\r\n};\r\n\r\nexport function RemarksFetchDialog() {\r\n // Remarks UI Context\r\n const remarksUIContext = useRemarksUIContext();\r\n const remarksUIProps = useMemo(() => {\r\n return {\r\n ids: remarksUIContext.ids,\r\n queryParams: remarksUIContext.queryParams,\r\n showFetchRemarksDialog: remarksUIContext.showFetchRemarksDialog,\r\n closeFetchRemarksDialog: remarksUIContext.closeFetchRemarksDialog,\r\n };\r\n }, [remarksUIContext]);\r\n\r\n const { remarks } = useSelector(\r\n (state) => ({\r\n remarks: selectedRemarks(state.Receiving.entities, remarksUIProps.ids),\r\n }),\r\n shallowEqual\r\n );\r\n\r\n useEffect(() => {\r\n if (!remarksUIProps.ids || remarksUIProps.ids.length === 0) {\r\n remarksUIProps.closeFetchRemarksDialog();\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [remarksUIProps.ids]);\r\n\r\n return (\r\n \r\n \r\n \r\n Fetch selected elements\r\n \r\n \r\n \r\n
\r\n
\r\n {remarks.map((remark) => (\r\n
\r\n \r\n \r\n ID: {remark.id}\r\n {\" \"}\r\n {remark.text} \r\n \r\n
\r\n ))}\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n Cancel\r\n \r\n <> \r\n \r\n Ok\r\n \r\n
\r\n
\r\n \r\n );\r\n}\r\n","/* eslint-disable no-restricted-imports */\r\nimport React, { useState, useEffect } from \"react\";\r\nimport { shallowEqual, useSelector } from \"react-redux\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { ModalProgressBar } from \"../../../../../../../../../../_metronic/_partials/controls\";\r\nimport CloseIcon from '@material-ui/icons/Close';\r\nimport IconButton from '@material-ui/core/IconButton';\r\nexport function RemarkEditDialogHeader({ id, onHide }) {\r\n const [title, setTitle] = useState(\"\");\r\n // Remarks Redux state\r\n const { remarkForEdit, actionsLoading } = useSelector(\r\n (state) => ({\r\n remarkForEdit: state.Receiving.remarkForEdit,\r\n actionsLoading: state.Receiving.actionsLoading,\r\n }),\r\n shallowEqual\r\n );\r\n\r\n useEffect(() => {\r\n let _title = id ? \"\" : \"New Item\";\r\n if (remarkForEdit && id) {\r\n _title = \"Edit Item ID : \"+id ;\r\n }\r\n\r\n setTitle(_title);\r\n // eslint-disable-next-line\r\n }, [remarkForEdit, actionsLoading]);\r\n\r\n return (\r\n <>\r\n {actionsLoading && }\r\n \r\n {title}\r\n {\r\n onHide(false) ;\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n );\r\n}\r\n","import React, { useEffect, useMemo } from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { shallowEqual, useDispatch, useSelector } from \"react-redux\";\r\nimport * as actions from \"../../../../../../../../eMPower/_redux/Transload/TransportationItems/remarksActions\";\r\nimport { RemarkEditDialogHeader } from \"./RemarkEditDialogHeader\";\r\n/* import { RemarkEditForm } from \"./RemarkEditForm\"; */\r\nimport { RemarkEditForm } from \"../../../../product-Receiving/remark-edit-dialog/RemarkEditForm\";\r\nimport { useRemarksUIContext } from \"../RemarksUIContext\";\r\n\r\nexport function RemarkEditDialog() {\r\n // Remarks UI Context\r\n const remarksUIContext = useRemarksUIContext();\r\n const remarksUIProps = useMemo(() => {\r\n return {\r\n id: remarksUIContext.selectedId,\r\n setIds: remarksUIContext.setIds,\r\n productId: remarksUIContext.productId,\r\n queryParams: remarksUIContext.queryParams,\r\n showEditRemarkDialog: remarksUIContext.showEditRemarkDialog,\r\n closeEditRemarkDialog: remarksUIContext.closeEditRemarkDialog,\r\n initRemark: remarksUIContext.initRemark,\r\n };\r\n }, [remarksUIContext]);\r\n\r\n // Remarks Redux state\r\n const dispatch = useDispatch();\r\n const { actionsLoading, remarkForEdit } = useSelector(\r\n (state) => ({\r\n actionsLoading: state.Receiving.actionsLoading,\r\n remarkForEdit: state.Receiving.remarkForEdit,\r\n }),\r\n shallowEqual\r\n );\r\n\r\n useEffect(() => {\r\n // server request for getting remark by seleted id\r\n dispatch(actions.fetchRemark(remarksUIProps.id));\r\n }, [remarksUIProps.id, dispatch]);\r\n\r\n const saveRemark = (remark) => {\r\n if (!remarksUIProps.id) {\r\n // server request for creating remarks\r\n dispatch(actions.createRemark(remark)).then(() => {\r\n // refresh list after deletion\r\n dispatch(\r\n actions.fetchRemarks(\r\n remarksUIProps.queryParams,\r\n remarksUIProps.productId\r\n )\r\n ).then(() => {\r\n // clear selections list\r\n remarksUIProps.setIds([]);\r\n // closing edit modal\r\n remarksUIProps.closeEditRemarkDialog();\r\n });\r\n });\r\n } else {\r\n // server request for updating remarks\r\n dispatch(actions.updateRemark(remark)).then(() => {\r\n // refresh list after deletion\r\n dispatch(\r\n // refresh list after deletion\r\n actions.fetchRemarks(\r\n remarksUIProps.queryParams,\r\n remarksUIProps.productId\r\n )\r\n ).then(() => {\r\n // clear selections list\r\n remarksUIProps.setIds([]);\r\n // closing edit modal\r\n remarksUIProps.closeEditRemarkDialog();\r\n });\r\n });\r\n }\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n}\r\n","import React, { useMemo } from \"react\";\r\nimport { RemarksFilter } from \"./RemarksFilter\";\r\nimport { RemarksTable } from \"./RemarksTable\";\r\nimport { RemarksLoadingDialog } from \"./RemarksLoadingDialog\";\r\nimport { RemarksDeleteDialog } from \"./RemarksDeleteDialog\";\r\nimport { RemarkDeleteDialog } from \"./RemarkDeleteDialog\";\r\nimport { RemarksFetchDialog } from \"./RemarksFetchDialog\";\r\nimport { RemarkEditDialog } from \"./remark-edit-dialog/RemarkEditDialog\";\r\nimport { useRemarksUIContext } from \"./RemarksUIContext\";\r\n\r\nexport function Receiving() {\r\n // Remarks UI Context\r\n const remarksUIContext = useRemarksUIContext();\r\n const remarksUIProps = useMemo(() => {\r\n return { ids: remarksUIContext.ids };\r\n }, [remarksUIContext]);\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n );\r\n}\r\n","import React, { useEffect, useState } from \"react\";\r\nimport {\r\n Modal,\r\n Alert,\r\n Spinner,\r\n Accordion,\r\n OverlayTrigger,\r\n Tooltip,\r\n} from \"react-bootstrap\";\r\nimport SVG from \"react-inlinesvg\";\r\nimport { Formik, Form, Field } from \"formik\";\r\nimport * as Yup from \"yup\";\r\nimport {\r\n Input,\r\n RadioButton,\r\n DateTime30,\r\n CheckboxLarge,\r\n CreatableSelect3,\r\n DenseTableSm,\r\n Select as SelectDrop,\r\n CheckboxLargeWB,\r\n} from \"../../../../../../../../_metronic/_partials/controls\";\r\nimport { toAbsoluteUrl } from \"../../../../../../../../_metronic/_helpers\";\r\nimport Select from \"react-select\";\r\nimport { Notification } from \"../../../../../../Notification\";\r\nimport {\r\n Icon,\r\n Button,\r\n IconButton,\r\n FormControlLabel,\r\n LinearProgress,\r\n Radio,\r\n} from \"@material-ui/core\";\r\nimport axios from \"axios\";\r\nimport clsx from \"clsx\";\r\nimport { OrderNotesV2 } from \"../../product-edit/OrderNotes\";\r\nimport $ from \"jquery\";\r\nimport { default as JsNative } from \"jquery\";\r\nimport {\r\n is,\r\n IsValidMessage,\r\n ReturnEmptyOrString,\r\n momentDate,\r\n PostMomentTimeOnly,\r\n currencyFormat,\r\n DateTime30minInterval,\r\n} from \"../../../../../../../../_metronic/_helpers/ATHelpers\";\r\nimport { Link } from \"react-router-dom\";\r\nimport { OrderAttachementsV2 } from \"../../product-edit/OrderAttachements\";\r\nimport { OneMoveMasterVendors } from \"./OneMoveMasterVendors\";\r\nimport low from \"lowdb\";\r\nimport LocalStorage from \"lowdb/adapters/LocalStorage\";\r\nimport { ReceivingUIProvider } from \"./TransportationItems/RemarksUIContext\";\r\nimport { Receiving } from \"./TransportationItems/Remarks\";\r\nimport moment from \"moment\";\r\nimport CloseIcon from \"@material-ui/icons/Close\";\r\nimport SelectPagination from \"../../../../../../../../_metronic/_partials/widgets/Select/SelectPagination\";\r\nimport {\r\n AddSpace3,\r\n AutoRateComponent,\r\n AutoRatingCharges,\r\n AutoRatingItem,\r\n CalculateCharge,\r\n CategoryTotalId,\r\n ChargesColor,\r\n ChargesColorCategory,\r\n ChargesOriAddSup,\r\n ChargesRemoveComponent,\r\n checkIs0,\r\n CheckIsNigativePositive,\r\n CheckIsNigativeRate,\r\n CheckRateInCharges,\r\n EventChangeAutoRate,\r\n GetLengthRound,\r\n InputValueCharge,\r\n InvoiceorBill,\r\n isChangeFunction,\r\n IsRounding,\r\n isVariableOpenDefault,\r\n listdistinctFunction,\r\n LockPayblesButton,\r\n MenuListComposition,\r\n NigativePositiveStop,\r\n RateClassName,\r\n RateReadOnly,\r\n RemoveDuplicate,\r\n RemoveSpace,\r\n RoundToFixed,\r\n SetSubTotal,\r\n SortAndRename,\r\n SortOnlyCharge,\r\n Spinner2s,\r\n StartAutoRate,\r\n} from \"./ChargesFunction\";\r\nimport { ChargesFunction } from \"./RemarkEditForm\";\r\n\r\nvar ViewModelSipmentMgt = \"\";\r\nconst adapter = new LocalStorage(\"db\");\r\nconst db = low(adapter);\r\n\r\n// Validation schema\r\nconst CustomerEditSchema = Yup.object().shape({});\r\nconst catchError = [];\r\nconst obj = {\r\n Id: 0,\r\n ExternalId: null,\r\n Name: \"\",\r\n Address: \"\",\r\n City: \"\",\r\n State: \"\",\r\n ZipCode: \"\",\r\n};\r\nconst classRed =\r\n \"btn btn-light-danger font-weight-bolder font-size-sm mt-5 pl-2 w-100\";\r\nvar eventChange = new Event(\"change\", { bubbles: true });\r\nfunction eventChangefunction(id) {\r\n var element = document.getElementById(id);\r\n if (element != null)\r\n setTimeout(() => {\r\n element.dispatchEvent(eventChange);\r\n }, 500);\r\n}\r\nfunction SetValuefunction(id, value) {\r\n var element = document.getElementById(id);\r\n if (element != null)\r\n setTimeout(() => {\r\n element.value = value;\r\n }, 500);\r\n}\r\nlet vendorsOrg = [];\r\nexport function OneMoveMaster({ Show, statSHipmentId, isTms }) {\r\n const [tab, setTab] = useState(\"1\");\r\n const [idStat, setidStat] = useState(0);\r\n const [actionsLoading, setactionsLoading] = useState(true);\r\n const [Customers, setCustomers] = useState(catchError);\r\n const [Shipment, setShipment] = useState(null);\r\n const [ShipmentObj, setShipmentObj] = useState(null);\r\n const [PUContact, setPUContact] = useState(catchError);\r\n const [Shippers, setShippers] = useState(catchError);\r\n const [Consignee, setConsignee] = useState(catchError);\r\n const [GenericAddresses, setGenericAddresses] = useState(catchError);\r\n const [BillTo, setBillTo] = useState(catchError);\r\n const [Commodities, setCommodities] = useState(catchError);\r\n const [Vendors, setVendors] = useState(catchError);\r\n const [VendorListStat, setVendorListStat] = useState(catchError);\r\n const [FreightChargeId, setFreightChargeId] = useState(\"\");\r\n const [EmptyPuLocation, setEmptyPuLocation] = useState();\r\n const [EquipmentProvider, setEquipmentProvider] = useState();\r\n const [\r\n PackagingGroupsViewModelOptions,\r\n setPackagingGroupsViewModelOptions,\r\n ] = useState([]);\r\n const [\r\n PalletTypesViewModelOptions,\r\n setPalletTypesViewModelOptions,\r\n ] = useState([]);\r\n const [PuLocationDetail, setPuLocationDetail] = useState();\r\n const [EquipmentProviderIdDetail, setEquipmentProviderIdDetail] = useState();\r\n const [NotifyPartyIdDetail, setNotifyPartyIdDetail] = useState();\r\n const [DestinationIdDetail, setDestinationIdDetail] = useState();\r\n const [AttachmentTypes, setAttachmentTypes] = useState(catchError);\r\n const [NoteTypes, setNoteTypes] = useState(catchError);\r\n const [LastShipDateStat, setLastShipDateStat] = useState();\r\n const [EstimatedArrivalDateStat, setEstimatedArrivalDateStat] = useState();\r\n const [ProofOfDeliveryStat, setProofOfDeliveryStat] = useState();\r\n const [ActualDeliveryStat, setActualDeliveryStat] = useState();\r\n const [InvoiceDateStat, setInvoiceDateStat] = useState();\r\n const [ReloadCalc, setReloadCalc] = useState(1);\r\n const [CustomerId, setCustomerId] = useState();\r\n const [ChargesFunctionOne, setChargesFunctionOne] = useState(false);\r\n const [ChargesFunctionModel, setChargesFunctionModel] = useState(false);\r\n const [Contacts, setContacts] = useState(catchError);\r\n const [Services, setServices] = useState(catchError);\r\n const [AccessLevels, setAccessLevels] = useState(catchError);\r\n const [Status, setStatus] = useState(catchError);\r\n const [TrackingDevices, setTrackingDevices] = useState(catchError);\r\n const [ShipmentItems, setShipmentItems] = useState([]);\r\n //Vendor Charges\r\n const [VendorChargesRates, setVendorChargesRates] = useState([]);\r\n const [isLinearProgress, setIsLinearProgress] = useState(false);\r\n const [shortQuantity, setShortQuantity] = useState(0);\r\n const [damagedQuantity, setDamagedQuantity] = useState(0);\r\n const [overQuantity, setOverQuantity] = useState(0);\r\n const [modalOsdEdit, showModalEditOsd] = useState(false);\r\n const [saveEditOsd, setSaveOsd] = useState(false);\r\n const [rowOsd, setRowOsd] = useState(null);\r\n function setFreightChargeIdFun(id) {\r\n setFreightChargeId(id);\r\n }\r\n const [\r\n EmptyReturnLocationIdDetail,\r\n setEmptyReturnLocationIdDetail,\r\n ] = useState();\r\n\r\n function setReloadCalcF() {\r\n setReloadCalc((y) => y + 1);\r\n\r\n var eles = document.querySelectorAll(\".setReloadCalcF\");\r\n eles.forEach((ele) => {\r\n ele.click();\r\n });\r\n }\r\n useEffect(() => {\r\n if (statSHipmentId) {\r\n GetItemsTms(statSHipmentId);\r\n }\r\n }, [statSHipmentId]);\r\n const [itemsTms, setItemsTms] = React.useState([\r\n {\r\n UnitCount: 1,\r\n Quantity: 1,\r\n CubeType: \"CBM\",\r\n Cube: 1,\r\n WeightType: \"LBS\",\r\n PurchaseOrder: \"\",\r\n UnitValue: \"in/lbs\",\r\n IsPost: false,\r\n IsEditMode: false,\r\n Pieces: 1,\r\n UnitOfMeasureId: 4,\r\n ShipmentId: statSHipmentId,\r\n WeightMode: \"each\",\r\n WeightModeValue: { value: \"each\", label: \"each\" },\r\n Weight: \"1\",\r\n Length: \"\",\r\n Height: \"\",\r\n Width: \"\",\r\n PalletTypeId: null,\r\n FreightClass: \"\",\r\n FreightClassValue: { value: \"\", label: \"Select\" },\r\n Nmfc: \"\",\r\n IsHazardousMateriel: false,\r\n StopId: null,\r\n DeliveryStopId: null,\r\n StopValue: { value: \"\", label: \"Select\" },\r\n StopValueDelivery: { value: \"\", label: \"Select\" },\r\n UnitOfMeasureValue: { value: 4, label: \"Pallet\" },\r\n },\r\n ]);\r\n function addClick() {\r\n setItemsTms((prevState) => [\r\n ...prevState,\r\n {\r\n UnitCount: 1,\r\n Quantity: 1,\r\n CubeType: \"CBM\",\r\n PurchaseOrder: \"\",\r\n Cube: 1,\r\n WeightType: \"LBS\",\r\n IsPost: true,\r\n IsEditMode: false,\r\n UnitValue: \"in/lbs\",\r\n Pieces: 1,\r\n UnitOfMeasureId: 4,\r\n ShipmentId: statSHipmentId,\r\n WeightMode: \"each\",\r\n WeightModeValue: { value: \"each\", label: \"each\" },\r\n Weight: \"1\",\r\n Length: \"\",\r\n Height: \"\",\r\n Width: \"\",\r\n FreightClass: \"\",\r\n PalletTypeId: null,\r\n FreightClassValue: { value: \"\", label: \"Select\" },\r\n Nmfc: \"\",\r\n IsHazardousMateriel: false,\r\n StopId: null,\r\n DeliveryStopId: null,\r\n StopValue: { value: \"\", label: \"Select\" },\r\n StopValueDelivery: { value: \"\", label: \"Select\" },\r\n UnitOfMeasureValue: { value: 4, label: \"Pallet\" },\r\n },\r\n ]);\r\n }\r\n function removeClick(i) {\r\n let data = [...itemsTms];\r\n data.splice(i, 1);\r\n setItemsTms(data);\r\n }\r\n async function PostItemTms(data) {\r\n if (\r\n data.Commodity === null ||\r\n data.Commodity === undefined ||\r\n data.Commodity === \"\"\r\n ) {\r\n Notification(\"errorClick\", \"Commodity is required\");\r\n return false;\r\n }\r\n if (\r\n data.Weight === null ||\r\n data.Weight === undefined ||\r\n data.Weight === \"\"\r\n ) {\r\n Notification(\"errorClick\", \"Weight is required\");\r\n return false;\r\n }\r\n if (\r\n data.HandlingAmount === null ||\r\n data.HandlingAmount === undefined ||\r\n data.HandlingAmount === \"\"\r\n ) {\r\n Notification(\"errorClick\", \"Handling Amount is required\");\r\n return false;\r\n }\r\n if (\r\n data.PackagingGroupId === null ||\r\n data.PackagingGroupId === undefined ||\r\n data.PackagingGroupId === \"\"\r\n ) {\r\n Notification(\"errorClick\", \"Packaging is required\");\r\n return false;\r\n }\r\n return fetch(window.$apiurl + `/tms/items`, {\r\n method: \"post\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(data),\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then(async (res) => {\r\n Notification(\"success\", `Item has been added successfully`);\r\n await GetItemsTms(statSHipmentId);\r\n return res;\r\n })\r\n .catch((error) => {});\r\n }\r\n async function GetItemsTms(id) {\r\n return await fetch(window.$apiurl + `/tms/items/${id}`, {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n const a = res[1];\r\n const items = a?.Items;\r\n items?.length > 0 &&\r\n items.map((item) => {\r\n item.UnitCount = item.Quantity;\r\n item.FreightClassValue = {\r\n value: item.Class === \"\" ? \"\" : item.Class,\r\n label: item.Class === \"\" ? \"Select\" : item.Class,\r\n };\r\n item.WeightModeValue = {\r\n value: item.WeightMode === \"\" ? \"each\" : item.WeightMode,\r\n label: item.WeightMode === \"\" ? \"each\" : item.WeightMode,\r\n };\r\n item.FreightClass = item.Class;\r\n item.StopValue = { value: item.StopId, label: item.Stop };\r\n item.StopValueDelivery = {\r\n value: item.DeliveryStopId,\r\n label: item.DeliveryStop,\r\n };\r\n item.UnitOfMeasureValue = {\r\n value: item.UnitOfMeasure,\r\n label: item.UnitOfMeasure,\r\n };\r\n item.UnitValue = \"in/lbs\";\r\n item.CubeType = \"CBM\";\r\n item.WeightType = \"LBS\";\r\n item.UnitOfMeasureId = item.UnitOfMeasureId || 4;\r\n item.Pieces = 1;\r\n item.ShipmentId = statSHipmentId;\r\n item.IsHazardousMateriel = item.IsHazmat;\r\n return null;\r\n });\r\n setItemsTms(items || []);\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n async function PutItemTms(id, data) {\r\n return fetch(window.$apiurl + `/tms/items/${id}`, {\r\n method: \"put\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(data),\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n return res;\r\n })\r\n .catch((error) => {});\r\n }\r\n async function DeleteItemTms(id) {\r\n return fetch(window.$apiurl + `/tms/items/${id}`, {\r\n method: \"delete\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n return res;\r\n })\r\n .catch((error) => {});\r\n }\r\n async function ClassCalculatorFunctionFetch(\r\n length,\r\n width,\r\n height,\r\n weight,\r\n index\r\n ) {\r\n return await fetch(\r\n window.$apiurl +\r\n `/FreightClass/CalculateClass?length=${length}&width=${width}&height=${height}&weight=${weight}\r\n &isMeter=false`,\r\n {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n }\r\n )\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n const a = res[1];\r\n let values = [...itemsTms];\r\n if (a) {\r\n try {\r\n values[index].FreightClass = a?.Result;\r\n values[index].FreightClassValue = {\r\n value: a?.Result,\r\n label: a?.Result,\r\n };\r\n } catch (err) {}\r\n } else {\r\n values[index].FreightClass = 0;\r\n values[index].FreightClassValue = {\r\n value: 0,\r\n label: 0,\r\n };\r\n }\r\n setItemsTms(values);\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n const suggestionsFreightClass = [\r\n { label: \"0\" },\r\n { label: \"50\" },\r\n { label: \"55\" },\r\n { label: \"60\" },\r\n { label: \"70\" },\r\n { label: \"77.5\" },\r\n { label: \"85\" },\r\n { label: \"92.5\" },\r\n { label: \"100\" },\r\n { label: \"110\" },\r\n { label: \"125\" },\r\n { label: \"150\" },\r\n { label: \"175\" },\r\n { label: \"200\" },\r\n { label: \"250\" },\r\n { label: \"300\" },\r\n { label: \"400\" },\r\n { label: \"500\" },\r\n ].map((suggestion) => ({\r\n value: suggestion.label,\r\n label: suggestion.label,\r\n }));\r\n function ItemsTmsComponent(values) {\r\n return itemsTms.map((el, i) => (\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n {el?.IsPost ? \"New Item\" : `Item #: ${el?.Id}`}\r\n \r\n
\r\n
\r\n {\r\n if (el?.Id) {\r\n await DeleteItemTms(el?.Id);\r\n await GetItemsTms(statSHipmentId);\r\n } else {\r\n removeClick(i);\r\n }\r\n Notification(\"success\", \"Success\");\r\n }}\r\n type=\"button\"\r\n class=\"btn btn-light-danger mr-2\"\r\n >\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n {/* First Row */}\r\n
\r\n
\r\n \r\n {\r\n try {\r\n let values = [...itemsTms];\r\n values[i].PurchaseOrder = e.target.value;\r\n values[i].IsEditMode = true;\r\n setItemsTms(values);\r\n } catch (err) {}\r\n }}\r\n type=\"text\"\r\n name=\"PurchaseOrder\"\r\n />\r\n
\r\n {el?.IsPost === true ? (\r\n
\r\n {\" \"}\r\n *\r\n {\r\n try {\r\n let values = [...itemsTms];\r\n values[i].PackagingGroupId = e.value;\r\n values[i].IsEditMode = true;\r\n setItemsTms(values);\r\n } catch (err) {}\r\n }}\r\n options={PackagingGroupsViewModelOptions?.map((x) => {\r\n return {\r\n value: x?.Id,\r\n label: x?.Name,\r\n };\r\n })}\r\n />\r\n
\r\n ) : (\r\n
\r\n {\" \"}\r\n *\r\n a.Id === el?.PackagingGroupId\r\n ).map((x) => {\r\n return {\r\n value: x?.Id,\r\n label: x?.Name,\r\n };\r\n })}\r\n onChange={(e) => {\r\n try {\r\n let values = [...itemsTms];\r\n values[i].PackagingGroupId = e.value;\r\n values[i].IsEditMode = true;\r\n setItemsTms(values);\r\n } catch (err) {}\r\n }}\r\n options={PackagingGroupsViewModelOptions?.map((x) => {\r\n return {\r\n value: x?.Id,\r\n label: x?.Name,\r\n };\r\n })}\r\n />\r\n
\r\n )}\r\n {el?.IsPost === true ? (\r\n
\r\n {\" \"}\r\n *\r\n {\r\n try {\r\n let values = [...itemsTms];\r\n values[i].PalletTypeId = e.value;\r\n values[i].IsEditMode = true;\r\n setItemsTms(values);\r\n } catch (err) {}\r\n }}\r\n options={PalletTypesViewModelOptions?.map((x) => {\r\n return {\r\n value: x?.Id,\r\n label: x?.Name,\r\n };\r\n })}\r\n />\r\n
\r\n ) : (\r\n
\r\n {\" \"}\r\n *\r\n a.Id === el?.PalletTypeId\r\n ).map((x) => {\r\n return {\r\n value: x?.Id,\r\n label: x?.Name,\r\n };\r\n })}\r\n onChange={(e) => {\r\n try {\r\n let values = [...itemsTms];\r\n values[i].PalletTypeId = e.value;\r\n values[i].IsEditMode = true;\r\n setItemsTms(values);\r\n } catch (err) {}\r\n }}\r\n options={PalletTypesViewModelOptions?.map((x) => {\r\n return {\r\n value: x?.Id,\r\n label: x?.Name,\r\n };\r\n })}\r\n />\r\n
\r\n )}\r\n
\r\n \r\n *\r\n {\r\n try {\r\n let values = [...itemsTms];\r\n values[i].HandlingAmount = e.target.value;\r\n values[i].IsEditMode = true;\r\n setItemsTms(values);\r\n } catch (err) {}\r\n }}\r\n name=\"HandlingAmount\"\r\n />\r\n
\r\n\r\n
\r\n \r\n {\r\n try {\r\n let values = [...itemsTms];\r\n values[i].Quantity = e.target.value;\r\n values[i].IsEditMode = true;\r\n setItemsTms(values);\r\n } catch (err) {}\r\n }}\r\n min=\"0\"\r\n />\r\n
\r\n
\r\n \r\n *\r\n {\r\n try {\r\n let values = [...itemsTms];\r\n values[i].Weight = e.target.value;\r\n values[i].IsEditMode = true;\r\n setItemsTms(values);\r\n //Class Calculator\r\n if (\r\n el?.Length !== \"\" &&\r\n el?.Width !== \"\" &&\r\n el?.Height !== \"\" &&\r\n el?.Weight !== \"\"\r\n ) {\r\n ClassCalculatorFunctionFetch(\r\n el?.Length,\r\n el?.Width,\r\n el?.Height,\r\n el?.Weight,\r\n i\r\n );\r\n }\r\n } catch (err) {}\r\n }}\r\n />\r\n
\r\n\r\n
\r\n \r\n {\r\n try {\r\n let values = [...itemsTms];\r\n values[i].Nmfc = e.target.value;\r\n values[i].IsEditMode = true;\r\n setItemsTms(values);\r\n } catch (err) {}\r\n }}\r\n type=\"text\"\r\n name=\"Nmfc\"\r\n />\r\n
\r\n\r\n
\r\n \r\n *\r\n {\r\n try {\r\n let values = [...itemsTms];\r\n values[i].Commodity = e.target.value;\r\n values[i].IsEditMode = true;\r\n setItemsTms(values);\r\n } catch (err) {}\r\n }}\r\n type=\"text\"\r\n name=\"Commodity\"\r\n />\r\n
\r\n
\r\n {/* Second Row */}\r\n
\r\n
\r\n \r\n *\r\n {\r\n try {\r\n let values = [...itemsTms];\r\n values[i].FreightClass = e.value;\r\n values[i].IsEditMode = true;\r\n values[i].FreightClassValue = e;\r\n setItemsTms(values);\r\n } catch (err) {}\r\n }}\r\n />\r\n
\r\n
\r\n \r\n *\r\n {\r\n try {\r\n let values = [...itemsTms];\r\n values[i].Width = e.target.value;\r\n values[i].IsEditMode = true;\r\n setItemsTms(values);\r\n //Class Calculator\r\n if (\r\n el?.Length !== \"\" &&\r\n el?.Width !== \"\" &&\r\n el?.Height !== \"\" &&\r\n el?.Weight !== \"\"\r\n ) {\r\n ClassCalculatorFunctionFetch(\r\n el?.Length,\r\n el?.Width,\r\n el?.Height,\r\n el?.Weight,\r\n i\r\n );\r\n }\r\n } catch (err) {}\r\n }}\r\n />\r\n
\r\n
\r\n \r\n *\r\n {\r\n try {\r\n let values = [...itemsTms];\r\n values[i].Height = e.target.value;\r\n values[i].IsEditMode = true;\r\n setItemsTms(values);\r\n //Class Calculator\r\n if (\r\n el?.Length !== \"\" &&\r\n el?.Width !== \"\" &&\r\n el?.Height !== \"\" &&\r\n el?.Weight !== \"\"\r\n ) {\r\n ClassCalculatorFunctionFetch(\r\n el?.Length,\r\n el?.Width,\r\n el?.Height,\r\n el?.Weight,\r\n i\r\n );\r\n }\r\n } catch (err) {}\r\n }}\r\n />\r\n
\r\n
\r\n \r\n *\r\n {\r\n try {\r\n let values = [...itemsTms];\r\n values[i].Length = e.target.value;\r\n values[i].IsEditMode = true;\r\n setItemsTms(values);\r\n //Class Calculator\r\n if (\r\n el?.Length !== \"\" &&\r\n el?.Width !== \"\" &&\r\n el?.Height !== \"\" &&\r\n el?.Weight !== \"\"\r\n ) {\r\n ClassCalculatorFunctionFetch(\r\n el?.Length,\r\n el?.Width,\r\n el?.Height,\r\n el?.Weight,\r\n i\r\n );\r\n }\r\n } catch (err) {}\r\n }}\r\n />\r\n
\r\n
\r\n {\r\n try {\r\n let values = [...itemsTms];\r\n values[i].IsHazardousMateriel = e.target.checked;\r\n values[i].IsEditMode = true;\r\n setItemsTms(values);\r\n } catch (err) {}\r\n }}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n ));\r\n }\r\n useEffect(() => {\r\n /* window.$S_ChargesFM = false; */\r\n window.$S_ChargesIs_Ok = false;\r\n window.C_ChargesReadOnly = false;\r\n window.$OneMoveMasterSaveClose = false;\r\n window.$appDateTo = undefined;\r\n\r\n // Auto Rate\r\n window.ARCartons = undefined;\r\n window.ARTotalWeight1 = undefined;\r\n window.ARTotalWeight2 = undefined;\r\n window.ARTotalCube1 = undefined;\r\n }, []);\r\n\r\n useEffect(() => {\r\n var customerId = Shipment?.CustomerId || false;\r\n if (customerId) {\r\n window.$S_CustomerId = customerId;\r\n }\r\n window.$S_ChargesIs_Ok = Shipment?.Charges?.length > 0;\r\n\r\n window.C_ChargesReadOnly = Shipment?.AreChargesReadOnly || false;\r\n window.C_PayablesReadOnly = Shipment?.ArePayablesReadOnly || false;\r\n\r\n var notes = Shipment?.Notes || false;\r\n if (notes) {\r\n SetValuefunction(\"NotesId\", notes);\r\n }\r\n\r\n var id = Shipment?.Id || false;\r\n if (id) {\r\n setidStat(id);\r\n window.ReceiptId = id;\r\n }\r\n\r\n var charges = Shipment?.Charges || false;\r\n if (charges) {\r\n window.OneMoveMastercharges = charges;\r\n }\r\n\r\n var freightChargeId = Shipment?.FreightChargeId || false;\r\n if (freightChargeId) {\r\n if (freightChargeId !== 98) SaveDisabledFunction(false);\r\n setFreightChargeId(freightChargeId + \"\");\r\n } else if (Shipment && Shipment !== null) {\r\n SaveDisabledFunction(false);\r\n }\r\n\r\n eventChangefunction(\"ShipmentCustomerId\");\r\n\r\n var WillCall = Shipment?.WillCall || false;\r\n if (WillCall) document.getElementById(\"WillCallId\").checked = WillCall;\r\n\r\n var IsCustomerCheckAcceptable =\r\n Shipment?.IsCustomerCheckAcceptable || false;\r\n if (IsCustomerCheckAcceptable)\r\n document.getElementById(\r\n \"IsCustomerCheckAcceptableId\"\r\n ).checked = IsCustomerCheckAcceptable;\r\n\r\n var vendorId = Shipment?.VendorId || false;\r\n if (vendorId) {\r\n eventChangefunction(\"ShipmentVendorId\");\r\n }\r\n var lastShipDate = Shipment?.LastShipDate || false;\r\n if (lastShipDate) {\r\n setLastShipDateStat(lastShipDate);\r\n }\r\n\r\n var proofOfDelivery = Shipment?.ProofOfDelivery || false;\r\n if (proofOfDelivery) {\r\n setProofOfDeliveryStat(proofOfDelivery);\r\n }\r\n var EstimatedArrivalDate = Shipment?.EstimatedArrivalDate || false;\r\n if (EstimatedArrivalDate) {\r\n setEstimatedArrivalDateStat(EstimatedArrivalDate);\r\n }\r\n var ActualDelivery = Shipment?.ActualDelivery || false;\r\n if (ActualDelivery) {\r\n setActualDeliveryStat(ActualDelivery);\r\n }\r\n var InvoiceDate = Shipment?.InvoiceDate || false;\r\n if (InvoiceDate) {\r\n setInvoiceDateStat(InvoiceDate);\r\n }\r\n\r\n if (Shipment?.Vendors) vendorsOrg = Shipment?.Vendors;\r\n }, [Shipment]);\r\n\r\n function SetFieldValueFunction(setFieldValue) {\r\n window.setFieldValue = setFieldValue;\r\n }\r\n\r\n useEffect(() => {\r\n if (statSHipmentId) {\r\n if (ViewModelSipmentMgt === \"\") {\r\n GetViewModel(statSHipmentId);\r\n } else {\r\n setServices(ViewModelSipmentMgt[\"Services\"] || []);\r\n setCustomers(ViewModelSipmentMgt[\"Customers\"] || catchError);\r\n setShipmentObj(ViewModelSipmentMgt[\"Shipment\"]);\r\n setShippers(ViewModelSipmentMgt[\"Shippers\"] || catchError);\r\n setTrackingDevices(\r\n ViewModelSipmentMgt[\"TrackingDevices\"] || catchError\r\n );\r\n setConsignee(ViewModelSipmentMgt[\"Consignees\"] || catchError);\r\n setGenericAddresses(\r\n ViewModelSipmentMgt[\"GenericAddresses\"] || catchError\r\n );\r\n setBillTo(ViewModelSipmentMgt[\"BillsTo\"] || catchError);\r\n setVendors(ViewModelSipmentMgt[\"Vendors\"] || catchError);\r\n setCommodities(ViewModelSipmentMgt[\"Commodities\"] || catchError);\r\n setAttachmentTypes(\r\n ViewModelSipmentMgt[\"AttachmentTypes\"] || catchError\r\n );\r\n setNoteTypes(ViewModelSipmentMgt[\"NoteTypes\"] || catchError);\r\n setAccessLevels(ViewModelSipmentMgt[\"AccessLevels\"] || catchError);\r\n const vendorsList = ViewModelSipmentMgt[\"Vendors\"] || catchError;\r\n fetchAsync(statSHipmentId, vendorsList);\r\n }\r\n }\r\n }, [statSHipmentId]);\r\n\r\n function GetViewModel(statSHipmentId) {\r\n fetch(window.$apiurl + `/api/shipmentviewmodel`, {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n ViewModelSipmentMgt = res[1];\r\n\r\n setServices(res[1][\"Services\"] || []);\r\n setCustomers(res[1][\"Customers\"] || catchError);\r\n setShipmentObj(res[1][\"Shipment\"]);\r\n setShippers(res[1][\"Shippers\"] || catchError);\r\n setTrackingDevices(res[1][\"TrackingDevices\"] || catchError);\r\n setConsignee(res[1][\"Consignees\"] || catchError);\r\n setGenericAddresses(res[1][\"GenericAddresses\"] || catchError);\r\n setBillTo(res[1][\"BillsTo\"] || catchError);\r\n setVendors(res[1][\"Vendors\"] || catchError);\r\n setCommodities(res[1][\"Commodities\"] || catchError);\r\n setAttachmentTypes(res[1][\"AttachmentTypes\"] || catchError);\r\n setAccessLevels(res[1][\"AccessLevels\"] || catchError);\r\n setNoteTypes(res[1][\"NoteTypes\"] || catchError);\r\n setPalletTypesViewModelOptions(res[1][\"PalletTypes\"] || catchError);\r\n setPackagingGroupsViewModelOptions(\r\n res[1][\"PackagingGroups\"] || catchError\r\n );\r\n window.FreightCharges = res[1][\"FreightChargeTerms\"] || catchError;\r\n window.VendorTypeListOption = res[1][\"VendorTypes\"] || catchError;\r\n window.BillToOptionsList = res[1][\"BillsTo\"] || catchError;\r\n const vendorsList = res[1][\"Vendors\"] || catchError;\r\n fetchAsync(statSHipmentId, vendorsList);\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n\r\n const fetchAsync = async (statSHipmentId, vendorsList) => {\r\n try {\r\n const result = await axios.post(\"api/FindOrderContainers/OneMoveMaster\", {\r\n statSHipmentId,\r\n });\r\n const vendorss = result.data[\"Shipment\"][\"Vendors\"];\r\n let shipmentFun = result.data[\"Shipment\"];\r\n setVendorChargesRates(shipmentFun.Vendors || []);\r\n\r\n shipmentFun.CustomerId = shipmentFun.CustomerId || \"0\";\r\n shipmentFun.Weight = shipmentFun?.Weight?.toFixed(2);\r\n shipmentFun.Cube = shipmentFun?.Cube?.toFixed(2);\r\n shipmentFun.Pieces = shipmentFun?.Pieces?.toFixed(2);\r\n shipmentFun.FreightChargeId = shipmentFun?.FreightChargeId || null;\r\n\r\n shipmentFun?.ShipmentItems.length > 0 &&\r\n shipmentFun.ShipmentItems.map((x) => {\r\n x.Weight = currencyFormat(x.Weight);\r\n x.Cube = currencyFormat(x.Cube);\r\n });\r\n setShipmentItems(shipmentFun?.ShipmentItems ?? []);\r\n setShipment(shipmentFun);\r\n setactionsLoading(false);\r\n setChargesFunctionOne(true);\r\n if (vendorss.length === 0 || vendorss === null) {\r\n $(\"#VendorDetailID\").click();\r\n setTab(\"1\");\r\n }\r\n } catch (e) {}\r\n };\r\n\r\n useEffect(() => {\r\n setVendorListStat([]);\r\n if (VendorChargesRates?.length > 0 && Vendors?.length > 0)\r\n VendorChargesRates.map((item, index) => {\r\n setVendorListStat((x) => [\r\n ...x,\r\n ,\r\n ]);\r\n });\r\n }, [VendorChargesRates, Vendors, FreightChargeId]);\r\n\r\n let outboundUrl;\r\n switch (ShipmentObj?.ModeName) {\r\n case \"LTL\": {\r\n outboundUrl = \"/LTL/Outbound/report/\" + statSHipmentId;\r\n break;\r\n }\r\n case \"Intermodal Rail (COFC)\": {\r\n outboundUrl = \"/TRC/Outbound/report/\" + statSHipmentId;\r\n break;\r\n }\r\n case \"OTR (Over The Road)\": {\r\n outboundUrl = \"/TRC/Outbound/report/\" + statSHipmentId;\r\n break;\r\n }\r\n default:\r\n outboundUrl = \"/DRAYAGE/Outbound/report/\" + statSHipmentId;\r\n }\r\n\r\n async function GetAddress(id, Type) {\r\n var myHeaders = new Headers();\r\n myHeaders.append(\"Authorization\", `Bearer ${db.read().getState()?.Token}`);\r\n\r\n var requestOptions = {\r\n method: \"GET\",\r\n headers: myHeaders,\r\n redirect: \"follow\",\r\n };\r\n\r\n return fetch(\r\n `${window.$apiurl}/TransloadReceipts/Address/${id}?isCustomer=${\r\n Type === \"Customer\" ? true : false\r\n }&iswarehouse=${Type === \"Warehouse\" ? true : false}`,\r\n requestOptions\r\n )\r\n .then((response) => response.text())\r\n .then((result) => {\r\n var obj = JSON.parse(result);\r\n return obj;\r\n })\r\n .catch((error) => console.log(\"error\", error));\r\n }\r\n\r\n useEffect(() => {\r\n if (Shipment?.EmptyPuLocationId) {\r\n setvalueEquipmentProviderId(\r\n Shipment?.EmptyPuLocationId,\r\n \"EmptyPuLocationId\"\r\n );\r\n }\r\n }, [Shipment?.EmptyPuLocationId]);\r\n\r\n useEffect(() => {\r\n if (Shipment?.PuLocationId) {\r\n setvalueEquipmentProviderId(Shipment?.PuLocationId, \"PuLocationId\");\r\n }\r\n }, [Shipment?.PuLocationId]);\r\n\r\n useEffect(() => {\r\n if (Shipment?.EquipmentProviderId) {\r\n setvalueEquipmentProviderId(\r\n Shipment?.EquipmentProviderId,\r\n \"EquipmentProviderId\"\r\n );\r\n }\r\n }, [Shipment?.EquipmentProviderId]);\r\n useEffect(() => {\r\n if (Shipment?.NotifyPartyId) {\r\n setvalueEquipmentProviderId(Shipment?.NotifyPartyId, \"NotifyPartyId\");\r\n }\r\n }, [Shipment?.NotifyPartyId]);\r\n useEffect(() => {\r\n if (Shipment?.DestinationId) {\r\n setvalueEquipmentProviderId(Shipment?.DestinationId, \"DestinationId\");\r\n }\r\n }, [Shipment?.DestinationId]);\r\n useEffect(() => {\r\n if (Shipment?.EmptyReturnLocationId) {\r\n setvalueEquipmentProviderId(\r\n Shipment?.EmptyReturnLocationId,\r\n \"EmptyReturnLocationId\"\r\n );\r\n }\r\n }, [Shipment?.EmptyReturnLocationId]);\r\n\r\n async function setvalueEquipmentProviderId(Id, Type) {\r\n let obj = await GetAddress(Id, Type);\r\n switch (Type) {\r\n case \"EmptyPuLocationId\":\r\n setEmptyPuLocation(obj);\r\n break;\r\n case \"PuLocationId\":\r\n setPuLocationDetail(obj);\r\n setPUContact(obj?.Contacts || []);\r\n break;\r\n case \"NotifyPartyId\":\r\n setNotifyPartyIdDetail(obj);\r\n break;\r\n case \"DestinationId\":\r\n setDestinationIdDetail(obj);\r\n setContacts(obj?.Contacts || []);\r\n break;\r\n case \"EquipmentProviderId\":\r\n setEquipmentProvider(obj);\r\n break;\r\n case \"EmptyReturnLocationId\":\r\n setEmptyReturnLocationIdDetail(obj);\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n\r\n return (\r\n <>\r\n {\r\n if (NigativePositiveStop(values.Charges)) return false;\r\n values.Charges = ChargesOriAddSup(values.Charges);\r\n\r\n if (CheckVandorIsDanger(Vendors, values.Vendors)) return false;\r\n\r\n window.IsValid = false;\r\n values.IsDomestic = values.IsDomestic || false;\r\n values.WillCall = values.WillCall || false;\r\n\r\n values.AppointmentTo = window.$appDateTo;\r\n if (\r\n values?.AppointmentTo === \"Select\" ||\r\n +values?.AppointmentTo === 0\r\n )\r\n delete values.AppointmentTo;\r\n\r\n if (\r\n values?.PuAppointmentTo === \"Select\" ||\r\n +values?.PuAppointmentTo === 0\r\n )\r\n delete values.PuAppointmentTo;\r\n\r\n var a = $(\".VendorsList\")\r\n .eq(0)\r\n .val();\r\n if (a) {\r\n $(\"#VendorId\").val(a);\r\n eventChangefunction(\"VendorId\");\r\n }\r\n\r\n values.EstimatedArrivalDate =\r\n values.EstimatedArrivalDate || EstimatedArrivalDateStat;\r\n values.ProofOfDelivery =\r\n values.ProofOfDelivery || ProofOfDeliveryStat;\r\n values.ActualDelivery = values.ActualDelivery || ActualDeliveryStat;\r\n\r\n values.LastShipDate = values.LastShipDate || LastShipDateStat;\r\n\r\n values.CarrierCodFeeId = values.CarrierCodFeeId || \"102\";\r\n\r\n var v = [];\r\n (values.Vendors || []).forEach((x) => {\r\n if (x?.Id) v.push(x);\r\n });\r\n values.Vendors = v;\r\n\r\n delete values.InvoiceNumber;\r\n delete values.InvoiceDate;\r\n\r\n IsValidMessage(\"Customer\", values?.CustomerId);\r\n IsValidMessage(\"BillTo\", values?.BillToId);\r\n IsValidMessage(\"Last Ship Date\", values?.LastShipDate);\r\n IsValidMessage(\"Freight Charge\", values?.FreightChargeId);\r\n\r\n if (values?.CustomerId === 112) {\r\n IsValidMessage(\"Equipment ID\", values?.Equipment);\r\n IsValidMessage(\"E.T.A\", values?.EstimatedArrivalDate);\r\n IsValidMessage(\"Seal No.\", values?.SealNumber);\r\n IsValidMessage(\"Equipment Sizes\", values?.EquipmentSizeId);\r\n }\r\n if (window.IsValid) return false;\r\n\r\n values.Charges = values?.Charges || [];\r\n values.Pieces = parseInt(values?.Pieces);\r\n values.Cube = parseInt(values?.Cube);\r\n values.Weight = parseInt(values?.Weight);\r\n\r\n (values?.Vendors ?? []).forEach((x, i) => {\r\n if (x === null) values.Vendors.splice(i, 1);\r\n });\r\n\r\n SaveDisabledFunction(true);\r\n axios\r\n .post(\"api/FindOrderContainers/PutOneMoveMaster\", {\r\n values,\r\n statSHipmentId,\r\n })\r\n .then((e) => {\r\n SaveDisabledFunction(false);\r\n if (e?.data === 200) {\r\n if (window.$OneMoveMasterSaveClose === true) {\r\n Show(false);\r\n setTimeout(() => {\r\n if (\r\n window.shipmentEditCommingFrom.indexOf(\r\n \"ShipmentsManagement\"\r\n ) > -1\r\n ) {\r\n var ReLoadTableId = document\r\n .getElementById(\"ReLoadTableId\")\r\n .click();\r\n if (ReLoadTableId) {\r\n ReLoadTableId.click();\r\n }\r\n var refreshShipmentsException = document.getElementById(\r\n \"refreshShipmentsException\"\r\n );\r\n if (refreshShipmentsException) {\r\n refreshShipmentsException.click();\r\n }\r\n } else if (\r\n window.shipmentEditCommingFrom.indexOf(\r\n \"AssigntoOutbound\"\r\n ) > -1\r\n ) {\r\n document\r\n .getElementById(\"refreshOneMoveMasterButton\")\r\n .click();\r\n }\r\n }, 500);\r\n setTimeout(() => {\r\n if (\r\n window.shipmentEditCommingFrom.indexOf(\"Billing\") > -1\r\n ) {\r\n document\r\n .getElementsByClassName(\"text-info\")[0]\r\n .parentElement.click();\r\n }\r\n }, 500);\r\n }\r\n }\r\n })\r\n .catch(() => {});\r\n }}\r\n >\r\n {({ handleSubmit, setFieldValue, values }) => (\r\n <>\r\n {SetFieldValueFunction(setFieldValue)}\r\n \r\n \r\n \r\n Charges\r\n \r\n {\r\n setChargesFunctionModel(false);\r\n setReloadCalcF();\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n Do you want to remove the rates?\r\n \r\n \r\n
\r\n {\r\n setChargesFunctionModel(false);\r\n if (document.getElementById(\"setShowMail\")) {\r\n document.getElementById(\"setShowMail\").click();\r\n }\r\n }}\r\n className=\"btn btn-light btn-elevate mr-2\"\r\n >\r\n No\r\n \r\n {\r\n setChargesFunctionModel(false);\r\n setFieldValue(\"Charges\", []);\r\n setReloadCalcF();\r\n\r\n setTimeout(() => {\r\n document.getElementById(\"setShowMail\").click();\r\n }, 2000);\r\n }}\r\n className=\"btn btn-success btn-elevate\"\r\n >\r\n Yes\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n {\r\n Show(false);\r\n if (\r\n window.shipmentEditCommingFrom.indexOf(\"Billing\") > -1\r\n ) {\r\n document\r\n .getElementsByClassName(\"text-info text-info\")[0]\r\n .parentElement.click();\r\n }\r\n if (\r\n window.shipmentEditCommingFrom.indexOf(\r\n \"AssigntoOutbound\"\r\n ) > -1\r\n ) {\r\n document\r\n .getElementById(\"refreshOneMoveMasterButton\")\r\n .click();\r\n }\r\n }}\r\n >\r\n \r\n \r\n
\r\n\r\n \r\n {actionsLoading && (\r\n
\r\n
\r\n .\r\n
\r\n
\r\n )}\r\n \r\n \r\n
Header
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Dates
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n {(values?.FreightChargeId === 98 ||\r\n values?.FreightChargeId === undefined) && (\r\n <>\r\n \r\n \r\n
\r\n Charges\r\n {!ChargesFunctionOne && (\r\n \r\n )}\r\n
\r\n \r\n \r\n \r\n \r\n <>\r\n
\r\n
\r\n {ChargesFunctionOne &&\r\n values?.Charges?.length > -1 ? (\r\n \r\n ) : (\r\n \r\n )}\r\n
\r\n
\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n
Detail
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n {\r\n setFieldValue(\"WillCall\", event.target.checked);\r\n }}\r\n />\r\n
\r\n\r\n
\r\n x?.Id === values?.PuLocationId\r\n )\r\n ? GenericAddresses.find(\r\n (x) => x?.Id === values?.PuLocationId\r\n )?.Name\r\n : \"Select...\",\r\n }}\r\n options={GenericAddresses.map((x) => {\r\n return {\r\n value: x.Id,\r\n label: x?.Name,\r\n };\r\n })}\r\n onChange={async (newValue) => {\r\n var a = newValue?.value;\r\n setFieldValue(\"PuLocationId\", a);\r\n\r\n var f = null;\r\n if (a) {\r\n f = await GetAddress(a, \"EmptyPuLocation\");\r\n setPuLocationDetail(f);\r\n setPUContact(f?.Contacts || []);\r\n } else {\r\n setPuLocationDetail(f);\r\n setPUContact([]);\r\n }\r\n }}\r\n />\r\n
\r\n
\r\n {PuLocationDetail?.CompanyName}\r\n
\r\n {PuLocationDetail?.Address}\r\n
\r\n {PuLocationDetail?.City},\r\n {PuLocationDetail?.State},\r\n {PuLocationDetail?.ZipCode}\r\n
\r\n
\r\n
\r\n
\r\n {\r\n return {\r\n value: x.Id,\r\n label: is(x?.Code) + x?.CompanyName,\r\n };\r\n })}\r\n />\r\n
\r\n
\r\n x?.Id === values?.NotifyPartyId\r\n )\r\n ? GenericAddresses.find(\r\n (x) => x?.Id === values?.NotifyPartyId\r\n )?.Name\r\n : \"Select...\",\r\n }}\r\n options={GenericAddresses.map((x) => {\r\n return {\r\n value: x.Id,\r\n label: x?.Name,\r\n };\r\n })}\r\n onChange={async (newValue) => {\r\n var a = newValue?.value;\r\n setFieldValue(\"NotifyPartyId\", a);\r\n var f = null;\r\n if (a) {\r\n f = await GetAddress(a, \"NotifyParty\");\r\n setNotifyPartyIdDetail(f);\r\n } else {\r\n setNotifyPartyIdDetail(f);\r\n }\r\n }}\r\n />\r\n
\r\n
\r\n {NotifyPartyIdDetail?.CompanyName}\r\n
\r\n {NotifyPartyIdDetail?.Address}\r\n
\r\n {NotifyPartyIdDetail?.City},\r\n {NotifyPartyIdDetail?.State},\r\n {NotifyPartyIdDetail?.ZipCode}\r\n
\r\n
\r\n
\r\n\r\n
\r\n x?.Id === values?.DestinationId\r\n )\r\n ? GenericAddresses.find(\r\n (x) => x?.Id === values?.DestinationId\r\n )?.Name\r\n : \"Select...\",\r\n }}\r\n options={GenericAddresses.map((x) => {\r\n return {\r\n value: x.Id,\r\n label: x?.Name,\r\n };\r\n })}\r\n onChange={async (newValue) => {\r\n var a = newValue?.value;\r\n setFieldValue(\"DestinationId\", a);\r\n var f = null;\r\n if (a) {\r\n f = await GetAddress(a, \"DestinationId\");\r\n setDestinationIdDetail(f);\r\n setContacts(f?.Contacts || []);\r\n } else {\r\n setDestinationIdDetail(f);\r\n setContacts([]);\r\n }\r\n }}\r\n />\r\n
\r\n
\r\n {DestinationIdDetail?.CompanyName}\r\n
\r\n {DestinationIdDetail?.Address}\r\n
\r\n {DestinationIdDetail?.City},\r\n {DestinationIdDetail?.State},\r\n {DestinationIdDetail?.ZipCode}\r\n
\r\n
\r\n\r\n
\r\n {\r\n return {\r\n value: x.Id,\r\n label: x?.Name,\r\n };\r\n })}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n
\r\n x?.Id === values?.EmptyPuLocationId\r\n )\r\n ? GenericAddresses.find(\r\n (x) => x?.Id === values?.EmptyPuLocationId\r\n )?.Name\r\n : \"Select...\",\r\n }}\r\n options={GenericAddresses.map((x) => {\r\n return {\r\n value: x.Id,\r\n label: x?.Name,\r\n };\r\n })}\r\n onChange={async (newValue) => {\r\n var a = newValue?.value;\r\n setFieldValue(\"EmptyPuLocationId\", a);\r\n var b = null;\r\n if (a) {\r\n b = await GetAddress(a, \"EmptyPuLocation\");\r\n setEmptyPuLocation(b);\r\n } else {\r\n setEmptyPuLocation(b);\r\n }\r\n }}\r\n />\r\n
\r\n
\r\n {EmptyPuLocation?.CompanyName}\r\n
\r\n {EmptyPuLocation?.Address}\r\n
\r\n {EmptyPuLocation?.City},{EmptyPuLocation?.State},\r\n {EmptyPuLocation?.ZipCode}\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n
\r\n x?.Id === values?.EquipmentProviderId\r\n )\r\n ? GenericAddresses.find(\r\n (x) => x?.Id === values?.EquipmentProviderId\r\n )?.Name\r\n : \"Select...\",\r\n }}\r\n options={GenericAddresses.map((x) => {\r\n return {\r\n value: x.Id,\r\n label: x?.Name,\r\n };\r\n })}\r\n onChange={async (newValue) => {\r\n var a = newValue?.value;\r\n setFieldValue(\"EquipmentProviderId\", a);\r\n var b = null;\r\n if (a) {\r\n b = await GetAddress(a, \"EquipmentProvider\");\r\n setEquipmentProvider(b);\r\n } else {\r\n setEquipmentProvider(b);\r\n }\r\n }}\r\n />\r\n
\r\n
\r\n {EquipmentProvider?.CompanyName}\r\n
\r\n {EquipmentProvider?.Address}\r\n
\r\n {EquipmentProvider?.City},\r\n {EquipmentProvider?.State},\r\n {EquipmentProvider?.ZipCode}\r\n
\r\n
\r\n
\r\n\r\n
\r\n x?.Id === values?.EmptyReturnLocationId\r\n )\r\n ? GenericAddresses.find(\r\n (x) =>\r\n x?.Id === values?.EmptyReturnLocationId\r\n )?.Name\r\n : \"Select...\",\r\n }}\r\n options={GenericAddresses.map((x) => {\r\n return {\r\n value: x.Id,\r\n label: x?.Name,\r\n };\r\n })}\r\n onChange={async (newValue) => {\r\n var a = newValue?.value;\r\n setFieldValue(\"EmptyReturnLocationId\", a);\r\n\r\n var f = null;\r\n if (a) {\r\n f = await GetAddress(a, \"EmptyPuLocation\");\r\n setEmptyReturnLocationIdDetail(f);\r\n } else {\r\n setEmptyReturnLocationIdDetail(f);\r\n }\r\n }}\r\n />\r\n
\r\n
\r\n {EmptyReturnLocationIdDetail?.CompanyName}\r\n
\r\n {EmptyReturnLocationIdDetail?.Address}\r\n
\r\n {EmptyReturnLocationIdDetail?.City},\r\n {EmptyReturnLocationIdDetail?.State},\r\n {EmptyReturnLocationIdDetail?.ZipCode}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n {\r\n var value = e.target.value;\r\n setFreightChargeIdFun(value);\r\n setFieldValue(\"FreightChargeId\", value);\r\n }}\r\n >\r\n }\r\n label=\"Prepaid\"\r\n />\r\n }\r\n label=\"Collect\"\r\n />\r\n }\r\n label=\"Third Party Billing\"\r\n />\r\n \r\n
\r\n
\r\n {\r\n setFieldValue(\r\n \"IsCustomerCheckAcceptable\",\r\n event.target.checked\r\n );\r\n }}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n Vendors List{\" \"}\r\n {values?.Id && (\r\n {\r\n window.C_PayablesReadOnly = e;\r\n window.ChargesReadOnly = e;\r\n setFieldValue(\"ArePayablesReadOnly\", e);\r\n var eles = document.querySelectorAll(\r\n \".setChargesReadOnly\"\r\n );\r\n eles.forEach((ele) => {\r\n ele.click();\r\n });\r\n }}\r\n />\r\n )}\r\n {!ChargesFunctionOne && (\r\n \r\n )}\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n {\r\n var a = VendorListStat.length;\r\n setReloadCalcF();\r\n /* window.$S_ChargesFM = false;\r\n setTimeout(() => {\r\n window.$S_ChargesFM = true;\r\n }, 3000); */\r\n setVendorListStat((x, index) => [\r\n ...x,\r\n ,\r\n ]);\r\n }}\r\n >\r\n Add New Vendor\r\n \r\n
\r\n {ChargesFunctionOne &&\r\n values?.Charges?.length > -1 &&\r\n VendorListStat.map((x) => x)}\r\n
\r\n
\r\n \r\n \r\n
Notes
\r\n
\r\n \r\n \r\n \r\n <>\r\n {values !== null ? (\r\n \r\n ) : (\r\n \"\"\r\n )}\r\n \r\n \r\n \r\n \r\n
Attachments
\r\n
\r\n \r\n \r\n \r\n <>\r\n {values !== null ? (\r\n \r\n ) : (\r\n \"\"\r\n )}\r\n \r\n \r\n \r\n \r\n
Transportation Items
\r\n
\r\n \r\n \r\n \r\n
\r\n {isLinearProgress && }\r\n {ItemsTmsComponent(values)}\r\n
\r\n
\r\n \r\n {\" \"}\r\n \r\n {\r\n await GetItemsTms(statSHipmentId);\r\n }}\r\n style={{\r\n float: \"right\",\r\n width: \"12%\",\r\n }}\r\n className=\"btn btn-light-info w-40 mr-5\"\r\n >\r\n {\" \"}\r\n \r\n {itemsTms.length > 0 && (\r\n (x?.Id && x.IsEditMode) || x?.IsPost\r\n )\r\n }\r\n class=\"btn btn-light-primary mr-5\"\r\n style={{\r\n float: \"right\",\r\n width: \"12%\",\r\n }}\r\n onClick={async () => {\r\n try {\r\n itemsTms?.length > 0 &&\r\n itemsTms.map(async (el) => {\r\n if (el?.Id && el?.IsEditMode) {\r\n await PutItemTms(el?.Id, el);\r\n Notification(\r\n \"success\",\r\n `Item #: ${el?.Id} has been updated successfully`\r\n );\r\n setTimeout(async () => {\r\n setIsLinearProgress(true);\r\n await GetItemsTms(statSHipmentId);\r\n setIsLinearProgress(false);\r\n }, 500);\r\n }\r\n if (el?.IsPost) {\r\n el.ShipmentId = statSHipmentId;\r\n await PostItemTms(el);\r\n }\r\n });\r\n } catch (err) {}\r\n }}\r\n >\r\n \r\n \r\n )}\r\n
\r\n
\r\n
\r\n \r\n {ShipmentItems.length > 0 && (\r\n \r\n \r\n
Shipment Items
\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n \r\n Edit OSD Item / PO# : {rowOsd?.PurchaseOrder}\r\n \r\n {\r\n showModalEditOsd(false);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n {\r\n setOverQuantity(e.target.value);\r\n }}\r\n />\r\n
\r\n\r\n
\r\n \r\n {\r\n setShortQuantity(e.target.value);\r\n }}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n \r\n {\r\n setDamagedQuantity(e.target.value);\r\n }}\r\n />\r\n
\r\n
\r\n
\r\n \r\n {\r\n showModalEditOsd(false);\r\n }}\r\n >\r\n Close\r\n \r\n {\r\n try {\r\n setSaveOsd(true);\r\n PutOsd({\r\n Id: rowOsd.Id,\r\n overQuantity: overQuantity,\r\n shortQuantity: shortQuantity,\r\n damagedQuantity: damagedQuantity,\r\n }).then((e) => {\r\n if (e[0] === 200) {\r\n Notification(\"success\", \"success\");\r\n setShipmentItems((e) => {\r\n var a = e.findIndex(\r\n (x) => x.Id === rowOsd.Id\r\n );\r\n e[a].ShipmentOverQuantity =\r\n overQuantity === null || overQuantity === \"\"\r\n ? 0\r\n : overQuantity;\r\n e[a].ShipmentShortQuantity =\r\n shortQuantity === null ||\r\n shortQuantity === \"\"\r\n ? 0\r\n : shortQuantity;\r\n e[a].ShipmentDamagedQuantity =\r\n damagedQuantity === null ||\r\n damagedQuantity === \"\"\r\n ? 0\r\n : damagedQuantity;\r\n return e;\r\n });\r\n setSaveOsd(false);\r\n showModalEditOsd(false);\r\n }\r\n });\r\n } catch (err) {}\r\n }}\r\n >\r\n Save\r\n \r\n \r\n \r\n {ShipmentItems.length > 0 && (\r\n \r\n
\r\n
\r\n {\r\n return (\r\n false}\r\n title=\"Edit OSD\"\r\n className=\"btn btn-icon btn-light btn-hover-primary btn-sm mx-3\"\r\n onClick={() => {\r\n showModalEditOsd(true);\r\n setRowOsd(row);\r\n setOverQuantity(\r\n row.ShipmentOverQuantity === null\r\n ? 0\r\n : row.ShipmentOverQuantity\r\n );\r\n setShortQuantity(\r\n row.ShipmentShortQuantity === null\r\n ? 0\r\n : row.ShipmentShortQuantity\r\n );\r\n setDamagedQuantity(\r\n row.ShipmentDamagedQuantity === null\r\n ? 0\r\n : row.ShipmentDamagedQuantity\r\n );\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n );\r\n },\r\n },\r\n ]}\r\n rows={ShipmentItems || []}\r\n />\r\n
\r\n
\r\n
\r\n )}\r\n \r\n \r\n {\" \"}\r\n \r\n {\r\n Show(false);\r\n if (window.shipmentEditCommingFrom.indexOf(\"Billing\") > -1) {\r\n document\r\n .getElementsByClassName(\"text-info\")[0]\r\n .parentElement.click();\r\n }\r\n if (\r\n window.shipmentEditCommingFrom.indexOf(\"AssigntoOutbound\") >\r\n -1\r\n ) {\r\n document\r\n .getElementById(\"refreshOneMoveMasterButton\")\r\n .click();\r\n }\r\n if (document.getElementById(\"ReLoadTableId\"))\r\n document.getElementById(\"ReLoadTableId\").click();\r\n }}\r\n className=\"btn btn-light btn-elevate\"\r\n >\r\n Cancel\r\n \r\n <>\r\n {(tab === \"1\" || tab === \"2\") && (\r\n {\r\n window.$OneMoveMasterSaveClose = false;\r\n if (!e.target.classList.contains(\"disabled\"))\r\n handleSubmit();\r\n }}\r\n className=\"btn btn-primary btn-elevate SaveDisabled disabled\"\r\n >\r\n Save\r\n \r\n )}\r\n {(tab === \"1\" || tab === \"2\") && (\r\n {\r\n window.$OneMoveMasterSaveClose = true;\r\n\r\n if (!e.target.classList.contains(\"disabled\"))\r\n handleSubmit();\r\n }}\r\n className=\"btn btn-primary btn-elevate SaveDisabled disabled\"\r\n >\r\n Save & Close\r\n {!ChargesFunctionOne && (\r\n \r\n )}\r\n \r\n )}\r\n \r\n \r\n )}\r\n \r\n \r\n );\r\n}\r\n\r\nfunction ShipmentHeader({\r\n values,\r\n setFieldValue,\r\n Customers = [],\r\n BillTo = [],\r\n TrackingDevices = [],\r\n Shippers = [],\r\n Consignee = [],\r\n Commodities = [],\r\n outboundUrl,\r\n ShipmentObj,\r\n setReloadCalcF,\r\n setChargesFunctionModel,\r\n statSHipmentId,\r\n Services,\r\n setStatus,\r\n}) {\r\n const [CustomersDetail, setCustomersDetail] = useState(obj);\r\n const [BillToIdDetail, setBillToIdDetail] = useState(obj);\r\n const [ShipperDetail, setShipperDetail] = useState(obj);\r\n const [ConsigneeIdDetail, setConsigneeIdDetail] = useState(obj);\r\n const [Modes, setModes] = useState(catchError);\r\n const [ServiceLevels, setServiceLevels] = useState(catchError);\r\n\r\n const [EquipmentTypes, setEquipmentTypes] = useState(catchError);\r\n const [EquipmentSizes, setEquipmentSizes] = useState(catchError);\r\n const [appointmentToDate, setAppointmentDateTo] = useState(null);\r\n const [puAppointmentToDate, setPuAppointmentDateTo] = useState(null);\r\n\r\n const [isPalletized, setIsPalletized] = useState(false);\r\n\r\n function OpenChargesModel() {\r\n var sum = 0;\r\n (values?.Charges || []).forEach((x) => {\r\n sum += x?.Quantity;\r\n });\r\n\r\n if (values?.Charges?.length > 0 && sum > 0) setChargesFunctionModel(true);\r\n else setReloadCalcF();\r\n }\r\n\r\n if (values?.AppointmentTo && appointmentToDate === null) {\r\n const appToDate = moment(\r\n momentDate(values?.AppointmentTo),\r\n \"MM-DD-YYYY, hh:mm A\"\r\n ).format(\"HH:mm:ss\");\r\n window.$appDateTo = appToDate;\r\n setAppointmentDateTo(appToDate);\r\n }\r\n\r\n if (values?.PuAppointmentTo && puAppointmentToDate === null) {\r\n const appToDate = moment(\r\n momentDate(values?.PuAppointmentTo),\r\n \"MM-DD-YYYY, hh:mm A\"\r\n ).format(\"HH:mm:ss\");\r\n window.$puAppDateTo = appToDate;\r\n setPuAppointmentDateTo(appToDate);\r\n }\r\n\r\n useEffect(() => {\r\n if (values?.CustomerId) {\r\n GetAddress(values?.CustomerId, \"Customer\");\r\n } else {\r\n setCustomersDetail(obj);\r\n }\r\n }, [values?.CustomerId, Customers]);\r\n\r\n useEffect(() => {\r\n if (values?.BillToId) {\r\n GetAddress(values?.BillToId, \"BillTo\");\r\n } else {\r\n setBillToIdDetail(obj);\r\n }\r\n }, [values?.BillToId, BillTo]);\r\n\r\n useEffect(() => {\r\n if (values?.ShipperId) {\r\n GetAddress(values?.ShipperId, \"Shipper\");\r\n } else {\r\n setShipperDetail(obj);\r\n }\r\n }, [values?.ShipperId, Shippers]);\r\n\r\n useEffect(() => {\r\n if (values?.ConsigneeId) {\r\n GetAddress(values?.ConsigneeId, \"Consignee\");\r\n } else {\r\n setConsigneeIdDetail(obj);\r\n }\r\n }, [values?.ConsigneeId, Consignee]);\r\n\r\n useEffect(() => {\r\n if (values?.ServiceId) {\r\n var b = Services.find((x) => x.Id === values?.ServiceId);\r\n setModes(b?.Modes || []);\r\n setStatus([]);\r\n }\r\n }, [values?.ServiceId, Services]);\r\n\r\n useEffect(() => {\r\n if (values?.ModeId) {\r\n var b = Modes.find((x) => x.Id == values?.ModeId);\r\n setServiceLevels(b?.ServiceLevels || []);\r\n setStatus(b?.Status || []);\r\n\r\n var el = document.querySelector(`[name=\"ModeId\"]`);\r\n if (el) el.value = values?.ModeId;\r\n }\r\n }, [values?.ModeId, Modes]);\r\n\r\n useEffect(() => {\r\n if (values?.ServiceLevelId) {\r\n var b = ServiceLevels.find((x) => x.Id == values?.ServiceLevelId);\r\n setEquipmentTypes(b?.EquipmentTypes || []);\r\n }\r\n }, [values?.ServiceLevelId, ServiceLevels]);\r\n\r\n useEffect(() => {\r\n if (values?.EquipmentTypeId) {\r\n var b = EquipmentTypes.find((x) => x.Id == values?.EquipmentTypeId);\r\n setEquipmentSizes(b?.EquipmentSizes || []);\r\n }\r\n }, [values?.EquipmentTypeId, EquipmentTypes]);\r\n\r\n useEffect(() => {\r\n if (values?.PalletType === \"Palletized\") {\r\n setIsPalletized(true);\r\n }\r\n }, [values?.PalletType]);\r\n\r\n function GetAddress(id, Type) {\r\n var myHeaders = new Headers();\r\n myHeaders.append(\"Authorization\", `Bearer ${db.read().getState()?.Token}`);\r\n\r\n var requestOptions = {\r\n method: \"GET\",\r\n headers: myHeaders,\r\n redirect: \"follow\",\r\n };\r\n\r\n fetch(\r\n `${window.$apiurl}/TransloadReceipts/Address/${id}?isCustomer=${\r\n Type === \"Customer\" ? true : false\r\n }&iswarehouse=${Type === \"Warehouse\" ? true : false}`,\r\n requestOptions\r\n )\r\n .then((response) => response.text())\r\n .then((result) => {\r\n var obj = JSON.parse(result);\r\n if (Type === \"Customer\") {\r\n setCustomersDetail(obj);\r\n } else if (Type === \"BillTo\") {\r\n setBillToIdDetail(obj);\r\n } else if (Type === \"Shipper\") {\r\n setShipperDetail(obj);\r\n } else if (Type === \"Consignee\") {\r\n setConsigneeIdDetail(obj);\r\n }\r\n })\r\n .catch((error) => console.log(\"error\", error));\r\n }\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n
\r\n x?.Id === values?.CustomerId)\r\n ? is(Customers.find((x) => x?.Id === values?.CustomerId)?.Code) +\r\n Customers.find((x) => x?.Id === values?.CustomerId)?.Name\r\n : \"Select...\",\r\n }}\r\n options={Customers.map((x) => {\r\n return {\r\n value: x.Id,\r\n label: is(x?.Code) + x?.Name,\r\n };\r\n })}\r\n onChangefirst={false}\r\n onChange={(newValue) => {\r\n var a = newValue?.value;\r\n setFieldValue(\"CustomerId\", a);\r\n if (a) OpenChargesModel();\r\n }}\r\n />\r\n
\r\n {CustomersDetail != null && (\r\n
\r\n {CustomersDetail?.Name}\r\n
\r\n {CustomersDetail?.Address}\r\n
\r\n {CustomersDetail?.City}, {CustomersDetail?.State},\r\n {CustomersDetail?.ZipCode}\r\n
\r\n )}\r\n
\r\n
\r\n
\r\n x?.Id === values?.BillToId)\r\n ? BillTo.find((x) => x?.Id === values?.BillToId)?.Name\r\n : \"Select...\",\r\n }}\r\n onChange={(e) => {\r\n setFieldValue(\"BillToId\", e?.value);\r\n }}\r\n options={BillTo.map((x) => {\r\n return {\r\n value: x.Id,\r\n label: x?.Name,\r\n };\r\n })}\r\n />\r\n
\r\n
\r\n {BillToIdDetail?.CompanyName}\r\n
\r\n {BillToIdDetail?.Address}\r\n
\r\n {BillToIdDetail?.City}, {BillToIdDetail?.State},\r\n {BillToIdDetail?.ZipCode}\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n {\r\n return {\r\n value: x.Id,\r\n label: is(x?.Code) + x?.Name,\r\n };\r\n })}\r\n onChangefirst={false}\r\n onChange={(newValue) => {\r\n var a = newValue?.value;\r\n setFieldValue(\"ModeId\", undefined);\r\n setFieldValue(\"ServiceLevelId\", undefined);\r\n setFieldValue(\"EquipmentTypeId\", undefined);\r\n setFieldValue(\"EquipmentSizeId\", undefined);\r\n if (a) OpenChargesModel();\r\n }}\r\n />\r\n
\r\n {Modes.length > 0 && (\r\n
\r\n \r\n x.Id === values?.ModeId)?.Name || \"Select...\",\r\n }}\r\n name=\"ModeId\"\r\n className=\"w-100 mr-2\"\r\n onChange={(newValue) => {\r\n var a = newValue?.value;\r\n setFieldValue(\"ModeId\", a);\r\n setFieldValue(\"ServiceLevelId\", undefined);\r\n setFieldValue(\"EquipmentTypeId\", undefined);\r\n setFieldValue(\"EquipmentSizeId\", undefined);\r\n\r\n if (a) OpenChargesModel();\r\n }}\r\n options={(Modes ?? []).map((x) => {\r\n return { value: x.Id, label: x.Name };\r\n })}\r\n />\r\n
\r\n )}\r\n {Modes.length > 0 && ServiceLevels.length > 0 && (\r\n
\r\n \r\n x.Id === values?.ServiceLevelId)\r\n ?.Name || \"Select...\",\r\n }}\r\n name=\"ServiceLevelId\"\r\n className=\"w-100 mr-2\"\r\n onChange={(newValue) => {\r\n var a = newValue?.value;\r\n setFieldValue(\"ServiceLevelId\", a);\r\n setFieldValue(\"EquipmentTypeId\", undefined);\r\n setFieldValue(\"EquipmentSizeId\", undefined);\r\n if (a) OpenChargesModel();\r\n }}\r\n options={(ServiceLevels ?? []).map((x) => {\r\n return { value: x.Id, label: x.Name };\r\n })}\r\n />\r\n
\r\n )}\r\n {Modes.length > 0 &&\r\n ServiceLevels.length > 0 &&\r\n EquipmentTypes.length > 0 && (\r\n
\r\n \r\n x.Id === values?.EquipmentTypeId)\r\n ?.Name || \"Select...\",\r\n }}\r\n className=\"w-100 mr-2\"\r\n name=\"EquipmentTypeId\"\r\n onChange={(newValue) => {\r\n var a = newValue?.value;\r\n setFieldValue(\"EquipmentTypeId\", a);\r\n setFieldValue(\"EquipmentSizeId\", undefined);\r\n if (a) OpenChargesModel();\r\n }}\r\n options={(EquipmentTypes ?? []).map((x) => {\r\n return { value: x.Id, label: x.Name };\r\n })}\r\n />\r\n
\r\n )}\r\n {Modes.length > 0 &&\r\n ServiceLevels.length > 0 &&\r\n EquipmentTypes.length > 0 &&\r\n EquipmentSizes.length > 0 && (\r\n
\r\n \r\n x.Id === values?.EquipmentSizeId)\r\n ?.Name || \"Select...\",\r\n }}\r\n name=\"EquipmentSizeId\"\r\n className=\"w-100 mr-2\"\r\n onChange={(newValue) => {\r\n var a = newValue?.value;\r\n setFieldValue(\"EquipmentSizeId\", a);\r\n if (a) OpenChargesModel();\r\n }}\r\n options={(EquipmentSizes ?? []).map((x) => {\r\n return { value: x.Id, label: x.Name };\r\n })}\r\n />\r\n
\r\n )}\r\n
\r\n {\r\n if (e.target.value === \"Palletized\") {\r\n setIsPalletized(true);\r\n } else {\r\n setIsPalletized(false);\r\n }\r\n setFieldValue(\"PalletType\", e.target.value);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n
\r\n\r\n {/* Pallet Type Section */}\r\n {isPalletized && (\r\n <>\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n {\r\n setFieldValue(\"PalletCount\", e.target.value);\r\n }}\r\n />\r\n
\r\n \r\n )}\r\n\r\n
\r\n
\r\n
\r\n x?.Id === values?.ShipperId)\r\n ? Shippers.find((x) => x?.Id === values?.ShipperId)?.Name\r\n : \"Select...\",\r\n }}\r\n options={Shippers.map((x) => {\r\n return {\r\n value: x.Id,\r\n label: x?.Name,\r\n };\r\n })}\r\n onChangefirst={false}\r\n onChange={(newValue) => {\r\n var a = newValue?.value;\r\n setFieldValue(\"ShipperId\", a);\r\n setTimeout(() => {\r\n if (a) OpenChargesModel();\r\n }, 500);\r\n }}\r\n />\r\n
\r\n {ShipperDetail != null && (\r\n
\r\n {ShipperDetail?.CompanyName}\r\n
\r\n {ShipperDetail?.Address}\r\n
\r\n {ShipperDetail?.City}, {ShipperDetail?.State},\r\n {ShipperDetail?.ZipCode}\r\n
\r\n )}\r\n
\r\n
\r\n\r\n
\r\n x?.Id === values?.ConsigneeId)\r\n ? Consignee.find((x) => x?.Id === values?.ConsigneeId)?.Name\r\n : \"Select...\",\r\n }}\r\n options={Consignee.map((x) => {\r\n return {\r\n value: x.Id,\r\n label: x?.Name,\r\n };\r\n })}\r\n onChangefirst={false}\r\n onChange={(newValue) => {\r\n var a = newValue?.value;\r\n setFieldValue(\"ConsigneeId\", a);\r\n setTimeout(() => {\r\n if (a) OpenChargesModel();\r\n }, 500);\r\n }}\r\n />\r\n
\r\n
\r\n {ConsigneeIdDetail?.CompanyName}\r\n
\r\n {ConsigneeIdDetail?.Address}\r\n
\r\n {ConsigneeIdDetail?.City}, {ConsigneeIdDetail?.State},\r\n {ConsigneeIdDetail?.ZipCode}\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n {\r\n window.$appDateTo = PostMomentTimeOnly(e.target.value);\r\n setAppointmentDateTo(e.target.value);\r\n }}\r\n >\r\n \r\n \r\n
\r\n
\r\n {\r\n $(\"#LastShipDateDateId\").val(e.target.value);\r\n }}\r\n />\r\n
\r\n
\r\n \r\n
\r\n
\r\n {\r\n $(\"#PickupAppointmentDateDateId\").val(e.target.value);\r\n }}\r\n />\r\n
\r\n
\r\n {\r\n window.$puAppDateTo = e.target.value;\r\n setFieldValue(\r\n \"PuAppointmentTo\",\r\n PostMomentTimeOnly(e.target.value)\r\n );\r\n setPuAppointmentDateTo(e.target.value);\r\n }}\r\n >\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n {\r\n return {\r\n value: x.Id,\r\n label: is(x?.Code) + x?.Description,\r\n };\r\n })}\r\n onChange={(newValue) => {\r\n var i = newValue?.value;\r\n var b = Commodities.find((x) => x.Id == i);\r\n SetValuefunction(\"LTLClassId\", b?.Class);\r\n SetValuefunction(\"NMFCId\", b?.NMFC);\r\n }}\r\n />\r\n
\r\n \r\n \r\n
\r\n {window.location.pathname.split(\"/\")[2] === \"FindOrders\" && (\r\n
\r\n \r\n
\r\n )}\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n {\r\n return {\r\n value: x.Id,\r\n label: x?.TrackiId + \" - \" + x?.Name,\r\n };\r\n })}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n B/L\r\n \r\n \r\n P & L\r\n \r\n {ShipmentObj !== null && (\r\n \r\n Outbound\r\n \r\n )}\r\n
\r\n
\r\n );\r\n}\r\n\r\nfunction CheckStatus(Status, Name) {\r\n try {\r\n if (Status?.length === 0) return false;\r\n return Status.filter((x) => x?.Name === Name).length > 0;\r\n } catch (error) {\r\n return false;\r\n }\r\n}\r\nfunction DatesComponent({ values, setFieldValue, Status = [], isTms }) {\r\n const [StatusLock, setStatusLock] = useState([]);\r\n\r\n useEffect(() => {\r\n setStatusLock(Status || []);\r\n }, [Status]);\r\n\r\n return (\r\n
\r\n {StatusLock?.length === 0 && (\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n

\r\n Please change the mode to display dates.\r\n

\r\n
\r\n
\r\n
\r\n
\r\n )}\r\n {CheckStatus(StatusLock, \"Planned\") && isTms === true ? (\r\n
\r\n \r\n
\r\n ) : (\r\n \"\"\r\n )}\r\n {CheckStatus(StatusLock, \"Loading\") && isTms === true ? (\r\n
\r\n \r\n
\r\n ) : (\r\n \"\"\r\n )}\r\n {CheckStatus(StatusLock, \"Loading\") && isTms === true ? (\r\n
\r\n \r\n
\r\n ) : (\r\n \"\"\r\n )}\r\n {CheckStatus(StatusLock, \"Notify Trucker\") && isTms === true ? (\r\n
\r\n \r\n
\r\n ) : (\r\n \"\"\r\n )}\r\n {CheckStatus(StatusLock, \"Notify Trucker\") && isTms === true ? (\r\n
\r\n \r\n
\r\n ) : (\r\n \"\"\r\n )}\r\n {CheckStatus(StatusLock, \"Quoted\") && (\r\n
\r\n \r\n
\r\n )}\r\n {CheckStatus(StatusLock, \"New\") && (\r\n
\r\n \r\n
\r\n )}\r\n {(CheckStatus(StatusLock, \"Booked\") ||\r\n CheckStatus(StatusLock, \"Assigned\")) && (\r\n
\r\n \r\n
\r\n )}\r\n {CheckStatus(StatusLock, \"Sent\") && (\r\n
\r\n \r\n
\r\n )}\r\n {CheckStatus(StatusLock, \"Dispatched\") && (\r\n
\r\n \r\n
\r\n )}\r\n {CheckStatus(StatusLock, \"Loading\") && (\r\n
\r\n \r\n
\r\n )}\r\n {CheckStatus(StatusLock, \"Loaded\") && (\r\n
\r\n \r\n
\r\n )}\r\n {CheckStatus(StatusLock, \"Released\") && (\r\n
\r\n \r\n
\r\n )}\r\n {CheckStatus(StatusLock, \"Appointed\") && (\r\n
\r\n \r\n
\r\n )}\r\n {CheckStatus(StatusLock, \"Loading From Our Warehouse\") && (\r\n
\r\n \r\n
\r\n )}\r\n {CheckStatus(StatusLock, \"Loaded From Our Warehouse\") && (\r\n
\r\n \r\n
\r\n )}\r\n {CheckStatus(StatusLock, \"Picked Up\") && (\r\n
\r\n \r\n
\r\n )}\r\n\r\n {CheckStatus(StatusLock, \"In Gate At Origin Hub\") && (\r\n
\r\n \r\n
\r\n )}\r\n {CheckStatus(StatusLock, \"In Transit\") && (\r\n
\r\n \r\n
\r\n )}\r\n {CheckStatus(StatusLock, \"Arrived Destination Hub\") && (\r\n
\r\n \r\n
\r\n )}\r\n {CheckStatus(StatusLock, \"Delivered To Consignee\") && (\r\n
\r\n \r\n
\r\n )}\r\n {CheckStatus(StatusLock, \"Delivered\") && (\r\n
\r\n \r\n
\r\n )}\r\n\r\n {CheckStatus(StatusLock, \"Empty\") && (\r\n
\r\n \r\n
\r\n )}\r\n {CheckStatus(StatusLock, \"Terminated\") && (\r\n
\r\n \r\n
\r\n )}\r\n {CheckStatus(StatusLock, \"Closed\") && (\r\n
\r\n \r\n
\r\n )}\r\n {(CheckStatus(StatusLock, \"Delivered Live Unload - closed once billed\") ||\r\n CheckStatus(StatusLock, \"Delivered Drop\")) && (\r\n
\r\n \r\n
\r\n )}\r\n {(CheckStatus(StatusLock, \"Empty Picked UP - closed once billed\") ||\r\n CheckStatus(StatusLock, \"Empty at Delivery\")) && (\r\n
\r\n \r\n
\r\n )}\r\n
\r\n );\r\n}\r\n\r\nconst ChargesFunction2 = ({\r\n isInbound,\r\n isPayable,\r\n type,\r\n list = [],\r\n ReloadCalc,\r\n setFieldValue,\r\n isVariableOpen = isVariableOpenDefault,\r\n}) => {\r\n const [ChargeModel, setChargeModel] = useState({\r\n Show: false,\r\n Type: \"success\",\r\n });\r\n const [Charges, setCharges] = useState(list);\r\n const [ChargesRemove, setChargesRemove] = useState([]);\r\n const [ChargesN, setChargesN] = useState(catchError);\r\n const [loadingCharges, setloadingCharges] = useState(true);\r\n const [FilterCharges, setFilterCharges] = useState(\"\");\r\n const [AutoRatingModal, setAutoRatingModal] = useState(false);\r\n const [OnlyRate, setOnlyRate] = useState([]);\r\n const [AutoRatingCheck, setAutoRatingCheck] = useState([]);\r\n const [NoteModal, setNoteModal] = useState({\r\n Show: false,\r\n Id: 0,\r\n Code: \"\",\r\n });\r\n\r\n useEffect(() => {\r\n if (!ChargeModel?.Show) CalcTotal();\r\n }, [ChargeModel]);\r\n\r\n useEffect(() => {\r\n GetPayableForVendor({ button: false });\r\n }, [ReloadCalc]);\r\n\r\n function FieldID(name) {\r\n return document.getElementById(name)?.value ?? \"\";\r\n }\r\n\r\n const GetPayableForVendor = ({ button }) => {\r\n setloadingCharges(true);\r\n\r\n const customerId = FieldID(\"C_CustomerId\");\r\n const serviceId = FieldID(\"C_ServiceId\");\r\n const modeId = FieldID(\"C_ModeId\");\r\n const serviceLevelId = FieldID(\"C_ServiceLevelId\");\r\n const equipmentTypeId = FieldID(\"C_EquipmentTypeId\");\r\n const equipmentSizeId = FieldID(\"C_EquipmentSizeId\");\r\n const date = FieldID(\"C_PuAppointment\");\r\n const CarrierId = FieldID(\"C_CarrierId\");\r\n\r\n const fromCity = FieldID(\"C_fromCity\");\r\n const fromAddress = FieldID(\"C_fromAddress\");\r\n const fromState = FieldID(\"C_fromState\");\r\n const fromZipCode = FieldID(\"C_fromZipCode\");\r\n\r\n const toCity = FieldID(\"C_toCity\");\r\n const toAddress = FieldID(\"C_toAddress\");\r\n const toState = FieldID(\"C_toState\");\r\n const toZipCode = FieldID(\"C_toZipCode\");\r\n\r\n try {\r\n var myHeaders = new Headers();\r\n myHeaders.append(\"Authorization\", `bearer ${db.read().getState().Token}`);\r\n myHeaders.append(\"Content-Type\", \"application/json\");\r\n myHeaders.append(\"X-FP-API-KEY\", \"iphone\");\r\n var requestOptions = {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: myHeaders,\r\n redirect: \"follow\",\r\n };\r\n fetch(\r\n window.$apiurl +\r\n `/ordersRating/GetCharges?customerId=${customerId}&serviceId=${serviceId}&serviceLevelId=${serviceLevelId}&ModeId=${modeId}&isInbound=${isInbound}&isPayable=${isPayable}&carrierId=${CarrierId}&equipmentTypeId=${equipmentTypeId}&equipmentSizeId=${equipmentSizeId}&fromCity=${fromCity}&fromAddress=${fromAddress}&fromState=${fromState}&fromZipCode=${fromZipCode}&toCity=${toCity}&toAddress=${toAddress}&toState=${toState}&toZipCode=${toZipCode}&date=${date}`,\r\n requestOptions\r\n )\r\n .then((response) => response.json())\r\n .then(async (result) => {\r\n try {\r\n setChargesN([]);\r\n\r\n var thisList = window[\"List\" + type];\r\n let chargesVar = thisList;\r\n\r\n chargesVar = CheckRateInCharges(\r\n chargesVar,\r\n result,\r\n window.C_ChargesReadOnly,\r\n setChargesRemove\r\n );\r\n\r\n let objCalc = [];\r\n if (button) objCalc = await GetPayableForVendorCalc();\r\n else\r\n objCalc =\r\n chargesVar?.length === 0 ? await GetPayableForVendorCalc() : [];\r\n\r\n objCalc = RemoveDuplicate(chargesVar, objCalc);\r\n\r\n chargesVar = JSON.parse(JSON.stringify(chargesVar));\r\n chargesVar.forEach((x) => {\r\n x.Id2 = x?.Id;\r\n x.Id = x?.ChargeId;\r\n });\r\n let allObjs = chargesVar.concat(objCalc);\r\n\r\n let resArr = [];\r\n allObjs.filter(function(item) {\r\n resArr.push({ ...item, ChargeId: item?.Id });\r\n });\r\n\r\n var a = [];\r\n (result || []).forEach((x) => {\r\n var i = allObjs.find((y) => y?.Id === x?.Id);\r\n if (i === undefined) a.push(x);\r\n });\r\n\r\n //get auto rate\r\n resArr = (await StartAutoRate(resArr, \"\")) ?? [];\r\n\r\n setCharges(resArr || []);\r\n setChargesN(a || []);\r\n setloadingCharges(false);\r\n SaveDisabledFunction(false);\r\n\r\n if (button)\r\n setTimeout(() => {\r\n document.getElementById(\"AutoRatingBtn\").click();\r\n }, 1000);\r\n } catch (err) {\r\n console.error(err);\r\n }\r\n })\r\n .catch((err) => {\r\n console.error(err);\r\n });\r\n } catch (e) {}\r\n };\r\n\r\n async function GetPayableForVendorCalc() {\r\n if (window.C_ChargesReadOnly === true) return [];\r\n const customerId = FieldID(\"C_CustomerId\");\r\n const serviceId = FieldID(\"C_ServiceId\");\r\n const modeId = FieldID(\"C_ModeId\");\r\n const serviceLevelId = FieldID(\"C_ServiceLevelId\");\r\n const equipmentTypeId = FieldID(\"C_EquipmentTypeId\");\r\n const equipmentSizeId = FieldID(\"C_EquipmentSizeId\");\r\n const date = FieldID(\"C_PuAppointment\");\r\n const CarrierId = FieldID(\"C_CarrierId\");\r\n\r\n const fromCity = FieldID(\"C_fromCity\");\r\n const fromAddress = FieldID(\"C_fromAddress\");\r\n const fromState = FieldID(\"C_fromState\");\r\n const fromZipCode = FieldID(\"C_fromZipCode\");\r\n\r\n const toCity = FieldID(\"C_toCity\");\r\n const toAddress = FieldID(\"C_toAddress\");\r\n const toState = FieldID(\"C_toState\");\r\n const toZipCode = FieldID(\"C_toZipCode\");\r\n\r\n return await fetch(\r\n window.$apiurl +\r\n `/ordersRating/GetCalculatedCharges?customerId=${customerId}&serviceId=${serviceId}&serviceLevelId=${serviceLevelId}&ModeId=${modeId}&isInbound=${isInbound}&isPayable=${isPayable}&carrierId=${CarrierId}&equipmentTypeId=${equipmentTypeId}&equipmentSizeId=${equipmentSizeId}&fromCity=${fromCity}&fromAddress=${fromAddress}&fromState=${fromState}&fromZipCode=${fromZipCode}&toCity=${toCity}&toAddress=${toAddress}&toState=${toState}&toZipCode=${toZipCode}&date=${date}`,\r\n {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n }\r\n )\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n const a = [];\r\n res[1].map((x) => a.push({ ...x, Calc: true }));\r\n return a;\r\n })\r\n .catch((err) => {\r\n console.error(err);\r\n });\r\n }\r\n\r\n // function SaveDisabledFun(msg) {\r\n // alert(msg);\r\n // }\r\n\r\n function CalcTotal() {\r\n var sum = 0;\r\n $(`.RatesTotal-${type}`).each(function() {\r\n var a = Number(\r\n $(this)\r\n .find(\"input\")\r\n .val()\r\n );\r\n $(this)\r\n .find(\"input\")\r\n .val(a.toFixed(2));\r\n sum += a;\r\n });\r\n $(`.RateAllTotal-${type} span`).text(AddSpace3(sum));\r\n\r\n document.querySelectorAll(`.Charges2 span`).forEach((element) => {\r\n var category = element.getAttribute(\"data-Name\");\r\n var invoice = element.getAttribute(\"data-Invoice\");\r\n var vendorBill = element.getAttribute(\"data-VendorBill\");\r\n var filter = Charges.filter(\r\n (x) =>\r\n x?.Category === category &&\r\n ((x?.Invoice === invoice && type === \"Charges\") ||\r\n (x?.VendorBill === vendorBill && type === \"Payables\"))\r\n );\r\n var a = filter.reduce(\r\n (total, x) =>\r\n CalculateCharge({\r\n Rate: x?.Rate,\r\n Quantity: RoundToFixed(\r\n x?.Quantity ?? 0,\r\n x?.Rounding,\r\n x?.IsRounding\r\n ),\r\n rateType: x?.RateType,\r\n MinCharge: x?.MinCharge,\r\n MaxCharge: x?.MaxCharge,\r\n FreeTime: x?.FreeTime,\r\n }) + total,\r\n 0\r\n );\r\n element.innerText = \"Sub Total : \" + AddSpace3(a);\r\n\r\n var str = \".\" + CategoryTotalId(category, invoice, vendorBill, \"\", type);\r\n SetSubTotal(a, str);\r\n });\r\n }\r\n\r\n useEffect(() => {\r\n let a = [];\r\n Charges.map((x) =>\r\n a.push({\r\n ...x,\r\n ChargeId: x?.ChargeId || x?.Id,\r\n Code: x?.Code,\r\n Name: x?.Name,\r\n Quantity:\r\n RoundToFixed(x?.Quantity ?? 0, x?.Rounding, x?.IsRounding) || 0,\r\n Category: x?.Category,\r\n Rate: x?.Rate,\r\n Position: x?.Position,\r\n CategoryPosition: x?.CategoryPosition,\r\n OriAddSup: x?.OriAddSup,\r\n Invoice: x?.Invoice || \"\",\r\n InvoiceId: +x?.InvoiceId || null,\r\n IsReadOnly: x?.IsReadOnly || false,\r\n Note: x?.Note,\r\n MinCharge: x?.MinCharge,\r\n MaxCharge: x?.MaxCharge,\r\n FreeTime: x?.FreeTime,\r\n RateType: x?.RateType,\r\n Calcul: x?.Calcul,\r\n DateEnd: x?.DateEnd,\r\n DateStart: x?.DateStart,\r\n QuoteId: x?.QuoteId,\r\n Rounding: x?.Rounding,\r\n CalculName: x?.CalculName,\r\n RatingTable: x?.RatingTable,\r\n })\r\n );\r\n window[\"List\" + type] = Charges;\r\n if (type === \"Charges\") setFieldValue(\"Charges\", a);\r\n CalcTotal();\r\n }, [Charges, ChargesN]);\r\n\r\n function CheckHidden(param1, param2) {\r\n return param1?.toLowerCase()?.includes(param2?.toLowerCase())\r\n ? \"row\"\r\n : \"d-none\";\r\n }\r\n\r\n useEffect(() => {\r\n if (ChargeModel.Show === false) {\r\n setFilterCharges(\"\");\r\n }\r\n }, [ChargeModel]);\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n
Customer Charges
\r\n
\r\n setFilterCharges(e.target.value?.trim() ?? \"\")}\r\n />\r\n
\r\n \r\n setChargeModel({ Show: false, Type: \"success\" })}\r\n >\r\n \r\n \r\n
\r\n \r\n {listdistinctFunction(\r\n ChargeModel?.Type === \"info\" ? Charges : ChargesN,\r\n ChargeModel?.Type,\r\n ChargeModel?.Show\r\n )?.map((x, index) => (\r\n \r\n \r\n
\r\n \r\n {\" \"}\r\n {x.Code}\r\n }\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n {x?.Name}\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n {\" \"}\r\n \r\n \r\n
\r\n
\r\n {\r\n const isInfo = ChargeModel?.Type === \"info\";\r\n\r\n let a = JSON.parse(JSON.stringify(Charges)) || [];\r\n\r\n var listCharge = isInfo ? Charges : ChargesN;\r\n\r\n var c = ChargesN?.filter((y) => y?.Id !== x?.Id);\r\n var b = listCharge?.find((y) => y?.Id === x?.Id);\r\n\r\n if (b || isInfo) {\r\n var color = 0;\r\n if (ChargeModel?.Type === \"primary\") color = 1;\r\n else if (isInfo) color = 2;\r\n\r\n var value = +document.getElementById(\"ChargeN\" + index)\r\n .value;\r\n if (type === \"Payables\" && value < 0)\r\n value = CheckIsNigativeRate(value, x?.OriAddSup);\r\n else\r\n CheckIsNigativePositive(\r\n value,\r\n Charges,\r\n index,\r\n x?.ChargeId,\r\n true\r\n );\r\n\r\n a.push({\r\n ...b,\r\n Id: b?.Id,\r\n ChargeId: b?.Id,\r\n Rate: b?.Rate,\r\n Name: b?.Name,\r\n Code: b?.Code,\r\n Quantity: value,\r\n RateType: b?.RateType,\r\n MinCharge: b?.MinCharge,\r\n MaxCharge: b?.MaxCharge,\r\n Position: b?.Position,\r\n CategoryPosition: b?.CategoryPosition,\r\n FreeTime: b?.FreeTime,\r\n Calcul: b?.Calcul,\r\n Category: b?.Category,\r\n IsVariable: x?.IsVariable || false,\r\n Invoice: \"\",\r\n VendorBill: \"\",\r\n VendorBillId: null,\r\n OriAddSup: color,\r\n IsReadOnly: false,\r\n DateEnd: FieldID(\"DateEnd\" + index),\r\n DateStart: FieldID(\"DateStart\" + index),\r\n QuoteId: b?.QuoteId,\r\n Rounding: b?.Rounding,\r\n CalculName: b?.CalculName,\r\n RatingTable: b?.RatingTable,\r\n });\r\n }\r\n\r\n setCharges(a);\r\n if (!isInfo) setChargesN(c);\r\n\r\n setTimeout(() => {\r\n if (\r\n (c?.length === 0 && !isInfo) ||\r\n (a?.length === 0 && isInfo)\r\n )\r\n setChargeModel({ Show: false, Type: \"success\" });\r\n }, 1);\r\n }}\r\n >\r\n \r\n \r\n
\r\n
\r\n ))}\r\n {(ChargeModel?.Type === \"info\" ? Charges : ChargesN)?.length ===\r\n 0 && (\r\n
\r\n \r\n
\r\n )}\r\n \r\n \r\n
\r\n setChargeModel({ Show: false, Type: \"success\" })}\r\n className=\"btn btn-light btn-elevate\"\r\n >\r\n Cancel\r\n \r\n
\r\n
\r\n \r\n\r\n {/* Auto Rating ---------------------------------------- */}\r\n \r\n {/* Auto Rating ---------------------------------------- */}\r\n\r\n \r\n \r\n \r\n Note : {NoteModal?.Code}\r\n \r\n setNoteModal({ Show: false })}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n setNoteModal({ Show: false })}\r\n className=\"btn btn-light btn-elevate\"\r\n >\r\n Cancel\r\n \r\n {!window.C_ChargesReadOnly && (\r\n {\r\n var note = JsNative(\"#NoteCharges\").val();\r\n\r\n if (NoteModal?.index > -1) {\r\n let c = Charges;\r\n\r\n var type = 0;\r\n if (!isInbound && !isPayable) type = 1;\r\n else if (!isInbound && isPayable) type = 2;\r\n else if (isInbound && !isPayable) type = 3;\r\n else if (isInbound && isPayable) type = 4;\r\n\r\n if (c[NoteModal?.index]?.IsReadOnly)\r\n PostNote(c[NoteModal?.index]?.Id2, note, type);\r\n\r\n c[NoteModal?.index].Note = note;\r\n setCharges([]);\r\n setTimeout(() => {\r\n setCharges(c || []);\r\n setNoteModal({ Show: false });\r\n }, 1);\r\n }\r\n }}\r\n className=\"btn btn-primary btn-elevate ml-2\"\r\n >\r\n OK\r\n \r\n )}\r\n
\r\n
\r\n \r\n\r\n {loadingCharges && (\r\n
\r\n \r\n
\r\n )}\r\n\r\n \r\n\r\n
\r\n
\r\n
\r\n {Charges?.map((x, index) => (\r\n

{x?.Calcul}

\r\n ))}\r\n
\r\n\r\n \r\n \r\n \r\n Code\r\n Name\r\n Rate\r\n Quantity\r\n Total\r\n Remove\r\n Action\r\n \r\n \r\n\r\n {SortAndRename(Charges, type)?.map((x, index) => {\r\n const iiii =\r\n x?.ChargeId +\r\n \"\" +\r\n index +\r\n (x?.Invoice ?? \"\") +\r\n (x?.VendorBill ?? \"\");\r\n return (\r\n <>\r\n \r\n \r\n {x?.CategoryAppend !== \"\" && (\r\n <>\r\n \r\n \r\n \r\n \r\n {x?.Category}\r\n \r\n Sub Total : 0.00\r\n \r\n \r\n \r\n \r\n \r\n \r\n )}\r\n\r\n \r\n \r\n {isChangeFunction(x)}\r\n \r\n \r\n

\r\n \r\n Quote # \r\n \r\n \r\n {x?.QuoteId ?? \"Empty\"}\r\n \r\n {x?.RatingTable && x?.RatingTable !== null && (\r\n <>\r\n \r\n Rating Table\r\n \r\n \r\n {x?.RatingTable ?? \"Empty\"}\r\n \r\n \r\n )}\r\n

\r\n \r\n }\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n {x?.Code}\r\n \r\n {x?.CalculName}\r\n \r\n \r\n \r\n {x?.Name}\r\n \r\n {x?.IsVariable}\r\n {\r\n if (e.detail === 2 && x?.IsVariable === true) {\r\n e.target.readOnly = false;\r\n $(e.target).removeClass(\"bg-light\");\r\n }\r\n }}\r\n onBlur={(e) => {\r\n var value = CheckIsNigativeRate(\r\n +e.target.value,\r\n x?.OriAddSup\r\n );\r\n e.target.value = value;\r\n\r\n var b = JSON.parse(JSON.stringify(Charges));\r\n var a = b.findIndex(\r\n (y) =>\r\n y.ChargeId === x?.ChargeId &&\r\n y.OriAddSup === x?.OriAddSup &&\r\n y?.InvoiceId === x?.InvoiceId &&\r\n y?.VendorBillId === x?.VendorBillId\r\n );\r\n if (a > -1) {\r\n b[a].Rate = +e.target.value;\r\n setCharges(b);\r\n }\r\n const c = CalculateCharge({\r\n Rate: +e.target.value,\r\n Quantity: RoundToFixed(\r\n x?.Quantity ?? 0,\r\n x?.Rounding,\r\n x?.IsRounding\r\n ),\r\n rateType: x?.RateType,\r\n MinCharge: x?.MinCharge,\r\n MaxCharge: x?.MaxCharge,\r\n FreeTime: x?.FreeTime,\r\n OriAddSup: x?.OriAddSup,\r\n });\r\n $(`.RatesTotal${iiii} input`).val(c.toFixed(2));\r\n }}\r\n />\r\n \r\n \r\n \r\n {\r\n var value = +e.target.value;\r\n if (type === \"Payables\" && value < 0) {\r\n value = CheckIsNigativeRate(value, x?.OriAddSup);\r\n e.target.value = value;\r\n } else {\r\n CheckIsNigativePositive(\r\n value,\r\n Charges,\r\n index,\r\n x?.ChargeId,\r\n true\r\n );\r\n }\r\n\r\n var b = JSON.parse(JSON.stringify(Charges));\r\n var a = b.findIndex(\r\n (y) =>\r\n y.ChargeId === x?.ChargeId &&\r\n y.OriAddSup === x?.OriAddSup &&\r\n y?.InvoiceId === x?.InvoiceId &&\r\n y?.VendorBillId === x?.VendorBillId\r\n );\r\n if (a > -1) {\r\n b[a].Quantity = value;\r\n setCharges(b);\r\n }\r\n const c = CalculateCharge({\r\n Rate: x?.Rate,\r\n Quantity: value,\r\n rateType: x?.RateType,\r\n MinCharge: x?.MinCharge,\r\n MaxCharge: x?.MaxCharge,\r\n FreeTime: x?.FreeTime,\r\n OriAddSup: x?.OriAddSup,\r\n });\r\n $(`.RatesTotal${iiii} input`).val(c.toFixed(2));\r\n }}\r\n onChange={(e) => {\r\n if (x?.IsRounding === true)\r\n GetLengthRound(e, x?.Rounding);\r\n }}\r\n defaultValue={InputValueCharge(\r\n x,\r\n window.C_ChargesReadOnly\r\n )}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n {\r\n let a = Charges || [];\r\n let b = ChargesN || [];\r\n a = a?.filter((y) => y !== x);\r\n if (x?.OriAddSup !== 2)\r\n b.push({\r\n ...x,\r\n Id: x?.ChargeId,\r\n Rate: x?.Rate,\r\n Name: x?.Name,\r\n Code: x?.Code,\r\n Quantity: 1,\r\n RateType: x?.RateType,\r\n MinCharge: x?.MinCharge,\r\n MaxCharge: x?.MaxCharge,\r\n FreeTime: x?.FreeTime,\r\n Position: x?.Position,\r\n CategoryPosition: x?.CategoryPosition,\r\n Calcul: x?.Calcul,\r\n Category: x?.Category,\r\n IsVariable: x?.IsVariable || false,\r\n Invoice: x?.Invoice,\r\n InvoiceId: x?.InvoiceId,\r\n OriAddSup: x?.OriAddSup,\r\n IsReadOnly: x?.IsReadOnly || false,\r\n DateEnd: x?.DateEnd,\r\n DateStart: x?.DateStart,\r\n QuoteId: x?.QuoteId,\r\n Rounding: x?.Rounding,\r\n CalculName: x?.CalculName,\r\n RatingTable: x?.RatingTable,\r\n });\r\n\r\n setCharges(a);\r\n setChargesN(b);\r\n }}\r\n >\r\n \r\n \r\n \r\n\r\n \r\n {\r\n var autoRatingCheck = [x?.Id];\r\n setAutoRatingCheck(autoRatingCheck);\r\n\r\n var find = SortOnlyCharge(\r\n Charges,\r\n autoRatingCheck\r\n ).length;\r\n\r\n if (find > 0) setAutoRatingModal(true);\r\n else\r\n AutoRatingCharges({\r\n setAutoRatingModal: setAutoRatingModal,\r\n setCharges: setCharges,\r\n Charges: Charges,\r\n bool: true,\r\n AutoRatingCheck: AutoRatingCheck,\r\n });\r\n }}\r\n >\r\n \r\n \r\n }\r\n Child2={\r\n {\r\n setNoteModal({\r\n Show: true,\r\n Id: x?.ChargeId,\r\n Code: x?.Code,\r\n Note: x?.Note,\r\n index: index,\r\n });\r\n }}\r\n >\r\n \r\n \r\n }\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n {(x?.FreeTime || null) !== null && (\r\n \r\n FT : {ReturnEmptyOrString(x?.FreeTime)}\r\n \r\n )}\r\n {(x?.MinCharge || null) !== null && (\r\n \r\n Min : {ReturnEmptyOrString(x?.MinCharge)}\r\n \r\n )}\r\n {(x?.MaxCharge || null) !== null && (\r\n \r\n Max : {ReturnEmptyOrString(x?.MaxCharge)}\r\n \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n {x?.SubTotal && (\r\n \r\n \r\n \r\n \r\n \r\n \r\n Sub Total\r\n

\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )}\r\n \r\n \r\n );\r\n })}\r\n\r\n \r\n \r\n \r\n \r\n

\r\n Total\r\n

\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n {ChargesRemove?.length > 0 && (\r\n \r\n )}\r\n {Charges?.length === 0 && }\r\n
\r\n {Charges.findIndex((x) => x?.IsReadOnly === true) === -1 && (\r\n {\r\n setChargeModel({ Show: true, Type: \"success\" });\r\n }}\r\n disabled={\r\n window.C_ChargesReadOnly ||\r\n ChargesN?.length === 0 ||\r\n loadingCharges\r\n }\r\n >\r\n Add Charge\r\n \r\n )}\r\n {Charges.findIndex((x) => x?.IsReadOnly === true) > -1 && (\r\n <>\r\n {ChargesN && (\r\n {\r\n setChargeModel({ Show: true, Type: \"primary\" });\r\n }}\r\n disabled={\r\n window.C_ChargesReadOnly ||\r\n ChargesN?.length === 0 ||\r\n Charges.findIndex(\r\n (x) =>\r\n x?.OriAddSup === 2 &&\r\n (x?.Invoice === \"Empty\" || x?.VendorBill === \"Empty\")\r\n ) > -1\r\n }\r\n >\r\n Add Additional\r\n \r\n )}\r\n {\r\n setChargeModel({ Show: true, Type: \"info\" });\r\n }}\r\n disabled={\r\n window.C_ChargesReadOnly ||\r\n Charges?.length === 0 ||\r\n Charges.findIndex(\r\n (x) =>\r\n x?.OriAddSup === 1 &&\r\n (x?.Invoice === \"Empty\" || x?.VendorBill === \"Empty\")\r\n ) > -1\r\n }\r\n >\r\n Add Supplemental\r\n \r\n \r\n )}\r\n
\r\n
\r\n {\r\n var list = [];\r\n Charges.forEach((x) => list.push(x?.Id));\r\n setAutoRatingCheck(list);\r\n\r\n var find = SortOnlyCharge(Charges).length;\r\n if (find > 0) setAutoRatingModal(true);\r\n else\r\n AutoRatingCharges({\r\n setAutoRatingModal: setAutoRatingModal,\r\n setCharges: setCharges,\r\n Charges: Charges,\r\n bool: true,\r\n AutoRatingCheck: AutoRatingCheck,\r\n });\r\n }}\r\n >\r\n Auto Rate\r\n \r\n\r\n {\r\n //get type --------------------------------------------------\r\n var type = e.target.getAttribute(\"data-type\");\r\n\r\n var list = [];\r\n Charges.filter((x) => type.includes(x.Calcul)).forEach((x) => {\r\n if (type.includes(\"perdaychassis\")) {\r\n x.DateStart = FieldID(\"C_PickedUpDate\");\r\n x.DateEnd = FieldID(\"C_TerminatedDate\");\r\n }\r\n list.push(x?.Id);\r\n });\r\n var autoRatingCheck = list;\r\n setAutoRatingCheck(list);\r\n\r\n //get type --------------------------------------------------\r\n\r\n var find = SortOnlyCharge(Charges, autoRatingCheck).length;\r\n if (find > 0) setAutoRatingModal(true);\r\n else\r\n AutoRatingCharges({\r\n setAutoRatingModal: setAutoRatingModal,\r\n setCharges: setCharges,\r\n Charges: Charges,\r\n bool: true,\r\n AutoRatingCheck: AutoRatingCheck,\r\n });\r\n }}\r\n />\r\n
\r\n
\r\n {\r\n GetPayableForVendor({ button: true });\r\n }}\r\n >\r\n {loadingCharges && (\r\n \r\n )}\r\n Calculated\r\n \r\n
\r\n
\r\n );\r\n};\r\n\r\nasync function PostNote(id, text, type) {\r\n return fetch(window.$apiurl + \"/Shipments/postchargesnotes\", {\r\n method: \"POST\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify({\r\n Id: id,\r\n Note: text,\r\n Type: type,\r\n }),\r\n }).then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n });\r\n}\r\n\r\nfunction SaveDisabledFunction(bool) {\r\n document.querySelectorAll(\".SaveDisabled\").forEach((el) => {\r\n if (bool) el.classList.add(\"disabled\");\r\n else el.classList.remove(\"disabled\");\r\n });\r\n}\r\n\r\nasync function PutOsd({ Id, overQuantity, shortQuantity, damagedQuantity }) {\r\n const someData = {\r\n OverQuantity:\r\n overQuantity === \"\" || overQuantity === null ? 0 : overQuantity,\r\n ShortQuantity:\r\n shortQuantity === \"\" || shortQuantity === null ? 0 : shortQuantity,\r\n DamagedQuantity:\r\n damagedQuantity === \"\" || damagedQuantity === null ? 0 : damagedQuantity,\r\n };\r\n return fetch(window.$apiurl + \"/Shipments/Osd/\" + Id, {\r\n method: \"put\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(someData),\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n return res;\r\n })\r\n .catch((error) => {});\r\n}\r\n\r\nfunction CheckVandorIsDanger(Vendors, VendorsList = []) {\r\n var checkBool = false;\r\n VendorsList.forEach((x) => {\r\n var checkVendor = Vendors.find((y) => y?.Id === x?.VendorId);\r\n var checkOrg = vendorsOrg.find(\r\n (y) => y?.Id === x?.IdOrg && y?.VendorId === x?.VendorId\r\n );\r\n if (\r\n !checkOrg &&\r\n checkVendor &&\r\n checkVendor.AlertType === \"Danger\" &&\r\n x?.FreightChargeId === 98\r\n ) {\r\n checkBool = true;\r\n const alertMessage = checkVendor?.AlertMessage || [];\r\n alertMessage.map((x) => {\r\n const msgType =\r\n checkVendor?.AlertType === \"Danger\" ? \"error\" : \"warning\";\r\n Notification(msgType, checkVendor?.Name + \" : \" + x);\r\n });\r\n }\r\n });\r\n return checkBool;\r\n}\r\n","import {createSlice} from \"@reduxjs/toolkit\";\r\n\r\nconst initialCustomersState = {\r\n listLoading: false,\r\n actionsLoading: false,\r\n totalCount: 0,\r\n entities: null,\r\n customerForEdit: undefined,\r\n lastError: null\r\n};\r\nexport const callTypes = {\r\n list: \"list\",\r\n action: \"action\"\r\n};\r\n\r\nexport const customersSlice = createSlice({\r\n name: \"customers\",\r\n initialState: initialCustomersState,\r\n reducers: {\r\n catchError: (state, action) => {\r\n state.error = `${action.type}: ${action.payload.error}`;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = false;\r\n } else {\r\n state.actionsLoading = false;\r\n }\r\n },\r\n startCall: (state, action) => {\r\n state.error = null;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = true;\r\n } else {\r\n state.actionsLoading = true;\r\n }\r\n },\r\n // getCustomerById\r\n customerFetched: (state, action) => {\r\n state.actionsLoading = false;\r\n state.customerForEdit = action.payload.customerForEdit;\r\n state.error = null;\r\n },\r\n // findCustomers\r\n customersFetched: (state, action) => {\r\n const { totalCount, entities } = action.payload;\r\n state.listLoading = false;\r\n state.error = null;\r\n state.entities = entities;\r\n state.totalCount = totalCount;\r\n },\r\n // createCustomer\r\n customerCreated: (state, action) => {\r\n state.actionsLoading = false;\r\n state.error = null;\r\n state.entities.push(action.payload.customer);\r\n },\r\n // updateCustomer\r\n customerUpdated: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.map(entity => {\r\n if (entity.id === action.payload.customer.id) {\r\n return action.payload.customer;\r\n }\r\n return entity;\r\n });\r\n },\r\n // deleteCustomer\r\n customerDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(el => el.id !== action.payload.id);\r\n },\r\n // deleteCustomers\r\n customersDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(\r\n el => !action.payload.ids.includes(el.id)\r\n );\r\n },\r\n // customersUpdateState\r\n customersStatusUpdated: (state, action) => {\r\n state.actionsLoading = false;\r\n state.error = null;\r\n const { ids, status } = action.payload;\r\n state.entities = state.entities.map(entity => {\r\n if (ids.findIndex(id => id === entity.id) > -1) {\r\n entity.status = status;\r\n }\r\n return entity;\r\n });\r\n }\r\n }\r\n});\r\n","import * as requestFromServer from \"./carriersCrud\";\r\nimport {customersSlice, callTypes} from \"./carriersSlice\";\r\n\r\nconst {actions} = customersSlice;\r\n\r\nexport const fetchCustomers = queryParams => dispatch => {\r\n dispatch(actions.startCall({ callType: callTypes.list }));\r\n return requestFromServer\r\n .findCustomers(queryParams)\r\n .then(response => {\r\n const { totalCount, entities } = response.data;\r\n dispatch(actions.customersFetched({ totalCount, entities }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't find carriers\";\r\n dispatch(actions.catchError({ error, callType: callTypes.list }));\r\n });\r\n};\r\n\r\nexport const fetchCustomer = id => dispatch => {\r\n if (!id) {\r\n return dispatch(actions.customerFetched({ customerForEdit: undefined }));\r\n }\r\n\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .getCustomerById(id)\r\n .then(response => {\r\n const customer = response.data;\r\n dispatch(actions.customerFetched({ customerForEdit: customer }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't find carrier\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const deleteCustomer = id => dispatch => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .deleteCustomer(id)\r\n .then(response => {\r\n dispatch(actions.customerDeleted({ id }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't delete carrier\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const createCustomer = customerForCreation => dispatch => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .createCustomer(customerForCreation)\r\n .then(response => {\r\n const { customer } = response.data;\r\n dispatch(actions.customerCreated({ customer }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't create carrier\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const updateCustomer = customer => dispatch => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .updateCustomer(customer)\r\n .then(() => {\r\n dispatch(actions.customerUpdated({ customer }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't update carrier\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const updateCustomersStatus = (ids, status) => dispatch => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .updateStatusForCustomers(ids, status)\r\n .then(() => {\r\n dispatch(actions.customersStatusUpdated({ ids, status }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't update carrier status\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const deleteCustomers = ids => dispatch => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .deleteCustomers(ids)\r\n .then(() => {\r\n dispatch(actions.customersDeleted({ ids }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't delete carriers\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n","import axios from \"axios\";\r\n\r\nexport const CUSTOMERS_URL = \"api/carriers\";\r\n\r\n// CREATE => POST: add a new customer to the server\r\nexport function createCustomer(customer) {\r\n return axios.post(CUSTOMERS_URL, { customer });\r\n}\r\n\r\n// READ\r\nexport function getAllCustomers() {\r\n return axios.get(CUSTOMERS_URL);\r\n}\r\n\r\nexport function getCustomerById(customerId) {\r\n return axios.get(`${CUSTOMERS_URL}/${customerId}`);\r\n}\r\n\r\n// Method from server should return QueryResultsModel(items: any[], totalsCount: number)\r\n// items => filtered/sorted result\r\nexport function findCustomers(queryParams) {\r\n return axios.post(`${CUSTOMERS_URL}/find`, { queryParams });\r\n}\r\n\r\n// UPDATE => PUT: update the customer on the server\r\nexport function updateCustomer(customer) {\r\n return axios.put(`${CUSTOMERS_URL}/${customer.id}`, { customer });\r\n}\r\n\r\n// UPDATE Status\r\nexport function updateStatusForCustomers(ids, status) {\r\n return axios.post(`${CUSTOMERS_URL}/updateStatusForCustomers`, {\r\n ids,\r\n status\r\n });\r\n}\r\n\r\n// DELETE => delete the customer from the server\r\nexport function deleteCustomer(customerId) {\r\n return axios.delete(`${CUSTOMERS_URL}/${customerId}`);\r\n}\r\n\r\n// DELETE Customers by ids\r\nexport function deleteCustomers(ids) {\r\n return axios.post(`${CUSTOMERS_URL}/deleteCustomers`, { ids });\r\n}\r\n","import axios from \"axios\";\r\n\r\nexport const CUSTOMERS_URL = \"api/ManageCarrierAccounts\";\r\n\r\n// CREATE => POST: add a new customer to the server\r\nexport function createCustomer(customer) {\r\n return axios.post(CUSTOMERS_URL, { customer });\r\n}\r\n\r\n// READ\r\nexport function getAllCustomers() {\r\n return axios.get(CUSTOMERS_URL);\r\n}\r\n\r\nexport function getCustomerById(customerId) {\r\n return axios.get(`${CUSTOMERS_URL}/${customerId}`);\r\n}\r\n\r\n// Method from server should return QueryResultsModel(items: any[], totalsCount: number)\r\n// items => filtered/sorted result\r\nexport function findCustomers(queryParams) {\r\n return axios.post(`${CUSTOMERS_URL}/find`, { queryParams });\r\n}\r\n\r\n// UPDATE => PUT: update the customer on the server\r\nexport function updateCustomer(customer) {\r\n return axios.put(`${CUSTOMERS_URL}/${customer.id}`, { customer });\r\n}\r\n\r\n// UPDATE Status\r\nexport function updateStatusForCustomers(ids, status) {\r\n return axios.post(`${CUSTOMERS_URL}/updateStatusForCustomers`, {\r\n ids,\r\n status\r\n });\r\n}\r\n\r\n// DELETE => delete the customer from the server\r\nexport function deleteCustomer(customerId) {\r\n return axios.delete(`${CUSTOMERS_URL}/${customerId}`);\r\n}\r\n\r\n// DELETE Customers by ids\r\nexport function deleteCustomers(ids) {\r\n return axios.post(`${CUSTOMERS_URL}/deleteCustomers`, { ids });\r\n}\r\n","import {createSlice} from \"@reduxjs/toolkit\";\r\n\r\nconst initialCustomersState = {\r\n listLoading: false,\r\n actionsLoading: false,\r\n totalCount: 0,\r\n entities: null,\r\n customerForEdit: undefined,\r\n lastError: null\r\n};\r\nexport const callTypes = {\r\n list: \"list\",\r\n action: \"action\"\r\n};\r\n\r\nexport const customersSlice = createSlice({\r\n name: \"customers\",\r\n initialState: initialCustomersState,\r\n reducers: {\r\n catchError: (state, action) => {\r\n state.error = `${action.type}: ${action.payload.error}`;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = false;\r\n } else {\r\n state.actionsLoading = false;\r\n }\r\n },\r\n startCall: (state, action) => {\r\n state.error = null;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = true;\r\n } else {\r\n state.actionsLoading = true;\r\n }\r\n },\r\n // getCustomerById\r\n customerFetched: (state, action) => {\r\n state.actionsLoading = false;\r\n state.customerForEdit = action.payload.customerForEdit;\r\n state.error = null;\r\n },\r\n // findCustomers\r\n customersFetched: (state, action) => {\r\n const { totalCount, entities } = action.payload;\r\n state.listLoading = false;\r\n state.error = null;\r\n state.entities = entities;\r\n state.totalCount = totalCount;\r\n },\r\n // createCustomer\r\n customerCreated: (state, action) => {\r\n state.actionsLoading = false;\r\n state.error = null;\r\n state.entities.push(action.payload.customer);\r\n },\r\n // updateCustomer\r\n customerUpdated: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.map(entity => {\r\n if (entity.id === action.payload.customer.id) {\r\n return action.payload.customer;\r\n }\r\n return entity;\r\n });\r\n },\r\n // deleteCustomer\r\n customerDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(el => el.id !== action.payload.id);\r\n },\r\n // deleteCustomers\r\n customersDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(\r\n el => !action.payload.ids.includes(el.id)\r\n );\r\n },\r\n // customersUpdateState\r\n customersStatusUpdated: (state, action) => {\r\n state.actionsLoading = false;\r\n state.error = null;\r\n const { ids, status } = action.payload;\r\n state.entities = state.entities.map(entity => {\r\n if (ids.findIndex(id => id === entity.id) > -1) {\r\n entity.status = status;\r\n }\r\n return entity;\r\n });\r\n }\r\n }\r\n});\r\n","import * as requestFromServer from \"./customersCrud\";\r\nimport {customersSlice, callTypes} from \"./customersSlice\";\r\n\r\nconst {actions} = customersSlice;\r\n\r\nexport const fetchCustomers = queryParams => dispatch => {\r\n dispatch(actions.startCall({ callType: callTypes.list }));\r\n return requestFromServer\r\n .findCustomers(queryParams)\r\n .then(response => {\r\n const { totalCount, entities } = response.data;\r\n dispatch(actions.customersFetched({ totalCount, entities }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't find customers\";\r\n dispatch(actions.catchError({ error, callType: callTypes.list }));\r\n });\r\n};\r\n\r\nexport const fetchCustomer = id => dispatch => {\r\n if (!id) {\r\n return dispatch(actions.customerFetched({ customerForEdit: undefined }));\r\n }\r\n\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .getCustomerById(id)\r\n .then(response => {\r\n const customer = response.data;\r\n dispatch(actions.customerFetched({ customerForEdit: customer }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't find customer\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const deleteCustomer = id => dispatch => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .deleteCustomer(id)\r\n .then(response => {\r\n dispatch(actions.customerDeleted({ id }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't delete customer\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const createCustomer = customerForCreation => dispatch => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .createCustomer(customerForCreation)\r\n .then(response => {\r\n const { customer } = response.data;\r\n dispatch(actions.customerCreated({ customer }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't create customer\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const updateCustomer = customer => dispatch => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .updateCustomer(customer)\r\n .then(() => {\r\n dispatch(actions.customerUpdated({ customer }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't update customer\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const updateCustomersStatus = (ids, status) => dispatch => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .updateStatusForCustomers(ids, status)\r\n .then(() => {\r\n dispatch(actions.customersStatusUpdated({ ids, status }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't update customers status\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const deleteCustomers = ids => dispatch => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .deleteCustomers(ids)\r\n .then(() => {\r\n dispatch(actions.customersDeleted({ ids }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't delete customers\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n","import low from \"lowdb\";\r\nimport LocalStorage from \"lowdb/adapters/LocalStorage\";\r\nimport React, { Fragment, useState } from \"react\";\r\nimport { Dropdown, Modal } from \"react-bootstrap\";\r\nimport SVG from \"react-inlinesvg\";\r\nimport { toAbsoluteUrl } from \"../../../../../../../_metronic/_helpers\";\r\nimport { currencyFormat, Export } from \"../../../../../../../_metronic/_helpers/ATHelpers\";\r\nimport { DropdownCustomTogglerPrimary } from \"../../../../../../../_metronic/_partials/dropdowns/DropdownCustomToggler\";\r\nimport { Notification } from \"../../../../../Notification\";\r\nimport { ChargesModel } from \"../../../Transload/FindOrders/product-Containers/remark-edit-dialog/ChargesFunction\";\r\nimport { OneMoveMaster } from \"../../../Transload/FindOrders/product-Containers/remark-edit-dialog/OneMoveMaster\";\r\nimport SaveIcon from \"@material-ui/icons/Save\";\r\nconst adapter = new LocalStorage(\"db\");\r\nconst db = low(adapter);\r\n\r\nexport default function MenuIndex(props) {\r\n async function GetShipmentManifest(link) {\r\n return await fetch(window.$apiurl + link, {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n return res[1];\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n const OneMoveMasterFunction = () => {\r\n const [OneMoveMasterShow, setOneMoveMasterShow] = useState(false);\r\n return (\r\n <>\r\n {\r\n setOneMoveMasterShow(false);\r\n }}\r\n >\r\n \r\n \r\n \r\n );\r\n };\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n {/* BOL */}\r\n
  • \r\n false}\r\n className=\"navi-link\"\r\n onClick={() => {\r\n props.modalActions.setRowItem(props.row?.id);\r\n props.modalActions.setBol(true);\r\n }}\r\n >\r\n \r\n \r\n \r\n BOL\r\n \r\n
  • \r\n {/* Shipment Manifest */}\r\n
  • \r\n false}\r\n className=\"navi-link\"\r\n onClick={() => {\r\n props.modalActions.setRowItem(props?.row?.id);\r\n props.modalActions.setOutboundManifest(true);\r\n localStorage.setItem(\r\n \"SmManifestCustomer\",\r\n JSON.stringify(props?.row?.CustomerName)\r\n );\r\n }}\r\n >\r\n \r\n \r\n \r\n Shipment Manifest\r\n \r\n
  • {\" \"}\r\n {/* Rate Confirmation */}\r\n
  • \r\n false}\r\n className=\"navi-link\"\r\n onClick={() => {\r\n props.modalActions.setRowItem(props?.row?.id);\r\n props.modalActions.setModeItem(props?.row?.Mode);\r\n props.modalActions.setRateConfirmation(true);\r\n }}\r\n >\r\n \r\n \r\n \r\n Rate Confirmation\r\n \r\n
  • {\" \"}\r\n {/* P & L */}\r\n
  • \r\n false}\r\n className=\"navi-link\"\r\n onClick={() => {\r\n props.modalActions.setRowItem(props.row?.Id);\r\n props.modalActions.setPL(true);\r\n }}\r\n >\r\n \r\n \r\n \r\n P & L\r\n \r\n
  • {\" \"}\r\n {/* Export 1 */}\r\n
  • \r\n false}\r\n className=\"navi-link\"\r\n onClick={async () => {\r\n try {\r\n let data = [];\r\n const currentList = [];\r\n if (props?.row?.CustomerName !== \"Lulus\") {\r\n data = await GetShipmentManifest(\r\n `/Shipments/OutboundManifest/${props?.row?.id}`\r\n );\r\n if (data.ShipItems.length > 0) {\r\n data.ShipItems.map((item) => {\r\n currentList.push({\r\n PO: item.PurchaseOrder,\r\n SKU: item.Sku,\r\n Description: item.Description,\r\n CasePack: item.CasePack,\r\n ShipQTY: item.ShipQuantity,\r\n ShipUOM: item.ShipUom,\r\n Weight_LBS: currencyFormat(item.Weight),\r\n Cube_CBM: currencyFormat(item.Cube),\r\n ItemQty: item.Pieces,\r\n Container: item.EquipmentRef,\r\n });\r\n return item;\r\n });\r\n Export(\r\n currentList,\r\n \"excel\",\r\n `Shipment_Manifest#_${props?.row?.id}`\r\n );\r\n } else {\r\n Notification(\r\n \"warning\",\r\n `No Data Items on this Shipment# ${props?.row?.id}`\r\n );\r\n }\r\n } else {\r\n data = await GetShipmentManifest(\r\n `/pallets/GetPalletByShipment/${props?.row?.id}`\r\n );\r\n data.pallets?.length > 0 &&\r\n data.pallets.map((itemX) => {\r\n itemX.ItemsList.length > 0 &&\r\n itemX.ItemsList.map((itemY) => {\r\n itemY.PalletId = itemX.Id;\r\n currentList.push(itemY);\r\n return itemY;\r\n });\r\n return itemX;\r\n });\r\n if (data.pallets?.length > 0) {\r\n Export(\r\n currentList,\r\n \"excel\",\r\n `Shipment_Manifest#_${props?.row?.id}`\r\n );\r\n } else {\r\n Notification(\r\n \"warning\",\r\n `No Data Items on this Shipment# ${props?.row?.id}`\r\n );\r\n }\r\n }\r\n } catch (err) {\r\n console.log(err);\r\n }\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n Export Shipment Manifest (XLSX)\r\n \r\n \r\n
  • \r\n {/* Export 2 */}\r\n
  • \r\n false}\r\n className=\"navi-link\"\r\n onClick={async () => {\r\n try {\r\n let data = [];\r\n const currentList = [];\r\n if (props?.row?.CustomerName !== \"Lulus\") {\r\n data = await GetShipmentManifest(\r\n `/Shipments/OutboundManifest/${props?.row?.id}`\r\n );\r\n if (data.ShipItems.length > 0) {\r\n data.ShipItems.forEach((item) => {\r\n currentList.push({\r\n PO: item.PurchaseOrder,\r\n SKU: item.Sku,\r\n Description: item.Description,\r\n CasePack: item.CasePack,\r\n ShipQTY: item.ShipQuantity,\r\n ShipUOM: item.ShipUom,\r\n Weight_LBS: currencyFormat(item.Weight),\r\n Cube_CBM: currencyFormat(item.Cube),\r\n ItemQty: item.Pieces,\r\n Container: item.EquipmentRef,\r\n });\r\n });\r\n Export(currentList, \"csv\", `Shipment_Manifest#_${props?.row?.id}`);\r\n } else {\r\n Notification(\r\n \"warning\",\r\n `No Data Items on this Shipment# ${props?.row?.id}`\r\n );\r\n }\r\n } else {\r\n data = await GetShipmentManifest(\r\n `/pallets/GetPalletByShipment/${props?.row?.id}`\r\n );\r\n data.pallets?.length > 0 &&\r\n data.pallets.forEach((itemX) => {\r\n itemX.ItemsList.length > 0 &&\r\n itemX.ItemsList.forEach((itemY) => {\r\n itemY.PalletId = itemX.Id;\r\n currentList.push(itemY);\r\n });\r\n });\r\n if (data.pallets?.length > 0) {\r\n Export(currentList, \"csv\", `Shipment_Manifest#_${props?.row?.id}`);\r\n } else {\r\n Notification(\r\n \"warning\",\r\n `No Data Items on this Shipment# ${props?.row?.id}`\r\n );\r\n }\r\n }\r\n } catch (err) {\r\n console.log(err);\r\n }\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n Export Shipment Manifest (CSV)\r\n \r\n \r\n
  • \r\n {/* New Note */}\r\n
  • \r\n false}\r\n className=\"navi-link\"\r\n onClick={() => {\r\n props.modalActions.openEditCustomerDialog(props?.row?.id);\r\n }}\r\n >\r\n \r\n \r\n \r\n New Note\r\n \r\n
  • \r\n {/* Charges */}\r\n
  • \r\n \r\n
  • \r\n {/* Send Documents */}\r\n
  • \r\n false}\r\n className=\"navi-link\"\r\n onClick={() => {\r\n window.SendDispatchShipmentsList = undefined;\r\n props.modalActions.openDeleteCustomerDialog(props?.row?.id);\r\n }}\r\n >\r\n \r\n \r\n \r\n Send Documents\r\n \r\n
  • \r\n
\r\n
\r\n
\r\n \r\n
\r\n );\r\n}\r\n","import {\r\n Button,\r\n Icon,\r\n IconButton,\r\n makeStyles,\r\n Paper,\r\n Popover,\r\n Table,\r\n TableBody,\r\n TableCell,\r\n TableHead,\r\n TablePagination,\r\n TableRow,\r\n Typography,\r\n useTheme,\r\n} from \"@material-ui/core\";\r\nimport CloseIcon from \"@material-ui/icons/Close\";\r\nimport FirstPageIcon from \"@material-ui/icons/FirstPage\";\r\nimport KeyboardArrowLeft from \"@material-ui/icons/KeyboardArrowLeft\";\r\nimport KeyboardArrowRight from \"@material-ui/icons/KeyboardArrowRight\";\r\nimport LastPageIcon from \"@material-ui/icons/LastPage\";\r\nimport clsx from \"clsx\";\r\nimport FileSaver from \"file-saver\";\r\nimport GoogleMapReact from \"google-map-react\";\r\nimport $ from \"jquery\";\r\nimport low from \"lowdb\";\r\nimport LocalStorage from \"lowdb/adapters/LocalStorage\";\r\nimport moment from \"moment\";\r\nimport PDFViewer from \"pdf-viewer-reactjs\";\r\nimport React, { Fragment, useEffect, useState } from \"react\";\r\nimport {\r\n Accordion,\r\n Alert,\r\n Card,\r\n Col,\r\n Dropdown,\r\n Modal,\r\n OverlayTrigger,\r\n Row,\r\n Spinner,\r\n Tab,\r\n Tabs,\r\n Tooltip,\r\n} from \"react-bootstrap\";\r\nimport FileViewer from \"react-file-viewer\";\r\nimport SVG from \"react-inlinesvg\";\r\nimport { Link } from \"react-router-dom\";\r\nimport Select, { components, PlaceholderProps } from \"react-select\";\r\nimport { toAbsoluteUrl } from \"../../../../../../_metronic/_helpers\";\r\nimport {\r\n ActivityFunction,\r\n CopyTextToClipboardGlobal,\r\n currencyFormat,\r\n GetBaseData,\r\n GetCarrierCheckedInData,\r\n MenuIdsCopy,\r\n momentDate,\r\n momentDateOnly,\r\n} from \"../../../../../../_metronic/_helpers/ATHelpers\";\r\nimport {\r\n CheckboxLargeWB,\r\n DenseTableSm,\r\n} from \"../../../../../../_metronic/_partials/controls\";\r\nimport { DropdownCustomTogglerYellow } from \"../../../../../../_metronic/_partials/dropdowns/DropdownCustomToggler\";\r\nimport { Notification } from \"../../../../../modules/Notification\";\r\nimport { OneMoveMaster } from \"../../../../eMPower/pages/Transload/FindOrders/product-Containers/remark-edit-dialog/OneMoveMaster\";\r\nimport \"../../ReceiptsManagementNewVersion/customers-table/FileViewerStyle.css\";\r\nimport { RemarkEditDialog } from \"../../Transload/FindOrders/product-Containers/remark-edit-dialog/RemarkEditDialog\";\r\nimport { ContainersUIProvider } from \"../../Transload/FindOrders/product-Containers/RemarksUIContext\";\r\nimport { OrderAttachementsV2 } from \"../../Transload/FindOrders/product-edit/OrderAttachements\";\r\nimport MenuIndex from \"./Menu/Index\";\r\n\r\nconst adapter = new LocalStorage(\"db\");\r\nconst db = low(adapter);\r\nconst useStyles = makeStyles((theme) => ({\r\n typography: {\r\n padding: theme.spacing(2),\r\n },\r\n}));\r\nfunction formatDate(date) {\r\n if (date === null || date === undefined || date === \"\") {\r\n return \"\";\r\n }\r\n var d = new Date(date),\r\n month = \"\" + (d.getMonth() + 1),\r\n day = \"\" + d.getDate(),\r\n year = d.getFullYear();\r\n\r\n if (month.length < 2) month = \"0\" + month;\r\n if (day.length < 2) day = \"0\" + day;\r\n\r\n return [month, day, year].join(\"-\");\r\n}\r\nfunction IsValid(name, str) {\r\n try {\r\n if (\r\n str?.includes(\"null\") ||\r\n str?.includes(\"undefined\") ||\r\n str?.includes(\"Invalid date\")\r\n )\r\n str = undefined;\r\n } catch (error) {}\r\n return (\r\n <>\r\n
\r\n
\r\n {name}\r\n
\r\n
\r\n : {str || Empty}\r\n
\r\n
\r\n \r\n );\r\n}\r\nfunction IsValidColumn(name, str) {\r\n try {\r\n if (str?.includes(\"null\") || str?.includes(\"undefined\")) str = undefined;\r\n } catch (error) {}\r\n return (\r\n <>\r\n
\r\n
\r\n {name}\r\n
\r\n
\r\n {str || Empty}\r\n
\r\n
\r\n \r\n );\r\n}\r\n\r\nfunction tConvert(time) {\r\n if (time === undefined || time === null || time === \"\") {\r\n return \"\";\r\n } else {\r\n // Check correct time format and split into components\r\n time = time\r\n .toString()\r\n .match(/^([01]\\d|2[0-3])(:)([0-5]\\d)(:[0-5]\\d)?$/) || [time];\r\n\r\n if (time.length > 1) {\r\n // If time format correct\r\n time = time.slice(1); // Remove full string match value\r\n time[5] = +time[0] < 12 ? \" AM\" : \" PM\"; // Set AM/PM\r\n time[0] = +time[0] % 12 || 12; // Adjust hours\r\n }\r\n return time.join(\"\"); // return adjusted time or original string\r\n }\r\n}\r\nexport function ModelManagmentFirst({ row, isReporting, isTms }) {\r\n const [Show, setShow] = useState(false);\r\n function CopyComponent() {\r\n return (\r\n \r\n
  • \r\n false}\r\n className=\"navi-link\"\r\n onClick={() => {\r\n CopyTextToClipboardGlobal(row.id || row?.Id);\r\n }}\r\n >\r\n \r\n \r\n \r\n Shipment ID#\r\n \r\n
  • \r\n
  • \r\n false}\r\n className=\"navi-link\"\r\n onClick={() => {\r\n CopyTextToClipboardGlobal(row?.EquipmentNumber);\r\n }}\r\n >\r\n \r\n \r\n \r\n Trailer #\r\n \r\n
  • \r\n \r\n }\r\n />\r\n );\r\n }\r\n return (\r\n \r\n {\r\n setShow(false);\r\n }}\r\n aria-labelledby=\"example-modal-sizes-title-lg\"\r\n >\r\n \r\n \r\n\r\n \r\n <>\r\n <>\r\n {row?.IsCancelled || row?.OsdConfirmed ? (\r\n \r\n {row?.IsCancelled === true\r\n ? \"Cancled\"\r\n : row?.OsdConfirmed === true\r\n ? \"OSD Confirmed\"\r\n : \"\"}\r\n \r\n }\r\n >\r\n {\r\n e.preventDefault();\r\n setShow(true);\r\n }}\r\n className={`inputShipmentId alert ${\r\n row?.IsCancelled === true\r\n ? \"alert-danger\"\r\n : row?.OsdConfirmed === true\r\n ? \"alert-warning\"\r\n : \"alert-light-info\"\r\n } ${\r\n isReporting === true ? \"pt-0 pb-0 mt-0 mb-0\" : \"px-2 py-1 mt-3\"\r\n } ${\r\n row?.IsCancelled === true\r\n ? \"text-black\"\r\n : row?.OsdConfirmed === true\r\n ? \"text-black\"\r\n : \"text-primary bg-light\"\r\n }`}\r\n >\r\n {isReporting ? row.Trailer : row?.id}\r\n \r\n \r\n ) : (\r\n {\r\n e.preventDefault();\r\n setShow(true);\r\n }}\r\n className={`inputShipmentId alert ${\r\n row?.IsCancelled === true\r\n ? \"alert-danger\"\r\n : row?.OsdConfirmed === true\r\n ? \"alert-warning\"\r\n : \"alert-light-info\"\r\n } ${\r\n isReporting === true ? \"pt-0 pb-0 mt-0 mb-0\" : \"px-2 py-1 mt-3\"\r\n } ${\r\n row?.IsCancelled === true\r\n ? \"text-black\"\r\n : row?.OsdConfirmed === true\r\n ? \"text-black\"\r\n : \"text-primary bg-light\"\r\n }`}\r\n >\r\n {isReporting ? row.Trailer : row?.id}\r\n \r\n )}\r\n \r\n \r\n );\r\n}\r\n\r\nexport function ModelManagmentFirstDashboardSm({ trailer, id, isDashboard }) {\r\n const [Show, setShow] = useState(false);\r\n return (\r\n <>\r\n {\r\n setShow(false);\r\n }}\r\n aria-labelledby=\"example-modal-sizes-title-lg\"\r\n >\r\n \r\n \r\n setShow(true)}\r\n type=\"button\"\r\n className={`alert alert-light-info px-2 py-1 mt-3 text-primary bg-light`}\r\n value={trailer}\r\n />\r\n \r\n );\r\n}\r\nexport function DetailMangment({ Id, setShow, isDashboard, isTms }) {\r\n const classes = useStyles();\r\n const [Detail, setDetail] = useState();\r\n const [Status, setStatus] = useState([]);\r\n const [VendorsList, setVendorsList] = useState();\r\n const [Notes, setNotesList] = useState([]);\r\n const [Attachments, setAttachmentsList] = useState();\r\n const [DetailTrakingInfo, setDetailTrakingInfo] = useState([]);\r\n const [DetailTrakingGeometryInfo, setDetailTrakingGeometryInfo] = useState(\r\n []\r\n );\r\n const [DetailActivityRatesInfo, setDetailActivityRatesInfo] = useState(null);\r\n const [DetailShipmentInfo, setDetailShipmentInfo] = useState({});\r\n const [ShipmentDriversInfo, setShipmentDriversInfo] = useState(null);\r\n async function getCarrierInfodata() {\r\n let tt = await GetCarrierCheckedInData(Id);\r\n console.log(\"tt\", tt);\r\n setShipmentDriversInfo(tt);\r\n }\r\n useEffect(() => {\r\n getCarrierInfodata();\r\n }, [Id]);\r\n\r\n useEffect(() => {\r\n var listi = [];\r\n document.querySelectorAll(\".shipmentStatus\").forEach((element) => {\r\n if (element.innerText !== \"Other\" && element.innerText !== \"Delivered\")\r\n listi.push(element.innerText);\r\n });\r\n setStatus(listi);\r\n }, []);\r\n\r\n const renderMarkers = (map, maps) => {\r\n var data = DetailTrakingGeometryInfo.map((item) => {\r\n return {\r\n lat: Number(item.Lat),\r\n lng: Number(item.Lng),\r\n name: item.Address,\r\n Type: item.TraceType,\r\n };\r\n });\r\n const directionsService = new maps.DirectionsService();\r\n const directionsRenderer = new maps.DirectionsRenderer();\r\n\r\n calculateAndDisplayRoute(directionsService, directionsRenderer);\r\n\r\n function calculateAndDisplayRoute(directionsService, directionsRenderer) {\r\n window.gMap = map;\r\n for (var i = 0; i < data.length; i++) {\r\n if (data[i].Type === \"MANUAL\") {\r\n new maps.Marker({\r\n position: data[i],\r\n map: map,\r\n title: data[i].name,\r\n icon: {\r\n url: \"https://maps.google.com/mapfiles/ms/icons/orange-dot.png\",\r\n },\r\n });\r\n } else {\r\n new maps.Marker({\r\n position: data[i],\r\n map: map,\r\n title: data[i].name,\r\n icon: {\r\n url: \"https://maps.google.com/mapfiles/ms/icons/green-dot.png\",\r\n },\r\n });\r\n }\r\n }\r\n for (var j = 0, parts = [], max = 22 - 1; j < data.length; j = j + max) {\r\n parts.push(data.slice(j, j + max + 1));\r\n }\r\n\r\n for (var k = 0; k < parts.length; k++) {\r\n // Waypoints does not include first station (origin) and last station (destination)\r\n var waypoints = [];\r\n for (var l = 1; l < parts[k].length - 1; l++) {\r\n waypoints.push({ location: parts[k][l], stopover: false });\r\n }\r\n // Service options\r\n var service_options = {\r\n origin: parts[k][0],\r\n destination: data[data.length - 1],\r\n waypoints: waypoints,\r\n travelMode: \"DRIVING\",\r\n };\r\n // Send request\r\n directionsService.route(service_options, (response, status) => {\r\n if (status !== \"OK\") {\r\n console.log(\"Directions request failed due to \" + status);\r\n return;\r\n }\r\n if (!window.gRenderers) window.gRenderers = [];\r\n window.gRenderers.push(directionsRenderer);\r\n directionsRenderer.setMap(map);\r\n directionsRenderer.setOptions({\r\n suppressMarkers: true,\r\n preserveViewport: true,\r\n });\r\n directionsRenderer.setDirections(response);\r\n });\r\n }\r\n }\r\n directionsRenderer.setMap(map);\r\n };\r\n\r\n const useStyles1 = makeStyles((theme) => ({\r\n root: {\r\n flexShrink: 0,\r\n color: theme.palette.text.secondary,\r\n marginLeft: theme.spacing(2.5),\r\n },\r\n }));\r\n const [page, setPage] = React.useState(0);\r\n const [rowsPerPage, setRowsPerPage] = React.useState(10);\r\n function handleChangePage(event, newPage) {\r\n setPage(newPage);\r\n }\r\n\r\n function handleChangeRowsPerPage(event) {\r\n setRowsPerPage(parseInt(event.target.value, 10));\r\n }\r\n function TablePaginationActions(props) {\r\n const classes = useStyles1();\r\n const theme = useTheme();\r\n const { count, page, rowsPerPage, onChangePage } = props;\r\n\r\n function handleFirstPageButtonClick(event) {\r\n onChangePage(event, 0);\r\n }\r\n\r\n function handleBackButtonClick(event) {\r\n onChangePage(event, page - 1);\r\n }\r\n\r\n function handleNextButtonClick(event) {\r\n onChangePage(event, page + 1);\r\n }\r\n\r\n function handleLastPageButtonClick(event) {\r\n onChangePage(event, Math.max(0, Math.ceil(count / rowsPerPage) - 1));\r\n }\r\n\r\n return (\r\n
    \r\n \r\n {theme.direction === \"rtl\" ? : }\r\n \r\n \r\n {theme.direction === \"rtl\" ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n = Math.ceil(count / rowsPerPage) - 1}\r\n aria-label=\"Next Page\"\r\n >\r\n {theme.direction === \"rtl\" ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n = Math.ceil(count / rowsPerPage) - 1}\r\n aria-label=\"Last Page\"\r\n >\r\n {theme.direction === \"rtl\" ? : }\r\n \r\n
    \r\n );\r\n }\r\n const [Result, setResult] = useState(null);\r\n useEffect(() => {\r\n GetModel();\r\n }, []);\r\n const [contactModal, setContactModal] = useState(false);\r\n const [contactsVendor, setContactsVendor] = useState([]);\r\n const [vendorIdContact, setVendorIdContact] = useState(0);\r\n\r\n useEffect(() => {\r\n try {\r\n const obj = [];\r\n if (Detail?.Shipment?.Vendors?.length > 0) {\r\n Detail.Shipment.Vendors.forEach((itemX) => {\r\n itemX.VendorName =\r\n itemX.VendorAddress?.CompanyName +\r\n \" - \" +\r\n itemX.VendorAddress?.Code;\r\n itemX.ContactName = (\r\n false}\r\n className=\"btn btn-light-primary btn-elevate py-1\"\r\n onClick={() => {\r\n setVendorIdContact(itemX.Id);\r\n setContactsVendor(itemX.Contacts || []);\r\n setContactModal(true);\r\n }}\r\n >\r\n Show\r\n \r\n );\r\n obj.push(itemX);\r\n });\r\n setVendorsList(obj);\r\n }\r\n } catch (err) {\r\n console.log(err);\r\n }\r\n }, [Detail?.Shipment]);\r\n\r\n function CheckStatus(Name) {\r\n try {\r\n return $(`.ShipmentStatus:contains(\"${Name}\")`)?.length > 0;\r\n } catch (error) {\r\n return false;\r\n }\r\n }\r\n //OSD\r\n const [shortQuantity, setShortQuantity] = useState(\"\");\r\n const [damagedQuantity, setDamagedQuantity] = useState(\"\");\r\n const [overQuantity, setOverQuantity] = useState(\"\");\r\n const [modalOsdEdit, showModalEditOsd] = useState(false);\r\n const [saveEditOsd, setSaveOsd] = useState(false);\r\n const [rowOsd, setRowOsd] = useState(null);\r\n\r\n async function PutOsd() {\r\n const someData = {\r\n OverQuantity: overQuantity ?? 0,\r\n ShortQuantity: shortQuantity ?? 0,\r\n DamagedQuantity: damagedQuantity ?? 0,\r\n };\r\n return fetch(window.$apiurl + \"/Shipments/Osd/\" + rowOsd?.Id, {\r\n method: \"put\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(someData),\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n window.$statusCodePut = statusCode;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n return res[1];\r\n })\r\n .catch((error) => {});\r\n }\r\n const [showAttachment, setShowAttachment] = useState(false);\r\n const [disabledDownload, setDisabledDownload] = useState(true);\r\n useEffect(() => {\r\n if (!showAttachment) {\r\n setFilePath(\"\");\r\n setFileType(\"\");\r\n }\r\n }, [showAttachment]);\r\n const onError = (e) => {\r\n console.log(e, \"error in file-viewer\");\r\n };\r\n const [type, setFileType] = useState(\"\");\r\n const [filePath, setFilePath] = useState(\"\");\r\n return (\r\n <>\r\n \r\n
    \r\n
    \r\n {IsValid(\"Order Number\", Detail?.Shipment?.OrderId)}\r\n
    \r\n
    \r\n {IsValid(\r\n \"Shipment Number\",\r\n Detail?.Shipment?.Id +\r\n (Detail?.Shipment?.Equipment\r\n ? \" - \" + Detail?.Shipment?.Equipment\r\n : \"\")\r\n )}\r\n
    \r\n\r\n
    \r\n {IsValid(\"Invoice No\", Detail?.Shipment?.InvoiceNumber)}\r\n
    \r\n
    \r\n {IsValid(\"Invoice Date\", momentDate(Detail?.Shipment?.InvoiceDate))}\r\n
    \r\n
    \r\n {\r\n setShow(false);\r\n }}\r\n >\r\n \r\n \r\n
    \r\n\r\n \r\n \r\n <>\r\n \r\n \r\n
    Shipment Basic
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n Customer\r\n
    \r\n
    \r\n {IsValid(\r\n \"Customer Code\",\r\n Detail?.Shipment?.CustomerAddress?.Code\r\n )}\r\n {IsValid(\r\n \"Customer Name\",\r\n Detail?.Shipment?.CustomerAddress?.CompanyName\r\n )}\r\n {IsValid(\r\n \"Customer Address\",\r\n Detail?.Shipment?.CustomerAddress?.Address\r\n )}\r\n
    \r\n {IsValid(\r\n \"City,State,Zip Code\",\r\n Detail?.Shipment?.CustomerAddress?.City +\r\n \" , \" +\r\n Detail?.Shipment?.CustomerAddress?.State +\r\n \" , \" +\r\n Detail?.Shipment?.CustomerAddress?.ZipCode\r\n )}\r\n
    \r\n
    \r\n {IsValid(\r\n \"Customer Ref No \",\r\n Detail?.Shipment?.CustomerNumber\r\n )}\r\n
    \r\n {/*
    \r\n {IsValid(\"Customer Ref No 2\", Detail?.CustomerReference2)}\r\n
    */}\r\n
    \r\n\r\n
    \r\n \r\n Bill To\r\n
    \r\n
    \r\n {IsValid(\r\n \"Bill To Code\",\r\n Detail?.Shipment?.BillToAddress?.Code\r\n )}\r\n {IsValid(\r\n \"Bill To Name\",\r\n Detail?.Shipment?.BillToAddress?.CompanyName\r\n )}\r\n {IsValid(\r\n \"Bill To Address1\",\r\n Detail?.Shipment?.BillToAddress?.Address\r\n )}\r\n
    \r\n {IsValid(\r\n \"City,State,Zip Code\",\r\n Detail?.Shipment?.BillToAddress?.City +\r\n \" , \" +\r\n Detail?.Shipment?.BillToAddress?.State +\r\n \" , \" +\r\n Detail?.Shipment?.BillToAddress?.ZipCode\r\n )}\r\n
    \r\n
    \r\n {IsValid(\r\n \"Billing Ref No \",\r\n Detail?.Shipment?.BillingNumber\r\n )}\r\n
    \r\n {/*
    \r\n {IsValid(\"Billing Ref No 2\", Detail?.BillingReference2)}\r\n
    */}\r\n
    \r\n\r\n
    \r\n \r\n Pickup Location\r\n
    \r\n
    \r\n {IsValid(\r\n \"Pickup Location Code\",\r\n Detail?.Shipment?.ShipperAddress?.Code\r\n )}\r\n {IsValid(\r\n \"Pickup Location Name\",\r\n Detail?.Shipment?.ShipperAddress?.CompanyName\r\n )}\r\n {IsValid(\r\n \"Pickup Location Address1\",\r\n Detail?.Shipment?.ShipperAddress?.Address\r\n )}\r\n
    \r\n {IsValid(\r\n \"City,State,Zip Code\",\r\n Detail?.Shipment?.ShipperAddress?.City +\r\n \" , \" +\r\n Detail?.Shipment?.ShipperAddress?.State +\r\n \" , \" +\r\n Detail?.Shipment?.ShipperAddress?.ZipCode\r\n )}\r\n
    \r\n
    \r\n {IsValid(\"Shipper Ref No\", Detail?.Shipment?.ShipperNumber)}\r\n
    \r\n
    \r\n {IsValid(\r\n \"Order Created\",\r\n momentDate(Detail?.Shipment?.CreatedAt)\r\n )}\r\n
    \r\n
    \r\n\r\n
    \r\n \r\n Ship to Location\r\n
    \r\n
    \r\n {IsValid(\r\n \"Ship to Location Code\",\r\n Detail?.Shipment?.ConsigneeAddress?.Code\r\n )}\r\n {IsValid(\r\n \"Ship to Location Name\",\r\n Detail?.Shipment?.ConsigneeAddress?.CompanyName\r\n )}\r\n
    \r\n {IsValid(\r\n \"Ship to Location Address1\",\r\n Detail?.Shipment?.ConsigneeAddress?.Address\r\n )}\r\n
    \r\n
    \r\n {IsValid(\r\n \"City,State,Zip Code\",\r\n Detail?.Shipment?.ConsigneeAddress?.City +\r\n \" , \" +\r\n Detail?.Shipment?.ConsigneeAddress?.State +\r\n \" , \" +\r\n Detail?.Shipment?.ConsigneeAddress?.ZipCode\r\n )}\r\n
    \r\n
    \r\n {IsValid(\r\n \"Consignee Ref No\",\r\n Detail?.Shipment?.ConsigneeNumber\r\n )}\r\n
    \r\n
    \r\n\r\n
    \r\n \r\n Dates\r\n
    \r\n
    \r\n
    \r\n {Status?.length > 0 &&\r\n Status.map((x) => (\r\n <>\r\n {IsValid(\r\n x,\r\n momentDate(statusBuild(x, Detail?.Shipment))\r\n )}\r\n \r\n ))}\r\n {IsValid(\r\n \"Delivered\",\r\n momentDate(Detail?.Shipment?.StatusDeliveredDate)\r\n )}\r\n {/* {isTms === true\r\n ? IsValid(\r\n \"Planned\",\r\n momentDate(Detail?.Shipment?.StatusPlannedDate)\r\n )\r\n : \"\"} */}\r\n {isTms === true\r\n ? IsValid(\r\n \"Shipping Arrival Date\",\r\n momentDate(Detail?.Shipment?.ShippingArrivalDate)\r\n )\r\n : \"\"}\r\n {isTms === true\r\n ? IsValid(\r\n \"Trailler Drop Date\",\r\n momentDate(Detail?.Shipment?.TraillerDropDate)\r\n )\r\n : \"\"}\r\n\r\n {isTms === true\r\n ? IsValid(\r\n \"Checked In Date\",\r\n momentDate(Detail?.Shipment?.StatusCheckedInDate)\r\n )\r\n : \"\"}\r\n {/* {isTms === true\r\n ? IsValid(\r\n \"Notify Trucker\",\r\n momentDate(Detail?.Shipment?.StatusNotifyTrucker)\r\n )\r\n : \"\"} */}\r\n\r\n {IsValid(\r\n \"Requested Pick Up Date\",\r\n momentDate(Detail?.Shipment?.RequestedPickUpDate)\r\n )}\r\n {IsValid(\r\n \"Last Ship Date\",\r\n momentDate(Detail?.Shipment?.LastShipDate)\r\n )}\r\n {IsValid(\r\n \"P/U Appointment\",\r\n momentDate(Detail?.Shipment?.PuAppointment)\r\n )}\r\n {IsValid(\r\n \"P/U Appointment Start\",\r\n moment(\r\n momentDate(Detail?.Shipment?.PuAppointment),\r\n \"MM-DD-YYYY, hh:mm A\"\r\n ).format(\"hh:mm A\") === \"Invalid date\"\r\n ? \"\"\r\n : moment(\r\n momentDate(Detail?.Shipment?.PuAppointment),\r\n \"MM-DD-YYYY, hh:mm A\"\r\n ).format(\"hh:mm A\")\r\n )}\r\n {IsValid(\r\n \"P/U Appointment To\",\r\n moment(\r\n momentDate(Detail?.Shipment?.PuAppointmentTo),\r\n \"MM-DD-YYYY, hh:mm A\"\r\n ).format(\"hh:mm A\") === \"Invalid date\"\r\n ? \"\"\r\n : moment(\r\n momentDate(Detail?.Shipment?.PuAppointmentTo),\r\n \"MM-DD-YYYY, hh:mm A\"\r\n ).format(\"hh:mm A\")\r\n )}\r\n
    \r\n
    \r\n {IsValid(\r\n \"Appointment Date\",\r\n momentDate(Detail?.Shipment?.AppointmentDate)\r\n )}\r\n {IsValid(\r\n \"Appointment Date Start\",\r\n moment(\r\n momentDate(Detail?.Shipment?.AppointmentDate),\r\n \"MM-DD-YYYY, hh:mm A\"\r\n ).format(\"hh:mm A\") === \"Invalid date\"\r\n ? \"\"\r\n : moment(\r\n momentDate(Detail?.Shipment?.AppointmentDate),\r\n \"MM-DD-YYYY, hh:mm A\"\r\n ).format(\"hh:mm A\")\r\n )}\r\n {IsValid(\r\n \"Appointment Date To\",\r\n moment(\r\n momentDate(Detail?.Shipment?.AppointmentTo),\r\n \"MM-DD-YYYY, hh:mm A\"\r\n ).format(\"hh:mm A\") === \"Invalid date\"\r\n ? \"\"\r\n : moment(\r\n momentDate(Detail?.Shipment?.AppointmentTo),\r\n \"MM-DD-YYYY, hh:mm A\"\r\n ).format(\"hh:mm A\")\r\n )}\r\n {IsValid(\r\n \"E.T.A\",\r\n momentDate(Detail?.Shipment?.EstimatedArrivalDate)\r\n )}\r\n {IsValid(\"RDD\", momentDateOnly(Detail?.Shipment?.Rdd))}\r\n
    \r\n
    \r\n \r\n Basics\r\n
    \r\n
    \r\n
    \r\n {IsValid(\"Commodity Id\", Detail?.Shipment?.CommodityId)}\r\n {IsValid(\"Entered By\", Detail?.Shipment?.EnteredBy)}\r\n {IsValid(\r\n \"Order Created\",\r\n momentDate(Detail?.Shipment?.CreatedAt)\r\n )}\r\n {IsValid(\"Order No\", Detail?.Shipment?.OrderId)}\r\n {IsValid(\"Weight\", currencyFormat(Detail?.Shipment?.Weight))}\r\n {IsValid(\"Cube\", currencyFormat(Detail?.Shipment?.Cube))}\r\n {IsValid(\"Pieces\", Detail?.Shipment?.Pieces)}\r\n
    \r\n\r\n
    \r\n {IsValid(\"Service\", Detail?.Shipment?.ServiceName)}\r\n {IsValid(\"Mode\", Detail?.Shipment?.ModeName)}\r\n {IsValid(\"Service Level\", Detail?.Shipment?.ServiceLevelName)}\r\n {IsValid(\r\n \"Equipment Type\",\r\n Detail?.Shipment?.EquipmentTypeName\r\n )}\r\n {IsValid(\r\n \"Equipment Size\",\r\n Detail?.Shipment?.EquipmentSizeName\r\n )}\r\n {IsValid(\"Load Type\", Detail?.Shipment?.PalletType)}\r\n {Detail?.Shipment?.PalletType === \"Palletized\" && (\r\n <>\r\n {IsValid(\"Pallet Type\", Detail?.Shipment?.PalletLoadType)}\r\n {IsValid(\"Pallet Count\", Detail?.Shipment?.PalletCount)}\r\n \r\n )}\r\n\r\n {IsValid(\"Tracking Device\", Detail?.Shipment?.DeviceName)}\r\n {IsValid(\"Freight Charge\", Detail?.Shipment?.FreightCharge)}\r\n
    \r\n {Detail?.ServiceName === \"Drayage\" && (\r\n <>\r\n
    \r\n \r\n Oder Details - Drayage\r\n
    \r\n
    \r\n
    \r\n {IsValidColumn(\"Mode Name\", Detail?.ModeName)}\r\n {IsValidColumn(\"Vessel\", Detail?.Vessel)}\r\n {IsValidColumn(\"Seal Number\", Detail?.SealNumber)}\r\n
    \r\n\r\n
    \r\n {IsValidColumn(\"Service Level\", Detail?.ServiceLevel)}\r\n {IsValidColumn(\"Voyage Number\", Detail?.VesselVoyage)}\r\n {IsValidColumn(\"Cartons\", Detail?.Cartons)}\r\n
    \r\n\r\n
    \r\n {IsValidColumn(\"Equipment Type\", Detail?.EquipmentType)}\r\n {IsValidColumn(\"ETA\", Detail?.Eta)}\r\n {IsValidColumn(\"Weight\", Detail?.TotalWeight1)}\r\n
    \r\n\r\n
    \r\n {IsValidColumn(\"Equipment Number\", Detail?.EquipmentRef)}\r\n {IsValidColumn(\"MBL\", Detail?.MasterBill)}\r\n {IsValidColumn(\r\n \"Cube\",\r\n currencyFormat(Detail?.TotalCube1)\r\n )}\r\n
    \r\n \r\n )}\r\n\r\n {Detail?.ServiceName === \"Domestic Transportation\" && (\r\n
    \r\n
    \r\n \r\n Order Details - LTL\r\n
    \r\n
    \r\n
    \r\n {IsValidColumn(\"Mode Name\", Detail?.ModeName)}{\" \"}\r\n {IsValidColumn(\"Cartons\", Detail?.Cartons)}\r\n
    \r\n\r\n
    \r\n {IsValidColumn(\"Service Level\", Detail?.ServiceLevel)}\r\n {IsValidColumn(\"Pallets\", Detail?.Pallets)}\r\n
    \r\n\r\n
    \r\n {IsValidColumn(\"Equipment Type\", Detail?.EquipmentType)}\r\n {IsValidColumn(\"Weight\", Detail?.TotalWeight1)}\r\n
    \r\n\r\n
    \r\n {IsValidColumn(\r\n \"Equipment Number\",\r\n Detail?.EquipmentTypeId\r\n )}\r\n {IsValidColumn(\r\n \"Cube\",\r\n currencyFormat(Detail?.TotalCube1)\r\n )}\r\n
    \r\n
    \r\n )}\r\n
    \r\n \r\n\r\n \r\n \r\n
    TRACKING
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n {/* Header */}\r\n
    \r\n

    \r\n \r\n BASIC DETAILS\r\n \r\n

    \r\n
    \r\n\r\n {/* Body */}\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n false}\r\n className=\"text-dark text-hover-primary mb-1 font-size-lg\"\r\n >\r\n Trailer Number\r\n \r\n \r\n {DetailShipmentInfo?.Shipment?.Equipment}\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n false}\r\n className=\"text-dark text-hover-primary mb-1 font-size-lg\"\r\n >\r\n Seal Number\r\n \r\n \r\n {DetailShipmentInfo?.Shipment?.SealNumber}\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n false}\r\n className=\"text-dark text-hover-primary mb-1 font-size-lg\"\r\n >\r\n Customer\r\n \r\n \r\n {\r\n DetailShipmentInfo?.Shipment?.CustomerAddress\r\n ?.CompanyName\r\n }\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n false}\r\n className=\"text-dark text-hover-primary mb-1 font-size-lg\"\r\n >\r\n Carrier\r\n \r\n \r\n {DetailShipmentInfo?.Shipment !== null\r\n ? DetailShipmentInfo?.Shipment?.Vendors\r\n ?.length > 0 &&\r\n DetailShipmentInfo?.Shipment?.Vendors[0]\r\n ?.VendorAddress?.CompanyName\r\n : \"\"}\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n false}\r\n className=\"text-dark text-hover-primary mb-1 font-size-lg\"\r\n >\r\n Current Location\r\n \r\n \r\n {Result?.CurrentEvent +\r\n \" - \" +\r\n Result?.CurrentCity +\r\n \", \" +\r\n Result?.CurrentState +\r\n \" - \" +\r\n formatDate(Result?.CurrentDate) +\r\n \", \" +\r\n tConvert(Result?.CurrentTime)}\r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n \r\n
    \r\n false}\r\n className=\"text-dark text-hover-primary mb-1 font-size-lg\"\r\n >\r\n Shipment Status\r\n \r\n \r\n {DetailShipmentInfo?.Shipment?.StatusName}\r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n \r\n
    \r\n false}\r\n className=\"text-dark text-hover-primary mb-1 font-size-lg\"\r\n >\r\n Service Level\r\n \r\n \r\n {Detail?.Shipment?.ServiceLevelName}\r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    \r\n \r\n SHIPMENT OVERVIEW\r\n \r\n

    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n false}\r\n className=\"text-dark text-hover-primary mb-1 font-size-lg\"\r\n >\r\n Ship From\r\n \r\n \r\n {DetailShipmentInfo?.Shipment?.ShipperAddress?.Code}\r\n {\"-\"}\r\n {\r\n DetailShipmentInfo?.Shipment?.ShipperAddress\r\n ?.CompanyName\r\n }\r\n :{\" \"}\r\n {\r\n DetailShipmentInfo?.Shipment?.ShipperAddress\r\n ?.Address\r\n }\r\n ,{\" \"}\r\n {DetailShipmentInfo?.Shipment?.ShipperAddress?.City}\r\n ,{\" \"}\r\n {\r\n DetailShipmentInfo?.Shipment?.ShipperAddress\r\n ?.State\r\n }{\" \"}\r\n {\r\n DetailShipmentInfo?.Shipment?.ShipperAddress\r\n ?.ZipCode\r\n }\r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n false}\r\n className=\"text-dark text-hover-primary mb-1 font-size-lg\"\r\n >\r\n Ship To\r\n \r\n \r\n {\r\n DetailShipmentInfo?.Shipment?.ConsigneeAddress\r\n ?.Code\r\n }\r\n {DetailShipmentInfo?.Shipment?.ConsigneeAddress\r\n ?.CompanyName !== null\r\n ? \"-\"\r\n : \"\"}\r\n {\r\n DetailShipmentInfo?.Shipment?.ConsigneeAddress\r\n ?.CompanyName\r\n }\r\n {DetailShipmentInfo?.DestinationInformation\r\n ?.Address !== null\r\n ? \": \"\r\n : \"\"}\r\n {\r\n DetailShipmentInfo?.DestinationInformation\r\n ?.Address\r\n }\r\n {DetailShipmentInfo?.Shipment?.ConsigneeAddress\r\n ?.City !== null\r\n ? \", \"\r\n : \"\"}\r\n {\r\n DetailShipmentInfo?.Shipment?.ConsigneeAddress\r\n ?.City\r\n }\r\n {DetailShipmentInfo?.Shipment?.ConsigneeAddress\r\n ?.State !== null\r\n ? \", \"\r\n : \"\"}\r\n {\r\n DetailShipmentInfo?.Shipment?.ConsigneeAddress\r\n ?.State\r\n }\r\n {DetailShipmentInfo?.Shipment?.ConsigneeAddress\r\n ?.ZipCode !== null\r\n ? \" \"\r\n : \"\"}\r\n {\r\n DetailShipmentInfo?.Shipment?.ConsigneeAddress\r\n ?.ZipCode\r\n }\r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n false}\r\n className=\"text-dark text-hover-primary mb-1 font-size-lg\"\r\n >\r\n Pickup Estimated Date\r\n \r\n \r\n {DetailShipmentInfo?.Shipment\r\n ?.StatusInTransitDate !== null\r\n ? new Date(\r\n DetailShipmentInfo?.Shipment?.StatusInTransitDate\r\n ).toLocaleString()\r\n : \"\"}\r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n false}\r\n className=\"text-dark text-hover-primary mb-1 font-size-lg\"\r\n >\r\n Delivery Estimated Date\r\n \r\n \r\n {DetailShipmentInfo?.Shipment\r\n ?.EstimatedArrivalDate !== null\r\n ? new Date(\r\n DetailShipmentInfo?.Shipment?.EstimatedArrivalDate\r\n ).toLocaleString()\r\n : \"\"}\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n \r\n \r\n
    TRACKING DETAILS
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n {DetailTrakingGeometryInfo ? (\r\n DetailTrakingGeometryInfo.length !== 0 ? (\r\n \r\n renderMarkers(map, maps)\r\n }\r\n >\r\n ) : (\r\n \"\"\r\n )\r\n ) : (\r\n \"\"\r\n )}\r\n
    \r\n
    \r\n \r\n {/* Header */}\r\n
    \r\n

    \r\n \r\n TRACKING\r\n \r\n

    \r\n
    \r\n {/* Body */}\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n\r\n
    \r\n \r\n {\r\n DetailShipmentInfo?.Shipment?.ShipperAddress\r\n ?.City\r\n }\r\n ,{\" \"}\r\n {\r\n DetailShipmentInfo?.Shipment?.ShipperAddress\r\n ?.State\r\n }\r\n \r\n
    \r\n Start Tracking:{\" \"}\r\n {DetailShipmentInfo?.Shipment\r\n ?.StatusInTransitDate !== null\r\n ? new Date(\r\n DetailShipmentInfo?.Shipment?.StatusInTransitDate\r\n ).toLocaleString()\r\n : \"\"}\r\n
    \r\n
    \r\n
    \r\n {DetailTrakingInfo\r\n ? DetailTrakingInfo.map((item, index) => (\r\n \r\n
    \r\n \r\n
    \r\n\r\n
    \r\n \r\n {item.LocationCity},{\" \"}\r\n {item.LocationState}\r\n \r\n
    \r\n {item.EventName}:{\" \"}\r\n {item.TraceDate !== null\r\n ? formatDate(item.TraceDate) +\r\n \", \" +\r\n tConvert(item.TraceTime)\r\n : \"\"}\r\n
    \r\n
    \r\n
    \r\n ))\r\n : \"\"}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n Trace Type\r\n Trace Date\r\n Location\r\n Event Name\r\n Eta Date\r\n Created By\r\n \r\n \r\n \r\n {DetailTrakingInfo !== undefined &&\r\n DetailTrakingInfo.map((item, index) => (\r\n \r\n \r\n {item.TraceType}\r\n \r\n \r\n {item.TraceDate !== null\r\n ? formatDate(item.TraceDate) +\r\n \", \" +\r\n tConvert(item.TraceTime)\r\n : \"\"}\r\n \r\n \r\n {item.LocationCity +\r\n \" \" +\r\n item.LocationState +\r\n \", \" +\r\n item.LocationCountry}\r\n \r\n {item.EventName}\r\n \r\n {item.EtaDate !== null\r\n ? formatDate(item.EtaDate) +\r\n \", \" +\r\n tConvert(item.EtaTime)\r\n : \"\"}\r\n \r\n {item.CreatedBy}\r\n \r\n ))}\r\n \r\n
    \r\n
    \r\n \r\n \r\n\r\n \r\n \r\n
    Shipment Items
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n Purchase Order\r\n \r\n \r\n Unit Of Measure\r\n \r\n Location\r\n Sku\r\n UPC\r\n Container\r\n \r\n Description\r\n \r\n UnitCount\r\n Weight\r\n Cube\r\n IsHazmat\r\n IsHot\r\n \r\n ShortQuantity\r\n \r\n \r\n OverQuantity\r\n \r\n \r\n DamagedQuantity\r\n \r\n\r\n \r\n Ship Short Qte.\r\n \r\n \r\n Ship Over Qte.\r\n \r\n \r\n Ship Damaged Qte.\r\n \r\n Case Pack\r\n {/* {isDashboard && ( */}\r\n Actions\r\n {/* )} */}\r\n \r\n \r\n \r\n {Detail?.Shipment?.ShipmentItems.slice(\r\n page * rowsPerPage,\r\n page * rowsPerPage + rowsPerPage\r\n ).map((item) => (\r\n \r\n {item.PurchaseOrder}\r\n {item.UnitOfMeasure}\r\n \r\n {\r\n <>\r\n {item.Location}\r\n {item.LocationCode && (\r\n \r\n {item.LocationCode}\r\n \r\n }\r\n >\r\n false}\r\n className=\"btn btn-icon btn-light btn-hover-light btn-sm\"\r\n >\r\n \r\n \r\n \r\n \r\n \r\n )}\r\n \r\n }\r\n \r\n {item.Sku}\r\n {item.Upc}\r\n {item.Container}\r\n {item.Description}\r\n {item.Quantity}\r\n {currencyFormat(item.Weight)}\r\n {currencyFormat(item.Cube)}\r\n \r\n {\" \"}\r\n {item.IsHazmat && (\r\n \r\n Hazardous Material\r\n \r\n }\r\n >\r\n false}\r\n className=\"btn btn-icon btn-light btn-hover-light btn-sm mr-2\"\r\n >\r\n \r\n \r\n \r\n \r\n \r\n )}\r\n \r\n \r\n {item.IsHot && (\r\n \r\n Hot\r\n \r\n }\r\n >\r\n false}\r\n className=\"btn btn-icon btn-light btn-hover-light btn-sm mr-2\"\r\n >\r\n \r\n \r\n \r\n \r\n \r\n )}\r\n \r\n {item.ShortQuantity}\r\n {item.OverQuantity}\r\n {item.DamagedQuantity}\r\n {item.ShipmentShortQuantity}\r\n {item.ShipmentOverQuantity}\r\n \r\n {item.ShipmentDamagedQuantity}\r\n \r\n {item.CasePack}\r\n\r\n {/* {isDashboard && ( */}\r\n \r\n false}\r\n title=\"Edit OSD\"\r\n className=\"btn btn-icon btn-light btn-hover-primary btn-sm mx-3\"\r\n onClick={() => {\r\n showModalEditOsd(true);\r\n setRowOsd(item);\r\n setSaveOsd(false);\r\n setOverQuantity(item.ShipmentOverQuantity);\r\n setShortQuantity(item.ShipmentShortQuantity);\r\n setDamagedQuantity(\r\n item.ShipmentDamagedQuantity\r\n );\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n <> \r\n \r\n {/* )} */}\r\n \r\n ))}\r\n \r\n
    \r\n \r\n \r\n \r\n Edit OSD Item / PO# : {rowOsd?.PurchaseOrder}\r\n \r\n {\r\n showModalEditOsd(false);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n {\r\n setOverQuantity(e.target.value);\r\n }}\r\n />\r\n
    \r\n\r\n
    \r\n \r\n {\r\n setShortQuantity(e.target.value);\r\n }}\r\n />\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n {\r\n setDamagedQuantity(e.target.value);\r\n }}\r\n />\r\n
    \r\n
    \r\n
    \r\n \r\n {\r\n showModalEditOsd(false);\r\n }}\r\n >\r\n Close\r\n \r\n {\r\n try {\r\n setSaveOsd(true);\r\n await PutOsd(rowOsd.Id);\r\n showModalEditOsd(false);\r\n await GetModel();\r\n Notification(\"success\", \"Success\");\r\n setSaveOsd(false);\r\n } catch (err) {}\r\n }}\r\n >\r\n Save\r\n \r\n \r\n \r\n\r\n {Detail?.Shipment?.ShipmentItems && (\r\n \r\n )}\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    Transportation Items
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n {!isDashboard && (\r\n
    \r\n \r\n \r\n
    Vendors
    \r\n
    \r\n \r\n \r\n \r\n <>\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n Vendor #: {vendorIdContact} Contacts\r\n \r\n {\r\n setContactModal(false);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n {\r\n setContactModal(false);\r\n }}\r\n className=\"btn btn-light btn-elevate w-25\"\r\n >\r\n Close\r\n \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n )}\r\n {!isDashboard && (\r\n
    \r\n \r\n \r\n
    Rates
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n {/* Body */}\r\n
    \r\n \r\n \r\n \r\n Charge Code\r\n Charge Description\r\n Freight Charge\r\n Bill Amount\r\n Payable Amount\r\n Margin\r\n Margin%\r\n Invoice#\r\n Invoice Date\r\n Vendor Name\r\n \r\n \r\n \r\n {Detail?.Shipment?.CalculatedCharges.map(\r\n (row) => (\r\n \r\n {row.Code}\r\n \r\n {row.ChargeDescription}\r\n \r\n \r\n {row?.FreightChargeName ?? \"-\"}\r\n \r\n {row.BillAmount}\r\n {row.PayableAmount}\r\n {row.Margin}\r\n \r\n {row.MarginPercentage}\r\n \r\n {row.InvoiceNumber}\r\n \r\n {row.InvoiceDate !== null\r\n ? new Date(\r\n row.InvoiceDate\r\n ).toLocaleString()\r\n : \"\"}\r\n \r\n {row.VendorName}\r\n \r\n )\r\n )}\r\n \r\n \r\n \r\n \r\n Totals\r\n \r\n \r\n \r\n {Detail?.Shipment?.TotalReceivable}\r\n \r\n \r\n \r\n \r\n {Detail?.Shipment?.TotalPayable}\r\n \r\n \r\n \r\n {Detail?.Shipment?.Revenue}\r\n \r\n \r\n \r\n {Detail?.Shipment?.TotalReceivable === 0\r\n ? 0\r\n : (\r\n (Detail?.Shipment?.Revenue /\r\n Detail?.Shipment?.TotalReceivable) *\r\n 100\r\n ).toFixed(2)}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n )}\r\n {!isDashboard && (\r\n \r\n \r\n
    Drivers Details
    \r\n
    \r\n \r\n \r\n )}\r\n\r\n \r\n
    \r\n
    \r\n \r\n Driver Check In\r\n
    \r\n
    \r\n {IsValid(\r\n \"Driver Name: \",\r\n ShipmentDriversInfo?.CheckIn?.DriverName\r\n )}\r\n {IsValid(\r\n \"Phone Number: \",\r\n ShipmentDriversInfo?.CheckIn?.PhoneNumber\r\n )}\r\n {IsValid(\r\n \"Company Name\",\r\n ShipmentDriversInfo?.CheckIn?.CompanyName\r\n )}\r\n
    \r\n {IsValid(\r\n \"Pickup Number\",\r\n ShipmentDriversInfo?.CheckIn?.PickupNumber\r\n )}\r\n
    \r\n
    \r\n {IsValid(\r\n \"Pickup App Date\",\r\n ShipmentDriversInfo?.CheckIn?.PickupAppDate\r\n )}\r\n
    \r\n
    \r\n {IsValid(\r\n \"Seal Dropping Trailer Number\",\r\n ShipmentDriversInfo?.CheckIn?.SealDroppingTrailerNumber\r\n )}\r\n
    \r\n
    \r\n {IsValid(\r\n \"Seal Dropping Number\",\r\n ShipmentDriversInfo?.CheckIn?.SealDroppingNumber\r\n )}\r\n
    \r\n
    \r\n {IsValid(\r\n \"Seal PickingUp Trailer Number\",\r\n ShipmentDriversInfo?.CheckIn?.SealPickingUpTrailerNumber\r\n )}\r\n
    \r\n
    \r\n {IsValid(\r\n \"Seal PickingUp Number\",\r\n ShipmentDriversInfo?.CheckIn?.SealPickingUpNumber\r\n )}\r\n
    \r\n
    \r\n\r\n
    \r\n \r\n Driver Check Out\r\n
    \r\n
    \r\n {IsValid(\r\n \"Driver Name: \",\r\n ShipmentDriversInfo?.CheckOut?.DriverName\r\n )}\r\n {IsValid(\r\n \"Phone Number: \",\r\n ShipmentDriversInfo?.CheckOut?.PhoneNumber\r\n )}\r\n {IsValid(\r\n \"Company Name\",\r\n ShipmentDriversInfo?.CheckOut?.CompanyName\r\n )}\r\n
    \r\n {IsValid(\r\n \"Pickup Number\",\r\n ShipmentDriversInfo?.CheckOut?.PickupNumber\r\n )}\r\n
    \r\n
    \r\n {IsValid(\r\n \"Pickup App Date\",\r\n ShipmentDriversInfo?.CheckOut?.PickupAppDate\r\n )}\r\n
    \r\n
    \r\n {IsValid(\r\n \"Seal Dropping Trailer Number\",\r\n ShipmentDriversInfo?.CheckOut?.SealDroppingTrailerNumber\r\n )}\r\n
    \r\n
    \r\n {IsValid(\r\n \"Seal Dropping Number\",\r\n ShipmentDriversInfo?.CheckOut?.SealDroppingNumber\r\n )}\r\n
    \r\n
    \r\n {IsValid(\r\n \"Seal PickingUp Trailer Number\",\r\n ShipmentDriversInfo?.CheckOut?.SealPickingUpTrailerNumber\r\n )}\r\n
    \r\n
    \r\n {IsValid(\r\n \"Seal PickingUp Number\",\r\n ShipmentDriversInfo?.CheckOut?.SealPickingUpNumber\r\n )}\r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    Notes
    \r\n
    \r\n \r\n \r\n \r\n <>\r\n
    \r\n
    \r\n {isDashboard === true ? (\r\n word.AccessLevelId === 4) ||\r\n []\r\n }\r\n />\r\n ) : (\r\n
    \r\n \r\n \r\n \r\n \r\n Id\r\n Body\r\n UserEmail\r\n CreatedBy\r\n CategoryName\r\n CreatedAt\r\n Access Level\r\n \r\n \r\n \r\n {Notes?.map((row) => (\r\n \r\n {row.Id}\r\n {row.Body}\r\n \r\n {row.UserEmail}\r\n \r\n \r\n {row.CreatedBy}\r\n \r\n \r\n {row.CategoryName}\r\n \r\n \r\n {row.CreatedAt}\r\n \r\n \r\n {row.AccessLevelId === 5\r\n ? \"Private\"\r\n : row.AccessLevelId === 4\r\n ? \"Public\"\r\n : \"\"}\r\n \r\n \r\n ))}\r\n \r\n \r\n \r\n
    \r\n )}\r\n
    \r\n
    \r\n \r\n
    \r\n \r\n \r\n
    Attachments
    \r\n
    \r\n \r\n \r\n \r\n <>\r\n
    \r\n
    \r\n {/* Header */}\r\n
    \r\n

    \r\n Shipments Attachments\r\n

    \r\n
    \r\n {isDashboard === true ? (\r\n \r\n ) : (\r\n Attachments?.map((x, index) => (\r\n \r\n ))\r\n )}\r\n {}\r\n
    \r\n
    \r\n\r\n {/* Modal Attachment Viewer */}\r\n {\r\n setShowAttachment(false);\r\n }}\r\n aria-labelledby=\"example-modal-sizes-title-lg\"\r\n >\r\n \r\n \r\n Attachment Viewer for SM #: {Detail?.Shipment?.Id}\r\n \r\n {\r\n setShowAttachment(false);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n <>\r\n
    \r\n
    \r\n \r\n {\r\n const fileName = filePath.replace(\r\n /^.*[\\\\\\/]/,\r\n \"\"\r\n );\r\n FileSaver(filePath, fileName);\r\n }}\r\n >\r\n Download\r\n {\" \"}\r\n
    \r\n
    \r\n {type === \"pdf\" ? (\r\n
    \r\n \r\n \r\n
    \r\n
    \r\n ) : (\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n )}\r\n \r\n
    \r\n \r\n {\r\n setShowAttachment(false);\r\n }}\r\n className=\"btn btn-light btn-elevate w-25\"\r\n >\r\n Close\r\n \r\n \r\n \r\n \r\n \r\n\r\n {!isDashboard && (\r\n
    \r\n \r\n \r\n
    ACTIVITIES
    \r\n
    \r\n \r\n \r\n \r\n {DetailActivityRatesInfo !== null ? (\r\n \r\n ) : (\r\n
    \r\n
    \r\n \r\n Loading Data ...\r\n
    \r\n
    \r\n
    \r\n )}\r\n \r\n
    \r\n )}\r\n \r\n \r\n
    \r\n\r\n \r\n {\r\n setShow(false);\r\n }}\r\n className=\"btn btn-light btn-elevate w-25\"\r\n >\r\n Close\r\n \r\n \r\n \r\n );\r\n\r\n async function GetModel() {\r\n await fetch(`${window.$apiurl}/transload/shipment/` + Id, {\r\n method: \"get\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n const a = res[1];\r\n setDetail(a);\r\n setDetailShipmentInfo(a);\r\n setAttachmentsList(a.Shipment.Attachments);\r\n var b = a.Shipment.Notes;\r\n b.forEach((x) => {\r\n x.CreatedAt = momentDate(x?.CreatedAt);\r\n });\r\n setNotesList(b);\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n setDetailActivityRatesInfo(null);\r\n fetch(window.$apiurl + `/tracking/${Id}`, {\r\n method: \"get\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then((response) => response.text())\r\n .then((result) => {\r\n var obj = JSON.parse(result);\r\n setResult(obj);\r\n setDetailTrakingInfo(obj.Tracking);\r\n setDetailTrakingGeometryInfo(obj.Polyline);\r\n\r\n obj.Activities.sort(function(a, b) {\r\n return new Date(b.Created) - new Date(a.Created);\r\n });\r\n obj.Activities.forEach((x, i) => {\r\n x.id = i;\r\n });\r\n setDetailActivityRatesInfo(obj?.Activities || []);\r\n })\r\n .catch((error) => console.log(\"error\", error));\r\n }\r\n\r\n function getExtension(path) {\r\n var basename = path.split(/[\\\\/]/).pop(),\r\n pos = basename.lastIndexOf(\".\");\r\n if (basename === \"\" || pos < 1) return \"\";\r\n return basename.slice(pos + 1);\r\n }\r\n async function SecureFileFetch(receiptId, attachmentId) {\r\n return await fetch(\r\n window.$apiurl +\r\n `/generic/attachment/secureFile/${receiptId}/${attachmentId}?isReceipt=false&isQuote=false`,\r\n {\r\n method: \"get\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n }\r\n )\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then(async (res) => {\r\n try {\r\n const data = res[1];\r\n const fileType = getExtension(data.AttachmentFile);\r\n setFileType(fileType.toLowerCase());\r\n setFilePath(data.AttachmentFile);\r\n setDisabledDownload(false);\r\n } catch (err) {}\r\n return res[1];\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n function CardFunction({ x, index, New, id }) {\r\n return (\r\n <>\r\n \r\n \r\n \r\n {x?.CreatedBy}\r\n \r\n

    \r\n {new Date(x?.Created).toLocaleString()}\r\n

    \r\n \r\n Download :\r\n \r\n false}\r\n onClick={async () => {\r\n try {\r\n setShowAttachment(true);\r\n await SecureFileFetch(id, x.Id);\r\n } catch (err) {\r\n console.log(err);\r\n }\r\n }}\r\n role=\"button\"\r\n className=\"btn btn-light-primary btn-elevate py-1\"\r\n >\r\n {x?.FileName}\r\n \r\n \r\n\r\n {/* Detail Attachments */}\r\n
    \r\n
    \r\n Attachment Type :{\" \"}\r\n {x?.Type}\r\n
    \r\n
    \r\n Access Level :{\" \"}\r\n {x?.AccessLevel}\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n );\r\n }\r\n}\r\nexport const ModelManagment = ({ row, ...props }) => {\r\n const [Show, setShow] = useState(false);\r\n const [OneMoveMasterShow, setOneMoveMasterShow] = useState(false);\r\n\r\n const [ShowRemarks, setShowRemarks] = useState(false);\r\n useEffect(() => {\r\n window.ReceiptId = row?.ReceiptId;\r\n window.ReceiptManagmetShow = true;\r\n }, [row?.ReceiptId]);\r\n function Remarks() {\r\n return (\r\n <>\r\n \r\n \r\n \r\n \r\n );\r\n }\r\n\r\n function SimplePopover() {\r\n return (\r\n \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n
      \r\n
    • \r\n {\r\n e.preventDefault();\r\n setShow(true);\r\n }}\r\n >\r\n \r\n \r\n \r\n Detail\r\n \r\n
    • \r\n
    • \r\n {\r\n window.shipmentEditCommingFrom = \"ShipmentsManagement\";\r\n e.preventDefault();\r\n setOneMoveMasterShow(true);\r\n }}\r\n >\r\n \r\n \r\n \r\n Edit\r\n \r\n
    • \r\n
      \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n );\r\n }\r\n\r\n return (\r\n <>\r\n {\r\n setShow(false);\r\n }}\r\n aria-labelledby=\"example-modal-sizes-title-lg\"\r\n >\r\n \r\n \r\n {ShowRemarks && }\r\n {\r\n setOneMoveMasterShow(false);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nfunction ChangeStatus({ ReceiptId, row }) {\r\n const [ModelShowing, setModelShowing] = useState(false);\r\n const [RollBackLoadingPost, setRollBackLoadingPost] = useState(false);\r\n const [ModelTitle, setModelTitle] = useState(\"\");\r\n const [ModelText, setModelText] = useState(\"\");\r\n const [NotesText, setNotesText] = useState(\"\");\r\n const [BackStatusText, setBackStatusText] = useState(\"\");\r\n const [StatusListOptions, setStatusListOptions] = useState([]);\r\n const [GlobalStatusListOptions, setGlobalStatusListOptions] = useState([]);\r\n const [StatusSelectedRolledBack, setStatusSelectedRolledBack] = useState(\r\n null\r\n );\r\n const [ReceiptVendorList, setReceiptVendorList] = useState([]);\r\n const [ReceiptVendorRemoved, setReceiptVendorRemoved] = useState([]);\r\n const [ModelShowingConfirmation, setModelShowingConfirmation] = useState(\r\n false\r\n );\r\n const [\r\n CancelModelShowingConfirmation,\r\n setModelShowingConfirmationCancel,\r\n ] = useState(false);\r\n const [\r\n CancelModelShowingConfirmationOsd,\r\n setModelShowingConfirmationCancelOsd,\r\n ] = useState(false);\r\n const Placeholder = (props: PlaceholderProps) => {\r\n return ;\r\n };\r\n async function GetListOfPreviewsStatus() {\r\n var myHeaders = new Headers();\r\n myHeaders.append(\"Authorization\", `Bearer ${db.read().getState().Token}`);\r\n\r\n var requestOptions = {\r\n method: \"GET\",\r\n headers: myHeaders,\r\n redirect: \"follow\",\r\n };\r\n\r\n fetch(\r\n `${window.$apiurl}/Shipments/GetShipmentVendors/${ReceiptId}`,\r\n requestOptions\r\n )\r\n .then((response) => response.text())\r\n .then((result) => {\r\n var data = JSON.parse(result);\r\n setReceiptVendorList(data);\r\n })\r\n .catch((error) => console.log(\"error\", error));\r\n var statusList = JSON.parse(JSON.stringify(window.ShipmentStatus));\r\n setGlobalStatusListOptions(window.ShipmentStatus || []);\r\n\r\n var list = statusList.map((a) => String(a.StatusId));\r\n\r\n console.log(\"list\", list);\r\n const index = list.indexOf(String(window.$ShipmentManagementStatus));\r\n if (index > -1) {\r\n statusList.splice(index, statusList.length);\r\n setStatusListOptions(statusList);\r\n }\r\n }\r\n const [OdsShipmentSelectedId, setOdsShipmentSelectedId] = useState(null);\r\n async function NextStatus(text) {\r\n if (text === `\"IsCancel\":true`) {\r\n if (NotesText === \"\") {\r\n Notification(\"error\", \"please fill cencled note\");\r\n return;\r\n } else {\r\n await fetch(\r\n `${window.$apiurl}/transload/shipments/addnote/${ReceiptId}`,\r\n {\r\n method: \"post\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: `{\"body\":\"${NotesText}\",\"CategoryId\":12,\"accessLevelId\":5}`,\r\n }\r\n )\r\n .then((response) => {\r\n if (response.status !== 200) {\r\n Notification(\"error\", \"Note Note Add\");\r\n }\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n await fetch(`${window.$apiurl}/ShipmentActions/updateSingleStatus`, {\r\n method: \"post\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: `{\"Id\":${ReceiptId},${text}}`,\r\n })\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n const contentType = response.headers.get(\"content-type\");\r\n if (contentType && contentType.indexOf(\"application/json\") !== -1) {\r\n return response.json().then((data) => [statusCode, data]);\r\n } else {\r\n return response\r\n .text()\r\n .then((text) => [statusCode, { Message: \"\" }]);\r\n }\r\n })\r\n .then((result) => {\r\n if (result[0] === 200) {\r\n if (\r\n result[1].Message !== null &&\r\n result[1].Message !== undefined &&\r\n result[1].Message !== \"\"\r\n ) {\r\n Notification(\"infoClick\", result[1].Message);\r\n } else {\r\n if (result[0] === 200) {\r\n if (text.indexOf(\"IsNext\") > -1)\r\n Notification(\"success\", \"Next Status is successful\");\r\n else if (text.indexOf(\"IsRollBack\") > -1)\r\n Notification(\"success\", \"Roll Back Status is successful\");\r\n else if (text.indexOf(\"IsCancel\") > -1)\r\n Notification(\"success\", \"Cancel Order is successful\");\r\n }\r\n document.getElementById(\"ReLoadTableId\").click();\r\n }\r\n } else {\r\n if (\r\n result[1].Message !== null &&\r\n result[1].Message !== undefined &&\r\n result[1].Message !== \"\"\r\n ) {\r\n Notification(\"errorClick\", result[1].Message);\r\n } else {\r\n Notification(\"errorClick\", \"invalid request\");\r\n }\r\n }\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n setNotesText(\"\");\r\n setModelShowingConfirmationCancel(false);\r\n }\r\n } else {\r\n await fetch(`${window.$apiurl}/ShipmentActions/updateSingleStatus`, {\r\n method: \"post\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: `{\"Id\":${ReceiptId},${text}}`,\r\n })\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n const contentType = response.headers.get(\"content-type\");\r\n if (contentType && contentType.indexOf(\"application/json\") !== -1) {\r\n return response.json().then((data) => [statusCode, data]);\r\n } else {\r\n return response\r\n .text()\r\n .then((text) => [statusCode, { Message: \"\" }]);\r\n }\r\n })\r\n .then((result) => {\r\n if (result[0] === 200) {\r\n if (text.indexOf(\"IsNext\") > -1)\r\n Notification(\"success\", \"Next Status is successful\");\r\n else if (text.indexOf(\"IsRollBack\") > -1)\r\n Notification(\"success\", \"Roll Back Status is successful\");\r\n else if (text.indexOf(\"IsCancel\") > -1)\r\n Notification(\"success\", \"Cancel Order is successful\");\r\n\r\n document.getElementById(\"ReLoadTableId\").click();\r\n } else {\r\n if (result[1]?.Message !== undefined) {\r\n Notification(\"errorClick\", result[1]?.Message);\r\n } else {\r\n Notification(\"errorClick\", \"Bad Request\");\r\n }\r\n }\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n setModelShowingConfirmationCancel(false);\r\n return;\r\n }\r\n }\r\n\r\n function Model() {\r\n return (\r\n {\r\n setModelShowing(false);\r\n }}\r\n aria-labelledby=\"example-modal-sizes-title-lg\"\r\n >\r\n \r\n {ModelTitle}\r\n {\r\n setModelShowing(false);\r\n }}\r\n >\r\n \r\n \r\n \r\n {ModelTitle} Confirm\r\n \r\n {\r\n setModelShowing(false);\r\n }}\r\n >\r\n Close\r\n \r\n {\r\n NextStatus(`\"${ModelText}\":true`);\r\n setModelShowing(false);\r\n }}\r\n >\r\n Save\r\n \r\n \r\n \r\n );\r\n }\r\n\r\n return (\r\n <>\r\n \r\n \r\n Roll Back Confirmation\r\n {\r\n setStatusSelectedRolledBack(null);\r\n setReceiptVendorRemoved([]);\r\n setModelShowingConfirmation(false);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n {\r\n return { value: a.StatusId, label: a.Name };\r\n })}\r\n onChange={(e) => {\r\n if (e !== null) {\r\n setStatusSelectedRolledBack(e);\r\n } else {\r\n setStatusSelectedRolledBack(null);\r\n }\r\n }}\r\n />\r\n {GlobalStatusListOptions.filter((a) => a.Name === \"Assigned\")[0]\r\n ?.Position >\r\n GlobalStatusListOptions.filter(\r\n (a) => a.Name === StatusSelectedRolledBack?.label\r\n )[0]?.Position ? (\r\n <>\r\n \r\n {ReceiptVendorList.map((item, index) => (\r\n {\r\n var list = [];\r\n list = ReceiptVendorRemoved;\r\n if (e.target.checked) {\r\n list.push(item.VendorId);\r\n setReceiptVendorRemoved(list || []);\r\n } else {\r\n var index = list.indexOf(item.VendorId);\r\n setReceiptVendorRemoved(\r\n list.slice(index, index) || []\r\n );\r\n }\r\n }}\r\n />\r\n ))}\r\n \r\n ) : (\r\n \"\"\r\n )}\r\n

    \r\n

    \r\n \r\n setBackStatusText(e.target.value)}\r\n >\r\n
    \r\n
    \r\n
    \r\n \r\n {\r\n setModelShowingConfirmation(false);\r\n }}\r\n >\r\n Cancel\r\n \r\n {\r\n if (\r\n BackStatusText === null ||\r\n BackStatusText === \"\" ||\r\n BackStatusText === undefined\r\n ) {\r\n Notification(\"error\", \"please fill note\");\r\n return;\r\n }\r\n setRollBackLoadingPost(true);\r\n row = {\r\n Id: ReceiptId,\r\n StatusId:\r\n StatusSelectedRolledBack === null\r\n ? null\r\n : StatusSelectedRolledBack.value,\r\n VendorsIds: ReceiptVendorRemoved,\r\n KeepChanges: false,\r\n Note: BackStatusText,\r\n };\r\n fetch(`${window.$apiurl}/ShipmentActions/RollBack`, {\r\n method: \"post\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(row),\r\n })\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n const contentType = response.headers.get(\"content-type\");\r\n if (\r\n contentType &&\r\n contentType.indexOf(\"application/json\") !== -1\r\n ) {\r\n return response.json().then((data) => [statusCode, data]);\r\n } else {\r\n return response\r\n .text()\r\n .then((text) => [statusCode, { Message: \"\" }]);\r\n }\r\n })\r\n .then((result) => {\r\n if (result[0] === 200) {\r\n if (\r\n result[1].Message !== null &&\r\n result[1].Message !== undefined &&\r\n result[1].Message !== \"\"\r\n ) {\r\n Notification(\"infoClick\", result[1].Message);\r\n setModelShowingConfirmation(false);\r\n } else {\r\n setModelShowingConfirmation(false);\r\n document\r\n .getElementById(\"refreshShipmentsException\")\r\n .click();\r\n Notification(\"success\", \"Roll Back Status is successful\");\r\n document.getElementById(\"ReLoadTableId\").click();\r\n }\r\n setRollBackLoadingPost(false);\r\n } else {\r\n if (\r\n result[1].Message !== null &&\r\n result[1].Message !== undefined &&\r\n result[1].Message !== \"\"\r\n ) {\r\n Notification(\"errorClick\", result[1].Message);\r\n setModelShowingConfirmation(false);\r\n } else {\r\n Notification(\"errorClick\", \"invalid request\");\r\n }\r\n setRollBackLoadingPost(false);\r\n }\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n setRollBackLoadingPost(false);\r\n });\r\n }}\r\n >\r\n Confirm\r\n {RollBackLoadingPost && (\r\n \r\n )}\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n Are you sure that you want to{\" \"}\r\n {row.IsCancelled === true ? \"UnCancel\" : \"Cancel\"} this Shipment ?\r\n \r\n {\r\n setModelShowingConfirmationCancel(false);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n setNotesText(e.target.value)}\r\n >\r\n \r\n \r\n {\r\n setModelShowingConfirmationCancel(false);\r\n }}\r\n >\r\n No\r\n \r\n\r\n {\r\n NextStatus(`\"IsCancel\":true`);\r\n }}\r\n >\r\n Yes\r\n \r\n \r\n \r\n {/* oSDcONFIRMModal */}\r\n \r\n \r\n Confirm Osd\r\n {\r\n setModelShowingConfirmationCancelOsd(false);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n Are you sure that you want to Confirm Osd for this Shipment?\r\n \r\n \r\n {\r\n setModelShowingConfirmationCancelOsd(false);\r\n }}\r\n >\r\n No\r\n \r\n\r\n {\r\n //setModelShowingConfirmationCancelOsd(false);\r\n //OdsShipmentSelectedId\r\n fetch(\r\n `${window.$apiurl}/shipments/ConfirmOsd/${OdsShipmentSelectedId}`,\r\n {\r\n method: \"post\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n }\r\n )\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n const contentType = response.headers.get(\"content-type\");\r\n if (\r\n contentType &&\r\n contentType.indexOf(\"application/json\") !== -1\r\n ) {\r\n return response.json().then((data) => [statusCode, data]);\r\n } else {\r\n return response\r\n .text()\r\n .then((text) => [statusCode, { Message: \"\" }]);\r\n }\r\n })\r\n .then((result) => {\r\n if (result[0] === 200) {\r\n if (\r\n result[1].Message !== null &&\r\n result[1].Message !== undefined &&\r\n result[1].Message !== \"\"\r\n ) {\r\n Notification(\"infoClick\", result[1].Message);\r\n setModelShowingConfirmationCancelOsd(false);\r\n document.getElementById(\"ReLoadTableId\").click();\r\n } else {\r\n setModelShowingConfirmationCancelOsd(false);\r\n Notification(\"success\", \"Osd Confirmed successfully\");\r\n document.getElementById(\"ReLoadTableId\").click();\r\n }\r\n } else {\r\n if (\r\n result[1].Message !== null &&\r\n result[1].Message !== undefined &&\r\n result[1].Message !== \"\"\r\n ) {\r\n Notification(\"errorClick\", result[1].Message);\r\n setModelShowingConfirmationCancelOsd(false);\r\n } else {\r\n Notification(\"errorClick\", \"invalid request\");\r\n }\r\n }\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n //NextStatus(`\"IsCancel\":true`);\r\n }}\r\n >\r\n Yes\r\n \r\n \r\n \r\n\r\n {/* End Osd Confirm Modal */}\r\n {/* end ConfirmModal */}\r\n \r\n {window.$ShipmentManagementStatus !== \"\" && (\r\n <>\r\n
  • \r\n {\r\n e.preventDefault();\r\n if (!document.getElementById(ReceiptId).checked) {\r\n document.getElementById(ReceiptId).click();\r\n }\r\n if (window.$ShipmentManagementStatus === 63) {\r\n NextStatus(`\"IsNext\":true`);\r\n setModelShowingConfirmationCancel(false);\r\n } else {\r\n setTimeout(() => {\r\n for (\r\n let i = 0;\r\n i < document.getElementsByTagName(\"i\").length;\r\n i++\r\n ) {\r\n if (\r\n document\r\n .getElementsByTagName(\"i\")\r\n [i].classList.contains(\"flaticon-medical\")\r\n ) {\r\n document\r\n .getElementsByTagName(\"i\")\r\n [\r\n i\r\n ].parentElement.parentElement.parentElement.parentElement.parentNode.nextSibling.click();\r\n }\r\n }\r\n }, 500);\r\n }\r\n }}\r\n >\r\n \r\n \r\n \r\n Next Status\r\n \r\n
  • \r\n
  • \r\n {\r\n e.preventDefault();\r\n GetListOfPreviewsStatus();\r\n setModelShowing(false);\r\n setModelShowingConfirmation(true);\r\n }}\r\n >\r\n \r\n \r\n \r\n Back Status\r\n \r\n
  • \r\n \r\n )}\r\n {window.$ShipmentManagementStatus !== \"\" && (\r\n
    \r\n )}\r\n
  • \r\n {\r\n e.preventDefault();\r\n setModelShowing(false);\r\n setModelShowingConfirmationCancel(true);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n {row.IsCancelled === true ? \"UnCancel\" : \"Cancel\"}\r\n \r\n \r\n
  • \r\n {row.OsdConfirmed === true && (\r\n
  • \r\n {\r\n e.preventDefault();\r\n setModelShowing(false);\r\n setOdsShipmentSelectedId(row.Id);\r\n setModelShowingConfirmationCancelOsd(true);\r\n }}\r\n >\r\n \r\n \r\n \r\n Confirm OSD\r\n \r\n
  • \r\n )}\r\n \r\n );\r\n}\r\n\r\nfunction statusBuild(Name, a) {\r\n if (Name === \"New\") return a?.StatusNewDate;\r\n else if (Name === \"Appointed\") return a?.StatusAppointedDate;\r\n else if (Name === \"Assigned\") return a?.StatusBookedDate;\r\n else if (Name === \"Arrived Destination Hub\")\r\n return a?.StatusArrivedDestinationHubDate;\r\n else if (Name === \"Booked\") return a?.StatusBookedDate;\r\n else if (Name === \"Closed\") return a?.StatusClosedDate;\r\n //else if (Name === \"Delivered\") return a?.StatusDeliveredDate;\r\n else if (Name === \"StatusDeliveredToConsigneeDate\")\r\n return a?.StatusDeliveredToConsigneeDate;\r\n else if (Name === \"Dispatched\") return a?.StatusDispatchedDate;\r\n else if (Name === \"In Gate at Origin Hub\")\r\n return a?.StatusInGateAtOriginHubDate;\r\n else if (Name === \"In Transit\") return a?.StatusInTransitDate;\r\n else if (Name === \"Loaded\") return a?.StatusLoadedFromOurWarehouseDate;\r\n else if (Name === \"Loading\") return a?.StatusLoadingFromOurWarehouseDate;\r\n else if (Name === \"Picked Up\") return a?.StatusPickedUpDate;\r\n else if (Name === \"Quoted\") return a?.StatusQuotedDate;\r\n else if (Name === \"Released\") return a?.StatusReleasedDate;\r\n else if (Name === \"Sent\") return a?.StatusSentDate;\r\n else if (Name === \"Terminated\") return a?.StatusTerminatedDate;\r\n else if (Name === \"Planned\") return a?.StatusPlannedDate;\r\n //else if (Name === \"Shipping Arrival Date\") return a?.ShippingArrivalDate;\r\n //else if (Name === \"Trailler Drop Date\") return a?.TraillerDropDate;\r\n //else if (Name === \"Checked In Date\") return a?.StatusCheckedInDate;\r\n else if (Name === \"Notify Trucker\") return a?.StatusNotifyTrucker;\r\n}\r\n","import React, { useCallback, useEffect, useState } from \"react\";\r\nimport { ProductsPage } from \"./modules/eMPower/pages/ManageTMS/ProductsPage\";\r\nimport { CapacityBoardPageTab } from \"./modules/eMPower/pages/CapacityBoard/CustomersPageTab\";\r\nimport { TrackingLoadBoardPage } from \"./modules/eMPower/pages/ManageTMS/TrackingLoadBaord/TrackingLoadBoard\";\r\nimport { ReportingPortViewPage } from \"./modules/eMPower/pages/ReportingPortView/ReportingPortView\";\r\nimport { ShipmentsManagmentBetaPage } from \"./modules/eMPower/pages/NewShipmentsBeta/CustomersPageTab\";\r\nimport { OrderCreation } from \"./modules/eMPower/pages/ManageTMS/Order-Creation/OrderCreation\";\r\nimport { ProductTMSDetail } from \"./modules/eMPower/pages/ManageTMS/product-detail/ProductDetail\";\r\nimport { ProductMODetail } from \"./modules/eMPower/pages/ManageTMS/master-order-detail/ProductDetail\";\r\nimport { Dropdown } from \"react-bootstrap\";\r\nimport { DropdownCustomTo } from \"../_metronic/_partials/dropdowns\";\r\nimport { TmsWarehouseManagementPage } from \"./modules/eMPower/pages/ManageTMS/TmsWarehouseManagement/TmsWarehouseManagement\";\r\nimport { Link, useHistory } from \"react-router-dom\";\r\nimport low from \"lowdb\";\r\nimport LocalStorage from \"lowdb/adapters/LocalStorage\";\r\nimport { Notification } from \"./modules/Notification\";\r\nconst adapter = new LocalStorage(\"db\");\r\nconst db = low(adapter);\r\n\r\nconst ListPagesForTabs = [\r\n \"/Reporting/Report\",\r\n \"/TransportManagementSystems\",\r\n /* \"/ShipmentsManagement\", */\r\n \"/TransportManagementSystems/CapacityBoard\",\r\n \"/TMS/TrackingBoard\",\r\n \"/TransportManagementSystems/0/OrderCreation\",\r\n \"/TransportManagementSystems/SoDetail/\",\r\n /* \"/WarehouseManagement\", */\r\n];\r\n\r\nvar listLocationHref = [\"Global\"];\r\nexport function SpecificTabs({ TablsOptionsList }) {\r\n const history = useHistory();\r\n\r\n useEffect(() => {\r\n GlobalInSo();\r\n }, []);\r\n\r\n function GlobalInSo() {\r\n if (\r\n window.location.pathname.includes(\"TransportManagementSystems/SoDetail/\")\r\n ) {\r\n var idSo = document.querySelector(`.tabsGlobal.text-white`);\r\n history.push(\"/CustomerDashboard/GlobalDashboard\");\r\n idSo.click();\r\n }\r\n }\r\n\r\n const [Selected, setSelected] = useState(\r\n ListPagesForTabs.some((v) => window.location.href.includes(v))\r\n ? window.location.pathname\r\n : \"Global\"\r\n );\r\n const [Tabs, setTabs] = useState(\r\n ListPagesForTabs.some((v) => window.location.href.includes(v))\r\n ? [...listLocationHref, window.location.pathname]\r\n : listLocationHref\r\n );\r\n\r\n useEffect(() => {\r\n window.activeTab = ListPagesForTabs.some((v) =>\r\n window.location.href.includes(v)\r\n )\r\n ? window.location.pathname\r\n : \"Global\";\r\n\r\n var gl = document.getElementById(\"GlobalTab\");\r\n if (gl) gl.setAttribute(\"data-link\", window.location.pathname);\r\n }, []);\r\n\r\n window.TabsIsExist = ListPagesForTabs;\r\n window.ExistUrl = window.location.pathname;\r\n useEffect(() => {\r\n var ele = document.querySelector(\".tabsGlobal.text-white\");\r\n if (ele && ele.innerText === \"Global\") {\r\n var gl = document.getElementById(\"GlobalTab\");\r\n if (gl) gl.setAttribute(\"data-link\", window.location.pathname);\r\n }\r\n\r\n if (!ListPagesForTabs.some((v) => window.location.href.includes(v))) {\r\n onSelectTab(\"Global\");\r\n }\r\n }, [window.location.href]);\r\n\r\n const onclick = useCallback(() => {\r\n var createTabe = window.CreateTabe;\r\n if (\r\n !CheckIsRepeatTab(createTabe) &&\r\n window.TabsIsExist.includes(createTabe)\r\n ) {\r\n /* if (window.TabsLength >= 5) {\r\n Notification(\r\n \"warning\",\r\n \"You have reached the limit of tab numbers : 5\"\r\n );\r\n return;\r\n } */\r\n //Check id\r\n if (window.TabId) createTabe += \"\" + window.TabId;\r\n setTabs((x) => [...x, createTabe]);\r\n onSelectTab(createTabe);\r\n } else if (CheckIsRepeatTab(createTabe)) {\r\n if (window.TabId) createTabe += \"\" + window.TabId;\r\n onSelectTab(createTabe);\r\n } else {\r\n var gl = document.getElementById(\"GlobalTab\");\r\n if (gl) gl.setAttribute(\"data-link\", createTabe);\r\n window.ExistUrl = createTabe;\r\n onSelectTab(\"Global\");\r\n }\r\n\r\n window.TabId = undefined;\r\n window.scrollTo(0, 0);\r\n }, [setTabs]);\r\n\r\n /* useEffect(() => {\r\n window.TabsLength = Tabs.length;\r\n }, [Tabs]); */\r\n\r\n function SpaceBetweenChar(txt) {\r\n try {\r\n var a = txt.match(/[A-Z][a-z]+/g)?.join(\" \");\r\n if (!a) return txt;\r\n else return a;\r\n } catch (error) {}\r\n }\r\n\r\n function CheckIsRepeatTab(txt) {\r\n if (window.TabId) txt += \"\" + window.TabId;\r\n\r\n txt = txt === \"/TransportManagementSystems\" ? \"Load Board\" : txt;\r\n var textRe = SpaceBetweenChar(txt?.split(\"/\").pop());\r\n\r\n var listEles = document.querySelectorAll(\".tabsGlobal\");\r\n for (var i of listEles) {\r\n if (textRe === i.innerText) return true;\r\n }\r\n return false;\r\n }\r\n\r\n function onSelectTab(tab) {\r\n var gl = document.getElementById(\"GlobalTab\");\r\n window.activeTab = tab;\r\n var l = tab === \"Global\" ? gl.getAttribute(\"data-link\") : tab;\r\n if (!String(window.ExistUrl).includes(\"/General/Search\")) {\r\n window.history.pushState(undefined, undefined, l);\r\n }\r\n setSelected(tab);\r\n }\r\n\r\n const RemoveTab = useCallback(\r\n (tab) => {\r\n var tabActive = document.querySelector(\".tabsGlobal.text-white\");\r\n var tabsGlobal = document.querySelector(`.tabsGlobal[data-tab=\"${tab}\"]`);\r\n\r\n if (\r\n tabActive.getAttribute(\"data-tab\") ===\r\n tabsGlobal.getAttribute(\"data-tab\")\r\n ) {\r\n var last = tabsGlobal.previousElementSibling;\r\n last.click();\r\n }\r\n\r\n setTabs((x) => {\r\n return x.filter((x) => x !== tab);\r\n });\r\n },\r\n [setTabs]\r\n );\r\n\r\n useEffect(() => {\r\n document.getElementById(\"GlobalPage\").style.display =\r\n Selected === \"Global\" ? \"block\" : \"none\";\r\n }, [Selected]);\r\n\r\n return (\r\n
    \r\n
    \r\n
    \r\n onclick()}\r\n >\r\n +\r\n \r\n {\r\n onSelectTab(\"Global\");\r\n }}\r\n >\r\n +\r\n \r\n {Tabs.map((tab, i) => (\r\n onSelectTab(tab)}\r\n >\r\n {tab === \"/TransportManagementSystems\"\r\n ? \"Load Board\"\r\n : tab.includes(\"/TransportManagementSystems/SoDetail/\")\r\n ? tab.split(\"/\")[tab.split(\"/\").length - 1]\r\n : SpaceBetweenChar(tab?.split(\"/\").pop())}\r\n\r\n {tab !== \"Global\" && (\r\n {\r\n e.preventDefault();\r\n RemoveTab(tab);\r\n e.stopPropagation();\r\n }}\r\n />\r\n )}\r\n \r\n ))}\r\n
    \r\n {!db.read().getState().User.IsCustomer && (\r\n \r\n \r\n \r\n \r\n \r\n
      \r\n {TablsOptionsList?.map((item, index) => {\r\n return (\r\n
    • \r\n {\r\n var url = JSON.parse(item.Options).url;\r\n window.CreateTabe = url;\r\n document.getElementById(\"CreateTabe\").click();\r\n if (CheckIsExist(url)) {\r\n e.preventDefault();\r\n return false;\r\n }\r\n }}\r\n >\r\n \r\n {item.Name}\r\n \r\n \r\n
    • \r\n );\r\n })}\r\n
    \r\n
    \r\n \r\n )}\r\n
    \r\n
    \r\n {/* }\r\n /> */}\r\n }\r\n />\r\n }\r\n />\r\n }\r\n />\r\n }\r\n />\r\n }\r\n />\r\n }\r\n />\r\n
    \r\n {/* SO Tabs */}\r\n {Tabs.filter((x) =>\r\n x.includes(\"/TransportManagementSystems/SoDetail/\")\r\n ).map((x) => (\r\n }\r\n isId={true}\r\n />\r\n ))}\r\n
    \r\n );\r\n}\r\n\r\nfunction CheckComponent({\r\n Tabs,\r\n Selected,\r\n Name,\r\n Component = <>,\r\n isId = false,\r\n}) {\r\n const [BoolTabs, setBoolTabs] = useState(false);\r\n const [Show, setShow] = useState(false);\r\n\r\n useEffect(() => {\r\n var isTabs = false;\r\n var isShow = false;\r\n\r\n if (isId) {\r\n isTabs = IncludesList(Tabs, Name);\r\n isShow = Selected.includes(Name);\r\n } else {\r\n isTabs = Tabs.includes(Name);\r\n isShow = Selected === Name;\r\n }\r\n\r\n setShow(isShow);\r\n setBoolTabs(isTabs);\r\n }, [Selected]);\r\n\r\n return (\r\n <>{BoolTabs &&
    {Component}
    }\r\n );\r\n}\r\n\r\nfunction IncludesList(Tabs = [], Name) {\r\n var a = false;\r\n Tabs.forEach((element) => {\r\n if (element.includes(Name)) a = true;\r\n });\r\n return a;\r\n}\r\n\r\nfunction ProductTMSDetailTab({ Selected }) {\r\n const [Mo, setMo] = useState();\r\n const [So, setSo] = useState();\r\n useEffect(() => {\r\n try {\r\n var a = Selected.split(\"/\")[Selected.split(\"/\").length - 1];\r\n if (a) setSo(+a);\r\n } catch (error) {}\r\n }, []);\r\n\r\n return (\r\n
    \r\n {So && (\r\n <>\r\n {Mo ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n )}\r\n
    \r\n );\r\n}\r\n\r\nconst urlTMS = [\r\n \"Global\",\r\n \"/TransportManagementSystems\",\r\n \"/Reporting/Report\",\r\n \"/TransportManagementSystems/CapacityBoard\",\r\n \"/TMS/TrackingBoard\",\r\n /* \"/ShipmentsManagement\", */\r\n \"/TMS/TrackingBoard\",\r\n \"/TransportManagementSystems/SoDetail\",\r\n];\r\n\r\nexport function CheckUrlTMS() {\r\n var a = false;\r\n urlTMS.forEach((element) => {\r\n if (window.activeTab.includes(element)) a = true;\r\n });\r\n return a;\r\n}\r\n\r\nconst CheckIsExist = (url) => {\r\n if (window.TabsIsExist.includes(url)) {\r\n return true;\r\n } else return false;\r\n};\r\n\r\nexport function ClickFun(e, url, id) {\r\n window.CreateTabe = url;\r\n window.TabId = id;\r\n document.getElementById(\"CreateTabe\").click();\r\n\r\n if (CheckIsExist(url)) {\r\n e.preventDefault();\r\n return false;\r\n }\r\n}\r\n","import { createSlice } from \"@reduxjs/toolkit\";\r\n\r\nconst initialCustomersState = {\r\n listLoading: false,\r\n actionsLoading: false,\r\n totalCount: 0,\r\n entities: null,\r\n customerForEdit: undefined,\r\n lastError: null,\r\n};\r\nexport const callTypes = {\r\n list: \"list\",\r\n action: \"action\",\r\n};\r\n\r\nexport const customersSlice = createSlice({\r\n name: \"customers\",\r\n initialState: initialCustomersState,\r\n reducers: {\r\n catchError: (state, action) => {\r\n state.error = `${action.type}: ${action.payload.error}`;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = false;\r\n } else {\r\n state.actionsLoading = false;\r\n }\r\n },\r\n startCall: (state, action) => {\r\n state.error = null;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = true;\r\n } else {\r\n state.actionsLoading = true;\r\n }\r\n },\r\n // getCustomerById\r\n customerFetched: (state, action) => {\r\n state.actionsLoading = false;\r\n state.customerForEdit = action.payload.customerForEdit;\r\n state.error = null;\r\n },\r\n // findCustomers\r\n customersFetched: (state, action) => {\r\n const { totalCount, entities } = action.payload;\r\n state.listLoading = false;\r\n state.error = null;\r\n state.entities = entities;\r\n state.totalCount = totalCount;\r\n },\r\n // createCustomer\r\n customerCreated: (state, action) => {\r\n state.actionsLoading = false;\r\n state.error = null;\r\n state.entities.push(action.payload.customer);\r\n },\r\n // updateCustomer\r\n customerUpdated: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.map((entity) => {\r\n if (entity.id === action.payload.customer.id) {\r\n return action.payload.customer;\r\n }\r\n return entity;\r\n });\r\n },\r\n // deleteCustomer\r\n customerDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(\r\n (el) => el.id !== action.payload.id\r\n );\r\n },\r\n // deleteCustomers\r\n customersDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(\r\n (el) => !action.payload.ids.includes(el.id)\r\n );\r\n },\r\n // customersUpdateState\r\n customersStatusUpdated: (state, action) => {\r\n state.actionsLoading = false;\r\n state.error = null;\r\n const { ids, status } = action.payload;\r\n state.entities = state.entities.map((entity) => {\r\n if (ids.findIndex((id) => id === entity.id) > -1) {\r\n entity.status = status;\r\n }\r\n return entity;\r\n });\r\n },\r\n },\r\n});\r\n","import {createSlice} from \"@reduxjs/toolkit\";\r\n\r\nconst initialProductsState = {\r\n listLoading: false,\r\n actionsLoading: false,\r\n totalCount: 0,\r\n entities: null,\r\n productForEdit: undefined,\r\n lastError: null\r\n};\r\nexport const callTypes = {\r\n list: \"list\",\r\n action: \"action\"\r\n};\r\n\r\nexport const productsSlice = createSlice({\r\n name: \"products\",\r\n initialState: initialProductsState,\r\n reducers: {\r\n catchError: (state, action) => {\r\n state.error = `${action.type}: ${action.payload.error}`;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = false;\r\n } else {\r\n state.actionsLoading = false;\r\n }\r\n },\r\n startCall: (state, action) => {\r\n state.error = null;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = true;\r\n } else {\r\n state.actionsLoading = true;\r\n }\r\n },\r\n // getProductById\r\n productFetched: (state, action) => {\r\n state.actionsLoading = false;\r\n state.productForEdit = action.payload.productForEdit;\r\n state.error = null;\r\n },\r\n // findProducts\r\n productsFetched: (state, action) => {\r\n const { totalCount, entities } = action.payload;\r\n state.listLoading = false;\r\n state.error = null;\r\n state.entities = entities;\r\n state.totalCount = totalCount;\r\n },\r\n // createProduct\r\n productCreated: (state, action) => {\r\n state.actionsLoading = false;\r\n state.error = null;\r\n state.entities.push(action.payload.product);\r\n },\r\n // updateProduct\r\n productUpdated: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.map(entity => {\r\n if (entity.id === action.payload.product.id) {\r\n return action.payload.product;\r\n }\r\n return entity;\r\n });\r\n },\r\n // deleteProduct\r\n productDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(el => el.id !== action.payload.id);\r\n },\r\n // deleteProducts\r\n productsDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(\r\n el => !action.payload.ids.includes(el.id)\r\n );\r\n },\r\n // productsUpdateState\r\n productsStatusUpdated: (state, action) => {\r\n state.actionsLoading = false;\r\n state.error = null;\r\n const { ids, status } = action.payload;\r\n state.entities = state.entities.map(entity => {\r\n if (ids.findIndex(id => id === entity.id) > -1) {\r\n entity.status = status;\r\n }\r\n return entity;\r\n });\r\n }\r\n }\r\n});\r\n","export const defaultSorted = [{ dataField: \"id\", order: \"asc\" }];\r\nexport const sizePerPageList = [\r\n { text: \"1\", value: 1 },\r\n { text: \"3\", value: 3 },\r\n { text: \"5\", value: 5 },\r\n];\r\nexport const initialFilter = {\r\n filter: {\r\n text: \"\",\r\n },\r\n sortOrder: \"asc\", // asc||desc\r\n sortField: \"id\",\r\n pageNumber: 1,\r\n pageSize: 5,\r\n};\r\n","/* eslint-disable no-unused-vars */\r\nimport React, {\r\n useEffect,\r\n useContext,\r\n createContext,\r\n useState,\r\n useCallback,\r\n} from \"react\";\r\nimport { isEqual, isFunction } from \"lodash\";\r\nimport { initialFilter } from \"./RemarksUIHelper\";\r\n\r\nconst RemarksUIContext = createContext();\r\n\r\nexport function useRemarksUIContext() {\r\n return useContext(RemarksUIContext);\r\n}\r\n\r\nexport const RemarksUIConsumer = RemarksUIContext.Consumer;\r\n\r\nexport function ReceivingUIProvider({ currentProductId, children }) {\r\n const [productId, setProductId] = useState(currentProductId);\r\n const [queryParams, setQueryParamsBase] = useState(initialFilter);\r\n const [ids, setIds] = useState([]);\r\n const setQueryParams = useCallback((nextQueryParams) => {\r\n setQueryParamsBase((prevQueryParams) => {\r\n if (isFunction(nextQueryParams)) {\r\n nextQueryParams = nextQueryParams(prevQueryParams);\r\n }\r\n\r\n if (isEqual(prevQueryParams, nextQueryParams)) {\r\n return prevQueryParams;\r\n }\r\n\r\n return nextQueryParams;\r\n });\r\n }, []);\r\n const [selectedId, setSelectedId] = useState(null);\r\n const [showEditRemarkDialog, setShowEditRemarkDialog] = useState(false);\r\n const initRemark = {\r\n id: undefined,\r\n PurchaseOrder: \"\",\r\n Sku: \"\",\r\n CubeType: \"CBM\",\r\n WeightType: \"KGS\",\r\n Pieces: 1,\r\n UnitCount: 0,\r\n Weight: 1,\r\n Cube: 1,\r\n IsHazardousMateriel: false,\r\n IsHot: false,\r\n UnNumber: \"\",\r\n PackagingGroup: null,\r\n HazardClass: null,\r\n PieceDescription: \"\",\r\n EmergencyContactNumber: \"\",\r\n CFTCube: \"\",\r\n LBSWeight: \"\",\r\n };\r\n useEffect(() => {\r\n initRemark.productId = currentProductId;\r\n initRemark.carId = currentProductId;\r\n setProductId(currentProductId);\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [currentProductId]);\r\n const openNewRemarkDialog = () => {\r\n setSelectedId(undefined);\r\n setShowEditRemarkDialog(true);\r\n };\r\n const openEditRemarkDialog = (id) => {\r\n setSelectedId(id);\r\n setShowEditRemarkDialog(true);\r\n };\r\n const closeEditRemarkDialog = () => {\r\n setSelectedId(undefined);\r\n setShowEditRemarkDialog(false);\r\n };\r\n const [showDeleteRemarkDialog, setShowDeleteRemarkDialog] = useState(false);\r\n const openDeleteRemarkDialog = (id) => {\r\n setSelectedId(id);\r\n setShowDeleteRemarkDialog(true);\r\n };\r\n const closeDeleteRemarkDialog = () => {\r\n setSelectedId(undefined);\r\n setShowDeleteRemarkDialog(false);\r\n };\r\n\r\n const [showDeleteRemarksDialog, setShowDeleteRemarksDialog] = useState(false);\r\n const openDeleteRemarksDialog = () => {\r\n setShowDeleteRemarksDialog(true);\r\n };\r\n const closeDeleteRemarksDialog = () => {\r\n setShowDeleteRemarksDialog(false);\r\n };\r\n\r\n const [showFetchRemarksDialog, setShowFetchRemarksDialog] = useState(false);\r\n const openFetchRemarksDialog = () => {\r\n setShowFetchRemarksDialog(true);\r\n };\r\n const closeFetchRemarksDialog = () => {\r\n setShowFetchRemarksDialog(false);\r\n };\r\n\r\n const value = {\r\n ids,\r\n setIds,\r\n productId,\r\n setProductId,\r\n queryParams,\r\n setQueryParams,\r\n initRemark,\r\n selectedId,\r\n showEditRemarkDialog,\r\n openNewRemarkDialog,\r\n openEditRemarkDialog,\r\n closeEditRemarkDialog,\r\n showDeleteRemarkDialog,\r\n openDeleteRemarkDialog,\r\n closeDeleteRemarkDialog,\r\n showDeleteRemarksDialog,\r\n openDeleteRemarksDialog,\r\n closeDeleteRemarksDialog,\r\n openFetchRemarksDialog,\r\n closeFetchRemarksDialog,\r\n showFetchRemarksDialog,\r\n };\r\n\r\n return (\r\n \r\n {children}\r\n \r\n );\r\n}\r\n","import {createSlice} from \"@reduxjs/toolkit\";\r\n\r\nconst initialRemarksState = {\r\n listLoading: false,\r\n actionsLoading: false,\r\n totalCount: 0,\r\n entities: null,\r\n remarkForEdit: undefined,\r\n lastError: null\r\n};\r\nexport const callTypes = {\r\n list: \"list\",\r\n action: \"action\"\r\n};\r\n\r\nexport const remarksSlice = createSlice({\r\n name: \"remarks\",\r\n initialState: initialRemarksState,\r\n reducers: {\r\n catchError: (state, action) => {\r\n state.error = `${action.type}: ${action.payload.error}`;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = false;\r\n } else {\r\n state.actionsLoading = false;\r\n }\r\n },\r\n startCall: (state, action) => {\r\n state.error = null;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = true;\r\n } else {\r\n state.actionsLoading = true;\r\n }\r\n },\r\n // getRemarkById\r\n remarkFetched: (state, action) => {\r\n state.actionsLoading = false;\r\n state.remarkForEdit = action.payload.remarkForEdit;\r\n state.error = null;\r\n },\r\n // findRemarks\r\n remarksFetched: (state, action) => {\r\n const { totalCount, entities } = action.payload;\r\n state.listLoading = false;\r\n state.error = null;\r\n state.entities = entities;\r\n state.totalCount = totalCount;\r\n },\r\n // createRemark\r\n remarkCreated: (state, action) => {\r\n state.actionsLoading = false;\r\n state.error = null;\r\n state.entities.push(action.payload.remark);\r\n },\r\n // updateRemark\r\n remarkUpdated: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.map(entity => {\r\n if (entity.id === action.payload.remark.id) {\r\n return action.payload.remark;\r\n }\r\n return entity;\r\n });\r\n },\r\n // deleteRemark\r\n remarkDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(el => el.id !== action.payload.id);\r\n },\r\n // deleteRemarks\r\n remarksDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(\r\n el => !action.payload.ids.includes(el.id)\r\n );\r\n },\r\n // remarksUpdateState\r\n remarksStatusUpdated: (state, action) => {\r\n state.actionsLoading = false;\r\n state.error = null;\r\n const { ids, status } = action.payload;\r\n state.entities = state.entities.map(entity => {\r\n if (ids.findIndex(id => id === entity.id) > -1) {\r\n entity.status = status;\r\n }\r\n return entity;\r\n });\r\n }\r\n }\r\n});\r\n","import {createSlice} from \"@reduxjs/toolkit\";\r\n\r\nconst initialRemarksState = {\r\n listLoading: false,\r\n actionsLoading: false,\r\n totalCount: 0,\r\n entities: null,\r\n remarkForEdit: undefined,\r\n lastError: null\r\n};\r\nexport const callTypes = {\r\n list: \"list\",\r\n action: \"action\"\r\n};\r\n\r\nexport const ReceivingsSlice = createSlice({\r\n name: \"Receiving\",\r\n initialState: initialRemarksState,\r\n reducers: {\r\n catchError: (state, action) => {\r\n state.error = `${action.type}: ${action.payload.error}`;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = false;\r\n } else {\r\n state.actionsLoading = false;\r\n }\r\n },\r\n startCall: (state, action) => {\r\n state.error = null;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = true;\r\n } else {\r\n state.actionsLoading = true;\r\n }\r\n },\r\n // getRemarkById\r\n remarkFetched: (state, action) => {\r\n state.actionsLoading = false;\r\n state.remarkForEdit = action.payload.remarkForEdit;\r\n state.error = null;\r\n },\r\n // findRemarks\r\n remarksFetched: (state, action) => {\r\n const { totalCount, entities } = action.payload;\r\n state.listLoading = false;\r\n state.error = null;\r\n state.entities = entities;\r\n state.totalCount = totalCount;\r\n },\r\n // createRemark\r\n remarkCreated: (state, action) => {\r\n state.actionsLoading = false;\r\n state.error = null;\r\n state.entities.push(action.payload.remark);\r\n },\r\n // updateRemark\r\n remarkUpdated: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.map(entity => {\r\n if (entity.id === action.payload.remark.id) {\r\n return action.payload.remark;\r\n }\r\n return entity;\r\n });\r\n },\r\n // deleteRemark\r\n remarkDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(el => el.id !== action.payload.id);\r\n },\r\n // deleteRemarks\r\n remarksDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(\r\n el => !action.payload.ids.includes(el.id)\r\n );\r\n },\r\n // remarksUpdateState\r\n remarksStatusUpdated: (state, action) => {\r\n state.actionsLoading = false;\r\n state.error = null;\r\n const { ids, status } = action.payload;\r\n state.entities = state.entities.map(entity => {\r\n if (ids.findIndex(id => id === entity.id) > -1) {\r\n entity.status = status;\r\n }\r\n return entity;\r\n });\r\n }\r\n }\r\n});\r\n","import {toAbsoluteUrl} from \"../../../../_metronic/_helpers\";\r\n\r\nexport default [\r\n {\r\n id: 1,\r\n username: \"admin\",\r\n password: \"@@abc@@123@@\",\r\n email: \"support@mitco.com\",\r\n accessToken: \"access-token-8f3ae836da744329a6f93bf20594b5cc\",\r\n refreshToken: \"access-token-f8c137a2c98743f48b643e71161d90aa\",\r\n roles: [1], // Administrator\r\n pic: toAbsoluteUrl(\"/media/users/300_25.jpg\"),\r\n fullname: \"Sean\",\r\n occupation: \"CEO\",\r\n companyName: \"Keenthemes\",\r\n phone: \"456669067890\",\r\n address: {\r\n addressLine: \"L-12-20 Vertex, Cybersquare\",\r\n city: \"San Francisco\",\r\n state: \"California\",\r\n postCode: \"45000\"\r\n },\r\n socialNetworks: {\r\n linkedIn: \"https://linkedin.com/admin\",\r\n facebook: \"https://facebook.com/admin\",\r\n twitter: \"https://twitter.com/admin\",\r\n instagram: \"https://instagram.com/admin\"\r\n }\r\n },\r\n {\r\n id: 2,\r\n username: \"user\",\r\n password: \"demo\",\r\n email: \"user@demo.com\",\r\n accessToken: \"access-token-6829bba69dd3421d8762-991e9e806dbf\",\r\n refreshToken: \"access-token-f8e4c61a318e4d618b6c199ef96b9e55\",\r\n roles: [2], // Manager\r\n pic: toAbsoluteUrl(\"/media/users/100_2.jpg\"),\r\n fullname: \"Megan\",\r\n occupation: \"Deputy Head of Keenthemes in New York office\",\r\n companyName: \"Keenthemes\",\r\n phone: \"456669067891\",\r\n address: {\r\n addressLine: \"3487 Ingram Road\",\r\n city: \"Greensboro\",\r\n state: \"North Carolina\",\r\n postCode: \"27409\"\r\n },\r\n socialNetworks: {\r\n linkedIn: \"https://linkedin.com/user\",\r\n facebook: \"https://facebook.com/user\",\r\n twitter: \"https://twitter.com/user\",\r\n instagram: \"https://instagram.com/user\"\r\n }\r\n },\r\n {\r\n id: 3,\r\n username: \"guest\",\r\n password: \"demo\",\r\n email: \"guest@demo.com\",\r\n accessToken: \"access-token-d2dff7b82f784de584b60964abbe45b9\",\r\n refreshToken: \"access-token-c999ccfe74aa40d0aa1a64c5e620c1a5\",\r\n roles: [3], // Guest\r\n pic: toAbsoluteUrl(\"/media/users/default.jpg\"),\r\n fullname: \"Ginobili Maccari\",\r\n occupation: \"CFO\",\r\n companyName: \"Keenthemes\",\r\n phone: \"456669067892\",\r\n address: {\r\n addressLine: \"1467 Griffin Street\",\r\n city: \"Phoenix\",\r\n state: \"Arizona\",\r\n postCode: \"85012\"\r\n },\r\n socialNetworks: {\r\n linkedIn: \"https://linkedin.com/guest\",\r\n facebook: \"https://facebook.com/guest\",\r\n twitter: \"https://twitter.com/guest\",\r\n instagram: \"https://instagram.com/guest\"\r\n }\r\n }\r\n];\r\n","import {\r\n LOGIN_URL,\r\n ME_URL,\r\n REGISTER_URL,\r\n REQUEST_PASSWORD_URL,\r\n} from \"../_redux/authCrud\";\r\nimport userTableMock from \"./userTableMock\";\r\nimport low from \"lowdb\";\r\nimport LocalStorage from \"lowdb/adapters/LocalStorage\";\r\nconst adapter = new LocalStorage(\"db\");\r\nconst db = low(adapter);\r\n\r\nexport default function mockAuth(mock) {\r\n async function Login(userName, password) {\r\n const obj = {\r\n UserName: userName,\r\n Password: password,\r\n };\r\n return fetch(`${window.$apiurl}/Auth`, {\r\n method: \"post\",\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n \"Content-Type\": \"application/json\",\r\n Allow: \"POST\",\r\n },\r\n body: JSON.stringify(obj),\r\n })\r\n .then(async (response) => {\r\n const res = await response;\r\n if (res.status === 200) {\r\n return res.json();\r\n }\r\n return false;\r\n })\r\n .then((res) => {\r\n if (res?.Code === \"400\") {\r\n return false;\r\n }\r\n const userDefault = {\r\n FullName: res.FullName,\r\n Email: res.Email,\r\n ProfilePicture: res.ProfilePicture,\r\n IsCustomer: res.IsCustomer,\r\n DefaultCustomerId: res.DefaultCustomerId,\r\n DefaultCustomerName: res.DefaultCustomerName,\r\n DefaultServiceId: res.DefaultServiceId,\r\n DefaultServiceName: res.DefaultServiceName,\r\n DefaultModeId: res.DefaultModeId,\r\n DefaultModeName: res.DefaultModeName,\r\n Customers: res.Customers,\r\n Warehouses: res.Warehouses,\r\n RoleId: res.Role.Id,\r\n RoleName: res.Role.Name,\r\n };\r\n db.set(\"Token\", res.Token).write();\r\n db.set(\"User\", userDefault).write();\r\n const user = {\r\n id: 1,\r\n username: res.UserName,\r\n password: undefined,\r\n TimeZone: res.TimeZone,\r\n DefaultCustomerId: res.DefaultCustomerId,\r\n DefaultServiceId: res.DefaultServiceId,\r\n DefaultModeId: res.DefaultModeId,\r\n email: res.Email,\r\n accessToken: \"access-token-8f3ae836da744329a6f93bf20594b5cc\",\r\n refreshToken: \"access-token-f8c137a2c98743f48b643e71161d90aa\",\r\n roles: [1],\r\n pic: \"\",\r\n fullname: res.FullName,\r\n occupation: \"\",\r\n companyName: \"\",\r\n phone: res.Phone,\r\n RoleName: res.Role.Name,\r\n address: {\r\n addressLine: \"\",\r\n city: \"\",\r\n state: \"\",\r\n postCode: \"\",\r\n },\r\n socialNetworks: {\r\n linkedIn: \"\",\r\n facebook: \"\",\r\n twitter: \"\",\r\n instagram: \"\",\r\n },\r\n };\r\n setTimeout(() => {\r\n localStorage.setItem(\r\n `UserIsResetedPassword`,\r\n res.IsGeneratedPassword ? true : false\r\n );\r\n }, 1);\r\n setTimeout(() => {\r\n localStorage.setItem(`ReleaseNotesModalFetchSeen-${res.Email}`, true);\r\n }, 1);\r\n db.set(\"user\", user).write();\r\n return user;\r\n });\r\n }\r\n\r\n //Forgot Password\r\n async function ForgotPassword(email) {\r\n return fetch(window.$apiurl + `/ForgotPassword?email=${email}`, {\r\n method: \"post\",\r\n withCredentials: true,\r\n headers: {\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n return res[1];\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n mock.onGet(\"auth/Login\").reply(() => {\r\n const user = db.getState().User;\r\n\r\n return [200, user];\r\n });\r\n\r\n mock.onPost(LOGIN_URL).reply(async ({ data }) => {\r\n const { email, password } = JSON.parse(data);\r\n if (email && password && password.length > 7) {\r\n const user = await Login(email, password);\r\n if (user) {\r\n return [200, { ...user, password: undefined }];\r\n }\r\n }\r\n return [400];\r\n });\r\n\r\n mock.onPost(REGISTER_URL).reply(({ data }) => {\r\n const { email, fullname, username, password } = JSON.parse(data);\r\n\r\n if (email && fullname && username && password) {\r\n const user = {\r\n id: generateUserId(),\r\n email,\r\n fullname,\r\n username,\r\n password,\r\n roles: [2],\r\n accessToken: \"access-token-\" + Math.random(),\r\n refreshToken: \"access-token-\" + Math.random(),\r\n pic: process.env.PUBLIC_URL + \"/media/users/default.jpg\",\r\n };\r\n\r\n userTableMock.push(user);\r\n\r\n return [200, { ...user, password: undefined }];\r\n }\r\n\r\n return [400];\r\n });\r\n\r\n mock.onPost(REQUEST_PASSWORD_URL).reply(async ({ data }) => {\r\n const { email } = JSON.parse(data);\r\n if (email) {\r\n const user = await ForgotPassword(email);\r\n console.log(user);\r\n if (user) {\r\n user.password = undefined;\r\n return [200, { ...user, password: undefined }];\r\n }\r\n }\r\n\r\n return [400];\r\n });\r\n\r\n mock.onGet(ME_URL).reply(({ headers: { Authorization } }) => {\r\n const user = db.getState().user;\r\n if (user) {\r\n return [200, { ...user, password: undefined }];\r\n }\r\n return [401];\r\n });\r\n\r\n function generateUserId() {\r\n const ids = userTableMock.map((el) => el.id);\r\n const maxId = Math.max(...ids);\r\n return maxId + 1;\r\n }\r\n}\r\n","export default [\r\n {\r\n id :1,\r\n ZONENAME :\"Mitco, Ltd\",\r\n STARTZIP :\"UPS\",\r\n ENDZIP :\"MITCO LTD UPS\",\r\n },\r\n ];\r\n ","export default class MockUtils {\r\n /**\r\n * Filtration with sorting\r\n * First do Sort then filter\r\n *\r\n * @param _entities: any[]\r\n * @param _queryParams: QueryParamsModel\r\n * @param _filtrationFields: string[]\r\n */\r\n baseFilter(_entities, _queryParams, _filtrationFields = []) {\r\n // Filtration\r\n let entitiesResult = this.searchInArray(\r\n _entities,\r\n _queryParams.filter,\r\n _filtrationFields\r\n );\r\n\r\n // Sorting\r\n // start\r\n if (_queryParams.sortField) {\r\n entitiesResult = this.sortArray(\r\n entitiesResult,\r\n _queryParams.sortField,\r\n _queryParams.sortOrder\r\n );\r\n }\r\n // end\r\n\r\n // Paginator\r\n // start\r\n const pageNumber = _queryParams.pageNumber - 1;\r\n const totalCount = entitiesResult.length;\r\n const initialPos = pageNumber * _queryParams.pageSize;\r\n entitiesResult = entitiesResult.slice(\r\n initialPos,\r\n initialPos + _queryParams.pageSize\r\n );\r\n // end\r\n\r\n const queryResults = {\r\n entities: entitiesResult,\r\n totalCount: totalCount,\r\n errorMessage: \"\",\r\n };\r\n return queryResults;\r\n }\r\n\r\n /**\r\n * Sort array by field name and order-type\r\n * @param _incomingArray: any[]\r\n * @param _sortField: string\r\n * @param _sortOrder: string\r\n */\r\n sortArray(_incomingArray, _sortField = \"\", _sortOrder = \"asc\") {\r\n if (!_sortField) {\r\n return _incomingArray;\r\n }\r\n\r\n let result = [];\r\n result = _incomingArray.sort((a, b) => {\r\n if (a[_sortField] < b[_sortField]) {\r\n return _sortOrder === \"asc\" ? -1 : 1;\r\n }\r\n\r\n if (a[_sortField] > b[_sortField]) {\r\n return _sortOrder === \"asc\" ? 1 : -1;\r\n }\r\n\r\n return 0;\r\n });\r\n return result;\r\n }\r\n\r\n /**\r\n * Filter array by some fields\r\n *\r\n * @param _incomingArray: any[]\r\n * @param _queryObj: any\r\n * @param _filtrationFields: string[]\r\n */\r\n searchInArray(_incomingArray, _queryObj, _filtrationFields = []) {\r\n const result = [];\r\n let resultBuffer = [];\r\n const indexes = [];\r\n let firstIndexes = [];\r\n let doSearch = false;\r\n\r\n _filtrationFields.forEach((item) => {\r\n if (item in _queryObj) {\r\n _incomingArray.forEach((element, index) => {\r\n if (element[item] === _queryObj[item]) {\r\n firstIndexes.push(index);\r\n }\r\n });\r\n firstIndexes.forEach((element) => {\r\n resultBuffer.push(_incomingArray[element]);\r\n });\r\n _incomingArray = resultBuffer.slice(0);\r\n resultBuffer = [].slice(0);\r\n firstIndexes = [].slice(0);\r\n }\r\n });\r\n\r\n Object.keys(_queryObj).forEach((key) => {\r\n const searchText = _queryObj[key]\r\n .toString()\r\n .trim()\r\n .toLowerCase();\r\n if (key && !_filtrationFields.some((e) => e === key) && searchText) {\r\n doSearch = true;\r\n try {\r\n _incomingArray.forEach((element, index) => {\r\n if (element[key] == false) element[key] = \"false\";\r\n if (element[key] || (element[key] === 0 && searchText === \"0\")) {\r\n const _val = element[key]\r\n .toString()\r\n .trim()\r\n .toLowerCase();\r\n if (\r\n _val.indexOf(searchText) > -1 &&\r\n indexes.indexOf(index) === -1\r\n ) {\r\n indexes.push(index);\r\n }\r\n }\r\n });\r\n } catch (ex) {\r\n console.log(ex, key, searchText);\r\n }\r\n }\r\n });\r\n\r\n if (!doSearch) {\r\n return _incomingArray;\r\n }\r\n\r\n indexes.forEach((re) => {\r\n result.push(_incomingArray[re]);\r\n });\r\n\r\n return result;\r\n }\r\n}\r\n","import customerTableMock from \"./ManageZoneBillingTableMock\";\r\nimport MockUtils from \"./mock.utils\";\r\n\r\nexport default function mockManageZoneBilling(mock) {\r\n mock.onPost(\"api/ManageZoneBilling\").reply(({ data }) => {\r\n const { customer } = JSON.parse(data);\r\n const {\r\n ZONENAME = \"\",\r\n STARTZIP = \"\",\r\n ENDZIP = \"\",\r\n } = customer;\r\n\r\n const id = generateUserId();\r\n const newCustomer = {\r\n id,\r\n ZONENAME,\r\n STARTZIP,\r\n ENDZIP,\r\n };\r\n customerTableMock.push(newCustomer);\r\n return [200, { customer: newCustomer }];\r\n });\r\n\r\n mock.onPost(\"api/ManageZoneBilling/find\").reply(config => {\r\n const mockUtils = new MockUtils();\r\n const { queryParams } = JSON.parse(config.data);\r\n const filterdCustomers = mockUtils.baseFilter(\r\n customerTableMock,\r\n queryParams \r\n );\r\n return [200, filterdCustomers];\r\n });\r\n\r\n mock.onPost(\"api/ManageZoneBilling/deleteCustomers\").reply(config => {\r\n const { ids } = JSON.parse(config.data);\r\n ids.forEach(id => {\r\n const index = customerTableMock.findIndex(el => el.id === id);\r\n if (index > -1) {\r\n customerTableMock.splice(index, 1);\r\n }\r\n });\r\n return [200];\r\n });\r\n\r\n mock.onPost(\"api/ManageZoneBilling/updateStatusForCustomers\").reply(config => {\r\n const { ids, status } = JSON.parse(config.data);\r\n customerTableMock.forEach(el => {\r\n if (ids.findIndex(id => id === el.id) > -1) {\r\n el.status = status;\r\n }\r\n });\r\n return [200];\r\n });\r\n\r\n mock.onGet(/api\\/ManageZoneBilling\\/\\d+/).reply(config => {\r\n const id = config.url.match(/api\\/customers\\/(\\d+)/)[1];\r\n const customer = customerTableMock.find(el => el.id === +id);\r\n if (!customer) {\r\n return [400];\r\n }\r\n\r\n return [200, customer];\r\n });\r\n\r\n mock.onPut(/api\\/ManageZoneBilling\\/\\d+/).reply(config => {\r\n const id = config.url.match(/api\\/customers\\/(\\d+)/)[1];\r\n const { customer } = JSON.parse(config.data);\r\n const index = customerTableMock.findIndex(el => el.id === +id);\r\n if (!index) {\r\n return [400];\r\n }\r\n\r\n customerTableMock[index] = { ...customer };\r\n return [200];\r\n });\r\n\r\n mock.onDelete(/api\\/ManageZoneBilling\\/\\d+/).reply(config => {\r\n const id = config.url.match(/api\\/customers\\/(\\d+)/)[1];\r\n const index = customerTableMock.findIndex(el => el.id === +id);\r\n customerTableMock.splice(index, 1);\r\n if (!index === -1) {\r\n return [400];\r\n }\r\n\r\n return [200];\r\n });\r\n}\r\n\r\nfunction generateUserId() {\r\n const ids = customerTableMock.map(el => el.id);\r\n const maxId = Math.max(...ids);\r\n return maxId + 1;\r\n}\r\n","export default [\r\n {\r\n id :1,\r\n CUSTOMERNAME :\"Mitco, Ltd\",\r\n FACILITY :\"UPS\",\r\n },\r\n ];\r\n ","import customerTableMock from \"./ManageSmartParcelCarriersTableMock\";\r\nimport MockUtils from \"./mock.utils\";\r\n\r\nexport default function mockManageSmartParcelCarriers(mock) {\r\n mock.onPost(\"api/ManageSmartParcelCarriers\").reply(({ data }) => {\r\n const { customer } = JSON.parse(data);\r\n const {\r\n CUSTOMERNAME = \"\",\r\n FACILITY = \"\",\r\n } = customer;\r\n\r\n const id = generateUserId();\r\n const newCustomer = {\r\n id,\r\n CUSTOMERNAME,\r\n FACILITY,\r\n };\r\n customerTableMock.push(newCustomer);\r\n return [200, { customer: newCustomer }];\r\n });\r\n\r\n mock.onPost(\"api/ManageSmartParcelCarriers/find\").reply(config => {\r\n const mockUtils = new MockUtils();\r\n const { queryParams } = JSON.parse(config.data);\r\n const filterdCustomers = mockUtils.baseFilter(\r\n customerTableMock,\r\n queryParams \r\n );\r\n return [200, filterdCustomers];\r\n });\r\n\r\n mock.onPost(\"api/ManageSmartParcelCarriers/deleteCustomers\").reply(config => {\r\n const { ids } = JSON.parse(config.data);\r\n ids.forEach(id => {\r\n const index = customerTableMock.findIndex(el => el.id === id);\r\n if (index > -1) {\r\n customerTableMock.splice(index, 1);\r\n }\r\n });\r\n return [200];\r\n });\r\n\r\n mock.onPost(\"api/ManageSmartParcelCarriers/updateStatusForCustomers\").reply(config => {\r\n const { ids, status } = JSON.parse(config.data);\r\n customerTableMock.forEach(el => {\r\n if (ids.findIndex(id => id === el.id) > -1) {\r\n el.status = status;\r\n }\r\n });\r\n return [200];\r\n });\r\n\r\n mock.onGet(/api\\/ManageSmartParcelCarriers\\/\\d+/).reply(config => {\r\n const id = config.url.match(/api\\/customers\\/(\\d+)/)[1];\r\n const customer = customerTableMock.find(el => el.id === +id);\r\n if (!customer) {\r\n return [400];\r\n }\r\n\r\n return [200, customer];\r\n });\r\n\r\n mock.onPut(/api\\/ManageSmartParcelCarriers\\/\\d+/).reply(config => {\r\n const id = config.url.match(/api\\/customers\\/(\\d+)/)[1];\r\n const { customer } = JSON.parse(config.data);\r\n const index = customerTableMock.findIndex(el => el.id === +id);\r\n if (!index) {\r\n return [400];\r\n }\r\n\r\n customerTableMock[index] = { ...customer };\r\n return [200];\r\n });\r\n\r\n mock.onDelete(/api\\/ManageSmartParcelCarriers\\/\\d+/).reply(config => {\r\n const id = config.url.match(/api\\/customers\\/(\\d+)/)[1];\r\n const index = customerTableMock.findIndex(el => el.id === +id);\r\n customerTableMock.splice(index, 1);\r\n if (!index === -1) {\r\n return [400];\r\n }\r\n\r\n return [200];\r\n });\r\n}\r\n\r\nfunction generateUserId() {\r\n const ids = customerTableMock.map(el => el.id);\r\n const maxId = Math.max(...ids);\r\n return maxId + 1;\r\n}\r\n","export default [\r\n {\r\n Customers :\"\",\r\n warehouse :\"\",\r\n frequency :\"\",\r\n periodEnd :\"\",\r\n amount : \"\",\r\n },\r\n ];\r\n ","import customerTableMock from \"./RecurringStorageChargesTableMock\";\r\nimport MockUtils from \"./mock.utils\";\r\n\r\nexport default function mockRecurringStorageCharges(mock) {\r\n mock.onPost(\"api/RecurringStorageCharges\").reply(({ data }) => {\r\n const { customer } = JSON.parse(data);\r\n const {\r\n Customers =\"\",\r\n warehouse =\"\",\r\n frequency =\"\",\r\n periodEnd =\"\",\r\n amount = \"\",\r\n } = customer;\r\n\r\n const id = generateUserId();\r\n const newCustomer = {\r\n id,\r\n Customers,\r\n warehouse,\r\n frequency,\r\n periodEnd,\r\n amount,\r\n };\r\n customerTableMock.push(newCustomer);\r\n return [200, { customer: newCustomer }];\r\n });\r\n\r\n mock.onPost(\"api/RecurringStorageCharges/find\").reply(config => {\r\n const mockUtils = new MockUtils();\r\n const { queryParams } = JSON.parse(config.data);\r\n const filterdCustomers = mockUtils.baseFilter(\r\n customerTableMock,\r\n queryParams\r\n );\r\n return [200, filterdCustomers];\r\n });\r\n\r\n mock.onPost(\"api/RecurringStorageCharges/deleteCustomers\").reply(config => {\r\n const { ids } = JSON.parse(config.data);\r\n ids.forEach(id => {\r\n const index = customerTableMock.findIndex(el => el.id === id);\r\n if (index > -1) {\r\n customerTableMock.splice(index, 1);\r\n }\r\n });\r\n return [200];\r\n });\r\n\r\n mock.onPost(\"api/RecurringStorageCharges/updateStatusForCustomers\").reply(config => {\r\n const { ids, status } = JSON.parse(config.data);\r\n customerTableMock.forEach(el => {\r\n if (ids.findIndex(id => id === el.id) > -1) {\r\n el.status = status;\r\n }\r\n });\r\n return [200];\r\n });\r\n\r\n mock.onGet(/api\\/RecurringStorageCharges\\/\\d+/).reply(config => {\r\n const id = config.url.match(/api\\/customers\\/(\\d+)/)[1];\r\n const customer = customerTableMock.find(el => el.id === +id);\r\n if (!customer) {\r\n return [400];\r\n }\r\n\r\n return [200, customer];\r\n });\r\n\r\n mock.onPut(/api\\/RecurringStorageCharges\\/\\d+/).reply(config => {\r\n const id = config.url.match(/api\\/customers\\/(\\d+)/)[1];\r\n const { customer } = JSON.parse(config.data);\r\n const index = customerTableMock.findIndex(el => el.id === +id);\r\n if (!index) {\r\n return [400];\r\n }\r\n\r\n customerTableMock[index] = { ...customer };\r\n return [200];\r\n });\r\n\r\n mock.onDelete(/api\\/RecurringStorageCharges\\/\\d+/).reply(config => {\r\n const id = config.url.match(/api\\/customers\\/(\\d+)/)[1];\r\n const index = customerTableMock.findIndex(el => el.id === +id);\r\n customerTableMock.splice(index, 1);\r\n if (!index === -1) {\r\n return [400];\r\n }\r\n\r\n return [200];\r\n });\r\n}\r\n\r\nfunction generateUserId() {\r\n const ids = customerTableMock.map(el => el.id);\r\n const maxId = Math.max(...ids);\r\n return maxId + 1;\r\n}\r\n","\r\nimport MockUtils from \"./mock.utils\";\r\nimport { Notification } from \"../../../modules/Notification\";\r\nlet customerTableMock;\r\nexport default function mockMovableUnits(mock) {\r\n\r\n //Status Message Result\r\n function StatusMessage(res) {\r\n var status = res.status;\r\n var statusText = res.statusText;\r\n if (status === 200) {\r\n Notification(\"success\", \"success\");\r\n return true;\r\n } else if (status === 400) {\r\n Notification(\"error\", statusText);\r\n return false;\r\n }\r\n }\r\n //Get Movable Units\r\n async function GetMovableUnitss() {\r\n return await fetch(window.$apiurl+\"/movableunits\")\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n return ChangeId(res[1]);\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n //Get {id}\r\n async function GetMovableUnitsById(id) {\r\n return await fetch(window.$apiurl+\"/movableunits/\" + id, {\r\n method: \"get\",\r\n })\r\n .then(async (response) => {\r\n const data = await response.json();\r\n var result = {\r\n Code: data.Code,\r\n Description: data.Description,\r\n Height: data.Height,\r\n HeightUs: data.HeightUs,\r\n Length: data.Length,\r\n LengthUs: data.LengthUs,\r\n LoadTypeId: data.LoadTypeId,\r\n LoadType:data.LoadType,\r\n MaterialTypeId: data.MaterialTypeId,\r\n Materiel:data.Materiel,\r\n Rate: data.Rate,\r\n Cost : data.Cost,\r\n Weight: data.Weight,\r\n WeightUs: data.WeightUs,\r\n Width: data.Width,\r\n WidthUs: data.WidthUs,\r\n id: data.Id\r\n }\r\n return result;\r\n });\r\n }\r\n //Post Movable Units\r\n async function PostMovableUnit(someData) {\r\n return fetch(window.$apiurl+\"/movableunits\", {\r\n method: \"post\",\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(someData),\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n return res[1];\r\n })\r\n .catch((err) => {\r\n console.log(err);\r\n });\r\n }\r\n //Delete\r\n async function DeleteMovableUnit(id) {\r\n return await fetch(window.$apiurl+\"/movableunits/\" + id, {\r\n method: \"delete\",\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n return response;\r\n })\r\n .then((res) => {\r\n return StatusMessage(res);\r\n })\r\n .catch((err) => {\r\n return StatusMessage(err);\r\n });\r\n }\r\n //Put \r\n async function PutMovableUnit(someData, id) {\r\n return fetch(window.$apiurl+\"/movableunits/\" + id, {\r\n method: \"put\",\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(someData),\r\n })\r\n .then(async (response) => {\r\n return response;\r\n })\r\n .then((res) => {\r\n return StatusMessage(res);\r\n })\r\n .catch((err) => {\r\n return StatusMessage(err);\r\n });\r\n }\r\n mock.onPost(\"api/MovableUnits\").reply(async({ data }) => {\r\n const { customer } = JSON.parse(data);\r\n const {\r\n Code = \"\",\r\n Description = \"\",\r\n MaterialTypeId = \"\",\r\n Material = \"\",\r\n LoadType = \"\",\r\n LoadTypeId = \"\",\r\n Cost = \"\",\r\n Rate = \"\",\r\n Length = \"\",\r\n id = 0,\r\n Width = \"\",\r\n Height = \"\",\r\n Weight = \"\",\r\n LengthUs = \"\",\r\n WidthUs = \"\",\r\n HeightUs = \"\",\r\n WeightUs = \"\",\r\n } = customer;\r\n\r\n const Id = generateUserId();\r\n const newCustomer = {\r\n Id,\r\n Code,\r\n Description,\r\n MaterialTypeId,\r\n Material,\r\n LoadTypeId,\r\n LoadType,\r\n Cost,\r\n Rate,\r\n Length,\r\n Width,\r\n Height,\r\n Weight,\r\n LengthUs,\r\n WidthUs,\r\n HeightUs,\r\n WeightUs\r\n };\r\n const result = {\r\n id,\r\n Code,\r\n Description,\r\n Material,\r\n LoadType,\r\n };\r\n var postMovableUnit = await PostMovableUnit(newCustomer);\r\n switch (newCustomer.MaterialTypeId) {\r\n case '1':\r\n result.Material = 'Wood';\r\n break;\r\n case '2':\r\n result.Material = 'Plastic';\r\n break;\r\n\r\n case '3':\r\n result.Material = 'Metal';\r\n break;\r\n\r\n case '4':\r\n result.Material = 'Cardboard';\r\n break;\r\n\r\n case '5':\r\n result.Material = 'Other';\r\n break;\r\n }\r\n switch (newCustomer.LoadTypeId) {\r\n case '1':\r\n result.LoadType = 'OnTopOf';\r\n break;\r\n case '2':\r\n result.LoadType = 'InsideOf';\r\n break;\r\n }\r\n result.id = postMovableUnit.Id;\r\n customerTableMock.push(result);\r\n return [200, { customer: result }];\r\n });\r\n\r\n \r\n mock.onPost(\"api/MovableUnits/find\").reply(async (config) => {\r\n const mockUtils = new MockUtils();\r\n const { queryParams } = JSON.parse(config.data);\r\n customerTableMock = await GetMovableUnitss();\r\n const filterdCustomers = mockUtils.baseFilter(\r\n customerTableMock,\r\n queryParams\r\n );\r\n return [200, filterdCustomers];\r\n });\r\n\r\n mock.onPost(\"api/MovableUnits/deleteCustomers\").reply(config => {\r\n const { ids } = JSON.parse(config.data);\r\n ids.forEach(id => {\r\n const index = customerTableMock.findIndex(el => el.id === id);\r\n if (index > -1) {\r\n customerTableMock.splice(index, 1);\r\n }\r\n });\r\n return [200];\r\n });\r\n\r\n mock.onPost(\"api/MovableUnits/updateStatusForCustomers\").reply(config => {\r\n const { ids, status } = JSON.parse(config.data);\r\n customerTableMock.forEach(el => {\r\n if (ids.findIndex(id => id === el.id) > -1) {\r\n el.status = status;\r\n }\r\n });\r\n return [200];\r\n });\r\n\r\n mock.onGet(/api\\/MovableUnits\\/\\d+/).reply(async config => {\r\n const id = config.url.match(/api\\/MovableUnits\\/(\\d+)/)[1];\r\n var resultById = await GetMovableUnitsById(id);\r\n if (!resultById) {\r\n return [400];\r\n }\r\n return [200, resultById];\r\n });\r\n\r\n mock.onPut(/api\\/MovableUnits\\/\\d+/).reply(async config => {\r\n const id = config.url.match(/api\\/MovableUnits\\/(\\d+)/)[1];\r\n const { customer } = JSON.parse(config.data);\r\n var putObj = await PutMovableUnit(customer, id);\r\n if (!putObj) {\r\n return false;\r\n }\r\n const index = customerTableMock.findIndex((el) => el.id === +id);\r\n if (index === -1) {\r\n return [400];\r\n }\r\n customerTableMock[index] = { ...customer };\r\n return [200];\r\n });\r\n\r\n mock.onDelete(/api\\/MovableUnits\\/\\d+/).reply(async config => {\r\n const id = config.url.match(/api\\/MovableUnits\\/(\\d+)/)[1];\r\n const index = customerTableMock.findIndex(el => el.id === +id);\r\n var deleteObj = await DeleteMovableUnit(id);\r\n if (!deleteObj) {\r\n return [400];\r\n }\r\n customerTableMock.splice(index, 1);\r\n return [200];\r\n });\r\n}\r\n\r\nfunction generateUserId() {\r\n const ids = customerTableMock.map(el => el.id);\r\n const maxId = Math.max(...ids);\r\n return maxId + 1;\r\n}\r\n\r\nfunction ChangeId(list) {\r\n for (var item in list) {\r\n list[item].id = list[item].Id;\r\n delete list[item].Id;\r\n }\r\n return list;\r\n}","import MockUtils from \"./mock.utils\";\r\nimport { Notification } from \"../../../modules/Notification\";\r\nimport low from \"lowdb\";\r\nimport LocalStorage from \"lowdb/adapters/LocalStorage\";\r\nconst adapter = new LocalStorage(\"db\");\r\nconst db = low(adapter);\r\nlet customerTableMock = [];\r\n\r\nexport default async function mockNotes(mock) {\r\n function StatusMessage(res) {\r\n var status = res.status;\r\n var statusText = res.statusText;\r\n if (status === 200) {\r\n Notification(\"success\", \"success\");\r\n return true;\r\n } else if (status === 400) {\r\n Notification(\"error\", statusText);\r\n return false;\r\n }\r\n }\r\n\r\n async function GetModel({ pageNumber, pageSize, filter }) {\r\n return await fetch(\r\n `${\r\n window.$apiurl\r\n }/notes/GetNotes?pageNumber=${pageNumber}&pageSize=${pageSize}&containerId=${\r\n filter?.Containers\r\n }&accessLevelId=${filter?.AccessLevelId}&categoryId=${\r\n filter?.CategoryId\r\n }&search=${filter?.search ?? \"\"}`,\r\n {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n }\r\n )\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n if (res[0] === 200) {\r\n res[1].pallets = ChangeId(res[1].pallets);\r\n return res[1];\r\n } else {\r\n Notification(\"error\", res[1]?.Message ?? \"\");\r\n return [];\r\n }\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n\r\n async function PostModel(someData) {\r\n return fetch(window.$apiurl + \"/notes/addNote\", {\r\n method: \"post\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(someData),\r\n })\r\n .then(async (response) => {\r\n return await response;\r\n })\r\n .then((res) => {\r\n return StatusMessage(res);\r\n })\r\n .catch((err) => {\r\n return StatusMessage(err);\r\n });\r\n }\r\n\r\n async function PutModel(someData) {\r\n return fetch(window.$apiurl + \"/notes/PutNoteMultipleReceipt\", {\r\n method: \"put\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(someData[\"customer\"]),\r\n })\r\n .then(async (response) => {\r\n return await response;\r\n })\r\n .then((res) => {\r\n return StatusMessage(res);\r\n })\r\n .catch((err) => {\r\n return StatusMessage(err);\r\n });\r\n }\r\n\r\n async function DeleteModel(id) {\r\n return await fetch(window.$apiurl + \"/notes/DeleteNoteLinks?id=\" + id, {\r\n method: \"delete\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n return response;\r\n })\r\n .then((res) => {\r\n return StatusMessage(res);\r\n })\r\n .catch((err) => {\r\n return StatusMessage(err);\r\n });\r\n }\r\n\r\n // Mock ---------------------------------------------------------------------------------\r\n mock.onPost(\"api/Notes/PutModel\").reply(async ({ data }) => {\r\n var a = JSON.parse(data);\r\n const obj = await PutModel(a);\r\n document.getElementById(\"getNots\").click();\r\n return [200, obj];\r\n });\r\n\r\n mock.onPost(\"api/Notes\").reply(async ({ data }) => {\r\n const { customer } = JSON.parse(data);\r\n await PostModel(customer);\r\n customerTableMock.push(customer);\r\n document.getElementById(\"ReLoadTableId\").click();\r\n return [200, { customer: customer }];\r\n });\r\n\r\n mock.onPost(\"api/Notes/find\").reply(async (config) => {\r\n const mockUtils = new MockUtils();\r\n const { queryParams } = JSON.parse(config.data);\r\n\r\n var model = await GetModel(queryParams);\r\n customerTableMock = model?.notes ?? [];\r\n\r\n var list = [];\r\n for (\r\n var i = 1;\r\n i <= (queryParams.pageNumber - 1) * queryParams.pageSize;\r\n i++\r\n )\r\n list.push({});\r\n list.push(...customerTableMock);\r\n customerTableMock = list;\r\n\r\n queryParams.filter = {};\r\n const filterdCustomers = mockUtils.baseFilter(\r\n customerTableMock,\r\n queryParams\r\n );\r\n filterdCustomers.totalCount = model?.totalCount ?? 0;\r\n return [200, filterdCustomers];\r\n });\r\n\r\n mock.onPost(\"api/Notes/deleteCustomers\").reply(async (config) => {\r\n const { ids } = JSON.parse(config.data);\r\n ids.forEach((id) => {\r\n const index = customerTableMock.findIndex((el) => el.id === id);\r\n if (index > -1) {\r\n customerTableMock.splice(index, 1);\r\n }\r\n });\r\n return [200];\r\n });\r\n\r\n mock.onPost(\"api/Notes/updateStatusForCustomers\").reply(async (config) => {\r\n const { ids, status } = JSON.parse(config.data);\r\n customerTableMock.forEach((el) => {\r\n if (ids.findIndex((id) => id === el.id) > -1) {\r\n el.status = status;\r\n }\r\n });\r\n return [200];\r\n });\r\n\r\n mock.onGet(/api\\/Notes\\/\\d+/).reply(async (config) => {\r\n const id = config.url.match(/api\\/Notes\\/(\\d+)/)[1];\r\n //const customer = await GetModelId(id);\r\n const customer = customerTableMock.find((el) => el.id === +id);\r\n if (!customer) {\r\n return [400];\r\n }\r\n return [200, customer];\r\n });\r\n\r\n mock.onPut(/api\\/Notes\\/\\d+/).reply(async (config) => {\r\n const id = config.url.match(/api\\/Notes\\/(\\d+)/)[1];\r\n const Putcustomer = JSON.parse(config.data);\r\n const { customer } = Putcustomer;\r\n var putObj = await PutModel(Putcustomer);\r\n if (!putObj) {\r\n return [400];\r\n }\r\n const index = customerTableMock.findIndex((el) => el.id === +id);\r\n if (index === -1) {\r\n return [400];\r\n }\r\n customerTableMock[index] = { ...customer };\r\n document.getElementById(\"ReLoadTableId\").click();\r\n return [200];\r\n });\r\n\r\n mock.onDelete(/api\\/Notes\\/\\d+/).reply(async (config) => {\r\n const id = config.url.match(/api\\/Notes\\/(\\d+)/)[1];\r\n const index = customerTableMock.findIndex((el) => el.id === +id);\r\n if (index === -1) {\r\n return [400];\r\n }\r\n var deleteObj = await DeleteModel(id);\r\n if (!deleteObj) {\r\n return [400];\r\n }\r\n customerTableMock.splice(index, 1);\r\n return [200];\r\n });\r\n}\r\n\r\nfunction ChangeId(list) {\r\n for (var item in list) {\r\n list[item].id = list[item].Id;\r\n delete list[item].Id;\r\n }\r\n return list;\r\n}\r\n","import MockUtils from \"./mock.utils\";\r\nimport { Notification } from \"../../../modules/Notification\";\r\nimport low from \"lowdb\";\r\nimport LocalStorage from \"lowdb/adapters/LocalStorage\";\r\nconst adapter = new LocalStorage(\"db\");\r\nconst db = low(adapter);\r\nlet customerTableMock;\r\nexport default function mockManageServices(mock) {\r\n //Status Message Result\r\n function StatusMessage(res) {\r\n var status = res.status;\r\n var statusText = res.statusText;\r\n if (status === 200) {\r\n Notification(\"success\", \"success\");\r\n return true;\r\n } else if (status === 400) {\r\n Notification(\"error\", statusText);\r\n return false;\r\n }\r\n }\r\n\r\n async function GetDataService() {\r\n return await fetch(window.$apiurl + \"/manageservices/viewModel\", {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n return ChangeId(res[1]);\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n //Get Movable Units\r\n async function GetMovableUnitss() {\r\n return await fetch(window.$apiurl + \"/services\", {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n return ChangeId(res[1]);\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n //Get {id}\r\n async function GetMovableUnitsById(id) {\r\n return await fetch(window.$apiurl + \"/services/\" + id, {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n }).then(async (response) => {\r\n const data = await response.json();\r\n return data;\r\n });\r\n }\r\n //Post Movable Units\r\n async function PostMovableUnit(someData) {\r\n return fetch(window.$apiurl + \"/services\", {\r\n method: \"post\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(someData),\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n return res[1];\r\n })\r\n .catch((err) => {\r\n console.log(err);\r\n });\r\n }\r\n //Delete\r\n async function DeleteMovableUnit(id) {\r\n return await fetch(window.$apiurl + \"/services/\" + id, {\r\n method: \"delete\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n if (statusCode === 200) {\r\n return Promise.all([statusCode, \"\"]);\r\n }\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n if (res[0] === 200) {\r\n Notification(\"success\", \"success\");\r\n return true;\r\n } else if (res[0] === 400) {\r\n Notification(\"error\", res[1].Message);\r\n return false;\r\n }\r\n })\r\n .catch((err) => {\r\n Notification(\"error\", \"error request\");\r\n return false;\r\n });\r\n }\r\n //Put\r\n async function PutMovableUnit(someData, id) {\r\n someData.ServiceType = \"shipment\";\r\n return fetch(window.$apiurl + \"/services/\" + id, {\r\n method: \"put\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(someData),\r\n })\r\n .then(async (response) => {\r\n return response;\r\n })\r\n .then((res) => {\r\n return StatusMessage(res);\r\n })\r\n .catch((err) => {\r\n return StatusMessage(err);\r\n });\r\n }\r\n mock.onPost(\"api/ManageServices\").reply(async ({ data }) => {\r\n const { customer } = JSON.parse(data);\r\n const {\r\n Name = \"\",\r\n Description = \"\",\r\n IsActive = true,\r\n ServiceType = \"shipment\",\r\n DepartementId = null,\r\n } = customer;\r\n\r\n const id = generateUserId();\r\n const newCustomer = {\r\n Name,\r\n Description,\r\n ServiceType,\r\n IsActive,\r\n DepartementId\r\n };\r\n var postMovableUnit = await PostMovableUnit(newCustomer);\r\n customerTableMock.push(newCustomer);\r\n return [200, { customer: newCustomer }];\r\n });\r\n\r\n mock.onPost(\"api/ManageServices/find\").reply(async (config) => {\r\n const mockUtils = new MockUtils();\r\n const { queryParams } = JSON.parse(config.data);\r\n customerTableMock = await GetMovableUnitss();\r\n if (\r\n queryParams.filter.Name !== undefined &&\r\n queryParams.filter.Name !== null &&\r\n queryParams.filter.Name !== \"\"\r\n ) {\r\n customerTableMock = customerTableMock.filter(\r\n (word) =>\r\n String(word.id).includes(String(queryParams.filter.Name)) ||\r\n String(word.Name).includes(String(queryParams.filter.Name)) ||\r\n String(word.Description).includes(String(queryParams.filter.Name))\r\n );\r\n }\r\n customerTableMock = customerTableMock.filter(\r\n (word) => word.IsActive === queryParams.filter.IsActive\r\n );\r\n delete queryParams.filter.ReLoadTable;\r\n delete queryParams.filter.Name;\r\n delete queryParams.filter.IsActive;\r\n const filterdCustomers = mockUtils.baseFilter(\r\n customerTableMock,\r\n queryParams\r\n );\r\n return [200, filterdCustomers];\r\n });\r\n\r\n mock.onPost(\"api/ManageServices/deleteCustomers\").reply((config) => {\r\n const { ids } = JSON.parse(config.data);\r\n ids.forEach((id) => {\r\n const index = customerTableMock.findIndex((el) => el.id === id);\r\n if (index > -1) {\r\n customerTableMock.splice(index, 1);\r\n }\r\n });\r\n return [200];\r\n });\r\n\r\n mock.onPost(\"api/ManageServices/updateStatusForCustomers\").reply((config) => {\r\n const { ids, status } = JSON.parse(config.data);\r\n customerTableMock.forEach((el) => {\r\n if (ids.findIndex((id) => id === el.id) > -1) {\r\n el.status = status;\r\n }\r\n });\r\n return [200];\r\n });\r\n mock.onGet(\"api/ManageServices/GetData\").reply(async (config) => {\r\n var resultById = await GetDataService();\r\n return [200, resultById];\r\n });\r\n mock.onGet(/api\\/ManageServices\\/\\d+/).reply(async (config) => {\r\n const id = config.url.match(/api\\/ManageServices\\/(\\d+)/)[1];\r\n var resultById = await GetMovableUnitsById(id);\r\n if (!resultById) {\r\n return [400];\r\n }\r\n return [200, resultById];\r\n });\r\n\r\n mock.onPut(/api\\/ManageServices\\/\\d+/).reply(async (config) => {\r\n const id = config.url.match(/api\\/ManageServices\\/(\\d+)/)[1];\r\n const { customer } = JSON.parse(config.data);\r\n var putObj = await PutMovableUnit(customer, id);\r\n if (!putObj) {\r\n return false;\r\n }\r\n const index = customerTableMock.findIndex((el) => el.id === +id);\r\n if (index === -1) {\r\n return [400];\r\n }\r\n customerTableMock[index] = { ...customer };\r\n return [200];\r\n });\r\n\r\n mock.onDelete(/api\\/ManageServices\\/\\d+/).reply(async (config) => {\r\n const id = config.url.match(/api\\/ManageServices\\/(\\d+)/)[1];\r\n const index = customerTableMock.findIndex((el) => el.id === +id);\r\n var deleteObj = await DeleteMovableUnit(id);\r\n if (!deleteObj) {\r\n return [400];\r\n }\r\n customerTableMock.splice(index, 1);\r\n return [200];\r\n });\r\n}\r\n\r\nfunction generateUserId() {\r\n const ids = customerTableMock.map((el) => el.id);\r\n const maxId = Math.max(...ids);\r\n return maxId + 1;\r\n}\r\n\r\nfunction ChangeId(list) {\r\n for (var item in list) {\r\n list[item].id = list[item].Id;\r\n delete list[item].Id;\r\n }\r\n return list;\r\n}\r\n","import MockUtils from \"./mock.utils\";\r\nimport { Notification } from \"../../../modules/Notification\";\r\nimport low from \"lowdb\";\r\nimport LocalStorage from \"lowdb/adapters/LocalStorage\";\r\nconst adapter = new LocalStorage(\"db\");\r\nconst db = low(adapter);\r\nlet customerTableMock;\r\nexport default function mockManageTrackingDevices(mock) {\r\n //Status Message Result\r\n function StatusMessage(res) {\r\n var status = res.status;\r\n var statusText = res.statusText;\r\n if (status === 200) {\r\n Notification(\"success\", \"success\");\r\n return true;\r\n } else if (status === 400) {\r\n Notification(\"error\", statusText);\r\n return false;\r\n }\r\n }\r\n\r\n async function GetDataService() {\r\n return await fetch(window.$apiurl + \"/manageservices/viewModel\", {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n return ChangeId(res[1]);\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n //Get Movable Units\r\n async function GetMovableUnitss() {\r\n return await fetch(window.$apiurl + \"/devices\", {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n return ChangeId(res[1]);\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n //Get {id}\r\n async function GetMovableUnitsById(id) {\r\n return await fetch(window.$apiurl + \"/devices/\" + id, {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n }).then(async (response) => {\r\n const data = await response.json();\r\n return data.device;\r\n });\r\n }\r\n //Post Movable Units\r\n async function PostMovableUnit(someData) {\r\n return fetch(window.$apiurl + \"/devices\", {\r\n method: \"post\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(someData),\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n return Promise.all([statusCode]);\r\n })\r\n .then((res) => {\r\n return res[0];\r\n })\r\n .catch((err) => {\r\n console.log(err);\r\n });\r\n }\r\n //Delete\r\n async function DeleteMovableUnit(id) {\r\n return await fetch(window.$apiurl + \"/devices/\" + id, {\r\n method: \"delete\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n if (statusCode === 200) {\r\n return Promise.all([statusCode, \"\"]);\r\n }\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n if (res[0] === 200) {\r\n Notification(\"success\", \"success\");\r\n return true;\r\n } else if (res[0] === 400) {\r\n Notification(\"error\", res[1].Message);\r\n return false;\r\n }\r\n })\r\n .catch((err) => {\r\n Notification(\"error\", \"error request\");\r\n return false;\r\n });\r\n }\r\n //Put\r\n async function PutMovableUnit(someData, id) {\r\n someData.ServiceType = \"shipment\";\r\n return fetch(window.$apiurl + \"/devices/\" + id, {\r\n method: \"put\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(someData),\r\n })\r\n .then(async (response) => {\r\n return response;\r\n })\r\n .then((res) => {\r\n return StatusMessage(res);\r\n })\r\n .catch((err) => {\r\n return StatusMessage(err);\r\n });\r\n }\r\n mock.onPost(\"api/ManageTrackingDevices\").reply(async ({ data }) => {\r\n const { customer } = JSON.parse(data);\r\n const { Name = \"\", TrackiId = \"\", Emei = \"\" } = customer;\r\n\r\n const id = generateUserId();\r\n const newCustomer = {\r\n Name,\r\n TrackiId,\r\n Emei,\r\n };\r\n var postMovableUnit = await PostMovableUnit(newCustomer);\r\n return [200, { customer: newCustomer }];\r\n });\r\n\r\n mock.onPost(\"api/ManageTrackingDevices/find\").reply(async (config) => {\r\n const mockUtils = new MockUtils();\r\n const { queryParams } = JSON.parse(config.data);\r\n customerTableMock = await GetMovableUnitss();\r\n if (\r\n queryParams.filter.Name !== undefined &&\r\n queryParams.filter.Name !== null &&\r\n queryParams.filter.Name !== \"\"\r\n ) {\r\n customerTableMock = customerTableMock.filter(\r\n (word) =>\r\n String(word.id).trim().toLocaleLowerCase().includes(String(queryParams.filter.Name).trim().toLocaleLowerCase()) ||\r\n String(word.Name).trim().toLocaleLowerCase().includes(String(queryParams.filter.Name).trim().toLocaleLowerCase()) ||\r\n String(word.TrackiId).trim().toLocaleLowerCase().includes(String(queryParams.filter.Name).trim().toLocaleLowerCase()) ||\r\n String(word.Emei.trim().toLocaleLowerCase()).includes(String(queryParams.filter.Name).trim().toLocaleLowerCase())\r\n );\r\n }\r\n delete queryParams.filter.ReLoadTable;\r\n delete queryParams.filter.Name;\r\n const filterdCustomers = mockUtils.baseFilter(\r\n customerTableMock,\r\n queryParams\r\n );\r\n return [200, filterdCustomers];\r\n });\r\n\r\n mock.onPost(\"api/ManageTrackingDevices/deleteCustomers\").reply((config) => {\r\n const { ids } = JSON.parse(config.data);\r\n ids.forEach((id) => {\r\n const index = customerTableMock.findIndex((el) => el.id === id);\r\n if (index > -1) {\r\n customerTableMock.splice(index, 1);\r\n }\r\n });\r\n return [200];\r\n });\r\n\r\n mock.onPost(\"api/ManageTrackingDevices/updateStatusForCustomers\").reply((config) => {\r\n const { ids, status } = JSON.parse(config.data);\r\n customerTableMock.forEach((el) => {\r\n if (ids.findIndex((id) => id === el.id) > -1) {\r\n el.status = status;\r\n }\r\n });\r\n return [200];\r\n });\r\n mock.onGet(\"api/ManageTrackingDevices/GetData\").reply(async (config) => {\r\n var resultById = await GetDataService();\r\n return [200, resultById];\r\n });\r\n mock.onGet(/api\\/ManageTrackingDevices\\/\\d+/).reply(async (config) => {\r\n const id = config.url.match(/api\\/ManageTrackingDevices\\/(\\d+)/)[1];\r\n var resultById = await GetMovableUnitsById(id);\r\n if (!resultById) {\r\n return [400];\r\n }\r\n return [200, resultById];\r\n });\r\n\r\n mock.onPut(/api\\/ManageTrackingDevices\\/\\d+/).reply(async (config) => {\r\n const id = config.url.match(/api\\/ManageTrackingDevices\\/(\\d+)/)[1];\r\n const { customer } = JSON.parse(config.data);\r\n var putObj = await PutMovableUnit(customer, id);\r\n if (!putObj) {\r\n return false;\r\n }\r\n const index = customerTableMock.findIndex((el) => el.id === +id);\r\n if (index === -1) {\r\n return [400];\r\n }\r\n customerTableMock[index] = { ...customer };\r\n return [200];\r\n });\r\n\r\n mock.onDelete(/api\\/ManageTrackingDevices\\/\\d+/).reply(async (config) => {\r\n const id = config.url.match(/api\\/ManageTrackingDevices\\/(\\d+)/)[1];\r\n const index = customerTableMock.findIndex((el) => el.id === +id);\r\n var deleteObj = await DeleteMovableUnit(id);\r\n if (!deleteObj) {\r\n return [400];\r\n }\r\n customerTableMock.splice(index, 1);\r\n return [200];\r\n });\r\n}\r\n\r\nfunction generateUserId() {\r\n const ids = customerTableMock.map((el) => el.id);\r\n const maxId = Math.max(...ids);\r\n return maxId + 1;\r\n}\r\n\r\nfunction ChangeId(list) {\r\n for (var item in list) {\r\n list[item].id = list[item].Id;\r\n delete list[item].Id;\r\n }\r\n return list;\r\n}\r\n","import MockUtils from \"./mock.utils\";\r\nimport { Notification } from \"../../../modules/Notification\";\r\nimport low from \"lowdb\";\r\nimport LocalStorage from \"lowdb/adapters/LocalStorage\";\r\nconst adapter = new LocalStorage(\"db\");\r\nconst db = low(adapter);\r\nlet customerTableMock;\r\nexport default function mockManageModes(mock) {\r\n //Status Message Result\r\n function StatusMessage(res) {\r\n var status = res.status;\r\n var statusText = res.statusText;\r\n if (status === 200) {\r\n Notification(\"success\", \"success\");\r\n return true;\r\n } else if (status === 400) {\r\n Notification(\"error\", statusText);\r\n return false;\r\n }\r\n }\r\n //Get Movable Units\r\n async function GetMovableUnitss() {\r\n return await fetch(window.$apiurl + \"/modes\", {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n return ChangeId(res[1]);\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n //Get {id}\r\n async function GetMovableUnitsById(id) {\r\n return await fetch(window.$apiurl + \"/modes/\" + id, {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n }).then(async (response) => {\r\n const data = await response.json();\r\n return data;\r\n });\r\n }\r\n //Post Movable Units\r\n async function PostMovableUnit(someData) {\r\n return fetch(window.$apiurl + \"/modes\", {\r\n method: \"post\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(someData),\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n return res[1];\r\n })\r\n .catch((err) => {\r\n console.log(err);\r\n });\r\n }\r\n //Delete\r\n async function DeleteMovableUnit(id) {\r\n return await fetch(window.$apiurl + \"/modes/\" + id, {\r\n method: \"delete\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n if (statusCode === 200) {\r\n return Promise.all([statusCode, \"\"]);\r\n }\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n if (res[0] === 200) {\r\n Notification(\"success\", \"success\");\r\n return true;\r\n } else if (res[0] === 400) {\r\n Notification(\"error\", res[1].Message);\r\n return false;\r\n }\r\n })\r\n .catch((err) => {\r\n Notification(\"error\", \"error request\");\r\n return false;\r\n });\r\n }\r\n //Put\r\n async function PutMovableUnit(someData, id) {\r\n return fetch(window.$apiurl + \"/modes/\" + id, {\r\n method: \"put\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(someData),\r\n })\r\n .then(async (response) => {\r\n return response;\r\n })\r\n .then((res) => {\r\n return StatusMessage(res);\r\n })\r\n .catch((err) => {\r\n return StatusMessage(err);\r\n });\r\n }\r\n mock.onPost(\"api/ManageModes\").reply(async ({ data }) => {\r\n const { customer } = JSON.parse(data);\r\n const {\r\n Name = \"\",\r\n Description = \"\",\r\n ServiceId = null,\r\n IsActive = true,\r\n } = customer;\r\n\r\n const Id = generateUserId();\r\n const newCustomer = {\r\n Id,\r\n Name,\r\n Description,\r\n ServiceId,\r\n IsActive,\r\n };\r\n var postMovableUnit = await PostMovableUnit(newCustomer);\r\n customerTableMock.push(newCustomer);\r\n return [200, { customer: newCustomer }];\r\n });\r\n\r\n mock.onPost(\"api/ManageModes/find\").reply(async (config) => {\r\n const mockUtils = new MockUtils();\r\n const { queryParams } = JSON.parse(config.data);\r\n customerTableMock = await GetMovableUnitss();\r\n delete queryParams.filter.ReLoadTable;\r\n\r\n const filterdCustomers = mockUtils.baseFilter(\r\n customerTableMock,\r\n queryParams\r\n );\r\n return [200, filterdCustomers];\r\n });\r\n\r\n mock.onPost(\"api/ManageModes/deleteCustomers\").reply((config) => {\r\n const { ids } = JSON.parse(config.data);\r\n ids.forEach((id) => {\r\n const index = customerTableMock.findIndex((el) => el.id === id);\r\n if (index > -1) {\r\n customerTableMock.splice(index, 1);\r\n }\r\n });\r\n return [200];\r\n });\r\n\r\n mock.onPost(\"api/ManageModes/updateStatusForCustomers\").reply((config) => {\r\n const { ids, status } = JSON.parse(config.data);\r\n customerTableMock.forEach((el) => {\r\n if (ids.findIndex((id) => id === el.id) > -1) {\r\n el.status = status;\r\n }\r\n });\r\n return [200];\r\n });\r\n\r\n mock.onGet(/api\\/ManageModes\\/\\d+/).reply(async (config) => {\r\n const id = config.url.match(/api\\/ManageModes\\/(\\d+)/)[1];\r\n var resultById = await GetMovableUnitsById(id);\r\n if (!resultById) {\r\n return [400];\r\n }\r\n return [200, resultById];\r\n });\r\n\r\n mock.onPut(/api\\/ManageModes\\/\\d+/).reply(async (config) => {\r\n const id = config.url.match(/api\\/ManageModes\\/(\\d+)/)[1];\r\n const { customer } = JSON.parse(config.data);\r\n var putObj = await PutMovableUnit(customer, id);\r\n if (!putObj) {\r\n return false;\r\n }\r\n const index = customerTableMock.findIndex((el) => el.id === +id);\r\n if (index === -1) {\r\n return [400];\r\n }\r\n customerTableMock[index] = { ...customer };\r\n return [200];\r\n });\r\n\r\n mock.onDelete(/api\\/ManageModes\\/\\d+/).reply(async (config) => {\r\n const id = config.url.match(/api\\/ManageModes\\/(\\d+)/)[1];\r\n const index = customerTableMock.findIndex((el) => el.id === +id);\r\n var deleteObj = await DeleteMovableUnit(id);\r\n if (!deleteObj) {\r\n return [400];\r\n }\r\n customerTableMock.splice(index, 1);\r\n return [200];\r\n });\r\n}\r\n\r\nfunction generateUserId() {\r\n const ids = customerTableMock.map((el) => el.id);\r\n const maxId = Math.max(...ids);\r\n return maxId + 1;\r\n}\r\n\r\nfunction ChangeId(list) {\r\n for (var item in list) {\r\n list[item].id = list[item].Id;\r\n delete list[item].Id;\r\n }\r\n return list;\r\n}\r\n","import MockUtils from \"./mock.utils\";\r\nimport { Notification } from \"../../../modules/Notification\";\r\nimport low from \"lowdb\";\r\nimport LocalStorage from \"lowdb/adapters/LocalStorage\";\r\nconst adapter = new LocalStorage(\"db\");\r\nconst db = low(adapter);\r\nlet customerTableMock;\r\nexport default function mockManageModes(mock) {\r\n //Status Message Result\r\n function StatusMessage(res) {\r\n var status = res.status;\r\n var statusText = res.statusText;\r\n if (status === 200) {\r\n Notification(\"success\", \"success\");\r\n return true;\r\n } else if (status === 400) {\r\n Notification(\"error\", statusText);\r\n return false;\r\n }\r\n }\r\n //Get Movable Units\r\n async function GetMovableUnitss() {\r\n return await fetch(window.$apiurl + \"/equipmentTypes\", {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n return ChangeId(res[1]);\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n //Get {id}\r\n async function GetMovableUnitsById(id) {\r\n return await fetch(window.$apiurl + \"/equipmentTypes/\" + id, {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n }).then(async (response) => {\r\n const data = await response.json();\r\n return data;\r\n });\r\n }\r\n //Post Movable Units\r\n async function PostMovableUnit(someData) {\r\n return fetch(window.$apiurl + \"/equipmentTypes\", {\r\n method: \"post\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(someData),\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n return res[1];\r\n })\r\n .catch((err) => {\r\n console.log(err);\r\n });\r\n }\r\n //Delete\r\n async function DeleteMovableUnit(id) {\r\n return await fetch(window.$apiurl + \"/equipmentTypes/\" + id, {\r\n method: \"delete\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n if (statusCode === 200) {\r\n return Promise.all([statusCode, \"\"]);\r\n }\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n if (res[0] === 200) {\r\n Notification(\"success\", \"success\");\r\n return true;\r\n } else if (res[0] === 400) {\r\n Notification(\"error\", res[1].Message);\r\n return false;\r\n }\r\n })\r\n .catch((err) => {\r\n Notification(\"error\", \"error request\");\r\n return false;\r\n });\r\n }\r\n //Put\r\n async function PutMovableUnit(someData, id) {\r\n return fetch(window.$apiurl + \"/equipmentTypes/\" + id, {\r\n method: \"put\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(someData),\r\n })\r\n .then(async (response) => {\r\n return response;\r\n })\r\n .then((res) => {\r\n return StatusMessage(res);\r\n })\r\n .catch((err) => {\r\n return StatusMessage(err);\r\n });\r\n }\r\n mock.onPost(\"api/ManageEquipmentsType\").reply(async ({ data }) => {\r\n const { customer } = JSON.parse(data);\r\n const { Name = \"\", Description = \"\", ServiceLevelId = \"\" } = customer;\r\n\r\n const Id = generateUserId();\r\n const newCustomer = {\r\n Id,\r\n Name,\r\n Description,\r\n ServiceLevelId,\r\n };\r\n var postMovableUnit = await PostMovableUnit(newCustomer);\r\n customerTableMock.push(newCustomer);\r\n return [200, { customer: newCustomer }];\r\n });\r\n\r\n mock.onPost(\"api/ManageEquipmentsType/find\").reply(async (config) => {\r\n const mockUtils = new MockUtils();\r\n const { queryParams } = JSON.parse(config.data);\r\n customerTableMock = await GetMovableUnitss();\r\n if (\r\n queryParams.filter.Name !== \"\" &&\r\n queryParams.filter.Name !== undefined\r\n ) {\r\n const filterSearchText = queryParams.filter.Name.toLowerCase();\r\n customerTableMock = customerTableMock.filter(\r\n (word) =>\r\n String(word.Name.toLowerCase()).includes(String(filterSearchText)) ||\r\n String(word.id).includes(String(queryParams.filter.Name)) ||\r\n String(word.Description).includes(String(queryParams.filter.Name)) ||\r\n String(word.ServiceLevel.toLowerCase()).includes(\r\n String(filterSearchText)\r\n ) ||\r\n String(word.Mode.toLowerCase()).includes(String(filterSearchText))\r\n );\r\n }\r\n delete queryParams.filter.Name;\r\n delete queryParams.filter.ReLoadTable;\r\n const filterdCustomers = mockUtils.baseFilter(\r\n customerTableMock,\r\n queryParams\r\n );\r\n return [200, filterdCustomers];\r\n });\r\n\r\n mock.onPost(\"api/ManageEquipmentsType/deleteCustomers\").reply((config) => {\r\n const { ids } = JSON.parse(config.data);\r\n ids.forEach((id) => {\r\n const index = customerTableMock.findIndex((el) => el.id === id);\r\n if (index > -1) {\r\n customerTableMock.splice(index, 1);\r\n }\r\n });\r\n return [200];\r\n });\r\n\r\n mock\r\n .onPost(\"api/ManageEquipmentsType/updateStatusForCustomers\")\r\n .reply((config) => {\r\n const { ids, status } = JSON.parse(config.data);\r\n customerTableMock.forEach((el) => {\r\n if (ids.findIndex((id) => id === el.id) > -1) {\r\n el.status = status;\r\n }\r\n });\r\n return [200];\r\n });\r\n\r\n mock.onGet(/api\\/ManageEquipmentsType\\/\\d+/).reply(async (config) => {\r\n const id = config.url.match(/api\\/ManageEquipmentsType\\/(\\d+)/)[1];\r\n var resultById = await GetMovableUnitsById(id);\r\n if (!resultById) {\r\n return [400];\r\n }\r\n return [200, resultById];\r\n });\r\n\r\n mock.onPut(/api\\/ManageEquipmentsType\\/\\d+/).reply(async (config) => {\r\n const id = config.url.match(/api\\/ManageEquipmentsType\\/(\\d+)/)[1];\r\n const { customer } = JSON.parse(config.data);\r\n var putObj = await PutMovableUnit(customer, id);\r\n if (!putObj) {\r\n return false;\r\n }\r\n const index = customerTableMock.findIndex((el) => el.id === +id);\r\n if (index === -1) {\r\n return [400];\r\n }\r\n customerTableMock[index] = { ...customer };\r\n return [200];\r\n });\r\n\r\n mock.onDelete(/api\\/ManageEquipmentsType\\/\\d+/).reply(async (config) => {\r\n const id = config.url.match(/api\\/ManageEquipmentsType\\/(\\d+)/)[1];\r\n const index = customerTableMock.findIndex((el) => el.id === +id);\r\n var deleteObj = await DeleteMovableUnit(id);\r\n if (!deleteObj) {\r\n return [400];\r\n }\r\n customerTableMock.splice(index, 1);\r\n return [200];\r\n });\r\n}\r\n\r\nfunction generateUserId() {\r\n const ids = customerTableMock.map((el) => el.id);\r\n const maxId = Math.max(...ids);\r\n return maxId + 1;\r\n}\r\n\r\nfunction ChangeId(list) {\r\n for (var item in list) {\r\n list[item].id = list[item].Id;\r\n delete list[item].Id;\r\n }\r\n return list;\r\n}\r\n","import MockUtils from \"./mock.utils\";\r\nimport { Notification } from \"../../../modules/Notification\";\r\nimport low from \"lowdb\";\r\nimport LocalStorage from \"lowdb/adapters/LocalStorage\";\r\nconst adapter = new LocalStorage(\"db\");\r\nconst db = low(adapter);\r\nlet customerTableMock;\r\nexport default function mockManageModes(mock) {\r\n //Status Message Result\r\n function StatusMessage(res) {\r\n var status = res.status;\r\n var statusText = res.statusText;\r\n if (status === 200) {\r\n Notification(\"success\", \"success\");\r\n return true;\r\n } else if (status === 400) {\r\n Notification(\"error\", statusText);\r\n return false;\r\n }\r\n }\r\n //Get Movable Units\r\n async function GetMovableUnitss() {\r\n return await fetch(window.$apiurl + \"/serviceLevels\", {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n return ChangeId(res[1]);\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n //Get {id}\r\n async function GetMovableUnitsById(id) {\r\n return await fetch(window.$apiurl + \"/serviceLevels/\" + id, {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n }).then(async (response) => {\r\n const data = await response.json();\r\n return data;\r\n });\r\n }\r\n //Post Movable Units\r\n async function PostMovableUnit(someData) {\r\n return fetch(window.$apiurl + \"/serviceLevels\", {\r\n method: \"post\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(someData),\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n return res[1];\r\n })\r\n .catch((err) => {\r\n console.log(err);\r\n });\r\n }\r\n //Delete\r\n async function DeleteMovableUnit(id) {\r\n return await fetch(window.$apiurl + \"/serviceLevels/\" + id, {\r\n method: \"delete\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n if (statusCode === 200) {\r\n return Promise.all([statusCode, \"\"]);\r\n }\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n if (res[0] === 200) {\r\n Notification(\"success\", \"success\");\r\n return true;\r\n } else if (res[0] === 400) {\r\n Notification(\"error\", res[1].Message);\r\n return false;\r\n }\r\n })\r\n .catch((err) => {\r\n Notification(\"error\", \"error request\");\r\n return false;\r\n });\r\n }\r\n //Put\r\n async function PutMovableUnit(someData, id) {\r\n return fetch(window.$apiurl + \"/serviceLevels/\" + id, {\r\n method: \"put\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(someData),\r\n })\r\n .then(async (response) => {\r\n return response;\r\n })\r\n .then((res) => {\r\n return StatusMessage(res);\r\n })\r\n .catch((err) => {\r\n return StatusMessage(err);\r\n });\r\n }\r\n mock.onPost(\"api/ManageServiceLevels\").reply(async ({ data }) => {\r\n const { customer } = JSON.parse(data);\r\n const { Name = \"\", Description = \"\", ModeId = null } = customer;\r\n\r\n const Id = generateUserId();\r\n const newCustomer = {\r\n Id,\r\n Name,\r\n Description,\r\n ModeId,\r\n };\r\n var postMovableUnit = await PostMovableUnit(newCustomer);\r\n customerTableMock.push(newCustomer);\r\n return [200, { customer: newCustomer }];\r\n });\r\n\r\n mock.onPost(\"api/ManageServiceLevels/find\").reply(async (config) => {\r\n const mockUtils = new MockUtils();\r\n const { queryParams } = JSON.parse(config.data);\r\n customerTableMock = await GetMovableUnitss();\r\n if (\r\n queryParams.filter.Name !== \"\" &&\r\n queryParams.filter.Name !== undefined\r\n ) {\r\n const filterSearchText = queryParams.filter.Name.toLowerCase();\r\n customerTableMock = customerTableMock.filter(\r\n (word) =>\r\n String(word.Name.toLowerCase()).includes(String(filterSearchText)) ||\r\n String(word.id).includes(String(queryParams.filter.Name)) ||\r\n String(word.Description).includes(String(queryParams.filter.Name)) ||\r\n String(word.Service.toLowerCase()).includes(\r\n String(filterSearchText)\r\n ) ||\r\n String(word.Mode.toLowerCase()).includes(String(filterSearchText))\r\n );\r\n }\r\n delete queryParams.filter.Name;\r\n delete queryParams.filter.ReLoadTable;\r\n\r\n const filterdCustomers = mockUtils.baseFilter(\r\n customerTableMock,\r\n queryParams\r\n );\r\n return [200, filterdCustomers];\r\n });\r\n\r\n mock.onPost(\"api/ManageServiceLevels/deleteCustomers\").reply((config) => {\r\n const { ids } = JSON.parse(config.data);\r\n ids.forEach((id) => {\r\n const index = customerTableMock.findIndex((el) => el.id === id);\r\n if (index > -1) {\r\n customerTableMock.splice(index, 1);\r\n }\r\n });\r\n return [200];\r\n });\r\n\r\n mock\r\n .onPost(\"api/ManageServiceLevels/updateStatusForCustomers\")\r\n .reply((config) => {\r\n const { ids, status } = JSON.parse(config.data);\r\n customerTableMock.forEach((el) => {\r\n if (ids.findIndex((id) => id === el.id) > -1) {\r\n el.status = status;\r\n }\r\n });\r\n return [200];\r\n });\r\n\r\n mock.onGet(/api\\/ManageServiceLevels\\/\\d+/).reply(async (config) => {\r\n const id = config.url.match(/api\\/ManageServiceLevels\\/(\\d+)/)[1];\r\n var resultById = await GetMovableUnitsById(id);\r\n if (!resultById) {\r\n return [400];\r\n }\r\n return [200, resultById];\r\n });\r\n\r\n mock.onPut(/api\\/ManageServiceLevels\\/\\d+/).reply(async (config) => {\r\n const id = config.url.match(/api\\/ManageServiceLevels\\/(\\d+)/)[1];\r\n const { customer } = JSON.parse(config.data);\r\n var putObj = await PutMovableUnit(customer, id);\r\n if (!putObj) {\r\n return false;\r\n }\r\n const index = customerTableMock.findIndex((el) => el.id === +id);\r\n if (index === -1) {\r\n return [400];\r\n }\r\n customerTableMock[index] = { ...customer };\r\n return [200];\r\n });\r\n\r\n mock.onDelete(/api\\/ManageServiceLevels\\/\\d+/).reply(async (config) => {\r\n const id = config.url.match(/api\\/ManageServiceLevels\\/(\\d+)/)[1];\r\n const index = customerTableMock.findIndex((el) => el.id === +id);\r\n var deleteObj = await DeleteMovableUnit(id);\r\n if (!deleteObj) {\r\n return [400];\r\n }\r\n customerTableMock.splice(index, 1);\r\n return [200];\r\n });\r\n}\r\n\r\nfunction generateUserId() {\r\n const ids = customerTableMock.map((el) => el.id);\r\n const maxId = Math.max(...ids);\r\n return maxId + 1;\r\n}\r\n\r\nfunction ChangeId(list) {\r\n for (var item in list) {\r\n list[item].id = list[item].Id;\r\n delete list[item].Id;\r\n }\r\n return list;\r\n}\r\n","export default [\r\n {\r\n id: 1,\r\n firstName: \"Sonni\",\r\n lastName: \"Gabotti\",\r\n email: \"sgabotti0@wsj.com\",\r\n userName: \"sgabotti0\",\r\n gender: \"Female\",\r\n status: 0,\r\n dateOfBbirth: \"10/14/1950\",\r\n ipAddress: \"251.237.126.210\",\r\n type: 1,\r\n _userId: 1,\r\n _createdDate: \"09/07/2016\",\r\n _updatedDate: \"05/31/2013\"\r\n },\r\n {\r\n id: 2,\r\n firstName: \"Abie\",\r\n lastName: \"Cowperthwaite\",\r\n email: \"acowperthwaite1@storify.com\",\r\n userName: \"acowperthwaite1\",\r\n gender: \"Male\",\r\n status: 1,\r\n dateOfBbirth: \"12/31/1998\",\r\n ipAddress: \"239.176.5.218\",\r\n type: 1,\r\n _userId: 2,\r\n _createdDate: \"03/18/2014\",\r\n _updatedDate: \"08/17/2016\"\r\n },\r\n {\r\n id: 3,\r\n firstName: \"Melody\",\r\n lastName: \"Stodd\",\r\n email: \"mstodd2@twitpic.com\",\r\n userName: \"mstodd2\",\r\n gender: \"Female\",\r\n status: 0,\r\n dateOfBbirth: \"7/3/1957\",\r\n ipAddress: \"14.80.25.15\",\r\n type: 1,\r\n _userId: 1,\r\n _createdDate: \"07/03/2015\",\r\n _updatedDate: \"01/28/2015\"\r\n },\r\n {\r\n id: 4,\r\n firstName: \"Naomi\",\r\n lastName: \"Galbreth\",\r\n email: \"ngalbreth3@springer.com\",\r\n userName: \"ngalbreth3\",\r\n gender: \"Female\",\r\n status: 2,\r\n dateOfBbirth: \"12/30/1976\",\r\n ipAddress: \"239.198.18.122\",\r\n type: 0,\r\n _userId: 2,\r\n _createdDate: \"06/22/2013\",\r\n _updatedDate: \"01/31/2011\"\r\n },\r\n {\r\n id: 5,\r\n firstName: \"Ashley\",\r\n lastName: \"Jandl\",\r\n email: \"ajandl4@mapy.cz\",\r\n userName: \"ajandl4\",\r\n gender: \"Female\",\r\n status: 1,\r\n dateOfBbirth: \"11/23/1996\",\r\n ipAddress: \"11.19.64.48\",\r\n type: 1,\r\n _userId: 1,\r\n _createdDate: \"01/30/2018\",\r\n _updatedDate: \"05/22/2014\"\r\n },\r\n {\r\n id: 6,\r\n firstName: \"Mildrid\",\r\n lastName: \"Duplan\",\r\n email: \"mduplan5@msn.com\",\r\n userName: \"mduplan5\",\r\n gender: \"Female\",\r\n status: 1,\r\n dateOfBbirth: \"4/21/1954\",\r\n ipAddress: \"104.18.128.93\",\r\n type: 1,\r\n _userId: 1,\r\n _createdDate: \"03/27/2011\",\r\n _updatedDate: \"09/02/2015\"\r\n },\r\n {\r\n id: 7,\r\n firstName: \"Dall\",\r\n lastName: \"Stow\",\r\n email: \"dstow6@vistaprint.com\",\r\n userName: \"dstow6\",\r\n gender: \"Male\",\r\n status: 2,\r\n dateOfBbirth: \"4/14/1998\",\r\n ipAddress: \"168.199.143.20\",\r\n type: 1,\r\n _userId: 1,\r\n _createdDate: \"09/05/2011\",\r\n _updatedDate: \"06/21/2012\"\r\n },\r\n {\r\n id: 8,\r\n firstName: \"Burton\",\r\n lastName: \"Dering\",\r\n email: \"bdering7@europa.eu\",\r\n userName: \"bdering7\",\r\n gender: \"Male\",\r\n status: 1,\r\n dateOfBbirth: \"8/15/1963\",\r\n ipAddress: \"204.7.174.42\",\r\n type: 0,\r\n _userId: 1,\r\n _createdDate: \"09/09/2017\",\r\n _updatedDate: \"06/27/2011\"\r\n },\r\n {\r\n id: 9,\r\n firstName: \"Wolf\",\r\n lastName: \"Blackaller\",\r\n email: \"wblackaller8@biblegateway.com\",\r\n userName: \"wblackaller8\",\r\n gender: \"Male\",\r\n status: 0,\r\n dateOfBbirth: \"5/20/1997\",\r\n ipAddress: \"12.229.194.195\",\r\n type: 0,\r\n _userId: 1,\r\n _createdDate: \"07/16/2011\",\r\n _updatedDate: \"05/24/2014\"\r\n },\r\n {\r\n id: 10,\r\n firstName: \"Adham\",\r\n lastName: \"Hurtic\",\r\n email: \"ahurtic9@friendfeed.com\",\r\n userName: \"ahurtic9\",\r\n gender: \"Male\",\r\n status: 1,\r\n dateOfBbirth: \"3/15/1971\",\r\n ipAddress: \"236.147.173.25\",\r\n type: 0,\r\n _userId: 2,\r\n _createdDate: \"03/25/2011\",\r\n _updatedDate: \"12/13/2015\"\r\n },\r\n {\r\n id: 11,\r\n firstName: \"Carlina\",\r\n lastName: \"Scudders\",\r\n email: \"cscuddersa@shareasale.com\",\r\n userName: \"cscuddersa\",\r\n gender: \"Female\",\r\n status: 1,\r\n dateOfBbirth: \"2/18/1970\",\r\n ipAddress: \"189.61.76.155\",\r\n type: 0,\r\n _userId: 1,\r\n _createdDate: \"11/01/2015\",\r\n _updatedDate: \"02/16/2013\"\r\n },\r\n {\r\n id: 12,\r\n firstName: \"Roderich\",\r\n lastName: \"Landsberg\",\r\n email: \"rlandsbergb@deliciousdays.com\",\r\n userName: \"rlandsbergb\",\r\n gender: \"Male\",\r\n status: 0,\r\n dateOfBbirth: \"12/7/1963\",\r\n ipAddress: \"75.200.18.136\",\r\n type: 0,\r\n _userId: 2,\r\n _createdDate: \"12/12/2017\",\r\n _updatedDate: \"02/22/2013\"\r\n },\r\n {\r\n id: 13,\r\n firstName: \"Mychal\",\r\n lastName: \"Tremblett\",\r\n email: \"mtremblettc@printfriendly.com\",\r\n userName: \"mtremblettc\",\r\n gender: \"Male\",\r\n status: 0,\r\n dateOfBbirth: \"7/14/1996\",\r\n ipAddress: \"85.132.155.112\",\r\n type: 0,\r\n _userId: 1,\r\n _createdDate: \"08/14/2014\",\r\n _updatedDate: \"08/03/2014\"\r\n },\r\n {\r\n id: 14,\r\n firstName: \"Corine\",\r\n lastName: \"Rajchert\",\r\n email: \"crajchertd@google.com\",\r\n userName: \"crajchertd\",\r\n gender: \"Female\",\r\n status: 1,\r\n dateOfBbirth: \"9/13/1966\",\r\n ipAddress: \"47.164.200.96\",\r\n type: 0,\r\n _userId: 2,\r\n _createdDate: \"12/07/2010\",\r\n _updatedDate: \"09/24/2012\"\r\n },\r\n {\r\n id: 15,\r\n firstName: \"Worth\",\r\n lastName: \"McFarlane\",\r\n email: \"wmcfarlanee@cocolog-nifty.com\",\r\n userName: \"wmcfarlanee\",\r\n gender: \"Male\",\r\n status: 2,\r\n dateOfBbirth: \"10/13/1968\",\r\n ipAddress: \"56.209.4.81\",\r\n type: 0,\r\n _userId: 1,\r\n _createdDate: \"02/23/2013\",\r\n _updatedDate: \"09/24/2016\"\r\n },\r\n {\r\n id: 16,\r\n firstName: \"Ogden\",\r\n lastName: \"Danielski\",\r\n email: \"odanielskif@goo.ne.jp\",\r\n userName: \"odanielskif\",\r\n gender: \"Male\",\r\n status: 0,\r\n dateOfBbirth: \"10/5/1984\",\r\n ipAddress: \"181.198.149.89\",\r\n type: 0,\r\n _userId: 1,\r\n _createdDate: \"09/08/2012\",\r\n _updatedDate: \"10/29/2017\"\r\n },\r\n {\r\n id: 17,\r\n firstName: \"Laurette\",\r\n lastName: \"Tift\",\r\n email: \"ltiftg@about.me\",\r\n userName: \"ltiftg\",\r\n gender: \"Female\",\r\n status: 1,\r\n dateOfBbirth: \"7/29/1964\",\r\n ipAddress: \"218.236.252.255\",\r\n type: 1,\r\n _userId: 2,\r\n _createdDate: \"05/03/2016\",\r\n _updatedDate: \"08/02/2011\"\r\n },\r\n {\r\n id: 18,\r\n firstName: \"Eleanora\",\r\n lastName: \"Jackson\",\r\n email: \"ejacksonh@geocities.jp\",\r\n userName: \"ejacksonh\",\r\n gender: \"Female\",\r\n status: 0,\r\n dateOfBbirth: \"1/1/1993\",\r\n ipAddress: \"166.210.135.66\",\r\n type: 1,\r\n _userId: 1,\r\n _createdDate: \"09/25/2017\",\r\n _updatedDate: \"01/08/2012\"\r\n },\r\n {\r\n id: 19,\r\n firstName: \"Manon\",\r\n lastName: \"Perott\",\r\n email: \"mperotti@nyu.edu\",\r\n userName: \"mperotti\",\r\n gender: \"Female\",\r\n status: 1,\r\n dateOfBbirth: \"11/6/1994\",\r\n ipAddress: \"44.43.119.22\",\r\n type: 1,\r\n _userId: 2,\r\n _createdDate: \"04/26/2013\",\r\n _updatedDate: \"02/24/2012\"\r\n },\r\n {\r\n id: 20,\r\n firstName: \"Karney\",\r\n lastName: \"Damerell\",\r\n email: \"kdamerellj@booking.com\",\r\n userName: \"kdamerellj\",\r\n gender: \"Male\",\r\n status: 0,\r\n dateOfBbirth: \"11/22/1996\",\r\n ipAddress: \"253.195.21.217\",\r\n type: 1,\r\n _userId: 2,\r\n _createdDate: \"11/28/2014\",\r\n _updatedDate: \"10/11/2012\"\r\n },\r\n {\r\n id: 21,\r\n firstName: \"Chelsea\",\r\n lastName: \"Bruce\",\r\n email: \"cbrucek@icq.com\",\r\n userName: \"cbrucek\",\r\n gender: \"Female\",\r\n status: 1,\r\n dateOfBbirth: \"12/1/1983\",\r\n ipAddress: \"28.184.81.169\",\r\n type: 0,\r\n _userId: 1,\r\n _createdDate: \"07/29/2013\",\r\n _updatedDate: \"12/01/2017\"\r\n },\r\n {\r\n id: 22,\r\n firstName: \"Barny\",\r\n lastName: \"Verny\",\r\n email: \"bvernyl@bing.com\",\r\n userName: \"bvernyl\",\r\n gender: \"Male\",\r\n status: 0,\r\n dateOfBbirth: \"8/13/1957\",\r\n ipAddress: \"7.26.116.49\",\r\n type: 0,\r\n _userId: 1,\r\n _createdDate: \"06/14/2011\",\r\n _updatedDate: \"06/28/2011\"\r\n },\r\n {\r\n id: 23,\r\n firstName: \"Elita\",\r\n lastName: \"Matuszewski\",\r\n email: \"ematuszewskim@businesswire.com\",\r\n userName: \"ematuszewskim\",\r\n gender: \"Female\",\r\n status: 1,\r\n dateOfBbirth: \"6/6/1985\",\r\n ipAddress: \"82.223.2.228\",\r\n type: 0,\r\n _userId: 2,\r\n _createdDate: \"05/19/2016\",\r\n _updatedDate: \"09/12/2011\"\r\n },\r\n {\r\n id: 24,\r\n firstName: \"Chelsey\",\r\n lastName: \"Scullard\",\r\n email: \"cscullardn@buzzfeed.com\",\r\n userName: \"cscullardn\",\r\n gender: \"Female\",\r\n status: 0,\r\n dateOfBbirth: \"11/20/1960\",\r\n ipAddress: \"68.177.196.151\",\r\n type: 0,\r\n _userId: 1,\r\n _createdDate: \"02/09/2013\",\r\n _updatedDate: \"12/11/2011\"\r\n },\r\n {\r\n id: 25,\r\n firstName: \"Jodi\",\r\n lastName: \"Olphert\",\r\n email: \"jolpherto@elpais.com\",\r\n userName: \"jolpherto\",\r\n gender: \"Female\",\r\n status: 0,\r\n dateOfBbirth: \"4/20/2000\",\r\n ipAddress: \"32.219.74.161\",\r\n type: 0,\r\n _userId: 2,\r\n _createdDate: \"07/28/2017\",\r\n _updatedDate: \"05/03/2017\"\r\n },\r\n {\r\n id: 26,\r\n firstName: \"Micah\",\r\n lastName: \"Searchfield\",\r\n email: \"msearchfieldp@instagram.com\",\r\n userName: \"msearchfieldp\",\r\n gender: \"Male\",\r\n status: 1,\r\n dateOfBbirth: \"8/15/1993\",\r\n ipAddress: \"99.205.47.226\",\r\n type: 1,\r\n _userId: 1,\r\n _createdDate: \"07/05/2011\",\r\n _updatedDate: \"02/19/2013\"\r\n },\r\n {\r\n id: 27,\r\n firstName: \"Freeland\",\r\n lastName: \"O'Dougherty\",\r\n email: \"fodoughertyq@cbsnews.com\",\r\n userName: \"fodoughertyq\",\r\n gender: \"Male\",\r\n status: 1,\r\n dateOfBbirth: \"5/19/1956\",\r\n ipAddress: \"91.116.249.149\",\r\n type: 0,\r\n _userId: 1,\r\n _createdDate: \"06/09/2012\",\r\n _updatedDate: \"03/15/2014\"\r\n },\r\n {\r\n id: 28,\r\n firstName: \"Marna\",\r\n lastName: \"Dacre\",\r\n email: \"mdacrer@tmall.com\",\r\n userName: \"mdacrer\",\r\n gender: \"Female\",\r\n status: 0,\r\n dateOfBbirth: \"10/26/1959\",\r\n ipAddress: \"127.23.103.102\",\r\n type: 0,\r\n _userId: 2,\r\n _createdDate: \"12/30/2011\",\r\n _updatedDate: \"03/24/2016\"\r\n },\r\n {\r\n id: 29,\r\n firstName: \"Carlita\",\r\n lastName: \"Calwell\",\r\n email: \"ccalwells@1688.com\",\r\n userName: \"ccalwells\",\r\n gender: \"Female\",\r\n status: 0,\r\n dateOfBbirth: \"7/28/1961\",\r\n ipAddress: \"3.205.16.120\",\r\n type: 0,\r\n _userId: 2,\r\n _createdDate: \"02/28/2016\",\r\n _updatedDate: \"02/25/2013\"\r\n },\r\n {\r\n id: 30,\r\n firstName: \"Deonne\",\r\n lastName: \"Castellan\",\r\n email: \"dcastellant@gizmodo.com\",\r\n userName: \"dcastellant\",\r\n gender: \"Female\",\r\n status: 2,\r\n dateOfBbirth: \"10/21/1955\",\r\n ipAddress: \"213.3.222.52\",\r\n type: 1,\r\n _userId: 2,\r\n _createdDate: \"03/12/2011\",\r\n _updatedDate: \"03/26/2017\"\r\n },\r\n {\r\n id: 31,\r\n firstName: \"Cesare\",\r\n lastName: \"Chestnutt\",\r\n email: \"cchestnuttu@cornell.edu\",\r\n userName: \"cchestnuttu\",\r\n gender: \"Male\",\r\n status: 2,\r\n dateOfBbirth: \"4/14/1979\",\r\n ipAddress: \"218.107.75.113\",\r\n type: 1,\r\n _userId: 1,\r\n _createdDate: \"03/06/2012\",\r\n _updatedDate: \"09/08/2012\"\r\n },\r\n {\r\n id: 32,\r\n firstName: \"Gauthier\",\r\n lastName: \"Luparto\",\r\n email: \"glupartov@wordpress.org\",\r\n userName: \"glupartov\",\r\n gender: \"Male\",\r\n status: 0,\r\n dateOfBbirth: \"11/28/1952\",\r\n ipAddress: \"148.234.79.85\",\r\n type: 1,\r\n _userId: 2,\r\n _createdDate: \"04/28/2013\",\r\n _updatedDate: \"02/26/2016\"\r\n },\r\n {\r\n id: 33,\r\n firstName: \"Kimmi\",\r\n lastName: \"Corde\",\r\n email: \"kcordew@kickstarter.com\",\r\n userName: \"kcordew\",\r\n gender: \"Female\",\r\n status: 1,\r\n dateOfBbirth: \"8/7/1978\",\r\n ipAddress: \"94.85.235.54\",\r\n type: 0,\r\n _userId: 2,\r\n _createdDate: \"10/21/2012\",\r\n _updatedDate: \"10/31/2017\"\r\n },\r\n {\r\n id: 34,\r\n firstName: \"Riordan\",\r\n lastName: \"Rosenbush\",\r\n email: \"rrosenbushx@wix.com\",\r\n userName: \"rrosenbushx\",\r\n gender: \"Male\",\r\n status: 1,\r\n dateOfBbirth: \"11/28/1957\",\r\n ipAddress: \"236.15.158.122\",\r\n type: 0,\r\n _userId: 2,\r\n _createdDate: \"08/28/2011\",\r\n _updatedDate: \"08/14/2015\"\r\n },\r\n {\r\n id: 35,\r\n firstName: \"Daune\",\r\n lastName: \"Sellek\",\r\n email: \"dselleky@amazon.co.jp\",\r\n userName: \"dselleky\",\r\n gender: \"Female\",\r\n status: 1,\r\n dateOfBbirth: \"10/12/1995\",\r\n ipAddress: \"163.229.197.138\",\r\n type: 1,\r\n _userId: 2,\r\n _createdDate: \"03/28/2018\",\r\n _updatedDate: \"03/01/2017\"\r\n },\r\n {\r\n id: 36,\r\n firstName: \"Myriam\",\r\n lastName: \"Marshland\",\r\n email: \"mmarshlandz@army.mil\",\r\n userName: \"mmarshlandz\",\r\n gender: \"Female\",\r\n status: 2,\r\n dateOfBbirth: \"8/1/1961\",\r\n ipAddress: \"153.40.246.134\",\r\n type: 0,\r\n _userId: 1,\r\n _createdDate: \"05/15/2017\",\r\n _updatedDate: \"08/12/2016\"\r\n },\r\n {\r\n id: 37,\r\n firstName: \"Laryssa\",\r\n lastName: \"Hynard\",\r\n email: \"lhynard10@squidoo.com\",\r\n userName: \"lhynard10\",\r\n gender: \"Female\",\r\n status: 1,\r\n dateOfBbirth: \"1/6/1998\",\r\n ipAddress: \"186.155.125.145\",\r\n type: 0,\r\n _userId: 2,\r\n _createdDate: \"01/16/2012\",\r\n _updatedDate: \"10/09/2012\"\r\n },\r\n {\r\n id: 38,\r\n firstName: \"Evelin\",\r\n lastName: \"Poate\",\r\n email: \"epoate11@cnet.com\",\r\n userName: \"epoate11\",\r\n gender: \"Male\",\r\n status: 2,\r\n dateOfBbirth: \"9/11/1957\",\r\n ipAddress: \"76.53.54.233\",\r\n type: 0,\r\n _userId: 1,\r\n _createdDate: \"01/07/2012\",\r\n _updatedDate: \"01/18/2018\"\r\n },\r\n {\r\n id: 39,\r\n firstName: \"Cesar\",\r\n lastName: \"D'Orsay\",\r\n email: \"cdorsay12@ezinearticles.com\",\r\n userName: \"cdorsay12\",\r\n gender: \"Male\",\r\n status: 0,\r\n dateOfBbirth: \"10/20/1992\",\r\n ipAddress: \"101.137.215.28\",\r\n type: 1,\r\n _userId: 1,\r\n _createdDate: \"10/20/2010\",\r\n _updatedDate: \"07/14/2012\"\r\n },\r\n {\r\n id: 40,\r\n firstName: \"Jareb\",\r\n lastName: \"Luberto\",\r\n email: \"jluberto13@apple.com\",\r\n userName: \"jluberto13\",\r\n gender: \"Male\",\r\n status: 1,\r\n dateOfBbirth: \"12/22/1951\",\r\n ipAddress: \"69.111.152.125\",\r\n type: 0,\r\n _userId: 1,\r\n _createdDate: \"01/11/2012\",\r\n _updatedDate: \"01/20/2018\"\r\n },\r\n {\r\n id: 41,\r\n firstName: \"Kerry\",\r\n lastName: \"Glawsop\",\r\n email: \"kglawsop14@wp.com\",\r\n userName: \"kglawsop14\",\r\n gender: \"Male\",\r\n status: 1,\r\n dateOfBbirth: \"11/28/1953\",\r\n ipAddress: \"105.245.81.58\",\r\n type: 1,\r\n _userId: 2,\r\n _createdDate: \"02/23/2015\",\r\n _updatedDate: \"03/14/2012\"\r\n },\r\n {\r\n id: 42,\r\n firstName: \"Brose\",\r\n lastName: \"Conti\",\r\n email: \"bconti15@smh.com.au\",\r\n userName: \"bconti15\",\r\n gender: \"Male\",\r\n status: 2,\r\n dateOfBbirth: \"8/13/1967\",\r\n ipAddress: \"109.92.204.48\",\r\n type: 1,\r\n _userId: 1,\r\n _createdDate: \"08/04/2012\",\r\n _updatedDate: \"11/01/2011\"\r\n },\r\n {\r\n id: 43,\r\n firstName: \"Shannah\",\r\n lastName: \"Ceeley\",\r\n email: \"sceeley16@sogou.com\",\r\n userName: \"sceeley16\",\r\n gender: \"Female\",\r\n status: 1,\r\n dateOfBbirth: \"6/10/1962\",\r\n ipAddress: \"57.218.60.216\",\r\n type: 0,\r\n _userId: 2,\r\n _createdDate: \"05/28/2014\",\r\n _updatedDate: \"03/16/2018\"\r\n },\r\n {\r\n id: 44,\r\n firstName: \"Rudolf\",\r\n lastName: \"Stallworthy\",\r\n email: \"rstallworthy17@theatlantic.com\",\r\n userName: \"rstallworthy17\",\r\n gender: \"Male\",\r\n status: 1,\r\n dateOfBbirth: \"10/15/1966\",\r\n ipAddress: \"74.223.255.220\",\r\n type: 1,\r\n _userId: 2,\r\n _createdDate: \"06/01/2015\",\r\n _updatedDate: \"10/25/2013\"\r\n },\r\n {\r\n id: 45,\r\n firstName: \"Egor\",\r\n lastName: \"Scotson\",\r\n email: \"escotson18@weather.com\",\r\n userName: \"escotson18\",\r\n gender: \"Male\",\r\n status: 0,\r\n dateOfBbirth: \"1/17/1956\",\r\n ipAddress: \"70.189.158.38\",\r\n type: 0,\r\n _userId: 1,\r\n _createdDate: \"03/25/2011\",\r\n _updatedDate: \"12/05/2010\"\r\n },\r\n {\r\n id: 46,\r\n firstName: \"Selie\",\r\n lastName: \"Dugue\",\r\n email: \"sdugue19@meetup.com\",\r\n userName: \"sdugue19\",\r\n gender: \"Female\",\r\n status: 0,\r\n dateOfBbirth: \"11/9/1981\",\r\n ipAddress: \"54.129.221.70\",\r\n type: 1,\r\n _userId: 1,\r\n _createdDate: \"06/09/2013\",\r\n _updatedDate: \"08/10/2016\"\r\n },\r\n {\r\n id: 47,\r\n firstName: \"Gene\",\r\n lastName: \"Kirkbright\",\r\n email: \"gkirkbright1a@wp.com\",\r\n userName: \"gkirkbright1a\",\r\n gender: \"Female\",\r\n status: 0,\r\n dateOfBbirth: \"5/9/1972\",\r\n ipAddress: \"217.224.216.105\",\r\n type: 0,\r\n _userId: 1,\r\n _createdDate: \"02/02/2016\",\r\n _updatedDate: \"03/30/2014\"\r\n },\r\n {\r\n id: 48,\r\n firstName: \"Reagan\",\r\n lastName: \"Colloby\",\r\n email: \"rcolloby1b@usgs.gov\",\r\n userName: \"rcolloby1b\",\r\n gender: \"Male\",\r\n status: 2,\r\n dateOfBbirth: \"9/21/1997\",\r\n ipAddress: \"32.53.20.172\",\r\n type: 0,\r\n _userId: 2,\r\n _createdDate: \"04/08/2016\",\r\n _updatedDate: \"01/25/2014\"\r\n },\r\n {\r\n id: 49,\r\n firstName: \"Saidee\",\r\n lastName: \"Kivelle\",\r\n email: \"skivelle1c@newsvine.com\",\r\n userName: \"skivelle1c\",\r\n gender: \"Female\",\r\n status: 1,\r\n dateOfBbirth: \"10/23/1994\",\r\n ipAddress: \"79.152.227.238\",\r\n type: 1,\r\n _userId: 1,\r\n _createdDate: \"12/26/2015\",\r\n _updatedDate: \"09/17/2011\"\r\n },\r\n {\r\n id: 50,\r\n firstName: \"Mychal\",\r\n lastName: \"Karlowicz\",\r\n email: \"mkarlowicz1d@opera.com\",\r\n userName: \"mkarlowicz1d\",\r\n gender: \"Male\",\r\n status: 2,\r\n dateOfBbirth: \"10/20/1971\",\r\n ipAddress: \"70.175.193.245\",\r\n type: 0,\r\n _userId: 2,\r\n _createdDate: \"10/10/2011\",\r\n _updatedDate: \"03/02/2012\"\r\n },\r\n {\r\n id: 51,\r\n firstName: \"Nessie\",\r\n lastName: \"Casassa\",\r\n email: \"ncasassa1e@pinterest.com\",\r\n userName: \"ncasassa1e\",\r\n gender: \"Female\",\r\n status: 2,\r\n dateOfBbirth: \"3/9/1983\",\r\n ipAddress: \"17.128.173.230\",\r\n type: 1,\r\n _userId: 1,\r\n _createdDate: \"01/09/2018\",\r\n _updatedDate: \"08/05/2015\"\r\n },\r\n {\r\n id: 52,\r\n firstName: \"Myrvyn\",\r\n lastName: \"Coots\",\r\n email: \"mcoots1f@sourceforge.net\",\r\n userName: \"mcoots1f\",\r\n gender: \"Male\",\r\n status: 2,\r\n dateOfBbirth: \"4/5/1972\",\r\n ipAddress: \"253.21.191.36\",\r\n type: 0,\r\n _userId: 1,\r\n _createdDate: \"01/13/2015\",\r\n _updatedDate: \"04/30/2011\"\r\n },\r\n {\r\n id: 53,\r\n firstName: \"Liuka\",\r\n lastName: \"Monard\",\r\n email: \"lmonard1g@wikipedia.org\",\r\n userName: \"lmonard1g\",\r\n gender: \"Female\",\r\n status: 2,\r\n dateOfBbirth: \"6/6/1999\",\r\n ipAddress: \"33.46.177.2\",\r\n type: 1,\r\n _userId: 1,\r\n _createdDate: \"11/17/2012\",\r\n _updatedDate: \"02/18/2011\"\r\n },\r\n {\r\n id: 54,\r\n firstName: \"Alis\",\r\n lastName: \"Nozzolii\",\r\n email: \"anozzolii1h@google.com.br\",\r\n userName: \"anozzolii1h\",\r\n gender: \"Female\",\r\n status: 2,\r\n dateOfBbirth: \"7/25/1953\",\r\n ipAddress: \"242.76.135.219\",\r\n type: 1,\r\n _userId: 1,\r\n _createdDate: \"10/16/2012\",\r\n _updatedDate: \"09/17/2012\"\r\n },\r\n {\r\n id: 55,\r\n firstName: \"Gage\",\r\n lastName: \"Slamaker\",\r\n email: \"gslamaker1i@people.com.cn\",\r\n userName: \"gslamaker1i\",\r\n gender: \"Male\",\r\n status: 1,\r\n dateOfBbirth: \"3/19/1959\",\r\n ipAddress: \"179.85.197.219\",\r\n type: 0,\r\n _userId: 2,\r\n _createdDate: \"04/20/2015\",\r\n _updatedDate: \"07/02/2014\"\r\n },\r\n {\r\n id: 56,\r\n firstName: \"Jamal\",\r\n lastName: \"Glasard\",\r\n email: \"jglasard1j@google.ru\",\r\n userName: \"jglasard1j\",\r\n gender: \"Male\",\r\n status: 2,\r\n dateOfBbirth: \"9/21/1968\",\r\n ipAddress: \"163.99.109.106\",\r\n type: 0,\r\n _userId: 1,\r\n _createdDate: \"08/24/2017\",\r\n _updatedDate: \"12/09/2012\"\r\n },\r\n {\r\n id: 57,\r\n firstName: \"Antone\",\r\n lastName: \"Christophersen\",\r\n email: \"achristophersen1k@slashdot.org\",\r\n userName: \"achristophersen1k\",\r\n gender: \"Male\",\r\n status: 0,\r\n dateOfBbirth: \"8/5/1953\",\r\n ipAddress: \"42.207.110.255\",\r\n type: 1,\r\n _userId: 1,\r\n _createdDate: \"12/30/2012\",\r\n _updatedDate: \"04/07/2013\"\r\n },\r\n {\r\n id: 58,\r\n firstName: \"Glenn\",\r\n lastName: \"Gentle\",\r\n email: \"ggentle1l@imdb.com\",\r\n userName: \"ggentle1l\",\r\n gender: \"Female\",\r\n status: 0,\r\n dateOfBbirth: \"8/4/1959\",\r\n ipAddress: \"82.135.105.157\",\r\n type: 1,\r\n _userId: 2,\r\n _createdDate: \"01/16/2017\",\r\n _updatedDate: \"10/04/2017\"\r\n },\r\n {\r\n id: 59,\r\n firstName: \"Jerrilyn\",\r\n lastName: \"Prujean\",\r\n email: \"jprujean1m@csmonitor.com\",\r\n userName: \"jprujean1m\",\r\n gender: \"Female\",\r\n status: 2,\r\n dateOfBbirth: \"12/22/1961\",\r\n ipAddress: \"45.111.98.145\",\r\n type: 1,\r\n _userId: 2,\r\n _createdDate: \"08/22/2014\",\r\n _updatedDate: \"09/01/2014\"\r\n },\r\n {\r\n id: 60,\r\n firstName: \"Becki\",\r\n lastName: \"Mucklestone\",\r\n email: \"bmucklestone1n@wiley.com\",\r\n userName: \"bmucklestone1n\",\r\n gender: \"Female\",\r\n status: 0,\r\n dateOfBbirth: \"10/15/1970\",\r\n ipAddress: \"208.63.250.181\",\r\n type: 0,\r\n _userId: 1,\r\n _createdDate: \"03/08/2018\",\r\n _updatedDate: \"08/09/2016\"\r\n },\r\n {\r\n id: 61,\r\n firstName: \"Kingsly\",\r\n lastName: \"Sawday\",\r\n email: \"ksawday1o@patch.com\",\r\n userName: \"ksawday1o\",\r\n gender: \"Male\",\r\n status: 0,\r\n dateOfBbirth: \"1/20/1978\",\r\n ipAddress: \"196.38.7.53\",\r\n type: 0,\r\n _userId: 2,\r\n _createdDate: \"07/15/2016\",\r\n _updatedDate: \"10/28/2012\"\r\n },\r\n {\r\n id: 62,\r\n firstName: \"Austen\",\r\n lastName: \"Possel\",\r\n email: \"apossel1p@blogtalkradio.com\",\r\n userName: \"apossel1p\",\r\n gender: \"Male\",\r\n status: 0,\r\n dateOfBbirth: \"5/8/1960\",\r\n ipAddress: \"162.0.150.104\",\r\n type: 1,\r\n _userId: 2,\r\n _createdDate: \"12/20/2017\",\r\n _updatedDate: \"04/20/2018\"\r\n },\r\n {\r\n id: 63,\r\n firstName: \"Rudie\",\r\n lastName: \"Southouse\",\r\n email: \"rsouthouse1q@mapy.cz\",\r\n userName: \"rsouthouse1q\",\r\n gender: \"Male\",\r\n status: 0,\r\n dateOfBbirth: \"12/2/1950\",\r\n ipAddress: \"67.123.229.124\",\r\n type: 1,\r\n _userId: 2,\r\n _createdDate: \"09/24/2012\",\r\n _updatedDate: \"07/02/2014\"\r\n },\r\n {\r\n id: 64,\r\n firstName: \"Julienne\",\r\n lastName: \"Le Noury\",\r\n email: \"jlenoury1r@cnet.com\",\r\n userName: \"jlenoury1r\",\r\n gender: \"Female\",\r\n status: 1,\r\n dateOfBbirth: \"10/30/1976\",\r\n ipAddress: \"208.192.238.241\",\r\n type: 1,\r\n _userId: 1,\r\n _createdDate: \"06/29/2012\",\r\n _updatedDate: \"11/26/2016\"\r\n },\r\n {\r\n id: 65,\r\n firstName: \"Bernard\",\r\n lastName: \"Levicount\",\r\n email: \"blevicount1s@angelfire.com\",\r\n userName: \"blevicount1s\",\r\n gender: \"Male\",\r\n status: 2,\r\n dateOfBbirth: \"12/6/1982\",\r\n ipAddress: \"123.229.51.62\",\r\n type: 1,\r\n _userId: 2,\r\n _createdDate: \"04/11/2013\",\r\n _updatedDate: \"05/14/2013\"\r\n },\r\n {\r\n id: 66,\r\n firstName: \"Katine\",\r\n lastName: \"Glazyer\",\r\n email: \"kglazyer1t@unblog.fr\",\r\n userName: \"kglazyer1t\",\r\n gender: \"Female\",\r\n status: 2,\r\n dateOfBbirth: \"8/20/1954\",\r\n ipAddress: \"165.87.178.12\",\r\n type: 0,\r\n _userId: 1,\r\n _createdDate: \"03/20/2015\",\r\n _updatedDate: \"06/18/2015\"\r\n },\r\n {\r\n id: 67,\r\n firstName: \"Rem\",\r\n lastName: \"Crichten\",\r\n email: \"rcrichten1u@patch.com\",\r\n userName: \"rcrichten1u\",\r\n gender: \"Male\",\r\n status: 0,\r\n dateOfBbirth: \"6/19/1950\",\r\n ipAddress: \"184.177.108.6\",\r\n type: 1,\r\n _userId: 1,\r\n _createdDate: \"11/12/2014\",\r\n _updatedDate: \"04/12/2011\"\r\n },\r\n {\r\n id: 68,\r\n firstName: \"Colman\",\r\n lastName: \"Simnor\",\r\n email: \"csimnor1v@reddit.com\",\r\n userName: \"csimnor1v\",\r\n gender: \"Male\",\r\n status: 1,\r\n dateOfBbirth: \"1/3/2000\",\r\n ipAddress: \"19.3.156.170\",\r\n type: 0,\r\n _userId: 2,\r\n _createdDate: \"05/06/2013\",\r\n _updatedDate: \"05/23/2014\"\r\n },\r\n {\r\n id: 69,\r\n firstName: \"Arin\",\r\n lastName: \"Hanscombe\",\r\n email: \"ahanscombe1w@blogspot.com\",\r\n userName: \"ahanscombe1w\",\r\n gender: \"Male\",\r\n status: 2,\r\n dateOfBbirth: \"9/21/1955\",\r\n ipAddress: \"154.59.243.61\",\r\n type: 0,\r\n _userId: 2,\r\n _createdDate: \"06/23/2013\",\r\n _updatedDate: \"11/10/2011\"\r\n },\r\n {\r\n id: 70,\r\n firstName: \"Emogene\",\r\n lastName: \"Gruszka\",\r\n email: \"egruszka1x@cmu.edu\",\r\n userName: \"egruszka1x\",\r\n gender: \"Female\",\r\n status: 1,\r\n dateOfBbirth: \"7/3/1971\",\r\n ipAddress: \"105.138.138.125\",\r\n type: 1,\r\n _userId: 2,\r\n _createdDate: \"07/26/2016\",\r\n _updatedDate: \"10/28/2013\"\r\n },\r\n {\r\n id: 71,\r\n firstName: \"Rosina\",\r\n lastName: \"Kauffman\",\r\n email: \"rkauffman1y@google.com.hk\",\r\n userName: \"rkauffman1y\",\r\n gender: \"Female\",\r\n status: 2,\r\n dateOfBbirth: \"11/21/1953\",\r\n ipAddress: \"131.87.248.164\",\r\n type: 0,\r\n _userId: 1,\r\n _createdDate: \"10/16/2016\",\r\n _updatedDate: \"07/24/2015\"\r\n },\r\n {\r\n id: 72,\r\n firstName: \"Fran\",\r\n lastName: \"MacGill\",\r\n email: \"fmacgill1z@pinterest.com\",\r\n userName: \"fmacgill1z\",\r\n gender: \"Female\",\r\n status: 1,\r\n dateOfBbirth: \"3/16/1991\",\r\n ipAddress: \"155.41.152.146\",\r\n type: 1,\r\n _userId: 1,\r\n _createdDate: \"11/23/2012\",\r\n _updatedDate: \"09/03/2016\"\r\n },\r\n {\r\n id: 73,\r\n firstName: \"Marinna\",\r\n lastName: \"Allington\",\r\n email: \"mallington20@icio.us\",\r\n userName: \"mallington20\",\r\n gender: \"Female\",\r\n status: 0,\r\n dateOfBbirth: \"3/15/1964\",\r\n ipAddress: \"120.145.107.78\",\r\n type: 0,\r\n _userId: 2,\r\n _createdDate: \"09/07/2011\",\r\n _updatedDate: \"12/26/2017\"\r\n },\r\n {\r\n id: 74,\r\n firstName: \"Irv\",\r\n lastName: \"Rishbrook\",\r\n email: \"irishbrook21@tripod.com\",\r\n userName: \"irishbrook21\",\r\n gender: \"Male\",\r\n status: 0,\r\n dateOfBbirth: \"11/25/1966\",\r\n ipAddress: \"127.115.28.247\",\r\n type: 1,\r\n _userId: 1,\r\n _createdDate: \"08/25/2014\",\r\n _updatedDate: \"06/16/2013\"\r\n },\r\n {\r\n id: 75,\r\n firstName: \"Riordan\",\r\n lastName: \"Durran\",\r\n email: \"rdurran22@hubpages.com\",\r\n userName: \"rdurran22\",\r\n gender: \"Male\",\r\n status: 1,\r\n dateOfBbirth: \"3/3/1952\",\r\n ipAddress: \"246.102.6.88\",\r\n type: 1,\r\n _userId: 1,\r\n _createdDate: \"04/02/2017\",\r\n _updatedDate: \"01/30/2011\"\r\n },\r\n {\r\n id: 76,\r\n firstName: \"Phillie\",\r\n lastName: \"Elward\",\r\n email: \"pelward23@parallels.com\",\r\n userName: \"pelward23\",\r\n gender: \"Female\",\r\n status: 2,\r\n dateOfBbirth: \"9/15/1965\",\r\n ipAddress: \"75.220.58.105\",\r\n type: 1,\r\n _userId: 1,\r\n _createdDate: \"06/23/2014\",\r\n _updatedDate: \"08/20/2016\"\r\n },\r\n {\r\n id: 77,\r\n firstName: \"Hadlee\",\r\n lastName: \"Haddow\",\r\n email: \"hhaddow24@nationalgeographic.com\",\r\n userName: \"hhaddow24\",\r\n gender: \"Male\",\r\n status: 0,\r\n dateOfBbirth: \"10/2/1973\",\r\n ipAddress: \"155.40.18.171\",\r\n type: 0,\r\n _userId: 2,\r\n _createdDate: \"03/05/2016\",\r\n _updatedDate: \"07/03/2017\"\r\n },\r\n {\r\n id: 78,\r\n firstName: \"Luciano\",\r\n lastName: \"Pittford\",\r\n email: \"lpittford25@europa.eu\",\r\n userName: \"lpittford25\",\r\n gender: \"Male\",\r\n status: 0,\r\n dateOfBbirth: \"6/14/1963\",\r\n ipAddress: \"131.175.149.47\",\r\n type: 0,\r\n _userId: 2,\r\n _createdDate: \"05/01/2014\",\r\n _updatedDate: \"08/02/2011\"\r\n },\r\n {\r\n id: 79,\r\n firstName: \"Zelma\",\r\n lastName: \"Cumberpatch\",\r\n email: \"zcumberpatch26@multiply.com\",\r\n userName: \"zcumberpatch26\",\r\n gender: \"Female\",\r\n status: 1,\r\n dateOfBbirth: \"7/16/1956\",\r\n ipAddress: \"145.155.37.45\",\r\n type: 1,\r\n _userId: 1,\r\n _createdDate: \"11/07/2015\",\r\n _updatedDate: \"12/03/2014\"\r\n },\r\n {\r\n id: 80,\r\n firstName: \"Thornton\",\r\n lastName: \"Smuth\",\r\n email: \"tsmuth27@go.com\",\r\n userName: \"tsmuth27\",\r\n gender: \"Male\",\r\n status: 0,\r\n dateOfBbirth: \"5/9/1989\",\r\n ipAddress: \"146.151.187.52\",\r\n type: 1,\r\n _userId: 2,\r\n _createdDate: \"12/25/2011\",\r\n _updatedDate: \"12/31/2010\"\r\n },\r\n {\r\n id: 81,\r\n firstName: \"Bunnie\",\r\n lastName: \"Ealden\",\r\n email: \"bealden28@gravatar.com\",\r\n userName: \"bealden28\",\r\n gender: \"Female\",\r\n status: 0,\r\n dateOfBbirth: \"10/2/1999\",\r\n ipAddress: \"184.116.180.222\",\r\n type: 1,\r\n _userId: 2,\r\n _createdDate: \"04/09/2015\",\r\n _updatedDate: \"12/07/2013\"\r\n },\r\n {\r\n id: 82,\r\n firstName: \"Pearl\",\r\n lastName: \"Robeson\",\r\n email: \"probeson29@moonfruit.com\",\r\n userName: \"probeson29\",\r\n gender: \"Female\",\r\n status: 0,\r\n dateOfBbirth: \"8/20/1980\",\r\n ipAddress: \"235.213.39.68\",\r\n type: 0,\r\n _userId: 1,\r\n _createdDate: \"07/13/2016\",\r\n _updatedDate: \"03/07/2012\"\r\n },\r\n {\r\n id: 83,\r\n firstName: \"Charlie\",\r\n lastName: \"Marvelley\",\r\n email: \"cmarvelley2a@archive.org\",\r\n userName: \"cmarvelley2a\",\r\n gender: \"Male\",\r\n status: 0,\r\n dateOfBbirth: \"11/22/1969\",\r\n ipAddress: \"158.224.240.173\",\r\n type: 0,\r\n _userId: 2,\r\n _createdDate: \"03/25/2012\",\r\n _updatedDate: \"11/20/2012\"\r\n },\r\n {\r\n id: 84,\r\n firstName: \"Vere\",\r\n lastName: \"McCartan\",\r\n email: \"vmccartan2b@about.me\",\r\n userName: \"vmccartan2b\",\r\n gender: \"Female\",\r\n status: 1,\r\n dateOfBbirth: \"3/24/1956\",\r\n ipAddress: \"235.57.57.54\",\r\n type: 0,\r\n _userId: 2,\r\n _createdDate: \"06/21/2016\",\r\n _updatedDate: \"05/17/2015\"\r\n },\r\n {\r\n id: 85,\r\n firstName: \"Deni\",\r\n lastName: \"Frostdicke\",\r\n email: \"dfrostdicke2c@jigsy.com\",\r\n userName: \"dfrostdicke2c\",\r\n gender: \"Female\",\r\n status: 1,\r\n dateOfBbirth: \"7/31/1964\",\r\n ipAddress: \"108.183.237.176\",\r\n type: 1,\r\n _userId: 1,\r\n _createdDate: \"03/13/2013\",\r\n _updatedDate: \"11/12/2017\"\r\n },\r\n {\r\n id: 86,\r\n firstName: \"Poppy\",\r\n lastName: \"Pech\",\r\n email: \"ppech2d@wsj.com\",\r\n userName: \"ppech2d\",\r\n gender: \"Female\",\r\n status: 1,\r\n dateOfBbirth: \"2/24/1976\",\r\n ipAddress: \"221.35.18.213\",\r\n type: 1,\r\n _userId: 1,\r\n _createdDate: \"09/10/2015\",\r\n _updatedDate: \"02/13/2013\"\r\n },\r\n {\r\n id: 87,\r\n firstName: \"Dasya\",\r\n lastName: \"O'Nion\",\r\n email: \"donion2e@addthis.com\",\r\n userName: \"donion2e\",\r\n gender: \"Female\",\r\n status: 1,\r\n dateOfBbirth: \"7/5/1993\",\r\n ipAddress: \"28.25.44.40\",\r\n type: 0,\r\n _userId: 1,\r\n _createdDate: \"04/12/2013\",\r\n _updatedDate: \"08/24/2012\"\r\n },\r\n {\r\n id: 88,\r\n firstName: \"Marco\",\r\n lastName: \"Izhakov\",\r\n email: \"mizhakov2f@si.edu\",\r\n userName: \"mizhakov2f\",\r\n gender: \"Male\",\r\n status: 1,\r\n dateOfBbirth: \"2/28/1999\",\r\n ipAddress: \"155.123.153.36\",\r\n type: 0,\r\n _userId: 1,\r\n _createdDate: \"06/04/2012\",\r\n _updatedDate: \"03/06/2017\"\r\n },\r\n {\r\n id: 89,\r\n firstName: \"Jane\",\r\n lastName: \"Meneux\",\r\n email: \"jmeneux2g@bluehost.com\",\r\n userName: \"jmeneux2g\",\r\n gender: \"Female\",\r\n status: 1,\r\n dateOfBbirth: \"3/15/1962\",\r\n ipAddress: \"216.200.223.149\",\r\n type: 1,\r\n _userId: 2,\r\n _createdDate: \"11/24/2015\",\r\n _updatedDate: \"02/08/2012\"\r\n },\r\n {\r\n id: 90,\r\n firstName: \"Audry\",\r\n lastName: \"Glasheen\",\r\n email: \"aglasheen2h@booking.com\",\r\n userName: \"aglasheen2h\",\r\n gender: \"Female\",\r\n status: 2,\r\n dateOfBbirth: \"10/24/1962\",\r\n ipAddress: \"186.134.95.243\",\r\n type: 0,\r\n _userId: 1,\r\n _createdDate: \"09/13/2016\",\r\n _updatedDate: \"04/28/2014\"\r\n },\r\n {\r\n id: 91,\r\n firstName: \"Florida\",\r\n lastName: \"Lawleff\",\r\n email: \"flawleff2i@livejournal.com\",\r\n userName: \"flawleff2i\",\r\n gender: \"Female\",\r\n status: 1,\r\n dateOfBbirth: \"2/3/1960\",\r\n ipAddress: \"88.32.51.173\",\r\n type: 0,\r\n _userId: 1,\r\n _createdDate: \"03/22/2018\",\r\n _updatedDate: \"11/28/2010\"\r\n },\r\n {\r\n id: 92,\r\n firstName: \"Christoforo\",\r\n lastName: \"Pinchon\",\r\n email: \"cpinchon2j@bloglovin.com\",\r\n userName: \"cpinchon2j\",\r\n gender: \"Male\",\r\n status: 2,\r\n dateOfBbirth: \"2/26/1995\",\r\n ipAddress: \"244.162.142.84\",\r\n type: 0,\r\n _userId: 2,\r\n _createdDate: \"11/14/2017\",\r\n _updatedDate: \"11/19/2016\"\r\n },\r\n {\r\n id: 93,\r\n firstName: \"Bertie\",\r\n lastName: \"Antognazzi\",\r\n email: \"bantognazzi2k@ow.ly\",\r\n userName: \"bantognazzi2k\",\r\n gender: \"Male\",\r\n status: 2,\r\n dateOfBbirth: \"6/7/1955\",\r\n ipAddress: \"108.174.189.179\",\r\n type: 0,\r\n _userId: 2,\r\n _createdDate: \"08/03/2016\",\r\n _updatedDate: \"01/27/2018\"\r\n },\r\n {\r\n id: 94,\r\n firstName: \"Clevey\",\r\n lastName: \"Grima\",\r\n email: \"cgrima2l@cmu.edu\",\r\n userName: \"cgrima2l\",\r\n gender: \"Male\",\r\n status: 0,\r\n dateOfBbirth: \"7/7/1981\",\r\n ipAddress: \"255.186.178.211\",\r\n type: 1,\r\n _userId: 2,\r\n _createdDate: \"03/23/2014\",\r\n _updatedDate: \"02/10/2011\"\r\n },\r\n {\r\n id: 95,\r\n firstName: \"Herbie\",\r\n lastName: \"Symper\",\r\n email: \"hsymper2m@ca.gov\",\r\n userName: \"hsymper2m\",\r\n gender: \"Male\",\r\n status: 0,\r\n dateOfBbirth: \"7/16/1993\",\r\n ipAddress: \"54.240.157.6\",\r\n type: 0,\r\n _userId: 1,\r\n _createdDate: \"07/27/2011\",\r\n _updatedDate: \"05/28/2013\"\r\n },\r\n {\r\n id: 96,\r\n firstName: \"Kizzie\",\r\n lastName: \"Clapson\",\r\n email: \"kclapson2n@linkedin.com\",\r\n userName: \"kclapson2n\",\r\n gender: \"Female\",\r\n status: 1,\r\n dateOfBbirth: \"1/26/1977\",\r\n ipAddress: \"171.243.142.104\",\r\n type: 1,\r\n _userId: 2,\r\n _createdDate: \"09/03/2011\",\r\n _updatedDate: \"10/14/2014\"\r\n },\r\n {\r\n id: 97,\r\n firstName: \"Sigvard\",\r\n lastName: \"Edwin\",\r\n email: \"sedwin2o@mlb.com\",\r\n userName: \"sedwin2o\",\r\n gender: \"Male\",\r\n status: 0,\r\n dateOfBbirth: \"4/24/1966\",\r\n ipAddress: \"78.224.218.52\",\r\n type: 0,\r\n _userId: 1,\r\n _createdDate: \"05/20/2017\",\r\n _updatedDate: \"09/17/2013\"\r\n },\r\n {\r\n id: 98,\r\n firstName: \"Boniface\",\r\n lastName: \"Rodd\",\r\n email: \"brodd2p@123-reg.co.uk\",\r\n userName: \"brodd2p\",\r\n gender: \"Male\",\r\n status: 2,\r\n dateOfBbirth: \"10/24/1978\",\r\n ipAddress: \"250.44.55.222\",\r\n type: 1,\r\n _userId: 2,\r\n _createdDate: \"04/21/2012\",\r\n _updatedDate: \"07/30/2012\"\r\n },\r\n {\r\n id: 99,\r\n firstName: \"Dorena\",\r\n lastName: \"Oliva\",\r\n email: \"doliva2q@europa.eu\",\r\n userName: \"doliva2q\",\r\n gender: \"Female\",\r\n status: 1,\r\n dateOfBbirth: \"6/16/1987\",\r\n ipAddress: \"94.196.238.12\",\r\n type: 0,\r\n _userId: 1,\r\n _createdDate: \"10/23/2016\",\r\n _updatedDate: \"06/28/2014\"\r\n },\r\n {\r\n id: 100,\r\n firstName: \"Sibylla\",\r\n lastName: \"O'Cahey\",\r\n email: \"socahey2r@paginegialle.it\",\r\n userName: \"socahey2r\",\r\n gender: \"Female\",\r\n status: 2,\r\n dateOfBbirth: \"10/13/1958\",\r\n ipAddress: \"139.240.194.212\",\r\n type: 1,\r\n _userId: 1,\r\n _createdDate: \"11/25/2014\",\r\n _updatedDate: \"08/18/2015\"\r\n }\r\n];\r\n","import customerTableMock from \"./customerTableMock\";\r\nimport MockUtils from \"./mock.utils\";\r\n\r\nexport default function mockCustomer(mock) {\r\n mock.onPost(\"api/customers\").reply(({ data }) => {\r\n const { customer } = JSON.parse(data);\r\n const {\r\n firstName = \"\",\r\n lastName = \"\",\r\n email = \"\",\r\n userName = \"\",\r\n gender = \"Female\",\r\n status = 0,\r\n dateOfBbirth = \"01/01/2019\",\r\n ipAddress = \"127.0.0.1\",\r\n type = 1\r\n } = customer;\r\n\r\n const id = generateUserId();\r\n const newCustomer = {\r\n id,\r\n firstName,\r\n lastName,\r\n email,\r\n userName,\r\n gender,\r\n status,\r\n dateOfBbirth,\r\n ipAddress,\r\n type\r\n };\r\n customerTableMock.push(newCustomer);\r\n return [200, { customer: newCustomer }];\r\n });\r\n\r\n mock.onPost(\"api/customers/find\").reply(config => {\r\n const mockUtils = new MockUtils();\r\n const { queryParams } = JSON.parse(config.data);\r\n const filterdCustomers = mockUtils.baseFilter(\r\n customerTableMock,\r\n queryParams\r\n );\r\n return [200, filterdCustomers];\r\n });\r\n\r\n mock.onPost(\"api/customers/deleteCustomers\").reply(config => {\r\n const { ids } = JSON.parse(config.data);\r\n ids.forEach(id => {\r\n const index = customerTableMock.findIndex(el => el.id === id);\r\n if (index > -1) {\r\n customerTableMock.splice(index, 1);\r\n }\r\n });\r\n return [200];\r\n });\r\n\r\n mock.onPost(\"api/customers/updateStatusForCustomers\").reply(config => {\r\n const { ids, status } = JSON.parse(config.data);\r\n customerTableMock.forEach(el => {\r\n if (ids.findIndex(id => id === el.id) > -1) {\r\n el.status = status;\r\n }\r\n });\r\n return [200];\r\n });\r\n\r\n mock.onGet(/api\\/customers\\/\\d+/).reply(config => {\r\n const id = config.url.match(/api\\/customers\\/(\\d+)/)[1];\r\n const customer = customerTableMock.find(el => el.id === +id);\r\n if (!customer) {\r\n return [400];\r\n }\r\n\r\n return [200, customer];\r\n });\r\n\r\n mock.onPut(/api\\/customers\\/\\d+/).reply(config => {\r\n const id = config.url.match(/api\\/customers\\/(\\d+)/)[1];\r\n const { customer } = JSON.parse(config.data);\r\n const index = customerTableMock.findIndex(el => el.id === +id);\r\n if (!index) {\r\n return [400];\r\n }\r\n\r\n customerTableMock[index] = { ...customer };\r\n return [200];\r\n });\r\n\r\n mock.onDelete(/api\\/customers\\/\\d+/).reply(config => {\r\n const id = config.url.match(/api\\/customers\\/(\\d+)/)[1];\r\n const index = customerTableMock.findIndex(el => el.id === +id);\r\n customerTableMock.splice(index, 1);\r\n if (!index === -1) {\r\n return [400];\r\n }\r\n\r\n return [200];\r\n });\r\n}\r\n\r\nfunction generateUserId() {\r\n const ids = customerTableMock.map(el => el.id);\r\n const maxId = Math.max(...ids);\r\n return maxId + 1;\r\n}\r\n","export default [\r\n {\r\n id: 1,\r\n So: \"123456789\",\r\n Customer: \"Lulu's\",\r\n Pu: \"Downey Ca\",\r\n Del: \"Chico Ca\",\r\n Cust: \"$2185\",\r\n Bid: \"$1800\",\r\n },\r\n {\r\n id: 2,\r\n So: \"123456789\",\r\n Customer: \"Lulu's\",\r\n Pu: \"Downey Ca\",\r\n Del: \"Chico Ca\",\r\n Cust: \"$2185\",\r\n Bid: \"$1800\",\r\n },\r\n {\r\n id: 3,\r\n So: \"123456789\",\r\n Customer: \"MBG\",\r\n Pu: \"Downey Ca\",\r\n Del: \"Lebec Ca\",\r\n Cust: \"$1800\",\r\n Bid: \"$1600\",\r\n },\r\n {\r\n id: 4,\r\n So: \"123456789\",\r\n Customer: \"MBG\",\r\n Pu: \"Downey Ca\",\r\n Del: \"Lebec Ca\",\r\n Cust: \"$1800\",\r\n Bid: \"$1600\",\r\n },\r\n];\r\n","import AssignmentsTableMock from \"./AssignmentsTableMock\";\r\nimport MockUtils from \"./mock.utils\";\r\n\r\nexport default function mockAssignments(mock) {\r\n mock.onPost(\"api/Assignments\").reply(({ data }) => {\r\n const { customer } = JSON.parse(data);\r\n const {\r\n So = \"\",\r\n Customer = \"\",\r\n Pu = \"\",\r\n Del = \"\",\r\n Cust = \"\",\r\n Bid = \"\",\r\n } = customer;\r\n\r\n const id = generateUserId();\r\n const newCustomer = {\r\n id,\r\n So,\r\n Customer,\r\n Pu,\r\n Del,\r\n Cust,\r\n Bid,\r\n };\r\n AssignmentsTableMock.push(newCustomer);\r\n return [200, { customer: newCustomer }];\r\n });\r\n\r\n mock.onPost(\"api/Assignments/find\").reply((config) => {\r\n const mockUtils = new MockUtils();\r\n const { queryParams } = JSON.parse(config.data);\r\n const filterdCustomers = mockUtils.baseFilter(\r\n AssignmentsTableMock,\r\n queryParams\r\n );\r\n return [200, filterdCustomers];\r\n });\r\n\r\n mock.onPost(\"api/Assignments/deleteCustomers\").reply((config) => {\r\n const { ids } = JSON.parse(config.data);\r\n ids.forEach((id) => {\r\n const index = AssignmentsTableMock.findIndex((el) => el.id === id);\r\n if (index > -1) {\r\n AssignmentsTableMock.splice(index, 1);\r\n }\r\n });\r\n return [200];\r\n });\r\n\r\n mock.onPost(\"api/Assignments/updateStatusForCustomers\").reply((config) => {\r\n const { ids, status } = JSON.parse(config.data);\r\n AssignmentsTableMock.forEach((el) => {\r\n if (ids.findIndex((id) => id === el.id) > -1) {\r\n el.status = status;\r\n }\r\n });\r\n return [200];\r\n });\r\n\r\n mock.onGet(/api\\/Assignments\\/\\d+/).reply((config) => {\r\n const id = config.url.match(/api\\/Assignments\\/(\\d+)/)[1];\r\n const customer = AssignmentsTableMock.find((el) => el.id === +id);\r\n if (!customer) {\r\n return [400];\r\n }\r\n\r\n return [200, customer];\r\n });\r\n\r\n mock.onPut(/api\\/Assignments\\/\\d+/).reply((config) => {\r\n const id = config.url.match(/api\\/Assignments\\/(\\d+)/)[1];\r\n const { customer } = JSON.parse(config.data);\r\n const index = AssignmentsTableMock.findIndex((el) => el.id === +id);\r\n if (!index) {\r\n return [400];\r\n }\r\n\r\n AssignmentsTableMock[index] = { ...customer };\r\n return [200];\r\n });\r\n\r\n mock.onDelete(/api\\/Assignments\\/\\d+/).reply((config) => {\r\n const id = config.url.match(/api\\/Assignments\\/(\\d+)/)[1];\r\n const index = AssignmentsTableMock.findIndex((el) => el.id === +id);\r\n AssignmentsTableMock.splice(index, 1);\r\n if (!index === -1) {\r\n return [400];\r\n }\r\n\r\n return [200];\r\n });\r\n}\r\n\r\nfunction generateUserId() {\r\n const ids = AssignmentsTableMock.map((el) => el.id);\r\n const maxId = Math.max(...ids);\r\n return maxId + 1;\r\n}\r\n","import MockUtils from \"./mock.utils\";\r\nimport { Notification } from \"../../../modules/Notification\";\r\nimport low from \"lowdb\";\r\nimport LocalStorage from \"lowdb/adapters/LocalStorage\";\r\nconst adapter = new LocalStorage(\"db\");\r\nconst db = low(adapter);\r\n\r\nlet commodityTableMock;\r\nexport default async function mockCommodities(mock) {\r\n function StatusMessage(res) {\r\n var status = res.status;\r\n var statusText = res.statusText;\r\n if (status === 200) {\r\n Notification(\"success\", \"success\");\r\n return true;\r\n } else if (status === 400) {\r\n Notification(\"error\", statusText);\r\n return false;\r\n }\r\n }\r\n\r\n async function GetCommodities() {\r\n return await fetch(window.$apiurl + \"/commodities\", {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n return ChangeId(res[1]);\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n\r\n async function PostCommodity(someData) {\r\n return fetch(window.$apiurl + \"/commodities\", {\r\n method: \"post\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(someData),\r\n })\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n return res[1];\r\n })\r\n .catch((err) => {\r\n console.log(err);\r\n });\r\n }\r\n\r\n async function PutCommodity(someData, id) {\r\n let userDate = someData[\"customer\"];\r\n return fetch(`${window.$apiurl}/commodities/${id}`, {\r\n method: \"put\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(userDate),\r\n })\r\n .then(async (response) => {\r\n return await response;\r\n })\r\n .then((res) => {\r\n return StatusMessage(res);\r\n })\r\n .catch((err) => {\r\n return StatusMessage(err);\r\n });\r\n }\r\n\r\n async function DeleteCommodity(id) {\r\n return await fetch(`${window.$apiurl}/commodities/${id}`, {\r\n method: \"delete\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n return response;\r\n })\r\n .then((res) => {\r\n return StatusMessage(res);\r\n })\r\n .catch((err) => {\r\n return StatusMessage(err);\r\n });\r\n }\r\n\r\n // Mock ---------------------------------------------------------------------------------\r\n\r\n mock.onPost(\"api/commodities\").reply(async ({ data }) => {\r\n const { customer } = JSON.parse(data);\r\n const { NMFC = \"\", Class = \"\", Description = \"\" } = customer;\r\n const newCommodity = {\r\n NMFC,\r\n Class,\r\n Description,\r\n };\r\n var postCommodity = await PostCommodity(newCommodity);\r\n newCommodity.id = postCommodity.Id;\r\n commodityTableMock.push(newCommodity);\r\n return [200, { customer: newCommodity }];\r\n });\r\n\r\n mock.onPost(\"api/commodities/find\").reply(async (config) => {\r\n const mockUtils = new MockUtils();\r\n const { queryParams } = JSON.parse(config.data);\r\n commodityTableMock = await GetCommodities();\r\n const filterdCommodities = mockUtils.baseFilter(\r\n commodityTableMock,\r\n queryParams\r\n );\r\n return [200, filterdCommodities];\r\n });\r\n\r\n mock.onGet(/api\\/commodities\\/\\d+/).reply(async (config) => {\r\n const id = config.url.match(/api\\/commodities\\/(\\d+)/)[1];\r\n const commodity = commodityTableMock.find((el) => el.id === +id);\r\n if (!commodity) {\r\n return [400];\r\n }\r\n return [200, commodity];\r\n });\r\n\r\n mock.onPut(/api\\/commodities\\/\\d+/).reply(async (config) => {\r\n const id = config.url.match(/api\\/commodities\\/(\\d+)/)[1];\r\n const Putcommodity = JSON.parse(config.data);\r\n const { commodity } = Putcommodity;\r\n var putCommodity = await PutCommodity(Putcommodity, id);\r\n if (!putCommodity) {\r\n return false;\r\n }\r\n const index = commodityTableMock.findIndex((el) => el.id === +id);\r\n if (index === -1) return [400];\r\n commodityTableMock[index] = { ...commodity };\r\n return [200];\r\n });\r\n\r\n mock.onDelete(/api\\/commodities\\/\\d+/).reply(async (config) => {\r\n const id = config.url.match(/api\\/commodities\\/(\\d+)/)[1];\r\n const index = commodityTableMock.findIndex((el) => el.id === +id);\r\n if (index === -1) return [400];\r\n var deleteCommodity = await DeleteCommodity(id);\r\n if (!deleteCommodity) return [400];\r\n commodityTableMock.splice(index, 1);\r\n return [200];\r\n });\r\n}\r\n\r\nfunction ChangeId(list) {\r\n for (var item in list) {\r\n list[item].id = list[item].Id;\r\n delete list[item].Id;\r\n }\r\n return list;\r\n}\r\n","import { Notification } from \"../../../modules/Notification\";\r\nimport low from \"lowdb\";\r\nimport LocalStorage from \"lowdb/adapters/LocalStorage\";\r\nconst adapter = new LocalStorage(\"db\");\r\nconst db = low(adapter);\r\n\r\nexport default async function mockClassifications(mock) {\r\n function StatusMessage(res) {\r\n var status = res.status;\r\n var statusText = res.statusText;\r\n if (status === 200) {\r\n return true;\r\n } else if (status === 400) {\r\n Notification(\"error\", statusText);\r\n return false;\r\n }\r\n }\r\n\r\n async function GetClassifications() {\r\n return await fetch(`${window.$apiurl}/classifications`, {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n return ChangeId(res[1]);\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n\r\n async function GetClassification(Id) {\r\n return await fetch(`${window.$apiurl}/classifications/${Id}`, {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n return res[1];\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n\r\n async function GetAllClassifications() {\r\n return await fetch(`${window.$apiurl}/classifications/all`, {\r\n method: \"get\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n \"Content-Type\": \"application/json\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n },\r\n })\r\n .then((res) => res.json())\r\n .then((res) => {\r\n return res;\r\n })\r\n .catch((err) => {\r\n Notification(\"error\", \"err\");\r\n return false;\r\n });\r\n }\r\n\r\n async function PostClassification(someData) {\r\n return fetch(`${window.$apiurl}/classifications`, {\r\n method: \"post\",\r\n withCredentials: true,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n },\r\n body: JSON.stringify(someData),\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n return res[1];\r\n })\r\n .catch((err) => {\r\n console.log(err);\r\n });\r\n }\r\n\r\n async function PutClassification(someData, id) {\r\n let userDate = someData[\"classification\"];\r\n return fetch(`${window.$apiurl}/classifications/${id}`, {\r\n method: \"put\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(userDate),\r\n })\r\n .then(async (response) => {\r\n return response;\r\n })\r\n .then((res) => {\r\n return StatusMessage(res);\r\n })\r\n .catch((err) => {\r\n return StatusMessage(err);\r\n });\r\n }\r\n\r\n async function DeleteClassification(id, deleteChildren) {\r\n return await fetch(\r\n `${window.$apiurl}/classifications/${id}?deleteChildren=${deleteChildren}`,\r\n {\r\n method: \"delete\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n }\r\n )\r\n .then(async (response) => {\r\n return response;\r\n })\r\n .then((res) => {\r\n return StatusMessage(res);\r\n })\r\n .catch((err) => {\r\n return StatusMessage(err);\r\n });\r\n }\r\n\r\n // Mock ---------------------------------------------------------------------------------\r\n mock.onGet(\"api/classifications\").reply(async () => {\r\n const obj = {};\r\n obj[\"AllClassifications\"] = await GetAllClassifications();\r\n obj[\"Classifications\"] = await GetClassifications();\r\n return [200, obj];\r\n });\r\n\r\n mock.onPost(\"api/classifications\").reply(async ({ data }) => {\r\n const { classification } = JSON.parse(data);\r\n const { Title = \"\", Description = \"\", ParentId } = classification;\r\n const newClassification = {\r\n Title,\r\n ParentId,\r\n Description,\r\n };\r\n await PostClassification(newClassification);\r\n return [200, { classification: newClassification }];\r\n });\r\n\r\n mock.onGet(/api\\/classifications\\/\\d+/).reply(async (config) => {\r\n const id = config.url.match(/api\\/classifications\\/(\\d+)/)[1];\r\n\r\n var getClassification = await GetClassification(id);\r\n if (!getClassification) {\r\n return [400];\r\n }\r\n return [200, getClassification];\r\n });\r\n\r\n mock.onPut(/api\\/classifications\\/\\d+/).reply(async (config) => {\r\n const id = config.url.match(/api\\/classifications\\/(\\d+)/)[1];\r\n const Putclassification = JSON.parse(config.data);\r\n var putClassification = await PutClassification(Putclassification, id);\r\n if (!putClassification) {\r\n return false;\r\n }\r\n return [200];\r\n });\r\n\r\n mock.onPost(/api\\/classifications\\/\\d+/).reply(async (config) => {\r\n const { classification } = JSON.parse(config.data);\r\n var deleteClassification = await DeleteClassification(\r\n classification.Id,\r\n classification.DeleteChildren\r\n );\r\n if (!deleteClassification) return [400];\r\n return [200];\r\n });\r\n}\r\n\r\nfunction ChangeId(list) {\r\n for (var item in list) {\r\n list[item].id = list[item].Id;\r\n delete list[item].Id;\r\n }\r\n return list;\r\n}\r\n","import low from \"lowdb\";\r\nimport LocalStorage from \"lowdb/adapters/LocalStorage\";\r\nconst adapter = new LocalStorage(\"db\");\r\nconst db = low(adapter);\r\n\r\nexport default async function mockPurchaseOrders(mock) {\r\n // async function GetClassification(Id) {\r\n // return await fetch(`${window.$apiurl}/classifications/${Id}`)\r\n // .then(async (response) => {\r\n // const statusCode = await response.status;\r\n // const data = await response.json();\r\n // return Promise.all([statusCode, data]);\r\n // })\r\n // .then((res) => {\r\n // return res[1];\r\n // })\r\n // .catch((error) => {\r\n // console.error(error);\r\n // });\r\n // }\r\n\r\n // async function GetAllClassifications() {\r\n // return await fetch(`${window.$apiurl}/classifications/all`, {\r\n // method: \"get\",\r\n // headers: {\r\n // Accept: \"application/json, text/plain, */*\",\r\n // \"Content-Type\": \"application/json\",\r\n // },\r\n // })\r\n // .then((res) => res.json())\r\n // .then((res) => {\r\n // return res;\r\n // })\r\n // .catch((err) => {\r\n // Notification(\"error\", \"err\");\r\n // return false;\r\n // });\r\n // }\r\n\r\n // async function GetAllClassifications() {\r\n // return await fetch(`${window.$apiurl}/classifications/all`)\r\n // .then(async (response) => {\r\n // const statusCode = await response.status;\r\n // const data = await response.json();\r\n // return Promise.all([statusCode, data]);\r\n // })\r\n // .then((res) => {\r\n // return ChangeId(res[1]);\r\n // })\r\n // .catch((error) => {\r\n // console.error(error);\r\n // });\r\n // }\r\n async function GetCustomers() {\r\n return await fetch(`${window.$apiurl}/customers`)\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n return ChangeId(res[1]);\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n\r\n async function GetPurchaseOrders() {\r\n return await fetch(`${window.$apiurl}/purchaseorders`, {\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n return ChangeId(res[1]);\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n\r\n async function GetPurchaseOrder(Id) {\r\n return await fetch(`${window.$apiurl}/purchaseorders/${Id}`, {\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n return res[1];\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n\r\n async function ClosePurchaseOrder(Id) {\r\n return await fetch(`${window.$apiurl}/purchaseorders/${Id}`, {\r\n method: \"DELETE\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n return statusCode;\r\n })\r\n .then((res) => {\r\n return res;\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n\r\n async function ImportPurchaseOrders(someData) {\r\n return fetch(`${window.$apiurl}/purchaseorders/import`, {\r\n method: \"post\",\r\n headers: { \"Content-Type\": \"application/json\" },\r\n body: JSON.stringify(someData),\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n let data = {};\r\n if (statusCode === 400) data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n return res;\r\n })\r\n .catch((err) => {\r\n console.log(err);\r\n });\r\n }\r\n\r\n async function PostPurchaseOrder(someData) {\r\n return fetch(`${window.$apiurl}/purchaseorders`, {\r\n method: \"post\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(someData),\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n let data = {};\r\n //if (statusCode === 400)\r\n data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n return res;\r\n })\r\n .catch((err) => {\r\n console.log(err);\r\n });\r\n }\r\n\r\n async function PutPurchaseOrder(someData, id) {\r\n let purchaseorder = someData[\"purchaseOrder\"];\r\n return fetch(`${window.$apiurl}/purchaseorders/${id}`, {\r\n method: \"put\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(purchaseorder),\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n let data = {};\r\n if (statusCode === 400) data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n return res;\r\n })\r\n .catch((err) => {\r\n return err;\r\n });\r\n }\r\n\r\n async function GetSuppliers(id) {\r\n return await fetch(`${window.$apiurl}/suppliers/${id}`, {\r\n method: \"get\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n return res[1];\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n\r\n async function GetSupplier(Id) {\r\n return await fetch(`${window.$apiurl}/suppliers/${Id}/details`, {\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n return res[1];\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n\r\n // Mock ---------------------------------------------------------------------------------\r\n // mock.onGet(\"api/classifications\").reply(async () => {\r\n // const obj = {};\r\n // obj[\"AllClassifications\"] = await GetAllClassifications();\r\n // //obj[\"Classifications\"] = await GetClassifications();\r\n // return [200, obj];\r\n // });\r\n\r\n mock.onGet(\"api/purchaseorders/getcustomers\").reply(async () => {\r\n const obj = await GetCustomers();\r\n return [200, obj];\r\n });\r\n\r\n mock.onGet(\"api/purchaseorders\").reply(async () => {\r\n const obj = await GetPurchaseOrders();\r\n return [200, obj];\r\n });\r\n\r\n mock.onGet(/api\\/purchaseorders\\/\\d+/).reply(async (config) => {\r\n const id = config.url.match(/api\\/purchaseorders\\/(\\d+)/)[1];\r\n const obj = await GetPurchaseOrder(id);\r\n if (!obj) {\r\n return [400];\r\n }\r\n return [200, obj];\r\n });\r\n\r\n mock.onPost(\"api/purchaseorders/import\").reply(async ({ data }) => {\r\n const purchaseOrders = JSON.parse(data);\r\n var result = await ImportPurchaseOrders(purchaseOrders);\r\n if (result === undefined || result[0] === 200)\r\n return [200, { success: true }];\r\n else {\r\n result[1].success = false;\r\n return [200, result[1]];\r\n }\r\n });\r\n\r\n mock.onPost(`api/purchaseorders`).reply(async (config) => {\r\n const { purchaseOrder } = JSON.parse(config.data);\r\n var result = await PostPurchaseOrder(purchaseOrder);\r\n if (result === undefined || result[0] === 200)\r\n return [200, { success: true, data: result[1] }];\r\n else {\r\n result[1].success = false;\r\n return [200, result[1]];\r\n }\r\n });\r\n\r\n mock.onDelete(/api\\/purchaseorders\\/\\d+/).reply(async (config) => {\r\n const id = config.url.match(/api\\/purchaseorders\\/(\\d+)/)[1];\r\n const obj = await ClosePurchaseOrder(id);\r\n if (!obj || obj !== 200) {\r\n return [400];\r\n }\r\n return [200];\r\n });\r\n\r\n mock.onPut(/api\\/purchaseorders\\/\\d+/).reply(async (config) => {\r\n const id = config.url.match(/api\\/purchaseorders\\/(\\d+)/)[1];\r\n const purhcaseorder = JSON.parse(config.data);\r\n var result = await PutPurchaseOrder(purhcaseorder, id);\r\n if (result === undefined || result[0] === 200)\r\n return [200, { success: true }];\r\n else {\r\n result[1].success = false;\r\n return [200, result[1]];\r\n }\r\n });\r\n\r\n mock.onGet(/api\\/purchaseorders\\/suppliers\\/\\d+/).reply(async (config) => {\r\n const id = config.url.match(/api\\/purchaseorders\\/suppliers\\/(\\d+)/)[1];\r\n var getSuppliers = await GetSuppliers(id);\r\n if (!getSuppliers) return [400];\r\n return [200, getSuppliers];\r\n });\r\n\r\n mock\r\n .onGet(/api\\/purchaseorders\\/suppliers\\/details\\/\\d+/)\r\n .reply(async (config) => {\r\n const id = config.url.match(\r\n /api\\/purchaseorders\\/suppliers\\/details\\/(\\d+)/\r\n )[1];\r\n var getSupplier = await GetSupplier(id);\r\n if (!getSupplier) return [400];\r\n return [200, getSupplier];\r\n });\r\n}\r\n\r\n// mock.onGet(/api\\/classifications\\/\\d+/).reply(async (config) => {\r\n// const id = config.url.match(/api\\/classifications\\/(\\d+)/)[1];\r\n\r\n// var getClassification = await GetClassification(id);\r\n// if (!getClassification) {\r\n// return [400];\r\n// }\r\n// return [200, getClassification];\r\n// });\r\n\r\nfunction ChangeId(list) {\r\n for (var item in list) {\r\n list[item].id = list[item].Id;\r\n delete list[item].Id;\r\n }\r\n return list;\r\n}\r\n","import moment from \"moment\";\r\nexport default class MockUtils {\r\n /**\r\n * Filtration with sorting\r\n * First do Sort then filter\r\n *\r\n * @param _entities: any[]\r\n * @param _queryParams: QueryParamsModel\r\n * @param _filtrationFields: string[]\r\n */\r\n baseFilter(_entities, _queryParams, _filtrationFields = []) {\r\n // Filtration\r\n let entitiesResult = this.searchInArray(\r\n _entities,\r\n _queryParams.filter,\r\n _filtrationFields\r\n );\r\n\r\n // Sorting\r\n // start\r\n if (_queryParams.sortField) {\r\n entitiesResult = this.sortArray(\r\n entitiesResult,\r\n _queryParams.sortField,\r\n _queryParams.sortOrder\r\n );\r\n }\r\n // end\r\n\r\n // Paginator\r\n // start\r\n const pageNumber = _queryParams.pageNumber - 1;\r\n const totalCount = entitiesResult.length;\r\n const initialPos = pageNumber * _queryParams.pageSize;\r\n entitiesResult = entitiesResult.slice(\r\n initialPos,\r\n initialPos + _queryParams.pageSize\r\n );\r\n // end\r\n\r\n const queryResults = {\r\n entities: entitiesResult,\r\n totalCount: totalCount,\r\n errorMessage: \"\",\r\n };\r\n return queryResults;\r\n }\r\n\r\n /**\r\n * Sort array by field name and order-type\r\n * @param _incomingArray: any[]\r\n * @param _sortField: string\r\n * @param _sortOrder: string\r\n */\r\n sortArray(_incomingArray, _sortField = \"\", _sortOrder = \"asc\") {\r\n if (!_sortField) {\r\n return _incomingArray;\r\n }\r\n var hasdate = false;\r\n new Promise((resolve, reject) => {\r\n _incomingArray.forEach((value, index, array) => {\r\n if (\r\n moment(\r\n value[_sortField] !== null\r\n ? String(value[_sortField]).slice(0, 10)\r\n : \"\",\r\n \"YYYY-MM-DD\",\r\n true\r\n ).isValid()\r\n ) {\r\n hasdate = true;\r\n }\r\n if (index === _incomingArray.length - 1) {\r\n resolve();\r\n }\r\n });\r\n });\r\n let result = [];\r\n result = _incomingArray.sort((a, b) => {\r\n if (hasdate) {\r\n if (new Date(a[_sortField]) < new Date(b[_sortField])) {\r\n return _sortOrder === \"asc\" ? -1 : 1;\r\n }\r\n\r\n if (new Date(a[_sortField]) > new Date(b[_sortField])) {\r\n return _sortOrder === \"asc\" ? 1 : -1;\r\n }\r\n return 0;\r\n } else {\r\n if (a[_sortField] < b[_sortField]) {\r\n return _sortOrder === \"asc\" ? -1 : 1;\r\n }\r\n\r\n if (a[_sortField] > b[_sortField]) {\r\n return _sortOrder === \"asc\" ? 1 : -1;\r\n }\r\n return 0;\r\n }\r\n });\r\n return result;\r\n }\r\n\r\n /**\r\n * Filter array by some fields\r\n *\r\n * @param _incomingArray: any[]\r\n * @param _queryObj: any\r\n * @param _filtrationFields: string[]\r\n */\r\n searchInArray(_incomingArray, _queryObj, _filtrationFields = []) {\r\n const result = [];\r\n let resultBuffer = [];\r\n const indexes = [];\r\n let firstIndexes = [];\r\n let doSearch = false;\r\n\r\n _filtrationFields.forEach((item) => {\r\n if (item in _queryObj) {\r\n _incomingArray.forEach((element, index) => {\r\n if (element[item] === _queryObj[item]) {\r\n firstIndexes.push(index);\r\n }\r\n });\r\n firstIndexes.forEach((element) => {\r\n resultBuffer.push(_incomingArray[element]);\r\n });\r\n _incomingArray = resultBuffer.slice(0);\r\n resultBuffer = [].slice(0);\r\n firstIndexes = [].slice(0);\r\n }\r\n });\r\n\r\n _incomingArray.forEach((element, index) => {\r\n var check = true;\r\n Object.keys(_queryObj).forEach((key) => {\r\n const searchText = _queryObj[key]\r\n .toString()\r\n .trim()\r\n .toLowerCase();\r\n if (key && !_filtrationFields.some((e) => e === key) && searchText) {\r\n doSearch = true;\r\n try {\r\n if (element[key] === false) element[key] = \"false\";\r\n if (element[key] || (element[key] === 0 && searchText === \"0\")) {\r\n const _val = element[key]\r\n .toString()\r\n .trim()\r\n .toLowerCase();\r\n if (\r\n _val.indexOf(searchText) <= -1 ||\r\n indexes.indexOf(index) !== -1\r\n ) {\r\n check = false;\r\n }\r\n }\r\n } catch (ex) {\r\n console.log(ex, key, searchText);\r\n }\r\n }\r\n });\r\n if (check) {\r\n indexes.push(index);\r\n }\r\n });\r\n\r\n if (!doSearch) {\r\n return _incomingArray;\r\n }\r\n\r\n indexes.forEach((re) => {\r\n result.push(_incomingArray[re]);\r\n });\r\n\r\n return result;\r\n }\r\n}\r\n","import MockUtils from \"./mock.utils4\";\r\nimport { Notification } from \"../../../modules/Notification\";\r\nimport low from \"lowdb\";\r\nimport LocalStorage from \"lowdb/adapters/LocalStorage\";\r\nconst adapter = new LocalStorage(\"db\");\r\nconst db = low(adapter);\r\nlet customerTableMock;\r\nexport default function mockManageCustomer(mock) {\r\n function StatusMessage(res) {\r\n var status = res.status;\r\n var statusText = res.statusText;\r\n if (status === 200) {\r\n Notification(\"success\", \"success\");\r\n return true;\r\n } else if (status === 400) {\r\n Notification(\"error\", statusText);\r\n return false;\r\n }\r\n }\r\n\r\n async function GetCustomers() {\r\n return await fetch(window.$apiurl + \"/Customers\", {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n return ChangeId(res[1]);\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n\r\n async function PostCustomer(someData) {\r\n return fetch(window.$apiurl + \"/customers/new\", {\r\n method: \"post\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(someData),\r\n })\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n return res[1];\r\n })\r\n .catch((error) => {\r\n //console.error(error);\r\n });\r\n }\r\n\r\n async function PutCustomer(someData, id) {\r\n return fetch(window.$apiurl + \"/Customers/\" + id, {\r\n method: \"put\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(someData),\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n window.$statusPut = statusCode;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n return res;\r\n })\r\n .catch((err) => {\r\n return StatusMessage(err);\r\n });\r\n }\r\n\r\n async function DeleteCustomer(id) {\r\n return await fetch(window.$apiurl + \"/Customers/\" + id, {\r\n method: \"delete\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n return response;\r\n })\r\n .then((res) => {\r\n return StatusMessage(res);\r\n })\r\n .catch((err) => {\r\n return StatusMessage(err);\r\n });\r\n }\r\n\r\n async function GetCountry() {\r\n return await fetch(window.$apiurl + \"/Customers/getviewmodel\", {\r\n method: \"get\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then((res) => res.json())\r\n .then((res) => {\r\n return res;\r\n })\r\n .catch((err) => {\r\n Notification(\"error\", \"err\");\r\n return false;\r\n });\r\n }\r\n async function GetCustomer(id) {\r\n return await fetch(window.$apiurl + \"/Customers/\" + id, {\r\n method: \"get\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then((res) => res.json())\r\n .then((res) => {\r\n return res;\r\n })\r\n .catch((err) => {\r\n Notification(\"error\", \"err\");\r\n return false;\r\n });\r\n }\r\n async function GetWarhouses() {\r\n return await fetch(window.$apiurl + \"/Orders/GetWarehousesForOptions\", {\r\n method: \"get\",\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then((res) => res.json())\r\n .then((res) => {\r\n return res;\r\n })\r\n .catch((err) => {\r\n Notification(\"error\", \"err\");\r\n return false;\r\n });\r\n }\r\n // Mock ---------------------------------------------------------------------------------\r\n mock.onGet(\"api/ManageCustomer/GetAllApi\").reply(async () => {\r\n const obj = {};\r\n obj[\"country\"] = await GetCountry();\r\n obj[\"warhousesList\"] = await GetWarhouses();\r\n return [200, obj];\r\n });\r\n\r\n mock.onPost(\"/api/ManageCustomer\").reply(async ({ data }) => {\r\n const message = \"\";\r\n const { customer } = JSON.parse(data);\r\n const {\r\n CompanyName = \"\",\r\n PhoneNumber = \"\",\r\n ExternalId = \"\",\r\n Fax = \"\",\r\n Website = \"\",\r\n Email = \"\",\r\n Country = \"\",\r\n State = \"\",\r\n Address1 = \"\",\r\n Address2 = \"\",\r\n City = \"\",\r\n PetroleumZoneId = \"\",\r\n FuelSurchargeMethodId = 0,\r\n MethodFuelSurchargeName = \"\",\r\n ZoneName = \"\",\r\n PostalCode = \"\",\r\n ContactName = \"\",\r\n ContactPhone = \"\",\r\n ContactEmail = \"\",\r\n LocationOptionId = 1,\r\n MovableUnitOptionId = 1,\r\n SupplierOptionId = 1,\r\n InvoicingOptionId = 1,\r\n CarrierInfoOptionId = 1,\r\n CreateInvoicesOptionId = 1,\r\n FuelSurchargePercentage = 0,\r\n TurnTimes = 3,\r\n UspNumber = \"\",\r\n fedExNumber = \"\",\r\n CarrierPostalCode = \"\",\r\n AccountingName = \"\",\r\n InterchangeId = \"\",\r\n IdQualifier = \"\",\r\n EwmsInterchangeId = \"\",\r\n EwmsIdQualifier = \"\",\r\n SpsTradingPartnerId = \"\",\r\n LowCube = \"85\",\r\n ManufacturingId = \"\",\r\n VicsBillLadingId = \"\",\r\n AutoAllocate = false,\r\n SplitMovableUnit = false,\r\n SuggestedPutWay = false,\r\n ReceiveAgaintAsn = false,\r\n UseBlindReceipt = false,\r\n DefaultQuantity = false,\r\n FileImportTracking = false,\r\n AllocateOrderManually = false,\r\n AutomaticallyTrackBy = false,\r\n RequireScac = false,\r\n ConnectionUpdatesTracking = false,\r\n RequireOrderClosed = false,\r\n ScannerApplication = false,\r\n RequireTrackingNumber = false,\r\n FullMovableUnits = false,\r\n LocationIdentifierReport = false,\r\n EnableCustomFields = false,\r\n AllowPurchaseOrder = false,\r\n EnableDashboard = false,\r\n InvoiceConfirmation = false,\r\n UseTransactionBillNumber = false,\r\n DisplayVendorId = false,\r\n IsActive = true,\r\n RequireCarrier = false,\r\n RequireLoadNumber = false,\r\n RequireLadingNumber = false,\r\n RequirePurchaseOrder = false,\r\n PackageCount = false,\r\n OneFileAtLeast = false,\r\n TotalPackageVolume = false,\r\n TotalPackageWeight = false,\r\n WarehousesAccess,\r\n WeightLimit = null,\r\n Contacts = [],\r\n CustomerServiceLevels = [],\r\n Status = 0,\r\n POManage = false,\r\n PrimaryWarehouseId,\r\n BillingAddressId,\r\n Sales = \"\",\r\n CreditLimit = 0,\r\n Balance = 0,\r\n LineHaulDefaultPercentage = 0,\r\n FuelPercentage = 0,\r\n InboundInvoiceOptionId = null,\r\n InboundInvoiceGrpOptionId = null,\r\n NetTermId = null,\r\n IsPodRequired = false,\r\n InboundManifestHasUpc = false,\r\n AvgDaysToRelease = 0,\r\n AvgDaysToPickupOn = 0,\r\n AvgDaysToDevan = 0,\r\n AvgDaysToPickup = 0,\r\n AvgDaysToReleaseHot = 0,\r\n AvgDaysToPickupOnHot = 0,\r\n AvgDaysToDevanHot = 0,\r\n AvgDaysToPickupHot = 0,\r\n DefaultModeId = 0,\r\n DefaultServiceId = 0,\r\n DefaultServiceLevelId = 0,\r\n \r\n TransitDays = 0,\r\n IsOnHold = false,\r\n AvgDaysToDischarge = 0,\r\n AvgDaysToAppointment = 0,\r\n AvgDaysToReceived = 0,\r\n AvgDaysToHotFlag = 0,\r\n \r\n } = customer;\r\n const id = generateUserId();\r\n const newCustomer = {\r\n id,\r\n CompanyName,\r\n PhoneNumber,\r\n ExternalId,\r\n Fax,\r\n Website,\r\n Email,\r\n Country,\r\n State,\r\n Address1,\r\n Address2,\r\n City,\r\n PostalCode,\r\n FuelSurchargeMethodId,\r\n MethodFuelSurchargeName,\r\n PetroleumZoneId,\r\n ZoneName,\r\n ContactName,\r\n ContactPhone,\r\n ContactEmail,\r\n CustomerServiceLevels,\r\n LocationOptionId,\r\n MovableUnitOptionId,\r\n SupplierOptionId,\r\n InvoicingOptionId,\r\n CarrierInfoOptionId,\r\n CreateInvoicesOptionId,\r\n FuelSurchargePercentage,\r\n TurnTimes,\r\n UspNumber,\r\n fedExNumber,\r\n CarrierPostalCode,\r\n AccountingName,\r\n InterchangeId,\r\n IdQualifier,\r\n EwmsInterchangeId,\r\n EwmsIdQualifier,\r\n SpsTradingPartnerId,\r\n DefaultModeId,\r\n DefaultServiceId,\r\n DefaultServiceLevelId,\r\n LowCube,\r\n VicsBillLadingId,\r\n ManufacturingId,\r\n AutoAllocate,\r\n SplitMovableUnit,\r\n SuggestedPutWay,\r\n ReceiveAgaintAsn,\r\n UseBlindReceipt,\r\n DefaultQuantity,\r\n FileImportTracking,\r\n AllocateOrderManually,\r\n AutomaticallyTrackBy,\r\n RequireScac,\r\n ConnectionUpdatesTracking,\r\n RequireOrderClosed,\r\n ScannerApplication,\r\n RequireTrackingNumber,\r\n FullMovableUnits,\r\n LocationIdentifierReport,\r\n EnableCustomFields,\r\n AllowPurchaseOrder,\r\n EnableDashboard,\r\n InvoiceConfirmation,\r\n UseTransactionBillNumber,\r\n DisplayVendorId,\r\n IsActive,\r\n RequireCarrier,\r\n RequireLoadNumber,\r\n RequireLadingNumber,\r\n RequirePurchaseOrder,\r\n PackageCount,\r\n OneFileAtLeast,\r\n TotalPackageVolume,\r\n TotalPackageWeight,\r\n WarehousesAccess,\r\n Contacts,\r\n Status,\r\n WeightLimit,\r\n POManage,\r\n PrimaryWarehouseId,\r\n BillingAddressId,\r\n Sales,\r\n CreditLimit,\r\n Balance,\r\n LineHaulDefaultPercentage,\r\n FuelPercentage,\r\n InboundInvoiceOptionId,\r\n InboundInvoiceGrpOptionId,\r\n NetTermId,\r\n IsPodRequired,\r\n InboundManifestHasUpc,\r\n AvgDaysToRelease,\r\n AvgDaysToPickupOn,\r\n AvgDaysToDevan,\r\n AvgDaysToPickup,\r\n AvgDaysToReleaseHot,\r\n AvgDaysToPickupOnHot,\r\n AvgDaysToDevanHot,\r\n AvgDaysToPickupHot,\r\n IsOnHold,\r\n AvgDaysToDischarge ,\r\n AvgDaysToAppointment,\r\n AvgDaysToReceived,\r\n AvgDaysToHotFlag,\r\n };\r\n var postOrder = await PostCustomer(newCustomer);\r\n if (postOrder.Code === \"200\") {\r\n postOrder.id = postOrder.Id;\r\n customerTableMock.push(newCustomer);\r\n window.$ManageCustomerPost = 200;\r\n document.getElementById(\"ReLoadTableId\").click();\r\n return [\r\n 200,\r\n { customer: newCustomer, message: \"postOrder.Message\", success: true },\r\n ];\r\n } else {\r\n window.$ManageCustomerPost = 400;\r\n window.$ManageCustomerPostMessage = postOrder.Message;\r\n document.getElementById(\"ReLoadTableId\").click();\r\n return [\r\n 200,\r\n { customer: newCustomer, message: postOrder.Message, success: false },\r\n ];\r\n }\r\n });\r\n\r\n mock.onPost(\"/api/ManageCustomer/find\").reply(async (config) => {\r\n const mockUtils = new MockUtils();\r\n const { queryParams } = JSON.parse(config.data);\r\n if (\r\n window.$GlobalSearchCustomerid !== null &&\r\n window.$GlobalSearchCustomerid !== undefined\r\n ) {\r\n queryParams.filter.id = window.$GlobalSearchCustomerid;\r\n }\r\n customerTableMock = await GetCustomers();\r\n delete queryParams.filter.ReLoadTable;\r\n const filterdCustomers = mockUtils.baseFilter(\r\n customerTableMock,\r\n queryParams\r\n );\r\n return [200, filterdCustomers];\r\n });\r\n mock.onPost(\"/api/ManageCustomer/filter\").reply(async (config) => {\r\n const mockUtils = new MockUtils();\r\n const { queryParams } = JSON.parse(config.data);\r\n customerTableMock = await GetCustomers();\r\n delete queryParams.filter.ReLoadTable;\r\n const filterdCustomers = mockUtils.baseFilter(\r\n customerTableMock,\r\n queryParams\r\n );\r\n return [200, filterdCustomers];\r\n });\r\n mock.onPost(\"/api/ManageCustomer/deleteCustomers\").reply((config) => {\r\n const { ids } = JSON.parse(config.data);\r\n ids.forEach((id) => {\r\n const index = customerTableMock.findIndex((el) => el.id === id);\r\n if (index > -1) {\r\n customerTableMock.splice(index, 1);\r\n }\r\n });\r\n return [200];\r\n });\r\n\r\n mock.onPost(\"api/ManageCustomer/updateStatusForCustomers\").reply((config) => {\r\n const { ids, status } = JSON.parse(config.data);\r\n customerTableMock.forEach((el) => {\r\n if (ids.findIndex((id) => id === el.id) > -1) {\r\n el.status = status;\r\n }\r\n });\r\n return [200];\r\n });\r\n\r\n mock.onGet(/api\\/ManageCustomer\\/\\d+/).reply(async (config) => {\r\n const id = config.url.match(/api\\/ManageCustomer\\/(\\d+)/)[1];\r\n const customer = await GetCustomer(id);\r\n if (!customer) {\r\n return [400];\r\n }\r\n customer.Website = customer.WebSite;\r\n return [200, customer];\r\n });\r\n\r\n mock.onPut(/api\\/ManageCustomer\\/\\d+/).reply(async (config) => {\r\n const id = config.url.match(/api\\/ManageCustomer\\/(\\d+)/)[1];\r\n const data = JSON.parse(config.data);\r\n const { customer } = data;\r\n await PutCustomer(customer, id);\r\n const index = customerTableMock.findIndex((el) => el.id === +id);\r\n customerTableMock[index] = { ...customer };\r\n document.getElementById(\"ReLoadTableId\").click();\r\n return [200];\r\n });\r\n\r\n mock.onDelete(/api\\/ManageCustomer\\/\\d+/).reply(async (config) => {\r\n const id = config.url.match(/api\\/ManageCustomer\\/(\\d+)/)[1];\r\n const index = customerTableMock.findIndex((el) => el.id === +id);\r\n if (index === -1) return [400];\r\n var deleteObj = await DeleteCustomer(id);\r\n if (!deleteObj) return [400];\r\n customerTableMock.splice(index, 1);\r\n return [200];\r\n });\r\n}\r\n\r\nfunction generateUserId() {\r\n const ids = customerTableMock.map((el) => el.id);\r\n const maxId = Math.max(...ids);\r\n return maxId + 1;\r\n}\r\n\r\nfunction ChangeId(list) {\r\n for (var item in list) {\r\n list[item].id = list[item].Id;\r\n delete list[item].Id;\r\n }\r\n return list;\r\n}\r\n","import MockUtils from \"./mock.utils\";\r\nimport { Notification } from \"../../../modules/Notification\";\r\nimport low from \"lowdb\";\r\nimport LocalStorage from \"lowdb/adapters/LocalStorage\";\r\nconst adapter = new LocalStorage(\"db\");\r\nconst db = low(adapter);\r\nlet customerTableMock;\r\nexport default async function mockManageWarehouse(mock) {\r\n function StatusMessage(res) {\r\n var status = res.status;\r\n var statusText = res.statusText;\r\n if (status === 200) {\r\n Notification(\"success\", \"success\");\r\n return true;\r\n } else if (status === 400) {\r\n Notification(\"error\", statusText);\r\n return false;\r\n }\r\n }\r\n\r\n async function GetWarehouses() {\r\n return await fetch(window.$apiurl + \"/warehouses\", {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n return ChangeId(res[1]);\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n\r\n async function PostWarehouse(someData) {\r\n return fetch(window.$apiurl + \"/warehouses\", {\r\n method: \"post\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(someData),\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n return res[1];\r\n })\r\n .catch((error) => {\r\n //console.error(error);\r\n });\r\n }\r\n\r\n async function PutWarehouse(someData, id) {\r\n let userDate = someData[\"customer\"];\r\n return fetch(window.$apiurl + \"/warehouses/\" + id, {\r\n method: \"put\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(userDate),\r\n })\r\n .then(async (response) => {\r\n return response;\r\n })\r\n .then((res) => {\r\n return StatusMessage(res);\r\n })\r\n .catch((err) => {\r\n return StatusMessage(err);\r\n });\r\n }\r\n\r\n async function DeleteWarehouse(id) {\r\n return await fetch(window.$apiurl + \"/warehouses/\" + id, {\r\n method: \"delete\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n return response;\r\n })\r\n .then((res) => {\r\n return StatusMessage(res);\r\n })\r\n .catch((err) => {\r\n return StatusMessage(err);\r\n });\r\n }\r\n\r\n async function GetTimeZoneInfo() {\r\n return await fetch(window.$apiurl + \"/timezones\", {\r\n method: \"get\",\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then((res) => res.json())\r\n .then((res) => {\r\n return res;\r\n })\r\n .catch((err) => {\r\n Notification(\"error\", \"err\");\r\n return false;\r\n });\r\n }\r\n\r\n async function GetCountries() {\r\n return await fetch(window.$apiurl + \"/countries\", {\r\n method: \"get\",\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then((res) => res.json())\r\n .then((res) => {\r\n return res;\r\n })\r\n .catch((err) => {\r\n Notification(\"error\", \"err\");\r\n return false;\r\n });\r\n }\r\n\r\n // Mock ---------------------------------------------------------------------------------\r\n mock.onGet(\"api/Warehouses/GetAllApi\").reply(async () => {\r\n const obj = {};\r\n obj[\"TimeZoneInfo\"] = await GetTimeZoneInfo();\r\n obj[\"Countries\"] = await GetCountries();\r\n return [200, obj];\r\n });\r\n\r\n mock.onGet(\"api/Warehouses/GetWarehouses\").reply(async () => {\r\n const obj = {};\r\n obj[\"GetWarehouses\"] = await GetWarehouses();\r\n return [200, obj];\r\n });\r\n\r\n mock.onPost(\"api/ManageWarehouse\").reply(async ({ data }) => {\r\n const { customer } = JSON.parse(data);\r\n const {\r\n Name = \"\",\r\n Code = \"\",\r\n Email = \"\",\r\n PhoneNumber = \"\",\r\n TimeZone = \"\",\r\n UpsNumber = \"\",\r\n FedExNumber = \"\",\r\n FuelSurcharge = \"\",\r\n FreightRate = \"\",\r\n Fax = \"\",\r\n NumberPerLocation = 1,\r\n Address1 = \"\",\r\n Address2 = \"\",\r\n ZipCode = \"\",\r\n Country = \"\",\r\n City = \"\",\r\n State = \"\",\r\n IsMetric = true,\r\n Status = 1,\r\n ExternalId=null,\r\n IsActive = 1,\r\n Contacts = [],\r\n } = customer;\r\n\r\n const newCustomer = {\r\n Name,\r\n Code,\r\n Email,\r\n PhoneNumber,\r\n IsMetric,\r\n TimeZone,\r\n UpsNumber,\r\n FedExNumber,\r\n FuelSurcharge,\r\n FreightRate,\r\n Fax,\r\n NumberPerLocation,\r\n Address1,\r\n Address2,\r\n ZipCode,\r\n Country,\r\n City,\r\n State,\r\n Status,\r\n ExternalId,\r\n IsActive,\r\n Contacts,\r\n };\r\n var postWarehouse = await PostWarehouse(newCustomer);\r\n if (postWarehouse.Code === \"003\") {\r\n Notification(\"error\", postWarehouse.Message);\r\n } else if (postWarehouse.Code === \"004\") {\r\n Notification(\"error\", postWarehouse.Message);\r\n } else {\r\n Notification(\"success\", postWarehouse.Message);\r\n }\r\n document.getElementById(\"ReLoadTableId\").click();\r\n customerTableMock.push(newCustomer);\r\n return [200, { customer: newCustomer }];\r\n });\r\n\r\n mock.onPost(\"api/ManageWarehouse/find\").reply(async (config) => {\r\n const mockUtils = new MockUtils();\r\n const { queryParams } = JSON.parse(config.data);\r\n customerTableMock = await GetWarehouses();\r\n //Filter\r\n if (\r\n queryParams.filter.Name !== \"\" &&\r\n queryParams.filter.Name !== undefined\r\n ) {\r\n const filterSearchText = queryParams.filter.Name.toLowerCase();\r\n customerTableMock = customerTableMock.filter(\r\n (word) =>\r\n String(word.Name.toLowerCase()).includes(String(filterSearchText)) ||\r\n String(word.Address1.toLowerCase()).includes(\r\n String(filterSearchText)\r\n ) ||\r\n String(word.City.toLowerCase()).includes(String(filterSearchText)) ||\r\n String(word.State.toLowerCase()).includes(String(filterSearchText)) ||\r\n String(word.id).includes(String(queryParams.filter.Name))\r\n );\r\n }\r\n delete queryParams.filter.ReLoadTable;\r\n delete queryParams.filter.Name;\r\n const filterdCustomers = mockUtils.baseFilter(\r\n customerTableMock,\r\n queryParams\r\n );\r\n return [200, filterdCustomers];\r\n });\r\n\r\n mock.onPost(\"api/ManageWarehouse/filter\").reply(async (config) => {\r\n const mockUtils = new MockUtils();\r\n const { queryParams } = JSON.parse(config.data);\r\n customerTableMock = await GetWarehouses();\r\n delete queryParams.filter.ReLoadTable;\r\n const filterdCustomers = mockUtils.baseFilter(\r\n customerTableMock,\r\n queryParams\r\n );\r\n return [200, filterdCustomers];\r\n });\r\n mock.onPost(\"api/ManageWarehouse/deleteCustomers\").reply(async (config) => {\r\n const { ids } = JSON.parse(config.data);\r\n ids.forEach((id) => {\r\n const index = customerTableMock.findIndex((el) => el.id === id);\r\n if (index > -1) {\r\n customerTableMock.splice(index, 1);\r\n }\r\n });\r\n return [200];\r\n });\r\n\r\n mock\r\n .onPost(\"api/ManageWarehouse/updateStatusForCustomers\")\r\n .reply(async (config) => {\r\n const { ids, status } = JSON.parse(config.data);\r\n customerTableMock.forEach((el) => {\r\n if (ids.findIndex((id) => id === el.id) > -1) {\r\n el.status = status;\r\n }\r\n });\r\n return [200];\r\n });\r\n\r\n mock.onGet(/api\\/ManageWarehouse\\/\\d+/).reply(async (config) => {\r\n const id = config.url.match(/api\\/ManageWarehouse\\/(\\d+)/)[1];\r\n const customer = customerTableMock.find((el) => el.id === +id);\r\n if (!customer) {\r\n return [400];\r\n }\r\n return [200, customer];\r\n });\r\n\r\n mock.onPut(/api\\/ManageWarehouse\\/\\d+/).reply(async (config) => {\r\n const id = config.url.match(/api\\/ManageWarehouse\\/(\\d+)/)[1];\r\n const Putcustomer = JSON.parse(config.data);\r\n const { customer } = Putcustomer;\r\n var putObj = await PutWarehouse(Putcustomer, id);\r\n if (!putObj) {\r\n return [400];\r\n }\r\n const index = customerTableMock.findIndex((el) => el.id === +id);\r\n if (index === -1) {\r\n return [400];\r\n }\r\n customerTableMock[index] = { ...customer };\r\n return [200];\r\n });\r\n\r\n mock.onDelete(/api\\/ManageWarehouse\\/\\d+/).reply(async (config) => {\r\n const id = config.url.match(/api\\/ManageWarehouse\\/(\\d+)/)[1];\r\n const index = customerTableMock.findIndex((el) => el.id === +id);\r\n if (index === -1) {\r\n return [400];\r\n }\r\n var deleteObj = await DeleteWarehouse(id);\r\n if (!deleteObj) {\r\n return [400];\r\n }\r\n customerTableMock.splice(index, 1);\r\n return [200];\r\n });\r\n}\r\n\r\nfunction ChangeId(list) {\r\n for (var item in list) {\r\n list[item].id = list[item].Id;\r\n delete list[item].Id;\r\n }\r\n return list;\r\n}\r\n\r\nfunction generateUserId() {\r\n const ids = customerTableMock.map((el) => el.id);\r\n const maxId = Math.max(...ids);\r\n return maxId + 1;\r\n}\r\n","export default [\r\n {\r\n id: 1,\r\n Description: \"Curabitur non nulla sit amet nisl \",\r\n Addr1Label: \"Curabitur non nulla sit amet nisl \",\r\n Addr1Source: \"Curabitur non nulla sit amet nisl\",\r\n Addr2Label: \"Curabitur non nulla sit amet nisl\",\r\n Addr2Source: \"Curabitur non nulla sit amet nisl\",\r\n \r\n _userId: 1,\r\n _createdDate: \"09/07/2016\",\r\n _updatedDate: \"05/31/2013\"\r\n },\r\n {\r\n id: 2,\r\n Description: \"Curabitur non nulla sit amet nisl\",\r\n Addr1Label: \"Curabitur non nulla sit amet nisl \",\r\n Addr1Source: \"Curabitur non nulla sit amet nisl \",\r\n Addr2Label: \"Curabitur non nulla sit amet nisl\",\r\n Addr2Source: \"Curabitur non nulla sit amet nisl \",\r\n \r\n _userId: 2,\r\n _createdDate: \"03/18/2014\",\r\n _updatedDate: \"08/17/2016\"\r\n },\r\n];\r\n","import customerTableMock from \"./packingSlipTemplatesTableMock\";\r\nimport MockUtils from \"./mock.utils\";\r\n\r\nexport default function mockManageCustomer(mock) {\r\n mock.onPost(\"api/packingsliptemplates\").reply(({ data }) => {\r\n const { customer } = JSON.parse(data);\r\n const {\r\n ContactName = \"\",\r\n Status = 0,\r\n ContactPhone = \"\"\r\n } = customer;\r\n\r\n const id = generateUserId();\r\n const newCustomer = {\r\n id,\r\n ContactName,\r\n Status,\r\n ContactPhone\r\n };\r\n customerTableMock.push(newCustomer);\r\n return [200, { customer: newCustomer }];\r\n });\r\n\r\n mock.onPost(\"api/packingsliptemplates/find\").reply(config => {\r\n const mockUtils = new MockUtils();\r\n const { queryParams } = JSON.parse(config.data);\r\n const filterdCustomers = mockUtils.baseFilter(\r\n customerTableMock,\r\n queryParams\r\n );\r\n return [200, filterdCustomers];\r\n });\r\n\r\n mock.onPost(\"api/packingsliptemplates/deleteCustomers\").reply(config => {\r\n const { ids } = JSON.parse(config.data);\r\n ids.forEach(id => {\r\n const index = customerTableMock.findIndex(el => el.id === id);\r\n if (index > -1) {\r\n customerTableMock.splice(index, 1);\r\n }\r\n });\r\n return [200];\r\n });\r\n\r\n mock.onPost(\"api/packingsliptemplates/updateStatusForCustomers\").reply(config => {\r\n const { ids, status } = JSON.parse(config.data);\r\n customerTableMock.forEach(el => {\r\n if (ids.findIndex(id => id === el.id) > -1) {\r\n el.status = status;\r\n }\r\n });\r\n return [200];\r\n });\r\n\r\n mock.onGet(/api\\/packingSlipTemplates\\/\\d+/).reply(config => {\r\n const id = config.url.match(/api\\/packingSlipTemplates\\/(\\d+)/)[1];\r\n const customer = customerTableMock.find(el => el.id === +id);\r\n if (!customer) {\r\n return [400];\r\n }\r\n\r\n return [200, customer];\r\n });\r\n\r\n mock.onPut(/api\\/packingSlipTemplates\\/\\d+/).reply(config => {\r\n const id = config.url.match(/api\\/packingSlipTemplates\\/(\\d+)/)[1];\r\n const { customer } = JSON.parse(config.data);\r\n const index = customerTableMock.findIndex(el => el.id === +id);\r\n if (!index) {\r\n return [400];\r\n }\r\n\r\n customerTableMock[index] = { ...customer };\r\n return [200];\r\n });\r\n\r\n mock.onDelete(/api\\/packingSlipTemplates\\/\\d+/).reply(config => {\r\n const id = config.url.match(/api\\/packingSlipTemplates\\/(\\d+)/)[1];\r\n const index = customerTableMock.findIndex(el => el.id === +id);\r\n customerTableMock.splice(index, 1);\r\n if (!index === -1) {\r\n return [400];\r\n }\r\n\r\n return [200];\r\n });\r\n}\r\n\r\nfunction generateUserId() {\r\n const ids = customerTableMock.map(el => el.id);\r\n const maxId = Math.max(...ids);\r\n return maxId + 1;\r\n}\r\n","import MockUtils from \"./mock.utils4\";\r\nimport { Notification } from \"../../../modules/Notification\";\r\nimport low from \"lowdb\";\r\nimport LocalStorage from \"lowdb/adapters/LocalStorage\";\r\nconst adapter = new LocalStorage(\"db\");\r\nconst db = low(adapter);\r\nlet customerTableMock;\r\nexport default async function mockUsers(mock) {\r\n function StatusMessage(res) {\r\n var status = res.status;\r\n var statusText = res.statusText;\r\n if (status === 200) {\r\n Notification(\"success\", \"success\");\r\n return true;\r\n } else if (status === 400) {\r\n Notification(\"error\", statusText);\r\n return false;\r\n }\r\n }\r\n\r\n async function GetUsersData() {\r\n if (window.DataGetsValue) {\r\n return false;\r\n } else {\r\n return await fetch(window.$apiurl + \"/users\", {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n if (statusCode === 401) {\r\n try {\r\n document.getElementById(\"401Link\").click();\r\n } catch (err) {\r\n console.log(err);\r\n }\r\n }\r\n const data = await response.json();\r\n const messageCompany = data;\r\n if (messageCompany.Message && !window.valueUsersMsg) {\r\n Notification(\"error\", messageCompany.Message);\r\n window.valueUsersMsg = true;\r\n }\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n return ChangeId(res[1]);\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n }\r\n\r\n async function PostUser(someData) {\r\n console.log(JSON.stringify(someData));\r\n return fetch(window.$apiurl + \"/users\", {\r\n method: \"post\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(someData),\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n return res[1];\r\n })\r\n .catch((error) => {\r\n //console.error(error);\r\n });\r\n }\r\n\r\n async function PutUser(someData, id) {\r\n return fetch(window.$apiurl + \"/users/\" + id, {\r\n method: \"put\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(someData),\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n return res[1];\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n async function DeleteUser(id) {\r\n return await fetch(window.$apiurl + \"/users/\" + id, {\r\n method: \"Delete\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n return response;\r\n })\r\n .then((res) => {\r\n return StatusMessage(res);\r\n })\r\n .catch((err) => {\r\n return StatusMessage(err);\r\n });\r\n }\r\n\r\n async function GetCustomers() {\r\n return await fetch(window.$apiurl + \"/users/customers\", {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then((res) => res.json())\r\n .then((res) => {\r\n return res;\r\n })\r\n .catch((err) => {\r\n Notification(\"error\", \"err\");\r\n return false;\r\n });\r\n }\r\n\r\n async function GetRoles() {\r\n return await fetch(window.$apiurl + \"/users/roles\", {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then((res) => res.json())\r\n .then((res) => {\r\n return res;\r\n })\r\n .catch((err) => {\r\n Notification(\"error\", \"err\");\r\n return false;\r\n });\r\n }\r\n\r\n async function GetWarehouses() {\r\n return await fetch(window.$apiurl + \"/users/warehouses\", {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then((res) => res.json())\r\n .then((res) => {\r\n return res;\r\n })\r\n .catch((err) => {\r\n Notification(\"error\", \"err\");\r\n return false;\r\n });\r\n }\r\n\r\n async function Getlevels() {\r\n return await fetch(window.$apiurl + \"/users/levels\", {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then((res) => res.json())\r\n .then((res) => {\r\n return res;\r\n })\r\n .catch((err) => {\r\n Notification(\"error\", \"err\");\r\n return false;\r\n });\r\n }\r\n\r\n async function GetAccessLevels() {\r\n return await fetch(window.$apiurl + \"/users/getviewmodel\", {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then((res) => res.json())\r\n .then((res) => {\r\n return res;\r\n })\r\n .catch((err) => {\r\n Notification(\"error\", \"err\");\r\n return false;\r\n });\r\n }\r\n\r\n async function GetViewModelWarehouseTrue() {\r\n return await fetch(window.$apiurl + \"/users/getviewmodel/true\", {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then((res) => res.json())\r\n .then((res) => {\r\n return res;\r\n })\r\n .catch((err) => {\r\n Notification(\"error\", \"err\");\r\n return false;\r\n });\r\n }\r\n async function GetWarehousesFetch(obj) {\r\n return await fetch(window.$apiurl + \"/warehousesForCustomer\", {\r\n method: \"POST\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(obj),\r\n })\r\n .then((res) => res.json())\r\n .then((res) => {\r\n return res;\r\n })\r\n .catch((err) => {\r\n Notification(\"error\", \"err\");\r\n return false;\r\n });\r\n }\r\n async function GetViewModelWarehouseFalse() {\r\n return await fetch(window.$apiurl + \"/users/getviewmodel/false\", {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then((res) => res.json())\r\n .then((res) => {\r\n return res;\r\n })\r\n .catch((err) => {\r\n Notification(\"error\", \"err\");\r\n return false;\r\n });\r\n }\r\n // Mock ---------------------------------------------------------------------------------\r\n mock.onGet(\"api/Users/GetAllApi\").reply(async () => {\r\n const obj = {};\r\n obj[\"CustomersList\"] = await GetCustomers();\r\n obj[\"RolesList\"] = await GetRoles();\r\n obj[\"WarehousesList\"] = await GetWarehouses();\r\n obj[\"LevelsList\"] = await Getlevels();\r\n obj[\"CellCarriersList\"] = await GetAccessLevels();\r\n obj[\"WarehouseCheckTrue\"] = await GetViewModelWarehouseTrue();\r\n obj[\"WarehouseCheckFalse\"] = await GetViewModelWarehouseFalse();\r\n return [200, obj];\r\n });\r\n\r\n mock.onGet(\"api/Users/fetchWarehouses\").reply(async () => {\r\n const obj = {};\r\n obj[\"warehousesListFetch\"] = await GetWarehousesFetch(window.$objCustomers);\r\n return [200, obj];\r\n });\r\n mock.onPost(\"api/Users\").reply(async ({ data }) => {\r\n const { customer } = JSON.parse(data);\r\n const {\r\n Id = 0,\r\n Name = \"\",\r\n UserName = \"\",\r\n Login = \"\",\r\n Email = \"\",\r\n CellCarrierId = \"\",\r\n IsActive=false,\r\n AccountName = \"\",\r\n PhoneNumber = \"\",\r\n CellCarrier = \"\",\r\n AccessLevelId = \"\",\r\n RoleId = \"\",\r\n RoleTypeId = \"\",\r\n Password = \"\",\r\n ConfirmPassword = \"\",\r\n Customers = [\r\n {\r\n Id: 0,\r\n Name: \"\",\r\n },\r\n ],\r\n Warehouses = [\r\n {\r\n Id: 1,\r\n Name: \"\",\r\n },\r\n ],\r\n IsGeneratedPassword = false,\r\n DefaultCustomerId = \"\",\r\n } = customer;\r\n const id = generateUserId();\r\n const newCustomer = {\r\n Id,\r\n id,\r\n Name,\r\n UserName,\r\n Login,\r\n Email,\r\n CellCarrierId,\r\n IsActive,\r\n AccountName,\r\n PhoneNumber,\r\n AccessLevelId,\r\n CellCarrier,\r\n RoleId,\r\n RoleTypeId,\r\n Password,\r\n ConfirmPassword,\r\n Customers,\r\n Warehouses,\r\n DefaultCustomerId,\r\n IsGeneratedPassword\r\n };\r\n newCustomer.UserName = newCustomer.Email;\r\n var postUser = await PostUser(newCustomer);\r\n if (postUser.Code === \"+1\") {\r\n window.$CodeSuccess = \"+1\";\r\n Notification(\"success\", \"User has been added successfully\");\r\n postUser.id = postUser.Id;\r\n customerTableMock.push(newCustomer);\r\n return [\r\n 200,\r\n { customer: newCustomer, message: postUser.Message, success: true },\r\n ];\r\n } else {\r\n if (postUser.Code === \"003\") {\r\n Notification(\"error\", postUser.Message);\r\n return false;\r\n } else if (postUser.Code === \"004\") {\r\n Notification(\"error\", postUser.Message);\r\n return false;\r\n } else {\r\n Notification(\"error\", postUser.Message);\r\n return false;\r\n }\r\n }\r\n });\r\n\r\n mock.onPost(\"api/Users/find\").reply(async (config) => {\r\n const mockUtils = new MockUtils();\r\n const { queryParams } = JSON.parse(config.data);\r\n customerTableMock = await GetUsersData(); \r\n if (\r\n queryParams.filter.AccountName !== \"\" &&\r\n queryParams.filter.AccountName !== undefined\r\n ) {\r\n customerTableMock = customerTableMock.filter(\r\n (word) =>\r\n String(word.AccountName)\r\n .toLowerCase()\r\n .includes(String(queryParams.filter.AccountName).toLowerCase())\r\n );\r\n console.log(\"🚀 ~ file: mockUsers.js ~ line 403 ~ mock.onPost ~ customerTableMock\", customerTableMock)\r\n }\r\n delete queryParams.filter.ReLoadTable;\r\n delete queryParams.filter.AccountName;\r\n const filterdCustomers = mockUtils.baseFilter(\r\n customerTableMock,\r\n queryParams\r\n );\r\n return [200, filterdCustomers];\r\n });\r\n\r\n mock.onPost(\"api/Users/deleteCustomers\").reply((config) => {\r\n customerTableMock=undefined;\r\n const { ids } = JSON.parse(config.data);\r\n ids.forEach((id) => {\r\n const index = customerTableMock.findIndex((el) => el.id === id);\r\n if (index > -1) {\r\n customerTableMock.splice(index, 1);\r\n }\r\n });\r\n return [200];\r\n });\r\n\r\n mock.onPost(\"api/Users/updateStatusForCustomers\").reply((config) => {\r\n const { ids, status } = JSON.parse(config.data);\r\n customerTableMock.forEach((el) => {\r\n if (ids.findIndex((id) => id === el.id) > -1) {\r\n el.status = status;\r\n }\r\n });\r\n return [200];\r\n });\r\n\r\n async function GetUser(id) {\r\n return await fetch(window.$apiurl + \"/users/\" + id, {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n return res[1];\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n\r\n mock.onGet(/api\\/Users\\/\\d+/).reply(async (config) => {\r\n const id = config.url.match(/api\\/Users\\/(\\d+)/)[1];\r\n const customer = await GetUser(id);\r\n if (customer.Password === null || customer.ConfirmPassword === null) {\r\n customer.Password = \"\";\r\n customer.ConfirmPassword = \"\";\r\n }\r\n if (!customer) {\r\n return [400];\r\n }\r\n return [200, customer];\r\n });\r\n\r\n mock.onPut(/api\\/Users\\/\\d+/).reply(async (config) => {\r\n customerTableMock = undefined;\r\n const id = config.url.match(/api\\/Users\\/(\\d+)/)[1];\r\n const Putcustomer = JSON.parse(config.data);\r\n const { customer } = Putcustomer;\r\n var putUserObj = {\r\n Id: id,\r\n Name: customer.Name,\r\n UserName: customer.UserName,\r\n Login: customer.Login,\r\n Email: customer.Email,\r\n CellCarrierId: customer.CellCarrierId,\r\n IsActive:customer.IsActive,\r\n AccountName: customer.AccountName,\r\n PhoneNumber: customer.PhoneNumber,\r\n AccessLevelId: customer.AccessLevelId,\r\n CellCarrier: customer.CellCarrier,\r\n RoleId: customer.RoleId,\r\n RoleTypeId: customer.RoleTypeId,\r\n Password: customer.Password,\r\n ConfirmPassword: customer.ConfirmPassword,\r\n Customers: customer.Customers,\r\n Warehouses: customer.Warehouses,\r\n IsGeneratedPassword : customer.IsGeneratedPassword,\r\n DefaultCustomerId: customer.DefaultCustomerId,\r\n };\r\n const putUser = await PutUser(putUserObj, id);\r\n if (putUser !== undefined && putUser.Message) {\r\n Notification(\"error\", putUser.Message);\r\n return [400];\r\n }\r\n Notification(\"success\", \"User has been updated successfully\");\r\n document.getElementById(\"ReLoadTableId\").click();\r\n return [200];\r\n });\r\n\r\n mock.onDelete(/api\\/Users\\/\\d+/).reply(async (config) => {\r\n const id = config.url.match(/api\\/Users\\/(\\d+)/)[1];\r\n const index = customerTableMock.findIndex((el) => el.id === +id);\r\n if (index === -1) {\r\n return [400];\r\n }\r\n customerTableMock=undefined;\r\n var deleteObj = await DeleteUser(id);\r\n if (!deleteObj) {\r\n return [400];\r\n }\r\n customerTableMock.splice(index, 1);\r\n return [200];\r\n });\r\n}\r\n\r\nfunction ChangeId(list) {\r\n for (var item in list) {\r\n list[item].id = list[item].Id;\r\n delete list[item].Id;\r\n }\r\n return list;\r\n}\r\n\r\nfunction generateUserId() {\r\n const ids = customerTableMock.map((el) => el.id);\r\n const maxId = Math.max(...ids);\r\n return maxId + 1;\r\n}\r\n","import MockUtils from \"./mock.utils\";\r\nimport $ from \"jquery\";\r\nimport { Notification } from \"../../../modules/Notification\";\r\nimport low from \"lowdb\";\r\nimport LocalStorage from \"lowdb/adapters/LocalStorage\";\r\nconst adapter = new LocalStorage(\"db\");\r\nconst db = low(adapter);\r\nlet customerTableMock;\r\nexport default async function ManageRolesTableMock(mock) {\r\n function StatusMessage(res) {\r\n var status = res.status;\r\n var statusText = res.statusText;\r\n if (status === 200) {\r\n Notification(\"success\", \"success\");\r\n return true;\r\n } else if (status === 400) {\r\n Notification(\"error\", statusText);\r\n return false;\r\n }\r\n }\r\n\r\n async function GetRoles() {\r\n return await fetch(window.$apiurl + \"/roles\", {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n if (statusCode === 401) {\r\n try {\r\n document.getElementById(\"401Link\").click();\r\n } catch (err) {\r\n console.log(err);\r\n }\r\n }\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n return ChangeId(res[1]);\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n\r\n async function GetRole(id) {\r\n return await fetch(window.$apiurl + \"/roles/\" + id, {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n return res[1];\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n\r\n async function PostRole(someData) {\r\n return fetch(window.$apiurl + \"/roles\", {\r\n method: \"post\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(someData),\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n return res;\r\n })\r\n .catch((error) => {\r\n console.log(\"error\", error);\r\n });\r\n }\r\n\r\n async function PutRole(someData, id) {\r\n // debugger;\r\n return fetch(window.$apiurl + \"/roles/\" + id, {\r\n method: \"put\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(someData),\r\n })\r\n .then(async (result) => {\r\n if (result.status === 400) {\r\n Notification(\"error\", \"A Role Template can't be updated.\");\r\n } else {\r\n Notification(\"success\", \"Role has been updated successfully\");\r\n }\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n async function DeleteManageLocation(id) {\r\n return await fetch(window.$apiurl + \"/roles/\" + id, {\r\n method: \"delete\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (result) => {\r\n if (result.status === 400) {\r\n Notification(\"error\", \"A Role Template can't be deleted\");\r\n } else {\r\n Notification(\"success\", \"Success\");\r\n }\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n async function GetRolesChecbox() {\r\n return await fetch(window.$apiurl + \"/roles/getviewmodel\", {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then((res) => res.json())\r\n .then((res) => {\r\n return res;\r\n })\r\n .catch((err) => {\r\n Notification(\"error\", \"err\");\r\n return false;\r\n });\r\n }\r\n\r\n // Mock ---------------------------------------------------------------------------------\r\n\r\n //Get list Checkbox\r\n //api/Roles/GetAllApi\r\n mock.onGet(\"api/Roles/GetAllApi\").reply(async () => {\r\n const obj = {};\r\n obj[\"GetRolesChecbox\"] = await GetRolesChecbox();\r\n return [200, obj];\r\n });\r\n\r\n // new role\r\n mock.onPost(\"api/manageRole\").reply(async ({ data }) => {\r\n const { customer } = JSON.parse(data);\r\n const {\r\n Name = \"\",\r\n RoleTypeId = 1,\r\n RolePermissions = [],\r\n Created = Date.now(),\r\n } = customer;\r\n const id = generateUserId();\r\n const newRole = {\r\n id,\r\n Name,\r\n RoleTypeId,\r\n RolePermissions,\r\n Created,\r\n };\r\n var postRole = await PostRole(newRole);\r\n //Manage Data Result\r\n if (postRole===undefined) {\r\n document.getElementById(\"ReLoadTableId\").click();\r\n Notification(\"success\", \"Role has been added successfully\");\r\n return [\r\n 200,\r\n { customer: newRole, message: postRole.Message, success: true },\r\n ];\r\n } else {\r\n if (postRole[1].Message) {\r\n Notification(\"error\", postRole[1].Message);\r\n document.getElementById(\"ReLoadTableId\").click();\r\n return [400, { message: postRole[1].Message, success: false }];\r\n } else {\r\n Notification(\"error\", \"Error occured\");\r\n document.getElementById(\"ReLoadTableId\").click();\r\n return [400, { message: postRole[1], success: false }];\r\n }\r\n }\r\n });\r\n mock.onGet(\"api/manageRole/Name\").reply(async () => {\r\n const obj = {};\r\n obj[\"NameList\"] = await GetRoles();\r\n return [200, obj];\r\n });\r\n //get roles list\r\n mock.onPost(\"api/manageRole/find\").reply(async (config) => {\r\n const mockUtils = new MockUtils();\r\n const { queryParams } = JSON.parse(config.data);\r\n customerTableMock = await GetRoles();\r\n delete queryParams.filter.ReLoadTable;\r\n const filterdCustomers = mockUtils.baseFilter(\r\n customerTableMock,\r\n queryParams\r\n );\r\n return [200, filterdCustomers];\r\n });\r\n\r\n mock.onPost(\"api/manageRole/deleteCustomer\").reply((config) => {\r\n const { ids } = JSON.parse(config.data);\r\n ids.forEach((id) => {\r\n const index = customerTableMock.findIndex((el) => el.id === id);\r\n if (index > -1) {\r\n customerTableMock.splice(index, 1);\r\n }\r\n });\r\n return [200];\r\n });\r\n\r\n mock\r\n .onPost(\"api/manageRole/updateStatusForCustomers\")\r\n .reply(async (config) => {\r\n const { ids, status } = JSON.parse(config.data);\r\n customerTableMock.forEach((el) => {\r\n if (ids.findIndex((id) => id === el.id) > -1) {\r\n el.status = status;\r\n }\r\n });\r\n return [200];\r\n });\r\n\r\n mock.onGet(/api\\/manageRole\\/\\d+/).reply(async (config) => {\r\n const id = config.url.match(/api\\/manageRole\\/(\\d+)/)[1];\r\n const customer = await GetRole(id);\r\n if (!customer) {\r\n return [400];\r\n }\r\n return [200, customer];\r\n });\r\n\r\n //edit\r\n mock.onPut(/api\\/manageRole\\/\\d+/).reply(async (config) => {\r\n const id = config.url.match(/api\\/manageRole\\/(\\d+)/)[1];\r\n const { customer } = JSON.parse(config.data);\r\n var putRole = {\r\n Id: customer.Id,\r\n Name: customer.Name,\r\n RoleTypeId: customer.RoleTypeId,\r\n RolePermissions: customer.RolePermissions,\r\n };\r\n await PutRole(putRole, id);\r\n const index = customerTableMock.findIndex((el) => el.id === +id);\r\n customerTableMock[index] = { ...customer };\r\n document.getElementById(\"ReLoadTableId\").click();\r\n return [200];\r\n });\r\n\r\n //delete\r\n mock.onDelete(/api\\/manageRole\\/\\d+/).reply(async (config) => {\r\n const id = config.url.match(/api\\/manageRole\\/(\\d+)/)[1];\r\n const index = customerTableMock.findIndex((el) => el.id === +id);\r\n if (index === -1) {\r\n return [400];\r\n }\r\n var deleteObj = await DeleteManageLocation(id);\r\n if (!deleteObj) {\r\n return [400];\r\n }\r\n customerTableMock.splice(index, 1);\r\n $(\"#Id option[value=\" + id + \"]\").remove();\r\n return [200];\r\n });\r\n}\r\n\r\nfunction ChangeId(list) {\r\n for (var item in list) {\r\n list[item].id = list[item].Id;\r\n delete list[item].Id;\r\n }\r\n return list;\r\n}\r\n\r\nfunction generateUserId() {\r\n const ids = customerTableMock.map((el) => el.id);\r\n const maxId = Math.max(...ids);\r\n return maxId + 1;\r\n}\r\n","import MockUtils from \"./mock.utils\";\r\nimport $ from \"jquery\";\r\nimport { Notification } from \"../../Notification\";\r\nimport low from \"lowdb\";\r\nimport LocalStorage from \"lowdb/adapters/LocalStorage\";\r\nconst adapter = new LocalStorage(\"db\");\r\nconst db = low(adapter);\r\nlet customerTableMock;\r\nexport default async function mockManageUserGroups(mock) {\r\n function StatusMessage(res) {\r\n var status = res.status;\r\n var statusText = res.statusText;\r\n if (status === 200) {\r\n Notification(\"success\", \"success\");\r\n return true;\r\n } else if (status === 400) {\r\n Notification(\"error\", statusText);\r\n return false;\r\n }\r\n }\r\n\r\n async function GetRoles(params) {\r\n return await fetch(window.$apiurl + `/groups${params}`, {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n if (statusCode === 401) {\r\n try {\r\n document.getElementById(\"401Link\").click();\r\n } catch (err) {\r\n console.log(err);\r\n }\r\n }\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n return ChangeId(res[1]);\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n\r\n async function GetRole(id) {\r\n return await fetch(window.$apiurl + \"/groups/\" + id, {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n return res[1]?.Group;\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n\r\n async function PostRole(someData) {\r\n return fetch(window.$apiurl + \"/groups\", {\r\n method: \"post\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(someData),\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n if(statusCode === 200) {\r\n Notification(\"success\", \"User Group has been added successfully\");\r\n }\r\n const data = await response.json();\r\n window.$statusPostRole = statusCode;\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n return res[1];\r\n })\r\n .catch((error) => {\r\n //console.error(error);\r\n });\r\n }\r\n\r\n async function PutRole(someData, id) {\r\n return fetch(window.$apiurl + \"/groups/\" + id, {\r\n method: \"put\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(someData),\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n return res[1];\r\n })\r\n .catch((error) => {\r\n //console.error(error);\r\n });\r\n }\r\n\r\n async function DeleteManageLocation(id) {\r\n return await fetch(window.$apiurl + \"/groups/\" + id, {\r\n method: \"delete\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n return response;\r\n })\r\n .then((res) => {\r\n return StatusMessage(res);\r\n })\r\n .catch((err) => {\r\n return StatusMessage(err);\r\n });\r\n }\r\n\r\n async function GetRolesChecbox() {\r\n return await fetch(window.$apiurl + \"/roles/getviewmodel\", {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then((res) => res.json())\r\n .then((res) => {\r\n return res;\r\n })\r\n .catch((err) => {\r\n Notification(\"error\", \"err\");\r\n return false;\r\n });\r\n }\r\n\r\n // Mock ---------------------------------------------------------------------------------\r\n\r\n //Get list Checkbox\r\n //api/Roles/GetAllApi\r\n mock.onGet(\"api/Roles/GetAllApi\").reply(async () => {\r\n const obj = {};\r\n obj[\"GetRolesChecbox\"] = await GetRolesChecbox();\r\n return [200, obj];\r\n });\r\n\r\n // new role\r\n mock.onPost(\"api/manageUserGroups\").reply(async ({ data }) => {\r\n const { customer } = JSON.parse(data);\r\n const {\r\n Name = \"\",\r\n Description = \"\",\r\n UserIds = []\r\n } = customer;\r\n const newRole = {\r\n Name,\r\n Description,\r\n UserIds\r\n };\r\n var postRole = await PostRole(newRole);\r\n //Manage Data Result\r\n if (postRole.Id !== undefined) {\r\n postRole.id = postRole.Id;\r\n customerTableMock.push(newRole);\r\n document.getElementById(\"ReLoadTableId\").click();\r\n return [\r\n 200,\r\n { customer: newRole, message: postRole.Message, success: true },\r\n ];\r\n } else {\r\n if (postRole.Message) {\r\n Notification(\"error\", postRole.Message);\r\n document.getElementById(\"ReLoadTableId\").click();\r\n return [400, { message: postRole.Message, success: false }];\r\n } else {\r\n Notification(\"error\", \"Error occured\");\r\n document.getElementById(\"ReLoadTableId\").click();\r\n return [400, { message: postRole.Message, success: false }];\r\n }\r\n }\r\n });\r\n //get roles list\r\n mock.onPost(\"api/manageUserGroups/find\").reply(async (config) => {\r\n const mockUtils = new MockUtils();\r\n const { queryParams } = JSON.parse(config.data);\r\n const params = `?pageNumber=${queryParams.pageNumber}&pageSize=${queryParams.pageSize}&search=${queryParams.filter.search}&sortField=${queryParams.sortField}&sortOrder=${queryParams.sortOrder}`;\r\n customerTableMock = await GetRoles(params);\r\n delete queryParams.filter.ReLoadTable;\r\n delete queryParams.filter.search;\r\n const filterdCustomers = mockUtils.baseFilter(\r\n customerTableMock,\r\n queryParams\r\n );\r\n return [200, filterdCustomers];\r\n });\r\n\r\n mock.onPost(\"api/manageUserGroups/deleteCustomer\").reply((config) => {\r\n const { ids } = JSON.parse(config.data);\r\n ids.forEach((id) => {\r\n const index = customerTableMock.findIndex((el) => el.id === id);\r\n if (index > -1) {\r\n customerTableMock.splice(index, 1);\r\n }\r\n });\r\n return [200];\r\n });\r\n\r\n mock\r\n .onPost(\"api/manageUserGroups/updateStatusForCustomers\")\r\n .reply(async (config) => {\r\n const { ids, status } = JSON.parse(config.data);\r\n customerTableMock.forEach((el) => {\r\n if (ids.findIndex((id) => id === el.id) > -1) {\r\n el.status = status;\r\n }\r\n });\r\n return [200];\r\n });\r\n\r\n mock.onGet(/api\\/manageUserGroups\\/\\d+/).reply(async (config) => {\r\n const id = config.url.match(/api\\/manageUserGroups\\/(\\d+)/)[1];\r\n const customer = await GetRole(id);\r\n if (!customer) {\r\n return [400];\r\n }\r\n return [200, customer];\r\n });\r\n\r\n //edit\r\n mock.onPut(/api\\/manageUserGroups\\/\\d+/).reply(async (config) => {\r\n try {\r\n const id = config.url.match(/api\\/manageUserGroups\\/(\\d+)/)[1];\r\n const { customer } = JSON.parse(config.data);\r\n await PutRole(customer, id);\r\n Notification(\"success\", \"User Group has been updated successfully\");\r\n const index = customerTableMock.findIndex((el) => el.Id === +id);\r\n if (!index) {\r\n return [400];\r\n }\r\n customer.Users = customer.Users.length;\r\n customerTableMock[index] = { ...customer };\r\n document.getElementById(\"ReLoadTableId\").click();\r\n return [200];\r\n } catch (err) {\r\n console.log(err);\r\n }\r\n });\r\n\r\n //delete\r\n mock.onDelete(/api\\/manageUserGroups\\/\\d+/).reply(async (config) => {\r\n const id = config.url.match(/api\\/manageUserGroups\\/(\\d+)/)[1];\r\n const index = customerTableMock.findIndex((el) => el.Id === +id);\r\n if (index === -1) {\r\n return [400];\r\n }\r\n var deleteObj = await DeleteManageLocation(id);\r\n if (!deleteObj) {\r\n return [400];\r\n }\r\n customerTableMock.splice(index, 1);\r\n $(\"#Id option[value=\" + id + \"]\").remove();\r\n return [200];\r\n });\r\n}\r\n\r\nfunction ChangeId(list) {\r\n for (var item in list) {\r\n list[item].id = list[item].Id;\r\n delete list[item].Id;\r\n }\r\n return list.Groups;\r\n}\r\n\r\nfunction generateUserId() {\r\n const ids = customerTableMock.map((el) => el.id);\r\n const maxId = Math.max(...ids);\r\n return maxId + 1;\r\n}\r\n","export default [\r\n {\r\n id: 1,\r\n detail:\"\",\r\n So: \"123456789\",\r\n Customer: \"Lulu's\",\r\n PU: \"Auburn WA\",\r\n Del: \"Dallas Tx\",\r\n Mode:\"LTL\"\r\n },\r\n {\r\n id: 2,\r\n detail:\"\",\r\n So: \"123456789\",\r\n Customer: \"Lulu's\",\r\n PU: \"Auburn WA\",\r\n Del: \"Dallas Tx\",\r\n Mode:\"TL\"\r\n },\r\n {\r\n id: 3,\r\n detail:\"\",\r\n So: \"123456789\",\r\n Customer: \"Lulu's\",\r\n PU: \"Auburn WA\",\r\n Del: \"Dallas Tx\",\r\n Mode:\"Intermodal\"\r\n },\r\n {\r\n id: 4,\r\n detail:\"\",\r\n So: \"123456789\",\r\n Customer: \"Lulu's\",\r\n PU: \"Auburn WA\",\r\n Del: \"Dallas Tx\",\r\n Mode:\"LTL\"\r\n },\r\n {\r\n id: 4,\r\n detail:\"\",\r\n So: \"123456789\",\r\n Customer: \"Lulu's\",\r\n PU: \"Auburn WA\",\r\n Del: \"Dallas Tx\",\r\n Mode:\"LTL\"\r\n },\r\n {\r\n id: 4,\r\n detail:\"\",\r\n So: \"123456789\",\r\n Customer: \"Lulu's\",\r\n PU: \"Auburn WA\",\r\n Del: \"Dallas Tx\",\r\n Mode:\"LTL\"\r\n },\r\n {\r\n id: 4,\r\n detail:\"\",\r\n So: \"123456789\",\r\n Customer: \"Lulu's\",\r\n PU: \"Auburn WA\",\r\n Del: \"Dallas Tx\",\r\n Mode:\"LTL\"\r\n },\r\n];\r\n","import carTableMock from \"./carTableMock\";\r\nimport MockUtils from \"./mock.utils\";\r\n\r\nexport default function mockProducts(mock) {\r\n mock.onPost(\"api/products\").reply(({ data }) => {\r\n const { product } = JSON.parse(data);\r\n const {\r\n detail = \"\",\r\n So = \"\",\r\n Customer = \"\",\r\n PU = \"\",\r\n Del = \"\",\r\n Mode= \"\",\r\n } = product;\r\n\r\n const id = generateProductId();\r\n const newProduct = {\r\n id,\r\n detail,\r\n So,\r\n Customer,\r\n PU,\r\n Del,\r\n Mode,\r\n };\r\n carTableMock.push(newProduct);\r\n return [200, { product: newProduct }];\r\n });\r\n\r\n mock.onPost(\"api/products/find\").reply(config => {\r\n const mockUtils = new MockUtils();\r\n const { queryParams } = JSON.parse(config.data);\r\n const filteredProducts = mockUtils.baseFilter(carTableMock, queryParams);\r\n return [200, filteredProducts];\r\n });\r\n\r\n mock.onPost(\"api/products/deleteProducts\").reply(config => {\r\n const { ids } = JSON.parse(config.data);\r\n ids.forEach(id => {\r\n const index = carTableMock.findIndex(el => el.id === id);\r\n if (index > -1) {\r\n carTableMock.splice(index, 1);\r\n }\r\n });\r\n return [200];\r\n });\r\n\r\n mock.onPost(\"api/products/updateStatusForProducts\").reply(config => {\r\n const { ids, status } = JSON.parse(config.data);\r\n carTableMock.forEach(el => {\r\n if (ids.findIndex(id => id === el.id) > -1) {\r\n el.status = status;\r\n }\r\n });\r\n return [200];\r\n });\r\n\r\n mock.onGet(/api\\/products\\/\\d+/).reply(config => {\r\n const id = config.url.match(/api\\/products\\/(\\d+)/)[1];\r\n const product = carTableMock.find(el => el.id === +id);\r\n if (!product) {\r\n return [400];\r\n }\r\n\r\n return [200, product];\r\n });\r\n\r\n mock.onPut(/api\\/products\\/\\d+/).reply(config => {\r\n const id = config.url.match(/api\\/products\\/(\\d+)/)[1];\r\n const { product } = JSON.parse(config.data);\r\n const index = carTableMock.findIndex(el => el.id === +id);\r\n if (!index) {\r\n return [400];\r\n }\r\n\r\n carTableMock[index] = { ...product };\r\n return [200];\r\n });\r\n\r\n mock.onDelete(/api\\/products\\/\\d+/).reply(config => {\r\n const id = config.url.match(/api\\/products\\/(\\d+)/)[1];\r\n const index = carTableMock.findIndex(el => el.id === +id);\r\n carTableMock.splice(index, 1);\r\n if (!index === -1) {\r\n return [400];\r\n }\r\n\r\n return [200];\r\n });\r\n}\r\n\r\nfunction generateProductId() {\r\n const ids = carTableMock.map(el => el.id);\r\n const maxId = Math.max(...ids);\r\n return maxId + 1;\r\n}","export default [\r\n {\r\n id: 1,\r\n carId: 1,\r\n text: \"enim lorem ipsum dolor sit amet consectetuer adipiscing elit proin\",\r\n _userId: 2,\r\n _createdDate: \"02/20/2011\",\r\n _updatedDate: \"06/25/2013\",\r\n type: 0,\r\n _isEditMode: false,\r\n dueDate: \"11/18/2018\"\r\n },\r\n {\r\n id: 2,\r\n carId: 1,\r\n text: \"in\",\r\n _userId: 1,\r\n _createdDate: \"02/05/2014\",\r\n _updatedDate: \"09/25/2017\",\r\n type: 0,\r\n _isEditMode: false,\r\n dueDate: \"10/26/2019\"\r\n },\r\n {\r\n id: 3,\r\n carId: 1,\r\n text: \"quis tortor id nulla ultrices aliquet maecenas leo\",\r\n _userId: 2,\r\n _createdDate: \"04/10/2017\",\r\n _updatedDate: \"06/12/2012\",\r\n type: 2,\r\n _isEditMode: false,\r\n dueDate: \"05/10/2020\"\r\n },\r\n {\r\n id: 4,\r\n carId: 2,\r\n text: \"curabitur gravida nisi at nibh in hac habitasse\",\r\n _userId: 1,\r\n _createdDate: \"03/02/2015\",\r\n _updatedDate: \"03/30/2014\",\r\n type: 1,\r\n _isEditMode: false,\r\n dueDate: \"12/13/2018\"\r\n },\r\n {\r\n id: 5,\r\n carId: 2,\r\n text:\r\n \"orci luctus et ultrices posuere cubilia curae duis faucibus accumsan odio curabitur convallis\",\r\n _userId: 2,\r\n _createdDate: \"02/14/2015\",\r\n _updatedDate: \"07/11/2013\",\r\n type: 0,\r\n _isEditMode: false,\r\n dueDate: \"10/24/2019\"\r\n },\r\n {\r\n id: 6,\r\n carId: 2,\r\n text: \"integer ac\",\r\n _userId: 1,\r\n _createdDate: \"05/28/2015\",\r\n _updatedDate: \"07/29/2016\",\r\n type: 0,\r\n _isEditMode: false,\r\n dueDate: \"01/22/2019\"\r\n },\r\n {\r\n id: 7,\r\n carId: 3,\r\n text:\r\n \"lectus aliquam sit amet diam in magna bibendum imperdiet nullam orci pede\",\r\n _userId: 2,\r\n _createdDate: \"03/08/2013\",\r\n _updatedDate: \"09/24/2016\",\r\n type: 1,\r\n _isEditMode: false,\r\n dueDate: \"03/31/2020\"\r\n },\r\n {\r\n id: 8,\r\n carId: 3,\r\n text: \"morbi odio odio elementum eu interdum eu tincidunt in leo\",\r\n _userId: 2,\r\n _createdDate: \"07/09/2010\",\r\n _updatedDate: \"01/25/2015\",\r\n type: 1,\r\n _isEditMode: false,\r\n dueDate: \"02/20/2019\"\r\n },\r\n {\r\n id: 9,\r\n carId: 3,\r\n text: \"orci\",\r\n _userId: 1,\r\n _createdDate: \"02/02/2018\",\r\n _updatedDate: \"08/04/2015\",\r\n type: 0,\r\n _isEditMode: false,\r\n dueDate: \"04/03/2020\"\r\n },\r\n {\r\n id: 10,\r\n carId: 4,\r\n text:\r\n \"vel pede morbi porttitor lorem id ligula suspendisse ornare consequat lectus in est risus auctor sed tristique in tempus sit\",\r\n _userId: 1,\r\n _createdDate: \"09/09/2013\",\r\n _updatedDate: \"03/06/2013\",\r\n type: 1,\r\n _isEditMode: false,\r\n dueDate: \"10/28/2018\"\r\n },\r\n {\r\n id: 11,\r\n carId: 4,\r\n text: \"ligula sit amet eleifend pede libero quis orci\",\r\n _userId: 2,\r\n _createdDate: \"08/17/2010\",\r\n _updatedDate: \"03/05/2016\",\r\n type: 2,\r\n _isEditMode: false,\r\n dueDate: \"06/22/2019\"\r\n },\r\n {\r\n id: 12,\r\n carId: 4,\r\n text: \"eget eleifend luctus ultricies eu nibh quisque id justo sit amet\",\r\n _userId: 2,\r\n _createdDate: \"09/17/2014\",\r\n _updatedDate: \"04/18/2011\",\r\n type: 1,\r\n _isEditMode: false,\r\n dueDate: \"01/01/2020\"\r\n },\r\n {\r\n id: 13,\r\n carId: 5,\r\n text: \"\",\r\n _userId: 1,\r\n _createdDate: \"03/25/2013\",\r\n _updatedDate: \"11/13/2013\",\r\n type: 2,\r\n _isEditMode: false,\r\n dueDate: \"05/25/2019\"\r\n },\r\n {\r\n id: 14,\r\n carId: 5,\r\n text: \"justo lacinia eget tincidunt eget tempus vel pede morbi porttitor\",\r\n _userId: 2,\r\n _createdDate: \"03/22/2015\",\r\n _updatedDate: \"04/22/2015\",\r\n type: 1,\r\n _isEditMode: false,\r\n dueDate: \"02/07/2020\"\r\n },\r\n {\r\n id: 15,\r\n carId: 5,\r\n text: \"quam pede\",\r\n _userId: 1,\r\n _createdDate: \"03/18/2018\",\r\n _updatedDate: \"06/01/2012\",\r\n type: 2,\r\n _isEditMode: false,\r\n dueDate: \"02/09/2020\"\r\n },\r\n {\r\n id: 16,\r\n carId: 6,\r\n text:\r\n \"bibendum morbi non quam nec dui luctus rutrum nulla tellus in sagittis dui vel nisl duis ac nibh fusce\",\r\n _userId: 2,\r\n _createdDate: \"01/09/2013\",\r\n _updatedDate: \"02/10/2017\",\r\n type: 1,\r\n _isEditMode: false,\r\n dueDate: \"09/21/2019\"\r\n },\r\n {\r\n id: 17,\r\n carId: 6,\r\n text: \"id consequat in consequat ut nulla sed accumsan felis ut at dolor\",\r\n _userId: 2,\r\n _createdDate: \"07/27/2012\",\r\n _updatedDate: \"04/13/2015\",\r\n type: 1,\r\n _isEditMode: false,\r\n dueDate: \"08/01/2019\"\r\n },\r\n {\r\n id: 18,\r\n carId: 6,\r\n text:\r\n \"eu magna vulputate luctus cum sociis natoque penatibus et magnis dis parturient\",\r\n _userId: 1,\r\n _createdDate: \"08/12/2011\",\r\n _updatedDate: \"04/08/2018\",\r\n type: 0,\r\n _isEditMode: false,\r\n dueDate: \"03/28/2020\"\r\n },\r\n {\r\n id: 19,\r\n carId: 7,\r\n text:\r\n \"nec nisi vulputate nonummy maecenas tincidunt lacus at velit vivamus vel nulla eget\",\r\n _userId: 1,\r\n _createdDate: \"03/03/2013\",\r\n _updatedDate: \"09/18/2017\",\r\n type: 0,\r\n _isEditMode: false,\r\n dueDate: \"08/08/2019\"\r\n },\r\n {\r\n id: 20,\r\n carId: 7,\r\n text: \"\",\r\n _userId: 1,\r\n _createdDate: \"05/06/2015\",\r\n _updatedDate: \"02/20/2016\",\r\n type: 2,\r\n _isEditMode: false,\r\n dueDate: \"02/11/2019\"\r\n },\r\n {\r\n id: 21,\r\n carId: 7,\r\n text:\r\n \"sed vestibulum sit amet cursus id turpis integer aliquet massa id lobortis convallis\",\r\n _userId: 2,\r\n _createdDate: \"08/05/2014\",\r\n _updatedDate: \"03/13/2018\",\r\n type: 0,\r\n _isEditMode: false,\r\n dueDate: \"02/03/2020\"\r\n },\r\n {\r\n id: 22,\r\n carId: 8,\r\n text: \"dolor morbi vel lectus in quam fringilla rhoncus mauris enim leo\",\r\n _userId: 2,\r\n _createdDate: \"04/25/2011\",\r\n _updatedDate: \"03/09/2013\",\r\n type: 0,\r\n _isEditMode: false,\r\n dueDate: \"12/06/2018\"\r\n },\r\n {\r\n id: 23,\r\n carId: 8,\r\n text:\r\n \"mauris lacinia sapien quis libero nullam sit amet turpis elementum ligula vehicula consequat morbi a ipsum integer a nibh\",\r\n _userId: 1,\r\n _createdDate: \"07/03/2014\",\r\n _updatedDate: \"08/23/2013\",\r\n type: 2,\r\n _isEditMode: false,\r\n dueDate: \"05/18/2019\"\r\n },\r\n {\r\n id: 24,\r\n carId: 8,\r\n text:\r\n \"ultrices posuere cubilia curae donec pharetra magna vestibulum aliquet ultrices erat tortor sollicitudin\",\r\n _userId: 2,\r\n _createdDate: \"05/21/2013\",\r\n _updatedDate: \"10/01/2016\",\r\n type: 0,\r\n _isEditMode: false,\r\n dueDate: \"04/18/2019\"\r\n },\r\n {\r\n id: 25,\r\n carId: 9,\r\n text: \"orci luctus et ultrices\",\r\n _userId: 2,\r\n _createdDate: \"05/29/2014\",\r\n _updatedDate: \"02/03/2016\",\r\n type: 1,\r\n _isEditMode: false,\r\n dueDate: \"06/23/2019\"\r\n },\r\n {\r\n id: 26,\r\n carId: 9,\r\n text: \"donec diam neque vestibulum eget vulputate ut\",\r\n _userId: 1,\r\n _createdDate: \"06/06/2012\",\r\n _updatedDate: \"02/01/2018\",\r\n type: 2,\r\n _isEditMode: false,\r\n dueDate: \"12/29/2018\"\r\n },\r\n {\r\n id: 27,\r\n carId: 9,\r\n text: \"sapien sapien non mi integer ac neque duis bibendum morbi non quam\",\r\n _userId: 1,\r\n _createdDate: \"05/12/2015\",\r\n _updatedDate: \"11/11/2011\",\r\n type: 2,\r\n _isEditMode: false,\r\n dueDate: \"04/26/2020\"\r\n },\r\n {\r\n id: 28,\r\n carId: 10,\r\n text: \"\",\r\n _userId: 1,\r\n _createdDate: \"03/17/2013\",\r\n _updatedDate: \"08/13/2013\",\r\n type: 2,\r\n _isEditMode: false,\r\n dueDate: \"05/12/2019\"\r\n },\r\n {\r\n id: 29,\r\n carId: 10,\r\n text:\r\n \"aliquam lacus morbi quis tortor id nulla ultrices aliquet maecenas leo odio condimentum id luctus nec molestie sed\",\r\n _userId: 1,\r\n _createdDate: \"07/03/2016\",\r\n _updatedDate: \"02/06/2011\",\r\n type: 2,\r\n _isEditMode: false,\r\n dueDate: \"02/24/2019\"\r\n },\r\n {\r\n id: 30,\r\n carId: 10,\r\n text: \"donec quis orci eget orci vehicula condimentum\",\r\n _userId: 2,\r\n _createdDate: \"01/27/2014\",\r\n _updatedDate: \"12/09/2016\",\r\n type: 1,\r\n _isEditMode: false,\r\n dueDate: \"02/27/2020\"\r\n },\r\n {\r\n id: 31,\r\n carId: 11,\r\n text: \"etiam faucibus cursus urna ut tellus nulla ut erat\",\r\n _userId: 1,\r\n _createdDate: \"07/08/2014\",\r\n _updatedDate: \"06/07/2014\",\r\n type: 1,\r\n _isEditMode: false,\r\n dueDate: \"05/26/2020\"\r\n },\r\n {\r\n id: 32,\r\n carId: 11,\r\n text:\r\n \"hac habitasse platea dictumst etiam faucibus cursus urna ut tellus nulla ut erat id mauris vulputate elementum nullam varius\",\r\n _userId: 1,\r\n _createdDate: \"05/03/2016\",\r\n _updatedDate: \"07/20/2012\",\r\n type: 1,\r\n _isEditMode: false,\r\n dueDate: \"08/11/2019\"\r\n },\r\n {\r\n id: 33,\r\n carId: 11,\r\n text: \"vel enim sit amet\",\r\n _userId: 1,\r\n _createdDate: \"06/02/2017\",\r\n _updatedDate: \"05/03/2012\",\r\n type: 0,\r\n _isEditMode: false,\r\n dueDate: \"12/18/2019\"\r\n },\r\n {\r\n id: 34,\r\n carId: 12,\r\n text:\r\n \"est congue elementum in hac habitasse platea dictumst morbi vestibulum\",\r\n _userId: 2,\r\n _createdDate: \"03/28/2017\",\r\n _updatedDate: \"07/23/2010\",\r\n type: 1,\r\n _isEditMode: false,\r\n dueDate: \"02/16/2019\"\r\n },\r\n {\r\n id: 35,\r\n carId: 12,\r\n text: \"tempus vel pede morbi\",\r\n _userId: 1,\r\n _createdDate: \"10/29/2013\",\r\n _updatedDate: \"01/22/2016\",\r\n type: 0,\r\n _isEditMode: false,\r\n dueDate: \"12/30/2018\"\r\n },\r\n {\r\n id: 36,\r\n carId: 12,\r\n text:\r\n \"augue vel accumsan tellus nisi eu orci mauris lacinia sapien quis libero nullam sit amet turpis\",\r\n _userId: 2,\r\n _createdDate: \"03/31/2011\",\r\n _updatedDate: \"08/20/2012\",\r\n type: 0,\r\n _isEditMode: false,\r\n dueDate: \"06/29/2019\"\r\n },\r\n {\r\n id: 37,\r\n carId: 13,\r\n text: \"faucibus\",\r\n _userId: 2,\r\n _createdDate: \"12/24/2016\",\r\n _updatedDate: \"03/01/2017\",\r\n type: 2,\r\n _isEditMode: false,\r\n dueDate: \"04/09/2020\"\r\n },\r\n {\r\n id: 38,\r\n carId: 13,\r\n text:\r\n \"vulputate luctus cum sociis natoque penatibus et magnis dis parturient montes nascetur ridiculus\",\r\n _userId: 1,\r\n _createdDate: \"08/02/2015\",\r\n _updatedDate: \"10/24/2011\",\r\n type: 1,\r\n _isEditMode: false,\r\n dueDate: \"03/03/2020\"\r\n },\r\n {\r\n id: 39,\r\n carId: 13,\r\n text:\r\n \"nulla ultrices aliquet maecenas leo odio condimentum id luctus nec molestie sed justo pellentesque viverra pede ac\",\r\n _userId: 1,\r\n _createdDate: \"03/27/2011\",\r\n _updatedDate: \"11/25/2017\",\r\n type: 2,\r\n _isEditMode: false,\r\n dueDate: \"12/22/2019\"\r\n },\r\n {\r\n id: 40,\r\n carId: 14,\r\n text:\r\n \"vel accumsan tellus nisi eu orci mauris lacinia sapien quis libero nullam sit amet turpis elementum\",\r\n _userId: 1,\r\n _createdDate: \"02/03/2017\",\r\n _updatedDate: \"03/15/2014\",\r\n type: 0,\r\n _isEditMode: false,\r\n dueDate: \"02/06/2020\"\r\n },\r\n {\r\n id: 41,\r\n carId: 14,\r\n text: \"nec dui luctus rutrum nulla tellus in sagittis dui vel\",\r\n _userId: 2,\r\n _createdDate: \"08/12/2013\",\r\n _updatedDate: \"03/26/2013\",\r\n type: 0,\r\n _isEditMode: false,\r\n dueDate: \"09/22/2019\"\r\n },\r\n {\r\n id: 42,\r\n carId: 14,\r\n text: \"integer aliquet massa id lobortis convallis\",\r\n _userId: 1,\r\n _createdDate: \"09/09/2013\",\r\n _updatedDate: \"03/06/2018\",\r\n type: 1,\r\n _isEditMode: false,\r\n dueDate: \"01/19/2019\"\r\n },\r\n {\r\n id: 43,\r\n carId: 15,\r\n text: \"proin leo odio porttitor id consequat in consequat\",\r\n _userId: 2,\r\n _createdDate: \"04/25/2015\",\r\n _updatedDate: \"09/29/2015\",\r\n type: 0,\r\n _isEditMode: false,\r\n dueDate: \"11/02/2019\"\r\n },\r\n {\r\n id: 44,\r\n carId: 15,\r\n text:\r\n \"mauris enim leo rhoncus sed vestibulum sit amet cursus id turpis integer aliquet massa id lobortis convallis tortor\",\r\n _userId: 1,\r\n _createdDate: \"11/28/2013\",\r\n _updatedDate: \"10/12/2012\",\r\n type: 2,\r\n _isEditMode: false,\r\n dueDate: \"02/28/2019\"\r\n },\r\n {\r\n id: 45,\r\n carId: 15,\r\n text:\r\n \"felis donec semper sapien a libero nam dui proin leo odio porttitor id consequat in consequat ut\",\r\n _userId: 1,\r\n _createdDate: \"12/24/2016\",\r\n _updatedDate: \"03/18/2016\",\r\n type: 1,\r\n _isEditMode: false,\r\n dueDate: \"11/13/2019\"\r\n },\r\n {\r\n id: 46,\r\n carId: 16,\r\n text:\r\n \"id lobortis convallis tortor risus dapibus augue vel accumsan tellus nisi eu orci mauris lacinia sapien quis libero\",\r\n _userId: 2,\r\n _createdDate: \"09/16/2015\",\r\n _updatedDate: \"09/20/2011\",\r\n type: 1,\r\n _isEditMode: false,\r\n dueDate: \"11/28/2019\"\r\n },\r\n {\r\n id: 47,\r\n carId: 16,\r\n text: \"semper rutrum nulla nunc purus phasellus\",\r\n _userId: 1,\r\n _createdDate: \"04/09/2017\",\r\n _updatedDate: \"08/19/2012\",\r\n type: 0,\r\n _isEditMode: false,\r\n dueDate: \"11/05/2019\"\r\n },\r\n {\r\n id: 48,\r\n carId: 16,\r\n text: \"curabitur at ipsum ac tellus semper\",\r\n _userId: 2,\r\n _createdDate: \"10/09/2010\",\r\n _updatedDate: \"11/20/2014\",\r\n type: 2,\r\n _isEditMode: false,\r\n dueDate: \"11/27/2018\"\r\n },\r\n {\r\n id: 49,\r\n carId: 17,\r\n text: \"tellus nisi eu orci mauris lacinia sapien\",\r\n _userId: 1,\r\n _createdDate: \"11/18/2012\",\r\n _updatedDate: \"10/24/2017\",\r\n type: 1,\r\n _isEditMode: false,\r\n dueDate: \"04/10/2019\"\r\n },\r\n {\r\n id: 50,\r\n carId: 17,\r\n text: \"quisque id justo sit amet sapien dignissim vestibulum vestibulum\",\r\n _userId: 1,\r\n _createdDate: \"09/21/2015\",\r\n _updatedDate: \"11/27/2016\",\r\n type: 2,\r\n _isEditMode: false,\r\n dueDate: \"12/17/2018\"\r\n },\r\n {\r\n id: 51,\r\n carId: 17,\r\n text:\r\n \"diam id ornare imperdiet sapien urna pretium nisl ut volutpat sapien arcu sed\",\r\n _userId: 1,\r\n _createdDate: \"08/13/2012\",\r\n _updatedDate: \"06/21/2016\",\r\n type: 1,\r\n _isEditMode: false,\r\n dueDate: \"06/11/2019\"\r\n },\r\n {\r\n id: 52,\r\n carId: 18,\r\n text: \"eget nunc donec\",\r\n _userId: 1,\r\n _createdDate: \"03/30/2012\",\r\n _updatedDate: \"08/05/2012\",\r\n type: 1,\r\n _isEditMode: false,\r\n dueDate: \"11/15/2018\"\r\n },\r\n {\r\n id: 53,\r\n carId: 18,\r\n text: \"nulla ac enim in tempor\",\r\n _userId: 1,\r\n _createdDate: \"04/30/2012\",\r\n _updatedDate: \"11/12/2013\",\r\n type: 2,\r\n _isEditMode: false,\r\n dueDate: \"01/16/2020\"\r\n },\r\n {\r\n id: 54,\r\n carId: 18,\r\n text: \"in quis justo maecenas rhoncus aliquam lacus morbi quis tortor id\",\r\n _userId: 2,\r\n _createdDate: \"08/29/2012\",\r\n _updatedDate: \"12/10/2012\",\r\n type: 0,\r\n _isEditMode: false,\r\n dueDate: \"09/25/2019\"\r\n },\r\n {\r\n id: 55,\r\n carId: 19,\r\n text: \"justo in\",\r\n _userId: 2,\r\n _createdDate: \"11/27/2017\",\r\n _updatedDate: \"10/03/2010\",\r\n type: 0,\r\n _isEditMode: false,\r\n dueDate: \"10/04/2019\"\r\n },\r\n {\r\n id: 56,\r\n carId: 19,\r\n text: \"duis\",\r\n _userId: 2,\r\n _createdDate: \"07/09/2016\",\r\n _updatedDate: \"02/13/2013\",\r\n type: 2,\r\n _isEditMode: false,\r\n dueDate: \"05/07/2020\"\r\n },\r\n {\r\n id: 57,\r\n carId: 19,\r\n text:\r\n \"luctus tincidunt nulla mollis molestie lorem quisque ut erat curabitur gravida nisi at nibh in hac habitasse platea\",\r\n _userId: 1,\r\n _createdDate: \"01/10/2014\",\r\n _updatedDate: \"01/07/2014\",\r\n type: 0,\r\n _isEditMode: false,\r\n dueDate: \"04/01/2020\"\r\n },\r\n {\r\n id: 58,\r\n carId: 20,\r\n text: \"non sodales sed tincidunt\",\r\n _userId: 1,\r\n _createdDate: \"02/15/2016\",\r\n _updatedDate: \"12/12/2013\",\r\n type: 1,\r\n _isEditMode: false,\r\n dueDate: \"08/26/2019\"\r\n },\r\n {\r\n id: 59,\r\n carId: 20,\r\n text:\r\n \"dictumst aliquam augue quam sollicitudin vitae consectetuer eget rutrum at lorem integer tincidunt ante vel ipsum\",\r\n _userId: 2,\r\n _createdDate: \"01/08/2018\",\r\n _updatedDate: \"06/20/2011\",\r\n type: 2,\r\n _isEditMode: false,\r\n dueDate: \"10/27/2019\"\r\n },\r\n {\r\n id: 60,\r\n carId: 20,\r\n text: \"adipiscing molestie hendrerit at vulputate\",\r\n _userId: 1,\r\n _createdDate: \"01/06/2013\",\r\n _updatedDate: \"09/08/2017\",\r\n type: 2,\r\n _isEditMode: false,\r\n dueDate: \"05/03/2020\"\r\n },\r\n {\r\n id: 61,\r\n carId: 21,\r\n text: \"sed tristique in tempus sit amet sem fusce consequat nulla nisl\",\r\n _userId: 1,\r\n _createdDate: \"01/05/2012\",\r\n _updatedDate: \"06/05/2014\",\r\n type: 1,\r\n _isEditMode: false,\r\n dueDate: \"04/06/2019\"\r\n },\r\n {\r\n id: 62,\r\n carId: 21,\r\n text: \"sem praesent id massa id nisl venenatis lacinia aenean sit\",\r\n _userId: 2,\r\n _createdDate: \"12/06/2014\",\r\n _updatedDate: \"12/23/2013\",\r\n type: 2,\r\n _isEditMode: false,\r\n dueDate: \"02/05/2019\"\r\n },\r\n {\r\n id: 63,\r\n carId: 21,\r\n text: \"curabitur at ipsum ac tellus semper interdum\",\r\n _userId: 2,\r\n _createdDate: \"11/23/2014\",\r\n _updatedDate: \"04/10/2013\",\r\n type: 0,\r\n _isEditMode: false,\r\n dueDate: \"04/05/2020\"\r\n },\r\n {\r\n id: 64,\r\n carId: 22,\r\n text: \"donec ut mauris eget massa tempor convallis\",\r\n _userId: 2,\r\n _createdDate: \"10/16/2011\",\r\n _updatedDate: \"11/30/2012\",\r\n type: 2,\r\n _isEditMode: false,\r\n dueDate: \"11/23/2019\"\r\n },\r\n {\r\n id: 65,\r\n carId: 22,\r\n text: \"in faucibus orci luctus et ultrices posuere\",\r\n _userId: 1,\r\n _createdDate: \"11/12/2011\",\r\n _updatedDate: \"12/16/2016\",\r\n type: 2,\r\n _isEditMode: false,\r\n dueDate: \"04/23/2019\"\r\n },\r\n {\r\n id: 66,\r\n carId: 22,\r\n text: \"ligula\",\r\n _userId: 2,\r\n _createdDate: \"12/30/2014\",\r\n _updatedDate: \"12/12/2011\",\r\n type: 1,\r\n _isEditMode: false,\r\n dueDate: \"03/28/2019\"\r\n },\r\n {\r\n id: 67,\r\n carId: 23,\r\n text:\r\n \"congue etiam justo etiam pretium iaculis justo in hac habitasse platea dictumst etiam faucibus cursus\",\r\n _userId: 1,\r\n _createdDate: \"05/09/2014\",\r\n _updatedDate: \"05/28/2013\",\r\n type: 1,\r\n _isEditMode: false,\r\n dueDate: \"11/25/2018\"\r\n },\r\n {\r\n id: 68,\r\n carId: 23,\r\n text: \"mollis molestie lorem quisque ut erat curabitur gravida nisi\",\r\n _userId: 2,\r\n _createdDate: \"12/07/2011\",\r\n _updatedDate: \"08/07/2011\",\r\n type: 1,\r\n _isEditMode: false,\r\n dueDate: \"06/22/2019\"\r\n },\r\n {\r\n id: 69,\r\n carId: 23,\r\n text:\r\n \"maecenas tincidunt lacus at velit vivamus vel nulla eget eros elementum pellentesque quisque porta volutpat erat quisque\",\r\n _userId: 1,\r\n _createdDate: \"11/15/2012\",\r\n _updatedDate: \"09/02/2015\",\r\n type: 1,\r\n _isEditMode: false,\r\n dueDate: \"10/30/2018\"\r\n },\r\n {\r\n id: 70,\r\n carId: 24,\r\n text: \"libero convallis\",\r\n _userId: 1,\r\n _createdDate: \"12/04/2010\",\r\n _updatedDate: \"09/25/2011\",\r\n type: 1,\r\n _isEditMode: false,\r\n dueDate: \"11/25/2018\"\r\n },\r\n {\r\n id: 71,\r\n carId: 24,\r\n text: \"vitae nisi nam ultrices libero\",\r\n _userId: 1,\r\n _createdDate: \"02/24/2015\",\r\n _updatedDate: \"03/10/2011\",\r\n type: 2,\r\n _isEditMode: false,\r\n dueDate: \"04/17/2020\"\r\n },\r\n {\r\n id: 72,\r\n carId: 24,\r\n text: \"augue a suscipit nulla elit ac nulla sed vel enim sit amet nunc\",\r\n _userId: 1,\r\n _createdDate: \"02/21/2012\",\r\n _updatedDate: \"12/09/2011\",\r\n type: 2,\r\n _isEditMode: false,\r\n dueDate: \"07/22/2019\"\r\n },\r\n {\r\n id: 73,\r\n carId: 25,\r\n text: \"id turpis integer aliquet massa id lobortis convallis tortor\",\r\n _userId: 1,\r\n _createdDate: \"01/20/2014\",\r\n _updatedDate: \"09/03/2014\",\r\n type: 2,\r\n _isEditMode: false,\r\n dueDate: \"01/10/2020\"\r\n },\r\n {\r\n id: 74,\r\n carId: 25,\r\n text: \"felis fusce posuere felis sed lacus morbi sem mauris laoreet\",\r\n _userId: 1,\r\n _createdDate: \"10/24/2014\",\r\n _updatedDate: \"02/19/2018\",\r\n type: 1,\r\n _isEditMode: false,\r\n dueDate: \"12/19/2019\"\r\n },\r\n {\r\n id: 75,\r\n carId: 25,\r\n text:\r\n \"neque libero convallis eget eleifend luctus ultricies eu nibh quisque id justo sit amet sapien dignissim\",\r\n _userId: 2,\r\n _createdDate: \"02/19/2016\",\r\n _updatedDate: \"06/26/2013\",\r\n type: 1,\r\n _isEditMode: false,\r\n dueDate: \"02/23/2020\"\r\n },\r\n {\r\n id: 76,\r\n carId: 26,\r\n text:\r\n \"nulla nunc purus phasellus in felis donec semper sapien a libero nam\",\r\n _userId: 1,\r\n _createdDate: \"07/29/2011\",\r\n _updatedDate: \"12/09/2011\",\r\n type: 1,\r\n _isEditMode: false,\r\n dueDate: \"02/07/2020\"\r\n },\r\n {\r\n id: 77,\r\n carId: 26,\r\n text: \"elit sodales scelerisque\",\r\n _userId: 2,\r\n _createdDate: \"10/02/2012\",\r\n _updatedDate: \"05/05/2012\",\r\n type: 0,\r\n _isEditMode: false,\r\n dueDate: \"10/05/2019\"\r\n },\r\n {\r\n id: 78,\r\n carId: 26,\r\n text:\r\n \"sed lacus morbi sem mauris laoreet ut rhoncus aliquet pulvinar sed nisl nunc rhoncus dui vel\",\r\n _userId: 1,\r\n _createdDate: \"01/27/2015\",\r\n _updatedDate: \"07/14/2013\",\r\n type: 1,\r\n _isEditMode: false,\r\n dueDate: \"01/19/2019\"\r\n },\r\n {\r\n id: 79,\r\n carId: 27,\r\n text: \"augue vestibulum\",\r\n _userId: 1,\r\n _createdDate: \"09/19/2011\",\r\n _updatedDate: \"09/11/2014\",\r\n type: 0,\r\n _isEditMode: false,\r\n dueDate: \"03/08/2020\"\r\n },\r\n {\r\n id: 80,\r\n carId: 27,\r\n text: \"turpis nec euismod scelerisque\",\r\n _userId: 2,\r\n _createdDate: \"01/17/2014\",\r\n _updatedDate: \"03/04/2018\",\r\n type: 1,\r\n _isEditMode: false,\r\n dueDate: \"11/08/2019\"\r\n },\r\n {\r\n id: 81,\r\n carId: 27,\r\n text:\r\n \"quisque id justo sit amet sapien dignissim vestibulum vestibulum ante ipsum primis in faucibus orci luctus\",\r\n _userId: 1,\r\n _createdDate: \"08/16/2015\",\r\n _updatedDate: \"02/21/2011\",\r\n type: 1,\r\n _isEditMode: false,\r\n dueDate: \"02/15/2019\"\r\n },\r\n {\r\n id: 82,\r\n carId: 28,\r\n text:\r\n \"ultrices posuere cubilia curae duis faucibus accumsan odio curabitur convallis duis consequat dui nec nisi volutpat eleifend\",\r\n _userId: 1,\r\n _createdDate: \"03/07/2014\",\r\n _updatedDate: \"08/21/2012\",\r\n type: 2,\r\n _isEditMode: false,\r\n dueDate: \"05/14/2019\"\r\n },\r\n {\r\n id: 83,\r\n carId: 28,\r\n text:\r\n \"curabitur gravida nisi at nibh in hac habitasse platea dictumst aliquam augue\",\r\n _userId: 2,\r\n _createdDate: \"09/20/2017\",\r\n _updatedDate: \"08/21/2014\",\r\n type: 0,\r\n _isEditMode: false,\r\n dueDate: \"07/07/2019\"\r\n },\r\n {\r\n id: 84,\r\n carId: 28,\r\n text:\r\n \"dolor quis odio consequat varius integer ac leo pellentesque ultrices mattis odio donec vitae nisi\",\r\n _userId: 2,\r\n _createdDate: \"04/08/2017\",\r\n _updatedDate: \"08/17/2016\",\r\n type: 1,\r\n _isEditMode: false,\r\n dueDate: \"03/19/2019\"\r\n },\r\n {\r\n id: 85,\r\n carId: 29,\r\n text:\r\n \"interdum in ante vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia curae duis faucibus\",\r\n _userId: 2,\r\n _createdDate: \"04/30/2013\",\r\n _updatedDate: \"08/22/2013\",\r\n type: 2,\r\n _isEditMode: false,\r\n dueDate: \"03/23/2020\"\r\n },\r\n {\r\n id: 86,\r\n carId: 29,\r\n text:\r\n \"faucibus orci luctus et ultrices posuere cubilia curae nulla dapibus dolor vel est donec odio justo sollicitudin ut suscipit a\",\r\n _userId: 2,\r\n _createdDate: \"04/12/2014\",\r\n _updatedDate: \"03/06/2013\",\r\n type: 1,\r\n _isEditMode: false,\r\n dueDate: \"02/17/2019\"\r\n },\r\n {\r\n id: 87,\r\n carId: 29,\r\n text:\r\n \"faucibus orci luctus et ultrices posuere cubilia curae donec pharetra magna vestibulum\",\r\n _userId: 2,\r\n _createdDate: \"11/21/2016\",\r\n _updatedDate: \"08/21/2010\",\r\n type: 1,\r\n _isEditMode: false,\r\n dueDate: \"11/06/2019\"\r\n },\r\n {\r\n id: 88,\r\n carId: 30,\r\n text: \"nibh in hac habitasse platea dictumst\",\r\n _userId: 1,\r\n _createdDate: \"10/30/2011\",\r\n _updatedDate: \"03/07/2012\",\r\n type: 2,\r\n _isEditMode: false,\r\n dueDate: \"12/02/2019\"\r\n },\r\n {\r\n id: 89,\r\n carId: 30,\r\n text: \"fusce lacus purus\",\r\n _userId: 2,\r\n _createdDate: \"09/02/2014\",\r\n _updatedDate: \"05/22/2015\",\r\n type: 2,\r\n _isEditMode: false,\r\n dueDate: \"10/13/2019\"\r\n },\r\n {\r\n id: 90,\r\n carId: 30,\r\n text: \"ultrices enim lorem ipsum dolor\",\r\n _userId: 1,\r\n _createdDate: \"12/21/2012\",\r\n _updatedDate: \"02/28/2018\",\r\n type: 1,\r\n _isEditMode: false,\r\n dueDate: \"12/08/2019\"\r\n },\r\n {\r\n id: 91,\r\n carId: 31,\r\n text: \"suspendisse accumsan tortor quis turpis\",\r\n _userId: 1,\r\n _createdDate: \"01/22/2014\",\r\n _updatedDate: \"01/26/2015\",\r\n type: 2,\r\n _isEditMode: false,\r\n dueDate: \"03/05/2019\"\r\n },\r\n {\r\n id: 92,\r\n carId: 31,\r\n text:\r\n \"sed interdum venenatis turpis enim blandit mi in porttitor pede justo eu massa\",\r\n _userId: 1,\r\n _createdDate: \"12/20/2013\",\r\n _updatedDate: \"08/13/2016\",\r\n type: 0,\r\n _isEditMode: false,\r\n dueDate: \"09/03/2019\"\r\n },\r\n {\r\n id: 93,\r\n carId: 31,\r\n text:\r\n \"quisque id justo sit amet sapien dignissim vestibulum vestibulum ante ipsum primis\",\r\n _userId: 1,\r\n _createdDate: \"07/08/2016\",\r\n _updatedDate: \"02/26/2013\",\r\n type: 0,\r\n _isEditMode: false,\r\n dueDate: \"01/22/2019\"\r\n },\r\n {\r\n id: 94,\r\n carId: 32,\r\n text: \"vitae nisi nam ultrices\",\r\n _userId: 1,\r\n _createdDate: \"02/21/2015\",\r\n _updatedDate: \"03/04/2017\",\r\n type: 1,\r\n _isEditMode: false,\r\n dueDate: \"01/05/2020\"\r\n },\r\n {\r\n id: 95,\r\n carId: 32,\r\n text: \"in tempus sit amet sem fusce consequat\",\r\n _userId: 2,\r\n _createdDate: \"09/15/2014\",\r\n _updatedDate: \"05/21/2017\",\r\n type: 1,\r\n _isEditMode: false,\r\n dueDate: \"03/31/2019\"\r\n },\r\n {\r\n id: 96,\r\n carId: 32,\r\n text:\r\n \"eros elementum pellentesque quisque porta volutpat erat quisque erat eros viverra eget congue eget semper\",\r\n _userId: 2,\r\n _createdDate: \"06/04/2014\",\r\n _updatedDate: \"08/12/2010\",\r\n type: 0,\r\n _isEditMode: false,\r\n dueDate: \"10/10/2019\"\r\n },\r\n {\r\n id: 97,\r\n carId: 33,\r\n text: \"eu pede\",\r\n _userId: 2,\r\n _createdDate: \"03/21/2011\",\r\n _updatedDate: \"07/18/2012\",\r\n type: 2,\r\n _isEditMode: false,\r\n dueDate: \"03/29/2020\"\r\n },\r\n {\r\n id: 98,\r\n carId: 33,\r\n text: \"tempus vivamus in felis eu sapien cursus vestibulum proin\",\r\n _userId: 2,\r\n _createdDate: \"09/17/2017\",\r\n _updatedDate: \"11/29/2013\",\r\n type: 1,\r\n _isEditMode: false,\r\n dueDate: \"04/01/2019\"\r\n },\r\n {\r\n id: 99,\r\n carId: 33,\r\n text:\r\n \"velit eu est congue elementum in hac habitasse platea dictumst morbi vestibulum velit id pretium iaculis diam erat fermentum\",\r\n _userId: 1,\r\n _createdDate: \"03/27/2013\",\r\n _updatedDate: \"09/26/2014\",\r\n type: 1,\r\n _isEditMode: false,\r\n dueDate: \"09/14/2019\"\r\n },\r\n {\r\n id: 100,\r\n carId: 34,\r\n text: \"luctus et ultrices posuere cubilia curae nulla dapibus dolor vel\",\r\n _userId: 2,\r\n _createdDate: \"03/07/2017\",\r\n _updatedDate: \"08/14/2012\",\r\n type: 0,\r\n _isEditMode: false,\r\n dueDate: \"08/11/2019\"\r\n }\r\n];\r\n","import remarkTableMock from \"./remarkTableMock\";\r\nimport MockUtils from \"./mock.utils\";\r\n\r\nexport default function mockRemarks(mock) {\r\n mock.onPost(\"api/remarks\").reply(({ data }) => {\r\n const { remark } = JSON.parse(data);\r\n const { carId, text = \"\", dueDate = \"01/01/2019\", type = 0 } = remark;\r\n const id = generateRemarkId();\r\n const newRemark = {\r\n id,\r\n carId: +carId,\r\n text,\r\n dueDate,\r\n type\r\n };\r\n remarkTableMock.push(newRemark);\r\n return [200, { remark: newRemark }];\r\n });\r\n\r\n mock.onPost(/api\\/remarksfind\\/\\d+/).reply(config => {\r\n const urls = config.url.split(\"/\");\r\n const id = urls[2];\r\n const mockUtils = new MockUtils();\r\n const { queryParams } = JSON.parse(config.data);\r\n const productRemarks = remarkTableMock.filter(el => el.carId === +id);\r\n const filterdRemarks = mockUtils.baseFilter(productRemarks, queryParams);\r\n return [200, filterdRemarks];\r\n });\r\n\r\n mock.onPost(\"api/remarks/deleteRemarks\").reply(config => {\r\n const { ids } = JSON.parse(config.data);\r\n ids.forEach(id => {\r\n const index = remarkTableMock.findIndex(el => el.id === id);\r\n if (index > -1) {\r\n remarkTableMock.splice(index, 1);\r\n }\r\n });\r\n return [200];\r\n });\r\n\r\n mock.onGet(/api\\/remarks\\/\\d+/).reply(config => {\r\n const id = config.url.match(/api\\/remarks\\/(\\d+)/)[1];\r\n const remark = remarkTableMock.find(el => el.id === +id);\r\n if (!remark) {\r\n return [400];\r\n }\r\n\r\n return [200, remark];\r\n });\r\n\r\n mock.onPut(/api\\/remarks\\/\\d+/).reply(config => {\r\n const id = config.url.match(/api\\/remarks\\/(\\d+)/)[1];\r\n const { remark } = JSON.parse(config.data);\r\n const index = remarkTableMock.findIndex(el => el.id === +id);\r\n if (!index) {\r\n return [400];\r\n }\r\n\r\n remarkTableMock[index] = { ...remark };\r\n return [200];\r\n });\r\n\r\n mock.onDelete(/api\\/remarks\\/\\d+/).reply(config => {\r\n const id = config.url.match(/api\\/remarks\\/(\\d+)/)[1];\r\n const index = remarkTableMock.findIndex(el => el.id === +id);\r\n remarkTableMock.splice(index, 1);\r\n if (!index === -1) {\r\n return [400];\r\n }\r\n\r\n return [200];\r\n });\r\n}\r\n\r\nfunction generateRemarkId() {\r\n const ids = remarkTableMock.map(el => el.id);\r\n const maxId = Math.max(...ids);\r\n return maxId + 1;\r\n}\r\n","export default [\r\n {\r\n id: 1,\r\n carId: 1,\r\n specId: 1,\r\n value: \"purus sit amet nulla\",\r\n _userId: 1,\r\n _createdDate: \"07/14/2011\",\r\n _updatedDate: \"07/27/2013\"\r\n },\r\n {\r\n id: 2,\r\n carId: 1,\r\n specId: 2,\r\n value: \"nulla sed vel enim\",\r\n _userId: 2,\r\n _createdDate: \"09/29/2012\",\r\n _updatedDate: \"09/25/2013\"\r\n },\r\n {\r\n id: 3,\r\n carId: 1,\r\n specId: 3,\r\n value: \"id ornare\",\r\n _userId: 1,\r\n _createdDate: \"01/13/2016\",\r\n _updatedDate: \"07/08/2010\"\r\n },\r\n {\r\n id: 4,\r\n carId: 1,\r\n specId: 4,\r\n value: \"orci luctus et\",\r\n _userId: 1,\r\n _createdDate: \"06/20/2013\",\r\n _updatedDate: \"05/09/2013\"\r\n },\r\n {\r\n id: 5,\r\n carId: 1,\r\n specId: 5,\r\n value: \"convallis duis consequat dui nec\",\r\n _userId: 1,\r\n _createdDate: \"02/24/2014\",\r\n _updatedDate: \"04/26/2016\"\r\n },\r\n {\r\n id: 6,\r\n carId: 2,\r\n specId: 6,\r\n value: \"augue luctus\",\r\n _userId: 1,\r\n _createdDate: \"03/16/2017\",\r\n _updatedDate: \"02/01/2018\"\r\n },\r\n {\r\n id: 7,\r\n carId: 2,\r\n specId: 7,\r\n value: \"in tempus sit amet\",\r\n _userId: 1,\r\n _createdDate: \"01/24/2012\",\r\n _updatedDate: \"03/14/2015\"\r\n },\r\n {\r\n id: 8,\r\n carId: 2,\r\n specId: 8,\r\n value: \"venenatis turpis enim blandit mi\",\r\n _userId: 1,\r\n _createdDate: \"10/02/2017\",\r\n _updatedDate: \"05/20/2011\"\r\n },\r\n {\r\n id: 9,\r\n carId: 2,\r\n specId: 9,\r\n value: \"sed magna at nunc commodo\",\r\n _userId: 2,\r\n _createdDate: \"02/29/2012\",\r\n _updatedDate: \"06/30/2015\"\r\n },\r\n {\r\n id: 10,\r\n carId: 2,\r\n specId: 0,\r\n value: \"nascetur\",\r\n _userId: 1,\r\n _createdDate: \"11/26/2013\",\r\n _updatedDate: \"12/03/2013\"\r\n },\r\n {\r\n id: 11,\r\n carId: 3,\r\n specId: 1,\r\n value: \"magna vestibulum aliquet\",\r\n _userId: 2,\r\n _createdDate: \"06/23/2014\",\r\n _updatedDate: \"07/11/2014\"\r\n },\r\n {\r\n id: 12,\r\n carId: 3,\r\n specId: 1,\r\n value: \"bibendum imperdiet nullam orci\",\r\n _userId: 2,\r\n _createdDate: \"08/14/2013\",\r\n _updatedDate: \"06/22/2017\"\r\n },\r\n {\r\n id: 13,\r\n carId: 3,\r\n specId: 2,\r\n value: \"ligula pellentesque ultrices phasellus\",\r\n _userId: 2,\r\n _createdDate: \"05/03/2016\",\r\n _updatedDate: \"06/08/2012\"\r\n },\r\n {\r\n id: 14,\r\n carId: 3,\r\n specId: 3,\r\n value: \"in faucibus orci luctus\",\r\n _userId: 2,\r\n _createdDate: \"04/10/2016\",\r\n _updatedDate: \"11/23/2011\"\r\n },\r\n {\r\n id: 15,\r\n carId: 3,\r\n specId: 4,\r\n value: \"quis turpis sed ante\",\r\n _userId: 2,\r\n _createdDate: \"12/28/2015\",\r\n _updatedDate: \"02/11/2011\"\r\n },\r\n {\r\n id: 16,\r\n carId: 4,\r\n specId: 5,\r\n value: \"proin risus praesent lectus\",\r\n _userId: 2,\r\n _createdDate: \"04/25/2011\",\r\n _updatedDate: \"08/26/2014\"\r\n },\r\n {\r\n id: 17,\r\n carId: 4,\r\n specId: 6,\r\n value: \"morbi sem mauris laoreet\",\r\n _userId: 2,\r\n _createdDate: \"09/23/2012\",\r\n _updatedDate: \"05/17/2018\"\r\n },\r\n {\r\n id: 18,\r\n carId: 4,\r\n specId: 7,\r\n value: \"erat curabitur gravida\",\r\n _userId: 2,\r\n _createdDate: \"02/26/2015\",\r\n _updatedDate: \"01/07/2014\"\r\n },\r\n {\r\n id: 19,\r\n carId: 4,\r\n specId: 8,\r\n value: \"tellus nulla ut\",\r\n _userId: 1,\r\n _createdDate: \"12/08/2016\",\r\n _updatedDate: \"10/08/2015\"\r\n },\r\n {\r\n id: 20,\r\n carId: 4,\r\n specId: 9,\r\n value: \"tempus sit amet sem fusce\",\r\n _userId: 2,\r\n _createdDate: \"05/09/2011\",\r\n _updatedDate: \"11/07/2011\"\r\n },\r\n {\r\n id: 21,\r\n carId: 5,\r\n specId: 0,\r\n value: \"pellentesque ultrices phasellus\",\r\n _userId: 1,\r\n _createdDate: \"03/22/2011\",\r\n _updatedDate: \"07/04/2010\"\r\n },\r\n {\r\n id: 22,\r\n carId: 5,\r\n specId: 1,\r\n value: \"gravida\",\r\n _userId: 1,\r\n _createdDate: \"01/09/2018\",\r\n _updatedDate: \"02/15/2011\"\r\n },\r\n {\r\n id: 23,\r\n carId: 5,\r\n specId: 1,\r\n value: \"nulla\",\r\n _userId: 1,\r\n _createdDate: \"11/13/2012\",\r\n _updatedDate: \"06/25/2017\"\r\n },\r\n {\r\n id: 24,\r\n carId: 5,\r\n specId: 2,\r\n value: \"et ultrices posuere cubilia\",\r\n _userId: 2,\r\n _createdDate: \"02/24/2014\",\r\n _updatedDate: \"12/11/2011\"\r\n },\r\n {\r\n id: 25,\r\n carId: 5,\r\n specId: 3,\r\n value: \"nulla quisque arcu\",\r\n _userId: 2,\r\n _createdDate: \"12/16/2012\",\r\n _updatedDate: \"02/08/2012\"\r\n },\r\n {\r\n id: 26,\r\n carId: 6,\r\n specId: 4,\r\n value: \"orci eget orci vehicula\",\r\n _userId: 2,\r\n _createdDate: \"09/21/2015\",\r\n _updatedDate: \"05/05/2014\"\r\n },\r\n {\r\n id: 27,\r\n carId: 6,\r\n specId: 5,\r\n value: \"lobortis convallis\",\r\n _userId: 2,\r\n _createdDate: \"08/28/2014\",\r\n _updatedDate: \"05/18/2011\"\r\n },\r\n {\r\n id: 28,\r\n carId: 6,\r\n specId: 6,\r\n value: \"ipsum praesent blandit lacinia\",\r\n _userId: 1,\r\n _createdDate: \"06/14/2015\",\r\n _updatedDate: \"12/28/2012\"\r\n },\r\n {\r\n id: 29,\r\n carId: 6,\r\n specId: 7,\r\n value: \"tempus semper est quam pharetra\",\r\n _userId: 1,\r\n _createdDate: \"08/30/2017\",\r\n _updatedDate: \"08/17/2016\"\r\n },\r\n {\r\n id: 30,\r\n carId: 6,\r\n specId: 8,\r\n value: \"in felis eu sapien\",\r\n _userId: 2,\r\n _createdDate: \"11/18/2010\",\r\n _updatedDate: \"09/20/2016\"\r\n },\r\n {\r\n id: 31,\r\n carId: 7,\r\n specId: 9,\r\n value: \"nam\",\r\n _userId: 2,\r\n _createdDate: \"06/28/2015\",\r\n _updatedDate: \"04/19/2011\"\r\n },\r\n {\r\n id: 32,\r\n carId: 7,\r\n specId: 0,\r\n value: \"metus arcu\",\r\n _userId: 1,\r\n _createdDate: \"06/15/2017\",\r\n _updatedDate: \"08/05/2012\"\r\n },\r\n {\r\n id: 33,\r\n carId: 7,\r\n specId: 1,\r\n value: \"libero nullam\",\r\n _userId: 1,\r\n _createdDate: \"12/15/2014\",\r\n _updatedDate: \"03/28/2013\"\r\n },\r\n {\r\n id: 34,\r\n carId: 7,\r\n specId: 1,\r\n value: \"diam nam\",\r\n _userId: 1,\r\n _createdDate: \"08/28/2017\",\r\n _updatedDate: \"08/24/2015\"\r\n },\r\n {\r\n id: 35,\r\n carId: 7,\r\n specId: 2,\r\n value: \"iaculis congue vivamus metus\",\r\n _userId: 1,\r\n _createdDate: \"06/26/2010\",\r\n _updatedDate: \"01/27/2012\"\r\n },\r\n {\r\n id: 36,\r\n carId: 8,\r\n specId: 3,\r\n value: \"cum sociis natoque\",\r\n _userId: 1,\r\n _createdDate: \"07/04/2016\",\r\n _updatedDate: \"12/24/2013\"\r\n },\r\n {\r\n id: 37,\r\n carId: 8,\r\n specId: 4,\r\n value: \"odio odio elementum eu\",\r\n _userId: 1,\r\n _createdDate: \"06/03/2017\",\r\n _updatedDate: \"11/21/2017\"\r\n },\r\n {\r\n id: 38,\r\n carId: 8,\r\n specId: 5,\r\n value: \"at ipsum ac tellus\",\r\n _userId: 1,\r\n _createdDate: \"06/03/2014\",\r\n _updatedDate: \"07/18/2014\"\r\n },\r\n {\r\n id: 39,\r\n carId: 8,\r\n specId: 6,\r\n value: \"quis\",\r\n _userId: 2,\r\n _createdDate: \"12/25/2015\",\r\n _updatedDate: \"10/10/2012\"\r\n },\r\n {\r\n id: 40,\r\n carId: 8,\r\n specId: 7,\r\n value: \"justo aliquam quis turpis\",\r\n _userId: 2,\r\n _createdDate: \"04/22/2017\",\r\n _updatedDate: \"01/16/2018\"\r\n },\r\n {\r\n id: 41,\r\n carId: 9,\r\n specId: 8,\r\n value: \"adipiscing elit proin risus\",\r\n _userId: 2,\r\n _createdDate: \"02/26/2012\",\r\n _updatedDate: \"03/07/2017\"\r\n },\r\n {\r\n id: 42,\r\n carId: 9,\r\n specId: 9,\r\n value: \"nibh ligula nec sem duis\",\r\n _userId: 1,\r\n _createdDate: \"09/16/2013\",\r\n _updatedDate: \"11/13/2011\"\r\n },\r\n {\r\n id: 43,\r\n carId: 9,\r\n specId: 0,\r\n value: \"purus aliquet at feugiat\",\r\n _userId: 2,\r\n _createdDate: \"05/23/2018\",\r\n _updatedDate: \"10/05/2014\"\r\n },\r\n {\r\n id: 44,\r\n carId: 9,\r\n specId: 1,\r\n value: \"eros suspendisse accumsan tortor quis\",\r\n _userId: 2,\r\n _createdDate: \"10/14/2014\",\r\n _updatedDate: \"08/02/2014\"\r\n },\r\n {\r\n id: 45,\r\n carId: 9,\r\n specId: 1,\r\n value: \"eget rutrum\",\r\n _userId: 2,\r\n _createdDate: \"01/23/2017\",\r\n _updatedDate: \"09/28/2012\"\r\n },\r\n {\r\n id: 46,\r\n carId: 10,\r\n specId: 2,\r\n value: \"hendrerit at vulputate\",\r\n _userId: 1,\r\n _createdDate: \"10/20/2011\",\r\n _updatedDate: \"10/09/2010\"\r\n },\r\n {\r\n id: 47,\r\n carId: 10,\r\n specId: 3,\r\n value: \"et\",\r\n _userId: 1,\r\n _createdDate: \"12/25/2015\",\r\n _updatedDate: \"08/26/2015\"\r\n },\r\n {\r\n id: 48,\r\n carId: 10,\r\n specId: 4,\r\n value: \"volutpat in congue etiam\",\r\n _userId: 2,\r\n _createdDate: \"09/17/2010\",\r\n _updatedDate: \"04/12/2016\"\r\n },\r\n {\r\n id: 49,\r\n carId: 10,\r\n specId: 5,\r\n value: \"odio elementum eu\",\r\n _userId: 2,\r\n _createdDate: \"10/19/2015\",\r\n _updatedDate: \"11/10/2017\"\r\n },\r\n {\r\n id: 50,\r\n carId: 10,\r\n specId: 6,\r\n value: \"donec odio justo\",\r\n _userId: 2,\r\n _createdDate: \"06/18/2016\",\r\n _updatedDate: \"01/26/2011\"\r\n },\r\n {\r\n id: 51,\r\n carId: 11,\r\n specId: 7,\r\n value: \"nulla suspendisse potenti cras in\",\r\n _userId: 2,\r\n _createdDate: \"11/18/2010\",\r\n _updatedDate: \"05/30/2017\"\r\n },\r\n {\r\n id: 52,\r\n carId: 11,\r\n specId: 8,\r\n value: \"nisl\",\r\n _userId: 2,\r\n _createdDate: \"10/26/2010\",\r\n _updatedDate: \"05/14/2015\"\r\n },\r\n {\r\n id: 53,\r\n carId: 11,\r\n specId: 9,\r\n value: \"tincidunt ante\",\r\n _userId: 2,\r\n _createdDate: \"06/29/2016\",\r\n _updatedDate: \"09/05/2010\"\r\n },\r\n {\r\n id: 54,\r\n carId: 11,\r\n specId: 0,\r\n value: \"condimentum curabitur\",\r\n _userId: 1,\r\n _createdDate: \"05/25/2011\",\r\n _updatedDate: \"09/29/2014\"\r\n },\r\n {\r\n id: 55,\r\n carId: 11,\r\n specId: 1,\r\n value: \"mi nulla\",\r\n _userId: 2,\r\n _createdDate: \"12/06/2014\",\r\n _updatedDate: \"05/20/2018\"\r\n },\r\n {\r\n id: 56,\r\n carId: 12,\r\n specId: 1,\r\n value: \"tortor risus\",\r\n _userId: 1,\r\n _createdDate: \"09/26/2016\",\r\n _updatedDate: \"08/07/2010\"\r\n },\r\n {\r\n id: 57,\r\n carId: 12,\r\n specId: 2,\r\n value: \"quisque erat eros\",\r\n _userId: 1,\r\n _createdDate: \"03/18/2012\",\r\n _updatedDate: \"03/27/2016\"\r\n },\r\n {\r\n id: 58,\r\n carId: 12,\r\n specId: 3,\r\n value: \"ultrices posuere cubilia curae nulla\",\r\n _userId: 2,\r\n _createdDate: \"08/11/2010\",\r\n _updatedDate: \"01/10/2013\"\r\n },\r\n {\r\n id: 59,\r\n carId: 12,\r\n specId: 4,\r\n value: \"dapibus\",\r\n _userId: 1,\r\n _createdDate: \"02/15/2015\",\r\n _updatedDate: \"10/19/2010\"\r\n },\r\n {\r\n id: 60,\r\n carId: 12,\r\n specId: 5,\r\n value: \"pharetra magna vestibulum\",\r\n _userId: 2,\r\n _createdDate: \"05/30/2015\",\r\n _updatedDate: \"11/13/2011\"\r\n },\r\n {\r\n id: 61,\r\n carId: 13,\r\n specId: 6,\r\n value: \"lectus\",\r\n _userId: 2,\r\n _createdDate: \"07/20/2012\",\r\n _updatedDate: \"03/10/2015\"\r\n },\r\n {\r\n id: 62,\r\n carId: 13,\r\n specId: 7,\r\n value: \"eget vulputate\",\r\n _userId: 1,\r\n _createdDate: \"04/30/2017\",\r\n _updatedDate: \"03/11/2016\"\r\n },\r\n {\r\n id: 63,\r\n carId: 13,\r\n specId: 8,\r\n value: \"feugiat et eros\",\r\n _userId: 2,\r\n _createdDate: \"04/21/2018\",\r\n _updatedDate: \"09/11/2011\"\r\n },\r\n {\r\n id: 64,\r\n carId: 13,\r\n specId: 9,\r\n value: \"dis parturient\",\r\n _userId: 1,\r\n _createdDate: \"02/09/2011\",\r\n _updatedDate: \"02/06/2011\"\r\n },\r\n {\r\n id: 65,\r\n carId: 13,\r\n specId: 0,\r\n value: \"gravida\",\r\n _userId: 1,\r\n _createdDate: \"08/22/2013\",\r\n _updatedDate: \"09/02/2012\"\r\n },\r\n {\r\n id: 66,\r\n carId: 14,\r\n specId: 1,\r\n value: \"sed\",\r\n _userId: 1,\r\n _createdDate: \"09/18/2010\",\r\n _updatedDate: \"06/10/2015\"\r\n },\r\n {\r\n id: 67,\r\n carId: 14,\r\n specId: 1,\r\n value: \"in blandit\",\r\n _userId: 2,\r\n _createdDate: \"11/21/2017\",\r\n _updatedDate: \"06/22/2016\"\r\n },\r\n {\r\n id: 68,\r\n carId: 14,\r\n specId: 2,\r\n value: \"id\",\r\n _userId: 2,\r\n _createdDate: \"04/23/2014\",\r\n _updatedDate: \"02/13/2018\"\r\n },\r\n {\r\n id: 69,\r\n carId: 14,\r\n specId: 3,\r\n value: \"sapien\",\r\n _userId: 1,\r\n _createdDate: \"09/04/2011\",\r\n _updatedDate: \"04/21/2012\"\r\n },\r\n {\r\n id: 70,\r\n carId: 14,\r\n specId: 4,\r\n value: \"nec nisi volutpat eleifend donec\",\r\n _userId: 2,\r\n _createdDate: \"05/07/2017\",\r\n _updatedDate: \"12/28/2015\"\r\n },\r\n {\r\n id: 71,\r\n carId: 15,\r\n specId: 5,\r\n value: \"non\",\r\n _userId: 2,\r\n _createdDate: \"05/29/2017\",\r\n _updatedDate: \"08/15/2014\"\r\n },\r\n {\r\n id: 72,\r\n carId: 15,\r\n specId: 6,\r\n value: \"pharetra magna ac consequat metus\",\r\n _userId: 2,\r\n _createdDate: \"06/13/2016\",\r\n _updatedDate: \"12/22/2014\"\r\n },\r\n {\r\n id: 73,\r\n carId: 15,\r\n specId: 7,\r\n value: \"erat quisque erat eros\",\r\n _userId: 2,\r\n _createdDate: \"02/27/2013\",\r\n _updatedDate: \"07/15/2012\"\r\n },\r\n {\r\n id: 74,\r\n carId: 15,\r\n specId: 8,\r\n value: \"diam nam tristique tortor eu\",\r\n _userId: 1,\r\n _createdDate: \"01/07/2017\",\r\n _updatedDate: \"09/24/2014\"\r\n },\r\n {\r\n id: 75,\r\n carId: 15,\r\n specId: 9,\r\n value: \"semper sapien a libero nam\",\r\n _userId: 1,\r\n _createdDate: \"02/03/2016\",\r\n _updatedDate: \"04/26/2015\"\r\n },\r\n {\r\n id: 76,\r\n carId: 16,\r\n specId: 0,\r\n value: \"consequat varius\",\r\n _userId: 1,\r\n _createdDate: \"04/06/2014\",\r\n _updatedDate: \"04/21/2013\"\r\n },\r\n {\r\n id: 77,\r\n carId: 16,\r\n specId: 1,\r\n value: \"mauris morbi non\",\r\n _userId: 2,\r\n _createdDate: \"11/15/2017\",\r\n _updatedDate: \"02/10/2017\"\r\n },\r\n {\r\n id: 78,\r\n carId: 16,\r\n specId: 1,\r\n value: \"iaculis justo in hac habitasse\",\r\n _userId: 1,\r\n _createdDate: \"01/11/2013\",\r\n _updatedDate: \"12/20/2010\"\r\n },\r\n {\r\n id: 79,\r\n carId: 16,\r\n specId: 2,\r\n value: \"dui\",\r\n _userId: 1,\r\n _createdDate: \"02/29/2016\",\r\n _updatedDate: \"04/20/2014\"\r\n },\r\n {\r\n id: 80,\r\n carId: 16,\r\n specId: 3,\r\n value: \"pulvinar nulla pede ullamcorper augue\",\r\n _userId: 2,\r\n _createdDate: \"10/31/2013\",\r\n _updatedDate: \"12/06/2010\"\r\n },\r\n {\r\n id: 81,\r\n carId: 17,\r\n specId: 4,\r\n value: \"congue elementum\",\r\n _userId: 1,\r\n _createdDate: \"07/17/2013\",\r\n _updatedDate: \"01/28/2014\"\r\n },\r\n {\r\n id: 82,\r\n carId: 17,\r\n specId: 5,\r\n value: \"dapibus nulla suscipit ligula\",\r\n _userId: 2,\r\n _createdDate: \"08/24/2012\",\r\n _updatedDate: \"02/04/2018\"\r\n },\r\n {\r\n id: 83,\r\n carId: 17,\r\n specId: 6,\r\n value: \"donec ut dolor\",\r\n _userId: 1,\r\n _createdDate: \"01/10/2012\",\r\n _updatedDate: \"06/07/2010\"\r\n },\r\n {\r\n id: 84,\r\n carId: 17,\r\n specId: 7,\r\n value: \"non lectus aliquam sit amet\",\r\n _userId: 2,\r\n _createdDate: \"01/26/2014\",\r\n _updatedDate: \"02/06/2016\"\r\n },\r\n {\r\n id: 85,\r\n carId: 17,\r\n specId: 8,\r\n value: \"sapien iaculis congue vivamus\",\r\n _userId: 2,\r\n _createdDate: \"01/01/2018\",\r\n _updatedDate: \"10/20/2012\"\r\n },\r\n {\r\n id: 86,\r\n carId: 18,\r\n specId: 9,\r\n value: \"dui vel sem\",\r\n _userId: 1,\r\n _createdDate: \"04/04/2016\",\r\n _updatedDate: \"01/19/2015\"\r\n },\r\n {\r\n id: 87,\r\n carId: 18,\r\n specId: 0,\r\n value: \"posuere cubilia curae\",\r\n _userId: 2,\r\n _createdDate: \"06/03/2015\",\r\n _updatedDate: \"12/22/2014\"\r\n },\r\n {\r\n id: 88,\r\n carId: 18,\r\n specId: 1,\r\n value: \"nascetur ridiculus\",\r\n _userId: 1,\r\n _createdDate: \"03/05/2018\",\r\n _updatedDate: \"08/04/2015\"\r\n },\r\n {\r\n id: 89,\r\n carId: 18,\r\n specId: 1,\r\n value: \"vestibulum sagittis sapien cum sociis\",\r\n _userId: 1,\r\n _createdDate: \"12/26/2017\",\r\n _updatedDate: \"07/08/2017\"\r\n },\r\n {\r\n id: 90,\r\n carId: 18,\r\n specId: 2,\r\n value: \"neque vestibulum eget vulputate ut\",\r\n _userId: 2,\r\n _createdDate: \"09/22/2014\",\r\n _updatedDate: \"06/08/2015\"\r\n },\r\n {\r\n id: 91,\r\n carId: 19,\r\n specId: 3,\r\n value: \"habitasse platea\",\r\n _userId: 2,\r\n _createdDate: \"10/06/2011\",\r\n _updatedDate: \"07/03/2017\"\r\n },\r\n {\r\n id: 92,\r\n carId: 19,\r\n specId: 4,\r\n value: \"tortor sollicitudin\",\r\n _userId: 2,\r\n _createdDate: \"03/20/2014\",\r\n _updatedDate: \"10/20/2015\"\r\n },\r\n {\r\n id: 93,\r\n carId: 19,\r\n specId: 5,\r\n value: \"posuere cubilia curae nulla dapibus\",\r\n _userId: 1,\r\n _createdDate: \"04/27/2012\",\r\n _updatedDate: \"08/03/2012\"\r\n },\r\n {\r\n id: 94,\r\n carId: 19,\r\n specId: 6,\r\n value: \"nulla\",\r\n _userId: 1,\r\n _createdDate: \"08/16/2016\",\r\n _updatedDate: \"11/02/2016\"\r\n },\r\n {\r\n id: 95,\r\n carId: 19,\r\n specId: 7,\r\n value: \"vel dapibus at diam nam\",\r\n _userId: 2,\r\n _createdDate: \"08/24/2013\",\r\n _updatedDate: \"03/02/2011\"\r\n },\r\n {\r\n id: 96,\r\n carId: 20,\r\n specId: 8,\r\n value: \"ultrices posuere cubilia\",\r\n _userId: 1,\r\n _createdDate: \"07/04/2010\",\r\n _updatedDate: \"06/07/2010\"\r\n },\r\n {\r\n id: 97,\r\n carId: 20,\r\n specId: 9,\r\n value: \"ut blandit non interdum\",\r\n _userId: 2,\r\n _createdDate: \"04/25/2018\",\r\n _updatedDate: \"06/24/2013\"\r\n },\r\n {\r\n id: 98,\r\n carId: 20,\r\n specId: 0,\r\n value: \"amet erat\",\r\n _userId: 2,\r\n _createdDate: \"07/13/2017\",\r\n _updatedDate: \"12/28/2014\"\r\n },\r\n {\r\n id: 99,\r\n carId: 20,\r\n specId: 1,\r\n value: \"ligula\",\r\n _userId: 1,\r\n _createdDate: \"03/18/2015\",\r\n _updatedDate: \"09/14/2012\"\r\n },\r\n {\r\n id: 100,\r\n carId: 20,\r\n specId: 1,\r\n value: \"id\",\r\n _userId: 1,\r\n _createdDate: \"04/02/2011\",\r\n _updatedDate: \"02/16/2017\"\r\n },\r\n {\r\n id: 101,\r\n carId: 26,\r\n specId: 8,\r\n value: \"ultrices posuere cubilia\",\r\n _userId: 1,\r\n _createdDate: \"07/04/2010\",\r\n _updatedDate: \"06/07/2010\"\r\n }\r\n];\r\n","import specificationTableMock from \"./specificationTableMock\";\r\nimport MockUtils from \"./mock.utils\";\r\n\r\nexport default function mockSpecifications(mock) {\r\n mock.onPost(\"api/specifications\").reply(({ data }) => {\r\n const { specification } = JSON.parse(data);\r\n const { carId, value = \"\", specId } = specification;\r\n const id = generateSpecificationId();\r\n const newSpecification = {\r\n id,\r\n carId: +carId,\r\n value,\r\n specId: +specId\r\n };\r\n specificationTableMock.push(newSpecification);\r\n return [200, { specification: newSpecification }];\r\n });\r\n\r\n mock.onPost(/api\\/specificationsfind\\/\\d+/).reply(config => {\r\n const urls = config.url.split(\"/\");\r\n const id = urls[2];\r\n const mockUtils = new MockUtils();\r\n const { queryParams } = JSON.parse(config.data);\r\n const specifications = specificationTableMock.filter(\r\n el => el.carId === +id\r\n );\r\n const result = [];\r\n specifications.forEach(el => result.push(wrapSpecification(el)));\r\n const filterdSpecifications = mockUtils.baseFilter(result, queryParams);\r\n\r\n return [200, filterdSpecifications];\r\n });\r\n\r\n mock.onPost(\"api/specifications/deleteSpecifications\").reply(config => {\r\n const { ids } = JSON.parse(config.data);\r\n ids.forEach(id => {\r\n const index = specificationTableMock.findIndex(el => el.id === id);\r\n if (index > -1) {\r\n specificationTableMock.splice(index, 1);\r\n }\r\n });\r\n return [200];\r\n });\r\n\r\n mock.onGet(/api\\/specifications\\/\\d+/).reply(config => {\r\n const id = config.url.match(/api\\/specifications\\/(\\d+)/)[1];\r\n const spec = specificationTableMock.find(el => el.id === +id);\r\n if (!spec) {\r\n return [400];\r\n }\r\n\r\n const specification = wrapSpecification(spec);\r\n\r\n return [200, specification];\r\n });\r\n\r\n mock.onPut(/api\\/specifications\\/\\d+/).reply(config => {\r\n const id = config.url.match(/api\\/specifications\\/(\\d+)/)[1];\r\n const { specification } = JSON.parse(config.data);\r\n const index = specificationTableMock.findIndex(el => el.id === +id);\r\n if (!index) {\r\n return [400];\r\n }\r\n\r\n specificationTableMock[index] = { ...specification };\r\n return [200];\r\n });\r\n\r\n mock.onDelete(/api\\/specifications\\/\\d+/).reply(config => {\r\n const id = config.url.match(/api\\/specifications\\/(\\d+)/)[1];\r\n const index = specificationTableMock.findIndex(el => el.id === +id);\r\n specificationTableMock.splice(index, 1);\r\n if (!index === -1) {\r\n return [400];\r\n }\r\n\r\n return [200];\r\n });\r\n}\r\n\r\nfunction generateSpecificationId() {\r\n const ids = specificationTableMock.map(el => el.id);\r\n const maxId = Math.max(...ids);\r\n return maxId + 1;\r\n}\r\n\r\nfunction wrapSpecification(specification) {\r\n const newSpec = { ...specification };\r\n newSpec.name = getSpecNameById(newSpec.specId);\r\n return newSpec;\r\n}\r\n\r\nfunction getSpecNameById(specId) {\r\n const specs = [\r\n \"Seats\",\r\n \"Fuel Type\",\r\n \"Stock\",\r\n \"Door count\",\r\n \"Engine\",\r\n \"Transmission\",\r\n \"Drivetrain\",\r\n \"Combined MPG\",\r\n \"Warranty\",\r\n \"Wheels\"\r\n ];\r\n return specs[specId];\r\n}\r\n","export default [\r\n {\r\n id :1,\r\n ACCOUNTOWNER :\"Mitco, Ltd\",\r\n CARRIER :\"UPS\",\r\n ACCOUNTNICKNAME :\"MITCO LTD UPS\",\r\n ACCOUNTTYPE :\"Facility\",\r\n ACCOUNTNUMBER : \"077E1W\",\r\n },\r\n ];\r\n ","import customerTableMock from \"./ManageCarrierAccountTableMock\";\r\nimport MockUtils from \"./mock.utils\";\r\n\r\nexport default function mockManageCarrierAccounts(mock) {\r\n mock.onPost(\"api/ManageCarrierAccounts\").reply(({ data }) => {\r\n const { customer } = JSON.parse(data);\r\n const {\r\n ACCOUNTOWNER = \"\",\r\n CARRIER = \"\",\r\n ACCOUNTNICKNAME = \"\",\r\n ACCOUNTTYPE =\"\",\r\n ACCOUNTNUMBER =\"\"\r\n } = customer;\r\n\r\n const id = generateUserId();\r\n const newCustomer = {\r\n id,\r\n ACCOUNTOWNER,\r\n CARRIER,\r\n ACCOUNTNICKNAME,\r\n ACCOUNTTYPE,\r\n ACCOUNTNUMBER\r\n };\r\n customerTableMock.push(newCustomer);\r\n return [200, { customer: newCustomer }];\r\n });\r\n\r\n mock.onPost(\"api/ManageCarrierAccounts/find\").reply(config => {\r\n const mockUtils = new MockUtils();\r\n const { queryParams } = JSON.parse(config.data);\r\n const filterdCustomers = mockUtils.baseFilter(\r\n customerTableMock,\r\n queryParams\r\n );\r\n return [200, filterdCustomers];\r\n });\r\n\r\n mock.onPost(\"api/ManageCarrierAccounts/deleteCustomers\").reply(config => {\r\n const { ids } = JSON.parse(config.data);\r\n ids.forEach(id => {\r\n const index = customerTableMock.findIndex(el => el.id === id);\r\n if (index > -1) {\r\n customerTableMock.splice(index, 1);\r\n }\r\n });\r\n return [200];\r\n });\r\n\r\n mock.onPost(\"api/ManageCarrierAccounts/updateStatusForCustomers\").reply(config => {\r\n const { ids, status } = JSON.parse(config.data);\r\n customerTableMock.forEach(el => {\r\n if (ids.findIndex(id => id === el.id) > -1) {\r\n el.status = status;\r\n }\r\n });\r\n return [200];\r\n });\r\n\r\n mock.onGet(/api\\/ManageCarrierAccounts\\/\\d+/).reply(config => {\r\n const id = config.url.match(/api\\/customers\\/(\\d+)/)[1];\r\n const customer = customerTableMock.find(el => el.id === +id);\r\n if (!customer) {\r\n return [400];\r\n }\r\n\r\n return [200, customer];\r\n });\r\n\r\n mock.onPut(/api\\/ManageCarrierAccounts\\/\\d+/).reply(config => {\r\n const id = config.url.match(/api\\/customers\\/(\\d+)/)[1];\r\n const { customer } = JSON.parse(config.data);\r\n const index = customerTableMock.findIndex(el => el.id === +id);\r\n if (!index) {\r\n return [400];\r\n }\r\n\r\n customerTableMock[index] = { ...customer };\r\n return [200];\r\n });\r\n\r\n mock.onDelete(/api\\/ManageCarrierAccounts\\/\\d+/).reply(config => {\r\n const id = config.url.match(/api\\/customers\\/(\\d+)/)[1];\r\n const index = customerTableMock.findIndex(el => el.id === +id);\r\n customerTableMock.splice(index, 1);\r\n if (!index === -1) {\r\n return [400];\r\n }\r\n\r\n return [200];\r\n });\r\n}\r\n\r\nfunction generateUserId() {\r\n const ids = customerTableMock.map(el => el.id);\r\n const maxId = Math.max(...ids);\r\n return maxId + 1;\r\n}\r\n","export default [\r\n {\r\n \r\n code :\"\",\r\n description: \" \",\r\n \r\n },\r\n ];\r\n ","import MockUtils from \"./mock.utils\";\r\nlet customerTableMock;\r\nexport default function mockCustomLabels(mock) {\r\n\r\n //Status Message\r\n function StatusMessage(res) {\r\n var status = res.status;\r\n var statusText = res.statusText;\r\n if (status === 200) {\r\n Notification(\"success\", \"success\");\r\n return true;\r\n } else if (status === 400) {\r\n Notification(\"error\", statusText);\r\n return false;\r\n }\r\n }\r\n //Get Custom Label\r\n async function GetCustomLabels() {\r\n return await fetch(window.$apiurl+\"/customlabels\")\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n return ChangeId(res[1]);\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n //Put Custom Label\r\n async function PutCustomLabel(someData) {\r\n return fetch(window.$apiurl+\"/customlabels\", {\r\n method: \"put\",\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(someData),\r\n })\r\n .then(async (response) => {\r\n console.log(response)\r\n return response;\r\n })\r\n .then((res) => {\r\n return StatusMessage(res);\r\n })\r\n .catch((err) => {\r\n return StatusMessage(err);\r\n });\r\n }\r\n \r\n mock.onPost(\"api/CustomLabels\").reply(async({ data }) => {\r\n const { customer } = JSON.parse(data);\r\n const {\r\n Name = \"\",\r\n Value = \"\"\r\n } = customer;\r\n\r\n const Id = generateUserId();\r\n const newCustomer = {\r\n Id,\r\n Name,\r\n Value\r\n };\r\n customerTableMock.push(newCustomer);\r\n return [200, { customer: newCustomer }];\r\n });\r\n\r\n mock.onPost(\"api/CustomLabels/find\").reply(async (config) => {\r\n const mockUtils = new MockUtils();\r\n const { queryParams } = JSON.parse(config.data);\r\n customerTableMock = await GetCustomLabels();\r\n const filterdCustomers = mockUtils.baseFilter(\r\n customerTableMock,\r\n queryParams\r\n );\r\n return [200, filterdCustomers];\r\n });\r\n\r\n mock.onPost(\"api/CustomLabels/deleteCustomers\").reply(config => {\r\n const { ids } = JSON.parse(config.data);\r\n ids.forEach(id => {\r\n const index = customerTableMock.findIndex(el => el.id === id);\r\n if (index > -1) {\r\n customerTableMock.splice(index, 1);\r\n }\r\n });\r\n return [200];\r\n });\r\n\r\n mock.onPost(\"api/CustomLabels/updateStatusForCustomers\").reply(config => {\r\n const { ids, status } = JSON.parse(config.data);\r\n customerTableMock.forEach(el => {\r\n if (ids.findIndex(id => id === el.id) > -1) {\r\n el.status = status;\r\n }\r\n });\r\n return [200];\r\n });\r\n\r\n mock.onGet(/api\\/CustomLabels\\/\\d+/).reply(config => {\r\n const id = config.url.match(/api\\/CustomLabels\\/(\\d+)/)[1];\r\n const customer = customerTableMock.find(el => el.id === +id);\r\n if (!customer) {\r\n return [400];\r\n }\r\n\r\n return [200, customer];\r\n });\r\n\r\n //mock Put\r\n mock.onPut(/api\\/CustomLabels\\/\\d+/).reply(async config => {\r\n const id = config.url.match(/api\\/CustomLabels\\/(\\d+)/)[1];\r\n const { customer } = JSON.parse(config.data);\r\n var putObj = await PutCustomLabel(customer);\r\n // console.log(putObj)\r\n // if (!putObj) {\r\n // return [400];\r\n // }\r\n const index = customerTableMock.findIndex((el) => el.id === +id);\r\n if (index === -1) {\r\n return [400];\r\n }\r\n customerTableMock[index] = { ...customer };\r\n return [200];\r\n });\r\n\r\n mock.onDelete(/api\\/CustomLabels\\/\\d+/).reply(config => {\r\n const id = config.url.match(/api\\/CustomLabels\\/(\\d+)/)[1];\r\n const index = customerTableMock.findIndex(el => el.id === +id);\r\n customerTableMock.splice(index, 1);\r\n if (!index === -1) {\r\n return [400];\r\n }\r\n\r\n return [200];\r\n });\r\n}\r\n\r\nfunction generateUserId() {\r\n const ids = customerTableMock.map(el => el.id);\r\n const maxId = Math.max(...ids);\r\n return maxId + 1;\r\n}\r\n\r\nfunction ChangeId(list) {\r\n for (var item in list) {\r\n list[item].id = list[item].Id;\r\n delete list[item].Id;\r\n }\r\n return list;\r\n}","import customerTableMock from \"./LocationBillingTableMock\";\r\nimport MockUtils from \"./mock.utils\";\r\n\r\nexport default function mockLocationBilling(mock) {\r\n mock.onPost(\"api/LocationBilling\").reply(({ data }) => {\r\n const { customer } = JSON.parse(data);\r\n const {\r\n code = \"\",\r\n description = \"\"\r\n } = customer;\r\n\r\n const id = generateUserId();\r\n const newCustomer = {\r\n id,\r\n code,\r\n description\r\n };\r\n customerTableMock.push(newCustomer);\r\n return [200, { customer: newCustomer }];\r\n });\r\n\r\n mock.onPost(\"api/LocationBilling/find\").reply(config => {\r\n const mockUtils = new MockUtils();\r\n const { queryParams } = JSON.parse(config.data);\r\n const filterdCustomers = mockUtils.baseFilter(\r\n customerTableMock,\r\n queryParams\r\n );\r\n return [200, filterdCustomers];\r\n });\r\n\r\n mock.onPost(\"api/LocationBilling/deleteCustomers\").reply(config => {\r\n const { ids } = JSON.parse(config.data);\r\n ids.forEach(id => {\r\n const index = customerTableMock.findIndex(el => el.id === id);\r\n if (index > -1) {\r\n customerTableMock.splice(index, 1);\r\n }\r\n });\r\n return [200];\r\n });\r\n\r\n mock.onPost(\"api/LocationBilling/updateStatusForCustomers\").reply(config => {\r\n const { ids, status } = JSON.parse(config.data);\r\n customerTableMock.forEach(el => {\r\n if (ids.findIndex(id => id === el.id) > -1) {\r\n el.status = status;\r\n }\r\n });\r\n return [200];\r\n });\r\n\r\n mock.onGet(/api\\/LocationBilling\\/\\d+/).reply(config => {\r\n const id = config.url.match(/api\\/customers\\/(\\d+)/)[1];\r\n const customer = customerTableMock.find(el => el.id === +id);\r\n if (!customer) {\r\n return [400];\r\n }\r\n\r\n return [200, customer];\r\n });\r\n\r\n mock.onPut(/api\\/LocationBilling\\/\\d+/).reply(config => {\r\n const id = config.url.match(/api\\/customers\\/(\\d+)/)[1];\r\n const { customer } = JSON.parse(config.data);\r\n const index = customerTableMock.findIndex(el => el.id === +id);\r\n if (!index) {\r\n return [400];\r\n }\r\n\r\n customerTableMock[index] = { ...customer };\r\n return [200];\r\n });\r\n\r\n mock.onDelete(/api\\/LocationBilling\\/\\d+/).reply(config => {\r\n const id = config.url.match(/api\\/customers\\/(\\d+)/)[1];\r\n const index = customerTableMock.findIndex(el => el.id === +id);\r\n customerTableMock.splice(index, 1);\r\n if (!index === -1) {\r\n return [400];\r\n }\r\n\r\n return [200];\r\n });\r\n}\r\n\r\nfunction generateUserId() {\r\n const ids = customerTableMock.map(el => el.id);\r\n const maxId = Math.max(...ids);\r\n return maxId + 1;\r\n}\r\n","import MockUtils from \"./mock.utils\";\r\nimport { Notification } from \"../../../modules/Notification\";\r\nimport low from \"lowdb\";\r\nimport LocalStorage from \"lowdb/adapters/LocalStorage\";\r\nconst adapter = new LocalStorage(\"db\");\r\nconst db = low(adapter);\r\nlet customerTableMock;\r\nexport default async function mockEmpowerCMS(mock) {\r\n function StatusMessage(res) {\r\n var status = res.status;\r\n var statusText = res.statusText;\r\n if (status === 200) {\r\n Notification(\"success\", \"success\");\r\n return true;\r\n } else if (status === 400) {\r\n Notification(\"error\", statusText);\r\n return false;\r\n }\r\n }\r\n\r\n async function GetModel() {\r\n return await fetch(`/api/CMSNewUpdates/GetNewUpdates`, {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n \"Access-Control-Allow-Origin\": \"*\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n return ChangeId(res[1]);\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n\r\n async function GetModelId(id) {\r\n return await fetch(`/api/CMSNewUpdates/GetDetailNewUpdate/${id}`, {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n res[1].id = res[1]?.Id;\r\n return res[1];\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n\r\n async function PostModel(someData) {\r\n const inputElement1 = document.getElementById(\"MainImageInput\");\r\n const inputElement2 = document.getElementById(\"ThumbnailImageInput\");\r\n var formData = new FormData();\r\n if(inputElement1.files[0] !== undefined){\r\n formData.append(\r\n \"File\",\r\n inputElement1.files[0],\r\n inputElement1.value.split(\"\\\\\")[2]\r\n ); }\r\n if(inputElement2.files[0] !== undefined){\r\n formData.append(\r\n \"File2\",\r\n inputElement2.files[0],\r\n inputElement2.value.split(\"\\\\\")[2]\r\n );\r\n }\r\n if(someData.Title !== \"\"){\r\n window.$falseModalCms = false;\r\n formData.append(\"Title\", someData.Title);\r\n }else{\r\n Notification(\"error\",\"Title is required\");\r\n window.$falseModalCms = true;\r\n return false;\r\n }\r\n if(someData.SubTitle !== \"\"){\r\n formData.append(\"SubTitle\", someData.SubTitle);\r\n }\r\n if(someData.TeaserText !== \"\"){\r\n formData.append(\"TeaserText\", someData.TeaserText.toString());\r\n }\r\n if(someData.Body !== \"\"){\r\n formData.append(\"Body\", someData.Body.toString());\r\n }\r\n if(someData.CategoryId !== \"\"){\r\n window.$falseModalCms = false;\r\n formData.append(\"CategoryId\", someData.CategoryId);\r\n }else{\r\n Notification(\"error\",\"Category is required\");\r\n window.$falseModalCms = true;\r\n return false;\r\n }\r\n if(someData.Published !== false ){\r\n formData.append(\"Published\", someData.Published);\r\n }\r\n return fetch(\"/api/CMSNewUpdates/PostNewUpdate\", {\r\n method: \"POST\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n },\r\n body: formData,\r\n })\r\n .then(async (response) => {\r\n return response;\r\n })\r\n .then((res) => {\r\n return StatusMessage(res);\r\n })\r\n .catch((err) => {\r\n return StatusMessage(err);\r\n });\r\n }\r\n\r\n async function PutModel(someData, id) {\r\n const inputElement1 = document.getElementById(\"MainImageInput\");\r\n const inputElement2 = document.getElementById(\"ThumbnailImageInput\");\r\n var formData = new FormData();\r\n if(inputElement1.files[0] !== undefined){\r\n formData.append(\r\n \"File\",\r\n inputElement1.files[0],\r\n inputElement1.value.split(\"\\\\\")[2]\r\n ); }\r\n if(inputElement2.files[0] !== undefined){\r\n formData.append(\r\n \"File2\",\r\n inputElement2.files[0],\r\n inputElement2.value.split(\"\\\\\")[2]\r\n );\r\n }\r\n if(someData.Title !== \"\"){\r\n window.$falseModalCms = false;\r\n formData.append(\"Title\", someData.Title);\r\n }else{\r\n Notification(\"error\",\"Title is required\");\r\n window.$falseModalCms = true;\r\n return false;\r\n }\r\n if(someData.SubTitle !== \"\"){\r\n formData.append(\"SubTitle\", someData.SubTitle);\r\n }\r\n if(someData.TeaserText !== \"\"){\r\n formData.append(\"TeaserText\", someData.TeaserText.toString());\r\n }\r\n if(someData.Body !== \"\"){\r\n formData.append(\"Body\", someData.Body.toString());\r\n }\r\n if(someData.CategoryId !== \"\"){\r\n window.$falseModalCms = false;\r\n formData.append(\"CategoryId\", someData.CategoryId);\r\n }else{\r\n Notification(\"error\",\"Category is required\");\r\n window.$falseModalCms = true;\r\n return false;\r\n }\r\n if(someData.Published !== false ){\r\n formData.append(\"Published\", someData.Published);\r\n }\r\n return fetch(\"/api/CMSNewUpdates/PutNewUpdate/\" + id, {\r\n method: \"put\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n },\r\n body: formData,\r\n })\r\n .then(async (response) => {\r\n return response;\r\n })\r\n .then((res) => {\r\n return StatusMessage(res);\r\n })\r\n .catch((err) => {\r\n return StatusMessage(err);\r\n });\r\n }\r\n\r\n async function DeleteModel(id) {\r\n return await fetch(\"/api/CMSNewUpdates/DeleteNewUpdate/\" + id, {\r\n method: \"delete\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n return response;\r\n })\r\n .then((res) => {\r\n return StatusMessage(res);\r\n })\r\n .catch((err) => {\r\n return StatusMessage(err);\r\n });\r\n }\r\n\r\n async function GetViewmodel() {\r\n return await fetch(window.$apiurl + \"/EmpowerCMS/getviewmodel\", {\r\n method: \"get\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then((res) => res.json())\r\n .then((res) => {\r\n return res;\r\n })\r\n .catch((err) => {\r\n Notification(\"error\", \"err\");\r\n return false;\r\n });\r\n }\r\n\r\n // Mock ---------------------------------------------------------------------------------\r\n mock.onGet(\"api/EmpowerCMS/GetAllApi\").reply(async () => {\r\n const obj = await GetViewmodel();\r\n return [200, obj];\r\n });\r\n\r\n mock.onPost(\"api/EmpowerCMS\").reply(async ({ data }) => {\r\n const { customer } = JSON.parse(data);\r\n const {\r\n Title = \"\",\r\n SubTitle = \"\",\r\n TeaserText = \"\",\r\n Body = \"\",\r\n Published = false,\r\n CategoryId = \"\",\r\n MainImg = null\r\n } = customer;\r\n\r\n const newCustomer = {\r\n Title,\r\n MainImg,\r\n SubTitle,\r\n TeaserText,\r\n Body,\r\n Published,\r\n CategoryId\r\n };\r\n await PostModel(newCustomer);\r\n document.getElementById(\"ReLoadTableId\").click();\r\n customerTableMock.push(newCustomer);\r\n return [200, { customer: newCustomer }];\r\n });\r\n\r\n mock.onPost(\"api/EmpowerCMS/find\").reply(async (config) => {\r\n const mockUtils = new MockUtils();\r\n const { queryParams } = JSON.parse(config.data);\r\n customerTableMock = await GetModel();\r\n console.log(queryParams.filter)\r\n delete queryParams.filter.ReloadTable;\r\n const filterdCustomers = mockUtils.baseFilter(\r\n customerTableMock,\r\n queryParams\r\n );\r\n return [200, filterdCustomers];\r\n });\r\n\r\n mock.onPost(\"api/EmpowerCMS/deleteCustomers\").reply(async (config) => {\r\n const { ids } = JSON.parse(config.data);\r\n ids.forEach((id) => {\r\n const index = customerTableMock.findIndex((el) => el.id === id);\r\n if (index > -1) {\r\n customerTableMock.splice(index, 1);\r\n }\r\n });\r\n return [200];\r\n });\r\n\r\n mock\r\n .onPost(\"api/EmpowerCMS/updateStatusForCustomers\")\r\n .reply(async (config) => {\r\n const { ids, status } = JSON.parse(config.data);\r\n customerTableMock.forEach((el) => {\r\n if (ids.findIndex((id) => id === el.id) > -1) {\r\n el.status = status;\r\n }\r\n });\r\n return [200];\r\n });\r\n\r\n mock.onGet(/api\\/EmpowerCMS\\/\\d+/).reply(async (config) => {\r\n const id = config.url.match(/api\\/EmpowerCMS\\/(\\d+)/)[1];\r\n const customer = await GetModelId(id);\r\n if (!customer) {\r\n return [400];\r\n }\r\n return [200, customer];\r\n });\r\n\r\n mock.onPut(/api\\/EmpowerCMS\\/\\d+/).reply(async (config) => {\r\n alert();\r\n const id = config.url.match(/api\\/EmpowerCMS\\/(\\d+)/)[1];\r\n const Putcustomer = JSON.parse(config.data);\r\n const { customer } = Putcustomer;\r\n console.log(customer);\r\n console.log(id);\r\n\r\n var putObj = await PutModel(Putcustomer, id);\r\n if (!putObj) {\r\n return [400];\r\n }\r\n const index = customerTableMock.findIndex((el) => el.id === +id);\r\n if (index === -1) {\r\n return [400];\r\n }\r\n customerTableMock[index] = { ...customer };\r\n return [200];\r\n });\r\n\r\n mock.onDelete(/api\\/EmpowerCMS\\/\\d+/).reply(async (config) => {\r\n alert()\r\n const id = config.url.match(/api\\/EmpowerCMS\\/(\\d+)/)[1];\r\n const index = customerTableMock.findIndex((el) => el.id === +id);\r\n if (index === -1) {\r\n return [400];\r\n }\r\n var deleteObj = await DeleteModel(id);\r\n if (!deleteObj) {\r\n return [400];\r\n }\r\n customerTableMock.splice(index, 1);\r\n return [200];\r\n });\r\n}\r\n\r\nfunction ChangeId(list) {\r\n for (var item in list) {\r\n list[item].id = list[item].Id;\r\n delete list[item].Id;\r\n }\r\n return list;\r\n}\r\n","import MockUtils from \"./mock.utils\";\r\nimport { Notification } from \"../../../modules/Notification\";\r\nimport low from \"lowdb\";\r\nimport LocalStorage from \"lowdb/adapters/LocalStorage\";\r\nconst adapter = new LocalStorage(\"db\");\r\nconst db = low(adapter);\r\n\r\nlet carriersTableMock;\r\nexport default function mockCarriers(mock) {\r\n function StatusMessage(res) {\r\n var status = res.status;\r\n var statusText = res.statusText;\r\n if (status === 200) {\r\n Notification(\"success\", \"success\");\r\n return true;\r\n } else if (status === 400) {\r\n Notification(\"error\", statusText);\r\n return false;\r\n }\r\n }\r\n\r\n async function GetCarriers(showInactive) {\r\n return await fetch(\r\n `${window.$apiurl}/carriers?showInactive=${showInactive}`\r\n )\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n return ChangeId(res[1]);\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n\r\n async function GetModelId(id) {\r\n return await fetch(`${window.$apiurl}/carriers/${id}`)\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n res[1].id = res[1].Id;\r\n res[1].Code = res[1].Carrier;\r\n return res[1];\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n\r\n async function PostModel(someData) {\r\n return fetch(window.$apiurl + \"/carriers\", {\r\n method: \"post\",\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(someData),\r\n })\r\n .then(async (response) => {\r\n return await response;\r\n })\r\n .then((res) => {\r\n return StatusMessage(res);\r\n })\r\n .catch((err) => {\r\n return StatusMessage(err);\r\n });\r\n }\r\n\r\n async function PutModel(someData, id) {\r\n let modelData = someData[\"customer\"];\r\n return fetch(window.$apiurl + \"/carriers/\" + id, {\r\n method: \"put\",\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(modelData),\r\n })\r\n .then(async (response) => {\r\n return await response;\r\n })\r\n .then((res) => {\r\n return StatusMessage(res);\r\n })\r\n .catch((err) => {\r\n return StatusMessage(err);\r\n });\r\n }\r\n\r\n async function DeleteModel(id) {\r\n return await fetch(window.$apiurl + \"/carriers/\" + id, {\r\n method: \"delete\",\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n return response;\r\n })\r\n .then((res) => {\r\n return StatusMessage(res);\r\n })\r\n .catch((err) => {\r\n return StatusMessage(err);\r\n });\r\n }\r\n\r\n mock.onPost(\"api/carriers\").reply(async ({ data }) => {\r\n const { customer } = JSON.parse(data);\r\n const { Code, SCAC, NeedBill, Description } = customer;\r\n const newCustomer = {\r\n Code,\r\n SCAC,\r\n NeedBill,\r\n Description,\r\n };\r\n var postModel = await PostModel(newCustomer);\r\n document.getElementById(\"ReLoadTableId\").click();\r\n return [200, { customer: newCustomer }];\r\n });\r\n\r\n mock.onPost(\"api/carriers/find\").reply(async (config) => {\r\n const mockUtils = new MockUtils();\r\n const { queryParams } = JSON.parse(config.data);\r\n const showInactive = queryParams.filter.ShowInactive;\r\n carriersTableMock = await GetCarriers(showInactive);\r\n delete queryParams.filter.ShowInactive;\r\n delete queryParams.filter.ReLoadTable;\r\n const filterdCarriers = mockUtils.baseFilter(\r\n carriersTableMock,\r\n queryParams\r\n );\r\n return [200, filterdCarriers];\r\n });\r\n\r\n mock.onPost(\"api/carriers/filter\").reply(async (config) => {\r\n const mockUtils = new MockUtils();\r\n const { queryParams } = JSON.parse(config.data);\r\n const showInactive = queryParams.filter.ShowInactive;\r\n carriersTableMock = await GetCarriers(showInactive);\r\n delete queryParams.filter.ShowInactive;\r\n delete queryParams.filter.ReLoadTable;\r\n const filterdCarriers = mockUtils.baseFilter(\r\n carriersTableMock,\r\n queryParams\r\n );\r\n return [200, filterdCarriers];\r\n });\r\n \r\n mock.onPost(\"api/carriers/deleteCarriers\").reply((config) => {\r\n const { ids } = JSON.parse(config.data);\r\n ids.forEach((id) => {\r\n const index = carriersTableMock.findIndex((el) => el.id === id);\r\n if (index > -1) {\r\n carriersTableMock.splice(index, 1);\r\n }\r\n });\r\n return [200];\r\n });\r\n\r\n mock.onPost(\"api/carriers/updateStatusForCarriers\").reply((config) => {\r\n const { ids, status } = JSON.parse(config.data);\r\n carriersTableMock.forEach((el) => {\r\n if (ids.findIndex((id) => id === el.id) > -1) {\r\n el.status = status;\r\n }\r\n });\r\n return [200];\r\n });\r\n\r\n mock.onGet(/api\\/carriers\\/\\d+/).reply(async (config) => {\r\n const id = config.url.match(/api\\/carriers\\/(\\d+)/)[1];\r\n const customer = await GetModelId(id);\r\n if (!customer) {\r\n return [400];\r\n }\r\n return [200, customer];\r\n });\r\n\r\n mock.onPut(/api\\/carriers\\/\\d+/).reply(async (config) => {\r\n const id = config.url.match(/api\\/carriers\\/(\\d+)/)[1];\r\n const Putcustomer = JSON.parse(config.data);\r\n const { customer } = Putcustomer;\r\n var putObj = await PutModel(Putcustomer, id);\r\n if (!putObj) {\r\n return [400];\r\n }\r\n const index = carriersTableMock.findIndex((el) => el.id === +id);\r\n if (index === -1) {\r\n return [400];\r\n }\r\n carriersTableMock[index] = { ...customer };\r\n return [200];\r\n });\r\n\r\n mock.onDelete(/api\\/carriers\\/\\d+/).reply(async (config) => {\r\n const id = config.url.match(/api\\/carriers\\/(\\d+)/)[1];\r\n const index = carriersTableMock.findIndex((el) => el.id === +id);\r\n if (index === -1) {\r\n return [400];\r\n }\r\n var deleteObj = await DeleteModel(id);\r\n if (!deleteObj) {\r\n return [400];\r\n }\r\n carriersTableMock.splice(index, 1);\r\n return [200];\r\n });\r\n}\r\n\r\nfunction ChangeId(list) {\r\n for (var item in list) {\r\n list[item].id = list[item].Id;\r\n delete list[item].Id;\r\n }\r\n return list;\r\n}\r\n","import MockUtils from \"./mock.utils\";\r\nimport { Notification } from \"../../../modules/Notification\";\r\n\r\nlet carriersTableMock;\r\nexport default function mockServiceManageCarriers(mock) {\r\n function StatusMessage(res) {\r\n var status = res.status;\r\n var statusText = res.statusText;\r\n if (status === 200) {\r\n Notification(\"success\", \"success\");\r\n return true;\r\n } else if (status === 400) {\r\n Notification(\"error\", statusText);\r\n return false;\r\n }\r\n }\r\n\r\n async function GetServiceCarriers(carrierId, showInactive) {\r\n return await fetch(\r\n `${window.$apiurl}/api/CarrierServices?carrierId=${carrierId}&showInactive=${showInactive}`\r\n )\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n return ChangeId(res[1]);\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n\r\n async function GetModelId(id) {\r\n return await fetch(`${window.$apiurl}/api/carrierservices/${id}`)\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n res[1].id = res[1].Id;\r\n res[1].IsActive = res[1].Active;\r\n return res[1];\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n\r\n async function PostModel(someData) {\r\n return fetch(window.$apiurl + \"/api/carrierservices\", {\r\n method: \"post\",\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(someData),\r\n })\r\n .then(async (response) => {\r\n return await response;\r\n })\r\n .then((res) => {\r\n return StatusMessage(res);\r\n })\r\n .catch((err) => {\r\n return StatusMessage(err);\r\n });\r\n }\r\n\r\n async function PutModel(someData, id) {\r\n let modelData = someData[\"customer\"];\r\n return fetch(window.$apiurl + \"/api/carrierservices/\" + id, {\r\n method: \"put\",\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(modelData),\r\n })\r\n .then(async (response) => {\r\n return await response;\r\n })\r\n .then((res) => {\r\n return StatusMessage(res);\r\n })\r\n .catch((err) => {\r\n return StatusMessage(err);\r\n });\r\n }\r\n\r\n async function DeleteModel(id) {\r\n return await fetch(window.$apiurl + \"/api/carrierservices/\" + id, {\r\n method: \"delete\",\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n return response;\r\n })\r\n .then((res) => {\r\n return StatusMessage(res);\r\n })\r\n .catch((err) => {\r\n return StatusMessage(err);\r\n });\r\n }\r\n\r\n async function GetCarriers() {\r\n return await fetch(`${window.$apiurl}/carriers?showInactive=false`)\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n return res[1];\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n\r\n async function Getexternalservices() {\r\n return await fetch(`${window.$apiurl}/api/carrierservices/externalservices`)\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n return res[1];\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n\r\n mock.onGet(\"api/ServiceManageCarriers/GetCarriers\").reply(async () => {\r\n const obj = await GetCarriers();\r\n return [200, obj];\r\n });\r\n\r\n mock.onGet(\"api/ServiceManageCarriers/externalservices\").reply(async () => {\r\n const obj = {};\r\n obj.externalservices = await Getexternalservices();\r\n obj.Carrier = await GetCarriers();\r\n return [200, obj];\r\n });\r\n\r\n mock.onPost(\"api/ServiceManageCarriers\").reply(async ({ data }) => {\r\n const { customer } = JSON.parse(data);\r\n const { Name, ExternalServiceId, IsActive = false, CarrierId } = customer;\r\n const newCustomer = {\r\n Name,\r\n ExternalServiceId,\r\n IsActive,\r\n CarrierId,\r\n };\r\n var postModel = await PostModel(newCustomer);\r\n document.getElementById(\"ReLoadTableId\").click();\r\n return [200, { customer: newCustomer }];\r\n });\r\n\r\n mock.onPost(\"api/ServiceManageCarriers/find\").reply(async (config) => {\r\n const mockUtils = new MockUtils();\r\n const { queryParams } = JSON.parse(config.data);\r\n const carriersId = queryParams.filter.CarriersId;\r\n const showInactive = queryParams.filter.ShowInactive;\r\n carriersTableMock = await GetServiceCarriers(carriersId, showInactive);\r\n delete queryParams.filter.CarriersId;\r\n delete queryParams.filter.ShowInactive;\r\n delete queryParams.filter.ReLoadTable;\r\n const filterdCarriers = mockUtils.baseFilter(\r\n carriersTableMock,\r\n queryParams\r\n );\r\n return [200, filterdCarriers];\r\n });\r\n\r\n mock.onPost(\"api/ServiceManageCarriers/deleteCarriers\").reply((config) => {\r\n const { ids } = JSON.parse(config.data);\r\n ids.forEach((id) => {\r\n const index = carriersTableMock.findIndex((el) => el.id === id);\r\n if (index > -1) {\r\n carriersTableMock.splice(index, 1);\r\n }\r\n });\r\n return [200];\r\n });\r\n\r\n mock\r\n .onPost(\"api/ServiceManageCarriers/updateStatusForCarriers\")\r\n .reply((config) => {\r\n const { ids, status } = JSON.parse(config.data);\r\n carriersTableMock.forEach((el) => {\r\n if (ids.findIndex((id) => id === el.id) > -1) {\r\n el.status = status;\r\n }\r\n });\r\n return [200];\r\n });\r\n\r\n mock.onGet(/api\\/ServiceManageCarriers\\/\\d+/).reply(async (config) => {\r\n const id = config.url.match(/api\\/ServiceManageCarriers\\/(\\d+)/)[1];\r\n const customer = await GetModelId(id);\r\n if (!customer) {\r\n return [400];\r\n }\r\n return [200, customer];\r\n });\r\n\r\n mock.onPut(/api\\/ServiceManageCarriers\\/\\d+/).reply(async (config) => {\r\n const id = config.url.match(/api\\/ServiceManageCarriers\\/(\\d+)/)[1];\r\n const Putcustomer = JSON.parse(config.data);\r\n const { customer } = Putcustomer;\r\n var putObj = await PutModel(Putcustomer, id);\r\n if (!putObj) {\r\n return [400];\r\n }\r\n const index = carriersTableMock.findIndex((el) => el.id === +id);\r\n if (index === -1) {\r\n return [400];\r\n }\r\n carriersTableMock[index] = { ...customer };\r\n return [200];\r\n });\r\n\r\n mock.onDelete(/api\\/ServiceManageCarriers\\/\\d+/).reply(async (config) => {\r\n const id = config.url.match(/api\\/ServiceManageCarriers\\/(\\d+)/)[1];\r\n const index = carriersTableMock.findIndex((el) => el.id === +id);\r\n if (index === -1) {\r\n return [400];\r\n }\r\n var deleteObj = await DeleteModel(id);\r\n if (!deleteObj) {\r\n return [400];\r\n }\r\n carriersTableMock.splice(index, 1);\r\n return [200];\r\n });\r\n}\r\n\r\nfunction ChangeId(list) {\r\n for (var item in list) {\r\n list[item].id = list[item].Id;\r\n delete list[item].Id;\r\n }\r\n return list;\r\n}\r\n","export default [\r\n {\r\n id: 1,\r\n freeze :\"\",\r\n warehouse :\"Mitco, Ltd\",\r\n lastFrozen :\"2014/03/30\",\r\n oldestOpenReceiver :\"2020/05/06\",\r\n oldestOpenOrder :\"2020/01/28\",\r\n oldestOpenAssembly :\"2016/12/27\",\r\n },\r\n {\r\n id: 2,\r\n freeze :\"\",\r\n warehouse :\"Mitco, Ltd\",\r\n lastFrozen :\"2014/03/30\",\r\n oldestOpenReceiver :\"2020/05/06\",\r\n oldestOpenOrder :\"2020/01/28\",\r\n oldestOpenAssembly :\"2016/12/27\",\r\n },\r\n ];\r\n ","import customerTableMock from \"./FreezeTransactionsTableMock\";\r\nimport MockUtils from \"./mock.utils\";\r\n\r\nexport default function mockFreezeTransactions(mock) {\r\n mock.onPost(\"api/FreezeTransactions\").reply(({ data }) => {\r\n const { customer } = JSON.parse(data);\r\n const {\r\n code = \"\",\r\n description = \"\",\r\n material= \"\",\r\n loadtype =\"\"\r\n } = customer;\r\n\r\n const id = generateUserId();\r\n const newCustomer = {\r\n id,\r\n code,\r\n description,\r\n material,\r\n loadtype,\r\n };\r\n customerTableMock.push(newCustomer);\r\n return [200, { customer: newCustomer }];\r\n });\r\n\r\n mock.onPost(\"api/FreezeTransactions/find\").reply(config => {\r\n const mockUtils = new MockUtils();\r\n const { queryParams } = JSON.parse(config.data);\r\n const filterdCustomers = mockUtils.baseFilter(\r\n customerTableMock,\r\n queryParams\r\n );\r\n return [200, filterdCustomers];\r\n });\r\n\r\n mock.onPost(\"api/FreezeTransactions/deleteCustomers\").reply(config => {\r\n const { ids } = JSON.parse(config.data);\r\n ids.forEach(id => {\r\n const index = customerTableMock.findIndex(el => el.id === id);\r\n if (index > -1) {\r\n customerTableMock.splice(index, 1);\r\n }\r\n });\r\n return [200];\r\n });\r\n\r\n mock.onPost(\"api/FreezeTransactions/updateStatusForCustomers\").reply(config => {\r\n const { ids, status } = JSON.parse(config.data);\r\n customerTableMock.forEach(el => {\r\n if (ids.findIndex(id => id === el.id) > -1) {\r\n el.status = status;\r\n }\r\n });\r\n return [200];\r\n });\r\n\r\n mock.onGet(/api\\/FreezeTransactions\\/\\d+/).reply(config => {\r\n const id = config.url.match(/api\\/customers\\/(\\d+)/)[1];\r\n const customer = customerTableMock.find(el => el.id === +id);\r\n if (!customer) {\r\n return [400];\r\n }\r\n\r\n return [200, customer];\r\n });\r\n\r\n mock.onPut(/api\\/FreezeTransactions\\/\\d+/).reply(config => {\r\n const id = config.url.match(/api\\/customers\\/(\\d+)/)[1];\r\n const { customer } = JSON.parse(config.data);\r\n const index = customerTableMock.findIndex(el => el.id === +id);\r\n if (!index) {\r\n return [400];\r\n }\r\n\r\n customerTableMock[index] = { ...customer };\r\n return [200];\r\n });\r\n\r\n mock.onDelete(/api\\/FreezeTransactions\\/\\d+/).reply(config => {\r\n const id = config.url.match(/api\\/customers\\/(\\d+)/)[1];\r\n const index = customerTableMock.findIndex(el => el.id === +id);\r\n customerTableMock.splice(index, 1);\r\n if (!index === -1) {\r\n return [400];\r\n }\r\n\r\n return [200];\r\n });\r\n}\r\n\r\nfunction generateUserId() {\r\n const ids = customerTableMock.map(el => el.id);\r\n const maxId = Math.max(...ids);\r\n return maxId + 1;\r\n}\r\n","export default [\r\n {\r\n \r\n code :\"\",\r\n description: \"Pack Station 1\",\r\n \r\n },\r\n ];\r\n ","import customerTableMock from \"./ManageTPLScaleTableMock\";\r\nimport MockUtils from \"./mock.utils\";\r\nlet carTableMock;\r\nexport default function mockManageTPLScale(mock) {\r\n async function GetTPLScales() {\r\n return await fetch(window.$apiurl+\"/TPLScales\")\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n return ChangeId(res[1]);\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n\r\n async function PostTPLScales(someData) {\r\n \r\n return fetch(window.$apiurl+\"/TPLScales\", {\r\n method: \"post\",\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(someData),\r\n }).then(async (response) => {\r\n const data = await response.json();\r\n return Promise.all([data]);\r\n })\r\n .then((res) => {\r\n return res;\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n\r\n\r\n async function PutTPLScales(someData,id) {\r\n // let userDate = someData[\"customer\"];\r\n // console.log(\"userDate\")\r\n // console.log(userDate);\r\n return fetch(window.$apiurl+\"/TPLScales/\"+id, {\r\n method: \"put\",\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(someData),\r\n })\r\n .then(async (response) => {\r\n return await response;\r\n })\r\n .then((res) => {\r\n })\r\n .catch((err) => {\r\n });\r\n }\r\n\r\n async function DeleteTPLScales(id) {\r\n return await fetch(window.$apiurl+\"/TPLScales/\"+id, {\r\n method: \"delete\",\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n return response;\r\n })\r\n .then((res) => {\r\n })\r\n .catch((err) => {\r\n });\r\n }\r\n //--------------------------------------------mock------------------------\r\n mock.onPost(\"api/ManageTPLScale\").reply(async ({ data }) => {\r\n const { customer } = JSON.parse(data);\r\n const {\r\n Id=0,\r\n Description = \"\"\r\n } = customer;\r\n\r\n const newCustomer = {\r\n Id,\r\n Description\r\n };\r\n const dataw=await PostTPLScales(newCustomer);\r\n newCustomer.Id=dataw[0].Id;\r\n newCustomer.id=dataw[0].Id;\r\n carTableMock.push(newCustomer);\r\n return [200, { customer: newCustomer }];\r\n });\r\n\r\n mock.onPost(\"api/ManageTPLScale/find\").reply(async config => {\r\n \r\n const data = await GetTPLScales();\r\n carTableMock=data;\r\n const mockUtils = new MockUtils();\r\n const { queryParams } = JSON.parse(config.data);\r\n const filterdCustomers = mockUtils.baseFilter(carTableMock, queryParams);\r\n return [200, filterdCustomers];\r\n });\r\n\r\n mock.onPost(\"api/ManageTPLScale/deleteCustomers\").reply(config => {\r\n const { ids } = JSON.parse(config.data);\r\n ids.forEach(id => {\r\n const index = carTableMock.findIndex(el => el.id === id);\r\n if (index > -1) {\r\n carTableMock.splice(index, 1);\r\n }\r\n });\r\n return [200];\r\n });\r\n\r\n mock.onPost(\"api/ManageTPLScale/updateStatusForCustomers\").reply(config => {\r\n const { ids, status } = JSON.parse(config.data);\r\n carTableMock.forEach(el => {\r\n if (ids.findIndex(id => id === el.id) > -1) {\r\n el.status = status;\r\n }\r\n });\r\n return [200];\r\n });\r\n\r\n mock.onGet(/api\\/ManageTPLScale\\/\\d+/).reply(config => {\r\n const id = config.url.match(/api\\/ManageTPLScale\\/(\\d+)/)[1];\r\n const customer = carTableMock.find(el => el.id === +id);\r\n if (!customer) {\r\n return [400];\r\n }\r\n\r\n return [200, customer];\r\n });\r\n\r\n mock.onPut(/api\\/ManageTPLScale\\/\\d+/).reply(async config => {\r\n const id = config.url.match(/api\\/ManageTPLScale\\/(\\d+)/)[1];\r\n const { customer } = JSON.parse(config.data);\r\n await PutTPLScales(customer,id);\r\n\r\n const index = carTableMock.findIndex(el => el.id === +id);\r\n if (!index) {\r\n return [400];\r\n }\r\n\r\n carTableMock[index] = { ...customer };\r\n return [200];\r\n });\r\n\r\n mock.onDelete(/api\\/ManageTPLScale\\/\\d+/).reply(async config => {\r\n const id = config.url.match(/api\\/ManageTPLScale\\/(\\d+)/)[1];\r\n await DeleteTPLScales(id);\r\n const index = carTableMock.findIndex(el => el.id === +id);\r\n carTableMock.splice(index, 1);\r\n if (!index === -1) {\r\n return [400];\r\n }\r\n return [200];\r\n });\r\n}\r\nfunction ChangeId(list) {\r\n for (var item in list) {\r\n list[item].id = list[item].Id;\r\n delete list[item].Id;\r\n }\r\n return list;\r\n}\r\nfunction generateUserId() {\r\n const ids = carTableMock.map(el => el.id);\r\n const maxId = Math.max(...ids);\r\n return maxId + 1;\r\n}\r\n","//import carTableMock from \"./carTableMock\";\r\nimport MockUtils from \"./mock.utils\";\r\nimport { Notification } from \"../../../modules/Notification\";\r\nimport low from \"lowdb\";\r\nimport LocalStorage from \"lowdb/adapters/LocalStorage\";\r\nconst adapter = new LocalStorage(\"db\");\r\nconst db = low(adapter);\r\nlet carTableMock;\r\n\r\nexport default function mockFindOrders(mock) {\r\n function StatusMessage(res) {\r\n var status = res.status;\r\n var statusText = res.statusText;\r\n if (status === 200) {\r\n Notification(\"success\", \"success\");\r\n return true;\r\n } else if (status === 400) {\r\n Notification(\"error\", statusText);\r\n return false;\r\n }\r\n }\r\n ///List of order\r\n mock.onGet(\"api/Warehouses/GetWarehouses\").reply(async () => {\r\n const obj = {};\r\n obj[\"GetWarehouses\"] = await GetOrders();\r\n return [200, obj];\r\n });\r\n\r\n async function GetOrders() {\r\n return await fetch(window.$apiurl + \"/orders\", {\r\n method: \"get\",\r\n withCredentials: true,\r\n\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n Accept: \"application/json, text/plain, */*\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n return ChangeId(res[1]);\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n\r\n async function GetCustomers() {\r\n return await fetch(window.$apiurl + \"/Orders/GetCustomersForOptions\", {\r\n method: \"get\",\r\n withCredentials: true,\r\n\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n Accept: \"application/json, text/plain, */*\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then((res) => res.json())\r\n .then((res) => {\r\n return res;\r\n })\r\n .catch((err) => {\r\n Notification(\"error\", \"err\");\r\n return false;\r\n });\r\n }\r\n async function GetPurchaceOrders() {\r\n return await fetch(window.$apiurl + \"/purchaseorders\", {\r\n method: \"get\",\r\n withCredentials: true,\r\n\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n Accept: \"application/json, text/plain, */*\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then((res) => res.json())\r\n .then((res) => {\r\n return res;\r\n })\r\n .catch((err) => {\r\n Notification(\"error\", \"err\");\r\n return false;\r\n });\r\n }\r\n async function GetCountry() {\r\n return await fetch(window.$apiurl + \"/Customers/getviewmodel\", {\r\n method: \"get\",\r\n withCredentials: true,\r\n\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n Accept: \"application/json, text/plain, */*\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then((res) => res.json())\r\n .then((res) => {\r\n return res;\r\n })\r\n .catch((err) => {\r\n Notification(\"error\", \"err\");\r\n return false;\r\n });\r\n }\r\n async function GetUnitOfMeasure() {\r\n return await fetch(window.$apiurl + \"/Orders/GetUnitOfMeasure\", {\r\n method: \"get\",\r\n withCredentials: true,\r\n\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n Accept: \"application/json, text/plain, */*\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then((res) => res.json())\r\n .then((res) => {\r\n return res;\r\n })\r\n .catch((err) => {\r\n Notification(\"error\", \"err\");\r\n return false;\r\n });\r\n }\r\n async function GetRetailers() {\r\n return await fetch(window.$apiurl + \"/Orders/GetRetailers\", {\r\n method: \"get\",\r\n withCredentials: true,\r\n\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n Accept: \"application/json, text/plain, */*\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then((res) => res.json())\r\n .then((res) => {\r\n return res;\r\n })\r\n .catch((err) => {\r\n Notification(\"error\", \"err\");\r\n return false;\r\n });\r\n }\r\n async function GetWarhouses() {\r\n return await fetch(window.$apiurl + \"/Orders/GetWarehousesForOptions\", {\r\n method: \"get\",\r\n withCredentials: true,\r\n\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n Accept: \"application/json, text/plain, */*\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then((res) => res.json())\r\n .then((res) => {\r\n return res;\r\n })\r\n .catch((err) => {\r\n Notification(\"error\", \"err\");\r\n return false;\r\n });\r\n }\r\n //GetCarriers\r\n async function GetCarriers() {\r\n return await fetch(window.$apiurl + \"/Orders/GetCarriers\", {\r\n method: \"get\",\r\n withCredentials: true,\r\n\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n Accept: \"application/json, text/plain, */*\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then((res) => res.json())\r\n .then((res) => {\r\n return res;\r\n })\r\n .catch((err) => {\r\n Notification(\"error\", \"err\");\r\n return false;\r\n });\r\n }\r\n\r\n async function PostManageLocations(someData) {\r\n return fetch(\"/orders/import\", {\r\n method: \"post\",\r\n withCredentials: true,\r\n\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n Accept: \"application/json, text/plain, */*\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(someData),\r\n })\r\n .then(async (response) => {\r\n return await response;\r\n })\r\n .then((res) => {\r\n return StatusMessage(res);\r\n })\r\n .catch((err) => {\r\n return StatusMessage(err);\r\n });\r\n }\r\n async function PostOrder(someData) {\r\n return fetch(window.$apiurl + \"/Orders\", {\r\n method: \"post\",\r\n withCredentials: true,\r\n\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n Accept: \"application/json, text/plain, */*\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(someData),\r\n })\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n return res[1];\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n\r\n async function PutOrder(someData, id) {\r\n // let userDate = someData[\"customer\"];\r\n // console.log(\"userDate\")\r\n // console.log(userDate);\r\n return fetch(window.$apiurl + \"/Orders/\" + id, {\r\n method: \"put\",\r\n withCredentials: true,\r\n\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n Accept: \"application/json, text/plain, */*\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(someData),\r\n })\r\n .then(async (response) => {\r\n return await response;\r\n })\r\n .then((res) => {\r\n return StatusMessage(res);\r\n })\r\n .catch((err) => {\r\n return StatusMessage(err);\r\n });\r\n }\r\n async function DeleteOrder(id) {\r\n return await fetch(window.$apiurl + \"/Orders/\" + id, {\r\n method: \"delete\",\r\n withCredentials: true,\r\n\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n Accept: \"application/json, text/plain, */*\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n return response;\r\n })\r\n .then((res) => {\r\n return StatusMessage(res);\r\n })\r\n .catch((err) => {\r\n return StatusMessage(err);\r\n });\r\n }\r\n async function GetOrder(id) {\r\n return await fetch(window.$apiurl + \"/Orders/\" + id, {\r\n method: \"get\",\r\n withCredentials: true,\r\n\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n Accept: \"application/json, text/plain, */*\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then((res) => res.json())\r\n .then((res) => {\r\n return res;\r\n })\r\n .catch((err) => {\r\n Notification(\"error\", \"err\");\r\n return false;\r\n });\r\n }\r\n //---------------------------------------------------------------------\r\n\r\n mock.onGet(\"api/FindOrder/GetAllApi\").reply(async () => {\r\n var customers = {};\r\n customers[\"customersList\"] = await GetCustomers();\r\n customers[\"PurchaseOrder\"] = await GetPurchaceOrders();\r\n customers[\"warhousesList\"] = await GetWarhouses();\r\n customers[\"country\"] = await GetCountry();\r\n customers[\"carriersList\"] = await GetCarriers();\r\n customers[\"unitOfMeasure\"] = await GetUnitOfMeasure();\r\n customers[\"retailers\"] = await GetRetailers();\r\n\r\n // customers[\"skuList\"] = await GetSkuList();\r\n // customers[\"primaryUnitList\"] = await GetPrimaryUnitList();\r\n return [200, customers];\r\n });\r\n\r\n // mock.onPost(\"api/FindOrders\").reply(async ({ data }) => {\r\n // const { customer } = JSON.parse(data);\r\n // const {\r\n // CustomerId = 0,\r\n // Customer=\"\",\r\n // Warehouse=\"\",\r\n // WarehouseId = 0,\r\n // ReferenceNumber = \"\"\r\n // } = customer;\r\n\r\n // const id = generateUserId();\r\n // const newCustomer = {\r\n // id,\r\n // Warehouse,\r\n // Customer,\r\n // CustomerId,\r\n // WarehouseId,\r\n // ReferenceNumber,\r\n // };\r\n // var postOrder = await PostOrder(newCustomer);\r\n // postOrder.id=postOrder.Id;\r\n // customerTableMock.push(postOrder);\r\n // return [200, { customer: postOrder }];\r\n // });\r\n\r\n mock.onPost(\"api/FindOrders\").reply(async ({ data }) => {\r\n const { product } = JSON.parse(data);\r\n const { CustomerId = 0, WarehouseId = 0, ReferenceNumber = \"\" } = product;\r\n\r\n const id = generateProductId();\r\n const newProduct = {\r\n id,\r\n CustomerId,\r\n WarehouseId,\r\n ReferenceNumber,\r\n };\r\n var postOrder = await PostOrder(newProduct);\r\n\r\n postOrder.id = postOrder.Id;\r\n carTableMock.push(postOrder);\r\n return [200, { product: newProduct }];\r\n });\r\n mock.onPost(\"api/FindOrders/find\").reply(async (config) => {\r\n carTableMock = await GetOrders();\r\n const mockUtils = new MockUtils();\r\n const { queryParams } = JSON.parse(config.data);\r\n const filteredProducts = mockUtils.baseFilter(carTableMock, queryParams);\r\n return [200, filteredProducts];\r\n });\r\n\r\n mock.onPost(\"api/orders/import\").reply(async ({ data }) => {\r\n const locatioList = JSON.parse(data).data;\r\n var postManageLocations = await PostManageLocations(locatioList);\r\n return [200, \"Done\"];\r\n });\r\n\r\n mock.onPost(\"api/FindOrders/deleteProducts\").reply((config) => {\r\n const { ids } = JSON.parse(config.data);\r\n ids.forEach((id) => {\r\n const index = carTableMock.findIndex((el) => el.id === id);\r\n if (index > -1) {\r\n carTableMock.splice(index, 1);\r\n }\r\n });\r\n return [200];\r\n });\r\n\r\n mock.onPost(\"api/FindOrders/updateStatusForProducts\").reply((config) => {\r\n const { ids, status } = JSON.parse(config.data);\r\n carTableMock.forEach((el) => {\r\n if (ids.findIndex((id) => id === el.id) > -1) {\r\n el.status = status;\r\n }\r\n });\r\n return [200];\r\n });\r\n\r\n mock.onGet(/api\\/FindOrders\\/\\d+/).reply(async (config) => {\r\n const id = config.url.match(/api\\/FindOrders\\/(\\d+)/)[1];\r\n const product = await GetOrder(id);\r\n if (!product) {\r\n return [400];\r\n }\r\n\r\n return [200, product];\r\n });\r\n\r\n mock.onPut(/api\\/FindOrders\\/\\d+/).reply(async (config) => {\r\n const id = config.url.match(/api\\/FindOrders\\/(\\d+)/)[1];\r\n const { product } = JSON.parse(config.data);\r\n var postOrder = await PutOrder(product, id);\r\n const index = carTableMock.findIndex((el) => el.id === +id);\r\n if (!index) {\r\n return [400];\r\n }\r\n\r\n carTableMock[index] = { ...product };\r\n return [200];\r\n });\r\n\r\n mock.onDelete(/api\\/FindOrders\\/\\d+/).reply(async (config) => {\r\n const id = config.url.match(/api\\/FindOrders\\/(\\d+)/)[1];\r\n const index = carTableMock.findIndex((el) => el.id === +id);\r\n if (index === -1) return [400];\r\n var deleteUser = await DeleteOrder(id);\r\n if (!deleteUser) return [400];\r\n carTableMock.splice(index, 1);\r\n return [200];\r\n });\r\n}\r\n\r\nfunction generateProductId() {\r\n const ids = carTableMock.map((el) => el.id);\r\n const maxId = Math.max(...ids);\r\n return maxId + 1;\r\n}\r\n\r\nfunction ChangeId(list) {\r\n for (var item in list) {\r\n list[item].id = list[item].Id;\r\n delete list[item].Id;\r\n }\r\n return list;\r\n}\r\n","//import carTableMock from \"./carTableMock\";\r\nimport MockUtils from \"./mock.utils\";\r\nimport { Notification } from \"../../../modules/Notification\";\r\nimport low from \"lowdb\";\r\nimport LocalStorage from \"lowdb/adapters/LocalStorage\";\r\nconst adapter = new LocalStorage(\"db\");\r\nconst db = low(adapter);\r\n\r\nlet carTableMock;\r\nlet resultPost;\r\nexport default function mockFindReceipts(mock) {\r\n function StatusMessage(res) {\r\n var status = res.status;\r\n var statusText = res.Message;\r\n if (status === 200) {\r\n Notification(\"success\", \"success\");\r\n return true;\r\n } else if (status === 400) {\r\n Notification(\"error\", \"Error Occured\");\r\n return false;\r\n }\r\n }\r\n\r\n //Get All Receipts\r\n async function GetAllReceipts() {\r\n return await fetch(window.$apiurl + \"/receipts\", {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n return ChangeId(res[1]);\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n async function GetReceiptById(id) {\r\n return await fetch(window.$apiurl + \"/receipts/\" + id, {\r\n method: \"get\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n }).then(async (response) => {\r\n const data = await response.json();\r\n return data;\r\n });\r\n }\r\n async function GetCustomers() {\r\n return await fetch(window.$apiurl + \"/Orders/GetCustomersForOptions\", {\r\n method: \"get\",\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n Accept: \"application/json, text/plain, */*\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then((res) => res.json())\r\n .then((res) => {\r\n return res;\r\n })\r\n .catch((err) => {\r\n Notification(\"error\", \"err\");\r\n return false;\r\n });\r\n }\r\n //Get View Model\r\n async function GetViewModel(id) {\r\n return await fetch(window.$apiurl + \"/receipts/getviewmodel/\" + id, {\r\n method: \"get\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then((res) => res.json())\r\n .then((res) => {\r\n return res;\r\n })\r\n .catch((err) => {\r\n return false;\r\n });\r\n }\r\n async function GetQualifiersByItemId(id) {\r\n return await fetch(window.$apiurl + \"/Receipts/GetReceiptQualifier/\" + id, {\r\n method: \"get\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then((res) => res.json())\r\n .then((res) => {\r\n return res;\r\n })\r\n .catch((err) => {\r\n return false;\r\n });\r\n }\r\n //Get View Model Receipt\r\n async function GetViewModelItemReceipt(id) {\r\n return await fetch(\r\n window.$apiurl + \"/receipts/getreceiptItemviewmodel/\" + id,\r\n {\r\n method: \"get\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n }\r\n )\r\n .then((res) => res.json())\r\n .then((res) => {\r\n return res;\r\n })\r\n .catch((err) => {\r\n return false;\r\n });\r\n }\r\n //Get Model\r\n async function GetModel(customerId, warehouseId) {\r\n return await fetch(\r\n `${window.$apiurl}/receipts/${customerId}/${warehouseId}`,\r\n {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n }\r\n )\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n return ChangeId(res[1]);\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n\r\n async function GetWarhouses() {\r\n return await fetch(window.$apiurl + \"/Orders/GetWarehousesForOptions\", {\r\n method: \"get\",\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n Accept: \"application/json, text/plain, */*\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then((res) => res.json())\r\n .then((res) => {\r\n return res;\r\n })\r\n .catch((err) => {\r\n Notification(\"error\", \"err\");\r\n return false;\r\n });\r\n }\r\n //GetCarriers\r\n async function GetCarriers() {\r\n return await fetch(window.$apiurl + \"/carriers\", {\r\n method: \"get\",\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n Accept: \"application/json, text/plain, */*\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then((res) => res.json())\r\n .then((res) => {\r\n return res;\r\n })\r\n .catch((err) => {\r\n Notification(\"error\", \"err\");\r\n return false;\r\n });\r\n }\r\n async function GetUnitOfMeasures() {\r\n return await fetch(window.$apiurl + \"/Orders/GetUnitOfMeasure\", {\r\n method: \"get\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then((res) => res.json())\r\n .then((res) => {\r\n return res;\r\n })\r\n .catch((err) => {\r\n Notification(\"error\", \"err\");\r\n return false;\r\n });\r\n }\r\n async function PostReceipt(someData) {\r\n return fetch(window.$apiurl + \"/receipts\", {\r\n method: \"post\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(someData),\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n return res[1];\r\n })\r\n .catch((error) => {\r\n //console.error(error);\r\n });\r\n }\r\n\r\n async function DeleteOrder(id) {\r\n return await fetch(window.$apiurl + \"/Orders/\" + id, {\r\n method: \"delete\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n return response;\r\n })\r\n .then((res) => {\r\n return StatusMessage(res);\r\n })\r\n .catch((err) => {\r\n return StatusMessage(err);\r\n });\r\n }\r\n //---------------------------------------------------------------------\r\n\r\n //mock Post Receipt\r\n mock.onPost(\"api/FindReceipts\").reply(async ({ data }) => {\r\n const { product } = JSON.parse(data);\r\n const { CustomerId = 0, WarehouseId = 0, ReferenceNumber = \"\" } = product;\r\n\r\n const id = generateProductId();\r\n const newReceipt = {\r\n id,\r\n CustomerId,\r\n WarehouseId,\r\n ReferenceNumber,\r\n };\r\n var postReceipt = await PostReceipt(newReceipt);\r\n //Manage Data Result\r\n if (postReceipt.Code == \"200\") {\r\n postReceipt.id = postReceipt.Id;\r\n carTableMock.push(newReceipt);\r\n window.$ManageReceiptPost = 200;\r\n window.$ManageReceiptPostMessage = postReceipt.Message;\r\n return [\r\n 200,\r\n { product: newReceipt, message: postReceipt.Message, success: true },\r\n ];\r\n } else {\r\n window.$ManageReceiptPost = 400;\r\n window.$ManageReceiptPostMessage = postReceipt.Message;\r\n return [\r\n 200,\r\n { product: newReceipt, message: postReceipt.Message, success: false },\r\n ];\r\n }\r\n });\r\n // mock Find Receipts\r\n mock.onPost(\"api/FindReceipts/find\").reply(async (config) => {\r\n const mockUtils = new MockUtils();\r\n const { queryParams } = JSON.parse(config.data);\r\n\r\n const a = queryParams.filter.FirstTransactionId;\r\n const b = queryParams.filter.LastTransactionId;\r\n delete queryParams.filter.FirstTransactionId;\r\n delete queryParams.filter.LastTransactionId;\r\n\r\n const c = queryParams.filter.StartDate;\r\n const d = queryParams.filter.EndDate;\r\n const dateFilter = queryParams.filter.DateFilter;\r\n delete queryParams.filter.StartDate;\r\n delete queryParams.filter.EndDate;\r\n delete queryParams.filter.DateFilter;\r\n\r\n carTableMock = await GetAllReceipts();\r\n const filter = queryParams.filter;\r\n //Filter By Customer ID / Warehouse ID\r\n if (filter.CustomerId !== undefined && filter.WarehouseId !== undefined) {\r\n carTableMock = await GetModel(filter.CustomerId, filter.WarehouseId);\r\n delete queryParams.filter.CustomerId;\r\n delete queryParams.filter.WarehouseId;\r\n }\r\n const filteredReceipts = mockUtils.baseFilter(carTableMock, queryParams);\r\n if (a != undefined && b != undefined) {\r\n var list = [];\r\n filteredReceipts.entities.map((x) => {\r\n if (a <= x.TransactionId && x.TransactionId <= b) list.push(x);\r\n });\r\n filteredReceipts.entities = list;\r\n }\r\n\r\n //Filter By Date Filter\r\n if (c != undefined && d != undefined && dateFilter != undefined) {\r\n var listDate = [];\r\n switch (dateFilter) {\r\n case \"Created\":\r\n filteredReceipts.entities.map((x) => {\r\n if (\r\n c <= new Date(x.Created).getTime() &&\r\n new Date(x.Created).getTime() <= d\r\n )\r\n listDate.push(x);\r\n });\r\n break;\r\n\r\n case \"ExcpectedDate\":\r\n var listDate = [];\r\n filteredReceipts.entities.map((x) => {\r\n if (\r\n c <= new Date(x.ExcpectedDate).getTime() &&\r\n new Date(x.ExcpectedDate).getTime() <= d\r\n )\r\n listDate.push(x);\r\n });\r\n break;\r\n\r\n case \"ArrivalDate\":\r\n var listDate = [];\r\n filteredReceipts.entities.map((x) => {\r\n if (\r\n c <= new Date(x.ArrivalDate).getTime() &&\r\n new Date(x.ArrivalDate).getTime() <= d\r\n )\r\n listDate.push(x);\r\n });\r\n break;\r\n }\r\n filteredReceipts.entities = listDate;\r\n }\r\n return [200, filteredReceipts];\r\n });\r\n\r\n mock.onPost(\"api/FindReceipts/filter\").reply(async (config) => {\r\n const mockUtils = new MockUtils();\r\n const { queryParams } = JSON.parse(config.data);\r\n\r\n const a = queryParams.filter.FirstTransactionId;\r\n const b = queryParams.filter.LastTransactionId;\r\n delete queryParams.filter.FirstTransactionId;\r\n delete queryParams.filter.LastTransactionId;\r\n\r\n const c = queryParams.filter.StartDate;\r\n const d = queryParams.filter.EndDate;\r\n const dateFilter = queryParams.filter.DateFilter;\r\n delete queryParams.filter.StartDate;\r\n delete queryParams.filter.EndDate;\r\n delete queryParams.filter.DateFilter;\r\n\r\n let carTableMock2 = await GetAllReceipts();\r\n const filter = queryParams.filter;\r\n //Filter By Customer ID / Warehouse ID\r\n if (filter.CustomerId !== undefined && filter.WarehouseId !== undefined) {\r\n carTableMock = await GetModel(filter.CustomerId, filter.WarehouseId);\r\n delete queryParams.filter.CustomerId;\r\n delete queryParams.filter.WarehouseId;\r\n }\r\n const filteredReceipts = mockUtils.baseFilter(carTableMock2, queryParams);\r\n if (a != undefined && b != undefined) {\r\n var list = [];\r\n filteredReceipts.entities.map((x) => {\r\n if (a <= x.TransactionId && x.TransactionId <= b) list.push(x);\r\n });\r\n filteredReceipts.entities = list;\r\n }\r\n\r\n //Filter By Date Filter\r\n if (c != undefined && d != undefined && dateFilter != undefined) {\r\n var listDate = [];\r\n switch (dateFilter) {\r\n case \"Created\":\r\n filteredReceipts.entities.map((x) => {\r\n if (\r\n c <= new Date(x.Created).getTime() &&\r\n new Date(x.Created).getTime() <= d\r\n )\r\n listDate.push(x);\r\n });\r\n break;\r\n\r\n case \"ExcpectedDate\":\r\n var listDate = [];\r\n filteredReceipts.entities.map((x) => {\r\n if (\r\n c <= new Date(x.ExcpectedDate).getTime() &&\r\n new Date(x.ExcpectedDate).getTime() <= d\r\n )\r\n listDate.push(x);\r\n });\r\n break;\r\n\r\n case \"ArrivalDate\":\r\n var listDate = [];\r\n filteredReceipts.entities.map((x) => {\r\n if (\r\n c <= new Date(x.ArrivalDate).getTime() &&\r\n new Date(x.ArrivalDate).getTime() <= d\r\n )\r\n listDate.push(x);\r\n });\r\n break;\r\n }\r\n filteredReceipts.entities = listDate;\r\n }\r\n return [200, filteredReceipts];\r\n });\r\n\r\n mock.onPost(\"api/FindReceipts/deleteProducts\").reply((config) => {\r\n const { ids } = JSON.parse(config.data);\r\n ids.forEach((id) => {\r\n const index = carTableMock.findIndex((el) => el.id === id);\r\n if (index > -1) {\r\n carTableMock.splice(index, 1);\r\n }\r\n });\r\n return [200];\r\n });\r\n\r\n mock.onPost(\"api/FindReceipts/updateStatusForProducts\").reply((config) => {\r\n const { ids, status } = JSON.parse(config.data);\r\n carTableMock.forEach((el) => {\r\n if (ids.findIndex((id) => id === el.id) > -1) {\r\n el.status = status;\r\n }\r\n });\r\n return [200];\r\n });\r\n\r\n mock.onGet(/api\\/FindReceipts\\/\\d+/).reply(async (config) => {\r\n const id = config.url.match(/api\\/FindReceipts\\/(\\d+)/)[1];\r\n var product = await GetReceiptById(id);\r\n if (!product) {\r\n return [400];\r\n }\r\n return [200, product];\r\n });\r\n\r\n //mock viewModel\r\n mock.onPost(\"api/FindReceipt/getViewModel\").reply(async (data) => {\r\n const product = await GetReceiptById(data.data);\r\n const result = await GetViewModel(product.CustomerId);\r\n const resultItemReceipt = await GetViewModelItemReceipt(product.CustomerId);\r\n const resultUnits = await GetUnitOfMeasures();\r\n window.$fetchViewModel = result;\r\n window.$fetchViewModelSku = resultItemReceipt.Items;\r\n window.$fetchViewModelItemReceipt = resultItemReceipt;\r\n window.$fetchViewModelReasonsHold = resultItemReceipt.ReasonsForHold;\r\n window.$fetchViewModelSuppliers = resultItemReceipt.Suppliers;\r\n window.$fetchUnits = resultUnits;\r\n return [200, result];\r\n });\r\n mock.onGet(\"api/receipts/getQualifiers\").reply(async () => {\r\n const result = await GetQualifiersByItemId(window.$itemIdW);\r\n return [200, result];\r\n });\r\n mock.onGet(\"api/FindReceipt/GetAllApi\").reply(async () => {\r\n var customers = {};\r\n customers[\"customersList\"] = await GetCustomers();\r\n customers[\"warhousesList\"] = await GetWarhouses();\r\n customers[\"carriersList\"] = await GetCarriers();\r\n customers[\"unitOfMeasures\"] = window.$fetchUnits;\r\n customers[\"viewModelData\"] = window.$fetchViewModel;\r\n customers[\"viewModelDataItemReceiptSku\"] = window.$fetchViewModelSku;\r\n customers[\"viewModelDataItemReceipt\"] = window.$fetchViewModelItemReceipt;\r\n customers[\"viewModelDataReasonsHold\"] = window.$fetchViewModelReasonsHold;\r\n customers[\"viewModelDataSuppliers\"] = window.$fetchViewModelSuppliers;\r\n return [200, customers];\r\n });\r\n\r\n //Put Function\r\n async function PutReceipt(someData, id) {\r\n return fetch(window.$apiurl + \"/receipts/\" + id, {\r\n method: \"put\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(someData),\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n window.$statusCodePut = statusCode;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n if (res[0] === 200) {\r\n return res[0];\r\n } else {\r\n return res[1];\r\n }\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n\r\n //mock on Put\r\n mock.onPut(/api\\/FindReceipts\\/\\d+/).reply(async (config) => {\r\n const id = config.url.match(/api\\/FindReceipts\\/(\\d+)/)[1];\r\n const { product } = JSON.parse(config.data);\r\n var putReceipt = await PutReceipt(product, id);\r\n //Manage Data Result\r\n if (putReceipt === 200) {\r\n window.$ManageReceiptPut = 200;\r\n const index = carTableMock.findIndex((el) => el.id === +id);\r\n if (!index) {\r\n return [400];\r\n }\r\n carTableMock[index] = { ...product };\r\n document.getElementById(\"ReLoadTableId\").click();\r\n return [200];\r\n } else {\r\n window.$ManageReceiptPut = 400;\r\n window.$ManageReceiptPutMessage = putReceipt.Message;\r\n return [400];\r\n }\r\n });\r\n\r\n mock.onDelete(/api\\/FindReceiptss\\/\\d+/).reply(async (config) => {\r\n const id = config.url.match(/api\\/FindReceiptss\\/(\\d+)/)[1];\r\n const index = carTableMock.findIndex((el) => el.id === +id);\r\n if (index === -1) return [400];\r\n var deleteUser = await DeleteOrder(id);\r\n if (!deleteUser) return [400];\r\n carTableMock.splice(index, 1);\r\n return [200];\r\n });\r\n}\r\n\r\nfunction generateProductId() {\r\n const ids = carTableMock.map((el) => el.id);\r\n const maxId = Math.max(...ids);\r\n return maxId + 1;\r\n}\r\n\r\nfunction ChangeId(list) {\r\n for (var item in list) {\r\n list[item].id = list[item].Id;\r\n delete list[item].Id;\r\n }\r\n return list;\r\n}\r\n","import MockUtils from \"./mock.utils\";\r\nimport { Notification } from \"../../../modules/Notification\";\r\nimport low from \"lowdb\";\r\nimport LocalStorage from \"lowdb/adapters/LocalStorage\";\r\nconst adapter = new LocalStorage(\"db\");\r\nconst db = low(adapter);\r\nlet customerTableMock;\r\nlet warehouseList;\r\nexport default async function mockManageLocations(mock) {\r\n function StatusMessage(res) {\r\n var status = res.status;\r\n var statusText = res.statusText;\r\n if (status === 200) {\r\n Notification(\"success\", \"success\");\r\n return true;\r\n } else if (status === 400) {\r\n Notification(\"error\", statusText);\r\n return false;\r\n }\r\n }\r\n\r\n async function GetManageLocations(id) {\r\n return await fetch(window.$apiurl + \"/locations/\" + id, {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n return ChangeId(res[1]);\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n\r\n async function GetManageLocation(id) {\r\n return await fetch(`${window.$apiurl}/locations/${id}/Details`, {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n res[1].id = res[1].Id;\r\n return res[1];\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n\r\n async function GetWarehouses() {\r\n return await fetch(window.$apiurl + \"/warehouses\", {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n return res[1];\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n\r\n async function GetLocationsOption() {\r\n return await fetch(window.$apiurl + \"/locations/getviewmodel\", {\r\n method: \"get\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then((res) => res.json())\r\n .then((res) => {\r\n return res;\r\n })\r\n .catch((err) => {\r\n Notification(\"error\", \"err\");\r\n return false;\r\n });\r\n }\r\n\r\n async function PostManageLocation(someData) {\r\n return fetch(window.$apiurl + \"/locations\", {\r\n method: \"post\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(someData),\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n if (res[1]?.Code === \"200\") {\r\n Notification(\"success\", \"success\");\r\n window.locations = 200;\r\n } else {\r\n Notification(\"error\", res[1]?.Code + \" \" + res[1].Message);\r\n window.locations = res[1]?.Code;\r\n }\r\n })\r\n .catch((err) => {\r\n console.log(err);\r\n });\r\n }\r\n\r\n async function PostManageLocations(someData) {\r\n return fetch(window.$apiurl + \"/locations/locations\", {\r\n method: \"post\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(someData),\r\n })\r\n .then(async (response) => {\r\n return response;\r\n })\r\n .then((res) => {\r\n return StatusMessage(res);\r\n })\r\n .catch((err) => {\r\n return StatusMessage(err);\r\n });\r\n }\r\n\r\n async function PutManageLocation(someData, id) {\r\n return fetch(window.$apiurl + \"/locations/\" + id, {\r\n method: \"put\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(someData[\"customer\"]),\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n\r\n if (statusCode === 200) {\r\n Notification(\"success\", \"success\");\r\n window.locations = 200;\r\n } else {\r\n const data = await response.json();\r\n Notification(\"error\", statusCode + \" \" + data.Message);\r\n window.locations = statusCode;\r\n }\r\n })\r\n .catch((err) => {\r\n console.log(err);\r\n });\r\n }\r\n\r\n async function DeleteManageLocation(id) {\r\n return await fetch(window.$apiurl + \"/locations/\" + id, {\r\n method: \"delete\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n return response;\r\n })\r\n .then((res) => {\r\n return StatusMessage(res);\r\n })\r\n .catch((err) => {\r\n return StatusMessage(err);\r\n });\r\n }\r\n\r\n // Mock ---------------------------------------------------------------------------------\r\n mock.onGet(\"api/ManageLocations/WarehousesList\").reply(async () => {\r\n const obj = {};\r\n obj[\"warehousesList\"] = await GetWarehouses();\r\n return [200, obj];\r\n });\r\n\r\n mock.onGet(\"api/Locations/GetAllApi\").reply(async () => {\r\n const obj = {};\r\n obj[\"LocationsList\"] = await GetLocationsOption();\r\n return [200, obj];\r\n });\r\n\r\n mock.onPost(\"api/Locations/import\").reply(async ({ data }) => {\r\n const locatioList = JSON.parse(data).data;\r\n await PostManageLocations(locatioList);\r\n return [200, \"Done\"];\r\n });\r\n\r\n mock.onPost(\"api/Locations/export\").reply(async ({ data }) => {\r\n const warehouseId = JSON.parse(data).data;\r\n const getManageLocations = await GetManageLocations(warehouseId);\r\n return [200, getManageLocations];\r\n });\r\n\r\n mock.onPost(\"api/ManageLocations\").reply(async ({ data }) => {\r\n const { customer } = JSON.parse(data);\r\n const {\r\n id = 0,\r\n Id = 0,\r\n LocationId = \"\",\r\n Status = \"\",\r\n LocationTypeId = \"\",\r\n Description = \"\",\r\n Width = \"\",\r\n Length = \"\",\r\n Height = \"\",\r\n MaxWeight = \"\",\r\n MinTemperature = \"\",\r\n MinQuantity = \"\",\r\n ConsigneeId,\r\n IsActive = false,\r\n WarehouseId = document.getElementById(\"warehouseIdRef\").value,\r\n AllocationPriority = \"\",\r\n DirectedPutWays,\r\n } = customer;\r\n\r\n const newCustomer = {\r\n Id,\r\n id,\r\n LocationId,\r\n Status,\r\n LocationTypeId,\r\n Description,\r\n ConsigneeId,\r\n Width,\r\n Length,\r\n Height,\r\n MaxWeight,\r\n MinTemperature,\r\n MinQuantity,\r\n AllocationPriority,\r\n WarehouseId,\r\n IsActive,\r\n DirectedPutWays,\r\n };\r\n await PostManageLocation(newCustomer);\r\n //customerTableMock.push(newCustomer);\r\n return [200, { customer: newCustomer }];\r\n });\r\n\r\n mock.onPost(\"api/ManageLocations/find\").reply(async (config) => {\r\n const mockUtils = new MockUtils();\r\n const { queryParams } = JSON.parse(config.data);\r\n warehouseList = await GetWarehouses();\r\n if (!(warehouseList.length > 0)) {\r\n return [400];\r\n }\r\n const warehouseIdDefault = queryParams.filter.warehouseId;\r\n const warehouseId =\r\n warehouseIdDefault === undefined\r\n ? warehouseList[0].Id\r\n : warehouseIdDefault;\r\n customerTableMock = await GetManageLocations(warehouseId);\r\n delete queryParams.filter.warehouseId;\r\n delete queryParams.filter.ReLoadTable;\r\n const filterdCustomers = mockUtils.baseFilter(\r\n customerTableMock,\r\n queryParams\r\n );\r\n return [200, filterdCustomers];\r\n });\r\n\r\n mock.onPost(\"api/ManageLocations/deleteCustomers\").reply((config) => {\r\n const { ids } = JSON.parse(config.data);\r\n ids.forEach((id) => {\r\n const index = customerTableMock.findIndex((el) => el.id === id);\r\n if (index > -1) {\r\n customerTableMock.splice(index, 1);\r\n }\r\n });\r\n return [200];\r\n });\r\n\r\n mock\r\n .onPost(\"api/ManageLocations/updateStatusForCustomers\")\r\n .reply((config) => {\r\n const { ids, status } = JSON.parse(config.data);\r\n customerTableMock.forEach((el) => {\r\n if (ids.findIndex((id) => id === el.id) > -1) {\r\n el.status = status;\r\n }\r\n });\r\n return [200];\r\n });\r\n\r\n mock.onGet(/api\\/ManageLocations\\/\\d+/).reply(async (config) => {\r\n const id = config.url.match(/api\\/ManageLocations\\/(\\d+)/)[1];\r\n const customer = customerTableMock.find((el) => el.id === +id);\r\n if (!customer) {\r\n return [400];\r\n }\r\n var getManageLocation = await GetManageLocation(id);\r\n return [200, getManageLocation];\r\n });\r\n\r\n mock.onPut(/api\\/ManageLocations\\/\\d+/).reply(async (config) => {\r\n const id = config.url.match(/api\\/ManageLocations\\/(\\d+)/)[1];\r\n const Putcustomer = JSON.parse(config.data);\r\n const { customer } = Putcustomer;\r\n var putObj = await PutManageLocation(Putcustomer, id);\r\n if (!putObj) {\r\n return [400];\r\n }\r\n const index = customerTableMock.findIndex((el) => el.id === +id);\r\n if (index === -1) {\r\n return [400];\r\n }\r\n customerTableMock[index] = { ...customer };\r\n return [200];\r\n });\r\n\r\n mock.onDelete(/api\\/ManageLocations\\/\\d+/).reply(async (config) => {\r\n const id = config.url.match(/api\\/ManageLocations\\/(\\d+)/)[1];\r\n const index = customerTableMock.findIndex((el) => el.id === +id);\r\n if (index === -1) {\r\n return [400];\r\n }\r\n var deleteObj = await DeleteManageLocation(id);\r\n if (!deleteObj) {\r\n return [400];\r\n }\r\n customerTableMock.splice(index, 1);\r\n return [200];\r\n });\r\n}\r\n\r\nfunction ChangeId(list) {\r\n for (var item in list) {\r\n list[item].id = list[item].Id;\r\n delete list[item].Id;\r\n }\r\n return list;\r\n}\r\n","import MockUtils from \"./mock.utils\";\r\nimport { Notification } from \"../../../modules/Notification\";\r\nimport low from \"lowdb\";\r\nimport LocalStorage from \"lowdb/adapters/LocalStorage\";\r\nconst adapter = new LocalStorage(\"db\");\r\nconst db = low(adapter);\r\nlet carTableMock;\r\nexport default function mockProducts(mock) {\r\n function StatusMessage(res) {\r\n var status = res.status;\r\n var statusText = res.statusText;\r\n if (status === 200) {\r\n Notification(\"success\", \"success\");\r\n return true;\r\n } else if (status === 400) {\r\n Notification(\"error\", statusText);\r\n return false;\r\n }\r\n }\r\n\r\n async function GetItems(id, showInactives) {\r\n return await fetch(\r\n `${window.$apiurl}/items?customerId=${id}&showInactives=${showInactives}`,\r\n {\r\n method: \"get\",\r\n withCredentials: true,\r\n\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n Accept: \"application/json, text/plain, */*\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n }\r\n )\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n return ChangeId(res[1]);\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n\r\n async function GetItem(id) {\r\n return (\r\n await fetch(`/items/${id}`),\r\n {\r\n method: \"get\",\r\n withCredentials: true,\r\n\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n Accept: \"application/json, text/plain, */*\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n }\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n console.log(res[1]);\r\n return res[1];\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n })\r\n );\r\n }\r\n\r\n async function PostItem(someData) {\r\n return fetch(window.$apiurl + \"/items\", {\r\n method: \"post\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n Accept: \"application/json, text/plain, */*\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(someData),\r\n })\r\n .then(async (response) => {\r\n return await response;\r\n })\r\n .then((res) => {\r\n return StatusMessage(res);\r\n })\r\n .catch((err) => {\r\n return StatusMessage(err);\r\n });\r\n }\r\n\r\n async function PutItem(someData, id) {\r\n return fetch(window.$apiurl + \"/items/\" + id, {\r\n method: \"put\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n Accept: \"application/json, text/plain, */*\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(someData),\r\n })\r\n .then(async (response) => {\r\n return await response;\r\n })\r\n .then((res) => {\r\n return StatusMessage(res);\r\n })\r\n .catch((err) => {\r\n return StatusMessage(err);\r\n });\r\n }\r\n\r\n async function GetCustomers() {\r\n return await fetch(window.$apiurl + \"/customers\", {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n return res[1];\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n\r\n async function GetItemsEdit() {\r\n var customersId = window.items_customersId;\r\n return await fetch(\r\n `${window.$apiurl}/items/getviewmodel?customerId=${customersId}`,\r\n {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n }\r\n )\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n return res[1];\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n\r\n async function PostManageItems(someData) {\r\n return fetch(window.$apiurl + \"/items/import\", {\r\n method: \"post\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(someData),\r\n })\r\n .then(async (response) => {\r\n return await response;\r\n })\r\n .then((res) => {\r\n return StatusMessage(res);\r\n })\r\n .catch((err) => {\r\n return StatusMessage(err);\r\n });\r\n }\r\n //---------------------------------------------------------------------------------------\r\n mock.onGet(\"api/ManageItems/Filter\").reply(async () => {\r\n const obj = {};\r\n obj[\"customersList\"] = await GetCustomers();\r\n return [200, obj];\r\n });\r\n\r\n mock.onPost(\"api/item/import\").reply(async ({ data }) => {\r\n const itemsList = JSON.parse(data).data;\r\n await PostManageItems(itemsList);\r\n return [200, \"Done\"];\r\n });\r\n\r\n mock.onGet(\"api/ManageItems/items\").reply(async () => {\r\n const obj = {};\r\n const getItemsEdit = await GetItemsEdit();\r\n obj[\"Classifications\"] = getItemsEdit[\"Classifications\"];\r\n obj[\"AllocationMethods\"] = getItemsEdit[\"AllocationMethods\"];\r\n obj[\"CycleCountTypes\"] = getItemsEdit[\"CycleCountTypes\"];\r\n obj[\"SerialNumberTracking\"] = getItemsEdit[\"SerialNumberTracking\"];\r\n obj[\"OutboundMobileSerialization\"] =\r\n getItemsEdit[\"OutboundMobileSerialization\"];\r\n obj[\"ExpirationDateTracking\"] = getItemsEdit[\"ExpirationDateTracking\"];\r\n obj[\"LotNumberTracking\"] = getItemsEdit[\"LotNumberTracking\"];\r\n obj[\"CostTracking\"] = getItemsEdit[\"CostTracking\"];\r\n obj[\"Countries\"] = getItemsEdit[\"Countries\"];\r\n obj[\"NMFC\"] = getItemsEdit[\"Commodities\"];\r\n obj[\"MaterialFlags\"] = getItemsEdit[\"MaterialFlags\"];\r\n obj[\"CostTracking\"] = getItemsEdit[\"CostTracking\"];\r\n obj[\"PackagingGroups\"] = getItemsEdit[\"PackagingGroups\"];\r\n obj[\"UnitsOfMeasure\"] = getItemsEdit[\"UnitsOfMeasure\"];\r\n obj[\"CountingMechanisms\"] = getItemsEdit[\"CountingMechanisms\"];\r\n obj[\"InventoryUnitsOfMeasure\"] = getItemsEdit[\"InventoryUnitsOfMeasure\"];\r\n obj[\"Items\"] = getItemsEdit[\"Items\"];\r\n obj[\"Warehouses\"] = getItemsEdit[\"Warehouses\"];\r\n obj[\"MovableUnits\"] = getItemsEdit[\"MovableUnits\"];\r\n obj[\"OrderReceiverUom\"] = getItemsEdit[\"OrderReceiverUom\"];\r\n obj[\"CustomerId\"] = window.items_customersId;\r\n return [200, obj];\r\n });\r\n\r\n mock.onPost(\"api/ManageItems\").reply(async ({ data }) => {\r\n const { product } = JSON.parse(data);\r\n const {\r\n Sku = \"\",\r\n Description = \"\",\r\n SecondaryDescription,\r\n ClassificationId,\r\n CommodityId,\r\n Upc,\r\n SellPrice,\r\n ProductCost,\r\n MinOnHand,\r\n MaxOnHand,\r\n StorageTemp,\r\n ReorderQuantity,\r\n DaysBetweenCounts,\r\n SerialNumberRequireScan,\r\n ExpirationDateRequireScan,\r\n LotNumberRequireScan,\r\n HoldThresholdDays,\r\n OriginCountryId,\r\n HarmonizedTariffCode,\r\n MovableUnitZones,\r\n PackagingUnitZones,\r\n OverallocatedZones,\r\n LocationId,\r\n MixedExpirationDaysThreshold,\r\n Class,\r\n ShippingName,\r\n MaterialId,\r\n LabelCode,\r\n Flashpoint,\r\n PrimaryInventoryUnitOfMeasureId,\r\n PrimaryInventoryQuantity,\r\n SecondaryInventoryUnitOfMeasureId,\r\n SecondaryInventoryQuantity,\r\n PackagingUnitOfMeasureId,\r\n PackagingPrimaryUnit,\r\n PackagingLength,\r\n PackagingWidth,\r\n PackagingHeight,\r\n PackagingTotalArea,\r\n PackagingTotalVolume,\r\n PackagingWeight,\r\n PackagingNetWeight,\r\n MaterialNotes,\r\n Qualifiers,\r\n MovableUnitId,\r\n MovableUnitLength,\r\n MovableUnitWidth,\r\n MovableUnitHeight,\r\n MovableUnitTie,\r\n MovableUnitHigh,\r\n MovableUnitWeight,\r\n MovableUnitQuantity,\r\n CountingMechanismId,\r\n StorageUnitOfMeasureId,\r\n EachesPerEach,\r\n StorageRate,\r\n StorageMinCharge,\r\n StorageMonthsSkip,\r\n ItemMovableUnitsStorage,\r\n RecieveOntoHold = false,\r\n CycleCountTypeId = 9,\r\n CustomerId = 6,\r\n UseLocationFull = false,\r\n StoreWithItems = false,\r\n StoreMultipleLots = false,\r\n HazardousMaterial = false,\r\n UseSecondaryUom = false,\r\n AllocationMethodId,\r\n SerialNumberTrackingId = 14,\r\n OutboundMobileSerializationId = 19,\r\n ExpirationDateTrackingId = 22,\r\n LotNumberTrackingId = 25,\r\n CostTrackingId = 28,\r\n MaterialFlagId = 31,\r\n PackagingGroupId = 33,\r\n UnitOfMeasureId = 36,\r\n AssemblyItems,\r\n } = product;\r\n\r\n const id = generateProductId();\r\n const newProduct = {\r\n id,\r\n Sku,\r\n SecondaryDescription,\r\n ClassificationId,\r\n CommodityId,\r\n Upc,\r\n SellPrice,\r\n ProductCost,\r\n MinOnHand,\r\n MaxOnHand,\r\n StorageTemp,\r\n ReorderQuantity,\r\n DaysBetweenCounts,\r\n SerialNumberRequireScan,\r\n ExpirationDateRequireScan,\r\n LotNumberRequireScan,\r\n HoldThresholdDays,\r\n OriginCountryId,\r\n HarmonizedTariffCode,\r\n MovableUnitZones,\r\n PackagingUnitZones,\r\n OverallocatedZones,\r\n LocationId,\r\n MixedExpirationDaysThreshold,\r\n Class,\r\n ShippingName,\r\n MaterialId,\r\n LabelCode,\r\n Flashpoint,\r\n PrimaryInventoryUnitOfMeasureId,\r\n PrimaryInventoryQuantity,\r\n SecondaryInventoryUnitOfMeasureId,\r\n SecondaryInventoryQuantity,\r\n PackagingUnitOfMeasureId,\r\n PackagingPrimaryUnit,\r\n PackagingLength,\r\n PackagingWidth,\r\n PackagingHeight,\r\n PackagingTotalArea,\r\n PackagingTotalVolume,\r\n PackagingWeight,\r\n PackagingNetWeight,\r\n MaterialNotes,\r\n Qualifiers,\r\n MovableUnitId,\r\n MovableUnitLength,\r\n MovableUnitWidth,\r\n MovableUnitHeight,\r\n MovableUnitTie,\r\n MovableUnitHigh,\r\n MovableUnitWeight,\r\n MovableUnitQuantity,\r\n CountingMechanismId,\r\n StorageUnitOfMeasureId,\r\n EachesPerEach,\r\n StorageRate,\r\n StorageMinCharge,\r\n StorageMonthsSkip,\r\n ItemMovableUnitsStorage,\r\n Description,\r\n RecieveOntoHold,\r\n CycleCountTypeId,\r\n CustomerId,\r\n UseLocationFull,\r\n StoreWithItems,\r\n StoreMultipleLots,\r\n HazardousMaterial,\r\n UseSecondaryUom,\r\n SerialNumberTrackingId,\r\n OutboundMobileSerializationId,\r\n ExpirationDateTrackingId,\r\n LotNumberTrackingId,\r\n CostTrackingId,\r\n MaterialFlagId,\r\n PackagingGroupId,\r\n UnitOfMeasureId,\r\n AssemblyItems,\r\n AllocationMethodId,\r\n };\r\n await PostItem(newProduct);\r\n carTableMock.push(newProduct);\r\n return [200, { product: newProduct }];\r\n });\r\n\r\n mock.onPost(\"api/ManageItems/find\").reply(async (config) => {\r\n const mockUtils = new MockUtils();\r\n const { queryParams } = JSON.parse(config.data);\r\n const customersList = await GetCustomers();\r\n if (!(customersList.length > 0)) {\r\n return [400];\r\n }\r\n const customerIdDefault = queryParams.filter.customerId;\r\n const showInactives =\r\n queryParams.filter.showInactives === undefined\r\n ? false\r\n : queryParams.filter.showInactives;\r\n const customerId =\r\n customerIdDefault === undefined ? customersList[0].Id : customerIdDefault;\r\n window.items_customersId = customerId;\r\n carTableMock = await GetItems(customerId, showInactives);\r\n delete queryParams.filter.customerId;\r\n delete queryParams.filter.showInactives;\r\n delete queryParams.filter.ReLoadTable;\r\n\r\n const filterdCustomers = mockUtils.baseFilter(carTableMock, queryParams);\r\n return [200, filterdCustomers];\r\n });\r\n mock.onPost(\"api/ManageItems/filter\").reply(async (config) => {\r\n const mockUtils = new MockUtils();\r\n const { queryParams } = JSON.parse(config.data);\r\n const customersList = await GetCustomers();\r\n if (!(customersList.length > 0)) {\r\n return [400];\r\n }\r\n const customerIdDefault = queryParams.filter.customerId;\r\n const showInactives =\r\n queryParams.filter.showInactives === undefined\r\n ? false\r\n : queryParams.filter.showInactives;\r\n const customerId =\r\n customerIdDefault === undefined ? customersList[0].Id : customerIdDefault;\r\n window.items_customersId = customerId;\r\n carTableMock = await GetItems(customerId, showInactives);\r\n delete queryParams.filter.customerId;\r\n delete queryParams.filter.showInactives;\r\n delete queryParams.filter.ReLoadTable;\r\n\r\n const filterdCustomers = mockUtils.baseFilter(carTableMock, queryParams);\r\n return [200, filterdCustomers];\r\n });\r\n mock.onPost(\"api/ManageItems/deleteProducts\").reply((config) => {\r\n const { ids } = JSON.parse(config.data);\r\n ids.forEach((id) => {\r\n const index = carTableMock.findIndex((el) => el.id === id);\r\n if (index > -1) {\r\n carTableMock.splice(index, 1);\r\n }\r\n });\r\n return [200];\r\n });\r\n\r\n mock.onPost(\"api/ManageItems/updateStatusForProducts\").reply((config) => {\r\n const { ids, status } = JSON.parse(config.data);\r\n carTableMock.forEach((el) => {\r\n if (ids.findIndex((id) => id === el.id) > -1) {\r\n el.status = status;\r\n }\r\n });\r\n return [200];\r\n });\r\n\r\n mock.onGet(/api\\/ManageItems\\/\\d+/).reply(async (config) => {\r\n const id = config.url.match(/api\\/ManageItems\\/(\\d+)/)[1];\r\n const product = await GetItem(id);\r\n product.id = product.Id;\r\n if (!product) {\r\n return [400];\r\n }\r\n return [200, product];\r\n });\r\n\r\n mock.onPut(/api\\/ManageItems\\/\\d+/).reply(async (config) => {\r\n const id = config.url.match(/api\\/ManageItems\\/(\\d+)/)[1];\r\n const { product } = JSON.parse(config.data);\r\n var putObj = await PutItem(product, id);\r\n if (!putObj) {\r\n return [400];\r\n }\r\n const index = carTableMock.findIndex((el) => el.id === +id);\r\n if (!index) {\r\n return [400];\r\n }\r\n carTableMock[index] = { ...product };\r\n return [200];\r\n });\r\n\r\n mock.onDelete(/api\\/ManageItems\\/\\d+/).reply((config) => {\r\n const id = config.url.match(/api\\/ManageItems\\/(\\d+)/)[1];\r\n const index = carTableMock.findIndex((el) => el.id === +id);\r\n carTableMock.splice(index, 1);\r\n if (!index === -1) {\r\n return [400];\r\n }\r\n return [200];\r\n });\r\n}\r\n\r\nfunction generateProductId() {\r\n const ids = carTableMock.map((el) => el.id);\r\n const maxId = Math.max(...ids);\r\n return maxId + 1;\r\n}\r\n\r\nfunction ChangeId(list) {\r\n for (var item in list) {\r\n list[item].id = list[item].Id;\r\n delete list[item].Id;\r\n }\r\n return list;\r\n}\r\n","import customerTableMock from \"./PurchaseLineItemsTableMock\";\r\nimport MockUtils from \"./mock.utils\";\r\nimport low from \"lowdb\";\r\nimport LocalStorage from \"lowdb/adapters/LocalStorage\";\r\nconst adapter = new LocalStorage(\"db\");\r\nconst db = low(adapter);\r\nlet remarkTableMock;\r\n\r\nexport default function mockPurchaseLineItems(mock) {\r\n function StatusMessage(res) {\r\n var status = res.status;\r\n var statusText = res.Message;\r\n if (status === 200) {\r\n Notification(\"success\", \"success\");\r\n return true;\r\n } else if (status === 400) {\r\n Notification(\"error\", \"Error Occured\");\r\n return false;\r\n }\r\n }\r\n async function GetOrderCustomFields(id) {\r\n return await fetch(window.$apiurl + \"/purchaseorders/\" + id, {\r\n method: \"get\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n // const statusCode = response.status;\r\n const data = await response.json();\r\n const datas = data.Items;\r\n return Promise.all([200, datas]);\r\n })\r\n .then((res) => {\r\n return ChangeId(res[1]);\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n //Post Trans Billing Shipping\r\n async function PostOrderCustomField(id, someData) {\r\n return fetch(window.$apiurl + \"/purchaseordersitem\", {\r\n method: \"post\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(someData),\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n return Promise.all(statusCode);\r\n })\r\n .then((res) => {\r\n return res;\r\n })\r\n .catch((error) => {\r\n //console.error(error);\r\n });\r\n }\r\n //Delete Receipt Item\r\n async function DeleteOrderCustomField(id) {\r\n return await fetch(window.$apiurl + \"/purchaseordersitem/\" + id, {\r\n method: \"delete\",\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n return response;\r\n })\r\n .then((res) => {\r\n return StatusMessage(res);\r\n })\r\n .catch((err) => {\r\n return StatusMessage(err);\r\n });\r\n }\r\n\r\n async function GetOrderCustomField(ReceiptId) {\r\n return await fetch(window.$apiurl + \"/purchaseordersitem/\" + ReceiptId, {\r\n method: \"get\",\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then((res) => res.json())\r\n .then((res) => {\r\n return res;\r\n })\r\n .catch((err) => {\r\n Notification(\"error\", \"err\");\r\n return false;\r\n });\r\n }\r\n async function PutOrderCustomField(someData, itemId) {\r\n return fetch(window.$apiurl + \"/purchaseordersitem/\" + itemId, {\r\n method: \"put\",\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(someData),\r\n })\r\n .then(async (response) => {\r\n return await response;\r\n })\r\n .then((res) => {\r\n return StatusMessage(res);\r\n })\r\n .catch((err) => {\r\n return StatusMessage(err);\r\n });\r\n }\r\n async function GetRetilers() {\r\n return await fetch(`${window.$apiurl}/items/1`, {\r\n method: \"get\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n const data = await response.json();\r\n const datas = data.Qualifiers;\r\n return Promise.all([statusCode, datas]);\r\n })\r\n .then((res) => {\r\n return ChangeId(res[1]);\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n async function GetWarhouses() {\r\n return await fetch(window.$apiurl + \"/Orders/GetWarehousesForOptions\", {\r\n method: \"get\",\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then((res) => res.json())\r\n .then((res) => {\r\n return res;\r\n })\r\n .catch((err) => {\r\n Notification(\"error\", \"err\");\r\n return false;\r\n });\r\n }\r\n //----------------------------------Mock--------------------------------------\r\n mock.onPost(\"api/PurchaseOrders\").reply(async ({ data }) => {\r\n const OrderId = window.location.pathname.split(\"/\")[2];\r\n const { remark } = JSON.parse(data);\r\n const {\r\n ItemId,\r\n PurchaseOrderId = OrderId,\r\n QualifierId,\r\n Quantity = \"\",\r\n WarehouseId,\r\n ExcpectedDate = \"\",\r\n CanceledDate = \"\",\r\n Notes = \"\",\r\n } = remark;\r\n const id = generateRemarkId();\r\n const newcustomField = {\r\n id,\r\n PurchaseOrderId,\r\n ItemId,\r\n QualifierId,\r\n Quantity,\r\n WarehouseId,\r\n ExcpectedDate,\r\n CanceledDate,\r\n Notes,\r\n };\r\n var postCustomField = await PostOrderCustomField(\r\n remark.ReceiptId,\r\n newcustomField\r\n );\r\n //Manage Data Result\r\n alert(postCustomField.Code);\r\n if (postCustomField.Code === \"200\") {\r\n postCustomField.id = postCustomField.Id;\r\n remarkTableMock.push(newcustomField);\r\n window.$ManageCustomField = 200;\r\n window.$ManageCustomFieldMessage = postCustomField.Message;\r\n document.getElementById(\"ReLoadTableId\").click();\r\n return [\r\n 200,\r\n {\r\n remark: newcustomField,\r\n message: postCustomField.Message,\r\n success: true,\r\n },\r\n ];\r\n } else {\r\n window.$ManageCustomField = 400;\r\n window.$ManageCustomFieldMessage = postCustomField.Message;\r\n return [400, { remark: postCustomField.Message, success: false }];\r\n }\r\n });\r\n mock.onGet(\"api/purchaseorders/getRetiler\").reply(async () => {\r\n var obj = {};\r\n obj[\"RetilersList\"] = await GetRetilers();\r\n obj[\"warhousesList\"] = await GetWarhouses();\r\n return [200, obj];\r\n });\r\n //mock on Post\r\n mock.onPost(/api\\/PurchaseOrdersfind\\/\\d+/).reply(async (config) => {\r\n const mockUtils = new MockUtils();\r\n const urls = config.url.split(\"/\");\r\n const id = urls[2];\r\n const { queryParams } = JSON.parse(config.data);\r\n const datas = await GetOrderCustomFields(id);\r\n remarkTableMock = datas;\r\n delete queryParams.filter.ReLoadTable;\r\n const filterdRemarks = mockUtils.baseFilter(remarkTableMock, queryParams);\r\n return [200, filterdRemarks];\r\n });\r\n\r\n mock.onPost(\"api/PurchaseOrders/deleteReceipts\").reply((config) => {\r\n const { ids } = JSON.parse(config.data);\r\n ids.forEach((id) => {\r\n const index = remarkTableMock.findIndex((el) => el.id === id);\r\n if (index > -1) {\r\n remarkTableMock.splice(index, 1);\r\n }\r\n });\r\n return [200];\r\n });\r\n\r\n mock.onGet(/api\\/PurchaseOrders\\/\\d+/).reply(async (config) => {\r\n const id = config.url.match(/api\\/PurchaseOrders\\/(\\d+)/)[1];\r\n const remark = await GetOrderCustomField(id);\r\n if (!remark) {\r\n return [400];\r\n }\r\n return [200, remark];\r\n });\r\n\r\n mock.onPut(/api\\/PurchaseOrders\\/\\d+/).reply(async (config) => {\r\n const id = config.url.match(/api\\/PurchaseOrders\\/(\\d+)/)[1];\r\n const { remark } = JSON.parse(config.data);\r\n remark.PurchaseOrderId = window.location.pathname.split(\"/\")[2];\r\n var postOrder = await PutOrderCustomField(remark, id);\r\n const index = remarkTableMock.findIndex((el) => el.id === +id);\r\n if (!index) {\r\n return [400];\r\n }\r\n remarkTableMock[index] = { ...remark };\r\n return [200];\r\n });\r\n\r\n mock.onDelete(/api\\/PurchaseOrders\\/\\d+/).reply(async (config) => {\r\n const id = config.url.match(/api\\/PurchaseOrders\\/(\\d+)/)[1];\r\n const index = remarkTableMock.findIndex((el) => el.id === +id);\r\n var deleteObj = await DeleteOrderCustomField(id);\r\n if (!deleteObj) {\r\n return [400];\r\n }\r\n remarkTableMock.splice(index, 1);\r\n return [200];\r\n });\r\n}\r\nfunction generateRemarkId() {\r\n const ids = remarkTableMock.map((el) => el.id);\r\n const maxId = Math.max(...ids);\r\n return maxId + 1;\r\n}\r\n\r\nfunction ChangeId(list) {\r\n for (var item in list) {\r\n list[item].id = list[item].Id;\r\n delete list[item].Id;\r\n }\r\n return list;\r\n}\r\n","import { Notification } from \"../../../modules/Notification\";\r\nimport low from \"lowdb\";\r\nimport LocalStorage from \"lowdb/adapters/LocalStorage\";\r\nconst adapter = new LocalStorage(\"db\");\r\nconst db = low(adapter);\r\nexport default async function mockImportContacts(mock) {\r\n async function GetCustomers() {\r\n return await fetch(window.$apiurl + \"/Customers\", {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n return ChangeId(res[1]);\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n\r\n async function ImportImportContacts(someData) {\r\n return fetch(`${window.$apiurl}/contacts/import`, {\r\n method: \"post\",\r\n withCredentials: true,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n },\r\n body: JSON.stringify(someData),\r\n })\r\n .then(async (response) => {\r\n console.log(response);\r\n const statusCode = response.status;\r\n let data = {};\r\n if (statusCode !== 200) data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n return res;\r\n })\r\n .catch((err) => {\r\n console.log(err);\r\n });\r\n }\r\n\r\n mock.onGet(\"api/purchaseorders/getcustomers\").reply(async () => {\r\n const obj = await GetCustomers();\r\n return [200, obj];\r\n });\r\n\r\n mock.onPost(\"api/contacts/import\").reply(async ({ data }) => {\r\n const contacts = JSON.parse(data);\r\n var result = await ImportImportContacts(contacts);\r\n if (result === undefined || result[0] === 200)\r\n return [200, { success: true }];\r\n else {\r\n result[1].success = false;\r\n return [200, result[1]];\r\n }\r\n });\r\n}\r\n\r\nfunction ChangeId(list) {\r\n for (var item in list) {\r\n list[item].id = list[item].Id;\r\n delete list[item].Id;\r\n }\r\n return list;\r\n}\r\n","import { Notification } from \"../../../modules/Notification\";\r\n\r\nexport default async function mockPurchaseOrders(mock) {\r\n \r\n async function GetCustomers() {\r\n return await fetch(`${window.$apiurl}/customers`)\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n return res[1];\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n \r\n async function GetWarehouses(id) {\r\n return await fetch(`${window.$apiurl}/warehouses/${id}`)\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n return res[1];\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n \r\n\r\n async function ImportReceipts(someData) {\r\n console.log(\"someData\");\r\n console.log(someData);\r\n return fetch(`${window.$apiurl}/receipts/import`, {\r\n method: \"post\",\r\n headers: { \"Content-Type\": \"application/json\" },\r\n body: JSON.stringify(someData),\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n let data = {};\r\n if (statusCode === 400)\r\n data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n return res;\r\n })\r\n .catch((err) => {\r\n console.log(err);\r\n });\r\n }\r\n\r\n // Mock ---------------------------------------------------------------------------------\r\n\r\n mock.onGet(\"api/receipts/getcustomers\").reply(async () => {\r\n const obj = await GetCustomers();\r\n return [200, obj];\r\n });\r\n\r\n mock.onPost(\"api/receipts/import\").reply(async ({ data }) => {\r\n const purchaseOrders = JSON.parse(data);\r\n var result = await ImportReceipts(purchaseOrders);\r\n if (result === undefined || result[0] === 200)\r\n return [200, { success: true }];\r\n else {\r\n result[1].success = false;\r\n return [200, result[1]];\r\n }\r\n });\r\n\r\n mock.onGet(/api\\/receipts\\/getwarehouses\\/\\d+/).reply(async (config) => {\r\n const id = config.url.match(/api\\/receipts\\/getwarehouses\\/(\\d+)/)[1];\r\n\r\n var getWarehouses = await GetWarehouses(id);\r\n if (!getWarehouses) {\r\n return [400];\r\n }\r\n return [200, getWarehouses];\r\n });\r\n}\r\n","import MockUtils from \"./mock.utils\";\r\nimport { Notification } from \"../../../modules/Notification\";\r\nimport low from \"lowdb\";\r\nimport LocalStorage from \"lowdb/adapters/LocalStorage\";\r\nconst adapter = new LocalStorage(\"db\");\r\nconst db = low(adapter);\r\nlet customerTableMock;\r\nexport default async function mockIgnoreSkus(mock) {\r\n function StatusMessage(res) {\r\n var status = res.status;\r\n var statusText = res.statusText;\r\n if (status === 200) {\r\n Notification(\"success\", \"success\");\r\n return true;\r\n } else if (status === 400) {\r\n Notification(\"error\", statusText);\r\n return false;\r\n }\r\n }\r\n\r\n async function GetModel(customerId, parserId) {\r\n return await fetch(\r\n `${window.$apiurl}/ignoreskus/${customerId}/${parserId}`,\r\n {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n }\r\n )\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n return ChangeId(res[1]);\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n\r\n async function GetModelId(id) {\r\n return await fetch(`${window.$apiurl}/ignoreskus/${id}`, {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n return res[1];\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n\r\n async function PostModel(someData) {\r\n return fetch(window.$apiurl + \"/ignoreskus\", {\r\n method: \"post\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(someData),\r\n })\r\n .then(async (response) => {\r\n return await response;\r\n })\r\n .then((res) => {\r\n return StatusMessage(res);\r\n })\r\n .catch((err) => {\r\n return StatusMessage(err);\r\n });\r\n }\r\n\r\n async function PutModel(someData, id) {\r\n let modelData = someData[\"customer\"];\r\n return fetch(window.$apiurl + \"/ignoreskus/\" + id, {\r\n method: \"put\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(modelData),\r\n })\r\n .then(async (response) => {\r\n return await response;\r\n })\r\n .then((res) => {\r\n return StatusMessage(res);\r\n })\r\n .catch((err) => {\r\n return StatusMessage(err);\r\n });\r\n }\r\n\r\n async function DeleteModel(id) {\r\n return await fetch(window.$apiurl + \"/ignoreskus/\" + id, {\r\n method: \"delete\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n return response;\r\n })\r\n .then((res) => {\r\n return StatusMessage(res);\r\n })\r\n .catch((err) => {\r\n return StatusMessage(err);\r\n });\r\n }\r\n\r\n async function GetViewmodel() {\r\n return await fetch(window.$apiurl + \"/ignoreskus/getviewmodel\", {\r\n method: \"get\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then((res) => res.json())\r\n .then((res) => {\r\n return res;\r\n })\r\n .catch((err) => {\r\n Notification(\"error\", \"err\");\r\n return false;\r\n });\r\n }\r\n\r\n // Mock ---------------------------------------------------------------------------------\r\n mock.onGet(\"api/IgnoreSkus/GetAllApi\").reply(async () => {\r\n const obj = await GetViewmodel();\r\n return [200, obj];\r\n });\r\n\r\n mock.onPost(\"api/IgnoreSkus\").reply(async ({ data }) => {\r\n const { customer } = JSON.parse(data);\r\n const {\r\n IgnoreSku = undefined,\r\n CustomerId = undefined,\r\n ParserId = undefined,\r\n } = customer;\r\n\r\n const newCustomer = {\r\n IgnoreSku,\r\n CustomerId,\r\n ParserId,\r\n };\r\n var postModel = await PostModel(newCustomer);\r\n document.getElementById(\"ReLoadTableId\").click();\r\n customerTableMock.push(newCustomer);\r\n return [200, { customer: newCustomer }];\r\n });\r\n\r\n mock.onPost(\"api/IgnoreSkus/find\").reply(async (config) => {\r\n const mockUtils = new MockUtils();\r\n const { queryParams } = JSON.parse(config.data);\r\n const filter = queryParams.filter;\r\n if (filter.CustomerId !== 0 && filter.ParsersId !== 0) {\r\n customerTableMock = await GetModel(filter.CustomerId, filter.ParsersId);\r\n delete queryParams.filter.CustomerId;\r\n delete queryParams.filter.ParsersId;\r\n delete queryParams.filter.ReLoadTable;\r\n }\r\n const filterdCustomers = mockUtils.baseFilter(\r\n customerTableMock,\r\n queryParams\r\n );\r\n return [200, filterdCustomers];\r\n });\r\n\r\n mock.onPost(\"api/IgnoreSkus/deleteCustomers\").reply(async (config) => {\r\n const { ids } = JSON.parse(config.data);\r\n ids.forEach((id) => {\r\n const index = customerTableMock.findIndex((el) => el.id === id);\r\n if (index > -1) {\r\n customerTableMock.splice(index, 1);\r\n }\r\n });\r\n return [200];\r\n });\r\n\r\n mock\r\n .onPost(\"api/IgnoreSkus/updateStatusForCustomers\")\r\n .reply(async (config) => {\r\n const { ids, status } = JSON.parse(config.data);\r\n customerTableMock.forEach((el) => {\r\n if (ids.findIndex((id) => id === el.id) > -1) {\r\n el.status = status;\r\n }\r\n });\r\n return [200];\r\n });\r\n\r\n mock.onGet(/api\\/IgnoreSkus\\/\\d+/).reply(async (config) => {\r\n const id = config.url.match(/api\\/IgnoreSkus\\/(\\d+)/)[1];\r\n const customer = await GetModelId(id);\r\n if (!customer) {\r\n return [400];\r\n }\r\n return [200, customer];\r\n });\r\n\r\n mock.onPut(/api\\/IgnoreSkus\\/\\d+/).reply(async (config) => {\r\n const id = config.url.match(/api\\/IgnoreSkus\\/(\\d+)/)[1];\r\n const Putcustomer = JSON.parse(config.data);\r\n const { customer } = Putcustomer;\r\n var putObj = await PutModel(Putcustomer, id);\r\n if (!putObj) {\r\n return [400];\r\n }\r\n const index = customerTableMock.findIndex((el) => el.id === +id);\r\n if (index === -1) {\r\n return [400];\r\n }\r\n customerTableMock[index] = { ...customer };\r\n return [200];\r\n });\r\n\r\n mock.onDelete(/api\\/IgnoreSkus\\/\\d+/).reply(async (config) => {\r\n const id = config.url.match(/api\\/IgnoreSkus\\/(\\d+)/)[1];\r\n const index = customerTableMock.findIndex((el) => el.id === +id);\r\n if (index === -1) {\r\n return [400];\r\n }\r\n var deleteObj = await DeleteModel(id);\r\n if (!deleteObj) {\r\n return [400];\r\n }\r\n customerTableMock.splice(index, 1);\r\n return [200];\r\n });\r\n}\r\n\r\nfunction ChangeId(list) {\r\n for (var item in list) {\r\n list[item].id = list[item].Id;\r\n delete list[item].Id;\r\n }\r\n return list;\r\n}\r\n","import { Notification } from \"../../../modules/Notification\";\r\nimport low from \"lowdb\";\r\nimport LocalStorage from \"lowdb/adapters/LocalStorage\";\r\nconst adapter = new LocalStorage(\"db\");\r\nconst db = low(adapter);\r\n\r\nexport default async function mockClassifications(mock) {\r\n\r\n async function GetCompanyInfo() {\r\n return await fetch(`${window.$apiurl}/companyinfo`, {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n return res[1];\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n\r\n async function GetCountries() {\r\n var myHeaders = new Headers();\r\n myHeaders.append(\"Authorization\", `Bearer ${db.read().getState().Token}`);\r\n\r\n var requestOptions = {\r\n method: \"GET\",\r\n headers: myHeaders,\r\n redirect: \"follow\",\r\n };\r\n return await fetch(window.$apiurl + \"/countries\",requestOptions)\r\n .then((res) => res.json())\r\n .then((res) => {\r\n return res;\r\n })\r\n .catch((err) => {\r\n Notification(\"error\", \"err\");\r\n return false;\r\n });\r\n }\r\n\r\n async function GetStates(id) {\r\n var myHeaders = new Headers();\r\n myHeaders.append(\"Authorization\", `Bearer ${db.read().getState().Token}`);\r\n\r\n var requestOptions = {\r\n method: \"GET\",\r\n headers: myHeaders,\r\n redirect: \"follow\",\r\n };\r\n return await fetch(`${window.$apiurl}/states/${id}`,requestOptions)\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n return res[1];\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n\r\n async function PutCompany(someData) {\r\n let userDate = someData[\"company\"];\r\n return fetch(`${window.$apiurl}/companyinfo`, {\r\n method: \"put\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(userDate),\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n let data = {};\r\n if (statusCode === 400) data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n return res;\r\n })\r\n .catch((err) => {\r\n console.log(err);\r\n });\r\n }\r\n\r\n // Mock ---------------------------------------------------------------------------------\r\n mock.onGet(\"api/companyinfo\").reply(async () => {\r\n const obj = await GetCompanyInfo();\r\n return [200, obj];\r\n });\r\n\r\n mock.onPut(\"api/companyinfo\").reply(async (config) => {\r\n const company = JSON.parse(config.data);\r\n var result = await PutCompany(company);\r\n if (result === undefined || result[0] === 200)\r\n return [200, { success: true }];\r\n else {\r\n result[1].success = false;\r\n return [200, result[1]];\r\n }\r\n });\r\n\r\n mock.onGet(\"api/companyinfo/getcountries\").reply(async () => {\r\n const obj = await GetCountries();\r\n return [200, obj];\r\n });\r\n\r\n mock.onGet(/api\\/companyinfo\\/getstates\\/\\w+/).reply(async (config) => {\r\n const id = config.url.match(/api\\/companyinfo\\/getstates\\/(\\w+)/)[1];\r\n var getStates = await GetStates(id);\r\n if (!getStates) return [400];\r\n return [200, getStates];\r\n });\r\n}\r\n","import MockUtils from \"./mock.utils\";\r\nimport { Notification } from \"../../../modules/Notification\";\r\nimport low from \"lowdb\";\r\nimport LocalStorage from \"lowdb/adapters/LocalStorage\";\r\nconst adapter = new LocalStorage(\"db\");\r\nconst db = low(adapter);\r\nlet customerTableMock;\r\nexport default async function mockIgnoreSkus(mock) {\r\n function StatusMessage(res) {\r\n var status = res.status;\r\n var statusText = res.statusText;\r\n if (status === 200) {\r\n Notification(\"success\", \"success\");\r\n return true;\r\n } else if (status === 400) {\r\n Notification(\"error\", statusText);\r\n return false;\r\n }\r\n }\r\n\r\n async function GetModel(customerId) {\r\n return await fetch(`${window.$apiurl}/customfields/${customerId}`, {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n return ChangeId(res[1]);\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n\r\n async function GetModelId(id) {\r\n return await fetch(`${window.$apiurl}/customfields/${id}/details`, {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n return res[1];\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n\r\n async function PostModel(someData) {\r\n return fetch(window.$apiurl + \"/customfields\", {\r\n method: \"post\",\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(someData),\r\n })\r\n .then(async (response) => {\r\n return await response;\r\n })\r\n .then((res) => {\r\n return StatusMessage(res);\r\n })\r\n .catch((err) => {\r\n return StatusMessage(err);\r\n });\r\n }\r\n\r\n async function PutModel(someData, id) {\r\n let modelData = someData[\"customer\"];\r\n return fetch(window.$apiurl + \"/customfields/\" + id, {\r\n method: \"put\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(modelData),\r\n })\r\n .then(async (response) => {\r\n return await response;\r\n })\r\n .then((res) => {\r\n return StatusMessage(res);\r\n })\r\n .catch((err) => {\r\n return StatusMessage(err);\r\n });\r\n }\r\n\r\n async function DeleteModel(id) {\r\n return await fetch(window.$apiurl + \"/customfields/\" + id, {\r\n method: \"delete\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n return response;\r\n })\r\n .then((res) => {\r\n return StatusMessage(res);\r\n })\r\n .catch((err) => {\r\n return StatusMessage(err);\r\n });\r\n }\r\n\r\n async function GetViewmodel() {\r\n return await fetch(window.$apiurl + \"/customfields/getviewmodel\", {\r\n method: \"get\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then((res) => res.json())\r\n .then((res) => {\r\n return res;\r\n })\r\n .catch((err) => {\r\n Notification(\"error\", \"err\");\r\n return false;\r\n });\r\n }\r\n\r\n // Mock ---------------------------------------------------------------------------------\r\n mock.onGet(\"api/CustomFields/GetAllApi\").reply(async () => {\r\n const obj = await GetViewmodel();\r\n window.CustomFields_CustomFieldTypes = obj;\r\n return [200, obj];\r\n });\r\n\r\n mock.onPost(\"api/CustomFields\").reply(async ({ data }) => {\r\n const { customer } = JSON.parse(data);\r\n const {\r\n Name = undefined,\r\n CustomerName = undefined,\r\n CustomerId = undefined,\r\n TypeId = undefined,\r\n SortOrder = undefined,\r\n IsRequired = false,\r\n } = customer;\r\n\r\n const newCustomer = {\r\n Name,\r\n CustomerName,\r\n CustomerId,\r\n TypeId,\r\n SortOrder,\r\n IsRequired,\r\n };\r\n var postModel = await PostModel(newCustomer);\r\n document.getElementById(\"ReLoadTableId\").click();\r\n customerTableMock.push(newCustomer);\r\n return [200, { customer: newCustomer }];\r\n });\r\n\r\n mock.onPost(\"api/CustomFields/find\").reply(async (config) => {\r\n const mockUtils = new MockUtils();\r\n const { queryParams } = JSON.parse(config.data);\r\n const filter = queryParams.filter;\r\n if (filter.CustomerId !== 0 && filter.ParsersId !== 0) {\r\n customerTableMock = await GetModel(filter.CustomerId);\r\n delete queryParams.filter.CustomerId;\r\n delete queryParams.filter.ReLoadTable;\r\n }\r\n const filterdCustomers = mockUtils.baseFilter(\r\n customerTableMock,\r\n queryParams\r\n );\r\n return [200, filterdCustomers];\r\n });\r\n\r\n mock.onPost(\"api/CustomFields/deleteCustomers\").reply(async (config) => {\r\n const { ids } = JSON.parse(config.data);\r\n ids.forEach((id) => {\r\n const index = customerTableMock.findIndex((el) => el.id === id);\r\n if (index > -1) {\r\n customerTableMock.splice(index, 1);\r\n }\r\n });\r\n return [200];\r\n });\r\n\r\n mock\r\n .onPost(\"api/CustomFields/updateStatusForCustomers\")\r\n .reply(async (config) => {\r\n const { ids, status } = JSON.parse(config.data);\r\n customerTableMock.forEach((el) => {\r\n if (ids.findIndex((id) => id === el.id) > -1) {\r\n el.status = status;\r\n }\r\n });\r\n return [200];\r\n });\r\n\r\n mock.onGet(/api\\/CustomFields\\/\\d+/).reply(async (config) => {\r\n const id = config.url.match(/api\\/CustomFields\\/(\\d+)/)[1];\r\n const customer = await GetModelId(id);\r\n if (!customer) {\r\n return [400];\r\n }\r\n return [200, customer];\r\n });\r\n\r\n mock.onPut(/api\\/CustomFields\\/\\d+/).reply(async (config) => {\r\n const id = config.url.match(/api\\/CustomFields\\/(\\d+)/)[1];\r\n const Putcustomer = JSON.parse(config.data);\r\n const { customer } = Putcustomer;\r\n var putObj = await PutModel(Putcustomer, id);\r\n if (!putObj) {\r\n return [400];\r\n }\r\n const index = customerTableMock.findIndex((el) => el.id === +id);\r\n if (index === -1) {\r\n return [400];\r\n }\r\n customerTableMock[index] = { ...customer };\r\n return [200];\r\n });\r\n\r\n mock.onDelete(/api\\/CustomFields\\/\\d+/).reply(async (config) => {\r\n const id = config.url.match(/api\\/CustomFields\\/(\\d+)/)[1];\r\n const index = customerTableMock.findIndex((el) => el.id === +id);\r\n if (index === -1) {\r\n return [400];\r\n }\r\n var deleteObj = await DeleteModel(id);\r\n if (!deleteObj) {\r\n return [400];\r\n }\r\n customerTableMock.splice(index, 1);\r\n return [200];\r\n });\r\n}\r\n\r\nfunction ChangeId(list) {\r\n for (var item in list) {\r\n list[item].id = list[item].Id;\r\n delete list[item].Id;\r\n }\r\n return list;\r\n}\r\n","import MockUtils from \"./mock.utils\";\r\nimport { Notification } from \"../../../modules/Notification\";\r\nimport low from \"lowdb\";\r\nimport LocalStorage from \"lowdb/adapters/LocalStorage\";\r\nconst adapter = new LocalStorage(\"db\");\r\nconst db = low(adapter);\r\nlet customerTableMock;\r\nexport default async function mockManageSuppliers(mock) {\r\n function StatusMessage(res) {\r\n var status = res.status;\r\n var statusText = res.statusText;\r\n if (status === 200) {\r\n Notification(\"success\", \"success\");\r\n return true;\r\n } else if (status === 400) {\r\n Notification(\"error\", statusText);\r\n return false;\r\n }\r\n }\r\n\r\n async function GetModel(customerId) {\r\n return await fetch(`${window.$apiurl}/suppliers/${customerId}`, {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n return ChangeId(res[1]);\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n\r\n async function GetModelId(id) {\r\n return await fetch(`${window.$apiurl}/suppliers/${id}/details`, {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n res[1].id = res[1].Id || 0;\r\n return res[1];\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n\r\n async function PostModel(someData) {\r\n return fetch(window.$apiurl + \"/suppliers\", {\r\n method: \"post\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(someData),\r\n })\r\n .then(async (response) => {\r\n return await response;\r\n })\r\n .then((res) => {\r\n return StatusMessage(res);\r\n })\r\n .catch((err) => {\r\n return StatusMessage(err);\r\n });\r\n }\r\n\r\n async function PutModel(someData, id) {\r\n let modelData = someData[\"customer\"];\r\n return fetch(window.$apiurl + \"/suppliers/\" + id, {\r\n method: \"put\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(modelData),\r\n })\r\n .then(async (response) => {\r\n return await response;\r\n })\r\n .then((res) => {\r\n return StatusMessage(res);\r\n })\r\n .catch((err) => {\r\n return StatusMessage(err);\r\n });\r\n }\r\n\r\n async function DeleteModel(id) {\r\n return await fetch(window.$apiurl + \"/suppliers/\" + id, {\r\n method: \"delete\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n return response;\r\n })\r\n .then((res) => {\r\n return StatusMessage(res);\r\n })\r\n .catch((err) => {\r\n return StatusMessage(err);\r\n });\r\n }\r\n\r\n async function GetCountries() {\r\n return await fetch(window.$apiurl + \"/countries\", {\r\n method: \"get\",\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then((res) => res.json())\r\n .then((res) => {\r\n return res;\r\n })\r\n .catch((err) => {\r\n return false;\r\n });\r\n }\r\n\r\n async function GetStates(iso) {\r\n return await fetch(window.$apiurl + \"/states/\" + iso, {\r\n method: \"get\",\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then((res) => res.json())\r\n .then((res) => {\r\n return res;\r\n })\r\n .catch((err) => {\r\n return false;\r\n });\r\n }\r\n\r\n async function GetRetailers(id) {\r\n return await fetch(window.$apiurl + \"/suppliers/getviewmodel/\" + id, {\r\n method: \"get\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then((res) => res.json())\r\n .then((res) => {\r\n return res;\r\n })\r\n .catch((err) => {\r\n return false;\r\n });\r\n }\r\n // Mock ---------------------------------------------------------------------------------\r\n mock.onGet(\"api/ManageSuppliers/GetCountries\").reply(async () => {\r\n const obj = await GetCountries();\r\n return [200, obj];\r\n });\r\n\r\n mock.onPost(\"api/ManageSuppliers/GetStates\").reply(async (iso) => {\r\n const isoValue = JSON.parse(iso.data)?.iso;\r\n const obj = await GetStates(isoValue);\r\n return [200, obj];\r\n });\r\n\r\n mock.onPost(\"api/ManageSuppliers/GetRetailers\").reply(async (id) => {\r\n const isoValue = JSON.parse(id.data)?.id;\r\n const obj = await GetRetailers(isoValue);\r\n return [200, obj];\r\n });\r\n\r\n mock.onPost(\"api/ManageSuppliers\").reply(async ({ data }) => {\r\n const { customer } = JSON.parse(data);\r\n const {\r\n Id = 0,\r\n Name = undefined,\r\n Code = undefined,\r\n CompanyName = undefined,\r\n Address1 = undefined,\r\n Address2 = undefined,\r\n City = undefined,\r\n State = undefined,\r\n Country = undefined,\r\n ZipCode = undefined,\r\n RetailerId = undefined,\r\n DepartmentId = undefined,\r\n Phone = undefined,\r\n Email = undefined,\r\n ContactId = undefined,\r\n CustomerId = undefined,\r\n IsActive = false,\r\n IsQuickLookup = false,\r\n } = customer;\r\n\r\n const newCustomer = {\r\n Id,\r\n Name,\r\n Code,\r\n CompanyName,\r\n Address1,\r\n Address2,\r\n City,\r\n State,\r\n Country,\r\n ZipCode,\r\n RetailerId,\r\n DepartmentId,\r\n Phone,\r\n Email,\r\n ContactId,\r\n CustomerId,\r\n IsActive,\r\n IsQuickLookup,\r\n };\r\n await PostModel(newCustomer);\r\n document.getElementById(\"ReLoadTableId\").click();\r\n customerTableMock.push(newCustomer);\r\n return [200, { customer: newCustomer }];\r\n });\r\n\r\n mock.onPost(\"api/ManageSuppliers/find\").reply(async (config) => {\r\n const mockUtils = new MockUtils();\r\n const { queryParams } = JSON.parse(config.data);\r\n const filter = queryParams.filter;\r\n if (filter.CustomerId !== 0 && filter.ParsersId !== 0) {\r\n customerTableMock = await GetModel(filter.CustomerId);\r\n delete queryParams.filter.CustomerId;\r\n delete queryParams.filter.ReLoadTable;\r\n }\r\n const filterdCustomers = mockUtils.baseFilter(\r\n customerTableMock,\r\n queryParams\r\n );\r\n return [200, filterdCustomers];\r\n });\r\n\r\n mock.onPost(\"api/ManageSuppliers/deleteCustomers\").reply(async (config) => {\r\n const { ids } = JSON.parse(config.data);\r\n ids.forEach((id) => {\r\n const index = customerTableMock.findIndex((el) => el.id === id);\r\n if (index > -1) {\r\n customerTableMock.splice(index, 1);\r\n }\r\n });\r\n return [200];\r\n });\r\n\r\n mock\r\n .onPost(\"api/ManageSuppliers/updateStatusForCustomers\")\r\n .reply(async (config) => {\r\n const { ids, status } = JSON.parse(config.data);\r\n customerTableMock.forEach((el) => {\r\n if (ids.findIndex((id) => id === el.id) > -1) {\r\n el.status = status;\r\n }\r\n });\r\n return [200];\r\n });\r\n\r\n mock.onGet(/api\\/ManageSuppliers\\/\\d+/).reply(async (config) => {\r\n const id = config.url.match(/api\\/ManageSuppliers\\/(\\d+)/)[1];\r\n const customer = await GetModelId(id);\r\n if (!customer) {\r\n return [400];\r\n }\r\n return [200, customer];\r\n });\r\n\r\n mock.onPut(/api\\/ManageSuppliers\\/\\d+/).reply(async (config) => {\r\n const id = config.url.match(/api\\/ManageSuppliers\\/(\\d+)/)[1];\r\n const Putcustomer = JSON.parse(config.data);\r\n const { customer } = Putcustomer;\r\n var putObj = await PutModel(Putcustomer, id);\r\n if (!putObj) {\r\n return [400];\r\n }\r\n const index = customerTableMock.findIndex((el) => el.id === +id);\r\n if (index === -1) {\r\n return [400];\r\n }\r\n customerTableMock[index] = { ...customer };\r\n return [200];\r\n });\r\n\r\n mock.onDelete(/api\\/ManageSuppliers\\/\\d+/).reply(async (config) => {\r\n const id = config.url.match(/api\\/ManageSuppliers\\/(\\d+)/)[1];\r\n const index = customerTableMock.findIndex((el) => el.id === +id);\r\n if (index === -1) {\r\n return [400];\r\n }\r\n var deleteObj = await DeleteModel(id);\r\n if (!deleteObj) {\r\n return [400];\r\n }\r\n customerTableMock.splice(index, 1);\r\n return [200];\r\n });\r\n}\r\n\r\nfunction ChangeId(list) {\r\n for (var item in list) {\r\n list[item].id = list[item].Id;\r\n delete list[item].Id;\r\n }\r\n return list;\r\n}\r\n","import moment from \"moment\";\r\nexport default class MockUtils {\r\n /**\r\n * Filtration with sorting\r\n * First do Sort then filter\r\n *\r\n * @param _entities: any[]\r\n * @param _queryParams: QueryParamsModel\r\n * @param _filtrationFields: string[]\r\n */\r\n baseFilter(_entities, _queryParams, _filtrationFields = []) {\r\n // Filtration\r\n // let entitiesResult = this.searchInArray(\r\n // _entities,\r\n // _queryParams.filter,\r\n // _filtrationFields\r\n // );\r\n\r\n // // Sorting\r\n // // start\r\n // if (_queryParams.sortField) {\r\n // entitiesResult = this.sortArray(\r\n // entitiesResult,\r\n // _queryParams.sortField,\r\n // _queryParams.sortOrder\r\n // );\r\n // }\r\n // end\r\n\r\n // Paginator\r\n // start\r\n const pageNumber = _queryParams.pageNumber - 1;\r\n const totalCount = _queryParams.TotalItems;\r\n const initialPos = pageNumber * _queryParams.pageSize;\r\n // entitiesResult = entitiesResult.slice(\r\n // initialPos,\r\n // initialPos + _queryParams.pageSize\r\n // );\r\n // end\r\n\r\n const queryResults = {\r\n entities: _entities,\r\n totalCount: totalCount,\r\n errorMessage: \"\",\r\n };\r\n return queryResults;\r\n }\r\n\r\n /**\r\n * Sort array by field name and order-type\r\n * @param _incomingArray: any[]\r\n * @param _sortField: string\r\n * @param _sortOrder: string\r\n */\r\n sortArray(_incomingArray, _sortField = \"\", _sortOrder = \"asc\") {\r\n if (!_sortField) {\r\n return _incomingArray;\r\n }\r\n var hasdate = false;\r\n var bar = new Promise((resolve, reject) => {\r\n _incomingArray.forEach((value, index, array) => {\r\n if (\r\n moment(\r\n value[_sortField] !== null\r\n ? String(value[_sortField]).slice(0, 10)\r\n : \"\",\r\n \"YYYY-MM-DD\",\r\n true\r\n ).isValid()\r\n ) {\r\n hasdate = true;\r\n }\r\n if (index === _incomingArray.length - 1) {\r\n resolve();\r\n }\r\n });\r\n });\r\n let result = [];\r\n result = _incomingArray.sort((a, b) => {\r\n if (hasdate) {\r\n if (new Date(a[_sortField]) < new Date(b[_sortField])) {\r\n return _sortOrder === \"asc\" ? -1 : 1;\r\n }\r\n\r\n if (new Date(a[_sortField]) > new Date(b[_sortField])) {\r\n return _sortOrder === \"asc\" ? 1 : -1;\r\n }\r\n return 0;\r\n } else {\r\n if (a[_sortField] < b[_sortField]) {\r\n return _sortOrder === \"asc\" ? -1 : 1;\r\n }\r\n\r\n if (a[_sortField] > b[_sortField]) {\r\n return _sortOrder === \"asc\" ? 1 : -1;\r\n }\r\n return 0;\r\n }\r\n });\r\n return result;\r\n }\r\n\r\n /**\r\n * Filter array by some fields\r\n *\r\n * @param _incomingArray: any[]\r\n * @param _queryObj: any\r\n * @param _filtrationFields: string[]\r\n */\r\n searchInArray(_incomingArray, _queryObj, _filtrationFields = []) {\r\n const result = [];\r\n let resultBuffer = [];\r\n const indexes = [];\r\n let firstIndexes = [];\r\n let doSearch = false;\r\n\r\n _filtrationFields.forEach((item) => {\r\n if (item in _queryObj) {\r\n _incomingArray.forEach((element, index) => {\r\n if (element[item] === _queryObj[item]) {\r\n firstIndexes.push(index);\r\n }\r\n });\r\n firstIndexes.forEach((element) => {\r\n resultBuffer.push(_incomingArray[element]);\r\n });\r\n _incomingArray = resultBuffer.slice(0);\r\n resultBuffer = [].slice(0);\r\n firstIndexes = [].slice(0);\r\n }\r\n });\r\n\r\n _incomingArray.forEach((element, index) => {\r\n var check = true;\r\n Object.keys(_queryObj).forEach((key) => {\r\n const searchText = _queryObj[key]\r\n .toString()\r\n .trim()\r\n .toLowerCase();\r\n if (key && !_filtrationFields.some((e) => e === key) && searchText) {\r\n doSearch = true;\r\n try {\r\n if (element[key] == false) element[key] = \"false\";\r\n if (element[key] || (element[key] === 0 && searchText === \"0\")) {\r\n const _val = element[key]\r\n .toString()\r\n .trim()\r\n .toLowerCase();\r\n if (\r\n _val.indexOf(searchText) <= -1 ||\r\n indexes.indexOf(index) !== -1\r\n ) {\r\n check = false;\r\n }\r\n }\r\n } catch (ex) {\r\n console.log(ex, key, searchText);\r\n }\r\n }\r\n });\r\n if (check) {\r\n indexes.push(index);\r\n }\r\n });\r\n\r\n if (!doSearch) {\r\n return _incomingArray;\r\n }\r\n\r\n indexes.forEach((re) => {\r\n result.push(_incomingArray[re]);\r\n });\r\n\r\n return result;\r\n }\r\n}\r\n","import MockUtils from \"../mock.utils3\";\r\nimport { Notification } from \"../../../../modules/Notification\";\r\nimport low from \"lowdb\";\r\nimport LocalStorage from \"lowdb/adapters/LocalStorage\";\r\nconst adapter = new LocalStorage(\"db\");\r\nconst db = low(adapter);\r\n\r\nexport default function mockFindOrdersTransload(mock) {\r\n let carTableMock;\r\n function StatusMessage(res) {\r\n var status = res.status;\r\n var statusText = res.statusText;\r\n if (status === 200) {\r\n Notification(\"success\", \"success\");\r\n return true;\r\n } else if (status === 400) {\r\n Notification(\"error\", statusText);\r\n return false;\r\n }\r\n }\r\n\r\n async function GetModels(queryParams) {\r\n var _queryParams = { ...queryParams };\r\n var filter = _queryParams.filter;\r\n const linq = `${window.$apiurl}/transload/orders?customerId=${filter.customerId}&warehouseId=${filter.warehouseId}&isCancelled=${filter.isCancelled}&orderId=${filter.id}&pageNumber=${_queryParams.pageNumber}&pageSize=${_queryParams.pageSize}&sortField=${_queryParams.sortField}&sortOrder=${_queryParams.sortOrder}&search=${filter.searchText}`;\r\n window.linqExportFindOrder = `${window.$apiurl}/transload/orders?customerId=${filter.customerId}&warehouseId=${filter.warehouseId}&isCancelled=${filter.isCancelled}&orderId=${filter.id}&pageNumber=${_queryParams.pageNumber}&pageSize=1000000&sortField=${_queryParams.sortField}&sortOrder=${_queryParams.sortOrder}&search=${filter.searchText}`;\r\n return await fetch(linq, {\r\n method: \"get\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n if (statusCode === 401) {\r\n try {\r\n document.getElementById(\"401Link\").click();\r\n } catch (err) {\r\n console.log(err);\r\n }\r\n }\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n queryParams.TotalItems = res[1]?.Pagination?.TotalItemCount || 0;\r\n return ChangeId(res[1].Result || []);\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n async function GetBillOfLanding(id) {\r\n return await fetch(window.$apiurl + \"/ShipmentBilling/BOL/\" + id, {\r\n method: \"get\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n return res[1];\r\n })\r\n .catch((error) => {\r\n console.log(\"err\");\r\n });\r\n }\r\n async function GetModel(id) {\r\n return await fetch(\r\n `${window.$apiurl}/transload/orders/receipts?orderId=${id}`,\r\n {\r\n method: \"get\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n }\r\n )\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n return res[1];\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n\r\n async function PostModel(someData) {\r\n window.$OrderNewId = undefined;\r\n\r\n return fetch(window.$apiurl + \"/transload/orders\", {\r\n method: \"post\",\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(someData),\r\n })\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n if (statusCode === 200) Notification(\"success\", \"success\");\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n if (res[0] === 400) Notification(\"error\", res[1].Message);\r\n window.$OrderNewId = res[1]?.Id;\r\n return StatusMessage(res);\r\n })\r\n .catch((err) => {\r\n return StatusMessage(err);\r\n });\r\n }\r\n\r\n async function PutModel(someData, id) {\r\n return fetch(window.$apiurl + \"/transload/orders/\" + id, {\r\n method: \"put\",\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(someData),\r\n })\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n if (statusCode === 200) {\r\n Notification(\"success\", \"success\");\r\n }\r\n const data = statusCode !== 200 ? await response.json() : \"\";\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n if (res[0] === 400) Notification(\"error\", res[1].Message);\r\n return res[0] === 200;\r\n })\r\n .catch((err) => {\r\n return StatusMessage(err);\r\n });\r\n }\r\n\r\n async function DeleteModel(id) {\r\n return fetch(window.$apiurl + \"/TransloadOrders/Cancel/\" + id, {\r\n method: \"Put\",\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n return await response;\r\n })\r\n .then((res) => {\r\n return StatusMessage(res);\r\n })\r\n .catch((err) => {\r\n return StatusMessage(err);\r\n });\r\n }\r\n\r\n async function GetViewmodel() {\r\n return await fetch(window.$apiurl + \"/transload/orders/getviewmodel\", {\r\n method: \"get\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n return res[1];\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n\r\n //---------------------------------------------------------------------------------------\r\n mock.onGet(\"api/FindOrdersTransload/GetAllApi\").reply(async () => {\r\n const obj = await GetViewmodel();\r\n return [200, obj];\r\n });\r\n\r\n mock\r\n .onGet(/api\\/FindOrdersTransload\\/PrintBlForm\\/\\d+/)\r\n .reply(async (config) => {\r\n const id = config.url.match(\r\n /api\\/FindOrdersTransload\\/PrintBlForm\\/(\\d+)/\r\n )[1];\r\n const obj = await GetBillOfLanding(id);\r\n if (!obj) {\r\n return [400];\r\n }\r\n return [200, obj];\r\n });\r\n\r\n mock.onPost(\"api/FindOrdersTransload\").reply(async ({ data }) => {\r\n const { product } = JSON.parse(data);\r\n const {\r\n CustomerId,\r\n MasterBill,\r\n ConsigneeId,\r\n ModeId,\r\n ServiceId,\r\n ServiceLevelId,\r\n ShipperId,\r\n VesselVoyageId,\r\n WarehouseId,\r\n } = product;\r\n\r\n const id = 0;\r\n const newProduct = {\r\n id,\r\n CustomerId,\r\n MasterBill,\r\n ConsigneeId,\r\n ModeId,\r\n ServiceId,\r\n ServiceLevelId,\r\n ShipperId,\r\n VesselVoyageId,\r\n WarehouseId,\r\n };\r\n await PostModel(product);\r\n carTableMock.push(newProduct);\r\n return [200, { product: newProduct }];\r\n });\r\n\r\n mock.onPost(\"api/FindOrdersTransload/find\").reply(async (config) => {\r\n const mockUtils = new MockUtils();\r\n const { queryParams } = JSON.parse(config.data);\r\n carTableMock = await GetModels(queryParams);\r\n const filterdCustomers = mockUtils.baseFilter(carTableMock, queryParams);\r\n if (filterdCustomers?.totalCount === 0)\r\n Notification(\"error\", \"Data Not Found\");\r\n return [200, filterdCustomers];\r\n });\r\n\r\n mock.onPost(\"api/FindOrdersTransload/filter\").reply(async (config) => {\r\n const mockUtils = new MockUtils();\r\n const { queryParams } = JSON.parse(config.data);\r\n carTableMock = await GetModels(queryParams);\r\n const filterdCustomers = mockUtils.baseFilter(carTableMock, queryParams);\r\n return [200, filterdCustomers];\r\n });\r\n\r\n mock.onPost(\"api/FindOrdersTransload/deleteProducts\").reply((config) => {\r\n const { ids } = JSON.parse(config.data);\r\n ids.forEach((id) => {\r\n const index = carTableMock.findIndex((el) => el.id === id);\r\n if (index > -1) {\r\n carTableMock.splice(index, 1);\r\n }\r\n });\r\n return [200];\r\n });\r\n\r\n mock\r\n .onPost(\"api/FindOrdersTransload/updateStatusForProducts\")\r\n .reply((config) => {\r\n const { ids, status } = JSON.parse(config.data);\r\n carTableMock.forEach((el) => {\r\n if (ids.findIndex((id) => id === el.id) > -1) {\r\n el.status = status;\r\n }\r\n });\r\n return [200];\r\n });\r\n\r\n mock.onGet(/api\\/FindOrdersTransload\\/\\d+/).reply(async (config) => {\r\n const id = config.url.match(/api\\/FindOrdersTransload\\/(\\d+)/)[1];\r\n const product = await GetModel(id);\r\n product.id = product.Id;\r\n window.FindOrdersTransload = id;\r\n window.CustomerIdOrderTransl = product.CustomerId;\r\n if (!product) {\r\n return [400];\r\n }\r\n return [200, product];\r\n });\r\n\r\n mock.onPut(/api\\/FindOrdersTransload\\/\\d+/).reply(async (config) => {\r\n const id = config.url.match(/api\\/FindOrdersTransload\\/(\\d+)/)[1];\r\n const { product } = JSON.parse(config.data);\r\n var putObj = await PutModel(product, id);\r\n\r\n if (!putObj) {\r\n return [400];\r\n }\r\n\r\n const index = carTableMock.findIndex((el) => el?.id === +id);\r\n\r\n if (!index) {\r\n return [400];\r\n }\r\n carTableMock[index] = { ...product };\r\n return [200];\r\n });\r\n\r\n mock.onDelete(/api\\/FindOrdersTransload\\/\\d+/).reply(async (config) => {\r\n const id = config.url.match(/api\\/FindOrdersTransload\\/(\\d+)/)[1];\r\n var deleteMasterCarrier = await DeleteModel(id);\r\n if (!deleteMasterCarrier) return [400];\r\n const index = carTableMock.findIndex((el) => el.id === id);\r\n carTableMock.splice(index, 1);\r\n if (!index === -1) {\r\n return [400];\r\n }\r\n return [200];\r\n });\r\n}\r\n\r\nfunction ChangeId(list) {\r\n for (var item in list) {\r\n list[item].id = list[item].Id;\r\n list[item].id = list[item].Id;\r\n delete list[item].Id;\r\n }\r\n return list;\r\n}\r\n","import MockUtils from \"../mock.utils\";\r\nimport { Notification } from \"../../../../modules/Notification\";\r\nimport low from \"lowdb\";\r\nimport $ from \"jquery\";\r\nimport LocalStorage from \"lowdb/adapters/LocalStorage\";\r\nconst adapter = new LocalStorage(\"db\");\r\nconst db = low(adapter);\r\n\r\nlet remarkTableMock = [];\r\nexport default function mockContainers(mock) {\r\n function StatusMessage(res) {\r\n var status = res.status;\r\n var statusText = res.statusText;\r\n if (status === 200) {\r\n Notification(\"success\", \"success\");\r\n return true;\r\n } else if (status === 400) {\r\n Notification(\"error\", statusText);\r\n return false;\r\n }\r\n }\r\n\r\n async function GetModels(id) {\r\n return await fetch(\r\n `${window.$apiurl}/transload/orders/receipts?orderId=${id}`,\r\n {\r\n method: \"get\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n }\r\n )\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n window.$NewReceipts = res[1];\r\n return ChangeId(res[1][\"Receipts\"]);\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n\r\n async function DeleteModel(id) {\r\n return fetch(window.$apiurl + \"/transload/receipts/\" + id, {\r\n method: \"delete\",\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n return await response;\r\n })\r\n .then((res) => {\r\n return StatusMessage(res);\r\n })\r\n .catch((err) => {\r\n return StatusMessage(err);\r\n });\r\n }\r\n\r\n async function GetViewmodel() {\r\n return await fetch(window.$apiurl + \"/transload/receipts/getviewmodel\", {\r\n method: \"get\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n return res[1];\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n\r\n async function GetShipmentDetails() {\r\n return await fetch(\r\n window.$apiurl + \"/transload/shipment/details?orderId=\" + UrlId(),\r\n {\r\n method: \"get\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n }\r\n )\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n return res[1];\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n\r\n async function GetAssignToOutbound() {\r\n return await fetch(\r\n window.$apiurl + \"/transload/shipment/details?orderId=\" + UrlId(),\r\n {\r\n method: \"get\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n }\r\n )\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then(async (res) => {\r\n var id = window.FindOrderId;\r\n if (id) {\r\n var a = await GetFindOrder(id);\r\n if (a !== 400) res[1].ViewModel.FindOrder = a;\r\n else res[1].ViewModel.FindOrder = 400;\r\n }\r\n window.$AssigntoOutboundServices = res[1]?.Services;\r\n return res[1]?.ViewModel;\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n\r\n async function GetFindOrder(id) {\r\n return await fetch(\r\n window.$apiurl +\r\n \"/transload/shipment/receipts?\" +\r\n window.FindOrderSearch +\r\n id,\r\n {\r\n method: \"get\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n }\r\n )\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n if (res[0] === 400) return 400;\r\n res[1].Close = true;\r\n return res[1];\r\n })\r\n .catch((error) => {\r\n Notification(\"error\", \"Order Not Found\");\r\n console.error(error);\r\n });\r\n }\r\n\r\n async function GetOneMoveMaster(id) {\r\n return await fetch(window.$apiurl + \"/transload/shipment/\" + id, {\r\n method: \"get\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n window.AutoRating = res[1]?.AutoRating;\r\n window.ContainerIsHot = res[1]?.Shipment?.IsHot ?? false;\r\n\r\n res[1].Weight = res[1]?.Weight?.toFixed(2);\r\n res[1].Cube = res[1]?.Cube?.toFixed(2);\r\n\r\n res[1].Shipment.IsManager = res[1].IsManager;\r\n return res[1];\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n\r\n async function PostModel(someData) {\r\n return fetch(window.$apiurl + \"/transload/receipts\", {\r\n method: \"post\",\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(someData),\r\n })\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n window.$NewReceiptsID = res[1]?.Id;\r\n window.$NewReceipts = someData;\r\n return StatusMessage(res);\r\n })\r\n .catch((err) => {\r\n return StatusMessage(err);\r\n });\r\n }\r\n\r\n async function PostShipment(postdata) {\r\n const url =\r\n postdata?.Warehouse !== undefined\r\n ? \"/transload/AssignTowarehouse/shipItem\"\r\n : \"/transload/shipment/item\";\r\n\r\n return fetch(window.$apiurl + url, {\r\n method: \"post\",\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(postdata),\r\n })\r\n .then(async (response) => {\r\n return await response;\r\n })\r\n .then((res) => {\r\n if (!res.ok) throw res;\r\n Notification(\"success\", \"success\");\r\n })\r\n .catch((err) => {\r\n err.json().then((body) => {\r\n Notification(\"error\", body?.Message);\r\n });\r\n });\r\n }\r\n\r\n async function PostShipmentWareHouse(postdata) {\r\n return fetch(\r\n `${window.$apiurl}/transload/receipts/assigntowarehouse/${postdata.ReceiptItemId}?warehouseId=${postdata.ShipmentId}`,\r\n {\r\n method: \"get\",\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"Content-Type\": \"application/json\",\r\n },\r\n }\r\n )\r\n .then(async (response) => {\r\n return await response;\r\n })\r\n .then((res) => {\r\n return StatusMessage(res);\r\n })\r\n .catch((err) => {\r\n return StatusMessage(err);\r\n });\r\n }\r\n\r\n async function PostAllShipments(postdata) {\r\n return fetch(\r\n `${window.$apiurl}/transload/receipts/ship?receiptId=${postdata.RecvId}&shipmentId=${postdata.ShipmentId}`,\r\n {\r\n method: \"post\",\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"Content-Type\": \"application/json\",\r\n },\r\n }\r\n )\r\n .then(async (response) => {\r\n return await response;\r\n })\r\n .then((res) => {\r\n return StatusMessage(res);\r\n })\r\n .catch((err) => {\r\n return StatusMessage(err);\r\n });\r\n }\r\n\r\n async function PostMultipleShipments(postdata) {\r\n return fetch(`${window.$apiurl}/transload/receipt/shipitems`, {\r\n method: \"post\",\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(postdata),\r\n }).then(async (response) => {\r\n var msg = response.status !== 200 ? await response.json() : \"\";\r\n if (response.status !== 200) {\r\n Notification(\"error\", msg?.Message ?? \"\");\r\n return false;\r\n } else {\r\n Notification(\"success\", \"success\");\r\n return true;\r\n }\r\n });\r\n }\r\n\r\n async function PutShipment(puttdata) {\r\n return fetch(window.$apiurl + \"/transload/shipment/\" + puttdata.id, {\r\n method: \"put\",\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(puttdata),\r\n })\r\n .then(async (response) => {\r\n return await response;\r\n })\r\n .then((res) => {\r\n if (!res.ok) throw res;\r\n Notification(\"success\", \"success\");\r\n })\r\n .catch((err) => {\r\n err.json().then((body) => {\r\n Notification(\"error\", body?.Message);\r\n });\r\n });\r\n }\r\n\r\n async function DeleteShipment(Id, Warehouse) {\r\n return fetch(window.$apiurl + \"/TransloadWarehouse/DeleteShipItem/\" + Id, {\r\n method: \"delete\",\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n return await response;\r\n })\r\n .then((res) => {\r\n return StatusMessage(res);\r\n })\r\n .catch((err) => {\r\n return StatusMessage(err);\r\n });\r\n }\r\n\r\n async function DeleteWareHouseShipment(postdata) {\r\n return fetch(\r\n `${window.$apiurl}/transload/receipts/unassignfromwarehouse/${postdata.ReceiptItemId}?warehouseId=${postdata.ShipmentId}`,\r\n {\r\n method: \"post\",\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"Content-Type\": \"application/json\",\r\n },\r\n }\r\n )\r\n .then(async (response) => {\r\n return await response;\r\n })\r\n .then((res) => {\r\n return StatusMessage(res);\r\n })\r\n .catch((err) => {\r\n return StatusMessage(err);\r\n });\r\n }\r\n\r\n async function PutModel(someData, id) {\r\n return fetch(window.$apiurl + \"/transload/receipts/\" + id, {\r\n method: \"put\",\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(someData),\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n if (statusCode === 200) {\r\n Notification(\"success\", \"success\");\r\n return true;\r\n }\r\n const data = (await response.json()) || {};\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n if (res[0] === 400) {\r\n Notification(\"error\", `${res[1].Message}`);\r\n window.ContainerSaveClose = false;\r\n return false;\r\n }\r\n return true;\r\n })\r\n .catch((err) => {\r\n return StatusMessage(err);\r\n });\r\n }\r\n\r\n async function GetModel(id) {\r\n return await fetch(window.$apiurl + \"/transload/receipts/\" + id, {\r\n method: \"get\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n window.$Containers_AutoChares = {\r\n \"AR-PROCESS-ACCESSORY\": res[1]?.Accessory,\r\n \"AR-PROCESS-APPAREL\": res[1]?.Apparel,\r\n \"AR-PROCESS-EXCEPTIONS\": res[1]?.Exceptions,\r\n \"AR-PROCESS-FOOTWEAR\": res[1]?.FootWear,\r\n \"AR-PROCESS-STUDIO-PULL\": res[1]?.StudioPull,\r\n };\r\n window.$Containers_BaseData = res[1]?.ViewModel?.BaseData;\r\n window.$Containers_Services = res[1]?.Services;\r\n\r\n window.$reciept_LineItem = res[1]?.ViewModel?.LineItems;\r\n window.$Containers_Services2 = undefined;\r\n if (window.$ReceiptModeId) {\r\n if (res[1]?.Services || false) {\r\n res[1].Services.filter((obj) => {\r\n var a = obj?.Modes.find((x) => x?.Id === window.$ReceiptModeId);\r\n if (a) {\r\n window.$Containers_Services2 = a?.Status;\r\n }\r\n });\r\n }\r\n }\r\n var r = res[1]?.ViewModel?.Receipt;\r\n r.AutoRating = res[1]?.AutoRating;\r\n\r\n window.AutoRating = res[1]?.AutoRating;\r\n window.ContainerIsHot = r?.IsHot ?? false;\r\n\r\n r.IsManager = res[1]?.ViewModel?.IsManager || false;\r\n return r;\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n\r\n async function TabeShipment() {\r\n return fetch(window.$apiurl + \"/transload/shipment?orderId=\" + UrlId(), {\r\n method: \"post\",\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n return await response.json();\r\n })\r\n .then((res) => {\r\n return res[\"Id\"];\r\n })\r\n .catch((err) => {\r\n return StatusMessage(err);\r\n });\r\n }\r\n\r\n async function PutOneMoveMaster(data, id) {\r\n //data.LastShipDate = PostDateTimeZoneFormatter(data?.LastShipDate);\r\n\r\n return fetch(window.$apiurl + \"/shipment/\" + id, {\r\n method: \"put\",\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(data),\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n if (statusCode === 200) {\r\n Notification(\"success\", \"success\");\r\n } else if (statusCode === 400) {\r\n window.$OneMoveMasterSaveClose = false;\r\n const data = await response.json();\r\n Notification(\"error\", data?.Message);\r\n\r\n let modelState = data?.ModelState;\r\n if (modelState)\r\n Object.keys(modelState).forEach(function(k) {\r\n modelState[k].forEach((element) => {\r\n Notification(\"error\", element);\r\n });\r\n });\r\n }\r\n return statusCode;\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n //------------------------------------------------------------------------------------\r\n\r\n mock.onGet(\"api/FindOrderContainers/GetAllApi\").reply(async () => {\r\n const obj = await GetViewmodel();\r\n return [200, obj];\r\n });\r\n\r\n mock.onGet(\"api/FindOrderContainers/AssignToOutbound\").reply(async () => {\r\n const obj = await GetAssignToOutbound();\r\n return [200, obj];\r\n });\r\n\r\n mock.onPost(\"api/FindOrderContainers/OneMoveMaster\").reply(async (data) => {\r\n var id = JSON.parse(data.data).statSHipmentId;\r\n const obj = await GetOneMoveMaster(id);\r\n return [200, obj];\r\n });\r\n\r\n mock\r\n .onPost(\"api/FindOrderContainers/PutOneMoveMaster\")\r\n .reply(async (data) => {\r\n const json = JSON.parse(data.data);\r\n var data = json.values;\r\n var id = json.statSHipmentId;\r\n const obj = await PutOneMoveMaster(data, id);\r\n return [200, obj];\r\n });\r\n\r\n mock.onGet(\"api/FindOrderContainers/TabeShipment\").reply(async () => {\r\n const obj = await TabeShipment();\r\n return [200, obj];\r\n });\r\n\r\n mock.onGet(\"api/FindOrderContainers/shipmentDetails\").reply(async () => {\r\n const obj = await GetShipmentDetails();\r\n return [200, obj];\r\n });\r\n\r\n mock.onPost(\"api/FindOrderContainers/PostShipment\").reply(async (data) => {\r\n var postdata = JSON.parse(data.data).data;\r\n const obj = await PostShipment(postdata);\r\n return [200, obj];\r\n });\r\n\r\n mock\r\n .onPost(\"api/FindOrderContainers/PostShipmentWareHouse\")\r\n .reply(async (data) => {\r\n var postdata = JSON.parse(data.data).data;\r\n const obj = await PostShipmentWareHouse(postdata);\r\n return [200, obj];\r\n });\r\n\r\n mock\r\n .onPost(\"api/FindOrderContainers/PostAllShipments\")\r\n .reply(async (data) => {\r\n var postdata = JSON.parse(data.data).data;\r\n const obj = await PostAllShipments(postdata);\r\n return [200, obj];\r\n });\r\n\r\n mock\r\n .onPost(\"api/FindOrderContainers/PostMultipleShipments\")\r\n .reply(async (data) => {\r\n var postdata = JSON.parse(data.data).data;\r\n const obj = await PostMultipleShipments(postdata);\r\n return [200, obj];\r\n });\r\n\r\n mock.onPost(\"api/FindOrderContainers/PutShipment\").reply(async (data) => {\r\n var putdata = JSON.parse(data.data).data;\r\n const obj = await PutShipment(putdata);\r\n return [200, obj];\r\n });\r\n\r\n mock.onPost(\"api/FindOrderContainers/DeleteShipment\").reply(async (data) => {\r\n var { Id, Warehouse } = JSON.parse(data.data).data;\r\n const obj = await DeleteShipment(Id, Warehouse);\r\n return [200, obj];\r\n });\r\n\r\n mock\r\n .onPost(\"api/FindOrderContainers/DeleteWareHouseShipment\")\r\n .reply(async (data) => {\r\n var postData = JSON.parse(data.data).data;\r\n const obj = await DeleteWareHouseShipment(postData);\r\n return [200, obj];\r\n });\r\n\r\n mock.onPost(\"api/FindOrderContainers\").reply(async ({ data }) => {\r\n const { remark } = JSON.parse(data);\r\n console.log(41214);\r\n console.log(remark);\r\n const {\r\n id,\r\n OrderId,\r\n ServiceId,\r\n ModeId,\r\n ServiceLevelId,\r\n EquipmentTypeId,\r\n EquipmentSizeId,\r\n AccessorialAmount1,\r\n AccessorialAmount1Calculated,\r\n AccessorialAmount2,\r\n AccessorialAmount2Calculated,\r\n AccessorialAmount3,\r\n AccessorialAmount3Calculated,\r\n AccessorialDescription1,\r\n AccessorialDescription2,\r\n AccessorialDescription3,\r\n AvailableDate,\r\n BillingRate,\r\n BillingRateCalculated,\r\n CustomerId,\r\n CustomerRefNumber1,\r\n DepartmentId,\r\n DevanDate,\r\n DoReceivedDate,\r\n EquipmentNumber,\r\n Fsc,\r\n FscCalculated,\r\n InvoiceDate,\r\n InvoiceNumber,\r\n LastFreeDate,\r\n MasterBill,\r\n PickupLocationId,\r\n ReceivedDate,\r\n ReleaseNumber,\r\n SealNumber,\r\n StatusId,\r\n TotalCube1,\r\n TotalCube2,\r\n TotalCubeType1,\r\n TotalCubeType2,\r\n TotalWeight1,\r\n TotalWeight2,\r\n TotalWeightType1,\r\n TotalWeightType2,\r\n VendorCost,\r\n VendorId,\r\n VendorReference,\r\n WarehouseId,\r\n Notes,\r\n Charges,\r\n PayableCharges,\r\n } = remark;\r\n const newRemark = {\r\n id,\r\n OrderId,\r\n ServiceId,\r\n ModeId,\r\n ServiceLevelId,\r\n EquipmentSizeId,\r\n AccessorialAmount1,\r\n AccessorialAmount1Calculated,\r\n AccessorialAmount2,\r\n AccessorialAmount2Calculated,\r\n AccessorialAmount3,\r\n AccessorialAmount3Calculated,\r\n AccessorialDescription1,\r\n AccessorialDescription2,\r\n AccessorialDescription3,\r\n AvailableDate,\r\n BillingRate,\r\n BillingRateCalculated,\r\n CustomerId,\r\n CustomerRefNumber1,\r\n DepartmentId,\r\n DevanDate,\r\n DoReceivedDate,\r\n EquipmentNumber,\r\n EquipmentTypeId,\r\n Fsc,\r\n FscCalculated,\r\n InvoiceDate,\r\n InvoiceNumber,\r\n LastFreeDate,\r\n MasterBill,\r\n PickupLocationId,\r\n ReceivedDate,\r\n ReleaseNumber,\r\n SealNumber,\r\n StatusId,\r\n TotalCube1,\r\n TotalCube2,\r\n TotalCubeType1,\r\n TotalCubeType2,\r\n TotalWeight1,\r\n TotalWeight2,\r\n TotalWeightType1,\r\n TotalWeightType2,\r\n VendorCost,\r\n VendorId,\r\n VendorReference,\r\n WarehouseId,\r\n Notes,\r\n Charges,\r\n PayableCharges,\r\n };\r\n await PostModel(remark);\r\n remarkTableMock.push(newRemark);\r\n return [200, { remark: newRemark }];\r\n });\r\n\r\n mock.onPost(/api\\/FindOrderContainersfind\\/\\d+/).reply(async (config) => {\r\n const urls = config.url.split(\"/\");\r\n const id = urls[2];\r\n const mockUtils = new MockUtils();\r\n const { queryParams } = JSON.parse(config.data);\r\n const productRemarks = await GetModels(id);\r\n const filterdRemarks = mockUtils.baseFilter(productRemarks, queryParams);\r\n return [200, filterdRemarks];\r\n });\r\n\r\n mock.onPost(\"api/FindOrderContainers/deleteRemarks\").reply((config) => {\r\n const { ids } = JSON.parse(config.data);\r\n ids.forEach((id) => {\r\n const index = remarkTableMock.findIndex((el) => el.id === id);\r\n if (index > -1) {\r\n remarkTableMock.splice(index, 1);\r\n }\r\n });\r\n return [200];\r\n });\r\n\r\n mock.onGet(/api\\/FindOrderContainers\\/\\d+/).reply(async (config) => {\r\n const id = config.url.match(/api\\/FindOrderContainers\\/(\\d+)/)[1];\r\n const remark = await GetModel(id);\r\n $(\"#ContainerNumber\").text(remark.EquipmentNumber || \"Empty\");\r\n remark.id = remark.Id;\r\n window.ReceiptId = id;\r\n if (!remark) {\r\n return [400];\r\n }\r\n return [200, remark];\r\n });\r\n\r\n mock.onPut(/api\\/FindOrderContainers\\/\\d+/).reply(async (config) => {\r\n const id = config.url.match(/api\\/FindOrderContainers\\/(\\d+)/)[1];\r\n const { remark } = JSON.parse(config.data);\r\n var putObj = await PutModel(remark, id);\r\n if (!putObj) {\r\n return [200];\r\n }\r\n\r\n const index = remarkTableMock.findIndex((el) => el.id === +id);\r\n if (!index) {\r\n return [400];\r\n }\r\n remarkTableMock[index] = { ...remark };\r\n return [200];\r\n });\r\n\r\n mock.onDelete(/api\\/FindOrderContainers\\/\\d+/).reply(async (config) => {\r\n const id = config.url.match(/api\\/FindOrderContainers\\/(\\d+)/)[1];\r\n const index = remarkTableMock.findIndex((el) => el.id === +id);\r\n var deleteObj = await DeleteModel(id);\r\n if (!deleteObj) {\r\n return [400];\r\n }\r\n remarkTableMock.splice(index, 1);\r\n return [200];\r\n });\r\n}\r\n\r\nfunction ChangeId(list) {\r\n for (var item in list) {\r\n list[item].id = list[item].Id;\r\n delete list[item].Id;\r\n }\r\n return list;\r\n}\r\n\r\nfunction UrlId() {\r\n var urlstring = window.location.pathname;\r\n return urlstring.split(\"/\")[3];\r\n}\r\n","//import customerTableMock from \"./TransactionBillingShippingTableMock\";\r\nimport MockUtils from \"./mock.utils\";\r\nimport low from \"lowdb\";\r\nimport LocalStorage from \"lowdb/adapters/LocalStorage\";\r\nconst adapter = new LocalStorage(\"db\");\r\nconst db = low(adapter);\r\nlet customerTableMock = [];\r\nexport default function mockTransactionBillingShipping(mock) {\r\n //Status Message\r\n function StatusMessage(res) {\r\n var status = res.status;\r\n var statusText = res.Message;\r\n if (status === 200) {\r\n Notification(\"success\", \"success\");\r\n return true;\r\n } else if (status === 400) {\r\n Notification(\"error\", \"Error Occured\");\r\n return false;\r\n }\r\n }\r\n\r\n //Get Trans Billing Shipping\r\n async function GetTransBillingShipping() {\r\n return await fetch(\r\n window.$apiurl +\r\n \"/transactionbilling/\" +\r\n window.customerId +\r\n \"/\" +\r\n window.chargeTypeId +\r\n \"/\" +\r\n window.calculatorId,\r\n {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n }\r\n )\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n console.log(data);\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n return res[1];\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n //let history = useHistory();\r\n //Get List\r\n async function GetViewModel() {\r\n return await fetch(window.$apiurl + \"/transactionbilling/getviewmodel\", {\r\n method: \"get\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n return res[1];\r\n })\r\n .catch((error) => {\r\n return false;\r\n });\r\n }\r\n //Post Trans Billing Shipping\r\n async function PostBillingShipping(someData) {\r\n return fetch(window.$apiurl + \"/transactionbilling\", {\r\n method: \"post\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(someData),\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n return res[1];\r\n })\r\n .catch((error) => {\r\n //console.error(error);\r\n });\r\n }\r\n //Put Trans Billing Shipping\r\n async function PutBillingShipping(someData, id) {\r\n return fetch(window.$apiurl + \"/transactionbilling/\" + id, {\r\n method: \"put\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(someData),\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n window.$statusCodePut = statusCode;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n return res[1];\r\n })\r\n .catch((error) => {\r\n //console.error(error);\r\n });\r\n }\r\n //Delete Trans Billing\r\n async function DeleteTransBilling(id) {\r\n return await fetch(window.$apiurl + \"/transactionbilling/\" + id, {\r\n method: \"delete\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n return response;\r\n })\r\n .then((res) => {\r\n return StatusMessage(res);\r\n })\r\n .catch((err) => {\r\n return StatusMessage(err);\r\n });\r\n }\r\n //API on Get By Id\r\n //Get {id}\r\n async function GetTrtansactionSBillingShippingById(id) {\r\n return await fetch(window.$apiurl + \"/transactionbilling/\" + id, {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n }).then(async (response) => {\r\n const data = await response.json();\r\n return data;\r\n });\r\n }\r\n //mock on Get for Select\r\n mock.onGet(\"api/TransactionBillingShipping/GetAllApi\").reply(async () => {\r\n var listViewModel = {};\r\n listViewModel[\"viewModelLabels\"] = await GetViewModel();\r\n listViewModel[\"viewModelUnits\"] = await GetViewModel();\r\n return [200, listViewModel];\r\n });\r\n //Post Data\r\n mock.onPost(\"api/TransactionBillingShipping\").reply(async ({ data }) => {\r\n const { customer } = JSON.parse(data);\r\n const {\r\n CustomerId = window.customerId.toString(),\r\n ChargeTypeId = window.chargeTypeId.toString(),\r\n CalclatorId = window.calculatorId.toString(),\r\n Label = \"\",\r\n Unit = \"\",\r\n IsManual = false,\r\n Rate = \"\",\r\n Notes = \"\",\r\n ItemId = \"\",\r\n Description = \"\",\r\n ArAcct = \"\",\r\n GlAcctNumber = \"\",\r\n } = customer;\r\n\r\n const id = generateUserId();\r\n const newtransBillingSh = {\r\n CustomerId,\r\n ChargeTypeId,\r\n CalclatorId,\r\n Label,\r\n Unit,\r\n IsManual,\r\n Rate,\r\n Notes,\r\n ItemId,\r\n Description,\r\n ArAcct,\r\n GlAcctNumber,\r\n };\r\n var postTransBilling = await PostBillingShipping(newtransBillingSh);\r\n if (id !== -Infinity) {\r\n newtransBillingSh.Id = id;\r\n } else {\r\n newtransBillingSh.Id = postTransBilling.Id;\r\n }\r\n //Manage Data Result\r\n if (postTransBilling.Code === \"200\") {\r\n postTransBilling.id = postTransBilling.Id;\r\n customerTableMock.push(newtransBillingSh);\r\n window.$ManageBillingShippingPost = 200;\r\n window.$ManageBillingShippingPostMessage = postTransBilling.Message;\r\n document.getElementById(\"ReLoadTableId\").click();\r\n return [\r\n 200,\r\n {\r\n customer: newtransBillingSh,\r\n message: postTransBilling.Message,\r\n success: true,\r\n },\r\n ];\r\n } else {\r\n window.$ManageBillingShippingPost = 400;\r\n window.$ManageBillingShippingPostMessage = postTransBilling.Message;\r\n return [400, { message: postTransBilling.Message, success: false }];\r\n }\r\n });\r\n\r\n //mock on Find\r\n mock.onPost(\"api/TransactionBillingShipping/find\").reply(async (config) => {\r\n if (\r\n window.customerId === undefined ||\r\n window.chargeTypeId === undefined ||\r\n window.calculatorId === undefined\r\n )\r\n window.location.href = \"/billingWizard\";\r\n const mockUtils = new MockUtils();\r\n const { queryParams } = JSON.parse(config.data);\r\n customerTableMock = await GetTransBillingShipping();\r\n delete queryParams.filter.ReLoadTable;\r\n const filterdCustomers = mockUtils.baseFilter(\r\n customerTableMock,\r\n queryParams\r\n );\r\n return [200, filterdCustomers];\r\n });\r\n\r\n mock\r\n .onPost(\"api/TransactionBillingShipping/deleteCustomers\")\r\n .reply((config) => {\r\n const { ids } = JSON.parse(config.data);\r\n ids.forEach((id) => {\r\n const index = customerTableMock.findIndex((el) => el.id === id);\r\n if (index > -1) {\r\n customerTableMock.splice(index, 1);\r\n }\r\n });\r\n return [200];\r\n });\r\n\r\n mock\r\n .onPost(\"api/TransactionBillingShipping/updateStatusForCustomers\")\r\n .reply((config) => {\r\n const { ids, status } = JSON.parse(config.data);\r\n customerTableMock.forEach((el) => {\r\n if (ids.findIndex((id) => id === el.id) > -1) {\r\n el.status = status;\r\n }\r\n });\r\n return [200];\r\n });\r\n\r\n mock.onGet(/api\\/TransactionBillingShipping\\/\\d+/).reply(async (config) => {\r\n const id = config.url.match(/api\\/TransactionBillingShipping\\/(\\d+)/)[1];\r\n var resultById = await GetTrtansactionSBillingShippingById(id);\r\n if (!resultById) {\r\n return [400];\r\n }\r\n return [200, resultById];\r\n });\r\n\r\n mock.onPut(/api\\/TransactionBillingShipping\\/\\d+/).reply(async (config) => {\r\n const id = config.url.match(/api\\/TransactionBillingShipping\\/(\\d+)/)[1];\r\n const { customer } = JSON.parse(config.data);\r\n var putObj = await PutBillingShipping(customer, id);\r\n if (!putObj) {\r\n return false;\r\n }\r\n const index = customerTableMock.findIndex((el) => el.Id === +id);\r\n if (index === -1) {\r\n return [400];\r\n }\r\n //Manage Data Result\r\n if (window.$statusCodePut === 200) {\r\n window.$ManageTransactionBillingPut = 200;\r\n customerTableMock[index] = { ...customer };\r\n document.getElementById(\"ReLoadTableId\").click();\r\n return [200];\r\n } else {\r\n window.$ManageTransactionBillingPut = 400;\r\n window.$ManageTransactionBillingPutMessage = putObj.Message;\r\n return [400];\r\n }\r\n });\r\n\r\n mock\r\n .onDelete(/api\\/TransactionBillingShipping\\/\\d+/)\r\n .reply(async (config) => {\r\n const id = config.url.match(/api\\/TransactionBillingShipping\\/(\\d+)/)[1];\r\n const index = customerTableMock.findIndex((el) => el.id === +id);\r\n var deleteObj = await DeleteTransBilling(id);\r\n if (!deleteObj) {\r\n return [400];\r\n }\r\n customerTableMock.splice(index, 1);\r\n return [200];\r\n });\r\n}\r\n\r\nfunction generateUserId() {\r\n const ids = customerTableMock.map((el) => el.Id);\r\n const maxId = Math.max(...ids);\r\n return maxId + 1;\r\n}\r\n","import low from \"lowdb\";\r\nimport LocalStorage from \"lowdb/adapters/LocalStorage\";\r\nconst adapter = new LocalStorage(\"db\");\r\nconst db = low(adapter);\r\n\r\nexport default async function mockTransactionBilling(mock) {\r\n async function GetTransactionBilling(Id) {\r\n return await fetch(\r\n `${window.$apiurl}/transactionbilling/getviewmodel/${Id}`,\r\n {\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"Content-Type\": \"application/json\",\r\n },\r\n }\r\n )\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n\r\n async function GetBillingRates(id) {\r\n return await fetch(window.$apiurl + \"/billingrates/\" + id, {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n return ChangeId(res[1]);\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n\r\n mock.onPost(\"api/transactionbilling/export\").reply(async ({ data }) => {\r\n const customerId = JSON.parse(data).data;\r\n const getManageLocations = await GetBillingRates(customerId);\r\n return [200, getManageLocations];\r\n });\r\n\r\n mock.onGet(/api\\/transactionbilling\\/\\d+/).reply(async (config) => {\r\n const id = config.url.match(/api\\/transactionbilling\\/(\\d+)/)[1];\r\n const obj = await GetTransactionBilling(id);\r\n if (!obj) {\r\n return [400];\r\n }\r\n return [200, obj];\r\n });\r\n\r\n function ChangeId(list) {\r\n for (var item in list) {\r\n list[item].id = list[item].Id;\r\n delete list[item].Id;\r\n }\r\n return list;\r\n }\r\n}\r\n","import carTableMock from \"./carTableMock\";\r\nimport MockUtils from \"./mock.utils\";\r\nimport low from \"lowdb\";\r\nimport LocalStorage from \"lowdb/adapters/LocalStorage\";\r\nimport { Notification } from \"../../Notification\";\r\nconst adapter = new LocalStorage(\"db\");\r\nconst db = low(adapter);\r\nfunction StatusMessage(res) {\r\n var status = res.status;\r\n console.log(\"status\",status);\r\n if (status === 200) {\r\n Notification(\"success\", \"success\");\r\n return [200];\r\n } else if (status === 400) {\r\n Notification(\"error\", \"Error Occured\");\r\n return [400];\r\n }\r\n}\r\nasync function PostLoadBoard(LoadData) {\r\n var myHeaders = new Headers();\r\n myHeaders.append(\"Authorization\", `Bearer ${db.read().getState().Token}`);\r\n myHeaders.append(\"Content-Type\", \"application/json\");\r\n var raw = JSON.stringify(LoadData);\r\n var requestOptions = {\r\n method: \"POST\",\r\n headers: myHeaders,\r\n body: raw,\r\n redirect: \"follow\",\r\n };\r\n\r\n return await fetch(`${window.$apiurl}/loadboard`, requestOptions)\r\n .then(async (response) => {\r\n return response;\r\n })\r\n .then((res) => {\r\n return StatusMessage(res);\r\n })\r\n .catch((err) => {\r\n return StatusMessage(err);\r\n });\r\n}\r\nasync function PutLoadBoard(LoadData, id) {\r\n var myHeaders = new Headers();\r\n myHeaders.append(\"Authorization\", `Bearer ${db.read().getState().Token}`);\r\n myHeaders.append(\"Content-Type\", \"application/json\");\r\n\r\n var raw = JSON.stringify(LoadData);\r\n\r\n var requestOptions = {\r\n method: \"PUT\",\r\n headers: myHeaders,\r\n body: raw,\r\n redirect: \"follow\",\r\n };\r\n\r\n return await fetch(`${window.$apiurl}/loadboard/${id}`, requestOptions)\r\n .then(async (response) => {\r\n return response;\r\n })\r\n .then((res) => {\r\n return StatusMessage(res);\r\n })\r\n .catch((err) => {\r\n return StatusMessage(err);\r\n });\r\n}\r\nasync function GetLoadBoartEdit(id) {\r\n var myHeaders = new Headers();\r\n myHeaders.append(\"Authorization\", `Bearer ${db.read().getState().Token}`);\r\n\r\n var requestOptions = {\r\n method: \"GET\",\r\n headers: myHeaders,\r\n redirect: \"follow\",\r\n };\r\n\r\n return await fetch(`${window.$apiurl}/loadboard/${id}`, requestOptions)\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n console.log(\"res\", res);\r\n return res[1];\r\n })\r\n .catch((error) => console.log(\"error\", error));\r\n}\r\n\r\nasync function DeleteLoadBoard(id) {\r\n var myHeaders = new Headers();\r\n myHeaders.append(\"Authorization\", `Bearer ${db.read().getState().Token}`);\r\n\r\n var requestOptions = {\r\n method: \"DELETE\",\r\n headers: myHeaders,\r\n redirect: \"follow\",\r\n };\r\n\r\n return await fetch(`${window.$apiurl}/loadboard/${id}`, requestOptions)\r\n .then(async (response) => {\r\n return response;\r\n })\r\n .then((res) => {\r\n return StatusMessage(res);\r\n })\r\n .catch((err) => {\r\n return StatusMessage(err);\r\n });\r\n}\r\nexport default function mockTMSLoadBoard(mock) {\r\n mock.onPost(\"api/TMSLoadBoard\").reply(async ({ data }) => {\r\n const { product } = JSON.parse(data);\r\n const {\r\n Name = \"\",\r\n IsPublic = false,\r\n Updators = [],\r\n Customers = [],\r\n Carriers = [],\r\n Modes = [],\r\n } = product;\r\n const newProduct = {\r\n Name,\r\n IsPublic,\r\n Updators,\r\n Customers,\r\n Carriers,\r\n Modes,\r\n };\r\n await PostLoadBoard(newProduct);\r\n carTableMock.push(newProduct);\r\n return [200, { product: newProduct }];\r\n });\r\n\r\n mock.onPost(\"api/TMSLoadBoard/find\").reply((config) => {\r\n const mockUtils = new MockUtils();\r\n const { queryParams } = JSON.parse(config.data);\r\n const filteredProducts = mockUtils.baseFilter(carTableMock, queryParams);\r\n return [200, filteredProducts];\r\n });\r\n\r\n mock.onPost(\"api/TMSLoadBoard/deleteProducts\").reply((config) => {\r\n const { ids } = JSON.parse(config.data);\r\n ids.forEach((id) => {\r\n const index = carTableMock.findIndex((el) => el.id === id);\r\n if (index > -1) {\r\n carTableMock.splice(index, 1);\r\n }\r\n });\r\n return [200];\r\n });\r\n\r\n mock.onPost(\"api/TMSLoadBoard/updateStatusForProducts\").reply((config) => {\r\n const { ids, status } = JSON.parse(config.data);\r\n carTableMock.forEach((el) => {\r\n if (ids.findIndex((id) => id === el.id) > -1) {\r\n el.status = status;\r\n }\r\n });\r\n return [200];\r\n });\r\n\r\n mock.onGet(/api\\/TMSLoadBoard\\/\\d+/).reply(async (config) => {\r\n const id = config.url.match(/api\\/TMSLoadBoard\\/(\\d+)/)[1];\r\n const product = await GetLoadBoartEdit(id);\r\n return [200, product];\r\n });\r\n\r\n mock.onPut(/api\\/TMSLoadBoard\\/\\d+/).reply(async (config) => {\r\n const id = config.url.match(/api\\/TMSLoadBoard\\/(\\d+)/)[1];\r\n const remark = JSON.parse(config.data);\r\n await PutLoadBoard(remark.product, id);\r\n return [200];\r\n });\r\n\r\n mock.onDelete(/api\\/TMSLoadBoard\\/\\d+/).reply(async (config) => {\r\n const id = config.url.match(/api\\/TMSLoadBoard\\/(\\d+)/)[1];\r\n await DeleteLoadBoard(id);\r\n window.$RefreshTMSLoadBoaed = true;\r\n return [200];\r\n });\r\n}\r\n","import MockUtils from \"./mock.utils\";\r\nimport { Notification } from \"../../../modules/Notification\";\r\nimport low from \"lowdb\";\r\nimport LocalStorage from \"lowdb/adapters/LocalStorage\";\r\nconst adapter = new LocalStorage(\"db\");\r\nconst db = low(adapter);\r\nlet customerTableMock;\r\nexport default function mockZoneBilling(mock) {\r\n //Status Message\r\n function StatusMessage(res) {\r\n var status = res.status;\r\n var statusText = res.Message;\r\n if (status === 200) {\r\n Notification(\"success\", \"success\");\r\n return true;\r\n } else if (status === 400) {\r\n Notification(\"error\", \"Error Occured\");\r\n return false;\r\n }\r\n }\r\n //API on Get By Id\r\n //Get {id}\r\n async function GetZoneBillingById(id) {\r\n return await fetch(window.$apiurl + \"/zonebilling/\" + id, {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n }).then(async (response) => {\r\n const data = await response.json();\r\n return data;\r\n });\r\n }\r\n //Put\r\n async function PutZoneBilling(someData, id) {\r\n return fetch(window.$apiurl + \"/zonebilling/\" + id, {\r\n method: \"put\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(someData),\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n window.$statusCodePut = statusCode;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n return res[1];\r\n })\r\n .catch((error) => {\r\n //console.error(error);\r\n });\r\n }\r\n\r\n //Post Zone Billing API Call\r\n async function PostZoneBilling(someData) {\r\n console.log(someData);\r\n return fetch(window.$apiurl + \"/zonebilling\", {\r\n method: \"post\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(someData),\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n console.log(data);\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n return res[1];\r\n })\r\n .catch((error) => {\r\n //console.error(error);\r\n });\r\n }\r\n //Get Customers List\r\n async function GetCustomers() {\r\n return await fetch(window.$apiurl + \"/Orders/GetCustomersForOptions\", {\r\n method: \"get\",\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then((res) => res.json())\r\n .then((res) => {\r\n return res;\r\n })\r\n .catch((err) => {\r\n return false;\r\n });\r\n }\r\n\r\n //Get Warhouses List\r\n async function GetWarhouses() {\r\n return await fetch(window.$apiurl + \"/Orders/GetWarehousesForOptions\", {\r\n method: \"get\",\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then((res) => res.json())\r\n .then((res) => {\r\n return res;\r\n })\r\n .catch((err) => {\r\n return false;\r\n });\r\n }\r\n\r\n //Get on Find Data\r\n async function GetZoneBilling(customerId, warehouseId) {\r\n return await fetch(\r\n window.$apiurl + \"/zonebilling/\" + customerId + \"/\" + warehouseId,\r\n {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n }\r\n )\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n return ChangeId(res[1]);\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n //Delete Zone Billing\r\n async function DeleteZoneBilling(id) {\r\n return await fetch(window.$apiurl + \"/zonebilling/\" + id, {\r\n method: \"delete\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n return response;\r\n })\r\n .then((res) => {\r\n return StatusMessage(res);\r\n })\r\n .catch((err) => {\r\n return StatusMessage(err);\r\n });\r\n }\r\n //Fill Select\r\n mock.onGet(\"api/ZoneBilling/GetAllApi\").reply(async () => {\r\n var customers = {};\r\n customers[\"customersList\"] = await GetCustomers();\r\n customers[\"warhousesList\"] = await GetWarhouses();\r\n return [200, customers];\r\n });\r\n\r\n mock.onPost(\"api/ZoneBilling\").reply(async ({ data }) => {\r\n const { customer } = JSON.parse(data);\r\n console.log(customer);\r\n const {\r\n CustomerId = undefined,\r\n WarehouseId = undefined,\r\n Carrier = \"\",\r\n ServiceLevel = \"\",\r\n ZoneName = \"\",\r\n Weight = undefined,\r\n Rate = undefined,\r\n } = customer;\r\n\r\n let id;\r\n try {\r\n id = generateUserId();\r\n } catch (error) {\r\n id = 0;\r\n }\r\n const newZoneBilling = {\r\n id,\r\n CustomerId,\r\n WarehouseId,\r\n Carrier,\r\n ServiceLevel,\r\n ZoneName,\r\n Weight,\r\n Rate,\r\n };\r\n var postZoneBilling = await PostZoneBilling(newZoneBilling);\r\n //Manage Data Result\r\n if (postZoneBilling.Code == \"200\") {\r\n postZoneBilling.id = postZoneBilling.Id;\r\n document.getElementById(\"ReLoadTableId\").click();\r\n customerTableMock.push(newZoneBilling);\r\n window.$ManageZoneBillingPost = 200;\r\n window.$ManageZoneBillingPostMessage = postZoneBilling.Message;\r\n return [\r\n 200,\r\n {\r\n customer: newZoneBilling,\r\n message: postZoneBilling.Message,\r\n success: true,\r\n },\r\n ];\r\n } else {\r\n window.$ManageZoneBillingPost = 400;\r\n window.$ManageZoneBillingPostMessage = postZoneBilling.Message;\r\n return [400, { message: postZoneBilling.Message, success: false }];\r\n }\r\n });\r\n\r\n async function ImportZoneBilling(someData) {\r\n return fetch(`${window.$apiurl}/zonebilling/Import`, {\r\n method: \"post\",\r\n headers: { \"Content-Type\": \"application/json\" },\r\n body: JSON.stringify(someData),\r\n })\r\n .then(async (response) => {\r\n console.log(response);\r\n const statusCode = response.status;\r\n let data = {};\r\n if (statusCode !== 200) data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n return res;\r\n })\r\n .catch((err) => {\r\n console.log(err);\r\n });\r\n }\r\n mock.onPost(\"api/ZoneBilling/find\").reply(async (config) => {\r\n const mockUtils = new MockUtils();\r\n const { queryParams } = JSON.parse(config.data);\r\n const filter = queryParams.filter;\r\n if (filter.CustomerId === undefined || filter.WarehouseId === undefined) {\r\n filter.CustomerId = 0;\r\n filter.WarehouseId = 0;\r\n }\r\n if (filter.CustomerId !== 0 && filter.WarehouseId !== 0) {\r\n customerTableMock = await GetZoneBilling(\r\n filter.CustomerId,\r\n filter.WarehouseId\r\n );\r\n delete queryParams.filter.CustomerId;\r\n delete queryParams.filter.WarehouseId;\r\n delete queryParams.filter.ReLoadTable;\r\n }\r\n const filteredZoneBilling = mockUtils.baseFilter(\r\n customerTableMock,\r\n queryParams\r\n );\r\n return [200, filteredZoneBilling];\r\n });\r\n\r\n mock.onPost(\"api/ZoneBilling/deleteZoneBilling\").reply((config) => {\r\n const { ids } = JSON.parse(config.data);\r\n ids.forEach((id) => {\r\n const index = customerTableMock.findIndex((el) => el.id === id);\r\n if (index > -1) {\r\n customerTableMock.splice(index, 1);\r\n }\r\n });\r\n return [200];\r\n });\r\n\r\n mock.onPost(\"api/ZoneBilling/updateStatusForZoneBilling\").reply((config) => {\r\n const { ids, status } = JSON.parse(config.data);\r\n customerTableMock.forEach((el) => {\r\n if (ids.findIndex((id) => id === el.id) > -1) {\r\n el.status = status;\r\n }\r\n });\r\n return [200];\r\n });\r\n\r\n //mock Import ZoneBilling\r\n mock.onPost(\"api/ZoneBilling/import\").reply(async ({ data }) => {\r\n console.log(\"data\");\r\n const zonebilling = JSON.parse(data);\r\n console.log(zonebilling);\r\n var result = await ImportZoneBilling(zonebilling);\r\n console.log(result);\r\n if (result === undefined || result[0] === 200)\r\n return [200, { success: true }];\r\n else {\r\n result[1].success = false;\r\n return [200, result[1]];\r\n }\r\n });\r\n mock.onGet(/api\\/ZoneBilling\\/\\d+/).reply(async (config) => {\r\n const id = config.url.match(/api\\/ZoneBilling\\/(\\d+)/)[1];\r\n var resultById = await GetZoneBillingById(id);\r\n if (!resultById) {\r\n return [400];\r\n }\r\n return [200, resultById];\r\n });\r\n\r\n mock.onPut(/api\\/ZoneBilling\\/\\d+/).reply(async (config) => {\r\n const id = config.url.match(/api\\/ZoneBilling\\/(\\d+)/)[1];\r\n const { customer } = JSON.parse(config.data);\r\n var putObj = await PutZoneBilling(customer, id);\r\n if (!putObj) {\r\n return false;\r\n }\r\n const index = customerTableMock.findIndex((el) => el.id === +id);\r\n if (index === -1) {\r\n return [400];\r\n }\r\n\r\n //Manage Data Result\r\n if (window.$statusCodePut === 200) {\r\n console.log(customer);\r\n window.$ManageZoneBillingPut = 200;\r\n customerTableMock[index] = { ...customer };\r\n return [200];\r\n } else {\r\n window.$ManageZoneBillingPut = 400;\r\n window.$ManageZoneBillingPutMessage = putObj.Message;\r\n return [400];\r\n }\r\n });\r\n\r\n mock.onDelete(/api\\/ZoneBilling\\/\\d+/).reply(async (config) => {\r\n const id = config.url.match(/api\\/ZoneBilling\\/(\\d+)/)[1];\r\n const index = customerTableMock.findIndex((el) => el.id === +id);\r\n var deleteObj = await DeleteZoneBilling(id);\r\n if (!deleteObj) {\r\n return [400];\r\n }\r\n customerTableMock.splice(index, 1);\r\n return [200];\r\n });\r\n}\r\n\r\nfunction generateUserId() {\r\n if (customerTableMock.length > 0 && customerTableMock === undefined) {\r\n const ids = customerTableMock.map((el) => el.id);\r\n const maxId = Math.max(...ids);\r\n return maxId + 1;\r\n } else {\r\n return 0;\r\n }\r\n}\r\n\r\nfunction ChangeId(list) {\r\n for (var item in list) {\r\n list[item].id = list[item].Id;\r\n delete list[item].Id;\r\n }\r\n return list;\r\n}\r\n","import MockUtils from \"./mock.utils\";\r\nlet customerTableMock;\r\nexport default function mockOrderReceiver(mock) {\r\n //Get View Model Call API\r\n async function GetViewModel() {\r\n return await fetch(window.$apiurl + \"/storagebilling/getviewmodel\", {\r\n method: \"get\",\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n return res[1];\r\n })\r\n .catch((error) => {\r\n Notification(\"error\", \"err\");\r\n });\r\n }\r\n //Get Warhouses List\r\n async function GetWarhouses() {\r\n return await fetch(window.$apiurl + \"/Orders/GetWarehousesForOptions\", {\r\n method: \"get\",\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then((res) => res.json())\r\n .then((res) => {\r\n return res;\r\n })\r\n .catch((err) => {\r\n Notification(\"error\", \"err\");\r\n return false;\r\n });\r\n }\r\n\r\n //Get on Find Data\r\n async function GetLocStorage(customerId, warehouseId) {\r\n return await fetch(\r\n window.$apiurl + \"/storageBilling/\" + customerId + \"/\" + warehouseId\r\n )\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n console.log(data);\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n return ChangeId(res[1]);\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n\r\n //Get Customers List\r\n async function GetCustomers() {\r\n return await fetch(window.$apiurl + \"/Orders/GetCustomersForOptions\", {\r\n method: \"get\",\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then((res) => res.json())\r\n .then((res) => {\r\n return res;\r\n })\r\n .catch((err) => {\r\n Notification(\"error\", \"err\");\r\n return false;\r\n });\r\n }\r\n //Fill Data with Get View Model\r\n mock.onGet(\"api/OrderReceiver/GetAllApi\").reply(async () => {\r\n var listViewModel = {};\r\n listViewModel[\"OrderReceiverOptions\"] = await GetViewModel();\r\n listViewModel[\"BillingPeriodOptions\"] = await GetViewModel();\r\n listViewModel[\"InventoryOptions\"] = await GetViewModel();\r\n listViewModel[\"Units\"] = await GetViewModel();\r\n\r\n //Customers & Warehouses\r\n listViewModel[\"customersList\"] = await GetCustomers();\r\n listViewModel[\"warhousesList\"] = await GetWarhouses();\r\n return [200, listViewModel];\r\n });\r\n\r\n mock.onPost(\"api/OrderReceiver\").reply(({ data }) => {\r\n const { Customer } = JSON.parse(data);\r\n const {\r\n unitofmeasure = \"\",\r\n splitperiodsthalf = \"\",\r\n splitperiodndhalf = \"\",\r\n freedays = \"\",\r\n rcvhandlingrate = \"\",\r\n shphandlingrate = \"\",\r\n } = Customer;\r\n\r\n const id = genercvhandlingrateUserId();\r\n const newCustomer = {\r\n id,\r\n unitofmeasure,\r\n splitperiodsthalf,\r\n splitperiodndhalf,\r\n freedays,\r\n rcvhandlingrate,\r\n shphandlingrate,\r\n };\r\n customerTableMock.push(newCustomer);\r\n return [200, { Customer: newCustomer }];\r\n });\r\n\r\n //mock on Find Data Table\r\n mock.onPost(\"api/OrderReceiver/fetchData\").reply(async ({ data }) => {\r\n const mockUtils = new MockUtils();\r\n const dataTable = JSON.parse(data);\r\n const { queryParams } = JSON.parse(data);\r\n\r\n if (\r\n dataTable.customerId === undefined ||\r\n dataTable.warehouseId === undefined\r\n ) {\r\n dataTable.customerId = 0;\r\n dataTable.warehouseId = 0;\r\n }\r\n if (dataTable.customerId !== 0 && dataTable.warehouseId !== 0) {\r\n var dataResult = await GetLocStorage(\r\n dataTable.customerId,\r\n dataTable.warehouseId\r\n );\r\n const {\r\n OrderReceivers = [],\r\n RecurringStorageGlAcct = \"\",\r\n MinStorageCharge = \"\",\r\n } = dataResult;\r\n const GetApiCall = {\r\n OrderReceivers,\r\n RecurringStorageGlAcct,\r\n MinStorageCharge,\r\n };\r\n dataResult.map((item, index) => {\r\n GetApiCall.OrderReceivers = item.OrderReceivers;\r\n GetApiCall.RecurringStorageGlAcct = item.RecurringStorageGlAcct;\r\n GetApiCall.MinStorageCharge = item.MinStorageCharge;\r\n });\r\n return [200, GetApiCall];\r\n }\r\n });\r\n\r\n mock.onPost(\"api/OrderReceiver/Find\").reply(async (config) => {\r\n const mockUtils = new MockUtils();\r\n const dataTable = JSON.parse(config.data);\r\n customerTableMock = dataTable.data.OrderReceivers;\r\n return [200, customerTableMock];\r\n });\r\n\r\n mock.onPost(\"api/OrderReceiver/deleteOrderReceiver\").reply((config) => {\r\n const { ids } = JSON.parse(config.data);\r\n ids.forEach((id) => {\r\n const index = customerTableMock.findIndex((el) => el.id === id);\r\n if (index > -1) {\r\n customerTableMock.splice(index, 1);\r\n }\r\n });\r\n return [200];\r\n });\r\n\r\n mock\r\n .onPost(\"api/OrderReceiver/updateStatusForOrderReceiver\")\r\n .reply((config) => {\r\n const { ids, status } = JSON.parse(config.data);\r\n customerTableMock.forEach((el) => {\r\n if (ids.findIndex((id) => id === el.id) > -1) {\r\n el.status = status;\r\n }\r\n });\r\n return [200];\r\n });\r\n\r\n mock.onGet(/api\\/OrderReceiver\\/\\d+/).reply((config) => {\r\n const id = config.url.match(/api\\/OrderReceiver\\/(\\d+)/)[1];\r\n const Customer = customerTableMock.find((el) => el.id === +id);\r\n if (!Customer) {\r\n return [400];\r\n }\r\n\r\n return [200, Customer];\r\n });\r\n\r\n mock.onPut(/api\\/OrderReceiver\\/\\d+/).reply((config) => {\r\n const id = config.url.match(/api\\/OrderReceiver\\/(\\d+)/)[1];\r\n const { Customer } = JSON.parse(config.data);\r\n const index = customerTableMock.findIndex((el) => el.id === +id);\r\n if (!index) {\r\n return [400];\r\n }\r\n\r\n customerTableMock[index] = { ...Customer };\r\n return [200];\r\n });\r\n\r\n mock.onDelete(/api\\/OrderReceiver\\/\\d+/).reply((config) => {\r\n const id = config.url.match(/api\\/OrderReceiver\\/(\\d+)/)[1];\r\n const index = customerTableMock.findIndex((el) => el.id === +id);\r\n customerTableMock.splice(index, 1);\r\n if (!index === -1) {\r\n return [400];\r\n }\r\n\r\n return [200];\r\n });\r\n}\r\n\r\nfunction genercvhandlingrateUserId() {\r\n const ids = customerTableMock.map((el) => el.id);\r\n const maxId = Math.max(...ids);\r\n return maxId + 1;\r\n}\r\n\r\nfunction ChangeId(list) {\r\n for (var item in list) {\r\n list[item].id = list[item].Id;\r\n delete list[item].Id;\r\n }\r\n return list;\r\n}\r\n","export default [\r\n {\r\n label:\"\",\r\n unit:\"\",\r\n rate: \"\",\r\n dfltqty: \"\",\r\n glacctnum: \"\",\r\n },\r\n];\r\n","import customerTableMock from \"./BillingManualTableMock\";\r\nimport MockUtils from \"./mock.utils\";\r\n\r\nexport default function mockBillingManual(mock) {\r\n mock.onPost(\"api/BillingManual\").reply(({ data }) => {\r\n const { customer } = JSON.parse(data);\r\n const {\r\n label = \"\",\r\n unit = \"\",\r\n rate= \"\",\r\n dfltqty =\"\",\r\n glacctnum=\"\",\r\n } = customer;\r\n\r\n const id = generateUserId();\r\n const newCustomer = {\r\n id,\r\n label,\r\n unit,\r\n rate,\r\n dfltqty,\r\n glacctnum,\r\n };\r\n customerTableMock.push(newCustomer);\r\n return [200, { customer: newCustomer }];\r\n });\r\n\r\n mock.onPost(\"api/BillingManual/find\").reply(config => {\r\n const mockUtils = new MockUtils();\r\n const { queryParams } = JSON.parse(config.data);\r\n const filterdCustomers = mockUtils.baseFilter(\r\n customerTableMock,\r\n queryParams\r\n );\r\n return [200, filterdCustomers];\r\n });\r\n\r\n mock.onPost(\"api/BillingManual/deleteCustomers\").reply(config => {\r\n const { ids } = JSON.parse(config.data);\r\n ids.forEach(id => {\r\n const index = customerTableMock.findIndex(el => el.id === id);\r\n if (index > -1) {\r\n customerTableMock.splice(index, 1);\r\n }\r\n });\r\n return [200];\r\n });\r\n\r\n mock.onPost(\"api/BillingManual/updateStatusForCustomers\").reply(config => {\r\n const { ids, status } = JSON.parse(config.data);\r\n customerTableMock.forEach(el => {\r\n if (ids.findIndex(id => id === el.id) > -1) {\r\n el.status = status;\r\n }\r\n });\r\n return [200];\r\n });\r\n\r\n mock.onGet(/api\\/BillingManual\\/\\d+/).reply(config => {\r\n const id = config.url.match(/api\\/customers\\/(\\d+)/)[1];\r\n const customer = customerTableMock.find(el => el.id === +id);\r\n if (!customer) {\r\n return [400];\r\n }\r\n\r\n return [200, customer];\r\n });\r\n\r\n mock.onPut(/api\\/BillingManual\\/\\d+/).reply(config => {\r\n const id = config.url.match(/api\\/customers\\/(\\d+)/)[1];\r\n const { customer } = JSON.parse(config.data);\r\n const index = customerTableMock.findIndex(el => el.id === +id);\r\n if (!index) {\r\n return [400];\r\n }\r\n\r\n customerTableMock[index] = { ...customer };\r\n return [200];\r\n });\r\n\r\n mock.onDelete(/api\\/BillingManual\\/\\d+/).reply(config => {\r\n const id = config.url.match(/api\\/customers\\/(\\d+)/)[1];\r\n const index = customerTableMock.findIndex(el => el.id === +id);\r\n customerTableMock.splice(index, 1);\r\n if (!index === -1) {\r\n return [400];\r\n }\r\n\r\n return [200];\r\n });\r\n}\r\n\r\nfunction generateUserId() {\r\n const ids = customerTableMock.map(el => el.id);\r\n const maxId = Math.max(...ids);\r\n return maxId + 1;\r\n}\r\n","import MockUtils from \"./mock.utils\";\r\nlet customerTableMock;\r\nexport default function mockLocStorageRates(mock) {\r\n mock.onPost(\"api/LocStorageRates\").reply(({ data }) => {\r\n const { customer } = JSON.parse(data);\r\n const {\r\n warehouse = \"\",\r\n locationbillingtype = \"\",\r\n rate= \"\",\r\n } = customer;\r\n\r\n const id = generateUserId();\r\n const newCustomer = {\r\n id,\r\n warehouse,\r\n locationbillingtype,\r\n rate,\r\n };\r\n customerTableMock.push(newCustomer);\r\n return [200, { customer: newCustomer }];\r\n });\r\n\r\n mock.onPost(\"api/LocStorageRates/find\").reply(async (config) => {\r\n alert('on find');\r\n const mockUtils = new MockUtils();\r\n const { queryParams } = JSON.parse(config.data);\r\n const filterdCustomers = mockUtils.baseFilter(\r\n customerTableMock,\r\n queryParams\r\n );\r\n return [200, filterdCustomers];\r\n });\r\n\r\n mock.onPost(\"api/LocStorageRates/deleteCustomers\").reply(config => {\r\n const { ids } = JSON.parse(config.data);\r\n ids.forEach(id => {\r\n const index = customerTableMock.findIndex(el => el.id === id);\r\n if (index > -1) {\r\n customerTableMock.splice(index, 1);\r\n }\r\n });\r\n return [200];\r\n });\r\n\r\n mock.onPost(\"api/LocStorageRates/updateStatusForCustomers\").reply(config => {\r\n const { ids, status } = JSON.parse(config.data);\r\n customerTableMock.forEach(el => {\r\n if (ids.findIndex(id => id === el.id) > -1) {\r\n el.status = status;\r\n }\r\n });\r\n return [200];\r\n });\r\n\r\n mock.onGet(/api\\/LocStorageRates\\/\\d+/).reply(config => {\r\n const id = config.url.match(/api\\/customers\\/(\\d+)/)[1];\r\n const customer = customerTableMock.find(el => el.id === +id);\r\n if (!customer) {\r\n return [400];\r\n }\r\n\r\n return [200, customer];\r\n });\r\n\r\n mock.onPut(/api\\/LocStorageRates\\/\\d+/).reply(config => {\r\n const id = config.url.match(/api\\/customers\\/(\\d+)/)[1];\r\n const { customer } = JSON.parse(config.data);\r\n const index = customerTableMock.findIndex(el => el.id === +id);\r\n if (!index) {\r\n return [400];\r\n }\r\n\r\n customerTableMock[index] = { ...customer };\r\n return [200];\r\n });\r\n\r\n mock.onDelete(/api\\/LocStorageRates\\/\\d+/).reply(config => {\r\n const id = config.url.match(/api\\/customers\\/(\\d+)/)[1];\r\n const index = customerTableMock.findIndex(el => el.id === +id);\r\n customerTableMock.splice(index, 1);\r\n if (!index === -1) {\r\n return [400];\r\n }\r\n\r\n return [200];\r\n });\r\n}\r\n\r\nfunction generateUserId() {\r\n const ids = customerTableMock.map(el => el.id);\r\n const maxId = Math.max(...ids);\r\n return maxId + 1;\r\n}","import MockUtils from \"./mock.utils\";\r\nimport { Notification } from \"../../../modules/Notification\";\r\nimport low from \"lowdb\";\r\nimport LocalStorage from \"lowdb/adapters/LocalStorage\";\r\nconst adapter = new LocalStorage(\"db\");\r\nconst db = low(adapter);\r\nlet remarkTableMock;\r\nexport default function mockReceiptItems(mock) {\r\n //Status Message\r\n function StatusMessage(res) {\r\n var status = res.status;\r\n var statusText = res.Message;\r\n if (status === 200) {\r\n Notification(\"success\", \"success\");\r\n return true;\r\n } else if (status === 400) {\r\n Notification(\"error\", \"Error Occured\");\r\n return false;\r\n }\r\n }\r\n //Post Receipt Line Item\r\n async function PostReceiptLineItem(id, someData) {\r\n return fetch(window.$apiurl + \"/receipts/Item/\" + id, {\r\n method: \"post\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(someData),\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n return res[1];\r\n })\r\n .catch((error) => {\r\n //console.error(error);\r\n });\r\n }\r\n //Get All Receipts Items\r\n async function GetReceiptItems(id) {\r\n return await fetch(window.$apiurl + \"/receipts/items/\" + id, {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n return ChangeId(res[1]);\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n\r\n //Delete Receipt Item\r\n async function DeleteReceiptItem(id) {\r\n return await fetch(window.$apiurl + \"/receipts/Item/\" + id, {\r\n method: \"delete\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n return response;\r\n })\r\n .then((res) => {\r\n return StatusMessage(res);\r\n })\r\n .catch((err) => {\r\n return StatusMessage(err);\r\n });\r\n }\r\n async function PutReceiptItem(someData, itemId) {\r\n return fetch(window.$apiurl + \"/receipts/Item/\" + itemId, {\r\n method: \"put\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(someData),\r\n })\r\n .then(async (response) => {\r\n return response;\r\n })\r\n .then((res) => {\r\n return StatusMessage(res);\r\n })\r\n .catch((err) => {\r\n return StatusMessage(err);\r\n });\r\n }\r\n async function GetReceiptLineItem(id) {\r\n return await fetch(window.$apiurl + \"/receipts/Item/\" + id, {\r\n method: \"get\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then((res) => res.json())\r\n .then((res) => {\r\n return res;\r\n })\r\n .catch((err) => {\r\n Notification(\"error\", \"err\");\r\n return false;\r\n });\r\n }\r\n mock.onPost(\"api/ReceiptItems\").reply(async ({ data }) => {\r\n const { remark } = JSON.parse(data);\r\n const {\r\n ItemId = 0,\r\n QualifierId = null,\r\n Quantity = 0,\r\n Weight = 0,\r\n OnHold = false,\r\n SupplierId = 0,\r\n ReasonForHold = \"\",\r\n ItemCustomFields = [],\r\n } = remark;\r\n const id = generateRemarkId();\r\n const newReceiptItem = {\r\n id,\r\n ItemId,\r\n QualifierId,\r\n Quantity,\r\n Weight,\r\n OnHold,\r\n SupplierId,\r\n ReasonForHold,\r\n ItemCustomFields,\r\n };\r\n var postReceiptLine = await PostReceiptLineItem(\r\n remark.ReceiptId,\r\n newReceiptItem\r\n );\r\n //Manage Data Result\r\n if (postReceiptLine.Id != undefined) {\r\n if (postReceiptLine.Message) {\r\n if (postReceiptLine.Code === \"200\") {\r\n Notification(\"success\", postReceiptLine.Message);\r\n } else {\r\n Notification(\"error\", postReceiptLine.Message);\r\n }\r\n } else {\r\n Notification(\r\n \"success\",\r\n \"Receipt Line Item has been added successfully\"\r\n );\r\n }\r\n postReceiptLine.id = postReceiptLine.Id;\r\n remarkTableMock.push(newReceiptItem);\r\n return [\r\n 200,\r\n {\r\n remark: newReceiptItem,\r\n message: postReceiptLine.Message,\r\n success: true,\r\n },\r\n ];\r\n } else {\r\n if (postReceiptLine.Message) {\r\n Notification(\"error\", postReceiptLine.Message);\r\n return [400, { message: postReceiptLine.Message, success: false }];\r\n } else {\r\n Notification(\"error\", \"Error occured\");\r\n return [400, { message: postReceiptLine.Message, success: false }];\r\n }\r\n }\r\n });\r\n\r\n //mock on Post\r\n mock.onPost(/api\\/ReceiptItemsfind\\/\\d+/).reply(async (config) => {\r\n const mockUtils = new MockUtils();\r\n const urls = config.url.split(\"/\");\r\n const id = urls[2];\r\n let totalWeight = 0;\r\n const { queryParams } = JSON.parse(config.data);\r\n remarkTableMock = await GetReceiptItems(id);\r\n for (var i = 0; i < remarkTableMock.length; i++) {\r\n totalWeight += remarkTableMock[i].Weight;\r\n }\r\n delete queryParams.filter.ReLoadTable;\r\n const filterdRemarks = mockUtils.baseFilter(remarkTableMock, queryParams);\r\n return [200, filterdRemarks];\r\n });\r\n\r\n mock.onPost(\"api/ReceiptItems/deleteReceipts\").reply((config) => {\r\n const { ids } = JSON.parse(config.data);\r\n ids.forEach((id) => {\r\n const index = remarkTableMock.findIndex((el) => el.id === id);\r\n if (index > -1) {\r\n remarkTableMock.splice(index, 1);\r\n }\r\n });\r\n return [200];\r\n });\r\n\r\n mock.onGet(/api\\/ReceiptItems\\/\\d+/).reply(async (config) => {\r\n const id = config.url.match(/api\\/ReceiptItems\\/(\\d+)/)[1];\r\n const remark = await GetReceiptLineItem(id);\r\n if (!remark) {\r\n return [400];\r\n }\r\n return [200, remark];\r\n });\r\n\r\n mock.onPut(/api\\/ReceiptItems\\/\\d+/).reply(async (config) => {\r\n const id = config.url.match(/api\\/ReceiptItems\\/(\\d+)/)[1];\r\n const { remark } = JSON.parse(config.data);\r\n var putReceiptItem = await PutReceiptItem(remark, id);\r\n const index = remarkTableMock.findIndex((el) => el.id === +id);\r\n if (!index) {\r\n return [400];\r\n }\r\n remarkTableMock[index] = { ...remark };\r\n document.getElementById(\"ReLoadTableId\").click();\r\n return [200];\r\n });\r\n\r\n mock.onDelete(/api\\/ReceiptItems\\/\\d+/).reply(async (config) => {\r\n const id = config.url.match(/api\\/ReceiptItems\\/(\\d+)/)[1];\r\n const index = remarkTableMock.findIndex((el) => el.Id === +id);\r\n var deleteObj = await DeleteReceiptItem(id);\r\n if (!deleteObj) {\r\n return [400];\r\n }\r\n remarkTableMock.splice(index, 1);\r\n return [200];\r\n });\r\n}\r\n\r\nfunction generateRemarkId() {\r\n const ids = remarkTableMock.map((el) => el.id);\r\n const maxId = Math.max(...ids);\r\n return maxId + 1;\r\n}\r\n\r\nfunction ChangeId(list) {\r\n for (var item in list) {\r\n list[item].id = list[item].Id;\r\n delete list[item].Id;\r\n }\r\n return list;\r\n}\r\n","import MockUtils from \"./mock.utils\";\r\nimport { Notification } from \"../../../modules/Notification\";\r\nimport low from \"lowdb\";\r\nimport LocalStorage from \"lowdb/adapters/LocalStorage\";\r\nconst adapter = new LocalStorage(\"db\");\r\nconst db = low(adapter);\r\n\r\nlet remarkTableMock;\r\nexport default function mockReceiptCustomFields(mock) {\r\n //Status Message\r\n function StatusMessage(res) {\r\n var status = res.status;\r\n var statusText = res.Message;\r\n if (status === 200) {\r\n Notification(\"success\", \"success\");\r\n return true;\r\n } else if (status === 400) {\r\n Notification(\"error\", \"Error Occured\");\r\n return false;\r\n }\r\n }\r\n //Get All Receipts Items\r\n async function GetReceiptCustomFields(id) {\r\n return await fetch(window.$apiurl + \"/receipts/customfields/\" + id, {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n console.log(data);\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n return ChangeId(res[1]);\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n //Post Trans Billing Shipping\r\n async function PostReceiptCustomField(id, someData) {\r\n return fetch(window.$apiurl + \"/receipts/customfield/\" + id, {\r\n method: \"post\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(someData),\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n return res[1];\r\n })\r\n .catch((error) => {\r\n //console.error(error);\r\n });\r\n }\r\n //Delete Receipt Item\r\n async function DeleteReceiptCustomField(id) {\r\n return await fetch(window.$apiurl + \"/receipts/customfield/\" + id, {\r\n method: \"delete\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n return response;\r\n })\r\n .then((res) => {\r\n return StatusMessage(res);\r\n })\r\n .catch((err) => {\r\n return StatusMessage(err);\r\n });\r\n }\r\n\r\n async function GetReceiptCustomField(ReceiptId) {\r\n return await fetch(window.$apiurl + \"/Receipts/CustomField/\" + ReceiptId, {\r\n method: \"get\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then((res) => res.json())\r\n .then((res) => {\r\n return res;\r\n })\r\n .catch((err) => {\r\n Notification(\"error\", \"err\");\r\n return false;\r\n });\r\n }\r\n async function PutReceiptCustomField(someData, itemId) {\r\n return fetch(window.$apiurl + \"/Receipts/CustomField/\" + itemId, {\r\n method: \"put\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(someData),\r\n })\r\n .then(async (response) => {\r\n return response;\r\n })\r\n .then((res) => {\r\n return StatusMessage(res);\r\n })\r\n .catch((err) => {\r\n return StatusMessage(err);\r\n });\r\n }\r\n //----------------------------------Mock--------------------------------------\r\n mock.onPost(\"api/ReceiptCustomFields\").reply(async ({ data }) => {\r\n const { remark } = JSON.parse(data);\r\n const { Name = \"\", Value = \"\" } = remark;\r\n const id = generateRemarkId();\r\n const newcustomField = {\r\n id,\r\n Name,\r\n Value,\r\n };\r\n var postCustomField = await PostReceiptCustomField(\r\n remark.ReceiptId,\r\n newcustomField\r\n );\r\n //Manage Data Result\r\n if (postCustomField.Id != undefined) {\r\n Notification(\"success\", \"Custom Receipt has been added successfully\");\r\n postCustomField.id = postCustomField.Id;\r\n remarkTableMock.push(newcustomField);\r\n return [\r\n 200,\r\n {\r\n remark: newcustomField,\r\n message: postCustomField.Message,\r\n success: true,\r\n },\r\n ];\r\n } else {\r\n if (postCustomField.Message) {\r\n Notification(\"error\", postCustomField.Message);\r\n return [400, { message: postCustomField.Message, success: false }];\r\n } else {\r\n Notification(\"error\", \"Error occured\");\r\n return [400, { message: postCustomField.Message, success: false }];\r\n }\r\n }\r\n });\r\n\r\n //mock on Post\r\n mock.onPost(/api\\/ReceiptCustomFieldsfind\\/\\d+/).reply(async (config) => {\r\n const mockUtils = new MockUtils();\r\n const urls = config.url.split(\"/\");\r\n const id = urls[2];\r\n const { queryParams } = JSON.parse(config.data);\r\n remarkTableMock = await GetReceiptCustomFields(id);\r\n delete queryParams.filter.ReLoadTableCustomId;\r\n const filterdRemarks = mockUtils.baseFilter(remarkTableMock, queryParams);\r\n return [200, filterdRemarks];\r\n });\r\n\r\n mock.onPost(\"api/ReceiptCustomFields/deleteReceipts\").reply((config) => {\r\n const { ids } = JSON.parse(config.data);\r\n ids.forEach((id) => {\r\n const index = remarkTableMock.findIndex((el) => el.id === id);\r\n if (index > -1) {\r\n remarkTableMock.splice(index, 1);\r\n }\r\n });\r\n return [200];\r\n });\r\n\r\n mock.onGet(/api\\/ReceiptCustomFields\\/\\d+/).reply(async (config) => {\r\n const id = config.url.match(/api\\/ReceiptCustomFields\\/(\\d+)/)[1];\r\n const remark = remarkTableMock.find((el) => el.id === +id);\r\n if (!remark) {\r\n return [400];\r\n }\r\n\r\n return [200, remark];\r\n });\r\n\r\n mock.onPut(/api\\/ReceiptCustomFields\\/\\d+/).reply(async (config) => {\r\n const id = config.url.match(/api\\/ReceiptCustomFields\\/(\\d+)/)[1];\r\n const { remark } = JSON.parse(config.data);\r\n var postOrder = await PutReceiptCustomField(remark, id);\r\n const index = remarkTableMock.findIndex((el) => el.id === +id);\r\n if (!index) {\r\n return [400];\r\n }\r\n remarkTableMock[index] = { ...remark };\r\n return [200];\r\n });\r\n\r\n mock.onDelete(/api\\/ReceiptCustomFields\\/\\d+/).reply(async (config) => {\r\n const id = config.url.match(/api\\/ReceiptCustomFields\\/(\\d+)/)[1];\r\n const index = remarkTableMock.findIndex((el) => el.id === +id);\r\n var deleteObj = await DeleteReceiptCustomField(id);\r\n if (!deleteObj) {\r\n return [400];\r\n }\r\n remarkTableMock.splice(index, 1);\r\n return [200];\r\n });\r\n}\r\n\r\nfunction generateRemarkId() {\r\n const ids = remarkTableMock.map((el) => el.id);\r\n const maxId = Math.max(...ids);\r\n return maxId + 1;\r\n}\r\n\r\nfunction ChangeId(list) {\r\n for (var item in list) {\r\n list[item].id = list[item].Id;\r\n delete list[item].Id;\r\n }\r\n return list;\r\n}\r\n","// import remarkTableMock from \"./remarkTableMock\";\r\nimport MockUtils from \"./mock.utils\";\r\nimport low from \"lowdb\";\r\nimport LocalStorage from \"lowdb/adapters/LocalStorage\";\r\nconst adapter = new LocalStorage(\"db\");\r\nconst db = low(adapter);\r\nlet remarkTableMock;\r\nexport default function mockRemarks(mock) {\r\n async function GetOrderLineItems(id) {\r\n return await fetch(window.$apiurl + \"/Orders/GetOrderLines/\" + id, {\r\n method: \"get\",\r\n withCredentials: true,\r\n\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n Accept: \"application/json, text/plain, */*\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n return ChangeId(res[1]);\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n async function GetSkuList() {\r\n return await fetch(window.$apiurl + \"/Orders/SkuList\", {\r\n method: \"get\",\r\n withCredentials: true,\r\n\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n Accept: \"application/json, text/plain, */*\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then((res) => res.json())\r\n .then((res) => {\r\n return res;\r\n })\r\n .catch((err) => {\r\n Notification(\"error\", \"err\");\r\n return false;\r\n });\r\n }\r\n\r\n async function PostOrder(id, someData) {\r\n console.log(JSON.stringify(someData));\r\n return fetch(window.$apiurl + \"/Orders/PostOrderLine/\" + id, {\r\n method: \"post\",\r\n withCredentials: true,\r\n\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n Accept: \"application/json, text/plain, */*\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(someData),\r\n })\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n return res[1];\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n\r\n async function GetOrderLine(orderId, Itemid) {\r\n return await fetch(\r\n window.$apiurl + \"/Orders/GetOrderLine/\" + orderId + \"/\" + Itemid,\r\n {\r\n method: \"get\",\r\n withCredentials: true,\r\n\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n Accept: \"application/json, text/plain, */*\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n }\r\n )\r\n .then((res) => res.json())\r\n .then((res) => {\r\n return res;\r\n })\r\n .catch((err) => {\r\n Notification(\"error\", \"err\");\r\n return false;\r\n });\r\n }\r\n async function PutOrderLine(someData, orderId, itemId) {\r\n // let userDate = someData[\"customer\"];\r\n // console.log(\"userDate\")\r\n // console.log(userDate);\r\n return fetch(\r\n window.$apiurl + \"/Orders/PutOrderLine/\" + orderId + \"/\" + itemId,\r\n {\r\n method: \"put\",\r\n withCredentials: true,\r\n\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n Accept: \"application/json, text/plain, */*\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(someData),\r\n }\r\n )\r\n .then(async (response) => {\r\n return await response;\r\n })\r\n .then((res) => {\r\n return StatusMessage(res);\r\n })\r\n .catch((err) => {\r\n return StatusMessage(err);\r\n });\r\n }\r\n\r\n async function DeleteOrder(orderId, itemId) {\r\n return await fetch(\r\n window.$apiurl + \"/Orders/DeleteOrderLine/\" + orderId + \"/\" + itemId,\r\n {\r\n method: \"delete\",\r\n withCredentials: true,\r\n\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n Accept: \"application/json, text/plain, */*\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n }\r\n )\r\n .then(async (response) => {\r\n return response;\r\n })\r\n .then((res) => {\r\n return StatusMessage(res);\r\n })\r\n .catch((err) => {\r\n return StatusMessage(err);\r\n });\r\n }\r\n //****************************Mock************************************* */\r\n function StatusMessage(res) {\r\n var status = res.status;\r\n var statusText = res.statusText;\r\n if (status === 200) {\r\n Notification(\"success\", \"success\");\r\n return true;\r\n } else if (status === 400) {\r\n Notification(\"error\", statusText);\r\n return false;\r\n }\r\n }\r\n mock.onGet(\"api/orderLineItems/GetAllApi\").reply(async () => {\r\n var customers = {};\r\n customers[\"skuList\"] = await GetSkuList();\r\n\r\n return [200, customers];\r\n });\r\n\r\n // mock.onGet(\"api/orderLineItems\").reply(async () => {\r\n // var customers = {}\r\n // alert(\"Sss\");\r\n\r\n // // customers[\"skuList\"] = await GetSkuList();\r\n // // customers[\"primaryUnitList\"] = await GetPrimaryUnitList();\r\n // return [200, customers];\r\n // });\r\n mock.onPost(\"api/orderLineItems\").reply(async ({ data }) => {\r\n const { remark } = JSON.parse(data);\r\n const { Id, Quantity = \"\", Weight = \"\", PrimaryUnit = \"\" } = remark;\r\n const id = generateRemarkId();\r\n const newRemark = {\r\n id,\r\n Id,\r\n Quantity,\r\n PrimaryUnit,\r\n Weight,\r\n };\r\n const OrderId = window.location.pathname.split(\"/\")[2];\r\n const respense = await PostOrder(OrderId, newRemark);\r\n remarkTableMock.push(newRemark);\r\n return [200, { remark: newRemark }];\r\n });\r\n\r\n mock.onPost(/api\\/orderLineItemsfind\\/\\d+/).reply(async (config) => {\r\n const mockUtils = new MockUtils();\r\n const urls = config.url.split(\"/\");\r\n const id = urls[2];\r\n const { queryParams } = JSON.parse(config.data);\r\n remarkTableMock = await GetOrderLineItems(id);\r\n\r\n const filterdRemarks = mockUtils.baseFilter(remarkTableMock, queryParams);\r\n return [200, filterdRemarks];\r\n });\r\n\r\n mock.onPost(\"api/orderLineItems/deleteorderLineItems\").reply((config) => {\r\n const { ids } = JSON.parse(config.data);\r\n ids.forEach((id) => {\r\n const index = remarkTableMock.findIndex((el) => el.id === id);\r\n if (index > -1) {\r\n remarkTableMock.splice(index, 1);\r\n }\r\n });\r\n return [200];\r\n });\r\n\r\n mock.onGet(/api\\/orderLineItems\\/\\d+/).reply(async (config) => {\r\n const id = config.url.match(/api\\/orderLineItems\\/(\\d+)/)[1];\r\n const OrderId = window.location.pathname.split(\"/\")[2];\r\n const remark = await GetOrderLine(OrderId, id);\r\n remark.id = id;\r\n if (!remark) {\r\n return [400];\r\n }\r\n return [200, remark];\r\n });\r\n\r\n mock.onPut(/api\\/orderLineItems\\/\\d+/).reply(async (config) => {\r\n const id = config.url.match(/api\\/orderLineItems\\/(\\d+)/)[1];\r\n const OrderId = window.location.pathname.split(\"/\")[2];\r\n const { remark } = JSON.parse(config.data);\r\n var postOrder = await PutOrderLine(remark, OrderId, id);\r\n const index = remarkTableMock.findIndex((el) => el.id === +id);\r\n if (!index) {\r\n return [400];\r\n }\r\n remarkTableMock[index] = { ...remark };\r\n return [200];\r\n });\r\n\r\n mock.onDelete(/api\\/orderLineItems\\/\\d+/).reply(async (config) => {\r\n const OrderId = window.location.pathname.split(\"/\")[2];\r\n const id = config.url.match(/api\\/orderLineItems\\/(\\d+)/)[1];\r\n const index = remarkTableMock.findIndex((el) => el.id === +id);\r\n if (!index === -1) {\r\n return [400];\r\n }\r\n var deleteUser = await DeleteOrder(OrderId, id);\r\n if (!deleteUser) return [400];\r\n remarkTableMock.splice(index, 1);\r\n return [200];\r\n });\r\n}\r\n\r\nfunction generateRemarkId() {\r\n const ids = remarkTableMock.map((el) => el.id);\r\n const maxId = Math.max(...ids);\r\n return maxId + 1;\r\n}\r\n\r\nfunction ChangeId(list) {\r\n for (var item in list) {\r\n list[item].id = list[item].Id;\r\n delete list[item].Id;\r\n }\r\n return list;\r\n}\r\n","import MockUtils from \"./mock.utils\";\r\nimport low from \"lowdb\";\r\nimport LocalStorage from \"lowdb/adapters/LocalStorage\";\r\nconst adapter = new LocalStorage(\"db\");\r\nconst db = low(adapter);\r\nlet specificationTableMock;\r\n\r\nexport default function mockOrdercharges(mock) {\r\n async function PostOrderCharges(id, someData) {\r\n return fetch(window.$apiurl + \"/Receipts/Charges/\" + id, {\r\n method: \"post\",\r\n withCredentials: true,\r\n\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n Accept: \"application/json, text/plain, */*\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(someData),\r\n })\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n return res[1];\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n async function GetOrderCharges(orderId) {\r\n return await fetch(\r\n window.$apiurl + \"/Receipts/Charges/\" + orderId + \"/\" + false,\r\n {\r\n method: \"get\",\r\n withCredentials: true,\r\n\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n Accept: \"application/json, text/plain, */*\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n }\r\n )\r\n .then((res) => res.json())\r\n .then((res) => {\r\n return ChangeId(res);\r\n })\r\n .catch((err) => {\r\n Notification(\"error\", \"err\");\r\n return false;\r\n });\r\n }\r\n async function GetOrderCharge(orderId) {\r\n return await fetch(window.$apiurl + \"/Receipts/Charges/Charge/\" + orderId, {\r\n method: \"get\",\r\n withCredentials: true,\r\n\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n Accept: \"application/json, text/plain, */*\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then((res) => res.json())\r\n .then((res) => {\r\n return res;\r\n })\r\n .catch((err) => {\r\n Notification(\"error\", \"err\");\r\n return false;\r\n });\r\n }\r\n async function PutOrderCharge(someData, itemId) {\r\n return fetch(window.$apiurl + \"/Receipts/Charges/\" + itemId, {\r\n method: \"put\",\r\n withCredentials: true,\r\n\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n Accept: \"application/json, text/plain, */*\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(someData),\r\n })\r\n .then(async (response) => {\r\n return await response;\r\n })\r\n .then((res) => {\r\n return StatusMessage(res);\r\n })\r\n .catch((err) => {\r\n return StatusMessage(err);\r\n });\r\n }\r\n\r\n async function DeleteOrderCharge(orderId, itemId) {\r\n return await fetch(window.$apiurl + \"/Receipts/Charges/\" + orderId, {\r\n method: \"delete\",\r\n withCredentials: true,\r\n\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n Accept: \"application/json, text/plain, */*\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n return response;\r\n })\r\n .then((res) => {\r\n return StatusMessage(res);\r\n })\r\n .catch((err) => {\r\n return StatusMessage(err);\r\n });\r\n }\r\n function StatusMessage(res) {\r\n var status = res.status;\r\n var statusText = res.statusText;\r\n if (status === 200) {\r\n Notification(\"success\", \"success\");\r\n return true;\r\n } else if (status === 400) {\r\n Notification(\"error\", statusText);\r\n return false;\r\n }\r\n }\r\n async function PostAutoCharge(postdata) {\r\n return fetch(\r\n window.$apiurl + \"/Receipts/AutoCharges/\" + postdata + \"/\" + false,\r\n {\r\n method: \"get\",\r\n withCredentials: true,\r\n\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n Accept: \"application/json, text/plain, */*\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n }\r\n )\r\n .then(async (response) => {\r\n return await response;\r\n })\r\n .then((res) => {\r\n return StatusMessage(res);\r\n })\r\n .catch((err) => {\r\n return StatusMessage(err);\r\n });\r\n }\r\n //-------------------------mock---------------------------\r\n mock.onPost(\"api/specificationsOrder\").reply(async ({ data }) => {\r\n const { specification } = JSON.parse(data);\r\n const {\r\n Id = 0,\r\n ChargeCategoryId,\r\n chargeLabel,\r\n TypeChargePerUnit,\r\n ChargePerUnit,\r\n NumberOfUnits,\r\n GeneralLedgerAccount,\r\n ExternalItemIdentifier,\r\n ExternalAccountReceivable,\r\n ExternalItemDescription,\r\n IsReceipt = false,\r\n } = specification;\r\n const id = generateSpecificationId();\r\n const newSpecification = {\r\n id,\r\n Id,\r\n ChargeCategoryId,\r\n chargeLabel,\r\n TypeChargePerUnit,\r\n ChargePerUnit,\r\n NumberOfUnits,\r\n GeneralLedgerAccount,\r\n ExternalItemIdentifier,\r\n ExternalAccountReceivable,\r\n ExternalItemDescription,\r\n IsReceipt,\r\n };\r\n const OrderId = window.location.pathname.split(\"/\")[2];\r\n const respense = await PostOrderCharges(OrderId, newSpecification);\r\n specificationTableMock.push(newSpecification);\r\n return [200, { specification: newSpecification }];\r\n });\r\n\r\n mock.onPost(/api\\/specificationsOrderfind\\/\\d+/).reply(async (config) => {\r\n const urls = config.url.split(\"/\");\r\n const id = urls[2];\r\n const mockUtils = new MockUtils();\r\n const { queryParams } = JSON.parse(config.data);\r\n const obj = await GetOrderCharges(id);\r\n specificationTableMock = obj;\r\n // const specifications = specificationTableMock.filter(\r\n // el => el.carId === +id\r\n // );\r\n const result = [];\r\n // specifications.forEach(el => result.push(wrapSpecification(el)));\r\n delete queryParams.filter.ReLoadTable;\r\n const filterdSpecifications = mockUtils.baseFilter(\r\n specificationTableMock,\r\n queryParams\r\n );\r\n\r\n return [200, filterdSpecifications];\r\n });\r\n\r\n mock\r\n .onPost(\"api/specificationsOrder/deleteSpecifications\")\r\n .reply((config) => {\r\n const { ids } = JSON.parse(config.data);\r\n ids.forEach((id) => {\r\n const index = specificationTableMock.findIndex((el) => el.id === id);\r\n if (index > -1) {\r\n specificationTableMock.splice(index, 1);\r\n }\r\n });\r\n return [200];\r\n });\r\n\r\n mock.onGet(/api\\/specificationsOrder\\/\\d+/).reply(async (config) => {\r\n const id = config.url.match(/api\\/specificationsOrder\\/(\\d+)/)[1];\r\n const remark = await GetOrderCharge(id);\r\n remark.Id = id;\r\n if (!remark) {\r\n return [400];\r\n }\r\n return [200, remark];\r\n });\r\n\r\n mock.onPut(/api\\/specificationsOrder\\/\\d+/).reply(async (config) => {\r\n const id = config.url.match(/api\\/specificationsOrder\\/(\\d+)/)[1];\r\n const { specification } = JSON.parse(config.data);\r\n specification.IsReceipt = false;\r\n var postOrder = await PutOrderCharge(specification, id);\r\n const index = specificationTableMock.findIndex((el) => el.id === +id);\r\n if (!index) {\r\n return [400];\r\n }\r\n\r\n specificationTableMock[index] = { ...specification };\r\n return [200];\r\n });\r\n\r\n mock.onDelete(/api\\/specificationsOrder\\/\\d+/).reply(async (config) => {\r\n const id = config.url.match(/api\\/specificationsOrder\\/(\\d+)/)[1];\r\n const index = specificationTableMock.findIndex((el) => el.id === +id);\r\n var deleteUser = await DeleteOrderCharge(id);\r\n\r\n specificationTableMock.splice(index, 1);\r\n if (!index === -1) {\r\n return [400];\r\n }\r\n\r\n return [200];\r\n });\r\n\r\n mock.onPost(\"api/specificationsOrder/PostAutoCharge\").reply(async (data) => {\r\n const OrderId = window.location.pathname.split(\"/\")[2];\r\n const obj = await PostAutoCharge(OrderId);\r\n document.getElementById(\"ReLoadTableId\").click();\r\n return [200, obj];\r\n });\r\n}\r\n\r\nfunction generateSpecificationId() {\r\n return 1;\r\n}\r\n\r\nfunction wrapSpecification(specification) {\r\n const newSpec = { ...specification };\r\n newSpec.name = getSpecNameById(newSpec.specId);\r\n return newSpec;\r\n}\r\n\r\nfunction getSpecNameById(specId) {\r\n const specs = [\r\n \"Seats\",\r\n \"Fuel Type\",\r\n \"Stock\",\r\n \"Door count\",\r\n \"Engine\",\r\n \"Transmission\",\r\n \"Drivetrain\",\r\n \"Combined MPG\",\r\n \"Warranty\",\r\n \"Wheels\",\r\n ];\r\n return specs[specId];\r\n}\r\n\r\nfunction ChangeId(list) {\r\n for (var item in list) {\r\n list[item].id = list[item].Id;\r\n delete list[item].Id;\r\n }\r\n return list;\r\n}\r\n","import MockUtils from \"./mock.utils\";\r\nimport low from \"lowdb\";\r\nimport LocalStorage from \"lowdb/adapters/LocalStorage\";\r\nconst adapter = new LocalStorage(\"db\");\r\nconst db = low(adapter);\r\nlet remarkTableMock;\r\nexport default function mockReceiptCustomFields(mock) {\r\n //Status Message\r\n function StatusMessage(res) {\r\n var status = res.status;\r\n var statusText = res.Message;\r\n if (status === 200) {\r\n Notification(\"success\", \"success\");\r\n return true;\r\n } else if (status === 400) {\r\n Notification(\"error\", \"Error Occured\");\r\n return false;\r\n }\r\n }\r\n //Get All Receipts Items\r\n async function GetOrderCustomFields(id) {\r\n return await fetch(window.$apiurl + \"/orders/CustomFields/\" + id, {\r\n method: \"get\",\r\n withCredentials: true,\r\n\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n Accept: \"application/json, text/plain, */*\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n console.log(data);\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n return ChangeId(res[1]);\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n //Post Trans Billing Shipping\r\n async function PostOrderCustomField(id, someData) {\r\n return fetch(window.$apiurl + \"/orders/CustomField/\" + id, {\r\n method: \"post\",\r\n withCredentials: true,\r\n\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n Accept: \"application/json, text/plain, */*\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(someData),\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n return ChangeId(res[1]);\r\n })\r\n .catch((error) => {\r\n //console.error(error);\r\n });\r\n }\r\n //Delete Receipt Item\r\n async function DeleteOrderCustomField(id) {\r\n return await fetch(window.$apiurl + \"/orders/CustomField/\" + id, {\r\n method: \"delete\",\r\n withCredentials: true,\r\n\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n Accept: \"application/json, text/plain, */*\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n return response;\r\n })\r\n .then((res) => {\r\n return StatusMessage(res);\r\n })\r\n .catch((err) => {\r\n return StatusMessage(err);\r\n });\r\n }\r\n\r\n async function GetOrderCustomField(ReceiptId) {\r\n return await fetch(window.$apiurl + \"/orders/CustomField/\" + ReceiptId, {\r\n method: \"get\",\r\n withCredentials: true,\r\n\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n Accept: \"application/json, text/plain, */*\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then((res) => res.json())\r\n .then((res) => {\r\n return res;\r\n })\r\n .catch((err) => {\r\n Notification(\"error\", \"err\");\r\n return false;\r\n });\r\n }\r\n async function PutOrderCustomField(someData, itemId) {\r\n return fetch(window.$apiurl + \"/orders/CustomField/\" + itemId, {\r\n method: \"put\",\r\n withCredentials: true,\r\n\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n Accept: \"application/json, text/plain, */*\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(someData),\r\n })\r\n .then(async (response) => {\r\n return await response;\r\n })\r\n .then((res) => {\r\n return StatusMessage(res);\r\n })\r\n .catch((err) => {\r\n return StatusMessage(err);\r\n });\r\n }\r\n //----------------------------------Mock--------------------------------------\r\n mock.onPost(\"api/OrderCustomFields\").reply(async ({ data }) => {\r\n const { remark } = JSON.parse(data);\r\n const { Name = \"\", Value = \"\" } = remark;\r\n const id = generateRemarkId();\r\n const newcustomField = {\r\n id,\r\n Name,\r\n Value,\r\n };\r\n var postCustomField = await PostOrderCustomField(\r\n remark.ReceiptId,\r\n newcustomField\r\n );\r\n if (postCustomField.Code == \"200\") {\r\n postCustomField.id = postCustomField.Id;\r\n remarkTableMock.push(newcustomField);\r\n window.$ManageCustomField = 200;\r\n window.$ManageCustomFieldMessage = postCustomField.Message;\r\n document.getElementById(\"ReLoadTableId\").click();\r\n return [\r\n 200,\r\n {\r\n remark: newcustomField,\r\n message: postCustomField.Message,\r\n success: true,\r\n },\r\n ];\r\n } else {\r\n window.$ManageCustomField = 400;\r\n window.$ManageCustomFieldMessage = postCustomField.Message;\r\n return [400, { remark: postCustomField.Message, success: false }];\r\n }\r\n });\r\n\r\n //mock on Post\r\n mock.onPost(/api\\/OrderCustomFieldsfind\\/\\d+/).reply(async (config) => {\r\n const mockUtils = new MockUtils();\r\n const urls = config.url.split(\"/\");\r\n const id = urls[2];\r\n const { queryParams } = JSON.parse(config.data);\r\n remarkTableMock = await GetOrderCustomFields(id);\r\n delete queryParams.filter.ReLoadTable;\r\n const filterdRemarks = mockUtils.baseFilter(remarkTableMock, queryParams);\r\n return [200, filterdRemarks];\r\n });\r\n\r\n mock.onPost(\"api/OrderCustomFields/deleteReceipts\").reply((config) => {\r\n const { ids } = JSON.parse(config.data);\r\n ids.forEach((id) => {\r\n const index = remarkTableMock.findIndex((el) => el.id === id);\r\n if (index > -1) {\r\n remarkTableMock.splice(index, 1);\r\n }\r\n });\r\n return [200];\r\n });\r\n\r\n mock.onGet(/api\\/OrderCustomFields\\/\\d+/).reply(async (config) => {\r\n const id = config.url.match(/api\\/OrderCustomFields\\/(\\d+)/)[1];\r\n const remark = await GetOrderCustomField(id);\r\n if (!remark) {\r\n return [400];\r\n }\r\n return [200, remark];\r\n });\r\n\r\n mock.onPut(/api\\/OrderCustomFields\\/\\d+/).reply(async (config) => {\r\n const id = config.url.match(/api\\/OrderCustomFields\\/(\\d+)/)[1];\r\n const { remark } = JSON.parse(config.data);\r\n var postOrder = await PutOrderCustomField(remark, id);\r\n const index = remarkTableMock.findIndex((el) => el.id === +id);\r\n if (!index) {\r\n return [400];\r\n }\r\n remarkTableMock[index] = { ...remark };\r\n return [200];\r\n });\r\n\r\n mock.onDelete(/api\\/OrderCustomFields\\/\\d+/).reply(async (config) => {\r\n const id = config.url.match(/api\\/OrderCustomFields\\/(\\d+)/)[1];\r\n const index = remarkTableMock.findIndex((el) => el.id === +id);\r\n var deleteObj = await DeleteOrderCustomField(id);\r\n if (!deleteObj) {\r\n return [400];\r\n }\r\n remarkTableMock.splice(index, 1);\r\n return [200];\r\n });\r\n}\r\n\r\nfunction generateRemarkId() {\r\n const ids = remarkTableMock.map((el) => el.id);\r\n const maxId = Math.max(...ids);\r\n return maxId + 1;\r\n}\r\n\r\nfunction ChangeId(list) {\r\n for (var item in list) {\r\n list[item].id = list[item].Id;\r\n delete list[item].Id;\r\n }\r\n return list;\r\n}\r\n","import MockUtils from \"./mock.utils\";\r\nimport low from \"lowdb\";\r\nimport LocalStorage from \"lowdb/adapters/LocalStorage\";\r\nconst adapter = new LocalStorage(\"db\");\r\nconst db = low(adapter);\r\nlet specificationTableMock;\r\nexport default function mockOrdercharges(mock) {\r\n async function PostOrderCharges(id, someData) {\r\n return fetch(window.$apiurl + \"/Receipts/Charges/\" + id, {\r\n method: \"post\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(someData),\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n return res[1];\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n async function GetOrderCharges(orderId) {\r\n return await fetch(\r\n window.$apiurl + \"/Receipts/Charges/\" + orderId + \"/\" + true,\r\n {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n }\r\n )\r\n .then((res) => res.json())\r\n .then((res) => {\r\n return ChangeId(res);\r\n })\r\n .catch((err) => {\r\n Notification(\"error\", \"err\");\r\n return false;\r\n });\r\n }\r\n async function GetOrderCharge(orderId) {\r\n return await fetch(window.$apiurl + \"/Receipts/Charges/Charge/\" + orderId, {\r\n method: \"get\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then((res) => res.json())\r\n .then((res) => {\r\n return res;\r\n })\r\n .catch((err) => {\r\n Notification(\"error\", \"err\");\r\n return false;\r\n });\r\n }\r\n async function PutOrderCharge(someData, itemId) {\r\n return fetch(window.$apiurl + \"/Receipts/Charges/\" + itemId, {\r\n method: \"put\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(someData),\r\n })\r\n .then(async (response) => {\r\n return response;\r\n })\r\n .then((res) => {\r\n return StatusMessage(res);\r\n })\r\n .catch((err) => {\r\n return StatusMessage(err);\r\n });\r\n }\r\n\r\n async function DeleteOrderCharge(orderId, itemId) {\r\n return await fetch(window.$apiurl + \"/Receipts/Charges/\" + orderId, {\r\n method: \"delete\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n return response;\r\n })\r\n .then((res) => {\r\n return StatusMessage(res);\r\n })\r\n .catch((err) => {\r\n return StatusMessage(err);\r\n });\r\n }\r\n function StatusMessage(res) {\r\n var status = res.status;\r\n var statusText = res.statusText;\r\n if (status === 200) {\r\n Notification(\"success\", \"success\");\r\n return true;\r\n } else if (status === 400) {\r\n Notification(\"error\", statusText);\r\n return false;\r\n }\r\n }\r\n async function PostAutoCharge(postdata) {\r\n return fetch(\r\n window.$apiurl + \"/Receipts/AutoCharges/\" + postdata + \"/\" + true,\r\n {\r\n method: \"get\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n }\r\n )\r\n .then(async (response) => {\r\n return response;\r\n })\r\n .then((res) => {\r\n return StatusMessage(res);\r\n })\r\n .catch((err) => {\r\n return StatusMessage(err);\r\n });\r\n }\r\n //-------------------------mock---------------------------\r\n mock\r\n .onPost(\"api/specificationsReceipt/PostAutoCharge\")\r\n .reply(async (data) => {\r\n const OrderId = window.location.pathname.split(\"/\")[2];\r\n // alert(OrderId);\r\n const obj = await PostAutoCharge(OrderId);\r\n document.getElementById(\"ReLoadTableId\").click();\r\n return [200, obj];\r\n });\r\n\r\n mock.onPost(\"api/specificationsReceipt\").reply(async ({ data }) => {\r\n const { specification } = JSON.parse(data);\r\n const {\r\n Id = 0,\r\n ChargeCategoryId,\r\n chargeLabel,\r\n TypeChargePerUnit,\r\n ChargePerUnit,\r\n NumberOfUnits,\r\n GeneralLedgerAccount,\r\n ExternalItemIdentifier,\r\n ExternalAccountReceivable,\r\n ExternalItemDescription,\r\n IsReceipt = true,\r\n } = specification;\r\n const id = generateSpecificationId();\r\n const newSpecification = {\r\n id,\r\n Id,\r\n ChargeCategoryId,\r\n chargeLabel,\r\n TypeChargePerUnit,\r\n ChargePerUnit,\r\n NumberOfUnits,\r\n GeneralLedgerAccount,\r\n ExternalItemIdentifier,\r\n ExternalAccountReceivable,\r\n ExternalItemDescription,\r\n IsReceipt,\r\n };\r\n const OrderId = window.location.pathname.split(\"/\")[2];\r\n const respense = await PostOrderCharges(OrderId, newSpecification);\r\n specificationTableMock.push(newSpecification);\r\n return [200, { specification: newSpecification }];\r\n });\r\n\r\n mock.onPost(/api\\/specificationsReceiptfind\\/\\d+/).reply(async (config) => {\r\n const urls = config.url.split(\"/\");\r\n const id = urls[2];\r\n const mockUtils = new MockUtils();\r\n const { queryParams } = JSON.parse(config.data);\r\n const obj = await GetOrderCharges(id);\r\n specificationTableMock = obj;\r\n // const specifications = specificationTableMock.filter(\r\n // el => el.carId === +id\r\n // );\r\n const result = [];\r\n // specifications.forEach(el => result.push(wrapSpecification(el)));\r\n const filterdSpecifications = mockUtils.baseFilter(\r\n specificationTableMock,\r\n queryParams\r\n );\r\n\r\n return [200, filterdSpecifications];\r\n });\r\n\r\n mock\r\n .onPost(\"api/specificationsReceipt/deleteSpecifications\")\r\n .reply((config) => {\r\n const { ids } = JSON.parse(config.data);\r\n ids.forEach((id) => {\r\n const index = specificationTableMock.findIndex((el) => el.id === id);\r\n if (index > -1) {\r\n specificationTableMock.splice(index, 1);\r\n }\r\n });\r\n return [200];\r\n });\r\n\r\n mock.onGet(/api\\/specificationsReceipt\\/\\d+/).reply(async (config) => {\r\n const id = config.url.match(/api\\/specificationsReceipt\\/(\\d+)/)[1];\r\n const remark = await GetOrderCharge(id);\r\n remark.Id = id;\r\n if (!remark) {\r\n return [400];\r\n }\r\n return [200, remark];\r\n });\r\n\r\n mock.onPut(/api\\/specificationsReceipt\\/\\d+/).reply(async (config) => {\r\n const id = config.url.match(/api\\/specificationsReceipt\\/(\\d+)/)[1];\r\n const { specification } = JSON.parse(config.data);\r\n specification.IsReceipt = true;\r\n var postOrder = await PutOrderCharge(specification, id);\r\n const index = specificationTableMock.findIndex((el) => el.id === +id);\r\n if (!index) {\r\n return [400];\r\n }\r\n\r\n specificationTableMock[index] = { ...specification };\r\n return [200];\r\n });\r\n\r\n mock.onDelete(/api\\/specificationsReceipt\\/\\d+/).reply(async (config) => {\r\n const id = config.url.match(/api\\/specificationsReceipt\\/(\\d+)/)[1];\r\n const index = specificationTableMock.findIndex((el) => el.id === +id);\r\n var deleteUser = await DeleteOrderCharge(id);\r\n\r\n specificationTableMock.splice(index, 1);\r\n if (!index === -1) {\r\n return [400];\r\n }\r\n\r\n return [200];\r\n });\r\n}\r\n\r\nfunction generateSpecificationId() {\r\n return 1;\r\n}\r\n\r\nfunction wrapSpecification(specification) {\r\n const newSpec = { ...specification };\r\n newSpec.name = getSpecNameById(newSpec.specId);\r\n return newSpec;\r\n}\r\n\r\nfunction getSpecNameById(specId) {\r\n const specs = [\r\n \"Seats\",\r\n \"Fuel Type\",\r\n \"Stock\",\r\n \"Door count\",\r\n \"Engine\",\r\n \"Transmission\",\r\n \"Drivetrain\",\r\n \"Combined MPG\",\r\n \"Warranty\",\r\n \"Wheels\",\r\n ];\r\n return specs[specId];\r\n}\r\n\r\nfunction ChangeId(list) {\r\n for (var item in list) {\r\n list[item].id = list[item].Id;\r\n delete list[item].Id;\r\n }\r\n return list;\r\n}\r\n","export default class MockUtils {\r\n /**\r\n * Filtration with sorting\r\n * First do Sort then filter\r\n *\r\n * @param _entities: any[]\r\n * @param _queryParams: QueryParamsModel\r\n * @param _filtrationFields: string[]\r\n */\r\n baseFilter(_entities, _queryParams, _filtrationFields = []) {\r\n // Filtration\r\n let entitiesResult = this.searchInArray(\r\n _entities,\r\n _queryParams.filter,\r\n _filtrationFields\r\n );\r\n\r\n // Sorting\r\n // start\r\n if (_queryParams.sortField) {\r\n entitiesResult = this.sortArray(\r\n entitiesResult,\r\n _queryParams.sortField,\r\n _queryParams.sortOrder\r\n );\r\n }\r\n // end\r\n\r\n // Paginator\r\n // start\r\n const pageNumber = _queryParams.pageNumber - 1;\r\n const totalCount = entitiesResult.length;\r\n const initialPos = pageNumber * _queryParams.pageSize;\r\n // entitiesResult = entitiesResult.slice(\r\n // initialPos,\r\n // initialPos + _queryParams.pageSize\r\n // );\r\n // end\r\n\r\n const queryResults = {\r\n entities: entitiesResult,\r\n totalCount: totalCount,\r\n errorMessage: \"\",\r\n };\r\n return queryResults;\r\n }\r\n\r\n /**\r\n * Sort array by field name and order-type\r\n * @param _incomingArray: any[]\r\n * @param _sortField: string\r\n * @param _sortOrder: string\r\n */\r\n sortArray(_incomingArray, _sortField = \"\", _sortOrder = \"asc\") {\r\n if (!_sortField) {\r\n return _incomingArray;\r\n }\r\n\r\n let result = [];\r\n result = _incomingArray.sort((a, b) => {\r\n if (a[_sortField] < b[_sortField]) {\r\n return _sortOrder === \"asc\" ? -1 : 1;\r\n }\r\n\r\n if (a[_sortField] > b[_sortField]) {\r\n return _sortOrder === \"asc\" ? 1 : -1;\r\n }\r\n\r\n return 0;\r\n });\r\n return result;\r\n }\r\n\r\n /**\r\n * Filter array by some fields\r\n *\r\n * @param _incomingArray: any[]\r\n * @param _queryObj: any\r\n * @param _filtrationFields: string[]\r\n */\r\n searchInArray(_incomingArray, _queryObj, _filtrationFields = []) {\r\n const result = [];\r\n let resultBuffer = [];\r\n const indexes = [];\r\n let firstIndexes = [];\r\n let doSearch = false;\r\n\r\n _filtrationFields.forEach((item) => {\r\n if (item in _queryObj) {\r\n _incomingArray.forEach((element, index) => {\r\n if (element[item] === _queryObj[item]) {\r\n firstIndexes.push(index);\r\n }\r\n });\r\n firstIndexes.forEach((element) => {\r\n resultBuffer.push(_incomingArray[element]);\r\n });\r\n _incomingArray = resultBuffer.slice(0);\r\n resultBuffer = [].slice(0);\r\n firstIndexes = [].slice(0);\r\n }\r\n });\r\n\r\n Object.keys(_queryObj).forEach((key) => {\r\n const searchText = _queryObj[key]\r\n .toString()\r\n .trim()\r\n .toLowerCase();\r\n if (key && !_filtrationFields.some((e) => e === key) && searchText) {\r\n doSearch = true;\r\n try {\r\n _incomingArray.forEach((element, index) => {\r\n if (element[key] == false) element[key] = \"false\";\r\n if (element[key] || (element[key] === 0 && searchText === \"0\")) {\r\n const _val = element[key]\r\n .toString()\r\n .trim()\r\n .toLowerCase();\r\n if (\r\n _val.indexOf(searchText) > -1 &&\r\n indexes.indexOf(index) === -1\r\n ) {\r\n indexes.push(index);\r\n }\r\n }\r\n });\r\n } catch (ex) {\r\n console.log(ex, key, searchText);\r\n }\r\n }\r\n });\r\n\r\n if (!doSearch) {\r\n return _incomingArray;\r\n }\r\n\r\n indexes.forEach((re) => {\r\n result.push(_incomingArray[re]);\r\n });\r\n\r\n return result;\r\n }\r\n}\r\n","import MockUtils from \"../mock.utilsDynamic\";\r\nimport { Notification } from \"../../../../modules/Notification\";\r\nimport low from \"lowdb\";\r\nimport $ from \"jquery\";\r\nimport LocalStorage from \"lowdb/adapters/LocalStorage\";\r\nconst adapter = new LocalStorage(\"db\");\r\nconst db = low(adapter);\r\n\r\nconst weight = 0.45359237;\r\nconst cube = 0.0283168;\r\n\r\nlet remarkTableMock = [];\r\n\r\nexport default function mockTransloadReceiving(mock) {\r\n function StatusMessage(res) {\r\n var status = res.status;\r\n var statusText = res.statusText;\r\n if (status === 200) {\r\n Notification(\"success\", \"success\");\r\n return true;\r\n } else if (status === 400) {\r\n Notification(\"error\", statusText);\r\n return false;\r\n }\r\n }\r\n\r\n async function GetModelsFirst(id) {\r\n return await fetch(`${window.$apiurl}/transload/receipts/${id}`, {\r\n method: \"get\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n let a = 0;\r\n let b = 0;\r\n res[1][\"LineItems\"].forEach((x) => {\r\n if (x.Cube) {\r\n if (x.WeightType === \"KGS\") a += x.Weight;\r\n if (x.WeightType === \"LBS\") a += x.Weight * weight;\r\n }\r\n if (x.Weight) {\r\n if (x.CubeType === \"CBM\") b += x.Cube;\r\n if (x.CubeType === \"CFT\") b += x.Cube * cube;\r\n }\r\n });\r\n window.Cube = a.toFixed(2);\r\n window.Weight = b.toFixed(2);\r\n window.Cube2 = (a * cube).toFixed(2);\r\n window.Weight2 = (b * weight).toFixed(2);\r\n return ChangeId(res[1][\"LineItems\"]);\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n\r\n async function GetModels(id) {\r\n return await fetch(`${window.$apiurl}/transload/receipts/${id}`, {\r\n method: \"get\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n let a = 0;\r\n let b = 0;\r\n let u = 0;\r\n let p = 0;\r\n window.$reciept_LineItem = res[1]?.ViewModel?.LineItems || [];\r\n let c = res[1]?.ViewModel?.LineItems || [];\r\n c.forEach((x) => {\r\n if (x.Weight) {\r\n if (x.WeightType === \"KGS\") a += x.Weight;\r\n if (x.WeightType === \"LBS\") a += x.Weight * weight;\r\n }\r\n if (x.Cube) {\r\n if (x.CubeType === \"CBM\") b += x.Cube;\r\n if (x.CubeType === \"CFT\") b += x.Cube * cube;\r\n }\r\n if (x.UnitCount)\r\n u += x.UnitCount + (x?.OverQuantity ?? 0) - (x?.ShortQuantity ?? 0);\r\n if (x.Pallets) p += x.Pallets;\r\n });\r\n window.$reciept_LineItemList = c;\r\n $(`[name=\"TotalCube1\"]`).val(b.toFixed(2) + \" CBM\");\r\n $(`[name=\"TotalWeight1\"]`).val(a.toFixed(2) + \" KGS\");\r\n $(`[name=\"TotalCube2\"]`).val((b * weight).toFixed(2));\r\n $(`[name=\"TotalWeight2\"]`).val((a * cube).toFixed(2));\r\n $(`[name=\"Cartons2\"]`).val(u.toFixed(2));\r\n $(`[name=\"Pallets\"]`).val(p);\r\n\r\n window.ARCartons = +u;\r\n window.ARTotalWeight1 = +a;\r\n window.ARTotalWeight2 = +(a * 2.20462);\r\n window.ARTotalCube1 = +b;\r\n return ChangeId(c);\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n\r\n async function GetViewmodel() {\r\n return await fetch(window.$apiurl + \"/transload/receipts/getviewmodel\", {\r\n method: \"get\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n return res[1];\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n\r\n async function PostModel(someData) {\r\n return fetch(window.$apiurl + \"/transload/receipts/lineitem\", {\r\n method: \"post\",\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(someData),\r\n })\r\n .then(async (response) => {\r\n return await response;\r\n })\r\n .then((res) => {\r\n if (!res.ok) throw res;\r\n Notification(\"success\", \"success\");\r\n })\r\n .catch((err) => {\r\n err.json().then((body) => {\r\n Notification(\"error\", body?.Message);\r\n });\r\n });\r\n }\r\n\r\n async function DeleteModel(id) {\r\n return fetch(window.$apiurl + \"/transload/receipts/lineitem/\" + id, {\r\n method: \"delete\",\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n return await response;\r\n })\r\n .then((res) => {\r\n return StatusMessage(res);\r\n })\r\n .catch((err) => {\r\n return StatusMessage(err);\r\n });\r\n }\r\n\r\n async function PutModel(someData, id) {\r\n return fetch(window.$apiurl + \"/transload/receipts/lineitem?id=\" + id, {\r\n method: \"put\",\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(someData),\r\n })\r\n .then(async (response) => {\r\n return await response;\r\n })\r\n .then((res) => {\r\n return StatusMessage(res);\r\n })\r\n .catch((err) => {\r\n return StatusMessage(err);\r\n });\r\n }\r\n\r\n async function GetModel(id) {\r\n return await fetch(\r\n window.$apiurl + \"/transload/receipts/getlineitems?itemId=\" + id,\r\n {\r\n method: \"get\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n }\r\n )\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n return res[1][\"LineItems\"][0];\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n\r\n //------------------------------------------------------------------------------------\r\n\r\n mock.onGet(\"api/TransloadReceiving/GetAllApi\").reply(async () => {\r\n const obj = await GetViewmodel();\r\n return [200, obj];\r\n });\r\n\r\n mock.onPost(\"api/TransloadReceiving\").reply(async ({ data }) => {\r\n const { remark } = JSON.parse(data);\r\n const {\r\n id,\r\n ReceiptId,\r\n PurchaseOrder,\r\n Sku,\r\n Pieces,\r\n UnitOfMeasureId,\r\n UnitCount,\r\n Description,\r\n Weight,\r\n WeightType,\r\n Cube,\r\n CubeType,\r\n OverQuantity,\r\n Pallets,\r\n Location,\r\n ShortQuantity,\r\n DamagedQuantity,\r\n IsHot,\r\n IsHazardousMateriel,\r\n UnNumber,\r\n PackagingGroup,\r\n HazardClass,\r\n PieceDescription,\r\n EmergencyContactNumber,\r\n Color,\r\n Size,\r\n ProductType,\r\n ReceivedQuantity,\r\n ModeId,\r\n ServiceLevelId,\r\n // DestinationId\r\n // LBSWeight = (window.$LBSWeight || \"\"),\r\n // CFTCube = (window.$CFTCube || \"\")\r\n } = remark;\r\n const newRemark = {\r\n id,\r\n ReceiptId,\r\n Pallets,\r\n Location,\r\n PurchaseOrder,\r\n Sku,\r\n Pieces,\r\n UnitOfMeasureId,\r\n UnitCount,\r\n Description,\r\n Weight,\r\n WeightType,\r\n Cube,\r\n CubeType,\r\n OverQuantity,\r\n ShortQuantity,\r\n DamagedQuantity,\r\n IsHot,\r\n IsHazardousMateriel,\r\n UnNumber,\r\n PackagingGroup,\r\n HazardClass,\r\n PieceDescription,\r\n EmergencyContactNumber,\r\n Color,\r\n Size,\r\n ProductType,\r\n ReceivedQuantity,\r\n ModeId,\r\n ServiceLevelId,\r\n // DestinationId\r\n // LBSWeight,\r\n // CFTCube\r\n };\r\n /* await PostModel(newRemark);\r\n remarkTableMock.push(newRemark);\r\n return [200, { remark: newRemark }]; */\r\n\r\n await PostModel(remark);\r\n remarkTableMock.push(remark);\r\n return [200, { remark: remark }];\r\n });\r\n\r\n mock.onPost(/api\\/TransloadReceivingfind\\/\\d+/).reply(async (config) => {\r\n const urls = config.url.split(\"/\");\r\n const id = urls[2];\r\n const mockUtils = new MockUtils();\r\n const { queryParams } = JSON.parse(config.data);\r\n let productRemarks = await GetModels(id);\r\n // window.VesselVoyageData = result;\r\n if (queryParams.filter.search && queryParams.filter.search !== \"\") {\r\n productRemarks = productRemarks.filter(\r\n (word) =>\r\n String(word.Sku)\r\n .toLowerCase()\r\n .trim()\r\n .includes(\r\n String(queryParams.filter.search)\r\n .toLowerCase()\r\n .trim()\r\n ) ||\r\n String(word.Color)\r\n .toLowerCase()\r\n .trim()\r\n .includes(\r\n String(queryParams.filter.search)\r\n .toLowerCase()\r\n .trim()\r\n ) ||\r\n String(word.Size)\r\n .toLowerCase()\r\n .trim()\r\n .includes(\r\n String(queryParams.filter.search)\r\n .toLowerCase()\r\n .trim()\r\n ) ||\r\n String(word.Sku)\r\n .toLowerCase()\r\n .trim()\r\n .includes(\r\n String(queryParams.filter.search)\r\n .toLowerCase()\r\n .trim()\r\n ) ||\r\n String(word.Upc)\r\n .toLowerCase()\r\n .trim()\r\n .includes(\r\n String(queryParams.filter.search)\r\n .toLowerCase()\r\n .trim()\r\n ) ||\r\n String(word.Destination)\r\n .toLowerCase()\r\n .trim()\r\n .includes(\r\n String(queryParams.filter.search)\r\n .toLowerCase()\r\n .trim()\r\n )\r\n );\r\n }\r\n delete queryParams.filter.ReLoadTableCustomTrRm;\r\n delete queryParams.filter.search;\r\n const filterdRemarks = mockUtils.baseFilter(productRemarks, queryParams);\r\n return [200, filterdRemarks];\r\n });\r\n\r\n mock.onPost(\"api/TransloadReceiving/deleteRemarks\").reply((config) => {\r\n const { ids } = JSON.parse(config.data);\r\n ids.forEach((id) => {\r\n const index = remarkTableMock.findIndex((el) => el.id === id);\r\n if (index > -1) {\r\n remarkTableMock.splice(index, 1);\r\n }\r\n });\r\n return [200];\r\n });\r\n\r\n mock.onGet(/api\\/TransloadReceiving\\/\\d+/).reply(async (config) => {\r\n const id = config.url.match(/api\\/TransloadReceiving\\/(\\d+)/)[1];\r\n const remark = await GetModel(id);\r\n remark.id = id;\r\n if (!remark) {\r\n return [400];\r\n }\r\n return [200, remark];\r\n });\r\n\r\n mock.onPut(/api\\/TransloadReceiving\\/\\d+/).reply(async (config) => {\r\n const id = config.url.match(/api\\/TransloadReceiving\\/(\\d+)/)[1];\r\n const { remark } = JSON.parse(config.data);\r\n var putObj = await PutModel(remark, id);\r\n if (!putObj) {\r\n return [400];\r\n }\r\n const index = remarkTableMock.findIndex((el) => el.id === +id);\r\n if (!index) {\r\n return [400];\r\n }\r\n remarkTableMock[index] = { ...remark };\r\n return [200];\r\n });\r\n\r\n mock.onDelete(/api\\/TransloadReceiving\\/\\d+/).reply(async (config) => {\r\n const id = config.url.match(/api\\/TransloadReceiving\\/(\\d+)/)[1];\r\n const index = remarkTableMock.findIndex((el) => el.id === +id);\r\n var deleteObj = await DeleteModel(id);\r\n if (!deleteObj) {\r\n return [400];\r\n }\r\n remarkTableMock.splice(index, 1);\r\n return [200];\r\n });\r\n}\r\n\r\nfunction ChangeId(list) {\r\n for (var item in list) {\r\n list[item].id = list[item].Id;\r\n delete list[item].Id;\r\n }\r\n return list;\r\n}\r\n","import MockUtils from \"../mock.utilsDynamic\";\r\nimport { Notification } from \"../../../../modules/Notification\";\r\nimport low from \"lowdb\";\r\nimport LocalStorage from \"lowdb/adapters/LocalStorage\";\r\nconst adapter = new LocalStorage(\"db\");\r\nconst db = low(adapter);\r\nlet customerTableMock;\r\nexport default function mockManageAddress(mock) {\r\n function StatusMessage(res) {\r\n var status = res.status;\r\n var statusText = res.statusText;\r\n if (status === 200) {\r\n Notification(\"success\", \"success\");\r\n return true;\r\n } else if (status === 400) {\r\n Notification(\"error\", statusText);\r\n return false;\r\n }\r\n }\r\n\r\n async function GetModel(id) {\r\n return await fetch(`${window.$apiurl}/address?typeId=${id}`, {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n return ChangeId(res[1][\"Addresses\"]);\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n\r\n async function GetModelId(id) {\r\n return await fetch(`${window.$apiurl}/address/${id}`, {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n var a = res[1][\"Address\"];\r\n a.id = a.Id;\r\n return a;\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n\r\n async function PostModel(someData) {\r\n return fetch(`${window.$apiurl}/address`, {\r\n method: \"post\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(someData),\r\n })\r\n .then(async (response) => {\r\n return response;\r\n })\r\n .then((res) => {\r\n return StatusMessage(res);\r\n })\r\n .catch((err) => {\r\n return StatusMessage(err);\r\n });\r\n }\r\n\r\n async function PutModel(someData, id) {\r\n return fetch(`${window.$apiurl}/address/${id}`, {\r\n method: \"put\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(someData),\r\n })\r\n .then(async (response) => {\r\n return response;\r\n })\r\n .then((res) => {\r\n return StatusMessage(res);\r\n })\r\n .catch((err) => {\r\n return StatusMessage(err);\r\n });\r\n }\r\n\r\n async function DeleteModel(id) {\r\n return await fetch(`${window.$apiurl}/address/${id}`, {\r\n method: \"delete\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n return response;\r\n })\r\n .then((res) => {\r\n return StatusMessage(res);\r\n })\r\n .catch((err) => {\r\n return StatusMessage(err);\r\n });\r\n }\r\n\r\n async function GetViewModel() {\r\n return await fetch(`${window.$apiurl}/address/getviewmodel`, {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n return res[1];\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n\r\n mock.onGet(\"api/ManageAddress/GetAllApi\").reply(async () => {\r\n const obj = await GetViewModel();\r\n return [200, obj];\r\n });\r\n\r\n mock.onPost(\"api/ManageAddress\").reply(async ({ data }) => {\r\n const { customer } = JSON.parse(data);\r\n const {\r\n Code = undefined,\r\n Name = undefined,\r\n Address = undefined,\r\n City = undefined,\r\n State = undefined,\r\n PostalCode = undefined,\r\n CountryId = undefined,\r\n Phone = undefined,\r\n Fax = undefined,\r\n WebPage = undefined,\r\n Note = undefined,\r\n AddressTypeId = undefined,\r\n IsActive = false,\r\n Charges = [],\r\n CustomerId = undefined,\r\n } = customer;\r\n const newCustomer = {\r\n Code,\r\n Name,\r\n Address,\r\n City,\r\n State,\r\n PostalCode,\r\n CountryId,\r\n Phone,\r\n Fax,\r\n WebPage,\r\n Note,\r\n AddressTypeId,\r\n IsActive,\r\n Charges,\r\n CustomerId\r\n };\r\n if (\r\n newCustomer.CountryId === \"UNITED STATES\" ||\r\n newCustomer.CountryId === null\r\n ) {\r\n newCustomer.CountryId = \"US\";\r\n }\r\n await PostModel(newCustomer);\r\n document.getElementById(\"ReLoadTableId\").click();\r\n customerTableMock.push(newCustomer);\r\n return [200, { customer: newCustomer }];\r\n });\r\n\r\n mock.onPost(\"api/ManageAddress/find\").reply(async (config) => {\r\n const mockUtils = new MockUtils();\r\n const { queryParams } = JSON.parse(config.data);\r\n var id = queryParams.filter.typeId || 0;\r\n customerTableMock = await GetModel(id);\r\n if (\r\n queryParams.filter.Code !== \"\" &&\r\n queryParams.filter.Code !== undefined\r\n ) {\r\n customerTableMock = customerTableMock.filter(\r\n (word) =>\r\n String(word.Code).includes(String(queryParams.filter.Code)) ||\r\n String(word.Name)\r\n .toLowerCase()\r\n .includes(String(queryParams.filter.Code).toLowerCase()) ||\r\n String(word.State).includes(String(queryParams.filter.Code)) ||\r\n String(word.Type)\r\n .toLowerCase()\r\n .includes(String(queryParams.filter.Code)) ||\r\n String(word.id).includes(String(queryParams.filter.Code))\r\n );\r\n }\r\n //Filter by OrganisationName\r\n if (\r\n queryParams.filter.OrganisationName !== \"\" &&\r\n queryParams.filter.OrganisationName !== undefined\r\n ) {\r\n customerTableMock = customerTableMock.filter(\r\n (word) =>\r\n String(word.Name)\r\n .toLowerCase()\r\n .includes(String(queryParams.filter.OrganisationName).toLowerCase())\r\n );\r\n }\r\n //Filter by Customer\r\n if (\r\n queryParams.filter.customer !== \"\" &&\r\n queryParams.filter.customer !== undefined\r\n ) {\r\n customerTableMock = customerTableMock.filter(\r\n (word) =>\r\n String(word.CustomerId)\r\n .toLowerCase()\r\n .includes(String(queryParams.filter.customer).toLowerCase())\r\n );\r\n }\r\n\r\n delete queryParams.filter.ReLoadTable;\r\n delete queryParams.filter.typeId;\r\n delete queryParams.filter.customer;\r\n delete queryParams.filter.OrganisationName;\r\n delete queryParams.filter.Code;\r\n const filterdCustomers = mockUtils.baseFilter(\r\n customerTableMock,\r\n queryParams\r\n );\r\n return [200, filterdCustomers];\r\n });\r\n\r\n mock.onPost(\"api/ManageAddress/filter\").reply(async (config) => {\r\n const mockUtils = new MockUtils();\r\n const { queryParams } = JSON.parse(config.data);\r\n var id = queryParams.filter.typeId || 0;\r\n customerTableMock = await GetModel(id);\r\n delete queryParams.filter.ReLoadTable;\r\n delete queryParams.filter.typeId;\r\n const filterdCustomers = mockUtils.baseFilter(\r\n customerTableMock,\r\n queryParams\r\n );\r\n return [200, filterdCustomers];\r\n });\r\n\r\n mock.onPost(\"api/ManageAddress/deleteCustomers\").reply((config) => {\r\n const { ids } = JSON.parse(config.data);\r\n ids.forEach((id) => {\r\n const index = customerTableMock.findIndex((el) => el.id === id);\r\n if (index > -1) {\r\n customerTableMock.splice(index, 1);\r\n }\r\n });\r\n return [200];\r\n });\r\n\r\n mock.onPost(\"api/ManageAddress/updateStatusForCustomers\").reply((config) => {\r\n const { ids, status } = JSON.parse(config.data);\r\n customerTableMock.forEach((el) => {\r\n if (ids.findIndex((id) => id === el.id) > -1) {\r\n el.status = status;\r\n }\r\n });\r\n return [200];\r\n });\r\n\r\n mock.onGet(/api\\/ManageAddress\\/\\d+/).reply(async (config) => {\r\n const id = config.url.match(/api\\/ManageAddress\\/(\\d+)/)[1];\r\n const customer = await GetModelId(id);\r\n if (!customer) {\r\n return [400];\r\n }\r\n return [200, customer];\r\n });\r\n\r\n mock.onPut(/api\\/ManageAddress\\/\\d+/).reply(async (config) => {\r\n const id = config.url.match(/api\\/ManageAddress\\/(\\d+)/)[1];\r\n const { customer } = JSON.parse(config.data);\r\n if(customer.CountryId === \"UNITED STATES\"){\r\n customer.CountryId = \"US\";\r\n }\r\n if (customer.CountryId === null) customer.CountryId = \"US\";\r\n var putObj = await PutModel(customer, id);\r\n if (!putObj) {\r\n return [400];\r\n }\r\n const index = customerTableMock.findIndex((el) => el.id === +id);\r\n if (!index) {\r\n return [400];\r\n }\r\n customerTableMock[index] = { ...customer };\r\n return [200];\r\n });\r\n\r\n mock.onDelete(/api\\/ManageAddress\\/\\d+/).reply(async (config) => {\r\n const id = config.url.match(/api\\/ManageAddress\\/(\\d+)/)[1];\r\n const index = customerTableMock.findIndex((el) => el.id === +id);\r\n var deleteObj = await DeleteModel(id);\r\n if (!deleteObj) {\r\n return [400];\r\n }\r\n customerTableMock.splice(index, 1);\r\n if (!index === -1) {\r\n return [400];\r\n }\r\n return [200];\r\n });\r\n}\r\n\r\nfunction ChangeId(list) {\r\n for (var item in list) {\r\n list[item].id = list[item].Id;\r\n delete list[item].Id;\r\n }\r\n return list;\r\n}\r\n","import MockUtils from \"../mock.utils\";\r\nimport { Notification } from \"../../../../modules/Notification\";\r\nimport low from \"lowdb\";\r\nimport LocalStorage from \"lowdb/adapters/LocalStorage\";\r\nconst adapter = new LocalStorage(\"db\");\r\nconst db = low(adapter);\r\nlet customerTableMock;\r\nexport default function mockManageEquipments(mock) {\r\n function StatusMessage(res) {\r\n var status = res.status;\r\n var statusText = res.statusText;\r\n if (status === 200) {\r\n Notification(\"success\", \"success\");\r\n return true;\r\n } else if (status === 400) {\r\n Notification(\"error\", statusText);\r\n return false;\r\n }\r\n }\r\n\r\n async function GetModel() {\r\n return await fetch(`${window.$apiurl}/equipmentSizes`, {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n return ChangeId(res[1]);\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n\r\n async function GetModelId(id) {\r\n return await fetch(`${window.$apiurl}/equipmentSizes/${id}`, {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n res[1].id = res[1].Id;\r\n return res[1];\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n\r\n async function PostModel(someData) {\r\n return fetch(`${window.$apiurl}/equipmentSizes`, {\r\n method: \"post\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(someData),\r\n })\r\n .then(async (response) => {\r\n return response;\r\n })\r\n .then((res) => {\r\n return StatusMessage(res);\r\n })\r\n .catch((err) => {\r\n return StatusMessage(err);\r\n });\r\n }\r\n\r\n async function PutModel(someData, id) {\r\n return fetch(`${window.$apiurl}/equipmentSizes/${id}`, {\r\n method: \"put\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(someData),\r\n })\r\n .then(async (response) => {\r\n return response;\r\n })\r\n .then((res) => {\r\n return StatusMessage(res);\r\n })\r\n .catch((err) => {\r\n return StatusMessage(err);\r\n });\r\n }\r\n\r\n async function DeleteModel(id) {\r\n return await fetch(`${window.$apiurl}/equipmentSizes/${id}`, {\r\n method: \"delete\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n if (statusCode === 200) {\r\n return Promise.all([statusCode, \"\"]);\r\n }\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n if (res[0] === 200) {\r\n Notification(\"success\", \"success\");\r\n return true;\r\n } else if (res[0] === 400) {\r\n Notification(\"error\", res[1].Message);\r\n return false;\r\n }\r\n })\r\n .catch((err) => {\r\n Notification(\"error\", \"error request\");\r\n return false;\r\n });\r\n }\r\n\r\n mock.onPost(\"api/ManageEquipments\").reply(async ({ data }) => {\r\n const { customer } = JSON.parse(data);\r\n const {\r\n Name = \"\",\r\n MaxCft = \"\",\r\n MaxCbm = \"\",\r\n MaxLbs = \"\",\r\n MaxKgs = \"\",\r\n Refrigerated = \"\",\r\n EquipmentTypeId = null,\r\n IsActive = 0,\r\n } = customer;\r\n\r\n const id = generateUserId();\r\n const newCustomer = {\r\n Name,\r\n MaxCft,\r\n MaxCbm,\r\n MaxLbs,\r\n MaxKgs,\r\n Refrigerated,\r\n EquipmentTypeId,\r\n IsActive,\r\n };\r\n var postModel = await PostModel(newCustomer);\r\n document.getElementById(\"ReLoadTableId\").click();\r\n customerTableMock.push(newCustomer);\r\n return [200, { customer: newCustomer }];\r\n });\r\n\r\n mock.onPost(\"api/ManageEquipments/find\").reply(async (config) => {\r\n const mockUtils = new MockUtils();\r\n const { queryParams } = JSON.parse(config.data);\r\n customerTableMock = await GetModel();\r\n if (queryParams.filter.id) {\r\n customerTableMock = customerTableMock.filter(\r\n (word) =>\r\n String(word.id).includes(String(queryParams.filter.id)) ||\r\n String(word.Mode).includes(String(queryParams.filter.id)) ||\r\n String(word.Service).includes(String(queryParams.filter.id)) ||\r\n String(word.ServiceLevel).includes(String(queryParams.filter.id)) ||\r\n String(word.EquipmentType).includes(String(queryParams.filter.id)) ||\r\n String(word.Name).includes(String(queryParams.filter.id))\r\n );\r\n }\r\n delete queryParams.filter.id;\r\n\r\n delete queryParams.filter.ReLoadTable;\r\n const filterdCustomers = mockUtils.baseFilter(\r\n customerTableMock,\r\n queryParams\r\n );\r\n return [200, filterdCustomers];\r\n });\r\n\r\n mock.onPost(\"api/ManageEquipments/filter\").reply(async (config) => {\r\n const mockUtils = new MockUtils();\r\n const { queryParams } = JSON.parse(config.data);\r\n customerTableMock = await GetModel();\r\n delete queryParams.filter.ReLoadTable;\r\n const filterdCustomers = mockUtils.baseFilter(\r\n customerTableMock,\r\n queryParams\r\n );\r\n return [200, filterdCustomers];\r\n });\r\n\r\n mock.onPost(\"api/ManageEquipments/deleteCustomers\").reply((config) => {\r\n const { ids } = JSON.parse(config.data);\r\n ids.forEach((id) => {\r\n const index = customerTableMock.findIndex((el) => el.id === id);\r\n if (index > -1) {\r\n customerTableMock.splice(index, 1);\r\n }\r\n });\r\n return [200];\r\n });\r\n\r\n mock\r\n .onPost(\"api/ManageEquipments/updateStatusForCustomers\")\r\n .reply((config) => {\r\n const { ids, status } = JSON.parse(config.data);\r\n customerTableMock.forEach((el) => {\r\n if (ids.findIndex((id) => id === el.id) > -1) {\r\n el.status = status;\r\n }\r\n });\r\n return [200];\r\n });\r\n\r\n mock.onGet(/api\\/ManageEquipments\\/\\d+/).reply(async (config) => {\r\n const id = config.url.match(/api\\/ManageEquipments\\/(\\d+)/)[1];\r\n const customer = await GetModelId(id);\r\n if (!customer) {\r\n return [400];\r\n }\r\n return [200, customer];\r\n });\r\n\r\n mock.onPut(/api\\/ManageEquipments\\/\\d+/).reply(async (config) => {\r\n const id = config.url.match(/api\\/ManageEquipments\\/(\\d+)/)[1];\r\n const { customer } = JSON.parse(config.data);\r\n var putObj = await PutModel(customer, id);\r\n if (!putObj) {\r\n return [400];\r\n }\r\n const index = customerTableMock.findIndex((el) => el.id === +id);\r\n if (!index) {\r\n return [400];\r\n }\r\n customerTableMock[index] = { ...customer };\r\n return [200];\r\n });\r\n\r\n mock.onDelete(/api\\/ManageEquipments\\/\\d+/).reply(async (config) => {\r\n const id = config.url.match(/api\\/ManageEquipments\\/(\\d+)/)[1];\r\n const index = customerTableMock.findIndex((el) => el.id === +id);\r\n var deleteObj = await DeleteModel(id);\r\n if (!deleteObj) {\r\n return [400];\r\n }\r\n customerTableMock.splice(index, 1);\r\n if (!index === -1) {\r\n return [400];\r\n }\r\n\r\n return [200];\r\n });\r\n}\r\n\r\nfunction generateUserId() {\r\n const ids = customerTableMock.map((el) => el.id);\r\n const maxId = Math.max(...ids);\r\n return maxId + 1;\r\n}\r\n\r\nfunction ChangeId(list) {\r\n for (var item in list) {\r\n list[item].id = list[item].Id;\r\n delete list[item].Id;\r\n }\r\n return list;\r\n}\r\n","import MockUtils from \"../mock.utilsDynamic\";\r\nimport { Notification } from \"../../../../modules/Notification\";\r\nimport low from \"lowdb\";\r\nimport LocalStorage from \"lowdb/adapters/LocalStorage\";\r\nconst adapter = new LocalStorage(\"db\");\r\nconst db = low(adapter);\r\nlet customerTableMock;\r\nexport default function mockVesselVoyage(mock) {\r\n function StatusMessage(res) {\r\n var status = res.status;\r\n var statusText = res.statusText;\r\n if (res[0] === 200) {\r\n window.vesselVoyageErrormsg = false;\r\n Notification(\"success\", \"success\");\r\n return true;\r\n } else if (res[0] === 400) {\r\n if (\r\n res[1].Message !== null &&\r\n res[1].Message !== undefined &&\r\n res[1].Message !== \"\"\r\n ) {\r\n Notification(\"errorClick\", res[1].Message);\r\n } else {\r\n Notification(\"errorClick\", \"Bad Request\");\r\n }\r\n window.vesselVoyageErrormsg = true;\r\n return false;\r\n }\r\n }\r\n\r\n async function GetModel(\r\n dateFrom,\r\n dateTo,\r\n pickUpLocationId,\r\n vesselId,\r\n statusId,\r\n exception,\r\n isMerged\r\n ) {\r\n const params = `?dateFrom=${dateFrom}&dateTo=${dateTo}&pickupLocationId=${pickUpLocationId}&vesselId=${vesselId}&statusId=${\r\n statusId === undefined ? \"\" : statusId\r\n }&exception=${exception === undefined ? \"\" : exception}`;\r\n window.$paramsVVExceptions = params;\r\n return await fetch(\r\n `${window.$apiurl}/VoyageManagement/GetVesselVoyages?dateFrom=${dateFrom}&dateTo=${dateTo}&pickupLocationId=${pickUpLocationId}&vesselId=${vesselId}&statusId=${statusId}&exception=${exception}&isMerged=${isMerged}`,\r\n {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n }\r\n )\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n return ChangeId(res[1]);\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n\r\n async function GetModelId(id) {\r\n return await fetch(`${window.$apiurl}/vesselvoyage/${id}`, {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n const vesselOrders = res[1][\"VoyageOrders\"];\r\n var a = res[1][\"Voyage\"];\r\n a.VoyageOrders = vesselOrders;\r\n a.id = a.Id;\r\n return a;\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n\r\n async function PostModel(someData) {\r\n return fetch(`${window.$apiurl}/vesselvoyage`, {\r\n method: \"post\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(someData),\r\n })\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n const contentType = response.headers.get(\"content-type\");\r\n if (contentType && contentType.indexOf(\"application/json\") !== -1) {\r\n return response.json().then((data) => [statusCode, data]);\r\n } else {\r\n return response.text().then((text) => [statusCode, { Message: \"\" }]);\r\n }\r\n })\r\n .then((res) => {\r\n return StatusMessage(res);\r\n })\r\n .catch((err) => {\r\n return StatusMessage(err);\r\n });\r\n }\r\n\r\n async function PutModel(someData, id) {\r\n return fetch(`${window.$apiurl}/vesselvoyage/${id}`, {\r\n method: \"put\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(someData),\r\n })\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n const contentType = response.headers.get(\"content-type\");\r\n if (contentType && contentType.indexOf(\"application/json\") !== -1) {\r\n return response.json().then((data) => [statusCode, data]);\r\n } else {\r\n return response.text().then((text) => [statusCode, { Message: \"\" }]);\r\n }\r\n })\r\n .then((res) => {\r\n return StatusMessage(res);\r\n })\r\n .catch((err) => {\r\n return StatusMessage(err);\r\n });\r\n }\r\n\r\n async function DeleteModel(id) {\r\n return await fetch(`${window.$apiurl}/vesselvoyage/${id}`, {\r\n method: \"delete\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n const contentType = response.headers.get(\"content-type\");\r\n if (contentType && contentType.indexOf(\"application/json\") !== -1) {\r\n return response.json().then((data) => [statusCode, data]);\r\n } else {\r\n return response.text().then((text) => [statusCode, { Message: \"\" }]);\r\n }\r\n })\r\n .then((res) => {\r\n return StatusMessage(res);\r\n })\r\n .catch((err) => {\r\n return StatusMessage(err);\r\n });\r\n }\r\n\r\n async function GetViewModel() {\r\n return await fetch(`${window.$apiurl}/VoyageManagement/GetViewModel`, {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n return res[1];\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n\r\n mock.onGet(\"api/VesselVoyage/GetAllApi\").reply(async () => {\r\n const obj = await GetViewModel();\r\n return [200, obj];\r\n });\r\n\r\n mock.onPost(\"api/VesselVoyage\").reply(async ({ data }) => {\r\n const { customer } = JSON.parse(data);\r\n const {\r\n VesselId = undefined,\r\n Name = undefined,\r\n EstimatedTimeArrival = undefined,\r\n SailDate = undefined,\r\n ArrivalDate = undefined,\r\n PickUpLocationId = null,\r\n TerminalCode = \"\",\r\n TerminalName = \"\",\r\n PortCode = \"\",\r\n } = customer;\r\n\r\n const newCustomer = {\r\n VesselId,\r\n Name,\r\n EstimatedTimeArrival,\r\n SailDate,\r\n TerminalCode,\r\n PickUpLocationId,\r\n TerminalName,\r\n PortCode,\r\n ArrivalDate,\r\n };\r\n var postModel = await PostModel(newCustomer);\r\n window.VesselVoyageData = undefined;\r\n document.getElementById(\"ReLoadTableId\").click();\r\n customerTableMock.push(newCustomer);\r\n return [200, { customer: newCustomer }];\r\n });\r\n\r\n mock.onPost(\"api/VesselVoyage/find\").reply(async (config) => {\r\n const mockUtils = new MockUtils();\r\n const { queryParams } = JSON.parse(config.data);\r\n const _filter = queryParams;\r\n var dateFrom = queryParams.filter.DateFrom;\r\n var dateTo = queryParams.filter.DateTo;\r\n var pickUpLocationId = queryParams.filter.PickupLocation;\r\n var vesselId = queryParams.filter.Vessel;\r\n var statusId = window.$VVStatusName;\r\n var exception =\r\n window.$VVExceptionName === undefined ? \"\" : window.$VVExceptionName;\r\n var isMerged = queryParams.filter.IsMerged;\r\n const result = await GetModel(\r\n dateFrom,\r\n dateTo,\r\n pickUpLocationId,\r\n vesselId,\r\n statusId,\r\n exception,\r\n isMerged\r\n );\r\n if (result.Voyages !== undefined) {\r\n try {\r\n if (window.$VVExceptionName === \"duplicated-voyages\") {\r\n result.Voyages.length > 0 &&\r\n result.Voyages.map((item, index) => {\r\n item.Id = index + 1;\r\n });\r\n customerTableMock = result.Voyages;\r\n } else {\r\n customerTableMock = result.Voyages;\r\n }\r\n } catch (err) {}\r\n }\r\n // window.VesselVoyageData = result;\r\n if (_filter.filter.id && window.$VVExceptionName != \"duplicated-voyages\") {\r\n customerTableMock = customerTableMock.filter(\r\n (word) =>\r\n String(word.Id)\r\n .toLowerCase()\r\n .trim()\r\n .includes(\r\n String(_filter.filter.id || \"\")\r\n .toLowerCase()\r\n .trim()\r\n ) ||\r\n String(word.Name)\r\n .toLowerCase()\r\n .trim()\r\n .includes(\r\n String(_filter.filter.id || \"\")\r\n .toLowerCase()\r\n .trim()\r\n ) ||\r\n String(word.PortCode)\r\n .toLowerCase()\r\n .trim()\r\n .includes(\r\n String(_filter.filter.id || \"\")\r\n .toLowerCase()\r\n .trim()\r\n ) ||\r\n String(word.TerminalCode)\r\n .toLowerCase()\r\n .trim()\r\n .includes(\r\n String(_filter.filter.id || \"\")\r\n .toLowerCase()\r\n .trim()\r\n ) ||\r\n String(word.TerminalName)\r\n .toLowerCase()\r\n .trim()\r\n .includes(\r\n String(_filter.filter.id || \"\")\r\n .toLowerCase()\r\n .trim()\r\n ) ||\r\n String(word.VesselName)\r\n .toLowerCase()\r\n .trim()\r\n .includes(\r\n String(_filter.filter.id || \"\")\r\n .toLowerCase()\r\n .trim()\r\n )\r\n );\r\n } else {\r\n customerTableMock = customerTableMock.filter(\r\n (word) =>\r\n String(word.VesselId)\r\n .toLowerCase()\r\n .trim()\r\n .includes(\r\n String(_filter.filter.id || \"\")\r\n .toLowerCase()\r\n .trim()\r\n ) ||\r\n String(word.VesselName)\r\n .toLowerCase()\r\n .trim()\r\n .includes(\r\n String(_filter.filter.id || \"\")\r\n .toLowerCase()\r\n .trim()\r\n )\r\n );\r\n }\r\n if (_filter.filter.PickupLocation) {\r\n customerTableMock = customerTableMock.filter((word) =>\r\n String(word.PickUpLocationId)\r\n .toLowerCase()\r\n .trim()\r\n .includes(\r\n String(_filter.filter.PickupLocation)\r\n .toLowerCase()\r\n .trim()\r\n )\r\n );\r\n }\r\n if (_filter.filter.PortCode) {\r\n customerTableMock = customerTableMock.filter((word) =>\r\n String(word.PortCode)\r\n .toLowerCase()\r\n .trim()\r\n .includes(\r\n String(_filter.filter.PortCode)\r\n .toLowerCase()\r\n .trim()\r\n )\r\n );\r\n }\r\n if (window.$statusCountAll === undefined) {\r\n const listStatus = result.Status;\r\n var countAll = 0;\r\n listStatus.length > 0 &&\r\n listStatus.map((item) => {\r\n countAll += item.Count;\r\n });\r\n window.$StatsListVesselVoyages = {\r\n CountAll: countAll,\r\n Status: result.Status,\r\n };\r\n }\r\n delete queryParams.filter.ReLoadTable;\r\n delete queryParams.filter.PickupLocation;\r\n delete queryParams.filter.VesselId;\r\n delete queryParams.filter.searchText;\r\n delete queryParams.filter.DateFrom;\r\n delete queryParams.filter.id;\r\n delete queryParams.filter.DateTo;\r\n delete queryParams.filter.Vessel;\r\n delete queryParams.filter.IsMerged;\r\n delete queryParams.filter.PortCode;\r\n const filterdCustomers = mockUtils.baseFilter(\r\n customerTableMock,\r\n queryParams\r\n );\r\n return [200, filterdCustomers];\r\n });\r\n\r\n mock.onPost(\"api/VesselVoyage/filter\").reply(async (config) => {\r\n const mockUtils = new MockUtils();\r\n const { queryParams } = JSON.parse(config.data);\r\n var VesselId = queryParams.filter.VesselId;\r\n const _filter = queryParams;\r\n var dateFrom = queryParams.filter.DateFrom;\r\n var dateTo = queryParams.filter.DateTo;\r\n var pickUpLocationId = queryParams.filter.PickupLocation;\r\n var vesselId = queryParams.filter.Vessel;\r\n var statusId = window.$VVStatusName;\r\n var exception =\r\n window.$VVExceptionName === undefined ? \"\" : window.$VVExceptionName;\r\n var isMerged = queryParams.filter.IsMerged;\r\n const result = await GetModel(\r\n dateFrom,\r\n dateTo,\r\n pickUpLocationId,\r\n vesselId,\r\n statusId,\r\n exception,\r\n isMerged\r\n );\r\n customerTableMock = result.Voyages;\r\n delete queryParams.filter.ReLoadTable;\r\n delete queryParams.filter.VesselId;\r\n delete queryParams.filter.IsMerged;\r\n window.VesselVoyageData = undefined;\r\n const filterdCustomers = mockUtils.baseFilter(\r\n customerTableMock,\r\n queryParams\r\n );\r\n return [200, filterdCustomers];\r\n });\r\n mock.onPost(\"api/VesselVoyage/deleteCustomers\").reply((config) => {\r\n const { ids } = JSON.parse(config.data);\r\n ids.forEach((id) => {\r\n const index = customerTableMock.findIndex((el) => el.id === id);\r\n if (index > -1) {\r\n customerTableMock.splice(index, 1);\r\n }\r\n });\r\n window.VesselVoyageData = undefined;\r\n return [200];\r\n });\r\n\r\n mock.onPost(\"api/VesselVoyage/updateStatusForCustomers\").reply((config) => {\r\n const { ids, status } = JSON.parse(config.data);\r\n customerTableMock.forEach((el) => {\r\n if (ids.findIndex((id) => id === el.id) > -1) {\r\n el.status = status;\r\n }\r\n });\r\n window.VesselVoyageData = undefined;\r\n return [200];\r\n });\r\n\r\n mock.onGet(/api\\/VesselVoyage\\/\\d+/).reply(async (config) => {\r\n const id = config.url.match(/api\\/VesselVoyage\\/(\\d+)/)[1];\r\n const customer = await GetModelId(id);\r\n if (!customer) {\r\n return [400];\r\n }\r\n return [200, customer];\r\n });\r\n\r\n mock.onPut(/api\\/VesselVoyage\\/\\d+/).reply(async (config) => {\r\n const id = config.url.match(/api\\/VesselVoyage\\/(\\d+)/)[1];\r\n const { customer } = JSON.parse(config.data);\r\n var putObj = await PutModel(customer, id);\r\n if (!putObj) {\r\n return [400];\r\n }\r\n window.VesselVoyageData = undefined;\r\n const index = customerTableMock.findIndex((el) => el.id === +id);\r\n if (!index) {\r\n return [400];\r\n }\r\n customerTableMock[index] = { ...customer };\r\n return [200];\r\n });\r\n\r\n mock.onDelete(/api\\/VesselVoyage\\/\\d+/).reply(async (config) => {\r\n const id = config.url.match(/api\\/VesselVoyage\\/(\\d+)/)[1];\r\n const index = customerTableMock.findIndex((el) => el.id === +id);\r\n var deleteObj = await DeleteModel(id);\r\n if (!deleteObj) {\r\n return [400];\r\n }\r\n customerTableMock.splice(index, 1);\r\n if (!index === -1) {\r\n return [400];\r\n }\r\n window.VesselVoyageData = undefined;\r\n return [200];\r\n });\r\n}\r\n\r\nfunction ChangeId(list) {\r\n for (var item in list) {\r\n list[item].id = list[item].Id;\r\n delete list[item].Id;\r\n }\r\n return list;\r\n}\r\n","import MockUtils from \"../mock.utils3\";\r\nimport { Notification } from \"../../../Notification\";\r\nimport low from \"lowdb\";\r\nimport LocalStorage from \"lowdb/adapters/LocalStorage\";\r\nconst adapter = new LocalStorage(\"db\");\r\nconst db = low(adapter);\r\nlet customerTableMock;\r\nexport default function mockVesselVoyageBeta(mock) {\r\n function StatusMessage(res) {\r\n var status = res.status;\r\n var statusText = res.statusText;\r\n if (res[0] === 200) {\r\n window.vesselVoyageErrormsg = false;\r\n Notification(\"success\", \"success\");\r\n return true;\r\n } else if (res[0] === 400) {\r\n if (\r\n res[1].Message !== null &&\r\n res[1].Message !== undefined &&\r\n res[1].Message !== \"\"\r\n ) {\r\n Notification(\"errorClick\", res[1].Message);\r\n } else {\r\n Notification(\"errorClick\", \"Bad Request\");\r\n }\r\n window.vesselVoyageErrormsg = true;\r\n return false;\r\n }\r\n }\r\n\r\n async function GetModel(\r\n dateFrom,\r\n dateTo,\r\n pickUpLocationId,\r\n vesselId,\r\n statusId,\r\n exception,\r\n isMerged,\r\n port,\r\n paginationObject\r\n ) {\r\n const params = `?dateFrom=${dateFrom}&dateTo=${dateTo}&pickupLocationId=${pickUpLocationId ??\r\n \"\"}&vesselId=${vesselId ?? \"\"}&statusId=${\r\n statusId === undefined ? \"\" : statusId\r\n }&port=${port ?? \"\"}&exception=${\r\n exception === undefined ? \"\" : exception\r\n }&isMerged=${isMerged ?? null}&pageNumber=${\r\n paginationObject?.pageNumber\r\n }&pageSize=${\r\n paginationObject?.pageSize\r\n }&search=${paginationObject?.search ?? \"\"}&sortField=${\r\n paginationObject?.sortField\r\n }&sortOrder=${paginationObject?.sortOrder}`;\r\n const paramsExport = `?dateFrom=${dateFrom}&dateTo=${dateTo}&pickupLocationId=${pickUpLocationId ??\r\n \"\"}&vesselId=${vesselId ?? \"\"}&statusId=${\r\n statusId === undefined ? \"\" : statusId\r\n }&port=${port ?? \"\"}&exception=${\r\n exception === undefined ? \"\" : exception\r\n }&isMerged=${isMerged ?? null}&pageNumber=${\r\n paginationObject?.pageNumber\r\n }&pageSize=1000000000&search=${paginationObject?.search ?? \"\"}&sortField=${\r\n paginationObject?.sortField\r\n }&sortOrder=${paginationObject?.sortOrder}`;\r\n const params2 = `?dateFrom=${dateFrom}&dateTo=${dateTo}&pickupLocationId=${pickUpLocationId ??\r\n \"\"}&vesselId=${vesselId ?? \"\"}&statusId=${\r\n statusId === undefined ? \"\" : statusId\r\n }&port=${port ?? \"\"}&exception=&isMerged=${isMerged}&pageNumber=${\r\n paginationObject?.pageNumber\r\n }&pageSize=${\r\n paginationObject?.pageSize\r\n }&search=${paginationObject?.search ?? \"\"}&sortField=${\r\n paginationObject?.sortField\r\n }&sortOrder=${paginationObject?.sortOrder}`;\r\n\r\n const paramsExceptions = `?dateFrom=${dateFrom}&dateTo=${dateTo}&pickupLocationId=${pickUpLocationId ??\r\n \"\"}&vesselId=${vesselId ?? \"\"}&port=${port ?? \"\"}&exception=${\r\n exception === undefined ? \"\" : exception\r\n }&isMerged=${isMerged ?? null}&pageNumber=${\r\n paginationObject?.pageNumber\r\n }&pageSize=${\r\n paginationObject?.pageSize\r\n }&search=${paginationObject?.search ?? \"\"}&sortField=${\r\n paginationObject?.sortField\r\n }&sortOrder=${paginationObject?.sortOrder}`;\r\n window.$paramsVVExceptions = paramsExceptions;\r\n window.$paramVVExport = paramsExport;\r\n window.$paramsVVExceptions2 = params2;\r\n return await fetch(\r\n `${window.$apiurl}/VoyageManagement/GetVesselVoyagesBeta${params}`,\r\n {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n }\r\n )\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n return ChangeId(res[1]);\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n async function GetStatuses(\r\n dateFrom,\r\n dateTo,\r\n pickUpLocationId,\r\n vesselId,\r\n statusId,\r\n isMerged,\r\n port,\r\n paginationObject\r\n ) {\r\n const params = `?dateFrom=${dateFrom}&dateTo=${dateTo}&pickupLocationId=${pickUpLocationId ??\r\n \"\"}&vesselId=${vesselId ?? \"\"}&statusId=${\r\n statusId === undefined ? \"\" : statusId\r\n }&port=${port ?? \"\"}&isMerged=${isMerged}&pageNumber=${\r\n paginationObject?.pageNumber\r\n }&pageSize=${\r\n paginationObject?.pageSize\r\n }&search=${paginationObject?.search ?? \"\"}&sortField=${\r\n paginationObject?.sortField\r\n }&sortOrder=${paginationObject?.sortOrder}`;\r\n return await fetch(\r\n `${window.$apiurl}/VoyageManagement/GetVesselVoyagesCountBeta${params}`,\r\n {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n }\r\n )\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n return res[1];\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n async function GetModelId(id) {\r\n return await fetch(`${window.$apiurl}/vesselvoyage/${id}`, {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n const vesselOrders = res[1][\"VoyageOrders\"];\r\n var a = res[1][\"Voyage\"];\r\n a.VoyageOrders = vesselOrders;\r\n a.id = a.Id;\r\n return a;\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n\r\n async function PostModel(someData) {\r\n return fetch(`${window.$apiurl}/vesselvoyage/new`, {\r\n method: \"post\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(someData),\r\n })\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n const contentType = response.headers.get(\"content-type\");\r\n if (contentType && contentType.indexOf(\"application/json\") !== -1) {\r\n return response.json().then((data) => [statusCode, data]);\r\n } else {\r\n return response.text().then((text) => [statusCode, { Message: \"\" }]);\r\n }\r\n })\r\n .then((res) => {\r\n return StatusMessage(res);\r\n })\r\n .catch((err) => {\r\n return StatusMessage(err);\r\n });\r\n }\r\n\r\n async function PutModel(someData, id) {\r\n return fetch(`${window.$apiurl}/vesselvoyage/${id}`, {\r\n method: \"put\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(someData),\r\n })\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n const contentType = response.headers.get(\"content-type\");\r\n if (contentType && contentType.indexOf(\"application/json\") !== -1) {\r\n return response.json().then((data) => [statusCode, data]);\r\n } else {\r\n return response.text().then((text) => [statusCode, { Message: \"\" }]);\r\n }\r\n })\r\n .then((res) => {\r\n return StatusMessage(res);\r\n })\r\n .catch((err) => {\r\n return StatusMessage(err);\r\n });\r\n }\r\n\r\n async function DeleteModel(id) {\r\n return await fetch(`${window.$apiurl}/vesselvoyage/${id}`, {\r\n method: \"delete\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n const contentType = response.headers.get(\"content-type\");\r\n if (contentType && contentType.indexOf(\"application/json\") !== -1) {\r\n return response.json().then((data) => [statusCode, data]);\r\n } else {\r\n return response.text().then((text) => [statusCode, { Message: \"\" }]);\r\n }\r\n })\r\n .then((res) => {\r\n return StatusMessage(res);\r\n })\r\n .catch((err) => {\r\n return StatusMessage(err);\r\n });\r\n }\r\n\r\n async function GetViewModel() {\r\n return await fetch(`${window.$apiurl}/VoyageManagement/GetViewModel`, {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n return res[1];\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n\r\n mock.onGet(\"api/VesselVoyageBeta/GetAllApi\").reply(async () => {\r\n const obj = await GetViewModel();\r\n return [200, obj];\r\n });\r\n\r\n mock.onPost(\"api/VesselVoyageBeta\").reply(async ({ data }) => {\r\n const { customer } = JSON.parse(data);\r\n const {\r\n VesselId = undefined,\r\n Name = undefined,\r\n EstimatedTimeArrival = undefined,\r\n SailDate = undefined,\r\n ArrivalDate = undefined,\r\n PickUpLocationId = null,\r\n TerminalCode = \"\",\r\n TerminalName = \"\",\r\n PortCode = \"\",\r\n } = customer;\r\n\r\n const newCustomer = {\r\n VesselId,\r\n Name,\r\n EstimatedTimeArrival,\r\n SailDate,\r\n TerminalCode,\r\n PickUpLocationId,\r\n TerminalName,\r\n PortCode,\r\n ArrivalDate,\r\n };\r\n var postModel = await PostModel(newCustomer);\r\n window.VesselVoyageData = undefined;\r\n document.getElementById(\"ReLoadTableId\").click();\r\n customerTableMock.push(newCustomer);\r\n return [200, { customer: newCustomer }];\r\n });\r\n\r\n mock.onPost(\"api/VesselVoyageBeta/find\").reply(async (config) => {\r\n const mockUtils = new MockUtils();\r\n const { queryParams } = JSON.parse(config.data);\r\n // const _filter = queryParams;\r\n var dateFrom = queryParams.filter.DateFrom;\r\n var dateTo = queryParams.filter.DateTo;\r\n var pickUpLocationId = queryParams.filter.PickupLocation;\r\n var vesselId = queryParams.filter.Vessel;\r\n var statusId = window.$VVStatusName;\r\n var exception =\r\n window.$VVExceptionName === undefined ? \"\" : window.$VVExceptionName;\r\n var isMerged = queryParams.filter.IsMerged;\r\n var port = queryParams.filter.PortCode;\r\n const result = await GetModel(\r\n dateFrom,\r\n dateTo,\r\n pickUpLocationId,\r\n vesselId,\r\n statusId,\r\n exception,\r\n isMerged,\r\n port,\r\n {\r\n pageNumber: queryParams.pageNumber,\r\n pageSize: queryParams.pageSize,\r\n sortField: queryParams.sortField,\r\n sortOrder: queryParams.sortOrder,\r\n search: queryParams.filter.searchText,\r\n }\r\n );\r\n queryParams.TotalItems = result?.Pagination?.TotalItemCount;\r\n if (result.Voyages !== undefined) {\r\n try {\r\n if (window.$VVExceptionName === \"duplicated-voyages\") {\r\n result.Voyages.length > 0 &&\r\n result.Voyages.forEach((item, index) => {\r\n item.Id = index + 1;\r\n });\r\n customerTableMock = result.Voyages;\r\n } else {\r\n customerTableMock = result.Voyages;\r\n }\r\n } catch (err) {}\r\n }\r\n // window.VesselVoyageData = result;\r\n // if (_filter.filter.id && window.$VVExceptionName !== \"duplicated-voyages\") {\r\n // customerTableMock = customerTableMock.filter(\r\n // (word) =>\r\n // String(word.Id)\r\n // .toLowerCase()\r\n // .trim()\r\n // .includes(\r\n // String(_filter.filter.id || \"\")\r\n // .toLowerCase()\r\n // .trim()\r\n // ) ||\r\n // String(word.Name)\r\n // .toLowerCase()\r\n // .trim()\r\n // .includes(\r\n // String(_filter.filter.id || \"\")\r\n // .toLowerCase()\r\n // .trim()\r\n // ) ||\r\n // String(word.PortCode)\r\n // .toLowerCase()\r\n // .trim()\r\n // .includes(\r\n // String(_filter.filter.id || \"\")\r\n // .toLowerCase()\r\n // .trim()\r\n // ) ||\r\n // String(word.TerminalCode)\r\n // .toLowerCase()\r\n // .trim()\r\n // .includes(\r\n // String(_filter.filter.id || \"\")\r\n // .toLowerCase()\r\n // .trim()\r\n // ) ||\r\n // String(word.TerminalName)\r\n // .toLowerCase()\r\n // .trim()\r\n // .includes(\r\n // String(_filter.filter.id || \"\")\r\n // .toLowerCase()\r\n // .trim()\r\n // ) ||\r\n // String(word.VesselName)\r\n // .toLowerCase()\r\n // .trim()\r\n // .includes(\r\n // String(_filter.filter.id || \"\")\r\n // .toLowerCase()\r\n // .trim()\r\n // )\r\n // );\r\n // } else {\r\n // customerTableMock = customerTableMock.filter(\r\n // (word) =>\r\n // String(word.VesselId)\r\n // .toLowerCase()\r\n // .trim()\r\n // .includes(\r\n // String(_filter.filter.id || \"\")\r\n // .toLowerCase()\r\n // .trim()\r\n // ) ||\r\n // String(word.VesselName)\r\n // .toLowerCase()\r\n // .trim()\r\n // .includes(\r\n // String(_filter.filter.id || \"\")\r\n // .toLowerCase()\r\n // .trim()\r\n // )\r\n // );\r\n // }\r\n // if (_filter.filter.PickupLocation) {\r\n // customerTableMock = customerTableMock.filter((word) =>\r\n // String(word.PickUpLocationId)\r\n // .toLowerCase()\r\n // .trim()\r\n // .includes(\r\n // String(_filter.filter.PickupLocation)\r\n // .toLowerCase()\r\n // .trim()\r\n // )\r\n // );\r\n // }\r\n // if (_filter.filter.PortCode) {\r\n // customerTableMock = customerTableMock.filter((word) =>\r\n // String(word.PortCode)\r\n // .toLowerCase()\r\n // .trim()\r\n // .includes(\r\n // String(_filter.filter.PortCode)\r\n // .toLowerCase()\r\n // .trim()\r\n // )\r\n // );\r\n // }\r\n if (window.$statusCountAll === undefined) {\r\n var resultStatuses = await GetStatuses(\r\n dateFrom,\r\n dateTo,\r\n pickUpLocationId,\r\n vesselId,\r\n statusId,\r\n isMerged,\r\n port,\r\n {\r\n pageNumber: queryParams.pageNumber,\r\n pageSize: queryParams.pageSize,\r\n sortField: queryParams.sortField,\r\n sortOrder: queryParams.sortOrder,\r\n search: queryParams.filter.searchText,\r\n }\r\n );\r\n try {\r\n let countAll = 0;\r\n resultStatuses.Status.length > 0 &&\r\n resultStatuses.Status.forEach((x) => (countAll += x.Count));\r\n window.$StatsListVesselVoyages = {\r\n CountAll: countAll,\r\n Status: resultStatuses?.Status,\r\n };\r\n } catch (err) {}\r\n }\r\n delete queryParams.filter.ReLoadTable; \r\n delete queryParams.filter.PickupLocation;\r\n delete queryParams.filter.VesselId;\r\n delete queryParams.filter.searchText;\r\n delete queryParams.filter.DateFrom;\r\n delete queryParams.filter.id;\r\n delete queryParams.filter.DateTo;\r\n delete queryParams.filter.Vessel;\r\n delete queryParams.filter.IsMerged;\r\n delete queryParams.filter.PortCode;\r\n \r\n const filterdCustomers = mockUtils.baseFilter(\r\n customerTableMock,\r\n queryParams\r\n );\r\n return [200, filterdCustomers];\r\n });\r\n\r\n mock.onPost(\"api/VesselVoyageBeta/filter\").reply(async (config) => {\r\n const mockUtils = new MockUtils();\r\n const { queryParams } = JSON.parse(config.data);\r\n var VesselId = queryParams.filter.VesselId;\r\n const _filter = queryParams;\r\n var dateFrom = queryParams.filter.DateFrom;\r\n var dateTo = queryParams.filter.DateTo;\r\n var pickUpLocationId = queryParams.filter.PickupLocation;\r\n var vesselId = queryParams.filter.Vessel;\r\n var statusId = window.$VVStatusName;\r\n var exception =\r\n window.$VVExceptionName === undefined ? \"\" : window.$VVExceptionName;\r\n var isMerged = queryParams.filter.IsMerged;\r\n const result = await GetModel(\r\n dateFrom,\r\n dateTo,\r\n pickUpLocationId,\r\n vesselId,\r\n statusId,\r\n exception,\r\n isMerged\r\n );\r\n customerTableMock = result.Voyages;\r\n delete queryParams.filter.ReLoadTable;\r\n delete queryParams.filter.VesselId;\r\n delete queryParams.filter.IsMerged;\r\n window.VesselVoyageData = undefined;\r\n const filterdCustomers = mockUtils.baseFilter(\r\n customerTableMock,\r\n queryParams\r\n );\r\n return [200, filterdCustomers];\r\n });\r\n mock.onPost(\"api/VesselVoyageBeta/deleteCustomers\").reply((config) => {\r\n const { ids } = JSON.parse(config.data);\r\n ids.forEach((id) => {\r\n const index = customerTableMock.findIndex((el) => el.id === id);\r\n if (index > -1) {\r\n customerTableMock.splice(index, 1);\r\n }\r\n });\r\n window.VesselVoyageData = undefined;\r\n return [200];\r\n });\r\n\r\n mock.onPost(\"api/VesselVoyageBeta/updateStatusForCustomers\").reply((config) => {\r\n const { ids, status } = JSON.parse(config.data);\r\n customerTableMock.forEach((el) => {\r\n if (ids.findIndex((id) => id === el.id) > -1) {\r\n el.status = status;\r\n }\r\n });\r\n window.VesselVoyageData = undefined;\r\n return [200];\r\n });\r\n\r\n mock.onGet(/api\\/VesselVoyageBeta\\/\\d+/).reply(async (config) => {\r\n const id = config.url.match(/api\\/VesselVoyageBeta\\/(\\d+)/)[1];\r\n const customer = await GetModelId(id);\r\n if (!customer) {\r\n return [400];\r\n }\r\n return [200, customer];\r\n });\r\n\r\n mock.onPut(/api\\/VesselVoyageBeta\\/\\d+/).reply(async (config) => {\r\n const id = config.url.match(/api\\/VesselVoyageBeta\\/(\\d+)/)[1];\r\n const { customer } = JSON.parse(config.data);\r\n var putObj = await PutModel(customer, id);\r\n if (!putObj) {\r\n return [400];\r\n }\r\n window.VesselVoyageData = undefined;\r\n const index = customerTableMock.findIndex((el) => el.id === +id);\r\n if (!index) {\r\n return [400];\r\n }\r\n customerTableMock[index] = { ...customer };\r\n return [200];\r\n });\r\n\r\n mock.onDelete(/api\\/VesselVoyageBeta\\/\\d+/).reply(async (config) => {\r\n const id = config.url.match(/api\\/VesselVoyageBeta\\/(\\d+)/)[1];\r\n const index = customerTableMock.findIndex((el) => el.id === +id);\r\n var deleteObj = await DeleteModel(id);\r\n if (!deleteObj) {\r\n return [400];\r\n }\r\n customerTableMock.splice(index, 1);\r\n if (!index === -1) {\r\n return [400];\r\n }\r\n window.VesselVoyageData = undefined;\r\n return [200];\r\n });\r\n}\r\n\r\nfunction ChangeId(list) {\r\n for (var item in list) {\r\n list[item].id = list[item].Id;\r\n delete list[item].Id;\r\n }\r\n return list;\r\n}\r\n","import MockUtils from \"../mock.utils\";\r\nimport { Notification } from \"../../../../modules/Notification\";\r\nimport low from \"lowdb\";\r\nimport LocalStorage from \"lowdb/adapters/LocalStorage\";\r\nconst adapter = new LocalStorage(\"db\");\r\nconst db = low(adapter);\r\nlet customerTableMock;\r\nexport default function mockManageContacts(mock) {\r\n //Status Message\r\n function StatusMessage(res) {\r\n var status = res.status;\r\n var statusText = res.statusText;\r\n if (status === 200) {\r\n Notification(\"success\", \"success\");\r\n return true;\r\n } else if (status === 400) {\r\n Notification(\"error\", statusText);\r\n return false;\r\n }\r\n }\r\n\r\n //Get all contacts\r\n async function GetAllContacts() {\r\n return await fetch(window.$apiurl + \"/contact\", {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data.Contacts]);\r\n })\r\n .then((res) => {\r\n return ChangeId(res[1]);\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n\r\n //Delete Contact\r\n async function DeleteContact(id) {\r\n return await fetch(`${window.$apiurl}/contact/${id}`, {\r\n method: \"delete\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n return response;\r\n })\r\n .then((res) => {\r\n return StatusMessage(res);\r\n })\r\n .catch((err) => {\r\n return StatusMessage(err);\r\n });\r\n }\r\n //Get View Model\r\n async function GetViewModelCompanies() {\r\n return await fetch(window.$apiurl + \"/contact/getviewmodel\", {\r\n method: \"get\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then((res) => res.json())\r\n .then((res) => {\r\n return res.Compagnies;\r\n })\r\n .catch((err) => {\r\n return false;\r\n });\r\n }\r\n async function GetViewModelCountries() {\r\n return await fetch(window.$apiurl + \"/contact/getviewmodel\", {\r\n method: \"get\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then((res) => res.json())\r\n .then((res) => {\r\n return res.Countries;\r\n })\r\n .catch((err) => {\r\n return false;\r\n });\r\n }\r\n async function GetViewModelGenders() {\r\n return await fetch(window.$apiurl + \"/contact/getviewmodel\", {\r\n method: \"get\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then((res) => res.json())\r\n .then((res) => {\r\n return res.Genders;\r\n })\r\n .catch((err) => {\r\n return false;\r\n });\r\n }\r\n async function GetViewModelContactCategories() {\r\n return await fetch(window.$apiurl + \"/contact/getviewmodel\", {\r\n method: \"get\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then((res) => res.json())\r\n .then((res) => {\r\n return res.ContactCategories;\r\n })\r\n .catch((err) => {\r\n return false;\r\n });\r\n }\r\n //Fill Select\r\n mock.onGet(\"api/ManageContacts/GetAllApi\").reply(async () => {\r\n return await fetch(window.$apiurl + \"/contact/getviewmodel\", {\r\n method: \"get\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then((res) => res.json())\r\n .then((res) => {\r\n var contacts = {};\r\n contacts[\"CompaniesList\"] = res.Compagnies;\r\n contacts[\"CountriesList\"] = res.Countries;\r\n contacts[\"GendersList\"] = res.Genders;\r\n contacts[\"CategoriesList\"] = res.ContactCategories;\r\n return [200, contacts];\r\n })\r\n .catch((err) => {\r\n return false;\r\n });\r\n });\r\n\r\n //Post Contact\r\n async function PostContact(someData) {\r\n return fetch(window.$apiurl + \"/contact\", {\r\n method: \"post\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(someData),\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n window.$statusPostContact = statusCode;\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n return res[1];\r\n })\r\n .catch((error) => {\r\n //console.error(error);\r\n });\r\n }\r\n\r\n //Get {id}\r\n async function GetContact(id) {\r\n return await fetch(window.$apiurl + \"/contact/\" + id, {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n }).then(async (response) => {\r\n const data = await response.json();\r\n return data.Contact;\r\n });\r\n }\r\n\r\n //Put\r\n async function PutContact(someData, id) {\r\n return fetch(window.$apiurl + \"/contact/\" + id, {\r\n method: \"put\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(someData),\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n window.$statusCodePut = statusCode;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n return res[1];\r\n })\r\n .catch((error) => {\r\n //console.error(error);\r\n });\r\n }\r\n mock.onPost(\"api/ManageContacts\").reply(async ({ data }) => {\r\n const { customer } = JSON.parse(data);\r\n const {\r\n Gender = \"\",\r\n CategoryId = \"\",\r\n Name = \"\",\r\n LastName = \"\",\r\n WorkPhone = \"\",\r\n HomePhone = \"\",\r\n Fax = \"\",\r\n CellPhone = \"\",\r\n Email = \"\",\r\n BirthDate = \"\",\r\n CompanyId = \"\",\r\n Address = \"\",\r\n State = \"\",\r\n City = \"\",\r\n PostalCode = \"\",\r\n CountryId = \"\",\r\n } = customer;\r\n\r\n const id = generateUserId();\r\n const newContact = {\r\n Gender,\r\n CategoryId,\r\n Name,\r\n LastName,\r\n WorkPhone,\r\n HomePhone,\r\n Fax,\r\n CellPhone,\r\n Email,\r\n BirthDate,\r\n CompanyId,\r\n State,\r\n Address,\r\n PostalCode,\r\n City,\r\n CountryId,\r\n };\r\n var postContact = await PostContact(newContact);\r\n //Manage Data Result\r\n if (postContact.Id != undefined) {\r\n Notification(\"success\", \"Contact has been added successfully\");\r\n postContact.id = postContact.Id;\r\n customerTableMock.push(newContact);\r\n document.getElementById(\"ReLoadTableId\").click();\r\n return [\r\n 200,\r\n { customer: newContact, message: postContact.Message, success: true },\r\n ];\r\n } else {\r\n if (postContact.Message) {\r\n document.getElementById(\"ReLoadTableId\").click();\r\n Notification(\"error\", postContact.Message);\r\n } else {\r\n Notification(\"error\", \"Error occured\");\r\n document.getElementById(\"ReLoadTableId\").click();\r\n return [400, { message: postContact.Message, success: false }];\r\n }\r\n }\r\n });\r\n\r\n mock.onPost(\"api/ManageContacts/find\").reply(async (config) => {\r\n const mockUtils = new MockUtils();\r\n const { queryParams } = JSON.parse(config.data);\r\n customerTableMock = await GetAllContacts();\r\n //Filter\r\n if (\r\n queryParams.filter.Address !== \"\" &&\r\n queryParams.filter.Address !== undefined\r\n ) {\r\n customerTableMock = customerTableMock.filter(\r\n (word) =>\r\n String(word.Address)\r\n .toLowerCase()\r\n .includes(String(queryParams.filter.Address).toLowerCase()) ||\r\n String(word.Email)\r\n .toLowerCase()\r\n .includes(String(queryParams.filter.Address).toLowerCase()) ||\r\n String(word.Name)\r\n .toLowerCase()\r\n .includes(String(queryParams.filter.Address).toLowerCase()) ||\r\n String(word.id)\r\n .toLowerCase()\r\n .includes(String(queryParams.filter.Address).toLowerCase()) ||\r\n String(word.CompanyName)\r\n .toLowerCase()\r\n .includes(String(queryParams.filter.Address).toLowerCase()) ||\r\n String(word.PhoneNumber)\r\n .toLowerCase()\r\n .includes(String(queryParams.filter.Address).toLowerCase()) ||\r\n String(word.LastName)\r\n .toLowerCase()\r\n .includes(String(queryParams.filter.Address).toLowerCase())\r\n );\r\n }\r\n delete queryParams.filter.ReLoadTable;\r\n delete queryParams.filter.Address;\r\n const filterdCustomers = mockUtils.baseFilter(\r\n customerTableMock,\r\n queryParams\r\n );\r\n return [200, filterdCustomers];\r\n });\r\n\r\n mock.onPost(\"api/ManageContacts/filter\").reply(async (config) => {\r\n const mockUtils = new MockUtils();\r\n const { queryParams } = JSON.parse(config.data);\r\n customerTableMock = await GetAllContacts();\r\n delete queryParams.filter.ReLoadTable;\r\n const filterdCustomers = mockUtils.baseFilter(\r\n customerTableMock,\r\n queryParams\r\n );\r\n return [200, filterdCustomers];\r\n });\r\n\r\n mock.onPost(\"api/ManageContacts/deleteCustomers\").reply((config) => {\r\n const { ids } = JSON.parse(config.data);\r\n ids.forEach((id) => {\r\n const index = customerTableMock.findIndex((el) => el.id === id);\r\n if (index > -1) {\r\n customerTableMock.splice(index, 1);\r\n }\r\n });\r\n return [200];\r\n });\r\n\r\n mock.onPost(\"api/ManageContacts/updateStatusForCustomers\").reply((config) => {\r\n const { ids, status } = JSON.parse(config.data);\r\n customerTableMock.forEach((el) => {\r\n if (ids.findIndex((id) => id === el.id) > -1) {\r\n el.status = status;\r\n }\r\n });\r\n return [200];\r\n });\r\n\r\n mock.onGet(/api\\/ManageContacts\\/\\d+/).reply(async (config) => {\r\n const id = config.url.match(/api\\/ManageContacts\\/(\\d+)/)[1];\r\n var resultById = await GetContact(id);\r\n console.log(resultById);\r\n if (!resultById) {\r\n return [400];\r\n }\r\n return [200, resultById];\r\n });\r\n\r\n mock.onPut(/api\\/ManageContacts\\/\\d+/).reply(async (config) => {\r\n const id = config.url.match(/api\\/ManageContacts\\/(\\d+)/)[1];\r\n const { customer } = JSON.parse(config.data);\r\n await PutContact(customer, id);\r\n const index = customerTableMock.findIndex((el) => el.id === +id);\r\n customerTableMock[index] = { ...customer };\r\n document.getElementById(\"ReLoadTableId\").click();\r\n Notification(\"success\", \"Contact has been updated successfully\");\r\n return [200];\r\n });\r\n\r\n mock.onDelete(/api\\/ManageContacts\\/\\d+/).reply(async (config) => {\r\n const id = config.url.match(/api\\/ManageContacts\\/(\\d+)/)[1];\r\n const index = customerTableMock.findIndex((el) => el.id === +id);\r\n var deleteObj = await DeleteContact(id);\r\n if (!deleteObj) {\r\n return [400];\r\n }\r\n customerTableMock.splice(index, 1);\r\n if (!index === -1) {\r\n return [400];\r\n }\r\n return [200];\r\n });\r\n}\r\n\r\nfunction generateUserId() {\r\n const ids = customerTableMock.map((el) => el.id);\r\n const maxId = Math.max(...ids);\r\n return maxId + 1;\r\n}\r\n\r\nfunction ChangeId(list) {\r\n for (var item in list) {\r\n list[item].id = list[item].Id;\r\n delete list[item].Id;\r\n }\r\n return list;\r\n}\r\n","import MockUtils from \"../mock.utils\";\r\nimport { Notification } from \"../../../../modules/Notification\";\r\nimport low from \"lowdb\";\r\nimport LocalStorage from \"lowdb/adapters/LocalStorage\";\r\nconst adapter = new LocalStorage(\"db\");\r\nconst db = low(adapter);\r\nlet customerTableMock;\r\nexport default function mockManageUOM(mock) {\r\n //Status Message\r\n function StatusMessage(res) {\r\n var status = res.status;\r\n var statusText = res.statusText;\r\n if (status === 200) {\r\n Notification(\"success\", \"success\");\r\n return true;\r\n } else if (status === 400) {\r\n Notification(\"error\", statusText);\r\n return false;\r\n }\r\n }\r\n\r\n //Get all UOM\r\n async function GetAllUOM() {\r\n return await fetch(window.$apiurl + \"/unitofmeasure\", {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n return ChangeId(res[1]);\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n\r\n //Delete Contact\r\n async function DeleteUOM(id) {\r\n return await fetch(`${window.$apiurl}/unitofmeasure/${id}`, {\r\n method: \"delete\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n return response;\r\n })\r\n .then((res) => {\r\n return StatusMessage(res);\r\n })\r\n .catch((err) => {\r\n return StatusMessage(err);\r\n });\r\n }\r\n\r\n //Post Contact\r\n async function PostUOM(someData) {\r\n return fetch(window.$apiurl + \"/unitofmeasure\", {\r\n method: \"post\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(someData),\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n window.$statusPostContact = statusCode;\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n return res[1];\r\n })\r\n .catch((error) => {\r\n //console.error(error);\r\n });\r\n }\r\n\r\n //Put\r\n async function PutUOM(someData, id) {\r\n return fetch(window.$apiurl + \"/unitofmeasure/\" + id, {\r\n method: \"put\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(someData),\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n window.$statusCodePut = statusCode;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n return res[1];\r\n })\r\n .catch((error) => {\r\n //console.error(error);\r\n });\r\n }\r\n mock.onPost(\"api/ManageUOM\").reply(async ({ data }) => {\r\n const { customer } = JSON.parse(data);\r\n const { Name = \"\", Description = \"\" } = customer;\r\n\r\n const id = generateUserId();\r\n const newUOM = {\r\n id,\r\n Name,\r\n Description,\r\n };\r\n var postUOM = await PostUOM(newUOM);\r\n //Manage Data Result\r\n if (postUOM.Id != undefined) {\r\n Notification(\"success\", \"Unit of measure has been added successfully\");\r\n postUOM.id = postUOM.Id;\r\n customerTableMock.push(newUOM);\r\n return [\r\n 200,\r\n { customer: newUOM, message: postUOM.Message, success: true },\r\n ];\r\n } else {\r\n if (postUOM.Message) {\r\n Notification(\"error\", postUOM.Message);\r\n } else {\r\n Notification(\"error\", \"Error occured\");\r\n }\r\n return [400, { message: postUOM.Message, success: false }];\r\n }\r\n });\r\n mock.onPost(\"api/ManageUOM/find\").reply(async (config) => {\r\n const mockUtils = new MockUtils();\r\n const { queryParams } = JSON.parse(config.data);\r\n customerTableMock = await GetAllUOM();\r\n //Filter\r\n if (\r\n queryParams.filter.Name !== \"\" &&\r\n queryParams.filter.Name !== undefined\r\n ) {\r\n const filterSearchText = queryParams.filter.Name.toLowerCase();\r\n customerTableMock = customerTableMock.filter(\r\n (word) =>\r\n String(word.Name.toLowerCase()).includes(String(filterSearchText)) ||\r\n String(word.Description.toLowerCase()).includes(\r\n String(filterSearchText)\r\n ) ||\r\n String(word.id).includes(String(queryParams.filter.Name))\r\n );\r\n }\r\n delete queryParams.filter.ReLoadTable;\r\n delete queryParams.filter.Name;\r\n const filterdCustomers = mockUtils.baseFilter(\r\n customerTableMock,\r\n queryParams\r\n );\r\n return [200, filterdCustomers];\r\n });\r\n\r\n mock.onPost(\"api/ManageUOM/filter\").reply(async (config) => {\r\n const mockUtils = new MockUtils();\r\n const { queryParams } = JSON.parse(config.data);\r\n customerTableMock = await GetAllUOM();\r\n delete queryParams.filter.ReLoadTable;\r\n const filterdCustomers = mockUtils.baseFilter(\r\n customerTableMock,\r\n queryParams\r\n );\r\n return [200, filterdCustomers];\r\n });\r\n\r\n mock.onPost(\"api/ManageUOM/deleteCustomers\").reply((config) => {\r\n const { ids } = JSON.parse(config.data);\r\n ids.forEach((id) => {\r\n const index = customerTableMock.findIndex((el) => el.id === id);\r\n if (index > -1) {\r\n customerTableMock.splice(index, 1);\r\n }\r\n });\r\n return [200];\r\n });\r\n\r\n mock.onPost(\"api/ManageUOM/updateStatusForCustomers\").reply((config) => {\r\n const { ids, status } = JSON.parse(config.data);\r\n customerTableMock.forEach((el) => {\r\n if (ids.findIndex((id) => id === el.id) > -1) {\r\n el.status = status;\r\n }\r\n });\r\n return [200];\r\n });\r\n\r\n mock.onGet(/api\\/ManageUOM\\/\\d+/).reply((config) => {\r\n const id = config.url.match(/api\\/ManageUOM\\/(\\d+)/)[1];\r\n const customer = customerTableMock.find((el) => el.id === +id);\r\n if (!customer) {\r\n return [400];\r\n }\r\n\r\n return [200, customer];\r\n });\r\n\r\n mock.onPut(/api\\/ManageUOM\\/\\d+/).reply(async (config) => {\r\n const id = config.url.match(/api\\/ManageUOM\\/(\\d+)/)[1];\r\n const { customer } = JSON.parse(config.data);\r\n var putUom = await PutUOM(customer, id);\r\n const index = customerTableMock.findIndex((el) => el.id === id);\r\n if (!index) {\r\n Notification(\"error\", \"Error Occured\");\r\n return [400];\r\n }\r\n customerTableMock[index] = { ...customer };\r\n document.getElementById(\"ReLoadTableId\").click();\r\n Notification(\"success\", \"success\");\r\n return [200];\r\n });\r\n\r\n mock.onDelete(/api\\/ManageUOM\\/\\d+/).reply(async (config) => {\r\n const id = config.url.match(/api\\/ManageUOM\\/(\\d+)/)[1];\r\n const index = customerTableMock.findIndex((el) => el.id === +id);\r\n var deleteObj = await DeleteUOM(id);\r\n if (!deleteObj) {\r\n return [400];\r\n }\r\n customerTableMock.splice(index, 1);\r\n if (!index === -1) {\r\n return [400];\r\n }\r\n return [200];\r\n });\r\n}\r\n\r\nfunction generateUserId() {\r\n const ids = customerTableMock.map((el) => el.id);\r\n const maxId = Math.max(...ids);\r\n return maxId + 1;\r\n}\r\nfunction ChangeId(list) {\r\n for (var item in list) {\r\n list[item].id = list[item].Id;\r\n delete list[item].Id;\r\n }\r\n return list;\r\n}\r\n","import MockUtils from \"./mock.utils\";\r\nimport { Notification } from \"../../../modules/Notification\";\r\nimport low from \"lowdb\";\r\nimport LocalStorage from \"lowdb/adapters/LocalStorage\";\r\nconst adapter = new LocalStorage(\"db\");\r\nconst db = low(adapter);\r\n\r\nlet customerTableMock;\r\nexport default async function mockFindShipments(mock) {\r\n function StatusMessage(res) {\r\n var status = res.status;\r\n var statusText = res.Message;\r\n if (status === 200) {\r\n Notification(\"success\", \"success\");\r\n return true;\r\n } else if (res.Message) {\r\n Notification(\"error\", statusText);\r\n return false;\r\n }\r\n }\r\n\r\n async function GetModel(CustomerId, ShipmentTypeId, StatusId) {\r\n if (CustomerId == undefined) {\r\n CustomerId = \"\";\r\n }\r\n if (ShipmentTypeId == undefined) {\r\n ShipmentTypeId = \"\";\r\n }\r\n if (StatusId == undefined) {\r\n StatusId = \"\";\r\n }\r\n return await fetch(\r\n `${window.$apiurl}/transportation/shipments?customerId=${CustomerId}&shipmentTypeId=${ShipmentTypeId}&statusId=${StatusId}`,\r\n {\r\n method: \"get\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n }\r\n )\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n return ChangeId(res[1][\"Shipments\"]);\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n\r\n async function GetModelId(id) {\r\n return await fetch(`${window.$apiurl}/transportation/shipments/${id}`, {\r\n method: \"get\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n res[1].id = res[1].Id;\r\n return res[1];\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n\r\n async function PostModel(someData) {\r\n return fetch(window.$apiurl + \"/transportation/shipments\", {\r\n method: \"post\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(someData),\r\n })\r\n .then(async (response) => {\r\n if (response.status === 400) {\r\n return response.json();\r\n } else {\r\n return await response;\r\n }\r\n })\r\n .then((res) => {\r\n return StatusMessage(res);\r\n })\r\n .catch((err) => {\r\n return StatusMessage(err);\r\n });\r\n }\r\n\r\n async function PutModel(someData, id) {\r\n let modelData = someData[\"product\"];\r\n return fetch(window.$apiurl + \"/transportation/shipments/\" + id, {\r\n method: \"put\",\r\n withCredentials: true,\r\n\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n \"Content-Type\": \"application/json\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n },\r\n body: JSON.stringify(modelData),\r\n })\r\n .then(async (response) => {\r\n if (response.status === 400) {\r\n return response.json();\r\n } else {\r\n return await response;\r\n }\r\n })\r\n .then((res) => {\r\n console.log(\"res\");\r\n console.log(res);\r\n return StatusMessage(res);\r\n })\r\n .catch((err) => {\r\n return StatusMessage(err);\r\n });\r\n }\r\n\r\n async function DeleteModel(id) {\r\n return await fetch(window.$apiurl + \"/FindShipments/\" + id, {\r\n method: \"delete\",\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n return response;\r\n })\r\n .then((res) => {\r\n return StatusMessage(res);\r\n })\r\n .catch((err) => {\r\n return StatusMessage(err);\r\n });\r\n }\r\n\r\n async function GetViewmodel() {\r\n return await fetch(\r\n window.$apiurl + \"/transportation/shipments/getviewmodel\",\r\n {\r\n method: \"get\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n }\r\n )\r\n .then((res) => res.json())\r\n .then((res) => {\r\n return res;\r\n })\r\n .catch((err) => {\r\n Notification(\"error\", \"err\");\r\n return false;\r\n });\r\n }\r\n\r\n async function GetShipmentsStatus(id) {\r\n return await fetch(\r\n window.$apiurl + \"/transportation/shipments/getbystatus?customerId=\" + id,\r\n {\r\n method: \"get\",\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"Content-Type\": \"application/json\",\r\n },\r\n }\r\n )\r\n .then((res) => res.json())\r\n .then((res) => {\r\n return res;\r\n })\r\n .catch((err) => {\r\n Notification(\"error\", \"err\");\r\n return false;\r\n });\r\n }\r\n\r\n async function GetShipmentDetail(id) {\r\n return await fetch(\r\n window.$apiurl + \"/transportation/shipments/status?id=\" + id,\r\n {\r\n method: \"get\",\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"Content-Type\": \"application/json\",\r\n },\r\n }\r\n )\r\n .then((res) => res.json())\r\n .then((res) => {\r\n return res;\r\n })\r\n .catch((err) => {\r\n Notification(\"error\", \"err\");\r\n return false;\r\n });\r\n }\r\n\r\n async function PostStartTracking(id) {\r\n return await fetch(\r\n window.$apiurl + \"/transportation/shipments/enabletracking/\" + id,\r\n {\r\n method: \"post\",\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"Content-Type\": \"application/json\",\r\n },\r\n }\r\n )\r\n .then((res) => res.json())\r\n .then((res) => {\r\n return StatusMessage(res);\r\n })\r\n .catch((err) => {\r\n return false;\r\n });\r\n }\r\n\r\n async function UpdateStatus(data) {\r\n return fetch(window.$apiurl + \"/transportation/shipments/update\", {\r\n method: \"post\",\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(data),\r\n })\r\n .then(async (response) => {\r\n return await response;\r\n })\r\n .then((res) => {\r\n return StatusMessage(res);\r\n })\r\n .catch((err) => {\r\n return StatusMessage(err);\r\n });\r\n }\r\n\r\n // Mock ---------------------------------------------------------------------------------\r\n mock.onGet(\"api/FindShipments/GetAllApi\").reply(async () => {\r\n const obj = await GetViewmodel();\r\n return [200, obj];\r\n });\r\n\r\n mock.onPost(\"api/FindShipments/ShipmentDetail\").reply(async (data) => {\r\n var id = JSON.parse(data.data).data;\r\n const obj = await GetShipmentDetail(id);\r\n return [200, obj];\r\n });\r\n\r\n mock.onPost(\"api/FindShipments/StartTracking\").reply(async (data) => {\r\n var id = JSON.parse(data.data).data;\r\n const obj = await PostStartTracking(id);\r\n return [200];\r\n });\r\n\r\n mock.onPost(\"api/FindShipments/UpdateStatus\").reply(async (data) => {\r\n var data = JSON.parse(data.data).data;\r\n const obj = await UpdateStatus(data);\r\n return [200, obj];\r\n });\r\n\r\n mock.onPost(\"api/FindShipments/GetShipmentsStatus\").reply(async (data) => {\r\n var id = JSON.parse(data.data).data;\r\n const obj = await GetShipmentsStatus(id);\r\n return [200, obj];\r\n });\r\n\r\n mock.onPost(\"api/FindShipments\").reply(async ({ data }) => {\r\n const { product } = JSON.parse(data);\r\n var postModel = await PostModel(product);\r\n document.getElementById(\"ReLoadTableId\").click();\r\n customerTableMock.push(product);\r\n return [200, { customer: product }];\r\n });\r\n\r\n mock.onPost(\"api/FindShipments/find\").reply(async (config) => {\r\n const mockUtils = new MockUtils();\r\n const { queryParams } = JSON.parse(config.data);\r\n const filter = queryParams.filter;\r\n customerTableMock = await GetModel(\r\n filter.CustomerId,\r\n filter.ShipmentTypeId,\r\n filter.StatusId\r\n );\r\n if (filter.id) {\r\n customerTableMock = customerTableMock.filter((word) =>\r\n String(word.id).includes(String(filter.id))\r\n );\r\n }\r\n if (filter.ShipmentTypeId) {\r\n customerTableMock = customerTableMock.filter((word) =>\r\n String(word.ShipmentTypeId).includes(String(filter.ShipmentTypeId))\r\n );\r\n }\r\n if (filter.StatusId) {\r\n customerTableMock = customerTableMock.filter((word) =>\r\n String(word.StatusId).includes(String(filter.StatusId))\r\n );\r\n }\r\n delete queryParams.filter.CustomerId;\r\n delete queryParams.filter.ShipmentTypeId;\r\n delete queryParams.filter.StatusId;\r\n delete queryParams.filter.ReLoadTable;\r\n const filterdCustomers = mockUtils.baseFilter(\r\n customerTableMock,\r\n queryParams\r\n );\r\n return [200, filterdCustomers];\r\n });\r\n\r\n mock.onPost(\"api/FindShipments/deleteCustomers\").reply(async (config) => {\r\n const { ids } = JSON.parse(config.data);\r\n ids.forEach((id) => {\r\n const index = customerTableMock.findIndex((el) => el.id === id);\r\n if (index > -1) {\r\n customerTableMock.splice(index, 1);\r\n }\r\n });\r\n return [200];\r\n });\r\n\r\n mock\r\n .onPost(\"api/FindShipments/updateStatusForCustomers\")\r\n .reply(async (config) => {\r\n const { ids, status } = JSON.parse(config.data);\r\n customerTableMock.forEach((el) => {\r\n if (ids.findIndex((id) => id === el.id) > -1) {\r\n el.status = status;\r\n }\r\n });\r\n return [200];\r\n });\r\n\r\n mock.onGet(/api\\/FindShipments\\/\\d+/).reply(async (config) => {\r\n const id = config.url.match(/api\\/FindShipments\\/(\\d+)/)[1];\r\n const customer = await GetModelId(id);\r\n if (!customer) {\r\n return [400];\r\n }\r\n return [200, customer];\r\n });\r\n\r\n mock.onPut(/api\\/FindShipments\\/\\d+/).reply(async (config) => {\r\n const id = config.url.match(/api\\/FindShipments\\/(\\d+)/)[1];\r\n const Putcustomer = JSON.parse(config.data);\r\n const { customer } = Putcustomer;\r\n var putObj = await PutModel(Putcustomer, id);\r\n if (!putObj) {\r\n return [400];\r\n }\r\n const index = customerTableMock.findIndex((el) => el.id === +id);\r\n if (index === -1) {\r\n return [400];\r\n }\r\n customerTableMock[index] = { ...customer };\r\n return [200];\r\n });\r\n\r\n mock.onDelete(/api\\/FindShipments\\/\\d+/).reply(async (config) => {\r\n const id = config.url.match(/api\\/FindShipments\\/(\\d+)/)[1];\r\n const index = customerTableMock.findIndex((el) => el.id === +id);\r\n if (index === -1) {\r\n return [400];\r\n }\r\n var deleteObj = await DeleteModel(id);\r\n if (!deleteObj) {\r\n return [400];\r\n }\r\n customerTableMock.splice(index, 1);\r\n return [200];\r\n });\r\n}\r\n\r\nfunction ChangeId(list) {\r\n for (var item in list) {\r\n list[item].id = list[item].Id;\r\n delete list[item].Id;\r\n }\r\n return list;\r\n}\r\n","import MockUtils from \"./mock.utils3\";\r\nimport { Notification } from \"../../Notification\";\r\nimport low from \"lowdb\";\r\nimport LocalStorage from \"lowdb/adapters/LocalStorage\";\r\nconst adapter = new LocalStorage(\"db\");\r\nconst db = low(adapter);\r\nlet carTableMock;\r\nlet carTableMock2;\r\nlet isreload = undefined;\r\nexport default function mockManageLSPCarrier(mock) {\r\n function StatusMessage(res) {\r\n var status = res.status;\r\n var statusText = res.statusText;\r\n if (status === 200) {\r\n Notification(\"success\", \"success\");\r\n return true;\r\n } else if (status === 400) {\r\n Notification(\"error\", statusText);\r\n return false;\r\n }\r\n }\r\n async function GetCarrierList(\r\n DotNUmber,\r\n IATANumber,\r\n Name,\r\n Phone,\r\n Scac,\r\n State,\r\n TsaCompliance,\r\n Unapproved,\r\n IsSmartWayPartner,\r\n IsActive,\r\n VendorTypeId,\r\n McNumber,\r\n rmisId,\r\n pageNumber,\r\n pageSize,\r\n sortField,\r\n sortOrder\r\n ) {\r\n return await fetch(\r\n `${window.$apiurl}/carriers/transport?search=${Name}&dotNumber=${DotNUmber}&iataCode=${IATANumber}&phoneNumber=${Phone}&scacCode=${Scac}&state=${State}&tsaCompliance=${TsaCompliance}&isCertified=${Unapproved}&isSmartWayPartner=${IsSmartWayPartner}&isActive=${IsActive}&vendorTypeId=${VendorTypeId}&mcNumber=${McNumber}&rmisId=${rmisId}&pageNumber=${pageNumber}&pageSize=${pageSize}&sortField=${sortField}&sortOrder=${sortOrder}`,\r\n {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n }\r\n )\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n return res[1];\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n async function DeleteMasterCarrier(id) {\r\n return await fetch(window.$apiurl + \"/carriers/\" + id, {\r\n method: \"delete\",\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n Accept: \"application/json, text/plain, */*\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n return res;\r\n })\r\n .catch((err) => {\r\n console.log(err);\r\n });\r\n }\r\n\r\n async function GetCarrier(id) {\r\n return await fetch(window.$apiurl + \"/carriers/transport/\" + id, {\r\n method: \"get\",\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n Accept: \"application/json, text/plain, */*\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then((res) => res.json())\r\n .then((res) => {\r\n return res;\r\n })\r\n .catch((err) => {\r\n Notification(\"error\", \"err\");\r\n return false;\r\n });\r\n }\r\n\r\n async function PutCarrier(id, someData) {\r\n return fetch(window.$apiurl + \"/carriers/transport/\" + id, {\r\n method: \"put\",\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(someData),\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n return res;\r\n })\r\n .catch((err) => {\r\n console.log(err);\r\n });\r\n }\r\n\r\n async function PostCarrier(someData) {\r\n return fetch(window.$apiurl + \"/carriers/transport\", {\r\n method: \"post\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(someData),\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n return res;\r\n })\r\n .catch((err) => {\r\n console.log(err);\r\n });\r\n }\r\n\r\n //--------------------------mock\r\n mock.onPost(\"api/ManageLSPCarrier\").reply(async ({ data }) => {\r\n const { product } = JSON.parse(data);\r\n carTableMock = undefined;\r\n const {\r\n Name = null,\r\n ScacCode = null,\r\n IsIntraStateCarrier = false,\r\n IsSmartWayPartner = false,\r\n IsActive = false,\r\n Approved = true,\r\n McNumber = null,\r\n DotNUmber = null,\r\n SmartWayFleetId = null,\r\n IATANumber = null,\r\n ExternalId=null,\r\n TsaComplianceId = 1,\r\n VendorTypeId = 1308,\r\n CompanyName = null,\r\n Phone = null,\r\n Fax = null,\r\n WebUrl = null,\r\n TrackingUrl = null,\r\n Street1 = null,\r\n Street2 = null,\r\n City = null,\r\n State = null,\r\n ZipCode = null,\r\n Country = null,\r\n Borkers = [],\r\n Score = 0,\r\n ScoreText = null,\r\n RequiredId = true,\r\n TaxId = null,\r\n Notes = null,\r\n IsTruckTools = false,\r\n IsSmallPckage = false,\r\n IsLTL = false,\r\n IsTruckLoad = false,\r\n IsDomesticFreight = false,\r\n IsCartage = false,\r\n IsOther = false,\r\n IsInsuranceProvider = false,\r\n IsDrayage = false,\r\n IsAirHouse = false,\r\n IsAirMaster = false,\r\n IsOcean = false,\r\n IsOceanCombined = false,\r\n IsNationalCarrier = false,\r\n IsZone0 = false,\r\n IsZone1 = false,\r\n IsZone2 = false,\r\n IsZone3 = false,\r\n IsZone4 = false,\r\n IsZone5 = false,\r\n IsZone6 = false,\r\n IsZone7 = false,\r\n IsZone8 = false,\r\n IsZone9 = false,\r\n IsZoneCA = false,\r\n IsZoneMX = false,\r\n UseFactoringCompany = false,\r\n AddressToUseId = 0,\r\n ComanyName = null,\r\n PrimaryStreet1 = null,\r\n PrimaryStreet2 = null,\r\n PrimaryCity = null,\r\n PrimaryState = null,\r\n PrimaryZipCode = null,\r\n PrimaryCountry = null,\r\n AccountPhone = null,\r\n AccountFax = null,\r\n Email = null,\r\n NetTermsId = 0,\r\n PreferredPaymentTypeId = 0,\r\n CreditLimit = 0,\r\n AcceptCreditCards = false,\r\n CreditCardPrcessFee = 0,\r\n PaymentFrequencyId = 0,\r\n NewMaxCoveredValue = 0,\r\n NewBuyRate = 0,\r\n NewBuyMinimum = 0,\r\n NewSellRate = 0,\r\n NewSellMiniumum = 0,\r\n NewDisclaimer = 0,\r\n UsedMaxCoveredValue = 0,\r\n UsedBuyRate = 0,\r\n UsedBuyMinimum = 0,\r\n UsedSellRate = 0,\r\n UsedSellMiniumum = 0,\r\n UsedDisclaimer = 0,\r\n DotStatus = null,\r\n BrokerAuthority = null,\r\n CommonAuthority = null,\r\n ContractAuthority = null,\r\n Rating = null,\r\n OutOfService = false,\r\n Drivers = 0,\r\n PowerUnits = 0,\r\n UnsafeDriving = 0,\r\n HoursofService = 0,\r\n VehicleMaintenance = 0,\r\n ControlledSubstance = 0,\r\n DriverFitness = 0,\r\n } = product;\r\n const newProduct = {\r\n Name,\r\n ScacCode,\r\n IsIntraStateCarrier,\r\n IsSmartWayPartner,\r\n IsActive,\r\n McNumber,\r\n DotNUmber,\r\n SmartWayFleetId,\r\n IATANumber,\r\n ExternalId,\r\n TsaComplianceId,\r\n VendorTypeId,\r\n CompanyName,\r\n Approved,\r\n Phone,\r\n Fax,\r\n WebUrl,\r\n TrackingUrl,\r\n Street1,\r\n Street2,\r\n City,\r\n State,\r\n ZipCode,\r\n Country,\r\n Borkers,\r\n Score,\r\n ScoreText,\r\n RequiredId,\r\n TaxId,\r\n Notes,\r\n IsTruckTools,\r\n IsSmallPckage,\r\n IsLTL,\r\n IsTruckLoad,\r\n IsDomesticFreight,\r\n IsCartage,\r\n IsOther,\r\n IsInsuranceProvider,\r\n IsDrayage,\r\n IsAirHouse,\r\n IsAirMaster,\r\n IsOcean,\r\n IsOceanCombined,\r\n IsNationalCarrier,\r\n IsZone0,\r\n IsZone1,\r\n IsZone2,\r\n IsZone3,\r\n IsZone4,\r\n IsZone5,\r\n IsZone6,\r\n IsZone7,\r\n IsZone8,\r\n IsZone9,\r\n IsZoneCA,\r\n IsZoneMX,\r\n UseFactoringCompany,\r\n AddressToUseId,\r\n ComanyName,\r\n PrimaryStreet1,\r\n PrimaryStreet2,\r\n PrimaryCity,\r\n PrimaryState,\r\n PrimaryZipCode,\r\n PrimaryCountry,\r\n AccountPhone,\r\n AccountFax,\r\n Email,\r\n NetTermsId,\r\n PreferredPaymentTypeId,\r\n CreditLimit,\r\n AcceptCreditCards,\r\n CreditCardPrcessFee,\r\n PaymentFrequencyId,\r\n NewMaxCoveredValue,\r\n NewBuyRate,\r\n NewBuyMinimum,\r\n NewSellRate,\r\n NewSellMiniumum,\r\n NewDisclaimer,\r\n UsedMaxCoveredValue,\r\n UsedBuyRate,\r\n UsedBuyMinimum,\r\n UsedSellRate,\r\n UsedSellMiniumum,\r\n UsedDisclaimer,\r\n DotStatus,\r\n BrokerAuthority,\r\n CommonAuthority,\r\n ContractAuthority,\r\n Rating,\r\n OutOfService,\r\n Drivers,\r\n PowerUnits,\r\n UnsafeDriving,\r\n HoursofService,\r\n VehicleMaintenance,\r\n ControlledSubstance,\r\n DriverFitness,\r\n };\r\n var PostCarrie = await PostCarrier(newProduct);\r\n if (PostCarrie[0] !== 200) {\r\n window.$LSPCarrierMsg = [400, PostCarrie[1]];\r\n return [400, { product: newProduct }];\r\n } else {\r\n window.$LSPCarrierMsg = [200, PostCarrie[1]];\r\n carTableMock.push(newProduct);\r\n //carTableMock.push(newProduct);\r\n return [200, { product: newProduct }];\r\n }\r\n });\r\n\r\n mock.onPost(\"api/ManageLSPCarrier/find\").reply(async (config) => {\r\n const mockUtils = new MockUtils();\r\n const { queryParams } = JSON.parse(config.data);\r\n console.log(\"queryParams\", queryParams);\r\n var DotNUmber = queryParams.filter.DotNUmber || \"\";\r\n var IATANumber = queryParams.filter.IATANumber || \"\";\r\n var Name = queryParams.filter.Name || \"\";\r\n var Phone = queryParams.filter.Phone || \"\";\r\n var Scac = queryParams.filter.Scac || \"\";\r\n var State = queryParams.filter.State || \"\";\r\n var TsaCompliance = queryParams.filter.TsaCompliance || \"\";\r\n var Unapproved = queryParams.filter.Unapproved===undefined?\"\":queryParams.filter.Unapproved;\r\n var IsSmartWayPartner = queryParams.filter.IsSmartWayPartner=== undefined ?\"\":queryParams.filter.IsSmartWayPartner;\r\n var IsActive = queryParams.filter.IsActive===undefined?\"\":queryParams.filter.IsActive;\r\n var VendorTypeId = queryParams.filter.VendorTypeId || \"\";\r\n var McNumber = queryParams.filter.McNumber || \"\";\r\n var pageNumber = queryParams.pageNumber || \"\";\r\n var pageSize = queryParams.pageSize || \"\";\r\n var sortField = queryParams.sortField || \"\";\r\n var sortOrder = queryParams.sortOrder || \"\";\r\n var rmisId = queryParams.filter.rmisId || \"\";\r\n const data = await GetCarrierList(\r\n DotNUmber,\r\n IATANumber,\r\n Name,\r\n Phone,\r\n Scac,\r\n State,\r\n TsaCompliance,\r\n Unapproved,\r\n IsSmartWayPartner,\r\n IsActive,\r\n VendorTypeId,\r\n McNumber,\r\n rmisId,\r\n pageNumber,\r\n pageSize,\r\n sortField,\r\n sortOrder\r\n );\r\n\r\n carTableMock2 = ChangeId(data.carriers);\r\n delete queryParams.filter.DotNUmber;\r\n delete queryParams.filter.IATANumber;\r\n delete queryParams.filter.Name;\r\n delete queryParams.filter.Phone;\r\n delete queryParams.filter.Scac;\r\n delete queryParams.filter.State;\r\n delete queryParams.filter.TsaCompliance;\r\n delete queryParams.filter.Unapproved;\r\n delete queryParams.filter.IsSmartWayPartner;\r\n delete queryParams.filter.IsActive;\r\n delete queryParams.filter.VendorTypeId;\r\n delete queryParams.filter.McNumber;\r\n delete queryParams.filter.rmisId;\r\n const filteredProducts = mockUtils.baseFilter(carTableMock2, queryParams);\r\n filteredProducts.totalCount = data?.Pagination?.TotalItemCount ?? 0;\r\n\r\n return [200, filteredProducts];\r\n });\r\n\r\n mock.onPost(\"api/ManageLSPCarrier/deleteProducts\").reply((config) => {\r\n carTableMock = undefined;\r\n const { ids } = JSON.parse(config.data);\r\n ids.forEach((id) => {\r\n const index = carTableMock.findIndex((el) => el.id === id);\r\n if (index > -1) {\r\n carTableMock.splice(index, 1);\r\n }\r\n });\r\n return [200];\r\n });\r\n\r\n mock\r\n .onPost(\"api/ManageLSPCarrier/updateStatusForProducts\")\r\n .reply((config) => {\r\n const { ids, status } = JSON.parse(config.data);\r\n carTableMock.forEach((el) => {\r\n if (ids.findIndex((id) => id === el.id) > -1) {\r\n el.status = status;\r\n }\r\n });\r\n return [200];\r\n });\r\n\r\n mock.onGet(/api\\/ManageLSPCarrier\\/\\d+/).reply(async (config) => {\r\n const id = config.url.match(/api\\/ManageLSPCarrier\\/(\\d+)/)[1];\r\n const product = await GetCarrier(id);\r\n if (!product) {\r\n return [400];\r\n }\r\n\r\n return [200, product];\r\n });\r\n\r\n mock.onPut(/api\\/ManageLSPCarrier\\/\\d+/).reply(async (config) => {\r\n const id = config.url.match(/api\\/ManageLSPCarrier\\/(\\d+)/)[1];\r\n const { product } = JSON.parse(config.data);\r\n product.MasterCarrierId = id;\r\n var postOrder = await PutCarrier(id, product);\r\n carTableMock = undefined;\r\n if (postOrder[0] !== 200) {\r\n window.$LSPCarrierMsg = [400, postOrder[1]];\r\n return [400];\r\n } else {\r\n window.$LSPCarrierMsg = [200, postOrder[1]];\r\n // const index = carTableMock.findIndex((el) => el.id === +id);\r\n // carTableMock[index] = { ...product };\r\n //carTableMock.push(newProduct);\r\n return [200];\r\n }\r\n });\r\n\r\n mock.onDelete(/api\\/ManageLSPCarrier\\/\\d+/).reply(async (config) => {\r\n carTableMock = undefined;\r\n const id = config.url.match(/api\\/ManageLSPCarrier\\/(\\d+)/)[1];\r\n var deleteMasterCarrier = await DeleteMasterCarrier(id);\r\n carTableMock = undefined;\r\n if (deleteMasterCarrier[0] !== 200) {\r\n window.$LSPCarrierMsg = [400, deleteMasterCarrier[1]];\r\n return [400];\r\n } else {\r\n window.$LSPCarrierMsg = [200, deleteMasterCarrier[1]];\r\n //carTableMock.push(newProduct);\r\n return [200];\r\n }\r\n });\r\n}\r\nfunction ChangeId(list) {\r\n for (var item in list) {\r\n list[item].id = list[item].Id;\r\n delete list[item].Id;\r\n }\r\n return list;\r\n}\r\n","export default [\r\n {\r\n id: 1,\r\n FileName:\"\",\r\n AttachmentType:\"\",\r\n CreatedDate:\"\",\r\n },\r\n ];\r\n","import AttachmentsTableMock from \"./AttachmentsTableMock\";\r\nimport LocalStorage from \"lowdb/adapters/LocalStorage\";\r\nimport MockUtils from \"./mock.utils\";\r\nimport low from \"lowdb\";\r\nconst adapter = new LocalStorage(\"db\");\r\nconst db = low(adapter);\r\nlet carTableMock;\r\n\r\nasync function GetCarrier(id) {\r\n return await fetch(window.$apiurl +\"/carriers/transport/\"+id, {\r\n method: \"get\",\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n Accept: \"application/json, text/plain, */*\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json(); \r\n return Promise.all([statusCode, data.Attachements]);\r\n })\r\n .then((res) => {\r\n return ChangeId(res[1]);\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n}\r\nasync function PostAttachment(CarrierId, AccessLevelId, AttachmentTypeId,AcceptedFiles) {\r\n var formdata = new FormData();\r\n AcceptedFiles.map((file) => {\r\n formdata.append(\"File\", file, file.name);\r\n });\r\n // const inputElement = document.getElementById(\"carrierAttachment\");\r\n // formdata.append(\"File\", inputElement.files[0], inputElement .value.split(\"\\\\\")[2]);\r\n var requestOptions = {\r\n method: \"POST\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n },\r\n body: formdata,\r\n };\r\n let response = await fetch(`${window.$apiurl}/carrier/attachments/add?carrierId=` + CarrierId + \"&accessLevelId=\" + AccessLevelId + \"&attachmentTypeId=\" + AttachmentTypeId, requestOptions);\r\n let data = await response.json()\r\n return data;\r\n}\r\nasync function DeleteInsurInfo(id) {\r\n return await fetch(window.$apiurl+\"/Carriers/attachment/delete/\" + id, {\r\n method: \"delete\",\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n return response;\r\n })\r\n .then((res) => {\r\n })\r\n .catch((err) => {\r\n });\r\n}\r\n//------------------------------------------------------------------------\r\nexport default function mockAttachments(mock) {\r\n mock.onPost(\"api/Attachments\").reply(async ({ data }) => {\r\n const Data = JSON.parse(data);\r\n const { remark } = Data;\r\n const { carId = Data.remark.carId, AccessLevelId = Data.remark.AccessLevelId, AttachmentTypeId = Data.remark.AttachmentTypeId} = remark;\r\n const id = generateRemarkId();\r\n const newRemark = {\r\n id,\r\n carId,\r\n AccessLevelId,\r\n AttachmentTypeId,\r\n };\r\n AttachmentsTableMock.push(newRemark);\r\n const files = window.$FilesCarriers;\r\n const datas = await PostAttachment(Data.remark.carId, Data.remark.AccessLevelId, Data.remark.AttachmentTypeId,files);\r\n if(datas==\"200\"){\r\n return [200, { remark: newRemark }];\r\n }else{\r\n return [400, { remark: newRemark }];\r\n }\r\n\r\n });\r\n\r\n mock.onPost(/api\\/Attachmentsfind\\/\\d+/).reply(async config => {\r\n const urls = config.url.split(\"/\");\r\n const id = urls[2];\r\n const product = await GetCarrier(id);\r\n window.AttachmentCarrierContract = product.filter(\r\n (word) =>\r\n String(word.Type).includes(String(\"Contract\"))\r\n ).length;\r\n \r\n // window.AttachmentCarrierInsurance =product.filter(\r\n // (word) =>\r\n // String(word.Type).includes(String(\"Insurance\"))\r\n // ).length;\r\n carTableMock = product;\r\n\r\n const mockUtils = new MockUtils();\r\n const { queryParams } = JSON.parse(config.data);\r\n const filterdRemarks = mockUtils.baseFilter(carTableMock, queryParams);\r\n return [200, filterdRemarks];\r\n });\r\n\r\n mock.onPost(\"api/Attachments/deleteRemarks\").reply(config => {\r\n const { ids } = JSON.parse(config.data);\r\n ids.forEach(id => {\r\n const index = AttachmentsTableMock.findIndex(el => el.id === id);\r\n if (index > -1) {\r\n AttachmentsTableMock.splice(index, 1);\r\n }\r\n \r\n });\r\n\r\n return [200];\r\n });\r\n\r\n mock.onGet(/api\\/Attachments\\/\\d+/).reply(config => {\r\n const id = config.url.match(/api\\/Attachments\\/(\\d+)/)[1];\r\n const remark = AttachmentsTableMock.find(el => el.id === +id);\r\n if (!remark) {\r\n return [400];\r\n }\r\n\r\n return [200, remark];\r\n });\r\n\r\n mock.onPut(/api\\/Attachments\\/\\d+/).reply(config => {\r\n const id = config.url.match(/api\\/Attachments\\/(\\d+)/)[1];\r\n const { remark } = JSON.parse(config.data);\r\n const index = AttachmentsTableMock.findIndex(el => el.id === +id);\r\n if (!index) {\r\n return [400];\r\n }\r\n\r\n AttachmentsTableMock[index] = { ...remark };\r\n return [200];\r\n });\r\n\r\n mock.onDelete(/api\\/Attachments\\/\\d+/).reply(async config => {\r\n const id = config.url.match(/api\\/Attachments\\/(\\d+)/)[1];\r\n var deleteMasterCarrier = await DeleteInsurInfo(id);\r\n const index = AttachmentsTableMock.findIndex(el => el.id === +id);\r\n AttachmentsTableMock.splice(index, 1);\r\n const product = await GetCarrier(id);\r\n window.AttachmentCarrierContract = product.filter(\r\n (word) =>\r\n String(word.Type).includes(String(\"Contract\"))\r\n ).length;\r\n \r\n // window.AttachmentCarrierInsurance =product.filter(\r\n // (word) =>\r\n // String(word.Type).includes(String(\"Insurance\"))\r\n // ).length;\r\n if (!index === -1) {\r\n return [400];\r\n }\r\n\r\n return [200];\r\n });\r\n}\r\n\r\nfunction generateRemarkId() {\r\n const ids = AttachmentsTableMock.map(el => el.id);\r\n const maxId = Math.max(...ids);\r\n return maxId + 1;\r\n}\r\nfunction ChangeId(list) {\r\n for (var item in list) {\r\n list[item].id = list[item].Id;\r\n delete list[item].Id;\r\n }\r\n return list;\r\n}","export default [\r\n {\r\n id: 1,\r\n Contact:\"\",\r\n Title:\"\",\r\n AirportsServiced:\"\",\r\n ContactType:\"\",\r\n DayPhone:\"\",\r\n NightPhone:\"\",\r\n MobilePhone:\"\",\r\n Fax:\"\",\r\n Email:\"\",\t\t\t\t\r\n },\r\n ];\r\n","import ContactInformationTableMock from \"./ContactInformationTableMock\";\r\nimport MockUtils from \"./mock.utils\";\r\nimport LocalStorage from \"lowdb/adapters/LocalStorage\";\r\nimport low from \"lowdb\";\r\nconst adapter = new LocalStorage(\"db\");\r\nconst db = low(adapter);\r\nlet carTableMock;\r\n\r\nasync function GetCarrier(id) {\r\n return await fetch(window.$apiurl +\"/carriers/transport/\"+id, {\r\n method: \"get\",\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n Accept: \"application/json, text/plain, */*\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json(); \r\n return Promise.all([statusCode, data.Contacts]);\r\n })\r\n .then((res) => {\r\n return ChangeId(res[1]);\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n}\r\nasync function PostContactCarrier(newRemark){\r\n return fetch(window.$apiurl +\"/carriers/transport/contacts\", {\r\n method: \"post\",\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n Accept: \"application/json, text/plain, */*\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(newRemark),\r\n })\r\n .then(async (response) => {\r\n return await response;\r\n })\r\n .then((res) => {\r\n })\r\n .catch((err) => {\r\n });\r\n}\r\nasync function GetContact(id) {\r\n return await fetch(window.$apiurl+\"/carriers/transport/contacts/\" + id, {\r\n method: \"get\",\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n Accept: \"application/json, text/plain, */*\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then((res) => res.json())\r\n .then((res) => {\r\n\r\n return res;\r\n })\r\n .catch((err) => {\r\n Notification(\"error\", \"err\");\r\n return false;\r\n });\r\n}\r\n\r\nasync function DeleteContactInfo(id) {\r\n return await fetch(window.$apiurl+\"/carriers/transport/contacts/\" + id, {\r\n method: \"delete\",\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n Accept: \"application/json, text/plain, */*\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n return response;\r\n })\r\n .then((res) => {\r\n })\r\n .catch((err) => {\r\n });\r\n}\r\nasync function PutContactCarrier(someData, id) {\r\n return fetch(window.$apiurl+\"/carriers/transport/contacts/\" + id, {\r\n method: \"put\",\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n Accept: \"application/json, text/plain, */*\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(someData),\r\n })\r\n .then(async (response) => {\r\n return await response;\r\n })\r\n .then((res) => {\r\n })\r\n .catch((err) => {\r\n });\r\n}\r\n//---------------------------------------------------------------------------\r\nexport default function mockContactInformation(mock) {\r\n mock.onPost(\"api/ContactInformation\").reply(async({ data }) => {\r\n \r\n const { remark } = JSON.parse(data);\r\n const urls = remark.carId;\r\n const {\r\n CarrierId=urls,\r\n ContactName=\"\",\r\n Title=\"\",\r\n ContactTypeId=0,\r\n AirportsServiced=\"\",\r\n Email=\"\",\r\n DayPhone=\"\",\r\n NightPhone=\"\",\r\n MobilePhone=\"\",\r\n Fax=\"\",\r\n Address1=\"\",\r\n Address2=\"\",\r\n City=\"\",\r\n State=\"\",\r\n PostalCode=\"\",\r\n Country=\"\",\r\n } = remark;\r\n const id = generateRemarkId();\r\n const newRemark = {\r\n CarrierId,\r\n ContactName,\r\n Title,\r\n ContactTypeId,\r\n AirportsServiced,\r\n Email,\r\n DayPhone,\r\n NightPhone,\r\n MobilePhone,\r\n Fax,\r\n Address1,\r\n Address2,\r\n City,\r\n State,\r\n PostalCode,\r\n Country,\r\n };\r\n const postContactCarrier = await PostContactCarrier(newRemark);\r\n ContactInformationTableMock.push(newRemark);\r\n return [200, { remark: newRemark }];\r\n });\r\n\r\n mock.onPost(/api\\/ContactInformationfind\\/\\d+/).reply(async config => {\r\n const urls = config.url.split(\"/\");\r\n const id = urls[2];\r\n const product = await GetCarrier(id);\r\n carTableMock = product;\r\n const mockUtils = new MockUtils();\r\n const { queryParams } = JSON.parse(config.data);\r\n const filterdRemarks = mockUtils.baseFilter(carTableMock, queryParams);\r\n return [200, filterdRemarks];\r\n });\r\n\r\n mock.onPost(\"api/ContactInformation/deleteRemarks\").reply(config => {\r\n const { ids } = JSON.parse(config.data);\r\n ids.forEach(id => {\r\n const index = ContactInformationTableMock.findIndex(el => el.id === id);\r\n if (index > -1) {\r\n ContactInformationTableMock.splice(index, 1);\r\n }\r\n });\r\n return [200];\r\n });\r\n\r\n mock.onGet(/api\\/ContactInformation\\/\\d+/).reply(async config => {\r\n \r\n const id = config.url.match(/api\\/ContactInformation\\/(\\d+)/)[1];\r\n const remark = await GetContact(id);\r\n if (!remark) {\r\n return [400];\r\n }\r\n\r\n return [200, remark];\r\n });\r\n\r\n mock.onPut(/api\\/ContactInformation\\/\\d+/).reply(config => {\r\n const id = config.url.match(/api\\/ContactInformation\\/(\\d+)/)[1];\r\n const { remark } = JSON.parse(config.data);\r\n const tt =PutContactCarrier(remark,id);\r\n const index = ContactInformationTableMock.findIndex(el => el.id === +id);\r\n if (!index) {\r\n return [400];\r\n }\r\n\r\n ContactInformationTableMock[index] = { ...remark };\r\n return [200];\r\n });\r\n\r\n mock.onDelete(/api\\/ContactInformation\\/\\d+/).reply(async config => {\r\n\r\n const id = config.url.match(/api\\/ContactInformation\\/(\\d+)/)[1];\r\n var deleteMasterCarrier = await DeleteContactInfo(id);\r\n if (!deleteMasterCarrier) return [400];\r\n const index = ContactInformationTableMock.findIndex(el => el.id === +id);\r\n ContactInformationTableMock.splice(index, 1);\r\n if (!index === -1) {\r\n return [400];\r\n }\r\n\r\n return [200];\r\n });\r\n}\r\n\r\nfunction generateRemarkId() {\r\n const ids = ContactInformationTableMock.map(el => el.id);\r\n const maxId = Math.max(...ids);\r\n return maxId + 1;\r\n}\r\nfunction ChangeId(list) {\r\n for (var item in list) {\r\n list[item].id = list[item].Id;\r\n delete list[item].Id;\r\n }\r\n return list;\r\n}","export default [\r\n {\r\n id: 1,\r\n CompanyName:\"\",\r\n InsuranceType:\"\",\r\n PolicyNumber:\"\",\r\n SourceType:\"\",\r\n EffectiveDate:\"\",\r\n ExpirationDate:\"\",\r\n InsuredAmount:\"\",\r\n InsuredPerPound:\"\",\r\n Phone:\"\",\t\t\t\t\r\n },\r\n ];\r\n","import InsuranceInformationTableMock from \"./InsuranceInformationTableMock\";\r\nimport MockUtils from \"./mock.utils\";\r\nimport LocalStorage from \"lowdb/adapters/LocalStorage\";\r\nimport low from \"lowdb\";\r\nconst adapter = new LocalStorage(\"db\");\r\nconst db = low(adapter);\r\nlet carTableMock;\r\n\r\nasync function GetCarrier(id) {\r\n return await fetch(window.$apiurl + \"/carriers/transport/\" + id, {\r\n method: \"get\",\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n Accept: \"application/json, text/plain, */*\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data.Insurances]);\r\n })\r\n .then((res) => {\r\n return ChangeId(res[1]);\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n}\r\n\r\nasync function PostInsuranceCarrier(newRemark) {\r\n var requestOptions = {\r\n method: 'POST',\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n Accept: \"application/json, text/plain, */*\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(newRemark),\r\n redirect: 'follow'\r\n };\r\n let response = await fetch(window.$apiurl + \"/carriers/transport/insurances\", requestOptions);\r\n let data = await response.json()\r\n return data;\r\n}\r\nasync function GetInsur(id) {\r\n return await fetch(window.$apiurl + \"/carriers/transport/insurances/\" + id, {\r\n method: \"get\",\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n Accept: \"application/json, text/plain, */*\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then((res) => res.json())\r\n .then((res) => {\r\n\r\n return res;\r\n })\r\n .catch((err) => {\r\n Notification(\"error\", \"err\");\r\n return false;\r\n });\r\n}\r\nasync function DeleteInsurInfo(id) {\r\n return await fetch(window.$apiurl + \"/carriers/transport/insurances/\" + id, {\r\n method: \"delete\",\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n Accept: \"application/json, text/plain, */*\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n return response;\r\n })\r\n .then((res) => {\r\n })\r\n .catch((err) => {\r\n });\r\n}\r\nasync function PutContactCarrier(someData, id) {\r\n const CarrierId = window.location.pathname.split('/')[2];\r\n\r\n someData.CarrierId = CarrierId;\r\n return fetch(window.$apiurl + \"/carriers/transport/insurances/\" + id, {\r\n method: \"put\",\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n Accept: \"application/json, text/plain, */*\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(someData),\r\n })\r\n .then(async (response) => {\r\n return await response;\r\n })\r\n .then((res) => {\r\n })\r\n .catch((err) => {\r\n });\r\n}\r\n//--------------------------------------\r\nexport default function mockInsuranceInformation(mock) {\r\n mock.onPost(\"api/InsuranceInformation\").reply(async ({ data }) => {\r\n const { remark } = JSON.parse(data);\r\n const urls = remark.carId;\r\n const {\r\n CompanyName = \"\",\r\n PolicyNumber = \"\",\r\n Phone = \"\",\r\n InsuranceTypeId = 0,\r\n Notes = \"\",\r\n EffectiveDate = \"\",\r\n ExpirationDate = \"\",\r\n InsuredAmount = 0,\r\n InsuredAmountPerPound = 0,\r\n City = \"\",\r\n State = \"\",\r\n ZipCode = \"\",\r\n Country = \"\",\r\n Street1 = \"\",\r\n Street2 = \"\",\r\n CarrierId = urls,\r\n } = remark;\r\n const newRemark = {\r\n CompanyName,\r\n PolicyNumber,\r\n Phone,\r\n InsuranceTypeId,\r\n Notes,\r\n EffectiveDate,\r\n ExpirationDate,\r\n InsuredAmount,\r\n InsuredAmountPerPound,\r\n City,\r\n State,\r\n ZipCode,\r\n Country,\r\n Street1,\r\n Street2,\r\n CarrierId,\r\n };\r\n await PostInsuranceCarrier(newRemark);\r\n InsuranceInformationTableMock.push(newRemark);\r\n return [200, { remark: newRemark }];\r\n });\r\n\r\n mock.onPost(/api\\/InsuranceInformationfind\\/\\d+/).reply(async config => {\r\n const urls = config.url.split(\"/\");\r\n const id = urls[2];\r\n const product = await GetCarrier(id);\r\n carTableMock = product;\r\n window.AttachmentCarrierInsurance =product.filter(\r\n (word) =>\r\n // String(word.InsuranceType).includes(String(\"General Liability\")) ||\r\n String(word.InsuranceType).includes(String(\"Auto Liability Insurance\")) ||\r\n String(word.InsuranceType).includes(String(\"Cargo Insurance\")) \r\n ).length;\r\n // const isGeneralLiability = product.filter(\r\n // (word) =>\r\n // String(word.InsuranceType).includes(String(\"General Liability\")) &&\r\n // word.InsuredAmount >= 1000000\r\n // ).length;\r\n const isCargoInsurance = product.filter(\r\n (word) =>\r\n String(word.InsuranceType).includes(String(\"Cargo Insurance\")) &&\r\n word.InsuredAmount >= 100000\r\n ).length;\r\n\r\n const isAutoLiabilityInsurance = product.filter(\r\n (word) =>\r\n String(word.InsuranceType).includes(String(\"Auto Liability Insurance\")) &&\r\n word.InsuredAmount >= 1000000\r\n ).length;\r\n const oneDay = 24 * 60 * 60 * 1000;\r\n const isExpirationDate = product.filter(\r\n (word) => {\r\n return (Math.round(Math.abs((new Date(word.ExpirationDate) - new Date()) / oneDay))<=30) ;\r\n }\r\n ).length;\r\n\r\n window.carrierInsuranceExpirationDate = isExpirationDate;\r\n window.carrierInsuranceTypeAmount = (isCargoInsurance > 0 && isAutoLiabilityInsurance > 0) ? true : false;\r\n \r\n const mockUtils = new MockUtils();\r\n const { queryParams } = JSON.parse(config.data);\r\n const filterdRemarks = mockUtils.baseFilter(carTableMock, queryParams);\r\n return [200, filterdRemarks];\r\n });\r\n\r\n mock.onPost(\"api/InsuranceInformation/deleteRemarks\").reply(config => {\r\n const { ids } = JSON.parse(config.data);\r\n ids.forEach(id => {\r\n const index = InsuranceInformationTableMock.findIndex(el => el.id === id);\r\n if (index > -1) {\r\n InsuranceInformationTableMock.splice(index, 1);\r\n }\r\n });\r\n return [200];\r\n });\r\n\r\n mock.onGet(/api\\/InsuranceInformation\\/\\d+/).reply(async config => {\r\n const id = config.url.match(/api\\/InsuranceInformation\\/(\\d+)/)[1];\r\n const remark = await GetInsur(id);\r\n if (!remark) {\r\n return [400];\r\n }\r\n return [200, remark];\r\n });\r\n\r\n mock.onPut(/api\\/InsuranceInformation\\/\\d+/).reply(async config => {\r\n const id = config.url.match(/api\\/InsuranceInformation\\/(\\d+)/)[1];\r\n const { remark } = JSON.parse(config.data);\r\n await PutContactCarrier(remark, id);\r\n const index = InsuranceInformationTableMock.findIndex(el => el.id === +id);\r\n if (!index) {\r\n return [400];\r\n }\r\n const product = await GetCarrier(id);\r\n carTableMock = product;\r\n window.AttachmentCarrierInsurance =product.filter(\r\n (word) =>\r\n String(word.InsuranceType).includes(String(\"General Liability\")) ||\r\n String(word.InsuranceType).includes(String(\"Auto Liability Insurance\")) ||\r\n String(word.InsuranceType).includes(String(\"Cargo Insurance\")) \r\n ).length;\r\n const isGeneralLiability = product.filter(\r\n (word) =>\r\n String(word.InsuranceType).includes(String(\"General Liability\")) &&\r\n word.InsuredAmount >= 1000000\r\n ).length;\r\n const isCargoInsurance = product.filter(\r\n (word) =>\r\n String(word.InsuranceType).includes(String(\"Cargo Insurance\")) &&\r\n word.InsuredAmount >= 100000\r\n ).length;\r\n\r\n const isAutoLiabilityInsurance = product.filter(\r\n (word) =>\r\n String(word.InsuranceType).includes(String(\"Auto Liability Insurance\")) &&\r\n word.InsuredAmount >= 1000000\r\n ).length;\r\n const oneDay = 24 * 60 * 60 * 1000;\r\n const isExpirationDate = product.filter(\r\n (word) => {\r\n return (Math.round(Math.abs((new Date(word.ExpirationDate) - new Date()) / oneDay))<=30) ;\r\n }\r\n ).length;\r\n\r\n window.carrierInsuranceExpirationDate = isExpirationDate;\r\n window.carrierInsuranceTypeAmount = isGeneralLiability > 0 && isCargoInsurance > 0 && isAutoLiabilityInsurance > 0 ? true : false;\r\n \r\n InsuranceInformationTableMock[index] = { ...remark };\r\n return [200];\r\n });\r\n\r\n mock.onDelete(/api\\/InsuranceInformation\\/\\d+/).reply(async config => {\r\n const id = config.url.match(/api\\/InsuranceInformation\\/(\\d+)/)[1];\r\n await DeleteInsurInfo(id);\r\n const index = InsuranceInformationTableMock.findIndex(el => el.id === +id);\r\n InsuranceInformationTableMock.splice(index, 1);\r\n if (!index === -1) {\r\n return [400];\r\n }\r\n\r\n return [200];\r\n });\r\n}\r\n\r\nfunction generateRemarkId() {\r\n const ids = InsuranceInformationTableMock.map(el => el.id);\r\n const maxId = Math.max(...ids);\r\n return maxId + 1;\r\n}\r\nfunction ChangeId(list) {\r\n for (var item in list) {\r\n list[item].id = list[item].Id;\r\n delete list[item].Id;\r\n }\r\n return list;\r\n}","import MockUtils from \"../mock.utils\";\r\nimport { Notification } from \"../../../../modules/Notification\";\r\nimport low from \"lowdb\";\r\nimport LocalStorage from \"lowdb/adapters/LocalStorage\";\r\nconst adapter = new LocalStorage(\"db\");\r\nconst db = low(adapter);\r\nlet customerTableMock;\r\nexport default function mockVessels(mock) {\r\n function StatusMessage(res) {\r\n var status = res.status;\r\n var statusText = res.statusText;\r\n if (status === 200) {\r\n Notification(\"success\", \"success\");\r\n return true;\r\n } else if (status === 400) {\r\n Notification(\"error\", statusText);\r\n return false;\r\n }\r\n }\r\n\r\n //Get all Vessels\r\n async function GetAllVessels() {\r\n return await fetch(window.$apiurl + \"/vessel\", {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n return ChangeId(res[1]);\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n\r\n async function GetModelId(id) {\r\n return await fetch(`${window.$apiurl}/vesselvoyage/${id}`, {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n var a = res[1][\"Voyage\"];\r\n a.id = a.Id;\r\n return a;\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n\r\n async function PostVessel(someData) {\r\n return fetch(window.$apiurl + \"/vessel/new\", {\r\n method: \"post\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(someData),\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n window.$statusPostContact = statusCode;\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n return res[1];\r\n })\r\n .catch((error) => {\r\n //console.error(error);\r\n });\r\n }\r\n\r\n //Put\r\n async function PutVessel(someData, id) {\r\n return fetch(window.$apiurl + \"/vessel/\" + id, {\r\n method: \"put\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(someData),\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n //window.$statusCodePut = statusCode;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n return res[1];\r\n })\r\n .catch((error) => {\r\n //console.error(error);\r\n });\r\n }\r\n\r\n //Delete Contact\r\n async function DeleteVessel(id) {\r\n return await fetch(`${window.$apiurl}/vessel/${id}`, {\r\n method: \"delete\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n return response;\r\n })\r\n .then((res) => {\r\n return StatusMessage(res);\r\n })\r\n .catch((err) => {\r\n return StatusMessage(err);\r\n });\r\n }\r\n\r\n mock.onPost(\"api/Vessels\").reply(async ({ data }) => {\r\n const { customer } = JSON.parse(data);\r\n const { Name = \"\", Imo = \"\", Mmsi = \"\", ShipId = \"\" } = customer;\r\n const newVessel = {\r\n Name,\r\n Imo,\r\n Mmsi,\r\n ShipId,\r\n };\r\n var postModel = await PostVessel(newVessel);\r\n if (postModel.Id !== undefined) {\r\n Notification(\"success\", \"Vessel has been added successfully\");\r\n postModel.id = postModel.Id;\r\n customerTableMock.push(newVessel);\r\n return [\r\n 200,\r\n { customer: newVessel, message: postModel.Message, success: true },\r\n ];\r\n } else {\r\n if (postModel.Message) {\r\n Notification(\"error\", postModel.Message);\r\n } else {\r\n Notification(\"error\", \"Error occured\");\r\n }\r\n return [400, { message: postModel.Message, success: false }];\r\n }\r\n });\r\n\r\n mock.onPost(\"api/Vessels/find\").reply(async (config) => {\r\n const mockUtils = new MockUtils();\r\n const { queryParams } = JSON.parse(config.data);\r\n customerTableMock = await GetAllVessels();\r\n //Filter\r\n if (\r\n queryParams.filter.Name !== \"\" &&\r\n queryParams.filter.Name !== undefined\r\n ) {\r\n customerTableMock = customerTableMock.filter(\r\n (word) =>\r\n String(word.Name).includes(String(queryParams.filter.Name)) ||\r\n String(word.VoyagesCount).includes(String(queryParams.filter.Name)) ||\r\n String(word.id).includes(String(queryParams.filter.Name))\r\n );\r\n }\r\n delete queryParams.filter.ReLoadTable;\r\n delete queryParams.filter.Name;\r\n const filterdCustomers = mockUtils.baseFilter(\r\n customerTableMock,\r\n queryParams\r\n );\r\n return [200, filterdCustomers];\r\n });\r\n\r\n mock.onPost(\"api/Vessels/filter\").reply(async (config) => {\r\n const mockUtils = new MockUtils();\r\n const { queryParams } = JSON.parse(config.data);\r\n customerTableMock = await GetAllVessels();\r\n delete queryParams.filter.ReLoadTable;\r\n const filterdCustomers = mockUtils.baseFilter(\r\n customerTableMock,\r\n queryParams\r\n );\r\n return [200, filterdCustomers];\r\n });\r\n\r\n mock.onPost(\"api/Vessels/deleteCustomers\").reply((config) => {\r\n const { ids } = JSON.parse(config.data);\r\n ids.forEach((id) => {\r\n const index = customerTableMock.findIndex((el) => el.id === id);\r\n if (index > -1) {\r\n customerTableMock.splice(index, 1);\r\n }\r\n });\r\n return [200];\r\n });\r\n\r\n mock.onPost(\"api/Vessels/updateStatusForCustomers\").reply((config) => {\r\n const { ids, status } = JSON.parse(config.data);\r\n customerTableMock.forEach((el) => {\r\n if (ids.findIndex((id) => id === el.id) > -1) {\r\n el.status = status;\r\n }\r\n });\r\n return [200];\r\n });\r\n\r\n mock.onGet(/api\\/Vessels\\/\\d+/).reply(async (config) => {\r\n const id = config.url.match(/api\\/Vessels\\/(\\d+)/)[1];\r\n const customer = customerTableMock.find((el) => el.id === +id);\r\n if (!customer) {\r\n return [400];\r\n }\r\n return [200, customer];\r\n });\r\n\r\n mock.onPut(/api\\/Vessels\\/\\d+/).reply(async (config) => {\r\n const id = config.url.match(/api\\/Vessels\\/(\\d+)/)[1];\r\n const { customer } = JSON.parse(config.data);\r\n await PutVessel(customer, id);\r\n const index = customerTableMock.findIndex((el) => el.id === +id);\r\n if (!index === -1) {\r\n Notification(\"error\", \"Error Occured\");\r\n return [400];\r\n }\r\n Notification(\"success\", \"success\");\r\n customerTableMock[index] = { ...customer };\r\n return [200];\r\n });\r\n\r\n mock.onDelete(/api\\/Vessels\\/\\d+/).reply(async (config) => {\r\n const id = config.url.match(/api\\/Vessels\\/(\\d+)/)[1];\r\n const index = customerTableMock.findIndex((el) => el.id === +id);\r\n var deleteObj = await DeleteVessel(id);\r\n if (!deleteObj) {\r\n return [400];\r\n }\r\n customerTableMock.splice(index, 1);\r\n if (!index === -1) {\r\n return [400];\r\n }\r\n return [200];\r\n });\r\n}\r\n\r\nfunction ChangeId(list) {\r\n for (var item in list) {\r\n list[item].id = list[item].Id;\r\n delete list[item].Id;\r\n }\r\n return list;\r\n}\r\n","import MockUtils from \"./mock.utils\";\r\nimport $ from \"jquery\";\r\nimport { Notification } from \"../../../modules/Notification\";\r\nimport low from \"lowdb\";\r\nimport LocalStorage from \"lowdb/adapters/LocalStorage\";\r\nconst adapter = new LocalStorage(\"db\");\r\nconst db = low(adapter);\r\nlet customerTableMock;\r\nexport default async function mockManageRates(mock) {\r\n function StatusMessage(res) {\r\n var status = res.status;\r\n var statusText = res.statusText;\r\n if (status === 200) {\r\n Notification(\"success\", \"success\");\r\n return true;\r\n } else if (status === 400) {\r\n Notification(\"error\", statusText);\r\n return false;\r\n }\r\n }\r\n\r\n async function GetTransactionBilling() {\r\n return await fetch(window.$apiurl + \"/TransloadBilling\", {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n return ChangeId(res[1]);\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n async function GetCustomers() {\r\n return await fetch(window.$apiurl + \"/customers\", {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n return ChangeId(res[1]);\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n\r\n async function GetTransloadBillingById(id) {\r\n return await fetch(window.$apiurl + \"/transloadBilling/\" + id, {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n return res[1];\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n\r\n async function PostTransloadBilling(someData) {\r\n return fetch(window.$apiurl + \"/transloadBilling\", {\r\n method: \"post\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(someData),\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n window.$statusPostRole = statusCode;\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n return res[1];\r\n })\r\n .catch((error) => {\r\n //console.error(error);\r\n });\r\n }\r\n\r\n async function PutTransloadBilling(someData, id) {\r\n return fetch(window.$apiurl + \"/transloadBilling/\" + id, {\r\n method: \"put\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(someData),\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n window.$statusCodePut = statusCode;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n return res[1];\r\n })\r\n .catch((error) => {\r\n //console.error(error);\r\n });\r\n }\r\n\r\n async function DeleteTransloadBilling(id) {\r\n return await fetch(window.$apiurl + \"/transloadBilling/\" + id, {\r\n method: \"delete\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n return response;\r\n })\r\n .then((res) => {\r\n return StatusMessage(res);\r\n })\r\n .catch((err) => {\r\n return StatusMessage(err);\r\n });\r\n }\r\n\r\n async function GetTransloadBilling(customerId, billingId) {\r\n return await fetch(\r\n window.$apiurl + \"/transloadBilling/\" + customerId + \"/\" + billingId,\r\n {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n }\r\n )\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n return ChangeId(res[1]);\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n\r\n // Mock ---------------------------------------------------------------------------------\r\n\r\n //Get list Checkbox\r\n //api/Roles/GetAllApi\r\n mock.onGet(\"api/ManageRates/GetAllApi\").reply(async () => {\r\n const obj = {};\r\n obj[\"Customers\"] = await GetCustomers();\r\n return [200, obj];\r\n });\r\n\r\n // new role\r\n mock.onPost(\"api/ManageRates\").reply(async ({ data }) => {\r\n const { customer } = JSON.parse(data);\r\n const {\r\n CustomerId = 0,\r\n IsQuickAdd = false,\r\n DateStart = \"\",\r\n DateEnd = \"\",\r\n BillingType = 0,\r\n Rate = 0,\r\n Name = \"\",\r\n Code = \"\",\r\n Description = \"\",\r\n } = customer;\r\n const id = generateUserId();\r\n const newRole = {\r\n id,\r\n CustomerId,\r\n BillingType,\r\n DateStart,\r\n DateEnd,\r\n IsQuickAdd,\r\n Rate,\r\n Name,\r\n Code,\r\n Description,\r\n };\r\n newRole.BillingType = customer.BillingTypeId;\r\n var postRole = await PostTransloadBilling(newRole);\r\n //Manage Data Result\r\n if (postRole != undefined) {\r\n Notification(\"success\", \"Rate has been added successfully\");\r\n postRole.id = postRole.Id;\r\n customerTableMock.push(newRole);\r\n document.getElementById(\"ReLoadTableId\").click();\r\n return [\r\n 200,\r\n { customer: newRole, message: postRole.Message, success: true },\r\n ];\r\n } else {\r\n if (postRole.Message) {\r\n Notification(\"error\", postRole.Message);\r\n document.getElementById(\"ReLoadTableId\").click();\r\n return [400, { message: postRole.Message, success: false }];\r\n } else {\r\n Notification(\"error\", \"Error occured\");\r\n document.getElementById(\"ReLoadTableId\").click();\r\n return [400, { message: postRole.Message, success: false }];\r\n }\r\n }\r\n });\r\n //get roles list\r\n mock.onPost(\"api/ManageRates/find\").reply(async (config) => {\r\n const mockUtils = new MockUtils();\r\n const { queryParams } = JSON.parse(config.data);\r\n if (\r\n ((queryParams.filter.CustomerId != \"\" + queryParams.filter.CustomerId) !=\r\n undefined + queryParams.filter.CustomerId) !=\r\n null ||\r\n ((queryParams.filter.BillingTypeId !=\r\n \"\" + queryParams.filter.BillingTypeId) !=\r\n undefined + queryParams.filter.BillingTypeId) !=\r\n null\r\n ) {\r\n if (queryParams.filter.CustomerId != undefined) {\r\n if (queryParams.filter.BillingTypeId != undefined) {\r\n customerTableMock = await GetTransloadBilling(\r\n queryParams.filter.CustomerId,\r\n queryParams.filter.BillingTypeId\r\n );\r\n }\r\n }\r\n }\r\n if (\r\n queryParams.filter.CustomerId === \"\" ||\r\n queryParams.filter.BillingTypeId === undefined\r\n ) {\r\n customerTableMock = await GetTransactionBilling();\r\n }\r\n if (!customerTableMock) {\r\n customerTableMock = await GetTransactionBilling();\r\n }\r\n delete queryParams.filter.ReLoadTable;\r\n delete queryParams.filter.CustomerId;\r\n delete queryParams.filter.BillingTypeId;\r\n const filterdCustomers = mockUtils.baseFilter(\r\n customerTableMock,\r\n queryParams\r\n );\r\n return [200, filterdCustomers];\r\n });\r\n\r\n mock.onPost(\"api/ManageRates/deleteCustomer\").reply((config) => {\r\n const { ids } = JSON.parse(config.data);\r\n ids.forEach((id) => {\r\n const index = customerTableMock.findIndex((el) => el.id === id);\r\n if (index > -1) {\r\n customerTableMock.splice(index, 1);\r\n }\r\n });\r\n return [200];\r\n });\r\n\r\n mock\r\n .onPost(\"api/ManageRates/updateStatusForCustomers\")\r\n .reply(async (config) => {\r\n const { ids, status } = JSON.parse(config.data);\r\n customerTableMock.forEach((el) => {\r\n if (ids.findIndex((id) => id === el.id) > -1) {\r\n el.status = status;\r\n }\r\n });\r\n return [200];\r\n });\r\n\r\n mock.onGet(/api\\/ManageRates\\/\\d+/).reply(async (config) => {\r\n const id = config.url.match(/api\\/ManageRates\\/(\\d+)/)[1];\r\n const customer = await GetTransloadBillingById(id);\r\n if (!customer) {\r\n return [400];\r\n }\r\n return [200, customer];\r\n });\r\n\r\n //edit\r\n mock.onPut(/api\\/ManageRates\\/\\d+/).reply(async (config) => {\r\n const id = config.url.match(/api\\/ManageRates\\/(\\d+)/)[1];\r\n const { customer } = JSON.parse(config.data);\r\n customer.BillingType = customer.BillingTypeId;\r\n if ($(\"#IsQuickAdd\").is(\":checked\")) {\r\n customer.IsQuickAdd = true;\r\n } else {\r\n customer.IsQuickAdd = false;\r\n }\r\n var putObj = await PutTransloadBilling(customer, id);\r\n const index = customerTableMock.findIndex((el) => el.id === +id);\r\n customer.id = customer.Id;\r\n customerTableMock[index] = { ...customer };\r\n document.getElementById(\"ReLoadTableId\").click();\r\n Notification(\"success\", \"success\");\r\n return [200];\r\n });\r\n\r\n //delet\r\n mock.onDelete(/api\\/ManageRates\\/\\d+/).reply(async (config) => {\r\n const id = config.url.match(/api\\/ManageRates\\/(\\d+)/)[1];\r\n const index = customerTableMock.findIndex((el) => el.id === +id);\r\n if (index === -1) {\r\n return [400];\r\n }\r\n var deleteObj = await DeleteTransloadBilling(id);\r\n if (!deleteObj) {\r\n return [400];\r\n }\r\n customerTableMock.splice(index, 1);\r\n return [200];\r\n });\r\n}\r\n\r\nfunction ChangeId(list) {\r\n for (var item in list) {\r\n list[item].id = list[item].Id;\r\n delete list[item].Id;\r\n }\r\n return list;\r\n}\r\n\r\nfunction generateUserId() {\r\n const ids = customerTableMock.map((el) => el.id);\r\n const maxId = Math.max(...ids);\r\n return maxId + 1;\r\n}\r\n","import MockUtils from \"./mock.utils\";\r\nlet customerTableMock;\r\nexport default function mockAddInventory(mock) {\r\n mock.onPost(\"api/AddInventory\").reply(({ data }) => {\r\n const { customer } = JSON.parse(data);\r\n const {\r\n Sku=\"\",\r\n Qualifier=\"\",\r\n Qty= \"\",\r\n Vol=\"\",\r\n Lot=\"\",\r\n Serial=\"\",\r\n ExpDate=\"\",\r\n Location=\"\",\r\n Cost=\"\",\r\n } = customer;\r\n\r\n const id = generateUserId();\r\n const newCustomer = {\r\n Sku,\r\n Qualifier,\r\n Qty,\r\n Vol,\r\n Lot,\r\n Serial,\r\n ExpDate,\r\n Location,\r\n Cost,\r\n };\r\n customerTableMock.push(newCustomer);\r\n return [200, { customer: newCustomer }];\r\n });\r\n\r\n mock.onPost(\"api/AddInventory/find\").reply(async (config) => {\r\n alert('on find');\r\n const mockUtils = new MockUtils();\r\n const { queryParams } = JSON.parse(config.data);\r\n const filterdCustomers = mockUtils.baseFilter(\r\n customerTableMock,\r\n queryParams\r\n );\r\n return [200, filterdCustomers];\r\n });\r\n\r\n mock.onPost(\"api/AddInventory/deleteCustomers\").reply(config => {\r\n const { ids } = JSON.parse(config.data);\r\n ids.forEach(id => {\r\n const index = customerTableMock.findIndex(el => el.id === id);\r\n if (index > -1) {\r\n customerTableMock.splice(index, 1);\r\n }\r\n });\r\n return [200];\r\n });\r\n\r\n mock.onPost(\"api/AddInventory/updateStatusForCustomers\").reply(config => {\r\n const { ids, status } = JSON.parse(config.data);\r\n customerTableMock.forEach(el => {\r\n if (ids.findIndex(id => id === el.id) > -1) {\r\n el.status = status;\r\n }\r\n });\r\n return [200];\r\n });\r\n\r\n mock.onGet(/api\\/AddInventory\\/\\d+/).reply(config => {\r\n const id = config.url.match(/api\\/customers\\/(\\d+)/)[1];\r\n const customer = customerTableMock.find(el => el.id === +id);\r\n if (!customer) {\r\n return [400];\r\n }\r\n\r\n return [200, customer];\r\n });\r\n\r\n mock.onPut(/api\\/AddInventory\\/\\d+/).reply(config => {\r\n const id = config.url.match(/api\\/customers\\/(\\d+)/)[1];\r\n const { customer } = JSON.parse(config.data);\r\n const index = customerTableMock.findIndex(el => el.id === +id);\r\n if (!index) {\r\n return [400];\r\n }\r\n\r\n customerTableMock[index] = { ...customer };\r\n return [200];\r\n });\r\n\r\n mock.onDelete(/api\\/AddInventory\\/\\d+/).reply(config => {\r\n const id = config.url.match(/api\\/customers\\/(\\d+)/)[1];\r\n const index = customerTableMock.findIndex(el => el.id === +id);\r\n customerTableMock.splice(index, 1);\r\n if (!index === -1) {\r\n return [400];\r\n }\r\n\r\n return [200];\r\n });\r\n}\r\n\r\nfunction generateUserId() {\r\n const ids = customerTableMock.map(el => el.id);\r\n const maxId = Math.max(...ids);\r\n return maxId + 1;\r\n}\r\n\r\nfunction ChangeId(list) {\r\n for (var item in list) {\r\n list[item].id = list[item].Id;\r\n delete list[item].Id;\r\n }\r\n return list;\r\n}","import MockUtils from \"./mock.utils3\";\r\nimport moment from \"moment\";\r\nimport low from \"lowdb\";\r\nimport LocalStorage from \"lowdb/adapters/LocalStorage\";\r\nconst adapter = new LocalStorage(\"db\");\r\nconst db = low(adapter);\r\nlet customerTableMock;\r\n\r\nexport default function mockAllOrderBeta(mock) {\r\n async function GetModel(\r\n searchText,\r\n customerId,\r\n statusId,\r\n ServiceId,\r\n ModeId,\r\n serviceLevelId,\r\n equipmentTypeId,\r\n equipmentSizeId,\r\n shipFrom,\r\n Carrier,\r\n DateRangeType,\r\n startDate,\r\n endDate,\r\n isHot,\r\n isHazardousMaterial,\r\n IsHeavy,\r\n ShipmentException,\r\n Cancled,\r\n Closed,\r\n pageNumber,\r\n pageSize,\r\n sortField,\r\n sortOrder,\r\n srch\r\n ) {\r\n if (customerId === undefined) {\r\n customerId = \"?customerId=\" + window.$ShipmentManagementCustomerId;\r\n }\r\n if (\r\n window.$ShipmentManagementCustomerId &&\r\n window.$CustomerIdsSm === \"?customerId=\"\r\n ) {\r\n customerId = \"?customerId=\" + window.$ShipmentManagementCustomerId;\r\n }\r\n if (ModeId === undefined) ModeId = window.$ShipmentManagementModeId;\r\n if (isHot === undefined) isHot = false;\r\n if (isHazardousMaterial === undefined) isHazardousMaterial = false;\r\n if (IsHeavy === undefined) IsHeavy = false;\r\n if (startDate === undefined || startDate === null || startDate === \"\") {\r\n startDate =\r\n window.$SmGsearchStartDate ||\r\n moment()\r\n .add(-28, \"days\")\r\n .format(\"YYYY-MM-DD\");\r\n }\r\n if (endDate === undefined || endDate === null || endDate === \"\") {\r\n endDate = moment().format(\"YYYY-MM-DD\");\r\n }\r\n if (window.$clearableDate) {\r\n startDate = \"\";\r\n endDate = \"\";\r\n }\r\n if (ShipmentException === undefined) ShipmentException = \"\";\r\n if (ServiceId === \"\" || ServiceId === undefined)\r\n ServiceId = window.$ShipmentManagementServiceId || \"\";\r\n if (serviceLevelId === undefined) serviceLevelId = 0;\r\n if (equipmentTypeId === undefined) equipmentTypeId = 0;\r\n if (equipmentSizeId === undefined) equipmentSizeId = 0;\r\n if (shipFrom === undefined) shipFrom = \"\";\r\n if (\r\n Carrier === undefined ||\r\n window.$ShipmentManagementStatus === 1 ||\r\n window.$ShipmentManagementStatus === 2 \r\n )\r\n Carrier = \"\";\r\n if (DateRangeType === undefined) DateRangeType = \"created\";\r\n //exportSearchNameFile\r\n window.$exportFilterSM =\r\n \"Shipments_Status_\" +\r\n window.$ShipmentManagementStatusName +\r\n \"_Service_\" +\r\n window.$ShipmentManagementServiceName +\r\n \"_Mode_\" +\r\n window.$ShipmentManagementModeName +\r\n \"_Customer_\" +\r\n (window.$CustomerListOverview !== undefined &&\r\n window.$CustomerListOverview !== \"\"\r\n ? window.$CustomerListOverview.map((item) => item + \" , \")\r\n : window.$CustomerListOverview === \"\"\r\n ? \"All\"\r\n : window.$ShipmentManagementCustomerName) +\r\n \"_StartDate_\" +\r\n startDate +\r\n \"_EndDate_\" +\r\n endDate +\r\n \"_Hot_\" +\r\n window.$ShipmentManagementHot +\r\n \"_Hazmat_\" +\r\n window.$ShipmentManagementHazmat +\r\n \"_IsHeavy_\" +\r\n IsHeavy +\r\n \"_Canceled_\" +\r\n String(Cancled) +\r\n \"_Closed_\" +\r\n String(Closed);\r\n \r\n window.exportSMLink = `/transportation/shipments/beta${customerId}&statusId=${statusId}&ServiceId=${ServiceId}&modeId=${ModeId}&serviceLevelId=${serviceLevelId}&equipmentTypeId=${equipmentTypeId}&equipmentSizeId=${equipmentSizeId}&shipFromId=${shipFrom}&VendorId=${Carrier}&filterDate=${DateRangeType}&startDate=${startDate}&endDate=${endDate}&isHot=${isHot}&isHazardousMaterial=${isHazardousMaterial}&IsHeavy=${IsHeavy}&exception=${ShipmentException}&IsCancel=${Cancled}&IsClosed=${Closed}&pageNumber=${pageNumber}&pageSize=1000000000&sortField=${sortField}&sortOrder=${sortOrder}&search=${srch}${window.location.href.includes(\"TransportManagementSystem\")?\"&category=Transportation\":\"\" }`;\r\n window.SMLinkUsed = `${customerId}&statusId=${statusId}&ServiceId=${ServiceId}&modeId=${ModeId}&serviceLevelId=${serviceLevelId}&equipmentTypeId=${equipmentTypeId}&equipmentSizeId=${equipmentSizeId}&shipFromId=${shipFrom}&VendorId=${Carrier}&filterDate=${DateRangeType}&startDate=${startDate}&endDate=${endDate}&isHot=${isHot}&isHazardousMaterial=${isHazardousMaterial}&IsHeavy=${IsHeavy}&exception=${ShipmentException}&IsCancel=${Cancled}&IsClosed=${Closed}`;\r\n return await fetch(\r\n `${window.$apiurl}/transportation/shipments/beta${customerId}&statusId=${statusId}&ServiceId=${ServiceId}&modeId=${ModeId}&serviceLevelId=${serviceLevelId}&equipmentTypeId=${equipmentTypeId}&equipmentSizeId=${equipmentSizeId}&shipFromId=${shipFrom}&VendorId=${Carrier}&filterDate=${DateRangeType}&startDate=${startDate}&endDate=${endDate}&isHot=${isHot}&isHazardousMaterial=${isHazardousMaterial}&IsHeavy=${IsHeavy}&exception=${ShipmentException}&IsCancel=${Cancled}&IsClosed=${Closed}&pageNumber=${pageNumber}&pageSize=${pageSize}&sortField=${sortField}&sortOrder=${sortOrder}&search=${srch}${window.location.href.includes(\"TransportManagementSystem\")?\"&category=Transportation\":\"\" }`,\r\n {\r\n method: \"get\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n }\r\n )\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n if (statusCode === 401) {\r\n try {\r\n document.getElementById(\"401Link\").click();\r\n } catch (err) {\r\n console.log(err);\r\n }\r\n }\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n return res[1];\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n\r\n // async function GetModelCount() {\r\n // return await fetch(\r\n // `${window.$apiurl}/transportation/shipments?customerId=${window.$ShipmentManagementCustomerId}&statusId=${window.$ShipmentManagementStatus}&ServiceId=${window.$ShipmentManagementServiceId}&modeId=${window.$ShipmentManagementModeId}&serviceLevelId=${window.$ShipmentManagementServiceLevelId}`,\r\n // {\r\n // method: \"get\",\r\n // withCredentials: true,\r\n // headers: {\r\n // Accept: \"application/json, text/plain, */*\",\r\n // Authorization: `bearer ${db.read().getState().Token}`,\r\n // \"X-FP-API-KEY\": \"iphone\",\r\n // \"Content-Type\": \"application/json\",\r\n // },\r\n // }\r\n // )\r\n // .then(async (response) => {\r\n // const statusCode = await response.status;\r\n // const data = await response.json();\r\n // return Promise.all([statusCode, data]);\r\n // })\r\n // .then((res) => {\r\n // return res[1];\r\n // })\r\n // .catch((error) => {\r\n // console.error(error);\r\n // });\r\n // }\r\n\r\n async function GetViewmodel() {\r\n return await fetch(\r\n window.$apiurl + \"/transportation/shipments/getviewmodel\",\r\n {\r\n method: \"get\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n }\r\n )\r\n .then((res) => res.json())\r\n .then((res) => {\r\n return res;\r\n })\r\n .catch((err) => {\r\n Notification(\"error\", \"err\");\r\n return false;\r\n });\r\n }\r\n\r\n //----------------------------------------------------------------\r\n mock.onGet(\"api/FindShipments/AllOrderBeta\").reply(async () => {\r\n const obj = await GetViewmodel();\r\n return [200, obj];\r\n });\r\n // mock.onGet(\"api/FindShipments/GetAllApiCount\").reply(async () => {\r\n // const obj = await GetModelCount();\r\n // window.$shipmentCount = obj.ShipmentsCount;\r\n // window.$ShipmentExceptions = obj.ShipmentExceptions;\r\n // return [200, obj];\r\n // });\r\n mock.onPost(\"api/AllOrderBeta\").reply(({ data }) => {\r\n const { customer } = JSON.parse(data);\r\n const {\r\n Created = \"\",\r\n Container = \"\",\r\n WHlocation = \"\",\r\n Pickuplocation = \"\",\r\n Mode = \"\",\r\n Vendor = \"\",\r\n PickupApt = \"\",\r\n PlanDate = \"\",\r\n Status = \"\",\r\n } = customer;\r\n\r\n const id = generateUserId();\r\n const newCustomer = {\r\n Created,\r\n Container,\r\n WHlocation,\r\n Pickuplocation,\r\n Mode,\r\n Vendor,\r\n PickupApt,\r\n PlanDate,\r\n Status,\r\n };\r\n customerTableMock.push(newCustomer);\r\n return [200, { customer: newCustomer }];\r\n });\r\n\r\n mock.onPost(\"api/AllOrderBeta/find\").reply(async (config) => {\r\n \r\n const mockUtils = new MockUtils();\r\n const { queryParams } = JSON.parse(config.data);\r\n const _filter = queryParams;\r\n window.shipmentCount = undefined;\r\n var srch = \"\";\r\n srch = window.$SmGsearchText || \"\";\r\n const gg = await GetModel(\r\n _filter.filter.searchText,\r\n window.$CustomerIdsSm,\r\n window.$ShipmentManagementStatus,\r\n window.$ShipmentManagementServiceId,\r\n window.$ShipmentManagementModeId,\r\n window.$ShipmentManagementServiceLevelId,\r\n queryParams.filter.equipmentTypeId,\r\n queryParams.filter.equipmentSizeId,\r\n queryParams.filter.shipFrom,\r\n queryParams.filter.Carrier,\r\n queryParams.filter.DateRangeType,\r\n window.$SmGsearchStartDate,\r\n queryParams.filter.endDate,\r\n queryParams.filter.isHot,\r\n queryParams.filter.isHazardousMaterial,\r\n queryParams.filter.IsHeavy,\r\n window.$ShipmentManagementexception,\r\n window.$ShipmentManagementCanceled === undefined ? null : window.$ShipmentManagementCanceled,\r\n window.$ShipmentManagementClosed,\r\n queryParams.pageNumber,\r\n queryParams.pageSize,\r\n queryParams.sortField,\r\n queryParams.sortOrder,\r\n srch\r\n );\r\n window.$dataNewShipments = gg.Shipments;\r\n customerTableMock = ChangeId(gg.Shipments);\r\n window.shipmentCount = gg.ShipmentsCount;\r\n window.ShipmentStatus = gg.ShipmentStatus;\r\n _filter.TotalItems = gg.Pagination.TotalItemCount;\r\n\r\n delete _filter.filter.ReLoadTable;\r\n delete _filter.filter.searchText;\r\n delete _filter.filter.shipmentTypeId;\r\n delete _filter.filter.ServiceId;\r\n delete _filter.filter.equipmentTypeId;\r\n delete _filter.filter.equipmentSizeId;\r\n delete _filter.filter.shipFrom;\r\n delete _filter.filter.DateRangeType;\r\n delete _filter.filter.serviceLevelId;\r\n delete _filter.filter.isHot;\r\n delete _filter.filter.isHazardousMaterial;\r\n delete _filter.filter.IsHeavy;\r\n delete _filter.filter.startDate;\r\n delete _filter.filter.endDate;\r\n delete _filter.filter.Filter;\r\n delete _filter.filter.statusId;\r\n delete _filter.filter.Cancled;\r\n const filterdCustomers = mockUtils.baseFilter(customerTableMock, _filter);\r\n return [200, filterdCustomers];\r\n });\r\n\r\n mock.onPost(\"api/AllOrderBeta/deleteCustomers\").reply((config) => {\r\n const { ids } = JSON.parse(config.data);\r\n ids.forEach((id) => {\r\n const index = customerTableMock.findIndex((el) => el.id === id);\r\n if (index > -1) {\r\n customerTableMock.splice(index, 1);\r\n }\r\n });\r\n return [200];\r\n });\r\n\r\n mock.onPost(\"api/AllOrderBeta/updateStatusForCustomers\").reply((config) => {\r\n const { ids, status } = JSON.parse(config.data);\r\n customerTableMock.forEach((el) => {\r\n if (ids.findIndex((id) => id === el.id) > -1) {\r\n el.status = status;\r\n }\r\n });\r\n return [200];\r\n });\r\n\r\n mock.onGet(/api\\/AllOrderBeta\\/\\d+/).reply((config) => {\r\n const id = config.url.match(/api\\/AllOrderBeta\\/(\\d+)/)[1];\r\n const customer = customerTableMock.find((el) => el.id === +id);\r\n if (!customer) {\r\n return [400];\r\n }\r\n\r\n return [200, customer];\r\n });\r\n\r\n mock.onPut(/api\\/AllOrderBeta\\/\\d+/).reply((config) => {\r\n const id = config.url.match(/api\\/AllOrderBeta\\/(\\d+)/)[1];\r\n const { customer } = JSON.parse(config.data);\r\n const index = customerTableMock.findIndex((el) => el.id === +id);\r\n if (!index) {\r\n return [400];\r\n }\r\n\r\n customerTableMock[index] = { ...customer };\r\n return [200];\r\n });\r\n\r\n mock.onDelete(/api\\/AllOrderBeta\\/\\d+/).reply((config) => {\r\n const id = config.url.match(/api\\/AllOrderBeta\\/(\\d+)/)[1];\r\n const index = customerTableMock.findIndex((el) => el.id === +id);\r\n customerTableMock.splice(index, 1);\r\n if (!index === -1) {\r\n return [400];\r\n }\r\n\r\n return [200];\r\n });\r\n}\r\n\r\nfunction generateUserId() {\r\n const ids = customerTableMock.map((el) => el.id);\r\n const maxId = Math.max(...ids);\r\n return maxId + 1;\r\n}\r\nfunction ChangeId(list) {\r\n for (var item in list) {\r\n list[item].id = list[item].Id;\r\n }\r\n return list;\r\n}\r\n","import MockUtils from \"./mock.utils3\";\r\nimport moment from \"moment\";\r\nimport low from \"lowdb\";\r\nimport LocalStorage from \"lowdb/adapters/LocalStorage\";\r\nconst adapter = new LocalStorage(\"db\");\r\nconst db = low(adapter);\r\nlet customerTableMock;\r\n\r\nexport default function mockAllOrderBetaTMS(mock) {\r\n async function GetModel(\r\n searchText,\r\n customerId,\r\n statusId,\r\n ServiceId,\r\n ModeId,\r\n serviceLevelId,\r\n equipmentTypeId,\r\n equipmentSizeId,\r\n shipFrom,\r\n Carrier,\r\n DateRangeType,\r\n startDate,\r\n endDate,\r\n isHot,\r\n isHazardousMaterial,\r\n IsHeavy,\r\n ShipmentException,\r\n Cancled,\r\n Closed,\r\n pageNumber,\r\n pageSize,\r\n sortField,\r\n sortOrder,\r\n srch\r\n ) {\r\n if (customerId === undefined) {\r\n customerId = \"?customerId=\" + window.$ShipmentManagementCustomerId;\r\n }\r\n if (\r\n window.$ShipmentManagementCustomerId &&\r\n window.$CustomerIdsSm === \"?customerId=\"\r\n ) {\r\n customerId = \"?customerId=\" + window.$ShipmentManagementCustomerId;\r\n }\r\n if (ModeId === undefined) ModeId = window.$ShipmentManagementTMSModeId;\r\n if (isHot === undefined) isHot = false;\r\n if (isHazardousMaterial === undefined) isHazardousMaterial = false;\r\n if (IsHeavy === undefined) IsHeavy = false;\r\n if (startDate === undefined || startDate === null || startDate === \"\") {\r\n startDate =\r\n window.$SmGsearchStartDate ||\r\n moment()\r\n .add(-28, \"days\")\r\n .format(\"YYYY-MM-DD\");\r\n }\r\n if (endDate === undefined || endDate === null || endDate === \"\") {\r\n endDate = moment().format(\"YYYY-MM-DD\");\r\n }\r\n if (window.$clearableDate) {\r\n startDate = \"\";\r\n endDate = \"\";\r\n }\r\n if (ShipmentException === undefined) ShipmentException = \"\";\r\n if (ServiceId === \"\" || ServiceId === undefined)\r\n ServiceId = window.$ShipmentManagementTMSServiceId || \"\";\r\n if (serviceLevelId === undefined) serviceLevelId = 0;\r\n if (equipmentTypeId === undefined) equipmentTypeId = 0;\r\n if (equipmentSizeId === undefined) equipmentSizeId = 0;\r\n if (shipFrom === undefined) shipFrom = \"\";\r\n if (\r\n Carrier === undefined ||\r\n window.$ShipmentManagementTMSStatus === 1 ||\r\n window.$ShipmentManagementTMSStatus === 2 ||\r\n window.$ShipmentManagementTMSStatus === 3\r\n )\r\n Carrier = \"\";\r\n if (DateRangeType === undefined) DateRangeType = \"created\";\r\n //exportSearchNameFile\r\n window.$exportFilterSM =\r\n \"Shipments_Status_\" +\r\n window.$ShipmentManagementTMSStatusName +\r\n \"_Service_\" +\r\n window.$ShipmentManagementTMSServiceName +\r\n \"_Mode_\" +\r\n window.$ShipmentManagementTMSModeName +\r\n \"_Customer_\" +\r\n (window.$CustomerListOverview !== undefined &&\r\n window.$CustomerListOverview !== \"\"\r\n ? window.$CustomerListOverview.map((item) => item + \" , \")\r\n : window.$CustomerListOverview === \"\"\r\n ? \"All\"\r\n : window.$ShipmentManagementCustomerName) +\r\n \"_StartDate_\" +\r\n startDate +\r\n \"_EndDate_\" +\r\n endDate +\r\n \"_Hot_\" +\r\n window.$ShipmentManagementHot +\r\n \"_Hazmat_\" +\r\n window.$ShipmentManagementHazmat +\r\n \"_IsHeavy_\" +\r\n IsHeavy +\r\n \"_Canceled_\" +\r\n String(Cancled) +\r\n \"_Closed_\" +\r\n String(Closed);\r\n \r\n window.exportSMLink = `/transportation/shipments/beta${customerId}&statusId=${statusId}&ServiceId=${ServiceId}&modeId=${ModeId}&serviceLevelId=${serviceLevelId}&equipmentTypeId=${equipmentTypeId}&equipmentSizeId=${equipmentSizeId}&shipFromId=${shipFrom}&VendorId=${Carrier}&filterDate=${DateRangeType}&startDate=${startDate}&endDate=${endDate}&isHot=${isHot}&isHazardousMaterial=${isHazardousMaterial}&IsHeavy=${IsHeavy}&exception=${ShipmentException}&IsCancel=${Cancled}&IsClosed=${Closed}&pageNumber=${pageNumber}&pageSize=1000000000&sortField=${sortField}&sortOrder=${sortOrder}&search=${srch}${window.location.href.includes(\"TransportManagementSystem\")?\"&category=Transportation\":\"\" }`;\r\n return await fetch(\r\n `${window.$apiurl}/transportation/shipments/beta${customerId}&statusId=${statusId}&ServiceId=${ServiceId}&modeId=${ModeId}&serviceLevelId=${serviceLevelId}&equipmentTypeId=${equipmentTypeId}&equipmentSizeId=${equipmentSizeId}&shipFromId=${shipFrom}&VendorId=${Carrier}&filterDate=${DateRangeType}&startDate=${startDate}&endDate=${endDate}&isHot=${isHot}&isHazardousMaterial=${isHazardousMaterial}&IsHeavy=${IsHeavy}&exception=${ShipmentException}&IsCancel=${Cancled}&IsClosed=${Closed}&pageNumber=${pageNumber}&pageSize=${pageSize}&sortField=${sortField}&sortOrder=${sortOrder}&search=${srch}${window.location.href.includes(\"TransportManagementSystem\")?\"&category=Transportation\":\"\" }`,\r\n {\r\n method: \"get\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n }\r\n )\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n if (statusCode === 401) {\r\n try {\r\n document.getElementById(\"401Link\").click();\r\n } catch (err) {\r\n console.log(err);\r\n }\r\n }\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n return res[1];\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n\r\n // async function GetModelCount() {\r\n // return await fetch(\r\n // `${window.$apiurl}/transportation/shipments?customerId=${window.$ShipmentManagementCustomerId}&statusId=${window.$ShipmentManagementStatus}&ServiceId=${window.$ShipmentManagementServiceId}&modeId=${window.$ShipmentManagementModeId}&serviceLevelId=${window.$ShipmentManagementServiceLevelId}`,\r\n // {\r\n // method: \"get\",\r\n // withCredentials: true,\r\n // headers: {\r\n // Accept: \"application/json, text/plain, */*\",\r\n // Authorization: `bearer ${db.read().getState().Token}`,\r\n // \"X-FP-API-KEY\": \"iphone\",\r\n // \"Content-Type\": \"application/json\",\r\n // },\r\n // }\r\n // )\r\n // .then(async (response) => {\r\n // const statusCode = await response.status;\r\n // const data = await response.json();\r\n // return Promise.all([statusCode, data]);\r\n // })\r\n // .then((res) => {\r\n // return res[1];\r\n // })\r\n // .catch((error) => {\r\n // console.error(error);\r\n // });\r\n // }\r\n\r\n async function GetViewmodel() {\r\n return await fetch(\r\n window.$apiurl + \"/transportation/shipments/getviewmodel\",\r\n {\r\n method: \"get\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n }\r\n )\r\n .then((res) => res.json())\r\n .then((res) => {\r\n return res;\r\n })\r\n .catch((err) => {\r\n Notification(\"error\", \"err\");\r\n return false;\r\n });\r\n }\r\n\r\n //----------------------------------------------------------------\r\n mock.onGet(\"api/FindShipments/AllOrderBetaTMS\").reply(async () => {\r\n const obj = await GetViewmodel();\r\n return [200, obj];\r\n });\r\n // mock.onGet(\"api/FindShipments/GetAllApiCount\").reply(async () => {\r\n // const obj = await GetModelCount();\r\n // window.$shipmentCount = obj.ShipmentsCount;\r\n // window.$ShipmentExceptions = obj.ShipmentExceptions;\r\n // return [200, obj];\r\n // });\r\n mock.onPost(\"api/AllOrderBetaTMS\").reply(({ data }) => {\r\n const { customer } = JSON.parse(data);\r\n const {\r\n Created = \"\",\r\n Container = \"\",\r\n WHlocation = \"\",\r\n Pickuplocation = \"\",\r\n Mode = \"\",\r\n Vendor = \"\",\r\n PickupApt = \"\",\r\n PlanDate = \"\",\r\n Status = \"\",\r\n } = customer;\r\n\r\n const id = generateUserId();\r\n const newCustomer = {\r\n Created,\r\n Container,\r\n WHlocation,\r\n Pickuplocation,\r\n Mode,\r\n Vendor,\r\n PickupApt,\r\n PlanDate,\r\n Status,\r\n };\r\n customerTableMock.push(newCustomer);\r\n return [200, { customer: newCustomer }];\r\n });\r\n\r\n mock.onPost(\"api/AllOrderBetaTMS/find\").reply(async (config) => {\r\n \r\n const mockUtils = new MockUtils();\r\n const { queryParams } = JSON.parse(config.data);\r\n const _filter = queryParams;\r\n window.shipmentCount = undefined;\r\n var srch = \"\";\r\n srch = window.$SmGsearchText || \"\";\r\n const gg = await GetModel(\r\n _filter.filter.searchText,\r\n window.$CustomerIdsSm,\r\n window.$ShipmentManagementTMSStatus,\r\n window.$ShipmentManagementTMSServiceId,\r\n window.$ShipmentManagementTMSModeId,\r\n window.$ShipmentManagementServiceLevelId,\r\n queryParams.filter.equipmentTypeId,\r\n queryParams.filter.equipmentSizeId,\r\n queryParams.filter.shipFrom,\r\n queryParams.filter.Carrier,\r\n queryParams.filter.DateRangeType,\r\n window.$SmGsearchStartDate,\r\n queryParams.filter.endDate,\r\n queryParams.filter.isHot,\r\n queryParams.filter.isHazardousMaterial,\r\n queryParams.filter.IsHeavy,\r\n window.$ShipmentManagementexception,\r\n window.$ShipmentManagementCanceled,\r\n window.$ShipmentManagementClosed,\r\n queryParams.pageNumber,\r\n queryParams.pageSize,\r\n queryParams.sortField,\r\n queryParams.sortOrder,\r\n srch\r\n );\r\n window.$dataNewShipments = gg.Shipments;\r\n customerTableMock = ChangeId(gg.Shipments);\r\n window.shipmentCount = gg.ShipmentsCount;\r\n window.ShipmentStatus = gg.ShipmentStatus;\r\n _filter.TotalItems = gg.Pagination.TotalItemCount;\r\n\r\n delete _filter.filter.ReLoadTable;\r\n delete _filter.filter.searchText;\r\n delete _filter.filter.shipmentTypeId;\r\n delete _filter.filter.ServiceId;\r\n delete _filter.filter.equipmentTypeId;\r\n delete _filter.filter.equipmentSizeId;\r\n delete _filter.filter.shipFrom;\r\n delete _filter.filter.DateRangeType;\r\n delete _filter.filter.serviceLevelId;\r\n delete _filter.filter.isHot;\r\n delete _filter.filter.isHazardousMaterial;\r\n delete _filter.filter.IsHeavy;\r\n delete _filter.filter.startDate;\r\n delete _filter.filter.endDate;\r\n delete _filter.filter.Filter;\r\n delete _filter.filter.statusId;\r\n delete _filter.filter.Cancled;\r\n const filterdCustomers = mockUtils.baseFilter(customerTableMock, _filter);\r\n return [200, filterdCustomers];\r\n });\r\n\r\n mock.onPost(\"api/AllOrderBetaTMS/deleteCustomers\").reply((config) => {\r\n const { ids } = JSON.parse(config.data);\r\n ids.forEach((id) => {\r\n const index = customerTableMock.findIndex((el) => el.id === id);\r\n if (index > -1) {\r\n customerTableMock.splice(index, 1);\r\n }\r\n });\r\n return [200];\r\n });\r\n\r\n mock.onPost(\"api/AllOrderBetaTMS/updateStatusForCustomers\").reply((config) => {\r\n const { ids, status } = JSON.parse(config.data);\r\n customerTableMock.forEach((el) => {\r\n if (ids.findIndex((id) => id === el.id) > -1) {\r\n el.status = status;\r\n }\r\n });\r\n return [200];\r\n });\r\n\r\n mock.onGet(/api\\/AllOrderBeta\\/\\d+/).reply((config) => {\r\n const id = config.url.match(/api\\/AllOrderBeta\\/(\\d+)/)[1];\r\n const customer = customerTableMock.find((el) => el.id === +id);\r\n if (!customer) {\r\n return [400];\r\n }\r\n\r\n return [200, customer];\r\n });\r\n\r\n mock.onPut(/api\\/AllOrderBeta\\/\\d+/).reply((config) => {\r\n const id = config.url.match(/api\\/AllOrderBeta\\/(\\d+)/)[1];\r\n const { customer } = JSON.parse(config.data);\r\n const index = customerTableMock.findIndex((el) => el.id === +id);\r\n if (!index) {\r\n return [400];\r\n }\r\n\r\n customerTableMock[index] = { ...customer };\r\n return [200];\r\n });\r\n\r\n mock.onDelete(/api\\/AllOrderBeta\\/\\d+/).reply((config) => {\r\n const id = config.url.match(/api\\/AllOrderBeta\\/(\\d+)/)[1];\r\n const index = customerTableMock.findIndex((el) => el.id === +id);\r\n customerTableMock.splice(index, 1);\r\n if (!index === -1) {\r\n return [400];\r\n }\r\n\r\n return [200];\r\n });\r\n}\r\n\r\nfunction generateUserId() {\r\n const ids = customerTableMock.map((el) => el.id);\r\n const maxId = Math.max(...ids);\r\n return maxId + 1;\r\n}\r\nfunction ChangeId(list) {\r\n for (var item in list) {\r\n list[item].id = list[item].Id;\r\n }\r\n return list;\r\n}\r\n","import low from \"lowdb\";\r\nimport LocalStorage from \"lowdb/adapters/LocalStorage\";\r\nimport MockUtils from \"./mock.utils3\";\r\nimport moment from \"moment\";\r\nconst adapter = new LocalStorage(\"db\");\r\nconst db = low(adapter);\r\nlet customerTableMock;\r\nexport default function mockReceiptsManagmentNewVersion(mock) {\r\n window.mockReceiptsManagmentList = [];\r\n window.mockReceiptsManagmentLinq = \"\";\r\n async function GetModel(linq, _filter) {\r\n if (window.$ItemExceptions === false) {\r\n window.$ItemExceptions = false;\r\n } else {\r\n window.$ItemExceptions = true;\r\n }\r\n window.mockReceiptsManagmentLinq = linq;\r\n // if (window.mockReceiptsManagmentLinq === linq){\r\n // return window.mockReceiptsManagmentList || [];\r\n // }\r\n\r\n return await fetch(\r\n `${window.$apiurl}/receiptsmanagement/getreceipts/beta${linq}`,\r\n {\r\n method: \"get\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n }\r\n )\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n if (statusCode === 401) {\r\n try {\r\n document.getElementById(\"401Link\").click();\r\n } catch (err) {\r\n console.log(err);\r\n }\r\n }\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n return res[1];\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n //*********************** */\r\n async function GetViewmodel() {\r\n return await fetch(window.$apiurl + \"/receiptsmanagement/getviewmodel\", {\r\n method: \"get\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n return res[1];\r\n })\r\n .catch((err) => {\r\n Notification(\"error\", \"err\");\r\n return false;\r\n });\r\n }\r\n\r\n //----------------------------------------------------------------\r\n mock.onGet(\"api/ReceiptsManagementNewVersion/GetAllApi\").reply(async () => {\r\n const obj = await GetViewmodel();\r\n return [200, obj];\r\n });\r\n\r\n mock.onPost(\"api/ReceiptsManagementNewVersion\").reply(({ data }) => {\r\n const { customer } = JSON.parse(data);\r\n const {\r\n Created = \"\",\r\n Container = \"\",\r\n WHlocation = \"\",\r\n Pickuplocation = \"\",\r\n Mode = \"\",\r\n Vendor = \"\",\r\n PickupApt = \"\",\r\n PlanDate = \"\",\r\n Status = \"\",\r\n } = customer;\r\n\r\n const id = generateUserId();\r\n const newCustomer = {\r\n Created,\r\n Container,\r\n WHlocation,\r\n Pickuplocation,\r\n Mode,\r\n Vendor,\r\n PickupApt,\r\n PlanDate,\r\n Status,\r\n };\r\n customerTableMock.push(newCustomer);\r\n return [200, { customer: newCustomer }];\r\n });\r\n mock.onPost(\"api/ReceiptsManagementNewVersion/find\").reply(async (config) => {\r\n const mockUtils = new MockUtils();\r\n const { queryParams } = JSON.parse(config.data);\r\n const _filter = queryParams;\r\n let resultFilteredByUser;\r\n if (!window.$isGlobalSearch) {\r\n var receiptDefaultFilter = db.read().getState().User.DefaultFilter;\r\n receiptDefaultFilter = receiptDefaultFilter?.find((x) => x.Flow === \"RM\");\r\n resultFilteredByUser = receiptDefaultFilter;\r\n }\r\n var cstmrIds =\r\n window.$CustomerIdsRm !== undefined\r\n ? window.$CustomerIdsRm\r\n : window.$ReceiptManagementCustomerId !== undefined\r\n ? window.$ReceiptManagementCustomerId\r\n : \"\";\r\n\r\n window.$filterActionsRm = _filter.filter.multiCustomersGet;\r\n if (!_filter.filter.multiCustomersGet) {\r\n delete window.$CustomerIdsRm;\r\n }\r\n var VoyageId = \"&voyageId=\" + (_filter.filter.VoyageId || \"\");\r\n var warehouseId = \"&warehouseId=\" + (_filter.filter.warehouseId || \"\");\r\n var vendorId = \"&vendorId=\" + (_filter.filter.VendorId || \"\");\r\n var DateRangeType =\r\n \"&filterDate=\" + (_filter.filter.DateRangeType || \"created\");\r\n var startDate =\r\n \"&startDate=\" +\r\n (_filter.filter.startDate !== undefined &&\r\n _filter.filter.startDate !== \"\" &&\r\n _filter.filter.startDate !== null\r\n ? _filter.filter.startDate\r\n : window.$RmGsearchStartDate ||\r\n moment()\r\n .add(-28, \"days\")\r\n .format(\"YYYY-MM-DD\"));\r\n var endDate =\r\n \"&endDate=\" +\r\n (_filter.filter.endDate !== undefined &&\r\n _filter.filter.endDate !== \"\" &&\r\n _filter.filter.endDate !== null\r\n ? _filter.filter.endDate\r\n : moment().format(\"YYYY-MM-DD\"));\r\n\r\n var statusId = \"&statusId=\" + (window.$ReceiptsManagmentStatu || \"\");\r\n var ExceptionId =\r\n \"&exception=\" + (window.$ReceiptsManagmentExceptions || \"\");\r\n var serviceId =\r\n \"&serviceId=\" +\r\n (window.$ReceiptManagementServiceId === undefined\r\n ? \"\"\r\n : window.$ReceiptManagementServiceId);\r\n var modeId =\r\n \"&modeId=\" +\r\n (window.$ReceiptManagementModeId === undefined\r\n ? \"\"\r\n : window.$ReceiptManagementModeId);\r\n var serviceLevelId =\r\n \"&serviceLevelId=\" + (_filter.filter.serviceLevelId || \"\");\r\n var equipmentTypeId =\r\n \"&equipmentTypeId=\" + (_filter.filter.equipmentTypeId || \"\");\r\n var equipmentSizeId =\r\n \"&equipmentSizeId=\" + (_filter.filter.equipmentSizeId || \"\");\r\n var isHot = \"&isHot=\" + (_filter.filter.isHot || false);\r\n var minCube = \"&minCube=\" + (_filter.filter.minCube || 0);\r\n var maxCube = \"&maxCube=\" + (_filter.filter.maxCube || 0);\r\n var isHazmat = \"&isHazmat=\" + (_filter.filter.isHazardousMaterial || false);\r\n var isCancled =\r\n \"&IsCancel=\" +\r\n (window.$RmCanceled === undefined ? null : window.$RmCanceled);\r\n var pageNumber = \"&pageNumber=\" + _filter.pageNumber || \"\";\r\n var pageSize = \"&pageSize=\" + _filter.pageSize || \"\";\r\n var pageSizeExport = \"&pageSize=1000000000\";\r\n var sortField = \"&sortField=\" + _filter.sortField || \"\";\r\n var sortOrder = \"&sortOrder=\" + _filter.sortOrder || \"\";\r\n var srch = _filter.filter.Search;\r\n if (_filter.filter.Search === undefined) {\r\n srch = \"\";\r\n if (window.$RmGsearchText) {\r\n srch = window.$RmGsearchText;\r\n }\r\n }\r\n var Search = srch === undefined ? \"&search=\" : \"&search=\" + srch;\r\n\r\n var customerId =\r\n window.$CustomerIdsRm !== undefined\r\n ? window.$CustomerIdsRm\r\n : resultFilteredByUser?.DefaultCustomerId\r\n ? \"?customerId=\" + resultFilteredByUser?.DefaultCustomerId\r\n : window.$ReceiptManagementCustomerId !== undefined\r\n ? \"?customerId=\" + window.$ReceiptManagementCustomerId\r\n : \"?customerId=\";\r\n var linq =\r\n customerId +\r\n warehouseId +\r\n vendorId +\r\n VoyageId +\r\n DateRangeType +\r\n startDate +\r\n endDate +\r\n statusId +\r\n serviceId +\r\n ExceptionId +\r\n modeId +\r\n serviceLevelId +\r\n equipmentTypeId +\r\n equipmentSizeId +\r\n isHot +\r\n minCube +\r\n maxCube +\r\n isHazmat +\r\n isCancled +\r\n pageNumber +\r\n pageSize +\r\n sortField +\r\n sortOrder +\r\n Search;\r\n\r\n var Exportlinq =\r\n customerId +\r\n warehouseId +\r\n VoyageId +\r\n DateRangeType +\r\n startDate +\r\n endDate +\r\n statusId +\r\n serviceId +\r\n ExceptionId +\r\n modeId +\r\n serviceLevelId +\r\n equipmentTypeId +\r\n equipmentSizeId +\r\n isHot +\r\n minCube +\r\n maxCube +\r\n isHazmat +\r\n isCancled +\r\n pageNumber +\r\n pageSizeExport +\r\n sortField +\r\n sortOrder +\r\n vendorId +\r\n Search;\r\n //exportFileName\r\n window.$exportFilterRM =\r\n \"Receipts_Status_\" +\r\n window.$RmStatusName +\r\n \"_Service_\" +\r\n window.$ReceiptManagementServiceName +\r\n \"_Mode_\" +\r\n window.$ReceiptManagementModeName +\r\n \"_Customer_\" +\r\n (window.$CustomerListOverviewRm !== undefined &&\r\n window.$CustomerListOverviewRm !== \"\"\r\n ? window.$CustomerListOverviewRm.map((item) => item + \" , \")\r\n : window.$CustomerListOverviewRm === \"\"\r\n ? \"All\"\r\n : window.$ReceiptManagementCustomerName) +\r\n startDate +\r\n endDate +\r\n isHot +\r\n minCube +\r\n maxCube +\r\n isHazmat +\r\n isCancled;\r\n\r\n //endExportFileName\r\n window.RMLinkUsed = Exportlinq;\r\n const gg = await GetModel(linq, _filter);\r\n var a = gg.Receipts || [];\r\n\r\n customerTableMock = ChangeId(a) || [];\r\n // window.$DataFilterRm = customerTableMock;\r\n window.$Containers_StatusCount = gg.StatusCount || false;\r\n // window.$filterCount = true;\r\n // window.$Containers_Exceptions = gg.Exceptions || false;\r\n // window.mockReceiptsManagmentList = customerTableMock;\r\n _filter.TotalItems = gg.CountAll;\r\n //window.ExportRMData = customerTableMock;\r\n const filterdCustomers = mockUtils.baseFilter(customerTableMock, _filter);\r\n return [200, filterdCustomers];\r\n });\r\n\r\n mock.onPost(\"api/AllOrderBeta/deleteCustomers\").reply((config) => {\r\n const { ids } = JSON.parse(config.data);\r\n ids.forEach((id) => {\r\n const index = customerTableMock.findIndex((el) => el.id === id);\r\n if (index > -1) {\r\n customerTableMock.splice(index, 1);\r\n }\r\n });\r\n return [200];\r\n });\r\n\r\n mock.onPost(\"api/AllOrderBeta/updateStatusForCustomers\").reply((config) => {\r\n const { ids, status } = JSON.parse(config.data);\r\n customerTableMock.forEach((el) => {\r\n if (ids.findIndex((id) => id === el.id) > -1) {\r\n el.status = status;\r\n }\r\n });\r\n return [200];\r\n });\r\n\r\n mock.onGet(/api\\/AllOrder\\/\\d+/).reply((config) => {\r\n const id = config.url.match(/api\\/AllOrder\\/(\\d+)/)[1];\r\n const customer = customerTableMock.find((el) => el.id === +id);\r\n if (!customer) {\r\n return [400];\r\n }\r\n\r\n return [200, customer];\r\n });\r\n\r\n mock.onPut(/api\\/AllOrder\\/\\d+/).reply((config) => {\r\n const id = config.url.match(/api\\/AllOrder\\/(\\d+)/)[1];\r\n const { customer } = JSON.parse(config.data);\r\n const index = customerTableMock.findIndex((el) => el.id === +id);\r\n if (!index) {\r\n return [400];\r\n }\r\n\r\n customerTableMock[index] = { ...customer };\r\n return [200];\r\n });\r\n\r\n mock.onDelete(/api\\/AllOrder\\/\\d+/).reply((config) => {\r\n const id = config.url.match(/api\\/AllOrder\\/(\\d+)/)[1];\r\n const index = customerTableMock.findIndex((el) => el.id === +id);\r\n customerTableMock.splice(index, 1);\r\n if (!index === -1) {\r\n return [400];\r\n }\r\n\r\n return [200];\r\n });\r\n}\r\n\r\nfunction generateUserId() {\r\n const ids = customerTableMock.map((el) => el.id);\r\n const maxId = Math.max(...ids);\r\n return maxId + 1;\r\n}\r\nfunction ChangeId(list) {\r\n for (var item in list) {\r\n list[item].id = list[item].Id;\r\n }\r\n return list;\r\n}\r\n","import low from \"lowdb\";\r\nimport LocalStorage from \"lowdb/adapters/LocalStorage\";\r\nimport { string } from \"prop-types\";\r\nimport { Notification } from \"../../../modules/Notification\";\r\nimport MockUtils from \"./mock.utilsDynamic\";\r\nconst adapter = new LocalStorage(\"db\");\r\nconst db = low(adapter);\r\nlet customerTableMock;\r\nexport default async function mockCustomerProfileRating(mock) {\r\n function StatusMessage(res) {\r\n var status = res.status;\r\n var statusText = res.statusText;\r\n if (status === 200) {\r\n Notification(\"success\", \"success\");\r\n return true;\r\n } else if (status === 400) {\r\n Notification(\"error\", statusText);\r\n return false;\r\n }\r\n }\r\n\r\n async function GetUsersData() {\r\n return await fetch(window.$apiurl + \"/rating/charges?IsCustomer=\" + true, {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n return ChangeId(res[1]);\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n\r\n async function PostCustomerProfileRating(someData) {\r\n return fetch(window.$apiurl + \"/rating/charges?IsCustomer=\" + true, {\r\n method: \"post\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(someData),\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n return res[1];\r\n })\r\n .catch((error) => {\r\n //console.error(error);\r\n });\r\n }\r\n\r\n async function PutUser(someData, id) {\r\n return fetch(\r\n window.$apiurl + \"/rating/charges/\" + id + \"?IsCustomer=\" + true,\r\n {\r\n method: \"put\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(someData),\r\n }\r\n )\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n return res[1];\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n async function DeleteUser(id) {\r\n return await fetch(window.$apiurl + \"/rating/charges/\" + id, {\r\n method: \"Delete\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n return response;\r\n })\r\n .then((res) => {\r\n return StatusMessage(res);\r\n })\r\n .catch((err) => {\r\n return StatusMessage(err);\r\n });\r\n }\r\n\r\n async function GetCustomers() {\r\n return await fetch(window.$apiurl + \"/rating/customer/viewmodel\", {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then((res) => res.json())\r\n .then((res) => {\r\n return res;\r\n })\r\n .catch((err) => {\r\n Notification(\"error\", \"err\");\r\n return false;\r\n });\r\n }\r\n async function PostCloneRate(id) {\r\n return fetch(window.$apiurl + \"/rating/clone/\" + id, {\r\n method: \"post\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n return res[1];\r\n })\r\n .catch((error) => {\r\n //console.error(error);\r\n });\r\n }\r\n //Get View Model\r\n async function GetViewModelCompanies() {\r\n return await fetch(window.$apiurl + \"/contact/getviewmodel\", {\r\n method: \"get\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then((res) => res.json())\r\n .then((res) => {\r\n return res.Countries;\r\n })\r\n .catch((err) => {\r\n return false;\r\n });\r\n }\r\n\r\n async function GetGlAccounts() {\r\n return await fetch(window.$apiurl + \"/rating/charges/viewmodel\", {\r\n method: \"get\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then((res) => res.json())\r\n .then((res) => {\r\n return res;\r\n })\r\n .catch((err) => {\r\n return false;\r\n });\r\n }\r\n // Mock ---------------------------------------------------------------------------------\r\n mock.onGet(\"api/CustomerProfileRating/GetAllApi\").reply(async () => {\r\n const obj = {};\r\n obj[\"viewModel\"] = await GetCustomers();\r\n obj[\"CountriesList\"] = await GetViewModelCompanies();\r\n obj[\"GlAccounts\"] = await GetGlAccounts();\r\n return [200, obj];\r\n });\r\n mock.onGet(\"api/CustomerProfileRating/CloneRate\").reply(async () => {\r\n const id = window.$RateId;\r\n await PostCloneRate(id);\r\n document.getElementById(\"ReLoadTableId\").click();\r\n Notification(\"success\", \"Your rate has been cloned successfully.\");\r\n });\r\n function formatDate(date) {\r\n var d = new Date(date),\r\n month = \"\" + (d.getMonth() + 1),\r\n day = \"\" + d.getDate(),\r\n year = d.getFullYear();\r\n\r\n if (month.length < 2) month = \"0\" + month;\r\n if (day.length < 2) day = \"0\" + day;\r\n\r\n const result = [month, day, year].join(\"/\");\r\n if (result !== \"NaN/NaN/NaN\") {\r\n return result;\r\n } else {\r\n return \"--/--/----\";\r\n }\r\n }\r\n mock.onPost(\"api/CustomerProfileRating\").reply(async ({ data }) => {\r\n const { customer } = JSON.parse(data);\r\n const start = Date.now();\r\n const dateNow = formatDate(start);\r\n const {\r\n Code = \"\",\r\n Name = \"\",\r\n Description = \"\",\r\n RateTypeId = \"\",\r\n IsActive = false,\r\n IsForTwoTen = false,\r\n ModeId = \"\",\r\n ServiceId = null,\r\n ServiceLevelId = null,\r\n EquipmentTypeId = null,\r\n EquipmentSizeId = null,\r\n PickUpAddress1 = \"\",\r\n PickUpAddress2 = \"\",\r\n PickUpZipCode = \"\",\r\n PickUpCity = \"\",\r\n PickUpState = \"\",\r\n PickUpCountry = \"\",\r\n DeliveryAddress1 = \"\",\r\n DeliveryAddress2 = \"\",\r\n DeliveryZipCode = \"\",\r\n DeliveryCity = \"\",\r\n DeliveryState = \"\",\r\n DeliveryCountry = \"\",\r\n GlAccounts = [],\r\n ChargeOptionId = \"\",\r\n vendorTypeId = null,\r\n OverrideBranchId = null,\r\n OverrideDepartmentId = null,\r\n GLAccountId = null,\r\n } = customer;\r\n const id = generateUserId();\r\n const newCustomer = {\r\n id,\r\n Name,\r\n Code,\r\n Description,\r\n RateTypeId,\r\n IsActive,\r\n ModeId,\r\n ServiceId,\r\n ServiceLevelId,\r\n EquipmentTypeId,\r\n EquipmentSizeId,\r\n PickUpAddress1,\r\n PickUpAddress2,\r\n PickUpZipCode,\r\n PickUpCity,\r\n PickUpState,\r\n PickUpCountry,\r\n DeliveryAddress1,\r\n DeliveryAddress2,\r\n DeliveryZipCode,\r\n DeliveryCity,\r\n DeliveryState,\r\n DeliveryCountry,\r\n GlAccounts,\r\n IsForTwoTen,\r\n ChargeOptionId,\r\n vendorTypeId,\r\n OverrideBranchId,\r\n OverrideDepartmentId,\r\n GLAccountId,\r\n };\r\n var postCustomerProfile = await PostCustomerProfileRating(newCustomer);\r\n if (postCustomerProfile.Id !== undefined) {\r\n Notification(\r\n \"success\",\r\n \"Customer Profile Rate has been added successfully\"\r\n );\r\n postCustomerProfile.id = postCustomerProfile.Id;\r\n customerTableMock.push(newCustomer);\r\n document.getElementById(\"ReLoadTableId\").click();\r\n return [\r\n 200,\r\n {\r\n customer: newCustomer,\r\n message: postCustomerProfile.Message,\r\n success: true,\r\n },\r\n ];\r\n } else {\r\n if (postCustomerProfile.Message) {\r\n document.getElementById(\"ReLoadTableId\").click();\r\n Notification(\"error\", postCustomerProfile.Message);\r\n } else {\r\n Notification(\r\n \"success\",\r\n \"Customer Profile Rate has been added successfully\"\r\n );\r\n document.getElementById(\"ReLoadTableId\").click();\r\n return [\r\n 200,\r\n {\r\n customer: newCustomer,\r\n message: postCustomerProfile.Message,\r\n success: true,\r\n },\r\n ];\r\n }\r\n }\r\n });\r\n function filterDataTable(stringValue, filter, data) {\r\n const params = 'filter.' + stringValue;\r\n console.log(params);\r\n data = data.filter((filter) =>\r\n params\r\n .trim()\r\n .includes(String(filter).trim()));\r\n return data;\r\n }\r\n mock.onPost(\"api/CustomerProfileRating/find\").reply(async (config) => {\r\n const mockUtils = new MockUtils();\r\n const { queryParams } = JSON.parse(config.data);\r\n if (queryParams.filter.searchText) {\r\n const oldData = window.$CustomerDataFiltered;\r\n const searchValue = queryParams.filter.searchText;\r\n customerTableMock = oldData.filter((word) =>\r\n String(word.Name)\r\n .trim()\r\n .toLowerCase()\r\n .includes(String(searchValue).trim().toLowerCase()) ||\r\n\r\n String(word.Code)\r\n .toLowerCase()\r\n .includes(String(searchValue).trim().toLowerCase()) ||\r\n\r\n String(word.id)\r\n .includes(String(searchValue).trim())\r\n );\r\n }\r\n const dataFiltered = window.$filterRatingCust;\r\n if (queryParams?.pageNumber === 1 && !queryParams.filter.searchText) {\r\n customerTableMock = await GetUsersData();\r\n window.$CustomerDataFiltered = customerTableMock;\r\n if (dataFiltered) {\r\n if (queryParams.filter.Service !== \"\") {\r\n customerTableMock = customerTableMock.filter((word) =>\r\n String(word.Service)\r\n .trim()\r\n .toLowerCase()\r\n .includes(String(dataFiltered.Service).trim().toLowerCase())\r\n );\r\n }\r\n if (queryParams.filter.ServiceLevel !== \"\") {\r\n customerTableMock = customerTableMock.filter((word) =>\r\n String(word.ServiceLevel)\r\n .trim()\r\n .toLowerCase()\r\n .includes(String(dataFiltered.ServiceLevel).trim().toLowerCase())\r\n );\r\n }\r\n if (queryParams.filter.Mode !== \"\") {\r\n customerTableMock = customerTableMock.filter((word) =>\r\n String(word.Mode)\r\n .trim()\r\n .toLowerCase()\r\n .includes(String(dataFiltered.Mode).trim().toLowerCase())\r\n );\r\n }\r\n if (dataFiltered && queryParams.filter.EquipmentSize !== \"\") {\r\n customerTableMock = customerTableMock.filter((word) =>\r\n String(word.EquipmentSize)\r\n .trim()\r\n .toLowerCase()\r\n .includes(String(dataFiltered.EquipmentSize).trim().toLowerCase())\r\n );\r\n }\r\n if (queryParams.filter.EquipmentType !== \"\") {\r\n customerTableMock = customerTableMock.filter((word) =>\r\n String(word.EquipmentType)\r\n .trim()\r\n .toLowerCase()\r\n .includes(String(dataFiltered.EquipmentType).trim().toLowerCase())\r\n );\r\n }\r\n if (queryParams.filter.RateType !== \"\") {\r\n customerTableMock = customerTableMock.filter((word) =>\r\n String(word.RateType)\r\n .trim()\r\n .toLowerCase()\r\n .includes(String(dataFiltered.RateType).trim().toLowerCase())\r\n );\r\n }\r\n }\r\n }\r\n if (!dataFiltered) {\r\n if (queryParams.filter.Service !== undefined) {\r\n customerTableMock = customerTableMock.filter((word) =>\r\n String(word.Service)\r\n .trim()\r\n .toLowerCase()\r\n .includes(String(queryParams.filter.Service).trim().toLowerCase())\r\n );\r\n }\r\n if (queryParams.filter.ServiceLevel !== undefined) {\r\n customerTableMock = customerTableMock.filter((word) =>\r\n String(word.ServiceLevel)\r\n .trim()\r\n .toLowerCase()\r\n .includes(String(queryParams.filter.ServiceLevel).trim().toLowerCase())\r\n );\r\n }\r\n if (queryParams.filter.Mode !== undefined) {\r\n customerTableMock = customerTableMock.filter((word) =>\r\n String(word.Mode)\r\n .trim()\r\n .toLowerCase()\r\n .includes(String(queryParams.filter.Mode).trim().toLowerCase())\r\n );\r\n }\r\n if (queryParams.filter.EquipmentSize !== undefined) {\r\n customerTableMock = customerTableMock.filter((word) =>\r\n String(word.EquipmentSize)\r\n .trim()\r\n .toLowerCase()\r\n .includes(String(queryParams.filter.EquipmentSize).trim().toLowerCase())\r\n );\r\n }\r\n if (queryParams.filter.EquipmentType !== undefined) {\r\n customerTableMock = customerTableMock.filter((word) =>\r\n String(word.EquipmentType)\r\n .trim()\r\n .toLowerCase()\r\n .includes(String(queryParams.filter.EquipmentType).trim().toLowerCase())\r\n );\r\n }\r\n if (queryParams.filter.RateType !== undefined) {\r\n customerTableMock = customerTableMock.filter((word) =>\r\n String(word.RateType)\r\n .trim()\r\n .toLowerCase()\r\n .includes(String(queryParams.filter.RateType).trim().toLowerCase())\r\n );\r\n }\r\n }\r\n const filterIsActive = queryParams.filter.IsActive;\r\n if (filterIsActive === undefined) {\r\n customerTableMock = customerTableMock.filter((word) =>\r\n String(word.IsActive).includes(String(true))\r\n );\r\n } else {\r\n if (filterIsActive) {\r\n customerTableMock = customerTableMock.filter((word) =>\r\n String(word.IsActive).includes(String(filterIsActive))\r\n );\r\n } else {\r\n customerTableMock = customerTableMock.filter((word) =>\r\n String(word.IsActive).includes(String(false))\r\n );\r\n }\r\n }\r\n delete queryParams.filter.ReLoadTable;\r\n delete queryParams.filter.searchText;\r\n\r\n const filteredCustomers = mockUtils.baseFilter(\r\n customerTableMock,\r\n queryParams\r\n );\r\n return [200, filteredCustomers];\r\n });\r\n\r\n mock.onPost(\"api/CustomerProfileRating/deleteCustomers\").reply((config) => {\r\n const { ids } = JSON.parse(config.data);\r\n ids.forEach((id) => {\r\n const index = customerTableMock.findIndex((el) => el.id === id);\r\n if (index > -1) {\r\n customerTableMock.splice(index, 1);\r\n }\r\n });\r\n return [200];\r\n });\r\n\r\n mock\r\n .onPost(\"api/CustomerProfileRating/updateStatusForCustomers\")\r\n .reply((config) => {\r\n const { ids, status } = JSON.parse(config.data);\r\n customerTableMock.forEach((el) => {\r\n if (ids.findIndex((id) => id === el.id) > -1) {\r\n el.status = status;\r\n }\r\n });\r\n return [200];\r\n });\r\n\r\n async function GetUser(id) {\r\n return await fetch(window.$apiurl + \"/rating/charges/\" + id, {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n return res[1];\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n\r\n mock.onGet(/api\\/CustomerProfileRating\\/\\d+/).reply(async (config) => {\r\n const id = config.url.match(/api\\/CustomerProfileRating\\/(\\d+)/)[1];\r\n const customer = await GetUser(id);\r\n if (!customer) {\r\n return [400];\r\n }\r\n return [200, customer];\r\n });\r\n\r\n mock.onPut(/api\\/CustomerProfileRating\\/\\d+/).reply(async (config) => {\r\n const id = config.url.match(/api\\/CustomerProfileRating\\/(\\d+)/)[1];\r\n const { customer } = JSON.parse(config.data);\r\n const result = await PutUser(customer, id);\r\n if (result?.Message) {\r\n Notification(\r\n \"errorClick\",\r\n result?.Message\r\n );\r\n return false;\r\n } else {\r\n const index = customerTableMock.findIndex((el) => el.id === +id);\r\n customerTableMock[index] = { ...customer };\r\n Notification(\r\n \"success\",\r\n \"Customer Profile Rate has been updated successfully\"\r\n );\r\n document.getElementById(\"ReLoadTableId\").click();\r\n return [200];\r\n }\r\n });\r\n\r\n mock.onDelete(/api\\/CustomerProfileRating\\/\\d+/).reply(async (config) => {\r\n const id = config.url.match(/api\\/CustomerProfileRating\\/(\\d+)/)[1];\r\n const index = customerTableMock.findIndex((el) => el.id === +id);\r\n if (index === -1) {\r\n return [400];\r\n }\r\n var deleteObj = await DeleteUser(id);\r\n if (!deleteObj) {\r\n return [400];\r\n }\r\n customerTableMock.splice(index, 1);\r\n return [200];\r\n });\r\n}\r\n\r\nfunction ChangeId(list) {\r\n for (var item in list) {\r\n list[item].id = list[item].Id;\r\n delete list[item].Id;\r\n }\r\n return list;\r\n}\r\n\r\nfunction generateUserId() {\r\n const ids = customerTableMock.map((el) => el.id);\r\n const maxId = Math.max(...ids);\r\n return maxId + 1;\r\n}\r\n","import MockUtils from \"./mock.utilsDynamic\";\r\nimport { Notification } from \"../../../modules/Notification\";\r\nimport low from \"lowdb\";\r\nimport LocalStorage from \"lowdb/adapters/LocalStorage\";\r\nconst adapter = new LocalStorage(\"db\");\r\nconst db = low(adapter);\r\nlet customerTableMock;\r\nexport default async function mockCarrierProfileRating(mock) {\r\n function StatusMessage(res) {\r\n var status = res.status;\r\n var statusText = res.statusText;\r\n if (status === 200) {\r\n Notification(\"success\", \"success\");\r\n return true;\r\n } else if (status === 400) {\r\n Notification(\"error\", statusText);\r\n return false;\r\n }\r\n }\r\n\r\n async function GetUsersData() {\r\n return await fetch(window.$apiurl + \"/rating/charges?IsCustomer=\" + false, {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n return ChangeId(res[1]);\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n\r\n async function PostCustomerProfileRating(someData) {\r\n return fetch(window.$apiurl + \"/rating/charges?IsCustomer=\" + false, {\r\n method: \"post\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(someData),\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n return res[1];\r\n })\r\n .catch((error) => {\r\n //console.error(error);\r\n });\r\n }\r\n async function PutUser(someData, id) {\r\n return fetch(\r\n window.$apiurl + \"/rating/charges/\" + id + \"?IsCustomer=\" + false,\r\n {\r\n method: \"put\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(someData),\r\n }\r\n )\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n return res[1];\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n async function DeleteUser(id) {\r\n return await fetch(window.$apiurl + \"/rating/charges/\" + id, {\r\n method: \"Delete\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n return response;\r\n })\r\n .then((res) => {\r\n return StatusMessage(res);\r\n })\r\n .catch((err) => {\r\n return StatusMessage(err);\r\n });\r\n }\r\n\r\n async function GetCustomers() {\r\n return await fetch(window.$apiurl + \"/rating/carrier/viewmodel\", {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then((res) => res.json())\r\n .then((res) => {\r\n return res;\r\n })\r\n .catch((err) => {\r\n Notification(\"error\", \"err\");\r\n return false;\r\n });\r\n }\r\n\r\n async function GetWarehousesFetch(obj) {\r\n return await fetch(window.$apiurl + \"/warehousesForCustomer\", {\r\n method: \"POST\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(obj),\r\n })\r\n .then((res) => res.json())\r\n .then((res) => {\r\n return res;\r\n })\r\n .catch((err) => {\r\n Notification(\"error\", \"err\");\r\n return false;\r\n });\r\n }\r\n async function GetGlAccounts() {\r\n return await fetch(window.$apiurl + \"/rating/charges/viewmodel\", {\r\n method: \"get\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then((res) => res.json())\r\n .then((res) => {\r\n return res;\r\n })\r\n .catch((err) => {\r\n return false;\r\n });\r\n }\r\n async function GetViewModelCountries() {\r\n return await fetch(window.$apiurl + \"/contact/getviewmodel\", {\r\n method: \"get\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then((res) => res.json())\r\n .then((res) => {\r\n return res.Countries;\r\n })\r\n .catch((err) => {\r\n return false;\r\n });\r\n }\r\n // Mock ---------------------------------------------------------------------------------\r\n mock.onGet(\"api/CarrierProfileRating/GetAllApi\").reply(async () => {\r\n const obj = {};\r\n obj[\"viewModel\"] = await GetCustomers();\r\n obj[\"GlAccounts\"] = await GetGlAccounts();\r\n obj[\"CountriesList\"] = await GetViewModelCountries();\r\n return [200, obj];\r\n });\r\n mock.onGet(\"api/CarrierProfileRating/fetchWarehouses\").reply(async () => {\r\n const obj = {};\r\n obj[\"warehousesListFetch\"] = await GetWarehousesFetch(window.$objCustomers);\r\n return [200, obj];\r\n });\r\n function formatDate(date) {\r\n var d = new Date(date),\r\n month = \"\" + (d.getMonth() + 1),\r\n day = \"\" + d.getDate(),\r\n year = d.getFullYear();\r\n\r\n if (month.length < 2) month = \"0\" + month;\r\n if (day.length < 2) day = \"0\" + day;\r\n\r\n const result = [month, day, year].join(\"/\");\r\n if (result !== \"NaN/NaN/NaN\") {\r\n return result;\r\n } else {\r\n return \"--/--/----\";\r\n }\r\n }\r\n mock.onPost(\"api/CarrierProfileRating\").reply(async ({ data }) => {\r\n const { customer } = JSON.parse(data);\r\n const start = Date.now();\r\n const dateNow = formatDate(start);\r\n const {\r\n Code = \"\",\r\n Name = \"\",\r\n Description = \"\",\r\n RateTypeId = \"\",\r\n IsActive = false,\r\n ModeId = \"\",\r\n ServiceId = null,\r\n ServiceLevelId = null,\r\n EquipmentTypeId = null,\r\n EquipmentSizeId = null,\r\n PickUpAddress1 = \"\",\r\n PickUpAddress2 = \"\",\r\n PickUpZipCode = \"\",\r\n PickUpCity = \"\",\r\n PickUpState = \"\",\r\n PickUpCountry = \"\",\r\n DeliveryAddress1 = \"\",\r\n DeliveryAddress2 = \"\",\r\n DeliveryZipCode = \"\",\r\n DeliveryCity = \"\",\r\n DeliveryState = \"\",\r\n DeliveryCountry = \"\",\r\n GlAccounts = [],\r\n IsForTwoTen = false,\r\n ChargeOptionId = \"\",\r\n PickupType = \"\",\r\n MaxPallets = \"\",\r\n MinPallets = \"\",\r\n vendorTypeId = null,\r\n OverrideBranchId = null,\r\n OverrideDepartmentId = null,\r\n GLAccountId = null\r\n } = customer;\r\n const id = generateUserId();\r\n const newCustomer = {\r\n id,\r\n Name,\r\n Code,\r\n Description,\r\n RateTypeId,\r\n IsActive,\r\n ModeId,\r\n ServiceId,\r\n ServiceLevelId,\r\n EquipmentTypeId,\r\n EquipmentSizeId,\r\n PickUpAddress1,\r\n PickUpAddress2,\r\n PickUpZipCode,\r\n PickUpCity,\r\n PickUpState,\r\n PickUpCountry,\r\n DeliveryAddress1,\r\n DeliveryAddress2,\r\n DeliveryZipCode,\r\n DeliveryCity,\r\n DeliveryState,\r\n DeliveryCountry,\r\n GlAccounts,\r\n IsForTwoTen,\r\n ChargeOptionId,\r\n MinPallets,\r\n MaxPallets,\r\n PickupType,\r\n vendorTypeId,\r\n OverrideBranchId,\r\n OverrideDepartmentId,\r\n GLAccountId\r\n };\r\n var postCustomerProfile = await PostCustomerProfileRating(newCustomer);\r\n if (postCustomerProfile.Id !== undefined) {\r\n Notification(\r\n \"success\",\r\n \"Carrier Profile Rate has been added successfully\"\r\n );\r\n postCustomerProfile.id = postCustomerProfile.Id;\r\n customerTableMock.push(newCustomer);\r\n document.getElementById(\"ReLoadTableId\").click();\r\n return [\r\n 200,\r\n {\r\n customer: newCustomer,\r\n message: postCustomerProfile.Message,\r\n success: true,\r\n },\r\n ];\r\n } else {\r\n if (postCustomerProfile.Message) {\r\n document.getElementById(\"ReLoadTableId\").click();\r\n Notification(\"error\", postCustomerProfile.Message);\r\n } else {\r\n Notification(\r\n \"success\",\r\n \"Carrier Profile Rate has been added successfully\"\r\n );\r\n document.getElementById(\"ReLoadTableId\").click();\r\n return [\r\n 200,\r\n {\r\n customer: newCustomer,\r\n message: postCustomerProfile.Message,\r\n success: true,\r\n },\r\n ];\r\n }\r\n }\r\n });\r\n\r\n mock.onPost(\"api/CarrierProfileRating/find\").reply(async (config) => {\r\n const mockUtils = new MockUtils();\r\n const { queryParams } = JSON.parse(config.data);\r\n if (queryParams.filter.searchText) {\r\n const oldData = window.$CarrierDataFiltered;\r\n const searchValue = queryParams.filter.searchText;\r\n customerTableMock = oldData.filter((word) =>\r\n String(word.Name)\r\n .trim()\r\n .toLowerCase()\r\n .includes(String(searchValue).trim().toLowerCase()) ||\r\n\r\n String(word.Code)\r\n .toLowerCase()\r\n .includes(String(searchValue).trim().toLowerCase()) ||\r\n\r\n String(word.id)\r\n .includes(String(searchValue).trim())\r\n );\r\n }\r\n const dataFiltered = window.$filterRatingCarriers;\r\n if (queryParams?.pageNumber === 1 && !queryParams.filter.searchText) {\r\n customerTableMock = await GetUsersData();\r\n window.$CarrierDataFiltered = customerTableMock;\r\n if (dataFiltered) {\r\n if (queryParams.filter.Service !== \"\") {\r\n customerTableMock = customerTableMock.filter((word) =>\r\n String(word.Service)\r\n .trim()\r\n .toLowerCase()\r\n .includes(String(dataFiltered.Service).trim().toLowerCase())\r\n );\r\n }\r\n if (queryParams.filter.ServiceLevel !== \"\") {\r\n customerTableMock = customerTableMock.filter((word) =>\r\n String(word.ServiceLevel)\r\n .trim()\r\n .toLowerCase()\r\n .includes(String(dataFiltered.ServiceLevel).trim().toLowerCase())\r\n );\r\n }\r\n if (queryParams.filter.Mode !== \"\") {\r\n customerTableMock = customerTableMock.filter((word) =>\r\n String(word.Mode)\r\n .trim()\r\n .toLowerCase()\r\n .includes(String(dataFiltered.Mode).trim().toLowerCase())\r\n );\r\n }\r\n if (queryParams.filter.EquipmentSize !== \"\") {\r\n customerTableMock = customerTableMock.filter((word) =>\r\n String(word.EquipmentSize)\r\n .trim()\r\n .toLowerCase()\r\n .includes(String(dataFiltered.EquipmentSize).trim().toLowerCase())\r\n );\r\n }\r\n if (queryParams.filter.EquipmentType !== \"\") {\r\n customerTableMock = customerTableMock.filter((word) =>\r\n String(word.EquipmentType)\r\n .trim()\r\n .toLowerCase()\r\n .includes(String(dataFiltered.EquipmentType).trim().toLowerCase())\r\n );\r\n }\r\n if (queryParams.filter.RateType !== \"\") {\r\n customerTableMock = customerTableMock.filter((word) =>\r\n String(word.RateType)\r\n .trim()\r\n .toLowerCase()\r\n .includes(String(dataFiltered.RateType).trim().toLowerCase())\r\n );\r\n }\r\n }\r\n }\r\n if (!dataFiltered) {\r\n if (queryParams.filter.Service !== undefined) {\r\n customerTableMock = customerTableMock.filter((word) =>\r\n String(word.Service)\r\n .trim()\r\n .toLowerCase()\r\n .includes(String(queryParams.filter.Service).trim().toLowerCase())\r\n );\r\n }\r\n if (queryParams.filter.ServiceLevel !== undefined) {\r\n customerTableMock = customerTableMock.filter((word) =>\r\n String(word.ServiceLevel)\r\n .trim()\r\n .toLowerCase()\r\n .includes(String(queryParams.filter.ServiceLevel).trim().toLowerCase())\r\n );\r\n }\r\n if (queryParams.filter.Mode !== undefined) {\r\n customerTableMock = customerTableMock.filter((word) =>\r\n String(word.Mode)\r\n .trim()\r\n .toLowerCase()\r\n .includes(String(queryParams.filter.Mode).trim().toLowerCase())\r\n );\r\n }\r\n if (queryParams.filter.EquipmentSize !== undefined) {\r\n customerTableMock = customerTableMock.filter((word) =>\r\n String(word.EquipmentSize)\r\n .trim()\r\n .toLowerCase()\r\n .includes(String(queryParams.filter.EquipmentSize).trim().toLowerCase())\r\n );\r\n }\r\n if (queryParams.filter.EquipmentType !== undefined) {\r\n customerTableMock = customerTableMock.filter((word) =>\r\n String(word.EquipmentType)\r\n .trim()\r\n .toLowerCase()\r\n .includes(String(queryParams.filter.EquipmentType).trim().toLowerCase())\r\n );\r\n }\r\n if (queryParams.filter.RateType !== undefined) {\r\n customerTableMock = customerTableMock.filter((word) =>\r\n String(word.RateType)\r\n .trim()\r\n .toLowerCase()\r\n .includes(String(queryParams.filter.RateType).trim().toLowerCase())\r\n );\r\n }\r\n }\r\n const filterIsActive = queryParams.filter.IsActive;\r\n if (filterIsActive === undefined) {\r\n customerTableMock = customerTableMock.filter((word) =>\r\n String(word.IsActive).includes(String(true))\r\n );\r\n } else {\r\n if (filterIsActive) {\r\n customerTableMock = customerTableMock.filter((word) =>\r\n String(word.IsActive).includes(String(filterIsActive))\r\n );\r\n } else {\r\n customerTableMock = customerTableMock.filter((word) =>\r\n String(word.IsActive).includes(String(false))\r\n );\r\n }\r\n }\r\n delete queryParams.filter.ReLoadTable;\r\n delete queryParams.filter.searchText;\r\n\r\n const filteredCustomers = mockUtils.baseFilter(\r\n customerTableMock,\r\n queryParams\r\n );\r\n return [200, filteredCustomers];\r\n });\r\n\r\n mock.onPost(\"api/CarrierProfileRating/deleteCustomers\").reply((config) => {\r\n const { ids } = JSON.parse(config.data);\r\n ids.forEach((id) => {\r\n const index = customerTableMock.findIndex((el) => el.id === id);\r\n if (index > -1) {\r\n customerTableMock.splice(index, 1);\r\n }\r\n });\r\n return [200];\r\n });\r\n\r\n mock.onPost(\"api/CarrierProfileRating/updateStatusForCustomers\")\r\n .reply((config) => {\r\n const { ids, status } = JSON.parse(config.data);\r\n customerTableMock.forEach((el) => {\r\n if (ids.findIndex((id) => id === el.id) > -1) {\r\n el.status = status;\r\n }\r\n });\r\n return [200];\r\n });\r\n\r\n async function GetUser(id) {\r\n return await fetch(window.$apiurl + \"/rating/charges/\" + id, {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n return res[1];\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n\r\n mock.onGet(/api\\/CarrierProfileRating\\/\\d+/).reply(async (config) => {\r\n const id = config.url.match(/api\\/CarrierProfileRating\\/(\\d+)/)[1];\r\n const customer = await GetUser(id);\r\n if (!customer) {\r\n return [400];\r\n }\r\n return [200, customer];\r\n });\r\n\r\n mock.onPut(/api\\/CarrierProfileRating\\/\\d+/).reply(async (config) => {\r\n const id = config.url.match(/api\\/CarrierProfileRating\\/(\\d+)/)[1];\r\n const { customer } = JSON.parse(config.data);\r\n const result = await PutUser(customer, id);\r\n if (result?.Message) {\r\n Notification(\r\n \"errorClick\",\r\n result?.Message\r\n );\r\n return false;\r\n } else {\r\n const index = customerTableMock.findIndex((el) => el.id === +id);\r\n customerTableMock[index] = { ...customer };\r\n Notification(\r\n \"success\",\r\n \"Carrier Profile Rate has been updated successfully\"\r\n );\r\n document.getElementById(\"ReLoadTableId\").click();\r\n return [200];\r\n }\r\n });\r\n\r\n mock.onDelete(/api\\/CarrierProfileRating\\/\\d+/).reply(async (config) => {\r\n const id = config.url.match(/api\\/CarrierProfileRating\\/(\\d+)/)[1];\r\n const index = customerTableMock.findIndex((el) => el.id === +id);\r\n if (index === -1) {\r\n return [400];\r\n }\r\n var deleteObj = await DeleteUser(id);\r\n if (!deleteObj) {\r\n return [400];\r\n }\r\n customerTableMock.splice(index, 1);\r\n return [200];\r\n });\r\n}\r\n\r\nfunction ChangeId(list) {\r\n for (var item in list) {\r\n list[item].id = list[item].Id;\r\n delete list[item].Id;\r\n }\r\n return list;\r\n}\r\n\r\nfunction generateUserId() {\r\n const ids = customerTableMock.map((el) => el.id);\r\n const maxId = Math.max(...ids);\r\n return maxId + 1;\r\n}\r\n","import MockUtils from \"./mock.utils\";\r\nimport { Notification } from \"../../../modules/Notification\";\r\nimport low from \"lowdb\";\r\nimport LocalStorage from \"lowdb/adapters/LocalStorage\";\r\nimport $ from \"jquery\";\r\nconst adapter = new LocalStorage(\"db\");\r\nconst db = low(adapter);\r\nlet customerTableMock;\r\nexport default async function mockManageQuotes(mock) {\r\n function StatusMessage(res) {\r\n var status = res.status;\r\n var statusText = res.statusText;\r\n if (status === 200) {\r\n Notification(\"success\", \"success\");\r\n return true;\r\n } else if (status === 400) {\r\n Notification(\"error\", statusText);\r\n return false;\r\n }\r\n }\r\n\r\n async function GetUsersData(link) {\r\n return await fetch(window.$apiurl + \"/quoting?\" + link, {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n window.$AllCountQuote = data.AllCount;\r\n const listStatus = [\r\n {\r\n Id: 45,\r\n Name: \"Draft\",\r\n Count: data.DraftCount,\r\n },\r\n {\r\n Id: 46,\r\n Name: \"New\",\r\n Count: data.NewCount,\r\n },\r\n {\r\n Id: 47,\r\n Name: \"Pending\",\r\n Count: data.PendingCount,\r\n },\r\n {\r\n Id: 48,\r\n Name: \"Accepted\",\r\n Count: data.AcceptedCount,\r\n },\r\n {\r\n Id: 49,\r\n Name: \"Rejected\",\r\n Count: data.RejectedCount,\r\n },\r\n ];\r\n window.$statusList = listStatus;\r\n return Promise.all([statusCode, data.data]);\r\n })\r\n .then((res) => {\r\n return ChangeId(res[1]);\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n\r\n async function PostCustomerProfileRating(someData) {\r\n return fetch(window.$apiurl + \"/quoting?IsQuote=true\", {\r\n method: \"post\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(someData),\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n return res[1];\r\n })\r\n .catch((error) => {\r\n //console.error(error);\r\n });\r\n }\r\n async function PostCloneRate(id) {\r\n return fetch(window.$apiurl + \"/rating/clone/\" + id, {\r\n method: \"post\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n return res[1];\r\n })\r\n .catch((error) => {\r\n //console.error(error);\r\n });\r\n }\r\n async function PutUser(someData, id) {\r\n return fetch(window.$apiurl + \"/quoting/\" + id, {\r\n method: \"put\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(someData),\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n return res[1];\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n async function DeleteUser(id) {\r\n return await fetch(window.$apiurl + \"/quoting/\" + id, {\r\n method: \"Delete\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n return response;\r\n })\r\n .then((res) => {\r\n return StatusMessage(res);\r\n })\r\n .catch((err) => {\r\n return StatusMessage(err);\r\n });\r\n }\r\n\r\n async function GetViewModel() {\r\n return await fetch(window.$apiurl + \"/quoting/viewmodel\", {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then((res) => res.json())\r\n .then((res) => {\r\n return res;\r\n })\r\n .catch((err) => {\r\n Notification(\"error\", \"err\");\r\n return false;\r\n });\r\n }\r\n\r\n async function GetWarehousesFetch(obj) {\r\n return await fetch(window.$apiurl + \"/warehousesForCustomer\", {\r\n method: \"POST\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(obj),\r\n })\r\n .then((res) => res.json())\r\n .then((res) => {\r\n return res;\r\n })\r\n .catch((err) => {\r\n Notification(\"error\", \"err\");\r\n return false;\r\n });\r\n }\r\n // Mock ---------------------------------------------------------------------------------\r\n mock.onGet(\"api/ManageCustomerQuotes/GetAllApi\").reply(async () => {\r\n const obj = {};\r\n obj[\"viewModel\"] = await GetViewModel();\r\n return [200, obj];\r\n });\r\n mock.onGet(\"api/ManageCustomerQuotes/CloneRate\").reply(async () => {\r\n const id = window.$RateId;\r\n await PostCloneRate(id);\r\n document.getElementById(\"ReLoadTableId\").click();\r\n Notification(\"success\", \"Your rate has been cloned successfully.\");\r\n });\r\n mock.onGet(\"api/ManageCustomerQuotes/fetchWarehouses\").reply(async () => {\r\n const obj = {};\r\n obj[\"warehousesListFetch\"] = await GetWarehousesFetch(window.$objCustomers);\r\n return [200, obj];\r\n });\r\n mock.onPost(\"api/ManageCustomerQuotes\").reply(async ({ data }) => {\r\n const { customer } = JSON.parse(data);\r\n const {\r\n Name = \"\",\r\n Description = \"\",\r\n StatusId = \"\",\r\n ValidFrom = \"\",\r\n ValidTo = \"\",\r\n QuoteTypeId=null,\r\n CustomerIds = [],\r\n Rates = [],\r\n } = customer;\r\n const id = generateUserId();\r\n const newCustomer = {\r\n id,\r\n Name,\r\n Description,\r\n StatusId,\r\n ValidFrom,\r\n QuoteTypeId,\r\n ValidTo,\r\n CustomerIds,\r\n Rates,\r\n };\r\n var postCustomerProfile = await PostCustomerProfileRating(newCustomer);\r\n if (postCustomerProfile.Id != undefined) {\r\n Notification(\"success\", \"Quote has been added successfully\");\r\n postCustomerProfile.id = postCustomerProfile.Id;\r\n customerTableMock.push(newCustomer);\r\n document.getElementById(\"ReLoadTableId\").click();\r\n $(\".CustomerQuotesCard\").show();\r\n window.$QuoteCustomer400 = false;\r\n return [\r\n 200,\r\n {\r\n customer: newCustomer,\r\n message: postCustomerProfile.Message,\r\n success: true,\r\n },\r\n ];\r\n } else {\r\n if (postCustomerProfile.Message) {\r\n document.getElementById(\"ReLoadTableId\").click();\r\n Notification(\"error\", postCustomerProfile.Message);\r\n window.$QuoteCustomer400 = true;\r\n $(\".CustomerQuotesCard\").hide();\r\n return [\r\n 400,\r\n {\r\n customer: newCustomer,\r\n message: postCustomerProfile.Message,\r\n success: false,\r\n },\r\n ];\r\n } else {\r\n Notification(\"success\", \"Quote has been added successfully\");\r\n document.getElementById(\"ReLoadTableId\").click();\r\n $(\".CustomerQuotesCard\").show();\r\n window.$QuoteCustomer400 = false;\r\n return [\r\n 200,\r\n {\r\n customer: newCustomer,\r\n message: postCustomerProfile.Message,\r\n success: true,\r\n },\r\n ];\r\n }\r\n }\r\n });\r\n\r\n mock.onPost(\"api/ManageCustomerQuotes/find\").reply(async (config) => {\r\n const mockUtils = new MockUtils();\r\n const { queryParams } = JSON.parse(config.data);\r\n const _filter = queryParams;\r\n var carrierId = \"carrierId=\" + (_filter.filter.CarrierId || \"\");\r\n var customerId = \"&customerId=\" + (_filter.filter.CustomerId || \"\");\r\n var statusId = \"&statusId=\" + (window.$QuotesManagmentStatu || \"\");\r\n var name = \"&name=\" + (_filter.filter.Name || \"\");\r\n var validFrom = \"&validFrom=\" + (_filter.filter.ValidFrom || \"\");\r\n var validTo = \"&validTo=\" + (_filter.filter.ValidTo || \"\");\r\n var expired = \"&expired=\" + (_filter.filter.Expired);\r\n var isQuote = \"&IsQuote=true\";\r\n var link =\r\n carrierId +\r\n customerId +\r\n statusId +\r\n name +\r\n validFrom +\r\n validTo +\r\n validTo +\r\n expired +\r\n isQuote;\r\n customerTableMock = await GetUsersData(link);\r\n delete _filter.filter.CarrierId;\r\n delete _filter.filter.CustomerId;\r\n delete _filter.filter.StatusId;\r\n delete _filter.filter.ValidFrom;\r\n delete _filter.filter.ValidTo;\r\n delete _filter.filter.ReLoadTable;\r\n delete _filter.filter.Expired;\r\n delete _filter.filter.Name;\r\n\r\n const filterdCustomers = mockUtils.baseFilter(\r\n customerTableMock,\r\n queryParams\r\n );\r\n return [200, filterdCustomers];\r\n });\r\n\r\n mock.onPost(\"api/ManageCustomerQuotes/deleteCustomers\").reply((config) => {\r\n const { ids } = JSON.parse(config.data);\r\n ids.forEach((id) => {\r\n const index = customerTableMock.findIndex((el) => el.id === id);\r\n if (index > -1) {\r\n customerTableMock.splice(index, 1);\r\n }\r\n });\r\n return [200];\r\n });\r\n\r\n mock\r\n .onPost(\"api/ManageCustomerQuotes/updateStatusForCustomers\")\r\n .reply((config) => {\r\n const { ids, status } = JSON.parse(config.data);\r\n customerTableMock.forEach((el) => {\r\n if (ids.findIndex((id) => id === el.id) > -1) {\r\n el.status = status;\r\n }\r\n });\r\n return [200];\r\n });\r\n\r\n async function GetUser(id) {\r\n return await fetch(window.$apiurl + \"/quoting/\" + id, {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n return res[1];\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n\r\n mock.onGet(/api\\/ManageCustomerQuotes\\/\\d+/).reply(async (config) => {\r\n const id = config.url.match(/api\\/ManageCustomerQuotes\\/(\\d+)/)[1];\r\n const customer = await GetUser(id);\r\n if (!customer) {\r\n return [400];\r\n }\r\n return [200, customer];\r\n });\r\n\r\n mock.onPut(/api\\/ManageCustomerQuotes\\/\\d+/).reply(async (config) => {\r\n const id = config.url.match(/api\\/ManageCustomerQuotes\\/(\\d+)/)[1];\r\n const { customer } = JSON.parse(config.data);\r\n const putQuote = await PutUser(customer, id);\r\n const index = customerTableMock.findIndex((el) => el.id === +id);\r\n customerTableMock[index] = { ...customer };\r\n if(putQuote.Message){\r\n Notification(\"error\", putQuote.Message);\r\n return false;\r\n }else{\r\n Notification(\"success\", \"Quote has been updated successfully\");\r\n document.getElementById(\"ReLoadTableId\").click();\r\n $(\".CustomerQuotesCard\").show();\r\n return [200]; \r\n }\r\n });\r\n\r\n mock.onDelete(/api\\/ManageCustomerQuotes\\/\\d+/).reply(async (config) => {\r\n const id = config.url.match(/api\\/ManageCustomerQuotes\\/(\\d+)/)[1];\r\n const index = customerTableMock.findIndex((el) => el.id === +id);\r\n if (index === -1) {\r\n return [400];\r\n }\r\n var deleteObj = await DeleteUser(id);\r\n if (!deleteObj) {\r\n return [400];\r\n }\r\n customerTableMock.splice(index, 1);\r\n document.getElementById(\"ReLoadTableId\").click();\r\n return [200];\r\n });\r\n}\r\n\r\nfunction ChangeId(list) {\r\n for (var item in list) {\r\n list[item].id = list[item].Id;\r\n delete list[item].Id;\r\n }\r\n return list;\r\n}\r\n\r\nfunction generateUserId() {\r\n const ids = customerTableMock.map((el) => el.id);\r\n const maxId = Math.max(...ids);\r\n return maxId + 1;\r\n}\r\n","import MockUtils from \"./mock.utils\";\r\nimport { Notification } from \"../../../modules/Notification\";\r\nimport low from \"lowdb\";\r\nimport LocalStorage from \"lowdb/adapters/LocalStorage\";\r\nimport $ from \"jquery\";\r\nconst adapter = new LocalStorage(\"db\");\r\nconst db = low(adapter);\r\nlet customerTableMock;\r\nexport default async function mockManageQuotesCarriers(mock) {\r\n function StatusMessage(res) {\r\n var status = res.status;\r\n var statusText = res.statusText;\r\n if (status === 200) {\r\n Notification(\"success\", \"success\");\r\n return true;\r\n } else if (status === 400) {\r\n Notification(\"error\", statusText);\r\n return false;\r\n }\r\n }\r\n\r\n async function GetUsersData(link) {\r\n return await fetch(window.$apiurl + \"/quoting?\" + link, {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n window.$AllCountQuote = data.AllCount;\r\n const listStatus = [\r\n {\r\n Id: 45,\r\n Name: \"Draft\",\r\n Count: data.DraftCount,\r\n },\r\n {\r\n Id: 46,\r\n Name: \"New\",\r\n Count: data.NewCount,\r\n },\r\n {\r\n Id: 48,\r\n Name: \"Accepted\",\r\n Count: data.AcceptedCount,\r\n },\r\n {\r\n Id: 49,\r\n Name: \"Rejected\",\r\n Count: data.RejectedCount,\r\n },\r\n ];\r\n window.$statusList = listStatus;\r\n return Promise.all([statusCode, data.data]);\r\n })\r\n .then((res) => {\r\n return ChangeId(res[1]);\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n\r\n async function PostCustomerProfileRating(someData) {\r\n return fetch(window.$apiurl + \"/quoting?IsQuote=false\", {\r\n method: \"post\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(someData),\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n return res[1];\r\n })\r\n .catch((error) => {\r\n //console.error(error);\r\n });\r\n }\r\n async function PostCloneRate(id) {\r\n return fetch(window.$apiurl + \"/rating/clone/\" + id, {\r\n method: \"post\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n return res[1];\r\n })\r\n .catch((error) => {\r\n //console.error(error);\r\n });\r\n }\r\n async function PutUser(someData, id) {\r\n return fetch(window.$apiurl + \"/quoting/\" + id + \"?IsQuote=false\", {\r\n method: \"put\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(someData),\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n return res[1];\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n async function DeleteUser(id) {\r\n return await fetch(window.$apiurl + \"/quoting/\" + id, {\r\n method: \"Delete\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n return response;\r\n })\r\n .then((res) => {\r\n return StatusMessage(res);\r\n })\r\n .catch((err) => {\r\n return StatusMessage(err);\r\n });\r\n }\r\n\r\n async function GetViewModel() {\r\n return await fetch(window.$apiurl + \"/quoting/viewmodel\", {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then((res) => res.json())\r\n .then((res) => {\r\n return res;\r\n })\r\n .catch((err) => {\r\n Notification(\"error\", \"err\");\r\n return false;\r\n });\r\n }\r\n\r\n async function GetWarehousesFetch(obj) {\r\n return await fetch(window.$apiurl + \"/warehousesForCustomer\", {\r\n method: \"POST\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(obj),\r\n })\r\n .then((res) => res.json())\r\n .then((res) => {\r\n return res;\r\n })\r\n .catch((err) => {\r\n Notification(\"error\", \"err\");\r\n return false;\r\n });\r\n }\r\n // Mock ---------------------------------------------------------------------------------\r\n mock.onGet(\"api/ManageQuotesCarriers/GetAllApi\").reply(async () => {\r\n const obj = {};\r\n obj[\"viewModel\"] = await GetViewModel();\r\n return [200, obj];\r\n });\r\n mock.onGet(\"api/ManageQuotesCarriers/CloneRate\").reply(async () => {\r\n const id = window.$RateId;\r\n await PostCloneRate(id);\r\n document.getElementById(\"ReLoadTableId\").click();\r\n Notification(\"success\", \"Your rate has been cloned successfully.\");\r\n });\r\n mock.onGet(\"api/ManageQuotesCarriers/fetchWarehouses\").reply(async () => {\r\n const obj = {};\r\n obj[\"warehousesListFetch\"] = await GetWarehousesFetch(window.$objCustomers);\r\n return [200, obj];\r\n });\r\n mock.onPost(\"api/ManageQuotesCarriers\").reply(async ({ data }) => {\r\n const { customer } = JSON.parse(data);\r\n const {\r\n Name = \"\",\r\n Description = \"\",\r\n StatusId = \"\",\r\n ValidFrom = \"\",\r\n ValidTo = \"\",\r\n QuoteTypeId=null,\r\n CustomerIds = [],\r\n CarrierIds = [],\r\n Rates = [],\r\n } = customer;\r\n const id = generateUserId();\r\n const newCustomer = {\r\n id,\r\n Name,\r\n Description,\r\n StatusId,\r\n ValidFrom,\r\n ValidTo,\r\n CustomerIds,\r\n QuoteTypeId,\r\n CarrierIds,\r\n Rates,\r\n };\r\n var postCustomerProfile = await PostCustomerProfileRating(newCustomer);\r\n if (postCustomerProfile.Id != undefined) {\r\n Notification(\"success\", \"Quote has been added successfully\");\r\n postCustomerProfile.id = postCustomerProfile.Id;\r\n customerTableMock.push(newCustomer);\r\n document.getElementById(\"ReLoadTableId\").click();\r\n $(\".CarrierQuotesCard\").show();\r\n window.$QuoteCarrier400 = false;\r\n return [\r\n 200,\r\n {\r\n customer: newCustomer,\r\n message: postCustomerProfile.Message,\r\n success: true,\r\n },\r\n ];\r\n } else {\r\n if (postCustomerProfile.Message) {\r\n document.getElementById(\"ReLoadTableId\").click();\r\n Notification(\"error\", postCustomerProfile.Message);\r\n window.$QuoteCarrier400 = true;\r\n return [\r\n 400,\r\n {\r\n customer: newCustomer,\r\n message: postCustomerProfile.Message,\r\n success: false,\r\n },\r\n ];\r\n } else {\r\n Notification(\"success\", \"Quote has been added successfully\");\r\n document.getElementById(\"ReLoadTableId\").click();\r\n $(\".CarrierQuotesCard\").show();\r\n window.$QuoteCarrier400 = false;\r\n return [\r\n 200,\r\n {\r\n customer: newCustomer,\r\n message: postCustomerProfile.Message,\r\n success: true,\r\n },\r\n ];\r\n }\r\n }\r\n });\r\n\r\n mock.onPost(\"api/ManageQuotesCarriers/find\").reply(async (config) => {\r\n const mockUtils = new MockUtils();\r\n const { queryParams } = JSON.parse(config.data);\r\n const _filter = queryParams;\r\n var carrierId = \"carrierId=\" + (_filter.filter.CarrierId || \"\");\r\n var customerId = \"&customerId=\" + (_filter.filter.CustomerId || \"\");\r\n var statusId = \"&statusId=\" + (window.$QuotesManagmentStatu || \"\");\r\n var name = \"&name=\" + (_filter.filter.Name || \"\");\r\n var validFrom = \"&validFrom=\" + (_filter.filter.ValidFrom || \"\");\r\n var validTo = \"&validTo=\" + (_filter.filter.ValidTo || \"\");\r\n var expired = \"&expired=\" + (_filter.filter.Expired);\r\n var isQuote = \"&IsQuote=false\";\r\n var link =\r\n carrierId +\r\n customerId +\r\n statusId +\r\n name +\r\n validFrom +\r\n validTo +\r\n validTo +\r\n expired +\r\n isQuote;\r\n customerTableMock = await GetUsersData(link);\r\n delete _filter.filter.CarrierId;\r\n delete _filter.filter.CustomerId;\r\n delete _filter.filter.StatusId;\r\n delete _filter.filter.ValidFrom;\r\n delete _filter.filter.ValidTo;\r\n delete _filter.filter.ReLoadTable;\r\n delete _filter.filter.Expired;\r\n delete _filter.filter.Name;\r\n const filterdCustomers = mockUtils.baseFilter(\r\n customerTableMock,\r\n queryParams\r\n );\r\n return [200, filterdCustomers];\r\n });\r\n\r\n mock.onPost(\"api/ManageQuotesCarriers/deleteCustomers\").reply((config) => {\r\n const { ids } = JSON.parse(config.data);\r\n ids.forEach((id) => {\r\n const index = customerTableMock.findIndex((el) => el.id === id);\r\n if (index > -1) {\r\n customerTableMock.splice(index, 1);\r\n }\r\n });\r\n return [200];\r\n });\r\n\r\n mock\r\n .onPost(\"api/ManageQuotesCarriers/updateStatusForCustomers\")\r\n .reply((config) => {\r\n const { ids, status } = JSON.parse(config.data);\r\n customerTableMock.forEach((el) => {\r\n if (ids.findIndex((id) => id === el.id) > -1) {\r\n el.status = status;\r\n }\r\n });\r\n return [200];\r\n });\r\n\r\n async function GetUser(id) {\r\n return await fetch(window.$apiurl + \"/quoting/\" + id + \"?IsQuote=false\", {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n return res[1];\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n\r\n mock.onGet(/api\\/ManageQuotesCarriers\\/\\d+/).reply(async (config) => {\r\n const id = config.url.match(/api\\/ManageQuotesCarriers\\/(\\d+)/)[1];\r\n const customer = await GetUser(id);\r\n if (!customer) {\r\n return [400];\r\n }\r\n return [200, customer];\r\n });\r\n\r\n mock.onPut(/api\\/ManageQuotesCarriers\\/\\d+/).reply(async (config) => {\r\n const id = config.url.match(/api\\/ManageQuotesCarriers\\/(\\d+)/)[1];\r\n const { customer } = JSON.parse(config.data);\r\n delete customer.CarriersIds;\r\n console.log(JSON.stringify(customer));\r\n const putQuote = await PutUser(customer, id);\r\n const index = customerTableMock.findIndex((el) => el.id === +id);\r\n customerTableMock[index] = { ...customer };\r\n if(putQuote.Message){\r\n Notification(\"error\", putQuote.Message);\r\n return false;\r\n }else{\r\n Notification(\"success\", \"Quote has been updated successfully\");\r\n document.getElementById(\"ReLoadTableId\").click();\r\n $(\".CarrierQuotesCard\").show();\r\n return [200]; \r\n }\r\n });\r\n\r\n mock.onDelete(/api\\/ManageQuotesCarriers\\/\\d+/).reply(async (config) => {\r\n const id = config.url.match(/api\\/ManageQuotesCarriers\\/(\\d+)/)[1];\r\n const index = customerTableMock.findIndex((el) => el.id === +id);\r\n if (index === -1) {\r\n return [400];\r\n }\r\n var deleteObj = await DeleteUser(id);\r\n if (!deleteObj) {\r\n return [400];\r\n }\r\n customerTableMock.splice(index, 1);\r\n document.getElementById(\"ReLoadTableId\").click();\r\n return [200];\r\n });\r\n}\r\n\r\nfunction ChangeId(list) {\r\n for (var item in list) {\r\n list[item].id = list[item].Id;\r\n delete list[item].Id;\r\n }\r\n return list;\r\n}\r\n\r\nfunction generateUserId() {\r\n const ids = customerTableMock.map((el) => el.id);\r\n const maxId = Math.max(...ids);\r\n return maxId + 1;\r\n}\r\n","import MockUtils from \"../mock.utils\";\r\nimport { Notification } from \"../../../../modules/Notification\";\r\nimport low from \"lowdb\";\r\nimport LocalStorage from \"lowdb/adapters/LocalStorage\";\r\nimport $ from \"jquery\";\r\nconst adapter = new LocalStorage(\"db\");\r\nconst db = low(adapter);\r\n\r\nlet remarkTableMock = [];\r\nexport default function mockTransportationItems(mock) {\r\n function StatusMessage(res) {\r\n var status = res.status;\r\n var statusText = res.statusText;\r\n if (status === 200) {\r\n Notification(\"success\", \"success\");\r\n return true;\r\n } else if (status === 400) {\r\n Notification(\"error\", statusText);\r\n return false;\r\n }\r\n }\r\n\r\n async function GetModelsFirst(id) {\r\n return await fetch(`${window.$apiurl}/transload/receipts/${id}`, {\r\n method: \"get\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n let a = 0;\r\n let b = 0;\r\n res[1][\"LineItems\"].forEach((x) => {\r\n if (x.Cube) {\r\n if (x.WeightType === \"KGS\") a += x.Weight;\r\n if (x.WeightType === \"LBS\") a += x.Weight * 2.20462;\r\n }\r\n if (x.Weight) {\r\n if (x.CubeType === \"CBM\") b += x.Cube;\r\n if (x.CubeType === \"CFT\") b += x.Cube * 35.3147;\r\n }\r\n });\r\n window.Cube = a.toFixed(2);\r\n window.Weight = b.toFixed(2);\r\n window.Cube2 = (a * 35.3147).toFixed(2);\r\n window.Weight2 = (b * 2.20462).toFixed(2);\r\n return ChangeId(res[1][\"LineItems\"]);\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n\r\n async function GetModels(id) {\r\n return await fetch(`${window.$apiurl}/shipments/transportationItems/${id}`, {\r\n method: \"get\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n const result = data;\r\n return Promise.all([statusCode, result]);\r\n })\r\n .then((res) => {\r\n let a = 0;\r\n let b = 0;\r\n let u = 0;\r\n let p = 0;\r\n\r\n let c = res[1] || [];\r\n c.forEach((x) => {\r\n if (x.Weight) {\r\n if (x.WeightType === \"LBS\") a += x.Weight * 2.20462;\r\n else a += x.Weight;\r\n }\r\n if (x.Cube) {\r\n if (x.CubeType === \"CFT\") b += x.Cube * 35.3147;\r\n else b += x.Cube;\r\n }\r\n if (x.Quantity) u += x.Quantity;\r\n if (x.Pallets) p += x.Pallets;\r\n });\r\n window.$reciept_LineItemList = c;\r\n $(`[name=\"TotalCube1\"]`).val(b.toFixed(2));\r\n $(`[name=\"TotalWeight1\"]`).val(a.toFixed(2));\r\n $(`[name=\"UnitCounts\"]`).val(u.toFixed(2));\r\n return ChangeId(res[1]);\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n\r\n async function GetViewmodel() {\r\n return await fetch(window.$apiurl + \"/transload/receipts/getviewmodel\", {\r\n method: \"get\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n return res[1];\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n\r\n async function PostModel(someData) {\r\n return fetch(window.$apiurl + \"/shipments/transportation/item\", {\r\n method: \"post\",\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(someData),\r\n })\r\n .then(async (response) => {\r\n return response;\r\n })\r\n .then((res) => {\r\n if (!res.ok) throw res;\r\n Notification(\"success\", \"success\");\r\n })\r\n .catch((err) => {\r\n err.json().then((body) => {\r\n Notification(\"error\", body?.Message);\r\n });\r\n });\r\n }\r\n\r\n async function DeleteModel(id) {\r\n return fetch(window.$apiurl + \"/shipments/transportation/item/\" + id, {\r\n method: \"delete\",\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n return response;\r\n })\r\n .then((res) => {\r\n return StatusMessage(res);\r\n })\r\n .catch((err) => {\r\n return StatusMessage(err);\r\n });\r\n }\r\n\r\n async function PutModel(someData, id) {\r\n return fetch(window.$apiurl + \"/shipments/transportation/item/\" + id, {\r\n method: \"put\",\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(someData),\r\n })\r\n .then(async (response) => {\r\n return response;\r\n })\r\n .then((res) => {\r\n return StatusMessage(res);\r\n })\r\n .catch((err) => {\r\n return StatusMessage(err);\r\n });\r\n }\r\n\r\n async function GetModel(id) {\r\n return await fetch(\r\n window.$apiurl + \"/shipments/transportation/item/\" + id,\r\n {\r\n method: \"get\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n }\r\n )\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n return res[1];\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n\r\n //------------------------------------------------------------------------------------\r\n\r\n mock.onGet(\"api/TransportationItems/GetAllApi\").reply(async () => {\r\n const obj = await GetViewmodel();\r\n return [200, obj];\r\n });\r\n\r\n mock.onPost(\"api/TransportationItems\").reply(async ({ data }) => {\r\n const { remark } = JSON.parse(data);\r\n const {\r\n id,\r\n ShipmentId,\r\n PurchaseOrder,\r\n Sku,\r\n UnitOfMeasureId,\r\n UnitCount,\r\n Description,\r\n Weight,\r\n WeightType,\r\n Cube,\r\n CubeType,\r\n OverQuantity,\r\n Location,\r\n ShortQuantity,\r\n DamagedQuantity,\r\n IsHot,\r\n IsHazardousMateriel,\r\n UnNumber,\r\n PackagingGroup,\r\n HazardClass,\r\n PieceDescription,\r\n EmergencyContactNumber,\r\n LbsWeight,\r\n CftCube,\r\n Width,\r\n Height,\r\n FreightClass,\r\n Length,\r\n Nmfc\r\n } = remark;\r\n const newRemark = {\r\n id,\r\n ShipmentId,\r\n Location,\r\n PurchaseOrder,\r\n Sku,\r\n UnitOfMeasureId,\r\n UnitCount,\r\n Description,\r\n Weight,\r\n WeightType,\r\n Cube,\r\n CubeType,\r\n Width,\r\n Height,\r\n OverQuantity,\r\n ShortQuantity,\r\n DamagedQuantity,\r\n IsHot,\r\n IsHazardousMateriel,\r\n UnNumber,\r\n PackagingGroup,\r\n HazardClass,\r\n PieceDescription,\r\n EmergencyContactNumber,\r\n LbsWeight,\r\n CftCube,\r\n FreightClass,\r\n Length,\r\n Nmfc\r\n };\r\n await PostModel(remark);\r\n remarkTableMock.push(newRemark);\r\n return [200, { remark: newRemark }];\r\n });\r\n\r\n mock.onPost(/api\\/TransportationItemsfind\\/\\d+/).reply(async (config) => {\r\n const urls = config.url.split(\"/\");\r\n const id = urls[2];\r\n const mockUtils = new MockUtils();\r\n const { queryParams } = JSON.parse(config.data);\r\n const productRemarks = await GetModels(id);\r\n const filterdRemarks = mockUtils.baseFilter(productRemarks, queryParams);\r\n return [200, filterdRemarks];\r\n });\r\n\r\n mock.onPost(\"api/TransportationItems/deleteRemarks\").reply((config) => {\r\n const { ids } = JSON.parse(config.data);\r\n ids.forEach((id) => {\r\n const index = remarkTableMock.findIndex((el) => el.id === id);\r\n if (index > -1) {\r\n remarkTableMock.splice(index, 1);\r\n }\r\n });\r\n return [200];\r\n });\r\n\r\n mock.onGet(/api\\/TransportationItems\\/\\d+/).reply(async (config) => {\r\n const id = config.url.match(/api\\/TransportationItems\\/(\\d+)/)[1];\r\n const remark = await GetModel(id);\r\n remark.id = id;\r\n if (!remark) {\r\n return [400];\r\n }\r\n return [200, remark];\r\n });\r\n\r\n mock.onPut(/api\\/TransportationItems\\/\\d+/).reply(async (config) => {\r\n const id = config.url.match(/api\\/TransportationItems\\/(\\d+)/)[1];\r\n const { remark } = JSON.parse(config.data);\r\n remark.ShipmentId = window.$ShipmentId;\r\n var putObj = await PutModel(remark, id);\r\n if (!putObj) {\r\n return [400];\r\n }\r\n const index = remarkTableMock.findIndex((el) => el.id === +id);\r\n if (!index) {\r\n return [400];\r\n }\r\n remarkTableMock[index] = { ...remark };\r\n return [200];\r\n });\r\n\r\n mock.onDelete(/api\\/TransportationItems\\/\\d+/).reply(async (config) => {\r\n const id = config.url.match(/api\\/TransportationItems\\/(\\d+)/)[1];\r\n const index = remarkTableMock.findIndex((el) => el.id === +id);\r\n var deleteObj = await DeleteModel(id);\r\n if (!deleteObj) {\r\n return [400];\r\n }\r\n remarkTableMock.splice(index, 1);\r\n return [200];\r\n });\r\n}\r\n\r\nfunction ChangeId(list) {\r\n for (var item in list) {\r\n list[item].id = list[item].Id;\r\n delete list[item].Id;\r\n }\r\n return list;\r\n}\r\n","import low from \"lowdb\";\r\nimport LocalStorage from \"lowdb/adapters/LocalStorage\";\r\nimport { Notification } from \"../../../modules/Notification\";\r\nimport MockUtils from \"./mock.utils\";\r\nconst adapter = new LocalStorage(\"db\");\r\nconst db = low(adapter);\r\nlet customerTableMock;\r\nexport default async function mockManageTripsManagement(mock) {\r\n function StatusMessage(res) {\r\n var status = res.status;\r\n var statusText = res.statusText;\r\n if (status === 200) {\r\n Notification(\"success\", \"success\");\r\n return true;\r\n } else if (status === 400) {\r\n Notification(\"error\", statusText);\r\n return false;\r\n }\r\n }\r\n\r\n async function GetUsersData() {\r\n return await fetch(window.$apiurl + \"/trips\", {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n return ChangeId(res[1]);\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n\r\n async function PostCustomerProfileRating(someData) {\r\n return fetch(window.$apiurl + \"/trips\", {\r\n method: \"post\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(someData),\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n return res[1];\r\n })\r\n .catch((error) => {\r\n //console.error(error);\r\n });\r\n }\r\n\r\n async function PutUser(someData, id) {\r\n return fetch(window.$apiurl + \"/trips/\" + id, {\r\n method: \"put\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(someData),\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n return res[1];\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n async function DeleteUser(id) {\r\n return await fetch(window.$apiurl + \"/trips/\" + id, {\r\n method: \"Delete\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n return response;\r\n })\r\n .then((res) => {\r\n return StatusMessage(res);\r\n })\r\n .catch((err) => {\r\n return StatusMessage(err);\r\n });\r\n }\r\n //Get View Model\r\n async function GetVendors() {\r\n return await fetch(window.$apiurl + \"/vendors\", {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then((res) => res.json())\r\n .then((res) => {\r\n return res.Vendors;\r\n })\r\n .catch((err) => {\r\n return false;\r\n });\r\n }\r\n // Mock ---------------------------------------------------------------------------------\r\n mock.onGet(\"api/ManageTripsManagement/GetAllApi\").reply(async () => {\r\n const result = await GetVendors();\r\n return [200, result];\r\n });\r\n function formatDate(date) {\r\n var d = new Date(date),\r\n month = \"\" + (d.getMonth() + 1),\r\n day = \"\" + d.getDate(),\r\n year = d.getFullYear();\r\n\r\n if (month.length < 2) month = \"0\" + month;\r\n if (day.length < 2) day = \"0\" + day;\r\n\r\n const result = [month, day, year].join(\"/\");\r\n if (result !== \"NaN/NaN/NaN\") {\r\n return result;\r\n } else {\r\n return \"--/--/----\";\r\n }\r\n }\r\n mock.onPost(\"api/ManageTripsManagement\").reply(async ({ data }) => {\r\n const { customer } = JSON.parse(data);\r\n const start = Date.now();\r\n const dateNow = formatDate(start);\r\n const {\r\n TrailerNumber = \"\",\r\n VendorId = \"\",\r\n PickUpDate = \"\",\r\n ReceiveDate = \"\",\r\n DevanDate = \"\",\r\n Description = \"\",\r\n } = customer;\r\n const id = generateUserId();\r\n const newCustomer = {\r\n id,\r\n TrailerNumber,\r\n VendorId,\r\n Description,\r\n PickUpDate,\r\n ReceiveDate,\r\n DevanDate,\r\n };\r\n var postCustomerProfile = await PostCustomerProfileRating(newCustomer);\r\n if (postCustomerProfile.Id != undefined) {\r\n Notification(\"success\", \"Trip has been added successfully\");\r\n postCustomerProfile.id = postCustomerProfile.Id;\r\n customerTableMock.push(newCustomer);\r\n document.getElementById(\"ReLoadTableId\").click();\r\n return [\r\n 200,\r\n {\r\n customer: newCustomer,\r\n message: postCustomerProfile.Message,\r\n success: true,\r\n },\r\n ];\r\n } else {\r\n if (postCustomerProfile.Message) {\r\n Notification(\"error\", postCustomerProfile.Message);\r\n window.$tripsMngStatus = 400;\r\n window.$tripMngLoading = false;\r\n } else {\r\n Notification(\"success\", \"Trip has been added successfully\");\r\n document.getElementById(\"ReLoadTableId\").click();\r\n return [\r\n 200,\r\n {\r\n customer: newCustomer,\r\n message: postCustomerProfile.Message,\r\n success: true,\r\n },\r\n ];\r\n }\r\n }\r\n });\r\n\r\n mock.onPost(\"api/ManageTripsManagement/find\").reply(async (config) => {\r\n const mockUtils = new MockUtils();\r\n const { queryParams } = JSON.parse(config.data);\r\n customerTableMock = await GetUsersData();\r\n delete queryParams.filter.ReLoadTable;\r\n const filterdCustomers = mockUtils.baseFilter(\r\n customerTableMock,\r\n queryParams\r\n );\r\n return [200, filterdCustomers];\r\n });\r\n\r\n mock.onPost(\"api/ManageTripsManagement/deleteCustomers\").reply((config) => {\r\n const { ids } = JSON.parse(config.data);\r\n ids.forEach((id) => {\r\n const index = customerTableMock.findIndex((el) => el.id === id);\r\n if (index > -1) {\r\n customerTableMock.splice(index, 1);\r\n }\r\n });\r\n return [200];\r\n });\r\n\r\n mock\r\n .onPost(\"api/ManageTripsManagement/updateStatusForCustomers\")\r\n .reply((config) => {\r\n const { ids, status } = JSON.parse(config.data);\r\n customerTableMock.forEach((el) => {\r\n if (ids.findIndex((id) => id === el.id) > -1) {\r\n el.status = status;\r\n }\r\n });\r\n return [200];\r\n });\r\n\r\n async function GetUser(id) {\r\n return await fetch(window.$apiurl + \"/trips/\" + id, {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n return res[1];\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n\r\n mock.onGet(/api\\/ManageTripsManagement\\/\\d+/).reply(async (config) => {\r\n const id = config.url.match(/api\\/ManageTripsManagement\\/(\\d+)/)[1];\r\n const customer = await GetUser(id);\r\n if (!customer) {\r\n return [400];\r\n }\r\n return [200, customer];\r\n });\r\n\r\n mock.onPut(/api\\/ManageTripsManagement\\/\\d+/).reply(async (config) => {\r\n const id = config.url.match(/api\\/ManageTripsManagement\\/(\\d+)/)[1];\r\n const { customer } = JSON.parse(config.data);\r\n await PutUser(customer, id);\r\n const index = customerTableMock.findIndex((el) => el.id === +id);\r\n customerTableMock[index] = { ...customer };\r\n Notification(\"success\", \"Trip has been updated successfully\");\r\n document.getElementById(\"ReLoadTableId\").click();\r\n return [200];\r\n });\r\n\r\n mock.onDelete(/api\\/ManageTripsManagement\\/\\d+/).reply(async (config) => {\r\n const id = config.url.match(/api\\/ManageTripsManagement\\/(\\d+)/)[1];\r\n const index = customerTableMock.findIndex((el) => el.id === +id);\r\n if (index === -1) {\r\n return [400];\r\n }\r\n var deleteObj = await DeleteUser(id);\r\n if (!deleteObj) {\r\n return [400];\r\n }\r\n customerTableMock.splice(index, 1);\r\n return [200];\r\n });\r\n}\r\n\r\nfunction ChangeId(list) {\r\n for (var item in list) {\r\n list[item].id = list[item].Id;\r\n delete list[item].Id;\r\n }\r\n return list;\r\n}\r\n\r\nfunction generateUserId() {\r\n const ids = customerTableMock.map((el) => el.id);\r\n const maxId = Math.max(...ids);\r\n return maxId + 1;\r\n}\r\n","import low from \"lowdb\";\r\nimport LocalStorage from \"lowdb/adapters/LocalStorage\";\r\nimport { Notification } from \"../../../modules/Notification\";\r\nimport MockUtils from \"./mock.utils\";\r\nconst adapter = new LocalStorage(\"db\");\r\nconst db = low(adapter);\r\nlet customerTableMock;\r\nexport default async function mockPickUpManagement(mock) {\r\n function StatusMessage(res) {\r\n var status = res.status;\r\n var statusText = res.statusText;\r\n if (status === 200) {\r\n Notification(\"success\", \"success\");\r\n return true;\r\n } else if (status === 400) {\r\n Notification(\"error\", statusText);\r\n return false;\r\n }\r\n }\r\n\r\n async function GetUsersData(PickupType, isClosed, Location) {\r\n window.PickUpManagement_StatusCount = undefined;\r\n\r\n return await fetch(\r\n window.$apiurl +\r\n `/Pickup/List?statusId=${\r\n window.$PickUpManagementStatus\r\n }&type=${window.$pickUpMgtType}&isClosed=${isClosed ||\r\n false}&pickupLocationId=${Location || \"\"}`,\r\n {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n }\r\n )\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n window.PickUpManagement_Vendors = res[1]?.Vendors ?? [];\r\n window.PickUpManagement_Locations = res[1]?.Locations ?? [];\r\n window.PickUpManagement_Vendors = res[1]?.Vendors ?? [];\r\n window.PickUpManagement_StatusCount = res[1]?.StatusCount ?? [];\r\n return ChangeId(res[1]?.Pickups);\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n\r\n async function PostCustomerProfileRating(someData) {\r\n return fetch(window.$apiurl + \"/Pickup/Create\", {\r\n method: \"post\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(someData),\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n return res[1];\r\n })\r\n .catch((error) => {\r\n //console.error(error);\r\n });\r\n }\r\n\r\n async function PutUser(someData, id) {\r\n return fetch(window.$apiurl + \"/trips/\" + id, {\r\n method: \"put\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(someData),\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n return res[1];\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n async function DeleteUser(id) {\r\n return await fetch(window.$apiurl + \"/Pickup/DeletePickup/\" + id, {\r\n method: \"Delete\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = (await response.json()) || {};\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n if (res[0] === 400) {\r\n Notification(\"error\", `${res[1].Message}`);\r\n return false;\r\n } else if (res[0] === 200) {\r\n return StatusMessage(res);\r\n }\r\n })\r\n .catch((err) => {\r\n return StatusMessage(err);\r\n });\r\n }\r\n //Get View Model\r\n async function GetVendors() {\r\n return await fetch(window.$apiurl + \"/vendors\", {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then((res) => res.json())\r\n .then((res) => {\r\n return res.Vendors;\r\n })\r\n .catch((err) => {\r\n return false;\r\n });\r\n }\r\n // Mock ---------------------------------------------------------------------------------\r\n mock.onGet(\"api/PickUpManagement/GetAllApi\").reply(async () => {\r\n const result = await GetVendors();\r\n return [200, result];\r\n });\r\n function formatDate(date) {\r\n var d = new Date(date),\r\n month = \"\" + (d.getMonth() + 1),\r\n day = \"\" + d.getDate(),\r\n year = d.getFullYear();\r\n\r\n if (month.length < 2) month = \"0\" + month;\r\n if (day.length < 2) day = \"0\" + day;\r\n\r\n const result = [month, day, year].join(\"/\");\r\n if (result !== \"NaN/NaN/NaN\") {\r\n return result;\r\n } else {\r\n return \"--/--/----\";\r\n }\r\n }\r\n mock.onPost(\"api/PickUpManagement\").reply(async ({ data }) => {\r\n const { customer } = JSON.parse(data);\r\n const start = Date.now();\r\n const dateNow = formatDate(start);\r\n const {\r\n TrailerNumber = \"\",\r\n VendorId = \"\",\r\n PickUpDate = \"\",\r\n ReceiveDate = \"\",\r\n DevanDate = \"\",\r\n Description = \"\",\r\n } = customer;\r\n const id = generateUserId();\r\n const newCustomer = {\r\n id,\r\n TrailerNumber,\r\n VendorId,\r\n Description,\r\n PickUpDate,\r\n ReceiveDate,\r\n DevanDate,\r\n };\r\n var postCustomerProfile = await PostCustomerProfileRating(newCustomer);\r\n if (postCustomerProfile.Id != undefined) {\r\n Notification(\"success\", \"Trip has been added successfully\");\r\n postCustomerProfile.id = postCustomerProfile.Id;\r\n customerTableMock.push(newCustomer);\r\n document.getElementById(\"ReLoadTableId\").click();\r\n return [\r\n 200,\r\n {\r\n customer: newCustomer,\r\n message: postCustomerProfile.Message,\r\n success: true,\r\n },\r\n ];\r\n } else {\r\n if (postCustomerProfile.Message) {\r\n Notification(\"error\", postCustomerProfile.Message);\r\n window.$tripsMngStatus = 400;\r\n window.$tripMngLoading = false;\r\n } else {\r\n Notification(\"success\", \"Trip has been added successfully\");\r\n document.getElementById(\"ReLoadTableId\").click();\r\n return [\r\n 200,\r\n {\r\n customer: newCustomer,\r\n message: postCustomerProfile.Message,\r\n success: true,\r\n },\r\n ];\r\n }\r\n }\r\n });\r\n\r\n mock.onPost(\"api/PickUpManagement/find\").reply(async (config) => {\r\n const mockUtils = new MockUtils();\r\n const { queryParams } = JSON.parse(config.data);\r\n var filter = queryParams;\r\n filter.filter.searchText = window.$PickUpsManagementsearchText;\r\n filter.filter.receiptIdSearch = window.$PickUpsManagementsearchReceiptId;\r\n filter.filter.receiptIdValue =\r\n window.$PickUpsManagementsearchReceiptIdValue;\r\n customerTableMock = await GetUsersData(\r\n filter.filter.PickupType,\r\n filter.filter.isClosed,\r\n filter.filter.Location\r\n );\r\n //search all fields\r\n if (\r\n filter.filter.searchText !== null &&\r\n filter.filter.searchText !== \"\" &&\r\n filter.filter.searchText !== undefined\r\n ) {\r\n customerTableMock = customerTableMock.filter(\r\n (a) =>\r\n String(a.id)\r\n .toLowerCase()\r\n .trim()\r\n .includes(String(filter.filter.searchText || \"\").toLowerCase()) ||\r\n String(a.VendorPhone)\r\n .toUpperCase()\r\n .trim()\r\n .includes(\r\n String(filter.filter.searchText)\r\n .toUpperCase()\r\n .trim()\r\n ) ||\r\n String(a.Type)\r\n .toUpperCase()\r\n .trim()\r\n .includes(\r\n String(filter.filter.searchText)\r\n .toUpperCase()\r\n .trim()\r\n ) ||\r\n String(a.Location)\r\n .toUpperCase()\r\n .trim()\r\n .includes(\r\n String(filter.filter.searchText)\r\n .toUpperCase()\r\n .trim()\r\n ) ||\r\n String(a.Vendor)\r\n .toUpperCase()\r\n .trim()\r\n .includes(\r\n String(filter.filter.searchText)\r\n .toUpperCase()\r\n .trim()\r\n ) ||\r\n String(a.PoVendor)\r\n .toUpperCase()\r\n .trim()\r\n .includes(\r\n String(filter.filter.searchText)\r\n .toUpperCase()\r\n .trim()\r\n )\r\n );\r\n }\r\n //search PO\r\n if (\r\n filter.filter.receiptIdSearch !== null &&\r\n filter.filter.receiptIdSearch !== \"\" &&\r\n filter.filter.receiptIdSearch !== undefined\r\n ) {\r\n const tempList = [];\r\n customerTableMock.map((item) => {\r\n item.ReceiptPos.length > 0 &&\r\n item.ReceiptPos.map((x) => {\r\n if (x.PO === filter.filter.receiptIdSearch) {\r\n tempList.push(item);\r\n }\r\n });\r\n });\r\n customerTableMock = tempList;\r\n }\r\n //search Receipt ID\r\n if (\r\n filter.filter.receiptIdValue !== null &&\r\n filter.filter.receiptIdValue !== \"\" &&\r\n filter.filter.receiptIdValue !== undefined\r\n ) {\r\n const tempList = [];\r\n customerTableMock.map((item) => {\r\n item.ReceiptPos.length > 0 &&\r\n item.ReceiptPos.map((x) => {\r\n if (x.ReceiptId === parseInt(filter.filter.receiptIdValue)) {\r\n tempList.push(item);\r\n }\r\n });\r\n });\r\n customerTableMock = tempList;\r\n }\r\n delete queryParams.filter.ReLoadTable;\r\n delete queryParams.filter.PickupType;\r\n delete queryParams.filter.isClosed;\r\n delete queryParams.filter.Location;\r\n delete queryParams.filter.searchText;\r\n delete queryParams.filter.receiptIdSearch;\r\n delete queryParams.filter.receiptIdValue;\r\n window.$pickUpMgmtList = customerTableMock;\r\n const filterdCustomers = mockUtils.baseFilter(\r\n customerTableMock,\r\n queryParams\r\n );\r\n return [200, filterdCustomers];\r\n });\r\n\r\n mock.onPost(\"api/PickUpManagement/deleteCustomers\").reply((config) => {\r\n const { ids } = JSON.parse(config.data);\r\n ids.forEach((id) => {\r\n const index = customerTableMock.findIndex((el) => el.id === id);\r\n if (index > -1) {\r\n customerTableMock.splice(index, 1);\r\n }\r\n });\r\n return [200];\r\n });\r\n\r\n mock\r\n .onPost(\"api/PickUpManagement/updateStatusForCustomers\")\r\n .reply((config) => {\r\n const { ids, status } = JSON.parse(config.data);\r\n customerTableMock.forEach((el) => {\r\n if (ids.findIndex((id) => id === el.id) > -1) {\r\n el.status = status;\r\n }\r\n });\r\n return [200];\r\n });\r\n\r\n async function GetUser(id) {\r\n return await fetch(window.$apiurl + \"/Pickup/Details/\" + id, {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n return res[1];\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n\r\n mock.onGet(/api\\/PickUpManagement\\/\\d+/).reply(async (config) => {\r\n const id = config.url.match(/api\\/PickUpManagement\\/(\\d+)/)[1];\r\n const customer = await GetUser(id);\r\n if (!customer) {\r\n return [400];\r\n }\r\n return [200, customer];\r\n });\r\n\r\n mock.onPut(/api\\/PickUpManagement\\/\\d+/).reply(async (config) => {\r\n const id = config.url.match(/api\\/PickUpManagement\\/(\\d+)/)[1];\r\n const { customer } = JSON.parse(config.data);\r\n await PutUser(customer, id);\r\n const index = customerTableMock.findIndex((el) => el.id === +id);\r\n customerTableMock[index] = { ...customer };\r\n Notification(\"success\", \"Trip has been updated successfully\");\r\n document.getElementById(\"ReLoadTableId\").click();\r\n return [200];\r\n });\r\n\r\n mock.onDelete(/api\\/PickUpManagement\\/\\d+/).reply(async (config) => {\r\n const id = config.url.match(/api\\/PickUpManagement\\/(\\d+)/)[1];\r\n const index = customerTableMock.findIndex((el) => el.id === +id);\r\n if (index === -1) {\r\n return [400];\r\n }\r\n var deleteObj = await DeleteUser(id);\r\n if (!deleteObj) {\r\n return [400];\r\n }\r\n customerTableMock.splice(index, 1);\r\n return [200];\r\n });\r\n}\r\n\r\nfunction ChangeId(list) {\r\n for (var item in list) {\r\n list[item].id = list[item].Id;\r\n delete list[item].Id;\r\n }\r\n return list;\r\n}\r\n\r\nfunction generateUserId() {\r\n const ids = customerTableMock.map((el) => el.id);\r\n const maxId = Math.max(...ids);\r\n return maxId + 1;\r\n}\r\n","import MockUtils from \"./mock.utils\";\r\nimport { Notification } from \"../../../modules/Notification\";\r\nimport low from \"lowdb\";\r\nimport LocalStorage from \"lowdb/adapters/LocalStorage\";\r\nconst adapter = new LocalStorage(\"db\");\r\nconst db = low(adapter);\r\nlet customerTableMock = [];\r\n\r\nexport default async function mockPoBillingManagement(mock) {\r\n function StatusMessage(res) {\r\n var status = res.status;\r\n var statusText = res.statusText;\r\n if (status === 200) {\r\n Notification(\"success\", \"success\");\r\n return true;\r\n } else if (status === 400) {\r\n Notification(\"error\", statusText);\r\n return false;\r\n }\r\n }\r\n\r\n async function GetModel(customerIdApi) {\r\n return await fetch(\r\n `${window.$apiurl}/Pickup/List?statusId=&type=&isClosed=false&pickupLocationId=`,\r\n {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n }\r\n )\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n res[1].pallets = ChangeId(res[1].Pickups);\r\n return res[1];\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n\r\n async function GetModelId(id) {\r\n return await fetch(`${window.$apiurl}/pallets/${id}`, {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n res[1].pallet.id = res[1].pallet.Id;\r\n return res[1].pallet;\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n\r\n async function PostModel(someData) {\r\n return fetch(window.$apiurl + \"/pallets\", {\r\n method: \"post\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(someData),\r\n })\r\n .then(async (response) => {\r\n return await response;\r\n })\r\n .then((res) => {\r\n return StatusMessage(res);\r\n })\r\n .catch((err) => {\r\n return StatusMessage(err);\r\n });\r\n }\r\n\r\n async function PutModel(someData, id) {\r\n return fetch(window.$apiurl + \"/pallets/\" + id, {\r\n method: \"put\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(someData[\"customer\"]),\r\n })\r\n .then(async (response) => {\r\n return await response;\r\n })\r\n .then((res) => {\r\n return StatusMessage(res);\r\n })\r\n .catch((err) => {\r\n return StatusMessage(err);\r\n });\r\n }\r\n\r\n async function DeleteModel(id) {\r\n return await fetch(window.$apiurl + \"/pallets/\" + id, {\r\n method: \"delete\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n return response;\r\n })\r\n .then((res) => {\r\n return StatusMessage(res);\r\n })\r\n .catch((err) => {\r\n return StatusMessage(err);\r\n });\r\n }\r\n\r\n async function GetViewmodel() {\r\n return await fetch(window.$apiurl + \"/pallets/getviewmodel\", {\r\n method: \"get\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then((res) => res.json())\r\n .then((res) => {\r\n return res ?? [];\r\n })\r\n .catch(() => {\r\n Notification(\"error\", \"GetViewmodel not working\");\r\n return false;\r\n });\r\n }\r\n\r\n // Mock ---------------------------------------------------------------------------------\r\n mock.onGet(\"api/PoBillingManagement/GetAllApi\").reply(async () => {\r\n const obj = await GetViewmodel();\r\n return [200, obj];\r\n });\r\n\r\n mock.onPost(\"api/PoBillingManagement\").reply(async ({ data }) => {\r\n const { customer } = JSON.parse(data);\r\n await PostModel(customer);\r\n customerTableMock.push(customer);\r\n return [200, { customer: customer }];\r\n });\r\n\r\n mock.onPost(\"api/PoBillingManagement/find\").reply(async (config) => {\r\n const mockUtils = new MockUtils();\r\n const { queryParams } = JSON.parse(config.data);\r\n\r\n const filter = queryParams.filter;\r\n /* var model = await GetModel(filter.customerIdApi); */\r\n\r\n var model = [\r\n {\r\n ReceivedDate: null,\r\n CustomerName: \"Meijer, Inc.\",\r\n CustomerCode: \"MEIMI\",\r\n AdjustedPieces: 0,\r\n id: 399940,\r\n MiffId: null,\r\n Location: null,\r\n PurchaseOrder: \"3673861\",\r\n Sku: \"01516\",\r\n Pieces: 1,\r\n UnitOfMeasureId: 10,\r\n UnitOfMeasure: \"Each\",\r\n UnitCount: 225,\r\n Description: \"PREMIUM RABBIT HUTCH-LG\",\r\n Weight: 4612.0,\r\n WeightType: \"KGS\",\r\n Cube: 28.0,\r\n CubeType: \"CBM\",\r\n Pallets: null,\r\n OverQuantity: 0,\r\n ShortQuantity: 0,\r\n DamagedQuantity: 0,\r\n AstrayQuantity: null,\r\n Shipped: 225,\r\n ReceiptId: 636659,\r\n IsHot: false,\r\n IsHazardousMateriel: false,\r\n UnNumber: null,\r\n PackagingGroup: null,\r\n HazardClass: null,\r\n PieceDescription: null,\r\n EmergencyContactNumber: null,\r\n LBSWeight: null,\r\n CFTCube: null,\r\n Upc: \"791611015162\",\r\n BuyerId: null,\r\n Department: null,\r\n PoExpectedDate: null,\r\n ThirdPartyQuantity: null,\r\n ThirdPartyName: null,\r\n ReferenceNumber: null,\r\n PoEta: null,\r\n Size: null,\r\n Color: null,\r\n StatusId: null,\r\n ReceivedQuantity: 0,\r\n ProcDate: null,\r\n ProcessedDate: null,\r\n QuarantinedQuantity: null,\r\n DestinationId: null,\r\n Destination: \"\",\r\n Created: \"06-30-2021, 4:51 PM\",\r\n },\r\n {\r\n ReceivedDate: null,\r\n CustomerName: \"Meijer, Inc.\",\r\n CustomerCode: \"MEIMI\",\r\n AdjustedPieces: 0,\r\n id: 399941,\r\n MiffId: null,\r\n Location: null,\r\n PurchaseOrder: \"3673861\",\r\n Sku: \"01556\",\r\n Pieces: 1,\r\n UnitOfMeasureId: 10,\r\n UnitOfMeasure: \"Each\",\r\n UnitCount: 80,\r\n Description: \"MEDIUM RABBIT HUTCH 36\",\r\n Weight: 1360.0,\r\n WeightType: \"KGS\",\r\n Cube: 7.54,\r\n CubeType: \"CBM\",\r\n Pallets: null,\r\n OverQuantity: 0,\r\n ShortQuantity: 0,\r\n DamagedQuantity: 0,\r\n AstrayQuantity: null,\r\n Shipped: 80,\r\n ReceiptId: 636659,\r\n IsHot: false,\r\n IsHazardousMateriel: false,\r\n UnNumber: null,\r\n PackagingGroup: null,\r\n HazardClass: null,\r\n PieceDescription: null,\r\n EmergencyContactNumber: null,\r\n LBSWeight: null,\r\n CFTCube: null,\r\n Upc: \"791611015568\",\r\n BuyerId: null,\r\n Department: null,\r\n PoExpectedDate: null,\r\n ThirdPartyQuantity: null,\r\n ThirdPartyName: null,\r\n ReferenceNumber: null,\r\n PoEta: null,\r\n Size: null,\r\n Color: null,\r\n StatusId: null,\r\n ReceivedQuantity: 0,\r\n ProcDate: null,\r\n ProcessedDate: null,\r\n QuarantinedQuantity: null,\r\n DestinationId: null,\r\n Destination: \"\",\r\n Created: \"06-30-2021, 4:51 PM\",\r\n },\r\n {\r\n ReceivedDate: null,\r\n CustomerName: \"Meijer, Inc.\",\r\n CustomerCode: \"MEIMI\",\r\n AdjustedPieces: 0,\r\n id: 399942,\r\n MiffId: null,\r\n Location: null,\r\n PurchaseOrder: \"3673861\",\r\n Sku: \"14064\",\r\n Pieces: 1,\r\n UnitOfMeasureId: 10,\r\n UnitOfMeasure: \"Each\",\r\n UnitCount: 100,\r\n Description: \"WARE MFG. LITTLE RED HEN BARN\",\r\n Weight: 3300.0,\r\n WeightType: \"KGS\",\r\n Cube: 22.3,\r\n CubeType: \"CBM\",\r\n Pallets: null,\r\n OverQuantity: 0,\r\n ShortQuantity: 0,\r\n DamagedQuantity: 0,\r\n AstrayQuantity: null,\r\n Shipped: 100,\r\n ReceiptId: 636659,\r\n IsHot: false,\r\n IsHazardousMateriel: false,\r\n UnNumber: null,\r\n PackagingGroup: null,\r\n HazardClass: null,\r\n PieceDescription: null,\r\n EmergencyContactNumber: null,\r\n LBSWeight: null,\r\n CFTCube: null,\r\n Upc: \"791611140642\",\r\n BuyerId: null,\r\n Department: null,\r\n PoExpectedDate: null,\r\n ThirdPartyQuantity: null,\r\n ThirdPartyName: null,\r\n ReferenceNumber: null,\r\n PoEta: null,\r\n Size: null,\r\n Color: null,\r\n StatusId: null,\r\n ReceivedQuantity: 0,\r\n ProcDate: null,\r\n ProcessedDate: null,\r\n QuarantinedQuantity: null,\r\n DestinationId: null,\r\n Destination: \"\",\r\n Created: \"06-30-2021, 4:51 PM\",\r\n },\r\n ];\r\n\r\n delete queryParams.filter.customerIdApi;\r\n customerTableMock = window.Status === 84 ? [] : model;\r\n\r\n const filterdCustomers = mockUtils.baseFilter(\r\n customerTableMock,\r\n queryParams\r\n );\r\n filterdCustomers.statuses = [\r\n { Id: 81, Name: \"Ready for Approval\", Count: 20 },\r\n { Id: 82, Name: \"Approved for Invoicing\", Count: 1 },\r\n { Id: 84, Name: \"Billed\", Count: 0 },\r\n ] /* model.statuses */;\r\n return [200, filterdCustomers];\r\n });\r\n\r\n mock\r\n .onPost(\"api/PoBillingManagement/deleteCustomers\")\r\n .reply(async (config) => {\r\n const { ids } = JSON.parse(config.data);\r\n ids.forEach((id) => {\r\n const index = customerTableMock.findIndex((el) => el.id === id);\r\n if (index > -1) {\r\n customerTableMock.splice(index, 1);\r\n }\r\n });\r\n return [200];\r\n });\r\n\r\n mock\r\n .onPost(\"api/PoBillingManagement/updateStatusForCustomers\")\r\n .reply(async (config) => {\r\n const { ids, status } = JSON.parse(config.data);\r\n customerTableMock.forEach((el) => {\r\n if (ids.findIndex((id) => id === el.id) > -1) {\r\n el.status = status;\r\n }\r\n });\r\n return [200];\r\n });\r\n\r\n mock.onGet(/api\\/PoBillingManagement\\/\\d+/).reply(async (config) => {\r\n const id = config.url.match(/api\\/PoBillingManagement\\/(\\d+)/)[1];\r\n const customer = await GetModelId(id);\r\n if (!customer) {\r\n return [400];\r\n }\r\n return [200, customer];\r\n });\r\n\r\n mock.onPut(/api\\/PoBillingManagement\\/\\d+/).reply(async (config) => {\r\n const id = config.url.match(/api\\/PoBillingManagement\\/(\\d+)/)[1];\r\n const Putcustomer = JSON.parse(config.data);\r\n const { customer } = Putcustomer;\r\n var putObj = await PutModel(Putcustomer, id);\r\n if (!putObj) {\r\n return [400];\r\n }\r\n const index = customerTableMock.findIndex((el) => el.id === +id);\r\n if (index === -1) {\r\n return [400];\r\n }\r\n customerTableMock[index] = { ...customer };\r\n return [200];\r\n });\r\n\r\n mock.onDelete(/api\\/PoBillingManagement\\/\\d+/).reply(async (config) => {\r\n const id = config.url.match(/api\\/PoBillingManagement\\/(\\d+)/)[1];\r\n const index = customerTableMock.findIndex((el) => el.id === +id);\r\n if (index === -1) {\r\n return [400];\r\n }\r\n var deleteObj = await DeleteModel(id);\r\n if (!deleteObj) {\r\n return [400];\r\n }\r\n customerTableMock.splice(index, 1);\r\n return [200];\r\n });\r\n}\r\n\r\nfunction ChangeId(list) {\r\n for (var item in list) {\r\n list[item].id = list[item].Id;\r\n delete list[item].Id;\r\n }\r\n return list;\r\n}\r\n","import MockUtils from \"./mock.utils\";\r\nimport { Notification } from \"../../../modules/Notification\";\r\nimport low from \"lowdb\";\r\nimport LocalStorage from \"lowdb/adapters/LocalStorage\";\r\nconst adapter = new LocalStorage(\"db\");\r\nconst db = low(adapter);\r\nlet customerTableMock;\r\nexport default function mockManageGlAccounts(mock) {\r\n //Status Message Result\r\n function StatusMessage(res) {\r\n var status = res.status;\r\n var statusText = res.statusText;\r\n if (status === 200) {\r\n Notification(\"success\", \"success\");\r\n return true;\r\n } else if (status === 400) {\r\n Notification(\"error\", statusText);\r\n return false;\r\n }\r\n }\r\n //Get Movable Units\r\n async function GetMovableUnitss() {\r\n return await fetch(window.$apiurl + \"/rating/glAccounts\", {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n return ChangeId(res[1]);\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n //Get {id}\r\n async function GetMovableUnitsById(id) {\r\n return await fetch(window.$apiurl + \"/rating/glAccount/\" + id, {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n }).then(async (response) => {\r\n const data = await response.json();\r\n return data;\r\n });\r\n }\r\n //Post Movable Units\r\n async function PostMovableUnit(someData) {\r\n return fetch(window.$apiurl + \"/rating/glAccount\", {\r\n method: \"post\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(someData),\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n return res[1];\r\n })\r\n .catch((err) => {\r\n console.log(err);\r\n });\r\n }\r\n //Delete\r\n async function DeleteMovableUnit(id) {\r\n return await fetch(window.$apiurl + \"/rating/glAccount/\" + id, {\r\n method: \"delete\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n if (statusCode === 200) {\r\n return Promise.all([statusCode, \"\"]);\r\n }\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n if (res[0] === 200) {\r\n Notification(\"success\", \"success\");\r\n return true;\r\n } else if (res[0] === 400) {\r\n Notification(\"error\", res[1].Message);\r\n return false;\r\n }\r\n })\r\n .catch((err) => {\r\n Notification(\"error\", \"error request\");\r\n return false;\r\n });\r\n }\r\n //Put\r\n async function PutMovableUnit(someData, id) {\r\n someData.ServiceType = \"shipment\";\r\n return fetch(window.$apiurl + \"/rating/glAccount/\" + id, {\r\n method: \"put\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(someData),\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n return res[1];\r\n })\r\n .catch((err) => {\r\n console.log(err);\r\n });\r\n }\r\n async function GetViewModel() {\r\n return await fetch(window.$apiurl + \"/rating/glAccount/viewmodel\", {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then((res) => res.json())\r\n .then((res) => {\r\n return res;\r\n })\r\n .catch((err) => {\r\n Notification(\"error\", \"err\");\r\n return false;\r\n });\r\n }\r\n mock.onGet(\"api/ManageGlAccounts/GetAllApi\").reply(async () => {\r\n var obj = await GetViewModel();\r\n return [200, obj];\r\n });\r\n mock.onPost(\"api/ManageGlAccounts\").reply(async ({ data }) => {\r\n const { customer } = JSON.parse(data);\r\n const { Type = \"\", WarehouseId = \"\", GlAccount = \"\", Name = \"\" ,ExternalId=\"\",DepartmentExternalId=\"\",BranchId=\"\"} = customer;\r\n const id = generateUserId();\r\n const newCustomer = {\r\n id,\r\n Type,\r\n WarehouseId,\r\n Name,\r\n GlAccount,\r\n ExternalId,\r\n BranchId,\r\n DepartmentExternalId,\r\n };\r\n var postMovableUnit = await PostMovableUnit(newCustomer);\r\n if (postMovableUnit.Id != undefined) {\r\n Notification(\"success\", \"Gl Account has been added successfully\");\r\n postMovableUnit.id = postMovableUnit.Id;\r\n customerTableMock.push(newCustomer);\r\n document.getElementById(\"ReLoadTableId\").click();\r\n return [\r\n 200,\r\n {\r\n customer: newCustomer,\r\n message: postMovableUnit.Message,\r\n success: true,\r\n },\r\n ];\r\n } else {\r\n if (postMovableUnit.Message) {\r\n window.$error400Gl = 400;\r\n Notification(\"error\", postMovableUnit.Message);\r\n return [\r\n 400,\r\n {\r\n customer: newCustomer,\r\n message: postMovableUnit.Message,\r\n success: false,\r\n },\r\n ];\r\n } else {\r\n Notification(\"success\", \"Gl Account has been added successfully\");\r\n document.getElementById(\"ReLoadTableId\").click();\r\n return [\r\n 200,\r\n {\r\n customer: newCustomer,\r\n message: postMovableUnit.Message,\r\n success: true,\r\n },\r\n ];\r\n }\r\n }\r\n });\r\n\r\n mock.onPost(\"api/ManageGlAccounts/find\").reply(async (config) => {\r\n const mockUtils = new MockUtils();\r\n const { queryParams } = JSON.parse(config.data);\r\n const oldData = window.$dataGlAccountsFiltered;\r\n if(queryParams.filter.searchText){\r\n const searchValue = queryParams.filter.searchText;\r\n customerTableMock = oldData.filter((word) =>\r\n String(word.GlAccount)\r\n .trim()\r\n .toLowerCase()\r\n .includes(String(searchValue).trim().toLowerCase()) || \r\n\r\n String(word.Type)\r\n .toLowerCase()\r\n .includes(String(searchValue).trim().toLowerCase()) || \r\n\r\n String(word.WarehouseName)\r\n .toLowerCase()\r\n .includes(String(searchValue).trim().toLowerCase()) ||\r\n\r\n String(word.Name)\r\n .toLowerCase()\r\n .includes(String(searchValue).trim().toLowerCase()) || \r\n\r\n String(word.id)\r\n .includes(String(searchValue).trim()) \r\n );\r\n } \r\n if(queryParams.pageNumber === 1 && !queryParams.filter.searchText){\r\n customerTableMock = await GetMovableUnitss();\r\n window.$dataGlAccountsFiltered = customerTableMock;\r\n }\r\n\r\n\r\n delete queryParams.filter.ReLoadTable;\r\n delete queryParams.filter.searchText;\r\n const filterdCustomers = mockUtils.baseFilter(\r\n customerTableMock,\r\n queryParams\r\n );\r\n return [200, filterdCustomers];\r\n });\r\n\r\n mock.onPost(\"api/ManageGlAccounts/deleteCustomers\").reply((config) => {\r\n const { ids } = JSON.parse(config.data);\r\n ids.forEach((id) => {\r\n const index = customerTableMock.findIndex((el) => el.id === id);\r\n if (index > -1) {\r\n customerTableMock.splice(index, 1);\r\n }\r\n });\r\n return [200];\r\n });\r\n\r\n mock\r\n .onPost(\"api/ManageGlAccounts/updateStatusForCustomers\")\r\n .reply((config) => {\r\n const { ids, status } = JSON.parse(config.data);\r\n customerTableMock.forEach((el) => {\r\n if (ids.findIndex((id) => id === el.id) > -1) {\r\n el.status = status;\r\n }\r\n });\r\n return [200];\r\n });\r\n mock.onGet(/api\\/ManageGlAccounts\\/\\d+/).reply(async (config) => {\r\n const id = config.url.match(/api\\/ManageGlAccounts\\/(\\d+)/)[1];\r\n var resultById = await GetMovableUnitsById(id);\r\n if (!resultById) {\r\n return [400];\r\n }\r\n return [200, resultById];\r\n });\r\n\r\n mock.onPut(/api\\/ManageGlAccounts\\/\\d+/).reply(async (config) => {\r\n const id = config.url.match(/api\\/ManageGlAccounts\\/(\\d+)/)[1];\r\n const { customer } = JSON.parse(config.data);\r\n var putObj = await PutMovableUnit(customer, id);\r\n if (putObj.Message) {\r\n Notification(\"error\", putObj.Message);\r\n return false;\r\n }\r\n const index = customerTableMock.findIndex((el) => el.id === +id);\r\n if (index === -1) {\r\n return [400];\r\n }\r\n customerTableMock[index] = { ...customer };\r\n return [200];\r\n });\r\n\r\n mock.onDelete(/api\\/ManageGlAccounts\\/\\d+/).reply(async (config) => {\r\n const id = config.url.match(/api\\/ManageGlAccounts\\/(\\d+)/)[1];\r\n const index = customerTableMock.findIndex((el) => el.id === +id);\r\n var deleteObj = await DeleteMovableUnit(id);\r\n if (!deleteObj) {\r\n return [400];\r\n }\r\n customerTableMock.splice(index, 1);\r\n return [200];\r\n });\r\n}\r\n\r\nfunction generateUserId() {\r\n const ids = customerTableMock.map((el) => el.id);\r\n const maxId = Math.max(...ids);\r\n return maxId + 1;\r\n}\r\n\r\nfunction ChangeId(list) {\r\n for (var item in list) {\r\n list[item].id = list[item].Id;\r\n delete list[item].Id;\r\n }\r\n return list;\r\n}\r\n","import MockUtils from \"./mock.utils\";\r\nimport { Notification } from \"../../../modules/Notification\";\r\nimport low from \"lowdb\";\r\nimport LocalStorage from \"lowdb/adapters/LocalStorage\";\r\nconst adapter = new LocalStorage(\"db\");\r\nconst db = low(adapter);\r\nlet customerTableMock;\r\nexport default function mockManageGlAccountsSage(mock) {\r\n //Status Message Result\r\n function StatusMessage(res) {\r\n var status = res.status;\r\n var statusText = res.statusText;\r\n if (status === 200) {\r\n Notification(\"success\", \"success\");\r\n return true;\r\n } else if (status === 400) {\r\n Notification(\"error\", statusText);\r\n return false;\r\n }\r\n }\r\n //Get Movable Units\r\n async function GetMovableUnitss() {\r\n return await fetch(window.$apiurl + \"/rating/SageGlAccounts\", {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n return ChangeId(res[1]);\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n //Get {id}\r\n async function GetMovableUnitsById(id) {\r\n return await fetch(window.$apiurl + \"/rating/SageGlAccount/\" + id, {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n }).then(async (response) => {\r\n const data = await response.json();\r\n return data;\r\n });\r\n }\r\n //Post Movable Units\r\n async function PostMovableUnit(someData) {\r\n return fetch(window.$apiurl + \"/rating/SageGlAccount\", {\r\n method: \"post\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(someData),\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n return res[1];\r\n })\r\n .catch((err) => {\r\n console.log(err);\r\n });\r\n }\r\n //Delete\r\n async function DeleteMovableUnit(id) {\r\n return await fetch(window.$apiurl + \"/rating/SageGlAccount/\" + id, {\r\n method: \"delete\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n if (statusCode === 200) {\r\n return Promise.all([statusCode, \"\"]);\r\n }\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n if (res[0] === 200) {\r\n Notification(\"success\", \"success\");\r\n return true;\r\n } else if (res[0] === 400) {\r\n Notification(\"error\", res[1].Message);\r\n return false;\r\n }\r\n })\r\n .catch((err) => {\r\n Notification(\"error\", \"error request\");\r\n return false;\r\n });\r\n }\r\n //Put\r\n async function PutMovableUnit(someData, id) {\r\n someData.ServiceType = \"shipment\";\r\n return fetch(window.$apiurl + \"/rating/SageGlAccount/\" + id, {\r\n method: \"put\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(someData),\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n return res[1];\r\n })\r\n .catch((err) => {\r\n console.log(err);\r\n });\r\n }\r\n async function GetViewModel() {\r\n return await fetch(window.$apiurl + \"/rating/glAccount/viewmodel\", {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then((res) => res.json())\r\n .then((res) => {\r\n return res;\r\n })\r\n .catch((err) => {\r\n Notification(\"error\", \"err\");\r\n return false;\r\n });\r\n }\r\n mock.onGet(\"api/ManageGlAccountsSage/GetAllApi\").reply(async () => {\r\n var obj = await GetViewModel();\r\n return [200, obj];\r\n });\r\n mock.onPost(\"api/ManageGlAccountsSage\").reply(async ({ data }) => {\r\n const { customer } = JSON.parse(data);\r\n const { Type = \"\", GlAccount = \"\", Name = \"\" ,ExternalId=\"\"} = customer;\r\n const id = generateUserId();\r\n const newCustomer = {\r\n id,\r\n Type,\r\n Name,\r\n GlAccount,\r\n ExternalId,\r\n };\r\n var postMovableUnit = await PostMovableUnit(newCustomer);\r\n if (postMovableUnit.Id != undefined) {\r\n Notification(\"success\", \"Gl Account has been added successfully\");\r\n postMovableUnit.id = postMovableUnit.Id;\r\n customerTableMock.push(newCustomer);\r\n document.getElementById(\"ReLoadTableId\").click();\r\n return [\r\n 200,\r\n {\r\n customer: newCustomer,\r\n message: postMovableUnit.Message,\r\n success: true,\r\n },\r\n ];\r\n } else {\r\n if (postMovableUnit.Message) {\r\n window.$error400Gl = 400;\r\n Notification(\"error\", postMovableUnit.Message);\r\n return [\r\n 400,\r\n {\r\n customer: newCustomer,\r\n message: postMovableUnit.Message,\r\n success: false,\r\n },\r\n ];\r\n } else {\r\n Notification(\"success\", \"Gl Account has been added successfully\");\r\n document.getElementById(\"ReLoadTableId\").click();\r\n return [\r\n 200,\r\n {\r\n customer: newCustomer,\r\n message: postMovableUnit.Message,\r\n success: true,\r\n },\r\n ];\r\n }\r\n }\r\n });\r\n\r\n mock.onPost(\"api/ManageGlAccountsSage/find\").reply(async (config) => {\r\n const mockUtils = new MockUtils();\r\n const { queryParams } = JSON.parse(config.data);\r\n const oldData = window.$dataGlAccountsFiltered;\r\n if(queryParams.filter.searchText){\r\n const searchValue = queryParams.filter.searchText;\r\n customerTableMock = oldData.filter((word) =>\r\n String(word.GlAccount)\r\n .trim()\r\n .toLowerCase()\r\n .includes(String(searchValue).trim().toLowerCase()) || \r\n\r\n String(word.Type)\r\n .toLowerCase()\r\n .includes(String(searchValue).trim().toLowerCase()) || \r\n\r\n String(word.WarehouseName)\r\n .toLowerCase()\r\n .includes(String(searchValue).trim().toLowerCase()) ||\r\n\r\n String(word.Name)\r\n .toLowerCase()\r\n .includes(String(searchValue).trim().toLowerCase()) || \r\n\r\n String(word.id)\r\n .includes(String(searchValue).trim()) \r\n );\r\n } \r\n if(queryParams.pageNumber === 1 && !queryParams.filter.searchText){\r\n customerTableMock = await GetMovableUnitss();\r\n window.$dataGlAccountsFiltered = customerTableMock;\r\n }\r\n\r\n\r\n delete queryParams.filter.ReLoadTable;\r\n delete queryParams.filter.searchText;\r\n const filterdCustomers = mockUtils.baseFilter(\r\n customerTableMock,\r\n queryParams\r\n );\r\n return [200, filterdCustomers];\r\n });\r\n\r\n mock.onPost(\"api/ManageGlAccountsSage/deleteCustomers\").reply((config) => {\r\n const { ids } = JSON.parse(config.data);\r\n ids.forEach((id) => {\r\n const index = customerTableMock.findIndex((el) => el.id === id);\r\n if (index > -1) {\r\n customerTableMock.splice(index, 1);\r\n }\r\n });\r\n return [200];\r\n });\r\n\r\n mock\r\n .onPost(\"api/ManageGlAccountsSage/updateStatusForCustomers\")\r\n .reply((config) => {\r\n const { ids, status } = JSON.parse(config.data);\r\n customerTableMock.forEach((el) => {\r\n if (ids.findIndex((id) => id === el.id) > -1) {\r\n el.status = status;\r\n }\r\n });\r\n return [200];\r\n });\r\n mock.onGet(/api\\/ManageGlAccountsSage\\/\\d+/).reply(async (config) => {\r\n const id = config.url.match(/api\\/ManageGlAccountsSage\\/(\\d+)/)[1];\r\n var resultById = await GetMovableUnitsById(id);\r\n if (!resultById) {\r\n return [400];\r\n }\r\n return [200, resultById];\r\n });\r\n\r\n mock.onPut(/api\\/ManageGlAccountsSage\\/\\d+/).reply(async (config) => {\r\n const id = config.url.match(/api\\/ManageGlAccountsSage\\/(\\d+)/)[1];\r\n const { customer } = JSON.parse(config.data);\r\n var putObj = await PutMovableUnit(customer, id);\r\n if (putObj.Message) {\r\n Notification(\"error\", putObj.Message);\r\n return false;\r\n }\r\n const index = customerTableMock.findIndex((el) => el.id === +id);\r\n if (index === -1) {\r\n return [400];\r\n }\r\n customerTableMock[index] = { ...customer };\r\n return [200];\r\n });\r\n\r\n mock.onDelete(/api\\/ManageGlAccountsSage\\/\\d+/).reply(async (config) => {\r\n const id = config.url.match(/api\\/ManageGlAccountsSage\\/(\\d+)/)[1];\r\n const index = customerTableMock.findIndex((el) => el.id === +id);\r\n var deleteObj = await DeleteMovableUnit(id);\r\n if (!deleteObj) {\r\n return [400];\r\n }\r\n customerTableMock.splice(index, 1);\r\n return [200];\r\n });\r\n}\r\n\r\nfunction generateUserId() {\r\n const ids = customerTableMock.map((el) => el.id);\r\n const maxId = Math.max(...ids);\r\n return maxId + 1;\r\n}\r\n\r\nfunction ChangeId(list) {\r\n for (var item in list) {\r\n list[item].id = list[item].Id;\r\n delete list[item].Id;\r\n }\r\n return list;\r\n}\r\n","export default [\r\n {\r\n id: 1,\r\n Order: \"284496\",\r\n Po: \"69791\",\r\n Sku: \"4836862\",\r\n Description: \"828202\",\r\n Size: \"24\",\r\n Color: \"BLACK GALAXY (BLACK)\",\r\n location: \"CHICO\",\r\n Recv: \"8/7/2020\",\r\n Proc: \"\",\r\n Pcs: \"3\",\r\n Adj: \"3\",\r\n O: \"0\",\r\n S: \"0\",\r\n D: \"0\",\r\n Qty: \"0\",\r\n Crtns: \"3\",\r\n\r\n NUMBER: \"94040\",\r\n VENDOR: \"OLIA CLOTHING INC\",\r\n STATUS: \"PENDING RECEIPT\",\r\n DELIVERYNOTBEFORE: \"4/12/2021 12:00:00 AM\",\r\n DELIVERYNOTAFTER: \"4/16/2021 12:00:00 AM\",\r\n DELIVERYASSIGNED: \"\",\r\n EXTENSION1: \"\",\r\n EXTENSION2: \"\",\r\n },\r\n {\r\n id: 2,\r\n Order: \"284496\",\r\n Po: \"69791\",\r\n Sku: \"4836862\",\r\n Description: \"828202\",\r\n Size: \"24\",\r\n Color: \"BLACK GALAXY (BLACK)\",\r\n location: \"EASTON\",\r\n Recv: \"8/7/2020\",\r\n Proc: \"3/10/2021\",\r\n Pcs: \"0\",\r\n Adj: \"0\",\r\n O: \"0\",\r\n S: \"0\",\r\n D: \"0\",\r\n Qty: \"0\",\r\n Crtns: \"0\",\r\n\r\n NUMBER: \"94040\",\r\n VENDOR: \"OLIA CLOTHING INC\",\r\n STATUS: \"PENDING RECEIPT\",\r\n DELIVERYNOTBEFORE: \"4/12/2021\",\r\n DELIVERYNOTAFTER: \"4/16/2021\",\r\n DELIVERYASSIGNED: \"\",\r\n EXTENSION1: \"\",\r\n EXTENSION2: \"\",\r\n },\r\n {\r\n id: 3,\r\n Order: \"284496\",\r\n Po: \"69791\",\r\n Sku: \"4836862\",\r\n Description: \"828202\",\r\n Size: \"24\",\r\n Color: \"BLACK GALAXY (BLACK)\",\r\n location: \"VC\",\r\n Recv: \"8/7/2020 7:22:57 AM\",\r\n Proc: \"\",\r\n Pcs: \"4\",\r\n Adj: \"4\",\r\n O: \"0\",\r\n S: \"0\",\r\n D: \"0\",\r\n Qty: \"0\",\r\n Crtns: \"4\",\r\n\r\n NUMBER: \"94040\",\r\n VENDOR: \"OLIA CLOTHING INC\",\r\n STATUS: \"PENDING RECEIPT\",\r\n DELIVERYNOTBEFORE: \"4/12/2021 12:00:00 AM\",\r\n DELIVERYNOTAFTER: \"4/16/2021 12:00:00 AM\",\r\n DELIVERYASSIGNED: \"\",\r\n EXTENSION1: \"\",\r\n EXTENSION2: \"\",\r\n },\r\n {\r\n id: 4,\r\n Order: \"284496\",\r\n Po: \"69791\",\r\n Sku: \"4836862\",\r\n Description: \"828202\",\r\n Size: \"25\",\r\n Color: \"BLACK GALAXY (BLACK)\",\r\n location: \"CHICO\",\r\n Recv: \"8/7/2020\",\r\n Proc: \"\",\r\n Pcs: \"16\",\r\n Adj: \"16\",\r\n O: \"0\",\r\n S: \"0\",\r\n D: \"0\",\r\n Qty: \"0\",\r\n Crtns: \"16\",\r\n\r\n NUMBER: \"94040\",\r\n VENDOR: \"OLIA CLOTHING INC\",\r\n STATUS: \"PENDING RECEIPT\",\r\n DELIVERYNOTBEFORE: \"4/12/2021 12:00:00 AM\",\r\n DELIVERYNOTAFTER: \"4/16/2021 12:00:00 AM\",\r\n DELIVERYASSIGNED: \"\",\r\n EXTENSION1: \"\",\r\n EXTENSION2: \"\",\r\n },\r\n {\r\n id: 5,\r\n Order: \"284496\",\r\n Po: \"69791\",\r\n Sku: \"4836862\",\r\n Description: \"828202\",\r\n Size: \"25\",\r\n Color: \"BLACK GALAXY (BLACK)\",\r\n location: \"EASTON\",\r\n Recv: \"8/7/2020\",\r\n Proc: \"\",\r\n Pcs: \"10\",\r\n Adj: \"10\",\r\n O: \"0\",\r\n S: \"0\",\r\n D: \"0\",\r\n Qty: \"0\",\r\n Crtns: \"10\",\r\n\r\n NUMBER: \"94040\",\r\n VENDOR: \"OLIA CLOTHING INC\",\r\n STATUS: \"PENDING RECEIPT\",\r\n DELIVERYNOTBEFORE: \"4/12/2021 12:00:00 AM\",\r\n DELIVERYNOTAFTER: \"4/16/2021 12:00:00 AM\",\r\n DELIVERYASSIGNED: \"\",\r\n EXTENSION1: \"\",\r\n EXTENSION2: \"\",\r\n },\r\n {\r\n id: 6,\r\n Order: \"284496\",\r\n Po: \"69791\",\r\n Sku: \"4836862\",\r\n Description: \"828202\",\r\n Size: \"25\",\r\n Color: \"BLACK GALAXY (BLACK)\",\r\n location: \"VC\",\r\n Recv: \"8/7/2020\",\r\n Proc: \"\",\r\n Pcs: \"5\",\r\n Adj: \"5\",\r\n O: \"0\",\r\n S: \"0\",\r\n D: \"0\",\r\n Qty: \"0\",\r\n Crtns: \"5\",\r\n\r\n NUMBER: \"94040\",\r\n VENDOR: \"OLIA CLOTHING INC\",\r\n STATUS: \"PENDING RECEIPT\",\r\n DELIVERYNOTBEFORE: \"4/12/2021 12:00:00 AM\",\r\n DELIVERYNOTAFTER: \"4/16/2021 12:00:00 AM\",\r\n DELIVERYASSIGNED: \"\",\r\n EXTENSION1: \"\",\r\n EXTENSION2: \"\",\r\n },\r\n {\r\n id: 7,\r\n Order: \"284496\",\r\n Po: \"69791\",\r\n Sku: \"4836862\",\r\n Description: \"828202\",\r\n Size: \"26\",\r\n Color: \"BLACK GALAXY (BLACK)\",\r\n location: \"CHICO\",\r\n Recv: \"8/7/2020 7:22:57 AM\",\r\n Proc: \"\",\r\n Pcs: \"16\",\r\n Adj: \"16\",\r\n O: \"0\",\r\n S: \"0\",\r\n D: \"0\",\r\n Qty: \"0\",\r\n Crtns: \"16\",\r\n\r\n NUMBER: \"94040\",\r\n VENDOR: \"OLIA CLOTHING INC\",\r\n STATUS: \"PENDING RECEIPT\",\r\n DELIVERYNOTBEFORE: \"4/12/2021 12:00:00 AM\",\r\n DELIVERYNOTAFTER: \"4/16/2021 12:00:00 AM\",\r\n DELIVERYASSIGNED: \"\",\r\n EXTENSION1: \"\",\r\n EXTENSION2: \"\",\r\n },\r\n {\r\n id: 8,\r\n Order: \"284496\",\r\n Po: \"69791\",\r\n Sku: \"4836862\",\r\n Description: \"828202\",\r\n Size: \"26\",\r\n Color: \"BLACK GALAXY (BLACK)\",\r\n location: \"EASTON\",\r\n Recv: \"8/7/2020 7:22:57 AM\",\r\n Proc: \"3/10/2021 6:43:54 AM\t\",\r\n Pcs: \"10\",\r\n Adj: \"10\",\r\n O: \"0\",\r\n S: \"0\",\r\n D: \"0\",\r\n Qty: \"0\",\r\n Crtns: \"10\",\r\n\r\n NUMBER: \"94040\",\r\n VENDOR: \"OLIA CLOTHING INC\",\r\n STATUS: \"PENDING RECEIPT\",\r\n DELIVERYNOTBEFORE: \"4/12/2021 12:00:00 AM\",\r\n DELIVERYNOTAFTER: \"4/16/2021 12:00:00 AM\",\r\n DELIVERYASSIGNED: \"\",\r\n EXTENSION1: \"\",\r\n EXTENSION2: \"\",\r\n },\r\n {\r\n id: 9,\r\n Order: \"284496\",\r\n Po: \"69791\",\r\n Sku: \"4836862\",\r\n Description: \"828202\",\r\n Size: \"26\",\r\n Color: \"BLACK GALAXY (BLACK)\",\r\n location: \"VC\",\r\n Recv: \"8/7/2020 7:22:57 AM\",\r\n Proc: \"\",\r\n Pcs: \"5\",\r\n Adj: \"5\",\r\n O: \"0\",\r\n S: \"0\",\r\n D: \"0\",\r\n Qty: \"0\",\r\n Crtns: \"5\",\r\n\r\n NUMBER: \"94040\",\r\n VENDOR: \"OLIA CLOTHING INC\",\r\n STATUS: \"PENDING RECEIPT\",\r\n DELIVERYNOTBEFORE: \"4/12/2021 12:00:00 AM\",\r\n DELIVERYNOTAFTER: \"4/16/2021 12:00:00 AM\",\r\n DELIVERYASSIGNED: \"\",\r\n EXTENSION1: \"\",\r\n EXTENSION2: \"\",\r\n },\r\n];\r\n","import customerTableMock from \"./LulusProcessTableMock\";\r\nimport MockUtils from \"./mock.utils\";\r\n\r\nexport default function mockLulusProcess(mock) {\r\n mock.onPost(\"api/lulusProcess\").reply(({ data }) => {\r\n const { customer } = JSON.parse(data);\r\n const {\r\n Order=\"Elise\",\r\n Po=\"Lotus\",\r\n Sku=\"2004\",\r\n Description=\"116879\",\r\n Size= `Black`,\r\n Color=\"Red\",\r\n location=\"18347\",\r\n Recv=\"09/30/2017\",\r\n Proc=\"09/30/2017\",\r\n Pcs=\"0\",\r\n Adj=\"3\",\r\n O=\"1\",\r\n S=\"3\",\r\n D=\"3\",\r\n Qty=\"3\",\r\n Crtns=\"3\",\r\n\r\n NUMBER =\"94040\",\r\n VENDOR =\"OLIA CLOTHING INC\",\r\n STATUS =\"PENDING RECEIPT\",\r\n DELIVERYNOTBEFORE =\"4/12/2021 12:00:00 AM\",\r\n DELIVERYNOTAFTER =\"4/16/2021 12:00:00 AM\",\r\n DELIVERYASSIGNED =\"\",\r\n EXTENSION1 =\"\",\r\n EXTENSION2 =\"\",\r\n \r\n } = customer;\r\n\r\n const id = generateUserId();\r\n const newCustomer = {\r\n id,\r\n Order,\r\n Po,\r\n Sku,\r\n Description,\r\n Size,\r\n Color,\r\n location,\r\n Recv,\r\n Proc,\r\n Pcs,\r\n Adj,\r\n O,\r\n S,\r\n D,\r\n Qty,\r\n Crtns,\r\n\r\n NUMBER,\r\n VENDOR,\r\n STATUS,\r\n DELIVERYNOTBEFORE,\r\n DELIVERYNOTAFTER,\r\n DELIVERYASSIGNED,\r\n EXTENSION1,\r\n EXTENSION2,\r\n };\r\n customerTableMock.push(newCustomer);\r\n return [200, { customer: newCustomer }];\r\n });\r\n\r\n mock.onPost(\"api/lulusProcess/find\").reply(config => {\r\n const mockUtils = new MockUtils();\r\n const { queryParams } = JSON.parse(config.data);\r\n const filterdCustomers = mockUtils.baseFilter(\r\n customerTableMock,\r\n queryParams\r\n );\r\n return [200, filterdCustomers];\r\n });\r\n\r\n mock.onPost(\"api/lulusProcess/deleteCustomers\").reply(config => {\r\n const { ids } = JSON.parse(config.data);\r\n ids.forEach(id => {\r\n const index = customerTableMock.findIndex(el => el.id === id);\r\n if (index > -1) {\r\n customerTableMock.splice(index, 1);\r\n }\r\n });\r\n return [200];\r\n });\r\n\r\n mock.onPost(\"api/lulusProcess/updateStatusForCustomers\").reply(config => {\r\n const { ids, status } = JSON.parse(config.data);\r\n customerTableMock.forEach(el => {\r\n if (ids.findIndex(id => id === el.id) > -1) {\r\n el.status = status;\r\n }\r\n });\r\n return [200];\r\n });\r\n\r\n mock.onGet(/api\\/lulusProcess\\/\\d+/).reply(config => {\r\n const id = config.url.match(/api\\/lulusProcess\\/(\\d+)/)[1];\r\n const customer = customerTableMock.find(el => el.id === +id);\r\n if (!customer) {\r\n return [400];\r\n }\r\n\r\n return [200, customer];\r\n });\r\n\r\n mock.onPut(/api\\/lulusProcess\\/\\d+/).reply(config => {\r\n const id = config.url.match(/api\\/lulusProcess\\/(\\d+)/)[1];\r\n const { customer } = JSON.parse(config.data);\r\n const index = customerTableMock.findIndex(el => el.id === +id);\r\n if (!index) {\r\n return [400];\r\n }\r\n\r\n customerTableMock[index] = { ...customer };\r\n return [200];\r\n });\r\n\r\n mock.onDelete(/api\\/lulusProcess\\/\\d+/).reply(config => {\r\n const id = config.url.match(/api\\/lulusProcess\\/(\\d+)/)[1];\r\n const index = customerTableMock.findIndex(el => el.id === +id);\r\n customerTableMock.splice(index, 1);\r\n if (!index === -1) {\r\n return [400];\r\n }\r\n\r\n return [200];\r\n });\r\n}\r\n\r\nfunction generateUserId() {\r\n const ids = customerTableMock.map(el => el.id);\r\n const maxId = Math.max(...ids);\r\n return maxId + 1;\r\n}\r\n","import low from \"lowdb\";\r\nimport LocalStorage from \"lowdb/adapters/LocalStorage\";\r\nimport { Notification } from \"../../../modules/Notification\";\r\nimport MockUtils from \"./mock.utils\";\r\nconst adapter = new LocalStorage(\"db\");\r\nconst db = low(adapter);\r\nlet customerTableMock;\r\nexport default async function mockManageCmsNews(mock) {\r\n function StatusMessage(res) {\r\n var status = res.status;\r\n var statusText = res.statusText;\r\n if (status === 200) {\r\n Notification(\"success\", \"success\");\r\n return true;\r\n } else if (status === 400) {\r\n Notification(\"error\", statusText);\r\n return false;\r\n }\r\n }\r\n async function GetModel() {\r\n return await fetch(window.$apiurl + `/cms/news`, {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n \"Access-Control-Allow-Origin\": \"*\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n return ChangeId(res[1]);\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n async function PostModel(someData) {\r\n console.log(\"someData\", someData);\r\n var inputElement1 = \"\";\r\n var inputElement2 = \"\";\r\n var formData = new FormData();\r\n\r\n if (someData.CategoryIds.filter((a) => a === 3).length === 0) {\r\n inputElement1 = document.getElementById(\"MainImageInput\");\r\n inputElement2 = document.getElementById(\"ThumbnailImageInput\");\r\n if (\r\n inputElement1.files[0] !== undefined &&\r\n inputElement2.files[0] !== undefined\r\n ) {\r\n someData.VideoEmbed = null;\r\n }\r\n }\r\n\r\n if (\r\n !someData.VideoEmbed &&\r\n someData.CategoryIds.filter((a) => a === 3).length === 0\r\n ) {\r\n if (inputElement1.files[0] !== undefined) {\r\n formData.append(\r\n \"File\",\r\n inputElement1.files[0],\r\n inputElement1.value.split(\"\\\\\")[2]\r\n );\r\n }\r\n if (inputElement2.files[0] && !inputElement1.files[0]) {\r\n formData.append(\"IsMain\", false);\r\n formData.append(\"IsThumbnail\", true);\r\n }\r\n if (inputElement2.files[0] !== undefined) {\r\n formData.append(\r\n \"File2\",\r\n inputElement2.files[0],\r\n inputElement2.value.split(\"\\\\\")[2]\r\n );\r\n }\r\n } else {\r\n if (someData.CategoryIds.filter((a) => a === 3).length === 0) {\r\n if (inputElement2.files[0] !== undefined) {\r\n formData.append(\r\n \"File\",\r\n inputElement2.files[0],\r\n inputElement2.value.split(\"\\\\\")[2]\r\n );\r\n }\r\n }\r\n }\r\n if (someData.Title !== \"\") {\r\n formData.append(\"Title\", someData.Title);\r\n }\r\n if (someData.SubTitle !== \"\" && someData.SubTitle !== null) {\r\n formData.append(\"SubTitle\", someData.SubTitle);\r\n }\r\n if (someData.TeaserText !== \"\" && someData.TeaserText !== null) {\r\n formData.append(\"TeaserText\", someData.TeaserText.toString());\r\n }\r\n formData.append(\"MenuId\", someData.MenuId);\r\n\r\n if (someData.Body !== \"\" && someData.Body !== null) {\r\n formData.append(\"Body\", someData.Body.toString());\r\n }\r\n if (someData.CategoryIds !== null && someData.CategoryIds !== undefined) {\r\n formData.append(\"CategoryIds\", someData.CategoryIds);\r\n }\r\n if (someData.Published !== false) {\r\n formData.append(\"Published\", someData.Published);\r\n }\r\n if (someData.Featured !== false) {\r\n formData.append(\"Featured\", someData.Featured);\r\n }\r\n if (someData.VideoEmbed !== null && someData.VideoEmbed !== undefined) {\r\n formData.append(\"VideoEmbed\", someData.VideoEmbed);\r\n }\r\n return fetch(window.$apiurl + \"/cms/news\", {\r\n method: \"POST\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n },\r\n body: formData,\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n return res[1];\r\n })\r\n .catch((err) => {\r\n //console.error(error);\r\n });\r\n }\r\n async function DeleteUser(id) {\r\n return await fetch(window.$apiurl + \"/cms/news/\" + id, {\r\n method: \"Delete\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n return response;\r\n })\r\n .then((res) => {\r\n return StatusMessage(res);\r\n })\r\n .catch((err) => {\r\n return StatusMessage(err);\r\n });\r\n }\r\n mock.onPost(\"api/ManageCmsNews\").reply(async ({ data }) => {\r\n const { customer } = JSON.parse(data);\r\n const {\r\n Title = \"\",\r\n SubTitle = \"\",\r\n TeaserText = \"\",\r\n Body = \"\",\r\n Published = false,\r\n Featured = false,\r\n CategoryIds = [],\r\n MainImg = null,\r\n VideoEmbed = null,\r\n MenuId = null,\r\n } = customer;\r\n\r\n const newCustomer = {\r\n Title,\r\n MainImg,\r\n SubTitle,\r\n TeaserText,\r\n Body,\r\n Published,\r\n Featured,\r\n CategoryIds,\r\n VideoEmbed,\r\n MenuId,\r\n };\r\n var postCustomerProfile = await PostModel(newCustomer);\r\n if (postCustomerProfile.Id !== undefined) {\r\n Notification(\"success\", \"Cms Article has been added successfully\");\r\n postCustomerProfile.id = postCustomerProfile.Id;\r\n window.$cmsStatus = 200;\r\n customerTableMock.push(newCustomer);\r\n return [\r\n 200,\r\n {\r\n customer: newCustomer,\r\n message: postCustomerProfile.Message,\r\n success: true,\r\n },\r\n ];\r\n } else {\r\n if (postCustomerProfile.Message) {\r\n Notification(\"error\", postCustomerProfile.Message);\r\n window.$cmsStatus = 400;\r\n }\r\n }\r\n });\r\n\r\n mock.onPost(\"api/ManageCmsNews/find\").reply(async (config) => {\r\n const mockUtils = new MockUtils();\r\n const { queryParams } = JSON.parse(config.data);\r\n customerTableMock = await GetModel();\r\n if (queryParams.filter.CategoryName) {\r\n customerTableMock = customerTableMock.filter(a=>{\r\n var listofCatgName = [];\r\n a.Categories.map(i=>listofCatgName.push(i.Name));\r\n return listofCatgName.includes(queryParams.filter.CategoryName) \r\n })\r\n }\r\n if (window.$CMSManagementsearchText) { \r\n customerTableMock = customerTableMock.filter(\r\n (word) =>\r\n String(word.Title)\r\n .trim()\r\n .toLowerCase()\r\n .includes(\r\n String(window.$CMSManagementsearchText)\r\n .trim()\r\n .toLowerCase()\r\n ) ||\r\n String(word.SubTitle)\r\n .trim()\r\n .toLowerCase()\r\n .includes(\r\n String(window.$CMSManagementsearchText)\r\n .trim()\r\n .toLowerCase()\r\n )||\r\n String(word.id)\r\n .trim()\r\n .toLowerCase()\r\n .includes(\r\n String(window.$CMSManagementsearchText)\r\n .trim()\r\n .toLowerCase()\r\n )\r\n );\r\n }\r\n if (queryParams.filter.IsPublished !== undefined) {\r\n customerTableMock = customerTableMock.filter((word) =>\r\n String(word.Published).includes(String(queryParams.filter.IsPublished))\r\n );\r\n }\r\n if (queryParams.filter.IsFeatured !== undefined) {\r\n customerTableMock = customerTableMock.filter((word) =>\r\n String(word.Featured).includes(\r\n String(queryParams.filter.IsFeatured || false)\r\n )\r\n );\r\n }\r\n delete queryParams.filter.ReLoadTable;\r\n delete queryParams.filter.CategoryName;\r\n delete queryParams.filter.searchText;\r\n delete queryParams.filter.IsPublished;\r\n delete queryParams.filter.IsFeatured;\r\n const filterdCustomers = mockUtils.baseFilter(\r\n customerTableMock,\r\n queryParams\r\n );\r\n return [200, filterdCustomers];\r\n });\r\n\r\n mock.onPost(\"api/ManageCmsNews/deleteCustomers\").reply((config) => {\r\n const { ids } = JSON.parse(config.data);\r\n ids.forEach((id) => {\r\n const index = customerTableMock.findIndex((el) => el.id === id);\r\n if (index > -1) {\r\n customerTableMock.splice(index, 1);\r\n }\r\n });\r\n return [200];\r\n });\r\n async function PutModel(someData, id) {\r\n var inputElement1 = \"\";\r\n var inputElement2 = \"\";\r\n var formData = new FormData();\r\n if (someData.CategoryIds.filter((a) => a === 3).length === 0) {\r\n inputElement1 = document.getElementById(\"MainImageInput\");\r\n inputElement2 = document.getElementById(\"ThumbnailImageInput\");\r\n try {\r\n if (\r\n inputElement1.files[0] !== undefined &&\r\n inputElement2.files[0] !== undefined\r\n ) {\r\n someData.VideoEmbed = null;\r\n }\r\n } catch (err) {}\r\n }\r\n\r\n if (\r\n !someData.VideoEmbed &&\r\n someData.CategoryIds.filter((a) => a === 3).length === 0\r\n ) {\r\n if (inputElement1.files[0] !== undefined) {\r\n formData.append(\r\n \"File\",\r\n inputElement1.files[0],\r\n inputElement1.value.split(\"\\\\\")[2]\r\n );\r\n }\r\n if (inputElement2.files[0] && !inputElement1.files[0]) {\r\n formData.append(\"IsMain\", false);\r\n formData.append(\"IsThumbnail\", true);\r\n }\r\n if (inputElement2.files[0] !== undefined) {\r\n formData.append(\r\n \"File2\",\r\n inputElement2.files[0],\r\n inputElement2.value.split(\"\\\\\")[2]\r\n );\r\n }\r\n } else {\r\n if (someData.CategoryIds.filter((a) => a === 3).length === 0) {\r\n if (inputElement2.files[0] !== undefined) {\r\n formData.append(\r\n \"File\",\r\n inputElement2.files[0],\r\n inputElement2.value.split(\"\\\\\")[2]\r\n );\r\n }\r\n }\r\n }\r\n\r\n if (someData.Title !== \"\") {\r\n window.$falseModalCms = false;\r\n formData.append(\"Title\", someData.Title);\r\n }\r\n if (someData.SubTitle !== \"\" && someData.SubTitle !== null) {\r\n formData.append(\"SubTitle\", someData.SubTitle);\r\n }\r\n if (someData.TeaserText !== \"\" && someData.TeaserText !== null) {\r\n formData.append(\"TeaserText\", someData.TeaserText.toString());\r\n }\r\n if (someData.Body !== \"\" && someData.Body !== null) {\r\n formData.append(\"Body\", someData.Body.toString());\r\n }\r\n if (someData.CategoryIds !== null && someData.CategoryIds !== undefined) {\r\n formData.append(\"CategoryIds\", someData.CategoryIds);\r\n }\r\n if (someData.Published !== null && someData.Published !== undefined) {\r\n formData.append(\"Published\", someData.Published);\r\n }\r\n if (someData.Featured !== null && someData.Featured !== undefined) {\r\n formData.append(\"Featured\", someData.Featured);\r\n }\r\n if (someData.VideoEmbed !== null && someData.VideoEmbed !== undefined) {\r\n formData.append(\"VideoEmbed\", someData.VideoEmbed);\r\n }\r\n formData.append(\"MenuId\", someData.MenuId);\r\n\r\n return await fetch(window.$apiurl + \"/cms/news/\" + id, {\r\n method: \"put\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n },\r\n body: formData,\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n return res[1];\r\n })\r\n .catch((err) => {\r\n console.log(err);\r\n });\r\n }\r\n async function GetUser(id) {\r\n return await fetch(window.$apiurl + \"/cms/newsdetails/\" + id, {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n return res[1];\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n mock.onPost(\"api/ManageCmsNews/updateStatusForCustomers\").reply((config) => {\r\n const { ids, status } = JSON.parse(config.data);\r\n customerTableMock.forEach((el) => {\r\n if (ids.findIndex((id) => id === el.id) > -1) {\r\n el.status = status;\r\n }\r\n });\r\n return [200];\r\n });\r\n\r\n mock.onGet(/api\\/ManageCmsNews\\/\\d+/).reply(async (config) => {\r\n const id = config.url.match(/api\\/ManageCmsNews\\/(\\d+)/)[1];\r\n const customer = await GetUser(id);\r\n if (!customer) {\r\n return [400];\r\n }\r\n return [200, customer];\r\n });\r\n\r\n mock.onPut(/api\\/ManageCmsNews\\/\\d+/).reply(async (config) => {\r\n const id = config.url.match(/api\\/ManageCmsNews\\/(\\d+)/)[1];\r\n const { customer } = JSON.parse(config.data);\r\n await PutModel(customer, id);\r\n const index = customerTableMock.findIndex((el) => el.id === +id);\r\n customerTableMock[index] = { ...customer };\r\n Notification(\"success\", \"Item CMS has been updated successfully\");\r\n return [200];\r\n });\r\n\r\n mock.onDelete(/api\\/ManageCmsNews\\/\\d+/).reply(async (config) => {\r\n const id = config.url.match(/api\\/ManageCmsNews\\/(\\d+)/)[1];\r\n const index = customerTableMock.findIndex((el) => el.id === +id);\r\n if (index === -1) {\r\n return [400];\r\n }\r\n var deleteObj = await DeleteUser(id);\r\n if (!deleteObj) {\r\n return [400];\r\n }\r\n customerTableMock.splice(index, 1);\r\n return [200];\r\n });\r\n}\r\n\r\nfunction ChangeId(list) {\r\n for (var item in list) {\r\n list[item].id = list[item].Id;\r\n delete list[item].Id;\r\n }\r\n return list;\r\n}\r\n","import MockUtils from \"./mock.utils\";\r\nimport { Notification } from \"../../../modules/Notification\";\r\nimport low from \"lowdb\";\r\nimport LocalStorage from \"lowdb/adapters/LocalStorage\";\r\nconst adapter = new LocalStorage(\"db\");\r\nconst db = low(adapter);\r\nlet customerTableMock = [];\r\n\r\nexport default async function mockPalletsManagment(mock) {\r\n function StatusMessage(res) {\r\n var status = res.status;\r\n var statusText = res.statusText;\r\n if (status === 200) {\r\n Notification(\"success\", \"success\");\r\n return true;\r\n } else if (status === 400) {\r\n Notification(\"error\", statusText);\r\n return false;\r\n }\r\n }\r\n\r\n async function GetModel(customerIdApi) {\r\n return await fetch(\r\n `${window.$apiurl}/Pallets?customerId=${customerIdApi ?? \"\"}&statusId=${\r\n window.Status\r\n }`,\r\n {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n }\r\n )\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n res[1].pallets = ChangeId(res[1].pallets);\r\n return res[1];\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n\r\n async function GetModelId(id) {\r\n return await fetch(`${window.$apiurl}/pallets/${id}`, {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n res[1].pallet.id = res[1].pallet.Id;\r\n return res[1].pallet;\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n\r\n async function PostModel(someData) {\r\n return fetch(window.$apiurl + \"/pallets\", {\r\n method: \"post\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(someData),\r\n })\r\n .then(async (response) => {\r\n return await response;\r\n })\r\n .then((res) => {\r\n return StatusMessage(res);\r\n })\r\n .catch((err) => {\r\n return StatusMessage(err);\r\n });\r\n }\r\n\r\n async function PutModel(someData, id) {\r\n return fetch(window.$apiurl + \"/pallets/\" + id, {\r\n method: \"put\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(someData[\"customer\"]),\r\n })\r\n .then(async (response) => {\r\n return await response;\r\n })\r\n .then((res) => {\r\n return StatusMessage(res);\r\n })\r\n .catch((err) => {\r\n return StatusMessage(err);\r\n });\r\n }\r\n\r\n async function DeleteModel(id) {\r\n return await fetch(window.$apiurl + \"/pallets/\" + id, {\r\n method: \"delete\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n return response;\r\n })\r\n .then((res) => {\r\n return StatusMessage(res);\r\n })\r\n .catch((err) => {\r\n return StatusMessage(err);\r\n });\r\n }\r\n\r\n async function GetViewmodel() {\r\n return await fetch(window.$apiurl + \"/pallets/getviewmodel\", {\r\n method: \"get\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then((res) => res.json())\r\n .then((res) => {\r\n return res ?? [];\r\n })\r\n .catch(() => {\r\n Notification(\"error\", \"GetViewmodel not working\");\r\n return false;\r\n });\r\n }\r\n\r\n // Mock ---------------------------------------------------------------------------------\r\n mock.onGet(\"api/PalletsManagment/GetAllApi\").reply(async () => {\r\n const obj = await GetViewmodel();\r\n return [200, obj];\r\n });\r\n\r\n mock.onPost(\"api/PalletsManagment\").reply(async ({ data }) => {\r\n const { customer } = JSON.parse(data);\r\n await PostModel(customer);\r\n customerTableMock.push(customer);\r\n return [200, { customer: customer }];\r\n });\r\n\r\n mock.onPost(\"api/PalletsManagment/find\").reply(async (config) => {\r\n const mockUtils = new MockUtils();\r\n const { queryParams } = JSON.parse(config.data);\r\n\r\n const filter = queryParams.filter;\r\n var model = await GetModel(filter.customerIdApi);\r\n delete queryParams.filter.customerIdApi;\r\n queryParams.filter.id = window.$PalletManagementsearchText;\r\n customerTableMock = model.pallets;\r\n const filterdCustomers = mockUtils.baseFilter(\r\n customerTableMock,\r\n queryParams\r\n );\r\n filterdCustomers.statuses = model.statuses;\r\n return [200, filterdCustomers];\r\n });\r\n\r\n mock.onPost(\"api/PalletsManagment/deleteCustomers\").reply(async (config) => {\r\n const { ids } = JSON.parse(config.data);\r\n ids.forEach((id) => {\r\n const index = customerTableMock.findIndex((el) => el.id === id);\r\n if (index > -1) {\r\n customerTableMock.splice(index, 1);\r\n }\r\n });\r\n return [200];\r\n });\r\n\r\n mock\r\n .onPost(\"api/PalletsManagment/updateStatusForCustomers\")\r\n .reply(async (config) => {\r\n const { ids, status } = JSON.parse(config.data);\r\n customerTableMock.forEach((el) => {\r\n if (ids.findIndex((id) => id === el.id) > -1) {\r\n el.status = status;\r\n }\r\n });\r\n return [200];\r\n });\r\n\r\n mock.onGet(/api\\/PalletsManagment\\/\\d+/).reply(async (config) => {\r\n const id = config.url.match(/api\\/PalletsManagment\\/(\\d+)/)[1];\r\n const customer = await GetModelId(id);\r\n if (!customer) {\r\n return [400];\r\n }\r\n return [200, customer];\r\n });\r\n\r\n mock.onPut(/api\\/PalletsManagment\\/\\d+/).reply(async (config) => {\r\n const id = config.url.match(/api\\/PalletsManagment\\/(\\d+)/)[1];\r\n const Putcustomer = JSON.parse(config.data);\r\n const { customer } = Putcustomer;\r\n var putObj = await PutModel(Putcustomer, id);\r\n if (!putObj) {\r\n return [400];\r\n }\r\n const index = customerTableMock.findIndex((el) => el.id === +id);\r\n if (index === -1) {\r\n return [400];\r\n }\r\n customerTableMock[index] = { ...customer };\r\n return [200];\r\n });\r\n\r\n mock.onDelete(/api\\/PalletsManagment\\/\\d+/).reply(async (config) => {\r\n const id = config.url.match(/api\\/PalletsManagment\\/(\\d+)/)[1];\r\n const index = customerTableMock.findIndex((el) => el.id === +id);\r\n if (index === -1) {\r\n return [400];\r\n }\r\n var deleteObj = await DeleteModel(id);\r\n if (!deleteObj) {\r\n return [400];\r\n }\r\n customerTableMock.splice(index, 1);\r\n return [200];\r\n });\r\n}\r\n\r\nfunction ChangeId(list) {\r\n for (var item in list) {\r\n list[item].id = list[item].Id;\r\n delete list[item].Id;\r\n }\r\n return list;\r\n}\r\n","import MockUtils from \"./mock.utils\";\r\nimport { Notification } from \"../../../modules/Notification\";\r\nimport low from \"lowdb\";\r\nimport LocalStorage from \"lowdb/adapters/LocalStorage\";\r\nconst adapter = new LocalStorage(\"db\");\r\nconst db = low(adapter);\r\nlet customerTableMock = [];\r\n\r\nexport default async function mockPalletsManagmentBeta(mock) {\r\n function StatusMessage(res) {\r\n var status = res.status;\r\n var statusText = res.statusText;\r\n if (status === 200) {\r\n Notification(\"success\", \"success\");\r\n return true;\r\n } else if (status === 400) {\r\n Notification(\"error\", statusText);\r\n return false;\r\n }\r\n }\r\n\r\n async function GetModel(queryParams) {\r\n const { filter, pageSize, pageNumber, sortField, sortOrder } = queryParams;\r\n const { id, CustomerId, searchText } = filter;\r\n return await fetch(\r\n `${window.$apiurl}/Pallets/beta?customerId=${CustomerId ??\r\n \"\"}&statusId=${window.Status ?? \"\"}&pageSize=${pageSize ??\r\n \"\"}&pageNumber=${pageNumber ?? \"\"}&search=${searchText ?? \"\"}&id=${id ??\r\n \"\"}&sortField=${sortField ?? \"\"}&sortOrder=${sortOrder ?? \"asc\"}`,\r\n {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n }\r\n )\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n res[1].pallets = ChangeId(res[1].pallets);\r\n return res[1];\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n\r\n async function GetModelId(id) {\r\n return await fetch(`${window.$apiurl}/pallets/${id}`, {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n res[1].pallet.id = res[1].pallet.Id;\r\n return res[1].pallet;\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n\r\n async function PostModel(someData) {\r\n return fetch(window.$apiurl + \"/pallets\", {\r\n method: \"post\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(someData),\r\n })\r\n .then(async (response) => {\r\n return await response;\r\n })\r\n .then((res) => {\r\n return StatusMessage(res);\r\n })\r\n .catch((err) => {\r\n return StatusMessage(err);\r\n });\r\n }\r\n\r\n async function PutModel(someData, id) {\r\n return fetch(window.$apiurl + \"/pallets/\" + id, {\r\n method: \"put\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(someData[\"customer\"]),\r\n })\r\n .then(async (response) => {\r\n return await response;\r\n })\r\n .then((res) => {\r\n return StatusMessage(res);\r\n })\r\n .catch((err) => {\r\n return StatusMessage(err);\r\n });\r\n }\r\n\r\n async function DeleteModel(id) {\r\n return await fetch(window.$apiurl + \"/pallets/\" + id, {\r\n method: \"delete\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n return response;\r\n })\r\n .then((res) => {\r\n return StatusMessage(res);\r\n })\r\n .catch((err) => {\r\n return StatusMessage(err);\r\n });\r\n }\r\n\r\n async function GetViewmodel() {\r\n return await fetch(window.$apiurl + \"/pallets/getviewmodel\", {\r\n method: \"get\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then((res) => res.json())\r\n .then((res) => {\r\n return res ?? [];\r\n })\r\n .catch(() => {\r\n Notification(\"error\", \"GetViewmodel not working\");\r\n return false;\r\n });\r\n }\r\n\r\n // Mock ---------------------------------------------------------------------------------\r\n mock.onGet(\"api/PalletsManagmentBeta/GetAllApi\").reply(async () => {\r\n const obj = await GetViewmodel();\r\n return [200, obj];\r\n });\r\n\r\n mock.onPost(\"api/PalletsManagmentBeta\").reply(async ({ data }) => {\r\n const { customer } = JSON.parse(data);\r\n await PostModel(customer);\r\n customerTableMock.push(customer);\r\n return [200, { customer: customer }];\r\n });\r\n\r\n mock.onPost(\"api/PalletsManagmentBeta/find\").reply(async (config) => {\r\n const mockUtils = new MockUtils();\r\n const { queryParams } = JSON.parse(config.data);\r\n\r\n /* const filter = queryParams.filter; */\r\n var model = await GetModel(queryParams);\r\n /* delete queryParams.filter.customerIdApi; */\r\n queryParams.filter = {};\r\n queryParams.filter.id = window.$PalletManagementsearchText;\r\n customerTableMock = model.pallets;\r\n\r\n var list = [];\r\n for (\r\n var i = 1;\r\n i <= (queryParams.pageNumber - 1) * queryParams.pageSize;\r\n i++\r\n )\r\n list.push({});\r\n list.push(...customerTableMock);\r\n customerTableMock = list;\r\n\r\n const filterdCustomers = mockUtils.baseFilter(\r\n customerTableMock,\r\n queryParams\r\n );\r\n filterdCustomers.totalCount = model?.Pagination?.TotalItemCount ?? 0;\r\n filterdCustomers.statuses = model.statuses;\r\n return [200, filterdCustomers];\r\n });\r\n\r\n mock\r\n .onPost(\"api/PalletsManagmentBeta/deleteCustomers\")\r\n .reply(async (config) => {\r\n const { ids } = JSON.parse(config.data);\r\n ids.forEach((id) => {\r\n const index = customerTableMock.findIndex((el) => el.id === id);\r\n if (index > -1) {\r\n customerTableMock.splice(index, 1);\r\n }\r\n });\r\n return [200];\r\n });\r\n\r\n mock\r\n .onPost(\"api/PalletsManagmentBeta/updateStatusForCustomers\")\r\n .reply(async (config) => {\r\n const { ids, status } = JSON.parse(config.data);\r\n customerTableMock.forEach((el) => {\r\n if (ids.findIndex((id) => id === el.id) > -1) {\r\n el.status = status;\r\n }\r\n });\r\n return [200];\r\n });\r\n\r\n mock.onGet(/api\\/PalletsManagmentBeta\\/\\d+/).reply(async (config) => {\r\n const id = config.url.match(/api\\/PalletsManagmentBeta\\/(\\d+)/)[1];\r\n const customer = await GetModelId(id);\r\n if (!customer) {\r\n return [400];\r\n }\r\n return [200, customer];\r\n });\r\n\r\n mock.onPut(/api\\/PalletsManagmentBeta\\/\\d+/).reply(async (config) => {\r\n const id = config.url.match(/api\\/PalletsManagmentBeta\\/(\\d+)/)[1];\r\n const Putcustomer = JSON.parse(config.data);\r\n const { customer } = Putcustomer;\r\n var putObj = await PutModel(Putcustomer, id);\r\n if (!putObj) {\r\n return [400];\r\n }\r\n const index = customerTableMock.findIndex((el) => el.id === +id);\r\n if (index === -1) {\r\n return [400];\r\n }\r\n customerTableMock[index] = { ...customer };\r\n return [200];\r\n });\r\n\r\n mock.onDelete(/api\\/PalletsManagmentBeta\\/\\d+/).reply(async (config) => {\r\n const id = config.url.match(/api\\/PalletsManagmentBeta\\/(\\d+)/)[1];\r\n const index = customerTableMock.findIndex((el) => el.id === +id);\r\n if (index === -1) {\r\n return [400];\r\n }\r\n var deleteObj = await DeleteModel(id);\r\n if (!deleteObj) {\r\n return [400];\r\n }\r\n customerTableMock.splice(index, 1);\r\n return [200];\r\n });\r\n}\r\n\r\nfunction ChangeId(list) {\r\n for (var item in list) {\r\n list[item].id = list[item].Id;\r\n delete list[item].Id;\r\n }\r\n return list;\r\n}\r\n","import MockUtils from \"./mock.utils3\";\r\nimport { Notification } from \"../../../modules/Notification\";\r\nimport low from \"lowdb\";\r\nimport LocalStorage from \"lowdb/adapters/LocalStorage\";\r\nconst adapter = new LocalStorage(\"db\");\r\nconst db = low(adapter);\r\nlet customerTableMock = [];\r\n\r\nexport default async function mockPickUpBillingManagement(mock) {\r\n function StatusMessage(res) {\r\n var status = res.status;\r\n var statusText = res.statusText;\r\n if (status === 200) {\r\n Notification(\"success\", \"success\");\r\n return true;\r\n } else if (status === 400) {\r\n Notification(\"error\", statusText);\r\n return false;\r\n }\r\n }\r\n\r\n async function GetModel(\r\n status,\r\n searchText,\r\n DateType,\r\n startDate,\r\n endDate,\r\n hasAdditional,\r\n hasSupplemental,\r\n pageNumber,\r\n pageSize,\r\n sortField,\r\n sortOrder\r\n ) {\r\n return await fetch(\r\n `${window.$apiurl}/PickupBilling/GetPickups?statusId=${status}&filterDate=${DateType}&startDate=${startDate}&endDate=${endDate}&hasAdditional=${hasAdditional}&hasSupplemental=${hasSupplemental}&pageNumber=${pageNumber}&pageSize=${pageSize}&sortField=${sortField}&sortOrder=${sortOrder}&search=${searchText}`,\r\n {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n }\r\n )\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n return res[1];\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n async function GetModelInvoice(\r\n ExceptionsStatus,\r\n searchText,\r\n startDate,\r\n endDate,\r\n isSent,\r\n pageNumber,\r\n pageSize,\r\n sortField,\r\n sortOrder\r\n ) {\r\n return await fetch(\r\n `${window.$apiurl}/PickupBilling/invoices?startDate=${startDate}&endDate=${endDate}&isSent=${isSent}&pageNumber=${pageNumber}&pageSize=${pageSize}&sortField=${sortField}&sortOrder=${sortOrder}&search=${searchText}&exception=${ExceptionsStatus}`,\r\n {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n }\r\n )\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n return res[1];\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n\r\n async function PostModel(someData) {\r\n return fetch(window.$apiurl + \"/pallets\", {\r\n method: \"post\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(someData),\r\n })\r\n .then(async (response) => {\r\n return await response;\r\n })\r\n .then((res) => {\r\n return StatusMessage(res);\r\n })\r\n .catch((err) => {\r\n return StatusMessage(err);\r\n });\r\n }\r\n\r\n async function PutModel(someData, id) {\r\n return fetch(window.$apiurl + \"/pallets/\" + id, {\r\n method: \"put\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(someData[\"customer\"]),\r\n })\r\n .then(async (response) => {\r\n return await response;\r\n })\r\n .then((res) => {\r\n return StatusMessage(res);\r\n })\r\n .catch((err) => {\r\n return StatusMessage(err);\r\n });\r\n }\r\n\r\n async function DeleteModel(id) {\r\n return await fetch(window.$apiurl + \"/pallets/\" + id, {\r\n method: \"delete\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n return response;\r\n })\r\n .then((res) => {\r\n return StatusMessage(res);\r\n })\r\n .catch((err) => {\r\n return StatusMessage(err);\r\n });\r\n }\r\n\r\n async function GetViewmodel() {\r\n return await fetch(window.$apiurl + \"/pallets/getviewmodel\", {\r\n method: \"get\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then((res) => res.json())\r\n .then((res) => {\r\n return res ?? [];\r\n })\r\n .catch(() => {\r\n Notification(\"error\", \"GetViewmodel not working\");\r\n return false;\r\n });\r\n }\r\n\r\n async function GetCharges(id) {\r\n return await fetch(window.$apiurl + \"/Pickup/GetPickupCharges/\" + id, {\r\n method: \"get\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then((res) => res.json())\r\n .then((res) => {\r\n return res ?? {};\r\n })\r\n .catch(() => {\r\n Notification(\"error\", \"GetViewmodel not working\");\r\n return false;\r\n });\r\n }\r\n\r\n async function PutCharges(id, values) {\r\n return await fetch(window.$apiurl + \"/Pickup/PutPickupCharges/\" + id, {\r\n method: \"put\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(values),\r\n }).then(async (response) => {\r\n const statusCode = await response.status;\r\n if (statusCode === 200) {\r\n Notification(\"success\", \"success\");\r\n }\r\n return statusCode;\r\n });\r\n }\r\n\r\n // Mock ---------------------------------------------------------------------------------\r\n mock.onGet(\"api/PickUpBillingManagement/GetAllApi\").reply(async () => {\r\n const obj = await GetViewmodel();\r\n return [200, obj];\r\n });\r\n\r\n mock.onPost(\"api/PickUpBillingManagement/GetCharges\").reply(async (data) => {\r\n var id = JSON.parse(data.data).customerId;\r\n const obj = await GetCharges(id);\r\n return [200, obj];\r\n });\r\n\r\n mock.onPost(\"api/PickUpBillingManagement/PutCharges\").reply(async (data) => {\r\n const { values, id } = JSON.parse(data.data);\r\n const obj = await PutCharges(id, values);\r\n return [obj];\r\n });\r\n\r\n mock.onPost(\"api/PickUpBillingManagement\").reply(async ({ data }) => {\r\n const { customer } = JSON.parse(data);\r\n await PostModel(customer);\r\n customerTableMock.push(customer);\r\n return [200, { customer: customer }];\r\n });\r\n\r\n mock.onPost(\"api/PickUpBillingManagement/find\").reply(async (config) => {\r\n const mockUtils = new MockUtils();\r\n const { queryParams } = JSON.parse(config.data);\r\n var model;\r\n if (window.StatusBillingPickUpManagement !== 52) {\r\n model = await GetModel(\r\n window.StatusBillingPickUpManagement,\r\n queryParams.filter.searchText,\r\n queryParams.filter.DateRangeType,\r\n queryParams.filter.startDate,\r\n queryParams.filter.endDate,\r\n queryParams.filter.hasAdditional,\r\n queryParams.filter.hasSupplemental,\r\n queryParams.pageNumber,\r\n queryParams.pageSize,\r\n queryParams.sortField,\r\n queryParams.sortOrder\r\n );\r\n delete queryParams.filter.customerIdApi;\r\n queryParams.TotalItems = model.Pagination.TotalItemCount;\r\n customerTableMock = ChangeId(model.Result);\r\n } else {\r\n model = await GetModelInvoice(\r\n window.ExceprionsStatusBillingPickUpManagement,\r\n queryParams.filter.searchText,\r\n queryParams.filter.startDate,\r\n queryParams.filter.endDate,\r\n window.$pickUpMgtIsSent,\r\n queryParams.pageNumber,\r\n queryParams.pageSize,\r\n queryParams.sortField,\r\n queryParams.sortOrder\r\n );\r\n delete queryParams.filter.customerIdApi;\r\n queryParams.TotalItems = model.Pagination.TotalItemCount;\r\n customerTableMock = ChangeId(model.Invoices);\r\n }\r\n const filterdCustomers = mockUtils.baseFilter(\r\n customerTableMock,\r\n queryParams\r\n );\r\n\r\n filterdCustomers.statuses = {Status:model.Status,Exceptions:model.Exceptions} || [] /* model.statuses */;\r\n return [200, filterdCustomers];\r\n });\r\n\r\n mock\r\n .onPost(\"api/PickUpBillingManagement/deleteCustomers\")\r\n .reply(async (config) => {\r\n const { ids } = JSON.parse(config.data);\r\n ids.forEach((id) => {\r\n const index = customerTableMock.findIndex((el) => el.id === id);\r\n if (index > -1) {\r\n customerTableMock.splice(index, 1);\r\n }\r\n });\r\n return [200];\r\n });\r\n\r\n mock\r\n .onPost(\"api/PickUpBillingManagement/updateStatusForCustomers\")\r\n .reply(async (config) => {\r\n const { ids, status } = JSON.parse(config.data);\r\n customerTableMock.forEach((el) => {\r\n if (ids.findIndex((id) => id === el.id) > -1) {\r\n el.status = status;\r\n }\r\n });\r\n return [200];\r\n });\r\n\r\n mock.onGet(/api\\/PickUpBillingManagement\\/\\d+/).reply(async (config) => {\r\n const id = config.url.match(/api\\/PickUpBillingManagement\\/(\\d+)/)[1];\r\n const customer = customerTableMock.find((el) => el.id === +id);\r\n if (!customer) {\r\n return [400];\r\n }\r\n return [200, customer];\r\n });\r\n\r\n mock.onPut(/api\\/PickUpBillingManagement\\/\\d+/).reply(async (config) => {\r\n const id = config.url.match(/api\\/PickUpBillingManagement\\/(\\d+)/)[1];\r\n const Putcustomer = JSON.parse(config.data);\r\n const { customer } = Putcustomer;\r\n var putObj = await PutModel(Putcustomer, id);\r\n if (!putObj) {\r\n return [400];\r\n }\r\n const index = customerTableMock.findIndex((el) => el.id === +id);\r\n if (index === -1) {\r\n return [400];\r\n }\r\n customerTableMock[index] = { ...customer };\r\n return [200];\r\n });\r\n\r\n mock.onDelete(/api\\/PickUpBillingManagement\\/\\d+/).reply(async (config) => {\r\n const id = config.url.match(/api\\/PickUpBillingManagement\\/(\\d+)/)[1];\r\n const index = customerTableMock.findIndex((el) => el.id === +id);\r\n if (index === -1) {\r\n return [400];\r\n }\r\n var deleteObj = await DeleteModel(id);\r\n if (!deleteObj) {\r\n return [400];\r\n }\r\n customerTableMock.splice(index, 1);\r\n return [200];\r\n });\r\n}\r\n\r\nfunction ChangeId(list) {\r\n for (var item in list) {\r\n list[item].id = list[item].Id;\r\n }\r\n return list;\r\n}\r\n","import MockUtils from \"./mock.utils\";\r\nimport { Notification } from \"../../../modules/Notification\";\r\nimport low from \"lowdb\";\r\nimport LocalStorage from \"lowdb/adapters/LocalStorage\";\r\nconst adapter = new LocalStorage(\"db\");\r\nconst db = low(adapter);\r\nlet customerTableMock;\r\nexport default function mockReleaseNotes(mock) {\r\n function StatusMessage(res) {\r\n var status = res.status;\r\n var statusText = res.statusText;\r\n if (status === 200) {\r\n Notification(\"success\", \"success\");\r\n return true;\r\n } else if (status === 400) {\r\n Notification(\"error\", statusText);\r\n return false;\r\n }\r\n }\r\n\r\n //Get all Vessels\r\n async function GetAllVessels() {\r\n return await fetch(window.$apiurl + \"/generic/releaseNotes/get\", {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n return ChangeId(res[1]);\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n\r\n async function GetModelId(id) {\r\n return await fetch(`${window.$apiurl}/vesselvoyage/${id}`, {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n var a = res[1][\"Voyage\"];\r\n a.id = a.Id;\r\n return a;\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n\r\n async function PostVessel(someData) {\r\n return fetch(window.$apiurl + \"/generic/releaseNotes/post\", {\r\n method: \"post\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(someData),\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n return res[1];\r\n })\r\n .catch((error) => {\r\n //console.error(error);\r\n });\r\n }\r\n\r\n //Put\r\n async function PutVessel(someData, id) {\r\n return fetch(window.$apiurl + \"/generic/releaseNotes/put/\" + id, {\r\n method: \"put\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(someData),\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n return res[1];\r\n })\r\n .catch((error) => {\r\n //console.error(error);\r\n });\r\n }\r\n\r\n //Delete Contact\r\n async function DeleteVessel(id) {\r\n return await fetch(`${window.$apiurl}/generic/releaseNotes/delete/${id}`, {\r\n method: \"delete\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n return response;\r\n })\r\n .then((res) => {\r\n return StatusMessage(res);\r\n })\r\n .catch((err) => {\r\n return StatusMessage(err);\r\n });\r\n }\r\n\r\n mock.onPost(\"api/ReleaseNotes\").reply(async ({ data }) => {\r\n const { customer } = JSON.parse(data);\r\n const { Title = \"\", Body = \"\", BuildVersion = \"\"} = customer;\r\n\r\n const newCustomer = {\r\n Title,\r\n Body,\r\n BuildVersion\r\n };\r\n var postCustomerProfile = await PostVessel(newCustomer);\r\n if (postCustomerProfile !== undefined) {\r\n Notification(\"success\", \"Release Notes has been added successfully\");\r\n postCustomerProfile.id = postCustomerProfile.Id;\r\n window.$releaseStatus = 200;\r\n customerTableMock.push(newCustomer);\r\n return [\r\n 200,\r\n {\r\n customer: newCustomer,\r\n message: postCustomerProfile.Message,\r\n success: true,\r\n },\r\n ];\r\n } else {\r\n if (postCustomerProfile.Message) {\r\n Notification(\"error\", postCustomerProfile.Message);\r\n window.$releaseStatus = 400;\r\n }\r\n }\r\n });\r\n\r\n mock.onPost(\"api/ReleaseNotes/find\").reply(async (config) => {\r\n const mockUtils = new MockUtils();\r\n const { queryParams } = JSON.parse(config.data);\r\n customerTableMock = await GetAllVessels();\r\n //Filter\r\n if (\r\n queryParams.filter.searchText !== \"\" &&\r\n queryParams.filter.searchText !== undefined\r\n ) {\r\n customerTableMock = customerTableMock.filter(\r\n (word) =>\r\n String(word.Title).trim().toLowerCase().includes(String(queryParams.filter.searchText).trim().toLowerCase())\r\n );\r\n }\r\n delete queryParams.filter.ReLoadTable;\r\n delete queryParams.filter.searchText;\r\n const filterdCustomers = mockUtils.baseFilter(\r\n customerTableMock,\r\n queryParams\r\n );\r\n return [200, filterdCustomers];\r\n });\r\n\r\n mock.onPost(\"api/ReleaseNotes/filter\").reply(async (config) => {\r\n const mockUtils = new MockUtils();\r\n const { queryParams } = JSON.parse(config.data);\r\n customerTableMock = await GetAllVessels();\r\n delete queryParams.filter.ReLoadTable;\r\n const filterdCustomers = mockUtils.baseFilter(\r\n customerTableMock,\r\n queryParams\r\n );\r\n return [200, filterdCustomers];\r\n });\r\n\r\n mock.onPost(\"api/ReleaseNotes/deleteCustomers\").reply((config) => {\r\n const { ids } = JSON.parse(config.data);\r\n ids.forEach((id) => {\r\n const index = customerTableMock.findIndex((el) => el.id === id);\r\n if (index > -1) {\r\n customerTableMock.splice(index, 1);\r\n }\r\n });\r\n return [200];\r\n });\r\n\r\n mock.onPost(\"api/ReleaseNotes/updateStatusForCustomers\").reply((config) => {\r\n const { ids, status } = JSON.parse(config.data);\r\n customerTableMock.forEach((el) => {\r\n if (ids.findIndex((id) => id === el.id) > -1) {\r\n el.status = status;\r\n }\r\n });\r\n return [200];\r\n });\r\n async function GetModelId(id) {\r\n return await fetch(`${window.$apiurl}/generic/releaseNotes/get/${id}`, {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n var a = res[1];\r\n return a;\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n mock.onGet(/api\\/ReleaseNotes\\/\\d+/).reply(async (config) => {\r\n const id = config.url.match(/api\\/ReleaseNotes\\/(\\d+)/)[1];\r\n const customer = await GetModelId(id);\r\n if (!customer) {\r\n return [400];\r\n }\r\n return [200, customer];\r\n });\r\n\r\n mock.onPut(/api\\/ReleaseNotes\\/\\d+/).reply(async (config) => {\r\n const id = config.url.match(/api\\/ReleaseNotes\\/(\\d+)/)[1];\r\n const { customer } = JSON.parse(config.data);\r\n await PutVessel(customer, id);\r\n const index = customerTableMock.findIndex((el) => el.id === +id);\r\n if (!index === -1) {\r\n Notification(\"error\", \"Error Occured\");\r\n return [400];\r\n }\r\n Notification(\"success\", \"success\");\r\n customerTableMock[index] = { ...customer };\r\n return [200];\r\n });\r\n\r\n mock.onDelete(/api\\/ReleaseNotes\\/\\d+/).reply(async (config) => {\r\n const id = config.url.match(/api\\/ReleaseNotes\\/(\\d+)/)[1];\r\n const index = customerTableMock.findIndex((el) => el.id === +id);\r\n var deleteObj = await DeleteVessel(id);\r\n if (!deleteObj) {\r\n return [400];\r\n }\r\n customerTableMock.splice(index, 1);\r\n if (!index === -1) {\r\n return [400];\r\n }\r\n return [200];\r\n });\r\n}\r\n\r\nfunction ChangeId(list) {\r\n for (var item in list) {\r\n list[item].id = list[item].Id;\r\n delete list[item].Id;\r\n }\r\n return list;\r\n}\r\n","import low from \"lowdb\";\r\nimport LocalStorage from \"lowdb/adapters/LocalStorage\";\r\nimport { Notification } from \"../../Notification\";\r\nimport MockUtils from \"./mock.utils\";\r\nconst adapter = new LocalStorage(\"db\");\r\nconst db = low(adapter);\r\nlet customerTableMock;\r\nexport default async function mocksynchronizeProcess(mock) {\r\n function StatusMessage(res) {\r\n var status = res.status;\r\n var statusText = res.statusText;\r\n if (status === 200) {\r\n Notification(\"success\", \"success\");\r\n return true;\r\n } else if (status === 400) {\r\n Notification(\"error\", statusText);\r\n return false;\r\n }\r\n }\r\n\r\n async function GetUsersData() {\r\n return await fetch(window.$apiurl + \"/processes\", {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n return ChangeId(res[1]);\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n\r\n \r\n async function PostUser(someData, id) {\r\n return fetch(window.$apiurl + \"/processes/\" + id, {\r\n method: \"post\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(someData),\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n return res[1];\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n async function PutUser(someData, id) {\r\n return fetch(window.$apiurl + \"/processes/\" + id, {\r\n method: \"put\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(someData),\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n return res[1];\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n async function DeleteUser(id) {\r\n return await fetch(window.$apiurl + \"/processes/\" + id, {\r\n method: \"Delete\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n return response;\r\n })\r\n .then((res) => {\r\n return StatusMessage(res);\r\n })\r\n .catch((err) => {\r\n return StatusMessage(err);\r\n });\r\n }\r\n // Get process\r\n async function GetUserData(id) {\r\n return await fetch(window.$apiurl + \"/processes\"+ id, {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n return ChangeId(res[1]);\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n\r\n // Mock ---------------------------------------------------------------------------------\r\n mock.onGet(\"api/synchronizeProcess/GetProcess\").reply(async () => {\r\n const result = await GetUserData();\r\n return [200, result];\r\n });\r\n function formatDate(date) {\r\n var d = new Date(date),\r\n month = \"\" + (d.getMonth() + 1),\r\n day = \"\" + d.getDate(),\r\n year = d.getFullYear();\r\n\r\n if (month.length < 2) month = \"0\" + month;\r\n if (day.length < 2) day = \"0\" + day;\r\n\r\n const result = [month, day, year].join(\"/\");\r\n if (result !== \"NaN/NaN/NaN\") {\r\n return result;\r\n } else {\r\n return \"--/--/----\";\r\n }\r\n }\r\n mock.onPost(\"api/synchronizeProcess\").reply(async ({ data }) => {\r\n const { customer } = JSON.parse(data);\r\n const {\r\n // Id = \"\",\r\n Name = \"\",\r\n // Pattern = \"\",\r\n // Priority = \"\",\r\n // Option = \"\",\r\n // DriveIn = \"\",\r\n // DriveOut = \"\",\r\n // Server = \"\",\r\n // Schedule = \"\",\r\n // ThenTo = \"\",\r\n // CatchTo = \"\",\r\n // Note = \"\",\r\n \r\n } = customer;\r\n const newCustomer = {\r\n // Id,\r\n Name,\r\n \r\n // Pattern ,\r\n // Priority,\r\n // Option ,\r\n // DriveIn ,\r\n // DriveOut,\r\n // Server ,\r\n // Schedule ,\r\n // ThenTo ,\r\n // CatchTo ,\r\n // Note ,\r\n };\r\n // var postCustomerProfile = await PostCustomerProfileRating(newCustomer);\r\n // if (postCustomerProfile.Id != undefined) {\r\n // Notification(\"success\", \"Process has been added successfully\");\r\n // postCustomerProfile.id = postCustomerProfile.Id;\r\n // customerTableMock.push(newCustomer);\r\n // document.getElementById(\"ReLoadTableId\").click();\r\n // return [\r\n // 200,\r\n // {\r\n // customer: newCustomer,\r\n // message: postCustomerProfile.Message,\r\n // success: true,\r\n // },\r\n // ];\r\n // } else {\r\n // if (postCustomerProfile.Message) {\r\n // Notification(\"error\", postCustomerProfile.Message);\r\n // window.$tripsMngStatus = 400;\r\n // window.$tripMngLoading = false;\r\n // } else {\r\n // Notification(\"success\", \"Process has been added successfully\");\r\n // document.getElementById(\"ReLoadTableId\").click();\r\n // return [\r\n // 200,\r\n // {\r\n // customer: newCustomer,\r\n // message: postCustomerProfile.Message,\r\n // success: true,\r\n // },\r\n // ];\r\n // }\r\n // }\r\n });\r\n\r\n mock.onPost(\"api/synchronizeProcess/find\").reply(async (config) => {\r\n const mockUtils = new MockUtils();\r\n const { queryParams } = JSON.parse(config.data);\r\n customerTableMock = await GetUsersData();\r\n delete queryParams.filter.ReLoadTable;\r\n const filterdCustomers = mockUtils.baseFilter(\r\n customerTableMock,\r\n queryParams\r\n );\r\n return [200, filterdCustomers];\r\n });\r\n mock.onPost(\"api/synchronizeProcess\").reply(({ data }) => {\r\n const { customer } = JSON.parse(data);\r\n const {\r\n Name = \"\"\r\n } = customer;\r\n\r\n const id = generateUserId();\r\n const newCustomer = {\r\n Name\r\n };\r\n customerTableMock.push(newCustomer);\r\n return [200, { customer: newCustomer }];\r\n });\r\n\r\n\r\n mock\r\n .onPost(\"api/synchronizeProcess/updateStatusForCustomers\")\r\n .reply((config) => {\r\n const { ids, status } = JSON.parse(config.data);\r\n customerTableMock.forEach((el) => {\r\n if (ids.findIndex((id) => id === el.id) > -1) {\r\n el.status = status;\r\n }\r\n });\r\n return [200];\r\n });\r\n\r\n async function GetUser(id) {\r\n return await fetch(window.$apiurl + \"/processes/\" + id, {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n return res[1];\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n\r\n mock.onGet(/api\\/synchronizeProcess\\/\\d+/).reply(async (config) => {\r\n const id = config.url.match(/api\\/synchronizeProcess\\/(\\d+)/)[1];\r\n const customer = await GetUser(id);\r\n if (!customer) {\r\n return [400];\r\n }\r\n return [200, customer];\r\n });\r\n \r\n\r\n mock.onPut(/api\\/synchronizeProcess\\/\\d+/).reply(async (config) => {\r\n const id = config.url.match(/api\\/synchronizeProcess\\/(\\d+)/)[1];\r\n const { customer } = JSON.parse(config.data);\r\n await PutUser(customer, id);\r\n const index = customerTableMock.findIndex((el) => el.id === +id);\r\n customerTableMock[index] = { ...customer };\r\n Notification(\"success\", \"Process has been updated successfully\");\r\n document.getElementById(\"ReLoadTableId\").click();\r\n return [200];\r\n });\r\n\r\n mock.onDelete(/api\\/synchronizeProcess\\/\\d+/).reply(async (config) => {\r\n const id = config.url.match(/api\\/synchronizeProcess\\/(\\d+)/)[1];\r\n const index = customerTableMock.findIndex((el) => el.id === +id);\r\n if (index === -1) {\r\n return [400];\r\n }\r\n var deleteObj = await DeleteUser(id);\r\n if (!deleteObj) {\r\n return [400];\r\n }\r\n customerTableMock.splice(index, 1);\r\n return [200];\r\n });\r\n}\r\n\r\nfunction ChangeId(list) {\r\n for (var item in list) {\r\n list[item].id = list[item].Id;\r\n delete list[item].Id;\r\n }\r\n return list;\r\n}\r\n\r\nfunction generateUserId() {\r\n const ids = customerTableMock.map((el) => el.id);\r\n const maxId = Math.max(...ids);\r\n return maxId + 1;\r\n}\r\n","//import carTableMock from \"./carTableMock\";\r\nimport MockUtils from \"./mock.utils\";\r\nimport { Notification } from \"../../Notification\";\r\nimport low from \"lowdb\";\r\nimport LocalStorage from \"lowdb/adapters/LocalStorage\";\r\nconst adapter = new LocalStorage(\"db\");\r\nconst db = low(adapter);\r\nlet carTableMock;\r\n\r\nexport default function mockFindOrders(mock) {\r\n function StatusMessage(res) {\r\n var status = res.status;\r\n var statusText = res.statusText;\r\n if (status === 200) {\r\n Notification(\"success\", \"success\");\r\n return true;\r\n } else if (status === 400) {\r\n Notification(\"error\", statusText);\r\n return false;\r\n }\r\n }\r\n\r\nasync function DriveInList() {\r\n return await fetch(window.$apiurl + \"/processes/DriveIn\", {\r\n method: \"get\",\r\n withCredentials: true,\r\n\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n Accept: \"application/json, text/plain, */*\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then((res) => res.json())\r\n .then((res) => {\r\n return res;\r\n })\r\n .catch((err) => {\r\n Notification(\"error\", \"err\");\r\n return false;\r\n });\r\n}\r\n\r\nasync function DriveOutList() {\r\n return await fetch(window.$apiurl + \"/processes/DriveOut\", {\r\n method: \"get\",\r\n withCredentials: true,\r\n\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n Accept: \"application/json, text/plain, */*\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then((res) => res.json())\r\n .then((res) => {\r\n return res;\r\n })\r\n .catch((err) => {\r\n Notification(\"error\", \"err\");\r\n return false;\r\n });\r\n}\r\n\r\n async function GetOrders() {\r\n return await fetch(window.$apiurl + \"/processes\", {\r\n method: \"get\",\r\n withCredentials: true,\r\n\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n Accept: \"application/json, text/plain, */*\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n return ChangeId(res[1]);\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n\r\n\r\n async function PostOrder(someData) {\r\n return fetch(window.$apiurl + \"/processes\", {\r\n method: \"post\",\r\n withCredentials: true,\r\n\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n Accept: \"application/json, text/plain, */*\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(someData),\r\n })\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n return res[1];\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n\r\n async function PutOrder(someData, id) {\r\n // let userDate = someData[\"customer\"];\r\n // console.log(\"userDate\")\r\n // console.log(userDate);\r\n return fetch(window.$apiurl + \"/processes/\" + id, {\r\n method: \"put\",\r\n withCredentials: true,\r\n\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n Accept: \"application/json, text/plain, */*\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(someData),\r\n })\r\n .then(async (response) => {\r\n return await response;\r\n })\r\n .then((res) => {\r\n return StatusMessage(res);\r\n })\r\n .catch((err) => {\r\n return StatusMessage(err);\r\n });\r\n }\r\n async function DeleteOrder(id) {\r\n return await fetch(window.$apiurl + \"/processes/\" + id, {\r\n method: \"delete\",\r\n withCredentials: true,\r\n\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n Accept: \"application/json, text/plain, */*\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n return response;\r\n })\r\n .then((res) => {\r\n return StatusMessage(res);\r\n })\r\n .catch((err) => {\r\n return StatusMessage(err);\r\n });\r\n }\r\n async function GetOrder(id) {\r\n return await fetch(window.$apiurl + \"/processes/\" + id, {\r\n method: \"get\",\r\n withCredentials: true,\r\n\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n Accept: \"application/json, text/plain, */*\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then((res) => res.json())\r\n .then((res) => {\r\n return res;\r\n })\r\n .catch((err) => {\r\n Notification(\"error\", \"err\");\r\n return false;\r\n });\r\n }\r\n //---------------------------------------------------------------------\r\n\r\n mock.onGet(\"api/synchronizeProcess/GetAllApi\").reply(async () => {\r\n var customers = {};\r\n customers[\"Processes\"] = await GetOrders();\r\n customers[\"DriveInList\"] = await DriveInList();\r\n customers[\"DriveOutList\"] = await DriveOutList();\r\n\r\n // customers[\"skuList\"] = await GetSkuList();\r\n // customers[\"primaryUnitList\"] = await GetPrimaryUnitList();\r\n return [200, customers];\r\n });\r\n\r\n // mock.onPost(\"api/synchronizeProcess\").reply(async ({ data }) => {\r\n // const { customer } = JSON.parse(data);\r\n // const {\r\n // Id = 0,\r\n \r\n // Name = \"\"\r\n // } = customer;\r\n\r\n // const id = generateProductId();\r\n // const newCustomer = {\r\n // id,\r\n // Name };\r\n // var postOrder = await PostOrder(newCustomer);\r\n // postOrder.id=postOrder.Id;\r\n // return [200, { customer: postOrder }];\r\n // });\r\n\r\n mock.onPost(\"api/synchronizeProcess\").reply(async ({ data }) => {\r\n const { product } = JSON.parse(data);\r\n const { Name = \"\"\r\n } = product;\r\n\r\n //const Id = generateProductId();\r\n const newProduct = {\r\n \r\n Name,\r\n // DriveIn,\r\n // DriveOut\r\n };\r\n var postOrder = await PostOrder(newProduct);\r\n\r\n // postOrder.id = postOrder.Id;\r\n return [200, { product: newProduct }];\r\n });\r\n \r\n\r\n\r\n mock.onGet(/api\\/synchronizeProcess\\/\\d+/).reply(async (config) => {\r\n const id = config.url.match(/api\\/synchronizeProcess\\/(\\d+)/)[1];\r\n const product = await GetOrder(id);\r\n if (!product) {\r\n return [400];\r\n }\r\n\r\n return [200, product];\r\n });\r\n \r\n mock.onPut(/api\\/synchronizeProcess\\/\\d+/).reply(async (config) => {\r\n const id = config.url.match(/api\\/synchronizeProcess\\/(\\d+)/)[1];\r\n const DriveIn = config.url.match(/api\\/synchronizeProcess\\/(\\d+)/)[6];\r\n const { product } = JSON.parse(config.data);\r\n var postOrder = await PutOrder(product, id);\r\n const newDriveIn = +DriveIn;\r\n \r\n const index = carTableMock.findIndex((el) => el.id === +id);\r\n if (!index) {\r\n return [400, {newDriveIn}];\r\n }\r\n\r\n carTableMock[index] = { ...product };\r\n return [200];\r\n });\r\n \r\n // mock.onPost(/api\\/synchronizeProcess\\/\\d+/).reply(async (config) => {\r\n // const id = config.url.match(/api\\/synchronizeProcess\\/(\\d+)/)[1];\r\n // const { product } = JSON.parse(config.data);\r\n // var postOrder = await PostOrder(product);\r\n // const index = carTableMock.findIndex((el) => el.id === +id);\r\n // if (!index) {\r\n // return [400];\r\n // }\r\n\r\n // carTableMock[index] = { ...product };\r\n // return [200];\r\n // });\r\n\r\n mock.onDelete(/api\\/synchronizeProcess\\/\\d+/).reply(async (config) => {\r\n const id = config.url.match(/api\\/synchronizeProcess\\/(\\d+)/)[1];\r\n // const index = carTableMock.findIndex((el) => el.id === +id);\r\n // if (index === -1) return [400];\r\n var deleteUser = await DeleteOrder(id);\r\n if (!deleteUser) return [400];\r\n // carTableMock.splice(index, 1);\r\n return [200];\r\n });\r\n}\r\n\r\nfunction generateProductId() {\r\n const ids = carTableMock.map((el) => el.id);\r\n const maxId = Math.max(...ids);\r\n return maxId + 1;\r\n}\r\n\r\nfunction ChangeId(list) {\r\n for (var item in list) {\r\n list[item].id = list[item].Id;\r\n delete list[item].Id;\r\n }\r\n return list;\r\n}\r\n","import low from \"lowdb\";\r\nimport LocalStorage from \"lowdb/adapters/LocalStorage\";\r\nimport { Notification } from \"../../Notification\";\r\nimport MockUtils from \"./mock.utils\";\r\nconst adapter = new LocalStorage(\"db\");\r\nconst db = low(adapter);\r\nlet customerTableMock;\r\nexport default async function mockTriniumCodes(mock) {\r\n function StatusMessage(res) {\r\n var status = res.status;\r\n var statusText = res.statusText;\r\n if (status === 200) {\r\n Notification(\"success\", \"success\");\r\n return true;\r\n } else if (status === 400) {\r\n Notification(\"error\", statusText);\r\n return false;\r\n }\r\n }\r\n\r\n async function GetUsersData() {\r\n return await fetch(window.$apiurl + \"/Trinium/Location\", {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n return ChangeId(res[1]);\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n\r\n async function PostCustomerProfileRating(someData) {\r\n return fetch(window.$apiurl + \"/Trinium/Location\", {\r\n method: \"post\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(someData),\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n return res[1];\r\n })\r\n .catch((error) => {\r\n //console.error(error);\r\n });\r\n }\r\n\r\n async function PutUser(someData, id) {\r\n return fetch(window.$apiurl + \"/Trinium/Location/\" + id, {\r\n method: \"put\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(someData),\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n return res[1];\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n async function DeleteUser(id) {\r\n return await fetch(window.$apiurl + \"/Trinium/Location/\" + id, {\r\n method: \"Delete\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n return response;\r\n })\r\n .then((res) => {\r\n return StatusMessage(res);\r\n })\r\n .catch((err) => {\r\n return StatusMessage(err);\r\n });\r\n }\r\n\r\n // Mock ---------------------------------------------------------------------------------\r\n\r\n function formatDate(date) {\r\n var d = new Date(date),\r\n month = \"\" + (d.getMonth() + 1),\r\n day = \"\" + d.getDate(),\r\n year = d.getFullYear();\r\n\r\n if (month.length < 2) month = \"0\" + month;\r\n if (day.length < 2) day = \"0\" + day;\r\n\r\n const result = [month, day, year].join(\"/\");\r\n if (result !== \"NaN/NaN/NaN\") {\r\n return result;\r\n } else {\r\n return \"--/--/----\";\r\n }\r\n }\r\n mock.onPost(\"api/TriniumCodes\").reply(async ({ data }) => {\r\n const { customer } = JSON.parse(data);\r\n const start = Date.now();\r\n const dateNow = formatDate(start);\r\n const {\r\n empowerName = \"\",\r\n empowerCode = \"\",\r\n triniumName = \"\",\r\n triniumCode = \"\",\r\n Type = \"\",\r\n } = customer;\r\n const id = generateUserId();\r\n const newCustomer = {\r\n id,\r\n empowerName,\r\n empowerCode,\r\n triniumName,\r\n triniumCode,\r\n Type,\r\n };\r\n var postCustomerProfile = await PostCustomerProfileRating(newCustomer);\r\n if (postCustomerProfile.Id != undefined) {\r\n Notification(\"success\", \"Trinium code has been added successfully\");\r\n postCustomerProfile.id = postCustomerProfile.Id;\r\n customerTableMock.push(newCustomer);\r\n document.getElementById(\"ReLoadTableId\").click();\r\n return [\r\n 200,\r\n {\r\n customer: newCustomer,\r\n message: postCustomerProfile.Message,\r\n success: true,\r\n },\r\n ];\r\n } else {\r\n if (postCustomerProfile.Message) {\r\n Notification(\"error\", postCustomerProfile.Message);\r\n window.$tripsMngStatus = 400;\r\n window.$tripMngLoading = false;\r\n } else {\r\n Notification(\"success\", \"Trinium code has been added successfully\");\r\n document.getElementById(\"ReLoadTableId\").click();\r\n return [\r\n 200,\r\n {\r\n customer: newCustomer,\r\n message: postCustomerProfile.Message,\r\n success: true,\r\n },\r\n ];\r\n }\r\n }\r\n });\r\n\r\n mock.onPost(\"api/TriniumCodes/find\").reply(async (config) => {\r\n const mockUtils = new MockUtils();\r\n const { queryParams } = JSON.parse(config.data);\r\n customerTableMock = await GetUsersData();\r\n delete queryParams.filter.ReLoadTable;\r\n const filterdCustomers = mockUtils.baseFilter(\r\n customerTableMock,\r\n queryParams\r\n );\r\n return [200, filterdCustomers];\r\n });\r\n\r\n mock.onPost(\"api/TriniumCodes/deleteCustomers\").reply((config) => {\r\n const { ids } = JSON.parse(config.data);\r\n ids.forEach((id) => {\r\n const index = customerTableMock.findIndex((el) => el.id === id);\r\n if (index > -1) {\r\n customerTableMock.splice(index, 1);\r\n }\r\n });\r\n return [200];\r\n });\r\n\r\n mock\r\n .onPost(\"api/TriniumCodes/updateStatusForCustomers\")\r\n .reply((config) => {\r\n const { ids, status } = JSON.parse(config.data);\r\n customerTableMock.forEach((el) => {\r\n if (ids.findIndex((id) => id === el.id) > -1) {\r\n el.status = status;\r\n }\r\n });\r\n return [200];\r\n });\r\n\r\n async function GetUser(id) {\r\n return await fetch(window.$apiurl + \"/Trinium/Location/\" + id, {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n return res[1];\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n\r\n mock.onGet(/api\\/TriniumCodes\\/\\d+/).reply(async (config) => {\r\n const id = config.url.match(/api\\/TriniumCodes\\/(\\d+)/)[1];\r\n const customer = await GetUser(id);\r\n if (!customer) {\r\n return [400];\r\n }\r\n return [200, customer];\r\n });\r\n\r\n mock.onPut(/api\\/TriniumCodes\\/\\d+/).reply(async (config) => {\r\n const id = config.url.match(/api\\/TriniumCodes\\/(\\d+)/)[1];\r\n const { customer } = JSON.parse(config.data);\r\n await PutUser(customer, id);\r\n const index = customerTableMock.findIndex((el) => el.id === +id);\r\n customerTableMock[index] = { ...customer };\r\n Notification(\"success\", \"Trinium code has been updated successfully\");\r\n document.getElementById(\"ReLoadTableId\").click();\r\n return [200];\r\n });\r\n\r\n mock.onDelete(/api\\/TriniumCodes\\/\\d+/).reply(async (config) => {\r\n const id = config.url.match(/api\\/TriniumCodes\\/(\\d+)/)[1];\r\n const index = customerTableMock.findIndex((el) => el.id === +id);\r\n if (index === -1) {\r\n return [400];\r\n }\r\n var deleteObj = await DeleteUser(id);\r\n if (!deleteObj) {\r\n return [400];\r\n }\r\n customerTableMock.splice(index, 1);\r\n return [200];\r\n });\r\n}\r\n\r\nfunction ChangeId(list) {\r\n for (var item in list) {\r\n list[item].id = list[item].Id;\r\n delete list[item].Id;\r\n }\r\n return list;\r\n}\r\n\r\nfunction generateUserId() {\r\n const ids = customerTableMock.map((el) => el.id);\r\n const maxId = Math.max(...ids);\r\n return maxId + 1;\r\n}\r\n","import low from \"lowdb\";\r\nimport LocalStorage from \"lowdb/adapters/LocalStorage\";\r\nimport { Notification } from \"../../Notification\";\r\nimport MockUtils from \"./mock.utils\";\r\nconst adapter = new LocalStorage(\"db\");\r\nconst db = low(adapter);\r\nlet customerTableMock;\r\nexport default async function mockTriniumCodes2(mock) {\r\n function StatusMessage(res) {\r\n var status = res.status;\r\n var statusText = res.statusText;\r\n if (status === 200) {\r\n Notification(\"success\", \"success\");\r\n return true;\r\n } else if (status === 400) {\r\n Notification(\"error\", statusText);\r\n return false;\r\n }\r\n }\r\n\r\n async function GetUsersData() {\r\n return await fetch(window.$apiurl + \"/Trinium/SSline\", {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n return ChangeId(res[1]);\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n\r\n async function PostCustomerProfileRating(someData) {\r\n return fetch(window.$apiurl + \"/Trinium/SSline\", {\r\n method: \"post\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(someData),\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n return res[1];\r\n })\r\n .catch((error) => {\r\n //console.error(error);\r\n });\r\n }\r\n\r\n async function PutUser(someData, id) {\r\n return fetch(window.$apiurl + \"/Trinium/SSline/\" + id, {\r\n method: \"put\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(someData),\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n return res[1];\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n async function DeleteUser(id) {\r\n return await fetch(window.$apiurl + \"/Trinium/SSline/\" + id, {\r\n method: \"Delete\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n return response;\r\n })\r\n .then((res) => {\r\n return StatusMessage(res);\r\n })\r\n .catch((err) => {\r\n return StatusMessage(err);\r\n });\r\n }\r\n\r\n // Mock ---------------------------------------------------------------------------------\r\n\r\n function formatDate(date) {\r\n var d = new Date(date),\r\n month = \"\" + (d.getMonth() + 1),\r\n day = \"\" + d.getDate(),\r\n year = d.getFullYear();\r\n\r\n if (month.length < 2) month = \"0\" + month;\r\n if (day.length < 2) day = \"0\" + day;\r\n\r\n const result = [month, day, year].join(\"/\");\r\n if (result !== \"NaN/NaN/NaN\") {\r\n return result;\r\n } else {\r\n return \"--/--/----\";\r\n }\r\n }\r\n mock.onPost(\"api/TriniumCodes2\").reply(async ({ data }) => {\r\n const { customer } = JSON.parse(data);\r\n const start = Date.now();\r\n const dateNow = formatDate(start);\r\n const {\r\n mBOLPrefiex = \"\",\r\n steamshipline = \"\",\r\n triniumCode = \"\",\r\n } = customer;\r\n const id = generateUserId();\r\n const newCustomer = {\r\n id,\r\n mBOLPrefiex,\r\n steamshipline,\r\n triniumCode,\r\n };\r\n var postCustomerProfile = await PostCustomerProfileRating(newCustomer);\r\n if (postCustomerProfile.Id != undefined) {\r\n Notification(\"success\", \"Trinium code has been added successfully\");\r\n postCustomerProfile.id = postCustomerProfile.Id;\r\n customerTableMock.push(newCustomer);\r\n document.getElementById(\"ReLoadTableId\").click();\r\n return [\r\n 200,\r\n {\r\n customer: newCustomer,\r\n message: postCustomerProfile.Message,\r\n success: true,\r\n },\r\n ];\r\n } else {\r\n if (postCustomerProfile.Message) {\r\n Notification(\"error\",postCustomerProfile.Message);\r\n window.$tripsMngStatus = 400;\r\n window.$tripMngLoading = false;\r\n } else {\r\n Notification(\"success\", \"Trinium code has been added successfully\");\r\n document.getElementById(\"ReLoadTableId\").click();\r\n return [\r\n 200,\r\n {\r\n customer: newCustomer,\r\n message: postCustomerProfile.Message,\r\n success: true,\r\n },\r\n ];\r\n }\r\n }\r\n });\r\n\r\n mock.onPost(\"api/TriniumCodes2/find\").reply(async (config) => {\r\n const mockUtils = new MockUtils();\r\n const { queryParams } = JSON.parse(config.data);\r\n customerTableMock = await GetUsersData();\r\n delete queryParams.filter.ReLoadTable;\r\n const filterdCustomers = mockUtils.baseFilter(\r\n customerTableMock,\r\n queryParams\r\n );\r\n return [200, filterdCustomers];\r\n });\r\n\r\n mock.onPost(\"api/TriniumCodes2/deleteCustomers\").reply((config) => {\r\n const { ids } = JSON.parse(config.data);\r\n ids.forEach((id) => {\r\n const index = customerTableMock.findIndex((el) => el.id === id);\r\n if (index > -1) {\r\n customerTableMock.splice(index, 1);\r\n }\r\n });\r\n return [200];\r\n });\r\n\r\n mock\r\n .onPost(\"api/TriniumCodes2/updateStatusForCustomers\")\r\n .reply((config) => {\r\n const { ids, status } = JSON.parse(config.data);\r\n customerTableMock.forEach((el) => {\r\n if (ids.findIndex((id) => id === el.id) > -1) {\r\n el.status = status;\r\n }\r\n });\r\n return [200];\r\n });\r\n\r\n async function GetUser(id) {\r\n return await fetch(window.$apiurl + \"/Trinium/SSline/\" + id, {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n return res[1];\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n\r\n mock.onGet(/api\\/TriniumCodes2\\/\\d+/).reply(async (config) => {\r\n const id = config.url.match(/api\\/TriniumCodes2\\/(\\d+)/)[1];\r\n const customer = await GetUser(id);\r\n if (!customer) {\r\n return [400];\r\n }\r\n return [200, customer];\r\n });\r\n\r\n mock.onPut(/api\\/TriniumCodes2\\/\\d+/).reply(async (config) => {\r\n const id = config.url.match(/api\\/TriniumCodes2\\/(\\d+)/)[1];\r\n const { customer } = JSON.parse(config.data);\r\n var putuser = await PutUser(customer, id);\r\n // const index = customerTableMock.findIndex((el) => el.id === +id);\r\n if (putuser.Message) {\r\n Notification(\"error\", putuser.Message);\r\n window.$tripsMngStatus = 400;\r\n window.$tripMngLoading = false;\r\n } else {\r\n Notification(\"success\", \"Trinium code has been updated successfully\");\r\n document.getElementById(\"ReLoadTableId\").click();\r\n return [\r\n 200,\r\n {\r\n message: putuser.Message,\r\n success: true,\r\n },\r\n ];\r\n } \r\n });\r\n\r\n mock.onDelete(/api\\/TriniumCodes2\\/\\d+/).reply(async (config) => {\r\n const id = config.url.match(/api\\/TriniumCodes2\\/(\\d+)/)[1];\r\n const index = customerTableMock.findIndex((el) => el.id === +id);\r\n if (index === -1) {\r\n return [400];\r\n }\r\n var deleteObj = await DeleteUser(id);\r\n if (!deleteObj) {\r\n return [400];\r\n }\r\n customerTableMock.splice(index, 1);\r\n return [200];\r\n });\r\n}\r\n\r\nfunction ChangeId(list) {\r\n for (var item in list) {\r\n list[item].id = list[item].Id;\r\n delete list[item].Id;\r\n }\r\n return list;\r\n}\r\n\r\nfunction generateUserId() {\r\n const ids = customerTableMock.map((el) => el.id);\r\n const maxId = Math.max(...ids);\r\n return maxId + 1;\r\n}\r\n","import MockUtils from \"./mock.utils3\";\r\nimport { Notification } from \"../../Notification\";\r\nimport low from \"lowdb\";\r\nimport LocalStorage from \"lowdb/adapters/LocalStorage\";\r\nconst adapter = new LocalStorage(\"db\");\r\nconst db = low(adapter);\r\nlet customerTableMock;\r\nexport default function mockPerMiles(mock) {\r\n\r\n //Get Movable Units\r\n async function GetMovableUnitss(params) {\r\n return await fetch(window.$apiurl + \"/rating/matrix\" + params, {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n return res[1]\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n //Get {id}\r\n async function GetMovableUnitsById(id) {\r\n return await fetch(window.$apiurl + \"/rating/matrix/\" + id, {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n }).then(async (response) => {\r\n const data = await response.json();\r\n return data;\r\n });\r\n }\r\n //Post Movable Units\r\n async function PostMovableUnit(someData) {\r\n return fetch(window.$apiurl + \"/rating/matrix\", {\r\n method: \"post\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(someData),\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n return res[1];\r\n })\r\n .catch((err) => {\r\n console.log(err);\r\n });\r\n }\r\n //Delete\r\n async function DeleteMovableUnit(id) {\r\n return await fetch(window.$apiurl + \"/rating/matrix/\" + id, {\r\n method: \"delete\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n if (statusCode === 200) {\r\n return Promise.all([statusCode, \"\"]);\r\n }\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n if (res[0] === 200) {\r\n Notification(\"success\", \"success\");\r\n return true;\r\n } else if (res[0] === 400) {\r\n Notification(\"error\", res[1].Message);\r\n return false;\r\n }\r\n })\r\n .catch((err) => {\r\n Notification(\"error\", \"error request\");\r\n return false;\r\n });\r\n }\r\n //Put\r\n async function PutMovableUnit(someData, id) {\r\n someData.ServiceType = \"shipment\";\r\n return fetch(window.$apiurl + \"/rating/matrix/\" + id, {\r\n method: \"put\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(someData),\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n return res[1];\r\n })\r\n .catch((err) => {\r\n console.log(err);\r\n });\r\n }\r\n\r\n mock.onPost(\"api/PerMiles\").reply(async ({ data }) => {\r\n const { customer } = JSON.parse(data);\r\n const {\r\n Name= \"\",\r\n TypeId= null,\r\n RegionTypeId= null,\r\n DateStart=null,\r\n DateEnd=null,\r\n Description= \"\",\r\n IsActive= true,\r\n Items= [],\r\n } = customer;\r\n const newCustomer = {\r\n Name,\r\n TypeId,\r\n RegionTypeId,\r\n DateStart,\r\n DateEnd,\r\n Description,\r\n IsActive,\r\n Items\r\n };\r\n var postMovableUnit = await PostMovableUnit(newCustomer);\r\n if (postMovableUnit.Id !== undefined) {\r\n Notification(\"success\", \"PerMile has been added successfully\");\r\n postMovableUnit.id = postMovableUnit.Id;\r\n customerTableMock.push(newCustomer);\r\n document.getElementById(\"ReLoadTableId\").click();\r\n return [\r\n 200,\r\n {\r\n customer: newCustomer,\r\n message: postMovableUnit.Message,\r\n success: true,\r\n },\r\n ];\r\n } else {\r\n if (postMovableUnit.Message) {\r\n window.$error400Gl = 400;\r\n Notification(\"error\", postMovableUnit.Message);\r\n return [\r\n 400,\r\n {\r\n customer: newCustomer,\r\n message: postMovableUnit.Message,\r\n success: false,\r\n },\r\n ];\r\n } else {\r\n Notification(\"success\", \"PerMile has been added successfully\");\r\n document.getElementById(\"ReLoadTableId\").click();\r\n return [\r\n 200,\r\n {\r\n customer: newCustomer,\r\n message: postMovableUnit.Message,\r\n success: true,\r\n },\r\n ];\r\n }\r\n }\r\n });\r\n\r\n mock.onPost(\"api/PerMiles/find\").reply(async (config) => {\r\n const mockUtils = new MockUtils();\r\n const { queryParams } = JSON.parse(config.data);\r\n const params = `?isActive=${queryParams?.filter?.IsActive ?? \"\"}&DateStart=${queryParams?.filter?.startDate}&DateEnd=${queryParams?.filter?.endDate}&expired=${queryParams?.filter?.IsExpired ?? \"\"}&TypeId=${queryParams?.filter?.TypeId}&pageNumber=${queryParams.pageNumber}&pageSize=${queryParams.pageSize}&search=&sortField=${queryParams.sortField}&sortOrder=${queryParams.sortOrder}&search=${queryParams?.filter?.searchText}`;\r\n let dataObj = await GetMovableUnitss(params);\r\n customerTableMock = ChangeId(dataObj?.Matrices);\r\n delete queryParams.filter.ReLoadTable;\r\n delete queryParams.filter.searchText;\r\n delete queryParams?.filter?.startDate;\r\n delete queryParams?.filter?.endDate;\r\n delete queryParams.filter.IsActive;\r\n delete queryParams.filter.TypeId;\r\n delete queryParams.filter.IsExpired;\r\n queryParams.TotalItems = dataObj.Pagination.TotalItemCount;\r\n const filterdCustomers = mockUtils.baseFilter(\r\n customerTableMock,\r\n queryParams\r\n );\r\n return [200, filterdCustomers];\r\n });\r\n\r\n mock.onPost(\"api/PerMiles/deleteCustomers\").reply((config) => {\r\n const { ids } = JSON.parse(config.data);\r\n ids.forEach((id) => {\r\n const index = customerTableMock.findIndex((el) => el.id === id);\r\n if (index > -1) {\r\n customerTableMock.splice(index, 1);\r\n }\r\n });\r\n return [200];\r\n });\r\n\r\n mock\r\n .onPost(\"api/PerMiles/updateStatusForCustomers\")\r\n .reply((config) => {\r\n const { ids, status } = JSON.parse(config.data);\r\n customerTableMock.forEach((el) => {\r\n if (ids.findIndex((id) => id === el.id) > -1) {\r\n el.status = status;\r\n }\r\n });\r\n return [200];\r\n });\r\n mock.onGet(/api\\/PerMiles\\/\\d+/).reply(async (config) => {\r\n const id = config.url.match(/api\\/PerMiles\\/(\\d+)/)[1];\r\n var resultById = await GetMovableUnitsById(id);\r\n if (!resultById) {\r\n return [400];\r\n }\r\n return [200, resultById];\r\n });\r\n\r\n mock.onPut(/api\\/PerMiles\\/\\d+/).reply(async (config) => {\r\n const id = config.url.match(/api\\/PerMiles\\/(\\d+)/)[1];\r\n const { customer } = JSON.parse(config.data);\r\n var putObj = await PutMovableUnit(customer, id);\r\n if (putObj.Message) {\r\n Notification(\"error\", putObj.Message);\r\n return false;\r\n }\r\n const index = customerTableMock.findIndex((el) => el.id === +id);\r\n if (index === -1) {\r\n return [400];\r\n }\r\n customerTableMock[index] = { ...customer };\r\n return [200];\r\n });\r\n\r\n mock.onDelete(/api\\/PerMiles\\/\\d+/).reply(async (config) => {\r\n alert();\r\n const id = config.url.match(/api\\/PerMiles\\/(\\d+)/)[1];\r\n const index = customerTableMock.findIndex((el) => el.id === +id);\r\n var deleteObj = await DeleteMovableUnit(id);\r\n if (!deleteObj) {\r\n return [400];\r\n }\r\n customerTableMock.splice(index, 1);\r\n return [200];\r\n });\r\n}\r\n\r\nfunction generateUserId() {\r\n const ids = customerTableMock.map((el) => el.id);\r\n const maxId = Math.max(...ids);\r\n return maxId + 1;\r\n}\r\n\r\nfunction ChangeId(list) {\r\n for (var item in list) {\r\n list[item].id = list[item].Id;\r\n delete list[item].Id;\r\n }\r\n return list;\r\n}\r\n","import MockUtils from \"./mock.utils3\";\r\nimport { Notification } from \"../../Notification\";\r\nimport low from \"lowdb\";\r\nimport LocalStorage from \"lowdb/adapters/LocalStorage\";\r\nconst adapter = new LocalStorage(\"db\");\r\nconst db = low(adapter);\r\nlet customerTableMock;\r\nexport default function mockRegions(mock) {\r\n //Get Movable Units\r\n async function GetMovableUnitss(params) {\r\n return await fetch(window.$apiurl + \"/rating/region\" + params, {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n return res[1];\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n //Get {id}\r\n async function GetMovableUnitsById(id) {\r\n return await fetch(window.$apiurl + \"/rating/region/\" + id, {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n }).then(async (response) => {\r\n const data = await response.json();\r\n return data;\r\n });\r\n }\r\n //Post Movable Units\r\n async function PostMovableUnit(someData) {\r\n return fetch(window.$apiurl + \"/rating/region\", {\r\n method: \"post\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(someData),\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n return res[1];\r\n })\r\n .catch((err) => {\r\n console.log(err);\r\n });\r\n }\r\n //Delete\r\n async function DeleteMovableUnit(id) {\r\n return await fetch(window.$apiurl + \"/rating/matrix/\" + id, {\r\n method: \"delete\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n if (statusCode === 200) {\r\n return Promise.all([statusCode, \"\"]);\r\n }\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n if (res[0] === 200) {\r\n Notification(\"success\", \"success\");\r\n return true;\r\n } else if (res[0] === 400) {\r\n Notification(\"error\", res[1].Message);\r\n return false;\r\n }\r\n })\r\n .catch((err) => {\r\n Notification(\"error\", \"error request\");\r\n return false;\r\n });\r\n }\r\n //Put\r\n async function PutMovableUnit(someData, id) {\r\n someData.ServiceType = \"shipment\";\r\n return fetch(window.$apiurl + \"/rating/region/\" + id, {\r\n method: \"put\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(someData),\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n return res[1];\r\n })\r\n .catch((err) => {\r\n console.log(err);\r\n });\r\n }\r\n\r\n mock.onPost(\"api/Regions\").reply(async ({ data }) => {\r\n const { customer } = JSON.parse(data);\r\n const {\r\n Name = \"\",\r\n TypeId = null,\r\n Description = \"\",\r\n IsActive = true,\r\n Items = [],\r\n } = customer;\r\n const newCustomer = {\r\n Name,\r\n TypeId,\r\n Description,\r\n IsActive,\r\n Items,\r\n };\r\n var postMovableUnit = await PostMovableUnit(newCustomer);\r\n if (postMovableUnit.Id !== undefined) {\r\n Notification(\"success\", \"PerMile has been added successfully\");\r\n postMovableUnit.id = postMovableUnit.Id;\r\n customerTableMock.push(newCustomer);\r\n document.getElementById(\"ReLoadTableId\").click();\r\n return [\r\n 200,\r\n {\r\n customer: newCustomer,\r\n message: postMovableUnit.Message,\r\n success: true,\r\n },\r\n ];\r\n } else {\r\n if (postMovableUnit.Message) {\r\n window.$error400Gl = 400;\r\n Notification(\"error\", postMovableUnit.Message);\r\n return [\r\n 400,\r\n {\r\n customer: newCustomer,\r\n message: postMovableUnit.Message,\r\n success: false,\r\n },\r\n ];\r\n } else {\r\n Notification(\"success\", \"PerMile has been added successfully\");\r\n document.getElementById(\"ReLoadTableId\").click();\r\n return [\r\n 200,\r\n {\r\n customer: newCustomer,\r\n message: postMovableUnit.Message,\r\n success: true,\r\n },\r\n ];\r\n }\r\n }\r\n });\r\n\r\n mock.onPost(\"api/Regions/find\").reply(async (config) => {\r\n const mockUtils = new MockUtils();\r\n const { queryParams } = JSON.parse(config.data);\r\n const params = `?isActive=${queryParams?.filter?.IsActive ?? \"\"}&TypeId=${\r\n queryParams?.filter?.TypeId\r\n }&pageNumber=${queryParams.pageNumber}&pageSize=${\r\n queryParams.pageSize\r\n }&search=&sortField=${queryParams.sortField}&sortOrder=${\r\n queryParams.sortOrder\r\n }&search=${queryParams?.filter?.searchText}`;\r\n let dataObj = await GetMovableUnitss(params);\r\n customerTableMock = ChangeId(dataObj?.Matrices);\r\n delete queryParams.filter.ReLoadTable;\r\n delete queryParams.filter.searchText;\r\n delete queryParams.filter.IsActive;\r\n delete queryParams.filter.TypeId;\r\n queryParams.TotalItems = dataObj.Pagination.TotalItemCount;\r\n const filterdCustomers = mockUtils.baseFilter(\r\n customerTableMock,\r\n queryParams\r\n );\r\n return [200, filterdCustomers];\r\n });\r\n\r\n mock.onPost(\"api/Regions/deleteCustomers\").reply((config) => {\r\n const { ids } = JSON.parse(config.data);\r\n ids.forEach((id) => {\r\n const index = customerTableMock.findIndex((el) => el.id === id);\r\n if (index > -1) {\r\n customerTableMock.splice(index, 1);\r\n }\r\n });\r\n return [200];\r\n });\r\n\r\n mock.onPost(\"api/Regions/updateStatusForCustomers\").reply((config) => {\r\n const { ids, status } = JSON.parse(config.data);\r\n customerTableMock.forEach((el) => {\r\n if (ids.findIndex((id) => id === el.id) > -1) {\r\n el.status = status;\r\n }\r\n });\r\n return [200];\r\n });\r\n mock.onGet(/api\\/Regions\\/\\d+/).reply(async (config) => {\r\n const id = config.url.match(/api\\/Regions\\/(\\d+)/)[1];\r\n var resultById = await GetMovableUnitsById(id);\r\n if (!resultById) {\r\n return [400];\r\n }\r\n return [200, resultById];\r\n });\r\n\r\n mock.onPut(/api\\/Regions\\/\\d+/).reply(async (config) => {\r\n const id = config.url.match(/api\\/Regions\\/(\\d+)/)[1];\r\n const { customer } = JSON.parse(config.data);\r\n var putObj = await PutMovableUnit(customer, id);\r\n if (putObj.Message) {\r\n Notification(\"error\", putObj.Message);\r\n return false;\r\n }\r\n const index = customerTableMock.findIndex((el) => el.id === +id);\r\n if (index === -1) {\r\n return [400];\r\n }\r\n customerTableMock[index] = { ...customer };\r\n return [200];\r\n });\r\n\r\n mock.onDelete(/api\\/Regions\\/\\d+/).reply(async (config) => {\r\n const id = config.url.match(/api\\/Regions\\/(\\d+)/)[1];\r\n const index = customerTableMock.findIndex((el) => el.id === +id);\r\n var deleteObj = await DeleteMovableUnit(id);\r\n if (!deleteObj) {\r\n return [400];\r\n }\r\n customerTableMock.splice(index, 1);\r\n return [200];\r\n });\r\n}\r\n\r\nfunction generateUserId() {\r\n const ids = customerTableMock.map((el) => el.id);\r\n const maxId = Math.max(...ids);\r\n return maxId + 1;\r\n}\r\n\r\nfunction ChangeId(list) {\r\n for (var item in list) {\r\n list[item].id = list[item].Id;\r\n delete list[item].Id;\r\n }\r\n return list;\r\n}\r\n","import { persistReducer } from \"redux-persist\";\r\nimport storage from \"redux-persist/lib/storage\";\r\nimport { put, takeLatest } from \"redux-saga/effects\";\r\nimport { getUserByToken } from \"./authCrud\";\r\n\r\nexport const actionTypes = {\r\n Login: \"[Login] Action\",\r\n Logout: \"[Logout] Action\",\r\n Register: \"[Register] Action\",\r\n UserRequested: \"[Request User] Action\",\r\n UserLoaded: \"[Load User] Auth API\"\r\n};\r\n\r\nconst initialAuthState = {\r\n user: undefined,\r\n authToken: undefined\r\n};\r\n\r\nexport const reducer = persistReducer(\r\n { storage, key: \"demo1-auth\", whitelist: [\"user\", \"authToken\"] },\r\n (state = initialAuthState, action) => {\r\n switch (action.type) {\r\n case actionTypes.Login: {\r\n const { authToken } = action.payload;\r\n\r\n return { authToken, user: undefined };\r\n }\r\n\r\n case actionTypes.Register: {\r\n const { authToken } = action.payload;\r\n\r\n return { authToken, user: undefined };\r\n }\r\n\r\n case actionTypes.Logout: {\r\n // TODO: Change this code. Actions in reducer aren't allowed.\r\n return initialAuthState;\r\n }\r\n\r\n case actionTypes.UserLoaded: {\r\n const { user } = action.payload;\r\n return { ...state, user };\r\n }\r\n\r\n default:\r\n return state;\r\n }\r\n }\r\n);\r\n\r\nexport const actions = {\r\n login: authToken => ({ type: actionTypes.Login, payload: { authToken } }),\r\n register: authToken => ({\r\n type: actionTypes.Register,\r\n payload: { authToken }\r\n }),\r\n logout: () => ({ type: actionTypes.Logout }),\r\n requestUser: user => ({ type: actionTypes.UserRequested, payload: { user } }),\r\n fulfillUser: user => ({ type: actionTypes.UserLoaded, payload: { user } })\r\n};\r\n\r\nexport function* saga() {\r\n yield takeLatest(actionTypes.Login, function* loginSaga() {\r\n yield put(actions.requestUser());\r\n });\r\n\r\n yield takeLatest(actionTypes.Register, function* registerSaga() {\r\n yield put(actions.requestUser());\r\n });\r\n\r\n yield takeLatest(actionTypes.UserRequested, function* userRequested() {\r\n const { data: user } = yield getUserByToken();\r\n\r\n yield put(actions.fulfillUser(user));\r\n });\r\n}\r\n","import axios from \"axios\";\r\n\r\nexport const LOGIN_URL = \"api/auth/login\";\r\nexport const REGISTER_URL = \"api/auth/register\";\r\nexport const REQUEST_PASSWORD_URL = \"api/auth/forgot-password\";\r\n\r\nexport const ME_URL = \"api/me\";\r\n\r\nexport function login(email, password) {\r\n return axios.post(LOGIN_URL, { email, password });\r\n}\r\n\r\nexport function register(email, fullname, username, password) {\r\n return axios.post(REGISTER_URL, { email, fullname, username, password });\r\n}\r\n\r\nexport function requestPassword(email) {\r\n return axios.post(REQUEST_PASSWORD_URL, { email });\r\n}\r\n\r\nexport function getUserByToken() {\r\n // Authorization head should be fulfilled in interceptor.\r\n return axios.get(ME_URL);\r\n}\r\n","import { all } from \"redux-saga/effects\";\r\nimport { combineReducers } from \"redux\";\r\n\r\nimport * as auth from \"../app/modules/Auth/_redux/authRedux\";\r\nimport { customersSlice } from \"../app/modules/eMPower/_redux/customers/customersSlice\";\r\nimport { productsSlice } from \"../app/modules/eMPower/_redux/products/productsSlice\";\r\nimport { remarksSlice } from \"../app/modules/eMPower/_redux/remarks/remarksSlice\";\r\nimport { specificationsSlice } from \"../app/modules/eMPower/_redux/specifications/specificationsSlice\";\r\nimport { ReceivingsSlice } from \"../app/modules/eMPower/_redux/Transload/TransloadReceiving/remarksSlice\";\r\nimport { ContactInformation } from \"../app/modules/eMPower/_redux/ContactInformation/remarksSlice\";\r\nimport { CarrierAttachment } from \"../app/modules/eMPower/_redux/Attachments/remarksSlice\";\r\nimport { InsuranceInformation } from \"../app/modules/eMPower/_redux/InsuranceInformation/remarksSlice\";\r\nimport { ReceiptsManagmentSlice } from \"../app/modules/eMPower/_redux/ReceiptsManagementNewVersion/customersSlice\";\r\nimport { PalletsManagmentSlice } from \"../app/modules/eMPower/_redux/PalletsManagment/customersSlice\";\r\n\r\nexport const rootReducer = combineReducers({\r\n auth: auth.reducer,\r\n customers: customersSlice.reducer,\r\n products: productsSlice.reducer,\r\n remarks: remarksSlice.reducer,\r\n specifications: specificationsSlice.reducer,\r\n Receiving: ReceivingsSlice.reducer,\r\n ContactInformation: ContactInformation.reducer,\r\n CarrierAttachment: CarrierAttachment.reducer,\r\n InsuranceInformation: InsuranceInformation.reducer,\r\n ReceiptsManagment: ReceiptsManagmentSlice.reducer,\r\n PalletsManagment: PalletsManagmentSlice.reducer,\r\n});\r\n\r\nexport function* rootSaga() {\r\n yield all([auth.saga()]);\r\n}\r\n","import {configureStore, getDefaultMiddleware} from \"@reduxjs/toolkit\";\r\nimport createSagaMiddleware from \"redux-saga\";\r\nimport {reduxBatch} from \"@manaflair/redux-batch\";\r\nimport {persistStore} from \"redux-persist\";\r\nimport {rootReducer, rootSaga} from \"./rootReducer\";\r\n\r\nconst sagaMiddleware = createSagaMiddleware();\r\nconst middleware = [\r\n ...getDefaultMiddleware({\r\n immutableCheck: false,\r\n serializableCheck: false,\r\n thunk: true\r\n }),\r\n sagaMiddleware\r\n];\r\n\r\nconst store = configureStore({\r\n reducer: rootReducer,\r\n middleware,\r\n devTools: process.env.NODE_ENV !== \"production\",\r\n enhancers: [reduxBatch]\r\n});\r\n\r\n/**\r\n * @see https://github.com/rt2zz/redux-persist#persiststorestore-config-callback\r\n * @see https://github.com/rt2zz/redux-persist#persistor-object\r\n */\r\nexport const persistor = persistStore(store);\r\n\r\nsagaMiddleware.run(rootSaga);\r\n\r\nexport default store;\r\n","import React, { useState, useEffect } from \"react\";\r\nimport LinearProgress from \"@material-ui/core/LinearProgress\";\r\nimport { ShippedOrdersComp } from \"../widgets\";\r\nimport low from \"lowdb\";\r\nimport LocalStorage from \"lowdb/adapters/LocalStorage\";\r\nimport $ from \"jquery\";\r\nimport moment from \"moment\";\r\nconst adapter = new LocalStorage(\"db\");\r\nconst db = low(adapter);\r\n\r\nexport function DashboardScentsy() {\r\n const isoWeek = moment(new Date()).isoWeek() + \"\";\r\n const [Customers, setCustomers] = useState([]);\r\n const [Weeks, setWeeks] = useState([]);\r\n const [CustomerId, setCustomerId] = useState(\"90\");\r\n const [WeekId, setWeekId] = useState(isoWeek);\r\n const [NotShippedOrdersCount, setNotShippedOrdersCount] = useState(0);\r\n const [ShippedOrdersCount, setShippedOrdersCount] = useState(0);\r\n const [NotShippedOrders, setNotShippedOrders] = useState([]);\r\n const [ShippedOrders, setShippedOrders] = useState([]);\r\n const [Loading, setLoading] = useState(true);\r\n\r\n useEffect(() => {\r\n getviewmodel();\r\n getData();\r\n }, []);\r\n\r\n useEffect(() => {\r\n setLoading(true);\r\n getData();\r\n }, [CustomerId, WeekId]);\r\n\r\n return (\r\n <>\r\n
    \r\n
    \r\n {\r\n setCustomerId(event.target.value);\r\n }}\r\n defaultValue=\"90\"\r\n >\r\n \r\n {Customers.map((item, index) => (\r\n \r\n ))}\r\n \r\n \r\n Filter by Customer\r\n \r\n {/* {Customers.length === 0 && } */}\r\n
    \r\n\r\n
    \r\n {\r\n setWeekId(event.target.value);\r\n }}\r\n >\r\n \r\n {Weeks.map((item, index) => (\r\n \r\n ))}\r\n \r\n \r\n Filter by Week\r\n \r\n {/* {Weeks.length === 0 && } */}\r\n
    \r\n\r\n
    \r\n {Loading && }\r\n \r\n
    \r\n
    \r\n \r\n );\r\n\r\n async function getviewmodel() {\r\n return await fetch(`${window.$apiurl}/reporting/dashboard/getviewmodel`, {\r\n method: \"get\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n var a = res[1];\r\n setCustomers(a?.Customers || []);\r\n setWeeks(a?.Weeks || []);\r\n $(\"#CustomersID\").val(\"90\");\r\n $(\"#WeeksID\").val(isoWeek);\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n\r\n async function getData() {\r\n return await fetch(\r\n `${window.$apiurl}/reporting/dashboard/scentsy?weekNumber=${WeekId}&customerId=${CustomerId}`,\r\n {\r\n method: \"get\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n }\r\n )\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n var a = res[1];\r\n /* setNotShippedOrdersCount(a?.NotShippedOrdersCount || 0);\r\n setShippedOrdersCount(a?.ShippedOrdersCount || 0); */\r\n setNotShippedOrdersCount(a?.NotShippedContainersCount || 0);\r\n setShippedOrdersCount(a?.ShippedContainersCount || 0);\r\n\r\n setNotShippedOrders(a?.NotShippedOrders?.Orders || []);\r\n setShippedOrders(a?.ShippedOrders?.Orders || []);\r\n setTimeout(() => {\r\n setLoading(false);\r\n }, 500);\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n}\r\n","import React from 'react'\r\nimport { ManageContactsPage } from \"../../../app/modules/eMPower/pages/Transload/ManageContacts/CustomersPage\";\r\n\r\nexport function ManageContacts() {\r\n return (\r\n \r\n )\r\n}\r\n","import React from 'react'\r\nimport { ManageAddressPage } from \"../../../app/modules/eMPower/pages/Transload/ManageAddress/CustomersPage\";\r\n\r\nexport function ManageAdresses() {\r\n return (\r\n \r\n )\r\n}\r\n","/* eslint-disable no-script-url,jsx-a11y/anchor-is-valid */\r\nimport ApexCharts from \"apexcharts\";\r\nimport moment from \"moment\";\r\nimport React, { useEffect } from \"react\";\r\nconst colors = [\r\n \"#187DE4\",\r\n \"#1BC5BD\",\r\n \"#FFA800\",\r\n \"#EEE5FF\",\r\n \"#4ca1afad\",\r\n \"#d0d8e0\",\r\n \"#7e8299\",\r\n \"#F64E60\",\r\n \"#F64E60\",\r\n];\r\nexport function DollarTab({ BalanceList, className, loadingData }) {\r\n useEffect(() => {\r\n if (BalanceList.length === 0) {\r\n return;\r\n }\r\n const element = document.getElementById(\"kt_performance_widget_7_chart\");\r\n\r\n if (!element) {\r\n return;\r\n }\r\n\r\n const options = getChartOption(BalanceList);\r\n const chart = new ApexCharts(element, options);\r\n chart.render();\r\n return function cleanUp() {\r\n chart.destroy();\r\n };\r\n }, [BalanceList, loadingData]);\r\n\r\n return (\r\n
    \r\n
    \r\n

    $

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {loadingData === true ? (\r\n

    Loading ...

    \r\n ) : BalanceList.length === 0 ? (\r\n

    There is no data at the moment

    \r\n ) : (\r\n
    \r\n )}\r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n}\r\n\r\nfunction getChartOption(BalanceList) {\r\n const options = {\r\n series: [\r\n {\r\n name: \"Intermodal\",\r\n data:\r\n BalanceList?.map((a) => (a.Intermodal === null ? 0 : a.Intermodal)) ||\r\n [],\r\n },\r\n {\r\n name: \"Ltl\",\r\n data: BalanceList?.map((a) => (a.Ltl === null ? 0 : a.Ltl)) || [],\r\n },\r\n {\r\n name: \"OTR\",\r\n data: BalanceList?.map((a) => (a.OTR === null ? 0 : a.OTR)) || [],\r\n },\r\n ],\r\n colors: colors,\r\n chart: {\r\n height: 350,\r\n type: \"area\",\r\n },\r\n legend: {\r\n show: true,\r\n },\r\n\r\n dataLabels: {\r\n enabled: false,\r\n },\r\n stroke: {\r\n curve: \"smooth\",\r\n },\r\n xaxis: {\r\n type: \"datetime\",\r\n categories:\r\n BalanceList.map((a) =>\r\n moment(\r\n (a.Month.length === 1 ? \"0\" + a.Month : a.Month) + \"-01-\" + a.Year\r\n ).format(\"MM-DD-YYYY\")\r\n ) || [],\r\n },\r\n tooltip: {\r\n x: {\r\n format: \"dd/MM/yy\",\r\n },\r\n },\r\n yaxis: {\r\n labels: {\r\n formatter: function(value) {\r\n return value + \"$\";\r\n },\r\n },\r\n },\r\n };\r\n return options;\r\n}\r\n","import React, { useEffect, useState } from \"react\";\r\nimport BootstrapTable from \"react-bootstrap-table-next\";\r\nimport {\r\n Col,\r\n OverlayTrigger,\r\n ProgressBar,\r\n Row,\r\n Tooltip,\r\n} from \"react-bootstrap\";\r\nimport { ModelManagmentFirst } from \"../../../app/modules/eMPower/pages/NewShipmentsBeta/customers-table/ModelShipmentManagment\";\r\nimport SVG from \"react-inlinesvg\";\r\n\r\nimport {\r\n NoRecordsFoundMessage,\r\n PleaseWaitMessage,\r\n sortCaret,\r\n toAbsoluteUrl,\r\n} from \"../../_helpers\";\r\nimport moment from \"moment\";\r\nimport low from \"lowdb\";\r\nimport LocalStorage from \"lowdb/adapters/LocalStorage\";\r\nimport paginationFactory, {\r\n PaginationProvider,\r\n} from \"react-bootstrap-table2-paginator\";\r\nimport { Pagination } from \"../controls\";\r\nvar Spinner2 = require(\"react-spinkit\");\r\nconst adapter = new LocalStorage(\"db\");\r\nconst db = low(adapter);\r\nconst ProductStatusCssClasses = [\"success\", \"info\", \"success\"];\r\nvar getDate = function(d) {\r\n if (d === null || d === \"\" || d === undefined) return \"\";\r\n var format = \"MM/DD/YYYY hh:mm A\";\r\n if (\r\n moment(d)\r\n .startOf(\"day\")\r\n .valueOf() === moment(d).valueOf()\r\n ) {\r\n format = \"MM/DD/YYYY\";\r\n }\r\n return (\r\n \r\n {moment(d).format(format)}\r\n \r\n );\r\n};\r\nexport default function AllShipment({ initFilter }) {\r\n const [paginationFilter, setpaginationFilter] = useState({\r\n custom: true,\r\n startDate: initFilter.startDate,\r\n endDate: initFilter.endDate,\r\n customerId: initFilter.customerId,\r\n totalSize: 0,\r\n sortField: \"Id\",\r\n sortOrder: \"desc\",\r\n sizePerPageList: [\r\n { text: \"10\", value: 10 },\r\n { text: \"25\", value: 25 },\r\n { text: \"50\", value: 50 },\r\n {\r\n text: String(0),\r\n value: 0,\r\n },\r\n ],\r\n sizePerPage: 10,\r\n page: 1,\r\n });\r\n const [LoadingDataProgress, setLoadingDataProgress] = useState(false);\r\n useEffect(() => {\r\n GetModel({\r\n custom: true,\r\n startDate: initFilter.startDate,\r\n endDate: initFilter.endDate,\r\n customerId: initFilter.customerId,\r\n totalSize: 0,\r\n sortField: \"Id\",\r\n sortOrder: \"desc\",\r\n sizePerPageList: [\r\n { text: \"10\", value: 10 },\r\n { text: \"25\", value: 25 },\r\n { text: \"50\", value: 50 },\r\n {\r\n text: String(0),\r\n value: 0,\r\n },\r\n ],\r\n sizePerPage: 10,\r\n page: 1,\r\n });\r\n }, [initFilter]);\r\n\r\n async function GetModel(props) {\r\n let customerId = props.customerId;\r\n if (customerId.length > 0) {\r\n var listcustomerId = customerId.map((a) => a.value);\r\n customerId = \"&customerId=\" + listcustomerId.join(\"&customerId=\");\r\n } else {\r\n customerId = \"\";\r\n }\r\n setLoadingDataProgress(true);\r\n await fetch(\r\n `${window.$apiurl}/dashboard/shipments?startDate=${props.startDate}&endDate=${props.endDate}${customerId}&pageNumber=${props.page}&pageSize=${props.sizePerPage}&sortField=${props.sortField}&sortOrder=${props.sortOrder}&search=`,\r\n {\r\n method: \"get\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n }\r\n )\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n const a = res[1];\r\n setentities(\r\n a.Shipments.map((a) => {\r\n return { ...a, id: a.Id };\r\n }) || []\r\n );\r\n var objfilter = { ...paginationFilter };\r\n objfilter.startDate = initFilter.startDate;\r\n objfilter.endDate = initFilter.endDate;\r\n objfilter.totalSize = a?.Pagination?.TotalItemCount || 0;\r\n objfilter.sortField = props.sortField;\r\n objfilter.customerId= props.customerId;\r\n objfilter.sortOrder = props.sortOrder;\r\n objfilter.sizePerPageList = [\r\n { text: \"10\", value: 10 },\r\n { text: \"25\", value: 25 },\r\n { text: \"50\", value: 50 },\r\n {\r\n text: String(a?.Pagination?.TotalItemCount || 0),\r\n value: a?.Pagination?.TotalItemCount || 0,\r\n },\r\n ];\r\n objfilter.sizePerPage = a?.Pagination?.PageSize;\r\n objfilter.page = a?.Pagination?.PageNumber;\r\n setpaginationFilter(objfilter);\r\n setLoadingDataProgress(false);\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n setLoadingDataProgress(false);\r\n });\r\n }\r\n\r\n const [entities, setentities] = useState([]);\r\n const columnsFirst = [\r\n {\r\n dataField: \"id\",\r\n text: \"ID\",\r\n sort: true,\r\n style: {\r\n minWidth: \"120px\",\r\n },\r\n sortCaret: sortCaret,\r\n formatter: (cell, row) => {\r\n return ;\r\n },\r\n },\r\n {\r\n dataField: \"EquipmentNumber\",\r\n text: \"Trailer Number\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n },\r\n {\r\n dataField: \"CustomerName\",\r\n text: \"Customer\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n formatter: (cell, row) => {\r\n if (\r\n row.CustomerCode !== null &&\r\n row.CustomerCode !== \"\" &&\r\n row.CustomerCode !== undefined\r\n ) {\r\n return (\r\n <>\r\n {row.CustomerCode + \" \"}\r\n \r\n {row.CustomerName}\r\n \r\n }\r\n >\r\n false}\r\n className=\"btn btn-icon btn-light btn-hover-light btn-sm\"\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n },\r\n },\r\n {\r\n dataField: \"ShipperName\",\r\n text: \"Shipper Name/City State\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n formatter: (cell, row) => {\r\n var string =\r\n (row.OriginCompanyName !== null ? row.OriginCompanyName : \"\") +\r\n \"/\" +\r\n row.FromCity +\r\n (row.FromState !== null && row.FromState !== \"\"\r\n ? \", \" + row.FromState\r\n : \"\");\r\n if (\r\n row.OriginCompanyName !== null &&\r\n row.OriginCompanyName !== \"\" &&\r\n row.OriginCompanyName !== undefined\r\n ) {\r\n return (\r\n <>\r\n {row.OriginCompanyCode + \" \"}\r\n {string}}\r\n >\r\n false}\r\n className=\"btn btn-icon btn-light btn-hover-light btn-sm\"\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n },\r\n },\r\n {\r\n dataField: \"ConsigneeName\",\r\n text: \"Consignee Name/City State\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n formatter: (cell, row) => {\r\n var string =\r\n (row.DestinationCompanyName !== null\r\n ? row.DestinationCompanyName\r\n : \"\") +\r\n \"/\" +\r\n row.ToCity +\r\n (row.ToState !== null && row.ToState !== \"\"\r\n ? \", \" + row.ToState\r\n : \"\");\r\n if (\r\n row.DestinationCompanyName !== null &&\r\n row.DestinationCompanyName !== \"\" &&\r\n row.DestinationCompanyName !== undefined\r\n ) {\r\n return (\r\n <>\r\n {row.DestinationCompanyCode + \" \"}\r\n {string}}\r\n >\r\n false}\r\n className=\"btn btn-icon btn-light btn-hover-light btn-sm\"\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n },\r\n },\r\n {\r\n dataField: \"FreightCharge\",\r\n text: \"Freight Charge\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n },\r\n {\r\n dataField: \"DeliveryEta\",\r\n text: \"Delivery ETA\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n formatter: (cell, row) => {\r\n return <>{getDate(row.DeliveryEta)};\r\n },\r\n },\r\n {\r\n dataField: \"StatusDeliveredDate\",\r\n text: \"Actual Delivered Date\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n formatter: (cell, row) => {\r\n return <>{getDate(row.StatusDeliveredDate)};\r\n },\r\n },\r\n {\r\n dataField: \"RequestedPickUpDate\",\r\n text: \"PICKUP ready DATE/Time\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n formatter: (cell, row) => {\r\n return <>{getDate(row.RequestedPickUpDate)};\r\n },\r\n },\r\n {\r\n dataField: \"PickupAppointmentDate\",\r\n text: \"PickUp by Date/Time\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n formatter: (cell, row) => {\r\n return <>{getDate(row.PickupAppointmentDate)};\r\n },\r\n }, //LastShipDate\r\n {\r\n dataField: \"LastShipDate\",\r\n text: \"Last Ship Date\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n formatter: (cell, row) => {\r\n return <>{getDate(row.LastShipDate)};\r\n },\r\n },\r\n {\r\n dataField: \"DeliveryAppointmentDate\",\r\n text: \"Delivery Appointment\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n },\r\n\r\n {\r\n dataField: \"LoadingType\",\r\n text: \"Loading Type\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n },\r\n {\r\n dataField: \"Weight\",\r\n text: \"Weight\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n formatter: (cell, row) => {\r\n return <>{row.Weight};\r\n },\r\n },\r\n {\r\n dataField: \"Commodity\",\r\n text: \"Commodity\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n },\r\n {\r\n dataField: \"CarrierName\",\r\n text: \"Carrier\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n formatter: (cell, row) => {\r\n if (\r\n row.CarrierName !== null &&\r\n row.CarrierName !== \"\" &&\r\n row.CarrierName !== undefined\r\n ) {\r\n return (\r\n <>\r\n {row.CarrierCode + \" \"}\r\n \r\n {row.CarrierName}\r\n \r\n }\r\n >\r\n false}\r\n className=\"btn btn-icon btn-light btn-hover-light btn-sm\"\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n },\r\n },\r\n {\r\n dataField: \"CarrierPhoneNumber\",\r\n text: \"Carrier Phone#\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n },\r\n {\r\n dataField: \"EquipmentType\",\r\n text: \"Equipment Type\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n },\r\n {\r\n dataField: \"Alerts\",\r\n text: \"Alerts\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n formatter: (cell, row) => {\r\n return (\r\n <>\r\n {row.FfAlert && (\r\n \r\n
    \r\n \r\n }\r\n >\r\n false}\r\n className=\"btn btn-icon btn-light btn-hover-warning btn-sm ml-1\"\r\n >\r\n \r\n \r\n \r\n \r\n \r\n )}\r\n {row.PickupAllert && (\r\n \r\n The pickup date passed and no vendor has been selected\r\n \r\n }\r\n >\r\n false}\r\n className=\"btn btn-icon btn-light btn-hover-warning btn-sm mx-3\"\r\n >\r\n \r\n \r\n \r\n \r\n \r\n )}\r\n {row.IsDispatchReportSent && (\r\n \r\n The outbound dispatch report have been sent to the carrier\r\n \r\n }\r\n >\r\n false}\r\n className=\"btn btn-icon btn-light btn-hover-light btn-sm mx-3\"\r\n >\r\n \r\n \r\n \r\n \r\n \r\n )}\r\n {row.AlertHeavy && (\r\n \r\n This Shipment is heavy\r\n \r\n }\r\n >\r\n false}\r\n className=\"btn btn-icon btn-light btn-hover-light btn-sm mx-3\"\r\n >\r\n \r\n \r\n \r\n \r\n \r\n )}\r\n {row.AlertHot && (\r\n Hot}\r\n >\r\n false}\r\n className=\"btn btn-icon btn-light btn-hover-light btn-sm mx-3\"\r\n >\r\n \r\n \r\n \r\n \r\n \r\n )}\r\n {row.AlertDate && (\r\n \r\n Shipment has Pickup or Delivery Appointment Date\r\n \r\n }\r\n >\r\n false}\r\n className=\"btn btn-icon btn-light btn-hover-primary btn-sm mx-3\"\r\n >\r\n \r\n \r\n \r\n \r\n \r\n )}\r\n {row.AlertHazardousMaterial && (\r\n \r\n Shipment contain Hazardous materials\r\n \r\n }\r\n >\r\n false}\r\n className=\"btn btn-icon btn-light btn-hover-danger btn-sm mx-3\"\r\n //onClick={() => openEditProductPage(row.id)}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n )}\r\n \r\n );\r\n },\r\n classes: \"text-center\",\r\n headerClasses: \"text-center\",\r\n style: {\r\n minWidth: \"100px\",\r\n },\r\n },\r\n {\r\n dataField: \"Status\",\r\n text: \"Status\",\r\n id: \"actionsShipmentsTab\",\r\n classes: \"text-center px-0\",\r\n headerClasses: \"text-center pr-3\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n formatter: (cell, row) => {\r\n return (\r\n setshow(true)}\r\n >\r\n {row.Status}\r\n \r\n );\r\n },\r\n },\r\n ];\r\n\r\n const GetHandlerTableChangeNew = (type, newState) => {\r\n if (type === \"sort\") {\r\n let values = { ...paginationFilter };\r\n values.sortField = newState.sortField;\r\n values.sortOrder = newState.sortOrder;\r\n GetModel(values);\r\n }\r\n if (type === \"pagination\") {\r\n let values = { ...paginationFilter };\r\n values.sizePerPage = newState.sizePerPage;\r\n values.page = newState.page === undefined ? 1 : newState.page;\r\n GetModel(values);\r\n }\r\n };\r\n return (\r\n
    \r\n
    \r\n

    \r\n All Shipments\r\n

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {LoadingDataProgress && (\r\n \r\n )}\r\n \r\n {({ paginationProps, paginationTableProps }) => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n \r\n ) : (\r\n \r\n There is no data available at the moment.\r\n \r\n )\r\n }\r\n data={entities === null ? [] : entities}\r\n columns={columnsFirst}\r\n defaultSorted={[{ dataField: \"Id\", order: \"desc\" }]}\r\n onTableChange={GetHandlerTableChangeNew}\r\n {...paginationTableProps}\r\n >\r\n \r\n \r\n \r\n \r\n );\r\n }}\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n}\r\n","/* eslint-disable no-script-url,jsx-a11y/anchor-is-valid */\r\nimport ApexCharts from \"apexcharts\";\r\nimport moment from \"moment\";\r\nimport React, { useEffect, useState } from \"react\";\r\nimport AllShipment from \"./AllShipment\";\r\n\r\nconst colors = [\r\n \"#187DE4\",\r\n \"#1BC5BD\",\r\n \"#FFA800\",\r\n \"#EEE5FF\",\r\n \"#4ca1afad\",\r\n \"#d0d8e0\",\r\n \"#7e8299\",\r\n \"#F64E60\",\r\n \"#F64E60\",\r\n];\r\n\r\nexport function FuelSurchargeTab({\r\n className,\r\n FuelSurchargeList,\r\n loadingDataFuelSurcharge,\r\n initFilter,\r\n}) {\r\n useEffect(() => {\r\n const element = document.getElementById(\"kt_performance_widget_8_chart\");\r\n\r\n if (!element) {\r\n return;\r\n }\r\n\r\n const options = getChartOption(FuelSurchargeList);\r\n const chart = new ApexCharts(element, options);\r\n chart.render();\r\n return function cleanUp() {\r\n chart.destroy();\r\n };\r\n }, [FuelSurchargeList, loadingDataFuelSurcharge]);\r\n FuelSurchargeList.forEach((element) => {\r\n console.log(\r\n \"moment\",\r\n moment(\r\n (element.Month.length === 1 ? \"0\" + element.Month : element.Month) +\r\n \"-01-\" +\r\n element.Year\r\n ).format(\"MM-DD-YYYY\")\r\n );\r\n });\r\n return (\r\n <>\r\n
    \r\n
    \r\n

    \r\n Fuel Surcharge\r\n

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {loadingDataFuelSurcharge === true ? (\r\n

    Loading ...

    \r\n ) : FuelSurchargeList.length === 0 ? (\r\n

    There is no data at the moment

    \r\n ) : (\r\n
    \r\n )}\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n );\r\n}\r\n\r\nfunction getChartOption(FuelSurchargeList) {\r\n const options = {\r\n series: [\r\n {\r\n name: \"Intermodal\",\r\n data:\r\n FuelSurchargeList?.map((a) =>\r\n a.Intermodal === null ? 0 : a.Intermodal\r\n ) || [],\r\n },\r\n {\r\n name: \"Ltl\",\r\n data: FuelSurchargeList?.map((a) => (a.Ltl === null ? 0 : a.Ltl)) || [],\r\n },\r\n {\r\n name: \"OTR\",\r\n data: FuelSurchargeList?.map((a) => (a.OTR === null ? 0 : a.OTR)) || [],\r\n },\r\n ],\r\n colors: colors,\r\n chart: {\r\n height: 350,\r\n type: \"area\",\r\n },\r\n legend: {\r\n show: true,\r\n },\r\n\r\n dataLabels: {\r\n enabled: false,\r\n },\r\n stroke: {\r\n curve: \"smooth\",\r\n },\r\n xaxis: {\r\n type: \"datetime\",\r\n categories:\r\n FuelSurchargeList.map((a) =>\r\n moment(\r\n (a.Month.length === 1 ? \"0\" + a.Month : a.Month) + \"-01-\" + a.Year\r\n ).format(\"MM-DD-YYYY\")\r\n ) || [],\r\n },\r\n tooltip: {\r\n x: {\r\n format: \"dd/MM/yy\",\r\n },\r\n },\r\n yaxis: {\r\n labels: {\r\n formatter: function(value) {\r\n return value + \"$\";\r\n },\r\n },\r\n },\r\n };\r\n return options;\r\n}\r\n","/* eslint-disable no-script-url,jsx-a11y/anchor-is-valid */\r\nimport ApexCharts from \"apexcharts\";\r\nimport moment from \"moment\";\r\nimport React, { useEffect } from \"react\";\r\nconst colors = [\"#187DE4\", \"#1BC5BD\", \"#FFA800\"];\r\nexport function VolumeTrendsTab({ className, VolumeList, loadingDataVolume }) {\r\n useEffect(() => {\r\n const element = document.getElementById(\"kt_performance_widget_9_chart\");\r\n\r\n if (!element) {\r\n return;\r\n }\r\n\r\n const options = getChartOption(VolumeList);\r\n const chart = new ApexCharts(element, options);\r\n chart.render();\r\n return function cleanUp() {\r\n chart.destroy();\r\n };\r\n }, [VolumeList, loadingDataVolume]);\r\n\r\n return (\r\n
    \r\n
    \r\n

    \r\n Volume Trends\r\n

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {loadingDataVolume === true ? (\r\n

    Loading ...

    \r\n ) : VolumeList.length === 0 ? (\r\n

    There is no data at the moment

    \r\n ) : (\r\n
    \r\n )}\r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n}\r\n\r\nfunction getChartOption(VolumeList) {\r\n const options = {\r\n series: [\r\n {\r\n name: \"Intermodal\",\r\n data:\r\n VolumeList?.map((a) => (a.Intermodal === null ? 0 : a.Intermodal)) ||\r\n [],\r\n },\r\n {\r\n name: \"Ltl\",\r\n data: VolumeList?.map((a) => (a.Ltl === null ? 0 : a.Ltl)) || [],\r\n },\r\n {\r\n name: \"OTR\",\r\n data: VolumeList?.map((a) => (a.OTR === null ? 0 : a.OTR)) || [],\r\n },\r\n ],\r\n colors: colors,\r\n chart: {\r\n height: 350,\r\n type: \"bar\",\r\n },\r\n legend: {\r\n show: true,\r\n },\r\n dataLabels: {\r\n enabled: false,\r\n },\r\n stroke: {\r\n curve: \"smooth\",\r\n },\r\n xaxis: {\r\n type: \"datetime\",\r\n categories:\r\n VolumeList.map((a) =>\r\n moment(\r\n (a.Month.length === 1 ? \"0\" + a.Month : a.Month) + \"-01-\" + a.Year\r\n ).format(\"MM-DD-YYYY\")\r\n ) || [],\r\n },\r\n tooltip: {\r\n x: {\r\n format: \"dd/MM/yy\",\r\n },\r\n },\r\n plotOptions: {\r\n bar: {\r\n borderRadius: 5,\r\n columnWidth: \"35%\",\r\n dataLabels: {\r\n position: \"top\", // top, center, bottom\r\n },\r\n },\r\n },\r\n };\r\n return options;\r\n}\r\n","/* eslint-disable no-script-url,jsx-a11y/anchor-is-valid */\r\nimport ApexCharts from \"apexcharts\";\r\nimport React, { useEffect } from \"react\";\r\nimport { Fragment } from \"react\";\r\nconst colors = [\r\n \"#187DE4\",\r\n \"#1BC5BD\",\r\n \"#FFA800\",\r\n \"#EEE5FF\",\r\n \"#4ca1afad\",\r\n \"#d0d8e0\",\r\n \"#7e8299\",\r\n \"#F64E60\",\r\n \"#F64E60\",\r\n];\r\nexport function Pickedup({\r\n className,\r\n PerformanceList,\r\n loadingDataPerformance,\r\n}) {\r\n useEffect(() => {\r\n const element = document.getElementById(\"kt_performance_widget_10_chart\");\r\n\r\n if (!element) {\r\n return;\r\n }\r\n\r\n const options = getChartOption(PerformanceList);\r\n const chart = new ApexCharts(element, options);\r\n chart.render();\r\n return function cleanUp() {\r\n chart.destroy();\r\n };\r\n }, [PerformanceList, loadingDataPerformance]);\r\n\r\n return (\r\n
    \r\n
    \r\n

    \r\n Performance Picked Up\r\n

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {loadingDataPerformance === true ? (\r\n

    Loading ...

    \r\n ) : PerformanceList.length === 0 ? (\r\n

    There is no data at the moment

    \r\n ) : (\r\n
    \r\n )}\r\n
    \r\n\r\n
    \r\n {PerformanceList?.map((item, index) => (\r\n \r\n
    \r\n \r\n Mode: ({item.ModeNam===null ?\"Other\":item.ModeNam})\r\n \r\n
    \r\n
    \r\n

    Loads

    \r\n

    \r\n {item.PickedUp}\r\n

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

    On Time

    \r\n

    \r\n {item.PickedUpOnTimeCount}\r\n

    \r\n
    \r\n
    \r\n
    \r\n ))}\r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n}\r\n\r\nfunction getChartOption(PerformanceList) {\r\n const options = {\r\n series: PerformanceList?.map((item, index) =>\r\n ((item.PickedUpOnTimeCount / item.PickedUp) * 100 || 0).toFixed(2)\r\n ),\r\n colors: colors,\r\n legend: {\r\n show: true,\r\n },\r\n chart: {\r\n type: \"radialBar\",\r\n },\r\n plotOptions: {\r\n radialBar: {\r\n startAngle: -90,\r\n endAngle: 90,\r\n track: {\r\n background: \"#E1F1FB\",\r\n strokeWidth: \"97%\",\r\n margin: 5, // margin is in pixels\r\n },\r\n },\r\n },\r\n grid: {\r\n padding: {\r\n top: -20,\r\n },\r\n },\r\n labels: PerformanceList?.map((item, index) =>\r\n item.ModeNam === null ? \"Other\" : item.ModeNam\r\n ),\r\n };\r\n return options;\r\n}\r\n","/* eslint-disable no-script-url,jsx-a11y/anchor-is-valid */\r\nimport ApexCharts from \"apexcharts\";\r\nimport React, { useEffect } from \"react\";\r\nimport { Fragment } from \"react\";\r\nconst colors = [\r\n \"#187DE4\",\r\n \"#1BC5BD\",\r\n \"#FFA800\",\r\n \"#EEE5FF\",\r\n \"#4ca1afad\",\r\n \"#d0d8e0\",\r\n \"#7e8299\",\r\n \"#F64E60\",\r\n \"#F64E60\",\r\n];\r\n\r\nexport function Delivered({\r\n className,\r\n PerformanceList,\r\n loadingDataPerformance,\r\n}) {\r\n useEffect(() => {\r\n const element = document.getElementById(\"kt_performance_widget_11_chart\");\r\n\r\n if (!element) {\r\n return;\r\n }\r\n\r\n const options = getChartOption(PerformanceList);\r\n const chart = new ApexCharts(element, options);\r\n chart.render();\r\n return function cleanUp() {\r\n chart.destroy();\r\n };\r\n }, [PerformanceList, loadingDataPerformance]);\r\n\r\n return (\r\n
    \r\n
    \r\n

    \r\n Performance Delivered\r\n

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {loadingDataPerformance === true ? (\r\n

    Loading ...

    \r\n ) : PerformanceList.length === 0 ? (\r\n

    There is no data at the moment

    \r\n ) : (\r\n
    \r\n )}\r\n
    \r\n
    \r\n {PerformanceList?.map((item, index) => (\r\n \r\n
    \r\n \r\n Mode: ({item.ModeNam === null ? \"Other\" : item.ModeNam})\r\n \r\n
    \r\n
    \r\n

    Loads

    \r\n

    \r\n {item.Delivered}\r\n

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

    On Time

    \r\n

    \r\n {item.DeliveredOnTimeCount}\r\n

    \r\n
    \r\n
    \r\n
    \r\n ))}\r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n}\r\n\r\nfunction getChartOption(PerformanceList) {\r\n const options = {\r\n series: PerformanceList?.map((item, index) =>\r\n ((item.DeliveredOnTimeCount / item.Delivered) * 100 || 0).toFixed(2)\r\n ),\r\n colors: colors,\r\n chart: {\r\n type: \"radialBar\",\r\n },\r\n legend: {\r\n show: true,\r\n },\r\n plotOptions: {\r\n radialBar: {\r\n track: {\r\n background: \"#EFFFF6\",\r\n strokeWidth: \"97%\",\r\n margin: 5, // margin is in pixels\r\n },\r\n },\r\n },\r\n grid: {\r\n padding: {\r\n top: -2,\r\n },\r\n },\r\n labels: PerformanceList?.map((item, index) =>\r\n item.ModeNam === null ? \"Other\" : item.ModeNam\r\n ),\r\n };\r\n return options;\r\n}\r\n","/* eslint-disable no-script-url,jsx-a11y/anchor-is-valid */\r\nimport ApexCharts from \"apexcharts\";\r\nimport objectPath from \"object-path\";\r\nimport React, { useEffect, useMemo, useState } from \"react\";\r\nimport Chart2 from \"../../../../app/modules/eMPower/pages/PerformanceGraph/ChartZoomBar\";\r\nimport { useHtmlClassService } from \"../../../layout\";\r\nconst localStorageActiveTabKey = \"builderActiveTab\";\r\n\r\nexport function AR({ className }) {\r\n const activeTab = localStorage.getItem(localStorageActiveTabKey);\r\n const [key, setKey] = useState(activeTab ? +activeTab : 0);\r\n const saveCurrentTab = (_tab) => {\r\n localStorage.setItem(localStorageActiveTabKey, _tab);\r\n }\r\n const uiService = useHtmlClassService();\r\n const layoutProps = useMemo(() => {\r\n return {\r\n colorsGrayGray500: objectPath.get(\r\n uiService.config,\r\n \"js.colors.gray.gray500\"\r\n ),\r\n colorsGrayGray200: objectPath.get(\r\n uiService.config,\r\n \"js.colors.gray.gray200\"\r\n ),\r\n colorsGrayGray300: objectPath.get(\r\n uiService.config,\r\n \"js.colors.gray.gray300\"\r\n ),\r\n colorsThemeBaseSuccess: objectPath.get(\r\n uiService.config,\r\n \"js.colors.theme.base.success\"\r\n ),\r\n colorsThemeLightSuccess: objectPath.get(\r\n uiService.config,\r\n \"js.colors.theme.light.success\"\r\n ),\r\n fontFamily: objectPath.get(uiService.config, \"js.fontFamily\"),\r\n };\r\n }, [uiService]);\r\n\r\n useEffect(() => {\r\n const element = document.getElementById(\"kt_performance_widget_13_chart\");\r\n if (!element) {\r\n return;\r\n }\r\n const options = getChartOption(layoutProps);\r\n const chart = new ApexCharts(element, options);\r\n chart.render();\r\n return function cleanUp() {\r\n chart.destroy();\r\n };\r\n }, [layoutProps]);\r\n\r\n useEffect(() => {\r\n const element1 = document.getElementById(\"kt_performance_widget_14_chart\");\r\n\r\n if (!element1) {\r\n return;\r\n }\r\n const options = getChartOption(layoutProps);\r\n const chart = new ApexCharts(element1, options);\r\n chart.render();\r\n return function cleanUp() {\r\n chart.destroy();\r\n };\r\n }, [layoutProps]);\r\n useEffect(() => {\r\n const element2 = document.getElementById(\"kt_performance_widget_15_chart\");\r\n\r\n\r\n if (!element2) {\r\n return;\r\n }\r\n const options = getChartOption(layoutProps);\r\n const chart = new ApexCharts(element2, options);\r\n chart.render();\r\n return function cleanUp() {\r\n chart.destroy();\r\n };\r\n }, [layoutProps]);\r\n useEffect(() => {\r\n const element3 = document.getElementById(\"kt_performance_widget_16_chart\");\r\n\r\n if (!element3) {\r\n return;\r\n }\r\n const options = getChartOption(layoutProps);\r\n const chart = new ApexCharts(element3, options);\r\n chart.render();\r\n return function cleanUp() {\r\n chart.destroy();\r\n };\r\n }, [layoutProps]);\r\n return (\r\n
    \r\n
    \r\n

    \r\n A/R \r\n

    \r\n
    \r\n \r\n
  • \r\n false()}\r\n className={`nav-link font-size-h5 ${key === 0 ? \"active font-weight-bolder\" : \"\"}`}\r\n data-toggle=\"tab\"\r\n onClick={() => {\r\n setKey(0);\r\n saveCurrentTab(0);\r\n }}\r\n >\r\n Current\r\n \r\n
  • \r\n
  • \r\n false()}\r\n className={`nav-link font-size-h5 ${key === 1 ? \"active font-weight-bolder\" : \"\"}`}\r\n data-toggle=\"tab\"\r\n onClick={() => {\r\n setKey(1);\r\n saveCurrentTab(1);\r\n }}\r\n >\r\n 30\r\n \r\n
  • \r\n
  • \r\n false()}\r\n className={`nav-link font-size-h5 ${key === 2 ? \"active font-weight-bolder\" : \"\"}`}\r\n data-toggle=\"tab\"\r\n onClick={() => {\r\n setKey(2);\r\n saveCurrentTab(2);\r\n }}\r\n >\r\n 60\r\n \r\n
  • \r\n
  • \r\n false()}\r\n className={`nav-link font-size-h5 ${key === 3 ? \"active font-weight-bolder\" : \"\"}`}\r\n data-toggle=\"tab\"\r\n onClick={() => {\r\n setKey(3);\r\n saveCurrentTab(3);\r\n }}\r\n >\r\n +\r\n \r\n
  • \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    Total AR
    \r\n

    $63,240.00

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    Available balance
    \r\n

    $8,500.00

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    Approved Lane
    \r\n

    2,600

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    Total AR
    \r\n

    $63,240.00

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    Aiablable balance
    \r\n

    $8,500.00

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    Approved Line
    \r\n

    2,600

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    Total AR
    \r\n

    $63,240.00

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    Aiablable balance
    \r\n

    $8,500.00

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    Approved Line
    \r\n

    2,600

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    Total AR
    \r\n

    $63,240.00

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    Aiablable balance
    \r\n

    $8,500.00

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    Approved Line
    \r\n

    2,600

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n}\r\n\r\nfunction getChartOption(layoutProps) {\r\n const options = {\r\n series: [\r\n {\r\n name: 'AR',\r\n data: [199, 290, 108, 320, 200, 150, 100, 350, 302, 87, 99, 175],\r\n },\r\n\r\n ],\r\n colors: [\"#4CB5F5\"],\r\n chart: {\r\n height: 350,\r\n type: 'bar',\r\n },\r\n legend: {\r\n show: false,\r\n },\r\n dataLabels: {\r\n enabled: false\r\n },\r\n stroke: {\r\n curve: 'smooth'\r\n },\r\n xaxis: {\r\n type: 'datetime',\r\n categories: [\"01\", \"02\", \"03\", \"04\", \"05\", \"06\", \"07\", \"08\", \"09\", \"10\", \"11\", \"12\"]\r\n },\r\n tooltip: {\r\n x: {\r\n format: 'dd/MM/yy'\r\n },\r\n },\r\n plotOptions: {\r\n bar: {\r\n borderRadius: 10,\r\n columnWidth: \"25%\",\r\n dataLabels: {\r\n position: 'top', // top, center, bottom\r\n },\r\n }\r\n },\r\n yaxis: {\r\n labels: {\r\n formatter: function (value) {\r\n return value + \"$\";\r\n }\r\n },\r\n },\r\n };\r\n return options;\r\n}\r\n","/* eslint-disable no-script-url,jsx-a11y/anchor-is-valid */\r\nimport ApexCharts from \"apexcharts\";\r\nimport objectPath from \"object-path\";\r\nimport React, { useEffect, useMemo, useState } from \"react\";\r\nimport { useHtmlClassService } from \"../../../layout\";\r\n\r\nexport function Volume({ className }) {\r\n const uiService = useHtmlClassService();\r\n const layoutProps = useMemo(() => {\r\n return {\r\n colorsGrayGray500: objectPath.get(\r\n uiService.config,\r\n \"js.colors.gray.gray500\"\r\n ),\r\n colorsGrayGray200: objectPath.get(\r\n uiService.config,\r\n \"js.colors.gray.gray200\"\r\n ),\r\n colorsGrayGray300: objectPath.get(\r\n uiService.config,\r\n \"js.colors.gray.gray300\"\r\n ),\r\n colorsThemeBaseSuccess: objectPath.get(\r\n uiService.config,\r\n \"js.colors.theme.base.success\"\r\n ),\r\n colorsThemeLightSuccess: objectPath.get(\r\n uiService.config,\r\n \"js.colors.theme.light.success\"\r\n ),\r\n fontFamily: objectPath.get(uiService.config, \"js.fontFamily\"),\r\n };\r\n }, [uiService]);\r\n\r\n useEffect(() => {\r\n const element = document.getElementById(\"kt_performance_widget_12_chart\");\r\n\r\n if (!element) {\r\n return;\r\n }\r\n\r\n const options = getChartOption(layoutProps);\r\n const chart = new ApexCharts(element, options);\r\n chart.render();\r\n return function cleanUp() {\r\n chart.destroy();\r\n };\r\n }, [layoutProps]);\r\n\r\n return (\r\n
    \r\n
    \r\n

    \r\n Volume\r\n

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    Revenue
    \r\n

    $63,240.00

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    Margin
    \r\n

    $12,600.00

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n}\r\n\r\nfunction getChartOption(layoutProps) {\r\n const options = {\r\n series: [20],\r\n colors: [\"#F1416C\"],\r\n chart: {\r\n type: 'radialBar',\r\n\r\n },\r\n plotOptions: {\r\n radialBar: {\r\n borderRadius: 10,\r\n startAngle: -90,\r\n endAngle: 90,\r\n track: {\r\n background: \"#FBC6D3\",\r\n strokeWidth: '97%',\r\n margin: 5, // margin is in pixels\r\n },\r\n }\r\n },\r\n\r\n grid: {\r\n padding: {\r\n top: -20\r\n }\r\n },\r\n labels: ['Margin'],\r\n };\r\n return options;\r\n}\r\n","import React from 'react';\r\nimport { Col, Row } from 'react-bootstrap';\r\nimport { RangeDatePicker } from 'react-google-flight-datepicker';\r\nimport 'react-google-flight-datepicker/dist/main.css';\r\nimport Select from \"react-select\";\r\nimport { AR } from './component/Ar';\r\nimport { Volume } from './component/Volume';\r\nexport function UserDashboardIndex() {\r\n\r\n return (\r\n <>\r\n
    \r\n
    \r\n
    \r\n
    \r\n

    User Dashboard

    \r\n
    \r\n
    \r\n {/*begin::Input*/}\r\n
    \r\n
    \r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n\r\n
    \r\n {/*end::Input*/}\r\n\r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n\r\n \r\n )\r\n}\r\n","import React, { useEffect, useState } from \"react\";\r\nimport { DollarTab } from \"./DollarTab\";\r\nimport { FuelSurchargeTab } from \"./FuelSurcharge\";\r\nimport { VolumeTrendsTab } from \"./VolumeTrends\";\r\nimport { RangeDatePicker } from \"react-google-flight-datepicker\";\r\nimport \"react-google-flight-datepicker/dist/main.css\";\r\nimport { Pickedup } from \"./Performance/Pickedup\";\r\nimport { Col, Row } from \"react-bootstrap\";\r\nimport { Delivered } from \"./Performance/Delivered\";\r\nimport { UserDashboardIndex } from \"../user-dashboard\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport low from \"lowdb\";\r\nimport LocalStorage from \"lowdb/adapters/LocalStorage\";\r\nimport moment from \"moment\";\r\nimport { LinearProgress } from \"@material-ui/core\";\r\nimport SelectPagination from \"../widgets/Select/SelectPagination\";\r\nconst adapter = new LocalStorage(\"db\");\r\nconst db = low(adapter);\r\n\r\nconst localStorageActiveTabKey = \"builderActiveTab\";\r\n\r\nexport function CustomerDashboardIndex() {\r\n const history = useHistory();\r\n const [loadingCustomer, setloadingCustomer] = useState(false);\r\n const [loadingLane, setloadingLane] = useState(false);\r\n const [loadingData, setloadingData] = useState(false);\r\n const [loadingDataFuelSurcharge, setloadingDataFuelSurcharge] = useState(\r\n false\r\n );\r\n const [loadingDataVolume, setloadingDataVolume] = useState(false);\r\n const [loadingDataPerformance, setloadingDataPerformance] = useState(false);\r\n const activeTab = localStorage.getItem(localStorageActiveTabKey);\r\n const [CustomerList, setCustomerList] = useState([]);\r\n const [BalanceList, setBalanceList] = useState([]);\r\n const [FuelSurchargeList, setFuelSurchargeList] = useState([]);\r\n const [PerformanceList, setPerformanceList] = useState([]);\r\n const [VolumeList, setVolumeList] = useState([]);\r\n const [LineList, setLineList] = useState([]);\r\n const [initFilter, setinitFilter] = useState({\r\n customerId: [],\r\n startDate: null,\r\n endDate: null,\r\n Lane: \"\",\r\n ShipperId: \"\",\r\n ConsigneeId: \"\",\r\n });\r\n const [key, setKey] = useState(activeTab ? +activeTab : 0);\r\n const saveCurrentTab = (_tab) => {\r\n localStorage.setItem(localStorageActiveTabKey, _tab);\r\n };\r\n useEffect(() => {\r\n GetCustomerList();\r\n GetBalances(initFilter);\r\n GetFuelSurcharge(initFilter);\r\n GetPerformance(initFilter);\r\n GetVolume(initFilter);\r\n }, []);\r\n\r\n function GetCustomerList() {\r\n setloadingCustomer(true);\r\n var myHeaders = new Headers();\r\n myHeaders.append(\"Authorization\", `bearer ${db.read().getState().Token}`);\r\n myHeaders.append(\"Content-Type\", \"application/json\");\r\n myHeaders.append(\"X-FP-API-KEY\", \"iphone\");\r\n var requestOptions = {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: myHeaders,\r\n redirect: \"follow\",\r\n };\r\n fetch(`${window.$apiurl}/customers`, requestOptions)\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n if (statusCode === 401) {\r\n history.push(\"/error/401\");\r\n }\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then(async (result) => {\r\n var objs = result[1];\r\n setCustomerList(objs || []);\r\n setloadingCustomer(false);\r\n })\r\n .catch((error) => {\r\n console.log(\"error\", error);\r\n setloadingCustomer(false);\r\n });\r\n\r\n //setLoadingPageShow(false);\r\n }\r\n function GetLaneList(props) {\r\n setloadingLane(true);\r\n let customerId = props.customerId;\r\n if (customerId.length > 0) {\r\n var listcustomerId = customerId.map((a) => a.value);\r\n customerId = \"&customerId=\" + listcustomerId.join(\"&customerId=\");\r\n } else {\r\n customerId = \"\";\r\n }\r\n\r\n var myHeaders = new Headers();\r\n myHeaders.append(\"Authorization\", `bearer ${db.read().getState().Token}`);\r\n myHeaders.append(\"Content-Type\", \"application/json\");\r\n myHeaders.append(\"X-FP-API-KEY\", \"iphone\");\r\n var requestOptions = {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: myHeaders,\r\n redirect: \"follow\",\r\n };\r\n fetch(\r\n `${window.$apiurl}/dashboard/user/lanes?startDate=${props.startDate}&endDate=${props.endDate}${customerId}`,\r\n requestOptions\r\n )\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n if (statusCode === 401) {\r\n history.push(\"/error/401\");\r\n }\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then(async (result) => {\r\n var objs = result[1];\r\n setLineList(objs || []);\r\n setloadingLane(false);\r\n })\r\n .catch((error) => {\r\n console.log(\"error\", error);\r\n setloadingLane(false);\r\n });\r\n\r\n //setLoadingPageShow(false);\r\n }\r\n\r\n function GetBalances(props) {\r\n setloadingData(true);\r\n let customerId = props.customerId;\r\n if (customerId.length > 0) {\r\n var listcustomerId = customerId.map((a) => a.value);\r\n customerId = \"&customerId=\" + listcustomerId.join(\"&customerId=\");\r\n } else {\r\n customerId = \"\";\r\n }\r\n\r\n var myHeaders = new Headers();\r\n myHeaders.append(\"Authorization\", `bearer ${db.read().getState().Token}`);\r\n myHeaders.append(\"Content-Type\", \"application/json\");\r\n myHeaders.append(\"X-FP-API-KEY\", \"iphone\");\r\n var requestOptions = {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: myHeaders,\r\n redirect: \"follow\",\r\n };\r\n fetch(\r\n `${window.$apiurl}/dashboard/customer/balances?modeId=${customerId}&startDate=${props.startDate}&endDate=${props.endDate}&shipperId=${props.ShipperId}&consigneeId=${props.ConsigneeId}`,\r\n requestOptions\r\n )\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n if (statusCode === 401) {\r\n history.push(\"/error/401\");\r\n }\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then(async (result) => {\r\n var objs = result[1];\r\n setBalanceList(objs || []);\r\n setloadingData(false);\r\n })\r\n .catch((error) => {\r\n console.log(\"error\", error);\r\n setloadingData(false);\r\n });\r\n\r\n //setLoadingPageShow(false);\r\n }\r\n function GetFuelSurcharge(props) {\r\n setloadingDataFuelSurcharge(true);\r\n let customerId = props.customerId;\r\n if (customerId.length > 0) {\r\n var listcustomerId = customerId.map((a) => a.value);\r\n customerId = \"&customerId=\" + listcustomerId.join(\"&customerId=\");\r\n } else {\r\n customerId = \"\";\r\n }\r\n\r\n var myHeaders = new Headers();\r\n myHeaders.append(\"Authorization\", `bearer ${db.read().getState().Token}`);\r\n myHeaders.append(\"Content-Type\", \"application/json\");\r\n myHeaders.append(\"X-FP-API-KEY\", \"iphone\");\r\n var requestOptions = {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: myHeaders,\r\n redirect: \"follow\",\r\n };\r\n fetch(\r\n `${window.$apiurl}/dashboard/customer/fuelSurcharge?modeId=${customerId}&startDate=${props.startDate}&endDate=${props.endDate}&shipperId=${props.ShipperId}&consigneeId=${props.ConsigneeId}`,\r\n requestOptions\r\n )\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n if (statusCode === 401) {\r\n history.push(\"/error/401\");\r\n }\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then(async (result) => {\r\n var objs = result[1];\r\n setFuelSurchargeList(objs || []);\r\n setloadingDataFuelSurcharge(false);\r\n })\r\n .catch((error) => {\r\n console.log(\"error\", error);\r\n setloadingDataFuelSurcharge(false);\r\n });\r\n\r\n //setLoadingPageShow(false);\r\n }\r\n function GetVolume(props) {\r\n setloadingDataVolume(true);\r\n let customerId = props.customerId;\r\n if (customerId.length > 0) {\r\n var listcustomerId = customerId.map((a) => a.value);\r\n customerId = \"&customerId=\" + listcustomerId.join(\"&customerId=\");\r\n } else {\r\n customerId = \"\";\r\n }\r\n\r\n var myHeaders = new Headers();\r\n myHeaders.append(\"Authorization\", `bearer ${db.read().getState().Token}`);\r\n myHeaders.append(\"Content-Type\", \"application/json\");\r\n myHeaders.append(\"X-FP-API-KEY\", \"iphone\");\r\n var requestOptions = {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: myHeaders,\r\n redirect: \"follow\",\r\n };\r\n fetch(\r\n `${window.$apiurl}/dashboard/customer/volume?modeId=${customerId}&startDate=${props.startDate}&endDate=${props.endDate}&shipperId=${props.ShipperId}&consigneeId=${props.ConsigneeId}`,\r\n requestOptions\r\n )\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n if (statusCode === 401) {\r\n history.push(\"/error/401\");\r\n }\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then(async (result) => {\r\n var objs = result[1];\r\n setVolumeList(objs || []);\r\n setloadingDataVolume(false);\r\n })\r\n .catch((error) => {\r\n console.log(\"error\", error);\r\n setloadingDataVolume(false);\r\n });\r\n\r\n //setLoadingPageShow(false);\r\n }\r\n function GetPerformance(props) {\r\n setloadingDataPerformance(true);\r\n let customerId = props.customerId;\r\n if (customerId.length > 0) {\r\n var listcustomerId = customerId.map((a) => a.value);\r\n customerId = \"&customerId=\" + listcustomerId.join(\"&customerId=\");\r\n } else {\r\n customerId = \"\";\r\n }\r\n\r\n var myHeaders = new Headers();\r\n myHeaders.append(\"Authorization\", `bearer ${db.read().getState().Token}`);\r\n myHeaders.append(\"Content-Type\", \"application/json\");\r\n myHeaders.append(\"X-FP-API-KEY\", \"iphone\");\r\n var requestOptions = {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: myHeaders,\r\n redirect: \"follow\",\r\n };\r\n fetch(\r\n `${window.$apiurl}/dashboard/customer/performance?modeId=${customerId}&startDate=${props.startDate}&endDate=${props.endDate}&shipperId=${props.ShipperId}&consigneeId=${props.ConsigneeId}`,\r\n requestOptions\r\n )\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n if (statusCode === 401) {\r\n history.push(\"/error/401\");\r\n }\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then(async (result) => {\r\n var objs = result[1];\r\n setPerformanceList(objs || []);\r\n setloadingDataPerformance(false);\r\n })\r\n .catch((error) => {\r\n console.log(\"error\", error);\r\n setloadingDataPerformance(false);\r\n });\r\n\r\n //setLoadingPageShow(false);\r\n }\r\n return (\r\n <>\r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Customer Dashboard

    \r\n
    \r\n
    \r\n {/*begin::Input*/}\r\n
    \r\n
    \r\n \r\n ({\r\n value: suggestion.Id,\r\n label: suggestion.CompanyName,\r\n }))}\r\n onChange={(e) => {\r\n var obj = { ...initFilter };\r\n obj.customerId = e === null ? [] : e;\r\n GetLaneList(obj);\r\n setinitFilter(obj);\r\n GetBalances(obj);\r\n GetFuelSurcharge(obj);\r\n GetPerformance(obj);\r\n GetVolume(obj);\r\n }}\r\n />\r\n {loadingCustomer && }\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n {\r\n var obj = { ...initFilter };\r\n obj.startDate =\r\n startDate === null\r\n ? null\r\n : moment(startDate).format(\"YYYY-MM-DD\");\r\n obj.endDate =\r\n endDate === null\r\n ? null\r\n : moment(endDate).format(\"YYYY-MM-DD\");\r\n setinitFilter(obj);\r\n GetLaneList(obj);\r\n GetBalances(obj);\r\n GetFuelSurcharge(obj);\r\n GetPerformance(obj);\r\n GetVolume(obj);\r\n }}\r\n dateFormat=\"MM/DD/YYYY\"\r\n startDatePlaceholder=\"Start Date\"\r\n endDatePlaceholder=\"End Date\"\r\n className=\"my-own-class-name\"\r\n startWeekDay=\"monday\"\r\n />\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n ({\r\n value:\r\n suggestion.ShipperName + \"-\" + suggestion.ConsigneeName,\r\n label:\r\n suggestion.ShipperName +\r\n \" - \" +\r\n suggestion.ConsigneeName,\r\n ConsigneeId: suggestion.ConsigneeId,\r\n ShipperId: suggestion.ShipperId,\r\n }))}\r\n onChange={(e) => {\r\n var obj = { ...initFilter };\r\n obj.Lane =\r\n e === null ? \"\" : e?.ShipperName + e?.ConsigneeName;\r\n obj.ConsigneeId = e === null ? \"\" : e?.ConsigneeId;\r\n obj.ShipperId = e === null ? \"\" : e?.ShipperId;\r\n GetBalances(obj);\r\n GetFuelSurcharge(obj);\r\n GetPerformance(obj);\r\n GetVolume(obj);\r\n setinitFilter(obj);\r\n }}\r\n />\r\n {loadingLane && }\r\n
    \r\n
    \r\n {/*end::Input*/}\r\n\r\n \r\n \r\n {/*begin::Svg Icon | path:/metronic/theme/html/demo4/dist/assets/media/svg/icons/General/Search.svg*/}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {/*end::Svg Icon*/}\r\n \r\n \r\n \r\n \r\n
  • \r\n false()}\r\n className={`nav-link font-size-h5 ${\r\n key === 0 ? \"active font-weight-bolder\" : \"\"\r\n }`}\r\n data-toggle=\"tab\"\r\n onClick={() => {\r\n setKey(0);\r\n saveCurrentTab(0);\r\n }}\r\n >\r\n $\r\n \r\n
  • \r\n
  • \r\n false()}\r\n className={`nav-link font-size-h5 ${\r\n key === 1 ? \"active font-weight-bolder\" : \"\"\r\n }`}\r\n data-toggle=\"tab\"\r\n onClick={() => {\r\n setKey(1);\r\n saveCurrentTab(1);\r\n }}\r\n >\r\n Fuel Surcharge\r\n \r\n
  • \r\n
  • \r\n false()}\r\n className={`nav-link font-size-h5 ${\r\n key === 2 ? \"active font-weight-bolder\" : \"\"\r\n }`}\r\n data-toggle=\"tab\"\r\n onClick={() => {\r\n setKey(2);\r\n saveCurrentTab(2);\r\n }}\r\n >\r\n Volume Trends\r\n \r\n
  • \r\n
  • \r\n false()}\r\n className={`nav-link font-size-h5 ${\r\n key === 3 ? \"active font-weight-bolder\" : \"\"\r\n }`}\r\n data-toggle=\"tab\"\r\n onClick={() => {\r\n setKey(3);\r\n saveCurrentTab(3);\r\n }}\r\n >\r\n Performance\r\n \r\n
  • \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n );\r\n}\r\n","import React from \"react\";\r\nimport { CustomerDashboardIndex } from \"../../../_metronic/_partials/customer-dashboard\";\r\n\r\nexport const CustomerDashboard = () => {\r\n\r\n\r\n return (<>);\r\n};","import React from 'react'\r\nimport { LocationBilling } from \"../../../app/modules/eMPower/pages/LocationBillings/CustomersPage\";\r\nexport function LocationBillingPage() {\r\n return (\r\n \r\n )\r\n}\r\n","import React from 'react'\r\nimport { RecurringStorageCharges } from \"../../../app/modules/eMPower/pages/RecurringStorageCharges/CustomersPage\";\r\nexport function RecurringStorageChargesPage() {\r\n return (\r\n \r\n )\r\n}\r\n","import React from 'react'\r\nimport { ManageTPLScales } from \"../../modules/eMPower/pages/ManageTPLScales/CustomersPage\";\r\nexport function ManageTPLScalesPage() {\r\n return (\r\n \r\n )\r\n}\r\n","import React from 'react'\r\nimport { CustomLabel } from \"../../../app/modules/eMPower/pages/CustomLabels/CustomersPage\";\r\nexport function CustomLabelPage() {\r\n return (\r\n \r\n )\r\n}\r\n","import React from \"react\";\r\nimport { Button, Form, } from \"react-bootstrap\";\r\n\r\nexport function ManageAttachedFiles() {\r\n\r\n return (\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    SELECT TRANSACTION

    \r\n
    \r\n
    \r\n \r\n (Order, Receiver, Return or Assembly)\r\n \r\n
    \r\n
    \r\n \r\n TRANSACTION #\r\n \r\n \r\n \r\n \r\n\r\n \r\n BATCH #\r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n\r\n
    \r\n );\r\n}\r\n\r\n\r\n","import React from 'react'\r\nimport { ManageSmartParcelCarriers } from \"../../../app/modules/eMPower/pages/ManageSmartParcelCarriers/CustomersPage\";\r\nexport function ManageSmartParcelCarriersPage() {\r\n return (\r\n \r\n )\r\n}\r\n","import React, { useEffect, useState } from 'react';\r\nimport { Button, Form, Card } from \"react-bootstrap\";\r\nimport axios from \"axios\";\r\nimport { Formik, Field } from \"formik\";\r\nimport * as Yup from \"yup\";\r\nimport {\r\n Input,\r\n Select\r\n} from \"../../../_metronic/_partials/controls\";\r\nimport { Notification } from \"../../modules/Notification\";\r\nimport LinearProgress from \"@material-ui/core/LinearProgress\";\r\n\r\nexport function ManageCompanyInfo() {\r\n const initalizeCompany = {\r\n Address1: \"\",\r\n Address2: \"\",\r\n AutomaticallySetArrival: false,\r\n CheckAllocation: false,\r\n City: \"\",\r\n CompanyName: \"\",\r\n Country: \"\",\r\n DbNumber: \"\",\r\n Email: \"\",\r\n Fax: \"\",\r\n FederalId: \"\",\r\n PhoneNumber: \"\",\r\n PrimaryContactCellPhone: \"\",\r\n PrimaryContactEmail: \"\",\r\n PrimaryContactFax: \"\",\r\n PrimaryContactName: \"\",\r\n PrimaryContactPhoneNumber: \"\",\r\n PrimaryContactTitle: \"\",\r\n SecondaryContactCellPhone: \"\",\r\n SecondaryContactEmail: \"\",\r\n SecondaryContactFax: \"\",\r\n SecondaryContactName: \"\",\r\n SecondaryContactPhoneNumber: \"\",\r\n SecondaryContactTitle: \"\",\r\n State: \"\",\r\n UpsLogin: \"\",\r\n UpsPassword: \"\",\r\n WebsiteUrl: \"\",\r\n ZipCode: \"\",\r\n }\r\n const [companyInfos, setCompanyInfos] = useState(initalizeCompany);\r\n const [countries, setCountries] = useState([]);\r\n const [states, setStates] = useState([]);\r\n const [showProgress, setshowProgress] = useState(false);\r\n const [showGeneralProgress, setshowGeneralProgress] = useState(true);\r\n const companySchema = Yup.object().shape({\r\n CompanyName: Yup.string()\r\n .required(\"Company name is required\"),\r\n PrimaryContactName: Yup.string()\r\n .required(\"Primary contact name is required\"),\r\n PrimaryContactEmail: Yup.string()\r\n .required(\"Primary contact email is required\")\r\n });\r\n\r\n useEffect(() => {\r\n fetchDataAsync();\r\n }, []);\r\n\r\n const fetchDataAsync = async () => {\r\n try {\r\n const result = await axios.get(\"api/companyinfo\");\r\n const resultCountries = await axios.get(\"api/companyinfo/getcountries\");\r\n if (result.status === 200) {\r\n const resultStates = await axios.get(`api/companyinfo/getstates/${result.data.Country}`);\r\n if (resultStates.status === 200) {\r\n if (resultStates.data.length > 0)\r\n setStates(resultStates.data);\r\n }\r\n setCompanyInfos(result.data);\r\n document.getElementById(\"State\").value = result.data.State;\r\n document.getElementById(\"CheckAllocation\").checked = result.data.CheckAllocation;\r\n document.getElementById(\"AutomaticallySetArrival\").checked = result.data.AutomaticallySetArrival;\r\n setshowGeneralProgress(false);\r\n }\r\n if (resultCountries.status === 200) {\r\n setCountries(resultCountries.data);\r\n }\r\n } catch (e) { }\r\n };\r\n\r\n const handleCountryChange = async (event) => {\r\n setshowProgress(true);\r\n setStates([]);\r\n if (event.target.value !== \"\" && event.target.vale !== null) {\r\n const result = await axios.get(`api/companyinfo/getstates/${event.target.value}`);\r\n if (result.status === 200) {\r\n if (result.data.length > 0)\r\n setStates(result.data);\r\n else\r\n Notification(\"warning\", \"This Country doesn't have any state.\");\r\n }\r\n }\r\n setshowProgress(false);\r\n }\r\n\r\n\r\n const saveCompany = async (company) => {\r\n const result = await axios.put(`api/companyinfo`, { company });\r\n if (result.data.success === true) {\r\n Notification(\"success\", \"Company infos changed successfully.\");\r\n }\r\n else {\r\n const msg = result.data.Message === undefined ? \"Something went wrong, please try later or contact the support.\" : result.data.Message;\r\n Notification(\"error\", msg);\r\n }\r\n };\r\n return (\r\n \r\n \r\n {\r\n saveCompany(values);\r\n }}>\r\n {({ handleSubmit, setFieldValue }) => (\r\n <>\r\n
    \r\n \r\n
    \r\n

    COMPANY NAME AND BRANDING IMAGE

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n *COMPANY NAME\r\n \r\n {showGeneralProgress && }\r\n
    \r\n {/*
    \r\n
    \r\n
    \r\n

    You may brand your 3PL Manager with your company name or by creating a unique name / logo for the software. When your customers log on to view inventory they will see your logo / brand.

    \r\n
    */}\r\n
    \r\n
    \r\n\r\n

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

    COMPANY ADDRESS

    \r\n
    \r\n
    \r\n\r\n
    \r\n ADDRESS \r\n \r\n {showGeneralProgress && }\r\n
    \r\n\r\n
    \r\n ADDRESS2\r\n \r\n {showGeneralProgress && }\r\n
    \r\n\r\n
    \r\n CITY\r\n \r\n {showGeneralProgress && }\r\n
    \r\n
    \r\n COUNTRY\r\n \r\n {showGeneralProgress && }\r\n
    \r\n
    \r\n ST\r\n \r\n {showProgress && }\r\n
    \r\n
    \r\n ZIP\r\n \r\n {showGeneralProgress && }\r\n
    \r\n
    \r\n\r\n \r\n
    \r\n

    OTHER COMPANY INFO

    \r\n
    \r\n
    \r\n
    \r\n TELEPHONE\r\n \r\n {showGeneralProgress && }\r\n
    \r\n
    \r\n FEDERAL ID#\r\n \r\n {showGeneralProgress && }\r\n
    \r\n
    \r\n WEBSITE URL\r\n \r\n {showGeneralProgress && }\r\n
    \r\n
    \r\n FAX\r\n \r\n {showGeneralProgress && }\r\n
    \r\n
    \r\n D&B #\r\n \r\n {showGeneralProgress && }\r\n
    \r\n
    \r\n \"FROM\" EMAIL\r\n \r\n {showGeneralProgress && }\r\n
    \r\n
    \r\n UPS LOGIN\r\n \r\n {showGeneralProgress && }\r\n
    \r\n
    \r\n UPS PASSWORD\r\n \r\n {showGeneralProgress && }\r\n
    \r\n
    \r\n\r\n

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

    PRIMARY CONTACT

    \r\n \r\n
    \r\n *NAME\r\n \r\n {showGeneralProgress && }\r\n
    \r\n
    \r\n PHONE\r\n \r\n {showGeneralProgress && }\r\n
    \r\n
    \r\n CELL PHONE\r\n \r\n {showGeneralProgress && }\r\n
    \r\n
    \r\n *EMAIL\r\n \r\n {showGeneralProgress && }\r\n
    \r\n
    \r\n TITLE\r\n \r\n {showGeneralProgress && }\r\n
    \r\n
    \r\n FAX\r\n \r\n {showGeneralProgress && }\r\n
    \r\n
    \r\n
    \r\n
    \r\n

    SECONDARY CONTACT

    \r\n \r\n
    \r\n NAME\r\n \r\n {showGeneralProgress && }\r\n
    \r\n
    \r\n PHONE\r\n \r\n {showGeneralProgress && }\r\n
    \r\n
    \r\n CELL PHONE\r\n \r\n {showGeneralProgress && }\r\n
    \r\n
    \r\n EMAIL\r\n \r\n {showGeneralProgress && }\r\n
    \r\n
    \r\n TITLE\r\n \r\n {showGeneralProgress && }\r\n
    \r\n
    \r\n FAX\r\n \r\n {showGeneralProgress && }\r\n
    \r\n
    \r\n
    \r\n
    \r\n

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

    ITEM ALIAS SETTINGS

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

    Check allocation on order import

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

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

    RECEIVING SETTINGS

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

    Automatically set Arrival date to current date upon confirmation

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

    Please note that activating this option will remove your ability to backdate receiving transactions (except Level 0 and Admin users)

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

    \r\n\r\n
    \r\n
    \r\n
    \r\n )}\r\n \r\n
    \r\n
    \r\n )\r\n}\r\n","import React from 'react'\r\nimport { ManageCarriers } from \"../../../app/modules/eMPower/pages/carriers/CustomersPage\";\r\nexport function ManageCarriersPage() {\r\n return (\r\n \r\n )\r\n}\r\n","import React from 'react'\r\nimport { FreezeTransactions } from \"../../../app/modules/eMPower/pages/FreezeTransactions/CustomersPage\";\r\nexport function FreezeTransactionsPage() {\r\n return (\r\n \r\n )\r\n}\r\n","import React from 'react';\r\nimport Button from '@material-ui/core/Button';\r\nimport { makeStyles } from '@material-ui/core/styles';\r\nimport Paper from '@material-ui/core/Paper';\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n root: {\r\n width: '100%',\r\n marginTop: theme.spacing(3),\r\n overflowX: 'auto',\r\n },\r\n textDecoration: {\r\n lineHeight: '2rem',\r\n },\r\n dNone: {\r\n display: \"none\",\r\n }\r\n}));\r\nexport function ManageZoneBilling() {\r\n const classes = useStyles();\r\n return (\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n Use the 'Browse...' button to select an zone import file\r\n Then press the 'Import Zones' button to read the file.\r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n After previewing the imported data for accuracy\r\n Press the 'Update Zones' button to update the Zones.\r\n \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n}","import React from 'react'\r\nimport { ManageCarrierAccounts } from \"../../../app/modules/eMPower/pages/ManageCarrierAccounts/CustomersPage\";\r\nexport function ManageCarrierAccountsPage() {\r\n return (\r\n \r\n )\r\n}\r\n","import React from 'react'\r\nimport { MovableUnits } from \"../../../app/modules/eMPower/pages/MovableUnits/CustomersPage\";\r\nexport function MovableUnitsPage() {\r\n return (\r\n \r\n )\r\n}\r\n","import React from 'react'\r\nimport { ManageServices } from \"../../../app/modules/eMPower/pages/ManageServices/CustomersPage\";\r\nexport function ManageServicesPage() {\r\n return (\r\n \r\n )\r\n}\r\n","import React from 'react'\r\nimport { ManageModes } from \"../../../app/modules/eMPower/pages/ManageModes/CustomersPage\";\r\nexport function ManageModesPage() {\r\n return (\r\n \r\n )\r\n}\r\n","import React from 'react'\r\nimport { ManageEquipmentsType } from \"../../../app/modules/eMPower/pages/ManageEquipmentsType/CustomersPage\";\r\nexport function ManageEquipmentsTypePage() {\r\n return (\r\n \r\n )\r\n}\r\n","import React from 'react'\r\nimport { ManageServiceLevels } from \"../../../app/modules/eMPower/pages/ManageServiceLevels/CustomersPage\";\r\nexport function ManageServiceLevelsPage() {\r\n return (\r\n \r\n )\r\n}\r\n","import React, { useEffect, useState } from \"react\";\r\nimport { Modal, Form, Card, Alert, Accordion, Button } from \"react-bootstrap\";\r\nimport { Formik, Field } from \"formik\";\r\nimport { Icon } from \"@material-ui/core\";\r\nimport clsx from \"clsx\";\r\nimport * as Yup from \"yup\";\r\nimport ExpansionPanel from '@material-ui/core/ExpansionPanel';\r\nimport ExpansionPanelSummary from '@material-ui/core/ExpansionPanelSummary';\r\nimport ExpansionPanelDetails from '@material-ui/core/ExpansionPanelDetails';\r\nimport Typography from '@material-ui/core/Typography';\r\nimport ExpandMoreIcon from '@material-ui/icons/ExpandMore';\r\nimport { makeStyles } from '@material-ui/core/styles';\r\nimport TextField from '@material-ui/core/TextField';\r\nimport {\r\n Input,\r\n Select,\r\n} from \"../../../_metronic/_partials/controls\";\r\nconst useStyles = makeStyles((theme) => ({\r\n container: {\r\n display: 'flex',\r\n flexWrap: 'wrap',\r\n },\r\n textField: {\r\n marginLeft: theme.spacing(1),\r\n marginRight: theme.spacing(1),\r\n },\r\n dense: {\r\n marginTop: theme.spacing(2),\r\n },\r\n menu: {\r\n width: 200,\r\n },\r\n root: {\r\n width: '100%',\r\n },\r\n heading: {\r\n fontSize: '15px',\r\n fontWeight: theme.typography.fontWeightRegular,\r\n },\r\n fieldGroup: {\r\n border: '1px solid lightGray',\r\n padding: '1em'\r\n },\r\n h6Text: {\r\n color: 'gray'\r\n },\r\n headerAcc: {\r\n backgroundColor: '#3699FF',\r\n color: '#ffffff',\r\n borderRadius: '1rem'\r\n },\r\n svgIcon: {\r\n color: '#ffffff',\r\n fontSize: '22px !important'\r\n }\r\n}));\r\nexport function AddCarrierServices() {\r\n const classes = useStyles();\r\n\r\n return (\r\n \r\n \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    Add Carrier Services
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n\r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n

    Inactive

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n Save\r\n \r\n \r\n Save & New\r\n \r\n \r\n Cancel\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n )\r\n}\r\n","import React, { useEffect, useState } from \"react\";\r\nimport { Modal, Form, Card, Alert, Accordion, Button } from \"react-bootstrap\";\r\nimport { Formik, Field } from \"formik\";\r\nimport { Icon } from \"@material-ui/core\";\r\nimport clsx from \"clsx\";\r\nimport * as Yup from \"yup\";\r\nimport ExpansionPanel from '@material-ui/core/ExpansionPanel';\r\nimport ExpansionPanelSummary from '@material-ui/core/ExpansionPanelSummary';\r\nimport ExpansionPanelDetails from '@material-ui/core/ExpansionPanelDetails';\r\nimport Typography from '@material-ui/core/Typography';\r\nimport ExpandMoreIcon from '@material-ui/icons/ExpandMore';\r\nimport { makeStyles } from '@material-ui/core/styles';\r\nimport TextField from '@material-ui/core/TextField';\r\nimport {\r\n Input,\r\n Select,\r\n} from \"../../../_metronic/_partials/controls\";\r\nconst useStyles = makeStyles((theme) => ({\r\n container: {\r\n display: 'flex',\r\n flexWrap: 'wrap',\r\n },\r\n textField: {\r\n marginLeft: theme.spacing(1),\r\n marginRight: theme.spacing(1),\r\n },\r\n dense: {\r\n marginTop: theme.spacing(2),\r\n },\r\n menu: {\r\n width: 200,\r\n },\r\n root: {\r\n width: '100%',\r\n },\r\n heading: {\r\n fontSize: '15px',\r\n fontWeight: theme.typography.fontWeightRegular,\r\n },\r\n fieldGroup: {\r\n border: '1px solid lightGray',\r\n padding: '1em'\r\n },\r\n h6Text: {\r\n color: 'gray'\r\n },\r\n headerAcc: {\r\n backgroundColor: '#3699FF',\r\n color: '#ffffff',\r\n borderRadius: '1rem'\r\n },\r\n svgIcon: {\r\n color: '#ffffff',\r\n fontSize: '22px !important'\r\n }\r\n}));\r\nexport function EditCarrierServices() {\r\n const classes = useStyles();\r\n\r\n return (\r\n \r\n \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    Edit Carrier Services
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n

    Inactive

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n Save\r\n \r\n \r\n Cancel\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n )\r\n}\r\n","import React from 'react'\r\nimport { ServiceManageCarriers } from \"../../../app/modules/eMPower/pages/ServiceManageCarriers/CustomersPage\";\r\nexport function ServiceManageCarriersPage() {\r\n return (\r\n \r\n )\r\n}\r\n","import React from 'react'\r\nexport function ManageLSPCarrierPage() {\r\n return (\r\n \r\n )\r\n}\r\n","// React bootstrap table next =>\r\n// DOCS: https://react-bootstrap-table.github.io/react-bootstrap-table2/docs/\r\n// STORYBOOK: https://react-bootstrap-table.github.io/react-bootstrap-table2/storybook/index.html\r\nimport React, { useEffect, useMemo, useState } from \"react\";\r\nimport BootstrapTable from \"react-bootstrap-table-next\";\r\nimport SVG from \"react-inlinesvg\";\r\nimport { OverlayTrigger, Tooltip, ButtonToolbar } from \"react-bootstrap\";\r\nimport paginationFactory from \"react-bootstrap-table2-paginator\";\r\nimport {\r\n sortCaret,\r\n headerSortingClasses,\r\n toAbsoluteUrl,\r\n} from \"../../../_metronic/_helpers\";\r\nimport { ModelManagmentFirstDashboardSm } from \"../../modules/eMPower/pages/NewShipmentsBeta/customers-table/ModelShipmentManagment\";\r\nimport ModelManagmentFirstReporting from \"../../modules/eMPower/pages/ReceiptsManagementNewVersion/customers-table/Shipment/ModelManagmentFirstReporting\";\r\nimport {\r\n GetIsNoteIcone,\r\n GetPhotoFileIcone,\r\n GetSlaIcone,\r\n GetTransloadDays,\r\n} from \"../../modules/eMPower/pages/ReportingPortView/ReportingPortView\";\r\n\r\nexport function QueryTable({ ReportingData = [], selected = [] }) {\r\n const [columns, setColumns] = useState([]);\r\n\r\n useEffect(() => {\r\n if (ReportingData.length === 0) return;\r\n var list = [];\r\n\r\n selected.forEach((element) => {\r\n list.push({\r\n dataField: element?.value,\r\n text: element?.label,\r\n sort: true,\r\n sortCaret: sortCaret,\r\n headerSortingClasses,\r\n formatter: (cell, row) => {\r\n return QuerFormatter(row, element);\r\n },\r\n });\r\n });\r\n\r\n setColumns(list);\r\n }, [ReportingData]);\r\n\r\n const defaultSorted = [{ dataField: \"Aging\", order: \"desc\" }];\r\n const sizePerPageList = [\r\n { text: \"5\", value: 5 },\r\n { text: \"10\", value: 10 },\r\n { text: \"25\", value: 25 },\r\n {\r\n text: \"All\",\r\n value: ReportingData.length,\r\n },\r\n ];\r\n\r\n return (\r\n <>\r\n {columns.length > 0 && (\r\n \r\n There is no data available at the moment.\r\n \r\n }\r\n data={ReportingData.map((item, index) => {\r\n var data = item;\r\n data.key = index;\r\n return data;\r\n })}\r\n columns={columns}\r\n defaultSorted={defaultSorted}\r\n pagination={paginationFactory({\r\n showTotal: true,\r\n sizePerPage:\r\n ReportingData.length <= 100 ? ReportingData.length : 10,\r\n sizePerPageList: sizePerPageList,\r\n })}\r\n wrapperClasses=\"table-responsive reporting\"\r\n classes=\"table table-head-custom table-vertical-center\"\r\n bootstrap4\r\n bordered={false}\r\n />\r\n )}\r\n \r\n );\r\n}\r\n\r\nfunction CheckContaint(field, txt) {\r\n return field\r\n ?.trim()\r\n ?.toLowerCase()\r\n ?.includes(txt.trim().toLowerCase());\r\n}\r\n\r\nexport function QuerFormatter(row, y) {\r\n const x = y?.value;\r\n /**/ if (CheckContaint(x, \"note\")) return GetIsNoteIcone(row[x]);\r\n else if (CheckContaint(x, \"Hot\")) return GetIsHoteIcone(row[x]);\r\n else if (CheckContaint(x, \"SLA\")) return GetSlaIcone(row[x]);\r\n else if (CheckContaint(x, \"Days\")) return GetTransloadDays(row[x]);\r\n else if (x === \"PhotoFile\") return GetPhotoFileIcone(row[x]);\r\n else if (x === \"Container\") {\r\n if (row.ContainerId !== undefined) {\r\n return (\r\n \r\n );\r\n } else if (row[\"Receive#\"] !== undefined) {\r\n return (\r\n \r\n );\r\n } else if (row.ReceiptId !== undefined) {\r\n return (\r\n \r\n );\r\n }\r\n } else if (x === \"PO\") {\r\n if (row.ContainerId !== undefined) {\r\n return (\r\n \r\n );\r\n } else if (row.ReceiptId !== undefined) {\r\n return (\r\n \r\n );\r\n }\r\n } else if (x === \"Trailer\")\r\n return (\r\n \r\n );\r\n else return row[x];\r\n}\r\n\r\nexport function GetIsHoteIcone(isHot = false) {\r\n return (\r\n <>\r\n {isHot ? (\r\n Hot}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n ) : (\r\n \r\n \r\n \r\n )}\r\n \r\n );\r\n}\r\n","import React, { Fragment, useEffect, useState } from \"react\";\r\nimport { Helmet } from \"react-helmet\";\r\nimport QueryBuilder, { formatQuery } from \"react-querybuilder\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { IconButton } from \"@material-ui/core\";\r\nimport CloseIcon from \"@material-ui/icons/Close\";\r\nimport { ButtonToolbar } from \"react-bootstrap\";\r\nimport { QueryTable } from \"./QueryTable\";\r\nimport \"react-querybuilder/dist/query-builder.scss\";\r\nimport LocalStorage from \"lowdb/adapters/LocalStorage\";\r\nimport { Notification } from \"../../modules/Notification\";\r\nimport low from \"lowdb\";\r\nimport { default as SelectMulti } from \"react-select\";\r\nimport { Spinner } from \"react-bootstrap\";\r\nimport { Button, Icon, ListItemIcon, ListItemText } from \"@material-ui/core\";\r\nimport { Export } from \"../../../_metronic/_helpers/ATHelpers\";\r\nimport {\r\n StyledMenu,\r\n StyledMenuItem,\r\n useStyles,\r\n} from \"../../modules/eMPower/pages/ReportingPortView/ReportingPortView\";\r\nimport { NavLink } from \"react-router-dom\";\r\nconst adapter = new LocalStorage(\"db\");\r\nconst db = low(adapter);\r\n\r\nexport function QueryBuilderComponent() {\r\n const [fields, setFields] = useState([]);\r\n const [ReportingData, setReportingData] = useState([]);\r\n const [Loading, setLoading] = useState(false);\r\n const [selected, setselected] = useState([]);\r\n const [OrderbyFields, setOrderbyFields] = useState([]);\r\n\r\n const [query, setQuery] = useState({\r\n combinator: \"and\",\r\n rules: [{ field: \"ContainerId\", operator: \"=\", value: \"\" }],\r\n });\r\n\r\n useEffect(() => {\r\n GetModel(setFields);\r\n }, []);\r\n\r\n return (\r\n <>\r\n \r\n eMPower | Assign to Pallet\r\n \r\n \r\n\r\n
    \r\n
    \r\n

    Query Builder

    \r\n \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n {\r\n return {\r\n value: x.Name,\r\n label: x?.Label,\r\n };\r\n })}\r\n className=\"basic-multi-select\"\r\n classNamePrefix=\"select\"\r\n onChange={(e) => {\r\n if (!e || e?.length === 0) {\r\n setOrderbyFields([]);\r\n return false;\r\n }\r\n /* ar list = [];\r\n e.forEach((item) => {\r\n list.push(item);\r\n }); */\r\n setselected(e);\r\n }}\r\n />\r\n
    \r\n\r\n {fields?.length > 0 && (\r\n <>\r\n \r\n {\r\n setQuery(q);\r\n }}\r\n translations={translations}\r\n controlClassnames={controlClassnames}\r\n />\r\n \r\n )}\r\n
    \r\n {\r\n var querySql = formatQuery(query, \"sql\");\r\n var obj = {\r\n SelectFields: selected.map((item) => {\r\n return item.value;\r\n }),\r\n GroupByFields: [],\r\n OrderByFields: OrderbyFields,\r\n WhereQuery: querySql,\r\n };\r\n PostModel(obj, setReportingData, setLoading);\r\n }}\r\n className=\"btn btn-success btn-elevate w-25 my-5 h5\"\r\n >\r\n {Loading && (\r\n \r\n )}\r\n Build\r\n \r\n
    \r\n {ReportingData.length > 0 && (\r\n \r\n )}\r\n\r\n {ReportingData.length === 0 && !Loading && (\r\n <>\r\n \r\n \r\n )}\r\n
    \r\n
    \r\n \r\n );\r\n}\r\n\r\nconst translations = {\r\n addRule: {\r\n label: (\r\n <>\r\n \r\n Rule\r\n \r\n ),\r\n },\r\n addGroup: {\r\n label: (\r\n <>\r\n \r\n Group\r\n \r\n ),\r\n },\r\n removeRule: {\r\n label: ,\r\n title: \"Remove rule\",\r\n },\r\n};\r\n\r\nconst controlClassnames = {\r\n ruleGroup: \"bg-light-light border border-muted\",\r\n addGroup: \"btn btn-secondary mt-2 py-1 h5\",\r\n addRule: \"btn btn-primary mt-2 py-1 h5\",\r\n cloneGroup: \"btn btn-secondary btn-sm\",\r\n cloneRule: \"btn btn-secondary btn-sm\",\r\n removeGroup: \"btn btn-danger btn-sm\",\r\n removeRule: \"btn btn-danger mt-2 py-1 h5\",\r\n combinators: \"form-control w-25\",\r\n fields: \"form-control w-25\",\r\n operators: \"form-control w-25\",\r\n value: \"form-control\",\r\n};\r\n\r\nfunction GetModel(setFields) {\r\n fetch(`${window.$apiurl}/QueryBuilder/GetViewModel`, {\r\n method: \"get\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then(async (res) => {\r\n var list = res[1] ?? [];\r\n\r\n list = list.filter((x) => x.SelectEnabled);\r\n\r\n list.forEach((element) => {\r\n element.name = element.Name;\r\n element.label = element.Label;\r\n });\r\n\r\n setFields(list);\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n}\r\n\r\nfunction PostModel(model, setReportingData, setLoading) {\r\n setReportingData([]);\r\n setLoading(true);\r\n fetch(`${window.$apiurl}/QueryBuilder/GetResult`, {\r\n method: \"post\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(model),\r\n })\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then(async (res) => {\r\n if (res[0] === 200) {\r\n setReportingData(res[1]);\r\n } else {\r\n var msg = res[1]?.Message;\r\n if (msg) Notification(\"error\", msg);\r\n }\r\n setLoading(false);\r\n })\r\n .catch((error) => {\r\n Notification(\"error\", \"error\");\r\n });\r\n}\r\n\r\nfunction Nodatafound() {\r\n const [Reload, setReload] = useState(true);\r\n\r\n useEffect(() => {\r\n setTimeout(() => {\r\n setReload(false);\r\n }, 2000);\r\n }, []);\r\n\r\n return (\r\n <>\r\n {!Reload ? (\r\n
    \r\n
    \r\n \r\n

    \r\n Data Not Found\r\n

    \r\n
    \r\n
    \r\n ) : (\r\n
    \r\n \r\n Loading...\r\n \r\n
    \r\n )}\r\n \r\n );\r\n}\r\n\r\nfunction ExportComponent({ ReportingData }) {\r\n const [anchorEl, setAnchorEl] = React.useState(null);\r\n\r\n const classes = useStyles();\r\n\r\n function handleClick(event) {\r\n setAnchorEl(event.currentTarget);\r\n }\r\n function handleClose() {\r\n document.activeElement.blur();\r\n setAnchorEl(null);\r\n }\r\n\r\n return (\r\n <>\r\n \r\n \r\n Export as\r\n save\r\n \r\n \r\n {\r\n try {\r\n Export(ReportingData, \"excel\", `Query Builder`);\r\n } catch (err) {\r\n console.log(err);\r\n }\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n {\r\n try {\r\n Export(ReportingData, \"csv\", `Query Builder`);\r\n } catch (err) {\r\n console.log(err);\r\n }\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n {\r\n try {\r\n Export(ReportingData, \"json\", `Query Builder`);\r\n } catch (err) {\r\n console.log(err);\r\n }\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n","import React, { Fragment, useEffect, useState } from \"react\";\r\nimport { Helmet } from \"react-helmet\";\r\nimport \"react-querybuilder/dist/query-builder.scss\";\r\nimport LocalStorage from \"lowdb/adapters/LocalStorage\";\r\nimport { Notification } from \"../../modules/Notification\";\r\nimport low from \"lowdb\";\r\nimport { Spinner } from \"react-bootstrap\";\r\nimport { NavLink } from \"react-router-dom\";\r\nconst adapter = new LocalStorage(\"db\");\r\nconst db = low(adapter);\r\n\r\nexport function QueryBuilderSetting() {\r\n const [ViewModel, setViewModel] = useState([]);\r\n const [ViewModel2, setViewModel2] = useState([]);\r\n const [Loading, setLoading] = useState(false);\r\n const [LoadingSave, setLoadingSave] = useState(false);\r\n const [filter, setfilter] = useState(\"\");\r\n\r\n useEffect(() => {\r\n GetModel(setViewModel, setViewModel2, setLoading);\r\n }, []);\r\n\r\n return (\r\n <>\r\n \r\n eMPower | Assign to Pallet\r\n \r\n \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n

    Query Builder Settings

    \r\n
    \r\n
    \r\n {\r\n setfilter(e.target.value?.toLowerCase()?.trim());\r\n }}\r\n />\r\n
    \r\n
    \r\n {\r\n PostModel(ViewModel2, setLoadingSave);\r\n }}\r\n className=\"btn btn-primary btn-elevate w-100 position-absolute\"\r\n >\r\n {LoadingSave && (\r\n \r\n Loading...\r\n \r\n )}\r\n Save\r\n \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n \r\n );\r\n}\r\n\r\nfunction SettengsComponent({\r\n ViewModel = [],\r\n setViewModel,\r\n setViewModel2,\r\n Loading = false,\r\n filter = \"\",\r\n}) {\r\n return (\r\n <>\r\n
    \r\n
    \r\n
    \r\n Name\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n Label\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n Select Enabled\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n Group By Enabled\r\n
    \r\n
    \r\n\r\n
    \r\n {Loading && (\r\n \r\n Loading...\r\n \r\n )}\r\n
    \r\n\r\n {ViewModel.filter(\r\n (x) =>\r\n x.Label.toLowerCase()?.includes(filter) ||\r\n x.Name.toLowerCase()?.includes(filter)\r\n ).map((x, index) => (\r\n \r\n
    \r\n {x?.Name}\r\n
    \r\n
    \r\n {\r\n ViewModel[index].Label = event.target?.value;\r\n setViewModel(ViewModel);\r\n\r\n setViewModel2([]);\r\n setTimeout(() => {\r\n setViewModel2(ViewModel);\r\n }, 1);\r\n }}\r\n />\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n ))}\r\n
    \r\n \r\n );\r\n}\r\n\r\nfunction GetModel(setViewModel, setViewModel2, setLoading) {\r\n setLoading(true);\r\n fetch(`${window.$apiurl}/QueryBuilder/GetViewModel`, {\r\n method: \"get\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then(async (res) => {\r\n setViewModel(res[1]);\r\n setViewModel2(res[1]);\r\n setLoading(false);\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n setLoading(false);\r\n });\r\n}\r\n\r\nfunction PostModel(model, setLoadingSave) {\r\n setLoadingSave(true);\r\n fetch(`${window.$apiurl}/QueryBuilder/UpdateSettings`, {\r\n method: \"post\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify({ Settings: model }),\r\n })\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n if (statusCode === 200) {\r\n Notification(\"success\", \"Success\");\r\n setLoadingSave(false);\r\n }\r\n })\r\n .catch((error) => {\r\n Notification(\"error\", \"error\");\r\n setLoadingSave(false);\r\n });\r\n}\r\n","import React from 'react'\r\nimport { ManageCustomers } from \"../../../app/modules/eMPower/pages/ManageCustomers/CustomersPage\";\r\n\r\nexport function ManageCustomersPage() {\r\n return (\r\n \r\n )\r\n}\r\n","import React from 'react'\r\nimport { Form, Card } from \"react-bootstrap\";\r\nimport { Link } from \"react-router-dom\";\r\n\r\nexport function billingWizard() {\r\n return (\r\n\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n\r\n \r\n Per Transaction Billing Setup\r\n \r\n\r\n

    The system can assist you in calculating charges for each transaction. When creating or editing a Shipping Order, a Receiver, a Return, or an Adjustment, a \"Price\" tab contains calculators configured with your rates.

    \r\n
    \r\n \r\n System-Calculated Storage and Handling Charge Setup\r\n \r\n\r\n

    \r\n The system can assist you in calculating storage charges for each Receiver and for subsequent billing periods.
    \r\n - When creating or editing a Receiver, the \"Price\" tab contains a calculator for system-calculated storage.
    \r\n - Then, at the end of each billing period, choose Admin--Period Close--Generate Recurring Storage Charges to see the proposed charges with your rates for the inventory on hand.\r\n

    \r\n The system can also assist you in calculating handling charges for Receivers and Shipping.
    \r\n - When confirming a Receiver or Shipping, the \"Price\" tab contains a calculator for system-calculated handling.

    \r\n The system can automatically fill in these proposed charges. Check the \"Auto-fill\" box on the Manage Customer page.\r\n

    \r\n
    \r\n\r\n \r\n Zone Billing\r\n \r\n\r\n

    The system can assist you in calculating shipping charges based on the zip code zone orders are being shipped to

    \r\n\r\n
    \r\n \r\n Billing Rates Export\r\n \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n Manage Rates\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n )\r\n}\r\n","import React, { useEffect, useState } from \"react\";\r\nimport { Button, Form, Card, Col, Alert } from \"react-bootstrap\";\r\nimport { makeStyles } from '@material-ui/core/styles';\r\nimport axios from \"axios\";\r\nimport { Notification } from \"../../modules/Notification\";\r\nimport { ExcelRenderer } from \"react-excel-renderer\";\r\nimport Table from \"@material-ui/core/Table\";\r\nimport TableBody from \"@material-ui/core/TableBody\";\r\nimport TableCell from \"@material-ui/core/TableCell\";\r\nimport TableHead from \"@material-ui/core/TableHead\";\r\nimport TableRow from \"@material-ui/core/TableRow\";\r\nimport Paper from \"@material-ui/core/Paper\";\r\n\r\n\r\nexport function ImportContacts() {\r\n const useStyles = makeStyles(theme => ({\r\n root: {\r\n width: \"100%\",\r\n },\r\n paper: {\r\n marginTop: theme.spacing(3),\r\n width: \"100%\",\r\n overflowX: \"auto\",\r\n marginBottom: theme.spacing(2),\r\n },\r\n table: {\r\n minWidth: 650,\r\n },\r\n row: {\r\n height: 50,\r\n },\r\n rowBody: {\r\n height: 50,\r\n fontWeight: \"bold\",\r\n },\r\n button: {\r\n margin: theme.spacing(1),\r\n },\r\n leftIcon: {\r\n marginRight: theme.spacing(1),\r\n },\r\n rightIcon: {\r\n marginLeft: theme.spacing(1),\r\n },\r\n iconSmall: {\r\n fontSize: 20,\r\n },\r\n }));\r\n const classes = useStyles();\r\n const [rowsState, setRowsState] = useState([]);\r\n const [rowsStatBool, setRowsStatBool] = useState(false);\r\n const [rowsEmpty, setRowsEmpty] = useState(true);\r\n const [customersList, setCustomersList] = useState([]);\r\n const [importInProgress, setImportInProgress] = useState(false);\r\n const contactTypes = ['billto','soldto','shipto','supplier'];\r\n\r\n useEffect(() => {\r\n fetchCustomersAsync();\r\n }, []);\r\n\r\n const fetchCustomersAsync = async () => {\r\n try {\r\n const result = await axios.get(\"api/purchaseorders/getcustomers\");\r\n if (result.status === 200) {\r\n setCustomersList(result.data);\r\n }\r\n } catch (e) { }\r\n };\r\n\r\n const fileHandlerOnclick = () => {\r\n if (rowsEmpty) {\r\n Notification(\"error\", \"Please select a valid file to import.\");\r\n setRowsStatBool(false);\r\n return false;\r\n }\r\n setRowsStatBool(true);\r\n };\r\n\r\n const fileHandler = (event) => {\r\n setRowsStatBool(false);\r\n setRowsState([]);\r\n setRowsEmpty(false);\r\n let fileObj = event.target.files[0];\r\n console.log('fileObj');\r\n console.log(fileObj);\r\n ExcelRenderer(fileObj, (err, resp) => {\r\n if (err || resp.rows.length < 4) {\r\n setRowsEmpty(true);\r\n return false;\r\n } else {\r\n var a = resp.rows[4].indexOf(\"Code\");\r\n var b = resp.rows[4].indexOf(\"Name\");\r\n var c = resp.rows[4].indexOf(\"Company\");\r\n var d = resp.rows[4].indexOf(\"Address1\");\r\n var e = resp.rows[4].indexOf(\"Address2\");\r\n var f = resp.rows[4].indexOf(\"City\");\r\n var g = resp.rows[4].indexOf(\"State\");\r\n var h = resp.rows[4].indexOf(\"Zip\"); \r\n var i = resp.rows[4].indexOf(\"Country\"); \r\n var j = resp.rows[4].indexOf(\"Dept\");\r\n var k = resp.rows[4].indexOf(\"Phone\");\r\n var l = resp.rows[4].indexOf(\"Email\");\r\n var m = resp.rows[4].indexOf(\"QuickLookup\");\r\n var n = resp.rows[4].indexOf(\"ContactType\");\r\n if (\r\n a === -1 ||\r\n b === -1 ||\r\n c === -1 ||\r\n d === -1 ||\r\n e === -1 ||\r\n f === -1 ||\r\n g === -1 ||\r\n h === -1 ||\r\n i === -1 ||\r\n j === -1 ||\r\n k === -1 ||\r\n l === -1 ||\r\n m === -1 ||\r\n n === -1\r\n ) {\r\n setRowsEmpty(true);\r\n return false;\r\n }\r\n\r\n let rows = [];\r\n resp.rows.slice(5, resp.rows.length).forEach((element, index) => {\r\n var empty = 1;\r\n var error = \"\";\r\n if (element[c] === undefined ||\r\n element[d] === undefined ||\r\n element[f] === undefined ||\r\n element[g] === undefined ||\r\n element[h] === undefined ||\r\n element[i] === undefined ||\r\n element[m] === undefined ||\r\n element[n] === undefined) \r\n {\r\n empty = 0;\r\n error = \"Please check the required fields*.\"\r\n }\r\n if (element[n] !== undefined && !contactTypes.includes(element[n].toLowerCase())){\r\n empty = 0;\r\n error = \"Contact type should be one of these values : ShipTo, BillTo, Supplier or SoldTo\";\r\n }\r\n \r\n rows.push(\r\n createData(\r\n empty,\r\n index + 1,\r\n element[a],\r\n element[b],\r\n element[c],\r\n element[d],\r\n element[e],\r\n element[f],\r\n element[g],\r\n element[h],\r\n element[i],\r\n element[j],\r\n element[k],\r\n element[l],\r\n element[m],\r\n element[n],\r\n error\r\n )\r\n );\r\n });\r\n console.log('rows');\r\n console.log(rows);\r\n setRowsState(rows);\r\n setRowsEmpty(false);\r\n }\r\n });\r\n };\r\n\r\n function createData(\r\n Empty,\r\n Index,\r\n Code,\r\n Name,\r\n CompanyName,\r\n Address1,\r\n Address2,\r\n City,\r\n State,\r\n ZipCode,\r\n Country,\r\n Dept,\r\n Phone,\r\n Email,\r\n QuickLookup,\r\n ContactType,\r\n Error\r\n ) {\r\n return {\r\n Empty,\r\n Index,\r\n Code,\r\n Name,\r\n CompanyName,\r\n Address1,\r\n Address2,\r\n City,\r\n State,\r\n ZipCode,\r\n Country,\r\n Dept,\r\n Phone,\r\n Email,\r\n QuickLookup,\r\n ContactType,\r\n Error\r\n };\r\n }\r\n\r\n const fileUploadeOnclick = async () => {\r\n setImportInProgress(true);\r\n const customerId = document.getElementById(\"CustomerId\").value;\r\n\r\n if (customerId) {\r\n if (rowsStatBool) {\r\n if (rowsState.length > 0) {\r\n var result = await axios.post(\"api/contacts/import\", { customerId: customerId, contacts: rowsState });\r\n if (result.data.success === true) {\r\n Notification(\"success\", \"Import done successfully.\");\r\n }\r\n else {\r\n Notification(\"error\", result.data.Message);\r\n }\r\n }\r\n else {\r\n Notification(\"error\", \"Please select a valid file to emport.\");\r\n }\r\n }\r\n else {\r\n Notification(\"error\", \"Please select a valid file to import.\");\r\n }\r\n }\r\n else {\r\n Notification(\"error\", \"Please select a customer.\");\r\n }\r\n setImportInProgress(false);\r\n };\r\n\r\n const fileClear = (event) => {\r\n event.target.value = \"\";\r\n }\r\n\r\n return (\r\n\r\n \r\n \r\n
    \r\n \r\n
    \r\n Choose a Customer\r\n \r\n
    \r\n
    \r\n

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

    IMPORT FILE

    \r\n
    \r\n
    \r\n\r\n
    \r\n \r\n Use the 'Browse...' button to select a contact import file.\r\n \r\n
    \r\n\r\n \r\n Import \r\n \r\n \r\n \r\n \r\n\r\n\r\n
    \r\n \r\n Then press the 'Import' button to read the file.\r\n \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n {rowsStatBool && (\r\n \r\n \r\n \r\n \r\n \r\n Is Valid\r\n Line\r\n Code\r\n Name\r\n Company*\r\n Address 1*\r\n Address 2\r\n City*\r\n State*\r\n Zip*\r\n Country*\r\n Dept\r\n Phone\r\n Email\r\n QuickLookup*\r\n ContactType*\r\n \r\n \r\n \r\n {rowsState.map((row) => (\r\n \r\n \r\n {row.Empty === 1 && (\r\n \r\n )}\r\n {row.Empty === 0 && (\r\n \r\n )}\r\n \r\n {row.Index}\r\n {row.Code}\r\n {row.Name}\r\n {row.CompanyName}\r\n {row.Address1}\r\n {row.Address2}\r\n {row.City}\r\n {row.State}\r\n {row.ZipCode}\r\n {row.Country}\r\n {row.Dept}\r\n {row.Phone}\r\n {row.Email}\r\n {row.QuickLookup.toString()}\r\n {row.ContactType}\r\n \r\n ))}\r\n \r\n
    \r\n
    \r\n
    {rowsState.length > 0 ? rowsState.length + \" Contact(s)\" : \"No contact was imported\"}.
    \r\n
    \r\n )}{\" \"}\r\n\r\n \r\n \r\n Create\r\n
    \r\n

    Use the 'Browse...' button to select a customer contacts' import file.

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

    Press the 'Create' button to create the new contacts.

    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n \r\n {rowsStatBool && (\r\n \r\n \r\n \r\n \r\n \r\n Is Valid\r\n Line\r\n CustomerName*\r\n WarehouseName*\r\n Carrier*\r\n ServiceLevel*\r\n ZoneName*\r\n Weight*\r\n Rate*\r\n \r\n \r\n \r\n {rowsState.map((row) => (\r\n \r\n \r\n {row.Empty == 1 && (\r\n \r\n )}\r\n {row.Empty == 0 && (\r\n \r\n )}\r\n \r\n {row.Index}\r\n {row.CustomerName}\r\n {row.WarehouseName}\r\n {row.Carrier}\r\n {row.ServiceLevel}\r\n {row.ZoneName}\r\n {row.Weight}\r\n {row.Rate}\r\n \r\n ))}\r\n \r\n
    \r\n
    \r\n
    {rowsState.length > 0 ? rowsState.length + \" Zone Billing (s)\" : \"No Zone Billing was imported\"}.
    \r\n
    \r\n )}{\" \"}\r\n\r\n \r\n \r\n Create\r\n
    \r\n

    Press the 'Create' button to create the new zone Billings.

    \r\n
    \r\n\r\n \r\n \r\n Exit\r\n \r\n
    \r\n
    \r\n \r\n Customer\r\n }\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n}\r\n","import React from 'react';\r\nimport { withStyles, makeStyles } from '@material-ui/core/styles';\r\nimport Table from '@material-ui/core/Table';\r\nimport TableBody from '@material-ui/core/TableBody';\r\nimport TableCell from '@material-ui/core/TableCell';\r\nimport TableHead from '@material-ui/core/TableHead';\r\nimport TableRow from '@material-ui/core/TableRow';\r\nimport Paper from '@material-ui/core/Paper';\r\n\r\nconst StyledTableCell = withStyles(theme => ({\r\n head: {\r\n backgroundColor: theme.palette.common.black,\r\n color: theme.palette.common.white,\r\n },\r\n body: {\r\n fontSize: 14,\r\n },\r\n}))(TableCell);\r\n\r\nconst StyledTableRow = withStyles(theme => ({\r\n root: {\r\n '&:nth-of-type(odd)': {\r\n backgroundColor: theme.palette.background.default,\r\n },\r\n },\r\n}))(TableRow);\r\n\r\nfunction createData(id, actions, customers, description, servername, skipoverallocs, type) {\r\n return { id, actions, customers, description, servername, skipoverallocs, type };\r\n}\r\n\r\nconst rows = [\r\n createData(),\r\n];\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n root: {\r\n width: '100%',\r\n marginTop: theme.spacing(3),\r\n overflowX: 'auto',\r\n },\r\n}));\r\n\r\nexport function ManageConnections() {\r\n const classes = useStyles();\r\n\r\n return (\r\n\r\n \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n Filter by Customer\r\n \r\n
    \r\n
    \r\n \r\n Warning! When deleting a connection, it is important to reconcile this change with your monthly billing. For more information, contact 3PL Central by email at accounting@3plcentral.com, or call us at 01 888-375-2368.\r\n \r\n
    \r\n \r\n \r\n \r\n Id\r\n Actions\r\n Customers\r\n Description\r\n Servername\r\n Skipoverallocs\r\n Type\r\n \r\n \r\n \r\n {rows.map(row => (\r\n \r\n {row.id}\r\n {row.actions}\r\n {row.customers}\r\n {row.description}\r\n {row.servername}\r\n {row.skipoverallocs}\r\n {row.type}\r\n \r\n ))}\r\n \r\n
    \r\n
    \r\n );\r\n}","import React from 'react';\r\nimport Button from '@material-ui/core/Button';\r\nimport { withStyles, makeStyles } from '@material-ui/core/styles';\r\nimport Table from '@material-ui/core/Table';\r\nimport TableBody from '@material-ui/core/TableBody';\r\nimport TableCell from '@material-ui/core/TableCell';\r\nimport TableHead from '@material-ui/core/TableHead';\r\nimport TableRow from '@material-ui/core/TableRow';\r\nimport Paper from '@material-ui/core/Paper';\r\n\r\nconst StyledTableCell = withStyles(theme => ({\r\n head: {\r\n backgroundColor: theme.palette.common.black,\r\n color: theme.palette.common.white,\r\n },\r\n body: {\r\n fontSize: 14,\r\n },\r\n}))(TableCell);\r\n\r\nconst StyledTableRow = withStyles(theme => ({\r\n root: {\r\n '&:nth-of-type(odd)': {\r\n backgroundColor: theme.palette.background.default,\r\n },\r\n },\r\n}))(TableRow);\r\n\r\nfunction createData(id, num, message) {\r\n return { id, num, message };\r\n}\r\n\r\nconst rows = [\r\n createData(),\r\n];\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n root: {\r\n width: '100%',\r\n marginTop: theme.spacing(3),\r\n overflowX: 'auto',\r\n },\r\n}));\r\n\r\nexport function ClassicBOLMessages() {\r\n const classes = useStyles();\r\n\r\n return (\r\n\r\n \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n Choose a Customer\r\n \r\n
    \r\n \r\n \r\n \r\n Id\r\n Num\r\n Message\r\n \r\n \r\n \r\n {rows.map(row => (\r\n \r\n {row.id}\r\n {row.num}\r\n {row.message}\r\n \r\n ))}\r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n );\r\n}","import React from 'react';\r\nimport clsx from 'clsx';\r\nimport {\r\n Button,\r\n TextField,\r\n withStyles,\r\n makeStyles,\r\n Table,\r\n TableBody,\r\n TableCell,\r\n TableHead,\r\n TableRow,\r\n Paper,\r\n Dialog,\r\n DialogActions,\r\n DialogContent,\r\n DialogContentText,\r\n DialogTitle,\r\n FormControl,\r\n FormControlLabel,\r\n Checkbox\r\n} from \"@material-ui/core\";\r\nimport { green } from \"@material-ui/core/colors\";\r\nconst StyledTableCell = withStyles(theme => ({\r\n head: {\r\n backgroundColor: theme.palette.common.black,\r\n color: theme.palette.common.white,\r\n },\r\n body: {\r\n fontSize: 14,\r\n },\r\n form: {\r\n display: 'flex',\r\n flexDirection: 'column',\r\n margin: 'auto',\r\n width: 'fit-content',\r\n },\r\n formControl: {\r\n marginTop: theme.spacing(2),\r\n minWidth: 120,\r\n },\r\n formControlLabel: {\r\n marginTop: theme.spacing(1),\r\n },\r\n}))(TableCell);\r\nconst GreenCheckbox = withStyles({\r\n root: {\r\n color: green[400],\r\n '&$checked': {\r\n color: green[600],\r\n },\r\n },\r\n checked: {},\r\n})(props => );\r\nconst StyledTableRow = withStyles(theme => ({\r\n root: {\r\n '&:nth-of-type(odd)': {\r\n backgroundColor: theme.palette.background.default,\r\n },\r\n },\r\n}))(TableRow);\r\n\r\nfunction createData(auth, id, description) {\r\n return { auth, id, description };\r\n}\r\n\r\nconst rows = [\r\n createData(\"no\", 0, \"Standar Template\"),\r\n];\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n root: {\r\n width: '100%',\r\n marginTop: theme.spacing(3),\r\n overflowX: 'auto',\r\n },\r\n}));\r\n\r\nexport function PackingSlipTemplates() {\r\n const classes = useStyles();\r\n const [open, setOpen] = React.useState(false);\r\n function handleClickOpen() {\r\n setOpen(true);\r\n }\r\n\r\n function handleClose() {\r\n setOpen(false);\r\n }\r\n const [state, setState] = React.useState({\r\n checkedA: true,\r\n checkedB: true,\r\n checkedF: true,\r\n checkedG: true,\r\n });\r\n\r\n const handleChange = name => event => {\r\n setState({ ...state, [name]: event.target.checked });\r\n };\r\n return (\r\n\r\n \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n Choose a Customer\r\n \r\n
    \r\n \r\n \r\n \r\n Auth\r\n ID\r\n Description\r\n \r\n \r\n \r\n {rows.map(row => (\r\n \r\n {row.auth}\r\n {row.id}\r\n {row.description}\r\n \r\n ))}\r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n EDIT\r\n \r\n\r\n
    \r\n \r\n \r\n \r\n \r\n }\r\n label=\"Custom color\"\r\n />\r\n \r\n Packing slips may be customized by specifying, among other things, two images: one at the top of each packing slip to show, for instance, your logo; and another at the foot of each packing slip for 'boiler plate' language.\r\n \r\n \r\n Each image is specified by a Uniform Resource Locator (URL). For example:\r\n \r\n \r\n \r\n http://www.yourdomain.com/images/MyCompanyLogo.jpg.\r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n );\r\n}","import React from 'react'\r\nimport { Button, Form, Card, Dropdown } from \"react-bootstrap\";\r\n\r\nexport function ClassicBOLTemplates() {\r\n return (\r\n\r\n \r\n \r\n
    \r\n \r\n
    \r\n Choose a Customer\r\n \r\n \r\n Select\r\n \r\n \r\n Barkman Honey\r\n BASF\r\n Canusa Wood Products (c5800)\r\n DDP Specialty Electronic\r\n Delmar International (NY) Inc.\r\n \r\n \r\n
    \r\n\r\n
    \r\n
    \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    #IDDescription
    1
    2
    3
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n )\r\n}\r\n","import React from 'react';\r\nimport Button from '@material-ui/core/Button';\r\nimport { makeStyles } from '@material-ui/core/styles';\r\nimport Paper from '@material-ui/core/Paper';\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n root: {\r\n width: '100%',\r\n marginTop: theme.spacing(3),\r\n overflowX: 'auto',\r\n },\r\n}));\r\n\r\nexport function CustomerNotifs() {\r\n const classes = useStyles();\r\n\r\n return (\r\n\r\n \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n Choose a Customer\r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n );\r\n}","import React from 'react';\r\n\r\nexport function CustomerNotifsDetails() {\r\n\r\n return (\r\n\r\n
    \r\n
    \r\n\r\n

    \r\n Enter email recipients as semicolon-separated list of email addresses, such as \"harry@james.com;freddie@hubbard.com\". \r\n

    \r\n

    \r\n Enter FTP URL as \"ftp://user:password@host:port/path\", where user, password, port, path are optional.\r\n

    \r\n

    \r\n Enter Web Service address as \"http://user:password@host:port/path\", same optionals as ftp url.\r\n

    \r\n

    \r\n A blank recipient list, FTP URL or Web Service indicates nothing is to be sent.\r\n

    \r\n
    \r\n
    \r\n );\r\n}","import React, { useEffect, useState } from \"react\";\r\nimport { makeStyles } from '@material-ui/core/styles';\r\nimport Paper from '@material-ui/core/Paper';\r\nimport axios from \"axios\";\r\nimport LinearProgress from \"@material-ui/core/LinearProgress\";\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n root: {\r\n width: '100%',\r\n marginTop: theme.spacing(3),\r\n overflowX: 'auto',\r\n },\r\n}));\r\nexport function TransactionBillingSelect() {\r\n const [id, setId] = useState(0);\r\n const [customersList, setCustomersList] = useState([]);\r\n const [showProgress, setshowProgress] = useState(false);\r\n\r\n useEffect(() => {\r\n fetchUsersAsync();\r\n \r\n }, []);\r\n const fetchUsersAsync = async () => {\r\n try {\r\n setshowProgress(true);\r\n const result = await axios.get(\"api/ManageItems/Filter\");\r\n setCustomersList(result.data[\"customersList\"]);\r\n setshowProgress(false);\r\n } catch (e) { \r\n setshowProgress(false);\r\n }\r\n };\r\n const classes = useStyles();\r\n const SelectOnclick = () => {\r\n setId(0);\r\n let CustomerId = document.getElementById(\"CustomerId\").value;\r\n if (CustomerId) {\r\n setId(CustomerId);\r\n }\r\n }\r\n return (\r\n
    \r\n \r\n \r\n
    \r\n \r\n {customersList.map((item, index) => (\r\n \r\n ))}\r\n \r\n {showProgress && }\r\n \r\n \r\n Choose a Customer\r\n \r\n
    \r\n \r\n
    \r\n
    \r\n );\r\n}\r\n","import React, { useEffect, useState } from \"react\";\r\nimport PropTypes from 'prop-types';\r\nimport SwipeableViews from 'react-swipeable-views';\r\nimport { makeStyles, useTheme, withStyles } from '@material-ui/core/styles';\r\nimport AppBar from '@material-ui/core/AppBar';\r\nimport Tabs from '@material-ui/core/Tabs';\r\nimport Tab from '@material-ui/core/Tab';\r\nimport Typography from '@material-ui/core/Typography';\r\nimport Table from '@material-ui/core/Table';\r\nimport TableBody from '@material-ui/core/TableBody';\r\nimport TableCell from '@material-ui/core/TableCell';\r\nimport TableHead from '@material-ui/core/TableHead';\r\nimport TableRow from '@material-ui/core/TableRow';\r\nimport { useParams,Link } from \"react-router-dom\";\r\nimport axios from \"axios\";\r\nfunction TabContainer({ children, dir }) {\r\n return (\r\n \r\n {children}\r\n \r\n );\r\n}\r\n\r\nTabContainer.propTypes = {\r\n children: PropTypes.node.isRequired,\r\n dir: PropTypes.string.isRequired,\r\n};\r\nconst StyledTableCell = withStyles(theme => ({\r\n head: {\r\n backgroundColor: theme.palette.common.black,\r\n color: theme.palette.common.white,\r\n },\r\n body: {\r\n fontSize: 14,\r\n },\r\n}))(TableCell);\r\nconst StyledTableRow = withStyles(theme => ({\r\n root: {\r\n '&:nth-of-type(odd)': {\r\n backgroundColor: theme.palette.background.default,\r\n },\r\n },\r\n}))(TableRow);\r\nconst useStyles = makeStyles(theme => ({\r\n root: {\r\n backgroundColor: theme.palette.background.paper,\r\n },\r\n}));\r\nexport function TransactionBilling() {\r\n const { id } = useParams(\"id\");\r\n const [billingShippingList, setbillingShippingList] = useState([]);\r\n const [billingReceivingList, setbillingReceivingList] = useState([]);\r\n const [billingAssembiesList, setbillingAssembiesList] = useState([]);\r\n const [billingAdjustmentsList, setbillingAdjustmentsList] = useState([]);\r\n const [billingTransferInList, setbillingTransferInList] = useState([]);\r\n const [billingTransferOutList, setbillingTransferOutList] = useState([]);\r\n const classes = useStyles();\r\n const theme = useTheme();\r\n const [value, setValue] = React.useState(0);\r\n\r\n function handleChange(event, newValue) {\r\n setValue(newValue);\r\n }\r\n\r\n function handleChangeIndex(index) {\r\n setValue(index);\r\n }\r\n \r\n useEffect(() => {\r\n fetchBillingViewModelAsync();\r\n }, []);\r\n\r\n const fetchBillingViewModelAsync = async () => {\r\n setbillingShippingList([]);\r\n try \r\n {\r\n const result = await axios.get(`api/transactionbilling/${id}`);\r\n if (result.status === 200)\r\n {\r\n result.data[1].Charges.map(function(obj){\r\n switch(obj.Name)\r\n {\r\n case 'Shipping' :\r\n setbillingShippingList(obj.Calculators);\r\n break;\r\n case 'Receiving':\r\n setbillingReceivingList(obj.Calculators);\r\n break;\r\n case 'Adjsutments':\r\n setbillingAdjustmentsList(obj.Calculators);\r\n break;\r\n case 'TransferIn':\r\n setbillingTransferInList(obj.Calculators);\r\n break;\r\n case 'TransferOut':\r\n setbillingTransferOutList(obj.Calculators);\r\n break;\r\n case 'Assemblies':\r\n setbillingAssembiesList(obj.Calculators);\r\n break;\r\n }\r\n }); \r\n }\r\n }catch (e)\r\n {\r\n }\r\n };\r\n\r\n return (\r\n
    \r\n
    \r\n\r\n

    \r\n The Billing Wizard™ can be used during Receiving, Shipping, Assemblies and Adjusting to assist in computing charges.\r\n

    \r\n

    \r\n Click the \"Update\" links to configure what appears in each Billing Wizard™.\r\n

    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Calculator\r\n Description\r\n \r\n \r\n \r\n \r\n {billingShippingList.map(row => (\r\n \r\n {row.Name}\r\n {row.Description}\r\n {\r\n window.customerId = id;\r\n window.chargeTypeId = 1;\r\n window.calculatorId = row.Id;\r\n }}>Update ({row.Count} charges)\r\n \r\n ))}\r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n Calculator\r\n Description\r\n \r\n \r\n \r\n \r\n { billingReceivingList.map(row => (\r\n \r\n {row.Name}\r\n {row.Description}\r\n {\r\n window.customerId = id;\r\n window.chargeTypeId = 2;\r\n window.calculatorId = row.Id;\r\n }}>Update ({row.Count} charges)\r\n \r\n ))} \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n Calculator\r\n Description\r\n \r\n \r\n \r\n \r\n { billingAssembiesList.map(row => (\r\n \r\n {row.Name}\r\n {row.Description}\r\n {\r\n window.customerId = id;\r\n window.chargeTypeId = 3;\r\n window.calculatorId = row.Id;\r\n }}>Update ({row.Count} charges)\r\n \r\n ))}\r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n Calculator\r\n Description\r\n \r\n \r\n \r\n \r\n { billingAdjustmentsList.map(row => (\r\n \r\n {row.Name}\r\n {row.Description}\r\n {\r\n window.customerId = id;\r\n window.chargeTypeId = 4;\r\n window.calculatorId = row.Id;\r\n }}>Update ({row.Count} charges)\r\n \r\n ))}\r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n Calculator\r\n Description\r\n \r\n \r\n \r\n \r\n { billingTransferInList.map(row => (\r\n \r\n {row.Name}\r\n {row.Description}\r\n {\r\n window.customerId = id;\r\n window.chargeTypeId = 5;\r\n window.calculatorId = row.Id;\r\n }}>Update ({row.Count} charges)\r\n \r\n ))}\r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n Calculator\r\n Description\r\n \r\n \r\n \r\n \r\n { billingTransferOutList.map(row => (\r\n \r\n {row.Name}\r\n {row.Description}\r\n {\r\n window.customerId = id;\r\n window.chargeTypeId = 6;\r\n window.calculatorId = row.Id;\r\n }}>Update ({row.Count} charges)\r\n \r\n ))}\r\n \r\n
    \r\n
    \r\n \r\n
    \r\n );\r\n}\r\n","import React from 'react'\r\nimport { TransactionBillingShipping } from \"../../../app/modules/eMPower/pages/TransactionBillingShipping/CustomersPage\";\r\n\r\nexport function TransactionBillingShippingPage() {\r\n return (\r\n \r\n )\r\n}\r\n","import React from 'react'\r\nimport { Button, Form, Card, Dropdown } from \"react-bootstrap\";\r\nimport {Icon } from \"@material-ui/core\";\r\nimport clsx from \"clsx\";\r\n\r\n\r\nexport function ErrorLog() {\r\n return (\r\n\r\n \r\n \r\n
    \r\n \r\n
    \r\n

    CHOOSE WHICH ITEMS TO DISPLAY

    \r\n
    \r\n
    \r\n\r\n
    \r\n Choose a Customer\t\r\n \r\n \r\n Select\r\n \r\n \r\n Action\r\n Another action\r\n Something else\r\n \r\n \r\n
    \r\n\r\n
    \r\n\r\n
    \r\n \r\n
    \r\n

    \r\n
    \r\n
    \r\n\r\n
    \r\n START DATE \r\n \r\n
    \r\n\r\n
    \r\n END DATE \r\n \r\n
    \r\n\r\n
    \r\n Task\r\n \r\n \r\n Select\r\n \r\n \r\n Action\r\n Another action\r\n Something else\r\n \r\n \r\n
    \r\n\r\n
    \r\n Error Contains\r\n \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n\r\n

    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    #IDDate/TimeTaskSubtaskError Description
    1
    2
    3
    \r\n\r\n
    \r\n
    \r\n
    \r\n )\r\n}\r\n","import React, { useEffect, useState } from \"react\";\r\nimport { makeStyles } from '@material-ui/core/styles';\r\nimport Paper from '@material-ui/core/Paper';\r\nimport axios from \"axios\";\r\nimport LinearProgress from \"@material-ui/core/LinearProgress\";\r\nimport CircularProgress from \"@material-ui/core/CircularProgress\";\r\nimport ReactExport from \"react-data-export\";\r\nimport moment from \"moment\";\r\nconst ExcelFile = ReactExport.ExcelFile;\r\nconst ExcelSheet = ReactExport.ExcelFile.ExcelSheet;\r\nconst ExcelColumn = ReactExport.ExcelFile.ExcelColumn;\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n root: {\r\n width: '100%',\r\n marginTop: theme.spacing(3),\r\n overflowX: 'auto',\r\n },\r\n}));\r\nexport function BillingRatesExport() {\r\n\r\n useEffect(() => {\r\n fetchUsersAsync();\r\n }, []);\r\n\r\n const [customersList, setCustomersList] = useState([]);\r\n const [showProgress, setshowProgress] = useState(false);\r\n const [dataState, setdataState] = useState(\r\n \r\n );\r\n const fetchUsersAsync = async () => {\r\n try {\r\n setshowProgress(true);\r\n const result = await axios.get(\"api/ManageItems/Filter\");\r\n setCustomersList(result.data[\"customersList\"]);\r\n setshowProgress(false);\r\n } catch (e) { setshowProgress(false); }\r\n };\r\n const fileExport = async () => {\r\n setshowProgress(true);\r\n const customerId = document.getElementById(\"customerId\").value;\r\n try {\r\n const result = await axios.post(\"api/transactionbilling/export\", {\r\n data: customerId,\r\n });\r\n let jsonToExcel = (\r\n Export\r\n }\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n setdataState(jsonToExcel);\r\n setshowProgress(false);\r\n } catch (e) { }\r\n };\r\n\r\n\r\n\r\n const classes = useStyles();\r\n return (\r\n
    \r\n \r\n\r\n
    \r\n {\r\n fileExport();\r\n }}\r\n // TODO: Change this code\r\n >\r\n \r\n {customersList.map((item, index) => (\r\n \r\n ))}\r\n \r\n {showProgress && }\r\n \r\n \r\n Choose a Customer\r\n \r\n
    \r\n {/* */}\r\n
    {dataState}
    \r\n
    \r\n {showProgress && }\r\n
    \r\n\r\n
    \r\n
    \r\n );\r\n}\r\n","import React from 'react'\r\nimport { ZoneBilling } from \"../../../app/modules/eMPower/pages/ZoneBilling/CustomersPage\";\r\n\r\nexport function ZoneBillingPage() {\r\n return (\r\n \r\n )\r\n}\r\n","export const defaultSorted = [{ dataField: \"id\", order: \"desc\" }];\r\nexport const sizePerPageList = [\r\n { text: \"1\", value: 1 },\r\n { text: \"3\", value: 3 },\r\n { text: \"5\", value: 5 }\r\n];\r\nexport const initialFilter = {\r\n filter: {\r\n text: \"\"\r\n },\r\n sortOrder: \"asc\", // asc||desc\r\n sortField: \"id\",\r\n pageNumber: 1,\r\n pageSize: 5\r\n};\r\n","/* eslint-disable no-unused-vars */\r\nimport React, { useEffect, useContext, createContext, useState, useCallback } from \"react\";\r\nimport {isEqual, isFunction} from \"lodash\";\r\nimport {initialFilter} from \"./RemarksUIHelper\";\r\n\r\nconst RemarksUIContext = createContext();\r\n\r\nexport function useRemarksUIContext() {\r\n return useContext(RemarksUIContext);\r\n}\r\n\r\nexport const RemarksUIConsumer = RemarksUIContext.Consumer;\r\n\r\nexport function RemarksUIProvider({ currentProductId, children }) {\r\n const [productId, setProductId] = useState(currentProductId);\r\n const [queryParams, setQueryParamsBase] = useState(initialFilter);\r\n const [ids, setIds] = useState([]);\r\n const setQueryParams = useCallback(nextQueryParams => {\r\n setQueryParamsBase(prevQueryParams => {\r\n if (isFunction(nextQueryParams)) {\r\n nextQueryParams = nextQueryParams(prevQueryParams);\r\n }\r\n\r\n if (isEqual(prevQueryParams, nextQueryParams)) {\r\n return prevQueryParams;\r\n }\r\n\r\n return nextQueryParams;\r\n });\r\n }, []);\r\n const [selectedId, setSelectedId] = useState(null);\r\n const [showEditRemarkDialog, setShowEditRemarkDialog] = useState(false);\r\n const initRemark = {\r\n id: undefined,\r\n };\r\n useEffect(()=> {\r\n initRemark.productId = currentProductId;\r\n initRemark.carId = currentProductId;\r\n setProductId(currentProductId);\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [currentProductId]);\r\n const openNewRemarkDialog = () => {\r\n setSelectedId(undefined);\r\n setShowEditRemarkDialog(true);\r\n };\r\n const openEditRemarkDialog = id => {\r\n setSelectedId(id);\r\n setShowEditRemarkDialog(true);\r\n };\r\n const closeEditRemarkDialog = () => {\r\n setSelectedId(undefined);\r\n setShowEditRemarkDialog(false);\r\n };\r\n const [showDeleteRemarkDialog, setShowDeleteRemarkDialog] = useState(false);\r\n const openDeleteRemarkDialog = id => {\r\n setSelectedId(id);\r\n setShowDeleteRemarkDialog(true);\r\n };\r\n const closeDeleteRemarkDialog = () => {\r\n setSelectedId(undefined);\r\n setShowDeleteRemarkDialog(false);\r\n };\r\n\r\n const [showDeleteRemarksDialog, setShowDeleteRemarksDialog] = useState(false);\r\n const openDeleteRemarksDialog = () => {\r\n setShowDeleteRemarksDialog(true);\r\n };\r\n const closeDeleteRemarksDialog = () => {\r\n setShowDeleteRemarksDialog(false);\r\n };\r\n\r\n const [showFetchRemarksDialog, setShowFetchRemarksDialog] = useState(false);\r\n const openFetchRemarksDialog = () => {\r\n setShowFetchRemarksDialog(true);\r\n };\r\n const closeFetchRemarksDialog = () => {\r\n setShowFetchRemarksDialog(false);\r\n };\r\n\r\n const value = {\r\n ids,\r\n setIds,\r\n productId,\r\n setProductId,\r\n queryParams,\r\n setQueryParams,\r\n initRemark,\r\n selectedId,\r\n showEditRemarkDialog,\r\n openNewRemarkDialog, \r\n openEditRemarkDialog,\r\n closeEditRemarkDialog,\r\n showDeleteRemarkDialog,\r\n openDeleteRemarkDialog,\r\n closeDeleteRemarkDialog,\r\n showDeleteRemarksDialog,\r\n openDeleteRemarksDialog,\r\n closeDeleteRemarksDialog,\r\n openFetchRemarksDialog,\r\n closeFetchRemarksDialog,\r\n showFetchRemarksDialog\r\n };\r\n \r\n return (\r\n \r\n {children}\r\n \r\n );\r\n}\r\n","import React, { useMemo } from \"react\";\r\nimport { useRemarksUIContext } from \"./RemarksUIContext\";\r\nconst prepareFilter = (queryParams, values) => {\r\n const { searchText } = values;\r\n const newQueryParams = { ...queryParams };\r\n const filter = {};\r\n filter.text = searchText;\r\n newQueryParams.filter = filter;\r\n return newQueryParams;\r\n};\r\n\r\nexport function RemarksFilter() {\r\n // Remarks UI Context\r\n const remarksUIContext = useRemarksUIContext();\r\n const remarksUIProps = useMemo(() => {\r\n return {\r\n setQueryParams: remarksUIContext.setQueryParams,\r\n openNewRemarkDialog: remarksUIContext.openNewRemarkDialog,\r\n queryParams: remarksUIContext.queryParams,\r\n };\r\n }, [remarksUIContext]);\r\n\r\n return (\r\n <>\r\n
    \r\n
    \r\n
    \r\n remarksUIProps.openNewRemarkDialog()}\r\n >\r\n Add\r\n \r\n
    \r\n
    \r\n
    \r\n \r\n );\r\n}\r\n","import axios from \"axios\";\r\n\r\nexport const REMARKS_URL = \"api/OrderReceiver\";\r\n\r\n// CREATE => POST: add a new remark to the server\r\nexport function createRemark(remark) {\r\n return axios.post(REMARKS_URL, { remark });\r\n}\r\n\r\n// READ\r\n// Server should return filtered remarks by productId\r\nexport function getAllProductRemarksByProductId(productId) {\r\n return axios.get(`${REMARKS_URL}?productId=${productId}`);\r\n}\r\n\r\nexport function getRemarkById(remarkId) {\r\n return axios.get(`${REMARKS_URL}/${remarkId}`);\r\n}\r\n\r\n// Server should return sorted/filtered remarks and merge with items from state\r\n// TODO: Change your URL to REAL API, right now URL is 'api/remarksfind/{productId}'. Should be 'api/remarks/find/{productId}'!!!\r\nexport function findRemarks(queryParams, productId) {\r\n return axios.post(`${REMARKS_URL}find/${productId}`, { queryParams });\r\n}\r\n\r\n// UPDATE => PUT: update the remark\r\nexport function updateRemark(remark) {\r\n return axios.put(`${REMARKS_URL}/${remark.id}`, { remark });\r\n}\r\n\r\n// DELETE => delete the remark\r\nexport function deleteRemark(remarkId) {\r\n return axios.delete(`${REMARKS_URL}/${remarkId}`);\r\n}\r\n\r\n// DELETE Remarks by ids\r\nexport function deleteRemarks(ids) {\r\n return axios.post(`${REMARKS_URL}/deleteRemarks`, { ids });\r\n}\r\n","import {createSlice} from \"@reduxjs/toolkit\";\r\n\r\nconst initialRemarksState = {\r\n listLoading: false,\r\n actionsLoading: false,\r\n totalCount: 0,\r\n entities: null,\r\n remarkForEdit: undefined,\r\n lastError: null\r\n};\r\nexport const callTypes = {\r\n list: \"list\",\r\n action: \"action\"\r\n};\r\n\r\nexport const remarksSlice = createSlice({\r\n name: \"remarks\",\r\n initialState: initialRemarksState,\r\n reducers: {\r\n catchError: (state, action) => {\r\n state.error = `${action.type}: ${action.payload.error}`;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = false;\r\n } else {\r\n state.actionsLoading = false;\r\n }\r\n },\r\n startCall: (state, action) => {\r\n state.error = null;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = true;\r\n } else {\r\n state.actionsLoading = true;\r\n }\r\n },\r\n // getRemarkById\r\n remarkFetched: (state, action) => {\r\n state.actionsLoading = false;\r\n state.remarkForEdit = action.payload.remarkForEdit;\r\n state.error = null;\r\n },\r\n // findRemarks\r\n remarksFetched: (state, action) => {\r\n const { totalCount, entities } = action.payload;\r\n state.listLoading = false;\r\n state.error = null;\r\n state.entities = entities;\r\n state.totalCount = totalCount;\r\n },\r\n // createRemark\r\n remarkCreated: (state, action) => {\r\n state.actionsLoading = false;\r\n state.error = null;\r\n state.entities.push(action.payload.remark);\r\n },\r\n // updateRemark\r\n remarkUpdated: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.map(entity => {\r\n if (entity.id === action.payload.remark.id) {\r\n return action.payload.remark;\r\n }\r\n return entity;\r\n });\r\n },\r\n // deleteRemark\r\n remarkDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(el => el.id !== action.payload.id);\r\n },\r\n // deleteRemarks\r\n remarksDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(\r\n el => !action.payload.ids.includes(el.id)\r\n );\r\n },\r\n // remarksUpdateState\r\n remarksStatusUpdated: (state, action) => {\r\n state.actionsLoading = false;\r\n state.error = null;\r\n const { ids, status } = action.payload;\r\n state.entities = state.entities.map(entity => {\r\n if (ids.findIndex(id => id === entity.id) > -1) {\r\n entity.status = status;\r\n }\r\n return entity;\r\n });\r\n }\r\n }\r\n});\r\n","import * as requestFromServer from \"./remarksCrud\";\r\nimport {remarksSlice, callTypes} from \"./remarksSlice\";\r\n\r\nconst {actions} = remarksSlice;\r\n\r\nexport const fetchRemarks = (queryParams, productId) => dispatch => {\r\n dispatch(actions.startCall({ callType: callTypes.list }));\r\n if (!productId) {\r\n return dispatch(actions.remarksFetched({ totalCount: 0, entities: null }));\r\n }\r\n\r\n return requestFromServer\r\n .findRemarks(queryParams, productId)\r\n .then(response => {\r\n const { totalCount, entities } = response.data;\r\n dispatch(actions.remarksFetched({ totalCount, entities }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't find remarks\";\r\n dispatch(actions.catchError({ error, callType: callTypes.list }));\r\n });\r\n};\r\n\r\nexport const fetchRemark = id => dispatch => {\r\n if (!id) {\r\n return dispatch(actions.remarkFetched({ remarkForEdit: undefined }));\r\n }\r\n\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .getRemarkById(id)\r\n .then(response => {\r\n const remark = response.data;\r\n dispatch(actions.remarkFetched({ remarkForEdit: remark }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't find remark\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const deleteRemark = id => dispatch => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .deleteRemark(id)\r\n .then(response => {\r\n dispatch(actions.remarkDeleted({ id }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't delete remark\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const createRemark = remarkForCreation => dispatch => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .createRemark(remarkForCreation)\r\n .then(response => {\r\n const { remark } = response.data;\r\n dispatch(actions.remarkCreated({ remark }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't create remark\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const updateRemark = remark => dispatch => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .updateRemark(remark)\r\n .then(() => {\r\n dispatch(actions.remarkUpdated({ remark }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't update remark\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const deleteRemarks = ids => dispatch => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .deleteRemarks(ids)\r\n .then(() => {\r\n console.log(\"delete return\");\r\n dispatch(actions.remarksDeleted({ ids }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't delete remarks\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n","/* eslint-disable no-script-url,jsx-a11y/anchor-is-valid */\r\nimport React from \"react\";\r\nimport { OverlayTrigger, Tooltip } from \"react-bootstrap\";\r\nimport SVG from \"react-inlinesvg\";\r\nimport { toAbsoluteUrl } from \"../../../../../../_metronic/_helpers\";\r\n\r\nexport const ActionsColumnFormatter = (\r\n cellContent,\r\n row,\r\n rowIndex,\r\n { openEditRemarkDialog, openDeleteRemarkDialog }\r\n) => (\r\n <>\r\n Edit remark}\r\n >\r\n openEditRemarkDialog(row.id)}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n\r\n <> \r\n Delete remark}\r\n >\r\n openDeleteRemarkDialog(row.id)}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n);\r\n","// React bootstrap table next =>\r\n// DOCS: https://react-bootstrap-table.github.io/react-bootstrap-table2/docs/\r\n// STORYBOOK: https://react-bootstrap-table.github.io/react-bootstrap-table2/storybook/index.html\r\nimport React, { useEffect, useMemo } from \"react\";\r\nimport { shallowEqual, useDispatch, useSelector } from \"react-redux\";\r\nimport BootstrapTable from \"react-bootstrap-table-next\";\r\nimport paginationFactory, {\r\n PaginationProvider,\r\n} from \"react-bootstrap-table2-paginator\";\r\nimport * as actions from \"../../_redux/OrderReceivers/remarksActions\";\r\nimport { ActionsColumnFormatter } from \"./column-formatters/ActionsColumnFormatter\";\r\nimport * as uiHelpers from \"./RemarksUIHelper\";\r\nimport { Pagination } from \"../../../../../_metronic/_partials/controls\";\r\nimport {\r\n getSelectRow,\r\n getHandlerTableChange,\r\n NoRecordsFoundMessage,\r\n PleaseWaitMessage,\r\n sortCaret,\r\n} from \"../../../../../_metronic/_helpers\";\r\nimport { useRemarksUIContext } from \"./RemarksUIContext\";\r\n\r\nexport function RemarksTable() {\r\n // Remarks UI Context\r\n const remarksUIContext = useRemarksUIContext();\r\n const remarksUIProps = useMemo(() => {\r\n return {\r\n ids: remarksUIContext.ids,\r\n setIds: remarksUIContext.setIds,\r\n queryParams: remarksUIContext.queryParams,\r\n setQueryParams: remarksUIContext.setQueryParams,\r\n productId: remarksUIContext.productId,\r\n openEditRemarkDialog: remarksUIContext.openEditRemarkDialog,\r\n openDeleteRemarkDialog: remarksUIContext.openDeleteRemarkDialog,\r\n };\r\n }, [remarksUIContext]);\r\n\r\n // Getting curret state of products list from store (Redux)\r\n const { currentState } = useSelector(\r\n (state) => ({ currentState: state.remarks }),\r\n shallowEqual\r\n );\r\n const { totalCount, entities, listLoading } = currentState;\r\n const dispatch = useDispatch();\r\n useEffect(() => {\r\n remarksUIProps.setIds([]);\r\n dispatch(\r\n actions.fetchRemarks(remarksUIProps.queryParams, remarksUIProps.productId)\r\n );\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [remarksUIProps.queryParams, dispatch, remarksUIProps.productId]);\r\n const columns = [\r\n {\r\n dataField: \"Id\",\r\n text: \"ID\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n },\r\n {\r\n dataField: \"UnitName\",\r\n text: \"UNITOFMEASURE\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n },\r\n {\r\n dataField: \"SplitPeriodFullRate\",\r\n text: \"SPLIT PERIOD-1ST HALF\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n },\r\n {\r\n dataField: \"SplitPeriodHalfRate\",\r\n text: \"SPLIT PERIOD-2ND HALF\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n },\r\n {\r\n dataField: \"FreeDays\",\r\n text: \"FREE DAYS\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n },\r\n {\r\n dataField: \"ReceiverHandlingRate\",\r\n text: \"RCV HANDLING RATE\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n },\r\n {\r\n dataField: \"ShippingHandlingRate\",\r\n text: \"SHP HANDLING RATE\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n },\r\n {\r\n dataField: \"action\",\r\n text: \"Actions\",\r\n formatter: ActionsColumnFormatter,\r\n formatExtraData: {\r\n openEditRemarkDialog: remarksUIProps.openEditRemarkDialog,\r\n openDeleteRemarkDialog: remarksUIProps.openDeleteRemarkDialog,\r\n },\r\n classes: \"text-center pr-0\",\r\n headerClasses: \"text-center pr-3\",\r\n style: {\r\n minWidth: \"100px\",\r\n },\r\n },\r\n ];\r\n\r\n const paginationOptions = {\r\n custom: true,\r\n totalSize: totalCount,\r\n sizePerPageList: uiHelpers.sizePerPageList,\r\n sizePerPage: remarksUIProps.queryParams.pageSize,\r\n page: remarksUIProps.queryParams.pageNumber,\r\n };\r\n return (\r\n <>\r\n \r\n {({ paginationProps, paginationTableProps }) => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n }}\r\n \r\n \r\n );\r\n}\r\n","import React, {useEffect} from \"react\";\r\nimport {shallowEqual, useSelector} from \"react-redux\";\r\nimport {LoadingDialog} from \"../../../../../_metronic/_partials/controls\";\r\n\r\nexport function RemarksLoadingDialog() {\r\n const { isLoading } = useSelector(\r\n state => ({ isLoading: state.remarks.listLoading }),\r\n shallowEqual\r\n );\r\n useEffect(() => {}, [isLoading]);\r\n return ;\r\n}\r\n","/* eslint-disable no-restricted-imports */\r\nimport React, { useEffect, useMemo } from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { shallowEqual, useDispatch, useSelector } from \"react-redux\";\r\nimport { ModalProgressBar } from \"../../../../../_metronic/_partials/controls\";\r\nimport * as actions from \"../../_redux/OrderReceivers/remarksActions\";\r\nimport { useRemarksUIContext } from \"./RemarksUIContext\";\r\n\r\nexport function RemarksDeleteDialog() {\r\n // Remarks UI Context\r\n const remarksUIContext = useRemarksUIContext();\r\n const remarksUIProps = useMemo(() => {\r\n return {\r\n ids: remarksUIContext.ids,\r\n setIds: remarksUIContext.setIds,\r\n productId: remarksUIContext.productId,\r\n queryParams: remarksUIContext.queryParams,\r\n showDeleteRemarksDialog: remarksUIContext.showDeleteRemarksDialog,\r\n closeDeleteRemarksDialog: remarksUIContext.closeDeleteRemarksDialog,\r\n };\r\n }, [remarksUIContext]);\r\n\r\n const dispatch = useDispatch();\r\n const { isLoading } = useSelector(\r\n (state) => ({ isLoading: state.remarks.actionsLoading }),\r\n shallowEqual\r\n );\r\n\r\n useEffect(() => {}, [isLoading, dispatch]);\r\n useEffect(() => {\r\n if (!remarksUIProps.ids || remarksUIProps.ids.length === 0) {\r\n remarksUIProps.closeDeleteRemarksDialog();\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [remarksUIProps.ids]);\r\n\r\n const deleteRemarks = () => {\r\n dispatch(actions.deleteRemarks(remarksUIProps.ids)).then(() => {\r\n dispatch(\r\n actions.fetchRemarks(\r\n remarksUIProps.queryParams,\r\n remarksUIProps.productId\r\n )\r\n ).then(() => {\r\n remarksUIProps.setIds([]);\r\n remarksUIProps.closeDeleteRemarksDialog();\r\n });\r\n });\r\n };\r\n\r\n return (\r\n \r\n {isLoading && }\r\n \r\n \r\n Remarks Delete\r\n \r\n \r\n \r\n {!isLoading && (\r\n Are you sure to permanently delete selected remarks?\r\n )}\r\n {isLoading && Remarks are deleting...}\r\n \r\n \r\n
    \r\n \r\n Cancel\r\n \r\n <> \r\n \r\n Delete\r\n \r\n
    \r\n
    \r\n \r\n );\r\n}\r\n","/* eslint-disable no-restricted-imports */\r\nimport React, { useEffect, useMemo } from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { shallowEqual, useDispatch, useSelector } from \"react-redux\";\r\nimport { ModalProgressBar } from \"../../../../../_metronic/_partials/controls\";\r\nimport * as actions from \"../../_redux/OrderReceivers/remarksActions\";\r\nimport { useRemarksUIContext } from \"./RemarksUIContext\";\r\n\r\nexport function RemarkDeleteDialog() {\r\n // Remarks UI Context\r\n const remarksUIContext = useRemarksUIContext();\r\n const remarksUIProps = useMemo(() => {\r\n return {\r\n id: remarksUIContext.selectedId,\r\n setIds: remarksUIContext.setIds,\r\n productId: remarksUIContext.productId,\r\n queryParams: remarksUIContext.queryParams,\r\n showDeleteRemarkDialog: remarksUIContext.showDeleteRemarkDialog,\r\n closeDeleteRemarkDialog: remarksUIContext.closeDeleteRemarkDialog,\r\n };\r\n }, [remarksUIContext]);\r\n\r\n // Remarks Redux state\r\n const dispatch = useDispatch();\r\n const { isLoading } = useSelector(\r\n (state) => ({ isLoading: state.remarks.actionsLoading }),\r\n shallowEqual\r\n );\r\n\r\n // if !id we should close modal\r\n useEffect(() => {\r\n if (!remarksUIProps.id) {\r\n remarksUIProps.closeDeleteRemarkDialog();\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [remarksUIProps.id]);\r\n\r\n // looking for loading/dispatch\r\n useEffect(() => {}, [isLoading, dispatch]);\r\n\r\n const deleteRemark = () => {\r\n // server request for deleting remark by id\r\n dispatch(actions.deleteRemark(remarksUIProps.id)).then(() => {\r\n // refresh list after deletion\r\n dispatch(\r\n actions.fetchRemarks(\r\n remarksUIProps.queryParams,\r\n remarksUIProps.productId\r\n )\r\n );\r\n // clear selections list\r\n remarksUIProps.setIds([]);\r\n // closing delete modal\r\n remarksUIProps.closeDeleteRemarkDialog();\r\n });\r\n };\r\n\r\n return (\r\n \r\n {isLoading && }\r\n \r\n \r\n Remark Delete\r\n \r\n \r\n \r\n {!isLoading && (\r\n Are you sure to permanently delete this remark?\r\n )}\r\n {isLoading && Remark is deleting...}\r\n \r\n \r\n
    \r\n \r\n Cancel\r\n \r\n <> \r\n \r\n Delete\r\n \r\n
    \r\n
    \r\n \r\n );\r\n}\r\n","import React, { useEffect, useMemo } from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { shallowEqual, useSelector } from \"react-redux\";\r\nimport { useRemarksUIContext } from \"./RemarksUIContext\";\r\n\r\nconst selectedRemarks = (entities, ids) => {\r\n const _remarks = [];\r\n ids.forEach((id) => {\r\n const remark = entities.find((el) => el.id === id);\r\n if (remark) {\r\n _remarks.push(remark);\r\n }\r\n });\r\n return _remarks;\r\n};\r\n\r\nexport function RemarksFetchDialog() {\r\n // Remarks UI Context\r\n const remarksUIContext = useRemarksUIContext();\r\n const remarksUIProps = useMemo(() => {\r\n return {\r\n ids: remarksUIContext.ids,\r\n queryParams: remarksUIContext.queryParams,\r\n showFetchRemarksDialog: remarksUIContext.showFetchRemarksDialog,\r\n closeFetchRemarksDialog: remarksUIContext.closeFetchRemarksDialog,\r\n };\r\n }, [remarksUIContext]);\r\n\r\n const { remarks } = useSelector(\r\n (state) => ({\r\n remarks: selectedRemarks(state.remarks.entities, remarksUIProps.ids),\r\n }),\r\n shallowEqual\r\n );\r\n\r\n useEffect(() => {\r\n if (!remarksUIProps.ids || remarksUIProps.ids.length === 0) {\r\n remarksUIProps.closeFetchRemarksDialog();\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [remarksUIProps.ids]);\r\n\r\n return (\r\n \r\n \r\n \r\n Fetch selected elements\r\n \r\n \r\n \r\n
    \r\n
    \r\n {remarks.map((remark) => (\r\n
    \r\n \r\n \r\n ID: {remark.id}\r\n {\" \"}\r\n {remark.text} \r\n \r\n
    \r\n ))}\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n Cancel\r\n \r\n <> \r\n \r\n Ok\r\n \r\n
    \r\n
    \r\n \r\n );\r\n}\r\n","import React, { useMemo } from \"react\";\r\nimport { useRemarksUIContext } from \"./RemarksUIContext\";\r\n\r\nexport function RemarksGrouping() {\r\n // Remarks UI Context\r\n const remarksUIContext = useRemarksUIContext();\r\n const remarksUIProps = useMemo(() => {\r\n return {\r\n ids: remarksUIContext.ids,\r\n openDeleteRemarksDialog: remarksUIContext.openDeleteRemarksDialog,\r\n openFetchRemarksDialog: remarksUIContext.openFetchRemarksDialog,\r\n };\r\n }, [remarksUIContext]);\r\n\r\n return (\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n Delete All\r\n \r\n  \r\n \r\n Fetch Selected\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n}\r\n","/* eslint-disable no-restricted-imports */\r\nimport React, { useState, useEffect } from \"react\";\r\nimport { shallowEqual, useSelector } from \"react-redux\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { ModalProgressBar } from \"../../../../../../_metronic/_partials/controls\";\r\n\r\nexport function RemarkEditDialogHeader({ id }) {\r\n const [title, setTitle] = useState(\"\");\r\n // Remarks Redux state\r\n const { remarkForEdit, actionsLoading } = useSelector(\r\n (state) => ({\r\n remarkForEdit: state.remarks.remarkForEdit,\r\n actionsLoading: state.remarks.actionsLoading,\r\n }),\r\n shallowEqual\r\n );\r\n\r\n useEffect(() => {\r\n let _title = id ? \"\" : \"New Remark\";\r\n if (remarkForEdit && id) {\r\n _title = \"Edit remark\";\r\n }\r\n\r\n setTitle(_title);\r\n // eslint-disable-next-line\r\n }, [remarkForEdit, actionsLoading]);\r\n\r\n return (\r\n <>\r\n {actionsLoading && }\r\n \r\n {title}\r\n \r\n \r\n );\r\n}\r\n","// Form is based on Formik\r\n// Data validation is based on Yup\r\n// Please, be familiar with article first:\r\n// https://hackernoon.com/react-form-validation-with-formik-and-yup-8b76bda62e10\r\nimport React, { useEffect, useState } from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { Formik, Form, Field } from \"formik\";\r\nimport * as Yup from \"yup\";\r\nimport {\r\n Input,\r\n Select,\r\n DatePickerField,\r\n} from \"../../../../../../_metronic/_partials/controls\";\r\nimport axios from \"axios\";\r\n\r\n// Validation schema\r\nconst RemarkEditSchema = Yup.object().shape({\r\n});\r\n\r\nexport function RemarkEditForm({ saveRemark, remark, actionsLoading, onHide }) {\r\n const [viewModelUnits, setUnitsData] = useState([]);\r\n useEffect(() => {\r\n fetchOrderAsync();\r\n}, []);\r\n\r\nconst fetchOrderAsync = async () => {\r\n try {\r\n const result = await axios.get(\"api/OrderReceiver/GetAllApi\");\r\n setUnitsData(result.data[\"Units\"].Units);\r\n } catch (e) { }\r\n};\r\n return (\r\n <>\r\n saveRemark(values)}\r\n >\r\n {({ handleSubmit }) => (\r\n <>\r\n \r\n {actionsLoading && (\r\n
    \r\n
    \r\n
    \r\n )}\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n select a unit for which you charge storage and/or handling\r\n
    \r\n
    \r\n

    Storage (at receive time)

    \r\n
    \r\n
    \r\n
    \r\n {/* STARTZIP */}\r\n \r\n
    \r\n
    \r\n leave zero or empty if you do not charge upon\r\n receipt; otherwise, the default amount you charge for storage if you receive\r\n during the first half of the period\r\n\t\t\t\t\t\t\t\t\r\n
    \r\n
    \r\n
    \r\n
    \r\n {/* STARTZIP */}\r\n \r\n
    \r\n
    \r\n leave zero or empty if you do not charge upon \r\n\t\t\t\t\t\t\t\t\treceipt; otherwise, the default amount you charge for storage if you receive \r\n\t\t\t\t\t\t\t\t\tduring the second half of the period\r\n\t\t\t\t\t\t\t\t\r\n
    \r\n
    \r\n
    \r\n
    \r\n {/* STARTZIP */}\r\n \r\n
    \r\n
    \r\n the number of free storage days: for split \r\n\t\t\t\t\t\t\t\t\t\tperiods this is how many days to wait before determining inventory; for \r\n\t\t\t\t\t\t\t\t\t\trecurring storage, this is how many days to add to the initial receipt \r\n\t\t\t\t\t\t\t\t\tdate when calculating the charge, which may result in an entire month free\r\n\t\t\t\t\t\t\t\t\r\n
    \r\n
    \r\n
    \r\n

    Handling (at confirm time)

    \r\n
    \r\n
    \r\n
    \r\n {/* STARTZIP */}\r\n \r\n
    \r\n
    \r\n the default handling charge for each unit per receiver\r\n\t\t\t\t\t\t\t\t \r\n
    \r\n
    \r\n
    \r\n
    \r\n {/* STARTZIP */}\r\n \r\n
    \r\n
    \r\n the default handling charge for each unit per order\r\n\t\t\t\t\t\t\t\t \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n Cancel\r\n \r\n <> \r\n handleSubmit()}\r\n className=\"btn btn-success btn-elevate\"\r\n >\r\n Save\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n );\r\n}\r\n","import React, { useEffect, useMemo } from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { shallowEqual, useDispatch, useSelector } from \"react-redux\";\r\nimport * as actions from \"../../../_redux/OrderReceivers/remarksActions\";\r\nimport { RemarkEditDialogHeader } from \"./RemarkEditDialogHeader\";\r\nimport { RemarkEditForm } from \"./RemarkEditForm\";\r\n\r\nimport { useRemarksUIContext } from \"../RemarksUIContext\";\r\n\r\nfunction getFormattedDate(date) {\r\n if (typeof date === \"string\") {\r\n return date;\r\n }\r\n\r\n var year = date.getFullYear();\r\n\r\n var month = (1 + date.getMonth()).toString();\r\n month = month.length > 1 ? month : \"0\" + month;\r\n\r\n var day = date.getDate().toString();\r\n day = day.length > 1 ? day : \"0\" + day;\r\n\r\n return month + \"/\" + day + \"/\" + year;\r\n}\r\n\r\nexport function RemarkEditDialog() {\r\n // Remarks UI Context\r\n const remarksUIContext = useRemarksUIContext();\r\n const remarksUIProps = useMemo(() => {\r\n return {\r\n id: remarksUIContext.selectedId,\r\n setIds: remarksUIContext.setIds,\r\n productId: remarksUIContext.productId,\r\n queryParams: remarksUIContext.queryParams,\r\n showEditRemarkDialog: remarksUIContext.showEditRemarkDialog,\r\n closeEditRemarkDialog: remarksUIContext.closeEditRemarkDialog,\r\n initRemark: remarksUIContext.initRemark,\r\n };\r\n }, [remarksUIContext]);\r\n\r\n // Remarks Redux state\r\n const dispatch = useDispatch();\r\n const { actionsLoading, remarkForEdit } = useSelector(\r\n (state) => ({\r\n actionsLoading: state.remarks.actionsLoading,\r\n remarkForEdit: state.remarks.remarkForEdit,\r\n }),\r\n shallowEqual\r\n );\r\n\r\n useEffect(() => {\r\n // server request for getting remark by seleted id\r\n dispatch(actions.fetchRemark(remarksUIProps.id));\r\n }, [remarksUIProps.id, dispatch]);\r\n\r\n const saveRemark = (remark) => {\r\n console.log(\"Remark :\");\r\n console.log(remark);\r\n if (!remarksUIProps.id) {\r\n // server request for creating remarks\r\n dispatch(actions.createRemark(remark)).then(() => {\r\n // refresh list after deletion\r\n dispatch(\r\n actions.fetchRemarks(\r\n remarksUIProps.queryParams,\r\n remarksUIProps.productId\r\n )\r\n ).then(() => {\r\n // clear selections list\r\n remarksUIProps.setIds([]);\r\n // closing edit modal\r\n remarksUIProps.closeEditRemarkDialog();\r\n });\r\n });\r\n } else {\r\n // server request for updating remarks\r\n dispatch(actions.updateRemark(remark)).then(() => {\r\n // refresh list after deletion\r\n dispatch(\r\n // refresh list after deletion\r\n actions.fetchRemarks(\r\n remarksUIProps.queryParams,\r\n remarksUIProps.productId\r\n )\r\n ).then(() => {\r\n // clear selections list\r\n remarksUIProps.setIds([]);\r\n // closing edit modal\r\n remarksUIProps.closeEditRemarkDialog();\r\n });\r\n });\r\n }\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n}\r\n","import React, { useMemo } from \"react\";\r\nimport { RemarksFilter } from \"./RemarksFilter\";\r\nimport { RemarksTable } from \"./RemarksTable\";\r\nimport { RemarksLoadingDialog } from \"./RemarksLoadingDialog\";\r\nimport { RemarksDeleteDialog } from \"./RemarksDeleteDialog\";\r\nimport { RemarkDeleteDialog } from \"./RemarkDeleteDialog\";\r\nimport { RemarksFetchDialog } from \"./RemarksFetchDialog\";\r\nimport { RemarksGrouping } from \"./RemarksGrouping\";\r\nimport { RemarkEditDialog } from \"./remark-edit-dialog/RemarkEditDialog\";\r\nimport { useRemarksUIContext } from \"./RemarksUIContext\";\r\n\r\nexport function Remarks() {\r\n // Remarks UI Context\r\n const remarksUIContext = useRemarksUIContext();\r\n const remarksUIProps = useMemo(() => {\r\n return { ids: remarksUIContext.ids };\r\n }, [remarksUIContext]);\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n {remarksUIProps.ids.length > 0 && }\r\n
    \r\n \r\n \r\n );\r\n}\r\n","export const defaultSorted = [{ dataField: \"id\", order: \"desc\" }];\r\nexport const sizePerPageList = [\r\n { text: \"1\", value: 1 },\r\n { text: \"3\", value: 3 },\r\n { text: \"5\", value: 5 }\r\n];\r\nexport const initialFilter = {\r\n filter: {\r\n text: \"\"\r\n },\r\n sortOrder: \"asc\", // asc||desc\r\n sortField: \"id\",\r\n pageNumber: 1,\r\n pageSize: 5\r\n};\r\n","/* eslint-disable no-unused-vars */\r\nimport React, { useEffect, useContext, createContext, useState, useCallback } from \"react\";\r\nimport {isEqual, isFunction} from \"lodash\";\r\nimport {initialFilter} from \"./RemarksUIHelper\";\r\n\r\nconst RemarksUIContext = createContext();\r\n\r\nexport function useRemarksUIContext() {\r\n return useContext(RemarksUIContext);\r\n}\r\n\r\nexport const RemarksUIConsumer = RemarksUIContext.Consumer;\r\n\r\nexport function RemarksUIProviderManual({ currentProductId, children }) {\r\n const [productId, setProductId] = useState(currentProductId);\r\n const [queryParams, setQueryParamsBase] = useState(initialFilter);\r\n const [ids, setIds] = useState([]);\r\n const setQueryParams = useCallback(nextQueryParams => {\r\n setQueryParamsBase(prevQueryParams => {\r\n if (isFunction(nextQueryParams)) {\r\n nextQueryParams = nextQueryParams(prevQueryParams);\r\n }\r\n\r\n if (isEqual(prevQueryParams, nextQueryParams)) {\r\n return prevQueryParams;\r\n }\r\n\r\n return nextQueryParams;\r\n });\r\n }, []);\r\n const [selectedId, setSelectedId] = useState(null);\r\n const [showEditRemarkDialog, setShowEditRemarkDialog] = useState(false);\r\n const initRemark = {\r\n id: undefined,\r\n text: \"\",\r\n type: 0,\r\n dueDate: \"01/07/2020\",\r\n carId: productId\r\n };\r\n useEffect(()=> {\r\n initRemark.productId = currentProductId;\r\n initRemark.carId = currentProductId;\r\n setProductId(currentProductId);\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [currentProductId]);\r\n const openNewRemarkDialog = () => {\r\n setSelectedId(undefined);\r\n setShowEditRemarkDialog(true);\r\n };\r\n const openEditRemarkDialog = id => {\r\n setSelectedId(id);\r\n setShowEditRemarkDialog(true);\r\n };\r\n const closeEditRemarkDialog = () => {\r\n setSelectedId(undefined);\r\n setShowEditRemarkDialog(false);\r\n };\r\n const [showDeleteRemarkDialog, setShowDeleteRemarkDialog] = useState(false);\r\n const openDeleteRemarkDialog = id => {\r\n setSelectedId(id);\r\n setShowDeleteRemarkDialog(true);\r\n };\r\n const closeDeleteRemarkDialog = () => {\r\n setSelectedId(undefined);\r\n setShowDeleteRemarkDialog(false);\r\n };\r\n\r\n const [showDeleteRemarksDialog, setShowDeleteRemarksDialog] = useState(false);\r\n const openDeleteRemarksDialog = () => {\r\n setShowDeleteRemarksDialog(true);\r\n };\r\n const closeDeleteRemarksDialog = () => {\r\n setShowDeleteRemarksDialog(false);\r\n };\r\n\r\n const [showFetchRemarksDialog, setShowFetchRemarksDialog] = useState(false);\r\n const openFetchRemarksDialog = () => {\r\n setShowFetchRemarksDialog(true);\r\n };\r\n const closeFetchRemarksDialog = () => {\r\n setShowFetchRemarksDialog(false);\r\n };\r\n\r\n const value = {\r\n ids,\r\n setIds,\r\n productId,\r\n setProductId,\r\n queryParams,\r\n setQueryParams,\r\n initRemark,\r\n selectedId,\r\n showEditRemarkDialog,\r\n openNewRemarkDialog, \r\n openEditRemarkDialog,\r\n closeEditRemarkDialog,\r\n showDeleteRemarkDialog,\r\n openDeleteRemarkDialog,\r\n closeDeleteRemarkDialog,\r\n showDeleteRemarksDialog,\r\n openDeleteRemarksDialog,\r\n closeDeleteRemarksDialog,\r\n openFetchRemarksDialog,\r\n closeFetchRemarksDialog,\r\n showFetchRemarksDialog\r\n };\r\n \r\n return (\r\n \r\n {children}\r\n \r\n );\r\n}\r\n","import React, { useMemo } from \"react\";\r\nimport { Formik } from \"formik\";\r\nimport { isEqual } from \"lodash\";\r\nimport { useRemarksUIContext } from \"./RemarksUIContext\";\r\n\r\nconst prepareFilter = (queryParams, values) => {\r\n const { searchText } = values;\r\n const newQueryParams = { ...queryParams };\r\n const filter = {};\r\n filter.text = searchText;\r\n newQueryParams.filter = filter;\r\n return newQueryParams;\r\n};\r\n\r\nexport function RemarksFilter() {\r\n // Remarks UI Context\r\n const remarksUIContext = useRemarksUIContext();\r\n const remarksUIProps = useMemo(() => {\r\n return {\r\n setQueryParams: remarksUIContext.setQueryParams,\r\n openNewRemarkDialog: remarksUIContext.openNewRemarkDialog,\r\n queryParams: remarksUIContext.queryParams,\r\n };\r\n }, [remarksUIContext]);\r\n\r\n const applyFilter = (values) => {\r\n const newQueryParams = prepareFilter(remarksUIProps.queryParams, values);\r\n if (!isEqual(newQueryParams, remarksUIProps.queryParams)) {\r\n newQueryParams.pageNumber = 1;\r\n remarksUIProps.setQueryParams(newQueryParams);\r\n }\r\n };\r\n\r\n return (\r\n <>\r\n
    \r\n
    \r\n
    \r\n {\r\n applyFilter(values);\r\n }}\r\n >\r\n {({\r\n values,\r\n handleSubmit,\r\n handleBlur,\r\n handleChange,\r\n setFieldValue,\r\n }) => (\r\n
    \r\n \r\n
    \r\n )}\r\n \r\n
    \r\n
    \r\n
    \r\n remarksUIProps.openNewRemarkDialog()}\r\n >\r\n ADD\r\n \r\n
    \r\n
    \r\n
    \r\n \r\n );\r\n}\r\n","import {createSlice} from \"@reduxjs/toolkit\";\r\n\r\nconst initialRemarksState = {\r\n listLoading: false,\r\n actionsLoading: false,\r\n totalCount: 0,\r\n entities: null,\r\n remarkForEdit: undefined,\r\n lastError: null\r\n};\r\nexport const callTypes = {\r\n list: \"list\",\r\n action: \"action\"\r\n};\r\n\r\nexport const remarksSlice = createSlice({\r\n name: \"remarks\",\r\n initialState: initialRemarksState,\r\n reducers: {\r\n catchError: (state, action) => {\r\n state.error = `${action.type}: ${action.payload.error}`;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = false;\r\n } else {\r\n state.actionsLoading = false;\r\n }\r\n },\r\n startCall: (state, action) => {\r\n state.error = null;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = true;\r\n } else {\r\n state.actionsLoading = true;\r\n }\r\n },\r\n // getRemarkById\r\n remarkFetched: (state, action) => {\r\n state.actionsLoading = false;\r\n state.remarkForEdit = action.payload.remarkForEdit;\r\n state.error = null;\r\n },\r\n // findRemarks\r\n remarksFetched: (state, action) => {\r\n const { totalCount, entities } = action.payload;\r\n state.listLoading = false;\r\n state.error = null;\r\n state.entities = entities;\r\n state.totalCount = totalCount;\r\n },\r\n // createRemark\r\n remarkCreated: (state, action) => {\r\n state.actionsLoading = false;\r\n state.error = null;\r\n state.entities.push(action.payload.remark);\r\n },\r\n // updateRemark\r\n remarkUpdated: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.map(entity => {\r\n if (entity.id === action.payload.remark.id) {\r\n return action.payload.remark;\r\n }\r\n return entity;\r\n });\r\n },\r\n // deleteRemark\r\n remarkDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(el => el.id !== action.payload.id);\r\n },\r\n // deleteRemarks\r\n remarksDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(\r\n el => !action.payload.ids.includes(el.id)\r\n );\r\n },\r\n // remarksUpdateState\r\n remarksStatusUpdated: (state, action) => {\r\n state.actionsLoading = false;\r\n state.error = null;\r\n const { ids, status } = action.payload;\r\n state.entities = state.entities.map(entity => {\r\n if (ids.findIndex(id => id === entity.id) > -1) {\r\n entity.status = status;\r\n }\r\n return entity;\r\n });\r\n }\r\n }\r\n});\r\n","import * as requestFromServer from \"./remarksCrud\";\r\nimport {remarksSlice, callTypes} from \"./remarksSlice\";\r\n\r\nconst {actions} = remarksSlice;\r\n\r\nexport const fetchRemarks = (queryParams, productId) => dispatch => {\r\n dispatch(actions.startCall({ callType: callTypes.list }));\r\n if (!productId) {\r\n return dispatch(actions.remarksFetched({ totalCount: 0, entities: null }));\r\n }\r\n\r\n return requestFromServer\r\n .findRemarks(queryParams, productId)\r\n .then(response => {\r\n const { totalCount, entities } = response.data;\r\n dispatch(actions.remarksFetched({ totalCount, entities }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't find remarks\";\r\n dispatch(actions.catchError({ error, callType: callTypes.list }));\r\n });\r\n};\r\n\r\nexport const fetchRemark = id => dispatch => {\r\n if (!id) {\r\n return dispatch(actions.remarkFetched({ remarkForEdit: undefined }));\r\n }\r\n\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .getRemarkById(id)\r\n .then(response => {\r\n const remark = response.data;\r\n dispatch(actions.remarkFetched({ remarkForEdit: remark }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't find remark\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const deleteRemark = id => dispatch => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .deleteRemark(id)\r\n .then(response => {\r\n dispatch(actions.remarkDeleted({ id }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't delete remark\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const createRemark = remarkForCreation => dispatch => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .createRemark(remarkForCreation)\r\n .then(response => {\r\n const { remark } = response.data;\r\n dispatch(actions.remarkCreated({ remark }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't create remark\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const updateRemark = remark => dispatch => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .updateRemark(remark)\r\n .then(() => {\r\n dispatch(actions.remarkUpdated({ remark }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't update remark\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const deleteRemarks = ids => dispatch => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .deleteRemarks(ids)\r\n .then(() => {\r\n console.log(\"delete return\");\r\n dispatch(actions.remarksDeleted({ ids }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't delete remarks\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n","import axios from \"axios\";\r\n\r\nexport const REMARKS_URL = \"api/BillingManual\";\r\n\r\n// CREATE => POST: add a new remark to the server\r\nexport function createRemark(remark) {\r\n return axios.post(REMARKS_URL, { remark });\r\n}\r\n\r\n// READ\r\n// Server should return filtered remarks by productId\r\nexport function getAllProductRemarksByProductId(productId) {\r\n return axios.get(`${REMARKS_URL}?productId=${productId}`);\r\n}\r\n\r\nexport function getRemarkById(remarkId) {\r\n return axios.get(`${REMARKS_URL}/${remarkId}`);\r\n}\r\n\r\n// Server should return sorted/filtered remarks and merge with items from state\r\n// TODO: Change your URL to REAL API, right now URL is 'api/remarksfind/{productId}'. Should be 'api/remarks/find/{productId}'!!!\r\nexport function findRemarks(queryParams, productId) {\r\n return axios.post(`${REMARKS_URL}find/${productId}`, { queryParams });\r\n}\r\n\r\n// UPDATE => PUT: update the remark\r\nexport function updateRemark(remark) {\r\n return axios.put(`${REMARKS_URL}/${remark.id}`, { remark });\r\n}\r\n\r\n// DELETE => delete the remark\r\nexport function deleteRemark(remarkId) {\r\n return axios.delete(`${REMARKS_URL}/${remarkId}`);\r\n}\r\n\r\n// DELETE Remarks by ids\r\nexport function deleteRemarks(ids) {\r\n return axios.post(`${REMARKS_URL}/deleteRemarks`, { ids });\r\n}\r\n","/* eslint-disable no-script-url,jsx-a11y/anchor-is-valid */\r\nimport React from \"react\";\r\nimport { OverlayTrigger, Tooltip } from \"react-bootstrap\";\r\nimport SVG from \"react-inlinesvg\";\r\nimport { toAbsoluteUrl } from \"../../../../../../_metronic/_helpers\";\r\n\r\nexport const ActionsColumnFormatter = (\r\n cellContent,\r\n row,\r\n rowIndex,\r\n { openEditRemarkDialog, openDeleteRemarkDialog }\r\n) => (\r\n <>\r\n Edit remark}\r\n >\r\n openEditRemarkDialog(row.id)}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n\r\n <> \r\n Delete remark}\r\n >\r\n openDeleteRemarkDialog(row.id)}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n);\r\n","// React bootstrap table next =>\r\n// DOCS: https://react-bootstrap-table.github.io/react-bootstrap-table2/docs/\r\n// STORYBOOK: https://react-bootstrap-table.github.io/react-bootstrap-table2/storybook/index.html\r\nimport React, { useEffect, useMemo } from \"react\";\r\nimport { shallowEqual, useDispatch, useSelector } from \"react-redux\";\r\nimport BootstrapTable from \"react-bootstrap-table-next\";\r\nimport paginationFactory, {\r\n PaginationProvider,\r\n} from \"react-bootstrap-table2-paginator\";\r\nimport * as actions from \"../../_redux/BillingManuals/remarksActions\";\r\nimport { ActionsColumnFormatter } from \"./column-formatters/ActionsColumnFormatter\";\r\nimport * as uiHelpers from \"./RemarksUIHelper\";\r\nimport { Pagination } from \"../../../../../_metronic/_partials/controls\";\r\nimport {\r\n getSelectRow,\r\n getHandlerTableChange,\r\n NoRecordsFoundMessage,\r\n PleaseWaitMessage,\r\n sortCaret,\r\n} from \"../../../../../_metronic/_helpers\";\r\nimport { useRemarksUIContext } from \"./RemarksUIContext\";\r\n\r\nexport function RemarksTable() {\r\n // Remarks UI Context\r\n const remarksUIContext = useRemarksUIContext();\r\n const remarksUIProps = useMemo(() => {\r\n return {\r\n ids: remarksUIContext.ids,\r\n setIds: remarksUIContext.setIds,\r\n queryParams: remarksUIContext.queryParams,\r\n setQueryParams: remarksUIContext.setQueryParams,\r\n productId: remarksUIContext.productId,\r\n openEditRemarkDialog: remarksUIContext.openEditRemarkDialog,\r\n openDeleteRemarkDialog: remarksUIContext.openDeleteRemarkDialog,\r\n };\r\n }, [remarksUIContext]);\r\n\r\n // Getting curret state of products list from store (Redux)\r\n const { currentState } = useSelector(\r\n (state) => ({ currentState: state.remarks }),\r\n shallowEqual\r\n );\r\n const { totalCount, entities, listLoading } = currentState;\r\n const dispatch = useDispatch();\r\n useEffect(() => {\r\n remarksUIProps.setIds([]);\r\n dispatch(\r\n actions.fetchRemarks(remarksUIProps.queryParams, remarksUIProps.productId)\r\n );\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [remarksUIProps.queryParams, dispatch, remarksUIProps.productId]);\r\n const columns = [\r\n {\r\n dataField: \"id\",\r\n text: \"ID\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n },\r\n {\r\n dataField: \"label\",\r\n text: \"LABEL\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n },\r\n {\r\n dataField: \"unit\",\r\n text: \"UNIT\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n },\r\n {\r\n dataField: \"rate\",\r\n text: \"RATE\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n },\r\n {\r\n dataField: \"dfltqty\",\r\n text: \"DFLT QTY\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n },\r\n {\r\n dataField: \"glacctnum\",\r\n text: \"GLACCTNUM\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n },\r\n {\r\n dataField: \"action\",\r\n text: \"Actions\",\r\n formatter: ActionsColumnFormatter,\r\n formatExtraData: {\r\n openEditRemarkDialog: remarksUIProps.openEditRemarkDialog,\r\n openDeleteRemarkDialog: remarksUIProps.openDeleteRemarkDialog,\r\n },\r\n classes: \"text-center pr-0\",\r\n headerClasses: \"text-center pr-3\",\r\n style: {\r\n minWidth: \"100px\",\r\n },\r\n },\r\n ];\r\n\r\n const paginationOptions = {\r\n custom: true,\r\n totalSize: totalCount,\r\n sizePerPageList: uiHelpers.sizePerPageList,\r\n sizePerPage: remarksUIProps.queryParams.pageSize,\r\n page: remarksUIProps.queryParams.pageNumber,\r\n };\r\n return (\r\n <>\r\n \r\n {({ paginationProps, paginationTableProps }) => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n }}\r\n \r\n \r\n );\r\n}\r\n","import React, {useEffect} from \"react\";\r\nimport {shallowEqual, useSelector} from \"react-redux\";\r\nimport {LoadingDialog} from \"../../../../../_metronic/_partials/controls\";\r\n\r\nexport function RemarksLoadingDialog() {\r\n const { isLoading } = useSelector(\r\n state => ({ isLoading: state.remarks.listLoading }),\r\n shallowEqual\r\n );\r\n useEffect(() => {}, [isLoading]);\r\n return ;\r\n}\r\n","/* eslint-disable no-restricted-imports */\r\nimport React, { useEffect, useMemo } from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { shallowEqual, useDispatch, useSelector } from \"react-redux\";\r\nimport { ModalProgressBar } from \"../../../../../_metronic/_partials/controls\";\r\nimport * as actions from \"../../_redux/BillingManuals/remarksActions\";\r\nimport { useRemarksUIContext } from \"./RemarksUIContext\";\r\n\r\nexport function RemarksDeleteDialog() {\r\n // Remarks UI Context\r\n const remarksUIContext = useRemarksUIContext();\r\n const remarksUIProps = useMemo(() => {\r\n return {\r\n ids: remarksUIContext.ids,\r\n setIds: remarksUIContext.setIds,\r\n productId: remarksUIContext.productId,\r\n queryParams: remarksUIContext.queryParams,\r\n showDeleteRemarksDialog: remarksUIContext.showDeleteRemarksDialog,\r\n closeDeleteRemarksDialog: remarksUIContext.closeDeleteRemarksDialog,\r\n };\r\n }, [remarksUIContext]);\r\n\r\n const dispatch = useDispatch();\r\n const { isLoading } = useSelector(\r\n (state) => ({ isLoading: state.remarks.actionsLoading }),\r\n shallowEqual\r\n );\r\n\r\n useEffect(() => {}, [isLoading, dispatch]);\r\n useEffect(() => {\r\n if (!remarksUIProps.ids || remarksUIProps.ids.length === 0) {\r\n remarksUIProps.closeDeleteRemarksDialog();\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [remarksUIProps.ids]);\r\n\r\n const deleteRemarks = () => {\r\n dispatch(actions.deleteRemarks(remarksUIProps.ids)).then(() => {\r\n dispatch(\r\n actions.fetchRemarks(\r\n remarksUIProps.queryParams,\r\n remarksUIProps.productId\r\n )\r\n ).then(() => {\r\n remarksUIProps.setIds([]);\r\n remarksUIProps.closeDeleteRemarksDialog();\r\n });\r\n });\r\n };\r\n\r\n return (\r\n \r\n {isLoading && }\r\n \r\n \r\n Remarks Delete\r\n \r\n \r\n \r\n {!isLoading && (\r\n Are you sure to permanently delete selected remarks?\r\n )}\r\n {isLoading && Remarks are deleting...}\r\n \r\n \r\n
    \r\n \r\n Cancel\r\n \r\n <> \r\n \r\n Delete\r\n \r\n
    \r\n
    \r\n \r\n );\r\n}\r\n","/* eslint-disable no-restricted-imports */\r\nimport React, { useEffect, useMemo } from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { shallowEqual, useDispatch, useSelector } from \"react-redux\";\r\nimport { ModalProgressBar } from \"../../../../../_metronic/_partials/controls\";\r\nimport * as actions from \"../../_redux/BillingManuals/remarksActions\";\r\nimport { useRemarksUIContext } from \"./RemarksUIContext\";\r\n\r\nexport function RemarkDeleteDialog() {\r\n // Remarks UI Context\r\n const remarksUIContext = useRemarksUIContext();\r\n const remarksUIProps = useMemo(() => {\r\n return {\r\n id: remarksUIContext.selectedId,\r\n setIds: remarksUIContext.setIds,\r\n productId: remarksUIContext.productId,\r\n queryParams: remarksUIContext.queryParams,\r\n showDeleteRemarkDialog: remarksUIContext.showDeleteRemarkDialog,\r\n closeDeleteRemarkDialog: remarksUIContext.closeDeleteRemarkDialog,\r\n };\r\n }, [remarksUIContext]);\r\n\r\n // Remarks Redux state\r\n const dispatch = useDispatch();\r\n const { isLoading } = useSelector(\r\n (state) => ({ isLoading: state.remarks.actionsLoading }),\r\n shallowEqual\r\n );\r\n\r\n // if !id we should close modal\r\n useEffect(() => {\r\n if (!remarksUIProps.id) {\r\n remarksUIProps.closeDeleteRemarkDialog();\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [remarksUIProps.id]);\r\n\r\n // looking for loading/dispatch\r\n useEffect(() => {}, [isLoading, dispatch]);\r\n\r\n const deleteRemark = () => {\r\n // server request for deleting remark by id\r\n dispatch(actions.deleteRemark(remarksUIProps.id)).then(() => {\r\n // refresh list after deletion\r\n dispatch(\r\n actions.fetchRemarks(\r\n remarksUIProps.queryParams,\r\n remarksUIProps.productId\r\n )\r\n );\r\n // clear selections list\r\n remarksUIProps.setIds([]);\r\n // closing delete modal\r\n remarksUIProps.closeDeleteRemarkDialog();\r\n });\r\n };\r\n\r\n return (\r\n \r\n {isLoading && }\r\n \r\n \r\n Remark Delete\r\n \r\n \r\n \r\n {!isLoading && (\r\n Are you sure to permanently delete this remark?\r\n )}\r\n {isLoading && Remark is deleting...}\r\n \r\n \r\n
    \r\n \r\n Cancel\r\n \r\n <> \r\n \r\n Delete\r\n \r\n
    \r\n
    \r\n \r\n );\r\n}\r\n","import React, { useEffect, useMemo } from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { shallowEqual, useSelector } from \"react-redux\";\r\nimport { useRemarksUIContext } from \"./RemarksUIContext\";\r\n\r\nconst selectedRemarks = (entities, ids) => {\r\n const _remarks = [];\r\n ids.forEach((id) => {\r\n const remark = entities.find((el) => el.id === id);\r\n if (remark) {\r\n _remarks.push(remark);\r\n }\r\n });\r\n return _remarks;\r\n};\r\n\r\nexport function RemarksFetchDialog() {\r\n // Remarks UI Context\r\n const remarksUIContext = useRemarksUIContext();\r\n const remarksUIProps = useMemo(() => {\r\n return {\r\n ids: remarksUIContext.ids,\r\n queryParams: remarksUIContext.queryParams,\r\n showFetchRemarksDialog: remarksUIContext.showFetchRemarksDialog,\r\n closeFetchRemarksDialog: remarksUIContext.closeFetchRemarksDialog,\r\n };\r\n }, [remarksUIContext]);\r\n\r\n const { remarks } = useSelector(\r\n (state) => ({\r\n remarks: selectedRemarks(state.remarks.entities, remarksUIProps.ids),\r\n }),\r\n shallowEqual\r\n );\r\n\r\n useEffect(() => {\r\n if (!remarksUIProps.ids || remarksUIProps.ids.length === 0) {\r\n remarksUIProps.closeFetchRemarksDialog();\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [remarksUIProps.ids]);\r\n\r\n return (\r\n \r\n \r\n \r\n Fetch selected elements\r\n \r\n \r\n \r\n
    \r\n
    \r\n {remarks.map((remark) => (\r\n
    \r\n \r\n \r\n ID: {remark.id}\r\n {\" \"}\r\n {remark.text} \r\n \r\n
    \r\n ))}\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n Cancel\r\n \r\n <> \r\n \r\n Ok\r\n \r\n
    \r\n
    \r\n \r\n );\r\n}\r\n","import React, { useMemo } from \"react\";\r\nimport { useRemarksUIContext } from \"./RemarksUIContext\";\r\n\r\nexport function RemarksGrouping() {\r\n // Remarks UI Context\r\n const remarksUIContext = useRemarksUIContext();\r\n const remarksUIProps = useMemo(() => {\r\n return {\r\n ids: remarksUIContext.ids,\r\n openDeleteRemarksDialog: remarksUIContext.openDeleteRemarksDialog,\r\n openFetchRemarksDialog: remarksUIContext.openFetchRemarksDialog,\r\n };\r\n }, [remarksUIContext]);\r\n\r\n return (\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n Delete All\r\n \r\n  \r\n \r\n Fetch Selected\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n}\r\n","/* eslint-disable no-restricted-imports */\r\nimport React, { useState, useEffect } from \"react\";\r\nimport { shallowEqual, useSelector } from \"react-redux\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { ModalProgressBar } from \"../../../../../../_metronic/_partials/controls\";\r\n\r\nexport function RemarkEditDialogHeader({ id }) {\r\n const [title, setTitle] = useState(\"\");\r\n // Remarks Redux state\r\n const { remarkForEdit, actionsLoading } = useSelector(\r\n (state) => ({\r\n remarkForEdit: state.remarks.remarkForEdit,\r\n actionsLoading: state.remarks.actionsLoading,\r\n }),\r\n shallowEqual\r\n );\r\n\r\n useEffect(() => {\r\n let _title = id ? \"\" : \"New Remark\";\r\n if (remarkForEdit && id) {\r\n _title = \"Edit remark\";\r\n }\r\n\r\n setTitle(_title);\r\n // eslint-disable-next-line\r\n }, [remarkForEdit, actionsLoading]);\r\n\r\n return (\r\n <>\r\n {actionsLoading && }\r\n \r\n {title}\r\n \r\n \r\n );\r\n}\r\n","// Form is based on Formik\r\n// Data validation is based on Yup\r\n// Please, be familiar with article first:\r\n// https://hackernoon.com/react-form-validation-with-formik-and-yup-8b76bda62e10\r\nimport React from \"react\";\r\nimport clsx from 'clsx';\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { Formik, Form } from \"formik\";\r\nimport * as Yup from \"yup\";\r\nimport TextField from '@material-ui/core/TextField';\r\nimport { makeStyles } from '@material-ui/core/styles';\r\n// Validation schema\r\nconst RemarkEditSchema = Yup.object().shape({\r\n text: Yup.string()\r\n .min(2, \"Minimum 2 symbols\")\r\n .max(50, \"Maximum 50 symbols\")\r\n .required(\"Text is required\"),\r\n type: Yup.number().required(\"Type is required\"),\r\n dueDate: Yup.mixed()\r\n .nullable(false)\r\n .required(\"Due date is required\"),\r\n});\r\nconst useStyles = makeStyles(theme => ({\r\n container: {\r\n display: 'flex',\r\n flexWrap: 'wrap',\r\n },\r\n textField: {\r\n marginLeft: theme.spacing(1),\r\n marginRight: theme.spacing(1),\r\n },\r\n dense: {\r\n marginTop: theme.spacing(2),\r\n },\r\n menu: {\r\n width: 200,\r\n },\r\n}));\r\nexport function RemarkEditForm({ saveRemark, remark, actionsLoading, onHide }) {\r\n const classes = useStyles();\r\n return (\r\n <>\r\n saveRemark(values)}\r\n >\r\n {({ handleSubmit }) => (\r\n <>\r\n \r\n {actionsLoading && (\r\n
    \r\n
    \r\n
    \r\n )}\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n Cancel\r\n \r\n <> \r\n handleSubmit()}\r\n className=\"btn btn-success btn-elevate\"\r\n >\r\n Save\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n );\r\n}\r\n","import React, { useEffect, useMemo } from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { shallowEqual, useDispatch, useSelector } from \"react-redux\";\r\nimport * as actions from \"../../../_redux/BillingManuals/remarksActions\";\r\nimport { RemarkEditDialogHeader } from \"./RemarkEditDialogHeader\";\r\nimport { RemarkEditForm } from \"./RemarkEditForm\";\r\nimport { useRemarksUIContext } from \"../RemarksUIContext\";\r\n\r\nfunction getFormattedDate(date) {\r\n if (typeof date === \"string\") {\r\n return date;\r\n }\r\n\r\n var year = date.getFullYear();\r\n\r\n var month = (1 + date.getMonth()).toString();\r\n month = month.length > 1 ? month : \"0\" + month;\r\n\r\n var day = date.getDate().toString();\r\n day = day.length > 1 ? day : \"0\" + day;\r\n\r\n return month + \"/\" + day + \"/\" + year;\r\n}\r\n\r\nexport function RemarkEditDialog() {\r\n // Remarks UI Context\r\n const remarksUIContext = useRemarksUIContext();\r\n const remarksUIProps = useMemo(() => {\r\n return {\r\n id: remarksUIContext.selectedId,\r\n setIds: remarksUIContext.setIds,\r\n productId: remarksUIContext.productId,\r\n queryParams: remarksUIContext.queryParams,\r\n showEditRemarkDialog: remarksUIContext.showEditRemarkDialog,\r\n closeEditRemarkDialog: remarksUIContext.closeEditRemarkDialog,\r\n initRemark: remarksUIContext.initRemark,\r\n };\r\n }, [remarksUIContext]);\r\n\r\n // Remarks Redux state\r\n const dispatch = useDispatch();\r\n const { actionsLoading, remarkForEdit } = useSelector(\r\n (state) => ({\r\n actionsLoading: state.remarks.actionsLoading,\r\n remarkForEdit: state.remarks.remarkForEdit,\r\n }),\r\n shallowEqual\r\n );\r\n\r\n useEffect(() => {\r\n // server request for getting remark by seleted id\r\n dispatch(actions.fetchRemark(remarksUIProps.id));\r\n }, [remarksUIProps.id, dispatch]);\r\n\r\n const saveRemark = (remark) => {\r\n remark.dueDate = getFormattedDate(remark.dueDate);\r\n if (!remarksUIProps.id) {\r\n // server request for creating remarks\r\n dispatch(actions.createRemark(remark)).then(() => {\r\n // refresh list after deletion\r\n dispatch(\r\n actions.fetchRemarks(\r\n remarksUIProps.queryParams,\r\n remarksUIProps.productId\r\n )\r\n ).then(() => {\r\n // clear selections list\r\n remarksUIProps.setIds([]);\r\n // closing edit modal\r\n remarksUIProps.closeEditRemarkDialog();\r\n });\r\n });\r\n } else {\r\n // server request for updating remarks\r\n dispatch(actions.updateRemark(remark)).then(() => {\r\n // refresh list after deletion\r\n dispatch(\r\n // refresh list after deletion\r\n actions.fetchRemarks(\r\n remarksUIProps.queryParams,\r\n remarksUIProps.productId\r\n )\r\n ).then(() => {\r\n // clear selections list\r\n remarksUIProps.setIds([]);\r\n // closing edit modal\r\n remarksUIProps.closeEditRemarkDialog();\r\n });\r\n });\r\n }\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n}\r\n","import React, { useMemo } from \"react\";\r\nimport { RemarksFilter } from \"./RemarksFilter\";\r\nimport { RemarksTable } from \"./RemarksTable\";\r\nimport { RemarksLoadingDialog } from \"./RemarksLoadingDialog\";\r\nimport { RemarksDeleteDialog } from \"./RemarksDeleteDialog\";\r\nimport { RemarkDeleteDialog } from \"./RemarkDeleteDialog\";\r\nimport { RemarksFetchDialog } from \"./RemarksFetchDialog\";\r\nimport { RemarksGrouping } from \"./RemarksGrouping\";\r\nimport { RemarkEditDialog } from \"./remark-edit-dialog/RemarkEditDialog\";\r\nimport { useRemarksUIContext } from \"./RemarksUIContext\";\r\n\r\nexport function RemarksManual() {\r\n // Remarks UI Context\r\n const remarksUIContext = useRemarksUIContext();\r\n const remarksUIProps = useMemo(() => {\r\n return { ids: remarksUIContext.ids };\r\n }, [remarksUIContext]);\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n {remarksUIProps.ids.length > 0 && }\r\n
    \r\n \r\n \r\n );\r\n}\r\n","export const defaultSorted = [{ dataField: \"id\", order: \"desc\" }];\r\nexport const sizePerPageList = [\r\n { text: \"1\", value: 1 },\r\n { text: \"3\", value: 3 },\r\n { text: \"5\", value: 5 }\r\n];\r\nexport const initialFilter = {\r\n filter: {\r\n text: \"\"\r\n },\r\n sortOrder: \"asc\", // asc||desc\r\n sortField: \"id\",\r\n pageNumber: 1,\r\n pageSize: 5\r\n};\r\n","/* eslint-disable no-unused-vars */\r\nimport React, { useEffect, useContext, createContext, useState, useCallback } from \"react\";\r\nimport {isEqual, isFunction} from \"lodash\";\r\nimport {initialFilter} from \"./RemarksUIHelper\";\r\n\r\nconst RemarksUIContext = createContext();\r\n\r\nexport function useRemarksUIContext() {\r\n return useContext(RemarksUIContext);\r\n}\r\n\r\nexport const RemarksUIConsumer = RemarksUIContext.Consumer;\r\n\r\nexport function RemarksUIProviderLocStorageRates({ currentProductId, children }) {\r\n const [productId, setProductId] = useState(currentProductId);\r\n const [queryParams, setQueryParamsBase] = useState(initialFilter);\r\n const [ids, setIds] = useState([]);\r\n const setQueryParams = useCallback(nextQueryParams => {\r\n setQueryParamsBase(prevQueryParams => {\r\n if (isFunction(nextQueryParams)) {\r\n nextQueryParams = nextQueryParams(prevQueryParams);\r\n }\r\n\r\n if (isEqual(prevQueryParams, nextQueryParams)) {\r\n return prevQueryParams;\r\n }\r\n\r\n return nextQueryParams;\r\n });\r\n }, []);\r\n const [selectedId, setSelectedId] = useState(null);\r\n const [showEditRemarkDialog, setShowEditRemarkDialog] = useState(false);\r\n const initRemark = {\r\n id: undefined,\r\n text: \"\",\r\n type: 0,\r\n dueDate: \"01/07/2020\",\r\n carId: productId\r\n };\r\n useEffect(()=> {\r\n initRemark.productId = currentProductId;\r\n initRemark.carId = currentProductId;\r\n setProductId(currentProductId);\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [currentProductId]);\r\n const openNewRemarkDialog = () => {\r\n setSelectedId(undefined);\r\n setShowEditRemarkDialog(true);\r\n };\r\n const openEditRemarkDialog = id => {\r\n setSelectedId(id);\r\n setShowEditRemarkDialog(true);\r\n };\r\n const closeEditRemarkDialog = () => {\r\n setSelectedId(undefined);\r\n setShowEditRemarkDialog(false);\r\n };\r\n const [showDeleteRemarkDialog, setShowDeleteRemarkDialog] = useState(false);\r\n const openDeleteRemarkDialog = id => {\r\n setSelectedId(id);\r\n setShowDeleteRemarkDialog(true);\r\n };\r\n const closeDeleteRemarkDialog = () => {\r\n setSelectedId(undefined);\r\n setShowDeleteRemarkDialog(false);\r\n };\r\n\r\n const [showDeleteRemarksDialog, setShowDeleteRemarksDialog] = useState(false);\r\n const openDeleteRemarksDialog = () => {\r\n setShowDeleteRemarksDialog(true);\r\n };\r\n const closeDeleteRemarksDialog = () => {\r\n setShowDeleteRemarksDialog(false);\r\n };\r\n\r\n const [showFetchRemarksDialog, setShowFetchRemarksDialog] = useState(false);\r\n const openFetchRemarksDialog = () => {\r\n setShowFetchRemarksDialog(true);\r\n };\r\n const closeFetchRemarksDialog = () => {\r\n setShowFetchRemarksDialog(false);\r\n };\r\n\r\n const value = {\r\n ids,\r\n setIds,\r\n productId,\r\n setProductId,\r\n queryParams,\r\n setQueryParams,\r\n initRemark,\r\n selectedId,\r\n showEditRemarkDialog,\r\n openNewRemarkDialog, \r\n openEditRemarkDialog,\r\n closeEditRemarkDialog,\r\n showDeleteRemarkDialog,\r\n openDeleteRemarkDialog,\r\n closeDeleteRemarkDialog,\r\n showDeleteRemarksDialog,\r\n openDeleteRemarksDialog,\r\n closeDeleteRemarksDialog,\r\n openFetchRemarksDialog,\r\n closeFetchRemarksDialog,\r\n showFetchRemarksDialog\r\n };\r\n \r\n return (\r\n \r\n {children}\r\n \r\n );\r\n}\r\n","import React, { useMemo } from \"react\";\r\nimport { useRemarksUIContext } from \"./RemarksUIContext\";\r\n\r\nconst prepareFilter = (queryParams, values) => {\r\n const { searchText } = values;\r\n const newQueryParams = { ...queryParams };\r\n const filter = {};\r\n filter.text = searchText;\r\n newQueryParams.filter = filter;\r\n return newQueryParams;\r\n};\r\n\r\nexport function RemarksFilter() {\r\n // Remarks UI Context\r\n const remarksUIContext = useRemarksUIContext();\r\n const remarksUIProps = useMemo(() => {\r\n return {\r\n setQueryParams: remarksUIContext.setQueryParams,\r\n openNewRemarkDialog: remarksUIContext.openNewRemarkDialog,\r\n queryParams: remarksUIContext.queryParams,\r\n };\r\n }, [remarksUIContext]);\r\n\r\n\r\n return (\r\n <>\r\n
    \r\n
    \r\n
    \r\n \r\n Clear Rate(s)\r\n \r\n \r\n Sef Rate(s)\r\n \r\n
    \r\n
    \r\n Clear or modify multiple rates at once by multi-selecting entries\r\n
    \r\n
    \r\n
    \r\n \r\n );\r\n}\r\n","import {createSlice} from \"@reduxjs/toolkit\";\r\n\r\nconst initialRemarksState = {\r\n listLoading: false,\r\n actionsLoading: false,\r\n totalCount: 0,\r\n entities: null,\r\n remarkForEdit: undefined,\r\n lastError: null\r\n};\r\nexport const callTypes = {\r\n list: \"list\",\r\n action: \"action\"\r\n};\r\n\r\nexport const remarksSlice = createSlice({\r\n name: \"remarks\",\r\n initialState: initialRemarksState,\r\n reducers: {\r\n catchError: (state, action) => {\r\n state.error = `${action.type}: ${action.payload.error}`;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = false;\r\n } else {\r\n state.actionsLoading = false;\r\n }\r\n },\r\n startCall: (state, action) => {\r\n state.error = null;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = true;\r\n } else {\r\n state.actionsLoading = true;\r\n }\r\n },\r\n // getRemarkById\r\n remarkFetched: (state, action) => {\r\n state.actionsLoading = false;\r\n state.remarkForEdit = action.payload.remarkForEdit;\r\n state.error = null;\r\n },\r\n // findRemarks\r\n remarksFetched: (state, action) => {\r\n const { totalCount, entities } = action.payload;\r\n state.listLoading = false;\r\n state.error = null;\r\n state.entities = entities;\r\n state.totalCount = totalCount;\r\n },\r\n // createRemark\r\n remarkCreated: (state, action) => {\r\n state.actionsLoading = false;\r\n state.error = null;\r\n state.entities.push(action.payload.remark);\r\n },\r\n // updateRemark\r\n remarkUpdated: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.map(entity => {\r\n if (entity.id === action.payload.remark.id) {\r\n return action.payload.remark;\r\n }\r\n return entity;\r\n });\r\n },\r\n // deleteRemark\r\n remarkDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(el => el.id !== action.payload.id);\r\n },\r\n // deleteRemarks\r\n remarksDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(\r\n el => !action.payload.ids.includes(el.id)\r\n );\r\n },\r\n // remarksUpdateState\r\n remarksStatusUpdated: (state, action) => {\r\n state.actionsLoading = false;\r\n state.error = null;\r\n const { ids, status } = action.payload;\r\n state.entities = state.entities.map(entity => {\r\n if (ids.findIndex(id => id === entity.id) > -1) {\r\n entity.status = status;\r\n }\r\n return entity;\r\n });\r\n }\r\n }\r\n});\r\n","import * as requestFromServer from \"./remarksCrud\";\r\nimport {remarksSlice, callTypes} from \"./remarksSlice\";\r\n\r\nconst {actions} = remarksSlice;\r\n\r\nexport const fetchRemarks = (queryParams, productId) => dispatch => {\r\n dispatch(actions.startCall({ callType: callTypes.list }));\r\n if (!productId) {\r\n return dispatch(actions.remarksFetched({ totalCount: 0, entities: null }));\r\n }\r\n\r\n return requestFromServer\r\n .findRemarks(queryParams, productId)\r\n .then(response => {\r\n const { totalCount, entities } = response.data;\r\n dispatch(actions.remarksFetched({ totalCount, entities }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't find remarks\";\r\n dispatch(actions.catchError({ error, callType: callTypes.list }));\r\n });\r\n};\r\n\r\nexport const fetchRemark = id => dispatch => {\r\n if (!id) {\r\n return dispatch(actions.remarkFetched({ remarkForEdit: undefined }));\r\n }\r\n\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .getRemarkById(id)\r\n .then(response => {\r\n const remark = response.data;\r\n dispatch(actions.remarkFetched({ remarkForEdit: remark }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't find remark\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const deleteRemark = id => dispatch => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .deleteRemark(id)\r\n .then(response => {\r\n dispatch(actions.remarkDeleted({ id }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't delete remark\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const createRemark = remarkForCreation => dispatch => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .createRemark(remarkForCreation)\r\n .then(response => {\r\n const { remark } = response.data;\r\n dispatch(actions.remarkCreated({ remark }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't create remark\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const updateRemark = remark => dispatch => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .updateRemark(remark)\r\n .then(() => {\r\n dispatch(actions.remarkUpdated({ remark }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't update remark\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const deleteRemarks = ids => dispatch => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .deleteRemarks(ids)\r\n .then(() => {\r\n console.log(\"delete return\");\r\n dispatch(actions.remarksDeleted({ ids }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't delete remarks\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n","import axios from \"axios\";\r\n\r\nexport const REMARKS_URL = \"api/LocStorageRates\";\r\n\r\n// CREATE => POST: add a new remark to the server\r\nexport function createRemark(remark) {\r\n return axios.post(REMARKS_URL, { remark });\r\n}\r\n\r\n// READ\r\n// Server should return filtered remarks by productId\r\nexport function getAllProductRemarksByProductId(productId) {\r\n return axios.get(`${REMARKS_URL}?productId=${productId}`);\r\n}\r\n\r\nexport function getRemarkById(remarkId) {\r\n return axios.get(`${REMARKS_URL}/${remarkId}`);\r\n}\r\n\r\n// Server should return sorted/filtered remarks and merge with items from state\r\n// TODO: Change your URL to REAL API, right now URL is 'api/remarksfind/{productId}'. Should be 'api/remarks/find/{productId}'!!!\r\nexport function findRemarks(queryParams, productId) {\r\n return axios.post(`${REMARKS_URL}find/${productId}`, { queryParams });\r\n}\r\n\r\n// UPDATE => PUT: update the remark\r\nexport function updateRemark(remark) {\r\n return axios.put(`${REMARKS_URL}/${remark.id}`, { remark });\r\n}\r\n\r\n// DELETE => delete the remark\r\nexport function deleteRemark(remarkId) {\r\n return axios.delete(`${REMARKS_URL}/${remarkId}`);\r\n}\r\n\r\n// DELETE Remarks by ids\r\nexport function deleteRemarks(ids) {\r\n return axios.post(`${REMARKS_URL}/deleteRemarks`, { ids });\r\n}\r\n","/* eslint-disable no-script-url,jsx-a11y/anchor-is-valid */\r\nimport React from \"react\";\r\nimport { OverlayTrigger, Tooltip } from \"react-bootstrap\";\r\nimport SVG from \"react-inlinesvg\";\r\nimport { toAbsoluteUrl } from \"../../../../../../_metronic/_helpers\";\r\n\r\nexport const ActionsColumnFormatter = (\r\n cellContent,\r\n row,\r\n rowIndex,\r\n { openEditRemarkDialog, openDeleteRemarkDialog }\r\n) => (\r\n <>\r\n Edit remark}\r\n >\r\n openEditRemarkDialog(row.id)}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n\r\n <> \r\n Delete remark}\r\n >\r\n openDeleteRemarkDialog(row.id)}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n);\r\n","// React bootstrap table next =>\r\n// DOCS: https://react-bootstrap-table.github.io/react-bootstrap-table2/docs/\r\n// STORYBOOK: https://react-bootstrap-table.github.io/react-bootstrap-table2/storybook/index.html\r\nimport React, { useEffect, useMemo } from \"react\";\r\nimport { shallowEqual, useDispatch, useSelector } from \"react-redux\";\r\nimport BootstrapTable from \"react-bootstrap-table-next\";\r\nimport paginationFactory, {\r\n PaginationProvider,\r\n} from \"react-bootstrap-table2-paginator\";\r\nimport * as actions from \"../../_redux/LocStorageRates/remarksActions\";\r\nimport { ActionsColumnFormatter } from \"./column-formatters/ActionsColumnFormatter\";\r\nimport * as uiHelpers from \"./RemarksUIHelper\";\r\nimport { Pagination } from \"../../../../../_metronic/_partials/controls\";\r\nimport {\r\n getSelectRow,\r\n getHandlerTableChange,\r\n NoRecordsFoundMessage,\r\n PleaseWaitMessage,\r\n sortCaret,\r\n} from \"../../../../../_metronic/_helpers\";\r\nimport { useRemarksUIContext } from \"./RemarksUIContext\";\r\n\r\nexport function RemarksTable() {\r\n // Remarks UI Context\r\n const remarksUIContext = useRemarksUIContext();\r\n const remarksUIProps = useMemo(() => {\r\n return {\r\n ids: remarksUIContext.ids,\r\n setIds: remarksUIContext.setIds,\r\n queryParams: remarksUIContext.queryParams,\r\n setQueryParams: remarksUIContext.setQueryParams,\r\n productId: remarksUIContext.productId,\r\n openEditRemarkDialog: remarksUIContext.openEditRemarkDialog,\r\n openDeleteRemarkDialog: remarksUIContext.openDeleteRemarkDialog,\r\n };\r\n }, [remarksUIContext]);\r\n\r\n // Getting curret state of products list from store (Redux)\r\n const { currentState } = useSelector(\r\n (state) => ({ currentState: state.remarks }),\r\n shallowEqual\r\n );\r\n const { totalCount, entities, listLoading } = currentState;\r\n const dispatch = useDispatch();\r\n useEffect(() => {\r\n remarksUIProps.setIds([]);\r\n dispatch(\r\n actions.fetchRemarks(remarksUIProps.queryParams, remarksUIProps.productId)\r\n );\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [remarksUIProps.queryParams, dispatch, remarksUIProps.productId]);\r\n const columns = [\r\n {\r\n dataField: \"id\",\r\n text: \"ID\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n },\r\n {\r\n dataField: \"warehouse\",\r\n text: \"WAREHOUSE\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n },\r\n {\r\n dataField: \"locationbillingtype\",\r\n text: \"LOCATION BILLING TYPE\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n },\r\n {\r\n dataField: \"rate\",\r\n text: \"RATE\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n },\r\n {\r\n dataField: \"action\",\r\n text: \"Actions\",\r\n formatter: ActionsColumnFormatter,\r\n formatExtraData: {\r\n openEditRemarkDialog: remarksUIProps.openEditRemarkDialog,\r\n },\r\n classes: \"text-center pr-0\",\r\n headerClasses: \"text-center pr-3\",\r\n style: {\r\n minWidth: \"100px\",\r\n },\r\n },\r\n ];\r\n\r\n const paginationOptions = {\r\n custom: true,\r\n totalSize: totalCount,\r\n sizePerPageList: uiHelpers.sizePerPageList,\r\n sizePerPage: remarksUIProps.queryParams.pageSize,\r\n page: remarksUIProps.queryParams.pageNumber,\r\n };\r\n return (\r\n <>\r\n \r\n {({ paginationProps, paginationTableProps }) => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n }}\r\n \r\n \r\n );\r\n}\r\n","import React, {useEffect} from \"react\";\r\nimport {shallowEqual, useSelector} from \"react-redux\";\r\nimport {LoadingDialog} from \"../../../../../_metronic/_partials/controls\";\r\n\r\nexport function RemarksLoadingDialog() {\r\n const { isLoading } = useSelector(\r\n state => ({ isLoading: state.remarks.listLoading }),\r\n shallowEqual\r\n );\r\n useEffect(() => {}, [isLoading]);\r\n return ;\r\n}\r\n","/* eslint-disable no-restricted-imports */\r\nimport React, { useEffect, useMemo } from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { shallowEqual, useDispatch, useSelector } from \"react-redux\";\r\nimport { ModalProgressBar } from \"../../../../../_metronic/_partials/controls\";\r\nimport * as actions from \"../../_redux/LocStorageRates/remarksActions\";\r\nimport { useRemarksUIContext } from \"./RemarksUIContext\";\r\n\r\nexport function RemarksDeleteDialog() {\r\n // Remarks UI Context\r\n const remarksUIContext = useRemarksUIContext();\r\n const remarksUIProps = useMemo(() => {\r\n return {\r\n ids: remarksUIContext.ids,\r\n setIds: remarksUIContext.setIds,\r\n productId: remarksUIContext.productId,\r\n queryParams: remarksUIContext.queryParams,\r\n showDeleteRemarksDialog: remarksUIContext.showDeleteRemarksDialog,\r\n closeDeleteRemarksDialog: remarksUIContext.closeDeleteRemarksDialog,\r\n };\r\n }, [remarksUIContext]);\r\n\r\n const dispatch = useDispatch();\r\n const { isLoading } = useSelector(\r\n (state) => ({ isLoading: state.remarks.actionsLoading }),\r\n shallowEqual\r\n );\r\n\r\n useEffect(() => {}, [isLoading, dispatch]);\r\n useEffect(() => {\r\n if (!remarksUIProps.ids || remarksUIProps.ids.length === 0) {\r\n remarksUIProps.closeDeleteRemarksDialog();\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [remarksUIProps.ids]);\r\n\r\n const deleteRemarks = () => {\r\n dispatch(actions.deleteRemarks(remarksUIProps.ids)).then(() => {\r\n dispatch(\r\n actions.fetchRemarks(\r\n remarksUIProps.queryParams,\r\n remarksUIProps.productId\r\n )\r\n ).then(() => {\r\n remarksUIProps.setIds([]);\r\n remarksUIProps.closeDeleteRemarksDialog();\r\n });\r\n });\r\n };\r\n\r\n return (\r\n \r\n {isLoading && }\r\n \r\n \r\n Remarks Delete\r\n \r\n \r\n \r\n {!isLoading && (\r\n Are you sure to permanently delete selected remarks?\r\n )}\r\n {isLoading && Remarks are deleting...}\r\n \r\n \r\n
    \r\n \r\n Cancel\r\n \r\n <> \r\n \r\n Delete\r\n \r\n
    \r\n
    \r\n \r\n );\r\n}\r\n","/* eslint-disable no-restricted-imports */\r\nimport React, { useEffect, useMemo } from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { shallowEqual, useDispatch, useSelector } from \"react-redux\";\r\nimport { ModalProgressBar } from \"../../../../../_metronic/_partials/controls\";\r\nimport * as actions from \"../../_redux/LocStorageRates/remarksActions\";\r\nimport { useRemarksUIContext } from \"./RemarksUIContext\";\r\n\r\nexport function RemarkDeleteDialog() {\r\n // Remarks UI Context\r\n const remarksUIContext = useRemarksUIContext();\r\n const remarksUIProps = useMemo(() => {\r\n return {\r\n id: remarksUIContext.selectedId,\r\n setIds: remarksUIContext.setIds,\r\n productId: remarksUIContext.productId,\r\n queryParams: remarksUIContext.queryParams,\r\n showDeleteRemarkDialog: remarksUIContext.showDeleteRemarkDialog,\r\n closeDeleteRemarkDialog: remarksUIContext.closeDeleteRemarkDialog,\r\n };\r\n }, [remarksUIContext]);\r\n\r\n // Remarks Redux state\r\n const dispatch = useDispatch();\r\n const { isLoading } = useSelector(\r\n (state) => ({ isLoading: state.remarks.actionsLoading }),\r\n shallowEqual\r\n );\r\n\r\n // if !id we should close modal\r\n useEffect(() => {\r\n if (!remarksUIProps.id) {\r\n remarksUIProps.closeDeleteRemarkDialog();\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [remarksUIProps.id]);\r\n\r\n // looking for loading/dispatch\r\n useEffect(() => {}, [isLoading, dispatch]);\r\n\r\n const deleteRemark = () => {\r\n // server request for deleting remark by id\r\n dispatch(actions.deleteRemark(remarksUIProps.id)).then(() => {\r\n // refresh list after deletion\r\n dispatch(\r\n actions.fetchRemarks(\r\n remarksUIProps.queryParams,\r\n remarksUIProps.productId\r\n )\r\n );\r\n // clear selections list\r\n remarksUIProps.setIds([]);\r\n // closing delete modal\r\n remarksUIProps.closeDeleteRemarkDialog();\r\n });\r\n };\r\n\r\n return (\r\n \r\n {isLoading && }\r\n \r\n \r\n Remark Delete\r\n \r\n \r\n \r\n {!isLoading && (\r\n Are you sure to permanently delete this remark?\r\n )}\r\n {isLoading && Remark is deleting...}\r\n \r\n \r\n
    \r\n \r\n Cancel\r\n \r\n <> \r\n \r\n Delete\r\n \r\n
    \r\n
    \r\n \r\n );\r\n}\r\n","import React, { useEffect, useMemo } from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { shallowEqual, useSelector } from \"react-redux\";\r\nimport { useRemarksUIContext } from \"./RemarksUIContext\";\r\n\r\nconst selectedRemarks = (entities, ids) => {\r\n const _remarks = [];\r\n ids.forEach((id) => {\r\n const remark = entities.find((el) => el.id === id);\r\n if (remark) {\r\n _remarks.push(remark);\r\n }\r\n });\r\n return _remarks;\r\n};\r\n\r\nexport function RemarksFetchDialog() {\r\n // Remarks UI Context\r\n const remarksUIContext = useRemarksUIContext();\r\n const remarksUIProps = useMemo(() => {\r\n return {\r\n ids: remarksUIContext.ids,\r\n queryParams: remarksUIContext.queryParams,\r\n showFetchRemarksDialog: remarksUIContext.showFetchRemarksDialog,\r\n closeFetchRemarksDialog: remarksUIContext.closeFetchRemarksDialog,\r\n };\r\n }, [remarksUIContext]);\r\n\r\n const { remarks } = useSelector(\r\n (state) => ({\r\n remarks: selectedRemarks(state.remarks.entities, remarksUIProps.ids),\r\n }),\r\n shallowEqual\r\n );\r\n\r\n useEffect(() => {\r\n if (!remarksUIProps.ids || remarksUIProps.ids.length === 0) {\r\n remarksUIProps.closeFetchRemarksDialog();\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [remarksUIProps.ids]);\r\n\r\n return (\r\n \r\n \r\n \r\n Fetch selected elements\r\n \r\n \r\n \r\n
    \r\n
    \r\n {remarks.map((remark) => (\r\n
    \r\n \r\n \r\n ID: {remark.id}\r\n {\" \"}\r\n {remark.text} \r\n \r\n
    \r\n ))}\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n Cancel\r\n \r\n <> \r\n \r\n Ok\r\n \r\n
    \r\n
    \r\n \r\n );\r\n}\r\n","import React, { useMemo } from \"react\";\r\nimport { useRemarksUIContext } from \"./RemarksUIContext\";\r\n\r\nexport function RemarksGrouping() {\r\n // Remarks UI Context\r\n const remarksUIContext = useRemarksUIContext();\r\n const remarksUIProps = useMemo(() => {\r\n return {\r\n ids: remarksUIContext.ids,\r\n openDeleteRemarksDialog: remarksUIContext.openDeleteRemarksDialog,\r\n openFetchRemarksDialog: remarksUIContext.openFetchRemarksDialog,\r\n };\r\n }, [remarksUIContext]);\r\n\r\n return (\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n Delete All\r\n \r\n  \r\n \r\n Fetch Selected\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n}\r\n","/* eslint-disable no-restricted-imports */\r\nimport React, { useState, useEffect } from \"react\";\r\nimport { shallowEqual, useSelector } from \"react-redux\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { ModalProgressBar } from \"../../../../../../_metronic/_partials/controls\";\r\n\r\nexport function RemarkEditDialogHeader({ id }) {\r\n const [title, setTitle] = useState(\"\");\r\n // Remarks Redux state\r\n const { remarkForEdit, actionsLoading } = useSelector(\r\n (state) => ({\r\n remarkForEdit: state.remarks.remarkForEdit,\r\n actionsLoading: state.remarks.actionsLoading,\r\n }),\r\n shallowEqual\r\n );\r\n\r\n useEffect(() => {\r\n let _title = id ? \"\" : \"New Remark\";\r\n if (remarkForEdit && id) {\r\n _title = \"Edit remark\";\r\n }\r\n\r\n setTitle(_title);\r\n // eslint-disable-next-line\r\n }, [remarkForEdit, actionsLoading]);\r\n\r\n return (\r\n <>\r\n {actionsLoading && }\r\n \r\n {title}\r\n \r\n \r\n );\r\n}\r\n","// Form is based on Formik\r\n// Data validation is based on Yup\r\n// Please, be familiar with article first:\r\n// https://hackernoon.com/react-form-validation-with-formik-and-yup-8b76bda62e10\r\nimport React from \"react\";\r\nimport clsx from 'clsx';\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { Formik, Form } from \"formik\";\r\nimport * as Yup from \"yup\";\r\nimport TextField from '@material-ui/core/TextField';\r\nimport { makeStyles } from '@material-ui/core/styles';\r\n// Validation schema\r\nconst RemarkEditSchema = Yup.object().shape({\r\n text: Yup.string()\r\n .min(2, \"Minimum 2 symbols\")\r\n .max(50, \"Maximum 50 symbols\")\r\n .required(\"Text is required\"),\r\n type: Yup.number().required(\"Type is required\"),\r\n dueDate: Yup.mixed()\r\n .nullable(false)\r\n .required(\"Due date is required\"),\r\n});\r\nconst useStyles = makeStyles(theme => ({\r\n container: {\r\n display: 'flex',\r\n flexWrap: 'wrap',\r\n },\r\n textField: {\r\n marginLeft: theme.spacing(1),\r\n marginRight: theme.spacing(1),\r\n },\r\n dense: {\r\n marginTop: theme.spacing(2),\r\n },\r\n menu: {\r\n width: 200,\r\n },\r\n}));\r\nexport function RemarkEditForm({ saveRemark, remark, actionsLoading, onHide }) {\r\n const classes = useStyles();\r\n return (\r\n <>\r\n saveRemark(values)}\r\n >\r\n {({ handleSubmit }) => (\r\n <>\r\n \r\n {actionsLoading && (\r\n
    \r\n
    \r\n
    \r\n )}\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n Cancel\r\n \r\n <> \r\n handleSubmit()}\r\n className=\"btn btn-success btn-elevate\"\r\n >\r\n Save\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n );\r\n}\r\n","import React, { useEffect, useMemo } from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { shallowEqual, useDispatch, useSelector } from \"react-redux\";\r\nimport * as actions from \"../../../_redux/LocStorageRates/remarksActions\";\r\nimport { RemarkEditDialogHeader } from \"./RemarkEditDialogHeader\";\r\nimport { RemarkEditForm } from \"./RemarkEditForm\";\r\nimport { useRemarksUIContext } from \"../RemarksUIContext\";\r\n\r\nfunction getFormattedDate(date) {\r\n if (typeof date === \"string\") {\r\n return date;\r\n }\r\n\r\n var year = date.getFullYear();\r\n\r\n var month = (1 + date.getMonth()).toString();\r\n month = month.length > 1 ? month : \"0\" + month;\r\n\r\n var day = date.getDate().toString();\r\n day = day.length > 1 ? day : \"0\" + day;\r\n\r\n return month + \"/\" + day + \"/\" + year;\r\n}\r\n\r\nexport function RemarkEditDialog() {\r\n // Remarks UI Context\r\n const remarksUIContext = useRemarksUIContext();\r\n const remarksUIProps = useMemo(() => {\r\n return {\r\n id: remarksUIContext.selectedId,\r\n setIds: remarksUIContext.setIds,\r\n productId: remarksUIContext.productId,\r\n queryParams: remarksUIContext.queryParams,\r\n showEditRemarkDialog: remarksUIContext.showEditRemarkDialog,\r\n closeEditRemarkDialog: remarksUIContext.closeEditRemarkDialog,\r\n initRemark: remarksUIContext.initRemark,\r\n };\r\n }, [remarksUIContext]);\r\n\r\n // Remarks Redux state\r\n const dispatch = useDispatch();\r\n const { actionsLoading, remarkForEdit } = useSelector(\r\n (state) => ({\r\n actionsLoading: state.remarks.actionsLoading,\r\n remarkForEdit: state.remarks.remarkForEdit,\r\n }),\r\n shallowEqual\r\n );\r\n\r\n useEffect(() => {\r\n // server request for getting remark by seleted id\r\n dispatch(actions.fetchRemark(remarksUIProps.id));\r\n }, [remarksUIProps.id, dispatch]);\r\n\r\n const saveRemark = (remark) => {\r\n remark.dueDate = getFormattedDate(remark.dueDate);\r\n if (!remarksUIProps.id) {\r\n // server request for creating remarks\r\n dispatch(actions.createRemark(remark)).then(() => {\r\n // refresh list after deletion\r\n dispatch(\r\n actions.fetchRemarks(\r\n remarksUIProps.queryParams,\r\n remarksUIProps.productId\r\n )\r\n ).then(() => {\r\n // clear selections list\r\n remarksUIProps.setIds([]);\r\n // closing edit modal\r\n remarksUIProps.closeEditRemarkDialog();\r\n });\r\n });\r\n } else {\r\n // server request for updating remarks\r\n dispatch(actions.updateRemark(remark)).then(() => {\r\n // refresh list after deletion\r\n dispatch(\r\n // refresh list after deletion\r\n actions.fetchRemarks(\r\n remarksUIProps.queryParams,\r\n remarksUIProps.productId\r\n )\r\n ).then(() => {\r\n // clear selections list\r\n remarksUIProps.setIds([]);\r\n // closing edit modal\r\n remarksUIProps.closeEditRemarkDialog();\r\n });\r\n });\r\n }\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n}\r\n","import React, { useMemo } from \"react\";\r\nimport { RemarksFilter } from \"./RemarksFilter\";\r\nimport { RemarksTable } from \"./RemarksTable\";\r\nimport { RemarksLoadingDialog } from \"./RemarksLoadingDialog\";\r\nimport { RemarksDeleteDialog } from \"./RemarksDeleteDialog\";\r\nimport { RemarkDeleteDialog } from \"./RemarkDeleteDialog\";\r\nimport { RemarksFetchDialog } from \"./RemarksFetchDialog\";\r\nimport { RemarksGrouping } from \"./RemarksGrouping\";\r\nimport { RemarkEditDialog } from \"./remark-edit-dialog/RemarkEditDialog\";\r\nimport { useRemarksUIContext } from \"./RemarksUIContext\";\r\n\r\nexport function RemarksLocStorageRates() {\r\n // Remarks UI Context\r\n const remarksUIContext = useRemarksUIContext();\r\n const remarksUIProps = useMemo(() => {\r\n return { ids: remarksUIContext.ids };\r\n }, [remarksUIContext]);\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n {remarksUIProps.ids.length > 0 && }\r\n
    \r\n \r\n \r\n );\r\n}\r\n","import React, { useEffect, useState } from \"react\";\r\nimport PropTypes from 'prop-types';\r\nimport SwipeableViews from 'react-swipeable-views';\r\nimport { makeStyles, useTheme } from '@material-ui/core/styles';\r\nimport AppBar from '@material-ui/core/AppBar';\r\nimport Tabs from '@material-ui/core/Tabs';\r\nimport Tab from '@material-ui/core/Tab';\r\nimport Typography from '@material-ui/core/Typography';\r\nimport TextField from '@material-ui/core/TextField';\r\nimport { useParams } from \"react-router-dom\";\r\nimport axios from \"axios\";\r\nimport { shallowEqual, useSelector } from \"react-redux\";\r\nimport { useSubheader } from \"../../../_metronic/layout\";\r\nimport clsx from 'clsx';\r\nimport FormControlLabel from '@material-ui/core/FormControlLabel';\r\nimport Radio from '@material-ui/core/Radio';\r\nimport RadioGroup from '@material-ui/core/RadioGroup';\r\nimport { Notification } from \"../../modules/Notification\";\r\nimport LinearProgress from \"@material-ui/core/LinearProgress\";\r\n\r\nimport { RemarksUIProvider } from \"../../modules/eMPower/pages/OrderReceiver/RemarksUIContext\";\r\nimport { Remarks } from \"../../modules/eMPower/pages/OrderReceiver/Remarks\";\r\nimport { RemarksUIProviderManual } from \"../../modules/eMPower/pages/BillingManual/RemarksUIContext\";\r\nimport { RemarksManual } from \"../../modules/eMPower/pages/BillingManual/Remarks\";\r\nimport { RemarksUIProviderLocStorageRates } from \"../../modules/eMPower/pages/LocStorageRates/RemarksUIContext\";\r\nimport { RemarksLocStorageRates } from \"../../modules/eMPower/pages/LocStorageRates/Remarks\";\r\n\r\nfunction TabContainer({ children, dir }) {\r\n return (\r\n \r\n {children}\r\n \r\n );\r\n}\r\n\r\nTabContainer.propTypes = {\r\n children: PropTypes.node.isRequired,\r\n dir: PropTypes.string.isRequired,\r\n};\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n root: {\r\n backgroundColor: theme.palette.background.paper,\r\n },\r\n}));\r\n\r\n//Export Function\r\nexport function SystemCalculated() {\r\n const { id } = useParams(\"id\");\r\n const [OrderReceiverList, setOrderReceiverList] = useState([]);\r\n const [RecurStorageList, setRecurStorageList] = useState([]);\r\n const [ManualList, setManualList] = useState([]);\r\n const [LocStorageRatesList, setLocStorageRatesListList] = useState([]);\r\n const classes = useStyles();\r\n const theme = useTheme();\r\n const [value, setValue] = React.useState(0);\r\n const [values, setValues] = React.useState({\r\n name: '',\r\n age: '',\r\n multiline: '',\r\n currency: '',\r\n });\r\n const [checked, setChecked] = React.useState(false);\r\n function handleChanges() {\r\n setChecked(prev => !prev);\r\n }\r\n const HandleChange = name => event => {\r\n setValues({ ...values, [name]: event.target.value });\r\n };\r\n function handleChange(event, newValue) {\r\n setValue(newValue);\r\n }\r\n function handleChangess(event) {\r\n setValue(event.target.value);\r\n }\r\n function handleChangeIndex(index) {\r\n setValue(index);\r\n }\r\n\r\n useEffect(() => {\r\n fetchBillingViewModelAsync();\r\n }, []);\r\n const suhbeader = useSubheader();\r\n const [title, setTitle] = useState(\"\");\r\n const [viewModelOrderReceiverOptions, setViewModelOrderReceiverOptions] = useState([]);\r\n const [viewModelBillingPeriodOptions, setViewModelBillingPeriodOptions] = useState([]);\r\n const [viewModelInventoryOptions, setViewModelInventoryOptions] = useState([]);\r\n\r\n const [viewModelCustomers, setViewModelCustomers] = useState([]);\r\n const [viewModelWarehouses, setViewModelWarehouses] = useState([]);\r\n const [ReccuringAcct, setDataReccuringAcct] = useState([]);\r\n const [MinStorage, setDataMinStorage] = useState([]);\r\n\r\n useEffect(() => {\r\n fetchOrderAsync();\r\n }, []);\r\n\r\n const fetchOrderAsync = async () => {\r\n try {\r\n const result = await axios.get(\"api/OrderReceiver/GetAllApi\");\r\n setViewModelOrderReceiverOptions(result.data[\"OrderReceiverOptions\"].OrderReceiverOptions);\r\n setViewModelBillingPeriodOptions(result.data[\"BillingPeriodOptions\"].BillingPeriodOptions);\r\n setViewModelInventoryOptions(result.data[\"InventoryOptions\"].InventoryOptions);\r\n\r\n setViewModelCustomers(result.data[\"customersList\"]);\r\n setViewModelWarehouses(result.data[\"warhousesList\"]);\r\n } catch (e) { }\r\n };\r\n const { actionsLoading, productForEdit } = useSelector(\r\n (state) => ({\r\n actionsLoading: state.products.actionsLoading,\r\n productForEdit: state.products.productForEdit,\r\n }),\r\n shallowEqual\r\n );\r\n useEffect(() => {\r\n let _title = id ? \"\" : \"System-Calculated Storage and Handling Charge Setup\";\r\n if (productForEdit && id) {\r\n _title = `'${productForEdit.Sku}'`;\r\n }\r\n\r\n setTitle(_title);\r\n suhbeader.setTitle(_title);\r\n }, [productForEdit, id]);\r\n const fetchBillingViewModelAsync = async () => {\r\n setOrderReceiverList([]);\r\n try {\r\n const result = await axios.get(`api/SystemCalculated/${id}`);\r\n if (result.status === 200) {\r\n result.data[1].Charges.map(function (obj) {\r\n switch (obj.Name) {\r\n case 'Order/Receiver':\r\n setOrderReceiverList(obj.Calculators);\r\n break;\r\n case 'Recur. Storage':\r\n setRecurStorageList(obj.Calculators);\r\n break;\r\n case 'Manual':\r\n setManualList(obj.Calculators);\r\n break;\r\n case 'Loc Storage Rates':\r\n setLocStorageRatesListList(obj.Calculators);\r\n break;\r\n default:\r\n setLocStorageRatesListList(obj.Calculators);\r\n }\r\n });\r\n }\r\n } catch (e) {\r\n }\r\n };\r\n const [showProgress, setshowProgress] = useState(false);\r\n const handleCustomerChange = async (event) => {\r\n setshowProgress(true);\r\n setViewModelWarehouses([]);\r\n if (event.target.value !== \"\" && event.target.value !== null) {\r\n const result = await axios.get(`api/receipts/getwarehouses/${event.target.value}`);\r\n if (result.status === 200) {\r\n if (result.data.length > 0)\r\n setViewModelWarehouses(result.data);\r\n else\r\n Notification(\"error\", \"This Customes doesn't have access to any warehouse.\");\r\n }\r\n }\r\n setshowProgress(false);\r\n }\r\n const fetchDataTable = async () => {\r\n const customerId = document.getElementById(\"CustomerId\").value;\r\n const warehouseId = document.getElementById(\"WarehouseId\").value;\r\n if (customerId && warehouseId) {\r\n var result = await axios.post(\"api/OrderReceiver/fetchData\", { customerId: parseInt(customerId), warehouseId: parseInt(warehouseId) });\r\n var fetchData = await axios.post(\"api/OrderReceiver/Find\", result);\r\n setDataReccuringAcct(result.data.RecurringStorageGlAcct);\r\n setDataMinStorage(result.data.MinStorageCharge);\r\n }\r\n }\r\n return (\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n { }}\r\n >\r\n \r\n {viewModelCustomers.map((item, index) => (\r\n \r\n ))}\r\n \r\n \r\n Choose a Customer\r\n \r\n
    \r\n
    \r\n { fetchDataTable(); }}\r\n\r\n >\r\n \r\n {viewModelWarehouses.map((item, index) => (\r\n \r\n ))}\r\n \r\n {showProgress && }\r\n \r\n Choose a Warehouse\r\n \r\n
    \r\n
    \r\n
    \r\n\r\n

    \r\n The system can assess storage and handling charges by volume, weight, or different packaging, providing you tell the system about your inventory\r\n

    \r\n

    \r\n and rates. It may not be able to help with certain indeterminable cases, such as square footage, but it can remind you to bill for them.\r\n

    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {/* First Tab */}\r\n \r\n
    \r\n

    SPLIT PERIOD (AT TIME OF RECEIPT)

    \r\n
    \r\n

    \r\n If you allow \"free days\", the system will charge storage for inventory remaining after the free days. But the system needs to know\r\n

    \r\n

    \r\n which split rate, half or full, to use when the free days expire.\r\n

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n {viewModelOrderReceiverOptions.map((item, index) => (\r\n \r\n ))}\r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n

    HANDLING (AT TIME OF CONFIRMATION)

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

    \r\n Default Unit: This is the most common unit for this customer's order/receiver charges, such as pallet or cubic feet. When creating new items, the system automatically fills in the unit, but you can change it.\r\n

    \r\n

    \r\n Rates: Fill in the grid with default rates for your default unit. Add additional unit rates for this customer, if any. You can override these rates by editing individual items.\r\n

    \r\n

    \r\n Split period rates: If you charge for storage upon receipt, you can charge differently depending on whether the receipt was made in the first or second half of the period. This is referred to as split period storage charges.\r\n

    \r\n

    \r\n Handling rates: The system can automatically charge for handling of Receivers and Shipping.\r\n

    \r\n

    \r\n Items will not have order/receiver storage and handling billed unless they've been set up in the Edit Item Page Unit Of Measure Tab.\r\n

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n Cancel\r\n \r\n <> \r\n \r\n Save\r\n \r\n
    \r\n
    \r\n\r\n {/* Second Tab */}\r\n \r\n
    \r\n
    \r\n

    \r\n The system can automatically prepare recurring storage charges. Tell the system: 1) how often you bill (monthly, semi-monthly, or weekly), 2) when each period ends, and 3) on which days you want the system to count inventory within each period.\r\n

    \r\n

    \r\n Enter a minimum storage charge to have the system adjust this customer's invoices accordingly.\r\n

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

    STORAGE BILLING, FOR THIS CUSTOMER, SAME FOR ALL WAREHOUSES

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n {viewModelBillingPeriodOptions.map((item, index) => (\r\n }\r\n label={item.Name}\r\n labelPlacement=\"start\"\r\n />\r\n ))}\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    INVENTORY COUNTS ON EACH SEMI-MONTHLY BILL

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n {viewModelInventoryOptions.map((item, index) => (\r\n }\r\n label={item.Name}\r\n />\r\n ))}\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n Cancel\r\n \r\n <> \r\n \r\n Save\r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n

    \r\n Each time you tell the system to generate recurring storage charges, the system can remind you to manually calculate specific\r\n

    \r\n

    \r\n additional charges. These charges can be related to items, such as square footage, that the system cannot calculate. Additionally,\r\n

    \r\n

    the charges can be unrelated to items, such as monthly storage of vehicles.

    \r\n
    \r\n \r\n \r\n \r\n \r\n Cancel\r\n \r\n <> \r\n \r\n Save\r\n \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n \r\n \r\n \r\n \r\n Cancel\r\n \r\n <> \r\n \r\n Save\r\n \r\n
    \r\n
    \r\n \r\n
    \r\n );\r\n}\r\n","import React from 'react'\r\nimport { ManageRatesBilling } from \"../../../app/modules/eMPower/pages/ManagerRatesXW/CustomersPage\";\r\n\r\nexport function ManageRatesPage() {\r\n return (\r\n \r\n )\r\n}","import React, { useEffect, useState } from \"react\";\r\nimport { makeStyles } from '@material-ui/core/styles';\r\nimport Paper from '@material-ui/core/Paper';\r\nimport axios from \"axios\";\r\nimport LinearProgress from \"@material-ui/core/LinearProgress\";\r\n\r\n\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n root: {\r\n width: '100%',\r\n marginTop: theme.spacing(3),\r\n overflowX: 'auto',\r\n },\r\n}));\r\nexport function ManageRatesSelect() {\r\n const [id, setId] = useState(0);\r\n const [billingId, setBillingId] = useState(0);\r\n const [customersList, setCustomersList] = useState([]);\r\n const [showProgress, setshowProgress] = useState(false);\r\n\r\n useEffect(() => {\r\n fetchUsersAsync();\r\n \r\n }, []);\r\n const fetchUsersAsync = async () => {\r\n try {\r\n setshowProgress(true);\r\n const result = await axios.get(\"api/ManageItems/Filter\");\r\n setCustomersList(result.data[\"customersList\"]);\r\n setshowProgress(false);\r\n } catch (e) { \r\n setshowProgress(false);\r\n }\r\n };\r\n const classes = useStyles();\r\n const SelectOnclick = () => {\r\n setId(0);\r\n let CustomerId = document.getElementById(\"CustomerId\").value;\r\n let billingId = document.getElementById(\"BillingTypeId\").value;\r\n if (CustomerId) {\r\n setId(CustomerId);\r\n }\r\n if (billingId) {\r\n setBillingId(billingId);\r\n }\r\n }\r\n return (\r\n
    \r\n \r\n
    \r\n \r\n {customersList.map((item, index) => (\r\n \r\n ))}\r\n \r\n {showProgress && }\r\n \r\n Choose a Customer\r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n Choose a Billing Type\r\n \r\n
    \r\n \r\n
    \r\n
    \r\n );\r\n}\r\n","import React from 'react'\r\nimport { ManageEquipmentsPage } from \"../../../app/modules/eMPower/pages/Transload/ManageEquipments/CustomersPage\";\r\n\r\nexport function ManageEquipments() {\r\n return (\r\n \r\n )\r\n}\r\n","import React, { useEffect, useState } from \"react\";\r\nimport { Button, Form, Card, Col } from \"react-bootstrap\";\r\nimport { makeStyles } from \"@material-ui/core/styles\";\r\nimport axios from \"axios\";\r\nimport Select from \"react-select\";\r\nimport { Notification } from \"../../modules/Notification\";\r\nimport { ExcelRenderer } from \"react-excel-renderer\";\r\nimport Table from \"@material-ui/core/Table\";\r\nimport TableBody from \"@material-ui/core/TableBody\";\r\nimport TableCell from \"@material-ui/core/TableCell\";\r\nimport TableHead from \"@material-ui/core/TableHead\";\r\nimport TableRow from \"@material-ui/core/TableRow\";\r\nimport Paper from \"@material-ui/core/Paper\";\r\nimport LocalStorage from \"lowdb/adapters/LocalStorage\";\r\nimport low from \"lowdb\";\r\nimport LinearProgress from \"@material-ui/core/LinearProgress\";\r\nimport { matchPath } from \"react-router\";\r\nimport CreatableSelect from \"react-select/creatable\";\r\nconst adapter = new LocalStorage(\"db\");\r\nconst db = low(adapter);\r\n\r\nexport function ImportReceiptItems(history) {\r\n let receiptId;\r\n let customerId;\r\n const match = matchPath(history.location.pathname, {\r\n path: \"/ReceiptsManagement/ImportItems/:id/:cs\",\r\n });\r\n try {\r\n if (match.params) {\r\n receiptId = match.params?.id;\r\n customerId = match.params?.cs;\r\n }\r\n } catch (err) {\r\n console.log(err);\r\n }\r\n\r\n const useStyles = makeStyles((theme) => ({\r\n root: {\r\n width: \"100%\",\r\n },\r\n paper: {\r\n marginTop: theme.spacing(3),\r\n width: \"100%\",\r\n overflowX: \"auto\",\r\n marginBottom: theme.spacing(2),\r\n },\r\n table: {\r\n minWidth: 650,\r\n },\r\n row: {\r\n height: 50,\r\n },\r\n rowBody: {\r\n height: 50,\r\n fontWeight: \"bold\",\r\n },\r\n button: {\r\n margin: theme.spacing(1),\r\n },\r\n leftIcon: {\r\n marginRight: theme.spacing(1),\r\n },\r\n rightIcon: {\r\n marginLeft: theme.spacing(1),\r\n },\r\n iconSmall: {\r\n fontSize: 20,\r\n },\r\n }));\r\n const classes = useStyles();\r\n const [rowsState, setRowsState] = useState([]);\r\n const [rowsStatBool, setRowsStatBool] = useState(false);\r\n const [rowsEmpty, setRowsEmpty] = useState(true);\r\n const [receiptsList, setReceiptsList] = useState([]);\r\n const [customersList, setCustomersList] = useState([]);\r\n const [importInProgress, setImportInProgress] = useState(false);\r\n const [showProgress, setshowProgress] = useState(false);\r\n const [ReceiptIdValue, setReceiptId] = useState({\r\n value: \"\",\r\n label: \"Select\",\r\n });\r\n const [CustomerIdValue, setCustomerId] = useState({\r\n value: \"\",\r\n label: \"Select\",\r\n });\r\n const [loading, setLoading] = useState(false);\r\n useEffect(() => {\r\n fetchCustomersAsync();\r\n }, []);\r\n const fetchCustomersAsync = async () => {\r\n try {\r\n const result = await axios.get(\"api/purchaseorders/getcustomers\");\r\n if (result.status === 200) {\r\n setCustomersList(result.data);\r\n\r\n //fetchData Ids Selected\r\n var listCustomers = result.data;\r\n if (customerId) {\r\n var customer = listCustomers?.find(\r\n (x) => x.id === parseInt(customerId)\r\n );\r\n setCustomerId({ value: customer.id, label: customer.CompanyName });\r\n handleCustomerChange(customerId);\r\n }\r\n if (receiptId) {\r\n setReceiptId({ value: receiptId, label: receiptId });\r\n }\r\n }\r\n } catch (e) {}\r\n };\r\n const handleCustomerChange = async (event) => {\r\n setshowProgress(true);\r\n setReceiptsList([]);\r\n if (event !== \"\" && event !== null) {\r\n var myHeaders = new Headers();\r\n myHeaders.append(\"Authorization\", `bearer ${db.read().getState().Token}`);\r\n myHeaders.append(\"Content-Type\", \"application/json\");\r\n myHeaders.append(\"X-FP-API-KEY\", \"iphone\");\r\n var requestOptions = {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: myHeaders,\r\n redirect: \"follow\",\r\n };\r\n await fetch(\r\n `${window.$apiurl}/receiptsmanagement/getreceiptsIds?CustomerId=${event}`,\r\n requestOptions\r\n )\r\n .then((response) => response.text())\r\n .then((result) => {\r\n var obj = JSON.parse(result);\r\n var list = obj.map((suggestion) => ({\r\n value: suggestion,\r\n label: suggestion,\r\n }));\r\n setReceiptsList(list);\r\n })\r\n .catch((error) => console.log(\"error\", error));\r\n }\r\n setshowProgress(false);\r\n };\r\n const fileHandlerOnclick = () => {\r\n if (rowsEmpty) {\r\n Notification(\"error\", \"Please select a valid file to import.\");\r\n setRowsStatBool(false);\r\n return false;\r\n }\r\n setRowsStatBool(true);\r\n };\r\n\r\n const fileClear = (event) => {\r\n event.target.value = \"\";\r\n };\r\n\r\n const fileHandler = (event) => {\r\n setRowsStatBool(false);\r\n setRowsState([]);\r\n setRowsEmpty(false);\r\n let fileObj = event.target.files[0];\r\n ExcelRenderer(fileObj, (err, resp) => {\r\n if (err) {\r\n setRowsEmpty(true);\r\n return false;\r\n } else {\r\n if (resp.rows.length < 1) {\r\n setRowsEmpty(true);\r\n return false;\r\n }\r\n var a = resp.rows[0].indexOf(\"PurchaseOrder*\");\r\n var b = resp.rows[0].indexOf(\"Sku\");\r\n var c = resp.rows[0].indexOf(\"CasePack*\");\r\n var d = resp.rows[0].indexOf(\"UnitOfMeasure*\");\r\n var e = resp.rows[0].indexOf(\"UnitCount*\");\r\n var f = resp.rows[0].indexOf(\"Weight*\");\r\n var g = resp.rows[0].indexOf(\"WeightType*\");\r\n var h = resp.rows[0].indexOf(\"Cube*\");\r\n var i = resp.rows[0].indexOf(\"CubeType*\");\r\n var j = resp.rows[0].indexOf(\"Description\");\r\n var k = resp.rows[0].indexOf(\"OverQuantity\");\r\n var l = resp.rows[0].indexOf(\"ShortQuantity\");\r\n var m = resp.rows[0].indexOf(\"DamagedQuantity\");\r\n var n = resp.rows[0].indexOf(\"Pallets\");\r\n var o = resp.rows[0].indexOf(\"IsHot\");\r\n var p = resp.rows[0].indexOf(\"IsHazMat\");\r\n var q = resp.rows[0].indexOf(\"Location\");\r\n var r = resp.rows[0].indexOf(\"UpcNumber\");\r\n if (\r\n a === -1 ||\r\n b === -1 ||\r\n c === -1 ||\r\n d === -1 ||\r\n e === -1 ||\r\n f === -1 ||\r\n g === -1 ||\r\n h === -1 ||\r\n i === -1 ||\r\n j === -1 ||\r\n k === -1 ||\r\n l === -1 ||\r\n m === -1 ||\r\n n === -1 ||\r\n o === -1 ||\r\n p === -1 ||\r\n q === -1 ||\r\n r === -1\r\n ) {\r\n setRowsEmpty(true);\r\n return false;\r\n }\r\n\r\n let rows = [];\r\n resp.rows.slice(1, resp.rows.length).forEach((element, index) => {\r\n var empty = 1;\r\n var error = \"\";\r\n if (\r\n element[a] === undefined ||\r\n element[c] === undefined ||\r\n element[d] === undefined ||\r\n element[e] === undefined ||\r\n element[f] === undefined ||\r\n element[g] === undefined ||\r\n element[h] === undefined ||\r\n element[i] === undefined\r\n ) {\r\n empty = 0;\r\n error = \"Please check the required fields*.\";\r\n }\r\n if (TryParseInt(element[c]) < 0) {\r\n empty = 0;\r\n error = \"Case pack must be a valid number\";\r\n }\r\n if (TryParseInt(element[e]) < 0) {\r\n empty = 0;\r\n error = \"Unit count must be a valid number\";\r\n }\r\n if (TryParseFloat(element[f]) < 0) {\r\n empty = 0;\r\n error = \"Unit count must be a valid number\";\r\n }\r\n if (TryParseFloat(element[h]) < 0) {\r\n empty = 0;\r\n error = \"Unit count must be a valid number\";\r\n }\r\n if (element[c] === \"\" || element[c] === undefined) {\r\n empty = 0;\r\n error = \"Case Pack is required\";\r\n }\r\n if (element[e] === \"\" || element[e] === undefined) {\r\n empty = 0;\r\n error = \"Unit Count is required\";\r\n }\r\n if (element[f] === \"\" || element[f] === undefined) {\r\n empty = 0;\r\n error = \"Weight is required\";\r\n }\r\n if (element[h] === \"\" || element[h] === undefined) {\r\n empty = 0;\r\n error = \"Cube is required\";\r\n }\r\n if (\r\n element[k] !== \"\" &&\r\n element[k] !== undefined &&\r\n TryParseInt(element[k]) <= 0\r\n ) {\r\n empty = 0;\r\n error = \"Over Quantity must be a valid number\";\r\n }\r\n if (\r\n element[l] !== \"\" &&\r\n element[l] !== undefined &&\r\n TryParseInt(element[l]) <= 0\r\n ) {\r\n empty = 0;\r\n error = \"Short Quantity must be a valid number\";\r\n }\r\n if (\r\n element[m] !== \"\" &&\r\n element[m] !== undefined &&\r\n TryParseInt(element[m]) <= 0\r\n ) {\r\n empty = 0;\r\n error = \"Damaged Quantity must be a valid number\";\r\n }\r\n if (\r\n element[n] !== \"\" &&\r\n element[n] !== undefined &&\r\n TryParseInt(element[n]) <= 0\r\n ) {\r\n empty = 0;\r\n error = \"Pallets must be a valid number\";\r\n }\r\n if (element[a] !== undefined)\r\n rows.push(\r\n createData(\r\n empty,\r\n index + 1,\r\n element[a],\r\n element[b],\r\n element[c],\r\n element[d],\r\n element[e],\r\n element[f],\r\n element[g],\r\n element[h],\r\n element[i],\r\n element[j],\r\n element[k],\r\n element[l],\r\n element[m],\r\n element[n],\r\n element[o],\r\n element[p],\r\n element[q],\r\n element[r],\r\n error\r\n )\r\n );\r\n });\r\n setRowsState(rows.reverse());\r\n setRowsEmpty(false);\r\n }\r\n });\r\n };\r\n\r\n const fileUploadeOnclick = async () => {\r\n setImportInProgress(true);\r\n setLoading(true);\r\n const receiptId = ReceiptIdValue.value;\r\n if (receiptId) {\r\n if (rowsStatBool) {\r\n if (rowsState.length > 0) {\r\n var myHeaders = new Headers();\r\n myHeaders.append(\r\n \"Authorization\",\r\n `bearer ${db.read().getState().Token}`\r\n );\r\n myHeaders.append(\"Content-Type\", \"application/json\");\r\n myHeaders.append(\"X-FP-API-KEY\", \"iphone\");\r\n var requestOptions = {\r\n method: \"post\",\r\n withCredentials: true,\r\n headers: myHeaders,\r\n body: JSON.stringify({\r\n ReceiptId: receiptId,\r\n Items: rowsState,\r\n CustomerId: CustomerIdValue?.value,\r\n }),\r\n };\r\n fetch(\r\n `${window.$apiurl}/transload/receipts/importlineitem`,\r\n requestOptions\r\n )\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n let data = {};\r\n if (statusCode === 200) {\r\n Notification(\"success\", \"Import done successfully.\");\r\n } else {\r\n data = await response.json();\r\n const msg =\r\n data?.Message === undefined\r\n ? \"Something went wrong, please try later or contact the support.\"\r\n : data.Message;\r\n Notification(\"error\", msg);\r\n }\r\n })\r\n .then((res) => {\r\n return res;\r\n })\r\n .catch((err) => {\r\n console.log(err);\r\n });\r\n\r\n // var result = await axios.post(\"api/purchaseorders/import\", { customerId: customerId, purchaseOrders: rowsState });\r\n // if (result.data.success === true) {\r\n // Notification(\"success\", \"Import done successfully.\");\r\n // }\r\n // else {\r\n // const msg = result.data.Message === undefined ? \"Something went wrong, please try later or contact the support.\" : result.data.Message;\r\n // Notification(\"error\", msg);\r\n // }\r\n } else {\r\n Notification(\"error\", \"Please select a valid file to emport.\");\r\n }\r\n } else {\r\n Notification(\"error\", \"Please select a valid file to import.\");\r\n }\r\n } else {\r\n Notification(\"error\", \"Please select a receipt.\");\r\n }\r\n setLoading(false);\r\n setImportInProgress(false);\r\n };\r\n\r\n function createData(\r\n Empty,\r\n Index,\r\n PurchaseOrder,\r\n Sku,\r\n Pieces,\r\n UnitOfMeasure,\r\n UnitCount,\r\n Weight,\r\n WeightType,\r\n Cube,\r\n CubeType,\r\n Description,\r\n OverQuantity,\r\n ShortQuantity,\r\n DamagedQuantity,\r\n Pallets,\r\n IsHot,\r\n IsHazMat,\r\n Location,\r\n UpcNumber,\r\n Error\r\n ) {\r\n return {\r\n Empty,\r\n Index,\r\n PurchaseOrder,\r\n Sku,\r\n Pieces,\r\n UnitOfMeasure,\r\n UnitCount,\r\n Weight,\r\n WeightType,\r\n Cube,\r\n CubeType,\r\n Description,\r\n OverQuantity,\r\n ShortQuantity,\r\n DamagedQuantity,\r\n Pallets,\r\n IsHot,\r\n IsHazMat,\r\n Location,\r\n UpcNumber,\r\n Error,\r\n };\r\n }\r\n\r\n function TryParseInt(str) {\r\n var retValue = 0;\r\n if (typeof str === \"number\") return str;\r\n if (str !== null && str !== undefined) {\r\n if (str.length > 0) {\r\n if (!isNaN(str)) {\r\n retValue = parseInt(str);\r\n }\r\n }\r\n }\r\n return retValue;\r\n }\r\n\r\n function TryParseFloat(str) {\r\n var retValue = 0;\r\n if (typeof str === \"number\") return str;\r\n if (str !== null && str !== undefined) {\r\n if (str.length > 0) {\r\n if (!isNaN(str)) {\r\n retValue = parseFloat(str);\r\n }\r\n }\r\n }\r\n return retValue;\r\n }\r\n return (\r\n \r\n \r\n
    \r\n \r\n
    \r\n Choose a Customer\r\n {\r\n if (e === null) {\r\n setCustomerId({\r\n value: \"\",\r\n label: \"Select\",\r\n });\r\n } else {\r\n handleCustomerChange(e?.value);\r\n setCustomerId(e);\r\n }\r\n }}\r\n options={customersList.map((x) => {\r\n return { value: x?.id, label: x?.CompanyName };\r\n })}\r\n name=\"CustomerId\"\r\n id=\"CustomerId\"\r\n className=\"w-100 mr-2\"\r\n />\r\n {/* {}}\r\n >\r\n \r\n {customersList.map((item, index) => (\r\n \r\n ))}\r\n */}\r\n
    \r\n
    \r\n {/* Choose a Receipt\r\n */}\r\n

    Receipt Id

    \r\n {\r\n if (e === null) {\r\n setReceiptId({\r\n value: \"\",\r\n label: \"Select\",\r\n });\r\n } else {\r\n setReceiptId(e);\r\n }\r\n }}\r\n options={receiptsList}\r\n name=\"ReceiptId\"\r\n id=\"ReceiptId\"\r\n className=\"w-100 mr-2\"\r\n />\r\n {showProgress && }\r\n
    \r\n \r\n Import \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n \r\n \r\n IMPORT FILE\r\n \r\n
    \r\n

    \r\n Use the 'Browse...' button to select a receipt items import\r\n file.{\" \"}\r\n \r\n Download Template\r\n \r\n

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

    Then press the 'Import' button to read the file.

    \r\n
    \r\n\r\n {\r\n fileHandlerOnclick();\r\n }}\r\n />\r\n
    \r\n
    \r\n {rowsStatBool && (\r\n \r\n \r\n \r\n \r\n \r\n \r\n Is Valid\r\n \r\n {/* \r\n Line\r\n */}\r\n \r\n Purchase Order*\r\n \r\n \r\n Sku\r\n \r\n \r\n Case Pack*\r\n \r\n \r\n Unit Of Measure*\r\n \r\n \r\n Unit Count*\r\n \r\n \r\n Weight*\r\n \r\n \r\n Weight Type*\r\n \r\n \r\n Cube*\r\n \r\n \r\n Cube Type*\r\n \r\n \r\n Description\r\n \r\n \r\n Ovr Qty\r\n \r\n \r\n Short Qty\r\n \r\n \r\n Damaged Qty\r\n \r\n \r\n Pallets\r\n \r\n \r\n Is Hot\r\n \r\n \r\n Is HazMat\r\n \r\n \r\n Location\r\n \r\n \r\n Upc Number\r\n \r\n \r\n \r\n \r\n {rowsState.map((row) => (\r\n \r\n \r\n {row.Empty === 1 && (\r\n \r\n )}\r\n {row.Empty === 0 && (\r\n \r\n )}\r\n \r\n {/* {row.Index} */}\r\n {row.PurchaseOrder}\r\n {row.Sku}\r\n {row.Pieces}\r\n {row.UnitOfMeasure}\r\n {row.UnitCount}\r\n {row.Weight}\r\n {row.WeightType}\r\n {row.Cube}\r\n {row.CubeType}\r\n {row.Description}\r\n {row.OverQuantity}\r\n {row.ShortQuantity}\r\n {row.DamagedQuantity}\r\n {row.Pallets}\r\n {row.IsHot}\r\n {row.IsHazMat}\r\n {row.Location}\r\n {row.UpcNumber}\r\n \r\n ))}\r\n \r\n
    \r\n
    \r\n
    \r\n {\" \"}\r\n \r\n {rowsState.length > 0\r\n ? rowsState.length + \" Items(s)\"\r\n : \"No item was imported\"}\r\n .\r\n \r\n
    \r\n
    \r\n )}{\" \"}\r\n \r\n \r\n \r\n Create\r\n \r\n
    \r\n

    \r\n Use the 'Browse...' button to select a receipt items import\r\n file.\r\n

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

    Press the 'Create' button to create the receipt items.

    \r\n
    \r\n\r\n {\r\n fileUploadeOnclick();\r\n }}\r\n disabled={importInProgress}\r\n className=\"btn btn-success btn-shadow-hover mr-2\"\r\n >\r\n {importInProgress ? \"Importing...\" : \"Create\"}\r\n {loading && (\r\n \r\n )}\r\n \r\n {/* {\r\n fileUploadeOnclick();\r\n }}\r\n /> */}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n}\r\n","import React, { useEffect, useState } from \"react\";\r\nimport { Button, Form, Card, Col } from \"react-bootstrap\";\r\nimport { makeStyles } from \"@material-ui/core/styles\";\r\nimport axios from \"axios\";\r\nimport Select from \"react-select\";\r\nimport { Notification } from \"../../modules/Notification\";\r\nimport { ExcelRenderer } from \"react-excel-renderer\";\r\nimport Table from \"@material-ui/core/Table\";\r\nimport TableBody from \"@material-ui/core/TableBody\";\r\nimport TableCell from \"@material-ui/core/TableCell\";\r\nimport TableHead from \"@material-ui/core/TableHead\";\r\nimport TableRow from \"@material-ui/core/TableRow\";\r\nimport Paper from \"@material-ui/core/Paper\";\r\nimport LocalStorage from \"lowdb/adapters/LocalStorage\";\r\nimport low from \"lowdb\";\r\nimport LinearProgress from \"@material-ui/core/LinearProgress\";\r\nimport { matchPath } from \"react-router\";\r\nimport CreatableSelect from \"react-select/creatable\";\r\nconst adapter = new LocalStorage(\"db\");\r\nconst db = low(adapter);\r\n\r\nexport function ImportUsersPage() {\r\n const useStyles = makeStyles((theme) => ({\r\n root: {\r\n width: \"100%\",\r\n },\r\n paper: {\r\n marginTop: theme.spacing(3),\r\n width: \"100%\",\r\n overflowX: \"auto\",\r\n marginBottom: theme.spacing(2),\r\n },\r\n table: {\r\n minWidth: 650,\r\n },\r\n row: {\r\n height: 50,\r\n },\r\n rowBody: {\r\n height: 50,\r\n fontWeight: \"bold\",\r\n },\r\n button: {\r\n margin: theme.spacing(1),\r\n },\r\n leftIcon: {\r\n marginRight: theme.spacing(1),\r\n },\r\n rightIcon: {\r\n marginLeft: theme.spacing(1),\r\n },\r\n iconSmall: {\r\n fontSize: 20,\r\n },\r\n }));\r\n const classes = useStyles();\r\n const [rowsState, setRowsState] = useState([]);\r\n const [rowsStatBool, setRowsStatBool] = useState(false);\r\n const [rowsEmpty, setRowsEmpty] = useState(true);\r\n const [importInProgress, setImportInProgress] = useState(false);\r\n const [showProgress, setshowProgress] = useState(false);\r\n const [loading, setLoading] = useState(false);\r\n\r\n const fileHandlerOnclick = () => {\r\n if (rowsEmpty) {\r\n Notification(\"error\", \"Please select a valid file to import.\");\r\n setRowsStatBool(false);\r\n return false;\r\n }\r\n setRowsStatBool(true);\r\n };\r\n\r\n const fileClear = (event) => {\r\n event.target.value = \"\";\r\n };\r\n\r\n const fileHandler = (event) => {\r\n setRowsStatBool(false);\r\n setRowsState([]);\r\n setRowsEmpty(false);\r\n let fileObj = event.target.files[0];\r\n ExcelRenderer(fileObj, (err, resp) => {\r\n if (err) {\r\n setRowsEmpty(true);\r\n return false;\r\n } else {\r\n if (resp.rows.length < 1) {\r\n setRowsEmpty(true);\r\n return false;\r\n }\r\n var a = resp.rows[0].indexOf(\"Name\");\r\n var b = resp.rows[0].indexOf(\"AccountName*\");\r\n var c = resp.rows[0].indexOf(\"Email*\");\r\n var d = resp.rows[0].indexOf(\"Password*\");\r\n var e = resp.rows[0].indexOf(\"PhoneNumber\");\r\n var f = resp.rows[0].indexOf(\"CellCarrier*\");\r\n var g = resp.rows[0].indexOf(\"UserAccess*\");\r\n var h = resp.rows[0].indexOf(\"Role*\");\r\n var i = resp.rows[0].indexOf(\"ClassicViewAccess*\");\r\n var j = resp.rows[0].indexOf(\"IsActive*\");\r\n if (\r\n a === -1 ||\r\n b === -1 ||\r\n c === -1 ||\r\n d === -1 ||\r\n e === -1 ||\r\n f === -1 ||\r\n g === -1 ||\r\n h === -1 ||\r\n i === -1 ||\r\n j === -1\r\n ) {\r\n setRowsEmpty(true);\r\n return false;\r\n }\r\n\r\n let rows = [];\r\n resp.rows.slice(1, resp.rows.length).forEach((element, index) => {\r\n var empty = 1;\r\n var error = \"\";\r\n if (\r\n element[b] === undefined ||\r\n element[c] === undefined ||\r\n element[d] === undefined ||\r\n element[e] === undefined ||\r\n element[f] === undefined ||\r\n element[g] === undefined ||\r\n element[h] === undefined ||\r\n element[i] === undefined ||\r\n element[j] === undefined \r\n ) {\r\n empty = 0;\r\n error = \"Please check the required fields*.\";\r\n }\r\n\r\n if (element[b] === \"\" || element[b] === undefined) {\r\n empty = 0;\r\n error = \"Account Name is required\";\r\n }\r\n if (element[c] === \"\" || element[c] === undefined) {\r\n empty = 0;\r\n error = \"Email is required\";\r\n }\r\n if (element[d] === \"\" || element[d] === undefined) {\r\n empty = 0;\r\n error = \"Password is required\";\r\n }\r\n if (element[h] === \"\" || element[h] === undefined) {\r\n empty = 0;\r\n error = \"Role is required\";\r\n }\r\n if (element[f] === \"\" || element[f] === undefined) {\r\n empty = 0;\r\n error = \"Cell Carrier is required\";\r\n }\r\n if (element[g] === \"\" || element[g] === undefined) {\r\n empty = 0;\r\n error = \"User Access is required\";\r\n }\r\n if (element[j] === \"\" || element[j] === undefined) {\r\n empty = 0;\r\n error = \"Is Active is required\";\r\n }\r\n if (element[a] !== undefined)\r\n rows.push(\r\n createData(\r\n empty,\r\n index + 1,\r\n element[a],\r\n element[b],\r\n element[c],\r\n element[d],\r\n element[e],\r\n element[f],\r\n element[g],\r\n element[h],\r\n element[i],\r\n element[j],\r\n error\r\n )\r\n );\r\n });\r\n setRowsState(rows.reverse());\r\n setRowsEmpty(false);\r\n }\r\n });\r\n };\r\n\r\n const fileUploadeOnclick = async () => {\r\n setImportInProgress(true);\r\n setLoading(true);\r\n if (rowsStatBool) {\r\n if (rowsState.length > 0) {\r\n var myHeaders = new Headers();\r\n myHeaders.append(\r\n \"Authorization\",\r\n `bearer ${db.read().getState().Token}`\r\n );\r\n myHeaders.append(\"Content-Type\", \"application/json\");\r\n myHeaders.append(\"X-FP-API-KEY\", \"iphone\");\r\n var requestOptions = {\r\n method: \"post\",\r\n withCredentials: true,\r\n headers: myHeaders,\r\n body: JSON.stringify({\r\n usersList: rowsState,\r\n }),\r\n };\r\n fetch(\r\n `${window.$apiurl}/users/ImportUsers`,\r\n requestOptions\r\n )\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n let data = {};\r\n if (statusCode === 200) {\r\n Notification(\"success\", \"Import done successfully.\");\r\n } else {\r\n data = await response.json();\r\n const msg =\r\n data?.Message === undefined\r\n ? \"Something went wrong, please try later or contact the support.\"\r\n : data.Message;\r\n Notification(\"error\", msg);\r\n }\r\n })\r\n .then((res) => {\r\n return res;\r\n })\r\n .catch((err) => {\r\n console.log(err);\r\n });\r\n } else {\r\n Notification(\"error\", \"Please select a valid file to emport.\");\r\n }\r\n } else {\r\n Notification(\"error\", \"Please select a valid file to import.\");\r\n }\r\n setLoading(false);\r\n setImportInProgress(false);\r\n };\r\n\r\n function createData(\r\n Empty,\r\n Index,\r\n Name,\r\n AccountName,\r\n Email,\r\n Password,\r\n PhoneNumber,\r\n CellCarrier,\r\n UserAccess,\r\n Role,\r\n ClassicViewAccess,\r\n IsActive,\r\n Error\r\n ) {\r\n return {\r\n Empty,\r\n Index,\r\n Name,\r\n AccountName,\r\n Email,\r\n Password,\r\n PhoneNumber,\r\n CellCarrier,\r\n UserAccess,\r\n Role,\r\n ClassicViewAccess,\r\n IsActive,\r\n Error,\r\n };\r\n }\r\n\r\n function TryParseInt(str) {\r\n var retValue = 0;\r\n if (typeof str === \"number\") return str;\r\n if (str !== null && str !== undefined) {\r\n if (str.length > 0) {\r\n if (!isNaN(str)) {\r\n retValue = parseInt(str);\r\n }\r\n }\r\n }\r\n return retValue;\r\n }\r\n\r\n function TryParseFloat(str) {\r\n var retValue = 0;\r\n if (typeof str === \"number\") return str;\r\n if (str !== null && str !== undefined) {\r\n if (str.length > 0) {\r\n if (!isNaN(str)) {\r\n retValue = parseFloat(str);\r\n }\r\n }\r\n }\r\n return retValue;\r\n }\r\n return (\r\n \r\n \r\n
    \r\n \r\n \r\n Import \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n IMPORT FILE\r\n \r\n
    \r\n

    \r\n Use the 'Browse...' button to select a Users import file.{\" \"}\r\n \r\n Download Template\r\n \r\n

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

    Then press the 'Import' button to read the file.

    \r\n
    \r\n\r\n {\r\n fileHandlerOnclick();\r\n }}\r\n />\r\n
    \r\n
    \r\n {rowsStatBool && (\r\n \r\n \r\n \r\n \r\n \r\n \r\n Is Valid\r\n \r\n \r\n Name\r\n \r\n \r\n Account Name*\r\n \r\n \r\n Email*\r\n \r\n \r\n Password*\r\n \r\n \r\n Phone Number*\r\n \r\n \r\n Cell Carrier*\r\n \r\n \r\n User Access*\r\n \r\n \r\n Role*\r\n \r\n \r\n Classic View Access*\r\n \r\n \r\n Is Active*\r\n \r\n \r\n \r\n \r\n {rowsState.map((row) => (\r\n \r\n \r\n {row.Empty === 1 && (\r\n \r\n )}\r\n {row.Empty === 0 && (\r\n \r\n )}\r\n \r\n {row.Name}\r\n {row.AccountName}\r\n {row.Email}\r\n {row.Password}\r\n {row.PhoneNumber}\r\n {row.CellCarrier}\r\n {row.UserAccess}\r\n {row.Role}\r\n {row.ClassicViewAccess}\r\n {row.IsActive}\r\n \r\n ))}\r\n \r\n
    \r\n
    \r\n
    \r\n {\" \"}\r\n \r\n {rowsState.length > 0\r\n ? rowsState.length + \" Items(s)\"\r\n : \"No item was imported\"}\r\n .\r\n \r\n
    \r\n
    \r\n )}{\" \"}\r\n \r\n \r\n \r\n Create\r\n \r\n
    \r\n

    \r\n Use the 'Browse...' button to select a Users import\r\n file.\r\n

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

    Press the 'Create' button to create the Users.

    \r\n
    \r\n\r\n {\r\n fileUploadeOnclick();\r\n }}\r\n disabled={importInProgress}\r\n className=\"btn btn-success btn-shadow-hover mr-2\"\r\n >\r\n {importInProgress ? \"Importing...\" : \"Create\"}\r\n {loading && (\r\n \r\n )}\r\n \r\n {/* {\r\n fileUploadeOnclick();\r\n }}\r\n /> */}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n}\r\n","import React from 'react'\r\nimport { Button, Form, Card, Col, Dropdown, Alert } from \"react-bootstrap\";\r\n\r\nexport function BatchItemUpdateItems() {\r\n return (\r\n\r\n \r\n \r\n
    \r\n \r\n \r\n Choose a Customer\r\n \r\n \r\n Choose a Customer\r\n \r\n \r\n Action\r\n Another action\r\n Something else\r\n \r\n \r\n \r\n\r\n \r\n Warehouse\r\n \r\n \r\n Select Warehouse\r\n \r\n \r\n Action\r\n Another action\r\n Something else\r\n \r\n \r\n \r\n \r\n\r\n \r\n
    \r\n\r\n \r\n\r\n \r\n \r\n \r\n )\r\n}\r\n","import React from 'react'\r\nimport { Button, Form, Card, Dropdown, Alert } from \"react-bootstrap\";\r\n\r\nexport function ImportAssembliesItems() {\r\n return (\r\n\r\n \r\n \r\n
    \r\n \r\n\r\n
    \r\n Choose a Customer\t\r\n \r\n \r\n Select\r\n \r\n \r\n Action\r\n Another action\r\n Something else\r\n \r\n \r\n
    \r\n\r\n
    \r\n Warehouse\r\n \r\n \r\n Select\r\n \r\n \r\n Action\r\n Another action\r\n Something else\r\n \r\n \r\n
    \r\n\r\n\r\n\r\n\r\n
    \r\n\r\n

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

    IMPORT FILE

    \r\n
    \r\n
    \r\n\r\n
    \r\n \r\n Use the 'Browse...' button to select an assembly import file.

    \r\n Files must contain no more than 2500 Serial Numbers.\r\n
    \r\n
    \r\n\r\n
    \r\n Assembly File \r\n \r\n
    \r\n\r\n\r\n
    \r\n \r\n Then press the 'Import' button to read the file and create assemblies.\r\n \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n\r\n
    \r\n
    \r\n
    \r\n )\r\n}\r\n","import React, { useEffect, useState } from \"react\";\r\nimport { makeStyles } from \"@material-ui/core/styles\";\r\nimport { Button, Form, Card, Col, Alert } from \"react-bootstrap\";\r\nimport { ExcelRenderer } from \"react-excel-renderer\";\r\nimport axios from \"axios\";\r\nimport { Notification } from \"../../modules/Notification\";\r\nimport Table from \"@material-ui/core/Table\";\r\nimport TableBody from \"@material-ui/core/TableBody\";\r\nimport TableCell from \"@material-ui/core/TableCell\";\r\nimport TableHead from \"@material-ui/core/TableHead\";\r\nimport TableRow from \"@material-ui/core/TableRow\";\r\nimport Paper from \"@material-ui/core/Paper\";\r\nimport LinearProgress from \"@material-ui/core/LinearProgress\";\r\nimport Radio from \"@material-ui/core/Radio\";\r\nimport RadioGroup from \"@material-ui/core/RadioGroup\";\r\nimport FormControlLabel from \"@material-ui/core/FormControlLabel\";\r\nimport FormControl from \"@material-ui/core/FormControl\";\r\nimport FormLabel from \"@material-ui/core/FormLabel\";\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n root: {\r\n width: \"100%\",\r\n },\r\n paper: {\r\n marginTop: theme.spacing(3),\r\n width: \"100%\",\r\n overflowX: \"auto\",\r\n marginBottom: theme.spacing(2),\r\n },\r\n table: {\r\n minWidth: 650,\r\n },\r\n row: {\r\n height: 50,\r\n },\r\n rowBody: {\r\n height: 50,\r\n fontWeight: \"bold\",\r\n },\r\n}));\r\n\r\nfunction IconFont() {\r\n return (\r\n
    \r\n );\r\n}\r\n\r\nexport function ImportItems() {\r\n const classes = useStyles();\r\n const [customersList, setCustomersList] = useState([]);\r\n const [rowsStat, setRowsStat] = useState([]);\r\n const [rowsStatValid, setRowsStatValid] = useState([]);\r\n const [rowsStatBool, setRowsStatBool] = useState(false);\r\n const [rowsEmpty, setRowsEmpty] = useState(true);\r\n\r\n useEffect(() => {\r\n fetchUsersAsync();\r\n }, []);\r\n\r\n const fetchUsersAsync = async () => {\r\n try {\r\n const result = await axios.get(\"api/ManageItems/Filter\");\r\n setCustomersList(result.data[\"customersList\"]);\r\n } catch (e) {}\r\n };\r\n\r\n function createData(\r\n empty,\r\n SKU,\r\n Description,\r\n Description2,\r\n Min,\r\n Max,\r\n CycleCount,\r\n ReorderQty,\r\n InventoryMethod,\r\n Temperature,\r\n Cost,\r\n UPC,\r\n TrackLot,\r\n TrackSerial,\r\n TrackExpDate,\r\n PrimaryInventoryUnitOfMeasureId,\r\n PackagingUnitOfMeasureId,\r\n PackingUOMQty,\r\n Length,\r\n Width,\r\n Height,\r\n Weight,\r\n Qualifiers,\r\n StorageSetup,\r\n VariableSetup,\r\n NMFC,\r\n LotNumberRequired,\r\n SerialNumberRequired,\r\n SerialNumber,\r\n ExpDateReqRequired,\r\n EnableCost,\r\n CostRequired,\r\n HazardousMaterial,\r\n HazMatID,\r\n HazMatShippingName,\r\n HazMatHazardClass,\r\n HazMatPackingGroup,\r\n HazMatFlashPoint,\r\n HazMatLabelCode,\r\n HazMatFlag,\r\n ImageURL,\r\n StorageCountScriptTemplateID,\r\n StorageRates,\r\n OutboundMobileSerializationBehavior,\r\n Price,\r\n TotalQty,\r\n UnitType\r\n ) {\r\n return {\r\n empty,\r\n SKU,\r\n Description,\r\n Description2,\r\n Min,\r\n Max,\r\n CycleCount,\r\n ReorderQty,\r\n InventoryMethod,\r\n Temperature,\r\n Cost,\r\n UPC,\r\n TrackLot,\r\n TrackSerial,\r\n TrackExpDate,\r\n PrimaryInventoryUnitOfMeasureId,\r\n PackagingUnitOfMeasureId,\r\n PackingUOMQty,\r\n Length,\r\n Width,\r\n Height,\r\n Weight,\r\n Qualifiers,\r\n StorageSetup,\r\n VariableSetup,\r\n NMFC,\r\n LotNumberRequired,\r\n SerialNumberRequired,\r\n SerialNumber,\r\n ExpDateReqRequired,\r\n EnableCost,\r\n CostRequired,\r\n HazardousMaterial,\r\n HazMatID,\r\n HazMatShippingName,\r\n HazMatHazardClass,\r\n HazMatPackingGroup,\r\n HazMatFlashPoint,\r\n HazMatLabelCode,\r\n HazMatFlag,\r\n ImageURL,\r\n StorageCountScriptTemplateID,\r\n StorageRates,\r\n OutboundMobileSerializationBehavior,\r\n Price,\r\n TotalQty,\r\n UnitType,\r\n };\r\n }\r\n\r\n const fileHandler = (event) => {\r\n let fileObj = event.target.files[0];\r\n\r\n ExcelRenderer(fileObj, (err, resp) => {\r\n if (err) {\r\n setRowsEmpty(true);\r\n return false;\r\n } else {\r\n var a = resp.rows[1].indexOf(\"SKU\");\r\n var b = resp.rows[1].indexOf(\"Description\");\r\n var c = resp.rows[1].indexOf(\"Description2\");\r\n var d = resp.rows[1].indexOf(\"Min\");\r\n var e = resp.rows[1].indexOf(\"Max\");\r\n var f = resp.rows[1].indexOf(\"Cycle Count\");\r\n var j = resp.rows[1].indexOf(\"ReorderQty\");\r\n var h = resp.rows[1].indexOf(\"Inventory Method\");\r\n var i = resp.rows[1].indexOf(\"Temperature\");\r\n var g = resp.rows[1].indexOf(\"Cost\");\r\n var k = resp.rows[1].indexOf(\"UPC\");\r\n var m = resp.rows[1].indexOf(\"Track Lot\");\r\n var aa = resp.rows[1].indexOf(\"Track Serial\");\r\n var ab = resp.rows[1].indexOf(\"Track ExpDate\");\r\n var ac = resp.rows[1].indexOf(\"Primary Unit of Measure\");\r\n var ad = resp.rows[1].indexOf(\"Packaging Unit\");\r\n var ae = resp.rows[1].indexOf(\"Packing UOM Qty\");\r\n var af = resp.rows[1].indexOf(\"Length\");\r\n var aj = resp.rows[1].indexOf(\"Width\");\r\n var ah = resp.rows[1].indexOf(\"Height\");\r\n var ai = resp.rows[1].indexOf(\"Weight\");\r\n var ag = resp.rows[1].indexOf(\"Qualifiers\");\r\n var ak = resp.rows[1].indexOf(\"Storage Setup\");\r\n var am = resp.rows[1].indexOf(\"Variable Setup\");\r\n var ba = resp.rows[1].indexOf(\"NMFC#\");\r\n var bb = resp.rows[1].indexOf(\"Lot Number Required\");\r\n var bc = resp.rows[1].indexOf(\"Serial Number Required\");\r\n var bd = resp.rows[1].indexOf(\"Serial Number (must be unique)\");\r\n var be = resp.rows[1].indexOf(\"Exp Date Req\");\r\n var bf = resp.rows[1].indexOf(\"Enable Cost\");\r\n var bj = resp.rows[1].indexOf(\"Cost Required\");\r\n var bh = resp.rows[1].indexOf(\"IsHazMat\");\r\n var bi = resp.rows[1].indexOf(\"HazMatID\");\r\n var bg = resp.rows[1].indexOf(\"HazMatShippingName\");\r\n var bk = resp.rows[1].indexOf(\"HazMatHazardClass\");\r\n var bm = resp.rows[1].indexOf(\"HazMatPackingGroup\");\r\n var ca = resp.rows[1].indexOf(\"HazMatFlashPoint\");\r\n var cb = resp.rows[1].indexOf(\"HazMatLabelCode\");\r\n var cc = resp.rows[1].indexOf(\"HazMatFlag\");\r\n var cd = resp.rows[1].indexOf(\"Image URL\");\r\n var ce = resp.rows[1].indexOf(\"StorageCountScriptTemplateID\");\r\n var cf = resp.rows[1].indexOf(\"StorageRates\");\r\n var cj = resp.rows[1].indexOf(\"OutboundMobileSerializationBehavior\");\r\n var ch = resp.rows[1].indexOf(\"Price\");\r\n var ci = resp.rows[1].indexOf(\"TotalQty\");\r\n var cg = resp.rows[1].indexOf(\"UnitType\");\r\n\r\n if (\r\n a === -1 ||\r\n b === -1 ||\r\n m === -1 ||\r\n aa === -1 ||\r\n ab === -1 ||\r\n ac === -1 ||\r\n ad === -1 ||\r\n ae === -1 ||\r\n af === -1 ||\r\n aj === -1 ||\r\n ah === -1 ||\r\n ai === -1 ||\r\n bb === -1 ||\r\n bc === -1 ||\r\n bd === -1 ||\r\n be === -1 ||\r\n bf === -1 ||\r\n bj === -1\r\n ) {\r\n setRowsEmpty(true);\r\n return false;\r\n }\r\n\r\n let rows = [];\r\n let rows2 = [];\r\n resp.rows.slice(2, resp.rows.length).forEach((element, index) => {\r\n if (element.length === 0) return false;\r\n var empty = 1;\r\n if (\r\n element[a] === undefined ||\r\n element[b] === undefined ||\r\n element[m] === undefined ||\r\n element[aa] === undefined ||\r\n element[ab] === undefined ||\r\n element[ac] === undefined ||\r\n element[ad] === undefined ||\r\n element[ae] === undefined ||\r\n element[af] === undefined ||\r\n element[aj] === undefined ||\r\n element[ah] === undefined ||\r\n element[ai] === undefined ||\r\n element[bb] === undefined ||\r\n element[bc] === undefined ||\r\n element[bd] === undefined ||\r\n element[be] === undefined ||\r\n element[bf] === undefined ||\r\n element[bj] === undefined\r\n )\r\n empty = 0;\r\n rows.push(\r\n createData(\r\n empty,\r\n element[a],\r\n element[b],\r\n element[c],\r\n element[d],\r\n element[e],\r\n element[f],\r\n element[j],\r\n element[h],\r\n element[i],\r\n element[g],\r\n element[k],\r\n element[m],\r\n element[aa],\r\n element[ab],\r\n element[ac],\r\n element[ad],\r\n element[ae],\r\n element[af],\r\n element[aj],\r\n element[ah],\r\n element[ai],\r\n element[ag],\r\n element[ak],\r\n element[am],\r\n element[ba],\r\n element[bb],\r\n element[bc],\r\n element[bd],\r\n element[be],\r\n element[bf],\r\n element[bj],\r\n element[bh],\r\n element[bi],\r\n element[bg],\r\n element[bk],\r\n element[bm],\r\n element[ca],\r\n element[cb],\r\n element[cc],\r\n element[cd],\r\n element[ce],\r\n element[cf],\r\n element[cj],\r\n element[ch],\r\n element[ci],\r\n element[cg]\r\n )\r\n );\r\n\r\n rows2.push(\r\n createData(\r\n empty,\r\n element[a],\r\n element[b],\r\n element[c],\r\n element[d],\r\n element[e],\r\n element[f],\r\n element[j],\r\n element[h],\r\n element[i],\r\n element[g],\r\n element[k],\r\n element[m],\r\n element[aa],\r\n element[ab],\r\n element[ac],\r\n element[ad],\r\n element[ae],\r\n element[af],\r\n element[aj],\r\n element[ah],\r\n element[ai],\r\n element[ag],\r\n element[ak],\r\n element[am],\r\n element[ba],\r\n element[bb],\r\n element[bc],\r\n element[bd],\r\n element[be],\r\n element[bf],\r\n element[bj],\r\n element[bh],\r\n element[bi],\r\n element[bg],\r\n element[bk],\r\n element[bm],\r\n element[ca],\r\n element[cb],\r\n element[cc],\r\n element[cd],\r\n element[ce],\r\n element[cf],\r\n element[cj],\r\n element[ch],\r\n element[ci],\r\n element[cg]\r\n )\r\n );\r\n });\r\n\r\n setRowsStat(rows);\r\n setRowsStatValid(rows2);\r\n setRowsEmpty(false);\r\n }\r\n });\r\n };\r\n\r\n const fileHandlerOnclick = () => {\r\n if (rowsEmpty) {\r\n Notification(\"error\", \"error\");\r\n setRowsStatBool(false);\r\n return false;\r\n }\r\n Notification(\"success\", \"Import is success\");\r\n setRowsStatBool(true);\r\n };\r\n\r\n const fileUploadeOnclick = () => {\r\n const customerId = document.getElementById(\"warehouseId\").value;\r\n const data = {\r\n CustomerId: customerId,\r\n ImportItemBindingViewModel: rowsStatValid,\r\n };\r\n console.log(JSON.stringify(data));\r\n if (!rowsEmpty) {\r\n //axios.post(\"api/item/import\", { data: rowsStatValid });\r\n }\r\n };\r\n\r\n return (\r\n \r\n \r\n
    \r\n \r\n
    \r\n \r\n \r\n {customersList.map((item, index) => (\r\n \r\n ))}\r\n \r\n {customersList.length === 0 && }\r\n
    \r\n\r\n \r\n Import \r\n \r\n \r\n \r\n \r\n
    \r\n {rowsStatBool && (\r\n \r\n
    \r\n {\" \"}\r\n Field required\r\n
    \r\n
    \r\n import\r\n row success\r\n
    \r\n
    \r\n {\" \"}\r\n import row failed\r\n
    \r\n \r\n \r\n \r\n \r\n is Valid\r\n \r\n SKU \r\n \r\n \r\n Description \r\n \r\n Description2\r\n Min\r\n Max\r\n Cycle Count\r\n ReorderQty\r\n \r\n Inventory Method\r\n \r\n Temperature\r\n Cost\r\n UPC\r\n \r\n Track Lot \r\n \r\n \r\n Track Serial \r\n \r\n \r\n Track ExpDate \r\n \r\n \r\n Primary Unit of Measure \r\n \r\n \r\n Packaging Unit \r\n \r\n \r\n Packing UOM Qty \r\n \r\n \r\n Length \r\n \r\n \r\n Width \r\n \r\n \r\n Height \r\n \r\n \r\n Weight \r\n \r\n Qualifiers\r\n \r\n Storage Setup\r\n \r\n \r\n Variable Setup\r\n \r\n NMFC#\r\n \r\n Lot Number Required \r\n \r\n \r\n Serial Number Required \r\n \r\n \r\n Serial Number (must be unique) \r\n \r\n \r\n Exp Date Req \r\n \r\n \r\n Enable Cost \r\n \r\n \r\n Cost Required \r\n \r\n IsHazMat\r\n HazMatID\r\n \r\n HazMatShippingName\r\n \r\n \r\n HazMatHazardClass\r\n \r\n \r\n HazMatPackingGroup\r\n \r\n \r\n HazMatFlashPoint\r\n \r\n \r\n HazMatLabelCode\r\n \r\n HazMatFlag\r\n Image URL\r\n \r\n StorageCountScriptTemplateID\r\n \r\n StorageRates\r\n \r\n OutboundMobileSerializationBehavior\r\n \r\n Price\r\n TotalQty\r\n UnitType\r\n \r\n \r\n \r\n {rowsStat.map((row) => (\r\n \r\n \r\n {row.empty == 1 && (\r\n \r\n )}\r\n {row.empty == 0 && (\r\n \r\n )}\r\n \r\n \r\n {row.SKU}\r\n \r\n {row.Description}\r\n {row.Description2}\r\n {row.Min}\r\n {row.Max}\r\n {row.CycleCount}\r\n {row.ReorderQty}\r\n {row.InventoryMethod}\r\n {row.Temperature}\r\n {row.Cost}\r\n {row.UPC}\r\n {row.TrackLot}\r\n {row.TrackSerial}\r\n {row.TrackExpDate}\r\n {row.PrimaryInventoryUnitOfMeasureId}\r\n {row.PackagingUnitOfMeasureId}\r\n {row.PackingUOMQty}\r\n {row.Length}\r\n {row.Width}\r\n {row.Height}\r\n {row.Weight}\r\n {row.Qualifiers}\r\n {row.StorageSetup}\r\n {row.VariableSetup}\r\n {row.NMFC}\r\n {row.LotNumberRequired}\r\n {row.SerialNumberRequired}\r\n {row.SerialNumber}\r\n {row.ExpDateReqRequired}\r\n {row.EnableCost}\r\n {row.CostRequired}\r\n {row.HazardousMaterial}\r\n {row.HazMatID}\r\n {row.HazMatShippingName}\r\n {row.HazMatHazardClass}\r\n {row.HazMatPackingGroup}\r\n {row.HazMatFlashPoint}\r\n {row.HazMatLabelCode}\r\n {row.HazMatFlag}\r\n {row.ImageURL}\r\n \r\n {row.StorageCountScriptTemplateID}\r\n \r\n {row.StorageRates}\r\n \r\n {row.OutboundMobileSerializationBehavior}\r\n \r\n {row.Price}\r\n {row.TotalQty}\r\n {row.UnitType}\r\n \r\n ))}\r\n \r\n
    \r\n
    \r\n
    \r\n )}\r\n\r\n \r\n
    \r\n \r\n Dimensions and weight in the input file are{\" \"}\r\n \r\n \r\n }\r\n label=\"US/Imperial\"\r\n labelPlacement=\"US/Imperial\"\r\n />\r\n }\r\n label=\"Metric\"\r\n labelPlacement=\"Metric\"\r\n />\r\n \r\n
    \r\n
    \r\n\r\n \r\n \r\n Use the 'Browse...' button to select a item import file\r\n

    \r\n Then press the 'Import Items' button to read the file.\r\n
    \r\n \r\n {\r\n fileHandlerOnclick();\r\n }}\r\n />\r\n {\r\n fileUploadeOnclick();\r\n }}\r\n />\r\n
    \r\n \r\n
    \r\n
    \r\n );\r\n}\r\n","import React from 'react'\r\nimport { Button, Form, Card, Col } from \"react-bootstrap\";\r\n\r\nexport function ItemAliasItems() {\r\n return (\r\n\r\n \r\n \r\n\r\n
    \r\n \r\n \r\n
    \r\n\r\n \r\n\r\n

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

    UPDATE

    \r\n
    \r\n
    \r\n\r\n
    \r\n Classification to update\r\n \r\n \r\n Select\r\n \r\n \r\n Action\r\n Another action\r\n Something else\r\n \r\n \r\n
    \r\n\r\n
    \r\n New Parent\r\n \r\n \r\n Select\r\n \r\n \r\n Action\r\n Another action\r\n Something else\r\n \r\n \r\n
    \r\n\r\n
    \r\n New Title \r\n \r\n
    \r\n\r\n
    \r\n New Description \r\n \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n\r\n\r\n

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

    DELETE

    \r\n
    \r\n
    \r\n
    \r\n Classification\r\n \r\n \r\n Select\r\n \r\n \r\n Action\r\n Another action\r\n Something else\r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n \r\n \r\n
    \r\n Delete Children\r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n\r\n\r\n

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

    EXISTING

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

    Tree View

    \r\n \r\n Hover over a class for a description.\r\n \r\n\r\n
      \r\n
    • \r\n ISO
    • \r\n
    • \r\n Thermax\r\n
    • \r\n
    \r\n
    \r\n
    \r\n\r\n \r\n \r\n \r\n )\r\n}\r\n","import React from 'react'\r\nimport { Button, Form, Card, Col } from \"react-bootstrap\";\r\n\r\nexport function ManageCommoditiesItems() {\r\n return (\r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    #NMFCClassDiscription
    169730090220037860
    21005055
    3CHOPPED CLAMS IN CANSGARNET ABRASIVEHARDWOOD FLOORING
    \r\n\r\n
    \r\n \r\n \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n\r\n \r\n \r\n )\r\n}\r\n","import React from 'react'\r\nimport { Form, Card, Tooltip, OverlayTrigger } from \"react-bootstrap\";\r\nimport { Link } from \"react-router-dom\";\r\n\r\nexport function ShippingSetups() {\r\n return (\r\n\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n

    Shipping Setups

    \r\n\r\n\r\n\r\n \r\n\r\n Manage Ship-to Contacts\r\n \r\n

    Maintain a list, for quick attachment to orders, of frequently used Ship-to contacts.

    \r\n\r\n\r\n Create and edit retailers for each of your customers with this Shipping Setups option. Be aware that Retailer IDs are used to designate orders created through EDI or API connections.}\r\n >\r\n\r\n \r\n\r\n Manage Retailers\r\n\r\n \r\n \r\n\r\n \r\n
    \r\n \r\n \r\n

    \r\n Maintain a list of retailers for each customer, for quick selection in Find Orders.\r\n

    \r\n\r\n \r\n Manage 'MarkFor' Lists\r\n \r\n\r\n

    Maintain, by customer, various lists of MarkFor IDs, for quick selection in Find Orders. For example, if each day of the week you ship to the same destinations for a customer, you could create five lists, one for each day of the week.

    \r\n\r\n \r\n Import Contacts\r\n \r\n

    \r\n Import a file of contacts.

    \r\n\r\n Please note that ship method mappings are used by API and EDI connections for incoming orders.}\r\n >\r\n\r\n \r\n\r\n Manage Ship Method Mappings\r\n\r\n \r\n \r\n\r\n \r\n
    \r\n \r\n \r\n

    \r\n Maintain, by customer, a list of mappings between an external systems ship methods and the standard ship methods within WMS.

    \r\n Add or modify your third-party-billing contacts with this Shipping Setups option. Please note that 3rd-Party-Billing is typically used for pallet in/out workflows and large shipments that require Bills of Lading.}\r\n >\r\n\r\n \r\n\r\n Manage 3rd-Party-Billing Contacts\r\n\r\n \r\n \r\n\r\n \r\n
    \r\n \r\n \r\n

    \r\n When exporting package information for UPS, FedEx and similar shippers, specify 3rd-party billing information to use for various shipper account numbers.

    \r\n\r\n
    \r\n\r\n
    \r\n \r\n \r\n \r\n )\r\n}\r\n","\r\nimport React, { useEffect, useState } from \"react\";\r\nimport { makeStyles } from \"@material-ui/core/styles\";\r\nimport { Button, Form, Card, Col, Alert } from \"react-bootstrap\";\r\nimport { ExcelRenderer } from \"react-excel-renderer\";\r\nimport axios from \"axios\";\r\nimport { Notification } from \"../../modules/Notification\";\r\nimport Table from \"@material-ui/core/Table\";\r\nimport TableBody from \"@material-ui/core/TableBody\";\r\nimport TableCell from \"@material-ui/core/TableCell\";\r\nimport TableHead from \"@material-ui/core/TableHead\";\r\nimport TableRow from \"@material-ui/core/TableRow\";\r\nimport Paper from \"@material-ui/core/Paper\";\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n root: {\r\n width: \"100%\",\r\n },\r\n paper: {\r\n marginTop: theme.spacing(3),\r\n width: \"100%\",\r\n overflowX: \"auto\",\r\n marginBottom: theme.spacing(2),\r\n },\r\n table: {\r\n minWidth: 650,\r\n },\r\n row: {\r\n height: 50,\r\n },\r\n rowBody: {\r\n height: 50,\r\n fontWeight: \"bold\",\r\n },\r\n}));\r\n\r\nexport function ImportOrders() {\r\n const classes = useStyles();\r\n const [warehousesList, setWarehousesList] = useState([]);\r\n const [customersList, setCustomersList] = useState([]);\r\n const [rowsStat, setRowsStat] = useState([]);\r\n const [rowsStatBool, setRowsStatBool] = useState(false);\r\n const [rowsStatVlue, setrowsStatVlue] = useState([]);\r\n const [rowsEmpty, setRowsEmpty] = useState(true);\r\n\r\n useEffect(() => {\r\n fetchUsersAsync();\r\n fetchUsersAsync2();\r\n }, []);\r\n\r\n const fetchUsersAsync = async () => {\r\n try {\r\n const result = await axios.get(\"api/Warehouses/GetWarehouses\");\r\n setWarehousesList(result.data[\"GetWarehouses\"]);\r\n } catch (e) { }\r\n };\r\n\r\n const fetchUsersAsync2 = async () => {\r\n try {\r\n const result = await axios.get(\"api/ManageItems/Filter\");\r\n setCustomersList(result.data[\"customersList\"]);\r\n } catch (e) { }\r\n };\r\n\r\n function createData(\r\n empty,\r\n ReferenceNumber,\r\n PurchaseOrderNumber,\r\n ShipCarrier,\r\n ShipService,\r\n ShipBilling,\r\n ShipAccount,\r\n ShipDate,\r\n CancelDate,\r\n Notes,\r\n ShipToName,\r\n ShipToCompany,\r\n ShipToAddress1,\r\n ShipToAddress2,\r\n ShipToCity,\r\n ShipToState,\r\n ShipToZip,\r\n ShipToCountry,\r\n ShipToPhone,\r\n ShipToFax,\r\n ShipToEmail,\r\n ShipToCustomerID,\r\n ShipToDeptNumber,\r\n RetailerID,\r\n SKU,\r\n Quantity,\r\n UseCOD,\r\n UseInsurance,\r\n SavedElements,\r\n OrderItemSavedElements,\r\n CarrierNotes,\r\n \r\n\r\n ) {\r\n return {\r\n empty,\r\n ReferenceNumber,\r\n PurchaseOrderNumber,\r\n ShipCarrier,\r\n ShipService,\r\n ShipBilling,\r\n ShipAccount,\r\n ShipDate,\r\n CancelDate,\r\n Notes,\r\n ShipToName,\r\n ShipToCompany,\r\n ShipToAddress1,\r\n ShipToAddress2,\r\n ShipToCity,\r\n ShipToState,\r\n ShipToZip,\r\n ShipToCountry,\r\n ShipToPhone,\r\n ShipToFax,\r\n ShipToEmail,\r\n ShipToCustomerID,\r\n ShipToDeptNumber,\r\n RetailerID,\r\n SKU,\r\n Quantity,\r\n UseCOD,\r\n UseInsurance,\r\n SavedElements,\r\n OrderItemSavedElements,\r\n CarrierNotes,\r\n };\r\n }\r\n\r\n const fileHandler = (event) => {\r\n let fileObj = event.target.files[0];\r\n\r\n ExcelRenderer(fileObj, (err, resp) => {\r\n if (err) {\r\n setRowsEmpty(true);\r\n return false;\r\n } else {\r\n //Fill the fields of table\r\n var a = resp.rows[1].indexOf(\"ReferenceNumber\");\r\n var b = resp.rows[1].indexOf(\"PurchaseOrderNumber\");\r\n var c = resp.rows[1].indexOf(\"ShipCarrier\");\r\n var d = resp.rows[1].indexOf(\"ShipService\");\r\n var e = resp.rows[1].indexOf(\"ShipBilling\");\r\n var f = resp.rows[1].indexOf(\"ShipAccount\");\r\n var g = resp.rows[1].indexOf(\"ShipDate\");\r\n var h = resp.rows[1].indexOf(\"CancelDate\");\r\n var i = resp.rows[1].indexOf(\"Notes\");\r\n var i2 = resp.rows[1].indexOf(\"ShipTo Name\");\r\n var i3 = resp.rows[1].indexOf(\"ShipToCompany\");\r\n var i4 = resp.rows[1].indexOf(\"ShipToAddress1\");\r\n var i5 = resp.rows[1].indexOf(\"ShipToAddress2\");\r\n var i6 = resp.rows[1].indexOf(\"ShipToCity\");\r\n var i7 = resp.rows[1].indexOf(\"ShipToState\");\r\n var i8 = resp.rows[1].indexOf(\"ShipToZip\");\r\n var i9 = resp.rows[1].indexOf(\"ShipToCountry\");\r\n var i10 = resp.rows[1].indexOf(\"ShipToPhone\");\r\n var i11 = resp.rows[1].indexOf(\"ShipToFax\");\r\n var i12 = resp.rows[1].indexOf(\"ShipToEmail\");\r\n var i13 = resp.rows[1].indexOf(\"ShipToCustomerID\");\r\n var i14 = resp.rows[1].indexOf(\"ShipToDeptNumber\");\r\n var i15 = resp.rows[1].indexOf(\"RetailerID\");\r\n var i16 = resp.rows[1].indexOf(\"SKU\");\r\n var i17 = resp.rows[1].indexOf(\"Quantity\");\r\n var i18 = resp.rows[1].indexOf(\"UseCOD\");\r\n var i19 = resp.rows[1].indexOf(\"UseInsurance\");\r\n var i20 = resp.rows[1].indexOf(\"Saved Elements\");\r\n var i21 = resp.rows[1].indexOf(\"Order Item Saved Elements\");\r\n var i22 = resp.rows[1].indexOf(\"Carrier Notes\");\r\n\r\n const warehouseId = document.getElementById(\"warehouseId\").value;\r\n const CustomerId = document.getElementById(\"CustomerId\").value;\r\n\r\n\r\n if (\r\n a === -1 ||\r\n b === -1 ||\r\n c === -1 ||\r\n d === -1 ||\r\n e === -1 ||\r\n\r\n\r\n i3 === -1 ||\r\n i4 === -1 ||\r\n i5 === -1 ||\r\n i6 === -1 ||\r\n i7 === -1 ||\r\n i8 === -1 ||\r\n i9 === -1 ||\r\n\r\n i16 === -1 ||\r\n i17 === -1\r\n\r\n ) {\r\n setRowsEmpty(true);\r\n return false;\r\n }\r\n\r\n let rows = [];\r\n let rows2 = [];\r\n resp.rows.slice(2, resp.rows.length).forEach((element, index) => {\r\n if (element.length === 0) return false;\r\n var empty = 1;\r\n if (\r\n //important fields\r\n element[a] === undefined ||\r\n element[b] === undefined ||\r\n element[c] === undefined ||\r\n element[d] === undefined ||\r\n element[e] === undefined ||\r\n\r\n element[i3] === undefined ||\r\n element[i4] === undefined ||\r\n element[i5] === undefined ||\r\n element[i6] === undefined ||\r\n element[i7] === undefined ||\r\n element[i8] === undefined ||\r\n element[i9] === undefined ||\r\n element[i16] === undefined ||\r\n element[i17] === undefined\r\n\r\n\r\n )\r\n empty = 0;\r\n rows.push(\r\n createData(\r\n empty,\r\n element[a],\r\n element[b],\r\n element[c],\r\n element[d],\r\n element[e],\r\n element[f],\r\n element[g],\r\n element[h],\r\n element[i],\r\n element[i2],\r\n element[i3],\r\n element[i4],\r\n element[i5],\r\n element[i6],\r\n element[i7],\r\n element[i8],\r\n element[i9],\r\n element[i10],\r\n element[i11],\r\n element[i12],\r\n element[i13],\r\n element[i14],\r\n element[i15],\r\n element[i16],\r\n element[i17],\r\n element[i18],\r\n element[i19],\r\n element[i20],\r\n element[i21],\r\n element[i22],\r\n warehouseId,\r\n CustomerId,\r\n 1,\r\n true\r\n )\r\n );\r\n\r\n if(empty == 1) \r\n rows2.push({\r\n warehouseId :warehouseId,\r\n CustomerId:CustomerId,\r\n ReferenceNumber:element[a]\r\n })\r\n });\r\n setrowsStatVlue(rows2);\r\n setRowsStat(rows);\r\n setRowsEmpty(false);\r\n }\r\n });\r\n };\r\n\r\n const fileHandlerOnclick = () => {\r\n if (rowsEmpty) {\r\n Notification(\"error\", \"error\");\r\n setRowsStatBool(false);\r\n return false;\r\n }\r\n Notification(\"success\", \"Data Imported successfully\");\r\n setRowsStatBool(true);\r\n };\r\n\r\n const fileUploadeOnclick = () => {\r\n if (!rowsEmpty) {\r\n axios.post(\"/api/orders/import\", { data: rowsStatVlue });\r\n }\r\n };\r\n\r\n return (\r\n \r\n \r\n
    \r\n \r\n
    \r\n \r\n \r\n {customersList.map((item, index) => (\r\n \r\n ))}\r\n \r\n
    \r\n
    \r\n \r\n \r\n {warehousesList.map((item, index) => (\r\n \r\n ))}\r\n \r\n
    \r\n\r\n\r\n\r\n \r\n Import \r\n \r\n \r\n \r\n \r\n
    \r\n {rowsStatBool && (\r\n \r\n \r\n \r\n \r\n \r\n IsValid\r\n ReferenceNumber\r\n PurchaseOrderNumber\r\n ShipCarrier\r\n ShipService\r\n ShipBilling\r\n ShipAccount\r\n ShipDate\r\n CancelDate\r\n Notes\r\n\r\n ShipTo Name\r\n\r\n ShipToCompany\r\n\r\n ShipToAddress1\r\n ShipToAddress2\r\n ShipToCity\r\n ShipToState\r\n ShipToZip\r\n ShipToCountry\r\n ShipToPhone\r\n ShipToFax\r\n ShipToEmail\r\n ShipToCustomerID\r\n ShipToDeptNumber\r\n RetailerID\r\n SKU\r\n Quantity\r\n UseCOD\r\n UseInsurance\r\n Saved Elements\r\n Order Item Saved Elements\r\n Carrier Notes\r\n\r\n\r\n\r\n\r\n\r\n \r\n \r\n \r\n {rowsStat.map((row) => (\r\n \r\n \r\n {row.empty == 1 && (\r\n \r\n )}\r\n {row.empty == 0 && (\r\n \r\n )}\r\n \r\n \r\n {row.ReferenceNumber}\r\n \r\n {row.PurchaseOrderNumber}\r\n {row.ShipCarrier}\r\n {row.ShipServic}\r\n {row.ShipBilling}\r\n {row.ShipAccount}\r\n {row.ShipDate}\r\n {row.CancelDate}\r\n {row.Notes}\r\n {row.ShipToName}\r\n {row.ShipToCompany}\r\n {row.ShipToAddress1}\r\n {row.ShipToAddress2}\r\n {row.ShipToCity}\r\n {row.ShipToState}\r\n {row.ShipToZip}\r\n {row.ShipToCountry}\r\n {row.ShipToPhone}\r\n {row.ShipToFax}\r\n {row.ShipToEmail}\r\n {row.ShipToCustomerID}\r\n {row.ShipToDeptNumber}\r\n {row.RetailerID}\r\n {row.SKU}\r\n {row.Quantity}\r\n {row.UseCOD}\r\n {row.UseInsurance}\r\n {row.SavedElements}\r\n {row.OrderItemSavedElements}\r\n {row.CarrierNotes}\r\n\r\n\r\n\r\n \r\n ))}\r\n \r\n
    \r\n
    \r\n
    \r\n )}{\" \"}\r\n \r\n \r\n Use the 'Browse...' button to select a Order import file\r\n

    \r\n Then press the 'Import Orders' button to read the file.\r\n
    \r\n \r\n {\r\n fileHandlerOnclick();\r\n }}\r\n />\r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n Orders To Be Created{\" \"}\r\n \r\n \r\n After previewing the imported data for accuracy\r\n

    \r\n Press the 'Create Order' button to create the new Order.\r\n
    \r\n {\r\n fileUploadeOnclick();\r\n }}\r\n />\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n}\r\n","import React from 'react'\r\nimport { Form, Card } from \"react-bootstrap\";\r\nimport { Link } from \"react-router-dom\";\r\n\r\nexport function PackagingOptions() {\r\n return (\r\n\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n\r\n To activate this feature for USPS please contact your 3PL Central account manager. Phone: 1-888-375-2368\r\n . Email: sales@3plcentral.com \r\n\r\n\r\n \r\n\r\n

    CARRIER IMPORT/EXPORT

    \r\n\r\n\r\n\r\n \r\n\r\n Import from UPS or FedEx\r\n \r\n

    Import a file received from UPS or FedEx.

    \r\n\r\n \r\n\r\n Change Carrier Import\r\n \r\n

    Import a file to change the carrier.

    \r\n \r\n\r\n Export for UPS\r\n \r\n

    Download a file to your browser containing package information for sending to UPS.

    \r\n \r\n\r\n Export for FedEx\r\n \r\n

    Download a file to your browser containing package information for sending to FedEx.

    \r\n \r\n\r\n Export for Other Carriers\r\n \r\n

    Download a generic file to your browser containing package information for sending to other carriers.

    \r\n \r\n\r\n Export for USPS\r\n \r\n

    Download a file to your browser containing package information for sending to USPS.

    \r\n \r\n\r\n Export for All Carrierst\r\n \r\n

    Download a generic file to your browser containing package information for all carriers.LABEL EXPORT

    \r\n \r\n\r\n Export for Labels\r\n \r\n

    Download a file to your browser containing information for creating carton labels (such as UCC128 labels).

    OTHER

    \r\n\r\n \r\n\r\n Define Packaging Materials\r\n \r\n

    Define the different types of packaging materials used in the warehouse. This information is used during the \"Pack\" operation.

    \r\n\r\n\r\n\r\n\r\n\r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n )\r\n}\r\n","import React from 'react'\r\nimport { Form, Card, Col } from \"react-bootstrap\";\r\nimport { makeStyles, withStyles } from '@material-ui/core/styles';\r\nimport FormControl from '@material-ui/core/FormControl';\r\nimport NativeSelect from '@material-ui/core/NativeSelect';\r\nimport InputBase from '@material-ui/core/InputBase';\r\nconst BootstrapInput = withStyles(theme => ({\r\n root: {\r\n 'label + &': {\r\n marginTop: theme.spacing(3),\r\n },\r\n },\r\n input: {\r\n borderRadius: 4,\r\n position: 'relative',\r\n backgroundColor: theme.palette.background.paper,\r\n border: '1px solid #ced4da',\r\n fontSize: 16,\r\n padding: '10px 26px 10px 200px !important',\r\n transition: theme.transitions.create(['border-color', 'box-shadow']),\r\n // Use the system font instead of the default Roboto font.\r\n fontFamily: [\r\n '-apple-system',\r\n 'BlinkMacSystemFont',\r\n '\"Segoe UI\"',\r\n 'Roboto',\r\n '\"Helvetica Neue\"',\r\n 'Arial',\r\n 'sans-serif',\r\n '\"Apple Color Emoji\"',\r\n '\"Segoe UI Emoji\"',\r\n '\"Segoe UI Symbol\"',\r\n ].join(','),\r\n '&:focus': {\r\n borderRadius: 4,\r\n borderColor: '#80bdff',\r\n boxShadow: '0 0 0 0.2rem rgba(0,123,255,.25)',\r\n },\r\n },\r\n}))(InputBase);\r\nconst useStyles = makeStyles(theme => ({\r\n button: {\r\n margin: theme.spacing(1),\r\n },\r\n input: {\r\n display: 'none',\r\n },\r\n}));\r\nexport function OrderImportPreferences() {\r\n const classes = useStyles();\r\n return (\r\n\r\n \r\n \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n\r\n \r\n Save\r\n \r\n \r\n Exit\r\n \r\n
    \r\n
    \r\n \r\n Customer\r\n }\r\n >\r\n \r\n
    \r\n
    \r\n \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n On Error\r\n
    \r\n
    \r\n
    \r\n
    \r\n What to Import\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n\r\n
    \r\n

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

    \r\n \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n\r\n
    \r\n\r\n\r\n
    \r\n\r\n
    \r\n\r\n
    \r\n )\r\n}\r\n","import React, { useEffect } from \"react\";\r\nimport { shallowEqual, useSelector } from \"react-redux\";\r\nimport { LoadingDialog } from \"../../../../../../_metronic/_partials/controls\";\r\n\r\nexport function CustomersLoadingDialog() {\r\n // Customers Redux state\r\n const { isLoading } = useSelector(\r\n (state) => ({ isLoading: state.customers.listLoading }),\r\n shallowEqual\r\n );\r\n // looking for loading/dispatch\r\n useEffect(() => {}, [isLoading]);\r\n return ;\r\n}\r\n","import React, { useState, useEffect } from \"react\";\r\nimport { shallowEqual, useSelector } from \"react-redux\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport {ModalProgressBar} from \"../../../../../../_metronic/_partials/controls\";\r\n\r\nexport function CustomerEditDialogHeader({ id }) {\r\n // Customers Redux state\r\n const { customerForEdit, actionsLoading } = useSelector(\r\n (state) => ({\r\n customerForEdit: state.customers.customerForEdit,\r\n actionsLoading: state.customers.actionsLoading,\r\n }),\r\n shallowEqual\r\n );\r\n\r\n const [title, setTitle] = useState(\"\");\r\n // Title couting\r\n useEffect(() => {\r\n let _title = id ? \"\" : \"New Order\";\r\n if (customerForEdit && id) {\r\n _title = `Edit Order`;\r\n }\r\n\r\n setTitle(_title);\r\n // eslint-disable-next-line\r\n }, [customerForEdit, actionsLoading]);\r\n\r\n return (\r\n <>\r\n {actionsLoading && }\r\n \r\n {title}\r\n \r\n \r\n );\r\n}\r\n","// Form is based on Formik\r\n// Data validation is based on Yup\r\n// Please, be familiar with article first:\r\n// https://hackernoon.com/react-form-validation-with-formik-and-yup-8b76bda62e10\r\nimport React, { useEffect, useState } from \"react\";\r\nimport { Modal, Form, Alert, Accordion, Button } from \"react-bootstrap\";\r\nimport { Formik, Field } from \"formik\";\r\nimport * as Yup from \"yup\";\r\nimport {\r\n Input,\r\n Select,\r\n} from \"../../../../../../_metronic/_partials/controls\";\r\nimport { SvgIcon, Grid, Typography, Icon } from \"@material-ui/core\";\r\nimport clsx from \"clsx\";\r\nimport axios from \"axios\";\r\n\r\n// Validation schema\r\nconst CustomerEditSchema = Yup.object().shape({\r\n});\r\n\r\nexport function CustomerEditForm({\r\n saveCustomer,\r\n customer,\r\n actionsLoading,\r\n onHide,\r\n}) {\r\n\r\n const [customersList, setcustomersList] = useState([]);\r\n const [wareHousesList, setwareHousesList] = useState([]);\r\n\r\n useEffect(() => {\r\n fetchOrderAsync();\r\n }, []);\r\n const fetchOrderAsync = async () => {\r\n try {\r\n const result = await axios.get(\"api/FindOrder/GetAllApi\");\r\n setcustomersList(result.data[\"customersList\"]);\r\n setwareHousesList(result.data[\"warhousesList\"]);\r\n } catch (e) { }\r\n };\r\n\r\n return (\r\n <>\r\n \r\n {\r\n saveCustomer(values);\r\n }}\r\n >\r\n {({ handleSubmit }) => (\r\n <>\r\n \r\n {actionsLoading && (\r\n
    \r\n
    \r\n
    \r\n )}\r\n\r\n
    \r\n\r\n \r\n \r\n
    ORDERS BASICS
    \r\n
    \r\n \r\n
    \r\n\r\n\r\n\r\n \r\n\r\n
    \r\n
    \r\n
    ORDER INFORMATION
    \r\n
    \r\n
    \r\n {/* Warehouse Name */}\r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n\r\n
    \r\n
    \r\n\r\n
    \r\n\r\n
    \r\n\r\n\r\n
    \r\n \r\n \r\n \r\n Cancel\r\n \r\n <> \r\n handleSubmit()}\r\n className=\"btn btn-primary btn-elevate\"\r\n >\r\n Save\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n \r\n );\r\n}\r\n\r\n\r\n\r\n\r\n\r\n\r\n","export const CustomerStatusCssClasses = [\"danger\", \"success\"];\r\nexport const CustomerStatusTitles = [\"Inactive\", \"Active\"];\r\nexport const CustomerTypeCssClasses = [\"success\", \"primary\", \"\"];\r\nexport const CustomerTypeTitles = [\"Business\", \"Individual\", \"\"];\r\nexport const defaultSorted = [{ dataField: \"CreatedAt\", order: \"desc\" }];\r\nexport const sizePerPageList = [\r\n { text: \"3\", value: 3 },\r\n { text: \"5\", value: 5 },\r\n { text: \"10\", value: 10 }\r\n];\r\nexport const initialFilter = {\r\n filter: {\r\n Customer: \"\",\r\n Warehouse: \"\"\r\n },\r\n sortOrder: \"asc\", // asc||desc\r\n sortField: \"id\",\r\n pageNumber: 1,\r\n pageSize: 10\r\n};\r\n","import React, {createContext, useContext, useState, useCallback} from \"react\";\r\nimport {isEqual, isFunction} from \"lodash\";\r\nimport {initialFilter} from \"./CustomersUIHelpers\";\r\n\r\nconst CustomersUIContext = createContext();\r\n\r\nexport function useCustomersUIContext() {\r\n return useContext(CustomersUIContext);\r\n}\r\n\r\nexport const CustomersUIConsumer = CustomersUIContext.Consumer;\r\n\r\nexport function CustomersUIProvider({customersUIEvents, children}) {\r\n const [queryParams, setQueryParamsBase] = useState(initialFilter);\r\n const [ids, setIds] = useState([]);\r\n const setQueryParams = useCallback(nextQueryParams => {\r\n setQueryParamsBase(prevQueryParams => {\r\n if (isFunction(nextQueryParams)) {\r\n nextQueryParams = nextQueryParams(prevQueryParams);\r\n }\r\n\r\n if (isEqual(prevQueryParams, nextQueryParams)) {\r\n return prevQueryParams;\r\n }\r\n\r\n return nextQueryParams;\r\n });\r\n }, []);\r\n\r\n const initCustomer = {\r\n id: undefined,\r\n Customer: \"\",\r\n Warehouse: \"\",\r\n ReferenceNumber: \"\",\r\n TransactionID: \"\",\r\n CreateDate: \"\"\r\n };\r\n\r\n const value = {\r\n queryParams,\r\n setQueryParamsBase,\r\n ids,\r\n setIds,\r\n setQueryParams,\r\n initCustomer,\r\n newCustomerButtonClick: customersUIEvents.newCustomerButtonClick,\r\n openEditCustomerDialog: customersUIEvents.openEditCustomerDialog,\r\n openDeleteCustomerDialog: customersUIEvents.openDeleteCustomerDialog,\r\n openDeleteCustomersDialog: customersUIEvents.openDeleteCustomersDialog,\r\n openFetchCustomersDialog: customersUIEvents.openFetchCustomersDialog,\r\n openUpdateCustomersStatusDialog: customersUIEvents.openUpdateCustomersStatusDialog\r\n };\r\n\r\n return {children};\r\n}","import React, { useEffect, useMemo } from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { shallowEqual, useDispatch, useSelector } from \"react-redux\";\r\nimport * as actions from \"../../../_redux/customers/customersActions\";\r\nimport { CustomerEditDialogHeader } from \"./CustomerEditDialogHeader\";\r\nimport { CustomerEditForm } from \"./CustomerEditForm\";\r\nimport { useCustomersUIContext } from \"../CustomersUIContext\";\r\n\r\nexport function CustomerEditDialog({ id, show, onHide }) {\r\n // Customers UI Context\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n initCustomer: customersUIContext.initCustomer,\r\n };\r\n }, [customersUIContext]);\r\n\r\n // Customers Redux state\r\n const dispatch = useDispatch();\r\n const { actionsLoading, customerForEdit } = useSelector(\r\n (state) => ({\r\n actionsLoading: state.customers.actionsLoading,\r\n customerForEdit: state.customers.customerForEdit,\r\n }),\r\n shallowEqual\r\n );\r\n\r\n useEffect(() => {\r\n // server call for getting Customer by id\r\n dispatch(actions.fetchCustomer(id));\r\n }, [id, dispatch]);\r\n\r\n // server request for saving customer\r\n const saveCustomer = (customer) => {\r\n if (!id) {\r\n // server request for creating customer\r\n dispatch(actions.createCustomer(customer)).then(() => onHide());\r\n } else {\r\n // server request for updating customer\r\n dispatch(actions.updateCustomer(customer)).then(() => onHide());\r\n }\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n}\r\n","import React, { useEffect, useMemo } from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { shallowEqual, useDispatch, useSelector } from \"react-redux\";\r\nimport {ModalProgressBar} from \"../../../../../../_metronic/_partials/controls\";\r\nimport * as actions from \"../../../_redux/customers/customersActions\";\r\nimport {useCustomersUIContext} from \"../CustomersUIContext\";\r\n\r\nexport function CustomerDeleteDialog({ id, show, onHide }) {\r\n // Customers UI Context\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n setIds: customersUIContext.setIds,\r\n queryParams: customersUIContext.queryParams\r\n };\r\n }, [customersUIContext]);\r\n\r\n // Customers Redux state\r\n const dispatch = useDispatch();\r\n const { isLoading } = useSelector(\r\n (state) => ({ isLoading: state.customers.actionsLoading }),\r\n shallowEqual\r\n );\r\n\r\n // if !id we should close modal\r\n useEffect(() => {\r\n if (!id) {\r\n onHide();\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [id]);\r\n\r\n // looking for loading/dispatch\r\n useEffect(() => {}, [isLoading, dispatch]);\r\n\r\n const deleteCustomer = () => {\r\n // server request for deleting customer by id\r\n dispatch(actions.deleteCustomer(id)).then(() => {\r\n // refresh list after deletion\r\n dispatch(actions.fetchCustomers(customersUIProps.queryParams));\r\n // clear selections list\r\n customersUIProps.setIds([]);\r\n // closing delete modal\r\n onHide();\r\n });\r\n };\r\n\r\n return (\r\n \r\n {/*begin::Loading*/}\r\n {isLoading && }\r\n {/*end::Loading*/}\r\n \r\n \r\n Order Delete\r\n \r\n \r\n \r\n {!isLoading && (\r\n Are you sure to permanently delete this Order?\r\n )}\r\n {isLoading && Order is deleting...}\r\n \r\n \r\n
    \r\n \r\n Cancel\r\n \r\n <> \r\n \r\n Delete\r\n \r\n
    \r\n
    \r\n \r\n );\r\n}\r\n","import React, { useEffect, useMemo } from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { shallowEqual, useDispatch, useSelector } from \"react-redux\";\r\nimport * as actions from \"../../../_redux/customers/customersActions\";\r\nimport { useCustomersUIContext } from \"../CustomersUIContext\";\r\nimport {ModalProgressBar} from \"../../../../../../_metronic/_partials/controls\";\r\n\r\nexport function CustomersDeleteDialog({ show, onHide }) {\r\n // Customers UI Context\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n ids: customersUIContext.ids,\r\n setIds: customersUIContext.setIds,\r\n queryParams: customersUIContext.queryParams,\r\n };\r\n }, [customersUIContext]);\r\n\r\n // Customers Redux state\r\n const dispatch = useDispatch();\r\n const { isLoading } = useSelector(\r\n (state) => ({ isLoading: state.customers.actionsLoading }),\r\n shallowEqual\r\n );\r\n\r\n // if customers weren't selected we should close modal\r\n useEffect(() => {\r\n if (!customersUIProps.ids || customersUIProps.ids.length === 0) {\r\n onHide();\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [customersUIProps.ids]);\r\n\r\n // looking for loading/dispatch\r\n useEffect(() => {}, [isLoading, dispatch]);\r\n\r\n const deleteCustomers = () => {\r\n // server request for deleting customer by selected ids\r\n dispatch(actions.deleteCustomers(customersUIProps.ids)).then(() => {\r\n // refresh list after deletion\r\n dispatch(actions.fetchCustomers(customersUIProps.queryParams)).then(\r\n () => {\r\n // clear selections list\r\n customersUIProps.setIds([]);\r\n // closing delete modal\r\n onHide();\r\n }\r\n );\r\n });\r\n };\r\n\r\n return (\r\n \r\n {/*begin::Loading*/}\r\n {isLoading && }\r\n {/*end::Loading*/}\r\n \r\n \r\n Order Delete\r\n \r\n \r\n \r\n {!isLoading && (\r\n Are you sure to permanently delete selected Order?\r\n )}\r\n {isLoading && Order are deleting...}\r\n \r\n \r\n
    \r\n \r\n Cancel\r\n \r\n <> \r\n \r\n Delete\r\n \r\n
    \r\n
    \r\n \r\n );\r\n}\r\n","import React, { useEffect, useMemo } from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { shallowEqual, useSelector } from \"react-redux\";\r\nimport { CustomerStatusCssClasses } from \"../CustomersUIHelpers\";\r\nimport { useCustomersUIContext } from \"../CustomersUIContext\";\r\n\r\nconst selectedCustomers = (entities, ids) => {\r\n const _customers = [];\r\n ids.forEach((id) => {\r\n const customer = entities.find((el) => el.id === id);\r\n if (customer) {\r\n _customers.push(customer);\r\n }\r\n });\r\n return _customers;\r\n};\r\n\r\nexport function CustomersFetchDialog({ show, onHide }) {\r\n // Customers UI Context\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n ids: customersUIContext.ids,\r\n };\r\n }, [customersUIContext]);\r\n\r\n // Customers Redux state\r\n const { customers } = useSelector(\r\n (state) => ({\r\n customers: selectedCustomers(\r\n state.customers.entities,\r\n customersUIProps.ids\r\n ),\r\n }),\r\n shallowEqual\r\n );\r\n\r\n // if customers weren't selected we should close modal\r\n useEffect(() => {\r\n if (!customersUIProps.ids || customersUIProps.ids.length === 0) {\r\n onHide();\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [customersUIProps.ids]);\r\n\r\n return (\r\n \r\n \r\n \r\n Fetch selected elements\r\n \r\n \r\n \r\n
    \r\n {customers.map((customer) => (\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n ID: {customer.id}\r\n \r\n {customer.lastName}, {customer.firstName} \r\n
    \r\n
    \r\n ))}\r\n
    \r\n \r\n \r\n
    \r\n \r\n Cancel\r\n \r\n <> \r\n \r\n Ok\r\n \r\n
    \r\n
    \r\n \r\n );\r\n}\r\n","import React, { useEffect, useState, useMemo } from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { shallowEqual, useDispatch, useSelector } from \"react-redux\";\r\nimport { CustomerStatusCssClasses } from \"../CustomersUIHelpers\";\r\nimport * as actions from \"../../../_redux/customers/customersActions\";\r\nimport { useCustomersUIContext } from \"../CustomersUIContext\";\r\n\r\nconst selectedCustomers = (entities, ids) => {\r\n const _customers = [];\r\n ids.forEach((id) => {\r\n const customer = entities.find((el) => el.id === id);\r\n if (customer) {\r\n _customers.push(customer);\r\n }\r\n });\r\n return _customers;\r\n};\r\n\r\nexport function CustomersUpdateStateDialog({ show, onHide }) {\r\n // Customers UI Context\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n ids: customersUIContext.ids,\r\n setIds: customersUIContext.setIds,\r\n queryParams: customersUIContext.queryParams,\r\n };\r\n }, [customersUIContext]);\r\n\r\n // Customers Redux state\r\n const { customers, isLoading } = useSelector(\r\n (state) => ({\r\n customers: selectedCustomers(\r\n state.customers.entities,\r\n customersUIProps.ids\r\n ),\r\n isLoading: state.customers.actionsLoading,\r\n }),\r\n shallowEqual\r\n );\r\n\r\n // if !id we should close modal\r\n useEffect(() => {\r\n if (!customersUIProps.ids || customersUIProps.ids.length === 0) {\r\n onHide();\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [customersUIProps.ids]);\r\n\r\n const [status, setStatus] = useState(0);\r\n\r\n const dispatch = useDispatch();\r\n const updateStatus = () => {\r\n // server request for update customers status by selected ids\r\n dispatch(actions.updateCustomersStatus(customersUIProps.ids, status)).then(\r\n () => {\r\n // refresh list after deletion\r\n dispatch(actions.fetchCustomers(customersUIProps.queryParams)).then(\r\n () => {\r\n // clear selections list\r\n customersUIProps.setIds([]);\r\n // closing delete modal\r\n onHide();\r\n }\r\n );\r\n }\r\n );\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n Status has been updated for selected customers\r\n \r\n \r\n \r\n {/*begin::Loading*/}\r\n {isLoading && (\r\n
    \r\n
    \r\n
    \r\n )}\r\n {/*end::Loading*/}\r\n\r\n
    \r\n {customers.map((customer) => (\r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n ID: {customer.id}\r\n \r\n \r\n {customer.lastName}, {customer.firstName}\r\n \r\n
    \r\n
    \r\n ))}\r\n
    \r\n \r\n \r\n
    \r\n setStatus(+e.target.value)}\r\n >\r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n Cancel\r\n \r\n \r\n Update Status\r\n \r\n
    \r\n
    \r\n \r\n );\r\n}\r\n","import React from \"react\";\r\nexport function DateColumnFormatter(cellContent, row) {\r\n var elapsed = new Date(row.CreatedAt).toLocaleString();\r\n return (\r\n <>\r\n {elapsed}\r\n \r\n );\r\n}\r\n","// React bootstrap table next =>\r\n// DOCS: https://react-bootstrap-table.github.io/react-bootstrap-table2/docs/\r\n// STORYBOOK: https://react-bootstrap-table.github.io/react-bootstrap-table2/storybook/index.html\r\nimport React, { useEffect, useMemo } from \"react\";\r\nimport { Link } from \"react-router-dom\";\r\n\r\nimport BootstrapTable from \"react-bootstrap-table-next\";\r\nimport { Button, Form, Dropdown } from \"react-bootstrap\";\r\nimport paginationFactory, {\r\n PaginationProvider,\r\n} from \"react-bootstrap-table2-paginator\";\r\nimport { shallowEqual, useDispatch, useSelector } from \"react-redux\";\r\nimport * as actions from \"../../../_redux/customers/customersActions\";\r\nimport {\r\n getSelectRow,\r\n getHandlerTableChange,\r\n NoRecordsFoundMessage,\r\n PleaseWaitMessage,\r\n sortCaret,\r\n headerSortingClasses,\r\n} from \"../../../../../../_metronic/_helpers\";\r\nimport * as uiHelpers from \"../CustomersUIHelpers\";\r\nimport * as columnFormatters from \"./column-formatters\";\r\nimport { Pagination } from \"../../../../../../_metronic/_partials/controls\";\r\nimport { useCustomersUIContext } from \"../CustomersUIContext\";\r\n\r\nexport function CustomersTable() {\r\n // Customers UI Context\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n ids: customersUIContext.ids,\r\n setIds: customersUIContext.setIds,\r\n queryParams: customersUIContext.queryParams,\r\n setQueryParams: customersUIContext.setQueryParams,\r\n openEditCustomerDialog: customersUIContext.openEditCustomerDialog,\r\n openDeleteCustomerDialog: customersUIContext.openDeleteCustomerDialog,\r\n };\r\n }, [customersUIContext]);\r\n\r\n // Getting curret state of customers list from store (Redux)\r\n const { currentState } = useSelector(\r\n (state) => ({ currentState: state.customers }),\r\n shallowEqual\r\n );\r\n const { totalCount, entities, listLoading } = currentState;\r\n\r\n // Customers Redux state\r\n const dispatch = useDispatch();\r\n useEffect(() => {\r\n // clear selections list\r\n customersUIProps.setIds([]);\r\n // server call by queryParams\r\n dispatch(actions.fetchCustomers(customersUIProps.queryParams));\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [customersUIProps.queryParams, dispatch]);\r\n // Table columns\r\n const columns = [\r\n {\r\n dataField: \"id\",\r\n text: \"Order ID\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n headerSortingClasses,\r\n },\r\n {\r\n dataField: \"Customer\",\r\n text: \"Customer\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n headerSortingClasses,\r\n },\r\n {\r\n dataField: \"Warehouse\",\r\n text: \"Warehouse\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n headerSortingClasses,\r\n },\r\n {\r\n dataField: \"REF\",\r\n text: \"REF\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n headerSortingClasses,\r\n },\r\n {\r\n dataField: \"Created\",\r\n text: \"Created\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n headerSortingClasses,\r\n },\r\n {\r\n dataField: \"Ship To\",\r\n text: \"Ship To\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n headerSortingClasses,\r\n formatter: columnFormatters.DateColumnFormatter,\r\n },\r\n {\r\n dataField: \"Tracking\",\r\n text: \"Tracking\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n headerSortingClasses,\r\n formatter: columnFormatters.DateColumnFormatter,\r\n },\r\n\r\n ];\r\n // Table pagination properties\r\n const paginationOptions = {\r\n custom: true,\r\n totalSize: totalCount,\r\n sizePerPageList: uiHelpers.sizePerPageList,\r\n sizePerPage: customersUIProps.queryParams.pageSize,\r\n page: customersUIProps.queryParams.pageNumber,\r\n };\r\n return (\r\n <>\r\n \r\n {({ paginationProps, paginationTableProps }) => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n }}\r\n \r\n

    \r\n \r\n \r\n \r\n Note: if the 'Print Labels' button does nothing, press and hold the 'Ctrl' key throughtout pressing the button and opening or saving the file.\r\n \r\n \r\n \r\n \r\n \r\n \r\n Report Definition \r\n \r\n \r\n Report Definition\r\n\r\n \r\n \r\n Report Definition \r\n Default\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Select an Order and click on the 'Print\r\n Labels' button\r\n \r\n \r\n\r\n \r\n

    \r\n \r\n
    \r\n \r\n \r\n \r\n )}\r\n \r\n \r\n \r\n )\r\n}","import React, { useEffect, useState } from \"react\";\r\nimport { Button, Form, Card, Col } from \"react-bootstrap\";\r\nimport { makeStyles } from '@material-ui/core/styles';\r\nimport axios from \"axios\";\r\nimport { Notification } from \"../../modules/Notification\";\r\nimport { ExcelRenderer } from \"react-excel-renderer\";\r\nimport Table from \"@material-ui/core/Table\";\r\nimport TableBody from \"@material-ui/core/TableBody\";\r\nimport TableCell from \"@material-ui/core/TableCell\";\r\nimport TableHead from \"@material-ui/core/TableHead\";\r\nimport TableRow from \"@material-ui/core/TableRow\";\r\nimport Paper from \"@material-ui/core/Paper\";\r\n\r\nexport function ImportPurchaseOrder() {\r\n const useStyles = makeStyles(theme => ({\r\n root: {\r\n width: \"100%\",\r\n },\r\n paper: {\r\n marginTop: theme.spacing(3),\r\n width: \"100%\",\r\n overflowX: \"auto\",\r\n marginBottom: theme.spacing(2),\r\n },\r\n table: {\r\n minWidth: 650,\r\n },\r\n row: {\r\n height: 50,\r\n },\r\n rowBody: {\r\n height: 50,\r\n fontWeight: \"bold\",\r\n },\r\n button: {\r\n margin: theme.spacing(1),\r\n },\r\n leftIcon: {\r\n marginRight: theme.spacing(1),\r\n },\r\n rightIcon: {\r\n marginLeft: theme.spacing(1),\r\n },\r\n iconSmall: {\r\n fontSize: 20,\r\n },\r\n }));\r\n const classes = useStyles();\r\n const [rowsState, setRowsState] = useState([]);\r\n const [rowsStatBool, setRowsStatBool] = useState(false);\r\n const [rowsEmpty, setRowsEmpty] = useState(true);\r\n const [customersList, setCustomersList] = useState([]);\r\n const [importInProgress, setImportInProgress] = useState(false);\r\n\r\n useEffect(() => {\r\n fetchCustomersAsync();\r\n }, []);\r\n\r\n const fetchCustomersAsync = async () => {\r\n try {\r\n const result = await axios.get(\"api/purchaseorders/getcustomers\");\r\n if (result.status === 200) {\r\n setCustomersList(result.data);\r\n }\r\n } catch (e) { }\r\n };\r\n\r\n const fileHandlerOnclick = () => {\r\n if (rowsEmpty) {\r\n Notification(\"error\", \"Please select a valid file to import.\");\r\n setRowsStatBool(false);\r\n return false;\r\n }\r\n setRowsStatBool(true);\r\n };\r\n\r\n const fileClear = (event) => {\r\n event.target.value = \"\";\r\n }\r\n\r\n const fileHandler = (event) => {\r\n setRowsStatBool(false);\r\n setRowsState([]);\r\n setRowsEmpty(false);\r\n let fileObj = event.target.files[0];\r\n ExcelRenderer(fileObj, (err, resp) => {\r\n if (err) {\r\n setRowsEmpty(true);\r\n return false;\r\n } else {\r\n if (resp.rows.length < 4) {\r\n setRowsEmpty(true);\r\n return false;\r\n }\r\n var a = resp.rows[4].indexOf(\"PurchaseOrderNumber\");\r\n var b = resp.rows[4].indexOf(\"SupplierCompanyName\");\r\n var c = resp.rows[4].indexOf(\"IssueDate\");\r\n var d = resp.rows[4].indexOf(\"PONotes\");\r\n var e = resp.rows[4].indexOf(\"ItemNumber\");\r\n var f = resp.rows[4].indexOf(\"ItemQuantity\");\r\n var g = resp.rows[4].indexOf(\"Facility\");\r\n var h = resp.rows[4].indexOf(\"ExpectedDate\");\r\n var i = resp.rows[4].indexOf(\"LineItemNotes\");\r\n\r\n if (\r\n a === -1 ||\r\n b === -1 ||\r\n c === -1 ||\r\n d === -1 ||\r\n e === -1 ||\r\n f === -1 ||\r\n g === -1 ||\r\n h === -1 ||\r\n i === -1\r\n ) {\r\n setRowsEmpty(true);\r\n return false;\r\n }\r\n\r\n let rows = [];\r\n resp.rows.slice(5, resp.rows.length).forEach((element, index) => {\r\n var empty = 1;\r\n var error = \"\";\r\n if (element[a] === undefined ||\r\n element[b] === undefined ||\r\n element[e] === undefined ||\r\n element[f] === undefined) {\r\n empty = 0;\r\n error = \"Please check the required fields*.\"\r\n }\r\n if (TryParseInt(element[f]) <= 0){\r\n empty = 0;\r\n error = \"Quantity must be a non-negative number\";\r\n }\r\n rows.push(\r\n createData(\r\n empty,\r\n index + 1,\r\n element[a],\r\n element[b],\r\n getJsDateFromExcel(element[c]),\r\n element[d],\r\n element[e],\r\n element[f],\r\n element[g],\r\n getJsDateFromExcel(element[h]),\r\n element[i],\r\n error\r\n )\r\n );\r\n });\r\n\r\n setRowsState(rows);\r\n setRowsEmpty(false);\r\n }\r\n });\r\n };\r\n\r\n const fileUploadeOnclick = async () => {\r\n setImportInProgress(true);\r\n const customerId = document.getElementById(\"CustomerId\").value;\r\n if (customerId) {\r\n if (rowsStatBool) {\r\n if (rowsState.length > 0) {\r\n var result = await axios.post(\"api/purchaseorders/import\", { customerId: customerId, purchaseOrders: rowsState });\r\n if (result.data.success === true) {\r\n Notification(\"success\", \"Import done successfully.\");\r\n }\r\n else {\r\n const msg = result.data.Message === undefined ? \"Something went wrong, please try later or contact the support.\" : result.data.Message;\r\n Notification(\"error\", msg);\r\n }\r\n }\r\n else {\r\n Notification(\"error\", \"Please select a valid file to emport.\");\r\n }\r\n }\r\n else {\r\n Notification(\"error\", \"Please select a valid file to import.\");\r\n }\r\n }\r\n else {\r\n Notification(\"error\", \"Please select a customer.\");\r\n }\r\n setImportInProgress(false);\r\n };\r\n\r\n function createData(\r\n Empty,\r\n Index,\r\n PoNumber,\r\n SupplierName,\r\n IssueDate,\r\n Notes,\r\n ItemNumber,\r\n ItemQuantity,\r\n Facility,\r\n ExcpectedDate,\r\n ItemNotes,\r\n Error\r\n ) {\r\n return {\r\n Empty,\r\n Index,\r\n PoNumber,\r\n SupplierName,\r\n IssueDate,\r\n Notes,\r\n ItemNumber,\r\n ItemQuantity,\r\n Facility,\r\n ExcpectedDate,\r\n ItemNotes,\r\n Error\r\n };\r\n }\r\n\r\n function getJsDateFromExcel(serial) {\r\n if (serial === undefined || serial === \"\" || serial === null)\r\n return \"\";\r\n try {\r\n var utc_days = Math.floor(serial - 25569);\r\n var utc_value = utc_days * 86400;\r\n var date_info = new Date(utc_value * 1000);\r\n const date = new Date(date_info.getFullYear(), date_info.getMonth(), date_info.getDate());\r\n return ((date.getMonth() > 8) ? (date.getMonth() + 1) : ('0' + (date.getMonth() + 1))) + '/' + ((date.getDate() > 9) ? date.getDate() : ('0' + date.getDate())) + '/' + date.getFullYear();\r\n }\r\n catch (error) {\r\n return \"\";\r\n }\r\n };\r\n\r\n function TryParseInt(str) {\r\n var retValue = 0;\r\n if (typeof str === 'number')\r\n return str;\r\n if (str !== null && str !== undefined) {\r\n if (str.length > 0) {\r\n if (!isNaN(str)) {\r\n retValue = parseInt(str);\r\n }\r\n }\r\n }\r\n return retValue;\r\n }\r\n return (\r\n \r\n \r\n
    \r\n \r\n
    \r\n Choose a Customer\r\n \r\n
    \r\n \r\n Import \r\n \r\n \r\n \r\n \r\n
    \r\n\r\n \r\n \r\n IMPORT FILE\r\n
    \r\n

    Use the 'Browse...' button to select a purchase order import file.

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

    Then press the 'Import' button to read the file.

    \r\n
    \r\n\r\n \r\n
    \r\n \r\n {id !== 0 &&\r\n \r\n
    \r\n
    UPDATE PURCHASE ORDER
    \r\n
    Edit Purchase Order - #{Number} ({id})
    \r\n
    \r\n
    CLOSE PURCHASE ORDER
    \r\n \r\n
    \r\n
    \r\n \r\n\r\n
    \r\n
    PRINT
    \r\n \r\n
    \r\n
    \r\n
    PRINT Progress
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n }\r\n \r\n \r\n )\r\n}\r\n","import React from 'react'\r\nimport { Form, Card } from \"react-bootstrap\";\r\nimport { Link } from \"react-router-dom\";\r\nimport { Helmet } from \"react-helmet\";\r\n\r\nexport function PurchaseOrderReports() {\r\n return (\r\n <>\r\n \r\n eMPower | Purchase Report\r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n

    \r\n \r\n Find Purchase Orders\r\n \r\n

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

    This is a way to find closed Purchase Orders as well as open Purchase Orders.

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

    \r\n \r\n Purchase Order Report\r\n \r\n

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

    This is the Purchase Order that may be sent to the supplier.

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

    \r\n \r\n Purchase Order Progress Report\r\n \r\n

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

    This report shows the current progress of the Purchase Order including quntities received, remaining and expected dates.

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n )\r\n}\r\n","export const defaultSorted = [{ dataField: \"id\", order: \"desc\" }];\r\nexport const sizePerPageList = [\r\n { text: \"1\", value: 1 },\r\n { text: \"3\", value: 3 },\r\n { text: \"5\", value: 5 }\r\n];\r\nexport const initialFilter = {\r\n filter: {\r\n text: \"\"\r\n },\r\n sortOrder: \"asc\", // asc||desc\r\n sortField: \"id\",\r\n pageNumber: 1,\r\n pageSize: 5\r\n};\r\n","/* eslint-disable no-unused-vars */\r\nimport React, { useEffect, useContext, createContext, useState, useCallback } from \"react\";\r\nimport { isEqual, isFunction } from \"lodash\";\r\nimport { initialFilter } from \"./RemarksUIHelper\";\r\n\r\nconst RemarksUIContext = createContext();\r\n\r\nexport function useRemarksUIContext() {\r\n return useContext(RemarksUIContext);\r\n}\r\n\r\nexport const RemarksUIConsumer = RemarksUIContext.Consumer;\r\n\r\nexport function RemarksUIProviderCustomField({ currentPurchaseOrderId, children }) {\r\n const [purchaseOrderId, setPurchaseOrderId] = useState(currentPurchaseOrderId);\r\n const [queryParams, setQueryParamsBase] = useState(initialFilter);\r\n const [ids, setIds] = useState([]);\r\n const setQueryParams = useCallback(nextQueryParams => {\r\n setQueryParamsBase(prevQueryParams => {\r\n if (isFunction(nextQueryParams)) {\r\n nextQueryParams = nextQueryParams(prevQueryParams);\r\n }\r\n\r\n if (isEqual(prevQueryParams, nextQueryParams)) {\r\n return prevQueryParams;\r\n }\r\n\r\n return nextQueryParams;\r\n });\r\n }, []);\r\n const [selectedId, setSelectedId] = useState(null);\r\n const [showEditRemarkDialog, setShowEditRemarkDialog] = useState(false);\r\n const initRemark = {\r\n Id: undefined,\r\n PurchaseOrderId: purchaseOrderId,\r\n ItemId: \"\",\r\n QualifierId: null,\r\n Quantity: 0,\r\n WarehouseId: \"\",\r\n ExcpectedDate: \"2017-05-24T10:30\",\r\n CanceledDate: \"2017-05-24T10:30\",\r\n Notes: \"\"\r\n };\r\n useEffect(() => {\r\n initRemark.purchaseOrderId = currentPurchaseOrderId;\r\n setPurchaseOrderId(currentPurchaseOrderId);\r\n }, [currentPurchaseOrderId]);\r\n const openNewRemarkDialog = () => {\r\n setSelectedId(undefined);\r\n setShowEditRemarkDialog(true);\r\n };\r\n const openEditRemarkDialog = id => {\r\n setSelectedId(id);\r\n setShowEditRemarkDialog(true);\r\n };\r\n const closeEditRemarkDialog = () => {\r\n setSelectedId(undefined);\r\n setShowEditRemarkDialog(false);\r\n };\r\n const [showDeleteRemarkDialog, setShowDeleteRemarkDialog] = useState(false);\r\n const openDeleteRemarkDialog = id => {\r\n setSelectedId(id);\r\n setShowDeleteRemarkDialog(true);\r\n };\r\n const closeDeleteRemarkDialog = () => {\r\n setSelectedId(undefined);\r\n setShowDeleteRemarkDialog(false);\r\n };\r\n\r\n const [showDeleteRemarksDialog, setShowDeleteRemarksDialog] = useState(false);\r\n const openDeleteRemarksDialog = () => {\r\n setShowDeleteRemarksDialog(true);\r\n };\r\n const closeDeleteRemarksDialog = () => {\r\n setShowDeleteRemarksDialog(false);\r\n };\r\n\r\n const [showFetchRemarksDialog, setShowFetchRemarksDialog] = useState(false);\r\n const openFetchRemarksDialog = () => {\r\n setShowFetchRemarksDialog(true);\r\n };\r\n const closeFetchRemarksDialog = () => {\r\n setShowFetchRemarksDialog(false);\r\n };\r\n\r\n const value = {\r\n ids,\r\n setIds,\r\n productId: purchaseOrderId,\r\n setProductId: setPurchaseOrderId,\r\n queryParams,\r\n setQueryParams,\r\n initRemark,\r\n selectedId,\r\n showEditRemarkDialog,\r\n openNewRemarkDialog,\r\n openEditRemarkDialog,\r\n closeEditRemarkDialog,\r\n showDeleteRemarkDialog,\r\n openDeleteRemarkDialog,\r\n closeDeleteRemarkDialog,\r\n showDeleteRemarksDialog,\r\n openDeleteRemarksDialog,\r\n closeDeleteRemarksDialog,\r\n openFetchRemarksDialog,\r\n closeFetchRemarksDialog,\r\n showFetchRemarksDialog\r\n };\r\n\r\n return (\r\n \r\n {children}\r\n \r\n );\r\n}\r\n","import React, { useMemo } from \"react\";\r\nimport { useRemarksUIContext } from \"./RemarksUIContext\";\r\nimport {\r\n Card,\r\n CardHeader,\r\n CardHeaderToolbar,\r\n} from \"../../../../_metronic/_partials/controls\";\r\n\r\nexport function RemarksFilter() {\r\n // Remarks UI Context\r\n const remarksUIContext = useRemarksUIContext();\r\n const remarksUIProps = useMemo(() => {\r\n return {\r\n setQueryParams: remarksUIContext.setQueryParams,\r\n openNewRemarkDialog: remarksUIContext.openNewRemarkDialog,\r\n queryParams: remarksUIContext.queryParams,\r\n };\r\n }, [remarksUIContext]);\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n remarksUIProps.openNewRemarkDialog()}>\r\n Add New Purchase Line Items\r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n","import {createSlice} from \"@reduxjs/toolkit\";\r\n\r\nconst initialRemarksState = {\r\n listLoading: false,\r\n actionsLoading: false,\r\n totalCount: 0,\r\n entities: null,\r\n remarkForEdit: undefined,\r\n lastError: null\r\n};\r\nexport const callTypes = {\r\n list: \"list\",\r\n action: \"action\"\r\n};\r\n\r\nexport const remarksSlice = createSlice({\r\n name: \"remarks\",\r\n initialState: initialRemarksState,\r\n reducers: {\r\n catchError: (state, action) => {\r\n state.error = `${action.type}: ${action.payload.error}`;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = false;\r\n } else {\r\n state.actionsLoading = false;\r\n }\r\n },\r\n startCall: (state, action) => {\r\n state.error = null;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = true;\r\n } else {\r\n state.actionsLoading = true;\r\n }\r\n },\r\n // getRemarkById\r\n remarkFetched: (state, action) => {\r\n state.actionsLoading = false;\r\n state.remarkForEdit = action.payload.remarkForEdit;\r\n state.error = null;\r\n },\r\n // findRemarks\r\n remarksFetched: (state, action) => {\r\n const { totalCount, entities } = action.payload;\r\n state.listLoading = false;\r\n state.error = null;\r\n state.entities = entities;\r\n state.totalCount = totalCount;\r\n },\r\n // createRemark\r\n remarkCreated: (state, action) => {\r\n state.actionsLoading = false;\r\n state.error = null;\r\n state.entities.push(action.payload.remark);\r\n },\r\n // updateRemark\r\n remarkUpdated: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.map(entity => {\r\n if (entity.id === action.payload.remark.id) {\r\n return action.payload.remark;\r\n }\r\n return entity;\r\n });\r\n },\r\n // deleteRemark\r\n remarkDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(el => el.id !== action.payload.id);\r\n },\r\n // deleteRemarks\r\n remarksDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(\r\n el => !action.payload.ids.includes(el.id)\r\n );\r\n },\r\n // remarksUpdateState\r\n remarksStatusUpdated: (state, action) => {\r\n state.actionsLoading = false;\r\n state.error = null;\r\n const { ids, status } = action.payload;\r\n state.entities = state.entities.map(entity => {\r\n if (ids.findIndex(id => id === entity.id) > -1) {\r\n entity.status = status;\r\n }\r\n return entity;\r\n });\r\n }\r\n }\r\n});\r\n","import * as requestFromServer from \"./remarksCrud\";\r\nimport {remarksSlice, callTypes} from \"./remarksSlice\";\r\n\r\nconst {actions} = remarksSlice;\r\n\r\nexport const fetchRemarks = (queryParams, productId) => dispatch => {\r\n dispatch(actions.startCall({ callType: callTypes.list }));\r\n if (!productId) {\r\n return dispatch(actions.remarksFetched({ totalCount: 0, entities: null }));\r\n }\r\n\r\n return requestFromServer\r\n .findRemarks(queryParams, productId)\r\n .then(response => {\r\n const { totalCount, entities } = response.data;\r\n dispatch(actions.remarksFetched({ totalCount, entities }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't find receipt custom field\";\r\n dispatch(actions.catchError({ error, callType: callTypes.list }));\r\n });\r\n};\r\n\r\nexport const fetchRemark = id => dispatch => {\r\n if (!id) {\r\n return dispatch(actions.remarkFetched({ remarkForEdit: undefined }));\r\n }\r\n\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .getRemarkById(id)\r\n .then(response => {\r\n const remark = response.data;\r\n dispatch(actions.remarkFetched({ remarkForEdit: remark }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't find receipt custom field\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const deleteRemark = id => dispatch => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .deleteRemark(id)\r\n .then(response => {\r\n dispatch(actions.remarkDeleted({ id }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't delete receipt custom field\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const createRemark = remarkForCreation => dispatch => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .createRemark(remarkForCreation)\r\n .then(response => {\r\n const { remark } = response.data;\r\n dispatch(actions.remarkCreated({ remark }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't create receipt custom field\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const updateRemark = remark => dispatch => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .updateRemark(remark)\r\n .then(() => {\r\n dispatch(actions.remarkUpdated({ remark }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't update receipt custom field\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const deleteRemarks = ids => dispatch => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .deleteRemarks(ids)\r\n .then(() => {\r\n console.log(\"delete return\");\r\n dispatch(actions.remarksDeleted({ ids }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't delete receipt custom fields\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n","import axios from \"axios\";\r\n\r\nexport const REMARKS_URL = \"api/PurchaseOrders\";\r\n\r\n// CREATE => POST: add a new remark to the server\r\nexport function createRemark(remark) {\r\n return axios.post(REMARKS_URL, { remark });\r\n}\r\n\r\n// READ\r\n// Server should return filtered remarks by productId\r\nexport function getAllProductRemarksByProductId(productId) {\r\n return axios.get(`${REMARKS_URL}?productId=${productId}`);\r\n}\r\n\r\nexport function getRemarkById(remarkId) {\r\n return axios.get(`${REMARKS_URL}/${remarkId}`);\r\n}\r\n\r\n// Server should return sorted/filtered remarks and merge with items from state\r\n// TODO: Change your URL to REAL API, right now URL is 'api/remarksfind/{productId}'. Should be 'api/remarks/find/{productId}'!!!\r\nexport function findRemarks(queryParams, productId) {\r\n return axios.post(`${REMARKS_URL}find/${productId}`, { queryParams });\r\n}\r\n\r\n// UPDATE => PUT: update the remark\r\nexport function updateRemark(remark) {\r\n return axios.put(`${REMARKS_URL}/${remark.Id}`, { remark });\r\n}\r\n\r\n// DELETE => delete the remark\r\nexport function deleteRemark(remarkId) {\r\n return axios.delete(`${REMARKS_URL}/${remarkId}`);\r\n}\r\n\r\n// DELETE Remarks by ids\r\nexport function deleteRemarks(ids) {\r\n return axios.post(`${REMARKS_URL}/deleteReceipts`, { ids });\r\n}\r\n","import React from \"react\";\r\nimport { OverlayTrigger, Tooltip } from \"react-bootstrap\";\r\nimport SVG from \"react-inlinesvg\";\r\nimport { toAbsoluteUrl } from \"../../../../../_metronic/_helpers\";\r\n\r\nexport const ActionsColumnFormatter = (\r\n cellContent,\r\n row,\r\n rowIndex,\r\n { openEditRemarkDialog, openDeleteRemarkDialog }\r\n) => (\r\n <>\r\n Edit Purchase Line Item}\r\n >\r\n openEditRemarkDialog(row.id)}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n\r\n <> \r\n Delete Purchase Line Item}\r\n >\r\n openDeleteRemarkDialog(row.id)}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n","import React from \"react\";\r\nexport function DateColumnFormatter(cellContent, row) {\r\n console.log(\"row\");\r\n console.log(row);\r\n var elapsed = new Date(row.CanceledDate).toLocaleString();\r\n return (\r\n <>\r\n {elapsed}\r\n \r\n );\r\n}\r\n","import React from \"react\";\r\nexport function DateColumnFormatter(cellContent, row) {\r\n console.log(\"row\");\r\n console.log(row);\r\n var elapsed = new Date(row.ExcpectedDate).toLocaleString();\r\n return (\r\n <>\r\n {elapsed}\r\n \r\n );\r\n}\r\n","import React, { useEffect, useMemo } from \"react\";\r\nimport { shallowEqual, useDispatch, useSelector } from \"react-redux\";\r\nimport BootstrapTable from \"react-bootstrap-table-next\";\r\nimport paginationFactory, {\r\n PaginationProvider,\r\n} from \"react-bootstrap-table2-paginator\";\r\nimport * as actions from \"../../../modules/eMPower/_redux/PurchaseOrders/remarksActions\";\r\nimport { ActionsColumnFormatter } from \"./column-formatters/ActionsColumnFormatter\";\r\nimport * as columnFormatters from \"./column-formatters/DateColumnFormatter\";\r\nimport * as columnFormattersExcepted from \"./column-formatters/DateColumnFormatterExcepted\";\r\nimport * as uiHelpers from \"./RemarksUIHelper\";\r\nimport { Pagination } from \"../../../../_metronic/_partials/controls\";\r\n\r\n\r\nimport {\r\n getSelectRow,\r\n getHandlerTableChange,\r\n NoRecordsFoundMessage,\r\n PleaseWaitMessage,\r\n sortCaret,\r\n} from \"../../../../_metronic/_helpers\";\r\nimport { useRemarksUIContext } from \"./RemarksUIContext\";\r\nexport function RemarksTable() {\r\n // Remarks UI Context\r\n const remarksUIContext = useRemarksUIContext();\r\n const remarksUIProps = useMemo(() => {\r\n return {\r\n ids: remarksUIContext.ids,\r\n setIds: remarksUIContext.setIds,\r\n queryParams: remarksUIContext.queryParams,\r\n setQueryParams: remarksUIContext.setQueryParams,\r\n productId: remarksUIContext.productId,\r\n openEditRemarkDialog: remarksUIContext.openEditRemarkDialog,\r\n openDeleteRemarkDialog: remarksUIContext.openDeleteRemarkDialog,\r\n };\r\n }, [remarksUIContext]);\r\n\r\n // Getting curret state of products list from store (Redux)\r\n const { currentState } = useSelector(\r\n (state) => ({ currentState: state.remarks }),\r\n shallowEqual\r\n );\r\n const { totalCount, entities, listLoading } = currentState;\r\n const dispatch = useDispatch();\r\n useEffect(() => {\r\n remarksUIProps.setIds([]);\r\n dispatch(\r\n actions.fetchRemarks(remarksUIProps.queryParams, remarksUIProps.productId)\r\n );\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [remarksUIProps.queryParams, dispatch, remarksUIProps.productId]);\r\n const columns = [\r\n {\r\n dataField: \"id\",\r\n text: \"Id\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n },\r\n {\r\n dataField: \"Sku\",\r\n text: \"Sku\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n },\r\n {\r\n dataField: \"Qualifier\",\r\n text: \"Qualifier\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n },\r\n {\r\n dataField: \"Warehouse\",\r\n text: \"Warehouse\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n },\r\n {\r\n dataField: \"ExcpectedDate\",\r\n text: \"Excpected Date\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n formatter: columnFormattersExcepted.DateColumnFormatter,\r\n },\r\n {\r\n dataField: \"CanceledDate\",\r\n text: \"Canceled Date\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n formatter: columnFormatters.DateColumnFormatter,\r\n },\r\n {\r\n dataField: \"action\",\r\n text: \"Actions\",\r\n formatter: ActionsColumnFormatter,\r\n formatExtraData: {\r\n openEditRemarkDialog: remarksUIProps.openEditRemarkDialog,\r\n openDeleteRemarkDialog: remarksUIProps.openDeleteRemarkDialog,\r\n },\r\n classes: \"text-center pr-0\",\r\n headerClasses: \"text-center pr-3\",\r\n style: {\r\n minWidth: \"100px\",\r\n },\r\n },\r\n ];\r\n\r\n const paginationOptions = {\r\n custom: true,\r\n totalSize: totalCount,\r\n sizePerPageList: uiHelpers.sizePerPageList,\r\n sizePerPage: remarksUIProps.queryParams.pageSize,\r\n page: remarksUIProps.queryParams.pageNumber,\r\n };\r\n return (\r\n <>\r\n \r\n {({ paginationProps, paginationTableProps }) => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n }}\r\n \r\n \r\n );\r\n}\r\n","import React, {useEffect} from \"react\";\r\nimport {shallowEqual, useSelector} from \"react-redux\";\r\nimport {LoadingDialog} from \"../../../../_metronic/_partials/controls\";\r\n\r\nexport function RemarksLoadingDialog() {\r\n const { isLoading } = useSelector(\r\n state => ({ isLoading: state.remarks.listLoading }),\r\n shallowEqual\r\n );\r\n useEffect(() => {}, [isLoading]);\r\n return ;\r\n}\r\n","/* eslint-disable no-restricted-imports */\r\nimport React, { useEffect, useMemo } from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { shallowEqual, useDispatch, useSelector } from \"react-redux\";\r\nimport { ModalProgressBar } from \"../../../../_metronic/_partials/controls\";\r\nimport * as actions from \"../../../modules/eMPower/_redux/PurchaseOrders/remarksActions\";\r\nimport { useRemarksUIContext } from \"./RemarksUIContext\";\r\n\r\nexport function RemarkDeleteDialog() {\r\n // Remarks UI Context\r\n const remarksUIContext = useRemarksUIContext();\r\n const remarksUIProps = useMemo(() => {\r\n return {\r\n id: remarksUIContext.selectedId,\r\n setIds: remarksUIContext.setIds,\r\n productId: remarksUIContext.productId,\r\n queryParams: remarksUIContext.queryParams,\r\n showDeleteRemarkDialog: remarksUIContext.showDeleteRemarkDialog,\r\n closeDeleteRemarkDialog: remarksUIContext.closeDeleteRemarkDialog,\r\n };\r\n }, [remarksUIContext]);\r\n\r\n // Remarks Redux state\r\n const dispatch = useDispatch();\r\n const { isLoading } = useSelector(\r\n (state) => ({ isLoading: state.remarks.actionsLoading }),\r\n shallowEqual\r\n );\r\n\r\n // if !id we should close modal\r\n useEffect(() => {\r\n if (!remarksUIProps.id) {\r\n remarksUIProps.closeDeleteRemarkDialog();\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [remarksUIProps.id]);\r\n\r\n // looking for loading/dispatch\r\n useEffect(() => {}, [isLoading, dispatch]);\r\n\r\n const deleteRemark = () => {\r\n // server request for deleting remark by id\r\n dispatch(actions.deleteRemark(remarksUIProps.id)).then(() => {\r\n // refresh list after deletion\r\n dispatch(\r\n actions.fetchRemarks(\r\n remarksUIProps.queryParams,\r\n remarksUIProps.productId\r\n )\r\n );\r\n // clear selections list\r\n remarksUIProps.setIds([]);\r\n // closing delete modal\r\n remarksUIProps.closeDeleteRemarkDialog();\r\n });\r\n };\r\n\r\n return (\r\n \r\n {isLoading && }\r\n \r\n \r\n Purchase Line Item Delete\r\n \r\n \r\n \r\n {!isLoading && (\r\n Are you sure to permanently delete this Purchase Line Item ?\r\n )}\r\n {isLoading && item is deleting...}\r\n \r\n \r\n
    \r\n \r\n Cancel\r\n \r\n <> \r\n \r\n Delete\r\n \r\n
    \r\n
    \r\n \r\n );\r\n}\r\n","/* eslint-disable no-restricted-imports */\r\nimport React, { useState, useEffect } from \"react\";\r\nimport { shallowEqual, useSelector } from \"react-redux\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { ModalProgressBar } from \"../../../../../_metronic/_partials/controls\";\r\n\r\nexport function RemarkEditDialogHeader({ id }) {\r\n const [title, setTitle] = useState(\"\");\r\n // Remarks Redux state\r\n const { remarkForEdit, actionsLoading } = useSelector(\r\n (state) => ({\r\n remarkForEdit: state.remarks.remarkForEdit,\r\n actionsLoading: state.remarks.actionsLoading,\r\n }),\r\n shallowEqual\r\n );\r\n\r\n useEffect(() => {\r\n let _title = id ? \"\" : \"New Purchase line Item\";\r\n console.log(id);\r\n console.log(remarkForEdit);\r\n if (remarkForEdit && id) {\r\n _title = \"Edit Purchase line Item\";\r\n }\r\n\r\n setTitle(_title);\r\n // eslint-disable-next-line\r\n }, [remarkForEdit, actionsLoading]);\r\n\r\n return (\r\n <>\r\n {actionsLoading && }\r\n \r\n {title}\r\n \r\n \r\n );\r\n}\r\n","// Form is based on Formik\r\n// Data validation is based on Yup\r\n// Please, be familiar with article first:\r\n// https://hackernoon.com/react-form-validation-with-formik-and-yup-8b76bda62e10\r\nimport React, { useState, useEffect } from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { Formik, Form, Field } from \"formik\";\r\nimport axios from \"axios\";\r\nimport {\r\n Input,\r\n Select,\r\n} from \"../../../../../_metronic/_partials/controls\";\r\nimport { makeStyles } from \"@material-ui/core/styles\";\r\nimport TextField from \"@material-ui/core/TextField\";\r\n\r\nexport function RemarkEditForm({ saveRemark, remark, actionsLoading, onHide }) {\r\n // Validation schema\r\n // const ReceiptEditSchema = Yup.object().shape({\r\n // Name: Yup.string()\r\n // .required(\"Name is required\"),\r\n // });\r\n const useStyles2 = makeStyles(theme => ({\r\n container: {\r\n display: \"flex\",\r\n flexWrap: \"wrap\"\r\n },\r\n textField: {\r\n marginLeft: theme.spacing(1),\r\n marginRight: theme.spacing(1),\r\n width: 200\r\n }\r\n }));\r\n const classes2 = useStyles2();\r\n const [skuList, setskuList] = useState([]);\r\n // const [primaryList, setprimaryList] = useState([]);\r\n const [skuData, setskuData] = useState({ Description: '' });\r\n const [retilerList, setretilerList] = useState([]);\r\n const [wareHousesList, setwareHousesList] = useState([]);\r\n useEffect(() => {\r\n fetchOrderAsync();\r\n }, []);\r\n useEffect(() => {\r\n if (remark.CanceledDate !== undefined && remark.CanceledDate !== null && remark.CanceledDate !== \"\") {\r\n document.getElementById(\"CanceledDate\").value = remark.CanceledDate;\r\n }\r\n if (remark.ExcpectedDate !== undefined && remark.ExcpectedDate !== null && remark.ExcpectedDate !== \"\") {\r\n document.getElementById(\"ExcpectedDate\").value = remark.ExcpectedDate;\r\n }\r\n if (remark.Description !== undefined && remark.Description !== null && remark.Description !== \"\") {\r\n setTimeout(function () {\r\n document.getElementById(\"DescriptionItem\").value = remark.Description;\r\n }, 1000);\r\n }\r\n\r\n }, [remark]);\r\n // useEffect(() => {\r\n // if(remark.Description != undefined && remark.Description != null&& remark.Description != \"\"){\r\n // setTimeout(function(){ \r\n // document.getElementById(\"DescriptionItem\").value = remark.Description; \r\n // }, 1000);\r\n // }\r\n\r\n // if(remark.PrimaryUnit != undefined && remark.PrimaryUnit != null&& remark.PrimaryUnit != \"\"){\r\n // setTimeout(function(){ \r\n // document.getElementById(\"PrimaryUnitId\").value = remark.PrimaryUnit; \r\n // }, 1000);\r\n // }\r\n // }, [remark]);\r\n const fetchOrderAsync = async () => {\r\n try {\r\n const result = await axios.get(\"api/orderLineItems/GetAllApi\");\r\n setskuList(result.data[\"skuList\"]);\r\n const result2 = await axios.get(\"api/purchaseorders/getRetiler\");\r\n console.log(\"result2\");\r\n console.log(result2.data[\"RetilersList\"]);\r\n console.log(result.data[\"warhousesList\"]);\r\n if (result2.status === 200) {\r\n console.log(\"result2.data\");\r\n console.log(result2.data[\"RetilersList\"]);\r\n setretilerList(result2.data[\"RetilersList\"]);\r\n setwareHousesList(result2.data[\"warhousesList\"]);\r\n }\r\n } catch (e) { }\r\n };\r\n return (\r\n <>\r\n {\r\n saveRemark(values);\r\n }}\r\n >\r\n {({ handleSubmit, setFieldValue }) => (\r\n <>\r\n \r\n {actionsLoading && (\r\n
    \r\n
    \r\n
    \r\n )}\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n {\r\n setFieldValue(\"ExcpectedDate\", event.target.value);\r\n }}\r\n />\r\n
    \r\n
    \r\n {\r\n setFieldValue(\"CanceledDate\", event.target.value);\r\n }}\r\n />\r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n Cancel\r\n \r\n <> \r\n handleSubmit()}\r\n className=\"btn btn-primary btn-elevate\"\r\n >\r\n Save\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n );\r\n}\r\n","import React, { useEffect, useMemo } from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { shallowEqual, useDispatch, useSelector } from \"react-redux\";\r\nimport * as actions from \"../../../../modules/eMPower/_redux/PurchaseOrders/remarksActions\";\r\nimport { RemarkEditDialogHeader } from \"./RemarkEditDialogHeader\";\r\nimport { RemarkEditForm } from \"./RemarkEditForm\";\r\nimport { useRemarksUIContext } from \"../RemarksUIContext\";\r\nimport { Notification } from \"../../../../modules/Notification\";\r\n\r\nfunction getFormattedDate(date) {\r\n if (typeof date === \"string\") {\r\n return date;\r\n }\r\n\r\n var year = date.getFullYear();\r\n\r\n var month = (1 + date.getMonth()).toString();\r\n month = month.length > 1 ? month : \"0\" + month;\r\n\r\n var day = date.getDate().toString();\r\n day = day.length > 1 ? day : \"0\" + day;\r\n\r\n return month + \"/\" + day + \"/\" + year;\r\n}\r\n\r\nexport function RemarkEditDialog() {\r\n // Remarks UI Context\r\n const remarksUIContext = useRemarksUIContext();\r\n const remarksUIProps = useMemo(() => {\r\n return {\r\n id: remarksUIContext.selectedId,\r\n setIds: remarksUIContext.setIds,\r\n productId: remarksUIContext.productId,\r\n queryParams: remarksUIContext.queryParams,\r\n showEditRemarkDialog: remarksUIContext.showEditRemarkDialog,\r\n closeEditRemarkDialog: remarksUIContext.closeEditRemarkDialog,\r\n initRemark: remarksUIContext.initRemark,\r\n };\r\n }, [remarksUIContext]);\r\n\r\n // Remarks Redux state\r\n const dispatch = useDispatch();\r\n const { actionsLoading, remarkForEdit } = useSelector(\r\n (state) => ({\r\n actionsLoading: state.remarks.actionsLoading,\r\n remarkForEdit: state.remarks.remarkForEdit,\r\n }),\r\n shallowEqual\r\n );\r\n\r\n useEffect(() => {\r\n // server request for getting remark by seleted id\r\n dispatch(actions.fetchRemark(remarksUIProps.id));\r\n }, [remarksUIProps.id, dispatch]);\r\n\r\n const saveRemark = (remark) => {\r\n if (!remarksUIProps.id) {\r\n // server request for creating remarks\r\n dispatch(actions.createRemark(remark)).then(() => {\r\n Notification(\"success\", \"New Purchase Line Items Add successfully\"); \r\n // refresh list after deletion\r\n dispatch(\r\n actions.fetchRemarks(\r\n remarksUIProps.queryParams,\r\n remarksUIProps.productId\r\n )\r\n ).then(() => {\r\n // clear selections list\r\n remarksUIProps.setIds([]);\r\n // closing edit modal\r\n remarksUIProps.closeEditRemarkDialog();\r\n });\r\n });\r\n } else {\r\n // server request for updating remarks\r\n dispatch(actions.updateRemark(remark)).then(() => {\r\n // refresh list after deletion\r\n dispatch(\r\n // refresh list after deletion\r\n actions.fetchRemarks(\r\n remarksUIProps.queryParams,\r\n remarksUIProps.productId\r\n )\r\n ).then(() => {\r\n // clear selections list\r\n remarksUIProps.setIds([]);\r\n // closing edit modal\r\n remarksUIProps.closeEditRemarkDialog();\r\n });\r\n });\r\n }\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n}\r\n","import React, { useMemo } from \"react\";\r\nimport { RemarksFilter } from \"./RemarksFilter\";\r\nimport { RemarksTable } from \"./RemarksTable\";\r\nimport { RemarksLoadingDialog } from \"./RemarksLoadingDialog\";\r\nimport { RemarkDeleteDialog } from \"./RemarkDeleteDialog\";\r\nimport { RemarkEditDialog } from \"./remark-edit-dialog/RemarkEditDialog\";\r\nimport { useRemarksUIContext } from \"./RemarksUIContext\";\r\n\r\n\r\nexport function RemarksCustomFields() {\r\n // Remarks UI Context\r\n const remarksUIContext = useRemarksUIContext();\r\n const remarksUIProps = useMemo(() => {\r\n return { ids: remarksUIContext.ids };\r\n }, [remarksUIContext]);\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n {/* \r\n */}\r\n
    \r\n \r\n \r\n {/* {remarksUIProps.ids.length > 0 && } */}\r\n
    \r\n \r\n \r\n );\r\n}\r\n","import React, { useEffect, useState } from \"react\";\r\nimport { Form, Card, Button } from \"react-bootstrap\";\r\nimport { Formik, Field } from \"formik\";\r\nimport axios from \"axios\";\r\nimport {\r\n Input,\r\n Select\r\n} from \"../../../_metronic/_partials/controls\";\r\nimport {\r\n useParams\r\n} from \"react-router-dom\";\r\nimport { Notification } from \"../../modules/Notification\";\r\nimport LinearProgress from \"@material-ui/core/LinearProgress\";\r\nimport * as Yup from \"yup\";\r\nimport TextField from \"@material-ui/core/TextField\";\r\nimport { RemarksUIProviderCustomField } from \"./purchaseOrderLineItems/RemarksUIContext\";\r\nimport { RemarksCustomFields } from \"./purchaseOrderLineItems/Remarks\";\r\n\r\nvar eventChange = new Event(\"change\", { bubbles: true });\r\n\r\nfunction eventChangefunction(id) {\r\n var element = document.getElementById(id);\r\n if (element != null)\r\n setTimeout(() => {\r\n element.dispatchEvent(eventChange);\r\n }, 500);\r\n}\r\n\r\nfunction SetValuefunction(id, value) {\r\n var element = document.getElementById(id);\r\n if (element != null)\r\n setTimeout(() => {\r\n element.value = value;\r\n element.setAttribute(\"value\", value);\r\n }, 500);\r\n}\r\nexport function EditPurchaseOrder() {\r\n const { id } = useParams(\"id\");\r\n const initalizePurchaseOrder = {\r\n Address1: \"\",\r\n Address2: \"\",\r\n City: \"\",\r\n CompanyName: \"\",\r\n Country: \"\",\r\n Email: \"\",\r\n Phone: \"\",\r\n DepartmentId: \"\",\r\n IssueDate: \"\",\r\n Notes: \"\",\r\n State: \"\",\r\n ZipCode: \"\",\r\n SupplierId: \"\",\r\n SupplierName: \"\",\r\n Number: \"\"\r\n }\r\n const [countries, setCountries] = useState([]);\r\n const [states, setStates] = useState([]);\r\n const [suppliers, setSuppliers] = useState([]);\r\n const [showProgress, setshowProgress] = useState(false);\r\n const [showSupplierProgress, setshowSupplierProgress] = useState(false);\r\n const [showGeneralProgress, setshowGeneralProgress] = useState(true);\r\n const [purchaseOrder, setPurchaseOrder] = useState(initalizePurchaseOrder);\r\n const purchaseOrderSchema = Yup.object().shape({\r\n CompanyName: Yup.string()\r\n .required(\"Company name is required\"),\r\n Address1: Yup.string()\r\n .required(\"Address 1 is required\"),\r\n City: Yup.string()\r\n .required(\"City is required\"),\r\n Country: Yup.string()\r\n .required(\"Country is required\"),\r\n ZipCode: Yup.string()\r\n .required(\"Zip Code is required\")\r\n });\r\n useEffect(() => {\r\n fetchDataAsync();\r\n }, []);\r\n useEffect(() => {\r\n var issueDate = purchaseOrder.IssueDate || false;\r\n if (issueDate) {\r\n SetValuefunction(\"issueDateId\", issueDate);\r\n }\r\n var supplierId = purchaseOrder.SupplierId || false;\r\n if (supplierId) {\r\n SetValuefunction(\"SupplierId\", supplierId);\r\n }\r\n }, [purchaseOrder]);\r\n\r\n const fetchDataAsync = async () => {\r\n try {\r\n const result = await axios.get(`api/purchaseorders/${id}`);\r\n console.log(\"result\");\r\n console.log(result);\r\n const resultCountries = await axios.get(\"api/companyinfo/getcountries\");\r\n if (result.status == 200) {\r\n if (result.data.Country) {\r\n const resultStates = await axios.get(`api/companyinfo/getstates/${result.data.Country}`);\r\n if (resultStates.status == 200) {\r\n if (resultStates.data.length > 0)\r\n setStates(resultStates.data);\r\n }\r\n }\r\n if (result.data.CustomerId) {\r\n const resultSuppliers = await axios.get(`api/purchaseorders/suppliers/${result.data.CustomerId}`);\r\n if (resultSuppliers.status == 200) {\r\n if (resultSuppliers.data.length > 0)\r\n setSuppliers(resultSuppliers.data);\r\n }\r\n }\r\n setPurchaseOrder(result.data);\r\n document.getElementById(\"State\").value = result.data.State;\r\n setshowGeneralProgress(false);\r\n }\r\n if (resultCountries.status == 200) {\r\n setCountries(resultCountries.data);\r\n }\r\n } catch (e) {\r\n console.log(e);\r\n setshowGeneralProgress(false);\r\n }\r\n };\r\n\r\n const handleCountryChange = async (event) => {\r\n setshowProgress(true);\r\n setStates([]);\r\n if (event.target.value !== \"\" && event.target.vale !== null) {\r\n const result = await axios.get(`api/companyinfo/getstates/${event.target.value}`);\r\n if (result.status == 200) {\r\n if (result.data.length > 0)\r\n setStates(result.data);\r\n else\r\n Notification(\"warning\", \"This Country doesn't have any state.\");\r\n }\r\n }\r\n setshowProgress(false);\r\n }\r\n\r\n async function handleChange(event, setFieldValue) {\r\n setshowSupplierProgress(true);\r\n try {\r\n setFieldValue(\"SupplierId\", event.target.value);\r\n let supplierId = event.target.value;\r\n\r\n setFieldValue(\"SupplierName\", \"\");\r\n setFieldValue(\"CompanyName\", \"\");\r\n setFieldValue(\"Address1\", \"\");\r\n setFieldValue(\"Address2\", \"\");\r\n setFieldValue(\"ZipCode\", \"\");\r\n setFieldValue(\"Country\", \"\");\r\n setFieldValue(\"State\", \"\");\r\n setFieldValue(\"City\", \"\");\r\n setFieldValue(\"DepartmentId\", \"\");\r\n setFieldValue(\"Phone\", \"\");\r\n setFieldValue(\"Email\", \"\");\r\n\r\n\r\n if (supplierId) {\r\n var newSupplier = await axios.get(`api/purchaseorders/suppliers/details/${supplierId}`);\r\n if (newSupplier.status == 200) {\r\n setStates([]);\r\n const result = await axios.get(`api/companyinfo/getstates/${newSupplier.data.Country}`);\r\n if (result.status == 200) {\r\n if (result.data.length > 0)\r\n setStates(result.data);\r\n }\r\n setFieldValue(\"SupplierName\", newSupplier.data.Name);\r\n setFieldValue(\"CompanyName\", newSupplier.data.CompanyName);\r\n setFieldValue(\"Address1\", newSupplier.data.Address1);\r\n setFieldValue(\"Address2\", newSupplier.data.Address2);\r\n setFieldValue(\"ZipCode\", newSupplier.data.ZipCode);\r\n setFieldValue(\"Country\", newSupplier.data.Country);\r\n setFieldValue(\"State\", newSupplier.data.State);\r\n setFieldValue(\"City\", newSupplier.data.City);\r\n setFieldValue(\"DepartmentId\", newSupplier.data.DepartmentId);\r\n setFieldValue(\"Phone\", newSupplier.data.Phone);\r\n setFieldValue(\"Email\", newSupplier.data.Email);\r\n }\r\n }\r\n } catch (e) { }\r\n setshowSupplierProgress(false);\r\n }\r\n\r\n const updatePurchaseOrder = async (purchaseOrder) => {\r\n const result = await axios.put(`api/purchaseorders/${id}`, { purchaseOrder });\r\n if (result.data.success === true) {\r\n Notification(\"success\", \"Purchase order updated successfully.\");\r\n const resultSuppliers = await axios.get(`api/purchaseorders/suppliers/${purchaseOrder.CustomerId}`);\r\n if (resultSuppliers.status == 200) {\r\n if (resultSuppliers.data.length > 0)\r\n setSuppliers(resultSuppliers.data);\r\n }\r\n }\r\n else {\r\n const msg = result.data.Message === undefined ? \"Something went wrong, please try later or contact the support.\" : result.data.Message;\r\n Notification(\"error\", msg);\r\n }\r\n };\r\n\r\n function newSupplier(setFieldValue) {\r\n if (document.getElementById(\"SupplierId\").value) {\r\n document.getElementById(\"SupplierId\").value = \"\";\r\n setFieldValue(\"SupplierId\", null);\r\n Notification(\"warning\", \"You'll create a new supplier\");\r\n }\r\n }\r\n return (\r\n \r\n \r\n
    \r\n \r\n \r\n Customer\r\n
    \r\n
    \r\n
    \r\n \r\n {showGeneralProgress && }\r\n
    \r\n
    \r\n
    \r\n P.O.#\r\n
    \r\n
    \r\n
    \r\n \r\n {showGeneralProgress && }\r\n
    \r\n
    \r\n
    \r\n P.O ID\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n {\r\n updatePurchaseOrder(values);\r\n }}>\r\n {({ handleSubmit, setFieldValue }) => (\r\n <>\r\n \r\n
    \r\n

    PO Header

    \r\n
    \r\n
    \r\n
    \r\n Issue Date\r\n {\r\n setFieldValue(\"IssueDate\", event.target.value);\r\n }}\r\n />\r\n {showGeneralProgress && }\r\n
    \r\n
    \r\n Notes\r\n \r\n {showGeneralProgress && }\r\n
    \r\n
    \r\n
    Choose Supplier
    \r\n
    \r\n
    \r\n Supplier\r\n \r\n {showGeneralProgress && }\r\n
    \r\n
    \r\n
    Or Create Supplier
    \r\n
    \r\n\r\n
    \r\n Name\r\n { newSupplier(setFieldValue) }} />\r\n {showGeneralProgress && }\r\n {showSupplierProgress && }\r\n
    \r\n
    \r\n Company\r\n { newSupplier(setFieldValue) }} />\r\n {showGeneralProgress && }\r\n {showSupplierProgress && }\r\n
    \r\n\r\n
    \r\n Address1\r\n { newSupplier(setFieldValue) }} />\r\n {showGeneralProgress && }\r\n {showSupplierProgress && }\r\n
    \r\n
    \r\n Address2\r\n { newSupplier(setFieldValue) }} />\r\n {showGeneralProgress && }\r\n {showSupplierProgress && }\r\n
    \r\n
    \r\n ZIP\r\n { newSupplier(setFieldValue) }} />\r\n {showGeneralProgress && }\r\n {showSupplierProgress && }\r\n
    \r\n\r\n
    \r\n Country\r\n \r\n {showGeneralProgress && }\r\n {showSupplierProgress && }\r\n
    \r\n
    \r\n St/Province\r\n \r\n {showProgress && }\r\n {showSupplierProgress && }\r\n
    \r\n
    \r\n City\r\n { newSupplier(setFieldValue) }} />\r\n {showGeneralProgress && }\r\n {showSupplierProgress && }\r\n
    \r\n
    \r\n Dept #\r\n { newSupplier(setFieldValue) }} />\r\n {showGeneralProgress && }\r\n {showSupplierProgress && }\r\n
    \r\n
    \r\n Phone\r\n { newSupplier(setFieldValue) }} />\r\n {showGeneralProgress && }\r\n {showSupplierProgress && }\r\n
    \r\n
    \r\n Email\r\n { newSupplier(setFieldValue) }} />\r\n {showGeneralProgress && }\r\n {showSupplierProgress && }\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n )}\r\n \r\n
    \r\n {/*

    Line Items

    */}\r\n
    \r\n
    \r\n {/* */}\r\n \r\n \r\n \r\n
    \r\n
    \r\n )\r\n}","import React from 'react'\r\nimport { Button, Form, Card, Col, Dropdown } from \"react-bootstrap\";\r\nimport { makeStyles } from '@material-ui/core/styles';\r\nexport function PurchaseOrderReport({ history }) {\r\n const useStyles = makeStyles(theme => ({\r\n button: {\r\n margin: theme.spacing(1),\r\n },\r\n leftIcon: {\r\n marginRight: theme.spacing(1),\r\n },\r\n rightIcon: {\r\n marginLeft: theme.spacing(1),\r\n },\r\n iconSmall: {\r\n fontSize: 20,\r\n },\r\n }));\r\n const classes = useStyles();\r\n const [open, setOpen] = React.useState(false);\r\n\r\n const backToPurchaseOrderReports = () => {\r\n history.push(`/PurchaseOrderReports`);\r\n };\r\n\r\n function handleClickOpen() {\r\n setOpen(true);\r\n }\r\n\r\n function handleClose() {\r\n setOpen(false);\r\n }\r\n\r\n return (\r\n \r\n \r\n
    \r\n \r\n \r\n
    \r\n Choose a Purchase Order ID\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n \r\n \r\n
    \r\n - or -\r\n
    \r\n
    \r\n
    \r\n\r\n \r\n \r\n
    \r\n Choose a Purchase Order Number\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n \r\n \r\n
    \r\n Report Definition\r\n \r\n \r\n Default\r\n \r\n \r\n Action\r\n Another action\r\n Something else\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n \r\n \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n )\r\n}\r\n","import React from 'react'\r\nimport { Button, Form, Card, Col, Dropdown} from \"react-bootstrap\";\r\nimport { makeStyles } from '@material-ui/core/styles';\r\n\r\nexport function PurchaseOrderProgressReport({ history }) {\r\n const useStyles = makeStyles(theme => ({\r\n button: {\r\n margin: theme.spacing(1),\r\n },\r\n leftIcon: {\r\n marginRight: theme.spacing(1),\r\n },\r\n rightIcon: {\r\n marginLeft: theme.spacing(1),\r\n },\r\n iconSmall: {\r\n fontSize: 20,\r\n },\r\n }));\r\n const classes = useStyles();\r\n const [open, setOpen] = React.useState(false);\r\n\r\n const backToPurchaseOrderReports = () => {\r\n history.push(`/PurchaseOrderReports`);\r\n };\r\n\r\n function handleClickOpen() {\r\n setOpen(true);\r\n }\r\n\r\n function handleClose() {\r\n setOpen(false);\r\n }\r\n\r\n return (\r\n \r\n \r\n
    \r\n \r\n \r\n
    \r\n Choose a Purchase Order ID\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n \r\n \r\n
    \r\n - or -\r\n
    \r\n
    \r\n
    \r\n\r\n \r\n \r\n
    \r\n Choose a Purchase Order Number\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n \r\n \r\n
    \r\n Report Definition\r\n \r\n \r\n Default\r\n \r\n \r\n Action\r\n Another action\r\n Something else\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n \r\n \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n )\r\n}\r\n","import React from 'react';\r\nimport { withStyles, makeStyles } from '@material-ui/core/styles';\r\nimport Table from '@material-ui/core/Table';\r\nimport TableBody from '@material-ui/core/TableBody';\r\nimport TableCell from '@material-ui/core/TableCell';\r\nimport TableHead from '@material-ui/core/TableHead';\r\nimport TableRow from '@material-ui/core/TableRow';\r\nimport Paper from '@material-ui/core/Paper';\r\nimport { Container } from '@material-ui/core';\r\nimport TextField from '@material-ui/core/TextField';\r\nimport Radio from '@material-ui/core/Radio';\r\nimport RadioGroup from '@material-ui/core/RadioGroup';\r\nimport FormControlLabel from '@material-ui/core/FormControlLabel';\r\nimport FormControl from '@material-ui/core/FormControl';\r\nimport FormLabel from '@material-ui/core/FormLabel';\r\nimport { Form } from \"react-bootstrap\";\r\nimport { Helmet } from \"react-helmet\";\r\n\r\nconst StyledTableCell = withStyles(theme => ({\r\n head: {\r\n backgroundColor: theme.palette.common.black,\r\n color: theme.palette.common.white,\r\n },\r\n body: {\r\n fontSize: 14,\r\n },\r\n}))(TableCell);\r\n\r\nconst StyledTableRow = withStyles(theme => ({\r\n root: {\r\n '&:nth-of-type(odd)': {\r\n backgroundColor: theme.palette.background.default,\r\n },\r\n },\r\n}))(TableRow);\r\n\r\nfunction createData(id, customerName, warehouse, po, customer, created, issued, closed) {\r\n return { id, customerName, warehouse, po, customer, created, issued, closed };\r\n}\r\n\r\nconst rows = [\r\n createData(1, 'PhatMojo, LLc', 'Mitco Global- Downey', 3514, 'PhatMojo, LLc', '2020/06/23 13:05', '', 'no'),\r\n createData(5, 'EDL TEST', 'Mitco Global- Downey', 2459, 'PhatMojo, LLc', '2020/06/23 13:05', '', 'no'),\r\n];\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n root: {\r\n width: '100%',\r\n marginTop: theme.spacing(3),\r\n overflowX: 'auto',\r\n },\r\n}));\r\n\r\n\r\nexport function FindPurchaseOrders({ history }) {\r\n const classes = useStyles();\r\n\r\n const backToPurchaseOrderReports = () => {\r\n history.push(`/PurchaseOrderReports`);\r\n };\r\n\r\n const [value, setValue] = React.useState('open');\r\n const handleChange = (event) => {\r\n setValue(event.target.value);\r\n };\r\n\r\n return (\r\n <>\r\n \r\n eMPower | Purchase Report\r\n \r\n \r\n \r\n
    \r\n
    \r\n

    CHOOSE WHICH \"PURCHASE ORDERS\" TO DISPLAY

    \r\n
    \r\n
    \r\n \r\n \r\n \r\n #\r\n CUSTOMER NAME\r\n WAREHOUSE\r\n \r\n \r\n \r\n {rows.map(row => (\r\n \r\n \r\n {row.customerName}\r\n {row.warehouse}\r\n \r\n ))}\r\n \r\n
    \r\n\r\n
    \r\n

    Press 'Shift' then 'Left Mouse Button' to select a range.

    \r\n

    Press 'Ctrl' then 'Left Mouse Button' to select a non-sequential range.

    \r\n

    After selecting, press 'Refresh'.

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

    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n Filter by Date Range\r\n \r\n
    \r\n
    \r\n

    \r\n \r\n
    \r\n
    \r\n Filter by PO Number\r\n \r\n
    \r\n
    \r\n

    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n Filter by Status\r\n \r\n } label=\"Open\" />\r\n } label=\"Closed\" />\r\n } label=\"Both\" />\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n Refresh Grid\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n \r\n \r\n \r\n #\r\n ID\r\n P.O. #\r\n CUSTOMER\r\n CREATED\r\n ISSUED\r\n CLOSED\r\n \r\n \r\n \r\n {rows.map(row => (\r\n \r\n \r\n {row.id}\r\n {row.po}\r\n {row.customer}\r\n {row.created}\r\n {row.issued}\r\n {row.closed}\r\n \r\n ))}\r\n \r\n
    \r\n \r\n \r\n PO Report\r\n \r\n \r\n PO Progress\r\n \r\n \r\n ReOpen PO\r\n \r\n \r\n Close\r\n \r\n \r\n
    \r\n
    \r\n \r\n );\r\n}","import React from 'react'\r\nimport {Form, Card } from \"react-bootstrap\";\r\nimport { Link } from \"react-router-dom\";\r\n\r\nexport function Quoting() {\r\n return (\r\n\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n Customer Quoting\r\n \r\n
    \r\n
    \r\n
    \r\n \r\n Carrier Quoting\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n )\r\n}\r\n","import React from 'react'\r\nimport { Form, Card } from \"react-bootstrap\";\r\nimport { Link } from \"react-router-dom\";\r\n\r\nexport function Rating() {\r\n return (\r\n\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n Customer Profile Rating\r\n \r\n
    \r\n
    \r\n
    \r\n \r\n Carrier Profile Rating\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n )\r\n}\r\n","import React, { useEffect } from \"react\";\r\nimport { shallowEqual, useSelector } from \"react-redux\";\r\nimport { LoadingDialog } from \"../../../../../../_metronic/_partials/controls\";\r\n\r\nexport function CustomersLoadingDialog() {\r\n // Customers Redux state\r\n const { isLoading } = useSelector(\r\n (state) => ({ isLoading: state.customers.listLoading }),\r\n shallowEqual\r\n );\r\n // looking for loading/dispatch\r\n useEffect(() => {}, [isLoading]);\r\n return ;\r\n}\r\n","import React, { useState, useEffect } from \"react\";\r\nimport { shallowEqual, useSelector } from \"react-redux\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport {ModalProgressBar} from \"../../../../../../_metronic/_partials/controls\";\r\n\r\nexport function CustomerEditDialogHeader({ id }) {\r\n // Customers Redux state\r\n const { customerForEdit, actionsLoading } = useSelector(\r\n (state) => ({\r\n customerForEdit: state.customers.customerForEdit,\r\n actionsLoading: state.customers.actionsLoading,\r\n }),\r\n shallowEqual\r\n );\r\n\r\n const [title, setTitle] = useState(\"\");\r\n // Title couting\r\n useEffect(() => {\r\n let _title = id ? \"\" : \"Add a new Carrier\";\r\n if (customerForEdit && id) {\r\n _title = `Edit customer '${customerForEdit.firstName} ${customerForEdit.lastName}'`;\r\n }\r\n\r\n setTitle(_title);\r\n // eslint-disable-next-line\r\n }, [customerForEdit, actionsLoading]);\r\n\r\n return (\r\n <>\r\n {actionsLoading && }\r\n \r\n {title}\r\n \r\n \r\n );\r\n}\r\n","// Form is based on Formik\r\n// Data validation is based on Yup\r\n// Please, be familiar with article first:\r\n// https://hackernoon.com/react-form-validation-with-formik-and-yup-8b76bda62e10\r\nimport React from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { Formik, Form } from \"formik\";\r\nimport * as Yup from \"yup\";\r\nimport TextField from '@material-ui/core/TextField';\r\nimport { makeStyles } from '@material-ui/core/styles';\r\n// Validation schema\r\nconst CustomerEditSchema = Yup.object().shape({\r\n LoginUserName: Yup.string()\r\n .min(3, \"Minimum 3 symbols\")\r\n .max(50, \"Maximum 50 symbols\")\r\n .required(\"Login / User Name is required\"),\r\n Password: Yup.string()\r\n .min(8, \"Minimum 8 symbols\")\r\n .max(50, \"Maximum 50 symbols\")\r\n .required(\"Password is required\"),\r\n ConfirmPassword: Yup.string()\r\n .min(8, \"Minimum 8 symbols\")\r\n .max(50, \"Maximum 50 symbols\")\r\n .required(\"Password is required\"),\r\n email: Yup.string()\r\n .email(\"Invalid email\")\r\n .required(\"Email is required\"),\r\n Phone: Yup.string()\r\n .min(7, \"Minimum 7 Number\")\r\n .max(50, \"Maximum 50 Number\")\r\n .required(\"Phone Number is required\"),\r\n userName: Yup.string().required(\"Username is required\"),\r\n dateOfBbirth: Yup.mixed()\r\n .nullable(false)\r\n .required(\"Date of Birth is required\"),\r\n ipAddress: Yup.string().required(\"IP Address is required\"),\r\n});\r\nconst useStyles = makeStyles(theme => ({\r\n container: {\r\n display: 'flex',\r\n flexWrap: 'wrap',\r\n },\r\n textField: {\r\n marginLeft: theme.spacing(1),\r\n marginRight: theme.spacing(1),\r\n },\r\n dense: {\r\n marginTop: theme.spacing(2),\r\n },\r\n menu: {\r\n width: 200,\r\n },\r\n}));\r\nexport function CustomerEditForm({\r\n saveCustomer,\r\n customer,\r\n actionsLoading,\r\n onHide,\r\n}) {\r\n const classes = useStyles();\r\n const [values, setValues] = React.useState({\r\n name: '',\r\n age: '',\r\n multiline: 'Controlled',\r\n currency: 'EUR',\r\n });\r\n const handleChange = name => event => {\r\n setValues({ ...values, [name]: event.target.value });\r\n\r\n };\r\n\r\n return (\r\n <>\r\n {\r\n saveCustomer(values);\r\n }}\r\n >\r\n {({ handleSubmit }) => (\r\n <>\r\n \r\n {actionsLoading && (\r\n
    \r\n
    \r\n
    \r\n )}\r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n Cancel\r\n \r\n <> \r\n handleSubmit()}\r\n className=\"btn btn-success btn-elevate\"\r\n >\r\n Save\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n );\r\n}\r\n","export const CustomerStatusCssClasses = [\"danger\", \"success\", \"info\", \"\"];\r\nexport const CustomerStatusTitles = [\"Inactive\", \"Active\"];\r\nexport const CustomerTypeCssClasses = [\"success\", \"primary\", \"\"];\r\nexport const CustomerTypeTitles = [\"Business\", \"Individual\", \"\"];\r\nexport const defaultSorted = [{ dataField: \"id\", order: \"desc\" }];\r\nexport const sizePerPageList = [\r\n { text: \"3\", value: 3 },\r\n { text: \"5\", value: 5 },\r\n { text: \"10\", value: 10 }\r\n];\r\nexport const initialFilter = {\r\n filter: {\r\n lastName: \"\",\r\n firstName: \"\",\r\n email: \"\",\r\n ipAddress: \"\"\r\n },\r\n sortOrder: \"asc\", // asc||desc\r\n sortField: \"id\",\r\n pageNumber: 1,\r\n pageSize: 10\r\n};\r\n","import React, {createContext, useContext, useState, useCallback} from \"react\";\r\nimport {isEqual, isFunction} from \"lodash\";\r\nimport {initialFilter} from \"./CustomersUIHelpers\";\r\n\r\nconst CustomersUIContext = createContext();\r\n\r\nexport function useCustomersUIContext() {\r\n return useContext(CustomersUIContext);\r\n}\r\n\r\nexport const CustomersUIConsumer = CustomersUIContext.Consumer;\r\n\r\nexport function CustomersUIProvider({customersUIEvents, children}) {\r\n const [queryParams, setQueryParamsBase] = useState(initialFilter);\r\n const [ids, setIds] = useState([]);\r\n const setQueryParams = useCallback(nextQueryParams => {\r\n setQueryParamsBase(prevQueryParams => {\r\n if (isFunction(nextQueryParams)) {\r\n nextQueryParams = nextQueryParams(prevQueryParams);\r\n }\r\n\r\n if (isEqual(prevQueryParams, nextQueryParams)) {\r\n return prevQueryParams;\r\n }\r\n\r\n return nextQueryParams;\r\n });\r\n }, []);\r\n\r\n const initCustomer = {\r\n id: undefined,\r\n firstName: \"\",\r\n lastName: \"\",\r\n email: \"\",\r\n userName: \"\",\r\n gender: \"Female\",\r\n status: 0,\r\n dateOfBbirth: \"\",\r\n ipAddress: \"\",\r\n type: 1\r\n };\r\n\r\n const value = {\r\n queryParams,\r\n setQueryParamsBase,\r\n ids,\r\n setIds,\r\n setQueryParams,\r\n initCustomer,\r\n newCustomerButtonClick: customersUIEvents.newCustomerButtonClick,\r\n openEditCustomerDialog: customersUIEvents.openEditCustomerDialog,\r\n openDeleteCustomerDialog: customersUIEvents.openDeleteCustomerDialog,\r\n openDeleteCustomersDialog: customersUIEvents.openDeleteCustomersDialog,\r\n openFetchCustomersDialog: customersUIEvents.openFetchCustomersDialog,\r\n openUpdateCustomersStatusDialog: customersUIEvents.openUpdateCustomersStatusDialog\r\n };\r\n\r\n return {children};\r\n}","import React, { useEffect, useMemo } from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { shallowEqual, useDispatch, useSelector } from \"react-redux\";\r\nimport * as actions from \"../../../_redux/carriers/carriersActions\";\r\nimport { CustomerEditDialogHeader } from \"./CustomerEditDialogHeader\";\r\nimport { CustomerEditForm } from \"./CustomerEditForm\";\r\nimport { useCustomersUIContext } from \"../CustomersUIContext\";\r\n\r\nexport function CustomerEditDialog({ id, show, onHide }) {\r\n // Customers UI Context\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n initCustomer: customersUIContext.initCustomer,\r\n };\r\n }, [customersUIContext]);\r\n\r\n // Customers Redux state\r\n const dispatch = useDispatch();\r\n const { actionsLoading, customerForEdit } = useSelector(\r\n (state) => ({\r\n actionsLoading: state.customers.actionsLoading,\r\n customerForEdit: state.customers.customerForEdit,\r\n }),\r\n shallowEqual\r\n );\r\n\r\n useEffect(() => {\r\n // server call for getting Customer by id\r\n dispatch(actions.fetchCustomer(id));\r\n }, [id, dispatch]);\r\n\r\n // server request for saving customer\r\n const saveCustomer = (customer) => {\r\n if (!id) {\r\n // server request for creating customer\r\n dispatch(actions.createCustomer(customer)).then(() => onHide());\r\n } else {\r\n // server request for updating customer\r\n dispatch(actions.updateCustomer(customer)).then(() => onHide());\r\n }\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n}\r\n","import React, { useEffect, useMemo } from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { shallowEqual, useDispatch, useSelector } from \"react-redux\";\r\nimport {ModalProgressBar} from \"../../../../../../_metronic/_partials/controls\";\r\nimport * as actions from \"../../../_redux/carriers/carriersActions\";\r\nimport {useCustomersUIContext} from \"../CustomersUIContext\";\r\n\r\nexport function CustomerDeleteDialog({ id, show, onHide }) {\r\n // Customers UI Context\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n setIds: customersUIContext.setIds,\r\n queryParams: customersUIContext.queryParams\r\n };\r\n }, [customersUIContext]);\r\n\r\n // Customers Redux state\r\n const dispatch = useDispatch();\r\n const { isLoading } = useSelector(\r\n (state) => ({ isLoading: state.customers.actionsLoading }),\r\n shallowEqual\r\n );\r\n\r\n // if !id we should close modal\r\n useEffect(() => {\r\n if (!id) {\r\n onHide();\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [id]);\r\n\r\n // looking for loading/dispatch\r\n useEffect(() => {}, [isLoading, dispatch]);\r\n\r\n const deleteCustomer = () => {\r\n // server request for deleting customer by id\r\n dispatch(actions.deleteCustomer(id)).then(() => {\r\n // refresh list after deletion\r\n dispatch(actions.fetchCustomers(customersUIProps.queryParams));\r\n // clear selections list\r\n customersUIProps.setIds([]);\r\n // closing delete modal\r\n onHide();\r\n });\r\n };\r\n\r\n return (\r\n \r\n {/*begin::Loading*/}\r\n {isLoading && }\r\n {/*end::Loading*/}\r\n \r\n \r\n Customer Delete\r\n \r\n \r\n \r\n {!isLoading && (\r\n Are you sure to permanently delete this customer?\r\n )}\r\n {isLoading && Customer is deleting...}\r\n \r\n \r\n
    \r\n \r\n Cancel\r\n \r\n <> \r\n \r\n Delete\r\n \r\n
    \r\n
    \r\n \r\n );\r\n}\r\n","import React, { useEffect, useMemo } from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { shallowEqual, useDispatch, useSelector } from \"react-redux\";\r\nimport * as actions from \"../../../_redux/carriers/carriersActions\";\r\nimport { useCustomersUIContext } from \"../CustomersUIContext\";\r\nimport {ModalProgressBar} from \"../../../../../../_metronic/_partials/controls\";\r\n\r\nexport function CustomersDeleteDialog({ show, onHide }) {\r\n // Customers UI Context\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n ids: customersUIContext.ids,\r\n setIds: customersUIContext.setIds,\r\n queryParams: customersUIContext.queryParams,\r\n };\r\n }, [customersUIContext]);\r\n\r\n // Customers Redux state\r\n const dispatch = useDispatch();\r\n const { isLoading } = useSelector(\r\n (state) => ({ isLoading: state.customers.actionsLoading }),\r\n shallowEqual\r\n );\r\n\r\n // if customers weren't selected we should close modal\r\n useEffect(() => {\r\n if (!customersUIProps.ids || customersUIProps.ids.length === 0) {\r\n onHide();\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [customersUIProps.ids]);\r\n\r\n // looking for loading/dispatch\r\n useEffect(() => {}, [isLoading, dispatch]);\r\n\r\n const deleteCustomers = () => {\r\n // server request for deleting customer by selected ids\r\n dispatch(actions.deleteCustomers(customersUIProps.ids)).then(() => {\r\n // refresh list after deletion\r\n dispatch(actions.fetchCustomers(customersUIProps.queryParams)).then(\r\n () => {\r\n // clear selections list\r\n customersUIProps.setIds([]);\r\n // closing delete modal\r\n onHide();\r\n }\r\n );\r\n });\r\n };\r\n\r\n return (\r\n \r\n {/*begin::Loading*/}\r\n {isLoading && }\r\n {/*end::Loading*/}\r\n \r\n \r\n Customers Delete\r\n \r\n \r\n \r\n {!isLoading && (\r\n Are you sure to permanently delete selected customers?\r\n )}\r\n {isLoading && Customer are deleting...}\r\n \r\n \r\n
    \r\n \r\n Cancel\r\n \r\n <> \r\n \r\n Delete\r\n \r\n
    \r\n
    \r\n \r\n );\r\n}\r\n","import React, { useEffect, useMemo } from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { shallowEqual, useSelector } from \"react-redux\";\r\nimport { CustomerStatusCssClasses } from \"../CustomersUIHelpers\";\r\nimport { useCustomersUIContext } from \"../CustomersUIContext\";\r\n\r\nconst selectedCustomers = (entities, ids) => {\r\n const _customers = [];\r\n ids.forEach((id) => {\r\n const customer = entities.find((el) => el.id === id);\r\n if (customer) {\r\n _customers.push(customer);\r\n }\r\n });\r\n return _customers;\r\n};\r\n\r\nexport function CustomersFetchDialog({ show, onHide }) {\r\n // Customers UI Context\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n ids: customersUIContext.ids,\r\n };\r\n }, [customersUIContext]);\r\n\r\n // Customers Redux state\r\n const { customers } = useSelector(\r\n (state) => ({\r\n customers: selectedCustomers(\r\n state.customers.entities,\r\n customersUIProps.ids\r\n ),\r\n }),\r\n shallowEqual\r\n );\r\n\r\n // if customers weren't selected we should close modal\r\n useEffect(() => {\r\n if (!customersUIProps.ids || customersUIProps.ids.length === 0) {\r\n onHide();\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [customersUIProps.ids]);\r\n\r\n return (\r\n \r\n \r\n \r\n Fetch selected elements\r\n \r\n \r\n \r\n
    \r\n {customers.map((customer) => (\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n ID: {customer.id}\r\n \r\n {customer.lastName}, {customer.firstName} \r\n
    \r\n
    \r\n ))}\r\n
    \r\n \r\n \r\n
    \r\n \r\n Cancel\r\n \r\n <> \r\n \r\n Ok\r\n \r\n
    \r\n
    \r\n \r\n );\r\n}\r\n","import React, { useEffect, useState, useMemo } from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { shallowEqual, useDispatch, useSelector } from \"react-redux\";\r\nimport { CustomerStatusCssClasses } from \"../CustomersUIHelpers\";\r\nimport * as actions from \"../../../_redux/carriers/carriersActions\";\r\nimport { useCustomersUIContext } from \"../CustomersUIContext\";\r\n\r\nconst selectedCustomers = (entities, ids) => {\r\n const _customers = [];\r\n ids.forEach((id) => {\r\n const customer = entities.find((el) => el.id === id);\r\n if (customer) {\r\n _customers.push(customer);\r\n }\r\n });\r\n return _customers;\r\n};\r\n\r\nexport function CustomersUpdateStateDialog({ show, onHide }) {\r\n // Customers UI Context\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n ids: customersUIContext.ids,\r\n setIds: customersUIContext.setIds,\r\n queryParams: customersUIContext.queryParams,\r\n };\r\n }, [customersUIContext]);\r\n\r\n // Customers Redux state\r\n const { customers, isLoading } = useSelector(\r\n (state) => ({\r\n customers: selectedCustomers(\r\n state.customers.entities,\r\n customersUIProps.ids\r\n ),\r\n isLoading: state.customers.actionsLoading,\r\n }),\r\n shallowEqual\r\n );\r\n\r\n // if !id we should close modal\r\n useEffect(() => {\r\n if (!customersUIProps.ids || customersUIProps.ids.length === 0) {\r\n onHide();\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [customersUIProps.ids]);\r\n\r\n const [status, setStatus] = useState(0);\r\n\r\n const dispatch = useDispatch();\r\n const updateStatus = () => {\r\n // server request for update customers status by selected ids\r\n dispatch(actions.updateCustomersStatus(customersUIProps.ids, status)).then(\r\n () => {\r\n // refresh list after deletion\r\n dispatch(actions.fetchCustomers(customersUIProps.queryParams)).then(\r\n () => {\r\n // clear selections list\r\n customersUIProps.setIds([]);\r\n // closing delete modal\r\n onHide();\r\n }\r\n );\r\n }\r\n );\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n Status has been updated for selected User\r\n \r\n \r\n \r\n {/*begin::Loading*/}\r\n {isLoading && (\r\n
    \r\n
    \r\n
    \r\n )}\r\n {/*end::Loading*/}\r\n\r\n
    \r\n {customers.map((customer) => (\r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n ID: {customer.id}\r\n \r\n \r\n {customer.lastName}, {customer.firstName}\r\n \r\n
    \r\n
    \r\n ))}\r\n
    \r\n \r\n \r\n
    \r\n setStatus(+e.target.value)}\r\n >\r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n Cancel\r\n \r\n \r\n Update Status\r\n \r\n
    \r\n
    \r\n \r\n );\r\n}\r\n","import React, { useMemo } from \"react\";\r\nimport { Formik } from \"formik\";\r\nimport { isEqual } from \"lodash\";\r\nimport { useCustomersUIContext } from \"../CustomersUIContext\";\r\nconst prepareFilter = (queryParams, values) => {\r\n const { status, type, searchText } = values;\r\n const newQueryParams = { ...queryParams };\r\n const filter = {};\r\n // Filter by status\r\n filter.status = status !== \"\" ? +status : undefined;\r\n // Filter by type\r\n filter.type = type !== \"\" ? +type : undefined;\r\n // Filter by all fields\r\n filter.lastName = searchText;\r\n if (searchText) {\r\n filter.firstName = searchText;\r\n filter.email = searchText;\r\n filter.ipAddress = searchText;\r\n }\r\n newQueryParams.filter = filter;\r\n return newQueryParams;\r\n};\r\n\r\nexport function CustomersFilter({ listLoading }) {\r\n // Customers UI Context\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n queryParams: customersUIContext.queryParams,\r\n setQueryParams: customersUIContext.setQueryParams,\r\n };\r\n }, [customersUIContext]);\r\n\r\n // queryParams, setQueryParams,\r\n const applyFilter = (values) => {\r\n const newQueryParams = prepareFilter(customersUIProps.queryParams, values);\r\n if (!isEqual(newQueryParams, customersUIProps.queryParams)) {\r\n newQueryParams.pageNumber = 1;\r\n // update list by queryParams\r\n customersUIProps.setQueryParams(newQueryParams);\r\n }\r\n };\r\n\r\n return (\r\n <>\r\n All=\"\"/Susspended=0/Active=1/Pending=2\r\n type: \"\", // values => All=\"\"/Business=0/Individual=1\r\n searchText: \"\",\r\n }}\r\n onSubmit={(values) => {\r\n applyFilter(values);\r\n }}\r\n >\r\n {({\r\n values,\r\n handleSubmit,\r\n handleBlur,\r\n handleChange,\r\n setFieldValue,\r\n }) => (\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n Select\r\n \r\n
    \r\n
    \r\n
    \r\n )}\r\n \r\n \r\n );\r\n}\r\n","import React, { useMemo } from \"react\";\r\nimport {\r\n Card,\r\n CardBody,\r\n} from \"../../../../../_metronic/_partials/controls\";\r\nimport { CustomersFilter } from \"./customers-filter/CustomersFilter\";\r\nimport { useCustomersUIContext } from \"./CustomersUIContext\";\r\nexport function CustomersCard() {\r\n const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n ids: customersUIContext.ids,\r\n newCustomerButtonClick: customersUIContext.newCustomerButtonClick,\r\n };\r\n }, [customersUIContext]);\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n","import React from \"react\";\r\nimport { Route } from \"react-router-dom\";\r\nimport { CustomersLoadingDialog } from \"./customers-loading-dialog/CustomersLoadingDialog\";\r\nimport { CustomerEditDialog } from \"./customer-edit-dialog/CustomerEditDialog\";\r\nimport { CustomerDeleteDialog } from \"./customer-delete-dialog/CustomerDeleteDialog\";\r\nimport { CustomersDeleteDialog } from \"./customers-delete-dialog/CustomersDeleteDialog\";\r\nimport { CustomersFetchDialog } from \"./customers-fetch-dialog/CustomersFetchDialog\";\r\nimport { CustomersUpdateStateDialog } from \"./customers-update-status-dialog/CustomersUpdateStateDialog\";\r\nimport { CustomersUIProvider } from \"./CustomersUIContext\";\r\nimport { CustomersCard } from \"./CustomersCard\";\r\n\r\nexport function AdjustReceiptCharges({ history }) {\r\n const customersUIEvents = {\r\n newCustomerButtonClick: () => {\r\n history.push(\"/AdjustReceiptCharges/new\");\r\n },\r\n openEditCustomerDialog: (id) => {\r\n history.push(`/AdjustReceiptCharges/${id}/edit`);\r\n },\r\n openDeleteCustomerDialog: (id) => {\r\n history.push(`/AdjustReceiptCharges/${id}/delete`);\r\n },\r\n openDeleteCustomersDialog: () => {\r\n history.push(`/AdjustReceiptCharges/deleteCustomers`);\r\n },\r\n openFetchCustomersDialog: () => {\r\n history.push(`/AdjustReceiptCharges/fetch`);\r\n },\r\n openUpdateCustomersStatusDialog: () => {\r\n history.push(\"/AdjustReceiptCharges/updateStatus\");\r\n }\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n {({ history, match }) => (\r\n {\r\n history.push(\"/AdjustReceiptCharges\");\r\n }}\r\n />\r\n )}\r\n \r\n \r\n {({ history, match }) => (\r\n {\r\n history.push(\"/AdjustReceiptCharges\");\r\n }}\r\n />\r\n )}\r\n \r\n \r\n {({ history, match }) => (\r\n {\r\n history.push(\"/AdjustReceiptCharges\");\r\n }}\r\n />\r\n )}\r\n \r\n \r\n {({ history, match }) => (\r\n {\r\n history.push(\"/AdjustReceiptCharges\");\r\n }}\r\n />\r\n )}\r\n \r\n \r\n {({ history, match }) => (\r\n {\r\n history.push(\"/AdjustReceiptCharges\");\r\n }}\r\n />\r\n )}\r\n \r\n \r\n {({ history, match }) => (\r\n {\r\n history.push(\"/AdjustReceiptCharges\");\r\n }}\r\n />\r\n )}\r\n \r\n \r\n \r\n );\r\n}\r\n","import React from 'react'\r\nimport { AdjustReceiptCharges } from \"../../../app/modules/eMPower/pages/AdjustReceiptCharges/CustomersPage\";\r\n\r\nexport function AdjustReceiptChargesPage() {\r\n return (\r\n \r\n )\r\n}","import React from 'react'\r\nimport { Form, Card, Col, Dropdown } from \"react-bootstrap\";\r\nimport { makeStyles, withStyles } from '@material-ui/core/styles';\r\nimport InputBase from '@material-ui/core/InputBase';\r\nconst BootstrapInput = withStyles(theme => ({\r\n root: {\r\n 'label + &': {\r\n marginTop: theme.spacing(3),\r\n },\r\n },\r\n input: {\r\n borderRadius: 4,\r\n position: 'relative',\r\n backgroundColor: theme.palette.background.paper,\r\n border: '1px solid #ced4da',\r\n fontSize: 16,\r\n padding: '10px 26px 10px 200px !important',\r\n transition: theme.transitions.create(['border-color', 'box-shadow']),\r\n // Use the system font instead of the default Roboto font.\r\n fontFamily: [\r\n '-apple-system',\r\n 'BlinkMacSystemFont',\r\n '\"Segoe UI\"',\r\n 'Roboto',\r\n '\"Helvetica Neue\"',\r\n 'Arial',\r\n 'sans-serif',\r\n '\"Apple Color Emoji\"',\r\n '\"Segoe UI Emoji\"',\r\n '\"Segoe UI Symbol\"',\r\n ].join(','),\r\n '&:focus': {\r\n borderRadius: 4,\r\n borderColor: '#80bdff',\r\n boxShadow: '0 0 0 0.2rem rgba(0,123,255,.25)',\r\n },\r\n },\r\n}))(InputBase);\r\nconst useStyles = makeStyles(theme => ({\r\n button: {\r\n margin: theme.spacing(1),\r\n },\r\n input: {\r\n display: 'none',\r\n },\r\n}));\r\n\r\nexport function CreateReceiptsPage() {\r\n return (\r\n \r\n \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n Save\r\n \r\n \r\n Exit\r\n \r\n
    \r\n
    \r\n\r\n \r\n \r\n\r\n Customer*\r\n \r\n \r\n Choose a Customer\r\n \r\n \r\n Epic Drops, LLC\r\n Loud Bags Inc\r\n Ornative Inc\r\n PANACHE INTERNATIONAL LLC (c5937)\r\n PhatMojo, LLC\r\n Pro-Spin Sports\r\n Reliable of Milwaukee\r\n X Chair LLC\r\n \r\n \r\n \r\n\r\n \r\n Warehouse*\r\n \r\n \r\n Choose a Warehouse\r\n \r\n \r\n Warehouse X\r\n \r\n \r\n \r\n\r\n \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n )\r\n}\r\n","import React, { useEffect, useState } from \"react\";\r\nimport { Button, Form, Card, Col } from \"react-bootstrap\";\r\nimport { makeStyles } from '@material-ui/core/styles';\r\nimport axios from \"axios\";\r\nimport { Notification } from \"../../modules/Notification\";\r\nimport { ExcelRenderer } from \"react-excel-renderer\";\r\nimport Table from \"@material-ui/core/Table\";\r\nimport TableBody from \"@material-ui/core/TableBody\";\r\nimport TableCell from \"@material-ui/core/TableCell\";\r\nimport TableHead from \"@material-ui/core/TableHead\";\r\nimport TableRow from \"@material-ui/core/TableRow\";\r\nimport Paper from \"@material-ui/core/Paper\";\r\nimport LinearProgress from \"@material-ui/core/LinearProgress\";\r\n\r\nexport function ImportReceiptsPage() {\r\n const useStyles = makeStyles(theme => ({\r\n root: {\r\n width: \"100%\",\r\n },\r\n paper: {\r\n marginTop: theme.spacing(3),\r\n width: \"100%\",\r\n overflowX: \"auto\",\r\n marginBottom: theme.spacing(2),\r\n },\r\n table: {\r\n minWidth: 650,\r\n },\r\n row: {\r\n height: 50,\r\n },\r\n rowBody: {\r\n height: 50,\r\n fontWeight: \"bold\",\r\n },\r\n button: {\r\n margin: theme.spacing(1),\r\n },\r\n leftIcon: {\r\n marginRight: theme.spacing(1),\r\n },\r\n rightIcon: {\r\n marginLeft: theme.spacing(1),\r\n },\r\n iconSmall: {\r\n fontSize: 20,\r\n },\r\n }));\r\n const classes = useStyles();\r\n const [showProgress, setshowProgress] = useState(false);\r\n const [rowsState, setRowsState] = useState([]);\r\n const [rowsStatBool, setRowsStatBool] = useState(false);\r\n const [rowsEmpty, setRowsEmpty] = useState(true);\r\n const [customersList, setCustomersList] = useState([]);\r\n const [warehousesList, setWarehousesList] = useState([]);\r\n const [importInProgress, setImportInProgress] = useState(false);\r\n\r\n useEffect(() => {\r\n fetchCustomersAsync();\r\n }, []);\r\n\r\n const fetchCustomersAsync = async () => {\r\n try {\r\n const result = await axios.get(\"api/purchaseorders/getcustomers\");\r\n if (result.status === 200) {\r\n setCustomersList(result.data);\r\n }\r\n } catch (e) { }\r\n };\r\n\r\n const handleCustomerChange = async (event) => {\r\n setshowProgress(true);\r\n setWarehousesList([]);\r\n if (event.target.value !== \"\" && event.target.vale !== null) {\r\n const result = await axios.get(`api/receipts/getwarehouses/${event.target.value}`);\r\n if (result.status === 200) {\r\n if (result.data.length > 0)\r\n setWarehousesList(result.data);\r\n else\r\n Notification(\"error\", \"This Customes doesn't have access to any warehouse.\");\r\n }\r\n }\r\n setshowProgress(false);\r\n }\r\n\r\n const fileHandlerOnclick = () => {\r\n if (rowsEmpty) {\r\n Notification(\"error\", \"Please select a valid file to import.\");\r\n setRowsStatBool(false);\r\n return false;\r\n }\r\n setRowsStatBool(true);\r\n };\r\n\r\n const fileClear = (event) => {\r\n event.target.value = \"\";\r\n }\r\n\r\n const fileHandler = (event) => {\r\n setRowsStatBool(false);\r\n setRowsState([]);\r\n setRowsEmpty(false);\r\n let fileObj = event.target.files[0];\r\n ExcelRenderer(fileObj, (err, resp) => {\r\n if (err) {\r\n setRowsEmpty(true);\r\n return false;\r\n } else {\r\n if (resp.rows.length < 1) {\r\n setRowsEmpty(true);\r\n return false;\r\n }\r\n var a = resp.rows[1].indexOf(\"Ref #\");\r\n var b = resp.rows[1].indexOf(\"PO #\");\r\n var c = resp.rows[1].indexOf(\"ShipCarrier\");\r\n var d = resp.rows[1].indexOf(\"Notes\");\r\n var e = resp.rows[1].indexOf(\"SKU\");\r\n var f = resp.rows[1].indexOf(\"Quantity\");\r\n var g = resp.rows[1].indexOf(\"Lot#\");\r\n var h = resp.rows[1].indexOf(\"Serial#\");\r\n var i = resp.rows[1].indexOf(\"Expiration Date\");\r\n var j = resp.rows[1].indexOf(\"LocationField1\");\r\n var k = resp.rows[1].indexOf(\"LocationField2\");\r\n var l = resp.rows[1].indexOf(\"LocationField3\");\r\n var m = resp.rows[1].indexOf(\"LocationField4\");\r\n var n = resp.rows[1].indexOf(\"Cost\");\r\n var o = resp.rows[1].indexOf(\"Var UoM Avg\");\r\n\r\n if (a === -1 || b === -1 || c === -1 || d === -1 || e === -1 || f === -1 || g === -1 || h === -1 ||\r\n i === -1 || j === -1 || k === -1 || l === -1 || m === -1 || n === -1 || o === -1) {\r\n setRowsEmpty(true);\r\n return false;\r\n }\r\n\r\n let rows = [];\r\n resp.rows.slice(2, resp.rows.length).forEach((element, index) => {\r\n var empty = 1;\r\n var error = \"\";\r\n if (element[a] === undefined ||\r\n element[e] === undefined ||\r\n element[f] === undefined) {\r\n empty = 0;\r\n error = \"Please check the required fields*.\"\r\n }\r\n if (TryParseInt(element[f]) <= 0) {\r\n empty = 0;\r\n error = \"Quantity must be a non-negative number\";\r\n }\r\n if (element[n] !== \"\" && element[n] !== undefined && TryParseFloat(element[n]) <= 0) {\r\n empty = 0;\r\n error = \"Cost must be a non-negative decimal\";\r\n }\r\n rows.push(\r\n createData(empty, index + 1, element[a], element[b], element[c], element[d], element[e], element[f],\r\n element[g], element[h], getJsDateFromExcel(element[i]), element[j], element[k], element[l],\r\n element[m], element[n], element[o], error)\r\n );\r\n });\r\n setRowsState(rows);\r\n setRowsEmpty(false);\r\n }\r\n });\r\n };\r\n\r\n const fileUploadeOnclick = async () => {\r\n setImportInProgress(true);\r\n const customerId = document.getElementById(\"CustomerId\").value;\r\n const warehouseId = document.getElementById(\"WarehouseId\").value;\r\n if (customerId && warehouseId) {\r\n if (rowsStatBool) {\r\n if (rowsState.length > 0) {\r\n var result = await axios.post(\"api/receipts/import\", { customerId: parseInt(customerId), warehouseId: parseInt(warehouseId), receipts: rowsState });\r\n if (result.data.success === true) {\r\n Notification(\"success\", \"Import done successfully.\");\r\n }\r\n else {\r\n const msg = result.data.Message === undefined ? \"Something went wrong, please try later or contact the support.\" : result.data.Message;\r\n Notification(\"error\", msg);\r\n }\r\n }\r\n else {\r\n Notification(\"error\", \"Please select a valid file to import.\");\r\n }\r\n }\r\n else {\r\n Notification(\"error\", \"Please select a valid file to import.\");\r\n }\r\n }\r\n else {\r\n Notification(\"error\", \"Please select a customer and a warehouse.\");\r\n }\r\n setImportInProgress(false);\r\n };\r\n\r\n function createData(\r\n Empty,\r\n Index,\r\n ReferenceNumber,\r\n PoNumber,\r\n ShipCarrier,\r\n Notes,\r\n Sku,\r\n Quantity,\r\n LotNumber,\r\n SerialNumber,\r\n ExpirationDate,\r\n LocationField1,\r\n LocationField2,\r\n LocationField3,\r\n LocationField4,\r\n Cost,\r\n Uom,\r\n Error\r\n ) {\r\n return {\r\n Empty,\r\n Index,\r\n ReferenceNumber: ReferenceNumber + \"\",\r\n PoNumber,\r\n ShipCarrier,\r\n Notes,\r\n Sku,\r\n Quantity,\r\n LotNumber: LotNumber + \"\",\r\n SerialNumber: SerialNumber + \"\",\r\n ExpirationDate,\r\n LocationField1,\r\n LocationField2,\r\n LocationField3,\r\n LocationField4,\r\n Cost,\r\n Uom: Uom + \"\",\r\n Error\r\n };\r\n }\r\n\r\n function getJsDateFromExcel(serial) {\r\n if (serial === undefined || serial === \"\" || serial === null)\r\n return \"\";\r\n try {\r\n var utc_days = Math.floor(serial - 25569);\r\n var utc_value = utc_days * 86400;\r\n var date_info = new Date(utc_value * 1000);\r\n const date = new Date(date_info.getFullYear(), date_info.getMonth(), date_info.getDate());\r\n return ((date.getMonth() > 8) ? (date.getMonth() + 1) : ('0' + (date.getMonth() + 1))) + '/' + ((date.getDate() > 9) ? date.getDate() : ('0' + date.getDate())) + '/' + date.getFullYear();\r\n }\r\n catch (error) {\r\n return \"\";\r\n }\r\n };\r\n\r\n function TryParseInt(str) {\r\n var retValue = 0;\r\n if (typeof str === 'number')\r\n return str;\r\n if (str !== null && str !== undefined) {\r\n if (str.length > 0) {\r\n if (!isNaN(str)) {\r\n retValue = parseInt(str);\r\n }\r\n }\r\n }\r\n return retValue;\r\n }\r\n\r\n function TryParseFloat(str) {\r\n var retValue = 0;\r\n if (typeof str === 'number')\r\n return str;\r\n if (str !== null && str !== undefined) {\r\n if (str.length > 0) {\r\n if (!isNaN(str)) {\r\n retValue = parseFloat(str);\r\n }\r\n }\r\n }\r\n return retValue;\r\n }\r\n return (\r\n \r\n \r\n
    \r\n \r\n
    \r\n Choose a Customer\r\n \r\n
    \r\n
    \r\n Choose a warehouse\r\n \r\n {showProgress && }\r\n
    \r\n \r\n Import \r\n \r\n \r\n \r\n \r\n
    \r\n\r\n \r\n \r\n IMPORT FILE\r\n
    \r\n

    Use the 'Browse...' button to select a receipts import file.

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

    Then press the 'Import' button to read the file.

    \r\n
    \r\n\r\n \r\n \r\n Exit\r\n \r\n
    \r\n
    \r\n
    \r\n Customer\r\n \r\n \r\n Choose a Customer\r\n \r\n \r\n Epic Drops, LLC\r\n Loud Bags Inc\r\n Ornative Inc\r\n PANACHE INTERNATIONAL LLC (c5937)\r\n PhatMojo, LLC\r\n Pro-Spin Sports\r\n Reliable of Milwaukee\r\n X Chair LLC\r\n \r\n \r\n
    \r\n \r\n \r\n\r\n

    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n On Error\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n

    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n )\r\n}\r\n","import React, { useEffect, useState, useRef } from \"react\";\r\nimport { useReactToPrint } from \"react-to-print\";\r\nimport { Notification } from \"../../../../modules/Notification\";\r\nimport low from \"lowdb\";\r\nimport QRCode from \"react-qr-code\";\r\nimport LocalStorage from \"lowdb/adapters/LocalStorage\";\r\nimport { Helmet } from \"react-helmet\";\r\nimport { Modal, Spinner } from \"react-bootstrap\";\r\nimport IconButton from \"@material-ui/core/IconButton\";\r\nimport { Formik, Form, Field } from \"formik\";\r\nimport { shallowEqual, useDispatch, useSelector } from \"react-redux\";\r\nimport CloseIcon from \"@material-ui/icons/Close\";\r\nimport CreatableSelect from \"react-select/creatable\";\r\nimport {\r\n ModalProgressBar,\r\n Input,\r\n CheckboxLarge,\r\n} from \"../../../../../_metronic/_partials/controls\";\r\nimport { CKEditor } from \"@ckeditor/ckeditor5-react\";\r\nimport ClassicEditor from \"@ckeditor/ckeditor5-build-classic\";\r\n\r\nimport {\r\n momentDate,\r\n momentDateTimeByDay,\r\n} from \"../../../../../_metronic/_helpers/ATHelpers\";\r\n\r\nconst adapter = new LocalStorage(\"db\");\r\nconst db = low(adapter);\r\n\r\nfunction IsValidAddress(str, isFirstItem) {\r\n if (str === null || str === undefined || str === \"\") {\r\n return \"\";\r\n } else {\r\n return isFirstItem === true ? str : \", \" + str;\r\n }\r\n}\r\nfunction formatDate(date) {\r\n if (date) {\r\n var d = new Date(date),\r\n month = \"\" + (d.getMonth() + 1),\r\n day = \"\" + d.getDate(),\r\n year = d.getFullYear();\r\n\r\n if (month.length < 2) month = \"0\" + month;\r\n if (day.length < 2) day = \"0\" + day;\r\n\r\n const result = [month, day, year].join(\"/\");\r\n if (result !== \"NaN/NaN/NaN\") {\r\n return result;\r\n } else {\r\n return \"--/--/----\";\r\n }\r\n } else {\r\n return \"--/--/----\";\r\n }\r\n}\r\nfunction float2int(value) {\r\n return value | 0;\r\n}\r\nclass ComponentToPrint extends React.Component {\r\n constructor() {\r\n super();\r\n var obj = {\r\n Carriers: [],\r\n Items: [],\r\n Statistiques: [],\r\n LocationItems: [],\r\n Shipment: null,\r\n formData: null,\r\n };\r\n this.state = { data: obj };\r\n }\r\n async componentDidMount() {\r\n if (this.props.id) {\r\n await fetch(\r\n window.$apiurl + \"/pallets/GetPalletByShipment/\" + this.props.id,\r\n {\r\n method: \"get\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n }\r\n ).then(async (response) => {\r\n const statusCode = response.status;\r\n // if (statusCode !== 200) {\r\n // Notification(\"error\", \"No data found !\");\r\n // }\r\n const json = await response.json();\r\n this.setState({ data: { formData: json, Shipment: json.shipment } });\r\n });\r\n }\r\n }\r\n render() {\r\n return (\r\n <>\r\n \r\n eMPower | Shipment Manifest Form\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n {/* First Data */}\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n

    \r\n Shipment Manifest\r\n

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n Trailer #{\" \"}\r\n {this.state.data.Shipment?.TrailerNumber}\r\n
    \r\n
    \r\n Shipment #{\" \"}\r\n {this.state.data.Shipment?.ShipmentId}\r\n
    \r\n
    \r\n Seal no:{\" \"}\r\n {this.state.data.Shipment?.SealNumber}\r\n
    \r\n
    \r\n Date Shipped:{\" \"}\r\n {momentDateTimeByDay(\r\n this.state.data.Shipment?.DateShipped\r\n )}\r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n Consignee Address:\r\n
    \r\n {\r\n this.state.data.Shipment?.ConsigneeAddress\r\n ?.CompanyName\r\n }\r\n
    \r\n {\r\n this.state.data.Shipment?.ConsigneeAddress\r\n ?.Address\r\n }\r\n
    \r\n {IsValidAddress(\r\n this.state.data.Shipment?.ConsigneeAddress?.City.replace(\r\n / /g,\r\n \"\"\r\n ),\r\n true\r\n ) +\r\n IsValidAddress(\r\n this.state.data.Shipment?.ConsigneeAddress\r\n ?.State,\r\n false\r\n ) +\r\n IsValidAddress(\r\n this.state.data.Shipment?.ConsigneeAddress\r\n ?.ZipCode,\r\n false\r\n )}\r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n {/* Shipment Items */}\r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {this.state.data.formData?.pallets?.length > 0 &&\r\n this.state.data.formData?.pallets?.map((x) => (\r\n <>\r\n \r\n \r\n .\r\n \r\n \r\n {x?.ItemsList?.map((item, index) => (\r\n \r\n \r\n {index === 0 && x?.Id}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ))}\r\n \r\n ))}\r\n \r\n
    \r\n Cartons\r\n
    \r\n Pallet ID\r\n \r\n Container#\r\n \r\n PO#\r\n \r\n SKU\r\n \r\n Cartons\r\n \r\n Description\r\n \r\n Weight\r\n \r\n Cube\r\n
    \r\n {item?.Container}\r\n \r\n {item.PurchaseOrder}\r\n \r\n {item.Sku}\r\n \r\n {item.Quantity}\r\n \r\n {item.Description}\r\n \r\n {item.Weight} ({item.WeightType})\r\n \r\n {item.Cube} ({item.CubeType})\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n );\r\n }\r\n}\r\nexport function TransloadShipmentManifest(/* {id=825406} */) {\r\n const databody = `

    Please find the file attached Load Number: ${id}

    `;\r\n const componentRef = useRef();\r\n const [showSendManifestEmail, setshowSendManifestEmail] = useState(false);\r\n const [ToData, setToData] = useState(null);\r\n const [isLoadingSubmit, setisLoadingSubmit] = useState(false);\r\n const [isLoadingSend, setisLoadingSend] = useState(false);\r\n const [includCCData, setincludCCData] = useState(false);\r\n\r\n const [id, setid] = useState();\r\n useEffect(() => {\r\n const url = window.location.pathname;\r\n setid(url.substring(url.lastIndexOf(\"/\") + 1));\r\n }, []);\r\n\r\n const [SubjectData, setSubjectData] = useState(`Shipment Manifest - ${id}`);\r\n const [BodyData, setBodyData] = useState(null);\r\n\r\n const { isLoading } = useSelector(\r\n (state) => ({ isLoading: state.products.actionsLoading }),\r\n shallowEqual\r\n );\r\n const handlePrint = useReactToPrint({\r\n content: () => componentRef.current,\r\n });\r\n async function SendEmail() {\r\n if (ToData === null) {\r\n Notification(\"error\", \"Please fill email Info\");\r\n return;\r\n }\r\n // server request for deleting product by id\r\n setisLoadingSend(true);\r\n setisLoadingSubmit(true);\r\n const data = {\r\n Emails: ToData,\r\n Subject: SubjectData,\r\n Attachments: [],\r\n Body: BodyData || databody,\r\n IncludeCc: includCCData,\r\n Bol: false,\r\n OutboundDispatch: false,\r\n ShipmentManifest: true,\r\n };\r\n var raw = JSON.stringify(data);\r\n var requestOptions = {\r\n method: \"POST\",\r\n body: raw,\r\n redirect: \"follow\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n };\r\n let response = await fetch(\r\n `${window.$apiurl}/shipments/sendEmail/${id}`,\r\n requestOptions\r\n );\r\n if (response.status === 200) {\r\n Notification(\r\n \"success\",\r\n \"Email sent successfuly for Shipment ID \" + { id }\r\n );\r\n setToData(null);\r\n setSubjectData(`Shipment Manifest - ${id}`);\r\n setBodyData(\r\n `

    Please find the file attached Load Number: ${id}

    `\r\n );\r\n setisLoadingSend(false);\r\n setisLoadingSubmit(false);\r\n\r\n setincludCCData(false);\r\n setshowSendManifestEmail(false);\r\n } else {\r\n Notification(\"error\", \"invalid data\");\r\n setisLoadingSend(false);\r\n setshowSendManifestEmail(false);\r\n setisLoadingSubmit(false);\r\n }\r\n }\r\n return (\r\n <>\r\n \r\n \r\n \r\n Send Shipment Manifest\r\n \r\n {\r\n setshowSendManifestEmail(false);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n {isLoading && Shipment Documents is Sending...}\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    To:

    \r\n {\r\n var obj = [];\r\n if (e) {\r\n {\r\n e.map((item, index) => {\r\n obj.push({\r\n Email: item.value,\r\n Name: item.value,\r\n });\r\n });\r\n }\r\n }\r\n setToData(obj);\r\n }}\r\n />\r\n {\r\n setincludCCData(event.target.checked);\r\n }}\r\n />\r\n
    \r\n
    \r\n

    Subject:

    \r\n {\r\n setSubjectData(event.target.value);\r\n }}\r\n />\r\n
    \r\n
    \r\n

    Body:

    \r\n\r\n {\r\n // You can store the \"editor\" and use when it is needed.\r\n //console.log('Editor is ready to use!', editor);\r\n }}\r\n onChange={(event, editor) => {\r\n // const data = editor.getData();\r\n // console.log({ event, editor, data });\r\n }}\r\n onBlur={(event, editor) => {\r\n const data = editor.getData();\r\n setBodyData(data);\r\n }}\r\n onFocus={(event, editor) => {\r\n //console.log('Focus.', editor);\r\n }}\r\n />\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n {\r\n setshowSendManifestEmail(false);\r\n }}\r\n className=\"btn btn-light btn-elevate\"\r\n >\r\n Cancel\r\n \r\n <> \r\n \r\n Send Email\r\n {isLoadingSubmit && (\r\n \r\n )}\r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {id && }\r\n
    \r\n
    \r\n
    \r\n {/* {\r\n setshowSendManifestEmail(true);\r\n }}\r\n >\r\n Send Email\r\n */}\r\n {\r\n handlePrint();\r\n }}\r\n >\r\n Print Form\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n );\r\n}\r\n","import low from \"lowdb\";\r\nimport LocalStorage from \"lowdb/adapters/LocalStorage\";\r\nimport React, { useRef } from \"react\";\r\nimport { Helmet } from \"react-helmet\";\r\nimport QRCode from \"react-qr-code\";\r\nimport { useReactToPrint } from \"react-to-print\";\r\nimport { Notification } from \"../../../../modules/Notification\";\r\n\r\nconst adapter = new LocalStorage(\"db\");\r\nconst db = low(adapter);\r\nclass ComponentToPrint extends React.Component {\r\n constructor() {\r\n super();\r\n var obj = {\r\n Carriers: [],\r\n Items: [],\r\n Statistiques: [],\r\n LocationItems: [],\r\n };\r\n this.state = { data: obj };\r\n }\r\n\r\n async componentDidMount() {\r\n const url = window.location.pathname;\r\n const id = url.substring(url.lastIndexOf(\"/\") + 1);\r\n window.$smIdOutbound = id;\r\n await fetch(window.$apiurl + \"/pallets/\" + id, {\r\n method: \"get\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n }).then(async (response) => {\r\n const statusCode = response.status;\r\n if (statusCode !== 200) {\r\n Notification(\"error\", \"No data found !\");\r\n }\r\n const json = await response.json();\r\n this.setState({ data: json?.pallet });\r\n });\r\n }\r\n\r\n render() {\r\n const formData = this.state.data;\r\n return (\r\n <>\r\n \r\n eMPower | Pallet Manifest Form\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n {/* First Data */}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n Pallet # {window.$smIdOutbound}\r\n
    \r\n \r\n \r\n \r\n \r\n Customer Name: {formData?.CustomerName}\r\n \r\n \r\n \r\n \r\n Consignee Name: {formData?.ConsigneeName}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n Shipper Name: {formData?.ShipperName}\r\n
    \r\n Shipper Phone:{\" \"}\r\n {formData?.ShipperPhoneNumber}\r\n
    \r\n Shipper Email: {formData?.ShipperEmail}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {\" \"}\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {formData.ItemsList?.length > 0 &&\r\n formData.ItemsList?.map((item) => (\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n ))}\r\n\r\n \r\n \r\n \r\n \r\n \r\n
    \r\n Container#\r\n \r\n PO#\r\n \r\n SKU\r\n \r\n Cartons\r\n \r\n Description\r\n
    \r\n {item?.ContainerNumber}\r\n \r\n {item.PurchaseOrder}\r\n {item.Sku}\r\n {item.Quantity}\r\n \r\n {item.Description}\r\n
    \r\n \r\n \r\n Total \r\n \r\n \r\n {formData.ItemsList?.reduce(\r\n (a, b) => +a + +b.Quantity,\r\n 0\r\n )}\r\n \r\n \r\n
    \r\n
    {\" \"}\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n {formData?.ConsigneeComapanyName}\r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n {window.$smIdOutbound}\r\n \r\n \r\n CTN:{formData.Unitcount}\r\n \r\n
    \r\n
    {\" \"}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n );\r\n }\r\n}\r\n\r\nexport function TransloadPalletManifest() {\r\n const componentRef = useRef();\r\n const handlePrint = useReactToPrint({\r\n content: () => componentRef.current,\r\n });\r\n return (\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n Print Form\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n}\r\n","import { PopoverContainer, PopoverContent } from \"react-popopo\";\r\nimport styled, { createGlobalStyle, css } from \"styled-components\";\r\n\r\nexport const GlobalStyle = createGlobalStyle`\r\n .comPlainTextContentEditable {\r\n -webkit-user-modify: read-write-plaintext-only;\r\n cursor: text;\r\n }\r\n\r\n .comPlainTextContentEditable--has-placeholder::before {\r\n content: attr(placeholder);\r\n opacity: 0.5;\r\n color: inherit;\r\n cursor: text;\r\n }\r\n\r\n .react_trello_dragClass {\r\n transform: rotate(3deg);\r\n }\r\n\r\n .react_trello_dragLaneClass {\r\n transform: rotate(3deg);\r\n }\r\n\r\n .icon-overflow-menu-horizontal:before {\r\n content: \"\\\\E91F\";\r\n }\r\n .icon-lg, .icon-sm {\r\n color: #798d99;\r\n }\r\n .icon-lg {\r\n height: 32px;\r\n font-size: 16px;\r\n line-height: 32px;\r\n width: 32px;\r\n }\r\n`;\r\n\r\nexport const CustomPopoverContainer = styled(PopoverContainer)`\r\n position: absolute;\r\n right: 10px;\r\n flex-flow: column nowrap;\r\n`;\r\n\r\nexport const CustomPopoverContent = styled(PopoverContent)`\r\n visibility: hidden;\r\n margin-top: -5px;\r\n opacity: 0;\r\n position: absolute;\r\n z-index: 10;\r\n box-shadow: 2px 2px 8px rgba(0, 0, 0, 0.3);\r\n transition: all 0.3s ease 0ms;\r\n border-radius: 3px;\r\n min-width: 7em;\r\n flex-flow: column nowrap;\r\n background-color: #fff;\r\n color: #000;\r\n padding: 5px;\r\n left: 50%;\r\n transform: translateX(-50%);\r\n ${(props) =>\r\n props.active &&\r\n `\r\n visibility: visible;\r\n opacity: 1;\r\n transition-delay: 100ms;\r\n `} &::before {\r\n visibility: hidden;\r\n }\r\n a {\r\n color: rgba(255, 255, 255, 0.56);\r\n padding: 0.5em 1em;\r\n margin: 0;\r\n text-decoration: none;\r\n &:hover {\r\n background-color: #00bcd4 !important;\r\n color: #37474f;\r\n }\r\n }\r\n`;\r\n\r\nexport const BoardWrapper = styled.div`\r\n padding: 0px;\r\n color: #393939;\r\n text-align: center;\r\n flex-direction: row;\r\n align-items: flex-start;\r\n background-color: transparent;\r\n box-shadow: 0px 0px 30px 0px rgb(82 63 105 / 0%) !important;\r\n`;\r\n\r\nexport const Header = styled.header`\r\nborder-top-left-radius: 0.42rem;\r\nborder-top-right-radius: 0.42rem;\r\n`;\r\n\r\nexport const Section = styled.section`\r\n background-color: #f5f5f5;\r\n text-align: left;\r\n border-radius: 4px;\r\n margin: 5px 3px;\r\n position: relative;\r\n padding: 5px;\r\n display: inline-flex;\r\n height: 100vh;\r\n min-width: 19%;\r\n max-height: 90%;\r\n flex-direction: column;\r\n`;\r\n\r\nexport const LaneHeader = styled(Header)`\r\n margin-bottom: 0px;\r\n ${(props) =>\r\n props.editLaneTitle &&\r\n css`\r\n padding: 0px;\r\n line-height: 30px;\r\n `} ${(props) =>\r\n !props.editLaneTitle &&\r\n css`\r\n padding: 5px 5px;\r\n `};\r\n`;\r\n\r\nexport const LaneFooter = styled.div``;\r\n\r\nexport const ScrollableLane = styled.div`\r\n flex: 1;\r\n overflow-y: auto;\r\n width: 100%;\r\n overflow-x: hidden;\r\n align-self: center;\r\n max-height: 90vh;\r\n margin-top: 10px;\r\n flex-direction: column;\r\n justify-content: space-between;\r\n`;\r\n\r\nexport const Title = styled.span`\r\n font-size: 1.2rem;\r\n font-weight: 500;\r\n color: #181C32;\r\n display: inline;\r\n`;\r\n\r\nexport const RightContent = styled.span`\r\n width: 30%;\r\n text-align: right;\r\n padding-right: 10px;\r\n font-size: 13px;\r\n width: 90%;\r\n text-align: center;\r\n`;\r\nexport const CardWrapper = styled.article`\r\n border-radius: 3px;\r\n background-color: #fff;\r\n position: relative;\r\n padding: 7px;\r\n cursor: pointer;\r\n max-width: 250px;\r\n margin-bottom: 7px;\r\n width: 100%;\r\n`;\r\n\r\nexport const MovableCardWrapper = styled(CardWrapper)`\r\n &:hover {\r\n background-color: #e1f0ff;\r\n color: #000;\r\n }\r\n`;\r\n\r\nexport const CardHeader = styled(Header)`\r\n border-bottom: 1px solid #eee;\r\n padding-bottom: 6px;\r\n color: #000;\r\n background-color: transparent;\r\n text-align: left;\r\n`;\r\n\r\nexport const CardTitle = styled(Title)`\r\n font-size: 14px;\r\n color: #3699ff;\r\n line-height: 18px;\r\n`;\r\n\r\nexport const CardRightContent = styled(RightContent)`\r\n font-size: 10px;\r\n`;\r\n\r\nexport const Detail = styled.div`\r\n font-size: 12px;\r\n color: #4d4d4d;\r\n white-space: pre-wrap;\r\n`;\r\n\r\nexport const Footer = styled.div`\r\n border-top: 1px solid #eee;\r\n padding-top: 6px;\r\n text-align: right;\r\n display: flex;\r\n justify-content: flex-end;\r\n flex-direction: row;\r\n flex-wrap: wrap;\r\n`;\r\n\r\nexport const TagSpan = styled.span`\r\n padding: 2px 3px;\r\n border-radius: 3px;\r\n margin: 2px 5px;\r\n font-size: 70%;\r\n`;\r\n\r\nexport const AddCardLink = styled.a`\r\n border-radius: 0 0 3px 3px;\r\n color: #838c91;\r\n display: block;\r\n padding: 5px 2px;\r\n margin-top: 10px;\r\n position: relative;\r\n text-decoration: none;\r\n cursor: pointer;\r\n\r\n &:hover {\r\n //background-color: #cdd2d4;\r\n color: #4d4d4d;\r\n text-decoration: underline;\r\n }\r\n`;\r\n\r\nexport const LaneTitle = styled.div`\r\n font-size: 15px;\r\n width: 268px;\r\n height: auto;\r\n`;\r\n\r\nexport const LaneSection = styled.section`\r\n background-color: #2b6aa3;\r\n border-radius: 3px;\r\n margin: 5px;\r\n position: relative;\r\n padding: 5px;\r\n display: inline-flex;\r\n height: auto;\r\n flex-direction: column;\r\n`;\r\n\r\nexport const NewLaneSection = styled(LaneSection)`\r\n width: 200px;\r\n`;\r\n\r\nexport const NewLaneButtons = styled.div`\r\n margin-top: 10px;\r\n`;\r\n\r\nexport const CardForm = styled.div`\r\n background-color: #e3e3e3;\r\n`;\r\n\r\nexport const InlineInput = styled.textarea`\r\n overflow-x: hidden; /* for Firefox (issue #5) */\r\n word-wrap: break-word;\r\n min-height: 28px;\r\n max-height: 112px; /* optional, but recommended */\r\n resize: none;\r\n width: 100%;\r\n height: 28px;\r\n font-size: 15px;\r\n line-height: 20px;\r\n background-color: transparent;\r\n box-shadow: none;\r\n box-sizing: border-box;\r\n border-radius: 3px;\r\n border: 0;\r\n padding: 4px 8px;\r\n outline: 0;\r\n ${(props) =>\r\n props.border &&\r\n css`\r\n &:focus {\r\n box-shadow: inset 0 0 0 2px #0079bf;\r\n }\r\n `} &:focus {\r\n background-color: white;\r\n }\r\n`;\r\n","import React from 'react'\r\nimport PropTypes from 'prop-types'\r\nimport {InlineInput} from '../styles/Base'\r\nimport autosize from 'autosize'\r\n\r\nclass InlineInputController extends React.Component {\r\n onFocus = (e) => e.target.select()\r\n\r\n // This is the way to select all text if mouse clicked\r\n onMouseDown = (e) => {\r\n if (document.activeElement != e.target) {\r\n e.preventDefault()\r\n this.refInput.focus()\r\n }\r\n }\r\n\r\n onBlur = () => {\r\n this.updateValue()\r\n }\r\n\r\n onKeyDown = (e) => {\r\n if(e.keyCode == 13) {\r\n this.refInput.blur()\r\n e.preventDefault()\r\n }\r\n if(e.keyCode == 27) {\r\n this.setValue(this.props.value)\r\n this.refInput.blur()\r\n e.preventDefault()\r\n }\r\n if(e.keyCode == 9) {\r\n if (this.getValue().length == 0) {\r\n this.props.onCancel()\r\n }\r\n this.refInput.blur()\r\n e.preventDefault()\r\n }\r\n }\r\n\r\n getValue = () => this.refInput.value\r\n setValue = (value) => this.refInput.value=value\r\n\r\n updateValue = () => {\r\n if (this.getValue() != this.props.value) {\r\n this.props.onSave(this.getValue())\r\n }\r\n }\r\n\r\n setRef = (ref) => {\r\n this.refInput = ref\r\n if (this.props.resize != 'none') {\r\n autosize(this.refInput)\r\n }\r\n }\r\n\r\n componentWillReceiveProps(nextProps) {\r\n this.setValue(nextProps.value)\r\n }\r\n\r\n render() {\r\n const {autoFocus, border, value, placeholder} = this.props\r\n\r\n return \r\n }\r\n}\r\n\r\nInlineInputController.propTypes = {\r\n onSave: PropTypes.func,\r\n border: PropTypes.bool,\r\n placeholder: PropTypes.string,\r\n value: PropTypes.string,\r\n autoFocus: PropTypes.bool,\r\n resize: PropTypes.oneOf(['none', 'vertical', 'horizontal']),\r\n}\r\n\r\nInlineInputController.defaultProps = {\r\n onSave: () => {},\r\n placeholder: '',\r\n value: '',\r\n border: false,\r\n autoFocus: false,\r\n resize: 'none'\r\n}\r\n\r\nexport default InlineInputController\r\n","import styled from 'styled-components'\r\nimport {CardWrapper, MovableCardWrapper} from './Base'\r\n\r\nexport const DeleteWrapper = styled.div`\r\n text-align: center;\r\n position: absolute;\r\n top: -1px;\r\n right: 2px;\r\n cursor: pointer;\r\n`\r\n\r\nexport const GenDelButton = styled.button`\r\n transition: all 0.5s ease;\r\n display: inline-block;\r\n border: none;\r\n font-size: 15px;\r\n height: 15px;\r\n padding: 0;\r\n margin-top: 5px;\r\n text-align: center;\r\n width: 15px;\r\n background: inherit;\r\n cursor: pointer;\r\n`\r\n\r\nexport const DelButton = styled.button`\r\n transition: all 0.5s ease;\r\n display: inline-block;\r\n border: none;\r\n font-size: 8px;\r\n height: 15px;\r\n line-height: 1px;\r\n margin: 0 0 8px;\r\n padding: 0;\r\n text-align: center;\r\n width: 15px;\r\n background: inherit;\r\n cursor: pointer;\r\n opacity: 0;\r\n display: none;\r\n ${MovableCardWrapper}:hover & {\r\n opacity: 1;\r\n }\r\n`\r\n\r\nexport const MenuButton = styled.button`\r\n transition: all 0.5s ease;\r\n display: inline-block;\r\n border: none;\r\n outline: none;\r\n font-size: 16px;\r\n font-weight: bold;\r\n height: 15px;\r\n line-height: 1px;\r\n margin: 0 0 8px;\r\n padding: 0;\r\n text-align: center;\r\n width: 15px;\r\n background: inherit;\r\n cursor: pointer;\r\n`\r\n\r\nexport const LaneMenuHeader = styled.div`\r\n position: relative;\r\n margin-bottom: 4px;\r\n text-align: center;\r\n`\r\n\r\nexport const LaneMenuContent = styled.div`\r\n overflow-x: hidden;\r\n overflow-y: auto;\r\n padding: 0 12px 12px;\r\n`\r\n\r\nexport const LaneMenuItem = styled.div`\r\n cursor: pointer;\r\n display: block;\r\n font-weight: 700;\r\n padding: 6px 12px;\r\n position: relative;\r\n margin: 0 -12px;\r\n text-decoration: none;\r\n\r\n &:hover {\r\n background-color: #3179BA;\r\n color: #fff;\r\n }\r\n`\r\n\r\nexport const LaneMenuTitle = styled.span`\r\n box-sizing: border-box;\r\n color: #6b808c;\r\n display: block;\r\n line-height: 30px;\r\n border-bottom: 1px solid rgba(9,45,66,.13);\r\n margin: 0 6px;\r\n overflow: hidden;\r\n padding: 0 32px;\r\n position: relative;\r\n text-overflow: ellipsis;\r\n white-space: nowrap;\r\n z-index: 1;\r\n`\r\n\r\nexport const DeleteIcon = styled.span`\r\n position: relative;\r\n display: inline-block;\r\n width: 4px;\r\n height: 4px;\r\n opacity: 1;\r\n overflow: hidden;\r\n border: 1px solid #83bd42;\r\n border-radius: 50%;\r\n padding: 4px;\r\n background-color: #83bd42;\r\n\r\n ${CardWrapper}:hover & {\r\n opacity: 1;\r\n }\r\n\r\n &:hover::before,\r\n &:hover::after {\r\n background: red;\r\n }\r\n\r\n &:before,\r\n &:after {\r\n content: '';\r\n position: absolute;\r\n height: 2px;\r\n width: 60%;\r\n top: 45%;\r\n left: 20%;\r\n background: #fff;\r\n border-radius: 5px;\r\n }\r\n\r\n &:before {\r\n -webkit-transform: rotate(45deg);\r\n -moz-transform: rotate(45deg);\r\n -o-transform: rotate(45deg);\r\n transform: rotate(45deg);\r\n }\r\n\r\n &:after {\r\n -webkit-transform: rotate(-45deg);\r\n -moz-transform: rotate(-45deg);\r\n -o-transform: rotate(-45deg);\r\n transform: rotate(-45deg);\r\n }\r\n`\r\n\r\nexport const ExpandCollapseBase = styled.span`\r\n width: 36px;\r\n margin: 0 auto;\r\n font-size: 14px;\r\n position: relative;\r\n cursor: pointer;\r\n`\r\n\r\nexport const CollapseBtn = styled(ExpandCollapseBase)`\r\n &:before {\r\n content: '';\r\n position: absolute;\r\n top: 0;\r\n left: 0;\r\n border-bottom: 7px solid #444;\r\n border-left: 7px solid transparent;\r\n border-right: 7px solid transparent;\r\n border-radius: 6px;\r\n }\r\n &:after {\r\n content: '';\r\n position: absolute;\r\n left: 4px;\r\n top: 4px;\r\n border-bottom: 3px solid #e3e3e3;\r\n border-left: 3px solid transparent;\r\n border-right: 3px solid transparent;\r\n }\r\n`\r\n\r\nexport const ExpandBtn = styled(ExpandCollapseBase)`\r\n &:before {\r\n content: '';\r\n position: absolute;\r\n top: 0;\r\n left: 0;\r\n border-top: 7px solid #444;\r\n border-left: 7px solid transparent;\r\n border-right: 7px solid transparent;\r\n border-radius: 6px;\r\n }\r\n &:after {\r\n content: '';\r\n position: absolute;\r\n left: 4px;\r\n top: 0px;\r\n border-top: 3px solid #e3e3e3;\r\n border-left: 3px solid transparent;\r\n border-right: 3px solid transparent;\r\n }\r\n`\r\n\r\nexport const AddButton = styled.button`\r\n background: #5aac44;\r\n color: #fff;\r\n transition: background 0.3s ease;\r\n min-height: 32px;\r\n padding: 4px 16px;\r\n vertical-align: top;\r\n margin-top: 0;\r\n margin-right: 8px;\r\n font-weight: bold;\r\n border-radius: 3px;\r\n font-size: 14px;\r\n cursor: pointer;\r\n margin-bottom: 0;\r\n`\r\n\r\nexport const CancelButton = styled.button`\r\n background: #999999;\r\n color: #fff;\r\n transition: background 0.3s ease;\r\n min-height: 32px;\r\n padding: 4px 16px;\r\n vertical-align: top;\r\n margin-top: 0;\r\n font-weight: bold;\r\n border-radius: 3px;\r\n font-size: 14px;\r\n cursor: pointer;\r\n margin-bottom: 0;\r\n`\r\nexport const AddLaneLink = styled.button`\r\n background: #2b6aa3;\r\n border: none;\r\n color: #fff;\r\n transition: background 0.3s ease;\r\n min-height: 32px;\r\n padding: 4px 16px;\r\n vertical-align: top;\r\n margin-top: 0;\r\n margin-right: 0px;\r\n border-radius: 4px;\r\n font-size: 13px;\r\n cursor: pointer;\r\n margin-bottom: 0;\r\n`\r\n","import React from 'react'\r\nimport PropTypes from 'prop-types'\r\n\r\nimport { Popover } from 'react-popopo'\r\n\r\nimport { CustomPopoverContent, CustomPopoverContainer } from '../../../styles/Base'\r\n\r\nimport {\r\n LaneMenuTitle,\r\n LaneMenuHeader,\r\n LaneMenuContent,\r\n DeleteWrapper,\r\n LaneMenuItem,\r\n GenDelButton,\r\n MenuButton,\r\n} from '../../../styles/Elements'\r\n\r\nconst TEST= PropTypes.elementType;\r\n\r\nconst LaneMenu = ({t, onDelete}) => (\r\n ⋮}>\r\n \r\n {t('Lane actions')}\r\n \r\n \r\n \r\n \r\n \r\n {t('Delete lane')}\r\n \r\n \r\n)\r\n\r\nexport default LaneMenu;\r\n","import React from 'react'\r\nimport PropTypes from 'prop-types'\r\nimport InlineInput from '../../widgets/InlineInput'\r\nimport {Title, LaneHeader, RightContent } from '../../styles/Base'\r\nimport LaneMenu from './LaneHeader/LaneMenu'\r\n\r\nconst LaneHeaderComponent = ({\r\n updateTitle, canAddLanes, onDelete, onDoubleClick, editLaneTitle, label, title, titleStyle, labelStyle, t, laneDraggable\r\n}) => {\r\n\r\n return (\r\n \r\n \r\n {editLaneTitle ?\r\n <InlineInput value={title} border placeholder={t('placeholder.title')} resize='vertical' onSave={updateTitle} /> :\r\n title\r\n }\r\n \r\n {label && (\r\n \r\n {label}\r\n \r\n )}\r\n {canAddLanes && }\r\n \r\n )\r\n}\r\n\r\nLaneHeaderComponent.propTypes = {\r\n updateTitle: PropTypes.func,\r\n editLaneTitle: PropTypes.bool,\r\n canAddLanes: PropTypes.bool,\r\n laneDraggable: PropTypes.bool,\r\n label: PropTypes.string,\r\n title: PropTypes.string,\r\n onDelete: PropTypes.func,\r\n onDoubleClick: PropTypes.func,\r\n t: PropTypes.func.isRequired\r\n}\r\n\r\nLaneHeaderComponent.defaultProps = {\r\n updateTitle: () => {},\r\n editLaneTitle: false,\r\n canAddLanes: false\r\n}\r\n\r\nexport default LaneHeaderComponent;\r\n","import React from \"react\";\r\nimport moment from \"moment\";\r\n\r\nexport default function DateColumnFormatter({dateTime}) {\r\n var date = new Date(dateTime);\r\n var a = date.getMonth() + 1 + \"/\" + date.getDate() + \"/\" + date.getFullYear();\r\n var b = moment(new Date(), \"M/D/YYYY\");\r\n var diffYear = b.diff(a, \"year\");\r\n var diffMonths = b.diff(a, \"months\");\r\n var diffDays = b.diff(a, \"days\");\r\n var diffHours = b.diff(a, \"hours\");\r\n var text = \"\";\r\n if (diffYear > 0) text = diffYear + \" year(s) ago\";\r\n else if (diffMonths > 0) text = diffMonths + \" month(s) ago\";\r\n else if (diffDays > 0) text = diffDays + \" day(s) ago\";\r\n else text = diffHours + \" hour(s) ago\";\r\n return (\r\n <>\r\n {text}\r\n \r\n );\r\n}\r\n","import React from \"react\";\r\nexport default function DateColumnFormatter2({ShipDate}) {\r\n var re = new RegExp(\"/\", \"g\");\r\n var elapsed = new Date(ShipDate).toLocaleString().replace(re, \"-\");\r\n return (\r\n <>\r\n \r\n {elapsed}\r\n \r\n \r\n );\r\n}\r\n","import React, {Component} from 'react'\r\nimport PropTypes from 'prop-types'\r\nimport {TagSpan} from '../../styles/Base'\r\n\r\nclass Tag extends Component {\r\n render() {\r\n const {title, color, bgcolor, tagStyle, ...otherProps} = this.props\r\n const style = {color: color || 'white', backgroundColor: bgcolor || 'orange', ...tagStyle}\r\n return (\r\n \r\n {title}\r\n \r\n )\r\n }\r\n}\r\n\r\nTag.propTypes = {\r\n title: PropTypes.string.isRequired,\r\n color: PropTypes.string,\r\n bgcolor: PropTypes.string,\r\n tagStyle: PropTypes.object\r\n}\r\n\r\nexport default Tag\r\n","import React from 'react'\r\nimport {DeleteWrapper, DelButton} from '../styles/Elements'\r\n\r\nconst DeleteButton = props => {\r\n return (\r\n \r\n \r\n \r\n )\r\n}\r\n\r\nexport default DeleteButton\r\n","import React, { Component } from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport DateColumnFormatter from \"./Columns/DateColumnFormatter\";\r\nimport DateColumnFormatter2 from \"./Columns/DateColumnFormatter2\";\r\n\r\nimport {\r\n MovableCardWrapper,\r\n CardHeader,\r\n CardRightContent,\r\n CardTitle,\r\n Detail,\r\n Footer,\r\n} from \"../styles/Base\";\r\nimport Tag from \"./Card/Tag\";\r\nimport DeleteButton from \"../widgets/DeleteButton\";\r\n\r\nclass Card extends Component {\r\n onDelete = (e) => {\r\n this.props.onDelete();\r\n e.stopPropagation();\r\n };\r\n\r\n render() {\r\n const {\r\n showDeleteButton,\r\n style,\r\n tagStyle,\r\n onClick,\r\n onDelete,\r\n className,\r\n id,\r\n title,\r\n label,\r\n description,\r\n tags,\r\n cardDraggable,\r\n ShipDate,\r\n DeliveryDate,\r\n FromCity,\r\n ToCity,\r\n CarrierName,\r\n Updated,\r\n } = this.props;\r\n\r\n return (\r\n \r\n \r\n {`Shipment ${id}`}\r\n {label}\r\n {showDeleteButton && }\r\n \r\n \r\n \r\n Ship Date : {ShipDate && }\r\n \r\n \r\n Delivery Date : {ShipDate && }\r\n \r\n \r\n From City :{\" \" + (ToCity || \"\")}\r\n \r\n \r\n To City :{\" \" + (FromCity || \"\")}\r\n \r\n \r\n Carrier Name :{\" \" + (CarrierName || \"\")}\r\n \r\n \r\n Updated : \r\n \r\n \r\n {tags && tags.length > 0 && (\r\n
    \r\n {tags.map((tag) => (\r\n \r\n ))}\r\n
    \r\n )}\r\n \r\n );\r\n }\r\n}\r\n\r\nCard.propTypes = {\r\n showDeleteButton: PropTypes.bool,\r\n onDelete: PropTypes.func,\r\n onClick: PropTypes.func,\r\n style: PropTypes.object,\r\n tagStyle: PropTypes.object,\r\n className: PropTypes.string,\r\n id: PropTypes.string.isRequired,\r\n title: PropTypes.string.isRequired,\r\n label: PropTypes.string,\r\n description: PropTypes.string,\r\n tags: PropTypes.array,\r\n};\r\n\r\nCard.defaultProps = {\r\n showDeleteButton: true,\r\n onDelete: () => {},\r\n onClick: () => {},\r\n style: {},\r\n tagStyle: {},\r\n title: \"no title\",\r\n description: \"\",\r\n label: \"\",\r\n tags: [],\r\n className: \"\",\r\n};\r\n\r\nexport default Card;\r\n","import styled, {keyframes} from 'styled-components'\r\n\r\nconst keyframeAnimation = keyframes`\r\n 0% {\r\n transform: scale(1);\r\n }\r\n 20% {\r\n transform: scale(1, 2.2);\r\n }\r\n 40% {\r\n transform: scale(1);\r\n }\r\n`\r\nexport const LoaderDiv = styled.div`\r\n text-align: center;\r\n margin: 15px 0;\r\n`\r\n\r\nexport const LoadingBar = styled.div`\r\n display: inline-block;\r\n margin: 0 2px;\r\n width: 4px;\r\n height: 18px;\r\n border-radius: 4px;\r\n animation: ${keyframeAnimation} 1s ease-in-out infinite;\r\n background-color: #777;\r\n\r\n &:nth-child(1) {\r\n animation-delay: 0.0001s;\r\n }\r\n &:nth-child(2) {\r\n animation-delay: 0.09s;\r\n }\r\n &:nth-child(3) {\r\n animation-delay: 0.18s;\r\n }\r\n &:nth-child(4) {\r\n animation-delay: 0.27s;\r\n }\r\n`\r\n","import React from 'react'\r\nimport {LoaderDiv, LoadingBar} from '../styles/Loader'\r\n\r\nconst Loader = () => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n)\r\n\r\nexport default Loader\r\n","import React from 'react'\r\nimport PropTypes from 'prop-types'\r\nimport {InlineInput} from '../styles/Base'\r\nimport autosize from 'autosize'\r\n\r\nclass NewLaneTitleEditor extends React.Component {\r\n onKeyDown = (e) => {\r\n if(e.keyCode === 13) {\r\n this.refInput.blur()\r\n this.props.onSave()\r\n e.preventDefault()\r\n }\r\n if(e.keyCode === 27) {\r\n this.cancel()\r\n e.preventDefault()\r\n }\r\n\r\n if(e.keyCode === 9) {\r\n if (this.getValue().length == 0) {\r\n this.cancel()\r\n } else {\r\n this.props.onSave()\r\n }\r\n e.preventDefault()\r\n }\r\n }\r\n\r\n cancel = () => {\r\n this.setValue('')\r\n this.props.onCancel()\r\n this.refInput.blur()\r\n }\r\n\r\n getValue = () => this.refInput.value\r\n setValue = (value) => this.refInput.value = value\r\n\r\n saveValue = () => {\r\n if (this.getValue() !== this.props.value) {\r\n this.props.onSave(this.getValue())\r\n }\r\n }\r\n\r\n focus = () => this.refInput.focus()\r\n\r\n setRef = (ref) => {\r\n this.refInput = ref\r\n if (this.props.resize !== 'none') {\r\n autosize(this.refInput)\r\n }\r\n }\r\n\r\n render() {\r\n const {autoFocus, resize, border, autoResize, value, placeholder} = this.props\r\n\r\n return \r\n }\r\n}\r\n\r\nNewLaneTitleEditor.propTypes = {\r\n onSave: PropTypes.func,\r\n onCancel: PropTypes.func,\r\n border: PropTypes.bool,\r\n placeholder: PropTypes.string,\r\n value: PropTypes.string,\r\n autoFocus: PropTypes.bool,\r\n autoResize: PropTypes.bool,\r\n resize: PropTypes.oneOf(['none', 'vertical', 'horizontal']),\r\n}\r\n\r\nNewLaneTitleEditor.defaultProps = {\r\n inputRef: () => {},\r\n onSave: () => {},\r\n onCancel: () => {},\r\n placeholder: '',\r\n value: '',\r\n border: false,\r\n autoFocus: false,\r\n autoResize: false,\r\n resize: 'none'\r\n}\r\n\r\nexport default NewLaneTitleEditor\r\n","import React, { Component } from 'react'\r\nimport PropTypes from 'prop-types'\r\nimport { LaneTitle, NewLaneButtons, Section } from '../styles/Base'\r\nimport { AddButton, CancelButton } from '../styles/Elements'\r\nimport NewLaneTitleEditor from '../widgets/NewLaneTitleEditor'\r\n\r\nclass NewLane extends Component {\r\n handleSubmit = () => {\r\n this.props.onAdd({ title: this.getValue() })\r\n }\r\n\r\n getValue = () => this.refInput.getValue()\r\n\r\n onClickOutside = (a,b,c) => {\r\n if (this.getValue().length > 0) {\r\n this.handleSubmit()\r\n } else {\r\n this.props.onCancel()\r\n }\r\n }\r\n\r\n render() {\r\n const { onCancel, t } = this.props\r\n return (\r\n
    \r\n \r\n (this.refInput = ref)}\r\n placeholder={t('placeholder.title')}\r\n onCancel={this.props.onCancel}\r\n onSave={this.handleSubmit}\r\n resize='vertical'\r\n border\r\n autoFocus\r\n />\r\n \r\n \r\n {t('button.Add lane')}\r\n {t('button.Cancel')}\r\n \r\n
    \r\n )\r\n }\r\n}\r\n\r\nNewLane.propTypes = {\r\n onCancel: PropTypes.func.isRequired,\r\n onAdd: PropTypes.func.isRequired,\r\n t: PropTypes.func.isRequired,\r\n}\r\n\r\nNewLane.defaultProps = {}\r\n\r\nexport default NewLane\r\n","import React from 'react'\r\nimport PropTypes from 'prop-types'\r\n\r\nclass EditableLabel extends React.Component {\r\n constructor({value}) {\r\n super()\r\n this.state = { value: value }\r\n }\r\n\r\n getText = el => {\r\n return el.innerText\r\n }\r\n\r\n onTextChange = ev => {\r\n const value = this.getText(ev.target)\r\n this.setState({value: value})\r\n }\r\n\r\n componentDidMount() {\r\n if (this.props.autoFocus) {\r\n this.refDiv.focus()\r\n }\r\n }\r\n\r\n onBlur = () => {\r\n this.props.onChange(this.state.value)\r\n }\r\n\r\n onPaste = ev => {\r\n ev.preventDefault()\r\n const value = ev.clipboardData.getData('text')\r\n document.execCommand('insertText', false, value)\r\n }\r\n\r\n getClassName = () => {\r\n const placeholder = this.state.value === '' ? 'comPlainTextContentEditable--has-placeholder' : ''\r\n return `comPlainTextContentEditable ${placeholder}`\r\n }\r\n\r\n onKeyDown = (e) => {\r\n if(e.keyCode === 13) {\r\n this.props.onChange(this.state.value)\r\n this.refDiv.blur()\r\n e.preventDefault()\r\n }\r\n if(e.keyCode === 27) {\r\n this.refDiv.value = this.props.value\r\n this.setState({value: this.props.value})\r\n // this.refDiv.blur()\r\n e.preventDefault()\r\n e.stopPropagation()\r\n }\r\n }\r\n\r\n render() {\r\n const placeholder = this.props.value.length > 0 ? false : this.props.placeholder;\r\n return (\r\n (this.refDiv = ref)}\r\n contentEditable=\"true\"\r\n className={this.getClassName()}\r\n onPaste={this.onPaste}\r\n onBlur={this.onBlur}\r\n onInput={this.onTextChange}\r\n onKeyDown={this.onKeyDown}\r\n placeholder={placeholder}\r\n />\r\n )\r\n }\r\n}\r\n\r\nEditableLabel.propTypes = {\r\n onChange: PropTypes.func,\r\n placeholder: PropTypes.string,\r\n autoFocus: PropTypes.bool,\r\n inline: PropTypes.bool,\r\n value: PropTypes.string,\r\n}\r\n\r\nEditableLabel.defaultProps = {\r\n onChange: () => {},\r\n placeholder: '',\r\n autoFocus: false,\r\n inline: false,\r\n value: ''\r\n}\r\nexport default EditableLabel\r\n","import React, {Component} from 'react'\r\nimport PropTypes from 'prop-types'\r\nimport {\r\n CardForm,\r\n CardHeader,\r\n CardRightContent,\r\n CardTitle,\r\n CardWrapper,\r\n Detail\r\n} from '../styles/Base'\r\nimport {AddButton, CancelButton} from '../styles/Elements'\r\nimport EditableLabel from '../widgets/EditableLabel'\r\n\r\nclass NewCardForm extends Component {\r\n updateField = (field, value) => {\r\n this.setState({[field]: value})\r\n }\r\n\r\n handleAdd = () => {\r\n this.props.onAdd(this.state)\r\n }\r\n\r\n render() {\r\n const {onCancel, t} = this.props\r\n return (\r\n \r\n \r\n \r\n \r\n this.updateField('title', val)} autoFocus />\r\n \r\n \r\n this.updateField('label', val)} />\r\n \r\n \r\n \r\n this.updateField('description', val)} />\r\n \r\n \r\n {t('button.Add card')}\r\n {t('button.Cancel')}\r\n \r\n )\r\n }\r\n}\r\n\r\nNewCardForm.propTypes = {\r\n onCancel: PropTypes.func.isRequired,\r\n onAdd: PropTypes.func.isRequired,\r\n t: PropTypes.func.isRequired,\r\n}\r\n\r\nNewCardForm.defaultProps = {\r\n}\r\n\r\nexport default NewCardForm\r\n","import LaneHeader from './Lane/LaneHeader'\r\nimport LaneFooter from './Lane/LaneFooter'\r\nimport Card from './Card'\r\nimport Loader from './Loader'\r\nimport NewLaneForm from './NewLaneForm'\r\nimport NewCardForm from './NewCardForm'\r\nimport AddCardLink from './AddCardLink'\r\nimport NewLaneSection from './NewLaneSection'\r\nimport {GlobalStyle, Section, BoardWrapper, ScrollableLane } from '../styles/Base'\r\n\r\nexport default {\r\n GlobalStyle,\r\n BoardWrapper,\r\n Loader,\r\n ScrollableLane,\r\n LaneHeader,\r\n LaneFooter,\r\n Section,\r\n NewLaneForm,\r\n NewLaneSection,\r\n NewCardForm,\r\n Card,\r\n AddCardLink,\r\n}\r\n","import React from 'react'\r\n\r\nimport {LaneFooter} from '../../styles/Base'\r\n\r\nimport {\r\n CollapseBtn,\r\n ExpandBtn,\r\n} from '../../styles/Elements'\r\n\r\nexport default ({onClick, collapsed}) => {collapsed ? : }\r\n","import React from 'react'\r\nimport {NewLaneSection} from '../styles/Base'\r\nimport {AddLaneLink} from '../styles/Elements'\r\n\r\nexport default ({t, onClick}) => (\r\n \r\n {t('Add another lane')}\r\n \r\n)\r\n","import React from 'react'\r\nimport {AddCardLink} from '../styles/Base'\r\n\r\nexport default ({onClick, t}) => {t('Click to add card')}\r\n","import LinearProgress from \"@material-ui/core/LinearProgress\";\r\nimport axios from \"axios\";\r\nimport $ from \"jquery\";\r\nimport low from \"lowdb\";\r\nimport LocalStorage from \"lowdb/adapters/LocalStorage\";\r\nimport React, { useEffect, useState } from \"react\";\r\nimport { Card } from \"react-bootstrap\";\r\nimport CreatableSelect from \"react-select/creatable\";\r\nimport Board from \"react-trello\";\r\nimport { Helmet } from \"react-helmet\";\r\nimport DefaultComponents from \"./Active Shipment Drag Component/components\";\r\nimport \"./Style.css\";\r\nconst adapter = new LocalStorage(\"db\");\r\nconst db = low(adapter);\r\n\r\nexport function UpdateStatus() {\r\n const [StatusShipments, setStatusShipments] = useState({ lanes: [] });\r\n const [Customers, setCustomers] = useState([]);\r\n const [modes, setModes] = useState([]);\r\n const [services, setServices] = useState([]);\r\n const [show, setshow] = useState(false);\r\n const [ShipmentId, setShipmentId] = useState();\r\n const [StatusId, setStatusId] = useState();\r\n const [CustomerId, setCustomerId] = useState(null);\r\n const [serviceId, setServiceId] = useState(null);\r\n const [modeId, setModeId] = useState(null);\r\n const [modeIdValueLBl, setModeValueLabel] = useState({\r\n value: \"\",\r\n label: \"Select\",\r\n });\r\n useEffect(() => {\r\n fetchCustomersAsync();\r\n }, []);\r\n useEffect(() => {\r\n if (CustomerId !== null && CustomerId !== undefined) {\r\n if (serviceId !== null && serviceId !== undefined) {\r\n if (modeId !== null && modeId !== undefined) {\r\n fetchUsersAsync(CustomerId, serviceId, modeId);\r\n } else {\r\n setStatusShipments({ lanes: [] });\r\n }\r\n } else {\r\n setStatusShipments({ lanes: [] });\r\n }\r\n } else {\r\n setStatusShipments({ lanes: [] });\r\n }\r\n }, [CustomerId, serviceId, modeId]);\r\n const fetchUsersAsync = async (customerId, serviceId, modeId) => {\r\n try {\r\n return await fetch(\r\n window.$apiurl +\r\n `/transportation/shipments/getbystatus?customerId=${customerId}&serviceId=${serviceId}&modeId=${modeId}`,\r\n {\r\n method: \"get\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n }\r\n )\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n var result = res[1];\r\n var b = [];\r\n result.StatusShipments.forEach((element) => {\r\n var json_data = JSON.stringify(element.Shipments).replace(\r\n /Id/g,\r\n \"id\"\r\n );\r\n b.push({\r\n id: element.Id,\r\n title: element.Name,\r\n cards: JSON.parse(json_data),\r\n });\r\n });\r\n setStatusShipments({ lanes: b });\r\n $(\".smooth-dnd-draggable-wrapper\").css(\"pointer-events\", \"none\");\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n } catch (e) {}\r\n };\r\n\r\n const fetchCustomersAsync = async () => {\r\n try {\r\n const resultRm = await axios.get(\"api/ReceiptsManagementNewVersion/GetAllApi\");\r\n console.log(resultRm.data);\r\n setServices(resultRm.data.Services);\r\n setCustomers(resultRm.data.Customers);\r\n } catch (e) {}\r\n };\r\n\r\n const SaveDone = () => {\r\n if (CustomerId) fetchUsersAsync(CustomerId);\r\n };\r\n\r\n return (\r\n <>\r\n \r\n eMPower | Active Shipment\r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n {\r\n if (e?.value === null) setStatusShipments({ lanes: [] });\r\n setCustomerId(e?.value);\r\n }}\r\n options={Customers.map((x) => {\r\n return { value: x?.Id, label: x?.Name };\r\n })}\r\n name=\"CustomerId\"\r\n id=\"CustomerId\"\r\n className=\"w-100 mr-2\"\r\n />\r\n {Customers.length === 0 && }\r\n
    \r\n
    \r\n \r\n \r\n {\r\n setServiceId(newValue?.value);\r\n if (newValue !== null) {\r\n var id = newValue?.value;\r\n setModeValueLabel({\r\n value: \"\",\r\n label: \"Select\",\r\n });\r\n const modes = services.filter((word) =>\r\n String(word.Id).includes(String(id))\r\n );\r\n if (modes.length === 1) {\r\n setModes(modes[0]?.Modes);\r\n }\r\n }\r\n }}\r\n options={services.map((x) => {\r\n return { value: x?.Id, label: x?.Name };\r\n })}\r\n name=\"ServiceId\"\r\n id=\"ServiceId\"\r\n className=\"w-100 mr-2\"\r\n />\r\n {services.length === 0 && }\r\n
    \r\n
    \r\n \r\n \r\n {\r\n if (newValue?.value !== null) {\r\n setModeId(newValue?.value);\r\n setModeValueLabel(newValue);\r\n } else {\r\n setshow(true);\r\n }\r\n }}\r\n options={modes.map((x) => {\r\n return { value: x?.Id, label: x?.Name };\r\n })}\r\n name=\"ServiceId\"\r\n id=\"ServiceId\"\r\n className=\"w-100 mr-2\"\r\n />\r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n );\r\n}\r\n","import React, { useEffect, useState } from \"react\";\r\nimport { AssignToOutbound } from \"../../modules/eMPower/pages/Transload/FindOrders/product-Containers/remark-edit-dialog/AssignToOutbound\";\r\nimport $ from \"jquery\";\r\nimport LinearProgress from \"@material-ui/core/LinearProgress\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { Notification } from \"../../modules/Notification\";\r\nimport Button from \"@material-ui/core/Button\";\r\nimport low from \"lowdb\";\r\nimport LocalStorage from \"lowdb/adapters/LocalStorage\";\r\nimport { Helmet } from \"react-helmet\";\r\nimport SelectPagination from \"../../../_metronic/_partials/widgets/Select/SelectPagination\";\r\nimport { CreatableSelect3 } from \"../../../_metronic/_partials/controls\";\r\n\r\nconst adapter = new LocalStorage(\"db\");\r\nconst db = low(adapter);\r\n\r\nconst mystyleTabs = {\r\n fontSize: \"13px\",\r\n};\r\n\r\nexport function AssigntoOutbound() {\r\n const [ShipmentIDStat, setShipmentIDStat] = useState(undefined);\r\n const [ShipmentsIds, setShipmentsIds] = useState([]);\r\n const [ShipmentLabelStat, setShipmentLabelStat] = useState(undefined);\r\n const [ShipmentNewModel, setShipmentNewModelt] = useState(false);\r\n const [showAssignTo, setShowAssignTo] = useState(false);\r\n const [shipmentId, setShipmentId] = useState(\"\");\r\n const [smId, setSmId] = useState(\"\");\r\n\r\n useEffect(() => {\r\n GetShipmentsIds();\r\n window.$ShipmentsAssigntoOutbound = [];\r\n window.$ReceiptsAssigntoOutbound = [];\r\n }, []);\r\n\r\n // useEffect(() => {\r\n // setTimeout(() => {\r\n // if (ShipmentIDStat !== undefined) {\r\n // setShipmentIDDiv();\r\n // } else {\r\n // setShipmentIDDiv();\r\n // }\r\n // }, 1);\r\n // }, [ShipmentIDStat]);\r\n\r\n async function GetShipmentsIds() {\r\n return await fetch(`${window.$apiurl}/shipments/getids`, {\r\n method: \"get\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n setShipmentsIds(res[1]);\r\n })\r\n .catch((err) => {});\r\n }\r\n\r\n async function PostNewShipment() {\r\n var label = $(\"#LabelForShipmentID\").val() || \"\";\r\n return await fetch(\r\n `${window.$apiurl}/transload/shipment?label=${label}&orderId=`,\r\n {\r\n method: \"post\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n }\r\n )\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then(async (res) => {\r\n Notification(\"success\", \"Create New Shipment ID : \" + res[1]?.Id);\r\n setShipmentNewModelt(false);\r\n GetShipmentsIds();\r\n return res[1];\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n \r\n return (\r\n <>\r\n \r\n eMPower | Assign To Outbound\r\n \r\n \r\n \r\n \r\n New Shipment\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n {\r\n setShipmentNewModelt(false);\r\n }}\r\n >\r\n Close\r\n \r\n {\r\n try {\r\n setShowAssignTo(false);\r\n setSmId(\"\");\r\n setShipmentId(\"\");\r\n \r\n setShipmentNewModelt(false);\r\n var a = await PostNewShipment();\r\n setSmId({ value: a?.Id, label: a?.Id });\r\n setShowAssignTo(true);\r\n setShipmentId(a?.Id);\r\n } catch (err) {}\r\n }}\r\n >\r\n Create\r\n \r\n \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n {\r\n setShipmentNewModelt(true);\r\n }}\r\n >\r\n New\r\n \r\n
    \r\n
    \r\n {ShipmentsIds.length === 0 && }\r\n
    \r\n {\r\n return {\r\n value: x,\r\n label: x,\r\n };\r\n })}\r\n name=\"id\"\r\n value={smId}\r\n onChange={async (newValue) => {\r\n try {\r\n var i = newValue?.value;\r\n $(\"#LoadingId\").fadeIn();\r\n var b = await GetShipmentId(i);\r\n setShowAssignTo(false);\r\n setShipmentId(\"\");\r\n if (i !== undefined) {\r\n setSmId(newValue);\r\n setShipmentId(i);\r\n setShowAssignTo(true);\r\n } else {\r\n setSmId(\"\");\r\n setShipmentId(\"\");\r\n setShowAssignTo(false);\r\n }\r\n setShipmentIDStat(b?.id);\r\n setShipmentLabelStat(b?.Label);\r\n } catch (err) {}\r\n }}\r\n />\r\n\r\n {\r\n const id = ShipmentIDStat;\r\n setShipmentIDStat(undefined);\r\n setTimeout(() => {\r\n setShipmentIDStat(id);\r\n }, 50);\r\n }}\r\n >\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {showAssignTo && shipmentId ? (\r\n \r\n ) : (\r\n \r\n )}\r\n
    \r\n
    \r\n \r\n );\r\n}\r\n\r\nfunction Nodatafound() {\r\n return (\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n

    \r\n No data found\r\n

    \r\n
    \r\n
    \r\n
    \r\n );\r\n}\r\n\r\nasync function DeletShipment(id) {\r\n return await fetch(`${window.$apiurl}/transload/shipment/${id}`, {\r\n method: \"delete\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n if (statusCode === 200) {\r\n window.$ShipmentsAssigntoOutbound = window.$ShipmentsAssigntoOutbound?.filter(\r\n (x) => x.Id !== +id\r\n );\r\n }\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then(async () => {})\r\n .catch((error) => {\r\n Notification(\"success\", \"Delete Shipment ID : \" + id);\r\n console.error(error);\r\n });\r\n}\r\n\r\nasync function GetShipmentId(id) {\r\n return await fetch(\r\n `${window.$apiurl}/TransloadShipment/GetShipmentItems?shipmentId=${id}`,\r\n {\r\n method: \"get\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n }\r\n )\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then(async (res) => {\r\n var a = res[1]?.Shipment;\r\n return { id, Label: a?.Label };\r\n })\r\n .catch((error) => {\r\n Notification(\"error\", \"Shipment ID : \" + id + \" Not Found\");\r\n console.error(error);\r\n return undefined;\r\n });\r\n}\r\n","import React, { useState, useEffect } from \"react\";\r\nimport { makeStyles } from \"@material-ui/core/styles\";\r\nimport Table from \"@material-ui/core/Table\";\r\nimport TableBody from \"@material-ui/core/TableBody\";\r\nimport TableCell from \"@material-ui/core/TableCell\";\r\nimport TableHead from \"@material-ui/core/TableHead\";\r\nimport Paper from \"@material-ui/core/Paper\";\r\nimport { Spinner } from \"react-bootstrap\";\r\nimport TableRow from \"@material-ui/core/TableRow\";\r\nimport { momentDate } from \"../../../../_metronic/_helpers/ATHelpers\";\r\nimport { AssignToOutboundHeaderForm } from \"../../../modules/eMPower/pages/Transload/FindOrders/product-Containers/remark-edit-dialog/AssignToOutboundHeaderForm\";\r\nimport { Notification } from \"../../../modules/Notification\";\r\nimport low from \"lowdb\";\r\nimport LocalStorage from \"lowdb/adapters/LocalStorage\";\r\nconst adapter = new LocalStorage(\"db\");\r\nconst db = low(adapter);\r\n\r\nexport default function TableComponent({\r\n list = [],\r\n DeleteShipmentRow,\r\n ShipmentID,\r\n ReloadPallets,\r\n IsClosedFunction,\r\n}) {\r\n const useStyles = makeStyles((theme) => ({\r\n root: {\r\n width: \"100%\",\r\n },\r\n paper: {\r\n marginTop: theme.spacing(1),\r\n width: \"100%\",\r\n overflowX: \"auto\",\r\n marginBottom: theme.spacing(2),\r\n },\r\n table: {\r\n minWidth: 650,\r\n },\r\n }));\r\n const classes = useStyles();\r\n\r\n return (\r\n
    \r\n
    \r\n Shipment ID\r\n {ShipmentID}\r\n
    \r\n \r\n
    \r\n
    \r\n Pallets Count : {list.length}\r\n {list.length > 0 ? (\r\n \r\n
    \r\n \r\n \r\n \r\n \r\n Id\r\n \r\n\r\n \r\n Customer Name\r\n \r\n \r\n Unit count\r\n \r\n \r\n Weight Type\r\n \r\n \r\n Weight\r\n \r\n \r\n Cube Type\r\n \r\n \r\n Cube\r\n \r\n \r\n Created\r\n \r\n \r\n Shipped\r\n \r\n \r\n Equipment\r\n \r\n \r\n status\r\n \r\n \r\n Action\r\n \r\n \r\n \r\n \r\n {(list ?? []).map((item, index) => (\r\n \r\n ))}\r\n \r\n \r\n \r\n Total\r\n \r\n \r\n {list.reduce((a, b) => +a + +b.Unitcount, 0)}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n ) : (\r\n \r\n )}{\" \"}\r\n
    \r\n );\r\n}\r\n\r\nconst TableTrFunction = ({ item, DeleteShipmentRow }) => {\r\n return (\r\n \r\n \r\n {item.Id}\r\n \r\n {item.CustomerName}\r\n {item.Unitcount}\r\n {item.WeightType}\r\n {item.Weight?.toFixed(2)}\r\n {item.CubeType}\r\n {item.Cube?.toFixed(2)}\r\n {momentDate(item.Created)}\r\n {momentDate(item.Shipped)}\r\n {item.Equipment}\r\n {item.status}\r\n \r\n {\r\n DeleteShipmentRow(item.Id);\r\n }}\r\n />\r\n \r\n \r\n );\r\n};\r\n\r\nfunction AssignToOutboundHeader({\r\n ShipmentID,\r\n ReloadPallets,\r\n IsClosedFunction,\r\n}) {\r\n const [Consignees, setConsignees] = useState([]);\r\n const [Vendors, setVendors] = useState([]);\r\n const [Shippers, setShippers] = useState([]);\r\n const [Customers, setCustomers] = useState([]);\r\n const [Services, setServices] = useState([]);\r\n const [statSHipmentId, setstatSHipmentId] = useState([]);\r\n const [statSHipment, setstatSHipment] = useState([]);\r\n const [LineItems, setLineItems] = useState([]);\r\n const [FreightCharges, setFreightCharges] = useState([]);\r\n const [fetchContainersAsync, setfetchContainersAsync] = useState([]);\r\n const [Warehouse, setWarehouse] = useState([]);\r\n const [TrackingDevices, setTrackingDevices] = useState([]);\r\n\r\n useEffect(() => {\r\n GetShipmentId(ShipmentID).then((e) => {\r\n if (e?.length > 0 && e[0] === 200) {\r\n setConsignees(e[1]?.Consignees ?? []);\r\n setCustomers(e[1]?.Customers ?? []);\r\n setVendors(e[1]?.Vendors ?? []);\r\n setShippers(e[1]?.Shippers ?? []);\r\n setServices(e[1]?.Services ?? []);\r\n setTrackingDevices(e[1]?.TrackingDevices ?? []);\r\n setFreightCharges(e[1]?.FreightCharges ?? []);\r\n\r\n e[1].Shipment.Id = ShipmentID;\r\n IsClosedFunction(e[1]?.Shipment?.IsClosed);\r\n setstatSHipment([e[1]?.Shipment] ?? []);\r\n }\r\n });\r\n }, []);\r\n\r\n return (\r\n \r\n );\r\n}\r\n\r\nasync function GetShipmentId(id) {\r\n return await fetch(\r\n `${window.$apiurl}/TransloadShipment/GetShipmentItems?shipmentId=${id}`,\r\n {\r\n method: \"get\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n }\r\n )\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then(async (res) => {\r\n return res;\r\n })\r\n .catch((error) => {\r\n Notification(\"error\", \"Shipment ID : \" + id + \" Not Found\");\r\n console.error(error);\r\n return undefined;\r\n });\r\n}\r\n\r\nfunction Nodatafound({ PalletID }) {\r\n const [Reload, setReload] = useState(true);\r\n\r\n useEffect(() => {\r\n setTimeout(() => {\r\n setReload(false);\r\n }, 2000);\r\n }, []);\r\n\r\n return (\r\n <>\r\n {!Reload ? (\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n

    \r\n Drop Pallets In this Shipment {PalletID}\r\n

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n ) : (\r\n
    \r\n \r\n Loading...\r\n \r\n
    \r\n )}\r\n \r\n );\r\n}\r\n","import React, { useState, useEffect } from \"react\";\r\nimport Draggable from \"react-draggable\";\r\nimport Button from \"@material-ui/core/Button\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { default as JsNative } from \"jquery\";\r\nimport { Notification } from \"../../../../modules/Notification\";\r\nimport low from \"lowdb\";\r\nimport LocalStorage from \"lowdb/adapters/LocalStorage\";\r\nconst adapter = new LocalStorage(\"db\");\r\nconst db = low(adapter);\r\n\r\nexport default function Item({\r\n item,\r\n SetTableShipment,\r\n removeId,\r\n ShipmentID,\r\n SelectIDforPallet,\r\n}) {\r\n const [ModelShow, setModelShow] = useState(false);\r\n const [stateItem, setstateItem] = useState(item);\r\n\r\n var tableElement = JsNative(\".TableComponent\");\r\n var offset = tableElement.offset();\r\n\r\n useEffect(() => {\r\n setstateItem(item);\r\n }, [item]);\r\n\r\n function handleDrag(e) {\r\n const style = \"background: #E5EAEE !important\";\r\n if (offset.top < e.pageY && e.pageY < offset.top + tableElement.height())\r\n tableElement.find(\"th\").attr(\"style\", style);\r\n else {\r\n tableElement.find(\"th\").removeAttr(\"style\");\r\n }\r\n }\r\n\r\n function handleStop(e) {\r\n if (offset.top < e.pageY && e.pageY < offset.top + tableElement.height()) {\r\n setModelShow(true);\r\n tableElement.find(\"th\").removeAttr(\"style\");\r\n }\r\n }\r\n\r\n function handleSave() {\r\n PostPallet(stateItem?.Id, ShipmentID).then(({ status, Message }) => {\r\n if (200 === status) {\r\n Notification(\"success\", \"success : \" + stateItem?.Id);\r\n SetTableShipment(stateItem);\r\n removeId(stateItem?.Id);\r\n } else {\r\n Notification(\"error\", Message?.toString());\r\n }\r\n });\r\n }\r\n\r\n return (\r\n <>\r\n {stateItem?.Items > 0 && (\r\n
    \r\n \r\n \r\n Pallet {stateItem?.Id}\r\n \r\n \r\n Are you sure to add this Pallet\r\n ({stateItem?.Id}) to Shipment\r\n ({ShipmentID})?\r\n \r\n \r\n {\r\n setModelShow(false);\r\n }}\r\n >\r\n Close\r\n \r\n {\r\n setModelShow(false);\r\n handleSave();\r\n }}\r\n >\r\n Ok\r\n \r\n \r\n \r\n\r\n \r\n
    0 && \"handle\"}>\r\n setModelShow(true)}\r\n >\r\n {htmlP(\"ID\", stateItem?.Id)}\r\n {htmlP(\"Unit Count\", stateItem?.Unitcount)}\r\n {htmlP(\"Items\", stateItem?.Items)}\r\n {htmlP(\"Weight\", stateItem?.Weight?.toFixed(2))}\r\n {htmlP(\"Cube\", stateItem?.Cube?.toFixed(2))}\r\n {\r\n SelectIDforPallet(stateItem?.Id);\r\n }}\r\n >\r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n )}{\" \"}\r\n \r\n );\r\n}\r\n\r\nfunction htmlP(text, text2) {\r\n return (\r\n <>\r\n

    \r\n {text}\r\n

    \r\n {text2}\r\n \r\n );\r\n}\r\n\r\nasync function PostPallet(PalletId, ShipmentID) {\r\n return await fetch(`${window.$apiurl}/pallets/addpallettoshipment`, {\r\n method: \"post\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify({\r\n ShipmentId: ShipmentID,\r\n PalletId: PalletId,\r\n }),\r\n }).then(async (response) => {\r\n var msg = response.status !== 200 ? await response.json() : \"\";\r\n var a = { status: response.status, Message: msg?.Message ?? \"\" };\r\n return a;\r\n });\r\n}\r\n","import React, { useEffect, useState } from \"react\";\r\nimport Item from \"./Item\";\r\nimport { Spinner } from \"react-bootstrap\";\r\nimport { DetailMangment } from \"../../../../modules/eMPower/pages/PalletsManagmentBeta/customers-table/ModelManagment\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport low from \"lowdb\";\r\nimport LocalStorage from \"lowdb/adapters/LocalStorage\";\r\n\r\nconst adapter = new LocalStorage(\"db\");\r\nconst db = low(adapter);\r\n\r\nexport default function IndexPalletsList({\r\n SetTableShipment,\r\n DeletRowId,\r\n ShipmentID,\r\n}) {\r\n const [Pallets, setPallets] = useState([]);\r\n const [Show, setShow] = useState(false);\r\n const [Search2, setSearch2] = useState(\"\");\r\n const [ShowModel, setShowModel] = useState(false);\r\n const [IdSelect, setIdSelect] = useState();\r\n\r\n function SelectIDforPallet(id) {\r\n setIdSelect(id);\r\n setShowModel(true);\r\n }\r\n\r\n useEffect(() => {\r\n GetPalletsFunction();\r\n }, []);\r\n\r\n async function GetPalletsFunction() {\r\n const pallets = await GetPallets(ShipmentID);\r\n (pallets ?? []).forEach((x) => {\r\n x.search =\r\n x?.Id +\r\n \"|\" +\r\n x?.Unitcount +\r\n \"|\" +\r\n x?.Location +\r\n \"|\" +\r\n x?.Items +\r\n \"|\" +\r\n x?.Weight +\r\n \"|\" +\r\n x?.Cube +\r\n \"|\";\r\n });\r\n setPallets(pallets);\r\n setShow(true);\r\n }\r\n\r\n useEffect(() => {\r\n if (DeletRowId && DeletRowId !== 0) setPallets((x) => [...x, DeletRowId]);\r\n }, [DeletRowId]);\r\n\r\n function removeId(id) {\r\n var a = Pallets.filter((x) => x?.Id !== id);\r\n setPallets(a ?? []);\r\n }\r\n\r\n return (\r\n <>\r\n {\" \"}\r\n {\r\n setShowModel(false);\r\n }}\r\n aria-labelledby=\"example-modal-sizes-title-lg\"\r\n >\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n {\r\n if (e.keyCode === 13) setSearch2(e.target.value);\r\n }}\r\n onBlur={(e) => {\r\n setSearch2(e.target.value);\r\n }}\r\n />\r\n
    \r\n\r\n {Pallets?.length > 0 ? (\r\n <>\r\n {Show &&\r\n Pallets.filter((x) =>\r\n x?.search?.includes(Search2)\r\n ).map((x, i) => (\r\n \r\n ))}\r\n \r\n ) : (\r\n \r\n )}\r\n
    \r\n \r\n );\r\n}\r\n\r\nasync function GetPallets(ShipmentID) {\r\n return await fetch(\r\n `${window.$apiurl}/Pallets?shipmentId=${ShipmentID}&IsShipped=false`,\r\n {\r\n method: \"get\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n }\r\n )\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then(async (res) => {\r\n return res[1]?.pallets;\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n}\r\n\r\nfunction Nodatafound() {\r\n const [Reload, setReload] = useState(true);\r\n\r\n useEffect(() => {\r\n setTimeout(() => {\r\n setReload(false);\r\n }, 7000);\r\n }, []);\r\n\r\n return (\r\n <>\r\n {!Reload ? (\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n

    \r\n No Items found\r\n

    \r\n
    \r\n
    \r\n
    \r\n ) : (\r\n
    \r\n \r\n Loading...\r\n \r\n
    \r\n )}\r\n \r\n );\r\n}\r\n","import React, { useEffect, useState } from \"react\";\r\nimport TableComponent from \"./TableComponent\";\r\nimport { Notification } from \"../../../modules/Notification\";\r\nimport IndexPalletsList from \"./Pallets/IndexPalletsList\";\r\nimport low from \"lowdb\";\r\nimport LocalStorage from \"lowdb/adapters/LocalStorage\";\r\nconst adapter = new LocalStorage(\"db\");\r\nconst db = low(adapter);\r\n\r\nexport default function Index({\r\n iShipmentsID = [],\r\n IsClosedFunction,\r\n IsClosed,\r\n}) {\r\n const [Table, setTable] = useState([]);\r\n const [DeletRowId, setDeletRowId] = useState(0);\r\n const [ShipmentsID, setShipmentsID] = useState(iShipmentsID);\r\n const [ReloadPalletsList, setReloadPalletsList] = useState(true);\r\n\r\n function ReloadPallets() {\r\n setReloadPalletsList(false);\r\n setTimeout(() => {\r\n setReloadPalletsList(true);\r\n }, 1);\r\n }\r\n\r\n useEffect(() => {\r\n setShipmentsID(iShipmentsID);\r\n }, [iShipmentsID]);\r\n\r\n function SetTableShipment(row) {\r\n var table = Table;\r\n var a = table.findIndex((x) => x?.Id === row?.Id);\r\n if (a > -1) {\r\n table[a] = row;\r\n setTable([]);\r\n setTimeout(() => {\r\n setTable(table);\r\n }, 1);\r\n } else setTable((x) => [...x, row]);\r\n }\r\n\r\n function DeleteShipmentRow(id) {\r\n RemovePallet(id, ShipmentsID[0]).then(({ status, Message }) => {\r\n if (200 === status) {\r\n Notification(\"success\", \"success : \" + id);\r\n var a = Table.filter((x) => x?.Id !== id);\r\n var b = Table.find((x) => x?.Id === id);\r\n setTable([]);\r\n setDeletRowId(0);\r\n setTimeout(() => {\r\n setTable(a);\r\n setDeletRowId(b);\r\n }, 1);\r\n } else {\r\n Notification(\"error\", Message?.toString());\r\n }\r\n });\r\n }\r\n\r\n useEffect(() => {\r\n if (ShipmentsID.length > 0)\r\n GetPalletsForShipments(ShipmentsID[0], setTable);\r\n }, [ShipmentsID]);\r\n\r\n return (\r\n <>\r\n {ShipmentsID.map((x, i) => (\r\n \r\n ))}\r\n\r\n {ShipmentsID.length > 0 && ReloadPalletsList && !IsClosed && (\r\n \r\n )}\r\n {IsClosed && }\r\n \r\n );\r\n}\r\nasync function GetPalletsForShipments(id, setTable) {\r\n return await fetch(`${window.$apiurl}/pallets/getpalletbyshipment/${id}`, {\r\n method: \"get\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n setTable(res[1]?.pallets ?? []);\r\n });\r\n}\r\nasync function RemovePallet(PalletId, ShipmentID) {\r\n return await fetch(`${window.$apiurl}/pallets/deletepalletfromshipment`, {\r\n method: \"post\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify({\r\n ShipmentId: ShipmentID,\r\n PalletId: PalletId,\r\n }),\r\n }).then(async (response) => {\r\n var msg = response.status !== 200 ? await response.json() : \"\";\r\n var a = { status: response.status, Message: msg?.Message ?? \"\" };\r\n return a;\r\n });\r\n}\r\n\r\nfunction Nodatafound() {\r\n return (\r\n <>\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n

    \r\n Shipment Is Closed\r\n

    \r\n
    \r\n
    \r\n
    \r\n \r\n );\r\n}\r\n","import { Button } from \"@material-ui/core\";\r\nimport $ from \"jquery\";\r\nimport low from \"lowdb\";\r\nimport LocalStorage from \"lowdb/adapters/LocalStorage\";\r\nimport React, { useEffect, useState } from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { Helmet } from \"react-helmet\";\r\nimport SelectPagination from \"../../../_metronic/_partials/widgets/Select/SelectPagination.js\";\r\nimport { OneMoveMaster } from \"../../modules/eMPower/pages/Transload/FindOrders/product-Containers/remark-edit-dialog/OneMoveMaster\";\r\nimport { Notification } from \"../../modules/Notification\";\r\nimport Index from \"./AssignPallettoLoad/Index.js\";\r\n\r\nconst adapter = new LocalStorage(\"db\");\r\nconst db = low(adapter);\r\n\r\nconst mystyleTabs = {\r\n fontSize: \"13px\",\r\n};\r\n\r\nexport function AssignPallettoLoad() {\r\n const [ShipmentIDStat, setShipmentIDStat] = useState([]);\r\n const [ShipmentsIds, setShipmentsIds] = useState([]);\r\n const [ShipmentNewModel, setShipmentNewModelt] = useState(false);\r\n const [IsClosed, setIsClosed] = useState(0);\r\n\r\n useEffect(() => {\r\n GetShipmentsIds();\r\n window.$ShipmentsAssigntoOutbound = [];\r\n window.$ReceiptsAssigntoOutbound = [];\r\n }, []);\r\n\r\n function IsClosedFunction(params) {\r\n setIsClosed(params);\r\n }\r\n\r\n async function GetShipmentsIds() {\r\n return await fetch(`${window.$apiurl}/shipments/getids`, {\r\n method: \"get\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n setShipmentsIds(res[1]);\r\n });\r\n }\r\n async function PostNewShipment() {\r\n var label = $(\"#LabelForShipmentID\").val() || \"\";\r\n return await fetch(\r\n `${window.$apiurl}/transload/shipment?label=${label}&orderId=`,\r\n {\r\n method: \"post\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n }\r\n )\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then(async (res) => {\r\n Notification(\"success\", \"Create New Shipment ID : \" + res[1]?.Id);\r\n setShipmentNewModelt(false);\r\n GetShipmentsIds();\r\n return res[1];\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n return (\r\n <>\r\n \r\n eMPower | Assign Pallet to Load\r\n \r\n \r\n \r\n \r\n New Shipment\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n {\r\n setShipmentNewModelt(false);\r\n }}\r\n >\r\n Close\r\n \r\n {\r\n setShipmentNewModelt(false);\r\n var a = await PostNewShipment();\r\n setShipmentIDStat([]);\r\n setTimeout(() => {\r\n if (a?.Id) setShipmentIDStat([a?.Id]);\r\n }, 1);\r\n }}\r\n >\r\n Create\r\n \r\n \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n {/* {IsClosed &&
    } */}\r\n {(IsClosed === 0 || ShipmentIDStat.length === 0) && (\r\n
    \r\n )}\r\n\r\n
    \r\n {\r\n setShipmentNewModelt(true);\r\n }}\r\n >\r\n New\r\n \r\n
    \r\n {/* {!IsClosed && (\r\n
    \r\n {\r\n PosttoClosed(ShipmentIDStat, setIsClosed);\r\n }}\r\n >\r\n Close\r\n \r\n
    \r\n )} */}\r\n {IsClosed !== 0 && ShipmentIDStat.length > 0 && (\r\n
    \r\n {\r\n PosttoClosed(ShipmentIDStat, setIsClosed);\r\n }}\r\n >\r\n {\" \"}\r\n {!IsClosed ? \"Close\" : \"UnClose\"}\r\n \r\n
    \r\n )}\r\n
    \r\n {\r\n return {\r\n value: x,\r\n label: x,\r\n };\r\n })}\r\n onChange={async (newValue) => {\r\n var i = newValue?.value;\r\n setShipmentIDStat([]);\r\n setTimeout(() => {\r\n if (i) setShipmentIDStat([i]);\r\n }, 1);\r\n }}\r\n />\r\n
    \r\n
    \r\n
    \r\n
    \r\n {ShipmentIDStat.length > 0 ? (\r\n <>\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n {\r\n window\r\n .open(`/report/Outbound/${ShipmentIDStat[0]}`, \"_blank\")\r\n .focus();\r\n }}\r\n >\r\n Shipment Manifest\r\n \r\n \r\n
    \r\n \r\n ) : (\r\n \r\n )}\r\n
    \r\n
    \r\n \r\n );\r\n}\r\n\r\nfunction Nodatafound() {\r\n return (\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n

    \r\n No data found\r\n

    \r\n
    \r\n
    \r\n
    \r\n );\r\n}\r\n\r\nconst OneMoveMasterFunction = ({ ShipmentIDStat }) => {\r\n const [OneMoveMasterShow, setOneMoveMasterShow] = useState(false);\r\n return (\r\n <>\r\n {\r\n setOneMoveMasterShow(false);\r\n }}\r\n >\r\n \r\n \r\n {\r\n setOneMoveMasterShow(true);\r\n }}\r\n >\r\n Shipment Details\r\n \r\n \r\n );\r\n};\r\n\r\nasync function PosttoClosed(PalletsIDStat, setIsClosed) {\r\n return await fetch(\r\n `${window.$apiurl}/transload/closeshipment/${PalletsIDStat}`,\r\n {\r\n method: \"put\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n }\r\n ).then(async (response) => {\r\n const statusCode = response.status;\r\n if (statusCode === 200) {\r\n Notification(\"success\", \"success\");\r\n setIsClosed((x) => !x);\r\n } else {\r\n const data = await response.json();\r\n Notification(\"error\", data.Message);\r\n }\r\n });\r\n}\r\n","import React, { useState, useEffect } from \"react\";\r\nimport { makeStyles } from \"@material-ui/core/styles\";\r\nimport Table from \"@material-ui/core/Table\";\r\nimport TableBody from \"@material-ui/core/TableBody\";\r\nimport TableCell from \"@material-ui/core/TableCell\";\r\nimport TableHead from \"@material-ui/core/TableHead\";\r\nimport { Spinner } from \"react-bootstrap\";\r\nimport Paper from \"@material-ui/core/Paper\";\r\nimport TableRow from \"@material-ui/core/TableRow\";\r\nimport axios from \"axios\";\r\nimport { CreatableSelect3 } from \"../../../../_metronic/_partials/controls\";\r\nimport { is } from \"../../../../_metronic/_helpers/ATHelpers\";\r\nimport low from \"lowdb\";\r\nimport LocalStorage from \"lowdb/adapters/LocalStorage\";\r\nimport { default as JsNative } from \"jquery\";\r\nconst adapter = new LocalStorage(\"db\");\r\nconst db = low(adapter);\r\n\r\nexport default function TableComponent({\r\n list = [],\r\n DeleteShipmentRow,\r\n PalletID,\r\n Pallet,\r\n setPallet,\r\n isClosed = true,\r\n Header = true,\r\n}) {\r\n const useStyles = makeStyles((theme) => ({\r\n root: {\r\n width: \"100%\",\r\n },\r\n paper: {\r\n marginTop: theme.spacing(1),\r\n width: \"100%\",\r\n overflowX: \"auto\",\r\n marginBottom: theme.spacing(2),\r\n },\r\n table: {\r\n minWidth: 650,\r\n },\r\n }));\r\n const classes = useStyles();\r\n\r\n const [Customers, setCustomers] = useState([]);\r\n const [warehouses, setwarehouses] = useState([]);\r\n const [Locations, setLocations] = useState([]);\r\n const [consignees, setconsignees] = useState([]);\r\n const [shippers, setshippers] = useState([]);\r\n const [values, setvalues] = useState([]);\r\n\r\n const fetchUsersAsync = async () => {\r\n try {\r\n const result = window.GetAllApi\r\n ? window.GetAllApi\r\n : await axios.get(\"api/PalletsManagment/GetAllApi\");\r\n\r\n window.GetAllApi = result;\r\n\r\n setCustomers(result.data[\"customers\"] || []);\r\n setwarehouses(result.data[\"warehouses\"] || []);\r\n setconsignees(result.data[\"consignees\"] || []);\r\n setshippers(result.data[\"shippers\"] || []);\r\n } catch (e) {}\r\n };\r\n\r\n useEffect(() => {\r\n fetchUsersAsync();\r\n }, [list]);\r\n\r\n useEffect(() => {\r\n setvalues(Pallet);\r\n }, [Pallet]);\r\n\r\n return (\r\n <>\r\n \r\n Table Pallet Id : {Pallet?.Id}\r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n Pallet ID\r\n {PalletID}\r\n
    {\" \"}\r\n
    \r\n {Header && (\r\n <>\r\n
    \r\n {\r\n return {\r\n value: x?.Id,\r\n label: is(x?.Code) + x?.Name,\r\n };\r\n })}\r\n />\r\n
    \r\n
    \r\n {\r\n return {\r\n value: x?.Id,\r\n label: x?.Name,\r\n };\r\n })}\r\n />\r\n
    \r\n
    \r\n {\r\n return {\r\n value: x?.Id,\r\n label: x?.Name,\r\n };\r\n })}\r\n />\r\n
    \r\n
    \r\n {\r\n return {\r\n value: x?.Id,\r\n label: x?.Name,\r\n };\r\n })}\r\n onChange={(e) => {\r\n const a = warehouses.find((x) => x?.Id === e?.value);\r\n setLocations([]);\r\n setTimeout(() => {\r\n setLocations(a?.Locations || []);\r\n }, 1);\r\n }}\r\n />\r\n
    \r\n
    \r\n {\r\n return {\r\n value: x?.Id,\r\n label: x?.Description,\r\n };\r\n })}\r\n />\r\n
    \r\n
    \r\n {\r\n PutModel(PalletID).then((e) => {\r\n if (e === 200) {\r\n setPallet(PalletID);\r\n }\r\n });\r\n }}\r\n >\r\n Save\r\n \r\n
    \r\n \r\n )}{\" \"}\r\n
    \r\n
    \r\n
    \r\n Items Count : {list.length}\r\n {list.length > 0 ? (\r\n <>\r\n {\" \"}\r\n \r\n
    \r\n \r\n \r\n \r\n \r\n PO#\r\n \r\n \r\n UPC\r\n \r\n \r\n SKU\r\n \r\n \r\n Cartons\r\n {\" \"}\r\n \r\n Unit Count\r\n \r\n \r\n Description\r\n \r\n \r\n Color\r\n \r\n \r\n Size\r\n \r\n {!isClosed && (\r\n \r\n Action\r\n \r\n )}\r\n \r\n \r\n \r\n {(list ?? []).map((item, index) => (\r\n \r\n ))}\r\n \r\n \r\n \r\n \r\n Total\r\n \r\n \r\n {list.reduce((a, b) => +a + +b.Quantity, 0)}\r\n \r\n \r\n {list.reduce((a, b) => +a + +b.UnitCount, 0)}\r\n \r\n \r\n \r\n \r\n {!isClosed && }\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n ) : (\r\n \r\n )}\r\n
    \r\n \r\n );\r\n}\r\n\r\nconst TableTrFunction = ({ item, DeleteShipmentRow, isClosed }) => {\r\n return (\r\n \r\n {item.PurchaseOrder}\r\n {item.Upc}\r\n {item.Sku}\r\n {item.Quantity}\r\n {item.UnitCount}\r\n {item.Description}\r\n {item.Color}\r\n {item.Size}\r\n {!isClosed && (\r\n \r\n {\r\n DeleteShipmentRow(item.Id);\r\n }}\r\n />\r\n \r\n )}\r\n \r\n );\r\n};\r\n\r\nfunction Nodatafound({ PalletID }) {\r\n const [Reload, setReload] = useState(true);\r\n\r\n useEffect(() => {\r\n setTimeout(() => {\r\n setReload(false);\r\n }, 2000);\r\n }, []);\r\n\r\n return (\r\n <>\r\n {!Reload ? (\r\n
    \r\n
    \r\n
    \r\n

    \r\n \r\n Drop Items In this Pallet {PalletID}\r\n

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n ) : (\r\n
    \r\n \r\n Loading...\r\n \r\n
    \r\n )}\r\n \r\n );\r\n}\r\n\r\nasync function PutModel(id) {\r\n const parms = {\r\n CustomerId: JsNative('[name=\"CustomerId\"]').val(),\r\n ConsigneeId: JsNative('[name=\"ConsigneeId\"]').val(),\r\n ShipperId: JsNative('[name=\"ShipperId\"]').val(),\r\n WarehouseId: JsNative('[name=\"WarehouseId\"]').val(),\r\n LocationId: JsNative('[name=\"LocationId\"]').val(),\r\n };\r\n return await fetch(`${window.$apiurl}/pallets/${id}`, {\r\n method: \"PUT\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(parms),\r\n }).then(async (response) => {\r\n return response.status;\r\n });\r\n}\r\n","import React, { useState, useEffect } from \"react\";\r\nimport Draggable from \"react-draggable\";\r\nimport Button from \"@material-ui/core/Button\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { Notification } from \"../../../../modules/Notification\";\r\nimport Checkbox from \"@material-ui/core/Checkbox\";\r\nimport { default as JsNative } from \"jquery\";\r\nimport low from \"lowdb\";\r\nimport LocalStorage from \"lowdb/adapters/LocalStorage\";\r\nconst adapter = new LocalStorage(\"db\");\r\nconst db = low(adapter);\r\n\r\nexport default function Item({\r\n item,\r\n SetTableShipment,\r\n ShipmentID,\r\n CheckboxList,\r\n CheckboxListIds,\r\n POChaekced,\r\n POChaekcedisabled,\r\n}) {\r\n const [ModelShow, setModelShow] = useState(false);\r\n const [stateItem, setstateItem] = useState();\r\n const [Quantity, setQuantity] = useState(0);\r\n const [Color, setColor] = useState(\"primary\");\r\n\r\n const [Checked, setChecked] = useState(false);\r\n useEffect(() => {\r\n setChecked(CheckboxListIds.includes(item?.Id));\r\n }, [CheckboxListIds]);\r\n\r\n var tableElement = JsNative(\".TableComponent\");\r\n var offset = tableElement.offset();\r\n\r\n useEffect(() => {\r\n item.Qnty = 0;\r\n if (item?.Quantity && item?.Quantity > 0) item.Qnty = item?.Quantity;\r\n else if (item?.ReceivedQuantity && item?.ReceivedQuantity > 0)\r\n item.Qnty = item?.ReceivedQuantity;\r\n\r\n if (item?.PoBar) item.Id = 0;\r\n setQuantity(item?.Qnty);\r\n setstateItem(item);\r\n if (\r\n item?.DamagedQuantity > 0 ||\r\n item?.OverQuantity > 0 ||\r\n item?.ShortQuantity > 0\r\n )\r\n setColor(\"warning\");\r\n else if (item?.UnitCount === 0) {\r\n setColor(\"dark\");\r\n POChaekcedisabled(item?.Id);\r\n }\r\n }, [item]);\r\n\r\n function handleDrag(e) {\r\n const style = \"background: #E5EAEE !important\";\r\n if (offset.top < e.pageY && e.pageY < offset.top + tableElement.height()) {\r\n tableElement.find(\"th\").attr(\"style\", style);\r\n } else {\r\n tableElement.find(\"th\").removeAttr(\"style\");\r\n }\r\n\r\n var tableElement2 = JsNative(\"#TablePalletFixed\");\r\n var offset2 = tableElement2.offset();\r\n if (offset2.top < e.pageY && e.pageY < offset2.top + 100) {\r\n tableElement2.addClass(\"bg-primary text-white\");\r\n } else {\r\n tableElement2.removeClass(\"bg-primary text-white\");\r\n }\r\n }\r\n\r\n function handleStop(e) {\r\n var tableElement2 = JsNative(\"#TablePalletFixed\");\r\n var offset2 = tableElement2.offset();\r\n\r\n if (\r\n (offset.top < e.pageY && e.pageY < offset.top + tableElement.height()) ||\r\n (offset2.top < e.pageY && e.pageY < offset2.top + 100)\r\n ) {\r\n if (stateItem?.Qnty === 0) {\r\n setQuantity(0);\r\n handleSave();\r\n } else {\r\n setModelShow(true);\r\n tableElement.find(\"th\").removeAttr(\"style\");\r\n tableElement2.removeClass(\"bg-primary text-white\");\r\n }\r\n }\r\n }\r\n\r\n function handleSave() {\r\n PostPallet(stateItem?.Id, ShipmentID, +Quantity).then(\r\n ({ status, Message }) => {\r\n if (200 === status) {\r\n Notification(\"success\", \"success : \" + stateItem?.Id);\r\n var thisItem = stateItem;\r\n thisItem.Qnty -= +Quantity;\r\n\r\n setstateItem();\r\n SetTableShipment(thisItem, +Quantity);\r\n setTimeout(() => {\r\n setstateItem(thisItem);\r\n setQuantity(item.Qnty);\r\n }, 1);\r\n } else {\r\n Notification(\"error\", Message?.toString());\r\n }\r\n\r\n if (item.UnitCount === 0 || thisItem.Qnty === 0) {\r\n setColor(\"dark\");\r\n POChaekcedisabled(item?.Id);\r\n }\r\n }\r\n );\r\n }\r\n\r\n function htmlP2(text2) {\r\n return (\r\n <>\r\n {text2}\r\n \r\n );\r\n }\r\n\r\n return (\r\n <>\r\n <>\r\n \r\n \r\n Item {stateItem?.Container}\r\n \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {\r\n var value = e.target?.value ?? \"\";\r\n if (value !== \"\" && value > 0) {\r\n setQuantity(value);\r\n }\r\n }}\r\n />\r\n
    \r\n
    \r\n
    \r\n \r\n {\r\n setModelShow(false);\r\n }}\r\n >\r\n Close\r\n \r\n {\r\n setModelShow(false);\r\n handleSave();\r\n }}\r\n >\r\n Ok\r\n \r\n \r\n
    \r\n {stateItem?.PoBar ? (\r\n <>\r\n
    \r\n
    \r\n\r\n \r\n {\r\n POChaekced(stateItem?.PurchaseOrder, e.target.checked);\r\n }}\r\n inputProps={{\r\n \"aria-label\": \"uncontrolled-checkbox\",\r\n }}\r\n />\r\n Purchase Order : {stateItem?.PurchaseOrder}\r\n \r\n
    \r\n \r\n ) : (\r\n <>\r\n
    \r\n \r\n
    \r\n {\r\n if (stateItem?.Qnty === 0) {\r\n setQuantity(0);\r\n handleSave();\r\n } else setModelShow(true);\r\n }}\r\n >\r\n
    \r\n \r\n {\r\n CheckboxList(e.target.checked, stateItem?.Id);\r\n }}\r\n inputProps={{\r\n \"aria-label\": \"uncontrolled-checkbox\",\r\n }}\r\n />\r\n {htmlP2(stateItem?.Sku ?? \"(Sku Not Found)\")}\r\n
    \r\n
    \r\n {htmlP2(stateItem?.Qnty)}\r\n
    \r\n
    \r\n {htmlP2(stateItem?.UnitCount)}\r\n
    \r\n
    \r\n {htmlP2(stateItem?.Size)}\r\n
    \r\n
    \r\n {htmlP2(stateItem?.Color)}\r\n
    \r\n
    \r\n {htmlP2(stateItem?.Description)}\r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n \r\n )}\r\n \r\n \r\n );\r\n}\r\n\r\nasync function PostPallet(ItemId, PalletId, UnitCount) {\r\n return await fetch(`${window.$apiurl}/pallets/AddItemToPallet`, {\r\n method: \"post\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify({\r\n ItemId: ItemId,\r\n PalletId: PalletId,\r\n Quantity: UnitCount,\r\n }),\r\n }).then(async (response) => {\r\n var msg = response.status !== 200 ? await response.json() : \"\";\r\n var a = { status: response.status, Message: msg?.Message ?? \"\" };\r\n return a;\r\n });\r\n}\r\n","import React, { useEffect, useState } from \"react\";\r\nimport Item from \"./Item\";\r\nimport Draggable from \"react-draggable\";\r\nimport { Spinner } from \"react-bootstrap\";\r\nimport { Notification } from \"../../../../modules/Notification\";\r\nimport low from \"lowdb\";\r\nimport { default as JsNative } from \"jquery\";\r\nimport LocalStorage from \"lowdb/adapters/LocalStorage\";\r\nconst adapter = new LocalStorage(\"db\");\r\nconst db = low(adapter);\r\n\r\nexport default function IndexPalletsList({\r\n SetTableShipment,\r\n DeletRowId,\r\n Pallet,\r\n ReloadPallets,\r\n setSearch,\r\n Search,\r\n}) {\r\n useEffect(() => {\r\n setCheckboxListIds([]);\r\n }, [SetTableShipment]);\r\n\r\n const [Pallets, setPallets] = useState([]);\r\n const [Show, setShow] = useState(false);\r\n\r\n const [CheckboxListIds, setCheckboxListIds] = useState([]);\r\n const [CheckboxDisabled, setCheckboxDisabled] = useState([]);\r\n const [Search2, setSearch2] = useState(\"\");\r\n\r\n useEffect(() => {\r\n if (Pallet?.Id) GetPalletsFunction(Search);\r\n }, [Pallet]);\r\n\r\n async function GetPalletsFunction(search) {\r\n const pallets = await GetItems(Pallet, search);\r\n\r\n if (pallets?.length > 0) {\r\n pallets.forEach((x) => {\r\n x.search =\r\n x?.Sku +\r\n \"|\" +\r\n x?.PurchaseOrder +\r\n \"|\" +\r\n x?.UnitCount +\r\n \"|\" +\r\n x?.Qnty +\r\n \"|\" +\r\n x?.Size +\r\n \"|\" +\r\n x?.Color +\r\n \"|\" +\r\n x?.Description +\r\n \"|\";\r\n });\r\n\r\n var b = pallets?.sort(sortBy((o) => o?.PurchaseOrder));\r\n\r\n var list = [];\r\n var poString = \"\";\r\n b.forEach((x) => {\r\n if (poString !== x?.PurchaseOrder) {\r\n list.push({ ...x, PoBar: true });\r\n poString = x?.PurchaseOrder;\r\n }\r\n list.push({ ...x });\r\n });\r\n\r\n setPallets([]);\r\n setTimeout(() => {\r\n setPallets(list);\r\n }, 1);\r\n\r\n setTimeout(() => {\r\n setShow(true);\r\n }, 100);\r\n }\r\n }\r\n\r\n const sortBy = (fn) => {\r\n const cmp = (a, b) => -(a < b) || +(a > b);\r\n return (a, b) => cmp(fn(a), fn(b));\r\n };\r\n\r\n JsNative(document).scroll(function() {\r\n var element = document.getElementById(\"TableComponent\");\r\n var rect = element?.getBoundingClientRect();\r\n if (rect && 150 > rect.bottom) {\r\n JsNative(\"#TablePalletFixed\").fadeIn();\r\n } else {\r\n JsNative(\"#TablePalletFixed\").fadeOut();\r\n }\r\n });\r\n\r\n useEffect(() => {\r\n if (DeletRowId && DeletRowId !== 0) GetPalletsFunction(Search);\r\n }, [DeletRowId]);\r\n\r\n var tableElement = JsNative(\".TableComponent\");\r\n var offset = tableElement.offset();\r\n\r\n function handleDrag(e) {\r\n const style = \"background: #E5EAEE !important\";\r\n if (offset.top < e.pageY && e.pageY < offset.top + tableElement.height()) {\r\n tableElement.find(\"th\").attr(\"style\", style);\r\n } else {\r\n tableElement.find(\"th\").removeAttr(\"style\");\r\n }\r\n }\r\n\r\n function handleStop(e) {\r\n if (offset.top < e.pageY && e.pageY < offset.top + tableElement.height()) {\r\n PostPallets(CheckboxListIds, Pallet?.Id);\r\n tableElement.find(\"th\").removeAttr(\"style\");\r\n }\r\n }\r\n\r\n function CheckboxList(check, Id) {\r\n var array = CheckboxListIds || [];\r\n var find = array?.findIndex((x) => x === Id);\r\n if (find > -1 && !check) {\r\n array.splice(find, 1);\r\n } else if (find === -1 && check) {\r\n array.push(Id);\r\n }\r\n\r\n setCheckboxListIds([...array]);\r\n }\r\n\r\n async function PostPallets(ItemsId, PalletId) {\r\n return await fetch(`${window.$apiurl}/pallets/AddManyItemsToPallet`, {\r\n method: \"post\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify({\r\n ItemIds: ItemsId,\r\n PalletId: PalletId,\r\n }),\r\n }).then(async (response) => {\r\n if (response.status === 200) {\r\n Notification(\"success\", \"success : \" + ItemsId.join(\", \"));\r\n ItemsId.forEach((x) => {\r\n var a = Pallets.findIndex((y) => x === y?.Id);\r\n SetTableShipment(Pallets[a], Pallets[a].UnitCount);\r\n });\r\n setCheckboxListIds([]);\r\n ReloadPallets();\r\n } else {\r\n var msg = response.status !== 200 ? await response.json() : \"\";\r\n Notification(\"error\", msg?.toString());\r\n }\r\n });\r\n }\r\n\r\n function POChaekced(id, bool) {\r\n var list = [];\r\n Pallets.forEach((x) => {\r\n if (+x?.PurchaseOrder === +id && +x?.Id !== 0 && x?.UnitCount > 0)\r\n list.push(+x?.Id);\r\n });\r\n\r\n if (bool) {\r\n var array = CheckboxListIds?.concat(list ?? []);\r\n var filter = array?.filter(\r\n (e, i) => array.findIndex((a) => a === e) === i\r\n );\r\n setCheckboxListIds((x) => [...filter]);\r\n } else {\r\n var b = CheckboxListIds;\r\n list.forEach((x) => {\r\n b = b.filter((y) => +y !== +x);\r\n });\r\n setCheckboxListIds(b);\r\n }\r\n }\r\n\r\n function POChaekcedisabled(id) {\r\n /* setCheckboxDisabled((x) => [...x,id]); */\r\n }\r\n\r\n return (\r\n <>\r\n
    \r\n
    \r\n {\r\n if (e.keyCode === 13) setSearch2(e.target.value);\r\n }}\r\n onBlur={(e) => {\r\n setSearch2(e.target.value);\r\n }}\r\n />\r\n
    \r\n
    \r\n {\r\n if (e.keyCode === 13) GetPalletsFunction(e.target.value);\r\n }}\r\n onChange={(e) => {\r\n setSearch(e.target.value);\r\n }}\r\n onBlur={(e) => {\r\n GetPalletsFunction(e.target.value);\r\n setSearch(e.target.value);\r\n setCheckboxListIds([]);\r\n }}\r\n />\r\n
    \r\n
    \r\n
    \r\n
    \r\n {CheckboxListIds?.length > 0 && (\r\n \r\n
    \r\n \r\n {htmlP(CheckboxListIds, \"Items Selected\")}\r\n \r\n
    \r\n \r\n )}\r\n
    \r\n
    \r\n {Pallets?.length > 0 ? (\r\n <>\r\n
    \r\n
    \r\n
    \r\n
    \r\n {htmlP2(\"Sku\")}\r\n
    \r\n
    \r\n {htmlP2(\"Carton\")}\r\n
    \r\n
    \r\n {htmlP2(\"Unit Count\")}\r\n
    \r\n
    \r\n {htmlP2(\"Size\")}\r\n
    \r\n
    \r\n {htmlP2(\"Color\")}\r\n
    \r\n
    \r\n {htmlP2(\"Description\")}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {htmlP2(\"Sku\")}\r\n
    \r\n
    \r\n {htmlP2(\"Carton\")}\r\n
    \r\n
    \r\n {htmlP2(\"Unit Count\")}\r\n
    \r\n
    \r\n {htmlP2(\"Size\")}\r\n
    \r\n
    \r\n {htmlP2(\"Color\")}\r\n
    \r\n
    \r\n {htmlP2(\"Description\")}\r\n
    \r\n
    \r\n
    \r\n
    \r\n {Pallets.filter((x) => x?.search?.includes(Search2)).map(\r\n (x, i) => (\r\n \r\n )\r\n )}\r\n \r\n ) : (\r\n \r\n )}\r\n
    \r\n
    \r\n \r\n );\r\n}\r\n\r\nfunction Check(Pallet, params) {\r\n return Pallet[params] ?? \"\";\r\n}\r\nfunction CheckList(Pallet) {\r\n if (Check(Pallet, \"CustomerId\") === \"\" || Check(Pallet, \"ConsigneeId\") === \"\")\r\n return false;\r\n return true;\r\n}\r\n\r\nasync function GetItems(Pallet, search) {\r\n console.log(33333);\r\n console.log(Pallet);\r\n if (!CheckList(Pallet)) return false;\r\n return await fetch(\r\n `${window.$apiurl}/pallets/getitems?customerId=${Check(\r\n Pallet,\r\n \"CustomerId\"\r\n )}&consigneeId=${Check(Pallet, \"ConsigneeId\")}&search=${search ??\r\n \"\"}&isPallet=false`,\r\n {\r\n method: \"get\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n }\r\n )\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then(async (res) => {\r\n return res[1];\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n}\r\n\r\nfunction Nodatafound() {\r\n const [Reload, setReload] = useState(true);\r\n\r\n useEffect(() => {\r\n setTimeout(() => {\r\n setReload(false);\r\n }, 7000);\r\n }, []);\r\n\r\n return (\r\n <>\r\n {!Reload ? (\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n

    \r\n No Items found\r\n

    \r\n
    \r\n
    \r\n
    \r\n ) : (\r\n
    \r\n \r\n Loading...\r\n \r\n
    \r\n )}\r\n \r\n );\r\n}\r\n\r\nfunction htmlP(list, text) {\r\n return (\r\n <>\r\n {text}\r\n {list.map((x) => (\r\n

    \r\n {x}\r\n

    \r\n ))}\r\n \r\n );\r\n}\r\nfunction htmlP2(text) {\r\n return (\r\n <>\r\n \r\n {text}\r\n \r\n \r\n );\r\n}\r\n","import React, { useEffect, useState } from \"react\";\r\nimport TableComponent from \"./TableComponent\";\r\nimport IndexPalletsList from \"./Pallets/IndexPalletsList\";\r\nimport low from \"lowdb\";\r\nimport { Notification } from \"../../../modules/Notification\";\r\nimport LocalStorage from \"lowdb/adapters/LocalStorage\";\r\nconst adapter = new LocalStorage(\"db\");\r\nconst db = low(adapter);\r\n\r\nexport default function Index({ PalletsIDStat = [], setPallet }) {\r\n const [Table, setTable] = useState([]);\r\n const [DeletRowId, setDeletRowId] = useState(0);\r\n const [PalletID, setPalletID] = useState({});\r\n const [ReloadPalletsList, setReloadPalletsList] = useState(true);\r\n\r\n function ReloadPallets() {\r\n setReloadPalletsList(false);\r\n setTimeout(() => {\r\n setReloadPalletsList(true);\r\n }, 1);\r\n }\r\n\r\n const [Search, setSearch] = useState(\"\");\r\n\r\n useEffect(() => {\r\n setPalletID(PalletsIDStat[0]);\r\n if (PalletsIDStat[0]?.Id) GetItemsForPallet(PalletsIDStat[0].Id, setTable);\r\n }, [PalletsIDStat]);\r\n\r\n function SetTableShipment(row, Quantity) {\r\n var table = Table;\r\n var a = table.findIndex((x) => x?.Id === row?.Id);\r\n if (a > -1) {\r\n table[a].Quantity += Quantity;\r\n setTable([...table]);\r\n } else {\r\n row.Quantity = Quantity;\r\n setTable((x) => [...x, row]);\r\n }\r\n }\r\n\r\n function DeleteShipmentRow(id) {\r\n RemovePallet(id, PalletID.Id).then(({ status, Message }) => {\r\n if (200 === status) {\r\n Notification(\"success\", \"success : \" + id);\r\n var a = Table.filter((x) => x?.Id !== id);\r\n var b = Table.find((x) => x?.Id === id);\r\n setTable([]);\r\n setDeletRowId(0);\r\n setTimeout(() => {\r\n setTable(a);\r\n setDeletRowId(b);\r\n }, 1);\r\n } else {\r\n Notification(\"error\", Message?.toString());\r\n }\r\n });\r\n }\r\n\r\n return (\r\n <>\r\n \r\n\r\n {ReloadPalletsList && PalletID?.Status !== \"Closed\" && (\r\n \r\n )}\r\n {PalletID?.Status === \"Closed\" && }\r\n \r\n );\r\n}\r\nasync function RemovePallet(PalletId, ShipmentID) {\r\n return await fetch(`${window.$apiurl}/pallets/DeleteItemFromPallet`, {\r\n method: \"post\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify({\r\n PalletId: ShipmentID,\r\n ItemId: PalletId,\r\n }),\r\n }).then(async (response) => {\r\n var msg = response.status !== 200 ? await response.json() : \"\";\r\n var a = { status: response.status, Message: msg?.Message ?? \"\" };\r\n return a;\r\n });\r\n}\r\n\r\nasync function GetItemsForPallet(id, setTable) {\r\n return await fetch(`${window.$apiurl}/pallets/${id}`, {\r\n method: \"get\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n var a = res[1]?.pallet.ItemsList ?? [];\r\n a.forEach((x) => {\r\n x.Id = x.ItemId;\r\n });\r\n setTable(a);\r\n });\r\n}\r\n\r\nfunction Nodatafound() {\r\n return (\r\n <>\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n

    \r\n Pallet Is Closed\r\n

    \r\n
    \r\n
    \r\n
    \r\n \r\n );\r\n}\r\n","import React, { useEffect, useState } from \"react\";\r\nimport Index from \"./AssigntoPallet/Index.js\";\r\nimport { default as JsNative } from \"jquery\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { Notification } from \"../../modules/Notification\";\r\nimport Button from \"@material-ui/core/Button\";\r\nimport low from \"lowdb\";\r\nimport Select from \"react-select\";\r\nimport LocalStorage from \"lowdb/adapters/LocalStorage\";\r\nimport { Helmet } from \"react-helmet\";\r\nimport DynamicReport from \"../DynamicReport/DyanmicReport.js\";\r\nimport { PalletManifestLabel } from \"../../modules/eMPower/pages/PalletsManagmentBeta/PalletManifestLabel.js\";\r\n\r\nconst adapter = new LocalStorage(\"db\");\r\nconst db = low(adapter);\r\n\r\nconst mystyleTabs = {\r\n fontSize: \"13px\",\r\n};\r\n\r\nexport function AssigntoPallet() {\r\n const [PalletsIDStat, setPalletsStat] = useState([]);\r\n const [Pallets, setPallets] = useState([]);\r\n const [ShipmentNewModel, setShipmentNewModelt] = useState(false);\r\n const [showPalletManifestLabel, setPalletManifestLabel] = useState(false);\r\n const [rowItem, setRow] = useState(null);\r\n useEffect(() => {\r\n GetPallets();\r\n window.GetAllApi = undefined;\r\n }, []);\r\n\r\n async function GetPallets() {\r\n return await fetch(`${window.$apiurl}/Pallets?IsShipped=false`, {\r\n method: \"get\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then(async (res) => {\r\n return setPallets(res[1]?.pallets);\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n\r\n function setPallet() {\r\n var obj = PalletsIDStat[0];\r\n obj.CustomerId = JsNative('[name=\"CustomerId\"]').val();\r\n obj.ConsigneeId = JsNative('[name=\"ConsigneeId\"]').val();\r\n obj.ShipperId = JsNative('[name=\"ShipperId\"]').val();\r\n obj.WarehouseId = JsNative('[name=\"WarehouseId\"]').val();\r\n obj.LocationId = JsNative('[name=\"LocationId\"]').val();\r\n\r\n setPalletsStat([]);\r\n setTimeout(() => {\r\n setPalletsStat([obj]);\r\n }, 1);\r\n }\r\n\r\n return (\r\n <>\r\n \r\n eMPower | Assign to Pallet\r\n \r\n \r\n\r\n \r\n \r\n New Pallet\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n {\r\n setShipmentNewModelt(false);\r\n }}\r\n >\r\n Close\r\n \r\n {\r\n setShipmentNewModelt(false);\r\n PostNewPallet().then((e) => {\r\n if (e[0] === 200) {\r\n Notification(\r\n \"success\",\r\n \"Create New Pallet ID : \" + e[1]?.palletVm?.Id\r\n );\r\n setShipmentNewModelt(false);\r\n GetPallets();\r\n setPalletsStat([]);\r\n setTimeout(() => {\r\n setPalletsStat([e[1]?.palletVm]);\r\n }, 1);\r\n }\r\n });\r\n }}\r\n >\r\n Create\r\n \r\n \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n {\r\n setShipmentNewModelt(true);\r\n }}\r\n >\r\n New Pallet\r\n \r\n
    \r\n
    \r\n {\r\n PostClonePallet(PalletsIDStat[0].Id).then((e) => {\r\n if (e[0] === 200) {\r\n Notification(\r\n \"success\",\r\n \"Clone New Pallet ID : \" + e[1]?.palletVm?.Id\r\n );\r\n setShipmentNewModelt(false);\r\n GetPallets();\r\n setPalletsStat([]);\r\n setTimeout(() => {\r\n setPalletsStat([e[1]?.palletVm]);\r\n }, 1);\r\n }\r\n });\r\n }}\r\n >\r\n Clone\r\n \r\n
    \r\n {PalletsIDStat[0]?.Status !== undefined &&\r\n PalletsIDStat[0]?.Status !== \"Closed\" && (\r\n
    \r\n {\r\n PosttoClosed(\r\n PalletsIDStat[0],\r\n setPalletsStat,\r\n Pallets,\r\n setPallets,\r\n setPalletManifestLabel,\r\n showPalletManifestLabel,\r\n setRow,\r\n rowItem\r\n );\r\n }}\r\n >\r\n Close & GO Manifest\r\n \r\n
    \r\n )}\r\n\r\n {PalletsIDStat[0]?.Status !== undefined &&\r\n PalletsIDStat[0]?.Status === \"Closed\" && (\r\n
    \r\n {\r\n setRow(PalletsIDStat[0]?.Id);\r\n setPalletManifestLabel(true);\r\n }}\r\n >\r\n Manifest\r\n \r\n
    \r\n )}\r\n\r\n
    \r\n x?.IsClosed === false)\r\n .map((x) => {\r\n return {\r\n value: x?.Id,\r\n label: x?.Id,\r\n };\r\n })}\r\n onChange={async (newValue) => {\r\n var i = newValue?.value;\r\n var item = Pallets.find((x) => x?.Id === i);\r\n setPalletsStat([]);\r\n setTimeout(() => {\r\n if (item) setPalletsStat([item]);\r\n }, 1);\r\n }}\r\n />\r\n
    \r\n
    \r\n
    \r\n
    \r\n {PalletsIDStat?.length > 0 ? (\r\n \r\n ) : (\r\n \r\n )}\r\n
    \r\n
    \r\n }\r\n />\r\n \r\n );\r\n}\r\n\r\nfunction Nodatafound() {\r\n return (\r\n
    \r\n
    \r\n

    \r\n \r\n No data found\r\n

    \r\n
    \r\n
    \r\n );\r\n}\r\n\r\nasync function PostClonePallet(Id) {\r\n return await fetch(`${window.$apiurl}/pallets/clone/${Id}`, {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n }).then(async (response) => {\r\n const statusCode = response.status;\r\n const data = statusCode === 200 ? await response.json() : \"\";\r\n return Promise.all([statusCode, data]);\r\n });\r\n}\r\n\r\nasync function PostNewPallet() {\r\n return await fetch(`${window.$apiurl}/pallets`, {\r\n method: \"post\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify({\r\n Email: \"\",\r\n }),\r\n }).then(async (response) => {\r\n const statusCode = response.status;\r\n const data = statusCode === 200 ? await response.json() : \"\";\r\n return Promise.all([statusCode, data]);\r\n });\r\n}\r\n\r\nasync function PosttoClosed(\r\n PalletsIDStat,\r\n setPalletsStat,\r\n Pallets,\r\n setPallets,\r\n setPalletManifestLabel,\r\n showPalletManifestLabel,\r\n setRow,\r\n rowItem\r\n) {\r\n return await fetch(`${window.$apiurl}/pallets/UpdateSingleStatus`, {\r\n method: \"post\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify({\r\n Id: PalletsIDStat?.Id,\r\n StatusId: 84,\r\n }),\r\n }).then(async (response) => {\r\n const statusCode = response.status;\r\n if (statusCode === 200) {\r\n Notification(\"success\", \"success\");\r\n //window.open(`/PalletManifest/` + PalletsIDStat?.Id, \"_blank\").focus();\r\n setRow(PalletsIDStat?.Id);\r\n setPalletManifestLabel(true);\r\n setPalletsStat([]);\r\n setTimeout(() => {\r\n PalletsIDStat.Status = \"Closed\";\r\n setPalletsStat([PalletsIDStat]);\r\n\r\n var a = Pallets.filter((x) => x.Id !== PalletsIDStat?.Id);\r\n setPallets(a ?? []);\r\n }, 1);\r\n } else {\r\n const data = await response.json();\r\n Notification(\"error\", data.Message);\r\n }\r\n });\r\n}\r\n","import React, { useState, useEffect } from \"react\";\r\nimport { makeStyles } from \"@material-ui/core/styles\";\r\nimport Table from \"@material-ui/core/Table\";\r\nimport TableBody from \"@material-ui/core/TableBody\";\r\nimport TableCell from \"@material-ui/core/TableCell\";\r\nimport TableHead from \"@material-ui/core/TableHead\";\r\nimport Paper from \"@material-ui/core/Paper\";\r\nimport { Spinner } from \"react-bootstrap\";\r\nimport TableRow from \"@material-ui/core/TableRow\";\r\nimport { AssignToOutboundHeaderForm } from \"../../../modules/eMPower/pages/Transload/FindOrders/product-Containers/remark-edit-dialog/AssignToOutboundHeaderForm\";\r\nimport { Notification } from \"../../../modules/Notification\";\r\nimport low from \"lowdb\";\r\nimport LocalStorage from \"lowdb/adapters/LocalStorage\";\r\nconst adapter = new LocalStorage(\"db\");\r\nconst db = low(adapter);\r\n\r\nexport default function TableComponent({\r\n list = [],\r\n DeleteShipmentRow,\r\n ShipmentID,\r\n ReloadPallets,\r\n IsClosedFunction,\r\n GetParms,\r\n isClosed,\r\n}) {\r\n const useStyles = makeStyles((theme) => ({\r\n root: {\r\n width: \"100%\",\r\n },\r\n paper: {\r\n marginTop: theme.spacing(1),\r\n width: \"100%\",\r\n overflowX: \"auto\",\r\n marginBottom: theme.spacing(2),\r\n },\r\n table: {\r\n minWidth: 650,\r\n },\r\n }));\r\n const classes = useStyles();\r\n\r\n return (\r\n
    \r\n
    \r\n Shipment ID\r\n {ShipmentID}\r\n
    \r\n \r\n
    \r\n
    \r\n Items Count : {list.length}\r\n {list.length > 0 ? (\r\n \r\n
    \r\n \r\n \r\n \r\n \r\n PO#\r\n \r\n \r\n UPC\r\n \r\n \r\n SKU\r\n \r\n \r\n Cartons\r\n \r\n \r\n Description\r\n \r\n \r\n Color\r\n \r\n \r\n Size\r\n \r\n {!isClosed && (\r\n \r\n Action\r\n \r\n )}\r\n \r\n \r\n \r\n {(list ?? []).map((item, index) => (\r\n \r\n ))}\r\n \r\n \r\n \r\n \r\n Total\r\n \r\n\r\n \r\n {list.reduce((a, b) => +a + +b.Quantity, 0)}\r\n \r\n \r\n \r\n \r\n {!isClosed && }\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n ) : (\r\n \r\n )}{\" \"}\r\n
    \r\n );\r\n}\r\n\r\nconst TableTrFunction = ({ item, DeleteShipmentRow, isClosed }) => {\r\n return (\r\n \r\n {item.IdShip}\r\n {item.Upc}\r\n {item.Sku}\r\n {item.Quantity}\r\n {item.Description}\r\n {item.Color}\r\n {item.Size}\r\n {!isClosed && (\r\n \r\n {\r\n DeleteShipmentRow(item.Id, item.IdShip);\r\n }}\r\n />\r\n \r\n )}\r\n \r\n );\r\n};\r\n\r\nfunction AssignToOutboundHeader({\r\n ShipmentID,\r\n ReloadPallets,\r\n IsClosedFunction,\r\n GetParms,\r\n}) {\r\n const [Consignees, setConsignees] = useState([]);\r\n const [Vendors, setVendors] = useState([]);\r\n const [Shippers, setShippers] = useState([]);\r\n const [Customers, setCustomers] = useState([]);\r\n const [Services, setServices] = useState([]);\r\n const [statSHipmentId, setstatSHipmentId] = useState([]);\r\n const [statSHipment, setstatSHipment] = useState([]);\r\n const [LineItems, setLineItems] = useState([]);\r\n const [FreightCharges, setFreightCharges] = useState([]);\r\n const [fetchContainersAsync, setfetchContainersAsync] = useState([]);\r\n const [Warehouse, setWarehouse] = useState([]);\r\n const [TrackingDevices, setTrackingDevices] = useState([]);\r\n\r\n useEffect(() => {\r\n GetShipmentId(ShipmentID).then((e) => {\r\n if (e?.length > 0 && e[0] === 200) {\r\n setConsignees(e[1]?.Consignees ?? []);\r\n setCustomers(e[1]?.Customers ?? []);\r\n setVendors(e[1]?.Vendors ?? []);\r\n setShippers(e[1]?.Shippers ?? []);\r\n setServices(e[1]?.Services ?? []);\r\n setTrackingDevices(e[1]?.TrackingDevices ?? []);\r\n setFreightCharges(e[1]?.FreightCharges ?? []);\r\n\r\n e[1].Shipment.Id = ShipmentID;\r\n IsClosedFunction(e[1]?.Shipment?.IsClosed);\r\n setstatSHipment([e[1]?.Shipment] ?? []);\r\n\r\n (e[1]?.Items ?? []).forEach((element) => {\r\n element.IdShip = element.Id;\r\n element.Id = element.ItemId;\r\n });\r\n\r\n GetParms({\r\n ShipmentId: ShipmentID,\r\n IsClosed: e[1]?.Shipment?.IsClosed,\r\n ConsigneeId: e[1]?.Shipment?.ConsigneeId,\r\n CustomerId: e[1]?.Shipment?.CustomerId,\r\n Items: e[1]?.Items,\r\n });\r\n }\r\n });\r\n }, []);\r\n\r\n return (\r\n \r\n );\r\n}\r\n\r\nasync function GetShipmentId(id) {\r\n return await fetch(\r\n `${window.$apiurl}/TransloadShipment/GetShipmentItems?shipmentId=${id}`,\r\n {\r\n method: \"get\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n }\r\n )\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then(async (res) => {\r\n return res;\r\n })\r\n .catch((error) => {\r\n Notification(\"error\", \"Shipment ID : \" + id + \" Not Found\");\r\n console.error(error);\r\n return undefined;\r\n });\r\n}\r\n\r\nfunction Nodatafound({ PalletID }) {\r\n const [Reload, setReload] = useState(true);\r\n\r\n useEffect(() => {\r\n setTimeout(() => {\r\n setReload(false);\r\n }, 2000);\r\n }, []);\r\n\r\n return (\r\n <>\r\n {!Reload ? (\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n

    \r\n Drop Items In this Shipment {PalletID}\r\n

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n ) : (\r\n
    \r\n \r\n Loading...\r\n \r\n
    \r\n )}\r\n \r\n );\r\n}\r\n","import React, { useState, useEffect } from \"react\";\r\nimport Draggable from \"react-draggable\";\r\nimport Button from \"@material-ui/core/Button\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { Notification } from \"../../../../modules/Notification\";\r\nimport { toAbsoluteUrl } from \"../../../../../_metronic/_helpers\";\r\nimport Checkbox from \"@material-ui/core/Checkbox\";\r\nimport { default as JsNative } from \"jquery\";\r\nimport low from \"lowdb\";\r\nimport SVG from \"react-inlinesvg\";\r\nimport { OverlayTrigger, Tooltip } from \"react-bootstrap\";\r\nimport LocalStorage from \"lowdb/adapters/LocalStorage\";\r\nconst adapter = new LocalStorage(\"db\");\r\nconst db = low(adapter);\r\n\r\nexport default function Item({\r\n item,\r\n SetTableShipment,\r\n ShipmentID,\r\n CheckboxList,\r\n CheckboxListIds,\r\n POChaekced,\r\n}) {\r\n const [ModelShow, setModelShow] = useState(false);\r\n const [stateItem, setstateItem] = useState();\r\n const [Quantity, setQuantity] = useState(0);\r\n const [Color, setColor] = useState(\"primary\");\r\n\r\n const [Checked, setChecked] = useState(false);\r\n useEffect(() => {\r\n setChecked(CheckboxListIds.includes(item?.Id));\r\n }, [CheckboxListIds]);\r\n\r\n var tableElement = JsNative(\".TableComponent\");\r\n var offset = tableElement.offset();\r\n\r\n useEffect(() => {\r\n if (item?.PoBar) item.Id = 0;\r\n setQuantity(item?.LeftQuantity);\r\n setstateItem(item);\r\n if (\r\n item?.DamagedQuantity > 0 ||\r\n item?.OverQuantity > 0 ||\r\n item?.ShortQuantity > 0\r\n )\r\n setColor(\"warning\");\r\n else if (item.LeftQuantity === 0) setColor(\"dark\");\r\n }, [item]);\r\n\r\n function handleDrag(e) {\r\n const style = \"background: #E5EAEE !important\";\r\n if (offset.top < e.pageY && e.pageY < offset.top + tableElement.height())\r\n tableElement.find(\"th\").attr(\"style\", style);\r\n else {\r\n tableElement.find(\"th\").removeAttr(\"style\");\r\n }\r\n }\r\n\r\n function handleStop(e) {\r\n if (offset.top < e.pageY && e.pageY < offset.top + tableElement.height()) {\r\n setModelShow(true);\r\n tableElement.find(\"th\").removeAttr(\"style\");\r\n }\r\n }\r\n\r\n function handleSave() {\r\n PostPallet(stateItem?.Id, ShipmentID, +Quantity).then(\r\n ({ status, Message, Id }) => {\r\n if (200 === status && Id) {\r\n Notification(\"success\", \"success : \" + stateItem?.Id);\r\n var thisItem = stateItem;\r\n thisItem.LeftQuantity -= +Quantity;\r\n thisItem.IdShip = Id;\r\n setstateItem();\r\n SetTableShipment(thisItem, +Quantity);\r\n setTimeout(() => {\r\n setstateItem(thisItem);\r\n setQuantity(item.LeftQuantity);\r\n }, 1);\r\n } else {\r\n Notification(\"error\", Message?.toString());\r\n }\r\n\r\n if (item.LeftQuantity === 0) setColor(\"dark\");\r\n }\r\n );\r\n }\r\n\r\n function htmlP2(text2) {\r\n return (\r\n <>\r\n {text2}\r\n \r\n );\r\n }\r\n\r\n return (\r\n <>\r\n <>\r\n \r\n \r\n Item {stateItem?.Container}\r\n \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {\r\n var value = e.target?.value ?? \"\";\r\n if (value !== \"\" && value > 0) {\r\n setQuantity(value);\r\n }\r\n }}\r\n />\r\n
    \r\n
    \r\n
    \r\n \r\n {\r\n setModelShow(false);\r\n }}\r\n >\r\n Close\r\n \r\n {\r\n setModelShow(false);\r\n handleSave();\r\n }}\r\n >\r\n Ok\r\n \r\n \r\n
    \r\n {stateItem?.PoBar ? (\r\n <>\r\n
    \r\n
    \r\n\r\n \r\n {\r\n POChaekced(stateItem?.PurchaseOrder, e.target.checked);\r\n }}\r\n inputProps={{\r\n \"aria-label\": \"uncontrolled-checkbox\",\r\n }}\r\n />\r\n Purchase Order : {stateItem?.PurchaseOrder}\r\n \r\n
    \r\n \r\n ) : (\r\n <>\r\n
    \r\n \r\n
    \r\n {\r\n setModelShow(true);\r\n }}\r\n >\r\n
    \r\n \r\n {\r\n CheckboxList(e.target.checked, stateItem?.Id);\r\n }}\r\n inputProps={{\r\n \"aria-label\": \"uncontrolled-checkbox\",\r\n }}\r\n />\r\n {htmlP2(stateItem?.Sku ?? \"(Sku Not Found)\")}\r\n
    \r\n
    \r\n {htmlP2(stateItem?.LeftQuantity)}\r\n
    \r\n
    \r\n {htmlP2(stateItem?.Size)}\r\n
    \r\n
    \r\n {htmlP2(stateItem?.Color)}\r\n
    \r\n
    \r\n {stateItem?.Description}}\r\n >\r\n \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n \r\n )}\r\n \r\n \r\n );\r\n}\r\n\r\nasync function PostPallet(ItemId, PalletId, UnitCount) {\r\n return await fetch(`${window.$apiurl}/transload/shipment/item`, {\r\n method: \"post\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify({\r\n ReceiptItemId: ItemId,\r\n ShipmentId: PalletId,\r\n Quantity: UnitCount,\r\n }),\r\n }).then(async (response) => {\r\n var msg = await response.json();\r\n var a = {\r\n status: response.status,\r\n Message: msg?.Message ?? \"\",\r\n Id: msg?.Id,\r\n };\r\n return a;\r\n });\r\n}\r\n","import React, { useEffect, useState } from \"react\";\r\nimport Item from \"./Item\";\r\nimport Draggable from \"react-draggable\";\r\nimport { Spinner } from \"react-bootstrap\";\r\nimport { Notification } from \"../../../../modules/Notification\";\r\nimport low from \"lowdb\";\r\nimport { default as JsNative } from \"jquery\";\r\nimport LocalStorage from \"lowdb/adapters/LocalStorage\";\r\nconst adapter = new LocalStorage(\"db\");\r\nconst db = low(adapter);\r\n\r\nexport default function IndexPalletsList({\r\n SetTableShipment,\r\n DeletRowId,\r\n Shipment,\r\n ReloadPallets,\r\n setSearch,\r\n Search,\r\n}) {\r\n const [Pallets, setPallets] = useState([]);\r\n const [Show, setShow] = useState(false);\r\n\r\n const [CheckboxListIds, setCheckboxListIds] = useState([]);\r\n const [Search2, setSearch2] = useState(\"\");\r\n\r\n useEffect(() => {\r\n if (Shipment.ShipmentId) GetPalletsFunction(Search);\r\n }, [Shipment.ShipmentId]);\r\n\r\n async function GetPalletsFunction(search) {\r\n const pallets = await GetItems(Shipment, search);\r\n\r\n if (pallets?.length > 0) {\r\n pallets.forEach((x) => {\r\n x.search =\r\n x?.PurchaseOrder +\r\n \"|\" +\r\n x?.UnitCount +\r\n \"|\" +\r\n x?.Size +\r\n \"|\" +\r\n x?.Color +\r\n \"|\" +\r\n x?.Description +\r\n \"|\";\r\n });\r\n\r\n var b = pallets?.sort(sortBy((o) => o?.PurchaseOrder));\r\n\r\n var list = [];\r\n var poString = \"\";\r\n b.forEach((x) => {\r\n if (poString !== x?.PurchaseOrder) {\r\n list.push({ ...x, PoBar: true });\r\n poString = x?.PurchaseOrder;\r\n }\r\n list.push({ ...x });\r\n });\r\n\r\n setPallets([]);\r\n setTimeout(() => {\r\n setPallets(list);\r\n }, 1);\r\n\r\n setTimeout(() => {\r\n setShow(true);\r\n }, 100);\r\n }\r\n }\r\n\r\n const sortBy = (fn) => {\r\n const cmp = (a, b) => -(a < b) || +(a > b);\r\n return (a, b) => cmp(fn(a), fn(b));\r\n };\r\n\r\n JsNative(document).scroll(function() {\r\n var element = document.getElementById(\"TableComponent\");\r\n var rect = element?.getBoundingClientRect();\r\n if (rect && 150 > rect.bottom) {\r\n JsNative(\"#TablePalletFixed\").fadeIn();\r\n } else {\r\n JsNative(\"#TablePalletFixed\").fadeOut();\r\n }\r\n });\r\n\r\n useEffect(() => {\r\n if (DeletRowId && DeletRowId !== 0) GetPalletsFunction(Search);\r\n }, [DeletRowId]);\r\n\r\n var tableElement = JsNative(\".TableComponent\");\r\n var offset = tableElement.offset();\r\n\r\n function handleDrag(e) {\r\n const style = \"background: #E5EAEE !important\";\r\n if (offset.top < e.pageY && e.pageY < offset.top + tableElement.height()) {\r\n tableElement.find(\"th\").attr(\"style\", style);\r\n } else {\r\n tableElement.find(\"th\").removeAttr(\"style\");\r\n }\r\n }\r\n\r\n function handleStop(e) {\r\n if (offset.top < e.pageY && e.pageY < offset.top + tableElement.height()) {\r\n PostPallets(CheckboxListIds, Shipment.ShipmentId);\r\n tableElement.find(\"th\").removeAttr(\"style\");\r\n }\r\n }\r\n\r\n function CheckboxList(check, Id) {\r\n var array = CheckboxListIds || [];\r\n var find = array?.findIndex((x) => x === Id);\r\n if (find > -1 && !check) {\r\n array.splice(find, 1);\r\n } else if (find === -1 && check) {\r\n array.push(Id);\r\n }\r\n\r\n setCheckboxListIds([...array]);\r\n }\r\n\r\n async function PostPallets(ItemsId, PalletId) {\r\n return await fetch(`${window.$apiurl}/transload/receipt/shipitems`, {\r\n method: \"post\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify({\r\n Items: ItemsId,\r\n ShipmentId: PalletId,\r\n }),\r\n }).then(async (response) => {\r\n if (response.status === 200) {\r\n Notification(\"success\", \"success : \" + ItemsId.join(\", \"));\r\n ItemsId.forEach((x) => {\r\n var a = Pallets.findIndex((y) => x === y.Id);\r\n SetTableShipment(Pallets[a], Pallets[a].UnitCount);\r\n });\r\n setCheckboxListIds([]);\r\n ReloadPallets();\r\n } else {\r\n var msg = response.status !== 200 ? await response.json() : \"\";\r\n Notification(\"error\", msg?.toString());\r\n }\r\n });\r\n }\r\n\r\n function POChaekced(id, bool) {\r\n var list = [];\r\n Pallets.forEach((x) => {\r\n if (+x?.PurchaseOrder === +id && +x?.Id !== 0) list.push(+x?.Id);\r\n });\r\n\r\n if (bool) {\r\n setCheckboxListIds((x) => [...x, ...list]);\r\n } else {\r\n var b = CheckboxListIds;\r\n list.forEach((x) => {\r\n b = b.filter((y) => +y !== +x);\r\n });\r\n setCheckboxListIds(b);\r\n }\r\n }\r\n return (\r\n <>\r\n
    \r\n
    \r\n {\r\n if (e.keyCode === 13) setSearch2(e.target.value);\r\n }}\r\n onBlur={(e) => {\r\n setSearch2(e.target.value);\r\n }}\r\n />\r\n
    \r\n
    \r\n {\r\n if (e.keyCode === 13) GetPalletsFunction(e.target.value);\r\n }}\r\n onChange={(e) => {\r\n setSearch(e.target.value);\r\n }}\r\n onBlur={(e) => {\r\n GetPalletsFunction(e.target.value);\r\n setSearch(e.target.value);\r\n setCheckboxListIds([]);\r\n }}\r\n />\r\n
    \r\n
    \r\n
    \r\n
    \r\n {CheckboxListIds?.length > 0 && (\r\n \r\n
    \r\n \r\n {htmlP(CheckboxListIds, \"Items Selected\")}\r\n \r\n
    \r\n \r\n )}\r\n
    \r\n
    \r\n {Pallets?.length > 0 ? (\r\n <>\r\n
    \r\n
    \r\n
    \r\n
    \r\n {htmlP2(\"Sku\")}\r\n
    \r\n
    \r\n {htmlP2(\"Qty\")}\r\n
    \r\n
    \r\n {htmlP2(\"Size\")}\r\n
    \r\n
    \r\n {htmlP2(\"Color\")}\r\n
    \r\n
    \r\n {htmlP2(\"Description\")}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {htmlP2(\"Sku\")}\r\n
    \r\n
    \r\n {htmlP2(\"Qty\")}\r\n
    \r\n
    \r\n {htmlP2(\"Size\")}\r\n
    \r\n
    \r\n {htmlP2(\"Color\")}\r\n
    \r\n
    \r\n {htmlP2(\"Description\")}\r\n
    \r\n
    \r\n
    \r\n
    \r\n {Pallets.filter((x) => x?.search?.includes(Search2)).map(\r\n (x, i) => (\r\n \r\n )\r\n )}\r\n \r\n ) : (\r\n \r\n )}\r\n
    \r\n
    \r\n \r\n );\r\n}\r\n\r\nfunction Check(Shipment, params) {\r\n return Shipment[params] ?? \"\";\r\n}\r\nfunction CheckList(Shipment) {\r\n if (\r\n Check(Shipment, \"CustomerId\") === \"\" ||\r\n Check(Shipment, \"ConsigneeId\") === \"\"\r\n )\r\n return false;\r\n return true;\r\n}\r\n\r\nasync function GetItems(Shipment, search) {\r\n if (!CheckList(Shipment)) return false;\r\n return await fetch(\r\n `${window.$apiurl}/transloadShipment/getItems?customerId=${Check(\r\n Shipment,\r\n \"CustomerId\"\r\n )}&consigneeId=${Check(Shipment, \"ConsigneeId\")}&search=${search ?? \"\"}`,\r\n {\r\n method: \"get\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n }\r\n )\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then(async (res) => {\r\n return res[1];\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n}\r\n\r\nfunction Nodatafound() {\r\n const [Reload, setReload] = useState(true);\r\n\r\n useEffect(() => {\r\n setTimeout(() => {\r\n setReload(false);\r\n }, 7000);\r\n }, []);\r\n\r\n return (\r\n <>\r\n {!Reload ? (\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n

    \r\n No Items found\r\n

    \r\n
    \r\n
    \r\n
    \r\n ) : (\r\n
    \r\n \r\n Loading...\r\n \r\n
    \r\n )}\r\n \r\n );\r\n}\r\n\r\nfunction htmlP(list, text) {\r\n return (\r\n <>\r\n {text}\r\n {list.map((x) => (\r\n

    \r\n {x}\r\n

    \r\n ))}\r\n \r\n );\r\n}\r\nfunction htmlP2(text) {\r\n return (\r\n <>\r\n \r\n {text}\r\n \r\n \r\n );\r\n}\r\n","import React, { useEffect, useState } from \"react\";\r\nimport TableComponent from \"./TableComponent\";\r\nimport { Notification } from \"../../../modules/Notification\";\r\nimport IndexPalletsList from \"./Pallets/IndexPalletsList\";\r\nimport low from \"lowdb\";\r\nimport LocalStorage from \"lowdb/adapters/LocalStorage\";\r\nconst adapter = new LocalStorage(\"db\");\r\nconst db = low(adapter);\r\n\r\nexport default function Index({\r\n iShipmentsID = [],\r\n IsClosedFunction,\r\n IsClosed,\r\n}) {\r\n const [Table, setTable] = useState([]);\r\n const [DeletRowId, setDeletRowId] = useState(0);\r\n const [ShipmentsID, setShipmentsID] = useState(iShipmentsID);\r\n const [ReloadPalletsList, setReloadPalletsList] = useState(true);\r\n const [Search, setSearch] = useState(\"\");\r\n const [params, setparams] = useState();\r\n\r\n function ReloadPallets() {\r\n setReloadPalletsList(false);\r\n setTimeout(() => {\r\n setReloadPalletsList(true);\r\n }, 1);\r\n }\r\n\r\n useEffect(() => {\r\n setShipmentsID(iShipmentsID);\r\n }, [iShipmentsID]);\r\n\r\n function SetTableShipment(row, Quantity) {\r\n var table = Table;\r\n var a = table.findIndex((x) => x?.Id === row?.Id);\r\n if (a > -1) {\r\n table[a].Quantity += Quantity;\r\n setTable([]);\r\n setTimeout(() => {\r\n setTable(table);\r\n }, 1);\r\n } else {\r\n row.Quantity = Quantity;\r\n setTable((x) => [...x, row]);\r\n }\r\n }\r\n\r\n function DeleteShipmentRow(id, IdShip) {\r\n RemovePallet(IdShip).then(({ status, Message }) => {\r\n if (200 === status) {\r\n Notification(\"success\", \"success : \" + id);\r\n var a = Table.filter((x) => x?.Id !== id);\r\n var b = Table.find((x) => x?.Id === id);\r\n setTable([]);\r\n setDeletRowId(0);\r\n setTimeout(() => {\r\n setTable(a);\r\n setDeletRowId(b);\r\n }, 1);\r\n } else {\r\n Notification(\"error\", Message?.toString());\r\n }\r\n });\r\n }\r\n\r\n useEffect(() => {\r\n if (params?.Items?.length > 0) setTable(params?.Items);\r\n }, [params?.Items]);\r\n\r\n function GetParms(params) {\r\n setparams(params);\r\n }\r\n\r\n return (\r\n <>\r\n {ShipmentsID.map((x, i) => (\r\n \r\n ))}\r\n\r\n {ShipmentsID.length > 0 &&\r\n ReloadPalletsList &&\r\n !IsClosed &&\r\n params?.ShipmentId && (\r\n \r\n )}\r\n {IsClosed && }\r\n \r\n );\r\n}\r\nasync function GetPalletsForShipments(id, setTable) {\r\n return await fetch(`${window.$apiurl}/pallets/getpalletbyshipment/${id}`, {\r\n method: \"get\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n setTable(res[1]?.pallets ?? []);\r\n });\r\n}\r\nasync function RemovePallet(id) {\r\n return await fetch(\r\n `${window.$apiurl}/TransloadWarehouse/DeleteShipItem/${id}`,\r\n {\r\n method: \"delete\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n }\r\n ).then(async (response) => {\r\n var msg = response.status !== 200 ? await response.json() : \"\";\r\n var a = { status: response.status, Message: msg?.Message ?? \"\" };\r\n return a;\r\n });\r\n}\r\n\r\nfunction Nodatafound() {\r\n return (\r\n <>\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n

    \r\n Shipment Is Closed\r\n

    \r\n
    \r\n
    \r\n
    \r\n \r\n );\r\n}\r\n","import React, { useEffect, useState } from \"react\";\r\nimport Index from \"./AssigntoOutboundV2/Index\";\r\nimport $ from \"jquery\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { CreatableSelect3 } from \"../../../_metronic/_partials/controls\";\r\nimport { Notification } from \"../../modules/Notification\";\r\nimport Button from \"@material-ui/core/Button\";\r\nimport low from \"lowdb\";\r\nimport LocalStorage from \"lowdb/adapters/LocalStorage\";\r\nimport { Helmet } from \"react-helmet\";\r\nimport { OneMoveMaster } from \"../../modules/eMPower/pages/Transload/FindOrders/product-Containers/remark-edit-dialog/OneMoveMaster\";\r\n\r\nconst adapter = new LocalStorage(\"db\");\r\nconst db = low(adapter);\r\n\r\nconst mystyleTabs = {\r\n fontSize: \"13px\",\r\n};\r\n\r\nexport function AssigntoOutboundV2() {\r\n const [ShipmentIDStat, setShipmentIDStat] = useState([]);\r\n const [ShipmentsIds, setShipmentsIds] = useState([]);\r\n const [ShipmentNewModel, setShipmentNewModelt] = useState(false);\r\n const [IsClosed, setIsClosed] = useState(0);\r\n const [CustomerName, setCustomerName] = useState(\"\");\r\n\r\n useEffect(() => {\r\n GetShipmentsIds();\r\n window.$ShipmentsAssigntoOutbound = [];\r\n window.$ReceiptsAssigntoOutbound = [];\r\n }, []);\r\n\r\n function IsClosedFunction(params) {\r\n setIsClosed(params);\r\n }\r\n\r\n async function GetShipmentsIds() {\r\n return await fetch(`${window.$apiurl}/shipments/getids`, {\r\n method: \"get\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n setShipmentsIds(res[1]);\r\n });\r\n }\r\n async function GetShipmentDetail(id) {\r\n return await fetch(`${window.$apiurl}/transload/shipment/${id}`, {\r\n method: \"get\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n const result = res[1];\r\n setCustomerName(result?.Shipment?.CustomerAddress?.CompanyName);\r\n });\r\n }\r\n async function PostNewShipment() {\r\n var label = $(\"#LabelForShipmentID\").val() || \"\";\r\n return await fetch(\r\n `${window.$apiurl}/transload/shipment?label=${label}&orderId=`,\r\n {\r\n method: \"post\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n }\r\n )\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then(async (res) => {\r\n Notification(\"success\", \"Create New Shipment ID : \" + res[1]?.Id);\r\n setShipmentNewModelt(false);\r\n GetShipmentsIds();\r\n return res[1];\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n return (\r\n <>\r\n \r\n eMPower | Assign To Outbound\r\n \r\n \r\n \r\n \r\n New Shipment\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n {\r\n setShipmentNewModelt(false);\r\n }}\r\n >\r\n Close\r\n \r\n {\r\n setShipmentNewModelt(false);\r\n var a = await PostNewShipment();\r\n setShipmentIDStat([]);\r\n setTimeout(() => {\r\n if (a?.Id) setShipmentIDStat([a?.Id]);\r\n }, 1);\r\n }}\r\n >\r\n Create\r\n \r\n \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {(IsClosed === 0 || ShipmentIDStat.length === 0) && (\r\n
    \r\n )}\r\n\r\n
    \r\n {\r\n setShipmentNewModelt(true);\r\n }}\r\n >\r\n New\r\n \r\n
    \r\n {IsClosed !== 0 && ShipmentIDStat.length > 0 && (\r\n
    \r\n {\r\n PosttoClosed(ShipmentIDStat, setIsClosed);\r\n }}\r\n >\r\n {\" \"}\r\n {!IsClosed ? \"Close\" : \"UnClose\"}\r\n \r\n
    \r\n )}\r\n
    \r\n {\r\n return {\r\n value: x,\r\n label: x,\r\n };\r\n })}\r\n onChange={async (newValue) => {\r\n var i = newValue?.value;\r\n setShipmentIDStat([]);\r\n setTimeout(() => {\r\n if (i) setShipmentIDStat([i]);\r\n }, 1);\r\n await GetShipmentDetail(i);\r\n }}\r\n />\r\n
    \r\n
    \r\n
    \r\n
    \r\n {ShipmentIDStat.length > 0 ? (\r\n <>\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n {\r\n window\r\n .open(\r\n `/report/Outbound/${\r\n ShipmentIDStat[0]\r\n }`,\r\n \"_blank\"\r\n )\r\n .focus();\r\n }}\r\n >\r\n Shipment Manifest\r\n \r\n \r\n
    \r\n \r\n ) : (\r\n \r\n )}\r\n
    \r\n
    \r\n \r\n );\r\n}\r\n\r\nfunction Nodatafound() {\r\n return (\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n

    \r\n No data found\r\n

    \r\n
    \r\n
    \r\n
    \r\n );\r\n}\r\n\r\nconst OneMoveMasterFunction = ({ ShipmentIDStat }) => {\r\n const [OneMoveMasterShow, setOneMoveMasterShow] = useState(false);\r\n return (\r\n <>\r\n {\r\n setOneMoveMasterShow(false);\r\n }}\r\n >\r\n \r\n \r\n {\r\n window.shipmentEditCommingFrom = \"AssigntoOutbound\";\r\n\r\n setOneMoveMasterShow(true);\r\n }}\r\n >\r\n Shipment Details\r\n \r\n \r\n );\r\n};\r\n\r\nasync function PosttoClosed(PalletsIDStat, setIsClosed) {\r\n return await fetch(\r\n `${window.$apiurl}/transload/closeshipment/${PalletsIDStat}`,\r\n {\r\n method: \"put\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n }\r\n ).then(async (response) => {\r\n const statusCode = response.status;\r\n if (statusCode === 200) {\r\n Notification(\"success\", \"success\");\r\n setIsClosed((x) => !x);\r\n } else {\r\n const data = await response.json();\r\n Notification(\"error\", data.Message);\r\n }\r\n });\r\n}\r\n","import React, { useState, useEffect } from \"react\";\r\nimport { makeStyles } from \"@material-ui/core/styles\";\r\nimport Table from \"@material-ui/core/Table\";\r\nimport TableBody from \"@material-ui/core/TableBody\";\r\nimport TableCell from \"@material-ui/core/TableCell\";\r\nimport TableHead from \"@material-ui/core/TableHead\";\r\nimport Paper from \"@material-ui/core/Paper\";\r\nimport { Spinner } from \"react-bootstrap\";\r\nimport TableRow from \"@material-ui/core/TableRow\";\r\nimport { AssignToOutboundHeaderForm } from \"../../../modules/eMPower/pages/Transload/FindOrders/product-Containers/remark-edit-dialog/AssignToOutboundHeaderForm\";\r\nimport { Notification } from \"../../../modules/Notification\";\r\nimport low from \"lowdb\";\r\nimport LocalStorage from \"lowdb/adapters/LocalStorage\";\r\nconst adapter = new LocalStorage(\"db\");\r\nconst db = low(adapter);\r\n\r\nexport default function TableComponent({\r\n list = [],\r\n DeleteShipmentRow,\r\n ShipmentID,\r\n ReloadPallets,\r\n IsClosedFunction,\r\n GetParms,\r\n isClosed,\r\n GetOrdersIds,\r\n}) {\r\n const useStyles = makeStyles((theme) => ({\r\n root: {\r\n width: \"100%\",\r\n },\r\n paper: {\r\n marginTop: theme.spacing(1),\r\n width: \"100%\",\r\n overflowX: \"auto\",\r\n marginBottom: theme.spacing(2),\r\n },\r\n table: {\r\n minWidth: 650,\r\n },\r\n }));\r\n const classes = useStyles();\r\n\r\n return (\r\n
    \r\n
    \r\n Shipment ID\r\n {ShipmentID}\r\n
    \r\n \r\n
    \r\n
    \r\n Items Count : {list.length}\r\n {list.length > 0 ? (\r\n \r\n
    \r\n \r\n \r\n \r\n \r\n PO#\r\n \r\n \r\n UPC\r\n \r\n \r\n SKU\r\n \r\n \r\n Cartons\r\n \r\n \r\n Description\r\n \r\n \r\n Color\r\n \r\n \r\n Size\r\n \r\n {!isClosed && (\r\n \r\n Action\r\n \r\n )}\r\n \r\n \r\n \r\n {(list ?? []).map((item, index) => (\r\n \r\n ))}\r\n \r\n \r\n \r\n \r\n Total\r\n \r\n\r\n \r\n {list.reduce((a, b) => +a + +b.Quantity, 0)}\r\n \r\n \r\n \r\n \r\n {!isClosed && }\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n ) : (\r\n \r\n )}{\" \"}\r\n
    \r\n );\r\n}\r\n\r\nconst TableTrFunction = ({ item, DeleteShipmentRow, isClosed }) => {\r\n return (\r\n \r\n {item.IdShip}\r\n {item.Upc}\r\n {item.Sku}\r\n {item.Quantity}\r\n {item.Description}\r\n {item.Color}\r\n {item.Size}\r\n {!isClosed && (\r\n \r\n {\r\n DeleteShipmentRow(item.Id, item.IdShip);\r\n }}\r\n />\r\n \r\n )}\r\n \r\n );\r\n};\r\n\r\nfunction AssignToOutboundHeader({\r\n ShipmentID,\r\n ReloadPallets,\r\n IsClosedFunction,\r\n GetParms,\r\n GetOrdersIds,\r\n}) {\r\n const [Consignees, setConsignees] = useState([]);\r\n const [Vendors, setVendors] = useState([]);\r\n const [Shippers, setShippers] = useState([]);\r\n const [Customers, setCustomers] = useState([]);\r\n const [Services, setServices] = useState([]);\r\n const [statSHipmentId, setstatSHipmentId] = useState([]);\r\n const [statSHipment, setstatSHipment] = useState([]);\r\n const [LineItems, setLineItems] = useState([]);\r\n const [FreightCharges, setFreightCharges] = useState([]);\r\n const [fetchContainersAsync, setfetchContainersAsync] = useState([]);\r\n const [Warehouse, setWarehouse] = useState([]);\r\n const [TrackingDevices, setTrackingDevices] = useState([]);\r\n\r\n useEffect(() => {\r\n GetShipmentId(ShipmentID).then((e) => {\r\n if (e?.length > 0 && e[0] === 200) {\r\n setConsignees(e[1]?.Consignees ?? []);\r\n setCustomers(e[1]?.Customers ?? []);\r\n setVendors(e[1]?.Vendors ?? []);\r\n setShippers(e[1]?.Shippers ?? []);\r\n setServices(e[1]?.Services ?? []);\r\n setTrackingDevices(e[1]?.TrackingDevices ?? []);\r\n setFreightCharges(e[1]?.FreightCharges ?? []);\r\n\r\n e[1].Shipment.Id = ShipmentID;\r\n IsClosedFunction(e[1]?.Shipment?.IsClosed);\r\n setstatSHipment([e[1]?.Shipment] ?? []);\r\n\r\n (e[1]?.Items ?? []).forEach((element) => {\r\n element.IdShip = element.Id;\r\n element.Id = element.ItemId;\r\n });\r\n\r\n var ordersIds = [];\r\n (e[1]?.Items ?? []).forEach((x) => {\r\n if (ordersIds.indexOf(x.TransloadOrderId) === -1)\r\n ordersIds.push(x.TransloadOrderId);\r\n });\r\n\r\n GetParms({\r\n ShipmentId: ShipmentID,\r\n IsClosed: e[1]?.Shipment?.IsClosed,\r\n ConsigneeId: e[1]?.Shipment?.ConsigneeId,\r\n CustomerId: e[1]?.Shipment?.CustomerId,\r\n Items: e[1]?.Items,\r\n ordersIds: ordersIds,\r\n });\r\n }\r\n });\r\n }, []);\r\n\r\n return (\r\n \r\n );\r\n}\r\n\r\nasync function GetShipmentId(id) {\r\n return await fetch(\r\n `${window.$apiurl}/TransloadShipment/GetShipmentItems?shipmentId=${id}`,\r\n {\r\n method: \"get\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n }\r\n )\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then(async (res) => {\r\n return res;\r\n })\r\n .catch((error) => {\r\n Notification(\"error\", \"Shipment ID : \" + id + \" Not Found\");\r\n console.error(error);\r\n return undefined;\r\n });\r\n}\r\n\r\nfunction Nodatafound({ PalletID }) {\r\n const [Reload, setReload] = useState(true);\r\n\r\n useEffect(() => {\r\n setTimeout(() => {\r\n setReload(false);\r\n }, 2000);\r\n }, []);\r\n\r\n return (\r\n <>\r\n {!Reload ? (\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n

    \r\n Drop Items In this Shipment {PalletID}\r\n

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n ) : (\r\n
    \r\n \r\n Loading...\r\n \r\n
    \r\n )}\r\n \r\n );\r\n}\r\n","import React, { useState, useEffect } from \"react\";\r\nimport Draggable from \"react-draggable\";\r\nimport Button from \"@material-ui/core/Button\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { Notification } from \"../../../../modules/Notification\";\r\nimport { toAbsoluteUrl } from \"../../../../../_metronic/_helpers\";\r\nimport Checkbox from \"@material-ui/core/Checkbox\";\r\nimport { default as JsNative } from \"jquery\";\r\nimport low from \"lowdb\";\r\nimport SVG from \"react-inlinesvg\";\r\nimport { OverlayTrigger, Tooltip } from \"react-bootstrap\";\r\nimport LocalStorage from \"lowdb/adapters/LocalStorage\";\r\nconst adapter = new LocalStorage(\"db\");\r\nconst db = low(adapter);\r\n\r\nexport default function Item({\r\n item,\r\n SetTableShipment,\r\n ShipmentID,\r\n CheckboxList,\r\n CheckboxListIds,\r\n POChaekced,\r\n}) {\r\n const [ModelShow, setModelShow] = useState(false);\r\n const [stateItem, setstateItem] = useState();\r\n const [Quantity, setQuantity] = useState(0);\r\n const [Color, setColor] = useState(\"primary\");\r\n\r\n const [Checked, setChecked] = useState(false);\r\n useEffect(() => {\r\n setChecked(CheckboxListIds.includes(item?.Id));\r\n }, [CheckboxListIds]);\r\n\r\n var tableElement = JsNative(\".TableComponent\");\r\n var offset = tableElement.offset();\r\n\r\n useEffect(() => {\r\n if (item?.PoBar) item.Id = 0;\r\n setQuantity(item?.LeftQuantity);\r\n setstateItem(item);\r\n if (\r\n item?.DamagedQuantity > 0 ||\r\n item?.OverQuantity > 0 ||\r\n item?.ShortQuantity > 0\r\n )\r\n setColor(\"warning\");\r\n else if (item.LeftQuantity === 0) setColor(\"dark\");\r\n }, [item]);\r\n\r\n function handleDrag(e) {\r\n const style = \"background: #E5EAEE !important\";\r\n if (offset.top < e.pageY && e.pageY < offset.top + tableElement.height())\r\n tableElement.find(\"th\").attr(\"style\", style);\r\n else {\r\n tableElement.find(\"th\").removeAttr(\"style\");\r\n }\r\n }\r\n\r\n function handleStop(e) {\r\n if (offset.top < e.pageY && e.pageY < offset.top + tableElement.height()) {\r\n setModelShow(true);\r\n tableElement.find(\"th\").removeAttr(\"style\");\r\n }\r\n }\r\n\r\n function handleSave() {\r\n PostPallet(stateItem?.Id, ShipmentID, +Quantity).then(\r\n ({ status, Message, Id }) => {\r\n if (200 === status && Id) {\r\n Notification(\"success\", \"success : \" + stateItem?.Id);\r\n var thisItem = stateItem;\r\n thisItem.LeftQuantity -= +Quantity;\r\n thisItem.IdShip = Id;\r\n setstateItem();\r\n SetTableShipment(thisItem, +Quantity);\r\n setTimeout(() => {\r\n setstateItem(thisItem);\r\n setQuantity(item.LeftQuantity);\r\n }, 1);\r\n } else {\r\n Notification(\"error\", Message?.toString());\r\n }\r\n\r\n if (item.LeftQuantity === 0) setColor(\"dark\");\r\n }\r\n );\r\n }\r\n\r\n function htmlP2(text2) {\r\n return (\r\n <>\r\n {text2}\r\n \r\n );\r\n }\r\n\r\n return (\r\n <>\r\n <>\r\n \r\n \r\n Item {stateItem?.Container}\r\n \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {\r\n var value = e.target?.value ?? \"\";\r\n if (value !== \"\" && value > 0) {\r\n setQuantity(value);\r\n }\r\n }}\r\n />\r\n
    \r\n
    \r\n
    \r\n \r\n {\r\n setModelShow(false);\r\n }}\r\n >\r\n Close\r\n \r\n {\r\n setModelShow(false);\r\n handleSave();\r\n }}\r\n >\r\n Ok\r\n \r\n \r\n
    \r\n {stateItem?.PoBar ? (\r\n <>\r\n
    \r\n
    \r\n\r\n \r\n {\r\n POChaekced(stateItem?.PurchaseOrder, e.target.checked);\r\n }}\r\n inputProps={{\r\n \"aria-label\": \"uncontrolled-checkbox\",\r\n }}\r\n />\r\n Purchase Order : {stateItem?.PurchaseOrder}\r\n \r\n
    \r\n \r\n ) : (\r\n <>\r\n
    \r\n \r\n
    \r\n {\r\n setModelShow(true);\r\n }}\r\n >\r\n
    \r\n \r\n {\r\n CheckboxList(e.target.checked, stateItem?.Id);\r\n }}\r\n inputProps={{\r\n \"aria-label\": \"uncontrolled-checkbox\",\r\n }}\r\n />\r\n {htmlP2(stateItem?.Sku ?? \"(Sku Not Found)\")}\r\n
    \r\n
    \r\n {htmlP2(stateItem?.LeftQuantity)}\r\n
    \r\n
    \r\n {htmlP2(stateItem?.Size)}\r\n
    \r\n
    \r\n {htmlP2(stateItem?.Color)}\r\n
    \r\n
    \r\n \r\n {stateItem?.Description ?? \"Empty\"}\r\n \r\n }\r\n >\r\n \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n \r\n )}\r\n \r\n \r\n );\r\n}\r\n\r\nasync function PostPallet(ItemId, PalletId, UnitCount) {\r\n return await fetch(`${window.$apiurl}/transload/shipment/item`, {\r\n method: \"post\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify({\r\n ReceiptItemId: ItemId,\r\n ShipmentId: PalletId,\r\n Quantity: UnitCount,\r\n }),\r\n }).then(async (response) => {\r\n var msg = await response.json();\r\n var a = {\r\n status: response.status,\r\n Message: msg?.Message ?? \"\",\r\n Id: msg?.Id,\r\n };\r\n return a;\r\n });\r\n}\r\n","import React, { useState, useEffect } from \"react\";\r\nimport ScrollMenu from \"react-horizontal-scrolling-menu\";\r\n\r\nconst MenuItem = ({ text, selected, wareHouse, id, Color }) => {\r\n return (\r\n \r\n {text}\r\n
    \r\n );\r\n};\r\n\r\nconst Menu = (list, selected, Color) =>\r\n list.map((el) => {\r\n const { EquipmentNumber, wareHouse, Id } = el;\r\n return (\r\n \r\n );\r\n });\r\n\r\nexport function ScrollingMenuReceipt({\r\n list = [],\r\n setselectedId,\r\n Color = \"info\",\r\n Title = \"\",\r\n}) {\r\n const Arrow = ({ text, className }) => {\r\n return
    {text}
    ;\r\n };\r\n\r\n const ArrowLeft = Arrow({\r\n text: \"\",\r\n className: \"fa fa-chevron-circle-left fSize2 text-\" + Color,\r\n });\r\n const ArrowRight = Arrow({\r\n text: \"\",\r\n className: \"fa fa-chevron-circle-right fSize2 text-\" + Color,\r\n });\r\n\r\n const [selected, setselected] = useState();\r\n const menu = Menu(list, selected, Color);\r\n\r\n useEffect(() => {\r\n if (list?.length > 0) {\r\n var a = list[0]?.Id;\r\n onSelect(a);\r\n }\r\n }, [list]);\r\n\r\n const onSelect = (key) => {\r\n setselectedId(false);\r\n setTimeout(() => {\r\n setselectedId(key);\r\n }, 1);\r\n setselected(key);\r\n };\r\n\r\n return (\r\n <>\r\n
    \r\n
    \r\n {Title}\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n );\r\n}\r\n","import React, { useEffect, useState } from \"react\";\r\nimport Item from \"./Item\";\r\nimport Draggable from \"react-draggable\";\r\nimport { Spinner } from \"react-bootstrap\";\r\nimport { Notification } from \"../../../../modules/Notification\";\r\nimport SelectPagination from \"../../../../../_metronic/_partials/widgets/Select/SelectPagination\";\r\nimport { ScrollingMenuReceipt } from \"./ScrollingMenuReceipt\";\r\nimport low from \"lowdb\";\r\nimport { default as JsNative } from \"jquery\";\r\nimport LocalStorage from \"lowdb/adapters/LocalStorage\";\r\nconst adapter = new LocalStorage(\"db\");\r\nconst db = low(adapter);\r\n\r\nexport default function IndexPalletsList({\r\n SetTableShipment,\r\n DeletRowId,\r\n Shipment,\r\n ReloadPallets,\r\n OrdersIds = false,\r\n}) {\r\n const [Pallets, setPallets] = useState([]);\r\n const [Show, setShow] = useState(false);\r\n\r\n const [CheckboxListIds, setCheckboxListIds] = useState([]);\r\n const [Search2, setSearch2] = useState(\"\");\r\n\r\n useEffect(() => {\r\n if (Shipment.ShipmentId) {\r\n var l = Shipment?.ordersIds ?? [];\r\n l.forEach((x) => {\r\n GetPalletsFunction(\"orderId=\" + x);\r\n });\r\n }\r\n }, [Shipment.ShipmentId]);\r\n\r\n useEffect(() => {\r\n if (!OrdersIds) {\r\n setPallets([]);\r\n }\r\n }, [OrdersIds]);\r\n\r\n async function GetPalletsFunction(txt) {\r\n var o1 = document.querySelector(\".OrdersClass.btn-info\")?.innerText;\r\n var o2 = document.querySelector(\".OrdersClass.btn-primary\")?.innerText;\r\n\r\n let pallets = await GetItems(txt);\r\n pallets.Id = pallets?.OrderId;\r\n\r\n // Search\r\n pallets.search = pallets.OrderId + \"|\";\r\n pallets.Receipts.forEach((x) => {\r\n var s = \"\";\r\n s += x?.CustomerRefNumber2 ?? \"\" + \"|\";\r\n s += x?.EquipmentNumber ?? \"\" + \"|\";\r\n s += x?.Id ?? \"\" + \"|\";\r\n x.search = s;\r\n\r\n x?.LineItems ??\r\n [].forEach((y) => {\r\n s += y?.Sku ?? \"\" + \"|\";\r\n s += y?.PurchaseOrder ?? \"\" + \"|\";\r\n s += y?.Upc ?? \"\" + \"|\";\r\n });\r\n\r\n pallets.search += s;\r\n });\r\n\r\n var a = Pallets.findIndex((x) => x?.Id === pallets?.Id);\r\n if (a > -1) {\r\n Pallets[a] = pallets;\r\n setPallets([]);\r\n setTimeout(() => {\r\n setPallets(Pallets);\r\n }, 1);\r\n } else setPallets((x) => [...x, pallets]);\r\n\r\n setTimeout(() => {\r\n setShow(true);\r\n\r\n try {\r\n if (o1) document.getElementById(\"id\" + o1).click();\r\n if (o2) document.getElementById(\"id\" + o2).click();\r\n } catch {}\r\n }, 100);\r\n }\r\n\r\n JsNative(document).scroll(function() {\r\n var element = document.getElementById(\"TableComponent\");\r\n var rect = element?.getBoundingClientRect();\r\n if (rect && 150 > rect.bottom) {\r\n JsNative(\"#TablePalletFixed\").fadeIn();\r\n } else {\r\n JsNative(\"#TablePalletFixed\").fadeOut();\r\n }\r\n });\r\n\r\n useEffect(() => {\r\n if (DeletRowId && DeletRowId !== 0) GetPalletsFunction(DeletRowId);\r\n }, [DeletRowId]);\r\n\r\n var tableElement = JsNative(\".TableComponent\");\r\n var offset = tableElement.offset();\r\n\r\n function handleDrag(e) {\r\n const style = \"background: #E5EAEE !important\";\r\n if (offset.top < e.pageY && e.pageY < offset.top + tableElement.height()) {\r\n tableElement.find(\"th\").attr(\"style\", style);\r\n } else {\r\n tableElement.find(\"th\").removeAttr(\"style\");\r\n }\r\n }\r\n\r\n function handleStop(e) {\r\n if (offset.top < e.pageY && e.pageY < offset.top + tableElement.height()) {\r\n PostPallets(CheckboxListIds, Shipment.ShipmentId);\r\n tableElement.find(\"th\").removeAttr(\"style\");\r\n }\r\n }\r\n\r\n function CheckboxList(check, Id) {\r\n var array = CheckboxListIds || [];\r\n var find = array?.findIndex((x) => x === Id);\r\n if (find > -1 && !check) {\r\n array.splice(find, 1);\r\n } else if (find === -1 && check) {\r\n array.push(Id);\r\n }\r\n\r\n setCheckboxListIds([...array]);\r\n }\r\n\r\n async function PostPallets(ItemsId, PalletId) {\r\n return await fetch(`${window.$apiurl}/transload/receipt/shipitems`, {\r\n method: \"post\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify({\r\n Items: ItemsId,\r\n ShipmentId: PalletId,\r\n }),\r\n }).then(async (response) => {\r\n if (response.status === 200) {\r\n Notification(\"success\", \"success : \" + ItemsId.join(\", \"));\r\n ItemsId.forEach((x) => {\r\n var a = Pallets.findIndex((y) => x === y.Id);\r\n SetTableShipment(Pallets[a], Pallets[a].UnitCount);\r\n });\r\n setCheckboxListIds([]);\r\n ReloadPallets();\r\n } else {\r\n var msg = response.status !== 200 ? await response.json() : \"\";\r\n Notification(\"error\", msg?.toString());\r\n }\r\n });\r\n }\r\n\r\n function POChaekced(id, bool) {\r\n var list = [];\r\n Pallets.forEach((x) => {\r\n if (+x?.PurchaseOrder === +id && +x?.Id !== 0) list.push(+x?.Id);\r\n });\r\n\r\n if (bool) {\r\n setCheckboxListIds((x) => [...x, ...list]);\r\n } else {\r\n var b = CheckboxListIds;\r\n list.forEach((x) => {\r\n b = b.filter((y) => +y !== +x);\r\n });\r\n setCheckboxListIds(b);\r\n }\r\n }\r\n return (\r\n <>\r\n
    \r\n
    \r\n
    \r\n
    \r\n {OrdersIds && (\r\n {\r\n var a = OrdersIds.find((x) => x === newValue?.value);\r\n var txt =\r\n a === undefined\r\n ? \"search=\" + newValue?.value\r\n : \"orderId=\" + newValue?.value;\r\n GetPalletsFunction(txt);\r\n }}\r\n options={(OrdersIds ?? []).map((x) => {\r\n return {\r\n value: x,\r\n label: x,\r\n };\r\n })}\r\n name=\"PickupCarrierId\"\r\n id=\"PickupCarrierId\"\r\n className=\"w-100 mr-2\"\r\n />\r\n )}\r\n
    \r\n
    \r\n
    \r\n {\r\n if (e.keyCode === 13) setSearch2(e.target.value);\r\n }}\r\n onBlur={(e) => {\r\n setSearch2(e.target.value);\r\n }}\r\n />\r\n
    \r\n
    \r\n
    \r\n
    \r\n {CheckboxListIds?.length > 0 && (\r\n \r\n
    \r\n \r\n {htmlP(CheckboxListIds, \"Items Selected\")}\r\n \r\n
    \r\n \r\n )}\r\n
    \r\n
    \r\n {Pallets?.length > 0 ? (\r\n <>\r\n \r\n \r\n ) : (\r\n \r\n )}\r\n
    \r\n
    \r\n \r\n );\r\n}\r\n\r\nfunction PalletsFun({\r\n Search = \"\",\r\n Pallets = [],\r\n Shipment,\r\n SetTableShipment,\r\n CheckboxList,\r\n CheckboxListIds,\r\n POChaekced,\r\n}) {\r\n const [selectedId, setselectedId] = useState(false);\r\n const [Pallets2, setPallets2] = useState([]);\r\n\r\n useEffect(() => {\r\n console.log(Pallets?.filter((x) => x?.search?.includes(Search)));\r\n const arrayUniqueByKey = [\r\n ...new Map(\r\n Pallets?.filter((x) => x?.search?.includes(Search)).map((item) => [\r\n item[\"OrderId\"],\r\n item,\r\n ])\r\n ).values(),\r\n ];\r\n\r\n setPallets2([]);\r\n setTimeout(() => {\r\n setPallets2(arrayUniqueByKey);\r\n }, 1);\r\n }, [Pallets, Search]);\r\n\r\n return (\r\n
    \r\n \r\n
    \r\n {Pallets2?.filter((x) => x?.Id === +selectedId)?.map((x, i) => (\r\n \r\n ))}\r\n
    \r\n );\r\n}\r\n\r\nfunction OrderOne({\r\n item,\r\n Search,\r\n Shipment,\r\n SetTableShipment,\r\n CheckboxList,\r\n CheckboxListIds,\r\n POChaekced,\r\n}) {\r\n const [selectedId, setselectedId] = useState(false);\r\n const [Receipts, setReceipts] = useState([]);\r\n\r\n useEffect(() => {\r\n setReceipts([]);\r\n setTimeout(() => {\r\n setReceipts(item?.Receipts?.filter((x) => x?.search?.includes(Search)));\r\n }, 1);\r\n }, [item?.Receipts, Search]);\r\n return (\r\n <>\r\n \r\n\r\n
    \r\n {Receipts?.filter((x) => x?.Id === +selectedId).length > 0 && (\r\n <>\r\n
    \r\n
    \r\n
    \r\n
    \r\n {htmlP2(\"Sku\")}\r\n
    \r\n
    \r\n {htmlP2(\"Qty\")}\r\n
    \r\n
    \r\n {htmlP2(\"Size\")}\r\n
    \r\n
    \r\n {htmlP2(\"Color\")}\r\n
    \r\n
    \r\n {htmlP2(\"Description\")}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {htmlP2(\"Sku\")}\r\n
    \r\n
    \r\n {htmlP2(\"Qty\")}\r\n
    \r\n
    \r\n {htmlP2(\"Size\")}\r\n
    \r\n
    \r\n {htmlP2(\"Color\")}\r\n
    \r\n
    \r\n {htmlP2(\"Description\")}\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n )}\r\n\r\n {Receipts?.filter((x) => x?.Id === +selectedId).map((x, i) => (\r\n <>\r\n {x?.LineItems?.map((x1, i1) => (\r\n \r\n ))}\r\n \r\n ))}\r\n
    \r\n \r\n );\r\n}\r\n\r\nfunction Check(Shipment, params) {\r\n return Shipment[params] ?? \"\";\r\n}\r\n\r\nasync function GetItems(txt) {\r\n return await fetch(`${window.$apiurl}/transload/shipment/receipts?` + txt, {\r\n method: \"get\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then(async (res) => {\r\n res[1].Receipts.forEach((x) => {\r\n x.LineItems.forEach((y) => {\r\n y.TransloadOrderId = res[1].OrderId;\r\n });\r\n });\r\n\r\n return res[1];\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n}\r\n\r\nfunction Nodatafound() {\r\n const [Reload, setReload] = useState(true);\r\n\r\n useEffect(() => {\r\n setTimeout(() => {\r\n setReload(false);\r\n }, 7000);\r\n }, []);\r\n\r\n return (\r\n <>\r\n {!Reload ? (\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n

    \r\n No Items found\r\n

    \r\n
    \r\n
    \r\n
    \r\n ) : (\r\n
    \r\n \r\n Loading...\r\n \r\n
    \r\n )}\r\n \r\n );\r\n}\r\n\r\nfunction htmlP(list, text) {\r\n return (\r\n <>\r\n {text}\r\n {list.map((x) => (\r\n

    \r\n {x}\r\n

    \r\n ))}\r\n \r\n );\r\n}\r\nfunction htmlP2(text) {\r\n return (\r\n <>\r\n \r\n {text}\r\n \r\n \r\n );\r\n}\r\n","import React, { useEffect, useState } from \"react\";\r\nimport TableComponent from \"./TableComponent\";\r\nimport { Notification } from \"../../../modules/Notification\";\r\nimport IndexPalletsList from \"./Pallets/IndexPalletsList\";\r\nimport low from \"lowdb\";\r\nimport LocalStorage from \"lowdb/adapters/LocalStorage\";\r\nconst adapter = new LocalStorage(\"db\");\r\nconst db = low(adapter);\r\n\r\nexport default function Index({\r\n iShipmentsID = [],\r\n IsClosedFunction,\r\n IsClosed,\r\n}) {\r\n const [Table, setTable] = useState([]);\r\n const [DeletRowId, setDeletRowId] = useState(0);\r\n const [ShipmentsID, setShipmentsID] = useState(iShipmentsID);\r\n const [ReloadPalletsList, setReloadPalletsList] = useState(true);\r\n const [Search, setSearch] = useState(\"\");\r\n const [params, setparams] = useState();\r\n const [OrdersIds, setOrdersIds] = useState(false);\r\n\r\n /* useEffect(() => {\r\n if (params?.CustomerId) {\r\n GetOrdersIds();\r\n }\r\n }, [params?.CustomerId]); */\r\n\r\n function ReloadPallets() {\r\n setReloadPalletsList(false);\r\n setTimeout(() => {\r\n setReloadPalletsList(true);\r\n }, 1);\r\n }\r\n\r\n async function GetOrdersIds(CustomerId) {\r\n return await fetch(\r\n `${window.$apiurl}/transload/getordersids?customerId=` + CustomerId,\r\n {\r\n method: \"get\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n }\r\n )\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n setOrdersIds(false);\r\n setTimeout(() => {\r\n setOrdersIds(res[1]);\r\n }, 1000);\r\n });\r\n }\r\n\r\n useEffect(() => {\r\n setShipmentsID(iShipmentsID);\r\n }, [iShipmentsID]);\r\n\r\n function SetTableShipment(row, Quantity) {\r\n var table = Table;\r\n var a = table.findIndex((x) => x?.Id === row?.Id);\r\n if (a > -1) {\r\n table[a].Quantity += Quantity;\r\n setTable([]);\r\n setTimeout(() => {\r\n setTable(table);\r\n }, 1);\r\n } else {\r\n row.Quantity = Quantity;\r\n setTable((x) => [...x, row]);\r\n }\r\n }\r\n\r\n function DeleteShipmentRow(id, IdShip) {\r\n RemovePallet(IdShip).then(({ status, Message }) => {\r\n if (200 === status) {\r\n Notification(\"success\", \"success : \" + id);\r\n var a = Table.filter((x) => x?.Id !== id);\r\n var b = Table.find((x) => x?.Id === id);\r\n setTable([]);\r\n setDeletRowId(0);\r\n setTimeout(() => {\r\n setTable(a);\r\n setDeletRowId(\"orderId=\" + b?.TransloadOrderId);\r\n }, 1);\r\n } else {\r\n Notification(\"error\", Message?.toString());\r\n }\r\n });\r\n }\r\n\r\n useEffect(() => {\r\n if (params?.Items?.length > 0) setTable(params?.Items);\r\n }, [params?.Items]);\r\n\r\n function GetParms(params) {\r\n setparams(params);\r\n }\r\n\r\n return (\r\n <>\r\n {ShipmentsID.map((x, i) => (\r\n \r\n ))}\r\n\r\n {ShipmentsID.length > 0 &&\r\n ReloadPalletsList &&\r\n !IsClosed &&\r\n params?.ShipmentId && (\r\n \r\n )}\r\n {IsClosed && }\r\n \r\n );\r\n}\r\n\r\nasync function RemovePallet(id) {\r\n return await fetch(\r\n `${window.$apiurl}/TransloadWarehouse/DeleteShipItem/${id}`,\r\n {\r\n method: \"delete\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n }\r\n ).then(async (response) => {\r\n var msg = response.status !== 200 ? await response.json() : \"\";\r\n var a = { status: response.status, Message: msg?.Message ?? \"\" };\r\n return a;\r\n });\r\n}\r\n\r\nfunction Nodatafound() {\r\n return (\r\n <>\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n

    \r\n Shipment Is Closed\r\n

    \r\n
    \r\n
    \r\n
    \r\n \r\n );\r\n}\r\n","import React, { useEffect, useState } from \"react\";\r\nimport Index from \"./AssigntoOutboundV3/Index\";\r\nimport $ from \"jquery\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { CreatableSelect3 } from \"../../../_metronic/_partials/controls\";\r\nimport SelectPagination from \"../../../_metronic/_partials/widgets/Select/SelectPagination\";\r\nimport { Notification } from \"../../modules/Notification\";\r\nimport Button from \"@material-ui/core/Button\";\r\nimport low from \"lowdb\";\r\nimport LocalStorage from \"lowdb/adapters/LocalStorage\";\r\nimport { Helmet } from \"react-helmet\";\r\nimport { OneMoveMaster } from \"../../modules/eMPower/pages/Transload/FindOrders/product-Containers/remark-edit-dialog/OneMoveMaster\";\r\n\r\nconst adapter = new LocalStorage(\"db\");\r\nconst db = low(adapter);\r\n\r\nconst mystyleTabs = {\r\n fontSize: \"13px\",\r\n};\r\n\r\nexport function AssigntoOutboundV3() {\r\n const [ShipmentIDStat, setShipmentIDStat] = useState([]);\r\n const [ShipmentsIds, setShipmentsIds] = useState([]);\r\n const [ShipmentNewModel, setShipmentNewModelt] = useState(false);\r\n const [IsClosed, setIsClosed] = useState(0);\r\n const [CustomerName, setCustomerName] = useState(\"\");\r\n const [OrdersIds, setOrdersIds] = useState([]);\r\n\r\n useEffect(() => {\r\n GetShipmentsIds();\r\n /* GetOrdersIds(); */\r\n window.$ShipmentsAssigntoOutbound = [];\r\n window.$ReceiptsAssigntoOutbound = [];\r\n }, []);\r\n\r\n function IsClosedFunction(params) {\r\n setIsClosed(params);\r\n }\r\n\r\n // async function GetOrdersIds() {\r\n // return await fetch(`${window.$apiurl}/transload/getordersids`, {\r\n // method: \"get\",\r\n // withCredentials: true,\r\n // headers: {\r\n // Accept: \"application/json, text/plain, */*\",\r\n // Authorization: `bearer ${db.read().getState().Token}`,\r\n // \"X-FP-API-KEY\": \"iphone\",\r\n // \"Content-Type\": \"application/json\",\r\n // },\r\n // })\r\n // .then(async (response) => {\r\n // const statusCode = response.status;\r\n // const data = await response.json();\r\n // return Promise.all([statusCode, data]);\r\n // })\r\n // .then((res) => {\r\n // setOrdersIds(res[1]);\r\n // });\r\n // }\r\n\r\n async function GetShipmentsIds() {\r\n return await fetch(`${window.$apiurl}/shipments/getids`, {\r\n method: \"get\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n setShipmentsIds(res[1]);\r\n });\r\n }\r\n\r\n async function GetShipmentDetail(id) {\r\n return await fetch(`${window.$apiurl}/transload/shipment/${id}`, {\r\n method: \"get\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n const result = res[1];\r\n setCustomerName(result?.Shipment?.CustomerAddress?.CompanyName);\r\n });\r\n }\r\n async function PostNewShipment() {\r\n var label = $(\"#LabelForShipmentID\").val() || \"\";\r\n return await fetch(\r\n `${window.$apiurl}/transload/shipment?label=${label}&orderId=`,\r\n {\r\n method: \"post\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n }\r\n )\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then(async (res) => {\r\n Notification(\"success\", \"Create New Shipment ID : \" + res[1]?.Id);\r\n setShipmentNewModelt(false);\r\n GetShipmentsIds();\r\n return res[1];\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n return (\r\n <>\r\n \r\n eMPower | Assign To Outbound\r\n \r\n \r\n \r\n \r\n New Shipment\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n {\r\n setShipmentNewModelt(false);\r\n }}\r\n >\r\n Close\r\n \r\n {\r\n setShipmentNewModelt(false);\r\n var a = await PostNewShipment();\r\n setShipmentIDStat([]);\r\n setTimeout(() => {\r\n if (a?.Id) setShipmentIDStat([a?.Id]);\r\n }, 1);\r\n }}\r\n >\r\n Create\r\n \r\n \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {(IsClosed === 0 || ShipmentIDStat.length === 0) && (\r\n
    \r\n )}\r\n\r\n
    \r\n {\r\n setShipmentNewModelt(true);\r\n }}\r\n >\r\n New\r\n \r\n
    \r\n {IsClosed !== 0 && ShipmentIDStat.length > 0 && (\r\n
    \r\n {\r\n PosttoClosed(ShipmentIDStat, setIsClosed);\r\n }}\r\n >\r\n {\" \"}\r\n {!IsClosed ? \"Close\" : \"UnClose\"}\r\n \r\n
    \r\n )}\r\n
    \r\n {\r\n return {\r\n value: x,\r\n label: x,\r\n };\r\n })}\r\n onChange={async (newValue) => {\r\n var i = newValue?.value;\r\n setShipmentIDStat([]);\r\n setTimeout(() => {\r\n if (i) setShipmentIDStat([i]);\r\n }, 1);\r\n await GetShipmentDetail(i);\r\n }}\r\n />\r\n
    \r\n
    \r\n
    \r\n
    \r\n {ShipmentIDStat.length > 0 ? (\r\n <>\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n {\r\n window\r\n .open(`/report/Outbound/${ShipmentIDStat[0]}`, \"_blank\")\r\n .focus();\r\n }}\r\n >\r\n Shipment Manifest\r\n \r\n \r\n
    \r\n \r\n ) : (\r\n \r\n )}\r\n
    \r\n
    \r\n \r\n );\r\n}\r\n\r\nfunction Nodatafound() {\r\n return (\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n

    \r\n No data found\r\n

    \r\n
    \r\n
    \r\n
    \r\n );\r\n}\r\n\r\nconst OneMoveMasterFunction = ({ ShipmentIDStat }) => {\r\n const [OneMoveMasterShow, setOneMoveMasterShow] = useState(false);\r\n return (\r\n <>\r\n {\r\n setOneMoveMasterShow(false);\r\n }}\r\n >\r\n \r\n \r\n {\r\n window.shipmentEditCommingFrom = \"AssigntoOutbound\";\r\n\r\n setOneMoveMasterShow(true);\r\n }}\r\n >\r\n Shipment Details\r\n \r\n \r\n );\r\n};\r\n\r\nasync function PosttoClosed(PalletsIDStat, setIsClosed) {\r\n return await fetch(\r\n `${window.$apiurl}/transload/closeshipment/${PalletsIDStat}`,\r\n {\r\n method: \"put\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n }\r\n ).then(async (response) => {\r\n const statusCode = response.status;\r\n if (statusCode === 200) {\r\n Notification(\"success\", \"success\");\r\n setIsClosed((x) => !x);\r\n } else {\r\n const data = await response.json();\r\n Notification(\"error\", data.Message);\r\n }\r\n });\r\n}\r\n","import React, { useState, useEffect } from \"react\";\r\nimport { makeStyles } from \"@material-ui/core/styles\";\r\nimport Table from \"@material-ui/core/Table\";\r\nimport TableBody from \"@material-ui/core/TableBody\";\r\nimport TableCell from \"@material-ui/core/TableCell\";\r\nimport TableHead from \"@material-ui/core/TableHead\";\r\nimport Paper from \"@material-ui/core/Paper\";\r\nimport { Spinner } from \"react-bootstrap\";\r\nimport TableRow from \"@material-ui/core/TableRow\";\r\nimport { AssignToOutboundHeaderForm } from \"../../../../modules/eMPower/pages/Transload/FindOrders/product-Containers/remark-edit-dialog/AssignToOutboundHeaderForm\";\r\nimport { Notification } from \"../../../../modules/Notification\";\r\nimport low from \"lowdb\";\r\nimport LocalStorage from \"lowdb/adapters/LocalStorage\";\r\nconst adapter = new LocalStorage(\"db\");\r\nconst db = low(adapter);\r\n\r\nexport default function TableComponent({\r\n list = [],\r\n DeleteShipmentRow,\r\n ShipmentID,\r\n ReloadPallets,\r\n IsClosedFunction,\r\n GetParms,\r\n isClosed,\r\n}) {\r\n const useStyles = makeStyles((theme) => ({\r\n root: {\r\n width: \"100%\",\r\n },\r\n paper: {\r\n marginTop: theme.spacing(1),\r\n width: \"100%\",\r\n overflowX: \"auto\",\r\n marginBottom: theme.spacing(2),\r\n },\r\n table: {\r\n minWidth: 650,\r\n },\r\n }));\r\n const classes = useStyles();\r\n\r\n return (\r\n
    \r\n
    \r\n Pallet : \r\n {ShipmentID}\r\n
    \r\n
    \r\n Items Count : {list.length}\r\n {list.length > 0 ? (\r\n \r\n
    \r\n \r\n \r\n \r\n \r\n Container Number\r\n \r\n \r\n PO#\r\n \r\n \r\n SKU\r\n \r\n \r\n UPC\r\n \r\n \r\n Cartons\r\n \r\n \r\n Description\r\n \r\n \r\n DC Location\r\n \r\n {/* \r\n Color\r\n \r\n \r\n Size\r\n */}\r\n {!isClosed && (\r\n \r\n Action\r\n \r\n )}\r\n \r\n \r\n \r\n {(list ?? []).map((item, index) => (\r\n \r\n ))}\r\n \r\n \r\n \r\n \r\n \r\n Total\r\n \r\n \r\n {list.reduce((a, b) => +a + +b.Quantity, 0)}\r\n \r\n \r\n {/* \r\n */}\r\n {!isClosed && }\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n ) : (\r\n \r\n )}{\" \"}\r\n
    \r\n );\r\n}\r\n\r\nconst TableTrFunction = ({ item, DeleteShipmentRow, isClosed }) => {\r\n return (\r\n \r\n {item.ContainerNumber}\r\n {item.PurchaseOrder}\r\n {item.Sku}\r\n {item.Upc}\r\n {item.Quantity}\r\n {item.Description}\r\n {item.Location}\r\n {!isClosed && (\r\n \r\n {\r\n DeleteShipmentRow(item.ReceiptId, item?.Id);\r\n }}\r\n />\r\n \r\n )}\r\n \r\n );\r\n};\r\n\r\nfunction AssignToOutboundHeader({\r\n ShipmentID,\r\n ReloadPallets,\r\n IsClosedFunction,\r\n GetParms,\r\n}) {\r\n const [Consignees, setConsignees] = useState([]);\r\n const [Vendors, setVendors] = useState([]);\r\n const [Shippers, setShippers] = useState([]);\r\n const [Customers, setCustomers] = useState([]);\r\n const [Services, setServices] = useState([]);\r\n const [statSHipmentId, setstatSHipmentId] = useState([]);\r\n const [statSHipment, setstatSHipment] = useState([]);\r\n const [LineItems, setLineItems] = useState([]);\r\n const [FreightCharges, setFreightCharges] = useState([]);\r\n const [fetchContainersAsync, setfetchContainersAsync] = useState([]);\r\n const [Warehouse, setWarehouse] = useState([]);\r\n const [TrackingDevices, setTrackingDevices] = useState([]);\r\n\r\n useEffect(() => {\r\n GetShipmentId(ShipmentID).then((e) => {\r\n if (e?.length > 0 && e[0] === 200) {\r\n setConsignees(e[1]?.Consignees ?? []);\r\n setCustomers(e[1]?.Customers ?? []);\r\n setVendors(e[1]?.Vendors ?? []);\r\n setShippers(e[1]?.Shippers ?? []);\r\n setServices(e[1]?.Services ?? []);\r\n setTrackingDevices(e[1]?.TrackingDevices ?? []);\r\n setFreightCharges(e[1]?.FreightCharges ?? []);\r\n\r\n e[1].Shipment.Id = ShipmentID;\r\n IsClosedFunction(e[1]?.Shipment?.IsClosed);\r\n setstatSHipment([e[1]?.Shipment] ?? []);\r\n\r\n (e[1]?.Items ?? []).forEach((element) => {\r\n element.IdShip = element.Id;\r\n element.Id = element.ItemId;\r\n });\r\n\r\n var ordersIds = [];\r\n (e[1]?.Items ?? []).forEach((x) => {\r\n if (ordersIds.indexOf(x.TransloadOrderId) === -1)\r\n ordersIds.push(x.TransloadOrderId);\r\n });\r\n\r\n GetParms({\r\n ShipmentId: ShipmentID,\r\n IsClosed: e[1]?.Shipment?.IsClosed,\r\n ConsigneeId: e[1]?.Shipment?.ConsigneeId,\r\n CustomerId: e[1]?.Shipment?.CustomerId,\r\n Items: e[1]?.Items,\r\n ordersIds: ordersIds,\r\n });\r\n }\r\n });\r\n }, []);\r\n\r\n return (\r\n \r\n );\r\n}\r\n\r\nasync function GetShipmentId(id) {\r\n return await fetch(\r\n `${window.$apiurl}/TransloadShipment/GetShipmentItems?shipmentId=${id}`,\r\n {\r\n method: \"get\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n }\r\n )\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then(async (res) => {\r\n return res;\r\n })\r\n .catch((error) => {\r\n Notification(\"error\", \"Shipment ID : \" + id + \" Not Found\");\r\n console.error(error);\r\n return undefined;\r\n });\r\n}\r\n\r\nfunction Nodatafound({ PalletID }) {\r\n const [Reload, setReload] = useState(true);\r\n\r\n useEffect(() => {\r\n setTimeout(() => {\r\n setReload(false);\r\n }, 2000);\r\n }, []);\r\n\r\n return (\r\n <>\r\n {!Reload ? (\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n

    \r\n Drop Cartons In this Pallet {PalletID}\r\n

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n ) : (\r\n
    \r\n \r\n Loading...\r\n \r\n
    \r\n )}\r\n \r\n );\r\n}\r\n","import React, { useState, useEffect } from \"react\";\r\nimport Draggable from \"react-draggable\";\r\nimport Button from \"@material-ui/core/Button\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport Select from \"react-select\";\r\nimport { Notification } from \"../../../../../modules/Notification\";\r\nimport { toAbsoluteUrl } from \"../../../../../../_metronic/_helpers\";\r\nimport Checkbox from \"@material-ui/core/Checkbox\";\r\nimport { default as JsNative } from \"jquery\";\r\nimport low from \"lowdb\";\r\nimport SVG from \"react-inlinesvg\";\r\nimport { OverlayTrigger, Tooltip } from \"react-bootstrap\";\r\nimport LocalStorage from \"lowdb/adapters/LocalStorage\";\r\nconst adapter = new LocalStorage(\"db\");\r\nconst db = low(adapter);\r\n\r\nexport default function Item({\r\n item,\r\n SetTableShipment,\r\n ShipmentID,\r\n CheckboxList,\r\n CheckboxListIds,\r\n POChaekced,\r\n ProgressBar,\r\n ParentId,\r\n setPalletsFun,\r\n LinePath,\r\n Locations = [],\r\n setLoading,\r\n}) {\r\n const [ModelShow, setModelShow] = useState(false);\r\n const [NewPalletShow, setNewPalletShow] = useState(false);\r\n const [stateItem, setstateItem] = useState();\r\n const [Quantity, setQuantity] = useState(0);\r\n const [Color, setColor] = useState(\"primary\");\r\n\r\n const [Checked, setChecked] = useState(false);\r\n useEffect(() => {\r\n setChecked(CheckboxListIds.includes(item?.Id));\r\n }, [CheckboxListIds]);\r\n\r\n var tableElement, offset;\r\n function GetTale() {\r\n tableElement = JsNative(\".TableComponent\");\r\n offset = tableElement.offset();\r\n }\r\n\r\n useEffect(() => {\r\n if (item?.PoBar) item.Id = 0;\r\n setQuantity(item?.LeftQuantity);\r\n setstateItem(item);\r\n if (\r\n item?.DamagedQuantity > 0 ||\r\n item?.OverQuantity > 0 ||\r\n item?.ShortQuantity > 0\r\n )\r\n setColor(\"warning\");\r\n else if (item.LeftQuantity === 0) setColor(\"dark\");\r\n }, [item]);\r\n\r\n function handleDrag(e) {\r\n try {\r\n GetTale();\r\n var pageY = e.pageY;\r\n if (e.changedTouches?.length > 0) pageY = e.changedTouches[0].pageY;\r\n\r\n const style = \"background: #E5EAEE !important\";\r\n if (offset.top < pageY && pageY < offset.top + tableElement.height())\r\n tableElement.find(\"th\").attr(\"style\", style);\r\n else {\r\n tableElement.find(\"th\").removeAttr(\"style\");\r\n }\r\n } catch (error) {}\r\n }\r\n\r\n function handleStop(e) {\r\n try {\r\n GetTale();\r\n var pageY = e.pageY;\r\n if (e.changedTouches?.length > 0) pageY = e.changedTouches[0].pageY;\r\n\r\n if (offset.top < pageY && pageY < offset.top + tableElement.height()) {\r\n setModelShow(true);\r\n tableElement.find(\"th\").removeAttr(\"style\");\r\n }\r\n } catch (error) {}\r\n }\r\n\r\n function handleSave() {\r\n setLoading(true);\r\n PostPallet(stateItem?.Id, ShipmentID, +Quantity).then(\r\n ({ status, Message }) => {\r\n if (200 === status) {\r\n Notification(\"success\", \"success : \" + stateItem?.Id);\r\n var thisItem = stateItem;\r\n thisItem.LeftQuantity -= +Quantity;\r\n thisItem.Id = stateItem?.Id;\r\n setstateItem();\r\n SetTableShipment(thisItem, +Quantity);\r\n ProgressBar(ParentId, +Quantity);\r\n setTimeout(() => {\r\n setstateItem(thisItem);\r\n setQuantity(item.LeftQuantity);\r\n }, 1);\r\n } else {\r\n Notification(\"error\", Message?.toString());\r\n }\r\n if (item.LeftQuantity === 0) setColor(\"dark\");\r\n\r\n setLoading(false);\r\n }\r\n );\r\n }\r\n\r\n function htmlP2(text2) {\r\n return (\r\n <>\r\n {text2}\r\n \r\n );\r\n }\r\n\r\n return (\r\n <>\r\n <>\r\n \r\n \r\n Item {stateItem?.Container}\r\n \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {\r\n var value = e.target?.value ?? \"\";\r\n if (value !== \"\" && value > 0) {\r\n setQuantity(value);\r\n }\r\n }}\r\n />\r\n
    \r\n
    \r\n
    \r\n \r\n {\r\n setModelShow(false);\r\n }}\r\n >\r\n Close\r\n \r\n {\r\n setModelShow(false);\r\n handleSave();\r\n }}\r\n >\r\n Ok\r\n \r\n \r\n
    \r\n\r\n {/* New Pallet */}\r\n {/* \r\n \r\n New Pallet\r\n \r\n \r\n
    \r\n
    \r\n {IsValid(\"Customer\", stateItem?.CustomerName)}\r\n
    \r\n
    \r\n {IsValid(\"To Consignee\", stateItem?.ConsigneeName)}\r\n
    \r\n
    \r\n {IsValid(\"Shipper\", stateItem?.ShipperName)}\r\n
    \r\n
    \r\n {IsValid(\"Warehouse\", stateItem?.WarehouseName)}\r\n
    \r\n
    \r\n {IsValid(\r\n \"Warehouse Location\",\r\n \"\",\r\n {\r\n return { value: x?.Id, label: x?.LocationId };\r\n })}\r\n onChange={(e) => {\r\n window.locations = e?.value;\r\n }}\r\n />\r\n )}\r\n
    \r\n
    \r\n
    \r\n \r\n {\r\n setNewPalletShow(false);\r\n }}\r\n >\r\n Close\r\n \r\n {\r\n setNewPalletShow(false);\r\n PostModel(\r\n {\r\n CustomerId: stateItem?.CustomerId,\r\n ConsigneeId: stateItem?.ConsigneeId,\r\n ShipperId: stateItem?.ShipperId,\r\n WarehouseId: stateItem?.WarehouseId,\r\n LocationId: window.locations,\r\n },\r\n setPalletsFun\r\n );\r\n }}\r\n >\r\n Create\r\n \r\n \r\n
    \r\n */}\r\n {stateItem?.PoBar ? (\r\n <>\r\n
    \r\n
    \r\n\r\n \r\n {\r\n POChaekced(stateItem?.PurchaseOrder, e.target.checked);\r\n }}\r\n inputProps={{\r\n \"aria-label\": \"uncontrolled-checkbox\",\r\n }}\r\n />\r\n Purchase Order : {stateItem?.PurchaseOrder}\r\n \r\n
    \r\n \r\n ) : (\r\n <>\r\n
    \r\n \r\n
    \r\n {\r\n setModelShow(true);\r\n }}\r\n >\r\n
    \r\n \r\n {/* {\r\n CheckboxList(e.target.checked, stateItem?.Id);\r\n }}\r\n inputProps={{\r\n \"aria-label\": \"uncontrolled-checkbox\",\r\n }}\r\n /> */}\r\n {htmlP2(stateItem?.PurchaseOrder)}\r\n
    \r\n
    \r\n {htmlP2(stateItem?.Sku ?? \"(Sku Not Found)\")}\r\n
    \r\n
    \r\n {htmlP2(stateItem?.LeftQuantity)}\r\n
    \r\n
    \r\n {htmlP2(stateItem?.ReferenceN)}\r\n
    \r\n
    \r\n {htmlP2(stateItem?.Location)}\r\n
    \r\n {/*
    \r\n setNewPalletShow(true)}\r\n >\r\n
    */}\r\n
    \r\n \r\n
    \r\n \r\n
    \r\n \r\n )}\r\n \r\n \r\n );\r\n}\r\n\r\nasync function PostPallet(ItemId, PalletId, UnitCount) {\r\n return await fetch(`${window.$apiurl}/pallets/AddCartonToPallet`, {\r\n method: \"post\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify({\r\n ItemId: ItemId,\r\n PalletId: PalletId,\r\n Quantity: UnitCount,\r\n }),\r\n }).then(async (response) => {\r\n var msg = response.status !== 200 ? await response.json() : \"\";\r\n return {\r\n status: response.status,\r\n Message: msg?.Message ?? \"\",\r\n };\r\n });\r\n}\r\n\r\nfunction IsValid(name, str, Components = false) {\r\n try {\r\n if (str?.includes(\"null\") || str?.includes(\"undefined\")) str = undefined;\r\n } catch (error) {}\r\n return (\r\n <>\r\n
    \r\n
    \r\n {name}\r\n
    \r\n
    \r\n {Components ? (\r\n Components\r\n ) : (\r\n <>: {str || Empty}\r\n )}\r\n
    \r\n
    \r\n \r\n );\r\n}\r\n\r\nasync function PostModel(someData, setPalletsFun) {\r\n return fetch(window.$apiurl + \"/pallets\", {\r\n method: \"post\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(someData),\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n if (res[0] === 200) {\r\n setPalletsFun((x) => {\r\n x.push(res[1].palletVm);\r\n window.list = x;\r\n return x;\r\n });\r\n setPalletsFun([]);\r\n setTimeout(() => {\r\n setPalletsFun(window.list);\r\n }, 1);\r\n Notification(\"success\", \"Pallet is Created Success\");\r\n }\r\n })\r\n .catch((err) => {\r\n Notification(\"error\", \"Oops\");\r\n });\r\n}\r\n","import React, { useEffect, useState } from \"react\";\r\nimport Item from \"./Item\";\r\nimport Draggable from \"react-draggable\";\r\nimport { Spinner } from \"react-bootstrap\";\r\nimport { Notification } from \"../../../../../modules/Notification\";\r\nimport SelectPagination from \"../../../../../../_metronic/_partials/widgets/Select/SelectPagination\";\r\nimport { ScrollingMenuReceipt } from \"./ScrollingMenuReceipt\";\r\nimport low from \"lowdb\";\r\nimport { default as JsNative } from \"jquery\";\r\nimport LocalStorage from \"lowdb/adapters/LocalStorage\";\r\nconst adapter = new LocalStorage(\"db\");\r\nconst db = low(adapter);\r\n\r\nexport default function IndexPalletsList({\r\n SetTableShipment,\r\n DeletRowId,\r\n Shipment,\r\n ReloadPallets,\r\n setSearch,\r\n Search,\r\n OrdersIds = [],\r\n Container,\r\n setPalletsFun,\r\n LinePath,\r\n Locations,\r\n setLoading,\r\n setContainersSelect,\r\n ContainersSelect,\r\n}) {\r\n const [Pallets, setPallets] = useState([]);\r\n const [Show, setShow] = useState(false);\r\n const [CheckboxListIds, setCheckboxListIds] = useState([]);\r\n const [Search2, setSearch2] = useState(\"\");\r\n\r\n useEffect(() => {\r\n setContainersSelect(Pallets);\r\n }, [Pallets]);\r\n\r\n useEffect(() => {\r\n GetContainers(ContainersSelect, Pallets, GetPalletsFunction);\r\n }, [ContainersSelect]);\r\n\r\n async function GetPalletsFunction(id) {\r\n setLoading(true);\r\n\r\n var el1 = document.querySelector(\r\n \".OrdersClass .progress[style*='background-color: rgba(54, 153, 255, 0.267);']\"\r\n );\r\n var el2 = el1?.parentElement?.getAttribute(\"id\");\r\n\r\n let pallets = await GetItems(id, Shipment);\r\n if (pallets) {\r\n pallets.progress = ProgressBar2(pallets, pallets?.leftQuantity);\r\n var a = Pallets.findIndex((x) => x?.Id === id);\r\n\r\n (pallets?.LineItems ?? []).forEach((x) => {\r\n x.search =\r\n x?.Id +\r\n \"|\" +\r\n x?.ReceiptId +\r\n \"|\" +\r\n x?.PurchaseOrder +\r\n \"|\" +\r\n x?.LeftQuantity +\r\n \"|\" +\r\n x?.Sku;\r\n });\r\n\r\n if (a > -1) {\r\n Pallets[a] = pallets;\r\n setPallets([]);\r\n setTimeout(() => {\r\n setPallets(Pallets);\r\n }, 1);\r\n } else {\r\n setPallets((x) => [...x, pallets]);\r\n }\r\n }\r\n\r\n setTimeout(() => {\r\n setShow(true);\r\n var el3 = document.getElementById(el2);\r\n if (el2 && el3) el3.click();\r\n setLoading(false);\r\n return true;\r\n }, 1000);\r\n }\r\n\r\n JsNative(document).scroll(function() {\r\n var element = document.getElementById(\"TableComponent\");\r\n var rect = element?.getBoundingClientRect();\r\n if (rect && 150 > rect.bottom) {\r\n JsNative(\"#TablePalletFixed\").fadeIn();\r\n } else {\r\n JsNative(\"#TablePalletFixed\").fadeOut();\r\n }\r\n });\r\n\r\n useEffect(() => {\r\n if (DeletRowId && DeletRowId !== 0) GetPalletsFunction(DeletRowId);\r\n }, [DeletRowId]);\r\n\r\n var tableElement, offset;\r\n function GetTale() {\r\n tableElement = JsNative(\".TableComponent\");\r\n offset = tableElement.offset();\r\n }\r\n\r\n function handleDrag(e) {\r\n GetTale();\r\n var pageY = e.pageY;\r\n if (e.changedTouches?.length > 0) pageY = e.changedTouches[0].pageY;\r\n\r\n const style = \"background: #E5EAEE !important\";\r\n if (offset.top < pageY && pageY < offset.top + tableElement.height()) {\r\n tableElement.find(\"th\").attr(\"style\", style);\r\n } else {\r\n tableElement.find(\"th\").removeAttr(\"style\");\r\n }\r\n }\r\n\r\n function handleStop(e) {\r\n GetTale();\r\n var pageY = e.pageY;\r\n if (e.changedTouches?.length > 0) pageY = e.changedTouches[0].pageY;\r\n\r\n if (offset.top < pageY && pageY < offset.top + tableElement.height()) {\r\n PostPallets(CheckboxListIds, Shipment);\r\n tableElement.find(\"th\").removeAttr(\"style\");\r\n }\r\n }\r\n\r\n function CheckboxList(check, Id) {\r\n var array = CheckboxListIds || [];\r\n var find = array?.findIndex((x) => x === Id);\r\n if (find > -1 && !check) {\r\n array.splice(find, 1);\r\n } else if (find === -1 && check) {\r\n array.push(Id);\r\n }\r\n\r\n setCheckboxListIds([...array]);\r\n }\r\n\r\n async function PostPallets(ItemsId, PalletId) {\r\n // return await fetch(`${window.$apiurl}/transload/receipt/shipitems`, {\r\n // method: \"post\",\r\n // withCredentials: true,\r\n // headers: {\r\n // Accept: \"application/json, text/plain, */*\",\r\n // Authorization: `bearer ${db.read().getState().Token}`,\r\n // \"X-FP-API-KEY\": \"iphone\",\r\n // \"Content-Type\": \"application/json\",\r\n // },\r\n // body: JSON.stringify({\r\n // Items: ItemsId,\r\n // ShipmentId: PalletId,\r\n // }),\r\n // }).then(async (response) => {\r\n // if (response.status === 200) {\r\n Notification(\"success\", \"success : \" + ItemsId.join(\", \"));\r\n ItemsId.forEach((x) => {\r\n var a = Pallets.findIndex((y) => x === y.Id);\r\n SetTableShipment(Pallets[a], Pallets[a]?.LeftQuantity);\r\n });\r\n setCheckboxListIds([]);\r\n ReloadPallets();\r\n // } else {\r\n // var msg = response.status !== 200 ? await response.json() : \"\";\r\n // Notification(\"error\", msg?.toString());\r\n // }\r\n // });\r\n }\r\n\r\n function POChaekced(id, bool) {\r\n var list = [];\r\n Pallets.forEach((x) => {\r\n if (+x?.PurchaseOrder === +id && +x?.Id !== 0) list.push(+x?.Id);\r\n });\r\n\r\n if (bool) {\r\n setCheckboxListIds((x) => [...x, ...list]);\r\n } else {\r\n var b = CheckboxListIds;\r\n list.forEach((x) => {\r\n b = b.filter((y) => +y !== +x);\r\n });\r\n setCheckboxListIds(b);\r\n }\r\n }\r\n\r\n function ProgressBar(id, Quantity) {\r\n setPallets((x) => {\r\n var cont = x.find((y) => y.Id === id);\r\n var p = (cont.Cube / cont.Cartons) * Quantity;\r\n cont.progress -= percentage(p, cont.Cube);\r\n if (cont.progress < 0) cont.progress = 0;\r\n return x;\r\n });\r\n var btn = document.querySelector(\".menu-item-wrapper.active .OrdersClass\");\r\n if (btn) btn.click();\r\n }\r\n\r\n function ProgressBar2(cont, Quantity) {\r\n var p = (cont.Cube / cont.Cartons) * Quantity;\r\n cont.progress -= percentage(p, cont.Cube);\r\n if (cont.progress < 0) cont.progress = 0;\r\n return cont.progress;\r\n }\r\n\r\n function percentage(partialValue, totalValue) {\r\n var i = (100 * partialValue) / totalValue;\r\n if (Object.is(i, NaN)) return 100;\r\n return (100 * partialValue) / totalValue;\r\n }\r\n\r\n function ClickBtn(value) {\r\n setShow(false);\r\n var el1 = document.querySelector(\r\n \".OrdersClass .progress[style*='background-color: rgba(54, 153, 255, 0.267);']\"\r\n );\r\n var el2 = el1?.parentElement?.getAttribute(\"id\");\r\n setSearch2(value);\r\n setTimeout(() => {\r\n var el3 = document.getElementById(el2);\r\n if (el2 && el3) el3.click();\r\n setShow(true);\r\n }, 1000);\r\n }\r\n\r\n return (\r\n <>\r\n
    \r\n
    \r\n
    \r\n
    \r\n {Container?.length > 0 ? (\r\n {\r\n var id = newValue?.value;\r\n if (id) GetPalletsFunction(id);\r\n }}\r\n options={Container.map((x) => {\r\n return {\r\n value: x?.Id,\r\n label: x?.EquipmentRef,\r\n };\r\n })}\r\n name=\"PickupCarrierId\"\r\n id=\"PickupCarrierId\"\r\n className=\"w-100 mr-2\"\r\n />\r\n ) : (\r\n \r\n )}\r\n
    \r\n
    \r\n
    \r\n {\r\n if (e.keyCode === 13) {\r\n ClickBtn(e.target.value);\r\n }\r\n }}\r\n onBlur={(e) => {\r\n ClickBtn(e.target.value);\r\n }}\r\n />\r\n
    \r\n
    \r\n
    \r\n
    \r\n {CheckboxListIds?.length > 0 && (\r\n \r\n
    \r\n \r\n {htmlP(CheckboxListIds, \"Items Selected\")}\r\n \r\n
    \r\n \r\n )}\r\n
    \r\n
    \r\n {Pallets?.length > 0 ? (\r\n <>\r\n \r\n \r\n ) : (\r\n \r\n )}\r\n
    \r\n\r\n
    \r\n {!Show && }\r\n
    \r\n
    \r\n \r\n );\r\n}\r\n\r\nfunction PalletsFun({\r\n Search,\r\n item,\r\n Shipment,\r\n SetTableShipment,\r\n CheckboxList,\r\n CheckboxListIds,\r\n POChaekced,\r\n ProgressBar,\r\n setPalletsFun,\r\n LinePath,\r\n Locations,\r\n setLoading,\r\n Search2,\r\n}) {\r\n const [selectedId, setselectedId] = useState(false);\r\n const [Receipts, setReceipts] = useState([]);\r\n\r\n useEffect(() => {\r\n setReceipts([]);\r\n setTimeout(() => {\r\n setReceipts(item);\r\n }, 1);\r\n }, [item, Search]);\r\n\r\n return (\r\n <>\r\n \r\n\r\n
    \r\n {Receipts?.filter((x) => x?.Id === +selectedId).length > 0 && (\r\n <>\r\n
    \r\n
    \r\n
    \r\n
    \r\n {htmlP2(\"PO#\")}\r\n
    \r\n
    \r\n {htmlP2(\"Sku\")}\r\n
    \r\n
    \r\n {htmlP2(\"Qty\")}\r\n
    \r\n
    \r\n {htmlP2(\"Ref N.\")}\r\n
    \r\n
    \r\n {htmlP2(\"DC Location\")}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {htmlP2(\"PO#\")}\r\n
    \r\n
    \r\n {htmlP2(\"Sku\")}\r\n
    \r\n
    \r\n {htmlP2(\"Qty\")}\r\n
    \r\n
    \r\n {htmlP2(\"Ref N.\")}\r\n
    \r\n
    \r\n {htmlP2(\"DC Location\")}\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n )}\r\n\r\n {Receipts?.filter((x) => x?.Id === +selectedId).map((x, i) => (\r\n <>\r\n {x?.LineItems?.filter(\r\n (x) => x?.LeftQuantity !== 0 && x?.search?.includes(Search2)\r\n )?.map((x1, i1) => (\r\n \r\n ))}\r\n\r\n {x?.LineItems?.filter(\r\n (x) => x?.LeftQuantity !== 0 && x?.search?.includes(Search2)\r\n )?.length === 0 && (\r\n \r\n )}\r\n \r\n ))}\r\n
    \r\n \r\n );\r\n}\r\n\r\nasync function GetItems(id, palletId) {\r\n return await fetch(\r\n `${window.$apiurl}/Shipments/GetShipmentReceipts?id=${id}&palletId=${palletId}`,\r\n {\r\n method: \"get\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n }\r\n )\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then(async (res) => {\r\n return res[1];\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n}\r\n\r\nfunction Nodatafound({ title = \"\" }) {\r\n const [Reload, setReload] = useState(true);\r\n\r\n useEffect(() => {\r\n setTimeout(() => {\r\n setReload(false);\r\n }, 1000);\r\n }, []);\r\n\r\n return (\r\n <>\r\n {!Reload ? (\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n

    \r\n {title}\r\n

    \r\n
    \r\n
    \r\n
    \r\n ) : (\r\n
    \r\n \r\n Loading...\r\n \r\n
    \r\n )}\r\n \r\n );\r\n}\r\n\r\nfunction htmlP(list, text) {\r\n return (\r\n <>\r\n {text}\r\n {list.map((x) => (\r\n

    \r\n {x}\r\n

    \r\n ))}\r\n \r\n );\r\n}\r\nfunction htmlP2(text) {\r\n return (\r\n <>\r\n \r\n {text}\r\n \r\n \r\n );\r\n}\r\n\r\nasync function GetContainers(ContainersSelect, Pallets, GetPalletsFunction) {\r\n if (ContainersSelect?.length > 0 && Pallets?.length === 0) {\r\n for (const x of ContainersSelect) {\r\n const contents = await GetPalletsFunction(x?.Id);\r\n }\r\n }\r\n}\r\n","import React, { useEffect, useState } from \"react\";\r\nimport TableComponent from \"./TableComponent\";\r\nimport { Notification } from \"../../../../modules/Notification\";\r\nimport IndexPalletsList from \"./Pallets/IndexPalletsList\";\r\nimport low from \"lowdb\";\r\nimport LocalStorage from \"lowdb/adapters/LocalStorage\";\r\nconst adapter = new LocalStorage(\"db\");\r\nconst db = low(adapter);\r\n\r\nexport default function Index({\r\n iShipmentsID = [],\r\n setPalletsFun,\r\n IsClosedFunction,\r\n IsClosed,\r\n OrdersIds,\r\n LinePath,\r\n Locations,\r\n setLoading,\r\n setContainersSelect,\r\n ContainersSelect,\r\n}) {\r\n const [Table, setTable] = useState([]);\r\n const [DeletRowId, setDeletRowId] = useState(0);\r\n const [ShipmentsID, setShipmentsID] = useState(iShipmentsID);\r\n const [ReloadPalletsList, setReloadPalletsList] = useState(true);\r\n const [Search, setSearch] = useState(\"\");\r\n const [params, setparams] = useState();\r\n const [Container, setContainer] = useState([]);\r\n\r\n function ReloadPallets() {\r\n setReloadPalletsList(false);\r\n setTimeout(() => {\r\n setReloadPalletsList(true);\r\n }, 1);\r\n }\r\n\r\n useEffect(() => {\r\n if (iShipmentsID?.length > 0) {\r\n GetItemsForPallet(iShipmentsID[0]?.Id, setTable);\r\n GetContainers(\r\n iShipmentsID[0]?.WarehouseId,\r\n iShipmentsID[0]?.CustomerId,\r\n setContainer\r\n );\r\n setShipmentsID(iShipmentsID);\r\n }\r\n }, [iShipmentsID]);\r\n\r\n function SetTableShipment(row, Quantity) {\r\n var table = Table;\r\n var a = table.findIndex((x) => x?.Id === row?.Id);\r\n if (a > -1) {\r\n table[a].Quantity += Quantity;\r\n setTable([]);\r\n setTimeout(() => {\r\n setTable(table);\r\n }, 1);\r\n } else {\r\n row.Quantity = Quantity;\r\n setTable((x) => [...x, row]);\r\n }\r\n }\r\n\r\n function DeleteShipmentRow(RecieptId, id) {\r\n setLoading(true);\r\n RemovePallet(id, ShipmentsID[0]?.Id).then(({ status, Message }) => {\r\n if (200 === status) {\r\n Notification(\"success\", \"success : \" + id);\r\n var a = Table.filter((x) => x?.Id !== id);\r\n var b = Table.find((x) => x?.Id === id);\r\n setTable([]);\r\n setDeletRowId(0);\r\n setTimeout(() => {\r\n setTable(a);\r\n setDeletRowId(RecieptId);\r\n }, 1);\r\n } else {\r\n Notification(\"error\", Message?.toString());\r\n }\r\n setLoading(false);\r\n });\r\n }\r\n\r\n useEffect(() => {\r\n if (params?.Items?.length > 0) setTable(params?.Items);\r\n }, [params?.Items]);\r\n\r\n function GetParms(params) {\r\n setparams(params);\r\n }\r\n\r\n return (\r\n <>\r\n {ShipmentsID.map((x, i) => (\r\n \r\n ))}\r\n\r\n {ShipmentsID.length > 0 && ReloadPalletsList && !IsClosed && (\r\n \r\n )}\r\n {IsClosed && }\r\n \r\n );\r\n}\r\n\r\nasync function RemovePallet(PalletId, ShipmentID) {\r\n return await fetch(`${window.$apiurl}/pallets/DeleteItemFromPallet`, {\r\n method: \"post\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify({\r\n PalletId: ShipmentID,\r\n ItemId: PalletId,\r\n }),\r\n }).then(async (response) => {\r\n var msg = response.status !== 200 ? await response.json() : \"\";\r\n var a = { status: response.status, Message: msg?.Message ?? \"\" };\r\n return a;\r\n });\r\n}\r\n\r\nfunction Nodatafound() {\r\n return (\r\n <>\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n

    \r\n Pallet Is Closed\r\n

    \r\n
    \r\n
    \r\n
    \r\n \r\n );\r\n}\r\n\r\nasync function GetItemsForPallet(id, setTable) {\r\n return await fetch(`${window.$apiurl}/pallets/${id}`, {\r\n method: \"get\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n var a = res[1]?.pallet?.ItemsList ?? [];\r\n a.forEach((x) => {\r\n x.Id = x.ItemId;\r\n });\r\n setTable(a);\r\n });\r\n}\r\n\r\nasync function GetContainers(warehouseId, customerId, setContainer) {\r\n /* `${window.$apiurl}/pallets/${id}` */\r\n try {\r\n return await fetch(\r\n `${window.$apiurl}/TransloadReceipts/GetContainers?warehouseId=${warehouseId}&customerId=${customerId}`,\r\n {\r\n method: \"get\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n }\r\n )\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n var a = res[1];\r\n setContainer(a);\r\n });\r\n } catch (error) {}\r\n}\r\n","import { Button } from \"@material-ui/core\";\r\nimport $ from \"jquery\";\r\nimport low from \"lowdb\";\r\nimport LocalStorage from \"lowdb/adapters/LocalStorage\";\r\nimport React, { useEffect, useState } from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { LoadingDialog } from \"../../../../_metronic/_partials/controls\";\r\nimport SelectPagination from \"../../../../_metronic/_partials/widgets/Select/SelectPagination\";\r\nimport { CustomerEditForm } from \"../../../modules/eMPower/pages/PalletsManagmentBeta/customer-edit-dialog/CustomerEditForm\";\r\nimport { Notification } from \"../../../modules/Notification\";\r\nimport Index from \"./AssignToWareHouse/Index\";\r\n\r\nconst adapter = new LocalStorage(\"db\");\r\nconst db = low(adapter);\r\nconst mystyleTabs = {\r\n fontSize: \"13px\",\r\n};\r\n\r\nexport function AssignToWareHouse() {\r\n const [ShipmentIDStat, setShipmentIDStat] = useState([]);\r\n const [WareHouse, setWareHouse] = useState([]);\r\n const [warehouseId, setwarehouseId] = useState();\r\n const [LinePath, setLinePath] = useState({});\r\n const [Locations, setLocations] = useState([]);\r\n const [Pallets, setPallets] = useState([]);\r\n const [PalletId, setPalletId] = useState([]);\r\n const [LocationId, setLocationId] = useState();\r\n const [ShipmentNewModel, setShipmentNewModelt] = useState(false);\r\n const [IsClosed, setIsClosed] = useState(false);\r\n const [OrdersIds, setOrdersIds] = useState([]);\r\n const [NewPalletShow, setNewPalletShow] = useState(false);\r\n const [Loading, setLoading] = useState(false);\r\n const [ContainersSelect, setContainersSelect] = useState([]);\r\n\r\n useEffect(() => {\r\n GetAllLocations(setWareHouse);\r\n window.PalletValues = {};\r\n }, []);\r\n\r\n async function PostNewShipment() {\r\n var label = $(\"#LabelForShipmentID\").val() || \"\";\r\n return await fetch(\r\n `${window.$apiurl}/transload/shipment?label=${label}&orderId=`,\r\n {\r\n method: \"post\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n }\r\n )\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then(async (res) => {\r\n Notification(\"success\", \"Create New Shipment ID : \" + res[1]?.Id);\r\n setShipmentNewModelt(false);\r\n /* GetShipmentsIds(); */\r\n return res[1];\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n\r\n function onHide() {\r\n setNewPalletShow(false);\r\n }\r\n\r\n function saveCustomer(values) {\r\n window.PalletValues = values;\r\n PostModel(values, setPallets, onHide, setPalletId, setIsClosed);\r\n }\r\n return (\r\n <>\r\n \r\n \r\n New Pallet\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n {\r\n setShipmentNewModelt(false);\r\n }}\r\n >\r\n Close\r\n \r\n {\r\n setShipmentNewModelt(false);\r\n var a = await PostNewShipment();\r\n setShipmentIDStat([]);\r\n setTimeout(() => {\r\n if (a?.Id) setShipmentIDStat([a?.Id]);\r\n }, 1);\r\n }}\r\n >\r\n Create\r\n \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n New Pallet\r\n \r\n \r\n \r\n \r\n \r\n\r\n
    \r\n {LocationId && (\r\n {\r\n setNewPalletShow(true);\r\n }}\r\n >\r\n New\r\n \r\n )}\r\n
    \r\n\r\n
    \r\n {PalletId?.length > 0 && (\r\n {\r\n setLoading(true);\r\n PosttoClosed(\r\n PalletId[0]?.Id,\r\n setIsClosed,\r\n IsClosed,\r\n setPallets\r\n ).then(() => {\r\n setLoading(false);\r\n });\r\n }}\r\n >\r\n \r\n {IsClosed ? \"UnClose\" : \"Close\"}\r\n \r\n )}\r\n
    \r\n
    \r\n {PalletId?.length > 0 && (\r\n {\r\n window\r\n .open(\r\n \"/TransloadPalletManifest/\" + Pallets[0]?.Id,\r\n \"_blank\"\r\n )\r\n .focus();\r\n }}\r\n >\r\n View Manifest\r\n \r\n )}\r\n
    \r\n\r\n
    \r\n {WareHouse?.length > 0 ? (\r\n {\r\n return { value: x?.Id, label: x?.WarehouseName };\r\n })}\r\n name=\"id\"\r\n placeholder=\"Select Warehouse ...\"\r\n onChange={async (newValue) => {\r\n var locations = WareHouse.find(\r\n (x) => x?.Id === newValue?.value\r\n )?.Locations;\r\n setwarehouseId(newValue?.value);\r\n setLocations([]);\r\n if (locations) {\r\n setTimeout(() => {\r\n setLocations(locations);\r\n }, 1);\r\n }\r\n }}\r\n />\r\n ) : (\r\n \r\n )}\r\n
    \r\n
    \r\n {Locations?.length > 0 ? (\r\n {\r\n return { value: x?.Id, label: x?.LocationId };\r\n })}\r\n name=\"id\"\r\n placeholder=\"Select Loaction ...\"\r\n onChange={async (newValue) => {\r\n setPallets([]);\r\n setPalletId([]);\r\n if (newValue?.value)\r\n GetPalletsByLocation(newValue?.value).then((x) =>\r\n setPallets(x ?? [])\r\n );\r\n\r\n if (newValue?.value) setLocationId(newValue?.value);\r\n else setLocationId();\r\n }}\r\n />\r\n ) : (\r\n \r\n )}\r\n
    \r\n
    \r\n {Locations?.length > 0 && Pallets?.length > 0 ? (\r\n {\r\n return { value: x?.Id, label: x?.Id };\r\n })}\r\n value={{\r\n value: PalletId[0]?.Id,\r\n label: PalletId[0]?.Id ?? \"Select Pallet\",\r\n }}\r\n name=\"id\"\r\n placeholder=\"Select Pallet ...\"\r\n onChange={async (newValue) => {\r\n var a = Pallets.find((x) => x.Id === newValue?.value);\r\n setIsClosed(a?.Status === \"Closed\");\r\n setPalletId([]);\r\n setTimeout(() => {\r\n if (a) setPalletId([a]);\r\n }, 1);\r\n }}\r\n />\r\n ) : (\r\n \r\n )}\r\n
    \r\n
    \r\n
    \r\n
    \r\n {PalletId.length === 0 && }\r\n {PalletId.length > 0 && (\r\n \r\n )}\r\n
    \r\n \r\n );\r\n}\r\n\r\nfunction Nodatafound() {\r\n return (\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n

    \r\n No data found\r\n

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n}\r\n\r\nasync function PosttoClosed(PalletsIDStat, setIsClosed, IsClosed, setPallets) {\r\n var number = IsClosed ? 82 : 84;\r\n return await fetch(`${window.$apiurl}/Pallets/UpdateSingleStatus`, {\r\n method: \"POST\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify({ Id: PalletsIDStat, StatusId: number }),\r\n }).then(async (response) => {\r\n const statusCode = response.status;\r\n if (statusCode === 200) {\r\n Notification(\"success\", \"success\");\r\n setPallets((x) => {\r\n var index = x.findIndex((y) => y.Id === PalletsIDStat);\r\n if (index > -1) x[index].Status = number === 84 ? \"Closed\" : \"Progress\";\r\n return x;\r\n });\r\n setIsClosed((x) => !x);\r\n } else {\r\n const data = await response.json();\r\n Notification(\"error\", data.Message);\r\n }\r\n });\r\n}\r\n\r\nasync function GetAllLocations(setWareHouse) {\r\n return await fetch(`${window.$apiurl}/Locations/GetAllLocations`, {\r\n method: \"get\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then(async (res) => {\r\n setWareHouse(res[1] ?? []);\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n}\r\n\r\nasync function GetPalletsByLocation(id) {\r\n return await fetch(\r\n `${window.$apiurl}/Pallets/GetPalletsByLocation?locationId=${id}`,\r\n {\r\n method: \"get\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n }\r\n )\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then(async (res) => {\r\n if (res[1]?.length > 0) return res[1];\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n}\r\n\r\nasync function PostModel(\r\n someData,\r\n setPalletsFun,\r\n onHide,\r\n setPalletId,\r\n setIsClosed\r\n) {\r\n return fetch(window.$apiurl + \"/pallets\", {\r\n method: \"post\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(someData),\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n if (res[0] === 200) {\r\n setPalletsFun((x) => {\r\n x = x ?? [];\r\n x.unshift(res[1].palletVm);\r\n window.list = x;\r\n return x;\r\n });\r\n setPalletsFun([]);\r\n setPalletId([]);\r\n setIsClosed(false);\r\n setTimeout(() => {\r\n setPalletsFun(window.list);\r\n setPalletId([res[1].palletVm]);\r\n }, 1);\r\n onHide();\r\n Notification(\"success\", \"Pallet is Created Success\");\r\n }\r\n })\r\n .catch((err) => {\r\n Notification(\"error\", \"Oops\");\r\n });\r\n}\r\n","import React, { useState, useEffect } from \"react\";\r\nimport { makeStyles } from \"@material-ui/core/styles\";\r\nimport Table from \"@material-ui/core/Table\";\r\nimport Draggable from \"react-draggable\";\r\nimport Button from \"@material-ui/core/Button\";\r\nimport TableBody from \"@material-ui/core/TableBody\";\r\nimport TableCell from \"@material-ui/core/TableCell\";\r\nimport TableHead from \"@material-ui/core/TableHead\";\r\nimport Paper from \"@material-ui/core/Paper\";\r\nimport { default as JsNative } from \"jquery\";\r\nimport { Spinner, Modal } from \"react-bootstrap\";\r\nimport IconButton from \"@material-ui/core/IconButton\";\r\nimport { momentDate } from \"../../../../../_metronic/_helpers/ATHelpers\";\r\nimport { DetailMangment } from \"../../../../modules/eMPower/pages/NewShipmentsBeta/customers-table/ModelShipmentManagment\";\r\nimport CloseIcon from \"@material-ui/icons/Close\";\r\nimport TableRow from \"@material-ui/core/TableRow\";\r\nimport { Notification } from \"../../../../modules/Notification\";\r\nimport low from \"lowdb\";\r\nimport LocalStorage from \"lowdb/adapters/LocalStorage\";\r\nimport { OneMoveMaster } from \"../../../../modules/eMPower/pages/Transload/FindOrders/product-Containers/remark-edit-dialog/OneMoveMaster\";\r\nconst adapter = new LocalStorage(\"db\");\r\nconst db = low(adapter);\r\n\r\nconst mystyleTabs = {\r\n fontSize: \"13px\",\r\n};\r\n\r\nexport default function TableComponent({\r\n list = [],\r\n DeleteShipmentRow,\r\n ShipmentID,\r\n InTable,\r\n setDeletRowId,\r\n ClosedPallet,\r\n SavePalletInLocation,\r\n activeBtn,\r\n IsLocationZone = false,\r\n RemovePalletInLocation,\r\n setOSDList,\r\n RemoveSkuId,\r\n}) {\r\n const useStyles = makeStyles((theme) => ({\r\n root: {\r\n width: \"100%\",\r\n },\r\n paper: {\r\n marginTop: theme.spacing(1),\r\n width: \"100%\",\r\n overflowX: \"auto\",\r\n marginBottom: theme.spacing(2),\r\n },\r\n table: {\r\n minWidth: 650,\r\n },\r\n }));\r\n const [ModelShow, setModelShow] = useState(false);\r\n const classes = useStyles();\r\n const [Model, setModel] = useState(false);\r\n const [DetailMangmentShow, setDetailMangmentShow] = useState(false);\r\n const [OnemoveMasterShow, setOnemoveMasterShow] = useState(0);\r\n const [ListOnly, setListOnly] = useState([]);\r\n const [Detail, setDetail] = useState({});\r\n const [IsClosed, setIsClosed] = useState(false);\r\n const [isMove, setisMove] = useState(false);\r\n const [isOpenOSD, setisOpenOSD] = useState(false);\r\n\r\n var tableElement, offset;\r\n function GetTale() {\r\n tableElement = JsNative(\r\n \".collapse.show #LocationElement\" + ShipmentID?.ConsigneeId\r\n );\r\n offset = tableElement.offset();\r\n }\r\n\r\n useEffect(() => {\r\n if (RemoveSkuId) {\r\n var check = ListOnly.findIndex((x) => x.Id === RemoveSkuId);\r\n if (check > -1)\r\n DeleteShipmentRow(ListOnly[check]?.ItemId, ShipmentID?.Id, false).then(\r\n (e) => {\r\n if (e)\r\n setListOnly((x) => {\r\n var index = x.findIndex((y) => y?.ItemId === x[check]?.ItemId);\r\n if (index > -1) x.splice(index, 1);\r\n\r\n if (x.length === 0) setisOpenOSD(false);\r\n return x;\r\n });\r\n }\r\n );\r\n }\r\n }, [RemoveSkuId]);\r\n\r\n function handleDrag(e) {\r\n GetTale();\r\n setisMove(true);\r\n var page = e;\r\n if (e.changedTouches?.length > 0) page = e.changedTouches[0];\r\n if (CheckPosition(offset, page)) {\r\n tableElement.addClass(\"bg-light-primary\");\r\n } else tableElement.removeClass(\"bg-light-primary\");\r\n tableElement.addClass(\"border border-primary border-2\");\r\n }\r\n\r\n function handleStop(e) {\r\n GetTale();\r\n setTimeout(() => {\r\n setisMove(false);\r\n }, 1000);\r\n var page = e;\r\n if (e.changedTouches?.length > 0) page = e.changedTouches[0];\r\n if (CheckPosition(offset, page)) {\r\n var locationId = tableElement.attr(\"data-id\");\r\n setModelShow(locationId);\r\n }\r\n tableElement.removeClass(\"bg-light-primary\");\r\n tableElement.removeClass(\"border border-primary border-2\");\r\n }\r\n\r\n const CheckPosition = (offset1, offset2) => {\r\n try {\r\n if (\r\n offset1.top < offset2.pageY &&\r\n offset2.pageY < offset1.top + tableElement.height() &&\r\n offset1.left < offset2.pageX &&\r\n offset2.pageX < offset1.left + tableElement.width()\r\n )\r\n return true;\r\n else return false;\r\n } catch (error) {\r\n return false;\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n setIsClosed(ShipmentID?.IsClosed);\r\n }, [ShipmentID?.IsClosed]);\r\n\r\n useEffect(() => {\r\n if (InTable?.id === ShipmentID?.Id && InTable?.number !== 0)\r\n GetShipmentId(ShipmentID?.Id).then((e) => {\r\n if (e[0] === 200) {\r\n setListOnly(e[1]?.pallet?.ItemsList ?? []);\r\n }\r\n });\r\n }, [InTable]);\r\n\r\n useEffect(() => {\r\n if (ShipmentID?.Id)\r\n GetShipmentId(ShipmentID?.Id).then((e) => {\r\n if (e[0] === 200) {\r\n setListOnly(e[1]?.pallet?.ItemsList ?? []);\r\n setDetail(e[1]?.pallet ?? {});\r\n }\r\n });\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (OnemoveMasterShow === false)\r\n setDeletRowId((x) => {\r\n return { id: ShipmentID?.Id, number: x.number + 1 };\r\n });\r\n }, [OnemoveMasterShow]);\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n Add pallet {ShipmentID?.Id} in Location {ModelShow}\r\n \r\n \r\n \r\n {\r\n setModelShow(false);\r\n }}\r\n >\r\n Close\r\n \r\n {\r\n setModelShow(false);\r\n SavePalletInLocation(ShipmentID, ModelShow);\r\n }}\r\n >\r\n Ok\r\n \r\n \r\n \r\n {\r\n setModel(false);\r\n }}\r\n >\r\n \r\n
    \r\n
    \r\n Pallet ID\r\n {ShipmentID?.Id}\r\n
    \r\n {!IsLocationZone && (\r\n
    \r\n {\r\n PosttoClosed(\r\n ShipmentID?.Id,\r\n setIsClosed,\r\n IsClosed,\r\n ClosedPallet\r\n );\r\n }}\r\n >\r\n {\" \"}\r\n {!IsClosed ? \"Close Pallet\" : \"UnClose Pallet\"}\r\n \r\n
    \r\n )}\r\n {IsLocationZone && (\r\n
    \r\n {\r\n RemovePalletInLocation(ShipmentID);\r\n }}\r\n >\r\n Remove From this Location\r\n \r\n
    \r\n )}\r\n
    \r\n {\r\n window\r\n .open(\r\n \"/TransloadPalletManifest/\" + ShipmentID?.Id,\r\n \"_blank\"\r\n )\r\n .focus();\r\n }}\r\n >\r\n Pallet Manifest\r\n \r\n
    \r\n
    \r\n {\r\n setModel(false);\r\n }}\r\n >\r\n \r\n \r\n
    \r\n \r\n
    \r\n SKU Count : {ListOnly.length}\r\n {ListOnly.length > 0 ? (\r\n \r\n
    \r\n \r\n \r\n \r\n \r\n Container Number\r\n \r\n \r\n PO#\r\n \r\n \r\n SKU\r\n \r\n \r\n UPC\r\n \r\n \r\n Cartons\r\n \r\n \r\n Description\r\n \r\n \r\n DC Location\r\n \r\n {!IsClosed && (\r\n \r\n Action\r\n \r\n )}\r\n \r\n \r\n \r\n {(ListOnly ?? []).map((item, index) => (\r\n \r\n ))}\r\n \r\n \r\n \r\n \r\n \r\n Total\r\n \r\n \r\n \r\n {ListOnly.reduce((a, b) => +a + +b.Quantity, 0)}\r\n \r\n \r\n \r\n \r\n {!IsClosed && }\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n ) : (\r\n \r\n )}\r\n
    \r\n
    \r\n \r\n \r\n setModel(!isMove)}\r\n onClick={(e) => setModel(!isMove)}\r\n >\r\n \r\n \r\n {ShipmentID?.ConsigneeName ?? \"Empty\"}\r\n \r\n {IsClosed && (\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n {ShipmentID.Id}\r\n \r\n \r\n SKU Count : {ListOnly.length}\r\n \r\n \r\n Carton Count : {ListOnly.reduce((a, b) => +a + +b.Quantity, 0) ?? 0}\r\n \r\n {ShipmentID?.ConsigneeName === \"Scentsy Exception Lane\" &&\r\n ListOnly.length > 0 && (\r\n {\r\n e.preventDefault();\r\n\r\n if (!isOpenOSD) {\r\n var a = ListOnly;\r\n a.forEach((element) => {\r\n element.LeftQuantity = element?.Quantity ?? 0;\r\n element.Location = ShipmentID?.ConsigneeName;\r\n element.Id = element?.ItemId;\r\n });\r\n setOSDList(a);\r\n setisOpenOSD(true);\r\n } else {\r\n setOSDList([]);\r\n setisOpenOSD(false);\r\n }\r\n\r\n e.stopPropagation();\r\n }}\r\n onTouchEnd={(e) => {\r\n e.preventDefault();\r\n\r\n if (!isOpenOSD) {\r\n var a = ListOnly;\r\n a.forEach((element) => {\r\n element.LeftQuantity = element?.Quantity ?? 0;\r\n element.Location = ShipmentID?.ConsigneeName;\r\n element.Id = element?.ItemId;\r\n });\r\n setOSDList(a);\r\n setisOpenOSD(true);\r\n } else {\r\n setOSDList([]);\r\n setisOpenOSD(false);\r\n }\r\n\r\n e.stopPropagation();\r\n }}\r\n >\r\n \r\n \r\n )}\r\n
    \r\n \r\n
    \r\n );\r\n}\r\n\r\nconst TableTrFunction = ({\r\n item,\r\n DeleteShipmentRow,\r\n IsClosed,\r\n ShipmentID,\r\n setListOnly,\r\n}) => {\r\n return (\r\n \r\n {item.ContainerNumber}\r\n {item.PurchaseOrder}\r\n {item.Sku}\r\n {item.Upc}\r\n {item.Quantity}\r\n {item.Description}\r\n {item.Location}\r\n {!IsClosed && (\r\n \r\n {\r\n DeleteShipmentRow(item?.ItemId, ShipmentID?.Id).then((e) => {\r\n if (e)\r\n setListOnly((x) => {\r\n var index = x.findIndex((y) => y?.ItemId === item?.ItemId);\r\n if (index > -1) x.splice(index, 1);\r\n\r\n return x;\r\n });\r\n });\r\n }}\r\n />\r\n \r\n )}\r\n \r\n );\r\n};\r\n\r\nfunction percentage(partialValue, totalValue) {\r\n var a = ((100 * partialValue) / EqSizeToPallet(+totalValue)).toFixed(0);\r\n if (isNaN(a)) return 0;\r\n return ((100 * partialValue) / EqSizeToPallet(+totalValue)).toFixed(0);\r\n}\r\n\r\nfunction EqSizeToPallet(number) {\r\n if (number === 53) return 28;\r\n else if (number === 28) return 24;\r\n else if (number === 20) return 12;\r\n}\r\n\r\nasync function GetShipmentId(id) {\r\n return await fetch(`${window.$apiurl}/pallets/${id}`, {\r\n method: \"get\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then(async (res) => {\r\n return res;\r\n })\r\n .catch((error) => {\r\n Notification(\"error\", \"Shipment ID : \" + id + \" Not Found\");\r\n console.error(error);\r\n return undefined;\r\n });\r\n}\r\n\r\nfunction Nodatafound({ PalletID = 0 }) {\r\n const [Reload, setReload] = useState(true);\r\n\r\n useEffect(() => {\r\n setTimeout(() => {\r\n setReload(false);\r\n }, 2000);\r\n }, []);\r\n\r\n return (\r\n <>\r\n {!Reload ? (\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n

    \r\n Cartons Not Found\r\n

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n ) : (\r\n
    \r\n \r\n Loading...\r\n \r\n
    \r\n )}\r\n \r\n );\r\n}\r\n\r\nasync function PosttoClosed(\r\n PalletsIDStat,\r\n setIsClosed,\r\n IsClosed,\r\n ClosedPallet\r\n) {\r\n /* setLoading(true); */\r\n var number = IsClosed ? 82 : 84;\r\n return await fetch(`${window.$apiurl}/Pallets/UpdateSingleStatus`, {\r\n method: \"POST\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify({ Id: PalletsIDStat, StatusId: number }),\r\n }).then(async (response) => {\r\n const statusCode = response.status;\r\n if (statusCode === 200) {\r\n Notification(\"success\", \"success\");\r\n ClosedPallet(PalletsIDStat, IsClosed);\r\n setIsClosed((x) => !x);\r\n } else {\r\n const data = await response.json();\r\n Notification(\"error\", data.Message);\r\n }\r\n });\r\n}\r\n","import React, { useState, useEffect } from \"react\";\r\nimport Draggable from \"react-draggable\";\r\nimport Button from \"@material-ui/core/Button\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport Select from \"react-select\";\r\nimport { Notification } from \"../../../../../modules/Notification\";\r\nimport { toAbsoluteUrl } from \"../../../../../../_metronic/_helpers\";\r\nimport Checkbox from \"@material-ui/core/Checkbox\";\r\nimport { default as JsNative } from \"jquery\";\r\nimport low from \"lowdb\";\r\nimport SVG from \"react-inlinesvg\";\r\nimport { OverlayTrigger, Tooltip } from \"react-bootstrap\";\r\nimport LocalStorage from \"lowdb/adapters/LocalStorage\";\r\nconst adapter = new LocalStorage(\"db\");\r\nconst db = low(adapter);\r\n\r\nexport default function Item({\r\n item,\r\n SetTableShipment,\r\n ShipmentID,\r\n CheckboxList,\r\n CheckboxListIds,\r\n POChaekced,\r\n ProgressBar,\r\n ParentId,\r\n setPalletsFun,\r\n LinePath,\r\n Locations = [],\r\n setLoading,\r\n isEditItem = false,\r\n setEditItem,\r\n OSDPallet = false,\r\n RemoveSku,\r\n}) {\r\n const [ModelShow, setModelShow] = useState(false);\r\n const [NewPalletShow, setNewPalletShow] = useState(false);\r\n const [stateItem, setstateItem] = useState();\r\n const [Quantity, setQuantity] = useState(0);\r\n const [Color, setColor] = useState(\"primary\");\r\n const [PalletsId, setPalletsId] = useState();\r\n\r\n var tableElement, offset;\r\n function GetTale() {\r\n if (!OSDPallet)\r\n tableElement = JsNative(\".TableComponent\" + stateItem?.ConsigneeId);\r\n else tableElement = JsNative(\".AllTableComponent\");\r\n }\r\n\r\n useEffect(() => {\r\n if (item?.PoBar) item.Id = 0;\r\n setQuantity(item?.LeftQuantity);\r\n\r\n setstateItem(item);\r\n if (\r\n item?.DamagedQuantity > 0 ||\r\n item?.OverQuantity > 0 ||\r\n item?.ShortQuantity > 0\r\n )\r\n setColor(\"warning\");\r\n else if (item.LeftQuantity === 0) setColor(\"dark\");\r\n }, [item]);\r\n\r\n function handleDrag(e) {\r\n GetTale();\r\n var page = e;\r\n if (e.changedTouches?.length > 0) page = e.changedTouches[0];\r\n for (var item in tableElement) {\r\n var ele = tableElement.eq(item).find(\".shadow-sm\");\r\n var thisOffset = ele.offset();\r\n if (CheckPosition(thisOffset, page)) {\r\n ele.addClass(\"bg-light-info\");\r\n } else ele.removeClass(\"bg-light-info\");\r\n ele.addClass(\"border border-info border-2\");\r\n }\r\n }\r\n\r\n function handleStop(e) {\r\n GetTale();\r\n var page = e;\r\n if (e.changedTouches?.length > 0) page = e.changedTouches[0];\r\n for (var item in tableElement) {\r\n var ele = tableElement.eq(item).find(\".shadow-sm\");\r\n var thisOffset = ele.offset();\r\n if (CheckPosition(thisOffset, page)) {\r\n setPalletsId(tableElement.eq(item).attr(\"id\"));\r\n setQuantity(stateItem?.LeftQuantity ?? 0);\r\n setModelShow(true);\r\n }\r\n ele.removeClass(\"bg-light-info\");\r\n ele.removeClass(\"border border-info border-2\");\r\n }\r\n }\r\n\r\n const CheckPosition = (offset1, offset2) => {\r\n try {\r\n if (\r\n offset1.top < offset2.pageY &&\r\n offset2.pageY < offset1.top + tableElement.height() &&\r\n offset1.left < offset2.pageX &&\r\n offset2.pageX < offset1.left + tableElement.width()\r\n )\r\n return true;\r\n else return false;\r\n } catch (error) {\r\n return false;\r\n }\r\n };\r\n\r\n function handleSave() {\r\n PostPallet(stateItem?.Id, PalletsId, +Quantity).then(\r\n ({ status, Message }) => {\r\n if (200 === status) {\r\n Notification(\"success\", \"success : \" + stateItem?.Id);\r\n var thisItem = stateItem;\r\n thisItem.LeftQuantity -= +Quantity;\r\n thisItem.Id = stateItem?.Id;\r\n setstateItem();\r\n SetTableShipment(PalletsId, +Quantity);\r\n if (OSDPallet) RemoveSku(stateItem?.Id);\r\n else ProgressBar(stateItem?.ParentId, +Quantity);\r\n setTimeout(() => {\r\n setstateItem(thisItem);\r\n setQuantity(item.LeftQuantity);\r\n setPalletsId();\r\n }, 1);\r\n } else {\r\n Notification(\"error\", Message?.toString());\r\n }\r\n if (item.LeftQuantity === 0) setColor(\"dark\");\r\n }\r\n );\r\n }\r\n\r\n function htmlP2(text2) {\r\n return (\r\n <>\r\n {text2}\r\n \r\n );\r\n }\r\n\r\n return (\r\n <>\r\n <>\r\n \r\n \r\n Item {stateItem?.Container}\r\n \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {\r\n var value = e.target?.value ?? \"\";\r\n setQuantity(value);\r\n if (\r\n value === \"\" ||\r\n +value === 0 ||\r\n +value > stateItem?.LeftQuantity\r\n ) {\r\n Notification(\r\n \"warning\",\r\n \"Should value between 1 to \" + stateItem?.LeftQuantity\r\n );\r\n }\r\n }}\r\n />\r\n
    \r\n
    \r\n
    \r\n \r\n {\r\n setModelShow(false);\r\n }}\r\n >\r\n Close\r\n \r\n stateItem?.LeftQuantity\r\n }\r\n className=\"btn btn-primary btn-elevate\"\r\n onClick={() => {\r\n setModelShow(false);\r\n handleSave();\r\n }}\r\n >\r\n Ok\r\n \r\n \r\n
    \r\n\r\n {/* New Pallet */}\r\n {(Color !== \"dark\" || isEditItem) && (\r\n <>\r\n \r\n \r\n New Pallet\r\n \r\n \r\n
    \r\n
    \r\n {IsValid(\"Customer\", stateItem?.CustomerName)}\r\n
    \r\n
    \r\n {IsValid(\"To Consignee\", stateItem?.Location)}\r\n
    \r\n
    \r\n {IsValid(\"Shipper\", stateItem?.ShipperName)}\r\n
    \r\n
    \r\n {IsValid(\"Warehouse\", stateItem?.WarehouseName)}\r\n
    \r\n
    \r\n
    \r\n \r\n {\r\n setNewPalletShow(false);\r\n }}\r\n >\r\n Close\r\n \r\n {\r\n setNewPalletShow(false);\r\n PostModel(\r\n {\r\n CustomerId: stateItem?.CustomerId,\r\n ConsigneeId: stateItem?.ConsigneeId,\r\n ShipperId: stateItem?.ShipperId,\r\n WarehouseId: stateItem?.WarehouseId,\r\n },\r\n setPalletsFun\r\n );\r\n }}\r\n >\r\n Create\r\n \r\n \r\n
    \r\n\r\n \r\n \r\n
    \r\n \r\n \r\n \r\n Sku : {stateItem?.Sku ?? \"(Sku Not Found)\"}\r\n \r\n \r\n \r\n PO# : {stateItem?.PurchaseOrder ?? \"Empty\"}\r\n \r\n\r\n {isEditItem && !OSDPallet && (\r\n {\r\n e.preventDefault();\r\n GetItem(stateItem?.Id, setEditItem);\r\n e.stopPropagation();\r\n }}\r\n onTouchEnd={(e) => {\r\n e.preventDefault();\r\n GetItem(stateItem?.Id, setEditItem);\r\n e.stopPropagation();\r\n }}\r\n >\r\n \r\n \r\n )}\r\n {!OSDPallet && (\r\n {\r\n e.preventDefault();\r\n setNewPalletShow(true);\r\n e.stopPropagation();\r\n }}\r\n onTouchEnd={(e) => {\r\n e.preventDefault();\r\n setNewPalletShow(true);\r\n e.stopPropagation();\r\n }}\r\n >\r\n \r\n \r\n )}\r\n \r\n \r\n {stateItem?.LeftQuantity}\r\n \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n )}\r\n \r\n \r\n );\r\n}\r\n\r\nasync function PostPallet(ItemId, PalletId, UnitCount) {\r\n return await fetch(`${window.$apiurl}/pallets/AddCartonToPallet`, {\r\n method: \"post\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify({\r\n ItemId: ItemId,\r\n PalletId: PalletId,\r\n Quantity: UnitCount,\r\n }),\r\n }).then(async (response) => {\r\n var msg = response.status !== 200 ? await response.json() : \"\";\r\n return {\r\n status: response.status,\r\n Message: msg?.Message ?? \"\",\r\n };\r\n });\r\n}\r\n\r\nfunction IsValid(name, str, Components = false) {\r\n try {\r\n if (str?.includes(\"null\") || str?.includes(\"undefined\")) str = undefined;\r\n } catch (error) {}\r\n return (\r\n <>\r\n
    \r\n
    \r\n {name}\r\n
    \r\n
    \r\n {Components ? (\r\n Components\r\n ) : (\r\n <>: {str || Empty}\r\n )}\r\n
    \r\n
    \r\n \r\n );\r\n}\r\n\r\nasync function PostModel(someData, setPalletsFun) {\r\n return fetch(window.$apiurl + \"/Pallets\", {\r\n method: \"post\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(someData),\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n if (res[0] === 200) {\r\n setPalletsFun(res[1].palletVm);\r\n Notification(\"success\", \"Pallet is Created Success\");\r\n }\r\n })\r\n .catch((err) => {\r\n Notification(\"error\", \"Oops\");\r\n });\r\n}\r\n\r\nasync function GetItem(id, setEditItem) {\r\n return fetch(\r\n window.$apiurl + \"/transload/receipts/getlineitems?itemId=\" + id,\r\n {\r\n method: \"get\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n }\r\n )\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n if (res[0] === 200) {\r\n var el1 = document.querySelector(\r\n \".OrdersClass .progress[style*='background-color: rgba(54, 153, 255, 0.267);']\"\r\n );\r\n window.ReceiptId = el1?.parentElement\r\n ?.getAttribute(\"id\")\r\n ?.split(\"id\")[1];\r\n\r\n setEditItem(res[1][\"LineItems\"][0]);\r\n }\r\n })\r\n .catch((err) => {\r\n Notification(\"error\", \"Oops\");\r\n });\r\n}\r\n","import React, { useState, useEffect } from \"react\";\r\nimport ScrollMenu from \"react-horizontal-scrolling-menu\";\r\n\r\nconst MenuItem = ({ text, selected, progress, id, Color }) => {\r\n return (\r\n
    \r\n \r\n
    \r\n \r\n \r\n \r\n {text}\r\n \r\n {progress?.toFixed(0)}%\r\n \r\n \r\n

    \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nconst Menu = (list, selected, Color) =>\r\n list.map((el) => {\r\n const { EquipmentNumber, progress, wareHouse, Id } = el;\r\n return (\r\n \r\n );\r\n });\r\n\r\nexport function ScrollingMenuReceipt({\r\n list = [],\r\n setselectedId,\r\n Color = \"info\",\r\n Title = \"\",\r\n}) {\r\n const Arrow = ({ text, className }) => {\r\n return
    {text}
    ;\r\n };\r\n\r\n const ArrowLeft = Arrow({\r\n text: \"\",\r\n className: \"fa fa-chevron-circle-left fSize2 text-\" + Color,\r\n });\r\n const ArrowRight = Arrow({\r\n text: \"\",\r\n className: \"fa fa-chevron-circle-right fSize2 text-\" + Color,\r\n });\r\n\r\n const [selected, setselected] = useState();\r\n const menu = Menu(list, selected, Color);\r\n\r\n useEffect(() => {\r\n if (list?.length > 0) {\r\n var a = list[0]?.Id;\r\n onSelect(a);\r\n }\r\n }, [list]);\r\n\r\n const onSelect = (key) => {\r\n setselectedId(false);\r\n setTimeout(() => {\r\n setselectedId(key);\r\n }, 1);\r\n setselected(key);\r\n };\r\n\r\n return (\r\n <>\r\n
    \r\n
    \r\n {Title}\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n );\r\n}\r\n","import React, { useEffect, useState } from \"react\";\r\nimport Item from \"./Item\";\r\nimport { Spinner } from \"react-bootstrap\";\r\nimport { Alert, Accordion } from \"react-bootstrap\";\r\nimport { Button, Icon } from \"@material-ui/core\";\r\nimport clsx from \"clsx\";\r\nimport { default as JsNative } from \"jquery\";\r\nimport { DetailMangment } from \"../../../../../modules/eMPower/pages/PalletsManagmentBeta/customers-table/ModelManagment\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { ScrollingMenuReceipt } from \"./ScrollingMenuReceipt\";\r\nimport low from \"lowdb\";\r\nimport LocalStorage from \"lowdb/adapters/LocalStorage\";\r\nimport Draggable from \"react-draggable\";\r\nconst adapter = new LocalStorage(\"db\");\r\nconst db = low(adapter);\r\n\r\nexport default function IndexPalletsList({\r\n SetTableShipment,\r\n DeletRowId,\r\n setLoading,\r\n ContainerId,\r\n setPalletsFun,\r\n Search,\r\n setSendEmailModal,\r\n setEditItem,\r\n OSDList,\r\n RemoveSku,\r\n setSKUsList,\r\n}) {\r\n const [Pallets, setPallets] = useState([]);\r\n const [Show, setShow] = useState(false);\r\n const [Search2, setSearch2] = useState(\"\");\r\n const [ShowModel, setShowModel] = useState(false);\r\n const [IdSelect, setIdSelect] = useState();\r\n const [CheckboxListIds, setCheckboxListIds] = useState([]);\r\n\r\n const [Items, setItems] = useState([]);\r\n\r\n function SelectIDforPallet(id) {\r\n setIdSelect(id);\r\n setShowModel(true);\r\n }\r\n\r\n useEffect(() => {\r\n CallFunction();\r\n }, [ContainerId]);\r\n\r\n useEffect(() => {\r\n if (DeletRowId?.id !== 0) {\r\n CallFunction();\r\n }\r\n }, [DeletRowId]);\r\n\r\n async function CallFunction() {\r\n (ContainerId ?? []).forEach(async (element, i) => {\r\n const contents = await GetPalletsFunction(\r\n element,\r\n ContainerId.length === i + 1\r\n );\r\n });\r\n }\r\n\r\n async function GetPalletsFunction(id, last) {\r\n setLoading(true);\r\n setShow(false);\r\n var el1 = document.querySelector(\r\n \".OrdersClass .progress[style*='background-color: rgba(54, 153, 255, 0.267);']\"\r\n );\r\n var el2 = el1?.parentElement?.getAttribute(\"id\");\r\n\r\n let items = await GetItems(id);\r\n if (items) {\r\n items.progress = ProgressBar2(items, items?.leftQuantity);\r\n var a = Items.findIndex((x) => x?.Id === id);\r\n\r\n (items?.LineItems ?? []).forEach((x) => {\r\n x.ParentId = items?.Id;\r\n x.search =\r\n x?.Id +\r\n \"|\" +\r\n x?.ReceiptId +\r\n \"|\" +\r\n x?.PurchaseOrder +\r\n \"|\" +\r\n x?.LeftQuantity +\r\n \"|\" +\r\n x?.Sku;\r\n });\r\n\r\n if (a > -1) {\r\n Items[a] = items;\r\n setItems([]);\r\n setTimeout(() => {\r\n setItems(Items);\r\n }, 1);\r\n } else {\r\n setItems((x) => [...x, items]);\r\n }\r\n }\r\n\r\n setTimeout(() => {\r\n if (last) {\r\n var el3 = document.getElementById(el2);\r\n if (el2 && el3) el3.click();\r\n\r\n setLoading(false);\r\n setShow(true);\r\n setTimeout(() => {\r\n if (window.BtnSku) {\r\n var btnSku1 = document.getElementById(window.BtnSku + \"2\");\r\n if (btnSku1) btnSku1.click();\r\n }\r\n }, 200);\r\n }\r\n return true;\r\n }, 200);\r\n }\r\n\r\n function CheckboxList(check, Id) {\r\n var array = CheckboxListIds || [];\r\n var find = array?.findIndex((x) => x === Id);\r\n if (find > -1 && !check) {\r\n array.splice(find, 1);\r\n } else if (find === -1 && check) {\r\n array.push(Id);\r\n }\r\n setCheckboxListIds([...array]);\r\n }\r\n\r\n var tableElement, offset;\r\n function GetTale() {\r\n var shipID = Pallets.find((x) => x.Id === CheckboxListIds[0])?.ShipID;\r\n tableElement = JsNative(\".TableComponent\" + shipID);\r\n offset = tableElement.offset();\r\n\r\n return shipID;\r\n }\r\n\r\n const CheckPosition = (offset1, offset2) => {\r\n try {\r\n if (\r\n offset1.top < offset2.pageY &&\r\n offset2.pageY < offset1.top + tableElement.height() &&\r\n offset1.left < offset2.pageX &&\r\n offset2.pageX < offset1.left + tableElement.width()\r\n )\r\n return true;\r\n else return false;\r\n } catch (error) {\r\n return false;\r\n }\r\n };\r\n\r\n function handleDrag(e) {\r\n GetTale();\r\n var page = e;\r\n if (e.changedTouches?.length > 0) page = e.changedTouches[0];\r\n\r\n var ele = tableElement.find(\".shadow-sm\");\r\n if (CheckPosition(offset, page)) {\r\n ele.addClass(\"bg-light-info\");\r\n } else ele.removeClass(\"bg-light-info\");\r\n ele.addClass(\"border border-info border-2\");\r\n }\r\n\r\n function handleStop(e) {\r\n var shipID = GetTale();\r\n var page = e;\r\n if (e.changedTouches?.length > 0) page = e.changedTouches[0];\r\n\r\n var ele = tableElement.find(\".shadow-sm\");\r\n if (CheckPosition(offset, page)) {\r\n PostPallets(CheckboxListIds, shipID);\r\n }\r\n ele.removeClass(\"bg-light-info\");\r\n ele.removeClass(\"border border-info border-2\");\r\n }\r\n\r\n function CheckboxList(check, Id) {\r\n var array = CheckboxListIds || [];\r\n var find = array?.findIndex((x) => x === Id);\r\n if (find > -1 && !check) {\r\n array.splice(find, 1);\r\n } else if (find === -1 && check) {\r\n array.push(Id);\r\n }\r\n setCheckboxListIds([...array]);\r\n }\r\n\r\n async function PostPallets(ItemsId, PalletId) {\r\n ItemsId.forEach((x) => {\r\n var a = Pallets.findIndex((y) => x === y.Id);\r\n SetTableShipment(Pallets[a]);\r\n });\r\n\r\n var find = Pallets.filter((x) => ItemsId.indexOf(x.Id) === -1);\r\n setPallets([]);\r\n setTimeout(() => {\r\n setPallets(find);\r\n }, 1);\r\n\r\n setCheckboxListIds([]);\r\n }\r\n\r\n useEffect(() => {\r\n if (DeletRowId && DeletRowId !== 0) setPallets((x) => [...x, DeletRowId]);\r\n }, [DeletRowId]);\r\n\r\n function ProgressBar(id, Quantity) {\r\n setItems((x) => {\r\n var cont = x.find((y) => y.Id === id);\r\n var p = (cont.Cube / cont.Cartons) * Quantity;\r\n cont.progress -= percentage(p, cont.Cube);\r\n if (cont.progress < 0) cont.progress = 0;\r\n return x;\r\n });\r\n var btn = document.querySelector(\".menu-item-wrapper.active .OrdersClass\");\r\n if (btn) btn.click();\r\n }\r\n\r\n function ProgressBar2(cont, Quantity) {\r\n var p = (cont.Cube / cont.Cartons) * Quantity;\r\n cont.progress -= percentage(p, cont.Cube);\r\n if (cont.progress < 0) cont.progress = 0;\r\n return cont.progress;\r\n }\r\n\r\n function percentage(partialValue, totalValue) {\r\n var i = (100 * partialValue) / totalValue;\r\n if (Object.is(i, NaN)) return 100;\r\n return (100 * partialValue) / totalValue;\r\n }\r\n\r\n function removeId(id) {\r\n var a = Pallets.filter((x) => x?.Id !== id);\r\n setPallets(a ?? []);\r\n }\r\n\r\n function compare(a, b) {\r\n if (a.ShipID < b.ShipID) {\r\n return -1;\r\n }\r\n if (a.ShipID > b.ShipID) {\r\n return 1;\r\n }\r\n return 0;\r\n }\r\n\r\n return (\r\n <>\r\n {\r\n setShowModel(false);\r\n }}\r\n aria-labelledby=\"example-modal-sizes-title-lg\"\r\n >\r\n \r\n \r\n
    \r\n
    \r\n {CheckboxListIds?.length > 0 && (\r\n \r\n
    \r\n \r\n {htmlP(CheckboxListIds, \"Pallets Selected\")}\r\n \r\n
    \r\n \r\n )}\r\n {Items?.length > 0 ? (\r\n <>\r\n \r\n \r\n ) : (\r\n \r\n )}\r\n
    \r\n
    \r\n \r\n );\r\n}\r\n\r\nfunction PalletsFun({\r\n Search,\r\n Items,\r\n Shipment,\r\n SetTableShipment,\r\n CheckboxList,\r\n CheckboxListIds,\r\n POChaekced,\r\n ProgressBar,\r\n setPalletsFun,\r\n LinePath,\r\n Locations,\r\n setLoading,\r\n Show,\r\n Search2,\r\n setSendEmailModal,\r\n setEditItem,\r\n OSDList = [],\r\n RemoveSku,\r\n setSKUsList,\r\n}) {\r\n const [selectedId, setselectedId] = useState(false);\r\n const [Receipts, setReceipts] = useState([]);\r\n const [Receipt, setReceipt] = useState([]);\r\n\r\n const repeat = [];\r\n const CheckReapet = (id) => {\r\n if (repeat.indexOf(id) === -1) {\r\n repeat.push(id);\r\n return true;\r\n } else return false;\r\n };\r\n\r\n useEffect(() => {\r\n setReceipts([]);\r\n setTimeout(() => {\r\n setReceipts(Items);\r\n }, 1);\r\n }, [Items, Search]);\r\n\r\n useEffect(() => {\r\n window.reciept = Receipts;\r\n }, [SetTableShipment]);\r\n\r\n useEffect(() => {\r\n var a = Receipts?.find((x) => x?.Id === +selectedId);\r\n var b = [];\r\n if (a?.LineItems?.length > 0) {\r\n a.LineItems.forEach((element) => {\r\n b.push({ Sku: element?.Sku, Id: element?.Id });\r\n });\r\n setSKUsList([...new Set(b)]);\r\n }\r\n }, [selectedId]);\r\n\r\n return (\r\n <>\r\n
    \r\n {OSDList?.map((x1, i1) => (\r\n <>\r\n {CheckReapet(x1.Location) && (\r\n <>\r\n {i1 !== 0 && (\r\n <>\r\n
    \r\n \r\n )}\r\n
    \r\n \r\n \r\n \r\n {x1?.Location}\r\n \r\n
    \r\n
    \r\n \r\n )}\r\n \r\n \r\n ))}\r\n {OSDList?.length === 0 && (\r\n \r\n )}\r\n\r\n {OSDList?.length === 0 &&\r\n Receipts?.filter((x) => x?.Id === +selectedId).map((x, i) => (\r\n <>\r\n \r\n {x?.LineItems.sort((a, b) =>\r\n a.Location > b.Location ? 1 : b.Location > a.Location ? -1 : 0\r\n )\r\n .filter((x) => x.Sku?.includes(Search))\r\n ?.map((x1, i1) => (\r\n <>\r\n {CheckReapet(x1.Location) && (\r\n <>\r\n {i !== 0 && (\r\n <>\r\n
    \r\n \r\n )}\r\n {\r\n window.BtnSku = \"BtnSku\" + i1;\r\n }}\r\n >\r\n \r\n \r\n \r\n {x1?.Location} - Sku Count :{\" \"}\r\n {\r\n x?.LineItems?.filter(\r\n (z) =>\r\n z?.Location === x1?.Location &&\r\n z?.LeftQuantity > 0\r\n ).length\r\n }\r\n \r\n
    \r\n \r\n \r\n \r\n \r\n <>\r\n {x?.LineItems?.filter(\r\n (z) => z?.Location === x1?.Location\r\n )?.map((x2, i2) => (\r\n \r\n ))}\r\n \r\n \r\n \r\n )}\r\n \r\n ))}\r\n\r\n {x?.LineItems.filter((x) => x.Sku?.includes(Search))?.length ===\r\n 0 && (\r\n \r\n )}\r\n
    \r\n \r\n ))}\r\n
    \r\n \r\n );\r\n}\r\n\r\nfunction Nodatafound({ title = \"\" }) {\r\n const [Reload, setReload] = useState(true);\r\n\r\n useEffect(() => {\r\n setTimeout(() => {\r\n setReload(false);\r\n }, 1000);\r\n }, []);\r\n\r\n return (\r\n <>\r\n {!Reload ? (\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n

    \r\n {title}\r\n

    \r\n
    \r\n
    \r\n
    \r\n ) : (\r\n
    \r\n \r\n Loading...\r\n \r\n
    \r\n )}\r\n \r\n );\r\n}\r\n\r\nfunction htmlP(list, text) {\r\n return (\r\n <>\r\n {text}\r\n {list.map((x) => (\r\n

    \r\n {x}\r\n

    \r\n ))}\r\n \r\n );\r\n}\r\n\r\nasync function GetItems(id) {\r\n return await fetch(`${window.$apiurl}/Pallets/GetItemsForShipment?id=${id}`, {\r\n method: \"get\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then(async (res) => {\r\n return res[1];\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n}\r\n","import React, { useEffect, useState } from \"react\";\r\nimport TableComponent from \"./TableComponent\";\r\nimport { Notification } from \"../../../../modules/Notification\";\r\nimport { Alert, Accordion } from \"react-bootstrap\";\r\nimport Button from \"@material-ui/core/Button\";\r\nimport IndexPalletsList from \"./Pallets/IndexPalletsList\";\r\nimport Icon from \"@material-ui/core/Icon\";\r\nimport clsx from \"clsx\";\r\nimport low from \"lowdb\";\r\nimport LocalStorage from \"lowdb/adapters/LocalStorage\";\r\nconst adapter = new LocalStorage(\"db\");\r\nconst db = low(adapter);\r\n\r\nexport default function Index({\r\n ContainerId,\r\n PalletsIds,\r\n setLoading,\r\n setPalletsFun,\r\n ClosedPallet,\r\n Search,\r\n Location,\r\n SavePalletInLocation,\r\n RemovePalletInLocation,\r\n PalletsinLocation,\r\n activeBtn,\r\n setSendEmailModal,\r\n setEditItem,\r\n setSKUsList,\r\n}) {\r\n const [Table, setTable] = useState([]);\r\n const [DeletRowId, setDeletRowId] = useState({ id: 0, number: 0 });\r\n const [selectedShip, setselectedShip] = useState(false);\r\n const [InTable, setInTable] = useState({ id: 0, number: 0 });\r\n const [OSDList, setOSDList] = useState([]);\r\n const [RemoveSkuId, setRemoveSkuId] = useState();\r\n\r\n function RemoveSku(id) {\r\n setRemoveSkuId();\r\n setTimeout(() => {\r\n setRemoveSkuId(id);\r\n }, 1);\r\n }\r\n\r\n function SetTableShipment(id, Quantity) {\r\n if (id) {\r\n setInTable((x) => {\r\n return { id: +id, number: x.number + 1 };\r\n });\r\n setTimeout(() => {\r\n var el1 = document.querySelector(\r\n \".OrdersClass .progress[style*='background-color: rgba(54, 153, 255, 0.267);']\"\r\n );\r\n if (el1) {\r\n var id = el1?.parentElement?.getAttribute(\"id\")?.split(\"id\")[1];\r\n var number = el1?.parentElement?.getAttribute(\"data-number\");\r\n\r\n if (!window?.reciept) return false;\r\n\r\n var reciept = window.reciept?.find((x) => x?.Id === +id);\r\n if (reciept) {\r\n var a = reciept?.LineItems.filter((x) => x.Sku?.includes(Search));\r\n var b = a.filter((x) => x?.LeftQuantity > 0);\r\n\r\n if (b?.length === 0) {\r\n updatestatus(id);\r\n setSendEmailModal({ Id: id, containerNumber: number });\r\n }\r\n }\r\n }\r\n\r\n if (window.BtnSku) {\r\n var btnSku1 = document.getElementById(window.BtnSku + \"2\");\r\n if (btnSku1) btnSku1.click();\r\n }\r\n }, 1000);\r\n }\r\n }\r\n\r\n async function DeleteShipmentRow(id, IdShip, BackItem = true) {\r\n return await RemovePallet(id, IdShip).then(({ status, Message }) => {\r\n if (200 === status) {\r\n Notification(\"success\", \"success : \" + id);\r\n setTimeout(() => {\r\n setDeletRowId((x) => {\r\n return { id: BackItem ? IdShip : 0, number: x.number + 1 };\r\n });\r\n }, 1);\r\n return true;\r\n } else {\r\n Notification(\"error\", Message?.toString());\r\n return false;\r\n }\r\n });\r\n }\r\n\r\n return (\r\n <>\r\n
    \r\n
    \r\n {ContainerId && (\r\n \r\n )}\r\n
    \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n );\r\n}\r\n\r\nasync function RemovePallet(ItemId, PalletId) {\r\n return await fetch(`${window.$apiurl}/Pallets/DeleteItemFromPallet`, {\r\n method: \"post\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify({\r\n PalletId: PalletId,\r\n ItemId: ItemId,\r\n }),\r\n }).then(async (response) => {\r\n var msg = response.status !== 200 ? await response.json() : \"\";\r\n var a = { status: response.status, Message: msg?.Message ?? \"\" };\r\n return a;\r\n });\r\n}\r\n\r\nfunction Nodatafound() {\r\n return (\r\n <>\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n

    \r\n Shipment Is Closed\r\n

    \r\n
    \r\n
    \r\n
    \r\n \r\n );\r\n}\r\n\r\nfunction ShipmentFun({\r\n Table = [],\r\n ShipmentsID,\r\n setselectedShip,\r\n DeleteShipmentRow,\r\n InTable,\r\n setDeletRowId,\r\n setLoading,\r\n ClosedPallet,\r\n SavePalletInLocation,\r\n activeBtn,\r\n setOSDList,\r\n RemoveSkuId,\r\n}) {\r\n const [selectedId, setselectedId] = useState(false);\r\n\r\n useEffect(() => {\r\n setselectedShip(selectedId);\r\n }, [selectedId]);\r\n\r\n return (\r\n
    \r\n
    \r\n
    \r\n Pallets\r\n
    \r\n\r\n {ShipmentsID.map((x, i) => (\r\n
    \r\n
    \r\n );\r\n}\r\n\r\nfunction LocationFun({ Location, PalletsinLocation, RemovePalletInLocation }) {\r\n return (\r\n
    \r\n \r\n
    \r\n {PalletsinLocation.map((x, i0) => (\r\n <>\r\n \r\n \r\n
    \r\n Warehouse Location {x?.location?.LocationId} - Count :{\" \"}\r\n {x.pallets?.length ?? 0}\r\n
    \r\n
    \r\n \r\n \r\n\r\n \r\n \r\n {x.pallets?.length > 0 ? (\r\n <>\r\n {x.pallets.map((x1, i) => (\r\n \r\n ))}\r\n \r\n ) : (\r\n \r\n Please Select Location\r\n \r\n )}\r\n
    \r\n \r\n \r\n ))}\r\n
    \r\n \r\n
    \r\n );\r\n}\r\n\r\nasync function updatestatus(id) {\r\n return await fetch(`${window.$apiurl}/receiptsmanagement/updatestatus`, {\r\n method: \"post\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify({ Ids: [id], StatusId: 21 }),\r\n }).then(async (response) => {\r\n if (response.status === 200) {\r\n Notification(\"success\", \"update status To Devannded\");\r\n } else {\r\n var msg = response.status !== 200 ? await response.json() : \"\";\r\n Notification(\"error\", msg?.toString());\r\n }\r\n });\r\n}\r\n","/* eslint-disable no-restricted-imports */\r\nimport React, { useState, useEffect, useMemo } from \"react\";\r\nimport { Modal, Spinner } from \"react-bootstrap\";\r\nimport { shallowEqual, useDispatch, useSelector } from \"react-redux\";\r\nimport {\r\n ModalProgressBar,\r\n Input,\r\n CheckboxLarge,\r\n} from \"../../../../../_metronic/_partials/controls\";\r\n/* import { useCustomersUIContext } from \"../CustomersUIContext\"; */\r\nimport { Formik, Form, Field } from \"formik\";\r\nimport low from \"lowdb\";\r\nimport LocalStorage from \"lowdb/adapters/LocalStorage\";\r\nimport CreatableSelect from \"react-select/creatable\";\r\nimport { CKEditor } from \"@ckeditor/ckeditor5-react\";\r\nimport ClassicEditor from \"@ckeditor/ckeditor5-build-classic\";\r\n\r\nimport CloseIcon from \"@material-ui/icons/Close\";\r\nimport IconButton from \"@material-ui/core/IconButton\";\r\nimport { Notification } from \"../../../../modules/Notification\";\r\nconst adapter = new LocalStorage(\"db\");\r\nconst db = low(adapter);\r\n\r\nexport function SendEmail({ id, containerNumber, show, onHide }) {\r\n // Products UI Context\r\n const [EmailAddressList, setEmailAddressList] = useState(null);\r\n const [AttachementList, setAttachementList] = useState([]);\r\n const [ToData, setToData] = useState(null);\r\n const [ToDataDefeault, setToDataDefeault] = useState(null);\r\n\r\n const [SubjectData, setSubjectData] = useState(null);\r\n const [includCCData, setincludCCData] = useState(false);\r\n const [includDispatchReport, setincludDispatchReport] = useState(false);\r\n const [BodyData, setBodyData] = useState(null);\r\n const [AttachmentData, setAttachmentData] = useState([]);\r\n const [AccessLevels, setAccessLevels] = useState([]);\r\n const [AttachmentTypes, setAttachmentTypes] = useState([]);\r\n const [isLoadingSubmit, setisLoadingSubmit] = useState(false);\r\n const [isLoadingSend, setisLoadingSend] = useState(false);\r\n\r\n /* const customersUIContext = useCustomersUIContext();\r\n const customersUIProps = useMemo(() => {\r\n return {\r\n setIds: customersUIContext.setIds,\r\n queryParams: customersUIContext.queryParams,\r\n };\r\n }, [customersUIContext]); */\r\n\r\n // Products Redux state\r\n const dispatch = useDispatch();\r\n const { isLoading } = useSelector(\r\n (state) => ({ isLoading: state.products.actionsLoading }),\r\n shallowEqual\r\n );\r\n\r\n // if !id we should close modal\r\n useEffect(() => {\r\n if (!id) {\r\n onHide();\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [id]);\r\n useEffect(() => {\r\n fetchUsersAsync();\r\n setTimeout(() => {\r\n setBodyData(\r\n `Mitco Receipt Id-Container: ${id}-${containerNumber}`\r\n );\r\n setincludDispatchReport(false);\r\n setSubjectData(`Empty ${id}-${containerNumber}`);\r\n }, 500);\r\n }, [id]);\r\n const fetchUsersAsync = async () => {\r\n try {\r\n setAttachmentData([]);\r\n setAttachementList([]);\r\n if (id !== null) {\r\n var myHeaders = new Headers();\r\n myHeaders.append(\r\n \"Authorization\",\r\n `bearer ${db.read().getState().Token}`\r\n );\r\n myHeaders.append(\"Content-Type\", \"application/json\");\r\n myHeaders.append(\"X-FP-API-KEY\", \"iphone\");\r\n var requestOptions = {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: myHeaders,\r\n redirect: \"follow\",\r\n };\r\n fetch(\r\n window.$apiurl + \"/receiptsManagement/getsendEmail/\" + id,\r\n requestOptions\r\n )\r\n .then((response) => response.text())\r\n .then((result) => {\r\n const resultobj = JSON.parse(result);\r\n var obj = [];\r\n var obj2 = [];\r\n resultobj.Emails.map((item, index) => {\r\n obj.push({ value: item.Email, label: item.Email });\r\n obj2.push({ Email: item.Email, Name: item.Email });\r\n });\r\n setToDataDefeault(obj);\r\n setToData(obj2);\r\n setEmailAddressList(obj);\r\n getAttachmentData();\r\n })\r\n .catch((error) => console.log(\"error\", error));\r\n\r\n fetch(window.$apiurl + \"/carriers/transport/getviewmodel\", {\r\n method: \"get\",\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n Accept: \"application/json, text/plain, */*\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then((response) => response.text())\r\n .then((result) => {\r\n const objs = JSON.parse(result);\r\n setAccessLevels(objs.AccessLevels);\r\n setAttachmentTypes(objs.AttachmentTypes);\r\n })\r\n .catch((error) => console.log(\"error\", error));\r\n }\r\n } catch (e) {}\r\n };\r\n // looking for loading/dispatch\r\n useEffect(() => {}, [isLoading, dispatch]);\r\n\r\n const deleteProduct = async () => {\r\n if (ToData === null) {\r\n Notification(\"error\", \"Please fill email Info\");\r\n return;\r\n }\r\n // server request for deleting product by id\r\n setisLoadingSend(true);\r\n var data = {};\r\n\r\n data = {\r\n Emails: ToData,\r\n Subject: SubjectData,\r\n Body: BodyData,\r\n IncludeCc: includCCData,\r\n Attachments: AttachmentData,\r\n DispatchedContainer: includDispatchReport,\r\n };\r\n\r\n var raw = JSON.stringify(data);\r\n console.log(raw);\r\n var requestOptions = {\r\n method: \"POST\",\r\n body: raw,\r\n redirect: \"follow\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n };\r\n var url = \"/receiptsmanagement/sendEmail/\" + id;\r\n\r\n let response = await fetch(`${window.$apiurl}` + url, requestOptions);\r\n if (response.status === 200) {\r\n Notification(\"success\", \"Email sent successfuly for Receipt ID \" + id);\r\n\r\n setToData(null);\r\n setToDataDefeault(null);\r\n setSubjectData(null);\r\n setBodyData(\"\");\r\n setincludCCData(false);\r\n setincludDispatchReport(false);\r\n setAttachmentData([]);\r\n setisLoadingSend(false);\r\n onHide();\r\n } else {\r\n Notification(\"error\", \"invalid data\");\r\n setisLoadingSend(false);\r\n onHide();\r\n }\r\n };\r\n\r\n ///----------------------\r\n async function SaveShipementAattachement() {\r\n if (\r\n document.getElementById(\"shipmentAttachmentList\").files[0] === undefined\r\n ) {\r\n Notification(\"error\", \"Please select Attachment\");\r\n return;\r\n }\r\n setisLoadingSubmit(true);\r\n var formdata = new FormData();\r\n const inputElement = document.getElementById(\"shipmentAttachmentList\");\r\n const AccessLevelId = document.getElementById(\"shipmentAccessLevelIdList\")\r\n .value;\r\n const AttachmentTypeId = document.getElementById(\r\n \"shipmentAttachmentTypeIdList\"\r\n ).value;\r\n\r\n formdata.append(\r\n \"File\",\r\n inputElement.files[0],\r\n inputElement.value.split(\"\\\\\")[2]\r\n );\r\n var requestOptions = {\r\n method: \"POST\",\r\n body: formdata,\r\n redirect: \"follow\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n },\r\n };\r\n let response = await fetch(\r\n `${window.$apiurl}/transload/receipts/addattachment?receiptId=` +\r\n id +\r\n \"&attachmentTypeId=\" +\r\n AttachmentTypeId +\r\n \"&accessLevelId=\" +\r\n AccessLevelId,\r\n requestOptions\r\n );\r\n let data = await response.json();\r\n var inputs = document.querySelectorAll(\".ReceiptAttachmentCheckBox\");\r\n for (var i = 0; i < inputs.length; i++) {\r\n inputs[i].checked = false;\r\n }\r\n setisLoadingSubmit(false);\r\n setAttachmentData([]);\r\n setAttachementList([]);\r\n getAttachmentData();\r\n }\r\n\r\n async function getAttachmentData() {\r\n var myHeaders = new Headers();\r\n myHeaders.append(\"Authorization\", `bearer ${db.read().getState().Token}`);\r\n myHeaders.append(\"Content-Type\", \"application/json\");\r\n myHeaders.append(\"X-FP-API-KEY\", \"iphone\");\r\n var requestOptions = {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: myHeaders,\r\n redirect: \"follow\",\r\n };\r\n fetch(\r\n window.$apiurl + \"/transload/receipts/getattachments/\" + id,\r\n requestOptions\r\n )\r\n .then((response) => response.text())\r\n .then((result) => {\r\n const resultobj = JSON.parse(result);\r\n setAttachmentData(\r\n resultobj\r\n .filter((a) => a.Type.includes(\"Empty Container\"))\r\n .map((a) => a.Id)\r\n );\r\n\r\n setTimeout(() => {\r\n setAttachementList(resultobj || []);\r\n }, 100);\r\n })\r\n .catch((error) => console.log(\"error\", error));\r\n }\r\n return (\r\n \r\n {isLoading && }\r\n \r\n \r\n Receipt Send\r\n \r\n \r\n \r\n \r\n \r\n \r\n {isLoading && Receipt Documents is Sending...}\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    To:

    \r\n {EmailAddressList && (\r\n {\r\n var obj = [];\r\n var objDefeault = [];\r\n if (e) {\r\n {\r\n e.map((item, index) => {\r\n obj.push({ Email: item.value, Name: item.label });\r\n objDefeault.push({\r\n value: item.value,\r\n label: item.value,\r\n });\r\n });\r\n }\r\n }\r\n setToDataDefeault(objDefeault);\r\n setToData(obj);\r\n }}\r\n />\r\n )}\r\n\r\n {\r\n setincludCCData(event.target.checked);\r\n }}\r\n />\r\n
    \r\n
    \r\n

    Subject:

    \r\n {\r\n setSubjectData(event.target.value);\r\n }}\r\n />\r\n
    \r\n
    \r\n

    Body:

    \r\n\r\n {\r\n const data = editor.getData();\r\n setBodyData(data);\r\n }}\r\n />\r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Attachments

    \r\n
    \r\n {AttachementList.length > 0\r\n ? AttachementList?.map((item, index) => {\r\n return (\r\n
    \r\n
    \r\n \r\n String(a).includes(String(item.Id))\r\n ).length > 0\r\n }\r\n Size=\"12px\"\r\n name={`xxxxx${index}`}\r\n value={item.Id}\r\n className=\"ReceiptAttachmentCheckBox\"\r\n onChange={(event) => {\r\n var obj = AttachmentData;\r\n if (event.target.checked) {\r\n obj.push(event.target.value);\r\n setAttachmentData(obj);\r\n } else {\r\n setAttachmentData(\r\n AttachmentData.filter(\r\n (a) =>\r\n String(a) !==\r\n String(event.target.value)\r\n )\r\n );\r\n }\r\n }}\r\n />\r\n \r\n {item.Type}\r\n \r\n
    \r\n
    \r\n );\r\n })\r\n : \"\"}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Add Attachment

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

    Attachment Type

    \r\n \r\n {AttachmentTypes.map((item, index) => (\r\n \r\n ))}\r\n \r\n
    \r\n
    \r\n

    Access Level

    \r\n \r\n {AccessLevels.map((item, index) => (\r\n \r\n ))}\r\n \r\n
    \r\n
    \r\n \r\n Save Attachment\r\n {isLoadingSubmit && (\r\n \r\n )}\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n Cancel\r\n \r\n <> \r\n \r\n Send Email\r\n {isLoadingSend && (\r\n \r\n )}\r\n \r\n
    \r\n
    \r\n \r\n );\r\n}\r\n","import React, { useEffect, useState } from \"react\";\r\nimport Index from \"./AssignToWareHouseFolder/Index\";\r\nimport $ from \"jquery\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport {\r\n LoadingDialog,\r\n AttachementsComponent,\r\n} from \"../../../../_metronic/_partials/controls\";\r\nimport { Notification } from \"../../../modules/Notification\";\r\nimport Button from \"@material-ui/core/Button\";\r\nimport low from \"lowdb\";\r\nimport { RemarkEditForm } from \"../../../modules/eMPower/pages/Transload/FindOrders/product-Receiving/remark-edit-dialog/RemarkEditForm.js\";\r\nimport Select from \"react-select\";\r\nimport SelectPagination from \"../../../../_metronic/_partials/widgets/Select/SelectPagination\";\r\nimport LocalStorage from \"lowdb/adapters/LocalStorage\";\r\nimport { SendEmail } from \"./AssignToWareHouseFolder/SendEmail\";\r\n\r\nconst adapter = new LocalStorage(\"db\");\r\nconst db = low(adapter);\r\n\r\nconst mystyleTabs = {\r\n fontSize: \"13px\",\r\n};\r\n\r\nexport function AssignToWareHousePage() {\r\n const [ShipmentIDStat, setShipmentIDStat] = useState([]);\r\n const [WareHouse, setWareHouse] = useState([]);\r\n const [Containers, setContainers] = useState([]);\r\n const [ContainerId, setContainerId] = useState([]);\r\n const [ShipmentsIds, setShipmentsIds] = useState([]);\r\n const [ShipmentNewModel, setShipmentNewModelt] = useState(false);\r\n const [IsClosed, setIsClosed] = useState(0);\r\n const [Loading, setLoading] = useState(false);\r\n const [Pallets, setPallets] = useState([]);\r\n const [PalletsIds, setPalletsIds] = useState([]);\r\n const [Search, setSearch] = useState(\"\");\r\n const [Locations, setLocations] = useState([]);\r\n const [Location, setLocation] = useState();\r\n const [PalletsinLocation, setPalletsinLocation] = useState([]);\r\n const [activeBtn, setactiveBtn] = useState(0);\r\n const [NewItem, setNewItem] = useState(false);\r\n const [EditItem, setEditItem] = useState(false);\r\n const [EditItemFirst, setEditItemFirst] = useState(false);\r\n const [SendEmailModal, setSendEmailModal] = useState(false);\r\n const [JsonItem, setJsonItem] = useState({});\r\n const [SKUsList, setSKUsList] = useState([]);\r\n\r\n const DestinationId = 62905;\r\n\r\n useEffect(() => {\r\n GetAllLocations(setWareHouse);\r\n window.openSendEmail = false;\r\n }, []);\r\n\r\n function setPalletsFun(params) {\r\n if (params?.Id) {\r\n var a = Pallets;\r\n var b = PalletsIds;\r\n params.ConsigneeName = params.ConsigneeComapanyName;\r\n a.unshift(params);\r\n b.push(params);\r\n setPallets([]);\r\n setPalletsIds([]);\r\n setTimeout(() => {\r\n setPallets(a);\r\n setPalletsIds(b);\r\n }, 1);\r\n }\r\n }\r\n\r\n function ClosedPallet(id, IsClosed) {\r\n setPallets((x) => {\r\n var a = x.findIndex((x) => x?.Id === id);\r\n if (a > -1) {\r\n x[a].IsClosed = !IsClosed;\r\n }\r\n return x;\r\n });\r\n }\r\n\r\n function saveRemark(values) {\r\n PostModel(values).then((e) => {\r\n if (e) {\r\n var a = ContainerId;\r\n setContainerId([]);\r\n setTimeout(() => {\r\n setContainerId(a);\r\n }, 1);\r\n OnHide();\r\n }\r\n });\r\n }\r\n function OnHide() {\r\n setNewItem(false);\r\n }\r\n\r\n //Edit Item\r\n function saveRemarkEdit(values) {\r\n PutItem(values).then((e) => {\r\n if (e) {\r\n var a = ContainerId;\r\n setContainerId([]);\r\n setTimeout(() => {\r\n setContainerId(a);\r\n }, 1);\r\n OnHideEdit();\r\n }\r\n });\r\n }\r\n function OnHideEdit() {\r\n setEditItem(false);\r\n }\r\n\r\n function OnHide2() {\r\n setSendEmailModal(false);\r\n }\r\n\r\n function SavePalletInLocation(pallet, location) {\r\n const model = {\r\n Id: pallet?.Id,\r\n CustomerId: pallet?.CustomerId,\r\n ConsigneeId: pallet?.ConsigneeId,\r\n ShipperId: pallet?.ShipperId,\r\n WarehouseId: pallet?.WarehouseId,\r\n LocationId: location,\r\n CheckCount: true,\r\n };\r\n PutModel(model).then((e) => {\r\n if (e) {\r\n var palletsinLocation = PalletsinLocation;\r\n var find = palletsinLocation.findIndex(\r\n (x) => x?.location?.Id === +location\r\n );\r\n if (find > -1) {\r\n var ids = PalletsIds;\r\n var index = ids.findIndex((x) => x.Id === pallet?.Id);\r\n if (index > -1) ids.splice(index, 1);\r\n if (!palletsinLocation[find].pallets)\r\n palletsinLocation[find].pallets = [];\r\n palletsinLocation[find].pallets.unshift(pallet);\r\n\r\n var ids2 = Pallets;\r\n var index2 = ids2.findIndex((x) => x.Id === pallet?.Id);\r\n if (index2 > -1) ids2.splice(index2, 1);\r\n\r\n setPalletsinLocation([]);\r\n setPalletsIds([]);\r\n setPallets([]);\r\n\r\n setTimeout(() => {\r\n setPalletsinLocation(palletsinLocation);\r\n setPalletsIds(ids);\r\n setPallets(ids2);\r\n }, 1);\r\n }\r\n }\r\n });\r\n }\r\n\r\n function RemovePalletInLocation(pallet) {\r\n const model = {\r\n Id: pallet?.Id,\r\n CustomerId: pallet?.CustomerId,\r\n ConsigneeId: pallet?.ConsigneeId,\r\n ShipperId: pallet?.ShipperId,\r\n WarehouseId: pallet?.WarehouseId,\r\n };\r\n PutModel(model).then((e) => {\r\n if (e) {\r\n var palletsinLocation = PalletsinLocation;\r\n palletsinLocation.forEach((element) => {\r\n if (!element.pallets) element.pallets = [];\r\n var index = element.pallets.findIndex((x) => x.Id === pallet?.Id);\r\n if (index > -1) element.pallets.splice(index, 1);\r\n });\r\n\r\n var pallets = Pallets;\r\n pallets.push(pallet);\r\n\r\n var palletsIds = PalletsIds;\r\n palletsIds.push(pallet);\r\n\r\n setPalletsinLocation([]);\r\n setPalletsIds([]);\r\n setPallets([]);\r\n\r\n setTimeout(() => {\r\n setPalletsinLocation(palletsinLocation);\r\n setPalletsIds(palletsIds);\r\n setPallets(pallets);\r\n }, 1);\r\n }\r\n });\r\n }\r\n\r\n function GetSKu(id) {\r\n if (id) GetItem(id, setEditItem, setEditItemFirst);\r\n }\r\n\r\n return (\r\n <>\r\n {SendEmailModal && (\r\n \r\n )}\r\n\r\n \r\n \r\n New Shipment\r\n \r\n \r\n {\r\n setShipmentNewModelt(false);\r\n }}\r\n >\r\n Close\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n Add New Item in: {window.Container} - {window?.ReceiptId}\r\n \r\n \r\n \r\n \r\n\r\n {/* setEditItemFirst(false)}\r\n >\r\n \r\n Please Select Sku\r\n \r\n \r\n
    \r\n {\r\n return {\r\n value: x?.Id,\r\n label: x?.Sku,\r\n };\r\n })}\r\n onChange={(e) => {\r\n var id = e?.value;\r\n if (id) GetItem(id, setEditItem, setEditItemFirst);\r\n }}\r\n />\r\n
    \r\n
    \r\n \r\n setEditItemFirst(false)}\r\n className=\"btn btn-light btn-elevate\"\r\n >\r\n Close\r\n \r\n \r\n */}\r\n\r\n setEditItemFirst(false)}\r\n >\r\n \r\n Edit Item\r\n \r\n setEditItemFirst(false)}\r\n SKUsList={SKUsList}\r\n GetSKu={GetSKu}\r\n />\r\n \r\n\r\n \r\n \r\n \r\n Edit Item: {EditItem?.Sku} - {EditItem?.PurchaseOrder}\r\n \r\n \r\n \r\n \r\n\r\n \r\n
    \r\n
    \r\n \r\n {WareHouse?.length > 0 ? (\r\n {\r\n return { value: x?.Id, label: x?.WarehouseName };\r\n })}\r\n name=\"id\"\r\n placeholder=\"Select Warehouse ...\"\r\n onChange={async (newValue) => {\r\n var id = newValue?.value;\r\n if (!id) return false;\r\n var pallet = WareHouse.find((x) => x?.Id === id)?.Pallets;\r\n var locations = WareHouse.find((x) => x?.Id === id)\r\n ?.Locations;\r\n GetContainers(id, 90, setContainers);\r\n setPallets([]);\r\n setLocations([]);\r\n setTimeout(() => {\r\n setPallets(pallet ?? []);\r\n setLocations(locations ?? []);\r\n }, 1);\r\n }}\r\n />\r\n ) : (\r\n \r\n )}\r\n
    \r\n \r\n {Containers.length > 0 ? (\r\n {\r\n return {\r\n value: x?.Id,\r\n label: x?.EquipmentRef,\r\n };\r\n })}\r\n onChange={async (newValue) => {\r\n if (!Array.isArray(newValue)) {\r\n setContainerId([]);\r\n return false;\r\n }\r\n var list = [];\r\n newValue.forEach((x) => {\r\n list.push(x?.value);\r\n });\r\n setContainerId([]);\r\n setTimeout(() => {\r\n setContainerId(list);\r\n }, 1);\r\n }}\r\n />\r\n ) : (\r\n \r\n )}\r\n
    \r\n \r\n {ContainerId?.length > 0 ? (\r\n {\r\n var el1 = document.querySelector(\r\n \".OrdersClass .progress[style*='background-color: rgba(54, 153, 255, 0.267);']\"\r\n );\r\n var el2 = el1?.parentElement?.getAttribute(\"id\");\r\n setSearch(e.target.value);\r\n\r\n setTimeout(() => {\r\n var el3 = document.getElementById(el2);\r\n if (el2 && el3) el3.click();\r\n }, 500);\r\n }}\r\n />\r\n ) : (\r\n \r\n )}\r\n
    \r\n
    \r\n setactiveBtn(0)}\r\n >\r\n \r\n \r\n Open\r\n \r\n {\r\n setactiveBtn();\r\n setTimeout(() => {\r\n setactiveBtn(1);\r\n }, 1);\r\n }}\r\n >\r\n \r\n Closed Pallets\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {\r\n var el1 = document.querySelector(\r\n \".OrdersClass .progress[style*='background-color: rgba(54, 153, 255, 0.267);']\"\r\n );\r\n window.ReceiptId = el1?.parentElement\r\n ?.getAttribute(\"id\")\r\n ?.split(\"id\")[1];\r\n window.Container = el1?.parentElement?.getAttribute(\r\n \"data-number\"\r\n );\r\n setJsonItem({\r\n ReceiptId: 0,\r\n UnitOfMeasureId: 2,\r\n DestinationId: DestinationId,\r\n OverOnly: true,\r\n IsOsdNotification: true,\r\n });\r\n setNewItem(true);\r\n }}\r\n >\r\n New Item\r\n \r\n
    \r\n
    \r\n {\r\n var el1 = document.querySelector(\r\n \".OrdersClass .progress[style*='background-color: rgba(54, 153, 255, 0.267);']\"\r\n );\r\n window.ReceiptId = el1?.parentElement\r\n ?.getAttribute(\"id\")\r\n ?.split(\"id\")[1];\r\n window.typeQnty = \"ShortOnly\";\r\n setEditItemFirst(true);\r\n }}\r\n >\r\n Short\r\n \r\n
    \r\n
    \r\n {\r\n var el1 = document.querySelector(\r\n \".OrdersClass .progress[style*='background-color: rgba(54, 153, 255, 0.267);']\"\r\n );\r\n window.ReceiptId = el1?.parentElement\r\n ?.getAttribute(\"id\")\r\n ?.split(\"id\")[1];\r\n window.typeQnty = \"DamagedOnly\";\r\n setEditItemFirst(true);\r\n }}\r\n >\r\n Damaged\r\n \r\n
    \r\n
    \r\n
    \r\n\r\n \r\n {Pallets.length > 0 ? (\r\n {\r\n return {\r\n value: x?.Id,\r\n label: x?.Id + \" - \" + x?.ConsigneeName,\r\n };\r\n })}\r\n value={PalletsIds.map((x) => {\r\n return {\r\n value: x?.Id,\r\n label: x?.Id + \" - \" + x?.ConsigneeName,\r\n };\r\n })}\r\n onChange={async (newValue) => {\r\n if (!Array.isArray(newValue)) {\r\n setPalletsIds([]);\r\n return false;\r\n }\r\n var list = [];\r\n newValue.forEach((x) => {\r\n var a = Pallets.find((y) => y.Id === x?.value);\r\n list.push(a);\r\n });\r\n setPalletsIds(list);\r\n }}\r\n />\r\n ) : (\r\n \r\n )}\r\n
    \r\n \r\n {Locations.length > 0 ? (\r\n {\r\n return {\r\n value: x?.Id,\r\n label: x?.LocationId,\r\n };\r\n })}\r\n onChange={async (newValue) => {\r\n if (!Array.isArray(newValue)) {\r\n setPalletsinLocation([]);\r\n return false;\r\n }\r\n var list = [];\r\n for (var x of newValue) {\r\n var id = x?.value;\r\n var l = Locations.find((x) => x?.Id === id);\r\n await GetPalletsByLocation(id).then((x) => {\r\n list.push({ pallets: x, location: l });\r\n });\r\n }\r\n setPalletsinLocation(list ?? []);\r\n }}\r\n />\r\n ) : (\r\n \r\n )}\r\n
    \r\n
    \r\n
    \r\n
    \r\n {ContainerId?.length > 0 ? (\r\n <>\r\n \r\n
    \r\n \r\n ) : (\r\n \r\n )}\r\n
    \r\n \r\n );\r\n}\r\n\r\nfunction Nodatafound() {\r\n return (\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n

    \r\n No data found\r\n

    \r\n
    \r\n
    \r\n
    \r\n );\r\n}\r\n\r\nasync function GetAllLocations(setWareHouse) {\r\n return await fetch(`${window.$apiurl}/Pallets/GetAllPallets`, {\r\n method: \"get\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then(async (res) => {\r\n setWareHouse(res[1] ?? []);\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n}\r\n\r\nasync function GetContainers(warehouseId, customerId, setContainer) {\r\n try {\r\n return await fetch(\r\n `${window.$apiurl}/TransloadReceipts/GetContainers?warehouseId=${warehouseId}&customerId=${customerId}`,\r\n {\r\n method: \"get\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n }\r\n )\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n var a = res[1];\r\n setContainer(a);\r\n });\r\n } catch (error) {}\r\n}\r\n\r\nasync function GetPalletsByLocation(id) {\r\n return await fetch(\r\n `${window.$apiurl}/Pallets/GetPalletsByLocationClosed?locationId=${id}`,\r\n {\r\n method: \"get\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n }\r\n )\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then(async (res) => {\r\n if (res[1]?.length > 0) return res[1];\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n}\r\n\r\nasync function PutModel(someData) {\r\n return fetch(window.$apiurl + \"/Pallets/\" + someData?.Id, {\r\n method: \"put\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(someData),\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = statusCode === 200 ? \"\" : await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n if (res[0] === 200) {\r\n Notification(\"success\", \"Pallet In Location Success\");\r\n return true;\r\n } else {\r\n Notification(\"error\", res[1]?.Message);\r\n return false;\r\n }\r\n })\r\n .catch((err) => {\r\n Notification(\"error\", \"Oops\");\r\n return false;\r\n });\r\n}\r\n\r\nasync function PostModel(someData) {\r\n return fetch(window.$apiurl + \"/transload/receipts/lineitem\", {\r\n method: \"post\",\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(someData),\r\n })\r\n .then(async (response) => {\r\n return await response;\r\n })\r\n .then((res) => {\r\n if (!res.ok) throw res;\r\n Notification(\"success\", \"success\");\r\n return true;\r\n })\r\n .catch((err) => {\r\n err.json().then((body) => {\r\n Notification(\"error\", body?.Message);\r\n });\r\n return false;\r\n });\r\n}\r\n\r\nasync function PutItem(someData) {\r\n someData.IsOsdNotification = true;\r\n return fetch(\r\n window.$apiurl + \"/transload/receipts/lineitem?id=\" + someData?.Id,\r\n {\r\n method: \"put\",\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(someData),\r\n }\r\n )\r\n .then(async (response) => {\r\n return await response;\r\n })\r\n .then((res) => {\r\n if (!res.ok) throw res;\r\n Notification(\"success\", \"success\");\r\n return true;\r\n })\r\n .catch((err) => {\r\n err.json().then((body) => {\r\n Notification(\"error\", body?.Message);\r\n });\r\n return false;\r\n });\r\n}\r\n\r\nasync function GetItem(id, setEditItem, setEditItemFirst) {\r\n return fetch(\r\n window.$apiurl + \"/transload/receipts/getlineitems?itemId=\" + id,\r\n {\r\n method: \"get\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n }\r\n )\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n if (res[0] === 200) {\r\n var el1 = document.querySelector(\r\n \".OrdersClass .progress[style*='background-color: rgba(54, 153, 255, 0.267);']\"\r\n );\r\n window.ReceiptId = el1?.parentElement\r\n ?.getAttribute(\"id\")\r\n ?.split(\"id\")[1];\r\n\r\n var item = res[1][\"LineItems\"][0];\r\n if (window.typeQnty === \"ShortOnly\")\r\n item = { ...item, ShortOnly: true };\r\n else if (window.typeQnty === \"DamagedOnly\")\r\n item = { ...item, DamagedOnly: true };\r\n setEditItem(item);\r\n setEditItemFirst(false);\r\n }\r\n })\r\n .catch((err) => {\r\n Notification(\"error\", \"Oops\");\r\n });\r\n}\r\n","import React, { useState, useEffect } from \"react\";\r\nimport { makeStyles } from \"@material-ui/core/styles\";\r\nimport Table from \"@material-ui/core/Table\";\r\nimport TableBody from \"@material-ui/core/TableBody\";\r\nimport TableCell from \"@material-ui/core/TableCell\";\r\nimport TableHead from \"@material-ui/core/TableHead\";\r\nimport Paper from \"@material-ui/core/Paper\";\r\nimport { Spinner, Modal } from \"react-bootstrap\";\r\nimport IconButton from \"@material-ui/core/IconButton\";\r\nimport { momentDate } from \"../../../../../_metronic/_helpers/ATHelpers\";\r\nimport { DetailMangment } from \"../../../../modules/eMPower/pages/NewShipmentsBeta/customers-table/ModelShipmentManagment\";\r\nimport CloseIcon from \"@material-ui/icons/Close\";\r\nimport TableRow from \"@material-ui/core/TableRow\";\r\nimport { Notification } from \"../../../../modules/Notification\";\r\nimport low from \"lowdb\";\r\nimport LocalStorage from \"lowdb/adapters/LocalStorage\";\r\nimport { OneMoveMaster } from \"../../../../modules/eMPower/pages/Transload/FindOrders/product-Containers/remark-edit-dialog/OneMoveMaster\";\r\nconst adapter = new LocalStorage(\"db\");\r\nconst db = low(adapter);\r\n\r\nconst mystyleTabs = {\r\n fontSize: \"13px\",\r\n};\r\n\r\nexport default function TableComponent({\r\n list = [],\r\n DeleteShipmentRow,\r\n ShipmentID,\r\n InTable,\r\n hidden,\r\n ReloadPallets,\r\n IsClosedFunction,\r\n GetParms,\r\n isClosed,\r\n selectedShip,\r\n setDeletRowId,\r\n setLoading,\r\n}) {\r\n const useStyles = makeStyles((theme) => ({\r\n root: {\r\n width: \"100%\",\r\n },\r\n paper: {\r\n marginTop: theme.spacing(1),\r\n width: \"100%\",\r\n overflowX: \"auto\",\r\n marginBottom: theme.spacing(2),\r\n },\r\n table: {\r\n minWidth: 650,\r\n },\r\n }));\r\n const classes = useStyles();\r\n const [Model, setModel] = useState(false);\r\n const [DetailMangmentShow, setDetailMangmentShow] = useState(false);\r\n const [OnemoveMasterShow, setOnemoveMasterShow] = useState(0);\r\n const [ListOnly, setListOnly] = useState([]);\r\n const [IsClosed, setIsClosed] = useState(false);\r\n\r\n function removeId(id) {\r\n var a = ListOnly.filter((x) => x?.Id !== id);\r\n setListOnly(a ?? []);\r\n }\r\n\r\n useEffect(() => {\r\n setListOnly(list.filter((x) => x.ShipID === ShipmentID?.Id) ?? []);\r\n }, [ShipmentID?.Id, list]);\r\n\r\n useEffect(() => {\r\n if (InTable?.id === ShipmentID?.Id && InTable?.number !== 0)\r\n GetShipmentId(ShipmentID?.Id).then((e) => {\r\n if (e[0] === 200) {\r\n setListOnly(e[1]?.pallets ?? []);\r\n }\r\n });\r\n }, [InTable]);\r\n\r\n useEffect(() => {\r\n if (ShipmentID?.Id)\r\n GetShipmentId(ShipmentID?.Id).then((e) => {\r\n if (e && e[0] === 200) {\r\n setListOnly(e[1]?.pallets ?? []);\r\n }\r\n });\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (OnemoveMasterShow === false)\r\n setDeletRowId((x) => {\r\n return { id: ShipmentID?.Id, number: x.number + 1 };\r\n });\r\n }, [OnemoveMasterShow]);\r\n\r\n return (\r\n \r\n {\r\n setOnemoveMasterShow(false);\r\n }}\r\n aria-labelledby=\"example-modal-sizes-title-lg\"\r\n >\r\n \r\n \r\n\r\n {\r\n setDetailMangmentShow(false);\r\n }}\r\n aria-labelledby=\"example-modal-sizes-title-lg\"\r\n >\r\n \r\n \r\n\r\n {\r\n setModel(false);\r\n }}\r\n >\r\n \r\n
    \r\n
    \r\n Shipment ID\r\n {ShipmentID?.Id}\r\n
    \r\n
    \r\n {\r\n PosttoClosed(ShipmentID?.Id, setIsClosed, setLoading);\r\n }}\r\n >\r\n {\" \"}\r\n {!IsClosed ? \"Close Shipment\" : \"UnClose Shipment\"}\r\n \r\n
    \r\n
    \r\n {\r\n window\r\n .open(\"/report/shipment/bol/\" + ShipmentID?.Id, \"_blank\")\r\n .focus();\r\n }}\r\n >\r\n Bill of lading\r\n \r\n
    \r\n
    \r\n {\r\n window\r\n .open(\r\n \"/TransloadShipmentManifest/\" + ShipmentID?.Id,\r\n \"_blank\"\r\n )\r\n .focus();\r\n }}\r\n >\r\n Shipment Manifest\r\n \r\n
    \r\n
    \r\n {\r\n setModel(false);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n
    \r\n Pallets Count : {ListOnly.length}\r\n {ListOnly.length > 0 ? (\r\n \r\n
    \r\n \r\n \r\n \r\n \r\n Pallet Id\r\n \r\n \r\n Customer Name\r\n \r\n \r\n Carton count\r\n {\" \"}\r\n \r\n Weight\r\n \r\n \r\n Weight Type\r\n \r\n \r\n Cube\r\n \r\n \r\n Cube Type\r\n \r\n \r\n Created\r\n \r\n \r\n Shipped\r\n \r\n \r\n Equipment\r\n \r\n \r\n status\r\n \r\n \r\n Action\r\n \r\n \r\n \r\n \r\n {(ListOnly ?? []).map((item, index) => (\r\n \r\n ))}\r\n \r\n \r\n \r\n Total\r\n \r\n \r\n \r\n {ListOnly.reduce((a, b) => +a + +b.Unitcount, 0)}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n ) : (\r\n \r\n )}\r\n
    \r\n
    \r\n \r\n\r\n setModel(true)}\r\n >\r\n \r\n {\" \"}\r\n \r\n {ShipmentID?.ConsigneeName ?? \"Empty\"}{\" \"}\r\n \r\n \r\n {\r\n e.preventDefault();\r\n setDetailMangmentShow(true);\r\n e.stopPropagation();\r\n }}\r\n >\r\n \r\n \r\n\r\n {\r\n window.shipmentEditCommingFrom = \"AssigntoOutbound\";\r\n\r\n e.preventDefault();\r\n setOnemoveMasterShow(true);\r\n e.stopPropagation();\r\n }}\r\n >\r\n \r\n \r\n\r\n \r\n \r\n {ShipmentID.Id}\r\n \r\n\r\n \r\n Pallets : {ListOnly.length}\r\n \r\n \r\n {percentage(ListOnly.length, ShipmentID?.EquipmentSize)}%\r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n );\r\n}\r\n\r\nfunction percentage(partialValue, totalValue) {\r\n var a = ((100 * partialValue) / EqSizeToPallet(+totalValue)).toFixed(0);\r\n if (isNaN(a)) return 0;\r\n return ((100 * partialValue) / EqSizeToPallet(+totalValue)).toFixed(0);\r\n}\r\n\r\nfunction EqSizeToPallet(number) {\r\n if (number === 53) return 28;\r\n else if (number === 28) return 24;\r\n else if (number === 20) return 12;\r\n}\r\n\r\nconst TableTrFunction = ({\r\n item,\r\n DeleteShipmentRow,\r\n ShipId,\r\n removeId,\r\n IsClosed,\r\n setLoading,\r\n}) => {\r\n return (\r\n \r\n \r\n {item.Id}\r\n \r\n {item.CustomerName}\r\n {item.Unitcount}\r\n {item.Weight?.toFixed(2)}\r\n {item.WeightType}\r\n {item.Cube?.toFixed(2)}\r\n {item.CubeType}\r\n {momentDate(item.Created)}\r\n {momentDate(item.Shipped)}\r\n {item.Equipment}\r\n {item.status}\r\n \r\n {\r\n setLoading(true);\r\n DeleteShipmentRow(item.Id, ShipId).then((x) => {\r\n if (x) {\r\n removeId(item.Id);\r\n setLoading(false);\r\n }\r\n });\r\n }}\r\n />\r\n \r\n \r\n );\r\n};\r\n\r\nasync function GetShipmentId(id) {\r\n return await fetch(\r\n `${window.$apiurl}/Pallets/GetPalletsByShipment?id=${id}&isItems=false`,\r\n {\r\n method: \"get\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n }\r\n )\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then(async (res) => {\r\n return res;\r\n })\r\n .catch((error) => {\r\n Notification(\"error\", \"Shipment ID : \" + id + \" Not Found\");\r\n console.error(error);\r\n return undefined;\r\n });\r\n}\r\n\r\nfunction Nodatafound({ PalletID = 0 }) {\r\n const [Reload, setReload] = useState(true);\r\n\r\n useEffect(() => {\r\n setTimeout(() => {\r\n setReload(false);\r\n }, 2000);\r\n }, []);\r\n\r\n return (\r\n <>\r\n {!Reload ? (\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n

    \r\n Pallets Not Found\r\n

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n ) : (\r\n
    \r\n \r\n Loading...\r\n \r\n
    \r\n )}\r\n \r\n );\r\n}\r\n\r\nasync function PosttoClosed(PalletsIDStat, setIsClosed, setLoading) {\r\n setLoading(true);\r\n return await fetch(\r\n `${window.$apiurl}/transload/closeshipment/${PalletsIDStat}`,\r\n {\r\n method: \"put\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n }\r\n ).then(async (response) => {\r\n const statusCode = response.status;\r\n setLoading(false);\r\n if (statusCode === 200) {\r\n Notification(\"success\", \"success\");\r\n setIsClosed((x) => !x);\r\n } else {\r\n const data = await response.json();\r\n Notification(\"error\", data.Message);\r\n }\r\n });\r\n}\r\n","import React, { useState, useEffect } from \"react\";\r\nimport Draggable from \"react-draggable\";\r\nimport Button from \"@material-ui/core/Button\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { default as JsNative } from \"jquery\";\r\nimport Checkbox from \"@material-ui/core/Checkbox\";\r\nimport { Notification } from \"../../../../../modules/Notification\";\r\nimport low from \"lowdb\";\r\nimport LocalStorage from \"lowdb/adapters/LocalStorage\";\r\nconst adapter = new LocalStorage(\"db\");\r\nconst db = low(adapter);\r\n\r\nexport default function Item({\r\n item,\r\n SetTableShipment,\r\n removeId,\r\n CheckboxList,\r\n SelectIDforPallet,\r\n CheckboxListId,\r\n setCheckboxListIds,\r\n setLoading,\r\n CheckboxListIds,\r\n isWarningColor = false,\r\n}) {\r\n const [ModelShow, setModelShow] = useState(false);\r\n const [stateItem, setstateItem] = useState(item);\r\n const [IsChecked, setIsChecked] = useState(false);\r\n\r\n var tableElement, offset;\r\n function GetTale() {\r\n tableElement = JsNative(\".TableComponent\" + stateItem?.ShipID);\r\n offset = tableElement.offset();\r\n }\r\n\r\n useEffect(() => {\r\n setstateItem(item);\r\n }, [item]);\r\n\r\n useEffect(() => {\r\n if (stateItem?.Id) {\r\n var check = CheckboxListIds.find((x) => x === stateItem?.Id);\r\n if (check) setIsChecked(true);\r\n else setIsChecked(false);\r\n }\r\n }, [CheckboxListIds]);\r\n\r\n function handleDrag(e) {\r\n GetTale();\r\n var page = e;\r\n if (e.changedTouches?.length > 0) page = e.changedTouches[0];\r\n\r\n var ele = tableElement.find(\".shadow-sm\");\r\n if (CheckPosition(offset, page)) {\r\n ele.addClass(\"bg-light-info\");\r\n } else ele.removeClass(\"bg-light-info\");\r\n ele.addClass(\"border border-info border-2\");\r\n }\r\n\r\n function handleStop(e) {\r\n GetTale();\r\n var page = e;\r\n if (e.changedTouches?.length > 0) page = e.changedTouches[0];\r\n\r\n var ele = tableElement.find(\".shadow-sm\");\r\n if (CheckPosition(offset, page)) {\r\n setModelShow(true);\r\n }\r\n ele.removeClass(\"bg-light-info\");\r\n ele.removeClass(\"border border-info border-2\");\r\n }\r\n\r\n const CheckPosition = (offset1, offset2) => {\r\n try {\r\n if (\r\n offset1.top < offset2.pageY &&\r\n offset2.pageY < offset1.top + tableElement.height() &&\r\n offset1.left < offset2.pageX &&\r\n offset2.pageX < offset1.left + tableElement.width()\r\n )\r\n return true;\r\n else return false;\r\n } catch (error) {\r\n return false;\r\n }\r\n };\r\n\r\n function handleSave() {\r\n setLoading(true);\r\n PostPallet(stateItem?.Id, stateItem?.ShipID).then(({ status, Message }) => {\r\n if (200 === status) {\r\n setCheckboxListIds([]);\r\n Notification(\"success\", \"success : \" + stateItem?.Id);\r\n SetTableShipment(stateItem);\r\n removeId(stateItem?.Id);\r\n setLoading(false);\r\n } else {\r\n Notification(\"error\", Message?.toString());\r\n }\r\n });\r\n }\r\n\r\n return (\r\n <>\r\n {stateItem?.Items > 0 && (\r\n \r\n \r\n \r\n Pallet {stateItem?.Id}\r\n \r\n \r\n Are you sure to add this Pallet\r\n ({stateItem?.Id}) to Shipment\r\n ({stateItem?.ShipID})?\r\n \r\n \r\n {\r\n setModelShow(false);\r\n }}\r\n >\r\n Close\r\n \r\n {\r\n setModelShow(false);\r\n handleSave();\r\n }}\r\n >\r\n Ok\r\n \r\n \r\n \r\n\r\n \r\n
    0 && \"handle\"}>\r\n \r\n \r\n \r\n ID : {stateItem?.Id}\r\n \r\n \r\n \r\n Unit Count : {stateItem?.Unitcount}\r\n \r\n \r\n \r\n Items : {stateItem?.Items}\r\n \r\n {isWarningColor && (\r\n \r\n \r\n Consignee : {stateItem?.ConsigneeName}\r\n \r\n )}\r\n \r\n \r\n {\r\n setIsChecked(e.target.checked);\r\n CheckboxList(e.target.checked, stateItem?.Id);\r\n }}\r\n onTouchStart={(e) => {\r\n CheckboxList(!IsChecked, stateItem?.Id);\r\n setIsChecked(!IsChecked);\r\n }}\r\n inputProps={{\r\n \"aria-label\": \"uncontrolled-checkbox\",\r\n }}\r\n />\r\n \r\n
    \r\n
    \r\n \r\n
    \r\n )}\r\n \r\n );\r\n}\r\n\r\nfunction htmlP(text, text2) {\r\n return (\r\n <>\r\n \r\n {text}\r\n

    \r\n {text2}\r\n \r\n );\r\n}\r\n\r\nasync function PostPallet(PalletId, ShipmentID) {\r\n return await fetch(`${window.$apiurl}/pallets/addpallettoshipment`, {\r\n method: \"post\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify({\r\n ShipmentId: ShipmentID,\r\n PalletId: PalletId,\r\n }),\r\n }).then(async (response) => {\r\n var msg = response.status !== 200 ? await response.json() : \"\";\r\n var a = { status: response.status, Message: msg?.Message ?? \"\" };\r\n return a;\r\n });\r\n}\r\n","import { default as JsNative } from \"jquery\";\r\nimport low from \"lowdb\";\r\nimport LocalStorage from \"lowdb/adapters/LocalStorage\";\r\nimport React, { useEffect, useState } from \"react\";\r\nimport { Modal, Spinner } from \"react-bootstrap\";\r\nimport Draggable from \"react-draggable\";\r\nimport { DetailMangment } from \"../../../../../modules/eMPower/pages/PalletsManagmentBeta/customers-table/ModelManagment\";\r\nimport { Notification } from \"../../../../../modules/Notification\";\r\nimport Item from \"./Item\";\r\nconst adapter = new LocalStorage(\"db\");\r\nconst db = low(adapter);\r\n\r\nconst palletNolane = \"zzzz pallets no lane\";\r\nexport default function IndexPalletsList({\r\n SetTableShipment,\r\n DeletRowId,\r\n iShipmentsID = [],\r\n setLoading,\r\n setShipmentsIds,\r\n}) {\r\n const [Pallets, setPallets] = useState([]);\r\n const [Show, setShow] = useState(false);\r\n const [Search2, setSearch2] = useState(\"\");\r\n const [ShowModel, setShowModel] = useState(false);\r\n const [IdSelect, setIdSelect] = useState();\r\n const [CheckboxListIds, setCheckboxListIds] = useState([]);\r\n\r\n function SelectIDforPallet(id) {\r\n setIdSelect(id);\r\n setShowModel(true);\r\n }\r\n\r\n useEffect(() => {\r\n GetPalletsFunction();\r\n }, [iShipmentsID]);\r\n\r\n useEffect(() => {\r\n if (DeletRowId?.id !== 0) {\r\n window.IdsExist = window.IdsExist.filter((y) => y !== DeletRowId?.id);\r\n GetPalletsFunction();\r\n }\r\n }, [DeletRowId]);\r\n\r\n function CheckboxList(check, Id) {\r\n var array = CheckboxListIds || [];\r\n var find = array?.findIndex((x) => x === Id);\r\n if (find > -1 && !check) {\r\n array.splice(find, 1);\r\n } else if (find === -1 && check) {\r\n array.push(Id);\r\n }\r\n setCheckboxListIds([...array]);\r\n }\r\n\r\n var tableElement, offset;\r\n function GetTale() {\r\n var shipID = Pallets.find((x) => x.Id === CheckboxListIds[0])?.ShipID;\r\n tableElement = JsNative(\".TableComponent\" + shipID);\r\n offset = tableElement.offset();\r\n\r\n return shipID;\r\n }\r\n\r\n const CheckPosition = (offset1, offset2) => {\r\n try {\r\n if (\r\n offset1.top < offset2.pageY &&\r\n offset2.pageY < offset1.top + tableElement.height() &&\r\n offset1.left < offset2.pageX &&\r\n offset2.pageX < offset1.left + tableElement.width()\r\n )\r\n return true;\r\n else return false;\r\n } catch (error) {\r\n return false;\r\n }\r\n };\r\n\r\n function handleDrag(e) {\r\n GetTale();\r\n var page = e;\r\n if (e.changedTouches?.length > 0) page = e.changedTouches[0];\r\n\r\n var ele = tableElement.find(\".shadow-sm\");\r\n if (CheckPosition(offset, page)) {\r\n ele.addClass(\"bg-light-info\");\r\n } else ele.removeClass(\"bg-light-info\");\r\n ele.addClass(\"border border-info border-2\");\r\n }\r\n\r\n function handleStop(e) {\r\n var shipID = GetTale();\r\n var page = e;\r\n if (e.changedTouches?.length > 0) page = e.changedTouches[0];\r\n\r\n var ele = tableElement.find(\".shadow-sm\");\r\n if (CheckPosition(offset, page)) {\r\n PostPallets(CheckboxListIds, shipID);\r\n }\r\n ele.removeClass(\"bg-light-info\");\r\n ele.removeClass(\"border border-info border-2\");\r\n }\r\n\r\n function CheckboxList(check, Id) {\r\n var array = CheckboxListIds || [];\r\n var find = array?.findIndex((x) => x === Id);\r\n if (find > -1 && !check) {\r\n array.splice(find, 1);\r\n } else if (find === -1 && check) {\r\n array.push(Id);\r\n }\r\n setCheckboxListIds([...array]);\r\n }\r\n\r\n async function PostPallets(ItemsId, PalletId) {\r\n for (var pallet of ItemsId) {\r\n await PostPallet(pallet, PalletId).then(({ status, Message }) => {\r\n if (200 === status) {\r\n Notification(\"success\", \"success : \" + pallet);\r\n var a = Pallets.findIndex((y) => pallet === y.Id);\r\n SetTableShipment(Pallets[a]);\r\n } else {\r\n Notification(\"error\", Message?.toString());\r\n }\r\n });\r\n }\r\n var find = Pallets.filter((x) => ItemsId.indexOf(x.Id) === -1);\r\n setPallets([]);\r\n setTimeout(() => {\r\n setPallets(find);\r\n }, 1);\r\n setCheckboxListIds([]);\r\n }\r\n\r\n async function GetPalletsFunction() {\r\n var listOrigin = Pallets;\r\n var list = [];\r\n var listIdsExist = [];\r\n\r\n setLoading(true);\r\n setPallets([]);\r\n\r\n await Promise.all(\r\n (iShipmentsID ?? []).map(async (x) => {\r\n listIdsExist.push(x?.Id);\r\n await GetPallets(x?.Id, setShipmentsIds).then((res) => {\r\n list = list.concat(res);\r\n });\r\n })\r\n );\r\n\r\n window.IdsExist = listIdsExist;\r\n setPallets(list);\r\n setLoading(false);\r\n setShow(true);\r\n }\r\n\r\n const repeat = [];\r\n const CheckReapet = (id) => {\r\n if (repeat.indexOf(id) === -1) {\r\n repeat.push(id);\r\n return true;\r\n } else return false;\r\n };\r\n\r\n useEffect(() => {\r\n if (DeletRowId && DeletRowId !== 0) setPallets((x) => [...x, DeletRowId]);\r\n }, [DeletRowId]);\r\n\r\n function removeId(id) {\r\n var a = Pallets.filter((x) => x?.Id !== id);\r\n setPallets(a ?? []);\r\n }\r\n\r\n function compare(a, b) {\r\n if (a.Location < b.Location) {\r\n return -1;\r\n }\r\n if (a.Location > b.Location) {\r\n return 1;\r\n }\r\n return 0;\r\n }\r\n\r\n return (\r\n <>\r\n {\r\n setShowModel(false);\r\n }}\r\n aria-labelledby=\"example-modal-sizes-title-lg\"\r\n >\r\n \r\n \r\n
    \r\n
    \r\n {\r\n if (e.keyCode === 13) setSearch2(e.target.value);\r\n }}\r\n onBlur={(e) => {\r\n setSearch2(e.target.value);\r\n }}\r\n />\r\n
    \r\n
    \r\n {CheckboxListIds?.length > 0 && (\r\n \r\n
    \r\n \r\n {htmlP(CheckboxListIds, \"Pallets Selected\")}\r\n \r\n
    \r\n \r\n )}\r\n
    \r\n {Pallets?.length > 0 ? (\r\n <>\r\n {Show &&\r\n Pallets.filter(\r\n (x) =>\r\n x?.Id?.toString()?.includes(Search2) &&\r\n iShipmentsID.find((y) => y.Id === x.ShipID)\r\n )\r\n .sort(compare)\r\n .map((x, i) => (\r\n <>\r\n {CheckReapet(x?.Location) && (\r\n <>\r\n {i !== 0 && (\r\n <>\r\n
    \r\n \r\n )}\r\n
    \r\n
    \r\n \r\n {x?.Location === palletNolane\r\n ? \"\"\r\n : \"Pallets For\"}\r\n \r\n {x?.Location === palletNolane ? \"\" : x.ShipID}\r\n \r\n {x.Location.replace(\"zzzz \", \"\")}\r\n \r\n Count :{\" \"}\r\n {\r\n Pallets.filter(\r\n (y) =>\r\n y?.Location === x?.Location && y?.Items > 0\r\n )?.length\r\n }\r\n \r\n
    \r\n
    \r\n \r\n )}\r\n 0 &&\r\n Pallets.find((x) => x.Id === CheckboxListIds[0])?.ShipID\r\n }\r\n isWarningColor={x?.Location === palletNolane}\r\n />\r\n \r\n ))}\r\n \r\n ) : (\r\n \r\n )}\r\n
    \r\n \r\n );\r\n}\r\n\r\nasync function GetPallets(ShipmentID, setShipmentsIds) {\r\n return await fetch(\r\n `${window.$apiurl}/Pallets?shipmentId=${ShipmentID}&IsShipped=false&LocationCheck=false`,\r\n {\r\n method: \"get\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n }\r\n )\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then(async (res) => {\r\n (res[1]?.pallets ?? []).forEach((element) => {\r\n element.ShipID = ShipmentID;\r\n if (!element.Location) element.Location = palletNolane;\r\n });\r\n\r\n if (res[1]?.pallets?.length > 0) {\r\n var listIds = [];\r\n setShipmentsIds((list) => (listIds = list));\r\n setShipmentsIds([]);\r\n setTimeout(() => {\r\n var index = listIds.findIndex((x) => x?.Id === ShipmentID);\r\n if (index > -1)\r\n listIds[index].ConsigneeCompanyName =\r\n res[1]?.pallets[0]?.ConsigneeComapanyName;\r\n setShipmentsIds(listIds);\r\n }, 1);\r\n document.getElementById(\"ShipId\" + ShipmentID).innerText =\r\n res[1]?.pallets[0]?.ConsigneeComapanyName;\r\n }\r\n\r\n return res[1]?.pallets ?? [];\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n}\r\n\r\nfunction Nodatafound() {\r\n const [Reload, setReload] = useState(true);\r\n\r\n useEffect(() => {\r\n setTimeout(() => {\r\n setReload(false);\r\n }, 3000);\r\n }, []);\r\n\r\n return (\r\n <>\r\n {!Reload ? (\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n

    \r\n No Pallets found\r\n

    \r\n
    \r\n
    \r\n
    \r\n ) : (\r\n
    \r\n \r\n Loading...\r\n \r\n
    \r\n )}\r\n \r\n );\r\n}\r\nfunction htmlP(list, text) {\r\n return (\r\n <>\r\n {text}\r\n {list.map((x) => (\r\n

    \r\n {x}\r\n

    \r\n ))}\r\n \r\n );\r\n}\r\n\r\nasync function PostPallet(PalletId, ShipmentID) {\r\n return await fetch(`${window.$apiurl}/pallets/addpallettoshipment`, {\r\n method: \"post\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify({\r\n ShipmentId: ShipmentID,\r\n PalletId: PalletId,\r\n }),\r\n }).then(async (response) => {\r\n var msg = response.status !== 200 ? await response.json() : \"\";\r\n var a = { status: response.status, Message: msg?.Message ?? \"\" };\r\n return a;\r\n });\r\n}\r\n","import React, { useEffect, useState } from \"react\";\r\nimport TableComponent from \"./TableComponent\";\r\nimport { Notification } from \"../../../../modules/Notification\";\r\nimport { ScrollingMenuReceipt } from \"./ScrollingMenuReceipt\";\r\nimport IndexPalletsList from \"./Pallets/IndexPalletsList\";\r\nimport low from \"lowdb\";\r\nimport LocalStorage from \"lowdb/adapters/LocalStorage\";\r\nconst adapter = new LocalStorage(\"db\");\r\nconst db = low(adapter);\r\n\r\nexport default function Index({\r\n iShipmentsID = [],\r\n IsClosed,\r\n setLoading,\r\n setShipmentsIds,\r\n}) {\r\n const [Table, setTable] = useState([]);\r\n const [DeletRowId, setDeletRowId] = useState({ id: 0, number: 0 });\r\n const [ShipmentsID, setShipmentsID] = useState(iShipmentsID);\r\n const [selectedShip, setselectedShip] = useState(false);\r\n const [Search, setSearch] = useState(\"\");\r\n const [InTable, setInTable] = useState({ id: 0, number: 0 });\r\n\r\n useEffect(() => {\r\n setShipmentsID(iShipmentsID);\r\n }, [iShipmentsID]);\r\n\r\n function SetTableShipment(row, Quantity) {\r\n setInTable((x) => {\r\n return { id: row?.ShipID, number: x.number + 1 };\r\n });\r\n }\r\n\r\n async function DeleteShipmentRow(id, IdShip) {\r\n return await RemovePallet(id, IdShip).then(({ status, Message }) => {\r\n if (200 === status) {\r\n Notification(\"success\", \"success : \" + id);\r\n setTimeout(() => {\r\n setDeletRowId((x) => {\r\n return { id: IdShip, number: x.number + 1 };\r\n });\r\n }, 1);\r\n return true;\r\n } else {\r\n Notification(\"error\", Message?.toString());\r\n return false;\r\n }\r\n });\r\n }\r\n\r\n return (\r\n <>\r\n
    \r\n
    \r\n {ShipmentsID.length > 0 && (\r\n \r\n )}\r\n {IsClosed ? : <>}\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n );\r\n}\r\n\r\nasync function RemovePallet(PalletId, ShipmentID) {\r\n return await fetch(`${window.$apiurl}/pallets/deletepalletfromshipment`, {\r\n method: \"post\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify({\r\n ShipmentId: ShipmentID,\r\n PalletId: PalletId,\r\n }),\r\n }).then(async (response) => {\r\n var msg = response.status !== 200 ? await response.json() : \"\";\r\n var a = { status: response.status, Message: msg?.Message ?? \"\" };\r\n return a;\r\n });\r\n}\r\n\r\nfunction Nodatafound() {\r\n return (\r\n <>\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n

    \r\n Shipment Is Closed\r\n

    \r\n
    \r\n
    \r\n
    \r\n \r\n );\r\n}\r\n\r\nfunction ShipmentFun({\r\n Table = [],\r\n ShipmentsID,\r\n setselectedShip,\r\n DeleteShipmentRow,\r\n InTable,\r\n setDeletRowId,\r\n setLoading,\r\n}) {\r\n const [selectedId, setselectedId] = useState(false);\r\n\r\n useEffect(() => {\r\n setselectedShip(selectedId);\r\n }, [selectedId]);\r\n\r\n return (\r\n
    \r\n
    \r\n
    \r\n Shipments\r\n
    \r\n\r\n {ShipmentsID.map((x, i) => (\r\n
    \r\n
    \r\n );\r\n}\r\n","import React, { useEffect, useState } from \"react\";\r\nimport Index from \"./AssigntoOutbound2/Index\";\r\nimport $ from \"jquery\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { LoadingDialog } from \"../../../../_metronic/_partials/controls\";\r\nimport { Notification } from \"../../../modules/Notification\";\r\nimport Button from \"@material-ui/core/Button\";\r\nimport low from \"lowdb\";\r\nimport SelectPagination from \"../../../../_metronic/_partials/widgets/Select/SelectPagination\";\r\nimport LocalStorage from \"lowdb/adapters/LocalStorage\";\r\nimport { Helmet } from \"react-helmet\";\r\n\r\nconst adapter = new LocalStorage(\"db\");\r\nconst db = low(adapter);\r\n\r\nconst mystyleTabs = {\r\n fontSize: \"13px\",\r\n};\r\n\r\nexport function AssigntoOutboundPage() {\r\n const [ShipmentIDStat, setShipmentIDStat] = useState([]);\r\n const [ShipmentsIds, setShipmentsIds] = useState([]);\r\n const [ShipmentNewModel, setShipmentNewModelt] = useState(false);\r\n const [IsClosed, setIsClosed] = useState(0);\r\n const [Loading, setLoading] = useState(false);\r\n\r\n useEffect(() => {\r\n GetShipmentsIds();\r\n }, []);\r\n\r\n async function GetShipmentsIds() {\r\n try {\r\n return await fetch(`${window.$apiurl}/shipments/GetAllShipmentsIds`, {\r\n method: \"get\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n setShipmentsIds(res[1]);\r\n });\r\n } catch (error) {}\r\n }\r\n\r\n async function PostNewShipment(setShipmentIDStat) {\r\n return await fetch(`${window.$apiurl}/transload/shipment?label=&orderId=`, {\r\n method: \"post\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then(async (res) => {\r\n if (res[0] === 200) {\r\n Notification(\"success\", \"Create New Shipment ID : \" + res[1]?.Id);\r\n setShipmentNewModelt(false);\r\n\r\n var ids = ShipmentsIds;\r\n ids.unshift({ Id: res[1]?.Id, EquipmentSize: 53 });\r\n\r\n var list = [];\r\n setShipmentsIds([]);\r\n setShipmentIDStat((x) => {\r\n list = x;\r\n return [];\r\n });\r\n setTimeout(() => {\r\n list.push({ Id: res[1]?.Id, EquipmentSize: 53 });\r\n setShipmentsIds(ids);\r\n setShipmentIDStat(list);\r\n }, 1000);\r\n return res[1];\r\n }\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n return (\r\n <>\r\n \r\n \r\n New Shipment\r\n \r\n \r\n {\r\n setShipmentNewModelt(false);\r\n }}\r\n >\r\n Close\r\n \r\n {\r\n setShipmentNewModelt(false);\r\n await PostNewShipment(setShipmentIDStat);\r\n }}\r\n >\r\n Create\r\n \r\n \r\n \r\n\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n\r\n
    \r\n {\r\n setShipmentNewModelt(true);\r\n }}\r\n >\r\n New\r\n \r\n
    \r\n
    \r\n {ShipmentsIds.length > 0 ? (\r\n {\r\n return {\r\n value: x.Id,\r\n label:\r\n x.Id +\r\n \" - \" +\r\n (x?.ConsigneeCompanyName !== null\r\n ? x?.ConsigneeCompanyName\r\n : \"Empty\"),\r\n };\r\n })}\r\n value={ShipmentIDStat.map((x) => {\r\n return {\r\n value: x.Id,\r\n label: x.Id,\r\n };\r\n })}\r\n isMulti\r\n onChange={async (newValue) => {\r\n var list = [];\r\n if (newValue && newValue.length > 0) {\r\n for (var i of newValue) {\r\n list.push(ShipmentsIds.find((x) => x.Id === i.value));\r\n }\r\n setTimeout(() => {\r\n if (list.length > 0) setShipmentIDStat(list);\r\n else setShipmentIDStat([]);\r\n }, 1);\r\n } else setShipmentIDStat([]);\r\n }}\r\n />\r\n ) : (\r\n \r\n )}\r\n
    \r\n
    \r\n
    \r\n
    \r\n {ShipmentIDStat.length > 0 ? (\r\n <>\r\n \r\n
    \r\n \r\n ) : (\r\n \r\n )}\r\n
    \r\n \r\n );\r\n}\r\n\r\nfunction Nodatafound() {\r\n return (\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n

    \r\n No data found\r\n

    \r\n
    \r\n
    \r\n
    \r\n );\r\n}\r\n","import React, { useState, useEffect } from \"react\";\r\nimport { AssignToWareHouse } from \"./AssignToWareHouse\";\r\nimport { AssignToWareHousePage } from \"./AssignToWareHousePage\";\r\nimport { AssigntoOutboundPage } from \"./AssigntoOutboundPage\";\r\nimport { Helmet } from \"react-helmet\";\r\n\r\nexport function GlobalTransload() {\r\n const [Select, setSelect] = useState(1);\r\n return (\r\n <>\r\n \r\n Assign to Warehouse | eMPower Data Logistics\r\n \r\n \r\n\r\n
    \r\n
    \r\n
    \r\n {\r\n document.title = \"Assign to Warehouse | eMPower Data Logistics\";\r\n setSelect(1);\r\n }}\r\n >\r\n Assign to Warehouse\r\n \r\n
    \r\n
    \r\n {\r\n document.title = \"Assign to Outbound | eMPower Data Logistics\";\r\n setSelect(2);\r\n }}\r\n >\r\n Assign to Outbound\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n );\r\n}\r\n","import React, { useState, useEffect } from \"react\";\r\nimport { makeStyles } from \"@material-ui/core/styles\";\r\nimport Table from \"@material-ui/core/Table\";\r\nimport TableBody from \"@material-ui/core/TableBody\";\r\nimport TableCell from \"@material-ui/core/TableCell\";\r\nimport TableHead from \"@material-ui/core/TableHead\";\r\nimport Paper from \"@material-ui/core/Paper\";\r\nimport { Spinner, Modal } from \"react-bootstrap\";\r\nimport IconButton from \"@material-ui/core/IconButton\";\r\nimport DetailMangment from \"../../../modules/eMPower/pages/ReceiptsManagementNewVersion/customers-table/Shipment/DetailMangment\";\r\nimport CloseIcon from \"@material-ui/icons/Close\";\r\nimport TableRow from \"@material-ui/core/TableRow\";\r\nimport { AssignToOutboundHeaderForm } from \"../../../modules/eMPower/pages/Transload/FindOrders/product-Containers/remark-edit-dialog/AssignToOutboundHeaderForm\";\r\nimport { Notification } from \"../../../modules/Notification\";\r\nimport low from \"lowdb\";\r\nimport LocalStorage from \"lowdb/adapters/LocalStorage\";\r\nconst adapter = new LocalStorage(\"db\");\r\nconst db = low(adapter);\r\n\r\nexport default function TableComponent({\r\n list = [],\r\n DeleteShipmentRow,\r\n ShipmentID,\r\n hidden,\r\n ReloadPallets,\r\n IsClosedFunction,\r\n GetParms,\r\n isClosed,\r\n selectedShip,\r\n}) {\r\n const useStyles = makeStyles((theme) => ({\r\n root: {\r\n width: \"100%\",\r\n },\r\n paper: {\r\n marginTop: theme.spacing(1),\r\n width: \"100%\",\r\n overflowX: \"auto\",\r\n marginBottom: theme.spacing(2),\r\n },\r\n table: {\r\n minWidth: 650,\r\n },\r\n }));\r\n const classes = useStyles();\r\n const [Model, setModel] = useState(false);\r\n const [DetailMangmentShow, setDetailMangmentShow] = useState(false);\r\n const [ListOnly, setListOnly] = useState([]);\r\n\r\n useEffect(() => {\r\n setListOnly(list.filter((x) => x.ShipID === ShipmentID?.Id) ?? []);\r\n }, [ShipmentID?.Id, list]);\r\n\r\n return (\r\n \r\n {\r\n setDetailMangmentShow(false);\r\n }}\r\n aria-labelledby=\"example-modal-sizes-title-lg\"\r\n >\r\n \r\n \r\n\r\n {\r\n setModel(false);\r\n }}\r\n >\r\n \r\n
    \r\n
    \r\n Location \r\n {ShipmentID?.Id}\r\n
    \r\n
    \r\n {/* */}\r\n
    \r\n
    \r\n {/* {\r\n window\r\n .open(\"/report/Outbound/\" + ShipmentID?.Id, \"_blank\")\r\n .focus();\r\n }}\r\n /> */}\r\n
    \r\n
    \r\n {\r\n setModel(false);\r\n }}\r\n >\r\n \r\n \r\n
    \r\n \r\n
    \r\n Items Count : {ListOnly.length}\r\n {ListOnly.length > 0 ? (\r\n \r\n
    \r\n \r\n \r\n \r\n \r\n PO#\r\n \r\n \r\n SKU\r\n \r\n \r\n Description\r\n \r\n \r\n Location\r\n \r\n \r\n Unit Count\r\n \r\n\r\n \r\n Weight\r\n \r\n\r\n \r\n Cube\r\n \r\n {!isClosed && (\r\n \r\n Action\r\n \r\n )}\r\n \r\n \r\n \r\n {ListOnly.map((item, index) => (\r\n \r\n ))}\r\n \r\n \r\n \r\n \r\n \r\n Total\r\n \r\n \r\n \r\n {ListOnly.reduce((a, b) => +a + +b.UnitCount, 0)}\r\n \r\n \r\n \r\n \r\n {!isClosed && }\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n ) : (\r\n \r\n )}\r\n
    \r\n
    \r\n \r\n\r\n setModel(true)}\r\n >\r\n {/* \r\n \r\n {ListOnly.length > 0 && ListOnly[0].Location}\r\n */}\r\n {\r\n e.preventDefault();\r\n setDetailMangmentShow(true);\r\n e.stopPropagation();\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n {ShipmentID.Id}\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {/* \r\n Cartons : 12\r\n */}\r\n
    \r\n
    \r\n );\r\n}\r\n\r\nfunction EqSizeToPallet(number) {\r\n if (number === 53) return 28;\r\n else if (number === 28) return 24;\r\n else if (number === 20) return 12;\r\n}\r\n\r\nconst TableTrFunction = ({ item, DeleteShipmentRow, isClosed }) => {\r\n return (\r\n \r\n {item.PurchaseOrder}\r\n {item.Sku}\r\n {item.Description}\r\n {item.Location}\r\n {item.UnitCount}\r\n {item.Weight}\r\n {item.Cube}\r\n {!isClosed && (\r\n \r\n {\r\n DeleteShipmentRow(item.Id, item.IdShip);\r\n }}\r\n />\r\n \r\n )}\r\n \r\n );\r\n};\r\n\r\nfunction AssignToOutboundHeader({\r\n ShipmentID,\r\n ReloadPallets,\r\n IsClosedFunction,\r\n GetParms,\r\n}) {\r\n const [Consignees, setConsignees] = useState([]);\r\n const [Vendors, setVendors] = useState([]);\r\n const [Shippers, setShippers] = useState([]);\r\n const [Customers, setCustomers] = useState([]);\r\n const [Services, setServices] = useState([]);\r\n const [statSHipmentId, setstatSHipmentId] = useState([]);\r\n const [statSHipment, setstatSHipment] = useState([]);\r\n const [LineItems, setLineItems] = useState([]);\r\n const [FreightCharges, setFreightCharges] = useState([]);\r\n const [fetchContainersAsync, setfetchContainersAsync] = useState([]);\r\n const [Warehouse, setWarehouse] = useState([]);\r\n const [TrackingDevices, setTrackingDevices] = useState([]);\r\n\r\n useEffect(() => {\r\n /* GetShipmentId(ShipmentID).then((e) => {\r\n if (e?.length > 0 && e[0] === 200) {\r\n setConsignees(e[1]?.Consignees ?? []);\r\n setCustomers(e[1]?.Customers ?? []);\r\n setVendors(e[1]?.Vendors ?? []);\r\n setShippers(e[1]?.Shippers ?? []);\r\n setServices(e[1]?.Services ?? []);\r\n setTrackingDevices(e[1]?.TrackingDevices ?? []);\r\n setFreightCharges(e[1]?.FreightCharges ?? []);\r\n\r\n e[1].Shipment.Id = ShipmentID;\r\n IsClosedFunction(e[1]?.Shipment?.IsClosed);\r\n setstatSHipment([e[1]?.Shipment] ?? []);\r\n\r\n (e[1]?.Items ?? []).forEach((element) => {\r\n element.IdShip = element.Id;\r\n element.Id = element.ItemId;\r\n });\r\n\r\n var ordersIds = [];\r\n (e[1]?.Items ?? []).forEach((x) => {\r\n if (ordersIds.indexOf(x.TransloadOrderId) === -1)\r\n ordersIds.push(x.TransloadOrderId);\r\n });\r\n\r\n GetParms({\r\n ShipmentId: ShipmentID,\r\n IsClosed: e[1]?.Shipment?.IsClosed,\r\n ConsigneeId: e[1]?.Shipment?.ConsigneeId,\r\n CustomerId: e[1]?.Shipment?.CustomerId,\r\n Items: e[1]?.Items,\r\n ordersIds: ordersIds,\r\n });\r\n }\r\n }); */\r\n }, []);\r\n\r\n return (\r\n \r\n );\r\n}\r\n\r\nasync function GetShipmentId(id) {\r\n return await fetch(\r\n `${window.$apiurl}/TransloadShipment/GetShipmentItems?shipmentId=${id}`,\r\n {\r\n method: \"get\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n }\r\n )\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then(async (res) => {\r\n return res;\r\n })\r\n .catch((error) => {\r\n Notification(\"error\", \"Shipment ID : \" + id + \" Not Found\");\r\n console.error(error);\r\n return undefined;\r\n });\r\n}\r\n\r\nfunction Nodatafound({ PalletID = 0 }) {\r\n const [Reload, setReload] = useState(true);\r\n\r\n useEffect(() => {\r\n setTimeout(() => {\r\n setReload(false);\r\n }, 2000);\r\n }, []);\r\n\r\n return (\r\n <>\r\n {!Reload ? (\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n

    \r\n Cartons Not Found\r\n

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n ) : (\r\n
    \r\n \r\n Loading...\r\n \r\n
    \r\n )}\r\n \r\n );\r\n}\r\n","import React, { useState, useEffect } from \"react\";\r\nimport Draggable from \"react-draggable\";\r\nimport Button from \"@material-ui/core/Button\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { default as JsNative } from \"jquery\";\r\nimport Checkbox from \"@material-ui/core/Checkbox\";\r\nimport { Notification } from \"../../../../modules/Notification\";\r\nimport low from \"lowdb\";\r\nimport LocalStorage from \"lowdb/adapters/LocalStorage\";\r\nconst adapter = new LocalStorage(\"db\");\r\nconst db = low(adapter);\r\n\r\nexport default function Item({\r\n item,\r\n SetTableShipment,\r\n removeId,\r\n CheckboxList,\r\n index,\r\n ShipmentID,\r\n selectedShip,\r\n SelectIDforPallet,\r\n CheckboxListId,\r\n}) {\r\n const [ModelShow, setModelShow] = useState(false);\r\n const [stateItem, setstateItem] = useState(item);\r\n\r\n var tableElement, offset;\r\n function GetTale() {\r\n tableElement = JsNative(\".TableComponent\");\r\n /* offset = tableElement.offset(); */\r\n }\r\n\r\n useEffect(() => {\r\n setstateItem(item);\r\n }, [item]);\r\n\r\n function handleDrag(e) {\r\n GetTale();\r\n var page = e;\r\n if (e.changedTouches?.length > 0) page = e.changedTouches[0];\r\n\r\n for (var i in tableElement) {\r\n var ele = tableElement.eq(i)?.find(\".shadow-sm\");\r\n var o = tableElement.eq(i).offset();\r\n if (CheckPosition(o, page)) {\r\n ele.addClass(\"bg-light-info\");\r\n } else ele.removeClass(\"bg-light-info\");\r\n ele.addClass(\"border border-info border-2\");\r\n }\r\n }\r\n\r\n function handleStop(e) {\r\n GetTale();\r\n var page = e;\r\n if (e.changedTouches?.length > 0) page = e.changedTouches[0];\r\n\r\n var ele = tableElement.find(\".shadow-sm\");\r\n if (CheckPosition(offset, page)) {\r\n setModelShow(true);\r\n }\r\n ele.removeClass(\"bg-light-info\");\r\n ele.removeClass(\"border border-info border-2\");\r\n }\r\n\r\n const CheckPosition = (offset1, offset2) => {\r\n try {\r\n if (\r\n offset1.top < offset2.pageY &&\r\n offset2.pageY < offset1.top + tableElement.height() &&\r\n offset1.left < offset2.pageX &&\r\n offset2.pageX < offset1.left + tableElement.width()\r\n )\r\n return true;\r\n else return false;\r\n } catch (error) {\r\n return false;\r\n }\r\n };\r\n\r\n function handleSave() {\r\n /* PostPallet(stateItem?.Id, ShipmentID).then(({ status, Message }) => {\r\n if (200 === status) { */\r\n Notification(\"success\", \"success : \" + stateItem?.Id);\r\n SetTableShipment(stateItem);\r\n removeId(stateItem?.Id);\r\n /* } else {\r\n Notification(\"error\", Message?.toString());\r\n }\r\n }); */\r\n }\r\n\r\n return (\r\n <>\r\n {stateItem?.Items > 0 && (\r\n
    \r\n \r\n \r\n Pallet {stateItem?.Id}\r\n \r\n \r\n Are you sure to add this Pallet\r\n ({stateItem?.Id}) to Shipment\r\n ({stateItem?.ShipID})?\r\n \r\n \r\n {\r\n setModelShow(false);\r\n }}\r\n >\r\n Close\r\n \r\n {\r\n setModelShow(false);\r\n handleSave();\r\n }}\r\n >\r\n Ok\r\n \r\n \r\n \r\n\r\n \r\n
    0 && \"handle\"}>\r\n {\r\n if (\r\n document.querySelector(\r\n \".TableComponent\" /* + stateItem?.ShipID */\r\n )\r\n )\r\n setModelShow(true);\r\n }}\r\n >\r\n {\r\n CheckboxList(e.target.checked, stateItem?.Id);\r\n }}\r\n inputProps={{\r\n \"aria-label\": \"uncontrolled-checkbox\",\r\n }}\r\n />\r\n {CheckboxListId}\r\n {htmlP(\"PO\", stateItem?.Id)} {/* //stateItem?.Id */}\r\n {htmlP(\"Unit Count\", stateItem?.UnitCount)}\r\n {htmlP(\"Items\", stateItem?.Items)}\r\n {htmlP(\"Weight\", stateItem?.Weight?.toFixed(2))}\r\n {htmlP(\"Cube\", stateItem?.Cube?.toFixed(2))}\r\n {\r\n SelectIDforPallet(stateItem?.Id);\r\n }}\r\n >\r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n )}\r\n \r\n );\r\n}\r\n\r\nfunction htmlP(text, text2) {\r\n return (\r\n <>\r\n

    \r\n {text}\r\n

    \r\n {text2}\r\n \r\n );\r\n}\r\n\r\nasync function PostPallet(PalletId, ShipmentID) {\r\n return await fetch(`${window.$apiurl}/pallets/addpallettoshipment`, {\r\n method: \"post\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify({\r\n ShipmentId: ShipmentID,\r\n PalletId: PalletId,\r\n }),\r\n }).then(async (response) => {\r\n var msg = response.status !== 200 ? await response.json() : \"\";\r\n var a = { status: response.status, Message: msg?.Message ?? \"\" };\r\n return a;\r\n });\r\n}\r\n","import React, { useEffect, useState } from \"react\";\r\nimport Item from \"./Item\";\r\nimport { Spinner } from \"react-bootstrap\";\r\nimport Draggable from \"react-draggable\";\r\nimport { default as JsNative } from \"jquery\";\r\nimport { DetailMangment } from \"../../../../modules/eMPower/pages/PalletsManagmentBeta/customers-table/ModelManagment\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport low from \"lowdb\";\r\nimport LocalStorage from \"lowdb/adapters/LocalStorage\";\r\nconst adapter = new LocalStorage(\"db\");\r\nconst db = low(adapter);\r\n\r\nexport default function IndexPalletsList({\r\n SetTableShipment,\r\n DeletRowId,\r\n ShipmentID,\r\n selectedShip,\r\n iShipmentsID = [],\r\n}) {\r\n const [Pallets, setPallets] = useState([]);\r\n const [Show, setShow] = useState(false);\r\n const [Search2, setSearch2] = useState(\"\");\r\n const [ShowModel, setShowModel] = useState(false);\r\n const [IdSelect, setIdSelect] = useState();\r\n const [CheckboxListIds, setCheckboxListIds] = useState([]);\r\n\r\n function SelectIDforPallet(id) {\r\n setIdSelect(id);\r\n setShowModel(true);\r\n }\r\n\r\n useEffect(() => {\r\n GetPalletsFunction();\r\n }, []);\r\n\r\n function CheckboxList(check, Id) {\r\n var array = CheckboxListIds || [];\r\n var find = array?.findIndex((x) => x === Id);\r\n if (find > -1 && !check) {\r\n array.splice(find, 1);\r\n } else if (find === -1 && check) {\r\n array.push(Id);\r\n }\r\n setCheckboxListIds([...array]);\r\n }\r\n\r\n var tableElement, offset;\r\n function GetTale() {\r\n var shipID = Pallets.find((x) => x.Id === CheckboxListIds[0])?.ShipID;\r\n tableElement = JsNative(\".TableComponent\" + shipID);\r\n offset = tableElement.offset();\r\n\r\n return shipID;\r\n }\r\n\r\n const CheckPosition = (offset1, offset2) => {\r\n try {\r\n if (\r\n offset1.top < offset2.pageY &&\r\n offset2.pageY < offset1.top + tableElement.height() &&\r\n offset1.left < offset2.pageX &&\r\n offset2.pageX < offset1.left + tableElement.width()\r\n )\r\n return true;\r\n else return false;\r\n } catch (error) {\r\n return false;\r\n }\r\n };\r\n\r\n function handleDrag(e) {\r\n GetTale();\r\n var page = e;\r\n if (e.changedTouches?.length > 0) page = e.changedTouches[0];\r\n\r\n var ele = tableElement.find(\".shadow-sm\");\r\n if (CheckPosition(offset, page)) {\r\n ele.addClass(\"bg-light-info\");\r\n } else ele.removeClass(\"bg-light-info\");\r\n ele.addClass(\"border border-info border-2\");\r\n }\r\n\r\n function handleStop(e) {\r\n var shipID = GetTale();\r\n var page = e;\r\n if (e.changedTouches?.length > 0) page = e.changedTouches[0];\r\n\r\n var ele = tableElement.find(\".shadow-sm\");\r\n if (CheckPosition(offset, page)) {\r\n PostPallets(CheckboxListIds, shipID);\r\n }\r\n ele.removeClass(\"bg-light-info\");\r\n ele.removeClass(\"border border-info border-2\");\r\n }\r\n\r\n async function PostPallets(ItemsId, PalletId) {\r\n // return await fetch(`${window.$apiurl}/transload/receipt/shipitems`, {\r\n // method: \"post\",\r\n // withCredentials: true,\r\n // headers: {\r\n // Accept: \"application/json, text/plain, */*\",\r\n // Authorization: `bearer ${db.read().getState().Token}`,\r\n // \"X-FP-API-KEY\": \"iphone\",\r\n // \"Content-Type\": \"application/json\",\r\n // },\r\n // body: JSON.stringify({\r\n // Items: ItemsId,\r\n // ShipmentId: PalletId,\r\n // }),\r\n // }).then(async (response) => {\r\n // if (response.status === 200) {\r\n //Notification(\"success\", \"success : \" + ItemsId.join(\", \"));\r\n ItemsId.forEach((x) => {\r\n var a = Pallets.findIndex((y) => x === y.Id);\r\n SetTableShipment(Pallets[a]);\r\n });\r\n\r\n var find = Pallets.filter((x) => ItemsId.indexOf(x.Id) === -1);\r\n setPallets([]);\r\n setTimeout(() => {\r\n setPallets(find);\r\n }, 1);\r\n\r\n setCheckboxListIds([]);\r\n /* ReloadPallets(); */\r\n // } else {\r\n // var msg = response.status !== 200 ? await response.json() : \"\";\r\n // Notification(\"error\", msg?.toString());\r\n // }\r\n // });\r\n }\r\n\r\n async function GetPalletsFunction() {\r\n //const pallets = await GetPallets(ShipmentID);\r\n const pallets = [\r\n {\r\n Id: 702064,\r\n ShipID: 812014,\r\n PurchaseOrder: \"4500093380\",\r\n Sku: \"44067\",\r\n Description: \"SCE PSW WILDLIFE\",\r\n UnitCount: 50,\r\n Weight: 282.67,\r\n Cube: 2.13,\r\n IsHazardousMaterial: null,\r\n IsHot: false,\r\n Pieces: 12,\r\n ShortQuantity: null,\r\n OverQuantity: null,\r\n DamagedQuantity: null,\r\n Pallet: null,\r\n Location: \"Scentsy ID\",\r\n LocationCode: \"SCEMER004\",\r\n UPC: null,\r\n AstrayQuantity: null,\r\n PoExpectedDate: null,\r\n BuyerId: null,\r\n Department: null,\r\n ReferenceNumber: \"WEEK 31\",\r\n ThirdPartyName: null,\r\n ThirdPartyQuantity: null,\r\n Shipped: 50,\r\n OnHand: 0,\r\n Shipment: \"817410,817413\",\r\n Pallets: \"\",\r\n PoEta: null,\r\n ReceivedDate: null,\r\n ProcessedDate: null,\r\n Color: null,\r\n Size: null,\r\n ProductType: null,\r\n ReceivedQuantity: null,\r\n Items: 50,\r\n },\r\n {\r\n Id: 702063,\r\n ShipID: 812014,\r\n PurchaseOrder: \"4500093381\",\r\n Sku: \"44067\",\r\n Description: \"SCE PSW WILDLIFE\",\r\n UnitCount: 64,\r\n Weight: 361.82,\r\n Cube: 2.72,\r\n IsHazardousMaterial: null,\r\n IsHot: false,\r\n Pieces: 12,\r\n ShortQuantity: null,\r\n OverQuantity: null,\r\n DamagedQuantity: null,\r\n Pallet: null,\r\n Location: \"Scentsy ID\",\r\n LocationCode: \"SCELEX003\",\r\n UPC: null,\r\n AstrayQuantity: null,\r\n PoExpectedDate: null,\r\n BuyerId: null,\r\n Department: null,\r\n ReferenceNumber: \"WEEK 31\",\r\n ThirdPartyName: null,\r\n ThirdPartyQuantity: null,\r\n Shipped: 64,\r\n OnHand: 0,\r\n Shipment: \"817426,817424\",\r\n Pallets: \"\",\r\n PoEta: null,\r\n ReceivedDate: null,\r\n ProcessedDate: null,\r\n Color: null,\r\n Size: null,\r\n ProductType: null,\r\n ReceivedQuantity: null,\r\n Items: 50,\r\n },\r\n {\r\n Id: 702061,\r\n ShipID: 812019,\r\n PurchaseOrder: \"4500093381\",\r\n Sku: \"44067\",\r\n Description: \"SCE PSW WILDLIFE\",\r\n UnitCount: 64,\r\n Weight: 250.82,\r\n Cube: 21.72,\r\n IsHazardousMaterial: null,\r\n IsHot: false,\r\n Pieces: 12,\r\n ShortQuantity: null,\r\n OverQuantity: null,\r\n DamagedQuantity: null,\r\n Pallet: null,\r\n Location: \"Scentsy KY\",\r\n LocationCode: \"SCELEX003\",\r\n UPC: null,\r\n AstrayQuantity: null,\r\n PoExpectedDate: null,\r\n BuyerId: null,\r\n Department: null,\r\n ReferenceNumber: \"WEEK 31\",\r\n ThirdPartyName: null,\r\n ThirdPartyQuantity: null,\r\n Shipped: 12,\r\n OnHand: 0,\r\n Shipment: \"817426,817424\",\r\n Pallets: \"\",\r\n PoEta: null,\r\n ReceivedDate: null,\r\n ProcessedDate: null,\r\n Color: null,\r\n Size: null,\r\n ProductType: null,\r\n ReceivedQuantity: null,\r\n Items: 30,\r\n },\r\n\r\n {\r\n Id: 702070,\r\n ShipID: 812014,\r\n PurchaseOrder: \"4500093380\",\r\n Sku: \"44067\",\r\n Description: \"SCE PSW WILDLIFE\",\r\n UnitCount: 21,\r\n Weight: 282.67,\r\n Cube: 2.13,\r\n IsHazardousMaterial: null,\r\n IsHot: false,\r\n Pieces: 12,\r\n ShortQuantity: null,\r\n OverQuantity: null,\r\n DamagedQuantity: null,\r\n Pallet: null,\r\n Location: \"Scentsy ID\",\r\n LocationCode: \"SCEMER004\",\r\n UPC: null,\r\n AstrayQuantity: null,\r\n PoExpectedDate: null,\r\n BuyerId: null,\r\n Department: null,\r\n ReferenceNumber: \"WEEK 31\",\r\n ThirdPartyName: null,\r\n ThirdPartyQuantity: null,\r\n Shipped: 21,\r\n OnHand: 0,\r\n Shipment: \"817410,817413\",\r\n Pallets: \"\",\r\n PoEta: null,\r\n ReceivedDate: null,\r\n ProcessedDate: null,\r\n Color: null,\r\n Size: null,\r\n ProductType: null,\r\n ReceivedQuantity: null,\r\n Items: 50,\r\n },\r\n {\r\n Id: 702071,\r\n ShipID: 812014,\r\n PurchaseOrder: \"4500093381\",\r\n Sku: \"44067\",\r\n Description: \"SCE PSW WILDLIFE\",\r\n UnitCount: 12,\r\n Weight: 361.82,\r\n Cube: 2.72,\r\n IsHazardousMaterial: null,\r\n IsHot: false,\r\n Pieces: 12,\r\n ShortQuantity: null,\r\n OverQuantity: null,\r\n DamagedQuantity: null,\r\n Pallet: null,\r\n Location: \"Scentsy ID\",\r\n LocationCode: \"SCELEX003\",\r\n UPC: null,\r\n AstrayQuantity: null,\r\n PoExpectedDate: null,\r\n BuyerId: null,\r\n Department: null,\r\n ReferenceNumber: \"WEEK 31\",\r\n ThirdPartyName: null,\r\n ThirdPartyQuantity: null,\r\n Shipped: 64,\r\n OnHand: 0,\r\n Shipment: \"817426,817424\",\r\n Pallets: \"\",\r\n PoEta: null,\r\n ReceivedDate: null,\r\n ProcessedDate: null,\r\n Color: null,\r\n Size: null,\r\n ProductType: null,\r\n ReceivedQuantity: null,\r\n Items: 50,\r\n },\r\n {\r\n Id: 702072,\r\n ShipID: 812019,\r\n PurchaseOrder: \"4500093381\",\r\n Sku: \"44067\",\r\n Description: \"SCE PSW WILDLIFE\",\r\n UnitCount: 5,\r\n Weight: 250.82,\r\n Cube: 21.72,\r\n IsHazardousMaterial: null,\r\n IsHot: false,\r\n Pieces: 12,\r\n ShortQuantity: null,\r\n OverQuantity: null,\r\n DamagedQuantity: null,\r\n Pallet: null,\r\n Location: \"Scentsy KY\",\r\n LocationCode: \"SCELEX003\",\r\n UPC: null,\r\n AstrayQuantity: null,\r\n PoExpectedDate: null,\r\n BuyerId: null,\r\n Department: null,\r\n ReferenceNumber: \"WEEK 31\",\r\n ThirdPartyName: null,\r\n ThirdPartyQuantity: null,\r\n Shipped: 12,\r\n OnHand: 0,\r\n Shipment: \"817426,817424\",\r\n Pallets: \"\",\r\n PoEta: null,\r\n ReceivedDate: null,\r\n ProcessedDate: null,\r\n Color: null,\r\n Size: null,\r\n ProductType: null,\r\n ReceivedQuantity: null,\r\n Items: 30,\r\n },\r\n\r\n {\r\n Id: 702073,\r\n ShipID: 812018,\r\n PurchaseOrder: \"4500093381\",\r\n Sku: \"44067\",\r\n Description: \"SCE PSW WILDLIFE\",\r\n UnitCount: 47,\r\n Weight: 350.82,\r\n Cube: 21.72,\r\n IsHazardousMaterial: null,\r\n IsHot: false,\r\n Pieces: 12,\r\n ShortQuantity: null,\r\n OverQuantity: null,\r\n DamagedQuantity: null,\r\n Pallet: null,\r\n Location: \"Scentsy SC\",\r\n LocationCode: \"SCELEX003\",\r\n UPC: null,\r\n AstrayQuantity: null,\r\n PoExpectedDate: null,\r\n BuyerId: null,\r\n Department: null,\r\n ReferenceNumber: \"WEEK 31\",\r\n ThirdPartyName: null,\r\n ThirdPartyQuantity: null,\r\n Shipped: 12,\r\n OnHand: 0,\r\n Shipment: \"817426,817424\",\r\n Pallets: \"\",\r\n PoEta: null,\r\n ReceivedDate: null,\r\n ProcessedDate: null,\r\n Color: null,\r\n Size: null,\r\n ProductType: null,\r\n ReceivedQuantity: null,\r\n Items: 30,\r\n },\r\n {\r\n Id: 702074,\r\n ShipID: 812018,\r\n PurchaseOrder: \"4500093381\",\r\n Sku: \"44067\",\r\n Description: \"SCE PSW WILDLIFE\",\r\n UnitCount: 50,\r\n Weight: 350.82,\r\n Cube: 21.72,\r\n IsHazardousMaterial: null,\r\n IsHot: false,\r\n Pieces: 12,\r\n ShortQuantity: null,\r\n OverQuantity: null,\r\n DamagedQuantity: null,\r\n Pallet: null,\r\n Location: \"Scentsy SC\",\r\n LocationCode: \"SCELEX003\",\r\n UPC: null,\r\n AstrayQuantity: null,\r\n PoExpectedDate: null,\r\n BuyerId: null,\r\n Department: null,\r\n ReferenceNumber: \"WEEK 31\",\r\n ThirdPartyName: null,\r\n ThirdPartyQuantity: null,\r\n Shipped: 12,\r\n OnHand: 0,\r\n Shipment: \"817426,817424\",\r\n Pallets: \"\",\r\n PoEta: null,\r\n ReceivedDate: null,\r\n ProcessedDate: null,\r\n Color: null,\r\n Size: null,\r\n ProductType: null,\r\n ReceivedQuantity: null,\r\n Items: 30,\r\n },\r\n {\r\n Id: 702075,\r\n ShipID: 812018,\r\n PurchaseOrder: \"4500093381\",\r\n Sku: \"44067\",\r\n Description: \"SCE PSW WILDLIFE\",\r\n UnitCount: 75,\r\n Weight: 12.82,\r\n Cube: 21.72,\r\n IsHazardousMaterial: null,\r\n IsHot: false,\r\n Pieces: 12,\r\n ShortQuantity: null,\r\n OverQuantity: null,\r\n DamagedQuantity: null,\r\n Pallet: null,\r\n Location: \"Scentsy SC\",\r\n LocationCode: \"SCELEX003\",\r\n UPC: null,\r\n AstrayQuantity: null,\r\n PoExpectedDate: null,\r\n BuyerId: null,\r\n Department: null,\r\n ReferenceNumber: \"WEEK 31\",\r\n ThirdPartyName: null,\r\n ThirdPartyQuantity: null,\r\n Shipped: 12,\r\n OnHand: 0,\r\n Shipment: \"817426,817424\",\r\n Pallets: \"\",\r\n PoEta: null,\r\n ReceivedDate: null,\r\n ProcessedDate: null,\r\n Color: null,\r\n Size: null,\r\n ProductType: null,\r\n ReceivedQuantity: null,\r\n Items: 30,\r\n },\r\n\r\n {\r\n Id: 702076,\r\n ShipID: 812017,\r\n PurchaseOrder: \"4500093381\",\r\n Sku: \"44067\",\r\n Description: \"SCE PSW WILDLIFE\",\r\n UnitCount: 15,\r\n Weight: 122.82,\r\n Cube: 21.72,\r\n IsHazardousMaterial: null,\r\n IsHot: false,\r\n Pieces: 12,\r\n ShortQuantity: null,\r\n OverQuantity: null,\r\n DamagedQuantity: null,\r\n Pallet: null,\r\n Location: \"Scentsy TX\",\r\n LocationCode: \"SCELEX003\",\r\n UPC: null,\r\n AstrayQuantity: null,\r\n PoExpectedDate: null,\r\n BuyerId: null,\r\n Department: null,\r\n ReferenceNumber: \"WEEK 31\",\r\n ThirdPartyName: null,\r\n ThirdPartyQuantity: null,\r\n Shipped: 12,\r\n OnHand: 0,\r\n Shipment: \"817426,817424\",\r\n Pallets: \"\",\r\n PoEta: null,\r\n ReceivedDate: null,\r\n ProcessedDate: null,\r\n Color: null,\r\n Size: null,\r\n ProductType: null,\r\n ReceivedQuantity: null,\r\n Items: 30,\r\n },\r\n ];\r\n\r\n pallets.forEach((x) => {\r\n x.search = x?.Id.toString();\r\n });\r\n\r\n setPallets(pallets);\r\n setShow(true);\r\n }\r\n\r\n /* const repeat = [];\r\n const CheckReapet = (id) => {\r\n if (repeat.indexOf(id) === -1) {\r\n repeat.push(id);\r\n return true;\r\n } else return false;\r\n }; */\r\n\r\n useEffect(() => {\r\n if (DeletRowId && DeletRowId !== 0) setPallets((x) => [...x, DeletRowId]);\r\n }, [DeletRowId]);\r\n\r\n function removeId(id) {\r\n var a = Pallets.filter((x) => x?.Id !== id);\r\n setPallets(a ?? []);\r\n }\r\n\r\n function compare(a, b) {\r\n if (a.ShipID < b.ShipID) {\r\n return -1;\r\n }\r\n if (a.ShipID > b.ShipID) {\r\n return 1;\r\n }\r\n return 0;\r\n }\r\n\r\n return (\r\n <>\r\n {\r\n setShowModel(false);\r\n }}\r\n aria-labelledby=\"example-modal-sizes-title-lg\"\r\n >\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n {\r\n if (e.keyCode === 13) setSearch2(e.target.value);\r\n }}\r\n onBlur={(e) => {\r\n setSearch2(e.target.value);\r\n }}\r\n />\r\n
    \r\n
    \r\n {CheckboxListIds?.length > 0 && (\r\n \r\n
    \r\n \r\n {htmlP(CheckboxListIds, \"Pallets Selected\")}\r\n \r\n
    \r\n \r\n )}\r\n
    \r\n\r\n {Pallets?.length > 0 ? (\r\n <>\r\n {Show &&\r\n Pallets.filter(\r\n (x) =>\r\n x?.search?.includes(\r\n Search2\r\n ) /* &&\r\n iShipmentsID.find((y) => y.Id === x.ShipID) */\r\n )\r\n .sort(compare)\r\n .map((x, i) => (\r\n <>\r\n {/* {CheckReapet(x.ShipID) && (\r\n <>\r\n {i !== 0 && (\r\n <>\r\n
    \r\n \r\n )}\r\n
    \r\n
    \r\n \r\n Pallets For {i}\r\n \r\n {x.ShipID}\r\n \r\n {x.Location}\r\n \r\n \r\n
    \r\n
    \r\n \r\n )} */}\r\n 0 &&\r\n Pallets.find((x) => x.Id === CheckboxListIds[0])?.ShipID\r\n }\r\n />\r\n \r\n ))}\r\n \r\n ) : (\r\n \r\n )}\r\n
    \r\n \r\n );\r\n}\r\n\r\nfunction Nodatafound() {\r\n const [Reload, setReload] = useState(true);\r\n\r\n useEffect(() => {\r\n setTimeout(() => {\r\n setReload(false);\r\n }, 7000);\r\n }, []);\r\n\r\n return (\r\n <>\r\n {!Reload ? (\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n

    \r\n No Items found\r\n

    \r\n
    \r\n
    \r\n
    \r\n ) : (\r\n
    \r\n \r\n Loading...\r\n \r\n
    \r\n )}\r\n \r\n );\r\n}\r\nfunction htmlP(list, text) {\r\n return (\r\n <>\r\n {text}\r\n {list.map((x) => (\r\n

    \r\n {x}\r\n

    \r\n ))}\r\n \r\n );\r\n}\r\n","import React, { useEffect, useState } from \"react\";\r\nimport TableComponent from \"./TableComponent\";\r\nimport { Notification } from \"../../../modules/Notification\";\r\nimport { ScrollingMenuReceipt } from \"./ScrollingMenuReceipt\";\r\nimport IndexPalletsList from \"./Pallets/IndexPalletsList\";\r\nimport low from \"lowdb\";\r\nimport LocalStorage from \"lowdb/adapters/LocalStorage\";\r\nconst adapter = new LocalStorage(\"db\");\r\nconst db = low(adapter);\r\n\r\nexport default function Index({\r\n iShipmentsID = [],\r\n IsClosedFunction,\r\n IsClosed,\r\n OrdersIds,\r\n}) {\r\n const [Table, setTable] = useState([\r\n {\r\n ShipID: 812014,\r\n PurchaseOrder: \"4500093380\",\r\n Sku: \"44067\",\r\n Description: \"SCE PSW WILDLIFE\",\r\n UnitCount: 50,\r\n Weight: 282.67,\r\n Cube: 2.13,\r\n IsHazardousMaterial: null,\r\n IsHot: false,\r\n Pieces: 12,\r\n ShortQuantity: null,\r\n OverQuantity: null,\r\n DamagedQuantity: null,\r\n Pallet: null,\r\n Location: \"Scentsy ID\",\r\n LocationCode: \"SCEMER004\",\r\n UPC: null,\r\n AstrayQuantity: null,\r\n PoExpectedDate: null,\r\n BuyerId: null,\r\n Department: null,\r\n ReferenceNumber: \"WEEK 31\",\r\n ThirdPartyName: null,\r\n ThirdPartyQuantity: null,\r\n Shipped: 50,\r\n OnHand: 0,\r\n Shipment: \"817410,817413\",\r\n Pallets: \"\",\r\n PoEta: null,\r\n ReceivedDate: null,\r\n ProcessedDate: null,\r\n Color: null,\r\n Size: null,\r\n ProductType: null,\r\n ReceivedQuantity: null,\r\n },\r\n {\r\n ShipID: 812014,\r\n PurchaseOrder: \"4500093381\",\r\n Sku: \"44067\",\r\n Description: \"SCE PSW WILDLIFE\",\r\n UnitCount: 64,\r\n Weight: 361.82,\r\n Cube: 2.72,\r\n IsHazardousMaterial: null,\r\n IsHot: false,\r\n Pieces: 12,\r\n ShortQuantity: null,\r\n OverQuantity: null,\r\n DamagedQuantity: null,\r\n Pallet: null,\r\n Location: \"Scentsy ID\",\r\n LocationCode: \"SCELEX003\",\r\n UPC: null,\r\n AstrayQuantity: null,\r\n PoExpectedDate: null,\r\n BuyerId: null,\r\n Department: null,\r\n ReferenceNumber: \"WEEK 31\",\r\n ThirdPartyName: null,\r\n ThirdPartyQuantity: null,\r\n Shipped: 64,\r\n OnHand: 0,\r\n Shipment: \"817426,817424\",\r\n Pallets: \"\",\r\n PoEta: null,\r\n ReceivedDate: null,\r\n ProcessedDate: null,\r\n Color: null,\r\n Size: null,\r\n ProductType: null,\r\n ReceivedQuantity: null,\r\n },\r\n {\r\n ShipID: 812019,\r\n PurchaseOrder: \"4500093382\",\r\n Sku: \"44067\",\r\n Description: \"SCE PSW WILDLIFE\",\r\n UnitCount: 65,\r\n Weight: 367.47,\r\n Cube: 2.77,\r\n IsHazardousMaterial: null,\r\n IsHot: false,\r\n Pieces: 12,\r\n ShortQuantity: null,\r\n OverQuantity: null,\r\n DamagedQuantity: null,\r\n Pallet: null,\r\n Location: \"Scentsy KY\",\r\n LocationCode: \"SCECOP003\",\r\n UPC: null,\r\n AstrayQuantity: null,\r\n PoExpectedDate: null,\r\n BuyerId: null,\r\n Department: null,\r\n ReferenceNumber: \"WEEK 31\",\r\n ThirdPartyName: null,\r\n ThirdPartyQuantity: null,\r\n Shipped: 65,\r\n OnHand: 0,\r\n Shipment: \"817433\",\r\n Pallets: \"\",\r\n PoEta: null,\r\n ReceivedDate: null,\r\n ProcessedDate: null,\r\n Color: null,\r\n Size: null,\r\n ProductType: null,\r\n ReceivedQuantity: null,\r\n },\r\n {\r\n ShipID: 812019,\r\n PurchaseOrder: \"4500093383\",\r\n Sku: \"44067\",\r\n Description: \"SCE PSW WILDLIFE\",\r\n UnitCount: 70,\r\n Weight: 395.74,\r\n Cube: 2.98,\r\n IsHazardousMaterial: null,\r\n IsHot: false,\r\n Pieces: 12,\r\n ShortQuantity: null,\r\n OverQuantity: null,\r\n DamagedQuantity: null,\r\n Pallet: null,\r\n Location: \"Scentsy KY\",\r\n LocationCode: \"SCEROC001\",\r\n UPC: null,\r\n AstrayQuantity: null,\r\n PoExpectedDate: null,\r\n BuyerId: null,\r\n Department: null,\r\n ReferenceNumber: \"WEEK 31\",\r\n ThirdPartyName: null,\r\n ThirdPartyQuantity: null,\r\n Shipped: 70,\r\n OnHand: 0,\r\n Shipment: \"817597\",\r\n Pallets: \"\",\r\n PoEta: null,\r\n ReceivedDate: null,\r\n ProcessedDate: null,\r\n Color: null,\r\n Size: null,\r\n ProductType: null,\r\n ReceivedQuantity: null,\r\n },\r\n {\r\n ShipID: 812014,\r\n PurchaseOrder: \"4500093380\",\r\n Sku: \"66352\",\r\n Description: \"SCE PSW GATSBY\",\r\n UnitCount: 25,\r\n Weight: 141.34,\r\n Cube: 1.06,\r\n IsHazardousMaterial: null,\r\n IsHot: false,\r\n Pieces: 12,\r\n ShortQuantity: null,\r\n OverQuantity: null,\r\n DamagedQuantity: null,\r\n Pallet: null,\r\n Location: \"Scentsy ID\",\r\n LocationCode: \"SCEMER004\",\r\n UPC: null,\r\n AstrayQuantity: null,\r\n PoExpectedDate: null,\r\n BuyerId: null,\r\n Department: null,\r\n ReferenceNumber: \"WEEK 31\",\r\n ThirdPartyName: null,\r\n ThirdPartyQuantity: null,\r\n Shipped: 25,\r\n OnHand: 0,\r\n Shipment: \"817410\",\r\n Pallets: \"\",\r\n PoEta: null,\r\n ReceivedDate: null,\r\n ProcessedDate: null,\r\n Color: null,\r\n Size: null,\r\n ProductType: null,\r\n ReceivedQuantity: null,\r\n },\r\n {\r\n ShipID: 812014,\r\n PurchaseOrder: \"4500093381\",\r\n Sku: \"66352\",\r\n Description: \"SCE PSW GATSBY\",\r\n UnitCount: 31,\r\n Weight: 175.26,\r\n Cube: 1.32,\r\n IsHazardousMaterial: null,\r\n IsHot: false,\r\n Pieces: 12,\r\n ShortQuantity: null,\r\n OverQuantity: null,\r\n DamagedQuantity: null,\r\n Pallet: null,\r\n Location: \"Scentsy ID\",\r\n LocationCode: \"SCELEX003\",\r\n UPC: null,\r\n AstrayQuantity: null,\r\n PoExpectedDate: null,\r\n BuyerId: null,\r\n Department: null,\r\n ReferenceNumber: \"WEEK 31\",\r\n ThirdPartyName: null,\r\n ThirdPartyQuantity: null,\r\n Shipped: 31,\r\n OnHand: 0,\r\n Shipment: \"817424\",\r\n Pallets: \"\",\r\n PoEta: null,\r\n ReceivedDate: null,\r\n ProcessedDate: null,\r\n Color: null,\r\n Size: null,\r\n ProductType: null,\r\n ReceivedQuantity: null,\r\n },\r\n {\r\n ShipID: 812014,\r\n PurchaseOrder: \"4500093382\",\r\n Sku: \"66352\",\r\n Description: \"SCE PSW GATSBY\",\r\n UnitCount: 32,\r\n Weight: 180.91,\r\n Cube: 1.36,\r\n IsHazardousMaterial: null,\r\n IsHot: false,\r\n Pieces: 12,\r\n ShortQuantity: null,\r\n OverQuantity: null,\r\n DamagedQuantity: null,\r\n Pallet: null,\r\n Location: \"Scentsy ID\",\r\n LocationCode: \"SCECOP003\",\r\n UPC: null,\r\n AstrayQuantity: null,\r\n PoExpectedDate: null,\r\n BuyerId: null,\r\n Department: null,\r\n ReferenceNumber: \"WEEK 31\",\r\n ThirdPartyName: null,\r\n ThirdPartyQuantity: null,\r\n Shipped: 32,\r\n OnHand: 0,\r\n Shipment: \"817433\",\r\n Pallets: \"\",\r\n PoEta: null,\r\n ReceivedDate: null,\r\n ProcessedDate: null,\r\n Color: null,\r\n Size: null,\r\n ProductType: null,\r\n ReceivedQuantity: null,\r\n },\r\n {\r\n ShipID: 812014,\r\n PurchaseOrder: \"4500093383\",\r\n Sku: \"66352\",\r\n Description: \"SCE PSW GATSBY\",\r\n UnitCount: 34,\r\n Weight: 192.22,\r\n Cube: 1.45,\r\n IsHazardousMaterial: null,\r\n IsHot: false,\r\n Pieces: 12,\r\n ShortQuantity: null,\r\n OverQuantity: null,\r\n DamagedQuantity: null,\r\n Pallet: null,\r\n Location: \"Scentsy ID\",\r\n LocationCode: \"SCEROC001\",\r\n UPC: null,\r\n AstrayQuantity: null,\r\n PoExpectedDate: null,\r\n BuyerId: null,\r\n Department: null,\r\n ReferenceNumber: \"WEEK 31\",\r\n ThirdPartyName: null,\r\n ThirdPartyQuantity: null,\r\n Shipped: 34,\r\n OnHand: 0,\r\n Shipment: \"817597\",\r\n Pallets: \"\",\r\n PoEta: null,\r\n ReceivedDate: null,\r\n ProcessedDate: null,\r\n Color: null,\r\n Size: null,\r\n ProductType: null,\r\n ReceivedQuantity: null,\r\n },\r\n {\r\n ShipID: 812014,\r\n PurchaseOrder: \"4500093380\",\r\n Sku: \"70419\",\r\n Description: \"PSW GILDED LEAVES MINI WARMER US/CA\",\r\n UnitCount: 307,\r\n Weight: 1735.6,\r\n Cube: 13.07,\r\n IsHazardousMaterial: null,\r\n IsHot: false,\r\n Pieces: 12,\r\n ShortQuantity: null,\r\n OverQuantity: null,\r\n DamagedQuantity: null,\r\n Pallet: null,\r\n Location: \"Scentsy ID\",\r\n LocationCode: \"SCEMER004\",\r\n UPC: null,\r\n AstrayQuantity: null,\r\n PoExpectedDate: null,\r\n BuyerId: null,\r\n Department: null,\r\n ReferenceNumber: \"WEEK 31\",\r\n ThirdPartyName: null,\r\n ThirdPartyQuantity: null,\r\n Shipped: 307,\r\n OnHand: 0,\r\n Shipment: \"817410,817411\",\r\n Pallets: \"\",\r\n PoEta: null,\r\n ReceivedDate: null,\r\n ProcessedDate: null,\r\n Color: null,\r\n Size: null,\r\n ProductType: null,\r\n ReceivedQuantity: null,\r\n },\r\n {\r\n ShipID: 812014,\r\n PurchaseOrder: \"4500093381\",\r\n Sku: \"70419\",\r\n Description: \"PSW GILDED LEAVES MINI WARMER US/CA\",\r\n UnitCount: 397,\r\n Weight: 2244.41,\r\n Cube: 16.9,\r\n IsHazardousMaterial: null,\r\n IsHot: false,\r\n Pieces: 12,\r\n ShortQuantity: null,\r\n OverQuantity: null,\r\n DamagedQuantity: null,\r\n Pallet: null,\r\n Location: \"Scentsy ID\",\r\n LocationCode: \"SCELEX003\",\r\n UPC: null,\r\n AstrayQuantity: null,\r\n PoExpectedDate: null,\r\n BuyerId: null,\r\n Department: null,\r\n ReferenceNumber: \"WEEK 31\",\r\n ThirdPartyName: null,\r\n ThirdPartyQuantity: null,\r\n Shipped: 397,\r\n OnHand: 0,\r\n Shipment: \"817423,817424,817425\",\r\n Pallets: \"\",\r\n PoEta: null,\r\n ReceivedDate: null,\r\n ProcessedDate: null,\r\n Color: null,\r\n Size: null,\r\n ProductType: null,\r\n ReceivedQuantity: null,\r\n },\r\n {\r\n ShipID: 812014,\r\n PurchaseOrder: \"4500093382\",\r\n Sku: \"70419\",\r\n Description: \"PSW GILDED LEAVES MINI WARMER US/CA\",\r\n UnitCount: 399,\r\n Weight: 2255.71,\r\n Cube: 16.99,\r\n IsHazardousMaterial: null,\r\n IsHot: false,\r\n Pieces: 12,\r\n ShortQuantity: null,\r\n OverQuantity: null,\r\n DamagedQuantity: null,\r\n Pallet: null,\r\n Location: \"Scentsy ID\",\r\n LocationCode: \"SCECOP003\",\r\n UPC: null,\r\n AstrayQuantity: null,\r\n PoExpectedDate: null,\r\n BuyerId: null,\r\n Department: null,\r\n ReferenceNumber: \"WEEK 31\",\r\n ThirdPartyName: null,\r\n ThirdPartyQuantity: null,\r\n Shipped: 399,\r\n OnHand: 0,\r\n Shipment: \"817433,817434\",\r\n Pallets: \"\",\r\n PoEta: null,\r\n ReceivedDate: null,\r\n ProcessedDate: null,\r\n Color: null,\r\n Size: null,\r\n ProductType: null,\r\n ReceivedQuantity: null,\r\n },\r\n {\r\n ShipID: 812014,\r\n PurchaseOrder: \"4500093383\",\r\n Sku: \"70419\",\r\n Description: \"PSW GILDED LEAVES MINI WARMER US/CA\",\r\n UnitCount: 149,\r\n Weight: 842.36,\r\n Cube: 6.34,\r\n IsHazardousMaterial: null,\r\n IsHot: false,\r\n Pieces: 12,\r\n ShortQuantity: null,\r\n OverQuantity: null,\r\n DamagedQuantity: null,\r\n Pallet: null,\r\n Location: \"Scentsy ID\",\r\n LocationCode: \"SCEROC001\",\r\n UPC: null,\r\n AstrayQuantity: null,\r\n PoExpectedDate: null,\r\n BuyerId: null,\r\n Department: null,\r\n ReferenceNumber: \"WEEK 31\",\r\n ThirdPartyName: null,\r\n ThirdPartyQuantity: null,\r\n Shipped: 149,\r\n OnHand: 0,\r\n Shipment: \"817597\",\r\n Pallets: \"\",\r\n PoEta: null,\r\n ReceivedDate: null,\r\n ProcessedDate: null,\r\n Color: null,\r\n Size: null,\r\n ProductType: null,\r\n ReceivedQuantity: null,\r\n },\r\n\r\n {\r\n ShipID: 812018,\r\n PurchaseOrder: \"4500093383\",\r\n Sku: \"70419\",\r\n Description: \"PSW GILDED LEAVES MINI WARMER US/CA\",\r\n UnitCount: 210,\r\n Weight: 3.55,\r\n Cube: 2.2,\r\n IsHazardousMaterial: null,\r\n IsHot: false,\r\n Pieces: 12,\r\n ShortQuantity: null,\r\n OverQuantity: null,\r\n DamagedQuantity: null,\r\n Pallet: null,\r\n Location: \"Scentsy SC\",\r\n LocationCode: \"SCEROC001\",\r\n UPC: null,\r\n AstrayQuantity: null,\r\n PoExpectedDate: null,\r\n BuyerId: null,\r\n Department: null,\r\n ReferenceNumber: \"WEEK 31\",\r\n ThirdPartyName: null,\r\n ThirdPartyQuantity: null,\r\n Shipped: 149,\r\n OnHand: 0,\r\n Shipment: \"817597\",\r\n Pallets: \"\",\r\n PoEta: null,\r\n ReceivedDate: null,\r\n ProcessedDate: null,\r\n Color: null,\r\n Size: null,\r\n ProductType: null,\r\n ReceivedQuantity: null,\r\n },\r\n {\r\n ShipID: 812018,\r\n PurchaseOrder: \"4500093383\",\r\n Sku: \"70419\",\r\n Description: \"PSW GILDED LEAVES MINI WARMER US/CA\",\r\n UnitCount: 140,\r\n Weight: 33,\r\n Cube: 21.5,\r\n IsHazardousMaterial: null,\r\n IsHot: false,\r\n Pieces: 12,\r\n ShortQuantity: null,\r\n OverQuantity: null,\r\n DamagedQuantity: null,\r\n Pallet: null,\r\n Location: \"Scentsy SC\",\r\n LocationCode: \"SCEROC001\",\r\n UPC: null,\r\n AstrayQuantity: null,\r\n PoExpectedDate: null,\r\n BuyerId: null,\r\n Department: null,\r\n ReferenceNumber: \"WEEK 31\",\r\n ThirdPartyName: null,\r\n ThirdPartyQuantity: null,\r\n Shipped: 149,\r\n OnHand: 0,\r\n Shipment: \"817597\",\r\n Pallets: \"\",\r\n PoEta: null,\r\n ReceivedDate: null,\r\n ProcessedDate: null,\r\n Color: null,\r\n Size: null,\r\n ProductType: null,\r\n ReceivedQuantity: null,\r\n },\r\n {\r\n ShipID: 812018,\r\n PurchaseOrder: \"4500093383\",\r\n Sku: \"70419\",\r\n Description: \"PSW GILDED LEAVES MINI WARMER US/CA\",\r\n UnitCount: 110,\r\n Weight: 45.55,\r\n Cube: 25.2,\r\n IsHazardousMaterial: null,\r\n IsHot: false,\r\n Pieces: 12,\r\n ShortQuantity: null,\r\n OverQuantity: null,\r\n DamagedQuantity: null,\r\n Pallet: null,\r\n Location: \"Scentsy SC\",\r\n LocationCode: \"SCEROC001\",\r\n UPC: null,\r\n AstrayQuantity: null,\r\n PoExpectedDate: null,\r\n BuyerId: null,\r\n Department: null,\r\n ReferenceNumber: \"WEEK 31\",\r\n ThirdPartyName: null,\r\n ThirdPartyQuantity: null,\r\n Shipped: 149,\r\n OnHand: 0,\r\n Shipment: \"817597\",\r\n Pallets: \"\",\r\n PoEta: null,\r\n ReceivedDate: null,\r\n ProcessedDate: null,\r\n Color: null,\r\n Size: null,\r\n ProductType: null,\r\n ReceivedQuantity: null,\r\n },\r\n {\r\n ShipID: 812018,\r\n PurchaseOrder: \"4500093383\",\r\n Sku: \"70419\",\r\n Description: \"PSW GILDED LEAVES MINI WARMER US/CA\",\r\n UnitCount: 210,\r\n Weight: 12.55,\r\n Cube: 23.2,\r\n IsHazardousMaterial: null,\r\n IsHot: false,\r\n Pieces: 12,\r\n ShortQuantity: null,\r\n OverQuantity: null,\r\n DamagedQuantity: null,\r\n Pallet: null,\r\n Location: \"Scentsy SC\",\r\n LocationCode: \"SCEROC001\",\r\n UPC: null,\r\n AstrayQuantity: null,\r\n PoExpectedDate: null,\r\n BuyerId: null,\r\n Department: null,\r\n ReferenceNumber: \"WEEK 31\",\r\n ThirdPartyName: null,\r\n ThirdPartyQuantity: null,\r\n Shipped: 149,\r\n OnHand: 0,\r\n Shipment: \"817597\",\r\n Pallets: \"\",\r\n PoEta: null,\r\n ReceivedDate: null,\r\n ProcessedDate: null,\r\n Color: null,\r\n Size: null,\r\n ProductType: null,\r\n ReceivedQuantity: null,\r\n },\r\n\r\n {\r\n ShipID: 812017,\r\n PurchaseOrder: \"4500093383\",\r\n Sku: \"70419\",\r\n Description: \"PSW GILDED LEAVES MINI WARMER US/CA\",\r\n UnitCount: 210,\r\n Weight: 12.55,\r\n Cube: 23.2,\r\n IsHazardousMaterial: null,\r\n IsHot: false,\r\n Pieces: 12,\r\n ShortQuantity: null,\r\n OverQuantity: null,\r\n DamagedQuantity: null,\r\n Pallet: null,\r\n Location: \"Scentsy TX\",\r\n LocationCode: \"SCEROC001\",\r\n UPC: null,\r\n AstrayQuantity: null,\r\n PoExpectedDate: null,\r\n BuyerId: null,\r\n Department: null,\r\n ReferenceNumber: \"WEEK 31\",\r\n ThirdPartyName: null,\r\n ThirdPartyQuantity: null,\r\n Shipped: 149,\r\n OnHand: 0,\r\n Shipment: \"817597\",\r\n Pallets: \"\",\r\n PoEta: null,\r\n ReceivedDate: null,\r\n ProcessedDate: null,\r\n Color: null,\r\n Size: null,\r\n ProductType: null,\r\n ReceivedQuantity: null,\r\n },\r\n {\r\n ShipID: 812017,\r\n PurchaseOrder: \"4500093383\",\r\n Sku: \"70419\",\r\n Description: \"PSW GILDED LEAVES MINI WARMER US/CA\",\r\n UnitCount: 60,\r\n Weight: 6.55,\r\n Cube: 7.2,\r\n IsHazardousMaterial: null,\r\n IsHot: false,\r\n Pieces: 12,\r\n ShortQuantity: null,\r\n OverQuantity: null,\r\n DamagedQuantity: null,\r\n Pallet: null,\r\n Location: \"Scentsy TX\",\r\n LocationCode: \"SCEROC001\",\r\n UPC: null,\r\n AstrayQuantity: null,\r\n PoExpectedDate: null,\r\n BuyerId: null,\r\n Department: null,\r\n ReferenceNumber: \"WEEK 31\",\r\n ThirdPartyName: null,\r\n ThirdPartyQuantity: null,\r\n Shipped: 149,\r\n OnHand: 0,\r\n Shipment: \"817597\",\r\n Pallets: \"\",\r\n PoEta: null,\r\n ReceivedDate: null,\r\n ProcessedDate: null,\r\n Color: null,\r\n Size: null,\r\n ProductType: null,\r\n ReceivedQuantity: null,\r\n },\r\n {\r\n ShipID: 812017,\r\n PurchaseOrder: \"4500093383\",\r\n Sku: \"70419\",\r\n Description: \"PSW GILDED LEAVES MINI WARMER US/CA\",\r\n UnitCount: 300,\r\n Weight: 5.55,\r\n Cube: 5.2,\r\n IsHazardousMaterial: null,\r\n IsHot: false,\r\n Pieces: 12,\r\n ShortQuantity: null,\r\n OverQuantity: null,\r\n DamagedQuantity: null,\r\n Pallet: null,\r\n Location: \"Scentsy TX\",\r\n LocationCode: \"SCEROC001\",\r\n UPC: null,\r\n AstrayQuantity: null,\r\n PoExpectedDate: null,\r\n BuyerId: null,\r\n Department: null,\r\n ReferenceNumber: \"WEEK 31\",\r\n ThirdPartyName: null,\r\n ThirdPartyQuantity: null,\r\n Shipped: 149,\r\n OnHand: 0,\r\n Shipment: \"817597\",\r\n Pallets: \"\",\r\n PoEta: null,\r\n ReceivedDate: null,\r\n ProcessedDate: null,\r\n Color: null,\r\n Size: null,\r\n ProductType: null,\r\n ReceivedQuantity: null,\r\n },\r\n ]);\r\n const [DeletRowId, setDeletRowId] = useState(0);\r\n const [ShipmentsID, setShipmentsID] = useState(iShipmentsID);\r\n const [ReloadPalletsList, setReloadPalletsList] = useState(true);\r\n const [selectedShip, setselectedShip] = useState(false);\r\n const [Search, setSearch] = useState(\"\");\r\n\r\n function ReloadPallets() {\r\n setReloadPalletsList(false);\r\n setTimeout(() => {\r\n setReloadPalletsList(true);\r\n }, 1);\r\n }\r\n\r\n useEffect(() => {\r\n console.log(iShipmentsID);\r\n setShipmentsID(iShipmentsID);\r\n }, [iShipmentsID]);\r\n\r\n useEffect(() => {\r\n console.log(Table);\r\n }, [Table]);\r\n\r\n function SetTableShipment(row, Quantity) {\r\n var table = Table;\r\n var a = table.findIndex((x) => x?.Id === row?.Id);\r\n if (a > -1) {\r\n table[a].Quantity += Quantity;\r\n setTable([]);\r\n setTimeout(() => {\r\n setTable(table);\r\n }, 1);\r\n } else {\r\n row.Quantity = Quantity;\r\n setShipmentsID((x) => {\r\n var a = x.find((y) => y.Id === row.ShipID);\r\n if (a) a.Progress += 10;\r\n return x;\r\n });\r\n setTable((x) => [...x, row]);\r\n }\r\n }\r\n\r\n function DeleteShipmentRow(id, IdShip) {\r\n RemovePallet(IdShip).then(({ status, Message }) => {\r\n if (200 === status) {\r\n Notification(\"success\", \"success : \" + id);\r\n var a = Table.filter((x) => x?.Id !== id);\r\n var b = Table.find((x) => x?.Id === id);\r\n setTable([]);\r\n setDeletRowId(0);\r\n setTimeout(() => {\r\n setTable(a);\r\n setDeletRowId(\"orderId=\" + b?.TransloadOrderId);\r\n }, 1);\r\n } else {\r\n Notification(\"error\", Message?.toString());\r\n }\r\n });\r\n }\r\n\r\n return (\r\n <>\r\n \r\n\r\n {ShipmentsID.length > 0 && (\r\n \r\n )}\r\n {IsClosed ? : <>}\r\n \r\n );\r\n}\r\n\r\nasync function RemovePallet(id) {\r\n return await fetch(\r\n `${window.$apiurl}/TransloadWarehouse/DeleteShipItem/${id}`,\r\n {\r\n method: \"delete\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n }\r\n ).then(async (response) => {\r\n var msg = response.status !== 200 ? await response.json() : \"\";\r\n var a = { status: response.status, Message: msg?.Message ?? \"\" };\r\n return a;\r\n });\r\n}\r\n\r\nfunction Nodatafound() {\r\n return (\r\n <>\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n

    \r\n Shipment Is Closed\r\n

    \r\n
    \r\n
    \r\n
    \r\n \r\n );\r\n}\r\n\r\nfunction ShipmentFun({ Table = [], ShipmentsID, setselectedShip }) {\r\n const [selectedId, setselectedId] = useState(false);\r\n const [Pallets2, setPallets2] = useState([]);\r\n const [ScrollList, setScrollList] = useState([]);\r\n\r\n /* useEffect(() => {\r\n var list = [];\r\n ShipmentsID.forEach((x) => {\r\n list.push({ Id: x });\r\n });\r\n setScrollList(list);\r\n }, [ShipmentsID]); */\r\n\r\n useEffect(() => {\r\n setselectedShip(selectedId);\r\n }, [selectedId]);\r\n\r\n return (\r\n
    \r\n {/* \r\n
    */}\r\n\r\n
    \r\n
    \r\n
    \r\n Locations\r\n
    \r\n
    \r\n\r\n {ShipmentsID.map((x, i) => (\r\n
    \r\n
    \r\n );\r\n}\r\n\r\n/* function IndexPalletsListFun({\r\n selectedShip,\r\n SetTableShipment,\r\n DeletRowId,\r\n Shipment,\r\n ReloadPallets,\r\n setSearch,\r\n Search,\r\n ShipmentsID,\r\n ReloadPalletsList,\r\n}) {\r\n const [selectedId, setselectedId] = useState(false);\r\n const [Pallets2, setPallets2] = useState([]);\r\n const [ScrollList, setScrollList] = useState([]);\r\n\r\n return (\r\n
    \r\n {selectedShip}\r\n {\r\n \r\n } \r\n
    \r\n );\r\n} */\r\n","import React, { useEffect, useState } from \"react\";\r\nimport Index from \"./PoToLocation/Index\";\r\nimport $ from \"jquery\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { CreatableSelect3 } from \"../../../_metronic/_partials/controls\";\r\nimport { Notification } from \"../../modules/Notification\";\r\nimport Button from \"@material-ui/core/Button\";\r\nimport low from \"lowdb\";\r\nimport SelectPagination from \"../../../_metronic/_partials/widgets/Select/SelectPagination\";\r\nimport LocalStorage from \"lowdb/adapters/LocalStorage\";\r\nimport { Helmet } from \"react-helmet\";\r\nimport { OneMoveMaster } from \"../../modules/eMPower/pages/Transload/FindOrders/product-Containers/remark-edit-dialog/OneMoveMaster\";\r\nconst adapter = new LocalStorage(\"db\");\r\nconst db = low(adapter);\r\n\r\nconst mystyleTabs = {\r\n fontSize: \"13px\",\r\n};\r\n\r\nexport function PoToLocation() {\r\n const [ShipmentIDStat, setShipmentIDStat] = useState([]);\r\n const [ShipmentsIds, setShipmentsIds] = useState();\r\n const [ShipmentNewModel, setShipmentNewModelt] = useState(false);\r\n const [IsClosed, setIsClosed] = useState(0);\r\n const [CustomerName, setCustomerName] = useState(\"\");\r\n const [OrdersIds, setOrdersIds] = useState([]);\r\n\r\n useEffect(() => {\r\n // GetShipmentsIds();\r\n GetOrdersIds();\r\n window.$ShipmentsAssigntoOutbound = [];\r\n window.$ReceiptsAssigntoOutbound = [];\r\n }, []);\r\n\r\n function IsClosedFunction(params) {\r\n setIsClosed(params);\r\n }\r\n\r\n const [WareHouse, setWareHouse] = useState([\r\n {\r\n label: \"MITCO-DOWNEY\",\r\n value: \"MITCO-DOWNEY\",\r\n Locations: [\r\n {\r\n label: \"Tac Lane ID\",\r\n value: \"Tac Lane ID\",\r\n Pallets: [{ label: \"702002\", value: \"702002\" }],\r\n },\r\n { label: \"Tac Lane KY\", value: \"Tac Lane KY\", Pallets: [] },\r\n ],\r\n },\r\n ]);\r\n\r\n async function GetOrdersIds() {\r\n return await fetch(`${window.$apiurl}/transload/getordersids`, {\r\n method: \"get\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n setOrdersIds(res[1]);\r\n });\r\n }\r\n\r\n async function GetShipmentsIds() {\r\n return await fetch(`${window.$apiurl}/shipments/getids`, {\r\n method: \"get\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n setShipmentsIds(res[1]);\r\n });\r\n }\r\n\r\n async function GetShipmentDetail(id) {\r\n return await fetch(`${window.$apiurl}/transload/shipment/${id}`, {\r\n method: \"get\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n const result = res[1];\r\n setCustomerName(result?.Shipment?.CustomerAddress?.CompanyName);\r\n });\r\n }\r\n async function PostNewShipment() {\r\n var label = $(\"#LabelForShipmentID\").val() || \"\";\r\n return await fetch(\r\n `${window.$apiurl}/transload/shipment?label=${label}&orderId=`,\r\n {\r\n method: \"post\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n }\r\n )\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then(async (res) => {\r\n Notification(\"success\", \"Create New Shipment ID : \" + res[1]?.Id);\r\n setShipmentNewModelt(false);\r\n GetShipmentsIds();\r\n return res[1];\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n return (\r\n <>\r\n \r\n eMPower | Purchase order ToLocation\r\n \r\n \r\n \r\n \r\n New Shipment\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n {\r\n setShipmentNewModelt(false);\r\n }}\r\n >\r\n Close\r\n \r\n {\r\n setShipmentNewModelt(false);\r\n var a = await PostNewShipment();\r\n setShipmentIDStat([]);\r\n setTimeout(() => {\r\n if (a?.Id) setShipmentIDStat([a?.Id]);\r\n }, 1);\r\n }}\r\n >\r\n Create\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n {\r\n setShipmentNewModelt(true);\r\n }}\r\n >\r\n New\r\n \r\n
    \r\n\r\n
    \r\n {\r\n var locations = WareHouse.find(\r\n (x) => x?.value === newValue?.value\r\n )?.Locations;\r\n\r\n if (locations) {\r\n //setLocations(locations);\r\n }\r\n }}\r\n />\r\n
    \r\n
    \r\n {\r\n return {\r\n value: x.Id,\r\n label: x.Id,\r\n };\r\n })}\r\n isMulti\r\n onChange={async (newValue) => {\r\n var list = [];\r\n for (var i of newValue)\r\n list.push(ShipmentsIds.find((x) => x.Id === i.value));\r\n /* setShipmentIDStat([]); */\r\n setTimeout(() => {\r\n if (list.length > 0) setShipmentIDStat(list);\r\n else setShipmentIDStat([]);\r\n }, 1);\r\n //await GetShipmentDetail(list);\r\n }}\r\n />\r\n
    \r\n
    \r\n
    \r\n
    \r\n {ShipmentIDStat.length > 0 ? (\r\n <>\r\n \r\n
    \r\n {/*
    \r\n
    \r\n
    \r\n {\r\n window\r\n .open(\r\n `/report/Outbound/${\r\n ShipmentIDStat[0]\r\n }/${CustomerName.trim()}}`,\r\n \"_blank\"\r\n )\r\n .focus();\r\n }}\r\n >\r\n Shipment Manifest\r\n \r\n \r\n
    */}\r\n \r\n ) : (\r\n \r\n )}\r\n
    \r\n
    \r\n \r\n );\r\n}\r\n\r\nfunction Nodatafound() {\r\n return (\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n

    \r\n No data found\r\n

    \r\n
    \r\n
    \r\n
    \r\n );\r\n}\r\n\r\nconst OneMoveMasterFunction = ({ ShipmentIDStat }) => {\r\n const [OneMoveMasterShow, setOneMoveMasterShow] = useState(false);\r\n return (\r\n <>\r\n {\r\n setOneMoveMasterShow(false);\r\n }}\r\n >\r\n \r\n \r\n {\r\n setOneMoveMasterShow(true);\r\n }}\r\n >\r\n Shipment Details\r\n \r\n \r\n );\r\n};\r\n\r\nasync function PosttoClosed(PalletsIDStat, setIsClosed) {\r\n return await fetch(\r\n `${window.$apiurl}/transload/closeshipment/${PalletsIDStat}`,\r\n {\r\n method: \"put\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n }\r\n ).then(async (response) => {\r\n const statusCode = response.status;\r\n if (statusCode === 200) {\r\n Notification(\"success\", \"success\");\r\n setIsClosed((x) => !x);\r\n } else {\r\n const data = await response.json();\r\n Notification(\"error\", data.Message);\r\n }\r\n });\r\n}\r\n","import React, { useEffect, useState } from \"react\";\r\nimport QrReader from \"react-qr-scanner\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport Button from \"@material-ui/core/Button\";\r\nimport { Helmet } from \"react-helmet\";\r\nimport { Notification } from \"../../modules/Notification\";\r\nimport low from \"lowdb\";\r\nimport LocalStorage from \"lowdb/adapters/LocalStorage\";\r\nconst adapter = new LocalStorage(\"db\");\r\nconst db = low(adapter);\r\n\r\nconst qrHtml = (text, font, color) => (\r\n <>\r\n \r\n

    {text}

    \r\n \r\n);\r\n\r\nexport function PoToLocationV2() {\r\n const [ModelShow, setModelShow] = useState(false);\r\n const [Open1, setOpen1] = useState(false);\r\n const [Open2, setOpen2] = useState(false);\r\n const [then1, setthen1] = useState(false);\r\n const [then2, setthen2] = useState(false);\r\n\r\n function Reload() {\r\n setOpen1(false);\r\n setOpen2(false);\r\n setthen1(false);\r\n setthen2(false);\r\n setText1(qrHtml(\"Click here to Scan PO\", \"qrcode\", \"info\"));\r\n setText2(qrHtml(\"Click here to Scan Location\", \"qrcode\", \"info\"));\r\n }\r\n\r\n const [Text1, setText1] = useState(\r\n qrHtml(\"Click here to Scan PO\", \"qrcode\", \"info\")\r\n );\r\n const [Text2, setText2] = useState(\r\n qrHtml(\"Click here to Scan Location\", \"qrcode\", \"info\")\r\n );\r\n\r\n function handleScan(data, num) {\r\n if (num === 1 && data) {\r\n setOpen1(false);\r\n var text = JSON.parse(data.text);\r\n setthen1({ Id: text?.id, Name: text?.Name });\r\n setText1(qrHtml(\"PO # : \" + text?.id, \"check\", \"success\"));\r\n }\r\n if (num === 2 && data) {\r\n setOpen2(false);\r\n var text = JSON.parse(data.text);\r\n setthen2({ Id: text?.id, Name: text?.Name });\r\n setText2(qrHtml(\"Location : \" + text?.Name, \"check\", \"success\"));\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n if (then1 && then2) setModelShow(true);\r\n }, [then1, then2]);\r\n\r\n function handleError(err) {\r\n console.error(err);\r\n }\r\n const previewStyle = {\r\n height: \"53vh\",\r\n };\r\n\r\n return (\r\n <>\r\n \r\n eMPower | Purchase order ToLocation\r\n \r\n \r\n \r\n \r\n
    \r\n You are placing this PO #: {then1?.Name} in this location:{\" \"}\r\n {then2.Name}\r\n
    \r\n
    \r\n \r\n {\r\n setModelShow(false);\r\n }}\r\n >\r\n Close\r\n \r\n PostPotoLocation(then1?.Id, then2?.Id, setModelShow)}\r\n >\r\n OK\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n

    Purchase order ToLocation

    \r\n Reload()}\r\n />\r\n
    \r\n
    \r\n
    \r\n
    \r\n setOpen1((x) => !x)}\r\n style={{\r\n height: \"56vh\",\r\n cursor: \"pointer\",\r\n }}\r\n >\r\n {Open1 ? (\r\n handleScan(e, 1)}\r\n />\r\n ) : (\r\n Text1\r\n )}\r\n
    \r\n
    \r\n
    \r\n setOpen2((x) => !x)}\r\n style={{\r\n height: \"56vh\",\r\n cursor: \"pointer\",\r\n }}\r\n >\r\n {Open2 ? (\r\n handleScan(e, 2)}\r\n />\r\n ) : (\r\n Text2\r\n )}\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n );\r\n}\r\n\r\nasync function PostPotoLocation(ReceiptId, LocationId, setModelShow) {\r\n return await fetch(\r\n `${window.$apiurl}/receiptLocation/update?receiptId=${ReceiptId}&locationId=${LocationId}`,\r\n {\r\n method: \"post\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n }\r\n ).then(async (response) => {\r\n const statusCode = response.status;\r\n if (statusCode === 200) {\r\n Notification(\"success\", \"success\");\r\n setModelShow(false);\r\n } else {\r\n const data = await response.json();\r\n Notification(\"error\", data.Message);\r\n }\r\n });\r\n}\r\n","import React from 'react'\r\nimport { ManageUOMPage } from \"../../../app/modules/eMPower/pages/Transload/ManageUOM/CustomersPage\";\r\n\r\nexport function ManageUOM() {\r\n return (\r\n \r\n )\r\n}\r\n","import React from 'react'\r\nimport { ManageWarehouse } from \"../../../app/modules/eMPower/pages/ManageWarehouse/CustomersPage\";\r\n\r\nexport function ManageWarehousePages() {\r\n return (\r\n \r\n )\r\n}\r\n\r\n","import React from 'react'\r\nimport { Form, Card, Col, Dropdown } from \"react-bootstrap\";\r\n\r\nexport function Managelocations() {\r\n return (\r\n\r\n \r\n \r\n
    \r\n \r\n \r\n Warehouse\r\n \r\n \r\n Select Warehouse\r\n \r\n\r\n \r\n 1\r\n 2\r\n 3\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n )\r\n}\r\n","import React, { useEffect, useState } from \"react\";\r\nimport { makeStyles } from \"@material-ui/core/styles\";\r\nimport { Button, Form, Card, Col, Alert } from \"react-bootstrap\";\r\nimport { ExcelRenderer } from \"react-excel-renderer\";\r\nimport axios from \"axios\";\r\nimport { Notification } from \"../../modules/Notification\";\r\nimport Table from \"@material-ui/core/Table\";\r\nimport TableBody from \"@material-ui/core/TableBody\";\r\nimport TableCell from \"@material-ui/core/TableCell\";\r\nimport TableHead from \"@material-ui/core/TableHead\";\r\nimport TableRow from \"@material-ui/core/TableRow\";\r\nimport Paper from \"@material-ui/core/Paper\";\r\nimport { Helmet } from \"react-helmet\";\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n root: {\r\n width: \"100%\",\r\n },\r\n paper: {\r\n marginTop: theme.spacing(3),\r\n width: \"100%\",\r\n overflowX: \"auto\",\r\n marginBottom: theme.spacing(2),\r\n },\r\n table: {\r\n minWidth: 650,\r\n },\r\n row: {\r\n height: 50,\r\n },\r\n rowBody: {\r\n height: 50,\r\n fontWeight: \"bold\",\r\n },\r\n}));\r\n\r\nexport function Importlocations() {\r\n const classes = useStyles();\r\n const [warehousesList, setWarehousesList] = useState([]);\r\n const [rowsStat, setRowsStat] = useState([]);\r\n const [rowsStatBool, setRowsStatBool] = useState(false);\r\n const [rowsEmpty, setRowsEmpty] = useState(true);\r\n\r\n useEffect(() => {\r\n fetchUsersAsync();\r\n }, []);\r\n\r\n const fetchUsersAsync = async () => {\r\n try {\r\n const result = await axios.get(\"api/Warehouses/GetWarehouses\");\r\n setWarehousesList(result.data[\"GetWarehouses\"]);\r\n } catch (e) {}\r\n };\r\n\r\n function createData(\r\n empty,\r\n LocationId,\r\n Length,\r\n Width,\r\n Height,\r\n MaxWeight,\r\n Temperature,\r\n Description,\r\n WarehouseId,\r\n LocationTypeId,\r\n IsActive\r\n ) {\r\n return {\r\n empty,\r\n LocationId,\r\n Length,\r\n Width,\r\n Height,\r\n MaxWeight,\r\n Temperature,\r\n Description,\r\n WarehouseId,\r\n LocationTypeId,\r\n IsActive,\r\n };\r\n }\r\n\r\n const fileHandler = (event) => {\r\n let fileObj = event.target.files[0];\r\n ExcelRenderer(fileObj, (err, resp) => {\r\n if (err) {\r\n setRowsEmpty(true);\r\n return false;\r\n } else {\r\n var a = resp.rows[0].indexOf(\"Location\");\r\n var b = resp.rows[0].indexOf(\"Length\");\r\n var c = resp.rows[0].indexOf(\"Width\");\r\n var d = resp.rows[0].indexOf(\"Height\");\r\n var e = resp.rows[0].indexOf(\"Max Weight\");\r\n var f = resp.rows[0].indexOf(\"Temperature\");\r\n var j = resp.rows[0].indexOf(\"Description\");\r\n\r\n const warehouseId = document.getElementById(\"warehouseId\").value;\r\n\r\n if (\r\n a === -1 ||\r\n b === -1 ||\r\n c === -1 ||\r\n d === -1 ||\r\n e === -1 ||\r\n f === -1 ||\r\n j === -1\r\n ) {\r\n setRowsEmpty(true);\r\n return false;\r\n }\r\n\r\n let rows = [];\r\n resp.rows.slice(1, resp.rows.length).forEach((element, index) => {\r\n var empty = 1;\r\n if (\r\n element[a] === undefined ||\r\n element[b] === undefined ||\r\n element[c] === undefined ||\r\n element[d] === undefined ||\r\n element[e] === undefined ||\r\n element[f] === undefined ||\r\n element[j] === undefined\r\n )\r\n empty = 0;\r\n rows.push(\r\n createData(\r\n empty,\r\n element[a],\r\n element[b],\r\n element[c],\r\n element[d],\r\n element[e],\r\n element[f],\r\n element[j],\r\n warehouseId,\r\n 1,\r\n true\r\n )\r\n );\r\n });\r\n setRowsStat(rows);\r\n setRowsEmpty(false);\r\n }\r\n });\r\n };\r\n\r\n const fileHandlerOnclick = () => {\r\n if (rowsEmpty) {\r\n Notification(\"error\", \"error\");\r\n setRowsStatBool(false);\r\n return false;\r\n }\r\n Notification(\"success\", \"Import is success\");\r\n setRowsStatBool(true);\r\n };\r\n\r\n const fileUploadeOnclick = () => {\r\n if (!rowsEmpty) {\r\n axios.post(\"api/Locations/import\", { data: rowsStat });\r\n }\r\n };\r\n\r\n return (\r\n <>\r\n \r\n eMPower | Import Locations\r\n \r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n \r\n \r\n {warehousesList.map((item, index) => (\r\n \r\n ))}\r\n \r\n
    \r\n\r\n \r\n Import \r\n \r\n \r\n \r\n \r\n
    \r\n {rowsStatBool && (\r\n \r\n \r\n \r\n \r\n \r\n isValid\r\n Location\r\n Length\r\n Width\r\n Height\r\n Max Weight\r\n \r\n Temperature\r\n \r\n \r\n Description\r\n \r\n \r\n \r\n \r\n {rowsStat.map((row) => (\r\n \r\n \r\n {row.empty === 1 && (\r\n \r\n )}\r\n {row.empty === 0 && (\r\n \r\n )}\r\n \r\n \r\n {row.LocationId}\r\n \r\n {row.Length}\r\n {row.Width}\r\n {row.Height}\r\n {row.MaxWeight}\r\n {row.Temperature}\r\n {row.Description}\r\n \r\n ))}\r\n \r\n
    \r\n
    \r\n
    \r\n )}{\" \"}\r\n \r\n \r\n Use the 'Browse...' button to select a location import file\r\n

    \r\n Then press the 'Import Locations' button to read the file.\r\n
    \r\n \r\n {\r\n fileHandlerOnclick();\r\n }}\r\n />\r\n {/* \r\n Excel file example\r\n */}\r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n Locations To Be Created{\" \"}\r\n \r\n \r\n After previewing the imported data for accuracy\r\n

    \r\n Press the 'Create Locations' button to create the new\r\n Locations.\r\n
    \r\n {\r\n fileUploadeOnclick();\r\n }}\r\n />\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n );\r\n}\r\n","import React, { useEffect, useState } from \"react\";\r\nimport { Card } from \"react-bootstrap\";\r\nimport axios from \"axios\";\r\nimport CircularProgress from \"@material-ui/core/CircularProgress\";\r\n\r\nimport ReactExport from \"react-data-export\";\r\n\r\nconst ExcelFile = ReactExport.ExcelFile;\r\nconst ExcelSheet = ReactExport.ExcelFile.ExcelSheet;\r\nconst ExcelColumn = ReactExport.ExcelFile.ExcelColumn;\r\n\r\nexport function MassUpdateLocations() {\r\n useEffect(() => {\r\n fetchAsync();\r\n }, []);\r\n\r\n const [warehousesList, setWarehousesList] = useState([]);\r\n const [progress, setProgress] = useState(false);\r\n const [dataState, setdataState] = useState(\r\n \r\n );\r\n const fetchAsync = async () => {\r\n try {\r\n const result = await axios.get(\"api/ManageLocations/WarehousesList\");\r\n setWarehousesList(result.data[\"warehousesList\"]);\r\n } catch (e) {}\r\n };\r\n\r\n const fileExport = async () => {\r\n setProgress(true);\r\n const warehouseId = document.getElementById(\"warehouseId\").value;\r\n try {\r\n const result = await axios.post(\"api/Locations/export\", {\r\n data: warehouseId,\r\n });\r\n const jsonToExcel = (\r\n Export Locations\r\n }\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n setdataState(jsonToExcel);\r\n setProgress(false);\r\n } catch (e) {}\r\n };\r\n\r\n return (\r\n \r\n \r\n
    \r\n \r\n {\r\n fileExport();\r\n }}\r\n >\r\n \r\n {warehousesList.map((item, index) => (\r\n \r\n ))}\r\n \r\n
    \r\n
    \r\n
    {dataState}
    \r\n
    \r\n {progress && }\r\n
    \r\n
    \r\n
    \r\n );\r\n}\r\n","import React, { useEffect, useState } from \"react\";\r\nimport { Helmet } from \"react-helmet\";\r\nimport low from \"lowdb\";\r\nimport LocalStorage from \"lowdb/adapters/LocalStorage\";\r\nimport { Spinner } from \"react-bootstrap\";\r\nimport { Notification } from \"../../../Notification\";\r\nimport Menu2 from \"@material-ui/core/Menu\";\r\nimport BootstrapTable from \"react-bootstrap-table-next\";\r\nimport paginationFactory from \"react-bootstrap-table2-paginator\";\r\nimport CloseIcon from \"@material-ui/icons/Close\";\r\n\r\nimport { ListItemIcon, IconButton } from \"@material-ui/core\";\r\nimport { ListItemText, Icon, Button, MenuItem } from \"@material-ui/core\";\r\nimport { emphasize, withStyles, makeStyles } from \"@material-ui/core/styles\";\r\nimport SVG from \"react-inlinesvg\";\r\nimport {\r\n toAbsoluteUrl,\r\n sortCaret,\r\n headerSortingClasses,\r\n} from \"../../../../../_metronic/_helpers\";\r\nimport { OverlayTrigger, Tooltip } from \"react-bootstrap\";\r\nimport {\r\n Card,\r\n CardBody,\r\n CardHeader,\r\n CardHeaderToolbar,\r\n} from \"../../../../../_metronic/_partials/controls\";\r\nimport {\r\n ActivityFunction,\r\n Export,\r\n momentDate,\r\n} from \"../../../../../_metronic/_helpers/ATHelpers\";\r\nimport { Modal, ButtonToolbar } from \"react-bootstrap\";\r\nimport ReactSelect from \"react-select\";\r\nimport Swal from \"sweetalert2\";\r\n\r\nconst adapter = new LocalStorage(\"db\");\r\nconst db = low(adapter);\r\n\r\nconst StyledMenu = withStyles({\r\n paper: {\r\n border: \"1px solid #d3d4d5\",\r\n },\r\n})((props) => (\r\n \r\n));\r\nconst StyledMenuItem = withStyles((theme) => ({\r\n root: {\r\n \"&:focus\": {\r\n backgroundColor: theme.palette.primary.main,\r\n \"& .MuiListItemIcon-root, & .MuiListItemText-primary\": {\r\n color: theme.palette.common.white,\r\n },\r\n },\r\n },\r\n}))(MenuItem);\r\nconst useStyles = makeStyles((theme) => ({\r\n root: {\r\n flexGrow: 1,\r\n height: 250,\r\n },\r\n input: {\r\n display: \"flex\",\r\n padding: 0,\r\n height: \"auto\",\r\n },\r\n valueContainer: {\r\n display: \"flex\",\r\n flexWrap: \"wrap\",\r\n flex: 1,\r\n alignItems: \"center\",\r\n overflow: \"hidden\",\r\n },\r\n chip: {\r\n margin: theme.spacing(0.5, 0.25),\r\n },\r\n chipFocused: {\r\n backgroundColor: emphasize(\r\n theme.palette.type === \"light\"\r\n ? theme.palette.grey[300]\r\n : theme.palette.grey[700],\r\n 0.08\r\n ),\r\n },\r\n noOptionsMessage: {\r\n padding: theme.spacing(1, 2),\r\n },\r\n placeholder: {\r\n position: \"absolute\",\r\n left: 2,\r\n bottom: 6,\r\n fontSize: 13,\r\n },\r\n paper: {\r\n position: \"absolute\",\r\n zIndex: 1,\r\n marginTop: theme.spacing(1),\r\n left: 0,\r\n right: 0,\r\n },\r\n divider: {\r\n height: theme.spacing(2),\r\n },\r\n button: {\r\n margin: theme.spacing(1),\r\n },\r\n leftIcon: {\r\n marginRight: theme.spacing(1),\r\n },\r\n rightIcon: {\r\n marginLeft: theme.spacing(1),\r\n },\r\n iconSmall: {\r\n fontSize: 20,\r\n },\r\n textField: {\r\n marginLeft: theme.spacing(1),\r\n marginRight: theme.spacing(1),\r\n },\r\n}));\r\n\r\nexport default function DepartmentPage() {\r\n const classes = useStyles();\r\n const [anchorEl, setAnchorEl] = React.useState(null);\r\n const [LoadingPageShow, setLoadingPageShow] = React.useState(false);\r\n const [ModalActivities, setModalActivities] = React.useState(false);\r\n const [LoadingPost, setLoadingPost] = React.useState(false);\r\n const [ModelShowingDepartment, setModelShowingDepartment] = React.useState(\r\n false\r\n );\r\n const [initDepartment, setIinitDepartment] = useState({\r\n Name: \"\",\r\n ParentId: null,\r\n ExternalId: \"\",\r\n });\r\n const [initSearch, setinitSearch] = useState({\r\n ParentId: null,\r\n SearchText: \"\",\r\n });\r\n const [ItemsGrid, setItemsGrid] = useState([]);\r\n const [ActivitiesList, setActivitiesList] = useState([]);\r\n const [ItemsGridFilterd, setItemsGridFilterd] = useState([]);\r\n\r\n function putDepartment() {\r\n if (\r\n initDepartment.Name === null ||\r\n initDepartment.Name === \"\" ||\r\n initDepartment.Name === undefined\r\n ) {\r\n Notification(\"errorClick\", \"please Fill Name\");\r\n return;\r\n }\r\n\r\n setLoadingPost(true);\r\n var myHeaders = new Headers();\r\n myHeaders.append(\"Authorization\", `Bearer ${db.read().getState().Token}`);\r\n myHeaders.append(\"Content-Type\", \"application/json\");\r\n\r\n var raw = JSON.stringify(initDepartment);\r\n\r\n var requestOptions = {\r\n method: \"PUT\",\r\n headers: myHeaders,\r\n body: raw,\r\n redirect: \"follow\",\r\n };\r\n\r\n fetch(\r\n `${window.$apiurl}/Departements/PutDepartement/${initDepartment.Id}`,\r\n requestOptions\r\n )\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n const contentType = response.headers.get(\"content-type\");\r\n if (contentType && contentType.indexOf(\"application/json\") !== -1) {\r\n return response.json().then((data) => [statusCode, data]);\r\n } else {\r\n return response.text().then((text) => [statusCode, { Message: \"\" }]);\r\n }\r\n })\r\n .then((result) => {\r\n if (result[0] === 200) {\r\n Notification(\"success\", \"Department has been Updated successfully\");\r\n GetDepartments();\r\n\r\n setModelShowingDepartment(false);\r\n } else {\r\n if (\r\n result[1].ModelState !== null &&\r\n result[1].ModelState !== undefined &&\r\n result[1].ModelState !== \"\"\r\n ) {\r\n let modelState = result[1].ModelState;\r\n if (modelState)\r\n Object.keys(modelState).forEach(function(k) {\r\n modelState[k].forEach((element) => {\r\n Notification(\"errorClick\", element);\r\n });\r\n });\r\n } else if (\r\n result[1].Message !== null &&\r\n result[1].Message !== undefined &&\r\n result[1].Message !== \"\"\r\n ) {\r\n Notification(\"errorClick\", result[1].Message);\r\n } else {\r\n Notification(\"errorClick\", \"Bad Request\");\r\n }\r\n }\r\n setLoadingPost(false);\r\n })\r\n .catch((error) => {\r\n console.log(\"error\", error);\r\n });\r\n }\r\n function postDepartment() {\r\n if (\r\n initDepartment.Name === null ||\r\n initDepartment.Name === \"\" ||\r\n initDepartment.Name === undefined\r\n ) {\r\n Notification(\"errorClick\", \"please Fill Name\");\r\n return;\r\n }\r\n\r\n setLoadingPost(true);\r\n var myHeaders = new Headers();\r\n myHeaders.append(\"Authorization\", `Bearer ${db.read().getState().Token}`);\r\n myHeaders.append(\"Content-Type\", \"application/json\");\r\n\r\n var raw = JSON.stringify(initDepartment);\r\n\r\n var requestOptions = {\r\n method: \"Post\",\r\n headers: myHeaders,\r\n body: raw,\r\n redirect: \"follow\",\r\n };\r\n\r\n fetch(`${window.$apiurl}/Departements/PostDepartement`, requestOptions)\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n const contentType = response.headers.get(\"content-type\");\r\n if (contentType && contentType.indexOf(\"application/json\") !== -1) {\r\n return response.json().then((data) => [statusCode, data]);\r\n } else {\r\n return response.text().then((text) => [statusCode, { Message: \"\" }]);\r\n }\r\n })\r\n .then((result) => {\r\n if (result[0] === 200) {\r\n Notification(\"success\", \"Department has been Created successfully\");\r\n GetDepartments();\r\n\r\n setModelShowingDepartment(false);\r\n } else {\r\n if (\r\n result[1].ModelState !== null &&\r\n result[1].ModelState !== undefined &&\r\n result[1].ModelState !== \"\"\r\n ) {\r\n let modelState = result[1].ModelState;\r\n if (modelState)\r\n Object.keys(modelState).forEach(function(k) {\r\n modelState[k].forEach((element) => {\r\n Notification(\"errorClick\", element);\r\n });\r\n });\r\n } else if (\r\n result[1].Message !== null &&\r\n result[1].Message !== undefined &&\r\n result[1].Message !== \"\"\r\n ) {\r\n Notification(\"errorClick\", result[1].Message);\r\n } else {\r\n Notification(\"errorClick\", \"Bad Request\");\r\n }\r\n }\r\n setLoadingPost(false);\r\n })\r\n .catch((error) => {\r\n console.log(\"error\", error);\r\n });\r\n }\r\n function GetDepartments() {\r\n var myHeaders = new Headers();\r\n setLoadingPageShow(true);\r\n setItemsGrid([])\r\n myHeaders.append(\"Authorization\", `Bearer ${db.read().getState().Token}`);\r\n\r\n var requestOptions = {\r\n method: \"GET\",\r\n headers: myHeaders,\r\n redirect: \"follow\",\r\n };\r\n\r\n fetch(`${window.$apiurl}/Departements/GetDepartements`, requestOptions)\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((result) => {\r\n if (result[0] !== 200) {\r\n Notification(\"error\", \"Pos Not Found\");\r\n } else {\r\n var obj = result[1];\r\n setItemsGrid(obj);\r\n }\r\n setLoadingPageShow(false);\r\n })\r\n .catch((error) => console.log(\"error\", error));\r\n }\r\n useEffect(() => {\r\n GetDepartments();\r\n }, []);\r\n\r\n async function fetchMyAPI2(type, entityName) {\r\n Export(ItemsGridFilterd, type, entityName);\r\n }\r\n function handleClick(event) {\r\n setAnchorEl(event.currentTarget);\r\n }\r\n function handleClose() {\r\n setAnchorEl(null);\r\n }\r\n function filterFucntion() {\r\n let data = [...ItemsGrid];\r\n if (\r\n initSearch.SearchText !== null &&\r\n initSearch.SearchText !== undefined &&\r\n initSearch.SearchText !== \"\"\r\n ) {\r\n data = data?.filter(\r\n (a) =>\r\n String(a.Name).toLocaleLowerCase() ===\r\n String(initSearch.SearchText)\r\n .trim()\r\n .toLocaleLowerCase() ||\r\n String(a.ExternalId).toLocaleLowerCase() ===\r\n String(initSearch.SearchText)\r\n .trim()\r\n .toLocaleLowerCase()\r\n );\r\n }\r\n if (\r\n initSearch.ParentId !== null &&\r\n initSearch.ParentId !== undefined &&\r\n initSearch.ParentId !== \"\"\r\n ) {\r\n data = data?.filter((a) => a.ParentId === initSearch.ParentId);\r\n }\r\n setItemsGridFilterd(data);\r\n }\r\n useEffect(() => {\r\n filterFucntion();\r\n }, [initSearch, ItemsGrid]);\r\n\r\n const columns = [\r\n {\r\n text: \"Id\",\r\n dataField: \"Id\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n headerSortingClasses,\r\n },\r\n\r\n {\r\n text: \"Name\",\r\n dataField: \"Name\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n headerSortingClasses,\r\n },\r\n\r\n {\r\n text: \"External Id\",\r\n dataField: \"ExternalId\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n headerSortingClasses,\r\n },\r\n {\r\n text: \"Parent\",\r\n dataField: \"ParentId\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n headerSortingClasses,\r\n formatter: (cell, row) => {\r\n return ItemsGrid?.find((a) => a.Id === row.ParentId)?.Name;\r\n },\r\n },\r\n\r\n {\r\n text: \"Created\",\r\n dataField: \"Created\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n headerSortingClasses,\r\n formatter: (cell, row) => {\r\n return (\r\n <>\r\n \r\n {momentDate(row?.Created) === \"\"\r\n ? \"Empty\"\r\n : momentDate(row?.Created)}\r\n \r\n \r\n );\r\n },\r\n },\r\n\r\n {\r\n text: \"Actions\",\r\n dataField: \"Actions\",\r\n formatter: (cell, row) => {\r\n return (\r\n <>\r\n Edit department\r\n }\r\n >\r\n false}\r\n className=\"btn btn-icon btn-light btn-hover-primary btn-sm mx-3\"\r\n onClick={() => {\r\n var myHeaders = new Headers();\r\n myHeaders.append(\r\n \"Authorization\",\r\n `Bearer ${db.read().getState().Token}`\r\n );\r\n\r\n var requestOptions = {\r\n method: \"GET\",\r\n headers: myHeaders,\r\n redirect: \"follow\",\r\n };\r\n\r\n fetch(\r\n `${window.$apiurl}/Departements/GetDepartement/${row.Id}`,\r\n requestOptions\r\n )\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((result) => {\r\n if (result[0] !== 200) {\r\n Notification(\"error\", \"Pos Not Found\");\r\n } else {\r\n var obj = result[1];\r\n setIinitDepartment(obj?.departement);\r\n setModelShowingDepartment(true);\r\n }\r\n })\r\n .catch((error) => console.log(\"error\", error));\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n Activities\r\n }\r\n >\r\n {\r\n var myHeaders = new Headers();\r\n myHeaders.append(\r\n \"Authorization\",\r\n `Bearer ${db.read().getState().Token}`\r\n );\r\n\r\n var requestOptions = {\r\n method: \"GET\",\r\n headers: myHeaders,\r\n redirect: \"follow\",\r\n };\r\n\r\n fetch(\r\n `${window.$apiurl}/Departements/activities/${row.Id}`,\r\n requestOptions\r\n )\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((result) => {\r\n if (result[0] !== 200) {\r\n Notification(\"error\", \"Pos Not Found\");\r\n } else {\r\n var obj = result[1];\r\n setActivitiesList(obj?.Activities || []);\r\n setModalActivities(true);\r\n }\r\n })\r\n .catch((error) => console.log(\"error\", error));\r\n }}\r\n >\r\n \r\n \r\n \r\n Delete department\r\n }\r\n >\r\n false}\r\n className=\"btn btn-icon btn-light btn-hover-danger btn-sm mr-3\"\r\n onClick={() => {\r\n console.log(\"first\", row.Id);\r\n Swal.fire({\r\n title: \"Are you sure?\",\r\n html: `you want to Delete Department ${row.Name} ?`,\r\n icon: \"warning\",\r\n showCancelButton: true,\r\n confirmButtonColor: \"#3085d6\",\r\n cancelButtonColor: \"#d33\",\r\n confirmButtonText: \"Confirm\",\r\n }).then(async (result) => {\r\n if (result.isConfirmed) {\r\n setLoadingPost(true);\r\n var myHeaders = new Headers();\r\n myHeaders.append(\r\n \"Authorization\",\r\n `Bearer ${db.read().getState().Token}`\r\n );\r\n myHeaders.append(\"Content-Type\", \"application/json\");\r\n\r\n var requestOptions = {\r\n method: \"DELETE\",\r\n headers: myHeaders,\r\n redirect: \"follow\",\r\n };\r\n\r\n fetch(\r\n `${window.$apiurl}/Departements/DeletetDepartement/${row.Id}`,\r\n requestOptions\r\n )\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n const contentType = response.headers.get(\r\n \"content-type\"\r\n );\r\n if (\r\n contentType &&\r\n contentType.indexOf(\"application/json\") !== -1\r\n ) {\r\n return response\r\n .json()\r\n .then((data) => [statusCode, data]);\r\n } else {\r\n return response\r\n .text()\r\n .then((text) => [statusCode, { Message: \"\" }]);\r\n }\r\n })\r\n .then((result) => {\r\n if (result[0] === 200) {\r\n Notification(\r\n \"success\",\r\n \"Department has been Deleted successfully\"\r\n );\r\n\r\n GetDepartments();\r\n } else {\r\n if (\r\n result[1].ModelState !== null &&\r\n result[1].ModelState !== undefined &&\r\n result[1].ModelState !== \"\"\r\n ) {\r\n let modelState = result[1].ModelState;\r\n if (modelState)\r\n Object.keys(modelState).forEach(function(k) {\r\n modelState[k].forEach((element) => {\r\n Notification(\"errorClick\", element);\r\n });\r\n });\r\n } else if (\r\n result[1].Message !== null &&\r\n result[1].Message !== undefined &&\r\n result[1].Message !== \"\"\r\n ) {\r\n Notification(\"errorClick\", result[1].Message);\r\n } else {\r\n Notification(\"errorClick\", \"Bad Request\");\r\n }\r\n }\r\n setLoadingPost(false);\r\n })\r\n .catch((error) => {\r\n console.log(\"error\", error);\r\n });\r\n }\r\n });\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n },\r\n },\r\n ];\r\n return (\r\n <>\r\n \r\n eMPower | Departments\r\n \r\n \r\n \r\n \r\n \r\n

    Departments Management

    \r\n
    \r\n \r\n \r\n \r\n Export as\r\n save\r\n \r\n \r\n {\r\n fetchMyAPI2(\"excel\", \"Depatrments\");\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n {\r\n fetchMyAPI2(\"csv\", \"Depatrments\");\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n {\r\n fetchMyAPI2(\"json\", \"Depatrments\");\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n setIinitDepartment({\r\n Name: \"\",\r\n ParentId: null,\r\n ExternalId: \"\",\r\n });\r\n setModelShowingDepartment(true);\r\n }}\r\n >\r\n Add New Department\r\n \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n

    Filter by parent

    \r\n ({\r\n value: suggestion.Id,\r\n label: suggestion.Name,\r\n }))}\r\n onChange={(e) => {\r\n let obj = { ...initSearch };\r\n obj.ParentId = e === null ? null : e?.value;\r\n setinitSearch(obj);\r\n }}\r\n value={ItemsGrid?.filter(\r\n (a) => a.Id === initSearch.ParentId\r\n )?.map((suggestion) => ({\r\n value: suggestion.Id,\r\n label: suggestion.Name,\r\n }))}\r\n />\r\n
    \r\n
    \r\n

    Search in all Fields

    \r\n {\r\n let obj = { ...initSearch };\r\n obj.SearchText = e.target.value;\r\n setinitSearch(obj);\r\n }}\r\n />\r\n
    \r\n
    \r\n
    \r\n Loading...\r\n ) : (\r\n

    \r\n There is no data available at the moment.\r\n

    \r\n )\r\n }\r\n pagination={paginationFactory({\r\n showTotal: true,\r\n sizePerPageList: [\r\n { text: \"10\", value: 10 },\r\n { text: \"25\", value: 25 },\r\n {\r\n text: \"All\",\r\n value: ItemsGridFilterd?.length,\r\n },\r\n ],\r\n })}\r\n defaultSorted={[{ dataField: \"Id\", order: \"desc\" }]}\r\n wrapperClasses=\"table-responsive\"\r\n classes=\"table table-head-custom table-vertical-center\"\r\n bootstrap4\r\n bordered={false}\r\n />\r\n
    \r\n
    \r\n \r\n \r\n \r\n {initDepartment.Id !== undefined\r\n ? `Edit Department: ${initDepartment.Name}`\r\n : \"Add New Department\"}\r\n \r\n {\r\n setModelShowingDepartment(false);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n

    Name

    \r\n {\r\n let obj = { ...initDepartment };\r\n obj.Name = e.target.value;\r\n setIinitDepartment(obj);\r\n }}\r\n />\r\n
    \r\n
    \r\n

    Parent

    \r\n ({\r\n value: suggestion.Id,\r\n label: suggestion.Name,\r\n }))}\r\n value={ItemsGrid?.filter(\r\n (a) => a.Id === initDepartment.ParentId\r\n )?.map((suggestion) => ({\r\n value: suggestion.Id,\r\n label: suggestion.Name,\r\n }))}\r\n onChange={(e) => {\r\n let obj = { ...initDepartment };\r\n obj.ParentId = e === null ? null : e?.value;\r\n setIinitDepartment(obj);\r\n }}\r\n />\r\n
    \r\n\r\n
    \r\n

    External Id

    \r\n {\r\n let obj = { ...initDepartment };\r\n obj.ExternalId = e.target.value;\r\n setIinitDepartment(obj);\r\n }}\r\n />\r\n
    \r\n
    \r\n
    \r\n \r\n {\r\n setModelShowingDepartment(false);\r\n }}\r\n >\r\n Close\r\n \r\n {\r\n if (initDepartment.Id !== undefined) {\r\n putDepartment();\r\n } else {\r\n postDepartment();\r\n }\r\n }}\r\n >\r\n Confirm\r\n {LoadingPost && (\r\n \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n

    \r\n Department Activities ID:\r\n

    \r\n
    \r\n
    \r\n {\r\n setModalActivities(false);\r\n }}\r\n >\r\n \r\n \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n","import React, { useEffect, useState } from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport {\r\n ARAccount,\r\n FilterAccount,\r\n HistoricalLanes,\r\n PerformanceAccount,\r\n RevenueAccount,\r\n} from \"../widgets\";\r\nimport { Row } from \"react-bootstrap\";\r\nimport low from \"lowdb\";\r\nimport LocalStorage from \"lowdb/adapters/LocalStorage\";\r\nconst adapter = new LocalStorage(\"db\");\r\nconst db = low(adapter);\r\n\r\nexport function AccountManagementDashboard() {\r\n const [initFilter, setInitFilter] = useState({\r\n Department: \"\",\r\n type: \"revenue\",\r\n AccountManager: \"\",\r\n Account: db?.read()?.getState()?.User?.IsCustomer\r\n ? db?.read()?.getState()?.User?.Customers?.length > 0\r\n ? db?.read()?.getState()?.User?.Customers[0]?.Id\r\n : \"\"\r\n : \"\",\r\n Mode: \"\",\r\n MTD: \"Custom\",\r\n StartDate: null,\r\n EndDate: null,\r\n });\r\n const [MetricsList, setMetricsList] = useState([]);\r\n const [LansList, setLansList] = useState([]);\r\n const [ReceivablesList, setReceivablesList] = useState(null);\r\n const [metricsData, setMetricsData] = useState(null);\r\n const [loadingMetrics, setloadingMetrics] = useState(false);\r\n const [loadingOnTime, setloadingOnTime] = useState(false);\r\n const [loadingAR, setloadingAR] = useState(false);\r\n const [loadingLanes, setloadingLanes] = useState(false);\r\n const [NameSelected, setNameSelected] = useState(\"Gross Revenue\");\r\n async function getMetricsInfo(props) {\r\n setloadingOnTime(true);\r\n await fetch(\r\n `${window.$apiurl}/dashboard/performance/ontime?customerId=${props?.Account}&modeId=${props?.Mode}&departmentId=${props?.Department}&accountManagerId=${props?.AccountManager}&startDate=${props?.StartDate}&endDate=${props?.EndDate}`,\r\n {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n }\r\n )\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n var a = res[1];\r\n setMetricsList(a);\r\n setInitFilter(props);\r\n setloadingOnTime(false);\r\n })\r\n .catch((error) => {\r\n setloadingOnTime(false);\r\n\r\n console.error(error);\r\n });\r\n }\r\n async function getLanesInfo(props) {\r\n setLansList([]);\r\n setloadingLanes(true);\r\n await fetch(\r\n `${window.$apiurl}/dashboard/performance/lanes?customerId=${props?.Account}&modeId=${props?.Mode}&departmentId=${props?.Department}&accountManagerId=${props?.AccountManager}&startDate=${props?.StartDate}&endDate=${props?.EndDate}`,\r\n {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n }\r\n )\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n var a = res[1];\r\n setLansList(a);\r\n setloadingLanes(false);\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n setloadingLanes(false);\r\n });\r\n }\r\n async function getReceivablesInfo(props) {\r\n setloadingAR(true);\r\n await fetch(\r\n `${window.$apiurl}/dashboard/performance/receivables?customerId=${props?.Account}&modeId=${props?.Mode}&departmentId=${props?.Department}&accountManagerId=${props?.AccountManager}&startDate=${props?.StartDate}&endDate=${props?.EndDate}`,\r\n {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n }\r\n )\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n var a = res[1];\r\n setReceivablesList(a);\r\n setloadingAR(false);\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n setloadingAR(false);\r\n });\r\n }\r\n async function getMetricsData(props) {\r\n setloadingMetrics(true);\r\n await fetch(\r\n `${window.$apiurl}/api/dashboard/performance/metrics?type=${props?.type}&customerId=${props?.Account}&modeId=${props?.Mode}&departmentId=${props?.Department}&accountManagerId=${props?.AccountManager}&startDate=${props?.StartDate}&endDate=${props?.EndDate}`,\r\n {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n }\r\n )\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n var a = res[1];\r\n setMetricsData(a);\r\n setloadingMetrics(false);\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n setloadingMetrics(false);\r\n });\r\n }\r\n useEffect(() => {\r\n if (db?.read()?.getState()?.User?.IsCustomer) {\r\n getMetricsInfo(initFilter);\r\n getLanesInfo(initFilter);\r\n getReceivablesInfo(initFilter);\r\n getMetricsData(initFilter);\r\n }\r\n }, []);\r\n\r\n return (\r\n <>\r\n
    \r\n \r\n
    \r\n {initFilter.Account === \"\" ? (\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Please Select Account

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n ) : (\r\n <>\r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n )}\r\n \r\n );\r\n}\r\n","import low from \"lowdb\";\r\nimport LocalStorage from \"lowdb/adapters/LocalStorage\";\r\nimport React, { lazy, Suspense } from \"react\";\r\nimport { Redirect, Route, Switch } from \"react-router-dom\";\r\nimport { ContentRoute, LayoutSplashScreen } from \"../_metronic/layout\";\r\nimport { DashboardScentsy } from \"../_metronic/_partials/dashboards/DashboardScentsy\";\r\nimport { ManageAdresses, ManageContacts } from \"./pages/Address/index\";\r\nimport {CustomerDashboard} from \"./pages/CustomerDashboard/CustomerDashboard\"\r\nimport {\r\n AddCarrierServices,\r\n CustomLabelPage,\r\n EditCarrierServices,\r\n FreezeTransactionsPage,\r\n LocationBillingPage,\r\n ManageAttachedFiles,\r\n ManageCarrierAccountsPage,\r\n ManageCarriersPage,\r\n ManageCompanyInfo,\r\n ManageEquipmentsTypePage,\r\n ManageLSPCarrierPage,\r\n ManageModesPage,\r\n ManageServiceLevelsPage,\r\n ManageServicesPage,\r\n ManageSmartParcelCarriersPage,\r\n ManageTPLScalesPage,\r\n MovableUnitsPage,\r\n RecurringStorageChargesPage,\r\n ServiceManageCarriersPage,\r\n} from \"./pages/Admin/index\";\r\nimport { QueryBuilderComponent } from \"./pages/QueryBuilder/QueryBuilder\";\r\nimport { QueryBuilderSetting } from \"./pages/QueryBuilder/QueryBuilderSetting\";\r\n/* import { ManageUsersPage } from \"./pages/ManageUsers/index\"; */\r\nimport {\r\n BillingRatesExport,\r\n billingWizard,\r\n ClassicBOLMessages,\r\n ClassicBOLTemplates,\r\n CustomerNotifs,\r\n CustomerNotifsDetails,\r\n ErrorLog,\r\n ImportContacts,\r\n ImportZoneBilling,\r\n ManageBarcodes,\r\n ManageConnections,\r\n ManageCustomersPage,\r\n ManageRatesPage,\r\n ManageRatesSelect,\r\n PackingSlipTemplates,\r\n SmartParcelSettings,\r\n SystemCalculated,\r\n TransactionBilling,\r\n TransactionBillingSelect,\r\n TransactionBillingShippingPage,\r\n ZoneBillingPage,\r\n} from \"./pages/Customers/index\";\r\nimport { ManageEquipments } from \"./pages/Equipments/index\";\r\nimport { ImportOrderItems } from \"./pages/ImportOrderItems/ImportOrderItems\";\r\nimport { ImportReceiptItems } from \"./pages/ImportReceiptItems/ImportReceiptItems\";\r\nimport { ImportUsersPage } from \"./pages/ImportUsers/ImportUsers\";\r\nimport {\r\n BatchItemUpdateItems,\r\n CancelAssemblyItems,\r\n ImportAssembliesItems,\r\n ImportItems,\r\n ItemAliasItems,\r\n ManageAssembliesItems,\r\n ManageClassificationsItems,\r\n ManageCommoditiesItems,\r\n ManageItemsPage,\r\n ManageStorageRatesItems,\r\n} from \"./pages/Items/Index\";\r\nimport {\r\n /* FindOrders, */\r\n ImportOrders,\r\n OrderImportPreferences,\r\n PackagingOptions,\r\n ReprintUPSLabels,\r\n ShippingSetups,\r\n} from \"./pages/Orders/Index\";\r\nimport {\r\n CreatePurchaseOrder,\r\n EditPurchaseOrder,\r\n ImportPurchaseOrder,\r\n ManagePurchaseOrders,\r\n PurchaseOrderProgressReport,\r\n PurchaseOrderReport,\r\n PurchaseOrderReports,\r\n} from \"./pages/PurchaseOrders/index\";\r\nimport { Quoting } from \"./pages/Rating/Quoting\";\r\nimport { Rating } from \"./pages/Rating/Rating\";\r\nimport {\r\n AdjustReceiptChargesPage,\r\n // FindReceipts,\r\n ImportReceiptsPage,\r\n ReceiptImportPreferencesPage,\r\n} from \"./pages/Receipts/index\";\r\nimport { TransloadShipmentManifest } from \"./pages/shipment/GlobalTransload/AssigntoOutbound2/TransloadShipmentManifest\";\r\nimport { TransloadPalletManifest } from \"./pages/shipment/GlobalTransload/AssignToWareHouse/TransloadPalletManifest\";\r\nimport {\r\n AssignPallettoLoad,\r\n AssigntoOutbound,\r\n AssigntoOutboundV2,\r\n AssigntoOutboundV3,\r\n AssigntoPallet,\r\n GlobalTransload,\r\n PoToLocation,\r\n PoToLocationV2,\r\n UpdateStatus,\r\n} from \"./pages/shipment/index\";\r\nimport { ManageUOM } from \"./pages/Unitofmeasures/index\";\r\nimport {\r\n Importlocations,\r\n Managelocations,\r\n ManageWarehousePages,\r\n MassUpdateLocations,\r\n} from \"./pages/Warehouse/index\";\r\nimport DepartmentPage from \"./modules/eMPower/pages/Department/Departments\";\r\nimport { AccountManagementDashboard } from \"../_metronic/_partials/dashboards/AccountManagementDashboard\";\r\n\r\nconst adapter = new LocalStorage(\"db\");\r\nconst db = low(adapter);\r\nconst ECommercePage = lazy(() =>\r\n import(\"./modules/eMPower/pages/eCommercePage\")\r\n);\r\n\r\nexport default function BasePage() {\r\n // useEffect(() => {\r\n // console.log('Base page');\r\n // }, []) // [] - is required if you need only one call\r\n // https://reactjs.org/docs/hooks-reference.html#useeffect\r\n\r\n return (\r\n }>\r\n \r\n {db.read().getState().User.IsCustomer === true &&\r\n db.read().getState().User.Customers[0]?.Name === \"Lulus\" ? (\r\n \r\n ) : db.read().getState().User.IsCustomer ? (\r\n \r\n ) : (\r\n \r\n )\r\n /* Redirect from root URL to /dashboard. */\r\n }\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {/* shipment Pages */}\r\n \r\n {/* Unit of measures Pages */}\r\n \r\n {/* Adresse Pages */}\r\n \r\n \r\n \r\n \r\n {/* Receipts Pages */}\r\n \r\n {/* */}\r\n {/* */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {/* */}\r\n {/* Purchase Orders Pages */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {/* Admin Pages */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {/* Customers Pages */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {/* items Pages */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {/* Tracking */}\r\n \r\n \r\n \r\n {/* */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n","import React, { useState } from \"react\";\r\nimport { Link } from \"react-router-dom\";\r\nimport { Formik, Field } from \"formik\";\r\nimport { connect } from \"react-redux\";\r\nimport { FormattedMessage, injectIntl } from \"react-intl\";\r\nimport { Input } from \"../../../../_metronic/_partials/controls\";\r\nimport * as auth from \"../_redux/authRedux\";\r\nimport { login } from \"../_redux/authCrud\";\r\n\r\nfunction Login(props) {\r\n const { intl } = props;\r\n const [loading, setLoading] = useState(false);\r\n\r\n const enableLoading = () => {\r\n setLoading(true);\r\n };\r\n\r\n const disableLoading = () => {\r\n setLoading(false);\r\n };\r\n\r\n const getInputClasses = (meta, fieldname) => {\r\n let result = \"form-control form-control-solid h-auto py-5 px-6 \";\r\n if (meta.touched && meta.error) {\r\n result += \" is-invalid\";\r\n }\r\n\r\n if (meta.touched && !meta.error) {\r\n result += \" is-valid\";\r\n }\r\n\r\n return result;\r\n };\r\n\r\n return (\r\n
    \r\n {/* begin::Head */}\r\n
    \r\n {/* https://github.com/formatjs/react-intl/blob/master/docs/Components.md#formattedmessage */}\r\n

    \r\n \r\n

    \r\n

    \r\n Enter your username and password\r\n

    \r\n
    \r\n {/* end::Head */}\r\n\r\n {/*begin::Form*/}\r\n\r\n {\r\n const errors = {};\r\n\r\n if (!values.email) {\r\n // https://github.com/formatjs/react-intl/blob/master/docs/API.md#injection-api\r\n errors.email = intl.formatMessage({\r\n id: \"AUTH.VALIDATION.REQUIRED_FIELD\",\r\n });\r\n } else if (\r\n !/^[A-Z0-9._%+-]+@[A-Z0-9.-]+\\.[A-Z]{2,}$/i.test(values.email)\r\n ) {\r\n errors.email = intl.formatMessage({\r\n id: \"AUTH.VALIDATION.INVALID_FIELD\",\r\n });\r\n }\r\n\r\n if (!values.password) {\r\n errors.password = intl.formatMessage({\r\n id: \"AUTH.VALIDATION.REQUIRED_FIELD\",\r\n });\r\n }\r\n\r\n return errors;\r\n }}\r\n onSubmit={(values, { setStatus, setSubmitting }) => {\r\n enableLoading();\r\n setTimeout(() => {\r\n login(values.email, values.password)\r\n .then(({ data: { accessToken } }) => {\r\n disableLoading();\r\n props.login(accessToken);\r\n })\r\n .catch(() => {\r\n disableLoading();\r\n setSubmitting(false);\r\n setStatus(\r\n intl.formatMessage({\r\n id: \"AUTH.VALIDATION.INVALID_LOGIN\",\r\n })\r\n );\r\n });\r\n }, 1000);\r\n }}\r\n >\r\n {({\r\n values,\r\n status,\r\n errors,\r\n touched,\r\n handleChange,\r\n handleBlur,\r\n handleSubmit,\r\n isSubmitting,\r\n }) => (\r\n \r\n {status ? (\r\n \r\n
    {status}
    \r\n
    \r\n ) : (\r\n
    \r\n )}\r\n\r\n
    \r\n \r\n {({ field, form, meta }) => (\r\n
    \r\n \r\n {meta.touched && meta.error && (\r\n
    {meta.error}
    \r\n )}\r\n
    \r\n )}\r\n \r\n
    \r\n\r\n
    \r\n \r\n {({ field, form, meta }) => (\r\n
    \r\n \r\n {meta.touched && meta.error && (\r\n
    {meta.error}
    \r\n )}\r\n
    \r\n )}\r\n \r\n
    \r\n\r\n {/* begin::Actions */}\r\n
    \r\n \r\n \r\n \r\n\r\n \r\n Sign In\r\n {loading && (\r\n \r\n )}\r\n \r\n
    \r\n {/* end::Actions */}\r\n \r\n )}\r\n \r\n {/*end::Form*/}\r\n
    \r\n );\r\n}\r\n\r\nexport default injectIntl(connect(null, auth.actions)(Login));\r\n","import React, { useState } from \"react\";\r\nimport { Formik, Field } from \"formik\";\r\nimport { connect } from \"react-redux\";\r\nimport { Link } from \"react-router-dom\";\r\nimport { FormattedMessage, injectIntl } from \"react-intl\";\r\nimport { Input } from \"../../../../_metronic/_partials/controls\";\r\nimport * as auth from \"../_redux/authRedux\";\r\nimport { register } from \"../_redux/authCrud\";\r\n\r\nfunction Registration(props) {\r\n const { intl } = props;\r\n const [loading, setLoading] = useState(false);\r\n\r\n const enableLoading = () => {\r\n setLoading(true);\r\n };\r\n\r\n const disableLoading = () => {\r\n setLoading(false);\r\n };\r\n\r\n const getInputClasses = (meta, fieldname) => {\r\n let result = \"form-control form-control-solid h-auto py-5 px-6 \";\r\n if (meta.touched && meta.error) {\r\n result += \" is-invalid\";\r\n }\r\n\r\n if (meta.touched && !meta.error) {\r\n result += \" is-valid\";\r\n }\r\n\r\n return result;\r\n };\r\n\r\n return (\r\n
    \r\n
    \r\n

    \r\n \r\n

    \r\n

    \r\n Enter your details to create your account\r\n

    \r\n
    \r\n\r\n {\r\n const errors = {};\r\n\r\n if (!values.email) {\r\n errors.email = intl.formatMessage({\r\n id: \"AUTH.VALIDATION.REQUIRED_FIELD\",\r\n });\r\n } else if (\r\n !/^[A-Z0-9._%+-]+@[A-Z0-9.-]+\\.[A-Z]{2,}$/i.test(values.email)\r\n ) {\r\n errors.email = intl.formatMessage({\r\n id: \"AUTH.VALIDATION.INVALID_FIELD\",\r\n });\r\n }\r\n\r\n if (!values.fullname) {\r\n errors.fullname = intl.formatMessage({\r\n id: \"AUTH.VALIDATION.REQUIRED_FIELD\",\r\n });\r\n }\r\n\r\n if (!values.username) {\r\n errors.username = intl.formatMessage({\r\n id: \"AUTH.VALIDATION.REQUIRED_FIELD\",\r\n });\r\n }\r\n\r\n if (!values.password) {\r\n errors.password = intl.formatMessage({\r\n id: \"AUTH.VALIDATION.REQUIRED_FIELD\",\r\n });\r\n }\r\n\r\n if (!values.confirmPassword) {\r\n errors.confirmPassword = intl.formatMessage({\r\n id: \"AUTH.VALIDATION.REQUIRED_FIELD\",\r\n });\r\n } else if (values.password !== values.confirmPassword) {\r\n errors.confirmPassword =\r\n \"Password and Confirm Password didn't match.\";\r\n }\r\n\r\n if (!values.acceptTerms) {\r\n errors.acceptTerms = \"Accept Terms\";\r\n }\r\n\r\n return errors;\r\n }}\r\n onSubmit={(values, { setStatus, setSubmitting }) => {\r\n enableLoading();\r\n register(\r\n values.email,\r\n values.fullname,\r\n values.username,\r\n values.password\r\n )\r\n .then(({ data: { accessToken } }) => {\r\n props.register(accessToken);\r\n disableLoading();\r\n })\r\n .catch(() => {\r\n setSubmitting(false);\r\n setStatus(\r\n intl.formatMessage({\r\n id: \"AUTH.VALIDATION.INVALID_LOGIN\",\r\n })\r\n );\r\n disableLoading();\r\n });\r\n }}\r\n >\r\n {({\r\n values,\r\n status,\r\n errors,\r\n touched,\r\n handleChange,\r\n handleBlur,\r\n handleSubmit,\r\n isSubmitting,\r\n }) => (\r\n \r\n {status && (\r\n \r\n
    {status}
    \r\n
    \r\n )}\r\n\r\n
    \r\n {/* */}\r\n \r\n {({ field, form, meta }) => (\r\n
    \r\n \r\n {meta.touched && meta.error && (\r\n
    {meta.error}
    \r\n )}\r\n
    \r\n )}\r\n
    \r\n
    \r\n\r\n
    \r\n \r\n {({ field, form, meta }) => (\r\n
    \r\n \r\n {meta.touched && meta.error && (\r\n
    {meta.error}
    \r\n )}\r\n
    \r\n )}\r\n
    \r\n
    \r\n\r\n
    \r\n \r\n {({ field, form, meta }) => (\r\n
    \r\n \r\n {meta.touched && meta.error && (\r\n
    {meta.error}
    \r\n )}\r\n
    \r\n )}\r\n
    \r\n
    \r\n\r\n
    \r\n \r\n {({ field, form, meta }) => (\r\n
    \r\n \r\n {meta.touched && meta.error && (\r\n
    {meta.error}
    \r\n )}\r\n
    \r\n )}\r\n \r\n
    \r\n\r\n
    \r\n \r\n {({ field, form, meta }) => (\r\n
    \r\n \r\n {meta.touched && meta.error && (\r\n
    {meta.error}
    \r\n )}\r\n
    \r\n )}\r\n \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n\r\n
    \r\n \r\n Submit\r\n {loading && (\r\n \r\n )}\r\n \r\n\r\n \r\n \r\n Cancel\r\n \r\n \r\n
    \r\n \r\n )}\r\n \r\n
    \r\n );\r\n}\r\n\r\nexport default injectIntl(connect(null, auth.actions)(Registration));\r\n","import React, { Component } from \"react\";\r\nimport { Formik, Field } from \"formik\";\r\nimport { connect } from \"react-redux\";\r\nimport { Link, Redirect } from \"react-router-dom\";\r\nimport { Input } from \"../../../../_metronic/_partials/controls\";\r\nimport { injectIntl } from \"react-intl\";\r\nimport * as auth from \"../_redux/authRedux\";\r\nimport { requestPassword } from \"../_redux/authCrud\";\r\n\r\n// TODO: Rewrite to pure function\r\nclass ForgotPassword extends Component {\r\n state = { isRequested: false, forgotPasswordSuccess: false };\r\n\r\n render() {\r\n const { intl } = this.props;\r\n const { isRequested, forgotPasswordSuccess } = this.state;\r\n\r\n\r\n const getInputClasses = (meta, fieldname) => {\r\n let result = \"form-control form-control-solid h-auto py-5 px-6 \";\r\n if (meta.touched && meta.error) {\r\n result += \" is-invalid\"\r\n }\r\n\r\n if (meta.touched && !meta.error) {\r\n result += \" is-valid\"\r\n }\r\n\r\n return result;\r\n }\r\n\r\n return (\r\n
    \r\n {/* Message Success */}\r\n {forgotPasswordSuccess && (\r\n
    \r\n
    \r\n \r\n

    Please Check Your email to Get a new Password !

    \r\n
    \r\n
    \r\n \r\n \r\n Login\r\n \r\n \r\n
    \r\n
    \r\n )}\r\n {!forgotPasswordSuccess && (\r\n
    \r\n
    \r\n

    Forgotten Password ?

    \r\n
    \r\n {\r\n const errors = {};\r\n\r\n if (!values.email) {\r\n errors.email = intl.formatMessage({\r\n id: \"AUTH.VALIDATION.REQUIRED_FIELD\"\r\n });\r\n } else if (\r\n !/^[A-Z0-9._%+-]+@[A-Z0-9.-]+\\.[A-Z]{2,}$/i.test(values.email)\r\n ) {\r\n errors.email = intl.formatMessage({\r\n id: \"AUTH.VALIDATION.INVALID_FIELD\"\r\n });\r\n }\r\n\r\n return errors;\r\n }}\r\n onSubmit={(values, { setStatus, setSubmitting }) => {\r\n requestPassword(values.email)\r\n .then(() => {\r\n this.setState({ isRequested: true });\r\n this.setState({ forgotPasswordSuccess: true });\r\n })\r\n .catch(() => {\r\n setSubmitting(false);\r\n setStatus(\r\n intl.formatMessage(\r\n { id: \"AUTH.VALIDATION.NOT_FOUND\" },\r\n { name: values.email }\r\n )\r\n );\r\n });\r\n }}\r\n >\r\n {({\r\n values,\r\n status,\r\n errors,\r\n touched,\r\n handleChange,\r\n handleBlur,\r\n handleSubmit,\r\n isSubmitting\r\n }) => (\r\n
    \r\n {status && (\r\n
    \r\n
    {status}
    \r\n
    \r\n )}\r\n\r\n
    \r\n \r\n\r\n {({ field, form, meta }) => (\r\n
    \r\n \r\n {meta.touched &&\r\n meta.error &&
    {meta.error}
    }\r\n
    \r\n )}\r\n \r\n
    \r\n\r\n
    \r\n \r\n Submit\r\n \r\n \r\n \r\n Cancel\r\n \r\n \r\n
    \r\n
    \r\n )}\r\n \r\n
    \r\n )}\r\n\r\n
    \r\n );\r\n }\r\n}\r\n\r\nexport default injectIntl(connect(null, auth.actions)(ForgotPassword));\r\n","/* eslint-disable jsx-a11y/anchor-is-valid */\r\nimport React, { useState, useEffect } from \"react\";\r\nimport { Link, Switch, Redirect } from \"react-router-dom\";\r\nimport { toAbsoluteUrl } from \"../../../../_metronic/_helpers\";\r\nimport { ContentRoute } from \"../../../../_metronic/layout\"\r\nimport Login from \"./Login\";\r\nimport Registration from \"./Registration\";\r\nimport ForgotPassword from \"./ForgotPassword\";\r\nimport { Helmet } from \"react-helmet\";\r\nimport \"../../../../_metronic/_assets/sass/pages/login/login-1.scss\";\r\nexport function AuthPage() {\r\n const [date, setDate] = useState();\r\n\r\n const getYear = () => setDate(new Date().getFullYear())\r\n\r\n\r\n useEffect(() => {\r\n getYear();\r\n }, [])\r\n return (\r\n <>\r\n \r\n eMPower | Login\r\n \r\n \r\n
    \r\n {/*begin::Login*/}\r\n \r\n {/*begin::Aside*/}\r\n \r\n {/*begin: Aside Container*/}\r\n
    \r\n {/* start:: Aside header */}\r\n \r\n \r\n \r\n {/* end:: Aside header */}\r\n\r\n {/* start:: Aside content */}\r\n
    \r\n

    \r\n Welcome to eMPower!\r\n

    \r\n\r\n

    \r\n Provides full integration of activity, status and costing allowing our customers to make critical transportation decisions faster,\r\n because they have access to the right information, at the right time regardless of where the data originates.\r\n

    \r\n
    \r\n {/* end:: Aside content */}\r\n\r\n {/* start:: Aside footer for desktop */}\r\n
    \r\n
    \r\n © {date} eMPower {window.$BuildVersion}\r\n
    \r\n
    \r\n \r\n Privacy\r\n \r\n \r\n Legal\r\n \r\n \r\n Contact\r\n \r\n
    \r\n
    \r\n {/* end:: Aside footer for desktop */}\r\n
    \r\n {/*end: Aside Container*/}\r\n
    \r\n {/*begin::Aside*/}\r\n\r\n {/*begin::Content*/}\r\n
    \r\n {/*begin::Content header*/}\r\n {/*
    \r\n Don't have an account yet?\r\n Sign Up!\r\n
    */}\r\n {/*end::Content header*/}\r\n\r\n {/* begin::Content body */}\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n {/*end::Content body*/}\r\n\r\n {/* begin::Mobile footer */}\r\n \r\n
    \r\n © {date} eMPower {window.$BuildVersion}\r\n
    \r\n
    \r\n \r\n Privacy\r\n \r\n \r\n Legal\r\n \r\n \r\n Contact\r\n \r\n
    \r\n
    \r\n {/* end::Mobile footer */}\r\n
    \r\n {/*end::Content*/}\r\n
    \r\n {/*end::Login*/}\r\n
    \r\n \r\n );\r\n}\r\n","import React, { Component } from \"react\";\r\nimport { connect } from \"react-redux\";\r\nimport { Redirect } from \"react-router-dom\";\r\nimport { LayoutSplashScreen } from \"../../../../_metronic/layout\";\r\nimport * as auth from \"../_redux/authRedux\";\r\n\r\nclass Logout extends Component {\r\n componentDidMount() {\r\n this.props.logout();\r\n }\r\n\r\n render() {\r\n const { hasAuthToken } = this.props;\r\n return hasAuthToken ? (\r\n \r\n ) : (\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default connect(\r\n ({ auth }) => ({ hasAuthToken: Boolean(auth.authToken) }),\r\n auth.actions\r\n)(Logout);\r\n","import React from \"react\";\r\nimport {toAbsoluteUrl} from \"../../../_metronic/_helpers\";\r\n\r\nexport function ErrorPage1() {\r\n return (\r\n
    \r\n \r\n \r\n 404\r\n \r\n

    \r\n OOPS! Something went wrong here\r\n

    \r\n
    \r\n
    \r\n );\r\n}\r\n","import React from \"react\";\r\nimport {toAbsoluteUrl} from \"../../../_metronic/_helpers\";\r\n\r\nexport function ErrorPage2() {\r\n return (\r\n
    \r\n \r\n
    \r\n

    OOPS!

    \r\n \r\n Something went wrong here\r\n \r\n
    \r\n
    \r\n
    \r\n );\r\n}\r\n","import React from \"react\";\r\nimport {toAbsoluteUrl} from \"../../../_metronic/_helpers\";\r\nimport \"../../../_metronic/_assets/sass/pages/error/error-3.scss\";\r\n\r\nexport function ErrorPage3() {\r\n return (\r\n
    \r\n \r\n
    \r\n

    404

    \r\n

    \r\n How did you get here\r\n

    \r\n

    \r\n Sorry we can't seem to find the page you're looking for.\r\n

    \r\n

    \r\n There may be a misspelling in the URL entered,\r\n
    \r\n or the page you are looking for may no longer exist.\r\n

    \r\n
    \r\n
    \r\n
    \r\n );\r\n}\r\n","import React from \"react\";\r\nimport { toAbsoluteUrl } from \"../../../_metronic/_helpers\";\r\nimport { Link } from \"react-router-dom\";\r\n\r\nexport function ErrorPage401() {\r\n return (\r\n
    \r\n \r\n
    \r\n

    401

    \r\n

    Unauthorized: Access is denied due

    to invalid credentials.

    \r\n

    You do not have permission to view this

    directory or page using the credentials

    that you supplied.\r\n

    \r\n
    \r\n Go Home\r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n}\r\n","import React from \"react\";\r\nimport { toAbsoluteUrl } from \"../../../_metronic/_helpers\";\r\nimport { Link } from \"react-router-dom\";\r\n\r\nexport function ErrorPage404() {\r\n return (\r\n
    \r\n \r\n
    \r\n

    404

    \r\n

    Page Not Found

    \r\n

    We can't seem to find the page

    you're looking for.\r\n

    \r\n
    \r\n Go Home\r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n}\r\n","import React from \"react\";\r\nimport { toAbsoluteUrl } from \"../../../_metronic/_helpers\";\r\nimport { Link } from \"react-router-dom\";\r\n\r\nexport function ErrorPage500() {\r\n return (\r\n
    \r\n \r\n
    \r\n

    500

    \r\n

    Internal Server Error

    \r\n

    We're working on it and we'll get it fixed

    as soon possible.

    You can back or use our Help Center.\r\n

    \r\n
    \r\n Go Home\r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n}\r\n","import React from \"react\";\r\nimport { Redirect, Route, Switch } from \"react-router-dom\";\r\nimport { ErrorPage1 } from \"./ErrorPage1\";\r\nimport { ErrorPage2 } from \"./ErrorPage2\";\r\nimport { ErrorPage3 } from \"./ErrorPage3\";\r\nimport { ErrorPage401 } from \"./ErrorPage401\";\r\nimport { ErrorPage404 } from \"./ErrorPage404\";\r\nimport { ErrorPage500 } from \"./ErrorPage500\";\r\nexport default function ErrorsPage() {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n","import React from \"react\";\r\nimport { Button } from \"react-bootstrap\";\r\nimport { Link } from \"react-router-dom\";\r\nimport { toAbsoluteUrl } from \"../../../_metronic/_helpers\";\r\nimport SVG from \"react-inlinesvg\";\r\nimport { Fade } from 'react-slideshow-image';\r\nimport 'react-slideshow-image/dist/styles.css'\r\nimport low from \"lowdb\";\r\nimport LocalStorage from \"lowdb/adapters/LocalStorage\";\r\nconst adapter = new LocalStorage(\"db\");\r\nconst db = low(adapter);\r\nconst fadeImages = [\r\n \"/media/bg/bg-home5.jpg\",\r\n \"/media/bg/bg-home2.jpg\",\r\n \"/media/bg/home-bg5.jpg\",\r\n \"/media/bg/bg-home4.jpg\"\r\n];\r\nconst properties = {\r\n infinite: true,\r\n indicators: false,\r\n arrows: false,\r\n autoPlayInterval:300,\r\n transitionDuration:1000,\r\n duration:3000,\r\n autoPlayDirection: \"rtl\",\r\n autoPlay: true,\r\n fadeOutAnimation: true,\r\n mouseTrackingEnabled: true,\r\n disableAutoPlayOnAction: true,\r\n onChange: (oldIndex, newIndex) => {\r\n console.log(`slide transition from ${oldIndex} to ${newIndex}`);\r\n }\r\n}\r\nexport function Body() {\r\n return (\r\n
    \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n \r\n \r\n \r\n
    \r\n\r\n
    \r\n\r\n

    Welcome To eMPower

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

    Welcome To eMPower

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

    Welcome To eMPower

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

    Welcome To eMPower

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n \r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n {\r\n window.monuType = \"DISTRIBUTION\";\r\n }}\r\n >\r\n Go DISTRIBUTION\r\n \r\n \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n \r\n \r\n \r\n
    \r\n\r\n
    \r\n {/* */}\r\n \r\n {\r\n window.monuType = \"TRANSLOAD\";\r\n }}\r\n >\r\n Go TRANSLOAD\r\n \r\n \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n {\r\n window.monuType = \"TRANSPORTATION\";\r\n }}\r\n >\r\n Go TRANSPORTATION\r\n \r\n \r\n\r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n}\r\n","/* eslint-disable jsx-a11y/anchor-is-valid */\r\nimport React , { useState, useEffect } from \"react\";\r\nimport { Link, Switch } from \"react-router-dom\";\r\nimport { toAbsoluteUrl } from \"../../../_metronic/_helpers\";\r\nimport \"../../../_metronic/_assets/sass/pages/login/login-1.scss\";\r\nimport { Body } from \"./Body\";\r\nimport { Helmet } from \"react-helmet\";\r\n\r\nexport function Layout() {\r\n const [date, setDate] = useState();\r\n\r\n const getYear = () => setDate(new Date().getFullYear())\r\n\r\n\r\n useEffect(() => {\r\n getYear();\r\n }, [])\r\n return (\r\n <>\r\n \r\n eMPower | Welcome\r\n \r\n \r\n
    \r\n {/*begin::Login*/}\r\n \r\n {/*begin::Aside*/}\r\n \r\n {/*begin: Aside Container*/}\r\n
    \r\n {/* start:: Aside header */}\r\n \r\n \r\n \r\n {/* end:: Aside header */}\r\n\r\n {/* start:: Aside content */}\r\n
    \r\n

    \r\n Provides full integration of activity, status and costing\r\n allowing our customers to make critical transportation\r\n decisions faster, because they have access to the right\r\n information, at the right time regardless of where the data\r\n originates.\r\n

    \r\n
    \r\n {/* end:: Aside content */}\r\n\r\n {/* start:: Aside footer for desktop */}\r\n
    \r\n
    \r\n © {date} eMPower{\" \"}\r\n \r\n {window.$BuildVersion}\r\n \r\n
    \r\n
    \r\n \r\n Privacy\r\n \r\n \r\n Legal\r\n \r\n \r\n Contact\r\n \r\n
    \r\n
    \r\n {/* end:: Aside footer for desktop */}\r\n
    \r\n {/*end: Aside Container*/}\r\n
    \r\n {/*begin::Aside*/}\r\n\r\n {/*begin::Content*/}\r\n
    \r\n {/* begin::Content body */}\r\n
    \r\n \r\n \r\n \r\n
    \r\n {/*end::Content body*/}\r\n\r\n {/* begin::Mobile footer */}\r\n
    \r\n
    \r\n © {date} eMPower{\" \"}\r\n \r\n {window.$BuildVersion}\r\n \r\n
    \r\n
    \r\n \r\n Privacy\r\n \r\n \r\n Legal\r\n \r\n \r\n Contact\r\n \r\n
    \r\n
    \r\n {/* end::Mobile footer */}\r\n
    \r\n {/*end::Content*/}\r\n
    \r\n {/*end::Login*/}\r\n
    \r\n \r\n );\r\n}\r\n","import React from \"react\";\r\nimport {Layout} from \"./Layout\";\r\n\r\nexport const index = () => {\r\n\r\n\r\n return (<>);\r\n};\r\n","import React, { Component } from \"react\";\r\nimport Slider from \"react-slick\";\r\nimport \"slick-carousel/slick/slick.css\";\r\nimport \"slick-carousel/slick/slick-theme.css\";\r\nfunction SampleNextArrow(props) {\r\n const { className, style, onClick } = props;\r\n return (\r\n \r\n );\r\n}\r\n\r\nfunction SamplePrevArrow(props) {\r\n const { className, style, onClick } = props;\r\n return (\r\n \r\n );\r\n}\r\n\r\nexport default class SlideLanding extends Component {\r\n render() {\r\n const settings = {\r\n dots: false,\r\n infinite: true,\r\n fade: true,\r\n speed: 500,\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n nextArrow: ,\r\n prevArrow: ,\r\n };\r\n return (\r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n );\r\n }\r\n}\r\n","import Button from \"@material-ui/core/Button\";\r\nimport Card from \"@material-ui/core/Card\";\r\nimport CardActionArea from \"@material-ui/core/CardActionArea\";\r\nimport CardActions from \"@material-ui/core/CardActions\";\r\nimport CardContent from \"@material-ui/core/CardContent\";\r\nimport CardMedia from \"@material-ui/core/CardMedia\";\r\nimport Checkbox from \"@material-ui/core/Checkbox\";\r\nimport { green } from \"@material-ui/core/colors\";\r\nimport IconButton from \"@material-ui/core/IconButton\";\r\nimport { makeStyles, withStyles } from \"@material-ui/core/styles\";\r\nimport Typography from \"@material-ui/core/Typography\";\r\nimport CloseIcon from \"@material-ui/icons/Close\";\r\nimport Skeleton from \"@material-ui/lab/Skeleton\";\r\nimport low from \"lowdb\";\r\nimport LocalStorage from \"lowdb/adapters/LocalStorage\";\r\nimport React, { useEffect, useState } from \"react\";\r\nimport { Col, Container, Form, Modal, Row } from \"react-bootstrap\";\r\nimport { Link } from \"react-router-dom\";\r\nimport \"react-slideshow-image/dist/styles.css\";\r\nimport { toAbsoluteUrl } from \"../../../_metronic/_helpers\";\r\nimport SlideLanding from \"./Slide-Landing\";\r\nconst adapter = new LocalStorage(\"db\");\r\nconst db = low(adapter);\r\nconst useStyles = makeStyles((theme) => ({\r\n card: {\r\n maxWidth: 345,\r\n },\r\n media: {\r\n height: 140,\r\n },\r\n button: {\r\n margin: theme.spacing(1),\r\n \"&:hover\": {\r\n color: \"#fff\",\r\n },\r\n },\r\n input: {\r\n display: \"none\",\r\n },\r\n}));\r\n\r\nconst GreenCheckbox = withStyles({\r\n root: {\r\n color: green[400],\r\n \"&$checked\": {\r\n color: green[600],\r\n },\r\n },\r\n checked: {},\r\n})((props) => );\r\nexport function Body() {\r\n const classes = useStyles();\r\n\r\n const [showContact, setShowContact] = React.useState(false);\r\n const [state, setState] = React.useState({\r\n checkedA: false,\r\n checkedB: false,\r\n checkedC: false,\r\n checkedD: false,\r\n });\r\n\r\n const handleChange = (name) => (event) => {\r\n setState({ ...state, [name]: event.target.checked });\r\n };\r\n const [dataFetch, setDataFetch] = useState([]);\r\n useEffect(() => {\r\n let _title = \"Landing\";\r\n GetDataFetch();\r\n }, []);\r\n async function GetDataFetch() {\r\n return await fetch(window.$apiurl + \"/cms/mainnews\", {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n setDataFetch(res[1].News || []);\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n function Media(props) {\r\n const { loading = false } = props;\r\n\r\n return (\r\n <>\r\n {(loading ? Array.from(new Array(3)) : dataFetch).map(\r\n (item2, index) => (\r\n
    \r\n \r\n {loading ? (\r\n \r\n ) : (\r\n (loading\r\n ? Array.from(new Array(3))\r\n : dataFetch\r\n ).map((item2, index) => (\r\n \r\n ))\r\n )}\r\n\r\n \r\n {loading ? (\r\n \r\n \r\n \r\n \r\n \r\n ) : (\r\n (loading ? Array.from(new Array(3)) : dataFetch).map(\r\n (item2, index) => (\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n {item2.Title}\r\n \r\n \r\n {item2.SubTitle}\r\n \r\n \r\n \r\n \r\n \r\n Read More\r\n \r\n \r\n \r\n
    \r\n )\r\n )\r\n )}\r\n
    \r\n
    \r\n
    \r\n )\r\n )}\r\n \r\n );\r\n }\r\n\r\n return (\r\n <>\r\n
    \r\n
    \r\n
    \r\n
    \r\n

    \r\n IMPROVE YOUR\r\n

    \r\n

    \r\n SPEED TO MARKET\r\n

    \r\n

    PROFITABILITY

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

    Our Amazing Features

    \r\n

    \r\n Communicate with flexible tools that go where your business goes.\r\n

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

    \r\n Omni-Channel Fulfillment\r\n

    \r\n

    \r\n \r\n Omnichannel warehouse and distribution solutions\r\n \r\n

    \r\n \r\n Learn More\r\n \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n

    \r\n Transloading\r\n

    \r\n

    \r\n \r\n Customized PO management solutions that streamline\r\n our clients' delivery system\r\n \r\n

    \r\n \r\n Learn More\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n

    \r\n Transportation\r\n

    \r\n

    \r\n \r\n Delivery solutions from ship to shelf\r\n \r\n

    \r\n \r\n Learn More\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n

    \r\n Drayage\r\n

    \r\n

    \r\n \r\n Asset based dispatch and drayage operations\r\n \r\n

    \r\n \r\n Learn More\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n 12,000+\r\n
    \r\n

    Continer

    \r\n

    \r\n Drayed\r\n

    \r\n
    \r\n
    \r\n
    \r\n 7.500+\r\n
    \r\n

    Continers

    \r\n

    \r\n Transloaded\r\n

    \r\n
    \r\n
    \r\n
    \r\n 10.000.000+\r\n
    \r\n

    Unites

    \r\n

    \r\n Shipped\r\n

    \r\n
    \r\n
    \r\n
    \r\n 10.000+\r\n
    \r\n

    Leads

    \r\n

    \r\n Delivred\r\n

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

    CASE STUDIES & News

    \r\n

    Latest news, tips and best practices.

    \r\n
    \r\n
    \r\n 0 ? false : true} />\r\n
    \r\n
    \r\n
    \r\n
    \r\n

    \r\n Pricing for every business, at any stage\r\n

    \r\n

    \r\n All pricing packages are backed up by a 30-day money back guarantee.\r\n

    \r\n
    \r\n {/*begin::Card*/}\r\n
    \r\n
    \r\n
    \r\n {/*begin: Pricing*/}\r\n
    \r\n
    \r\n {/*begin::Icon*/}\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n {/*begin::Svg Icon | path:/metronic/theme/html/demo4/dist/assets/media/svg/icons/Home/Flower3.svg*/}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {/*end::Svg Icon*/}\r\n \r\n
    \r\n {/*end::Icon*/}\r\n {/*begin::Content*/}\r\n \r\n Free\r\n \r\n

    \r\n 1 End Product License\r\n

    \r\n

    \r\n Lorem ipsum dolor sit amet edipiscing elit\r\n sed do eiusmod elpors labore et dolore\r\n magna siad enim aliqua\r\n

    \r\n \r\n Get For Free\r\n \r\n {/*end::Content*/}\r\n
    \r\n
    \r\n {/*end: Pricing*/}\r\n {/*begin: Pricing*/}\r\n
    \r\n
    \r\n {/*begin::Icon*/}\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n {/*begin::Svg Icon | path:/metronic/theme/html/demo4/dist/assets/media/svg/icons/Tools/Compass.svg*/}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {/*end::Svg Icon*/}\r\n \r\n
    \r\n {/*end::Icon*/}\r\n {/*begin::Content*/}\r\n \r\n XX\r\n \r\n $\r\n \r\n \r\n

    \r\n Business License\r\n

    \r\n

    \r\n Lorem ipsum dolor sit amet edipiscing elit\r\n sed do eiusmod elpors labore et dolore\r\n magna siad enim aliqua\r\n

    \r\n \r\n Purchase\r\n \r\n {/*end::Content*/}\r\n
    \r\n
    \r\n {/*end: Pricing*/}\r\n {/*begin: Pricing*/}\r\n
    \r\n
    \r\n {/*begin::Icon*/}\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n {/*begin::Svg Icon | path:/metronic/theme/html/demo4/dist/assets/media/svg/icons/Shopping/Cart2.svg*/}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {/*end::Svg Icon*/}\r\n \r\n
    \r\n {/*end::Icon*/}\r\n {/*begin::Content*/}\r\n \r\n XXX\r\n \r\n $\r\n \r\n \r\n

    \r\n Enterprice License\r\n

    \r\n

    \r\n Lorem ipsum dolor sit amet edipiscing elit\r\n sed do eiusmod elpors labore et dolore\r\n magna siad enim aliqua\r\n

    \r\n \r\n Purchase\r\n \r\n {/*end::Content*/}\r\n
    \r\n
    \r\n {/*end: Pricing*/}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n CHOOSE A SERVICE(S) THAT YOU WOULD LIKE TO GET A QUOTE FOR\r\n \r\n {\r\n setShowContact(false);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n
    \r\n \r\n \r\n First Name*\r\n \r\n \r\n \r\n Last Name*\r\n \r\n \r\n \r\n \r\n \r\n Email\r\n \r\n \r\n\r\n \r\n Phone\r\n \r\n \r\n \r\n\r\n \r\n Company\r\n \r\n \r\n \r\n Message\r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n Submit\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    \r\n SEE WHAT EMPOWER CAN DO TO HELP YOU GROW YOUR BUSINESS\r\n

    \r\n
    \r\n
    \r\n {\r\n setShowContact(true);\r\n }}\r\n >\r\n Get A Quote\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n );\r\n}\r\n","/* eslint-disable jsx-a11y/anchor-is-valid */\r\nimport React, { useState, useEffect } from \"react\";\r\nimport { Link, Switch } from \"react-router-dom\";\r\nimport { toAbsoluteUrl } from \"../../../_metronic/_helpers\";\r\nimport \"../../../_metronic/_assets/sass/pages/login/login-1.scss\";\r\nimport { Body } from \"./Body\";\r\nimport { Helmet } from \"react-helmet\";\r\nimport { Button , makeStyles } from \"@material-ui/core\";\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n button: {\r\n margin: theme.spacing(1),\r\n \"&:hover\": {\r\n color: \"#fff\",\r\n },\r\n },\r\n input: {\r\n display: \"none\",\r\n },\r\n}));\r\nexport function Layout() {\r\n const classes = useStyles();\r\n const [date, setDate] = useState();\r\n\r\n const getYear = () => setDate(new Date().getFullYear());\r\n\r\n useEffect(() => {\r\n getYear();\r\n }, []);\r\n return (\r\n <>\r\n \r\n eMPower | Welcome\r\n \r\n \r\n
    \r\n {/*begin::Login*/}\r\n \r\n {/*begin::Aside*/}\r\n
    \r\n {/*begin::Container*/}\r\n
    \r\n
    \r\n
    \r\n {/*begin::Left*/}\r\n
    \r\n {/*begin::Page Title*/}\r\n

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

    \r\n {/*end::Page Title*/}\r\n {/*begin::Header Menu Wrapper*/}\r\n \r\n {/*begin::Header Menu*/}\r\n {/*end::Header Menu*/}\r\n
    \r\n {/*end::Header Menu Wrapper*/}\r\n
    \r\n {/*end::Left*/}\r\n {/*begin::Topbar*/}\r\n
    \r\n \r\n {/*begin::Header Nav*/}\r\n
      \r\n
    • \r\n \r\n Home\r\n \r\n
    • \r\n
    • \r\n {\r\n setTimeout(() => {\r\n var el = document.getElementById(\"Features\");\r\n window.scroll({\r\n top: el?.offsetTop - 120,\r\n behavior: \"smooth\",\r\n });\r\n });\r\n }}\r\n >\r\n \r\n Features\r\n \r\n \r\n
    • \r\n
    • \r\n {\r\n setTimeout(() => {\r\n var el = document.getElementById(\"CASESTUDIES\");\r\n window.scroll({\r\n top: el?.offsetTop - 120,\r\n behavior: \"smooth\",\r\n });\r\n });\r\n }}\r\n >\r\n \r\n Last News\r\n \r\n \r\n
    • \r\n
    • \r\n {\r\n setTimeout(() => {\r\n var el = document.getElementById(\"Pricing\");\r\n window.scroll({\r\n top: el?.offsetTop - 120,\r\n behavior: \"smooth\",\r\n });\r\n });\r\n }}\r\n >\r\n \r\n Pricing\r\n \r\n \r\n
    • \r\n
    • \r\n {\r\n setTimeout(() => {\r\n var el = document.getElementById(\"Contact\");\r\n window.scroll({\r\n top: el?.offsetTop - 120,\r\n behavior: \"smooth\",\r\n });\r\n });\r\n }}\r\n >\r\n \r\n Contact\r\n \r\n \r\n
    • \r\n
    • \r\n \r\n Get Started\r\n \r\n
    • \r\n
    \r\n {/*end::Header Nav*/}\r\n
    \r\n
    \r\n {/*end::Topbar*/}\r\n
    \r\n
    \r\n
    \r\n {/*end::Container*/}\r\n
    \r\n {/*begin::Aside*/}\r\n\r\n {/*begin::Content*/}\r\n
    \r\n {/* begin::Content body */}\r\n
    \r\n \r\n \r\n \r\n
    \r\n {/*end::Content body*/}\r\n\r\n {/* begin::Mobile footer */}\r\n
    \r\n
    \r\n © {date} eMPower {window.$BuildVersion}\r\n
    \r\n
    \r\n \r\n Privacy\r\n \r\n \r\n Legal\r\n \r\n \r\n Contact\r\n \r\n
    \r\n
    \r\n {/* end::Mobile footer */}\r\n
    \r\n {/*end::Content*/}\r\n
    \r\n {/*end::Login*/}\r\n
    \r\n \r\n );\r\n}\r\n","import React from \"react\";\r\nimport {Layout} from \"./Layout\";\r\n\r\nexport const Landing = () => {\r\n\r\n\r\n return (<>);\r\n};\r\n","/**\r\n * High level router.\r\n *\r\n * Note: It's recommended to compose related routes in internal router\r\n * components (e.g: `src/app/modules/Auth/pages/AuthPage`, `src/app/BasePage`).\r\n */\r\n\r\nimport React, { useEffect, useState } from \"react\";\r\nimport { Redirect, Switch, Route } from \"react-router-dom\";\r\nimport { shallowEqual, useSelector } from \"react-redux\";\r\nimport { Layout } from \"../_metronic/layout\";\r\nimport BasePage from \"./BasePage\";\r\nimport { Logout, AuthPage } from \"./modules/Auth\";\r\nimport ErrorsPage from \"./modules/ErrorsExamples/ErrorsPage\";\r\nimport { index } from \"./pages/Home/index\";\r\nimport { Landing } from \"./pages/Landing/index\";\r\nimport { SpecificTabs } from \"./SpecificTabs\";\r\nimport low from \"lowdb\";\r\nimport LocalStorage from \"lowdb/adapters/LocalStorage\";\r\nconst adapter = new LocalStorage(\"db\");\r\nconst db = low(adapter);\r\n\r\nexport function Routes() {\r\n const [TablsOptionsList, setTablsOptionsList] = useState([]);\r\n\r\n useEffect(() => {\r\n var myHeaders = new Headers();\r\n myHeaders.append(\"Authorization\", `bearer ${db.read().getState().Token}`);\r\n\r\n var requestOptions = {\r\n method: \"GET\",\r\n headers: myHeaders,\r\n redirect: \"follow\",\r\n };\r\n\r\n fetch(`${window.$apiurl}/menu/tabs`, requestOptions)\r\n .then((response) => response.text())\r\n .then((result) => {\r\n var data = JSON.parse(result || []);\r\n setTablsOptionsList(data);\r\n })\r\n .catch((error) => console.log(\"error\", error));\r\n }, []);\r\n\r\n const { isAuthorized } = useSelector(\r\n ({ auth }) => ({\r\n isAuthorized: auth.user != null,\r\n }),\r\n shallowEqual\r\n );\r\n\r\n return (\r\n \r\n {!isAuthorized ? (\r\n /*Render auth page when user at `/auth` and not authorized.*/\r\n \r\n \r\n \r\n ) : (\r\n /*Otherwise redirect to root page (`/`)*/\r\n \r\n )}\r\n\r\n \r\n \r\n \r\n \r\n\r\n {!isAuthorized ? (\r\n /*Redirect to `/auth` when user is not authorized*/\r\n \r\n ) : (\r\n \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n )}\r\n
    \r\n );\r\n}\r\n","import React, { useState, useEffect } from \"react\";\r\nimport packageJson from \"../package.json\";\r\nimport moment from \"moment\";\r\n\r\nconst buildDateGreaterThan = (latestDate, currentDate) => {\r\n const momLatestDateTime = moment(latestDate);\r\n const momCurrentDateTime = moment(currentDate);\r\n\r\n return false;\r\n if (momLatestDateTime.isAfter(momCurrentDateTime)) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n};\r\n\r\nfunction withClearCache(Component) {\r\n function ClearCacheComponent(props) {\r\n const [isLatestBuildDate, setIsLatestBuildDate] = useState(false);\r\n\r\n useEffect(() => {\r\n fetch(\"/meta.json\")\r\n .then((response) => response.json())\r\n .then((meta) => {\r\n const latestVersionDate = meta.buildDate;\r\n const currentVersionDate = packageJson.buildDate;\r\n\r\n const shouldForceRefresh = buildDateGreaterThan(\r\n latestVersionDate,\r\n currentVersionDate\r\n );\r\n if (shouldForceRefresh) {\r\n setIsLatestBuildDate(false);\r\n refreshCacheAndReload();\r\n } else {\r\n setIsLatestBuildDate(true);\r\n }\r\n });\r\n }, []);\r\n\r\n const refreshCacheAndReload = () => {\r\n if (caches) {\r\n // Service worker cache should be cleared with caches.delete()\r\n caches.keys().then((names) => {\r\n for (const name of names) {\r\n caches.delete(name);\r\n }\r\n });\r\n }\r\n // delete browser cache and hard reload\r\n window.location.reload(true);\r\n };\r\n\r\n return (\r\n \r\n {isLatestBuildDate ? : null}\r\n \r\n );\r\n }\r\n\r\n return ClearCacheComponent;\r\n}\r\n\r\nexport default withClearCache;\r\n","/**\r\n * Entry application component used to compose providers and render Routes.\r\n * */\r\n\r\nimport React from \"react\";\r\nimport { Provider } from \"react-redux\";\r\nimport { BrowserRouter } from \"react-router-dom\";\r\nimport { PersistGate } from \"redux-persist/integration/react\";\r\nimport { Routes } from \"../app/Routes\";\r\nimport { I18nProvider } from \"../_metronic/i18n\";\r\nimport { LayoutSplashScreen, MaterialThemeProvider } from \"../_metronic/layout\";\r\nimport { Notification } from \"./modules/Notification\";\r\nimport withClearCache from \"../ClearCache\";\r\nimport ReactGA from 'react-ga';\r\nconst TRACKING_ID = \"UA-228436734-1\"; // OUR_TRACKING_ID\r\nReactGA.initialize(TRACKING_ID);\r\nconst ClearCacheComponent = withClearCache(MainApp);\r\n\r\nfunction MainApp() {\r\n return (\r\n \r\n {/* Render routes with provided `Layout`. */}\r\n \r\n \r\n \r\n )\r\n}\r\n\r\nfunction App({ store, persistor, basename }) {\r\n return (\r\n /* Provide Redux store */\r\n \r\n {/* Asynchronously persist redux stores and show `SplashScreen` while it's loading. */}\r\n }>\r\n {/* Add high level `Suspense` in case if was not handled inside the React tree. */}\r\n }>\r\n {/* Override `basename` (e.g: `homepage` in `package.json`) */}\r\n \r\n {/*This library only returns the location that has been active before the recent location change in the current window lifetime.*/}\r\n \r\n {/* Provide `react-intl` context synchronized with Redux state. */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n\r\nexport default App;\r\n","export default function setupAxios(axios, store) {\r\n axios.interceptors.request.use(\r\n config => {\r\n const {\r\n auth: { authToken }\r\n } = store.getState();\r\n\r\n if (authToken) {\r\n config.headers.Authorization = `Bearer ${authToken}`;\r\n }\r\n\r\n return config;\r\n },\r\n err => Promise.reject(err)\r\n );\r\n}\r\n","import MockAdapter from \"axios-mock-adapter\";\r\nimport mockAuth from \"../../app/modules/Auth/__mocks__/mockAuth\";\r\nimport mockManageZoneBilling from \"../../app/modules/eMPower/__mocks__/mockManageZoneBilling\";\r\nimport mockManageSmartParcelCarriers from \"../../app/modules/eMPower/__mocks__/mockManageSmartParcelCarriers\";\r\nimport mockRecurringStorageCharges from \"../../app/modules/eMPower/__mocks__/mockRecurringStorageCharges\";\r\nimport mockMovableUnits from \"../../app/modules/eMPower/__mocks__/mockMovableUnits\";\r\nimport mockNotes from \"../../app/modules/eMPower/__mocks__/mockNotes\";\r\nimport mockManageServices from \"../../app/modules/eMPower/__mocks__/mockManageServices\";\r\nimport mockManageTrackingDevices from \"../../app/modules/eMPower/__mocks__/mockManageTrackingDevices\";\r\nimport mockManageModes from \"../../app/modules/eMPower/__mocks__/mockManageModes\";\r\nimport mockManageEquipmentsType from \"../../app/modules/eMPower/__mocks__/mockManageEquipmentsType\";\r\nimport mockManageServiceLevels from \"../../app/modules/eMPower/__mocks__/mockManageServiceLevels\";\r\nimport mockCustomers from \"../../app/modules/eMPower/__mocks__/mockCustomer\";\r\nimport mockAssignments from \"../../app/modules/eMPower/__mocks__/mockAssignments\";\r\nimport mockCommodities from \"../../app/modules/eMPower/__mocks__/mockCommodities\";\r\nimport mockClassifications from \"../../app/modules/eMPower/__mocks__/mockClassifications\";\r\nimport mockPurchaseOrders from \"../../app/modules/eMPower/__mocks__/mockPurchaseOrders\";\r\nimport mockManageCustomer from \"../../app/modules/eMPower/__mocks__/mockManageCustomer\";\r\nimport mockManageWarehouse from \"../../app/modules/eMPower/__mocks__/mockManageWarehouse\";\r\nimport mockpackingSlipTemplates from \"../../app/modules/eMPower/__mocks__/mockpackingSlipTemplates\";\r\nimport mockUsers from \"../../app/modules/eMPower/__mocks__/mockUsers\";\r\nimport mockManageRoles from \"../../app/modules/eMPower/__mocks__/mockManageRoles\";\r\nimport mockManageUserGroups from \"../../app/modules/eMPower/__mocks__/mockManageUserGroups\";\r\nimport mockProducts from \"../../app/modules/eMPower/__mocks__/mockProduct\";\r\nimport mockRemarks from \"../../app/modules/eMPower/__mocks__/mockRemark\";\r\nimport mockSpecifications from \"../../app/modules/eMPower/__mocks__/mockSpecification\";\r\nimport mockManageCarrierAccount from \"../../app/modules/eMPower/__mocks__/mockManageCarrierAccounts\";\r\nimport mockLocationBilling from \"../../app/modules/eMPower/__mocks__/mockLocationBilling\";\r\nimport mockCustomLabels from \"../../app/modules/eMPower/__mocks__/mockCustomLabels\";\r\nimport mockEmpowerCMS from \"../../app/modules/eMPower/__mocks__/mockEmpowerCMS\";\r\nimport mockCarriers from \"../../app/modules/eMPower/__mocks__/mockCarriers\";\r\nimport mockServiceManageCarriers from \"../../app/modules/eMPower/__mocks__/mockServiceManageCarriers\";\r\nimport mockFreezeTransactions from \"../../app/modules/eMPower/__mocks__/mockFreezeTransactions\";\r\nimport mockManageTPLScale from \"../../app/modules/eMPower/__mocks__/mockManageTPLScale\";\r\nimport mockFindOrders from \"../../app/modules/eMPower/__mocks__/mockFindOrders\";\r\nimport mockFindReceipts from \"../../app/modules/eMPower/__mocks__/mockFindReceipts\";\r\nimport mockManageLocations from \"../../app/modules/eMPower/__mocks__/mockManageLocations\";\r\nimport mockManageItems from \"../../app/modules/eMPower/__mocks__/mockManageItems\";\r\nimport mockPurchaseLineItems from \"../../app/modules/eMPower/__mocks__/mockPurchaseLineItems\";\r\nimport mockImportContacts from \"../../app/modules/eMPower/__mocks__/mockImportContacts\";\r\nimport mockReceipts from \"../../app/modules/eMPower/__mocks__/mockReceipts\";\r\nimport mockIgnoreSkus from \"../../app/modules/eMPower/__mocks__/mockIgnoreSkus\";\r\nimport mockCompanyInfo from \"../../app/modules/eMPower/__mocks__/mockCompanyInfo\";\r\nimport mockCustomFields from \"../../app/modules/eMPower/__mocks__/mockCustomFields\";\r\nimport mockManageSuppliers from \"../../app/modules/eMPower/__mocks__/mockManageSuppliers\";\r\nimport mockFindOrdersTransload from \"../../app/modules/eMPower/__mocks__/Transload/mockFindOrders\";\r\nimport mockContainers from \"../../app/modules/eMPower/__mocks__/Transload/mockContainers\";\r\nimport mockTransactionBillingShipping from \"../../app/modules/eMPower/__mocks__/mockTransactionBillingShipping\";\r\nimport mockTransactionBilling from \"../../app/modules/eMPower/__mocks__/mockTransactionBilling\";\r\nimport mockTMSLoadBoard from \"../../app/modules/eMPower/__mocks__/mockTMSLoadBoard\";\r\nimport mockZoneBilling from \"../../app/modules/eMPower/__mocks__/mockZoneBilling\";\r\nimport mockOrderReceiver from \"../../app/modules/eMPower/__mocks__/mockOrderReceiver\";\r\nimport mockBillingManual from \"../../app/modules/eMPower/__mocks__/mockBillingManual\";\r\nimport mockLocStorageRates from \"../../app/modules/eMPower/__mocks__/mockLocStorageRates\";\r\nimport mockReceiptItems from \"../../app/modules/eMPower/__mocks__/mockReceiptItems\";\r\nimport mockReceiptCustomFields from \"../../app/modules/eMPower/__mocks__/mockReceiptCustomFields\";\r\nimport mockOrderLineItems from \"../../app/modules/eMPower/__mocks__/mockOrderLineItems\";\r\nimport mockOrdercharges from \"../../app/modules/eMPower/__mocks__/mockOrdercharges\";\r\nimport mockOrderCustomFields from \"../../app/modules/eMPower/__mocks__/mockOrderCustomFields\";\r\nimport mockReceiptcharges from \"../../app/modules/eMPower/__mocks__/mockReceiptcharges\";\r\nimport mockTransloadReceiving from \"../../app/modules/eMPower/__mocks__/Transload/mockTransloadReceiving\";\r\nimport mockManageAddress from \"../../app/modules/eMPower/__mocks__/Transload/mockManageAddress\";\r\nimport mockManageEquipments from \"../../app/modules/eMPower/__mocks__/Transload/mockManageEquipments\";\r\nimport mockVesselVoyage from \"../../app/modules/eMPower/__mocks__/Transload/mockVesselVoyage\";\r\nimport mockVesselVoyageBeta from \"../../app/modules/eMPower/__mocks__/Transload/mockVesselVoyageBeta\";\r\nimport mockManageContacts from \"../../app/modules/eMPower/__mocks__/Transload/mockManageContacts\";\r\nimport mockManageUOM from \"../../app/modules/eMPower/__mocks__/Transload/mockManageUOM\";\r\nimport mockFindShipments from \"../../app/modules/eMPower/__mocks__/mockFindShipments\";\r\nimport mockManageLSPCarrier from \"../../app/modules/eMPower/__mocks__/mockManageLSPCarrier\";\r\nimport mockAttachments from \"../../app/modules/eMPower/__mocks__/mockAttachments\";\r\nimport mockContactInformation from \"../../app/modules/eMPower/__mocks__/mockContactInformation\";\r\nimport mockInsuranceInformation from \"../../app/modules/eMPower/__mocks__/mockInsuranceInformation\";\r\nimport mockVessels from \"../../app/modules/eMPower/__mocks__/Transload/mockVessels\";\r\nimport mockManageRates from \"../../app/modules/eMPower/__mocks__/mockManageRates\";\r\nimport mockAddInventory from \"../../app/modules/eMPower/__mocks__/mockAddInventory\";\r\nimport mockAllOrderBeta from \"../../app/modules/eMPower/__mocks__/mockAllOrdersBeta\";\r\nimport mockAllOrderBetaTMS from \"../../app/modules/eMPower/__mocks__/mockAllOrdersBetaTMS\";\r\nimport mockReceiptsManagmentNewVersion from \"../../app/modules/eMPower/__mocks__/mockReceiptsManagmentNewVersion\";\r\nimport mockCustomerProfileRating from \"../../app/modules/eMPower/__mocks__/mockCustomerProfileRating\";\r\nimport mockCarrierProfileRating from \"../../app/modules/eMPower/__mocks__/mockCarrierProfileRating\";\r\nimport mockManageQuotes from \"../../app/modules/eMPower/__mocks__/mockManageQuotes\";\r\nimport mockManageQuotesCarriers from \"../../app/modules/eMPower/__mocks__/mockManageQuotesCarriers\";\r\nimport mockTransportationItems from \"../../app/modules/eMPower/__mocks__/Transload/mockTransportationItems\";\r\nimport mockManageTripsManagement from \"../../app/modules/eMPower/__mocks__/mockManageTripsManagement\";\r\nimport mockPickUpManagement from \"../../app/modules/eMPower/__mocks__/mockPickUpManagement\";\r\nimport mockPoBillingManagement from \"../../app/modules/eMPower/__mocks__/mockPoBillingManagement\";\r\nimport mockManageGlAccounts from \"../../app/modules/eMPower/__mocks__/mockManageGlAccounts\";\r\nimport mockManageGlAccountsSage from \"../../app/modules/eMPower/__mocks__/mockManageGlAccountsSage\";\r\nimport mockLulusProcess from \"../../app/modules/eMPower/__mocks__/mockLulusProcess\";\r\nimport mockManageCmsNews from \"../../app/modules/eMPower/__mocks__/mockManageCmsNews\";\r\nimport mockPalletsManagment from \"../../app/modules/eMPower/__mocks__/mockPalletsManagment\";\r\nimport mockPalletsManagmentBeta from \"../../app/modules/eMPower/__mocks__/mockPalletsManagmentBeta\";\r\nimport mockPickUpBillingManagement from \"../../app/modules/eMPower/__mocks__/mockPickUpBillingManagement\";\r\nimport mockReleaseNotes from \"../../app/modules/eMPower/__mocks__/mockReleaseNotes\";\r\nimport mocksynchronizeProcess from \"../../app/modules/eMPower/__mocks__/mocksynchronizeProcess\";\r\nimport mocksynchronizeProcess2 from \"../../app/modules/eMPower/__mocks__/mockSynchronizeProcess2\";\r\nimport mockTriniumCodes from \"../../app/modules/eMPower/__mocks__/mockTriniumCodes\";\r\nimport mockTriniumCodes2 from \"../../app/modules/eMPower/__mocks__/mockTriniumCodes2\";\r\nimport mockPerMiles from \"../../app/modules/eMPower/__mocks__/mockPerMiles\";\r\nimport mockRegions from \"../../app/modules/eMPower/__mocks__/mockRegions\";\r\n\r\nexport default function mockAxios(axios) {\r\n const mock = new MockAdapter(axios, { delayResponse: 300 });\r\n\r\n mockContainers(mock);\r\n mockFindShipments(mock);\r\n mockFindOrdersTransload(mock);\r\n mockTransloadReceiving(mock);\r\n mockTransportationItems(mock);\r\n mockManageSuppliers(mock);\r\n mockCustomFields(mock);\r\n mockIgnoreSkus(mock);\r\n mockManageItems(mock);\r\n mockFindOrders(mock);\r\n mockFindReceipts(mock);\r\n mockManageLocations(mock);\r\n mockpackingSlipTemplates(mock);\r\n mockAuth(mock);\r\n mockCustomers(mock);\r\n mockAssignments(mock);\r\n mockCommodities(mock);\r\n mockClassifications(mock);\r\n mockManageWarehouse(mock);\r\n mockUsers(mock);\r\n mockManageCustomer(mock);\r\n mockProducts(mock);\r\n mockRemarks(mock);\r\n mockSpecifications(mock);\r\n mockManageRoles(mock);\r\n mockManageCarrierAccount(mock);\r\n mockLocationBilling(mock);\r\n mockManageZoneBilling(mock);\r\n mockManageSmartParcelCarriers(mock);\r\n mockRecurringStorageCharges(mock);\r\n mockMovableUnits(mock);\r\n mockManageServices(mock);\r\n mockManageTrackingDevices(mock);\r\n mockManageModes(mock);\r\n mockManageEquipmentsType(mock);\r\n mockManageServiceLevels(mock);\r\n mockCustomLabels(mock);\r\n mockEmpowerCMS(mock);\r\n mockManageTPLScale(mock);\r\n mockCarriers(mock);\r\n mockFreezeTransactions(mock);\r\n mockPurchaseLineItems(mock);\r\n mockPurchaseOrders(mock);\r\n mockImportContacts(mock);\r\n mockReceipts(mock);\r\n mockServiceManageCarriers(mock);\r\n mockCompanyInfo(mock);\r\n mockTransactionBilling(mock);\r\n mockTMSLoadBoard(mock);\r\n mockTransactionBillingShipping(mock);\r\n mockZoneBilling(mock);\r\n mockOrderReceiver(mock);\r\n mockBillingManual(mock);\r\n mockLocStorageRates(mock);\r\n mockReceiptItems(mock);\r\n mockReceiptCustomFields(mock);\r\n mockOrderLineItems(mock);\r\n mockManageAddress(mock);\r\n mockManageEquipments(mock);\r\n mockOrdercharges(mock);\r\n mockReceiptcharges(mock);\r\n mockOrderCustomFields(mock);\r\n mockVesselVoyage(mock);\r\n mockManageContacts(mock);\r\n mockManageUOM(mock);\r\n mockManageLSPCarrier(mock);\r\n mockAttachments(mock);\r\n mockContactInformation(mock);\r\n mockInsuranceInformation(mock);\r\n mockVessels(mock);\r\n mockManageRates(mock);\r\n mockAddInventory(mock);\r\n mockAllOrderBeta(mock);\r\n mockAllOrderBetaTMS(mock);\r\n mockReceiptsManagmentNewVersion(mock);\r\n mockCustomerProfileRating(mock);\r\n mockCarrierProfileRating(mock);\r\n mockManageQuotes(mock);\r\n mockManageQuotesCarriers(mock);\r\n mockManageTripsManagement(mock);\r\n mockPickUpManagement(mock);\r\n mockManageGlAccounts(mock);\r\n mockManageGlAccountsSage(mock);\r\n mockManageCmsNews(mock);\r\n mockLulusProcess(mock);\r\n mockPickUpBillingManagement(mock);\r\n mockPoBillingManagement(mock);\r\n mockPalletsManagment(mock);\r\n mockPalletsManagmentBeta(mock);\r\n mockReleaseNotes(mock);\r\n mocksynchronizeProcess(mock);\r\n mocksynchronizeProcess2(mock);\r\n mockNotes(mock);\r\n mockTriniumCodes(mock);\r\n mockTriniumCodes2(mock);\r\n mockManageUserGroups(mock);\r\n mockVesselVoyageBeta(mock);\r\n mockPerMiles(mock);\r\n mockRegions(mock);\r\n return mock;\r\n}\r\n","/**\r\n * Empower Data Logistics App\r\n */\r\nimport \"react-app-polyfill/ie11\";\r\nimport \"react-app-polyfill/stable\";\r\nimport React from \"react\";\r\nimport ReactDOM from \"react-dom\";\r\nimport axios from \"axios\";\r\nimport * as _redux from \"./redux\";\r\nimport moment from \"moment\";\r\nimport store, { persistor } from \"./redux/store\";\r\nimport App from \"./app/App\";\r\nimport \"./index.scss\";\r\nimport \"./_metronic/_assets/plugins/keenthemes-icons/font/ki.css\";\r\nimport \"socicon/css/socicon.css\";\r\nimport \"@fortawesome/fontawesome-free/css/all.min.css\";\r\nimport \"./_metronic/_assets/plugins/flaticon/flaticon.css\";\r\nimport \"./_metronic/_assets/plugins/flaticon2/flaticon.css\";\r\nimport \"react-datepicker/dist/react-datepicker.css\";\r\nimport {\r\n MetronicLayoutProvider,\r\n MetronicSplashScreenProvider,\r\n MetronicSubheaderProvider,\r\n} from \"./_metronic/layout\";\r\nimport { MetronicI18nProvider } from \"./_metronic/i18n\";\r\n\r\nconst { PUBLIC_URL } = process.env;\r\n\r\n_redux.mockAxios(axios);\r\n_redux.setupAxios(axios, store);\r\nwindow.shipmentEditCommingFrom = \"\";\r\nwindow.receiptEditCommingFrom = \"\";\r\nwindow.TMSEditSOCommingFrom = \"\";\r\nwindow.activeTab = \"\";\r\nwindow.$isFromGlobalSearch = false;\r\nwindow.$apiurl = process.env.REACT_APP_APIURL;\r\nwindow.$GoogleMapsKey = process.env.REACT_APP_GoogleMapsKey;\r\n\r\nwindow.$BuildVersion = process.env.REACT_APP_VERSION;\r\nwindow.$timezone = \"08:00\";\r\nwindow.$ShipmentManagementStatus = \"\";\r\nwindow.$ShipmentManagementTMSStatus = \"\";\r\nwindow.$ShipmentManagementStatusName = \"All\";\r\nwindow.$ShipmentManagementTMSStatusName = \"All\";\r\nwindow.$ShipmentManagementType = \"\";\r\nwindow.$ShipmentManagementTMSType = \"\";\r\nwindow.$ShipmentManagementexception = \"\";\r\nwindow.$ShipmentManagementServiceId = 6;\r\nwindow.$ShipmentManagementTMSServiceId = 6;\r\nwindow.$ReceiptManagementServiceId = 19;\r\nwindow.$ShipmentManagementServiceName = \"Domestic Transportation\";\r\nwindow.$ShipmentManagementTMSServiceName = \"Domestic Transportation\";\r\nwindow.$ReceiptManagementServiceName = \"Drayage / Transload\";\r\nwindow.$ShipmentManagementModeId = 3;\r\nwindow.$ShipmentManagementTMSModeId = 1;\r\nwindow.$ReceiptManagementModeId = 24;\r\nwindow.$ShipmentManagementModeName = \"OTR (Over The Road)\";\r\nwindow.$ShipmentManagementTMSModeName = \"LTL\";\r\nwindow.$ReceiptManagementModeName = \"Import\";\r\nwindow.$ReceiptManagementCustomerName = \"\";\r\nwindow.$ReceiptManagementCustomerId = \"\";\r\nwindow.$CustomerIdsSm = \"?customerId=\";\r\nwindow.$ShipmentManagementServiceLevelId = \"\";\r\nwindow.$SmGsearchText = \"\";\r\nwindow.$ShipmentManagementServiceLevelName = \"\";\r\nwindow.$ShipmentManagementCustomerId = \"\";\r\nwindow.$ShipmentManagementCustomerName = \"\";\r\nwindow.$ShipmentManagementHot = \"false\";\r\nwindow.$ShipmentManagementHazmat = \"false\";\r\nwindow.$ShipmentManagementHeavy = \"false\";\r\nwindow.$ShipmentManagementCanceled = false;\r\nwindow.$ShipmentManagementClosed = false;\r\nwindow.AllPosStatus = \"\";\r\nwindow.$SmGsearchStartDate = moment()\r\n .add(-28, \"days\")\r\n .format(\"YYYY-MM-DD\");\r\ntry {\r\n document.onkeydown = function(evt) {\r\n evt = evt || window.event;\r\n if (evt.ctrlKey && evt.keyCode === 81) {\r\n document.querySelector(\".searchClickEvent\").click();\r\n document.getElementById(\"globalSearchInput\").focus();\r\n }\r\n };\r\n} catch (err) {}\r\n\r\n//VV\r\nwindow.$VVExceptions = \"\";\r\nwindow.$RefreshTMSLoadBoaed = false;\r\n//RM\r\nwindow.$RmStatusName = \"All\";\r\nwindow.$RmModeName = \"Import\";\r\nwindow.$RmServiceName = \"Drayage / Transload\";\r\nwindow.$RmHot = \"false\";\r\nwindow.$RmHazmat = \"false\";\r\nwindow.$RmCanceled = false;\r\n//******************************/\r\nwindow.$ShipmentAsideMenuClick = \"\";\r\nwindow.$RefrichshipmentStatus = \"\";\r\nwindow.$QuotesManagmentStatu = \"\";\r\nwindow.shipmentCount = \"\";\r\nwindow.$ReceiptsManagmentExceptions = \"\";\r\n//////////////PickUp Management//////////////////\r\nwindow.$PickUpManagementStatus = \"\";\r\nwindow.$RefrichPickUpStatus = \"\";\r\nwindow.$pickUpMgtType = \"PICKUP\";\r\nwindow.$pickUpMgtIsSent = false;\r\nwindow.StatusBillingPickUpManagement = 50;\r\nwindow.ExceprionsStatusBillingPickUpManagement = \"\";\r\n////////////palletManagement//////\r\nwindow.$PalletManagementsearchText = \"\";\r\n////////////CMSManagement//////\r\nwindow.$CMSManagementsearchText = \"\";\r\n//////////pickUpManagement///////////\r\nwindow.$PickUpsManagementsearchText = \"\";\r\n//window.shipmentExceptions = \"\";\r\nwindow.NotifyRMEmptycontainer = false;\r\nwindow.reportingGraph = {};\r\nwindow.ShipmentStatus = \"\";\r\nwindow.VendorListCapasityLB = [];\r\nReactDOM.render(\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ,\r\n document.getElementById(\"root\")\r\n);\r\n","/* eslint-disable no-unused-vars */\r\nimport React, {\r\n useEffect,\r\n useContext,\r\n createContext,\r\n useState,\r\n useCallback,\r\n} from \"react\";\r\nimport { isEqual, isFunction } from \"lodash\";\r\nimport { initialFilter } from \"./RemarksUIHelper\";\r\n\r\nconst RemarksUIContext = createContext();\r\n\r\nexport function useRemarksUIContext() {\r\n return useContext(RemarksUIContext);\r\n}\r\n\r\nexport const RemarksUIConsumer = RemarksUIContext.Consumer;\r\n\r\nexport function ReceivingUIProvider({\r\n currentProductId,\r\n children,\r\n shipmentObject,\r\n}) {\r\n const [productId, setProductId] = useState(currentProductId);\r\n const [queryParams, setQueryParamsBase] = useState(initialFilter);\r\n const [ids, setIds] = useState([]);\r\n const setQueryParams = useCallback((nextQueryParams) => {\r\n setQueryParamsBase((prevQueryParams) => {\r\n if (isFunction(nextQueryParams)) {\r\n nextQueryParams = nextQueryParams(prevQueryParams);\r\n }\r\n\r\n if (isEqual(prevQueryParams, nextQueryParams)) {\r\n return prevQueryParams;\r\n }\r\n\r\n return nextQueryParams;\r\n });\r\n }, []);\r\n const [selectedId, setSelectedId] = useState(null);\r\n const [showEditRemarkDialog, setShowEditRemarkDialog] = useState(false);\r\n window.$ShipmentId = shipmentObject?.Id;\r\n const initRemark = {\r\n id: undefined,\r\n PurchaseOrder: \"\",\r\n Sku: \"\",\r\n CubeType: \"CBM\",\r\n WeightType: \"KGS\",\r\n TotalCubeType2:\"CBM\",\r\n TotalWeightType2:\"KGS\",\r\n Pieces: 1,\r\n UnitCount: 0,\r\n Weight: 1,\r\n Cube: 1,\r\n IsHazardousMateriel: false,\r\n IsHot: false,\r\n UnNumber: \"\",\r\n PackagingGroup: null,\r\n HazardClass: null,\r\n PieceDescription: \"\",\r\n EmergencyContactNumber: \"\",\r\n CFTCube: \"\",\r\n LBSWeight: \"\",\r\n };\r\n useEffect(() => {\r\n initRemark.productId = currentProductId;\r\n initRemark.carId = currentProductId;\r\n setProductId(currentProductId);\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [currentProductId]);\r\n const openNewRemarkDialog = () => {\r\n setSelectedId(undefined);\r\n setShowEditRemarkDialog(true);\r\n };\r\n const openEditRemarkDialog = (id) => {\r\n setSelectedId(id);\r\n setShowEditRemarkDialog(true);\r\n };\r\n const closeEditRemarkDialog = () => {\r\n setSelectedId(undefined);\r\n setShowEditRemarkDialog(false);\r\n };\r\n const [showDeleteRemarkDialog, setShowDeleteRemarkDialog] = useState(false);\r\n const openDeleteRemarkDialog = (id) => {\r\n setSelectedId(id);\r\n setShowDeleteRemarkDialog(true);\r\n };\r\n const closeDeleteRemarkDialog = () => {\r\n setSelectedId(undefined);\r\n setShowDeleteRemarkDialog(false);\r\n };\r\n\r\n const [showDeleteRemarksDialog, setShowDeleteRemarksDialog] = useState(false);\r\n const openDeleteRemarksDialog = () => {\r\n setShowDeleteRemarksDialog(true);\r\n };\r\n const closeDeleteRemarksDialog = () => {\r\n setShowDeleteRemarksDialog(false);\r\n };\r\n\r\n const [showFetchRemarksDialog, setShowFetchRemarksDialog] = useState(false);\r\n const openFetchRemarksDialog = () => {\r\n setShowFetchRemarksDialog(true);\r\n };\r\n const closeFetchRemarksDialog = () => {\r\n setShowFetchRemarksDialog(false);\r\n };\r\n\r\n const value = {\r\n ids,\r\n setIds,\r\n productId,\r\n setProductId,\r\n queryParams,\r\n setQueryParams,\r\n initRemark,\r\n selectedId,\r\n showEditRemarkDialog,\r\n openNewRemarkDialog,\r\n openEditRemarkDialog,\r\n closeEditRemarkDialog,\r\n showDeleteRemarkDialog,\r\n openDeleteRemarkDialog,\r\n closeDeleteRemarkDialog,\r\n showDeleteRemarksDialog,\r\n openDeleteRemarksDialog,\r\n closeDeleteRemarksDialog,\r\n openFetchRemarksDialog,\r\n closeFetchRemarksDialog,\r\n showFetchRemarksDialog,\r\n };\r\n\r\n return (\r\n \r\n {children}\r\n \r\n );\r\n}\r\n","import axios from \"axios\";\r\n\r\nexport const CUSTOMERS_URL = \"api/ManageServices\";\r\n\r\n// CREATE => POST: add a new customer to the server\r\nexport function createCustomer(customer) {\r\n return axios.post(CUSTOMERS_URL, { customer });\r\n}\r\n\r\n// READ\r\nexport function getAllCustomers() {\r\n return axios.get(CUSTOMERS_URL);\r\n}\r\n\r\nexport function getCustomerById(customerId) {\r\n return axios.get(`${CUSTOMERS_URL}/${customerId}`);\r\n}\r\n\r\n// Method from server should return QueryResultsModel(items: any[], totalsCount: number)\r\n// items => filtered/sorted result\r\nexport function findCustomers(queryParams) {\r\n return axios.post(`${CUSTOMERS_URL}/find`, { queryParams });\r\n}\r\n\r\n// UPDATE => PUT: update the customer on the server\r\nexport function updateCustomer(customer) {\r\n return axios.put(`${CUSTOMERS_URL}/${customer.Id}`, { customer });\r\n}\r\n\r\n// UPDATE Status\r\nexport function updateStatusForCustomers(ids, status) {\r\n return axios.post(`${CUSTOMERS_URL}/updateStatusForCustomers`, {\r\n ids,\r\n status\r\n });\r\n}\r\n\r\n// DELETE => delete the customer from the server\r\nexport function deleteCustomer(customerId) {\r\n return axios.delete(`${CUSTOMERS_URL}/${customerId}`);\r\n}\r\n\r\n// DELETE Customers by ids\r\nexport function deleteCustomers(ids) {\r\n return axios.post(`${CUSTOMERS_URL}/deleteCustomers`, { ids });\r\n}\r\n","import {createSlice} from \"@reduxjs/toolkit\";\r\n\r\nconst initialCustomersState = {\r\n listLoading: false,\r\n actionsLoading: false,\r\n totalCount: 0,\r\n entities: null,\r\n customerForEdit: undefined,\r\n lastError: null\r\n};\r\nexport const callTypes = {\r\n list: \"list\",\r\n action: \"action\"\r\n};\r\n\r\nexport const customersSlice = createSlice({\r\n name: \"customers\",\r\n initialState: initialCustomersState,\r\n reducers: {\r\n catchError: (state, action) => {\r\n state.error = `${action.type}: ${action.payload.error}`;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = false;\r\n } else {\r\n state.actionsLoading = false;\r\n }\r\n },\r\n startCall: (state, action) => {\r\n state.error = null;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = true;\r\n } else {\r\n state.actionsLoading = true;\r\n }\r\n },\r\n // getCustomerById\r\n customerFetched: (state, action) => {\r\n state.actionsLoading = false;\r\n state.customerForEdit = action.payload.customerForEdit;\r\n state.error = null;\r\n },\r\n // findCustomers\r\n customersFetched: (state, action) => {\r\n const { totalCount, entities } = action.payload;\r\n state.listLoading = false;\r\n state.error = null;\r\n state.entities = entities;\r\n state.totalCount = totalCount;\r\n },\r\n // createCustomer\r\n customerCreated: (state, action) => {\r\n state.actionsLoading = false;\r\n state.error = null;\r\n state.entities.push(action.payload.customer);\r\n },\r\n // updateCustomer\r\n customerUpdated: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.map(entity => {\r\n if (entity.id === action.payload.customer.id) {\r\n return action.payload.customer;\r\n }\r\n return entity;\r\n });\r\n },\r\n // deleteCustomer\r\n customerDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(el => el.id !== action.payload.id);\r\n },\r\n // deleteCustomers\r\n customersDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(\r\n el => !action.payload.ids.includes(el.id)\r\n );\r\n },\r\n // customersUpdateState\r\n customersStatusUpdated: (state, action) => {\r\n state.actionsLoading = false;\r\n state.error = null;\r\n const { ids, status } = action.payload;\r\n state.entities = state.entities.map(entity => {\r\n if (ids.findIndex(id => id === entity.id) > -1) {\r\n entity.status = status;\r\n }\r\n return entity;\r\n });\r\n }\r\n }\r\n});\r\n","import * as requestFromServer from \"./customersCrud\";\r\nimport { customersSlice, callTypes } from \"./customersSlice\";\r\n\r\nconst { actions } = customersSlice;\r\n\r\nexport const fetchCustomers = queryParams => dispatch => {\r\n dispatch(actions.startCall({ callType: callTypes.list }));\r\n return requestFromServer\r\n .findCustomers(queryParams)\r\n .then(response => {\r\n const { totalCount, entities } = response.data;\r\n dispatch(actions.customersFetched({ totalCount, entities }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't find customers\";\r\n dispatch(actions.catchError({ error, callType: callTypes.list }));\r\n });\r\n};\r\n\r\nexport const fetchCustomer = id => dispatch => {\r\n if (!id) {\r\n return dispatch(actions.customerFetched({ customerForEdit: undefined }));\r\n }\r\n\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .getCustomerById(id)\r\n .then(response => {\r\n const customer = response.data;\r\n dispatch(actions.customerFetched({ customerForEdit: customer }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't find customer\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const deleteCustomer = id => dispatch => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .deleteCustomer(id)\r\n .then(response => {\r\n dispatch(actions.customerDeleted({ id }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't delete customer\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const createCustomer = customerForCreation => dispatch => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .createCustomer(customerForCreation)\r\n .then(response => {\r\n const { customer } = response.data;\r\n dispatch(actions.customerCreated({ customer }));\r\n document.getElementById(\"ReLoadTableId\").click();\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't create customer\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const updateCustomer = customer => dispatch => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .updateCustomer(customer)\r\n .then(() => {\r\n dispatch(actions.customerUpdated({ customer }));\r\n document.getElementById(\"ReLoadTableId\").click();\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't update customer\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const updateCustomersStatus = (ids, status) => dispatch => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .updateStatusForCustomers(ids, status)\r\n .then(() => {\r\n dispatch(actions.customersStatusUpdated({ ids, status }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't update customers status\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const deleteCustomers = ids => dispatch => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .deleteCustomers(ids)\r\n .then(() => {\r\n dispatch(actions.customersDeleted({ ids }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't delete customers\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n","import {createSlice} from \"@reduxjs/toolkit\";\r\n\r\nconst initialCustomersState = {\r\n listLoading: false,\r\n actionsLoading: false,\r\n totalCount: 0,\r\n entities: null,\r\n customerForEdit: undefined,\r\n lastError: null\r\n};\r\nexport const callTypes = {\r\n list: \"list\",\r\n action: \"action\"\r\n};\r\n\r\nexport const customersSlice = createSlice({\r\n name: \"customers\",\r\n initialState: initialCustomersState,\r\n reducers: {\r\n catchError: (state, action) => {\r\n state.error = `${action.type}: ${action.payload.error}`;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = false;\r\n } else {\r\n state.actionsLoading = false;\r\n }\r\n },\r\n startCall: (state, action) => {\r\n state.error = null;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = true;\r\n } else {\r\n state.actionsLoading = true;\r\n }\r\n },\r\n // getCustomerById\r\n customerFetched: (state, action) => {\r\n state.actionsLoading = false;\r\n state.customerForEdit = action.payload.customerForEdit;\r\n state.error = null;\r\n },\r\n // findCustomers\r\n customersFetched: (state, action) => {\r\n const { totalCount, entities } = action.payload;\r\n state.listLoading = false;\r\n state.error = null;\r\n state.entities = entities;\r\n state.totalCount = totalCount;\r\n },\r\n // createCustomer\r\n customerCreated: (state, action) => {\r\n state.actionsLoading = false;\r\n state.error = null;\r\n state.entities.push(action.payload.customer);\r\n },\r\n // updateCustomer\r\n customerUpdated: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.map(entity => {\r\n if (entity.id === action.payload.customer.id) {\r\n return action.payload.customer;\r\n }\r\n return entity;\r\n });\r\n },\r\n // deleteCustomer\r\n customerDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(el => el.id !== action.payload.id);\r\n },\r\n // deleteCustomers\r\n customersDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(\r\n el => !action.payload.ids.includes(el.id)\r\n );\r\n },\r\n // customersUpdateState\r\n customersStatusUpdated: (state, action) => {\r\n state.actionsLoading = false;\r\n state.error = null;\r\n const { ids, status } = action.payload;\r\n state.entities = state.entities.map(entity => {\r\n if (ids.findIndex(id => id === entity.id) > -1) {\r\n entity.status = status;\r\n }\r\n return entity;\r\n });\r\n }\r\n }\r\n});\r\n","import * as requestFromServer from \"./customersCrud\";\r\nimport {customersSlice, callTypes} from \"./customersSlice\";\r\n\r\nconst {actions} = customersSlice;\r\n\r\nexport const fetchCustomers = queryParams => dispatch => {\r\n dispatch(actions.startCall({ callType: callTypes.list }));\r\n return requestFromServer\r\n .findCustomers(queryParams)\r\n .then(response => {\r\n const { totalCount, entities } = response.data;\r\n dispatch(actions.customersFetched({ totalCount, entities }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't find customers\";\r\n dispatch(actions.catchError({ error, callType: callTypes.list }));\r\n });\r\n};\r\n\r\nexport const fetchCustomer = id => dispatch => {\r\n if (!id) {\r\n return dispatch(actions.customerFetched({ customerForEdit: undefined }));\r\n }\r\n\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .getCustomerById(id)\r\n .then(response => {\r\n const customer = response.data;\r\n dispatch(actions.customerFetched({ customerForEdit: customer }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't find customer\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const deleteCustomer = id => dispatch => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .deleteCustomer(id)\r\n .then(response => {\r\n dispatch(actions.customerDeleted({ id }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't delete customer\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const createCustomer = customerForCreation => dispatch => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .createCustomer(customerForCreation)\r\n .then(response => {\r\n const { customer } = response.data;\r\n dispatch(actions.customerCreated({ customer }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't create customer\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const updateCustomer = customer => dispatch => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .updateCustomer(customer)\r\n .then(() => {\r\n dispatch(actions.customerUpdated({ customer }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't update customer\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const updateCustomersStatus = (ids, status) => dispatch => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .updateStatusForCustomers(ids, status)\r\n .then(() => {\r\n dispatch(actions.customersStatusUpdated({ ids, status }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't update customers status\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const deleteCustomers = ids => dispatch => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .deleteCustomers(ids)\r\n .then(() => {\r\n dispatch(actions.customersDeleted({ ids }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't delete customers\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n","import axios from \"axios\";\r\n\r\nexport const CUSTOMERS_URL = \"api/ManageUOM\";\r\n\r\n// CREATE => POST: add a new customer to the server\r\nexport function createCustomer(customer) {\r\n return axios.post(CUSTOMERS_URL, { customer });\r\n}\r\n\r\n// READ\r\nexport function getAllCustomers() {\r\n return axios.get(CUSTOMERS_URL);\r\n}\r\n\r\nexport function getCustomerById(customerId) {\r\n return axios.get(`${CUSTOMERS_URL}/${customerId}`);\r\n}\r\n\r\n// Method from server should return QueryResultsModel(items: any[], totalsCount: number)\r\n// items => filtered/sorted result\r\nexport function findCustomers(queryParams) {\r\n return axios.post(`${CUSTOMERS_URL}/find`, { queryParams });\r\n}\r\n\r\n// UPDATE => PUT: update the customer on the server\r\nexport function updateCustomer(customer) {\r\n return axios.put(`${CUSTOMERS_URL}/${customer.id}`, { customer });\r\n}\r\n\r\n// UPDATE Status\r\nexport function updateStatusForCustomers(ids, status) {\r\n return axios.post(`${CUSTOMERS_URL}/updateStatusForCustomers`, {\r\n ids,\r\n status\r\n });\r\n}\r\n\r\n// DELETE => delete the customer from the server\r\nexport function deleteCustomer(customerId) {\r\n return axios.delete(`${CUSTOMERS_URL}/${customerId}`);\r\n}\r\n\r\n// DELETE Customers by ids\r\nexport function deleteCustomers(ids) {\r\n return axios.post(`${CUSTOMERS_URL}/deleteCustomers`, { ids });\r\n}\r\n","import moment from \"moment\";\r\nexport const CustomerStatusCssClasses = [\"danger\", \"success\", \"info\", \"\"];\r\nexport const CustomerStatusTitles = [\"Suspended\", \"Active\", \"Pending\", \"\"];\r\nexport const CustomerTypeCssClasses = [\"success\", \"primary\", \"\"];\r\nexport const CustomerTypeTitles = [\"Business\", \"Individual\", \"\"];\r\nexport const defaultSorted = [{ dataField: \"id\", order: \"desc\" }];\r\nexport const sizePerPageList = [\r\n { text: \"3\", value: 3 },\r\n { text: \"5\", value: 5 },\r\n { text: \"10\", value: 10 },\r\n];\r\nexport const initialFilter = {\r\n filter: {\r\n CustomerId: window.$ShipmentManagementCustomerId,\r\n DateRangeType: \"created\",\r\n startDate:(window.$SmGsearchStartDate),\r\n endDate:moment().format(\"YYYY-MM-DD\"),\r\n shipmentTypeId: \"\",\r\n Filter: window.$ShipmentManagementStatus,\r\n },\r\n sortOrder: \"desc\", // asc||desc\r\n sortField: \"id\",\r\n pageNumber: 1,\r\n pageSize: 10,\r\n};\r\n","/* eslint-disable */\r\n\"use strict\";\r\n\r\nimport PerfectScrollbar from \"perfect-scrollbar\";\r\n\r\nimport { KTCookie } from \"./cookie.js\";\r\n\r\n/**\r\n * @class KTUtil base utilize class that privides helper functions\r\n */\r\n\r\n// Polyfills\r\n/**\r\n * Element.matches() polyfill (simple version)\r\n * https://developer.mozilla.org/en-US/docs/Web/API/Element/matches#Polyfill\r\n */\r\nif (!Element.prototype.matches) {\r\n\tElement.prototype.matches = Element.prototype.msMatchesSelector || Element.prototype.webkitMatchesSelector;\r\n}\r\n\r\n/**\r\n * Element.closest() polyfill\r\n * https://developer.mozilla.org/en-US/docs/Web/API/Element/closest#Polyfill\r\n */\r\nif (!Element.prototype.closest) {\r\n\tif (!Element.prototype.matches) {\r\n\t\tElement.prototype.matches = Element.prototype.msMatchesSelector || Element.prototype.webkitMatchesSelector;\r\n\t}\r\n\tElement.prototype.closest = function (s) {\r\n\t\tvar el = this;\r\n\t\tvar ancestor = this;\r\n\t\tif (!document.documentElement.contains(el)) return null;\r\n\t\tdo {\r\n\t\t\tif (ancestor.matches(s)) return ancestor;\r\n\t\t\tancestor = ancestor.parentElement;\r\n\t\t} while (ancestor !== null);\r\n\t\treturn null;\r\n\t};\r\n}\r\n\r\n/**\r\n * ChildNode.remove() polyfill\r\n * https://gomakethings.com/removing-an-element-from-the-dom-the-es6-way/\r\n * @author Chris Ferdinandi\r\n * @license MIT\r\n */\r\n(function (elem) {\r\n\tfor (var i = 0; i < elem.length; i++) {\r\n\t\tif (!window[elem[i]] || 'remove' in window[elem[i]].prototype) continue;\r\n\t\twindow[elem[i]].prototype.remove = function () {\r\n\t\t\tthis.parentNode.removeChild(this);\r\n\t\t};\r\n\t}\r\n})(['Element', 'CharacterData', 'DocumentType']);\r\n\r\n//\r\n// requestAnimationFrame polyfill by Erik Möller.\r\n// With fixes from Paul Irish and Tino Zijdel\r\n//\r\n// http://paulirish.com/2011/requestanimationframe-for-smart-animating/\r\n// http://my.opera.com/emoller/blog/2011/12/20/requestanimationframe-for-smart-er-animating\r\n//\r\n// MIT license\r\n//\r\n(function() {\r\n var lastTime = 0;\r\n var vendors = ['webkit', 'moz'];\r\n for (var x = 0; x < vendors.length && !window.requestAnimationFrame; ++x) {\r\n window.requestAnimationFrame = window[vendors[x] + 'RequestAnimationFrame'];\r\n window.cancelAnimationFrame =\r\n window[vendors[x] + 'CancelAnimationFrame'] || window[vendors[x] + 'CancelRequestAnimationFrame'];\r\n }\r\n\r\n if (!window.requestAnimationFrame)\r\n window.requestAnimationFrame = function(callback) {\r\n var currTime = new Date().getTime();\r\n var timeToCall = Math.max(0, 16 - (currTime - lastTime));\r\n var id = window.setTimeout(function() {\r\n callback(currTime + timeToCall);\r\n }, timeToCall);\r\n lastTime = currTime + timeToCall;\r\n return id;\r\n };\r\n\r\n if (!window.cancelAnimationFrame)\r\n window.cancelAnimationFrame = function(id) {\r\n clearTimeout(id);\r\n };\r\n}());\r\n\r\n// Source: https://github.com/jserz/js_piece/blob/master/DOM/ParentNode/prepend()/prepend().md\r\n(function(arr) {\r\n arr.forEach(function(item) {\r\n if (item.hasOwnProperty('prepend')) {\r\n return;\r\n }\r\n Object.defineProperty(item, 'prepend', {\r\n configurable: true,\r\n enumerable: true,\r\n writable: true,\r\n value: function prepend() {\r\n var argArr = Array.prototype.slice.call(arguments),\r\n docFrag = document.createDocumentFragment();\r\n\r\n argArr.forEach(function(argItem) {\r\n var isNode = argItem instanceof Node;\r\n docFrag.appendChild(isNode ? argItem : document.createTextNode(String(argItem)));\r\n });\r\n\r\n this.insertBefore(docFrag, this.firstChild);\r\n }\r\n });\r\n });\r\n})([Element.prototype, Document.prototype, DocumentFragment.prototype]);\r\n\r\n// Global variables\r\nwindow.KTUtilElementDataStore = {};\r\nwindow.KTUtilElementDataStoreID = 0;\r\nwindow.KTUtilDelegatedEventHandlers = {};\r\n\r\nexport var KTUtil = function() {\r\n var resizeHandlers = [];\r\n\r\n /** @type {object} breakpoints The device width breakpoints **/\r\n var breakpoints = {\r\n sm: 544, // Small screen / phone\r\n md: 768, // Medium screen / tablet\r\n lg: 992, // Large screen / desktop\r\n xl: 1200 // Extra large screen / wide desktop\r\n };\r\n\r\n /**\r\n * Handle window resize event with some\r\n * delay to attach event handlers upon resize complete\r\n */\r\n var _windowResizeHandler = function() {\r\n var _runResizeHandlers = function() {\r\n // reinitialize other subscribed elements\r\n for (var i = 0; i < resizeHandlers.length; i++) {\r\n var each = resizeHandlers[i];\r\n each.call();\r\n }\r\n };\r\n\r\n var timer;\r\n\r\n window.addEventListener('resize', function() {\r\n KTUtil.throttle(timer, function() {\r\n _runResizeHandlers();\r\n }, 200);\r\n });\r\n };\r\n\r\n return {\r\n /**\r\n * Class main initializer.\r\n * @param {object} settings.\r\n * @returns null\r\n */\r\n //main function to initiate the theme\r\n init: function(settings) {\r\n if (settings && settings.breakpoints) {\r\n breakpoints = settings.breakpoints;\r\n }\r\n\r\n _windowResizeHandler();\r\n },\r\n\r\n /**\r\n * Adds window resize event handler.\r\n * @param {function} callback function.\r\n */\r\n addResizeHandler: function(callback) {\r\n resizeHandlers.push(callback);\r\n },\r\n\r\n /**\r\n * Removes window resize event handler.\r\n * @param {function} callback function.\r\n */\r\n removeResizeHandler: function(callback) {\r\n for (var i = 0; i < resizeHandlers.length; i++) {\r\n if (callback === resizeHandlers[i]) {\r\n delete resizeHandlers[i];\r\n }\r\n }\r\n },\r\n\r\n /**\r\n * Trigger window resize handlers.\r\n */\r\n runResizeHandlers: function() {\r\n _runResizeHandlers();\r\n },\r\n\r\n resize: function() {\r\n if (typeof(Event) === 'function') {\r\n // modern browsers\r\n window.dispatchEvent(new Event('resize'));\r\n } else {\r\n // for IE and other old browsers\r\n // causes deprecation warning on modern browsers\r\n var evt = window.document.createEvent('UIEvents');\r\n evt.initUIEvent('resize', true, false, window, 0);\r\n window.dispatchEvent(evt);\r\n }\r\n },\r\n\r\n /**\r\n * Get GET parameter value from URL.\r\n * @param {string} paramName Parameter name.\r\n * @returns {string}\r\n */\r\n getURLParam: function(paramName) {\r\n var searchString = window.location.search.substring(1),\r\n i, val, params = searchString.split(\"&\");\r\n\r\n for (i = 0; i < params.length; i++) {\r\n val = params[i].split(\"=\");\r\n if (val[0] == paramName) {\r\n return unescape(val[1]);\r\n }\r\n }\r\n\r\n return null;\r\n },\r\n\r\n /**\r\n * Checks whether current device is mobile touch.\r\n * @returns {boolean}\r\n */\r\n isMobileDevice: function() {\r\n return (this.getViewPort().width < this.getBreakpoint('lg') ? true : false);\r\n },\r\n\r\n /**\r\n * Checks whether current device is desktop.\r\n * @returns {boolean}\r\n */\r\n isDesktopDevice: function() {\r\n return KTUtil.isMobileDevice() ? false : true;\r\n },\r\n\r\n /**\r\n * Gets browser window viewport size. Ref:\r\n * http://andylangton.co.uk/articles/javascript/get-viewport-size-javascript/\r\n * @returns {object}\r\n */\r\n getViewPort: function() {\r\n var e = window,\r\n a = 'inner';\r\n if (!('innerWidth' in window)) {\r\n a = 'client';\r\n e = document.documentElement || document.body;\r\n }\r\n\r\n return {\r\n width: e[a + 'Width'],\r\n height: e[a + 'Height']\r\n };\r\n },\r\n\r\n /**\r\n * Checks whether given device mode is currently activated.\r\n * @param {string} mode Responsive mode name(e.g: desktop,\r\n * desktop-and-tablet, tablet, tablet-and-mobile, mobile)\r\n * @returns {boolean}\r\n */\r\n isInResponsiveRange: function(mode) {\r\n var breakpoint = this.getViewPort().width;\r\n\r\n if (mode == 'general') {\r\n return true;\r\n } else if (mode == 'desktop' && breakpoint >= (this.getBreakpoint('lg') + 1)) {\r\n return true;\r\n } else if (mode == 'tablet' && (breakpoint >= (this.getBreakpoint('md') + 1) && breakpoint < this.getBreakpoint('lg'))) {\r\n return true;\r\n } else if (mode == 'mobile' && breakpoint <= this.getBreakpoint('md')) {\r\n return true;\r\n } else if (mode == 'desktop-and-tablet' && breakpoint >= (this.getBreakpoint('md') + 1)) {\r\n return true;\r\n } else if (mode == 'tablet-and-mobile' && breakpoint <= this.getBreakpoint('lg')) {\r\n return true;\r\n } else if (mode == 'minimal-desktop-and-below' && breakpoint <= this.getBreakpoint('xl')) {\r\n return true;\r\n }\r\n\r\n return false;\r\n },\r\n\r\n\t\t/**\r\n * Checks whether given device mode is currently activated.\r\n * @param {string} mode Responsive mode name(e.g: desktop,\r\n * desktop-and-tablet, tablet, tablet-and-mobile, mobile)\r\n * @returns {boolean}\r\n */\r\n isBreakpointUp: function(mode) {\r\n var width = this.getViewPort().width;\r\n\t\t\tvar breakpoint = this.getBreakpoint(mode);\r\n\r\n\t\t\treturn (width >= breakpoint);\r\n },\r\n\r\n\t\tisBreakpointDown: function(mode) {\r\n var width = this.getViewPort().width;\r\n\t\t\tvar breakpoint = this.getBreakpoint(mode);\r\n\r\n\t\t\treturn (width < breakpoint);\r\n },\r\n\r\n\r\n /**\r\n * Generates unique ID for give prefix.\r\n * @param {string} prefix Prefix for generated ID\r\n * @returns {boolean}\r\n */\r\n getUniqueID: function(prefix) {\r\n return prefix + Math.floor(Math.random() * (new Date()).getTime());\r\n },\r\n\r\n /**\r\n * Gets window width for give breakpoint mode.\r\n * @param {string} mode Responsive mode name(e.g: xl, lg, md, sm)\r\n * @returns {number}\r\n */\r\n getBreakpoint: function(mode) {\r\n return breakpoints[mode];\r\n },\r\n\r\n /**\r\n * Checks whether object has property matchs given key path.\r\n * @param {object} obj Object contains values paired with given key path\r\n * @param {string} keys Keys path seperated with dots\r\n * @returns {object}\r\n */\r\n isset: function(obj, keys) {\r\n var stone;\r\n\r\n keys = keys || '';\r\n\r\n if (keys.indexOf('[') !== -1) {\r\n throw new Error('Unsupported object path notation.');\r\n }\r\n\r\n keys = keys.split('.');\r\n\r\n do {\r\n if (obj === undefined) {\r\n return false;\r\n }\r\n\r\n stone = keys.shift();\r\n\r\n if (!obj.hasOwnProperty(stone)) {\r\n return false;\r\n }\r\n\r\n obj = obj[stone];\r\n\r\n } while (keys.length);\r\n\r\n return true;\r\n },\r\n\r\n /**\r\n * Gets highest z-index of the given element parents\r\n * @param {object} el jQuery element object\r\n * @returns {number}\r\n */\r\n getHighestZindex: function(el) {\r\n var position, value;\r\n\r\n while (el && el !== document) {\r\n // Ignore z-index if position is set to a value where z-index is ignored by the browser\r\n // This makes behavior of this function consistent across browsers\r\n // WebKit always returns auto if the element is positioned\r\n position = KTUtil.css(el, 'position');\r\n\r\n if (position === \"absolute\" || position === \"relative\" || position === \"fixed\") {\r\n // IE returns 0 when zIndex is not specified\r\n // other browsers return a string\r\n // we ignore the case of nested elements with an explicit value of 0\r\n //
    \r\n value = parseInt(KTUtil.css(el, 'z-index'));\r\n\r\n if (!isNaN(value) && value !== 0) {\r\n return value;\r\n }\r\n }\r\n\r\n el = el.parentNode;\r\n }\r\n\r\n return null;\r\n },\r\n\r\n /**\r\n * Checks whether the element has any parent with fixed positionfreg\r\n * @param {object} el jQuery element object\r\n * @returns {boolean}\r\n */\r\n hasFixedPositionedParent: function(el) {\r\n var position;\r\n\r\n while (el && el !== document) {\r\n position = KTUtil.css(el, 'position');\r\n\r\n if (position === \"fixed\") {\r\n return true;\r\n }\r\n\r\n el = el.parentNode;\r\n }\r\n\r\n return false;\r\n },\r\n\r\n /**\r\n * Simulates delay\r\n */\r\n sleep: function(milliseconds) {\r\n var start = new Date().getTime();\r\n for (var i = 0; i < 1e7; i++) {\r\n if ((new Date().getTime() - start) > milliseconds) {\r\n break;\r\n }\r\n }\r\n },\r\n\r\n /**\r\n * Gets randomly generated integer value within given min and max range\r\n * @param {number} min Range start value\r\n * @param {number} max Range end value\r\n * @returns {number}\r\n */\r\n getRandomInt: function(min, max) {\r\n return Math.floor(Math.random() * (max - min + 1)) + min;\r\n },\r\n\r\n /**\r\n * Checks whether Angular library is included\r\n * @returns {boolean}\r\n */\r\n isAngularVersion: function() {\r\n return window.Zone !== undefined ? true : false;\r\n },\r\n\r\n // jQuery Workarounds\r\n\r\n // Deep extend: $.extend(true, {}, objA, objB);\r\n deepExtend: function(out) {\r\n out = out || {};\r\n\r\n for (var i = 1; i < arguments.length; i++) {\r\n var obj = arguments[i];\r\n\r\n if (!obj)\r\n continue;\r\n\r\n for (var key in obj) {\r\n if (obj.hasOwnProperty(key)) {\r\n if (typeof obj[key] === 'object')\r\n out[key] = KTUtil.deepExtend(out[key], obj[key]);\r\n else\r\n out[key] = obj[key];\r\n }\r\n }\r\n }\r\n\r\n return out;\r\n },\r\n\r\n // extend: $.extend({}, objA, objB);\r\n extend: function(out) {\r\n out = out || {};\r\n\r\n for (var i = 1; i < arguments.length; i++) {\r\n if (!arguments[i])\r\n continue;\r\n\r\n for (var key in arguments[i]) {\r\n if (arguments[i].hasOwnProperty(key))\r\n out[key] = arguments[i][key];\r\n }\r\n }\r\n\r\n return out;\r\n },\r\n\r\n getById: function(el) {\r\n if (typeof el === 'string') {\r\n return document.getElementById(el);\r\n } else {\r\n return el;\r\n }\r\n },\r\n\r\n getByTag: function(query) {\r\n return document.getElementsByTagName(query);\r\n },\r\n\r\n getByTagName: function(query) {\r\n return document.getElementsByTagName(query);\r\n },\r\n\r\n getByClass: function(query) {\r\n return document.getElementsByClassName(query);\r\n },\r\n\r\n getBody: function() {\r\n return document.getElementsByTagName('body')[0];\r\n },\r\n\r\n /**\r\n * Checks whether the element has given classes\r\n * @param {object} el jQuery element object\r\n * @param {string} Classes string\r\n * @returns {boolean}\r\n */\r\n hasClasses: function(el, classes) {\r\n if (!el) {\r\n return;\r\n }\r\n\r\n var classesArr = classes.split(\" \");\r\n\r\n for (var i = 0; i < classesArr.length; i++) {\r\n if (KTUtil.hasClass(el, KTUtil.trim(classesArr[i])) == false) {\r\n return false;\r\n }\r\n }\r\n\r\n return true;\r\n },\r\n\r\n hasClass: function(el, className) {\r\n if (!el) {\r\n return;\r\n }\r\n\r\n return el.classList ? el.classList.contains(className) : new RegExp('\\\\b' + className + '\\\\b').test(el.className);\r\n },\r\n\r\n addClass: function(el, className) {\r\n if (!el || typeof className === 'undefined') {\r\n return;\r\n }\r\n\r\n var classNames = className.split(' ');\r\n\r\n if (el.classList) {\r\n for (var i = 0; i < classNames.length; i++) {\r\n if (classNames[i] && classNames[i].length > 0) {\r\n el.classList.add(KTUtil.trim(classNames[i]));\r\n }\r\n }\r\n } else if (!KTUtil.hasClass(el, className)) {\r\n for (var x = 0; x < classNames.length; x++) {\r\n el.className += ' ' + KTUtil.trim(classNames[x]);\r\n }\r\n }\r\n },\r\n\r\n removeClass: function(el, className) {\r\n if (!el || typeof className === 'undefined') {\r\n return;\r\n }\r\n\r\n var classNames = className.split(' ');\r\n\r\n if (el.classList) {\r\n for (var i = 0; i < classNames.length; i++) {\r\n el.classList.remove(KTUtil.trim(classNames[i]));\r\n }\r\n } else if (KTUtil.hasClass(el, className)) {\r\n for (var x = 0; x < classNames.length; x++) {\r\n el.className = el.className.replace(new RegExp('\\\\b' + KTUtil.trim(classNames[x]) + '\\\\b', 'g'), '');\r\n }\r\n }\r\n },\r\n\r\n triggerCustomEvent: function(el, eventName, data) {\r\n var event;\r\n if (window.CustomEvent) {\r\n event = new CustomEvent(eventName, {\r\n detail: data\r\n });\r\n } else {\r\n event = document.createEvent('CustomEvent');\r\n event.initCustomEvent(eventName, true, true, data);\r\n }\r\n\r\n el.dispatchEvent(event);\r\n },\r\n\r\n triggerEvent: function(node, eventName) {\r\n // Make sure we use the ownerDocument from the provided node to avoid cross-window problems\r\n var doc;\r\n if (node.ownerDocument) {\r\n doc = node.ownerDocument;\r\n } else if (node.nodeType == 9) {\r\n // the node may be the document itself, nodeType 9 = DOCUMENT_NODE\r\n doc = node;\r\n } else {\r\n throw new Error(\"Invalid node passed to fireEvent: \" + node.id);\r\n }\r\n\r\n if (node.dispatchEvent) {\r\n // Gecko-style approach (now the standard) takes more work\r\n var eventClass = \"\";\r\n\r\n // Different events have different event classes.\r\n // If this switch statement can't map an eventName to an eventClass,\r\n // the event firing is going to fail.\r\n switch (eventName) {\r\n case \"click\": // Dispatching of 'click' appears to not work correctly in Safari. Use 'mousedown' or 'mouseup' instead.\r\n case \"mouseenter\":\r\n case \"mouseleave\":\r\n case \"mousedown\":\r\n case \"mouseup\":\r\n eventClass = \"MouseEvents\";\r\n break;\r\n\r\n case \"focus\":\r\n case \"change\":\r\n case \"blur\":\r\n case \"select\":\r\n eventClass = \"HTMLEvents\";\r\n break;\r\n\r\n default:\r\n throw \"fireEvent: Couldn't find an event class for event '\" + eventName + \"'.\";\r\n break;\r\n }\r\n var event = doc.createEvent(eventClass);\r\n\r\n var bubbles = eventName == \"change\" ? false : true;\r\n event.initEvent(eventName, bubbles, true); // All events created as bubbling and cancelable.\r\n\r\n event.synthetic = true; // allow detection of synthetic events\r\n // The second parameter says go ahead with the default action\r\n node.dispatchEvent(event, true);\r\n } else if (node.fireEvent) {\r\n // IE-old school style\r\n var event = doc.createEventObject();\r\n event.synthetic = true; // allow detection of synthetic events\r\n node.fireEvent(\"on\" + eventName, event);\r\n }\r\n },\r\n\r\n index: function( el ){\r\n var c = el.parentNode.children, i = 0;\r\n for(; i < c.length; i++ )\r\n if( c[i] == el ) return i;\r\n },\r\n\r\n trim: function(string) {\r\n return string.trim();\r\n },\r\n\r\n eventTriggered: function(e) {\r\n if (e.currentTarget.dataset.triggered) {\r\n return true;\r\n } else {\r\n e.currentTarget.dataset.triggered = true;\r\n\r\n return false;\r\n }\r\n },\r\n\r\n remove: function(el) {\r\n if (el && el.parentNode) {\r\n el.parentNode.removeChild(el);\r\n }\r\n },\r\n\r\n find: function(parent, query) {\r\n parent = KTUtil.getById(parent);\r\n if (parent) {\r\n return parent.querySelector(query);\r\n }\r\n },\r\n\r\n findAll: function(parent, query) {\r\n parent = KTUtil.getById(parent);\r\n if (parent) {\r\n return parent.querySelectorAll(query);\r\n }\r\n },\r\n\r\n insertAfter: function(el, referenceNode) {\r\n return referenceNode.parentNode.insertBefore(el, referenceNode.nextSibling);\r\n },\r\n\r\n parents: function(elem, selector) {\r\n // Element.matches() polyfill\r\n if (!Element.prototype.matches) {\r\n Element.prototype.matches =\r\n Element.prototype.matchesSelector ||\r\n Element.prototype.mozMatchesSelector ||\r\n Element.prototype.msMatchesSelector ||\r\n Element.prototype.oMatchesSelector ||\r\n Element.prototype.webkitMatchesSelector ||\r\n function(s) {\r\n var matches = (this.document || this.ownerDocument).querySelectorAll(s),\r\n i = matches.length;\r\n while (--i >= 0 && matches.item(i) !== this) {}\r\n return i > -1;\r\n };\r\n }\r\n\r\n // Set up a parent array\r\n var parents = [];\r\n\r\n // Push each parent element to the array\r\n for ( ; elem && elem !== document; elem = elem.parentNode ) {\r\n if (selector) {\r\n if (elem.matches(selector)) {\r\n parents.push(elem);\r\n }\r\n continue;\r\n }\r\n parents.push(elem);\r\n }\r\n\r\n // Return our parent array\r\n return parents;\r\n },\r\n\r\n children: function(el, selector, log) {\r\n if (!el || !el.childNodes) {\r\n return;\r\n }\r\n\r\n var result = [],\r\n i = 0,\r\n l = el.childNodes.length;\r\n\r\n for (var i; i < l; ++i) {\r\n if (el.childNodes[i].nodeType == 1 && KTUtil.matches(el.childNodes[i], selector, log)) {\r\n result.push(el.childNodes[i]);\r\n }\r\n }\r\n\r\n return result;\r\n },\r\n\r\n child: function(el, selector, log) {\r\n var children = KTUtil.children(el, selector, log);\r\n\r\n return children ? children[0] : null;\r\n },\r\n\r\n matches: function(el, selector, log) {\r\n var p = Element.prototype;\r\n var f = p.matches || p.webkitMatchesSelector || p.mozMatchesSelector || p.msMatchesSelector || function(s) {\r\n return [].indexOf.call(document.querySelectorAll(s), this) !== -1;\r\n };\r\n\r\n if (el && el.tagName) {\r\n return f.call(el, selector);\r\n } else {\r\n return false;\r\n }\r\n },\r\n\r\n data: function(el) {\r\n return {\r\n set: function(name, data) {\r\n if (!el) {\r\n return;\r\n }\r\n\r\n if (el.customDataTag === undefined) {\r\n window.KTUtilElementDataStoreID++;\r\n el.customDataTag = window.KTUtilElementDataStoreID;\r\n }\r\n\r\n if (window.KTUtilElementDataStore[el.customDataTag] === undefined) {\r\n window.KTUtilElementDataStore[el.customDataTag] = {};\r\n }\r\n\r\n window.KTUtilElementDataStore[el.customDataTag][name] = data;\r\n },\r\n\r\n get: function(name) {\r\n if (!el) {\r\n return;\r\n }\r\n\r\n if (el.customDataTag === undefined) {\r\n return null;\r\n }\r\n\r\n return this.has(name) ? window.KTUtilElementDataStore[el.customDataTag][name] : null;\r\n },\r\n\r\n has: function(name) {\r\n if (!el) {\r\n return false;\r\n }\r\n\r\n if (el.customDataTag === undefined) {\r\n return false;\r\n }\r\n\r\n return (window.KTUtilElementDataStore[el.customDataTag] && window.KTUtilElementDataStore[el.customDataTag][name]) ? true : false;\r\n },\r\n\r\n remove: function(name) {\r\n if (el && this.has(name)) {\r\n delete window.KTUtilElementDataStore[el.customDataTag][name];\r\n }\r\n }\r\n };\r\n },\r\n\r\n outerWidth: function(el, margin) {\r\n var width;\r\n\r\n if (margin === true) {\r\n width = parseFloat(el.offsetWidth);\r\n width += parseFloat(KTUtil.css(el, 'margin-left')) + parseFloat(KTUtil.css(el, 'margin-right'));\r\n\r\n return parseFloat(width);\r\n } else {\r\n width = parseFloat(el.offsetWidth);\r\n\r\n return width;\r\n }\r\n },\r\n\r\n offset: function(el) {\r\n var rect, win;\r\n\r\n if ( !el ) {\r\n return;\r\n }\r\n\r\n // Return zeros for disconnected and hidden (display: none) elements (gh-2310)\r\n // Support: IE <=11 only\r\n // Running getBoundingClientRect on a\r\n // disconnected node in IE throws an error\r\n\r\n if ( !el.getClientRects().length ) {\r\n return { top: 0, left: 0 };\r\n }\r\n\r\n // Get document-relative position by adding viewport scroll to viewport-relative gBCR\r\n rect = el.getBoundingClientRect();\r\n win = el.ownerDocument.defaultView;\r\n\r\n return {\r\n top: rect.top + win.pageYOffset,\r\n left: rect.left + win.pageXOffset\r\n };\r\n },\r\n\r\n height: function(el) {\r\n return KTUtil.css(el, 'height');\r\n },\r\n\r\n visible: function(el) {\r\n return !(el.offsetWidth === 0 && el.offsetHeight === 0);\r\n },\r\n\r\n attr: function(el, name, value) {\r\n if (el == undefined) {\r\n return;\r\n }\r\n\r\n if (value !== undefined) {\r\n el.setAttribute(name, value);\r\n } else {\r\n return el.getAttribute(name);\r\n }\r\n },\r\n\r\n hasAttr: function(el, name) {\r\n if (el == undefined) {\r\n return;\r\n }\r\n\r\n return el.getAttribute(name) ? true : false;\r\n },\r\n\r\n removeAttr: function(el, name) {\r\n if (el == undefined) {\r\n return;\r\n }\r\n\r\n el.removeAttribute(name);\r\n },\r\n\r\n animate: function(from, to, duration, update, easing, done) {\r\n /**\r\n * TinyAnimate.easings\r\n * Adapted from jQuery Easing\r\n */\r\n var easings = {};\r\n var easing;\r\n\r\n easings.linear = function(t, b, c, d) {\r\n return c * t / d + b;\r\n };\r\n\r\n easing = easings.linear;\r\n\r\n // Early bail out if called incorrectly\r\n if (typeof from !== 'number' ||\r\n typeof to !== 'number' ||\r\n typeof duration !== 'number' ||\r\n typeof update !== 'function') {\r\n return;\r\n }\r\n\r\n // Create mock done() function if necessary\r\n if (typeof done !== 'function') {\r\n done = function() {};\r\n }\r\n\r\n // Pick implementation (requestAnimationFrame | setTimeout)\r\n var rAF = window.requestAnimationFrame || function(callback) {\r\n window.setTimeout(callback, 1000 / 50);\r\n };\r\n\r\n // Animation loop\r\n var canceled = false;\r\n var change = to - from;\r\n\r\n function loop(timestamp) {\r\n var time = (timestamp || +new Date()) - start;\r\n\r\n if (time >= 0) {\r\n update(easing(time, from, change, duration));\r\n }\r\n if (time >= 0 && time >= duration) {\r\n update(to);\r\n done();\r\n } else {\r\n rAF(loop);\r\n }\r\n }\r\n\r\n update(from);\r\n\r\n // Start animation loop\r\n var start = window.performance && window.performance.now ? window.performance.now() : +new Date();\r\n\r\n rAF(loop);\r\n },\r\n\r\n actualCss: function(el, prop, cache) {\r\n var css = '';\r\n\r\n if (el instanceof HTMLElement === false) {\r\n return;\r\n }\r\n\r\n if (!el.getAttribute('kt-hidden-' + prop) || cache === false) {\r\n var value;\r\n\r\n // the element is hidden so:\r\n // making the el block so we can meassure its height but still be hidden\r\n css = el.style.cssText;\r\n el.style.cssText = 'position: absolute; visibility: hidden; display: block;';\r\n\r\n if (prop == 'width') {\r\n value = el.offsetWidth;\r\n } else if (prop == 'height') {\r\n value = el.offsetHeight;\r\n }\r\n\r\n el.style.cssText = css;\r\n\r\n // store it in cache\r\n el.setAttribute('kt-hidden-' + prop, value);\r\n\r\n return parseFloat(value);\r\n } else {\r\n // store it in cache\r\n return parseFloat(el.getAttribute('kt-hidden-' + prop));\r\n }\r\n },\r\n\r\n actualHeight: function(el, cache) {\r\n return KTUtil.actualCss(el, 'height', cache);\r\n },\r\n\r\n actualWidth: function(el, cache) {\r\n return KTUtil.actualCss(el, 'width', cache);\r\n },\r\n\r\n getScroll: function(element, method) {\r\n // The passed in `method` value should be 'Top' or 'Left'\r\n method = 'scroll' + method;\r\n return (element == window || element == document) ? (\r\n self[(method == 'scrollTop') ? 'pageYOffset' : 'pageXOffset'] ||\r\n (browserSupportsBoxModel && document.documentElement[method]) ||\r\n document.body[method]\r\n ) : element[method];\r\n },\r\n\r\n css: function(el, styleProp, value) {\r\n if (!el) {\r\n return;\r\n }\r\n\r\n if (value !== undefined) {\r\n el.style[styleProp] = value;\r\n } else {\r\n var defaultView = (el.ownerDocument || document).defaultView;\r\n // W3C standard way:\r\n if (defaultView && defaultView.getComputedStyle) {\r\n // sanitize property name to css notation\r\n // (hyphen separated words eg. font-Size)\r\n styleProp = styleProp.replace(/([A-Z])/g, \"-$1\").toLowerCase();\r\n return defaultView.getComputedStyle(el, null).getPropertyValue(styleProp);\r\n } else if (el.currentStyle) { // IE\r\n // sanitize property name to camelCase\r\n styleProp = styleProp.replace(/\\-(\\w)/g, function(str, letter) {\r\n return letter.toUpperCase();\r\n });\r\n value = el.currentStyle[styleProp];\r\n // convert other units to pixels on IE\r\n if (/^\\d+(em|pt|%|ex)?$/i.test(value)) {\r\n return (function(value) {\r\n var oldLeft = el.style.left,\r\n oldRsLeft = el.runtimeStyle.left;\r\n el.runtimeStyle.left = el.currentStyle.left;\r\n el.style.left = value || 0;\r\n value = el.style.pixelLeft + \"px\";\r\n el.style.left = oldLeft;\r\n el.runtimeStyle.left = oldRsLeft;\r\n return value;\r\n })(value);\r\n }\r\n return value;\r\n }\r\n }\r\n },\r\n\r\n slide: function(el, dir, speed, callback, recalcMaxHeight) {\r\n if (!el || (dir == 'up' && KTUtil.visible(el) === false) || (dir == 'down' && KTUtil.visible(el) === true)) {\r\n return;\r\n }\r\n\r\n speed = (speed ? speed : 600);\r\n var calcHeight = KTUtil.actualHeight(el);\r\n var calcPaddingTop = false;\r\n var calcPaddingBottom = false;\r\n\r\n if (KTUtil.css(el, 'padding-top') && KTUtil.data(el).has('slide-padding-top') !== true) {\r\n KTUtil.data(el).set('slide-padding-top', KTUtil.css(el, 'padding-top'));\r\n }\r\n\r\n if (KTUtil.css(el, 'padding-bottom') && KTUtil.data(el).has('slide-padding-bottom') !== true) {\r\n KTUtil.data(el).set('slide-padding-bottom', KTUtil.css(el, 'padding-bottom'));\r\n }\r\n\r\n if (KTUtil.data(el).has('slide-padding-top')) {\r\n calcPaddingTop = parseInt(KTUtil.data(el).get('slide-padding-top'));\r\n }\r\n\r\n if (KTUtil.data(el).has('slide-padding-bottom')) {\r\n calcPaddingBottom = parseInt(KTUtil.data(el).get('slide-padding-bottom'));\r\n }\r\n\r\n if (dir == 'up') { // up\r\n el.style.cssText = 'display: block; overflow: hidden;';\r\n\r\n if (calcPaddingTop) {\r\n KTUtil.animate(0, calcPaddingTop, speed, function(value) {\r\n el.style.paddingTop = (calcPaddingTop - value) + 'px';\r\n }, 'linear');\r\n }\r\n\r\n if (calcPaddingBottom) {\r\n KTUtil.animate(0, calcPaddingBottom, speed, function(value) {\r\n el.style.paddingBottom = (calcPaddingBottom - value) + 'px';\r\n }, 'linear');\r\n }\r\n\r\n KTUtil.animate(0, calcHeight, speed, function(value) {\r\n el.style.height = (calcHeight - value) + 'px';\r\n }, 'linear', function() {\r\n el.style.height = '';\r\n el.style.display = 'none';\r\n\r\n if (typeof callback === 'function') {\r\n callback();\r\n }\r\n });\r\n\r\n\r\n } else if (dir == 'down') { // down\r\n el.style.cssText = 'display: block; overflow: hidden;';\r\n\r\n if (calcPaddingTop) {\r\n KTUtil.animate(0, calcPaddingTop, speed, function(value) {//\r\n el.style.paddingTop = value + 'px';\r\n }, 'linear', function() {\r\n el.style.paddingTop = '';\r\n });\r\n }\r\n\r\n if (calcPaddingBottom) {\r\n KTUtil.animate(0, calcPaddingBottom, speed, function(value) {\r\n el.style.paddingBottom = value + 'px';\r\n }, 'linear', function() {\r\n el.style.paddingBottom = '';\r\n });\r\n }\r\n\r\n KTUtil.animate(0, calcHeight, speed, function(value) {\r\n el.style.height = value + 'px';\r\n }, 'linear', function() {\r\n el.style.height = '';\r\n el.style.display = '';\r\n el.style.overflow = '';\r\n\r\n if (typeof callback === 'function') {\r\n callback();\r\n }\r\n });\r\n }\r\n },\r\n\r\n slideUp: function(el, speed, callback) {\r\n KTUtil.slide(el, 'up', speed, callback);\r\n },\r\n\r\n slideDown: function(el, speed, callback) {\r\n KTUtil.slide(el, 'down', speed, callback);\r\n },\r\n\r\n show: function(el, display) {\r\n if (typeof el !== 'undefined') {\r\n el.style.display = (display ? display : 'block');\r\n }\r\n },\r\n\r\n hide: function(el) {\r\n if (typeof el !== 'undefined') {\r\n el.style.display = 'none';\r\n }\r\n },\r\n\r\n addEvent: function(el, type, handler, one) {\r\n if (typeof el !== 'undefined' && el !== null) {\r\n el.addEventListener(type, handler);\r\n }\r\n },\r\n\r\n removeEvent: function(el, type, handler) {\r\n if (el !== null) {\r\n el.removeEventListener(type, handler);\r\n }\r\n },\r\n\r\n on: function(element, selector, event, handler) {\r\n if (!selector) {\r\n return;\r\n }\r\n\r\n var eventId = KTUtil.getUniqueID('event');\r\n\r\n window.KTUtilDelegatedEventHandlers[eventId] = function(e) {\r\n var targets = element.querySelectorAll(selector);\r\n var target = e.target;\r\n\r\n while (target && target !== element) {\r\n for (var i = 0, j = targets.length; i < j; i++) {\r\n if (target === targets[i]) {\r\n handler.call(target, e);\r\n }\r\n }\r\n\r\n target = target.parentNode;\r\n }\r\n }\r\n\r\n KTUtil.addEvent(element, event, window.KTUtilDelegatedEventHandlers[eventId]);\r\n\r\n return eventId;\r\n },\r\n\r\n off: function(element, event, eventId) {\r\n if (!element || !window.KTUtilDelegatedEventHandlers[eventId]) {\r\n return;\r\n }\r\n\r\n KTUtil.removeEvent(element, event, window.KTUtilDelegatedEventHandlers[eventId]);\r\n\r\n delete window.KTUtilDelegatedEventHandlers[eventId];\r\n },\r\n\r\n one: function onetime(el, type, callback) {\r\n el.addEventListener(type, function callee(e) {\r\n // remove event\r\n if (e.target && e.target.removeEventListener) {\r\n e.target.removeEventListener(e.type, callee);\r\n }\r\n\r\n // need to verify from https://themeforest.net/author_dashboard#comment_23615588\r\n if (el && el.removeEventListener) {\r\n\t\t\t\t e.currentTarget.removeEventListener(e.type, callee);\r\n\t\t\t }\r\n\r\n // call handler\r\n return callback(e);\r\n });\r\n },\r\n\r\n hash: function(str) {\r\n var hash = 0,\r\n i, chr;\r\n\r\n if (str.length === 0) return hash;\r\n for (i = 0; i < str.length; i++) {\r\n chr = str.charCodeAt(i);\r\n hash = ((hash << 5) - hash) + chr;\r\n hash |= 0; // Convert to 32bit integer\r\n }\r\n\r\n return hash;\r\n },\r\n\r\n animateClass: function(el, animationName, callback) {\r\n var animation;\r\n var animations = {\r\n animation: 'animationend',\r\n OAnimation: 'oAnimationEnd',\r\n MozAnimation: 'mozAnimationEnd',\r\n WebkitAnimation: 'webkitAnimationEnd',\r\n msAnimation: 'msAnimationEnd',\r\n };\r\n\r\n for (var t in animations) {\r\n if (el.style[t] !== undefined) {\r\n animation = animations[t];\r\n }\r\n }\r\n\r\n KTUtil.addClass(el, 'animated ' + animationName);\r\n\r\n KTUtil.one(el, animation, function() {\r\n KTUtil.removeClass(el, 'animated ' + animationName);\r\n });\r\n\r\n if (callback) {\r\n KTUtil.one(el, animation, callback);\r\n }\r\n },\r\n\r\n transitionEnd: function(el, callback) {\r\n var transition;\r\n var transitions = {\r\n transition: 'transitionend',\r\n OTransition: 'oTransitionEnd',\r\n MozTransition: 'mozTransitionEnd',\r\n WebkitTransition: 'webkitTransitionEnd',\r\n msTransition: 'msTransitionEnd'\r\n };\r\n\r\n for (var t in transitions) {\r\n if (el.style[t] !== undefined) {\r\n transition = transitions[t];\r\n }\r\n }\r\n\r\n KTUtil.one(el, transition, callback);\r\n },\r\n\r\n animationEnd: function(el, callback) {\r\n var animation;\r\n var animations = {\r\n animation: 'animationend',\r\n OAnimation: 'oAnimationEnd',\r\n MozAnimation: 'mozAnimationEnd',\r\n WebkitAnimation: 'webkitAnimationEnd',\r\n msAnimation: 'msAnimationEnd'\r\n };\r\n\r\n for (var t in animations) {\r\n if (el.style[t] !== undefined) {\r\n animation = animations[t];\r\n }\r\n }\r\n\r\n KTUtil.one(el, animation, callback);\r\n },\r\n\r\n animateDelay: function(el, value) {\r\n var vendors = ['webkit-', 'moz-', 'ms-', 'o-', ''];\r\n for (var i = 0; i < vendors.length; i++) {\r\n KTUtil.css(el, vendors[i] + 'animation-delay', value);\r\n }\r\n },\r\n\r\n animateDuration: function(el, value) {\r\n var vendors = ['webkit-', 'moz-', 'ms-', 'o-', ''];\r\n for (var i = 0; i < vendors.length; i++) {\r\n KTUtil.css(el, vendors[i] + 'animation-duration', value);\r\n }\r\n },\r\n\r\n scrollTo: function(target, offset, duration) {\r\n var duration = duration ? duration : 500;\r\n var targetPos = target ? KTUtil.offset(target).top : 0;\r\n var scrollPos = window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || 0;\r\n var from, to;\r\n\r\n if (offset) {\r\n scrollPos += offset;\r\n }\r\n\r\n from = scrollPos;\r\n to = targetPos;\r\n\r\n KTUtil.animate(from, to, duration, function(value) {\r\n document.documentElement.scrollTop = value;\r\n document.body.parentNode.scrollTop = value;\r\n document.body.scrollTop = value;\r\n }); //, easing, done\r\n },\r\n\r\n scrollTop: function(offset, duration) {\r\n KTUtil.scrollTo(null, offset, duration);\r\n },\r\n\r\n isArray: function(obj) {\r\n return obj && Array.isArray(obj);\r\n },\r\n\r\n ready: function(callback) {\r\n if (document.attachEvent ? document.readyState === \"complete\" : document.readyState !== \"loading\") {\r\n callback();\r\n } else {\r\n document.addEventListener('DOMContentLoaded', callback);\r\n }\r\n },\r\n\r\n isEmpty: function(obj) {\r\n for (var prop in obj) {\r\n if (obj.hasOwnProperty(prop)) {\r\n return false;\r\n }\r\n }\r\n\r\n return true;\r\n },\r\n\r\n numberString: function(nStr) {\r\n nStr += '';\r\n var x = nStr.split('.');\r\n var x1 = x[0];\r\n var x2 = x.length > 1 ? '.' + x[1] : '';\r\n var rgx = /(\\d+)(\\d{3})/;\r\n while (rgx.test(x1)) {\r\n x1 = x1.replace(rgx, '$1' + ',' + '$2');\r\n }\r\n return x1 + x2;\r\n },\r\n\r\n detectIE: function() {\r\n var ua = window.navigator.userAgent;\r\n\r\n // Test values; Uncomment to check result …\r\n\r\n // IE 10\r\n // ua = 'Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; Trident/6.0)';\r\n\r\n // IE 11\r\n // ua = 'Mozilla/5.0 (Windows NT 6.3; Trident/7.0; rv:11.0) like Gecko';\r\n\r\n // Edge 12 (Spartan)\r\n // ua = 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.71 Safari/537.36 Edge/12.0';\r\n\r\n // Edge 13\r\n // ua = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2486.0 Safari/537.36 Edge/13.10586';\r\n\r\n var msie = ua.indexOf('MSIE ');\r\n if (msie > 0) {\r\n // IE 10 or older => return version number\r\n return parseInt(ua.substring(msie + 5, ua.indexOf('.', msie)), 10);\r\n }\r\n\r\n var trident = ua.indexOf('Trident/');\r\n if (trident > 0) {\r\n // IE 11 => return version number\r\n var rv = ua.indexOf('rv:');\r\n return parseInt(ua.substring(rv + 3, ua.indexOf('.', rv)), 10);\r\n }\r\n\r\n var edge = ua.indexOf('Edge/');\r\n if (edge > 0) {\r\n // Edge (IE 12+) => return version number\r\n return parseInt(ua.substring(edge + 5, ua.indexOf('.', edge)), 10);\r\n }\r\n\r\n // other browser\r\n return false;\r\n },\r\n\r\n isRTL: function() {\r\n var html = KTUtil.getByTagName('html')[0];\r\n\r\n if (html) {\r\n return (KTUtil.attr(html, 'direction') == 'rtl');\r\n }\r\n },\r\n\r\n // Scroller\r\n scrollInit: function(element, options) {\r\n if(!element) return;\r\n // Define init function\r\n function init() {\r\n var ps;\r\n var height;\r\n\r\n if (options.height instanceof Function) {\r\n height = options.height.call();\r\n } else {\r\n height = options.height;\r\n }\r\n\r\n if (height === false) {\r\n KTUtil.scrollDestroy(element, true);\r\n\r\n return;\r\n }\r\n\r\n height = parseInt(height);\r\n\r\n // Destroy scroll on table and mobile modes\r\n if ((options.mobileNativeScroll || options.disableForMobile) && KTUtil.isBreakpointDown('lg')) {\r\n ps = KTUtil.data(element).get('ps');\r\n if (ps) {\r\n if (options.resetHeightOnDestroy) {\r\n KTUtil.css(element, 'height', 'auto');\r\n } else {\r\n KTUtil.css(element, 'overflow', 'auto');\r\n if (height > 0) {\r\n KTUtil.css(element, 'height', height + 'px');\r\n }\r\n }\r\n\r\n ps.destroy();\r\n ps = KTUtil.data(element).remove('ps');\r\n } else if (height > 0){\r\n KTUtil.css(element, 'overflow', 'auto');\r\n KTUtil.css(element, 'height', height + 'px');\r\n }\r\n\r\n return;\r\n }\r\n\r\n if (height > 0) {\r\n KTUtil.css(element, 'height', height + 'px');\r\n }\r\n\r\n if (options.desktopNativeScroll) {\r\n KTUtil.css(element, 'overflow', 'auto');\r\n return;\r\n }\r\n\r\n // Pass options via HTML Attributes\r\n if (KTUtil.attr(element, 'data-window-scroll') == 'true') {\r\n options.windowScroll = true;\r\n }\r\n\r\n // Init scroll\r\n ps = KTUtil.data(element).get('ps');\r\n\r\n if (ps) {\r\n ps.update();\r\n } else {\r\n KTUtil.css(element, 'overflow', 'hidden');\r\n KTUtil.addClass(element, 'scroll');\r\n\r\n ps = new PerfectScrollbar(element, {\r\n wheelSpeed: 0.5,\r\n swipeEasing: true,\r\n wheelPropagation: (options.windowScroll === false ? false : true),\r\n minScrollbarLength: 40,\r\n maxScrollbarLength: 300,\r\n suppressScrollX: KTUtil.attr(element, 'data-scroll-x') != 'true' ? true : false\r\n });\r\n\r\n KTUtil.data(element).set('ps', ps);\r\n }\r\n\r\n // Remember scroll position in cookie\r\n var uid = KTUtil.attr(element, 'id');\r\n try {\r\n if (uid) {\r\n var cookie = KTCookie.getCookie(uid);\r\n if (options.rememberPosition === true && cookie) {\r\n var pos = parseInt(cookie);\r\n if (pos > 0) {\r\n element.scrollTop = pos;\r\n }\r\n element.addEventListener('ps-scroll-y', function() {\r\n KTCookie.setCookie(uid, element.scrollTop, {});\r\n });\r\n }\r\n }\r\n }\r\n catch (e) {\r\n console.error(e);\r\n }\r\n // Consider using Localstorage\r\n //if (options.rememberPosition === true && Cookies && uid) {\r\n // if (KTCookie.getCookie(uid)) {\r\n // var pos = parseInt(KTCookie.getCookie(uid));\r\n //\r\n // if (pos > 0) {\r\n // element.scrollTop = pos;\r\n // }\r\n // }\r\n //\r\n // element.addEventListener('ps-scroll-y', function() {\r\n // KTCookie.setCookie(uid, element.scrollTop);\r\n // });\r\n //}\r\n }\r\n\r\n // Init\r\n init();\r\n\r\n // Handle window resize\r\n if (options.handleWindowResize) {\r\n KTUtil.addResizeHandler(function() {\r\n init();\r\n });\r\n }\r\n },\r\n\r\n scrollUpdate: function(element) {\r\n var ps = KTUtil.data(element).get('ps');\r\n if (ps) {\r\n ps.update();\r\n }\r\n },\r\n\r\n scrollUpdateAll: function(parent) {\r\n var scrollers = KTUtil.findAll(parent, '.ps');\r\n for (var i = 0, len = scrollers.length; i < len; i++) {\r\n KTUtil.scrollUpdate(scrollers[i]);\r\n }\r\n },\r\n\r\n scrollDestroy: function(element, resetAll) {\r\n var ps = KTUtil.data(element).get('ps');\r\n\r\n if (ps) {\r\n ps.destroy();\r\n ps = KTUtil.data(element).remove('ps');\r\n }\r\n\r\n if (element && resetAll) {\r\n element.style.setProperty('overflow', '');\r\n element.style.setProperty('height', '');\r\n }\r\n },\r\n\r\n setHTML: function(el, html) {\r\n el.innerHTML = html;\r\n },\r\n\r\n getHTML: function(el) {\r\n if (el) {\r\n return el.innerHTML;\r\n }\r\n },\r\n\r\n getDocumentHeight: function() {\r\n var body = document.body;\r\n var html = document.documentElement;\r\n\r\n return Math.max( body.scrollHeight, body.offsetHeight, html.clientHeight, html.scrollHeight, html.offsetHeight );\r\n },\r\n\r\n getScrollTop: function() {\r\n return (document.scrollingElement || document.documentElement).scrollTop;\r\n },\r\n\r\n colorDarken: function(color, amount) {\r\n var subtractLight = function(color, amount){\r\n var cc = parseInt(color,16) - amount;\r\n var c = (cc < 0) ? 0 : (cc);\r\n c = (c.toString(16).length > 1 ) ? c.toString(16) : `0${c.toString(16)}`;\r\n\r\n return c;\r\n }\r\n\r\n color = (color.indexOf(\"#\")>=0) ? color.substring(1,color.length) : color;\r\n amount = parseInt((255*amount)/100);\r\n\r\n return color = `#${subtractLight(color.substring(0,2), amount)}${subtractLight(color.substring(2,4), amount)}${subtractLight(color.substring(4,6), amount)}`;\r\n },\r\n\r\n colorLighten: function(color, amount) {\r\n var addLight = function(color, amount){\r\n var cc = parseInt(color,16) + amount;\r\n var c = (cc > 255) ? 255 : (cc);\r\n c = (c.toString(16).length > 1 ) ? c.toString(16) : `0${c.toString(16)}`;\r\n\r\n return c;\r\n }\r\n\r\n color = (color.indexOf(\"#\")>=0) ? color.substring(1,color.length) : color;\r\n amount = parseInt((255*amount)/100);\r\n\r\n return color = `#${addLight(color.substring(0,2), amount)}${addLight(color.substring(2,4), amount)}${addLight(color.substring(4,6), amount)}`;\r\n },\r\n\r\n // Throttle function: Input as function which needs to be throttled and delay is the time interval in milliseconds\r\n throttle: function (timer, func, delay) {\r\n \t// If setTimeout is already scheduled, no need to do anything\r\n \tif (timer) {\r\n \t\treturn;\r\n \t}\r\n\r\n \t// Schedule a setTimeout after delay seconds\r\n \ttimer = setTimeout(function () {\r\n \t\tfunc();\r\n\r\n \t\t// Once setTimeout function execution is finished, timerId = undefined so that in
    \r\n \t\t// the next scroll event function execution can be scheduled by the setTimeout\r\n \t\ttimer = undefined;\r\n \t}, delay);\r\n },\r\n\r\n // Debounce function: Input as function which needs to be debounced and delay is the debounced time in milliseconds\r\n debounce: function (timer, func, delay) {\r\n \t// Cancels the setTimeout method execution\r\n \tclearTimeout(timer)\r\n\r\n \t// Executes the func after delay time.\r\n \ttimer = setTimeout(func, delay);\r\n }\r\n }\r\n}();\r\n\r\n// webpack support\r\nif (typeof module !== 'undefined' && typeof module.exports !== 'undefined') {\r\n // module.exports = KTUtil;\r\n}\r\n\r\n// Initialize KTUtil class on document ready\r\nKTUtil.ready(function() {\r\n\tif (typeof KTAppSettings !== 'undefined') {\r\n\t\tKTUtil.init(KTAppSettings);\r\n\t} else {\r\n\t\tKTUtil.init();\r\n\t}\r\n});\r\n\r\n// CSS3 Transitions only after page load(.page-loading class added to body tag and remove with JS on page load)\r\nwindow.onload = function() {\r\n var result = KTUtil.getByTagName('body');\r\n if (result && result[0]) {\r\n KTUtil.removeClass(result[0], 'page-loading');\r\n }\r\n}\r\n","import axios from \"axios\";\r\n\r\nexport const CUSTOMERS_URL = \"api/ManageZoneBilling\";\r\n\r\n// CREATE => POST: add a new customer to the server\r\nexport function createCustomer(customer) {\r\n return axios.post(CUSTOMERS_URL, { customer });\r\n}\r\n\r\n// READ\r\nexport function getAllCustomers() {\r\n return axios.get(CUSTOMERS_URL);\r\n}\r\n\r\nexport function getCustomerById(customerId) {\r\n return axios.get(`${CUSTOMERS_URL}/${customerId}`);\r\n}\r\n\r\n// Method from server should return QueryResultsModel(items: any[], totalsCount: number)\r\n// items => filtered/sorted result\r\nexport function findCustomers(queryParams) {\r\n return axios.post(`${CUSTOMERS_URL}/find`, { queryParams });\r\n}\r\n\r\n// UPDATE => PUT: update the customer on the server\r\nexport function updateCustomer(customer) {\r\n return axios.put(`${CUSTOMERS_URL}/${customer.id}`, { customer });\r\n}\r\n\r\n// UPDATE Status\r\nexport function updateStatusForCustomers(ids, status) {\r\n return axios.post(`${CUSTOMERS_URL}/updateStatusForCustomers`, {\r\n ids,\r\n status\r\n });\r\n}\r\n\r\n// DELETE => delete the customer from the server\r\nexport function deleteCustomer(customerId) {\r\n return axios.delete(`${CUSTOMERS_URL}/${customerId}`);\r\n}\r\n\r\n// DELETE Customers by ids\r\nexport function deleteCustomers(ids) {\r\n return axios.post(`${CUSTOMERS_URL}/deleteCustomers`, { ids });\r\n}\r\n","import {createSlice} from \"@reduxjs/toolkit\";\r\n\r\nconst initialCustomersState = {\r\n listLoading: false,\r\n actionsLoading: false,\r\n totalCount: 0,\r\n entities: null,\r\n customerForEdit: undefined,\r\n lastError: null\r\n};\r\nexport const callTypes = {\r\n list: \"list\",\r\n action: \"action\"\r\n};\r\n\r\nexport const customersSlice = createSlice({\r\n name: \"customers\",\r\n initialState: initialCustomersState,\r\n reducers: {\r\n catchError: (state, action) => {\r\n state.error = `${action.type}: ${action.payload.error}`;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = false;\r\n } else {\r\n state.actionsLoading = false;\r\n }\r\n },\r\n startCall: (state, action) => {\r\n state.error = null;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = true;\r\n } else {\r\n state.actionsLoading = true;\r\n }\r\n },\r\n // getCustomerById\r\n customerFetched: (state, action) => {\r\n state.actionsLoading = false;\r\n state.customerForEdit = action.payload.customerForEdit;\r\n state.error = null;\r\n },\r\n // findCustomers\r\n customersFetched: (state, action) => {\r\n const { totalCount, entities } = action.payload;\r\n state.listLoading = false;\r\n state.error = null;\r\n state.entities = entities;\r\n state.totalCount = totalCount;\r\n },\r\n // createCustomer\r\n customerCreated: (state, action) => {\r\n state.actionsLoading = false;\r\n state.error = null;\r\n state.entities.push(action.payload.customer);\r\n },\r\n // updateCustomer\r\n customerUpdated: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.map(entity => {\r\n if (entity.id === action.payload.customer.id) {\r\n return action.payload.customer;\r\n }\r\n return entity;\r\n });\r\n },\r\n // deleteCustomer\r\n customerDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(el => el.id !== action.payload.id);\r\n },\r\n // deleteCustomers\r\n customersDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(\r\n el => !action.payload.ids.includes(el.id)\r\n );\r\n },\r\n // customersUpdateState\r\n customersStatusUpdated: (state, action) => {\r\n state.actionsLoading = false;\r\n state.error = null;\r\n const { ids, status } = action.payload;\r\n state.entities = state.entities.map(entity => {\r\n if (ids.findIndex(id => id === entity.id) > -1) {\r\n entity.status = status;\r\n }\r\n return entity;\r\n });\r\n }\r\n }\r\n});\r\n","import * as requestFromServer from \"./customersCrud\";\r\nimport {customersSlice, callTypes} from \"./customersSlice\";\r\n\r\nconst {actions} = customersSlice;\r\n\r\nexport const fetchCustomers = queryParams => dispatch => {\r\n dispatch(actions.startCall({ callType: callTypes.list }));\r\n return requestFromServer\r\n .findCustomers(queryParams)\r\n .then(response => {\r\n const { totalCount, entities } = response.data;\r\n dispatch(actions.customersFetched({ totalCount, entities }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't find customers\";\r\n dispatch(actions.catchError({ error, callType: callTypes.list }));\r\n });\r\n};\r\n\r\nexport const fetchCustomer = id => dispatch => {\r\n if (!id) {\r\n return dispatch(actions.customerFetched({ customerForEdit: undefined }));\r\n }\r\n\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .getCustomerById(id)\r\n .then(response => {\r\n const customer = response.data;\r\n dispatch(actions.customerFetched({ customerForEdit: customer }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't find customer\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const deleteCustomer = id => dispatch => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .deleteCustomer(id)\r\n .then(response => {\r\n dispatch(actions.customerDeleted({ id }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't delete customer\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const createCustomer = customerForCreation => dispatch => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .createCustomer(customerForCreation)\r\n .then(response => {\r\n const { customer } = response.data;\r\n dispatch(actions.customerCreated({ customer }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't create customer\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const updateCustomer = customer => dispatch => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .updateCustomer(customer)\r\n .then(() => {\r\n dispatch(actions.customerUpdated({ customer }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't update customer\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const updateCustomersStatus = (ids, status) => dispatch => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .updateStatusForCustomers(ids, status)\r\n .then(() => {\r\n dispatch(actions.customersStatusUpdated({ ids, status }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't update customers status\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const deleteCustomers = ids => dispatch => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .deleteCustomers(ids)\r\n .then(() => {\r\n dispatch(actions.customersDeleted({ ids }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't delete customers\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n","import React, { useState, useEffect, useMemo } from \"react\";\r\nimport { Notification } from \"../../../../../Notification\";\r\nimport { Card } from \"react-bootstrap\";\r\nimport $ from \"jquery\";\r\nimport low from \"lowdb\";\r\nimport { LoadingDialog } from \"../../../../../../../_metronic/_partials/controls\";\r\nimport LinearProgress from \"@material-ui/core/LinearProgress\";\r\nimport LocalStorage from \"lowdb/adapters/LocalStorage\";\r\nimport {\r\n DateTime30minInterval,\r\n momentDate,\r\n} from \"../../../../../../../_metronic/_helpers/ATHelpers\";\r\nimport { useDropzone } from \"react-dropzone\";\r\nimport { SettingsInputHdmiSharp } from \"@material-ui/icons\";\r\nimport CreatableSelect from \"react-select/creatable\";\r\nimport PDFViewer from \"pdf-viewer-reactjs\";\r\nimport FileViewer from \"react-file-viewer\";\r\nimport \"../../../../pages/ReceiptsManagementNewVersion/customers-table/FileViewerStyle.css\";\r\nimport FileSaver from \"file-saver\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport IconButton from \"@material-ui/core/IconButton\";\r\nimport CloseIcon from \"@material-ui/icons/Close\";\r\nimport { TextField } from \"@material-ui/core\";\r\nimport moment from \"moment\";\r\n\r\nconst adapter = new LocalStorage(\"db\");\r\nconst db = low(adapter);\r\n\r\nexport function OrderAttachements({ id, Type, isDashboard }) {\r\n const [isLoading, setisLoading] = useState(false);\r\n const [isSave, setisSave] = useState(\"\");\r\n const [AttachementList, setAttachementList] = useState([]);\r\n const [AttachmentTypes, setAttachmentTypes] = useState([]);\r\n const [AccessLevels, setAccessLevels] = useState([]);\r\n const [editMode, setEditeMode] = useState(false);\r\n const [smId, setShipmentId] = useState(\"\");\r\n const [accessLevelPut, setAccessLevelPut] = useState({\r\n value: \"\",\r\n label: \"Access Level\",\r\n });\r\n const [attachmentTypePut, setAttachmentTypePut] = useState({\r\n value: \"\",\r\n label: \"Attachment Type\",\r\n });\r\n\r\n const [accessLevelPost, setAccessLevelPost] = useState({\r\n value: \"\",\r\n label: \"Access Level\",\r\n });\r\n const [attachmentTypePost, setAttachmentTypePost] = useState({\r\n value: \"\",\r\n label: \"Attachment Type\",\r\n });\r\n\r\n useEffect(() => {\r\n GetViewmodel();\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (id) {\r\n async function fetchMyAPI() {\r\n var result = await GetAttachements(id);\r\n console.log(isDashboard);\r\n if (isDashboard) {\r\n result = result?.filter((x) => x.AccessLevel === \"Public\");\r\n }\r\n setAttachementList(result || []);\r\n }\r\n fetchMyAPI();\r\n }\r\n }, [id]);\r\n\r\n async function GetAttachements(id) {\r\n return await fetch(\r\n `${window.$apiurl}/transload/${Type}s/getattachments/${id}`,\r\n {\r\n method: \"get\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n }\r\n )\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then(async (res) => {\r\n const list = res[1];\r\n list.map((item) => {\r\n item.EditMode = false;\r\n });\r\n return list;\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n\r\n async function GetViewmodel() {\r\n return await fetch(`${window.$apiurl}/attachment/GetViewModel`, {\r\n method: \"get\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then(async (res) => {\r\n setAttachmentTypes(res[1]?.AttachmentTypes || []);\r\n setAccessLevels(res[1]?.AccessLevels || []);\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n\r\n async function GetAttachements(id) {\r\n return await fetch(\r\n `${window.$apiurl}/transload/${Type}s/getattachments/${id}`,\r\n {\r\n method: \"get\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n }\r\n )\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then(async (res) => {\r\n return res[1];\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n async function UpdateShipementAttachement(smId) {\r\n setisLoading(true);\r\n const someData = {\r\n AccessLevelId: accessLevelPut.value,\r\n AttachmentTypeId: attachmentTypePut.value,\r\n };\r\n return fetch(`${window.$apiurl}/generic/attachment/update/${smId}`, {\r\n method: \"put\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(someData),\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then(async () => {\r\n await getAttachments();\r\n setisLoading(false);\r\n })\r\n .catch((error) => {\r\n getAttachments();\r\n });\r\n }\r\n async function SaveShipementAattachement() {\r\n setisLoading(true);\r\n var formdata = new FormData();\r\n const inputElement = document.getElementById(\"shipmentAttachment\");\r\n const attachmentTypeId = attachmentTypePost.value;\r\n const accessLevelId = accessLevelPost.value;\r\n\r\n acceptedFiles.map((file) => {\r\n formdata.append(\"File\", file, file.name);\r\n });\r\n\r\n return await fetch(\r\n `${window.$apiurl}/transload/${Type}s/addattachment?${Type}Id=${id}&attachmentTypeId=${attachmentTypeId}&accessLevelId=${accessLevelId}`,\r\n {\r\n method: \"POST\",\r\n body: formdata,\r\n redirect: \"follow\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n },\r\n }\r\n )\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then(async (res) => {\r\n await getAttachments();\r\n setisLoading(false);\r\n Notification(\"success\", \"File has been updated successfully\");\r\n })\r\n .catch((error) => {\r\n getAttachments();\r\n Notification(\"success\", \"File has been updated successfully\");\r\n });\r\n }\r\n\r\n async function DeleteAttachment(id) {\r\n setisLoading(true);\r\n return await fetch(`${window.$apiurl}/generic/attachment/delete/${id}`, {\r\n method: \"Delete\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then(async (res) => {\r\n getAttachments();\r\n setisLoading(false);\r\n Notification(\"success\", \"Attachment is Delete\");\r\n })\r\n .catch((error) => {\r\n getAttachments();\r\n setisLoading(false);\r\n Notification(\"success\", \"Attachment is Delete\");\r\n });\r\n }\r\n\r\n const baseStyle = {\r\n flex: 1,\r\n display: \"flex\",\r\n flexDirection: \"column\",\r\n alignItems: \"center\",\r\n padding: \"100px\",\r\n borderWidth: 2,\r\n borderRadius: 2,\r\n borderColor: \"#3699FF\",\r\n borderStyle: \"dashed\",\r\n backgroundColor: \"#fafafa\",\r\n color: \"#464E5F\",\r\n outline: \"none\",\r\n transition: \"border .24s ease-in-out\",\r\n };\r\n const activeStyle = {\r\n borderColor: \"#2196f3\",\r\n };\r\n\r\n const acceptStyle = {\r\n borderColor: \"#00e676\",\r\n };\r\n\r\n const rejectStyle = {\r\n borderColor: \"#ff1744\",\r\n };\r\n const { isDragActive, isDragAccept, isDragReject } = useDropzone({\r\n accept: \"image/*\",\r\n });\r\n const style = useMemo(\r\n () => ({\r\n ...baseStyle,\r\n ...(isDragActive ? activeStyle : {}),\r\n ...(isDragAccept ? acceptStyle : {}),\r\n ...(isDragReject ? rejectStyle : {}),\r\n }),\r\n [isDragActive, isDragReject, isDragAccept]\r\n );\r\n const {\r\n acceptedFiles,\r\n getRootProps,\r\n getInputProps,\r\n inputRef,\r\n } = useDropzone();\r\n const files = acceptedFiles.map((file) => (\r\n
  • \r\n {file.path} - {file.size} bytes\r\n
  • \r\n ));\r\n const [loaderData, setLoaderData] = useState(false);\r\n function getExtension(path) {\r\n var basename = path.split(/[\\\\/]/).pop(),\r\n pos = basename.lastIndexOf(\".\");\r\n if (basename === \"\" || pos < 1) return \"\";\r\n return basename.slice(pos + 1);\r\n }\r\n const [showAttachment, setShowAttachment] = useState(false);\r\n const [disabledDownload, setDisabledDownload] = useState(true);\r\n\r\n const onError = (e) => {\r\n console.log(e, \"error in file-viewer\");\r\n };\r\n const [type, setFileType] = useState(\"\");\r\n const [filePath, setFilePath] = useState(\"\");\r\n useEffect(() => {\r\n if (!showAttachment) {\r\n setFilePath(\"\");\r\n setFileType(\"\");\r\n }\r\n }, [showAttachment]);\r\n async function SecureFileFetch(receiptId, attachmentId) {\r\n return await fetch(\r\n window.$apiurl +\r\n `/generic/attachment/secureFile/${receiptId}/${attachmentId}?isReceipt=false&isQuote=false`,\r\n {\r\n method: \"get\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n }\r\n )\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then(async (res) => {\r\n try {\r\n const data = res[1];\r\n const fileType = getExtension(data.AttachmentFile);\r\n setFileType(fileType.toLowerCase());\r\n setFilePath(data.AttachmentFile);\r\n setDisabledDownload(false);\r\n } catch (err) {}\r\n return res[1];\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n function CardFunction({ x, index, New }) {\r\n return (\r\n <>\r\n \r\n \r\n \r\n {x?.CreatedBy}\r\n \r\n

    \r\n {momentDate(x?.Created)}\r\n

    \r\n \r\n
    \r\n
    \r\n Download :\r\n \r\n {\r\n setShowAttachment(true);\r\n await SecureFileFetch(id, x.Id);\r\n }}\r\n // href={x?.FilePath}\r\n // target=\"_blank\"\r\n role=\"button\"\r\n className=\"btn btn-light-primary btn-elevate py-1\"\r\n >\r\n {x?.FileName}\r\n \r\n \r\n
    \r\n
    \r\n {(db.getState().User?.Email === x?.CreatedBy ||\r\n db.getState().User?.RoleId === 12 ||\r\n db.getState().User?.RoleId === 13 ||\r\n db.getState().User?.RoleId === 14) && (\r\n
    \r\n {\r\n await DeleteAttachment(x?.Id);\r\n New();\r\n }}\r\n >\r\n \r\n \r\n
    \r\n )}\r\n
    \r\n
    \r\n
    \r\n {\r\n const data = [...AttachementList];\r\n if (!data[index].EditMode) {\r\n data[index].EditMode = true;\r\n data.map((item) => {\r\n if (item.Id !== x.Id) {\r\n item.EditMode = false;\r\n }\r\n });\r\n }\r\n setAttachementList(data);\r\n setShipmentId(x?.Id);\r\n setAttachmentTypePut({\r\n value: \"\",\r\n label: \"Select\",\r\n });\r\n setAccessLevelPut({\r\n value: \"\",\r\n label: \"Select\",\r\n });\r\n }}\r\n >\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n {/* Detail Attachments */}\r\n
    \r\n
    \r\n Attachment Type :{\" \"}\r\n {x?.Type}\r\n
    \r\n
    \r\n Access Level :{\" \"}\r\n {x?.AccessLevel}\r\n
    \r\n
    \r\n {/* Edit Mode */}\r\n {x.EditMode && (\r\n
    \r\n
    \r\n {\r\n return {\r\n value: x?.Id,\r\n label: x?.Name,\r\n };\r\n })}\r\n onChange={(newValue) => {\r\n setAttachmentTypePut(newValue);\r\n const accessLevelItem = AttachmentTypes.find(\r\n (x) => x.Id === newValue.value\r\n );\r\n const accessLevelId =\r\n accessLevelItem.AccessLevel === \"Public\" ? 4 : 5;\r\n setAccessLevelPut({\r\n value: accessLevelId,\r\n label: accessLevelItem.AccessLevel,\r\n });\r\n }}\r\n placeholder=\"Attachment Type\"\r\n />\r\n
    \r\n
    \r\n {\r\n return {\r\n value: x?.Id,\r\n label: x?.Name,\r\n };\r\n })}\r\n onChange={(newValue) => {\r\n setAccessLevelPut(newValue);\r\n }}\r\n placeholder=\"Access Level\"\r\n />\r\n
    \r\n
    \r\n {\r\n UpdateShipementAttachement(smId);\r\n setisLoading(false);\r\n // Notification(\"success\",\"Success\");\r\n }}\r\n className=\"btn btn-primary btn-elevate mr-5 w-100\"\r\n >\r\n Save\r\n \r\n
    \r\n
    \r\n )}\r\n
    \r\n
    \r\n \r\n
    \r\n \r\n );\r\n }\r\n async function getAttachments() {\r\n setAttachementList(await GetAttachements(id));\r\n }\r\n const [Private, setPrivate] = useState(5);\r\n return (\r\n <>\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n Drop files here or{\" \"}\r\n browse\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n {\r\n return {\r\n value: x?.Id,\r\n label: x?.Name,\r\n };\r\n })}\r\n onChange={(newValue) => {\r\n setAttachmentTypePost(newValue);\r\n const accessLevelItem = AttachmentTypes.find(\r\n (x) => x.Id === newValue.value\r\n );\r\n const accessLevelId =\r\n accessLevelItem.AccessLevel === \"Public\" ? 4 : 5;\r\n setAccessLevelPost({\r\n value: accessLevelId,\r\n label: accessLevelItem.AccessLevel,\r\n });\r\n }}\r\n value={attachmentTypePost || \"Attachment Type\"}\r\n />\r\n
    \r\n
    \r\n {\r\n return {\r\n value: x?.Id,\r\n label: x?.Name,\r\n };\r\n })}\r\n onChange={(newValue) => {\r\n setAccessLevelPost(newValue);\r\n }}\r\n placeholder=\"Access Levels\"\r\n />\r\n
    \r\n
    \r\n \r\n Save\r\n \r\n
    \r\n
    {isLoading && }
    \r\n\r\n
    \r\n {AttachementList?.map((x, index) => (\r\n getAttachments()}\r\n />\r\n ))}\r\n
    \r\n
    \r\n\r\n {/* Modal Attachment Viewer */}\r\n {\r\n setShowAttachment(false);\r\n }}\r\n aria-labelledby=\"example-modal-sizes-title-lg\"\r\n >\r\n \r\n Attachment Viewer for SM #: {id}\r\n {\r\n setShowAttachment(false);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n <>\r\n
    \r\n
    \r\n
    \r\n {\r\n const fileName = filePath.replace(/^.*[\\\\\\/]/, \"\");\r\n console.log(fileName);\r\n FileSaver(filePath, fileName);\r\n }}\r\n >\r\n Download\r\n {\" \"}\r\n
    \r\n
    \r\n {type === \"pdf\" ? (\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n ) : (\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n )}\r\n \r\n
    \r\n \r\n {\r\n setShowAttachment(false);\r\n }}\r\n className=\"btn btn-light btn-elevate w-25\"\r\n >\r\n Close\r\n \r\n \r\n \r\n \r\n );\r\n}\r\nexport function OrderAttachementsV2({\r\n id,\r\n AttachmentList,\r\n AttachmentTypes,\r\n AccessLevels,\r\n Type,\r\n isDashboard,\r\n row,\r\n}) {\r\n const [isLoading, setisLoading] = useState(false);\r\n const [isSave, setisSave] = useState(\"\");\r\n const [AttachementList, setAttachementList] = useState(AttachmentList || []);\r\n const [attachmentTypes, setAttachmentTypes] = useState(AttachmentTypes || []);\r\n const [accessLevels, setAccessLevels] = useState(AccessLevels || []);\r\n const [editMode, setEditeMode] = useState(false);\r\n const [smId, setShipmentId] = useState(\"\");\r\n const [accessLevelPut, setAccessLevelPut] = useState({\r\n value: \"\",\r\n label: \"Access Level\",\r\n });\r\n const [attachmentTypePut, setAttachmentTypePut] = useState({\r\n value: \"\",\r\n label: \"Attachment Type\",\r\n });\r\n\r\n const [accessLevelPost, setAccessLevelPost] = useState({\r\n value: \"\",\r\n label: \"Access Level\",\r\n });\r\n const [attachmentTypePost, setAttachmentTypePost] = useState({\r\n value: \"\",\r\n label: \"Attachment Type\",\r\n });\r\n\r\n useEffect(() => {\r\n if (isDashboard) {\r\n GetViewmodel();\r\n }\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (id && isDashboard) {\r\n async function fetchMyAPI() {\r\n var result = await GetAttachements(id);\r\n if (isDashboard) {\r\n result = result?.filter((x) => x.AccessLevel === \"Public\");\r\n }\r\n setAttachementList(result || []);\r\n }\r\n fetchMyAPI();\r\n }\r\n }, [id]);\r\n\r\n async function GetAttachements(id) {\r\n return await fetch(\r\n `${window.$apiurl}/transload/${Type}s/getattachments/${id}`,\r\n {\r\n method: \"get\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n }\r\n )\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then(async (res) => {\r\n const list = res[1];\r\n list.map((item) => {\r\n item.EditMode = false;\r\n });\r\n return list;\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n\r\n async function GetViewmodel() {\r\n return await fetch(`${window.$apiurl}/attachment/GetViewModel`, {\r\n method: \"get\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then(async (res) => {\r\n setAttachmentTypes(res[1]?.AttachmentTypes || []);\r\n setAccessLevels(res[1]?.AccessLevels || []);\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n\r\n async function GetAttachements(id) {\r\n return await fetch(\r\n `${window.$apiurl}/transload/${Type}s/getattachments/${id}`,\r\n {\r\n method: \"get\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n }\r\n )\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then(async (res) => {\r\n return res[1];\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n async function UpdateShipementAttachement(smId) {\r\n setisLoading(true);\r\n const someData = {\r\n AccessLevelId: accessLevelPut.value,\r\n AttachmentTypeId: attachmentTypePut.value,\r\n };\r\n return fetch(`${window.$apiurl}/generic/attachment/update/${smId}`, {\r\n method: \"put\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(someData),\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then(async () => {\r\n await getAttachments();\r\n setisLoading(false);\r\n })\r\n .catch((error) => {\r\n getAttachments();\r\n });\r\n }\r\n async function SaveShipementAattachement() {\r\n setisLoading(true);\r\n var formdata = new FormData();\r\n const inputElement = document.getElementById(\"shipmentAttachment\");\r\n const attachmentTypeId = attachmentTypePost.value;\r\n const accessLevelId = accessLevelPost.value;\r\n\r\n acceptedFiles.map((file) => {\r\n formdata.append(\"File\", file, file.name);\r\n });\r\n\r\n return await fetch(\r\n `${window.$apiurl}/transload/${Type}s/addattachment?${Type}Id=${id}&attachmentTypeId=${attachmentTypeId}&accessLevelId=${accessLevelId}`,\r\n {\r\n method: \"POST\",\r\n body: formdata,\r\n redirect: \"follow\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n },\r\n }\r\n )\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then(async (res) => {\r\n await getAttachments();\r\n setisLoading(false);\r\n Notification(\"success\", \"File has been updated successfully\");\r\n })\r\n .catch((error) => {\r\n getAttachments();\r\n Notification(\"success\", \"File has been updated successfully\");\r\n });\r\n }\r\n\r\n async function DeleteAttachment(id) {\r\n setisLoading(true);\r\n return await fetch(`${window.$apiurl}/generic/attachment/delete/${id}`, {\r\n method: \"Delete\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then(async (res) => {\r\n getAttachments();\r\n setisLoading(false);\r\n Notification(\"success\", \"Attachment is Delete\");\r\n })\r\n .catch((error) => {\r\n getAttachments();\r\n setisLoading(false);\r\n Notification(\"success\", \"Attachment is Delete\");\r\n });\r\n }\r\n\r\n const baseStyle = {\r\n flex: 1,\r\n display: \"flex\",\r\n flexDirection: \"column\",\r\n alignItems: \"center\",\r\n padding: \"100px\",\r\n borderWidth: 2,\r\n borderRadius: 2,\r\n borderColor: \"#3699FF\",\r\n borderStyle: \"dashed\",\r\n backgroundColor: \"#fafafa\",\r\n color: \"#464E5F\",\r\n outline: \"none\",\r\n transition: \"border .24s ease-in-out\",\r\n };\r\n const activeStyle = {\r\n borderColor: \"#2196f3\",\r\n };\r\n\r\n const acceptStyle = {\r\n borderColor: \"#00e676\",\r\n };\r\n\r\n const rejectStyle = {\r\n borderColor: \"#ff1744\",\r\n };\r\n const { isDragActive, isDragAccept, isDragReject } = useDropzone({\r\n accept: \"image/*\",\r\n });\r\n const style = useMemo(\r\n () => ({\r\n ...baseStyle,\r\n ...(isDragActive ? activeStyle : {}),\r\n ...(isDragAccept ? acceptStyle : {}),\r\n ...(isDragReject ? rejectStyle : {}),\r\n }),\r\n [isDragActive, isDragReject, isDragAccept]\r\n );\r\n const {\r\n acceptedFiles,\r\n getRootProps,\r\n getInputProps,\r\n inputRef,\r\n } = useDropzone();\r\n const files = acceptedFiles.map((file) => (\r\n
  • \r\n {file.path} - {file.size} bytes\r\n
  • \r\n ));\r\n const [loaderData, setLoaderData] = useState(false);\r\n function getExtension(path) {\r\n var basename = path.split(/[\\\\/]/).pop(),\r\n pos = basename.lastIndexOf(\".\");\r\n if (basename === \"\" || pos < 1) return \"\";\r\n return basename.slice(pos + 1);\r\n }\r\n const [showAttachment, setShowAttachment] = useState(false);\r\n const [disabledDownload, setDisabledDownload] = useState(true);\r\n\r\n const onError = (e) => {\r\n console.log(e, \"error in file-viewer\");\r\n };\r\n const [type, setFileType] = useState(\"\");\r\n const [filePath, setFilePath] = useState(\"\");\r\n async function SecureFileFetch(receiptId, attachmentId) {\r\n return await fetch(\r\n window.$apiurl +\r\n `/generic/attachment/secureFile/${receiptId}/${attachmentId}?isReceipt=false&isQuote=false`,\r\n {\r\n method: \"get\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n }\r\n )\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then(async (res) => {\r\n try {\r\n const data = res[1];\r\n const fileType = getExtension(data.AttachmentFile);\r\n setFileType(fileType.toLowerCase());\r\n setFilePath(data.AttachmentFile);\r\n setDisabledDownload(false);\r\n } catch (err) {}\r\n return res[1];\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n useEffect(() => {\r\n if (!showAttachment) {\r\n setFilePath(\"\");\r\n setFileType(\"\");\r\n }\r\n }, [showAttachment]);\r\n function CardFunction({ x, index, New }) {\r\n return (\r\n <>\r\n \r\n \r\n \r\n {x?.CreatedBy}\r\n \r\n

    \r\n {momentDate(x?.Created)}\r\n

    \r\n \r\n
    \r\n
    \r\n Download :\r\n \r\n false}\r\n onClick={async () => {\r\n try {\r\n if (\r\n !(\r\n x?.Type === \"Loading Manifest Document\" &&\r\n isDashboard &&\r\n (row?.StatusPickedUpDate === null ||\r\n row?.StatusPickedUpDate === \"\" ||\r\n row?.StatusPickedUpDate === undefined)\r\n )\r\n ) {\r\n setShowAttachment(true);\r\n await SecureFileFetch(id, x.Id);\r\n }\r\n } catch (err) {\r\n console.log(err);\r\n }\r\n }}\r\n role=\"button\"\r\n className=\"btn btn-light-primary btn-elevate py-1\"\r\n >\r\n {x?.FileName}\r\n \r\n \r\n
    \r\n
    \r\n {(db.getState().User?.Email === x?.CreatedBy ||\r\n db.getState().User?.RoleId === 12 ||\r\n db.getState().User?.RoleId === 13 ||\r\n db.getState().User?.RoleId === 14) && (\r\n
    \r\n {\r\n if (\r\n !(\r\n x?.Type === \"Loading Manifest Document\" &&\r\n isDashboard &&\r\n (row?.StatusPickedUpDate === null ||\r\n row?.StatusPickedUpDate === \"\" ||\r\n row?.StatusPickedUpDate === undefined)\r\n )\r\n ) {\r\n await DeleteAttachment(x?.Id);\r\n New();\r\n }\r\n }}\r\n >\r\n \r\n \r\n
    \r\n )}\r\n
    \r\n
    \r\n
    \r\n {\r\n if (\r\n !(\r\n x?.Type === \"Loading Manifest Document\" &&\r\n isDashboard &&\r\n (row?.StatusPickedUpDate === null ||\r\n row?.StatusPickedUpDate === \"\" ||\r\n row?.StatusPickedUpDate === undefined)\r\n )\r\n ) {\r\n const data = [...AttachementList];\r\n if (!data[index].EditMode) {\r\n data[index].EditMode = true;\r\n data.map((item) => {\r\n if (item.Id !== x.Id) {\r\n item.EditMode = false;\r\n }\r\n });\r\n }\r\n setAttachementList(data);\r\n setShipmentId(x?.Id);\r\n setAttachmentTypePut({\r\n value: \"\",\r\n label: \"Select\",\r\n });\r\n setAccessLevelPut({\r\n value: \"\",\r\n label: \"Select\",\r\n });\r\n }\r\n }}\r\n >\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n {/* Detail Attachments */}\r\n
    \r\n
    \r\n Attachment Type :{\" \"}\r\n {x?.Type}\r\n
    \r\n
    \r\n Access Level :{\" \"}\r\n {x?.AccessLevel}\r\n
    \r\n
    \r\n {/* Edit Mode */}\r\n {x.EditMode && (\r\n
    \r\n
    \r\n {\r\n return {\r\n value: x?.Id,\r\n label: x?.Name,\r\n };\r\n })}\r\n onChange={(newValue) => {\r\n setAttachmentTypePut(newValue);\r\n const accessLevelItem = attachmentTypes.find(\r\n (x) => x.Id === newValue.value\r\n );\r\n const accessLevelId =\r\n accessLevelItem.AccessLevel === \"Public\" ? 4 : 5;\r\n setAccessLevelPut({\r\n value: accessLevelId,\r\n label: accessLevelItem.AccessLevel,\r\n });\r\n }}\r\n placeholder=\"Attachment Type\"\r\n />\r\n
    \r\n
    \r\n {\r\n return {\r\n value: x?.Id,\r\n label: x?.Name,\r\n };\r\n })}\r\n onChange={(newValue) => {\r\n setAccessLevelPut(newValue);\r\n }}\r\n placeholder=\"Access Level\"\r\n />\r\n
    \r\n
    \r\n {\r\n UpdateShipementAttachement(smId);\r\n setisLoading(false);\r\n // Notification(\"success\",\"Success\");\r\n }}\r\n className=\"btn btn-primary btn-elevate mr-5 w-100\"\r\n >\r\n Save\r\n \r\n
    \r\n
    \r\n )}\r\n
    \r\n
    \r\n \r\n
    \r\n \r\n );\r\n }\r\n async function getAttachments() {\r\n setAttachementList(await GetAttachements(id));\r\n }\r\n const [Private, setPrivate] = useState(5);\r\n return (\r\n <>\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n Drop files here or{\" \"}\r\n browse\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n {\r\n return {\r\n value: x?.Id,\r\n label: x?.Name,\r\n };\r\n })}\r\n onChange={(newValue) => {\r\n setAttachmentTypePost(newValue);\r\n const accessLevelItem = attachmentTypes.find(\r\n (x) => x.Id === newValue.value\r\n );\r\n const accessLevelId =\r\n accessLevelItem.AccessLevel === \"Public\" ? 4 : 5;\r\n setAccessLevelPost({\r\n value: accessLevelId,\r\n label: accessLevelItem.AccessLevel,\r\n });\r\n }}\r\n value={attachmentTypePost || \"Attachment Type\"}\r\n />\r\n
    \r\n
    \r\n {\r\n return {\r\n value: x?.Id,\r\n label: x?.Name,\r\n };\r\n })}\r\n onChange={(newValue) => {\r\n setAccessLevelPost(newValue);\r\n }}\r\n placeholder=\"Access Levels\"\r\n />\r\n
    \r\n
    \r\n \r\n Save\r\n \r\n
    \r\n
    {isLoading && }
    \r\n\r\n
    \r\n {row?.StatusPickedUpDate !== null &&\r\n row?.StatusPickedUpDate !== undefined &&\r\n row?.StatusPickedUpDate !== \"\" &&\r\n isDashboard &&\r\n AttachementList?.map((x, index) => (\r\n getAttachments()}\r\n />\r\n ))}\r\n {!isDashboard &&\r\n AttachementList?.map((x, index) => (\r\n getAttachments()}\r\n />\r\n ))}\r\n
    \r\n
    \r\n\r\n {/* Modal Attachment Viewer */}\r\n {\r\n setShowAttachment(false);\r\n }}\r\n aria-labelledby=\"example-modal-sizes-title-lg\"\r\n >\r\n \r\n Attachment Viewer for SM #: {id}\r\n {\r\n setShowAttachment(false);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n <>\r\n
    \r\n
    \r\n
    \r\n {\r\n const fileName = filePath.replace(/^.*[\\\\\\/]/, \"\");\r\n console.log(fileName);\r\n FileSaver(filePath, fileName);\r\n }}\r\n >\r\n Download\r\n {\" \"}\r\n
    \r\n
    \r\n {type === \"pdf\" ? (\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n ) : (\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n )}\r\n \r\n
    \r\n \r\n {\r\n setShowAttachment(false);\r\n }}\r\n className=\"btn btn-light btn-elevate w-25\"\r\n >\r\n Close\r\n \r\n \r\n \r\n \r\n );\r\n}\r\nexport function TmsAttachementsStatus({\r\n id,\r\n Type,\r\n GetWarehousDataPageChanges,\r\n paginationOptions,\r\n setshowModalPickedUp,\r\n IsMultu,\r\n}) {\r\n function NextStatusPickedUp(id, statusId) {\r\n var ShippingDepartureDate = new Date();\r\n\r\n var ShippingDeparture = ShippingDepartureDate;\r\n var myHeaders = new Headers();\r\n myHeaders.append(\"Authorization\", `bearer ${db.read().getState().Token}`);\r\n myHeaders.append(\"Content-Type\", \"application/json\");\r\n\r\n var raw = JSON.stringify({\r\n ShipmentIds: IsMultu === true ? id : [id],\r\n ShipmentStatus: statusId,\r\n ShippingDepartureDate: ShippingDeparture,\r\n });\r\n\r\n var requestOptions = {\r\n method: \"POST\",\r\n headers: myHeaders,\r\n body: raw,\r\n redirect: \"follow\",\r\n };\r\n\r\n fetch(\r\n `${window.$apiurl}/warehouseManagement/UpdateMultipleStatus`,\r\n requestOptions\r\n )\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n const contentType = response.headers.get(\"content-type\");\r\n if (contentType && contentType.indexOf(\"application/json\") !== -1) {\r\n return response.json().then((data) => [statusCode, data]);\r\n } else {\r\n return response.text().then((text) => [statusCode, { Message: \"\" }]);\r\n }\r\n })\r\n .then((result) => {\r\n if (result[0] === 200) {\r\n if (\r\n result[1].Message !== null &&\r\n result[1].Message !== undefined &&\r\n result[1].Message !== \"\"\r\n ) {\r\n Notification(\"infoClick\", result[1].Message);\r\n GetWarehousDataPageChanges(paginationOptions);\r\n } else {\r\n Notification(\"success\", \"Shipment has been Updated successfully\");\r\n GetWarehousDataPageChanges(paginationOptions);\r\n }\r\n } else {\r\n if (\r\n result[1].ModelState !== null &&\r\n result[1].ModelState !== undefined &&\r\n result[1].ModelState !== \"\"\r\n ) {\r\n let modelState = result[1].ModelState;\r\n if (modelState)\r\n Object.keys(modelState).forEach(function(k) {\r\n modelState[k].forEach((element) => {\r\n Notification(\"errorClick\", element);\r\n });\r\n });\r\n } else if (\r\n result[1].Message !== null &&\r\n result[1].Message !== undefined &&\r\n result[1].Message !== \"\"\r\n ) {\r\n Notification(\"errorClick\", result[1].Message);\r\n } else {\r\n Notification(\"errorClick\", \"Bad Request\");\r\n }\r\n }\r\n setisLoading(false);\r\n setshowModalPickedUp(false);\r\n })\r\n .catch((error) => {\r\n console.log(\"error\", error);\r\n });\r\n }\r\n const [isLoading, setisLoading] = useState(false);\r\n\r\n const [accessLevelPost, setAccessLevelPost] = useState({\r\n value: \"5\",\r\n label: \"Private\",\r\n });\r\n\r\n async function SaveShipementAattachementtms() {\r\n setisLoading(true);\r\n document.getElementById(\"SaveCarrierCheckOutPickUpDetails\").click();\r\n var formdata = new FormData();\r\n const attachmentTypeId = 238;\r\n const accessLevelId = accessLevelPost.value;\r\n\r\n acceptedFiles.forEach((file) => {\r\n formdata.append(\"File\", file, file.name);\r\n });\r\n\r\n return await fetch(\r\n `${window.$apiurl}/transload/${Type}s/addattachment?${Type}Id=${\r\n IsMultu === true ? id[0] : id\r\n }&attachmentTypeId=${attachmentTypeId}&accessLevelId=${accessLevelId}`,\r\n {\r\n method: \"POST\",\r\n body: formdata,\r\n redirect: \"follow\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n },\r\n }\r\n )\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then(async (res) => {\r\n await NextStatusPickedUp(IsMultu === true ? id : id, 7);\r\n })\r\n .catch(async (error) => {\r\n await NextStatusPickedUp(IsMultu === true ? id : id, 7);\r\n });\r\n }\r\n\r\n const baseStyle = {\r\n flex: 1,\r\n display: \"flex\",\r\n flexDirection: \"column\",\r\n alignItems: \"center\",\r\n padding: \"100px\",\r\n borderWidth: 2,\r\n borderRadius: 2,\r\n borderColor: \"#3699FF\",\r\n borderStyle: \"dashed\",\r\n backgroundColor: \"#fafafa\",\r\n color: \"#464E5F\",\r\n outline: \"none\",\r\n transition: \"border .24s ease-in-out\",\r\n };\r\n const activeStyle = {\r\n borderColor: \"#2196f3\",\r\n };\r\n\r\n const acceptStyle = {\r\n borderColor: \"#00e676\",\r\n };\r\n\r\n const rejectStyle = {\r\n borderColor: \"#ff1744\",\r\n };\r\n const { isDragActive, isDragAccept, isDragReject } = useDropzone({\r\n accept: \"image/*\",\r\n });\r\n const style = useMemo(\r\n () => ({\r\n ...baseStyle,\r\n ...(isDragActive ? activeStyle : {}),\r\n ...(isDragAccept ? acceptStyle : {}),\r\n ...(isDragReject ? rejectStyle : {}),\r\n }),\r\n [isDragActive, isDragReject, isDragAccept]\r\n );\r\n const {\r\n acceptedFiles,\r\n getRootProps,\r\n getInputProps,\r\n inputRef,\r\n } = useDropzone();\r\n const files = acceptedFiles.map((file) => (\r\n
  • \r\n {file.path} - {file.size} bytes\r\n
  • \r\n ));\r\n\r\n return (\r\n <>\r\n
    \r\n
    \r\n \r\n {\r\n console.log(\"e.target.value\", e.target.value);\r\n }}\r\n />\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n Drop files here or{\" \"}\r\n browse\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n {\r\n setAccessLevelPost(newValue);\r\n }}\r\n placeholder=\"Access Levels\"\r\n />\r\n
    \r\n
    \r\n \r\n Save\r\n \r\n
    \r\n
    {isLoading && }
    \r\n
    \r\n \r\n );\r\n}\r\n","import React, { useEffect, useState } from \"react\";\r\nimport { Helmet } from \"react-helmet\";\r\nimport SelectMulti from \"react-select\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport BootstrapTable from \"react-bootstrap-table-next\";\r\nimport moment from \"moment\";\r\nimport SVG from \"react-inlinesvg\";\r\nimport { OverlayTrigger, Tooltip, ButtonToolbar } from \"react-bootstrap\";\r\nimport paginationFactory from \"react-bootstrap-table2-paginator\";\r\nimport {\r\n Button,\r\n ListItemIcon,\r\n LinearProgress,\r\n ListItemText,\r\n Icon,\r\n MenuItem,\r\n IconButton,\r\n} from \"@material-ui/core\";\r\nimport { ModelManagmentFirstDashboardSm } from \"../NewShipmentsBeta/customers-table/ModelShipmentManagment\";\r\nimport ModelManagmentFirstReporting from \"../ReceiptsManagementNewVersion/customers-table/Shipment/ModelManagmentFirstReporting\";\r\nimport { emphasize, withStyles, makeStyles } from \"@material-ui/core\";\r\nimport Chart2 from \"../PerformanceGraph/ChartZoomBar\";\r\nimport FileSaver from \"file-saver\";\r\nimport * as XLSX from \"xlsx\";\r\nimport {\r\n toAbsoluteUrl,\r\n sortCaret,\r\n headerSortingClasses,\r\n SimpleZoom,\r\n} from \"../../../../../_metronic/_helpers\";\r\nimport Menu2 from \"@material-ui/core/Menu\";\r\nimport Select from \"react-select\";\r\nimport low from \"lowdb\";\r\nimport LocalStorage from \"lowdb/adapters/LocalStorage\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport CloseIcon from \"@material-ui/icons/Close\";\r\nimport {\r\n NotesComponentDashboard,\r\n CheckboxLargeWB,\r\n} from \"../../../../../_metronic/_partials/controls\";\r\nimport { Notification } from \"../../../../../app/modules/Notification\";\r\n//Date Range Picker Google\r\nimport { RangeDatePicker } from \"react-google-flight-datepicker\";\r\nimport \"react-google-flight-datepicker/dist/main.css\";\r\nimport {\r\n containsHTML,\r\n stripHtml,\r\n} from \"../../../../../_metronic/_helpers/ATHelpers\";\r\n//////\r\nvar Spinner = require(\"react-spinkit\");\r\nconst adapter = new LocalStorage(\"db\");\r\nconst db = low(adapter);\r\n\r\n//End Loading animation\r\n//export Button\r\nexport const StyledMenu = withStyles({\r\n paper: {\r\n border: \"1px solid #d3d4d5\",\r\n },\r\n})((props) => (\r\n \r\n));\r\nexport const StyledMenuItem = withStyles((theme) => ({\r\n root: {\r\n \"&:focus\": {\r\n backgroundColor: theme.palette.primary.main,\r\n \"& .MuiListItemIcon-root, & .MuiListItemText-primary\": {\r\n color: theme.palette.common.white,\r\n },\r\n },\r\n },\r\n}))(MenuItem);\r\n\r\nexport const useStyles = makeStyles((theme) => ({\r\n root: {\r\n flexGrow: 1,\r\n height: 250,\r\n },\r\n input: {\r\n display: \"flex\",\r\n padding: 0,\r\n height: \"auto\",\r\n },\r\n valueContainer: {\r\n display: \"flex\",\r\n flexWrap: \"wrap\",\r\n flex: 1,\r\n alignItems: \"center\",\r\n overflow: \"hidden\",\r\n },\r\n chip: {\r\n margin: theme.spacing(0.5, 0.25),\r\n },\r\n chipFocused: {\r\n backgroundColor: emphasize(\r\n theme.palette.type === \"light\"\r\n ? theme.palette.grey[300]\r\n : theme.palette.grey[700],\r\n 0.08\r\n ),\r\n },\r\n noOptionsMessage: {\r\n padding: theme.spacing(1, 2),\r\n },\r\n placeholder: {\r\n position: \"absolute\",\r\n left: 2,\r\n bottom: 6,\r\n fontSize: 13,\r\n },\r\n paper: {\r\n position: \"absolute\",\r\n zIndex: 1,\r\n marginTop: theme.spacing(1),\r\n left: 0,\r\n right: 0,\r\n },\r\n divider: {\r\n height: theme.spacing(2),\r\n },\r\n button: {\r\n margin: theme.spacing(1),\r\n },\r\n leftIcon: {\r\n marginRight: theme.spacing(1),\r\n },\r\n rightIcon: {\r\n marginLeft: theme.spacing(1),\r\n },\r\n iconSmall: {\r\n fontSize: 20,\r\n },\r\n textField: {\r\n marginLeft: theme.spacing(1),\r\n marginRight: theme.spacing(1),\r\n },\r\n}));\r\nvar champFiltring = \"\";\r\n\r\n//End Export Button\r\nfunction onlyUnique(value, index, self) {\r\n return self.indexOf(value) === index;\r\n}\r\n\r\n//Function Get max min date form data\r\nfunction GetDateFilterIfIsFistTime(isMin, Data) {\r\n if (Data === null) {\r\n return \"\";\r\n }\r\n var dateType = \"\";\r\n if (Data?.Columns?.length > 0) {\r\n Data.Columns.map((item, index) => {\r\n if (item.includes(\"Date\") && dateType === \"\") {\r\n dateType = item;\r\n }\r\n return null;\r\n });\r\n }\r\n var dateArrayfromData = Data?.Data?.map((item) =>\r\n item[dateType] !== null &&\r\n item[dateType] !== \"\" &&\r\n item[dateType] !== undefined\r\n ? new Date(moment(item[dateType]).format(\"YYYY/MM/DD\"))\r\n : null\r\n );\r\n\r\n if (dateArrayfromData?.filter((a) => a !== null)?.length === 0) {\r\n return \"\";\r\n }\r\n var latest = new Date(Math.min.apply(null, dateArrayfromData));\r\n var earliest = new Date(Math.max.apply(null, dateArrayfromData));\r\n if (isMin) {\r\n if (Object.prototype.toString.call(latest) === \"[object Date]\") {\r\n // it is a date\r\n if (isNaN(latest)) {\r\n // d.getTime() or d.valueOf() will also work\r\n return \"\";\r\n } else {\r\n return moment(latest).format(\"YYYY-MM-DD\");\r\n }\r\n } else {\r\n return \"\";\r\n }\r\n } else {\r\n if (Object.prototype.toString.call(earliest) === \"[object Date]\") {\r\n // it is a date\r\n if (isNaN(earliest)) {\r\n // d.getTime() or d.valueOf() will also work\r\n return \"\";\r\n } else {\r\n return moment(earliest).format(\"YYYY-MM-DD\");\r\n }\r\n } else {\r\n return \"\";\r\n }\r\n }\r\n}\r\n//filer Function\r\nfunction filterByValue(array, string, searchBy) {\r\n if (searchBy !== null && searchBy !== \"\" && searchBy !== undefined) {\r\n return array.filter((o) =>\r\n String(o[searchBy])\r\n .toLowerCase()\r\n .includes(string.trim().toLowerCase())\r\n );\r\n } else {\r\n return array.filter((o) =>\r\n Object.keys(o).some((k) =>\r\n String(o[k])\r\n .toLowerCase()\r\n .includes(string.trim().toLowerCase())\r\n )\r\n );\r\n }\r\n}\r\n//filer Function\r\nfunction filterByValueExact(array, string, searchBy) {\r\n if (searchBy !== null && searchBy !== \"\" && searchBy !== undefined) {\r\n return array.filter(\r\n (o) => String(o[searchBy]).toLowerCase() === string.trim().toLowerCase()\r\n );\r\n } else {\r\n return array.filter((o) =>\r\n Object.keys(o).some(\r\n (k) => String(o[k]).toLowerCase() === string.trim().toLowerCase()\r\n )\r\n );\r\n }\r\n}\r\n//End Filter Function\r\n\r\n//HTML render Function\r\nfunction checkDateFromat(item, x) {\r\n if (\r\n moment(\r\n item !== null ? String(item).slice(0, 10) : \"\",\r\n \"YYYY-MM-DD\",\r\n true\r\n ).isValid()\r\n ) {\r\n if (x === \"AppointedDate\") {\r\n if (String(item).slice(11, 19) === \"00:00:00\") {\r\n return moment(item).format(\"dddd, MMM DD, YYYY\");\r\n } else {\r\n return moment(item).format(\"dddd, MMM DD, YYYY hh:mm:ss A\");\r\n }\r\n } else {\r\n return moment(item).format(\"dddd, MMM DD, YYYY\");\r\n }\r\n } else return item;\r\n}\r\nexport function GetTransloadDays(data) {\r\n if (data >= 0) {\r\n return data;\r\n }\r\n}\r\nfunction GetIsHoteIcone() {\r\n return (\r\n Hot}>\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\nfunction DownLoadFile(url, fileName) {\r\n var xmlhttp = new XMLHttpRequest();\r\n\r\n xmlhttp.onreadystatechange = function() {\r\n if (xmlhttp.readyState == XMLHttpRequest.DONE) {\r\n // XMLHttpRequest.DONE == 4\r\n if (xmlhttp.status == 200) {\r\n FileSaver(url, fileName);\r\n } else {\r\n Notification(\"error\", \"file not found\");\r\n }\r\n }\r\n };\r\n\r\n xmlhttp.open(\"GET\", url, true);\r\n xmlhttp.send();\r\n}\r\nexport function GetPhotoFileIcone(params) {\r\n if (params === null || params === \"\") return \"\";\r\n if (\r\n window.$apiurl\r\n .trim()\r\n .toLocaleLowerCase()\r\n .includes(\"dev\".trim().toLocaleLowerCase())\r\n ) {\r\n return (\r\n <>\r\n Download}\r\n >\r\n {\r\n var url = `https://dev-orders.empowerdatalogistics.com${params}`;\r\n const fileName = url.replace(/^.*[\\\\\\/]/, \"\");\r\n DownLoadFile(url, fileName);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n } else if (\r\n window.$apiurl\r\n .trim()\r\n .toLocaleLowerCase()\r\n .includes(\"staging\".trim().toLocaleLowerCase())\r\n ) {\r\n return (\r\n Download}\r\n >\r\n {\r\n var url = `https://staging-orders.empowerdatalogistics.com${params}`;\r\n const fileName = url.replace(/^.*[\\\\\\/]/, \"\");\r\n DownLoadFile(url, fileName);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n );\r\n } else {\r\n return (\r\n Download}\r\n >\r\n {\r\n var url = `https://orders.empowerdatalogistics.com${params}`;\r\n const fileName = url.replace(/^.*[\\\\\\/]/, \"\");\r\n DownLoadFile(url, fileName);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n}\r\nexport function GetSlaIcone(text) {\r\n if (text === null || text === \"\") return \"\";\r\n if (\r\n text.trim().toLocaleLowerCase() === \"success\".trim().toLocaleLowerCase()\r\n ) {\r\n return (\r\n \r\n {text}\r\n \r\n }\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n } else if (\r\n text.trim().toLocaleLowerCase() === \"Failure\".trim().toLocaleLowerCase()\r\n ) {\r\n return (\r\n \r\n {text}\r\n \r\n }\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n}\r\nexport function GetIsNoteIcone(Text) {\r\n if (Text === null || Text === \"\") return \"\";\r\n\r\n return (\r\n \r\n {Text}\r\n \r\n }\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\nfunction returncsv(values) {\r\n var json = values;\r\n var fields = Object.keys(json[0]);\r\n var replacer = function(key, value) {\r\n return value === null ? \"\" : value;\r\n };\r\n var csv = json.map(function(row) {\r\n return fields\r\n .map(function(fieldName) {\r\n return JSON.stringify(row[fieldName], replacer);\r\n })\r\n .join(\",\");\r\n });\r\n csv.unshift(fields.join(\",\")); // add header column\r\n csv = csv.join(\"\\r\\n\");\r\n return csv;\r\n}\r\n//End HTML render Function\r\nvar reportTypeSelected = undefined;\r\nexport function ReportingPortViewPage() {\r\n const rowClasses = (row) => (row.RowColor !== null ? row.RowColor : \"\");\r\n /////////start Get Params From link///////////\r\n const urlParams = new URLSearchParams(window.location.search);\r\n const myParam = urlParams.get(\"type\");\r\n /////////End Get Params From link///////////\r\n db.read();\r\n\r\n const [anchorEl, setAnchorEl] = React.useState(null);\r\n\r\n const [LoadingPageShow, setLoadingPageShow] = React.useState(false);\r\n const [DateFilterOptions, setDateFilterOptions] = useState([]);\r\n const [FealdsFilterOptions, setFealdsFilterOptions] = useState([]);\r\n const [DateFilter, setDateFilter] = useState(null);\r\n const [SearchByFilter, setSearchByFilter] = useState(null);\r\n const [SearchByService, setSearchByService] = useState(null);\r\n const [SearchByWareHouse, setSearchByWareHouse] = useState(null);\r\n const [SearchByMode, setSearchByMode] = useState(null);\r\n const [SearchByWeek, setSearchByWeek] = useState(null);\r\n const [Customers, setCustomers] = useState([]);\r\n const [ReportingData, setReportingData] = useState(null);\r\n const [ReportingDataFilter, setReportingDataFilter] = useState([]);\r\n const [ReportingType, setReportingType] = useState([]);\r\n const [ReportingTypeFiltred, setReportingTypeFiltred] = useState([]);\r\n const [ReportingWarehouseOption, setReportingWarehouseOption] = useState([]);\r\n const [ReportingWeekOption, setReportingWeekOption] = useState([]);\r\n const [ReportingCustomerOption, setReportingCustomerOption] = useState([]);\r\n const [ReportingServiceOption, setReportingServiceOption] = useState([]);\r\n const [ReportingModeOption, setReportingModeOption] = useState([]);\r\n const [menuIsOpen, setmenuIsOpen] = useState(false);\r\n const [ReportingTypeId, setReportingTypeId] = useState({\r\n value: myParam,\r\n label: myParam,\r\n });\r\n const [FilterReportData, setFilterReportData] = useState({\r\n Customers: [],\r\n StartDate:\r\n ReportingTypeId.value !== \"PortView\" &&\r\n ReportingTypeId.value !== null &&\r\n ReportingTypeId.value !== \"DCArrivals\"\r\n ? db.read().getState()[reportTypeSelected] !== undefined\r\n ? db.read().getState()[reportTypeSelected]?.endDate !== null &&\r\n db.read().getState()[reportTypeSelected]?.endDate !== \"\"\r\n ? moment(db.read().getState()[reportTypeSelected].startDate).format(\r\n \"YYYY-MM-DD\"\r\n )\r\n : \"\"\r\n : GetDateFilterIfIsFistTime(true, ReportingData)\r\n : \"\",\r\n EndDate:\r\n ReportingTypeId.value !== \"PortView\" &&\r\n ReportingTypeId.value !== null &&\r\n ReportingTypeId.value !== \"DCArrivals\"\r\n ? db.read().getState()[reportTypeSelected] !== undefined\r\n ? db.read().getState()[reportTypeSelected]?.endDate !== null &&\r\n db.read().getState()[reportTypeSelected]?.endDate !== \"\"\r\n ? moment(db.read().getState()[reportTypeSelected].endDate).format(\r\n \"YYYY-MM-DD\"\r\n )\r\n : \"\"\r\n : GetDateFilterIfIsFistTime(false, ReportingData)\r\n : \"\",\r\n SearchText: \"\",\r\n DateFilterType: \"\",\r\n SearchBy: \"\",\r\n Service: \"\",\r\n WareHouse: \"\",\r\n Mode: \"\",\r\n Week: \"\",\r\n });\r\n\r\n useEffect(() => {\r\n var myHeaders = new Headers();\r\n myHeaders.append(\"Authorization\", `bearer ${db.getState().Token}`);\r\n myHeaders.append(\"Content-Type\", \"application/json\");\r\n myHeaders.append(\"X-FP-API-KEY\", \"iphone\");\r\n var requestOptions = {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: myHeaders,\r\n redirect: \"follow\",\r\n };\r\n\r\n fetch(\r\n `${window.$apiurl}/generic/GetOptionFromSettings/ReportingSearchFields`,\r\n requestOptions\r\n )\r\n .then((response) => response.text())\r\n .then((result) => {\r\n const data = JSON.parse(result);\r\n champFiltring = data.Value;\r\n })\r\n .catch((error) => console.log(\"error\", error));\r\n }, []);\r\n useEffect(() => {\r\n if (db.getState().User.IsCustomer) {\r\n let values = { ...FilterReportData };\r\n var customer = [];\r\n db.getState().User.Customers.map((item) => {\r\n customer.push({ value: item.Id, label: item.Name });\r\n });\r\n values.Customers = customer;\r\n setFilterReportData(values);\r\n }\r\n }, []);\r\n\r\n const history = useHistory();\r\n //export Button ////////\r\n const classes = useStyles();\r\n\r\n function handleClick(event) {\r\n setAnchorEl(event.currentTarget);\r\n }\r\n function handleClose() {\r\n document.activeElement.blur();\r\n setAnchorEl(null);\r\n }\r\n function onInputChange(options, { action }) {\r\n if (action === \"menu-close\") {\r\n setmenuIsOpen(false);\r\n document.activeElement.blur();\r\n }\r\n }\r\n\r\n function openMenu() {\r\n setmenuIsOpen(true);\r\n }\r\n function closeMenu() {\r\n setmenuIsOpen(false);\r\n }\r\n function isValidDate(d) {\r\n return d instanceof Date && !isNaN(d);\r\n }\r\n function dateconvertFroeExport(datetime) {\r\n if (datetime === null || datetime === \"\" || datetime === undefined) {\r\n return \"\";\r\n }\r\n if (isValidDate(datetime)) {\r\n return datetime;\r\n }\r\n var formatedDate = moment(datetime).format(\"DD-MM-YYYY\");\r\n var timezone = new Date().getTimezoneOffset();\r\n if (timezone < 0) {\r\n timezone = timezone * -1;\r\n }\r\n var DateObject = new Date(formatedDate);\r\n var GetTime = new Date(DateObject.getTime());\r\n return new Date(GetTime + timezone * 60000);\r\n }\r\n async function fetchMyAPI2(type, entityName) {\r\n var dataformated = JSON.parse(JSON.stringify(ReportingDataFilter));\r\n dataformated.forEach(function(v) {\r\n delete v.key;\r\n delete v.Key;\r\n delete v.Id;\r\n });\r\n dataformated.map((a) => {\r\n if (a.TransloadDays !== undefined) {\r\n if (a.TransloadDays < 0) {\r\n a.TransloadDays = \"\";\r\n }\r\n }\r\n });\r\n dataformated.map((o) => {\r\n Object.keys(o).map((k) => {\r\n if (containsHTML(o[k])) {\r\n o[k] = stripHtml(o[k]);\r\n }\r\n if (\r\n moment(\r\n o[k] !== null ? String(o[k]).slice(0, 10) : \"\",\r\n \"YYYY-MM-DD\",\r\n true\r\n ).isValid()\r\n ) {\r\n var timezone = new Date().getTimezoneOffset();\r\n if (timezone < 0) {\r\n timezone = timezone * -1;\r\n }\r\n var Gettime = new Date(o[k].split(\"T\")[0]).getTime();\r\n var data = new Date(Gettime + timezone * 60000);\r\n o[k] = data;\r\n }\r\n });\r\n });\r\n var date = new Date(Date.now());\r\n var dateformat =\r\n (\"0\" + (date.getMonth() + 1)).slice(-2) +\r\n \"\" +\r\n date.getDate() +\r\n \"\" +\r\n date.getFullYear() +\r\n \"\" +\r\n date.getHours() +\r\n \"\" +\r\n date.getMinutes() +\r\n \"\" +\r\n date.getSeconds();\r\n if (type === \"excel\") {\r\n const fileType =\r\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=UTF-8\";\r\n const fileExtension = \".xlsx\";\r\n const ws = XLSX.utils.json_to_sheet(dataformated, {\r\n cellDates: true,\r\n dateNF: \"dddd, MMMM DD, YYYY\",\r\n });\r\n const wb = { Sheets: { data: ws }, SheetNames: [\"data\"] };\r\n const excelBuffer = XLSX.write(wb, { bookType: \"xlsx\", type: \"array\" });\r\n const data = new Blob([excelBuffer], { type: fileType });\r\n FileSaver.saveAs(data, entityName + \"_\" + dateformat + fileExtension);\r\n } else if (type === \"csv\") {\r\n const data2 = returncsv(dataformated);\r\n const fileType = \"text/csv;charset=utf-8\";\r\n const fileExtension = \".csv\";\r\n const data = new Blob([data2], { type: fileType });\r\n FileSaver.saveAs(data, entityName + \"_\" + dateformat + fileExtension);\r\n } else if (type === \"json\") {\r\n const fileType = \"application/json\";\r\n const fileExtension = \".json\";\r\n const data = new Blob([JSON.stringify(dataformated)], { type: fileType });\r\n FileSaver.saveAs(data, entityName + \"_\" + dateformat + fileExtension);\r\n }\r\n // Export(dataformated, type, entityName);\r\n }\r\n //End Export Button\r\n\r\n useEffect(() => {\r\n setReportingTypeId({ value: myParam, label: myParam });\r\n reportTypeSelected = myParam;\r\n let values = { ...FilterReportData };\r\n values.SearchBy = \"\";\r\n values.SearchText = \"\";\r\n if (db.getState().User.IsCustomer) {\r\n var customer = [];\r\n db.getState().User.Customers.map((item) => {\r\n customer.push({ value: item.Id, label: item.Name });\r\n });\r\n values.Customers = customer;\r\n }\r\n setFilterReportData(values);\r\n setSearchByFilter(null);\r\n setSearchByService(null);\r\n setSearchByMode(null);\r\n setSearchByWareHouse(null);\r\n setSearchByWeek(null);\r\n GlobalDashboardGetData();\r\n }, [myParam]);\r\n\r\n useEffect(() => {\r\n var data = ReportingData?.Data || [];\r\n var startDate = moment(FilterReportData.StartDate).format(\"MM/DD/YYYY\");\r\n var endDate = moment(FilterReportData.EndDate).format(\"MM/DD/YYYY\");\r\n if (\r\n FilterReportData.SearchText !== \"\" &&\r\n FilterReportData.SearchText !== null &&\r\n !String(ReportingTypeId?.value).includes(\"Graph\") &&\r\n FilterReportData.SearchText !== undefined\r\n ) {\r\n data = filterByValue(\r\n data,\r\n FilterReportData.SearchText,\r\n FilterReportData.SearchBy\r\n );\r\n }\r\n if (\r\n FilterReportData.WareHouse !== \"\" &&\r\n FilterReportData.WareHouse !== null &&\r\n !String(ReportingTypeId?.value).includes(\"Graph\") &&\r\n FilterReportData.WareHouse !== undefined\r\n ) {\r\n data = filterByValueExact(data, FilterReportData.WareHouse, \"Warehouse\");\r\n }\r\n if (\r\n FilterReportData.Service !== \"\" &&\r\n FilterReportData.Service !== null &&\r\n !String(ReportingTypeId?.value).includes(\"Graph\") &&\r\n FilterReportData.Service !== undefined\r\n ) {\r\n data = filterByValueExact(data, FilterReportData.Service, \"Service\");\r\n }\r\n if (\r\n FilterReportData.Mode !== \"\" &&\r\n FilterReportData.Mode !== null &&\r\n FilterReportData.Mode !== undefined\r\n ) {\r\n data = filterByValueExact(data, FilterReportData.Mode, \"Mode\");\r\n }\r\n if (\r\n FilterReportData.Week !== \"\" &&\r\n FilterReportData.Week !== null &&\r\n FilterReportData.Week !== undefined\r\n ) {\r\n data = filterByValueExact(data, FilterReportData.Week, \"Week\");\r\n }\r\n if (\r\n FilterReportData.Customers.length > 0 &&\r\n !String(ReportingTypeId?.value).includes(\"Graph\") &&\r\n db.getState().User.IsCustomer === false\r\n ) {\r\n var filtered = [];\r\n for (var arr in data) {\r\n for (var filter in FilterReportData.Customers) {\r\n if (data[arr].Customer === FilterReportData.Customers[filter].label) {\r\n filtered.push(data[arr]);\r\n }\r\n }\r\n }\r\n data = filtered;\r\n }\r\n if (\r\n ReportingTypeId?.value === \"PortView\" ||\r\n ReportingTypeId?.value === \"DCArrivals\"\r\n ) {\r\n if (\r\n FilterReportData.StartDate !== null &&\r\n FilterReportData.StartDate !== \"\" &&\r\n FilterReportData.EndDate !== null &&\r\n FilterReportData.EndDate !== \"\"\r\n ) {\r\n data = data.filter((d) => {\r\n var time = moment(d?.OrderDate).format(\"MM/DD/YYYY\");\r\n return (\r\n new Date(startDate) <= new Date(time) &&\r\n new Date(time) <= new Date(endDate)\r\n );\r\n });\r\n }\r\n } else if (String(ReportingTypeId?.value).includes(\"Graph\")) {\r\n if (\r\n FilterReportData.StartDate !== \"\" &&\r\n FilterReportData.EndDate !== \"\" &&\r\n FilterReportData.DateFilterType !== null &&\r\n FilterReportData.DateFilterType !== undefined &&\r\n FilterReportData.DateFilterType !== \"\"\r\n ) {\r\n data = data.filter((d) => {\r\n var dateObjectfilter = \"\";\r\n if (ReportingData?.Data.length > 0) {\r\n dateObjectfilter = Object.keys(ReportingData?.Data[0])[0];\r\n }\r\n var time = moment(d[dateObjectfilter]).format(\"MM/DD/YYYY\");\r\n return (\r\n new Date(startDate) <= new Date(time) &&\r\n new Date(time) <= new Date(endDate)\r\n );\r\n });\r\n }\r\n } else {\r\n if (\r\n FilterReportData.StartDate !== \"\" &&\r\n FilterReportData.EndDate !== \"\" &&\r\n FilterReportData.DateFilterType !== null &&\r\n FilterReportData.DateFilterType !== undefined &&\r\n FilterReportData.DateFilterType !== \"\"\r\n ) {\r\n data = data.filter((d) => {\r\n var time = moment(d[FilterReportData.DateFilterType]).format(\r\n \"MM/DD/YYYY\"\r\n );\r\n return (\r\n new Date(startDate) <= new Date(time) &&\r\n new Date(time) <= new Date(endDate)\r\n );\r\n });\r\n }\r\n }\r\n\r\n setReportingDataFilter(data);\r\n }, [FilterReportData]);\r\n\r\n /////////GetData Function ///////////\r\n function GlobalDashboardGetData() {\r\n setReportingData(null);\r\n setReportingDataFilter([]);\r\n setLoadingPageShow(true);\r\n var myHeaders = new Headers();\r\n myHeaders.append(\"Authorization\", `bearer ${db.getState().Token}`);\r\n myHeaders.append(\"Content-Type\", \"application/json\");\r\n myHeaders.append(\"X-FP-API-KEY\", \"iphone\");\r\n var requestOptions = {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: myHeaders,\r\n redirect: \"follow\",\r\n };\r\n fetch(`${window.$apiurl}/customers`, requestOptions)\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n if (statusCode === 401) {\r\n history.push(\"/error/401\");\r\n }\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((result) => {\r\n var obj = result[1];\r\n setCustomers(obj || []);\r\n })\r\n .catch((error) => console.log(\"error\", error));\r\n fetch(`${window.$apiurl}/reporting/report?reportName=`, requestOptions)\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n if (statusCode === 401) {\r\n history.push(\"/error/401\");\r\n }\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((result) => {\r\n var obj = result[1];\r\n var datashow = [];\r\n datashow = obj.Reporting.Data;\r\n setReportingType(datashow);\r\n setReportingTypeFiltred(obj.Reporting.Data);\r\n })\r\n .catch((error) => console.log(\"error\", error));\r\n if (myParam !== null) {\r\n var link = \"\";\r\n if (db.getState().User.IsCustomer) {\r\n var customer = db\r\n .getState()\r\n .User.Customers.map((item) => item.Name + \",\")[0];\r\n customer = customer.substring(0, customer.length - 1);\r\n link = `${window.$apiurl}/reporting/report?reportName=${myParam}&customer=${customer}`;\r\n } else {\r\n link = `${window.$apiurl}/reporting/report?reportName=${myParam}`;\r\n }\r\n fetch(`${link}`, requestOptions)\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n if (statusCode === 401) {\r\n history.push(\"/error/401\");\r\n }\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((result) => {\r\n try {\r\n var obj = { ...result[1] };\r\n setLoadingPageShow(false);\r\n if (obj.Reporting.Name === \"PortView\") {\r\n obj.Reporting.Columns.push(\"Actions\");\r\n }\r\n var dateType = [];\r\n obj.Reporting.Columns.map((item, index) => {\r\n if (item.includes(\"Date\")) {\r\n dateType.push({ value: item, label: item });\r\n }\r\n });\r\n setDateFilterOptions(dateType || []);\r\n\r\n var notDateType = [];\r\n obj.Reporting.Columns.map((item, index) => {\r\n const arraychampFiltring = champFiltring.split(\",\");\r\n arraychampFiltring.map((itm) => {\r\n if (item.toLowerCase() === itm.toLowerCase()) {\r\n notDateType.push({ value: item, label: item });\r\n }\r\n });\r\n });\r\n setFealdsFilterOptions(notDateType);\r\n\r\n setReportingData(obj?.Reporting || []);\r\n setReportingDataFilter(obj?.Reporting.Data || []);\r\n } catch (error) {}\r\n })\r\n .catch((error) => console.log(\"error\", error));\r\n } else {\r\n setReportingData(null);\r\n setReportingDataFilter([]);\r\n setLoadingPageShow(false);\r\n }\r\n }\r\n\r\n function ActionsReportingView({ row, isReporting }) {\r\n const [idHot, setIdHot] = useState();\r\n const [postPoList, postPoHotList] = useState([]);\r\n const [getPoListHotItems, getPoListHot] = useState([]);\r\n const [getPoListItems, getPoList] = useState([]);\r\n async function PostPOHotList() {\r\n return fetch(window.$apiurl + \"/receiptsManagement/MarkUnMarkAsHot\", {\r\n method: \"post\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(postPoList),\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n return res[1];\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n async function GetPoListAsync(id) {\r\n return await fetch(\r\n `${window.$apiurl}/receiptsManagement/getPoNumbersByContainer?container=` +\r\n id,\r\n {\r\n method: \"get\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n }\r\n )\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n var a = res[1];\r\n const obj = [];\r\n const objTrue = [];\r\n {\r\n a.map((item) => {\r\n obj.push({ value: item.PoNumber, label: item.PoNumber });\r\n if (item.IsHot) {\r\n objTrue.push({ value: item.PoNumber, label: item.PoNumber });\r\n }\r\n });\r\n }\r\n const objIdsPO = [];\r\n const objPostGet = {\r\n Container: id,\r\n PoIds: [],\r\n IsHot: true,\r\n };\r\n {\r\n a.map((item) => {\r\n objIdsPO.push(item.PoNumber);\r\n });\r\n }\r\n objPostGet.PoIds.push(objIdsPO);\r\n postPoHotList(objPostGet);\r\n getPoList(obj);\r\n getPoListHot(objTrue);\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n const [ModalHot, setModalHot] = useState(false);\r\n const [ModalNote, setModalNotes] = useState(false);\r\n const [NoteCategories, setNoteCategories] = useState([]);\r\n return (\r\n <>\r\n {/* PO HOT */}\r\n \r\n \r\n \r\n Mark / Unmark as Hot PO Container : {row?.Container}\r\n \r\n {\r\n setModalHot(false);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n {\r\n const objIdsPO = [];\r\n const obj = {\r\n Ids: [],\r\n isHot: \"true\",\r\n isHaz: \"false\",\r\n };\r\n if (e !== null) {\r\n {\r\n e.map((item, index) => {\r\n objIdsPO.push(item.value);\r\n });\r\n }\r\n obj.Ids.push({\r\n Id: row?.Id,\r\n POIds: objIdsPO,\r\n });\r\n postPoHotList(obj);\r\n getPoListHot(e);\r\n } else {\r\n obj.Ids.push({\r\n Id: row?.Id,\r\n POIds: [],\r\n });\r\n postPoHotList(obj);\r\n getPoListHot([]);\r\n }\r\n }}\r\n />\r\n
    \r\n
    \r\n
    \r\n \r\n {\r\n setModalHot(false);\r\n }}\r\n >\r\n Close\r\n \r\n {\r\n await PostPOHotList();\r\n Notification(\r\n \"success\",\r\n `PO's Receipt ID ${row?.Id} has been marked / unmarked successfully`\r\n );\r\n setModalHot(false);\r\n GlobalDashboardGetData();\r\n }}\r\n >\r\n Save\r\n \r\n \r\n \r\n New Note}\r\n >\r\n {\r\n setIdHot(row?.Container);\r\n setModalNotes(true);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n {/* PO NOTE */}\r\n \r\n \r\n Add Notes Container ID : {row?.Container}\r\n \r\n \r\n \r\n \r\n \r\n {\r\n setModalNotes(false);\r\n }}\r\n >\r\n Close\r\n \r\n \r\n \r\n Mark as Hot}\r\n >\r\n {\r\n setModalHot(true);\r\n GetPoListAsync(row?.Container);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n ///////// End GetData Function ///////////\r\n\r\n const [columns, setcolumns] = useState(false);\r\n useEffect(() => {\r\n const storage = JSON.parse(localStorage.getItem(\"ColumnVisibility_RPPV\"));\r\n setcolumns(\r\n ReportingData?.Columns?.map((x) => {\r\n let hidden = false;\r\n\r\n if (Array.isArray(storage))\r\n hidden =\r\n storage.find((y) => y?.dataField + y?.text === x + x)?.hidden ??\r\n false;\r\n\r\n return {\r\n text: x,\r\n dataField: x,\r\n sort: true,\r\n hidden: x === \"RowColor\" || x === \"Key\" ? true : hidden,\r\n sortCaret: sortCaret,\r\n headerSortingClasses,\r\n formatter: (cell, row) => {\r\n if (x === \"Notes\" || x === \"CustomerNote\") {\r\n return GetIsNoteIcone(row[x]);\r\n } else if (x === \"Hot\") {\r\n if (row[x] === true) return GetIsHoteIcone();\r\n } else if (x === \"SLA\") {\r\n return GetSlaIcone(row[x]);\r\n } else if (x === \"PhotoFile\") {\r\n return GetPhotoFileIcone(row[x]);\r\n } else if (\r\n String(x)\r\n .trim()\r\n .toLocaleLowerCase()\r\n .includes(\r\n String(\"Days\")\r\n .trim()\r\n .toLocaleLowerCase()\r\n )\r\n ) {\r\n return GetTransloadDays(row[x]);\r\n } else if (x === \"Container\") {\r\n if (row.ContainerId !== undefined) {\r\n return (\r\n \r\n );\r\n } else if (row[\"Receive#\"] !== undefined) {\r\n return (\r\n \r\n );\r\n } else if (row.ReceiptId !== undefined) {\r\n return (\r\n \r\n );\r\n }\r\n } else if (x === \"PO\") {\r\n if (row.ContainerId !== undefined) {\r\n return (\r\n \r\n );\r\n } else if (row.ReceiptId !== undefined) {\r\n return (\r\n \r\n );\r\n }\r\n } else if (x === \"Trailer\") {\r\n return (\r\n \r\n );\r\n } else if (x === \"Actions\") {\r\n return ;\r\n } else {\r\n return checkDateFromat(row[x], x);\r\n }\r\n },\r\n };\r\n })\r\n );\r\n }, [ReportingData?.Columns]);\r\n\r\n return (\r\n <>\r\n {/* {LoadingPageShow && (\r\n \r\n
    \r\n \r\n
    \r\n
    \r\n )} */}\r\n \r\n eMPower | Global \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    \r\n {myParam === null ? \"Various Report\" : myParam + \" Report\"}\r\n

    \r\n {ReportingTypeId?.value !== null &&\r\n ReportingTypeId?.value !== undefined &&\r\n ReportingTypeId?.value !== \"\" ? (\r\n {\r\n setLoadingPageShow(true);\r\n var myHeaders = new Headers();\r\n myHeaders.append(\r\n \"Authorization\",\r\n `bearer ${db.getState().Token}`\r\n );\r\n myHeaders.append(\"Content-Type\", \"application/json\");\r\n myHeaders.append(\"X-FP-API-KEY\", \"iphone\");\r\n var requestOptions = {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: myHeaders,\r\n redirect: \"follow\",\r\n };\r\n var link = \"\";\r\n if (db.getState().User.IsCustomer) {\r\n var customer = db\r\n .getState()\r\n .User.Customers.map((item) => item.Name + \",\")[0];\r\n customer = customer.substring(0, customer.length - 1);\r\n\r\n link = `${window.$apiurl}/reporting/report?reportName=${ReportingTypeId?.value}&customer=${customer}`;\r\n } else {\r\n link = `${window.$apiurl}/reporting/report?reportName=${ReportingTypeId?.value}`;\r\n }\r\n fetch(`${link}`, requestOptions)\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n if (statusCode === 401) {\r\n history.push(\"/error/401\");\r\n }\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((result) => {\r\n var obj = { ...result[1] };\r\n setLoadingPageShow(false);\r\n setReportingData(null);\r\n setReportingDataFilter([]);\r\n if (ReportingTypeId.label === \"PortView\") {\r\n obj.Reporting.Columns.push(\"Actions\");\r\n }\r\n var dateType = [];\r\n obj.Reporting.Columns.map((item, index) => {\r\n if (item.includes(\"Date\")) {\r\n dateType.push({\r\n value: item,\r\n label: item,\r\n });\r\n }\r\n });\r\n setDateFilterOptions(dateType || []);\r\n //wareHouse\r\n var datewareHouse = [];\r\n obj.Reporting.Data.map((item, index) => {\r\n if (\r\n item.Warehouse !== null &&\r\n item.Warehouse !== undefined\r\n ) {\r\n if (\r\n !datewareHouse.some(\r\n (i) => i.value === item.Warehouse\r\n )\r\n ) {\r\n datewareHouse.push({\r\n value: item.Warehouse,\r\n label: item.Warehouse,\r\n });\r\n }\r\n }\r\n });\r\n setReportingWarehouseOption(\r\n datewareHouse.filter(onlyUnique)\r\n );\r\n //endWareHouse\r\n //Week\r\n var dateWeek = [];\r\n obj.Reporting.Data.map((item, index) => {\r\n if (\r\n item.Week !== null &&\r\n item.Week !== undefined\r\n ) {\r\n if (\r\n !dateWeek.some((i) =>\r\n String(i.value === String(item.Week))\r\n )\r\n ) {\r\n dateWeek.push({\r\n value: String(item.Week),\r\n label: String(item.Week),\r\n });\r\n }\r\n }\r\n });\r\n setReportingWeekOption(dateWeek.filter(onlyUnique));\r\n //endWeek\r\n //Customers\r\n var dateCustomer = [];\r\n var dateCustomerSelected = [];\r\n obj.Reporting.Data.map((item, index) => {\r\n if (\r\n item.Customer !== null &&\r\n item.Customer !== undefined\r\n ) {\r\n if (\r\n !dateCustomer.some(\r\n (i) => i.value === item.Customer\r\n )\r\n ) {\r\n dateCustomer.push({\r\n value: item.Customer,\r\n label: item.Customer,\r\n });\r\n }\r\n }\r\n });\r\n setReportingCustomerOption(\r\n dateCustomer.filter(onlyUnique)\r\n );\r\n\r\n if (\r\n dateCustomer.filter(onlyUnique).length === 1 &&\r\n db.getState().User.IsCustomer === false\r\n ) {\r\n dateCustomerSelected = dateCustomer.filter(\r\n onlyUnique\r\n );\r\n }\r\n //EndCustomerd\r\n //Service\r\n var dateService = [];\r\n obj.Reporting.Data.map((item, index) => {\r\n if (\r\n item.Service !== null &&\r\n item.Service !== undefined\r\n ) {\r\n if (\r\n !dateService.some(\r\n (i) => i.value === item.Service\r\n )\r\n ) {\r\n dateService.push({\r\n value: item.Service,\r\n label: item.Service,\r\n });\r\n }\r\n }\r\n });\r\n setReportingServiceOption(\r\n dateService.filter(onlyUnique)\r\n );\r\n //endService\r\n //Mode\r\n var dateMode = [];\r\n obj.Reporting.Data.map((item, index) => {\r\n if (\r\n item.Mode !== null &&\r\n item.Mode !== undefined\r\n ) {\r\n if (\r\n !dateMode.some((i) => i.value === item.Mode)\r\n ) {\r\n dateMode.push({\r\n value: item.Mode,\r\n label: item.Mode,\r\n });\r\n }\r\n }\r\n });\r\n setReportingModeOption(dateMode.filter(onlyUnique));\r\n //endMode\r\n var notDateType = [];\r\n obj.Reporting.Columns.map((item, index) => {\r\n const arraychampFiltring = champFiltring.split(\r\n \",\"\r\n );\r\n arraychampFiltring.map((itm) => {\r\n if (item.toLowerCase() === itm.toLowerCase()) {\r\n notDateType.push({\r\n value: item,\r\n label: item,\r\n });\r\n }\r\n });\r\n });\r\n setFealdsFilterOptions(notDateType);\r\n setReportingData(obj.Reporting || []);\r\n setReportingDataFilter(obj.Reporting.Data || []);\r\n if (db.getState().User.IsCustomer) {\r\n var customer = [];\r\n db.getState().User.Customers.map((item) => {\r\n customer.push({\r\n value: item.Id,\r\n label: item.Name,\r\n });\r\n });\r\n setFilterReportData({\r\n Customers: customer,\r\n StartDate:\r\n ReportingTypeId?.value !== \"PortView\" &&\r\n ReportingTypeId?.value !== \"DCArrivals\"\r\n ? db.read().getState()[\r\n reportTypeSelected\r\n ] !== undefined\r\n ? db.read().getState()[reportTypeSelected]\r\n ?.endDate !== null &&\r\n db.read().getState()[reportTypeSelected]\r\n ?.endDate !== \"\"\r\n ? moment(\r\n db.read().getState()[\r\n reportTypeSelected\r\n ].startDate\r\n ).format(\"YYYY-MM-DD\")\r\n : \"\"\r\n : GetDateFilterIfIsFistTime(\r\n true,\r\n obj.Reporting\r\n )\r\n : \"\",\r\n EndDate:\r\n ReportingTypeId?.value !== \"PortView\" &&\r\n ReportingTypeId?.value !== \"DCArrivals\"\r\n ? db.read().getState()[\r\n reportTypeSelected\r\n ] !== undefined\r\n ? db.read().getState()[reportTypeSelected]\r\n ?.endDate !== null &&\r\n db.read().getState()[reportTypeSelected]\r\n ?.endDate !== \"\"\r\n ? moment(\r\n db.read().getState()[\r\n reportTypeSelected\r\n ].endDate\r\n ).format(\"YYYY-MM-DD\")\r\n : \"\"\r\n : GetDateFilterIfIsFistTime(\r\n false,\r\n obj.Reporting\r\n )\r\n : \"\",\r\n SearchText: \"\",\r\n SearchBy: \"\",\r\n Service: \"\",\r\n Mode: \"\",\r\n WareHouse: \"\",\r\n Week: \"\",\r\n\r\n DateFilterType: dateType[0]?.value,\r\n });\r\n setDateFilter(dateType[0]);\r\n } else {\r\n setFilterReportData({\r\n Customers: dateCustomerSelected,\r\n StartDate:\r\n ReportingTypeId?.value !== \"PortView\" &&\r\n ReportingTypeId?.value !== \"DCArrivals\"\r\n ? db.read().getState()[\r\n reportTypeSelected\r\n ] !== undefined\r\n ? db.read().getState()[reportTypeSelected]\r\n ?.endDate !== null &&\r\n db.read().getState()[reportTypeSelected]\r\n ?.endDate !== \"\"\r\n ? moment(\r\n db.read().getState()[\r\n reportTypeSelected\r\n ].startDate\r\n ).format(\"YYYY-MM-DD\")\r\n : \"\"\r\n : GetDateFilterIfIsFistTime(\r\n true,\r\n obj.Reporting\r\n )\r\n : \"\",\r\n EndDate:\r\n ReportingTypeId?.value !== \"PortView\" &&\r\n ReportingTypeId?.value !== \"DCArrivals\"\r\n ? db.read().getState()[\r\n reportTypeSelected\r\n ] !== undefined\r\n ? db.read().getState()[reportTypeSelected]\r\n ?.endDate !== null &&\r\n db.read().getState()[reportTypeSelected]\r\n ?.endDate !== \"\"\r\n ? moment(\r\n db.read().getState()[\r\n reportTypeSelected\r\n ].endDate\r\n ).format(\"YYYY-MM-DD\")\r\n : \"\"\r\n : GetDateFilterIfIsFistTime(\r\n false,\r\n obj.Reporting\r\n )\r\n : \"\",\r\n SearchText: \"\",\r\n Service: \"\",\r\n Mode: \"\",\r\n WareHouse: \"\",\r\n Week: \"\",\r\n\r\n DateFilterType: dateType[0]?.value,\r\n });\r\n setDateFilter(dateType[0]);\r\n }\r\n setSearchByFilter(null);\r\n setSearchByService(null);\r\n setSearchByMode(null);\r\n setSearchByWareHouse(null);\r\n setSearchByWeek(null);\r\n })\r\n .catch((error) => console.log(\"error\", error));\r\n }}\r\n >\r\n {LoadingPageShow === true ? (\r\n
    \r\n Refresh
    \r\n
    \r\n ) : (\r\n <>\r\n REFRESH\r\n \r\n )}\r\n \r\n ) : (\r\n \"\"\r\n )}\r\n\r\n \r\n \r\n Export as\r\n save\r\n \r\n \r\n {\r\n var name = `Report_${\r\n ReportingTypeId.value\r\n }_Customer_${FilterReportData.Customers.map(\r\n (item) => item.label\r\n )}_StartDate_${FilterReportData.StartDate}_EndDate_${\r\n FilterReportData.EndDate\r\n }`;\r\n fetchMyAPI2(\r\n \"excel\",\r\n name.length > 160 ? name.slice(0, 160) : name\r\n );\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n {\r\n var name = `Report_${\r\n ReportingTypeId.value\r\n }_Customer_${FilterReportData.Customers.map(\r\n (item) => item.label\r\n )}_StartDate_${FilterReportData.StartDate}_EndDate_${\r\n FilterReportData.EndDate\r\n }`;\r\n fetchMyAPI2(\r\n \"csv\",\r\n name.length > 160 ? name.slice(0, 160) : name\r\n );\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n {\r\n var name = `Report_${\r\n ReportingTypeId.value\r\n }_Customer_${FilterReportData.Customers.map(\r\n (item) => item.label\r\n )}_StartDate_${FilterReportData.StartDate}_EndDate_${\r\n FilterReportData.EndDate\r\n }`;\r\n fetchMyAPI2(\r\n \"json\",\r\n name.length > 160 ? name.slice(0, 160) : name\r\n );\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n {db.getState().User.IsCustomer ? (\r\n <>\r\n
    \r\n

    Customers

    \r\n ({\r\n value: suggestion.Id,\r\n label: suggestion.CompanyName,\r\n }))}\r\n className=\"basic-multi-select\"\r\n classNamePrefix=\"select\"\r\n onChange={(e) => {\r\n var listCustomer = [];\r\n let values = { ...FilterReportData };\r\n if (e?.length === 0) {\r\n values.Customers = [];\r\n } else if (e !== null) {\r\n e.map((item, index) => {\r\n listCustomer.push(item.label);\r\n });\r\n values.Customers = e;\r\n } else {\r\n values.Customers = [];\r\n }\r\n setFilterReportData(values);\r\n }}\r\n />\r\n
    \r\n\r\n
    \r\n

    Report Type

    \r\n {\r\n return {\r\n value: x.Name,\r\n label: x?.Name,\r\n };\r\n })}\r\n onChange={(newValue) => {\r\n if (\r\n newValue?.value !== null &&\r\n newValue?.value !== \"\" &&\r\n newValue?.value !== undefined\r\n ) {\r\n reportTypeSelected = newValue?.value;\r\n setReportingTypeId({\r\n value: newValue?.value,\r\n label: newValue?.value,\r\n });\r\n setLoadingPageShow(true);\r\n var myHeaders = new Headers();\r\n myHeaders.append(\r\n \"Authorization\",\r\n `bearer ${db.getState().Token}`\r\n );\r\n myHeaders.append(\r\n \"Content-Type\",\r\n \"application/json\"\r\n );\r\n myHeaders.append(\"X-FP-API-KEY\", \"iphone\");\r\n var requestOptions = {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: myHeaders,\r\n redirect: \"follow\",\r\n };\r\n var link = \"\";\r\n if (db.getState().User.IsCustomer) {\r\n var customer = db\r\n .getState()\r\n .User.Customers.map(\r\n (item) => item.Name + \",\"\r\n )[0];\r\n customer = customer.substring(\r\n 0,\r\n customer.length - 1\r\n );\r\n\r\n link = `${window.$apiurl}/reporting/report?reportName=${newValue?.value}&customer=${customer}`;\r\n } else {\r\n link = `${window.$apiurl}/reporting/report?reportName=${newValue?.value}`;\r\n }\r\n fetch(`${link}`, requestOptions)\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n if (statusCode === 401) {\r\n history.push(\"/error/401\");\r\n }\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((result) => {\r\n var obj = { ...result[1] };\r\n setLoadingPageShow(false);\r\n setReportingData(null);\r\n setReportingDataFilter([]);\r\n if (newValue.label === \"PortView\") {\r\n obj.Reporting.Columns.push(\"Actions\");\r\n }\r\n var dateType = [];\r\n obj.Reporting.Columns.map((item, index) => {\r\n if (item.includes(\"Date\")) {\r\n dateType.push({\r\n value: item,\r\n label: item,\r\n });\r\n }\r\n });\r\n setDateFilterOptions(dateType || []);\r\n //wareHouse\r\n var datewareHouse = [];\r\n obj.Reporting.Data.map((item, index) => {\r\n if (\r\n item.Warehouse !== null &&\r\n item.Warehouse !== undefined\r\n ) {\r\n if (\r\n !datewareHouse.some(\r\n (i) => i.value === item.Warehouse\r\n )\r\n ) {\r\n datewareHouse.push({\r\n value: item.Warehouse,\r\n label: item.Warehouse,\r\n });\r\n }\r\n }\r\n });\r\n setReportingWarehouseOption(\r\n datewareHouse.filter(onlyUnique)\r\n );\r\n //endWareHouse\r\n //Week\r\n var dateWeek = [];\r\n obj.Reporting.Data.map((item, index) => {\r\n if (\r\n item.Week !== null &&\r\n item.Week !== undefined\r\n ) {\r\n if (\r\n !dateWeek.some(\r\n (i) =>\r\n String(i.value) ===\r\n String(item.Week)\r\n )\r\n ) {\r\n dateWeek.push({\r\n value: String(item.Week),\r\n label: String(item.Week),\r\n });\r\n }\r\n }\r\n });\r\n setReportingWeekOption(\r\n dateWeek.filter(onlyUnique)\r\n );\r\n //endWeek\r\n //Customers\r\n var dateCustomer = [];\r\n obj.Reporting.Data.map((item, index) => {\r\n if (\r\n item.Customer !== null &&\r\n item.Customer !== undefined\r\n ) {\r\n if (\r\n !dateCustomer.some(\r\n (i) => i.value === item.Customer\r\n )\r\n ) {\r\n dateCustomer.push({\r\n value: item.Customer,\r\n label: item.Customer,\r\n });\r\n }\r\n }\r\n });\r\n setReportingCustomerOption(\r\n dateCustomer.filter(onlyUnique)\r\n );\r\n //EndCustomerd\r\n //Service\r\n var dateService = [];\r\n obj.Reporting.Data.map((item, index) => {\r\n if (\r\n item.Service !== null &&\r\n item.Service !== undefined\r\n ) {\r\n if (\r\n !dateService.some(\r\n (i) => i.value === item.Service\r\n )\r\n ) {\r\n dateService.push({\r\n value: item.Service,\r\n label: item.Service,\r\n });\r\n }\r\n }\r\n });\r\n setReportingServiceOption(\r\n dateService.filter(onlyUnique)\r\n );\r\n //endService\r\n //Mode\r\n var dateMode = [];\r\n obj.Reporting.Data.map((item, index) => {\r\n if (\r\n item.Mode !== null &&\r\n item.Mode !== undefined\r\n ) {\r\n if (\r\n !dateMode.some(\r\n (i) => i.value === item.Mode\r\n )\r\n ) {\r\n dateMode.push({\r\n value: item.Mode,\r\n label: item.Mode,\r\n });\r\n }\r\n }\r\n });\r\n setReportingModeOption(\r\n dateMode.filter(onlyUnique)\r\n );\r\n //endService\r\n var notDateType = [];\r\n obj.Reporting.Columns.map((item, index) => {\r\n const arraychampFiltring = champFiltring.split(\r\n \",\"\r\n );\r\n arraychampFiltring.map((itm) => {\r\n if (\r\n item.toLowerCase() === itm.toLowerCase()\r\n ) {\r\n notDateType.push({\r\n value: item,\r\n label: item,\r\n });\r\n }\r\n });\r\n });\r\n setFealdsFilterOptions(notDateType);\r\n setReportingData(obj.Reporting || []);\r\n setReportingDataFilter(\r\n obj.Reporting.Data || []\r\n );\r\n if (db.getState().User.IsCustomer) {\r\n var customer = [];\r\n db.getState().User.Customers.map((item) => {\r\n customer.push({\r\n value: item.Id,\r\n label: item.Name,\r\n });\r\n });\r\n setFilterReportData({\r\n Customers: customer,\r\n StartDate:\r\n newValue?.value !== \"PortView\" &&\r\n newValue?.value !== \"DCArrivals\"\r\n ? db.read().getState()[\r\n reportTypeSelected\r\n ] !== undefined\r\n ? db.read().getState()[\r\n reportTypeSelected\r\n ]?.endDate !== null &&\r\n db.read().getState()[\r\n reportTypeSelected\r\n ]?.endDate !== \"\"\r\n ? moment(\r\n db.read().getState()[\r\n reportTypeSelected\r\n ].startDate\r\n ).format(\"YYYY-MM-DD\")\r\n : \"\"\r\n : GetDateFilterIfIsFistTime(\r\n true,\r\n obj.Reporting\r\n )\r\n : // .add(14, \"days\")\r\n // .format(\"YYYY-MM-DD\")\r\n \"\",\r\n EndDate:\r\n newValue?.value !== \"PortView\" &&\r\n newValue?.value !== \"DCArrivals\"\r\n ? db.read().getState()[\r\n reportTypeSelected\r\n ] !== undefined\r\n ? db.read().getState()[\r\n reportTypeSelected\r\n ]?.endDate !== null &&\r\n db.read().getState()[\r\n reportTypeSelected\r\n ]?.endDate !== \"\"\r\n ? moment(\r\n db.read().getState()[\r\n reportTypeSelected\r\n ].endDate\r\n ).format(\"YYYY-MM-DD\")\r\n : \"\"\r\n : GetDateFilterIfIsFistTime(\r\n false,\r\n obj.Reporting\r\n )\r\n : \"\",\r\n SearchText: \"\",\r\n SearchBy: \"\",\r\n Service: \"\",\r\n Mode: \"\",\r\n WareHouse: \"\",\r\n Week: \"\",\r\n\r\n DateFilterType: dateType[0]?.value,\r\n });\r\n setDateFilter(dateType[0]);\r\n } else {\r\n setFilterReportData({\r\n Customers: [],\r\n StartDate:\r\n newValue?.value !== \"PortView\" &&\r\n newValue?.value !== \"DCArrivals\"\r\n ? db.read().getState()[\r\n reportTypeSelected\r\n ] !== undefined\r\n ? db.read().getState()[\r\n reportTypeSelected\r\n ]?.endDate !== null &&\r\n db.read().getState()[\r\n reportTypeSelected\r\n ]?.endDate !== \"\"\r\n ? moment(\r\n db.read().getState()[\r\n reportTypeSelected\r\n ].startDate\r\n ).format(\"YYYY-MM-DD\")\r\n : \"\"\r\n : GetDateFilterIfIsFistTime(\r\n true,\r\n obj.Reporting\r\n )\r\n : \"\",\r\n EndDate:\r\n newValue?.value !== \"PortView\" &&\r\n newValue?.value !== \"DCArrivals\"\r\n ? db.read().getState()[\r\n reportTypeSelected\r\n ] !== undefined\r\n ? db.read().getState()[\r\n reportTypeSelected\r\n ]?.endDate !== null &&\r\n db.read().getState()[\r\n reportTypeSelected\r\n ]?.endDate !== \"\"\r\n ? moment(\r\n db.read().getState()[\r\n reportTypeSelected\r\n ].endDate\r\n ).format(\"YYYY-MM-DD\")\r\n : \"\"\r\n : GetDateFilterIfIsFistTime(\r\n false,\r\n obj.Reporting\r\n )\r\n : \"\",\r\n SearchText: \"\",\r\n SearchBy: \"\",\r\n Service: \"\",\r\n Mode: \"\",\r\n WareHouse: \"\",\r\n Week: \"\",\r\n\r\n DateFilterType: dateType[0]?.value,\r\n });\r\n setDateFilter(dateType[0]);\r\n }\r\n })\r\n .catch((error) => console.log(\"error\", error));\r\n } else {\r\n setReportingTypeId(null);\r\n reportTypeSelected = undefined;\r\n }\r\n setSearchByFilter(null);\r\n setSearchByService(null);\r\n setSearchByMode(null);\r\n setSearchByWareHouse(null);\r\n setSearchByWeek(null);\r\n }}\r\n />\r\n {ReportingType?.length === 0 && }\r\n
    \r\n \r\n ) : (\r\n <>\r\n
    \r\n

    Report Type

    \r\n {\r\n return {\r\n value: x.Name,\r\n label: x?.Name,\r\n };\r\n })}\r\n onChange={(newValue) => {\r\n var typeSelected = newValue?.value;\r\n if (\r\n newValue?.value !== null &&\r\n newValue?.value !== \"\" &&\r\n newValue?.value !== undefined\r\n ) {\r\n reportTypeSelected = newValue?.value;\r\n setReportingTypeId({\r\n value: newValue?.value,\r\n label: newValue?.value,\r\n });\r\n setLoadingPageShow(true);\r\n var myHeaders = new Headers();\r\n myHeaders.append(\r\n \"Authorization\",\r\n `bearer ${db.getState().Token}`\r\n );\r\n myHeaders.append(\r\n \"Content-Type\",\r\n \"application/json\"\r\n );\r\n myHeaders.append(\"X-FP-API-KEY\", \"iphone\");\r\n var requestOptions = {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: myHeaders,\r\n redirect: \"follow\",\r\n };\r\n var link = \"\";\r\n if (db.getState().User.IsCustomer) {\r\n var customer = db\r\n .getState()\r\n .User.Customers.map(\r\n (item) => item.Name + \",\"\r\n )[0];\r\n customer = customer.substring(\r\n 0,\r\n customer.length - 1\r\n );\r\n\r\n link = `${window.$apiurl}/reporting/report?reportName=${newValue?.value}&customer=${customer}`;\r\n } else {\r\n link = `${window.$apiurl}/reporting/report?reportName=${newValue?.value}`;\r\n }\r\n fetch(`${link}`, requestOptions)\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n if (statusCode === 401) {\r\n history.push(\"/error/401\");\r\n }\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((result) => {\r\n var obj = { ...result[1] };\r\n setLoadingPageShow(false);\r\n setReportingData(null);\r\n setReportingDataFilter([]);\r\n if (newValue.label === \"PortView\") {\r\n obj.Reporting.Columns.push(\"Actions\");\r\n }\r\n var dateType = [];\r\n obj.Reporting.Columns.map((item, index) => {\r\n if (item.includes(\"Date\")) {\r\n dateType.push({\r\n value: item,\r\n label: item,\r\n });\r\n }\r\n });\r\n setDateFilterOptions(dateType || []);\r\n //wareHouse\r\n var datewareHouse = [];\r\n obj.Reporting.Data.map((item, index) => {\r\n if (\r\n item.Warehouse !== null &&\r\n item.Warehouse !== undefined\r\n ) {\r\n if (\r\n !datewareHouse.some(\r\n (i) => i.value === item.Warehouse\r\n )\r\n ) {\r\n datewareHouse.push({\r\n value: item.Warehouse,\r\n label: item.Warehouse,\r\n });\r\n }\r\n }\r\n });\r\n setReportingWarehouseOption(\r\n datewareHouse.filter(onlyUnique)\r\n );\r\n //endWareHouse\r\n //Week\r\n var dateWeek = [];\r\n obj.Reporting.Data.map((item, index) => {\r\n if (\r\n item.Week !== null &&\r\n item.Week !== undefined\r\n ) {\r\n if (\r\n !dateWeek.some(\r\n (i) =>\r\n String(i.value) ===\r\n String(item.Week)\r\n )\r\n ) {\r\n dateWeek.push({\r\n value: String(item.Week),\r\n label: String(item.Week),\r\n });\r\n }\r\n }\r\n });\r\n setReportingWeekOption(\r\n dateWeek.filter(onlyUnique)\r\n );\r\n //endWeek\r\n //Customers\r\n var dateCustomer = [];\r\n var dateCustomerSelected = [];\r\n obj.Reporting.Data.map((item, index) => {\r\n if (\r\n item.Customer !== null &&\r\n item.Customer !== undefined\r\n ) {\r\n if (\r\n !dateCustomer.some(\r\n (i) => i.value === item.Customer\r\n )\r\n ) {\r\n dateCustomer.push({\r\n value: item.Customer,\r\n label: item.Customer,\r\n });\r\n }\r\n }\r\n });\r\n setReportingCustomerOption(\r\n dateCustomer.filter(onlyUnique)\r\n );\r\n\r\n if (\r\n dateCustomer.filter(onlyUnique).length ===\r\n 1 &&\r\n db.getState().User.IsCustomer === false\r\n ) {\r\n dateCustomerSelected = dateCustomer.filter(\r\n onlyUnique\r\n );\r\n }\r\n //EndCustomerd\r\n //Service\r\n var dateService = [];\r\n obj.Reporting.Data.map((item, index) => {\r\n if (\r\n item.Service !== null &&\r\n item.Service !== undefined\r\n ) {\r\n if (\r\n !dateService.some(\r\n (i) => i.value === item.Service\r\n )\r\n ) {\r\n dateService.push({\r\n value: item.Service,\r\n label: item.Service,\r\n });\r\n }\r\n }\r\n });\r\n setReportingServiceOption(\r\n dateService.filter(onlyUnique)\r\n );\r\n //endService\r\n //Mode\r\n var dateMode = [];\r\n obj.Reporting.Data.map((item, index) => {\r\n if (\r\n item.Mode !== null &&\r\n item.Mode !== undefined\r\n ) {\r\n if (\r\n !dateMode.some(\r\n (i) => i.value === item.Mode\r\n )\r\n ) {\r\n dateMode.push({\r\n value: item.Mode,\r\n label: item.Mode,\r\n });\r\n }\r\n }\r\n });\r\n setReportingModeOption(\r\n dateMode.filter(onlyUnique)\r\n );\r\n //endMode\r\n var notDateType = [];\r\n obj.Reporting.Columns.map((item, index) => {\r\n const arraychampFiltring = champFiltring.split(\r\n \",\"\r\n );\r\n arraychampFiltring.map((itm) => {\r\n if (\r\n item.toLowerCase() === itm.toLowerCase()\r\n ) {\r\n notDateType.push({\r\n value: item,\r\n label: item,\r\n });\r\n }\r\n });\r\n });\r\n setFealdsFilterOptions(notDateType);\r\n setReportingData(obj.Reporting || []);\r\n setReportingDataFilter(\r\n obj.Reporting.Data || []\r\n );\r\n if (db.getState().User.IsCustomer) {\r\n var customer = [];\r\n db.getState().User.Customers.map((item) => {\r\n customer.push({\r\n value: item.Id,\r\n label: item.Name,\r\n });\r\n });\r\n setFilterReportData({\r\n Customers: customer,\r\n StartDate:\r\n newValue?.value !== \"PortView\" &&\r\n newValue?.value !== \"DCArrivals\"\r\n ? db.read().getState()[\r\n reportTypeSelected\r\n ] !== undefined\r\n ? db.read().getState()[\r\n reportTypeSelected\r\n ]?.endDate !== null &&\r\n db.read().getState()[\r\n reportTypeSelected\r\n ]?.endDate !== \"\"\r\n ? moment(\r\n db.read().getState()[\r\n reportTypeSelected\r\n ].startDate\r\n ).format(\"YYYY-MM-DD\")\r\n : \"\"\r\n : GetDateFilterIfIsFistTime(\r\n true,\r\n obj.Reporting\r\n )\r\n : \"\",\r\n EndDate:\r\n newValue?.value !== \"PortView\" &&\r\n newValue?.value !== \"DCArrivals\"\r\n ? db.read().getState()[\r\n reportTypeSelected\r\n ] !== undefined\r\n ? db.read().getState()[\r\n reportTypeSelected\r\n ]?.endDate !== null &&\r\n db.read().getState()[\r\n reportTypeSelected\r\n ]?.endDate !== \"\"\r\n ? moment(\r\n db.read().getState()[\r\n reportTypeSelected\r\n ].endDate\r\n ).format(\"YYYY-MM-DD\")\r\n : \"\"\r\n : moment().format(\"YYYY-MM-DD\")\r\n : \"\",\r\n SearchText: \"\",\r\n SearchBy: \"\",\r\n Service: \"\",\r\n Mode: \"\",\r\n WareHouse: \"\",\r\n Week: \"\",\r\n\r\n DateFilterType: dateType[0]?.value,\r\n });\r\n setDateFilter(dateType[0]);\r\n } else {\r\n setFilterReportData({\r\n Customers: dateCustomerSelected,\r\n StartDate:\r\n newValue?.value !== \"PortView\" &&\r\n newValue?.value !== \"DCArrivals\"\r\n ? db.read().getState()[\r\n reportTypeSelected\r\n ] !== undefined\r\n ? db.read().getState()[\r\n reportTypeSelected\r\n ]?.endDate !== null &&\r\n db.read().getState()[\r\n reportTypeSelected\r\n ]?.endDate !== \"\"\r\n ? moment(\r\n db.read().getState()[\r\n reportTypeSelected\r\n ].startDate\r\n ).format(\"YYYY-MM-DD\")\r\n : \"\"\r\n : GetDateFilterIfIsFistTime(\r\n true,\r\n obj.Reporting\r\n )\r\n : \"\",\r\n EndDate:\r\n newValue?.value !== \"PortView\" &&\r\n newValue?.value !== \"DCArrivals\"\r\n ? db.read().getState()[\r\n reportTypeSelected\r\n ] !== undefined\r\n ? db.read().getState()[\r\n reportTypeSelected\r\n ]?.endDate !== null &&\r\n db.read().getState()[\r\n reportTypeSelected\r\n ]?.endDate !== \"\"\r\n ? moment(\r\n db.read().getState()[\r\n reportTypeSelected\r\n ].endDate\r\n ).format(\"YYYY-MM-DD\")\r\n : \"\"\r\n : GetDateFilterIfIsFistTime(\r\n false,\r\n obj.Reporting\r\n )\r\n : \"\",\r\n SearchText: \"\",\r\n Service: \"\",\r\n Mode: \"\",\r\n WareHouse: \"\",\r\n Week: \"\",\r\n\r\n DateFilterType: dateType[0]?.value,\r\n });\r\n setDateFilter(dateType[0]);\r\n }\r\n setSearchByFilter(null);\r\n setSearchByService(null);\r\n setSearchByMode(null);\r\n setSearchByWareHouse(null);\r\n setSearchByWeek(null);\r\n })\r\n .catch((error) => console.log(\"error\", error));\r\n } else {\r\n setReportingTypeId(null);\r\n reportTypeSelected = undefined;\r\n }\r\n }}\r\n />\r\n {ReportingType?.length === 0 && }\r\n
    \r\n {ReportingCustomerOption.length > 0 ? (\r\n
    \r\n

    Customers

    \r\n {\r\n var listCustomer = [];\r\n let values = { ...FilterReportData };\r\n if (e?.length === 0) {\r\n values.Customers = [];\r\n } else if (e !== null) {\r\n e.map((item, index) => {\r\n listCustomer.push(item.label);\r\n });\r\n values.Customers = e;\r\n } else {\r\n values.Customers = [];\r\n }\r\n setFilterReportData(values);\r\n }}\r\n />\r\n
    \r\n ) : (\r\n \"\"\r\n )}\r\n \r\n )}\r\n {ReportingTypeId.value !== null &&\r\n ReportingTypeId.value !== \"DCArrivals\" &&\r\n DateFilterOptions.length > 0 &&\r\n !String(ReportingTypeId?.value).includes(\"Graph\") &&\r\n ReportingTypeId.value !== \"PortView\" ? (\r\n
    \r\n

    Date Filter

    \r\n {\r\n setDateFilter(e);\r\n let values = { ...FilterReportData };\r\n values.DateFilterType = e?.value;\r\n setFilterReportData(values);\r\n }}\r\n />\r\n
    \r\n ) : (\r\n \"\"\r\n )}\r\n {DateFilterOptions.length > 0 ? (\r\n
    \r\n \r\n Date Start - End\r\n \r\n {\r\n let values = { ...FilterReportData };\r\n values.StartDate = dateconvertFroeExport(startDate);\r\n const userDefaultDates = {\r\n startDate: dateconvertFroeExport(startDate),\r\n endDate: dateconvertFroeExport(endDate),\r\n };\r\n db.set(\r\n `${ReportingTypeId.value}`,\r\n userDefaultDates\r\n ).write();\r\n values.EndDate = dateconvertFroeExport(endDate);\r\n setFilterReportData(values);\r\n }}\r\n dateFormat=\"MM/DD/YYYY\"\r\n minDate={new Date(1900, 0, 1)}\r\n maxDate={new Date(2100, 0, 1)}\r\n startDatePlaceholder=\"Start Date\"\r\n endDatePlaceholder=\"End Date\"\r\n disabled={false}\r\n className=\"my-own-class-name\"\r\n startWeekDay=\"monday\"\r\n />\r\n
    \r\n ) : (\r\n \"\"\r\n )}\r\n\r\n {!String(ReportingTypeId?.value).includes(\"Graph\") ? (\r\n <>\r\n 0 &&\r\n db.getState().User.IsCustomer === false\r\n ? \"col-lg-1\"\r\n : \"col-lg-2\"\r\n : \"col-lg-2\"\r\n } mt-5`}\r\n >\r\n

    Search By

    \r\n {\r\n setSearchByFilter(e);\r\n let values = { ...FilterReportData };\r\n values.SearchBy = e?.value;\r\n setFilterReportData(values);\r\n }}\r\n />\r\n
    \r\n \r\n

    Search

    \r\n {\r\n let values = { ...FilterReportData };\r\n values.SearchText = e.target.value;\r\n setFilterReportData(values);\r\n }}\r\n placeholder=\"Search in All Fields\"\r\n label=\"Date\"\r\n />\r\n
    \r\n \r\n ) : (\r\n \"\"\r\n )}\r\n
    \r\n
    \r\n {ReportingWarehouseOption.length > 0 ? (\r\n
    \r\n

    WareHouse

    \r\n {\r\n setSearchByWareHouse(e);\r\n let values = { ...FilterReportData };\r\n values.WareHouse = e?.value;\r\n setFilterReportData(values);\r\n }}\r\n />\r\n
    \r\n ) : (\r\n \"\"\r\n )}\r\n {ReportingServiceOption.length > 0 ? (\r\n
    \r\n

    Service

    \r\n {\r\n setSearchByService(e);\r\n let values = { ...FilterReportData };\r\n values.Service = e?.value;\r\n setFilterReportData(values);\r\n }}\r\n />\r\n
    \r\n ) : (\r\n \"\"\r\n )}\r\n {ReportingModeOption.length > 0 ? (\r\n
    \r\n

    Mode

    \r\n {\r\n setSearchByMode(e);\r\n let values = { ...FilterReportData };\r\n values.Mode = e?.value;\r\n setFilterReportData(values);\r\n }}\r\n />\r\n
    \r\n ) : (\r\n \"\"\r\n )}\r\n {ReportingWeekOption.length > 0 ? (\r\n
    \r\n

    Week

    \r\n {\r\n setSearchByWeek(e);\r\n let values = { ...FilterReportData };\r\n values.Week = e?.value;\r\n setFilterReportData(values);\r\n }}\r\n />\r\n
    \r\n ) : (\r\n \"\"\r\n )}\r\n
    \r\n {/*
    \r\n \r\n
    */}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {LoadingPageShow === true ? (\r\n \r\n \r\n
    \r\n ) : ReportingData === null ? (\r\n
    \r\n

    \r\n Please select Report\r\n

    \r\n
    \r\n ) : (\r\n <>\r\n

    \r\n \r\n {ReportingData.Name}\r\n \r\n {!String(ReportingTypeId?.value).includes(\"Graph\") ? (\r\n \r\n Column visibility{\" \"}\r\n \r\n \r\n }\r\n body={\r\n
    \r\n {(columns || []).map((x) => (\r\n
    \r\n {\r\n let a = columns;\r\n a.forEach((y) => {\r\n if (\r\n y?.dataField + y?.text ===\r\n x?.dataField + x?.text\r\n ) {\r\n y.hidden = !y.hidden;\r\n }\r\n });\r\n setcolumns([]);\r\n setTimeout(() => {\r\n setcolumns(a);\r\n localStorage.setItem(\r\n \"ColumnVisibility_RPPV\",\r\n JSON.stringify(a)\r\n );\r\n }, 1);\r\n }}\r\n />\r\n
    \r\n ))}\r\n {columns?.length === 0 && (\r\n \r\n Loading...\r\n \r\n )}\r\n
    \r\n }\r\n />\r\n ) : (\r\n \"\"\r\n )}\r\n

    \r\n {String(ReportingTypeId?.value).includes(\"Graph\") ? (\r\n
    \r\n \r\n
    \r\n ) : (\r\n
    \r\n {columns &&\r\n columns?.length > 0 &&\r\n ReportingData?.Columns &&\r\n ReportingData !== null &&\r\n ReportingData?.Columns?.length > 0 && (\r\n <>\r\n {ReportingData.Name === \"ALL Po’s Report\" ? (\r\n \r\n There is no data available at the moment.\r\n \r\n }\r\n data={[...ReportingDataFilter].map(\r\n (item, index) => {\r\n var data = item;\r\n data.key = index;\r\n return data;\r\n }\r\n )}\r\n columns={columns}\r\n rowClasses={rowClasses}\r\n defaultSorted={[\r\n { dataField: \"Aging\", order: \"desc\" },\r\n ]}\r\n pagination={paginationFactory({\r\n showTotal: true,\r\n sizePerPage:\r\n ReportingDataFilter.length <= 100\r\n ? ReportingDataFilter.length\r\n : 10,\r\n sizePerPageList: [\r\n { text: \"5\", value: 5 },\r\n { text: \"10\", value: 10 },\r\n { text: \"25\", value: 25 },\r\n {\r\n text: \"All\",\r\n value: ReportingDataFilter.length,\r\n },\r\n ],\r\n })}\r\n wrapperClasses=\"table-responsive reporting\"\r\n classes=\"table table-head-custom table-vertical-center\"\r\n bootstrap4\r\n bordered={false}\r\n />\r\n ) : (\r\n \r\n There is no data available at the moment.\r\n \r\n }\r\n data={ReportingDataFilter.map(\r\n (item, index) => {\r\n var data = item;\r\n data.key = index;\r\n return data;\r\n }\r\n )}\r\n columns={columns}\r\n rowClasses={rowClasses}\r\n pagination={paginationFactory({\r\n showTotal: true,\r\n sizePerPage:\r\n ReportingDataFilter.length <= 100\r\n ? ReportingDataFilter.length\r\n : 10,\r\n sizePerPageList: [\r\n { text: \"5\", value: 5 },\r\n { text: \"10\", value: 10 },\r\n { text: \"25\", value: 25 },\r\n {\r\n text: \"All\",\r\n value: ReportingDataFilter.length,\r\n },\r\n ],\r\n })}\r\n wrapperClasses=\"table-responsive reporting\"\r\n classes=\"table table-head-custom table-vertical-center\"\r\n bootstrap4\r\n bordered={false}\r\n />\r\n )}\r\n \r\n )}\r\n
    \r\n )}\r\n \r\n )}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n );\r\n}\r\n","/* eslint-disable jsx-a11y/anchor-is-valid */\r\nimport React from \"react\";\r\n\r\nexport const DropdownCustomToggler = React.forwardRef((props, ref) => {\r\n return (\r\n {\r\n e.preventDefault();\r\n props.onClick(e);\r\n }}\r\n >\r\n {props.children}\r\n \r\n );\r\n});\r\nexport const DropdownCustomTogglerPrimary = React.forwardRef((props, ref) => {\r\n return (\r\n {\r\n e.preventDefault();\r\n props.onClick(e);\r\n }}\r\n >\r\n {props.children}\r\n \r\n );\r\n});\r\nexport const DropdownCustomTogglerYellow = React.forwardRef((props, ref) => {\r\n return (\r\n {\r\n e.preventDefault();\r\n props.onClick(e);\r\n }}\r\n >\r\n {props.children}\r\n \r\n );\r\n});\r\n","import {\r\n Button,\r\n FormControlLabel,\r\n Icon,\r\n IconButton,\r\n LinearProgress,\r\n Radio,\r\n} from \"@material-ui/core\";\r\nimport CloseIcon from \"@material-ui/icons/Close\";\r\nimport clsx from \"clsx\";\r\nimport { Field, Form, Formik } from \"formik\";\r\nimport $, { default as JsNative } from \"jquery\";\r\nimport React, { useEffect, useRef, useState } from \"react\";\r\nimport {\r\n Accordion,\r\n Alert,\r\n Modal,\r\n OverlayTrigger,\r\n Tooltip,\r\n Spinner,\r\n} from \"react-bootstrap\";\r\nimport SVG from \"react-inlinesvg\";\r\nimport { toAbsoluteUrl } from \"../../../../../../../../_metronic/_helpers\";\r\nimport Select from \"react-select\";\r\nimport * as Yup from \"yup\";\r\nimport {\r\n CheckDetail,\r\n is,\r\n IsValidMessage,\r\n ReturnEmptyOrString,\r\n} from \"../../../../../../../../_metronic/_helpers/ATHelpers\";\r\nimport {\r\n AttachementsComponent,\r\n CreatableSelect3,\r\n DateTime30,\r\n DateTimeSimple,\r\n Input,\r\n NotesComponent,\r\n RadioButton,\r\n} from \"../../../../../../../../_metronic/_partials/controls\";\r\nimport SelectPagination from \"../../../../../../../../_metronic/_partials/widgets/Select/SelectPagination\";\r\nimport { Notification } from \"../../../../../../Notification\";\r\nimport { OneMoveMasterVendors } from \"../../../FindOrders/product-Containers/remark-edit-dialog/OneMoveMasterVendors.js\";\r\nimport { Receiving } from \"../../product-Receiving/Remarks\";\r\nimport { ReceivingUIProvider } from \"../../product-Receiving/RemarksUIContext\";\r\nimport {\r\n AutoRateComponent,\r\n AutoRatingCharges,\r\n EventChangeAutoRate,\r\n StartAutoRate,\r\n AutoRatingItem,\r\n ChargesColor,\r\n ChargesColorCategory,\r\n FieldID,\r\n MenuListComposition,\r\n RemoveSpace,\r\n SortAndRename,\r\n SortOnlyCharge,\r\n Spinner2s,\r\n AddSpace3,\r\n CheckRateInCharges,\r\n RemoveDuplicate,\r\n CalculateCharge,\r\n SetSubTotal,\r\n RoundToFixed,\r\n RateClassName,\r\n isVariableOpenDefault,\r\n RateReadOnly,\r\n isChangeFunction,\r\n ChargesRemoveComponent,\r\n checkIs0,\r\n CheckIsNigativePositive,\r\n CheckIsNigativeRate,\r\n NigativePositiveStop,\r\n ChargesOriAddSup,\r\n GetLengthRound,\r\n LockPayblesButton,\r\n IsRounding,\r\n InputValueCharge,\r\n InvoiceorBill,\r\n CategoryTotalId,\r\n listdistinctFunction,\r\n ChargesFirstColumn,\r\n numberofSort,\r\n HideIsNotBill,\r\n} from \"./ChargesFunction\";\r\nimport LocalStorage from \"lowdb/adapters/LocalStorage\";\r\nimport low from \"lowdb\";\r\nconst adapter = new LocalStorage(\"db\");\r\nconst db = low(adapter);\r\n\r\n// Validation schema\r\nconst catchError = [];\r\nconst obj = {\r\n Id: 0,\r\n ExternalId: null,\r\n Name: \"\",\r\n Address: \"\",\r\n City: \"\",\r\n State: \"\",\r\n ZipCode: \"\",\r\n};\r\n\r\nconst Title = ({ Str, Required = false }) => {\r\n return (\r\n <>\r\n \r\n )}\r\n \r\n \r\n );\r\n};\r\nlet vendorsOrg = [];\r\nexport function RemarkEditForm({\r\n saveRemark,\r\n remark,\r\n actionsLoading,\r\n onHide,\r\n isId = false,\r\n}) {\r\n const [LineItems, setLineItems] = useState(window.$reciept_LineItem || []);\r\n const [Model, setModel] = useState({});\r\n const [Customers, setCustomers] = useState(catchError);\r\n const [BillTo, setBillTo] = useState(catchError);\r\n const [Shippers, setShippers] = useState(catchError);\r\n const [ModesStatus, setModesStatus] = useState(catchError);\r\n const [Consignees, setConsignees] = useState(catchError);\r\n const [Vendors, setVendors] = useState(catchError);\r\n const [GenericAddresses, setGenericAddresses] = useState(catchError);\r\n const [Warehouses, setWarehouses] = useState(catchError);\r\n const [Services, setServices] = useState(catchError);\r\n const [NoteCategories, setNoteCategories] = useState(catchError);\r\n const [ReloadCalc, setReloadCalc] = useState(0);\r\n const [ChargesFunctionOne, setChargesFunctionOne] = useState(false);\r\n const [ChargesFunctionModel, setChargesFunctionModel] = useState(false);\r\n const [FreightChargeId, setFreightChargeId] = useState(\"\");\r\n const [AutoQuantity, setAutoQuantity] = useState(\"\");\r\n useEffect(() => {\r\n setLineItems(window.$reciept_LineItem);\r\n }, [window.$reciept_LineItem]);\r\n const [id, setId] = useState(false);\r\n let RemarkEditSchema = Yup.object().shape({\r\n OrderId: Yup.string().required(\"Order Option is required\"),\r\n CustomerId: Yup.string().required(\"Customer Option is required\"),\r\n });\r\n\r\n function setReloadCalcF() {\r\n setReloadCalc((y) => y + 1);\r\n\r\n var eles = document.querySelectorAll(\".setReloadCalcF\");\r\n eles.forEach((ele) => {\r\n ele.click();\r\n });\r\n }\r\n\r\n useEffect(() => {\r\n GetViewmodel();\r\n window.ContainerSaveClose = false;\r\n window.OneMoveMasterVendors = false;\r\n\r\n // Auto Rate\r\n window.ARCartons = undefined;\r\n window.ARTotalWeight1 = undefined;\r\n window.ARTotalWeight2 = undefined;\r\n window.ARTotalCube1 = undefined;\r\n }, []);\r\n\r\n function SetFieldValueFunction(setFieldValue) {\r\n window.setFieldValue = setFieldValue;\r\n }\r\n\r\n useEffect(() => {\r\n if (remark?.Id) {\r\n window.$ItemsCusId = remark?.CustomerId;\r\n window.$ItemsRmId = remark?.Id;\r\n }\r\n if (remark?.Id) {\r\n remark = JSON.parse(JSON.stringify(remark));\r\n setId(remark?.Id);\r\n window.C_CarrierId = remark?.CarrierId || false;\r\n\r\n window.C_ChargesReadOnly = remark?.AreChargesReadOnly || false;\r\n window.C_PayablesReadOnly = remark?.ArePayablesReadOnly || false;\r\n\r\n remark.Cartons = remark?.Cartons?.toFixed(2);\r\n remark.TotalWeight1 = remark?.TotalWeight1?.toFixed(2);\r\n remark.TotalCube1 = remark?.TotalCube1?.toFixed(2);\r\n }\r\n\r\n if (!isId) {\r\n remark.ConsigneeId = window.$NewReceipts?.ConsigneeId;\r\n remark.CustomerId = window.$NewReceipts?.CustomerId;\r\n remark.MasterBill = window.$NewReceipts?.MasterBill;\r\n remark.CustomerRefNumber1 = window.$NewReceipts?.CustomerRefNumber;\r\n remark.CustomerRefNumber2 = window.$NewReceipts?.CustomerRefNumber2;\r\n remark.PickupLocationId = window.$NewReceipts?.ShipperId;\r\n remark.ServiceId = window.$NewReceipts?.ServiceId || 5;\r\n remark.ModeId = window.$NewReceipts?.ModeId || 7;\r\n remark.ServiceLevelId = window.$NewReceipts?.ServiceLevelId || 24;\r\n remark.FreightChargeId = \"98\";\r\n }\r\n\r\n var freightChargeId = remark?.FreightChargeId || false;\r\n if (freightChargeId) {\r\n setFreightChargeId(freightChargeId + \"\");\r\n }\r\n\r\n setModel({});\r\n setTimeout(() => {\r\n setModel(remark);\r\n }, 1);\r\n\r\n if (remark?.Vendors) vendorsOrg = remark?.Vendors;\r\n }, [remark]);\r\n\r\n function setFreightChargeIdFun(id) {\r\n setFreightChargeId(id);\r\n }\r\n\r\n async function GetViewmodel() {\r\n return await fetch(window.$apiurl + \"/transload/receipts/getviewmodel\", {\r\n method: \"get\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n const data = await response.json();\r\n setAutoQuantity(window.$Containers_AutoChares);\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n const baseData = res[1]?.ViewModel;\r\n setCustomers(baseData[\"Customers\"] || catchError);\r\n setWarehouses(baseData[\"Warehouses\"] || catchError);\r\n\r\n window.FreightCharges = baseData[\"FreightCharges\"] || catchError;\r\n window.VendorTypeListOption = baseData[\"VendorTypes\"] || catchError;\r\n\r\n const vendorList = baseData[\"Vendors\"] || catchError;\r\n vendorList.forEach((x) => {\r\n let c = \"#000000\";\r\n if (x?.AlertType === \"Danger\") c = \"#ff5555\";\r\n else if (x?.AlertType === \"Warning\") c = \"#bbb000\";\r\n x.Color = c;\r\n });\r\n setVendors(vendorList);\r\n\r\n setGenericAddresses(baseData[\"GenericAddresses\"] || catchError);\r\n setBillTo(baseData[\"BillTo\"] || catchError);\r\n setShippers(baseData[\"Shippers\"] || catchError);\r\n setConsignees(baseData[\"Consignees\"] || catchError);\r\n setServices(res[1]?.Services || catchError);\r\n window.UnitOfMeasures = baseData[\"UnitOfMeasures\"] || catchError;\r\n window.BillToOptionsList = baseData[\"BillTo\"] || catchError;\r\n\r\n setChargesFunctionOne(true);\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n\r\n return (\r\n <>\r\n {\r\n if (NigativePositiveStop(values.Charges)) return false;\r\n values.Charges = ChargesOriAddSup(values.Charges);\r\n\r\n if (CheckVandorIsDanger(Vendors, values.Vendors)) return false;\r\n\r\n window.IsValid = false;\r\n values = JSON.parse(JSON.stringify(values));\r\n values.OrderId = values?.OrderId || window?.FindOrdersTransload;\r\n values.Charges = values?.Charges || [];\r\n values.InvoiceNumber = undefined;\r\n values.InvoiceDate = undefined;\r\n\r\n var i = $(\".ChargesBtnDiv\").hasClass(\"show\");\r\n if (i) $(\".ChargesBtnDiv\").trigger(\"click\");\r\n\r\n IsValidMessage(\"Freight Charge\", values?.FreightChargeId);\r\n if (window.IsValid) return false;\r\n\r\n (values?.Vendors ?? []).forEach((x, i) => {\r\n if (x === null) values.Vendors.splice(i, 1);\r\n });\r\n\r\n SaveDisabledFunction(true);\r\n saveRemark(values).then(() => {\r\n SaveDisabledFunction(false);\r\n });\r\n }}\r\n >\r\n {({ handleSubmit, setFieldValue, values }) => (\r\n <>\r\n \r\n {actionsLoading && (\r\n
    \r\n
    \r\n
    \r\n )}\r\n {SetFieldValueFunction(setFieldValue)}\r\n\r\n \r\n
    \r\n \r\n \r\n
    Container Basic
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    Order Details
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Charges\r\n \r\n {\r\n setChargesFunctionModel(false);\r\n setReloadCalcF();\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n Do you want to remove the rates?\r\n \r\n \r\n
    \r\n {\r\n setChargesFunctionModel(false);\r\n document.getElementById(\"setShowMail\").click();\r\n }}\r\n className=\"btn btn-light btn-elevate mr-2\"\r\n >\r\n No\r\n \r\n {\r\n setChargesFunctionModel(false);\r\n setFieldValue(\"Charges\", []);\r\n setReloadCalcF();\r\n\r\n setTimeout(() => {\r\n document.getElementById(\"setShowMail\").click();\r\n }, 2000);\r\n }}\r\n className=\"btn btn-success btn-elevate\"\r\n >\r\n Yes\r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n Receivables{\" \"}\r\n {!values?.CustomerId && (\r\n \r\n * Note : Please Select Customer\r\n \r\n )}\r\n {!ChargesFunctionOne && (\r\n \r\n )}\r\n
    \r\n
    \r\n \r\n \r\n \r\n <>\r\n
    \r\n
    \r\n {ChargesFunctionOne &&\r\n values?.Charges?.length > -1 &&\r\n values?.CustomerId ? (\r\n <>\r\n \r\n \r\n ) : (\r\n \r\n )}\r\n
    \r\n
    \r\n \r\n
    \r\n \r\n \r\n
    \r\n Vendors List{\" \"}\r\n {values?.Id && (\r\n {\r\n window.C_PayablesReadOnly = e;\r\n window.ChargesReadOnly = e;\r\n setFieldValue(\"ArePayablesReadOnly\", e);\r\n var eles = document.querySelectorAll(\r\n \".setChargesReadOnly\"\r\n );\r\n eles.forEach((ele) => {\r\n ele.click();\r\n });\r\n }}\r\n />\r\n )}\r\n {!values?.CustomerId && (\r\n \r\n * Note : Please Select Customer\r\n \r\n )}\r\n {!ChargesFunctionOne && (\r\n \r\n )}\r\n
    \r\n
    \r\n \r\n \r\n \r\n {ChargesFunctionOne &&\r\n values?.Charges?.length > -1 &&\r\n values?.CustomerId ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n <>\r\n \r\n \r\n
    Receipt Items
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {isId && (\r\n <>\r\n \r\n \r\n
    Notes
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n
    Attachements
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n
    \r\n PEOPLES\r\n
    \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n )}\r\n \r\n
    \r\n \r\n \r\n {\r\n if (window.ReceiptManagmetShow) {\r\n $(\"#ReLoadTableId\").trigger(\"click\");\r\n }\r\n onHide();\r\n if (window.location.href.indexOf(\"Billing\") > -1) {\r\n document\r\n .getElementsByClassName(\"text-info\")[0]\r\n .parentElement.click();\r\n }\r\n }}\r\n className=\"btn btn-light btn-elevate\"\r\n >\r\n Close\r\n \r\n\r\n {\r\n if (!values?.CustomerId)\r\n Notification(\"error\", \"Customer not found\");\r\n if (!e.target.classList.contains(\"disabled\")) {\r\n window.ContainerSaveClose = false;\r\n handleSubmit();\r\n }\r\n }}\r\n id=\"AddContainerID\"\r\n className=\"btn btn-primary btn-elevate SaveDisabled disabled\"\r\n >\r\n Save\r\n \r\n\r\n {\r\n if (!values?.CustomerId)\r\n Notification(\"error\", \"Customer not found\");\r\n if (!e.target.classList.contains(\"disabled\")) {\r\n window.ContainerSaveClose = true;\r\n handleSubmit();\r\n }\r\n }}\r\n className=\"btn btn-primary btn-elevate SaveDisabled disabled\"\r\n >\r\n Save & Close\r\n {!ChargesFunctionOne && (\r\n \r\n )}\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n );\r\n}\r\n\r\nfunction ContainerBasicFun({\r\n values,\r\n setFieldValue,\r\n BillTo = [],\r\n Customers = [],\r\n Shippers = [],\r\n setShippers,\r\n setConsignees,\r\n Consignees = [],\r\n Vendors = [],\r\n Warehouses = [],\r\n ModesStatus = [],\r\n setChargesFunctionModel,\r\n isId,\r\n setFreightChargeId,\r\n FreightChargeId,\r\n setReloadCalcF,\r\n}) {\r\n const [BillToDetail, setBillToDetail] = useState(obj);\r\n const [CustomersDetail, setCustomersDetail] = useState(obj);\r\n const [WarehousesDetail, setWarehousesDetail] = useState(obj);\r\n const [ConsigneesDetail, setConsigneesDetail] = useState(obj);\r\n const [ShippersDetail, setShippersDetail] = useState();\r\n\r\n useEffect(() => {\r\n try {\r\n if (values?.BillToId) {\r\n setvalueEquipmentProviderId(values?.BillToId, \"BillToId\");\r\n }\r\n } catch (err) {}\r\n }, [values?.BillToId, BillTo]);\r\n\r\n useEffect(() => {\r\n if (values?.CustomerId) {\r\n setvalueEquipmentProviderId(values?.CustomerId, \"CustomerId\");\r\n }\r\n }, [values?.CustomerId, Customers]);\r\n\r\n useEffect(() => {\r\n if (values?.PickupLocationId) {\r\n setvalueEquipmentProviderId(values?.PickupLocationId, \"PickupLocationId\");\r\n }\r\n }, [values?.PickupLocationId, Shippers]);\r\n\r\n useEffect(() => {\r\n if (values?.ConsigneeId) {\r\n setvalueEquipmentProviderId(values?.ConsigneeId, \"ConsigneeId\");\r\n }\r\n }, [values?.ConsigneeId, Consignees]);\r\n\r\n async function GetAddress(id, Type) {\r\n var myHeaders = new Headers();\r\n myHeaders.append(\"Authorization\", `Bearer ${db.read().getState()?.Token}`);\r\n\r\n var requestOptions = {\r\n method: \"GET\",\r\n headers: myHeaders,\r\n redirect: \"follow\",\r\n };\r\n\r\n return fetch(\r\n `${window.$apiurl}/TransloadReceipts/Address/${id}?isCustomer=${\r\n Type === \"CustomerId\" ? true : false\r\n }&iswarehouse=${Type === \"Warehouse\" ? true : false}`,\r\n requestOptions\r\n )\r\n .then((response) => response.text())\r\n .then((result) => {\r\n var obj = JSON.parse(result);\r\n return obj;\r\n })\r\n .catch((error) => console.log(\"error\", error));\r\n }\r\n async function setvalueEquipmentProviderId(Id, Type) {\r\n let obj = await GetAddress(Id, Type);\r\n if (Id === undefined) {\r\n alert(Type);\r\n }\r\n switch (Type) {\r\n case \"BillToId\":\r\n setBillToDetail(obj);\r\n break;\r\n case \"CustomerId\":\r\n setCustomersDetail(obj);\r\n break;\r\n case \"PickupLocationId\":\r\n setShippersDetail(obj);\r\n break;\r\n case \"ConsigneeId\":\r\n setConsigneesDetail(obj);\r\n break;\r\n\r\n default:\r\n break;\r\n }\r\n }\r\n\r\n function CheckStatus(Status, Name) {\r\n try {\r\n if (Status?.length === 0) return false;\r\n return Status.filter((x) => x?.Name === Name).length > 0;\r\n } catch (error) {\r\n return false;\r\n }\r\n }\r\n\r\n function OpenChargesModel() {\r\n var sum = 0;\r\n (values?.Charges || []).forEach((x) => {\r\n sum += x?.Quantity;\r\n });\r\n if (values?.Charges?.length > 0 && sum > 0) setChargesFunctionModel(true);\r\n else setReloadCalcF();\r\n }\r\n\r\n function GetShipper(field) {\r\n var b = Shippers.find((x) => x.Id === values?.PickupLocationId);\r\n if (b && b[field]) return b[field];\r\n return \"\";\r\n }\r\n\r\n function GetConsignee(field) {\r\n var b = Consignees.find((x) => x.Id === values?.ConsigneeId);\r\n if (b && b[field]) return b[field];\r\n return \"\";\r\n }\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n {isId && (\r\n
    \r\n \r\n
    \r\n )}\r\n
    \r\n \r\n
    \r\n {isId && (\r\n <>\r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n )}\r\n {!isId && (\r\n <>\r\n
    \r\n \r\n
    \r\n
    {\" \"}\r\n \r\n )}\r\n
    \r\n \r\n\r\n <SelectPagination\r\n name=\"CustomerId\"\r\n value={{\r\n value: values?.CustomerId,\r\n label:\r\n Customers.find((x) => x?.Id === values?.CustomerId)?.Name ??\r\n \"Select...\",\r\n }}\r\n options={Customers.map((x) => {\r\n return {\r\n value: x?.Id,\r\n label: x?.Name,\r\n };\r\n })}\r\n onChange={(newValue) => {\r\n if (newValue !== null) {\r\n setFieldValue(\"CustomerId\", newValue?.value);\r\n } else {\r\n setFieldValue(\"CustomerId\", null);\r\n setCustomersDetail();\r\n }\r\n if (newValue?.value) OpenChargesModel();\r\n }}\r\n />\r\n {Customers?.length === 0 && <LinearProgress />}\r\n\r\n <div className=\"form-control h-auto mt-2\">\r\n {CheckDetail(CustomersDetail?.Code)}\r\n {CheckDetail(CustomersDetail?.Name)}\r\n {CheckDetail(CustomersDetail?.Address)}\r\n {CustomersDetail?.City}, {CustomersDetail?.State},{\" \"}\r\n {CustomersDetail?.ZipCode}\r\n </div>\r\n </div>\r\n <div className=\"col-lg-6 mt-5\">\r\n <Title Str={\"Bill To\"} />\r\n <SelectPagination\r\n name=\"BillToId\"\r\n value={{\r\n value: values?.BillToId,\r\n label: BillTo.find((x) => x?.Id === values?.BillToId)\r\n ? BillTo.find((x) => x?.Id === values?.BillToId)?.Name\r\n : \"Select...\",\r\n }}\r\n options={BillTo.map((x) => {\r\n return {\r\n value: x?.Id,\r\n label: x?.Name,\r\n };\r\n })}\r\n onChange={(newValue) => {\r\n if (newValue !== null) {\r\n setFieldValue(\"BillToId\", newValue?.value);\r\n } else {\r\n setFieldValue(\"BillToId\", null);\r\n setBillToDetail();\r\n }\r\n }}\r\n />\r\n\r\n <div className=\"form-control h-auto mt-2\">\r\n {CheckDetail(BillToDetail?.Code)}\r\n {CheckDetail(BillToDetail?.Name)}\r\n {CheckDetail(BillToDetail?.Address1)}\r\n {CheckDetail(BillToDetail?.Address2)}\r\n {BillToDetail?.City}, {BillToDetail?.State}, {BillToDetail?.ZipCode}\r\n </div>\r\n </div>\r\n <div className=\"col-lg-3 mt-5\">\r\n <Field\r\n name=\"CustomerRefNumber1\"\r\n component={Input}\r\n placeholder=\"Cust. Ref. No 1\"\r\n label=\"Cust. Ref. No 1\"\r\n maxlength=\"10\"\r\n />\r\n </div>\r\n <div className=\"col-lg-3 mt-5\">\r\n <Field\r\n name=\"CustomerRefNumber2\"\r\n component={Input}\r\n placeholder=\"Cust. Ref. No 2\"\r\n label=\"Cust. Ref. No 2\"\r\n maxlength=\"10\"\r\n />\r\n </div>\r\n <div className=\"col-lg-3 mt-5\">\r\n <Field\r\n name=\"BillingReferences1\"\r\n component={Input}\r\n placeholder=\"Cust. Ref. No 1\"\r\n label=\"Bill To Ref. No 1\"\r\n />\r\n </div>\r\n <div className=\"col-lg-3 mt-5\">\r\n <Field\r\n name=\"BillingReferences2\"\r\n component={Input}\r\n placeholder=\"Bill To Ref. No 2\"\r\n label=\"Bill To Ref. No 2\"\r\n />\r\n </div>\r\n <div className=\"col-lg-6 mt-5\"> </div>\r\n <input type=\"hidden\" id=\"FreightChargeIdClick\" />\r\n <div className=\"col-lg-6 mt-5\">\r\n <input\r\n type=\"hidden\"\r\n id=\"FreightChargeIdVendor\"\r\n value={values?.FreightChargeId}\r\n />\r\n <RadioButton\r\n name=\"FreightChargeId\"\r\n label=\"Freight Charge Terms\"\r\n row\r\n value={FreightChargeId}\r\n onChange={(e) => {\r\n var value = e.target.value;\r\n setFreightChargeId(value);\r\n setFieldValue(\"FreightChargeId\", value);\r\n }}\r\n >\r\n <FormControlLabel\r\n value=\"98\"\r\n control={<Radio color=\"primary\" />}\r\n label=\"Prepaid\"\r\n />\r\n <FormControlLabel\r\n value=\"99\"\r\n control={<Radio color=\"primary\" />}\r\n label=\"Collect\"\r\n />\r\n <FormControlLabel\r\n value=\"100\"\r\n control={<Radio color=\"primary\" />}\r\n label=\"Third Party Billing\"\r\n />\r\n </RadioButton>\r\n </div>\r\n\r\n <div className=\"col-lg-6 mt-5\">\r\n <Title Str={\"Pickup Location\"} />\r\n <SelectPagination\r\n name=\"PickupLocationId\"\r\n value={{\r\n value: values?.PickupLocationId,\r\n label:\r\n Shippers.find((x) => x?.Id === values?.PickupLocationId)\r\n ?.Name ?? \"Select...\",\r\n }}\r\n onChangefirst={false}\r\n options={Shippers.map((x) => {\r\n return {\r\n value: x?.Id,\r\n label: x?.Name,\r\n };\r\n })}\r\n onChange={(newValue) => {\r\n if (newValue !== null) {\r\n setFieldValue(\"PickupLocationId\", newValue?.value);\r\n } else {\r\n setFieldValue(\"PickupLocationId\", null);\r\n setShippersDetail();\r\n }\r\n setTimeout(() => {\r\n if (newValue?.value) OpenChargesModel();\r\n }, 500);\r\n }}\r\n />\r\n <div className=\"form-control h-auto mt-2\">\r\n {CheckDetail(ShippersDetail?.Code)}\r\n {CheckDetail(ShippersDetail?.Name)}\r\n {CheckDetail(ShippersDetail?.Address1)}\r\n {ShippersDetail?.City}, {ShippersDetail?.State},{\" \"}\r\n {ShippersDetail?.ZipCode}\r\n </div>\r\n </div>\r\n <div className=\"col-lg-6 mt-5\">\r\n <Title Str={\"Ship to Location\"} />\r\n <SelectPagination\r\n name=\"ConsigneeId\"\r\n value={{\r\n value: values?.ConsigneeId,\r\n label:\r\n Consignees.find((x) => x?.Id === values?.ConsigneeId)?.Name ??\r\n \"Select...\",\r\n }}\r\n onChangefirst={false}\r\n options={Consignees.map((x) => {\r\n return {\r\n value: x?.Id,\r\n label: x?.Name,\r\n };\r\n })}\r\n onChange={(newValue) => {\r\n if (newValue !== null) {\r\n setFieldValue(\"ConsigneeId\", newValue?.value);\r\n } else {\r\n setFieldValue(\"ConsigneeId\", null);\r\n setConsigneesDetail();\r\n }\r\n setTimeout(() => {\r\n if (newValue?.value) OpenChargesModel();\r\n }, 500);\r\n }}\r\n />\r\n <div className=\"form-control h-auto mt-2\">\r\n {CheckDetail(ConsigneesDetail?.Code)}\r\n {CheckDetail(ConsigneesDetail?.Name)}\r\n {CheckDetail(ConsigneesDetail?.Address1)}\r\n {ConsigneesDetail?.City}, {ConsigneesDetail?.State},{\" \"}\r\n {ConsigneesDetail?.ZipCode}\r\n </div>\r\n </div>\r\n\r\n <div className=\"col-lg-6 mt-5\">\r\n <Title Str={\"Into Warehouse\"} />\r\n <CreatableSelect3\r\n name=\"WarehouseId\"\r\n setFieldValue={setFieldValue}\r\n valueSelect={values?.WarehouseId}\r\n options={Warehouses.map((x) => {\r\n return {\r\n value: x.Id,\r\n label: x?.Name,\r\n };\r\n })}\r\n onChange={async (newValue) => {\r\n var a = newValue?.value;\r\n if (a) {\r\n setFieldValue(\"WarehouseId\", a);\r\n var b = await GetAddress(a, \"Warehouse\");\r\n setWarehousesDetail(b);\r\n } else {\r\n setFieldValue(\"WarehouseId\", null);\r\n setWarehousesDetail();\r\n }\r\n }}\r\n />\r\n <div className=\"mt-2 form-control h-auto\">\r\n {CheckDetail(WarehousesDetail?.Code)}\r\n {CheckDetail(WarehousesDetail?.Name)}\r\n {CheckDetail(WarehousesDetail?.Address1)}\r\n {CheckDetail(WarehousesDetail?.Address2)}\r\n {WarehousesDetail?.City}, {WarehousesDetail?.State},{\" \"}\r\n {WarehousesDetail?.ZipCode}\r\n </div>\r\n </div>\r\n\r\n <div className=\"col-lg-12 mt-5\">\r\n <Title Str={\"Dates\"} />\r\n </div>\r\n <div className=\"col-lg-6 my-5\">\r\n <DateTimeSimple\r\n name=\"Created\"\r\n label=\"Order Creation\"\r\n valueSelect={values?.Created}\r\n setFieldValue={setFieldValue}\r\n disabled={true}\r\n />\r\n </div>\r\n {CheckStatus(ModesStatus, \"Dispatched\") && (\r\n <div className=\"col-lg-6 my-5\">\r\n <DateTime30\r\n name=\"DispatchedDate\"\r\n label=\"Dispatched\"\r\n defaultvalue={values?.DispatchedDate}\r\n disabled={values?.IsManager ? false : !values?.DispatchedDate}\r\n setFieldValue={setFieldValue}\r\n />\r\n </div>\r\n )}\r\n {CheckStatus(ModesStatus, \"Discharged\") && (\r\n <div className=\"col-lg-6 my-5\">\r\n <DateTime30\r\n name=\"DischargeDate\"\r\n label=\"Discharged\"\r\n defaultvalue={values?.DischargeDate}\r\n disabled={values?.IsManager ? false : !values?.DischargeDate}\r\n setFieldValue={setFieldValue}\r\n />\r\n </div>\r\n )}\r\n {CheckStatus(ModesStatus, \"Released\") && (\r\n <div className=\"col-lg-6 my-5\">\r\n <DateTime30\r\n name=\"ReleasedDate\"\r\n label=\"Released\"\r\n defaultvalue={values?.ReleasedDate}\r\n disabled={values?.IsManager ? false : !values?.ReleasedDate}\r\n setFieldValue={setFieldValue}\r\n onChange={() => {\r\n setFieldValue(\"StatusId\", 17);\r\n }}\r\n />{\" \"}\r\n </div>\r\n )}\r\n\r\n {CheckStatus(ModesStatus, \"Appointed\") && (\r\n <div className=\"col-lg-6 my-5\">\r\n <DateTime30\r\n name=\"AppointedDate\"\r\n label=\"Appointement Date\"\r\n defaultvalue={values?.AppointedDate}\r\n disabled={values?.IsManager ? false : !values?.AppointedDate}\r\n setFieldValue={setFieldValue}\r\n onChange={() => {\r\n setFieldValue(\"StatusId\", 17);\r\n }}\r\n />\r\n </div>\r\n )}\r\n\r\n {CheckStatus(ModesStatus, \"Picked Up\") && (\r\n <div className=\"col-lg-6 my-5\">\r\n <DateTime30\r\n name=\"PickedUpDate\"\r\n label=\"Picked Up Date\"\r\n defaultvalue={values?.PickedUpDate}\r\n disabled={values?.IsManager ? false : !values?.PickedUpDate}\r\n setFieldValue={setFieldValue}\r\n onChange={() => {\r\n setTimeout(() => {\r\n document.getElementById(\"setShowChassis\").click();\r\n }, 1000);\r\n }}\r\n />\r\n </div>\r\n )}\r\n\r\n {CheckStatus(ModesStatus, \"Load Received\") && (\r\n <div className=\"col-lg-6 my-5\">\r\n <DateTime30\r\n name=\"ReceivedDate\"\r\n label=\"Received\"\r\n defaultvalue={values?.ReceivedDate}\r\n disabled={values?.IsManager ? false : !values?.ReceivedDate}\r\n setFieldValue={setFieldValue}\r\n />\r\n </div>\r\n )}\r\n {CheckStatus(ModesStatus, \"Devanned\") && (\r\n <div className=\"col-lg-6 my-5\">\r\n <DateTime30\r\n name=\"DevannedDate\"\r\n label=\"Devanned\"\r\n defaultvalue={values?.DevannedDate}\r\n disabled={values?.IsManager ? false : !values?.DevannedDate}\r\n setFieldValue={setFieldValue}\r\n onChange={() => {\r\n setFieldValue(\"StatusId\", 21);\r\n }}\r\n />\r\n </div>\r\n )}\r\n {CheckStatus(ModesStatus, \"Terminated\") && (\r\n <div className=\"col-lg-6 my-5\">\r\n <DateTime30\r\n name=\"TerminatedDate\"\r\n label=\"Terminated\"\r\n defaultvalue={values?.TerminatedDate}\r\n disabled={values?.IsManager ? false : !values?.TerminatedDate}\r\n setFieldValue={setFieldValue}\r\n onChange={() => {\r\n setFieldValue(\"StatusId\", 22);\r\n setTimeout(() => {\r\n document.getElementById(\"setShowChassis\").click();\r\n }, 1000);\r\n }}\r\n />\r\n </div>\r\n )}\r\n {CheckStatus(ModesStatus, \"Closed\") && (\r\n <div className=\"col-lg-6 my-5\">\r\n <DateTime30\r\n name=\"ClosedDate\"\r\n label=\"Closed\"\r\n defaultvalue={values?.ClosedDate}\r\n disabled={values?.IsManager ? false : !values?.ClosedDate}\r\n setFieldValue={setFieldValue}\r\n onChange={() => {\r\n setFieldValue(\"StatusId\", 23);\r\n }}\r\n />\r\n </div>\r\n )}\r\n <div className=\"col-lg-6 my-5\">\r\n <DateTime30\r\n name=\"PickedUpOnDate\"\r\n label=\"Pickup Apt\"\r\n defaultvalue={values?.PickedUpOnDate}\r\n disabled={!values?.IsManager}\r\n setFieldValue={setFieldValue}\r\n onChange={() => {\r\n setFieldValue(\"StatusId\", 19);\r\n }}\r\n />\r\n </div>\r\n <div className=\"col-lg-6 my-5\">\r\n <DateTime30\r\n name=\"DeliveryOnDate\"\r\n label=\"Delivery Apt\"\r\n defaultvalue={values?.DeliveryOnDate}\r\n disabled={!values?.IsManager}\r\n setFieldValue={setFieldValue}\r\n />\r\n </div>\r\n {values?.ServiceId === 6 && values?.ModeId === 31 && (\r\n <>\r\n <div className=\"col-lg-6 my-5\">\r\n <DateTime30\r\n name=\"PlannedDate\"\r\n label=\"Planned Date\"\r\n defaultvalue={values?.PlannedDate}\r\n disabled={!values?.IsManager}\r\n setFieldValue={setFieldValue}\r\n />\r\n </div>\r\n <div className=\"col-lg-6 my-5\">\r\n <DateTime30\r\n name=\"QcDate\"\r\n label=\"Qc Date\"\r\n defaultvalue={values?.QcDate}\r\n disabled={!values?.IsManager}\r\n setFieldValue={setFieldValue}\r\n />\r\n </div>\r\n <div className=\"col-lg-6 my-5\">\r\n <DateTime30\r\n name=\"ProcessedDate\"\r\n label=\"Processed Date\"\r\n defaultvalue={values?.ProcessedDate}\r\n disabled={!values?.IsManager}\r\n setFieldValue={setFieldValue}\r\n />\r\n </div>\r\n </>\r\n )}\r\n </div>\r\n <br />\r\n <br />\r\n </>\r\n );\r\n}\r\n\r\nfunction OrderDetails({\r\n values,\r\n setFieldValue,\r\n setChargesFunctionModel,\r\n Services = [],\r\n setModesStatus,\r\n setReloadCalcF,\r\n LineItems\r\n}) {\r\n const [Modes, setModes] = useState(catchError);\r\n const [ServiceLevels, setServiceLevels] = useState(catchError);\r\n const [EquipmentTypes, setEquipmentTypes] = useState(catchError);\r\n const [EquipmentSizes, setEquipmentSizes] = useState(catchError);\r\n\r\n function OpenChargesModel() {\r\n var sum = 0;\r\n (values?.Charges || []).forEach((x) => {\r\n sum += x?.Quantity;\r\n });\r\n if (values?.Charges?.length > 0 && sum > 0) setChargesFunctionModel(true);\r\n else setReloadCalcF();\r\n }\r\n\r\n //useEffect\r\n useEffect(() => {\r\n var b = Services.find((x) => x.Id === values?.ServiceId);\r\n setModes([]);\r\n setTimeout(() => {\r\n setModes(b?.Modes || []);\r\n $(\"#FreightChargeIdClick\").trigger(\"click\");\r\n }, 1);\r\n }, [values?.ServiceId, Services]);\r\n\r\n useEffect(() => {\r\n var b = Modes.find((x) => x.Id === values?.ModeId);\r\n setServiceLevels([]);\r\n setTimeout(() => {\r\n setServiceLevels(b?.ServiceLevels || []);\r\n setModesStatus(b?.Status || []);\r\n }, 1);\r\n }, [values?.ModeId, Modes]);\r\n\r\n return (\r\n <>\r\n <div className=\"form-group row\">\r\n <div className=\"col-lg-4 mt-5\">\r\n <CreatableSelect3\r\n label=\"Service\"\r\n name=\"ServiceId\"\r\n setFieldValue={setFieldValue}\r\n valueSelect={values?.ServiceId}\r\n onChangefirst={false}\r\n options={Services.map((x) => {\r\n return {\r\n value: x.Id,\r\n label: x?.Name,\r\n };\r\n })}\r\n onChange={(newValue) => {\r\n var a = newValue?.value;\r\n if (a) OpenChargesModel();\r\n }}\r\n />\r\n </div>\r\n <div className=\"col-lg-2 mt-5\">\r\n {Modes?.length > 0 && (\r\n <CreatableSelect3\r\n label=\"Mode\"\r\n name=\"ModeId\"\r\n setFieldValue={setFieldValue}\r\n valueSelect={values?.ModeId}\r\n onChangefirst={false}\r\n options={Modes.map((x) => {\r\n return {\r\n value: x.Id,\r\n label: x?.Name,\r\n };\r\n })}\r\n onChange={(newValue) => {\r\n var a = newValue?.value;\r\n if (a) OpenChargesModel();\r\n }}\r\n />\r\n )}\r\n </div>\r\n <div className=\"col-lg-2 mt-5\">\r\n {Modes?.length > 0 && ServiceLevels?.length > 0 && (\r\n <CreatableSelect3\r\n label=\"Service Level\"\r\n name=\"ServiceLevelId\"\r\n setFieldValue={setFieldValue}\r\n valueSelect={values?.ServiceLevelId}\r\n options={ServiceLevels.map((x) => {\r\n return {\r\n value: x.Id,\r\n label: x?.Name,\r\n };\r\n })}\r\n onChange={(newValue) => {\r\n var a = newValue?.value;\r\n var b = ServiceLevels.find((x) => x.Id === a);\r\n setEquipmentTypes([]);\r\n setTimeout(() => {\r\n setEquipmentTypes(b?.EquipmentTypes || []);\r\n }, 1);\r\n }}\r\n />\r\n )}\r\n </div>\r\n <div className=\"col-lg-2 mt-5\">\r\n {Modes?.length > 0 &&\r\n ServiceLevels?.length > 0 &&\r\n EquipmentTypes?.length > 0 && (\r\n <CreatableSelect3\r\n label=\"Equipment Type\"\r\n name=\"EquipmentTypeId\"\r\n setFieldValue={setFieldValue}\r\n valueSelect={values?.EquipmentTypeId}\r\n options={EquipmentTypes.map((x) => {\r\n return {\r\n value: x.Id,\r\n label: x?.Name,\r\n };\r\n })}\r\n onChange={(newValue) => {\r\n var a = newValue?.value;\r\n var b = EquipmentTypes.find((x) => x.Id === a);\r\n setEquipmentSizes([]);\r\n setTimeout(() => {\r\n setEquipmentSizes(b?.EquipmentSizes || []);\r\n }, 1);\r\n }}\r\n />\r\n )}\r\n </div>\r\n <div className=\"col-lg-2 mt-5\">\r\n {Modes?.length > 0 &&\r\n ServiceLevels?.length > 0 &&\r\n EquipmentTypes?.length > 0 &&\r\n EquipmentSizes?.length > 0 && (\r\n <CreatableSelect3\r\n label=\"Equipment Size\"\r\n name=\"EquipmentSizeId\"\r\n setFieldValue={setFieldValue}\r\n valueSelect={values?.EquipmentSizeId}\r\n options={EquipmentSizes.map((x) => {\r\n return {\r\n value: x.Id,\r\n label: is(x?.Code) + x?.Name,\r\n };\r\n })}\r\n />\r\n )}\r\n </div>\r\n\r\n <div className=\"col-lg-4 mt-5\">\r\n <Field\r\n name=\"SealNumber\"\r\n component={Input}\r\n placeholder=\"Seal\"\r\n label=\"Seal\"\r\n />\r\n </div>\r\n <div className=\"col-lg-2 mt-5\">\r\n <Field\r\n name=\"Cartons2\"\r\n component={Input}\r\n placeholder=\"Cartons\"\r\n label=\"Cartons\"\r\n disabled\r\n />\r\n </div>\r\n <div className=\"col-lg-2 mt-5\">\r\n <Field\r\n name=\"Pallets\"\r\n component={Input}\r\n placeholder=\"Pallets\"\r\n label=\"Pallets\"\r\n disabled\r\n />\r\n </div>\r\n {LineItems?.length > 0 ? (\r\n <>\r\n <div className=\"col-lg-2 mt-5\">\r\n <label>Weight</label>\r\n <input\r\n type=\"text\"\r\n class=\"form-control\"\r\n name=\"TotalWeight1\"\r\n placeholder=\"Weight\"\r\n disabled={true}\r\n value={values?.TotalWeight1 + \" KGS\"}\r\n />\r\n </div>\r\n <div className=\"col-lg-2 mt-5\">\r\n <label>Cube</label>\r\n <input\r\n type=\"text\"\r\n class=\"form-control\"\r\n name=\"TotalCube1\"\r\n placeholder=\"Cube\"\r\n disabled={true}\r\n value={values?.TotalCube1 + \" CBM\"}\r\n />\r\n </div>\r\n </>\r\n ) : (\r\n <>\r\n <div className=\"col-lg-2 mt-5\">\r\n <label>Weight Type</label>\r\n <Select\r\n options={[\r\n { value: \"KGS\", label: \"KGS\" },\r\n { value: \"LBS\", label: \"LBS\" },\r\n ]}\r\n value={[\r\n { value: \"KGS\", label: \"KGS\" },\r\n { value: \"LBS\", label: \"LBS\" },\r\n ].filter((a) => a.value === values.TotalWeightType2)}\r\n onChange={(e) => {\r\n setFieldValue(\"TotalWeightType2\", e !== null ? e?.value : \"\");\r\n }}\r\n classNamePrefix=\"react-select\"\r\n />\r\n </div>\r\n <div className=\"col-lg-2 mt-5\">\r\n <label>Weight</label>\r\n <div class=\"input-group\">\r\n <input\r\n onChange={(e) => {\r\n setFieldValue(\"TotalWeight2\", e.target.value);\r\n }}\r\n value={values?.TotalWeight2}\r\n type=\"number\"\r\n class=\"form-control\"\r\n name=\"TotalWeight1\"\r\n placeholder=\"Weight\"\r\n aria-describedby=\"basic-addon2\"\r\n />\r\n <div class=\"input-group-append\">\r\n <span class=\"input-group-text\">\r\n {values?.TotalWeightType2}\r\n </span>\r\n </div>\r\n </div>\r\n </div>\r\n <div className=\"col-lg-2 mt-5\">\r\n <label>Cube Type</label>\r\n <Select\r\n placeholder={\"Select Cube Type\"}\r\n options={[\r\n { value: \"CBM\", label: \"CBM\" },\r\n { value: \"CFT\", label: \"CFT\" },\r\n ]}\r\n value={[\r\n { value: \"CBM\", label: \"CBM\" },\r\n { value: \"CFT\", label: \"CFT\" },\r\n ].filter((a) => a.value === values.TotalCubeType2)}\r\n onChange={(e) => {\r\n setFieldValue(\"TotalCubeType2\", e !== null ? e?.value : \"\");\r\n }}\r\n classNamePrefix=\"react-select\"\r\n />\r\n </div>\r\n <div className=\"col-lg-2 mt-5\">\r\n <label>Cube</label>\r\n <div class=\"input-group\">\r\n <input\r\n type=\"number\"\r\n class=\"form-control\"\r\n name=\"TotalCube1\"\r\n placeholder=\"Cube\"\r\n onChange={(e) => {\r\n setFieldValue(\"TotalCube2\", e.target.value);\r\n }}\r\n value={values?.TotalCube2}\r\n aria-describedby=\"basic-addon2\"\r\n />\r\n <div class=\"input-group-append\">\r\n <span class=\"input-group-text\">\r\n {values?.TotalCubeType2}\r\n </span>\r\n </div>\r\n </div>\r\n </div>\r\n </>\r\n )}\r\n </div>\r\n </>\r\n );\r\n}\r\n\r\nexport function VendorListComp({\r\n ChargesFunctionOne,\r\n Vendors = [],\r\n ReloadCalc,\r\n ChargesId = \"\",\r\n setReloadCalcF,\r\n CustomVendors,\r\n isInbound = true,\r\n FreightChargeId,\r\n GetChargesLink,\r\n GetCalculatedLink,\r\n PayablesReadOnly,\r\n setFieldValue = false,\r\n isShipment = false,\r\n}) {\r\n const [VendorListStat, setVendorListStat] = useState(catchError);\r\n const [OpenFirst, setOpenFirst] = useState(true);\r\n\r\n useEffect(() => {\r\n if (Vendors?.length > 0 && Vendors?.length > 0 && OpenFirst) {\r\n setVendorListStat([]);\r\n Vendors.map((item, index) => {\r\n setVendorListStat((x) => [\r\n ...x,\r\n <OneMoveMasterVendors\r\n item={item}\r\n countId={index}\r\n index={index}\r\n FreightChargeId={FreightChargeId}\r\n Vendorsf={CustomVendors}\r\n ReloadCalc={ReloadCalc}\r\n isInboundV={isInbound}\r\n isPayableV={true}\r\n S_ChargesReadOnly={PayablesReadOnly ?? window.C_PayablesReadOnly}\r\n isShipment={isShipment}\r\n ChargesId={ChargesId}\r\n GetChargesLink={GetChargesLink}\r\n GetCalculatedLink={GetCalculatedLink}\r\n setFieldValue={setFieldValue}\r\n />,\r\n ]);\r\n return item;\r\n });\r\n setOpenFirst(false);\r\n }\r\n }, [Vendors, CustomVendors]);\r\n\r\n return (\r\n <>\r\n <div className=\"form-group row\">\r\n <div className=\"col-lg-12\">\r\n <button\r\n type=\"button\"\r\n className=\"btn btn-light-success mr-2 w-100 mb-5\"\r\n onClick={() => {\r\n var a = VendorListStat.length;\r\n\r\n setReloadCalcF();\r\n setVendorListStat((x, index) => [\r\n ...x,\r\n <OneMoveMasterVendors\r\n countId={a}\r\n item={{}}\r\n index={index}\r\n FreightChargeId={FreightChargeId}\r\n Vendorsf={CustomVendors}\r\n ReloadCalc={ReloadCalc}\r\n isInboundV={true}\r\n isPayableV={true}\r\n S_ChargesReadOnly={\r\n PayablesReadOnly ?? window.C_PayablesReadOnly\r\n }\r\n isShipment={isShipment}\r\n ChargesId={ChargesId}\r\n GetChargesLink={GetChargesLink}\r\n GetCalculatedLink={GetCalculatedLink}\r\n setFieldValue={setFieldValue}\r\n />,\r\n ]);\r\n }}\r\n >\r\n <i className=\"fas fa-plus mr-2\"></i> Add New Vendor\r\n </button>\r\n </div>\r\n {ChargesFunctionOne && VendorListStat.map((x) => x)}\r\n </div>\r\n </>\r\n );\r\n}\r\n\r\nexport const ChargesFunction = ({\r\n isInbound,\r\n isPayable,\r\n type,\r\n ChargesId = \"\",\r\n autoQuantity,\r\n list = [],\r\n AutoRating,\r\n ReloadCalc,\r\n GetChargesLink = \"/ordersRating/GetCharges\",\r\n GetCalculatedChargesLink = \"/ordersRating/GetCalculatedCharges\",\r\n setFieldValue,\r\n IsHot,\r\n setChergesFun = false,\r\n setChargesTotal = false,\r\n IsReadOnly = false,\r\n ChargesReadOnly = false,\r\n colorTable = \"bg-light\",\r\n isVariableOpen = isVariableOpenDefault,\r\n BillId = false,\r\n setIsEditedCharges,\r\n}) => {\r\n const [ChargeModel, setChargeModel] = useState({\r\n Show: false,\r\n Type: \"success\",\r\n });\r\n const [Charges, setCharges] = useState(list);\r\n const [ChargesRemove, setChargesRemove] = useState([]);\r\n const [ChargesN, setChargesN] = useState(catchError);\r\n const [loadingCharges, setloadingCharges] = useState(true);\r\n const [FilterCharges, setFilterCharges] = useState(\"\");\r\n const [AutoRatingModal, setAutoRatingModal] = useState(false);\r\n const [AutoRatingCheck, setAutoRatingCheck] = useState([]);\r\n\r\n const [NoteModal, setNoteModal] = useState({\r\n Show: false,\r\n Id: 0,\r\n Code: \"\",\r\n });\r\n\r\n useEffect(() => {\r\n if (!ChargeModel?.Show) CalcTotal();\r\n }, [ChargeModel]);\r\n\r\n useEffect(() => {\r\n GetPayableForVendor({ button: false });\r\n }, [ReloadCalc]);\r\n\r\n const GetPayableForVendor = ({ button }) => {\r\n setloadingCharges(true);\r\n\r\n const customerId = FieldID(\"C_CustomerId\" + ChargesId);\r\n const serviceId = FieldID(\"C_ServiceId\" + ChargesId);\r\n const modeId = FieldID(\"C_ModeId\" + ChargesId);\r\n const serviceLevelId = FieldID(\"C_ServiceLevelId\" + ChargesId);\r\n const equipmentTypeId = FieldID(\"C_EquipmentTypeId\" + ChargesId);\r\n const equipmentSizeId = FieldID(\"C_EquipmentSizeId\" + ChargesId);\r\n const date = FieldID(\"C_ReceivedDate\" + ChargesId);\r\n const CarrierId = FieldID(\"C_CarrierId\" + ChargesId);\r\n\r\n const fromCity = FieldID(\"C_fromCity\" + ChargesId);\r\n const fromAddress = FieldID(\"C_fromAddress\" + ChargesId);\r\n const fromState = FieldID(\"C_fromState\" + ChargesId);\r\n const fromZipCode = FieldID(\"C_fromZipCode\" + ChargesId);\r\n\r\n const toCity = FieldID(\"C_toCity\" + ChargesId);\r\n const toAddress = FieldID(\"C_toAddress\" + ChargesId);\r\n const toState = FieldID(\"C_toState\" + ChargesId);\r\n const toZipCode = FieldID(\"C_toZipCode\" + ChargesId);\r\n\r\n try {\r\n var myHeaders = new Headers();\r\n myHeaders.append(\"Authorization\", `bearer ${db.read().getState().Token}`);\r\n myHeaders.append(\"Content-Type\", \"application/json\");\r\n myHeaders.append(\"X-FP-API-KEY\", \"iphone\");\r\n var requestOptions = {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: myHeaders,\r\n redirect: \"follow\",\r\n };\r\n fetch(\r\n window.$apiurl +\r\n `${GetChargesLink}?customerId=${customerId}&serviceId=${serviceId}&serviceLevelId=${serviceLevelId}&ModeId=${modeId}&isInbound=${isInbound}&isPayable=${isPayable}&carrierId=${CarrierId}&equipmentTypeId=${equipmentTypeId}&equipmentSizeId=${equipmentSizeId}&fromCity=${fromCity}&fromAddress=${fromAddress}&fromState=${fromState}&fromZipCode=${fromZipCode}&toCity=${toCity}&toAddress=${toAddress}&toState=${toState}&toZipCode=${toZipCode}&date=${date}&VendorTypeId=`,\r\n requestOptions\r\n )\r\n .then((response) => response.json())\r\n .then(async (result) => {\r\n try {\r\n setChargesN([]);\r\n var thisList = window[\"List\" + type + ChargesId];\r\n let chargesVar = thisList;\r\n\r\n chargesVar = CheckRateInCharges(\r\n chargesVar,\r\n result,\r\n ChargesReadOnly,\r\n setChargesRemove,\r\n IsHot\r\n );\r\n\r\n if (type === \"Payables\") {\r\n var findv = chargesVar.find(\r\n (x) => !x.IsReadOnly && x?.VendorBillId !== null\r\n );\r\n if (findv)\r\n window[\"List\" + type + ChargesId + \"v\"] = [\r\n findv.VendorBillId,\r\n findv.VendorBill,\r\n ];\r\n else window[\"List\" + type + ChargesId + \"v\"] = [];\r\n }\r\n\r\n let objCalc = [];\r\n if (button) objCalc = await GetPayableForVendorCalc();\r\n else\r\n objCalc =\r\n chargesVar?.length === 0 ? await GetPayableForVendorCalc() : [];\r\n\r\n var idv = \"List\" + type + ChargesId + \"v\";\r\n objCalc = RemoveDuplicate(chargesVar, objCalc, type, idv);\r\n\r\n chargesVar = JSON.parse(JSON.stringify(chargesVar));\r\n chargesVar.forEach((x) => {\r\n x.Id2 = x?.Id;\r\n x.Id = x?.ChargeId;\r\n });\r\n let allObjs = chargesVar.concat(objCalc);\r\n\r\n let resArr = [];\r\n allObjs.filter(function(item) {\r\n resArr.push({ ...item, ChargeId: item?.Id });\r\n });\r\n\r\n if (autoQuantity !== undefined) {\r\n resArr.map((a) => {\r\n if (a?.Quantity === undefined || a?.Quantity === 0) {\r\n if (autoQuantity[a.Code] !== undefined) {\r\n a.Quantity = autoQuantity[a.Code];\r\n }\r\n }\r\n return a;\r\n });\r\n }\r\n\r\n var a = [];\r\n (result || []).forEach((x) => {\r\n var i = allObjs.find((y) => y?.Id === x?.Id);\r\n if (i === undefined) a.push(x);\r\n });\r\n\r\n //get auto rate\r\n resArr =\r\n (await StartAutoRate(resArr, ChargesId, AutoRating, IsHot)) ?? [];\r\n\r\n setCharges(resArr || []);\r\n setChargesN(a || []);\r\n setloadingCharges(false);\r\n SaveDisabledFunction(false);\r\n\r\n if (button)\r\n setTimeout(() => {\r\n document.querySelector(`.AutoRatingBtn-${ChargesId}`).click();\r\n }, 1000);\r\n } catch (err) {\r\n console.error(err);\r\n }\r\n })\r\n .catch((err) => {\r\n console.error(err);\r\n });\r\n } catch (e) {}\r\n };\r\n\r\n async function GetPayableForVendorCalc() {\r\n if (ChargesReadOnly) return [];\r\n const customerId = FieldID(\"C_CustomerId\" + ChargesId);\r\n const serviceId = FieldID(\"C_ServiceId\" + ChargesId);\r\n const modeId = FieldID(\"C_ModeId\" + ChargesId);\r\n const serviceLevelId = FieldID(\"C_ServiceLevelId\" + ChargesId);\r\n const equipmentTypeId = FieldID(\"C_EquipmentTypeId\" + ChargesId);\r\n const equipmentSizeId = FieldID(\"C_EquipmentSizeId\" + ChargesId);\r\n const date = FieldID(\"C_ReceivedDate\" + ChargesId);\r\n const CarrierId = FieldID(\"C_CarrierId\" + ChargesId);\r\n\r\n const fromCity = FieldID(\"C_fromCity\" + ChargesId);\r\n const fromAddress = FieldID(\"C_fromAddress\" + ChargesId);\r\n const fromState = FieldID(\"C_fromState\" + ChargesId);\r\n const fromZipCode = FieldID(\"C_fromZipCode\" + ChargesId);\r\n\r\n const toCity = FieldID(\"C_toCity\" + ChargesId);\r\n const toAddress = FieldID(\"C_toAddress\" + ChargesId);\r\n const toState = FieldID(\"C_toState\" + ChargesId);\r\n const toZipCode = FieldID(\"C_toZipCode\" + ChargesId);\r\n\r\n return await fetch(\r\n window.$apiurl +\r\n `${GetCalculatedChargesLink}?customerId=${customerId}&serviceId=${serviceId}&serviceLevelId=${serviceLevelId}&ModeId=${modeId}&isInbound=${isInbound}&isPayable=${isPayable}&carrierId=${CarrierId}&equipmentTypeId=${equipmentTypeId}&equipmentSizeId=${equipmentSizeId}&fromCity=${fromCity}&fromAddress=${fromAddress}&fromState=${fromState}&fromZipCode=${fromZipCode}&toCity=${toCity}&toAddress=${toAddress}&toState=${toState}&toZipCode=${toZipCode}&date=${date}&VendorTypeId=`,\r\n {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n }\r\n )\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n const a = [];\r\n res[1].map((x) => a.push({ ...x, Calc: true }));\r\n return a;\r\n })\r\n .catch((err) => {\r\n console.error(err);\r\n });\r\n }\r\n\r\n function CalcTotal() {\r\n var sum = 0;\r\n $(`.RatesTotal-${type}-${ChargesId}`).each(function() {\r\n var a = Number(\r\n $(this)\r\n .find(\"input\")\r\n .val()\r\n );\r\n $(this)\r\n .find(\"input\")\r\n .val(a.toFixed(2));\r\n sum += a;\r\n });\r\n\r\n if (setChargesTotal) setChargesTotal(sum);\r\n $(`.RateAllTotal-${type}-${ChargesId} span`).text(AddSpace3(sum));\r\n\r\n document\r\n .querySelectorAll(`.Charges2-${type + ChargesId} span`)\r\n .forEach((element) => {\r\n var category = element.getAttribute(\"data-Name\");\r\n var invoice = element.getAttribute(\"data-Invoice\");\r\n var vendorBill = element.getAttribute(\"data-VendorBill\");\r\n var filter = Charges.filter(\r\n (x) =>\r\n x?.Category === category &&\r\n ((x?.Invoice === invoice && type === \"Charges\") ||\r\n (x?.VendorBill === vendorBill && type === \"Payables\"))\r\n );\r\n var a = filter.reduce(\r\n (total, x) =>\r\n CalculateCharge({\r\n Rate: x?.Rate,\r\n Quantity: RoundToFixed(\r\n x?.Quantity ?? 0,\r\n x?.Rounding,\r\n x?.IsRounding\r\n ),\r\n rateType: x?.RateType,\r\n MinCharge: x?.MinCharge,\r\n MaxCharge: x?.MaxCharge,\r\n FreeTime: x?.FreeTime,\r\n OriAddSup: x?.OriAddSup,\r\n }) + total,\r\n 0\r\n );\r\n element.innerText = \"Sub Total : \" + AddSpace3(a);\r\n\r\n var str =\r\n \".\" + CategoryTotalId(category, invoice, vendorBill, ChargesId, type);\r\n SetSubTotal(a, str);\r\n });\r\n }\r\n\r\n useEffect(() => {\r\n let a = [];\r\n Charges.map((x) =>\r\n a.push({\r\n ...x,\r\n ChargeId: x?.ChargeId || x?.Id,\r\n Id: x?.Id,\r\n Code: x?.Code,\r\n Name: x?.Name,\r\n Quantity:\r\n RoundToFixed(x?.Quantity ?? 0, x?.Rounding, x?.IsRounding) || 0,\r\n Category: x?.Category,\r\n Rate: x?.Rate,\r\n Position: x?.Position,\r\n CategoryPosition: x?.CategoryPosition,\r\n OriAddSup: x?.OriAddSup,\r\n Invoice: x?.Invoice || \"\",\r\n InvoiceId: +x?.InvoiceId || null,\r\n IsReadOnly: x?.IsReadOnly || false,\r\n Note: x?.Note,\r\n MinCharge: x?.MinCharge,\r\n MaxCharge: x?.MaxCharge,\r\n FreeTime: x?.FreeTime,\r\n RateType: x?.RateType,\r\n Calcul: x?.Calcul,\r\n DateEnd: x?.DateEnd,\r\n DateStart: x?.DateStart,\r\n QuoteId: x?.QuoteId,\r\n Rounding: x?.Rounding,\r\n CalculName: x?.CalculName,\r\n RatingTable: x?.RatingTable,\r\n })\r\n );\r\n\r\n a.forEach((x) => {\r\n if (x.InvoiceId === numberofSort) x.InvoiceId = null;\r\n else if (x.VendorBillId === numberofSort) x.VendorBillId = null;\r\n });\r\n\r\n window[\"List\" + type + ChargesId] = Charges;\r\n CalcTotal();\r\n\r\n if (setChergesFun) setChergesFun(a);\r\n if (type === \"Charges\" && setFieldValue) setFieldValue(\"Charges\", a);\r\n }, [Charges, ChargesN]);\r\n\r\n function CheckHidden(param1, param2) {\r\n return param1?.toLowerCase()?.includes(param2?.toLowerCase())\r\n ? \"row\"\r\n : \"d-none\";\r\n }\r\n\r\n useEffect(() => {\r\n if (ChargeModel.Show === false) {\r\n setFilterCharges(\"\");\r\n }\r\n }, [ChargeModel]);\r\n const headerStyle = `border-0 ${colorTable}`;\r\n\r\n return (\r\n <div className=\"row RatesParent\">\r\n <Modal\r\n size=\"xl\"\r\n show={ChargeModel.Show}\r\n aria-labelledby=\"example-modal-sizes-title-lg\"\r\n >\r\n <Modal.Header>\r\n <Modal.Title\r\n id=\"example-modal-sizes-title-lg\"\r\n className=\"w-100 row px-5\"\r\n >\r\n <div className=\"col-lg-4\">\r\n {isPayable ? \"Vendor\" : \"Customer\"} Charges\r\n </div>\r\n <div className=\"col-lg-8\">\r\n <input\r\n className=\"form-control\"\r\n placeholder=\"Filter by Name and Code\"\r\n onChange={(e) => setFilterCharges(e.target.value?.trim() ?? \"\")}\r\n />\r\n </div>\r\n </Modal.Title>\r\n <IconButton\r\n aria-label=\"Close\"\r\n onClick={() => setChargeModel({ Show: false, Type: \"success\" })}\r\n >\r\n <CloseIcon />\r\n </IconButton>\r\n </Modal.Header>\r\n <Modal.Body>\r\n {listdistinctFunction(\r\n ChargeModel?.Type === \"info\" ? Charges : ChargesN,\r\n ChargeModel?.Type,\r\n ChargeModel?.Show\r\n )?.map((x, index) => (\r\n <div\r\n key={x?.Code + \"\" + x?.Id + \"\" + index}\r\n className={CheckHidden(x?.Name + \",\" + x?.Code, FilterCharges)}\r\n >\r\n <AutoRatingItem\r\n key={index}\r\n x={x}\r\n AutoRating={AutoRating}\r\n IsHot={IsHot}\r\n index={index}\r\n isAddCharges={true}\r\n AutoRatingCheck={AutoRatingCheck}\r\n ChargesId={ChargesId}\r\n />\r\n <div className={`col-lg-4 mt-5 mb-5`}>\r\n <b className={`text-black title mr-2`}>\r\n <OverlayTrigger\r\n overlay={\r\n <Tooltip id=\"products-edit-tooltip\">{x.Code}</Tooltip>\r\n }\r\n >\r\n <a\r\n href={() => false}\r\n className=\"btn btn-icon btn-light btn-hover-light btn-sm mr-3\"\r\n >\r\n <span className=\"svg-icon svg-icon-md svg-icon-info\">\r\n <SVG\r\n src={toAbsoluteUrl(\r\n \"/media/svg/icons/Code/Info-circle.svg\"\r\n )}\r\n />\r\n </span>\r\n </a>\r\n </OverlayTrigger>\r\n {x?.Name}\r\n </b>\r\n </div>\r\n <div className={`col-lg-3 mt-4`}>\r\n <input\r\n className=\"form-control\"\r\n disabled={true}\r\n defaultValue={x?.Rate}\r\n />\r\n </div>\r\n <div className={`col-lg-3 pl-1 pr-5 mt-4`}>\r\n <input\r\n className=\"form-control\"\r\n id={\"ChargeN\" + index + ChargesId}\r\n defaultValue={x?.Quantity ?? 0}\r\n />\r\n <input type=\"hidden\" id={\"DateStart\" + index + ChargesId} />\r\n <input type=\"hidden\" id={\"DateEnd\" + index + ChargesId} />\r\n </div>\r\n <div className={`col-lg-2 mt-4`}>\r\n <button\r\n type=\"button\"\r\n className={`btn btn-light-${ChargeModel?.Type} w-100`}\r\n onClick={() => {\r\n const isInfo = ChargeModel?.Type === \"info\";\r\n\r\n let a = JSON.parse(JSON.stringify(Charges)) || [];\r\n var listCharge = isInfo ? Charges : ChargesN;\r\n\r\n var c = ChargesN?.filter((y) => y?.Id !== x?.Id);\r\n var b = listCharge?.find((y) => y?.Id === x?.Id);\r\n\r\n if (b || isInfo) {\r\n var color = 0;\r\n if (ChargeModel?.Type === \"primary\") color = 1;\r\n else if (isInfo) color = 2;\r\n\r\n var value = +document.getElementById(\r\n \"ChargeN\" + index + ChargesId\r\n ).value;\r\n if (type === \"Payables\" && value < 0)\r\n value = CheckIsNigativeRate(value, x?.OriAddSup);\r\n else CheckIsNigativePositive(value, Charges, -1, 0, true);\r\n\r\n if (type === \"Payables\") {\r\n b.VendorBillId = numberofSort;\r\n b.VendorBill = \"Empty\";\r\n\r\n var find = window[\"List\" + type + ChargesId + \"v\"];\r\n if (find && find.length > 0) {\r\n b.VendorBillId = find[0];\r\n b.VendorBill = find[1];\r\n }\r\n }\r\n\r\n a.push({\r\n ...b,\r\n Id: b?.Id,\r\n ChargeId: b?.Id,\r\n Priority: b?.Priority,\r\n Rate: b?.Rate,\r\n Name: b?.Name,\r\n Code: b?.Code,\r\n Quantity: value,\r\n RateType: b?.RateType,\r\n MinCharge: b?.MinCharge,\r\n MaxCharge: b?.MaxCharge,\r\n Position: b?.Position,\r\n CategoryPosition: b?.CategoryPosition,\r\n FreeTime: b?.FreeTime,\r\n Category: b?.Category,\r\n Calcul: b?.Calcul,\r\n IsVariable: x?.IsVariable || false,\r\n Invoice: \"\",\r\n OriAddSup: color,\r\n IsReadOnly: false,\r\n DateEnd: FieldID(\"DateEnd\" + index + ChargesId),\r\n DateStart: FieldID(\"DateStart\" + index + ChargesId),\r\n QuoteId: b?.QuoteId,\r\n Rounding: b?.Rounding,\r\n CalculName: b?.CalculName,\r\n RatingTable: b?.RatingTable,\r\n });\r\n }\r\n\r\n setCharges(a);\r\n if (!isInfo) setChargesN(c);\r\n\r\n setTimeout(() => {\r\n if (\r\n (c?.length === 0 && !isInfo) ||\r\n (a?.length === 0 && isInfo)\r\n )\r\n setChargeModel({ Show: false, Type: \"success\" });\r\n }, 1);\r\n\r\n setIsEditedCharges(true);\r\n }}\r\n >\r\n <i className={`fas fa-plus fa-sm`}></i>\r\n </button>\r\n </div>\r\n </div>\r\n ))}\r\n {(ChargeModel?.Type === \"info\" ? Charges : ChargesN)?.length ===\r\n 0 && (\r\n <div class=\"col-lg-12 mt-2 text-center\">\r\n <Spinner\r\n as=\"span\"\r\n animation=\"border\"\r\n role=\"status\"\r\n aria-hidden=\"true\"\r\n style={{ fontSize: \"25px\", width: \"100px\", height: \"100px\" }}\r\n />\r\n </div>\r\n )}\r\n </Modal.Body>\r\n <Modal.Footer>\r\n <div>\r\n <button\r\n type=\"button\"\r\n onClick={() => setChargeModel({ Show: false, Type: \"success\" })}\r\n className=\"btn btn-light btn-elevate\"\r\n >\r\n Cancel\r\n </button>\r\n </div>\r\n </Modal.Footer>\r\n </Modal>\r\n {/* Auto Rating ---------------------------------------- */}\r\n <AutoRateComponent\r\n title=\"Receivables\"\r\n setAutoRatingModal={setAutoRatingModal}\r\n setIsEditedCharges={setIsEditedCharges}\r\n AutoRatingModal={AutoRatingModal}\r\n Charges={Charges}\r\n AutoRating={AutoRating}\r\n IsHot={IsHot}\r\n setCharges={setCharges}\r\n AutoRatingCheck={AutoRatingCheck}\r\n setAutoRatingCheck={setAutoRatingCheck}\r\n IndexId={ChargesId}\r\n />\r\n {/* Auto Rating ---------------------------------------- */}\r\n <Modal\r\n show={NoteModal.Show}\r\n aria-labelledby=\"example-modal-sizes-title-lg\"\r\n >\r\n <Modal.Header>\r\n <Modal.Title id=\"example-modal-sizes-title-lg\">\r\n Note : {NoteModal?.Code}\r\n </Modal.Title>\r\n <IconButton\r\n aria-label=\"Close\"\r\n onClick={() => setNoteModal({ Show: false })}\r\n >\r\n <CloseIcon />\r\n </IconButton>\r\n </Modal.Header>\r\n <Modal.Body className=\"row\">\r\n <textarea\r\n id=\"NoteCharges\"\r\n className=\"form-control\"\r\n rows=\"3\"\r\n defaultValue={NoteModal?.Note}\r\n ></textarea>\r\n </Modal.Body>\r\n <Modal.Footer>\r\n <div>\r\n <button\r\n type=\"button\"\r\n onClick={() => setNoteModal({ Show: false })}\r\n className=\"btn btn-light btn-elevate\"\r\n >\r\n Cancel\r\n </button>\r\n {!ChargesReadOnly && (\r\n <button\r\n type=\"button\"\r\n onClick={() => {\r\n var note = JsNative(\"#NoteCharges\").val();\r\n\r\n if (NoteModal?.index > -1) {\r\n let c = Charges;\r\n\r\n var type = 0;\r\n if (!isInbound && !isPayable) type = 1;\r\n else if (!isInbound && isPayable) type = 2;\r\n else if (isInbound && !isPayable) type = 3;\r\n else if (isInbound && isPayable) type = 4;\r\n\r\n if (c[NoteModal?.index]?.IsReadOnly)\r\n PostNote(c[NoteModal?.index]?.Id2, note, type);\r\n\r\n c[NoteModal?.index].Note = note;\r\n setCharges([]);\r\n setTimeout(() => {\r\n setCharges(c || []);\r\n setNoteModal({ Show: false });\r\n }, 1);\r\n setIsEditedCharges(true);\r\n }\r\n }}\r\n className=\"btn btn-primary btn-elevate ml-2\"\r\n >\r\n OK\r\n </button>\r\n )}\r\n </div>\r\n </Modal.Footer>\r\n </Modal>\r\n {loadingCharges && (\r\n <div className=\"col-lg-12\">\r\n <LinearProgress />\r\n </div>\r\n )}\r\n <EventChangeAutoRate />\r\n\r\n <div className=\"col-md-12\">\r\n <div className=\"table-responsive\">\r\n <div className=\"CheckCharges d-none\">\r\n {Charges?.map((x, index) => (\r\n <p key={x?.ChargeId + \"\" + index}>{x?.Calcul}</p>\r\n ))}\r\n </div>\r\n\r\n <table\r\n className=\"table table-head-custom table-head-bg table-vertical-center\"\r\n style={{ width: \"95%\", margin: \"auto\", overflow: \"hidden\" }}\r\n >\r\n <thead>\r\n <tr className=\"text-left text-uppercase\">\r\n <th className={headerStyle}>Code</th>\r\n <th className={headerStyle}>Name</th>\r\n <th className={headerStyle}>Rate</th>\r\n <th className={headerStyle}>Quantity</th>\r\n <th className={headerStyle}>Total</th>\r\n {!IsReadOnly && (\r\n <>\r\n <th className={headerStyle}>Remove</th>\r\n <th className={headerStyle}>Action</th>\r\n </>\r\n )}\r\n </tr>\r\n </thead>\r\n\r\n {SortAndRename(Charges, type)?.map((x, index) => {\r\n const iiii =\r\n x?.ChargeId +\r\n \"\" +\r\n index +\r\n ChargesId +\r\n (x?.Invoice ?? \"\") +\r\n (x?.VendorBill ?? \"\");\r\n return (\r\n <>\r\n <tbody\r\n className={`border-0 ${HideIsNotBill(\r\n x?.VendorBill,\r\n BillId?.toString()\r\n ) && \"d-none\"}`}\r\n key={\r\n x?.Code +\r\n \"\" +\r\n x?.Id +\r\n \"\" +\r\n index +\r\n (x?.Invoice ?? \"\") +\r\n (x?.VendorBill ?? \"\")\r\n }\r\n >\r\n <InvoiceorBill x={x} type={type} />\r\n {x?.CategoryAppend !== \"\" && (\r\n <>\r\n <tr className=\"mt-5 d-block CategoryClass\">\r\n <td\r\n className={`border-0 bg-${ChargesColorCategory(\r\n x?.Category\r\n )} rounded-top`}\r\n >\r\n <b className={`text-light title mr-2`}>\r\n <span\r\n className={`rounded-pill px-2 py-1 ml-1 Charges2-${type +\r\n ChargesId}`}\r\n style={{ fontSize: \" 13px\" }}\r\n >\r\n {x?.Category}\r\n <span\r\n id={\r\n x?.Category?.replace(/ /g, \"\") + type + \"Id\"\r\n }\r\n className={`ml-2 px-2 py-1 bg-light-${ChargesColorCategory(\r\n x?.Category\r\n )} text-${ChargesColorCategory(x?.Category)}`}\r\n data-Name={x?.Category}\r\n data-Invoice={x?.Invoice}\r\n data-VendorBill={x?.VendorBill}\r\n style={{\r\n fontWeight: \"600\",\r\n borderRadius: \"3px\",\r\n }}\r\n >\r\n Sub Total : 0.00\r\n </span>\r\n </span>\r\n </b>\r\n </td>\r\n </tr>\r\n </>\r\n )}\r\n <tr className={colorTable}>\r\n <td className={`border-0 position-relative`}>\r\n {isChangeFunction(x)}\r\n <b\r\n className={`${ChargesColor(\r\n x.OriAddSup ?? 0,\r\n x?.Quantity ?? 0,\r\n Charges\r\n )} title mr-2`}\r\n >\r\n <ChargesFirstColumn x={x} />\r\n </b>\r\n </td>\r\n <td className={`border-0`}>{x?.Name}</td>\r\n <td className={`border-0 Rate`}>\r\n <input\r\n className={RateClassName(\r\n ChargesReadOnly,\r\n x,\r\n isVariableOpen\r\n )}\r\n style={{ minWidth: \"72px\" }}\r\n readonly={RateReadOnly(isVariableOpen, x?.IsVariable)}\r\n defaultValue={x?.Rate}\r\n disabled={\r\n ChargesReadOnly ? true : x?.IsReadOnly || IsReadOnly\r\n }\r\n onClick={(e) => {\r\n if (e.detail === 2 && x?.IsVariable === true) {\r\n e.target.readOnly = false;\r\n $(e.target).removeClass(\"bg-light\");\r\n }\r\n }}\r\n onBlur={(e) => {\r\n var value = CheckIsNigativeRate(\r\n +e.target.value,\r\n x?.OriAddSup\r\n );\r\n e.target.value = value;\r\n\r\n var b = JSON.parse(JSON.stringify(Charges));\r\n var a = b.findIndex(\r\n (y) =>\r\n y.ChargeId === x?.ChargeId &&\r\n y.OriAddSup === x?.OriAddSup &&\r\n y?.InvoiceId === x?.InvoiceId &&\r\n y?.VendorBillId === x?.VendorBillId\r\n );\r\n if (a > -1) {\r\n b[a].Rate = value;\r\n setCharges(b);\r\n }\r\n const c = CalculateCharge({\r\n Rate: value,\r\n Quantity: RoundToFixed(\r\n x?.Quantity ?? 0,\r\n x?.Rounding,\r\n x?.IsRounding\r\n ),\r\n rateType: x?.RateType,\r\n MinCharge: x?.MinCharge,\r\n MaxCharge: x?.MaxCharge,\r\n FreeTime: x?.FreeTime,\r\n OriAddSup: x?.OriAddSup,\r\n });\r\n setIsEditedCharges(true);\r\n $(`.RatesTotal${iiii} input`).val(c.toFixed(2));\r\n }}\r\n />\r\n </td>\r\n <td className={`border-0 position-relative`}>\r\n <IsRounding x={x} ChargesReadOnly={ChargesReadOnly} />\r\n <input\r\n type=\"number\"\r\n className={`form-control ${(x?.Quantity || 0) === 0 &&\r\n \"border border-danger\"}`}\r\n disabled={\r\n ChargesReadOnly ? true : x?.IsReadOnly || IsReadOnly\r\n }\r\n style={{ minWidth: \"72px\" }}\r\n id={`${iiii}Id`}\r\n onBlur={(e) => {\r\n var value = +e.target.value;\r\n if (type === \"Payables\" && value < 0) {\r\n value = CheckIsNigativeRate(value, x?.OriAddSup);\r\n e.target.value = value;\r\n } else {\r\n CheckIsNigativePositive(\r\n value,\r\n Charges,\r\n index,\r\n x?.ChargeId,\r\n true\r\n );\r\n }\r\n\r\n var b = JSON.parse(JSON.stringify(Charges));\r\n var a = b.findIndex(\r\n (y) =>\r\n y.ChargeId === x?.ChargeId &&\r\n y.OriAddSup === x?.OriAddSup &&\r\n y?.InvoiceId === x?.InvoiceId &&\r\n y?.VendorBillId === x?.VendorBillId\r\n );\r\n if (a > -1) {\r\n b[a].Quantity = value;\r\n setCharges(b);\r\n }\r\n const c = CalculateCharge({\r\n Rate: x?.Rate,\r\n Quantity: value,\r\n rateType: x?.RateType,\r\n MinCharge: x?.MinCharge,\r\n MaxCharge: x?.MaxCharge,\r\n FreeTime: x?.FreeTime,\r\n OriAddSup: x?.OriAddSup,\r\n });\r\n setIsEditedCharges(true);\r\n $(`.RatesTotal${iiii} input`).val(c.toFixed(2));\r\n }}\r\n onChange={(e) => {\r\n if (x?.IsRounding === true)\r\n GetLengthRound(e, x?.Rounding);\r\n }}\r\n defaultValue={InputValueCharge(x, ChargesReadOnly)}\r\n />\r\n </td>\r\n <td\r\n className={`border-0 ${!HideIsNotBill(\r\n x?.VendorBill,\r\n BillId?.toString()\r\n ) &&\r\n `RatesTotal-${type}-${ChargesId}`} RatesTotal${iiii} `}\r\n >\r\n <input\r\n className=\"form-control\"\r\n disabled={true}\r\n style={{ minWidth: \"72px\" }}\r\n value={\r\n CalculateCharge({\r\n Rate: x?.Rate,\r\n Quantity: RoundToFixed(\r\n checkIs0(x?.Quantity, iiii),\r\n x?.Rounding,\r\n x?.IsRounding\r\n ),\r\n rateType: x?.RateType,\r\n MinCharge: x?.MinCharge,\r\n MaxCharge: x?.MaxCharge,\r\n FreeTime: x?.FreeTime,\r\n OriAddSup: x?.OriAddSup,\r\n })?.toFixed(2) ?? 0\r\n }\r\n />\r\n </td>\r\n {!IsReadOnly && (\r\n <>\r\n <td className={`border-0`}>\r\n <button\r\n type=\"button\"\r\n className=\"btn btn-light-danger w-100\"\r\n disabled={ChargesReadOnly ? true : x?.IsReadOnly}\r\n onClick={() => {\r\n let a = Charges || [];\r\n let b = ChargesN || [];\r\n a = a?.filter((y) => y !== x);\r\n if (x?.OriAddSup !== 2)\r\n b.push({\r\n ...x,\r\n Id: x?.ChargeId,\r\n Rate: x?.Rate,\r\n Name: x?.Name,\r\n Code: x?.Code,\r\n Quantity: 1,\r\n RateType: x?.RateType,\r\n MinCharge: x?.MinCharge,\r\n MaxCharge: x?.MaxCharge,\r\n FreeTime: x?.FreeTime,\r\n Position: x?.Position,\r\n CategoryPosition: x?.CategoryPosition,\r\n Calcul: x?.Calcul,\r\n Category: x?.Category,\r\n IsVariable: x?.IsVariable || false,\r\n Invoice: x?.Invoice,\r\n InvoiceId: x?.InvoiceId,\r\n OriAddSup: x?.OriAddSup,\r\n IsReadOnly: x?.IsReadOnly || false,\r\n DateEnd: x?.DateEnd,\r\n DateStart: x?.DateStart,\r\n QuoteId: x?.QuoteId,\r\n Rounding: x?.Rounding,\r\n CalculName: x?.CalculName,\r\n RatingTable: x?.RatingTable,\r\n });\r\n setCharges(a);\r\n setChargesN(b);\r\n setIsEditedCharges(true);\r\n }}\r\n >\r\n <i className={`fas fa-times fa-sm`} />\r\n </button>\r\n </td>\r\n <td className={`border-0`}>\r\n <MenuListComposition\r\n Child1={\r\n <button\r\n type=\"button\"\r\n className=\"btn btn-light-warning w-100\"\r\n onClick={() => {\r\n var autoRatingCheck = [x?.Id];\r\n setAutoRatingCheck(autoRatingCheck);\r\n\r\n var find = SortOnlyCharge(\r\n Charges,\r\n autoRatingCheck,\r\n AutoRating,\r\n IsHot\r\n ).length;\r\n\r\n if (find > 0) {\r\n setAutoRatingModal(true);\r\n setIsEditedCharges(true);\r\n } else {\r\n AutoRatingCharges({\r\n setAutoRatingModal: setAutoRatingModal,\r\n setCharges: setCharges,\r\n Charges: Charges,\r\n AutoRating: AutoRating,\r\n IsHot: IsHot,\r\n bool: true,\r\n AutoRatingCheck: AutoRatingCheck,\r\n IndexId: ChargesId,\r\n });\r\n setIsEditedCharges(true);\r\n }\r\n }}\r\n >\r\n <i className={`fas fa-magic fa-sm`} />\r\n </button>\r\n }\r\n Child2={\r\n <button\r\n type=\"button\"\r\n className=\"btn btn-light-primary w-100\"\r\n onClick={() => {\r\n setNoteModal({\r\n Show: true,\r\n Id: x?.ChargeId,\r\n Code: x?.Code,\r\n Note: x?.Note,\r\n index: index,\r\n });\r\n }}\r\n >\r\n <i\r\n className={`${\r\n x?.Note ? \"fas\" : \"far\"\r\n } fa-sticky-note fa-sm`}\r\n ></i>\r\n </button>\r\n }\r\n />\r\n </td>\r\n </>\r\n )}\r\n </tr>\r\n <tr className={colorTable}>\r\n <td className={`border-0`}></td>\r\n <td className={`border-0`}></td>\r\n <td className=\"row mb-0 border-0 place-content-center py-0\">\r\n {(x?.FreeTime || null) !== null && (\r\n <button\r\n type=\"button\"\r\n className=\"btn btn-primary text-center btn-sm p-2\"\r\n >\r\n FT : {ReturnEmptyOrString(x?.FreeTime)}\r\n </button>\r\n )}\r\n {(x?.MinCharge || null) !== null && x?.OriAddSup == 0 && (\r\n <button\r\n type=\"button\"\r\n className=\"btn btn-info text-center mx-2 btn-sm p-2\"\r\n >\r\n Min : {ReturnEmptyOrString(x?.MinCharge)}\r\n </button>\r\n )}\r\n {(x?.MaxCharge || null) !== null && (\r\n <button\r\n type=\"button\"\r\n className=\"btn btn-warning text-center btn-sm p-2\"\r\n >\r\n Max : {ReturnEmptyOrString(x?.MaxCharge)}\r\n </button>\r\n )}\r\n </td>\r\n <td className={`border-0`}></td>\r\n <td className={`border-0`}></td>\r\n {!IsReadOnly && (\r\n <>\r\n <td className={`border-0`} />\r\n <td className={`border-0`} />\r\n </>\r\n )}\r\n </tr>\r\n\r\n {x?.SubTotal && (\r\n <tr className={colorTable}>\r\n <td className={`border-0`} />\r\n <td className={`border-0`} />\r\n <td className={`border-0`} />\r\n <td className={`border-0 text-right`}>\r\n <span\r\n style={{ whiteSpace: \"nowrap\" }}\r\n className={`btn p-3 text-white font-weight-bolder bg-${ChargesColorCategory(\r\n x?.Category\r\n )}`}\r\n >\r\n Sub Total\r\n </span>\r\n </td>\r\n <td className={`border-0`}>\r\n <span\r\n style={{ whiteSpace: \"nowrap\" }}\r\n className={`btn ${CategoryTotalId(\r\n x?.Category,\r\n x?.Invoice,\r\n x?.VendorBill,\r\n ChargesId,\r\n type\r\n )} text-${ChargesColorCategory(\r\n x?.Category\r\n )} bg-light-${ChargesColorCategory(x?.Category)}`}\r\n />\r\n </td>\r\n {!IsReadOnly && (\r\n <>\r\n <td className={`border-0`} />\r\n <td className={`border-0`} />\r\n </>\r\n )}\r\n </tr>\r\n )}\r\n </tbody>\r\n </>\r\n );\r\n })}\r\n <tbody className=\"border-0\">\r\n <tr>\r\n <td colSpan=\"3\" className=\"border-0\" />\r\n <td className=\"text-right border-0\">\r\n <span className={`btn p-3 text-dark bg-secondary`}>\r\n <b>Total</b>\r\n </span>\r\n </td>\r\n <td className={`border-0 RateAllTotal-${type}-${ChargesId}`}>\r\n <span\r\n className=\"btn p-3 text-black bg-light\"\r\n style={{ whiteSpace: \"nowrap\" }}\r\n ></span>\r\n </td>\r\n <td className=\"border-0\" />\r\n </tr>\r\n </tbody>\r\n </table>\r\n </div>\r\n </div>\r\n {ChargesRemove?.length > 0 && (\r\n <ChargesRemoveComponent ChargesRemove={ChargesRemove} />\r\n )}\r\n {Charges?.length === 0 && <Spinner2s />}\r\n {!IsReadOnly && (\r\n <>\r\n <div className=\"col-lg-8 text-black p-5 font-weight-bold\">\r\n {Charges.findIndex((x) => x?.IsReadOnly === true) === -1 && (\r\n <button\r\n type=\"button\"\r\n className=\"btn btn-light-success p-2\"\r\n onClick={() => {\r\n setChargeModel({ Show: true, Type: \"success\" });\r\n }}\r\n disabled={\r\n ChargesReadOnly || ChargesN?.length === 0 || loadingCharges\r\n }\r\n >\r\n <i className={`fas fa-plus fa-sm`}></i> Add Charge\r\n </button>\r\n )}\r\n {Charges.findIndex((x) => x?.IsReadOnly === true) > -1 && (\r\n <>\r\n {ChargesN && (\r\n <button\r\n type=\"button\"\r\n className={\"btn btn-light-primary p-2 ml-2\"}\r\n onClick={() => {\r\n setChargeModel({ Show: true, Type: \"primary\" });\r\n }}\r\n disabled={\r\n ChargesReadOnly ||\r\n ChargesN?.length === 0 ||\r\n Charges.findIndex(\r\n (x) => x?.OriAddSup === 2 && !x?.IsReadOnly\r\n ) > -1\r\n }\r\n >\r\n <i className={`fas fa-plus fa-sm`}></i> Add Additional\r\n </button>\r\n )}\r\n <button\r\n type=\"button\"\r\n className=\"btn btn-light-info p-2 ml-2\"\r\n onClick={() => {\r\n setChargeModel({ Show: true, Type: \"info\" });\r\n }}\r\n disabled={\r\n ChargesReadOnly ||\r\n Charges?.length === 0 ||\r\n Charges.findIndex(\r\n (x) => x?.OriAddSup === 1 && !x?.IsReadOnly\r\n ) > -1\r\n }\r\n >\r\n <i className={`fas fa-plus fa-sm`}></i> Add Supplemental\r\n </button>\r\n </>\r\n )}\r\n </div>\r\n <div className=\"col-lg-2 text-black p-5 font-weight-bold text-right d-none\">\r\n <button\r\n type=\"button\"\r\n disabled={ChargesReadOnly || loadingCharges}\r\n className=\"btn btn-light-primary p-2 w-100\"\r\n onClick={() => {\r\n GetPayableForVendor({ button: true });\r\n }}\r\n >\r\n {loadingCharges && (\r\n <Spinner\r\n as=\"span\"\r\n animation=\"border\"\r\n role=\"status\"\r\n aria-hidden=\"true\"\r\n style={{\r\n fontSize: \"10px\",\r\n width: \"20px\",\r\n height: \"20px\",\r\n marginRight: \"3px\",\r\n }}\r\n />\r\n )}\r\n <i className={`fas fa-square-root-alt fa-sm`}></i> Calculated\r\n </button>\r\n </div>\r\n <div className=\"col-lg-2 text-black p-5 font-weight-bold text-right\">\r\n <button\r\n id=\"AutoRatingBtn\"\r\n type=\"button\"\r\n disabled={ChargesReadOnly || loadingCharges || loadingCharges}\r\n className={`btn btn-light-warning p-2 w-100 AutoRatingBtn-${ChargesId}`}\r\n onClick={() => {\r\n var list = [];\r\n Charges.filter((y) => !y?.IsReadOnly).forEach((x) =>\r\n list.push(x?.Id)\r\n );\r\n setAutoRatingCheck(list);\r\n\r\n var find = SortOnlyCharge(Charges, false, AutoRating, IsHot)\r\n .length;\r\n if (find > 0) {\r\n setAutoRatingModal(true);\r\n setIsEditedCharges(true);\r\n } else {\r\n AutoRatingCharges({\r\n setAutoRatingModal: setAutoRatingModal,\r\n setCharges: setCharges,\r\n Charges: Charges,\r\n AutoRating: AutoRating,\r\n IsHot: IsHot,\r\n bool: true,\r\n AutoRatingCheck: AutoRatingCheck,\r\n IndexId: ChargesId,\r\n });\r\n setIsEditedCharges(true);\r\n }\r\n }}\r\n >\r\n <i className={`fas fa-magic fa-sm`}></i> Auto Rate\r\n </button>\r\n\r\n <input\r\n type=\"hidden\"\r\n data-type=\"\"\r\n className=\"BtnAutoRating\"\r\n onClick={(e) => {\r\n //get type --------------------------------------------------\r\n var type = e.target.getAttribute(\"data-type\");\r\n\r\n var list = [];\r\n Charges.filter((x) => type.includes(x.Calcul)).forEach((x) => {\r\n if (type.includes(\"perdaychassis\")) {\r\n x.DateStart = FieldID(\"C_PickedUpDate\" + ChargesId);\r\n x.DateEnd = FieldID(\"C_TerminatedDate\" + ChargesId);\r\n }\r\n list.push(x?.Id);\r\n });\r\n\r\n var autoRatingCheck = list;\r\n setAutoRatingCheck(list);\r\n\r\n //get type --------------------------------------------------\r\n\r\n var find = SortOnlyCharge(\r\n Charges,\r\n autoRatingCheck,\r\n AutoRating,\r\n IsHot\r\n ).length;\r\n if (find > 0) {\r\n setAutoRatingModal(true);\r\n setIsEditedCharges(true);\r\n } else {\r\n AutoRatingCharges({\r\n setAutoRatingModal: setAutoRatingModal,\r\n setCharges: setCharges,\r\n Charges: Charges,\r\n AutoRating: AutoRating,\r\n IsHot: IsHot,\r\n bool: true,\r\n AutoRatingCheck: AutoRatingCheck,\r\n IndexId: ChargesId,\r\n });\r\n setIsEditedCharges(true);\r\n }\r\n }}\r\n />\r\n </div>\r\n <div className=\"col-lg-2 text-black p-5 font-weight-bold text-right\">\r\n <button\r\n type=\"button\"\r\n disabled={ChargesReadOnly || loadingCharges}\r\n className=\"btn btn-light-primary p-2 w-100\"\r\n onClick={() => {\r\n GetPayableForVendor({ button: true });\r\n }}\r\n >\r\n {loadingCharges && (\r\n <Spinner\r\n as=\"span\"\r\n animation=\"border\"\r\n role=\"status\"\r\n aria-hidden=\"true\"\r\n style={{\r\n fontSize: \"10px\",\r\n width: \"20px\",\r\n height: \"20px\",\r\n marginRight: \"3px\",\r\n }}\r\n />\r\n )}\r\n <i className={`fas fa-square-root-alt fa-sm`}></i> Calculated\r\n </button>\r\n </div>\r\n </>\r\n )}\r\n </div>\r\n );\r\n};\r\n\r\nasync function PostNote(id, text, type) {\r\n return fetch(window.$apiurl + \"/Shipments/postchargesnotes\", {\r\n method: \"POST\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify({\r\n Id: id,\r\n Note: text,\r\n Type: type,\r\n }),\r\n }).then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n });\r\n}\r\n\r\nfunction SaveDisabledFunction(bool) {\r\n document.querySelectorAll(\".SaveDisabled\").forEach((el) => {\r\n if (bool) el.classList.add(\"disabled\");\r\n else el.classList.remove(\"disabled\");\r\n });\r\n}\r\n\r\nfunction PeoplesComponent() {\r\n const [Selected, setSelected] = useState([]);\r\n const [SelectedItem, setSelectedItem] = useState(false);\r\n return (\r\n <div>\r\n <Select\r\n isSearchable={true}\r\n isClearable\r\n isMulti\r\n components={{ Option: CustomOption }}\r\n options={[\r\n {\r\n label: \"Abdlhadi Tahir\",\r\n value: 1,\r\n img:\r\n \"https://ca.slack-edge.com/T0C82LU2Z-U0C86RBND-1fa410822c2b-512\",\r\n },\r\n {\r\n label: \"Zakaria Issaad\",\r\n value: 11,\r\n img:\r\n \"https://ca.slack-edge.com/T0C82LU2Z-UD72JPHRQ-ea43b29fdbc0-512\",\r\n },\r\n {\r\n label: \"Zakaria Baabit\",\r\n value: 2,\r\n img:\r\n \"https://ca.slack-edge.com/T0C82LU2Z-U76350YLV-7993a0d1a955-512\",\r\n },\r\n {\r\n label: \"yassine younsi\",\r\n value: 3,\r\n img:\r\n \"https://ca.slack-edge.com/T0C82LU2Z-U0116PFB4DU-84613914321f-512\",\r\n },\r\n {\r\n label: \"El Khaoua Karim\",\r\n value: 4,\r\n img:\r\n \"https://ca.slack-edge.com/T0C82LU2Z-UC5AGTS6T-8a8b8e186be9-512\",\r\n },\r\n ]}\r\n onChange={(x) => {\r\n setSelected(x);\r\n }}\r\n />\r\n <br />\r\n <br />\r\n <div className=\"row\">\r\n <div className=\"col-4\">\r\n <div className=\"text-primary mb-3\">\r\n <h6>Assignee :</h6>\r\n </div>\r\n {Selected.map((item) => (\r\n <PeoplesProfile\r\n Info={item}\r\n setSelectedItem={setSelectedItem}\r\n SelectedId={SelectedItem?.value}\r\n />\r\n ))}\r\n </div>\r\n\r\n <div className=\"col-8\">\r\n {SelectedItem?.value && (\r\n <>\r\n <div className=\"text-primary mb-3 ml-5 pl-3\">\r\n <h6>Detail :</h6>\r\n </div>\r\n {IsValid(\"Start Time\", \"09-06-2021, 5:57 PM\")}{\" \"}\r\n {IsValid(\"End Time\", \"None\")}\r\n {IsValid(\"Time remaining\", \"5H:30\")}\r\n {IsValid(\r\n \"Notes\",\r\n \"\",\r\n <textarea\r\n class=\"form-control\"\r\n id=\"exampleFormControlTextarea1\"\r\n rows=\"2\"\r\n placeholder=\"Notes\"\r\n ></textarea>\r\n )}\r\n {IsValid(\r\n \"Priority\",\r\n \"\",\r\n <Select\r\n isSearchable={true}\r\n isClearable\r\n defaultValue={{\r\n label: \"Medium\",\r\n value: 2,\r\n }}\r\n options={[\r\n {\r\n label: \"Highest\",\r\n value: 1,\r\n },\r\n {\r\n label: \"Medium\",\r\n value: 2,\r\n },\r\n {\r\n label: \"Low\",\r\n value: 3,\r\n },\r\n {\r\n label: \"Lowest\",\r\n value: 4,\r\n },\r\n ]}\r\n />\r\n )}\r\n {IsValid(\"Cartons Count \", \"177\")}\r\n </>\r\n )}\r\n </div>\r\n </div>\r\n </div>\r\n );\r\n}\r\n\r\nconst CustomOption = (props) => {\r\n const [Info, setInfo] = useState({});\r\n useEffect(() => {\r\n var find = props.options.find((x) => x.value === props.value);\r\n setInfo(find);\r\n }, [props.options]);\r\n\r\n return !props.isDisabled ? (\r\n <div {...props.innerProps}>\r\n <PeoplesProfile Info={Info} />\r\n </div>\r\n ) : null;\r\n};\r\n\r\nfunction PeoplesProfile({ Info, setSelectedItem, SelectedId }) {\r\n return (\r\n <div\r\n className={\r\n \"shadow-sm p-2 mb-5 rounded mb-5 \" +\r\n (SelectedId === Info?.value ? \"bg-primary\" : \"bg-white\")\r\n }\r\n onClick={() => {\r\n if (setSelectedItem) setSelectedItem(Info);\r\n }}\r\n >\r\n <img\r\n src={Info.img}\r\n className=\"shadow p-1 bg-white\"\r\n style={{\r\n height: \"45px\",\r\n borderRadius: \"50%\",\r\n }}\r\n alt=\"img\"\r\n />\r\n <b\r\n className={\r\n \"ml-5 \" + (SelectedId === Info?.value ? \"text-white\" : \"text-dark\")\r\n }\r\n style={{ fontSize: \"12px\" }}\r\n >\r\n {Info.label}\r\n </b>\r\n </div>\r\n );\r\n}\r\nfunction IsValid(name, str, Components = false) {\r\n try {\r\n if (str?.includes(\"null\") || str?.includes(\"undefined\")) str = undefined;\r\n } catch (error) {}\r\n return (\r\n <>\r\n <div className=\"row w-100 my-2 ml-3\">\r\n <div className=\"col-lg-4 font-weight-bold text-dark text-left pl-5\">\r\n {name}\r\n </div>\r\n <div className=\"col-lg-8 text-primary\">\r\n {Components ? (\r\n Components\r\n ) : (\r\n <>: {str || <span className=\"text-muted\">Empty</span>}</>\r\n )}\r\n </div>\r\n </div>\r\n </>\r\n );\r\n}\r\n\r\nfunction CheckVandorIsDanger(Vendors, VendorsList = []) {\r\n var checkBool = false;\r\n VendorsList.forEach((x) => {\r\n var checkVendor = Vendors.find((y) => y?.Id === x?.VendorId);\r\n var checkOrg = vendorsOrg.find(\r\n (y) => y?.Id === x?.IdOrg && y?.VendorId === x?.VendorId\r\n );\r\n if (\r\n !checkOrg &&\r\n checkVendor &&\r\n checkVendor.AlertType === \"Danger\" &&\r\n x?.FreightChargeId === 98\r\n ) {\r\n checkBool = true;\r\n const alertMessage = checkVendor?.AlertMessage || [];\r\n alertMessage.map((x) => {\r\n const msgType =\r\n checkVendor?.AlertType === \"Danger\" ? \"error\" : \"warning\";\r\n Notification(msgType, checkVendor?.Name + \" : \" + x);\r\n return x;\r\n });\r\n }\r\n });\r\n return checkBool;\r\n}\r\n","import React, { useEffect, useState } from \"react\";\r\nimport { Formik, Form, Field } from \"formik\";\r\nimport {\r\n Input,\r\n DateTime30,\r\n CreatableSelect3,\r\n Select as SelectDrop,\r\n} from \"../../../../../../../../_metronic/_partials/controls\";\r\nimport { makeStyles } from \"@material-ui/core/styles\";\r\nimport Select from \"react-select\";\r\nimport axios from \"axios\";\r\nimport CreatableSelect from \"react-select/creatable\";\r\nimport {\r\n DateTime30minInterval,\r\n IsValidMessage,\r\n RequiredHtml,\r\n} from \"../../../../../../../../_metronic/_helpers/ATHelpers\";\r\nimport Table from \"@material-ui/core/Table\";\r\nimport TableBody from \"@material-ui/core/TableBody\";\r\nimport TableCell from \"@material-ui/core/TableCell\";\r\nimport TableHead from \"@material-ui/core/TableHead\";\r\nimport Paper from \"@material-ui/core/Paper\";\r\nimport TableRow from \"@material-ui/core/TableRow\";\r\nimport $ from \"jquery\";\r\nimport { Notification } from \"../../../../../../Notification\";\r\n\r\nconst catchError = [];\r\n\r\nexport function AssignToOutboundHeaderForm({\r\n Consigneesf = [],\r\n Vendorsf = [],\r\n Shippersf = [],\r\n Customersf = [],\r\n Servicesf = [],\r\n FreightChargesf = [],\r\n SHipmentId,\r\n SHipment = [],\r\n TrackingDevicesf = [],\r\n setstatSHipment,\r\n Warehouse,\r\n setLineItems,\r\n LineItems,\r\n GetShipmentData = false,\r\n TableShow = true,\r\n ReloadPallets = false,\r\n GetOrdersIds = false,\r\n}) {\r\n const [remark, setremark] = useState(catchError);\r\n const [Consignee, setConsignee] = useState(catchError);\r\n const [ConsigneeID, setConsigneeID] = useState();\r\n const [Vendor, setVendor] = useState(catchError);\r\n const [VendorID, setVendorID] = useState();\r\n const [Shippers, setShippers] = useState(catchError);\r\n const [ShippersID, setShippersID] = useState();\r\n const [Customers, setCustomers] = useState(catchError);\r\n const [CustomersID, setCustomersID] = useState();\r\n const [ConsigneeDetail, setConsigneeDetail] = useState(catchError);\r\n const [VendorDetail, setVendorDetail] = useState(catchError);\r\n const [CustomersDetail, setCustomersDetail] = useState(catchError);\r\n const [ShippersDetail, setShippersDetail] = useState(catchError);\r\n const [Services, setServices] = useState(catchError);\r\n const [Modes, setModes] = useState(catchError);\r\n const [ServiceLevels, setServiceLevels] = useState(catchError);\r\n const [EquipmentTypes, setEquipmentTypes] = useState(catchError);\r\n const [EquipmentSizes, setEquipmentSizes] = useState(catchError);\r\n const [FreightCharges, setFreightCharges] = useState(catchError);\r\n const [puAppointmentToDate, setPuAppointmentDateTo] = useState(null);\r\n const [RequestedPickUpDate, setRequestedPickUpDate] = useState();\r\n const [TrackingDevices, setTrackingDevices] = useState(catchError);\r\n\r\n //Palletized\r\n const [isPalletized, setPalletizedForm] = useState(false);\r\n useEffect(() => {\r\n setConsignee([]);\r\n if (remark?.CustomerId) {\r\n var list = Consigneesf.filter((x) => x.CustomerId === remark?.CustomerId);\r\n setConsignee(list.length > 0 ? list : Consigneesf);\r\n }\r\n }, [Consigneesf, remark]);\r\n\r\n useEffect(() => {\r\n Vendorsf.forEach((x) => {\r\n let c = \"#000000\";\r\n if (x?.AlertType === \"Danger\") c = \"#ff5555\";\r\n else if (x?.AlertType === \"Warning\") c = \"#bbb000\";\r\n x.Color = c;\r\n });\r\n var vendorid = SHipment.find((el) => {\r\n return el.Id === SHipmentId;\r\n })?.VendorId;\r\n var v = Vendorsf.filter((x) => !!x?.IsActive || x?.Id === vendorid);\r\n setVendor(v);\r\n }, [Vendorsf, SHipment]);\r\n\r\n useEffect(() => {\r\n setCustomers(Customersf);\r\n }, [Customersf]);\r\n\r\n useEffect(() => {\r\n setShippers(Shippersf);\r\n }, [Shippersf]);\r\n\r\n useEffect(() => {\r\n setServices(Servicesf);\r\n }, [Servicesf]);\r\n\r\n useEffect(() => {\r\n setFreightCharges(FreightChargesf);\r\n }, [FreightChargesf]);\r\n\r\n useEffect(() => {\r\n if (TrackingDevicesf.length > 0 && TrackingDevices.length === 0)\r\n setTrackingDevices(TrackingDevicesf);\r\n }, [TrackingDevicesf]);\r\n\r\n useEffect(() => {\r\n fetchTabeAsync();\r\n }, [SHipmentId, SHipment]);\r\n\r\n useEffect(() => {\r\n window.OneMoveMasterVendors = false;\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (GetOrdersIds && CustomersID?.value) GetOrdersIds(CustomersID?.value);\r\n }, [CustomersID]);\r\n\r\n const fetchTabeAsync = () => {\r\n try {\r\n var a = SHipment.filter((el) => {\r\n return el.Id === SHipmentId;\r\n });\r\n //fetch LoadType\r\n try {\r\n if (a.length > 0 && a[0].PalletType === \"Palletized\") {\r\n setPalletizedForm(true);\r\n }\r\n } catch (err) {}\r\n\r\n var b = Customersf.find((x) => +x?.Id === +a[0].CustomerId);\r\n if (b) {\r\n setCustomersID({\r\n value: b?.Id,\r\n label: `${b?.Name} - ${b?.Code} ${\r\n b?.MiffId !== null ? \" - \" + b?.MiffId : \"\"\r\n }`,\r\n });\r\n setCustomersDetail(b);\r\n }\r\n\r\n var b = Consigneesf.find((x) => +x?.Id === +a[0].ConsigneeId);\r\n if (b) {\r\n setConsigneeID({\r\n value: b?.Id,\r\n label: `${b?.Name} - ${b?.Code} ${\r\n b?.MiffId !== null ? \" - \" + b?.MiffId : \"\"\r\n }`,\r\n });\r\n setConsigneeDetail(b);\r\n }\r\n\r\n var b = Vendorsf.find((x) => +x?.Id === +a[0].VendorId);\r\n if (b) {\r\n setVendorID(a[0].VendorId);\r\n setVendorDetail(b);\r\n }\r\n\r\n var b = Shippersf.find((x) => +x?.Id === +a[0].ShipperId);\r\n if (b) {\r\n setShippersID({\r\n value: b?.Id,\r\n label: `${b?.Name} - ${b?.Code} ${\r\n b?.MiffId !== null ? \" - \" + b?.MiffId : \"\"\r\n }`,\r\n });\r\n setShippersDetail(b);\r\n }\r\n\r\n if (!a[0].ServiceId) {\r\n a[0].ServiceId = 6;\r\n a[0].ModeId = 3;\r\n a[0].ServiceLevelId = 8;\r\n a[0].EquipmentTypeId = 49;\r\n a[0].EquipmentSizeId = 251;\r\n }\r\n\r\n let time = new Date(a[0].PickupAppointmentToDate);\r\n setPuAppointmentDateTo(\r\n (\"0\" + time.getHours()).slice(-2) +\r\n \":\" +\r\n (\"0\" + time.getMinutes()).slice(-2) +\r\n \":00\"\r\n );\r\n\r\n setremark(a[0]);\r\n setTimeout(() => {\r\n $(\"#AssignToOutboundHeaderForm\").slideDown();\r\n }, 1000);\r\n } catch (e) {\r\n return 0;\r\n }\r\n };\r\n\r\n function GetShipmentDataHeader() {\r\n let idREcipt = $(\".OrderFilter.collapse.show\").attr(\"data-filter\");\r\n\r\n if (GetShipmentData !== false)\r\n GetShipmentData().then((e) => {\r\n $(\".LoadingId\").fadeOut();\r\n $(\"#Loading\").addClass(\"d-none\");\r\n\r\n let arr = e?.data?.Shipments || [];\r\n\r\n setstatSHipment([]);\r\n setstatSHipment(arr);\r\n\r\n var a = arr.filter((el) => {\r\n return el?.Id === SHipmentId;\r\n });\r\n setremark({});\r\n setremark(a[0]);\r\n\r\n let lineItems = LineItems || []; //.filter((x) => x?.Close === true) || [];\r\n\r\n lineItems = e?.data?.Receipts.concat(lineItems) || [];\r\n lineItems = lineItems.reduce(\r\n (acc, x) =>\r\n acc.concat(acc.find((y) => y.OrderId === x.OrderId) ? [] : [x]),\r\n []\r\n );\r\n\r\n setLineItems([]);\r\n setLineItems(lineItems);\r\n\r\n const filter = $(\".OrderFilter.collapse.show\").attr(\"data-filter\");\r\n if (+filter !== +idREcipt) {\r\n $(\".OrderFilter.collapse.show\").click();\r\n $(`.OrderFilter[data-filter=\"${idREcipt}\"]`).click();\r\n }\r\n });\r\n }\r\n\r\n return remark === undefined ? (\r\n <></>\r\n ) : (\r\n <>\r\n <Formik\r\n enableReinitialize={true}\r\n initialValues={remark}\r\n onSubmit={(values) => {\r\n if (\r\n CheckVandorIsDanger(\r\n Vendor,\r\n values?.VendorId,\r\n values?.FreightChargeId\r\n )\r\n )\r\n return false;\r\n\r\n window.IsValid = false;\r\n values.id = SHipmentId;\r\n values.RequestedPickUpDate =\r\n values.RequestedPickUpDate || RequestedPickUpDate;\r\n\r\n IsValidMessage(\"Customer\", values?.CustomerId);\r\n IsValidMessage(\"Freight Charge\", values?.FreightChargeId);\r\n if (window.IsValid) return false;\r\n\r\n axios\r\n .post(\"api/FindOrderContainers/PutShipment\", {\r\n data: values,\r\n })\r\n .then((e) => {\r\n if (ReloadPallets) ReloadPallets(1);\r\n GetShipmentDataHeader();\r\n });\r\n }}\r\n >\r\n {({ setFieldValue, values }) => (\r\n <>\r\n <Form className=\"form form-label-right\">\r\n <div className=\"form-group row\">\r\n <div\r\n className={\r\n \"col-lg-3 \" + (Customersf.length === 0 && \"d-none\")\r\n }\r\n >\r\n <label>\r\n Customer <RequiredHtml />\r\n </label>\r\n <Select\r\n value={{\r\n value: values?.CustomerId,\r\n label:\r\n Customers.find((x) => x.Id === values?.CustomerId)\r\n ?.Name || \"Select...\",\r\n }}\r\n onChange={(newValue) => {\r\n var a = newValue?.value;\r\n setCustomersID(newValue);\r\n setFieldValue(\"CustomerId\", a);\r\n var b = Customers.find((x) => x.Id === a);\r\n setCustomersDetail(b);\r\n\r\n setConsignee([]);\r\n if (a)\r\n var list = Consigneesf.filter(\r\n (x) => x.CustomerId === a\r\n );\r\n setConsignee(list.length > 0 ? list : Consigneesf);\r\n }}\r\n options={Customers.map((x) => {\r\n return {\r\n value: x?.Id,\r\n label: x?.Code + \" - \" + x?.Name,\r\n };\r\n })}\r\n className=\"w-100 mr-2\"\r\n name=\"CustomerId\"\r\n />\r\n </div>\r\n <div\r\n className={\r\n \"col-lg-3 \" + (Customersf.length === 0 && \"col-lg-4\")\r\n }\r\n >\r\n <label>Consignee</label>\r\n <CreatableSelect\r\n isSearchable={true}\r\n onCreateOption={undefined}\r\n value={ConsigneeID}\r\n createOptionPosition=\"first\"\r\n isClearable\r\n onChange={(newValue) => {\r\n var a = newValue?.value;\r\n setConsigneeID(newValue);\r\n setFieldValue(\"ConsigneeId\", a);\r\n var b = Consignee.find((x) => x.Id === a);\r\n setConsigneeDetail(b);\r\n }}\r\n options={Consignee.map((x) => {\r\n return {\r\n value: x?.Id,\r\n label: x?.Code + \" - \" + x?.Name,\r\n };\r\n })}\r\n name=\"ConsigneeId\"\r\n id=\"ConsigneeId\"\r\n className=\"w-100 mr-2\"\r\n />\r\n </div>\r\n <div\r\n className={\r\n \"col-lg-3 \" + (Customersf.length === 0 && \"col-lg-4\")\r\n }\r\n >\r\n <label>Vendor</label>\r\n <CreatableSelect3\r\n isSearchable={true}\r\n onCreateOption={undefined}\r\n valueSelect={VendorID}\r\n Loading={false}\r\n createOptionPosition=\"first\"\r\n isClearable\r\n onChange={(newValue) => {\r\n var a = newValue?.value;\r\n setFieldValue(\"VendorId\", a);\r\n var b = Vendor.find((x) => x.Id == a);\r\n\r\n setTimeout(() => {\r\n window.OneMoveMasterVendors = true;\r\n }, 5000);\r\n setVendorDetail(b);\r\n }}\r\n ColorBool={values?.FreightChargeId === 98}\r\n options={Vendor.map((x) => {\r\n return {\r\n value: x?.Id,\r\n label: x?.Code + \" - \" + x?.Name,\r\n color: x?.Color,\r\n };\r\n })}\r\n name=\"VendorId\"\r\n id=\"VendorId\"\r\n className=\"w-100 mr-2\"\r\n />\r\n {VendorDetail?.AlertType === \"Danger\" &&\r\n values?.FreightChargeId === 98 && (\r\n <b className=\"text-danger w-100 pt-1\">\r\n * This Vendor is not Certified\r\n </b>\r\n )}\r\n </div>\r\n <div\r\n className={\r\n \"col-lg-3 \" + (Customersf.length === 0 && \"col-lg-4\")\r\n }\r\n >\r\n <label>Shipper</label>\r\n <CreatableSelect3\r\n name=\"ShipperId\"\r\n Loading={false}\r\n valueSelect={values?.ShipperId}\r\n setFieldValue={setFieldValue}\r\n options={Shippers.map((x) => {\r\n return {\r\n value: x?.Id,\r\n label: x?.Code + \" - \" + x?.Name,\r\n };\r\n })}\r\n onChange={(newValue) => {\r\n var a = newValue?.value;\r\n var b = Shippers.find((x) => x.Id === a);\r\n setShippersDetail(b);\r\n }}\r\n />\r\n </div>\r\n <div\r\n className={\r\n \"col-lg-3 mt-2 \" + (Customersf.length === 0 && \"d-none\")\r\n }\r\n >\r\n <div className=\"form-control h-100\">\r\n {CustomersDetail?.Name}\r\n <br />\r\n {CustomersDetail?.Address1} <br />\r\n {CustomersDetail?.Address2 !== null &&\r\n CustomersDetail?.Address2}\r\n {CustomersDetail?.City}. {CustomersDetail?.State}{\" \"}\r\n {CustomersDetail?.ZipCode}\r\n </div>\r\n </div>\r\n <div\r\n className={\r\n \"col-lg-3 mt-2 \" + (Customersf.length === 0 && \"col-lg-4\")\r\n }\r\n >\r\n <div className=\"form-control h-100\">\r\n {ConsigneeDetail?.Name}\r\n <br />\r\n {ConsigneeDetail?.Address1} <br />\r\n {ConsigneeDetail?.Address2 !== null &&\r\n ConsigneeDetail?.Address2}\r\n {ConsigneeDetail?.City}. {ConsigneeDetail?.State}{\" \"}\r\n {ConsigneeDetail?.ZipCode}\r\n </div>\r\n </div>\r\n <div\r\n className={\r\n \"col-lg-3 mt-2 \" + (Customersf.length === 0 && \"col-lg-4\")\r\n }\r\n >\r\n <div className=\"form-control h-100\">\r\n {VendorDetail?.Name}\r\n <br />\r\n {VendorDetail?.Address1} <br />\r\n {VendorDetail?.Address2 !== null && VendorDetail?.Address2}\r\n {VendorDetail?.City}. {VendorDetail?.State}{\" \"}\r\n {VendorDetail?.ZipCode}\r\n </div>\r\n </div>\r\n <div\r\n className={\r\n \"col-lg-3 mt-2 \" + (Customersf.length === 0 && \"col-lg-4\")\r\n }\r\n >\r\n <div className=\"form-control h-100\">\r\n {ShippersDetail?.Name}\r\n <br />\r\n {ShippersDetail?.Address1} <br />\r\n {ShippersDetail?.Address2 !== null &&\r\n ShippersDetail?.Address2}\r\n {ShippersDetail?.City}. {ShippersDetail?.State}{\" \"}\r\n {ShippersDetail?.ZipCode}\r\n </div>\r\n </div>\r\n <div\r\n className={isPalletized ? \"col-lg-2 mt-5\" : \"col-lg-3 mt-5\"}\r\n >\r\n <Field\r\n id=\"EquipmentId\"\r\n name=\"Equipment\"\r\n component={Input}\r\n placeholder=\"Equipment\"\r\n label=\"Equipment\"\r\n />\r\n </div>\r\n <div\r\n className={isPalletized ? \"col-lg-2 mt-5\" : \"col-lg-3 mt-5\"}\r\n >\r\n <Field\r\n id=\"SealNumberId\"\r\n name=\"SealNumber\"\r\n component={Input}\r\n placeholder=\"Seal No.\"\r\n label=\"Seal No.\"\r\n />\r\n </div>\r\n <div\r\n className={isPalletized ? \"col-lg-2 mt-5\" : \"col-lg-3 mt-5\"}\r\n >\r\n <SelectDrop\r\n name=\"PalletType\"\r\n label=\"Load type\"\r\n className=\"form-control\"\r\n onChange={(e) => {\r\n if (e.target.value === \"Palletized\") {\r\n setPalletizedForm(true);\r\n } else {\r\n setPalletizedForm(false);\r\n }\r\n setFieldValue(\"PalletType\", e.target.value);\r\n }}\r\n >\r\n <option value=\"Floor loaded\">Floor loaded</option>\r\n <option value=\"Palletized\">Palletized</option>\r\n </SelectDrop>\r\n </div>\r\n {/* Pallized Form */}\r\n {isPalletized && (\r\n <>\r\n <div className=\"col-lg-2 mt-5\">\r\n <SelectDrop\r\n name=\"PalletLoadType\"\r\n label=\"Pallet Type\"\r\n className=\"form-control\"\r\n >\r\n <option value=\"\">Select</option>\r\n <option value=\"A\">A</option>\r\n <option value=\"B\">B</option>\r\n <option value=\"Misc\">Misc</option>\r\n </SelectDrop>\r\n </div>\r\n <div className=\"col-lg-2 mt-5\">\r\n <Field\r\n id=\"PalletCount\"\r\n name=\"PalletCount\"\r\n type=\"number\"\r\n min=\"0\"\r\n component={Input}\r\n placeholder=\"Pallet Count\"\r\n label=\"PalletCount\"\r\n onChange={(e) => {\r\n setFieldValue(\"PalletCount\", e.target.value);\r\n }}\r\n />\r\n </div>\r\n </>\r\n )}\r\n <div\r\n className={isPalletized ? \"col-lg-2 mt-5\" : \"col-lg-3 mt-5\"}\r\n >\r\n <CreatableSelect3\r\n name=\"FreightChargeId\"\r\n Loading={false}\r\n required={true}\r\n label=\"Freight Charge\"\r\n valueSelect={values?.FreightChargeId}\r\n setFieldValue={setFieldValue}\r\n options={FreightCharges.map((x) => {\r\n return { value: x?.Id, label: x?.Name };\r\n })}\r\n />\r\n </div>\r\n <div className=\"col-lg-4 mt-5\">\r\n <DateTime30\r\n label=\"Requested Pick Up Date\"\r\n name=\"RequestedPickUpDate\"\r\n defaultvalue={values?.RequestedPickUpDate}\r\n className=\"w-100 pt-2\"\r\n setFieldValue={setFieldValue}\r\n />\r\n </div>\r\n <div className=\"col-lg-4 mt-5\">\r\n <DateTime30\r\n label=\"Last ship date\"\r\n name=\"LastShipDate\"\r\n defaultvalue={values?.LastShipDate}\r\n className=\"w-100 pt-2\"\r\n setFieldValue={setFieldValue}\r\n />\r\n </div>\r\n <div className=\"col-lg-3 mt-5\">\r\n <DateTime30\r\n label=\"P/U Appointment\"\r\n name=\"PickupAppointmentDate\"\r\n defaultvalue={values?.PickupAppointmentDate}\r\n className=\"w-100 pt-2\"\r\n setFieldValue={setFieldValue}\r\n />\r\n </div>\r\n <div className=\"col-lg-1 mt-5\">\r\n <SelectDrop\r\n value={puAppointmentToDate || \"0\"}\r\n name=\"PuAppointmentTo\"\r\n label=\"To Time\"\r\n className=\"form-control\"\r\n onChange={(e) => {\r\n setFieldValue(\"PickupAppointmentToDate\", e.target.value);\r\n setPuAppointmentDateTo(e.target.value);\r\n }}\r\n >\r\n <DateTime30minInterval />\r\n </SelectDrop>\r\n </div>\r\n <div className=\"col-lg-2 mt-5\">\r\n <label>Service</label>\r\n <CreatableSelect3\r\n name=\"ServiceId\"\r\n Loading={false}\r\n valueSelect={values?.ServiceId}\r\n setFieldValue={setFieldValue}\r\n options={Services.map((x) => {\r\n return {\r\n value: x.Id,\r\n label: x?.Name,\r\n };\r\n })}\r\n onChange={(e) => {\r\n const a = Services.find((x) => x?.Id === e?.value);\r\n setModes(a?.Modes || []);\r\n\r\n setModes([]);\r\n setTimeout(() => {\r\n setModes(a?.Modes || []);\r\n }, 1);\r\n }}\r\n />\r\n </div>\r\n <div className=\"col-lg-2 mt-5\">\r\n {Modes.length > 0 && (\r\n <CreatableSelect3\r\n name=\"ModeId\"\r\n label=\"Mode\"\r\n valueSelect={values?.ModeId}\r\n Loading={false}\r\n setFieldValue={setFieldValue}\r\n options={Modes.map((x) => {\r\n return {\r\n value: x.Id,\r\n label: x?.Name,\r\n };\r\n })}\r\n onChange={(e) => {\r\n const a = Modes.find((x) => x?.Id === e?.value);\r\n setServiceLevels([]);\r\n setTimeout(() => {\r\n setServiceLevels(a?.ServiceLevels || []);\r\n }, 1);\r\n }}\r\n />\r\n )}{\" \"}\r\n </div>\r\n <div className=\"col-lg-2 mt-5\">\r\n {Modes.length > 0 && ServiceLevels.length > 0 && (\r\n <CreatableSelect3\r\n name=\"ServiceLevelId\"\r\n label=\"Service Level\"\r\n valueSelect={values?.ServiceLevelId}\r\n Loading={false}\r\n setFieldValue={setFieldValue}\r\n options={ServiceLevels.map((x) => {\r\n return {\r\n value: x.Id,\r\n label: x?.Name,\r\n };\r\n })}\r\n onChange={(e) => {\r\n const a = ServiceLevels.find((x) => x?.Id === e?.value);\r\n\r\n setEquipmentTypes([]);\r\n setTimeout(() => {\r\n setEquipmentTypes(a?.EquipmentTypes || []);\r\n }, 1);\r\n }}\r\n />\r\n )}{\" \"}\r\n </div>{\" \"}\r\n <div className=\"col-lg-2 mt-5\">\r\n {Modes.length > 0 &&\r\n ServiceLevels.length > 0 &&\r\n EquipmentTypes.length > 0 && (\r\n <CreatableSelect3\r\n name=\"EquipmentTypeId\"\r\n label=\"Equipment Type\"\r\n valueSelect={values?.EquipmentTypeId}\r\n Loading={false}\r\n setFieldValue={setFieldValue}\r\n options={EquipmentTypes.map((x) => {\r\n return {\r\n value: x.Id,\r\n label: x?.Name,\r\n };\r\n })}\r\n onChange={(e) => {\r\n const a = EquipmentTypes.find(\r\n (x) => x?.Id === e?.value\r\n );\r\n\r\n setEquipmentSizes([]);\r\n setTimeout(() => {\r\n setEquipmentSizes(a?.EquipmentSizes || []);\r\n }, 1);\r\n }}\r\n />\r\n )}{\" \"}\r\n </div>{\" \"}\r\n <div className=\"col-lg-4 mt-5\">\r\n {Modes.length > 0 &&\r\n ServiceLevels.length > 0 &&\r\n EquipmentTypes.length > 0 &&\r\n EquipmentSizes.length > 0 && (\r\n <CreatableSelect3\r\n name=\"EquipmentSizeId\"\r\n label=\"Equipment Size\"\r\n valueSelect={values?.EquipmentSizeId}\r\n Loading={false}\r\n setFieldValue={setFieldValue}\r\n options={EquipmentSizes.map((x) => {\r\n return {\r\n value: x.Id,\r\n label: x?.Name,\r\n };\r\n })}\r\n />\r\n )}\r\n </div>\r\n <div className={\"col-lg-4 mt-5\"}>\r\n <CreatableSelect3\r\n label=\"Tracking Device\"\r\n name=\"DeviceId\"\r\n valueSelect={values?.DeviceId}\r\n setFieldValue={setFieldValue}\r\n options={TrackingDevices.map((x) => {\r\n return {\r\n value: x.Id,\r\n label: x?.TrackiId + \" - \" + x?.Name,\r\n };\r\n })}\r\n />\r\n </div>\r\n <div className={\"col-lg-4 mt-5\"} />\r\n <div className=\"col-lg-4 mt-5\">\r\n <label>.</label>\r\n <button\r\n type=\"submit\"\r\n className=\"btn btn-primary btn-elevate w-100\"\r\n >\r\n Save\r\n </button>\r\n </div>\r\n </div>\r\n <input\r\n type=\"button\"\r\n className=\"d-none\"\r\n value=\"0\"\r\n id=\"GetShipmentDataTable\"\r\n onClick={() => {\r\n GetShipmentDataHeader();\r\n }}\r\n />\r\n {TableShow && (\r\n <div id=\"ShipmentsTable\" className=\" py-5\">\r\n <TableFunction\r\n Items={remark}\r\n Warehouse={Warehouse}\r\n GetShipmentData={GetShipmentData}\r\n SHipmentId={SHipmentId}\r\n setremark={setremark}\r\n GetShipmentDataHeader={GetShipmentDataHeader}\r\n />\r\n </div>\r\n )}\r\n </Form>\r\n </>\r\n )}\r\n </Formik>\r\n </>\r\n );\r\n}\r\n\r\nconst TableFunction = ({\r\n Items,\r\n Warehouse,\r\n GetShipmentData,\r\n SHipmentId,\r\n setremark,\r\n GetShipmentDataHeader,\r\n}) => {\r\n const [Remark, setRemark] = useState();\r\n const useStyles = makeStyles((theme) => ({\r\n root: {\r\n width: \"100%\",\r\n },\r\n paper: {\r\n marginTop: theme.spacing(1),\r\n width: \"100%\",\r\n overflowX: \"auto\",\r\n marginBottom: theme.spacing(2),\r\n },\r\n table: {\r\n minWidth: 650,\r\n },\r\n }));\r\n const classes = useStyles();\r\n\r\n useEffect(() => {\r\n let obj = {\r\n ShipmentItems: Items?.ShipmentItems || [],\r\n SumQuantity: Items?.SumQuantity || 0,\r\n SumWeight: Items?.SumWeight || 0,\r\n SumCube: Items?.SumCube || 0,\r\n Uom: Items?.Uom || \"\",\r\n WeightType: Items?.WeightType || \"\",\r\n CubeType: Items?.CubeType || \"\",\r\n };\r\n setRemark(obj);\r\n }, [Items]);\r\n\r\n return (\r\n <>\r\n <Paper className={classes.paper}>\r\n <div className=\"react-bootstrap-table table-responsive TabelFilter\">\r\n <Table className={classes.table} size=\"small\">\r\n <TableHead>\r\n <TableRow>\r\n <TableCell className=\"bg-light text-dark pt-5 pb-5\">\r\n Id\r\n </TableCell>\r\n <TableCell className=\"bg-light text-dark pt-5 pb-5\">\r\n Purchase Order\r\n </TableCell>\r\n <TableCell className=\"bg-light text-dark pt-5 pb-5\">\r\n Sku\r\n </TableCell>\r\n <TableCell className=\"bg-light text-dark pt-5 pb-5\">\r\n Quantity\r\n </TableCell>\r\n <TableCell className=\"bg-light text-dark pt-5 pb-5\">\r\n Unit Of Measure\r\n </TableCell>\r\n <TableCell className=\"bg-light text-dark pt-5 pb-5\">\r\n Description\r\n </TableCell>\r\n <TableCell className=\"bg-light text-dark pt-5 pb-5\">\r\n Location\r\n </TableCell>\r\n <TableCell className=\"bg-light text-dark pt-5 pb-5\">\r\n Weight\r\n </TableCell>\r\n <TableCell className=\"bg-light text-dark pt-5 pb-5\">\r\n Weight Type\r\n </TableCell>\r\n <TableCell className=\"bg-light text-dark pt-5 pb-5\">\r\n Cube\r\n </TableCell>\r\n <TableCell className=\"bg-light text-dark pt-5 pb-5\">\r\n Cube Type\r\n </TableCell>\r\n <TableCell className=\"bg-light text-dark pt-5 pb-5\">\r\n Action\r\n </TableCell>\r\n </TableRow>\r\n </TableHead>\r\n <TableBody>\r\n {Remark?.ShipmentItems != [] &&\r\n Remark?.ShipmentItems.map((item, index) => (\r\n <TableTrFunction\r\n item={item}\r\n key={index}\r\n Warehouse={Warehouse}\r\n GetShipmentData={GetShipmentData}\r\n SHipmentId={SHipmentId}\r\n setremark={setremark}\r\n GetShipmentDataHeader={GetShipmentDataHeader}\r\n />\r\n ))}\r\n </TableBody>\r\n\r\n <TableHead>\r\n <TableRow>\r\n <TableCell className=\"bg-light text-dark pt-5 pb-5\">\r\n Total\r\n </TableCell>\r\n <TableCell className=\"bg-light text-dark pt-5 pb-5\"></TableCell>\r\n <TableCell className=\"bg-light text-dark pt-5 pb-5\"></TableCell>\r\n <TableCell className=\"bg-light text-dark pt-5 pb-5\">\r\n {Math.round(Remark?.SumQuantity * 100) / 100}\r\n </TableCell>\r\n <TableCell className=\"bg-light text-dark pt-5 pb-5\">\r\n {Remark?.Uom}\r\n </TableCell>\r\n <TableCell className=\"bg-light text-dark pt-5 pb-5\"></TableCell>\r\n <TableCell className=\"bg-light text-dark pt-5 pb-5\"></TableCell>\r\n <TableCell className=\"bg-light text-dark pt-5 pb-5\">\r\n {Math.round(Remark?.SumWeight * 100) / 100}\r\n </TableCell>\r\n <TableCell className=\"bg-light text-dark pt-5 pb-5\">\r\n {Remark?.WeightType}\r\n </TableCell>\r\n <TableCell className=\"bg-light text-dark pt-5 pb-5\">\r\n {Math.round(Remark?.SumCube * 100) / 100}\r\n </TableCell>\r\n <TableCell className=\"bg-light text-dark pt-5 pb-5\">\r\n {Remark?.CubeType}\r\n </TableCell>\r\n <TableCell className=\"bg-light text-dark pt-5 pb-5\"></TableCell>\r\n </TableRow>\r\n </TableHead>\r\n </Table>\r\n </div>\r\n </Paper>\r\n </>\r\n );\r\n};\r\n\r\nconst TableTrFunction = ({ item, Warehouse, GetShipmentDataHeader }) => {\r\n return (\r\n <TableRow key={item.Id}>\r\n <TableCell component=\"th\" scope=\"row\">\r\n {item.Id}\r\n </TableCell>\r\n <TableCell>{item.PurchaseOrder}</TableCell>\r\n <TableCell>{item.Sku}</TableCell>\r\n <TableCell>{item.Quantity}</TableCell>\r\n <TableCell>{item.UnitOfMeasure}</TableCell>\r\n <TableCell>{item.Description}</TableCell>\r\n <TableCell>{item.Location}</TableCell>\r\n <TableCell>{item.Weight?.toFixed(2)}</TableCell>\r\n <TableCell>{item.WeightType}</TableCell>\r\n <TableCell>{item.Cube?.toFixed(2)}</TableCell>\r\n <TableCell>{item.CubeType}</TableCell>\r\n <TableCell>\r\n <input\r\n value=\"Delete\"\r\n type=\"button\"\r\n className=\"btn btn-danger text-white font-weight-bolder font-size-sm w-100 p-1\"\r\n onClick={(event) => {\r\n DeletehipmentRow(event, item.Id, Warehouse).then(() => {\r\n GetShipmentDataHeader();\r\n });\r\n }}\r\n />\r\n </TableCell>\r\n </TableRow>\r\n );\r\n};\r\n\r\nconst DeletehipmentRow = async (event, Id, Warehouse) => {\r\n $(\".LoadingId\").fadeIn();\r\n await axios.post(\"api/FindOrderContainers/DeleteShipment\", {\r\n data: { Id, Warehouse },\r\n });\r\n};\r\n\r\nfunction CheckVandorIsDanger(Vendors, x, FreightChargeId) {\r\n var checkBool = false;\r\n var checkVendor = Vendors.find((y) => y?.Id === x);\r\n if (\r\n checkVendor &&\r\n checkVendor.AlertType === \"Danger\" &&\r\n FreightChargeId === 98\r\n ) {\r\n checkBool = true;\r\n const alertMessage = checkVendor?.AlertMessage || [];\r\n alertMessage.map((x) => {\r\n const msgType = checkVendor?.AlertType === \"Danger\" ? \"error\" : \"warning\";\r\n Notification(msgType, checkVendor?.Name + \" : \" + x);\r\n });\r\n }\r\n\r\n return checkBool;\r\n}\r\n","import React, { useState } from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { Link } from \"react-router-dom\";\r\nimport \"../../customers-table/FileViewerStyle.css\";\r\nimport DetailMangment from \"./DetailMangment\";\r\nexport default function ModelManagmentFirstReporting({ Id,Container, isReporting }) {\r\n const [Show, setShow] = useState(false);\r\n return (\r\n <>\r\n <Modal\r\n size=\"xl\"\r\n show={Show}\r\n onHide={() => {\r\n setShow(false);\r\n }}\r\n aria-labelledby=\"example-modal-sizes-title-lg\"\r\n >\r\n <DetailMangment\r\n Id={Id}\r\n isReporting={isReporting}\r\n setShow={setShow.bind()}\r\n />\r\n </Modal>\r\n <button\r\n onClick={(e) => {\r\n e.preventDefault();\r\n setShow(true);\r\n }}\r\n type=\"button\"\r\n className={`alert alert-light-info px-2 py-1 mt-3 text-primary bg-light`}\r\n >\r\n {Container}\r\n </button>\r\n </>\r\n );\r\n }","import { IconButton } from \"@material-ui/core\";\r\nimport React from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport CloseIcon from \"@material-ui/icons/Close\";\r\nexport default function DynamicReport({\r\n showModal,\r\n setShowModal,\r\n id,\r\n title,\r\n reportContent\r\n}) {\r\n return (\r\n <Modal\r\n id=\"modalReports\"\r\n size=\"xl\"\r\n show={showModal}\r\n fullscreen={true}\r\n onHide={() => {\r\n setShowModal(false);\r\n }}\r\n aria-labelledby=\"example-modal-sizes-title-lg\"\r\n >\r\n <Modal.Header>\r\n <div className=\"row w-100\">\r\n <div className=\"col-lg-6\">\r\n <h3 className=\"font-weight-bolder text-dark\">Preview {title}</h3>\r\n </div>\r\n </div>\r\n <IconButton\r\n className=\"MuiButtonBase-root MuiIconButton-root jss179\"\r\n aria-label=\"Close\"\r\n onClick={() => {\r\n setShowModal(false);\r\n }}\r\n >\r\n <CloseIcon />\r\n </IconButton>\r\n </Modal.Header>\r\n <Modal.Body className=\"modalReportBody\">{reportContent}</Modal.Body>\r\n <Modal.Footer>\r\n <button\r\n type=\"button\"\r\n onClick={() => {\r\n setShowModal(false);\r\n }}\r\n className=\"btn btn-light btn-elevate\"\r\n >\r\n Close\r\n </button>\r\n </Modal.Footer>\r\n </Modal>\r\n );\r\n}","import * as requestFromServer from \"./productsCrud\";\r\nimport {productsSlice, callTypes} from \"./productsSlice\";\r\n\r\nconst {actions} = productsSlice;\r\n\r\nexport const fetchProducts = queryParams => dispatch => {\r\n dispatch(actions.startCall({ callType: callTypes.list }));\r\n return requestFromServer\r\n .findProducts(queryParams)\r\n .then(response => {\r\n const { totalCount, entities } = response.data;\r\n dispatch(actions.productsFetched({ totalCount, entities }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't find products\";\r\n dispatch(actions.catchError({ error, callType: callTypes.list }));\r\n });\r\n};\r\n\r\nexport const fetchProduct = id => dispatch => {\r\n if (!id) {\r\n return dispatch(actions.productFetched({ productForEdit: undefined }));\r\n }\r\n\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .getProductById(id)\r\n .then(response => {\r\n const product = response.data;\r\n dispatch(actions.productFetched({ productForEdit: product }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't find product\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const deleteProduct = id => dispatch => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .deleteProduct(id)\r\n .then(response => {\r\n dispatch(actions.productDeleted({ id }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't delete product\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const createProduct = productForCreation => dispatch => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .createProduct(productForCreation)\r\n .then(response => {\r\n const { product } = response.data;\r\n dispatch(actions.productCreated({ product }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't create product\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const updateProduct = product => dispatch => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .updateProduct(product)\r\n .then(() => {\r\n dispatch(actions.productUpdated({ product }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't update product\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const updateProductsStatus = (ids, status) => dispatch => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .updateStatusForProducts(ids, status)\r\n .then(() => {\r\n dispatch(actions.productsStatusUpdated({ ids, status }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't update products status\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const deleteProducts = ids => dispatch => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .deleteProducts(ids)\r\n .then(() => {\r\n dispatch(actions.productsDeleted({ ids }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't delete products\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n","import axios from \"axios\";\r\n\r\nexport const PRODUCTS_URL = \"api/products\";\r\n\r\n// CREATE => POST: add a new product to the server\r\nexport function createProduct(product) {\r\n return axios.post(PRODUCTS_URL, { product });\r\n}\r\n\r\n// READ\r\nexport function getAllProducts() {\r\n return axios.get(PRODUCTS_URL);\r\n}\r\n\r\nexport function getProductById(productId) {\r\n return axios.get(`${PRODUCTS_URL}/${productId}`);\r\n}\r\n\r\n// Method from server should return QueryResultsModel(items: any[], totalsCount: number)\r\n// items => filtered/sorted result\r\nexport function findProducts(queryParams) {\r\n return axios.post(`${PRODUCTS_URL}/find`, { queryParams });\r\n}\r\n\r\n// UPDATE => PUT: update the procuct on the server\r\nexport function updateProduct(product) {\r\n return axios.put(`${PRODUCTS_URL}/${product.id}`, { product });\r\n}\r\n\r\n// UPDATE Status\r\nexport function updateStatusForProducts(ids, status) {\r\n return axios.post(`${PRODUCTS_URL}/updateStatusForProducts`, {\r\n ids,\r\n status\r\n });\r\n}\r\n\r\n// DELETE => delete the product from the server\r\nexport function deleteProduct(productId) {\r\n return axios.delete(`${PRODUCTS_URL}/${productId}`);\r\n}\r\n\r\n// DELETE Products by ids\r\nexport function deleteProducts(ids) {\r\n return axios.post(`${PRODUCTS_URL}/deleteProducts`, { ids });\r\n}\r\n","import axios from \"axios\";\r\n\r\nexport const PRODUCTS_URL = \"api/FindReceipts\";\r\n\r\n// CREATE => POST: add a new product to the server\r\nexport function createProduct(product) {\r\n return axios.post(PRODUCTS_URL, { product });\r\n}\r\n\r\n// READ\r\nexport function getAllProducts() {\r\n return axios.get(PRODUCTS_URL);\r\n}\r\n\r\nexport function getProductById(productId) {\r\n return axios.get(`${PRODUCTS_URL}/${productId}`);\r\n}\r\n\r\n// Method from server should return QueryResultsModel(items: any[], totalsCount: number)\r\n// items => filtered/sorted result\r\nexport function findProducts(queryParams) {\r\n return axios.post(`${PRODUCTS_URL}/find`, { queryParams });\r\n}\r\n\r\n// UPDATE => PUT: update the procuct on the server\r\nexport function updateProduct(product) {\r\n return axios.put(`${PRODUCTS_URL}/${product.id}`, { product });\r\n}\r\n\r\n// UPDATE Status\r\nexport function updateStatusForProducts(ids, status) {\r\n return axios.post(`${PRODUCTS_URL}/updateStatusForProducts`, {\r\n ids,\r\n status\r\n });\r\n}\r\n\r\n// DELETE => delete the product from the server\r\nexport function deleteProduct(productId) {\r\n return axios.delete(`${PRODUCTS_URL}/${productId}`);\r\n}\r\n\r\n// DELETE Products by ids\r\nexport function deleteProducts(ids) {\r\n return axios.post(`${PRODUCTS_URL}/deleteProducts`, { ids });\r\n}\r\n","import {createSlice} from \"@reduxjs/toolkit\";\r\n\r\nconst initialProductsState = {\r\n listLoading: false,\r\n actionsLoading: false,\r\n totalCount: 0,\r\n entities: null,\r\n productForEdit: undefined,\r\n lastError: null\r\n};\r\nexport const callTypes = {\r\n list: \"list\",\r\n action: \"action\"\r\n};\r\n\r\nexport const productsSlice = createSlice({\r\n name: \"products\",\r\n initialState: initialProductsState,\r\n reducers: {\r\n catchError: (state, action) => {\r\n state.error = `${action.type}: ${action.payload.error}`;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = false;\r\n } else {\r\n state.actionsLoading = false;\r\n }\r\n },\r\n startCall: (state, action) => {\r\n state.error = null;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = true;\r\n } else {\r\n state.actionsLoading = true;\r\n }\r\n },\r\n // getProductById\r\n productFetched: (state, action) => {\r\n state.actionsLoading = false;\r\n state.productForEdit = action.payload.productForEdit;\r\n state.error = null;\r\n },\r\n // findProducts\r\n productsFetched: (state, action) => {\r\n const { totalCount, entities } = action.payload;\r\n state.listLoading = false;\r\n state.error = null;\r\n state.entities = entities;\r\n state.totalCount = totalCount;\r\n },\r\n // createProduct\r\n productCreated: (state, action) => {\r\n state.actionsLoading = false;\r\n state.error = null;\r\n state.entities.push(action.payload.product);\r\n },\r\n // updateProduct\r\n productUpdated: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.map(entity => {\r\n if (entity.id === action.payload.product.id) {\r\n return action.payload.product;\r\n }\r\n return entity;\r\n });\r\n },\r\n // deleteProduct\r\n productDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(el => el.id !== action.payload.id);\r\n },\r\n // deleteProducts\r\n productsDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(\r\n el => !action.payload.ids.includes(el.id)\r\n );\r\n },\r\n // productsUpdateState\r\n productsStatusUpdated: (state, action) => {\r\n state.actionsLoading = false;\r\n state.error = null;\r\n const { ids, status } = action.payload;\r\n state.entities = state.entities.map(entity => {\r\n if (ids.findIndex(id => id === entity.id) > -1) {\r\n entity.status = status;\r\n }\r\n return entity;\r\n });\r\n }\r\n }\r\n});\r\n","import * as requestFromServer from \"./receiptsCrud\";\r\nimport {productsSlice, callTypes} from \"./receiptsSlice\";\r\n\r\nconst {actions} = productsSlice;\r\n\r\nexport const fetchProducts = queryParams => dispatch => {\r\n dispatch(actions.startCall({ callType: callTypes.list }));\r\n return requestFromServer\r\n .findProducts(queryParams)\r\n .then(response => {\r\n const { totalCount, entities } = response.data;\r\n dispatch(actions.productsFetched({ totalCount, entities }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't find products\";\r\n dispatch(actions.catchError({ error, callType: callTypes.list }));\r\n });\r\n};\r\n\r\nexport const fetchProduct = id => dispatch => {\r\n if (!id) {\r\n return dispatch(actions.productFetched({ productForEdit: undefined }));\r\n }\r\n\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .getProductById(id)\r\n .then(response => {\r\n const product = response.data;\r\n dispatch(actions.productFetched({ productForEdit: product }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't find receipt\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const deleteProduct = id => dispatch => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .deleteProduct(id)\r\n .then(response => {\r\n dispatch(actions.productDeleted({ id }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't delete product\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const createProduct = productForCreation => dispatch => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .createProduct(productForCreation)\r\n .then(response => {\r\n const { product } = response.data;\r\n dispatch(actions.productCreated({ product }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't create product\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const updateProduct = product => dispatch => {\r\n console.log(\"Values \");\r\n console.log(product);\r\n\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .updateProduct(product)\r\n .then(() => {\r\n dispatch(actions.productUpdated({ product }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't update receipt\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const updateProductsStatus = (ids, status) => dispatch => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .updateStatusForProducts(ids, status)\r\n .then(() => {\r\n dispatch(actions.productsStatusUpdated({ ids, status }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't update receipts status\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const deleteProducts = ids => dispatch => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .deleteProducts(ids)\r\n .then(() => {\r\n dispatch(actions.productsDeleted({ ids }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't delete receipts\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n","import React, { useEffect, useState } from \"react\";\r\nimport TextField from \"@material-ui/core/TextField\";\r\nimport Select from \"react-select\";\r\nimport {\r\n momentDate,\r\n PostMomentDate,\r\n timeList,\r\n} from \"../../../_helpers/ATHelpers\";\r\n\r\nfunction minOr30(h) {\r\n try {\r\n let a = h?.split(\":\");\r\n let b = parseInt(a[1]);\r\n let c = 15 < b && b < 45 ? \"30\" : \"00\";\r\n return `${a[0]}:${c}:00`;\r\n } catch (err) {\r\n return \"00:00:00\";\r\n }\r\n}\r\n\r\nfunction twoDigit(number) {\r\n var twodigit = number >= 10 ? number : \"0\" + number.toString();\r\n return twodigit;\r\n}\r\n\r\nconst filterOption = (option, inputValue) =>\r\n (\r\n String(option.label)\r\n .replace(\".\", \"\")\r\n .match(inputValue) || []\r\n ).length > 0;\r\n\r\nexport function DateTime30GL({\r\n field,\r\n label,\r\n span,\r\n withFeedbackLabel = true,\r\n customFeedbackLabel,\r\n type = \"text\",\r\n IdName = \"\",\r\n required,\r\n ClassLabel,\r\n setFieldValue,\r\n defaultvalue,\r\n Time = true,\r\n ...props\r\n}) {\r\n const { name, disabled, idInput, onChange } = props;\r\n\r\n const [DateValue, setDateValue] = useState(\"\");\r\n const [TimeValue, setTimeValue] = useState(\"00:00\");\r\n const [valueDate, setvalueDate] = useState(\"\");\r\n const [border, setborder] = useState(\"\");\r\n\r\n useEffect(() => {\r\n if (DateValue !== \"\")\r\n setvalueDate(DateValue + \"T\" + (TimeValue + \":00\" ?? \"00:00:00\"));\r\n }, [DateValue, TimeValue]);\r\n\r\n useEffect(() => {\r\n onChange(valueDate);\r\n }, [valueDate]);\r\n\r\n useEffect(() => {\r\n if (defaultvalue) {\r\n var c = new Date(momentDate(defaultvalue));\r\n\r\n var date = `${c.getFullYear()}-${twoDigit(c.getMonth() + 1)}-${twoDigit(\r\n c.getDate()\r\n )}`;\r\n\r\n var label = twoDigit(c.getHours()) + \":\" + twoDigit(c.getMinutes());\r\n /* var value = minOr30(label); */\r\n\r\n setDateValue(date);\r\n setTimeValue(label);\r\n }\r\n }, [defaultvalue]);\r\n\r\n const RequiredHtml = () => {\r\n return (\r\n <i\r\n class=\"fa fa-star-of-life text-danger icon-l ml-2\"\r\n style={{ fontSize: \"8px\", position: \"absolute\" }}\r\n ></i>\r\n );\r\n };\r\n\r\n return (\r\n <>\r\n <div className=\"row\">\r\n <div className={\"col-lg-6 \" + (!Time && \" col-lg-12\")}>\r\n {label && (\r\n <label className={ClassLabel}>\r\n {label} {required && <RequiredHtml />}\r\n {span && (\r\n <small className=\"alert alert-warning text-dark p-0 pl-2 pr-2\">\r\n {\" \"}\r\n {span}\r\n </small>\r\n )}\r\n </label>\r\n )}\r\n <TextField\r\n type={\"date\"}\r\n className=\"form-control\"\r\n value={DateValue}\r\n InputLabelProps={{\r\n shrink: true,\r\n }}\r\n onChange={(event) => {\r\n setDateValue(event.target.value);\r\n }}\r\n />\r\n </div>\r\n <div className={\"col-lg-6 \" + (!Time && \" d-none\")}>\r\n {label && <label className={ClassLabel}>Time</label>}\r\n <input\r\n className={`form-control ${border}`}\r\n value={TimeValue}\r\n placeholder=\"00:00\"\r\n onKeyUp={(e) => {\r\n if (e.keyCode === 8) {\r\n setTimeValue(\"\");\r\n setborder(\"\");\r\n return;\r\n }\r\n }}\r\n onChange={(e) => {\r\n var value = e.target?.value;\r\n if (!value || value === \"\") return;\r\n if (value.length === 2) value += \":\";\r\n if (value.length > 5) value = value[5];\r\n setTimeValue(value);\r\n var re = /^0[0-9]|1[0-9]|2[0-3]:[0-5][0-9]$/;\r\n setborder(re.test(value) ? \"\" : \"border-danger\");\r\n }}\r\n />\r\n </div>\r\n </div>\r\n </>\r\n );\r\n}\r\n","import { Button, IconButton, MenuItem } from \"@material-ui/core\";\r\nimport CloseIcon from \"@material-ui/icons/Close\";\r\nimport MoreVertIcon from \"@material-ui/icons/MoreVert\";\r\nimport low from \"lowdb\";\r\nimport LocalStorage from \"lowdb/adapters/LocalStorage\";\r\nimport moment from \"moment\";\r\nimport React, { useEffect, useState } from \"react\";\r\nimport {\r\n Modal,\r\n OverlayTrigger,\r\n Popover,\r\n Spinner,\r\n Tooltip,\r\n} from \"react-bootstrap\";\r\nimport SVG from \"react-inlinesvg\";\r\nimport { toAbsoluteUrl } from \"../../../../../../../../_metronic/_helpers\";\r\nimport { DateTime30GL } from \"../../../../../../../../_metronic/_partials/controls/forms/DateTime30GL\";\r\nimport { Notification } from \"../../../../../../Notification\";\r\nimport { ChargesOnly } from \"./ChargesOnly\";\r\nimport { ChargesFunction } from \"./RemarkEditForm\";\r\n\r\nconst adapter = new LocalStorage(\"db\");\r\nconst db = low(adapter);\r\n\r\nexport function ARCheckZeroAndSame(\r\n Calcul,\r\n Quantity,\r\n AutoRating,\r\n IsHot,\r\n Rounding,\r\n IsRounding\r\n) {\r\n Quantity = Quantity ?? 0;\r\n var a = AutoRatingFunction(\r\n Calcul,\r\n Quantity,\r\n AutoRating,\r\n IsHot,\r\n Rounding,\r\n IsRounding\r\n );\r\n return (a !== 0 && a !== Quantity && Quantity !== 0) || typeof a === \"string\";\r\n}\r\n\r\nexport function RoundToFixed(Quantity, round = 2, IsRounding = false) {\r\n try {\r\n if (IsRounding) return +Quantity.toFixed(round) ?? 0;\r\n else return +Quantity.toFixed(2) ?? 0;\r\n } catch (error) {\r\n return 0;\r\n }\r\n}\r\n\r\nexport function GetLengthRound(e, Round = 2) {\r\n try {\r\n var str = e.target.value.toString();\r\n var patt = /\\d+/g;\r\n var r = str.match(patt)[1]?.length ?? 0;\r\n if (r > Round) {\r\n var qnty = str.substring(0, str.length - 1);\r\n if (qnty.slice(-1) === \".\") qnty = qnty.substring(0, str.length - 1);\r\n e.target.value = +qnty;\r\n Notification(\r\n \"warning\",\r\n \"You're exceeding the rounding limit which is \" + Round\r\n );\r\n }\r\n } catch (error) {\r\n /* e.target.value = 0; */\r\n }\r\n}\r\n\r\nexport const isVariableOpenDefault = true;\r\n\r\nexport function RateClassName(ChargesReadOnly, x, isVariableOpen) {\r\n var isVariable = x?.IsVariable ?? false;\r\n var rateChanged = x?.RateChanged ?? false;\r\n var b = !(ChargesReadOnly ? true : x?.IsReadOnly);\r\n var bg = isVariableOpen && isVariable ? \"bg-white\" : \"bg-light\";\r\n return `form-control ${bg} ${isVariable &&\r\n b &&\r\n !rateChanged &&\r\n \"border border-warning\"} ${rateChanged && b && \"border border-success\"}`;\r\n}\r\n\r\nexport function RateReadOnly(isVariableOpen, isVariable) {\r\n return isVariableOpen && isVariable ? false : \"readonly\";\r\n}\r\n\r\nexport function AutoRatingCharges({\r\n setAutoRatingModal,\r\n Charges,\r\n AutoRating,\r\n IsHot,\r\n setCharges,\r\n bool,\r\n AutoRatingCheck = [],\r\n IndexId = \"\",\r\n}) {\r\n setAutoRatingModal(false);\r\n\r\n var list = Charges;\r\n list.forEach((x) => {\r\n var index = AutoRatingCheck.indexOf(x?.Id);\r\n if (index === -1 || x?.IsReadOnly) return;\r\n\r\n if (bool || (!bool && x.Quantity === 0)) {\r\n var a = AutoRatingFunction(x?.Calcul, x.Quantity, AutoRating, IsHot);\r\n if (isNumeric(a)) x.Quantity = a === 0 ? x.Quantity : a;\r\n else {\r\n var ele = document.getElementById(\"autoCharge\" + x.Id + IndexId);\r\n if (ele) {\r\n x.Quantity = +ele.getAttribute(\"data-time\").split(\" \")[0];\r\n x.DateStart = ele.getAttribute(\"data-Start\");\r\n x.DateEnd = ele.getAttribute(\"data-End\");\r\n }\r\n }\r\n }\r\n });\r\n\r\n setCharges([]);\r\n setTimeout(() => {\r\n setCharges(list);\r\n }, 1);\r\n}\r\n\r\nexport function checkIs0(Quantity, iiii) {\r\n Quantity = Quantity;\r\n if (Quantity === 0)\r\n Quantity = document.getElementById(`${iiii}Id`)?.value ?? 0;\r\n return +Quantity;\r\n}\r\n\r\nexport function CalculateCharge({\r\n Rate,\r\n Quantity,\r\n rateType,\r\n MinCharge,\r\n MaxCharge,\r\n FreeTime,\r\n OriAddSup,\r\n}) {\r\n var amount = 0;\r\n Rate = Rate ?? 0;\r\n Quantity = Quantity ?? 0;\r\n MinCharge = MinCharge ?? 0;\r\n MaxCharge = MaxCharge ?? 0;\r\n FreeTime = FreeTime ?? 0;\r\n\r\n if (Quantity < 0) return Rate * Quantity;\r\n\r\n switch (rateType) {\r\n case \"Days\":\r\n case \"Hours\":\r\n if (FreeTime > 0)\r\n amount = Quantity < FreeTime ? 0 : (Quantity - FreeTime) * Rate;\r\n else amount = Rate * Quantity;\r\n break;\r\n case \"Weight\":\r\n amount = Rate * Quantity;\r\n break;\r\n case \"Volume\":\r\n amount = Rate * Quantity;\r\n break;\r\n case \"Quantity\":\r\n amount = Rate * Quantity;\r\n break;\r\n case \"Distance\":\r\n amount = Rate * Quantity;\r\n break;\r\n case \"Revenue\":\r\n amount = Rate * Quantity;\r\n break;\r\n case \"Cost\":\r\n amount = Rate * Quantity;\r\n break;\r\n case \" Dsp Time\":\r\n amount = Rate * Quantity;\r\n break;\r\n default:\r\n amount = Rate * Quantity;\r\n break;\r\n }\r\n if (MinCharge > 0 && amount < MinCharge && Quantity > 0 && OriAddSup == 0)\r\n amount = MinCharge;\r\n if (MaxCharge > 0 && amount > MaxCharge) amount = MaxCharge;\r\n return amount;\r\n}\r\n\r\nexport function RemoveDuplicate(chargesVar, objCalc, type, id) {\r\n var find = chargesVar.find((x) => !x.IsReadOnly && !!x.OriAddSup);\r\n var find2 = chargesVar.find((x) => x.IsReadOnly);\r\n\r\n if (find)\r\n objCalc.forEach((x) => {\r\n if (!x?.OriAddSup) x.OriAddSup = find.OriAddSup;\r\n });\r\n else if (find2)\r\n objCalc.forEach((x) => {\r\n if (!x?.OriAddSup) x.OriAddSup = 1;\r\n });\r\n\r\n if (type === \"Payables\") {\r\n var findv = window[id];\r\n if (findv && findv.length > 0) {\r\n objCalc.forEach((x) => {\r\n x.VendorBillId = findv[0];\r\n x.VendorBill = findv[1];\r\n });\r\n }\r\n }\r\n\r\n var list = objCalc?.filter(\r\n (rate) => chargesVar.findIndex((x) => x?.ChargeId === rate?.Id) === -1\r\n );\r\n\r\n return list;\r\n}\r\n\r\nexport function CheckIsNigativePositive(\r\n number,\r\n Charges,\r\n index,\r\n ChargeId,\r\n notification = true\r\n) {\r\n Charges = Charges.filter((x, i) => x?.ChargeId !== ChargeId && i != index);\r\n var findNigative = Charges.find((x) => !x?.IsReadOnly && x?.Quantity < 0);\r\n var findPositive = Charges.find((x) => !x?.IsReadOnly && x?.Quantity > 0);\r\n if ((findNigative && number > 0) || (findPositive && number < 0)) {\r\n if (notification)\r\n Notification(\"warning\", \"You cannot add negative AND positive charges\");\r\n return true;\r\n }\r\n return false;\r\n}\r\n\r\nexport function CheckIsNigativeRate(number, OriAddSup) {\r\n if (number < 0 && OriAddSup !== 1 && OriAddSup !== 2) {\r\n Notification(\"warning\", \"Not accept negative number\");\r\n return number * -1;\r\n }\r\n return number;\r\n}\r\n\r\nexport function ChargesOriAddSup(Charges) {\r\n Charges.forEach((ele) => {\r\n if (!ele.IsReadOnly && (ele?.OriAddSup === 0 || !ele?.OriAddSup)) {\r\n var length = Charges.filter((x) => x.ChargeId === ele.ChargeId).length;\r\n var checkInvoice = Charges.find((x) => x.InvoiceId != null);\r\n if (ele.Quantity < 0) ele.OriAddSup = 3;\r\n else if (length > 1) ele.OriAddSup = 2;\r\n else if (checkInvoice) ele.OriAddSup = 1;\r\n else ele.OriAddSup = 0;\r\n } else if (!ele.IsReadOnly && ele?.Quantity < 0) ele.OriAddSup = 3;\r\n });\r\n return Charges;\r\n}\r\n\r\nexport function NigativePositiveStop(Charges) {\r\n Charges = Charges.filter((x) => !x?.IsReadOnly);\r\n var find = Charges.find((ele, index) =>\r\n CheckIsNigativePositive(ele?.Quantity, Charges, index, ele?.ChargeId, false)\r\n );\r\n if (!!find)\r\n Notification(\"error\", \"You cannot add negative AND positive charges\");\r\n return !!find;\r\n}\r\n\r\nexport function ChargesColor(oriAddSup, quantity, Charges = []) {\r\n var findInvoice = Charges.find((x) => x?.Invoice !== \"Empty\");\r\n if (oriAddSup === 0) return \"text-dark\";\r\n else if (oriAddSup === 1) return \"text-primary\";\r\n else if (quantity < 0 && !!findInvoice) return \"text-danger\";\r\n else if (oriAddSup === 2) return \"text-info\";\r\n}\r\n\r\nexport function CategoryTotalId(\r\n Category,\r\n Invoice,\r\n VendorBill,\r\n ChargesId,\r\n type\r\n) {\r\n var a = RemoveSpace(Category);\r\n var b = type === \"Charges\" ? RemoveSpace(Invoice) : RemoveSpace(VendorBill);\r\n return `Charges-${a}-${b}-${ChargesId}s`;\r\n}\r\n\r\nexport function ChargesColorCategory(Category) {\r\n if (Category === \"Additional Services\") return \"primary\";\r\n else if (Category === \"Outbound Rates\") return \"info\";\r\n else if (Category === \"Port Drayage Rates\") return \"danger\";\r\n else if (Category === \"Inbound Rates\") return \"success\";\r\n else if (Category === \"Category Empty\") return \"dark\";\r\n else return \"warning\";\r\n}\r\n\r\nexport function ChargesModel({ id, path = \"\", isDropdown = false }) {\r\n const [ChargesId, setChargesId] = useState(false);\r\n return (\r\n <>\r\n <Modal\r\n size=\"xl\"\r\n show={ChargesId}\r\n onHide={() => setChargesId(false)}\r\n aria-labelledby=\"example-modal-sizes-title-lg\"\r\n >\r\n <ChargesOnly\r\n onHide={() => setChargesId(false)}\r\n isId={ChargesId}\r\n path={path}\r\n />\r\n </Modal>\r\n\r\n {isDropdown ? (\r\n <a\r\n href={() => false}\r\n className=\"navi-link\"\r\n onClick={() => {\r\n setChargesId(id);\r\n }}\r\n >\r\n <span className=\"svg-icon svg-icon-md svg-icon-primary pr-2\">\r\n <SVG src={toAbsoluteUrl(\"/media/svg/icons/Shopping/Dollar.svg\")} />\r\n </span>\r\n <span className=\"navi-text\">Charges</span>\r\n </a>\r\n ) : (\r\n <OverlayTrigger\r\n overlay={<Tooltip id=\"products-edit-tooltip\">Charges</Tooltip>}\r\n >\r\n <a\r\n href={() => false}\r\n className=\"btn btn-icon btn-light btn-hover-primary btn-sm mr-1\"\r\n role=\"button\"\r\n onClick={() => {\r\n setChargesId(id);\r\n }}\r\n >\r\n <span className=\"svg-icon svg-icon-md svg-icon-primary\">\r\n <SVG\r\n src={toAbsoluteUrl(\"/media/svg/icons/Shopping/Dollar.svg\")}\r\n />\r\n </span>\r\n </a>\r\n </OverlayTrigger>\r\n )}\r\n </>\r\n );\r\n}\r\n\r\nexport function SetSubTotal(number, str) {\r\n setTimeout(() => {\r\n var ele = document.querySelector(str);\r\n if (ele) ele.innerText = AddSpace3(number);\r\n }, 500);\r\n}\r\n\r\nexport function InvoiceorBill({ x, type }) {\r\n return (\r\n <>\r\n {x?.InvoiceAppend !== \"\" && type === \"Charges\" && (\r\n <>\r\n <tr className=\"mt-5 d-block\" style={{ height: \"35px\" }}>\r\n <td\r\n ref={(element) => {\r\n if (element)\r\n element.style.setProperty(\"font-size\", \"15px\", \"important\");\r\n }}\r\n className={`border-0`}\r\n style={{\r\n position: \"absolute\",\r\n left: \"9px\",\r\n }}\r\n >\r\n <b>Invoice</b>\r\n <b>\r\n <span\r\n className=\"bg-dark text-white px-2 py-1 ml-3 Charges\"\r\n style={{ borderRadius: \"5px\" }}\r\n >\r\n {x?.Invoice}\r\n </span>\r\n </b>\r\n </td>\r\n </tr>\r\n </>\r\n )}\r\n {x?.VendorBillAppend !== \"\" && type === \"Payables\" && (\r\n <>\r\n <tr className=\"mt-5 d-block\" style={{ height: \"35px\" }}>\r\n <td\r\n ref={(element) => {\r\n if (element)\r\n element.style.setProperty(\"font-size\", \"15px\", \"important\");\r\n }}\r\n className={`border-0`}\r\n style={{\r\n position: \"absolute\",\r\n left: \"9px\",\r\n }}\r\n >\r\n <b>Bill</b>\r\n <b>\r\n <span\r\n className=\"bg-dark text-white px-2 py-1 ml-3 Charges\"\r\n style={{ borderRadius: \"5px\" }}\r\n >\r\n {x?.VendorBill}\r\n </span>\r\n </b>\r\n </td>\r\n </tr>\r\n </>\r\n )}\r\n </>\r\n );\r\n}\r\n\r\nexport function listdistinctFunction(array, Type, Show, propertyName) {\r\n if (Show === false) return [];\r\n propertyName = \"Id\";\r\n if (Type !== \"info\") {\r\n return array.filter(\r\n (e, i) =>\r\n array.findIndex((a) => a[propertyName] === e[propertyName]) === i\r\n );\r\n } else {\r\n if (Type === \"info\") {\r\n var list = array.filter((x) => !x?.IsReadOnly);\r\n\r\n list.forEach((x) => {\r\n array = array.filter((y) => y?.Code !== x?.Code);\r\n });\r\n }\r\n return array.filter(\r\n (e, i) =>\r\n array.findIndex((a) => a[propertyName] === e[propertyName]) === i\r\n );\r\n }\r\n}\r\n\r\nexport var numberofSort = 9999999;\r\nexport function SortAndRename(Charges, type = \"Charges\") {\r\n var charges = Charges;\r\n var isChargesType = type === \"Charges\";\r\n\r\n if (isChargesType)\r\n charges.forEach((x) => {\r\n if (\r\n x.Invoice === \"\" ||\r\n x?.Invoice === undefined ||\r\n x?.Invoice === null ||\r\n x?.InvoiceId === null\r\n ) {\r\n x.Invoice = \"Empty\";\r\n x.InvoiceId = numberofSort;\r\n }\r\n if (\r\n x.Category === \"\" ||\r\n x?.Category === undefined ||\r\n x?.Category === null\r\n )\r\n x.Category = \"Category Empty\";\r\n });\r\n else\r\n charges.forEach((x) => {\r\n if (\r\n x.VendorBill === \"\" ||\r\n x?.VendorBill === undefined ||\r\n x?.VendorBill === null ||\r\n x?.VendorBillId === null\r\n ) {\r\n x.VendorBill = \"Empty\";\r\n x.VendorBillId = numberofSort;\r\n }\r\n if (\r\n x.Category === \"\" ||\r\n x?.Category === undefined ||\r\n x?.Category === null\r\n )\r\n x.Category = \"Category Empty\";\r\n });\r\n\r\n charges = charges.sort(function(a, b) {\r\n var x = a[\"OriAddSup\"];\r\n var y = b[\"OriAddSup\"];\r\n return x < y ? -1 : x > y ? 1 : 0;\r\n });\r\n charges = charges.sort(function(a, b) {\r\n var x = a[\"Position\"];\r\n var y = b[\"Position\"];\r\n return x < y ? -1 : x > y ? 1 : 0;\r\n });\r\n charges = charges.sort(function(a, b) {\r\n var x = a[\"CategoryPosition\"];\r\n var y = b[\"CategoryPosition\"];\r\n return x < y ? -1 : x > y ? 1 : 0;\r\n });\r\n charges = charges.sort(function(a, b) {\r\n var x = a[\"Category\"];\r\n var y = b[\"Category\"];\r\n return x < y ? -1 : x > y ? 1 : 0;\r\n });\r\n\r\n if (isChargesType)\r\n charges = charges.sort(function(a, b) {\r\n var x = a[\"InvoiceId\"];\r\n var y = b[\"InvoiceId\"];\r\n return x < y ? -1 : x > y ? 1 : 0;\r\n });\r\n else\r\n charges = charges.sort(function(a, b) {\r\n var x = a[\"VendorBillId\"];\r\n var y = b[\"VendorBillId\"];\r\n return x < y ? -1 : x > y ? 1 : 0;\r\n });\r\n\r\n charges.forEach((x) => {\r\n if (x.SubTotal) delete x.SubTotal;\r\n });\r\n\r\n var applicatInvoice = {};\r\n var applicatCategory = {};\r\n\r\n charges.forEach((element, index) => {\r\n // Invoice or VendorBill\r\n if (isChargesType) {\r\n var inv = element.Invoice;\r\n var a = applicatInvoice[inv];\r\n if (a) element.InvoiceAppend = \"\";\r\n else {\r\n element.InvoiceAppend = inv;\r\n applicatInvoice[inv] = inv;\r\n applicatCategory = {};\r\n }\r\n } else {\r\n var inv = element.VendorBill;\r\n var a = applicatInvoice[inv];\r\n if (a) element.VendorBillAppend = \"\";\r\n else {\r\n element.VendorBillAppend = inv;\r\n applicatInvoice[inv] = inv;\r\n applicatCategory = {};\r\n }\r\n }\r\n\r\n // Category\r\n if (charges?.length - 1 === index) charges[index].SubTotal = true;\r\n\r\n var cat = element.Category;\r\n var a = applicatCategory[cat];\r\n if (a) {\r\n element.CategoryAppend = \"\";\r\n } else {\r\n var check = charges.filter((x) => x.Category === element.Category);\r\n if (index !== 0) charges[index - 1].SubTotal = true;\r\n if (check?.length === 1) charges[index].SubTotal = true;\r\n element.CategoryAppend = cat;\r\n applicatCategory[cat] = cat;\r\n }\r\n });\r\n return charges || [];\r\n}\r\n\r\nexport function RemoveSpace(txt = \"\") {\r\n try {\r\n return txt.replace(/\\s/g, \"\");\r\n } catch (error) {\r\n return txt;\r\n }\r\n}\r\n\r\nexport function HideIsNotBill(VendorBill = \"Empty\", BillId = \"\") {\r\n try {\r\n return (\r\n VendorBill.indexOf(BillId) === -1 &&\r\n VendorBill !== \"Empty\" &&\r\n VendorBill !== \"\" &&\r\n BillId !== \"false\"\r\n );\r\n } catch (error) {\r\n return false;\r\n }\r\n}\r\n\r\nexport function isNumeric(n) {\r\n return !isNaN(parseFloat(n)) && isFinite(n);\r\n}\r\n\r\nexport function AutoRatingClick(txt) {\r\n var btnList = document.querySelectorAll(\".BtnAutoRating\");\r\n btnList.forEach((ele) => {\r\n ele.setAttribute(\"data-type\", txt);\r\n ele.click();\r\n });\r\n}\r\n\r\nexport function AutoRateComponent({\r\n title = \"\",\r\n setAutoRatingModal,\r\n AutoRatingModal,\r\n Charges,\r\n AutoRating,\r\n IsHot,\r\n setCharges,\r\n setAutoRatingCheck,\r\n AutoRatingCheck,\r\n IndexId = \"\",\r\n setIsEditedCharges,\r\n}) {\r\n return (\r\n <Modal\r\n size=\"xl\"\r\n show={AutoRatingModal}\r\n aria-labelledby=\"example-modal-sizes-title-lg\"\r\n >\r\n <Modal.Header>\r\n <Modal.Title\r\n id=\"example-modal-sizes-title-lg\"\r\n className=\"w-100 row px-0\"\r\n >\r\n <div className=\"col-lg-12\">Auto Rate for {title}</div>\r\n </Modal.Title>\r\n <IconButton\r\n className=\"MuiButtonBase-root MuiIconButton-root jss179\"\r\n aria-label=\"Close\"\r\n onClick={() => setAutoRatingModal(false)}\r\n >\r\n <CloseIcon />\r\n </IconButton>\r\n </Modal.Header>\r\n {AutoRatingModal && (\r\n <Modal.Body className=\"row\">\r\n <div className=\"col-12 my-5\">\r\n <h3>Do you want to override the existing Quantities ?</h3>\r\n <h5>Please check the charges you want to override</h5>\r\n </div>\r\n <div className=\"col-12 mt-5\" />\r\n {SortOnlyCharge(Charges, AutoRatingCheck, AutoRating, IsHot)?.map(\r\n (x, index) => (\r\n <>\r\n {x?.IsReadOnly === false && (\r\n <AutoRatingItem\r\n key={index}\r\n x={x}\r\n AutoRating={AutoRating}\r\n IsHot={IsHot}\r\n setAutoRatingCheck={setAutoRatingCheck}\r\n IndexId={IndexId}\r\n />\r\n )}\r\n </>\r\n )\r\n )}\r\n </Modal.Body>\r\n )}\r\n <Modal.Footer>\r\n <div>\r\n <button\r\n type=\"button\"\r\n onClick={() => setAutoRatingModal(false)}\r\n className=\"btn btn-light btn-elevate mr-5\"\r\n >\r\n Cancel\r\n </button>\r\n\r\n <button\r\n type=\"button\"\r\n onClick={() =>\r\n AutoRatingCharges({\r\n setAutoRatingModal: setAutoRatingModal,\r\n setCharges: setCharges,\r\n Charges: Charges,\r\n AutoRating: AutoRating,\r\n IsHot: IsHot,\r\n bool: false,\r\n AutoRatingCheck: AutoRatingCheck,\r\n IndexId: IndexId,\r\n })\r\n }\r\n className=\"btn btn-light btn-elevate mr-5\"\r\n >\r\n No\r\n </button>\r\n\r\n <button\r\n type=\"button\"\r\n onClick={() => {\r\n AutoRatingCharges({\r\n setAutoRatingModal: setAutoRatingModal,\r\n setCharges: setCharges,\r\n Charges: Charges,\r\n AutoRating: AutoRating,\r\n IsHot: IsHot,\r\n bool: true,\r\n AutoRatingCheck: AutoRatingCheck,\r\n IndexId: IndexId,\r\n });\r\n setIsEditedCharges(true);\r\n }}\r\n className=\"btn btn-primary btn-elevate\"\r\n >\r\n OK\r\n </button>\r\n </div>\r\n </Modal.Footer>\r\n </Modal>\r\n );\r\n}\r\n\r\nexport function SortOnlyCharge(\r\n Charges,\r\n autoRatingCheck = false,\r\n AutoRating,\r\n IsHot\r\n) {\r\n if (autoRatingCheck)\r\n Charges = Charges.filter((y) => autoRatingCheck.indexOf(y.Id) > -1);\r\n\r\n Charges = Charges.filter((y) => !y?.IsReadOnly);\r\n\r\n Charges = Charges.sort(function(a, b) {\r\n var x = AutoRatingFunction(\r\n a?.Calcul,\r\n a.Quantity,\r\n AutoRating,\r\n IsHot,\r\n a.Rounding,\r\n a.IsRounding\r\n );\r\n var y = AutoRatingFunction(\r\n b?.Calcul,\r\n b.Quantity,\r\n AutoRating,\r\n IsHot,\r\n b.Rounding,\r\n b.IsRounding\r\n );\r\n return x < y ? -1 : x > y ? 1 : 0;\r\n });\r\n\r\n return Charges.filter((x) =>\r\n ARCheckZeroAndSame(\r\n x?.Calcul,\r\n x.Quantity,\r\n AutoRating,\r\n IsHot,\r\n x.Rounding,\r\n x.IsRounding\r\n )\r\n );\r\n}\r\n\r\nexport function AutoRatingFunction(\r\n rateType,\r\n Quantity,\r\n autoRating,\r\n IsHot,\r\n rounding = 2,\r\n IsRounding = false\r\n) {\r\n var number = 0;\r\n var autoType = autoRating ?? window.AutoRating;\r\n var isHot = IsHot ?? window.ContainerIsHot === true;\r\n\r\n switch (rateType) {\r\n case \"perorder\":\r\n number = 1;\r\n break;\r\n case \"percarton\":\r\n number = window.ARCartons ?? +autoType?.Cartons ?? 0;\r\n break;\r\n case \"perorderhot\":\r\n number = isHot ? 1 : 0;\r\n break;\r\n case \"percube\":\r\n number = window.ARTotalCube1 ?? +autoType?.CubeCbm ?? 0;\r\n break;\r\n case \"perpallet\":\r\n number = +autoType?.Pallets ?? 0;\r\n break;\r\n case \"percubecft\":\r\n number = +autoType?.CubeCft ?? 0;\r\n break;\r\n case \"perdaychassis\":\r\n number = \"perdaychassis\";\r\n break;\r\n case \"perdayyard\":\r\n number = \"perdayyard\";\r\n break;\r\n case \"perhour\":\r\n number = \"perhour\";\r\n break;\r\n case \"peritem\":\r\n number = +autoType?.Items ?? 0;\r\n break;\r\n case \"perload\":\r\n number = 1;\r\n break;\r\n case \"permile\":\r\n number = \"permile\";\r\n break;\r\n case \"pershipment\":\r\n number = 1;\r\n break;\r\n case \"perweight\":\r\n number = window.ARTotalWeight1 ?? +autoType?.WeightKgs ?? 0;\r\n break;\r\n case \"perweightlbs\":\r\n number = window.ARTotalWeight2 ?? +autoType?.WeightLbs ?? 0;\r\n break;\r\n case \"perday\": //NO\r\n number = 0;\r\n break;\r\n default:\r\n number = Quantity;\r\n break;\r\n }\r\n return typeof number === \"string\"\r\n ? number\r\n : RoundToFixed(number, rounding, IsRounding);\r\n}\r\n\r\nexport function Spinner2s() {\r\n const [show, setshow] = useState(true);\r\n useEffect(() => {\r\n setTimeout(() => {\r\n setshow(false);\r\n }, 1100);\r\n }, []);\r\n return (\r\n <div class=\"col-lg-12 mt-2 text-center\">\r\n {show && (\r\n <Spinner\r\n as=\"span\"\r\n animation=\"border\"\r\n role=\"status\"\r\n aria-hidden=\"true\"\r\n style={{ fontSize: \"35px\", width: \"150px\", height: \"150px\" }}\r\n />\r\n )}\r\n </div>\r\n );\r\n}\r\n\r\nfunction CheckAutoRate(check) {\r\n var eles = document.querySelectorAll(\".CheckCharges\") ?? [];\r\n var txt = \"\";\r\n eles.forEach((ele) => {\r\n txt += ele.innerText;\r\n });\r\n\r\n return txt.includes(check);\r\n}\r\nexport function EventChangeAutoRate({}) {\r\n const [ShowChassis, setShowChassis] = useState(false);\r\n const [ShowMail, setShowMail] = useState(false);\r\n return (\r\n <div>\r\n <input\r\n type=\"hidden\"\r\n id=\"setShowChassis\"\r\n onClick={() => {\r\n if (CheckAutoRate(\"perdaychassis\")) setShowChassis(true);\r\n }}\r\n />\r\n <ConfirmationDateAutoRate\r\n Show={ShowChassis}\r\n setShow={setShowChassis}\r\n Title={<b>Override chassis rates</b>}\r\n Body={\r\n <b className=\"ml-5\">\r\n Do you want to override the dates for chassis rates ?\r\n </b>\r\n }\r\n type={\"perdaychassis\"}\r\n />\r\n\r\n <input\r\n type=\"hidden\"\r\n id=\"setShowMail\"\r\n onClick={() => {\r\n if (CheckAutoRate(\"permile\")) setShowMail(true);\r\n }}\r\n />\r\n <ConfirmationDateAutoRate\r\n Show={ShowMail}\r\n setShow={setShowMail}\r\n Title={<b>Override per mile rates</b>}\r\n Body={\r\n <b className=\"ml-5\">\r\n Do you want to override the addresses for per mile rates ?\r\n </b>\r\n }\r\n type={\"permile\"}\r\n />\r\n </div>\r\n );\r\n}\r\n\r\nexport function ConfirmationDateAutoRate({\r\n Show,\r\n setShow,\r\n Title = \"\",\r\n Body = \"\",\r\n type = \"\",\r\n}) {\r\n return (\r\n <>\r\n <Modal show={Show} aria-labelledby=\"example-modal-sizes-title-lg\">\r\n <Modal.Header>\r\n <Modal.Title id=\"example-modal-sizes-title-lg\">{Title}</Modal.Title>\r\n <IconButton\r\n className=\"MuiButtonBase-root MuiIconButton-root jss179\"\r\n aria-label=\"Close\"\r\n onClick={() => setShow(false)}\r\n >\r\n <CloseIcon />\r\n </IconButton>\r\n </Modal.Header>\r\n <Modal.Body className=\"row\">{Body}</Modal.Body>\r\n <Modal.Footer>\r\n <div>\r\n <button\r\n type=\"button\"\r\n onClick={() => setShow(false)}\r\n className=\"btn btn-light btn-elevate\"\r\n >\r\n No\r\n </button>\r\n\r\n <button\r\n type=\"button\"\r\n onClick={() => {\r\n AutoRatingClick(type);\r\n setShow(false);\r\n }}\r\n className=\"btn btn-primary btn-elevate ml-2\"\r\n >\r\n Yes\r\n </button>\r\n </div>\r\n </Modal.Footer>\r\n </Modal>\r\n </>\r\n );\r\n}\r\n\r\nexport async function StartAutoRate(resArr, ChargesId = \"\", AutoRating, IsHot) {\r\n await resArr.reduce(async (promise, x) => {\r\n await promise;\r\n x.Quantity = x.Quantity ?? 0;\r\n if (x?.Quantity === 0) {\r\n var clc = AutoRatingFunction(\r\n x?.Calcul,\r\n x?.Quantity,\r\n AutoRating,\r\n IsHot,\r\n x.Rounding,\r\n x.IsRounding\r\n );\r\n // not string\r\n if (typeof clc !== \"string\") x.Quantity = clc;\r\n // perdaychassis\r\n else if (x?.Calcul === \"perdaychassis\") {\r\n if (!x?.DateStart) x.DateStart = FieldID(\"C_PickedUpDate\" + ChargesId);\r\n if (!x?.DateEnd) x.DateEnd = FieldID(\"C_TerminatedDate\" + ChargesId);\r\n if (!x?.DateStart || !x?.DateEnd) return;\r\n var obj = CalcTime(\r\n x?.DateStart,\r\n x?.DateEnd,\r\n \"perdaychassis\",\r\n x?.Rounding,\r\n x?.IsRounding\r\n );\r\n x.Quantity = obj?.number ?? 0;\r\n } else if (x?.Calcul === \"permile\") {\r\n var a = await GetEmilCharge(\r\n false,\r\n false,\r\n ChargesId,\r\n x.Rounding,\r\n x.IsRounding\r\n );\r\n x.Quantity = +a ?? 0;\r\n } else if (x?.Calcul === \"perdayyard\" || x?.Calcul === \"perhour\") {\r\n var obj = await CalcTime(\r\n x?.DateStart,\r\n x?.DateEnd,\r\n x?.Calcul,\r\n x?.Rounding,\r\n x?.IsRounding\r\n );\r\n x.Quantity = obj?.number ?? 0;\r\n }\r\n }\r\n }, Promise.resolve());\r\n return resArr;\r\n}\r\n\r\nexport function CheckRateInCharges(\r\n list1 = [],\r\n list2 = [],\r\n ChargesReadOnly = false,\r\n setChargesRemove,\r\n IsHot\r\n) {\r\n if (ChargesReadOnly) return list1;\r\n\r\n const list = [];\r\n const listRemove = [];\r\n\r\n var isHot = IsHot ?? window.ContainerIsHot === true;\r\n if (isHot)\r\n list2\r\n .filter((x) => x?.Calcul === \"perorderhot\")\r\n .forEach((rate) => {\r\n rate.ChargeId = rate?.Id;\r\n var index = list1.findIndex(\r\n (x) => x?.ChargeId === rate?.ChargeId && !x?.IsReadOnly\r\n );\r\n if (index === -1) list.push(rate);\r\n });\r\n\r\n list1.forEach((rate) => {\r\n var index = list2.findIndex((x) => x?.Id === rate?.ChargeId);\r\n if (index > -1 || rate?.IsReadOnly || rate?.InvoiceId !== null)\r\n list.push(rate);\r\n else {\r\n var find = list2.find(\r\n (x) =>\r\n x?.Code === rate?.Code && rate.InvoiceId === null && rate.quantity > 0\r\n );\r\n if (find) {\r\n find.QuoteIdFist = rate?.QuoteId;\r\n find.RateFist = rate?.Rate;\r\n find.Quantity = rate?.QuoteId;\r\n find.ChargeId = find?.Id;\r\n find.isChange = true;\r\n list.push(find);\r\n }\r\n listRemove.push(rate);\r\n }\r\n });\r\n setChargesRemove(listRemove);\r\n return list;\r\n}\r\n\r\nexport function isChangeFunction(x) {\r\n return (\r\n <>\r\n {x?.isChange && (\r\n <>\r\n <br />\r\n <br />\r\n <b\r\n className=\"btn btn-light-danger py-1 pl-2 pr-5\"\r\n style={{\r\n position: \"absolute\",\r\n top: \"18px\",\r\n left: \"9px\",\r\n fontWeight: \"900\",\r\n fontSize: \"12px\",\r\n }}\r\n >\r\n <i class=\"fas fa-exclamation-triangle text-danger mr-5\" />\r\n Removed from quote, Rate : {x?.RateFist}\r\n </b>\r\n </>\r\n )}\r\n </>\r\n );\r\n}\r\n\r\nfunction CalcTime(value1, value2, auroRating, rounding = 2, IsRounding) {\r\n try {\r\n var date1 = value1;\r\n var date2 = value2;\r\n\r\n if (date1 && date2) {\r\n var a = moment(date1);\r\n var b = moment(date2);\r\n\r\n var type =\r\n auroRating === \"perdayyard\" || auroRating === \"perdaychassis\"\r\n ? \"days\"\r\n : \"hours\";\r\n\r\n var number = b.diff(a, type);\r\n if (auroRating === \"perdaychassis\") number += 1;\r\n if (auroRating === \"perhour\") {\r\n var diff = b.valueOf() - a.valueOf();\r\n number = diff / 1000 / 60 / 60;\r\n number = RoundToFixed(number, rounding, IsRounding);\r\n }\r\n\r\n if (isNaN(number)) number = 0;\r\n return { number: number, type: type };\r\n } else {\r\n auroRating = auroRating > 0 ? auroRating : 0;\r\n return { number: auroRating, type: \"\" };\r\n }\r\n } catch (error) {}\r\n}\r\n\r\nexport function AddSpace3(txt) {\r\n try {\r\n txt = +txt?.toFixed(2)?.toString();\r\n txt = txt.toLocaleString().replaceAll(\",\", \" \");\r\n return txt;\r\n } catch (error) {\r\n return +txt?.toFixed(2);\r\n }\r\n}\r\n\r\nexport function CalculIdCheck(CalculId) {\r\n let x = 0.0;\r\n switch (CalculId) {\r\n case 1:\r\n x = 1;\r\n break;\r\n case 2:\r\n x = document.querySelector('[name=\"Cartons\"]')?.value ?? 0;\r\n break;\r\n\r\n case 3:\r\n x = document.querySelector('[name=\"Pallets\"]')?.value ?? 0;\r\n break;\r\n\r\n case 4:\r\n x = document.querySelector('[name=\"TotalCube1\"]')?.value ?? 0;\r\n break;\r\n\r\n default:\r\n x = x ?? 0;\r\n break;\r\n }\r\n return x;\r\n}\r\n\r\nexport function InputValueCharge(x, ChargesReadOnly) {\r\n try {\r\n var a = x?.Quantity ?? 0;\r\n /* if (!(ChargesReadOnly ? true : x?.IsReadOnly)) { */\r\n a = x?.Quantity || CalculIdCheck(x?.CalculId);\r\n if (x?.IsRounding) {\r\n a =\r\n RoundToFixed(x?.Quantity ?? 0, x?.Rounding, x?.IsRounding) ||\r\n RoundToFixed(CalculIdCheck(x?.CalculId), x?.Rounding, x?.IsRounding);\r\n }\r\n /* } */\r\n return a;\r\n } catch (error) {\r\n return x?.Quantity ?? 0;\r\n }\r\n}\r\n\r\nexport function IsRounding({ x, ChargesReadOnly }) {\r\n return (\r\n <div\r\n style={{\r\n position: \"absolute\",\r\n right: \"12px\",\r\n top: \"13px\",\r\n zIndex: 2,\r\n background: \"white\",\r\n }}\r\n >\r\n {x?.IsRounding &&\r\n RoundToFixed(x?.Quantity ?? 0, x?.Rounding, x?.IsRounding) !==\r\n (x?.Quantity ?? 0) &&\r\n !(ChargesReadOnly ? true : x?.IsReadOnly) && (\r\n <OverlayTrigger\r\n overlay={\r\n <Tooltip id=\"products-edit-tooltip\">\r\n <p class=\"w-100 text-center\">\r\n <span class=\"d-inline-block w-100 text-warning\">\r\n <b>Rounding not saved</b>\r\n </span>\r\n <span class=\"w-100\">\r\n <b>Old Quantity : {x?.Quantity ?? \"Empty\"}</b>\r\n </span>\r\n <br />\r\n <span class=\"w-100 mt-2\">\r\n <b>\r\n New Quantity :{\" \"}\r\n {RoundToFixed(\r\n x?.Quantity ?? 0,\r\n x?.Rounding,\r\n x?.IsRounding\r\n ) ?? \"Empty\"}\r\n </b>\r\n </span>\r\n </p>\r\n </Tooltip>\r\n }\r\n >\r\n <a className=\"btn btn-icon btn-hover-light btn-sm\">\r\n <span className=\"svg-icon svg-icon-md svg-icon-warning\">\r\n <SVG\r\n src={toAbsoluteUrl(\"/media/svg/icons/Code/Info-circle.svg\")}\r\n />\r\n </span>\r\n </a>\r\n </OverlayTrigger>\r\n )}\r\n </div>\r\n );\r\n}\r\n\r\nexport function AutoRatingItem({\r\n x,\r\n isAddCharges = false,\r\n index,\r\n AutoRating,\r\n IsHot,\r\n setAutoRatingCheck,\r\n IndexId = \"\",\r\n ChargesId = \"\",\r\n}) {\r\n const auroRating = AutoRatingFunction(\r\n x?.Calcul,\r\n x?.Quantity,\r\n AutoRating,\r\n IsHot,\r\n x.Rounding,\r\n x.IsRounding\r\n );\r\n const [Time, setTime] = useState(0);\r\n const [OnlyTime, setOnlyTime] = useState(0);\r\n\r\n const [value1, setvalue1] = useState();\r\n const [value2, setvalue2] = useState();\r\n\r\n useEffect(() => {\r\n if (auroRating === \"permile\")\r\n GetEmilCharge(setTime, setOnlyTime, ChargesId, x.Rounding, x.IsRounding);\r\n else if (auroRating === \"perdaychassis\") ChassisSetValue();\r\n else if (auroRating > 0) setOnlyTime(auroRating);\r\n }, []);\r\n\r\n function ChassisSetValue() {\r\n setTimeout(() => {\r\n setvalue1(\r\n GetOnlyDateFun(x?.DateStart) ??\r\n GetOnlyDate(\"C_PickedUpDate\" + ChargesId)\r\n );\r\n setvalue2(\r\n GetOnlyDateFun(x?.DateEnd) ??\r\n GetOnlyDate(\"C_TerminatedDate\" + ChargesId)\r\n );\r\n }, 1000);\r\n }\r\n\r\n useEffect(() => {\r\n var obj = CalcTime(value1, value2, auroRating, x?.Rounding, x?.IsRounding);\r\n setTime(obj?.number + \" \" + obj?.type);\r\n setOnlyTime(obj?.number);\r\n }, [value1, value2]);\r\n\r\n function GetOnlyDate(txt) {\r\n return GetOnlyDateFun(FieldID(txt));\r\n }\r\n\r\n function GetOnlyDateFun(txt) {\r\n if (!txt && txt === null) return undefined;\r\n try {\r\n const d = new Date(txt);\r\n var month = d.getMonth() + 1;\r\n var y = d.getFullYear();\r\n var m = month < 10 ? \"0\" + month : month;\r\n\r\n if (isNaN(d.getDate())) return undefined;\r\n\r\n var t = d.getDate() < 10 ? \"0\" + d.getDate() : d.getDate();\r\n return y + \"-\" + m + \"-\" + t;\r\n } catch (error) {\r\n return undefined;\r\n }\r\n }\r\n\r\n return (\r\n <>\r\n {auroRating !== 0 && (\r\n <div className=\"w-100 row px-4 m-auto mt-5\">\r\n {isAddCharges &&\r\n (auroRating === \"perhour\" ||\r\n auroRating === \"perdayyard\" ||\r\n auroRating === \"perdaychassis\" ||\r\n auroRating === \"permile\") && <div className=\"col-12 m-5\" />}\r\n <div className={`mt-4 ${isAddCharges ? \"col-4\" : \"col-3\"}`}>\r\n <div\r\n className={`${\r\n isAddCharges ? \"d-none\" : \"d-flex\"\r\n } align-items-center `}\r\n >\r\n <span className=\"bullet bullet-bar bg-success align-self-stretch\"></span>\r\n <label className=\"checkbox checkbox-lg checkbox-light-success checkbox-single flex-shrink-0 m-0 mx-4\">\r\n <input\r\n defaultChecked={true}\r\n type=\"checkbox\"\r\n onChange={(e) => {\r\n setAutoRatingCheck((item) => {\r\n var index = item.indexOf(x?.Id);\r\n if (e.target.checked && index === -1) {\r\n item.push(x?.Id);\r\n } else item.splice(index, 1);\r\n return item;\r\n });\r\n }}\r\n />\r\n <span></span>\r\n </label>\r\n <div className=\"d-flex flex-column flex-grow-1\">\r\n <b>{x?.Code}</b>\r\n </div>\r\n </div>\r\n </div>\r\n <div\r\n className={`pl-2 pr-3 mt-2 ${auroRating === \"permile\" && \"pt-2\"} ${\r\n isAddCharges ? \"col-4\" : \"col-4\"\r\n }`}\r\n >\r\n {auroRating > 0 && !isAddCharges && (\r\n <b className=\"btn btn-light-danger w-100 p-2 font-weight-bold\">\r\n {RoundToFixed(x?.Quantity, x?.Rounding, x?.IsRounding)}\r\n </b>\r\n )}\r\n {(auroRating === \"perhour\" || auroRating === \"perdayyard\") && (\r\n <DateTime30GL\r\n defaultvalue={x?.DateStart}\r\n onChange={(newValue) => {\r\n setvalue1(newValue);\r\n }}\r\n />\r\n )}\r\n\r\n {auroRating === \"perdaychassis\" && (\r\n <input\r\n defaultValue={value1}\r\n type=\"date\"\r\n className=\"form-control border\"\r\n onChange={(e) => {\r\n setvalue1(e.target.value);\r\n }}\r\n />\r\n )}\r\n\r\n {auroRating === \"permile\" && (\r\n <b\r\n ref={(element) => {\r\n var city =\r\n FieldID(\"C_fromCity\" + ChargesId) !== \"\"\r\n ? FieldID(\"C_fromCity\" + ChargesId)\r\n : \"City is Empty\";\r\n\r\n var state =\r\n FieldID(\"C_fromState\" + ChargesId) !== \"\"\r\n ? FieldID(\"C_fromState\" + ChargesId)\r\n : \"State is Empty\";\r\n\r\n if (element) element.innerText = city + \", \" + state;\r\n }}\r\n />\r\n )}\r\n </div>\r\n <div className={`col-1 mt-5 pl-3 ${isAddCharges && \"d-none\"}`}>\r\n {auroRating > 0 && <i class=\"fas fa-arrow-right\"></i>}\r\n </div>\r\n <div\r\n className={`pl-2 pr-3 mt-2 ${auroRating === \"permile\" && \"pt-2\"} ${\r\n isAddCharges ? \"col-4\" : \"col-4\"\r\n }`}\r\n >\r\n {auroRating > 0 && !isAddCharges && (\r\n <b className=\"btn btn-light-primary w-100 p-2 font-weight-bold\">\r\n {auroRating > 0\r\n ? RoundToFixed(auroRating, x?.Rounding, x?.IsRounding)\r\n : auroRating}\r\n </b>\r\n )}\r\n {(auroRating === \"perhour\" || auroRating === \"perdayyard\") && (\r\n <DateTime30GL\r\n defaultvalue={x?.DateEnd}\r\n onChange={(newValue) => {\r\n setvalue2(newValue);\r\n }}\r\n />\r\n )}\r\n {auroRating === \"perdaychassis\" && (\r\n <input\r\n defaultValue={value2}\r\n type=\"date\"\r\n className=\"form-control border\"\r\n onChange={(e) => {\r\n setvalue2(e.target.value);\r\n }}\r\n />\r\n )}\r\n {auroRating === \"permile\" && (\r\n <b\r\n ref={(element) => {\r\n var city =\r\n FieldID(\"C_toCity\" + ChargesId) !== \"\"\r\n ? FieldID(\"C_toCity\" + ChargesId)\r\n : \"City is Empty\";\r\n\r\n var state =\r\n FieldID(\"C_toState\" + ChargesId) !== \"\"\r\n ? FieldID(\"C_toState\" + ChargesId)\r\n : \"State is Empty\";\r\n\r\n if (element) element.innerText = city + \", \" + state;\r\n }}\r\n />\r\n )}\r\n </div>\r\n {isAddCharges &&\r\n OnlyTime !== 0 &&\r\n JSChargeN(\r\n index,\r\n OnlyTime,\r\n value1,\r\n value2,\r\n x?.Rounding,\r\n x?.IsRounding,\r\n ChargesId\r\n )}\r\n\r\n {!isAddCharges &&\r\n (auroRating === \"perhour\" ||\r\n auroRating === \"perdayyard\" ||\r\n auroRating === \"perdaychassis\" ||\r\n auroRating === \"permile\") && (\r\n <>\r\n <div className=\"col-3 mt-4\" />\r\n <div className=\"col-4 pl-2 pr-3 mt-2\">\r\n <b className=\"btn btn-light-danger w-100 p-2 font-weight-bold\">\r\n {RoundToFixed(x?.Quantity, x?.Rounding, x?.IsRounding)}\r\n </b>\r\n </div>\r\n <div className=\"col-1 mt-5 pl-3\">\r\n <i class=\"fas fa-arrow-right\"></i>\r\n </div>\r\n <div className=\"col-4 pl-2 pr-3 mt-2\">\r\n <b\r\n className=\"btn btn-light-primary w-100 p-2 font-weight-bold\"\r\n id={\"autoCharge\" + x.Id + IndexId}\r\n data-time={Time}\r\n data-Start={value1}\r\n data-End={value2}\r\n >\r\n {Time}\r\n </b>\r\n </div>\r\n <div className=\"col-12 mt-4\" />\r\n </>\r\n )}\r\n </div>\r\n )}\r\n </>\r\n );\r\n}\r\n\r\nfunction JSChargeN(\r\n index,\r\n val,\r\n value1,\r\n value2,\r\n Rounding,\r\n IsRounding,\r\n ChargesId = \"\"\r\n) {\r\n const ele = document.getElementById(\"ChargeN\" + index + ChargesId);\r\n if (ele) ele.value = RoundToFixed(val, Rounding, IsRounding);\r\n\r\n const ele1 = document.getElementById(\"DateStart\" + index + ChargesId);\r\n if (ele1 && value1) ele1.value = value1;\r\n\r\n const ele2 = document.getElementById(\"DateEnd\" + index + ChargesId);\r\n if (ele2 && value2) ele2.value = value2;\r\n}\r\n\r\nexport async function GetEmilCharge(\r\n setTime,\r\n setOnlyTime,\r\n ChargesId = \"\",\r\n Rounding,\r\n IsRounding\r\n) {\r\n const fromCity = FieldID(\"C_fromCity\" + ChargesId);\r\n const fromState = FieldID(\"C_fromState\" + ChargesId);\r\n const toCity = FieldID(\"C_toCity\" + ChargesId);\r\n const toState = FieldID(\"C_toState\" + ChargesId);\r\n\r\n return await fetch(\r\n window.$apiurl +\r\n `/tracking/getdistance?fromcity=${fromCity}&fromstate=${fromState}&destCity=${toCity}&destState=${toState}&fromCountry=&destCountry=`,\r\n {\r\n method: \"get\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n }\r\n )\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n var value = RoundToFixed(+res[1] ?? 0, Rounding, IsRounding);\r\n if (!!setTime) setTime(value + \" \");\r\n if (!!setOnlyTime) setOnlyTime(value);\r\n return res[1];\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n}\r\n\r\nexport const LockPayblesButton = ({\r\n isPrimary = false,\r\n Id,\r\n IsReceipt = false,\r\n FreightChargeId,\r\n ArePayablesReadOnly,\r\n setArePayablesReadOnly = false,\r\n}) => {\r\n const [freightChargeId, setfreightChargeId] = useState();\r\n const [isLock, setisLock] = useState(ArePayablesReadOnly);\r\n useEffect(() => {\r\n setfreightChargeId(FreightChargeId);\r\n }, [FreightChargeId]);\r\n\r\n return (\r\n <>\r\n {+freightChargeId === 99 && (\r\n <button\r\n type=\"button\"\r\n onClick={(e) => {\r\n e.preventDefault();\r\n LockPaybles(Id, IsReceipt, !isLock).then(() => {\r\n if (setArePayablesReadOnly) setArePayablesReadOnly(!isLock);\r\n setisLock((x) => !x);\r\n });\r\n e.stopPropagation();\r\n }}\r\n className={`font-weight-bold btn btn-elevate ml-3 ${\r\n isPrimary ? \"btn-light-primary py-1\" : \"btn-light text-dark py-0\"\r\n }`}\r\n >\r\n <b>{isLock ? \"UnLock\" : \"Lock\"} </b>\r\n {isLock ? (\r\n <i\r\n className={`fas fa-lock-open text-${\r\n isPrimary ? \"\" : \"primary\"\r\n } ml-1`}\r\n style={{ fontSize: \"12px\" }}\r\n />\r\n ) : (\r\n <i\r\n className={`fas fa-lock text-${isPrimary ? \"\" : \"primary\"} ml-1`}\r\n style={{ fontSize: \"12px\" }}\r\n />\r\n )}\r\n </button>\r\n )}\r\n {/* <LinearProgress /> */}\r\n </>\r\n );\r\n};\r\n\r\nexport async function LockPaybles(Id, IsReceipt, Lock) {\r\n return await fetch(window.$apiurl + `/Charges/LockCharges`, {\r\n method: \"post\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify({\r\n Id: Id,\r\n Lock: Lock,\r\n IsReceipt: IsReceipt,\r\n }),\r\n })\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n if (statusCode === 200)\r\n Notification(\"success\", Lock ? \"Lock success\" : \"UnLock success\");\r\n const data = (await response?.json()) ?? \"\";\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {})\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n}\r\n\r\nexport function FieldID(name) {\r\n return document.getElementById(name)?.value ?? \"\";\r\n}\r\n\r\nexport function MenuListComposition({ Child1, Child2, Child3 }) {\r\n let ref = React.useRef(null);\r\n\r\n const popover = (\r\n <Popover id=\"popover-basic\">\r\n <Popover.Content>\r\n <MenuItem onClick={() => ref.handleHide()}>{Child1}</MenuItem>\r\n <MenuItem onClick={() => ref.handleHide()}>{Child2}</MenuItem>\r\n </Popover.Content>\r\n </Popover>\r\n );\r\n\r\n return (\r\n <OverlayTrigger\r\n ref={(r) => (ref = r)}\r\n container={ref.current}\r\n trigger=\"click\"\r\n placement=\"auto\"\r\n overlay={popover}\r\n rootClose\r\n >\r\n <Button variant=\"dark\">\r\n <MoreVertIcon />\r\n </Button>\r\n </OverlayTrigger>\r\n );\r\n}\r\n\r\nexport const ChargesFunctionCompo = ({\r\n VandorSelectedData,\r\n customers,\r\n optionsVandorList,\r\n isInbound,\r\n linq = \"\",\r\n}) => {\r\n const [VendorsId, setVendorsId] = useState();\r\n const [VendorsList, setVendorsList] = useState([]);\r\n const [CarrierId, setCarrierId] = useState();\r\n const [values, setValues] = useState();\r\n\r\n useEffect(() => {\r\n //CheckVendor\r\n var vendorId = VandorSelectedData;\r\n if (!VandorSelectedData && customers?.length > 0)\r\n vendorId = customers.find((x) => x?.VendorId !== null || \"\")?.VendorId;\r\n\r\n if (vendorId) setVendorsId(vendorId);\r\n\r\n var vendorItem = optionsVandorList.find((x) => x?.value === vendorId);\r\n if (vendorItem) setCarrierId(vendorItem?.CarrierId);\r\n }, [VandorSelectedData, optionsVandorList]);\r\n\r\n useEffect(() => {\r\n if (VendorsId && customers?.length > 0)\r\n GetList(customers[0]?.Id, VendorsId, setValues);\r\n }, [VendorsId]);\r\n\r\n function setChergesFun(a) {\r\n const idsShipments = [];\r\n customers !== null &&\r\n customers !== undefined &&\r\n customers.length > 0 &&\r\n customers.forEach((item) => {\r\n idsShipments.push(item.Id);\r\n });\r\n window.$payablesRates = JSON.stringify({\r\n Ids: idsShipments,\r\n VendorId: VendorsId,\r\n Payables: a,\r\n });\r\n }\r\n\r\n async function GetList(id, vendorId, setValues) {\r\n return await fetch(\r\n `${window.$apiurl}/${linq}/payables/${id}?vendorId=${vendorId}`,\r\n {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n }\r\n )\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n const a = res[1];\r\n window.AutoRating = a?.AutoRating;\r\n window.ContainerIsHot = a?.IsHot ?? false;\r\n setValues(a);\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n\r\n return (\r\n <div>\r\n <input type=\"hidden\" id=\"C_CustomerId\" value={values?.CustomerId ?? \"\"} />\r\n <input type=\"hidden\" id=\"C_ServiceId\" value={values?.ServiceId ?? \"\"} />\r\n <input type=\"hidden\" id=\"C_ModeId\" value={values?.ModeId ?? \"\"} />\r\n <input\r\n type=\"hidden\"\r\n id=\"C_ServiceLevelId\"\r\n value={values?.ServiceLevelId ?? \"\"}\r\n />\r\n <input\r\n type=\"hidden\"\r\n id=\"C_EquipmentTypeId\"\r\n value={values?.EquipmentTypeId ?? \"\"}\r\n />\r\n <input\r\n type=\"hidden\"\r\n id=\"C_EquipmentSizeId\"\r\n value={values?.EquipmentSizeId ?? \"\"}\r\n />\r\n <input type=\"hidden\" id=\"C_ReceivedDate\" value=\"\" />\r\n <input type=\"hidden\" id=\"C_PickedUpDate\" value=\"\" />\r\n <input type=\"hidden\" id=\"C_TerminatedDate\" value=\"\" />\r\n\r\n <input type=\"hidden\" id=\"C_fromCity\" value={values?.FromCity ?? \"\"} />\r\n <input\r\n type=\"hidden\"\r\n id=\"C_fromAddress\"\r\n value={values?.FromAddress ?? \"\"}\r\n />\r\n <input type=\"hidden\" id=\"C_fromState\" value={values?.FromState ?? \"\"} />\r\n <input\r\n type=\"hidden\"\r\n id=\"C_fromZipCode\"\r\n value={values?.FromZipcode ?? \"\"}\r\n />\r\n\r\n <input type=\"hidden\" id=\"C_toCity\" value={values?.ToCity ?? \"\"} />\r\n <input type=\"hidden\" id=\"C_toAddress\" value={values?.ToAddress ?? \"\"} />\r\n <input type=\"hidden\" id=\"C_toState\" value={values?.ToState ?? \"\"} />\r\n <input type=\"hidden\" id=\"C_toZipCode\" value={values?.ToZipcode ?? \"\"} />\r\n\r\n <input type=\"hidden\" id=\"C_CarrierId\" value={CarrierId} />\r\n\r\n {CarrierId && values && (\r\n <ChargesFunction\r\n isInbound={isInbound}\r\n isPayable={true}\r\n type=\"Payables\"\r\n list={values?.Payables}\r\n setChergesFun={setChergesFun}\r\n />\r\n )}\r\n </div>\r\n );\r\n};\r\n\r\nexport function ChargesFirstColumn({ x }) {\r\n return (\r\n <>\r\n <OverlayTrigger\r\n overlay={\r\n <Tooltip id=\"products-edit-tooltip\">\r\n <p class=\"w-100 text-center\">\r\n <span class=\"d-inline-block w-100 text-primary\">\r\n <b>Quote # </b>\r\n </span>\r\n <span class=\"w-100\">{x?.QuoteId ?? \"Empty\"}</span>\r\n </p>\r\n </Tooltip>\r\n }\r\n >\r\n <a className=\"btn btn-icon btn-light btn-hover-light btn-sm mr-3\">\r\n <span className=\"svg-icon svg-icon-md svg-icon-info\">\r\n <SVG src={toAbsoluteUrl(\"/media/svg/icons/Code/Info-circle.svg\")} />\r\n </span>\r\n </a>\r\n </OverlayTrigger>\r\n {x?.Code}\r\n {x?.CalculName && (\r\n <span\r\n class=\"bg-primary text-white px-1 py-0 ml-3\"\r\n style={{ borderRadius: \"5px\" }}\r\n >\r\n <b>{x?.CalculName}</b>\r\n </span>\r\n )}\r\n </>\r\n );\r\n}\r\n\r\nexport function ChargesRemoveComponent({ ChargesRemove = [] }) {\r\n const Bg = \"bg-light-warning\";\r\n return (\r\n <>\r\n <b className=\"text-warning ml-5 pl-3 mb-3\">\r\n Removed Charges : Count {ChargesRemove.length}\r\n </b>\r\n <table\r\n className=\"table table-head-custom table-head-bg table-vertical-center rounded\"\r\n style={{ width: \"93%\", margin: \"auto\", overflow: \"hidden\" }}\r\n >\r\n <thead>\r\n <tr className={`text-left text-uppercase ${Bg} rounded-0`}>\r\n <th className={`border-0 ${Bg} rounded-0`}>\r\n <b className=\"text-warning\">Code</b>\r\n </th>\r\n <th className={`border-0 ${Bg}`}>\r\n <b className=\"text-warning\">Name</b>\r\n </th>\r\n <th className={`border-0 ${Bg}`}>\r\n <b className=\"text-warning\">Rate</b>\r\n </th>\r\n <th className={`border-0 ${Bg} rounded-0`}>\r\n <b className=\"text-warning\">Quantity</b>\r\n </th>\r\n </tr>\r\n </thead>\r\n\r\n {ChargesRemove.map((x, index) => {\r\n return (\r\n <>\r\n <tbody\r\n className=\"border-0\"\r\n key={x?.Code + \"\" + x?.Id + \"\" + index + (x?.Invoice ?? \"\")}\r\n >\r\n <tr className={`${Bg}`}>\r\n <td className=\"border-0\">\r\n {isChangeFunction(x)}\r\n <b className={`title mr-2`}>\r\n <OverlayTrigger\r\n overlay={\r\n <Tooltip id=\"products-edit-tooltip\">\r\n <p class=\"w-100 text-center\">\r\n <span class=\"d-inline-block w-100 text-primary\">\r\n <b>Quote # </b>\r\n </span>\r\n <span class=\"w-100\">{x?.QuoteId ?? \"Empty\"}</span>\r\n </p>\r\n </Tooltip>\r\n }\r\n >\r\n <a className=\"btn btn-icon btn-hover-light btn-sm mr-3\">\r\n <span className=\"svg-icon svg-icon-md svg-icon-info\">\r\n <SVG\r\n src={toAbsoluteUrl(\r\n \"/media/svg/icons/Code/Info-circle.svg\"\r\n )}\r\n />\r\n </span>\r\n </a>\r\n </OverlayTrigger>\r\n\r\n {x?.Code}\r\n <span class=\"ml-2 text-primary\">\r\n <b>{x?.CalculName}</b>\r\n </span>\r\n </b>\r\n </td>\r\n <td className=\"border-0\">{x?.Name}</td>\r\n <td className=\"border-0\">{x?.Rate}</td>\r\n <td className=\"border-0\">{x?.Quantity}</td>\r\n </tr>\r\n </tbody>\r\n </>\r\n );\r\n })}\r\n </table>\r\n </>\r\n );\r\n}\r\n\r\nexport const ChargesValues = ({ values, ChargesId, index = 0 }) => {\r\n function IdAddCharges(id) {\r\n return id + \"\" + ChargesId;\r\n }\r\n return (\r\n <div>\r\n <input\r\n type=\"hidden\"\r\n id={IdAddCharges(\"C_CustomerId\")}\r\n value={values?.CustomerId ?? \"\"}\r\n />\r\n <input\r\n type=\"hidden\"\r\n id={IdAddCharges(\"C_ServiceId\")}\r\n value={values?.ServiceId ?? \"\"}\r\n />\r\n <input\r\n type=\"hidden\"\r\n id={IdAddCharges(\"C_ModeId\")}\r\n value={values?.ModeId ?? \"\"}\r\n />\r\n <input\r\n type=\"hidden\"\r\n id={IdAddCharges(\"C_ServiceLevelId\")}\r\n value={values?.ServiceLevelId ?? \"\"}\r\n />\r\n <input\r\n type=\"hidden\"\r\n id={IdAddCharges(\"C_EquipmentTypeId\")}\r\n value={values?.EquipmentTypeId ?? \"\"}\r\n />\r\n <input\r\n type=\"hidden\"\r\n id={IdAddCharges(\"C_EquipmentSizeId\")}\r\n value={values?.EquipmentSizeId ?? \"\"}\r\n />\r\n <input\r\n type=\"hidden\"\r\n id={IdAddCharges(\"C_PuAppointment\")}\r\n value={values?.PuAppointment ?? \"\"}\r\n />\r\n <input\r\n type=\"hidden\"\r\n id={IdAddCharges(\"C_ReceivedDate\")}\r\n value={values?.ReceivedDate ?? \"\"}\r\n />\r\n <input\r\n type=\"hidden\"\r\n id={IdAddCharges(\"C_PickedUpDate\")}\r\n value={values?.PickedUpDate ?? \"\"}\r\n />\r\n <input\r\n type=\"hidden\"\r\n id={IdAddCharges(\"C_fromCity\")}\r\n value={values?.ShipperCity ?? \"\"}\r\n />\r\n <input\r\n type=\"hidden\"\r\n id={IdAddCharges(\"C_fromAddress\")}\r\n value={values?.ShipperAddress ?? \"\"}\r\n />\r\n <input\r\n type=\"hidden\"\r\n id={IdAddCharges(\"C_fromState\")}\r\n value={values?.ShipperState ?? \"\"}\r\n />\r\n <input\r\n type=\"hidden\"\r\n id={IdAddCharges(\"C_fromZipCode\")}\r\n value={values?.ShipperZipCode ?? \"\"}\r\n />\r\n\r\n <input\r\n type=\"hidden\"\r\n id={IdAddCharges(\"C_toCity\")}\r\n value={values?.ConsigneeCity ?? \"\"}\r\n />\r\n <input\r\n type=\"hidden\"\r\n id={IdAddCharges(\"C_toAddress\")}\r\n value={values?.ConsigneeAddress ?? \"\"}\r\n />\r\n <input\r\n type=\"hidden\"\r\n id={IdAddCharges(\"C_toState\")}\r\n value={values?.ConsigneeState ?? \"\"}\r\n />\r\n <input\r\n type=\"hidden\"\r\n id={IdAddCharges(\"C_toZipCode\")}\r\n value={values?.ConsigneeZipCode ?? \"\"}\r\n />\r\n <input\r\n type=\"hidden\"\r\n id={IdAddCharges(\"C_CarrierId\")}\r\n value={values?.Vendors[index]?.CarrierId ?? \"\"}\r\n />\r\n </div>\r\n );\r\n};\r\n","/* eslint-disable react-hooks/exhaustive-deps */\r\n/* eslint-disable no-script-url,jsx-a11y/anchor-is-valid,jsx-a11y/role-supports-aria-props */\r\nimport React, { useEffect, useState } from \"react\";\r\nimport { shallowEqual, useSelector } from \"react-redux\";\r\nimport {\r\n Card,\r\n CardBody,\r\n CardHeader,\r\n CardHeaderToolbar,\r\n ModalProgressBar,\r\n} from \"../../../../../../_metronic/_partials/controls\";\r\nimport { Icon } from \"@material-ui/core\";\r\nimport clsx from \"clsx\";\r\nimport CreatableSelect from \"react-select/creatable\";\r\nimport {\r\n IconButton,\r\n Input,\r\n makeStyles,\r\n Table,\r\n TableBody,\r\n TableCell,\r\n TableHead,\r\n TableRow,\r\n} from \"@material-ui/core\";\r\nimport CloseIcon from \"@material-ui/icons/Close\";\r\nimport {\r\n Accordion,\r\n Alert,\r\n Button,\r\n Modal,\r\n OverlayTrigger,\r\n Spinner,\r\n Tooltip,\r\n} from \"react-bootstrap\";\r\nimport BootstrapTable from \"react-bootstrap-table-next\";\r\nimport paginationFactory from \"react-bootstrap-table2-paginator\";\r\nimport { Link } from \"react-router-dom\";\r\nimport Select from \"react-select\";\r\nimport { sortCaret } from \"../../../../../../_metronic/_helpers\";\r\nimport { CheckboxLargeWB } from \"../../../../../../_metronic/_partials/controls\";\r\nimport low from \"lowdb\";\r\nimport LocalStorage from \"lowdb/adapters/LocalStorage\";\r\nimport { Notification } from \"../../../../Notification\";\r\nimport { Formik } from \"formik\";\r\nimport {\r\n ActivityFunction,\r\n currencyFormat,\r\n RequiredHtml,\r\n} from \"../../../../../../_metronic/_helpers/ATHelpers\";\r\nimport axios from \"axios\";\r\nimport { ClickFun } from \"../../../../../SpecificTabs\";\r\nconst adapter = new LocalStorage(\"db\");\r\nconst db = low(adapter);\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n root: {\r\n width: \"100%\",\r\n },\r\n paper: {\r\n marginTop: theme.spacing(3),\r\n width: \"100%\",\r\n overflowX: \"auto\",\r\n marginBottom: theme.spacing(2),\r\n },\r\n}));\r\n\r\nexport function ProductMODetail({ history, MO, setMODetail, setMo }) {\r\n // Tabs\r\n const [initProduct, setinitProduct] = useState({\r\n id: undefined,\r\n So: \"\",\r\n MO: \"\",\r\n Customer: \"\",\r\n PU: \"\",\r\n Mode: \"\",\r\n Del: \"\",\r\n });\r\n const [ViewModelOptions, setViewModelOptions] = useState(null);\r\n const [modalAddresses, setmodalAddresses] = useState(false);\r\n const [Country, setCountry] = useState([]);\r\n const [customers, setCustomers] = useState([]);\r\n const [states, setStates] = useState([]);\r\n const [ModalActivities, setModalActivities] = useState(false);\r\n const [countryIdFetch, setCountryValue] = useState({\r\n value: \"US\",\r\n label: \"United States\",\r\n });\r\n const [stateId, setStateId] = React.useState({\r\n value: \"\",\r\n label: \"Select\",\r\n });\r\n //Fetch Dynamic Address\r\n const [consignee, setConsignee] = useState({\r\n ConsigneeId: 0,\r\n ConsigneeAddress: \"\",\r\n ConsigneeCity: \"\",\r\n ConsigneeState: \"\",\r\n ConsigneeZipCode: \"\",\r\n ConsigneePhoneNumber: \"\",\r\n ConsigneeFax: \"\",\r\n ConsigneeContactName: \"\",\r\n ConsigneeEmail: \"\",\r\n });\r\n const [shipper, setShipper] = useState({\r\n ShipperId: 0,\r\n ShipperAddress: \"\",\r\n ShipperCity: \"\",\r\n ShipperState: \"\",\r\n ShipperZipCode: \"\",\r\n ShipperPhoneNumber: \"\",\r\n ShipperFax: \"\",\r\n ShipperContactName: \"\",\r\n ShipperEmail: \"\",\r\n });\r\n async function fetchSelectedAddress(id, isShipper) {\r\n try {\r\n const result = await GetShipperAddress(id);\r\n if (isShipper) {\r\n let currentAddress = { ...shipper };\r\n currentAddress = {\r\n ShipperId: result?.Id,\r\n ShipperAddress: result?.Address,\r\n ShipperCity: result?.City,\r\n ShipperState: result?.State,\r\n ShipperZipCode: result?.ZipCode,\r\n ShipperPhoneNumber: result?.PhoneNumber,\r\n ShipperFax: result?.Fax,\r\n ShipperContactName: result?.ContactName,\r\n ShipperEmail: result?.Email,\r\n };\r\n setShipper(currentAddress);\r\n } else {\r\n let currentAddress = { ...consignee };\r\n currentAddress = {\r\n ConsigneeId: result?.Id,\r\n ConsigneeAddress: result?.Address,\r\n ConsigneeCity: result?.City,\r\n ConsigneeState: result?.State,\r\n ConsigneeZipCode: result?.ZipCode,\r\n ConsigneePhoneNumber: result?.PhoneNumber,\r\n ConsigneeFax: result?.Fax,\r\n ConsigneeContactName: result?.ContactName,\r\n ConsigneeEmail: result?.Email,\r\n };\r\n setConsignee(currentAddress);\r\n }\r\n } catch (err) {}\r\n }\r\n async function GetShipperAddress(id) {\r\n return await fetch(window.$apiurl + `/Tms/Address/${id}`, {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n if (res[0] === 200) {\r\n const result = res[1];\r\n return result;\r\n }\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n //******************************************************* */\r\n // const layoutDispatch = useContext(LayoutContext.Dispatch);\r\n const { actionsLoading } = useSelector(\r\n (state) => ({\r\n actionsLoading: state.products.actionsLoading,\r\n productForEdit: state.products.productForEdit,\r\n }),\r\n shallowEqual\r\n );\r\n function GetViewModel() {\r\n var myHeaders = new Headers();\r\n myHeaders.append(\"Authorization\", `Bearer ${db.read().getState().Token}`);\r\n\r\n var requestOptions = {\r\n method: \"GET\",\r\n headers: myHeaders,\r\n redirect: \"follow\",\r\n };\r\n\r\n fetch(`${window.$apiurl}/Tms/GetViewModel`, requestOptions)\r\n .then((response) => response.text())\r\n .then((result) => {\r\n console.log(result);\r\n var data = JSON.parse(result);\r\n setViewModelOptions(data);\r\n })\r\n .catch((error) => console.log(\"error\", error));\r\n }\r\n useEffect(() => {\r\n GetViewModel();\r\n }, []);\r\n\r\n function fetchProduct(MO) {\r\n var myHeaders = new Headers();\r\n myHeaders.append(\"Authorization\", `Bearer ${db.read().getState().Token}`);\r\n\r\n var requestOptions = {\r\n method: \"GET\",\r\n headers: myHeaders,\r\n redirect: \"follow\",\r\n };\r\n\r\n fetch(`${window.$apiurl}/Tms/MasterOrders/${MO}`, requestOptions)\r\n .then(async (response) => {\r\n if (response.status === 401) {\r\n history.push(\"/error/401\");\r\n }\r\n return response.text();\r\n })\r\n .then(async (result) => {\r\n var data = JSON.parse(result);\r\n await fetchSelectedAddress(data?.ShipperId, true);\r\n await fetchSelectedAddress(data?.ConsigneeId, false);\r\n setinitProduct(data);\r\n })\r\n .catch((error) => console.log(\"error\", error));\r\n }\r\n useEffect(() => {\r\n fetchProduct(MO);\r\n }, [MO]);\r\n const fetchViewModelAsync = async () => {\r\n try {\r\n const result = await axios.get(\"api/ManageAddress/GetAllApi\");\r\n setCountry(result.data[\"Countries\"] || []);\r\n } catch (e) {}\r\n };\r\n const handleCountryChange = async (event) => {\r\n setStates([]);\r\n if (event !== \"\" && event !== null) {\r\n const result = await axios.get(`api/companyinfo/getstates/${event}`);\r\n if (result.status === 200) {\r\n if (result.data.length > 0) {\r\n const states = [];\r\n window.$StatesAddress = result.data;\r\n result.data.length > 0 &&\r\n result.data.map((item) => {\r\n states.push({ value: item.Id, label: item.Name });\r\n return null;\r\n });\r\n setStates(states);\r\n } else {\r\n Notification(\"warning\", \"This Country doesn't have any state.\");\r\n }\r\n }\r\n }\r\n };\r\n useEffect(() => {\r\n fetchViewModelAsync();\r\n GetCustomers();\r\n }, []);\r\n async function GetCustomers() {\r\n return await fetch(`${window.$apiurl}/quoting/viewmodel`, {\r\n method: \"get\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n var a = res[1];\r\n const obj = [];\r\n a?.Customers.length > 0 &&\r\n a.Customers.map((item) => {\r\n obj.push({ value: item.Id, label: item.Name });\r\n return null;\r\n });\r\n setCustomers(obj);\r\n window.$customersAddress = a.Customers;\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n\r\n const saveProduct = (values) => {\r\n setLoadingPCost(true);\r\n var myHeaders = new Headers();\r\n myHeaders.append(\"Authorization\", `Bearer ${db.read().getState().Token}`);\r\n myHeaders.append(\"Content-Type\", \"application/json\");\r\n\r\n var raw = JSON.stringify(values);\r\n\r\n var requestOptions = {\r\n method: \"PUT\",\r\n headers: myHeaders,\r\n body: raw,\r\n redirect: \"follow\",\r\n };\r\n\r\n fetch(`${window.$apiurl}/Tms/MasterOrders/${MO}`, requestOptions)\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n const contentType = response.headers.get(\"content-type\");\r\n if (contentType && contentType.indexOf(\"application/json\") !== -1) {\r\n return response.json().then((data) => [statusCode, data]);\r\n } else {\r\n return response.text().then((text) => [statusCode, { Message: \"\" }]);\r\n }\r\n })\r\n .then((result) => {\r\n if (result[0] === 200) {\r\n Notification(\"success\", \"Master Order has been Updated successfully\");\r\n fetchProduct(MO);\r\n } else {\r\n if (\r\n result[1].Message !== null &&\r\n result[1].Message !== undefined &&\r\n result[1].Message !== \"\"\r\n ) {\r\n Notification(\"errorClick\", result[1].Message);\r\n } else {\r\n Notification(\"errorClick\", \"Invalid Data\");\r\n }\r\n }\r\n setLoadingPCost(false);\r\n })\r\n .catch((error) => {\r\n console.log(\"error\", error);\r\n setLoadingPCost(false);\r\n });\r\n };\r\n\r\n const backToProductsList = () => {\r\n if (\r\n String(window.activeTab)\r\n .toLocaleLowerCase()\r\n .includes(\"CapacityBoard\".toLocaleLowerCase())\r\n ) {\r\n document.getElementById(\"openCapacityBoardPage2\").click();\r\n } else if (\r\n String(window.activeTab)\r\n .toLocaleLowerCase()\r\n .includes(\"TrackingBoard\".toLocaleLowerCase())\r\n ) {\r\n document.getElementById(\"TrackingBoardGrid\").click();\r\n } else {\r\n document.getElementById(\"LoadBoardGrid\").click();\r\n }\r\n };\r\n\r\n const classes = useStyles();\r\n\r\n const columns = [\r\n {\r\n dataField: \"Id\",\r\n text: \"SO\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n formatter: (cell, row, rowIndex) => {\r\n return (\r\n <>\r\n <Link\r\n onClick={(e) => {\r\n ClickFun(e, \"/TransportManagementSystems/SoDetail/\", row.Id);\r\n }}\r\n >\r\n {row.Id}\r\n </Link>\r\n </>\r\n );\r\n },\r\n },\r\n {\r\n dataField: \"Mode\",\r\n text: \"Mode\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n },\r\n {\r\n dataField: \"Pu\",\r\n text: \"Pu Location\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n formatter: (cell, row) => {\r\n return row.FromCity + \", \" + row.FromState;\r\n },\r\n },\r\n {\r\n dataField: \"Del\",\r\n text: \"Del Location\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n formatter: (cell, row) => {\r\n return row.ToCity + \", \" + row.ToState;\r\n },\r\n },\r\n {\r\n dataField: \"Status\",\r\n text: \"Current Status\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n },\r\n ];\r\n\r\n const Services = [{ label: \"Domestic Transportation\" }].map((Services) => ({\r\n value: Services.label,\r\n label: Services.label,\r\n }));\r\n const [CreateSO, setCreateSO] = useState();\r\n const [CreateSOSelectedMode, setCreateSOSelectedMode] = useState(null);\r\n const [LoadingPost, setLoadingPCost] = useState(false);\r\n const [IsShipperSelected, setIsShipperSelected] = useState(false);\r\n\r\n const [AddressObjectPost, setAddressObjectPost] = useState({\r\n Name: \"\",\r\n Address: \"\",\r\n City: \"\",\r\n State: \"\",\r\n PostalCode: \"\",\r\n CountryId: \"US\",\r\n Phone: \"\",\r\n Fax: \"\",\r\n Note: \"\",\r\n AddressTypeId: null,\r\n IsActive: true,\r\n Charges: [],\r\n ContactName: \"\",\r\n Email: \"\",\r\n CustomerId: null,\r\n });\r\n const [itemsTms, setItemsTms] = React.useState([\r\n {\r\n UnitCount: 1,\r\n CubeType: \"CBM\",\r\n Cube: 1,\r\n WeightType: \"LBS\",\r\n PurchaseOrder: \"\",\r\n UnitValue: \"in/lbs\",\r\n IsPost: false,\r\n IsEditMode: false,\r\n Pieces: 1,\r\n UnitOfMeasureId: 4,\r\n ShipmentId: \"\",\r\n WeightMode: \"each\",\r\n WeightModeValue: { value: \"each\", label: \"each\" },\r\n Weight: \"1\",\r\n Length: \"\",\r\n Height: \"\",\r\n Width: \"\",\r\n FreightClass: \"\",\r\n FreightClassValue: { value: \"\", label: \"Select\" },\r\n Nmfc: \"\",\r\n IsHazardousMateriel: false,\r\n StopId: null,\r\n DeliveryStopId: null,\r\n StopValue: { value: \"\", label: \"Select\" },\r\n StopValueDelivery: { value: \"\", label: \"Select\" },\r\n UnitOfMeasureValue: { value: 4, label: \"Pallet\" },\r\n },\r\n ]);\r\n\r\n function ItemsTmsComponent(values) {\r\n return (\r\n <Accordion defaultActiveKey=\"0\">\r\n {values.map((item, Index) => (\r\n <>\r\n {item?.Items?.length > 0 ? (\r\n <>\r\n <Accordion.Toggle\r\n as={Button}\r\n key={Index}\r\n className=\"w-100 text-left p-0 position-relative text-decoration-none\"\r\n variant=\"link\"\r\n eventKey={Index}\r\n >\r\n <Alert variant=\"primary \" className=\"pt-3 pl-3 pb-0\">\r\n <h4>SO: {item.Id}</h4>\r\n </Alert>\r\n <Icon\r\n className={clsx(\r\n \"fa fa-chevron-down position-absolute text-white\"\r\n )}\r\n style={{ fontSize: 17, right: \"1rem\", top: \"20%\" }}\r\n />\r\n </Accordion.Toggle>\r\n <Accordion.Collapse key={Index} eventKey={Index}>\r\n <div>\r\n {item.Items.map((el, i) => (\r\n <div className=\"card mt-md-9 bg-light\" key={i}>\r\n <div className=\"card-body\">\r\n <div className=\"row\">\r\n <div className=\"col\">\r\n <div className=\"row\">\r\n <div className=\"col-lg-6\">\r\n <span\r\n class=\"label label-info label-inline mr-2 mb-3 p-4\"\r\n style={{ fontSize: \"14px\" }}\r\n >\r\n {el?.IsPost\r\n ? \"New Item\"\r\n : `Item #: ${el?.Id}`}\r\n </span>\r\n </div>\r\n </div>\r\n\r\n <div className=\"p-2\">\r\n {/* First Row */}\r\n <div className=\"form-group row\">\r\n <div className=\"col-lg-3\">\r\n <label>PO#</label>\r\n <input\r\n component={Input}\r\n placeholder=\"PO#\"\r\n className=\"form-control\"\r\n value={el?.PurchaseOrder}\r\n type=\"text\"\r\n name=\"PurchaseOrder\"\r\n />\r\n </div>\r\n <div className=\"col-lg-3\">\r\n <label>SKU</label>\r\n <input\r\n component={Input}\r\n placeholder=\"SKU\"\r\n className=\"form-control\"\r\n value={el?.Sku}\r\n type=\"text\"\r\n name=\"Sku\"\r\n />\r\n </div>\r\n <div className=\"col-lg-3\">\r\n <label>Packaging</label>\r\n <input\r\n component={Input}\r\n placeholder=\"Packaging\"\r\n className=\"form-control\"\r\n type=\"text\"\r\n name=\"Packaging\"\r\n value={el?.Packaging}\r\n />\r\n </div>\r\n <div className=\"col-lg-3\">\r\n <label>Handling Amount</label>\r\n <input\r\n component={Input}\r\n placeholder=\"Handling Amount\"\r\n className=\"form-control\"\r\n type=\"text\"\r\n name=\"Handling Amount\"\r\n value={el?.HandlingAmount}\r\n />\r\n </div>\r\n <div className=\"col-lg-3\">\r\n <label>Pieces</label>\r\n <input\r\n type=\"number\"\r\n className=\"form-control\"\r\n name=\"UnitCount\"\r\n component={Input}\r\n placeholder=\"Unit Count\"\r\n value={el?.Quantity}\r\n required={true}\r\n min=\"0\"\r\n />\r\n </div>\r\n <div className=\"col-lg-3\">\r\n <label>Weight Type</label>\r\n\r\n <Select\r\n name=\"WeightType\"\r\n value={[\r\n { label: \"LBS\", value: \"LBS\" },\r\n { label: \"KGS\", value: \"KGS\" },\r\n ].filter(\r\n (a) => a.value === el.WeightType\r\n )}\r\n options={[\r\n { label: \"LBS\", value: \"LBS\" },\r\n { label: \"KGS\", value: \"KGS\" },\r\n ]}\r\n />\r\n </div>\r\n <div className=\"col-lg-3\">\r\n <label>Weight</label>\r\n <input\r\n type=\"number\"\r\n name=\"Weight\"\r\n id=\"WeightId\"\r\n className=\"form-control\"\r\n component={Input}\r\n placeholder=\"Weight\"\r\n value={el?.Weight}\r\n />\r\n </div>\r\n </div>\r\n {/* Second Row */}\r\n <div className=\"form-group row\">\r\n <>\r\n <div className=\"col-lg-2\">\r\n <label>NMFC</label>\r\n <input\r\n component={Input}\r\n placeholder=\"NMFC\"\r\n className=\"form-control\"\r\n value={el?.Nmfc}\r\n type=\"text\"\r\n name=\"Nmfc\"\r\n />\r\n </div>\r\n <div className=\"col-lg-2\">\r\n <label>Commodity</label>\r\n <input\r\n component={Input}\r\n placeholder=\"Commodity\"\r\n className=\"form-control\"\r\n value={el?.Commodity}\r\n type=\"text\"\r\n name=\"Commodity\"\r\n />\r\n </div>\r\n <div className=\"col-lg-2\">\r\n <label>\r\n Space Req{\" \"}\r\n <span className=\"text-danger\">*</span>\r\n </label>\r\n <input\r\n type=\"text\"\r\n placeholder=\"Space Req\"\r\n className=\"form-control\"\r\n value={el?.SpaceReq}\r\n required\r\n />\r\n </div>\r\n <div className=\"col-lg-2\">\r\n <label>SKU</label>\r\n <input\r\n component={Input}\r\n placeholder=\"SKU\"\r\n className=\"form-control\"\r\n defaultValue={el?.Sku}\r\n onBlur={(e) => {\r\n try {\r\n let values = [...itemsTms];\r\n values[i].Sku = e.target.value;\r\n values[i].IsEditMode = true;\r\n setItemsTms(values);\r\n } catch (err) {}\r\n }}\r\n type=\"text\"\r\n name=\"Sku\"\r\n />\r\n </div>\r\n <div className=\"col-lg-2 mt-md-8\">\r\n <CheckboxLargeWB\r\n className=\"font-size-md\"\r\n text=\"Temp Control\"\r\n name=\"TempControl\"\r\n id=\"TempControl\"\r\n checked={el?.TempControl}\r\n onChange={(e) => {\r\n try {\r\n let values = [...itemsTms];\r\n values[i].TempControl =\r\n e.target.checked;\r\n values[i].IsEditMode = true;\r\n setItemsTms(values);\r\n } catch (err) {}\r\n }}\r\n />\r\n </div>\r\n {el?.TempControl === true ? (\r\n <>\r\n <div className=\"col-lg-1\">\r\n <label>Temp Min</label>\r\n <input\r\n type=\"number\"\r\n className=\"form-control\"\r\n name=\"TempMin\"\r\n component={Input}\r\n placeholder=\"Min\"\r\n required={true}\r\n value={el?.TempMin}\r\n onChange={(e) => {\r\n try {\r\n let values = [...itemsTms];\r\n values[i].TempMin =\r\n e.target.value;\r\n values[i].IsEditMode = true;\r\n\r\n setItemsTms(values);\r\n } catch (err) {}\r\n }}\r\n />\r\n </div>\r\n <div className=\"col-lg-1\">\r\n <label>Temp Max</label>\r\n <input\r\n type=\"number\"\r\n className=\"form-control\"\r\n name=\"TempMin\"\r\n component={Input}\r\n placeholder=\"Max\"\r\n required={true}\r\n value={el?.TempMax}\r\n onChange={(e) => {\r\n try {\r\n let values = [...itemsTms];\r\n values[i].TempMax =\r\n e.target.value;\r\n values[i].IsEditMode = true;\r\n\r\n setItemsTms(values);\r\n } catch (err) {}\r\n }}\r\n />\r\n </div>\r\n </>\r\n ) : (\r\n \"\"\r\n )}\r\n </>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n ))}\r\n </div>\r\n </Accordion.Collapse>\r\n </>\r\n ) : (\r\n \"\"\r\n )}\r\n </>\r\n ))}\r\n </Accordion>\r\n );\r\n }\r\n return (\r\n <Formik\r\n enableReinitialize={true}\r\n initialValues={initProduct}\r\n onSubmit={(values) => {\r\n saveProduct(values);\r\n }}\r\n >\r\n {({ handleSubmit, setFieldValue, values }) => {\r\n function postAddress() {\r\n setLoadingPCost(true);\r\n\r\n let value = { ...AddressObjectPost };\r\n value.AddressTypeId = IsShipperSelected === true ? 11 : 5;\r\n return fetch(window.$apiurl + \"/address\", {\r\n method: \"post\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n\r\n body: JSON.stringify(value),\r\n })\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n const contentType = response.headers.get(\"content-type\");\r\n if (\r\n contentType &&\r\n contentType.indexOf(\"application/json\") !== -1\r\n ) {\r\n return response.json().then((data) => [statusCode, data]);\r\n } else {\r\n return response\r\n .text()\r\n .then((text) => [statusCode, { Message: \"\" }]);\r\n }\r\n })\r\n .then(async (res) => {\r\n if (res[0] === 200) {\r\n Notification(\"success\", \"Address has been add successfuly\");\r\n setLoadingPCost(false);\r\n setmodalAddresses(false);\r\n await GetViewModel();\r\n if (IsShipperSelected) {\r\n setFieldValue(\"ShipperId\", res[1].Id);\r\n console.log(res[1]);\r\n await fetchSelectedAddress(res[1].Id, true);\r\n } else {\r\n setFieldValue(\"ConsigneeId\", res[1].Id);\r\n await fetchSelectedAddress(res[1].Id, false);\r\n }\r\n\r\n setAddressObjectPost({\r\n Name: \"\",\r\n Address: \"\",\r\n City: \"\",\r\n State: \"\",\r\n PostalCode: \"\",\r\n CountryId: \"US\",\r\n Phone: \"\",\r\n Fax: \"\",\r\n Note: \"\",\r\n AddressTypeId: null,\r\n IsActive: true,\r\n Charges: [],\r\n CustomerId: null,\r\n ContactName: \"\",\r\n Email: \"\",\r\n });\r\n } else {\r\n if (\r\n res[1].Message !== null &&\r\n res[1].Message !== undefined &&\r\n res[1].Message !== \"\"\r\n ) {\r\n Notification(\"errorClick\", res[1].Message);\r\n } else {\r\n Notification(\"errorClick\", \"Invalid Data\");\r\n }\r\n setLoadingPCost(false);\r\n }\r\n })\r\n .catch((error) => {\r\n Notification(\"errorClick\", \"Invalid Data\");\r\n setLoadingPCost(false);\r\n });\r\n }\r\n return (\r\n <div className=\"row\">\r\n <div className=\"col-xl-3 col-lg-3 col-md-12\">\r\n <div className=\"row\">\r\n <div className=\"col-xl-12 col-lg-12 col-md-12\">\r\n <Card className=\"bg-transparent shadow-none header-detail\">\r\n <CardHeader>\r\n <CardHeaderToolbar className=\"pl-0 align-content-end\">\r\n <button\r\n type=\"button\"\r\n onClick={() => {\r\n backToProductsList();\r\n }}\r\n className=\"btn btn-light\"\r\n >\r\n <i className=\"fa fa-arrow-left\"></i>\r\n Back\r\n </button>\r\n {` `}\r\n\r\n <button\r\n disabled={LoadingPost}\r\n type=\"submit\"\r\n className=\"btn btn-primary ml-2\"\r\n onClick={handleSubmit}\r\n >\r\n Save\r\n {LoadingPost === true ? (\r\n <Spinner\r\n as=\"span\"\r\n animation=\"border\"\r\n size=\"sm\"\r\n role=\"status\"\r\n aria-hidden=\"true\"\r\n />\r\n ) : (\r\n \"\"\r\n )}\r\n </button>\r\n <button\r\n className=\"btn btn-warning ml-2\"\r\n onClick={() => {\r\n setModalActivities(true);\r\n }}\r\n >\r\n Activities\r\n </button>\r\n </CardHeaderToolbar>\r\n </CardHeader>\r\n </Card>\r\n </div>\r\n\r\n <div className=\"col-xl-12 col-lg-12 col-md-6\">\r\n <Card>\r\n <CardHeader className=\"border-bottom-0\" title=\"Basic Info\">\r\n <div className=\"separator separator-dashed my-3\"></div>\r\n </CardHeader>\r\n <CardBody>\r\n <div className=\"d-flex flex-wrap align-items-center pb-5\">\r\n <div className=\"d-flex flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg\"\r\n >\r\n MO #\r\n </a>\r\n <span className=\"text-muted font-weight-bold\">\r\n <input\r\n type=\"text\"\r\n className=\"form-control \"\r\n value={values.Id}\r\n disabled\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n <div className=\"d-flex flex-wrap align-items-center pb-5\">\r\n <div className=\"d-flex flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg\"\r\n >\r\n Cust Ref #\r\n </a>\r\n <span className=\"text-muted font-weight-bold\">\r\n <input\r\n type=\"text\"\r\n className=\"form-control \"\r\n name=\"CustomerRefNumber\"\r\n id=\"CustomerRefNumber\"\r\n value={values.CustomerRefNumber}\r\n onChange={(e) => {\r\n setFieldValue(\r\n \"CustomerRefNumber\",\r\n e.target.value\r\n );\r\n }}\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n <div className=\"d-flex flex-wrap align-items-center pb-5\">\r\n <div className=\"d-flex flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg\"\r\n >\r\n Customer\r\n </a>\r\n <span className=\"font-weight-bold\">\r\n <Select\r\n isClearable\r\n name=\"CustomerId\"\r\n value={ViewModelOptions?.Customers.filter(\r\n (a) => a.Id === values.CustomerId\r\n ).map((a) => {\r\n return {\r\n value: a.Id,\r\n label: a.Code + \"-\" + a.Name,\r\n };\r\n })}\r\n options={ViewModelOptions?.Customers.map((a) => {\r\n return {\r\n value: a.Id,\r\n label: a.Code + \"-\" + a.Name,\r\n };\r\n })}\r\n onChange={(e) => {\r\n if (e !== null) {\r\n setFieldValue(\"CustomerId\", e.value);\r\n setFieldValue(\r\n \"BillToId\",\r\n ViewModelOptions?.Customers?.filter(\r\n (a) => a.Id === e.value\r\n )[0]?.BillToId\r\n );\r\n } else {\r\n setFieldValue(\"CustomerId\", null);\r\n setFieldValue(\"BillToId\", null);\r\n }\r\n }}\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n <div className=\"d-flex flex-wrap align-items-center pb-5\">\r\n <div className=\"d-flex flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg\"\r\n >\r\n Bill To\r\n </a>\r\n <span className=\"font-weight-bold\">\r\n <Select\r\n isClearable\r\n value={ViewModelOptions?.GenericAddresses?.filter(\r\n (a) => a.Id === values.BillToId\r\n ).map((a) => {\r\n return {\r\n value: a.Id,\r\n label: a.Name,\r\n };\r\n })}\r\n options={ViewModelOptions?.GenericAddresses.map(\r\n (a) => {\r\n return {\r\n value: a.Id,\r\n label: a.Name,\r\n };\r\n }\r\n )}\r\n onChange={(e) => {\r\n if (e !== null) {\r\n setFieldValue(\"BillToId\", e.value);\r\n } else {\r\n setFieldValue(\"BillToId\", null);\r\n }\r\n }}\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n </CardBody>\r\n </Card>\r\n </div>\r\n </div>\r\n </div>\r\n <div className=\"col-xl-9 col-lg-9 col-md-12\">\r\n <ul className=\"sticky-toolbar nav flex-column pl-2 pr-2 pt-3 pb-3 mt-4\">\r\n <OverlayTrigger\r\n placement=\"left\"\r\n overlay={<Tooltip id=\"layout-tooltip\">Back</Tooltip>}\r\n >\r\n <li className=\"nav-item mb-2\" data-placement=\"left\">\r\n <button\r\n type=\"button\"\r\n onClick={backToProductsList}\r\n className=\"btn btn-sm btn-icon btn-bg-light\"\r\n >\r\n <i className=\"fa fa-arrow-left\"></i>\r\n </button>\r\n </li>\r\n </OverlayTrigger>\r\n\r\n <OverlayTrigger\r\n placement=\"left\"\r\n overlay={<Tooltip id=\"documentations-tooltip\">Save</Tooltip>}\r\n >\r\n <li className=\"nav-item mb-2\" data-placement=\"left\">\r\n <button\r\n className=\"btn btn-sm btn-icon btn-bg-light btn-text-primary btn-hover-primary\"\r\n disabled={LoadingPost}\r\n type=\"submit\"\r\n onClick={handleSubmit}\r\n >\r\n <i class=\"fas fa-save\"></i>\r\n {LoadingPost === true ? (\r\n <Spinner\r\n as=\"span\"\r\n animation=\"border\"\r\n size=\"sm\"\r\n role=\"status\"\r\n aria-hidden=\"true\"\r\n />\r\n ) : (\r\n \"\"\r\n )}\r\n </button>\r\n </li>\r\n </OverlayTrigger>\r\n <OverlayTrigger\r\n placement=\"left\"\r\n overlay={\r\n <Tooltip id=\"documentations-tooltip\">Activities</Tooltip>\r\n }\r\n >\r\n <li className=\"nav-item mb-2\" data-placement=\"left\">\r\n <button\r\n className=\"btn btn-sm btn-icon btn-bg-light btn-text-warning btn-hover-warning\"\r\n onClick={() => {\r\n setModalActivities(true);\r\n }}\r\n >\r\n <i class=\"fas fa-history\"></i>\r\n </button>\r\n </li>\r\n </OverlayTrigger>\r\n </ul>\r\n <Card className=\"bg-transparent shadow-none mb-0\">\r\n {actionsLoading && <ModalProgressBar />}\r\n <CardBody>\r\n <ul\r\n className=\"nav nav-tabs nav-tabs-line \"\r\n role=\"tablist\"\r\n ></ul>\r\n <div className=\"mt-5\">\r\n <Modal\r\n size=\"lg\"\r\n show={CreateSO}\r\n onHide={setCreateSO}\r\n aria-labelledby=\"example-modal-sizes-title-sm\"\r\n >\r\n <Modal.Header>\r\n <Modal.Title id=\"example-modal-sizes-title-lg\">\r\n Baics Info\r\n </Modal.Title>\r\n <IconButton\r\n className={classes.button}\r\n aria-label=\"Close\"\r\n onClick={() => {\r\n setCreateSO(false);\r\n setCreateSOSelectedMode(null);\r\n }}\r\n >\r\n <CloseIcon />\r\n </IconButton>\r\n </Modal.Header>\r\n <Modal.Body>\r\n <div className=\"form-group row\">\r\n <div className=\"col\">\r\n <label className=\"mb-2\">Service</label>\r\n <Select\r\n isClearable\r\n name=\"Service\"\r\n id=\"Service\"\r\n label=\"Service\"\r\n value={Services}\r\n inputId=\"react-select-single\"\r\n options={Services}\r\n />\r\n </div>\r\n <div className=\"col\">\r\n <label className=\"mb-2\">Mode</label>\r\n <Select\r\n name=\"Mode\"\r\n id=\"Mode\"\r\n label=\"Mode\"\r\n options={ViewModelOptions?.Modes?.map((a) => {\r\n return {\r\n value: a.Id,\r\n label: a.Name,\r\n };\r\n })}\r\n onChange={(e) => {\r\n setCreateSOSelectedMode(e);\r\n }}\r\n inputId=\"react-select-single\"\r\n />\r\n </div>\r\n </div>\r\n </Modal.Body>\r\n <Modal.Footer>\r\n <button\r\n disabled={LoadingPost}\r\n onClick={() => {\r\n setCreateSO(false);\r\n setCreateSOSelectedMode(null);\r\n }}\r\n className=\"btn btn-outline btn-elevate\"\r\n >\r\n Cancel\r\n </button>\r\n <button\r\n className=\"btn btn-primary btn-elevate\"\r\n onClick={() => {\r\n if (CreateSOSelectedMode === null) {\r\n Notification(\"errorClick\", \"Please Select Mode\");\r\n return;\r\n }\r\n setLoadingPCost(true);\r\n var myHeaders = new Headers();\r\n myHeaders.append(\r\n \"Authorization\",\r\n `Bearer ${db.read().getState().Token}`\r\n );\r\n\r\n var requestOptions = {\r\n method: \"POST\",\r\n headers: myHeaders,\r\n redirect: \"follow\",\r\n };\r\n fetch(\r\n `${window.$apiurl}/Tms/ServiceOrders?orderId=${MO}&modeId=${CreateSOSelectedMode?.value}`,\r\n requestOptions\r\n )\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n const contentType = response.headers.get(\r\n \"content-type\"\r\n );\r\n if (\r\n contentType &&\r\n contentType.indexOf(\"application/json\") !== -1\r\n ) {\r\n return response\r\n .json()\r\n .then((data) => [statusCode, data]);\r\n } else {\r\n return response\r\n .text()\r\n .then((text) => [\r\n statusCode,\r\n { Message: \"\" },\r\n ]);\r\n }\r\n })\r\n .then((result) => {\r\n if (result[0] === 200) {\r\n Notification(\r\n \"success\",\r\n \"Service Order has been created successfully\"\r\n );\r\n setCreateSO(false);\r\n fetchProduct(MO);\r\n setCreateSOSelectedMode(null);\r\n ClickFun(\r\n \"\",\r\n \"/TransportManagementSystems/SoDetail/\",\r\n result[1].Id\r\n );\r\n } else {\r\n if (\r\n result[1].Message !== null &&\r\n result[1].Message !== undefined &&\r\n result[1].Message !== \"\"\r\n ) {\r\n Notification(\r\n \"errorClick\",\r\n result[1].Message\r\n );\r\n } else {\r\n Notification(\"errorClick\", \"Invalid Data\");\r\n }\r\n }\r\n setLoadingPCost(false);\r\n })\r\n .catch((error) => {\r\n console.log(\"error\", error);\r\n setLoadingPCost(false);\r\n });\r\n }}\r\n >\r\n Save\r\n {LoadingPost && (\r\n <Spinner\r\n as=\"span\"\r\n animation=\"border\"\r\n size=\"sm\"\r\n role=\"status\"\r\n aria-hidden=\"true\"\r\n />\r\n )}\r\n </button>\r\n </Modal.Footer>\r\n </Modal>\r\n <Modal\r\n show={modalAddresses}\r\n size=\"lg\"\r\n aria-labelledby=\"example-modal-sizes-title-lg\"\r\n >\r\n <Modal.Header>\r\n <Modal.Title id=\"example-modal-sizes-title-lg\">\r\n Create new Address\r\n </Modal.Title>\r\n <IconButton\r\n className=\"MuiButtonBase-root MuiIconButton-root jss179\"\r\n aria-label=\"Close\"\r\n onClick={() => {\r\n setmodalAddresses(false);\r\n }}\r\n >\r\n <CloseIcon />\r\n </IconButton>\r\n </Modal.Header>\r\n <Modal.Body>\r\n <form className=\"form form-label-right\">\r\n <div className=\"form-group row\">\r\n <div className={\"col-lg-12\"}>\r\n <label>Organisation Name</label>\r\n <input\r\n name=\"Name\"\r\n className=\"form-control\"\r\n placeholder=\"Organisation Name\"\r\n label=\"Organisation Name\"\r\n value={AddressObjectPost.Name}\r\n onChange={(e) => {\r\n let value = { ...AddressObjectPost };\r\n value.Name = e.target.value;\r\n setAddressObjectPost(value);\r\n }}\r\n required={true}\r\n />\r\n </div>\r\n </div>\r\n <div className=\"form-group\">\r\n <div className=\"col-lg-12 px-0\">\r\n <label>\r\n Address <RequiredHtml />\r\n </label>\r\n <input\r\n name=\"Address\"\r\n as=\"textarea\"\r\n onChange={(e) => {\r\n let value = { ...AddressObjectPost };\r\n value.Address = e.target.value;\r\n setAddressObjectPost(value);\r\n }}\r\n className=\"form-control\"\r\n />\r\n </div>\r\n </div>\r\n <div className=\"form-group row\">\r\n <div className=\"col-lg-4\">\r\n <label>City</label>\r\n\r\n <input\r\n name=\"City\"\r\n className=\"form-control\"\r\n placeholder=\"City\"\r\n onChange={(e) => {\r\n let value = { ...AddressObjectPost };\r\n value.City = e.target.value;\r\n setAddressObjectPost(value);\r\n }}\r\n label=\"City\"\r\n />\r\n </div>\r\n <div className=\"col-lg-4\">\r\n <label>Choose a state</label>\r\n <Select\r\n name=\"State\"\r\n label=\"State\"\r\n id=\"LocationState\"\r\n options={states}\r\n value={stateId}\r\n onChange={(e) => {\r\n setStateId(e);\r\n let value = { ...AddressObjectPost };\r\n if (e !== null) {\r\n value.State = e?.label;\r\n } else {\r\n value.State = \"\";\r\n }\r\n setAddressObjectPost(value);\r\n }}\r\n />\r\n </div>\r\n <div className=\"col-lg-4\">\r\n <label>Zip Code</label>\r\n\r\n <input\r\n name=\"PostalCode\"\r\n className=\"form-control\"\r\n placeholder=\"Zip Code\"\r\n onChange={(e) => {\r\n let value = { ...AddressObjectPost };\r\n value.PostalCode = e.target.value;\r\n setAddressObjectPost(value);\r\n }}\r\n label=\"Zip Code\"\r\n />\r\n </div>\r\n </div>\r\n <div className=\"form-group row\">\r\n <div className=\"col-lg-4\">\r\n <label>\r\n Country <RequiredHtml />\r\n </label>\r\n <CreatableSelect\r\n name=\"CountryId\"\r\n value={\r\n countryIdFetch.value === \"\"\r\n ? { value: \"US\", label: \"United States\" }\r\n : countryIdFetch\r\n }\r\n options={Country.map((x) => {\r\n return { value: x?.Id, label: x?.Name };\r\n })}\r\n onChange={(newValue) => {\r\n setCountryValue(newValue);\r\n handleCountryChange(newValue?.value);\r\n let value = { ...AddressObjectPost };\r\n if (newValue !== null) {\r\n value.CountryId = newValue?.value;\r\n } else {\r\n value.CountryId = \"\";\r\n }\r\n setAddressObjectPost(value);\r\n }}\r\n />\r\n </div>\r\n <div className=\"col-lg-4\">\r\n <label>Phone</label>\r\n\r\n <input\r\n name=\"Phone\"\r\n onChange={(e) => {\r\n let value = { ...AddressObjectPost };\r\n value.Phone = e.target.value;\r\n setAddressObjectPost(value);\r\n }}\r\n className=\"form-control\"\r\n placeholder=\"Phone\"\r\n label=\"Phone\"\r\n />\r\n </div>\r\n <div className=\"col-lg-4\">\r\n <label>Fax</label>\r\n\r\n <input\r\n name=\"Fax\"\r\n onChange={(e) => {\r\n let value = { ...AddressObjectPost };\r\n value.Fax = e.target.value;\r\n setAddressObjectPost(value);\r\n }}\r\n className=\"form-control\"\r\n placeholder=\"Fax\"\r\n label=\"Fax\"\r\n />\r\n </div>\r\n </div>\r\n <div className=\"form-group row\">\r\n <div className=\"col-lg-4\">\r\n <label>Contact Name</label>\r\n\r\n <input\r\n name=\"ContactName\"\r\n onChange={(e) => {\r\n let value = { ...AddressObjectPost };\r\n value.ContactName = e.target.value;\r\n setAddressObjectPost(value);\r\n }}\r\n className=\"form-control\"\r\n placeholder=\"Contact Name\"\r\n label=\"Contact Name\"\r\n />\r\n </div>\r\n <div className=\"col-lg-4\">\r\n <label>Contact Email</label>\r\n\r\n <input\r\n name=\"Email\"\r\n onChange={(e) => {\r\n let value = { ...AddressObjectPost };\r\n value.Email = e.target.value;\r\n setAddressObjectPost(value);\r\n }}\r\n className=\"form-control\"\r\n placeholder=\"Contact Email\"\r\n label=\"Contact Email\"\r\n />\r\n </div>\r\n </div>\r\n <div className=\"form-group row\">\r\n <div className=\"col-lg-12\">\r\n <label>Customer</label>\r\n <Select name=\"CustomerId\" options={customers} />\r\n </div>\r\n </div>\r\n <div className=\"form-group\">\r\n <div className=\"col-lg-12 px-0\">\r\n <label>Note</label>\r\n <input\r\n name=\"Note\"\r\n as=\"textarea\"\r\n className=\"form-control\"\r\n />\r\n </div>\r\n </div>\r\n </form>\r\n </Modal.Body>\r\n <Modal.Footer>\r\n <button\r\n type=\"button\"\r\n onClick={() => {\r\n setmodalAddresses(false);\r\n }}\r\n className=\"btn btn-light btn-elevate\"\r\n >\r\n Cancel\r\n </button>\r\n <> </>\r\n <button\r\n type=\"submit\"\r\n disabled={LoadingPost}\r\n onClick={() => {\r\n postAddress();\r\n }}\r\n className=\"btn btn-primary btn-elevate\"\r\n >\r\n Save\r\n {LoadingPost && (\r\n <Spinner\r\n as=\"span\"\r\n animation=\"border\"\r\n size=\"sm\"\r\n role=\"status\"\r\n aria-hidden=\"true\"\r\n />\r\n )}\r\n </button>\r\n </Modal.Footer>\r\n </Modal>\r\n <Modal\r\n size=\"xl\"\r\n show={ModalActivities}\r\n aria-labelledby=\"example-modal-sizes-title-lg\"\r\n >\r\n <Modal.Header>\r\n <div className=\"row w-100\">\r\n <div className=\"col-lg-6\">\r\n <h3 className=\"font-weight-bolder text-dark\">\r\n MO Activities ID: {MO}\r\n </h3>\r\n </div>\r\n </div>\r\n <IconButton\r\n className=\"MuiButtonBase-root MuiIconButton-root jss179\"\r\n aria-label=\"Close\"\r\n onClick={() => {\r\n setModalActivities(false);\r\n }}\r\n >\r\n <CloseIcon />\r\n </IconButton>\r\n </Modal.Header>\r\n <Modal.Body className=\"overlay-block\">\r\n <ActivityFunction\r\n Activitys={values?.Activities || []}\r\n />\r\n </Modal.Body>\r\n </Modal>\r\n <Card>\r\n <CardHeader title=\"Service Legs\">\r\n <CardHeaderToolbar>\r\n <button\r\n type=\"button\"\r\n className=\"btn btn-success mr-4\"\r\n onClick={() => {\r\n setCreateSO(true);\r\n }}\r\n >\r\n Create Service Leg\r\n </button>\r\n </CardHeaderToolbar>\r\n </CardHeader>\r\n <CardBody>\r\n <BootstrapTable\r\n wrapperClasses=\"table-responsive\"\r\n classes=\"table table-head-custom table-vertical-center\"\r\n bootstrap4\r\n pagination={paginationFactory({\r\n showTotal: true,\r\n })}\r\n bordered={false}\r\n remote\r\n keyField=\"id\"\r\n data={values?.Shipments || []}\r\n columns={columns}\r\n />\r\n </CardBody>\r\n </Card>\r\n <Card>\r\n <CardHeader title=\"Ultimate Shipper\"></CardHeader>\r\n <CardBody>\r\n <div className=\"row\">\r\n <div className=\"col-xl col-lg col-md-5 border-right\">\r\n <div className=\" flex-wrap align-items-center pb-5\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg mr-3\"\r\n >\r\n Company Name :\r\n </a>\r\n <span className=\"font-weight-bold\">\r\n <CreatableSelect\r\n className=\"mt-4\"\r\n isClearable\r\n name=\"ShipperId\"\r\n id=\"ShipperId\"\r\n label=\"Company\"\r\n value={ViewModelOptions?.Shippers.filter(\r\n (a) => a.Id === values.ShipperId\r\n ).map((a) => {\r\n return {\r\n value: a.Id,\r\n label: a.Name,\r\n };\r\n })}\r\n options={ViewModelOptions?.Shippers.map(\r\n (a) => {\r\n return {\r\n value: a.Id,\r\n label: a.Name,\r\n };\r\n }\r\n )}\r\n onChange={async (newValue) => {\r\n if (newValue !== null) {\r\n if (newValue.__isNew__) {\r\n setmodalAddresses(true);\r\n setCountryValue({\r\n value: \"US\",\r\n label: \"United States\",\r\n });\r\n\r\n handleCountryChange(\"US\");\r\n var value = {\r\n ...AddressObjectPost,\r\n };\r\n value.Name = newValue.label;\r\n setAddressObjectPost(value);\r\n setIsShipperSelected(true);\r\n } else {\r\n setFieldValue(\r\n \"ShipperId\",\r\n newValue?.value\r\n );\r\n await fetchSelectedAddress(\r\n newValue?.value,\r\n true\r\n );\r\n }\r\n } else {\r\n setFieldValue(\"ShipperId\", null);\r\n let values = { ...shipper };\r\n values = {\r\n ShipperId: 0,\r\n ShipperAddress: \"\",\r\n ShipperCity: \"\",\r\n ShipperState: \"\",\r\n ShipperZipCode: \"\",\r\n ShipperPhoneNumber: \"\",\r\n ShipperFax: \"\",\r\n ShipperContactName: \"\",\r\n ShipperEmail: \"\",\r\n };\r\n setShipper(values);\r\n }\r\n }}\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n <div className=\" flex-wrap align-items-center pb-5\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg mr-3\"\r\n >\r\n Street Address :\r\n </a>\r\n <span className=\"text-muted font-weight-bold\">\r\n <input\r\n type=\"text\"\r\n className=\"form-control mt-4\"\r\n name=\"ShipperAddress\"\r\n disabled={true}\r\n id=\"ShipperAddress\"\r\n value={shipper.ShipperAddress}\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n <div className=\" flex-wrap align-items-center pb-5\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg mr-3\"\r\n >\r\n City :\r\n </a>\r\n <span className=\"text-muted font-weight-bold\">\r\n <input\r\n type=\"text\"\r\n className=\"form-control mt-4\"\r\n name=\"ShipperCity\"\r\n disabled={true}\r\n id=\"ShipperCity\"\r\n value={shipper?.ShipperCity}\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n <div className=\" flex-wrap align-items-center pb-5\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg mr-3\"\r\n >\r\n State :\r\n </a>\r\n <span className=\"text-muted font-weight-bold\">\r\n <input\r\n type=\"text\"\r\n className=\"form-control mt-4\"\r\n name=\"ShipperState\"\r\n disabled={true}\r\n id=\"ShipperState\"\r\n value={shipper?.ShipperState}\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n </div>\r\n <div className=\"col-xl col-lg col-md-5 border-right\">\r\n <div className=\" flex-wrap align-items-center pb-5\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg mr-3\"\r\n >\r\n Zip :\r\n </a>\r\n <span className=\"text-muted font-weight-bold\">\r\n <input\r\n type=\"text\"\r\n className=\"form-control mt-4\"\r\n name=\"ShipperZipCode\"\r\n id=\"ShipperZipCode\"\r\n disabled={true}\r\n value={shipper?.ShipperZipCode}\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n <div className=\" flex-wrap align-items-center pb-5\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg mr-3\"\r\n >\r\n Contact Name :\r\n </a>\r\n <span className=\"text-muted font-weight-bold\">\r\n <input\r\n type=\"text\"\r\n className=\"form-control mt-4\"\r\n name=\"ShipperContactName\"\r\n disabled={true}\r\n id=\"ShipperContactName\"\r\n label=\"Contact\"\r\n value={shipper?.ShipperContactName}\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n <div className=\" flex-wrap align-items-center pb-5\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg mr-3\"\r\n >\r\n Contact Phone :\r\n </a>\r\n <span className=\"text-muted font-weight-bold\">\r\n <input\r\n type=\"tel\"\r\n className=\"form-control mt-4\"\r\n name=\"ShipperPhoneNumber\"\r\n id=\"ShipperPhoneNumber\"\r\n disabled={true}\r\n value={shipper?.ShipperPhoneNumber}\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n <div className=\" flex-wrap align-items-center pb-5\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg mr-3\"\r\n >\r\n Contact Fax :\r\n </a>\r\n <span className=\"text-muted font-weight-bold\">\r\n <input\r\n type=\"tel\"\r\n className=\"form-control mt-4\"\r\n name=\"ShipperFax\"\r\n id=\"ShipperFax\"\r\n disabled={true}\r\n value={shipper?.ShipperFax}\r\n label=\"Fax\"\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n </div>\r\n <div className=\"col-xl col-lg col-md-5 border-right\">\r\n <div className=\" flex-wrap align-items-center pb-5\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg mr-3\"\r\n >\r\n Contact Email :\r\n </a>\r\n <span className=\"text-muted font-weight-bold\">\r\n <input\r\n type=\"email\"\r\n className=\"form-control mt-4\"\r\n name=\"ShipperEmail\"\r\n disabled={true}\r\n id=\"ShipperEmail\"\r\n value={shipper?.ShipperEmail}\r\n label=\"Email\"\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </CardBody>\r\n </Card>\r\n <Card>\r\n <CardHeader title=\"Ultimate Receiver\"></CardHeader>\r\n <CardBody>\r\n <div className=\"row\">\r\n <div className=\"col-xl col-lg col-md-5 border-right\">\r\n <div className=\" flex-wrap align-items-center pb-5\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg mr-3\"\r\n >\r\n Company Name :\r\n </a>\r\n <span className=\"font-weight-bold\">\r\n <CreatableSelect\r\n isClearable\r\n className=\"mt-4\"\r\n name=\"ConsigneeId\"\r\n id=\"ConsigneeId\"\r\n value={ViewModelOptions?.Consignees.filter(\r\n (a) => a.Id === values.ConsigneeId\r\n ).map((a) => {\r\n return {\r\n value: a.Id,\r\n label: a.Name,\r\n };\r\n })}\r\n options={ViewModelOptions?.Consignees.map(\r\n (a) => {\r\n return {\r\n value: a.Id,\r\n label: a.Name,\r\n };\r\n }\r\n )}\r\n onChange={async (newValue) => {\r\n if (newValue !== null) {\r\n if (newValue.__isNew__) {\r\n setmodalAddresses(true);\r\n setCountryValue({\r\n value: \"US\",\r\n label: \"United States\",\r\n });\r\n\r\n handleCountryChange(\"US\");\r\n var value = {\r\n ...AddressObjectPost,\r\n };\r\n value.Name = newValue.label;\r\n setAddressObjectPost(value);\r\n setIsShipperSelected(false);\r\n } else {\r\n setFieldValue(\r\n \"ConsigneeId\",\r\n newValue?.value\r\n );\r\n await fetchSelectedAddress(\r\n newValue?.value,\r\n false\r\n );\r\n }\r\n } else {\r\n setFieldValue(\"ConsigneeId\", null);\r\n let values = { ...consignee };\r\n values = {\r\n ConsigneeId: 0,\r\n ConsigneeAddress: \"\",\r\n ConsigneeCity: \"\",\r\n ConsigneeState: \"\",\r\n ConsigneeZipCode: \"\",\r\n ConsigneePhoneNumber: \"\",\r\n ConsigneeFax: \"\",\r\n ConsigneeContactName: \"\",\r\n ConsigneeEmail: \"\",\r\n };\r\n setConsignee(values);\r\n }\r\n }}\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n <div className=\" flex-wrap align-items-center pb-5\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg mr-3\"\r\n >\r\n Street Address :\r\n </a>\r\n <span className=\"text-muted font-weight-bold\">\r\n <input\r\n type=\"text\"\r\n className=\"form-control mt-4\"\r\n name=\"ConsigneeStreet\"\r\n id=\"ConsigneeStreet\"\r\n disabled={true}\r\n label=\"Street\"\r\n value={consignee?.ConsigneeAddress}\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n <div className=\" flex-wrap align-items-center pb-5\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg mr-3\"\r\n >\r\n City :\r\n </a>\r\n <span className=\"text-muted font-weight-bold\">\r\n <input\r\n type=\"text\"\r\n className=\"form-control mt-4\"\r\n name=\"ConsigneeCity\"\r\n disabled={true}\r\n id=\"ConsigneeCity\"\r\n value={consignee?.ConsigneeCity}\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n <div className=\" flex-wrap align-items-center pb-5\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg mr-3\"\r\n >\r\n State :\r\n </a>\r\n <span className=\"text-muted font-weight-bold\">\r\n <input\r\n type=\"text\"\r\n className=\"form-control mt-4\"\r\n name=\"ConsigneeState\"\r\n id=\"ConsigneeState\"\r\n disabled={true}\r\n value={consignee?.ConsigneeState}\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n </div>\r\n <div className=\"col-xl col-lg col-md-5 border-right\">\r\n <div className=\" flex-wrap align-items-center pb-5\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg mr-3\"\r\n >\r\n Zip :\r\n </a>\r\n <span className=\"text-muted font-weight-bold\">\r\n <input\r\n type=\"text\"\r\n className=\"form-control mt-4\"\r\n name=\"ConsigneeZipCode\"\r\n id=\"ConsigneeZipCode\"\r\n disabled={true}\r\n value={consignee?.ConsigneeZipCode}\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n <div className=\" flex-wrap align-items-center pb-5\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg mr-3\"\r\n >\r\n Contact Name :\r\n </a>\r\n <span className=\"text-muted font-weight-bold\">\r\n <input\r\n type=\"text\"\r\n className=\"form-control mt-4\"\r\n name=\"ConsigneeContactName\"\r\n disabled={true}\r\n value={consignee?.ConsigneeContactName}\r\n id=\"ConsigneeContactName\"\r\n label=\"Contact\"\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n <div className=\" flex-wrap align-items-center pb-5\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg mr-3\"\r\n >\r\n Contact Phone :\r\n </a>\r\n <span className=\"text-muted font-weight-bold\">\r\n <input\r\n type=\"tel\"\r\n className=\"form-control mt-4\"\r\n name=\"ConsigneePhoneNumber\"\r\n disabled={true}\r\n id=\"ConsigneePhoneNumber\"\r\n value={consignee?.ConsigneePhoneNumber}\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n <div className=\" flex-wrap align-items-center pb-5\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg mr-3\"\r\n >\r\n Contact Fax :\r\n </a>\r\n <span className=\"text-muted font-weight-bold\">\r\n <input\r\n type=\"tel\"\r\n className=\"form-control mt-4\"\r\n name=\"ConsigneeFax\"\r\n id=\"ConsigneeFax\"\r\n disabled={true}\r\n value={consignee?.ConsigneeFax}\r\n label=\"Fax\"\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n </div>\r\n <div className=\"col-xl col-lg col-md-5 border-right\">\r\n <div className=\" flex-wrap align-items-center pb-5\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg mr-3\"\r\n >\r\n Contact Email :\r\n </a>\r\n <span className=\"text-muted font-weight-bold\">\r\n <input\r\n type=\"email\"\r\n className=\"form-control mt-4\"\r\n name=\"EmailText\"\r\n id=\"EmailText\"\r\n disabled={true}\r\n value={consignee?.ConsigneeEmail}\r\n label=\"Email\"\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </CardBody>\r\n </Card>\r\n <Card>\r\n <CardHeader title=\"Commodity Details\"></CardHeader>\r\n <CardBody>\r\n <div className=\"col-xl-12 col-lg-12\">\r\n {values?.Shipments?.length > 0\r\n ? ItemsTmsComponent(values?.Shipments || [])\r\n : \"\"}\r\n </div>\r\n </CardBody>\r\n </Card>\r\n <Card>\r\n <CardHeader\r\n className=\"border-bottom-0\"\r\n title=\"AP/Invoicing\"\r\n >\r\n <div className=\"separator separator-dashed my-3\"></div>\r\n </CardHeader>\r\n <CardBody>\r\n <div className=\"row\">\r\n <div className=\"col\">\r\n <h3>Total Bill To Rating </h3>\r\n <div className=\"react-bootstrap-table table-responsive\">\r\n <Table\r\n className={classes.table}\r\n responsive\r\n size=\"small\"\r\n >\r\n <TableHead>\r\n <TableRow>\r\n <TableCell>SO#</TableCell>\r\n <TableCell align=\"right\">Mode</TableCell>\r\n <TableCell align=\"right\">\r\n Total Charges\r\n </TableCell>\r\n </TableRow>\r\n </TableHead>\r\n <TableBody>\r\n {values?.Shipments?.map((row, index) => (\r\n <TableRow key={index}>\r\n <TableCell component=\"th\" scope=\"row\">\r\n {row.Id}\r\n </TableCell>\r\n <TableCell align=\"right\">\r\n {row.Mode}\r\n </TableCell>\r\n <TableCell align=\"right\">\r\n {currencyFormat(row.TotalReceivables)}\r\n </TableCell>\r\n </TableRow>\r\n ))}\r\n <TableRow>\r\n <TableCell\r\n rowSpan={2}\r\n className=\"border-0\"\r\n />\r\n <TableCell\r\n rowSpan={3}\r\n align=\"right\"\r\n className=\"font-weight-bolder\"\r\n >\r\n Total\r\n </TableCell>\r\n <TableCell\r\n align=\"right\"\r\n className=\"font-weight-bolder\"\r\n >\r\n $\r\n {currencyFormat(\r\n values?.Shipments?.reduce(function(\r\n a,\r\n b\r\n ) {\r\n return a + b.TotalReceivables;\r\n },\r\n 0)\r\n )}\r\n </TableCell>\r\n </TableRow>\r\n </TableBody>\r\n </Table>\r\n </div>\r\n </div>\r\n <div className=\"col border-right\">\r\n <h3>Total Vendor Rating </h3>\r\n <div className=\"react-bootstrap-table table-responsive\">\r\n <Table\r\n className={classes.table}\r\n responsive\r\n size=\"small\"\r\n >\r\n <TableHead>\r\n <TableRow>\r\n <TableCell>SO#</TableCell>\r\n <TableCell align=\"right\">Mode</TableCell>\r\n <TableCell align=\"right\">\r\n Total Charges\r\n </TableCell>\r\n </TableRow>\r\n </TableHead>\r\n <TableBody>\r\n {values?.Shipments?.map((row, index) => (\r\n <TableRow key={index}>\r\n <TableCell component=\"th\" scope=\"row\">\r\n {row.Id}\r\n </TableCell>\r\n <TableCell align=\"right\">\r\n {row.Mode}\r\n </TableCell>\r\n <TableCell align=\"right\">\r\n {currencyFormat(row.TotalPayable)}\r\n </TableCell>\r\n </TableRow>\r\n ))}\r\n <TableRow>\r\n <TableCell\r\n rowSpan={2}\r\n className=\"border-0\"\r\n />\r\n <TableCell\r\n rowSpan={3}\r\n align=\"right\"\r\n className=\"font-weight-bolder\"\r\n >\r\n Total\r\n </TableCell>\r\n <TableCell\r\n align=\"right\"\r\n className=\"font-weight-bolder\"\r\n >\r\n $\r\n {currencyFormat(\r\n values?.Shipments?.reduce(function(\r\n a,\r\n b\r\n ) {\r\n return a + b.TotalPayable;\r\n },\r\n 0)\r\n )}\r\n </TableCell>\r\n </TableRow>\r\n </TableBody>\r\n </Table>\r\n </div>\r\n </div>\r\n <div className=\"col-12 text-center mt-8\">\r\n <div className=\" flex-wrap align-items-center pb-5\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg mr-3\"\r\n >\r\n Margin Amount :\r\n </a>\r\n <span className=\"text-muted font-weight-bold\">\r\n ${\" \"}\r\n {currencyFormat(\r\n values?.Shipments?.reduce(function(a, b) {\r\n return a + b.TotalReceivables;\r\n }, 0) -\r\n values?.Shipments?.reduce(function(a, b) {\r\n return a + b.TotalPayable;\r\n }, 0)\r\n )}\r\n </span>\r\n </div>\r\n </div>\r\n <div className=\" flex-wrap align-items-center pb-10\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg mr-3\"\r\n >\r\n Margin Percentage :\r\n </a>\r\n <span className=\"text-muted font-weight-bold\">\r\n {values?.Shipments?.reduce(function(a, b) {\r\n return a + b.TotalReceivables;\r\n }, 0) === 0\r\n ? 0\r\n : currencyFormat(\r\n ((values?.Shipments?.reduce(function(\r\n a,\r\n b\r\n ) {\r\n return a + b.TotalReceivables;\r\n },\r\n 0) -\r\n values?.Shipments?.reduce(function(\r\n a,\r\n b\r\n ) {\r\n return a + b.TotalPayable;\r\n },\r\n 0)) /\r\n values?.Shipments?.reduce(function(\r\n a,\r\n b\r\n ) {\r\n return a + b.TotalReceivables;\r\n },\r\n 0)) *\r\n 100\r\n )}\r\n %\r\n </span>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </CardBody>\r\n </Card>\r\n </div>\r\n </CardBody>\r\n </Card>\r\n <Card\r\n className=\"bg-transparent shadow-none\"\r\n style={{ float: \"right\" }}\r\n >\r\n <CardHeader>\r\n <CardHeaderToolbar className=\"pl-0 align-content-end\">\r\n <button\r\n type=\"button\"\r\n onClick={backToProductsList}\r\n className=\"btn btn-light\"\r\n >\r\n <i className=\"fa fa-arrow-left\"></i>\r\n Back\r\n </button>\r\n {` `}\r\n\r\n <button\r\n disabled={LoadingPost}\r\n type=\"submit\"\r\n className=\"btn btn-primary ml-2\"\r\n onClick={handleSubmit}\r\n >\r\n Save\r\n {LoadingPost === true ? (\r\n <Spinner\r\n as=\"span\"\r\n animation=\"border\"\r\n size=\"sm\"\r\n role=\"status\"\r\n aria-hidden=\"true\"\r\n />\r\n ) : (\r\n \"\"\r\n )}\r\n </button>\r\n <button\r\n className=\"btn btn-warning ml-2\"\r\n onClick={() => {\r\n setModalActivities(true);\r\n }}\r\n >\r\n Activities\r\n </button>\r\n </CardHeaderToolbar>\r\n </CardHeader>\r\n </Card>\r\n </div>\r\n </div>\r\n );\r\n }}\r\n </Formik>\r\n );\r\n}\r\n","import axios from \"axios\";\r\n\r\nexport const CUSTOMERS_URL = \"api/ManageCustomer\";\r\n\r\n// CREATE => POST: add a new customer to the server\r\nexport function createCustomer(customer) {\r\n return axios.post(CUSTOMERS_URL, { customer });\r\n}\r\n\r\n// READ\r\nexport function getAllCustomers() {\r\n return axios.get(CUSTOMERS_URL);\r\n}\r\n\r\nexport function getCustomerById(customerId) {\r\n return axios.get(`${CUSTOMERS_URL}/${customerId}`);\r\n}\r\n\r\n// Method from server should return QueryResultsModel(items: any[], totalsCount: number)\r\n// items => filtered/sorted result\r\nexport function findCustomers(queryParams) {\r\n return axios.post(`${CUSTOMERS_URL}/find`, { queryParams });\r\n}\r\n\r\n// UPDATE => PUT: update the customer on the server\r\nexport function updateCustomer(customer) {\r\n return axios.put(`${CUSTOMERS_URL}/${customer.Id}`, { customer });\r\n}\r\n\r\n// UPDATE Status\r\nexport function updateStatusForCustomers(ids, status) {\r\n return axios.post(`${CUSTOMERS_URL}/updateStatusForCustomers`, {\r\n ids,\r\n status\r\n });\r\n}\r\n\r\n// DELETE => delete the customer from the server\r\nexport function deleteCustomer(customerId) {\r\n return axios.delete(`${CUSTOMERS_URL}/${customerId}`);\r\n}\r\n\r\n// DELETE Customers by ids\r\nexport function deleteCustomers(ids) {\r\n return axios.post(`${CUSTOMERS_URL}/deleteCustomers`, { ids });\r\n}\r\n","import {createSlice} from \"@reduxjs/toolkit\";\r\n\r\nconst initialCustomersState = {\r\n listLoading: false,\r\n actionsLoading: false,\r\n totalCount: 0,\r\n entities: null,\r\n customerForEdit: undefined,\r\n lastError: null\r\n};\r\nexport const callTypes = {\r\n list: \"list\",\r\n action: \"action\"\r\n};\r\n\r\nexport const customersSlice = createSlice({\r\n name: \"customers\",\r\n initialState: initialCustomersState,\r\n reducers: {\r\n catchError: (state, action) => {\r\n state.error = `${action.type}: ${action.payload.error}`;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = false;\r\n } else {\r\n state.actionsLoading = false;\r\n }\r\n },\r\n startCall: (state, action) => {\r\n state.error = null;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = true;\r\n } else {\r\n state.actionsLoading = true;\r\n }\r\n },\r\n // getCustomerById\r\n customerFetched: (state, action) => {\r\n state.actionsLoading = false;\r\n state.customerForEdit = action.payload.customerForEdit;\r\n state.error = null;\r\n },\r\n // findCustomers\r\n customersFetched: (state, action) => {\r\n const { totalCount, entities } = action.payload;\r\n state.listLoading = false;\r\n state.error = null;\r\n state.entities = entities;\r\n state.totalCount = totalCount;\r\n },\r\n // createCustomer\r\n customerCreated: (state, action) => {\r\n state.actionsLoading = false;\r\n state.error = null;\r\n state.entities.push(action.payload.customer);\r\n },\r\n // updateCustomer\r\n customerUpdated: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.map(entity => {\r\n if (entity.id === action.payload.customer.id) {\r\n return action.payload.customer;\r\n }\r\n return entity;\r\n });\r\n },\r\n // deleteCustomer\r\n customerDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(el => el.id !== action.payload.id);\r\n },\r\n // deleteCustomers\r\n customersDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(\r\n el => !action.payload.ids.includes(el.id)\r\n );\r\n },\r\n // customersUpdateState\r\n customersStatusUpdated: (state, action) => {\r\n state.actionsLoading = false;\r\n state.error = null;\r\n const { ids, status } = action.payload;\r\n state.entities = state.entities.map(entity => {\r\n if (ids.findIndex(id => id === entity.id) > -1) {\r\n entity.status = status;\r\n }\r\n return entity;\r\n });\r\n }\r\n }\r\n});\r\n","import * as requestFromServer from \"./customersCrud\";\r\nimport {customersSlice, callTypes} from \"./customersSlice\";\r\n\r\nconst {actions} = customersSlice;\r\n\r\nexport const fetchCustomers = queryParams => dispatch => {\r\n dispatch(actions.startCall({ callType: callTypes.list }));\r\n return requestFromServer\r\n .findCustomers(queryParams)\r\n .then(response => {\r\n const { totalCount, entities } = response.data;\r\n dispatch(actions.customersFetched({ totalCount, entities }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't find customers\";\r\n dispatch(actions.catchError({ error, callType: callTypes.list }));\r\n });\r\n};\r\n\r\nexport const fetchCustomer = id => dispatch => {\r\n if (!id) {\r\n return dispatch(actions.customerFetched({ customerForEdit: undefined }));\r\n }\r\n\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .getCustomerById(id)\r\n .then(response => {\r\n const customer = response.data;\r\n dispatch(actions.customerFetched({ customerForEdit: customer }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't find customer\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const deleteCustomer = id => dispatch => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .deleteCustomer(id)\r\n .then(response => {\r\n dispatch(actions.customerDeleted({ id }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't delete customer\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const createCustomer = customerForCreation => dispatch => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .createCustomer(customerForCreation)\r\n .then(response => {\r\n const { customer } = response.data;\r\n dispatch(actions.customerCreated({ customer })); \r\n \r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't create customer\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const updateCustomer = customer => dispatch => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .updateCustomer(customer)\r\n .then(() => {\r\n dispatch(actions.customerUpdated({ customer }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't update customer\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const updateCustomersStatus = (ids, status) => dispatch => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .updateStatusForCustomers(ids, status)\r\n .then(() => {\r\n dispatch(actions.customersStatusUpdated({ ids, status }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't update customers status\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const deleteCustomers = ids => dispatch => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .deleteCustomers(ids)\r\n .then(() => {\r\n dispatch(actions.customersDeleted({ ids }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't delete customers\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n","import React, { useRef, useEffect, useState } from \"react\";\r\n\r\nexport function CheckboxLargeWBFob({\r\n field,\r\n label,\r\n required,\r\n text,\r\n color = \"success\",\r\n disabled,\r\n Size,\r\n ...props\r\n}) {\r\n const RequiredHtml = () => {\r\n return (\r\n <i\r\n class=\"fa fa-star-of-life text-danger icon-l ml-2\"\r\n style={{ fontSize: \"8px\", position: \"absolute\" }}\r\n ></i>\r\n );\r\n };\r\n const inputEl = useRef(null);\r\n const [colorStat, setColorStat] = useState(\"success\");\r\n useEffect(() => {\r\n setColorStat(disabled ? \"secondary\" : color);\r\n }, [disabled]);\r\n return (\r\n <>\r\n {label && (\r\n <label>\r\n {\" \"}\r\n {label} {required && <RequiredHtml />}\r\n </label>\r\n )}\r\n\r\n <div className=\"d-flex align-items-center my-2 mr-3\" style={{float : \"right\"}}>\r\n <label\r\n className={`checkbox checkbox-lg checkbox-light-${colorStat} checkbox-single flex-shrink-0 m-0 mr-4`}\r\n >\r\n <input type=\"checkbox\" {...field} {...props} ref={inputEl} />\r\n <span></span>\r\n </label>\r\n <div className=\"d-flex flex-column flex-grow-1\">\r\n <a\r\n href=\"javascript:(void)\"\r\n className=\"text-dark-75 text-hover-primary font-weight-bold font-size-lg mb-1\"\r\n style={{ fontSize: Size }}\r\n onClick={() => inputEl.current.click()}\r\n >\r\n {text}\r\n </a>\r\n </div>\r\n </div>\r\n </>\r\n );\r\n}\r\n","import axios from \"axios\";\r\n\r\nexport const CUSTOMERS_URL = \"api/AllOrderBeta\";\r\n\r\n// CREATE => POST: add a new customer to the server\r\nexport function createCustomer(customer) {\r\n return axios.post(CUSTOMERS_URL, { customer });\r\n}\r\n\r\n// READ\r\nexport function getAllCustomers() {\r\n return axios.get(CUSTOMERS_URL);\r\n}\r\n\r\nexport function getCustomerById(customerId) {\r\n return axios.get(`${CUSTOMERS_URL}/${customerId}`);\r\n}\r\n\r\n// Method from server should return QueryResultsModel(items: any[], totalsCount: number)\r\n// items => filtered/sorted result\r\nexport function findCustomers(queryParams) {\r\n return axios.post(`${CUSTOMERS_URL}/find`, { queryParams });\r\n}\r\n\r\n// UPDATE => PUT: update the customer on the server\r\nexport function updateCustomer(customer) {\r\n return axios.put(`${CUSTOMERS_URL}/${customer.id}`, { customer });\r\n}\r\n\r\n// UPDATE Status\r\nexport function updateStatusForCustomers(ids, status) {\r\n return axios.post(`${CUSTOMERS_URL}/updateStatusForCustomers`, {\r\n ids,\r\n status\r\n });\r\n}\r\n\r\n// DELETE => delete the customer from the server\r\nexport function deleteCustomer(customerId) {\r\n return axios.delete(`${CUSTOMERS_URL}/${customerId}`);\r\n}\r\n\r\n// DELETE Customers by ids\r\nexport function deleteCustomers(ids) {\r\n return axios.post(`${CUSTOMERS_URL}/deleteCustomers`, { ids });\r\n}\r\n","import {createSlice} from \"@reduxjs/toolkit\";\r\n\r\nconst initialCustomersState = {\r\n listLoading: false,\r\n actionsLoading: false,\r\n totalCount: 0,\r\n entities: null,\r\n customerForEdit: undefined,\r\n lastError: null\r\n};\r\nexport const callTypes = {\r\n list: \"list\",\r\n action: \"action\"\r\n};\r\n\r\nexport const customersSlice = createSlice({\r\n name: \"customers\",\r\n initialState: initialCustomersState,\r\n reducers: {\r\n catchError: (state, action) => {\r\n state.error = `${action.type}: ${action.payload.error}`;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = false;\r\n } else {\r\n state.actionsLoading = false;\r\n }\r\n },\r\n startCall: (state, action) => {\r\n state.error = null;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = true;\r\n } else {\r\n state.actionsLoading = true;\r\n }\r\n },\r\n // getCustomerById\r\n customerFetched: (state, action) => {\r\n state.actionsLoading = false;\r\n state.customerForEdit = action.payload.customerForEdit;\r\n state.error = null;\r\n },\r\n // findCustomers\r\n customersFetched: (state, action) => {\r\n const { totalCount, entities } = action.payload;\r\n state.listLoading = false;\r\n state.error = null;\r\n state.entities = entities;\r\n state.totalCount = totalCount;\r\n },\r\n // createCustomer\r\n customerCreated: (state, action) => {\r\n state.actionsLoading = false;\r\n state.error = null;\r\n state.entities.push(action.payload.customer);\r\n },\r\n // updateCustomer\r\n customerUpdated: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.map(entity => {\r\n if (entity.id === action.payload.customer.id) {\r\n return action.payload.customer;\r\n }\r\n return entity;\r\n });\r\n },\r\n // deleteCustomer\r\n customerDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(el => el.id !== action.payload.id);\r\n },\r\n // deleteCustomers\r\n customersDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(\r\n el => !action.payload.ids.includes(el.id)\r\n );\r\n },\r\n // customersUpdateState\r\n customersStatusUpdated: (state, action) => {\r\n state.actionsLoading = false;\r\n state.error = null;\r\n const { ids, status } = action.payload;\r\n state.entities = state.entities.map(entity => {\r\n if (ids.findIndex(id => id === entity.id) > -1) {\r\n entity.status = status;\r\n }\r\n return entity;\r\n });\r\n }\r\n }\r\n});\r\n","import * as requestFromServer from \"./customersCrud\";\r\nimport {customersSlice, callTypes} from \"./customersSlice\";\r\n\r\nconst {actions} = customersSlice;\r\n\r\nexport const fetchCustomers = queryParams => dispatch => {\r\n dispatch(actions.startCall({ callType: callTypes.list }));\r\n return requestFromServer\r\n .findCustomers(queryParams)\r\n .then(response => {\r\n const { totalCount, entities } = response.data;\r\n dispatch(actions.customersFetched({ totalCount, entities }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't find customers\";\r\n dispatch(actions.catchError({ error, callType: callTypes.list }));\r\n });\r\n};\r\n\r\nexport const fetchCustomer = id => dispatch => {\r\n if (!id) {\r\n return dispatch(actions.customerFetched({ customerForEdit: undefined }));\r\n }\r\n\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .getCustomerById(id)\r\n .then(response => {\r\n const customer = response.data;\r\n dispatch(actions.customerFetched({ customerForEdit: customer }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't find customer\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const deleteCustomer = id => dispatch => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .deleteCustomer(id)\r\n .then(response => {\r\n dispatch(actions.customerDeleted({ id }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't delete customer\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const createCustomer = customerForCreation => dispatch => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .createCustomer(customerForCreation)\r\n .then(response => {\r\n const { customer } = response.data;\r\n dispatch(actions.customerCreated({ customer }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't create customer\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const updateCustomer = customer => dispatch => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .updateCustomer(customer)\r\n .then(() => {\r\n dispatch(actions.customerUpdated({ customer }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't update customer\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const updateCustomersStatus = (ids, status) => dispatch => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .updateStatusForCustomers(ids, status)\r\n .then(() => {\r\n dispatch(actions.customersStatusUpdated({ ids, status }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't update customers status\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const deleteCustomers = ids => dispatch => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .deleteCustomers(ids)\r\n .then(() => {\r\n dispatch(actions.customersDeleted({ ids }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't delete customers\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n","import React, { useState, useEffect } from \"react\";\r\nimport { Notification } from \"../../../../app/modules/Notification\";\r\nimport { Card } from \"react-bootstrap\";\r\nimport $ from \"jquery\";\r\nimport CreatableSelect from \"react-select/creatable\";\r\nimport { momentDate } from \"../../../_helpers/ATHelpers\";\r\nimport low from \"lowdb\";\r\nimport LocalStorage from \"lowdb/adapters/LocalStorage\";\r\nconst adapter = new LocalStorage(\"db\");\r\nconst db = low(adapter);\r\n\r\nexport function LulusHandlingExceptions({\r\n id,\r\n get,\r\n post,\r\n put,\r\n Categories,\r\n IsExceptionLulus,\r\n isLulusDashboard,\r\n exceptionId,\r\n saveNote\r\n}) {\r\n const [NotesList, setNotesList] = useState([]);\r\n const [CategorysList, setCategorysList] = useState([]);\r\n const [AccessLevels, setAccessLevels] = useState([]);\r\n const [NewText, setNewText] = useState(\"\");\r\n const [isSave, setisSave] = useState(\"\");\r\n useEffect(() => {\r\n console.log('saveNote');\r\n console.log(saveNote);\r\n if (saveNote) {\r\n FetchSaveNoteHandled();\r\n }\r\n }, [saveNote]);\r\n\r\n useEffect(() => {\r\n if (get && id) {\r\n async function fetchMyAPI() {\r\n if (isLulusDashboard && exceptionId) {\r\n getNots(exceptionId);\r\n } else {\r\n getNots();\r\n }\r\n GetExceptionsLists();\r\n }\r\n fetchMyAPI();\r\n }\r\n }, [get, id, exceptionId]);\r\n\r\n useEffect(() => {\r\n setCategorysList(Categories);\r\n }, [Categories]);\r\n\r\n async function GetNotes() {\r\n return await fetch(`${window.$apiurl}${get}`, {\r\n method: \"get\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then(async (res) => {\r\n return res[1];\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n async function FetchSaveNoteHandled() {\r\n console.log('NewText');\r\n console.log(NewText);\r\n if (NewText !== \"\") {\r\n if (\r\n isLulusDashboard &&\r\n (exceptionId === \"\" ||\r\n exceptionId === undefined ||\r\n exceptionId === null)\r\n ) {\r\n Notification(\r\n \"error\",\r\n \"You should Select Exception first to add a note\"\r\n );\r\n return false;\r\n }\r\n var a = await PostNote(\r\n NewText,\r\n window.$NoteCategoryId,\r\n window.$NoteAccessLevelId\r\n );\r\n getNots(exceptionId);\r\n setTimeout(() => {\r\n setNewText(\"\");\r\n $(\"#NewTextNots\").val(\"\");\r\n }, 50);\r\n }\r\n }\r\n //Exception Get List API\r\n const [exceptionsLists, setExceptionsList] = useState([]);\r\n async function GetExceptionsLists() {\r\n return await fetch(\r\n `${window.$apiurl}/sku/exceptions?id=${id}&isActive=null`,\r\n {\r\n method: \"get\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n }\r\n )\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then(async (res) => {\r\n const currentList = res[1];\r\n const list = [];\r\n currentList.map((item) => {\r\n list.push({\r\n value: item.RequestId,\r\n label: `Exception #: ${item.RequestId}`,\r\n });\r\n });\r\n setExceptionsList(list);\r\n return res[1];\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n async function PostNote(bodytext, cat, accessLevelId) {\r\n return await fetch(`${window.$apiurl}${post}`, {\r\n method: \"post\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify({\r\n ExceptionId:\r\n exceptionId !== undefined ? exceptionId : selectedException.value,\r\n Body: bodytext,\r\n CategoryId: cat || (IsExceptionLulus ? 4 : \"\"),\r\n AccessLevelId: accessLevelId || (IsExceptionLulus ? 4 : \"\"),\r\n }),\r\n })\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then(async (res) => {\r\n Notification(\"success\", \"Note has been saved\");\r\n })\r\n .catch((error) => {\r\n Notification(\"success\", \"Note has been saved\");\r\n });\r\n }\r\n\r\n function CardFunction({ x, index }) {\r\n const [Showing, setShowing] = useState(false);\r\n const [Text, setText] = useState(\"\");\r\n const [Category, setCategory] = useState(\"\");\r\n const [categoryPut, setCategoryPut] = useState({\r\n value: \"4\",\r\n label: \"Exception\",\r\n });\r\n\r\n const [titleBtnDeletePut, setTitleBtnDeletePut] = useState(\"Delete\");\r\n\r\n async function PutNote(id, bodytext, CategoryId) {\r\n return await fetch(`${window.$apiurl}${put}${id}`, {\r\n method: \"put\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify({ body: bodytext, CategoryId: CategoryId , AccessLevelId : 4 }),\r\n })\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then(async (res) => {\r\n Notification(\"success\", \"Note has been saved\");\r\n setShowing(false);\r\n })\r\n .catch((error) => {\r\n Notification(\"success\", \"Note has been saved\");\r\n setShowing(false);\r\n });\r\n }\r\n\r\n return (\r\n <>\r\n <Card\r\n className={\r\n \"mb-2 m-auto border-secondary \" + (index % 2 === 0 && \"bg-light\")\r\n }\r\n >\r\n <Card.Body>\r\n <Card.Title className=\"d-inline mr-5\">\r\n <i class=\"fas fa-user mr-2\"></i> {x?.CreatedBy}\r\n </Card.Title>\r\n <span className=\"mb-2 text-primary d-inline\">\r\n {momentDate(x?.CreatedAt)}\r\n </span>\r\n <br />\r\n {x?.CategoryId !== null &&\r\n CategorysList.find((y) => y.Id === x?.CategoryId)?.Name !==\r\n undefined && (\r\n <div className=\"mb-2 mt-3 text-muted\">\r\n <i class=\"fas fa-book mr-2\"></i>{\" \"}\r\n {CategorysList.find((y) => y.Id === x?.CategoryId)?.Name}\r\n </div>\r\n )}\r\n <Card.Text className=\"mt-5 ml-5\">\r\n {!Showing && (!Text ? x?.Body : Text)}\r\n {Showing && (\r\n <>\r\n <div className=\"mb-5\">\r\n <label>Select Category</label>\r\n <CreatableSelect\r\n name=\"CategoryId\"\r\n label=\"Select Category\"\r\n value={categoryPut}\r\n options={CategorysList.map((x) => {\r\n return {\r\n value: x?.Id,\r\n label: x?.Name,\r\n };\r\n })}\r\n onChange={(newValue) => {\r\n var a = newValue?.value;\r\n setCategory(a);\r\n setCategoryPut(newValue);\r\n }}\r\n />\r\n </div>\r\n <div>\r\n <label>Text</label>\r\n <textarea\r\n className=\"form-control mb-5\"\r\n rows=\"4\"\r\n defaultValue={!Text ? x?.Body : Text}\r\n onBlur={(event) => {\r\n setText(event.target.value);\r\n }}\r\n ></textarea>\r\n </div>\r\n </>\r\n )}\r\n </Card.Text>\r\n {db.getState().User?.Email === x?.UserEmail && (\r\n <div\r\n className=\"text-right\"\r\n style={{ position: \"absolute\", bottom: \"20px\", right: \"10px\" }}\r\n >\r\n <button\r\n type=\"button\"\r\n class=\"btn btn-light-primary mr-2\"\r\n onClick={async () => {\r\n if (Showing) {\r\n await PutNote(\r\n x?.Id,\r\n Text === \"\" ? x?.Body : Text,\r\n Category === \"\" ? x?.CategoryId : Category\r\n );\r\n getNots(exceptionId);\r\n } else {\r\n setTitleBtnDeletePut(\"Close\");\r\n setShowing(true);\r\n }\r\n }}\r\n >\r\n {!Showing && (\r\n <>\r\n <i class=\"fas fa-edit mr-2\"></i> Edit\r\n </>\r\n )}\r\n {Showing && (\r\n <>\r\n <i class=\"fas fa-save mr-2\"></i> Save\r\n </>\r\n )}\r\n </button>\r\n {db.getState().User?.Email === x?.UserEmail && (\r\n <button\r\n type=\"button\"\r\n class=\"btn btn-light-danger mr-2 ml-3\"\r\n onClick={async () => {\r\n if (titleBtnDeletePut === \"Delete\") {\r\n await DeleteNote(x?.Id);\r\n Notification(\"success\", \"Note is Deleted successfully\");\r\n getNots(exceptionId);\r\n } else {\r\n setTitleBtnDeletePut(\"Delete\");\r\n setShowing(false);\r\n }\r\n }}\r\n >\r\n {titleBtnDeletePut === \"Delete\" && (\r\n <i class=\"fas fa-trash mr-2\"></i>\r\n )}\r\n {titleBtnDeletePut === \"Close\" && (\r\n <i class=\"fas fa-times\"></i>\r\n )}\r\n {titleBtnDeletePut}\r\n </button>\r\n )}\r\n </div>\r\n )}\r\n </Card.Body>\r\n </Card>\r\n <br />\r\n </>\r\n );\r\n }\r\n async function getNots(exceptionId) {\r\n var a = await GetNotes();\r\n setNotesList(\r\n a?.Notes.filter(\r\n (x) => x.AccessLevelId === 4 && x.ExceptionId === exceptionId\r\n ) || []\r\n );\r\n setCategorysList(a?.Categories || []);\r\n setAccessLevels(a?.AccessLevels || []);\r\n }\r\n\r\n async function DeleteNote(id) {\r\n return await fetch(`${window.$apiurl}/generic/notes/${id}`, {\r\n method: \"Delete\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then(async (res) => {\r\n })\r\n .catch((err) => {\r\n console.error(err);\r\n // Notification(\"error\", \"Invalid request\");\r\n });\r\n }\r\n const [selectedAccessLevel, setSelectedAccessLevel] = useState({\r\n value: \"\",\r\n label: \"Select\",\r\n });\r\n const [selectedCategory, setCategoryPost] = useState({\r\n value: \"\",\r\n label: \"Select\",\r\n });\r\n const [selectedException, setExceptionPost] = useState({\r\n value: \"\",\r\n label: \"Select\",\r\n });\r\n\r\n return (\r\n <>\r\n {/* <div className=\" m-auto mb-5\">\r\n <button\r\n type=\"button\"\r\n class=\"btn btn-light-primary mr-2 w-100 mb-5\"\r\n onClick={async () => {\r\n $(\".NotesId\").toggle(\"slow\");\r\n if (IsExceptionLulus && id) {\r\n await GetExceptionsLists();\r\n }\r\n }}\r\n >\r\n <i class=\"fas fa-plus mr-2\"></i> Add New Note\r\n </button>\r\n </div> */}\r\n\r\n <div className=\" m-auto mb-5 NotesId\">\r\n <label>Text</label>\r\n <textarea\r\n className=\"form-control mb-5\"\r\n rows=\"4\"\r\n id=\"NewTextNots\"\r\n onBlur={(e) => setNewText(e.target.value)}\r\n ></textarea>\r\n <div className=\"row\">\r\n <div\r\n className={\r\n IsExceptionLulus && !isLulusDashboard\r\n ? \"col-lg-3 mb-5 w-100 mt-5\"\r\n : \"mb-5 col-lg-6 w-100 mt-5\"\r\n }\r\n >\r\n <label>Select Category</label>\r\n <CreatableSelect\r\n name=\"CategoryId\"\r\n label=\"Select Category\"\r\n value={\r\n IsExceptionLulus && selectedCategory.value === \"\"\r\n ? { value: 4, label: \"Exception\" }\r\n : selectedCategory\r\n }\r\n options={CategorysList.map((x) => {\r\n return {\r\n value: x?.Id,\r\n label: x?.Name,\r\n };\r\n })}\r\n onChange={(newValue) => {\r\n var a = newValue?.value;\r\n window.$NoteCategoryId = a;\r\n setisSave(a);\r\n setCategoryPost(newValue);\r\n }}\r\n />\r\n </div>\r\n\r\n <div\r\n className={\r\n IsExceptionLulus && !isLulusDashboard\r\n ? \"col-lg-3 mb-5 w-100 mt-5\"\r\n : \"mb-5 col-lg-6 w-100 mt-5\"\r\n }\r\n >\r\n <label>Access Level</label>\r\n <CreatableSelect\r\n name=\"AccessLevelId\"\r\n id=\"AccessLevelId\"\r\n label=\"Access Level\"\r\n options={AccessLevels.map((x) => {\r\n return {\r\n value: x?.Id,\r\n label: x?.Name,\r\n };\r\n })}\r\n value={\r\n IsExceptionLulus && selectedAccessLevel.value === \"\"\r\n ? { value: 4, label: \"Public\" }\r\n : selectedAccessLevel\r\n }\r\n onChange={(newValue) => {\r\n var a = newValue?.value;\r\n window.$NoteAccessLevelId = a;\r\n setisSave(a);\r\n setSelectedAccessLevel(newValue);\r\n }}\r\n placeholder=\"Access Level\"\r\n />\r\n </div>\r\n {/* <div\r\n className={\r\n IsExceptionLulus && !isLulusDashboard\r\n ? \"m-auto col-lg-3 text-center\"\r\n : \"m-auto col-lg-4 text-center\"\r\n }\r\n >\r\n <label className=\"text-white\">.</label>\r\n <button\r\n type=\"button\"\r\n class=\"btn btn-light-success mr-2 w-100 mb-5 m-auto\"\r\n onClick={async () => {\r\n if (NewText === \"\") Notification(\"warning\", \"Text is Empty\");\r\n else {\r\n if (\r\n isLulusDashboard &&\r\n (exceptionId === \"\" ||\r\n exceptionId === undefined ||\r\n exceptionId === null)\r\n ) {\r\n Notification(\"error\",\"You should Select Exception first to add a note\");\r\n return false;\r\n }\r\n var a = await PostNote(\r\n NewText,\r\n window.$NoteCategoryId,\r\n window.$NoteAccessLevelId\r\n );\r\n getNots(exceptionId);\r\n setTimeout(() => {\r\n setNewText(\"\");\r\n $(\".NotesId\").toggle(\"slow\");\r\n $(\"#NewTextNots\").val(\"\");\r\n }, 50);\r\n }\r\n }}\r\n >\r\n <i class=\"fas fa-save mr-2\"></i> Save\r\n </button>\r\n </div> */}\r\n </div>\r\n <br />\r\n <br />\r\n <br />\r\n <br />\r\n </div>\r\n\r\n {NotesList?.map((x, index) => (\r\n <CardFunction x={x} key={index} index={index} New={() => getNots()} />\r\n ))}\r\n </>\r\n );\r\n}\r\n","import React from \"react\";\r\nimport {useField, useFormikContext} from \"formik\";\r\nimport DatePicker from \"react-datepicker\";\r\n\r\nconst getFieldCSSClasses = (touched, errors) => {\r\n const classes = [\"form-control\"];\r\n if (touched && errors) {\r\n classes.push(\"is-invalid\");\r\n }\r\n\r\n if (touched && !errors) {\r\n classes.push(\"is-valid\");\r\n }\r\n\r\n return classes.join(\" \");\r\n};\r\n\r\nexport function DatePickerField({ ...props }) {\r\n const { setFieldValue, errors, touched } = useFormikContext();\r\n const [field] = useField(props);\r\n return (\r\n <>\r\n {props.label && <label>{props.label}</label>}\r\n <DatePicker\r\n className={getFieldCSSClasses(touched[field.name], errors[field.name])}\r\n style={{ width: \"100%\" }}\r\n {...field}\r\n {...props}\r\n selected={(field.value && new Date(field.value)) || null}\r\n onChange={val => {\r\n setFieldValue(field.name, val);\r\n }}\r\n />\r\n {errors[field.name] && touched[field.name] ? (\r\n <div className=\"invalid-datepicker-feedback\">\r\n {errors[field.name].toString()}\r\n </div>\r\n ) : (\r\n <div className=\"feedback\">\r\n Please enter <b>{props.label}</b> in 'mm/dd/yyyy' format\r\n </div>\r\n )}\r\n </>\r\n );\r\n}\r\n","import React from \"react\";\r\n\r\nconst inputLabel = ({ label, touched, error, customFeedbackLabel }) => {\r\n if (touched && error) {\r\n return <div className=\"invalid-feedback\">{error}</div>;\r\n }\r\n\r\n if (touched && !error && label) {\r\n return <div className=\"valid-feedback\">{label} was entered correct</div>;\r\n }\r\n\r\n return (\r\n <div className=\"feedback\">\r\n {customFeedbackLabel && <>{customFeedbackLabel}</>}\r\n {!customFeedbackLabel && (\r\n <>\r\n <b>{label}</b>\r\n </>\r\n )}\r\n </div>\r\n );\r\n};\r\n\r\nconst selectLabel = ({ label, touched, error, customFeedbackLabel }) => {\r\n if (touched && error) {\r\n return <div className=\"invalid-feedback\">{error}</div>;\r\n }\r\n\r\n return (\r\n <div className=\"feedback\">\r\n {customFeedbackLabel && <>{customFeedbackLabel}</>}\r\n {!customFeedbackLabel && label && (\r\n <>\r\n Please select <b>{label}</b>\r\n </>\r\n )}\r\n </div>\r\n );\r\n};\r\n\r\nexport function FieldFeedbackLabel({\r\n label,\r\n touched,\r\n error,\r\n type,\r\n customFeedbackLabel\r\n}) {\r\n switch (type) {\r\n case \"text\":\r\n return inputLabel({ label, touched, error, customFeedbackLabel });\r\n case \"email\":\r\n return inputLabel({ label, touched, error, customFeedbackLabel });\r\n case \"password\":\r\n return inputLabel({ label, touched, error, customFeedbackLabel });\r\n default:\r\n return selectLabel({ label, touched, error, customFeedbackLabel });\r\n }\r\n}\r\n","import React from \"react\";\r\nimport { FieldFeedbackLabel } from \"./FieldFeedbackLabel\";\r\n\r\nconst getFieldCSSClasses = (touched, errors) => {\r\n const classes = [\"form-control\"];\r\n if (touched && errors) {\r\n classes.push(\"is-invalid\");\r\n }\r\n\r\n if (touched && !errors) {\r\n classes.push(\"is-valid\");\r\n }\r\n\r\n return classes.join(\" \");\r\n};\r\n\r\nexport function Input({\r\n field, // { name, value, onChange, onBlur }\r\n form: { touched, errors }, // also values, setXXXX, handleXXXX, dirty, isValid, status, etc.\r\n label,\r\n span,\r\n withFeedbackLabel = true,\r\n customFeedbackLabel,\r\n type = \"text\",\r\n required,\r\n ClassLabel,\r\n ...props\r\n}) {\r\n const RequiredHtml = () => {\r\n return (\r\n <i\r\n class=\"fa fa-star-of-life text-danger icon-l ml-2\"\r\n style={{ fontSize: \"8px\", position: \"absolute\" }}\r\n ></i>\r\n );\r\n };\r\n\r\n return (\r\n <>\r\n {label && (\r\n <label className={ClassLabel}>\r\n {label} {required && <RequiredHtml />}\r\n {span && (\r\n <small className=\"alert alert-warning text-dark p-0 pl-2 pr-2\">\r\n {\" \"}\r\n {span}\r\n </small>\r\n )}\r\n </label>\r\n )}\r\n <input\r\n type={type}\r\n className={getFieldCSSClasses(touched[field.name], errors[field.name])}\r\n {...field}\r\n {...props}\r\n />\r\n {withFeedbackLabel && (\r\n <FieldFeedbackLabel\r\n error={errors[field.name]}\r\n touched={touched[field.name]}\r\n type={type}\r\n customFeedbackLabel={customFeedbackLabel}\r\n />\r\n )}\r\n </>\r\n );\r\n}\r\n","import React from \"react\";\r\nimport { FieldFeedbackLabel } from \"./FieldFeedbackLabel\";\r\n\r\nconst getFieldCSSClasses = (touched, errors) => {\r\n const classes = [\"form-control\"];\r\n if (touched && errors) {\r\n classes.push(\"is-invalid\");\r\n }\r\n\r\n if (touched && !errors) {\r\n classes.push(\"is-valid\");\r\n }\r\n\r\n return classes.join(\" \");\r\n};\r\n\r\nexport function TextArea({\r\n field, // { name, value, onChange, onBlur }\r\n form: { touched, errors }, // also values, setXXXX, handleXXXX, dirty, isValid, status, etc.\r\n label,\r\n span,\r\n withFeedbackLabel = true,\r\n customFeedbackLabel,\r\n type = \"text\",\r\n required,\r\n ClassLabel,\r\n ...props\r\n}) {\r\n const RequiredHtml = () => {\r\n return (\r\n <i\r\n class=\"fa fa-star-of-life text-danger icon-l ml-2\"\r\n style={{ fontSize: \"8px\", position: \"absolute\" }}\r\n ></i>\r\n );\r\n };\r\n\r\n return (\r\n <>\r\n {label && (\r\n <label className={ClassLabel}>\r\n {label} {required && <RequiredHtml />}\r\n {span && (\r\n <small className=\"alert alert-warning text-dark p-0 pl-2 pr-2\">\r\n {\" \"}\r\n {span}\r\n </small>\r\n )}\r\n </label>\r\n )}\r\n <textarea\r\n type={type}\r\n className={getFieldCSSClasses(touched[field.name], errors[field.name])}\r\n {...field}\r\n {...props}\r\n />\r\n {withFeedbackLabel && (\r\n <FieldFeedbackLabel\r\n error={errors[field.name]}\r\n touched={touched[field.name]}\r\n type={type}\r\n customFeedbackLabel={customFeedbackLabel}\r\n />\r\n )}\r\n </>\r\n );\r\n}\r\n","import React from \"react\";\r\nimport { useField } from \"formik\";\r\nimport { FieldFeedbackLabel } from \"./FieldFeedbackLabel\";\r\n\r\nconst getFieldCSSClasses = (touched, errors) => {\r\n const classes = [\"form-control\", \"form-control-solid\"];\r\n if (touched && errors) {\r\n classes.push(\"border border-danger\");\r\n }\r\n\r\n if (touched && !errors) {\r\n classes.push(\"border border-success\");\r\n }\r\n\r\n return classes.join(\" \");\r\n};\r\n\r\nexport function Select({\r\n label,\r\n withFeedbackLabel = true,\r\n type = \"text\",\r\n customFeedbackLabel,\r\n children,\r\n required,\r\n ...props\r\n}) {\r\n const [field, meta] = useField(props);\r\n const { touched, error } = meta;\r\n const RequiredHtml = () => {\r\n return (\r\n <i\r\n class=\"fa fa-star-of-life text-danger icon-l ml-2\"\r\n style={{ fontSize: \"8px\", position: \"absolute\" }}\r\n ></i>\r\n );\r\n };\r\n return (\r\n <>\r\n {label && (\r\n <label>\r\n {label} {required && <RequiredHtml />}\r\n </label>\r\n )}\r\n <select\r\n className={getFieldCSSClasses(touched, error)}\r\n {...field}\r\n {...props}\r\n required={required}\r\n >\r\n {children}\r\n </select>\r\n {withFeedbackLabel && (\r\n <FieldFeedbackLabel\r\n erros={error}\r\n touched={touched}\r\n customFeedbackLabel={customFeedbackLabel}\r\n />\r\n )}\r\n {error && touched && (\r\n <div style={{ color: \"red\", fontSize: \"12px\" }}>{error}</div>\r\n )}\r\n </>\r\n );\r\n}\r\n","import React from \"react\";\r\nimport { useField } from \"formik\";\r\nimport { FieldFeedbackLabel } from \"./FieldFeedbackLabel\";\r\nimport { RadioGroup } from \"@material-ui/core\";\r\n\r\nconst getFieldCSSClasses = (touched, errors) => {\r\n const classes = [];\r\n if (touched && errors) {\r\n classes.push(\"is-invalid-select\");\r\n }\r\n\r\n if (touched && !errors) {\r\n classes.push(\"is-valid-select\");\r\n }\r\n\r\n return classes.join(\" \");\r\n};\r\n\r\nexport function RadioButton({\r\n label,\r\n withFeedbackLabel = true,\r\n type = \"text\",\r\n customFeedbackLabel,\r\n children,\r\n required,\r\n ...props\r\n}) {\r\n const [field, meta] = useField(props);\r\n const { touched, error } = meta;\r\n const RequiredHtml = () => {\r\n return (\r\n <i\r\n class=\"fa fa-star-of-life text-danger icon-l ml-2\"\r\n style={{ fontSize: \"8px\", position: \"absolute\" }}\r\n ></i>\r\n );\r\n };\r\n return (\r\n <>\r\n {label && (\r\n <label>\r\n {label} {required && <RequiredHtml />}\r\n </label>\r\n )}\r\n <RadioGroup\r\n className={getFieldCSSClasses(touched, error)}\r\n {...field}\r\n {...props}\r\n >\r\n {children}\r\n </RadioGroup>\r\n\r\n {withFeedbackLabel && (\r\n <FieldFeedbackLabel\r\n erros={error}\r\n touched={touched}\r\n customFeedbackLabel={customFeedbackLabel}\r\n />\r\n )}\r\n </>\r\n );\r\n}\r\n","import React from \"react\";\r\n\r\nexport function Checkbox({ isSelected, onChange, children }) {\r\n return (\r\n <>\r\n <input type=\"checkbox\" style={{display: \"none\"}} />\r\n <label className=\"checkbox checkbox-lg checkbox-single\">\r\n <input type=\"checkbox\" checked={isSelected} onChange={onChange} />\r\n {children}\r\n <span />\r\n </label>\r\n </>\r\n );\r\n}\r\n","import React, { useRef, useEffect, useState } from \"react\";\r\n\r\nexport function CheckboxLarge({\r\n field,\r\n label,\r\n required,\r\n text,\r\n marginTop = \"mt-2\",\r\n color = \"success\",\r\n disabled,\r\n Size,\r\n ...props\r\n}) {\r\n const RequiredHtml = () => {\r\n return (\r\n <i\r\n class=\"fa fa-star-of-life text-danger icon-l ml-2\"\r\n style={{ fontSize: \"8px\", position: \"absolute\" }}\r\n ></i>\r\n );\r\n };\r\n const inputEl = useRef(null);\r\n const [colorStat, setColorStat] = useState(\"success\");\r\n useEffect(() => {\r\n setColorStat(disabled ? \"secondary\" : color);\r\n }, [disabled]);\r\n return (\r\n <>\r\n {label && (\r\n <label>\r\n {\" \"}\r\n {label} {required && <RequiredHtml />}\r\n </label>\r\n )}\r\n\r\n <div className={\"d-flex align-items-center \" + marginTop}>\r\n <span\r\n className={`bullet bullet-bar bg-${colorStat} align-self-stretch`}\r\n ></span>\r\n <label\r\n className={`checkbox checkbox-lg checkbox-light-${colorStat} checkbox-single flex-shrink-0 m-0 mx-4`}\r\n >\r\n <input type=\"checkbox\" {...field} {...props} ref={inputEl} />\r\n <span></span>\r\n </label>\r\n <div className=\"d-flex flex-column flex-grow-1\">\r\n <a\r\n href=\"javascript:(void)\"\r\n className=\"text-dark-75 text-hover-primary font-weight-bold font-size-lg mb-1\"\r\n style={{ fontSize: Size }}\r\n onClick={() => inputEl.current.click()}\r\n >\r\n {text}\r\n </a>\r\n </div>\r\n </div>\r\n </>\r\n );\r\n}\r\n","import React, { useRef, useEffect, useState } from \"react\";\r\n\r\nexport function CheckboxLargeWB({\r\n field,\r\n label,\r\n required,\r\n text,\r\n color = \"success\",\r\n disabled,\r\n Size,\r\n isTms,\r\n ...props\r\n}) {\r\n const RequiredHtml = () => {\r\n return (\r\n <i\r\n class=\"fa fa-star-of-life text-danger icon-l ml-2\"\r\n style={{ fontSize: \"8px\", position: \"absolute\" }}\r\n ></i>\r\n );\r\n };\r\n const inputEl = useRef(null);\r\n const [colorStat, setColorStat] = useState(\"success\");\r\n useEffect(() => {\r\n setColorStat(disabled ? \"secondary\" : color);\r\n }, [disabled]);\r\n return (\r\n <>\r\n {label && (\r\n <label>\r\n {\" \"}\r\n {label} {required && <RequiredHtml />}\r\n </label>\r\n )}\r\n\r\n <div className=\"d-flex align-items-center my-2 mr-3\">\r\n <label\r\n className={`checkbox checkbox-lg checkbox-light-${isTms===true? disabled?\"secondary\":\"info\":colorStat} checkbox-single flex-shrink-0 m-0 mr-4`}\r\n >\r\n <input type=\"checkbox\" {...field} {...props} ref={inputEl} />\r\n <span></span>\r\n </label>\r\n <div className=\"d-flex flex-column flex-grow-1\">\r\n <a\r\n href=\"javascript:(void)\"\r\n className=\"text-dark-75 text-hover-primary font-weight-bold font-size-lg mb-1\"\r\n style={{ fontSize: Size }}\r\n onClick={() => inputEl.current.click()}\r\n >\r\n {text}\r\n </a>\r\n </div>\r\n </div>\r\n </>\r\n );\r\n}\r\n","import React, { useEffect } from \"react\";\r\nimport clsx from \"clsx\";\r\nimport Select from \"react-select\";\r\nimport { emphasize, makeStyles, useTheme } from \"@material-ui/core/styles\";\r\nimport Typography from \"@material-ui/core/Typography\";\r\nimport NoSsr from \"@material-ui/core/NoSsr\";\r\nimport TextField from \"@material-ui/core/TextField\";\r\nimport Paper from \"@material-ui/core/Paper\";\r\nimport Chip from \"@material-ui/core/Chip\";\r\nimport MenuItem from \"@material-ui/core/MenuItem\";\r\nimport CancelIcon from \"@material-ui/icons/Cancel\";\r\nimport PropTypes from \"prop-types\";\r\nimport { Field } from \"formik\";\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n root: {\r\n flexGrow: 1,\r\n },\r\n input: {\r\n display: \"flex\",\r\n padding: 0,\r\n height: \"auto\",\r\n },\r\n valueContainer: {\r\n display: \"flex\",\r\n flexWrap: \"wrap\",\r\n flex: 1,\r\n alignItems: \"center\",\r\n overflow: \"hidden\",\r\n },\r\n chip: {\r\n margin: theme.spacing(0.5, 0.25),\r\n },\r\n chipFocused: {\r\n backgroundColor: emphasize(\r\n theme.palette.type === \"light\"\r\n ? theme.palette.grey[300]\r\n : theme.palette.grey[700],\r\n 0.08\r\n ),\r\n },\r\n noOptionsMessage: {\r\n padding: theme.spacing(1, 2),\r\n },\r\n singleValue: {\r\n fontSize: 14,\r\n },\r\n placeholder: {\r\n position: \"absolute\",\r\n left: 2,\r\n bottom: 6,\r\n fontSize: 14,\r\n },\r\n paper: {\r\n position: \"absolute\",\r\n zIndex: 1,\r\n marginTop: theme.spacing(1),\r\n left: 0,\r\n right: 0,\r\n },\r\n divider: {\r\n height: theme.spacing(2),\r\n },\r\n}));\r\n\r\nfunction NoOptionsMessage(props) {\r\n return (\r\n <Typography\r\n color=\"textSecondary\"\r\n className={props.selectProps.classes.noOptionsMessage}\r\n {...props.innerProps}\r\n >\r\n {props.children}\r\n </Typography>\r\n );\r\n}\r\n\r\nNoOptionsMessage.propTypes = {\r\n children: PropTypes.node,\r\n innerProps: PropTypes.object,\r\n selectProps: PropTypes.object.isRequired,\r\n};\r\n\r\nfunction inputComponent({ inputRef, ...props }) {\r\n return <div ref={inputRef} {...props} />;\r\n}\r\n\r\ninputComponent.propTypes = {\r\n inputRef: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\r\n};\r\n\r\nfunction Control(props) {\r\n const {\r\n children,\r\n innerProps,\r\n innerRef,\r\n selectProps: { classes, TextFieldProps },\r\n } = props;\r\n\r\n return (\r\n <TextField\r\n fullWidth\r\n InputProps={{\r\n inputComponent,\r\n inputProps: {\r\n className: classes.input,\r\n ref: innerRef,\r\n children,\r\n ...innerProps,\r\n },\r\n }}\r\n {...TextFieldProps}\r\n />\r\n );\r\n}\r\n\r\nControl.propTypes = {\r\n children: PropTypes.node,\r\n innerProps: PropTypes.object,\r\n innerRef: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\r\n selectProps: PropTypes.object.isRequired,\r\n};\r\n\r\nfunction Option(props) {\r\n return (\r\n <MenuItem\r\n ref={props.innerRef}\r\n selected={props.isFocused}\r\n component=\"div\"\r\n style={{\r\n fontWeight: props.isSelected ? 500 : 400,\r\n }}\r\n {...props.innerProps}\r\n >\r\n {props.children}\r\n </MenuItem>\r\n );\r\n}\r\n\r\nOption.propTypes = {\r\n children: PropTypes.node,\r\n innerProps: PropTypes.object,\r\n innerRef: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\r\n isFocused: PropTypes.bool,\r\n isSelected: PropTypes.bool,\r\n};\r\n\r\nfunction Placeholder(props) {\r\n return (\r\n <Typography\r\n color=\"textSecondary\"\r\n className={props.selectProps.classes.placeholder}\r\n {...props.innerProps}\r\n >\r\n {props.children}\r\n </Typography>\r\n );\r\n}\r\n\r\nPlaceholder.propTypes = {\r\n children: PropTypes.node,\r\n innerProps: PropTypes.object,\r\n selectProps: PropTypes.object.isRequired,\r\n};\r\n\r\nfunction SingleValue(props) {\r\n return (\r\n <Typography\r\n className={props.selectProps.classes.singleValue}\r\n {...props.innerProps}\r\n >\r\n {props.children}\r\n </Typography>\r\n );\r\n}\r\n\r\nSingleValue.propTypes = {\r\n children: PropTypes.node,\r\n innerProps: PropTypes.object,\r\n selectProps: PropTypes.object.isRequired,\r\n};\r\n\r\nfunction ValueContainer(props) {\r\n return (\r\n <div className={props.selectProps.classes.valueContainer}>\r\n {props.children}\r\n </div>\r\n );\r\n}\r\n\r\nValueContainer.propTypes = {\r\n children: PropTypes.node,\r\n selectProps: PropTypes.object.isRequired,\r\n};\r\n\r\nfunction MultiValue(props) {\r\n return (\r\n <Chip\r\n tabIndex={-1}\r\n label={props.children}\r\n className={clsx(props.selectProps.classes.chip, {\r\n [props.selectProps.classes.chipFocused]: props.isFocused,\r\n })}\r\n onDelete={props.removeProps.onClick}\r\n deleteIcon={<CancelIcon {...props.removeProps} />}\r\n />\r\n );\r\n}\r\n\r\nMultiValue.propTypes = {\r\n children: PropTypes.node,\r\n isFocused: PropTypes.bool,\r\n removeProps: PropTypes.object.isRequired,\r\n selectProps: PropTypes.object.isRequired,\r\n};\r\n\r\nfunction Menu(props) {\r\n return (\r\n <Paper\r\n square\r\n className={props.selectProps.classes.paper}\r\n {...props.innerProps}\r\n >\r\n {props.children}\r\n </Paper>\r\n );\r\n}\r\n\r\nMenu.propTypes = {\r\n children: PropTypes.node,\r\n innerProps: PropTypes.object,\r\n selectProps: PropTypes.object,\r\n};\r\n\r\nconst components = {\r\n Control,\r\n Menu,\r\n MultiValue,\r\n NoOptionsMessage,\r\n Option,\r\n Placeholder,\r\n SingleValue,\r\n ValueContainer,\r\n};\r\n\r\nexport function DownshiftMultipleSelect({\r\n suggestions,\r\n setFieldValue,\r\n handleSubmit,\r\n FieldName,\r\n DefalutValue,\r\n}) {\r\n const classes = useStyles();\r\n const theme = useTheme();\r\n const [single, setSingle] = React.useState(DefalutValue || null);\r\n const [suggestionStat, setsuggestionStat] = React.useState([]);\r\n useEffect(() => {\r\n var a = [{ value: 0, label: \"ALL\" }];\r\n try{\r\n if (suggestions) {\r\n suggestions.map((suggestion) => {\r\n a.push({\r\n value: suggestion.Id,\r\n label: suggestion.Name,\r\n });\r\n });\r\n }\r\n }catch(err) {}\r\n setsuggestionStat(a);\r\n }, [suggestions]);\r\n useEffect(() => {\r\n if (single != null) {\r\n setFieldValue(FieldName, single.value);\r\n if (handleSubmit) handleSubmit();\r\n }\r\n }, [single]);\r\n\r\n useEffect(() => {\r\n if (DefalutValue != null && DefalutValue.value) {\r\n handleChangeSingle(DefalutValue);\r\n }\r\n }, [DefalutValue]);\r\n\r\n function handleChangeSingle(value) {\r\n setSingle(value);\r\n }\r\n const selectStyles = {\r\n input: (base) => ({\r\n ...base,\r\n color: theme.palette.text.primary,\r\n \"& input\": {\r\n font: \"inherit\",\r\n },\r\n }),\r\n };\r\n return (\r\n <div className={classes.root}>\r\n <NoSsr>\r\n <Select\r\n options={suggestionStat}\r\n value={single}\r\n onChange={handleChangeSingle}\r\n />\r\n </NoSsr>\r\n </div>\r\n );\r\n}\r\n","import React, { useEffect, useState } from \"react\";\r\nimport TextField from \"@material-ui/core/TextField\";\r\nimport $ from \"jquery\";\r\nimport Select from \"react-select\";\r\nimport { momentDate, PostMomentDate, timeList } from \"../../../_helpers/ATHelpers\";\r\n\r\nfunction minOr30(h) {\r\n try {\r\n let a = h?.split(\":\");\r\n let b = parseInt(a[1]);\r\n let c = 15 < b && b < 45 ? \"30\" : \"00\";\r\n return `${a[0]}:${c}:00`;\r\n } catch (err) {\r\n return \"00:00:00\";\r\n }\r\n}\r\n\r\nfunction twoDigit(number) {\r\n var twodigit = number >= 10 ? number : \"0\" + number.toString();\r\n return twodigit;\r\n}\r\n\r\nexport function DateTime30({\r\n field,\r\n label,\r\n span,\r\n withFeedbackLabel = true,\r\n customFeedbackLabel,\r\n type = \"text\",\r\n IdName = \"\",\r\n required,\r\n ClassLabel,\r\n setFieldValue,\r\n defaultvalue,\r\n Time = true,\r\n ...props\r\n}) {\r\n const { name, disabled, idInput, onChange } = props;\r\n const [valueSelect, setvalueSelect] = useState(\"00:00:00\");\r\n const [valueDate, setvalueDate] = useState();\r\n\r\n useEffect(() => {\r\n if (defaultvalue) {\r\n var curr = new Date(momentDate(defaultvalue));\r\n var date = `${curr.getFullYear()}-${twoDigit(\r\n curr.getMonth() + 1\r\n )}-${twoDigit(curr.getDate())}`;\r\n var date2 = twoDigit(curr.getHours()) + \":\" + twoDigit(curr.getMinutes());\r\n date2 = minOr30(date2);\r\n if (date) $(`#${name + IdName}DateId`).val(date);\r\n if (date2) setvalueSelect(timeList.find((x) => x?.value === date2));\r\n if (idInput) $(`#${idInput}`).val(curr);\r\n }\r\n }, [defaultvalue]);\r\n\r\n const RequiredHtml = () => {\r\n return (\r\n <i\r\n class=\"fa fa-star-of-life text-danger icon-l ml-2\"\r\n style={{ fontSize: \"8px\", position: \"absolute\" }}\r\n ></i>\r\n );\r\n };\r\n\r\n return (\r\n <>\r\n <div className=\"row\">\r\n <div className={\"col-lg-6 \" + (!Time && \" col-lg-12\")}>\r\n {label && (\r\n <label className={ClassLabel}>\r\n {label} {required && <RequiredHtml />}\r\n {span && (\r\n <small className=\"alert alert-warning text-dark p-0 pl-2 pr-2\">\r\n {\" \"}\r\n {span}\r\n </small>\r\n )}\r\n </label>\r\n )}\r\n <TextField\r\n id={name + IdName + \"DateId\"}\r\n type={\"date\"}\r\n className=\"form-control\"\r\n InputLabelProps={{\r\n shrink: true,\r\n }}\r\n {...field}\r\n {...props}\r\n onChange={(event) => {\r\n const b = valueSelect?.value ? valueSelect?.value : \"12:00\";\r\n const value = event.target.value + \"T\" + b;\r\n const valid = Date.parse(value);\r\n const date = valid ? value : \"\";\r\n setvalueDate(date);\r\n setFieldValue(name, PostMomentDate(date));\r\n if (onChange) onChange(event);\r\n }}\r\n />\r\n </div>\r\n {idInput && <input type=\"hidden\" id={idInput} value={valueDate} />}\r\n <div className={\"col-lg-6 \" + (!Time && \" d-none\")}>\r\n {label && <label className={ClassLabel}>Time</label>}\r\n <Select\r\n isSearchable={true}\r\n isClearable\r\n isDisabled={disabled}\r\n value={valueSelect}\r\n onChange={(newValue) => {\r\n var a = $(`#${name + IdName}DateId`).val();\r\n const value = a.split(\"T\")[0] + \"T\" + newValue?.value;\r\n setvalueSelect(\r\n timeList.find((x) => x?.value === newValue?.value)\r\n );\r\n const valid = Date.parse(value);\r\n const date = valid ? value : \"\";\r\n setvalueDate(date);\r\n setFieldValue(name, PostMomentDate(date));\r\n\r\n if (newValue?.value ?? true) $(`#${name + IdName}DateId`).val(\"\");\r\n }}\r\n options={timeList}\r\n />\r\n </div>\r\n </div>\r\n </>\r\n );\r\n}\r\n","import React, { useEffect } from \"react\";\r\nimport $ from \"jquery\";\r\n\r\nfunction minOr30(h) {\r\n try {\r\n let a = h?.split(\":\");\r\n let b = parseInt(a[1]);\r\n let c = 15 < b < 45 ? \"30\" : \"00\";\r\n return `${a[0]}:${c}:00`;\r\n } catch (err) {\r\n return \"00:00:00\";\r\n }\r\n}\r\nexport function DateTime12({\r\n field,\r\n label,\r\n dateNow,\r\n span,\r\n withFeedbackLabel = true,\r\n customFeedbackLabel,\r\n type = \"text\",\r\n required,\r\n ClassLabel,\r\n setFieldValue,\r\n defaultvalue,\r\n ...props\r\n}) {\r\n const { name, disabled } = props;\r\n useEffect(() => {\r\n if(dateNow){\r\n var curr1 = new Date(dateNow);\r\n var date1 = curr1?.toISOString()?.substr(0, 10) || false;\r\n $(`#${name}DateId`).val(date1);\r\n }\r\n if (defaultvalue) {\r\n var curr = new Date(defaultvalue);\r\n curr.setHours(curr.getHours() + 1);\r\n var date = curr?.toISOString()?.substr(0, 10) || false;\r\n var date2 = curr?.toISOString()?.substr(11, 8) || false;\r\n date2 = minOr30(date2);\r\n if (date) $(`#${name}DateId`).val(date);\r\n if (date2) $(`#${name}TimeId`).val(date2);\r\n }\r\n }, [defaultvalue]);\r\n\r\n const RequiredHtml = () => {\r\n return (\r\n <i\r\n class=\"fa fa-star-of-life text-danger icon-l ml-2\"\r\n style={{ fontSize: \"8px\", position: \"absolute\" }}\r\n ></i>\r\n );\r\n };\r\n\r\n return (\r\n <>\r\n <div className=\"row\">\r\n <div className=\"col-lg-6\">\r\n {label && (\r\n <label className={ClassLabel}>\r\n {label} {required && <RequiredHtml />}\r\n {span && (\r\n <small className=\"alert alert-warning text-dark p-0 pl-2 pr-2\">\r\n {\" \"}\r\n {span}\r\n </small>\r\n )}\r\n </label>\r\n )}\r\n <input\r\n id={name + \"DateId\"}\r\n type={\"date\"}\r\n className=\"form-control\"\r\n onBlur={(event) => {\r\n if (setFieldValue)\r\n setFieldValue(name, event.target.value + \"T00:30\");\r\n }}\r\n />\r\n </div>\r\n <div className=\"col-lg-6\">\r\n {label && <label className={ClassLabel}>Time</label>}\r\n <select\r\n id={name + \"TimeId\"}\r\n className=\"form-control\"\r\n disabled={disabled}\r\n defaultValue=\"00:00:00\"\r\n onChange={(e) => {\r\n var a = $(`#${name}DateId`).val();\r\n if (a) {\r\n if (setFieldValue)\r\n setFieldValue(name, a.split(\"T\")[0] + \"T\" + e.target.value);\r\n }\r\n }}\r\n >\r\n <option value=\"0\">Select</option>\r\n <option value=\"00:00:00\">12.00 AM</option>\r\n <option value=\"00:30:00\">12.30 AM</option>\r\n <option value=\"01:00:00\">01.00 AM</option>\r\n <option value=\"01:30:00\">01.30 AM</option>\r\n <option value=\"02:00:00\">02.00 AM</option>\r\n <option value=\"02:30:00\">02.30 AM</option>\r\n <option value=\"03:00:00\">03.00 AM</option>\r\n <option value=\"03:30:00\">03.30 AM</option>\r\n <option value=\"04:00:00\">04.00 AM</option>\r\n <option value=\"04:30:00\">04.30 AM</option>\r\n <option value=\"05:00:00\">05.00 AM</option>\r\n <option value=\"05:30:00\">05.30 AM</option>\r\n <option value=\"06:00:00\">06.00 AM</option>\r\n <option value=\"06:30:00\">06.30 AM</option>\r\n <option value=\"07:00:00\">07.00 AM</option>\r\n <option value=\"07:30:00\">07.30 AM</option>\r\n <option value=\"08:00:00\">08.00 AM</option>\r\n <option value=\"08:30:00\">08.30 AM</option>\r\n <option value=\"09:00:00\">09.00 AM</option>\r\n <option value=\"09:30:00\">09.30 AM</option>\r\n <option value=\"10:00:00\">10.00 AM</option>\r\n <option value=\"10:30:00\">10.30 AM</option>\r\n <option value=\"11:00:00\">11.00 AM</option>\r\n <option value=\"11:30:00\">11.30 AM</option>\r\n <option value=\"12:00:00\">12.00 PM</option>\r\n <option value=\"12:30:00\">12.30 PM</option>\r\n <option value=\"13:00:00\">01.00 PM</option>\r\n <option value=\"13:30:00\">01.30 PM</option>\r\n <option value=\"14:00:00\">02.00 PM</option>\r\n <option value=\"15:00:00\">03.00 PM</option>\r\n <option value=\"15:30:00\">03.30 PM</option>\r\n <option value=\"16:00:00\">04.00 PM</option>\r\n <option value=\"16:30:00\">04.30 PM</option>\r\n <option value=\"17:00:00\">05.00 PM</option>\r\n <option value=\"17:30:00\">05.30 PM</option>\r\n <option value=\"18:00:00\">06.00 PM</option>\r\n <option value=\"18:30:00\">06.30 PM</option>\r\n <option value=\"19:00:00\">07.00 PM</option>\r\n <option value=\"19:30:00\">07.30 PM</option>\r\n <option value=\"20:00:00\">08.00 PM</option>\r\n <option value=\"20:30:00\">08.30 PM</option>\r\n <option value=\"21:00:00\">09.00 PM</option>\r\n <option value=\"21:30:00\">09.30 PM</option>\r\n <option value=\"22:00:00\">10.00 PM</option>\r\n <option value=\"22:30:00\">10.30 PM</option>\r\n <option value=\"23:00:00\">11.00 PM</option>\r\n <option value=\"23:30:00\">11.30 PM</option>\r\n </select>\r\n </div>\r\n </div>\r\n </>\r\n );\r\n}\r\n","import React, { useEffect, useState } from \"react\";\r\nimport CreatableSelect from \"react-select/creatable\";\r\nimport $ from \"jquery\";\r\n\r\nexport function CreatableSelect2({\r\n label,\r\n withFeedbackLabel = true,\r\n type = \"text\",\r\n customFeedbackLabel,\r\n children,\r\n required,\r\n ...props\r\n}) {\r\n const { valueSelect, options, onChange, name, setFieldValue } = props;\r\n const [state, setstate] = useState(0);\r\n const [state2, setstate2] = useState(true);\r\n\r\n const RequiredHtml = () => {\r\n return (\r\n <i\r\n class=\"fa fa-star-of-life text-danger icon-l ml-2\"\r\n style={{ fontSize: \"8px\", position: \"absolute\" }}\r\n ></i>\r\n );\r\n };\r\n\r\n useEffect(() => {\r\n if (valueSelect && valueSelect > 0 && options.length > 0 && state2) {\r\n var b = options.find((x) => x.value === +valueSelect);\r\n setstate(b);\r\n setTimeout(() => {\r\n if (onChange && typeof onChange === \"function\") {\r\n onChange(b);\r\n }\r\n }, 100);\r\n setstate2(false);\r\n }\r\n }, [valueSelect, options]);\r\n\r\n useEffect(() => {\r\n if (options?.length > 0 && !state) {\r\n $(`[name=\"${name}\"]`).ready(function() {\r\n $(`[name=\"${name}\"]`).change(function() {\r\n var a = $(`[name=\"${name}\"]`).val();\r\n if (a && a !== \"\") {\r\n var b = options.find((x) => x.value === +a);\r\n setstate(b);\r\n setTimeout(() => {\r\n if (onChange && typeof onChange === \"function\") {\r\n onChange(b);\r\n }\r\n }, 100);\r\n }\r\n });\r\n });\r\n }\r\n }, [options]);\r\n\r\n return (\r\n <>\r\n {label && (\r\n <label>\r\n {label} {required && <RequiredHtml />}\r\n </label>\r\n )}\r\n <CreatableSelect\r\n isSearchable={true}\r\n isClearable\r\n {...props}\r\n onChange={(newValue) => {\r\n if (onChange) onChange(newValue);\r\n var a = options.find((x) => x?.value === +newValue?.value);\r\n setstate(a);\r\n if (setFieldValue) setFieldValue(name, +newValue?.value);\r\n }}\r\n value={state}\r\n />\r\n </>\r\n );\r\n}\r\n","import React, { useEffect, useState } from \"react\";\r\nimport $ from \"jquery\";\r\nimport Select from \"react-select\";\r\nimport LinearProgress from \"@material-ui/core/LinearProgress\";\r\nimport chroma from \"chroma-js\";\r\n\r\nexport function CreatableSelect3({\r\n label,\r\n withFeedbackLabel = true,\r\n type = \"text\",\r\n customFeedbackLabel,\r\n children,\r\n Loading = true,\r\n onChangefirst = true,\r\n required,\r\n ...props\r\n}) {\r\n const {\r\n valueSelect,\r\n options,\r\n onChange,\r\n name,\r\n setFieldValue,\r\n ColorBool = false,\r\n } = props;\r\n const [state, setstate] = useState(0);\r\n const [valueSelect2, setvalueSelect2] = useState(\"\");\r\n const [LoadingBool, setLoadingBool] = useState(true);\r\n\r\n const RequiredHtml = () => {\r\n return (\r\n <i\r\n class=\"fa fa-star-of-life text-danger icon-l ml-2\"\r\n style={{ fontSize: \"8px\", position: \"absolute\" }}\r\n ></i>\r\n );\r\n };\r\n\r\n const dot = (color = \"#ccc\") => ({\r\n alignItems: \"center\",\r\n display: \"flex\",\r\n\r\n \":before\": {\r\n backgroundColor: color,\r\n borderRadius: 10,\r\n content: '\" \"',\r\n display: \"block\",\r\n marginRight: 8,\r\n height: 10,\r\n width: 10,\r\n },\r\n });\r\n\r\n const colourStyles = {\r\n control: (styles) => ({ ...styles, backgroundColor: \"white\" }),\r\n option: (styles, { data, isDisabled, isFocused, isSelected }) => {\r\n try {\r\n const color = chroma(data?.color);\r\n return {\r\n ...styles,\r\n backgroundColor: isDisabled\r\n ? null\r\n : isSelected\r\n ? data?.color\r\n : isFocused\r\n ? color.alpha(0.1).css()\r\n : null,\r\n color: isDisabled\r\n ? \"#ccc\"\r\n : isSelected\r\n ? chroma.contrast(color, \"white\") > 2\r\n ? \"white\"\r\n : \"black\"\r\n : data.color,\r\n cursor: isDisabled ? \"not-allowed\" : \"default\",\r\n\r\n \":active\": {\r\n ...styles[\":active\"],\r\n backgroundColor:\r\n !isDisabled && (isSelected ? data.color : color.alpha(0.3).css()),\r\n },\r\n };\r\n } catch (error) {}\r\n },\r\n input: (styles) => ({ ...styles, ...dot() }),\r\n placeholder: (styles) => ({ ...styles, ...dot() }),\r\n singleValue: (styles, { data }) => ({ ...styles, ...dot(data.color) }),\r\n };\r\n\r\n useEffect(() => {\r\n setTimeout(() => {\r\n setLoadingBool(false);\r\n }, 5000);\r\n }, [LoadingBool]);\r\n\r\n useEffect(() => {\r\n if (\r\n valueSelect &&\r\n valueSelect > 0 &&\r\n valueSelect !== valueSelect2 &&\r\n options.length > 0\r\n ) {\r\n var b = options.find((x) => x.value === +valueSelect);\r\n $(`[name=${name}`).val(valueSelect);\r\n setstate(\r\n b || {\r\n value: null,\r\n label: \"Select...\",\r\n }\r\n );\r\n setTimeout(() => {\r\n if (onChange && typeof onChange === \"function\" && onChangefirst) {\r\n onChange(b);\r\n }\r\n }, 100);\r\n setvalueSelect2(valueSelect);\r\n }\r\n }, [valueSelect, options]);\r\n\r\n return (\r\n <>\r\n {label && (\r\n <label>\r\n {label} {required && <RequiredHtml />}\r\n </label>\r\n )}\r\n <Select\r\n isSearchable={true}\r\n isClearable\r\n styles={ColorBool ? colourStyles : {}}\r\n {...props}\r\n onChange={async (newValue) => {\r\n var stop = false;\r\n if (onChange)\r\n await onChange(newValue)?.then((e) => {\r\n if (e === false) stop = true;\r\n });\r\n if (stop) return false;\r\n\r\n var a = options.find((x) => x?.value === +newValue?.value);\r\n setstate(a);\r\n if (setFieldValue) setFieldValue(name, +newValue?.value);\r\n $(`[name=${name}`).val(+newValue?.value);\r\n }}\r\n value={state}\r\n />\r\n {Loading && options?.length === 0 && LoadingBool && <LinearProgress />}\r\n </>\r\n );\r\n}\r\n","import React, { useEffect } from \"react\";\r\nimport $ from \"jquery\";\r\nimport TextField from \"@material-ui/core/TextField\";\r\nimport { momentDate, PostMomentDate } from \"../../../_helpers/ATHelpers\";\r\n\r\nfunction twoDigit(number) {\r\n var twodigit = number >= 10 ? number : \"0\" + number.toString();\r\n return twodigit;\r\n}\r\n\r\nexport function DateTimeSimple({\r\n label,\r\n withFeedbackLabel = true,\r\n type = \"text\",\r\n customFeedbackLabel,\r\n children,\r\n required,\r\n ...props\r\n}) {\r\n const { valueSelect, name, setFieldValue } = props;\r\n const RequiredHtml = () => {\r\n return (\r\n <i\r\n class=\"fa fa-star-of-life text-danger icon-l ml-2\"\r\n style={{ fontSize: \"8px\", position: \"absolute\" }}\r\n ></i>\r\n );\r\n };\r\n\r\n useEffect(() => {\r\n if (valueSelect) {\r\n try {\r\n let a = new Date(momentDate(valueSelect));\r\n let b = `${a.getFullYear()}-${twoDigit(a.getMonth() + 1)}-${twoDigit(\r\n a.getDate()\r\n )}T${twoDigit(a.getHours())}:${twoDigit(a.getMinutes())}`;\r\n $(`#${name}DateId`).val(b);\r\n } catch (err) {\r\n console.log(err);\r\n }\r\n }\r\n }, [valueSelect]);\r\n\r\n return (\r\n <>\r\n {label && (\r\n <label>\r\n {label} {required && <RequiredHtml />}\r\n </label>\r\n )}\r\n <TextField\r\n id={name + \"DateId\"}\r\n className=\"w-100\"\r\n type=\"datetime-local\"\r\n InputLabelProps={{\r\n shrink: true,\r\n }}\r\n {...props}\r\n onBlur={(e) => {\r\n if (setFieldValue)\r\n setFieldValue(name, PostMomentDate(e.target.value));\r\n }}\r\n />\r\n </>\r\n );\r\n}\r\n","/* eslint-disable no-script-url,jsx-a11y/anchor-is-valid */\r\nimport React from \"react\";\r\nimport { getPages, getPagesCount } from \"../../../_helpers\";\r\n\r\nexport function PaginationLinks({ paginationProps }) {\r\n const { totalSize, sizePerPage, page, paginationSize } = paginationProps;\r\n const pagesCount = getPagesCount(totalSize, sizePerPage);\r\n const pages = getPages(page, pagesCount, paginationSize);\r\n const handleFirstPage = ({ onPageChange }) => {\r\n onPageChange(1);\r\n };\r\n\r\n const handlePrevPage = ({ page, onPageChange }) => {\r\n onPageChange(page - 1);\r\n };\r\n\r\n const handleNextPage = ({ page, onPageChange }) => {\r\n if (page < pagesCount) {\r\n onPageChange(page + 1);\r\n }\r\n };\r\n\r\n const handleLastPage = ({ onPageChange }) => {\r\n onPageChange(pagesCount);\r\n };\r\n\r\n const handleSelectedPage = ({ onPageChange }, pageNum) => {\r\n onPageChange(pageNum);\r\n };\r\n\r\n const disabledClass = pagesCount > 1 ? \"\" : \"disabled\";\r\n return (\r\n <>\r\n {pagesCount < 2 && <></>}\r\n {pagesCount > 1 && (\r\n <>\r\n <div className={`d-flex flex-wrap py-2 mr-3 ${disabledClass}`}>\r\n <a\r\n onClick={() => handleFirstPage(paginationProps)}\r\n className=\"btn btn-icon btn-sm btn-light btn-hover-primary mr-2 my-1\"\r\n >\r\n <i className=\"ki ki-bold-double-arrow-back icon-xs\" />\r\n </a>\r\n <a\r\n onClick={() => handlePrevPage(paginationProps)}\r\n className=\"btn btn-icon btn-sm btn-light btn-hover-primary mr-2 my-1\"\r\n >\r\n <i className=\"ki ki-bold-arrow-back icon-xs\" />\r\n </a>\r\n\r\n {page > 1 && (\r\n <a className=\"btn btn-icon btn-sm border-0 btn-hover-primary mr-2 my-1\">\r\n ...\r\n </a>\r\n )}\r\n {pages.map((p) => (\r\n <a\r\n key={p}\r\n onClick={() => handleSelectedPage(paginationProps, p)}\r\n className={`btn btn-icon btn-sm border-0 btn-light ${\r\n page === p ? \" btn-hover-primary active\" : \"\"\r\n } mr-2 my-1`}\r\n >\r\n {p}\r\n </a>\r\n ))}\r\n {page < pagesCount && (\r\n <a className=\"btn btn-icon btn-sm border-0 btn-hover-primary mr-2 my-1\">\r\n ...\r\n </a>\r\n )}\r\n <a\r\n onClick={() => handleNextPage(paginationProps)}\r\n className=\"btn btn-icon btn-sm btn-light btn-hover-primary mr-2 my-1\"\r\n >\r\n <i className=\"ki ki-bold-arrow-next icon-xs\"></i>\r\n </a>\r\n <a\r\n onClick={() => handleLastPage(paginationProps)}\r\n className=\"btn btn-icon btn-sm btn-light btn-hover-primary mr-2 my-1\"\r\n >\r\n <i className=\"ki ki-bold-double-arrow-next icon-xs\"></i>\r\n </a>\r\n </div>\r\n </>\r\n )}\r\n </>\r\n );\r\n}\r\n","/* eslint-disable no-unused-vars */\r\nimport React from \"react\";\r\nimport {PaginationTotalStandalone} from \"react-bootstrap-table2-paginator\";\r\n\r\nexport function PaginationToolbar(props) {\r\n const { isLoading, paginationProps } = props;\r\n const {\r\n sizePerPageList,\r\n sizePerPage,\r\n totalSize,\r\n onSizePerPageChange = [\r\n { text: \"3\", value: 3 },\r\n { text: \"5\", value: 5 },\r\n { text: \"10\", value: 10 }\r\n ]\r\n } = paginationProps;\r\n const style = {\r\n width: \"auto\"\r\n };\r\n\r\n const onSizeChange = event => {\r\n const newSize = +event.target.value;\r\n onSizePerPageChange(newSize);\r\n };\r\n\r\n return (\r\n <div className=\"d-flex align-items-center py-3\">\r\n {isLoading && (\r\n <div className=\"d-flex align-items-center\">\r\n <div className=\"mr-2 text-muted\">Loading...</div>\r\n <div className=\"spinner spinner-primary mr-10\"></div>\r\n </div>\r\n )}\r\n <select\r\n disabled={totalSize === 0}\r\n className={`form-control form-control-sm font-weight-bold mr-4 border-0 bg-light ${totalSize ===\r\n 0 && \"disabled\"}`}\r\n onChange={onSizeChange}\r\n value={sizePerPage}\r\n style={style}\r\n >\r\n {sizePerPageList.map(option => {\r\n const isSelect = sizePerPage === `${option.page}`;\r\n return (\r\n <option\r\n key={option.text}\r\n value={option.page}\r\n className={`btn ${isSelect ? \"active\" : \"\"}`}\r\n >\r\n {option.text}\r\n </option>\r\n );\r\n })}\r\n </select>\r\n <PaginationTotalStandalone className=\"text-muted\" {...paginationProps} />\r\n </div>\r\n );\r\n}\r\n","import React from \"react\";\r\nimport {PaginationLinks} from \"./PaginationLinks\";\r\nimport {PaginationToolbar} from \"./PaginationToolbar\";\r\n\r\nexport function Pagination(props) {\r\n const { children, isLoading, paginationProps } = props;\r\n return (\r\n <>\r\n {children}\r\n <div className=\"d-flex justify-content-between align-items-center flex-wrap\">\r\n <PaginationLinks paginationProps={paginationProps} />\r\n <PaginationToolbar\r\n isLoading={isLoading}\r\n paginationProps={paginationProps}\r\n />\r\n </div>\r\n </>\r\n );\r\n}\r\n","import React, { forwardRef, useEffect, useState } from \"react\";\r\nimport clsx from \"clsx\";\r\nimport {isFragment} from \"react-is\";\r\n\r\nexport const CardHeaderIcon = forwardRef(({ className }, ref) => (\r\n <span ref={ref} className={clsx(\"card-head-icon\", className)} />\r\n));\r\n\r\nexport const CardHeaderTitle = forwardRef(({ className, ...props }, ref) => (\r\n // eslint-disable-next-line jsx-a11y/heading-has-content\r\n <h3 {...props} ref={ref} className={clsx(\"card-label\", className)} />\r\n));\r\n\r\nexport const CardHeaderToolbar = forwardRef(\r\n ({ children, className, ...props }, ref) => (\r\n <div {...props} ref={ref} className={clsx(\"card-toolbar\", className)}>\r\n {children}\r\n </div>\r\n )\r\n);\r\n\r\nexport const CardHeader = forwardRef(\r\n (\r\n {\r\n children,\r\n icon,\r\n title,\r\n toolbar,\r\n className,\r\n sticky = false,\r\n labelRef,\r\n ...props\r\n },\r\n ref\r\n ) => {\r\n const [top, setTop] = useState(0);\r\n const [windowHeight, setWindowHeight] = useState(0);\r\n\r\n useEffect(() => {\r\n handleResize();\r\n\r\n function handleResize() {\r\n setWindowHeight(window.innerWidth);\r\n }\r\n\r\n window.addEventListener(\"resize\", handleResize);\r\n\r\n return () => {\r\n window.removeEventListener(\"resize\", handleResize);\r\n };\r\n });\r\n\r\n useEffect(() => {\r\n // Skip if sticky is disabled or on initial render when we don't know about window height.\r\n if (!sticky || windowHeight === 0) {\r\n return;\r\n }\r\n\r\n const headerElement = document.querySelector(\".header\");\r\n const subheaderElement = document.querySelector(\".subheader\");\r\n const headerMobileElement = document.querySelector(\".header-mobile\");\r\n\r\n let nextMarginTop = 0;\r\n\r\n // mobile header\r\n if (window.getComputedStyle(headerElement).height === \"0px\") {\r\n nextMarginTop = headerMobileElement.offsetHeight;\r\n } else {\r\n // desktop header\r\n if (document.body.classList.contains(\"header-minimize-topbar\")) {\r\n // hardcoded minimized header height\r\n nextMarginTop = 60;\r\n } else {\r\n // normal fixed header\r\n if (document.body.classList.contains(\"header-fixed\")) {\r\n nextMarginTop += headerElement.offsetHeight;\r\n }\r\n\r\n if (document.body.classList.contains(\"subheader-fixed\")) {\r\n nextMarginTop += subheaderElement.offsetHeight;\r\n }\r\n }\r\n }\r\n\r\n setTop(nextMarginTop);\r\n }, [sticky, windowHeight]);\r\n\r\n return (\r\n <div\r\n ref={ref}\r\n className=\"card-header\"\r\n style={\r\n !sticky\r\n ? undefined\r\n : { top, position: \"sticky\", backgroundColor: \"#fff\" }\r\n }\r\n >\r\n {title != null && (\r\n <div ref={labelRef} className={clsx(\"card-title\", className)}>\r\n {icon}\r\n\r\n {/* Wrap string and fragments in CardHeaderTitle */\r\n typeof title === \"string\" || isFragment(title) ? (\r\n <CardHeaderTitle>{title}</CardHeaderTitle>\r\n ) : (\r\n title\r\n )}\r\n </div>\r\n )}\r\n\r\n {toolbar}\r\n {children}\r\n </div>\r\n );\r\n }\r\n);\r\n\r\nexport const CardBody = forwardRef(\r\n ({ fit, fluid, className, ...props }, ref) => (\r\n <div\r\n {...props}\r\n ref={ref}\r\n className={clsx(\r\n \"card-body\",\r\n {\r\n \"card-body-fit\": fit,\r\n \"card-body-fluid\": fluid\r\n },\r\n className\r\n )}\r\n />\r\n )\r\n);\r\n\r\nexport const CardFooter = forwardRef(({ className, ...props }, ref) => (\r\n <div {...props} ref={ref} className={clsx(\"card-footer\", className)} />\r\n));\r\n\r\nexport const Card = forwardRef(({ fluidHeight, className, ...props }, ref) => (\r\n <div\r\n {...props}\r\n ref={ref}\r\n className={clsx(\r\n \"card card-custom gutter-b\",\r\n { \"card-height-fluid\": fluidHeight },\r\n className\r\n )}\r\n />\r\n));\r\n\r\n// Set display names for debugging.\r\nif (process.env.NODE_ENV !== \"production\") {\r\n Card.displayName = \"Card\";\r\n\r\n CardHeader.displayName = \"CardHeader\";\r\n CardHeaderIcon.displayName = \"CardHeaderIcon\";\r\n CardHeaderTitle.displayName = \"CardHeaderTitle\";\r\n CardHeaderToolbar.displayName = \"CardHeaderToolbar\";\r\n\r\n CardBody.displayName = \"CardBody\";\r\n CardFooter.displayName = \"CardFooter\";\r\n}\r\n","import React from \"react\";\r\nimport {withRouter} from \"react-router-dom\";\r\nimport {ProgressBar} from \"react-bootstrap\";\r\n\r\n// TODO: Should be rewrited to pure function\r\nclass AnimateLoading extends React.Component {\r\n animateTimeout;\r\n stopAnimateTimeout;\r\n state = {\r\n width: 0,\r\n routeChanged: false\r\n };\r\n\r\n componentDidUpdate(nextProps) {\r\n if (this.props.location.pathname !== nextProps.location.pathname) {\r\n this.animate();\r\n this.scrollToTop();\r\n }\r\n }\r\n\r\n scrollToTop() {\r\n const scrollToTopBtn = document.getElementById(\"kt_scrolltop\");\r\n if (scrollToTopBtn) {\r\n scrollToTopBtn.click();\r\n }\r\n }\r\n\r\n animate() {\r\n this.animateTimeout = setTimeout(() => {\r\n if (this.state.width <= 100) {\r\n this.setState({ width: this.state.width + 10 });\r\n this.animate();\r\n } else {\r\n this.stopAnimate();\r\n }\r\n }, 30);\r\n }\r\n stopAnimate() {\r\n clearTimeout(this.animateInterval);\r\n this.stopAnimateTimeout = setTimeout(() => {\r\n this.setState({ width: 0 });\r\n }, 300);\r\n }\r\n componentWillUnmount() {\r\n if (this.stopAnimateTimeout) {\r\n clearTimeout(this.stopAnimateTimeout);\r\n }\r\n if (this.animateTimeout) {\r\n clearTimeout(this.animateTimeout);\r\n }\r\n }\r\n render() {\r\n return (\r\n <div\r\n className=\"header-progress-bar\"\r\n style={{ height: \"3px\", width: \"100%\" }}\r\n >\r\n {this.state.width > 0 && (\r\n <ProgressBar variant=\"info\" now={this.state.width} style={{ height: \"3px\" }} />\r\n )}\r\n </div>\r\n );\r\n }\r\n}\r\n\r\nexport default withRouter(AnimateLoading);\r\n","import React, { useEffect, useState } from \"react\";\r\nimport { Portal } from \"react-portal\";\r\n\r\nvar Spinner = require('react-spinkit');\r\n\r\nconst animationStartClass = \"dialog-shown\";\r\nconst animationEndClass = \"dialog-hidden\";\r\nconst initCssClasses = [\r\n \"dialog\",\r\n \"dialog-default\",\r\n \"dialog-loader\",\r\n \"dialog-top-center\",\r\n];\r\n\r\nexport function LoadingDialog({ isLoading, text, newHtml = false }) {\r\n const [cssClasses, setCssClasses] = useState(initCssClasses);\r\n\r\n useEffect(() => {\r\n // for animation start should toggle 'dialog-hidden' css class\r\n setCssClasses(initCssClasses);\r\n const timeoutId = setTimeout(() => {\r\n const cssClassForAdding = isLoading\r\n ? animationStartClass\r\n : animationEndClass;\r\n setCssClasses([...initCssClasses, cssClassForAdding]);\r\n }, 200);\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n return () => {\r\n clearTimeout(timeoutId);\r\n };\r\n }, [isLoading]);\r\n\r\n return (\r\n <Portal node={document && document.getElementById(\"layout-portal\")}>\r\n <div className={cssClasses.join(\" \")}><Spinner name=\"folding-cube\" color=\"blue\" /></div>\r\n </Portal>\r\n );\r\n}\r\n","import React, { forwardRef } from \"react\";\r\nimport clsx from \"clsx\";\r\nimport SVG from \"react-inlinesvg\";\r\nimport {toAbsoluteUrl} from \"../../_helpers\";\r\n\r\nexport const Notice = forwardRef(\r\n (\r\n {\r\n icon,\r\n svg,\r\n iconRef,\r\n textRef,\r\n iconWrapperRef,\r\n className,\r\n children,\r\n ...props\r\n },\r\n ref\r\n ) => {\r\n return (\r\n <div\r\n {...props}\r\n ref={ref}\r\n role=\"alert\"\r\n className={clsx(\r\n \"alert alert-custom alert-white alert-shadow gutter-b\",\r\n className\r\n )}\r\n >\r\n <div className=\"alert-icon alert-icon-top\">\r\n <span className=\"svg-icon svg-icon-3x svg-icon-primary mt-4\">\r\n <SVG\r\n src={toAbsoluteUrl(\"/media/svg/icons/Tools/Compass.svg\")}\r\n ></SVG>\r\n </span>\r\n </div>\r\n\r\n <div className=\"alert-text\" ref={textRef}>\r\n {children}\r\n </div>\r\n </div>\r\n );\r\n }\r\n);\r\n\r\n// Set display name for debugging.\r\nif (process.env.NODE_ENV !== \"production\") {\r\n Notice.displayName = \"Notice\";\r\n}\r\n","import React from \"react\";\r\nimport { ProgressBar } from \"react-bootstrap\";\r\n\r\nexport function ModalProgressBar({variant = \"success\"}) {\r\n return (\r\n <ProgressBar\r\n variant={variant}\r\n animated\r\n now={100}\r\n style={{ height: \"3px\", width: \"100%\" }}\r\n />\r\n );\r\n}\r\n","import ClassicEditor from \"@ckeditor/ckeditor5-build-classic\";\r\nimport { CKEditor } from \"@ckeditor/ckeditor5-react\";\r\nimport { IconButton } from \"@material-ui/core\";\r\nimport CloseIcon from \"@material-ui/icons/Close\";\r\nimport axios from \"axios\";\r\nimport $ from \"jquery\";\r\nimport low from \"lowdb\";\r\nimport LocalStorage from \"lowdb/adapters/LocalStorage\";\r\nimport React, { useEffect, useState, Fragment } from \"react\";\r\nimport { Card, Modal } from \"react-bootstrap\";\r\nimport Select from \"react-select\";\r\nimport { CustomerEditForm } from \"../../../../app/modules/eMPower/pages/Notes/customer-edit-dialog/CustomerEditForm\";\r\nimport { Notification } from \"../../../../app/modules/Notification\";\r\nimport { momentDate } from \"../../../_helpers/ATHelpers\";\r\nimport SelectPagination from \"../../widgets/Select/SelectPagination\";\r\nconst adapter = new LocalStorage(\"db\");\r\nconst db = low(adapter);\r\n\r\nexport function NotesComponent({\r\n id,\r\n get,\r\n post,\r\n put,\r\n Categories,\r\n isBilling,\r\n IsExceptionLulus,\r\n isLulusDashboard,\r\n exceptionId,\r\n isViewModel,\r\n hideExistingNotes,\r\n customViewModel,\r\n accessLevels,\r\n attachmentTypes,\r\n list\r\n}) {\r\n const [NotesList, setNotesList] = useState([]);\r\n const [CategorysList, setCategorysList] = useState([]);\r\n const [AccessLevels, setAccessLevels] = useState([]);\r\n const [NewText, setNewText] = useState(\"\");\r\n const [NoteShow, setNoteShow] = useState(false);\r\n const [NoteShow2, setNoteShow2] = useState(false);\r\n const [noteToggle, setNoteToggle] = useState(false);\r\n\r\n useEffect(() => {\r\n if (get && id) {\r\n async function fetchMyAPI() {\r\n if (isLulusDashboard && exceptionId) {\r\n getNots(exceptionId);\r\n } else {\r\n getNots();\r\n }\r\n if(exceptionId) {\r\n GetExceptionsLists();\r\n }\r\n }\r\n fetchMyAPI();\r\n }\r\n }, [get, id, exceptionId]);\r\n\r\n useEffect(() => {\r\n setCategorysList(Categories);\r\n }, [Categories]);\r\n\r\n async function GetNotes() {\r\n return await fetch(`${window.$apiurl}${get}`, {\r\n method: \"get\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then(async (res) => {\r\n return res[1];\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n async function GetViewModelList() {\r\n return await fetch(`${window.$apiurl}/notes/GetViewModel`, {\r\n method: \"get\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then(async (res) => {\r\n return res[1];\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n //Exception Get List API\r\n const [exceptionsLists, setExceptionsList] = useState([]);\r\n async function GetExceptionsLists() {\r\n return await fetch(\r\n `${window.$apiurl}/sku/exceptions?id=${id}&isActive=null`,\r\n {\r\n method: \"get\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n }\r\n )\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then(async (res) => {\r\n const currentList = res[1];\r\n const list = [];\r\n currentList.map((item) => {\r\n list.push({\r\n value: item.RequestId,\r\n label: `Exception #: ${item.RequestId}`,\r\n });\r\n return item;\r\n });\r\n setExceptionsList(list);\r\n return res[1];\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n async function PostNote(bodytext, cat, accessLevelId) {\r\n return await fetch(`${window.$apiurl}${post}`, {\r\n method: \"post\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify({\r\n ExceptionId:\r\n exceptionId !== undefined ? exceptionId : selectedException.value,\r\n Body: bodytext,\r\n Title: document.getElementById(\"TitleNote\")?.value,\r\n CategoryId: cat || (IsExceptionLulus ? 4 : \"\"),\r\n AccessLevelId: accessLevelId || (IsExceptionLulus ? 4 : \"\"),\r\n }),\r\n })\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then(async (res) => {\r\n Notification(\"success\", \"Note has been saved\");\r\n })\r\n .catch((error) => {\r\n Notification(\"success\", \"Note has been saved\");\r\n });\r\n }\r\n\r\n function CardFunction({ x, index, setShow, setNoteId }) {\r\n const [Showing, setShowing] = useState(false);\r\n const [Text, setText] = useState(\"\");\r\n const [Category, setCategory] = useState(\"\");\r\n const [titleBtnDeletePut, setTitleBtnDeletePut] = useState(\"Delete\");\r\n\r\n async function PutNote(id, bodytext, CategoryId) {\r\n return await fetch(`${window.$apiurl}${put}${id}`, {\r\n method: \"put\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify({ body: bodytext, CategoryId: CategoryId }),\r\n })\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then(async (res) => {\r\n Notification(\"success\", \"Note has been saved\");\r\n setShowing(false);\r\n })\r\n .catch((error) => {\r\n Notification(\"success\", \"Note has been saved\");\r\n setShowing(false);\r\n });\r\n }\r\n\r\n return (\r\n <>\r\n <Modal\r\n show={NoteShow}\r\n aria-labelledby=\"example-modal-sizes-title-lg\"\r\n onHide={() => setNoteShow(false)}\r\n >\r\n <Modal.Header>\r\n <Modal.Title id=\"example-modal-sizes-title-lg\">\r\n Assign To Containers\r\n </Modal.Title>\r\n <IconButton\r\n aria-label=\"Close\"\r\n onClick={() => {\r\n setNoteShow(false);\r\n }}\r\n >\r\n <CloseIcon />\r\n </IconButton>\r\n </Modal.Header>\r\n <Modal.Body className=\"row\">\r\n <div className=\"p-3 w-100\">\r\n Assign this Note in Multiple Containers\r\n <SelectPagination\r\n isSearchable={true}\r\n onCreateOption={undefined}\r\n isMulti={true}\r\n placeholder=\"Containers\"\r\n createOptionPosition=\"first\"\r\n isClearable\r\n onChange={(newValue) => {}}\r\n defaultValue={[\r\n {\r\n value: 646080,\r\n label: 646080,\r\n },\r\n ]}\r\n options={[646080, 646081, 646082, 646083, 646084, 646085].map(\r\n (x) => {\r\n return {\r\n value: x,\r\n label: x,\r\n };\r\n }\r\n )}\r\n name=\"PickupCarrierId\"\r\n className=\"mt-3\"\r\n />\r\n </div>\r\n </Modal.Body>\r\n <Modal.Footer>\r\n <div>\r\n <button\r\n type=\"button\"\r\n onClick={() => {\r\n setNoteShow(false);\r\n }}\r\n className=\"btn btn-light btn-elevate mr-2\"\r\n >\r\n No\r\n </button>\r\n <button\r\n type=\"button\"\r\n onClick={() => {}}\r\n className=\"btn btn-success btn-elevate\"\r\n >\r\n Yes\r\n </button>\r\n </div>\r\n </Modal.Footer>\r\n </Modal>\r\n\r\n <Card\r\n className={\r\n \"mb-2 m-auto border-secondary \" +\r\n (index % 2 === 0 ? \"bg-light\" : \"\")\r\n }\r\n >\r\n <Card.Body>\r\n <Card.Title className=\"d-inline mr-2\">\r\n <div\r\n className=\"label label-xl label-inline label-light-primary font-weight-bolder\"\r\n style={{ fontSize: \"12px\" }}\r\n >\r\n <i className=\"fas fa-user mr-2 text-primary\"></i> {x?.CreatedBy}\r\n </div>\r\n </Card.Title>\r\n <span className=\"mb-2 text-primary d-inline\">\r\n <div\r\n className=\"label label-xl label-inline label-light-primary font-weight-bolder\"\r\n style={{ fontSize: \"12px\" }}\r\n >\r\n {momentDate(x?.CreatedAt)}\r\n </div>\r\n </span>\r\n <br />\r\n {x?.CategoryId !== null && (\r\n <div\r\n className=\"label label-xl label-inline label-light-info font-weight-bolder mb-2 mt-3\"\r\n style={{ fontSize: \"12px\" }}\r\n >\r\n <i className=\"fas fa-book mr-2 text-info\"></i>{\" \"}\r\n {x?.CategoryName}\r\n </div>\r\n )}\r\n <Card.Text className=\"mt-5 ml-5\">\r\n {!Showing &&\r\n (!Text ? (\r\n <span dangerouslySetInnerHTML={{ __html: x?.Body }} />\r\n ) : (\r\n Text\r\n ))}\r\n {Showing && (\r\n <>\r\n <div className=\"mb-3 selectIndexZ\">\r\n <label>Select Category</label>\r\n <Select\r\n name=\"CategoryId\"\r\n label=\"Select Category\"\r\n defaultValue={\r\n x?.CategoryId && x?.CategoryName\r\n ? {\r\n value: x?.CategoryId,\r\n label: x?.CategoryName,\r\n }\r\n : null\r\n }\r\n options={CategorysList.map((x) => {\r\n return {\r\n value: x?.Id,\r\n label: x?.Name,\r\n };\r\n })}\r\n onChange={(newValue) => {\r\n setCategory(newValue?.value ?? \"\");\r\n }}\r\n />\r\n </div>\r\n <CKEditor\r\n name=\"Body\"\r\n Id=\"TeaserText\"\r\n label=\"TeaserText\"\r\n editor={ClassicEditor}\r\n config={{\r\n removePlugins: [\r\n \"Image\",\r\n \"ImageCaption\",\r\n \"ImageStyle\",\r\n \"ImageToolbar\",\r\n \"ImageUpload\",\r\n \"MediaEmbed\",\r\n ],\r\n }}\r\n data={NewText === \"\" ? (!Text ? x?.Body : Text) : NewText}\r\n onBlur={(event, editor) => {\r\n setText(editor.getData());\r\n }}\r\n />\r\n </>\r\n )}\r\n </Card.Text>\r\n\r\n {x?.isMulti && (\r\n <div\r\n className=\"text-right\"\r\n style={{ position: \"absolute\", top: \"27px\", right: \"5px\" }}\r\n >\r\n <span\r\n className=\"btn btn-light-primary mr-2\"\r\n onClick={() => {\r\n if (x?.Id) x.id = x?.Id;\r\n setNoteId(x);\r\n setShow(true);\r\n }}\r\n >\r\n <i className=\"fas fa-edit mr-2\"></i> Edit (\r\n <small>This note is already in other containers</small>)\r\n </span>\r\n </div>\r\n )}\r\n\r\n {db.getState().User?.Email === x?.UserEmail && (\r\n <div\r\n className=\"text-right\"\r\n style={{ position: \"absolute\", top: \"27px\", right: \"5px\" }}\r\n >\r\n {!x?.isMulti && (\r\n <button\r\n type=\"button\"\r\n className=\"btn btn-light-primary mr-2\"\r\n onClick={async () => {\r\n if (Showing) {\r\n await PutNote(\r\n x?.Id,\r\n Text === \"\" ? x?.Body : Text,\r\n Category === \"\" ? x?.CategoryId : Category\r\n );\r\n getNots();\r\n } else {\r\n setTitleBtnDeletePut(\"Close\");\r\n setShowing(true);\r\n }\r\n }}\r\n >\r\n {!Showing && (\r\n <>\r\n <i className=\"fas fa-edit mr-2\"></i> Edit\r\n </>\r\n )}\r\n {Showing && (\r\n <>\r\n <i className=\"fas fa-save mr-2\"></i> Save\r\n </>\r\n )}\r\n </button>\r\n )}\r\n {db.getState().User?.Email === x?.UserEmail && !x?.isMulti && (\r\n <button\r\n type=\"button\"\r\n className=\"btn btn-light-danger mr-2 ml-3\"\r\n onClick={async () => {\r\n if (titleBtnDeletePut === \"Delete\") {\r\n await DeleteNote(x?.Id);\r\n getNots();\r\n } else {\r\n setTitleBtnDeletePut(\"Delete\");\r\n setShowing(false);\r\n }\r\n }}\r\n >\r\n {titleBtnDeletePut === \"Delete\" && (\r\n <i className=\"fas fa-trash mr-2\"></i>\r\n )}\r\n {titleBtnDeletePut === \"Close\" && (\r\n <i className=\"fas fa-times\"></i>\r\n )}\r\n {titleBtnDeletePut}\r\n </button>\r\n )}\r\n </div>\r\n )}\r\n </Card.Body>\r\n </Card>\r\n <br />\r\n </>\r\n );\r\n }\r\n\r\n async function getNots(exceptionId) {\r\n var a = await GetNotes();\r\n if (isLulusDashboard && exceptionId) {\r\n setNotesList(\r\n a?.Notes.filter(\r\n (x) => x.AccessLevelId === 4 && x.ExceptionId === exceptionId\r\n ) || []\r\n );\r\n } else if (isLulusDashboard && !exceptionId) {\r\n setNotesList([]);\r\n } else {\r\n if (isViewModel && hideExistingNotes === false) {\r\n setNotesList(a || []);\r\n } else {\r\n setNotesList(a?.Notes || []);\r\n }\r\n }\r\n if (isViewModel) {\r\n const result = await GetViewModelList();\r\n setCategorysList(result?.Categories || []);\r\n setAccessLevels(result?.AccessLevels || []);\r\n } else {\r\n if(!customViewModel){\r\n setCategorysList(a?.Categories || []);\r\n setAccessLevels(a?.AccessLevels || []); \r\n }\r\n }\r\n }\r\n useEffect(() => {\r\n if(customViewModel) {\r\n setCategorysList(attachmentTypes || []);\r\n setAccessLevels(accessLevels || []);\r\n }\r\n },[customViewModel,attachmentTypes,accessLevels])\r\n async function DeleteNote(id) {\r\n return await fetch(`${window.$apiurl}/generic/notes/${id}`, {\r\n method: \"Delete\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then(async (res) => {\r\n getNots();\r\n Notification(\"success\", \"Note is Deleted successfully\");\r\n })\r\n .catch((error) => {\r\n getNots();\r\n Notification(\"success\", \"Note is Deleted successfully\");\r\n });\r\n }\r\n const [selectedAccessLevel, setSelectedAccessLevel] = useState({\r\n value: \"\",\r\n label: \"Select\",\r\n });\r\n const [selectedCategory, setCategoryPost] = useState({\r\n value: \"\",\r\n label: \"Select\",\r\n });\r\n const [selectedException, setExceptionPost] = useState({\r\n value: \"\",\r\n label: \"Select\",\r\n });\r\n\r\n const [Titles, setTitles] = useState([]);\r\n useEffect(() => {\r\n if(!isBilling){\r\n GetAllTitles(setTitles);\r\n }\r\n }, []);\r\n\r\n const [Show, setShow] = useState(false);\r\n const [NoteId, setNoteId] = useState();\r\n return (\r\n <>\r\n <div className=\"row\">\r\n <input type=\"hidden\" id=\"getNots\" onClick={() => getNots()} />\r\n <div className=\"col mb-5\">\r\n <button\r\n type=\"button\"\r\n className={`btn btn-light-${\r\n noteToggle ? \"danger\" : \"primary\"\r\n } mr-2 w-100 mb-5`}\r\n onClick={async () => {\r\n $(\".NotesId\").toggle(\"slow\");\r\n setNoteToggle(noteToggle ? false : true);\r\n if (IsExceptionLulus && id) {\r\n await GetExceptionsLists();\r\n }\r\n }}\r\n >\r\n {noteToggle ? (\r\n <Fragment>\r\n <i className=\"fas fa-times mr-2\"></i> Close Note\r\n </Fragment>\r\n ) : (\r\n <Fragment>\r\n <i className=\"fas fa-plus mr-2\"></i> Add Note\r\n </Fragment>\r\n )}\r\n </button>\r\n </div>\r\n {hideExistingNotes === true ? (\r\n \"\"\r\n ) : (\r\n <div className=\"col-5 mb-5\">\r\n <SelectPagination\r\n name=\"P1\"\r\n placeholder=\"Select from existing Notes\"\r\n onChange={(newValue) => {\r\n setNoteShow2(newValue);\r\n }}\r\n options={Titles.map((x) => {\r\n return {\r\n value: x?.NoteId,\r\n label:\r\n x?.Title +\r\n \" : \" +\r\n x?.Body?.replace(/(<([^>]+)>)/gi, \"\")?.substr(0, 10) +\r\n \" ...\",\r\n };\r\n })}\r\n />\r\n </div>\r\n )}\r\n </div>\r\n\r\n <Modal\r\n size=\"lg\"\r\n show={NoteShow2 !== false}\r\n aria-labelledby=\"example-modal-sizes-title-lg\"\r\n onHide={() => setNoteShow2(false)}\r\n >\r\n <Modal.Header>\r\n <Modal.Title id=\"example-modal-sizes-title-lg\">\r\n Add Note '{NoteShow2?.label?.split(\" :\")[0]}' in this Container {id}\r\n </Modal.Title>\r\n <IconButton\r\n aria-label=\"Close\"\r\n onClick={() => {\r\n setNoteShow2(false);\r\n }}\r\n >\r\n <CloseIcon />\r\n </IconButton>\r\n </Modal.Header>\r\n <Modal.Footer>\r\n <div>\r\n <button\r\n type=\"button\"\r\n onClick={() => {\r\n setNoteShow2(false);\r\n }}\r\n className=\"btn btn-light btn-elevate mr-2\"\r\n >\r\n No\r\n </button>\r\n <button\r\n type=\"button\"\r\n onClick={() => {\r\n AssignNote(NoteShow2?.value, id, setNoteShow2);\r\n }}\r\n className=\"btn btn-success btn-elevate\"\r\n >\r\n Yes\r\n </button>\r\n </div>\r\n </Modal.Footer>\r\n </Modal>\r\n\r\n <div className=\"m-auto mb-5 NotesId\" style={{ display: \"none\" }}>\r\n {!isBilling && (\r\n <>\r\n <label>Title</label>\r\n <div className=\"col-lg-12 p-0 mb-5\" placeholder=\"\">\r\n <input id=\"TitleNote\" className=\"form-control\" />\r\n </div>\r\n </>\r\n )}\r\n <label>Body</label>\r\n <CKEditor\r\n name=\"Body\"\r\n Id=\"TeaserText\"\r\n label=\"TeaserText\"\r\n editor={ClassicEditor}\r\n config={{\r\n removePlugins: [\r\n \"Image\",\r\n \"ImageCaption\",\r\n \"ImageStyle\",\r\n \"ImageToolbar\",\r\n \"ImageUpload\",\r\n \"MediaEmbed\",\r\n ],\r\n }}\r\n data={NewText}\r\n onBlur={(event, editor) => {\r\n setNewText(editor.getData());\r\n }}\r\n />\r\n <div className=\"row\">\r\n {IsExceptionLulus && !isLulusDashboard && (\r\n <div\r\n className={\r\n IsExceptionLulus && !isLulusDashboard\r\n ? \"col-lg-3 mb-5 w-100 mt-5\"\r\n : \"mb-5 col-lg-4 w-100 mt-5\"\r\n }\r\n >\r\n <label>Select Exception</label>\r\n <Select\r\n name=\"ExceptionId\"\r\n label=\"Select Exception\"\r\n value={selectedException}\r\n options={exceptionsLists}\r\n onChange={(newValue) => {\r\n setExceptionPost(newValue);\r\n }}\r\n />\r\n </div>\r\n )}\r\n <div\r\n className={\r\n IsExceptionLulus && !isLulusDashboard\r\n ? \"col-lg-3 mb-5 w-100 mt-5\"\r\n : \"mb-5 col-lg-4 w-100 mt-5\"\r\n }\r\n >\r\n <label>Select Category</label>\r\n <Select\r\n name=\"CategoryId\"\r\n label=\"Select Category\"\r\n value={\r\n IsExceptionLulus && selectedCategory.value === \"\"\r\n ? { value: 4, label: \"Exception\" }\r\n : isBilling && selectedCategory.value === \"\"\r\n ? { value: 5, label: \"Information\" }\r\n : selectedCategory\r\n }\r\n options={CategorysList.map((x) => {\r\n return {\r\n value: x?.Id,\r\n label: x?.Name,\r\n };\r\n })}\r\n onChange={(newValue) => {\r\n var a = newValue?.value;\r\n window.$NoteCategoryId = a;\r\n setCategoryPost(newValue);\r\n }}\r\n />\r\n </div>\r\n\r\n <div\r\n className={\r\n IsExceptionLulus && !isLulusDashboard\r\n ? \"col-lg-3 mb-5 w-100 mt-5\"\r\n : \"mb-5 col-lg-4 w-100 mt-5\"\r\n }\r\n >\r\n <label>Access Level</label>\r\n <Select\r\n name=\"AccessLevelId\"\r\n id=\"AccessLevelId\"\r\n label=\"Access Level\"\r\n options={AccessLevels.map((x) => {\r\n return {\r\n value: x?.Id,\r\n label: x?.Name,\r\n };\r\n })}\r\n value={\r\n IsExceptionLulus && selectedAccessLevel.value === \"\"\r\n ? { value: 4, label: \"Public\" }\r\n : isBilling && selectedAccessLevel.value === \"\"\r\n ? { value: 5, label: \"Private\" }\r\n : selectedAccessLevel\r\n }\r\n onChange={(newValue) => {\r\n var a = newValue?.value;\r\n window.$NoteAccessLevelId = a;\r\n setSelectedAccessLevel(newValue);\r\n }}\r\n placeholder=\"Access Level\"\r\n />\r\n </div>\r\n <div\r\n className={\r\n IsExceptionLulus && !isLulusDashboard\r\n ? \"m-auto col-lg-3 text-center\"\r\n : \"m-auto col-lg-4 text-center\"\r\n }\r\n >\r\n <label className=\"text-white\">.</label>\r\n <button\r\n type=\"button\"\r\n className=\"btn btn-light-success mr-2 w-100 mb-5 m-auto\"\r\n onClick={async () => {\r\n if (NewText === \"\") Notification(\"warning\", \"Text is Empty\");\r\n else {\r\n if (\r\n isLulusDashboard &&\r\n (exceptionId === \"\" ||\r\n exceptionId === undefined ||\r\n exceptionId === null)\r\n ) {\r\n Notification(\r\n \"error\",\r\n \"You should Select Exception first to add a note\"\r\n );\r\n return false;\r\n }\r\n await PostNote(\r\n NewText,\r\n window.$NoteCategoryId !== undefined &&\r\n window.$NoteCategoryId !== null &&\r\n window.$NoteCategoryId !== \"\"\r\n ? window.$NoteCategoryId\r\n : IsExceptionLulus && selectedCategory.value === \"\"\r\n ? 4\r\n : 5,\r\n window.$NoteAccessLevelId !== undefined &&\r\n window.$NoteAccessLevelId !== null &&\r\n window.$NoteAccessLevelId !== \"\"\r\n ? window.$NoteAccessLevelId\r\n : IsExceptionLulus && selectedAccessLevel.value === \"\"\r\n ? 4\r\n : 5,\r\n );\r\n getNots(exceptionId);\r\n setTimeout(() => {\r\n setNewText(\"\");\r\n $(\".NotesId\").toggle(\"slow\");\r\n setNoteToggle(noteToggle ? false : true);\r\n $(\"#NewTextNots\").val(\"\");\r\n }, 50);\r\n }\r\n }}\r\n >\r\n <i className=\"fas fa-save mr-2\"></i> Save\r\n </button>\r\n </div>\r\n </div>\r\n <br />\r\n <br />\r\n <br />\r\n <br />\r\n </div>\r\n <NotesEdit Show={Show} setShow={setShow} NoteId={NoteId} />\r\n {(list !== null && list !== undefined && list?.length > 0\r\n ? list\r\n : NotesList\r\n )?.map((x, index) => (\r\n <CardFunction\r\n x={x}\r\n key={index}\r\n index={index}\r\n New={() => getNots()}\r\n setShow={setShow}\r\n setNoteId={setNoteId}\r\n />\r\n ))}\r\n </>\r\n );\r\n}\r\n\r\nfunction NotesEdit({ Show, setShow, NoteId }) {\r\n const saveCustomer = async (customer) => {\r\n const result = await axios.post(\"api/Notes/PutModel\", {\r\n customer,\r\n });\r\n if (result?.status === 200) setShow(false);\r\n };\r\n return (\r\n <Modal\r\n size=\"lg\"\r\n show={Show}\r\n onHide={() => setShow(false)}\r\n aria-labelledby=\"example-modal-sizes-title-lg\"\r\n >\r\n {/* {NoteId?.Id}\r\n <CustomerEditDialogHeader id={NoteId?.Id} /> */}\r\n <CustomerEditForm\r\n saveCustomer={saveCustomer}\r\n /* actionsLoading={actionsLoading} */\r\n customer={NoteId}\r\n onHide={() => setShow(false)}\r\n />\r\n </Modal>\r\n );\r\n}\r\n\r\nasync function GetAllTitles(setTitles) {\r\n return await fetch(window.$apiurl + \"/notes/GetAllTitles\", {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n if (res[0] === 200) {\r\n setTitles(res[1] ?? []);\r\n }\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n}\r\n\r\nasync function AssignNote(id, receiptid, setNoteShow2) {\r\n return fetch(\r\n window.$apiurl + `/notes/AssignNote?id=${id}&receiptId=${receiptid}`,\r\n {\r\n method: \"post\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n }\r\n )\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = statusCode === 200 ? \"\" : await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then(async (res) => {\r\n if (res[0] === 200) {\r\n Notification(\"success\", \"Note has been saved\");\r\n document.getElementById(\"getNots\").click();\r\n setNoteShow2(false);\r\n } else {\r\n Notification(\"error\", res[1]?.Message ?? \"\");\r\n }\r\n });\r\n}\r\n","import React, { useState, useEffect } from \"react\";\r\nimport { Notification } from \"../../../../app/modules/Notification\";\r\nimport { Card } from \"react-bootstrap\";\r\nimport $ from \"jquery\";\r\nimport { CreatableSelect2 } from \"../../../_partials/controls\";\r\nimport { momentDate } from \"../../../_helpers/ATHelpers\";\r\nimport low from \"lowdb\";\r\nimport LocalStorage from \"lowdb/adapters/LocalStorage\";\r\nconst adapter = new LocalStorage(\"db\");\r\nconst db = low(adapter);\r\n\r\nexport function NotesComponentDashboard({ id,message, get, post, put, Categories ,publicNotes}) {\r\n const [NotesList, setNotesList] = useState([]);\r\n const [CategorysList, setCategorysList] = useState([]);\r\n const [AccessLevels, setAccessLevels] = useState([]);\r\n const [NewText, setNewText] = useState(\"\");\r\n const [isSave, setisSave] = useState(\"\");\r\n const [Action, setAction] = useState(\"\");\r\n const [ActionPut, setActionPut] = useState(\"\");\r\n const [isEdit, setEditNote] = useState(false);\r\n const [titleBtnDeletePut, setTitleBtnDeletePut] = useState(\"Delete\");\r\n useEffect(() => {\r\n if (get && id) {\r\n async function fetchMyAPI() {\r\n getNots();\r\n }\r\n fetchMyAPI();\r\n }\r\n }, [get, id]);\r\n\r\n useEffect(() => {\r\n setCategorysList(Categories);\r\n }, [Categories]);\r\n\r\n async function GetNotes() {\r\n return await fetch(`${window.$apiurl}${get}`, {\r\n method: \"get\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then(async (res) => {\r\n return res[1];\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n async function PostNote(bodytext, cat, accessLevelId) {\r\n bodytext += \" | Actions : \" + Action;\r\n return await fetch(`${window.$apiurl}${post}`, {\r\n method: \"post\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify({\r\n Body: bodytext,\r\n CategoryId: cat,\r\n Container: id,\r\n AccessLevelId: accessLevelId,\r\n }),\r\n })\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then(async (res) => {\r\n Notification(\"success\", \"Note has been saved\");\r\n })\r\n .catch((error) => {\r\n Notification(\"success\", \"Note has been saved\");\r\n });\r\n }\r\n\r\n async function DeleteNote(id) {\r\n return await fetch(`${window.$apiurl}/generic/notes/${id}`, {\r\n method: \"Delete\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then(async (res) => {\r\n getNots();\r\n Notification(\"success\", \"Note is Deleted successfully\");\r\n })\r\n .catch((error) => {\r\n getNots();\r\n Notification(\"success\", \"Note is Deleted successfully\");\r\n });\r\n }\r\n function CardFunction({ x, index }) {\r\n const [Showing, setShowing] = useState(false);\r\n const [Text, setText] = useState(\"\");\r\n const [Category, setCategory] = useState(\"\");\r\n async function PutNote(putId, bodytext, CategoryId) {\r\n if(window.$actionPutNote !== undefined){\r\n bodytext += \" | Actions : \" + window.$actionPutNote;\r\n }\r\n return await fetch(`${window.$apiurl}${put}${putId}`, {\r\n method: \"put\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify({ body: bodytext, CategoryId: CategoryId }),\r\n })\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then(async (res) => {\r\n Notification(\"success\", \"Note has been saved\");\r\n setShowing(false);\r\n })\r\n .catch((error) => {\r\n Notification(\"success\", \"Note has been saved\");\r\n setShowing(false);\r\n });\r\n }\r\n\r\n return (\r\n <>\r\n <Card\r\n className={\r\n \"mb-2 m-auto border-secondary \" + (index % 2 === 0 && \"bg-light\")\r\n }\r\n >\r\n <Card.Body>\r\n <Card.Title className=\"d-inline mr-5\">\r\n <i class=\"fas fa-user mr-2\"></i> {x?.CreatedBy}\r\n </Card.Title>\r\n <span className=\"mb-2 d-inline alert alert-light-info px-2 py-1 mt-3 text-primary bg-light\">\r\n {momentDate(x?.CreatedAt)}\r\n {/* <span className=\"mb-2 ml-2 text-muted d-inline\">\r\n {x?.Created !== null &&\r\n ` - edited (${momentDate(x?.Created)})`}\r\n </span> */}\r\n </span>\r\n <br />\r\n {x?.CategoryId !== null &&\r\n CategorysList.find((y) => y.Id === x?.CategoryId)?.Name !==\r\n undefined && (\r\n <div className=\"mb-2 mt-3 text-muted\">\r\n <i class=\"fas fa-book mr-2\"></i>{\" \"}\r\n {CategorysList.find((y) => y.Id === x?.CategoryId)?.Name}\r\n </div>\r\n )}\r\n <Card.Text className=\"mt-5 ml-5\">\r\n {!Showing && (!Text ? x?.Body : Text)}\r\n {Showing && (\r\n <>\r\n <div className=\"form-group row mb-4\">\r\n <div className=\"col-lg-12\">\r\n <CreatableSelect2\r\n name=\"Action\"\r\n label=\"Actions\"\r\n options={[\r\n { value: \"No Action\", label: \"No Action\" },\r\n {\r\n value: \"OTR (Over The Road)\",\r\n label: \"OTR (Over The Road)\",\r\n },\r\n {\r\n value: \"Intermodal Rail (COFC)\",\r\n label: \"Intermodal Rail (COFC)\",\r\n },\r\n ]}\r\n onChange={(newValue) => {\r\n window.$actionPutNote = newValue.value;\r\n }}\r\n />\r\n </div>\r\n </div>\r\n <div className=\"form-group row mb-4\">\r\n <div className=\"col-lg-12\">\r\n <CreatableSelect2\r\n name=\"CategoryId\"\r\n valueSelect={x?.CategoryId || \"\"}\r\n label=\"Select Category\"\r\n options={CategorysList.map((x) => {\r\n return {\r\n value: x?.Id,\r\n label: x?.Name,\r\n };\r\n })}\r\n onChange={(newValue) => {\r\n var a = newValue?.value;\r\n setCategory(a);\r\n }}\r\n />\r\n </div>\r\n </div>\r\n\r\n <div className=\"form-group row\">\r\n <div className=\"col-lg-12\">\r\n <textarea\r\n className=\"form-control mb-5 mt-5\"\r\n rows=\"4\"\r\n defaultValue={!Text ? x?.Body : Text}\r\n onBlur={(event) => {\r\n setText(event.target.value);\r\n }}\r\n ></textarea>\r\n </div>\r\n </div>\r\n </>\r\n )}\r\n </Card.Text>\r\n {db.getState().User?.Email === x?.UserEmail && (\r\n <div\r\n className=\"text-right\"\r\n style={{ position: \"absolute\", bottom: \"20px\", right: \"10px\" }}\r\n >\r\n <button\r\n type=\"button\"\r\n class=\"btn btn-light-primary mr-2\"\r\n onClick={async () => {\r\n if (Showing) {\r\n await PutNote(\r\n x?.Id,\r\n Text === \"\" ? x?.Body : Text,\r\n Category\r\n );\r\n getNots();\r\n } else {\r\n window.$actionPutNote = undefined;\r\n setShowing(true);\r\n // if(!isEdit){\r\n // setEditNote(true);\r\n // }\r\n }\r\n }}\r\n >\r\n {!Showing && (\r\n <>\r\n <i class=\"fas fa-edit mr-2\"></i> Edit\r\n </>\r\n )}\r\n {Showing && (\r\n <>\r\n <i class=\"fas fa-save mr-2\"></i> Save\r\n </>\r\n )}\r\n </button>\r\n {Showing && (\r\n <button\r\n type=\"button\"\r\n class=\"btn btn-light-danger mr-2 ml-3\"\r\n onClick={async () => {\r\n setShowing(false);\r\n }}\r\n >\r\n <i class=\"fas fa-times\"></i> Close\r\n </button>\r\n )}\r\n {db.getState().User?.Email === x?.UserEmail && !Showing && (\r\n <>\r\n {/* Close Btn */}\r\n <button\r\n type=\"button\"\r\n class=\"btn btn-light-danger mr-2 ml-3\"\r\n onClick={async () => {\r\n await DeleteNote(x?.Id);\r\n getNots();\r\n }}\r\n >\r\n <i class=\"fas fa-trash mr-2\"></i> Delete\r\n </button>\r\n </>\r\n )}\r\n </div>\r\n )}\r\n </Card.Body>\r\n </Card>\r\n <br />\r\n </>\r\n );\r\n }\r\n async function getNots() {\r\n var a = await GetNotes();\r\n try{\r\n if(publicNotes){\r\n a.Notes = a?.Notes.filter(\r\n (word) =>\r\n String(word.AccessLevelId).includes(String(\"4\")) || String(word.AccessLevelId).includes(String(\"null\"))\r\n );\r\n setNotesList(a?.Notes);\r\n }else{\r\n setNotesList(a?.Notes || []);\r\n }\r\n }catch(err){}\r\n setCategorysList(a?.Categories || []);\r\n setAccessLevels(a?.AccessLevels || []);\r\n }\r\n return (\r\n <>\r\n <div className=\" m-auto mb-5\">\r\n <button\r\n type=\"button\"\r\n class=\"btn btn-light-primary mr-2 w-100 mb-5\"\r\n onClick={() => {\r\n $(\".NotesId\").toggle(\"slow\");\r\n }}\r\n >\r\n <i class=\"fas fa-plus mr-2\"></i> Add New Note\r\n </button>\r\n </div>\r\n\r\n <div className=\" m-auto mb-5 NotesId\" style={{ display: \"none\" }}>\r\n <label>Text</label>\r\n <textarea\r\n className=\"form-control mb-5\"\r\n rows=\"4\"\r\n id=\"NewTextNots\"\r\n onBlur={(e) => setNewText(e.target.value)}\r\n ></textarea>\r\n <div className=\"row\">\r\n <div className=\"mb-5 col-lg-4 w-100 mt-5\">\r\n <CreatableSelect2\r\n name=\"Action\"\r\n label=\"Actions\"\r\n options={[\r\n { value: \"No Action\", label: \"No Action\" },\r\n { value: \"OTR (Over The Road)\", label: \"OTR (Over The Road)\" },\r\n {\r\n value: \"Intermodal Rail (COFC)\",\r\n label: \"Intermodal Rail (COFC)\",\r\n },\r\n ]}\r\n onChange={(newValue) => {\r\n setAction(newValue?.value);\r\n var a = newValue?.value;\r\n window.$NoteCategoryId = a;\r\n setisSave(a);\r\n }}\r\n />\r\n </div>\r\n <div className=\"mb-5 col-lg-4 w-100 mt-5\">\r\n <CreatableSelect2\r\n name=\"CategoryId\"\r\n label=\"Select Category\"\r\n options={CategorysList.map((x) => {\r\n return {\r\n value: x?.Id,\r\n label: x?.Name,\r\n };\r\n })}\r\n onChange={(newValue) => {\r\n var a = newValue?.value;\r\n window.$NoteCategoryId = a;\r\n setisSave(a);\r\n }}\r\n />\r\n </div>\r\n\r\n <div className=\"mb-5 col-lg-4 w-100 mt-5\">\r\n <CreatableSelect2\r\n name=\"AccessLevelId\"\r\n id=\"AccessLevelId\"\r\n label=\"Access Level\"\r\n options={AccessLevels.map((x) => {\r\n return {\r\n value: x?.Id,\r\n label: x?.Name,\r\n };\r\n })}\r\n onChange={(newValue) => {\r\n var a = newValue?.value;\r\n window.$NoteAccessLevelId = a;\r\n setisSave(a);\r\n }}\r\n placeholder=\"Access Level\"\r\n />\r\n </div>\r\n </div>\r\n <div className=\"row\">\r\n <div className=\"m-auto col-lg-12 text-center\">\r\n <label className=\"text-white\">.</label>\r\n <button\r\n type=\"button\"\r\n class=\"btn btn-light-success mr-2 w-100 mb-5 m-auto\"\r\n onClick={async () => {\r\n if (NewText === \"\") Notification(\"warning\", \"Text is Empty\");\r\n else {\r\n var a = await PostNote(\r\n NewText,\r\n window.$NoteCategoryId,\r\n window.$NoteAccessLevelId\r\n );\r\n getNots();\r\n setTimeout(() => {\r\n setNewText(\"\");\r\n $(\".NotesId\").toggle(\"slow\");\r\n $(\"#NewTextNots\").val(\"\");\r\n }, 50);\r\n }\r\n }}\r\n >\r\n <i class=\"fas fa-save mr-2\"></i> Save\r\n </button>\r\n </div>\r\n </div>\r\n <br />\r\n <br />\r\n <br />\r\n <br />\r\n </div>\r\n <div className=\"form-group row\">\r\n <div className=\"col-lg-12\">\r\n {Action === \"OTR (Over The Road)\" && (\r\n <label style={{ fontSize: \"11px\" }}>{message}</label>\r\n )}\r\n </div>\r\n </div>\r\n {NotesList?.map((x, index) => (\r\n <CardFunction x={x} key={index} index={index} New={() => getNots()} />\r\n ))}\r\n </>\r\n );\r\n}\r\n","import { LinearProgress } from \"@material-ui/core\";\r\nimport low from \"lowdb\";\r\nimport LocalStorage from \"lowdb/adapters/LocalStorage\";\r\nimport React, { useEffect, useMemo, useState } from \"react\";\r\nimport { Card } from \"react-bootstrap\";\r\nimport { useDropzone } from \"react-dropzone\";\r\nimport CreatableSelect from \"react-select/creatable\";\r\nimport { Notification } from \"../../../../app/modules/Notification\";\r\nimport { momentDate } from \"../../../_helpers/ATHelpers\";\r\nimport PDFViewer from \"pdf-viewer-reactjs\";\r\nimport FileViewer from \"react-file-viewer\";\r\nimport \"../../../../app/modules/eMPower/pages/ReceiptsManagementNewVersion/customers-table/FileViewerStyle.css\";\r\nimport FileSaver from \"file-saver\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { IconButton } from \"@material-ui/core\";\r\nimport CloseIcon from \"@material-ui/icons/Close\";\r\nconst adapter = new LocalStorage(\"db\");\r\nconst db = low(adapter);\r\n\r\nexport function AttachementsComponent({ id, post, get, isDashboard }) {\r\n const [isLoading, setisLoading] = useState(false);\r\n const [AttachementList, setAttachementList] = useState([]);\r\n const [AttachmentTypes, setAttachmentTypes] = useState([]);\r\n const [AccessLevels, setAccessLevels] = useState([]);\r\n const [smId, setShipmentId] = useState(\"\");\r\n const [accessLevelPut, setAccessLevelPut] = useState({\r\n value: \"\",\r\n label: \"Access Level\",\r\n });\r\n const [attachmentTypePut, setAttachmentTypePut] = useState({\r\n value: \"\",\r\n label: \"Attachment Type\",\r\n });\r\n\r\n const [accessLevelPost, setAccessLevelPost] = useState({\r\n value: \"\",\r\n label: \"Access Level\",\r\n });\r\n const [attachmentTypePost, setAttachmentTypePost] = useState({\r\n value: \"\",\r\n label: \"Attachment Type\",\r\n });\r\n\r\n const baseStyle = {\r\n flex: 1,\r\n display: \"flex\",\r\n flexDirection: \"column\",\r\n alignItems: \"center\",\r\n padding: \"100px\",\r\n borderWidth: 2,\r\n borderRadius: 2,\r\n borderColor: \"#3699FF\",\r\n borderStyle: \"dashed\",\r\n backgroundColor: \"#fafafa\",\r\n color: \"#464E5F\",\r\n outline: \"none\",\r\n transition: \"border .24s ease-in-out\",\r\n };\r\n const activeStyle = {\r\n borderColor: \"#2196f3\",\r\n };\r\n\r\n const acceptStyle = {\r\n borderColor: \"#00e676\",\r\n };\r\n\r\n const rejectStyle = {\r\n borderColor: \"#ff1744\",\r\n };\r\n const { isDragActive, isDragAccept, isDragReject } = useDropzone({\r\n accept: \"image/*\",\r\n });\r\n const style = useMemo(\r\n () => ({\r\n ...baseStyle,\r\n ...(isDragActive ? activeStyle : {}),\r\n ...(isDragAccept ? acceptStyle : {}),\r\n ...(isDragReject ? rejectStyle : {}),\r\n }),\r\n [\r\n baseStyle,\r\n isDragActive,\r\n isDragReject,\r\n isDragAccept,\r\n activeStyle,\r\n acceptStyle,\r\n rejectStyle,\r\n ]\r\n );\r\n const { acceptedFiles, getRootProps, getInputProps } = useDropzone();\r\n const files = acceptedFiles.map((file) => (\r\n <li key={file.path}>\r\n <strong>{file.path}</strong> - {file.size} bytes\r\n </li>\r\n ));\r\n\r\n useEffect(() => {\r\n if (id && get) {\r\n getAttachments();\r\n }\r\n }, [get, id]);\r\n\r\n async function getAttachments() {\r\n var a = await GetAttachements(id);\r\n try {\r\n if (isDashboard) {\r\n a.Attachments = a.Attachments?.filter(\r\n (x) => x.AccessLevel === \"Public\"\r\n );\r\n }\r\n if (a?.Attachments !== undefined) {\r\n a.Attachments.map((item) => {\r\n item.EditMode = false;\r\n });\r\n }\r\n } catch (err) {}\r\n setAttachementList(a?.Attachments || []);\r\n setAttachmentTypes(a?.AttachmentTypes || []);\r\n setAccessLevels(a?.AccessLevels || []);\r\n }\r\n\r\n async function UpdateShipementAttachement(smId) {\r\n setisLoading(true);\r\n const someData = {\r\n AccessLevelId: accessLevelPut.value,\r\n AttachmentTypeId: attachmentTypePut.value,\r\n };\r\n return fetch(`${window.$apiurl}/generic/attachment/update/${smId}`, {\r\n method: \"put\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(someData),\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then(async () => {\r\n await getAttachments();\r\n setisLoading(false);\r\n })\r\n .catch((error) => {\r\n getAttachments();\r\n });\r\n }\r\n async function GetAttachements() {\r\n return await fetch(`${window.$apiurl}${get}`, {\r\n method: \"get\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then(async (res) => {\r\n return res[1];\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n\r\n async function SecureFileFetch(receiptId, attachmentId) {\r\n return await fetch(\r\n window.$apiurl +\r\n `/generic/attachment/secureFile/${receiptId}/${attachmentId}?isReceipt=true&isQuote=false`,\r\n {\r\n method: \"get\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n }\r\n )\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then(async (res) => {\r\n try {\r\n const data = res[1];\r\n const fileType = getExtension(data.AttachmentFile);\r\n setFileType(fileType.toLowerCase());\r\n setFilePath(data.AttachmentFile);\r\n setDisabledDownload(false);\r\n } catch (err) {}\r\n return res[1];\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n async function SaveShipementAattachement() {\r\n setisLoading(true);\r\n var formdata = new FormData();\r\n const attachmentTypeId = attachmentTypePost.value;\r\n const accessLevelsId = accessLevelPost.value;\r\n acceptedFiles.map((file) => {\r\n formdata.append(\"File\", file, file.name);\r\n });\r\n return await fetch(\r\n `${window.$apiurl}${post}&attachmentTypeId=${attachmentTypeId}&accessLevelId=${accessLevelsId}`,\r\n {\r\n method: \"POST\",\r\n body: formdata,\r\n redirect: \"follow\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n },\r\n }\r\n )\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then(async (res) => {\r\n await getAttachments();\r\n setisLoading(false);\r\n Notification(\"success\", \"File has been updated successfully\");\r\n })\r\n .catch((error) => {\r\n getAttachments();\r\n Notification(\"success\", \"File has been updated successfully\");\r\n });\r\n }\r\n\r\n async function DeleteAttachment(id) {\r\n setisLoading(true);\r\n return await fetch(`${window.$apiurl}/generic/attachment/delete/${id}`, {\r\n method: \"Delete\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then(async (res) => {\r\n getAttachments();\r\n setisLoading(false);\r\n Notification(\"success\", \"Attachment is Delete\");\r\n })\r\n .catch((error) => {\r\n getAttachments();\r\n setisLoading(false);\r\n Notification(\"success\", \"Attachment is Delete\");\r\n });\r\n }\r\n const [showAttachment, setShowAttachment] = useState(false);\r\n const [disabledDownload, setDisabledDownload] = useState(true);\r\n const onError = (e) => {\r\n console.log(e, \"error in file-viewer\");\r\n };\r\n const [type, setFileType] = useState(\"\");\r\n const [filePath, setFilePath] = useState(\"\");\r\n\r\n function getExtension(path) {\r\n var basename = path.split(/[\\\\/]/).pop(),\r\n pos = basename.lastIndexOf(\".\");\r\n if (basename === \"\" || pos < 1) return \"\";\r\n return basename.slice(pos + 1);\r\n }\r\n function CardFunction({ x, index, New }) {\r\n return (\r\n <>\r\n <Card\r\n className={\r\n \"mb-2 m-auto border-secondary \" + (index % 2 === 0 && \"bg-light\")\r\n }\r\n >\r\n <Card.Body>\r\n <Card.Title className=\"d-inline mr-5\">\r\n <i class=\"fas fa-user mr-2\"></i> {x?.CreatedBy}\r\n </Card.Title>\r\n <p className=\"mb-2 d-inline card-subtitle text-primary \">\r\n {momentDate(x?.Created)}\r\n </p>\r\n <Card.Text className=\"mt-5 ml-5\">\r\n <div className=\"row\">\r\n <div className=\"col-lg-9\">\r\n <b className=\"text-primary mr-5\">Download :</b>\r\n <b>\r\n <a\r\n href={() => false}\r\n onClick={async () => {\r\n setShowAttachment(true);\r\n await SecureFileFetch(id, x.Id);\r\n }}\r\n role=\"button\"\r\n className=\"btn btn-light-primary btn-elevate py-1\"\r\n >\r\n {x?.FileName}\r\n </a>\r\n </b>\r\n </div>\r\n <div className=\"col-lg-2\">\r\n {(db.getState().User?.Email === x?.CreatedBy ||\r\n db.getState().User?.RoleId === 12 ||\r\n db.getState().User?.RoleId === 13 ||\r\n db.getState().User?.RoleId === 14) && (\r\n <div className=\"text-right\">\r\n <button\r\n type=\"button\"\r\n class=\"btn btn-light-danger\"\r\n onClick={async () => {\r\n await DeleteAttachment(x?.Id);\r\n New();\r\n }}\r\n >\r\n <i class=\"fas fa-trash ml-1\"></i>\r\n </button>\r\n </div>\r\n )}\r\n </div>\r\n <div className=\"col-lg-1 px-0\">\r\n <div className=\"text-left\">\r\n <button\r\n type=\"button\"\r\n class=\"btn btn-light-primary\"\r\n onClick={async () => {\r\n try {\r\n const data = [...AttachementList];\r\n if (!data[index].EditMode) {\r\n data[index].EditMode = true;\r\n data.map((item) => {\r\n if (item.Id !== x.Id) {\r\n item.EditMode = false;\r\n }\r\n });\r\n }\r\n setAttachementList(data);\r\n setShipmentId(x?.Id);\r\n setAttachmentTypePut({ value: \"\", label: \"Select\" });\r\n setAccessLevelPut({ value: \"\", label: \"Select\" });\r\n } catch (err) {}\r\n }}\r\n >\r\n <i class=\"fas fa-edit ml-1\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n {/* Detail Attachments */}\r\n <div className={x?.EditMode ? \"row mb-md-12\" : \"row\"}>\r\n <div className=\"col-lg-6\">\r\n <b className=\"text-primary mr-5\">Attachment Type :</b>{\" \"}\r\n <b> {x?.Type}</b>\r\n </div>\r\n <div className=\"col-lg-6\">\r\n <b className=\"text-primary mr-5\">Access Level :</b>{\" \"}\r\n <b> {x?.AccessLevel}</b>\r\n </div>\r\n </div>\r\n {/* Edit Mode */}\r\n {x.EditMode && (\r\n <div className=\"form-group row\">\r\n <div className=\"mb-5 col-lg-4 w-100\">\r\n <CreatableSelect\r\n name=\"AttachmentTypeId\"\r\n id=\"AttachmentTypeId\"\r\n value={attachmentTypePut || \"Attachment Type\"}\r\n options={AttachmentTypes?.map((x) => {\r\n return {\r\n value: x?.Id,\r\n label: x?.Name,\r\n };\r\n })}\r\n onChange={(newValue) => {\r\n setAttachmentTypePut(newValue);\r\n const accessLevelItem = AttachmentTypes.find(\r\n (x) => x.Id === newValue.value\r\n );\r\n const accessLevelId =\r\n accessLevelItem.AccessLevel === \"Public\" ? 4 : 5;\r\n setAccessLevelPut({\r\n value: accessLevelId,\r\n label: accessLevelItem.AccessLevel,\r\n });\r\n }}\r\n placeholder=\"Attachment Type\"\r\n />\r\n </div>\r\n <div className=\"mb-2 col-lg-4 w-100\">\r\n <CreatableSelect\r\n name=\"AccessLevelId\"\r\n id=\"AccessLevelId\"\r\n value={accessLevelPut || \"Access Level\"}\r\n options={AccessLevels.map((x) => {\r\n return {\r\n value: x?.Id,\r\n label: x?.Name,\r\n };\r\n })}\r\n onChange={(newValue) => {\r\n setAccessLevelPut(newValue);\r\n }}\r\n placeholder=\"Access Level\"\r\n />\r\n </div>\r\n <div className=\"col-lg-4\">\r\n <button\r\n type=\"submit\"\r\n onClick={async () => {\r\n UpdateShipementAttachement(smId);\r\n setisLoading(false);\r\n Notification(\"success\", \"Success\");\r\n }}\r\n className=\"btn btn-primary btn-elevate mr-5 w-100\"\r\n >\r\n Save\r\n </button>\r\n </div>\r\n </div>\r\n )}\r\n </Card.Text>\r\n </Card.Body>\r\n </Card>\r\n <br />\r\n </>\r\n );\r\n }\r\n return (\r\n <>\r\n <div className=\"form-group row\">\r\n <div className=\"mb-5 col-lg-12 pb-1 text-left pl-4\">\r\n <div className=\"\">\r\n <div {...getRootProps({ style })}>\r\n <input {...getInputProps()} />\r\n <svg\r\n aria-hidden=\"true\"\r\n focusable=\"false\"\r\n className=\"uppy-c-icon uppy-DragDrop-arrow\"\r\n width=\"40\"\r\n height=\"40\"\r\n viewBox=\"0 0 16 16\"\r\n >\r\n <path\r\n d=\"M11 10V0H5v10H2l6 6 6-6h-3zm0 0\"\r\n fill-rule=\"evenodd\"\r\n ></path>\r\n </svg>\r\n <div className=\"uppy-DragDrop-label\">\r\n Drop files here or{\" \"}\r\n <span className=\"uppy-DragDrop-browse\">browse</span>\r\n </div>\r\n </div>\r\n <aside>\r\n <h4 className=\"pt-5\">Files</h4>\r\n <ul>{files}</ul>\r\n </aside>\r\n </div>\r\n </div>\r\n\r\n <div className=\"mb-5 col-lg-4 w-100\">\r\n <CreatableSelect\r\n name=\"AttachmentTypeId\"\r\n id=\"AttachmentTypeId\"\r\n options={AttachmentTypes?.map((x) => {\r\n return {\r\n value: x?.Id,\r\n label: x?.Name,\r\n };\r\n })}\r\n onChange={(newValue) => {\r\n setAttachmentTypePost(newValue);\r\n const accessLevelItem = AttachmentTypes.find(\r\n (x) => x.Id === newValue.value\r\n );\r\n const accessLevelId =\r\n accessLevelItem.AccessLevel === \"Public\" ? 4 : 5;\r\n setAccessLevelPost({\r\n value: accessLevelId,\r\n label: accessLevelItem.AccessLevel,\r\n });\r\n }}\r\n value={attachmentTypePost || \"Attachment Type\"}\r\n />\r\n </div>\r\n <div className=\"mb-5 col-lg-4 w-100\">\r\n <CreatableSelect\r\n name=\"AccessLevelsId\"\r\n id=\"AccessLevelsId\"\r\n value={accessLevelPost || \"Access Level\"}\r\n options={AccessLevels.map((x) => {\r\n return {\r\n value: x?.Id,\r\n label: x?.Name,\r\n };\r\n })}\r\n onChange={(newValue) => {\r\n setAccessLevelPost(newValue);\r\n }}\r\n placeholder=\"Access Levels\"\r\n />\r\n </div>\r\n <div className=\"col-lg-4\">\r\n <button\r\n type=\"submit\"\r\n onClick={SaveShipementAattachement}\r\n disabled={\r\n isLoading ||\r\n (accessLevelPost.value !== \"\" && attachmentTypePost.value !== \"\"\r\n ? false\r\n : true)\r\n }\r\n className=\"btn btn-primary btn-elevate mr-5 w-100\"\r\n >\r\n Save\r\n </button>\r\n </div>\r\n <div className=\"col-lg-12\">{isLoading && <LinearProgress />}</div>\r\n\r\n <div className=\"col-lg-12\">\r\n {AttachementList?.map((x, index) => (\r\n <CardFunction\r\n x={x}\r\n key={index}\r\n index={index}\r\n New={() => getAttachments()}\r\n />\r\n ))}\r\n </div>\r\n </div>\r\n {/* Modal Attachment Viewer */}\r\n <Modal\r\n size=\"xl\"\r\n show={showAttachment}\r\n onHide={() => {\r\n setShowAttachment(false);\r\n }}\r\n aria-labelledby=\"example-modal-sizes-title-lg\"\r\n >\r\n <Modal.Header>\r\n <Modal.Title>Attachment Viewer for RM #: {id}</Modal.Title>\r\n <IconButton\r\n \r\n aria-label=\"Close\"\r\n onClick={() => {\r\n setShowAttachment(false);\r\n }}\r\n >\r\n <CloseIcon />\r\n </IconButton>\r\n </Modal.Header>\r\n <Modal.Body>\r\n <>\r\n <div className=\"form-group row mb-5\">\r\n <div className=\"col-lg-8\"></div>\r\n <div className=\"col-lg-4\" style={{ textAlignLast: \"right\" }}>\r\n <button\r\n type=\"submit\"\r\n disabled={disabledDownload}\r\n className=\"btn btn-primary btn-elevate\"\r\n onClick={() => {\r\n const fileName = filePath.replace(/^.*[\\\\\\/]/, \"\");\r\n console.log(fileName);\r\n FileSaver(filePath, fileName);\r\n }}\r\n >\r\n Download\r\n </button>{\" \"}\r\n </div>\r\n </div>\r\n {type === \"pdf\" ? (\r\n <div className=\"form-group row\" key={Math.random()}>\r\n <div className=\"col-lg-12 pdfViewer\" key={Math.random()}>\r\n <PDFViewer\r\n document={{\r\n url: filePath,\r\n }}\r\n />\r\n </div>\r\n </div>\r\n ) : (\r\n <div className=\"form-group row\" key={Math.random()}>\r\n <div className=\"col-lg-12\" key={Math.random()}>\r\n <FileViewer\r\n fileType={type}\r\n filePath={filePath}\r\n onError={onError}\r\n className=\"w-100\"\r\n />\r\n </div>\r\n </div>\r\n )}\r\n </>\r\n </Modal.Body>\r\n <Modal.Footer>\r\n <button\r\n type=\"button\"\r\n onClick={() => {\r\n setShowAttachment(false);\r\n }}\r\n className=\"btn btn-light btn-elevate w-25\"\r\n >\r\n Close\r\n </button>\r\n </Modal.Footer>\r\n </Modal>\r\n </>\r\n );\r\n}\r\n","import React from \"react\";\r\nimport { withStyles, makeStyles } from \"@material-ui/core/styles\";\r\nimport Table from \"@material-ui/core/Table\";\r\nimport TableBody from \"@material-ui/core/TableBody\";\r\nimport TableCell from \"@material-ui/core/TableCell\";\r\nimport TableHead from \"@material-ui/core/TableHead\";\r\nimport TableRow from \"@material-ui/core/TableRow\";\r\nimport Paper from \"@material-ui/core/Paper\";\r\n\r\nconst StyledTableCell = withStyles((theme) => ({\r\n head: {\r\n backgroundColor: theme.palette.common.black,\r\n color: theme.palette.common.white,\r\n },\r\n body: {\r\n fontSize: 14,\r\n },\r\n}))(TableCell);\r\n\r\nconst StyledTableRow = withStyles((theme) => ({\r\n root: {\r\n \"&:nth-of-type(odd)\": {\r\n backgroundColor: theme.palette.background.default,\r\n },\r\n },\r\n}))(TableRow);\r\n\r\n/* function createData(name, calories, fat, carbs, protein) {\r\n return { name, calories, fat, carbs, protein };\r\n} */\r\n\r\n/* const rows = [\r\n { name: \"Frozen yoghurt\", calories: 159, fat: 6.0, carbs: 24, protein: 4.0 },\r\n]; */\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n root: {\r\n width: \"100%\",\r\n marginTop: theme.spacing(3),\r\n overflowX: \"auto\",\r\n },\r\n table: {\r\n minWidth: 700,\r\n },\r\n}));\r\n\r\nexport function Customizedtables({ rowsName, rows }) {\r\n const classes = useStyles();\r\n\r\n return (\r\n <Paper className={classes.root}>\r\n <Table className={classes.table}>\r\n <TableHead>\r\n <TableRow>\r\n {rowsName.map((x, i) => (\r\n <StyledTableCell align={i === 0 ? \"left\" : \"right\"}>\r\n {x?.Title}\r\n </StyledTableCell>\r\n ))}\r\n {/* <StyledTableCell>Dessert (100g serving)</StyledTableCell>\r\n <StyledTableCell align=\"right\">Calories</StyledTableCell>\r\n <StyledTableCell align=\"right\">Fat (g)</StyledTableCell>\r\n <StyledTableCell align=\"right\">Carbs (g)</StyledTableCell>\r\n <StyledTableCell align=\"right\">Protein (g)</StyledTableCell> */}\r\n </TableRow>\r\n </TableHead>\r\n <TableBody>\r\n {rows.map((row) => (\r\n <StyledTableRow key={row.name}>\r\n {rowsName.map((x, i) => (\r\n <StyledTableCell\r\n component={i === 0 && \"th\"}\r\n scope={i === 0 && \"row\"}\r\n align={i === 0 ? \"left\" : \"right\"}\r\n >\r\n {row[x.Name]}\r\n </StyledTableCell>\r\n ))}\r\n </StyledTableRow>\r\n ))}\r\n </TableBody>\r\n </Table>\r\n </Paper>\r\n );\r\n}\r\n","import React from \"react\";\r\nimport { makeStyles } from \"@material-ui/core/styles\";\r\nimport Table from \"@material-ui/core/Table\";\r\nimport TableBody from \"@material-ui/core/TableBody\";\r\nimport TableCell from \"@material-ui/core/TableCell\";\r\nimport TableHead from \"@material-ui/core/TableHead\";\r\nimport TableRow from \"@material-ui/core/TableRow\";\r\nimport Paper from \"@material-ui/core/Paper\";\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n root: {\r\n width: \"100%\",\r\n },\r\n paper: {\r\n marginTop: theme.spacing(1),\r\n width: \"100%\",\r\n overflowX: \"auto\",\r\n marginBottom: theme.spacing(2),\r\n },\r\n table: {\r\n minWidth: 650,\r\n },\r\n}));\r\nexport function DenseTable({ rowsName, rows, lastBold = false }) {\r\n const classes = useStyles();\r\n\r\n return (\r\n <div className={classes.root}>\r\n <Paper className={classes.paper}>\r\n <Table className={classes.table} size=\"small\">\r\n <TableHead>\r\n <TableRow>\r\n {rowsName.map((x, i) => (\r\n <TableCell\r\n align=\"left\" /* align={i === 0 ? \"left\" : \"right\"} */\r\n >\r\n {x?.Title}\r\n </TableCell>\r\n ))}\r\n </TableRow>\r\n </TableHead>\r\n <TableBody>\r\n {rows.map((row, index) => (\r\n <TableRow key={row.name}>\r\n {rowsName.map((x, i) => (\r\n <TableCell\r\n component={i === 0 && \"th\"}\r\n scope={i === 0 && \"row\"}\r\n align=\"left\"\r\n /* align={i === 0 ? \"left\" : \"right\"} */\r\n >\r\n {lastBold && rows.length - 1 === index ? (\r\n <b>{row[x.Name]}</b>\r\n ) : (\r\n <>{row[x.Name]}</>\r\n )}\r\n </TableCell>\r\n ))}\r\n </TableRow>\r\n ))}\r\n </TableBody>\r\n </Table>\r\n </Paper>\r\n </div>\r\n );\r\n}\r\n","import React from \"react\";\r\nimport clsx from \"clsx\";\r\nimport PropTypes from \"prop-types\";\r\nimport { lighten, makeStyles } from \"@material-ui/core/styles\";\r\nimport Table from \"@material-ui/core/Table\";\r\nimport TableBody from \"@material-ui/core/TableBody\";\r\nimport TableCell from \"@material-ui/core/TableCell\";\r\nimport TableHead from \"@material-ui/core/TableHead\";\r\nimport TablePagination from \"@material-ui/core/TablePagination\";\r\nimport TableRow from \"@material-ui/core/TableRow\";\r\nimport TableSortLabel from \"@material-ui/core/TableSortLabel\";\r\nimport Toolbar from \"@material-ui/core/Toolbar\";\r\nimport Typography from \"@material-ui/core/Typography\";\r\nimport Paper from \"@material-ui/core/Paper\";\r\nimport Checkbox from \"@material-ui/core/Checkbox\";\r\nimport IconButton from \"@material-ui/core/IconButton\";\r\nimport FormControlLabel from \"@material-ui/core/FormControlLabel\";\r\nimport Switch from \"@material-ui/core/Switch\";\r\nimport DeleteIcon from \"@material-ui/icons/Delete\";\r\nimport FilterListIcon from \"@material-ui/icons/FilterList\";\r\nimport { OverlayTrigger, Tooltip } from \"react-bootstrap\";\r\n\r\nfunction createData(name, calories, fat, carbs, protein) {\r\n return { name, calories, fat, carbs, protein };\r\n}\r\n\r\nconst useToolbarStyles = makeStyles((theme) => ({\r\n root: {\r\n paddingLeft: theme.spacing(2),\r\n paddingRight: theme.spacing(1),\r\n },\r\n highlight:\r\n theme.palette.type === \"light\"\r\n ? {\r\n color: theme.palette.secondary.main,\r\n backgroundColor: lighten(theme.palette.secondary.light, 0.85),\r\n }\r\n : {\r\n color: theme.palette.text.primary,\r\n backgroundColor: theme.palette.secondary.dark,\r\n },\r\n spacer: {\r\n flex: \"1 1 100%\",\r\n },\r\n actions: {\r\n color: theme.palette.text.secondary,\r\n },\r\n title: {\r\n flex: \"0 0 auto\",\r\n },\r\n}));\r\n\r\nconst EnhancedTableToolbar = (props) => {\r\n const classes = useToolbarStyles();\r\n const { numSelected } = props;\r\n\r\n return (\r\n <Toolbar\r\n className={clsx(classes.root, {\r\n [classes.highlight]: numSelected > 0,\r\n })}\r\n >\r\n <div className={classes.title}>\r\n {numSelected > 0 ? (\r\n <Typography color=\"inherit\" variant=\"subtitle1\">\r\n {numSelected} selected\r\n </Typography>\r\n ) : (\r\n <Typography variant=\"h6\" id=\"tableTitle\">\r\n Nutrition\r\n </Typography>\r\n )}\r\n </div>\r\n <div className={classes.spacer} />\r\n <div className={classes.actions}>\r\n {numSelected > 0 ? (\r\n <Tooltip title=\"Delete\">\r\n <IconButton aria-label=\"Delete\">\r\n <DeleteIcon />\r\n </IconButton>\r\n </Tooltip>\r\n ) : (\r\n <Tooltip title=\"Filter list\">\r\n <IconButton aria-label=\"Filter list\">\r\n <FilterListIcon />\r\n </IconButton>\r\n </Tooltip>\r\n )}\r\n </div>\r\n </Toolbar>\r\n );\r\n};\r\n\r\nEnhancedTableToolbar.propTypes = {\r\n numSelected: PropTypes.number.isRequired,\r\n};\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n root: {\r\n width: \"100%\",\r\n marginTop: theme.spacing(3),\r\n },\r\n paper: {\r\n width: \"100%\",\r\n marginBottom: theme.spacing(2),\r\n },\r\n table: {\r\n minWidth: 750,\r\n },\r\n tableWrapper: {\r\n overflowX: \"auto\",\r\n },\r\n}));\r\n\r\nexport function EnhancedTable({ rowsName, rows, lastBold = false }) {\r\n const classes = useStyles();\r\n const [order, setOrder] = React.useState(\"asc\");\r\n const [orderBy, setOrderBy] = React.useState(\"calories\");\r\n const [selected, setSelected] = React.useState([]);\r\n const [page, setPage] = React.useState(0);\r\n const [dense, setDense] = React.useState(false);\r\n const [rowsPerPage, setRowsPerPage] = React.useState(5);\r\n\r\n function handleRequestSort(event, property) {\r\n const isDesc = orderBy === property && order === \"desc\";\r\n setOrder(isDesc ? \"asc\" : \"desc\");\r\n setOrderBy(property);\r\n }\r\n\r\n function handleChangePage(event, newPage) {\r\n setPage(newPage);\r\n }\r\n\r\n function handleChangeRowsPerPage(event) {\r\n setRowsPerPage(+event.target.value);\r\n }\r\n\r\n function handleChangeDense(event) {\r\n setDense(event.target.checked);\r\n }\r\n\r\n return (\r\n <div className={classes.root}>\r\n <Paper className={classes.paper}>\r\n <div className={classes.tableWrapper}>\r\n <Table\r\n className={`LineItems ${classes.table}`}\r\n aria-labelledby=\"tableTitle\"\r\n size={dense ? \"small\" : \"medium\"}\r\n >\r\n <TableHead>\r\n <TableRow>\r\n {rowsName.map((x, i) => (\r\n <TableCell align=\"left\">\r\n <b>{x?.Title}</b>\r\n </TableCell>\r\n ))}\r\n </TableRow>\r\n </TableHead>\r\n <TableBody>\r\n {rows\r\n .slice(page * rowsPerPage, page * rowsPerPage + rowsPerPage)\r\n .map((row, index) => (\r\n <TableRow key={row.name}>\r\n {rowsName.map((x, i) => (\r\n <TableCell\r\n component={i === 0 && \"th\"}\r\n scope={i === 0 && \"row\"}\r\n align={\"left\"}\r\n >\r\n {lastBold && rows.length - 1 === index ? (\r\n <b>{row[x.Name]}</b>\r\n ) : (\r\n <>\r\n {x.Name === \"PurchaseOrder\" &&\r\n row?.IsRtvConfirmed === true ? (\r\n <OverlayTrigger\r\n overlay={\r\n <Tooltip id=\"products-edit-tooltip\">\r\n RTV\r\n </Tooltip>\r\n }\r\n >\r\n <a\r\n className={`btn btn-light-danger px-2 py-1 mt-3 ml-1`}\r\n >\r\n {row[x.Name]}\r\n </a>\r\n </OverlayTrigger>\r\n ) : (\r\n row[x.Name]\r\n )}\r\n </>\r\n )}\r\n </TableCell>\r\n ))}\r\n </TableRow>\r\n ))}\r\n </TableBody>\r\n </Table>\r\n </div>\r\n <TablePagination\r\n rowsPerPageOptions={[5, 10, 25]}\r\n component=\"div\"\r\n count={rows.length}\r\n rowsPerPage={rowsPerPage}\r\n page={page}\r\n backIconButtonProps={{\r\n \"aria-label\": \"Previous Page\",\r\n }}\r\n nextIconButtonProps={{\r\n \"aria-label\": \"Next Page\",\r\n }}\r\n onChangePage={handleChangePage}\r\n onChangeRowsPerPage={handleChangeRowsPerPage}\r\n />\r\n </Paper>\r\n </div>\r\n );\r\n}\r\n","import React from \"react\";\r\nimport { makeStyles } from \"@material-ui/core/styles\";\r\nimport Table from \"@material-ui/core/Table\";\r\nimport TableBody from \"@material-ui/core/TableBody\";\r\nimport TableCell from \"@material-ui/core/TableCell\";\r\nimport TableHead from \"@material-ui/core/TableHead\";\r\nimport TableRow from \"@material-ui/core/TableRow\";\r\nimport Paper from \"@material-ui/core/Paper\";\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n root: {\r\n width: \"100%\",\r\n },\r\n paper: {\r\n marginTop: theme.spacing(1),\r\n width: \"100%\",\r\n overflowX: \"auto\",\r\n marginBottom: theme.spacing(2),\r\n },\r\n table: {\r\n minWidth: 650,\r\n },\r\n}));\r\nexport function DenseTableSm({ rowsName, rows }) {\r\n const classes = useStyles();\r\n\r\n return (\r\n <div className={classes.root}>\r\n <Paper className={classes.paper}>\r\n <Table className={`LineItems ${classes.table}`} size=\"small\">\r\n <TableHead>\r\n <TableRow>\r\n {rowsName.map((x, i) => (\r\n <TableCell align=\"left\">{x?.Title}</TableCell>\r\n ))}\r\n </TableRow>\r\n </TableHead>\r\n <TableBody>\r\n {rows.map((row) => (\r\n <TableRow key={row.name}>\r\n {rowsName.map((x, i) => (\r\n <TableCell\r\n component={i === 0 && \"th\"}\r\n scope={i === 0 && \"row\"}\r\n align=\"left\"\r\n >\r\n {x?.format\r\n ? x?.format({ row })\r\n : row[x.Name] === true || row[x.Name] === true\r\n ? row[x.Name].toString()\r\n : row[x.Name]}\r\n </TableCell>\r\n ))}\r\n </TableRow>\r\n ))}\r\n </TableBody>\r\n </Table>\r\n </Paper>\r\n </div>\r\n );\r\n}\r\n","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport { makeStyles } from \"@material-ui/core/styles\";\r\nimport AppBar from \"@material-ui/core/AppBar\";\r\nimport Tabs from \"@material-ui/core/Tabs\";\r\nimport Tab from \"@material-ui/core/Tab\";\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n root: {\r\n flexGrow: 1,\r\n backgroundColor: theme.palette.background.paper,\r\n },\r\n}));\r\n\r\nexport function SimpleTabs({ List = [], SelectValueTab }) {\r\n const classes = useStyles();\r\n const [value, setValue] = React.useState(0);\r\n\r\n function handleChange(event, newValue) {\r\n setValue(newValue);\r\n }\r\n\r\n return (\r\n <div className={classes.root}>\r\n <AppBar position=\"static\">\r\n <Tabs value={value} onChange={handleChange}>\r\n {List.map((x, i) => (\r\n <Tab\r\n label={x}\r\n key={i}\r\n onClick={() => {\r\n if (SelectValueTab) SelectValueTab(x);\r\n }}\r\n />\r\n ))}\r\n </Tabs>\r\n </AppBar>\r\n </div>\r\n );\r\n}\r\n","export { LulusHandlingExceptions } from \"./Notes/LulusHandlingExceptions\";\r\n\r\n// Forms\r\nexport { DatePickerField } from \"./forms/DatePickerField\";\r\nexport { FieldFeedbackLabel } from \"./forms/FieldFeedbackLabel\";\r\nexport { FormAlert } from \"./forms/FormAlert\";\r\nexport { Input } from \"./forms/Input\";\r\nexport { TextArea } from \"./forms/TextArea\";\r\nexport { Select } from \"./forms/Select\";\r\nexport { RadioButton } from \"./forms/RadioButton\";\r\nexport { Checkbox } from \"./forms/Checkbox\";\r\nexport { CheckboxLarge } from \"./forms/CheckboxLarge\";\r\nexport { CheckboxLargeWB } from \"./forms/CheckboxLargeWB\";\r\nexport { DownshiftMultipleSelect } from \"./forms/DownshiftMultipleSelect\";\r\nexport { HeaderCheckbox } from \"./forms/HeaderCheckbox\";\r\nexport { DateTime30 } from \"./forms/DateTime30\";\r\nexport { DateTime12 } from \"./forms/DateTime12\";\r\nexport { CreatableSelect2 } from \"./forms/CreatableSelect2\";\r\nexport { CreatableSelect3 } from \"./forms/CreatableSelect3\";\r\nexport { DateTimeSimple } from \"./forms/DateTimeSimple\";\r\n\r\n// Paginations\r\nexport { Pagination } from \"./pagination/Pagination\";\r\nexport { PaginationLinks } from \"./pagination/PaginationLinks\";\r\nexport { PaginationToolbar } from \"./pagination/PaginationToolbar\";\r\n\r\n// Controls\r\nexport * from \"./Card\";\r\nexport { default as AnimateLoading } from \"./AnimateLoading\";\r\nexport { LoadingDialog } from \"./LoadingDialog\";\r\nexport { Notice } from \"./Notice\";\r\nexport { SplashScreen } from \"./SplashScreen\";\r\nexport { SVGIcon } from \"./SVGIcon\";\r\nexport { ModalProgressBar } from \"./ModalProgressBar\";\r\nexport { NotesComponent } from \"./Notes/NotesComponent\";\r\nexport { NotesComponentDashboard } from \"./Notes/NotesComponentDashboard\";\r\nexport { AttachementsComponent } from \"./Attachements/AttachementsComponent\";\r\n\r\n//Table\r\n\r\nexport { Customizedtables } from \"./Table/Customizedtables\";\r\nexport { DenseTable } from \"./Table/DenseTable\";\r\nexport { EnhancedTable } from \"./Table/EnhancedTable\";\r\nexport { DenseTableSm } from \"./Table/DenseTableSm\";\r\nexport { SimpleTabs } from \"./Table/SimpleTabs\";\r\n","/* eslint-disable no-script-url,jsx-a11y/anchor-is-valid,jsx-a11y/img-redundant-alt */\r\nimport React from \"react\";\r\nimport BootstrapTable from \"react-bootstrap-table-next\";\r\nimport paginationFactory from \"react-bootstrap-table2-paginator\";\r\nimport {\r\n headerSortingClasses, sortCaret\r\n} from \"../../../_helpers\";\r\nexport function ItemTablesWidget({ className }) {\r\n const ExceptionColums = [\r\n {\r\n dataField: \"items\",\r\n text: \"items\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n headerSortingClasses,\r\n },\r\n {\r\n dataField: \"DateException\",\r\n text: \"Date\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n headerSortingClasses,\r\n },\r\n {\r\n dataField: \"description\",\r\n text: \"description\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n headerSortingClasses,\r\n },\r\n ];\r\n const ExceptionsData = [\r\n {\r\n id: 1,\r\n items: \"72642\",\r\n DateException: \"9/04/2021\",\r\n description: \"Missing 4 Cases\",\r\n },\r\n ];\r\n return (\r\n <>\r\n \r\n <div className={`card card-custom ${className}`}>\r\n {/* Head */}\r\n <div className=\"card-header border-0 py-5\">\r\n <h3 className=\"card-title align-items-start flex-column\">\r\n <span className=\"card-label font-weight-bolder text-dark\">\r\n Missing Box\r\n </span>\r\n <span className=\"text-muted mt-3 font-weight-bold font-size-sm\">\r\n 4 PO's 0 Total Items\r\n </span>\r\n </h3>\r\n </div>\r\n {/* Body */}\r\n <div className=\"card-body pt-0 pb-3\">\r\n <BootstrapTable\r\n id=\"id\"\r\n keyField=\"id\"\r\n data={ExceptionsData}\r\n columns={ExceptionColums}\r\n pagination={paginationFactory()}\r\n wrapperClasses=\"table-responsive\"\r\n classes=\"table table-head-custom table-vertical-center\"\r\n bootstrap4\r\n remote\r\n bordered={false}\r\n />\r\n </div>\r\n </div>\r\n </>\r\n );\r\n}\r\n","/* eslint-disable no-script-url,jsx-a11y/anchor-is-valid */\r\nimport React, { useMemo, useEffect, useState } from \"react\";\r\nimport objectPath from \"object-path\";\r\nimport ApexCharts from \"apexcharts\";\r\nimport { useHtmlClassService } from \"../../../layout\";\r\nimport { DropdownCustomToggler, DropdownMenu4 } from \"../../dropdowns\";\r\nimport { Dropdown } from \"react-bootstrap\";\r\nimport { ProgressBar } from \"react-bootstrap\";\r\nimport moment from \"moment\";\r\n\r\nexport function ShipmentChart({\r\n className,\r\n GlobalShartData,\r\n ChartLoadingSpinner,\r\n}) {\r\n const [value, onChange] = useState([\r\n moment()\r\n .add(-7, \"days\")\r\n .format(\"YYYY-MM-DD\"),\r\n moment().format(\"YYYY-MM-DD\"),\r\n ]);\r\n const [startDateValue, setStartDate] = React.useState(\r\n new Date()\r\n .addDays(-7)\r\n .toISOString()\r\n .split(\"T\")[0]\r\n );\r\n const [endDateValue, setEndDate] = React.useState(\r\n new Date().toISOString().split(\"T\")[0]\r\n );\r\n const uiService = useHtmlClassService();\r\n const layoutProps = useMemo(() => {\r\n return {\r\n colorsGrayGray500: objectPath.get(\r\n uiService.config,\r\n \"js.colors.gray.gray500\"\r\n ),\r\n colorsGrayGray200: objectPath.get(\r\n uiService.config,\r\n \"js.colors.gray.gray200\"\r\n ),\r\n colorsGrayGray300: objectPath.get(\r\n uiService.config,\r\n \"js.colors.gray.gray300\"\r\n ),\r\n colorsThemeBaseSuccess: objectPath.get(\r\n uiService.config,\r\n \"js.colors.theme.base.success\"\r\n ),\r\n colorsThemeLightSuccess: objectPath.get(\r\n uiService.config,\r\n \"js.colors.theme.light.success\"\r\n ),\r\n fontFamily: objectPath.get(uiService.config, \"js.fontFamily\"),\r\n };\r\n }, [uiService]);\r\n\r\n useEffect(() => {\r\n const element = document.getElementById(\"kt_shipment_widget_7_chart\");\r\n\r\n if (!element) {\r\n return;\r\n }\r\n\r\n const options = getChartOption(layoutProps, GlobalShartData);\r\n const chart = new ApexCharts(element, options);\r\n chart.render();\r\n return function cleanUp() {\r\n chart.destroy();\r\n };\r\n }, [layoutProps, GlobalShartData]);\r\n\r\n return (\r\n <div className={`card card-custom ${className}`}>\r\n {ChartLoadingSpinner && (\r\n <ProgressBar\r\n variant=\"success\"\r\n animated\r\n now={100}\r\n style={{ height: \"3px\", width: \"100%\" }}\r\n />\r\n )}\r\n <div className=\"card-header border-0\">\r\n <h3 className=\"card-title font-weight-bolder text-dark\">\r\n Lulus workflow\r\n </h3>\r\n </div>\r\n <div className=\"card-body d-flex flex-column pt-0\">\r\n <div className=\"row\">\r\n <div className=\"col-xl-7 col-lg-8 col-md-8 align-self-center\">\r\n <div\r\n id=\"kt_shipment_widget_7_chart\"\r\n className=\"card-rounded-bottom\"\r\n style={{ height: \"100px\" }}\r\n ></div>\r\n </div>\r\n <div className=\"col-xl-5 col-lg-4 col-md-4 mt-0\">\r\n <div className=\"d-flex align-items-center mb-5\">\r\n <div className=\"symbol symbol-40 symbol-primary mr-5\">\r\n <span className=\"symbol-label\">\r\n <span className=\"svg-icon svg-icon-lg svg-icon-primary\">\r\n {GlobalShartData.filter((item) => item.Status === \"Active\")[0]\r\n ?.Count || 0}\r\n </span>\r\n </span>\r\n </div>\r\n\r\n <div className=\"d-flex flex-column font-weight-bold\">\r\n <a\r\n href=\"#\"\r\n className=\"text-dark text-hover-primary mb-1 font-size-lg\"\r\n onClick={() => {\r\n window.GlobalTable = \"Active\";\r\n setTimeout(() => {\r\n var el = document.getElementById(\"Active\");\r\n window.scroll({\r\n top: el?.offsetTop - 120,\r\n behavior: \"smooth\",\r\n });\r\n }, 50);\r\n }}\r\n >\r\n Active\r\n </a>\r\n <span className=\"text-muted\">{GlobalShartData.filter((item) => item.Status === \"Active\")[0]\r\n ?.Details || \"\"}</span>\r\n </div>\r\n </div>\r\n\r\n <div className=\"d-flex align-items-center mb-5\">\r\n <div className=\"symbol symbol-40 symbol-light-Appointed mr-5\">\r\n <span className=\"symbol-label\">\r\n <span className=\"svg-icon svg-icon-lg svg-icon-Appointed\">\r\n {GlobalShartData.filter(\r\n (item) => item.Status === \"Planned\"\r\n )[0]?.Count || 0}\r\n </span>\r\n </span>\r\n </div>\r\n <div className=\"d-flex flex-column font-weight-bold\">\r\n <a\r\n href=\"#\"\r\n className=\"text-dark-75 text-hover-primary mb-1 font-size-lg\"\r\n onClick={() => {\r\n window.GlobalTable = \"Planned\";\r\n setTimeout(() => {\r\n var el = document.getElementById(\"Planned\");\r\n window.scroll({\r\n top: el?.offsetTop - 120,\r\n behavior: \"smooth\",\r\n });\r\n }, 50);\r\n }}\r\n >\r\n Planned\r\n </a>\r\n <span className=\"text-muted\">{GlobalShartData.filter((item) => item.Status === \"Planned\")[0]\r\n ?.Details || \"\"}</span>\r\n </div>\r\n </div>\r\n <div className=\"d-flex align-items-center mb-5\">\r\n <div className=\"symbol symbol-40 symbol-warning mr-5\">\r\n <span className=\"symbol-label\">\r\n <span className=\"svg-icon svg-icon-lg svg-icon-warning\">\r\n {GlobalShartData.filter(\r\n (item) => item.Status === \"Appointed\"\r\n )[0]?.Count || 0}\r\n </span>\r\n </span>\r\n </div>\r\n\r\n <div className=\"d-flex flex-column font-weight-bold\">\r\n <a\r\n href=\"#\"\r\n className=\"text-dark text-hover-primary mb-1 font-size-lg\"\r\n onClick={() => {\r\n window.GlobalTable = \"Appointed\";\r\n setTimeout(() => {\r\n var el = document.getElementById(\"Appointed\");\r\n window.scroll({\r\n top: el?.offsetTop - 120,\r\n behavior: \"smooth\",\r\n });\r\n }, 50);\r\n }}\r\n >\r\n Appointed\r\n </a>\r\n <span className=\"text-muted\">{GlobalShartData.filter((item) => item.Status === \"Appointed\")[0]\r\n ?.Details || \"\"}</span>\r\n </div>\r\n </div>\r\n <div className=\"d-flex align-items-center mb-5\">\r\n <div className=\"symbol symbol-40 symbol-info mr-5\">\r\n <span className=\"symbol-label\">\r\n <span className=\"svg-icon svg-icon-lg svg-icon-info\">\r\n {GlobalShartData.filter(\r\n (item) => item.Status === \"Dispatched\"\r\n )[0]?.Count || 0}\r\n </span>\r\n </span>\r\n </div>\r\n\r\n <div className=\"d-flex flex-column font-weight-bold\">\r\n <a\r\n href=\"#\"\r\n className=\"text-dark text-hover-primary mb-1 font-size-lg\"\r\n onClick={() => {\r\n window.GlobalTable = \"Dispatched\";\r\n setTimeout(() => {\r\n var el = document.getElementById(\"Dispatched\");\r\n window.scroll({\r\n top: el?.offsetTop - 120,\r\n behavior: \"smooth\",\r\n });\r\n }, 50);\r\n }}\r\n >\r\n Dispatched\r\n </a>\r\n <span className=\"text-muted\">{GlobalShartData.filter((item) => item.Status === \"Dispatched\")[0]\r\n ?.Details || \"\"}</span>\r\n </div>\r\n </div>\r\n <div className=\"d-flex align-items-center mb-5\">\r\n <div className=\"symbol symbol-40 symbol-Closed mr-5\">\r\n <span className=\"symbol-label\">\r\n <span className=\"svg-icon svg-icon-lg svg-icon-Received\">\r\n {GlobalShartData.filter(\r\n (item) => item.Status === \"Picked Up\"\r\n )[0]?.Count || 0}\r\n </span>\r\n </span>\r\n </div>\r\n\r\n <div className=\"d-flex flex-column font-weight-bold\">\r\n <a\r\n href=\"#\"\r\n className=\"text-dark text-hover-info mb-1 font-size-lg\"\r\n onClick={() => {\r\n window.GlobalTable = \"Picked Up\";\r\n setTimeout(() => {\r\n var el = document.getElementById(\"Picked Up\");\r\n window.scroll({\r\n top: el?.offsetTop - 120,\r\n behavior: \"smooth\",\r\n });\r\n }, 50);\r\n }}\r\n >\r\n Picked Up\r\n </a>\r\n <span className=\"text-muted\">{GlobalShartData.filter((item) => item.Status === \"Picked Up\")[0]\r\n ?.Details || \"\"}</span>\r\n </div>\r\n </div>\r\n <div className=\"d-flex align-items-center mb-5\">\r\n <div className=\"symbol symbol-40 symbol-light-Received mr-5\">\r\n <span className=\"symbol-label\">\r\n <span className=\"svg-icon svg-icon-lg svg-icon-Received\">\r\n {GlobalShartData.filter(\r\n (item) => item.Status === \"Load Received\"\r\n )[0]?.Count || 0}\r\n </span>\r\n </span>\r\n </div>\r\n\r\n <div className=\"d-flex flex-column font-weight-bold\">\r\n <a\r\n href=\"#\"\r\n className=\"text-dark text-hover-info mb-1 font-size-lg\"\r\n onClick={() => {\r\n window.GlobalTable = \"Load Received\";\r\n setTimeout(() => {\r\n var el = document.getElementById(\"Load Received\");\r\n window.scroll({\r\n top: el?.offsetTop - 120,\r\n behavior: \"smooth\",\r\n });\r\n }, 50);\r\n }}\r\n >\r\n Load Received\r\n </a>\r\n <span className=\"text-muted\">{GlobalShartData.filter((item) => item.Status === \"Load Received\")[0]\r\n ?.Details || \"\"}</span>\r\n </div>\r\n </div>\r\n <div className=\"d-flex align-items-center mb-5\">\r\n <div className=\"symbol symbol-40 symbol-light-QC mr-5\">\r\n <span className=\"symbol-label\">\r\n <span className=\"svg-icon svg-icon-lg svg-icon-QC\">\r\n {GlobalShartData.filter((item) => item.Status === \"QC\")[0]\r\n ?.Count || 0}\r\n </span>\r\n </span>\r\n </div>\r\n <div className=\"d-flex flex-column font-weight-bold\">\r\n <a\r\n href=\"#\"\r\n className=\"text-dark-75 text-hover-primary mb-1 font-size-lg\"\r\n onClick={() => {\r\n window.GlobalTable = \"QC\";\r\n setTimeout(() => {\r\n var el = document.getElementById(\"QC\");\r\n window.scroll({\r\n top: el?.offsetTop - 120,\r\n behavior: \"smooth\",\r\n });\r\n }, 50);\r\n }}\r\n >\r\n QC\r\n </a>\r\n <span className=\"text-muted\">{GlobalShartData.filter((item) => item.Status === \"QC\")[0]\r\n ?.Details || \"\"}</span>\r\n </div>\r\n </div>\r\n {/* <div className=\"d-flex align-items-center mb-5 ml-15\">\r\n <div className=\"symbol symbol-40 symbol-success mr-5\">\r\n <span className=\"symbol-label\">\r\n <span className=\"svg-icon svg-icon-lg svg-icon-sucess\">\r\n 0\r\n </span>\r\n </span>\r\n </div>\r\n <div className=\"d-flex flex-column font-weight-bold\">\r\n <a\r\n href=\"#\"\r\n className=\"text-dark-75 text-hover-primary mb-1 font-size-lg\"\r\n onClick={() => {\r\n window.GlobalTable = \"Pass\";\r\n setTimeout(() => {\r\n var el = document.getElementById(\"Pass\");\r\n window.scroll({\r\n top: el?.offsetTop - 120,\r\n behavior: \"smooth\",\r\n });\r\n }, 50);\r\n }}\r\n >\r\n Pass\r\n </a>\r\n <span className=\"text-muted\">15</span>\r\n </div>\r\n </div>\r\n <div className=\"d-flex align-items-center mb-5 ml-15\">\r\n <div className=\"symbol symbol-40 symbol-danger mr-5\">\r\n <span className=\"symbol-label\">\r\n <span className=\"svg-icon svg-icon-lg svg-icon-danger\">\r\n 0\r\n </span>\r\n </span>\r\n </div>\r\n <div className=\"d-flex flex-column font-weight-bold\">\r\n <a\r\n href=\"#\"\r\n className=\"text-dark-75 text-hover-primary mb-1 font-size-lg\"\r\n onClick={() => {\r\n window.GlobalTable = \"Fail\";\r\n setTimeout(() => {\r\n var el = document.getElementById(\"Fail\");\r\n window.scroll({\r\n top: el?.offsetTop - 120,\r\n behavior: \"smooth\",\r\n });\r\n }, 50);\r\n }}\r\n >\r\n Fail\r\n </a>\r\n <span className=\"text-muted\">15</span>\r\n </div>\r\n </div>\r\n <div className=\"d-flex align-items-center mb-5 ml-30\">\r\n <div className=\"symbol symbol-40 symbol-light-Rtv mr-5\">\r\n <span className=\"symbol-label\">\r\n <span className=\"svg-icon svg-icon-lg svg-icon-Rtv\">0</span>\r\n </span>\r\n </div>\r\n <div className=\"d-flex flex-column font-weight-bold\">\r\n <a\r\n href=\"#\"\r\n className=\"text-dark-75 text-hover-primary mb-1 font-size-lg\"\r\n onClick={() => {\r\n window.GlobalTable = \"RTV\";\r\n setTimeout(() => {\r\n var el = document.getElementById(\"RTV\");\r\n window.scroll({\r\n top: el?.offsetTop - 120,\r\n behavior: \"smooth\",\r\n });\r\n }, 50);\r\n }}\r\n >\r\n RTV\r\n </a>\r\n <span className=\"text-muted\">15</span>\r\n </div>\r\n </div>\r\n */}\r\n <div className=\"d-flex align-items-center mb-5\">\r\n <div className=\"symbol symbol-40 symbol-light-Rtv mr-5\">\r\n <span className=\"symbol-label\">\r\n <span className=\"svg-icon svg-icon-lg svg-icon-Rtv\">\r\n {GlobalShartData.filter(\r\n (item) => item.Status === \"Ready to process\"\r\n )[0]?.Count || 0}\r\n </span>\r\n </span>\r\n </div>\r\n\r\n <div className=\"d-flex flex-column font-weight-bold\">\r\n <a\r\n href=\"#\"\r\n className=\"text-dark text-hover-info mb-1 font-size-lg\"\r\n onClick={() => {\r\n window.GlobalTable = \"Ready to process\";\r\n setTimeout(() => {\r\n var el = document.getElementById(\"Ready to process\");\r\n window.scroll({\r\n top: el?.offsetTop - 120,\r\n behavior: \"smooth\",\r\n });\r\n }, 50);\r\n }}\r\n >\r\n Ready to process\r\n </a>\r\n <span className=\"text-muted\">{GlobalShartData.filter((item) => item.Status === \"Ready to process\")[0]\r\n ?.Details || \"\"}</span>\r\n </div>\r\n </div>\r\n <div className=\"d-flex align-items-center mb-5\">\r\n <div className=\"symbol symbol-40 symbol-Processed mr-5\">\r\n <span className=\"symbol-label\">\r\n <span className=\"svg-icon svg-icon-lg svg-icon-info\">\r\n {GlobalShartData.filter(\r\n (item) => item.Status === \"Processed\"\r\n )[0]?.Count || 0}\r\n </span>\r\n </span>\r\n </div>\r\n\r\n <div className=\"d-flex flex-column font-weight-bold\">\r\n <a\r\n href=\"#\"\r\n className=\"text-dark text-hover-info mb-1 font-size-lg\"\r\n onClick={() => {\r\n window.GlobalTable = \"Processed\";\r\n setTimeout(() => {\r\n var el = document.getElementById(\"Processed\");\r\n window.scroll({\r\n top: el?.offsetTop - 120,\r\n behavior: \"smooth\",\r\n });\r\n }, 50);\r\n }}\r\n >\r\n Processed\r\n </a>\r\n <span className=\"text-muted\">{GlobalShartData.filter((item) => item.Status === \"Processed\")[0]\r\n ?.Details || \"\"}</span>\r\n </div>\r\n </div>\r\n <div className=\"d-flex align-items-center mb-5\">\r\n <div className=\"symbol symbol-40 symbol-Palletized mr-5\">\r\n <span className=\"symbol-label\">\r\n <span className=\"svg-icon svg-icon-lg svg-icon-info\">\r\n {GlobalShartData.filter(\r\n (item) => item.Status === \"Palletized\"\r\n )[0]?.Count || 0}\r\n </span>\r\n </span>\r\n </div>\r\n\r\n <div className=\"d-flex flex-column font-weight-bold\">\r\n <a\r\n href=\"#\"\r\n className=\"text-dark text-hover-info mb-1 font-size-lg\"\r\n onClick={() => {\r\n window.GlobalTable = \"Palletized\";\r\n setTimeout(() => {\r\n var el = document.getElementById(\"Palletized\");\r\n window.scroll({\r\n top: el?.offsetTop - 120,\r\n behavior: \"smooth\",\r\n });\r\n }, 50);\r\n }}\r\n >\r\n Palletized\r\n </a>\r\n <span className=\"text-muted\">{GlobalShartData.filter((item) => item.Status === \"Palletized\")[0]\r\n ?.Details || \"\"}</span>\r\n </div>\r\n </div>\r\n\r\n {/* <div className=\"d-flex align-items-center mb-5\">\r\n <div className=\"symbol symbol-40 symbol-Loaded mr-5\">\r\n <span className=\"symbol-label\">\r\n <span className=\"svg-icon svg-icon-lg svg-icon-danger\">\r\n {GlobalShartData.filter(\r\n (item) => item.Status === \"Loaded\"\r\n )[0]?.Count || 0}\r\n </span>\r\n </span>\r\n </div>\r\n\r\n <div className=\"d-flex flex-column font-weight-bold\">\r\n <a\r\n href=\"#\"\r\n className=\"text-dark text-hover-primary mb-1 font-size-lg\"\r\n onClick={() => {\r\n window.GlobalTable = \"Loaded\";\r\n setTimeout(() => {\r\n var el = document.getElementById(\"Loaded\");\r\n window.scroll({\r\n top: el?.offsetTop - 120,\r\n behavior: \"smooth\",\r\n });\r\n }, 50);\r\n }}\r\n >\r\n Loaded\r\n </a>\r\n <span className=\"text-muted\">15</span>\r\n </div>\r\n </div> */}\r\n\r\n <div className=\"d-flex align-items-center mb-5\">\r\n <div className=\"symbol symbol-40 symbol-Shipped mr-5\">\r\n <span className=\"symbol-label\">\r\n <span className=\"svg-icon svg-icon-lg svg-icon-info\">\r\n {GlobalShartData.filter(\r\n (item) => item.Status === \"Shipped\"\r\n )[0]?.Count || 0}\r\n </span>\r\n </span>\r\n </div>\r\n\r\n <div className=\"d-flex flex-column font-weight-bold\">\r\n <a\r\n href=\"#\"\r\n className=\"text-dark text-hover-primary mb-1 font-size-lg\"\r\n onClick={() => {\r\n window.GlobalTable = \"Shipped\";\r\n setTimeout(() => {\r\n var el = document.getElementById(\"Shipped\");\r\n window.scroll({\r\n top: el?.offsetTop - 120,\r\n behavior: \"smooth\",\r\n });\r\n }, 50);\r\n }}\r\n >\r\n Shipped\r\n </a>\r\n <span className=\"text-muted\">{GlobalShartData.filter((item) => item.Status === \"Shipped\")[0]\r\n ?.Details || \"\"}</span>\r\n </div>\r\n </div>\r\n {/* <div className=\"d-flex align-items-center mb-5\">\r\n <div className=\"symbol symbol-40 symbol-Closed mr-5\">\r\n <span className=\"symbol-label\">\r\n <span className=\"svg-icon svg-icon-lg svg-icon-info\">\r\n {GlobalShartData.filter(\r\n (item) => item.Status === \"Closed\"\r\n )[0]?.Count || 0}\r\n </span>\r\n </span>\r\n </div>\r\n\r\n <div className=\"d-flex flex-column font-weight-bold\">\r\n <a\r\n href=\"#\"\r\n className=\"text-dark text-hover-primary mb-1 font-size-lg\"\r\n onClick={() => {\r\n window.GlobalTable = \"Closed\";\r\n setTimeout(() => {\r\n var el = document.getElementById(\"Closed\");\r\n window.scroll({\r\n top: el?.offsetTop - 120,\r\n behavior: \"smooth\",\r\n });\r\n }, 50);\r\n }}\r\n >\r\n Closed\r\n </a>\r\n <span className=\"text-muted\">15</span>\r\n </div>\r\n </div> */}\r\n <div className=\"d-flex align-items-center mb-5\">\r\n <div className=\"symbol symbol-40 symbol-Exceptions mr-5\">\r\n <span className=\"symbol-label\">\r\n <span className=\"svg-icon svg-icon-lg svg-icon-info\">\r\n {GlobalShartData.filter(\r\n (item) => item.Status === \"Exception\"\r\n )[0]?.Count || 0}\r\n </span>\r\n </span>\r\n </div>\r\n\r\n <div className=\"d-flex flex-column font-weight-bold\">\r\n <a\r\n href=\"#\"\r\n className=\"text-dark text-hover-primary mb-1 font-size-lg\"\r\n onClick={() => {\r\n window.GlobalTable = \"Exception\";\r\n setTimeout(() => {\r\n var el = document.getElementById(\"Exception\");\r\n window.scroll({\r\n top: el?.offsetTop - 120,\r\n behavior: \"smooth\",\r\n });\r\n }, 50);\r\n }}\r\n >\r\n Exception\r\n </a>\r\n <span className=\"text-muted\">{GlobalShartData.filter((item) => item.Status === \"Exception\")[0]\r\n ?.Details || \"\"}</span>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n );\r\n}\r\n\r\nfunction getChartOption(layoutProps, GlobalShartData) {\r\n const options = {\r\n series: [\r\n GlobalShartData.filter((item) => item.Status === \"Active\")[0]?.Count || 0,\r\n GlobalShartData.filter((item) => item.Status === \"Planned\")[0]?.Count ||\r\n 0,\r\n GlobalShartData.filter((item) => item.Status === \"Appointed\")[0]?.Count ||\r\n 0,\r\n GlobalShartData.filter((item) => item.Status === \"Dispatched\")[0]\r\n ?.Count || 0,\r\n GlobalShartData.filter((item) => item.Status === \"Picked Up\")[0]?.Count ||\r\n 0,\r\n GlobalShartData.filter((item) => item.Status === \"Load Received\")[0]\r\n ?.Count || 0,\r\n GlobalShartData.filter((item) => item.Status === \"QC\")[0]?.Count || 0,\r\n 0,\r\n 0,\r\n 0,\r\n GlobalShartData.filter((item) => item.Status === \"Ready to process\")[0]\r\n ?.Count || 0,\r\n GlobalShartData.filter((item) => item.Status === \"Processed\")[0]\r\n ?.Count || 0,\r\n GlobalShartData.filter((item) => item.Status === \"Palletized\")[0]\r\n ?.Count || 0,\r\n // GlobalShartData.filter((item) => item.Status === \"Loaded\")[0]?.Count ||\r\n // 0,\r\n GlobalShartData.filter((item) => item.Status === \"Shipped\")[0]?.Count ||\r\n 0,\r\n GlobalShartData.filter((item) => item.Status === \"Exception\")[0]?.Count ||\r\n 0,\r\n ],\r\n chart: {\r\n type: \"donut\",\r\n },\r\n colors: [\r\n \"#3699FF\",\r\n \"#869890\",\r\n \"#FFA800\",\r\n \"#8950FC\",\r\n \"#95371d\",\r\n \"#4CA1AF\",\r\n \"#b3c43c\",\r\n \"#fe8a71\",\r\n \"#F64E60\",\r\n \"#fe8a71\",\r\n \"#fe8a71\",\r\n \"#5a3662\",\r\n \"#3c78ae\",\r\n //\"#8785a2\",\r\n \"#a2738c\",\r\n \"#FF0000\",\r\n ],\r\n dataLabels: {\r\n formatter: function(val, opts) {\r\n return opts.w.config.series[opts.seriesIndex];\r\n },\r\n },\r\n responsive: [\r\n {\r\n breakpoint: 480,\r\n options: {\r\n chart: {\r\n width: 200,\r\n },\r\n legend: {\r\n position: \"bottom\",\r\n },\r\n },\r\n },\r\n ],\r\n legend: {\r\n show: false,\r\n },\r\n labels: [\r\n \"Active\",\r\n \"Planned\",\r\n \"Appointed\",\r\n \"Dispatched\",\r\n \"Picked up\",\r\n \"Load Received\",\r\n \"QC\",\r\n \"Pass\",\r\n \"Fail\",\r\n \"Rtv\",\r\n \"Ready to process\",\r\n \"Processed\",\r\n \"Palletized\",\r\n //\"Loaded\",\r\n \"Shipped\",\r\n \"Exception\",\r\n ],\r\n };\r\n return options;\r\n}\r\n","/* eslint-disable no-script-url,jsx-a11y/anchor-is-valid */\r\nimport ApexCharts from \"apexcharts\";\r\nimport objectPath from \"object-path\";\r\nimport React, { useEffect, useMemo } from \"react\";\r\nimport { useHtmlClassService } from \"../../../layout\";\r\nexport function PerformanceTransaction({ className }) {\r\n const uiService = useHtmlClassService();\r\n const layoutProps = useMemo(() => {\r\n return {\r\n colorsGrayGray500: objectPath.get(\r\n uiService.config,\r\n \"js.colors.gray.gray500\"\r\n ),\r\n colorsGrayGray200: objectPath.get(\r\n uiService.config,\r\n \"js.colors.gray.gray200\"\r\n ),\r\n colorsGrayGray300: objectPath.get(\r\n uiService.config,\r\n \"js.colors.gray.gray300\"\r\n ),\r\n colorsThemeBaseSuccess: objectPath.get(\r\n uiService.config,\r\n \"js.colors.theme.base.success\"\r\n ),\r\n colorsThemeLightSuccess: objectPath.get(\r\n uiService.config,\r\n \"js.colors.theme.light.success\"\r\n ),\r\n fontFamily: objectPath.get(uiService.config, \"js.fontFamily\"),\r\n };\r\n }, [uiService]);\r\n\r\n useEffect(() => {\r\n const element = document.getElementById(\"kt_performance_widget_7_chart\");\r\n\r\n if (!element) {\r\n return;\r\n }\r\n\r\n const options = getChartOption(layoutProps);\r\n const chart = new ApexCharts(element, options);\r\n chart.render();\r\n return function cleanUp() {\r\n chart.destroy();\r\n };\r\n }, [layoutProps]);\r\n\r\n return (\r\n <div className={`card card-custom ${className}`}>\r\n <div className=\"card-header border-0\">\r\n <h3 className=\"card-title font-weight-bolder text-dark\">\r\n Transaction Visualization\r\n </h3>\r\n </div>\r\n <div className=\"card-body d-flex flex-column p-0\">\r\n <div className=\"row\">\r\n <div className=\"col-lg-12\">\r\n <div\r\n id=\"kt_performance_widget_7_chart\"\r\n className=\"card-rounded-bottom\"\r\n style={{ height: \"150px\" }}\r\n ></div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n );\r\n}\r\n\r\nfunction getChartOption(layoutProps) {\r\n const options = {\r\n series: [\r\n {\r\n name: \"Success\",\r\n data: [76, 85, 101, 98, 87, 105, 91, 114, 94],\r\n },\r\n {\r\n name: \"In progress\",\r\n data: [44, 55, 57, 56, 61, 58, 63, 60, 66],\r\n },\r\n {\r\n name: \"Failled\",\r\n data: [35, 41, 36, 26, 45, 48, 52, 53, 41],\r\n },\r\n ],\r\n colors: [\"#b3e8e7\", \"#3699FF\", \"#f64e60\"],\r\n chart: {\r\n type: \"bar\",\r\n height: 350,\r\n },\r\n plotOptions: {\r\n bar: {\r\n horizontal: false,\r\n columnWidth: \"55%\",\r\n endingShape: \"rounded\",\r\n },\r\n },\r\n dataLabels: {\r\n enabled: false,\r\n },\r\n stroke: {\r\n show: true,\r\n width: 2,\r\n colors: [\"transparent\"],\r\n },\r\n labels: [\r\n \"02/01/2020\",\r\n \"03/01/2020\",\r\n \"04/01/2020\",\r\n \"05/01/2020\",\r\n \"06/01/2020\",\r\n \"07/01/2020\",\r\n \"08/01/2020\",\r\n \"09/01/2020\",\r\n \"10/01/2020\",\r\n ],\r\n xaxis: {\r\n type: \"datetime\",\r\n },\r\n yaxis: {\r\n title: {\r\n text: \"(%)\",\r\n },\r\n forceNiceScale: false,\r\n max: 100,\r\n labels: {\r\n formatter: (value) => value.toFixed(0) + \"%\",\r\n },\r\n },\r\n fill: {\r\n opacity: 1,\r\n },\r\n };\r\n return options;\r\n}\r\n","/* eslint-disable no-script-url,jsx-a11y/anchor-is-valid */\r\nimport React, { useMemo, useEffect } from \"react\";\r\nimport objectPath from \"object-path\";\r\nimport ApexCharts from \"apexcharts\";\r\nimport { useHtmlClassService } from \"../../../layout\";\r\nimport low from \"lowdb\";\r\nimport { ProgressBar } from \"react-bootstrap\";\r\nimport LocalStorage from \"lowdb/adapters/LocalStorage\";\r\nconst adapter = new LocalStorage(\"db\");\r\nconst db = low(adapter);\r\n\r\nvar color = [\r\n \"symbol-light-primary\",\r\n \"symbol-light-success\",\r\n \"symbol-light-warning\",\r\n \"symbol-light-info\",\r\n \"symbol-light-Receiv\",\r\n \"symbol-light-gray-600\",\r\n \"symbol-light-Enroute\",\r\n \"symbol-light-danger\",\r\n];\r\nvar colorIcon = [\r\n \"svg-icon-primary\",\r\n \"svg-icon-success\",\r\n \"svg-icon-warning\",\r\n \"svg-icon-info\",\r\n \"svg-icon-Receiv\",\r\n \"svg-icon-light-gray-600\",\r\n \"svg-icon-Enroute\",\r\n \"svg-icon-danger\",\r\n];\r\n\r\nexport function DonutTransportationGlobal({\r\n globalShart,\r\n globalShartCount,\r\n className,\r\n ChartLoadingSpinner,\r\n}) {\r\n const uiService = useHtmlClassService();\r\n const layoutProps = useMemo(() => {\r\n return {\r\n colorsGrayGray500: objectPath.get(\r\n uiService.config,\r\n \"js.colors.gray.gray500\"\r\n ),\r\n colorsGrayGray200: objectPath.get(\r\n uiService.config,\r\n \"js.colors.gray.gray200\"\r\n ),\r\n colorsGrayGray300: objectPath.get(\r\n uiService.config,\r\n \"js.colors.gray.gray300\"\r\n ),\r\n colorsThemeBaseSuccess: objectPath.get(\r\n uiService.config,\r\n \"js.colors.theme.base.success\"\r\n ),\r\n colorsThemeLightSuccess: objectPath.get(\r\n uiService.config,\r\n \"js.colors.theme.light.success\"\r\n ),\r\n fontFamily: objectPath.get(uiService.config, \"js.fontFamily\"),\r\n };\r\n }, [uiService]);\r\n\r\n useEffect(() => {\r\n const element = document.getElementById(\"kt_transportation_widget_7_chart\");\r\n\r\n if (!element) {\r\n return;\r\n }\r\n const options = getChartOption(layoutProps, globalShartCount);\r\n const chart = new ApexCharts(element, options);\r\n chart.render();\r\n return function cleanUp() {\r\n chart.destroy();\r\n };\r\n }, [layoutProps, globalShartCount]);\r\n\r\n return (\r\n <div className={`card card-custom ${className}`}>\r\n {ChartLoadingSpinner && (\r\n <ProgressBar\r\n variant=\"success\"\r\n animated\r\n now={100}\r\n style={{ height: \"3px\", width: \"100%\" }}\r\n />\r\n )}\r\n\r\n <div className=\"card-header border-0 mb-0 global\">\r\n <h3 className=\"card-title font-weight-bolder text-dark\">Global</h3>\r\n </div>\r\n <div className=\"card-body d-flex flex-column pt-0\">\r\n <div className=\"row\">\r\n <div className=\"col-xl-7 col-lg-8 col-md-8 align-self-center\">\r\n <div\r\n id=\"kt_transportation_widget_7_chart\"\r\n className=\"card-rounded-bottom\"\r\n style={{ height: \"100px\" }}\r\n ></div>\r\n </div>\r\n <div className=\"col-xl-5 col-lg-4 col-md-4 mt-0\">\r\n {globalShart?.map((item, index) => (\r\n <div className=\"d-flex align-items-center mb-10\">\r\n <div className={`symbol symbol-40 ${color[index]} mr-5`}>\r\n <span className=\"symbol-label\">\r\n <span\r\n className={`svg-icon svg-icon-lg ${colorIcon[index]}`}\r\n >\r\n {item.Count}\r\n </span>\r\n </span>\r\n </div>\r\n\r\n <div className=\"d-flex flex-column font-weight-bold\">\r\n <a\r\n href=\"#\"\r\n className=\"text-dark text-hover-primary mb-1 font-size-lg\"\r\n onClick={() => {\r\n window.GlobalTable = item.Status;\r\n setTimeout(() => {\r\n var el = document.getElementById(item.Status);\r\n window.scroll({\r\n top: el?.offsetTop - 120,\r\n behavior: \"smooth\",\r\n });\r\n }, 50);\r\n }}\r\n >\r\n {item.Status === \"In Port\"?\"Discharge\":item.Status}\r\n </a>\r\n </div>\r\n </div>\r\n ))}\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n );\r\n}\r\n\r\nfunction getChartOption(layoutProps, _globalShartCount) {\r\n const options = {\r\n series: _globalShartCount,\r\n colors: [\r\n \"#187DE4\",\r\n \"#1BC5BD\",\r\n \"#FFA800\",\r\n \"#EEE5FF\",\r\n \"#4ca1afad\",\r\n \"#d0d8e0\",\r\n \"#7e8299\",\r\n \"#F64E60\",\r\n \"#F64E60\",\r\n ],\r\n chart: {\r\n type: \"donut\",\r\n },\r\n dataLabels: {\r\n formatter: function(val, opts) {\r\n return opts.w.config.series[opts.seriesIndex];\r\n },\r\n },\r\n responsive: [\r\n {\r\n breakpoint: 480,\r\n options: {\r\n chart: {\r\n width: 200,\r\n },\r\n legend: {\r\n position: \"bottom\",\r\n },\r\n },\r\n },\r\n ],\r\n legend: {\r\n show: false,\r\n },\r\n labels: [\r\n \"Open PO’s\",\r\n \"Booked\",\r\n \"On vessel\",\r\n \"Discharged - At Port\",\r\n \"Released - At Port\",\r\n \"Received\",\r\n \"Loaded\",\r\n \"En-route\",\r\n \"Hot\",\r\n ],\r\n };\r\n return options;\r\n}\r\n","/* eslint-disable no-script-url,jsx-a11y/anchor-is-valid */\r\nimport React, { useMemo, useEffect, useState } from \"react\";\r\nimport objectPath from \"object-path\";\r\nimport ApexCharts from \"apexcharts\";\r\nimport { useHtmlClassService } from \"../../../layout\";\r\nimport DateRangePicker from \"@wojtekmaj/react-daterange-picker\";\r\nimport { makeStyles } from \"@material-ui/core/styles\";\r\nconst useStyles = makeStyles((theme) => ({\r\n root: {\r\n flexGrow: 1,\r\n width: \"100%\",\r\n backgroundColor: \"transparent\",\r\n },\r\n}));\r\nexport function PerformanceGlobal({ className }) {\r\n const uiService = useHtmlClassService();\r\n const [value, onChange] = useState([new Date(), new Date()]);\r\n const layoutProps = useMemo(() => {\r\n return {\r\n colorsGrayGray500: objectPath.get(\r\n uiService.config,\r\n \"js.colors.gray.gray500\"\r\n ),\r\n colorsGrayGray200: objectPath.get(\r\n uiService.config,\r\n \"js.colors.gray.gray200\"\r\n ),\r\n colorsGrayGray300: objectPath.get(\r\n uiService.config,\r\n \"js.colors.gray.gray300\"\r\n ),\r\n colorsThemeBaseSuccess: objectPath.get(\r\n uiService.config,\r\n \"js.colors.theme.base.success\"\r\n ),\r\n colorsThemeLightSuccess: objectPath.get(\r\n uiService.config,\r\n \"js.colors.theme.light.success\"\r\n ),\r\n fontFamily: objectPath.get(uiService.config, \"js.fontFamily\"),\r\n };\r\n }, [uiService]);\r\n\r\n useEffect(() => {\r\n const element = document.getElementById(\"kt_performance_widget_7_chart\");\r\n\r\n if (!element) {\r\n return;\r\n }\r\n\r\n const options = getChartOption(layoutProps);\r\n const chart = new ApexCharts(element, options);\r\n chart.render();\r\n return function cleanUp() {\r\n chart.destroy();\r\n };\r\n }, [layoutProps]);\r\n\r\n return (\r\n <div className={`card card-custom ${className}`}>\r\n <div className=\"card-header border-0\">\r\n <h3 className=\"card-title font-weight-bolder text-dark\">\r\n Transload Performance Report\r\n </h3>\r\n <div className=\"toolbar mt-5\">\r\n <DateRangePicker onChange={onChange} value={value} />\r\n </div>\r\n </div>\r\n <div className=\"card-body d-flex flex-column\">\r\n <div className=\"row\">\r\n <div className=\"col-lg-12\">\r\n <div\r\n id=\"kt_performance_widget_7_chart\"\r\n className=\"card-rounded-bottom\"\r\n style={{ height: \"150px\" }}\r\n ></div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n );\r\n}\r\n\r\nfunction getChartOption(layoutProps) {\r\n const options = {\r\n series: [\r\n {\r\n name: \"ALL Containers \",\r\n data: [6.67, 36.67, 23.33, 33.33],\r\n },\r\n {\r\n name: \"HOT Loads\",\r\n data: [73.33, 26.67],\r\n },\r\n ],\r\n colors: [\"#187DE4\", \"#F64E60\"],\r\n chart: {\r\n type: \"bar\",\r\n height: 350,\r\n stacked: true,\r\n toolbar: {\r\n show: true,\r\n },\r\n zoom: {\r\n enabled: true,\r\n },\r\n },\r\n responsive: [\r\n {\r\n breakpoint: 480,\r\n options: {\r\n legend: {\r\n position: \"bottom\",\r\n offsetX: -10,\r\n offsetY: 0,\r\n },\r\n },\r\n },\r\n ],\r\n plotOptions: {\r\n bar: {\r\n horizontal: false,\r\n },\r\n },\r\n labels: [\r\n \"within 24 Hours\",\r\n \"within 48 Hours\",\r\n \"within 72 Hours\",\r\n \"More Than 72 Hours\",\r\n ],\r\n yaxis: {\r\n title: {\r\n text: \"(%)\",\r\n },\r\n forceNiceScale: false,\r\n max: 100,\r\n labels: {\r\n formatter: (value) => value.toFixed(0) + \"%\",\r\n },\r\n },\r\n fill: {\r\n opacity: 1,\r\n },\r\n };\r\n return options;\r\n}\r\n","/* eslint-disable no-script-url,jsx-a11y/anchor-is-valid */\r\nimport React, { useState, useEffect } from \"react\";\r\nimport Table from \"@material-ui/core/Table\";\r\n//Date Range Picker Google\r\nimport { RangeDatePicker } from \"react-google-flight-datepicker\";\r\nimport \"react-google-flight-datepicker/dist/main.css\";\r\n//////\r\nimport TableBody from \"@material-ui/core/TableBody\";\r\nimport TableCell from \"@material-ui/core/TableCell\";\r\nimport TableHead from \"@material-ui/core/TableHead\";\r\nimport TableRow from \"@material-ui/core/TableRow\";\r\nimport TablePagination from \"@material-ui/core/TablePagination\";\r\nimport IconButton from \"@material-ui/core/IconButton\";\r\nimport FirstPageIcon from \"@material-ui/icons/FirstPage\";\r\nimport { Notification } from \"../../../../app/modules/Notification\";\r\nimport KeyboardArrowLeft from \"@material-ui/icons/KeyboardArrowLeft\";\r\nimport KeyboardArrowRight from \"@material-ui/icons/KeyboardArrowRight\";\r\nimport LastPageIcon from \"@material-ui/icons/LastPage\";\r\nimport low from \"lowdb\";\r\nimport {\r\n makeStyles,\r\n useTheme,\r\n withStyles,\r\n emphasize,\r\n} from \"@material-ui/core/styles\";\r\nimport Menu2 from \"@material-ui/core/Menu\";\r\nimport MenuItem from \"@material-ui/core/MenuItem\";\r\nimport Icon from \"@material-ui/core/Icon\";\r\nimport {\r\n ProgressBar,\r\n OverlayTrigger,\r\n Tooltip,\r\n Button,\r\n Modal,\r\n Alert,\r\n Accordion,\r\n ButtonToolbar,\r\n} from \"react-bootstrap\";\r\nimport Tabs from \"@material-ui/core/Tabs\";\r\nimport Tab from \"@material-ui/core/Tab\";\r\nimport { toAbsoluteUrl } from \"../../../_helpers\";\r\nimport SVG from \"react-inlinesvg\";\r\nimport { Export } from \"../../../../_metronic/_helpers/ATHelpers\";\r\nimport ListItemText from \"@material-ui/core/ListItemText\";\r\nimport ListItemIcon from \"@material-ui/core/ListItemIcon\";\r\nimport LocalStorage from \"lowdb/adapters/LocalStorage\";\r\nimport CloseIcon from \"@material-ui/icons/Close\";\r\nimport { currencyFormat } from \"../../../_helpers/ATHelpers\";\r\nimport ModelManagmentFirstDashboard from \"../../../../app/modules/eMPower/pages/ReceiptsManagementNewVersion/customers-table/Shipment/ModelManagmentFirstDashboard\";\r\nimport { ModelManagmentFirstDashboardSm } from \"../../../../app/modules/eMPower/pages/NewShipmentsBeta/customers-table/ModelShipmentManagment\";\r\nimport moment from \"moment\";\r\nconst adapter = new LocalStorage(\"db\");\r\nconst db = low(adapter);\r\n\r\nvar getDate = function(d) {\r\n if (d === null || d === \"\" || d === undefined) return \"\";\r\n var format = \"MM/DD/YYYY\";\r\n if (\r\n moment(d)\r\n .startOf(\"day\")\r\n .valueOf() === moment(d).valueOf()\r\n ) {\r\n format = \"MM/DD/YYYY\";\r\n }\r\n return moment(d).format(format);\r\n};\r\nvar getDateName = function(d) {\r\n if (d === null || d === \"\" || d === undefined) return \"\";\r\n var format = \"dddd, MMMM DD, YYYY\";\r\n return moment(d).format(format);\r\n};\r\nconst StyledMenu = withStyles({\r\n paper: {\r\n border: \"1px solid #d3d4d5\",\r\n },\r\n})((props) => (\r\n <Menu2\r\n elevation={0}\r\n getContentAnchorEl={null}\r\n anchorOrigin={{\r\n vertical: \"bottom\",\r\n horizontal: \"center\",\r\n }}\r\n transformOrigin={{\r\n vertical: \"top\",\r\n horizontal: \"center\",\r\n }}\r\n {...props}\r\n />\r\n));\r\n\r\nconst StyledMenuItem = withStyles((theme) => ({\r\n root: {\r\n \"&:focus\": {\r\n backgroundColor: theme.palette.primary.main,\r\n \"& .MuiListItemIcon-root, & .MuiListItemText-primary\": {\r\n color: theme.palette.common.white,\r\n },\r\n },\r\n },\r\n}))(MenuItem);\r\nconst useStyles = makeStyles((theme) => ({\r\n root: {\r\n flexGrow: 1,\r\n width: \"100%\",\r\n backgroundColor: \"transparent\",\r\n },\r\n}));\r\nconst useStyles1 = makeStyles((theme) => ({\r\n root: {\r\n flexShrink: 0,\r\n color: theme.palette.text.secondary,\r\n marginLeft: theme.spacing(2.5),\r\n },\r\n}));\r\nfunction TablePaginationActions(props) {\r\n const classes = useStyles1();\r\n const theme = useTheme();\r\n const { count, page, rowsPerPage, onChangePage } = props;\r\n\r\n function handleFirstPageButtonClick(event) {\r\n onChangePage(event, 0);\r\n }\r\n\r\n function handleBackButtonClick(event) {\r\n onChangePage(event, page - 1);\r\n }\r\n\r\n function handleNextButtonClick(event) {\r\n onChangePage(event, page + 1);\r\n }\r\n\r\n function handleLastPageButtonClick(event) {\r\n onChangePage(event, Math.max(0, Math.ceil(count / rowsPerPage) - 1));\r\n }\r\n\r\n return (\r\n <div className={classes.root}>\r\n <IconButton\r\n onClick={handleFirstPageButtonClick}\r\n disabled={page === 0}\r\n aria-label=\"First Page\"\r\n >\r\n {theme.direction === \"rtl\" ? <LastPageIcon /> : <FirstPageIcon />}\r\n </IconButton>\r\n <IconButton\r\n onClick={handleBackButtonClick}\r\n disabled={page === 0}\r\n aria-label=\"Previous Page\"\r\n >\r\n {theme.direction === \"rtl\" ? (\r\n <KeyboardArrowRight />\r\n ) : (\r\n <KeyboardArrowLeft />\r\n )}\r\n </IconButton>\r\n <IconButton\r\n onClick={handleNextButtonClick}\r\n disabled={page >= Math.ceil(count / rowsPerPage) - 1}\r\n aria-label=\"Next Page\"\r\n >\r\n {theme.direction === \"rtl\" ? (\r\n <KeyboardArrowLeft />\r\n ) : (\r\n <KeyboardArrowRight />\r\n )}\r\n </IconButton>\r\n <IconButton\r\n onClick={handleLastPageButtonClick}\r\n disabled={page >= Math.ceil(count / rowsPerPage) - 1}\r\n aria-label=\"Last Page\"\r\n >\r\n {theme.direction === \"rtl\" ? <FirstPageIcon /> : <LastPageIcon />}\r\n </IconButton>\r\n </div>\r\n );\r\n}\r\n\r\nfunction createData(name, calories, fat) {\r\n return { name, calories, fat };\r\n}\r\nconst rows = [\r\n createData(\"Cupcake\", 305, 3.7),\r\n createData(\"Donut\", 452, 25.0),\r\n createData(\"Eclair\", 262, 16.0),\r\n createData(\"Frozen yoghurt\", 159, 6.0),\r\n createData(\"Gingerbread\", 356, 16.0),\r\n createData(\"Honeycomb\", 408, 3.2),\r\n createData(\"Ice cream sandwich\", 237, 9.0),\r\n createData(\"Jelly Bean\", 375, 0.0),\r\n createData(\"KitKat\", 518, 26.0),\r\n createData(\"Lollipop\", 392, 0.2),\r\n createData(\"Marshmallow\", 318, 0),\r\n createData(\"Nougat\", 360, 19.0),\r\n createData(\"Oreo\", 437, 18.0),\r\n].sort((a, b) => (a.calories < b.calories ? -1 : 1));\r\n\r\nexport function PerformanceGrid({ className, customerId, SearchBy }) {\r\n const [showTransload, setShowTransload] = React.useState(false);\r\n const [performancetavselected, setperformancetavselected] = React.useState(0);\r\n const [showInBound, setShowInBound] = React.useState(false);\r\n const [showOutBound, setShowOutBound] = React.useState(false);\r\n const [value, onChange] = useState([\r\n moment()\r\n .add(-7, \"days\")\r\n .format(\"YYYY-MM-DD\"),\r\n moment().format(\"YYYY-MM-DD\"),\r\n ]);\r\n const [valuesTab, setvaluesTab] = React.useState(0);\r\n const [showContainerPort, setShowContainerPort] = React.useState(false);\r\n const [\r\n TransloadPerformanceReportLoadingSpinner2,\r\n setTransloadPerformanceReportLoadingSpinner2,\r\n ] = React.useState(false);\r\n const [ContainersDetails, setContainersDetails] = useState([]);\r\n const [PerformanceReportData, setPerformanceReportData] = useState([]);\r\n const [anchorEl, setAnchorEl] = React.useState(null);\r\n\r\n const [page, setPage] = React.useState(0);\r\n const [rowsPerPage, setRowsPerPage] = React.useState(10);\r\n function handleChange(event, newValue) {\r\n setvaluesTab(newValue);\r\n }\r\n const [pageContainer, setPageContainer] = React.useState(0);\r\n const [rowsPerPageContainer, setRowsPerPageContainer] = React.useState(10);\r\n\r\n //Use State Google Picker Date Range\r\n const [startDateValue, setStartDate] = React.useState(\r\n new Date()\r\n .addDays(-7)\r\n .toISOString()\r\n .split(\"T\")[0]\r\n );\r\n const [endDateValue, setEndDate] = React.useState(\r\n new Date().toISOString().split(\"T\")[0]\r\n );\r\n\r\n useEffect(() => {\r\n if (customerId !== undefined) {\r\n setTransloadPerformanceReportLoadingSpinner2(true);\r\n var startDate = moment(startDateValue).format(\"YYYY-MM-DD\");\r\n var endDate = moment(endDateValue).format(\"YYYY-MM-DD\");\r\n var SearchText = document.getElementById(\"searchGlobalText\").value;\r\n var myHeaders = new Headers();\r\n myHeaders.append(\"Authorization\", `bearer ${db.read().getState().Token}`);\r\n myHeaders.append(\"Content-Type\", \"application/json\");\r\n myHeaders.append(\"X-FP-API-KEY\", \"iphone\");\r\n var requestOptions = {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: myHeaders,\r\n redirect: \"follow\",\r\n };\r\n fetch(\r\n `${window.$apiurl}/dashboardtransportation/performancereport?customerId=${customerId}&keyword=${SearchBy}${SearchText}&startDate=${startDate}&endDate=${endDate}`,\r\n requestOptions\r\n )\r\n .then((response) => response.text())\r\n .then((result) => {\r\n setTransloadPerformanceReportLoadingSpinner2(false);\r\n var obj = JSON.parse(result);\r\n setPerformanceReportData(obj.Performance || []);\r\n })\r\n .catch((error) => console.log(\"error\", error));\r\n }\r\n }, [customerId]);\r\n const [\r\n pageInboundContainerDetails,\r\n setPageInboundContainerDetails,\r\n ] = React.useState(0);\r\n const [\r\n rowsPerPageInboundContainerDetails,\r\n setRowsPerPageInboundContainerDetails,\r\n ] = React.useState(10);\r\n\r\n const [\r\n pageOutboundContainerDetails,\r\n setPageOutboundContainerDetails,\r\n ] = React.useState(0);\r\n const [\r\n rowsPerPageOutboundContainerDetails,\r\n setRowsPerPageOutboundContainerDetails,\r\n ] = React.useState(10);\r\n var totalALLContainers0 =\r\n PerformanceReportData[0]?.AllContainers?.Whithin24Hours +\r\n PerformanceReportData[0]?.AllContainers?.Whithin48Hours +\r\n PerformanceReportData[0]?.AllContainers?.Whithin72Hours +\r\n PerformanceReportData[0]?.AllContainers?.MoreThan72Hours || 0;\r\n var totalALLContainers1 =\r\n PerformanceReportData[1]?.AllContainers?.Whithin24Hours +\r\n PerformanceReportData[1]?.AllContainers?.Whithin48Hours +\r\n PerformanceReportData[1]?.AllContainers?.Whithin72Hours +\r\n PerformanceReportData[1]?.AllContainers?.MoreThan72Hours || 0;\r\n\r\n var totalALLContainers2 =\r\n PerformanceReportData[2]?.AllContainers?.Whithin24Hours +\r\n PerformanceReportData[2]?.AllContainers?.Whithin48Hours +\r\n PerformanceReportData[2]?.AllContainers?.Whithin72Hours +\r\n PerformanceReportData[2]?.AllContainers?.MoreThan72Hours || 0;\r\n var totalHotContainers0 =\r\n PerformanceReportData[0]?.HotContainers?.Whithin24Hours +\r\n PerformanceReportData[0]?.HotContainers?.Whithin48Hours +\r\n PerformanceReportData[0]?.HotContainers?.Whithin72Hours +\r\n PerformanceReportData[0]?.HotContainers?.MoreThan72Hours || 0;\r\n var totalHotContainers1 =\r\n PerformanceReportData[1]?.HotContainers?.Whithin24Hours +\r\n PerformanceReportData[1]?.HotContainers?.Whithin48Hours +\r\n PerformanceReportData[1]?.HotContainers?.Whithin72Hours +\r\n PerformanceReportData[1]?.HotContainers?.MoreThan72Hours || 0;\r\n var totalHotContainers2 =\r\n PerformanceReportData[2]?.HotContainers?.Whithin24Hours +\r\n PerformanceReportData[2]?.HotContainers?.Whithin48Hours +\r\n PerformanceReportData[2]?.HotContainers?.Whithin72Hours +\r\n PerformanceReportData[2]?.HotContainers?.MoreThan72Hours || 0;\r\n totalALLContainers0 = Number.isNaN(totalALLContainers0)\r\n ? 0\r\n : totalALLContainers0;\r\n\r\n totalALLContainers1 = Number.isNaN(totalALLContainers1)\r\n ? 0\r\n : totalALLContainers1;\r\n\r\n totalALLContainers2 = Number.isNaN(totalALLContainers2)\r\n ? 0\r\n : totalALLContainers2;\r\n\r\n totalHotContainers0 = Number.isNaN(totalHotContainers0)\r\n ? 0\r\n : totalHotContainers0;\r\n\r\n totalHotContainers1 = Number.isNaN(totalHotContainers1)\r\n ? 0\r\n : totalHotContainers1;\r\n\r\n totalHotContainers2 = Number.isNaN(totalHotContainers2)\r\n ? 0\r\n : totalHotContainers2;\r\n const emptyRows =\r\n rowsPerPage - Math.min(rowsPerPage, rows?.length - page * rowsPerPage);\r\n const emptyRowsContainer =\r\n rowsPerPageContainer -\r\n Math.min(\r\n rowsPerPageContainer,\r\n rows?.length - pageContainer * rowsPerPageContainer\r\n );\r\n\r\n function handleClick(event) {\r\n setAnchorEl(event.currentTarget);\r\n }\r\n function handleClose() {\r\n setAnchorEl(null);\r\n }\r\n\r\n function handleChangePage(event, newPage) {\r\n setPage(newPage);\r\n }\r\n\r\n function handleChangeRowsPerPage(event) {\r\n setRowsPerPage(parseInt(event.target.value, 10));\r\n }\r\n\r\n function handleChangePageContainer(event, newPage) {\r\n setPageContainer(newPage);\r\n }\r\n\r\n function handleChangeRowsPerPageContainer(event) {\r\n setRowsPerPageContainer(parseInt(event.target.value, 10));\r\n }\r\n\r\n function handleChangePageInboundContainerDetails(event, newPage) {\r\n setPageInboundContainerDetails(newPage);\r\n }\r\n\r\n function handleChangeRowsPerPageInboundContainerDetails(event) {\r\n setRowsPerPageInboundContainerDetails(parseInt(event.target.value, 10));\r\n }\r\n function handleChangePageOutboundContainerDetails(event, newPage) {\r\n setPageOutboundContainerDetails(newPage);\r\n }\r\n\r\n function handleChangeRowsPerPageOutboundContainerDetails(event) {\r\n setRowsPerPageOutboundContainerDetails(parseInt(event.target.value, 10));\r\n }\r\n const classes = useStyles();\r\n return (\r\n <>\r\n <Modal show={showContainerPort} size=\"xl\">\r\n <Modal.Header closeButton>\r\n <Modal.Title>Items</Modal.Title>\r\n </Modal.Header>\r\n <Modal.Body>\r\n <div className=\"form-group\">\r\n <div className=\"col-lg-12 mt-5\">\r\n <div className=\"react-bootstrap-table table-responsive\">\r\n <Table className={classes.table} size=\"small\">\r\n <TableHead>\r\n <TableRow>\r\n <TableCell className=\"bg-light font-weight-bold\">\r\n Line\r\n </TableCell>\r\n <TableCell className=\"bg-light font-weight-bold\">\r\n Item #\r\n </TableCell>\r\n <TableCell className=\"bg-light font-weight-bold\">\r\n PO #\r\n </TableCell>\r\n <TableCell className=\"bg-light font-weight-bold\">\r\n Description\r\n </TableCell>\r\n <TableCell className=\"bg-light font-weight-bold\">\r\n SKU\r\n </TableCell>\r\n <TableCell className=\"bg-light font-weight-bold\">\r\n Weight\r\n </TableCell>\r\n <TableCell className=\"bg-light font-weight-bold\">\r\n Cube\r\n </TableCell>\r\n <TableCell className=\"bg-light font-weight-bold\">\r\n Size\r\n </TableCell>\r\n <TableCell className=\"bg-light font-weight-bold\">\r\n Color\r\n </TableCell>\r\n <TableCell className=\"bg-light font-weight-bold\">\r\n Whs\r\n </TableCell>\r\n <TableCell className=\"bg-light font-weight-bold\">\r\n Qty Recv\r\n </TableCell>\r\n <TableCell className=\"bg-light font-weight-bold\">\r\n Qty Shpd\r\n </TableCell>\r\n </TableRow>\r\n </TableHead>\r\n <TableBody>\r\n {ContainersDetails?.slice(\r\n pageContainer * rowsPerPageContainer,\r\n pageContainer * rowsPerPageContainer +\r\n rowsPerPageContainer\r\n ).map((item, index) => (\r\n <TableRow>\r\n <TableCell>{item.Line}</TableCell>\r\n <TableCell>{item.Item}</TableCell>\r\n <TableCell>{item.Po}</TableCell>\r\n <TableCell>{item.Description}</TableCell>\r\n <TableCell>{item.Sku}</TableCell>\r\n <TableCell>{currencyFormat(item.Weight)}</TableCell>\r\n <TableCell>{currencyFormat(item.Cube)}</TableCell>\r\n <TableCell>{item.Size}</TableCell>\r\n <TableCell>{item.Color}</TableCell>\r\n <TableCell>{item.Whs}</TableCell>\r\n <TableCell>{item.QtyRecv}</TableCell>\r\n <TableCell>{item.QtyShpd}</TableCell>\r\n </TableRow>\r\n ))}\r\n <TableRow>\r\n <TableCell className=\"bg-light\">\r\n <strong>Totals</strong>\r\n </TableCell>\r\n <TableCell className=\"bg-light\"></TableCell>\r\n <TableCell className=\"bg-light\"></TableCell>\r\n <TableCell className=\"bg-light\"></TableCell>\r\n <TableCell className=\"bg-light\"></TableCell>\r\n <TableCell className=\"bg-light\">\r\n <strong>\r\n {ContainersDetails.reduce(\r\n (a, b) => a + (b[\"Weight\"] || 0),\r\n 0\r\n ).toFixed(2) || 0}{\" \"}\r\n KGS\r\n </strong>\r\n </TableCell>\r\n <TableCell className=\"bg-light\">\r\n <strong>\r\n {ContainersDetails.reduce(\r\n (a, b) => a + (b[\"Cube\"] || 0),\r\n 0\r\n ).toFixed(2) || 0}{\" \"}\r\n CBM\r\n </strong>\r\n </TableCell>\r\n <TableCell className=\"bg-light\"></TableCell>\r\n <TableCell className=\"bg-light\"></TableCell>\r\n <TableCell className=\"bg-light\"></TableCell>\r\n <TableCell className=\"bg-light\">\r\n <strong>\r\n {ContainersDetails.reduce(\r\n (a, b) => a + (b[\"QtyRecv\"] || 0),\r\n 0\r\n ).toFixed(2) || 0}\r\n </strong>\r\n </TableCell>\r\n <TableCell className=\"bg-light\"></TableCell>\r\n </TableRow>\r\n </TableBody>\r\n </Table>\r\n {ContainersDetails?.length > 0 ? (\r\n <TablePagination\r\n rowsPerPageOptions={[5, 10, 25]}\r\n colSpan={3}\r\n count={ContainersDetails?.length}\r\n rowsPerPage={rowsPerPageContainer}\r\n page={pageContainer}\r\n SelectProps={{\r\n inputProps: { \"aria-label\": \"Rows per page\" },\r\n native: true,\r\n }}\r\n onChangePage={handleChangePageContainer}\r\n onChangeRowsPerPage={handleChangeRowsPerPageContainer}\r\n ActionsComponent={TablePaginationActions}\r\n />\r\n ) : (\r\n \"\"\r\n )}\r\n </div>\r\n </div>\r\n </div>\r\n </Modal.Body>\r\n <Modal.Footer>\r\n <Button\r\n variant=\"secondary\"\r\n onClick={(e) => {\r\n setShowContainerPort(false);\r\n setPageContainer(0);\r\n }}\r\n >\r\n Close\r\n </Button>\r\n </Modal.Footer>\r\n </Modal>\r\n <Modal show={showTransload} size=\"xl\">\r\n <Modal.Header>\r\n <Modal.Title>Transload Performance Detail</Modal.Title>\r\n <ButtonToolbar\r\n style={{ right: \"79px\", position: \"absolute\" }}\r\n className=\"btn-text-primary\"\r\n className={classes.button}\r\n >\r\n <Button\r\n aria-controls=\"customized-menu\"\r\n aria-haspopup=\"true\"\r\n className=\"btn btn-outline-success btn-sm text-hover-white\"\r\n onClick={handleClick}\r\n >\r\n Export as\r\n <i className=\"far fa-save ml-3 text-success text-hover-white\"></i>\r\n </Button>\r\n <StyledMenu\r\n id=\"customized-menu\"\r\n anchorEl={anchorEl}\r\n keepMounted\r\n open={Boolean(anchorEl)}\r\n onClose={handleClose}\r\n >\r\n <StyledMenuItem\r\n onClick={(event) => {\r\n var data = [];\r\n PerformanceReportData[\r\n performancetavselected\r\n ].PerformanceReportDetails.map((item) => {\r\n var onj = {\r\n Container: item.Container,\r\n Released: item.ReleaseDate,\r\n Received: item.Received,\r\n Devanned: item.DevanDate,\r\n TransloadTime: item.TransloadTime,\r\n Notes: item.CustomerNote,\r\n };\r\n data.push(onj);\r\n });\r\n Export(data, \"excel\", `Transload Performance Detail _`);\r\n }}\r\n >\r\n <ListItemIcon>\r\n <i className=\"far fa-file-excel\"></i>\r\n </ListItemIcon>\r\n <ListItemText primary=\"Excel\" />\r\n </StyledMenuItem>\r\n <StyledMenuItem\r\n onClick={(event) => {\r\n var data = [];\r\n PerformanceReportData[\r\n performancetavselected\r\n ].PerformanceReportDetails.map((item) => {\r\n var onj = {\r\n Container: item.Container,\r\n Released: item.ReleaseDate,\r\n Received: item.Received,\r\n Devanned: item.DevanDate,\r\n TransloadTime: item.TransloadTime,\r\n Notes: item.CustomerNote,\r\n };\r\n data.push(onj);\r\n });\r\n Export(data, \"csv\", `Transload Performance Detail _`);\r\n }}\r\n >\r\n <ListItemIcon>\r\n <i className=\"fas fa-file-csv\"></i>\r\n </ListItemIcon>\r\n <ListItemText primary=\"CSV\" />\r\n </StyledMenuItem>\r\n <StyledMenuItem\r\n onClick={(event) => {\r\n var data = [];\r\n PerformanceReportData[\r\n performancetavselected\r\n ].PerformanceReportDetails.map((item) => {\r\n var onj = {\r\n Container: item.Container,\r\n Released: item.ReleaseDate,\r\n Received: item.Received,\r\n Devanned: item.DevanDate,\r\n TransloadTime: item.TransloadTime,\r\n Notes: item.CustomerNote,\r\n };\r\n data.push(onj);\r\n });\r\n Export(data, \"json\", `Transload Performance Detail _`);\r\n }}\r\n >\r\n <ListItemIcon>\r\n <i className=\"far fa-file-code\"></i>\r\n </ListItemIcon>\r\n <ListItemText primary=\"Json\" />\r\n </StyledMenuItem>\r\n </StyledMenu>\r\n </ButtonToolbar>\r\n\r\n <IconButton\r\n aria-label=\"Close\"\r\n onClick={(e) => {\r\n setPage(0);\r\n setShowTransload(false);\r\n }}\r\n >\r\n <CloseIcon />\r\n </IconButton>\r\n </Modal.Header>\r\n <Modal.Body>\r\n <div className=\"form-group\">\r\n <div className=\"col-lg-12 mt-5\">\r\n <div className=\"react-bootstrap-table table-responsive\">\r\n <Table className={classes.table} size=\"normal\">\r\n <TableHead className=\"mb-4\">\r\n <TableRow>\r\n <TableCell className=\"bg-light\">Container</TableCell>\r\n <TableCell className=\"bg-light\">Released</TableCell>\r\n <TableCell className=\"bg-light\">Received</TableCell>\r\n <TableCell className=\"bg-light\">Devanned</TableCell>\r\n <TableCell className=\"bg-light\">Transload time</TableCell>\r\n <TableCell className=\"bg-light\">Notes</TableCell>\r\n </TableRow>\r\n </TableHead>\r\n <TableBody>\r\n {PerformanceReportData[\r\n performancetavselected\r\n ]?.PerformanceReportDetails?.slice(\r\n page * rowsPerPage,\r\n page * rowsPerPage + rowsPerPage\r\n ).map((item, index) => (\r\n <TableRow>\r\n <TableCell\r\n className={`${\r\n item.TransloadTime.includes(\"More Than\")\r\n ? \"bg-danger-o-50\"\r\n : \"\"\r\n }`}\r\n >\r\n {\r\n <ModelManagmentFirstDashboard\r\n container={item.Container}\r\n receiptId={item.Id}\r\n isReporting={true}\r\n />\r\n }\r\n </TableCell>\r\n <TableCell\r\n className={`${\r\n item.TransloadTime.includes(\"More Than\")\r\n ? \"bg-danger-o-50\"\r\n : \"\"\r\n }`}\r\n >\r\n {getDateName(item.ReleaseDate)}\r\n </TableCell>\r\n <TableCell\r\n className={`${\r\n item.TransloadTime.includes(\"More Than\")\r\n ? \"bg-danger-o-50\"\r\n : \"\"\r\n }`}\r\n >\r\n {getDateName(item.Received)}\r\n </TableCell>\r\n <TableCell\r\n className={`${\r\n item.TransloadTime.includes(\"More Than\")\r\n ? \"bg-danger-o-50\"\r\n : \"\"\r\n }`}\r\n >\r\n {getDateName(item.DevanDate)}\r\n </TableCell>\r\n <TableCell\r\n className={`${\r\n item.TransloadTime.includes(\"More Than\")\r\n ? \"bg-danger-o-50\"\r\n : \"\"\r\n }`}\r\n >\r\n {item.TransloadTime}\r\n </TableCell>\r\n\r\n <TableCell\r\n className={`${\r\n item.TransloadTime.includes(\"More Than\")\r\n ? \"bg-danger-o-50\"\r\n : \"\"\r\n }`}\r\n >\r\n {item.CustomerNote !== null &&\r\n item.CustomerNote !== \"\" &&\r\n item.CustomerNote !== undefined ? (\r\n <OverlayTrigger\r\n overlay={\r\n <Tooltip\r\n style={{ pointerEvents: \"none\" }}\r\n id=\"products-delete-tooltip\"\r\n >\r\n <div\r\n dangerouslySetInnerHTML={{\r\n __html: item.CustomerNote,\r\n }}\r\n />\r\n </Tooltip>\r\n }\r\n >\r\n <a className=\"btn btn-icon btn-light btn-hover-warning btn-sm ml-1\">\r\n <span className=\"svg-icon svg-icon-md svg-icon-warning\">\r\n <SVG\r\n src={toAbsoluteUrl(\r\n \"/media/svg/icons/General/Clipboard.svg\"\r\n )}\r\n />\r\n </span>\r\n </a>\r\n </OverlayTrigger>\r\n ) : (\r\n \"\"\r\n )}\r\n </TableCell>\r\n </TableRow>\r\n ))}\r\n </TableBody>\r\n </Table>\r\n {PerformanceReportData[performancetavselected]\r\n ?.PerformanceReportDetails && (\r\n <TablePagination\r\n rowsPerPageOptions={[5, 10, 25]}\r\n colSpan={3}\r\n count={\r\n PerformanceReportData[performancetavselected]\r\n ?.PerformanceReportDetails?.length\r\n }\r\n rowsPerPage={rowsPerPage}\r\n page={page}\r\n SelectProps={{\r\n inputProps: { \"aria-label\": \"Rows per page\" },\r\n native: true,\r\n }}\r\n onChangePage={handleChangePage}\r\n onChangeRowsPerPage={handleChangeRowsPerPage}\r\n ActionsComponent={TablePaginationActions}\r\n />\r\n )}\r\n </div>\r\n </div>\r\n </div>\r\n </Modal.Body>\r\n <Modal.Footer>\r\n <Button\r\n variant=\"secondary\"\r\n onClick={(e) => {\r\n setShowTransload(false);\r\n setPage(0);\r\n }}\r\n >\r\n Close\r\n </Button>\r\n </Modal.Footer>\r\n </Modal>\r\n <Modal show={showInBound} size=\"xl\">\r\n <Modal.Header>\r\n <Modal.Title>Inbound Container Details</Modal.Title>\r\n <ButtonToolbar\r\n style={{ right: \"79px\", position: \"absolute\" }}\r\n className=\"btn-text-primary\"\r\n className={classes.button}\r\n >\r\n <Button\r\n aria-controls=\"customized-menu\"\r\n aria-haspopup=\"true\"\r\n className=\"btn btn-outline-success btn-sm text-hover-white\"\r\n onClick={handleClick}\r\n >\r\n Export as\r\n <i className=\"far fa-save ml-3 text-success text-hover-white\"></i>\r\n </Button>\r\n <StyledMenu\r\n id=\"customized-menu\"\r\n anchorEl={anchorEl}\r\n keepMounted\r\n open={Boolean(anchorEl)}\r\n onClose={handleClose}\r\n >\r\n <StyledMenuItem\r\n onClick={(event) => {\r\n var data = [];\r\n PerformanceReportData[\r\n performancetavselected\r\n ].DimensionInboundDetails.map((item) => {\r\n var onj = {\r\n Container: item.Container,\r\n Received: item.Received,\r\n Released: item.ReleaseDate,\r\n Devanned: item.DevanDate,\r\n \"Cube (CBM)\": item.Cube,\r\n \"Weight (KGS)\": item.Weight,\r\n };\r\n data.push(onj);\r\n });\r\n Export(data, \"excel\", `Inbound Container Details _`);\r\n }}\r\n >\r\n <ListItemIcon>\r\n <i className=\"far fa-file-excel\"></i>\r\n </ListItemIcon>\r\n <ListItemText primary=\"Excel\" />\r\n </StyledMenuItem>\r\n <StyledMenuItem\r\n onClick={(event) => {\r\n var data = [];\r\n PerformanceReportData[\r\n performancetavselected\r\n ].DimensionInboundDetails.map((item) => {\r\n var onj = {\r\n Container: item.Container,\r\n Received: item.Received,\r\n Released: item.ReleaseDate,\r\n Devanned: item.DevanDate,\r\n \"Cube (CBM)\": item.Cube,\r\n \"Weight (KGS)\": item.Weight,\r\n };\r\n data.push(onj);\r\n });\r\n Export(data, \"csv\", `Inbound Container Details _`);\r\n }}\r\n >\r\n <ListItemIcon>\r\n <i className=\"fas fa-file-csv\"></i>\r\n </ListItemIcon>\r\n <ListItemText primary=\"CSV\" />\r\n </StyledMenuItem>\r\n <StyledMenuItem\r\n onClick={(event) => {\r\n var data = [];\r\n PerformanceReportData[\r\n performancetavselected\r\n ].DimensionInboundDetails.map((item) => {\r\n var onj = {\r\n Container: item.Container,\r\n Received: item.Received,\r\n Released: item.ReleaseDate,\r\n Devanned: item.DevanDate,\r\n \"Cube (CBM)\": item.Cube,\r\n \"Weight (KGS)\": item.Weight,\r\n };\r\n data.push(onj);\r\n });\r\n Export(data, \"json\", `Inbound Container Details _`);\r\n }}\r\n >\r\n <ListItemIcon>\r\n <i className=\"far fa-file-code\"></i>\r\n </ListItemIcon>\r\n <ListItemText primary=\"Json\" />\r\n </StyledMenuItem>\r\n </StyledMenu>\r\n </ButtonToolbar>\r\n\r\n <IconButton\r\n aria-label=\"Close\"\r\n onClick={(e) => {\r\n setShowInBound(false);\r\n setPageInboundContainerDetails(0);\r\n }}\r\n >\r\n <CloseIcon />\r\n </IconButton>\r\n </Modal.Header>\r\n <Modal.Body>\r\n <div className=\"form-group\">\r\n <div className=\"col-lg-12 mt-5\">\r\n <div className=\"react-bootstrap-table table-responsive\">\r\n <Table className={classes.table} size=\"normal\">\r\n <TableHead className=\"mb-4\">\r\n <TableRow>\r\n <TableCell className=\"bg-light\">Container</TableCell>\r\n <TableCell className=\"bg-light\">Received</TableCell>\r\n <TableCell className=\"bg-light\">Released</TableCell>\r\n <TableCell className=\"bg-light\">Devanned</TableCell>\r\n <TableCell className=\"bg-light\">Cube (CBM)</TableCell>\r\n <TableCell className=\"bg-light\">Weight (KGS)</TableCell>\r\n </TableRow>\r\n </TableHead>\r\n <TableBody>\r\n {PerformanceReportData[\r\n performancetavselected\r\n ]?.DimensionInboundDetails?.slice(\r\n pageInboundContainerDetails *\r\n rowsPerPageInboundContainerDetails,\r\n pageInboundContainerDetails *\r\n rowsPerPageInboundContainerDetails +\r\n rowsPerPageInboundContainerDetails\r\n ).map((item, index) => (\r\n <TableRow>\r\n <TableCell>\r\n <ModelManagmentFirstDashboard\r\n container={item.Container}\r\n receiptId={item.Receipt}\r\n isReporting={true}\r\n />\r\n </TableCell>\r\n <TableCell>{getDateName(item.Received)}</TableCell>\r\n <TableCell>{getDateName(item.ReleaseDate)}</TableCell>\r\n <TableCell>{getDateName(item.DevanDate)}</TableCell>\r\n <TableCell>\r\n {item.Cube != null\r\n ? currencyFormat(item.Cube)\r\n : \"0.00\"}\r\n </TableCell>\r\n <TableCell>\r\n {item.Weight != null\r\n ? currencyFormat(item.Weight)\r\n : \"0.00\"}\r\n </TableCell>\r\n </TableRow>\r\n ))}\r\n </TableBody>\r\n </Table>\r\n {PerformanceReportData[performancetavselected]\r\n ?.DimensionInboundDetails && (\r\n <TablePagination\r\n rowsPerPageOptions={[5, 10, 25]}\r\n colSpan={3}\r\n count={\r\n PerformanceReportData[performancetavselected]\r\n ?.DimensionInboundDetails?.length\r\n }\r\n rowsPerPage={rowsPerPageInboundContainerDetails}\r\n page={pageInboundContainerDetails}\r\n SelectProps={{\r\n inputProps: { \"aria-label\": \"Rows per page\" },\r\n native: true,\r\n }}\r\n onChangePage={handleChangePageInboundContainerDetails}\r\n onChangeRowsPerPage={\r\n handleChangeRowsPerPageInboundContainerDetails\r\n }\r\n ActionsComponent={TablePaginationActions}\r\n />\r\n )}\r\n </div>\r\n </div>\r\n </div>\r\n </Modal.Body>\r\n <Modal.Footer>\r\n <Button\r\n variant=\"secondary\"\r\n onClick={(e) => {\r\n setShowInBound(false);\r\n setPageInboundContainerDetails(0);\r\n }}\r\n >\r\n Close\r\n </Button>\r\n </Modal.Footer>\r\n </Modal>\r\n <Modal show={showOutBound} size=\"xl\">\r\n <Modal.Header>\r\n <Modal.Title>Outbound Trailer Details</Modal.Title>\r\n <ButtonToolbar\r\n style={{ right: \"79px\", position: \"absolute\" }}\r\n className=\"btn-text-primary\"\r\n className={classes.button}\r\n >\r\n <Button\r\n aria-controls=\"customized-menu\"\r\n aria-haspopup=\"true\"\r\n className=\"btn btn-outline-success btn-sm text-hover-white\"\r\n onClick={handleClick}\r\n >\r\n Export as\r\n <i className=\"far fa-save ml-3 text-success text-hover-white\"></i>\r\n </Button>\r\n <StyledMenu\r\n id=\"customized-menu\"\r\n anchorEl={anchorEl}\r\n keepMounted\r\n open={Boolean(anchorEl)}\r\n onClose={handleClose}\r\n >\r\n <StyledMenuItem\r\n onClick={(event) => {\r\n var data = [];\r\n PerformanceReportData[\r\n performancetavselected\r\n ].DimensionOutboundDetails.map((item) => {\r\n var onj = {\r\n Shipment: item.Shipment,\r\n Trailer: item.Trailer,\r\n Consignee: item?.Consignee,\r\n Released: item.ReleaseDate,\r\n Devanned: item.DevanDate,\r\n Loaded: item.Loaded,\r\n Delivered: item.Delivred,\r\n \"Cube (CBM)\": item.Cube,\r\n \"Weight (KGS)\": item.Weight,\r\n };\r\n data.push(onj);\r\n });\r\n Export(data, \"excel\", `Outbound Trailer Details _`);\r\n }}\r\n >\r\n <ListItemIcon>\r\n <i className=\"far fa-file-excel\"></i>\r\n </ListItemIcon>\r\n <ListItemText primary=\"Excel\" />\r\n </StyledMenuItem>\r\n <StyledMenuItem\r\n onClick={(event) => {\r\n var data = [];\r\n PerformanceReportData[\r\n performancetavselected\r\n ].DimensionOutboundDetails.map((item) => {\r\n var onj = {\r\n Shipment: item.Shipment,\r\n Trailer: item.Trailer,\r\n Consignee: item?.Consignee,\r\n Released: item.ReleaseDate,\r\n Devanned: item.DevanDate,\r\n Loaded: item.Loaded,\r\n Delivered: item.Delivred,\r\n \"Cube (CBM)\": item.Cube,\r\n \"Weight (KGS)\": item.Weight,\r\n };\r\n data.push(onj);\r\n });\r\n Export(data, \"csv\", `Outbound Trailer Details _`);\r\n }}\r\n >\r\n <ListItemIcon>\r\n <i className=\"fas fa-file-csv\"></i>\r\n </ListItemIcon>\r\n <ListItemText primary=\"CSV\" />\r\n </StyledMenuItem>\r\n <StyledMenuItem\r\n onClick={(event) => {\r\n var data = [];\r\n PerformanceReportData[\r\n performancetavselected\r\n ].DimensionOutboundDetails.map((item) => {\r\n var onj = {\r\n Shipment: item.Shipment,\r\n Trailer: item.Trailer,\r\n Consignee: item?.Consignee,\r\n Released: item.ReleaseDate,\r\n Devanned: item.DevanDate,\r\n Loaded: item.Loaded,\r\n Delivered: item.Delivred,\r\n \"Cube (CBM)\": item.Cube,\r\n \"Weight (KGS)\": item.Weight,\r\n };\r\n data.push(onj);\r\n });\r\n Export(data, \"json\", `Outbound Trailer Details _`);\r\n }}\r\n >\r\n <ListItemIcon>\r\n <i className=\"far fa-file-code\"></i>\r\n </ListItemIcon>\r\n <ListItemText primary=\"Json\" />\r\n </StyledMenuItem>\r\n </StyledMenu>\r\n </ButtonToolbar>\r\n <IconButton\r\n aria-label=\"Close\"\r\n onClick={(e) => {\r\n setShowOutBound(false);\r\n setPageOutboundContainerDetails(0);\r\n }}\r\n >\r\n <CloseIcon />\r\n </IconButton>\r\n </Modal.Header>\r\n <Modal.Body>\r\n <div className=\"form-group\">\r\n <div className=\"col-lg-12 mt-5\">\r\n <div className=\"react-bootstrap-table table-responsive\">\r\n <Table className={classes.table} size=\"normal\">\r\n <TableHead className=\"mb-4\">\r\n <TableRow>\r\n <TableCell className=\"bg-light\">Shipment</TableCell>\r\n <TableCell className=\"bg-light\">Trailer</TableCell>\r\n <TableCell className=\"bg-light\">Consignee</TableCell>\r\n <TableCell className=\"bg-light\">Released</TableCell>\r\n <TableCell className=\"bg-light\">Devanned</TableCell>\r\n <TableCell className=\"bg-light\">Loaded</TableCell>\r\n <TableCell className=\"bg-light\">Delivered</TableCell>\r\n <TableCell className=\"bg-light\">Cube (CBM)</TableCell>\r\n <TableCell className=\"bg-light\">Weight (KGS)</TableCell>\r\n </TableRow>\r\n </TableHead>\r\n <TableBody>\r\n {PerformanceReportData[\r\n performancetavselected\r\n ]?.DimensionOutboundDetails?.slice(\r\n pageOutboundContainerDetails *\r\n rowsPerPageOutboundContainerDetails,\r\n pageOutboundContainerDetails *\r\n rowsPerPageOutboundContainerDetails +\r\n rowsPerPageOutboundContainerDetails\r\n ).map((item, index) => (\r\n <TableRow>\r\n <TableCell>{item.Shipment}</TableCell>\r\n <TableCell>\r\n <ModelManagmentFirstDashboardSm\r\n trailer={item.Trailer}\r\n id={item.Shipment}\r\n isDashboard={true}\r\n />\r\n </TableCell>\r\n <TableCell>{item?.Consignee}</TableCell>\r\n <TableCell>{getDateName(item.ReleaseDate)}</TableCell>\r\n <TableCell>{getDateName(item.DevanDate)}</TableCell>\r\n <TableCell>{getDateName(item.Loaded)}</TableCell>\r\n <TableCell>{getDateName(item.Delivred)}</TableCell>\r\n <TableCell>\r\n {item.Cube != null\r\n ? currencyFormat(item.Cube)\r\n : \"0.00\"}\r\n </TableCell>\r\n <TableCell>\r\n {item.Weight != null\r\n ? currencyFormat(item.Weight)\r\n : \"0.00\"}\r\n </TableCell>\r\n </TableRow>\r\n ))}\r\n </TableBody>\r\n </Table>\r\n {PerformanceReportData[performancetavselected]\r\n ?.DimensionOutboundDetails && (\r\n <TablePagination\r\n rowsPerPageOptions={[5, 10, 25]}\r\n colSpan={3}\r\n count={\r\n PerformanceReportData[performancetavselected]\r\n ?.DimensionOutboundDetails?.length\r\n }\r\n rowsPerPage={rowsPerPageOutboundContainerDetails}\r\n page={pageOutboundContainerDetails}\r\n SelectProps={{\r\n inputProps: { \"aria-label\": \"Rows per page\" },\r\n native: true,\r\n }}\r\n onChangePage={handleChangePageOutboundContainerDetails}\r\n onChangeRowsPerPage={\r\n handleChangeRowsPerPageOutboundContainerDetails\r\n }\r\n ActionsComponent={TablePaginationActions}\r\n />\r\n )}\r\n </div>\r\n </div>\r\n </div>\r\n </Modal.Body>\r\n <Modal.Footer>\r\n <Button\r\n variant=\"secondary\"\r\n onClick={(e) => {\r\n setShowOutBound(false);\r\n setPageOutboundContainerDetails(0);\r\n }}\r\n >\r\n Close\r\n </Button>\r\n </Modal.Footer>\r\n </Modal>\r\n\r\n <div className={`card card-custom ${className}`}>\r\n {TransloadPerformanceReportLoadingSpinner2 && (\r\n <ProgressBar\r\n variant=\"success\"\r\n animated\r\n now={100}\r\n style={{ height: \"3px\", width: \"100%\" }}\r\n />\r\n )}\r\n <div className=\"card-header border-0\">\r\n <h3 className=\"card-title font-weight-bolder text-dark\">\r\n Performance Report\r\n </h3>\r\n </div>\r\n <div className=\"card-body d-flex flex-column\">\r\n <div className=\"form-group row\">\r\n <div className=\"col-md-10\">\r\n <RangeDatePicker\r\n startDate={startDateValue}\r\n endDate={endDateValue}\r\n onChange={(startDate, endDate) => {\r\n var dataAccepted = moment()\r\n .add(-180, \"days\")\r\n .format(\"YYYY-MM-DD\");\r\n if (new Date(startDate) < new Date(dataAccepted)) {\r\n Notification(\r\n \"errorClick\",\r\n \"The date limit filter is 180 days\"\r\n );\r\n setStartDate(new Date(dataAccepted));\r\n setEndDate(endDate);\r\n } else {\r\n setStartDate(startDate);\r\n setEndDate(endDate);\r\n }\r\n\r\n onChange(startDate, endDate);\r\n }}\r\n dateFormat=\"MM/DD/YYYY\"\r\n minDate={new Date(1900, 0, 1)}\r\n maxDate={new Date(2100, 0, 1)}\r\n startDatePlaceholder=\"Start Date\"\r\n endDatePlaceholder=\"End Date\"\r\n disabled={false}\r\n className=\"my-own-class-name\"\r\n startWeekDay=\"monday\"\r\n />\r\n </div>\r\n <div className=\"col-md-2 mt-4\">\r\n <button\r\n className=\"btn btn-primary font-weight-bolder font-size-sm\"\r\n id=\"SearchPerformanceReport\"\r\n onClick={() => {\r\n if (\r\n customerId === 0 ||\r\n customerId === null ||\r\n customerId === undefined\r\n ) {\r\n Notification(\"errorClick\", \"Please select customer\");\r\n return;\r\n }\r\n setTransloadPerformanceReportLoadingSpinner2(true);\r\n var startDate = moment(startDateValue).format(\"YYYY-MM-DD\");\r\n var endDate = moment(endDateValue).format(\"YYYY-MM-DD\");\r\n var SearchText = document.getElementById(\"searchGlobalText\")\r\n .value;\r\n var myHeaders = new Headers();\r\n myHeaders.append(\r\n \"Authorization\",\r\n `bearer ${db.read().getState().Token}`\r\n );\r\n myHeaders.append(\"Content-Type\", \"application/json\");\r\n myHeaders.append(\"X-FP-API-KEY\", \"iphone\");\r\n var requestOptions = {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: myHeaders,\r\n redirect: \"follow\",\r\n };\r\n fetch(\r\n `${window.$apiurl}/dashboardtransportation/performancereport?customerId=${customerId}&keyword=${SearchBy}${SearchText}&startDate=${startDate}&endDate=${endDate}`,\r\n requestOptions\r\n )\r\n .then((response) => response.text())\r\n .then((result) => {\r\n setTransloadPerformanceReportLoadingSpinner2(false);\r\n var obj = JSON.parse(result);\r\n setPerformanceReportData(obj.Performance);\r\n })\r\n .catch((error) => console.log(\"error\", error));\r\n }}\r\n >\r\n Search\r\n </button>\r\n </div>\r\n </div>\r\n <div className=\"form-group row mb-5 mt-4\">\r\n <div className=\"col-md-12\">\r\n <Tabs\r\n value={valuesTab}\r\n onChange={handleChange}\r\n variant=\"scrollable\"\r\n indicatorColor=\"primary\"\r\n textColor=\"primary\"\r\n className=\"p-0\"\r\n >\r\n <Tab\r\n className=\"p-0\"\r\n label={\r\n <React.Fragment>\r\n <span\r\n className=\"font-weight-boldest\"\r\n style={{\r\n fontSize: 16,\r\n paddingRight: \"3rem\",\r\n textTransform: \"initial\",\r\n }}\r\n >\r\n Released to Devan\r\n </span>\r\n </React.Fragment>\r\n }\r\n />\r\n <Tab\r\n label={\r\n <React.Fragment>\r\n <span\r\n className=\"font-weight-boldest\"\r\n style={{\r\n fontSize: 16,\r\n paddingRight: \"3rem\",\r\n textTransform: \"initial\",\r\n }}\r\n >\r\n Devanned to Loaded\r\n </span>\r\n </React.Fragment>\r\n }\r\n />\r\n {/* <Tab\r\n label={\r\n <React.Fragment>\r\n <span\r\n className=\"font-weight-boldest\"\r\n style={{\r\n fontSize: 16,\r\n paddingRight: \"3rem\",\r\n textTransform: \"initial\",\r\n }}\r\n >\r\n Shipped to RDD\r\n </span>\r\n </React.Fragment>\r\n }\r\n /> */}\r\n </Tabs>\r\n </div>\r\n </div>\r\n {valuesTab === 0 && (\r\n <>\r\n <div className=\"form-group row mb-5\">\r\n <div className=\"col-md-6 pr-0 mb-7 text-right\">\r\n <div className=\"react-bootstrap-table table-responsive\">\r\n <Table className={classes.table} size=\"normal\">\r\n <TableHead>\r\n <TableRow>\r\n <TableCell\r\n className=\"font-weight-bold px-1\"\r\n colSpan=\"3\"\r\n >\r\n <strong>ALL Containers</strong>\r\n </TableCell>\r\n </TableRow>\r\n <TableRow>\r\n <TableCell className=\"\">Category</TableCell>\r\n <TableCell className=\"\">Quantity</TableCell>\r\n <TableCell className=\"\">Percent</TableCell>\r\n </TableRow>\r\n </TableHead>\r\n <TableBody>\r\n <TableRow>\r\n <TableCell>within 24 Hours</TableCell>\r\n <TableCell>\r\n {\r\n PerformanceReportData[0]?.AllContainers\r\n ?.Whithin24Hours\r\n }\r\n </TableCell>\r\n <TableCell>\r\n {PerformanceReportData[0]?.AllContainers\r\n ?.Whithin24Hours !== undefined\r\n ? currencyFormat(\r\n (PerformanceReportData[0]?.AllContainers\r\n ?.Whithin24Hours /\r\n totalALLContainers0) *\r\n 100\r\n )\r\n : \"0.00\"}\r\n %\r\n </TableCell>\r\n </TableRow>\r\n <TableRow>\r\n <TableCell>within 48 Hours</TableCell>\r\n <TableCell>\r\n {\r\n PerformanceReportData[0]?.AllContainers\r\n ?.Whithin48Hours\r\n }\r\n </TableCell>\r\n <TableCell>\r\n {PerformanceReportData[0]?.AllContainers\r\n ?.Whithin48Hours !== undefined\r\n ? currencyFormat(\r\n (PerformanceReportData[0]?.AllContainers\r\n ?.Whithin48Hours /\r\n totalALLContainers0) *\r\n 100\r\n )\r\n : \"0.00\"}\r\n %\r\n </TableCell>\r\n </TableRow>\r\n <TableRow>\r\n <TableCell>within 72 Hours</TableCell>\r\n <TableCell>\r\n {\r\n PerformanceReportData[0]?.AllContainers\r\n ?.Whithin72Hours\r\n }\r\n </TableCell>\r\n <TableCell>\r\n {PerformanceReportData[0]?.AllContainers\r\n ?.Whithin72Hours !== undefined\r\n ? currencyFormat(\r\n (PerformanceReportData[0]?.AllContainers\r\n ?.Whithin72Hours /\r\n totalALLContainers0) *\r\n 100\r\n )\r\n : \"0.00\"}\r\n %\r\n </TableCell>\r\n </TableRow>\r\n <TableRow>\r\n <TableCell>More Than 72 Hours</TableCell>\r\n <TableCell>\r\n {\r\n PerformanceReportData[0]?.AllContainers\r\n ?.MoreThan72Hours\r\n }\r\n </TableCell>\r\n <TableCell>\r\n {PerformanceReportData[0]?.AllContainers\r\n ?.MoreThan72Hours !== undefined\r\n ? currencyFormat(\r\n (PerformanceReportData[0]?.AllContainers\r\n ?.MoreThan72Hours /\r\n totalALLContainers0) *\r\n 100\r\n )\r\n : \"0.00\"}\r\n %\r\n </TableCell>\r\n </TableRow>\r\n <TableRow>\r\n <TableCell className=\"bg-light\">\r\n <strong>Total</strong>\r\n </TableCell>\r\n <TableCell className=\"bg-light\">\r\n <strong>{totalALLContainers0}</strong>\r\n </TableCell>\r\n <TableCell className=\"bg-light\">\r\n <strong>\r\n {PerformanceReportData[0]?.AllContainers\r\n ?.MoreThan72Hours === 0 &&\r\n PerformanceReportData[0]?.AllContainers\r\n ?.Whithin24Hours === 0 &&\r\n PerformanceReportData[0]?.AllContainers\r\n ?.Whithin48Hours === 0 &&\r\n PerformanceReportData[0]?.AllContainers\r\n ?.Whithin72Hours === 0\r\n ? \"0\"\r\n : \"100\"}\r\n %\r\n </strong>\r\n </TableCell>\r\n </TableRow>\r\n </TableBody>\r\n </Table>\r\n </div>\r\n <button\r\n className=\"btn btn-primary font-weight-bolder font-size-sm mt-5\"\r\n onClick={(e) => {\r\n setShowTransload(true);\r\n setperformancetavselected(0);\r\n }}\r\n >\r\n View Details\r\n </button>\r\n </div>\r\n <div className=\"col-md-6 pl-0 mb-7 text-right\">\r\n <div className=\"react-bootstrap-table table-responsive\">\r\n <Table className={classes.table} size=\"normal\">\r\n <TableHead>\r\n <TableRow>\r\n <TableCell\r\n className=\"font-weight-boldest\"\r\n colSpan=\"3\"\r\n >\r\n <strong>\r\n Hot Containers (\r\n <i className=\"fab fa-gripfire text-warning\"></i>)\r\n </strong>\r\n </TableCell>\r\n </TableRow>\r\n <TableRow>\r\n <TableCell className=\"\">Category</TableCell>\r\n <TableCell className=\"\">Quantity</TableCell>\r\n <TableCell className=\"\">Percent</TableCell>\r\n </TableRow>\r\n </TableHead>\r\n <TableBody>\r\n <TableRow>\r\n <TableCell>within 24 Hours</TableCell>\r\n <TableCell>\r\n {\r\n PerformanceReportData[0]?.HotContainers\r\n ?.Whithin24Hours\r\n }\r\n </TableCell>\r\n <TableCell>\r\n {PerformanceReportData[0]?.HotContainers\r\n ?.Whithin24Hours !== undefined\r\n ? currencyFormat(\r\n (PerformanceReportData[0]?.HotContainers\r\n ?.Whithin24Hours /\r\n totalHotContainers0) *\r\n 100\r\n )\r\n : \"0.00\"}\r\n %\r\n </TableCell>\r\n </TableRow>\r\n <TableRow>\r\n <TableCell>within 48 Hours</TableCell>\r\n <TableCell>\r\n {\r\n PerformanceReportData[0]?.HotContainers\r\n ?.Whithin48Hours\r\n }\r\n </TableCell>\r\n <TableCell>\r\n {PerformanceReportData[0]?.HotContainers\r\n ?.Whithin48Hours !== undefined\r\n ? currencyFormat(\r\n (PerformanceReportData[0]?.HotContainers\r\n ?.Whithin48Hours /\r\n totalHotContainers0) *\r\n 100\r\n )\r\n : \"0.00\"}\r\n %\r\n </TableCell>\r\n </TableRow>\r\n <TableRow>\r\n <TableCell>within 72 Hours</TableCell>\r\n <TableCell>\r\n {\r\n PerformanceReportData[0]?.HotContainers\r\n ?.Whithin72Hours\r\n }\r\n </TableCell>\r\n <TableCell>\r\n {PerformanceReportData[0]?.HotContainers\r\n ?.Whithin72Hours !== undefined\r\n ? currencyFormat(\r\n (PerformanceReportData[0]?.HotContainers\r\n ?.Whithin72Hours /\r\n totalHotContainers0) *\r\n 100\r\n )\r\n : \"0.00\"}\r\n %\r\n </TableCell>\r\n </TableRow>\r\n <TableRow>\r\n <TableCell>More Than 72 Hours</TableCell>\r\n <TableCell>\r\n {\r\n PerformanceReportData[0]?.HotContainers\r\n ?.MoreThan72Hours\r\n }\r\n </TableCell>\r\n <TableCell>\r\n {PerformanceReportData[0]?.HotContainers\r\n ?.MoreThan72Hours !== undefined\r\n ? currencyFormat(\r\n (PerformanceReportData[0]?.HotContainers\r\n ?.MoreThan72Hours /\r\n totalHotContainers0) *\r\n 100\r\n )\r\n : \"0.00\"}\r\n %\r\n </TableCell>\r\n </TableRow>\r\n <TableRow>\r\n <TableCell className=\"bg-light\">\r\n <strong>Total</strong>\r\n </TableCell>\r\n <TableCell className=\"bg-light\">\r\n <strong>{totalHotContainers0}</strong>\r\n </TableCell>\r\n <TableCell className=\"bg-light\">\r\n <strong>\r\n {PerformanceReportData[0]?.HotContainers\r\n ?.MoreThan72Hours === 0 &&\r\n PerformanceReportData[0]?.HotContainers\r\n ?.Whithin24Hours === 0 &&\r\n PerformanceReportData[0]?.HotContainers\r\n ?.Whithin48Hours === 0 &&\r\n PerformanceReportData[0]?.HotContainers\r\n ?.Whithin72Hours === 0\r\n ? \"0\"\r\n : \"100\"}\r\n %\r\n </strong>\r\n </TableCell>\r\n </TableRow>\r\n </TableBody>\r\n </Table>\r\n </div>\r\n </div>\r\n </div>\r\n <div className=\"form-group row\">\r\n <div className=\"col-md-6 pr-0 text-right\">\r\n <div className=\"react-bootstrap-table table-responsive\">\r\n <Table className={classes.table} size=\"normal\">\r\n <TableHead>\r\n <TableRow>\r\n <TableCell\r\n className=\"font-weight-boldest\"\r\n colSpan=\"3\"\r\n >\r\n <strong>Inbound Container Dimensions</strong>\r\n </TableCell>\r\n </TableRow>\r\n <TableRow>\r\n <TableCell className=\"\">Total Inbound</TableCell>\r\n <TableCell className=\"\">Average Cartons</TableCell>\r\n <TableCell className=\"\">Average Cube (CBM)</TableCell>\r\n <TableCell className=\"\">\r\n Average Weight (KGS)\r\n </TableCell>\r\n </TableRow>\r\n </TableHead>\r\n <TableBody>\r\n <TableRow>\r\n <TableCell>\r\n {PerformanceReportData[0]?.DimensionsInbound\r\n ?.Total !== null\r\n ? PerformanceReportData[0]?.DimensionsInbound\r\n ?.Total || 0\r\n : 0}\r\n </TableCell>\r\n <TableCell>\r\n {PerformanceReportData[0]?.DimensionsInbound\r\n ?.AverageCartons !== null\r\n ? PerformanceReportData[0]?.DimensionsInbound\r\n ?.AverageCartons || 0\r\n : 0}\r\n </TableCell>\r\n <TableCell>\r\n {PerformanceReportData[0]?.DimensionsInbound\r\n ?.AverageCubeCbm !== null\r\n ? PerformanceReportData[0]?.DimensionsInbound?.AverageCubeCbm.toFixed(\r\n 2\r\n ) || 0\r\n : 0}\r\n </TableCell>\r\n <TableCell>\r\n {PerformanceReportData[0]?.DimensionsInbound\r\n ?.AverageWeightKgm !== null\r\n ? PerformanceReportData[0]?.DimensionsInbound?.AverageWeightKgm.toFixed(\r\n 2\r\n ) || 0\r\n : 0}\r\n </TableCell>\r\n </TableRow>\r\n </TableBody>\r\n </Table>\r\n </div>\r\n <button\r\n className=\"btn btn-primary font-weight-bolder font-size-sm mt-5\"\r\n onClick={(e) => {\r\n setShowInBound(true);\r\n setperformancetavselected(0);\r\n }}\r\n >\r\n View Details\r\n </button>\r\n </div>\r\n <div className=\"col-md-6 pl-0 text-right\">\r\n <div className=\"react-bootstrap-table table-responsive\">\r\n <Table className={classes.table} size=\"normal\">\r\n <TableHead>\r\n <TableRow>\r\n <TableCell\r\n className=\"font-weight-boldest\"\r\n colSpan=\"3\"\r\n >\r\n <strong>Outbound Trailer Dimensions</strong>\r\n </TableCell>\r\n </TableRow>\r\n <TableRow>\r\n <TableCell className=\"\">Total Outbound</TableCell>\r\n <TableCell className=\"\">Average Cartons</TableCell>\r\n <TableCell className=\"\">Average Cube (CBM)</TableCell>\r\n <TableCell className=\"\">\r\n Average Weight (KGS)\r\n </TableCell>\r\n </TableRow>\r\n </TableHead>\r\n <TableBody>\r\n <TableRow>\r\n <TableCell>\r\n {PerformanceReportData[0]?.DimensionsOutbound\r\n ?.Total || 0}\r\n </TableCell>\r\n <TableCell>\r\n {PerformanceReportData[0]?.DimensionsOutbound\r\n ?.AverageCartons !== null\r\n ? PerformanceReportData[0]?.DimensionsOutbound\r\n ?.AverageCartons || 0\r\n : 0}\r\n </TableCell>\r\n <TableCell>\r\n {PerformanceReportData[0]?.DimensionsOutbound?.AverageCubeCbm?.toFixed(\r\n 2\r\n ) || 0}\r\n </TableCell>\r\n <TableCell>\r\n {PerformanceReportData[0]?.DimensionsOutbound?.AverageWeightKgm?.toFixed(\r\n 2\r\n ) || 0}\r\n </TableCell>\r\n </TableRow>\r\n </TableBody>\r\n </Table>\r\n </div>\r\n <button\r\n className=\"btn btn-primary font-weight-bolder font-size-sm mt-5\"\r\n onClick={(e) => {\r\n setShowOutBound(true);\r\n setperformancetavselected(0);\r\n }}\r\n >\r\n View Details\r\n </button>\r\n </div>\r\n </div>\r\n </>\r\n )}\r\n {valuesTab === 1 && (\r\n <>\r\n <div className=\"form-group row mb-5\">\r\n <div className=\"col-md-6 pr-0 mb-7 text-right\">\r\n <div className=\"react-bootstrap-table table-responsive\">\r\n <Table className={classes.table} size=\"normal\">\r\n <TableHead>\r\n <TableRow>\r\n <TableCell\r\n className=\"font-weight-bold px-1\"\r\n colSpan=\"3\"\r\n >\r\n <strong>ALL Containers</strong>\r\n </TableCell>\r\n </TableRow>\r\n <TableRow>\r\n <TableCell className=\"\">Category</TableCell>\r\n <TableCell className=\"\">Quantity</TableCell>\r\n <TableCell className=\"\">Percent</TableCell>\r\n </TableRow>\r\n </TableHead>\r\n <TableBody>\r\n <TableRow>\r\n <TableCell>within 24 Hours</TableCell>\r\n <TableCell>\r\n {\r\n PerformanceReportData[1]?.AllContainers\r\n ?.Whithin24Hours\r\n }\r\n </TableCell>\r\n <TableCell>\r\n {PerformanceReportData[1]?.AllContainers\r\n ?.Whithin24Hours !== undefined\r\n ? currencyFormat(\r\n (PerformanceReportData[1]?.AllContainers\r\n ?.Whithin24Hours /\r\n totalALLContainers1) *\r\n 100\r\n )\r\n : \"0.00\"}\r\n %\r\n </TableCell>\r\n </TableRow>\r\n <TableRow>\r\n <TableCell>within 48 Hours</TableCell>\r\n <TableCell>\r\n {\r\n PerformanceReportData[1]?.AllContainers\r\n ?.Whithin48Hours\r\n }\r\n </TableCell>\r\n <TableCell>\r\n {PerformanceReportData[1]?.AllContainers\r\n ?.Whithin48Hours !== undefined\r\n ? currencyFormat(\r\n (PerformanceReportData[1]?.AllContainers\r\n ?.Whithin48Hours /\r\n totalALLContainers1) *\r\n 100\r\n )\r\n : \"0.00\"}\r\n %\r\n </TableCell>\r\n </TableRow>\r\n <TableRow>\r\n <TableCell>within 72 Hours</TableCell>\r\n <TableCell>\r\n {\r\n PerformanceReportData[1]?.AllContainers\r\n ?.Whithin72Hours\r\n }\r\n </TableCell>\r\n <TableCell>\r\n {PerformanceReportData[1]?.AllContainers\r\n ?.Whithin72Hours !== undefined\r\n ? currencyFormat(\r\n (PerformanceReportData[1]?.AllContainers\r\n ?.Whithin72Hours /\r\n totalALLContainers1) *\r\n 100\r\n )\r\n : \"0.00\"}\r\n %\r\n </TableCell>\r\n </TableRow>\r\n <TableRow>\r\n <TableCell>More Than 72 Hours</TableCell>\r\n <TableCell>\r\n {\r\n PerformanceReportData[1]?.AllContainers\r\n ?.MoreThan72Hours\r\n }\r\n </TableCell>\r\n <TableCell>\r\n {PerformanceReportData[1]?.AllContainers\r\n ?.MoreThan72Hours !== undefined\r\n ? currencyFormat(\r\n (PerformanceReportData[1]?.AllContainers\r\n ?.MoreThan72Hours /\r\n totalALLContainers1) *\r\n 100\r\n )\r\n : \"0.00\"}\r\n %\r\n </TableCell>\r\n </TableRow>\r\n <TableRow>\r\n <TableCell className=\"bg-light\">\r\n <strong>Total</strong>\r\n </TableCell>\r\n <TableCell className=\"bg-light\">\r\n <strong>{totalALLContainers1}</strong>\r\n </TableCell>\r\n <TableCell className=\"bg-light\">\r\n <strong>\r\n {PerformanceReportData[1]?.AllContainers\r\n ?.MoreThan72Hours === 0 &&\r\n PerformanceReportData[1]?.AllContainers\r\n ?.Whithin24Hours === 0 &&\r\n PerformanceReportData[1]?.AllContainers\r\n ?.Whithin48Hours === 0 &&\r\n PerformanceReportData[1]?.AllContainers\r\n ?.Whithin72Hours === 0\r\n ? \"0\"\r\n : \"100\"}\r\n %\r\n </strong>\r\n </TableCell>\r\n </TableRow>\r\n </TableBody>\r\n </Table>\r\n </div>\r\n <button\r\n className=\"btn btn-primary font-weight-bolder font-size-sm mt-5\"\r\n onClick={(e) => {\r\n setShowTransload(true);\r\n setperformancetavselected(1);\r\n }}\r\n >\r\n View Details\r\n </button>\r\n </div>\r\n <div className=\"col-md-6 pl-0 mb-7 text-right\">\r\n <div className=\"react-bootstrap-table table-responsive\">\r\n <Table className={classes.table} size=\"normal\">\r\n <TableHead>\r\n <TableRow>\r\n <TableCell\r\n className=\"font-weight-boldest\"\r\n colSpan=\"3\"\r\n >\r\n <strong>\r\n Hot Containers (\r\n <i className=\"fab fa-gripfire text-warning\"></i>)\r\n </strong>\r\n </TableCell>\r\n </TableRow>\r\n <TableRow>\r\n <TableCell className=\"\">Category</TableCell>\r\n <TableCell className=\"\">Quantity</TableCell>\r\n <TableCell className=\"\">Percent</TableCell>\r\n </TableRow>\r\n </TableHead>\r\n <TableBody>\r\n <TableRow>\r\n <TableCell>within 24 Hours</TableCell>\r\n <TableCell>\r\n {\r\n PerformanceReportData[1]?.HotContainers\r\n ?.Whithin24Hours\r\n }\r\n </TableCell>\r\n <TableCell>\r\n {PerformanceReportData[1]?.HotContainers\r\n ?.Whithin24Hours !== undefined\r\n ? currencyFormat(\r\n (PerformanceReportData[1]?.HotContainers\r\n ?.Whithin24Hours /\r\n totalHotContainers1) *\r\n 100\r\n )\r\n : \"0.00\"}\r\n %\r\n </TableCell>\r\n </TableRow>\r\n <TableRow>\r\n <TableCell>within 48 Hours</TableCell>\r\n <TableCell>\r\n {\r\n PerformanceReportData[1]?.HotContainers\r\n ?.Whithin48Hours\r\n }\r\n </TableCell>\r\n <TableCell>\r\n {PerformanceReportData[1]?.HotContainers\r\n ?.Whithin48Hours !== undefined\r\n ? currencyFormat(\r\n (PerformanceReportData[1]?.HotContainers\r\n ?.Whithin48Hours /\r\n totalHotContainers1) *\r\n 100\r\n )\r\n : \"0.00\"}\r\n %\r\n </TableCell>\r\n </TableRow>\r\n <TableRow>\r\n <TableCell>within 72 Hours</TableCell>\r\n <TableCell>\r\n {\r\n PerformanceReportData[1]?.HotContainers\r\n ?.Whithin72Hours\r\n }\r\n </TableCell>\r\n <TableCell>\r\n {PerformanceReportData[1]?.HotContainers\r\n ?.Whithin72Hours !== undefined\r\n ? currencyFormat(\r\n (PerformanceReportData[1]?.HotContainers\r\n ?.Whithin72Hours /\r\n totalHotContainers1) *\r\n 100\r\n )\r\n : \"0.00\"}\r\n %\r\n </TableCell>\r\n </TableRow>\r\n <TableRow>\r\n <TableCell>More Than 72 Hours</TableCell>\r\n <TableCell>\r\n {\r\n PerformanceReportData[1]?.HotContainers\r\n ?.MoreThan72Hours\r\n }\r\n </TableCell>\r\n <TableCell>\r\n {PerformanceReportData[1]?.HotContainers\r\n ?.MoreThan72Hours !== undefined\r\n ? currencyFormat(\r\n (PerformanceReportData[1]?.HotContainers\r\n ?.MoreThan72Hours /\r\n totalHotContainers1) *\r\n 100\r\n )\r\n : \"0.00\"}\r\n %\r\n </TableCell>\r\n </TableRow>\r\n <TableRow>\r\n <TableCell className=\"bg-light\">\r\n <strong>Total</strong>\r\n </TableCell>\r\n <TableCell className=\"bg-light\">\r\n <strong>{totalHotContainers1}</strong>\r\n </TableCell>\r\n <TableCell className=\"bg-light\">\r\n <strong>\r\n {PerformanceReportData[1]?.HotContainers\r\n ?.MoreThan72Hours === 0 &&\r\n PerformanceReportData[1]?.HotContainers\r\n ?.Whithin24Hours === 0 &&\r\n PerformanceReportData[1]?.HotContainers\r\n ?.Whithin48Hours === 0 &&\r\n PerformanceReportData[1]?.HotContainers\r\n ?.Whithin72Hours === 0\r\n ? \"0\"\r\n : \"100\"}\r\n %\r\n </strong>\r\n </TableCell>\r\n </TableRow>\r\n </TableBody>\r\n </Table>\r\n </div>\r\n </div>\r\n </div>\r\n <div className=\"form-group row\">\r\n <div className=\"col-md-6 pr-0 text-right\">\r\n <div className=\"react-bootstrap-table table-responsive\">\r\n <Table className={classes.table} size=\"normal\">\r\n <TableHead>\r\n <TableRow>\r\n <TableCell\r\n className=\"font-weight-boldest\"\r\n colSpan=\"3\"\r\n >\r\n <strong>Inbound Container Dimensions</strong>\r\n </TableCell>\r\n </TableRow>\r\n <TableRow>\r\n <TableCell className=\"\">Total Inbound</TableCell>\r\n <TableCell className=\"\">Average Cartons</TableCell>\r\n <TableCell className=\"\">Average Cube (CBM)</TableCell>\r\n <TableCell className=\"\">\r\n Average Weight (KGS)\r\n </TableCell>\r\n </TableRow>\r\n </TableHead>\r\n <TableBody>\r\n <TableRow>\r\n <TableCell>\r\n {PerformanceReportData[1]?.DimensionsInbound\r\n ?.Total !== null\r\n ? PerformanceReportData[1]?.DimensionsInbound\r\n ?.Total || 0\r\n : 0}\r\n </TableCell>\r\n <TableCell>\r\n {PerformanceReportData[1]?.DimensionsInbound\r\n ?.AverageCartons !== null\r\n ? PerformanceReportData[1]?.DimensionsInbound\r\n ?.AverageCartons || 0\r\n : 0}\r\n </TableCell>\r\n <TableCell>\r\n {PerformanceReportData[1]?.DimensionsInbound\r\n ?.AverageCubeCbm !== null\r\n ? PerformanceReportData[1]?.DimensionsInbound?.AverageCubeCbm.toFixed(\r\n 2\r\n ) || 0\r\n : 0}\r\n </TableCell>\r\n <TableCell>\r\n {PerformanceReportData[1]?.DimensionsInbound\r\n ?.AverageWeightKgm !== null\r\n ? PerformanceReportData[1]?.DimensionsInbound?.AverageWeightKgm.toFixed(\r\n 2\r\n ) || 0\r\n : 0}\r\n </TableCell>\r\n </TableRow>\r\n </TableBody>\r\n </Table>\r\n </div>\r\n <button\r\n className=\"btn btn-primary font-weight-bolder font-size-sm mt-5\"\r\n onClick={(e) => {\r\n setShowInBound(true);\r\n setperformancetavselected(1);\r\n }}\r\n >\r\n View Details\r\n </button>\r\n </div>\r\n <div className=\"col-md-6 pl-0 text-right\">\r\n <div className=\"react-bootstrap-table table-responsive\">\r\n <Table className={classes.table} size=\"normal\">\r\n <TableHead>\r\n <TableRow>\r\n <TableCell\r\n className=\"font-weight-boldest\"\r\n colSpan=\"3\"\r\n >\r\n <strong>Outbound Trailer Dimensions</strong>\r\n </TableCell>\r\n </TableRow>\r\n <TableRow>\r\n <TableCell className=\"\">Total Outbound</TableCell>\r\n <TableCell className=\"\">Average Cartons</TableCell>\r\n <TableCell className=\"\">Average Cube (CBM)</TableCell>\r\n <TableCell className=\"\">\r\n Average Weight (KGS)\r\n </TableCell>\r\n </TableRow>\r\n </TableHead>\r\n <TableBody>\r\n <TableRow>\r\n <TableCell>\r\n {PerformanceReportData[1]?.DimensionsOutbound\r\n ?.Total || 0}\r\n </TableCell>\r\n <TableCell>\r\n {PerformanceReportData[1]?.DimensionsOutbound\r\n ?.AverageCartons !== null\r\n ? PerformanceReportData[1]?.DimensionsOutbound\r\n ?.AverageCartons || 0\r\n : 0}\r\n </TableCell>\r\n <TableCell>\r\n {PerformanceReportData[1]?.DimensionsOutbound?.AverageCubeCbm?.toFixed(\r\n 2\r\n ) || 0}\r\n </TableCell>\r\n <TableCell>\r\n {PerformanceReportData[1]?.DimensionsOutbound?.AverageWeightKgm?.toFixed(\r\n 2\r\n ) || 0}\r\n </TableCell>\r\n </TableRow>\r\n </TableBody>\r\n </Table>\r\n </div>\r\n <button\r\n className=\"btn btn-primary font-weight-bolder font-size-sm mt-5\"\r\n onClick={(e) => {\r\n setShowOutBound(true);\r\n setperformancetavselected(1);\r\n }}\r\n >\r\n View Details\r\n </button>\r\n </div>\r\n </div>\r\n </>\r\n )}\r\n {valuesTab === 2 && (\r\n <>\r\n <div className=\"form-group row mb-5\">\r\n <div className=\"col-md-6 pr-0 mb-7 text-right\">\r\n <div className=\"react-bootstrap-table table-responsive\">\r\n <Table className={classes.table} size=\"normal\">\r\n <TableHead>\r\n <TableRow>\r\n <TableCell\r\n className=\"font-weight-bold px-1\"\r\n colSpan=\"3\"\r\n >\r\n <strong>ALL Containers</strong>\r\n </TableCell>\r\n </TableRow>\r\n <TableRow>\r\n <TableCell className=\"\">Category</TableCell>\r\n <TableCell className=\"\">Quantity</TableCell>\r\n <TableCell className=\"\">Percent</TableCell>\r\n </TableRow>\r\n </TableHead>\r\n <TableBody>\r\n <TableRow>\r\n <TableCell>within 24 Hours</TableCell>\r\n <TableCell>\r\n {\r\n PerformanceReportData[2]?.AllContainers\r\n ?.Whithin24Hours\r\n }\r\n </TableCell>\r\n <TableCell>\r\n {PerformanceReportData[2]?.AllContainers\r\n ?.Whithin24Hours !== undefined\r\n ? currencyFormat(\r\n (PerformanceReportData[2]?.AllContainers\r\n ?.Whithin24Hours /\r\n totalALLContainers2) *\r\n 100\r\n )\r\n : \"0.00\"}\r\n %\r\n </TableCell>\r\n </TableRow>\r\n <TableRow>\r\n <TableCell>within 48 Hours</TableCell>\r\n <TableCell>\r\n {\r\n PerformanceReportData[2]?.AllContainers\r\n ?.Whithin48Hours\r\n }\r\n </TableCell>\r\n <TableCell>\r\n {PerformanceReportData[2]?.AllContainers\r\n ?.Whithin48Hours !== undefined\r\n ? currencyFormat(\r\n (PerformanceReportData[2]?.AllContainers\r\n ?.Whithin48Hours /\r\n totalALLContainers2) *\r\n 100\r\n )\r\n : \"0.00\"}\r\n %\r\n </TableCell>\r\n </TableRow>\r\n <TableRow>\r\n <TableCell>within 72 Hours</TableCell>\r\n <TableCell>\r\n {\r\n PerformanceReportData[2]?.AllContainers\r\n ?.Whithin72Hours\r\n }\r\n </TableCell>\r\n <TableCell>\r\n {PerformanceReportData[2]?.AllContainers\r\n ?.Whithin72Hours !== undefined\r\n ? currencyFormat(\r\n (PerformanceReportData[2]?.AllContainers\r\n ?.Whithin72Hours /\r\n totalALLContainers2) *\r\n 100\r\n )\r\n : \"0.00\"}\r\n %\r\n </TableCell>\r\n </TableRow>\r\n <TableRow>\r\n <TableCell>More Than 72 Hours</TableCell>\r\n <TableCell>\r\n {\r\n PerformanceReportData[2]?.AllContainers\r\n ?.MoreThan72Hours\r\n }\r\n </TableCell>\r\n <TableCell>\r\n {PerformanceReportData[2]?.AllContainers\r\n ?.MoreThan72Hours !== undefined\r\n ? currencyFormat(\r\n (PerformanceReportData[2]?.AllContainers\r\n ?.MoreThan72Hours /\r\n totalALLContainers2) *\r\n 100\r\n )\r\n : \"0.00\"}\r\n %\r\n </TableCell>\r\n </TableRow>\r\n <TableRow>\r\n <TableCell className=\"bg-light\">\r\n <strong>Total</strong>\r\n </TableCell>\r\n <TableCell className=\"bg-light\">\r\n <strong>{totalALLContainers2}</strong>\r\n </TableCell>\r\n <TableCell className=\"bg-light\">\r\n <strong>\r\n {PerformanceReportData[2]?.AllContainers\r\n ?.MoreThan72Hours === 0 &&\r\n PerformanceReportData[2]?.AllContainers\r\n ?.Whithin24Hours === 0 &&\r\n PerformanceReportData[2]?.AllContainers\r\n ?.Whithin48Hours === 0 &&\r\n PerformanceReportData[2]?.AllContainers\r\n ?.Whithin72Hours === 0\r\n ? \"0\"\r\n : \"100\"}\r\n %\r\n </strong>\r\n </TableCell>\r\n </TableRow>\r\n </TableBody>\r\n </Table>\r\n </div>\r\n <button\r\n className=\"btn btn-primary font-weight-bolder font-size-sm mt-5\"\r\n onClick={(e) => {\r\n setShowTransload(true);\r\n setperformancetavselected(2);\r\n }}\r\n >\r\n View Details\r\n </button>\r\n </div>\r\n <div className=\"col-md-6 pl-0 mb-7 text-right\">\r\n <div className=\"react-bootstrap-table table-responsive\">\r\n <Table className={classes.table} size=\"normal\">\r\n <TableHead>\r\n <TableRow>\r\n <TableCell\r\n className=\"font-weight-boldest\"\r\n colSpan=\"3\"\r\n >\r\n <strong>\r\n Hot Containers (\r\n <i className=\"fab fa-gripfire text-warning\"></i>)\r\n </strong>\r\n </TableCell>\r\n </TableRow>\r\n <TableRow>\r\n <TableCell className=\"\">Category</TableCell>\r\n <TableCell className=\"\">Quantity</TableCell>\r\n <TableCell className=\"\">Percent</TableCell>\r\n </TableRow>\r\n </TableHead>\r\n <TableBody>\r\n <TableRow>\r\n <TableCell>within 24 Hours</TableCell>\r\n <TableCell>\r\n {\r\n PerformanceReportData[2]?.HotContainers\r\n ?.Whithin24Hours\r\n }\r\n </TableCell>\r\n <TableCell>\r\n {PerformanceReportData[2]?.HotContainers\r\n ?.Whithin24Hours !== undefined\r\n ? currencyFormat(\r\n (PerformanceReportData[2]?.HotContainers\r\n ?.Whithin24Hours /\r\n totalHotContainers2) *\r\n 100\r\n )\r\n : \"0.00\"}\r\n %\r\n </TableCell>\r\n </TableRow>\r\n <TableRow>\r\n <TableCell>within 48 Hours</TableCell>\r\n <TableCell>\r\n {\r\n PerformanceReportData[2]?.HotContainers\r\n ?.Whithin48Hours\r\n }\r\n </TableCell>\r\n <TableCell>\r\n {PerformanceReportData[2]?.HotContainers\r\n ?.Whithin48Hours !== undefined\r\n ? currencyFormat(\r\n (PerformanceReportData[2]?.HotContainers\r\n ?.Whithin48Hours /\r\n totalHotContainers2) *\r\n 100\r\n )\r\n : \"0.00\"}\r\n %\r\n </TableCell>\r\n </TableRow>\r\n <TableRow>\r\n <TableCell>within 72 Hours</TableCell>\r\n <TableCell>\r\n {\r\n PerformanceReportData[2]?.HotContainers\r\n ?.Whithin72Hours\r\n }\r\n </TableCell>\r\n <TableCell>\r\n {PerformanceReportData[2]?.HotContainers\r\n ?.Whithin72Hours !== undefined\r\n ? currencyFormat(\r\n (PerformanceReportData[2]?.HotContainers\r\n ?.Whithin72Hours /\r\n totalHotContainers2) *\r\n 100\r\n )\r\n : \"0.00\"}\r\n %\r\n </TableCell>\r\n </TableRow>\r\n <TableRow>\r\n <TableCell>More Than 72 Hours</TableCell>\r\n <TableCell>\r\n {\r\n PerformanceReportData[2]?.HotContainers\r\n ?.MoreThan72Hours\r\n }\r\n </TableCell>\r\n <TableCell>\r\n {PerformanceReportData[2]?.HotContainers\r\n ?.MoreThan72Hours !== undefined\r\n ? currencyFormat(\r\n (PerformanceReportData[2]?.HotContainers\r\n ?.MoreThan72Hours /\r\n totalHotContainers2) *\r\n 100\r\n )\r\n : \"0.00\"}\r\n %\r\n </TableCell>\r\n </TableRow>\r\n <TableRow>\r\n <TableCell className=\"bg-light\">\r\n <strong>Total</strong>\r\n </TableCell>\r\n <TableCell className=\"bg-light\">\r\n <strong>{totalHotContainers2}</strong>\r\n </TableCell>\r\n <TableCell className=\"bg-light\">\r\n <strong>\r\n {PerformanceReportData[2]?.HotContainers\r\n ?.MoreThan72Hours === 0 &&\r\n PerformanceReportData[2]?.HotContainers\r\n ?.Whithin24Hours === 0 &&\r\n PerformanceReportData[2]?.HotContainers\r\n ?.Whithin48Hours === 0 &&\r\n PerformanceReportData[2]?.HotContainers\r\n ?.Whithin72Hours === 0\r\n ? \"0\"\r\n : \"100\"}\r\n %\r\n </strong>\r\n </TableCell>\r\n </TableRow>\r\n </TableBody>\r\n </Table>\r\n </div>\r\n </div>\r\n </div>\r\n <div className=\"form-group row\">\r\n <div className=\"col-md-6 pr-0 text-right\">\r\n <div className=\"react-bootstrap-table table-responsive\">\r\n <Table className={classes.table} size=\"normal\">\r\n <TableHead>\r\n <TableRow>\r\n <TableCell\r\n className=\"font-weight-boldest\"\r\n colSpan=\"3\"\r\n >\r\n <strong>Inbound Container Dimensions</strong>\r\n </TableCell>\r\n </TableRow>\r\n <TableRow>\r\n <TableCell className=\"\">Total Inbound</TableCell>\r\n <TableCell className=\"\">Average Cartons</TableCell>\r\n <TableCell className=\"\">Average Cube (CBM)</TableCell>\r\n <TableCell className=\"\">\r\n Average Weight (KGS)\r\n </TableCell>\r\n </TableRow>\r\n </TableHead>\r\n <TableBody>\r\n <TableRow>\r\n <TableCell>\r\n {PerformanceReportData[2]?.DimensionsInbound\r\n ?.Total !== null\r\n ? PerformanceReportData[2]?.DimensionsInbound\r\n ?.Total || 0\r\n : 0}\r\n </TableCell>\r\n <TableCell>\r\n {PerformanceReportData[2]?.DimensionsInbound\r\n ?.AverageCartons !== null\r\n ? PerformanceReportData[2]?.DimensionsInbound\r\n ?.AverageCartons || 0\r\n : 0}\r\n </TableCell>\r\n <TableCell>\r\n {PerformanceReportData[2]?.DimensionsInbound\r\n ?.AverageCubeCbm !== null\r\n ? PerformanceReportData[2]?.DimensionsInbound?.AverageCubeCbm.toFixed(\r\n 2\r\n ) || 0\r\n : 0}\r\n </TableCell>\r\n <TableCell>\r\n {PerformanceReportData[2]?.DimensionsInbound\r\n ?.AverageWeightKgm !== null\r\n ? PerformanceReportData[2]?.DimensionsInbound?.AverageWeightKgm.toFixed(\r\n 2\r\n ) || 0\r\n : 0}\r\n </TableCell>\r\n </TableRow>\r\n </TableBody>\r\n </Table>\r\n </div>\r\n <button\r\n className=\"btn btn-primary font-weight-bolder font-size-sm mt-5\"\r\n onClick={(e) => {\r\n setShowInBound(true);\r\n setperformancetavselected(2);\r\n }}\r\n >\r\n View Details\r\n </button>\r\n </div>\r\n <div className=\"col-md-6 pl-0 text-right\">\r\n <div className=\"react-bootstrap-table table-responsive\">\r\n <Table className={classes.table} size=\"normal\">\r\n <TableHead>\r\n <TableRow>\r\n <TableCell\r\n className=\"font-weight-boldest\"\r\n colSpan=\"3\"\r\n >\r\n <strong>Outbound Trailer Dimensions</strong>\r\n </TableCell>\r\n </TableRow>\r\n <TableRow>\r\n <TableCell className=\"\">Total Outbound</TableCell>\r\n <TableCell className=\"\">Average Cartons</TableCell>\r\n <TableCell className=\"\">Average Cube (CBM)</TableCell>\r\n <TableCell className=\"\">\r\n Average Weight (KGS)\r\n </TableCell>\r\n </TableRow>\r\n </TableHead>\r\n <TableBody>\r\n <TableRow>\r\n <TableCell>\r\n {PerformanceReportData[2]?.DimensionsOutbound\r\n ?.Total || 0}\r\n </TableCell>\r\n <TableCell>\r\n {PerformanceReportData[2]?.DimensionsOutbound\r\n ?.AverageCartons !== null\r\n ? PerformanceReportData[2]?.DimensionsOutbound\r\n ?.AverageCartons || 0\r\n : 0}\r\n </TableCell>\r\n <TableCell>\r\n {PerformanceReportData[2]?.DimensionsOutbound?.AverageCubeCbm?.toFixed(\r\n 2\r\n ) || 0}\r\n </TableCell>\r\n <TableCell>\r\n {PerformanceReportData[2]?.DimensionsOutbound?.AverageWeightKgm?.toFixed(\r\n 2\r\n ) || 0}\r\n </TableCell>\r\n </TableRow>\r\n </TableBody>\r\n </Table>\r\n </div>\r\n <button\r\n className=\"btn btn-primary font-weight-bolder font-size-sm mt-5\"\r\n onClick={(e) => {\r\n setShowOutBound(true);\r\n setperformancetavselected(2);\r\n }}\r\n >\r\n View Details\r\n </button>\r\n </div>\r\n </div>\r\n </>\r\n )}\r\n </div>\r\n </div>\r\n </>\r\n );\r\n}\r\n","import React from \"react\";\r\nimport clsx from \"clsx\";\r\nimport PropTypes from \"prop-types\";\r\nimport { lighten, makeStyles } from \"@material-ui/core/styles\";\r\nimport Table from \"@material-ui/core/Table\";\r\nimport TableBody from \"@material-ui/core/TableBody\";\r\nimport TableCell from \"@material-ui/core/TableCell\";\r\nimport TableHead from \"@material-ui/core/TableHead\";\r\nimport TablePagination from \"@material-ui/core/TablePagination\";\r\nimport TableRow from \"@material-ui/core/TableRow\";\r\nimport TableSortLabel from \"@material-ui/core/TableSortLabel\";\r\nimport Toolbar from \"@material-ui/core/Toolbar\";\r\nimport Typography from \"@material-ui/core/Typography\";\r\nimport Paper from \"@material-ui/core/Paper\";\r\nimport Checkbox from \"@material-ui/core/Checkbox\";\r\nimport IconButton from \"@material-ui/core/IconButton\";\r\nimport Tooltip from \"@material-ui/core/Tooltip\";\r\nimport FormControlLabel from \"@material-ui/core/FormControlLabel\";\r\nimport Switch from \"@material-ui/core/Switch\";\r\nimport DeleteIcon from \"@material-ui/icons/Delete\";\r\nimport FilterListIcon from \"@material-ui/icons/FilterList\";\r\nimport { DateColumnFormatter } from \"../DateTime/DateColumnFormatter\";\r\n\r\nfunction createData(\r\n Id,\r\n MiffId,\r\n PurchaseOrder,\r\n Sku,\r\n Pieces,\r\n UnitCount,\r\n UnitOfMeasure,\r\n Description,\r\n Weight,\r\n WeightType,\r\n Cube,\r\n CubeType,\r\n Shipped\r\n) {\r\n return {\r\n Id,\r\n MiffId,\r\n PurchaseOrder,\r\n Sku,\r\n Pieces,\r\n UnitCount,\r\n UnitOfMeasure,\r\n UnitOfMeasure,\r\n Description,\r\n Weight,\r\n WeightType,\r\n Cube,\r\n CubeType,\r\n Shipped,\r\n };\r\n}\r\n\r\nfunction desc(a, b, orderBy) {\r\n if (b[orderBy] < a[orderBy]) {\r\n return -1;\r\n }\r\n if (b[orderBy] > a[orderBy]) {\r\n return 1;\r\n }\r\n return 0;\r\n}\r\n\r\nfunction stableSort(array, cmp) {\r\n const stabilizedThis = array.map((el, index) => [el, index]);\r\n stabilizedThis.sort((a, b) => {\r\n const order = cmp(a[0], b[0]);\r\n if (order !== 0) return order;\r\n return a[1] - b[1];\r\n });\r\n return stabilizedThis.map((el) => el[0]);\r\n}\r\n\r\nfunction getSorting(order, orderBy) {\r\n return order === \"desc\"\r\n ? (a, b) => desc(a, b, orderBy)\r\n : (a, b) => -desc(a, b, orderBy);\r\n}\r\n\r\nconst headRows = [\r\n {\r\n id: \"Id\",\r\n numeric: false,\r\n disablePadding: true,\r\n label: \"\",\r\n },\r\n {\r\n id: \"MiffId\",\r\n numeric: false,\r\n disablePadding: true,\r\n label: \"MiffId\",\r\n },\r\n {\r\n id: \"PurchaseOrder\",\r\n numeric: true,\r\n disablePadding: false,\r\n label: \"PurchaseOrder\",\r\n },\r\n {\r\n id: \"Sku\",\r\n numeric: true,\r\n disablePadding: false,\r\n label: \"Sku\",\r\n },\r\n {\r\n id: \"Pieces\",\r\n numeric: true,\r\n disablePadding: false,\r\n label: \"Pieces\",\r\n },\r\n {\r\n id: \"UnitCount\",\r\n numeric: true,\r\n disablePadding: false,\r\n label: \"UnitCount\",\r\n },\r\n {\r\n id: \"UnitOfMeasure\",\r\n numeric: true,\r\n disablePadding: false,\r\n label: \"UnitOfMeasure\",\r\n },\r\n {\r\n id: \"Description\",\r\n numeric: true,\r\n disablePadding: false,\r\n label: \"Description\",\r\n },\r\n {\r\n id: \"Weight\",\r\n numeric: true,\r\n disablePadding: false,\r\n label: \"Weight\",\r\n },\r\n {\r\n id: \"WeightType\",\r\n numeric: true,\r\n disablePadding: false,\r\n label: \"WeightType\",\r\n },\r\n {\r\n id: \"Cube\",\r\n numeric: true,\r\n disablePadding: false,\r\n label: \"Cube\",\r\n },\r\n {\r\n id: \"CubeType\",\r\n numeric: true,\r\n disablePadding: false,\r\n label: \"CubeType\",\r\n },\r\n {\r\n id: \"Shipped\",\r\n numeric: true,\r\n disablePadding: false,\r\n label: \"Shipped\",\r\n },\r\n];\r\n\r\nfunction EnhancedTableHead(props) {\r\n const {\r\n onSelectAllClick,\r\n order,\r\n orderBy,\r\n numSelected,\r\n rowCount,\r\n onRequestSort,\r\n } = props;\r\n const createSortHandler = (property) => (event) => {\r\n onRequestSort(event, property);\r\n };\r\n\r\n return (\r\n <TableHead>\r\n <TableRow>\r\n {headRows.map((row) => (\r\n <TableCell\r\n key={row.id}\r\n align={row.numeric ? \"right\" : \"left\"}\r\n padding={row.disablePadding ? \"none\" : \"default\"}\r\n sortDirection={orderBy === row.id ? order : false}\r\n >\r\n <TableSortLabel\r\n active={orderBy === row.id}\r\n direction={order}\r\n onClick={createSortHandler(row.id)}\r\n >\r\n {row.label}\r\n </TableSortLabel>\r\n </TableCell>\r\n ))}\r\n </TableRow>\r\n </TableHead>\r\n );\r\n}\r\n\r\nEnhancedTableHead.propTypes = {\r\n numSelected: PropTypes.number.isRequired,\r\n onRequestSort: PropTypes.func.isRequired,\r\n onSelectAllClick: PropTypes.func.isRequired,\r\n order: PropTypes.string.isRequired,\r\n orderBy: PropTypes.string.isRequired,\r\n rowCount: PropTypes.number.isRequired,\r\n};\r\n\r\nconst useToolbarStyles = makeStyles((theme) => ({\r\n root: {\r\n paddingLeft: theme.spacing(2),\r\n paddingRight: theme.spacing(1),\r\n },\r\n highlight:\r\n theme.palette.type === \"light\"\r\n ? {\r\n color: theme.palette.secondary.main,\r\n backgroundColor: lighten(theme.palette.secondary.light, 0.85),\r\n }\r\n : {\r\n color: theme.palette.text.primary,\r\n backgroundColor: theme.palette.secondary.dark,\r\n },\r\n spacer: {\r\n flex: \"1 1 100%\",\r\n },\r\n actions: {\r\n color: theme.palette.text.secondary,\r\n },\r\n title: {\r\n flex: \"0 0 auto\",\r\n },\r\n}));\r\n\r\nconst EnhancedTableToolbar = (props) => {\r\n const classes = useToolbarStyles();\r\n const { numSelected, title, color } = props;\r\n\r\n return (\r\n <Toolbar\r\n className={clsx(classes.root, {\r\n [classes.highlight]: numSelected > 0,\r\n })}\r\n >\r\n <div className={classes.title}>\r\n {numSelected > 0 ? (\r\n <Typography color=\"inherit\" variant=\"subtitle1\">\r\n {numSelected} selected\r\n </Typography>\r\n ) : (\r\n <Typography variant=\"h6\" id=\"tableTitle\">\r\n <h3 className={`text-${color}`}>{title}</h3>\r\n </Typography>\r\n )}\r\n </div>\r\n <div className={classes.spacer} />\r\n <div className={classes.actions}>\r\n {numSelected > 0 ? (\r\n <Tooltip title=\"Delete\">\r\n <IconButton aria-label=\"Delete\">\r\n <DeleteIcon />\r\n </IconButton>\r\n </Tooltip>\r\n ) : (\r\n <Tooltip title=\"Filter list\">\r\n <IconButton aria-label=\"Filter list\">\r\n <FilterListIcon />\r\n </IconButton>\r\n </Tooltip>\r\n )}\r\n </div>\r\n </Toolbar>\r\n );\r\n};\r\n\r\nEnhancedTableToolbar.propTypes = {\r\n numSelected: PropTypes.number.isRequired,\r\n};\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n root: {\r\n width: \"100%\",\r\n marginTop: theme.spacing(3),\r\n },\r\n paper: {\r\n width: \"100%\",\r\n marginBottom: theme.spacing(2),\r\n },\r\n table: {\r\n minWidth: 750,\r\n },\r\n tableWrapper: {\r\n overflowX: \"auto\",\r\n },\r\n}));\r\n\r\nexport default function EnhancedTableContainers({\r\n title = \"\",\r\n color = \"\",\r\n Data = [],\r\n}) {\r\n const rows = [];\r\n\r\n Data.forEach((x) => {\r\n rows.push(\r\n createData(\r\n x?.Id,\r\n x?.MiffId,\r\n x?.PurchaseOrder,\r\n x?.Sku,\r\n x?.Pieces,\r\n x?.UnitCount,\r\n x?.UnitOfMeasure,\r\n x?.Description,\r\n x?.Weight,\r\n x?.WeightType,\r\n x?.Cube,\r\n x?.CubeType,\r\n x?.Shipped\r\n )\r\n );\r\n });\r\n\r\n const classes = useStyles();\r\n const [Containers, setContainers] = React.useState([]);\r\n const [order, setOrder] = React.useState(\"asc\");\r\n const [orderBy, setOrderBy] = React.useState(\"VesselVoyage\");\r\n const [selected, setSelected] = React.useState([]);\r\n const [page, setPage] = React.useState(0);\r\n const [dense, setDense] = React.useState(false);\r\n const [rowsPerPage, setRowsPerPage] = React.useState(5);\r\n\r\n function handleRequestSort(event, property) {\r\n const isDesc = orderBy === property && order === \"desc\";\r\n setOrder(isDesc ? \"asc\" : \"desc\");\r\n setOrderBy(property);\r\n }\r\n\r\n function handleSelectAllClick(event) {\r\n if (event.target.checked) {\r\n const newSelecteds = rows.map((n) => n.name);\r\n setSelected(newSelecteds);\r\n return;\r\n }\r\n setSelected([]);\r\n }\r\n\r\n function handleClick(event, name) {\r\n const selectedIndex = selected.indexOf(name);\r\n let newSelected = [];\r\n\r\n if (selectedIndex === -1) {\r\n newSelected = newSelected.concat(selected, name);\r\n } else if (selectedIndex === 0) {\r\n newSelected = newSelected.concat(selected.slice(1));\r\n } else if (selectedIndex === selected.length - 1) {\r\n newSelected = newSelected.concat(selected.slice(0, -1));\r\n } else if (selectedIndex > 0) {\r\n newSelected = newSelected.concat(\r\n selected.slice(0, selectedIndex),\r\n selected.slice(selectedIndex + 1)\r\n );\r\n }\r\n\r\n setSelected(newSelected);\r\n }\r\n\r\n function handleChangePage(event, newPage) {\r\n setPage(newPage);\r\n }\r\n\r\n function handleChangeRowsPerPage(event) {\r\n setRowsPerPage(+event.target.value);\r\n }\r\n\r\n function handleChangeDense(event) {\r\n setDense(event.target.checked);\r\n }\r\n\r\n const isSelected = (name) => selected.indexOf(name) !== -1;\r\n\r\n const emptyRows =\r\n rowsPerPage - Math.min(rowsPerPage, rows.length - page * rowsPerPage);\r\n\r\n return (\r\n <div className=\"px-5\">\r\n <div className={classes.root}>\r\n <Paper className={classes.paper}>\r\n <EnhancedTableToolbar\r\n numSelected={selected.length}\r\n title={title}\r\n color={color}\r\n />\r\n <div className={classes.tableWrapper}>\r\n <Table\r\n className={classes.table}\r\n aria-labelledby=\"tableTitle\"\r\n size={dense ? \"small\" : \"medium\"}\r\n >\r\n <EnhancedTableHead\r\n numSelected={selected.length}\r\n order={order}\r\n orderBy={orderBy}\r\n onSelectAllClick={handleSelectAllClick}\r\n onRequestSort={handleRequestSort}\r\n rowCount={rows.length}\r\n />\r\n <TableBody>\r\n {stableSort(rows, getSorting(order, orderBy))\r\n .slice(page * rowsPerPage, page * rowsPerPage + rowsPerPage)\r\n .map((row, index) => {\r\n const isItemSelected = isSelected(row.name);\r\n const labelId = `enhanced-table-checkbox-${index}`;\r\n\r\n return (\r\n <TableRow\r\n hover\r\n onClick={(event) => handleClick(event, row.name)}\r\n role=\"checkbox\"\r\n aria-checked={isItemSelected}\r\n tabIndex={-1}\r\n key={row.name}\r\n selected={isItemSelected}\r\n >\r\n <TableCell align=\"left\">\r\n <b>{row.Id}</b>\r\n </TableCell>\r\n <TableCell\r\n component=\"th\"\r\n id={labelId}\r\n scope=\"row\"\r\n padding=\"none\"\r\n >\r\n <b className={`text-${color}`}>\r\n {/* <a\r\n onClick={() => {\r\n const a = Data.find((x) => x.Id === row.Id);\r\n if (a) setContainers(a);\r\n }}\r\n > */}\r\n {row.MiffId}\r\n {/* </a> */}\r\n </b>\r\n </TableCell>\r\n <TableCell align=\"right\">{row.PurchaseOrder}</TableCell>\r\n <TableCell align=\"right\">{row.Sku}</TableCell>\r\n <TableCell align=\"right\">{row.Pieces}</TableCell>\r\n <TableCell align=\"right\">{row.UnitCount}</TableCell>\r\n <TableCell align=\"right\">{row.UnitOfMeasure}</TableCell>\r\n <TableCell align=\"right\">{row.Description}</TableCell>\r\n <TableCell align=\"right\">{row.Weight}</TableCell>\r\n <TableCell align=\"right\">{row.WeightType}</TableCell>\r\n <TableCell align=\"right\">{row.Cube}</TableCell>\r\n <TableCell align=\"right\">{row.CubeType}</TableCell>\r\n <TableCell align=\"right\">{row.Shipped}</TableCell>\r\n </TableRow>\r\n );\r\n })}\r\n {emptyRows > 0 && (\r\n <TableRow style={{ height: 49 * emptyRows }}>\r\n <TableCell colSpan={6} />\r\n </TableRow>\r\n )}\r\n </TableBody>\r\n </Table>\r\n </div>\r\n <TablePagination\r\n rowsPerPageOptions={[5, 10, 25]}\r\n component=\"div\"\r\n count={rows.length}\r\n rowsPerPage={rowsPerPage}\r\n page={page}\r\n backIconButtonProps={{\r\n \"aria-label\": \"Previous Page\",\r\n }}\r\n nextIconButtonProps={{\r\n \"aria-label\": \"Next Page\",\r\n }}\r\n onChangePage={handleChangePage}\r\n onChangeRowsPerPage={handleChangeRowsPerPage}\r\n />\r\n </Paper>\r\n <FormControlLabel\r\n control={<Switch checked={dense} onChange={handleChangeDense} />}\r\n label=\"Dense padding\"\r\n />\r\n </div>\r\n </div>\r\n );\r\n}\r\n","import React from \"react\";\r\nimport clsx from \"clsx\";\r\nimport PropTypes from \"prop-types\";\r\nimport { lighten, makeStyles } from \"@material-ui/core/styles\";\r\nimport Table from \"@material-ui/core/Table\";\r\nimport TableBody from \"@material-ui/core/TableBody\";\r\nimport TableCell from \"@material-ui/core/TableCell\";\r\nimport TableHead from \"@material-ui/core/TableHead\";\r\nimport TablePagination from \"@material-ui/core/TablePagination\";\r\nimport TableRow from \"@material-ui/core/TableRow\";\r\nimport TableSortLabel from \"@material-ui/core/TableSortLabel\";\r\nimport Toolbar from \"@material-ui/core/Toolbar\";\r\nimport Typography from \"@material-ui/core/Typography\";\r\nimport Paper from \"@material-ui/core/Paper\";\r\nimport Checkbox from \"@material-ui/core/Checkbox\";\r\nimport IconButton from \"@material-ui/core/IconButton\";\r\nimport Tooltip from \"@material-ui/core/Tooltip\";\r\nimport FormControlLabel from \"@material-ui/core/FormControlLabel\";\r\nimport Switch from \"@material-ui/core/Switch\";\r\nimport DeleteIcon from \"@material-ui/icons/Delete\";\r\nimport FilterListIcon from \"@material-ui/icons/FilterList\";\r\nimport { DateColumnFormatter } from \"../DateTime/DateColumnFormatter\";\r\nimport EnhancedTableItems from \"./EnhancedTableItems\";\r\n\r\nfunction createData(\r\n Id,\r\n Equipment,\r\n ReferenceNumber,\r\n ReferenceNumber2,\r\n InvoiceNumber\r\n) {\r\n return { Id, Equipment, ReferenceNumber, ReferenceNumber2, InvoiceNumber };\r\n}\r\n\r\nfunction desc(a, b, orderBy) {\r\n if (b[orderBy] < a[orderBy]) {\r\n return -1;\r\n }\r\n if (b[orderBy] > a[orderBy]) {\r\n return 1;\r\n }\r\n return 0;\r\n}\r\n\r\nfunction stableSort(array, cmp) {\r\n const stabilizedThis = array.map((el, index) => [el, index]);\r\n stabilizedThis.sort((a, b) => {\r\n const order = cmp(a[0], b[0]);\r\n if (order !== 0) return order;\r\n return a[1] - b[1];\r\n });\r\n return stabilizedThis.map((el) => el[0]);\r\n}\r\n\r\nfunction getSorting(order, orderBy) {\r\n return order === \"desc\"\r\n ? (a, b) => desc(a, b, orderBy)\r\n : (a, b) => -desc(a, b, orderBy);\r\n}\r\n\r\nconst headRows = [\r\n {\r\n id: \"Id\",\r\n numeric: false,\r\n disablePadding: false,\r\n label: \"Salact ID\",\r\n },\r\n {\r\n id: \"Equipment\",\r\n numeric: false,\r\n disablePadding: true,\r\n label: \"Equipment\",\r\n },\r\n {\r\n id: \"ReferenceNumber\",\r\n numeric: true,\r\n disablePadding: false,\r\n label: \"Reference Number\",\r\n },\r\n {\r\n id: \"ReferenceNumber2\",\r\n numeric: true,\r\n disablePadding: false,\r\n label: \"Reference Number 2\",\r\n },\r\n {\r\n id: \"InvoiceNumber\",\r\n numeric: true,\r\n disablePadding: false,\r\n label: \"InvoiceNumber\",\r\n },\r\n];\r\n\r\nfunction EnhancedTableHead(props) {\r\n const {\r\n onSelectAllClick,\r\n order,\r\n orderBy,\r\n numSelected,\r\n rowCount,\r\n onRequestSort,\r\n } = props;\r\n const createSortHandler = (property) => (event) => {\r\n onRequestSort(event, property);\r\n };\r\n\r\n return (\r\n <TableHead>\r\n <TableRow>\r\n {headRows.map((row) => (\r\n <TableCell\r\n key={row.id}\r\n align={row.numeric ? \"right\" : \"left\"}\r\n padding={row.disablePadding ? \"none\" : \"default\"}\r\n sortDirection={orderBy === row.id ? order : false}\r\n >\r\n <TableSortLabel\r\n active={orderBy === row.id}\r\n direction={order}\r\n onClick={createSortHandler(row.id)}\r\n >\r\n {row.label}\r\n </TableSortLabel>\r\n </TableCell>\r\n ))}\r\n </TableRow>\r\n </TableHead>\r\n );\r\n}\r\n\r\nEnhancedTableHead.propTypes = {\r\n numSelected: PropTypes.number.isRequired,\r\n onRequestSort: PropTypes.func.isRequired,\r\n onSelectAllClick: PropTypes.func.isRequired,\r\n order: PropTypes.string.isRequired,\r\n orderBy: PropTypes.string.isRequired,\r\n rowCount: PropTypes.number.isRequired,\r\n};\r\n\r\nconst useToolbarStyles = makeStyles((theme) => ({\r\n root: {\r\n paddingLeft: theme.spacing(2),\r\n paddingRight: theme.spacing(1),\r\n },\r\n highlight:\r\n theme.palette.type === \"light\"\r\n ? {\r\n color: theme.palette.secondary.main,\r\n backgroundColor: lighten(theme.palette.secondary.light, 0.85),\r\n }\r\n : {\r\n color: theme.palette.text.primary,\r\n backgroundColor: theme.palette.secondary.dark,\r\n },\r\n spacer: {\r\n flex: \"1 1 100%\",\r\n },\r\n actions: {\r\n color: theme.palette.text.secondary,\r\n },\r\n title: {\r\n flex: \"0 0 auto\",\r\n },\r\n}));\r\n\r\nconst EnhancedTableToolbar = (props) => {\r\n const classes = useToolbarStyles();\r\n const { numSelected, title, color } = props;\r\n\r\n return (\r\n <Toolbar\r\n className={clsx(classes.root, {\r\n [classes.highlight]: numSelected > 0,\r\n })}\r\n >\r\n <div className={classes.title}>\r\n {numSelected > 0 ? (\r\n <Typography color=\"inherit\" variant=\"subtitle1\">\r\n {numSelected} selected\r\n </Typography>\r\n ) : (\r\n <Typography variant=\"h6\" id=\"tableTitle\">\r\n <h3 className={`text-${color}`}>{title}</h3>\r\n </Typography>\r\n )}\r\n </div>\r\n <div className={classes.spacer} />\r\n <div className={classes.actions}>\r\n {numSelected > 0 ? (\r\n <Tooltip title=\"Delete\">\r\n <IconButton aria-label=\"Delete\">\r\n <DeleteIcon />\r\n </IconButton>\r\n </Tooltip>\r\n ) : (\r\n <Tooltip title=\"Filter list\">\r\n <IconButton aria-label=\"Filter list\">\r\n <FilterListIcon />\r\n </IconButton>\r\n </Tooltip>\r\n )}\r\n </div>\r\n </Toolbar>\r\n );\r\n};\r\n\r\nEnhancedTableToolbar.propTypes = {\r\n numSelected: PropTypes.number.isRequired,\r\n};\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n root: {\r\n width: \"100%\",\r\n marginTop: theme.spacing(3),\r\n },\r\n paper: {\r\n width: \"100%\",\r\n marginBottom: theme.spacing(2),\r\n },\r\n table: {\r\n minWidth: 750,\r\n },\r\n tableWrapper: {\r\n overflowX: \"auto\",\r\n },\r\n}));\r\n\r\nexport default function EnhancedTableContainers({\r\n title = \"\",\r\n color = \"\",\r\n Data = [],\r\n}) {\r\n const rows = [];\r\n\r\n Data.forEach((x) => {\r\n rows.push(\r\n createData(\r\n x?.Id,\r\n x?.Equipment,\r\n x?.ReferenceNumber,\r\n x?.ReferenceNumber2,\r\n x?.InvoiceNumber\r\n )\r\n );\r\n });\r\n\r\n const classes = useStyles();\r\n const [Items, setItems] = React.useState([]);\r\n const [ItemsId, setItemsId] = React.useState(0);\r\n const [order, setOrder] = React.useState(\"asc\");\r\n const [orderBy, setOrderBy] = React.useState(\"VesselVoyage\");\r\n const [selected, setSelected] = React.useState([]);\r\n const [page, setPage] = React.useState(0);\r\n const [dense, setDense] = React.useState(false);\r\n const [rowsPerPage, setRowsPerPage] = React.useState(5);\r\n\r\n function handleRequestSort(event, property) {\r\n const isDesc = orderBy === property && order === \"desc\";\r\n setOrder(isDesc ? \"asc\" : \"desc\");\r\n setOrderBy(property);\r\n }\r\n\r\n function handleSelectAllClick(event) {\r\n if (event.target.checked) {\r\n const newSelecteds = rows.map((n) => n.name);\r\n setSelected(newSelecteds);\r\n return;\r\n }\r\n setSelected([]);\r\n }\r\n\r\n function handleClick(event, name) {\r\n const selectedIndex = selected.indexOf(name);\r\n let newSelected = [];\r\n\r\n if (selectedIndex === -1) {\r\n newSelected = newSelected.concat(selected, name);\r\n } else if (selectedIndex === 0) {\r\n newSelected = newSelected.concat(selected.slice(1));\r\n } else if (selectedIndex === selected.length - 1) {\r\n newSelected = newSelected.concat(selected.slice(0, -1));\r\n } else if (selectedIndex > 0) {\r\n newSelected = newSelected.concat(\r\n selected.slice(0, selectedIndex),\r\n selected.slice(selectedIndex + 1)\r\n );\r\n }\r\n\r\n setSelected(newSelected);\r\n }\r\n\r\n function handleChangePage(event, newPage) {\r\n setPage(newPage);\r\n }\r\n\r\n function handleChangeRowsPerPage(event) {\r\n setRowsPerPage(+event.target.value);\r\n }\r\n\r\n function handleChangeDense(event) {\r\n setDense(event.target.checked);\r\n }\r\n\r\n const isSelected = (name) => selected.indexOf(name) !== -1;\r\n\r\n const emptyRows =\r\n rowsPerPage - Math.min(rowsPerPage, rows.length - page * rowsPerPage);\r\n\r\n return (\r\n <>\r\n <div className=\"px-5\">\r\n <div className={classes.root}>\r\n <Paper className={classes.paper}>\r\n <EnhancedTableToolbar\r\n numSelected={selected.length}\r\n title={title}\r\n color={color}\r\n />\r\n <div className={classes.tableWrapper}>\r\n <Table\r\n className={classes.table}\r\n aria-labelledby=\"tableTitle\"\r\n size={dense ? \"small\" : \"medium\"}\r\n >\r\n <EnhancedTableHead\r\n numSelected={selected.length}\r\n order={order}\r\n orderBy={orderBy}\r\n onSelectAllClick={handleSelectAllClick}\r\n onRequestSort={handleRequestSort}\r\n rowCount={rows.length}\r\n />\r\n <TableBody>\r\n {stableSort(rows, getSorting(order, orderBy))\r\n .slice(page * rowsPerPage, page * rowsPerPage + rowsPerPage)\r\n .map((row, index) => {\r\n const isItemSelected = isSelected(row.name);\r\n const labelId = `enhanced-table-checkbox-${index}`;\r\n\r\n return (\r\n <TableRow\r\n hover\r\n /* onClick={(event) => handleClick(event, row.name)} */\r\n role=\"checkbox\"\r\n aria-checked={isItemSelected}\r\n tabIndex={-1}\r\n key={row.name}\r\n selected={isItemSelected}\r\n >\r\n <TableCell>\r\n <a\r\n onClick={() => {\r\n const a = Data.find((x) => x.Id === row.Id);\r\n if (a) {\r\n setItems(a?.Items || []);\r\n setItemsId(row.Id);\r\n }\r\n }}\r\n >\r\n <b className={`alert alert-${color}`}>{row.Id}</b>\r\n </a>\r\n </TableCell>\r\n <TableCell\r\n component=\"th\"\r\n id={labelId}\r\n scope=\"row\"\r\n padding=\"none\"\r\n >\r\n <b className={`text-${color}`}>\r\n <a\r\n onClick={() => {\r\n const a = Data.find((x) => x.Id === row.Id);\r\n if (a) {\r\n setItems(a?.Items || []);\r\n setItemsId(row.Id);\r\n }\r\n }}\r\n >\r\n {row.Equipment}\r\n </a>\r\n </b>\r\n </TableCell>\r\n <TableCell align=\"right\">\r\n {row.ReferenceNumber}\r\n </TableCell>\r\n <TableCell align=\"right\">\r\n {row.ReferenceNumber2}\r\n </TableCell>\r\n <TableCell align=\"right\">\r\n {row.InvoiceNumber}\r\n </TableCell>\r\n </TableRow>\r\n );\r\n })}\r\n {emptyRows > 0 && (\r\n <TableRow style={{ height: 49 * emptyRows }}>\r\n <TableCell colSpan={6} />\r\n </TableRow>\r\n )}\r\n </TableBody>\r\n </Table>\r\n </div>\r\n <TablePagination\r\n rowsPerPageOptions={[5, 10, 25]}\r\n component=\"div\"\r\n count={rows.length}\r\n rowsPerPage={rowsPerPage}\r\n page={page}\r\n backIconButtonProps={{\r\n \"aria-label\": \"Previous Page\",\r\n }}\r\n nextIconButtonProps={{\r\n \"aria-label\": \"Next Page\",\r\n }}\r\n onChangePage={handleChangePage}\r\n onChangeRowsPerPage={handleChangeRowsPerPage}\r\n />\r\n </Paper>\r\n <FormControlLabel\r\n control={<Switch checked={dense} onChange={handleChangeDense} />}\r\n label=\"Dense padding\"\r\n />\r\n </div>\r\n </div>\r\n {Items.length > 0 && (\r\n <EnhancedTableItems\r\n title={`Items for ${ItemsId}`}\r\n color=\"dark\"\r\n Data={Items}\r\n />\r\n )}\r\n </>\r\n );\r\n}\r\n","import React from \"react\";\r\nimport clsx from \"clsx\";\r\nimport PropTypes from \"prop-types\";\r\nimport { lighten, makeStyles } from \"@material-ui/core/styles\";\r\nimport Table from \"@material-ui/core/Table\";\r\nimport TableBody from \"@material-ui/core/TableBody\";\r\nimport TableCell from \"@material-ui/core/TableCell\";\r\nimport TableHead from \"@material-ui/core/TableHead\";\r\nimport TablePagination from \"@material-ui/core/TablePagination\";\r\nimport TableRow from \"@material-ui/core/TableRow\";\r\nimport TableSortLabel from \"@material-ui/core/TableSortLabel\";\r\nimport Toolbar from \"@material-ui/core/Toolbar\";\r\nimport Typography from \"@material-ui/core/Typography\";\r\nimport Paper from \"@material-ui/core/Paper\";\r\nimport Checkbox from \"@material-ui/core/Checkbox\";\r\nimport IconButton from \"@material-ui/core/IconButton\";\r\nimport Tooltip from \"@material-ui/core/Tooltip\";\r\nimport FormControlLabel from \"@material-ui/core/FormControlLabel\";\r\nimport Switch from \"@material-ui/core/Switch\";\r\nimport DeleteIcon from \"@material-ui/icons/Delete\";\r\nimport FilterListIcon from \"@material-ui/icons/FilterList\";\r\nimport { DateColumnFormatter } from \"../DateTime/DateColumnFormatter\";\r\nimport EnhancedTableContainers from \"./EnhancedTableContainers\";\r\nimport moment from \"moment\";\r\n\r\nfunction createData(\r\n Id,\r\n MiffId,\r\n VesselVoyage,\r\n OrderDate,\r\n SailDate,\r\n EqtimatedTimeArrival\r\n) {\r\n return {\r\n Id,\r\n MiffId,\r\n VesselVoyage,\r\n OrderDate,\r\n SailDate,\r\n EqtimatedTimeArrival,\r\n };\r\n}\r\n\r\nfunction desc(a, b, orderBy) {\r\n if (b[orderBy] < a[orderBy]) {\r\n return -1;\r\n }\r\n if (b[orderBy] > a[orderBy]) {\r\n return 1;\r\n }\r\n return 0;\r\n}\r\n\r\nfunction stableSort(array, cmp) {\r\n const stabilizedThis = array.map((el, index) => [el, index]);\r\n stabilizedThis.sort((a, b) => {\r\n const order = cmp(a[0], b[0]);\r\n if (order !== 0) return order;\r\n return a[1] - b[1];\r\n });\r\n return stabilizedThis.map((el) => el[0]);\r\n}\r\n\r\nfunction getSorting(order, orderBy) {\r\n return order === \"desc\"\r\n ? (a, b) => desc(a, b, orderBy)\r\n : (a, b) => -desc(a, b, orderBy);\r\n}\r\n\r\nconst headRows = [\r\n {\r\n id: \"Id\",\r\n numeric: false,\r\n disablePadding: false,\r\n label: \"Select ID\",\r\n },\r\n {\r\n id: \"MiffId\",\r\n numeric: true,\r\n disablePadding: false,\r\n label: \"Miff ID\",\r\n },\r\n {\r\n id: \"OrderDate\",\r\n numeric: true,\r\n disablePadding: false,\r\n label: \"Order Date\",\r\n },\r\n {\r\n id: \"SailDate\",\r\n numeric: true,\r\n disablePadding: false,\r\n label: \"Sail Date\",\r\n },\r\n {\r\n id: \"EqtimatedTimeArrival\",\r\n numeric: true,\r\n disablePadding: false,\r\n label: \"EqtimatedTimeArrival\",\r\n },\r\n {\r\n id: \"OrderType\",\r\n numeric: true,\r\n disablePadding: false,\r\n label: \"Order Type\",\r\n },\r\n {\r\n id: \"VesselVoyage\",\r\n numeric: true,\r\n disablePadding: false,\r\n label: \"Vessel Voyage\",\r\n },\r\n];\r\n\r\nfunction EnhancedTableHead(props) {\r\n const {\r\n onSelectAllClick,\r\n order,\r\n orderBy,\r\n numSelected,\r\n rowCount,\r\n onRequestSort,\r\n } = props;\r\n const createSortHandler = (property) => (event) => {\r\n onRequestSort(event, property);\r\n };\r\n\r\n return (\r\n <TableHead>\r\n <TableRow>\r\n {headRows.map((row) => (\r\n <TableCell\r\n key={row.id}\r\n align={row.numeric ? \"right\" : \"left\"}\r\n padding={row.disablePadding ? \"none\" : \"default\"}\r\n sortDirection={orderBy === row.id ? order : false}\r\n >\r\n <TableSortLabel\r\n active={orderBy === row.id}\r\n direction={order}\r\n onClick={createSortHandler(row.id)}\r\n >\r\n {row.label}\r\n </TableSortLabel>\r\n </TableCell>\r\n ))}\r\n </TableRow>\r\n </TableHead>\r\n );\r\n}\r\n\r\nEnhancedTableHead.propTypes = {\r\n numSelected: PropTypes.number.isRequired,\r\n onRequestSort: PropTypes.func.isRequired,\r\n onSelectAllClick: PropTypes.func.isRequired,\r\n order: PropTypes.string.isRequired,\r\n orderBy: PropTypes.string.isRequired,\r\n rowCount: PropTypes.number.isRequired,\r\n};\r\n\r\nconst useToolbarStyles = makeStyles((theme) => ({\r\n root: {\r\n paddingLeft: theme.spacing(2),\r\n paddingRight: theme.spacing(1),\r\n },\r\n highlight:\r\n theme.palette.type === \"light\"\r\n ? {\r\n color: theme.palette.secondary.main,\r\n backgroundColor: lighten(theme.palette.secondary.light, 0.85),\r\n }\r\n : {\r\n color: theme.palette.text.primary,\r\n backgroundColor: theme.palette.secondary.dark,\r\n },\r\n spacer: {\r\n flex: \"1 1 100%\",\r\n },\r\n actions: {\r\n color: theme.palette.text.secondary,\r\n },\r\n title: {\r\n flex: \"0 0 auto\",\r\n },\r\n}));\r\n\r\nconst EnhancedTableToolbar = (props) => {\r\n const classes = useToolbarStyles();\r\n const { numSelected, title, color } = props;\r\n\r\n return (\r\n <Toolbar\r\n className={clsx(classes.root, {\r\n [classes.highlight]: numSelected > 0,\r\n })}\r\n >\r\n <div className={classes.title}>\r\n {numSelected > 0 ? (\r\n <Typography color=\"inherit\" variant=\"subtitle1\">\r\n {numSelected} selected\r\n </Typography>\r\n ) : (\r\n <Typography variant=\"h6\" id=\"tableTitle\">\r\n <h3 className={`text-${color}`}>{title}</h3>\r\n </Typography>\r\n )}\r\n </div>\r\n <div className={classes.spacer} />\r\n <div className={classes.actions}>\r\n {numSelected > 0 ? (\r\n <Tooltip title=\"Delete\">\r\n <IconButton aria-label=\"Delete\">\r\n <DeleteIcon />\r\n </IconButton>\r\n </Tooltip>\r\n ) : (\r\n <Tooltip title=\"Filter list\">\r\n <IconButton aria-label=\"Filter list\">\r\n <FilterListIcon />\r\n </IconButton>\r\n </Tooltip>\r\n )}\r\n </div>\r\n </Toolbar>\r\n );\r\n};\r\n\r\nEnhancedTableToolbar.propTypes = {\r\n numSelected: PropTypes.number.isRequired,\r\n};\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n root: {\r\n width: \"100%\",\r\n marginTop: theme.spacing(3),\r\n },\r\n paper: {\r\n width: \"100%\",\r\n marginBottom: theme.spacing(2),\r\n },\r\n table: {\r\n minWidth: 750,\r\n },\r\n tableWrapper: {\r\n overflowX: \"auto\",\r\n },\r\n}));\r\n\r\nexport default function EnhancedTable({ title, color, Data = [] }) {\r\n const rows = [];\r\n\r\n Data.forEach((x) => {\r\n rows.push(\r\n createData(\r\n x?.Id,\r\n x?.MiffId,\r\n x?.VesselVoyage,\r\n x?.OrderDate,\r\n x?.SailDate,\r\n x?.OrderType,\r\n x?.EqtimatedTimeArrival\r\n )\r\n );\r\n });\r\n\r\n const classes = useStyles();\r\n const [Containers, setContainers] = React.useState([]);\r\n const [ContainerId, setContainerId] = React.useState(0);\r\n const [order, setOrder] = React.useState(\"asc\");\r\n const [orderBy, setOrderBy] = React.useState(\"\");\r\n const [selected, setSelected] = React.useState([]);\r\n const [page, setPage] = React.useState(0);\r\n const [dense, setDense] = React.useState(false);\r\n const [rowsPerPage, setRowsPerPage] = React.useState(5);\r\n\r\n function handleRequestSort(event, property) {\r\n const isDesc = orderBy === property && order === \"desc\";\r\n setOrder(isDesc ? \"asc\" : \"desc\");\r\n setOrderBy(property);\r\n }\r\n\r\n function handleSelectAllClick(event) {\r\n if (event.target.checked) {\r\n const newSelecteds = rows.map((n) => n.name);\r\n setSelected(newSelecteds);\r\n return;\r\n }\r\n setSelected([]);\r\n }\r\n\r\n function handleClick(event, name) {\r\n const selectedIndex = selected.indexOf(name);\r\n let newSelected = [];\r\n\r\n if (selectedIndex === -1) {\r\n newSelected = newSelected.concat(selected, name);\r\n } else if (selectedIndex === 0) {\r\n newSelected = newSelected.concat(selected.slice(1));\r\n } else if (selectedIndex === selected.length - 1) {\r\n newSelected = newSelected.concat(selected.slice(0, -1));\r\n } else if (selectedIndex > 0) {\r\n newSelected = newSelected.concat(\r\n selected.slice(0, selectedIndex),\r\n selected.slice(selectedIndex + 1)\r\n );\r\n }\r\n\r\n setSelected(newSelected);\r\n }\r\n\r\n function handleChangePage(event, newPage) {\r\n setPage(newPage);\r\n }\r\n\r\n function handleChangeRowsPerPage(event) {\r\n setRowsPerPage(+event.target.value);\r\n }\r\n\r\n function handleChangeDense(event) {\r\n setDense(event.target.checked);\r\n }\r\n\r\n const isSelected = (name) => selected.indexOf(name) !== -1;\r\n\r\n const emptyRows =\r\n rowsPerPage - Math.min(rowsPerPage, rows.length - page * rowsPerPage);\r\n\r\n return (\r\n <>\r\n <div className=\"px-5\">\r\n <div className={classes.root}>\r\n <Paper className={classes.paper}>\r\n <EnhancedTableToolbar\r\n numSelected={selected.length}\r\n title={title}\r\n color={color}\r\n />\r\n <div className={classes.tableWrapper}>\r\n <Table\r\n className={classes.table}\r\n aria-labelledby=\"tableTitle\"\r\n size={dense ? \"small\" : \"medium\"}\r\n >\r\n <EnhancedTableHead\r\n numSelected={selected.length}\r\n order={order}\r\n orderBy={orderBy}\r\n onSelectAllClick={handleSelectAllClick}\r\n onRequestSort={handleRequestSort}\r\n rowCount={rows.length}\r\n />\r\n <TableBody>\r\n {stableSort(rows, getSorting(order, orderBy))\r\n .slice(page * rowsPerPage, page * rowsPerPage + rowsPerPage)\r\n .map((row, index) => {\r\n const isItemSelected = isSelected(row.name);\r\n const labelId = `enhanced-table-checkbox-${index}`;\r\n\r\n return (\r\n <TableRow\r\n hover\r\n /* onClick={(event) => handleClick(event, row.name)} */\r\n role=\"checkbox\"\r\n aria-checked={isItemSelected}\r\n tabIndex={-1}\r\n key={row.name}\r\n selected={isItemSelected}\r\n >\r\n <TableCell>\r\n <a\r\n onClick={() => {\r\n const a = Data.find((x) => x.Id === row.Id);\r\n if (a) {\r\n setContainers(a?.Containers || []);\r\n setContainerId(row.Id);\r\n }\r\n }}\r\n >\r\n <b className={`alert alert-${color}`}>{row.Id}</b>\r\n </a>\r\n </TableCell>\r\n <TableCell align=\"right\">{row.MiffId}</TableCell>\r\n <TableCell align=\"right\">\r\n {moment(row.OrderDate)\r\n .format(\"YYYY-MM-DD HH:mm:ss\")\r\n .toString()}\r\n </TableCell>\r\n <TableCell align=\"right\">{row.SailDate}</TableCell>\r\n <TableCell align=\"right\">\r\n {moment(row.EqtimatedTimeArrival)\r\n .format(\"YYYY-MM-DD HH:mm:ss\")\r\n .toString()}\r\n </TableCell>\r\n <TableCell align=\"right\">{row.OrderType}</TableCell>\r\n <TableCell align=\"right\">\r\n {row.VesselVoyage}\r\n </TableCell>\r\n </TableRow>\r\n );\r\n })}\r\n {emptyRows > 0 && (\r\n <TableRow style={{ height: 49 * emptyRows }}>\r\n <TableCell colSpan={6} />\r\n </TableRow>\r\n )}\r\n </TableBody>\r\n </Table>\r\n </div>\r\n <TablePagination\r\n rowsPerPageOptions={[5, 10, 25]}\r\n component=\"div\"\r\n count={rows.length}\r\n rowsPerPage={rowsPerPage}\r\n page={page}\r\n backIconButtonProps={{\r\n \"aria-label\": \"Previous Page\",\r\n }}\r\n nextIconButtonProps={{\r\n \"aria-label\": \"Next Page\",\r\n }}\r\n onChangePage={handleChangePage}\r\n onChangeRowsPerPage={handleChangeRowsPerPage}\r\n />\r\n </Paper>\r\n <FormControlLabel\r\n control={<Switch checked={dense} onChange={handleChangeDense} />}\r\n label=\"Dense padding\"\r\n />\r\n </div>\r\n </div>\r\n {Containers.length > 0 && (\r\n <EnhancedTableContainers\r\n title={`Containers for ${ContainerId}`}\r\n color=\"dark\"\r\n Data={Containers}\r\n />\r\n )}\r\n </>\r\n );\r\n}\r\n","/* eslint-disable no-script-url,jsx-a11y/anchor-is-valid */\r\nimport React, { useMemo, useEffect, useState } from \"react\";\r\nimport objectPath from \"object-path\";\r\nimport ApexCharts from \"apexcharts\";\r\nimport { useHtmlClassService } from \"../../../layout\";\r\nimport { DropdownCustomToggler, DropdownMenu4 } from \"../../dropdowns\";\r\nimport { Dropdown } from \"react-bootstrap\";\r\nimport EnhancedTable from \"./EnhancedTable\";\r\n\r\nexport function ShippedOrdersComp({\r\n className,\r\n ShippedOrdersCount = 0,\r\n NotShippedOrdersCount = 0,\r\n ShippedOrders = [],\r\n NotShippedOrders = [],\r\n}) {\r\n const [tabe, settabe] = useState(0);\r\n const uiService = useHtmlClassService();\r\n const layoutProps = useMemo(() => {\r\n return {\r\n colorsGrayGray500: objectPath.get(\r\n uiService.config,\r\n \"js.colors.gray.gray500\"\r\n ),\r\n colorsGrayGray200: objectPath.get(\r\n uiService.config,\r\n \"js.colors.gray.gray200\"\r\n ),\r\n colorsGrayGray300: objectPath.get(\r\n uiService.config,\r\n \"js.colors.gray.gray300\"\r\n ),\r\n colorsThemeBaseSuccess: objectPath.get(\r\n uiService.config,\r\n \"js.colors.theme.base.success\"\r\n ),\r\n colorsThemeLightSuccess: objectPath.get(\r\n uiService.config,\r\n \"js.colors.theme.light.success\"\r\n ),\r\n fontFamily: objectPath.get(uiService.config, \"js.fontFamily\"),\r\n };\r\n }, [uiService]);\r\n\r\n useEffect(() => {\r\n const element = document.getElementById(\"kt_shipment_widget_7_chart\");\r\n\r\n if (!element) {\r\n return;\r\n }\r\n\r\n const options = getChartOption(\r\n layoutProps,\r\n ShippedOrdersCount,\r\n NotShippedOrdersCount\r\n );\r\n const chart = new ApexCharts(element, options);\r\n chart.render();\r\n return function cleanUp() {\r\n chart.destroy();\r\n };\r\n }, [layoutProps, ShippedOrdersCount, NotShippedOrdersCount]);\r\n\r\n function percentage(a, b) {\r\n if (a + b !== 0) return ((100 * a) / (a + b)).toFixed(0);\r\n else return 0;\r\n }\r\n\r\n return (\r\n <div className={`card card-custom ${className}`}>\r\n <div className=\"card-header border-0\">\r\n <h3 className=\"card-title font-weight-bolder text-dark\">Containers</h3>\r\n <div className=\"card-toolbar\">\r\n <Dropdown className=\"dropdown-inline\" alignRight>\r\n <Dropdown.Toggle\r\n className=\"btn btn-clean btn-hover-light-primary btn-sm btn-icon\"\r\n variant=\"transparent\"\r\n id=\"dropdown-toggle-top\"\r\n as={DropdownCustomToggler}\r\n >\r\n <i className=\"ki ki-bold-more-hor\" />\r\n </Dropdown.Toggle>\r\n <Dropdown.Menu className=\"dropdown-menu dropdown-menu-sm dropdown-menu-right\">\r\n <DropdownMenu4 />\r\n </Dropdown.Menu>\r\n </Dropdown>\r\n </div>\r\n </div>\r\n <div className=\"card-body d-flex flex-column p-0\">\r\n <div className=\"row\">\r\n <div className=\"col-lg-7\">\r\n <div\r\n id=\"kt_shipment_widget_7_chart\"\r\n className=\"card-rounded-bottom\"\r\n style={{ height: \"150px\" }}\r\n ></div>\r\n </div>\r\n <div className=\"col-lg-5 mt-5\">\r\n <div className=\"row pt-5 mt-5\">\r\n <div className=\"col-lg-12\">\r\n <div className=\"d-flex align-items-center mb-10\">\r\n <div className=\"symbol symbol-40 symbol-light-primary mr-5\">\r\n <span className=\"symbol-label\">\r\n <span className=\"svg-icon svg-icon-lg svg-icon-primary\">\r\n {ShippedOrdersCount + NotShippedOrdersCount === 0\r\n ? 0\r\n : 100}\r\n %\r\n </span>\r\n </span>\r\n </div>\r\n\r\n <div className=\"d-flex flex-column font-weight-bold\">\r\n <a\r\n href=\"#\"\r\n className=\"text-dark text-hover-primary mb-1 font-size-lg\"\r\n >\r\n Received\r\n </a>\r\n <span className=\"text-muted\">\r\n {ShippedOrdersCount + NotShippedOrdersCount}\r\n {/* Orders */}\r\n </span>\r\n </div>\r\n </div>\r\n\r\n <div className=\"d-flex align-items-center mb-10\">\r\n <div className=\"symbol symbol-40 symbol-light-success mr-5\">\r\n <span className=\"symbol-label\">\r\n <span className=\"svg-icon svg-icon-lg svg-icon-success\">\r\n {percentage(ShippedOrdersCount, NotShippedOrdersCount)}%\r\n </span>\r\n </span>\r\n </div>\r\n <div className=\"d-flex flex-column font-weight-bold\">\r\n <a\r\n onClick={() => {\r\n settabe(2);\r\n }}\r\n className=\"text-dark-75 text-hover-primary mb-1 font-size-lg\"\r\n >\r\n Shipped{/* Orders */}\r\n </a>\r\n <span className=\"text-muted\">\r\n {ShippedOrdersCount}\r\n {/* Orders */}\r\n </span>\r\n </div>\r\n </div>\r\n\r\n <div className=\"d-flex align-items-center mb-10\">\r\n <div className=\"symbol symbol-40 symbol-light-danger mr-5\">\r\n <span className=\"symbol-label\">\r\n <span className=\"svg-icon svg-icon-lg svg-icon-danger\">\r\n {percentage(NotShippedOrdersCount, ShippedOrdersCount)}%\r\n </span>\r\n </span>\r\n </div>\r\n\r\n <div className=\"d-flex flex-column font-weight-bold\">\r\n <a\r\n onClick={() => {\r\n settabe(4);\r\n }}\r\n className=\"text-dark text-hover-primary mb-1 font-size-lg\"\r\n >\r\n Not Shipped{/* Orders */}\r\n </a>\r\n <span className=\"text-muted\">\r\n {\" \"}\r\n {NotShippedOrdersCount}\r\n {/* Orders */}\r\n </span>\r\n </div>\r\n </div>\r\n\r\n <div className=\"d-flex align-items-center mb-10\">\r\n <div className=\"symbol symbol-40 symbol-light-warning mr-5\">\r\n <span className=\"symbol-label\">\r\n <span className=\"svg-icon svg-icon-lg svg-icon-warning\">\r\n 0%\r\n </span>\r\n </span>\r\n </div>\r\n\r\n <div className=\"d-flex flex-column font-weight-bold\">\r\n <a\r\n href=\"#\"\r\n className=\"text-dark text-hover-primary mb-1 font-size-lg\"\r\n >\r\n Empty Shipped{/* Orders */}\r\n </a>\r\n <span className=\"text-muted\">0{/* Orders */}</span>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n {tabe === 2 && ShippedOrders.length > 0 && (\r\n <div className=\"col-lg-12\">\r\n <EnhancedTable\r\n title=\"Shipped Orders\"\r\n color=\"success\"\r\n Data={ShippedOrders}\r\n />\r\n </div>\r\n )}\r\n {tabe === 4 && NotShippedOrders.length > 0 && (\r\n <div className=\"col-lg-12\">\r\n <EnhancedTable\r\n title=\"Not Shipped Orders\"\r\n color=\"danger\"\r\n Data={NotShippedOrders}\r\n />\r\n </div>\r\n )}\r\n </div>\r\n </div>\r\n </div>\r\n );\r\n\r\n function getChartOption(\r\n layoutProps,\r\n ShippedOrdersCount,\r\n NotShippedOrdersCount\r\n ) {\r\n const options = {\r\n series: [\r\n ShippedOrdersCount + NotShippedOrdersCount === 0 ? 0 : 100,\r\n percentage(ShippedOrdersCount, NotShippedOrdersCount),\r\n 0,\r\n percentage(NotShippedOrdersCount, ShippedOrdersCount),\r\n ],\r\n chart: {\r\n height: 400,\r\n type: \"radialBar\",\r\n },\r\n plotOptions: {\r\n radialBar: {\r\n dataLabels: {\r\n name: {\r\n fontSize: \"22px\",\r\n },\r\n value: {\r\n fontSize: \"16px\",\r\n },\r\n track: {\r\n background: [\"#fff\", \"#e4e4e4\"],\r\n },\r\n total: {\r\n show: true,\r\n label: \"Received\",\r\n formatter: function(w) {\r\n // By default this function returns the average of all series. The below is just an example to show the use of custom formatter function\r\n return ShippedOrdersCount + NotShippedOrdersCount;\r\n },\r\n },\r\n },\r\n },\r\n },\r\n labels: [\"Received\", \"Shipped Orders\", \"Not Total Orders\"],\r\n };\r\n return options;\r\n }\r\n}\r\n","/* eslint-disable no-script-url,jsx-a11y/anchor-is-valid */\r\nimport React, { useMemo, useEffect } from \"react\";\r\nimport objectPath from \"object-path\";\r\nimport ApexCharts from \"apexcharts\";\r\nimport { useHtmlClassService } from \"../../../layout\";\r\nimport TextField from \"@material-ui/core/TextField\";\r\nimport Autocomplete from \"@material-ui/lab/Autocomplete\";\r\nexport function DonutTransactionInbound({ className }) {\r\n const uiService = useHtmlClassService();\r\n const layoutProps = useMemo(() => {\r\n return {\r\n colorsGrayGray500: objectPath.get(\r\n uiService.config,\r\n \"js.colors.gray.gray500\"\r\n ),\r\n colorsGrayGray200: objectPath.get(\r\n uiService.config,\r\n \"js.colors.gray.gray200\"\r\n ),\r\n colorsGrayGray300: objectPath.get(\r\n uiService.config,\r\n \"js.colors.gray.gray300\"\r\n ),\r\n colorsThemeBaseSuccess: objectPath.get(\r\n uiService.config,\r\n \"js.colors.theme.base.success\"\r\n ),\r\n colorsThemeLightSuccess: objectPath.get(\r\n uiService.config,\r\n \"js.colors.theme.light.success\"\r\n ),\r\n fontFamily: objectPath.get(uiService.config, \"js.fontFamily\"),\r\n };\r\n }, [uiService]);\r\n\r\n useEffect(() => {\r\n const element = document.getElementById(\"kt_transactionInbound_widget_7_chart\");\r\n\r\n if (!element) {\r\n return;\r\n }\r\n\r\n const options = getChartOption(layoutProps);\r\n const chart = new ApexCharts(element, options);\r\n chart.render();\r\n return function cleanUp() {\r\n chart.destroy();\r\n };\r\n }, [layoutProps]);\r\n\r\n return (\r\n <div className={`card card-custom ${className}`}>\r\n <div className=\"card-header border-0 pt-5\">\r\n <h3 className=\"card-title align-items-start flex-column\">\r\n <span className=\"card-label font-weight-bolder text-dark\">\r\n Overall Error Status\r\n </span>\r\n </h3>\r\n </div>\r\n <div className=\"card-body d-flex flex-column p-0\">\r\n <div className=\"row\">\r\n <div className=\"col-lg-12\">\r\n <div\r\n id=\"kt_transactionInbound_widget_7_chart\"\r\n className=\"card-rounded-bottom\"\r\n style={{ height: \"100px\" }}\r\n ></div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n );\r\n}\r\n\r\nfunction getChartOption(layoutProps) {\r\n const options = {\r\n series: [100, 15,20],\r\n colors: [\"#b3e8e7\",\"#3699FF\", \"#f64e60\"],\r\n chart: {\r\n type: \"donut\",\r\n },\r\n dataLabels: {\r\n formatter: function(val, opts) {\r\n return opts.w.config.series[opts.seriesIndex];\r\n },\r\n },\r\n responsive: [\r\n {\r\n breakpoint: 480,\r\n options: {\r\n chart: {\r\n width: 200,\r\n },\r\n legend: {\r\n position: \"bottom\",\r\n },\r\n },\r\n },\r\n ],\r\n labels: [\"Success\",\"In Progress\" ,\"Error\"],\r\n };\r\n return options;\r\n}\r\n","/* eslint-disable no-script-url,jsx-a11y/anchor-is-valid */\r\nimport React, { useMemo, useEffect } from \"react\";\r\nimport objectPath from \"object-path\";\r\nimport { useHtmlClassService } from \"../../../layout\";\r\nimport TextField from \"@material-ui/core/TextField\";\r\nimport Autocomplete from \"@material-ui/lab/Autocomplete\";\r\nexport function Crosspartner({ className }) {\r\n const uiService = useHtmlClassService();\r\n const layoutProps = useMemo(() => {\r\n return {\r\n colorsGrayGray500: objectPath.get(\r\n uiService.config,\r\n \"js.colors.gray.gray500\"\r\n ),\r\n colorsGrayGray200: objectPath.get(\r\n uiService.config,\r\n \"js.colors.gray.gray200\"\r\n ),\r\n colorsGrayGray300: objectPath.get(\r\n uiService.config,\r\n \"js.colors.gray.gray300\"\r\n ),\r\n colorsThemeBaseSuccess: objectPath.get(\r\n uiService.config,\r\n \"js.colors.theme.base.success\"\r\n ),\r\n colorsThemeLightSuccess: objectPath.get(\r\n uiService.config,\r\n \"js.colors.theme.light.success\"\r\n ),\r\n fontFamily: objectPath.get(uiService.config, \"js.fontFamily\"),\r\n };\r\n }, [uiService]);\r\n\r\n return (\r\n <div className={`card card-custom ${className}`}>\r\n <div className=\"card-header border-0 pt-5\">\r\n <h3 className=\"card-title align-items-start flex-column\">\r\n <span className=\"card-label font-weight-bolder text-dark\">\r\n Cross Partner\r\n </span>\r\n </h3>\r\n </div>\r\n <div className=\"card-body d-flex flex-column\">\r\n <div className=\"col-lg-12\">\r\n <div className=\"row border-bottom\">\r\n <div className=\"col-lg-7 mb-10\">\r\n <p className=\"font-size-h4 font-weight-bolder\">Partner Transaction</p>\r\n <input\r\n type=\"text\"\r\n className=\"form-control\"\r\n name=\"searchText\"\r\n id=\"searchGlobalText\"\r\n placeholder=\"Partner Name\"\r\n label=\"Date\"\r\n />\r\n </div>\r\n <div className=\"col-md-1 mt-11 mb-10\">\r\n <button\r\n id=\"submitSearchDashBoard\"\r\n className=\"btn btn-primary font-weight-bolder font-size-sm\"\r\n onClick\r\n >\r\n View\r\n </button>\r\n </div>\r\n </div>\r\n <div className=\"row mt-10\">\r\n <div className=\"flex-grow-1 pb-5 col-md-3 text-center\">\r\n <a\r\n href=\"#\"\r\n className=\"text-dark font-weight-normal text-hover-primary font-size-md\"\r\n >\r\n Partner Name\r\n </a>\r\n {/*end::Link*/}\r\n {/*begin::Desc*/}\r\n <p className=\"text-dark-50 font-weight-bolder font-size-h4 mt-6\">\r\n Meijer\r\n </p>\r\n {/*end::Desc*/}\r\n </div>\r\n <div className=\"flex-grow-1 pb-5 col-md-3 text-center\">\r\n <a\r\n href=\"#\"\r\n className=\"text-dark font-weight-normal text-hover-primary font-size-md\"\r\n >\r\n Total Transactions\r\n </a>\r\n {/*end::Link*/}\r\n {/*begin::Desc*/}\r\n <p className=\"text-primary-50 font-weight-bolder text-primary font-size-h4 mt-6\">\r\n 20\r\n </p>\r\n {/*end::Desc*/}\r\n </div>\r\n <div className=\"flex-grow-1 pb-5 col-md-3 text-center\">\r\n <a\r\n href=\"#\"\r\n className=\"text-dark font-weight-normal text-hover-primary font-size-md\"\r\n >\r\n Inbound Transactions\r\n </a>\r\n {/*end::Link*/}\r\n {/*begin::Desc*/}\r\n <p className=\"text-primary-50 font-weight-bolder text-info font-size-h4 mt-6\">\r\n 11\r\n </p>\r\n {/*end::Desc*/}\r\n </div>\r\n <div className=\"flex-grow-1 pb-5 col-md-3 text-center\">\r\n <a\r\n href=\"#\"\r\n className=\"text-dark font-weight-normal text-hover-primary font-size-md\"\r\n >\r\n Outbound Transactions\r\n </a>\r\n {/*end::Link*/}\r\n {/*begin::Desc*/}\r\n <p className=\"text-primary-50 font-weight-bolder text-success font-size-h4 mt-6\">\r\n 5\r\n </p>\r\n {/*end::Desc*/}\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n );\r\n}\r\n","/* eslint-disable no-script-url,jsx-a11y/anchor-is-valid */\r\nimport React, { useMemo, useEffect } from \"react\";\r\nimport objectPath from \"object-path\";\r\nimport { useHtmlClassService } from \"../../../layout\";\r\nimport TextField from \"@material-ui/core/TextField\";\r\nimport Autocomplete from \"@material-ui/lab/Autocomplete\";\r\nexport function OveralTransaction({ className }) {\r\n const uiService = useHtmlClassService();\r\n const layoutProps = useMemo(() => {\r\n return {\r\n colorsGrayGray500: objectPath.get(\r\n uiService.config,\r\n \"js.colors.gray.gray500\"\r\n ),\r\n colorsGrayGray200: objectPath.get(\r\n uiService.config,\r\n \"js.colors.gray.gray200\"\r\n ),\r\n colorsGrayGray300: objectPath.get(\r\n uiService.config,\r\n \"js.colors.gray.gray300\"\r\n ),\r\n colorsThemeBaseSuccess: objectPath.get(\r\n uiService.config,\r\n \"js.colors.theme.base.success\"\r\n ),\r\n colorsThemeLightSuccess: objectPath.get(\r\n uiService.config,\r\n \"js.colors.theme.light.success\"\r\n ),\r\n fontFamily: objectPath.get(uiService.config, \"js.fontFamily\"),\r\n };\r\n }, [uiService]);\r\n\r\n return (\r\n <div className={`card card-custom ${className}`}>\r\n <div className=\"card-header border-0 pt-5\">\r\n <h3 className=\"card-title align-items-start flex-column\">\r\n <span className=\"card-label font-weight-bolder text-dark\">\r\n Overall Transaction Statu\r\n </span>\r\n </h3>\r\n </div>\r\n <div className=\"card-body d-flex flex-column\">\r\n <div className=\"col-lg-12\">\r\n <div className=\"row mt-10\">\r\n <div className=\"flex-grow-1 pb-5 col-md-3 text-center\">\r\n <a\r\n href=\"#\"\r\n className=\"text-dark font-weight-normal text-hover-primary font-size-md\"\r\n >\r\n All\r\n </a>\r\n {/*end::Link*/}\r\n {/*begin::Desc*/}\r\n <p className=\"text-dark-50 font-weight-bolder font-size-h4 mt-6\">\r\n 55\r\n </p>\r\n {/*end::Desc*/}\r\n </div>\r\n <div className=\"flex-grow-1 pb-5 col-md-3 text-center\">\r\n <a\r\n href=\"#\"\r\n className=\"text-dark font-weight-normal text-hover-primary font-size-md\"\r\n >\r\n Failled\r\n </a>\r\n {/*end::Link*/}\r\n {/*begin::Desc*/}\r\n <p className=\"text-primary-50 font-weight-bolder text-danger font-size-h4 mt-6\">\r\n 17\r\n </p>\r\n {/*end::Desc*/}\r\n </div>\r\n <div className=\"flex-grow-1 pb-5 col-md-3 text-center\">\r\n <a\r\n href=\"#\"\r\n className=\"text-dark font-weight-normal text-hover-primary font-size-md\"\r\n >\r\n Success\r\n </a>\r\n {/*end::Link*/}\r\n {/*begin::Desc*/}\r\n <p className=\"text-primary-50 font-weight-bolder text-success font-size-h4 mt-6\">\r\n 33\r\n </p>\r\n {/*end::Desc*/}\r\n </div>\r\n <div className=\"flex-grow-1 pb-5 col-md-3 text-center\">\r\n <a\r\n href=\"#\"\r\n className=\"text-dark font-weight-normal text-hover-primary font-size-md\"\r\n >\r\n In progress\r\n </a>\r\n {/*end::Link*/}\r\n {/*begin::Desc*/}\r\n <p className=\"text-primary-50 font-weight-bolder text-primary font-size-h4 mt-6\">\r\n 0\r\n </p>\r\n {/*end::Desc*/}\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n );\r\n}\r\n","/* eslint-disable no-script-url,jsx-a11y/anchor-is-valid */\r\nimport React, { useState, useEffect } from \"react\";\r\nimport Table from \"@material-ui/core/Table\";\r\n//Date Range Picker Google\r\nimport { RangeDatePicker } from \"react-google-flight-datepicker\";\r\nimport \"react-google-flight-datepicker/dist/main.css\";\r\n//////\r\nimport TableBody from \"@material-ui/core/TableBody\";\r\nimport TableCell from \"@material-ui/core/TableCell\";\r\nimport TableHead from \"@material-ui/core/TableHead\";\r\nimport TableRow from \"@material-ui/core/TableRow\";\r\nimport TablePagination from \"@material-ui/core/TablePagination\";\r\nimport IconButton from \"@material-ui/core/IconButton\";\r\nimport FirstPageIcon from \"@material-ui/icons/FirstPage\";\r\nimport KeyboardArrowLeft from \"@material-ui/icons/KeyboardArrowLeft\";\r\nimport KeyboardArrowRight from \"@material-ui/icons/KeyboardArrowRight\";\r\nimport LastPageIcon from \"@material-ui/icons/LastPage\";\r\nimport low from \"lowdb\";\r\nimport {\r\n makeStyles,\r\n useTheme,\r\n withStyles,\r\n emphasize,\r\n} from \"@material-ui/core/styles\";\r\nimport Menu2 from \"@material-ui/core/Menu\";\r\nimport MenuItem from \"@material-ui/core/MenuItem\";\r\nimport Icon from \"@material-ui/core/Icon\";\r\nimport {\r\n ProgressBar,\r\n OverlayTrigger,\r\n Tooltip,\r\n Button,\r\n Modal,\r\n Alert,\r\n Accordion,\r\n ButtonToolbar,\r\n} from \"react-bootstrap\";\r\nimport { PerformanceLulusFashion } from \"./PerformanceLulusFashion\";\r\nimport { PerformanceLulusFashionSecond } from \"./PerformanceLulusFashionSecond\";\r\nimport Tabs from \"@material-ui/core/Tabs\";\r\nimport Tab from \"@material-ui/core/Tab\";\r\nimport { toAbsoluteUrl } from \"../../../_helpers\";\r\nimport SVG from \"react-inlinesvg\";\r\nimport { Export } from \"../../../../_metronic/_helpers/ATHelpers\";\r\nimport ListItemText from \"@material-ui/core/ListItemText\";\r\nimport ListItemIcon from \"@material-ui/core/ListItemIcon\";\r\nimport LocalStorage from \"lowdb/adapters/LocalStorage\";\r\nimport CloseIcon from \"@material-ui/icons/Close\";\r\nimport { currencyFormat } from \"../../../_helpers/ATHelpers\";\r\nimport ModelManagmentFirstDashboard from \"../../../../app/modules/eMPower/pages/ReceiptsManagementNewVersion/customers-table/Shipment/ModelManagmentFirstDashboard\";\r\nimport { ModelManagmentFirstDashboardSm } from \"../../../../app/modules/eMPower/pages/NewShipmentsBeta/customers-table/ModelShipmentManagment\";\r\nimport moment from \"moment\";\r\nimport Chart2 from \"../../../../app/modules/eMPower/pages/PerformanceGraph/ChartZoomBar\";\r\nconst adapter = new LocalStorage(\"db\");\r\nconst db = low(adapter);\r\n\r\nvar getDate = function(d) {\r\n if (d === null || d === \"\" || d === undefined) return \"\";\r\n var format = \"MM/DD/YYYY\";\r\n if (\r\n moment(d)\r\n .startOf(\"day\")\r\n .valueOf() === moment(d).valueOf()\r\n ) {\r\n format = \"MM/DD/YYYY\";\r\n }\r\n return moment(d).format(format);\r\n};\r\nvar getDateName = function(d) {\r\n if (d === null || d === \"\" || d === undefined) return \"\";\r\n var format = \"dddd, MMMM DD, YYYY\";\r\n return moment(d).format(format);\r\n};\r\nconst StyledMenu = withStyles({\r\n paper: {\r\n border: \"1px solid #d3d4d5\",\r\n },\r\n})((props) => (\r\n <Menu2\r\n elevation={0}\r\n getContentAnchorEl={null}\r\n anchorOrigin={{\r\n vertical: \"bottom\",\r\n horizontal: \"center\",\r\n }}\r\n transformOrigin={{\r\n vertical: \"top\",\r\n horizontal: \"center\",\r\n }}\r\n {...props}\r\n />\r\n));\r\n\r\nconst StyledMenuItem = withStyles((theme) => ({\r\n root: {\r\n \"&:focus\": {\r\n backgroundColor: theme.palette.primary.main,\r\n \"& .MuiListItemIcon-root, & .MuiListItemText-primary\": {\r\n color: theme.palette.common.white,\r\n },\r\n },\r\n },\r\n}))(MenuItem);\r\nconst useStyles = makeStyles((theme) => ({\r\n root: {\r\n flexGrow: 1,\r\n width: \"100%\",\r\n backgroundColor: \"transparent\",\r\n },\r\n}));\r\nconst useStyles1 = makeStyles((theme) => ({\r\n root: {\r\n flexShrink: 0,\r\n color: theme.palette.text.secondary,\r\n marginLeft: theme.spacing(2.5),\r\n },\r\n}));\r\nfunction TablePaginationActions(props) {\r\n const classes = useStyles1();\r\n const theme = useTheme();\r\n const { count, page, rowsPerPage, onChangePage } = props;\r\n\r\n function handleFirstPageButtonClick(event) {\r\n onChangePage(event, 0);\r\n }\r\n\r\n function handleBackButtonClick(event) {\r\n onChangePage(event, page - 1);\r\n }\r\n\r\n function handleNextButtonClick(event) {\r\n onChangePage(event, page + 1);\r\n }\r\n\r\n function handleLastPageButtonClick(event) {\r\n onChangePage(event, Math.max(0, Math.ceil(count / rowsPerPage) - 1));\r\n }\r\n\r\n return (\r\n <div className={classes.root}>\r\n <IconButton\r\n onClick={handleFirstPageButtonClick}\r\n disabled={page === 0}\r\n aria-label=\"First Page\"\r\n >\r\n {theme.direction === \"rtl\" ? <LastPageIcon /> : <FirstPageIcon />}\r\n </IconButton>\r\n <IconButton\r\n onClick={handleBackButtonClick}\r\n disabled={page === 0}\r\n aria-label=\"Previous Page\"\r\n >\r\n {theme.direction === \"rtl\" ? (\r\n <KeyboardArrowRight />\r\n ) : (\r\n <KeyboardArrowLeft />\r\n )}\r\n </IconButton>\r\n <IconButton\r\n onClick={handleNextButtonClick}\r\n disabled={page >= Math.ceil(count / rowsPerPage) - 1}\r\n aria-label=\"Next Page\"\r\n >\r\n {theme.direction === \"rtl\" ? (\r\n <KeyboardArrowLeft />\r\n ) : (\r\n <KeyboardArrowRight />\r\n )}\r\n </IconButton>\r\n <IconButton\r\n onClick={handleLastPageButtonClick}\r\n disabled={page >= Math.ceil(count / rowsPerPage) - 1}\r\n aria-label=\"Last Page\"\r\n >\r\n {theme.direction === \"rtl\" ? <FirstPageIcon /> : <LastPageIcon />}\r\n </IconButton>\r\n </div>\r\n );\r\n}\r\n\r\nfunction createData(name, calories, fat) {\r\n return { name, calories, fat };\r\n}\r\nconst rows = [\r\n createData(\"Cupcake\", 305, 3.7),\r\n createData(\"Donut\", 452, 25.0),\r\n createData(\"Eclair\", 262, 16.0),\r\n createData(\"Frozen yoghurt\", 159, 6.0),\r\n createData(\"Gingerbread\", 356, 16.0),\r\n createData(\"Honeycomb\", 408, 3.2),\r\n createData(\"Ice cream sandwich\", 237, 9.0),\r\n createData(\"Jelly Bean\", 375, 0.0),\r\n createData(\"KitKat\", 518, 26.0),\r\n createData(\"Lollipop\", 392, 0.2),\r\n createData(\"Marshmallow\", 318, 0),\r\n createData(\"Nougat\", 360, 19.0),\r\n createData(\"Oreo\", 437, 18.0),\r\n].sort((a, b) => (a.calories < b.calories ? -1 : 1));\r\n\r\nexport function PerformanceLulus({ className, customerId, SearchBy }) {\r\n const [showTransload, setShowTransload] = React.useState(false);\r\n const [performancetavselected, setperformancetavselected] = React.useState(\r\n \"\"\r\n );\r\n const [showInBound, setShowInBound] = React.useState(false);\r\n const [showOutBound, setShowOutBound] = React.useState(false);\r\n const [value, onChange] = useState([\r\n moment()\r\n .add(-7, \"days\")\r\n .format(\"YYYY-MM-DD\"),\r\n moment().format(\"YYYY-MM-DD\"),\r\n ]);\r\n const [valuesTab, setvaluesTab] = React.useState(0);\r\n const [valuesTabParent, setvaluesTabParent] = React.useState(0);\r\n const [showContainerPort, setShowContainerPort] = React.useState(false);\r\n const [\r\n TransloadPerformanceReportLoadingSpinner2,\r\n setTransloadPerformanceReportLoadingSpinner2,\r\n ] = React.useState(false);\r\n const [ContainersDetails, setContainersDetails] = useState([]);\r\n const [PerformanceReportData, setPerformanceReportData] = useState([]);\r\n const [PerformanceReportGraphData, setPerformanceReportGraphData] = useState([]);\r\n const [PerformanceReportDetails, setPerformanceReportDetails] = useState([]);\r\n const [anchorEl, setAnchorEl] = React.useState(null);\r\n\r\n const [page, setPage] = React.useState(0);\r\n const [rowsPerPage, setRowsPerPage] = React.useState(10);\r\n function handleChange(event, newValue) {\r\n setvaluesTab(newValue);\r\n }\r\n function handleChangeParent(event, newValue) {\r\n setvaluesTabParent(newValue);\r\n }\r\n const [pageContainer, setPageContainer] = React.useState(0);\r\n const [rowsPerPageContainer, setRowsPerPageContainer] = React.useState(10);\r\n\r\n //Use State Google Picker Date Range\r\n const [startDateValue, setStartDate] = React.useState(\r\n new Date()\r\n .addDays(-7)\r\n .toISOString()\r\n .split(\"T\")[0]\r\n );\r\n const [endDateValue, setEndDate] = React.useState(\r\n new Date().toISOString().split(\"T\")[0]\r\n );\r\n function GetPerformanceLulusDetails(Bucket) {\r\n setPerformanceReportDetails([]);\r\n var startDate = moment(startDateValue).format(\"YYYY-MM-DD\");\r\n var endDate = moment(endDateValue).format(\"YYYY-MM-DD\");\r\n var SearchText = document.getElementById(\"searchGlobalText\").value;\r\n var myHeaders = new Headers();\r\n myHeaders.append(\"Authorization\", `Bearer ${db.read().getState().Token}`);\r\n\r\n var requestOptions = {\r\n method: \"GET\",\r\n headers: myHeaders,\r\n redirect: \"follow\",\r\n };\r\n\r\n fetch(\r\n `${window.$apiurl}/DashboardLulus/PerformanceReportDetails?keyword=${SearchBy}${SearchText}&startDate=${startDate}&endDate=${endDate}&category=${Bucket}`,\r\n requestOptions\r\n )\r\n .then((response) => response.text())\r\n .then((result) => {\r\n console.log(result);\r\n var obj = JSON.parse(result);\r\n setPerformanceReportDetails(obj);\r\n })\r\n .catch((error) => console.log(\"error\", error));\r\n }\r\n useEffect(() => {\r\n setTransloadPerformanceReportLoadingSpinner2(true);\r\n var startDate = moment(startDateValue).format(\"YYYY-MM-DD\");\r\n var endDate = moment(endDateValue).format(\"YYYY-MM-DD\");\r\n var SearchText = document.getElementById(\"searchGlobalText\").value;\r\n var myHeaders = new Headers();\r\n myHeaders.append(\"Authorization\", `bearer ${db.read().getState().Token}`);\r\n myHeaders.append(\"Content-Type\", \"application/json\");\r\n myHeaders.append(\"X-FP-API-KEY\", \"iphone\");\r\n var requestOptions = {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: myHeaders,\r\n redirect: \"follow\",\r\n };\r\n fetch(\r\n `${\r\n window.$apiurl\r\n }/DashboardLulus/PerformanceReport?customerId=${2271}&keyword=${SearchBy}${SearchText}&startDate=${startDate}&endDate=${endDate}`,\r\n requestOptions\r\n )\r\n .then((response) => response.text())\r\n .then((result) => {\r\n setTransloadPerformanceReportLoadingSpinner2(false);\r\n var obj = JSON.parse(result);\r\n setPerformanceReportData(obj.result || []);\r\n setPerformanceReportGraphData(obj?.performanceGraph?.Reporting?.Data || []);\r\n })\r\n .catch((error) => console.log(\"error\", error));\r\n }, []);\r\n const [\r\n pageInboundContainerDetails,\r\n setPageInboundContainerDetails,\r\n ] = React.useState(0);\r\n const [\r\n rowsPerPageInboundContainerDetails,\r\n setRowsPerPageInboundContainerDetails,\r\n ] = React.useState(10);\r\n\r\n const [\r\n pageOutboundContainerDetails,\r\n setPageOutboundContainerDetails,\r\n ] = React.useState(0);\r\n const [\r\n rowsPerPageOutboundContainerDetails,\r\n setRowsPerPageOutboundContainerDetails,\r\n ] = React.useState(10);\r\n var totalALLContainers0 = PerformanceReportData.filter(\r\n (a) => a.Bucket === \"Planned to Received\"\r\n )?.reduce((a, b) => a + (b[\"Quantity\"] || 0), 0);\r\n var totalALLContainers1 = PerformanceReportData.filter(\r\n (a) => a.Bucket === \"Received to Ready\"\r\n )?.reduce((a, b) => a + (b[\"Quantity\"] || 0), 0);\r\n var totalALLContainers2 = PerformanceReportData.filter(\r\n (a) => a.Bucket === \"Ready to Processed\"\r\n )?.reduce((a, b) => a + (b[\"Quantity\"] || 0), 0);\r\n var totalALLContainers3 = PerformanceReportData.filter(\r\n (a) => a.Bucket === \"Processed to Shipped\"\r\n )?.reduce((a, b) => a + (b[\"Quantity\"] || 0), 0);\r\n var totalALLContainers4 = PerformanceReportData.filter(\r\n (a) => a.Bucket === \"Received to Shipped\"\r\n )?.reduce((a, b) => a + (b[\"Quantity\"] || 0), 0);\r\n\r\n totalALLContainers0 = Number.isNaN(totalALLContainers0)\r\n ? 0\r\n : totalALLContainers0;\r\n\r\n totalALLContainers1 = Number.isNaN(totalALLContainers1)\r\n ? 0\r\n : totalALLContainers1;\r\n\r\n totalALLContainers2 = Number.isNaN(totalALLContainers2)\r\n ? 0\r\n : totalALLContainers2;\r\n\r\n totalALLContainers3 = Number.isNaN(totalALLContainers3)\r\n ? 0\r\n : totalALLContainers3;\r\n\r\n totalALLContainers4 = Number.isNaN(totalALLContainers4)\r\n ? 0\r\n : totalALLContainers4;\r\n\r\n function handleClick(event) {\r\n setAnchorEl(event.currentTarget);\r\n }\r\n function handleClose() {\r\n setAnchorEl(null);\r\n }\r\n\r\n function handleChangePage(event, newPage) {\r\n setPage(newPage);\r\n }\r\n\r\n function handleChangeRowsPerPage(event) {\r\n setRowsPerPage(parseInt(event.target.value, 10));\r\n }\r\n\r\n function handleChangePageContainer(event, newPage) {\r\n setPageContainer(newPage);\r\n }\r\n\r\n function handleChangeRowsPerPageContainer(event) {\r\n setRowsPerPageContainer(parseInt(event.target.value, 10));\r\n }\r\n\r\n function handleChangePageInboundContainerDetails(event, newPage) {\r\n setPageInboundContainerDetails(newPage);\r\n }\r\n\r\n function handleChangeRowsPerPageInboundContainerDetails(event) {\r\n setRowsPerPageInboundContainerDetails(parseInt(event.target.value, 10));\r\n }\r\n function handleChangePageOutboundContainerDetails(event, newPage) {\r\n setPageOutboundContainerDetails(newPage);\r\n }\r\n\r\n function handleChangeRowsPerPageOutboundContainerDetails(event) {\r\n setRowsPerPageOutboundContainerDetails(parseInt(event.target.value, 10));\r\n }\r\n const classes = useStyles();\r\n return (\r\n <>\r\n <Modal show={showContainerPort} size=\"xl\">\r\n <Modal.Header closeButton>\r\n <Modal.Title>Items</Modal.Title>\r\n </Modal.Header>\r\n <Modal.Body>\r\n <div className=\"form-group\">\r\n <div className=\"col-lg-12 mt-5\">\r\n <div className=\"react-bootstrap-table table-responsive\">\r\n <Table className={classes.table} size=\"small\">\r\n <TableHead>\r\n <TableRow>\r\n <TableCell className=\"bg-light font-weight-bold\">\r\n Line\r\n </TableCell>\r\n <TableCell className=\"bg-light font-weight-bold\">\r\n Item #\r\n </TableCell>\r\n <TableCell className=\"bg-light font-weight-bold\">\r\n PO #\r\n </TableCell>\r\n <TableCell className=\"bg-light font-weight-bold\">\r\n Description\r\n </TableCell>\r\n <TableCell className=\"bg-light font-weight-bold\">\r\n SKU\r\n </TableCell>\r\n <TableCell className=\"bg-light font-weight-bold\">\r\n Weight\r\n </TableCell>\r\n <TableCell className=\"bg-light font-weight-bold\">\r\n Cube\r\n </TableCell>\r\n <TableCell className=\"bg-light font-weight-bold\">\r\n Size\r\n </TableCell>\r\n <TableCell className=\"bg-light font-weight-bold\">\r\n Color\r\n </TableCell>\r\n <TableCell className=\"bg-light font-weight-bold\">\r\n Whs\r\n </TableCell>\r\n <TableCell className=\"bg-light font-weight-bold\">\r\n Qty Recv\r\n </TableCell>\r\n <TableCell className=\"bg-light font-weight-bold\">\r\n Qty Shpd\r\n </TableCell>\r\n </TableRow>\r\n </TableHead>\r\n <TableBody>\r\n {ContainersDetails?.slice(\r\n pageContainer * rowsPerPageContainer,\r\n pageContainer * rowsPerPageContainer +\r\n rowsPerPageContainer\r\n ).map((item, index) => (\r\n <TableRow>\r\n <TableCell>{item.Line}</TableCell>\r\n <TableCell>{item.Item}</TableCell>\r\n <TableCell>{item.Po}</TableCell>\r\n <TableCell>{item.Description}</TableCell>\r\n <TableCell>{item.Sku}</TableCell>\r\n <TableCell>{currencyFormat(item.Weight)}</TableCell>\r\n <TableCell>{currencyFormat(item.Cube)}</TableCell>\r\n <TableCell>{item.Size}</TableCell>\r\n <TableCell>{item.Color}</TableCell>\r\n <TableCell>{item.Whs}</TableCell>\r\n <TableCell>{item.QtyRecv}</TableCell>\r\n <TableCell>{item.QtyShpd}</TableCell>\r\n </TableRow>\r\n ))}\r\n <TableRow>\r\n <TableCell className=\"bg-light\">\r\n <strong>Totals</strong>\r\n </TableCell>\r\n <TableCell className=\"bg-light\"></TableCell>\r\n <TableCell className=\"bg-light\"></TableCell>\r\n <TableCell className=\"bg-light\"></TableCell>\r\n <TableCell className=\"bg-light\"></TableCell>\r\n <TableCell className=\"bg-light\">\r\n <strong>\r\n {ContainersDetails.reduce(\r\n (a, b) => a + (b[\"Weight\"] || 0),\r\n 0\r\n ).toFixed(2) || 0}{\" \"}\r\n KGS\r\n </strong>\r\n </TableCell>\r\n <TableCell className=\"bg-light\">\r\n <strong>\r\n {ContainersDetails.reduce(\r\n (a, b) => a + (b[\"Cube\"] || 0),\r\n 0\r\n ).toFixed(2) || 0}{\" \"}\r\n CBM\r\n </strong>\r\n </TableCell>\r\n <TableCell className=\"bg-light\"></TableCell>\r\n <TableCell className=\"bg-light\"></TableCell>\r\n <TableCell className=\"bg-light\"></TableCell>\r\n <TableCell className=\"bg-light\">\r\n <strong>\r\n {ContainersDetails.reduce(\r\n (a, b) => a + (b[\"QtyRecv\"] || 0),\r\n 0\r\n ).toFixed(2) || 0}\r\n </strong>\r\n </TableCell>\r\n <TableCell className=\"bg-light\"></TableCell>\r\n </TableRow>\r\n </TableBody>\r\n </Table>\r\n {ContainersDetails?.length > 0 ? (\r\n <TablePagination\r\n rowsPerPageOptions={[5, 10, 25]}\r\n colSpan={3}\r\n count={ContainersDetails?.length}\r\n rowsPerPage={rowsPerPageContainer}\r\n page={pageContainer}\r\n SelectProps={{\r\n inputProps: { \"aria-label\": \"Rows per page\" },\r\n native: true,\r\n }}\r\n onChangePage={handleChangePageContainer}\r\n onChangeRowsPerPage={handleChangeRowsPerPageContainer}\r\n ActionsComponent={TablePaginationActions}\r\n />\r\n ) : (\r\n \"\"\r\n )}\r\n </div>\r\n </div>\r\n </div>\r\n </Modal.Body>\r\n <Modal.Footer>\r\n <Button\r\n variant=\"secondary\"\r\n onClick={(e) => {\r\n setShowContainerPort(false);\r\n setPageContainer(0);\r\n }}\r\n >\r\n Close\r\n </Button>\r\n </Modal.Footer>\r\n </Modal>\r\n <Modal show={showTransload} size=\"xl\">\r\n <Modal.Header>\r\n <Modal.Title>\r\n Performance Detail: <strong>{performancetavselected}</strong>\r\n </Modal.Title>\r\n <ButtonToolbar\r\n style={{ right: \"79px\", position: \"absolute\" }}\r\n className=\"btn-text-primary\"\r\n className={classes.button}\r\n >\r\n <Button\r\n aria-controls=\"customized-menu\"\r\n aria-haspopup=\"true\"\r\n className=\"btn btn-outline-success btn-sm\"\r\n onClick={handleClick}\r\n >\r\n Export as\r\n <Icon className={classes.rightIcon}>save</Icon>\r\n </Button>\r\n <StyledMenu\r\n id=\"customized-menu\"\r\n anchorEl={anchorEl}\r\n keepMounted\r\n open={Boolean(anchorEl)}\r\n onClose={handleClose}\r\n >\r\n <StyledMenuItem\r\n onClick={(event) => {\r\n Export(\r\n PerformanceReportDetails,\r\n \"excel\",\r\n `Performance Detail: ${performancetavselected} _`\r\n );\r\n }}\r\n >\r\n <ListItemIcon>\r\n <i className=\"far fa-file-excel\"></i>\r\n </ListItemIcon>\r\n <ListItemText primary=\"Excel\" />\r\n </StyledMenuItem>\r\n <StyledMenuItem\r\n onClick={(event) => {\r\n Export(\r\n PerformanceReportDetails,\r\n \"csv\",\r\n `Performance Detail: ${performancetavselected} _`\r\n );\r\n }}\r\n >\r\n <ListItemIcon>\r\n <i className=\"fas fa-file-csv\"></i>\r\n </ListItemIcon>\r\n <ListItemText primary=\"CSV\" />\r\n </StyledMenuItem>\r\n <StyledMenuItem\r\n onClick={(event) => {\r\n Export(\r\n PerformanceReportDetails,\r\n \"json\",\r\n `Performance Detail: ${performancetavselected} _`\r\n );\r\n }}\r\n >\r\n <ListItemIcon>\r\n <i className=\"far fa-file-code\"></i>\r\n </ListItemIcon>\r\n <ListItemText primary=\"Json\" />\r\n </StyledMenuItem>\r\n </StyledMenu>\r\n </ButtonToolbar>\r\n\r\n <IconButton\r\n \r\n aria-label=\"Close\"\r\n onClick={(e) => {\r\n setPage(0);\r\n setShowTransload(false);\r\n }}\r\n >\r\n <CloseIcon />\r\n </IconButton>\r\n </Modal.Header>\r\n <Modal.Body>\r\n <div className=\"form-group\">\r\n <div className=\"col-lg-12 mt-5\">\r\n <div className=\"react-bootstrap-table table-responsive\">\r\n <Table className={classes.table} size=\"normal\">\r\n <TableHead className=\"mb-4\">\r\n <TableRow>\r\n <TableCell className=\"bg-light\">Container</TableCell>\r\n <TableCell\r\n className=\"bg-light\"\r\n style={\r\n performancetavselected !== \"Planned to Received\"\r\n ? { display: \"none\" }\r\n : { display: \"table-cell\" }\r\n }\r\n >\r\n Planned\r\n </TableCell>\r\n <TableCell\r\n className=\"bg-light\"\r\n style={\r\n performancetavselected === \"Planned to Received\" ||\r\n performancetavselected === \"Received to Ready\"\r\n ? { display: \"table-cell\" }\r\n : { display: \"none\" }\r\n }\r\n >\r\n Received\r\n </TableCell>\r\n <TableCell\r\n style={\r\n performancetavselected !== \"Received to Ready\"\r\n ? { display: \"none\" }\r\n : { display: \"table-cell\" }\r\n }\r\n className=\"bg-light\"\r\n >\r\n Ready to Process\r\n </TableCell>\r\n <TableCell\r\n className=\"bg-light\"\r\n style={\r\n performancetavselected !== \"Ready to Processed\"\r\n ? { display: \"none\" }\r\n : { display: \"table-cell\" }\r\n }\r\n >\r\n Qc Date\r\n </TableCell>\r\n <TableCell\r\n className=\"bg-light\"\r\n style={\r\n performancetavselected === \"Ready to Processed\" ||\r\n performancetavselected === \"Processed to Shipped\"\r\n ? { display: \"table-cell\" }\r\n : { display: \"none\" }\r\n }\r\n >\r\n Processed\r\n </TableCell>\r\n <TableCell\r\n className=\"bg-light\"\r\n style={\r\n performancetavselected !== \"Processed to Shipped\"\r\n ? { display: \"none\" }\r\n : { display: \"table-cell\" }\r\n }\r\n >\r\n Shipped\r\n </TableCell>\r\n <TableCell className=\"bg-light\">TransloadTime</TableCell>\r\n <TableCell className=\"bg-light\">Customer Note</TableCell>\r\n </TableRow>\r\n </TableHead>\r\n <TableBody>\r\n {PerformanceReportDetails.slice(\r\n page * rowsPerPage,\r\n page * rowsPerPage + rowsPerPage\r\n ).map((item, index) => (\r\n <TableRow>\r\n <TableCell\r\n className={`${\r\n item.TransloadTime.includes(\"More Than\")\r\n ? \"bg-danger-o-50\"\r\n : \"\"\r\n }`}\r\n >\r\n {\r\n <ModelManagmentFirstDashboard\r\n container={item.Container}\r\n receiptId={item.Id}\r\n isReporting={true}\r\n />\r\n }\r\n </TableCell>\r\n <TableCell\r\n style={\r\n performancetavselected !== \"Planned to Received\"\r\n ? { display: \"none\" }\r\n : { display: \"table-cell\" }\r\n }\r\n className={`${\r\n item.TransloadTime.includes(\"More Than\")\r\n ? \"bg-danger-o-50\"\r\n : \"\"\r\n }`}\r\n >\r\n {getDateName(item.PlannedDate)}\r\n </TableCell>\r\n <TableCell\r\n style={\r\n performancetavselected === \"Planned to Received\" ||\r\n performancetavselected === \"Received to Ready\"\r\n ? { display: \"table-cell\" }\r\n : { display: \"none\" }\r\n }\r\n className={`${\r\n item.TransloadTime.includes(\"More Than\")\r\n ? \"bg-danger-o-50\"\r\n : \"\"\r\n }`}\r\n >\r\n {getDateName(item.Received)}\r\n </TableCell>\r\n <TableCell\r\n style={\r\n performancetavselected !== \"Received to Ready\"\r\n ? { display: \"none\" }\r\n : { display: \"table-cell\" }\r\n }\r\n className={`${\r\n item.TransloadTime.includes(\"More Than\")\r\n ? \"bg-danger-o-50\"\r\n : \"\"\r\n }`}\r\n >\r\n {getDateName(item.processed)}\r\n </TableCell>\r\n <TableCell\r\n style={\r\n performancetavselected !== \"Ready to Processed\"\r\n ? { display: \"none\" }\r\n : { display: \"table-cell\" }\r\n }\r\n className={`${\r\n item.TransloadTime.includes(\"More Than\")\r\n ? \"bg-danger-o-50\"\r\n : \"\"\r\n }`}\r\n >\r\n {getDateName(item.QCDate)}\r\n </TableCell>\r\n <TableCell\r\n style={\r\n performancetavselected === \"Ready to Processed\" ||\r\n performancetavselected === \"Processed to Shipped\"\r\n ? { display: \"table-cell\" }\r\n : { display: \"none\" }\r\n }\r\n className={`${\r\n item.TransloadTime.includes(\"More Than\")\r\n ? \"bg-danger-o-50\"\r\n : \"\"\r\n }`}\r\n >\r\n {getDateName(item.ProcessedDate)}\r\n </TableCell>\r\n <TableCell\r\n style={\r\n performancetavselected !== \"Processed to Shipped\"\r\n ? { display: \"none\" }\r\n : { display: \"table-cell\" }\r\n }\r\n className={`${\r\n item.TransloadTime.includes(\"More Than\")\r\n ? \"bg-danger-o-50\"\r\n : \"\"\r\n }`}\r\n >\r\n {getDateName(item.ShippedDate)}\r\n </TableCell>\r\n <TableCell\r\n className={`${\r\n item.TransloadTime.includes(\"More Than\")\r\n ? \"bg-danger-o-50\"\r\n : \"\"\r\n }`}\r\n >\r\n {item.TransloadTime}\r\n </TableCell>\r\n\r\n <TableCell\r\n className={`${\r\n item.TransloadTime.includes(\"More Than\")\r\n ? \"bg-danger-o-50\"\r\n : \"\"\r\n }`}\r\n >\r\n {item.CustomerNote !== null &&\r\n item.CustomerNote !== \"\" &&\r\n item.CustomerNote !== undefined ? (\r\n <OverlayTrigger\r\n overlay={\r\n <Tooltip\r\n style={{ pointerEvents: \"none\" }}\r\n id=\"products-delete-tooltip\"\r\n >\r\n <div\r\n dangerouslySetInnerHTML={{\r\n __html: item.CustomerNote,\r\n }}\r\n />\r\n </Tooltip>\r\n }\r\n >\r\n <a className=\"btn btn-icon btn-light btn-hover-warning btn-sm ml-1\">\r\n <span className=\"svg-icon svg-icon-md svg-icon-warning\">\r\n <SVG\r\n src={toAbsoluteUrl(\r\n \"/media/svg/icons/General/Clipboard.svg\"\r\n )}\r\n />\r\n </span>\r\n </a>\r\n </OverlayTrigger>\r\n ) : (\r\n \"\"\r\n )}\r\n </TableCell>\r\n </TableRow>\r\n ))}\r\n </TableBody>\r\n </Table>\r\n {PerformanceReportDetails && (\r\n <TablePagination\r\n rowsPerPageOptions={[5, 10, 25]}\r\n colSpan={3}\r\n count={PerformanceReportDetails?.length}\r\n rowsPerPage={rowsPerPage}\r\n page={page}\r\n SelectProps={{\r\n inputProps: { \"aria-label\": \"Rows per page\" },\r\n native: true,\r\n }}\r\n onChangePage={handleChangePage}\r\n onChangeRowsPerPage={handleChangeRowsPerPage}\r\n ActionsComponent={TablePaginationActions}\r\n />\r\n )}\r\n </div>\r\n </div>\r\n </div>\r\n </Modal.Body>\r\n <Modal.Footer>\r\n <Button\r\n variant=\"secondary\"\r\n onClick={(e) => {\r\n setShowTransload(false);\r\n setPage(0);\r\n }}\r\n >\r\n Close\r\n </Button>\r\n </Modal.Footer>\r\n </Modal>\r\n <Modal show={showInBound} size=\"xl\">\r\n <Modal.Header>\r\n <Modal.Title>Inbound Container Details</Modal.Title>\r\n <ButtonToolbar\r\n style={{ right: \"79px\", position: \"absolute\" }}\r\n className=\"btn-text-primary\"\r\n className={classes.button}\r\n >\r\n <Button\r\n aria-controls=\"customized-menu\"\r\n aria-haspopup=\"true\"\r\n className=\"btn btn-outline-success btn-sm\"\r\n onClick={handleClick}\r\n >\r\n Export as\r\n <Icon className={classes.rightIcon}>save</Icon>\r\n </Button>\r\n <StyledMenu\r\n id=\"customized-menu\"\r\n anchorEl={anchorEl}\r\n keepMounted\r\n open={Boolean(anchorEl)}\r\n onClose={handleClose}\r\n >\r\n <StyledMenuItem\r\n onClick={(event) => {\r\n var data = [];\r\n PerformanceReportData[\r\n performancetavselected\r\n ].DimensionInboundDetails.map((item) => {\r\n var onj = {\r\n Container: item.Container,\r\n Received: item.Received,\r\n Released: item.ReleaseDate,\r\n Devanned: item.DevanDate,\r\n \"Cube (CBM)\": item.Cube,\r\n \"Weight (KGS)\": item.Weight,\r\n };\r\n data.push(onj);\r\n });\r\n Export(data, \"excel\", `Inbound Container Details _`);\r\n }}\r\n >\r\n <ListItemIcon>\r\n <i className=\"far fa-file-excel\"></i>\r\n </ListItemIcon>\r\n <ListItemText primary=\"Excel\" />\r\n </StyledMenuItem>\r\n <StyledMenuItem\r\n onClick={(event) => {\r\n var data = [];\r\n PerformanceReportData[\r\n performancetavselected\r\n ].DimensionInboundDetails.map((item) => {\r\n var onj = {\r\n Container: item.Container,\r\n Received: item.Received,\r\n Released: item.ReleaseDate,\r\n Devanned: item.DevanDate,\r\n \"Cube (CBM)\": item.Cube,\r\n \"Weight (KGS)\": item.Weight,\r\n };\r\n data.push(onj);\r\n });\r\n Export(data, \"csv\", `Inbound Container Details _`);\r\n }}\r\n >\r\n <ListItemIcon>\r\n <i className=\"fas fa-file-csv\"></i>\r\n </ListItemIcon>\r\n <ListItemText primary=\"CSV\" />\r\n </StyledMenuItem>\r\n <StyledMenuItem\r\n onClick={(event) => {\r\n var data = [];\r\n PerformanceReportData[\r\n performancetavselected\r\n ].DimensionInboundDetails.map((item) => {\r\n var onj = {\r\n Container: item.Container,\r\n Received: item.Received,\r\n Released: item.ReleaseDate,\r\n Devanned: item.DevanDate,\r\n \"Cube (CBM)\": item.Cube,\r\n \"Weight (KGS)\": item.Weight,\r\n };\r\n data.push(onj);\r\n });\r\n Export(data, \"json\", `Inbound Container Details _`);\r\n }}\r\n >\r\n <ListItemIcon>\r\n <i className=\"far fa-file-code\"></i>\r\n </ListItemIcon>\r\n <ListItemText primary=\"Json\" />\r\n </StyledMenuItem>\r\n </StyledMenu>\r\n </ButtonToolbar>\r\n\r\n <IconButton\r\n \r\n aria-label=\"Close\"\r\n onClick={(e) => {\r\n setShowInBound(false);\r\n setPageInboundContainerDetails(0);\r\n }}\r\n >\r\n <CloseIcon />\r\n </IconButton>\r\n </Modal.Header>\r\n <Modal.Body>\r\n <div className=\"form-group\">\r\n <div className=\"col-lg-12 mt-5\">\r\n <div className=\"react-bootstrap-table table-responsive\">\r\n <Table className={classes.table} size=\"normal\">\r\n <TableHead className=\"mb-4\">\r\n <TableRow>\r\n <TableCell className=\"bg-light\">Container</TableCell>\r\n <TableCell className=\"bg-light\">Received</TableCell>\r\n <TableCell className=\"bg-light\">Released</TableCell>\r\n <TableCell className=\"bg-light\">Devanned</TableCell>\r\n <TableCell className=\"bg-light\">Cube (CBM)</TableCell>\r\n <TableCell className=\"bg-light\">Weight (KGS)</TableCell>\r\n </TableRow>\r\n </TableHead>\r\n <TableBody>\r\n {PerformanceReportData[\r\n performancetavselected\r\n ]?.DimensionInboundDetails?.slice(\r\n pageInboundContainerDetails *\r\n rowsPerPageInboundContainerDetails,\r\n pageInboundContainerDetails *\r\n rowsPerPageInboundContainerDetails +\r\n rowsPerPageInboundContainerDetails\r\n ).map((item, index) => (\r\n <TableRow>\r\n <TableCell>\r\n <ModelManagmentFirstDashboard\r\n container={item.Container}\r\n receiptId={item.Receipt}\r\n isReporting={true}\r\n />\r\n </TableCell>\r\n <TableCell>{getDateName(item.Received)}</TableCell>\r\n <TableCell>{getDateName(item.ReleaseDate)}</TableCell>\r\n <TableCell>{getDateName(item.DevanDate)}</TableCell>\r\n <TableCell>\r\n {item.Cube != null\r\n ? currencyFormat(item.Cube)\r\n : \"0.00\"}\r\n </TableCell>\r\n <TableCell>\r\n {item.Weight != null\r\n ? currencyFormat(item.Weight)\r\n : \"0.00\"}\r\n </TableCell>\r\n </TableRow>\r\n ))}\r\n </TableBody>\r\n </Table>\r\n {PerformanceReportData[performancetavselected]\r\n ?.DimensionInboundDetails && (\r\n <TablePagination\r\n rowsPerPageOptions={[5, 10, 25]}\r\n colSpan={3}\r\n count={\r\n PerformanceReportData[performancetavselected]\r\n ?.DimensionInboundDetails?.length\r\n }\r\n rowsPerPage={rowsPerPageInboundContainerDetails}\r\n page={pageInboundContainerDetails}\r\n SelectProps={{\r\n inputProps: { \"aria-label\": \"Rows per page\" },\r\n native: true,\r\n }}\r\n onChangePage={handleChangePageInboundContainerDetails}\r\n onChangeRowsPerPage={\r\n handleChangeRowsPerPageInboundContainerDetails\r\n }\r\n ActionsComponent={TablePaginationActions}\r\n />\r\n )}\r\n </div>\r\n </div>\r\n </div>\r\n </Modal.Body>\r\n <Modal.Footer>\r\n <Button\r\n variant=\"secondary\"\r\n onClick={(e) => {\r\n setShowInBound(false);\r\n setPageInboundContainerDetails(0);\r\n }}\r\n >\r\n Close\r\n </Button>\r\n </Modal.Footer>\r\n </Modal>\r\n <Modal show={showOutBound} size=\"xl\">\r\n <Modal.Header>\r\n <Modal.Title>Outbound Trailer Details</Modal.Title>\r\n <ButtonToolbar\r\n style={{ right: \"79px\", position: \"absolute\" }}\r\n className=\"btn-text-primary\"\r\n className={classes.button}\r\n >\r\n <Button\r\n aria-controls=\"customized-menu\"\r\n aria-haspopup=\"true\"\r\n className=\"btn btn-outline-success btn-sm\"\r\n onClick={handleClick}\r\n >\r\n Export as\r\n <Icon className={classes.rightIcon}>save</Icon>\r\n </Button>\r\n <StyledMenu\r\n id=\"customized-menu\"\r\n anchorEl={anchorEl}\r\n keepMounted\r\n open={Boolean(anchorEl)}\r\n onClose={handleClose}\r\n >\r\n <StyledMenuItem\r\n onClick={(event) => {\r\n var data = [];\r\n PerformanceReportData[\r\n performancetavselected\r\n ].DimensionOutboundDetails.map((item) => {\r\n var onj = {\r\n Shipment: item.Shipment,\r\n Trailer: item.Trailer,\r\n Consignee: item?.Consignee,\r\n Released: item.ReleaseDate,\r\n Devanned: item.DevanDate,\r\n Loaded: item.Loaded,\r\n Shipped: item.Shipped,\r\n \"Cube (CBM)\": item.Cube,\r\n \"Weight (KGS)\": item.Weight,\r\n };\r\n data.push(onj);\r\n });\r\n Export(data, \"excel\", `Outbound Trailer Details _`);\r\n }}\r\n >\r\n <ListItemIcon>\r\n <i className=\"far fa-file-excel\"></i>\r\n </ListItemIcon>\r\n <ListItemText primary=\"Excel\" />\r\n </StyledMenuItem>\r\n <StyledMenuItem\r\n onClick={(event) => {\r\n var data = [];\r\n PerformanceReportData[\r\n performancetavselected\r\n ].DimensionOutboundDetails.map((item) => {\r\n var onj = {\r\n Shipment: item.Shipment,\r\n Trailer: item.Trailer,\r\n Consignee: item?.Consignee,\r\n Released: item.ReleaseDate,\r\n Devanned: item.DevanDate,\r\n Loaded: item.Loaded,\r\n Shipped: item.Shipped,\r\n \"Cube (CBM)\": item.Cube,\r\n \"Weight (KGS)\": item.Weight,\r\n };\r\n data.push(onj);\r\n });\r\n Export(data, \"csv\", `Outbound Trailer Details _`);\r\n }}\r\n >\r\n <ListItemIcon>\r\n <i className=\"fas fa-file-csv\"></i>\r\n </ListItemIcon>\r\n <ListItemText primary=\"CSV\" />\r\n </StyledMenuItem>\r\n <StyledMenuItem\r\n onClick={(event) => {\r\n var data = [];\r\n PerformanceReportData[\r\n performancetavselected\r\n ].DimensionOutboundDetails.map((item) => {\r\n var onj = {\r\n Shipment: item.Shipment,\r\n Trailer: item.Trailer,\r\n Consignee: item?.Consignee,\r\n Released: item.ReleaseDate,\r\n Devanned: item.DevanDate,\r\n Loaded: item.Loaded,\r\n Shipped: item.Shipped,\r\n \"Cube (CBM)\": item.Cube,\r\n \"Weight (KGS)\": item.Weight,\r\n };\r\n data.push(onj);\r\n });\r\n Export(data, \"json\", `Outbound Trailer Details _`);\r\n }}\r\n >\r\n <ListItemIcon>\r\n <i className=\"far fa-file-code\"></i>\r\n </ListItemIcon>\r\n <ListItemText primary=\"Json\" />\r\n </StyledMenuItem>\r\n </StyledMenu>\r\n </ButtonToolbar>\r\n <IconButton\r\n \r\n aria-label=\"Close\"\r\n onClick={(e) => {\r\n setShowOutBound(false);\r\n setPageOutboundContainerDetails(0);\r\n }}\r\n >\r\n <CloseIcon />\r\n </IconButton>\r\n </Modal.Header>\r\n <Modal.Body>\r\n <div className=\"form-group\">\r\n <div className=\"col-lg-12 mt-5\">\r\n <div className=\"react-bootstrap-table table-responsive\">\r\n <Table className={classes.table} size=\"normal\">\r\n <TableHead className=\"mb-4\">\r\n <TableRow>\r\n <TableCell className=\"bg-light\">Shipment</TableCell>\r\n <TableCell className=\"bg-light\">Trailer</TableCell>\r\n <TableCell className=\"bg-light\">Consignee</TableCell>\r\n <TableCell className=\"bg-light\">Released</TableCell>\r\n <TableCell className=\"bg-light\">Devanned</TableCell>\r\n <TableCell className=\"bg-light\">Loaded</TableCell>\r\n <TableCell className=\"bg-light\">Delivered</TableCell>\r\n <TableCell className=\"bg-light\">Cube (CBM)</TableCell>\r\n <TableCell className=\"bg-light\">Weight (KGS)</TableCell>\r\n </TableRow>\r\n </TableHead>\r\n <TableBody>\r\n {PerformanceReportData[\r\n performancetavselected\r\n ]?.DimensionOutboundDetails?.slice(\r\n pageOutboundContainerDetails *\r\n rowsPerPageOutboundContainerDetails,\r\n pageOutboundContainerDetails *\r\n rowsPerPageOutboundContainerDetails +\r\n rowsPerPageOutboundContainerDetails\r\n ).map((item, index) => (\r\n <TableRow>\r\n <TableCell>{item.Shipment}</TableCell>\r\n <TableCell>\r\n <ModelManagmentFirstDashboardSm\r\n trailer={item.Trailer}\r\n id={item.Shipment}\r\n isDashboard={true}\r\n />\r\n </TableCell>\r\n <TableCell>{item?.Consignee}</TableCell>\r\n <TableCell>{getDateName(item.ReleaseDate)}</TableCell>\r\n <TableCell>{getDateName(item.DevanDate)}</TableCell>\r\n <TableCell>{getDateName(item.Loaded)}</TableCell>\r\n <TableCell>{getDateName(item.Delivred)}</TableCell>\r\n <TableCell>\r\n {item.Cube != null\r\n ? currencyFormat(item.Cube)\r\n : \"0.00\"}\r\n </TableCell>\r\n <TableCell>\r\n {item.Weight != null\r\n ? currencyFormat(item.Weight)\r\n : \"0.00\"}\r\n </TableCell>\r\n </TableRow>\r\n ))}\r\n </TableBody>\r\n </Table>\r\n {PerformanceReportData[performancetavselected]\r\n ?.DimensionOutboundDetails && (\r\n <TablePagination\r\n rowsPerPageOptions={[5, 10, 25]}\r\n colSpan={3}\r\n count={\r\n PerformanceReportData[performancetavselected]\r\n ?.DimensionOutboundDetails?.length\r\n }\r\n rowsPerPage={rowsPerPageOutboundContainerDetails}\r\n page={pageOutboundContainerDetails}\r\n SelectProps={{\r\n inputProps: { \"aria-label\": \"Rows per page\" },\r\n native: true,\r\n }}\r\n onChangePage={handleChangePageOutboundContainerDetails}\r\n onChangeRowsPerPage={\r\n handleChangeRowsPerPageOutboundContainerDetails\r\n }\r\n ActionsComponent={TablePaginationActions}\r\n />\r\n )}\r\n </div>\r\n </div>\r\n </div>\r\n </Modal.Body>\r\n <Modal.Footer>\r\n <Button\r\n variant=\"secondary\"\r\n onClick={(e) => {\r\n setShowOutBound(false);\r\n setPageOutboundContainerDetails(0);\r\n }}\r\n >\r\n Close\r\n </Button>\r\n </Modal.Footer>\r\n </Modal>\r\n\r\n <div className={`card card-custom ${className}`}>\r\n {TransloadPerformanceReportLoadingSpinner2 && (\r\n <ProgressBar\r\n variant=\"success\"\r\n animated\r\n now={100}\r\n style={{ height: \"3px\", width: \"100%\" }}\r\n />\r\n )}\r\n <div className=\"col-md-12 mt-5\">\r\n <Tabs\r\n value={valuesTabParent}\r\n onChange={handleChangeParent}\r\n variant=\"scrollable\"\r\n indicatorColor=\"primary\"\r\n textColor=\"primary\"\r\n className=\"p-0\"\r\n >\r\n <Tab\r\n key={0}\r\n className=\"p-0\"\r\n label={\r\n <React.Fragment>\r\n <span\r\n className=\"font-weight-boldest\"\r\n style={{\r\n fontSize: 14,\r\n paddingRight: \"3rem\",\r\n textTransform: \"initial\",\r\n }}\r\n >\r\n Performance Report\r\n </span>\r\n </React.Fragment>\r\n }\r\n />\r\n <Tab\r\n key={1}\r\n className=\"p-0\"\r\n label={\r\n <React.Fragment>\r\n <span\r\n className=\"font-weight-boldest\"\r\n style={{\r\n fontSize: 14,\r\n paddingRight: \"3rem\",\r\n textTransform: \"initial\",\r\n }}\r\n >\r\n Performance Report Graph\r\n </span>\r\n </React.Fragment>\r\n }\r\n />\r\n </Tabs>\r\n {valuesTabParent === 0 && (\r\n <div className=\"card-body d-flex flex-column\">\r\n <div className=\"form-group row\">\r\n <div className=\"col-md-10\">\r\n <RangeDatePicker\r\n startDate={startDateValue}\r\n endDate={endDateValue}\r\n onChange={(startDate, endDate) => {\r\n setStartDate(startDate);\r\n setEndDate(endDate);\r\n onChange(startDate, endDate);\r\n }}\r\n dateFormat=\"MM/DD/YYYY\"\r\n minDate={new Date(1900, 0, 1)}\r\n maxDate={new Date(2100, 0, 1)}\r\n startDatePlaceholder=\"Start Date\"\r\n endDatePlaceholder=\"End Date\"\r\n disabled={false}\r\n className=\"my-own-class-name\"\r\n startWeekDay=\"monday\"\r\n />\r\n </div>\r\n <div className=\"col-md-2 mt-4\">\r\n <button\r\n className=\"btn btn-primary font-weight-bolder font-size-sm\"\r\n id=\"SearchPerformanceReport\"\r\n onClick={() => {\r\n setTransloadPerformanceReportLoadingSpinner2(true);\r\n var startDate = moment(startDateValue).format(\r\n \"YYYY-MM-DD\"\r\n );\r\n var endDate = moment(endDateValue).format(\"YYYY-MM-DD\");\r\n var SearchText = document.getElementById(\r\n \"searchGlobalText\"\r\n ).value;\r\n var myHeaders = new Headers();\r\n myHeaders.append(\r\n \"Authorization\",\r\n `bearer ${db.read().getState().Token}`\r\n );\r\n myHeaders.append(\"Content-Type\", \"application/json\");\r\n myHeaders.append(\"X-FP-API-KEY\", \"iphone\");\r\n var requestOptions = {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: myHeaders,\r\n redirect: \"follow\",\r\n };\r\n fetch(\r\n `${\r\n window.$apiurl\r\n }/DashboardLulus/PerformanceReport?customerId=${2271}&keyword=${SearchBy}${SearchText}&startDate=${startDate}&endDate=${endDate}`,\r\n requestOptions\r\n )\r\n .then((response) => response.text())\r\n .then((result) => {\r\n setTransloadPerformanceReportLoadingSpinner2(false);\r\n var obj = JSON.parse(result);\r\n setPerformanceReportData(obj || []);\r\n })\r\n .catch((error) => console.log(\"error\", error));\r\n }}\r\n >\r\n Search\r\n </button>\r\n </div>\r\n </div>\r\n <div className=\"form-group row mb-5 mt-4\">\r\n <div className=\"col-md-12 mt-5\">\r\n <Tabs\r\n value={valuesTab}\r\n onChange={handleChange}\r\n variant=\"scrollable\"\r\n indicatorColor=\"primary\"\r\n textColor=\"primary\"\r\n className=\"p-0\"\r\n >\r\n {PerformanceReportData.map((items, indexs) => {\r\n return (\r\n <Tab\r\n key={indexs}\r\n className=\"p-0\"\r\n label={\r\n <React.Fragment>\r\n <span\r\n className=\"font-weight-boldest\"\r\n style={{\r\n fontSize: 14,\r\n paddingRight: \"3rem\",\r\n textTransform: \"initial\",\r\n }}\r\n >\r\n {items.Bucket}\r\n </span>\r\n </React.Fragment>\r\n }\r\n />\r\n );\r\n })}\r\n </Tabs>\r\n </div>\r\n </div>\r\n {PerformanceReportData.map((items, indexs) => {\r\n return (\r\n <>\r\n {valuesTab === indexs && (\r\n <div className=\"form-group row mb-5\">\r\n <div className=\"col-md-12 pr-0 mb-7 text-right\">\r\n <div className=\"react-bootstrap-table table-responsive\">\r\n <Table className={classes.table} size=\"normal\">\r\n <TableHead>\r\n <TableRow>\r\n <TableCell\r\n className=\"font-weight-bold px-1\"\r\n colSpan=\"3\"\r\n >\r\n <strong>ALL Pos</strong>\r\n </TableCell>\r\n </TableRow>\r\n <TableRow>\r\n <TableCell className=\"\">Category</TableCell>\r\n <TableCell className=\"\">Quantity</TableCell>\r\n <TableCell className=\"\">Percent</TableCell>\r\n </TableRow>\r\n </TableHead>\r\n <TableBody>\r\n {items.Data.map((item, index) => (\r\n <TableRow>\r\n <TableCell>{item.Category}</TableCell>\r\n <TableCell>{item.Quantity}</TableCell>\r\n <TableCell>\r\n {item.Quantity !== undefined\r\n ? currencyFormat(\r\n (item.Quantity /\r\n items.Data.reduce(\r\n (a, b) =>\r\n a + (b[\"Quantity\"] || 0),\r\n 0\r\n )) *\r\n 100\r\n )\r\n : \"0.00\"}\r\n %\r\n </TableCell>\r\n </TableRow>\r\n ))}\r\n <TableRow>\r\n <TableCell className=\"bg-light\">\r\n <strong>Total</strong>\r\n </TableCell>\r\n <TableCell className=\"bg-light\">\r\n <strong>\r\n {items.Data.reduce(\r\n (a, b) => a + (b[\"Quantity\"] || 0),\r\n 0\r\n )}\r\n </strong>\r\n </TableCell>\r\n <TableCell className=\"bg-light\">\r\n <strong>\r\n {items.Data.reduce(\r\n (a, b) => a + (b[\"Quantity\"] || 0),\r\n 0\r\n ) === 0\r\n ? \"0\"\r\n : \"100\"}\r\n %\r\n </strong>\r\n </TableCell>\r\n </TableRow>\r\n </TableBody>\r\n </Table>\r\n </div>\r\n <button\r\n className=\"btn btn-primary font-weight-bolder font-size-sm mt-5\"\r\n onClick={(e) => {\r\n GetPerformanceLulusDetails(items.Bucket);\r\n setShowTransload(true);\r\n setperformancetavselected(items.Bucket);\r\n }}\r\n >\r\n View Details\r\n </button>\r\n </div>\r\n </div>\r\n )}\r\n </>\r\n );\r\n })}\r\n </div>\r\n )}\r\n {valuesTabParent === 1 && (\r\n <div className=\"card-body d-flex flex-column\">\r\n <div className=\"form-group row\"><h4>Today Performance Graph</h4></div>\r\n <Chart2\r\n props={PerformanceReportGraphData || []}\r\n isReporting={false}\r\n />\r\n </div>\r\n )}\r\n </div>\r\n </div>\r\n </>\r\n );\r\n}\r\n","/* eslint-disable no-script-url,jsx-a11y/anchor-is-valid */\r\nimport React, { useMemo, useEffect } from \"react\";\r\nimport objectPath from \"object-path\";\r\nimport ApexCharts from \"apexcharts\";\r\nimport { useHtmlClassService } from \"../../../layout\";\r\nimport low from \"lowdb\";\r\nimport { ProgressBar } from \"react-bootstrap\";\r\nimport LocalStorage from \"lowdb/adapters/LocalStorage\";\r\nconst adapter = new LocalStorage(\"db\");\r\nconst db = low(adapter);\r\n\r\nvar color = [\r\n \"symbol-light-primary\",\r\n \"symbol-light-success\",\r\n \"symbol-light-warning\",\r\n \"symbol-light-info\",\r\n \"symbol-light-Receiv\",\r\n \"symbol-light-gray-600\",\r\n \"symbol-light-Enroute\",\r\n \"symbol-light-danger\",\r\n];\r\nvar colorIcon = [\r\n \"svg-icon-primary\",\r\n \"svg-icon-success\",\r\n \"svg-icon-warning\",\r\n \"svg-icon-info\",\r\n \"svg-icon-Receiv\",\r\n \"svg-icon-light-gray-600\",\r\n \"svg-icon-Enroute\",\r\n \"svg-icon-danger\",\r\n];\r\n\r\nexport function DonutDomestics({\r\n globalShart,\r\n globalShartCount,\r\n className,\r\n ChartLoadingSpinner,\r\n}) {\r\n const uiService = useHtmlClassService();\r\n const layoutProps = useMemo(() => {\r\n return {\r\n colorsGrayGray500: objectPath.get(\r\n uiService.config,\r\n \"js.colors.gray.gray500\"\r\n ),\r\n colorsGrayGray200: objectPath.get(\r\n uiService.config,\r\n \"js.colors.gray.gray200\"\r\n ),\r\n colorsGrayGray300: objectPath.get(\r\n uiService.config,\r\n \"js.colors.gray.gray300\"\r\n ),\r\n colorsThemeBaseSuccess: objectPath.get(\r\n uiService.config,\r\n \"js.colors.theme.base.success\"\r\n ),\r\n colorsThemeLightSuccess: objectPath.get(\r\n uiService.config,\r\n \"js.colors.theme.light.success\"\r\n ),\r\n fontFamily: objectPath.get(uiService.config, \"js.fontFamily\"),\r\n };\r\n }, [uiService]);\r\n\r\n useEffect(() => {\r\n const element = document.getElementById(\"kt_transportation_widget_7_chart\");\r\n\r\n if (!element) {\r\n return;\r\n }\r\n const options = getChartOption(layoutProps, globalShartCount);\r\n const chart = new ApexCharts(element, options);\r\n chart.render();\r\n return function cleanUp() {\r\n chart.destroy();\r\n };\r\n }, [layoutProps, globalShartCount]);\r\n\r\n return (\r\n <div className={`card card-custom ${className}`}>\r\n {ChartLoadingSpinner && (\r\n <ProgressBar\r\n variant=\"success\"\r\n animated\r\n now={100}\r\n style={{ height: \"3px\", width: \"100%\" }}\r\n />\r\n )}\r\n\r\n <div className=\"card-header border-0 mb-0 global\">\r\n <h3 className=\"card-title font-weight-bolder text-dark\">Domestic</h3>\r\n </div>\r\n <div className=\"card-body d-flex flex-column pt-0\">\r\n <div className=\"row\">\r\n <div className=\"col-xl-7 col-lg-8 col-md-8 align-self-center\">\r\n <div\r\n id=\"kt_transportation_widget_7_chart\"\r\n className=\"card-rounded-bottom\"\r\n style={{ height: \"100px\" }}\r\n ></div>\r\n </div>\r\n <div className=\"col-xl-5 col-lg-4 col-md-4 mt-0\">\r\n {globalShart?.map((item, index) => (\r\n <div className=\"d-flex align-items-center mb-10\">\r\n <div className={`symbol symbol-40 ${color[index]} mr-5`}>\r\n <span className=\"symbol-label\">\r\n <span\r\n className={`svg-icon svg-icon-lg ${colorIcon[index]}`}\r\n >\r\n {item.Count}\r\n </span>\r\n </span>\r\n </div>\r\n\r\n <div className=\"d-flex flex-column font-weight-bold\">\r\n <a\r\n href=\"#\"\r\n className=\"text-dark text-hover-primary mb-1 font-size-lg\"\r\n onClick={() => {\r\n window.GlobalTable = item.Status;\r\n setTimeout(() => {\r\n var el = document.getElementById(item.Status);\r\n window.scroll({\r\n top: el?.offsetTop - 120,\r\n behavior: \"smooth\",\r\n });\r\n }, 50);\r\n }}\r\n >\r\n {item.Status}\r\n </a>\r\n </div>\r\n </div>\r\n ))}\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n );\r\n}\r\n\r\nfunction getChartOption(layoutProps, _globalShartCount) {\r\n const options = {\r\n series: _globalShartCount,\r\n colors: [\r\n \"#187DE4\",\r\n \"#1BC5BD\",\r\n \"#FFA800\",\r\n \"#8950FC\",\r\n \"#4CA1AF\",\r\n \"#7e8299\",\r\n \"#EECDA3\",\r\n \"#F64E60\",\r\n ],\r\n chart: {\r\n type: \"donut\",\r\n },\r\n dataLabels: {\r\n formatter: function(val, opts) {\r\n return opts.w.config.series[opts.seriesIndex];\r\n },\r\n },\r\n responsive: [\r\n {\r\n breakpoint: 480,\r\n options: {\r\n chart: {\r\n width: 200,\r\n },\r\n legend: {\r\n position: \"bottom\",\r\n },\r\n },\r\n },\r\n ],\r\n legend: {\r\n show: false,\r\n },\r\n labels: [\"Open\", \"Appointed\", \"En Route\", \"Delivered\"],\r\n };\r\n return options;\r\n}\r\n","import { LinearProgress } from \"@material-ui/core\";\r\nimport low from \"lowdb\";\r\nimport LocalStorage from \"lowdb/adapters/LocalStorage\";\r\nimport moment from \"moment\";\r\nimport React, { useEffect, useState } from \"react\";\r\nimport { Fragment } from \"react\";\r\nimport { Col, Row, Spinner } from \"react-bootstrap\";\r\nimport { RangeDatePicker } from \"react-google-flight-datepicker\";\r\nimport \"react-google-flight-datepicker/dist/main.css\";\r\nimport SVG from \"react-inlinesvg\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport { toAbsoluteUrl } from \"../../../_helpers\";\r\nimport { Card, CardBody, CardHeader, CardHeaderToolbar } from \"../../controls\";\r\nimport SelectPagination from \"../Select/SelectPagination\";\r\nconst adapter = new LocalStorage(\"db\");\r\nconst db = low(adapter);\r\n\r\nexport function FilterAccount({\r\n initFilter,\r\n setInitFilter,\r\n getMetricsInfo,\r\n getLanesInfo,\r\n getReceivablesInfo,\r\n getMetricsData,\r\n setNameSelected,\r\n}) {\r\n const history = useHistory();\r\n const [isOpened, setIsOpened] = useState(false);\r\n\r\n const DateFilter = [\r\n { value: \"Custom\", label: \"Custom\" },\r\n { value: \"MTD\", label: \"MTD\" },\r\n { value: \"YTD\", label: \"YTD\" },\r\n ];\r\n\r\n const [loadingCustomer, setloadingCustomer] = useState(false);\r\n const [loaderFilter, setLoaderFilter] = useState(false);\r\n const [viewModel, setViewModel] = useState([]);\r\n\r\n function GetCustomerList() {\r\n setloadingCustomer(true);\r\n var myHeaders = new Headers();\r\n myHeaders.append(\"Authorization\", `bearer ${db.read().getState().Token}`);\r\n myHeaders.append(\"Content-Type\", \"application/json\");\r\n myHeaders.append(\"X-FP-API-KEY\", \"iphone\");\r\n var requestOptions = {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: myHeaders,\r\n redirect: \"follow\",\r\n };\r\n fetch(\r\n `${window.$apiurl}/dashboard/performance/getViewModel`,\r\n requestOptions\r\n )\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n if (statusCode === 401) {\r\n history.push(\"/error/401\");\r\n }\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then(async (result) => {\r\n var objs = result[1];\r\n setViewModel(objs || []);\r\n setloadingCustomer(false);\r\n })\r\n .catch((error) => {\r\n console.log(\"error\", error);\r\n setloadingCustomer(false);\r\n });\r\n }\r\n useEffect(() => {\r\n GetCustomerList();\r\n }, []);\r\n\r\n return (\r\n <Card>\r\n <CardHeader title=\"Account Management Dashboard\">\r\n <CardHeaderToolbar>\r\n {!isOpened ? (\r\n <a\r\n href={() => false}\r\n className=\"btn btn-light-primary btn-hover-primary mr-2\"\r\n onClick={() => setIsOpened(true)}\r\n >\r\n <span className=\"svg-icon svg-icon-md svg-icon-primary\">\r\n <SVG src={toAbsoluteUrl(\"/media/svg/icons/Text/Filter.svg\")} />\r\n </span>\r\n Filter\r\n </a>\r\n ) : (\r\n <>\r\n <a\r\n href={() => false}\r\n className=\"btn btn-light btn-hover-primary mr-2\"\r\n onClick={() => {\r\n getMetricsInfo({\r\n Department: \"\",\r\n AccountManager: \"\",\r\n Account: initFilter.Account,\r\n Mode: \"\",\r\n MTD: \"\",\r\n StartDate: null,\r\n EndDate: null,\r\n });\r\n getLanesInfo({\r\n Department: \"\",\r\n AccountManager: \"\",\r\n Account: initFilter.Account,\r\n Mode: \"\",\r\n MTD: \"\",\r\n StartDate: null,\r\n EndDate: null,\r\n });\r\n getReceivablesInfo({\r\n Department: \"\",\r\n AccountManager: \"\",\r\n Account: initFilter.Account,\r\n Mode: \"\",\r\n MTD: \"\",\r\n StartDate: null,\r\n EndDate: null,\r\n });\r\n getMetricsData({\r\n type: \"revenue\",\r\n Department: \"\",\r\n AccountManager: \"\",\r\n Account: initFilter.Account,\r\n Mode: \"\",\r\n MTD: \"\",\r\n StartDate: null,\r\n EndDate: null,\r\n });\r\n setNameSelected(\"Gross Revenue\");\r\n setIsOpened(false);\r\n }}\r\n >\r\n Reset\r\n </a>\r\n <button\r\n disabled={loaderFilter}\r\n className=\"btn btn-light-primary btn-hover-primary mr-2\"\r\n onClick={async (e) => {\r\n getMetricsInfo(initFilter);\r\n getMetricsData(initFilter);\r\n getLanesInfo(initFilter);\r\n getReceivablesInfo(initFilter);\r\n try {\r\n document\r\n .getElementById(\"cardMetrics\")\r\n .scrollIntoView({ behavior: \"smooth\", block: \"center\" });\r\n } catch (err) {\r\n console.log(err);\r\n }\r\n e.preventDefault();\r\n }}\r\n >\r\n {loaderFilter ? (\r\n <Fragment>\r\n Loading\r\n <Spinner\r\n as=\"span\"\r\n animation=\"border\"\r\n size=\"sm\"\r\n role=\"status\"\r\n aria-hidden=\"true\"\r\n className=\"ml-2\"\r\n />\r\n </Fragment>\r\n ) : (\r\n \"Apply filter\"\r\n )}\r\n </button>\r\n </>\r\n )}\r\n <a\r\n href={() => false}\r\n className=\"btn btn-light-primary btn-hover-primary\"\r\n >\r\n <span className=\"svg-icon svg-icon-md svg-icon-primary\">\r\n <SVG src={toAbsoluteUrl(\"/media/svg/icons/Files/Export.svg\")} />\r\n </span>\r\n Export\r\n </a>\r\n </CardHeaderToolbar>\r\n </CardHeader>\r\n {isOpened && (\r\n <CardBody>\r\n <Row>\r\n <Col xl=\"3\" lg=\"4\" md=\"4\">\r\n <div class=\"form-group\">\r\n <SelectPagination\r\n isClearable\r\n name=\"Department\"\r\n id=\"DepartmentId\"\r\n label=\"Department\"\r\n inputId=\"react-select-single\"\r\n placeholder=\"Select...\"\r\n TextFieldProps={{\r\n InputLabelProps: {\r\n htmlFor: \"react-select-single\",\r\n shrink: true,\r\n },\r\n }}\r\n onChange={(e) => {\r\n let obj = { ...initFilter };\r\n obj.Department = e.value;\r\n setInitFilter(obj);\r\n }}\r\n options={viewModel?.Warehouses?.map((a) => {\r\n return { label: a.Code + \" - \" + a.Name, value: a.Id };\r\n })}\r\n />\r\n {loadingCustomer && <LinearProgress />}\r\n </div>\r\n </Col>\r\n <Col xl=\"3\" lg=\"4\" md=\"4\">\r\n <div class=\"form-group\">\r\n <SelectPagination\r\n isClearable\r\n name=\"Account Manager\"\r\n id=\"AccountManagerID\"\r\n label=\"Account Manager\"\r\n inputId=\"react-select-single\"\r\n placeholder=\"Select...\"\r\n TextFieldProps={{\r\n InputLabelProps: {\r\n htmlFor: \"react-select-single\",\r\n shrink: true,\r\n },\r\n }}\r\n onChange={(e) => {\r\n let obj = { ...initFilter };\r\n obj.AccountManager = e.value;\r\n setInitFilter(obj);\r\n }}\r\n options={viewModel?.Users?.map((a) => {\r\n return { label: a.Name, value: a.Id };\r\n })}\r\n />\r\n {loadingCustomer && <LinearProgress />}\r\n </div>\r\n </Col>\r\n <Col xl=\"3\" lg=\"4\" md=\"4\">\r\n <div class=\"form-group\">\r\n <SelectPagination\r\n name=\"Account\"\r\n id=\"AccountID\"\r\n label=\"Account\"\r\n isDisabled={db?.read()?.getState()?.User?.IsCustomer}\r\n inputId=\"react-select-single\"\r\n placeholder=\"Select...\"\r\n TextFieldProps={{\r\n InputLabelProps: {\r\n htmlFor: \"react-select-single\",\r\n shrink: true,\r\n },\r\n }}\r\n onChange={(e) => {\r\n let obj = { ...initFilter };\r\n obj.Account = e.value;\r\n setInitFilter(obj);\r\n }}\r\n value={viewModel?.Customers?.filter(\r\n (a) => a.Id === initFilter.Account\r\n )?.map((a) => {\r\n return { label: a.Code + \" - \" + a.Name, value: a.Id };\r\n })}\r\n options={viewModel?.Customers?.map((a) => {\r\n return { label: a.Code + \" - \" + a.Name, value: a.Id };\r\n })}\r\n />\r\n {loadingCustomer && <LinearProgress />}\r\n </div>\r\n </Col>\r\n <Col xl=\"3\" lg=\"4\" md=\"4\">\r\n <div class=\"form-group\">\r\n <SelectPagination\r\n isClearable\r\n name=\"Mode\"\r\n id=\"ModeID\"\r\n label=\"Mode\"\r\n inputId=\"react-select-single\"\r\n placeholder=\"Select...\"\r\n TextFieldProps={{\r\n InputLabelProps: {\r\n htmlFor: \"react-select-single\",\r\n shrink: true,\r\n },\r\n }}\r\n onChange={(e) => {\r\n let obj = { ...initFilter };\r\n obj.Mode = e.value;\r\n setInitFilter(obj);\r\n }}\r\n value={viewModel?.Modes?.filter(\r\n (a) => a.Id === initFilter.Mode\r\n )?.map((a) => {\r\n return { label: a.Name, value: a.Id };\r\n })}\r\n options={viewModel?.Modes?.map((a) => {\r\n return { label: a.Name, value: a.Id };\r\n })}\r\n />\r\n {loadingCustomer && <LinearProgress />}\r\n </div>\r\n </Col>\r\n <Col xl=\"3\" lg=\"4\" md=\"4\">\r\n <div class=\"form-group\">\r\n <label>MTD,YTD</label>\r\n <SelectPagination\r\n name=\"DateFilter\"\r\n id=\"DateFilterId\"\r\n inputId=\"react-select-single\"\r\n placeholder=\"Select...\"\r\n TextFieldProps={{\r\n InputLabelProps: {\r\n htmlFor: \"react-select-single\",\r\n shrink: true,\r\n },\r\n }}\r\n value={DateFilter.filter((a) => a.value === initFilter?.MTD)}\r\n options={DateFilter}\r\n onChange={(e) => {\r\n var startOfmonth = moment()\r\n .startOf(\"month\")\r\n .format(\"YYYY-MM-DD\");\r\n var startOfyear = moment()\r\n .startOf(\"year\")\r\n .format(\"YYYY-MM-DD\");\r\n var currentDate = moment().format(\"YYYY-MM-DD\");\r\n let obj = { ...initFilter };\r\n obj.MTD = e.value;\r\n if (e.value === \"MTD\") {\r\n obj.StartDate = startOfmonth;\r\n obj.EndDate = currentDate;\r\n } else if (e.value === \"YTD\") {\r\n obj.StartDate = startOfyear;\r\n obj.EndDate = currentDate;\r\n } else {\r\n obj.StartDate = null;\r\n obj.EndDate = null;\r\n }\r\n setInitFilter(obj);\r\n }}\r\n />\r\n </div>\r\n </Col>\r\n <Col xl=\"4\" lg=\"4\" md=\"6\">\r\n <label>Date filter</label>\r\n <RangeDatePicker\r\n disabled={initFilter.MTD !== \"Custom\"}\r\n startDate={\r\n initFilter.StartDate !== null &&\r\n moment(initFilter.StartDate).format(\"YYYY-MM-DD\")\r\n }\r\n endDate={\r\n initFilter.EndDate !== null &&\r\n moment(initFilter.EndDate).format(\"YYYY-MM-DD\")\r\n }\r\n onChange={(startDate, endDate) => {\r\n var obj = { ...initFilter };\r\n obj.StartDate =\r\n startDate === null\r\n ? null\r\n : moment(startDate).format(\"YYYY-MM-DD\");\r\n obj.EndDate =\r\n endDate === null\r\n ? null\r\n : moment(endDate).format(\"YYYY-MM-DD\");\r\n setInitFilter(obj);\r\n }}\r\n dateFormat=\"MM/DD/YYYY\"\r\n startDatePlaceholder=\"Start Date\"\r\n endDatePlaceholder=\"End Date\"\r\n className=\"my-own-class-name\"\r\n startWeekDay=\"monday\"\r\n />\r\n </Col>\r\n </Row>\r\n </CardBody>\r\n )}\r\n </Card>\r\n );\r\n}\r\n","/* eslint-disable no-script-url,jsx-a11y/anchor-is-valid */\r\nimport React, { useEffect, useState } from \"react\";\r\nimport ApexCharts from \"apexcharts\";\r\nexport function RevenueAccount(props) {\r\n\r\n\r\n useEffect(() => {\r\n const element = document.getElementById(\"revenue_account_chart\");\r\n\r\n if (!!element === false) {\r\n return;\r\n }\r\n const options = getChartOption(props?.data, props?.NameSelected);\r\n const chart = new ApexCharts(element, options);\r\n chart.render();\r\n return function cleanUp() {\r\n chart.destroy();\r\n };\r\n }, [props.loadingMetrics]);\r\n\r\n function fetchFilterItemChar(Name) {\r\n try {\r\n let initFilterEdit = { ...props?.initFilter };\r\n props.setNameSelected(Name);\r\n switch (Name) {\r\n case \"Gross Revenue\": {\r\n initFilterEdit.type = \"revenue\";\r\n props.getApi(initFilterEdit);\r\n break;\r\n }\r\n case \"Gross Margin\": {\r\n initFilterEdit.type = \"marginamount\";\r\n props.getApi(initFilterEdit);\r\n break;\r\n }\r\n case \"Margin\": {\r\n initFilterEdit.type = \"marginpercentage\";\r\n props.getApi(initFilterEdit);\r\n break;\r\n }\r\n case \"Volume\": {\r\n initFilterEdit.type = \"volume\";\r\n props.getApi(initFilterEdit);\r\n break;\r\n }\r\n case \"FSC\": {\r\n initFilterEdit.type = \"fsc\";\r\n props.getApi(initFilterEdit);\r\n break;\r\n }\r\n case \"Accessorial Charges\": {\r\n initFilterEdit.type = \"AssessorialCharges\";\r\n props.getApi(initFilterEdit);\r\n break;\r\n }\r\n default: {\r\n return \"\";\r\n }\r\n }\r\n props.setInitFilter(initFilterEdit);\r\n } catch (err) {\r\n console.log(\"err\", err);\r\n }\r\n }\r\n return (\r\n <div className={`card card-custom ${props?.className}`} id=\"cardMetrics\">\r\n <div className=\"card-header border-0 mb-10\">\r\n <h3 className=\"card-title font-weight-bolder text-dark\">\r\n Metrics: {props?.NameSelected}\r\n </h3>\r\n </div>\r\n <div className=\"card-body d-flex flex-column\">\r\n <div className=\"row\">\r\n <div className=\"col-xl-2 col-lg-4 col-md-4\">\r\n <div className=\"d-flex align-items-center mb-7\">\r\n <span class=\"label label-xl label-dot label-primary mr-2\"></span>\r\n\r\n <div className=\"d-flex flex-column font-weight-bold\">\r\n <a\r\n href={() => false}\r\n className={`${\r\n props?.NameSelected === \"Gross Revenue\" ? \"activeFilter\" : \"\"\r\n } text-dark text-hover-primary mb-1 font-size-lg`}\r\n onClick={() => {\r\n fetchFilterItemChar(\"Gross Revenue\");\r\n }}\r\n >\r\n Gross Revenue\r\n </a>\r\n </div>\r\n </div>\r\n\r\n <div className=\"d-flex align-items-center mb-7\">\r\n <span class=\"label label-xl label-dot label-success mr-2\"></span>\r\n <div className=\"d-flex flex-column font-weight-bold\">\r\n <a\r\n href={() => false}\r\n className={`${\r\n props?.NameSelected === \"Gross Margin\" ? \"activeFilter\" : \"\"\r\n } text-dark text-hover-primary mb-1 font-size-lg`}\r\n onClick={() => {\r\n fetchFilterItemChar(\"Gross Margin\");\r\n }}\r\n >\r\n Gross Margin\r\n </a>\r\n </div>\r\n </div>\r\n <div className=\"d-flex align-items-center mb-7\">\r\n <span class=\"label label-xl label-dot label-warning mr-2\"></span>\r\n\r\n <div className=\"d-flex flex-column font-weight-bold\">\r\n <a\r\n href={() => false}\r\n className={`${\r\n props?.NameSelected === \"Margin\" ? \"activeFilter\" : \"\"\r\n } text-dark text-hover-primary mb-1 font-size-lg`}\r\n onClick={() => {\r\n fetchFilterItemChar(\"Margin\");\r\n //setFirst(_first);\r\n }}\r\n >\r\n Margin %\r\n </a>\r\n </div>\r\n </div>\r\n\r\n <div className=\"d-flex align-items-center mb-7\">\r\n <span class=\"label label-xl label-dot label-info mr-2\"></span>\r\n\r\n <div className=\"d-flex flex-column font-weight-bold\">\r\n <a\r\n href={() => false}\r\n className={`${\r\n props?.NameSelected === \"Volume\" ? \"activeFilter\" : \"\"\r\n } text-dark text-hover-primary mb-1 font-size-lg`}\r\n onClick={() => {\r\n fetchFilterItemChar(\"Volume\");\r\n }}\r\n >\r\n Volume\r\n </a>\r\n </div>\r\n </div>\r\n <div className=\"d-flex align-items-center mb-7\">\r\n <span class=\"label label-xl label-dot label-danger mr-2\"></span>\r\n\r\n <div className=\"d-flex flex-column font-weight-bold\">\r\n <a\r\n href={() => false}\r\n className={`${\r\n props?.NameSelected === \"FSC\" ? \"activeFilter\" : \"\"\r\n } text-dark text-hover-primary mb-1 font-size-lg`}\r\n onClick={() => {\r\n fetchFilterItemChar(\"FSC\");\r\n }}\r\n >\r\n FSC\r\n </a>\r\n </div>\r\n </div>\r\n <div className=\"d-flex align-items-center mb-7\">\r\n <span class=\"label label-xl label-dot label-dark mr-2\"></span>\r\n <div className=\"d-flex flex-column font-weight-bold\">\r\n <a\r\n href={() => false}\r\n className={`${\r\n props?.NameSelected === \"Accessorial Charges\" ? \"activeFilter\" : \"\"\r\n } text-dark text-hover-primary mb-1 font-size-lg`}\r\n onClick={() => {\r\n fetchFilterItemChar(\"Accessorial Charges\");\r\n }}\r\n >\r\n Accessorial Charges\r\n </a>\r\n </div>\r\n </div>\r\n </div>\r\n <div className=\"col-xl-10 col-lg-8 col-md-8\">\r\n {props.loadingMetrics ? (\r\n <h4 className=\"text-center\">Loading...</h4>\r\n ) : (\r\n <div\r\n id=\"revenue_account_chart\"\r\n className=\"card-rounded-bottom\"\r\n style={{ height: \"100px\" }}\r\n ></div>\r\n )}\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n );\r\n}\r\n\r\nfunction getChartOption(list, _NameSelected) {\r\n var data = [\r\n {\r\n name: \"Gross Revenue\",\r\n data: list?.Data?.map((a) => a.Revenue),\r\n color: \"#187DE4\",\r\n },\r\n {\r\n name: \"Gross Margin\",\r\n data: list?.Data?.map((a) => a.MarginPercentage),\r\n color: \"#1BC5BD\",\r\n },\r\n {\r\n name: \"Margin\",\r\n data: list?.Data?.map((a) => a.Margin),\r\n color: \"#FFA800\",\r\n },\r\n {\r\n name: \"Volume\",\r\n data: list?.Data?.map((a) => a.Volume),\r\n color: \"#8950FC\",\r\n },\r\n {\r\n name: \"FSC\",\r\n data: list?.Data?.map((a) => a.Fsc),\r\n color: \"#F64E60\",\r\n },\r\n {\r\n name: \"Accessorial Charges\",\r\n data: list?.Data?.map((a) => a.AssessorialCharges),\r\n color: \"#7e8299\",\r\n },\r\n ];\r\n const options = {\r\n series: data.filter((a) => a.name === _NameSelected) || [],\r\n chart: {\r\n type: \"area\",\r\n stacked: false,\r\n height: 350,\r\n },\r\n colors: data.filter((a) => a.color === _NameSelected) || [],\r\n fill: {\r\n type: \"gradient\",\r\n gradient: {\r\n shadeIntensity: 1,\r\n inverseColors: false,\r\n opacityFrom: 0.5,\r\n opacityTo: 0,\r\n stops: [0, 90, 100],\r\n },\r\n },\r\n xaxis: {\r\n categories: list?.Data?.map((s) => {\r\n return `${s?.Month}-${s?.Year}`;\r\n }),\r\n title: {\r\n text: \"MM-YYYY\",\r\n },\r\n },\r\n yaxis: {\r\n labels: {\r\n formatter: function(val) {\r\n return val?.toFixed(2);\r\n },\r\n },\r\n },\r\n legend: {\r\n show: false,\r\n },\r\n tooltip: {\r\n shared: false,\r\n y: {\r\n formatter: function(val) {\r\n return val?.toFixed(2);\r\n },\r\n },\r\n },\r\n responsive: [\r\n {\r\n breakpoint: 480,\r\n options: {\r\n chart: {\r\n width: 200,\r\n },\r\n },\r\n },\r\n ],\r\n };\r\n return options;\r\n}\r\n","import React, { useEffect, useState } from \"react\";\r\nimport { Col, Form, Row, Table } from \"react-bootstrap\";\r\nimport BootstrapTable from \"react-bootstrap-table-next\";\r\nimport paginationFactory from \"react-bootstrap-table2-paginator\";\r\nimport { Card, CardBody, CardHeader } from \"../../controls\";\r\n\r\nexport function HistoricalLanes({ LansList, loadingLanes }) {\r\n const [LansListFilter, setLansListFilter] = useState(LansList || []);\r\n useEffect(() => {\r\n setLansListFilter(LansList);\r\n }, [LansList]);\r\n\r\n const columns = [\r\n {\r\n dataField: \"from\",\r\n text: \"From\",\r\n sort: true,\r\n formatter: (cell, row) => {\r\n return row?.ShipperCity + \" / \" + row?.ShipperState;\r\n },\r\n },\r\n {\r\n dataField: \"to\",\r\n text: \"To\",\r\n sort: true,\r\n formatter: (cell, row) => {\r\n return row?.ConsigneeCity + \" / \" + row?.ConsigneeState;\r\n },\r\n },\r\n {\r\n dataField: \"Count\",\r\n text: \"SHIPMENTS\",\r\n },\r\n ];\r\n return (\r\n <>\r\n <Card className=\"card-stretch\">\r\n <CardHeader title=\"Historical Lanes\"></CardHeader>\r\n <CardBody>\r\n <div className=\"mb-10\">\r\n <Form>\r\n <Row>\r\n <Col>\r\n <Form.Label>Historical Lanes</Form.Label>\r\n <Form.Control\r\n placeholder=\"Historical Lanes\"\r\n type=\"search\"\r\n onChange={(e) => {\r\n var datainput = e.target.value;\r\n setLansListFilter(\r\n [...LansList].filter(\r\n (a) =>\r\n String(a.ShipperCity + \" / \" + a.ShipperState)\r\n .toLocaleLowerCase()\r\n .trim()\r\n .includes(\r\n String(datainput)\r\n .toLocaleLowerCase()\r\n .trim()\r\n ) ||\r\n String(a.ConsigneeCity + \" / \" + a.ConsigneeState)\r\n .toLocaleLowerCase()\r\n .trim()\r\n .includes(\r\n String(datainput)\r\n .toLocaleLowerCase()\r\n .trim()\r\n )\r\n )\r\n );\r\n }}\r\n />\r\n </Col>\r\n </Row>\r\n </Form>\r\n </div>\r\n <BootstrapTable\r\n bootstrap4\r\n keyField=\"id\"\r\n data={LansListFilter || []}\r\n columns={columns}\r\n pagination={paginationFactory({\r\n showTotal: true,\r\n sizePerPageList: [\r\n { text: \"5\", value: 5 },\r\n { text: \"10\", value: 10 },\r\n { text: \"25\", value: 25 },\r\n {\r\n text: \"All\",\r\n value: LansList?.length,\r\n },\r\n ],\r\n })}\r\n noDataIndication={\r\n loadingLanes ? (\r\n <h4 className=\"text-muted my-5\" style={{ textAlign: \"center\" }}>\r\n Loading ...\r\n </h4>\r\n ) : (\r\n <h4 className=\"text-muted my-5\" style={{ textAlign: \"center\" }}>\r\n There is no data available at the moment.\r\n </h4>\r\n )\r\n }\r\n />\r\n </CardBody>\r\n </Card>\r\n </>\r\n );\r\n}\r\n","import React, { useMemo, useEffect, useState } from \"react\";\r\nimport objectPath from \"object-path\";\r\nimport ApexCharts from \"apexcharts\";\r\nimport { useHtmlClassService } from \"../../../layout\";\r\nimport { Row, Table } from \"react-bootstrap\";\r\nimport moment from \"moment\";\r\nimport { currencyFormat } from \"../../../_helpers/ATHelpers\";\r\n\r\nexport function PerformanceAccount({ className, MetricsList, loadingOnTime }) {\r\n console.log(\"MetricsList\", MetricsList);\r\n\r\n useEffect(() => {\r\n const element = document.getElementById(\"kt_performance_widget_7_chart\");\r\n\r\n if (!element) {\r\n return;\r\n }\r\n\r\n const options = getChartOption(MetricsList);\r\n const chart = new ApexCharts(element, options);\r\n chart.render();\r\n return function cleanUp() {\r\n chart.destroy();\r\n };\r\n }, [loadingOnTime]);\r\n\r\n return (\r\n <div className={`card card-custom ${className}`}>\r\n <div className=\"card-header border-0\">\r\n <h3 className=\"card-title font-weight-bolder text-dark\">\r\n On-Time Performance\r\n </h3>\r\n </div>\r\n <div className=\"card-body d-flex flex-column\">\r\n {loadingOnTime ? (\r\n <h4 className=\"text-center\">Loading ...</h4>\r\n ) : (\r\n <div className=\"row\">\r\n <div className=\"col-lg-12\">\r\n <div\r\n id=\"kt_performance_widget_7_chart\"\r\n className=\"card-rounded-bottom\"\r\n style={{ height: \"150px\" }}\r\n ></div>\r\n </div>\r\n <div className=\"col-lg-12 text-center\">\r\n <Table\r\n responsive\r\n className=\"table-head-custom table-head-bg table-borderless table-vertical-center\"\r\n >\r\n <tbody>\r\n <tr>\r\n <td className=\"border-0\">\r\n <span class=\"label label-xl label-dot label-primary mr-2\"></span>\r\n <a\r\n href={() => false}\r\n className=\"text-dark-75 font-weight-bolder text-hover-primary mb-1 font-size-lg\"\r\n >\r\n Picked Up\r\n </a>\r\n <div>\r\n <a\r\n className=\"text-muted font-weight-bold text-hover-primary font-size-lg\"\r\n href={() => false}\r\n >\r\n {MetricsList.reduce(\r\n (a, b) => +a + +b.PickupSuccessCount,\r\n 0\r\n )}{\" \"}\r\n Load\r\n </a>\r\n </div>\r\n </td>\r\n <td className=\"border-0\">\r\n <span class=\"label label-xl label-dot label-success mr-2\"></span>\r\n <a\r\n href={() => false}\r\n className=\"text-dark-75 font-weight-bolder text-hover-primary mb-1 font-size-lg\"\r\n >\r\n Delivered\r\n </a>\r\n <div>\r\n <a\r\n className=\"text-muted font-weight-bold text-hover-primary font-size-lg\"\r\n href={() => false}\r\n >\r\n {MetricsList.reduce(\r\n (a, b) => +a + +b.DeliverySuccessCount,\r\n 0\r\n )}{\" \"}\r\n Load\r\n </a>\r\n </div>\r\n </td>\r\n <td className=\"border-0\">\r\n <span class=\"label label-xl label-dot label-warning mr-2\"></span>\r\n <a\r\n href={() => false}\r\n className=\"text-dark-75 font-weight-bolder text-hover-primary mb-1 font-size-lg\"\r\n >\r\n On-Time\r\n </a>\r\n <div>\r\n <a\r\n className=\"text-muted font-weight-bold text-hover-primary font-size-lg\"\r\n href={() => false}\r\n >\r\n {currencyFormat(\r\n MetricsList.reduce(\r\n (a, b) => +a + +b.OnTimeSuccessCount,\r\n 0\r\n ) / MetricsList?.length\r\n )}\r\n %\r\n </a>\r\n </div>\r\n </td>\r\n </tr>\r\n </tbody>\r\n </Table>\r\n </div>\r\n </div>\r\n )}\r\n </div>\r\n </div>\r\n );\r\n}\r\n\r\nfunction getChartOption(layoutProps) {\r\n const options = {\r\n series: [\r\n {\r\n name: \"Picked Up\",\r\n data: layoutProps?.map((a) => {\r\n return {\r\n x: String(moment(a.Month).format(\"MM-YYYY\")),\r\n y: a.PickupChartPurcentage,\r\n goals: [\r\n {\r\n name: \"Expected\",\r\n value: a.PickupPurcentage,\r\n Failed: a.PickupFaillureCount,\r\n success: a.PickupSuccessCount,\r\n margin: a.PickupChartPurcentage,\r\n strokeColor: \"#775DD0\",\r\n },\r\n ],\r\n };\r\n }),\r\n },\r\n {\r\n name: \"Delivered\",\r\n data: layoutProps?.map((a) => {\r\n return {\r\n x: String(moment(a.Month).format(\"MM-YYYY\")),\r\n y: a.DeliveryChartPurcentage,\r\n goals: [\r\n {\r\n name: \"Expected\",\r\n value: a.DeliveryPurcentage,\r\n Failed: a.DeliveryFaillureCount,\r\n success: a.DeliverySuccessCount,\r\n margin: a.DeliveryChartPurcentage,\r\n strokeColor: \"#1BC5BD\",\r\n },\r\n ],\r\n };\r\n }),\r\n },\r\n {\r\n name: \"On-Time\",\r\n data: layoutProps?.map((a) => {\r\n return {\r\n x: String(moment(a.Month).format(\"MM-YYYY\")),\r\n y: a.OnTimeChartPurcentage,\r\n goals: [\r\n {\r\n name: \"Expected\",\r\n value: a.OnTimePurcentage,\r\n Failed: a.OnTimeFaillureCount,\r\n success: a.OnTimeSuccessCount,\r\n margin: a.OnTimeChartPurcentage,\r\n strokeColor: \"#ffa800\",\r\n },\r\n ],\r\n };\r\n }),\r\n },\r\n ],\r\n chart: {\r\n type: \"bar\",\r\n height: 350,\r\n stacked: true,\r\n stackType: \"normal\",\r\n },\r\n tooltip: {\r\n custom: function({ series, seriesIndex, dataPointIndex, w }) {\r\n var data = w.globals.initialSeries[seriesIndex].data[dataPointIndex];\r\n console.log(\"data\", data);\r\n return (\r\n '<div class=\"apexcharts-tooltip-title\" style=\"font-family: Helvetica, Arial, sans-serif; font-size: 12px;\">Date: ' +\r\n data.x +\r\n \"</div>\" +\r\n '<div class=\"apexcharts-tooltip-series-group apexcharts-active\" style=\"order: 1; display: flex;\">' +\r\n '<span class=\"apexcharts-tooltip-marker\" style=\"background-color: #1BC5BD\"></span>' +\r\n '<div class=\"apexcharts-tooltip-text\" style=\"font-family: Helvetica, Arial, sans-serif; font-size: 12px;\">' +\r\n '<div class=\"apexcharts-tooltip-y-group\">' +\r\n '<span class=\"apexcharts-tooltip-text-y-label\">Success:</span>' +\r\n '<span class=\"apexcharts-tooltip-text-y-value\">' +\r\n data?.goals[0]?.success +\r\n \"</span>\" +\r\n '<div class=\"apexcharts-tooltip-goals-group\">' +\r\n '<span class=\"apexcharts-tooltip-text-goals-label\"></span>' +\r\n '<span class=\"apexcharts-tooltip-text-goals-value\"></span>' +\r\n \"</div>\" +\r\n '<div class=\"apexcharts-tooltip-z-group\">' +\r\n '<span class=\"apexcharts-tooltip-text-z-label\"></span>' +\r\n '<span class=\"apexcharts-tooltip-text-z-value\"></span>' +\r\n \"</div>\" +\r\n \"</div>\" +\r\n \"</div>\" +\r\n \"</div>\" +\r\n '<div class=\"apexcharts-tooltip-series-group apexcharts-active\" style=\"order: 1; display: flex;\">' +\r\n '<span class=\"apexcharts-tooltip-marker\" style=\"background-color: #F64E60\"></span>' +\r\n '<div class=\"apexcharts-tooltip-text\" style=\"font-family: Helvetica, Arial, sans-serif; font-size: 12px;\">' +\r\n '<div class=\"apexcharts-tooltip-y-group\">' +\r\n '<span class=\"apexcharts-tooltip-text-y-label\">Failed:</span>' +\r\n '<span class=\"apexcharts-tooltip-text-y-value\">' +\r\n data?.goals[0]?.Failed +\r\n \"</span>\" +\r\n '<div class=\"apexcharts-tooltip-goals-group\">' +\r\n '<span class=\"apexcharts-tooltip-text-goals-label\"></span>' +\r\n '<span class=\"apexcharts-tooltip-text-goals-value\"></span>' +\r\n \"</div>\" +\r\n '<div class=\"apexcharts-tooltip-z-group\">' +\r\n '<span class=\"apexcharts-tooltip-text-z-label\"></span>' +\r\n '<span class=\"apexcharts-tooltip-text-z-value\"></span>' +\r\n \"</div>\" +\r\n \"</div>\" +\r\n \"</div>\" +\r\n \"</div>\" +\r\n '<div class=\"apexcharts-tooltip-series-group apexcharts-active\" style=\"order: 1; display: flex;\">' +\r\n '<div class=\"apexcharts-tooltip-text\" style=\"font-family: Helvetica, Arial, sans-serif; font-size: 12px;\">' +\r\n '<div class=\"apexcharts-tooltip-y-group\">' +\r\n '<span class=\"apexcharts-tooltip-text-y-label\">Success %:</span>' +\r\n '<span class=\"apexcharts-tooltip-text-y-value\">' +\r\n data?.goals[0]?.value +\r\n \"%</span>\" +\r\n '<div class=\"apexcharts-tooltip-goals-group\">' +\r\n '<span class=\"apexcharts-tooltip-text-goals-label\"></span>' +\r\n '<span class=\"apexcharts-tooltip-text-goals-value\"></span>' +\r\n \"</div>\" +\r\n '<div class=\"apexcharts-tooltip-z-group\">' +\r\n '<span class=\"apexcharts-tooltip-text-z-label\"></span>' +\r\n '<span class=\"apexcharts-tooltip-text-z-value\"></span>' +\r\n \"</div>\" +\r\n \"</div>\" +\r\n \"</div>\" +\r\n \"</div>\"\r\n );\r\n },\r\n },\r\n fill: {\r\n opacity: 1,\r\n },\r\n legend: {\r\n show: false,\r\n },\r\n plotOptions: {\r\n bar: {\r\n dataLabels: {\r\n orientation: \"vertical\",\r\n },\r\n },\r\n },\r\n\r\n dataLabels: {\r\n position: \"top\",\r\n enabled: true,\r\n style: {\r\n fontSize: \"7pt\",\r\n },\r\n offsetX: 0,\r\n horizontal: false,\r\n dropShadow: {\r\n enabled: false,\r\n },\r\n formatter: function(val, opts) {\r\n const seriesIndex = opts.seriesIndex;\r\n const dataPointIndex = opts.dataPointIndex;\r\n const w = opts.w;\r\n var data = w.globals.initialSeries[seriesIndex].data[dataPointIndex];\r\n return data?.goals[0]?.value + \"%\";\r\n },\r\n },\r\n // dataLabels: {\r\n // offsetY: 15,\r\n\r\n // },\r\n yaxis: {\r\n show: false,\r\n },\r\n };\r\n return options;\r\n}\r\n","/* eslint-disable no-script-url,jsx-a11y/anchor-is-valid */\r\nimport React, { useMemo, useEffect } from \"react\";\r\nimport objectPath from \"object-path\";\r\nimport ApexCharts from \"apexcharts\";\r\nimport SVG from \"react-inlinesvg\";\r\nimport { useHtmlClassService } from \"../../../layout\";\r\nimport { toAbsoluteUrl } from \"../../../_helpers\";\r\nimport { currencyFormat } from \"../../../_helpers/ATHelpers\";\r\n\r\nexport function ARAccount({ className, ReceivablesList, loadingAR }) {\r\n useEffect(() => {\r\n const element = document.getElementById(\"kt_stats_widget_12_chart\");\r\n\r\n if (!element) {\r\n return;\r\n }\r\n\r\n const options = getChartOption(ReceivablesList);\r\n const chartnewUsers = new ApexCharts(element, options);\r\n chartnewUsers.render();\r\n return function cleanUp() {\r\n chartnewUsers.destroy();\r\n };\r\n }, [loadingAR]);\r\n\r\n return (\r\n <div className={`card card-custom ${className}`}>\r\n {loadingAR ? (\r\n <h4 className=\"text-center\">Loading</h4>\r\n ) : (\r\n <>\r\n <div className=\"card-header border-0 mb-10\">\r\n <h3 className=\"card-title font-weight-bolder text-dark\">A/R</h3>\r\n </div>\r\n <div className=\"card-body d-flex flex-column p-0\">\r\n <div className=\"px-xl-10 px-lg-10 px-md-5 p-5\">\r\n <div className=\"col bg-light-white px-6 py-3 rounded-xl\">\r\n <span className=\"text-black font-weight-bold font-size-h5 mt-2\">\r\n Credit limit\r\n </span>\r\n <span className=\"text-black font-weight-bold font-size-h3 d-block my-2\">\r\n ${currencyFormat(ReceivablesList?.CreditLimit || 0)}\r\n </span>\r\n </div>\r\n <div className=\"col bg-light-white px-6 py-3 rounded-xl\">\r\n <span className=\"text-black font-weight-bold font-size-h5 mt-2\">\r\n AR\r\n </span>\r\n <span className=\"text-black font-weight-bold font-size-h3 d-block my-2\">\r\n ${currencyFormat(ReceivablesList?.Ar || 0)}\r\n </span>\r\n </div>\r\n <div className=\"col bg-light-success px-6 py-8 rounded-xl\">\r\n <span className=\"text-success font-weight-bold font-size-h5\">\r\n Balance\r\n </span>\r\n <span className=\"text-success font-weight-bold font-size-h3 d-block my-2\">\r\n ${currencyFormat(ReceivablesList?.Balance || 0)}\r\n </span>\r\n </div>\r\n </div>\r\n </div>\r\n </>\r\n )}\r\n </div>\r\n );\r\n}\r\n\r\nfunction getChartOption(layoutProps) {\r\n var options = {\r\n series: [\r\n {\r\n name: \"Net Profit\",\r\n data: [40, 40, 30, 30, 35, 35, 50],\r\n },\r\n ],\r\n chart: {\r\n type: \"area\",\r\n height: 150,\r\n toolbar: {\r\n show: false,\r\n },\r\n zoom: {\r\n enabled: false,\r\n },\r\n sparkline: {\r\n enabled: true,\r\n },\r\n },\r\n plotOptions: {},\r\n legend: {\r\n show: false,\r\n },\r\n dataLabels: {\r\n enabled: false,\r\n },\r\n fill: {\r\n type: \"solid\",\r\n opacity: 1,\r\n },\r\n stroke: {\r\n curve: \"smooth\",\r\n show: true,\r\n width: 3,\r\n colors: [layoutProps.colorsThemeBasePrimary],\r\n },\r\n xaxis: {\r\n categories: [\"Feb\", \"Mar\", \"Apr\", \"May\", \"Jun\", \"Aug\", \"Sep\"],\r\n axisBorder: {\r\n show: false,\r\n },\r\n axisTicks: {\r\n show: false,\r\n },\r\n labels: {\r\n show: false,\r\n style: {\r\n colors: layoutProps.colorsGrayGray500,\r\n fontSize: \"12px\",\r\n fontFamily: layoutProps.fontFamily,\r\n },\r\n },\r\n crosshairs: {\r\n show: false,\r\n position: \"front\",\r\n stroke: {\r\n color: layoutProps.colorsGrayGray300,\r\n width: 1,\r\n dashArray: 3,\r\n },\r\n },\r\n tooltip: {\r\n enabled: true,\r\n formatter: undefined,\r\n offsetY: 0,\r\n style: {\r\n fontSize: \"12px\",\r\n fontFamily: layoutProps.fontFamily,\r\n },\r\n },\r\n },\r\n yaxis: {\r\n min: 0,\r\n max: 55,\r\n labels: {\r\n show: false,\r\n style: {\r\n colors: layoutProps.colorsGrayGray500,\r\n fontSize: \"12px\",\r\n fontFamily: layoutProps.fontFamily,\r\n },\r\n },\r\n },\r\n states: {\r\n normal: {\r\n filter: {\r\n type: \"none\",\r\n value: 0,\r\n },\r\n },\r\n hover: {\r\n filter: {\r\n type: \"none\",\r\n value: 0,\r\n },\r\n },\r\n active: {\r\n allowMultipleDataPointsSelection: false,\r\n filter: {\r\n type: \"none\",\r\n value: 0,\r\n },\r\n },\r\n },\r\n tooltip: {\r\n style: {\r\n fontSize: \"12px\",\r\n fontFamily: layoutProps.fontFamily,\r\n },\r\n y: {\r\n formatter: function(val) {\r\n return \"$\" + val + \" A/R\";\r\n },\r\n },\r\n },\r\n colors: [layoutProps.colorsThemeLightPrimary],\r\n markers: {\r\n colors: [layoutProps.colorsThemeLightPrimary],\r\n strokeColor: [layoutProps.colorsThemeBasePrimary],\r\n strokeWidth: 3,\r\n },\r\n };\r\n return options;\r\n}\r\n","// Mixed\r\nexport { MixedWidget1 } from \"./mixed/MixedWidget1\";\r\nexport { MixedWidget14 } from \"./mixed/MixedWidget14\";\r\nexport { MixedWidget15 } from \"./mixed/MixedWidget15\";\r\nexport { MixedWidget16 } from \"./mixed/MixedWidget16\";\r\nexport { MixedWidget17 } from \"./mixed/MixedWidget17\";\r\nexport { MixedWidget18 } from \"./mixed/MixedWidget18\";\r\n// Lists\r\nexport { ListsWidget1 } from \"./lists/ListsWidget1\";\r\nexport { ListsWidget3 } from \"./lists/ListsWidget3\";\r\nexport { ListsWidget4 } from \"./lists/ListsWidget4\";\r\nexport { ListsWidget8 } from \"./lists/ListsWidget8\";\r\nexport { ListsWidget9 } from \"./lists/ListsWidget9\";\r\n\r\n// Stats\r\nexport { StatsWidget11 } from \"./stats/StatsWidget11\";\r\nexport { StatsWidget12 } from \"./stats/StatsWidget12\";\r\n\r\n// Advance tables\r\nexport { AdvanceTablesWidget2 } from \"./advance-tables/AdvanceTablesWidget2\";\r\nexport { AdvanceTablesWidget4 } from \"./advance-tables/AdvanceTablesWidget4\";\r\nexport { ItemTablesWidget } from \"./advance-tables/ItemTablesWidget\";\r\n\r\n//Lulus chart\r\nexport { RadarChart } from \"./Lulus/RadarChart\";\r\nexport { ShipmentChart } from \"./Lulus/ShipmentChart\";\r\nexport { TrendsChart } from \"./Lulus/TrendsChart\";\r\nexport { ItemExceptionChart } from \"./Lulus/ItemExceptionChart\";\r\n\r\nexport {DonutTransportation} from \"./Transportation/DonutTransportation\";\r\nexport {TrackingLine} from \"./Transportation/TruckingLine\";\r\nexport {TrendHistoric} from \"./Transportation/TrendHistoric\";\r\nexport {Performance} from \"./Transportation/Performance\";\r\nexport {PerformanceTransaction} from \"./Transaction/Performance\";\r\n\r\n\r\nexport {DonutTransportationGlobal} from \"./GlobalTransportation/DonutTransportationGlobal\";\r\nexport {PerformanceGlobal} from \"./GlobalTransportation/PerformanceGlobal\";\r\nexport {PerformanceGrid} from \"./GlobalTransportation/PerformanceGrid\";\r\n\r\n//Scentsy chart\r\n/* export { RadarChart } from \"./Scentsy/RadarChart\"; */\r\nexport { ShippedOrdersComp } from \"./Scentsy/ShippedOrders\";/* \r\nexport { TrendsChart } from \"./Scentsy/TrendsChart\";\r\nexport { ItemExceptionChart } from \"./Scentsy/ItemExceptionChart\"; */\r\n\r\nexport {DonutTransactionInbound} from \"./Transaction/DonutTransactionInbound\";\r\nexport {DonutTransactionOutbound} from \"./Transaction/DonutTransactionOutbound\";\r\nexport {Crosspartner} from \"./Transaction/Crosspartner\";\r\nexport {OveralTransaction} from \"./Transaction/OveralTransaction\";\r\n\r\n// lulus \r\nexport {PerformanceLulusFashion} from \"./LulusFashion/PerformanceLulusFashion\";\r\nexport {DonutLulusFashion} from \"./LulusFashion/DonutLulusFashion\";\r\nexport {PerformanceLulus} from \"./LulusFashion/PerformanceLulus\";\r\nexport {PerformanceLulusFashionSecond} from \"./LulusFashion/PerformanceLulusFashionSecond\";\r\n\r\n//Customer dashboard\r\n\r\nexport {DonutDomestics} from \"./CustomDashboard/DonutDomestics\";\r\n\r\n//Account Management Dashboard \r\n\r\nexport {FilterAccount} from \"./account-management/FilterAccount\";\r\nexport {RevenueAccount} from \"./account-management/RevenueAccount\";\r\nexport {HistoricalLanes} from \"./account-management/HistoricalLanes\";\r\nexport {PerformanceAccount} from \"./account-management/PerformanceAccount\";\r\nexport {ARAccount} from \"./account-management/ARAccount\";\r\n","import objectPath from \"object-path\";\r\nimport {toAbsoluteUrl} from \"../../_helpers\";\r\n\r\nexport class HtmlClassService {\r\n // Public properties\r\n config;\r\n classes;\r\n attributes;\r\n\r\n /**\r\n * Build html element classes from layout config\r\n * @param layoutConfig\r\n */\r\n setConfig(layoutConfig) {\r\n this.config = this.preInit(layoutConfig);\r\n\r\n // scope list of classes\r\n this.classes = {\r\n header: [],\r\n header_container: [],\r\n header_mobile: [],\r\n header_menu: [],\r\n aside: [],\r\n aside_menu: [],\r\n subheader: [],\r\n subheader_container: [],\r\n content: [],\r\n content_container: [],\r\n footer_container: []\r\n };\r\n\r\n this.attributes = {\r\n aside_menu: {},\r\n header_mobile: {},\r\n header_menu: {}\r\n };\r\n\r\n // init base layout\r\n this.initLayout();\r\n this.initLoader();\r\n\r\n // init header and subheader menu\r\n this.initHeader();\r\n this.initSubheader();\r\n\r\n this.initContent();\r\n // init aside and aside menu\r\n this.initAside();\r\n\r\n // init footer\r\n this.initFooter();\r\n\r\n // init theme\r\n this.initTheme();\r\n }\r\n\r\n preInit(layoutConfig) {\r\n const updatedConfig = Object.assign({}, layoutConfig);\r\n const headerSelfFixedDesktop = objectPath.get(updatedConfig, \"header.self.fixed.desktop\");\r\n const subheaderFixed = objectPath.get(updatedConfig, \"subheader.fixed\");\r\n if (subheaderFixed && headerSelfFixedDesktop) {\r\n // Page::setOption('layout', 'subheader/style', 'solid');\r\n updatedConfig.subheader.style = \"solid\"; \r\n } else {\r\n // Page::setOption('layout', 'subheader/fixed', false);\r\n updatedConfig.subheader.fixed = false;\r\n }\r\n return updatedConfig;\r\n }\r\n\r\n /**\r\n * Returns Classes\r\n *\r\n * @param path: string\r\n * @param toString boolean\r\n */\r\n getClasses(path, toString) {\r\n if (path) {\r\n const classes = objectPath.get(this.classes, path) || \"\";\r\n if (toString && Array.isArray(classes)) {\r\n return classes.join(\" \");\r\n }\r\n return classes.toString();\r\n }\r\n return this.classes;\r\n }\r\n\r\n getAttributes(path) {\r\n if (path) {\r\n const attributes = objectPath.get(this.attributes, path) || [];\r\n return attributes;\r\n }\r\n return [];\r\n }\r\n\r\n getLogo() {\r\n const brandSkin = objectPath.get(this.config, \"brand.self.theme\");\r\n if (brandSkin === \"light\") {\r\n return toAbsoluteUrl(\"/media/logos/logo-dark.png\");\r\n } else {\r\n return toAbsoluteUrl(\"/media/logos/logo-light.png\");\r\n }\r\n }\r\n\r\n getStickyLogo() {\r\n let logo = objectPath.get(this.config, \"self.logo.sticky\");\r\n if (typeof logo === \"undefined\") {\r\n logo = this.getLogo();\r\n }\r\n return logo + \"\";\r\n }\r\n\r\n /**\r\n * Init Layout\r\n */\r\n initLayout() {\r\n const selfBodyBackgroundImage = objectPath.get(this.config, \"self.body.background-image\");\r\n if (selfBodyBackgroundImage) {\r\n document.body.style.backgroundImage = `url(\"${selfBodyBackgroundImage}'\")`;\r\n }\r\n\r\n const _selfBodyClass = objectPath.get(this.config, \"self.body.class\");\r\n if (_selfBodyClass) {\r\n const bodyClasses = _selfBodyClass.toString().split(\" \");\r\n bodyClasses.forEach(cssClass => document.body.classList.add(cssClass));\r\n }\r\n\r\n // Offcanvas directions\r\n document.body.classList.add(\"quick-panel-right\");\r\n document.body.classList.add(\"demo-panel-right\");\r\n document.body.classList.add(\"offcanvas-right\");\r\n }\r\n\r\n /**\r\n * Init Loader\r\n */\r\n initLoader() {}\r\n\r\n /**\r\n * Init Header\r\n */\r\n initHeader() {\r\n // Fixed header\r\n const headerSelfFixedDesktop = objectPath.get(this.config, \"header.self.fixed.desktop\");\r\n if (headerSelfFixedDesktop) {\r\n document.body.classList.add(\"header-fixed\");\r\n objectPath.push(this.classes, \"header\", \"header-fixed\");\r\n } else {\r\n document.body.classList.add(\"header-static\");\r\n }\r\n\r\n const headerSelfFixedMobile = objectPath.get(this.config, \"header.self.fixed.mobile\");\r\n if (headerSelfFixedMobile) {\r\n document.body.classList.add(\"header-mobile-fixed\");\r\n objectPath.push(this.classes, \"header_mobile\", \"header-mobile-fixed\");\r\n }\r\n\r\n // Menu\r\n const headerMenuSelfDisplay = objectPath.get(this.config, \"header.menu.self.display\");\r\n if (headerMenuSelfDisplay) {\r\n const headerMenuSelfLayout = objectPath.get(this.config, \"header.menu.self.layout\");\r\n const headerMenuLayoutCssClass = `header-menu-layout-${headerMenuSelfLayout}`;\r\n objectPath.push(this.classes, \"header_menu\", headerMenuLayoutCssClass);\r\n\r\n if (objectPath.get(this.config, \"header.menu.self.root-arrow\")) {\r\n objectPath.push(this.classes, \"header_menu\", \"header-menu-root-arrow\");\r\n }\r\n }\r\n\r\n const headerSelfWidth = objectPath.get(this.config, \"header.self.width\");\r\n if (headerSelfWidth === \"fluid\") {\r\n objectPath.push(this.classes, \"header_container\", \"container-fluid\");\r\n } else {\r\n objectPath.push(this.classes, \"header_container\", \"container\");\r\n }\r\n }\r\n\r\n /**\r\n * Init Subheader\r\n */\r\n initSubheader() {\r\n const subheaderDisplay = objectPath.get(this.config, \"subheader.display\");\r\n if (subheaderDisplay) {\r\n document.body.classList.add(\"subheader-enabled\");\r\n } else {\r\n return;\r\n }\r\n\r\n // Fixed content head\r\n const subheaderFixed = objectPath.get(this.config, \"subheader.fixed\");\r\n const headerSelfFixedDesktop = objectPath.get(this.config, \"header.self.fixed.desktop\");\r\n if (subheaderFixed && headerSelfFixedDesktop) {\r\n document.body.classList.add(\"subheader-fixed\");\r\n // Page::setOption('layout', 'subheader/style', 'solid'); => See preInit()\r\n } else {\r\n // Page::setOption('layout', 'subheader/fixed', false); => See preInit()\r\n }\r\n\r\n const subheaderStyle = objectPath.has(this.config, \"subheader.style\");\r\n if (subheaderStyle) {\r\n const subheaderClass = `subheader-${subheaderStyle}`;\r\n objectPath.push(this.classes, \"subheader\", subheaderClass);\r\n }\r\n\r\n const subheaderWidth = objectPath.get(this.config, \"subheader.width\");\r\n if (subheaderWidth === \"fluid\") {\r\n objectPath.push(this.classes, \"subheader_container\", \"container-fluid\");\r\n } else {\r\n objectPath.push(this.classes, \"subheader_container\", \"container\");\r\n }\r\n\r\n if (objectPath.get(this.config, \"subheader.clear\")) {\r\n objectPath.push(this.classes, \"subheader\", \"mb-0\");\r\n }\r\n }\r\n\r\n /**\r\n * Init Content\r\n */\r\n initContent() {\r\n if (objectPath.get(this.config, \"content.fit-top\")) {\r\n objectPath.push(this.classes, \"content\", \"pt-0\");\r\n }\r\n\r\n if (objectPath.get(this.config, \"content.fit-bottom\")) {\r\n objectPath.push(this.classes, \"content\", \"pb-0\");\r\n }\r\n\r\n if (objectPath.get(this.config, \"content.width\") === \"fluid\") {\r\n objectPath.push(this.classes, \"content_container\", \"container-fluid\");\r\n } else {\r\n objectPath.push(this.classes, \"content_container\", \"container\");\r\n }\r\n }\r\n\r\n /**\r\n * Init Aside\r\n */\r\n initAside() {\r\n // Check Aside\r\n const asideSelfDisplay = objectPath.get(this.config, \"aside.self.display\");\r\n if (!asideSelfDisplay) {\r\n return;\r\n }\r\n\r\n // Enable Aside\r\n document.body.classList.add(\"aside-enabled\");\r\n\r\n // Fixed Aside\r\n const asideSelfFixed = objectPath.get(this.config, \"aside.self.fixed\");\r\n if (asideSelfFixed) {\r\n document.body.classList.add(\"aside-fixed\");\r\n objectPath.push(this.classes, \"aside\", \"aside-fixed\");\r\n } else {\r\n document.body.classList.add(\"aside-static\");\r\n }\r\n\r\n // Check Aside\r\n if (!asideSelfDisplay) {\r\n return;\r\n }\r\n\r\n // Default fixed\r\n if (objectPath.get(this.config, \"aside.self.minimize.default\")) {\r\n document.body.classList.add(\"aside-minimize\");\r\n }\r\n\r\n if (objectPath.get(this.config, \"aside.self.minimize.hoverable\")) {\r\n document.body.classList.add(\"aside-minimize-hoverable\");\r\n }\r\n\r\n // Menu\r\n // Dropdown Submenu\r\n const asideMenuDropdown = objectPath.get(this.config, \"aside.menu.dropdown\");\r\n if (asideMenuDropdown) {\r\n objectPath.push(this.classes, \"aside_menu\", \"aside-menu-dropdown\");\r\n this.attributes.aside_menu[\"data-menu-dropdown\"] = \"1\";\r\n }\r\n\r\n // Scrollable Menu\r\n this.attributes.aside_menu[\"data-menu-scroll\"] = asideMenuDropdown ? \"0\" : \"1\";\r\n\r\n const asideSubmenuDHoverTimeout = objectPath.get(\r\n this.config,\r\n \"aside.menu.submenu.dropdown.hover-timeout\"\r\n );\r\n if (asideSubmenuDHoverTimeout) {\r\n this.attributes.aside_menu[\r\n \"data-menu-dropdown-timeout\"\r\n ] = asideSubmenuDHoverTimeout;\r\n }\r\n }\r\n\r\n /**\r\n * Init Footer\r\n */\r\n initFooter() {\r\n // Fixed header\r\n if (objectPath.get(this.config, \"footer.fixed\")) {\r\n document.body.classList.add(\"footer-fixed\");\r\n }\r\n\r\n if (objectPath.get(this.config, \"footer.self.width\") === \"fluid\") {\r\n objectPath.push(this.classes, \"footer_container\", \"container-fluid\");\r\n } else {\r\n objectPath.push(this.classes, \"footer_container\", \"container\");\r\n }\r\n }\r\n\r\n /** Init Theme */\r\n initTheme() {\r\n const asideSelfDisplay = objectPath.get(this.config, \"aside.self.display\");\r\n if (!asideSelfDisplay) {\r\n const headerSelfTheme = objectPath.get(this.config, \"header.self.theme\");\r\n document.body.classList.add(`brand-${headerSelfTheme}`);\r\n } else {\r\n const brandSelfTheme = objectPath.get(this.config, \"brand.self.theme\");\r\n document.body.classList.add(`brand-${brandSelfTheme}`);\r\n }\r\n }\r\n}\r\n","import React, { createContext, useContext, useMemo } from \"react\";\r\nimport { HtmlClassService } from \"./HTMLClassService\";\r\nimport { getInitLayoutConfig } from \"./LayoutConfig\";\r\nconst LAYOUT_CONFIG_KEY =\r\n process.env.REACT_APP_LAYOUT_CONFIG_KEY || \"LayoutConfig\";\r\n\r\nfunction getConfig() {\r\n const ls = localStorage.getItem(LAYOUT_CONFIG_KEY);\r\n if (ls) {\r\n try {\r\n return JSON.parse(ls);\r\n } catch (er) {\r\n console.error(er);\r\n }\r\n }\r\n return getInitLayoutConfig();\r\n}\r\n\r\n// Side effect\r\nexport function setLayoutConfig(config) {\r\n localStorage.setItem(LAYOUT_CONFIG_KEY, JSON.stringify(config));\r\n window.location.reload();\r\n}\r\n\r\nconst HtmlClassServiceContext = createContext();\r\n\r\n/**\r\n *\r\n *\r\n * @export\r\n * @returns Layout context from 'localStorage'\r\n */\r\nexport function useHtmlClassService() {\r\n return useContext(HtmlClassServiceContext);\r\n}\r\n\r\nexport function withHtmlClassService(Component) {\r\n class WithHtmlClassService extends React.Component {\r\n static displayName = `WithHtmlClassService(${Component.displayName ||\r\n Component.name})`;\r\n\r\n static contextType = HtmlClassServiceContext;\r\n\r\n render() {\r\n return <Component {...this.props} htmlClassService={this.context} />;\r\n }\r\n }\r\n\r\n return WithHtmlClassService;\r\n}\r\n\r\nexport const HtmlClassServiceConsumer = HtmlClassServiceContext.Consumer;\r\n\r\nexport function MetronicLayoutProvider({ children }) {\r\n const lc = useMemo(getConfig, []);\r\n const hcs = useMemo(() => {\r\n const service = new HtmlClassService();\r\n\r\n service.setConfig(lc);\r\n\r\n return service;\r\n }, [lc]);\r\n return (\r\n <>\r\n <HtmlClassServiceContext.Provider value={hcs}>\r\n {children}\r\n </HtmlClassServiceContext.Provider>\r\n </>\r\n );\r\n}\r\n","import {toAbsoluteUrl} from \"../../_helpers\";\r\nexport function getInitLayoutConfig() {\r\n return {\r\n demo: \"demo1\",\r\n js: {\r\n breakpoints : {\r\n sm: \"576\",\r\n md: \"768\",\r\n lg: \"992\",\r\n xl: \"1200\",\r\n xxl: \"1200\"\r\n },\r\n colors: {\r\n theme: {\r\n base: {\r\n \"white\": \"#ffffff\",\r\n \"primary\": \"#6993FF\",\r\n \"secondary\": \"#E5EAEE\",\r\n \"success\": \"#1BC5BD\",\r\n \"info\": \"#8950FC\",\r\n \"warning\": \"#FFA800\",\r\n \"danger\": \"#F64E60\",\r\n \"light\": \"#F3F6F9\",\r\n \"dark\": \"#212121\"\r\n },\r\n light: {\r\n \"white\": \"#ffffff\",\r\n \"primary\": \"#E1E9FF\",\r\n \"secondary\": \"#ECF0F3\",\r\n \"success\": \"#C9F7F5\",\r\n \"info\": \"#EEE5FF\",\r\n \"warning\": \"#FFF4DE\",\r\n \"danger\": \"#FFE2E5\",\r\n \"light\": \"#F3F6F9\",\r\n \"dark\": \"#D6D6E0\"\r\n },\r\n inverse: {\r\n \"white\": \"#ffffff\",\r\n \"primary\": \"#ffffff\",\r\n \"secondary\": \"#212121\",\r\n \"success\": \"#ffffff\",\r\n \"info\": \"#ffffff\",\r\n \"warning\": \"#ffffff\",\r\n \"danger\": \"#ffffff\",\r\n \"light\": \"#464E5F\",\r\n \"dark\": \"#ffffff\"\r\n }\r\n },\r\n gray: {\r\n \"gray100\": \"#F3F6F9\",\r\n \"gray200\": \"#ECF0F3\",\r\n \"gray300\": \"#E5EAEE\",\r\n \"gray400\": \"#D6D6E0\",\r\n \"gray500\": \"#B5B5C3\",\r\n \"gray600\": \"#80808F\",\r\n \"gray700\": \"#464E5F\",\r\n \"gray800\": \"#1B283F\",\r\n \"gray900\": \"#212121\"\r\n }\r\n },\r\n fontFamily: \"Poppins\"\r\n },\r\n // == Page Splash Screen loading\r\n loader: {\r\n enabled: true,\r\n type: \"\", // default|spinner-message|spinner-logo\r\n logo: toAbsoluteUrl(\"/media/logos/logo-dark-sm.png\"),\r\n message: \"Please wait...\"\r\n },\r\n // page toolbar\r\n toolbar: {\r\n display: true\r\n },\r\n header: {\r\n self: {\r\n width: \"fluid\", // fixed|fluid\r\n theme: \"light\", // light|dark\r\n fixed: {\r\n desktop: true,\r\n mobile: true\r\n }\r\n },\r\n menu: {\r\n self: {\r\n display: true,\r\n layout: \"default\", // tab/default\r\n \"root-arrow\": false,\r\n \"icon-style\": \"duotone\" // duotone, line, bold, solid\r\n },\r\n desktop: {\r\n arrow: true,\r\n toggle: \"click\",\r\n submenu: {\r\n theme: \"light\", // light|dark\r\n arrow: true\r\n }\r\n },\r\n mobile: {\r\n submenu: {\r\n theme: \"dark\",\r\n accordion: true\r\n }\r\n }\r\n }\r\n },\r\n subheader: {\r\n display: true,\r\n displayDesc: false,\r\n displayDaterangepicker: true,\r\n layout: \"subheader-v1\",\r\n fixed: true,\r\n width: \"fluid\", // fixed/fluid,\r\n clear: false,\r\n style: \"solid\" // solid/transparent\r\n },\r\n content: {\r\n width: \"fixed\" // fluid|fixed\r\n },\r\n brand: {\r\n self: {\r\n theme: \"dark\" // light/dark\r\n }\r\n },\r\n aside: {\r\n self: {\r\n theme: \"dark\", // light/dark\r\n display: true,\r\n fixed: true,\r\n minimize: {\r\n toggle: true, // allow toggle\r\n default: true, // default state\r\n hoverable: true // allow hover\r\n }\r\n },\r\n footer: {\r\n self: {\r\n display: true\r\n }\r\n },\r\n menu: {\r\n dropdown: false, // ok\r\n scroll: true, // ok\r\n \"icon-style\": \"duotone\", // duotone, line, bold, solid\r\n submenu: {\r\n accordion: true,\r\n dropdown: {\r\n arrow: true,\r\n \"hover-timeout\": 500 // in milliseconds\r\n }\r\n }\r\n }\r\n },\r\n footer: {\r\n self: {\r\n fixed: true,\r\n width: \"fluid\"\r\n }\r\n },\r\n extras: {\r\n search: {\r\n display: true,\r\n layout: \"dropdown\", // offcanvas, dropdown\r\n offcanvas: {\r\n direction: \"right\"\r\n }\r\n },\r\n notifications: {\r\n display: true,\r\n layout: \"dropdown\", // offcanvas, dropdown\r\n dropdown: {\r\n style: \"dark\" // light, dark\r\n },\r\n offcanvas: {\r\n directions: \"right\"\r\n }\r\n },\r\n \"quick-actions\": {\r\n display: true,\r\n layout: \"dropdown\", // offcanvas, dropdown,\r\n dropdown: {\r\n style: \"dark\", // light, dark\r\n },\r\n offcanvas: {\r\n directions: \"right\"\r\n }\r\n },\r\n user: {\r\n display: true,\r\n layout: \"offcanvas\", // offcanvas, dropdown\r\n dropdown: {\r\n style: \"dark\"\r\n },\r\n offcanvas: {\r\n directions: \"right\"\r\n }\r\n },\r\n languages: {\r\n display: true\r\n },\r\n cart: {\r\n display: true,\r\n dropdown: {\r\n style: \"dark\", // ligth, dark\r\n }\r\n },\r\n \"quick-panel\": {\r\n display: true,\r\n offcanvas: {\r\n directions: \"right\"\r\n }\r\n },\r\n chat: {\r\n display: true\r\n },\r\n toolbar: {\r\n display: true\r\n },\r\n scrolltop: {\r\n display: true\r\n }\r\n }\r\n };\r\n}\r\n","/* eslint-disable no-script-url,jsx-a11y/anchor-is-valid */\r\nimport React from \"react\";\r\nimport PerfectScrollbar from \"react-perfect-scrollbar\";\r\nimport { Link } from \"react-router-dom\";\r\n\r\nconst perfectScrollbarOptions = {\r\n wheelSpeed: 2,\r\n wheelPropagation: false,\r\n};\r\nfunction generateIcone(Entity) {\r\n var classe = \"\";\r\n switch (Entity) {\r\n case \"Items\":\r\n classe = \"flaticon2-box-1\";\r\n break;\r\n case \"Orders\":\r\n classe = \"flaticon2-supermarket\";\r\n break;\r\n case \"Customers\":\r\n classe = \"flaticon-users\";\r\n break;\r\n case \"Vessels\":\r\n classe = \"flaticon2-send-1\";\r\n break;\r\n case \"Shipments\":\r\n classe = \"flaticon2-shopping-cart-1\";\r\n break;\r\n case \"Trackings\":\r\n classe = \"flaticon2-map\";\r\n break;\r\n case \"Receipts\":\r\n classe = \"flaticon-price-tag\";\r\n break;\r\n default:\r\n classe = \"flaticon2-supermarket\";\r\n }\r\n return classe;\r\n}\r\nexport function SearchResult({ data, dataSearch }) {\r\n if (!data) {\r\n return null;\r\n }\r\n\r\n if (data.length === 0) {\r\n return (\r\n <div\r\n style={{ maxHeight: \"325px\", overflow: \"hidden\" }}\r\n className=\"quick-search-wrapper scroll ps ps--active-y\"\r\n >\r\n <div className=\"quick-search-result\">\r\n <div className=\"text-muted d-none\">No record found</div>\r\n </div>\r\n </div>\r\n );\r\n }\r\n\r\n return (\r\n <div\r\n style={{ maxHeight: \"325px\", overflow: \"hidden\" }}\r\n className=\"quick-search-wrapper scroll ps ps--active-y\"\r\n >\r\n <PerfectScrollbar\r\n options={perfectScrollbarOptions}\r\n className=\"scroll\"\r\n style={{ maxHeight: \"325px\", position: \"relative\" }}\r\n >\r\n <div className=\"quick-search-result\">\r\n <div className=\"font-size-sm text-primary font-weight-bolder text-uppercase mb-2\">\r\n Transload\r\n </div>\r\n <div className=\"mb-10\">\r\n {data\r\n .filter((character) => character.Type === \"Transload\")\r\n .map((item, index) => (\r\n <div className=\"d-flex align-items-center flex-grow-1 mb-2\">\r\n <div className=\"symbol symbol-45 symbol-circle flex-shrink-0\">\r\n <div className=\"symbol-label\">\r\n <i\r\n className={`${generateIcone(item.Entity)} text-primary`}\r\n ></i>\r\n </div>\r\n </div>\r\n <div className=\"d-flex flex-column ml-3 mt-2 mb-2\">\r\n <Link\r\n className=\"font-weight-bold text-dark text-hover-primary\"\r\n onClick={()=>{\r\n window.ExistUrl = `/General/Search?type=${item.Type}&entity=${item.Entity}&key=${dataSearch}`;\r\n document.getElementById(\"ShowGlobalTab\").click();\r\n }}\r\n to={`/General/Search?type=${item.Type}&entity=${item.Entity}&key=${dataSearch}`}\r\n >\r\n {item.Entity} ({item.Number} results)\r\n </Link>\r\n </div>\r\n </div>\r\n ))}\r\n </div>\r\n </div> \r\n </PerfectScrollbar>\r\n </div>\r\n );\r\n}\r\n","import React, { useEffect, useState, useMemo } from \"react\";\r\nimport clsx from \"clsx\";\r\nimport { Dropdown, OverlayTrigger, Tooltip } from \"react-bootstrap\";\r\nimport SVG from \"react-inlinesvg\";\r\nimport objectPath from \"object-path\";\r\nimport { useHtmlClassService } from \"../../../../_core/MetronicLayout\";\r\nimport { SearchResult } from \"./SearchResult\";\r\nimport { toAbsoluteUrl } from \"../../../../../_helpers\";\r\nimport { DropdownTopbarItemToggler } from \"../../../../../_partials/dropdowns\";\r\nimport low from \"lowdb\";\r\nimport { Link, useHistory } from \"react-router-dom\";\r\n\r\nimport LocalStorage from \"lowdb/adapters/LocalStorage\";\r\nconst adapter = new LocalStorage(\"db\");\r\nconst db = low(adapter);\r\n\r\nexport function SearchDropdown() {\r\n const [loading, setLoading] = useState(false);\r\n const [data, setData] = useState(null);\r\n const [searchValue, setSearchValue] = useState(\"\");\r\n const [searchValueSubmited, setsearchValueSubmited] = useState(\"\");\r\n let timeoutId;\r\n\r\n const clearTimeout = () => {\r\n if (timeoutId) {\r\n clearTimeout(timeoutId);\r\n timeoutId = undefined;\r\n }\r\n };\r\n const history = useHistory();\r\n const handelSubmit = (e) => {\r\n window.ExistUrl = \"/General/Search?key=\" + searchValue;\r\n\r\n history.push(\"/General/Search?key=\" + searchValue);\r\n document.getElementById(\"ShowGlobalTab\").click();\r\n e.preventDefault();\r\n };\r\n const handleSearchChange = (event) => {\r\n setData(null);\r\n setSearchValue(event.target.value);\r\n\r\n if (event.target.value.length > 2) {\r\n clearTimeout();\r\n setsearchValueSubmited(event.target.value);\r\n setLoading(true);\r\n\r\n var myHeaders = new Headers();\r\n myHeaders.append(\"Authorization\", `bearer ${db.read().getState().Token}`);\r\n myHeaders.append(\"Content-Type\", \"application/json\");\r\n myHeaders.append(\"X-FP-API-KEY\", \"iphone\");\r\n var requestOptions = {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: myHeaders,\r\n redirect: \"follow\",\r\n };\r\n fetch(\r\n window.$apiurl + `/Search/SmallSearch?query=` + event.target.value,\r\n requestOptions\r\n )\r\n .then((response) => response.text())\r\n .then((result) => {\r\n var obj = JSON.parse(result);\r\n setData(obj.Results);\r\n setLoading(false);\r\n })\r\n .catch((error) => console.log(\"error\", error));\r\n }\r\n };\r\n\r\n const clear = () => {\r\n setData(null);\r\n setSearchValue(\"\");\r\n };\r\n\r\n useEffect(() => {\r\n return () => {\r\n clearTimeout();\r\n };\r\n }, [clearTimeout]);\r\n const bgImage = toAbsoluteUrl(\"/media/bg/demo-7.jpg\");\r\n\r\n const uiService = useHtmlClassService();\r\n const layoutProps = useMemo(() => {\r\n return {\r\n offcanvas:\r\n objectPath.get(uiService.config, \"extras.search.layout\") ===\r\n \"offcanvas\",\r\n };\r\n }, [uiService]);\r\n\r\n return (\r\n <>\r\n {layoutProps.offcanvas && (\r\n <div className=\"topbar-item\">\r\n <div\r\n className=\"btn btn-icon btn-clean btn-lg mr-1\"\r\n id=\"kt_quick_search_toggle\"\r\n >\r\n <span className=\"svg-icon svg-icon-xl svg-icon-primary\">\r\n <SVG src={toAbsoluteUrl(\"/media/svg/icons/General/Search.svg\")} />\r\n </span>\r\n </div>\r\n </div>\r\n )}\r\n {!layoutProps.offcanvas && (\r\n <>\r\n <Dropdown\r\n alignRight\r\n drop=\"down\"\r\n size=\"xxl\"\r\n onToggle={() => {\r\n setData(null);\r\n setLoading(false);\r\n setSearchValue(\"\");\r\n }}\r\n id=\"kt_quick_search_toggle\"\r\n >\r\n <Dropdown.Toggle as={DropdownTopbarItemToggler}>\r\n <OverlayTrigger\r\n placement=\"bottom\"\r\n overlay={\r\n <Tooltip id=\"search-panel-tooltip\">Quick search</Tooltip>\r\n }\r\n >\r\n <div className=\"btn btn-icon btn-clean btn-lg btn-dropdown mr-1 searchClickEvent\">\r\n <span className=\"svg-icon svg-icon-xl svg-icon-primary\">\r\n <SVG\r\n src={toAbsoluteUrl(\"/media/svg/icons/General/Search.svg\")}\r\n />\r\n </span>\r\n </div>\r\n </OverlayTrigger>\r\n </Dropdown.Toggle>\r\n <Dropdown.Menu className=\"dropdown-menu p-0 m-0 dropdown-menu-right dropdown-menu-anim-up dropdown-menu-xxl\">\r\n <div\r\n id=\"kt_quick_search_dropdown\"\r\n className={clsx(\"quick-search quick-search-dropdown\", {\r\n \"quick-search-has-result\": data && data.length,\r\n })}\r\n >\r\n <form\r\n onSubmit={handelSubmit}\r\n className=\"quick-search-form\"\r\n autoComplete={false}\r\n >\r\n <div className=\"input-group\">\r\n <div\r\n className={`input-group-prepend`}\r\n style={{ cursor: \"pointer\" }}\r\n >\r\n <span\r\n className=\"input-group-text\"\r\n onClick={() => {\r\n window.ExistUrl =\r\n \"/General/Search?key=\" + searchValue;\r\n document.getElementById(\"ShowGlobalTab\").click();\r\n history.push(\"/General/Search?key=\" + searchValue);\r\n }}\r\n >\r\n <span className=\"svg-icon svg-icon-xxl\">\r\n <SVG\r\n src={toAbsoluteUrl(\r\n \"/media/svg/icons/General/Search.svg\"\r\n )}\r\n />\r\n </span>\r\n </span>\r\n </div>\r\n <input\r\n style={{ fontSize: \"large\" }}\r\n type=\"text\"\r\n id=\"globalSearchInput\"\r\n autoFocus={true}\r\n placeholder=\"Search Anything\"\r\n value={searchValue}\r\n onChange={handleSearchChange}\r\n className=\"form-control\"\r\n />\r\n <div\r\n className={`input-group-append ${\r\n loading ? \"spinner spinner-xxl spinner-primary\" : \"\"\r\n }\")}`}\r\n >\r\n <span className=\"input-group-text\">\r\n <i\r\n style={{\r\n display:\r\n loading && searchValue && searchValue.length > 0\r\n ? \"none\"\r\n : \"flex\",\r\n }}\r\n onClick={clear}\r\n className=\"quick-search-close ki ki-close icon-md text-muted\"\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n </form>\r\n <SearchResult data={data} dataSearch={searchValueSubmited} />\r\n </div>\r\n </Dropdown.Menu>\r\n </Dropdown>\r\n <Dropdown\r\n alignRight\r\n drop=\"down\"\r\n size=\"xxl\"\r\n onToggle={() => {\r\n setData(null);\r\n setLoading(false);\r\n setSearchValue(\"\");\r\n }}\r\n id=\"kt_quick_search_toggle\"\r\n >\r\n <Dropdown.Toggle as={DropdownTopbarItemToggler}>\r\n <OverlayTrigger\r\n placement=\"bottom\"\r\n overlay={<Tooltip id=\"search-panel-tooltip\">Help</Tooltip>}\r\n >\r\n <div className=\"btn btn-icon btn-clean btn-lg btn-dropdown mr-1 searchClickEvent\">\r\n <span className=\"svg-icon svg-icon-xl svg-icon-primary\">\r\n <SVG\r\n src={toAbsoluteUrl(\r\n \"/media/svg/icons/Code/Question-circle.svg\"\r\n )}\r\n />\r\n </span>\r\n </div>\r\n </OverlayTrigger>\r\n </Dropdown.Toggle>\r\n <Dropdown.Menu className=\"dropdown-menu p-0 m-0 dropdown-menu-right dropdown-menu-anim-up dropdown-menu-lg\">\r\n <form>\r\n {/* begin: Head */}\r\n <div\r\n className=\"d-flex flex-column align-items-center justify-content-center pt-5 pb-5 bgi-size-cover bgi-no-repeat rounded-top\"\r\n style={{ backgroundImage: `url(${bgImage})` }}\r\n >\r\n <span className=\"text-white\">\r\n Support\r\n </span>\r\n </div>\r\n <div className=\"row row-paddingless\">\r\n <div className=\"col-6\">\r\n <Link\r\n to=\"/ReportBugs\"\r\n className=\"d-block py-10 px-5 text-center bg-hover-light border-right\"\r\n >\r\n <span className=\"svg-icon svg-icon-3x svg-icon-danger\">\r\n <SVG\r\n src={toAbsoluteUrl(\r\n \"/media/svg/icons/Code/bug.svg\"\r\n )}\r\n ></SVG>\r\n </span>\r\n <span className=\"d-block text-dark-50 font-size-lg\">\r\n Report Bug\r\n </span>\r\n </Link>\r\n </div>\r\n\r\n <div className=\"col-6\">\r\n <a\r\n href=\"https://www.empowerdatalogistics.com/contact-us\"\r\n target=\"_blank\"\r\n rel=\"noopener noreferrer\"\r\n className=\"d-block py-10 px-5 text-center bg-hover-light\"\r\n >\r\n <span className=\"svg-icon svg-icon-3x svg-icon-success\">\r\n <SVG\r\n src={toAbsoluteUrl(\r\n \"/media/svg/icons/Communication/Group.svg\"\r\n )}\r\n ></SVG>\r\n </span>\r\n <span className=\"d-block text-dark-50 font-size-lg\">\r\n Contact Support\r\n </span>\r\n </a>\r\n </div>\r\n </div>\r\n </form>\r\n </Dropdown.Menu>\r\n </Dropdown>\r\n </>\r\n )}\r\n </>\r\n );\r\n}\r\n","/* eslint-disable no-script-url,jsx-a11y/anchor-is-valid */\r\nimport React from \"react\";\r\nimport clsx from \"clsx\";\r\nimport { Dropdown } from \"react-bootstrap\";\r\nimport { OverlayTrigger, Tooltip } from \"react-bootstrap\";\r\nimport { toAbsoluteUrl } from \"../../../../_helpers\";\r\nimport { useLang, setLanguage } from \"../../../../i18n\";\r\nimport { DropdownTopbarItemToggler } from \"../../../../_partials/dropdowns\";\r\n\r\nconst languages = [\r\n {\r\n lang: \"en\",\r\n name: \"English\",\r\n flag: toAbsoluteUrl(\"/media/svg/flags/226-united-states.svg\"),\r\n },\r\n // {\r\n // lang: \"zh\",\r\n // name: \"Mandarin\",\r\n // flag: toAbsoluteUrl(\"/media/svg/flags/015-china.svg\"),\r\n // },\r\n // {\r\n // lang: \"es\",\r\n // name: \"Spanish\",\r\n // flag: toAbsoluteUrl(\"/media/svg/flags/128-spain.svg\"),\r\n // },\r\n // {\r\n // lang: \"ja\",\r\n // name: \"Japanese\",\r\n // flag: toAbsoluteUrl(\"/media/svg/flags/063-japan.svg\"),\r\n // },\r\n // {\r\n // lang: \"de\",\r\n // name: \"German\",\r\n // flag: toAbsoluteUrl(\"/media/svg/flags/162-germany.svg\"),\r\n // },\r\n // {\r\n // lang: \"fr\",\r\n // name: \"French\",\r\n // flag: toAbsoluteUrl(\"/media/svg/flags/195-france.svg\"),\r\n // },\r\n];\r\n\r\nexport function LanguageSelectorDropdown() {\r\n const lang = useLang();\r\n const currentLanguage = languages.find((x) => x.lang === lang);\r\n return (\r\n <Dropdown drop=\"down\" alignRight>\r\n <Dropdown.Toggle\r\n as={DropdownTopbarItemToggler}\r\n id=\"dropdown-toggle-my-cart\"\r\n >\r\n <OverlayTrigger\r\n placement=\"bottom\"\r\n overlay={\r\n <Tooltip id=\"language-panel-tooltip\">Select Language</Tooltip>\r\n }\r\n >\r\n <div className=\"btn btn-icon btn-clean btn-dropdown btn-lg mr-1\">\r\n <img\r\n className=\"h-25px w-25px rounded\"\r\n src={currentLanguage.flag}\r\n alt={currentLanguage.name}\r\n />\r\n </div>\r\n </OverlayTrigger>\r\n </Dropdown.Toggle>\r\n <Dropdown.Menu className=\"p-0 m-0 dropdown-menu-right dropdown-menu-anim dropdown-menu-top-unround\">\r\n <ul className=\"navi navi-hover py-4\">\r\n {languages.map((language) => (\r\n <li\r\n key={language.lang}\r\n className={clsx(\"navi-item\", {\r\n active: language.lang === currentLanguage.lang,\r\n })}\r\n >\r\n <a\r\n href=\"#\"\r\n onClick={() => setLanguage(language.lang)}\r\n className=\"navi-link\"\r\n >\r\n <span className=\"symbol symbol-20 mr-3\">\r\n <img src={language.flag} alt={language.name} />\r\n </span>\r\n <span className=\"navi-text\">{language.name}</span>\r\n </a>\r\n </li>\r\n ))}\r\n </ul>\r\n </Dropdown.Menu>\r\n </Dropdown>\r\n );\r\n}\r\n","/* eslint-disable no-restricted-imports */\r\n/* eslint-disable no-script-url,jsx-a11y/anchor-is-valid */\r\nimport React, {useMemo} from \"react\";\r\nimport {Link} from \"react-router-dom\";\r\nimport Dropdown from \"react-bootstrap/Dropdown\";\r\nimport {useSelector} from \"react-redux\";\r\nimport objectPath from \"object-path\";\r\nimport {useHtmlClassService} from \"../../../_core/MetronicLayout\";\r\nimport {toAbsoluteUrl} from \"../../../../_helpers\";\r\nimport {DropdownTopbarItemToggler} from \"../../../../_partials/dropdowns\";\r\n\r\nexport function UserProfileDropdown() {\r\n const {user} = useSelector(state => state.auth);\r\n\r\n const uiService = useHtmlClassService();\r\n const layoutProps = useMemo(() => {\r\n return {\r\n light: objectPath.get(uiService.config, \"extras.user.dropdown.style\") === \"light\",\r\n };\r\n }, [uiService]);\r\n\r\n return (\r\n <Dropdown drop=\"down\" alignRight>\r\n <Dropdown.Toggle\r\n as={DropdownTopbarItemToggler}\r\n id=\"dropdown-toggle-user-profile\"\r\n >\r\n <div className={\"btn btn-icon w-auto btn-clean d-flex align-items-center btn-lg px-2\"}>\r\n <span className=\"text-muted font-weight-bold font-size-base d-none d-md-inline mr-1\">Hi,</span>\r\n <span className=\"text-dark-50 font-weight-bolder font-size-base d-none d-md-inline mr-3\" id=\"FullUserNameProfile2\">\r\n {user.fullname}\r\n </span>\r\n <span className=\"symbol symbol-35 symbol-light-success\" > \r\n <span className=\"symbol-label font-size-h5 font-weight-bold\" id=\"FirstCharFullNameNameProfile\">{user.fullname[0]}</span>\r\n </span>\r\n </div>\r\n </Dropdown.Toggle>\r\n <Dropdown.Menu\r\n className=\"p-0 m-0 dropdown-menu-right dropdown-menu-anim dropdown-menu-top-unround dropdown-menu-xl\">\r\n <>\r\n {/** ClassName should be 'dropdown-menu p-0 m-0 dropdown-menu-right dropdown-menu-anim dropdown-menu-top-unround dropdown-menu-xl' */}\r\n {layoutProps.light && (<>\r\n <div className=\"d-flex align-items-center p-8 rounded-top\">\r\n\r\n <div className=\"symbol symbol-md bg-light-primary mr-3 flex-shrink-0\">\r\n <img src={toAbsoluteUrl(\"/media/users/300_21.jpg\")} alt=\"\"/>\r\n </div>\r\n <div className=\"text-dark m-0 flex-grow-1 mr-3 font-size-h5\">Sean Stone</div>\r\n <span className=\"label label-light-success label-lg font-weight-bold label-inline\">3 messages</span>\r\n </div>\r\n <div className=\"separator separator-solid\"></div>\r\n </>)}\r\n\r\n {!layoutProps.light && (\r\n <div\r\n className=\"d-flex align-items-center justify-content-between flex-wrap p-8 bgi-size-cover bgi-no-repeat rounded-top\"\r\n style={{\r\n backgroundImage: `url(${toAbsoluteUrl(\"/media/misc/bg-1.jpg\")})`\r\n }}\r\n >\r\n <div className=\"symbol bg-white-o-15 mr-3\">\r\n <span className=\"symbol-label text-success font-weight-bold font-size-h4\">S</span>\r\n {/*<img alt=\"Pic\" className=\"hidden\" src={user.pic} />*/}\r\n </div>\r\n <div className=\"text-white m-0 flex-grow-1 mr-3 font-size-h5\">\r\n Sean Stone\r\n </div>\r\n <span className=\"label label-success label-lg font-weight-bold label-inline\">\r\n 3 messages\r\n </span>\r\n </div>\r\n )}\r\n </>\r\n\r\n <div className=\"navi navi-spacer-x-0 pt-5\">\r\n <a className=\"navi-item px-8\">\r\n <div className=\"navi-link\">\r\n <div className=\"navi-icon mr-2\">\r\n <i className=\"flaticon2-calendar-3 text-success\"/>\r\n </div>\r\n <div className=\"navi-text\">\r\n <div className=\"font-weight-bold\">\r\n My Profile\r\n </div>\r\n <div className=\"text-muted\">\r\n Account settings and more\r\n <span className=\"label label-light-danger label-inline font-weight-bold\">update</span>\r\n </div>\r\n </div>\r\n </div>\r\n </a>\r\n\r\n <a className=\"navi-item px-8\">\r\n <div className=\"navi-link\">\r\n <div className=\"navi-icon mr-2\">\r\n <i className=\"flaticon2-mail text-warning\"></i>\r\n </div>\r\n <div className=\"navi-text\">\r\n <div className=\"font-weight-bold\">\r\n My Messages\r\n </div>\r\n <div className=\"text-muted\">\r\n Inbox and tasks\r\n </div>\r\n </div>\r\n </div>\r\n </a>\r\n\r\n <a className=\"navi-item px-8\">\r\n <div className=\"navi-link\">\r\n <div className=\"navi-icon mr-2\">\r\n <i className=\"flaticon2-rocket-1 text-danger\"></i>\r\n </div>\r\n <div className=\"navi-text\">\r\n <div className=\"font-weight-bold\">\r\n My Activities\r\n </div>\r\n <div className=\"text-muted\">\r\n Logs and notifications\r\n </div>\r\n </div>\r\n </div>\r\n </a>\r\n\r\n <a className=\"navi-item px-8\">\r\n <div className=\"navi-link\">\r\n <div className=\"navi-icon mr-2\">\r\n <i className=\"flaticon2-hourglass text-primary\"></i>\r\n </div>\r\n <div className=\"navi-text\">\r\n <div className=\"font-weight-bold\">\r\n My Tasks\r\n </div>\r\n <div className=\"text-muted\">\r\n latest tasks and projects\r\n </div>\r\n </div>\r\n </div>\r\n </a>\r\n <div className=\"navi-separator mt-3\"></div>\r\n\r\n <div className=\"navi-footer px-8 py-5\">\r\n <Link to=\"/logout\" className=\"btn btn-light-primary font-weight-bold\">\r\n Sign Out\r\n </Link>\r\n <a href=\"#\" className=\"btn btn-clean font-weight-bold\">\r\n Upgrade Plan\r\n </a>\r\n </div>\r\n </div>\r\n </Dropdown.Menu>\r\n </Dropdown>\r\n );\r\n}\r\n","/* eslint-disable no-restricted-imports */\r\n/* eslint-disable no-script-url,jsx-a11y/anchor-is-valid */\r\nimport React, { useMemo, useState } from \"react\";\r\nimport { OverlayTrigger, Tooltip } from \"react-bootstrap\";\r\nimport { useSelector } from \"react-redux\";\r\nimport objectPath from \"object-path\";\r\nimport axios from \"axios\";\r\nimport { useHtmlClassService } from \"../../_core/MetronicLayout\";\r\nimport { UserProfileDropdown } from \"./dropdowns/UserProfileDropdown\";\r\nimport { toAbsoluteUrl } from \"../../../_helpers\";\r\nlet userDefault = {\r\n FullName: \"\",\r\n Email: \"\",\r\n ProfilePicture: \"\",\r\n};\r\nexport function QuickUserToggler() {\r\n const { user } = useSelector((state) => state.auth);\r\n const uiService = useHtmlClassService();\r\n const layoutProps = useMemo(() => {\r\n return {\r\n offcanvas:\r\n objectPath.get(uiService.config, \"extras.user.layout\") === \"offcanvas\",\r\n };\r\n }, [uiService]);\r\n const [userLogin, setuserLogin] = useState(userDefault);\r\n axios.get(\"auth/Login\").then((res) => {\r\n if (res.data !== undefined) {\r\n userDefault = {\r\n FullName: res.data.FullName,\r\n Email: res.data.Email,\r\n ProfilePicture: res.data.ProfilePicture,\r\n };\r\n setuserLogin(userDefault);\r\n }\r\n });\r\n return (\r\n <>\r\n {layoutProps.offcanvas && (\r\n <OverlayTrigger\r\n placement=\"bottom\"\r\n overlay={<Tooltip id=\"quick-user-tooltip\">View user</Tooltip>}\r\n >\r\n <div className=\"topbar-item\">\r\n <div\r\n className=\"btn btn-icon w-auto btn-clean d-flex align-items-center btn-lg px-2\"\r\n id=\"kt_quick_user_toggle\"\r\n >\r\n <>\r\n <span className=\"text-muted font-weight-bold font-size-base d-none d-md-inline mr-1\">\r\n Hi,\r\n </span>\r\n <span\r\n className=\"text-dark-50 font-weight-bolder font-size-base d-none d-md-inline mr-3\"\r\n id=\"FullUserNameProfile2\"\r\n >\r\n {userLogin.FullName}\r\n </span>\r\n <span className=\"symbol symbol-35 symbol-light-success\">\r\n <span\r\n className=\"symbol-label font-size-h5 font-weight-bold\"\r\n id=\"FirstCharFullNameNameProfile\"\r\n style ={{backgroundImage: userLogin.ProfilePicture!== null && userLogin.ProfilePicture!== undefined ? (\"url('\"+userLogin?.ProfilePicture+\"')\"): (`url(${toAbsoluteUrl(\"/media/users/blank.png\")}`)}}\r\n >\r\n {userLogin?.ProfilePicture === undefined &&\r\n userLogin?.FullName !== undefined ? userLogin?.FullName[0] : \"\"}\r\n <span className=\"d-none\" id=\"ProfilePictureID\">\r\n {userLogin?.FullName !== undefined ? userLogin?.FullName[0] : \"\"}\r\n </span>\r\n </span>\r\n </span>\r\n </>\r\n </div>\r\n </div>\r\n </OverlayTrigger>\r\n )}\r\n\r\n {!layoutProps.offcanvas && <UserProfileDropdown />}\r\n </>\r\n );\r\n}\r\n","import React, { useMemo } from \"react\";\r\nimport objectPath from \"object-path\";\r\nimport { useHtmlClassService } from \"../../_core/MetronicLayout\";\r\nimport { SearchDropdown } from \"../extras/dropdowns/search/SearchDropdown\";\r\nimport { LanguageSelectorDropdown } from \"../extras/dropdowns/LanguageSelectorDropdown\";\r\nimport { QuickUserToggler } from \"../extras/QuiclUserToggler\";\r\n\r\nexport function Topbar() {\r\n const uiService = useHtmlClassService();\r\n\r\n const layoutProps = useMemo(() => {\r\n return {\r\n viewSearchDisplay: objectPath.get(\r\n uiService.config,\r\n \"extras.search.display\"\r\n ),\r\n viewNotificationsDisplay: objectPath.get(\r\n uiService.config,\r\n \"extras.notifications.display\"\r\n ),\r\n viewQuickActionsDisplay: objectPath.get(\r\n uiService.config,\r\n \"extras.quick-actions.display\"\r\n ),\r\n viewCartDisplay: objectPath.get(uiService.config, \"extras.cart.display\"),\r\n viewQuickPanelDisplay: objectPath.get(\r\n uiService.config,\r\n \"extras.quick-panel.display\"\r\n ),\r\n viewLanguagesDisplay: objectPath.get(\r\n uiService.config,\r\n \"extras.languages.display\"\r\n ),\r\n viewUserDisplay: objectPath.get(uiService.config, \"extras.user.display\"),\r\n };\r\n }, [uiService]);\r\n\r\n return (\r\n <div className=\"topbar\">\r\n {layoutProps.viewSearchDisplay && <SearchDropdown />}\r\n\r\n {/* {layoutProps.viewNotificationsDisplay && <UserNotificationsDropdown />} */}\r\n\r\n {/* {layoutProps.viewQuickActionsDisplay && <QuickActionsDropdown />} */}\r\n\r\n {/* {layoutProps.viewCartDisplay && <MyCartDropdown />} */}\r\n\r\n {/* {layoutProps.viewQuickPanelDisplay && (\r\n <OverlayTrigger\r\n placement=\"bottom\"\r\n overlay={<Tooltip id=\"quick-panel-tooltip\">Quick panel</Tooltip>}\r\n >\r\n <div\r\n className=\"topbar-item\"\r\n data-toggle=\"tooltip\"\r\n title=\"Quick panel\"\r\n data-placement=\"right\"\r\n >\r\n <div\r\n className=\"btn btn-icon btn-clean btn-lg mr-1\"\r\n id=\"kt_quick_panel_toggle\"\r\n >\r\n <span className=\"svg-icon svg-icon-xl svg-icon-primary\">\r\n <SVG\r\n src={toAbsoluteUrl(\r\n \"/media/svg/icons/Layout/Layout-4-blocks.svg\"\r\n )}\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n </OverlayTrigger>\r\n )} */}\r\n\r\n {layoutProps.viewLanguagesDisplay && <LanguageSelectorDropdown />}\r\n\r\n {layoutProps.viewUserDisplay && <QuickUserToggler />}\r\n </div>\r\n );\r\n}\r\n","/* eslint-disable jsx-a11y/anchor-is-valid */\r\nimport React from \"react\";\r\nimport {Link} from \"react-router-dom\";\r\n\r\nexport function BreadCrumbs({items}) {\r\n if (!items || !items.length) {\r\n return \"\";\r\n }\r\n\r\n return (\r\n <ul className=\"breadcrumb breadcrumb-transparent breadcrumb-dot font-weight-bold p-0 my-2\">\r\n <li className=\"breadcrumb-item\">\r\n <Link to=\"/dashboard\">\r\n <i className=\"flaticon2-shelter text-muted icon-1x\" />\r\n </Link>\r\n </li>\r\n {items.map((item, index) => (\r\n <li key={`bc${index}`} className=\"breadcrumb-item\">\r\n <Link className=\"text-muted\" to={{ pathname: item.pathname }}>\r\n {item.title}\r\n </Link>\r\n </li>\r\n ))}\r\n </ul>\r\n );\r\n}\r\n","/* eslint-disable no-script-url,jsx-a11y/anchor-is-valid */\r\nimport objectPath from \"object-path\";\r\nimport React, { useEffect, useLayoutEffect, useMemo, useState } from \"react\";\r\nimport { useLocation } from \"react-router\";\r\nimport { NavLink } from \"react-router-dom\";\r\nimport { getBreadcrumbsAndTitle, useHtmlClassService, useSubheader } from \"../../..\";\r\nimport { checkIsActive } from \"../../../../_helpers\";\r\nimport { BreadCrumbs } from \"../../subheader/components/BreadCrumbs\";\r\n\r\nexport function HeaderMenu({ TablsOptionsList }) {\r\n const subheader = useSubheader();\r\n const uiService = useHtmlClassService();\r\n const location = useLocation();\r\n const layoutProps = useMemo(() => {\r\n return {\r\n config: uiService.config,\r\n subheaderMobileToggle: objectPath.get(\r\n uiService.config,\r\n \"subheader.mobile-toggle\"\r\n ),\r\n subheaderCssClasses: uiService.getClasses(\"subheader\", true),\r\n subheaderContainerCssClasses: uiService.getClasses(\r\n \"subheader_container\",\r\n true\r\n ),\r\n };\r\n }, [uiService]);\r\n useLayoutEffect(() => {\r\n const aside = getBreadcrumbsAndTitle(\"kt_aside_menu\", location.pathname);\r\n const header = getBreadcrumbsAndTitle(\"kt_header_menu\", location.pathname);\r\n subheader.setBreadcrumbs(aside.breadcrumbs || header.breadcrumbs);\r\n subheader.setTitle(aside.title || header.title);\r\n // eslint-disable-next-line\r\n }, [location.pathname]);\r\n\r\n useEffect(() => {\r\n \r\n setTimeout(() => {\r\n setstate((x) => x + 1);\r\n }, 15000);\r\n }, [subheader, state]);\r\n const [state, setstate] = useState(0);\r\n const getMenuItemActive = (url) => {\r\n return checkIsActive(location, url) ? \"menu-item-active\" : \"\";\r\n }\r\n\r\n return <div\r\n id=\"kt_header_menu\"\r\n className={`header-menu header-menu-mobile ${layoutProps.ktMenuClasses}`}\r\n {...layoutProps.headerMenuAttributes}\r\n >\r\n {/*begin::Header Nav*/}\r\n <div className=\"d-flex align-items-center flex-wrap mr-1\">\r\n {layoutProps.subheaderMobileToggle && (\r\n <button\r\n className=\"burger-icon burger-icon-left mr-4 d-inline-block d-lg-none\"\r\n id=\"kt_subheader_mobile_toggle\"\r\n >\r\n <span />\r\n </button>\r\n )}\r\n\r\n {/* <div className=\"d-flex align-items-baseline mr-5\">\r\n <h5 className=\"text-dark font-weight-bold my-2 mr-5\">\r\n <>{subheader.title}</>\r\n <small></small>\r\n </h5>\r\n </div> */}\r\n\r\n <BreadCrumbs items={subheader.breadcrumbs} />\r\n </div>\r\n {/*end::Header Nav*/}\r\n </div>;\r\n}\r\n","import React, {useMemo} from \"react\";\r\nimport objectPath from \"object-path\";\r\nimport {Link} from \"react-router-dom\";\r\nimport {toAbsoluteUrl} from \"../../../../_helpers\";\r\nimport {useHtmlClassService} from \"../../../_core/MetronicLayout\";\r\nimport {HeaderMenu} from \"./HeaderMenu\";\r\n\r\nexport function HeaderMenuWrapper() {\r\n const uiService = useHtmlClassService();\r\n const layoutProps = useMemo(() => {\r\n return {\r\n config: uiService.config,\r\n ktMenuClasses: uiService.getClasses(\"header_menu\", true),\r\n rootArrowEnabled: objectPath.get(\r\n uiService.config,\r\n \"header.menu.self.root-arrow\"\r\n ),\r\n menuDesktopToggle: objectPath.get(uiService.config, \"header.menu.desktop.toggle\"),\r\n headerMenuAttributes: uiService.getAttributes(\"header_menu\"),\r\n headerSelfTheme: objectPath.get(uiService.config, \"header.self.theme\"),\r\n ulClasses: uiService.getClasses(\"header_menu_nav\", true),\r\n disabledAsideSelfDisplay:\r\n objectPath.get(uiService.config, \"aside.self.display\") === false\r\n };\r\n }, [uiService]);\r\n const getHeaderLogo = () => {\r\n let result = \"logo-light.png\";\r\n if (layoutProps.headerSelfTheme && layoutProps.headerSelfTheme !== \"dark\") {\r\n result = \"logo-dark.png\";\r\n }\r\n return toAbsoluteUrl(`/media/logos/${result}`);\r\n };\r\n\r\n return <>\r\n {/*begin::Header Menu Wrapper*/}\r\n <div className=\"header-menu-wrapper header-menu-wrapper-left\" id=\"kt_header_menu_wrapper\">\r\n {layoutProps.disabledAsideSelfDisplay && (\r\n <>\r\n {/*begin::Header Logo*/}\r\n <div className=\"header-logo\">\r\n <Link to=\"/\">\r\n <img alt=\"logo\" src={getHeaderLogo()}/>\r\n </Link>\r\n </div>\r\n {/*end::Header Logo*/}\r\n </>\r\n )}\r\n {/*begin::Header Menu*/}\r\n <HeaderMenu layoutProps={layoutProps} />\r\n {/*end::Header Menu*/}\r\n </div>\r\n {/*Header Menu Wrapper*/}\r\n </>\r\n}\r\n","import React, {useMemo} from \"react\";\r\nimport objectPath from \"object-path\";\r\nimport {useHtmlClassService} from \"../../_core/MetronicLayout\";\r\nimport {Topbar} from \"./Topbar\";\r\nimport {HeaderMenuWrapper} from \"./header-menu/HeaderMenuWrapper\";\r\nimport {AnimateLoading} from \"../../../_partials/controls\";\r\n\r\nexport function Header() {\r\n const uiService = useHtmlClassService();\r\n\r\n const layoutProps = useMemo(() => {\r\n return {\r\n headerClasses: uiService.getClasses(\"header\", true),\r\n headerAttributes: uiService.getAttributes(\"header\"),\r\n headerContainerClasses: uiService.getClasses(\"header_container\", true),\r\n menuHeaderDisplay: objectPath.get(\r\n uiService.config,\r\n \"header.menu.self.display\"\r\n )\r\n };\r\n }, [uiService]);\r\n\r\n return (\r\n <>\r\n {/*begin::Header*/}\r\n <div\r\n className={`header ${layoutProps.headerClasses}`}\r\n id=\"kt_header\"\r\n {...layoutProps.headerAttributes}\r\n >\r\n {/*begin::Container*/}\r\n <div className={` ${layoutProps.headerContainerClasses} d-flex align-items-stretch justify-content-between`}>\r\n <AnimateLoading />\r\n {/*begin::Header Menu Wrapper*/}\r\n {layoutProps.menuHeaderDisplay && <HeaderMenuWrapper />}\r\n {!layoutProps.menuHeaderDisplay && <div />}\r\n {/*end::Header Menu Wrapper*/}\r\n\r\n {/*begin::Topbar*/}\r\n <Topbar />\r\n {/*end::Topbar*/}\r\n </div>\r\n {/*end::Container*/}\r\n </div>\r\n {/*end::Header*/}\r\n </>\r\n );\r\n}\r\n","import React, {useMemo} from \"react\";\r\nimport {Link} from \"react-router-dom\";\r\nimport objectPath from \"object-path\";\r\nimport SVG from \"react-inlinesvg\";\r\nimport {toAbsoluteUrl} from \"../../../_helpers\";\r\nimport {useHtmlClassService} from \"../../_core/MetronicLayout\";\r\n\r\nexport function HeaderMobile() {\r\n const uiService = useHtmlClassService();\r\n\r\n const layoutProps = useMemo(() => {\r\n return {\r\n headerLogo: uiService.getStickyLogo(),\r\n asideDisplay: objectPath.get(uiService.config, \"aside.self.display\"),\r\n headerMenuSelfDisplay:\r\n objectPath.get(uiService.config, \"header.menu.self.display\") === true,\r\n headerMobileCssClasses: uiService.getClasses(\"header_mobile\", true),\r\n headerMobileAttributes: uiService.getAttributes(\"header_mobile\")\r\n };\r\n }, [uiService]);\r\n\r\n return (\r\n <>\r\n {/*begin::Header Mobile*/}\r\n <div\r\n id=\"kt_header_mobile\"\r\n className={`header-mobile align-items-center ${layoutProps.headerMobileCssClasses}`}\r\n {...layoutProps.headerMobileAttributes}\r\n >\r\n {/*begin::Logo*/}\r\n <Link to=\"/Home\">\r\n <img alt=\"logo\" src={layoutProps.headerLogo}/>\r\n </Link>\r\n {/*end::Logo*/}\r\n\r\n {/*begin::Toolbar*/}\r\n <div className=\"d-flex align-items-center\">\r\n {layoutProps.asideDisplay && (\r\n <>\r\n {/*begin::Aside Mobile Toggle*/}\r\n <button className=\"btn p-0 burger-icon burger-icon-left\" id=\"kt_aside_mobile_toggle\">\r\n <span/>\r\n </button>\r\n {/*end::Aside Mobile Toggle*/}\r\n </>\r\n )}\r\n\r\n {layoutProps.headerMenuSelfDisplay && (\r\n <>\r\n {/*begin::Header Menu Mobile Toggle*/}\r\n <button className=\"btn p-0 burger-icon ml-4\" id=\"kt_header_mobile_toggle\">\r\n <span/>\r\n </button>\r\n {/*end::Header Menu Mobile Toggle*/}\r\n </>\r\n )}\r\n\r\n {/*begin::Topbar Mobile Toggle*/}\r\n <button\r\n className=\"btn btn-hover-text-primary p-0 ml-2\"\r\n id=\"kt_header_mobile_topbar_toggle\"\r\n >\r\n <span className=\"svg-icon svg-icon-xl\">\r\n <SVG src={toAbsoluteUrl(\"/media/svg/icons/General/User.svg\")} />\r\n </span>\r\n </button>\r\n {/*end::Topbar Mobile Toggle*/}\r\n </div>\r\n {/*end::Toolbar*/}\r\n </div>\r\n {/*end::Header Mobile*/}\r\n </>\r\n );\r\n}\r\n","import React, {useMemo} from \"react\";\r\nimport {Link} from \"react-router-dom\";\r\nimport objectPath from \"object-path\";\r\nimport SVG from \"react-inlinesvg\";\r\nimport {useHtmlClassService} from \"../../_core/MetronicLayout\";\r\nimport {toAbsoluteUrl} from \"../../../_helpers\";\r\n\r\nexport function Brand() {\r\n const uiService = useHtmlClassService();\r\n\r\n const layoutProps = useMemo(() => {\r\n return {\r\n brandClasses: uiService.getClasses(\"brand\", true),\r\n asideSelfMinimizeToggle: objectPath.get(\r\n uiService.config,\r\n \"aside.self.minimize.toggle\"\r\n ),\r\n headerLogo: uiService.getLogo(),\r\n headerStickyLogo: uiService.getStickyLogo()\r\n };\r\n }, [uiService]);\r\n\r\n return (\r\n <>\r\n {/* begin::Brand */}\r\n <div\r\n className={`brand flex-column-auto ${layoutProps.brandClasses}`}\r\n id=\"kt_brand\"\r\n >\r\n {/* begin::Logo */}\r\n <Link to=\"/Home\" className=\"brand-logo\">\r\n <img alt=\"logo\" src={layoutProps.headerLogo}/>\r\n </Link>\r\n {/* end::Logo */}\r\n\r\n {layoutProps.asideSelfMinimizeToggle && (\r\n <>\r\n {/* begin::Toggle */}\r\n <button className=\"brand-toggle btn btn-sm px-0\" id=\"kt_aside_toggle\">\r\n <span className=\"svg-icon svg-icon-xl\">\r\n <SVG src={toAbsoluteUrl(\"/media/svg/icons/Navigation/Angle-double-left.svg\")}/>\r\n </span>\r\n </button>\r\n {/* end::Toolbar */}\r\n </>\r\n )}\r\n </div>\r\n {/* end::Brand */}\r\n </>\r\n );\r\n}\r\n","import { IconButton } from \"@material-ui/core\";\r\nimport CloseIcon from \"@material-ui/icons/Close\";\r\nimport low from \"lowdb\";\r\nimport LocalStorage from \"lowdb/adapters/LocalStorage\";\r\nimport moment from \"moment\";\r\nimport React, { useEffect, useState } from \"react\";\r\nimport { Card, Modal } from \"react-bootstrap\";\r\nimport SVG from \"react-inlinesvg\";\r\nimport { useLocation } from \"react-router\";\r\nimport { NavLink, useHistory } from \"react-router-dom\";\r\nimport Swal from \"sweetalert2\";\r\nimport { Notification } from \"../../../../../app/modules/Notification\";\r\nimport { checkIsActive, toAbsoluteUrl } from \"../../../../_helpers\";\r\nimport { Input } from \"../../../../_partials/controls\";\r\nconst adapter = new LocalStorage(\"db\");\r\nconst db = low(adapter);\r\nfunction createMarkup(dataString) {\r\n return { __html: dataString };\r\n}\r\nexport function AsideMenuList({ layoutProps }) {\r\n let history = useHistory();\r\n const [menuType, setmenuType] = useState(1);\r\n const [menuListLinks, setMenuListLinks] = useState([]);\r\n const [releaseNotes, setReleaseNotesList] = useState([]);\r\n const [itemRelease, setItemRelease] = useState(null);\r\n\r\n const [fetchStatus, setFetchStatus] = useState(400);\r\n const location = useLocation();\r\n\r\n const getMenuItemActive = (url) => {\r\n return checkIsActive(location, url)\r\n ? \" menu-item-active menu-item-open \"\r\n : \"\";\r\n };\r\n\r\n const CheckIsExist = (url) => {\r\n if (window.TabsIsExist.includes(url)) {\r\n return true;\r\n } else return false;\r\n };\r\n\r\n const getMenuItemShowing = (menu) => {\r\n /* if (!window.monuType) window.location.href = \"/Home\";\r\n return menu === window.monuType ? \"\" : \"d-none\"; */\r\n };\r\n async function GetMenuList() {\r\n return await fetch(window.$apiurl + \"/menu\", {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n if (statusCode === 401) {\r\n Swal.fire({\r\n position: \"center\",\r\n icon: \"info\",\r\n title: \"Session expired. Logout ...\",\r\n showConfirmButton: false,\r\n timer: 3000,\r\n });\r\n setTimeout(function () {\r\n const toggle = document.getElementById(\"kt_quick_user_toggle\");\r\n if (toggle) {\r\n toggle.click();\r\n }\r\n history.push(\"/logout\");\r\n }, 2000);\r\n }\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n const menus = res[1];\r\n try {\r\n setFetchStatus(res[0]);\r\n } catch (err) { }\r\n menus.map((item) => {\r\n item.Options = JSON.parse(item.Options);\r\n item.SubMenu.map((itemX) => {\r\n itemX.Options = JSON.parse(itemX.Options);\r\n if (itemX.SubMenu.length > 0) {\r\n itemX.SubMenu.map((a) => {\r\n a.Options = JSON.parse(a.Options);\r\n });\r\n }\r\n });\r\n });\r\n setMenuListLinks(menus);\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n async function GetReleaseNotesList() {\r\n return await fetch(window.$apiurl + \"/generic/releaseNotes/get\", {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n const list = res[1];\r\n list.sort(function (a, b) {\r\n return new Date(b.Created) - new Date(a.Created);\r\n });\r\n try {\r\n if (list.length > 0) {\r\n if (\r\n moment(list[0].Created).isSame(Date.now(), \"day\") &&\r\n !localStorage[`ReleaseNotesModalFetchSeenToday-${list[0].Id}`]\r\n ) {\r\n window.$isSeenToday = true;\r\n window.$idReleaseToday = list[0].Id;\r\n onHideModal(true);\r\n }\r\n }\r\n } catch (err) { }\r\n setItemRelease(list?.length > 0 && list[0]);\r\n setReleaseNotesList(list || []);\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n useEffect(() => {\r\n GetMenuList();\r\n GetReleaseNotesList();\r\n }, []);\r\n // useEffect(() => {\r\n // var href = window.location.pathname;\r\n // if (href.indexOf(\"/transload\") > -1) setmenuType(2);\r\n // else setmenuType(1);\r\n // });\r\n\r\n function getSvgItems(name) {\r\n let svg = \"\";\r\n switch (name) {\r\n case \"Dashboard\": {\r\n svg = (\r\n <SVG\r\n src={toAbsoluteUrl(\"/media/svg/icons/Communication/vessel.svg\")}\r\n />\r\n );\r\n break;\r\n }\r\n case \"Orders\": {\r\n svg = (\r\n <SVG\r\n src={toAbsoluteUrl(\"/media/svg/icons/Communication/orders.svg\")}\r\n />\r\n );\r\n break;\r\n }\r\n case \"Receipts\": {\r\n svg = (\r\n <SVG\r\n src={toAbsoluteUrl(\"/media/svg/icons/Communication/receipt.svg\")}\r\n />\r\n );\r\n break;\r\n }\r\n case \"Trips\": {\r\n svg = <SVG src={toAbsoluteUrl(\"/media/svg/tracking/distance.svg\")} />;\r\n break;\r\n }\r\n case \"Shipments\": {\r\n svg = (\r\n <SVG\r\n src={toAbsoluteUrl(\r\n \"/media/svg/icons/Communication/shipment-list.svg\"\r\n )}\r\n />\r\n );\r\n break;\r\n }\r\n case \"Purchase Orders\": {\r\n svg = (\r\n <SVG\r\n src={toAbsoluteUrl(\r\n \"/media/svg/icons/Communication/shipment-list.svg\"\r\n )}\r\n />\r\n );\r\n break;\r\n }\r\n case \"Users\": {\r\n svg = (\r\n <SVG\r\n src={toAbsoluteUrl(\"/media/svg/icons/Communication/Group.svg\")}\r\n />\r\n );\r\n break;\r\n }\r\n case \"Customers\": {\r\n svg = <SVG src={toAbsoluteUrl(\"/media/svg/icons/Design/Cap-2.svg\")} />;\r\n break;\r\n }\r\n case \"Items\": {\r\n svg = <SVG src={toAbsoluteUrl(\"/media/svg/icons/Text/Menu.svg\")} />;\r\n break;\r\n }\r\n case \"Warehouses\": {\r\n svg = <SVG src={toAbsoluteUrl(\"/media/svg/icons/Home/Home.svg\")} />;\r\n break;\r\n }\r\n case \"Admin\": {\r\n svg = <SVG src={toAbsoluteUrl(\"/media/svg/icons/General/User.svg\")} />;\r\n break;\r\n }\r\n case \"Billing\": {\r\n svg = (\r\n <SVG\r\n src={toAbsoluteUrl(\r\n \"/media/svg/icons/Communication/purchase-order.svg\"\r\n )}\r\n />\r\n );\r\n break;\r\n }\r\n case \"Reporting\": {\r\n svg = (\r\n <SVG\r\n src={toAbsoluteUrl(\"/media/svg/icons/Files/Selected-file.svg\")}\r\n />\r\n );\r\n break;\r\n }\r\n case \"Addresses\": {\r\n svg = (\r\n <SVG src={toAbsoluteUrl(\"/media/svg/icons/Map/Location-arrow.svg\")} />\r\n );\r\n break;\r\n }\r\n case \"Tools\": {\r\n svg = (\r\n <SVG\r\n src={toAbsoluteUrl(\"/media/svg/icons/Design/Pen-tool-vector.svg\")}\r\n />\r\n );\r\n break;\r\n }\r\n case \"Services/Modes\": {\r\n svg = (\r\n <SVG src={toAbsoluteUrl(\"/media/svg/icons/General/Settings-2.svg\")} />\r\n );\r\n break;\r\n }\r\n case \"Vessel/Voyage\": {\r\n svg = (\r\n <SVG\r\n src={toAbsoluteUrl(\"/media/svg/icons/Communication/vessel.svg\")}\r\n />\r\n );\r\n break;\r\n }\r\n case \"Units of measure\": {\r\n svg = (\r\n <SVG src={toAbsoluteUrl(\"/media/svg/icons/Shopping/Settings.svg\")} />\r\n );\r\n break;\r\n }\r\n case \"MIFF\": {\r\n svg = (\r\n <SVG\r\n src={toAbsoluteUrl(\"/media/svg/icons/Design/Pen-tool-vector.svg\")}\r\n />\r\n );\r\n break;\r\n }\r\n case \"System\": {\r\n svg = (\r\n <SVG\r\n src={toAbsoluteUrl(\"/media/svg/icons/Communication/systemV3.svg\")}\r\n />\r\n );\r\n break;\r\n }\r\n case \"eMpower\": {\r\n svg = (\r\n <img\r\n alt=\"Logo\"\r\n style={{ height: \"13px\" }}\r\n src={toAbsoluteUrl(\"/media/logos/logo-letter-1.png\")}\r\n />\r\n );\r\n break;\r\n }\r\n default: {\r\n svg = (\r\n <SVG\r\n src={toAbsoluteUrl(\"/media/svg/icons/Communication/vessel.svg\")}\r\n />\r\n );\r\n }\r\n }\r\n return svg;\r\n }\r\n const [showModalPassword, onHideModalPassword] = React.useState(false);\r\n const [passwordValue, setPassword] = React.useState(\"\");\r\n const [passwordConfirmValue, setConfirmPassword] = React.useState(\"\");\r\n\r\n const [show, onHideModal] = React.useState(false);\r\n React.useEffect(() => {\r\n if (localStorage[`UserIsResetedPassword`] === \"true\") {\r\n onHideModalPassword(true);\r\n } else {\r\n onHideModalPassword(false);\r\n }\r\n }, [localStorage[`UserIsResetedPassword`]]);\r\n const [typePassword, setTypePassword] = useState(\"password\");\r\n const [passwordVisible, setPasswordVisible] = useState(false);\r\n\r\n React.useEffect(() => {\r\n if (\r\n localStorage[\r\n `ReleaseNotesModalFetchSeen-${db.read().getState().User?.Email}`\r\n ] === undefined\r\n ) {\r\n setTimeout(() => {\r\n localStorage.setItem(\r\n `ReleaseNotesModalFetchSeen-${db.read().getState().User?.Email}`,\r\n true\r\n );\r\n }, 1);\r\n }\r\n if (\r\n localStorage[\r\n `ReleaseNotesModalFetchSeen-${db.read().getState().User?.Email}`\r\n ] === \"true\"\r\n ) {\r\n onHideModal(true);\r\n } else {\r\n onHideModal(false);\r\n }\r\n }, [\r\n localStorage[\r\n `ReleaseNotesModalFetchSeen-${db.read().getState().User?.Email}`\r\n ],\r\n ]);\r\n function getBuildDate(epoch) {\r\n const buildDate = moment(epoch).format(\"MM-DD-YYYY\");\r\n return buildDate;\r\n }\r\n\r\n //Forgot Password\r\n async function ResetPassword() {\r\n return fetch(\r\n window.$apiurl +\r\n `/users/resetPassword?email=${db.read().getState().User?.Email\r\n }&password=${passwordValue}`,\r\n {\r\n method: \"post\",\r\n withCredentials: true,\r\n headers: {\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n }\r\n )\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n const a = res[1];\r\n return a;\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n\r\n async function GetBuildVersion() {\r\n return fetch(\r\n window.$apiurl + `/generic/GetOptionFromWebConfig/AppVersion`,\r\n {\r\n method: \"get\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n }\r\n )\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n if (statusCode === 401) {\r\n Swal.fire({\r\n position: \"center\",\r\n icon: \"info\",\r\n title: \"Session expired. Logout ...\",\r\n showConfirmButton: false,\r\n timer: 3000,\r\n });\r\n setTimeout(function () {\r\n const toggle = document.getElementById(\"kt_quick_user_toggle\");\r\n if (toggle) {\r\n toggle.click();\r\n }\r\n history.push(\"/logout\");\r\n }, 2000);\r\n }\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n const a = res[1];\r\n return a;\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n async function ForceClearCache() {\r\n try {\r\n const result = await GetBuildVersion();\r\n if (\r\n result !== undefined &&\r\n window.location.host !== \"localhost:8000\" &&\r\n window.location.host !== \"localhost:8001\"\r\n ) {\r\n if (result !== window.$BuildVersion) {\r\n Swal.fire({\r\n position: \"center\",\r\n icon: \"info\",\r\n title: \"New Build Version Released. Clearing Cache now ...\",\r\n showConfirmButton: false,\r\n timer: 3000,\r\n });\r\n setTimeout(function () {\r\n if (caches) {\r\n caches.keys().then((names) => {\r\n for (const name of names) {\r\n caches.delete(name);\r\n }\r\n });\r\n }\r\n window.location.reload(true);\r\n }, 2000);\r\n }\r\n }\r\n } catch (err) { }\r\n }\r\n return (\r\n <>\r\n {\r\n <ul className={`menu-nav ${layoutProps.ulClasses}`}>\r\n {/*begin::1 Level*/}\r\n {menuListLinks?.map((items, indexs) => {\r\n if (items?.SubMenu?.length === 0) {\r\n return (\r\n <>\r\n <li\r\n className={`menu-item ${getMenuItemActive(\r\n items?.Options?.url\r\n )}`}\r\n aria-haspopup=\"true\"\r\n >\r\n <NavLink\r\n className=\"menu-link\"\r\n to={items.Options.url}\r\n onClick={(e) => {\r\n ForceClearCache();\r\n window.CreateTabe = items.Options.url;\r\n document.getElementById(\"CreateTabe\").click();\r\n if (CheckIsExist(items.Options.url)) {\r\n e.preventDefault();\r\n return false;\r\n }\r\n }}\r\n >\r\n <span className=\"svg-icon menu-icon\">\r\n {getSvgItems(items.Name)}\r\n </span>\r\n <span className=\"menu-text\">{items.Name}</span>\r\n </NavLink>\r\n </li>\r\n </>\r\n );\r\n } else {\r\n return (\r\n <li\r\n data-menu-toggle={layoutProps.menuDesktopToggle}\r\n aria-haspopup=\"true\"\r\n className={`menu-item menu-item-submenu menu-item-rel ${getMenuItemActive(\r\n \"/custom\"\r\n )}`}\r\n >\r\n <NavLink className=\"menu-link menu-toggle\" to=\"/custom\">\r\n <span className=\"svg-icon menu-icon\">\r\n {getSvgItems(items.Name)}\r\n </span>\r\n <span className=\"menu-text\">{items.Name}</span>\r\n <i className=\"menu-arrow\"></i>\r\n </NavLink>\r\n {items?.SubMenu?.length > 0 ? (\r\n <div className=\"menu-submenu menu-submenu-classic menu-submenu-left\">\r\n <ul className=\"menu-subnav\">\r\n {/*begin::2 Level*/}\r\n {items?.SubMenu?.map((item, index) => {\r\n if (item?.SubMenu?.length > 0) {\r\n console.log(\"item\", item);\r\n console.log(\"item.Options.url\", item.Options.url);\r\n return (\r\n <li\r\n className={`menu-item menu-item-submenu ${getMenuItemActive(\r\n item.Options.url\r\n )}`}\r\n data-menu-toggle=\"hover\"\r\n aria-haspopup=\"true\"\r\n >\r\n <NavLink\r\n className=\"menu-link menu-toggle\"\r\n to={item.Options.url}\r\n onClick={(e) => {\r\n ForceClearCache();\r\n window.CreateTabe = item.Options.url;\r\n document\r\n .getElementById(\"CreateTabe\")\r\n .click();\r\n if (CheckIsExist(item.Options.url)) {\r\n e.preventDefault();\r\n return false;\r\n }\r\n }}\r\n >\r\n <span className=\"menu-text\">{item.Name}</span>\r\n <i className=\"menu-arrow\" />\r\n </NavLink>\r\n <div\r\n className={`menu-submenu menu-submenu-classic menu-submenu-right`}\r\n >\r\n <ul className=\"menu-subnav\">\r\n {item?.SubMenu?.length > 0\r\n ? item.SubMenu.map((a) => {\r\n return (\r\n <li\r\n className={`menu-item ${getMenuItemActive(\r\n a.Options.url\r\n )}`}\r\n >\r\n <NavLink\r\n className=\"menu-link\"\r\n to={a.Options.url}\r\n onClick={(e) => {\r\n ForceClearCache();\r\n window.CreateTabe =\r\n a.Options.url;\r\n document\r\n .getElementById(\r\n \"CreateTabe\"\r\n )\r\n .click();\r\n if (\r\n CheckIsExist(a.Options.url)\r\n ) {\r\n e.preventDefault();\r\n return false;\r\n }\r\n }}\r\n >\r\n <i className=\"menu-bullet menu-bullet-dot\">\r\n <span />\r\n </i>\r\n <span className=\"menu-text\">\r\n {a.Name}\r\n </span>\r\n </NavLink>\r\n </li>\r\n );\r\n })\r\n : \"\"}\r\n </ul>\r\n </div>\r\n </li>\r\n );\r\n } else {\r\n return (\r\n <li\r\n className={`menu-item ${getMenuItemActive(\r\n item.Options.url\r\n )}`}\r\n >\r\n <NavLink\r\n className=\"menu-link\"\r\n to={item.Options.url}\r\n onClick={(e) => {\r\n ForceClearCache();\r\n window.CreateTabe = item.Options.url;\r\n document\r\n .getElementById(\"CreateTabe\")\r\n .click();\r\n if (CheckIsExist(item.Options.url)) {\r\n e.preventDefault();\r\n return false;\r\n }\r\n }}\r\n >\r\n <i className=\"menu-bullet menu-bullet-dot\">\r\n <span />\r\n </i>\r\n <span className=\"menu-text\">{item.Name}</span>\r\n </NavLink>\r\n </li>\r\n );\r\n }\r\n })}\r\n </ul>\r\n </div>\r\n ) : (\r\n \"\"\r\n )}\r\n </li>\r\n );\r\n }\r\n })}\r\n </ul>\r\n }\r\n {/* begin::Menu Nav */}\r\n\r\n {/* Modal Release Notes */}\r\n {!showModalPassword && fetchStatus === 200 && (\r\n <Modal\r\n show={\r\n window.location.pathname === `/ReleaseNotes/${window.$BuildVersion}`\r\n ? false\r\n : show\r\n }\r\n size=\"lg\"\r\n aria-labelledby=\"example-modal-sizes-title-lg\"\r\n >\r\n <Modal.Header>\r\n <Modal.Title id=\"example-modal-sizes-title-lg\">\r\n Release Notes\r\n </Modal.Title>\r\n <IconButton\r\n aria-label=\"Close\"\r\n onClick={() => {\r\n try {\r\n const isTodaySeen = window.$isSeenToday;\r\n const idRelease = window.$idReleaseToday;\r\n if (isTodaySeen) {\r\n setTimeout(() => {\r\n localStorage.setItem(\r\n `ReleaseNotesModalFetchSeenToday-${idRelease}`,\r\n true\r\n );\r\n }, 1);\r\n }\r\n setTimeout(() => {\r\n localStorage.setItem(\r\n `ReleaseNotesModalFetchSeen-${db.read().getState().User?.Email\r\n }`,\r\n false\r\n );\r\n }, 1);\r\n onHideModal(false);\r\n } catch (err) { }\r\n }}\r\n >\r\n <CloseIcon />\r\n </IconButton>\r\n </Modal.Header>\r\n <Modal.Body>\r\n <div className=\"form-group row\">\r\n <div className=\"col-lg-12\">\r\n <Card className=\"border-0 mb-5\">\r\n <div\r\n className=\"label label-lg label-light-primary label-inline border-0 w-100 font-weight-bold text-center p-5 my-5 justify-content-start\"\r\n style={{ fontSize: \"15px\" }}\r\n >\r\n Build Version : {itemRelease?.Title} {\" \"} | {\" \"} Build\r\n Date : {moment(itemRelease?.Created).format(\"MM-DD-YYYY\")}\r\n </div>\r\n <div className=\"p-3\">\r\n <div\r\n dangerouslySetInnerHTML={createMarkup(itemRelease?.Body)}\r\n />\r\n </div>\r\n </Card>\r\n </div>\r\n </div>\r\n </Modal.Body>\r\n <Modal.Footer>\r\n <div>\r\n <button\r\n type=\"button\"\r\n onClick={() => {\r\n try {\r\n const isTodaySeen = window.$isSeenToday;\r\n const idRelease = window.$idReleaseToday;\r\n if (isTodaySeen) {\r\n setTimeout(() => {\r\n localStorage.setItem(\r\n `ReleaseNotesModalFetchSeenToday-${idRelease}`,\r\n true\r\n );\r\n }, 1);\r\n }\r\n setTimeout(() => {\r\n localStorage.setItem(\r\n `ReleaseNotesModalFetchSeen-${db.read().getState().User?.Email\r\n }`,\r\n false\r\n );\r\n }, 1);\r\n onHideModal(false);\r\n } catch (err) { }\r\n }}\r\n className=\"btn btn-light btn-elevate mr-2\"\r\n >\r\n Close\r\n </button>\r\n </div>\r\n </Modal.Footer>\r\n </Modal>\r\n\r\n // <Modal\r\n // show={\r\n // window.location.pathname === `/ReleaseNotes/${window.$BuildVersion}`\r\n // ? false\r\n // : show\r\n // }\r\n // // show={true}\r\n // size=\"lg\"\r\n // // aria-labelledby=\"contained-modal-title-vcenter\"\r\n // // centered\r\n // >\r\n // <Modal.Body>\r\n // <div className=\"row form-group\">\r\n // <img\r\n // alt=\"Logo\"\r\n // className=\"max-h-70px\"\r\n // src={toAbsoluteUrl(\"/media/logos/logo-letter-1.png\")}\r\n // />\r\n\r\n // <h3>eMPower Release Notes</h3>\r\n // </div>\r\n // <hr />\r\n // {releaseNotes.length > 0 &&\r\n // releaseNotes.map((item) => (\r\n // <div className=\"row from-group mb-4\">\r\n // <div className=\"col-lg-12\">\r\n // <div className=\"d-flex align-items-center bg-light-info rounded p-5\">\r\n // <span className=\"svg-icon svg-icon-info mr-5\">\r\n // <SVG\r\n // src={toAbsoluteUrl(\r\n // \"/media/svg/icons/General/Attachment2.svg\"\r\n // )}\r\n // className=\"svg-icon svg-icon-lg\"\r\n // ></SVG>\r\n // </span>\r\n\r\n // <div className=\"d-flex flex-column flex-grow-1 mr-2\">\r\n // <a\r\n // onClick={() => {\r\n // try {\r\n // setTimeout(() => {\r\n // localStorage.setItem(\r\n // `ReleaseNotesModalFetchSeen-${\r\n // db.read().getState().User?.Email\r\n // }`,\r\n // false\r\n // );\r\n // }, 1);\r\n // onHideModal(false);\r\n\r\n // } catch (err) {}\r\n // }}\r\n // role=\"button\"\r\n // // target=\"_blank\"\r\n // // href={`/ReleaseNotes/${window.$BuildVersion}`}\r\n // className=\"font-weight-normel text-dark-75 text-hover-primary font-size-lg mb-1\"\r\n // >\r\n // Release Notes V{item.BuildVersion}\r\n // </a>\r\n // <span className=\"text-muted font-size-sm\">\r\n // Build Date{\" \"}\r\n // <strong>{getBuildDate(item.Created)}</strong>\r\n // </span>\r\n // </div>\r\n\r\n // <span className=\"font-weight-bolder text-info py-1 font-size-lg\">\r\n // <i class=\"fas fa-arrow-circle-right\"></i>\r\n // </span>\r\n // </div>\r\n // </div>\r\n // </div>\r\n // ))}\r\n // {releaseNotes.length === 0 && (\r\n // <>\r\n // <div className=\"form-group row\">\r\n // <div\r\n // className=\"col-lg-12 p-5 mt-md-9\"\r\n // style={{ textAlign: \"center\" }}\r\n // >\r\n // <h3 className=\"text-muted\">No Release notes yet</h3>\r\n // </div>\r\n // </div>\r\n // </>\r\n // )}\r\n // </Modal.Body>\r\n // <Modal.Footer>\r\n // <button\r\n // type=\"button\"\r\n // className=\"btn btn-light btn-elevate\"\r\n // onClick={() => {\r\n // try {\r\n // const isTodaySeen = window.$isSeenToday;\r\n // const idRelease = window.$idReleaseToday;\r\n // if (isTodaySeen) {\r\n // setTimeout(() => {\r\n // localStorage.setItem(\r\n // `ReleaseNotesModalFetchSeenToday-${idRelease}`,\r\n // true\r\n // );\r\n // }, 1);\r\n // }\r\n // setTimeout(() => {\r\n // localStorage.setItem(\r\n // `ReleaseNotesModalFetchSeen-${\r\n // db.read().getState().User?.Email\r\n // }`,\r\n // false\r\n // );\r\n // }, 1);\r\n // onHideModal(false);\r\n // } catch (err) {}\r\n // }}\r\n // >\r\n // Close\r\n // </button>\r\n // </Modal.Footer>\r\n // </Modal>\r\n )}\r\n\r\n <Modal\r\n show={showModalPassword}\r\n // show={true}\r\n size=\"lg\"\r\n // aria-labelledby=\"contained-modal-title-vcenter\"\r\n // centered\r\n >\r\n <Modal.Body>\r\n <div className=\"row form-group\">\r\n <div className=\"col-lg-12\">\r\n <h3>Update Password</h3>\r\n </div>\r\n </div>\r\n <hr />\r\n <div className=\"row from-group mb-4\">\r\n <div className=\"col-lg-12\">\r\n <div className=\"form-group row\">\r\n <div className=\"col-lg-12\">\r\n <label>New Password</label>\r\n <span\r\n className=\"passwordEye1 ml-3\"\r\n onClick={() => {\r\n if (passwordVisible) {\r\n setTypePassword(\"password\");\r\n setPasswordVisible(false);\r\n } else {\r\n setTypePassword(\"text\");\r\n setPasswordVisible(true);\r\n }\r\n }}\r\n >\r\n {passwordVisible && <i class=\"fas fa-eye\"></i>}\r\n {!passwordVisible && <i class=\"fas fa-eye-slash\"></i>}\r\n </span>\r\n <input\r\n className=\"form-control\"\r\n name=\"Password\"\r\n type={typePassword}\r\n component={Input}\r\n placeholder=\"New Password\"\r\n value={passwordValue}\r\n onChange={(e) => {\r\n setPassword(e.target.value);\r\n }}\r\n />\r\n </div>\r\n </div>\r\n\r\n <div className=\"form-group row\">\r\n <div className=\"col-lg-12\">\r\n <label>Confirm New Password</label>\r\n <input\r\n className=\"form-control\"\r\n name=\"Password\"\r\n type={typePassword}\r\n component={Input}\r\n placeholder=\"Confirm New Password\"\r\n value={passwordConfirmValue}\r\n onChange={(e) => {\r\n setConfirmPassword(e.target.value);\r\n }}\r\n />\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </Modal.Body>\r\n <Modal.Footer>\r\n <button\r\n type=\"button\"\r\n className=\"btn btn-primary btn-elevate\"\r\n onClick={async () => {\r\n try {\r\n if (passwordValue === passwordConfirmValue) {\r\n const result = await ResetPassword();\r\n if (result.Success) {\r\n Notification(\"success\", \"Password updated successfully !\");\r\n setTimeout(() => {\r\n localStorage.setItem(`UserIsResetedPassword`, false);\r\n }, 1);\r\n onHideModalPassword(false);\r\n onHideModal(true);\r\n }\r\n } else {\r\n Notification(\r\n \"error\",\r\n \"Password and Confirm Password does not match\"\r\n );\r\n }\r\n } catch (err) { }\r\n }}\r\n >\r\n Save\r\n </button>\r\n </Modal.Footer>\r\n </Modal>\r\n </>\r\n );\r\n}\r\n","import React, {useMemo} from \"react\";\r\nimport {AsideMenuList} from \"./AsideMenuList\";\r\nimport {useHtmlClassService} from \"../../../_core/MetronicLayout\";\r\n\r\nexport function AsideMenu({disableScroll}) {\r\n const uiService = useHtmlClassService();\r\n const layoutProps = useMemo(() => {\r\n return {\r\n layoutConfig: uiService.config,\r\n asideMenuAttr: uiService.getAttributes(\"aside_menu\"),\r\n ulClasses: uiService.getClasses(\"aside_menu_nav\", true),\r\n asideClassesFromConfig: uiService.getClasses(\"aside_menu\", true)\r\n };\r\n }, [uiService]);\r\n\r\n return (\r\n <>\r\n {/* begin::Menu Container */}\r\n <div\r\n id=\"kt_aside_menu\"\r\n data-menu-vertical=\"1\"\r\n className={`aside-menu my-4 ${layoutProps.asideClassesFromConfig}`}\r\n {...layoutProps.asideMenuAttr}\r\n >\r\n <AsideMenuList layoutProps={layoutProps} />\r\n </div>\r\n {/* end::Menu Container */}\r\n </>\r\n );\r\n}\r\n","import React, { useMemo } from \"react\";\r\nimport { Link } from \"react-router-dom\";\r\nimport objectPath from \"object-path\";\r\nimport { Brand } from \"../brand/Brand\";\r\nimport { AsideMenu } from \"./aside-menu/AsideMenu\";\r\nimport { useHtmlClassService } from \"../../_core/MetronicLayout\";\r\n\r\nexport function Aside() {\r\n document.body.style.backgroundColor = \"#EEF0F8\";\r\n const uiService = useHtmlClassService();\r\n\r\n const layoutProps = useMemo(() => {\r\n return {\r\n disableScroll:\r\n objectPath.get(uiService.config, \"aside.menu.dropdown\") === \"true\" ||\r\n false,\r\n asideClassesFromConfig: uiService.getClasses(\"aside\", true),\r\n disableAsideSelfDisplay:\r\n objectPath.get(uiService.config, \"aside.self.display\") === false,\r\n headerLogo: uiService.getLogo(),\r\n };\r\n }, [uiService]);\r\n\r\n return (\r\n <>\r\n {/* begin::Aside */}\r\n <div\r\n id=\"kt_aside\"\r\n className={`aside aside-left ${layoutProps.asideClassesFromConfig} d-flex flex-column flex-row-auto`}\r\n >\r\n <Brand />\r\n\r\n {/* begin::Aside Menu */}\r\n <div\r\n id=\"kt_aside_menu_wrapper\"\r\n className=\"aside-menu-wrapper flex-column-fluid\"\r\n >\r\n {layoutProps.disableAsideSelfDisplay && (\r\n <>\r\n {/* begin::Header Logo */}\r\n <div className=\"header-logo\">\r\n <Link to=\"\">\r\n <img alt=\"logo\" src={layoutProps.headerLogo} />\r\n </Link>\r\n </div>\r\n {/* end::Header Logo */}\r\n </>\r\n )}\r\n <AsideMenu disableScroll={layoutProps.disableScroll} />\r\n </div>\r\n {/* end::Aside Menu */}\r\n </div>\r\n {/* end::Aside */}\r\n </>\r\n );\r\n}\r\n","import React, {useMemo} from \"react\";\r\nimport {useHtmlClassService} from \"../../_core/MetronicLayout\";\r\nimport packageJson from \"../../../../../package.json\";\r\nimport moment from \"moment\";\r\n\r\nexport const getBuildDate = (epoch) => {\r\n const buildDate = moment(epoch).format(\"MM-DD-YYYY\");\r\n return buildDate;\r\n};\r\n\r\nexport function Footer() {\r\n const today = new Date().getFullYear();\r\n const uiService = useHtmlClassService();\r\n\r\n const layoutProps = useMemo(() => {\r\n return {\r\n footerClasses: uiService.getClasses(\"footer\", true),\r\n footerContainerClasses: uiService.getClasses(\"footer_container\", true)\r\n };\r\n }, [uiService]);\r\n\r\n return (\r\n <div\r\n className={`footer bg-white py-4 d-flex flex-lg-column ${layoutProps.footerClasses}`}\r\n id=\"kt_footer\"\r\n >\r\n <div\r\n className={`${layoutProps.footerContainerClasses} d-flex flex-column flex-md-row align-items-center justify-content-between`}\r\n >\r\n <div className=\"text-dark order-2 order-md-1\">\r\n <span className=\"text-muted font-weight-bold mr-2\">{today.toString()}</span> ©{\" \"}\r\n <a\r\n href=\"#\"\r\n target=\"_blank\"\r\n rel=\"noopener noreferrer\"\r\n className=\"text-dark-75 text-hover-primary\"\r\n >\r\n eMPower\r\n </a> \r\n {\" \"}\r\n <span className=\"text-muted mr-2\">\r\n Build Version <a href={`/ReleaseNotes/${window.$BuildVersion}`} target=\"_blank\" className=\"font-weight-bolder text-muted\">{window.$BuildVersion}</a> /\r\n Build Date <strong>{getBuildDate(packageJson.buildDate)}</strong>\r\n </span>\r\n </div>\r\n <div className=\"nav nav-dark order-1 order-md-2\">\r\n <a\r\n href=\"#\"\r\n target=\"_blank\"\r\n rel=\"noopener noreferrer\"\r\n className=\"nav-link pr-3 pl-0\"\r\n >\r\n About\r\n </a>\r\n <a\r\n href=\"#\"\r\n target=\"_blank\"\r\n rel=\"noopener noreferrer\"\r\n className=\"nav-link px-3\"\r\n >\r\n Team\r\n </a>\r\n <a\r\n href=\"#\"\r\n target=\"_blank\"\r\n rel=\"noopener noreferrer\"\r\n className=\"nav-link pl-3 pr-0\"\r\n >\r\n Contact\r\n </a>\r\n </div>\r\n </div>\r\n </div>\r\n );\r\n}\r\n","/* eslint-disable */\r\n\"use strict\";\r\n\r\nimport { KTUtil } from \"./../../components/util.js\";\r\n\r\nvar KTLayoutHeader = function() {\r\n // Private properties\r\n var _element;\r\n var _elementForMobile;\r\n var _object;\r\n\r\n\t// Private functions\r\n // Get Height\r\n var _getHeight = function() {\r\n var height = 0;\r\n\r\n if (_element) {\r\n height = KTUtil.actualHeight(_element) + 1;\r\n }\r\n\r\n return height;\r\n }\r\n\r\n // Get Height\r\n var _getHeightForMobile = function() {\r\n var height;\r\n\r\n height = KTUtil.actualHeight(_elementForMobile);\r\n\r\n return height;\r\n }\r\n\r\n // Public Methods\r\n\treturn {\r\n\t\tinit: function(id, idForMobile) {\r\n _element = KTUtil.getById(id);\r\n _elementForMobile = KTUtil.getById(idForMobile);\r\n\r\n if (!_element) {\r\n return;\r\n }\r\n\t\t},\r\n\r\n isFixed: function() {\r\n return KTUtil.hasClass(KTUtil.getBody(), 'header-fixed')\r\n },\r\n\r\n isFixedForMobile: function() {\r\n return KTUtil.hasClass(KTUtil.getBody(), 'header-mobile-fixed')\r\n },\r\n\r\n getElement: function() {\r\n return _element;\r\n },\r\n\r\n getElementForMobile: function() {\r\n return _elementForMobile;\r\n },\r\n\r\n getHeader: function() {\r\n return _object;\r\n },\r\n\r\n getHeight: function() {\r\n return _getHeight();\r\n },\r\n\r\n getHeightForMobile: function() {\r\n return _getHeightForMobile();\r\n }\r\n\t};\r\n}();\r\n\r\n// Webpack support\r\nif (typeof module !== 'undefined') {\r\n\t// module.exports = KTLayoutHeader;\r\n}\r\n\r\nexport default KTLayoutHeader;","/* eslint-disable */\r\n\"use strict\";\r\n\r\nimport KTOffcanvas from \"./../../components/offcanvas.js\";\r\nimport KTMenu from \"./../../components/menu.js\";\r\nimport { KTUtil } from \"./../../components/util.js\";\r\n\r\nvar KTLayoutHeaderMenu = function() {\r\n // Private properties\r\n\tvar _menuElement;\r\n var _menuObject;\r\n var _offcanvasElement;\r\n var _offcanvasObject;\r\n\r\n // Private functions\r\n\tvar _init = function() {\r\n\t\t_offcanvasObject = new KTOffcanvas(_offcanvasElement, {\r\n\t\t\toverlay: true,\r\n\t\t\tbaseClass: 'header-menu-wrapper',\r\n\t\t\tcloseBy: 'kt_header_menu_mobile_close_btn',\r\n\t\t\ttoggleBy: {\r\n\t\t\t\ttarget: 'kt_header_mobile_toggle',\r\n\t\t\t\tstate: 'mobile-toggle-active'\r\n\t\t\t}\r\n\t\t});\r\n\t\t\r\n\t\t_menuObject = new KTMenu(_menuElement, {\r\n\t\t\tsubmenu: {\r\n\t\t\t\tdesktop: 'dropdown',\r\n\t\t\t\ttablet: 'accordion',\r\n\t\t\t\tmobile: 'accordion'\r\n\t\t\t},\r\n\t\t\taccordion: {\r\n\t\t\t\tslideSpeed: 200, // accordion toggle slide speed in milliseconds\r\n\t\t\t\texpandAll: false // allow having multiple expanded accordions in the menu\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\t// Close aside offcanvas panel before page reload On tablet and mobile\r\n _menuObject.on('linkClick', function(menu) {\r\n if (KTUtil.isBreakpointDown('lg')) { // Tablet and mobile mode\r\n _offcanvasObject.hide(); // Hide offcanvas after general link click\r\n }\r\n });\r\n\t}\r\n\r\n // Public methods\r\n\treturn {\r\n init: function(menuId, offcanvasId) {\r\n _menuElement = KTUtil.getById(menuId);\r\n _offcanvasElement = KTUtil.getById(offcanvasId);\r\n\r\n if (!_menuElement) {\r\n return;\r\n }\r\n\r\n // Initialize menu\r\n _init();\r\n\t\t},\r\n\r\n\t\tgetMenuElement: function() {\r\n\t\t\treturn _menuElement;\r\n\t\t},\r\n\r\n getOffcanvasElement: function() {\r\n\t\t\treturn _offcanvasElement;\r\n\t\t},\r\n\r\n getMenu: function() {\r\n\t\t\treturn _menuObject;\r\n\t\t},\r\n\r\n\t\tpauseDropdownHover: function(time) {\r\n\t\t\tif (_menuObject) {\r\n\t\t\t\t_menuObject.pauseDropdownHover(time);\r\n\t\t\t}\r\n\t\t},\r\n\r\n getOffcanvas: function() {\r\n\t\t\treturn _offcanvasObject;\r\n\t\t},\r\n\r\n\t\tcloseMobileOffcanvas: function() {\r\n\t\t\tif (_menuObject && KTUtil.isMobileDevice()) {\r\n\t\t\t\t_offcanvasObject.hide();\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n}();\r\n\r\n// Webpack support\r\nif (typeof module !== 'undefined') {\r\n\t// module.exports = KTLayoutHeaderMenu;\r\n}\r\n\r\nexport default KTLayoutHeaderMenu;","/* eslint-disable */\r\n\"use strict\";\r\n\r\nimport KTToggle from \"./../../components/toggle.js\";\r\nimport { KTUtil } from \"./../../components/util.js\";\r\n\r\nvar KTLayoutHeaderTopbar = function() {\r\n // Private properties\r\n\tvar _toggleElement;\r\n var _toggleObject;\r\n\r\n // Private functions\r\n var _init = function() {\r\n\t\t\t_toggleObject = new KTToggle(_toggleElement, {\r\n\t\t\t\ttarget: KTUtil.getBody(),\r\n\t\t\t\ttargetState: 'topbar-mobile-on',\r\n\t\t\t\ttoggleState: 'active',\r\n\t\t\t});\r\n }\r\n\r\n // Public methods\r\n\treturn {\r\n\t\tinit: function(id) {\r\n _toggleElement = KTUtil.getById(id);\r\n\r\n\t\t\tif (!_toggleElement) {\r\n return;\r\n }\r\n\r\n // Initialize\r\n _init();\r\n\t\t},\r\n\r\n getToggleElement: function() {\r\n return _toggleElement;\r\n }\r\n\t};\r\n}();\r\n\r\n// Webpack support\r\nif (typeof module !== 'undefined') {\r\n\t// module.exports = KTLayoutHeaderTopbar;\r\n}\r\n\r\nexport default KTLayoutHeaderTopbar;","/* eslint-disable */\r\n\"use strict\";\r\n\r\nimport { KTUtil } from \"./../../components/util.js\";\r\n\r\nvar KTLayoutBrand = function() {\r\n // Private properties\r\n var _element;\r\n\r\n // Private functions\r\n var _getHeight = function() {\r\n var height = 0;\r\n\r\n if (_element) {\r\n height = KTUtil.actualHeight(_element);\r\n }\r\n\r\n return height;\r\n }\r\n\r\n // Public methods\r\n\treturn {\r\n\t\tinit: function(id) {\r\n _element = KTUtil.getById(id);\r\n\r\n if (!_element) {\r\n return;\r\n }\r\n\t\t},\r\n\r\n getElement: function() {\r\n return _element;\r\n },\r\n\r\n getHeight: function() {\r\n return _getHeight();\r\n }\r\n\t};\r\n}();\r\n\r\n// Webpack support\r\nif (typeof module !== 'undefined') {\r\n\t// module.exports = KTLayoutBrand;\r\n}\r\n\r\nexport default KTLayoutBrand;","/* eslint-disable */\r\n\"use strict\";\r\n\r\nimport { KTUtil } from \"./../../components/util.js\";\r\nimport KTLayoutBrand from \"./brand.js\";\r\nimport KTMenu from \"./../../components/menu.js\";\r\nimport KTLayoutAside from \"./aside.js\";\r\n\r\nvar KTLayoutAsideMenu = function() {\r\n // Private properties\r\n var _element;\r\n var _menuObject;\r\n\r\n\t// Initialize\r\n\tvar _init = function() {\r\n\t\tvar menuDesktopMode = (KTUtil.attr(_element, 'data-menu-dropdown') === '1' ? 'dropdown' : 'accordion');\r\n var scroll;\r\n\r\n\t\tif (KTUtil.attr(_element, 'data-menu-scroll') === '1') {\r\n\t\t\tscroll = {\r\n\t\t\t\trememberPosition: true, // remember position on page reload\r\n\t\t\t\theight: function() { // calculate available scrollable area height\r\n\t\t\t\t\tvar height = parseInt(KTUtil.getViewPort().height);\r\n\r\n\t\t\t\t\tif (KTUtil.isBreakpointUp('lg')) {\r\n\t\t\t\t\t\theight = height - KTLayoutBrand.getHeight();\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\theight = height - (parseInt(KTUtil.css(_element, 'marginBottom')) + parseInt(KTUtil.css(_element, 'marginTop')));\r\n\r\n\t\t\t\t\treturn height;\r\n\t\t\t\t}\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\t_menuObject = new KTMenu(_element, {\r\n\t\t\t// Vertical scroll\r\n\t\t\tscroll: scroll,\r\n\r\n\t\t\t// Submenu setup\r\n\t\t\tsubmenu: {\r\n\t\t\t\tdesktop: menuDesktopMode,\r\n\t\t\t\ttablet: 'accordion', // menu set to accordion in tablet mode\r\n\t\t\t\tmobile: 'accordion' // menu set to accordion in mobile mode\r\n\t\t\t},\r\n\r\n\t\t\t// Accordion setup\r\n\t\t\taccordion: {\r\n\t\t\t\texpandAll: false // allow having multiple expanded accordions in the menu\r\n\t\t\t}\r\n\t\t});\r\n\r\n // Disable menu click if aside is fixed and minimized\r\n _menuObject.on('submenuToggle', function(menu) {\r\n if (KTLayoutAside.isMinimized() === true && KTLayoutAside.isHoverable() === false) {\r\n return false;\r\n }\r\n });\r\n\r\n // Close aside offcanvas panel before page reload On tablet and mobile\r\n _menuObject.on('linkClick', function(menu) {\r\n if (KTUtil.isBreakpointDown('lg')) { // Tablet and mobile mode\r\n KTLayoutAside.getOffcanvas().hide(); // Hide offcanvas after general link click\r\n }\r\n });\r\n\t}\r\n\r\n // Public methods\r\n\treturn {\r\n\t\tinit: function(id) {\r\n _element = KTUtil.getById(id);\r\n\r\n if (!_element) {\r\n return;\r\n }\r\n\r\n // Initialize menu\r\n _init();\r\n\t\t},\r\n\r\n\t\tgetElement: function() {\r\n\t\t\treturn _element;\r\n\t\t},\r\n\r\n getMenu: function() {\r\n\t\t\treturn _menuObject;\r\n\t\t},\r\n\r\n pauseDropdownHover: function(time) {\r\n\t\t\tif (_menuObject) {\r\n\t\t\t\t_menuObject.pauseDropdownHover(time);\r\n\t\t\t}\r\n\t\t},\r\n\r\n\t\tcloseMobileOffcanvas: function() {\r\n\t\t\tif (_menuObject && KTUtil.isMobileDevice()) {\r\n\t\t\t\t_menuObject.hide();\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n}();\r\n\r\n// Webpack support\r\nif (typeof module !== 'undefined') {\r\n\t// module.exports = KTLayoutAsideMenu;\r\n}\r\n\r\nexport default KTLayoutAsideMenu;","/* eslint-disable */\r\n\"use strict\";\r\n\r\nimport { KTUtil } from \"./../../components/util.js\";\r\nimport KTOffcanvas from \"./../../components/offcanvas.js\";\r\nimport KTLayoutAsideMenu from \"./aside-menu.js\";\r\n\r\nvar KTLayoutAside = function() {\r\n // Private properties\r\n var _body;\r\n var _element;\r\n var _offcanvasObject;\r\n\r\n // Private functions\r\n\t// Initialize\r\n\tvar _init = function() {\r\n\t\tvar offcanvasClass = KTUtil.hasClass(_element, 'aside-offcanvas-default') ? 'aside-offcanvas-default' : 'aside';\r\n\r\n // Initialize mobile aside offcanvas\r\n\t\t_offcanvasObject = new KTOffcanvas(_element, {\r\n\t\t\tbaseClass: offcanvasClass,\r\n\t\t\toverlay: true,\r\n\t\t\tcloseBy: 'kt_aside_close_btn',\r\n\t\t\ttoggleBy: {\r\n\t\t\t\ttarget: 'kt_aside_mobile_toggle',\r\n\t\t\t\tstate: 'mobile-toggle-active'\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\t// Handle Minimized Aside Hover\r\n\t\tif (KTUtil.hasClass(_body, 'aside-fixed') && KTUtil.hasClass(_body, 'aside-minimize-hoverable')) {\r\n\t\t\tvar insideTm;\r\n\t\t\tvar outsideTm;\r\n\r\n // Handle Aside Hover Mode\r\n\t\t\tKTUtil.addEvent(_element, 'mouseenter', function(e) {\r\n\t\t\t\te.preventDefault();\r\n\r\n\t\t\t\tif (KTUtil.isBreakpointUp('lg') === false) {\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (outsideTm) {\r\n\t\t\t\t\tclearTimeout(outsideTm);\r\n\t\t\t\t\toutsideTm = null;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tinsideTm = setTimeout(function() {\r\n\t\t\t\t\tif (KTUtil.hasClass(_body, 'aside-minimize') && KTUtil.isBreakpointUp('lg')) {\r\n\t\t\t\t\t\tKTUtil.removeClass(_body, 'aside-minimize');\r\n\r\n\t\t\t\t\t\t// Hover class\r\n\t\t\t\t\t\tKTUtil.addClass(_body, 'aside-minimize-hover');\r\n\r\n\t\t\t\t\t\tKTLayoutAsideMenu.getMenu().scrollUpdate();\r\n\t\t\t\t\t\tKTLayoutAsideMenu.getMenu().scrollTop();\r\n\t\t\t\t\t}\r\n\t\t\t\t}, 50);\r\n\t\t\t});\r\n\r\n\t\t\tKTUtil.addEvent(_element, 'mouseleave', function(e) {\r\n\t\t\t\te.preventDefault();\r\n\r\n\t\t\t\tif (KTUtil.isBreakpointUp('lg') === false) {\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (insideTm) {\r\n\t\t\t\t\tclearTimeout(insideTm);\r\n\t\t\t\t\tinsideTm = null;\r\n\t\t\t\t}\r\n\r\n\t\t\t\toutsideTm = setTimeout(function() {\r\n\t\t\t\t if (KTUtil.hasClass(_body, 'aside-minimize-hover') && KTUtil.isBreakpointUp('lg')) {\r\n\t\t\t\t\t KTUtil.removeClass(_body, 'aside-minimize-hover');\r\n\t\t\t\t\t KTUtil.addClass(_body, 'aside-minimize');\r\n\r\n\t\t\t\t\t\t// Hover class\r\n KTLayoutAsideMenu.getMenu().scrollUpdate();\r\n\t\t\t\t\t\tKTLayoutAsideMenu.getMenu().scrollTop();\r\n\t\t\t\t\t}\r\n\t\t\t\t}, 100);\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n\r\n // Public methods\r\n\treturn {\r\n\t\tinit: function(id) {\r\n _element = KTUtil.getById(id);\r\n _body = KTUtil.getBody();\r\n\r\n if (!_element) {\r\n return;\r\n }\r\n\r\n // Initialize\r\n _init();\r\n },\r\n\r\n getElement: function() {\r\n return _element;\r\n },\r\n\r\n getOffcanvas: function() {\r\n return _offcanvasObject;\r\n },\r\n\r\n isFixed: function() {\r\n return KTUtil.hasClass(_body, 'aside-fixed');\r\n },\r\n\r\n isMinimized: function() {\r\n return (KTUtil.hasClass(_body, 'aside-fixed') && KTUtil.hasClass(_body, 'aside-minimize'));\r\n },\r\n\r\n isHoverable: function() {\r\n return (KTUtil.hasClass(_body, 'aside-fixed') && KTUtil.hasClass(_body, 'aside-minimize-hoverable'));\r\n }\r\n\t};\r\n}();\r\n\r\n// Webpack support\r\nif (typeof module !== 'undefined') {\r\n\t// module.exports = KTLayoutAside;\r\n}\r\n\r\nexport default KTLayoutAside;","/* eslint-disable */\r\n\"use strict\";\r\n\r\nimport { KTUtil } from \"./../../components/util.js\";\r\n\r\nvar KTLayoutSubheader = function() {\r\n // Private properties\r\n var _element;\r\n\r\n // Private functions\r\n var _getHeight = function() {\r\n var height = 0;\r\n\r\n if (_element) {\r\n height = KTUtil.actualHeight(_element);\r\n }\r\n\r\n return height;\r\n }\r\n\r\n // Public methods\r\n\treturn {\r\n\t\tinit: function(id) {\r\n _element = KTUtil.getById(id);\r\n\r\n if (!_element) {\r\n return;\r\n }\r\n\t\t},\r\n\r\n isFixed: function() {\r\n return KTUtil.hasClass(KTUtil.getBody(), 'subheader-fixed');\r\n },\r\n\r\n getElement: function() {\r\n return _element;\r\n },\r\n\r\n getHeight: function() {\r\n return _getHeight();\r\n }\r\n\t};\r\n}();\r\n\r\n// Webpack support\r\nif (typeof module !== 'undefined') {\r\n\t// module.exports = KTLayoutSubheader;\r\n}\r\n\r\nexport default KTLayoutSubheader;","/* eslint-disable */\r\n\"use strict\";\r\n\r\nimport KTLayoutHeader from \"./header.js\";\r\nimport KTCard from \"./../../components/card.js\";\r\nimport { KTUtil } from \"./../../components/util.js\";\r\nimport KTLayoutSubheader from \"./subheader.js\";\r\n\r\nvar KTLayoutStickyCard = function() {\r\n // Private properties\r\n\tvar _element;\r\n var _object;\r\n\r\n\t// Private functions\r\n\tvar _init = function() {\r\n\t\tvar offset = 300;\r\n\r\n\t\tif (typeof KTLayoutHeader !== 'undefined') {\r\n\t\t\toffset = KTLayoutHeader.getHeight();\r\n\t\t}\r\n\r\n _object = new KTCard(_element, {\r\n\t\t\tsticky: {\r\n\t\t\t\toffset: offset,\r\n\t\t\t\tzIndex: 90,\r\n\t\t\t\tposition: {\r\n\t\t\t\t\ttop: function() {\r\n\t\t\t\t\t\tvar pos = 0;\r\n var body = KTUtil.getBody();\r\n\r\n\t\t\t\t\t\tif (KTUtil.isBreakpointUp('lg')) {\r\n\t\t\t\t\t\t\tif (typeof KTLayoutHeader !== 'undefined' && KTLayoutHeader.isFixed()) {\r\n\t\t\t\t\t\t\t\tpos = pos + KTLayoutHeader.getHeight();\r\n\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t\tif (typeof KTLayoutSubheader !== 'undefined' && KTLayoutSubheader.isFixed()) {\r\n\t\t\t\t\t\t\t\tpos = pos + KTLayoutSubheader.getHeight();\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tif (typeof KTLayoutHeader !== 'undefined' && KTLayoutHeader.isFixedForMobile()) {\r\n\t\t\t\t\t\t\t\tpos = pos + KTLayoutHeader.getHeightForMobile();\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\tpos = pos - 1; // remove header border width\r\n\r\n\t\t\t\t\t\treturn pos;\r\n\t\t\t\t\t},\r\n\t\t\t\t\tleft: function(card) {\r\n\t\t\t\t\t\treturn KTUtil.offset(_element).left;\r\n\t\t\t\t\t},\r\n\t\t\t\t\tright: function(card) {\r\n\t\t\t\t\t\tvar body = KTUtil.getBody();\r\n\r\n\t\t\t\t\t\tvar cardWidth = parseInt(KTUtil.css(_element, 'width'));\r\n\t\t\t\t\t\tvar bodyWidth = parseInt(KTUtil.css(body, 'width'));\r\n\t\t\t\t\t\tvar cardOffsetLeft = KTUtil.offset(_element).left;\r\n\r\n\t\t\t\t\t\treturn bodyWidth - cardWidth - cardOffsetLeft;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\t_object.initSticky();\r\n\r\n\t\tKTUtil.addResizeHandler(function() {\r\n\t\t\t_object.updateSticky();\r\n\t\t});\r\n\t}\r\n\r\n // Public methods\r\n\treturn {\r\n\t\tinit: function(id) {\r\n _element = KTUtil.getById(id);\r\n\r\n if (!_element) {\r\n return;\r\n }\r\n\r\n // Initialize\r\n\t\t\t_init();\r\n\t\t},\r\n\r\n\t\tupdate: function() {\r\n\t\t\tif (_object) {\r\n\t\t\t\t_object.updateSticky();\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n}();\r\n\r\n// Webpack support\r\nif (typeof module !== 'undefined') {\r\n\t// module.exports = KTLayoutStickyCard;\r\n}\r\n\r\nexport default KTLayoutStickyCard;","/* eslint-disable */\r\n\"use strict\";\r\n\r\nimport KTToggle from \"./../../components/toggle.js\";\r\nimport { KTUtil } from \"./../../components/util.js\";\r\nimport KTLayoutStickyCard from \"./sticky-card.js\";\r\nimport KTLayoutHeaderMenu from \"./header-menu.js\";\r\nimport KTLayoutAsideMenu from \"./aside-menu.js\";\r\nimport { KTCookie } from \"./../../components/cookie.js\";\r\n\r\nvar KTLayoutAsideToggle = function() {\r\n // Private properties\r\n var _body;\r\n var _element;\r\n var _toggleObject;\r\n\r\n\t// Initialize\r\n\tvar _init = function() {\r\n\t\t_toggleObject = new KTToggle(_element, {\r\n\t\t\ttarget: _body,\r\n\t\t\ttargetState: 'aside-minimize',\r\n\t\t\ttoggleState: 'active'\r\n\t\t});\r\n\r\n\t\t_toggleObject.on('toggle', function(toggle) {\r\n\t\t\tKTUtil.addClass(_body, 'aside-minimizing');\r\n KTUtil.transitionEnd(_body, function() {\r\n KTUtil.removeClass(_body, 'aside-minimizing');\r\n\t\t\t});\r\n\r\n // Update sticky card\r\n KTLayoutStickyCard.update();\r\n\r\n // Pause header menu dropdowns\r\n KTLayoutHeaderMenu.pauseDropdownHover(800);\r\n\r\n // Pause aside menu dropdowns\r\n\t\t\tKTLayoutAsideMenu.pauseDropdownHover(800);\r\n\r\n // Remember state in cookie\r\n\t\t\tKTCookie.setCookie('kt_aside_toggle_state', toggle.getState());\r\n\t\t\t// to set default minimized left aside use this cookie value in your\r\n\t\t\t// server side code and add \"kt-primary--minimize aside-minimize\" classes to\r\n\t\t\t// the body tag in order to initialize the minimized left aside mode during page loading.\r\n\t\t});\r\n\r\n\t\t_toggleObject.on('beforeToggle', function(toggle) {\r\n\t\t\tif (KTUtil.hasClass(_body, 'aside-minimize') === false && KTUtil.hasClass(_body, 'aside-minimize-hover')) {\r\n\t\t\t\tKTUtil.removeClass(_body, 'aside-minimize-hover');\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n // Public methods\r\n\treturn {\r\n\t\tinit: function(id) {\r\n _element = KTUtil.getById(id);\r\n _body = KTUtil.getBody();\r\n\r\n if (!_element) {\r\n return;\r\n }\r\n\r\n // Initialize\r\n _init();\r\n\t\t},\r\n\r\n getElement: function() {\r\n return _element;\r\n },\r\n\r\n getToggle: function() {\r\n\t\t\treturn _toggleObject;\r\n\t\t},\r\n\r\n\t\tonToggle: function(handler) {\r\n\t\t\tif (typeof _toggleObject.element !== 'undefined') {\r\n\t\t\t\t_toggleObject.on('toggle', handler);\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n}();\r\n\r\n// Webpack support\r\nif (typeof module !== 'undefined') {\r\n\t// module.exports = KTLayoutAsideToggle;\r\n}\r\n\r\nexport default KTLayoutAsideToggle;","/* eslint-disable */\r\n\"use strict\";\r\n\r\nimport { KTUtil } from \"./../../components/util.js\";\r\n\r\nvar KTLayoutFooter = function() {\r\n // Private properties\r\n var _element;\r\n\r\n\t// Private functions\r\n\tvar _getHeight = function() {\r\n\t\tvar height = 0;\r\n\r\n if (_element) {\r\n height = KTUtil.actualHeight(_element);\r\n }\r\n\r\n\t\treturn height;\r\n\t}\r\n\r\n // Public methods\r\n\treturn {\r\n\t\tinit: function(id) {\r\n _element = KTUtil.getById(id);\r\n\t\t},\r\n\r\n\t\tgetHeight: function() {\r\n\t\t\treturn _getHeight();\r\n\t\t},\r\n\r\n getElement: function() {\r\n return _element;\r\n }\r\n\t};\r\n}();\r\n\r\n// Webpack support\r\nif (typeof module !== 'undefined') {\r\n\t// module.exports = KTLayoutFooter;\r\n}\r\n\r\nexport default KTLayoutFooter;","/* eslint-disable */\r\n\"use strict\";\r\n\r\nimport { KTUtil } from \"./../../components/util.js\";\r\nimport KTLayoutHeader from \"./header.js\";\r\nimport KTLayoutSubheader from \"./subheader.js\";\r\nimport KTLayoutFooter from \"./footer.js\";\r\n\r\nvar KTLayoutContent = function() {\r\n // Private properties\r\n var _element;\r\n\r\n\t// Private functions\r\n\tvar _getHeight = function() {\r\n\t\tvar height;\r\n\r\n\t\theight = KTUtil.getViewPort().height;\r\n\r\n if (_element) {\r\n height = height - parseInt(KTUtil.css(_element, 'paddingTop')) - parseInt(KTUtil.css(_element, 'paddingBottom'));\r\n }\r\n\r\n height = height - KTLayoutHeader.getHeight();\r\n height = height - KTLayoutSubheader.getHeight();\r\n height = height - KTLayoutFooter.getHeight();\r\n\r\n\t\treturn height;\r\n\t}\r\n\r\n // Public methods\r\n\treturn {\r\n\t\tinit: function(id) {\r\n _element = KTUtil.getById(id);\r\n\t\t},\r\n\r\n\t\tgetHeight: function() {\r\n\t\t\treturn _getHeight();\r\n\t\t},\r\n\r\n getElement: function() {\r\n return _element;\r\n }\r\n\t};\r\n}();\r\n\r\n// Webpack support\r\nif (typeof module !== 'undefined') {\r\n\t// module.exports = KTLayoutContent;\r\n}\r\n\r\nexport default KTLayoutContent;","/* eslint-disable */\r\n\"use strict\";\r\n\r\nimport KTScrolltop from \"./../../components/scrolltop.js\";\r\nimport { KTUtil } from \"./../../components/util.js\";\r\n\r\nvar KTLayoutScrolltop = function() {\r\n // Private properties\r\n var _element;\r\n var _object;\r\n\r\n // Private functions\r\n var _init = function() {\r\n _object = new KTScrolltop(_element, {\r\n offset: 300,\r\n speed: 600,\r\n });\r\n }\r\n\r\n // Public methods\r\n\treturn {\r\n\t\tinit: function(id) {\r\n _element = KTUtil.getById(id);\r\n\r\n if (!_element) {\r\n return;\r\n }\r\n\r\n // Initialize\r\n _init();\r\n\t\t},\r\n\r\n getElement: function() {\r\n return _element;\r\n }\r\n\t};\r\n}();\r\n\r\n// Webpack support\r\nif (typeof module !== 'undefined') {\r\n\t// module.exports = KTLayoutScrolltop;\r\n}\r\n\r\nexport default KTLayoutScrolltop;","/* eslint-disable */\r\n\"use strict\";\r\n\r\nimport { KTUtil } from \"./../../components/util.js\";\r\nimport KTLayoutContent from \"./content.js\";\r\n\r\nvar KTLayoutStretchedCard = function() {\r\n // Private properties\r\n\tvar _element;\r\n\r\n\t// Private functions\r\n\tvar _init = function() {\r\n\t\tvar scroll = KTUtil.find(_element, '.card-scroll');\r\n\t\tvar cardBody = KTUtil.find(_element, '.card-body');\r\n\t\tvar cardHeader = KTUtil.find(_element, '.card-header');\r\n\r\n\t\tvar height = KTLayoutContent.getHeight();\r\n\r\n\t\theight = height - parseInt(KTUtil.actualHeight(cardHeader));\r\n\r\n\t\theight = height - parseInt(KTUtil.css(_element, 'marginTop')) - parseInt(KTUtil.css(_element, 'marginBottom'));\r\n\t\theight = height - parseInt(KTUtil.css(_element, 'paddingTop')) - parseInt(KTUtil.css(_element, 'paddingBottom'));\r\n\r\n\t\theight = height - parseInt(KTUtil.css(cardBody, 'paddingTop')) - parseInt(KTUtil.css(cardBody, 'paddingBottom'));\r\n\t\theight = height - parseInt(KTUtil.css(cardBody, 'marginTop')) - parseInt(KTUtil.css(cardBody, 'marginBottom'));\r\n\r\n\t\theight = height - 3;\r\n\r\n\t\tKTUtil.css(scroll, 'height', height + 'px');\r\n\t}\r\n\r\n // Public methods\r\n\treturn {\r\n\t\tinit: function(id) {\r\n _element = KTUtil.getById(id);\r\n\r\n if (!_element) {\r\n return;\r\n }\r\n\r\n // Initialize\r\n\t\t\t_init();\r\n\r\n // Re-calculate on window resize\r\n KTUtil.addResizeHandler(function() {\r\n\t\t\t\t_init();\r\n\t\t\t});\r\n\t\t},\r\n\r\n\t\tupdate: function() {\r\n\t\t\t_init();\r\n\t\t}\r\n\t};\r\n}();\r\n\r\n// Webpack support\r\nif (typeof module !== 'undefined') {\r\n\t// module.exports = KTLayoutStretchedCard;\r\n}\r\n\r\nexport default KTLayoutStretchedCard;","/* eslint-disable */\r\n\"use strict\";\r\n\r\nimport { KTUtil } from \"./../../components/util.js\";\r\nimport KTOffcanvas from \"./../../components/offcanvas.js\";\r\n\r\nvar KTLayoutQuickPanel = function() {\r\n // Private properties\r\n var _element;\r\n var _offcanvasObject;\r\n var _notificationsElement;\r\n var _logsElement;\r\n var _settingsElement;\r\n\r\n // Private functions\r\n var _getContentHeight = function() {\r\n var height;\r\n\r\n var header = KTUtil.find(_element, '.offcanvas-header');\r\n var content = KTUtil.find(_element, '.offcanvas-content');\r\n\r\n var height = parseInt(KTUtil.getViewPort().height);\r\n\r\n if (header) {\r\n height = height - parseInt(KTUtil.actualHeight(header));\r\n height = height - parseInt(KTUtil.css(header, 'marginTop'));\r\n height = height - parseInt(KTUtil.css(header, 'marginBottom'));\r\n }\r\n\r\n if (content) {\r\n height = height - parseInt(KTUtil.css(content, 'marginTop'));\r\n height = height - parseInt(KTUtil.css(content, 'marginBottom'));\r\n }\r\n\r\n height = height - parseInt(KTUtil.css(_element, 'paddingTop'));\r\n height = height - parseInt(KTUtil.css(_element, 'paddingBottom'));\r\n\r\n height = height - 2;\r\n\r\n return height;\r\n }\r\n\r\n var _init = function() {\r\n _offcanvasObject = new KTOffcanvas(_element, {\r\n overlay: true,\r\n baseClass: 'offcanvas',\r\n placement: 'right',\r\n closeBy: 'kt_quick_panel_close',\r\n toggleBy: 'kt_quick_panel_toggle'\r\n });\r\n }\r\n\r\n var _initNotifications = function() {\r\n KTUtil.scrollInit(_notificationsElement, {\r\n mobileNativeScroll: true,\r\n resetHeightOnDestroy: true,\r\n handleWindowResize: true,\r\n height: function() {\r\n return _getContentHeight();\r\n }\r\n });\r\n }\r\n\r\n var _initLogs = function() {\r\n KTUtil.scrollInit(_logsElement, {\r\n mobileNativeScroll: true,\r\n resetHeightOnDestroy: true,\r\n handleWindowResize: true,\r\n height: function() {\r\n return _getContentHeight();\r\n }\r\n });\r\n }\r\n\r\n var _initSettings = function() {\r\n KTUtil.scrollInit(_settingsElement, {\r\n mobileNativeScroll: true,\r\n resetHeightOnDestroy: true,\r\n handleWindowResize: true,\r\n height: function() {\r\n return _getContentHeight();\r\n }\r\n });\r\n }\r\n\r\n var _updateScrollbars = function() {\r\n $(_element).find('a[data-toggle=\"tab\"]').on('shown.bs.tab', function (e) {\r\n KTUtil.scrollUpdate(_notificationsElement);\r\n KTUtil.scrollUpdate(_logsElement);\r\n KTUtil.scrollUpdate(_settingsElement);\r\n });\r\n }\r\n\r\n // Public methods\r\n return {\r\n init: function(id) {\r\n _element = KTUtil.getById(id);\r\n _notificationsElement = KTUtil.getById('kt_quick_panel_notifications');\r\n _logsElement = KTUtil.getById('kt_quick_panel_logs');\r\n _settingsElement = KTUtil.getById('kt_quick_panel_settings');\r\n\r\n _init();\r\n _initNotifications();\r\n _initLogs();\r\n _initSettings();\r\n\r\n \r\n }\r\n };\r\n}();\r\n\r\n// Webpack support\r\nif (typeof module !== 'undefined') {\r\n\t// module.exports = KTLayoutQuickPanel;\r\n}\r\n\r\nexport default KTLayoutQuickPanel;","/* eslint-disable */\r\n\"use strict\";\r\n\r\nimport { KTUtil } from \"./../../components/util.js\";\r\nimport KTOffcanvas from \"./../../components/offcanvas.js\";\r\n\r\nvar KTLayoutQuickUser = function() {\r\n // Private properties\r\n var _element;\r\n var _offcanvasObject;\r\n\r\n // Private functions\r\n var _init = function() {\r\n var header = KTUtil.find(_element, '.offcanvas-header');\r\n var content = KTUtil.find(_element, '.offcanvas-content');\r\n\r\n _offcanvasObject = new KTOffcanvas(_element, {\r\n overlay: true,\r\n baseClass: 'offcanvas',\r\n placement: 'right',\r\n closeBy: 'kt_quick_user_close',\r\n toggleBy: 'kt_quick_user_toggle'\r\n });\r\n\r\n KTUtil.scrollInit(content, {\r\n disableForMobile: true,\r\n resetHeightOnDestroy: true,\r\n handleWindowResize: true,\r\n height: function() {\r\n var height = parseInt(KTUtil.getViewPort().height);\r\n\r\n if (header) {\r\n height = height - parseInt(KTUtil.actualHeight(header));\r\n height = height - parseInt(KTUtil.css(header, 'marginTop'));\r\n height = height - parseInt(KTUtil.css(header, 'marginBottom'));\r\n }\r\n\r\n if (content) {\r\n height = height - parseInt(KTUtil.css(content, 'marginTop'));\r\n height = height - parseInt(KTUtil.css(content, 'marginBottom'));\r\n }\r\n\r\n height = height - parseInt(KTUtil.css(_element, 'paddingTop'));\r\n height = height - parseInt(KTUtil.css(_element, 'paddingBottom'));\r\n\r\n height = height - 2;\r\n\r\n return height;\r\n }\r\n });\r\n }\r\n\r\n // Public methods\r\n return {\r\n init: function(id) {\r\n _element = KTUtil.getById(id);\r\n\r\n if (!_element) {\r\n return;\r\n }\r\n\r\n // Initialize\r\n _init();\r\n },\r\n\r\n getElement: function() {\r\n return _element;\r\n }\r\n };\r\n}();\r\n\r\n// Webpack support\r\nif (typeof module !== 'undefined') {\r\n\t// module.exports = KTLayoutQuickUser;\r\n}\r\n\r\nexport default KTLayoutQuickUser;","import React, {useLayoutEffect} from \"react\";\r\nimport {KTUtil} from \"../../_assets/js/components/util\";\r\nimport KTLayoutHeader from \"../../_assets/js/layout/base/header\";\r\nimport KTLayoutHeaderMenu from \"../../_assets/js/layout/base/header-menu\";\r\nimport KTLayoutHeaderTopbar from \"../../_assets/js/layout/base/header-topbar\";\r\nimport KTLayoutBrand from \"../../_assets/js/layout/base/brand\";\r\nimport KTLayoutAside from \"../../_assets/js/layout/base/aside\";\r\nimport KTLayoutAsideToggle from \"../../_assets/js/layout/base/aside-toggle\";\r\nimport KTLayoutAsideMenu from \"../../_assets/js/layout/base/aside-menu\";\r\nimport KTLayoutContent from \"../../_assets/js/layout/base/content\";\r\nimport KTLayoutFooter from \"../../_assets/js/layout/base/footer\";\r\nimport KTLayoutSubheader from \"../../_assets/js/layout/base/subheader\";\r\nimport KTLayoutScrolltop from \"../../_assets/js/layout/extended/scrolltop\";\r\nimport KTLayoutStickyCard from \"../../_assets/js/layout/base/sticky-card\";\r\nimport KTLayoutStretchedCard from \"../../_assets/js/layout/base/stretched-card\";\r\nimport KTLayoutQuickPanel from \"../../_assets/js/layout/extended/quick-panel\";\r\nimport KTLayoutQuickUser from \"../../_assets/js/layout/extended/quick-user\";\r\n\r\nexport function LayoutInit() {\r\n useLayoutEffect(() => {\r\n // Initialization\r\n KTUtil.ready(function () {\r\n ////////////////////////////////////////////////////\r\n // Layout Base Partials(mandatory for core layout)//\r\n ////////////////////////////////////////////////////\r\n // Init Desktop & Mobile Headers\r\n KTLayoutHeader.init('kt_header', 'kt_header_mobile');\r\n\r\n // Init Header Menu\r\n KTLayoutHeaderMenu.init('kt_header_menu', 'kt_header_menu_wrapper');\r\n // Init Header Topbar For Mobile Mode\r\n KTLayoutHeaderTopbar.init('kt_header_mobile_topbar_toggle');\r\n // Init Brand Panel For Logo\r\n KTLayoutBrand.init('kt_brand');\r\n // Init Aside\r\n KTLayoutAside.init('kt_aside');\r\n\r\n // Init Aside Menu Toggle\r\n KTLayoutAsideToggle.init('kt_aside_toggle');\r\n //\r\n // Init Aside Menu\r\n KTLayoutAsideMenu.init('kt_aside_menu');\r\n\r\n // Init Content\r\n KTLayoutContent.init('kt_content');\r\n\r\n // Init Footer\r\n KTLayoutFooter.init('kt_footer');\r\n\r\n\r\n //////////////////////////////////////////////\r\n // Layout Extended Partials(optional to use)//\r\n //////////////////////////////////////////////\r\n KTLayoutSubheader.init('kt_subheader');\r\n\r\n // Init Scrolltop\r\n KTLayoutScrolltop.init('kt_scrolltop');\r\n\r\n // Init Sticky Card\r\n KTLayoutStickyCard.init('kt_page_sticky_card');\r\n\r\n // Init Stretched Card\r\n KTLayoutStretchedCard.init('kt_page_stretched_card');\r\n\r\n // Init Quick Offcanvas Panel\r\n KTLayoutQuickPanel.init('kt_quick_panel');\r\n\r\n // Init Quick User Panel\r\n KTLayoutQuickUser.init('kt_quick_user');\r\n });\r\n }, []);\r\n return <></>;\r\n}\r\n","/* eslint-disable no-restricted-imports */\r\n/* eslint-disable no-script-url,jsx-a11y/anchor-is-valid */\r\nimport React, { forwardRef } from \"react\";\r\nimport { OverlayTrigger, Tooltip } from \"react-bootstrap\";\r\nimport Dropdown from \"react-bootstrap/Dropdown\";\r\nimport SVG from \"react-inlinesvg\";\r\nimport { DropdownMenu1 } from \"../../../../_partials/dropdowns\";\r\nimport { toAbsoluteUrl } from \"../../../../_helpers\";\r\nimport axios from \"axios\";\r\n\r\nconst QuickActionsDropdownToggle = forwardRef((props, ref) => {\r\n const [isCustomerValue, setIsCustomer] = React.useState(false);\r\n axios.get(\"auth/Login\").then((res) => {\r\n let userDefault;\r\n if (res.data !== undefined) {\r\n userDefault = {\r\n IsCustomer: res.data.IsCustomer,\r\n };\r\n setIsCustomer(userDefault.IsCustomer);\r\n }\r\n });\r\n return (\r\n !isCustomerValue && (\r\n <a\r\n ref={ref}\r\n href=\"#\"\r\n onClick={(e) => {\r\n e.preventDefault();\r\n props.onClick(e);\r\n }}\r\n id=\"kt_subheader_quick_actions\"\r\n className=\"btn btn-sm btn-clean btn-icon\"\r\n >\r\n {\" \"}\r\n <span className=\"svg-icon svg-icon-success svg-icon-lg\">\r\n <span className=\"svg-icon-success svg-icon-2x\">\r\n <SVG src={toAbsoluteUrl(\"/media/svg/icons/Files/File-plus.svg\")} />\r\n </span>\r\n </span>\r\n </a>\r\n )\r\n );\r\n});\r\n\r\nexport function QuickActions() {\r\n return (\r\n <>\r\n <OverlayTrigger\r\n placement=\"left\"\r\n overlay={<Tooltip id=\"quick-actions-tooltip\">Quick Access</Tooltip>}\r\n >\r\n <Dropdown className=\"dropdown-inline\" drop=\"down\" alignRight>\r\n <Dropdown.Toggle\r\n as={QuickActionsDropdownToggle}\r\n id=\"dropdown-toggle-quick-actions-subheader\"\r\n />\r\n\r\n <Dropdown.Menu className=\"dropdown-menu p-0 m-0 dropdown-menu-md dropdown-menu-right\">\r\n <DropdownMenu1 />\r\n </Dropdown.Menu>\r\n </Dropdown>\r\n </OverlayTrigger>\r\n </>\r\n );\r\n}\r\n","import React, {createContext, useState, useContext} from \"react\";\r\n\r\nexport function getBreadcrumbsAndTitle(menuId, pathName) {\r\n const result = {\r\n breadcrumbs: [],\r\n title: \"\"\r\n };\r\n const menu = document.getElementById(menuId);\r\n if (!menu) {\r\n return result;\r\n }\r\n\r\n\r\n const activeLinksArray = Array.from(menu.getElementsByClassName(\"active\") || []);\r\n const activeLinks = activeLinksArray.filter(el => el.tagName === \"A\");\r\n if (!activeLinks) {\r\n return result;\r\n }\r\n\r\n activeLinks.forEach(link => {\r\n const titleSpans = link.getElementsByClassName(\"menu-text\");\r\n if (titleSpans) {\r\n const titleSpan = Array.from(titleSpans).find(t => t.innerHTML);\r\n if (titleSpan) {\r\n result.breadcrumbs.push(\r\n {\r\n pathname: link.pathname,\r\n title: titleSpan.innerHTML\r\n }\r\n );\r\n }\r\n }\r\n });\r\n result.title = getTitle(result.breadcrumbs, pathName);\r\n return result;\r\n}\r\n\r\nexport function getTitle(breadCrumbs, pathname) {\r\n if (!breadCrumbs || !pathname) {\r\n return \"\";\r\n }\r\n\r\n const item = breadCrumbs.find(b => b.pathname === pathname);\r\n if (!item) {\r\n return \"\";\r\n }\r\n\r\n return item.title;\r\n}\r\n\r\nconst SubheaderContext = createContext();\r\n\r\nexport function useSubheader() {\r\n return useContext(SubheaderContext);\r\n}\r\n\r\nexport const SubheaderConsumer = SubheaderContext.Consumer;\r\n\r\nexport function MetronicSubheaderProvider({ children }) {\r\n const [title, setTitle] = useState(\"\");\r\n const [breadcrumbs, setBreadcrumbs] = useState([]);\r\n const value = { title, setTitle, breadcrumbs, setBreadcrumbs };\r\n return <SubheaderContext.Provider value={value}>{children}</SubheaderContext.Provider>;\r\n}\r\n","/* eslint-disable no-script-url,jsx-a11y/anchor-is-valid */\r\nimport React, { useMemo, useLayoutEffect, useEffect, useState } from \"react\";\r\n\r\nimport objectPath from \"object-path\";\r\nimport { useLocation } from \"react-router-dom\";\r\nimport { QuickActions } from \"./components/QuickActions\";\r\nimport { BreadCrumbs } from \"./components/BreadCrumbs\";\r\nimport {\r\n getBreadcrumbsAndTitle,\r\n useSubheader,\r\n} from \"../../_core/MetronicSubheader\";\r\nimport { useHtmlClassService } from \"../../_core/MetronicLayout\";\r\nimport { Link } from \"react-router-dom\";\r\nimport low from \"lowdb\";\r\nimport LocalStorage from \"lowdb/adapters/LocalStorage\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { CheckUrlTMS } from \"../../../../app/SpecificTabs\";\r\nconst adapter = new LocalStorage(\"db\");\r\nconst db = low(adapter);\r\n\r\n/* const urlTMS = [\r\n \"/TransportManagementSystems\",\r\n \"/Reporting/Report\",\r\n \"/TransportManagementSystems/CapacityBoard\",\r\n \"/TMS/TrackingBoard\",\r\n \"/ShipmentsManagement\",\r\n \"/TMS/TrackingBoard\",\r\n \"/TransportManagementSystems/SoDetail\",\r\n]; */\r\n\r\nexport function SubHeader({TablsOptionsList}) {\r\n const { t } = useTranslation();\r\n const uiService = useHtmlClassService();\r\n const location = useLocation();\r\n const subheader = useSubheader();\r\n const [Today, setToday] = useState([]);\r\n\r\n const layoutProps = useMemo(() => {\r\n return {\r\n config: uiService.config,\r\n subheaderMobileToggle: objectPath.get(\r\n uiService.config,\r\n \"subheader.mobile-toggle\"\r\n ),\r\n subheaderCssClasses: uiService.getClasses(\"subheader\", true),\r\n subheaderContainerCssClasses: uiService.getClasses(\r\n \"subheader_container\",\r\n true\r\n ),\r\n };\r\n }, [uiService]);\r\n\r\n const CheckIsExist = (url) => {\r\n if (window.TabsIsExist.includes(url)) {\r\n return true;\r\n } else return false;\r\n };\r\n\r\n useLayoutEffect(() => {\r\n const aside = getBreadcrumbsAndTitle(\"kt_aside_menu\", location.pathname);\r\n const header = getBreadcrumbsAndTitle(\"kt_header_menu\", location.pathname);\r\n subheader.setBreadcrumbs(aside.breadcrumbs || header.breadcrumbs);\r\n subheader.setTitle(aside.title || header.title);\r\n // eslint-disable-next-line\r\n }, [location.pathname]);\r\n const [state, setstate] = useState(0);\r\n // Do not remove this useEffect, need from update title/breadcrumbs outside (from the page)\r\n useEffect(() => {\r\n const monthNames = [\r\n \"Jan\",\r\n \"Feb\",\r\n \"Mar\",\r\n \"Apr\",\r\n \"May\",\r\n \"Jun\",\r\n \"Jul\",\r\n \"Aug\",\r\n \"Sep\",\r\n \"Oct\",\r\n \"Nov\",\r\n \"Dec\",\r\n ];\r\n const d = new Date();\r\n const date = d.getDate();\r\n const data =\r\n monthNames[d.getMonth()] +\r\n \" \" +\r\n date +\r\n \" \" +\r\n d.getFullYear() +\r\n \" \" +\r\n d.toLocaleString(\"en-US\", {\r\n hour: \"numeric\",\r\n minute: \"numeric\",\r\n hour12: true,\r\n });\r\n setToday(data);\r\n\r\n setTimeout(() => {\r\n setstate((x) => x + 1);\r\n }, 15000);\r\n }, [subheader, state]);\r\n\r\n return (\r\n <div\r\n id=\"kt_subheader\"\r\n className={`subheader py-2 py-lg-4 ${layoutProps.subheaderCssClasses}`}\r\n >\r\n <div\r\n className={`${layoutProps.subheaderContainerCssClasses} d-flex align-items-center justify-content-between flex-wrap flex-sm-nowrap`}\r\n >\r\n {/* Info */}\r\n\r\n {/* Toolbar */}\r\n <div\r\n className={`${\r\n CheckUrlTMS()\r\n ? `ml-md-auto pl-4 ${\r\n !db.read().getState().User.IsCustomer ? \" mr-xl-auto\" : \"\"\r\n }`\r\n : \"\"\r\n } d-flex align-items-center flex-wrap`}\r\n >\r\n <>\r\n {!db.read().getState().User.IsCustomer &&\r\n TablsOptionsList.map((item, index) => {\r\n return (\r\n <Link\r\n to={JSON.parse(item.Options).url}\r\n className=\"btn btn-primary btn-sm font-weight-bold mr-2 mb-4 mb-md-4 mb-xl-0 mb-lg-0 d-none d-xl-block\"\r\n onClick={(e) => {\r\n var url = JSON.parse(item.Options).url;\r\n window.CreateTabe = url;\r\n document.getElementById(\"CreateTabe\").click();\r\n if (CheckIsExist(url)) {\r\n e.preventDefault();\r\n return false;\r\n }\r\n }}\r\n >\r\n <span\r\n className=\"text-white font-weight-bold\"\r\n id=\"kt_dashboard_daterangepicker_title\"\r\n >\r\n {item.Name}\r\n </span>\r\n </Link>\r\n );\r\n })}\r\n </>\r\n {/* <>\r\n <Link\r\n to={`${\r\n db.read().getState().User.IsCustomer === true &&\r\n db.read().getState().User.Customers[0]?.Name === \"Lulus\"\r\n ? \"/Dashboards/LulusDashboard\"\r\n : \"/CustomerDashboard/GlobalDashboard\"\r\n }`}\r\n className=\"btn btn-light btn-sm font-weight-bold mr-2 mb-5\"\r\n id=\"kt_dashboard_daterangepicker\"\r\n >\r\n <span\r\n className=\"text-primary font-weight-bold\"\r\n id=\"kt_dashboard_daterangepicker_title\"\r\n >\r\n {t(\"Dashboard\")}\r\n </span>\r\n </Link>\r\n <Link\r\n to=\"/HomePage\"\r\n className=\"btn btn-light btn-sm font-weight-bold mr-2 mb-5\"\r\n id=\"kt_dashboard_daterangepicker\"\r\n >\r\n <span\r\n className=\"text-primary font-weight-bold\"\r\n id=\"kt_dashboard_daterangepicker_title\"\r\n >\r\n {t(\"Home Page\")}\r\n </span>\r\n </Link>\r\n </> */}\r\n\r\n <a\r\n href={() => false}\r\n className=\"btn btn-light btn-sm font-weight-bold mr-2\"\r\n id=\"kt_dashboard_daterangepicker\"\r\n data-toggle=\"tooltip\"\r\n title=\"Select dashboard daterange\"\r\n data-placement=\"left\"\r\n >\r\n <span\r\n className=\"text-muted font-weight-bold mr-2\"\r\n id=\"kt_dashboard_daterangepicker_title\"\r\n >\r\n {t(\"Today\")}\r\n </span>\r\n <span\r\n className=\"text-primary font-weight-bold\"\r\n id=\"kt_dashboard_daterangepicker_date\"\r\n >\r\n {Today}\r\n </span>\r\n </a>\r\n <QuickActions />\r\n <Link\r\n to=\"/HomePage\"\r\n className=\"btn btn-light-primary btn-sm font-weight-bold mr-2 mb-4 mb-md-4 mb-xl-0 mb-lg-0 d-none d-xl-block\"\r\n >\r\n <i className=\"fas fa-home\"></i> Home\r\n </Link>\r\n </div>\r\n </div>\r\n </div>\r\n );\r\n}\r\n","/* eslint-disable no-script-url,jsx-a11y/anchor-is-valid,no-undef */\r\nimport React, {useState} from \"react\";\r\nimport SVG from \"react-inlinesvg\";\r\nimport {Tab, Nav} from \"react-bootstrap\";\r\nimport {toAbsoluteUrl} from \"../../../../_helpers\";\r\n\r\nexport function QuickPanel() {\r\n const [selectedTab, setSelectedTab] = useState(\"AuditLogs\");\r\n\r\n const setTab = _tabName => {\r\n setSelectedTab(_tabName);\r\n };\r\n\r\n return (\r\n <div id=\"kt_quick_panel\" className=\"offcanvas offcanvas-right pt-5 pb-10\">\r\n <Tab.Container\r\n defaultActiveKey={selectedTab}\r\n >\r\n {/*begin::Header*/}\r\n <div\r\n className=\"offcanvas-header offcanvas-header-navs d-flex align-items-center justify-content-between mb-5\">\r\n <Nav\r\n onSelect={setTab}\r\n as=\"ul\"\r\n role=\"tablist\"\r\n className=\"nav nav-bold nav-tabs nav-tabs-line nav-tabs-line-3x nav-tabs-primary flex-grow-1 px-10\"\r\n >\r\n <Nav.Item as=\"li\">\r\n <Nav.Link\r\n eventKey=\"AuditLogs\"\r\n className={`nav-link ${\r\n selectedTab === \"AuditLogs\" ? \"active\" : \"\"\r\n }`}\r\n >\r\n Audit Logs\r\n </Nav.Link>\r\n </Nav.Item>\r\n <Nav.Item className=\"nav-item\" as=\"li\">\r\n <Nav.Link\r\n eventKey=\"Notifications\"\r\n className={`nav-link ${\r\n selectedTab === \"Notifications\" ? \"active\" : \"\"\r\n }`}\r\n >\r\n Notifications\r\n </Nav.Link>\r\n </Nav.Item>\r\n <Nav.Item as=\"li\">\r\n <Nav.Link\r\n eventKey=\"Settings\"\r\n className={`nav-link ${\r\n selectedTab === \"Settings\" ? \"active\" : \"\"\r\n }`}\r\n >\r\n Settings\r\n </Nav.Link>\r\n </Nav.Item>\r\n </Nav>\r\n\r\n <div className=\"offcanvas-close mt-n1 pr-5\" style={{position: \"absolute\", top: \"15px\", right: \"10px\"}}>\r\n <a\r\n href=\"#\"\r\n className=\"btn btn-xs btn-icon btn-light btn-hover-primary\"\r\n id=\"kt_quick_panel_close\"\r\n >\r\n <i className=\"ki ki-close icon-xs text-muted\"></i>\r\n </a>\r\n </div>\r\n </div>\r\n {/*end::Header*/}\r\n\r\n {/*begin::Content*/}\r\n <div className=\"offcanvas-content px-10\">\r\n <div className=\"tab-content\">\r\n <div\r\n id=\"kt_quick_panel_logs\"\r\n role=\"tabpanel\"\r\n className={`tab-pane fade pt-3 pr-5 mr-n5 scroll ps ${selectedTab === \"AuditLogs\" ? \"active show\" : \"\"}`}\r\n >\r\n <div className=\"mb-15\">\r\n <h5 className=\"font-weight-bold mb-5\">System Messages</h5>\r\n <div className=\"d-flex align-items-center flex-wrap mb-5\">\r\n <div className=\"symbol symbol-50 symbol-light mr-5\">\r\n <span className=\"symbol-label\">\r\n <img\r\n src={toAbsoluteUrl(\"/media/svg/misc/006-plurk.svg\")}\r\n alt=\"\"\r\n className=\"h-50 align-self-center\"\r\n />\r\n </span>\r\n </div>\r\n <div className=\"d-flex flex-column flex-grow-1 mr-2\">\r\n <a\r\n href=\"#\"\r\n className=\"font-weight-bolder text-dark-75 text-hover-primary font-size-lg mb-1\"\r\n >\r\n Top Authors\r\n </a>\r\n <span className=\"text-muted font-weight-bold\">\r\n Most Successful Fellas\r\n </span>\r\n </div>\r\n <span className=\"btn btn-sm btn-light font-weight-bolder py-1 my-lg-0 my-2 text-dark-50\">\r\n +82$\r\n </span>\r\n </div>\r\n\r\n <div className=\"d-flex align-items-center flex-wrap mb-5\">\r\n <div className=\"symbol symbol-50 symbol-light mr-5\">\r\n <span className=\"symbol-label\">\r\n <img\r\n src={toAbsoluteUrl(\"/media/svg/misc/015-telegram.svg\")}\r\n alt=\"\"\r\n className=\"h-50 align-self-center\"\r\n />\r\n </span>\r\n </div>\r\n <div className=\"d-flex flex-column flex-grow-1 mr-2\">\r\n <a\r\n href=\"#\"\r\n className=\"font-weight-bolder text-dark-75 text-hover-primary font-size-lg mb-1\"\r\n >\r\n Popular Authors\r\n </a>\r\n <span className=\"text-muted font-weight-bold\">\r\n Most Successful Fellas\r\n </span>\r\n </div>\r\n <span className=\"btn btn-sm btn-light font-weight-bolder my-lg-0 my-2 py-1 text-dark-50\">\r\n +280$\r\n </span>\r\n </div>\r\n\r\n <div className=\"d-flex align-items-center flex-wrap mb-5\">\r\n <div className=\"symbol symbol-50 symbol-light mr-5\">\r\n <span className=\"symbol-label\">\r\n <img\r\n src={toAbsoluteUrl(\"/media/svg/misc/003-puzzle.svg\")}\r\n alt=\"\"\r\n className=\"h-50 align-self-center\"\r\n />\r\n </span>\r\n </div>\r\n <div className=\"d-flex flex-column flex-grow-1 mr-2\">\r\n <a\r\n href=\"#\"\r\n className=\"font-weight-bolder text-dark-75 text-hover-primary font-size-lg mb-1\"\r\n >\r\n New Users\r\n </a>\r\n <span className=\"text-muted font-weight-bold\">\r\n Most Successful Fellas\r\n </span>\r\n </div>\r\n <span className=\"btn btn-sm btn-light font-weight-bolder my-lg-0 my-2 py-1 text-dark-50\">\r\n +4500$\r\n </span>\r\n </div>\r\n\r\n <div className=\"d-flex align-items-center flex-wrap mb-5\">\r\n <div className=\"symbol symbol-50 symbol-light mr-5\">\r\n <span className=\"symbol-label\">\r\n <img\r\n src={toAbsoluteUrl(\"/media/svg/misc/005-bebo.svg\")}\r\n alt=\"\"\r\n className=\"h-50 align-self-center\"\r\n />\r\n </span>\r\n </div>\r\n <div className=\"d-flex flex-column flex-grow-1 mr-2\">\r\n <a\r\n href=\"#\"\r\n className=\"font-weight-bolder text-dark-75 text-hover-primary font-size-lg mb-1\"\r\n >\r\n Active Customers\r\n </a>\r\n <span className=\"text-muted font-weight-bold\">\r\n Most Successful Fellas\r\n </span>\r\n </div>\r\n <span className=\"btn btn-sm btn-light font-weight-bolder my-lg-0 my-2 py-1 text-dark-50\">\r\n +4500$\r\n </span>\r\n </div>\r\n\r\n <div className=\"d-flex align-items-center flex-wrap\">\r\n <div className=\"symbol symbol-50 symbol-light mr-5\">\r\n <span className=\"symbol-label\">\r\n <img\r\n src={toAbsoluteUrl(\r\n \"/media/svg/misc/014-kickstarter.svg\"\r\n )}\r\n alt=\"\"\r\n className=\"h-50 align-self-center\"\r\n />\r\n </span>\r\n </div>\r\n <div className=\"d-flex flex-column flex-grow-1 mr-2\">\r\n <a\r\n href=\"#\"\r\n className=\"font-weight-bolder text-dark-75 text-hover-primary font-size-lg mb-1\"\r\n >\r\n Bestseller Theme\r\n </a>\r\n <span className=\"text-muted font-weight-bold\">\r\n Most Successful Fellas\r\n </span>\r\n </div>\r\n <span className=\"btn btn-sm btn-light font-weight-bolder my-lg-0 my-2 py-1 text-dark-50\">\r\n +4500$\r\n </span>\r\n </div>\r\n </div>\r\n\r\n <div className=\"mb-5\">\r\n <h5 className=\"font-weight-bold mb-5\">Notifications</h5>\r\n\r\n <div className=\"d-flex align-items-center bg-light-warning rounded p-5 mb-5\">\r\n <span className=\"svg-icon svg-icon-warning mr-5\">\r\n <SVG\r\n src={toAbsoluteUrl(\"/media//svg/icons/Home/Library.svg\")}\r\n className=\"svg-icon svg-icon-lg\"\r\n ></SVG>\r\n </span>\r\n\r\n <div className=\"d-flex flex-column flex-grow-1 mr-2\">\r\n <a\r\n href=\"#\"\r\n className=\"font-weight-normal text-dark-75 text-hover-primary font-size-lg mb-1\"\r\n >\r\n Another purpose persuade\r\n </a>\r\n <span className=\"text-muted font-size-sm\">\r\n Due in 2 Days\r\n </span>\r\n </div>\r\n\r\n <span className=\"font-weight-bolder text-warning py-1 font-size-lg\">\r\n +28%\r\n </span>\r\n </div>\r\n\r\n <div className=\"d-flex align-items-center bg-light-success rounded p-5 mb-5\">\r\n <span className=\"svg-icon svg-icon-success mr-5\">\r\n <SVG\r\n src={toAbsoluteUrl(\r\n \"/media/svg/icons/Communication/Write.svg\"\r\n )}\r\n className=\"svg-icon svg-icon-lg\"\r\n ></SVG>\r\n </span>\r\n <div className=\"d-flex flex-column flex-grow-1 mr-2\">\r\n <a\r\n href=\"#\"\r\n className=\"font-weight-normal text-dark-75 text-hover-primary font-size-lg mb-1\"\r\n >\r\n Would be to people\r\n </a>\r\n <span className=\"text-muted font-size-sm\">\r\n Due in 2 Days\r\n </span>\r\n </div>\r\n\r\n <span className=\"font-weight-bolder text-success py-1 font-size-lg\">\r\n +50%\r\n </span>\r\n </div>\r\n\r\n <div className=\"d-flex align-items-center bg-light-danger rounded p-5 mb-5\">\r\n <span className=\"svg-icon svg-icon-danger mr-5\">\r\n <SVG\r\n src={toAbsoluteUrl(\r\n \"/media/svg/icons/Communication/Group-chat.svg\"\r\n )}\r\n className=\"svg-icon svg-icon-lg\"\r\n ></SVG>\r\n </span>\r\n <div className=\"d-flex flex-column flex-grow-1 mr-2\">\r\n <a\r\n href=\"#\"\r\n className=\"font-weight-normel text-dark-75 text-hover-primary font-size-lg mb-1\"\r\n >\r\n Purpose would be to persuade\r\n </a>\r\n <span className=\"text-muted font-size-sm\">\r\n Due in 2 Days\r\n </span>\r\n </div>\r\n\r\n <span className=\"font-weight-bolder text-danger py-1 font-size-lg\">\r\n -27%\r\n </span>\r\n </div>\r\n\r\n <div className=\"d-flex align-items-center bg-light-info rounded p-5\">\r\n <span className=\"svg-icon svg-icon-info mr-5\">\r\n <SVG\r\n src={toAbsoluteUrl(\r\n \"/media/svg/icons/General/Attachment2.svg\"\r\n )}\r\n className=\"svg-icon svg-icon-lg\"\r\n ></SVG>\r\n </span>\r\n\r\n <div className=\"d-flex flex-column flex-grow-1 mr-2\">\r\n <a\r\n href=\"#\"\r\n className=\"font-weight-normel text-dark-75 text-hover-primary font-size-lg mb-1\"\r\n >\r\n The best product\r\n </a>\r\n <span className=\"text-muted font-size-sm\">\r\n Due in 2 Days\r\n </span>\r\n </div>\r\n\r\n <span className=\"font-weight-bolder text-info py-1 font-size-lg\">\r\n +8%\r\n </span>\r\n </div>\r\n </div>\r\n </div>\r\n <div\r\n id=\"kt_quick_panel_notifications\"\r\n role=\"tabpanel\"\r\n className={`tab-pane fade pt-2 pr-5 mr-n5 scroll ps ${selectedTab === \"Notifications\" ? \"active show\" : \"\"}`}\r\n >\r\n <div className=\"navi navi-icon-circle navi-spacer-x-0\">\r\n <a href=\"#\" className=\"navi-item\">\r\n <div className=\"navi-link rounded\">\r\n <div className=\"symbol symbol-50 mr-3\">\r\n <div className=\"symbol-label\">\r\n <i className=\"flaticon-bell text-success icon-lg\"></i>\r\n </div>\r\n </div>\r\n <div className=\"navi-text\">\r\n <div className=\"font-weight-bold font-size-lg\">\r\n 5 new user generated report\r\n </div>\r\n <div className=\"text-muted\">Reports based on sales</div>\r\n </div>\r\n </div>\r\n </a>\r\n <a href=\"#\" className=\"navi-item\">\r\n <div className=\"navi-link rounded\">\r\n <div className=\"symbol symbol-50 mr-3\">\r\n <div className=\"symbol-label\">\r\n <i className=\"flaticon2-box text-danger icon-lg\"></i>\r\n </div>\r\n </div>\r\n <div className=\"navi-text\">\r\n <div className=\"font-weight-bold font-size-lg\">\r\n 2 new items submited\r\n </div>\r\n <div className=\"text-muted\">by Grog John</div>\r\n </div>\r\n </div>\r\n </a>\r\n\r\n <a href=\"#\" className=\"navi-item\">\r\n <div className=\"navi-link rounded\">\r\n <div className=\"symbol symbol-50 mr-3\">\r\n <div className=\"symbol-label\">\r\n <i className=\"flaticon-psd text-primary icon-lg\"></i>\r\n </div>\r\n </div>\r\n <div className=\"navi-text\">\r\n <div className=\"font-weight-bold font-size-lg\">\r\n 79 PSD files generated\r\n </div>\r\n <div className=\"text-muted\">Reports based on sales</div>\r\n </div>\r\n </div>\r\n </a>\r\n\r\n <a href=\"#\" className=\"navi-item\">\r\n <div className=\"navi-link rounded\">\r\n <div className=\"symbol symbol-50 mr-3\">\r\n <div className=\"symbol-label\">\r\n <i className=\"flaticon2-supermarket text-warning icon-lg\"></i>\r\n </div>\r\n </div>\r\n <div className=\"navi-text\">\r\n <div className=\"font-weight-bold font-size-lg\">\r\n $2900 worth producucts sold\r\n </div>\r\n <div className=\"text-muted\">Total 234 items</div>\r\n </div>\r\n </div>\r\n </a>\r\n\r\n <a href=\"#\" className=\"navi-item\">\r\n <div className=\"navi-link rounded\">\r\n <div className=\"symbol symbol-50 mr-3\">\r\n <div className=\"symbol-label\">\r\n <i className=\"flaticon-paper-plane-1 text-success icon-lg\"></i>\r\n </div>\r\n </div>\r\n <div className=\"navi-text\">\r\n <div className=\"font-weight-bold font-size-lg\">\r\n 4.5h-avarage response time\r\n </div>\r\n <div className=\"text-muted\">Fostest is Barry</div>\r\n </div>\r\n </div>\r\n </a>\r\n <a href=\"#\" className=\"navi-item\">\r\n <div className=\"navi-link rounded\">\r\n <div className=\"symbol symbol-50 mr-3\">\r\n <div className=\"symbol-label\">\r\n <i className=\"flaticon-safe-shield-protection text-danger icon-lg\"></i>\r\n </div>\r\n </div>\r\n <div className=\"navi-text\">\r\n <div className=\"font-weight-bold font-size-lg\">\r\n 3 Defence alerts\r\n </div>\r\n <div className=\"text-muted\">\r\n 40% less alerts thar last week\r\n </div>\r\n </div>\r\n </div>\r\n </a>\r\n <a href=\"#\" className=\"navi-item\">\r\n <div className=\"navi-link rounded\">\r\n <div className=\"symbol symbol-50 mr-3\">\r\n <div className=\"symbol-label\">\r\n <i className=\"flaticon-notepad text-primary icon-lg\"></i>\r\n </div>\r\n </div>\r\n <div className=\"navi-text\">\r\n <div className=\"font-weight-bold font-size-lg\">\r\n Avarage 4 blog posts per author\r\n </div>\r\n <div className=\"text-muted\">Most posted 12 time</div>\r\n </div>\r\n </div>\r\n </a>\r\n <a href=\"#\" className=\"navi-item\">\r\n <div className=\"navi-link rounded\">\r\n <div className=\"symbol symbol-50 mr-3\">\r\n <div className=\"symbol-label\">\r\n <i className=\"flaticon-users-1 text-warning icon-lg\"></i>\r\n </div>\r\n </div>\r\n <div className=\"navi-text\">\r\n <div className=\"font-weight-bold font-size-lg\">\r\n 16 authors joined last week\r\n </div>\r\n <div className=\"text-muted\">\r\n 9 photodrapehrs, 7 designer\r\n </div>\r\n </div>\r\n </div>\r\n </a>\r\n <a href=\"#\" className=\"navi-item\">\r\n <div className=\"navi-link rounded\">\r\n <div className=\"symbol symbol-50 mr-3\">\r\n <div className=\"symbol-label\">\r\n <i className=\"flaticon2-box text-info icon-lg\"></i>\r\n </div>\r\n </div>\r\n <div className=\"navi-text\">\r\n <div className=\"font-weight-bold font-size-lg\">\r\n 2 new items have been submited\r\n </div>\r\n <div className=\"text-muted\">by Grog John</div>\r\n </div>\r\n </div>\r\n </a>\r\n <a href=\"#\" className=\"navi-item\">\r\n <div className=\"navi-link rounded\">\r\n <div className=\"symbol symbol-50 mr-3\">\r\n <div className=\"symbol-label\">\r\n <i className=\"flaticon2-download text-success icon-lg\"></i>\r\n </div>\r\n </div>\r\n <div className=\"navi-text\">\r\n <div className=\"font-weight-bold font-size-lg\">\r\n 2.8 GB-total downloads size\r\n </div>\r\n <div className=\"text-muted\">\r\n Mostly PSD end AL concepts\r\n </div>\r\n </div>\r\n </div>\r\n </a>\r\n <a href=\"#\" className=\"navi-item\">\r\n <div className=\"navi-link rounded\">\r\n <div className=\"symbol symbol-50 mr-3\">\r\n <div className=\"symbol-label\">\r\n <i className=\"flaticon2-supermarket text-danger icon-lg\"></i>\r\n </div>\r\n </div>\r\n <div className=\"navi-text\">\r\n <div className=\"font-weight-bold font-size-lg\">\r\n $2900 worth producucts sold\r\n </div>\r\n <div className=\"text-muted\">Total 234 items</div>\r\n </div>\r\n </div>\r\n </a>\r\n <a href=\"#\" className=\"navi-item\">\r\n <div className=\"navi-link rounded\">\r\n <div className=\"symbol symbol-50 mr-3\">\r\n <div className=\"symbol-label\">\r\n <i className=\"flaticon-bell text-primary icon-lg\"></i>\r\n </div>\r\n </div>\r\n <div className=\"navi-text\">\r\n <div className=\"font-weight-bold font-size-lg\">\r\n 7 new user generated report\r\n </div>\r\n <div className=\"text-muted\">Reports based on sales</div>\r\n </div>\r\n </div>\r\n </a>\r\n <a href=\"#\" className=\"navi-item\">\r\n <div className=\"navi-link rounded\">\r\n <div className=\"symbol symbol-50 mr-3\">\r\n <div className=\"symbol-label\">\r\n <i className=\"flaticon-paper-plane-1 text-success icon-lg\"></i>\r\n </div>\r\n </div>\r\n <div className=\"navi-text\">\r\n <div className=\"font-weight-bold font-size-lg\">\r\n 4.5h-avarage response time\r\n </div>\r\n <div className=\"text-muted\">Fostest is Barry</div>\r\n </div>\r\n </div>\r\n </a>\r\n </div>\r\n </div>\r\n <div\r\n id=\"kt_quick_panel_settings\"\r\n role=\"tabpanel\"\r\n className={`tab-pane fade pt-3 pr-5 mr-n5 scroll ps ${selectedTab === \"Settings\" ? \"active show\" : \"\"}`}\r\n >\r\n <form className=\"form\">\r\n <div>\r\n <h5 className=\"font-weight-bold mb-3\">Customer Care</h5>\r\n <div className=\"form-group mb-0 row\">\r\n <label className=\"col-8 col-form-label\">\r\n Enable Notifications:\r\n </label>\r\n <div className=\"col-4 text-right\">\r\n <span className=\"switch switch-success switch-sm\">\r\n <label>\r\n <input\r\n type=\"checkbox\"\r\n onChange={() => {\r\n }}\r\n checked\r\n name=\"\"\r\n />\r\n <span></span>\r\n </label>\r\n </span>\r\n </div>\r\n </div>\r\n <div className=\"form-group mb-0 row\">\r\n <label className=\"col-8 col-form-label\">\r\n Enable Case Tracking:\r\n </label>\r\n <div className=\"col-4 text-right\">\r\n <span className=\"switch switch-success switch-sm\">\r\n <label>\r\n <input\r\n type=\"checkbox\"\r\n name=\"quick_panel_notifications_2\"\r\n onChange={() => {\r\n }}\r\n />\r\n <span></span>\r\n </label>\r\n </span>\r\n </div>\r\n </div>\r\n <div className=\"form-group mb-0 row\">\r\n <label className=\"col-8 col-form-label\">\r\n Support Portal:\r\n </label>\r\n <div className=\"col-4 text-right\">\r\n <span className=\"switch switch-success switch-sm\">\r\n <label>\r\n <input type=\"checkbox\" name=\"\" onChange={() => {\r\n }}/>\r\n <span></span>\r\n </label>\r\n </span>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div className=\"separator separator-dashed my-6\"></div>\r\n\r\n <div className=\"pt-2\">\r\n <h5 className=\"font-weight-bold mb-3\">Reports</h5>\r\n <div className=\"form-group mb-0 row\">\r\n <label className=\"col-8 col-form-label\">\r\n Generate Reports:\r\n </label>\r\n <div className=\"col-4 text-right\">\r\n <span className=\"switch switch-sm switch-danger\">\r\n <label>\r\n <input\r\n type=\"checkbox\"\r\n name=\"\"\r\n onChange={() => {\r\n }}\r\n checked\r\n />\r\n <span></span>\r\n </label>\r\n </span>\r\n </div>\r\n </div>\r\n <div className=\"form-group mb-0 row\">\r\n <label className=\"col-8 col-form-label\">\r\n Enable Report Export:\r\n </label>\r\n <div className=\"col-4 text-right\">\r\n <span className=\"switch switch-sm switch-danger\">\r\n <label>\r\n <input type=\"checkbox\" name=\"\" onChange={() => {\r\n }}/>\r\n <span></span>\r\n </label>\r\n </span>\r\n </div>\r\n </div>\r\n <div className=\"form-group mb-0 row\">\r\n <label className=\"col-8 col-form-label\">\r\n Allow Data Collection:\r\n </label>\r\n <div className=\"col-4 text-right\">\r\n <span className=\"switch switch-sm switch-danger\">\r\n <label>\r\n <input\r\n type=\"checkbox\"\r\n name=\"\"\r\n onChange={() => {\r\n }}\r\n checked\r\n />\r\n <span></span>\r\n </label>\r\n </span>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div className=\"separator separator-dashed my-6\"></div>\r\n\r\n <div className=\"pt-2\">\r\n <h5 className=\"font-weight-bold mb-3\">Memebers</h5>\r\n <div className=\"form-group mb-0 row\">\r\n <label className=\"col-8 col-form-label\">\r\n Enable Member singup:\r\n </label>\r\n <div className=\"col-4 text-right\">\r\n <span className=\"switch switch-sm switch-primary\">\r\n <label>\r\n <input\r\n type=\"checkbox\"\r\n checked\r\n onChange={() => {\r\n }}\r\n name=\"\"\r\n />\r\n <span></span>\r\n </label>\r\n </span>\r\n </div>\r\n </div>\r\n <div className=\"form-group mb-0 row\">\r\n <label className=\"col-8 col-form-label\">\r\n Allow User Feedbacks:\r\n </label>\r\n <div className=\"col-4 text-right\">\r\n <span className=\"switch switch-sm switch-primary\">\r\n <label>\r\n <input type=\"checkbox\" name=\"\" onChange={() => {\r\n }}/>\r\n <span></span>\r\n </label>\r\n </span>\r\n </div>\r\n </div>\r\n <div className=\"form-group mb-0 row\">\r\n <label className=\"col-8 col-form-label\">\r\n Enable Customer Portal:\r\n </label>\r\n <div className=\"col-4 text-right\">\r\n <span className=\"switch switch-sm switch-primary\">\r\n <label>\r\n <input\r\n type=\"checkbox\"\r\n checked\r\n onChange={() => {\r\n }}\r\n name=\"\"\r\n />\r\n <span></span>\r\n </label>\r\n </span>\r\n </div>\r\n </div>\r\n </div>\r\n </form>\r\n </div>\r\n </div>\r\n </div>\r\n {/*end::Content*/}\r\n </Tab.Container>\r\n </div>\r\n );\r\n}\r\n","/* eslint-disable no-script-url,jsx-a11y/anchor-is-valid,no-undef */\r\nimport IconButton from \"@material-ui/core/IconButton\";\r\nimport CloseIcon from \"@material-ui/icons/Close\";\r\nimport axios from \"axios\";\r\nimport low from \"lowdb\";\r\nimport LocalStorage from \"lowdb/adapters/LocalStorage\";\r\nimport moment from \"moment\";\r\nimport React, { useEffect, useState } from \"react\";\r\nimport { Card, Modal } from \"react-bootstrap\";\r\nimport SVG from \"react-inlinesvg\";\r\nimport { Link, useHistory } from \"react-router-dom\";\r\nimport { toAbsoluteUrl } from \"../../../../_helpers\";\r\nconst adapter = new LocalStorage(\"db\");\r\nconst db = low(adapter);\r\n\r\nfunction createMarkup(dataString) {\r\n return { __html: dataString };\r\n}\r\nexport function QuickUser() {\r\n const history = useHistory();\r\n\r\n const logoutClick = () => {\r\n const toggle = document.getElementById(\"kt_quick_user_toggle\");\r\n if (toggle) {\r\n toggle.click();\r\n }\r\n history.push(\"/logout\");\r\n };\r\n\r\n let userDefault = {\r\n FullName: \"\",\r\n Email: \"\",\r\n ProfilePicture: \"\",\r\n };\r\n const [userLogin, setuserLogin] = useState(userDefault);\r\n const [modalReleaseNotes, setModalReleaseNotes] = useState(false);\r\n const [itemRelease, setItemRelease] = useState(null);\r\n\r\n\r\n axios.get(\"auth/Login\").then((res) => {\r\n if (res.data !== undefined) {\r\n userDefault = {\r\n FullName: res.data.FullName,\r\n Email: res.data.Email,\r\n ProfilePicture: res.data.ProfilePicture,\r\n };\r\n setuserLogin(userDefault);\r\n }\r\n });\r\n function getBuildDate(epoch) {\r\n const buildDate = moment(epoch).format(\"MM-DD-YYYY\");\r\n return buildDate;\r\n };\r\n const [releaseNotes, setReleaseNotesList] = useState([]);\r\n useEffect(() => {\r\n GetReleaseNotesList();\r\n }, []);\r\n async function GetReleaseNotesList() {\r\n return await fetch(window.$apiurl + \"/generic/releaseNotes/get\", {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n const list = res[1];\r\n const cc = list.sort(function(a,b){\r\n return new Date(b.Created) - new Date(a.Created);\r\n });\r\n setReleaseNotesList(list || []);\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n return (\r\n <div\r\n id=\"kt_quick_user\"\r\n className=\"offcanvas offcanvas-right offcanvas pr-10 py-10 pl-5\"\r\n >\r\n <div className=\"offcanvas-header d-flex align-items-center justify-content-between pb-5\">\r\n <h3 className=\"font-weight-bold m-0\">\r\n User Profile\r\n <small className=\"text-muted font-size-sm ml-2\">12 messages</small>\r\n </h3>\r\n <a\r\n href=\"#\"\r\n className=\"btn btn-xs btn-icon btn-light btn-hover-primary\"\r\n id=\"kt_quick_user_close\"\r\n >\r\n <i className=\"ki ki-close icon-xs text-muted\" />\r\n </a>\r\n </div>\r\n\r\n <div className=\"offcanvas-content pr-5 mr-n5\">\r\n <div className=\"d-flex align-items-center mt-5\">\r\n <div className=\"symbol symbol-100 mr-4 align-self-baseline\">\r\n <div\r\n id=\"BackroundUserImageProfile\"\r\n className=\"symbol-label\"\r\n style={{\r\n backgroundImage:\r\n userLogin.ProfilePicture !== null &&\r\n userLogin.ProfilePicture !== undefined\r\n ? \"url('\" + userLogin?.ProfilePicture + \"')\"\r\n : `url(${toAbsoluteUrl(\"/media/users/blank.png\")}`,\r\n }}\r\n />\r\n <i className=\"symbol-badge bg-success\" />\r\n </div>\r\n <div className=\"d-flex flex-column w-100\">\r\n <Link\r\n to={`/user/profile`}\r\n id=\"FullUserNameProfile\"\r\n className=\"font-weight-bold font-size-h5 text-dark-75 text-hover-info\"\r\n >\r\n {userLogin.FullName}\r\n </Link>\r\n {/* \r\n <div className=\"text-muted mt-1\">Application Developer</div> */}\r\n <div className=\"navi mt-2\">\r\n <a href=\"#\" className=\"navi-item\">\r\n <span className=\"navi-link p-0 pb-2\">\r\n <span className=\"navi-icon mr-1\">\r\n <span className=\"svg-icon-lg svg-icon-info\">\r\n <SVG\r\n src={toAbsoluteUrl(\r\n \"/media/svg/icons/Communication/Mail-notification.svg\"\r\n )}\r\n ></SVG>\r\n </span>\r\n </span>\r\n <span\r\n className=\"navi-text text-muted text-hover-info\"\r\n id=\"EmailUserNameProfile\"\r\n >\r\n {userLogin.Email}\r\n </span>\r\n </span>\r\n </a>\r\n <button\r\n className=\"btn btn-sm btn-light-info font-weight-bolder py-2 px-5\"\r\n onClick={logoutClick}\r\n >\r\n Sign out\r\n </button>\r\n </div>\r\n {/* <Link to=\"/logout\" className=\"btn btn-light-primary btn-bold\">\r\n Sign Out\r\n </Link> */}\r\n </div>\r\n </div>\r\n\r\n <div className=\"separator separator-dashed mt-8 mb-5\" />\r\n\r\n <div className=\"navi navi-spacer-x-0 p-0\">\r\n <Link className=\"navi-item\" to={`/user/profile`}>\r\n <div className=\"navi-link\">\r\n <div className=\"symbol symbol-40 bg-light mr-3\">\r\n <div className=\"symbol-label\">\r\n <span className=\"svg-icon svg-icon-md svg-icon-success\">\r\n <SVG\r\n src={toAbsoluteUrl(\r\n \"/media/svg/icons/General/Notification2.svg\"\r\n )}\r\n ></SVG>\r\n </span>\r\n </div>\r\n </div>\r\n <div className=\"navi-text\">\r\n <div className=\"font-weight-bold\">My Profile</div>\r\n <div className=\"text-muted\">\r\n Account settings and more{\" \"}\r\n <span className=\"label label-light-danger label-inline font-weight-bold\">\r\n update\r\n </span>\r\n </div>\r\n </div>\r\n </div>\r\n </Link>\r\n\r\n {/* <a href=\"/user/profile\" className=\"navi-item\">\r\n <div className=\"navi-link\">\r\n <div className=\"symbol symbol-40 bg-light mr-3\">\r\n <div className=\"symbol-label\">\r\n <span className=\"svg-icon svg-icon-md svg-icon-warning\">\r\n <SVG\r\n src={toAbsoluteUrl(\r\n \"/media/svg/icons/Shopping/Chart-bar1.svg\"\r\n )}\r\n ></SVG>\r\n </span>\r\n </div>\r\n </div>\r\n <div className=\"navi-text\">\r\n <div className=\"font-weight-bold\">My Messages</div>\r\n <div className=\"text-muted\">Inbox and tasks</div>\r\n </div>\r\n </div>\r\n </a>\r\n\r\n <a href=\"/user/profile\" className=\"navi-item\">\r\n <div className=\"navi-link\">\r\n <div className=\"symbol symbol-40 bg-light mr-3\">\r\n <div className=\"symbol-label\">\r\n <span className=\"svg-icon svg-icon-md svg-icon-danger\">\r\n <SVG\r\n src={toAbsoluteUrl(\r\n \"/media/svg/icons/Files/Selected-file.svg\"\r\n )}\r\n ></SVG>\r\n </span>\r\n </div>\r\n </div>\r\n <div className=\"navi-text\">\r\n <div className=\"font-weight-bold\">My Activities</div>\r\n <div className=\"text-muted\">Logs and notifications</div>\r\n </div>\r\n </div>\r\n </a>\r\n\r\n <a href=\"/user/profile\" className=\"navi-item\">\r\n <div className=\"navi-link\">\r\n <div className=\"symbol symbol-40 bg-light mr-3\">\r\n <div className=\"symbol-label\">\r\n <span className=\"svg-icon svg-icon-md svg-icon-primary\">\r\n <SVG\r\n src={toAbsoluteUrl(\r\n \"/media/svg/icons/Communication/Mail-opened.svg\"\r\n )}\r\n ></SVG>\r\n </span>\r\n </div>\r\n </div>\r\n <div className=\"navi-text\">\r\n <div className=\"font-weight-bold\">My Tasks</div>\r\n <div className=\"text-muted\">latest tasks and projects</div>\r\n </div>\r\n </div>\r\n </a> */}\r\n </div>\r\n\r\n <div className=\"separator separator-dashed my-7\"></div>\r\n <div>\r\n <h5 className=\"mb-5\">Recent Notifications</h5>\r\n {releaseNotes.length > 0 &&\r\n releaseNotes.map((item) => (\r\n <div className=\"row from-group mb-4\">\r\n <div className=\"col-lg-12\">\r\n <div className=\"d-flex align-items-center bg-light-info rounded p-5\">\r\n <span className=\"svg-icon svg-icon-info mr-5\">\r\n <SVG\r\n src={toAbsoluteUrl(\r\n \"/media/svg/icons/General/Attachment2.svg\"\r\n )}\r\n className=\"svg-icon svg-icon-lg\"\r\n ></SVG>\r\n </span>\r\n\r\n <div className=\"d-flex flex-column flex-grow-1 mr-2\">\r\n <a\r\n onClick={() => {\r\n // try {\r\n // window.open(\r\n // `/ReleaseNotes/${item.BuildVersion}`,\r\n // \"_blank\"\r\n // );\r\n // } catch (err) {}\r\n setItemRelease(item);\r\n setModalReleaseNotes(true);\r\n }}\r\n role=\"button\"\r\n // target=\"_blank\"\r\n // href={`/ReleaseNotes/${window.$BuildVersion}`}\r\n className=\"font-weight-normel text-dark-75 text-hover-primary font-size-lg mb-1\"\r\n >\r\n Release Notes V{item.BuildVersion}\r\n </a>\r\n <span className=\"text-muted font-size-sm\">\r\n Build Date <strong>{getBuildDate(item.Created)}</strong>\r\n </span>\r\n </div>\r\n\r\n <span className=\"font-weight-bolder text-info py-1 font-size-lg\">\r\n <i class=\"fas fa-arrow-circle-right\"></i>\r\n </span>\r\n </div>\r\n </div>\r\n </div>\r\n ))}{\" \"}\r\n {releaseNotes.length === 0 && (\r\n <>\r\n <div className=\"form-group row\">\r\n <div\r\n className=\"col-lg-12 p-5 mt-md-9\"\r\n style={{ textAlign: \"center\" }}\r\n >\r\n <h3 className=\"text-muted\">No Notifications yet</h3>\r\n </div>\r\n </div>\r\n </>\r\n )}\r\n <Modal\r\n show={modalReleaseNotes}\r\n size=\"lg\"\r\n aria-labelledby=\"example-modal-sizes-title-lg\"\r\n >\r\n <Modal.Header>\r\n <Modal.Title id=\"example-modal-sizes-title-lg\">\r\n Release Notes\r\n </Modal.Title>\r\n <IconButton\r\n \r\n aria-label=\"Close\"\r\n onClick={() => {\r\n setModalReleaseNotes(false);\r\n }}\r\n >\r\n <CloseIcon />\r\n </IconButton>\r\n </Modal.Header>\r\n <Modal.Body>\r\n <div className=\"form-group row\">\r\n <div className=\"col-lg-12\">\r\n <Card className=\"border-0 mb-5\">\r\n <div\r\n className=\"label label-lg label-light-primary label-inline border-0 w-100 font-weight-bold text-center p-5 my-5 justify-content-start\"\r\n style={{ fontSize: \"15px\" }}\r\n >\r\n Build Version : {itemRelease?.Title} {\" \"} | {\" \"}{\" \"}\r\n Build Date :{\" \"}\r\n {moment(itemRelease?.Created).format(\"MM-DD-YYYY\")}\r\n </div>\r\n <div className=\"p-3\">\r\n <div\r\n dangerouslySetInnerHTML={createMarkup(\r\n itemRelease?.Body\r\n )}\r\n />\r\n </div>\r\n </Card>\r\n </div>\r\n </div>\r\n </Modal.Body>\r\n <Modal.Footer>\r\n <div>\r\n <button\r\n type=\"button\"\r\n onClick={() => {\r\n setModalReleaseNotes(false);\r\n }}\r\n className=\"btn btn-light btn-elevate mr-2\"\r\n >\r\n Close\r\n </button>\r\n </div>\r\n </Modal.Footer>\r\n </Modal>\r\n </div>\r\n </div>\r\n </div>\r\n );\r\n}\r\n","import React from \"react\";\r\nimport SVG from \"react-inlinesvg\";\r\nimport {toAbsoluteUrl} from \"../../../_helpers\";\r\n\r\nexport function ScrollTop() {\r\n return (\r\n <div id=\"kt_scrolltop\" className=\"scrolltop\">\r\n <span className=\"svg-icon\">\r\n <SVG src={toAbsoluteUrl(\"/media/svg/icons/Navigation/Up-2.svg\")}></SVG>\r\n </span>{\" \"}\r\n </div>\r\n );\r\n}\r\n","import React, {useMemo} from \"react\";\r\nimport objectPath from \"object-path\";\r\n// LayoutContext\r\nimport {useHtmlClassService} from \"../_core/MetronicLayout\";\r\n// Import Layout components\r\nimport {Header} from \"./header/Header\";\r\nimport {HeaderMobile} from \"./header-mobile/HeaderMobile\";\r\nimport {Aside} from \"./aside/Aside\";\r\nimport {Footer} from \"./footer/Footer\";\r\nimport {LayoutInit} from \"./LayoutInit\";\r\nimport {SubHeader} from \"./subheader/SubHeader\";\r\nimport {QuickPanel} from \"./extras/offcanvas/QuickPanel\";\r\nimport {QuickUser} from \"./extras/offcanvas/QuickUser\";\r\nimport {ScrollTop} from \"./extras/ScrollTop\";\r\nimport { Link } from \"react-router-dom\";\r\n\r\nexport function Layout({ children,TablsOptionsList }) {\r\n const uiService = useHtmlClassService();\r\n // Layout settings (cssClasses/cssAttributes)\r\n const layoutProps = useMemo(() => {\r\n return {\r\n layoutConfig: uiService.config,\r\n selfLayout: objectPath.get(uiService.config, \"self.layout\"),\r\n asideDisplay: objectPath.get(uiService.config, \"aside.self.display\"),\r\n subheaderDisplay: objectPath.get(uiService.config, \"subheader.display\"),\r\n desktopHeaderDisplay: objectPath.get(\r\n uiService.config,\r\n \"header.self.fixed.desktop\"\r\n ),\r\n contentCssClasses: uiService.getClasses(\"content\", true),\r\n contentContainerClasses: uiService.getClasses(\"content_container\", true),\r\n contentExtended: objectPath.get(uiService.config, \"content.extended\")\r\n };\r\n }, [uiService]);\r\n\r\n return layoutProps.selfLayout !== \"blank\" ? (\r\n <>\r\n {/*Default Link to 401*/}\r\n <Link to=\"/error/401\" className=\"d-none\" id=\"401Link\"></Link>\r\n {/*begin::Main*/}\r\n <HeaderMobile/>\r\n <div className=\"d-flex flex-column flex-root\">\r\n {/*begin::Page*/}\r\n <div className=\"d-flex flex-row flex-column-fluid page\">\r\n {layoutProps.asideDisplay && (<Aside/>)}\r\n {/*begin::Wrapper*/}\r\n <div className=\"d-flex flex-column flex-row-fluid wrapper\" id=\"kt_wrapper\">\r\n <Header/>\r\n {/*begin::Content*/}\r\n <div\r\n id=\"kt_content\"\r\n className={`content ${layoutProps.contentCssClasses} d-flex flex-column flex-column-fluid`}\r\n >\r\n {layoutProps.subheaderDisplay && <SubHeader TablsOptionsList={TablsOptionsList}/>}\r\n {/*begin::Entry*/}\r\n {!layoutProps.contentExtended && (\r\n <div className=\"d-flex flex-column-fluid\">\r\n {/*begin::Container*/}\r\n <div className=\"container-fluid\">\r\n {children}\r\n </div>\r\n {/*end::Container*/}\r\n </div>\r\n )}\r\n\r\n {layoutProps.contentExtended && {children}}\r\n {/*end::Entry*/}\r\n </div>\r\n {/*end::Content*/}\r\n <Footer/>\r\n </div>\r\n {/*end::Wrapper*/}\r\n </div>{/* */}\r\n {/*end::Page*/}\r\n </div>\r\n <QuickUser/>\r\n <QuickPanel/>\r\n <ScrollTop/>\r\n {/* <StickyToolbar/> */}\r\n {/*end::Main*/}\r\n <LayoutInit />\r\n </>\r\n ) : (\r\n // BLANK LAYOUT\r\n <div className=\"d-flex flex-column flex-root\">{children}</div>\r\n );\r\n}\r\n","import React, {useEffect, useState} from \"react\";\r\nimport {useRouteMatch} from \"react-router-dom\";\r\n\r\nexport function Content({ children }) {\r\n const match = useRouteMatch() || {};\r\n const animationEndClass = \"grid-animateContent-finished\";\r\n const [cssClassesState, setCssClassesState] = useState([\r\n \"grid-animateContent\",\r\n animationEndClass\r\n ]);\r\n\r\n useEffect(() => {\r\n // for animation start should toggle 'grid-animateContent-finished' css class\r\n // TODO: change useMemo\r\n const fullClasses = [...cssClassesState];\r\n const startAnimation = fullClasses.filter(el => el !== animationEndClass);\r\n setCssClassesState(startAnimation);\r\n const timeOutId = setTimeout(() => {\r\n setCssClassesState(fullClasses);\r\n }, 200);\r\n\r\n return () => {\r\n clearTimeout(timeOutId);\r\n };\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [match.url]);\r\n\r\n return <>{children}</>;\r\n}\r\n","import React, { useEffect } from \"react\";\r\nimport { Route } from \"react-router-dom\";\r\nimport { Content } from \"./Content\";\r\nexport function ContentRoute({ children, component, render, ...props }) {\r\n useEffect(() => {}, [props]);\r\n\r\n return (\r\n <Route {...props}>\r\n {(routeProps) => {\r\n if (typeof children === \"function\") {\r\n return <Content>{children(routeProps)}</Content>;\r\n }\r\n\r\n if (!routeProps.match) {\r\n return null;\r\n }\r\n\r\n if (children) {\r\n return <Content>{children}</Content>;\r\n }\r\n\r\n if (component) {\r\n return (\r\n <Content>{React.createElement(component, routeProps)}</Content>\r\n );\r\n }\r\n\r\n if (render) {\r\n return <Content>{render(routeProps)}</Content>;\r\n }\r\n\r\n return null;\r\n }}\r\n </Route>\r\n );\r\n}\r\n","import React, {createContext, useContext, useState, useEffect} from \"react\";\r\n\r\nconst MetronicSplashScreenContext = createContext();\r\n\r\nexport function MetronicSplashScreenProvider({ children }) {\r\n const [count, setCount] = useState(0);\r\n let visible = count > 0;\r\n\r\n useEffect(() => {\r\n const splashScreen = document.getElementById(\"splash-screen\");\r\n\r\n // Show SplashScreen\r\n if (splashScreen && visible) {\r\n splashScreen.classList.remove(\"hidden\");\r\n\r\n return () => {\r\n splashScreen.classList.add(\"hidden\");\r\n };\r\n }\r\n\r\n // Hide SplashScreen\r\n let timeout;\r\n if (splashScreen && !visible) {\r\n timeout = setTimeout(() => {\r\n splashScreen.classList.add(\"hidden\");\r\n }, 3000);\r\n }\r\n\r\n return () => {\r\n clearTimeout(timeout);\r\n };\r\n }, [visible]);\r\n\r\n return (\r\n <MetronicSplashScreenContext.Provider value={setCount}>\r\n {children}\r\n </MetronicSplashScreenContext.Provider>\r\n );\r\n}\r\n\r\nexport function LayoutSplashScreen({ visible = true }) {\r\n // Everything are ready - remove splashscreen\r\n const setCount = useContext(MetronicSplashScreenContext);\r\n\r\n useEffect(() => {\r\n if (!visible) {\r\n return;\r\n }\r\n\r\n setCount(prev => {\r\n return prev + 1;\r\n });\r\n\r\n return () => {\r\n setCount(prev => {\r\n return prev - 1;\r\n });\r\n };\r\n }, [setCount, visible]);\r\n\r\n return null;\r\n}\r\n","import React from \"react\";\r\nimport {createMuiTheme} from \"@material-ui/core\";\r\nimport {ThemeProvider} from \"@material-ui/styles\";\r\n\r\nconst theme = createMuiTheme(\r\n /**\r\n * @see https://material-ui.com/customization/themes/#theme-configuration-variables\r\n */\r\n {\r\n // direction: \"rtl\",\r\n typography: {\r\n fontFamily: [\"Poppins\"].join(\",\")\r\n },\r\n\r\n palette: {\r\n primary: {\r\n // light: will be calculated from palette.primary.main,\r\n main: \"#17c191\",\r\n // dark: will be calculated from palette.primary.main,\r\n // contrastText: \"#fff\" //will be calculated to contrast with palette.primary.main\r\n },\r\n secondary: {\r\n // light: will be calculated from palette.primary.main,\r\n main: \"#3783e7\",\r\n // dark: will be calculated from palette.primary.main,\r\n // contrastText: \"#fff\" //will be calculated to contrast with palette.primary.main\r\n },\r\n error: {\r\n // light: will be calculated from palette.primary.main,\r\n main: \"#f018a6\",\r\n // dark: will be calculated from palette.primary.main,\r\n // contrastText: \"#fff\" //will be calculated to contrast with palette.primary.main\r\n }\r\n },\r\n\r\n /**\r\n * @see https://material-ui.com/customization/globals/#default-props\r\n */\r\n props: {\r\n // Name of the component ⚛️\r\n MuiButtonBase: {\r\n // The properties to apply\r\n disableRipple: true // No more ripple, on the whole application 💣!\r\n },\r\n\r\n // Set default elevation to 1 for popovers.\r\n MuiPopover: {\r\n elevation: 1\r\n }\r\n }\r\n }\r\n);\r\n\r\nexport function MaterialThemeProvider(props) {\r\n const { children } = props;\r\n\r\n return <ThemeProvider theme={theme}>{children}</ThemeProvider>;\r\n}\r\n","export {Layout} from \"./components/Layout\";\r\nexport {ContentRoute} from \"./components/content/ContentRoute\";\r\nexport {Content} from \"./components/content/Content\";\r\n\r\n// core\r\nexport * from \"./_core/LayoutConfig\";\r\nexport * from \"./_core/MetronicLayout\";\r\nexport * from \"./_core/MetronicSplashScreen\";\r\nexport * from \"./_core/MaterialThemeProvider\";\r\nexport * from \"./_core/MetronicSubheader\";\r\n","// Form is based on Formik\r\n// Data validation is based on Yup\r\nimport { LinearProgress } from \"@material-ui/core\";\r\nimport axios from \"axios\";\r\nimport { Field, Form, Formik } from \"formik\";\r\nimport $ from \"jquery\";\r\nimport low from \"lowdb\";\r\nimport LocalStorage from \"lowdb/adapters/LocalStorage\";\r\nimport React, { useEffect, useState } from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport CreatableSelect from \"react-select/creatable\";\r\nimport SelectMulti from \"react-select\";\r\nimport * as Yup from \"yup\";\r\nimport {\r\n IsValidMessage,\r\n jqueryChange,\r\n} from \"../../../../../../../../_metronic/_helpers/ATHelpers\";\r\nimport {\r\n AttachementsComponent,\r\n CheckboxLargeWB,\r\n CreatableSelect2,\r\n CreatableSelect3,\r\n DateTime30,\r\n Input,\r\n Select,\r\n} from \"../../../../../../../../_metronic/_partials/controls\";\r\nimport ReactSelect from \"react-select\";\r\nconst adapter = new LocalStorage(\"db\");\r\nconst db = low(adapter);\r\n// Validation schema\r\nconst RemarkEditSchema = Yup.object().shape({});\r\nconst catchError = [];\r\nexport function RemarkEditForm({\r\n saveRemark,\r\n remark,\r\n actionsLoading,\r\n onHide,\r\n shipment = false,\r\n isScencty = false,\r\n SKUsList = false,\r\n GetSKu,\r\n}) {\r\n const [ReceiptId, setReceiptId] = useState(false);\r\n const [PackagingGroupsList, setPackagingGroupsList] = useState(catchError);\r\n const [HazardClassesList, setHazardClassesList] = useState(catchError);\r\n const [isHasardOfMaterial, setisHasardOfMaterial] = useState(false);\r\n const [LBSWeight, setLBSWeight] = useState(1);\r\n const [LBSWeightPut, setLBSWeightPut] = useState(\"\");\r\n const [putModeWeight, setPutModeWeight] = useState(false);\r\n const [disabledInput, setdisabledInput] = useState(false);\r\n const [CFTCube, setCFTCube] = useState(1);\r\n const [CFTCubePut, setCFTCubePut] = useState(\"\");\r\n const [putModeCFTCube, setPutModeCFTCube] = useState(false);\r\n const [isLtlForm, setIsLtl] = useState(false);\r\n const [UnitOfMeasures, setUnitOfMeasures] = useState(catchError);\r\n const [Service, setService] = useState([]);\r\n const [consigneList, setConsigneList] = useState([]);\r\n\r\n useEffect(() => {\r\n remark.ReceiptId = window?.ReceiptId || 0;\r\n if (window.location.pathname === \"/TransportManagementSystem\") {\r\n setIsLtl(true);\r\n } else {\r\n setIsLtl(false);\r\n }\r\n setReceiptId(window?.ReceiptId);\r\n }, [window?.ReceiptId]);\r\n\r\n function SetValuefunction(id, value) {\r\n var element = document.getElementById(id);\r\n if (element != null)\r\n setTimeout(() => {\r\n element.value = value;\r\n }, 500);\r\n }\r\n\r\n useEffect(() => {\r\n var weightType = remark?.WeightType || false;\r\n if (weightType) {\r\n SetValuefunction(\"WeightTypeId\", weightType);\r\n }\r\n var cubeType = remark?.CubeType || false;\r\n if (cubeType) {\r\n SetValuefunction(\"CubeTypeId\", cubeType);\r\n }\r\n var WeightMode = remark?.WeightMode || false;\r\n if (WeightMode) {\r\n SetValuefunction(\"WeightMode\", WeightMode);\r\n }\r\n document.getElementById(\"IsHazardousMateriel\").checked =\r\n remark.IsHazardousMateriel;\r\n\r\n document.getElementById(\"IsHot\").checked = remark.IsHot;\r\n\r\n setisHasardOfMaterial(remark.IsHazardousMateriel);\r\n\r\n var weight = remark?.Weight || 1;\r\n setLBSWeight(weight * 2.2);\r\n\r\n var cube = remark?.Cube || 1;\r\n setCFTCube(cube * 35.3147);\r\n /* try {\r\n setConsigneValue({\r\n value: remark.DestinationId,\r\n label: `${remark.DestinationCode ?? \"\"} - ${remark.DestinationName ??\r\n \"\"}`,\r\n });\r\n } catch (err) {} */\r\n\r\n try {\r\n if (\r\n remark.StatusId === 6 &&\r\n remark.IsLocked !== null &&\r\n remark.IsLocked\r\n ) {\r\n setReadOnly(true);\r\n } else {\r\n setReadOnly(false);\r\n }\r\n } catch (err) {}\r\n if (remark.Class) {\r\n setFreightClassSelect({ label: remark.Class });\r\n }\r\n\r\n //LTL GET DATA\r\n try {\r\n if (remark?.Width) {\r\n setWidthValue(remark.Width);\r\n }\r\n if (remark?.Height) {\r\n setHeightValue(remark.Height);\r\n }\r\n if (remark?.Length) {\r\n setLengthValue(remark.Length);\r\n }\r\n if (remark?.Weight) {\r\n setWeightValue($(\"#WeightId\").val());\r\n }\r\n if (remark?.Class) {\r\n setFreightClassSelect({ value: remark.Class, label: remark.Class });\r\n }\r\n if (remark?.Width && remark?.Weight && remark?.Height && remark?.Length) {\r\n setIsChangingClass(true);\r\n }\r\n } catch (err) {}\r\n }, [remark]);\r\n\r\n useEffect(() => {\r\n var UnitOfMeasureId = remark?.UnitOfMeasureId || false;\r\n jqueryChange(\"UnitOfMeasureId\", UnitOfMeasureId);\r\n if (remark.isHasardOfMaterial) {\r\n setisHasardOfMaterial(remark.isHasardOfMaterial);\r\n }\r\n }, [remark, UnitOfMeasures]);\r\n \r\n const handleGetViewModel = () => {\r\n fetch(window.$apiurl + \"/Customers/getviewmodel\", {\r\n method: \"GET\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n },\r\n Allow: \"GET\",\r\n })\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n const contentType = response.headers.get(\"content-type\");\r\n if (contentType && contentType.indexOf(\"application/json\") !== -1) {\r\n return response.json().then((data) => [statusCode, data]);\r\n } else {\r\n return response.text().then((data) => [statusCode, data]);\r\n }\r\n })\r\n .then((data) => {\r\n if (data[0] === 200) {\r\n console.log(\"Service\", data[1]?.Service);\r\n setService(data[1].Service);\r\n }\r\n })\r\n .catch((error) => {\r\n console.log(error);\r\n });\r\n };\r\n useEffect(() => {\r\n fetchUsersAsync();\r\n fetchConsigneList();\r\n GetViewModelStops();\r\n handleGetViewModel();\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (consigneList?.length > 0 && remark?.DestinationId) {\r\n var a = consigneList.find((x) => x.Id === remark?.DestinationId);\r\n setConsigneValue({\r\n value: remark.DestinationId,\r\n label: `${a?.Code ?? \"\"} - ${a?.CompanyName ?? \"\"}`,\r\n });\r\n }\r\n }, [remark?.DestinationId, consigneList]);\r\n\r\n async function fetchConsigneList() {\r\n return await fetch(window.$apiurl + \"/transload/orders/getviewmodel\", {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n const a = res[1];\r\n setConsigneList(a?.Consignees);\r\n window.$consigneeList = a?.Consignees;\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n const [stopsList, setStopsList] = React.useState([]);\r\n\r\n async function GetViewModelStops() {\r\n return await fetch(\r\n window.$apiurl + `/TransportationItem/GetViewModel/${remark.ReceiptId}`,\r\n {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n }\r\n )\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n const a = res[1];\r\n setStopsList(a?.Stops);\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n const fetchUsersAsync = async () => {\r\n try {\r\n const result = await axios.get(\"api/FindOrderContainers/GetAllApi\");\r\n setPackagingGroupsList(\r\n result.data.ViewModel.PackagingGroups || catchError\r\n );\r\n setUnitOfMeasures(result.data.ViewModel.UnitOfMeasures || catchError);\r\n setHazardClassesList(result.data.ViewModel.HazardClasses || catchError);\r\n } catch (e) {}\r\n };\r\n\r\n function CubeTypeCalc() {\r\n const cubeTypeId = $(\"#CubeTypeId\").val();\r\n const cubeId = $(\"#CubeId\").val();\r\n if (cubeTypeId === \"CBM\") {\r\n setPutModeCFTCube(false);\r\n setCFTCube(cubeId * 35.3147);\r\n } else {\r\n setPutModeCFTCube(true);\r\n setCFTCubePut(cubeId);\r\n }\r\n }\r\n\r\n function WeightTypeCalc(isChangingClass) {\r\n const weightType = $(\"#WeightTypeId\").val();\r\n const cubeId = $(\"#WeightId\").val();\r\n if (isChangingClass) {\r\n setIsChangingClass(false);\r\n setWeightValue(cubeId);\r\n }\r\n if (weightType === \"KGS\") {\r\n setPutModeWeight(false);\r\n setLBSWeight(cubeId * 2.20462);\r\n } else {\r\n setPutModeWeight(true);\r\n setLBSWeightPut(cubeId);\r\n }\r\n }\r\n\r\n const [consigneValue, setConsigneValue] = useState({\r\n value: \"\",\r\n label: \"Select\",\r\n });\r\n\r\n useEffect(() => {\r\n try {\r\n if (stopsList.length > 0 && remark?.StopId) {\r\n var currentStop = stopsList?.find((x) => x.Id === remark?.StopId);\r\n setStopValue({\r\n value: currentStop?.Id,\r\n label: `${currentStop?.Id} - ${currentStop?.CompanyName}`,\r\n });\r\n }\r\n } catch (err) {}\r\n }, [stopsList, remark?.StopId]);\r\n\r\n const [isReadOnly, setReadOnly] = useState(false);\r\n const suggestionsFreightClass = [\r\n { label: \"0\" },\r\n { label: \"50\" },\r\n { label: \"55\" },\r\n { label: \"60\" },\r\n { label: \"70\" },\r\n { label: \"77.5\" },\r\n { label: \"85\" },\r\n { label: \"92.5\" },\r\n { label: \"100\" },\r\n { label: \"110\" },\r\n { label: \"125\" },\r\n { label: \"150\" },\r\n { label: \"175\" },\r\n { label: \"200\" },\r\n { label: \"250\" },\r\n { label: \"300\" },\r\n { label: \"400\" },\r\n { label: \"500\" },\r\n ].map((suggestion) => ({\r\n value: suggestion.label,\r\n label: suggestion.label,\r\n }));\r\n const suggestions2 = [{ label: \"in./lbs.\" }, { label: \"cm./kg.\" }].map(\r\n (suggestion2) => ({\r\n value: suggestion2.label,\r\n label: suggestion2.label,\r\n })\r\n );\r\n const [isMeter, setIsMeter] = React.useState(false);\r\n const [unitValue, setUnitValue] = React.useState(\"in.\");\r\n const [unitWeight, setUnitWeight] = React.useState({\r\n value: \"in./lbs.\",\r\n label: \"in./lbs.\",\r\n });\r\n const [stopValue, setStopValue] = React.useState({\r\n value: \"\",\r\n label: \"Select\",\r\n });\r\n\r\n async function ClassCalculatorFunctionFetch() {\r\n return await fetch(\r\n window.$apiurl +\r\n `/FreightClass/CalculateClass?length=${lengthValue}&width=${widthValue}&height=${heightValue}&weight=${weightValue}\r\n &isMeter=${isMeter}`,\r\n {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n }\r\n )\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n const a = res[1];\r\n if (!isChangingClass) {\r\n if (a) {\r\n setFreightClassSelect({\r\n label: a?.Result,\r\n value: a?.result,\r\n });\r\n } else {\r\n setFreightClassSelect({ label: 0, value: 0 });\r\n }\r\n }\r\n\r\n return a;\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n const [freightClassValue, setFreightClassValue] = React.useState(0);\r\n\r\n const [lengthValue, setLengthValue] = React.useState(\"\");\r\n const [widthValue, setWidthValue] = React.useState(\"\");\r\n const [heightValue, setHeightValue] = React.useState(\"\");\r\n const [weightValue, setWeightValue] = React.useState(\"\");\r\n const [isChangingClass, setIsChangingClass] = React.useState(false);\r\n\r\n const [freightClassSelect, setFreightClassSelect] = React.useState(null);\r\n useEffect(() => {\r\n if (\r\n lengthValue !== \"\" &&\r\n heightValue !== \"\" &&\r\n widthValue !== \"\" &&\r\n weightValue !== \"\"\r\n ) {\r\n ClassCalculatorFunctionFetch();\r\n }\r\n }, [lengthValue, widthValue, heightValue, weightValue, isMeter]);\r\n return (\r\n <>\r\n <Formik\r\n enableReinitialize={true}\r\n initialValues={remark}\r\n validationSchema={RemarkEditSchema}\r\n onSubmit={(values) => {\r\n var stringfyJson = JSON.stringify(values);\r\n var parseJson = JSON.parse(stringfyJson);\r\n parseJson.FreightClass = freightClassSelect?.label;\r\n parseJson.StopId = stopValue?.value;\r\n parseJson.WeightType = parseJson?.WeightType || \"KGS\";\r\n parseJson.CubeType = parseJson?.CubeType || \"CBM\";\r\n parseJson.ReceiptId = parseJson.ReceiptId || window.ReceiptId;\r\n parseJson.ShipmentId = parseJson.ShipmentId || window.ReceiptId;\r\n if (\r\n parseJson.WeightMode === undefined ||\r\n parseJson.WeightMode === null ||\r\n parseJson.WeightMode === \"\"\r\n ) {\r\n parseJson.WeightMode = \"each\";\r\n }\r\n parseJson.Pieces = parseJson?.Pieces || 1;\r\n parseJson.UnitCount = parseJson?.UnitCount || 0;\r\n parseJson.Weight = parseJson?.Weight || 1;\r\n parseJson.Cube = parseJson?.Cube || 1;\r\n parseJson.DestinationId = consigneValue.value;\r\n window.IsValid = false;\r\n\r\n // IsValidMessage(\"Purchase Order\", parseJson?.PurchaseOrder);\r\n IsValidMessage(\"Unit Of Measure\", parseJson?.UnitOfMeasureId);\r\n\r\n var customerId =\r\n +document.querySelector('[name=\"CustomerId\"]')?.value ?? 0;\r\n\r\n if (customerId === 112) {\r\n /* IsValidMessage(\"Cartons\", +parseJson?.UnitCount > 0); */\r\n IsValidMessage(\"Weight\", +parseJson?.Weight > 0);\r\n IsValidMessage(\"Cube\", +parseJson?.Cube > 0);\r\n }\r\n if (window.IsValid) return false;\r\n saveRemark(parseJson);\r\n }}\r\n >\r\n {({ handleSubmit, setFieldValue, values }) => (\r\n <>\r\n <Modal.Body>\r\n {actionsLoading && (\r\n <div className=\"overlay-layer bg-transparent\">\r\n <div className=\"spinner spinner-lg spinner-success\" />\r\n </div>\r\n )}\r\n <Form className=\"form form-label-right\">\r\n <div className=\"form-group row\">\r\n <div className=\"col-lg-6 mt-5\">\r\n <Field\r\n name=\"ReceiptId2\"\r\n component={Input}\r\n placeholder=\"ReceiptId\"\r\n label={!shipment ? \"Receipt Id\" : \"Shipment Id\"}\r\n required={true}\r\n value={ReceiptId}\r\n disabled\r\n />\r\n </div>\r\n <div className=\"col-lg-6 mt-5\">\r\n <Field\r\n name=\"PurchaseOrder\"\r\n component={Input}\r\n placeholder=\"Purchase Order\"\r\n label=\"Purchase Order\"\r\n required={true}\r\n maxlength=\"10\"\r\n />\r\n </div>\r\n {window.$modeNameLtl !== \"LTL\" &&\r\n (!SKUsList || values?.OverOnly) && (\r\n <div className=\"col-lg-6 mt-5\">\r\n <Field\r\n name=\"Sku\"\r\n component={Input}\r\n placeholder=\"Sku\"\r\n label=\"Sku\"\r\n />\r\n </div>\r\n )}\r\n {SKUsList?.length > 0 && !values?.OverOnly && (\r\n <div className=\"col-lg-6 mt-5\">\r\n <CreatableSelect3\r\n name=\"Sku\"\r\n label=\"Sku\"\r\n options={SKUsList.map((x) => {\r\n return {\r\n value: x?.Id,\r\n label: x?.Sku,\r\n };\r\n })}\r\n onChange={(e) => {\r\n var id = e?.value;\r\n if (id) GetSKu(id);\r\n }}\r\n />\r\n </div>\r\n )}\r\n {!isScencty && (\r\n <div className=\"col-lg-6 mt-5\">\r\n <Field\r\n disabled={isReadOnly}\r\n type=\"number\"\r\n min=\"0\"\r\n name=\"Pieces\"\r\n component={Input}\r\n placeholder=\"Case pack\"\r\n label=\"Case pack\"\r\n required={true}\r\n />\r\n </div>\r\n )}\r\n <div className=\"col-lg-6 mt-5\">\r\n <CreatableSelect2\r\n name=\"UnitOfMeasureId\"\r\n label=\"Unit Of Measure\"\r\n setFieldValue={setFieldValue}\r\n options={UnitOfMeasures.map((x) => {\r\n return {\r\n value: x.Id,\r\n label: x?.Name,\r\n };\r\n })}\r\n />\r\n {UnitOfMeasures.length === 0 && <LinearProgress />}\r\n </div>\r\n <div\r\n className={\r\n \"col-lg-6 mt-5 \" +\r\n (!isScencty /* || (isScencty && remark?.Id) */\r\n ? \"\"\r\n : \"d-none\")\r\n }\r\n >\r\n <Field\r\n disabled={\r\n isReadOnly /* || !(!isScencty || (isScencty && remark?.Id)) */\r\n }\r\n type=\"number\"\r\n name=\"UnitCount\"\r\n component={Input}\r\n placeholder=\"Unit Count\"\r\n label=\"Unit Count\"\r\n required={true}\r\n min=\"0\"\r\n />\r\n </div>\r\n {!isScencty && (\r\n <div className=\"col-lg-6 mt-5\">\r\n <Select\r\n id=\"WeightTypeId\"\r\n name=\"WeightType\"\r\n label=\"Weight Type\"\r\n onChange={(event) => {\r\n setFieldValue(\"WeightType\", event.target.value);\r\n WeightTypeCalc(false);\r\n }}\r\n >\r\n <option value=\"KGS\">KGS</option>\r\n <option value=\"LBS\">LBS</option>\r\n </Select>\r\n </div>\r\n )}\r\n {!isScencty && (\r\n <div className=\"col-lg-6 mt-5\">\r\n <Select\r\n id=\"CubeTypeId\"\r\n name=\"CubeType\"\r\n label=\"Cube Type\"\r\n onChange={(event) => {\r\n setFieldValue(\"CubeType\", event.target.value);\r\n CubeTypeCalc();\r\n }}\r\n >\r\n <option value=\"CBM\">CBM</option>\r\n <option value=\"CFT\">CFT</option>\r\n </Select>\r\n </div>\r\n )}\r\n {!isScencty && (\r\n <div className=\"col-lg-6 mt-5\">\r\n <Field\r\n type=\"number\"\r\n name=\"Weight\"\r\n id=\"WeightId\"\r\n component={Input}\r\n placeholder=\"Weight\"\r\n label=\"Weight\"\r\n required={true}\r\n min=\"0\"\r\n onBlur={WeightTypeCalc(true)}\r\n />\r\n {isLtlForm && (\r\n <div className=\"row\">\r\n <div\r\n className=\"col-lg-3 mt-5\"\r\n style={{ paddingRight: \"0px\" }}\r\n >\r\n <Select\r\n id=\"WeightMode\"\r\n name=\"WeightMode\"\r\n label=\"Weight Mode\"\r\n onChange={(event) => {\r\n setFieldValue(\"WeightMode\", event.target.value);\r\n }}\r\n >\r\n <option value=\"each\">each</option>\r\n <option value=\"total\">total</option>\r\n </Select>\r\n </div>\r\n <div\r\n className=\"col-lg-9 mt-5\"\r\n style={{ paddingLeft: \"0px\" }}\r\n >\r\n <Field\r\n disabled={isReadOnly}\r\n type=\"number\"\r\n name=\"Weight\"\r\n id=\"WeightId\"\r\n component={Input}\r\n placeholder=\"Weight\"\r\n label=\"Weight\"\r\n required={true}\r\n min=\"0\"\r\n onBlur={WeightTypeCalc(true)}\r\n />\r\n </div>\r\n </div>\r\n )}\r\n </div>\r\n )}\r\n {!isScencty && (\r\n <div className=\"col-lg-6 mt-5\">\r\n <Field\r\n type=\"number\"\r\n name=\"Cube\"\r\n id=\"CubeId\"\r\n component={Input}\r\n placeholder=\"Cube\"\r\n label=\"Cube\"\r\n required={true}\r\n min=\"0\"\r\n onBlur={CubeTypeCalc()}\r\n />\r\n </div>\r\n )}\r\n {!isScencty && (\r\n <div className=\"col-lg-6 mt-5\">\r\n <Field\r\n type=\"number\"\r\n name=\"LBSWeight\"\r\n id=\"LBSWeightId\"\r\n value={\r\n putModeWeight ? LBSWeightPut : LBSWeight.toFixed(2)\r\n }\r\n onChange={(event) => {\r\n if ($(\"#WeightTypeId\").val() === \"KGS\") {\r\n setPutModeWeight(true);\r\n setLBSWeightPut(event.target.value);\r\n window.$LBSWeight = event.target.value;\r\n setFieldValue(\"LBSWeight\", event.target.value);\r\n }\r\n }}\r\n component={Input}\r\n placeholder=\"Weight (LBS)\"\r\n label=\"Weight (LBS)\"\r\n />\r\n </div>\r\n )}\r\n {!isScencty && (\r\n <div className=\"col-lg-6 mt-5\">\r\n <Field\r\n type=\"number\"\r\n name=\"CFTCube\"\r\n id=\"CFTCubeId\"\r\n value={putModeCFTCube ? CFTCubePut : CFTCube.toFixed(2)}\r\n onChange={(event) => {\r\n if ($(\"#CubeTypeId\").val() === \"CBM\") {\r\n setPutModeCFTCube(true);\r\n setCFTCubePut(event.target.value);\r\n window.$CFTCube = event.target.value;\r\n setFieldValue(\"LBSWeight\", event.target.value);\r\n }\r\n }}\r\n component={Input}\r\n placeholder=\"Cube (CFT) \"\r\n label=\"Cube (CFT)\"\r\n />\r\n </div>\r\n )}\r\n {isLtlForm && (\r\n <>\r\n {window.$modeNameLtl === \"LTL\" && (\r\n <>\r\n <div className=\"col-lg-6 mt-5\">\r\n <Field\r\n type=\"number\"\r\n name=\"Length\"\r\n value={lengthValue}\r\n onChange={(event) => {\r\n setFieldValue(\"Length\", event.target.value);\r\n setLengthValue(event.target.value);\r\n setIsChangingClass(false);\r\n }}\r\n component={Input}\r\n placeholder={`Length (${unitValue})`}\r\n label={`Length (${unitValue})`}\r\n />\r\n </div>\r\n <div className=\"col-lg-6 mt-5\">\r\n <Field\r\n type=\"number\"\r\n name=\"Width\"\r\n value={widthValue}\r\n onChange={(event) => {\r\n setFieldValue(\"Width\", event.target.value);\r\n setWidthValue(event.target.value);\r\n setIsChangingClass(false);\r\n }}\r\n component={Input}\r\n placeholder={`Width (${unitValue})`}\r\n label={`Width (${unitValue})`}\r\n />\r\n </div>\r\n <div className=\"col-lg-6 mt-5\">\r\n <Field\r\n type=\"number\"\r\n name=\"Height\"\r\n value={heightValue}\r\n onChange={(event) => {\r\n setFieldValue(\"Height\", event.target.value);\r\n setHeightValue(event.target.value);\r\n setIsChangingClass(false);\r\n }}\r\n component={Input}\r\n placeholder={`Height (${unitValue})`}\r\n label={`Height (${unitValue})`}\r\n />\r\n </div>\r\n <div className=\"col-lg-6 mt-5\">\r\n <label>Units</label>\r\n <CreatableSelect\r\n setFieldValue={setFieldValue}\r\n name=\"Units\"\r\n onChange={async (e) => {\r\n try {\r\n if (e?.value === \"in./lbs.\") {\r\n setIsMeter(false);\r\n setUnitValue(\"in.\");\r\n } else {\r\n setIsMeter(true);\r\n setUnitValue(\"cm.\");\r\n }\r\n setIsChangingClass(false);\r\n setUnitWeight(\r\n e || {\r\n value: \"in./lbs.\",\r\n label: \"in./lbs.\",\r\n }\r\n );\r\n } catch (err) {}\r\n }}\r\n options={suggestions2}\r\n value={unitWeight}\r\n />\r\n </div>\r\n </>\r\n )}\r\n <div className=\"col-lg-6 mt-5\">\r\n <Field\r\n type=\"text\"\r\n name=\"Nmfc\"\r\n onChange={(event) => {\r\n setFieldValue(\"Nmfc\", event.target.value);\r\n }}\r\n component={Input}\r\n placeholder=\"NMFC\"\r\n label=\"NMFC\"\r\n />\r\n </div>\r\n {window.$modeNameLtl === \"LTL\" && (\r\n <div className=\"col-lg-6 mt-5\">\r\n <label>Estimated Freight Class</label>\r\n <CreatableSelect\r\n name=\"FreightClass\"\r\n setFieldValue={setFieldValue}\r\n options={suggestionsFreightClass}\r\n value={freightClassSelect}\r\n onChange={(newValue) => {\r\n try {\r\n if (newValue) {\r\n setFreightClassSelect(newValue);\r\n } else {\r\n setFreightClassSelect(null);\r\n }\r\n } catch (err) {}\r\n }}\r\n />\r\n </div>\r\n )}\r\n </>\r\n )}\r\n {isLtlForm && window.$modeNameLtl === \"FTL\" && (\r\n <div className=\"col-lg-6 mt-5\">\r\n <label>Stop</label>\r\n <CreatableSelect\r\n name=\"Stops\"\r\n setFieldValue={setFieldValue}\r\n options={stopsList.map((x) => {\r\n return {\r\n value: x.Id,\r\n label: `${x?.Id} - ${x?.CompanyName}`,\r\n };\r\n })}\r\n value={stopValue}\r\n onChange={(newValue) => {\r\n try {\r\n if (newValue) {\r\n setStopValue(newValue);\r\n } else {\r\n setStopValue(null);\r\n }\r\n } catch (err) {}\r\n }}\r\n />\r\n </div>\r\n )}\r\n\r\n {!isLtlForm && (\r\n <>\r\n {!isScencty && (\r\n <ShortOverChange\r\n OverQuantity={values?.OverQuantity}\r\n ShortQuantity={values?.ShortQuantity}\r\n setdisabledInput={setdisabledInput}\r\n />\r\n )}\r\n {!values?.DamagedOnly && !values?.ShortOnly && (\r\n <div className=\"col-lg-6 mt-5\">\r\n <Field\r\n disabled={isReadOnly || disabledInput === \"Short\"}\r\n type=\"number\"\r\n name=\"OverQuantity\"\r\n component={Input}\r\n min=\"0\"\r\n placeholder=\"Over Quantity\"\r\n label=\"Over Quantity\"\r\n />\r\n </div>\r\n )}{\" \"}\r\n {!values?.OverOnly && !values?.DamagedOnly && (\r\n <div className=\"col-lg-6 mt-5\">\r\n <Field\r\n disabled={isReadOnly || disabledInput === \"Over\"}\r\n type=\"number\"\r\n name=\"ShortQuantity\"\r\n min=\"0\"\r\n component={Input}\r\n placeholder=\"Short Quantity\"\r\n label=\"Short Quantity\"\r\n />\r\n </div>\r\n )}\r\n {!values?.OverOnly && !values?.ShortOnly && (\r\n <div className=\"col-lg-6 mt-5\">\r\n <Field\r\n disabled={isReadOnly}\r\n type=\"number\"\r\n min=\"0\"\r\n name=\"DamagedQuantity\"\r\n component={Input}\r\n placeholder=\"Damaged Quantity\"\r\n label=\"Damaged Quantity\"\r\n />\r\n </div>\r\n )}\r\n <div className=\"col-lg-6 mt-5\">\r\n <label>DC Location</label>\r\n <CreatableSelect\r\n name=\"ConsigneNumber\"\r\n className={isReadOnly && `disabledSelect`}\r\n value={consigneValue}\r\n options={consigneList.map((x) => {\r\n return {\r\n value: x?.Id,\r\n label: `${x?.Code} - ${x?.CompanyName}`,\r\n };\r\n })}\r\n onChange={(e) => {\r\n setConsigneValue(e);\r\n }}\r\n />\r\n </div>\r\n {!isScencty && (\r\n <div className=\"col-lg-6 mt-5\">\r\n <Field\r\n name=\"ReferenceNumber\"\r\n component={Input}\r\n placeholder=\"Reference Number\"\r\n label=\"Reference Number\"\r\n />\r\n </div>\r\n )}\r\n {!isScencty && (\r\n <div className=\"col-lg-6 mt-5\">\r\n <Field\r\n disabled={isReadOnly}\r\n type=\"number\"\r\n min=\"0\"\r\n name=\"AstrayQuantity\"\r\n component={Input}\r\n placeholder=\"Astray Quantity\"\r\n label=\"Astray Quantity\"\r\n />\r\n </div>\r\n )}\r\n {!isScencty && (\r\n <div className=\"col-lg-6 mt-5\">\r\n <Field\r\n type=\"number\"\r\n name=\"Pallets\"\r\n min=\"0\"\r\n component={Input}\r\n placeholder=\"Pallets\"\r\n label=\"Pallets\"\r\n />\r\n </div>\r\n )}\r\n {!isScencty && (\r\n <div className=\"col-lg-6 mt-5\">\r\n <Field\r\n type=\"number\"\r\n name=\"Upc\"\r\n component={Input}\r\n placeholder=\"Upc\"\r\n label=\"Upc\"\r\n />\r\n </div>\r\n )}\r\n {!isScencty && (\r\n <div className=\"col-lg-6 mt-5\">\r\n <Field\r\n name=\"BuyerId\"\r\n component={Input}\r\n placeholder=\"Buyer Id\"\r\n label=\"Buyer Id\"\r\n />\r\n </div>\r\n )}\r\n {!isScencty && (\r\n <div className=\"col-lg-6 mt-5\">\r\n <Field\r\n name=\"Department\"\r\n component={Input}\r\n placeholder=\"Department\"\r\n label=\"Department\"\r\n />\r\n </div>\r\n )}\r\n {!isScencty && (\r\n <div className=\"col-lg-6 mt-5\">\r\n <DateTime30\r\n disabled={false}\r\n name=\"PoExpectedDate\"\r\n label=\"Required Delivery Date\"\r\n defaultvalue={values?.PoExpectedDate}\r\n setFieldValue={setFieldValue}\r\n Time={false}\r\n />\r\n </div>\r\n )}\r\n {!isScencty && (\r\n <div className=\"col-lg-6 mt-5\">\r\n <Field\r\n type=\"number\"\r\n name=\"ThirdPartyQuantity\"\r\n component={Input}\r\n placeholder=\"DropShip Quantity\"\r\n label=\"DropShip Quantity\"\r\n />\r\n </div>\r\n )}\r\n\r\n <div className=\"col-lg-6 mt-5\">\r\n <p style={{ marginBottom: \"8px\" }}>Service</p>\r\n <SelectMulti\r\n isClearable\r\n name=\"ServiceId\"\r\n id=\"ServiceId\"\r\n label=\"Service\"\r\n placeholder=\"Service\"\r\n options={Service?.map((x) => {\r\n return {\r\n value: x.Id,\r\n label: x.Name,\r\n };\r\n })}\r\n onChange={(e) => {\r\n setFieldValue(\"ServiceId\", e?.value);\r\n }}\r\n value={\r\n Service?.filter(\r\n (x) => x.Id === values?.ServiceId\r\n ).map((x) => {\r\n return {\r\n value: x.Id,\r\n label: x.Name,\r\n };\r\n })\r\n }\r\n />\r\n </div>\r\n <div className=\"col-lg-6 mt-5\">\r\n <p style={{ marginBottom: \"8px\" }}>Mode</p>\r\n <ReactSelect\r\n isClearable\r\n name=\"ModeId\"\r\n id=\"ModeId\"\r\n label=\"Mode\"\r\n inputId=\"react-select-single\"\r\n placeholder=\"Mode\"\r\n onChange={(e) => {\r\n setFieldValue(\"ModeId\", e?.value);\r\n }}\r\n options={Service?.find(\r\n (x) => x.Id === values?.ServiceId\r\n )?.Modes?.map((x) => {\r\n return {\r\n value: x.Id,\r\n label: x.Name,\r\n };\r\n })}\r\n\r\n value={\r\n Service?.find(\r\n (x) => x.Id === values?.ServiceId\r\n )?.Modes?.filter(\r\n (x) => x.Id === values?.ModeId\r\n ).map((x) => {\r\n return {\r\n value: x.Id,\r\n label: x.Name,\r\n };\r\n })\r\n }\r\n />\r\n </div>\r\n <div className=\"col-lg-6 mt-5\">\r\n <p style={{ marginBottom: \"8px\" }}>Service Level</p>\r\n <SelectMulti\r\n isClearable\r\n name=\"ServiceLevelId\"\r\n id=\"serviceLevelId\"\r\n label=\"Servic Level\"\r\n inputId=\"react-select-single\"\r\n placeholder=\"Servic Level\"\r\n onChange={(e) => {\r\n setFieldValue(\"ServiceLevelId\", e?.value);\r\n }}\r\n options={Service?.find(\r\n (x) => x.Id === values?.ServiceId\r\n )?.Modes?.find(\r\n (x) => x.Id === values?.ModeId\r\n )?.ServiceLevels?.map((x) => {\r\n return {\r\n value: x.Id,\r\n label: x.Name,\r\n };\r\n })}\r\n value={\r\n Service?.find(\r\n (x) => x.Id ===values?.ServiceId\r\n )?.Modes?.find(\r\n (x) => x.Id === values?.ModeId\r\n )?.ServiceLevels?.filter(\r\n (x) => x.Id === values?.ServiceLevelId\r\n ).map((x) => {\r\n return {\r\n value: x.Id,\r\n label: x.Name,\r\n };\r\n })\r\n }\r\n />\r\n </div>\r\n {!isScencty && (\r\n <div className=\"col-lg-6 mt-5\">\r\n <Field\r\n name=\"ThirdPartyName\"\r\n component={Input}\r\n placeholder=\"DropShip Name\"\r\n label=\"DropShip Name\"\r\n />\r\n </div>\r\n )}\r\n {/* Additional Fields */}\r\n {window.$ItemsCusId === 2271 && (\r\n <>\r\n <div className=\"col-lg-6 mt-5\">\r\n <Field\r\n name=\"Color\"\r\n component={Input}\r\n placeholder=\"Color\"\r\n label=\"Color\"\r\n />\r\n </div>\r\n <div className=\"col-lg-6 mt-5\">\r\n <Field\r\n name=\"Size\"\r\n component={Input}\r\n placeholder=\"Size\"\r\n label=\"Size\"\r\n />\r\n </div>\r\n\r\n <div className=\"col-lg-6 mt-5\">\r\n <Field\r\n name=\"ProductType\"\r\n component={Input}\r\n placeholder=\"Product Type\"\r\n label=\"Product Type\"\r\n />\r\n </div>\r\n <div className=\"col-lg-6 mt-5\">\r\n <Field\r\n name=\"ReceivedQuantity\"\r\n component={Input}\r\n type=\"number\"\r\n min=\"0\"\r\n placeholder=\"Cartons Count\"\r\n label=\"Cartons Count\"\r\n />\r\n </div>\r\n </>\r\n )}\r\n {/* ************************ */}\r\n </>\r\n )}\r\n <div className=\"col-lg-6 mt-md-5\">\r\n <Field\r\n name=\"Description\"\r\n component={Input}\r\n placeholder=\"Description\"\r\n label=\"Description\"\r\n />\r\n </div>\r\n <div className=\"col-lg-6 mt-md-5\">\r\n <Field\r\n name=\"Commodity\"\r\n component={Input}\r\n placeholder=\"Commodity\"\r\n label=\"Commodity\"\r\n />\r\n </div>\r\n <div\r\n className={\r\n \"col-lg-3 mt-md-8 pt-5 \" + (isScencty ? \"d-none\" : \"\")\r\n }\r\n >\r\n <CheckboxLargeWB\r\n className=\"font-size-md\"\r\n text=\"Is Hot\"\r\n name=\"IsHot\"\r\n id=\"IsHot\"\r\n onChange={(event) => {\r\n if (!isReadOnly) {\r\n setFieldValue(\"IsHot\", event.target.checked);\r\n }\r\n }}\r\n />\r\n </div>\r\n <div\r\n className={\r\n \"col-lg-3 mt-md-8 pt-5 \" + (isScencty ? \"d-none\" : \"\")\r\n }\r\n >\r\n <CheckboxLargeWB\r\n className=\"font-size-md\"\r\n text=\"Is HazMat\"\r\n name=\"IsHazardousMateriel\"\r\n id=\"IsHazardousMateriel\"\r\n checked={isHasardOfMaterial}\r\n onChange={(event) => {\r\n if (!isReadOnly) {\r\n setFieldValue(\r\n \"IsHazardousMateriel\",\r\n event.target.checked\r\n );\r\n setisHasardOfMaterial(event.target.checked);\r\n }\r\n }}\r\n />\r\n </div>\r\n {isHasardOfMaterial && (\r\n <div className=\"row col-lg-12\">\r\n <div className=\"col-lg-6 mt-5\">\r\n <Field\r\n type=\"text\"\r\n label=\"UN Number\"\r\n name={`UnNumber`}\r\n component={Input}\r\n />\r\n </div>\r\n <div className=\"col-lg-6 mt-5\">\r\n <Select\r\n label=\"Packing Group\"\r\n name={`PackagingGroup`}\r\n id={`PackagingGroup`}\r\n >\r\n <option value=\"0\">Select</option>\r\n {PackagingGroupsList.map((item, index) => (\r\n <option key={index} value={item.Id}>\r\n {item.Name}\r\n </option>\r\n ))}\r\n </Select>\r\n </div>\r\n <div className=\"col-lg-6 mt-5\">\r\n <Select\r\n label=\"Hazard Class\"\r\n name={`HazardClass`}\r\n id={`HazardClass`}\r\n >\r\n <option value=\"0\">Select</option>\r\n {HazardClassesList.map((item, index) => (\r\n <option key={index} value={item.Id}>\r\n {item.Name}\r\n </option>\r\n ))}\r\n </Select>\r\n </div>\r\n <div className=\"col-lg-6 mt-5\">\r\n <Field\r\n type=\"text\"\r\n label=\"Piece Description\"\r\n name={`PieceDescription`}\r\n component={Input}\r\n />\r\n </div>\r\n <div className=\"col-lg-6 mt-5\">\r\n <Field\r\n type=\"text\"\r\n label=\"Emergency Contact Number\"\r\n name={`EmergencyContactNumber`}\r\n component={Input}\r\n />\r\n </div>\r\n </div>\r\n )}\r\n </div>\r\n\r\n {values?.DamagedOnly && values?.Id && (\r\n <AttachementsComponent\r\n id={window?.ReceiptId}\r\n post={\r\n \"/transload/receipts/addattachment?receiptId=\" +\r\n window?.ReceiptId\r\n }\r\n get={\r\n \"/receiptsmanagement/getreceiptattachments/\" +\r\n window?.ReceiptId\r\n }\r\n />\r\n )}\r\n </Form>\r\n </Modal.Body>\r\n <>\r\n <Modal.Footer>\r\n <button\r\n type=\"button\"\r\n onClick={onHide}\r\n className=\"btn btn-light btn-elevate\"\r\n >\r\n Cancel\r\n </button>\r\n {!isScencty && (\r\n <button\r\n type=\"submit\"\r\n onClick={() => handleSubmit()}\r\n className=\"btn btn-primary btn-elevate\"\r\n >\r\n Save\r\n </button>\r\n )}\r\n {isScencty && (\r\n <button\r\n disabled={SKUsList?.length > 0}\r\n type=\"submit\"\r\n onClick={() => {\r\n window.$NewItemSaveandClose = true;\r\n handleSubmit();\r\n }}\r\n className=\"btn btn-primary btn-elevate\"\r\n >\r\n Save & Close\r\n </button>\r\n )}\r\n {!isScencty && (\r\n <button\r\n type=\"submit\"\r\n onClick={() => {\r\n window.$NewItemSaveClose = true;\r\n handleSubmit();\r\n }}\r\n className=\"btn btn-primary btn-elevate\"\r\n >\r\n Save & New\r\n </button>\r\n )}\r\n </Modal.Footer>\r\n </>\r\n </>\r\n )}\r\n </Formik>\r\n </>\r\n );\r\n}\r\n\r\nconst ShortOverChange = ({ OverQuantity, ShortQuantity, setdisabledInput }) => {\r\n useEffect(() => {\r\n if (OverQuantity > 0) setdisabledInput(\"Over\");\r\n else if (ShortQuantity > 0) setdisabledInput(\"Short\");\r\n else setdisabledInput(false);\r\n\r\n console.log(OverQuantity + \" / \" + ShortQuantity + \" / \");\r\n }, [OverQuantity, ShortQuantity]);\r\n return <></>;\r\n};\r\n","import {\r\n Button,\r\n Icon,\r\n IconButton,\r\n makeStyles,\r\n Popover,\r\n Typography,\r\n} from \"@material-ui/core\";\r\nimport CloseIcon from \"@material-ui/icons/Close\";\r\nimport clsx from \"clsx\";\r\nimport low from \"lowdb\";\r\nimport LocalStorage from \"lowdb/adapters/LocalStorage\";\r\nimport React, { useEffect, useState } from \"react\";\r\nimport { Accordion, Alert, Modal } from \"react-bootstrap\";\r\nimport {\r\n currencyFormat,\r\n momentDate,\r\n} from \"../../../../../../_metronic/_helpers/ATHelpers\";\r\nimport { EnhancedTable } from \"../../../../../../_metronic/_partials/controls\";\r\nimport { Notification } from \"../../../../Notification\";\r\n\r\nconst adapter = new LocalStorage(\"db\");\r\nconst db = low(adapter);\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n typography: {\r\n padding: theme.spacing(2),\r\n },\r\n}));\r\n\r\nexport const ModelManagment = ({ row, reloadFunction }) => {\r\n const [Show, setShow] = useState(false);\r\n\r\n function SimplePopover() {\r\n const classes = useStyles();\r\n const [anchorEl, setAnchorEl] = useState(null);\r\n\r\n const [StatusShow, setStatusShow] = useState(false);\r\n function handleClick(event) {\r\n setStatusShow(window.Status !== \"\");\r\n setAnchorEl(event.currentTarget);\r\n }\r\n\r\n function handleClose() {\r\n setAnchorEl(null);\r\n }\r\n\r\n const open = Boolean(anchorEl);\r\n const id = open ? \"simple-popover\" : undefined;\r\n\r\n async function UpdateStatus(next, id) {\r\n return await fetch(`${window.$apiurl}/pallets/UpdateStatus`, {\r\n method: \"post\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify({\r\n Id: id,\r\n IsRollBack: !next,\r\n IsNext: next,\r\n }),\r\n }).then(async (response) => {\r\n const statusCode = response.status;\r\n if (statusCode === 200) {\r\n reloadFunction();\r\n Notification(\"success\", \"success\");\r\n } else {\r\n const data = await response.json();\r\n Notification(\"error\", data.Message);\r\n }\r\n });\r\n }\r\n\r\n return (\r\n <div>\r\n <div\r\n className=\"text-warning font-weight-bold w-100 p-5\"\r\n onClick={handleClick}\r\n style={{ cursor: \"pointer\" }}\r\n >\r\n <i className=\"fas fa-cogs text-warning h1-md\"></i>\r\n </div>\r\n <Popover\r\n id={id}\r\n open={open}\r\n anchorEl={anchorEl}\r\n onClose={handleClose}\r\n anchorOrigin={{\r\n vertical: \"bottom\",\r\n horizontal: \"center\",\r\n }}\r\n transformOrigin={{\r\n vertical: \"top\",\r\n horizontal: \"center\",\r\n }}\r\n >\r\n <Typography className={classes.typography}>\r\n <div\r\n className=\"textt-warning font-weight-bold w-100 p-2\"\r\n onClick={() => setShow(true)}\r\n style={{ cursor: \"pointer\" }}\r\n >\r\n <i className=\"fas fa-file-alt text-success mr-2\"></i>\r\n Detail\r\n </div>\r\n {StatusShow && (\r\n <>\r\n <div\r\n className=\"textt-warning font-weight-bold w-100 p-2 BackStatusId\"\r\n onClick={() => UpdateStatus(true, row?.id)}\r\n style={{ cursor: \"pointer\" }}\r\n >\r\n <i class=\"fas fa-arrow-circle-right text-info mr-2\"></i>\r\n Next Status\r\n </div>\r\n <div\r\n className=\"textt-warning font-weight-bold w-100 p-2 BackStatusId\"\r\n onClick={() => UpdateStatus(false, row?.id)}\r\n style={{ cursor: \"pointer\" }}\r\n >\r\n <i class=\"fas fa-arrow-circle-left text-warning mr-2\"></i>\r\n Back Status\r\n </div>\r\n </>\r\n )}\r\n </Typography>\r\n </Popover>\r\n </div>\r\n );\r\n }\r\n\r\n return (\r\n <>\r\n <Modal\r\n size=\"xl\"\r\n show={Show}\r\n onHide={() => {\r\n setShow(false);\r\n }}\r\n aria-labelledby=\"example-modal-sizes-title-lg\"\r\n >\r\n <DetailMangment Id={row?.id} setShow={setShow.bind()} />\r\n </Modal>\r\n <SimplePopover />\r\n </>\r\n );\r\n};\r\n\r\nfunction IsValid(name, str) {\r\n try {\r\n if (str?.includes(\"null\") || str?.includes(\"undefined\")) str = undefined;\r\n } catch (error) {}\r\n return (\r\n <>\r\n <div className=\"row w-100 my-2 ml-3\">\r\n <div className=\"col-lg-4 col-md-6 font-weight-bold text-dark text-left pl-5\">\r\n {name}\r\n </div>\r\n <div className=\"col-lg-8 col-md-6 text-primary\">\r\n : {str || <span className=\"text-muted\">Empty</span>}\r\n </div>\r\n </div>\r\n </>\r\n );\r\n}\r\n\r\nexport function DetailMangment({ Id, setShow }) {\r\n const [Detail, setDetail] = useState();\r\n\r\n useEffect(() => {\r\n GetModel();\r\n }, []);\r\n async function GetModel() {\r\n return await fetch(`${window.$apiurl}/pallets/` + Id, {\r\n method: \"get\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then(async (res) => {\r\n var a = res[1];\r\n var obj = a?.pallet ?? {};\r\n (obj.ItemsList ?? []).forEach((x) => {\r\n x.Weight = currencyFormat(x.Weight);\r\n x.Cube = currencyFormat(x.Cube);\r\n });\r\n setDetail(obj);\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n\r\n return (\r\n <>\r\n <Modal.Header>\r\n <div className=\"row w-100\">\r\n <div className=\"col-lg-6 col-md-6\">{IsValid(\"Pallet ID\", Detail?.Id)}</div>\r\n </div>\r\n <IconButton\r\n \r\n aria-label=\"Close\"\r\n onClick={() => {\r\n setShow(false);\r\n }}\r\n >\r\n <CloseIcon />\r\n </IconButton>\r\n </Modal.Header>\r\n\r\n <Modal.Body>\r\n <Accordion defaultActiveKey=\"44\">\r\n <>\r\n <Accordion.Toggle\r\n as={Button}\r\n className=\"w-100 text-left p-0 position-relative text-decoration-none\"\r\n variant=\"link\"\r\n eventKey={\"44\"}\r\n >\r\n <Alert variant=\"primary \" className=\"pt-3 pl-3 pb-0 w-100\">\r\n <h5 className=\"font-weight-bold\">Pallet Basic</h5>\r\n </Alert>\r\n <Icon\r\n className={clsx(\r\n \"fa fa-chevron-down position-absolute text-white\"\r\n )}\r\n style={{ fontSize: 17, right: \"1rem\", top: \"20%\" }}\r\n />\r\n </Accordion.Toggle>\r\n <Accordion.Collapse eventKey={\"44\"}>\r\n <div className=\"form-group row word-break\">\r\n <div className=\"col-lg-6\">\r\n {IsValid(\r\n \"Customer\",\r\n Detail?.CustomerCode + \" - \" + Detail?.CustomerName\r\n )}\r\n {IsValid(\"Shipment Id\", Detail?.TransloadShipmentId)}\r\n {IsValid(\"Equipment\", Detail?.Equipment)}\r\n </div>\r\n <div className=\"col-lg-6\">\r\n {IsValid(\"Shipper Name\", Detail?.ShipperName)}\r\n {IsValid(\"Consignee Name\", Detail?.ConsigneeName)}{\" \"}\r\n {IsValid(\"Unit Count\", Detail?.Unitcount)}\r\n </div>{\" \"}\r\n <div className=\"col-lg-6 mt-5\">\r\n {IsValid(\"Weight\", Detail?.Weight?.toFixed(2))}\r\n {IsValid(\"Weight Type\", Detail?.WeightType)}{\" \"}\r\n {IsValid(\"Cube\", Detail?.Cube?.toFixed(2))}\r\n {IsValid(\"Cube Type\", Detail?.CubeType)}\r\n </div>\r\n <div className=\"col-lg-6 mt-5\">\r\n {IsValid(\"Created\", momentDate(Detail?.Created))}\r\n {IsValid(\"Shipped\", momentDate(Detail?.Shipped))}\r\n {IsValid(\"Status\", Detail?.Status)}\r\n </div>\r\n </div>\r\n </Accordion.Collapse>\r\n <Accordion.Toggle\r\n as={Button}\r\n className=\"w-100 text-left p-0 position-relative text-decoration-none\"\r\n variant=\"link\"\r\n eventKey={\"0\"}\r\n >\r\n <Alert variant=\"primary \" className=\"pt-3 pl-3 pb-0 w-100\">\r\n <h5 className=\"font-weight-bold\">\r\n Line Item Detail : {Detail?.Items}\r\n </h5>\r\n </Alert>\r\n <Icon\r\n className={clsx(\r\n \"fa fa-chevron-down position-absolute text-white\"\r\n )}\r\n style={{ fontSize: 17, right: \"1rem\", top: \"20%\" }}\r\n />\r\n </Accordion.Toggle>\r\n <Accordion.Collapse eventKey={\"0\"}>\r\n <div className=\"form-group row\">\r\n <div className=\"col-lg-12 mt-5\">\r\n <EnhancedTable\r\n rowsName={[\r\n { Name: \"Container\", Title: \"Cont#\" },\r\n { Name: \"Upc\", Title: \"Upc\" },\r\n { Name: \"PurchaseOrder\", Title: \"PO#\" },\r\n { Name: \"Location\", Title: \"Whs\" },\r\n { Name: \"Sku\", Title: \"SKU\" },\r\n { Name: \"UnitCount\", Title: \"Qty\" },\r\n { Name: \"ShortQuantity\", Title: \"S Qty\" },\r\n { Name: \"Description\", Title: \"Description\" },\r\n { Name: \"Cube\", Title: \"Cube\" },\r\n { Name: \"Weight\", Title: \"Weight\" },\r\n { Name: \"Color\", Title: \"Color\" },\r\n { Name: \"Size\", Title: \"Size\" },\r\n ]}\r\n rows={Detail?.ItemsList || []}\r\n />\r\n </div>\r\n </div>\r\n </Accordion.Collapse>\r\n </>\r\n </Accordion>\r\n </Modal.Body>\r\n\r\n <Modal.Footer>\r\n <button\r\n type=\"button\"\r\n onClick={() => {\r\n setShow(false);\r\n }}\r\n className=\"btn btn-light btn-elevate w-25\"\r\n >\r\n Close\r\n </button>\r\n </Modal.Footer>\r\n </>\r\n );\r\n}\r\n","import React, { Fragment, useEffect, useState } from \"react\";\r\nimport { Col, Modal, Row } from \"react-bootstrap\";\r\nimport {\r\n Card,\r\n CardHeader,\r\n CardHeaderToolbar,\r\n CardBody,\r\n CheckboxLargeWB,\r\n} from \"../../../../../../_metronic/_partials/controls\";\r\nimport CreatableSelect from \"react-select/creatable\";\r\nimport { DateTime30GL } from \"../../../../../../_metronic/_helpers/ATHelpers\";\r\nimport moment from \"moment\";\r\nimport { TextField } from \"@material-ui/core\";\r\nimport Select from \"react-select\";\r\nimport axios from \"axios\";\r\nimport low from \"lowdb\";\r\nimport LocalStorage from \"lowdb/adapters/LocalStorage\";\r\nimport { Notification } from \"../../../../Notification\";\r\nconst adapter = new LocalStorage(\"db\");\r\nconst db = low(adapter);\r\n\r\nexport function MultiStopsIndexShipping(props) {\r\n const [modalAddress, setmodalAddresses] = useState(null);\r\n const [countryValue, setCountryValue] = useState(null);\r\n const [modalDelete, setModalDelete] = useState(false);\r\n const [loadingDelete, setLoadingDelete] = useState(false);\r\n const [loadingPosition, setLoadingPosition] = useState(false);\r\n const [showModalPosition, setShowModalConfirmationPosition] = useState(false);\r\n const [rowItem, setRowItem] = useState(null);\r\n const [states, setStates] = useState([]);\r\n //functions\r\n async function PostStop(data, isPut, id) {\r\n return await fetch(\r\n window.$apiurl + `/ShipmentStop/` + (isPut ? id : props?.So),\r\n {\r\n method: !isPut ? \"Post\" : \"Put\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(data),\r\n }\r\n )\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n if (statusCode === 200) {\r\n props.setLoaderStops(true);\r\n Notification(\r\n \"success\",\r\n `Stop has been ${isPut ? \"updated\" : \"created\"} successfully`\r\n );\r\n }\r\n const data = await response.json();\r\n if (data !== null && data !== undefined && data?.Message) {\r\n Notification(\"errorClick\", data?.Message);\r\n }\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {})\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n async function DeleteStop(id) {\r\n return await fetch(\r\n window.$apiurl + `/ShipmentStop/` + id,\r\n {\r\n method: \"Delete\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n }\r\n }\r\n )\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n if (statusCode === 200) {\r\n props.setLoaderStops(true);\r\n setModalDelete(false);\r\n Notification(\r\n \"success\",\r\n `Stop has been deleted successfully`\r\n );\r\n setLoadingDelete(false);\r\n }\r\n const data = await response.json();\r\n if (data !== null && data !== undefined && data?.Message) {\r\n Notification(\"errorClick\", data?.Message);\r\n setLoadingDelete(false);\r\n }\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {})\r\n .catch((error) => {\r\n console.error(error);\r\n setLoadingDelete(false);\r\n });\r\n }\r\n const handleCountryChange = async (event) => {\r\n setStates([]);\r\n if (event !== \"\" && event !== null) {\r\n const result = await axios.get(`api/companyinfo/getstates/${event}`);\r\n if (result.status === 200) {\r\n if (result.data.length > 0) {\r\n const states = [];\r\n window.$StatesAddress = result.data;\r\n result.data.length > 0 &&\r\n result.data.map((item) => {\r\n states.push({ value: item.Id, label: item.Name });\r\n return null;\r\n });\r\n setStates(states);\r\n } else {\r\n Notification(\"warning\", \"This Country doesn't have any state.\");\r\n }\r\n }\r\n }\r\n };\r\n function FetchValueItem(column, valueColumn, index) {\r\n try {\r\n let currentValue = [...props?.list];\r\n currentValue[index][column] = valueColumn;\r\n currentValue[index].IsEdited = true;\r\n props.setMultiStopsData(currentValue);\r\n } catch (err) {\r\n console.log(err);\r\n }\r\n }\r\n async function GetShipperAddress(id) {\r\n return await fetch(window.$apiurl + `/Tms/Address/${id}`, {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n if (res[0] === 200) {\r\n const result = res[1];\r\n return result;\r\n }\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n async function fetchSelectedAddress(id, isShipper,index) {\r\n try {\r\n const result = await GetShipperAddress(id);\r\n let currentAddress = [...props?.list];\r\n currentAddress[index].StreetAddress = result?.Address ?? \"\";\r\n currentAddress[index].ContactName = result?.ContactName ?? \"\";\r\n currentAddress[index].Phone = result?.PhoneNumber ?? \"\";\r\n currentAddress[index].Fax = result?.Fax ?? \"\";\r\n currentAddress[index].City = result?.City ?? \"\";\r\n currentAddress[index].State = result?.State ?? \"\";\r\n currentAddress[index].ZipCode = result?.ZipCode ?? \"\";\r\n // currentAddress[index].Country = result?.Address;\r\n currentAddress[index].Email = result?.Email ?? \"\";\r\n props.setMultiStopsData(currentAddress);\r\n } catch (err) {\r\n console.log(err);\r\n }\r\n }\r\n async function SavePositionsReceivingShipping(isReceiving,id) {\r\n return await fetch(\r\n window.$apiurl +\r\n `/ShipmentStop/MarkStopMain/${id}?isReceiving=${isReceiving}&isShipping=${!isReceiving}`,\r\n {\r\n method: \"PUT\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n }\r\n }\r\n )\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n if (statusCode === 200) {\r\n props.setLoaderStops(true);\r\n props.setLoaderSoStop(true);\r\n setLoadingPosition(false);\r\n setShowModalConfirmationPosition(false);\r\n Notification(\r\n \"success\",\r\n `Position of Stops has been updated successfully`\r\n );\r\n }\r\n const data = await response.json();\r\n if (data !== null && data !== undefined && data?.Message) {\r\n Notification(\"errorClick\", data?.Message);\r\n setLoadingPosition(false);\r\n }\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {})\r\n .catch((error) => {\r\n console.error(error);\r\n setLoadingPosition(false);\r\n });\r\n }\r\n return (\r\n <Fragment>\r\n {/* Modal Delete */}\r\n <Modal\r\n show={modalDelete}\r\n size={\"lg\"}\r\n aria-labelledby=\"example-modal-sizes-title-lg\"\r\n >\r\n <Modal.Header closeButton>\r\n <Modal.Title id=\"example-modal-sizes-title-lg\">\r\n {rowItem?.Type} Stop Delete #: {rowItem?.Id} | Address :{\" \"}\r\n {rowItem?.StreetAddress}\r\n </Modal.Title>\r\n </Modal.Header>\r\n <Modal.Body>\r\n <h6>Are you sure to permanently delete selected Stop ?</h6>\r\n </Modal.Body>\r\n <Modal.Footer>\r\n <div>\r\n <button\r\n type=\"button\"\r\n onClick={() => setModalDelete(false)}\r\n className=\"btn btn-light btn-elevate\"\r\n >\r\n Cancel\r\n </button>\r\n <> </>\r\n <button\r\n type=\"button\"\r\n disabled={loadingDelete}\r\n onClick={async () => {\r\n setLoadingDelete(true);\r\n await DeleteStop(rowItem?.Id);\r\n }}\r\n className={`${\r\n loadingDelete ? \"spinner spinner-white spinner-right\" : \"\"\r\n } btn btn-danger btn-elevate`}\r\n >\r\n Delete\r\n </button>\r\n </div>\r\n </Modal.Footer>\r\n </Modal>\r\n\r\n {/* Modal Confirmation */}\r\n <Modal\r\n show={showModalPosition}\r\n size={\"lg\"}\r\n aria-labelledby=\"example-modal-sizes-title-lg\"\r\n >\r\n <Modal.Header closeButton>\r\n <Modal.Title id=\"example-modal-sizes-title-lg\">\r\n Confirmation\r\n </Modal.Title>\r\n </Modal.Header>\r\n <Modal.Body>\r\n <h6>\r\n Are you sure to mark this stop as{\" \"}\r\n {rowItem?.Type === \"Pick\" ? \"Shipping\" : \"Receiving\"} Detail ?\r\n </h6>\r\n </Modal.Body>\r\n <Modal.Footer>\r\n <div>\r\n <button\r\n type=\"button\"\r\n onClick={() => setShowModalConfirmationPosition(false)}\r\n className=\"btn btn-light btn-elevate\"\r\n >\r\n Cancel\r\n </button>\r\n <> </>\r\n <button\r\n type=\"button\"\r\n disabled={loadingPosition}\r\n onClick={async () => {\r\n setLoadingPosition(true);\r\n await SavePositionsReceivingShipping(\r\n rowItem?.Type === \"Pick\" ? false : true,\r\n rowItem?.Id\r\n );\r\n }}\r\n className={`${\r\n loadingDelete ? \"spinner spinner-white spinner-right\" : \"\"\r\n } btn btn-light-primary btn-elevate`}\r\n >\r\n Set Position\r\n </button>\r\n </div>\r\n </Modal.Footer>\r\n </Modal>\r\n {/* Fetch List */}\r\n {props?.list !== undefined &&\r\n props?.list !== null &&\r\n props?.list.length > 0 &&\r\n props?.list.map((item, index) => (\r\n <Fragment key={index}>\r\n {item?.Type === \"Pick\" ? (\r\n <div className=\"pl-5 pr-5\">\r\n <Card className={item?.ClassName}>\r\n <CardHeader title={item?.Title}>\r\n <CardHeaderToolbar>\r\n {/* Arrows */}\r\n {!item?.IsNew && (\r\n <Fragment>\r\n {index === 0 ? (\r\n <Fragment>\r\n {props?.list?.filter((x) => !x.IsNew)?.length >\r\n 1 && (\r\n <button\r\n className=\"btn btn-light-warning py-3 pl-5 pr-4\"\r\n onClick={() => {\r\n try {\r\n props.setShowSaveButton(true);\r\n let data = [...props?.list];\r\n data[index].Position =\r\n data[index].Position + 1;\r\n data[index + 1].Position =\r\n data[index].Position - 1;\r\n props.setMultiStopsData(\r\n data.sort(\r\n (a, b) =>\r\n parseFloat(a.Position) -\r\n parseFloat(b.Position)\r\n )\r\n );\r\n } catch (err) {\r\n console.log(err);\r\n }\r\n }}\r\n >\r\n <i\r\n class=\"fas fa-arrow-circle-down\"\r\n style={{ fontSize: \"18px\" }}\r\n ></i>\r\n </button>\r\n )}\r\n </Fragment>\r\n ) : index === props?.list?.length - 1 ? (\r\n <Fragment>\r\n {props?.list?.filter((x) => !x.IsNew)?.length >\r\n 1 && (\r\n <button\r\n className=\"btn btn-light-info py-3 pl-5 pr-4 ml-5\"\r\n onClick={() => {\r\n props.setShowSaveButton(true);\r\n let data = [...props?.list];\r\n data[index].Position =\r\n data[index].Position - 1;\r\n data[index - 1].Position =\r\n data[index].Position + 1;\r\n props.setMultiStopsData(\r\n data.sort(\r\n (a, b) =>\r\n parseFloat(a.Position) -\r\n parseFloat(b.Position)\r\n )\r\n );\r\n }}\r\n >\r\n <i\r\n class=\"fas fa-arrow-circle-up\"\r\n style={{ fontSize: \"18px\" }}\r\n ></i>\r\n </button>\r\n )}\r\n </Fragment>\r\n ) : (\r\n props?.list?.filter((x) => !x.IsNew)?.length >\r\n 1 && (\r\n <Fragment>\r\n <button\r\n className=\"btn btn-light-warning py-3 pl-5 pr-4\"\r\n onClick={() => {\r\n try {\r\n props.setShowSaveButton(true);\r\n let data = [...props?.list];\r\n data[index].Position =\r\n data[index].Position + 1;\r\n data[index + 1].Position =\r\n data[index].Position - 1;\r\n props.setMultiStopsData(\r\n data.sort(\r\n (a, b) =>\r\n parseFloat(a.Position) -\r\n parseFloat(b.Position)\r\n )\r\n );\r\n } catch (err) {\r\n console.log(err);\r\n }\r\n }}\r\n >\r\n <i\r\n class=\"fas fa-arrow-circle-down\"\r\n style={{ fontSize: \"18px\" }}\r\n ></i>\r\n </button>\r\n <button\r\n className=\"btn btn-light-info py-3 pl-5 pr-4 ml-5\"\r\n onClick={() => {\r\n props.setShowSaveButton(true);\r\n let data = [...props?.list];\r\n data[index].Position =\r\n data[index].Position - 1;\r\n data[index - 1].Position =\r\n data[index].Position + 1;\r\n props.setMultiStopsData(\r\n data.sort(\r\n (a, b) =>\r\n parseFloat(a.Position) -\r\n parseFloat(b.Position)\r\n )\r\n );\r\n }}\r\n >\r\n <i\r\n class=\"fas fa-arrow-circle-up\"\r\n style={{ fontSize: \"18px\" }}\r\n ></i>\r\n </button>\r\n </Fragment>\r\n )\r\n )}\r\n </Fragment>\r\n )}\r\n\r\n <span className=\"border-right ml-5 mr-5\"></span>\r\n {/* ************* */}\r\n <button\r\n className={`${\r\n item?.IsEdited ? \"\" : \"disabledStop\"\r\n } btn btn-light-primary py-3 pl-5 pr-4 postStop`}\r\n onClick={async () => {\r\n try {\r\n FetchValueItem(\"IsNew\", false, index);\r\n const checkItem = props?.list[index];\r\n if (!checkItem?.AddressId) {\r\n Notification(\"errorClick\", \"Company is required\");\r\n return false;\r\n }\r\n if (item.Id) {\r\n await PostStop(props?.list[index], true, item.Id);\r\n } else {\r\n await PostStop(props?.list[index], false, 0);\r\n }\r\n props.setShowSaveButton(false);\r\n } catch (err) {\r\n console.log(err);\r\n }\r\n }}\r\n >\r\n <i class=\"fas fa-save\" style={{ fontSize: \"18px\" }}></i>\r\n </button>\r\n <button\r\n className=\"btn btn-light-danger py-3 pl-5 ml-5\"\r\n onClick={async () => {\r\n try {\r\n let values = [...props?.list];\r\n if (item.Id) {\r\n setModalDelete(true);\r\n setRowItem(item);\r\n } else {\r\n values = values?.filter(\r\n (x) => x !== values[index]\r\n );\r\n props.setMultiStopsData(values);\r\n }\r\n } catch (err) {\r\n console.log(err);\r\n }\r\n }}\r\n >\r\n <i\r\n class=\"fas fa-times\"\r\n style={{ fontSize: \"18px\" }}\r\n ></i>\r\n </button>\r\n <button\r\n className=\"btn btn-light-info py-3 pl-5 pr-4 ml-5\"\r\n onClick={() => {\r\n try {\r\n let values = [...props?.list];\r\n values[index].IsCollapsed = item?.IsCollapsed\r\n ? false\r\n : true;\r\n props.setMultiStopsData(values);\r\n } catch (err) {\r\n console.log(err);\r\n }\r\n }}\r\n >\r\n {item.IsCollapsed ? (\r\n <i\r\n class=\"fas fa-chevron-up\"\r\n style={{ fontSize: \"18px\" }}\r\n ></i>\r\n ) : (\r\n <i\r\n class=\"fas fa-chevron-down\"\r\n style={{ fontSize: \"18px\" }}\r\n ></i>\r\n )}\r\n </button>\r\n </CardHeaderToolbar>\r\n </CardHeader>\r\n <CardBody className={item?.IsCollapsed ? \"d-none\" : \"\"}>\r\n <div className=\"row mb-5\">\r\n <Col xl=\"12\" lg=\"12\" md=\"12\" className=\"mb-5\">\r\n <div className=\" flex-wrap align-items-center pb-5\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg mr-3\"\r\n >\r\n Company Name :\r\n </a>\r\n <span className=\"font-weight-bold\">\r\n <CreatableSelect\r\n className=\"mt-4\"\r\n isClearable\r\n name=\"ShipperId\"\r\n id=\"ShipperId\"\r\n label=\"Company\"\r\n value={props?.ViewModelOptions?.Shippers.filter(\r\n (a) => a.Id === item?.AddressId\r\n ).map((a) => {\r\n return {\r\n value: a.Id,\r\n label: a.Name,\r\n };\r\n })}\r\n options={props?.ViewModelOptions?.Shippers.map(\r\n (a) => {\r\n return {\r\n value: a.Id,\r\n label: a.Name,\r\n };\r\n }\r\n )}\r\n onChange={async (newValue) => {\r\n if (newValue !== null) {\r\n if (newValue.__isNew__) {\r\n setmodalAddresses(true);\r\n setCountryValue({\r\n value: \"US\",\r\n label: \"United States\",\r\n });\r\n handleCountryChange(\"US\");\r\n } else {\r\n const currentObject = props?.ViewModelOptions?.Shippers?.find(\r\n (x) => x.Id === newValue?.value\r\n );\r\n FetchValueItem(\r\n \"AddressId\",\r\n currentObject?.Id,\r\n index\r\n );\r\n }\r\n } else {\r\n FetchValueItem(\"AddressId\", \"\", index);\r\n }\r\n fetchSelectedAddress(\r\n newValue !== null ? newValue.value : null,\r\n true,\r\n index\r\n );\r\n }}\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n </Col>\r\n <div className=\"col-xl col-lg col-md-5 border-right\">\r\n <div className=\" flex-wrap align-items-center pb-5\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg mr-3\"\r\n >\r\n Street Address :\r\n </a>\r\n <span className=\"text-muted font-weight-bold\">\r\n <input\r\n type=\"text\"\r\n className=\"form-control mt-4\"\r\n name=\"ShipperAddress\"\r\n disabled={true}\r\n id=\"ShipperAddress\"\r\n value={item?.StreetAddress}\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n <div className=\" flex-wrap align-items-center pb-5\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg mr-3\"\r\n >\r\n City :\r\n </a>\r\n <span className=\"text-muted font-weight-bold\">\r\n <input\r\n type=\"text\"\r\n className=\"form-control mt-4\"\r\n name=\"ShipperCity\"\r\n disabled={true}\r\n id=\"ShipperCity\"\r\n value={item?.City}\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n <div className=\" flex-wrap align-items-center pb-5\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg mr-3\"\r\n >\r\n State :\r\n </a>\r\n <span className=\"text-muted font-weight-bold\">\r\n <input\r\n type=\"text\"\r\n className=\"form-control mt-4\"\r\n name=\"ShipperState\"\r\n disabled={true}\r\n id=\"ShipperState\"\r\n value={item?.State}\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n <div className=\" flex-wrap align-items-center pb-5\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg mr-3\"\r\n >\r\n Zip :\r\n </a>\r\n <span className=\"text-muted font-weight-bold\">\r\n <input\r\n type=\"text\"\r\n className=\"form-control mt-4\"\r\n name=\"ShipperZipCode\"\r\n id=\"ShipperZipCode\"\r\n disabled={true}\r\n value={item?.ZipCode}\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n </div>\r\n <div className=\"col-xl col-lg col-md-5 border-right\">\r\n <div className=\" flex-wrap align-items-center pb-5\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg mr-3\"\r\n >\r\n Contact Name :\r\n </a>\r\n <span className=\"text-muted font-weight-bold\">\r\n <input\r\n type=\"text\"\r\n className=\"form-control mt-4\"\r\n name=\"ShipperContactName\"\r\n disabled={true}\r\n id=\"ShipperContactName\"\r\n label=\"Contact\"\r\n value={item?.ContactName}\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n <div className=\" flex-wrap align-items-center pb-5\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg mr-3\"\r\n >\r\n Contact Phone :\r\n </a>\r\n <span className=\"text-muted font-weight-bold\">\r\n <input\r\n type=\"tel\"\r\n className=\"form-control mt-4\"\r\n name=\"ShipperPhoneNumber\"\r\n id=\"ShipperPhoneNumber\"\r\n disabled={true}\r\n value={item?.Phone}\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n <div className=\" flex-wrap align-items-center pb-5\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg mr-3\"\r\n >\r\n Contact Fax :\r\n </a>\r\n <span className=\"text-muted font-weight-bold\">\r\n <input\r\n type=\"tel\"\r\n className=\"form-control mt-4\"\r\n name=\"ShipperFax\"\r\n id=\"ShipperFax\"\r\n disabled={true}\r\n value={item?.Fax}\r\n label=\"Fax\"\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n <div className=\" flex-wrap align-items-center pb-5\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg mr-3\"\r\n >\r\n Contact Email :\r\n </a>\r\n <span className=\"text-muted font-weight-bold\">\r\n <input\r\n type=\"email\"\r\n className=\"form-control mt-4\"\r\n name=\"ShipperEmail\"\r\n disabled={true}\r\n id=\"ShipperEmail\"\r\n value={item?.Email}\r\n label=\"Email\"\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n </div>\r\n <div className=\"col-xl col-lg col-md-5 border-right\">\r\n <div className=\" flex-wrap align-items-center pb-3\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary font-size-lg mr-3\"\r\n >\r\n Req. Ship Date:\r\n </a>\r\n <span className=\"text-muted font-weight-bold\">\r\n <TextField\r\n id=\"ShipDate\"\r\n type=\"date\"\r\n value={String(\r\n item?.ShipDate\r\n ? moment(item?.ShipDate).format(\r\n \"YYYY-MM-DD\"\r\n )\r\n : \"\"\r\n )}\r\n onChange={(e) => {\r\n FetchValueItem(\r\n \"ShipDate\",\r\n e.target.value,\r\n index\r\n );\r\n }}\r\n className=\"form-control mt-4\"\r\n InputLabelProps={{\r\n shrink: true,\r\n }}\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n <div className=\" flex-wrap align-items-center pb-5\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg mr-3\"\r\n >\r\n PU # :\r\n </a>\r\n <span className=\"text-muted font-weight-bold\">\r\n <input\r\n type=\"text\"\r\n className=\"form-control mt-4\"\r\n name=\"PickupNumber\"\r\n id=\"PickupNumber\"\r\n value={item?.PickupNumber}\r\n onChange={(e) => {\r\n FetchValueItem(\r\n \"PickupNumber\",\r\n e.target.value,\r\n index\r\n );\r\n }}\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n <div className=\" flex-wrap align-items-center pb-5\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg mr-3\"\r\n >\r\n Seal # :\r\n </a>\r\n <span className=\"text-muted font-weight-bold\">\r\n <input\r\n type=\"text\"\r\n className=\"form-control mt-4\"\r\n name=\"SealNumber\"\r\n id=\"SealNumber\"\r\n value={item?.SealNumber}\r\n onChange={(e) => {\r\n FetchValueItem(\r\n \"SealNumber\",\r\n e.target.value,\r\n index\r\n );\r\n }}\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n <div className=\" flex-wrap align-items-center pb-5\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg mr-3\"\r\n >\r\n Special Req :\r\n </a>\r\n <span className=\"font-weight-bold\">\r\n <Select\r\n isMulti\r\n className=\"basic-multi-select mt-4\"\r\n classNamePrefix=\"select\"\r\n name=\"ShipperSpecialReq\"\r\n id=\"ShipperSpecialReq\"\r\n value={props?.ViewModelOptions?.SpecialReqs.filter(\r\n function(el) {\r\n return (\r\n item?.SpecialReq?.indexOf(el.Name) >= 0\r\n );\r\n }\r\n ).map((a) => {\r\n return {\r\n value: a.Name,\r\n label: a.Name,\r\n };\r\n })}\r\n options={props?.ViewModelOptions?.SpecialReqs.map(\r\n (a) => {\r\n return {\r\n value: a.Name,\r\n label: a.Name,\r\n };\r\n }\r\n )}\r\n onChange={(newValue) => {\r\n if (newValue !== null) {\r\n FetchValueItem(\r\n \"SpecialReq\",\r\n newValue.map((a) => a.value),\r\n index\r\n );\r\n } else {\r\n FetchValueItem(\"SpecialReq\", [], index);\r\n }\r\n }}\r\n label=\"Load Board\"\r\n inputId=\"react-select-single\"\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n <div className=\" flex-wrap align-items-center pb-5\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <CheckboxLargeWB\r\n className=\"font-size-md\"\r\n text=\"APPT\"\r\n name=\"IsAppointed\"\r\n id=\"IsAppointed\"\r\n checked={item?.IsAppointed}\r\n onChange={(event) => {\r\n FetchValueItem(\r\n \"IsAppointed\",\r\n event.target.checked,\r\n index\r\n );\r\n }}\r\n />\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <Row className=\"pt-5 mb-5\">\r\n <Col xl=\"4\" lg=\"4\" md=\"4\">\r\n <div className=\" flex-wrap align-items-center pb-5\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-3 font-size-lg mr-3\"\r\n >\r\n PU APPT Date :\r\n <br />\r\n </a>\r\n <span className=\"font-weight-bold\">\r\n <DateTime30GL\r\n defaultvalue={item?.AppointmentDateFrom ?? \"\"}\r\n onChange={(newValue) => {\r\n try {\r\n FetchValueItem(\r\n \"AppointmentDateFrom\",\r\n newValue,\r\n index\r\n );\r\n } catch (err) {\r\n console.log(err);\r\n }\r\n }}\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n </Col>\r\n <Col xl=\"2\" lg=\"2\" md=\"3\" className=\"SO-Date\">\r\n <div className=\" flex-wrap align-items-center pb-5\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-3 font-size-lg mr-3\"\r\n >\r\n PU APPT to Time :\r\n <br />\r\n </a>\r\n <span className=\"font-weight-bold\">\r\n <input\r\n className={`form-control mt-4`}\r\n value={\r\n item?.AppointmentDateTo === null ||\r\n item?.AppointmentDateTo === \"\"\r\n ? \"\"\r\n : item?.AppointmentDateTo?.length > 4\r\n ? moment(item?.AppointmentDateTo).format(\r\n \"HH:mm\"\r\n )\r\n : item?.AppointmentDateTo\r\n }\r\n placeholder=\"00:00\"\r\n onKeyUp={(e) => {\r\n if (e.keyCode === 8) {\r\n FetchValueItem(\r\n \"AppointmentDateTo\",\r\n null,\r\n index\r\n );\r\n return;\r\n }\r\n }}\r\n onChange={(e) => {\r\n var value = e.target?.value;\r\n if (!value || value === \"\") {\r\n FetchValueItem(\r\n \"AppointmentDateTo\",\r\n null,\r\n index\r\n );\r\n }\r\n if (value.length === 2) value += \":\";\r\n if (value.length > 5) value = value[5];\r\n if (value.length > 4) {\r\n FetchValueItem(\r\n \"AppointmentDateTo\",\r\n moment().format(\"YYYY-MM-DDT\") + value,\r\n index\r\n );\r\n } else {\r\n FetchValueItem(\r\n \"AppointmentDateTo\",\r\n value,\r\n index\r\n );\r\n }\r\n }}\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n </Col>\r\n <Col xl=\"4\" lg=\"4\" md=\"3\">\r\n <div className=\" flex-wrap align-items-center pb-5\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg mr-3\"\r\n >\r\n Entered By :\r\n </a>\r\n <input\r\n type=\"tel\"\r\n className=\"form-control mt-4\"\r\n name=\"AppointmentDateEntredBy\"\r\n id=\"AppointmentDateEntredBy\"\r\n disabled={true}\r\n value={item?.AppointmentDateEntredBy}\r\n label=\"Entered By\"\r\n />\r\n </div>\r\n </div>\r\n </Col>\r\n <Col xl=\"2\" lg=\"2\" md=\"2\" className=\"mt-5 pt-5\">\r\n <div className=\" flex-wrap align-items-center pb-5\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <CheckboxLargeWB\r\n className=\"font-size-md\"\r\n name=\"IsDropRecovery\"\r\n text=\"D/T\"\r\n id=\"IsDropRecovery\"\r\n checked={item?.IsDropRecovery}\r\n onChange={(event) => {\r\n FetchValueItem(\r\n \"IsDropRecovery\",\r\n event.target.checked,\r\n index\r\n );\r\n }}\r\n />\r\n </div>\r\n </div>\r\n </Col>\r\n {item?.IsDropRecovery === true ? (\r\n <>\r\n <Col xl=\"4\" lg=\"4\" md=\"4\" className=\"SO-Date\">\r\n <div className=\" flex-wrap align-items-center pb-5\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-3 font-size-lg mr-3\"\r\n >\r\n Empty Date:\r\n <br />\r\n </a>\r\n <span className=\"font-weight-bold\">\r\n <DateTime30GL\r\n defaultvalue={item?.DropDate ?? \"\"}\r\n onChange={(newValue) => {\r\n try {\r\n FetchValueItem(\r\n \"DropDate\",\r\n newValue,\r\n index\r\n );\r\n } catch (err) {\r\n console.log(err);\r\n }\r\n }}\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n </Col>\r\n {/* <Col xl=\"4\" lg=\"4\" md=\"4\" className=\"SO-Date\">\r\n <div className=\" flex-wrap align-items-center pb-5\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-3 font-size-lg mr-3\"\r\n >\r\n Recovery Date :\r\n <br />\r\n </a>\r\n <span className=\"font-weight-bold\">\r\n <DateTime30GL\r\n defaultvalue={item?.RecoveryDate}\r\n onChange={(newValue) => {\r\n try {\r\n FetchValueItem(\r\n \"RecoveryDate\",\r\n newValue,\r\n index\r\n );\r\n } catch (err) {\r\n console.log(err);\r\n }\r\n }}\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n </Col> */}\r\n </>\r\n ) : (\r\n \"\"\r\n )}\r\n </Row>\r\n <Row className=\" mb-5\">\r\n <Col xl=\"4\" lg=\"4\" md=\"4\">\r\n <div className=\" flex-wrap align-items-center pb-5\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg mr-3\"\r\n >\r\n Arrival Date :\r\n <br />\r\n </a>\r\n <span className=\"font-weight-bold\">\r\n <DateTime30GL\r\n defaultvalue={item?.ActualArrivalDate}\r\n onChange={(newValue) => {\r\n try {\r\n FetchValueItem(\r\n \"ActualArrivalDate\",\r\n newValue,\r\n index\r\n );\r\n } catch (err) {\r\n console.log(err);\r\n }\r\n }}\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n </Col>\r\n <Col xl=\"4\" lg=\"4\" md=\"4\">\r\n <div className=\" flex-wrap align-items-center pb-5\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg mr-3\"\r\n >\r\n Entered By :\r\n </a>\r\n <input\r\n type=\"tel\"\r\n className=\"form-control mt-4\"\r\n name=\"EnteredBy\"\r\n id=\"EnteredBy\"\r\n disabled={true}\r\n value={item?.ActualArrivalDateEntredBy}\r\n label=\"Entered By\"\r\n />\r\n </div>\r\n </div>\r\n </Col>\r\n <Col xl=\"4\" lg=\"4\" md=\"4\">\r\n <div className=\" flex-wrap align-items-center pb-5\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg mr-3\"\r\n >\r\n Entry Date/Time :\r\n </a>\r\n <span className=\"text-muted font-weight-bold\">\r\n <input\r\n type=\"tel\"\r\n className=\"form-control mt-4\"\r\n name=\"ShipperArrivalDateEnteredDate\"\r\n id=\"ShipperArrivalDateEnteredDate\"\r\n disabled={true}\r\n value={\r\n item?.ActualArrivalDateEntredDate === null ||\r\n item?.ActualArrivalDateEntredDate === \"\" ||\r\n item?.ActualArrivalDateEntredDate ===\r\n undefined\r\n ? \"\"\r\n : moment(\r\n item?.ActualArrivalDateEntredDate\r\n ).format(\"MM-DD-YYYY, h:mm A\")\r\n }\r\n label=\"Entered By\"\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n </Col>\r\n </Row>\r\n <Row className=\" mb-5\">\r\n <Col xl=\"4\" lg=\"4\" md=\"4\" className=\"SO-Date\">\r\n <div className=\" flex-wrap align-items-center pb-5\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg mr-3\"\r\n >\r\n Departure Date :\r\n <br />\r\n </a>\r\n <span className=\"font-weight-bold\">\r\n <DateTime30GL\r\n defaultvalue={item?.DepartureDate ?? \"\"}\r\n onChange={(newValue) => {\r\n try {\r\n FetchValueItem(\r\n \"DepartureDate\",\r\n newValue,\r\n index\r\n );\r\n } catch (err) {\r\n console.log(err);\r\n }\r\n }}\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n </Col>\r\n <Col xl=\"4\" lg=\"4\" md=\"4\">\r\n <div className=\" flex-wrap align-items-center pb-5\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg mr-3\"\r\n >\r\n Entered By :\r\n </a>\r\n <input\r\n type=\"tel\"\r\n className=\"form-control mt-4\"\r\n name=\"EnteredBy\"\r\n id=\"EnteredBy\"\r\n disabled={true}\r\n value={item?.DepartureDateEntredBy}\r\n label=\"Entered By\"\r\n />\r\n </div>\r\n </div>\r\n </Col>\r\n <Col xl=\"4\" lg=\"4\" md=\"4\">\r\n <div className=\" flex-wrap align-items-center pb-5\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg mr-3\"\r\n >\r\n Entry Date/Time :\r\n </a>\r\n <span className=\"text-muted font-weight-bold\">\r\n <input\r\n type=\"tel\"\r\n className=\"form-control mt-4\"\r\n name=\"ShipperDepartureDateEnteredDate\"\r\n id=\"ShipperDepartureDateEnteredDate\"\r\n disabled={true}\r\n value={\r\n item?.DepartureDateEntredDate === null ||\r\n item?.DepartureDateEntredDate === undefined ||\r\n item?.DepartureDateEntredDate === \"\"\r\n ? \"\"\r\n : moment(\r\n item?.DepartureDateEntredDate\r\n ).format(\"MM-DD-YYYY, h:mm A\")\r\n }\r\n label=\"Entered By\"\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n </Col>\r\n </Row>\r\n </CardBody>\r\n </Card>\r\n </div>\r\n ) : (\r\n <div className=\"pl-5 pr-5\">\r\n <Card className={item?.ClassName}>\r\n <CardHeader title={item?.Title}>\r\n <CardHeaderToolbar>\r\n {/* Arrows */}\r\n {!item?.IsNew && (\r\n <Fragment>\r\n {index === 0 ? (\r\n <Fragment>\r\n {props?.list?.filter((x) => !x.IsNew)?.length >\r\n 1 && (\r\n <button\r\n className=\"btn btn-light-warning py-3 pl-5 pr-4\"\r\n onClick={() => {\r\n try {\r\n props.setShowSaveButton(true);\r\n let data = [...props?.list];\r\n data[index].Position =\r\n data[index].Position + 1;\r\n data[index + 1].Position =\r\n data[index].Position - 1;\r\n props.setMultiStopsData(\r\n data.sort(\r\n (a, b) =>\r\n parseFloat(a.Position) -\r\n parseFloat(b.Position)\r\n )\r\n );\r\n } catch (err) {\r\n console.log(err);\r\n }\r\n }}\r\n >\r\n <i\r\n class=\"fas fa-arrow-circle-down\"\r\n style={{ fontSize: \"18px\" }}\r\n ></i>\r\n </button>\r\n )}\r\n </Fragment>\r\n ) : index === props?.list?.length - 1 ? (\r\n <Fragment>\r\n {props?.list?.filter((x) => !x.IsNew)?.length >\r\n 1 && (\r\n <button\r\n className=\"btn btn-light-info py-3 pl-5 pr-4 ml-5\"\r\n onClick={() => {\r\n props.setShowSaveButton(true);\r\n let data = [...props?.list];\r\n data[index].Position =\r\n data[index].Position - 1;\r\n data[index - 1].Position =\r\n data[index].Position + 1;\r\n props.setMultiStopsData(\r\n data.sort(\r\n (a, b) =>\r\n parseFloat(a.Position) -\r\n parseFloat(b.Position)\r\n )\r\n );\r\n }}\r\n >\r\n <i\r\n class=\"fas fa-arrow-circle-up\"\r\n style={{ fontSize: \"18px\" }}\r\n ></i>\r\n </button>\r\n )}\r\n </Fragment>\r\n ) : (\r\n props?.list?.filter((x) => !x.IsNew)?.length >\r\n 1 && (\r\n <Fragment>\r\n <button\r\n className=\"btn btn-light-warning py-3 pl-5 pr-4\"\r\n onClick={() => {\r\n try {\r\n props.setShowSaveButton(true);\r\n let data = [...props?.list];\r\n data[index].Position =\r\n data[index].Position + 1;\r\n data[index + 1].Position =\r\n data[index].Position - 1;\r\n props.setMultiStopsData(\r\n data.sort(\r\n (a, b) =>\r\n parseFloat(a.Position) -\r\n parseFloat(b.Position)\r\n )\r\n );\r\n } catch (err) {\r\n console.log(err);\r\n }\r\n }}\r\n >\r\n <i\r\n class=\"fas fa-arrow-circle-down\"\r\n style={{ fontSize: \"18px\" }}\r\n ></i>\r\n </button>\r\n <button\r\n className=\"btn btn-light-info py-3 pl-5 pr-4 ml-5\"\r\n onClick={() => {\r\n props.setShowSaveButton(true);\r\n let data = [...props?.list];\r\n data[index].Position =\r\n data[index].Position - 1;\r\n data[index - 1].Position =\r\n data[index].Position + 1;\r\n props.setMultiStopsData(\r\n data.sort(\r\n (a, b) =>\r\n parseFloat(a.Position) -\r\n parseFloat(b.Position)\r\n )\r\n );\r\n }}\r\n >\r\n <i\r\n class=\"fas fa-arrow-circle-up\"\r\n style={{ fontSize: \"18px\" }}\r\n ></i>\r\n </button>\r\n </Fragment>\r\n )\r\n )}\r\n </Fragment>\r\n )}\r\n <span className=\"border-right ml-5 mr-5\"></span>\r\n {/* ************* */}\r\n <button\r\n className={`${\r\n item?.IsEdited ? \"\" : \"disabledStop\"\r\n } btn btn-light-primary py-3 pl-5 pr-4 postStop`}\r\n onClick={async () => {\r\n try {\r\n FetchValueItem(\"IsNew\", false, index);\r\n if (item.Id) {\r\n await PostStop(props?.list[index], true, item.Id);\r\n } else {\r\n await PostStop(props?.list[index], false, 0);\r\n }\r\n props.setShowSaveButton(false);\r\n } catch (err) {\r\n console.log(err);\r\n }\r\n }}\r\n >\r\n <i class=\"fas fa-save\" style={{ fontSize: \"18px\" }}></i>\r\n </button>\r\n <button\r\n className=\"btn btn-light-danger py-3 pl-5 ml-5\"\r\n onClick={async () => {\r\n try {\r\n let values = [...props?.list];\r\n if (item.Id) {\r\n setModalDelete(true);\r\n setRowItem(item);\r\n } else {\r\n values = values?.filter(\r\n (x) => x !== values[index]\r\n );\r\n props.setMultiStopsData(values);\r\n }\r\n } catch (err) {\r\n console.log(err);\r\n }\r\n }}\r\n >\r\n <i\r\n class=\"fas fa-times\"\r\n style={{ fontSize: \"18px\" }}\r\n ></i>\r\n </button>\r\n <button\r\n className=\"btn btn-light-info py-3 pl-5 pr-4 ml-5\"\r\n onClick={() => {\r\n try {\r\n let values = [...props?.list];\r\n values[index].IsCollapsed = item?.IsCollapsed\r\n ? false\r\n : true;\r\n props.setMultiStopsData(values);\r\n } catch (err) {\r\n console.log(err);\r\n }\r\n }}\r\n >\r\n {item.IsCollapsed ? (\r\n <i\r\n class=\"fas fa-chevron-up\"\r\n style={{ fontSize: \"18px\" }}\r\n ></i>\r\n ) : (\r\n <i\r\n class=\"fas fa-chevron-down\"\r\n style={{ fontSize: \"18px\" }}\r\n ></i>\r\n )}\r\n </button>\r\n </CardHeaderToolbar>\r\n </CardHeader>\r\n <CardBody className={item?.IsCollapsed ? \"d-none\" : \"\"}>\r\n <div className=\"row mb-5\">\r\n <Col xl=\"12\" lg=\"12\" md=\"12\">\r\n <div className=\" flex-wrap align-items-center pb-5\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg mr-3\"\r\n >\r\n Company Name :\r\n </a>\r\n <span className=\"font-weight-bold\">\r\n <CreatableSelect\r\n isClearable\r\n className=\"mt-4\"\r\n name=\"ConsigneeId\"\r\n id=\"ConsigneeId\"\r\n value={props?.ViewModelOptions?.Consignees.filter(\r\n (a) => a.Id === item?.AddressId\r\n ).map((a) => {\r\n return {\r\n value: a.Id,\r\n label: a.Name,\r\n };\r\n })}\r\n options={props?.ViewModelOptions?.Consignees.map(\r\n (a) => {\r\n return {\r\n value: a.Id,\r\n label: a.Name,\r\n };\r\n }\r\n )}\r\n onChange={async (newValue) => {\r\n if (newValue !== null) {\r\n if (newValue.__isNew__) {\r\n setmodalAddresses(true);\r\n setCountryValue({\r\n value: \"US\",\r\n label: \"United States\",\r\n });\r\n handleCountryChange(\"US\");\r\n } else {\r\n const currentObject = props?.ViewModelOptions?.Consignees?.find(\r\n (x) => x.Id === newValue?.value\r\n );\r\n FetchValueItem(\r\n \"AddressId\",\r\n currentObject?.Id,\r\n index\r\n );\r\n }\r\n } else {\r\n FetchValueItem(\"AddressId\", \"\", index);\r\n }\r\n fetchSelectedAddress(\r\n newValue !== null ? newValue.value : null,\r\n true,\r\n index\r\n );\r\n }}\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n </Col>\r\n <div className=\"col-xl col-lg col-md-4 border-right\">\r\n <div className=\" flex-wrap align-items-center pb-5\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg mr-3\"\r\n >\r\n Street Address :\r\n </a>\r\n <span className=\"text-muted font-weight-bold\">\r\n <input\r\n type=\"text\"\r\n className=\"form-control mt-4\"\r\n name=\"ConsigneeStreet\"\r\n id=\"ConsigneeStreet\"\r\n disabled={true}\r\n label=\"Street\"\r\n value={item?.StreetAddress}\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n <div className=\" flex-wrap align-items-center pb-5\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg mr-3\"\r\n >\r\n City :\r\n </a>\r\n <span className=\"text-muted font-weight-bold\">\r\n <input\r\n type=\"text\"\r\n className=\"form-control mt-4\"\r\n name=\"ConsigneeCity\"\r\n disabled={true}\r\n id=\"ConsigneeCity\"\r\n value={item?.City}\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n <div className=\" flex-wrap align-items-center pb-5\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg mr-3\"\r\n >\r\n State :\r\n </a>\r\n <span className=\"text-muted font-weight-bold\">\r\n <input\r\n type=\"text\"\r\n className=\"form-control mt-4\"\r\n name=\"ConsigneeState\"\r\n id=\"ConsigneeState\"\r\n disabled={true}\r\n value={item?.State}\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n <div className=\" flex-wrap align-items-center pb-5\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg mr-3\"\r\n >\r\n Zip :\r\n </a>\r\n <span className=\"text-muted font-weight-bold\">\r\n <input\r\n type=\"text\"\r\n className=\"form-control mt-4\"\r\n name=\"ConsigneeZipCode\"\r\n id=\"ConsigneeZipCode\"\r\n disabled={true}\r\n value={item?.ZipCode}\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n </div>\r\n <div className=\"col-xl col-lg col-md-4 border-right\">\r\n <div className=\" flex-wrap align-items-center pb-5\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg mr-3\"\r\n >\r\n Contact Name :\r\n </a>\r\n <span className=\"text-muted font-weight-bold\">\r\n <input\r\n type=\"text\"\r\n className=\"form-control mt-4\"\r\n name=\"ConsigneeContactName\"\r\n disabled={true}\r\n value={item?.ContactName}\r\n id=\"ConsigneeContactName\"\r\n label=\"Contact\"\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n <div className=\" flex-wrap align-items-center pb-5\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg mr-3\"\r\n >\r\n Contact Phone :\r\n </a>\r\n <span className=\"text-muted font-weight-bold\">\r\n <input\r\n type=\"tel\"\r\n className=\"form-control mt-4\"\r\n name=\"ConsigneePhoneNumber\"\r\n disabled={true}\r\n id=\"ConsigneePhoneNumber\"\r\n value={item?.Phone}\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n <div className=\" flex-wrap align-items-center pb-5\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg mr-3\"\r\n >\r\n Contact Fax :\r\n </a>\r\n <span className=\"text-muted font-weight-bold\">\r\n <input\r\n type=\"tel\"\r\n className=\"form-control mt-4\"\r\n name=\"ConsigneeFax\"\r\n id=\"ConsigneeFax\"\r\n disabled={true}\r\n value={item?.Fax}\r\n label=\"Fax\"\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n <div className=\" flex-wrap align-items-center pb-5\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg mr-3\"\r\n >\r\n Contact Email :\r\n </a>\r\n <span className=\"text-muted font-weight-bold\">\r\n <input\r\n type=\"email\"\r\n className=\"form-control mt-4\"\r\n name=\"EmailText\"\r\n id=\"EmailText\"\r\n disabled={true}\r\n value={item?.Email}\r\n label=\"Email\"\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n </div>\r\n <div className=\"col-xl col-lg col-md-4 border-right\">\r\n <div className=\" flex-wrap align-items-center pb-3\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary font-size-lg mr-3\"\r\n >\r\n MABD:\r\n </a>\r\n <span className=\"text-muted font-weight-bold\">\r\n <TextField\r\n id=\"MustArriveByDate\"\r\n type=\"date\"\r\n value={String(\r\n moment(item?.MustArriveByDate).format(\r\n \"YYYY-MM-DD\"\r\n )\r\n )}\r\n onChange={(e) => {\r\n FetchValueItem(\r\n \"MustArriveByDate\",\r\n e.target.value,\r\n index\r\n );\r\n }}\r\n className=\"form-control mt-4\"\r\n InputLabelProps={{\r\n shrink: true,\r\n }}\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n <div className=\" flex-wrap align-items-center pb-5\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg mr-3\"\r\n >\r\n DEL # :\r\n </a>\r\n <span className=\"text-muted font-weight-bold\">\r\n {\" \"}\r\n <input\r\n type=\"text\"\r\n className=\"form-control mt-4\"\r\n name=\"ConsigneeNumber\"\r\n id=\"ConsigneeNumber\"\r\n value={item?.DeliveryNumber}\r\n label=\"PU\"\r\n onChange={(e) => {\r\n FetchValueItem(\r\n \"DeliveryNumber\",\r\n e.target.value,\r\n index\r\n );\r\n }}\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n <div className=\" flex-wrap align-items-center pb-5\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg mr-3\"\r\n >\r\n Special Req :\r\n </a>\r\n <span className=\"font-weight-bold\">\r\n <Select\r\n isMulti\r\n className=\"basic-multi-select mt-4\"\r\n classNamePrefix=\"select\"\r\n name=\"ConsigneeSpecialReq\"\r\n id=\"ConsigneeSpecialReq\"\r\n value={props?.ViewModelOptions?.SpecialReqs.filter(\r\n function(el) {\r\n return (\r\n item?.SpecialReq?.indexOf(el.Name) >= 0\r\n );\r\n }\r\n ).map((a) => {\r\n return {\r\n value: a.Name,\r\n label: a.Name,\r\n };\r\n })}\r\n options={props?.ViewModelOptions?.SpecialReqs.map(\r\n (a) => {\r\n return {\r\n value: a.Name,\r\n label: a.Name,\r\n };\r\n }\r\n )}\r\n onChange={(newValue) => {\r\n if (newValue !== null) {\r\n FetchValueItem(\r\n \"SpecialReq\",\r\n newValue.map((a) => a.value),\r\n index\r\n );\r\n } else {\r\n FetchValueItem(\"SpecialReq\", [], index);\r\n }\r\n }}\r\n label=\"Load Board\"\r\n inputId=\"react-select-single\"\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n <div className=\" flex-wrap align-items-center pb-5\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <CheckboxLargeWB\r\n className=\"font-size-md\"\r\n text=\"APPT\"\r\n name=\"IsAppointed\"\r\n id=\"IsAppointed\"\r\n checked={item?.IsAppointed}\r\n onChange={(event) => {\r\n FetchValueItem(\r\n \"IsAppointed\",\r\n event.target.checked,\r\n index\r\n );\r\n }}\r\n />\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <Row className=\"pt-5 mb-5\">\r\n <Col xl=\"4\" lg=\"4\" md=\"4\" className=\"SO-Date\">\r\n <div className=\" flex-wrap align-items-center pb-5\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg mr-3\"\r\n >\r\n DEL Date :\r\n </a>\r\n <span className=\" font-weight-bold\">\r\n <DateTime30GL\r\n defaultvalue={item?.DeliveryAppointmentFromDate}\r\n onChange={(newValue) => {\r\n try {\r\n FetchValueItem(\r\n \"DeliveryAppointmentFromDate\",\r\n newValue,\r\n index\r\n );\r\n } catch (err) {\r\n console.log(err);\r\n }\r\n }}\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n </Col>\r\n <Col xl=\"2\" lg=\"2\" md=\"3\" className=\"SO-Date\">\r\n <div className=\" flex-wrap align-items-center pb-5\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg mr-3\"\r\n >\r\n DEL to Time :\r\n </a>\r\n <span className=\" font-weight-bold\">\r\n <input\r\n className={`form-control mt-4`}\r\n value={\r\n item?.DeliveryAppointmentToDate === null ||\r\n item?.DeliveryAppointmentToDate === \"\"\r\n ? \"\"\r\n : item?.DeliveryAppointmentToDate?.length >\r\n 4\r\n ? moment(\r\n item?.DeliveryAppointmentToDate\r\n ).format(\"HH:mm\")\r\n : item?.DeliveryAppointmentToDate\r\n }\r\n placeholder=\"00:00\"\r\n onKeyUp={(e) => {\r\n if (e.keyCode === 8) {\r\n FetchValueItem(\r\n \"DeliveryAppointmentToDate\",\r\n null,\r\n index\r\n );\r\n return;\r\n }\r\n }}\r\n onChange={(e) => {\r\n var value = e.target?.value;\r\n if (!value || value === \"\") {\r\n FetchValueItem(\r\n \"DeliveryAppointmentToDate\",\r\n \"\",\r\n index\r\n );\r\n }\r\n if (value.length === 2) value += \":\";\r\n if (value.length > 5) value = value[5];\r\n if (value.length > 4) {\r\n FetchValueItem(\r\n \"DeliveryAppointmentToDate\",\r\n moment().format(\"YYYY-MM-DDT\") + value,\r\n index\r\n );\r\n } else {\r\n FetchValueItem(\r\n \"DeliveryAppointmentToDate\",\r\n value,\r\n index\r\n );\r\n }\r\n }}\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n </Col>\r\n <Col xl=\"4\" lg=\"4\" md=\"3\">\r\n <div className=\" flex-wrap align-items-center pb-5\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg mr-3\"\r\n >\r\n Entered By :\r\n </a>\r\n <input\r\n type=\"tel\"\r\n className=\"form-control mt-4\"\r\n name=\"EnteredBy\"\r\n id=\"EnteredBy\"\r\n disabled={true}\r\n value={item?.DeliveryAppointmentEntredBy}\r\n label=\"Entered By\"\r\n />\r\n </div>\r\n </div>\r\n </Col>\r\n <Col xl=\"2\" lg=\"2\" md=\"2\" className=\"mt-5 pt-5\">\r\n <div className=\" flex-wrap align-items-center pb-5\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <CheckboxLargeWB\r\n className=\"font-size-md\"\r\n name=\"ConsigneeDt\"\r\n text=\"D/T\"\r\n id=\"ConsigneeDt\"\r\n checked={item?.IsDropRecovery}\r\n onChange={(e) => {\r\n FetchValueItem(\r\n \"IsDropRecovery\",\r\n e.target.checked,\r\n index\r\n );\r\n }}\r\n />\r\n </div>\r\n </div>\r\n </Col>\r\n {item?.IsDropRecovery === true ? (\r\n <>\r\n <Col xl=\"4\" lg=\"4\" md=\"4\" className=\"SO-Date\">\r\n <div className=\" flex-wrap align-items-center pb-5\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg mr-3\"\r\n >\r\n Empty Date:\r\n </a>\r\n <span className=\" font-weight-bold\">\r\n <DateTime30GL\r\n defaultvalue={item?.DropDate}\r\n onChange={(newValue) => {\r\n try {\r\n FetchValueItem(\r\n \"DropDate\",\r\n newValue,\r\n index\r\n );\r\n } catch (err) {\r\n console.log(err);\r\n }\r\n }}\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n </Col>\r\n {/* <Col xl=\"4\" lg=\"4\" md=\"4\" className=\"SO-Date\">\r\n <div className=\" flex-wrap align-items-center pb-5\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg mr-3\"\r\n >\r\n Recovery Date :\r\n </a>\r\n <span className=\" font-weight-bold\">\r\n <DateTime30GL\r\n defaultvalue={item?.RecoveryDate}\r\n onChange={(newValue) => {\r\n try {\r\n FetchValueItem(\r\n \"RecoveryDate\",\r\n newValue,\r\n index\r\n );\r\n } catch (err) {\r\n console.log(err);\r\n }\r\n }}\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n </Col> */}\r\n </>\r\n ) : (\r\n \"\"\r\n )}\r\n </Row>\r\n <Row className=\" mb-5\">\r\n <Col xl=\"4\" lg=\"4\" md=\"4\" className=\"SO-Date\">\r\n <div className=\" flex-wrap align-items-center pb-5\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg mr-3\"\r\n >\r\n Arrival Date :\r\n </a>\r\n <span className=\"font-weight-bold\">\r\n <DateTime30GL\r\n defaultvalue={item?.ActualArrivalDate}\r\n onChange={(newValue) => {\r\n try {\r\n FetchValueItem(\r\n \"ActualArrivalDate\",\r\n newValue,\r\n index\r\n );\r\n } catch (err) {\r\n console.log(err);\r\n }\r\n }}\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n </Col>\r\n <Col xl=\"4\" lg=\"4\" md=\"4\">\r\n <div className=\" flex-wrap align-items-center pb-5\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg mr-3\"\r\n >\r\n Entered By :\r\n </a>\r\n <input\r\n type=\"tel\"\r\n className=\"form-control mt-4\"\r\n name=\"ActualArrivalDateEntredBy\"\r\n id=\"ActualArrivalDateEntredBy\"\r\n disabled={true}\r\n value={item?.ActualArrivalDateEntredBy}\r\n label=\"Entered By\"\r\n />\r\n </div>\r\n </div>\r\n </Col>\r\n <Col xl=\"4\" lg=\"4\" md=\"4\">\r\n <div className=\" flex-wrap align-items-center pb-5\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg mr-3\"\r\n >\r\n Entry Date/Time :\r\n </a>\r\n <span className=\"text-muted font-weight-bold\">\r\n <input\r\n type=\"tel\"\r\n className=\"form-control mt-4\"\r\n name=\"ConsigneeArrivalDateEnteredDate\"\r\n id=\"ConsigneeArrivalDateEnteredDate\"\r\n disabled={true}\r\n value={\r\n item?.ActualArrivalDateEntredDate === null ||\r\n item?.ActualArrivalDateEntredDate ===\r\n undefined ||\r\n item?.ActualArrivalDateEntredDate === \"\"\r\n ? \"\"\r\n : moment(\r\n item?.ActualArrivalDateEntredDate\r\n ).format(\"MM-DD-YYYY, h:mm A\")\r\n }\r\n label=\"Entered By\"\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n </Col>\r\n </Row>\r\n <Row className=\" mb-5\">\r\n <Col xl=\"4\" lg=\"4\" md=\"4\" className=\"SO-Date\">\r\n <div className=\" flex-wrap align-items-center pb-5\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg mr-3\"\r\n >\r\n Departure Date :\r\n </a>\r\n <span className=\"font-weight-bold\">\r\n <DateTime30GL\r\n defaultvalue={item?.DepartureDate}\r\n onChange={(newValue) => {\r\n try {\r\n FetchValueItem(\r\n \"DepartureDate\",\r\n newValue,\r\n index\r\n );\r\n } catch (err) {\r\n console.log(err);\r\n }\r\n }}\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n </Col>\r\n <Col xl=\"4\" lg=\"4\" md=\"4\">\r\n <div className=\" flex-wrap align-items-center pb-5\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg mr-3\"\r\n >\r\n Entered By :\r\n </a>\r\n <input\r\n type=\"tel\"\r\n className=\"form-control mt-4\"\r\n name=\"EnteredBy\"\r\n id=\"EnteredBy\"\r\n disabled={true}\r\n value={item?.DepartureDateEntredBy}\r\n label=\"Entered By\"\r\n />\r\n </div>\r\n </div>\r\n </Col>\r\n <Col xl=\"4\" lg=\"4\" md=\"4\">\r\n <div className=\" flex-wrap align-items-center pb-5\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg mr-3\"\r\n >\r\n Entry Date/Time :\r\n </a>\r\n <span className=\"text-muted font-weight-bold\">\r\n <input\r\n type=\"tel\"\r\n className=\"form-control mt-4\"\r\n name=\"ConsigneeDepartureDateEnteredDate\"\r\n id=\"ConsigneeDepartureDateEnteredDate\"\r\n disabled={true}\r\n value={\r\n item?.DepartureDateEntredDate === null ||\r\n item?.DepartureDateEntredDate === undefined ||\r\n item?.DepartureDateEntredDate === \"\"\r\n ? \"\"\r\n : moment(\r\n item?.DepartureDateEntredDate\r\n ).format(\"MM-DD-YYYY, h:mm A\")\r\n }\r\n label=\"Entered By\"\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n </Col>\r\n </Row>\r\n <Row className=\" mb-5\">\r\n <Col xl=\"4\" lg=\"4\" md=\"4\" className=\"SO-Date\">\r\n <div className=\" flex-wrap align-items-center pb-5\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg mr-3\"\r\n >\r\n POD :\r\n </a>\r\n <span className=\"font-weight-bold\">\r\n <input\r\n type=\"text\"\r\n className=\"form-control mt-4\"\r\n name=\"Pod\"\r\n id=\"Pod\"\r\n value={item?.Pod}\r\n label=\"Pod\"\r\n onChange={(e) => {\r\n FetchValueItem(\"Pod\", e.target.value, index);\r\n }}\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n </Col>\r\n </Row>\r\n </CardBody>\r\n </Card>\r\n </div>\r\n )}\r\n </Fragment>\r\n ))}\r\n </Fragment>\r\n );\r\n}\r\n","/* eslint-disable react-hooks/exhaustive-deps */\r\n// Form is based on Formik\r\n// Data validation is based on Yup\r\n// Please, be familiar with article first:\r\n// https://hackernoon.com/react-form-validation-with-formik-and-yup-8b76bda62e10\r\nimport {\r\n IconButton,\r\n makeStyles,\r\n LinearProgress,\r\n Input,\r\n TextField,\r\n} from \"@material-ui/core\";\r\nimport BootstrapTable from \"react-bootstrap-table-next\";\r\nimport CreatableSelect from \"react-select/creatable\";\r\nimport CloseIcon from \"@material-ui/icons/Close\";\r\nimport low from \"lowdb\";\r\nimport LocalStorage from \"lowdb/adapters/LocalStorage\";\r\nimport React, { useState, useEffect } from \"react\";\r\nimport {\r\n Modal,\r\n Form,\r\n Spinner,\r\n Col,\r\n Row,\r\n Tooltip,\r\n OverlayTrigger,\r\n} from \"react-bootstrap\";\r\nimport paginationFactory from \"react-bootstrap-table2-paginator\";\r\nimport SVG from \"react-inlinesvg\";\r\nimport Select from \"react-select\";\r\nimport {\r\n sortCaret,\r\n toAbsoluteUrl,\r\n headerSortingClasses,\r\n} from \"../../../../../../_metronic/_helpers\";\r\nimport {\r\n currencyFormat,\r\n DateTime30GL,\r\n RequiredHtml,\r\n} from \"../../../../../../_metronic/_helpers/ATHelpers\";\r\nimport { ChargesFunction } from \"../../Transload/FindOrders/product-Containers/remark-edit-dialog/RemarkEditForm\";\r\nimport SelectPagination from \"../../../../../../_metronic/_partials/widgets/Select/SelectPagination\";\r\n\r\nimport {\r\n Card,\r\n CardBody,\r\n CardHeader,\r\n CardHeaderToolbar,\r\n CheckboxLarge,\r\n CheckboxLargeWB,\r\n LoadingDialog,\r\n} from \"../../../../../../_metronic/_partials/controls\";\r\nimport { Notification } from \"../../../../Notification\";\r\nimport { Formik } from \"formik\";\r\nimport axios from \"axios\";\r\nimport moment from \"moment\";\r\nimport GoogleMapReact from \"google-map-react\";\r\nimport { OrderAttachementsV2 } from \"../../Transload/FindOrders/product-edit/OrderAttachements\";\r\nimport ClassicEditor from \"@ckeditor/ckeditor5-build-classic\";\r\nimport { CKEditor } from \"@ckeditor/ckeditor5-react\";\r\nimport { MultiStopsIndexShipping } from \"../MultiStops\";\r\nimport { LockPayblesButton } from \"../../Transload/FindOrders/product-Containers/remark-edit-dialog/ChargesFunction\";\r\nvar Spinners = require(\"react-spinkit\");\r\n\r\nconst AlertListData = [\r\n {\r\n Alerts: \"Weather Delay\",\r\n },\r\n {\r\n Alerts: \"Breakdown\",\r\n },\r\n];\r\n\r\nconst adapter = new LocalStorage(\"db\");\r\nconst db = low(adapter);\r\nconst useStyles = makeStyles((theme) => ({\r\n root: {\r\n width: \"100%\",\r\n },\r\n paper: {\r\n marginTop: theme.spacing(3),\r\n width: \"100%\",\r\n overflowX: \"auto\",\r\n marginBottom: theme.spacing(2),\r\n },\r\n}));\r\n\r\nexport function ServiceOrderFtlDetail({\r\n setFieldValue,\r\n values,\r\n statSHipmentId,\r\n setCharges,\r\n ReloadCalc,\r\n SO,\r\n getAssignment,\r\n initProduct,\r\n ViewModelOptions,\r\n GetViewModel,\r\n GetSoData,\r\n setShowLoadBidsModal,\r\n ShowLoadBidsModal,\r\n loaderSoStop,\r\n setLoaderSoStop,\r\n}) {\r\n const rowClasses = (row) => (row.TraceType === \"Alert\" ? \"warning text-center\" : \"text-center\");\r\n const rowClassesBids = (row) => (row.IsAccepted === true ? \"success\" : \"\");\r\n //stops\r\n useEffect(() => {\r\n if (SO) {\r\n GetItemsTms(SO);\r\n GetStops(SO);\r\n GetStopsNewIntegration(SO);\r\n }\r\n }, [SO]);\r\n\r\n useEffect(() => {\r\n window.ARCartons = undefined;\r\n window.ARTotalWeight1 = undefined;\r\n window.ARTotalWeight2 = undefined;\r\n window.ARTotalCube1 = undefined;\r\n }, []);\r\n\r\n const [ChargesTotal, setChargesTotal] = useState();\r\n const [PayblesTotal, setPayblesTotal] = useState();\r\n const [DataListBids, setDataListBids] = useState([]);\r\n const [LoadingBidsStatus, setLoadingBidsStatus] = useState(false);\r\n //Multi Stops\r\n const [listMultiStopsShipping, setMultiStopsDataShipping] = useState([]);\r\n const [showSaveArrows, setShowSaveButton] = useState(false);\r\n\r\n function GetLoadBidsData() {\r\n setLoadingBidsStatus(true);\r\n fetch(window.$apiurl + `/tms/Loadbids/${SO}`, {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n if (res[0] === 200) {\r\n const result = res[1];\r\n setDataListBids(result?.Bids || []);\r\n }\r\n setLoadingBidsStatus(false);\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n useEffect(() => {\r\n if (values?.StatusName === \"New\") {\r\n GetLoadBidsData();\r\n }\r\n }, [values.StatusName]);\r\n\r\n const [addressesStops, setAddressesStops] = useState([]);\r\n const [addressesStopsFetch, setAddressesStopsFetch] = useState([]);\r\n const [TrackingDataGrid, setTrackingDataGrid] = useState([]);\r\n const [TrackingDataPoliLyne, setTrackingDataPoliLyne] = useState([]);\r\n const [TrackingStatusOptions, setTrackingStatusOptions] = useState([]);\r\n const [phoneNumberStop, setPhoneNumberStop] = useState(\"\");\r\n const [zipCodeStop, setZipCodeStop] = useState(\"\");\r\n const [stateStop, setStateStop] = useState(\"\");\r\n const [cityStop, setCityStop] = useState(\"\");\r\n const [addressStop, setAddressStop] = useState(\"\");\r\n const [companyNameStop, setCompanyNameStop] = useState(\"\");\r\n const [faxStop, setFaxStop] = useState(\"\");\r\n const [contactName, setContactName] = useState(\"\");\r\n const [EmailStop, setEmailStop] = useState(\"\");\r\n const [stopAddressValue, setStopAddressValue] = useState({\r\n value: \"\",\r\n label: \"Select\",\r\n });\r\n const [modalAddresses, setmodalAddresses] = useState(false);\r\n //Fetch Dynamic Address\r\n\r\n // useEffect(() => {\r\n // setShowHideBids(false);\r\n // setTimeout(() => {\r\n // setShowHideBids(true);\r\n // }, 1);\r\n // }, [initProduct]);\r\n\r\n const [consignee, setConsignee] = useState({\r\n ConsigneeId: 0,\r\n ConsigneeAddress: \"\",\r\n ConsigneeCity: \"\",\r\n ConsigneeState: \"\",\r\n ConsigneeZipCode: \"\",\r\n ConsigneePhoneNumber: \"\",\r\n ConsigneeFax: \"\",\r\n ConsigneeContactName: \"\",\r\n ConsigneeEmail: \"\",\r\n ReceivingNote: \"\",\r\n });\r\n const [TrackingObject, setTrackingObject] = useState({\r\n ShipmentId: 0,\r\n TraceCode: \"\",\r\n EtaDate:\r\n TrackingDataGrid?.CurrentEtaDate !== null &&\r\n TrackingDataGrid?.CurrentEtaDate !== \"\" &&\r\n TrackingDataGrid?.CurrentEtaDate !== undefined\r\n ? TrackingDataGrid?.CurrentEtaDate\r\n : values.DeliveryAppointmentDate !== null &&\r\n values.DeliveryAppointmentDate !== undefined &&\r\n values.DeliveryAppointmentDate !== \"\"\r\n ? values.DeliveryAppointmentDate\r\n : \"\",\r\n TimeZone: \"\",\r\n Country: \"\",\r\n City: \"\",\r\n State: \"\",\r\n NextTrackingDue:\r\n new Date().toISOString().substr(0, 10) +\r\n \"T\" +\r\n new Date(new Date().setTime(new Date().getTime() + 6 * 60 * 60 * 1000))\r\n .getHours()\r\n .toString()\r\n .padStart(2, \"0\") +\r\n \":\" +\r\n (new Date(\r\n new Date().setTime(new Date().getTime() + 6 * 60 * 60 * 1000)\r\n ).getMinutes() > 30\r\n ? \"30\"\r\n : \"00\") +\r\n \":00\",\r\n Note: \"\",\r\n });\r\n useEffect(() => {\r\n setTrackingObject({\r\n ShipmentId: 0,\r\n TraceCode: \"\",\r\n EtaDate:\r\n TrackingDataGrid?.CurrentEtaDate !== null &&\r\n TrackingDataGrid?.CurrentEtaDate !== \"\" &&\r\n TrackingDataGrid?.CurrentEtaDate !== undefined\r\n ? TrackingDataGrid?.CurrentEtaDate\r\n : values.DeliveryAppointmentDate !== null &&\r\n values.DeliveryAppointmentDate !== undefined &&\r\n values.DeliveryAppointmentDate !== \"\"\r\n ? values.DeliveryAppointmentDate\r\n : \"\",\r\n TimeZone: \"\",\r\n Country: \"\",\r\n City: \"\",\r\n State: \"\",\r\n NextTrackingDue:\r\n new Date().toISOString().substr(0, 10) +\r\n \"T\" +\r\n new Date(new Date().setTime(new Date().getTime() + 6 * 60 * 60 * 1000))\r\n .getHours()\r\n .toString()\r\n .padStart(2, \"0\") +\r\n \":\" +\r\n (new Date(\r\n new Date().setTime(new Date().getTime() + 6 * 60 * 60 * 1000)\r\n ).getMinutes() > 30\r\n ? \"30\"\r\n : \"00\") +\r\n \":00\",\r\n Note: \"\",\r\n });\r\n }, [TrackingDataGrid]);\r\n const [shipper, setShipper] = useState({\r\n ShipperId: 0,\r\n ShipperAddress: \"\",\r\n ShipperCity: \"\",\r\n ShipperState: \"\",\r\n ShipperZipCode: \"\",\r\n ShipperPhoneNumber: \"\",\r\n ShipperFax: \"\",\r\n ShipperContactName: \"\",\r\n ShipperEmail: \"\",\r\n ShippingNote: \"\",\r\n });\r\n const [shipper2, setShipper2] = useState({\r\n ShipperId: 0,\r\n ShipperAddress: \"\",\r\n ShipperCity: \"\",\r\n ShipperState: \"\",\r\n ShipperZipCode: \"\",\r\n ShipperPhoneNumber: \"\",\r\n ShipperFax: \"\",\r\n ShipperContactName: \"\",\r\n ShipperEmail: \"\",\r\n ShippingNote: \"\",\r\n });\r\n async function fetchSelectedAddress(id, isShipper, iShipper2) {\r\n try {\r\n const result = await GetShipperAddress(id);\r\n if (isShipper) {\r\n let currentAddress = { ...(iShipper2 ? shipper2 : shipper) };\r\n currentAddress = {\r\n ShipperId: result?.Id,\r\n ShipperAddress: result?.Address,\r\n ShipperCity: result?.City,\r\n ShipperState: result?.State,\r\n ShipperZipCode: result?.ZipCode,\r\n ShipperPhoneNumber: result?.PhoneNumber,\r\n ShipperFax: result?.Fax,\r\n ShipperContactName: result?.ContactName,\r\n ShipperEmail: result?.Email,\r\n ShippingNote:\r\n values.ShippingNote === \"\" || values.ShippingNote === null\r\n ? result?.Note\r\n : values.ShippingNote,\r\n };\r\n if (!iShipper2) {\r\n setFieldValue(\"ShipperCity\", result?.City);\r\n setFieldValue(\"ShipperState\", result?.State);\r\n setFieldValue(\"ShipperId\", result?.Id);\r\n setFieldValue(\r\n \"ShippingNote\",\r\n values.ShippingNote === \"\" || values.ShippingNote === null\r\n ? result?.Note\r\n : values.ShippingNote\r\n );\r\n await getAssignment(\r\n {\r\n CustomerId: values.CustomerId ?? null,\r\n ShipperCity: result?.City,\r\n ShipperState: result?.State,\r\n ConsigneeCity: values.ConsigneeCity,\r\n ConsigneeState: values.ConsigneeState,\r\n },\r\n initProduct,\r\n true\r\n );\r\n }\r\n if (iShipper2) {\r\n setShipper2(currentAddress);\r\n } else {\r\n setShipper(currentAddress);\r\n }\r\n } else {\r\n setFieldValue(\"ConsigneeCity\", result?.City);\r\n setFieldValue(\"ConsigneeState\", result?.State);\r\n setFieldValue(\"ConsigneeId\", result?.Id);\r\n\r\n setFieldValue(\r\n \"ReceivingNote\",\r\n values.ReceivingNote === \"\" || values.ReceivingNote === null\r\n ? result?.Note\r\n : values.ReceivingNote\r\n );\r\n let currentAddress = { ...consignee };\r\n currentAddress = {\r\n ConsigneeId: result?.Id,\r\n ConsigneeAddress: result?.Address,\r\n ConsigneeCity: result?.City,\r\n ConsigneeState: result?.State,\r\n ConsigneeZipCode: result?.ZipCode,\r\n ConsigneePhoneNumber: result?.PhoneNumber,\r\n ConsigneeFax: result?.Fax,\r\n ConsigneeContactName: result?.ContactName,\r\n ConsigneeEmail: result?.Email,\r\n ReceivingNote:\r\n values.ReceivingNote === \"\" || values.ReceivingNote === null\r\n ? result?.Note\r\n : values.ReceivingNote,\r\n };\r\n await getAssignment(\r\n {\r\n CustomerId: values.CustomerId ?? null,\r\n ShipperCity: values?.ShipperCity,\r\n ShipperState: values?.ShipperState,\r\n ConsigneeCity: result?.City,\r\n ConsigneeState: result?.State,\r\n },\r\n initProduct,\r\n true\r\n );\r\n setConsignee(currentAddress);\r\n }\r\n } catch (err) {}\r\n }\r\n const [StopAddressValues, setStopAddressValues] = useState([]);\r\n\r\n async function GetShipperAddress(id) {\r\n return await fetch(window.$apiurl + `/Tms/Address/${id}`, {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n if (res[0] === 200) {\r\n const result = res[1];\r\n setStopAddressValues(res[1]);\r\n\r\n return result;\r\n }\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n //******************************************************* */\r\n async function fetchSelectedAddressOnLoad(id, isShipper) {\r\n try {\r\n const result = await GetShipperAddress(id);\r\n if (isShipper) {\r\n let currentAddress = { ...shipper };\r\n currentAddress = {\r\n ShipperId: result?.Id,\r\n ShipperAddress: result?.Address,\r\n ShipperCity: result?.City,\r\n ShipperState: result?.State,\r\n ShipperZipCode: result?.ZipCode,\r\n ShipperPhoneNumber: result?.PhoneNumber,\r\n ShipperFax: result?.Fax,\r\n ShipperContactName: result?.ContactName,\r\n ShipperEmail: result?.Email,\r\n ShippingNote: result?.Note,\r\n };\r\n setShipper(currentAddress);\r\n } else {\r\n let currentAddress = { ...consignee };\r\n currentAddress = {\r\n ConsigneeId: result?.Id,\r\n ConsigneeAddress: result?.Address,\r\n ConsigneeCity: result?.City,\r\n ConsigneeState: result?.State,\r\n ConsigneeZipCode: result?.ZipCode,\r\n ConsigneePhoneNumber: result?.PhoneNumber,\r\n ConsigneeFax: result?.Fax,\r\n ConsigneeContactName: result?.ContactName,\r\n ConsigneeEmail: result?.Email,\r\n ReceivingNote: result?.Note,\r\n };\r\n setConsignee(currentAddress);\r\n }\r\n } catch (err) {}\r\n }\r\n async function fetchSelectedAddressOnLoadShipper2(id) {\r\n try {\r\n const result = await GetShipperAddress(id);\r\n let currentAddress = { ...shipper2 };\r\n currentAddress = {\r\n ShipperId: result?.Id,\r\n ShipperAddress: result?.Address,\r\n ShipperCity: result?.City,\r\n ShipperState: result?.State,\r\n ShipperZipCode: result?.ZipCode,\r\n ShipperPhoneNumber: result?.PhoneNumber,\r\n ShipperFax: result?.Fax,\r\n ShipperContactName: result?.ContactName,\r\n ShipperEmail: result?.Email,\r\n ShippingNote: result?.Note,\r\n };\r\n setShipper2(currentAddress);\r\n } catch (err) {}\r\n }\r\n useEffect(() => {\r\n fetchSelectedAddressOnLoadShipper2(values.EmptyReturnLocationId);\r\n }, [values.EmptyReturnLocationId]);\r\n useEffect(() => {\r\n fetchSelectedAddressOnLoad(values.ShipperId, true);\r\n }, [values.ShipperId]);\r\n useEffect(() => {\r\n fetchSelectedAddressOnLoad(values.ConsigneeId, false);\r\n }, [values.ConsigneeId]);\r\n\r\n function handleSubmitNewBids() {\r\n if (\r\n BidsInfo.VendorId === null ||\r\n BidsInfo.VendorId === \"\" ||\r\n BidsInfo.VendorId === undefined\r\n ) {\r\n Notification(\"errorClick\", \"please select carrier\");\r\n return;\r\n }\r\n if (\r\n BidsInfo.PickupAppointmentDate === null ||\r\n BidsInfo.PickupAppointmentDate === \"\" ||\r\n BidsInfo.PickupAppointmentDate === undefined\r\n ) {\r\n Notification(\"errorClick\", \"please Fill Pickup Appointment Date\");\r\n return;\r\n }\r\n if (\r\n BidsInfo.DeliveryDate === null ||\r\n BidsInfo.DeliveryDate === \"\" ||\r\n BidsInfo.DeliveryDate === undefined\r\n ) {\r\n Notification(\"errorClick\", \"please Fill Delivery Date\");\r\n return;\r\n }\r\n //return;\r\n\r\n setLoadingPost(true);\r\n var myHeaders = new Headers();\r\n myHeaders.append(\"Authorization\", `Bearer ${db.read().getState().Token}`);\r\n myHeaders.append(\"Content-Type\", \"application/json\");\r\n\r\n var raw = JSON.stringify(BidsInfo);\r\n\r\n var requestOptions = {\r\n method: \"Post\",\r\n headers: myHeaders,\r\n body: raw,\r\n redirect: \"follow\",\r\n };\r\n\r\n fetch(`${window.$apiurl}/tms/PostBidNew`, requestOptions)\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n const contentType = response.headers.get(\"content-type\");\r\n if (contentType && contentType.indexOf(\"application/json\") !== -1) {\r\n return response.json().then((data) => [statusCode, data]);\r\n } else {\r\n return response.text().then((text) => [statusCode, { Message: \"\" }]);\r\n }\r\n })\r\n .then((result) => {\r\n if (result[0] === 200) {\r\n Notification(\"success\", \"Bid has been Created successfully\");\r\n GetLoadBidsData();\r\n\r\n if (BidsInfo.IsTendered) {\r\n BidsStatuChange2(\r\n 2,\r\n true,\r\n BidsInfo.ShipmentId,\r\n BidsInfo.VendorId,\r\n BidsInfo.VendorName,\r\n BidsInfo.Amount\r\n );\r\n } else {\r\n setBidsInfo({\r\n ShipmentId: SO,\r\n VendorId: \"\",\r\n VendorName: \"\",\r\n SpecialReq: \"\",\r\n Amount: null,\r\n PickupAppointmentDate: null,\r\n DeliveryDate: null,\r\n IsTendered: false,\r\n });\r\n }\r\n\r\n setShowLoadBids(false);\r\n } else {\r\n if (\r\n result[1].ModelState !== null &&\r\n result[1].ModelState !== undefined &&\r\n result[1].ModelState !== \"\"\r\n ) {\r\n let modelState = result[1].ModelState;\r\n if (modelState)\r\n Object.keys(modelState).forEach(function(k) {\r\n modelState[k].forEach((element) => {\r\n Notification(\"errorClick\", element);\r\n });\r\n });\r\n } else if (\r\n result[1].Message !== null &&\r\n result[1].Message !== undefined &&\r\n result[1].Message !== \"\"\r\n ) {\r\n Notification(\"errorClick\", result[1].Message);\r\n } else {\r\n Notification(\"errorClick\", \"Bad Request\");\r\n }\r\n }\r\n setLoadingPost(false);\r\n })\r\n .catch((error) => {\r\n console.log(\"error\", error);\r\n });\r\n }\r\n //Tracking Section\r\n function handleSubmit() {\r\n if (\r\n document.getElementById(\"LocationCity\").value === \"\" ||\r\n document.getElementsByName(\"LocationState\")[0].value === \"\"\r\n ) {\r\n Notification(\"error\", \"State and City are required\");\r\n return;\r\n }\r\n if (document.getElementsByName(\"StatusCode\")[0].value === \"\") {\r\n Notification(\"error\", \"Trace Code is required\");\r\n return;\r\n }\r\n if (\r\n TrackingObject.EtaDate === null ||\r\n TrackingObject.EtaDate === undefined ||\r\n TrackingObject.EtaDate === \"\"\r\n ) {\r\n Notification(\"error\", \"EtaDate and time is required\");\r\n return;\r\n }\r\n setLoadingPost(true);\r\n const StatusCode = document.getElementsByName(\"StatusCode\")[0].value;\r\n\r\n var nextTracking = TrackingObject.NextTrackingDue;\r\n var _Note = TrackingObject.Note;\r\n\r\n var EtaDate = moment(TrackingObject.EtaDate).format(\"YYYY-MM-DD\");\r\n var EtaTime = moment(TrackingObject.EtaDate).format(\"HH:mm:ss\");\r\n const LocationCity = document.getElementById(\"LocationCity\").value;\r\n const LocationState = document.getElementsByName(\"LocationState\")[0].value;\r\n const LocationCountry = document.getElementsByName(\"Countrytracking\")[0]\r\n .value;\r\n const data = {\r\n ShipmentId: SO,\r\n StatusCode: StatusCode,\r\n TraceDate: null,\r\n TraceTime: null,\r\n EtaDate: EtaDate,\r\n EtaTime: EtaTime,\r\n LocationCity: LocationCity,\r\n LocationState: LocationState,\r\n LocationCountry: LocationCountry,\r\n NextTracking: nextTracking,\r\n Note: _Note,\r\n };\r\n var myHeaders = new Headers();\r\n myHeaders.append(\"Authorization\", `bearer ${db.read().getState().Token}`);\r\n myHeaders.append(\"Content-Type\", \"application/json\");\r\n myHeaders.append(\"X-FP-API-KEY\", \"iphone\");\r\n var raw = JSON.stringify(data);\r\n var requestOptions = {\r\n method: \"POST\",\r\n withCredentials: true,\r\n headers: myHeaders,\r\n body: raw,\r\n redirect: \"follow\",\r\n };\r\n fetch(`${window.$apiurl}/tracking`, requestOptions)\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n const contentType = response.headers.get(\"content-type\");\r\n if (contentType && contentType.indexOf(\"application/json\") !== -1) {\r\n return response.json().then((data) => [statusCode, data]);\r\n } else {\r\n return response.text().then((text) => [statusCode, { Message: \"\" }]);\r\n }\r\n })\r\n .then((result) => {\r\n if (result[0] === 200) {\r\n setLoadingPost(false);\r\n setShowTrace(false);\r\n Notification(\r\n \"success\",\r\n \"Trace Log Add Successfuly on Shipment ID \" + SO\r\n );\r\n //fetchClassificationsAsync();\r\n GetTrackingGridData();\r\n setTrackingObject({\r\n ShipmentId: 0,\r\n TraceCode: \"\",\r\n EtaDate: \"\",\r\n TimeZone: \"\",\r\n Country: \"\",\r\n City: \"\",\r\n State: \"\",\r\n NextTrackingDue:\r\n new Date().toISOString().substr(0, 10) +\r\n \"T\" +\r\n new Date(\r\n new Date().setTime(new Date().getTime() + 6 * 60 * 60 * 1000)\r\n )\r\n .getHours()\r\n .toString()\r\n .padStart(2, \"0\") +\r\n \":\" +\r\n (new Date(\r\n new Date().setTime(new Date().getTime() + 6 * 60 * 60 * 1000)\r\n ).getMinutes() > 30\r\n ? \"30\"\r\n : \"00\") +\r\n \":00\",\r\n Note: \"\",\r\n });\r\n } else {\r\n if (\r\n result[1].ModelState !== null &&\r\n result[1].ModelState !== undefined &&\r\n result[1].ModelState !== \"\"\r\n ) {\r\n let modelState = result[1].ModelState;\r\n if (modelState)\r\n Object.keys(modelState).forEach(function(k) {\r\n modelState[k].forEach((element) => {\r\n Notification(\"errorClick\", element);\r\n });\r\n });\r\n } else if (\r\n result[1].Message !== null &&\r\n result[1].Message !== undefined &&\r\n result[1].Message !== \"\"\r\n ) {\r\n Notification(\"errorClick\", result[1].Message);\r\n } else {\r\n Notification(\"errorClick\", \"Bad Request\");\r\n }\r\n setLoadingPost(false);\r\n }\r\n })\r\n .catch((error) => {\r\n setShowTrace(false);\r\n setLoadingPost(false);\r\n Notification(\"error\", error);\r\n });\r\n }\r\n //End Tracking Section\r\n async function GetTrackingStatus() {\r\n var myHeaders = new Headers();\r\n myHeaders.append(\"Authorization\", `bearer ${db.read().getState().Token}`);\r\n\r\n var requestOptions = {\r\n method: \"GET\",\r\n headers: myHeaders,\r\n redirect: \"follow\",\r\n };\r\n\r\n fetch(`${window.$apiurl}/tracking/statuses`, requestOptions)\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n if (res[0] === 200) {\r\n const a = res[1];\r\n setTrackingStatusOptions(a || []);\r\n }\r\n })\r\n .catch((error) => console.log(\"error\", error));\r\n }\r\n async function GetTrackingGridData() {\r\n setLoadingBidsStatus(true);\r\n return await fetch(window.$apiurl + `/Tms/tracking/${SO}`, {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n if (res[0] === 200) {\r\n const a = res[1];\r\n setTrackingDataGrid(a);\r\n setTrackingDataPoliLyne(a.Polyline || []);\r\n }\r\n setLoadingBidsStatus(false);\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n\r\n useEffect(() => {\r\n GetTrackingGridData();\r\n GetTrackingStatus();\r\n }, []);\r\n const renderMarkers = (map, maps) => {\r\n var data = TrackingDataPoliLyne.map((item) => {\r\n return {\r\n lat: Number(item.Lat),\r\n lng: Number(item.Lng),\r\n name: item.Address,\r\n Type: item.TraceType,\r\n };\r\n });\r\n const directionsService = new maps.DirectionsService();\r\n const directionsRenderer = new maps.DirectionsRenderer();\r\n\r\n calculateAndDisplayRoute(directionsService, directionsRenderer);\r\n\r\n function calculateAndDisplayRoute(directionsService, directionsRenderer) {\r\n window.gMap = map;\r\n for (var i = 0; i < data.length; i++) {\r\n if (data[i].Type === \"MANUAL\") {\r\n new maps.Marker({\r\n position: data[i],\r\n map: map,\r\n title: data[i].name,\r\n icon: {\r\n url: \"https://maps.google.com/mapfiles/ms/icons/orange-dot.png\",\r\n },\r\n });\r\n } else {\r\n new maps.Marker({\r\n position: data[i],\r\n map: map,\r\n title: data[i].name,\r\n icon: {\r\n url: \"https://maps.google.com/mapfiles/ms/icons/green-dot.png\",\r\n },\r\n });\r\n }\r\n }\r\n for (var j = 0, parts = [], max = 22 - 1; j < data.length; j = j + max) {\r\n parts.push(data.slice(j, j + max + 1));\r\n }\r\n\r\n for (var k = 0; k < parts.length; k++) {\r\n // Waypoints does not include first station (origin) and last station (destination)\r\n var waypoints = [];\r\n for (var l = 1; l < parts[k].length - 1; l++) {\r\n waypoints.push({ location: parts[k][l], stopover: false });\r\n }\r\n // Service options\r\n var service_options = {\r\n origin: parts[k][0],\r\n destination: data[data.length - 1],\r\n waypoints: waypoints,\r\n travelMode: \"DRIVING\",\r\n };\r\n // Send request\r\n directionsService.route(service_options, (response, status) => {\r\n if (String(status) !== \"OK\") {\r\n return;\r\n }\r\n if (!window.gRenderers) window.gRenderers = [];\r\n window.gRenderers.push(directionsRenderer);\r\n directionsRenderer.setMap(map);\r\n directionsRenderer.setOptions({\r\n suppressMarkers: true,\r\n preserveViewport: true,\r\n });\r\n directionsRenderer.setDirections(response);\r\n });\r\n }\r\n }\r\n directionsRenderer.setMap(map);\r\n };\r\n async function GetViewModelStops() {\r\n return await fetch(window.$apiurl + `/loadboard/GetViewModel`, {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n const a = res[1];\r\n\r\n const list2 = [];\r\n a?.Addresses.length > 0 &&\r\n a.Addresses.map((item) => {\r\n list2.push({\r\n value: item.Id,\r\n label: `${item.Code} - ${item.CompanyName}`,\r\n });\r\n return null;\r\n });\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n\r\n const [Stops, setStopsList] = useState([]);\r\n\r\n async function GetStops(SO) {\r\n return await fetch(window.$apiurl + `/loadboard/GetStops/` + SO, {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n const a = res[1];\r\n const stops = a?.Stops;\r\n stops.length > 0 &&\r\n stops.map((item, index) => {\r\n item.Index = index;\r\n return null;\r\n });\r\n setStopsList(stops || []);\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n async function GetStopsNewIntegration(SO, isLoaded) {\r\n return await fetch(window.$apiurl + `/ShipmentStop/GetStops/` + SO, {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n const a = res[1];\r\n const stops = a?.Stops;\r\n if (isLoaded) {\r\n setLoaderStops(false);\r\n }\r\n stops !== undefined &&\r\n stops !== null &&\r\n stops.length > 0 &&\r\n stops.forEach((item, index) => {\r\n item.Title = `${\r\n item?.Type === \"Pick\" ? \"Pickup\" : \"Drop\"\r\n } - Stop | Company Name : ${item.CompanyName}`;\r\n item.IsCollapsed = true;\r\n item.ClassName = item.Id;\r\n item.Position = index + 1;\r\n });\r\n if (stops?.length > 0) {\r\n const stopsAll = stops;\r\n stopsAll.push.apply(\r\n stopsAll,\r\n listMultiStopsShipping?.filter((x) => x.IsNew === true)\r\n );\r\n setMultiStopsDataShipping(stopsAll);\r\n } else {\r\n setMultiStopsDataShipping([]);\r\n }\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n const [loaderStops, setLoaderStops] = useState(false);\r\n useEffect(() => {\r\n if (loaderStops) {\r\n GetStopsNewIntegration(SO, true);\r\n }\r\n }, [loaderStops]);\r\n useEffect(() => {\r\n if (loaderSoStop) {\r\n GetSoData(SO, true);\r\n }\r\n }, [loaderSoStop]);\r\n //OSD\r\n const [shortQuantity, setShortQuantity] = useState(\"\");\r\n const [damagedQuantity, setDamagedQuantity] = useState(\"\");\r\n const [overQuantity, setOverQuantity] = useState(\"\");\r\n const [modalOsdEdit, showModalEditOsd] = useState(false);\r\n const [saveEditOsd, setSaveOsd] = useState(false);\r\n const [rowOsd, setRowOsd] = useState(null);\r\n async function PutOsd() {\r\n const someData = {\r\n OverQuantity: overQuantity ?? 0,\r\n ShortQuantity: shortQuantity ?? 0,\r\n DamagedQuantity: damagedQuantity ?? 0,\r\n };\r\n return fetch(window.$apiurl + \"/Shipments/Osd/\" + rowOsd?.Id, {\r\n method: \"put\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(someData),\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n window.$statusCodePut = statusCode;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n return res[1];\r\n })\r\n .catch((error) => {});\r\n }\r\n const columnsItems = [\r\n {\r\n dataField: \"Id\",\r\n text: \"Id\",\r\n sortCaret: sortCaret,\r\n headerSortingClasses,\r\n },\r\n {\r\n dataField: \"PurchaseOrder\",\r\n text: \"Purchase Order\",\r\n sortCaret: sortCaret,\r\n },\r\n {\r\n dataField: \"UnitOfMeasure\",\r\n text: \"Unit Of Measure\",\r\n sortCaret: sortCaret,\r\n },\r\n {\r\n dataField: \"Sku\",\r\n text: \"Sku\",\r\n sortCaret: sortCaret,\r\n },\r\n {\r\n dataField: \"Upc\",\r\n text: \"Upc\",\r\n sortCaret: sortCaret,\r\n },\r\n {\r\n dataField: \"Container\",\r\n text: \"Container\",\r\n sortCaret: sortCaret,\r\n },\r\n {\r\n dataField: \"Description\",\r\n text: \"Description\",\r\n sortCaret: sortCaret,\r\n },\r\n {\r\n dataField: \"Quantity\",\r\n text: \"Quantity\",\r\n sortCaret: sortCaret,\r\n },\r\n {\r\n dataField: \"Weight\",\r\n text: \"Weight\",\r\n sortCaret: sortCaret,\r\n formatter: (cell, row) => {\r\n return currencyFormat(row.Weight);\r\n },\r\n },\r\n {\r\n dataField: \"Cube\",\r\n text: \"Cube\",\r\n sortCaret: sortCaret,\r\n formatter: (cell, row) => {\r\n return currencyFormat(row.Cube);\r\n },\r\n },\r\n {\r\n dataField: \"IsHazmat\",\r\n text: \"IsHazmat\",\r\n sortCaret: sortCaret,\r\n formatter: (cell, row) => {\r\n return (\r\n row.IsHazmat && (\r\n <OverlayTrigger\r\n overlay={\r\n <Tooltip id=\"products-edit-tooltip\">Hazardous Material</Tooltip>\r\n }\r\n >\r\n <a\r\n href={() => false}\r\n className=\"btn btn-icon btn-light btn-hover-light btn-sm mr-2\"\r\n >\r\n <span className=\"svg-icon svg-icon-md svg-icon-danger\">\r\n <SVG\r\n src={toAbsoluteUrl(\r\n \"/media/svg/icons/Communication/296395.svg\"\r\n )}\r\n />\r\n </span>\r\n </a>\r\n </OverlayTrigger>\r\n )\r\n );\r\n },\r\n },\r\n {\r\n dataField: \"IsHot\",\r\n text: \"IsHot\",\r\n sortCaret: sortCaret,\r\n formatter: (cell, row) => {\r\n return (\r\n row.IsHot && (\r\n <OverlayTrigger\r\n overlay={<Tooltip id=\"products-edit-tooltip\">Hot</Tooltip>}\r\n >\r\n <a\r\n href={() => false}\r\n className=\"btn btn-icon btn-light btn-hover-light btn-sm mr-2\"\r\n >\r\n <span className=\"svg-icon svg-icon-md svg-icon-danger\">\r\n <SVG\r\n src={toAbsoluteUrl(\r\n \"/media/svg/icons/Communication/fire.svg\"\r\n )}\r\n />\r\n </span>\r\n </a>\r\n </OverlayTrigger>\r\n )\r\n );\r\n },\r\n },\r\n {\r\n dataField: \"DamagedQuantity\",\r\n text: \"DamagedQuantity\",\r\n sortCaret: sortCaret,\r\n },\r\n {\r\n dataField: \"CasePack\",\r\n text: \"CasePack\",\r\n sortCaret: sortCaret,\r\n },\r\n ];\r\n function calculateTotalItems(list, column) {\r\n try {\r\n let result = 0;\r\n if (list !== null && list !== undefined && list?.length > 0) {\r\n list.forEach((item) => {\r\n result += item[column];\r\n });\r\n }\r\n return currencyFormat(result);\r\n } catch (err) {\r\n console.log(err);\r\n }\r\n }\r\n const [dataItems, setDataItems] = useState([]);\r\n async function PostStop1(data) {\r\n return fetch(`${window.$apiurl}/loadboard/AddPickStop/` + SO, {\r\n method: \"POST\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(data),\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n await GetStops(SO);\r\n setStopsList(Stops);\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n var a = res;\r\n\r\n return a;\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n\r\n async function PostStop2(data) {\r\n return fetch(`${window.$apiurl}/loadboard/AddDelStop/` + SO, {\r\n method: \"POST\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(data),\r\n })\r\n .then(async (response) => {\r\n await GetStops(SO);\r\n setStopsList(Stops);\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n var a = res;\r\n return a;\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n function onlyUnique(value, index, self) {\r\n return self.indexOf(value) === index;\r\n }\r\n const [ShowInfo, setShowInfo] = useState({\r\n ShipmentId: null,\r\n EventName: \"\",\r\n Note: \"\",\r\n });\r\n function BidsStatuChange2(Type, value, Id, vendorId, vendorName, Amount) {\r\n setLoadingBidsStatus(true);\r\n var myHeaders2 = new Headers();\r\n myHeaders2.append(\"Authorization\", `bearer ${db.read().getState().Token}`);\r\n myHeaders2.append(\"Content-Type\", \"application/json\");\r\n\r\n var raw = JSON.stringify({\r\n Id: Id,\r\n Value: value,\r\n Type: Type,\r\n });\r\n\r\n var requestOptions2 = {\r\n method: \"POST\",\r\n headers: myHeaders2,\r\n body: raw,\r\n redirect: \"follow\",\r\n };\r\n\r\n fetch(`${window.$apiurl}/tms/BidStatus`, requestOptions2)\r\n .then((response) => response.text())\r\n .then(async (result) => {\r\n await GetLoadBidsData();\r\n await GetSoData(SO);\r\n setLoadingBidsStatus(false);\r\n if (Type === 2 && value === true) {\r\n var myHeaders = new Headers();\r\n myHeaders.append(\r\n \"Authorization\",\r\n `bearer ${db.read().getState().Token}`\r\n );\r\n\r\n var requestOptions = {\r\n method: \"GET\",\r\n headers: myHeaders,\r\n redirect: \"follow\",\r\n };\r\n\r\n fetch(\r\n `${window.$apiurl}/tms/getemail/${SO}?vendorId=${vendorId}`,\r\n requestOptions\r\n )\r\n .then((response) => response.text())\r\n .then((result) => {\r\n let dataemail = JSON.parse(result);\r\n setEmailAddressList(dataemail?.Emails || []);\r\n setSubjectData(\r\n `Mitco Carrier Offer: SO # ${SO} – ${dataemail?.Shipment?.FromCity}/${dataemail?.Shipment?.FromState} to ${dataemail?.Shipment?.ToCity}/${dataemail?.Shipment?.ToState}`\r\n );\r\n setBodyData(\r\n `<p>Hello ${vendorName},</p><p>Please see below load request and reply back confirming acceptance or rejection, thank you!</p><p> </p><p><strong>Shipper</strong>: ${\r\n dataemail?.Shipment?.FromCity !== null\r\n ? dataemail?.Shipment?.FromCity\r\n : \"\"\r\n }/${\r\n dataemail?.Shipment?.FromState !== null\r\n ? dataemail?.Shipment?.FromState\r\n : \"\"\r\n }</p><p><strong>Receiver</strong>: ${\r\n dataemail?.Shipment?.ToCity !== null\r\n ? dataemail?.Shipment?.ToCity\r\n : \"\"\r\n }/${\r\n dataemail?.Shipment?.ToState !== null\r\n ? dataemail?.Shipment?.ToState\r\n : \"\"\r\n }</p><p><strong>Ship Date Range</strong>: ${\r\n dataemail?.Shipment?.ShipmentDate !== null\r\n ? moment(dataemail?.Shipment?.ShipmentDate).format(\r\n \"YYYY-MM-DD\"\r\n )\r\n : \"\"\r\n } to ${\r\n dataemail?.Shipment?.ReqShipDate !== null\r\n ? moment(dataemail?.Shipment?.ReqShipDate).format(\r\n \"YYYY-MM-DD\"\r\n )\r\n : \"\"\r\n }</p><p><strong>MABD</strong>: ${\r\n dataemail?.Shipment?.MustArriveByDate !== null\r\n ? moment(dataemail?.Shipment?.MustArriveByDate).format(\r\n \"YYYY-MM-DD\"\r\n )\r\n : \"\"\r\n }</p><p><strong>Commodity</strong>: ${\r\n dataemail?.Shipment?.Commodities !== undefined &&\r\n dataemail?.Shipment?.Commodities !== null\r\n ? dataemail?.Shipment?.Commodities?.join(\", \")\r\n : \"\"\r\n }</p><p><strong>Pallets</strong>: ${\r\n dataemail?.Shipment?.Pallets !== null\r\n ? dataemail?.Shipment?.Pallets\r\n : \"\"\r\n }</p><p><strong>Pieces</strong>: ${\r\n dataemail?.Shipment?.Pieces !== null\r\n ? dataemail?.Shipment?.Pieces\r\n : \"\"\r\n }</p><p><strong>Weight</strong>: ${\r\n dataemail?.Shipment?.Weight !== null\r\n ? dataemail?.Shipment?.Weight\r\n : \"\"\r\n }</p><p><strong>Special Requirements</strong>: [${\r\n dataemail?.Shipment?.SpecialReq !== null\r\n ? dataemail?.Shipment?.SpecialReq\r\n : \"\"\r\n }]</p><p> </p><p><strong>Requested Rate</strong>: ${Amount}</p><p> </p><p>Thank you!</p>`\r\n );\r\n setshowModalSend(true);\r\n })\r\n .catch((error) => console.log(\"error\", error));\r\n }\r\n })\r\n .catch((error) => console.log(\"error\", error));\r\n }\r\n function BidsStatuChange(Type, value, Id, vendorId) {\r\n setLoadingBidsStatus(true);\r\n var myHeaders2 = new Headers();\r\n myHeaders2.append(\"Authorization\", `bearer ${db.read().getState().Token}`);\r\n myHeaders2.append(\"Content-Type\", \"application/json\");\r\n\r\n var raw = JSON.stringify({\r\n Id: Id,\r\n Value: value,\r\n Type: Type,\r\n });\r\n\r\n var requestOptions2 = {\r\n method: \"POST\",\r\n headers: myHeaders2,\r\n body: raw,\r\n redirect: \"follow\",\r\n };\r\n\r\n fetch(`${window.$apiurl}/tms/BidStatus`, requestOptions2)\r\n .then((response) => response.text())\r\n .then(async (result) => {\r\n await GetLoadBidsData();\r\n await GetSoData(SO);\r\n setLoadingBidsStatus(false);\r\n if (Type === 2 && value === true) {\r\n var myHeaders = new Headers();\r\n myHeaders.append(\r\n \"Authorization\",\r\n `bearer ${db.read().getState().Token}`\r\n );\r\n\r\n var requestOptions = {\r\n method: \"GET\",\r\n headers: myHeaders,\r\n redirect: \"follow\",\r\n };\r\n\r\n fetch(\r\n `${window.$apiurl}/tms/getemail/${SO}?vendorId=${vendorId}`,\r\n requestOptions\r\n )\r\n .then((response) => response.text())\r\n .then((result) => {\r\n let dataemail = JSON.parse(result);\r\n setEmailAddressList(dataemail?.Emails || []);\r\n setSubjectData(\r\n `Mitco Carrier Offer: SO # ${SO} – ${dataemail?.Shipment?.FromCity}/${dataemail?.Shipment?.FromState} to ${dataemail?.Shipment?.ToCity}/${dataemail?.Shipment?.ToState}`\r\n );\r\n setBodyData(\r\n `<p>Hello ${\r\n DataListBids.find((a) => a.Id === Id).Carrier\r\n },</p><p>Please see below load request and reply back confirming acceptance or rejection, thank you!</p><p> </p><p><strong>Shipper</strong>: ${\r\n dataemail?.Shipment?.FromCity !== null\r\n ? dataemail?.Shipment?.FromCity\r\n : \"\"\r\n }/${\r\n dataemail?.Shipment?.FromState !== null\r\n ? dataemail?.Shipment?.FromState\r\n : \"\"\r\n }</p><p><strong>Receiver</strong>: ${\r\n dataemail?.Shipment?.ToCity !== null\r\n ? dataemail?.Shipment?.ToCity\r\n : \"\"\r\n }/${\r\n dataemail?.Shipment?.ToState !== null\r\n ? dataemail?.Shipment?.ToState\r\n : \"\"\r\n }</p><p><strong>Ship Date Range</strong>: ${\r\n dataemail?.Shipment?.ShipmentDate !== null\r\n ? moment(dataemail?.Shipment?.ShipmentDate).format(\r\n \"YYYY-MM-DD\"\r\n )\r\n : \"\"\r\n } to ${\r\n dataemail?.Shipment?.ReqShipDate !== null\r\n ? moment(dataemail?.Shipment?.ReqShipDate).format(\r\n \"YYYY-MM-DD\"\r\n )\r\n : \"\"\r\n }</p><p><strong>MABD</strong>: ${\r\n dataemail?.Shipment?.MustArriveByDate !== null\r\n ? moment(dataemail?.Shipment?.MustArriveByDate).format(\r\n \"YYYY-MM-DD\"\r\n )\r\n : \"\"\r\n }</p><p><strong>Commodity</strong>: ${\r\n dataemail?.Shipment?.Commodities !== undefined &&\r\n dataemail?.Shipment?.Commodities !== null\r\n ? dataemail?.Shipment?.Commodities?.join(\", \")\r\n : \"\"\r\n }</p><p><strong>Pallets</strong>: ${\r\n dataemail?.Shipment?.Pallets !== null\r\n ? dataemail?.Shipment?.Pallets\r\n : \"\"\r\n }</p><p><strong>Pieces</strong>: ${\r\n dataemail?.Shipment?.Pieces !== null\r\n ? dataemail?.Shipment?.Pieces\r\n : \"\"\r\n }</p><p><strong>Weight</strong>: ${\r\n dataemail?.Shipment?.Weight !== null\r\n ? dataemail?.Shipment?.Weight\r\n : \"\"\r\n }</p><p><strong>Special Requirements</strong>: [${\r\n dataemail?.Shipment?.SpecialReq !== null\r\n ? dataemail?.Shipment?.SpecialReq\r\n : \"\"\r\n }]</p><p> </p><p><strong>Requested Rate</strong>: ${\r\n DataListBids.find((a) => a.Id === Id).BidAmount\r\n }</p><p> </p><p>Thank you!</p>`\r\n );\r\n setshowModalSend(true);\r\n })\r\n .catch((error) => console.log(\"error\", error));\r\n }\r\n })\r\n .catch((error) => console.log(\"error\", error));\r\n }\r\n async function SendBidsNotification() {\r\n if (ToData === null) {\r\n Notification(\"error\", \"Please fill email Info\");\r\n return;\r\n }\r\n // server request for deleting product by id\r\n setisLoadingSend(true);\r\n var data = {};\r\n if (window.SendDispatchShipmentsList !== undefined) {\r\n data = {\r\n Ids: window.SendDispatchShipmentsList?.map(function(item) {\r\n return item.id;\r\n }),\r\n Emails: ToData,\r\n Subject: SubjectData,\r\n Body: BodyData,\r\n IncludeCc: includCCData,\r\n Attachments: AttachmentData,\r\n Bol: false,\r\n OutboundDispatch: false,\r\n ShipmentManifest: false,\r\n };\r\n } else {\r\n data = {\r\n Emails: ToData,\r\n Subject: SubjectData,\r\n Body: BodyData,\r\n IncludeCc: includCCData,\r\n Attachments: AttachmentData,\r\n Bol: false,\r\n OutboundDispatch: false,\r\n ShipmentManifest: false,\r\n };\r\n }\r\n\r\n var raw = JSON.stringify(data);\r\n var requestOptions = {\r\n method: \"POST\",\r\n body: raw,\r\n redirect: \"follow\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n };\r\n var url = \"\";\r\n if (window.SendDispatchShipmentsList !== undefined) {\r\n url = \"/shipmentsmanagement/sendMultiEmail\";\r\n } else {\r\n url = `/shipments/sendEmail/` + SO;\r\n }\r\n let response = await fetch(`${window.$apiurl}${url}`, requestOptions);\r\n if (response.status === 200) {\r\n Notification(\"success\", \"Email sent successfuly for Shipment ID \" + SO);\r\n setToData(null);\r\n setToDataDefeault(null);\r\n setSubjectData(null);\r\n setBodyData(\"\");\r\n setincludCCData(false);\r\n setAttachmentData([]);\r\n } else {\r\n Notification(\"error\", \"invalid data\");\r\n }\r\n setBidsInfo({\r\n ShipmentId: SO,\r\n VendorId: \"\",\r\n VendorName: \"\",\r\n SpecialReq: \"\",\r\n Amount: null,\r\n PickupAppointmentDate: null,\r\n DeliveryDate: null,\r\n IsTendered: false,\r\n });\r\n setisLoadingSend(false);\r\n setshowModalSend(false);\r\n }\r\n const [BidsInfo, setBidsInfo] = useState({\r\n ShipmentId: SO,\r\n VendorId: \"\",\r\n VendorName: \"\",\r\n SpecialReq: \"\",\r\n Amount: null,\r\n PickupAppointmentDate: null,\r\n DeliveryDate: null,\r\n IsTendered: false,\r\n });\r\n const classes = useStyles();\r\n const [modalDeleteTracking, setModalTrackingDelete] = useState(false);\r\n const [rowItem, setRowItem] = useState(null);\r\n async function DeleteTracking(id) {\r\n return await fetch(`${window.$apiurl}/tracking/${id}`, {\r\n method: \"delete\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n return response;\r\n })\r\n .then(async (res) => {\r\n Notification(\"success\", \"Success\");\r\n await GetTrackingGridData();\r\n setModalTrackingDelete(false);\r\n return res;\r\n })\r\n .catch((err) => {\r\n return err;\r\n });\r\n }\r\n const columns = [\r\n {\r\n dataField: \"LocationCity\",\r\n text: \"Location\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n headerAlign: 'center',\r\n formatter: (cell, row) => {\r\n return row.LocationCity !== null\r\n ? row.LocationCity + \", \" + row.LocationState\r\n : \"\";\r\n },\r\n },\r\n {\r\n dataField: \"CreatedBy\",\r\n text: \"Entred By\",\r\n sort: true,\r\n headerAlign: 'center',\r\n headerSortingClasses,\r\n },\r\n {\r\n dataField: \"LeftOver\",\r\n text: \"LeftOver Miles\",\r\n headerAlign: 'center',\r\n sort: true,\r\n sortCaret: sortCaret,\r\n },\r\n {\r\n dataField: \"EventName\",\r\n text: \"Current Status\",\r\n headerAlign: 'center',\r\n sort: true,\r\n sortCaret: sortCaret,\r\n },\r\n {\r\n text: \"ETA\",\r\n dataField: \"EtaDate\",\r\n headerAlign: 'center',\r\n sort: true,\r\n sortCaret: sortCaret,\r\n formatter: (cell, row) => {\r\n return row.EtaDate !== null && row.EtaDate !== undefined\r\n ? moment(row.EtaDate).format(\"MM/DD/YYYY, hh:mm A\")\r\n : \"\";\r\n },\r\n },\r\n {\r\n dataField: \"Dates\",\r\n text: \"Dates\",\r\n headerAlign: 'center',\r\n sort: true,\r\n sortCaret: sortCaret,\r\n formatter: (cell, row) => {\r\n return row.TraceDate !== null && row.TraceDate !== undefined\r\n ? moment(row.TraceDate).format(\"MM-DD-YYYY\")\r\n : \"\";\r\n },\r\n },\r\n {\r\n dataField: \"TraceDate\",\r\n text: \"Time\",\r\n sort: true,\r\n headerAlign: 'center',\r\n sortCaret: sortCaret,\r\n formatter: (cell, row) => {\r\n return row.TraceDate !== null && row.TraceDate !== undefined\r\n ? moment(row.TraceDate).format(\"hh:mm A\")\r\n : \"\";\r\n },\r\n },\r\n {\r\n dataField: \"Note\",\r\n text: \"Note\",\r\n sort: true,\r\n headerAlign: 'center',\r\n sortCaret: sortCaret,\r\n },\r\n {\r\n dataField: \"Actions\",\r\n text: \"Actions\",\r\n sort: true,\r\n headerAlign: 'center',\r\n sortCaret: sortCaret,\r\n formatter: (cell, row) => {\r\n return (\r\n <button\r\n className=\"btn btn-light-danger\"\r\n onClick={() => {\r\n setRowItemTracking(row);\r\n setModalTrackingDelete(true);\r\n }}\r\n >\r\n <i className=\"fas fa-trash\"></i>\r\n </button>\r\n );\r\n },\r\n },\r\n ];\r\n const Bidscolumns = [\r\n {\r\n dataField: \"Id\",\r\n text: \"Id\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n },\r\n {\r\n dataField: \"Carrier\",\r\n text: \"Carrier\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n },\r\n {\r\n dataField: \"AddedBy\",\r\n text: \"Added By\",\r\n sort: true,\r\n headerSortingClasses,\r\n },\r\n {\r\n dataField: \"PickupAppointmentDate\",\r\n text: \"PU Date\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n formatter: (cell, row) => {\r\n return row.PickupAppointmentDate !== null &&\r\n row.PickupAppointmentDate !== undefined\r\n ? moment(row.PickupAppointmentDate).format(\"MM-DD-YYYY\")\r\n : \"\";\r\n },\r\n },\r\n {\r\n dataField: \"DeliveryDate\",\r\n text: \"DEL Date\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n formatter: (cell, row) => {\r\n return row.DeliveryDate !== null && row.DeliveryDate !== undefined\r\n ? moment(row.DeliveryDate).format(\"MM-DD-YYYY\")\r\n : \"\";\r\n },\r\n },\r\n {\r\n dataField: \"BidAmount\",\r\n text: \"Rate\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n },\r\n {\r\n dataField: \"SpecialReq\",\r\n text: \"Spec. Req.\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n },\r\n {\r\n dataField: \"IsAccepted\",\r\n text: \"Accepted\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n formatter: (cell, row, iggndex, dscdcdsc) => {\r\n return (\r\n <CheckboxLargeWB\r\n className=\"font-size-md\"\r\n checked={row.IsAccepted}\r\n disabled={row.IsClosed}\r\n color=\"info\"\r\n onChange={() => {\r\n if (!row.IsClosed) {\r\n let IsAccepted = !row.IsAccepted;\r\n BidsStatuChange(1, IsAccepted, row.Id, row.VendorId);\r\n }\r\n }}\r\n />\r\n );\r\n },\r\n },\r\n {\r\n dataField: \"IsTendered\",\r\n text: \"Offer\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n formatter: (cell, row) => {\r\n return (\r\n <CheckboxLargeWB\r\n className=\"font-size-md\"\r\n checked={row.IsTendered}\r\n disabled={row.IsClosed}\r\n color=\"info\"\r\n isTms={true}\r\n onChange={() => {\r\n if (!row.IsClosed) {\r\n let IsTendered = !row.IsTendered;\r\n BidsStatuChange(2, IsTendered, row.Id, row.VendorId);\r\n }\r\n }}\r\n />\r\n );\r\n },\r\n },\r\n {\r\n dataField: \"IsBooked\",\r\n text: \"Book\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n formatter: (cell, row, index) => {\r\n return (\r\n <CheckboxLargeWB\r\n className=\"font-size-md\"\r\n checked={row.IsBooked}\r\n disabled={row.IsClosed}\r\n color=\"info\"\r\n isTms={true}\r\n onChange={() => {\r\n setShowLoadBidsModal(false);\r\n if (!row.IsClosed) {\r\n let IsBooked = !row.IsBooked;\r\n BidsStatuChange(3, IsBooked, row.Id, row.VendorId);\r\n }\r\n }}\r\n />\r\n );\r\n },\r\n },\r\n {\r\n dataField: \"IsClosed\",\r\n text: \"Closed\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n formatter: (cell, row, index) => {\r\n return (\r\n <CheckboxLargeWB\r\n className=\"font-size-md\"\r\n checked={row.IsClosed}\r\n color=\"info\"\r\n isTms={true}\r\n onChange={() => {\r\n let IsClosed = !row.IsClosed;\r\n BidsStatuChange(4, IsClosed, row.Id, row.VendorId);\r\n }}\r\n />\r\n );\r\n },\r\n },\r\n ];\r\n\r\n const [ShowTrace, setShowTrace] = useState();\r\n const [ShowLoadBids, setShowLoadBids] = useState();\r\n const [ShowAlert, setShowAlert] = useState();\r\n const [isNewAlert, setIsNewAlert] = useState(false); // SHIPPING\r\n const [ShowMapView, setShowMapView] = useState(false); // SHIPPINGsetShowLoadBids\r\n const [ShowStop, setShowStop] = useState(false); // SHIPPING\r\n const [ShowStop2, setShowStop2] = useState(false); // RECEIVING\r\n const [isLinearProgress, setIsLinearProgress] = useState(false);\r\n const [AttachmentTypes, setAttachmentTypes] = useState([]);\r\n const [AccessLevels, setAccessLevels] = useState([]);\r\n const [IsShipperSelected, setIsShipperSelected] = useState(false);\r\n const [Country, setCountry] = useState([]);\r\n const [states, setStates] = useState([]);\r\n const [countryIdFetch, setCountryValue] = useState({\r\n value: \"US\",\r\n label: \"United States\",\r\n });\r\n const [stateId, setStateId] = React.useState({\r\n value: \"\",\r\n label: \"Select\",\r\n });\r\n const [AddressObjectPost, setAddressObjectPost] = useState({\r\n Name: \"\",\r\n Address: \"\",\r\n City: \"\",\r\n State: \"\",\r\n PostalCode: \"\",\r\n CountryId: \"US\",\r\n Phone: \"\",\r\n Fax: \"\",\r\n Note: \"\",\r\n AddressTypeId: null,\r\n IsActive: true,\r\n Charges: [],\r\n ContactName: \"\",\r\n Email: \"\",\r\n CustomerId: null,\r\n });\r\n function GetAttachmentsViewModel() {\r\n fetch(window.$apiurl + `/api/shipmentviewmodel`, {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n setAttachmentTypes(res[1]?.AttachmentTypes || []);\r\n setAccessLevels(res[1]?.AccessLevels || []);\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n const fetchViewModelAsync = async () => {\r\n try {\r\n const result = await axios.get(\"api/ManageAddress/GetAllApi\");\r\n setCountry(result.data[\"Countries\"] || []);\r\n } catch (e) {}\r\n };\r\n useEffect(() => {\r\n fetchViewModelAsync();\r\n GetAttachmentsViewModel();\r\n }, []);\r\n const [itemsTms, setItemsTms] = React.useState([\r\n {\r\n Id: null,\r\n FlatbedTypeId: null,\r\n FlatbedType: null,\r\n FlatbedRequired: null,\r\n PackagingGroupId: null,\r\n Packaging: null,\r\n SpaceReq: \"\",\r\n UnitCount: 1,\r\n CubeType: \"CBM\",\r\n Cube: 1,\r\n WeightType: \"LBS\",\r\n PurchaseOrder: \"\",\r\n UnitValue: \"in/lbs\",\r\n IsPost: false,\r\n IsEditMode: false,\r\n Pieces: 1,\r\n UnitOfMeasureId: 4,\r\n WeightMode: \"each\",\r\n WeightModeValue: { value: \"each\", label: \"each\" },\r\n Weight: \"1\",\r\n Length: \"\",\r\n Height: \"\",\r\n Width: \"\",\r\n FreightClass: \"\",\r\n FreightClassValue: { value: \"\", label: \"Select\" },\r\n Nmfc: \"\",\r\n Quantity: 0,\r\n IsHazardousMateriel: false,\r\n StopId: null,\r\n PalletTypeId: null,\r\n DeliveryStopId: null,\r\n StopValue: { value: \"\", label: \"Select\" },\r\n StopValueDelivery: { value: \"\", label: \"Select\" },\r\n UnitOfMeasureValue: { value: 4, label: \"Pallet\" },\r\n ShipmentId: SO,\r\n },\r\n ]);\r\n function addClick() {\r\n setItemsTms((prevState) => [\r\n ...prevState,\r\n {\r\n UnitCount: 1,\r\n CubeType: \"CBM\",\r\n PurchaseOrder: \"\",\r\n Cube: 1,\r\n WeightType: \"LBS\",\r\n IsPost: true,\r\n IsEditMode: false,\r\n UnitValue: \"in/lbs\",\r\n Pieces: 1,\r\n UnitOfMeasureId: 4,\r\n FlatbedRequired: null,\r\n FlatbedTypeId: null,\r\n FlatbedType: null,\r\n TempControl: null,\r\n PackagingGroupId: null,\r\n Packaging: null,\r\n TempMax: null,\r\n TempMin: null,\r\n ShipmentId: statSHipmentId,\r\n WeightMode: \"each\",\r\n WeightModeValue: { value: \"each\", label: \"each\" },\r\n Weight: \"1\",\r\n Length: \"\",\r\n Height: \"\",\r\n Width: \"\",\r\n FreightClass: \"\",\r\n FreightClassValue: { value: \"\", label: \"Select\" },\r\n Nmfc: \"\",\r\n IsHazardousMateriel: false,\r\n StopId: null,\r\n PalletTypeId: null,\r\n DeliveryStopId: null,\r\n StopValue: { value: \"\", label: \"Select\" },\r\n StopValueDelivery: { value: \"\", label: \"Select\" },\r\n UnitOfMeasureValue: { value: 4, label: \"Pallet\" },\r\n },\r\n ]);\r\n }\r\n function removeClick(i) {\r\n let data = [...itemsTms];\r\n data.splice(i, 1);\r\n setItemsTms(data);\r\n }\r\n async function PostItemTms(data) {\r\n if (\r\n data.SpaceReq === null ||\r\n data.SpaceReq === undefined ||\r\n data.SpaceReq === \"\"\r\n ) {\r\n Notification(\"errorClick\", \"Space Req is required\");\r\n return false;\r\n }\r\n if (\r\n data.Commodity === null ||\r\n data.Commodity === undefined ||\r\n data.Commodity === \"\"\r\n ) {\r\n Notification(\"errorClick\", \"Commodity is required\");\r\n return false;\r\n }\r\n if (\r\n data.Weight === null ||\r\n data.Weight === undefined ||\r\n data.Weight === \"\"\r\n ) {\r\n Notification(\"errorClick\", \"Weight is required\");\r\n return false;\r\n }\r\n if (\r\n data.HandlingAmount === null ||\r\n data.HandlingAmount === undefined ||\r\n data.HandlingAmount === \"\"\r\n ) {\r\n Notification(\"errorClick\", \"Handling Amount is required\");\r\n return false;\r\n }\r\n if (\r\n data.PackagingGroupId === null ||\r\n data.PackagingGroupId === undefined ||\r\n data.PackagingGroupId === \"\"\r\n ) {\r\n Notification(\"errorClick\", \"Packaging is required\");\r\n return false;\r\n }\r\n\r\n return fetch(window.$apiurl + `/tms/items`, {\r\n method: \"post\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(data),\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then(async (res) => {\r\n Notification(\"success\", `Item has been added successfully`);\r\n return res;\r\n })\r\n .catch((error) => {});\r\n }\r\n const [EmailAddressList, setEmailAddressList] = useState([]);\r\n const [ToDataDefeault, setToDataDefeault] = useState([]);\r\n const [ToData, setToData] = useState(null);\r\n const [includCCData, setincludCCData] = useState(false);\r\n const [SubjectData, setSubjectData] = useState(null);\r\n const [BodyData, setBodyData] = useState(\"\");\r\n const [AttachmentData, setAttachmentData] = useState([]);\r\n const [isLoadingSend, setisLoadingSend] = useState(false);\r\n\r\n const [LoadingPost, setLoadingPost] = useState(false);\r\n const [showModalSend, setshowModalSend] = useState(false);\r\n const handleCountryChange = async (event) => {\r\n setStates([]);\r\n if (event !== \"\" && event !== null) {\r\n const result = await axios.get(`api/companyinfo/getstates/${event}`);\r\n if (result.status === 200) {\r\n if (result.data.length > 0) {\r\n const states = [];\r\n window.$StatesAddress = result.data;\r\n result.data.length > 0 &&\r\n result.data.map((item) => {\r\n states.push({ value: item.Id, label: item.Name });\r\n return null;\r\n });\r\n setStates(states);\r\n } else {\r\n Notification(\"warning\", \"This Country doesn't have any state.\");\r\n }\r\n }\r\n }\r\n };\r\n\r\n async function GetItemsTms(id) {\r\n return await fetch(window.$apiurl + `/tms/items/${id}`, {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n const a = res[1];\r\n const items = a?.Items;\r\n items?.length > 0 &&\r\n items.map((item) => {\r\n item.UnitCount = item.Quantity;\r\n item.FreightClassValue = {\r\n value: item.Class === \"\" ? \"\" : item.Class,\r\n label: item.Class === \"\" ? \"Select\" : item.Class,\r\n };\r\n item.WeightModeValue = {\r\n value: item.WeightMode === \"\" ? \"each\" : item.WeightMode,\r\n label: item.WeightMode === \"\" ? \"each\" : item.WeightMode,\r\n };\r\n item.FreightClass = item.Class;\r\n item.StopValue = { value: item.StopId, label: item.Stop };\r\n item.StopValueDelivery = {\r\n value: item.DeliveryStopId,\r\n label: item.DeliveryStop,\r\n };\r\n item.UnitOfMeasureValue = {\r\n value: item.UnitOfMeasure,\r\n label: item.UnitOfMeasure,\r\n };\r\n item.UnitValue = \"in/lbs\";\r\n item.CubeType = \"CBM\";\r\n item.WeightType = item.WeightType;\r\n item.UnitOfMeasureId = item.UnitOfMeasureId || 4;\r\n item.Pieces = 1;\r\n item.ShipmentId = statSHipmentId;\r\n item.IsHazardousMateriel = item.IsHazmat;\r\n return null;\r\n });\r\n setItemsTms(items || []);\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n async function PutItemTms(id, data) {\r\n return fetch(window.$apiurl + `/tms/items/${id}`, {\r\n method: \"put\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(data),\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n return res;\r\n })\r\n .catch((error) => {});\r\n }\r\n async function DeleteItemTms(id) {\r\n return fetch(window.$apiurl + `/tms/items/${id}`, {\r\n method: \"delete\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n return res;\r\n })\r\n .catch((error) => {});\r\n }\r\n async function ClassCalculatorFunctionFetch(\r\n length,\r\n width,\r\n height,\r\n weight,\r\n index\r\n ) {\r\n return await fetch(\r\n window.$apiurl +\r\n `/FreightClass/CalculateClass?length=${length}&width=${width}&height=${height}&weight=${weight}\r\n &isMeter=false`,\r\n {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n }\r\n )\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n const a = res[1];\r\n let values = [...itemsTms];\r\n if (a) {\r\n try {\r\n values[index].FreightClass = a?.Result;\r\n values[index].FreightClassValue = {\r\n value: a?.Result,\r\n label: a?.Result,\r\n };\r\n } catch (err) {}\r\n } else {\r\n values[index].FreightClass = 0;\r\n values[index].FreightClassValue = {\r\n value: 0,\r\n label: 0,\r\n };\r\n }\r\n setItemsTms(values);\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n\r\n function ItemsTmsComponent(values) {\r\n return (\r\n itemsTms?.length > 0 &&\r\n itemsTms.map((el, i) => (\r\n <div className=\"card mt-md-9 bg-light\" key={i}>\r\n <div className=\"card-body\">\r\n <div className=\"row\">\r\n <div className=\"col\">\r\n <div className=\"row\">\r\n <div className=\"col-lg-6\">\r\n <span\r\n class=\"SoCommodity label label-info label-inline mr-2 mb-3 p-4\"\r\n style={{ fontSize: \"14px\" }}\r\n >\r\n {el?.IsPost ? \"New Item\" : `Item #: ${el?.Id}`}\r\n </span>\r\n </div>\r\n <div className=\"col-lg-6\" style={{ textAlignLast: \"right\" }}>\r\n <button\r\n onClick={async () => {\r\n if (el?.Id) {\r\n await DeleteItemTms(el?.Id);\r\n await GetItemsTms(SO);\r\n } else {\r\n removeClick(i);\r\n }\r\n Notification(\"success\", \"Success\");\r\n }}\r\n type=\"button\"\r\n class=\"btn btn-light-danger mr-2\"\r\n >\r\n <i\r\n class=\"fas fa-times fa-sm\"\r\n style={{ paddingRight: \"initial\" }}\r\n ></i>\r\n </button>\r\n </div>\r\n </div>\r\n\r\n <div className=\"p-2\">\r\n {/* First Row */}\r\n <div className=\"form-group row\">\r\n <div className=\"col-lg-3\">\r\n <label>\r\n PO# <span className=\"text-danger\">*</span>\r\n </label>\r\n <input\r\n component={Input}\r\n placeholder=\"PO#\"\r\n className=\"form-control\"\r\n value={el?.PurchaseOrder}\r\n onChange={(e) => {\r\n try {\r\n let values = [...itemsTms];\r\n values[i].PurchaseOrder = e.target.value;\r\n values[i].IsEditMode = true;\r\n setItemsTms(values);\r\n } catch (err) {}\r\n }}\r\n type=\"text\"\r\n name=\"PurchaseOrder\"\r\n />\r\n </div>\r\n {el?.IsPost === true ? (\r\n <div className=\"col-lg-3\">\r\n <label>Packaging</label>\r\n <span className=\"text-danger\">*</span>\r\n <Select\r\n name=\"PackagingGroupId\"\r\n onChange={(e) => {\r\n try {\r\n let values = [...itemsTms];\r\n values[i].PackagingGroupId = e.value;\r\n values[i].IsEditMode = true;\r\n setItemsTms(values);\r\n } catch (err) {}\r\n }}\r\n options={ViewModelOptions?.PackagingGroups?.map(\r\n (x) => {\r\n return {\r\n value: x?.Id,\r\n label: x?.Name,\r\n };\r\n }\r\n )}\r\n />\r\n </div>\r\n ) : (\r\n <div className=\"col-lg-3\">\r\n <label>Packaging</label>\r\n <span className=\"text-danger\">*</span>\r\n <Select\r\n name=\"PackagingGroupId\"\r\n value={ViewModelOptions?.PackagingGroups?.filter(\r\n (a) => a.Id === el?.PackagingGroupId\r\n ).map((x) => {\r\n return {\r\n value: x?.Id,\r\n label: x?.Name,\r\n };\r\n })}\r\n onChange={(e) => {\r\n try {\r\n let values = [...itemsTms];\r\n values[i].PackagingGroupId = e.value;\r\n values[i].IsEditMode = true;\r\n setItemsTms(values);\r\n } catch (err) {}\r\n }}\r\n options={ViewModelOptions?.PackagingGroups?.map(\r\n (x) => {\r\n return {\r\n value: x?.Id,\r\n label: x?.Name,\r\n };\r\n }\r\n )}\r\n />\r\n </div>\r\n )}\r\n {el?.IsPost === true ? (\r\n <div className=\"col-lg-3\">\r\n <label>Pallet Types</label>{\" \"}\r\n <span className=\"text-danger\">*</span>\r\n <Select\r\n name=\"PalletTypeId\"\r\n onChange={(e) => {\r\n try {\r\n let values = [...itemsTms];\r\n values[i].PalletTypeId = e.value;\r\n values[i].IsEditMode = true;\r\n setItemsTms(values);\r\n } catch (err) {}\r\n }}\r\n options={ViewModelOptions?.PalletTypes?.map((x) => {\r\n return {\r\n value: x?.Id,\r\n label: x?.Name,\r\n };\r\n })}\r\n />\r\n </div>\r\n ) : (\r\n <div className=\"col-lg-3\">\r\n <label>Pallet Types</label>{\" \"}\r\n <span className=\"text-danger\">*</span>\r\n <Select\r\n name=\"PackagingGroupId\"\r\n value={ViewModelOptions?.PalletTypes?.filter(\r\n (a) => a.Id === el?.PalletTypeId\r\n ).map((x) => {\r\n return {\r\n value: x?.Id,\r\n label: x?.Name,\r\n };\r\n })}\r\n onChange={(e) => {\r\n try {\r\n let values = [...itemsTms];\r\n values[i].PalletTypeId = e.value;\r\n values[i].IsEditMode = true;\r\n setItemsTms(values);\r\n } catch (err) {}\r\n }}\r\n options={ViewModelOptions?.PalletTypes?.map((x) => {\r\n return {\r\n value: x?.Id,\r\n label: x?.Name,\r\n };\r\n })}\r\n />\r\n </div>\r\n )}\r\n <div className=\"col-lg-3\">\r\n <label>Handling Amount</label>\r\n <span className=\"text-danger\">*</span>\r\n <input\r\n component={Input}\r\n placeholder=\"Amount\"\r\n className=\"form-control\"\r\n type=\"text\"\r\n value={el?.HandlingAmount}\r\n onChange={(e) => {\r\n try {\r\n let values = [...itemsTms];\r\n values[i].HandlingAmount = e.target.value;\r\n values[i].IsEditMode = true;\r\n setItemsTms(values);\r\n } catch (err) {}\r\n }}\r\n name=\"HandlingAmount\"\r\n />\r\n </div>\r\n <div className=\"col-lg-3 mt-5\">\r\n <label>Pieces</label>\r\n <input\r\n type=\"number\"\r\n className=\"form-control\"\r\n name=\"Quantity\"\r\n component={Input}\r\n placeholder=\"Unit Count\"\r\n required={true}\r\n value={el.Quantity}\r\n //defaultValue={el?.UnitCount}\r\n onChange={(e) => {\r\n try {\r\n let values = [...itemsTms];\r\n values[i].Quantity = e.target.value;\r\n values[i].IsEditMode = true;\r\n setItemsTms(values);\r\n } catch (err) {}\r\n }}\r\n min=\"0\"\r\n />\r\n </div>\r\n <div className=\"col-lg-3 mt-5\">\r\n <label>Weight Type</label>\r\n\r\n <Select\r\n name=\"WeightType\"\r\n value={[\r\n { label: \"LBS\", value: \"LBS\" },\r\n { label: \"KGS\", value: \"KGS\" },\r\n ].filter((a) => a.value === el.WeightType)}\r\n onChange={(e) => {\r\n try {\r\n let values = [...itemsTms];\r\n values[i].WeightType = e.value;\r\n values[i].IsEditMode = true;\r\n setItemsTms(values);\r\n } catch (err) {}\r\n }}\r\n options={[\r\n { label: \"LBS\", value: \"LBS\" },\r\n { label: \"KGS\", value: \"KGS\" },\r\n ]}\r\n />\r\n </div>\r\n <div className=\"col-lg-3 mt-5\">\r\n <label>Weight</label>\r\n <span className=\"text-danger\">*</span>\r\n <input\r\n type=\"number\"\r\n name=\"Weight\"\r\n id=\"WeightId\"\r\n className=\"form-control\"\r\n component={Input}\r\n placeholder=\"Weight\"\r\n value={el?.Weight}\r\n min=\"0\"\r\n onChange={(e) => {\r\n try {\r\n let values = [...itemsTms];\r\n values[i].Weight = e.target.value;\r\n values[i].IsEditMode = true;\r\n setItemsTms(values);\r\n //Class Calculator\r\n if (\r\n el?.Length !== \"\" &&\r\n el?.Width !== \"\" &&\r\n el?.Height !== \"\" &&\r\n el?.Weight !== \"\"\r\n ) {\r\n ClassCalculatorFunctionFetch(\r\n el?.Length,\r\n el?.Width,\r\n el?.Height,\r\n el?.Weight,\r\n i\r\n );\r\n }\r\n } catch (err) {}\r\n }}\r\n />\r\n </div>\r\n\r\n <div className=\"col-lg-3 mt-5\">\r\n <label>Commodity</label>\r\n <span className=\"text-danger\">*</span>\r\n <input\r\n component={Input}\r\n placeholder=\"Commodity\"\r\n className=\"form-control\"\r\n value={el?.Commodity}\r\n onChange={(e) => {\r\n try {\r\n let values = [...itemsTms];\r\n values[i].Commodity = e.target.value;\r\n values[i].IsEditMode = true;\r\n setItemsTms(values);\r\n } catch (err) {}\r\n }}\r\n type=\"text\"\r\n name=\"Commodity\"\r\n />\r\n </div>\r\n <div className=\"col-lg-3 mt-5\">\r\n <label>\r\n Space Req <span className=\"text-danger\">*</span>\r\n </label>\r\n <input\r\n type=\"text\"\r\n placeholder=\"Space Req\"\r\n className=\"form-control\"\r\n value={el?.SpaceReq}\r\n onChange={(e) => {\r\n try {\r\n let values = [...itemsTms];\r\n values[i].SpaceReq = e.target.value;\r\n values[i].IsEditMode = true;\r\n setItemsTms(values);\r\n } catch (err) {}\r\n }}\r\n name=\"SpaceReq\"\r\n />\r\n </div>\r\n <div className=\"col-lg-3 mt-5\">\r\n <label>SKU</label>\r\n <input\r\n component={Input}\r\n placeholder=\"SKU\"\r\n className=\"form-control\"\r\n value={el?.Sku}\r\n onChange={(e) => {\r\n try {\r\n let values = [...itemsTms];\r\n values[i].Sku = e.target.value;\r\n values[i].IsEditMode = true;\r\n setItemsTms(values);\r\n } catch (err) {}\r\n }}\r\n type=\"text\"\r\n name=\"Sku\"\r\n />\r\n </div>\r\n <div className=\"col-lg-3 mt-5\">\r\n <label>PickUp</label>\r\n <Select\r\n name=\"PickUpStop\"\r\n value={[\r\n {\r\n Id: null,\r\n CompanyName: values.ShipperCompanyName,\r\n Type: \"Pick\",\r\n },\r\n ...listMultiStopsShipping,\r\n ]\r\n .filter((a) => a.Id === el?.StopId)\r\n .map((b) => {\r\n return { label: b.CompanyName, value: b.Id };\r\n })}\r\n onChange={(e) => {\r\n try {\r\n let values = [...itemsTms];\r\n values[i].StopId = e.value;\r\n values[i].IsEditMode = true;\r\n setItemsTms(values);\r\n } catch (err) {}\r\n }}\r\n options={[\r\n {\r\n Id: null,\r\n CompanyName: values.ShipperCompanyName,\r\n Type: \"Pick\",\r\n },\r\n ...listMultiStopsShipping,\r\n ]\r\n .filter((a) => a.Type === \"Pick\")\r\n .map((b) => {\r\n return { label: b.CompanyName, value: b.Id };\r\n })}\r\n />\r\n </div>\r\n <div className=\"col-lg-3 mt-5\">\r\n <label>Drop</label>\r\n\r\n <Select\r\n name=\"DropStop\"\r\n value={[\r\n {\r\n Id: null,\r\n CompanyName: values.ConsigneeCompanyName,\r\n Type: \"Drop\",\r\n },\r\n ...listMultiStopsShipping,\r\n ]\r\n .filter((a) => a.Id === el?.DeliveryStopId)\r\n .map((b) => {\r\n return { label: b.CompanyName, value: b.Id };\r\n })}\r\n onChange={(e) => {\r\n try {\r\n let values = [...itemsTms];\r\n values[i].DeliveryStopId = e.value;\r\n values[i].IsEditMode = true;\r\n setItemsTms(values);\r\n } catch (err) {}\r\n }}\r\n options={[\r\n {\r\n Id: null,\r\n CompanyName: values.ConsigneeCompanyName,\r\n Type: \"Drop\",\r\n },\r\n ...listMultiStopsShipping,\r\n ]\r\n .filter((a) => a.Type === \"Drop\")\r\n .map((b) => {\r\n return { label: b.CompanyName, value: b.Id };\r\n })}\r\n />\r\n </div>\r\n\r\n <div className=\"col-lg-3 mt-md-4 mt-7 pt-7\">\r\n <CheckboxLargeWB\r\n className=\"font-size-md\"\r\n text=\"Flatbed Required\"\r\n name=\"FlatbedRequired\"\r\n id=\"FlatbedRequired\"\r\n checked={el?.FlatbedRequired}\r\n onChange={(e) => {\r\n let values = [...itemsTms];\r\n values[i].FlatbedRequired = e.target.checked;\r\n values[i].IsEditMode = true;\r\n setItemsTms(values);\r\n }}\r\n />\r\n </div>\r\n {el?.FlatbedRequired === true && el?.IsPost ? (\r\n <>\r\n <div className=\"col-lg-3 mt-7\">\r\n <label>Flatbed Type</label>\r\n\r\n <Select\r\n name=\"FlatbedTypeId\"\r\n onChange={(e) => {\r\n try {\r\n let values = [...itemsTms];\r\n values[i].FlatbedTypeId = e.value;\r\n values[i].IsEditMode = true;\r\n setItemsTms(values);\r\n } catch (err) {}\r\n }}\r\n options={ViewModelOptions?.FlatbedTypes?.map(\r\n (x) => {\r\n return {\r\n value: x?.Id,\r\n label: x?.Name,\r\n };\r\n }\r\n )}\r\n />\r\n </div>\r\n </>\r\n ) : (\r\n \"\"\r\n )}\r\n {el?.FlatbedRequired === true && !el?.IsPost ? (\r\n <>\r\n <div className=\"col-lg-3 mt-7\">\r\n <label>Flatbed Type</label>\r\n\r\n <Select\r\n name=\"FlatbedTypeId\"\r\n value={ViewModelOptions?.FlatbedTypes?.filter(\r\n (a) => a.Id === el?.FlatbedTypeId\r\n ).map((x) => {\r\n return {\r\n value: x?.Id,\r\n label: x?.Name,\r\n };\r\n })}\r\n onChange={(e) => {\r\n try {\r\n let values = [...itemsTms];\r\n values[i].FlatbedTypeId = e.value;\r\n values[i].IsEditMode = true;\r\n setItemsTms(values);\r\n } catch (err) {}\r\n }}\r\n options={ViewModelOptions?.FlatbedTypes?.map(\r\n (x) => {\r\n return {\r\n value: x?.Id,\r\n label: x?.Name,\r\n };\r\n }\r\n )}\r\n />\r\n </div>\r\n </>\r\n ) : (\r\n \"\"\r\n )}\r\n </div>\r\n {/* <div className=\"form-group row\">\r\n \r\n </div> */}\r\n <div className=\"form-group row mb-0\">\r\n <div className=\"col-lg-3 mt-md-4\">\r\n <CheckboxLargeWB\r\n className=\"font-size-md\"\r\n text=\"Temp Control\"\r\n name=\"TempControl\"\r\n id=\"TempControl\"\r\n checked={el?.TempControl}\r\n onChange={(e) => {\r\n try {\r\n let values = [...itemsTms];\r\n values[i].TempControl = e.target.checked;\r\n values[i].IsEditMode = true;\r\n\r\n setItemsTms(values);\r\n } catch (err) {}\r\n }}\r\n />\r\n </div>\r\n {el?.TempControl === true ? (\r\n <>\r\n <div className=\"col-lg-3\">\r\n <label>Temp Min</label>\r\n <input\r\n type=\"number\"\r\n className=\"form-control\"\r\n name=\"TempMin\"\r\n component={Input}\r\n placeholder=\"Min\"\r\n required={true}\r\n value={el?.TempMin}\r\n onChange={(e) => {\r\n try {\r\n let values = [...itemsTms];\r\n values[i].TempMin = e.target.value;\r\n values[i].IsEditMode = true;\r\n\r\n setItemsTms(values);\r\n } catch (err) {}\r\n }}\r\n />\r\n </div>\r\n <div className=\"col-lg-3\">\r\n <label>Temp Max</label>\r\n <input\r\n type=\"number\"\r\n className=\"form-control\"\r\n name=\"TempMin\"\r\n component={Input}\r\n placeholder=\"Max\"\r\n required={true}\r\n value={el?.TempMax}\r\n onChange={(e) => {\r\n try {\r\n let values = [...itemsTms];\r\n values[i].TempMax = e.target.value;\r\n values[i].IsEditMode = true;\r\n\r\n setItemsTms(values);\r\n } catch (err) {}\r\n }}\r\n />\r\n </div>\r\n </>\r\n ) : (\r\n \"\"\r\n )}\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n ))\r\n );\r\n }\r\n function postAddress() {\r\n setLoadingPost(true);\r\n let value = { ...AddressObjectPost };\r\n value.AddressTypeId = IsShipperSelected === true ? 11 : 5;\r\n return fetch(window.$apiurl + \"/address\", {\r\n method: \"post\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n\r\n body: JSON.stringify(value),\r\n })\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n const contentType = response.headers.get(\"content-type\");\r\n if (contentType && contentType.indexOf(\"application/json\") !== -1) {\r\n return response.json().then((data) => [statusCode, data]);\r\n } else {\r\n return response.text().then((text) => [statusCode, { Message: \"\" }]);\r\n }\r\n })\r\n .then(async (res) => {\r\n if (res[0] === 200) {\r\n Notification(\"success\", \"Address has been created successfully\");\r\n setLoadingPost(false);\r\n setmodalAddresses(false);\r\n await GetViewModel();\r\n if (IsShipperSelected) {\r\n setFieldValue(\"ShipperId\", res[1].Id);\r\n } else {\r\n setFieldValue(\"ConsigneeId\", res[1].Id);\r\n }\r\n\r\n setAddressObjectPost({\r\n Name: \"\",\r\n Address: \"\",\r\n City: \"\",\r\n State: \"\",\r\n PostalCode: \"\",\r\n CountryId: \"US\",\r\n Phone: \"\",\r\n Fax: \"\",\r\n Note: \"\",\r\n AddressTypeId: null,\r\n IsActive: true,\r\n Charges: [],\r\n CustomerId: null,\r\n ContactName: \"\",\r\n Email: \"\",\r\n });\r\n } else {\r\n if (\r\n res[1].Message !== null &&\r\n res[1].Message !== undefined &&\r\n res[1].Message !== \"\"\r\n ) {\r\n Notification(\"errorClick\", res[1].Message);\r\n } else {\r\n Notification(\"errorClick\", \"Invalid Data\");\r\n }\r\n setLoadingPost(false);\r\n }\r\n })\r\n .catch((error) => {\r\n Notification(\"errorClick\", \"Invalid Data\");\r\n setLoadingPost(false);\r\n });\r\n }\r\n const [isCollapsedShipping, setIsCollapsedShipping] = useState(false);\r\n const [isCollapsedTracking, setIsCollapsedTracking] = useState(false);\r\n const [isCollapsedReceiving2, setIsCollapsedReceiving2] = useState(false);\r\n const [isCollapsedBids, setIsCollapsedBids] = useState(false);\r\n const [isCollapsedInvoincing, setIsCollapsedInvoicing] = useState(false);\r\n const [isCollapsedAttachments, setIsCollapsedAttachments] = useState(false);\r\n const [isCollapsedCommodity, setIsCollapsedCommodity] = useState(false);\r\n const [isCollapsedCommodityDrag, setIsCollapsedCommodityDrag] = useState(\r\n false\r\n );\r\n const [isCollapsedReceiving, setIsCollapsedReceiving] = useState(false);\r\n async function SavePositions(dataPut) {\r\n return await fetch(window.$apiurl + `/ShipmentStop/MoveStops`, {\r\n method: \"PUT\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify({ Stops: dataPut }),\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n if (statusCode === 200) {\r\n setLoaderStops(true);\r\n setShowSaveButton(false);\r\n Notification(\r\n \"success\",\r\n `Position of Stops has been updated successfully`\r\n );\r\n }\r\n const data = await response.json();\r\n if (data !== null && data !== undefined && data?.Message) {\r\n Notification(\"errorClick\", data?.Message);\r\n }\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {})\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n const [showModalPosition, setShowModalConfirmationPosition] = useState(false);\r\n const [loadingPosition, setLoadingPosition] = useState(false);\r\n const [rowItemTracking, setRowItemTracking] = useState(null);\r\n async function SavePositionsReceivingShipping(isReceiving, id) {\r\n return await fetch(\r\n window.$apiurl +\r\n `/ShipmentStop/MarkStopMain/${id}?isReceiving=${isReceiving}&isShipping=${!isReceiving}`,\r\n {\r\n method: \"PUT\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n }\r\n )\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n if (statusCode === 200) {\r\n setLoaderStops(true);\r\n setLoaderSoStop(true);\r\n setLoadingPosition(false);\r\n setShowModalConfirmationPosition(false);\r\n Notification(\r\n \"success\",\r\n `Position of Stops has been updated successfully`\r\n );\r\n }\r\n const data = await response.json();\r\n if (data !== null && data !== undefined && data?.Message) {\r\n Notification(\"errorClick\", data?.Message);\r\n setLoadingPosition(false);\r\n }\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {})\r\n .catch((error) => {\r\n console.error(error);\r\n setLoadingPosition(false);\r\n });\r\n }\r\n function fetchNewStop(isReceiving) {\r\n try {\r\n let valuesCc = [...listMultiStopsShipping];\r\n valuesCc.push({\r\n Title: `${isReceiving ? \"Drop\" : \"Pickup\"} : New Stop`,\r\n IsCollapsed: false,\r\n ShipmentId: SO,\r\n IsNew: true,\r\n Position: 0,\r\n Type: `${isReceiving ? \"Drop\" : \"Pick\"}`,\r\n TypeId: isReceiving ? 1296 : 1295,\r\n ClassName: `${\r\n isReceiving ? \"classReceiving\" : \"classShipping\"\r\n }-${listMultiStopsShipping?.length + 1}`,\r\n });\r\n setMultiStopsDataShipping(valuesCc);\r\n\r\n //scroll\r\n setTimeout(function() {\r\n try {\r\n document\r\n .querySelector(\r\n `.${\r\n isReceiving ? \"classReceiving\" : \"classShipping\"\r\n }-${listMultiStopsShipping?.length + 1}`\r\n )\r\n .scrollIntoView({ behavior: \"smooth\" });\r\n } catch (err) {\r\n console.log(err);\r\n }\r\n }, 100);\r\n } catch (err) {\r\n console.log(err);\r\n }\r\n }\r\n return (\r\n <>\r\n {/* //ZBAABIT */}\r\n <Modal\r\n size=\"xl\"\r\n show={showModalSend}\r\n aria-labelledby=\"example-modal-sizes-title-lg\"\r\n >\r\n <Modal.Header>\r\n <Modal.Title id=\"example-modal-sizes-title-lg\">\r\n Carrier Offer Email\r\n </Modal.Title>\r\n <IconButton\r\n className=\"MuiButtonBase-root MuiIconButton-root jss179\"\r\n aria-label=\"Close\"\r\n onClick={() => {\r\n setBidsInfo({\r\n ShipmentId: SO,\r\n VendorId: \"\",\r\n VendorName: \"\",\r\n SpecialReq: \"\",\r\n Amount: null,\r\n PickupAppointmentDate: null,\r\n DeliveryDate: null,\r\n IsTendered: false,\r\n });\r\n setshowModalSend(false);\r\n }}\r\n >\r\n <CloseIcon />\r\n </IconButton>\r\n </Modal.Header>\r\n <Modal.Body>\r\n <div className=\"col-lg-12\">\r\n <div className=\"row\">\r\n <div className=\"col-lg-12\">\r\n <p className=\"mb-3\">To: </p>\r\n {EmailAddressList && (\r\n <CreatableSelect\r\n isMulti\r\n name=\"To\"\r\n id=\"To\"\r\n value={ToDataDefeault}\r\n options={EmailAddressList.map((a) => {\r\n return { value: a.Email, label: a.Email };\r\n })}\r\n className=\"basic-multi-select\"\r\n classNamePrefix=\"select\"\r\n onChange={(e) => {\r\n var obj = [];\r\n var objDefeault = [];\r\n if (e) {\r\n e.map((item) => {\r\n obj.push({\r\n Email: item.value,\r\n Name: item.value,\r\n });\r\n objDefeault.push({\r\n value: item.value,\r\n label: item.value,\r\n });\r\n return null;\r\n });\r\n }\r\n setToDataDefeault(objDefeault);\r\n setToData(obj);\r\n }}\r\n />\r\n )}\r\n\r\n <CheckboxLarge\r\n Size=\"12px\"\r\n name=\"includCC\"\r\n text=\"Include me on CC\"\r\n onChange={(event) => {\r\n setincludCCData(event.target.checked);\r\n }}\r\n />\r\n </div>\r\n <div className=\"col-lg-12 mt-5\">\r\n <p className=\"mb-3\">Subject: </p>\r\n <input\r\n name=\"Subject\"\r\n className=\"form-control\"\r\n placeholder=\"Subject\"\r\n value={SubjectData}\r\n onChange={(event) => {\r\n setSubjectData(event.target.value);\r\n }}\r\n />\r\n </div>\r\n <div className=\"col-lg-12 mt-5\">\r\n <p className=\"mb-3\">Body: </p>\r\n\r\n <CKEditor\r\n name=\"Body\"\r\n Id=\"Body\"\r\n label=\"Body\"\r\n editor={ClassicEditor}\r\n config={{\r\n removePlugins: [\r\n \"Image\",\r\n \"ImageCaption\",\r\n \"ImageStyle\",\r\n \"ImageToolbar\",\r\n \"ImageUpload\",\r\n \"MediaEmbed\",\r\n ],\r\n }}\r\n data={BodyData}\r\n onBlur={(event, editor) => {\r\n const data = editor.getData();\r\n setBodyData(data);\r\n }}\r\n />\r\n </div>\r\n </div>\r\n </div>\r\n </Modal.Body>\r\n <Modal.Footer>\r\n <div>\r\n <button\r\n type=\"button\"\r\n onClick={() => {\r\n setshowModalSend(false);\r\n setBidsInfo({\r\n ShipmentId: SO,\r\n VendorId: \"\",\r\n VendorName: \"\",\r\n SpecialReq: \"\",\r\n Amount: null,\r\n PickupAppointmentDate: null,\r\n DeliveryDate: null,\r\n IsTendered: false,\r\n });\r\n }}\r\n className=\"btn btn-light btn-elevate\"\r\n >\r\n Cancel\r\n </button>\r\n <> </>\r\n <button\r\n type=\"button\"\r\n onClick={SendBidsNotification}\r\n disabled={isLoadingSend}\r\n className=\"btn btn-delete btn-primary\"\r\n >\r\n Send Email\r\n {isLoadingSend && (\r\n <Spinner\r\n as=\"span\"\r\n animation=\"border\"\r\n size=\"sm\"\r\n role=\"status\"\r\n aria-hidden=\"true\"\r\n />\r\n )}\r\n </button>\r\n </div>\r\n </Modal.Footer>\r\n </Modal>\r\n <Modal\r\n show={modalAddresses}\r\n size=\"lg\"\r\n aria-labelledby=\"example-modal-sizes-title-lg\"\r\n >\r\n <Modal.Header>\r\n <Modal.Title id=\"example-modal-sizes-title-lg\">\r\n Create new Address\r\n </Modal.Title>\r\n <IconButton\r\n className=\"MuiButtonBase-root MuiIconButton-root jss179\"\r\n aria-label=\"Close\"\r\n onClick={() => {\r\n setmodalAddresses(false);\r\n }}\r\n >\r\n <CloseIcon />\r\n </IconButton>\r\n </Modal.Header>\r\n <Modal.Body>\r\n <form className=\"form form-label-right\">\r\n <div className=\"form-group row\">\r\n <div className={\"col-lg-12\"}>\r\n <label>Organisation Name</label>\r\n <input\r\n name=\"Name\"\r\n className=\"form-control\"\r\n placeholder=\"Organisation Name\"\r\n label=\"Organisation Name\"\r\n value={AddressObjectPost.Name}\r\n onChange={(e) => {\r\n let value = { ...AddressObjectPost };\r\n value.Name = e.target.value;\r\n setAddressObjectPost(value);\r\n }}\r\n required={true}\r\n />\r\n </div>\r\n </div>\r\n <div className=\"form-group\">\r\n <div className=\"col-lg-12 px-0\">\r\n <label>\r\n Address <RequiredHtml />\r\n </label>\r\n <input\r\n name=\"Address\"\r\n as=\"textarea\"\r\n onChange={(e) => {\r\n let value = { ...AddressObjectPost };\r\n value.Address = e.target.value;\r\n setAddressObjectPost(value);\r\n }}\r\n className=\"form-control\"\r\n />\r\n </div>\r\n </div>\r\n <div className=\"form-group row\">\r\n <div className=\"col-lg-4\">\r\n <label>City</label>\r\n\r\n <input\r\n name=\"City\"\r\n className=\"form-control\"\r\n placeholder=\"City\"\r\n onChange={(e) => {\r\n let value = { ...AddressObjectPost };\r\n value.City = e.target.value;\r\n setAddressObjectPost(value);\r\n }}\r\n label=\"City\"\r\n />\r\n </div>\r\n <div className=\"col-lg-4\">\r\n <label>Choose a state</label>\r\n <Select\r\n name=\"State\"\r\n label=\"State\"\r\n id=\"State\"\r\n options={states}\r\n value={stateId}\r\n onChange={(e) => {\r\n setStateId(e);\r\n let value = { ...AddressObjectPost };\r\n if (e !== null) {\r\n value.State = e?.label;\r\n } else {\r\n value.State = \"\";\r\n }\r\n setAddressObjectPost(value);\r\n }}\r\n />\r\n </div>\r\n <div className=\"col-lg-4\">\r\n <label>Zip Code</label>\r\n\r\n <input\r\n name=\"PostalCode\"\r\n className=\"form-control\"\r\n placeholder=\"Zip Code\"\r\n onChange={(e) => {\r\n let value = { ...AddressObjectPost };\r\n value.PostalCode = e.target.value;\r\n setAddressObjectPost(value);\r\n }}\r\n label=\"Zip Code\"\r\n />\r\n </div>\r\n </div>\r\n <div className=\"form-group row\">\r\n <div className=\"col-lg-4\">\r\n <label>\r\n Country <RequiredHtml />\r\n </label>\r\n <CreatableSelect\r\n name=\"CountryId\"\r\n value={\r\n countryIdFetch.value === \"\"\r\n ? { value: \"US\", label: \"United States\" }\r\n : countryIdFetch\r\n }\r\n options={Country.map((x) => {\r\n return { value: x?.Id, label: x?.Name };\r\n })}\r\n onChange={(newValue) => {\r\n setCountryValue(newValue);\r\n handleCountryChange(newValue?.value);\r\n let value = { ...AddressObjectPost };\r\n if (newValue !== null) {\r\n value.CountryId = newValue?.value;\r\n } else {\r\n value.CountryId = \"\";\r\n }\r\n setAddressObjectPost(value);\r\n }}\r\n />\r\n </div>\r\n <div className=\"col-lg-4\">\r\n <label>Phone</label>\r\n\r\n <input\r\n name=\"Phone\"\r\n onChange={(e) => {\r\n let value = { ...AddressObjectPost };\r\n value.Phone = e.target.value;\r\n setAddressObjectPost(value);\r\n }}\r\n className=\"form-control\"\r\n placeholder=\"Phone\"\r\n label=\"Phone\"\r\n />\r\n </div>\r\n <div className=\"col-lg-4\">\r\n <label>Fax</label>\r\n\r\n <input\r\n name=\"Fax\"\r\n onChange={(e) => {\r\n let value = { ...AddressObjectPost };\r\n value.Fax = e.target.value;\r\n setAddressObjectPost(value);\r\n }}\r\n className=\"form-control\"\r\n placeholder=\"Fax\"\r\n label=\"Fax\"\r\n />\r\n </div>\r\n </div>\r\n <div className=\"form-group row\">\r\n <div className=\"col-lg-4\">\r\n <label>Contact Name</label>\r\n\r\n <input\r\n name=\"ContactName\"\r\n onChange={(e) => {\r\n let value = { ...AddressObjectPost };\r\n value.ContactName = e.target.value;\r\n setAddressObjectPost(value);\r\n }}\r\n className=\"form-control\"\r\n placeholder=\"Contact Name\"\r\n label=\"Contact Name\"\r\n />\r\n </div>\r\n <div className=\"col-lg-4\">\r\n <label>Contact Email</label>\r\n\r\n <input\r\n name=\"Email\"\r\n onChange={(e) => {\r\n let value = { ...AddressObjectPost };\r\n value.Email = e.target.value;\r\n setAddressObjectPost(value);\r\n }}\r\n className=\"form-control\"\r\n placeholder=\"Contact Email\"\r\n label=\"Contact Email\"\r\n />\r\n </div>\r\n </div>\r\n <div className=\"form-group row\">\r\n <div className=\"col-lg-12\">\r\n <label>Customer</label>\r\n <Select\r\n name=\"CustomerId\"\r\n options={\r\n ViewModelOptions?.Customers?.length > 0\r\n ? ViewModelOptions?.Customers.map((item) => {\r\n return {\r\n value: item.Id,\r\n label: item.Name,\r\n };\r\n })\r\n : []\r\n }\r\n onChange={(e) => {\r\n let value = { ...AddressObjectPost };\r\n value.CustomerId = e?.value;\r\n setAddressObjectPost(value);\r\n }}\r\n isClearable\r\n />\r\n </div>\r\n </div>\r\n <div className=\"form-group\">\r\n <div className=\"col-lg-12 px-0\">\r\n <label>Note</label>\r\n <input\r\n name=\"Note\"\r\n as=\"textarea\"\r\n className=\"form-control\"\r\n onChange={(e) => {\r\n let value = { ...AddressObjectPost };\r\n value.Note = e.target.value;\r\n setAddressObjectPost(value);\r\n }}\r\n />\r\n </div>\r\n </div>\r\n </form>\r\n </Modal.Body>\r\n <Modal.Footer>\r\n <button\r\n type=\"button\"\r\n onClick={() => {\r\n setmodalAddresses(false);\r\n }}\r\n className=\"btn btn-light btn-elevate\"\r\n >\r\n Cancel\r\n </button>\r\n <> </>\r\n <button\r\n type=\"submit\"\r\n disabled={LoadingPost}\r\n onClick={() => {\r\n postAddress();\r\n }}\r\n className=\"btn btn-primary btn-elevate\"\r\n >\r\n Save\r\n {LoadingPost && (\r\n <Spinner\r\n as=\"span\"\r\n animation=\"border\"\r\n size=\"sm\"\r\n role=\"status\"\r\n aria-hidden=\"true\"\r\n />\r\n )}\r\n </button>\r\n </Modal.Footer>\r\n </Modal>\r\n {/* Modal Confirmation */}\r\n <Modal\r\n show={showModalPosition}\r\n size={\"lg\"}\r\n aria-labelledby=\"example-modal-sizes-title-lg\"\r\n >\r\n <Modal.Header closeButton>\r\n <Modal.Title id=\"example-modal-sizes-title-lg\">\r\n Confirmation\r\n </Modal.Title>\r\n </Modal.Header>\r\n <Modal.Body>\r\n <h6>\r\n Are you sure to mark this{\" \"}\r\n {rowItem?.Type === \"Pick\" ? \"Shipping \" : \"Receiving \"} Detail as{\" \"}\r\n {rowItem?.Type} Stop '{rowItem?.CompanyName}' ?\r\n </h6>\r\n </Modal.Body>\r\n <Modal.Footer>\r\n <div>\r\n <button\r\n type=\"button\"\r\n onClick={() => setShowModalConfirmationPosition(false)}\r\n className=\"btn btn-light btn-elevate\"\r\n >\r\n Cancel\r\n </button>\r\n <> </>\r\n <button\r\n type=\"button\"\r\n disabled={loadingPosition}\r\n onClick={async () => {\r\n setLoadingPosition(true);\r\n await SavePositionsReceivingShipping(\r\n rowItem?.Type === \"Pick\" ? false : true,\r\n rowItem?.Id\r\n );\r\n }}\r\n className={`${\r\n loadingPosition ? \"spinner spinner-white spinner-right\" : \"\"\r\n } btn btn-light-primary btn-elevate`}\r\n >\r\n Set Position\r\n </button>\r\n </div>\r\n </Modal.Footer>\r\n </Modal>\r\n {/* Modal Delete Stop */}\r\n\r\n <Modal\r\n size=\"lg\"\r\n show={ShowStop}\r\n onClick={async () => {\r\n try {\r\n // await GetViewModelStops();\r\n } catch (err) {}\r\n }}\r\n onHide={() => {\r\n setShowStop(false);\r\n }}\r\n aria-labelledby=\"example-modal-sizes-title-lg\"\r\n >\r\n <Modal.Header>\r\n <Modal.Title id=\"example-modal-sizes-title-lg\">\r\n Add Pickup Stop\r\n </Modal.Title>\r\n <IconButton\r\n className=\"MuiButtonBase-root MuiIconButton-root jss179\"\r\n aria-label=\"Close\"\r\n onClick={() => {\r\n setShowStop(false);\r\n }}\r\n >\r\n <CloseIcon />\r\n </IconButton>\r\n </Modal.Header>\r\n <Modal.Body>\r\n <Formik>\r\n {({ setFieldValue }) => (\r\n <Form className=\"form form-label-right\">\r\n <div className=\"form-group row mb-5\">\r\n <div className=\"col-lg-12\">\r\n <SelectPagination\r\n name=\"AddressId\"\r\n label=\"Addresses\"\r\n value={stopAddressValue}\r\n TextFieldProps={{\r\n InputLabelProps: {\r\n htmlFor: \"react-select-single\",\r\n shrink: true,\r\n },\r\n }}\r\n options={ViewModelOptions?.Shippers.map((a) => {\r\n return {\r\n value: a.Id,\r\n label: a.Name,\r\n };\r\n })}\r\n onChange={(event) => {\r\n try {\r\n if (event !== null && event.value !== \"\") {\r\n setCompanyNameStop(StopAddressValues?.CompanyName);\r\n setAddressStop(StopAddressValues?.Address);\r\n setCityStop(StopAddressValues?.City);\r\n setStateStop(StopAddressValues?.State);\r\n setZipCodeStop(StopAddressValues?.ZipCode);\r\n setPhoneNumberStop(StopAddressValues?.PhoneNumber);\r\n setContactName(StopAddressValues?.ContactName);\r\n setStopAddressValue(event);\r\n } else {\r\n setCompanyNameStop(\"\");\r\n setAddressStop(\"\");\r\n setCityStop(\"\");\r\n setStateStop(\"\");\r\n setZipCodeStop(\"\");\r\n setPhoneNumberStop(\"\");\r\n setStopAddressValue({\r\n value: \"\",\r\n label: \"Select\",\r\n });\r\n }\r\n } catch (err) {}\r\n }}\r\n />\r\n </div>\r\n </div>\r\n\r\n <div className=\"form-group row\">\r\n <div className=\"col-lg-6\">\r\n <label>Street Address</label>\r\n <input\r\n type=\"text\"\r\n value={addressStop}\r\n onChange={(e) => {\r\n setAddressStop(e.target.value);\r\n }}\r\n className=\"form-control\"\r\n name=\"StreetAddress\"\r\n disabled={true}\r\n placeholder=\"Street Address\"\r\n />\r\n </div>\r\n <div className=\"col-lg-6\">\r\n <label>Contact Name</label>\r\n <input\r\n type=\"text\"\r\n value={contactName}\r\n onChange={(e) => {\r\n setContactName(e.target.value);\r\n }}\r\n className=\"form-control\"\r\n name=\"ContactName\"\r\n disabled={true}\r\n placeholder=\"Contact Name\"\r\n />\r\n </div>\r\n </div>\r\n <div className=\"form-group row\">\r\n <div className=\"col-lg-6\">\r\n <label>Contact Phone</label>\r\n <input\r\n type=\"tel\"\r\n value={phoneNumberStop}\r\n onChange={(e) => {\r\n setPhoneNumberStop(e.target.value);\r\n }}\r\n className=\"form-control\"\r\n name=\"Phone\"\r\n disabled={true}\r\n placeholder=\"Phone\"\r\n />\r\n </div>\r\n <div className=\"col-lg-6\">\r\n <label>City</label>\r\n <input\r\n type=\"text\"\r\n value={cityStop}\r\n onChange={(e) => {\r\n setCityStop(e.target.value);\r\n }}\r\n className=\"form-control\"\r\n name=\"City\"\r\n placeholder=\"City\"\r\n disabled={true}\r\n />\r\n </div>\r\n </div>\r\n <div className=\"form-group row\">\r\n <div className=\"col-lg-6\">\r\n <label>Contact State</label>\r\n <input\r\n type=\"text\"\r\n value={stateStop}\r\n onChange={(e) => {\r\n setStateStop(e.target.value);\r\n }}\r\n className=\"form-control\"\r\n name=\"state\"\r\n disabled={true}\r\n placeholder=\"state\"\r\n />\r\n </div>\r\n <div className=\"col-lg-6\">\r\n <label>Fax</label>\r\n <input\r\n type=\"tel\"\r\n className=\"form-control\"\r\n name=\"Fax\"\r\n value={faxStop}\r\n onChange={(e) => {\r\n setFaxStop(e.target.value);\r\n }}\r\n placeholder=\"Fax\"\r\n disabled={true}\r\n />\r\n </div>\r\n </div>\r\n <div className=\"form-group row mb-0\">\r\n <div className=\"col-lg-6\">\r\n <label>Zip</label>\r\n <input\r\n type=\"text\"\r\n value={zipCodeStop}\r\n onChange={(e) => {\r\n setZipCodeStop(e.target.value);\r\n }}\r\n className=\"form-control\"\r\n name=\"Zip\"\r\n placeholder=\"Zip\"\r\n disabled={true}\r\n />\r\n </div>\r\n\r\n <div className=\"col-lg-6\">\r\n <label>Contact Email</label>\r\n <input\r\n type=\"email\"\r\n className=\"form-control\"\r\n name=\"Email\"\r\n value={EmailStop}\r\n onChange={(e) => {\r\n setEmailStop(e.target.value);\r\n }}\r\n placeholder=\"Contact Email\"\r\n disabled={true}\r\n />\r\n </div>\r\n </div>\r\n </Form>\r\n )}\r\n </Formik>\r\n </Modal.Body>\r\n <Modal.Footer>\r\n <button\r\n type=\"button\"\r\n onClick={() => {\r\n setShowStop2(false);\r\n setStopAddressValue({\r\n value: \"\",\r\n label: \"Select\",\r\n });\r\n setCompanyNameStop(\"\");\r\n setAddressStop(\"\");\r\n setStateStop(\"\");\r\n setEmailStop(\"\");\r\n setZipCodeStop(\"\");\r\n setFaxStop(\"\");\r\n setPhoneNumberStop(\"\");\r\n setCityStop(\"\");\r\n }}\r\n className=\"btn btn-light btn-elevate\"\r\n >\r\n Close\r\n </button>\r\n <button\r\n type=\"button\"\r\n onClick={async () => {\r\n try {\r\n const objectPost = {\r\n AddressId: stopAddressValue.value,\r\n CompanyName: companyNameStop,\r\n StreetAddress: addressStop,\r\n ContactName: contactName,\r\n Phone: phoneNumberStop,\r\n Fax: faxStop,\r\n City: cityStop,\r\n State: stateStop,\r\n ZipCode: zipCodeStop,\r\n Country: \"US\",\r\n Email: EmailStop,\r\n };\r\n const result = await PostStop1(objectPost);\r\n if (result !== undefined && result[0] === 400) {\r\n if (result[1].Message) {\r\n Notification(\"error\", result[1].Message);\r\n } else {\r\n Notification(\"error\", \"error\");\r\n }\r\n }\r\n if (result === undefined) {\r\n Notification(\"success\", \"Success\");\r\n await GetStops(SO);\r\n setShowStop(false);\r\n }\r\n setStopAddressValue({\r\n value: \"\",\r\n label: \"Select\",\r\n });\r\n setCompanyNameStop(\"\");\r\n setAddressStop(\"\");\r\n setStateStop(\"\");\r\n setEmailStop(\"\");\r\n setZipCodeStop(\"\");\r\n setFaxStop(\"\");\r\n setPhoneNumberStop(\"\");\r\n setCityStop(\"\");\r\n } catch (err) {}\r\n }}\r\n className=\"btn btn-primary\"\r\n >\r\n Add\r\n </button>\r\n </Modal.Footer>\r\n </Modal>\r\n <Modal\r\n size=\"lg\"\r\n show={ShowStop2}\r\n onClick={async () => {\r\n try {\r\n // await GetViewModelStops();\r\n } catch (err) {}\r\n }}\r\n onHide={() => {\r\n setShowStop2(false);\r\n }}\r\n aria-labelledby=\"example-modal-sizes-title-lg\"\r\n >\r\n <Modal.Header>\r\n <Modal.Title id=\"example-modal-sizes-title-lg\">\r\n Add Delivery Stop\r\n </Modal.Title>\r\n <IconButton\r\n className=\"MuiButtonBase-root MuiIconButton-root jss179\"\r\n aria-label=\"Close\"\r\n onClick={() => {\r\n setShowStop2(false);\r\n }}\r\n >\r\n <CloseIcon />\r\n </IconButton>\r\n </Modal.Header>\r\n\r\n <Modal.Body>\r\n <Formik>\r\n {({ setFieldValue }) => (\r\n <Form className=\"form form-label-right\">\r\n <div className=\"form-group row mb-5\">\r\n <div className=\"col-lg-12\">\r\n <SelectPagination\r\n name=\"AddressId\"\r\n label=\"Addresses\"\r\n value={stopAddressValue}\r\n TextFieldProps={{\r\n InputLabelProps: {\r\n htmlFor: \"react-select-single\",\r\n shrink: true,\r\n },\r\n }}\r\n options={ViewModelOptions?.Consignees.map((a) => {\r\n return {\r\n value: a.Id,\r\n label: a.Name,\r\n };\r\n })}\r\n onChange={(event) => {\r\n try {\r\n if (event !== null && event.value !== \"\") {\r\n setCompanyNameStop(StopAddressValues?.CompanyName);\r\n setAddressStop(StopAddressValues?.Address);\r\n setCityStop(StopAddressValues?.City);\r\n setStateStop(StopAddressValues?.State);\r\n setZipCodeStop(StopAddressValues?.ZipCode);\r\n setPhoneNumberStop(StopAddressValues?.PhoneNumber);\r\n setContactName(StopAddressValues?.ContactName);\r\n setStopAddressValue(event);\r\n } else {\r\n setCompanyNameStop(\"\");\r\n setAddressStop(\"\");\r\n setCityStop(\"\");\r\n setStateStop(\"\");\r\n setZipCodeStop(\"\");\r\n setPhoneNumberStop(\"\");\r\n setStopAddressValue({\r\n value: \"\",\r\n label: \"Select\",\r\n });\r\n }\r\n } catch (err) {}\r\n }}\r\n />\r\n </div>\r\n </div>\r\n\r\n <div className=\"form-group row\">\r\n <div className=\"col-lg-6\">\r\n <label>Street Address</label>\r\n <input\r\n type=\"text\"\r\n value={addressStop}\r\n onChange={(e) => {\r\n setAddressStop(e.target.value);\r\n }}\r\n className=\"form-control\"\r\n name=\"StreetAddress\"\r\n disabled={true}\r\n placeholder=\"Street Address\"\r\n />\r\n </div>\r\n <div className=\"col-lg-6\">\r\n <label>Contact Name</label>\r\n <input\r\n type=\"text\"\r\n value={contactName}\r\n onChange={(e) => {\r\n setContactName(e.target.value);\r\n }}\r\n className=\"form-control\"\r\n name=\"ContactName\"\r\n disabled={true}\r\n placeholder=\"Contact Name\"\r\n />\r\n </div>\r\n </div>\r\n <div className=\"form-group row\">\r\n <div className=\"col-lg-6\">\r\n <label>Contact Phone</label>\r\n <input\r\n type=\"tel\"\r\n value={phoneNumberStop}\r\n onChange={(e) => {\r\n setPhoneNumberStop(e.target.value);\r\n }}\r\n className=\"form-control\"\r\n name=\"Phone\"\r\n disabled={true}\r\n placeholder=\"Phone\"\r\n />\r\n </div>\r\n <div className=\"col-lg-6\">\r\n <label>City</label>\r\n <input\r\n type=\"text\"\r\n value={cityStop}\r\n onChange={(e) => {\r\n setCityStop(e.target.value);\r\n }}\r\n className=\"form-control\"\r\n name=\"City\"\r\n placeholder=\"City\"\r\n disabled={true}\r\n />\r\n </div>\r\n </div>\r\n <div className=\"form-group row\">\r\n <div className=\"col-lg-6\">\r\n <label>Contact State</label>\r\n <input\r\n type=\"text\"\r\n value={stateStop}\r\n onChange={(e) => {\r\n setStateStop(e.target.value);\r\n }}\r\n className=\"form-control\"\r\n name=\"state\"\r\n disabled={true}\r\n placeholder=\"state\"\r\n />\r\n </div>\r\n <div className=\"col-lg-6\">\r\n <label>Fax</label>\r\n <input\r\n type=\"tel\"\r\n className=\"form-control\"\r\n name=\"Fax\"\r\n value={faxStop}\r\n onChange={(e) => {\r\n setFaxStop(e.target.value);\r\n }}\r\n placeholder=\"Fax\"\r\n disabled={true}\r\n />\r\n </div>\r\n </div>\r\n <div className=\"form-group row mb-0\">\r\n <div className=\"col-lg-6\">\r\n <label>Zip</label>\r\n <input\r\n type=\"text\"\r\n value={zipCodeStop}\r\n onChange={(e) => {\r\n setZipCodeStop(e.target.value);\r\n }}\r\n className=\"form-control\"\r\n name=\"Zip\"\r\n placeholder=\"Zip\"\r\n disabled={true}\r\n />\r\n </div>\r\n\r\n <div className=\"col-lg-6\">\r\n <label>Contact Email</label>\r\n <input\r\n type=\"email\"\r\n className=\"form-control\"\r\n name=\"Email\"\r\n value={EmailStop}\r\n onChange={(e) => {\r\n setEmailStop(e.target.value);\r\n }}\r\n placeholder=\"Contact Email\"\r\n disabled={true}\r\n />\r\n </div>\r\n </div>\r\n </Form>\r\n )}\r\n </Formik>\r\n </Modal.Body>\r\n <Modal.Footer>\r\n <button\r\n type=\"button\"\r\n onClick={() => {\r\n setShowStop2(false);\r\n setStopAddressValue({\r\n value: \"\",\r\n label: \"Select\",\r\n });\r\n setCompanyNameStop(\"\");\r\n setAddressStop(\"\");\r\n setStateStop(\"\");\r\n setEmailStop(\"\");\r\n setZipCodeStop(\"\");\r\n setFaxStop(\"\");\r\n setPhoneNumberStop(\"\");\r\n setCityStop(\"\");\r\n }}\r\n className=\"btn btn-light btn-elevate\"\r\n >\r\n Close\r\n </button>\r\n <button\r\n type=\"button\"\r\n onClick={async () => {\r\n try {\r\n const objectPost = {\r\n AddressId: stopAddressValue.value,\r\n CompanyName: companyNameStop,\r\n StreetAddress: addressStop,\r\n ContactName: contactName,\r\n Phone: phoneNumberStop,\r\n Fax: faxStop,\r\n City: cityStop,\r\n State: stateStop,\r\n ZipCode: zipCodeStop,\r\n Country: \"US\",\r\n Email: EmailStop,\r\n };\r\n const result = await PostStop2(objectPost);\r\n if (result !== undefined && result[0] === 400) {\r\n if (result[1].Message) {\r\n Notification(\"error\", result[1].Message);\r\n } else {\r\n Notification(\"error\", \"error\");\r\n }\r\n }\r\n if (result === undefined) {\r\n Notification(\"success\", \"Success\");\r\n await GetStops(SO);\r\n setShowStop2(false);\r\n }\r\n setStopAddressValue({\r\n value: \"\",\r\n label: \"Select\",\r\n });\r\n setCompanyNameStop(\"\");\r\n setAddressStop(\"\");\r\n setStateStop(\"\");\r\n setEmailStop(\"\");\r\n setZipCodeStop(\"\");\r\n setFaxStop(\"\");\r\n setPhoneNumberStop(\"\");\r\n setCityStop(\"\");\r\n } catch (err) {}\r\n }}\r\n className=\"btn btn-primary\"\r\n >\r\n Add\r\n </button>\r\n </Modal.Footer>\r\n </Modal>\r\n\r\n <Modal\r\n size=\"xl\"\r\n show={ShowTrace}\r\n onClose={setShowTrace}\r\n aria-labelledby=\"example-modal-sizes-title-lg\"\r\n >\r\n <Modal.Header>\r\n <Modal.Title id=\"example-modal-sizes-title-lg\">\r\n Add Trace Log\r\n </Modal.Title>\r\n <IconButton\r\n className={classes.button}\r\n aria-label=\"Close\"\r\n onClick={() => {\r\n setShowTrace(false);\r\n setTrackingObject({\r\n ShipmentId: 0,\r\n TraceCode: \"\",\r\n EtaDate: \"\",\r\n TimeZone: \"\",\r\n Country: \"\",\r\n City: \"\",\r\n State: \"\",\r\n NextTrackingDue:\r\n new Date().toISOString().substr(0, 10) +\r\n \"T\" +\r\n new Date(\r\n new Date().setTime(\r\n new Date().getTime() + 6 * 60 * 60 * 1000\r\n )\r\n )\r\n .getHours()\r\n .toString()\r\n .padStart(2, \"0\") +\r\n \":\" +\r\n (new Date(\r\n new Date().setTime(\r\n new Date().getTime() + 6 * 60 * 60 * 1000\r\n )\r\n ).getMinutes() > 30\r\n ? \"30\"\r\n : \"00\") +\r\n \":00\",\r\n Note: \"\",\r\n });\r\n }}\r\n >\r\n <CloseIcon />\r\n </IconButton>\r\n </Modal.Header>\r\n\r\n <Modal.Body>\r\n <div className=\"form-group row\">\r\n <div className=\"col-lg-6\">\r\n <label>\r\n <b>Shipment ID - Trailer Number</b>\r\n </label>\r\n <input\r\n id=\"ShipmentId2\"\r\n name=\"ShipmentId\"\r\n value={SO}\r\n type=\"text\"\r\n disabled={true}\r\n className=\"form-control\"\r\n />\r\n </div>\r\n <div className=\"col-lg-6\">\r\n <label>\r\n <b>Choose</b> a Trace Code\r\n </label>\r\n <Select\r\n name=\"StatusCode\"\r\n id=\"StatusCode\"\r\n defaultValue={TrackingStatusOptions.filter(\r\n (a) => a.Code === \"33\"\r\n ).map((x) => {\r\n return {\r\n value: x.Code,\r\n label: x.EventName,\r\n };\r\n })}\r\n options={TrackingStatusOptions.map((x) => {\r\n return {\r\n value: x.Code,\r\n label: x.EventName,\r\n };\r\n })}\r\n />\r\n </div>\r\n </div>\r\n <div className=\"form-group row\">\r\n <div className=\"col-lg-6 D-margin\">\r\n <label>\r\n <b>Choose</b> a ETA Date and Time\r\n </label>\r\n\r\n <DateTime30GL\r\n defaultvalue={TrackingObject.EtaDate}\r\n onChange={(newValue) => {\r\n var trackingObject = { ...TrackingObject };\r\n trackingObject.EtaDate = newValue;\r\n setTrackingObject(trackingObject);\r\n }}\r\n />\r\n </div>\r\n <div className=\"col-lg-3\">\r\n <label>\r\n <b>Choose</b> a Time Zone\r\n </label>\r\n <Select\r\n name=\"TimeZone\"\r\n id=\"TimeZone\"\r\n defaultValue={{\r\n value: \"PST\",\r\n label: \"PST (GMT -8)\",\r\n }}\r\n inputId=\"react-select-single\"\r\n placeholder=\"TimeZone\"\r\n options={[\r\n {\r\n value: \"CST\",\r\n label: \"CST (GMT -6)\",\r\n },\r\n {\r\n value: \"MST\",\r\n label: \"MST (GMT -7)\",\r\n },\r\n {\r\n value: \"PST\",\r\n label: \"PST (GMT -8)\",\r\n },\r\n {\r\n value: \"AST\",\r\n label: \"AST (GMT -9)\",\r\n },\r\n {\r\n value: \"HST\",\r\n label: \"HST (GMT -10)\",\r\n },\r\n ]}\r\n />\r\n </div>\r\n <div className=\"col-lg-3\">\r\n <label>\r\n <b>Choose</b> a Country\r\n </label>\r\n <CreatableSelect\r\n name=\"Countrytracking\"\r\n id=\"Countrytracking\"\r\n value={\r\n countryIdFetch.value === \"\"\r\n ? { value: \"US\", label: \"United States\" }\r\n : countryIdFetch\r\n }\r\n options={Country.map((x) => {\r\n return { value: x?.Id, label: x?.Name };\r\n })}\r\n onChange={(newValue) => {\r\n setCountryValue(newValue);\r\n handleCountryChange(newValue?.value);\r\n let value = { ...AddressObjectPost };\r\n if (newValue !== null) {\r\n value.CountryId = newValue?.value;\r\n } else {\r\n value.CountryId = \"\";\r\n }\r\n setAddressObjectPost(value);\r\n }}\r\n />\r\n </div>\r\n </div>\r\n <div className=\"form-group row\">\r\n <div className=\"col-lg-3\">\r\n <label>\r\n <b>Location City</b>\r\n </label>\r\n <input id=\"LocationCity\" type=\"text\" className=\"form-control\" />\r\n </div>\r\n <div className=\"col-lg-3\">\r\n <label>\r\n <b>Choose</b> a state\r\n </label>\r\n <Select\r\n name=\"LocationState\"\r\n id=\"LocationState\"\r\n options={states.map((x) => {\r\n return {\r\n value: x.label,\r\n label: x.label,\r\n };\r\n })}\r\n />\r\n </div>\r\n <div className=\"col-lg-6 D-margin\">\r\n <label>\r\n <b>Choose</b> a Next Tracking Due Date and Time\r\n </label>\r\n\r\n <DateTime30GL\r\n defaultvalue={TrackingObject.NextTrackingDue}\r\n onChange={(newValue) => {\r\n var trackingObject = { ...TrackingObject };\r\n trackingObject.NextTrackingDue = newValue;\r\n setTrackingObject(trackingObject);\r\n }}\r\n />\r\n </div>\r\n <div className=\"col-lg-12 mt-5\">\r\n <label>Note</label>\r\n <textarea\r\n className=\"form-control\"\r\n maxlength=\"28\"\r\n rows=\"3\"\r\n onChange={(e) => {\r\n var trackingObject = { ...TrackingObject };\r\n trackingObject.Note = e.target.value;\r\n setTrackingObject(trackingObject);\r\n }}\r\n ></textarea>\r\n </div>\r\n </div>\r\n </Modal.Body>\r\n <Modal.Footer>\r\n <button\r\n type=\"submit\"\r\n disabled={LoadingPost}\r\n onClick={() => {\r\n handleSubmit();\r\n }}\r\n className=\"btn btn-primary btn-elevate\"\r\n >\r\n Save\r\n {LoadingPost && (\r\n <Spinner\r\n as=\"span\"\r\n animation=\"border\"\r\n size=\"sm\"\r\n role=\"status\"\r\n aria-hidden=\"true\"\r\n />\r\n )}\r\n </button>\r\n </Modal.Footer>\r\n </Modal>\r\n <Modal\r\n size=\"lg\"\r\n show={ShowLoadBids}\r\n onClose={setShowLoadBids}\r\n aria-labelledby=\"example-modal-sizes-title-lg\"\r\n >\r\n <Modal.Header>\r\n <Modal.Title id=\"example-modal-sizes-title-lg\">\r\n Add New Bid\r\n </Modal.Title>\r\n <IconButton\r\n className={classes.button}\r\n aria-label=\"Close\"\r\n onClick={() => {\r\n setBidsInfo({\r\n ShipmentId: SO,\r\n VendorId: \"\",\r\n VendorName: \"\",\r\n SpecialReq: \"\",\r\n Amount: null,\r\n PickupAppointmentDate: null,\r\n DeliveryDate: null,\r\n IsTendered: false,\r\n });\r\n setShowLoadBids(false);\r\n }}\r\n >\r\n <CloseIcon />\r\n </IconButton>\r\n </Modal.Header>\r\n\r\n <Modal.Body>\r\n <div className=\"form-group row\">\r\n <div className=\"col-md-12\">\r\n <label for=\"exampleTextarea\">Carrier</label>\r\n\r\n <Select\r\n isClearable\r\n name=\"VendorId\"\r\n id=\"VendorId\"\r\n label=\"Carrier Name\"\r\n inputId=\"react-select-single\"\r\n options={ViewModelOptions?.Vendors?.map((a) => {\r\n return { value: a.Id, label: a.Code + \"-\" + a.Name };\r\n })}\r\n onChange={(e) => {\r\n if (e !== null) {\r\n let value = { ...BidsInfo };\r\n value.VendorId = e?.value;\r\n value.VendorName = e?.label;\r\n setBidsInfo(value);\r\n }\r\n }}\r\n />\r\n </div>\r\n\r\n <div className=\"col-md-6 mt-5\">\r\n <label for=\"exampleTextarea\">Special Req</label>\r\n <input\r\n type=\"text\"\r\n className=\"form-control\"\r\n name=\"SpecialReq\"\r\n id=\"SpecialReq\"\r\n onChange={(e) => {\r\n let value = { ...BidsInfo };\r\n value.SpecialReq = e?.target.value;\r\n setBidsInfo(value);\r\n }}\r\n />\r\n </div>\r\n <div className=\"col-md-6 mt-5\">\r\n <label for=\"exampleTextarea\">Rate</label>\r\n <input\r\n type=\"number\"\r\n className=\"form-control\"\r\n name=\"Amount\"\r\n id=\"Amount\"\r\n onChange={(e) => {\r\n let value = { ...BidsInfo };\r\n value.Amount = e?.target.value;\r\n setBidsInfo(value);\r\n }}\r\n />\r\n </div>\r\n <div className=\"col-md-6 mt-5\">\r\n <label for=\"exampleTextarea\">PU Date</label>\r\n\r\n <input\r\n className=\"form-control\"\r\n id=\"PickupAppointmentDate\"\r\n name=\"PickupAppointmentDate\"\r\n type=\"date\"\r\n onChange={(e) => {\r\n let value = { ...BidsInfo };\r\n value.PickupAppointmentDate = e?.target.value;\r\n setBidsInfo(value);\r\n }}\r\n />\r\n </div>\r\n <div className=\"col-md-6 mt-5\">\r\n <label for=\"exampleTextarea\">DEL Date</label>\r\n\r\n <input\r\n className=\"form-control\"\r\n id=\"DeliveryDate\"\r\n name=\"DeliveryDate\"\r\n type=\"date\"\r\n onChange={(e) => {\r\n let value = { ...BidsInfo };\r\n value.DeliveryDate = e?.target.value;\r\n setBidsInfo(value);\r\n }}\r\n />\r\n </div>\r\n <div className=\"col-md-6 mt-5\">\r\n <CheckboxLargeWB\r\n className=\"font-size-md\"\r\n text=\"Offer to Carrier\"\r\n color=\"success\"\r\n checked={BidsInfo.IsTendered}\r\n onChange={(e) => {\r\n let value = { ...BidsInfo };\r\n value.IsTendered = e?.target.checked;\r\n setBidsInfo(value);\r\n }}\r\n />\r\n </div>\r\n </div>\r\n </Modal.Body>\r\n <Modal.Footer>\r\n <button\r\n type=\"submit\"\r\n disabled={LoadingPost}\r\n onClick={() => {\r\n handleSubmitNewBids();\r\n }}\r\n className=\"btn btn-primary btn-elevate\"\r\n >\r\n Save\r\n {LoadingPost && (\r\n <Spinner\r\n as=\"span\"\r\n animation=\"border\"\r\n size=\"sm\"\r\n role=\"status\"\r\n aria-hidden=\"true\"\r\n />\r\n )}\r\n </button>\r\n </Modal.Footer>\r\n </Modal>\r\n <Modal\r\n size=\"md\"\r\n show={ShowAlert}\r\n onHide={setShowAlert}\r\n aria-labelledby=\"example-modal-sizes-title-sm\"\r\n >\r\n <Modal.Header>\r\n <Modal.Title id=\"example-modal-sizes-title-lg\">Add Alert</Modal.Title>\r\n <IconButton\r\n className={classes.button}\r\n aria-label=\"Close\"\r\n onClick={() => {\r\n setShowInfo({ ShipmentId: null, EventName: \"\", Note: \"\" });\r\n setShowAlert(false);\r\n }}\r\n >\r\n <CloseIcon />\r\n </IconButton>\r\n </Modal.Header>\r\n <Modal.Body>\r\n <div className=\"form-group\">\r\n <Select\r\n isClearable\r\n name=\"LoadBoard\"\r\n id=\"Alert\"\r\n label=\"Alert Name\"\r\n defaultValue={{\r\n value: ShowInfo.Alerts,\r\n label: ShowInfo.Alerts,\r\n }}\r\n inputId=\"react-select-single\"\r\n options={AlertListData.map((a) => {\r\n return { value: a.Alerts, label: a.Alerts };\r\n })}\r\n onChange={(e) => {\r\n if (e !== null) {\r\n let value = { ...ShowInfo };\r\n value.EventName = e.value;\r\n setShowInfo(value);\r\n }\r\n }}\r\n />\r\n </div>\r\n <div className=\"form-group mb-1\">\r\n <label for=\"exampleTextarea\">Add Note</label>\r\n <textarea\r\n className=\"form-control\"\r\n id=\"exampleTextarea\"\r\n rows=\"3\"\r\n value={ShowInfo.Notes}\r\n onChange={(e) => {\r\n let value = { ...ShowInfo };\r\n value.Note = e.target.value;\r\n setShowInfo(value);\r\n }}\r\n ></textarea>\r\n </div>\r\n </Modal.Body>\r\n <Modal.Footer>\r\n <button\r\n type=\"submit\"\r\n onClick={() => setShowAlert(false)}\r\n className=\"btn btn-outline btn-elevate\"\r\n >\r\n Cancel\r\n </button>\r\n {!isNewAlert ? (\r\n <button\r\n type=\"submit\"\r\n onClick={() => setShowAlert(false)}\r\n className=\"btn btn-danger btn-elevate\"\r\n >\r\n Clear\r\n </button>\r\n ) : (\r\n <button\r\n type=\"submit\"\r\n disabled={LoadingPost}\r\n onClick={() => {\r\n setLoadingPost(true);\r\n var myHeaders = new Headers();\r\n myHeaders.append(\r\n \"Authorization\",\r\n `bearer ${db.read().getState().Token}`\r\n );\r\n myHeaders.append(\"Content-Type\", \"application/json\");\r\n myHeaders.append(\"X-FP-API-KEY\", \"iphone\");\r\n var raw = JSON.stringify(ShowInfo);\r\n var requestOptions = {\r\n method: \"POST\",\r\n withCredentials: true,\r\n headers: myHeaders,\r\n body: raw,\r\n redirect: \"follow\",\r\n };\r\n fetch(`${window.$apiurl}/Tracking/Alert`, requestOptions)\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n const contentType = response.headers.get(\"content-type\");\r\n if (\r\n contentType &&\r\n contentType.indexOf(\"application/json\") !== -1\r\n ) {\r\n return response.json().then((data) => [statusCode, data]);\r\n } else {\r\n return response\r\n .text()\r\n .then((text) => [statusCode, { Message: \"\" }]);\r\n }\r\n })\r\n .then((result) => {\r\n if (result[0] === 200) {\r\n setLoadingPost(false);\r\n setShowAlert(false);\r\n Notification(\r\n \"success\",\r\n \"Alert Add Successfuly on Shipment ID \" + SO\r\n );\r\n GetTrackingGridData();\r\n } else {\r\n if (\r\n result[1].ModelState !== null &&\r\n result[1].ModelState !== undefined &&\r\n result[1].ModelState !== \"\"\r\n ) {\r\n let modelState = result[1].ModelState;\r\n if (modelState)\r\n Object.keys(modelState).forEach(function(k) {\r\n modelState[k].forEach((element) => {\r\n Notification(\"errorClick\", element);\r\n });\r\n });\r\n } else if (\r\n result[1].Message !== null &&\r\n result[1].Message !== undefined &&\r\n result[1].Message !== \"\"\r\n ) {\r\n Notification(\"errorClick\", result[1].Message);\r\n } else {\r\n Notification(\"errorClick\", \"Bad Request\");\r\n }\r\n setLoadingPost(false);\r\n }\r\n })\r\n .catch((error) => {\r\n Notification(\"error\", error);\r\n });\r\n setShowAlert(false);\r\n }}\r\n className=\"btn btn-primary btn-elevate\"\r\n >\r\n Save\r\n {LoadingPost && (\r\n <Spinner\r\n as=\"span\"\r\n animation=\"border\"\r\n size=\"sm\"\r\n role=\"status\"\r\n aria-hidden=\"true\"\r\n />\r\n )}\r\n </button>\r\n )}\r\n </Modal.Footer>\r\n </Modal>\r\n <Modal\r\n size=\"xl\"\r\n show={ShowMapView}\r\n aria-labelledby=\"example-modal-sizes-title-sm\"\r\n >\r\n <Modal.Header>\r\n <Modal.Title id=\"example-modal-sizes-title-lg\">Map View</Modal.Title>\r\n <IconButton\r\n className={classes.button}\r\n aria-label=\"Close\"\r\n onClick={() => {\r\n setShowMapView(false);\r\n }}\r\n >\r\n <CloseIcon />\r\n </IconButton>\r\n </Modal.Header>\r\n <Modal.Body>\r\n <div className=\"row\">\r\n <div className=\"col-lg-8 \">\r\n <div\r\n className={`card card-custom gutter-b`}\r\n style={{ height: \"500px\" }}\r\n >\r\n {/* Header */}\r\n <div className=\"card-header align-items-center border-bottom\">\r\n <h3 className=\"card-title align-items-start flex-column\">\r\n <span className=\"font-weight-bolder text-dark\">\r\n TRACKING MAP\r\n </span>\r\n </h3>\r\n </div>\r\n {/* Body */}\r\n {TrackingDataPoliLyne ? (\r\n TrackingDataPoliLyne.length !== 0 ? (\r\n <GoogleMapReact\r\n bootstrapURLKeys={{\r\n key: window.$GoogleMapsKey,\r\n }}\r\n defaultCenter={{\r\n lat: 37.923984,\r\n lng: -97.539071,\r\n }}\r\n defaultZoom={4}\r\n onGoogleApiLoaded={({ map, maps }) =>\r\n renderMarkers(map, maps)\r\n }\r\n ></GoogleMapReact>\r\n ) : (\r\n \"\"\r\n )\r\n ) : (\r\n \"\"\r\n )}\r\n </div>\r\n </div>\r\n <div className=\"col-lg-4 \">\r\n <div\r\n className={`card card-custom gutter-b tracking-list `}\r\n style={{ height: \"500px\" }}\r\n >\r\n {/* Header */}\r\n <div className=\"card-header align-items-center border-bottom\">\r\n <h3 className=\"card-title align-items-start flex-column\">\r\n <span className=\"font-weight-bolder text-dark\">\r\n TRACKING\r\n </span>\r\n </h3>\r\n </div>\r\n {/* Body */}\r\n <div className=\"card-body py-5 \" style={{ overflow: \"auto\" }}>\r\n <div className=\"timeline timeline-5 my-5\">\r\n <div className=\"timeline-item align-items-start\">\r\n <div className=\"timeline-badge\">\r\n <i className=\"fa fa-genderless text-warning icon-xxl\"></i>\r\n </div>\r\n\r\n <div className=\"timeline-content d-block\">\r\n <span className=\"mr-4 font-weight-bolder text-dark\">\r\n {values?.ShipperCity}, {values?.ShipperState}\r\n </span>\r\n <div className=\"timeline-content text-muted my-3 mx-0\">\r\n Start Tracking:{\" \"}\r\n {values?.ShipperArrivalDate !== null\r\n ? moment(values?.ShipperArrivalDate).format(\r\n \"MM/DD/YYYY, hh:mm A\"\r\n )\r\n : \"\"}\r\n </div>\r\n </div>\r\n </div>\r\n {TrackingDataGrid?.Tracking\r\n ? TrackingDataGrid?.Tracking.filter(\r\n (a) => a.TraceType !== \"Alert\"\r\n ).map((item, index) => (\r\n <div\r\n key={index}\r\n className=\"timeline-item align-items-start\"\r\n >\r\n <div className=\"timeline-badge\">\r\n <i\r\n className={\r\n item.TraceType === \"MANUAL\"\r\n ? \"fa fa-genderless text-warning icon-xxl\"\r\n : \"fa fa-genderless text-success icon-xxl\"\r\n }\r\n ></i>\r\n </div>\r\n\r\n <div className=\"timeline-content d-block\">\r\n <span className=\"mr-4 font-weight-bolder text-dark\">\r\n {item.LocationCity}, {item.LocationState}\r\n </span>\r\n <div className=\"timeline-content text-muted my-3 mx-0\">\r\n {item.EventName}:{\" \"}\r\n {item.TraceDate !== null\r\n ? moment(item.TraceDate).format(\r\n \"MM-DD-YYYY hh:mm A\"\r\n )\r\n : \"\"}\r\n </div>\r\n </div>\r\n </div>\r\n ))\r\n : \"\"}\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n {TrackingDataPoliLyne?.length > 0 ? (\r\n <GoogleMapReact\r\n bootstrapURLKeys={{\r\n key: window.$GoogleMapsKey,\r\n }}\r\n defaultCenter={{\r\n lat: 37.923984,\r\n lng: -97.539071,\r\n }}\r\n defaultZoom={4}\r\n onGoogleApiLoaded={({ map, maps }) => renderMarkers(map, maps)}\r\n ></GoogleMapReact>\r\n ) : (\r\n \"\"\r\n )}\r\n </Modal.Body>\r\n <Modal.Footer>\r\n <button\r\n type=\"submit\"\r\n onClick={() => setShowMapView(false)}\r\n className=\"btn btn-outline btn-elevate\"\r\n >\r\n Cancel\r\n </button>\r\n </Modal.Footer>\r\n </Modal>\r\n <Modal\r\n size=\"xl\"\r\n show={ShowLoadBidsModal}\r\n aria-labelledby=\"example-modal-sizes-title-sm\"\r\n >\r\n <Modal.Header>\r\n <Modal.Title id=\"example-modal-sizes-title-lg\">Load Bids</Modal.Title>\r\n <IconButton\r\n className={classes.button}\r\n aria-label=\"Close\"\r\n onClick={() => {\r\n setShowLoadBidsModal(false);\r\n }}\r\n >\r\n <CloseIcon />\r\n </IconButton>\r\n </Modal.Header>\r\n <Modal.Body>\r\n <div className=\"row col-md-12\">\r\n <div class=\"d-flex flex-wrap\">\r\n <p className=\" mt-3 pr-3\">\r\n Max Buy <span className=\"text-danger\">*</span>:\r\n </p>\r\n\r\n <span className=\"text-muted font-weight-bold\">\r\n <input\r\n type=\"number\"\r\n className=\"form-control\"\r\n name=\"MaxBuy\"\r\n id=\"MaxBuy\"\r\n value={values?.MaxBuy}\r\n onChange={(e) => {\r\n setFieldValue(\"MaxBuy\", e.target.value);\r\n }}\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n <div\r\n className={`col-lg-12 bg-light-${\r\n values?.IsCanceled\r\n ? \"danger\"\r\n : values?.OnHold\r\n ? \"warning\"\r\n : values.FreightChargeId !== 98\r\n ? \"primary\"\r\n : \"info\"\r\n } ${\r\n values?.IsCanceled\r\n ? \"text-danger\"\r\n : values?.OnHold\r\n ? \"text-warning\"\r\n : values.FreightChargeId !== 98\r\n ? \"text-primary\"\r\n : \"text-info\"\r\n } m-0 mb-2 p-0`}\r\n >\r\n <small style={{ fontSize: \"120%\" }} className=\"pr-3\">\r\n Shipment Status:{\" \"}\r\n <b>\r\n {\" \"}\r\n {values?.StatusName === \"Dispatched\"\r\n ? \"Out for Pickup\"\r\n : values?.StatusName}{\" \"}\r\n {values?.IsCanceled && \"(Canceled)\"}\r\n {values?.OnHold && \"(On Hold)\"}\r\n </b>\r\n </small>\r\n </div>\r\n {LoadingBidsStatus === true ? (\r\n <div\r\n className=\"col-lg-12 col-xxl-12 row mt-2\"\r\n style={{ left: \"44%\" }}\r\n >\r\n <Spinners name=\"folding-cube\" color=\"blue\" />\r\n </div>\r\n ) : (\r\n <>\r\n <BootstrapTable\r\n wrapperClasses=\"table-responsive\"\r\n classes=\"table table-head-custom table-vertical-center\"\r\n bootstrap4\r\n pagination={paginationFactory({\r\n showTotal: true,\r\n sizePerPageList: [\r\n { text: \"5\", value: 5 },\r\n { text: \"10\", value: 10 },\r\n { text: \"25\", value: 25 },\r\n ],\r\n })}\r\n defaultSorted={[\r\n { dataField: \"PickupAppointmentDate\", order: \"desc\" },\r\n ]}\r\n bordered={false}\r\n rowClasses={rowClassesBids}\r\n keyField=\"Id\"\r\n data={DataListBids || []}\r\n columns={Bidscolumns}\r\n />\r\n </>\r\n )}\r\n </Modal.Body>\r\n <Modal.Footer>\r\n <button\r\n type=\"submit\"\r\n onClick={() => setShowLoadBidsModal(false)}\r\n className=\"btn btn-outline btn-elevate\"\r\n >\r\n Cancel\r\n </button>\r\n </Modal.Footer>\r\n </Modal>\r\n {values?.StatusName !== \"New\" && (\r\n <Card>\r\n <CardHeader title=\"Tracking Details\">\r\n <CardHeaderToolbar>\r\n <button\r\n type=\"button\"\r\n className=\"btn btn-success mr-4\"\r\n onClick={() => {\r\n setCountryValue({\r\n value: \"US\",\r\n label: \"United States\",\r\n });\r\n\r\n handleCountryChange(\"US\");\r\n setShowTrace(true);\r\n }}\r\n >\r\n <i className=\"fas fa-plus mr-3\" />\r\n Add Trace Log\r\n </button>\r\n <button\r\n type=\"button\"\r\n className=\"btn btn-outline-warning mr-4\"\r\n onClick={() => {\r\n setIsNewAlert(true);\r\n setShowInfo({\r\n ShipmentId: SO,\r\n EventName: \"\",\r\n Note: \"\",\r\n });\r\n setShowAlert(true);\r\n }}\r\n >\r\n <i className=\"fas fa-exclamation-triangle mr-3\" />\r\n Add Alert\r\n </button>\r\n <button\r\n type=\"button\"\r\n className=\"btn btn-outline-primary mr-4\"\r\n onClick={() => {\r\n setShowMapView(true);\r\n }}\r\n >\r\n <i className=\"fas fa-map mr-3\" />\r\n Map View\r\n </button>\r\n <button\r\n type=\"button\"\r\n className=\"btn btn-outline-success\"\r\n id=\"refreshTrackingTMS\"\r\n onClick={() => {\r\n GetTrackingGridData();\r\n }}\r\n >\r\n Refresh\r\n </button>\r\n <button\r\n className=\"btn btn-light-primary py-3 pl-md-8 pr-md-8 ml-5\"\r\n onClick={() => {\r\n try {\r\n setIsCollapsedTracking(isCollapsedTracking ? false : true);\r\n } catch (err) {\r\n console.log(err);\r\n }\r\n }}\r\n >\r\n {isCollapsedTracking ? (\r\n <i class=\"fas fa-chevron-up\" style={{ fontSize: \"18px\" }}></i>\r\n ) : (\r\n <i\r\n class=\"fas fa-chevron-down\"\r\n style={{ fontSize: \"18px\" }}\r\n ></i>\r\n )}\r\n </button>\r\n </CardHeaderToolbar>\r\n </CardHeader>\r\n <CardBody className={isCollapsedTracking ? \"d-none\" : \"\"}>\r\n <div\r\n className={`col-lg-12 bg-light-${\r\n values?.IsCanceled\r\n ? \"danger\"\r\n : values?.OnHold\r\n ? \"warning\"\r\n : values.FreightChargeId !== 98\r\n ? \"primary\"\r\n : \"info\"\r\n } ${\r\n values?.IsCanceled\r\n ? \"text-danger\"\r\n : values?.OnHold\r\n ? \"text-warning\"\r\n : values.FreightChargeId !== 98\r\n ? \"text-primary\"\r\n : \"text-info\"\r\n } m-0 mb-2 p-0`}\r\n >\r\n <small style={{ fontSize: \"120%\" }} className=\"pr-3\">\r\n Shipment Status:{\" \"}\r\n <b>\r\n {\" \"}\r\n {values?.StatusName === \"Dispatched\"\r\n ? \"Out for Pickup\"\r\n : values?.StatusName}{\" \"}\r\n {values?.IsCanceled && \"(Canceled)\"}\r\n {values?.OnHold && \"(On Hold)\"}\r\n </b>\r\n </small>\r\n <small style={{ fontSize: \"120%\" }} className=\"pr-3\">\r\n Latest Event:{\" \"}\r\n <b>\r\n {values?.IsCanceled\r\n ? \"Cancelled\"\r\n : TrackingDataGrid?.CurrentEvent}\r\n </b>\r\n </small>\r\n <small style={{ fontSize: \"120%\" }} className=\"pr-3\">\r\n Latest Location:{\" \"}\r\n <b>\r\n {TrackingDataGrid?.CurrentCity !== undefined\r\n ? TrackingDataGrid?.CurrentCity +\r\n (TrackingDataGrid?.CurrentState !== null &&\r\n TrackingDataGrid?.CurrentState !== undefined\r\n ? \", \"\r\n : \"\") +\r\n TrackingDataGrid?.CurrentState\r\n : \"\"}\r\n </b>\r\n </small>\r\n <small style={{ fontSize: \"120%\" }} className=\"pr-3\">\r\n Latest Trace date:{\" \"}\r\n <b>\r\n {TrackingDataGrid?.CurrentDate !== null &&\r\n TrackingDataGrid?.CurrentDate !== undefined\r\n ? moment(TrackingDataGrid?.CurrentDate).format(\r\n \"MM-DD-YYYY hh:mm A\"\r\n )\r\n : \"\"}\r\n </b>\r\n </small>\r\n </div>\r\n {LoadingBidsStatus === true ? (\r\n <div\r\n className=\"col-lg-12 col-xxl-12 row mt-2\"\r\n style={{ left: \"44%\" }}\r\n >\r\n <Spinners name=\"folding-cube\" color=\"blue\" />\r\n </div>\r\n ) : (\r\n <>\r\n <BootstrapTable\r\n wrapperClasses=\"table-responsive\"\r\n classes=\"table table-head-custom table-vertical-center\"\r\n bootstrap4\r\n pagination={paginationFactory({\r\n showTotal: true,\r\n })}\r\n bordered={false}\r\n rowClasses={rowClasses}\r\n keyField=\"Id\"\r\n data={TrackingDataGrid?.Tracking || []}\r\n columns={columns}\r\n />\r\n <Modal\r\n show={modalDeleteTracking}\r\n aria-labelledby=\"example-modal-sizes-title-lg\"\r\n >\r\n <Modal.Header closeButton>\r\n <Modal.Title id=\"example-modal-sizes-title-lg\">\r\n Tracking Delete #: {rowItemTracking?.Id}\r\n </Modal.Title>\r\n </Modal.Header>\r\n <Modal.Body>\r\n <span>\r\n Are you sure to permanently delete selected Tracking?\r\n </span>\r\n </Modal.Body>\r\n <Modal.Footer>\r\n <div>\r\n <button\r\n type=\"button\"\r\n onClick={() => setModalTrackingDelete(false)}\r\n className=\"btn btn-light btn-elevate\"\r\n >\r\n Cancel\r\n </button>\r\n <> </>\r\n <button\r\n type=\"button\"\r\n onClick={async () =>\r\n await DeleteTracking(rowItemTracking?.Id)\r\n }\r\n className=\"btn btn-danger btn-elevate\"\r\n >\r\n Delete\r\n </button>\r\n </div>\r\n </Modal.Footer>\r\n </Modal>\r\n </>\r\n )}\r\n </CardBody>\r\n </Card>\r\n )}\r\n {values?.StatusName === \"New\" && (\r\n <Card>\r\n <CardHeader title=\"Load Bids\">\r\n <CardHeaderToolbar>\r\n <button\r\n type=\"button\"\r\n className=\"btn btn-success mr-4\"\r\n onClick={() => {\r\n setShowLoadBids(true);\r\n }}\r\n >\r\n <i className=\"fas fa-plus mr-3\" />\r\n New\r\n </button>\r\n <button\r\n type=\"button\"\r\n className=\"btn btn-primary mr-4\"\r\n onClick={() => {\r\n GetLoadBidsData();\r\n }}\r\n >\r\n Refresh\r\n </button>\r\n <button\r\n className=\"btn btn-light-primary py-3 pl-md-8 pr-md-8 ml-5\"\r\n onClick={() => {\r\n try {\r\n setIsCollapsedBids(isCollapsedBids ? false : true);\r\n } catch (err) {\r\n console.log(err);\r\n }\r\n }}\r\n >\r\n {isCollapsedBids ? (\r\n <i class=\"fas fa-chevron-up\" style={{ fontSize: \"18px\" }}></i>\r\n ) : (\r\n <i\r\n class=\"fas fa-chevron-down\"\r\n style={{ fontSize: \"18px\" }}\r\n ></i>\r\n )}\r\n </button>\r\n </CardHeaderToolbar>\r\n </CardHeader>\r\n <CardBody className={isCollapsedBids ? \"d-none\" : \"\"}>\r\n <div className=\"row col-md-12\">\r\n <div class=\"d-flex flex-wrap\">\r\n <p className=\" mt-3 pr-3\">\r\n Max Buy <span className=\"text-danger\">*</span>:\r\n </p>\r\n <span className=\"text-muted font-weight-bold\">\r\n <input\r\n type=\"number\"\r\n className=\"form-control\"\r\n name=\"MaxBuy\"\r\n id=\"MaxBuy\"\r\n value={values?.MaxBuy}\r\n onChange={(e) => {\r\n setFieldValue(\"MaxBuy\", e.target.value);\r\n }}\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n <div\r\n className={`col-lg-12 bg-light-${\r\n values?.IsCanceled\r\n ? \"danger\"\r\n : values?.OnHold\r\n ? \"warning\"\r\n : values.FreightChargeId !== 98\r\n ? \"primary\"\r\n : \"info\"\r\n } ${\r\n values?.IsCanceled\r\n ? \"text-danger\"\r\n : values?.OnHold\r\n ? \"text-warning\"\r\n : values.FreightChargeId !== 98\r\n ? \"text-primary\"\r\n : \"text-info\"\r\n } m-0 mb-2 p-0`}\r\n >\r\n <small style={{ fontSize: \"120%\" }} className=\"pr-3\">\r\n Shipment Status:{\" \"}\r\n <b>\r\n {\" \"}\r\n {values?.StatusName === \"Dispatched\"\r\n ? \"Out for Pickup\"\r\n : values?.StatusName}{\" \"}\r\n {values?.IsCanceled && \"(Canceled)\"}\r\n {values?.OnHold && \"(On Hold)\"}\r\n </b>\r\n </small>\r\n </div>\r\n {LoadingBidsStatus === true ? (\r\n <div\r\n className=\"col-lg-12 col-xxl-12 row mt-2\"\r\n style={{ left: \"44%\" }}\r\n >\r\n <Spinners name=\"folding-cube\" color=\"blue\" />\r\n </div>\r\n ) : (\r\n <>\r\n <BootstrapTable\r\n wrapperClasses=\"table-responsive\"\r\n classes=\"table table-head-custom table-vertical-center\"\r\n bootstrap4\r\n pagination={paginationFactory({\r\n showTotal: true,\r\n sizePerPageList: [\r\n { text: \"5\", value: 5 },\r\n { text: \"10\", value: 10 },\r\n { text: \"25\", value: 25 },\r\n ],\r\n })}\r\n defaultSorted={[\r\n { dataField: \"PickupAppointmentDate\", order: \"desc\" },\r\n ]}\r\n bordered={false}\r\n rowClasses={rowClassesBids}\r\n keyField=\"Id\"\r\n data={DataListBids || []}\r\n columns={Bidscolumns}\r\n />\r\n </>\r\n )}\r\n </CardBody>\r\n </Card>\r\n )}\r\n <div\r\n className=\"label label-lg label-primary label-inline border-0 w-100 font-weight-bold text-center p-5 my-5 justify-content-start\"\r\n style={{ fontSize: \"15px\" }}\r\n >\r\n Shipping - Receiving\r\n </div>\r\n <Card>\r\n <CardHeader\r\n title={`${\r\n ViewModelOptions?.Shippers.length > 0 &&\r\n ViewModelOptions?.Shippers.filter(\r\n (a) => a.Id === values?.ShipperId\r\n )[0]?.Name\r\n ? `Shipping Details | Company Name : ${\r\n ViewModelOptions?.Shippers.filter(\r\n (a) => a.Id === values?.ShipperId\r\n )[0]?.Name\r\n }`\r\n : `Shipping Details | Select a company`\r\n }`}\r\n >\r\n {values.ModeName !== \"Drayage\" ? (\r\n <CardHeaderToolbar>\r\n <button\r\n className=\"btn btn-light-primary py-3 pl-5 pr-4\"\r\n onClick={() => {\r\n try {\r\n const currentItem =\r\n listMultiStopsShipping.length > 0 &&\r\n listMultiStopsShipping[0];\r\n if (\r\n currentItem &&\r\n currentItem.Type === \"Pick\" &&\r\n !currentItem?.IsNew\r\n ) {\r\n setRowItem(currentItem);\r\n setShowModalConfirmationPosition(true);\r\n } else {\r\n Notification(\r\n \"errorClick\",\r\n \"Stop should be a pickup type to set position\"\r\n );\r\n }\r\n } catch (err) {\r\n console.log(err);\r\n }\r\n }}\r\n >\r\n <i\r\n class=\"fas fa-arrow-circle-down\"\r\n style={{ fontSize: \"18px\" }}\r\n ></i>\r\n </button>\r\n <button\r\n type=\"button\"\r\n className=\"btn btn-success mr-4 ml-4\"\r\n onClick={async () => {\r\n try {\r\n fetchNewStop(false);\r\n } catch (err) {\r\n console.log(err);\r\n }\r\n }}\r\n >\r\n <i className=\"fas fa-plus mr-3\" />\r\n Add Stop\r\n </button>\r\n {showSaveArrows && (\r\n <button\r\n type=\"button\"\r\n className=\"btn btn-light-primary py-3 pl-md-8 pr-md-8 ml-5\"\r\n onClick={async () => {\r\n const listPut = [];\r\n listMultiStopsShipping.length > 0 &&\r\n listMultiStopsShipping.forEach((item, index) => {\r\n listPut.push({\r\n StopId: item.Id,\r\n Position: index + 1,\r\n });\r\n });\r\n await SavePositions(listPut);\r\n }}\r\n >\r\n <i className=\"fas fa-save mr-3\" />\r\n Save Positions\r\n </button>\r\n )}\r\n <button\r\n className=\"btn btn-light-primary py-3 pl-md-8 pr-md-8 ml-5\"\r\n onClick={() => {\r\n try {\r\n setIsCollapsedShipping(isCollapsedShipping ? false : true);\r\n } catch (err) {\r\n console.log(err);\r\n }\r\n }}\r\n >\r\n {isCollapsedShipping ? (\r\n <i class=\"fas fa-chevron-up\" style={{ fontSize: \"18px\" }}></i>\r\n ) : (\r\n <i\r\n class=\"fas fa-chevron-down\"\r\n style={{ fontSize: \"18px\" }}\r\n ></i>\r\n )}\r\n </button>\r\n </CardHeaderToolbar>\r\n ) : (\r\n <CardHeaderToolbar>\r\n <button\r\n className=\"btn btn-light-primary py-3 pl-md-8 pr-md-8 ml-5\"\r\n onClick={() => {\r\n try {\r\n setIsCollapsedShipping(isCollapsedShipping ? false : true);\r\n } catch (err) {\r\n console.log(err);\r\n }\r\n }}\r\n >\r\n {isCollapsedShipping ? (\r\n <i class=\"fas fa-chevron-up\" style={{ fontSize: \"18px\" }}></i>\r\n ) : (\r\n <i\r\n class=\"fas fa-chevron-down\"\r\n style={{ fontSize: \"18px\" }}\r\n ></i>\r\n )}\r\n </button>\r\n </CardHeaderToolbar>\r\n )}\r\n </CardHeader>\r\n <CardBody className={isCollapsedShipping ? \"d-none\" : \"\"}>\r\n <div className=\"row mb-5\">\r\n <Col xl=\"12\" lg=\"12\" md=\"12\" className=\"mb-5\">\r\n <div className=\" flex-wrap align-items-center pb-5\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg mr-3\"\r\n >\r\n Company Name <span className=\"text-danger\">*</span> :\r\n </a>\r\n <span className=\"font-weight-bold\">\r\n <CreatableSelect\r\n className=\"mt-4\"\r\n isClearable\r\n name=\"ShipperId\"\r\n id=\"ShipperId\"\r\n label=\"Company\"\r\n value={ViewModelOptions?.Shippers.filter(\r\n (a) => a.Id === values?.ShipperId\r\n ).map((a) => {\r\n return {\r\n value: a.Id,\r\n label: a.Name,\r\n ValueId: a.ValueId,\r\n };\r\n })}\r\n options={ViewModelOptions?.Shippers.map((a) => {\r\n return {\r\n value: a.Id,\r\n label: a.Name,\r\n ValueId: a.ValueId,\r\n };\r\n })}\r\n onChange={async (newValue) => {\r\n if (newValue !== null) {\r\n if (newValue?.__isNew__) {\r\n setmodalAddresses(true);\r\n setCountryValue({\r\n value: \"US\",\r\n label: \"United States\",\r\n });\r\n\r\n handleCountryChange(\"US\");\r\n var value = {\r\n ...AddressObjectPost,\r\n };\r\n value.Name = newValue.label;\r\n setAddressObjectPost(value);\r\n setIsShipperSelected(true);\r\n } else {\r\n setFieldValue(\"ShipperId\", newValue?.value);\r\n setFieldValue(\r\n \"ShipperCompanyName\",\r\n newValue?.label\r\n );\r\n }\r\n if (newValue?.ValueId !== null) {\r\n setFieldValue(\"ShipmentTypeId\", 1358);\r\n } else {\r\n setFieldValue(\"ShipmentTypeId\", 1357);\r\n }\r\n } else {\r\n setFieldValue(\"ShipperId\", null);\r\n setFieldValue(\"ShipperCompanyName\", \"\");\r\n\r\n let values = { ...shipper };\r\n values = {\r\n ShipperId: 0,\r\n ShipperAddress: \"\",\r\n ShipperCity: \"\",\r\n ShipperState: \"\",\r\n ShipperZipCode: \"\",\r\n ShipperPhoneNumber: \"\",\r\n ShipperFax: \"\",\r\n ShipperContactName: \"\",\r\n ShipperEmail: \"\",\r\n };\r\n setShipper(values);\r\n }\r\n if (!values?.IsEditedReceiving2) {\r\n setFieldValue(\r\n \"EmptyReturnLocationId\",\r\n newValue?.value ?? null\r\n );\r\n }\r\n if (!newValue?.__isNew__) {\r\n await fetchSelectedAddress(\r\n newValue !== null ? newValue.value : null,\r\n true,\r\n false\r\n );\r\n }\r\n }}\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n </Col>\r\n <div className=\"col-xl-4 col-lg-4 col-md-4 border-right\">\r\n <div className=\" flex-wrap align-items-center pb-5\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg mr-3\"\r\n >\r\n Street Address :\r\n </a>\r\n <span className=\"text-muted font-weight-bold\">\r\n <input\r\n type=\"text\"\r\n className=\"form-control mt-4\"\r\n name=\"ShipperAddress\"\r\n disabled={true}\r\n id=\"ShipperAddress\"\r\n value={shipper?.ShipperAddress}\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n <div className=\" flex-wrap align-items-center pb-5\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg mr-3\"\r\n >\r\n City :\r\n </a>\r\n <span className=\"text-muted font-weight-bold\">\r\n <input\r\n type=\"text\"\r\n className=\"form-control mt-4\"\r\n name=\"ShipperCity\"\r\n disabled={true}\r\n id=\"ShipperCity\"\r\n value={shipper?.ShipperCity}\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n <div className=\" flex-wrap align-items-center pb-5\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg mr-3\"\r\n >\r\n State :\r\n </a>\r\n <span className=\"text-muted font-weight-bold\">\r\n <input\r\n type=\"text\"\r\n className=\"form-control mt-4\"\r\n name=\"ShipperState\"\r\n disabled={true}\r\n id=\"ShipperState\"\r\n value={shipper?.ShipperState}\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n <div className=\" flex-wrap align-items-center pb-5\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg mr-3\"\r\n >\r\n Zip :\r\n </a>\r\n <span className=\"text-muted font-weight-bold\">\r\n <input\r\n type=\"text\"\r\n className=\"form-control mt-4\"\r\n name=\"ShipperZipCode\"\r\n id=\"ShipperZipCode\"\r\n disabled={true}\r\n value={shipper?.ShipperZipCode}\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n </div>\r\n <div className=\"col-xl-4 col-lg-4 col-md-4 border-right\">\r\n <div className=\" flex-wrap align-items-center pb-5\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg mr-3\"\r\n >\r\n Contact Name :\r\n </a>\r\n <span className=\"text-muted font-weight-bold\">\r\n <input\r\n type=\"text\"\r\n className=\"form-control mt-4\"\r\n name=\"ShipperContactName\"\r\n disabled={true}\r\n id=\"ShipperContactName\"\r\n label=\"Contact\"\r\n value={shipper?.ShipperContactName}\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n <div className=\" flex-wrap align-items-center pb-5\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg mr-3\"\r\n >\r\n Contact Phone :\r\n </a>\r\n <span className=\"text-muted font-weight-bold\">\r\n <input\r\n type=\"tel\"\r\n className=\"form-control mt-4\"\r\n name=\"ShipperPhoneNumber\"\r\n id=\"ShipperPhoneNumber\"\r\n disabled={true}\r\n value={shipper?.ShipperPhoneNumber}\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n <div className=\" flex-wrap align-items-center pb-5\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg mr-3\"\r\n >\r\n Contact Fax :\r\n </a>\r\n <span className=\"text-muted font-weight-bold\">\r\n <input\r\n type=\"tel\"\r\n className=\"form-control mt-4\"\r\n name=\"ShipperFax\"\r\n id=\"ShipperFax\"\r\n disabled={true}\r\n value={shipper?.ShipperFax}\r\n label=\"Fax\"\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n <div className=\" flex-wrap align-items-center pb-5\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg mr-3\"\r\n >\r\n Contact Email :\r\n </a>\r\n <span className=\"text-muted font-weight-bold\">\r\n <input\r\n type=\"email\"\r\n className=\"form-control mt-4\"\r\n name=\"ShipperEmail\"\r\n disabled={true}\r\n id=\"ShipperEmail\"\r\n value={shipper?.ShipperEmail}\r\n label=\"Email\"\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n </div>\r\n <div className=\"col-xl-4 col-lg-4 col-md-4 border-right\">\r\n {values.ModeName === \"Drayage\" ? (\r\n <div className=\" flex-wrap align-items-center pb-3\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary font-size-lg mr-3\"\r\n >\r\n LFD:\r\n </a>\r\n <span className=\"text-muted font-weight-bold\">\r\n <TextField\r\n id=\"LastFreeDate\"\r\n type=\"date\"\r\n value={String(\r\n moment(values.LastFreeDate).format(\"YYYY-MM-DD\")\r\n )}\r\n onChange={(e) => {\r\n setFieldValue(\"LastFreeDate\", e.target.value);\r\n }}\r\n className=\"form-control mt-4\"\r\n InputLabelProps={{\r\n shrink: true,\r\n }}\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n ) : (\r\n <div className=\" flex-wrap align-items-center pb-3\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary font-size-lg mr-3\"\r\n >\r\n Req. Ship Date:<span className=\"text-danger\">*</span>\r\n </a>\r\n <span className=\"text-muted font-weight-bold\">\r\n <TextField\r\n id=\"ReqShipDate\"\r\n type=\"date\"\r\n value={String(\r\n moment(values.ReqShipDate).format(\"YYYY-MM-DD\")\r\n )}\r\n onChange={(e) => {\r\n setFieldValue(\"ReqShipDate\", e.target.value);\r\n if (\r\n values?.ShipmentDate === \"\" ||\r\n values?.ShipmentDate === undefined ||\r\n values?.ShipmentDate === null\r\n ) {\r\n setFieldValue(\"ShipmentDate\", e.target.value);\r\n }\r\n }}\r\n className=\"form-control mt-4\"\r\n InputLabelProps={{\r\n shrink: true,\r\n }}\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n )}\r\n {values.ModeName === \"Drayage\" ? (\r\n <div className=\" flex-wrap align-items-center pb-5\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg mr-3\"\r\n >\r\n Container # :\r\n </a>\r\n <span className=\"text-muted font-weight-bold\">\r\n <input\r\n type=\"text\"\r\n className=\"form-control mt-4\"\r\n name=\"EmptyReturnNumber\"\r\n id=\"EmptyReturnNumber\"\r\n value={values?.EmptyReturnNumber}\r\n onChange={(e) => {\r\n setFieldValue(\"EmptyReturnNumber\", e.target.value);\r\n setFieldValue(\"Equipment\", e.target.value);\r\n }}\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n ) : (\r\n <div className=\" flex-wrap align-items-center pb-5\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg mr-3\"\r\n >\r\n PU # :\r\n </a>\r\n <span className=\"text-muted font-weight-bold\">\r\n <input\r\n type=\"text\"\r\n className=\"form-control mt-4\"\r\n name=\"ShipperNumber\"\r\n id=\"ShipperNumber\"\r\n value={values?.ShipperNumber}\r\n onChange={(e) => {\r\n setFieldValue(\"ShipperNumber\", e.target.value);\r\n }}\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n )}\r\n {values.ModeName !== \"Drayage\" && (\r\n <div className=\" flex-wrap align-items-center pb-5\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg mr-3\"\r\n >\r\n Seal # :\r\n </a>\r\n <span className=\"text-muted font-weight-bold\">\r\n <input\r\n type=\"text\"\r\n className=\"form-control mt-4\"\r\n name=\"SealNumber\"\r\n id=\"SealNumber\"\r\n value={values.SealNumber}\r\n onChange={(e) => {\r\n setFieldValue(\"SealNumber\", e.target.value);\r\n }}\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n )}\r\n\r\n {values.ModeName !== \"Drayage\" && (\r\n <div className=\" flex-wrap align-items-center pb-5\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg mr-3\"\r\n >\r\n Special Req :\r\n </a>\r\n <span className=\"font-weight-bold\">\r\n <Select\r\n isMulti\r\n className=\"basic-multi-select mt-4\"\r\n classNamePrefix=\"select\"\r\n name=\"ShipperSpecialReq\"\r\n id=\"ShipperSpecialReq\"\r\n value={ViewModelOptions?.SpecialReqs.filter(function(\r\n el\r\n ) {\r\n return (\r\n values?.ShipperSpecialReq?.indexOf(el.Name) >= 0\r\n );\r\n }).map((a) => {\r\n return {\r\n value: a.Name,\r\n label: a.Name,\r\n };\r\n })}\r\n options={ViewModelOptions?.SpecialReqs.map((a) => {\r\n return {\r\n value: a.Name,\r\n label: a.Name,\r\n };\r\n })}\r\n onChange={(newValue) => {\r\n if (newValue !== null) {\r\n setFieldValue(\r\n \"ShipperSpecialReq\",\r\n newValue.map((a) => a.value)\r\n );\r\n } else {\r\n setFieldValue(\"ShipperSpecialReq\", []);\r\n }\r\n }}\r\n label=\"Load Board\"\r\n inputId=\"react-select-single\"\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n )}\r\n\r\n <div className=\" flex-wrap align-items-center pb-5\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <CheckboxLargeWB\r\n className=\"font-size-md\"\r\n text=\"APPT\"\r\n name=\"ShipperApptRequired\"\r\n id=\"ShipperApptRequired\"\r\n checked={\r\n values.ModeName === \"Drayage\"\r\n ? values.ShipperApptRequired === false\r\n ? false\r\n : true\r\n : values.ShipperApptRequired === true\r\n ? true\r\n : false\r\n }\r\n onChange={(event) => {\r\n setFieldValue(\r\n \"ShipperApptRequired\",\r\n event.target.checked\r\n );\r\n }}\r\n />\r\n </div>\r\n </div>\r\n </div>\r\n <div className=\"col-xl-8 col-lg-8 col-md-8 border-right\">\r\n <div className=\" flex-wrap align-items-center pb-5\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg mr-3\"\r\n >\r\n Note :\r\n </a>\r\n <span className=\"text-muted font-weight-bold\">\r\n <textarea\r\n className=\"form-control\"\r\n id=\"ShippingNote\"\r\n rows=\"3\"\r\n value={values.ShippingNote}\r\n onChange={(e) => {\r\n setFieldValue(\"ShippingNote\", e.target.value);\r\n }}\r\n ></textarea>\r\n </span>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n {values.ModeName === \"Drayage\" && (\r\n <Row className=\" mb-5\">\r\n <Col xl=\"4\" lg=\"4\" md=\"4\">\r\n <div className=\" flex-wrap align-items-center pb-5\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg mr-3\"\r\n >\r\n Vessel Eta :\r\n <br />\r\n </a>\r\n <span className=\"font-weight-bold\">\r\n <DateTime30GL\r\n defaultvalue={values.VesselEta}\r\n onChange={(newValue) => {\r\n setFieldValue(\"VesselEta\", newValue);\r\n }}\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n </Col>\r\n <Col xl=\"4\" lg=\"4\" md=\"4\">\r\n <div className=\" flex-wrap align-items-center pb-5\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg mr-3\"\r\n >\r\n Available Eta :\r\n <br />\r\n </a>\r\n <span className=\"font-weight-bold\">\r\n <DateTime30GL\r\n defaultvalue={values.AvailableEta}\r\n onChange={(newValue) => {\r\n setFieldValue(\"AvailableEta\", newValue);\r\n }}\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n </Col>\r\n </Row>\r\n )}\r\n\r\n <Row className=\"pt-5 mb-5\">\r\n <Col xl=\"4\" lg=\"4\" md=\"4\">\r\n <div className=\" flex-wrap align-items-center pb-5\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-3 font-size-lg mr-3\"\r\n >\r\n PU APPT Date :\r\n <br />\r\n </a>\r\n <span className=\"font-weight-bold\">\r\n <DateTime30GL\r\n defaultvalue={values.PUAppointment}\r\n onChange={(newValue) => {\r\n setFieldValue(\"PUAppointment\", newValue);\r\n }}\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n </Col>\r\n <Col xl=\"2\" lg=\"2\" md=\"3\" className=\"\">\r\n <div className=\" flex-wrap align-items-center pb-5\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-3 font-size-lg mr-3\"\r\n >\r\n PU APPT to Time :\r\n <br />\r\n </a>\r\n <span className=\"font-weight-bold\">\r\n <input\r\n className={`form-control mt-4`}\r\n value={\r\n values.PUAppointementTo === null ||\r\n values.PUAppointementTo === \"\"\r\n ? \"\"\r\n : values.PUAppointementTo.length > 4\r\n ? moment(values.PUAppointementTo).format(\"HH:mm\")\r\n : values.PUAppointementTo\r\n }\r\n placeholder=\"00:00\"\r\n onKeyUp={(e) => {\r\n if (e.keyCode === 8) {\r\n setFieldValue(\"\", \"\");\r\n return;\r\n }\r\n }}\r\n onChange={(e) => {\r\n var value = e.target?.value;\r\n if (!value || value === \"\") {\r\n setFieldValue(\"PUAppointementTo\", \"\");\r\n }\r\n if (value.length === 2) value += \":\";\r\n if (value.length > 5) value = value[5];\r\n if (value.length > 4) {\r\n setFieldValue(\r\n \"PUAppointementTo\",\r\n moment().format(\"YYYY-MM-DDT\") + value\r\n );\r\n } else {\r\n setFieldValue(\"PUAppointementTo\", value);\r\n }\r\n }}\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n </Col>\r\n <Col xl=\"4\" lg=\"4\" md=\"3\">\r\n <div className=\" flex-wrap align-items-center pb-5\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg mr-3\"\r\n >\r\n Entered By :\r\n </a>\r\n <input\r\n type=\"tel\"\r\n className=\"form-control mt-4\"\r\n name=\"EnteredBy\"\r\n id=\"EnteredBy\"\r\n disabled={true}\r\n value={values.PUAppointmentEnteredBy}\r\n label=\"Entered By\"\r\n />\r\n </div>\r\n </div>\r\n </Col>\r\n {values.ModeName !== \"Drayage\" && (\r\n <Col xl=\"2\" lg=\"2\" md=\"2\" className=\"mt-5 pt-5\">\r\n <div className=\" flex-wrap align-items-center pb-5\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <CheckboxLargeWB\r\n className=\"font-size-md\"\r\n name=\"ShipperDt\"\r\n text=\"D/T\"\r\n id=\"ShipperDt\"\r\n checked={values.ShipperDt === true ? true : false}\r\n onChange={(event) => {\r\n setFieldValue(\"ShipperDt\", event.target.checked);\r\n }}\r\n />\r\n </div>\r\n </div>\r\n </Col>\r\n )}\r\n\r\n {values.ShipperDt === true ? (\r\n <>\r\n <Col xl=\"4\" lg=\"4\" md=\"4\" className=\"\">\r\n <div className=\" flex-wrap align-items-center pb-5\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-3 font-size-lg mr-3\"\r\n >\r\n Empty Date:\r\n <br />\r\n </a>\r\n <span className=\"font-weight-bold\">\r\n <DateTime30GL\r\n defaultvalue={values.PUAppointmentDt}\r\n onChange={(newValue) => {\r\n setFieldValue(\"PUAppointmentDt\", newValue);\r\n }}\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n </Col>\r\n {/* <Col xl=\"4\" lg=\"4\" md=\"4\" className=\"\">\r\n <div className=\" flex-wrap align-items-center pb-5\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-3 font-size-lg mr-3\"\r\n >\r\n Recovery Date :\r\n <br />\r\n </a>\r\n <span className=\"font-weight-bold\">\r\n <DateTime30GL\r\n defaultvalue={values.PUAppointmentRecoveryDate}\r\n onChange={(newValue) => {\r\n setFieldValue(\r\n \"PUAppointmentRecoveryDate\",\r\n newValue\r\n );\r\n }}\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n </Col> */}\r\n </>\r\n ) : (\r\n \"\"\r\n )}\r\n </Row>\r\n <Row className=\" mb-5\">\r\n <Col xl=\"4\" lg=\"4\" md=\"4\">\r\n <div className=\" flex-wrap align-items-center pb-5\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg mr-3\"\r\n >\r\n Arrival Date :\r\n <br />\r\n </a>\r\n <span className=\"font-weight-bold\">\r\n <DateTime30GL\r\n defaultvalue={values.ShipperArrivalDate}\r\n onChange={(newValue) => {\r\n setFieldValue(\"ShipperArrivalDate\", newValue);\r\n }}\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n </Col>\r\n <Col xl=\"4\" lg=\"4\" md=\"4\">\r\n <div className=\" flex-wrap align-items-center pb-5\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg mr-3\"\r\n >\r\n Entered By :\r\n </a>\r\n <input\r\n type=\"tel\"\r\n className=\"form-control mt-4\"\r\n name=\"EnteredBy\"\r\n id=\"EnteredBy\"\r\n disabled={true}\r\n value={values.ShipperArrivalDateEnteredBy}\r\n label=\"Entered By\"\r\n />\r\n </div>\r\n </div>\r\n </Col>\r\n <Col xl=\"4\" lg=\"4\" md=\"4\">\r\n <div className=\" flex-wrap align-items-center pb-5\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg mr-3\"\r\n >\r\n Entry Date/Time :\r\n </a>\r\n <span className=\"text-muted font-weight-bold\">\r\n <input\r\n type=\"tel\"\r\n className=\"form-control mt-4\"\r\n name=\"ShipperArrivalDateEnteredDate\"\r\n id=\"ShipperArrivalDateEnteredDate\"\r\n disabled={true}\r\n value={\r\n values.ShipperArrivalDateEnteredDate === null\r\n ? \"\"\r\n : moment(values.ShipperArrivalDateEnteredDate).format(\r\n \"MM-DD-YYYY, h:mm A\"\r\n )\r\n }\r\n label=\"Entered By\"\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n </Col>\r\n </Row>\r\n <Row className=\" mb-5\">\r\n <Col xl=\"4\" lg=\"4\" md=\"4\" className=\"\">\r\n <div className=\" flex-wrap align-items-center pb-5\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg mr-3\"\r\n >\r\n Loaded Date :\r\n <br />\r\n </a>\r\n <span className=\"font-weight-bold\">\r\n <DateTime30GL\r\n defaultvalue={values.LoadedDate}\r\n disabled={true}\r\n onChange={(newValue) => {\r\n setFieldValue(\"LoadedDate\", newValue);\r\n }}\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n </Col>\r\n <Col xl=\"4\" lg=\"4\" md=\"4\">\r\n <div className=\" flex-wrap align-items-center pb-5\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg mr-3\"\r\n >\r\n Entered By :\r\n </a>\r\n <input\r\n type=\"tel\"\r\n className=\"form-control mt-4\"\r\n name=\"LoadedDateEnteredBy\"\r\n id=\"LoadedDateEnteredBy\"\r\n disabled={true}\r\n value={values.LoadedDateEnteredBy}\r\n label=\"Entered By\"\r\n />\r\n </div>\r\n </div>\r\n </Col>\r\n <Col xl=\"4\" lg=\"4\" md=\"4\">\r\n <div className=\" flex-wrap align-items-center pb-5\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg mr-3\"\r\n >\r\n Entry Date/Time :\r\n </a>\r\n <span className=\"text-muted font-weight-bold\">\r\n <input\r\n type=\"tel\"\r\n className=\"form-control mt-4\"\r\n name=\"LoadedDateEnteredDate\"\r\n id=\"LoadedDateEnteredDate\"\r\n disabled={true}\r\n value={\r\n values.LoadedDateEnteredDate === null\r\n ? \"\"\r\n : moment(values.LoadedDateEnteredDate).format(\r\n \"MM-DD-YYYY, h:mm A\"\r\n )\r\n }\r\n label=\"Entered By\"\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n </Col>\r\n </Row>\r\n <Row className=\" mb-5\">\r\n <Col xl=\"4\" lg=\"4\" md=\"4\" className=\"\">\r\n <div className=\" flex-wrap align-items-center pb-5\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg mr-3\"\r\n >\r\n Departure Date :\r\n <br />\r\n </a>\r\n <span className=\"font-weight-bold\">\r\n <DateTime30GL\r\n defaultvalue={values.ShipperDepartureDate}\r\n onChange={(newValue) => {\r\n setFieldValue(\"ShipperDepartureDate\", newValue);\r\n }}\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n </Col>\r\n <Col xl=\"4\" lg=\"4\" md=\"4\">\r\n <div className=\" flex-wrap align-items-center pb-5\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg mr-3\"\r\n >\r\n Entered By :\r\n </a>\r\n <input\r\n type=\"tel\"\r\n className=\"form-control mt-4\"\r\n name=\"EnteredBy\"\r\n id=\"EnteredBy\"\r\n disabled={true}\r\n value={values.ShipperDepartureDateEnteredBy}\r\n label=\"Entered By\"\r\n />\r\n </div>\r\n </div>\r\n </Col>\r\n <Col xl=\"4\" lg=\"4\" md=\"4\">\r\n <div className=\" flex-wrap align-items-center pb-5\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg mr-3\"\r\n >\r\n Entry Date/Time :\r\n </a>\r\n <span className=\"text-muted font-weight-bold\">\r\n <input\r\n type=\"tel\"\r\n className=\"form-control mt-4\"\r\n name=\"ShipperDepartureDateEnteredDate\"\r\n id=\"ShipperDepartureDateEnteredDate\"\r\n disabled={true}\r\n value={\r\n values.ShipperDepartureDateEnteredDate === null\r\n ? \"\"\r\n : moment(\r\n values.ShipperDepartureDateEnteredDate\r\n ).format(\"MM-DD-YYYY, h:mm A\")\r\n }\r\n label=\"Entered By\"\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n </Col>\r\n </Row>\r\n </CardBody>\r\n </Card>\r\n {/* Multi Stops Shipping */}\r\n {values.ModeName !== \"Drayage\" && (\r\n <MultiStopsIndexShipping\r\n list={listMultiStopsShipping}\r\n showSaveArrows={showSaveArrows}\r\n setLoaderSoStop={setLoaderSoStop}\r\n setShowSaveButton={setShowSaveButton}\r\n So={SO}\r\n setLoaderStops={setLoaderStops}\r\n setMultiStopsData={setMultiStopsDataShipping}\r\n values={values}\r\n ViewModelOptions={ViewModelOptions}\r\n />\r\n )}\r\n <Card>\r\n <CardHeader\r\n title={`${\r\n ViewModelOptions?.Consignees.length > 0 &&\r\n ViewModelOptions?.Consignees.filter(\r\n (a) => a.Id === values?.ConsigneeId\r\n )[0]?.Name\r\n ? `Receiving ${\r\n values.ModeName === \"Drayage\" ? \"1\" : \"\"\r\n } Details | Company Name : ${\r\n ViewModelOptions?.Consignees.filter(\r\n (a) => a.Id === values?.ConsigneeId\r\n )[0]?.Name\r\n }`\r\n : `Receiving ${\r\n values.ModeName === \"Drayage\" ? \"1\" : \"\"\r\n } Details | Select a company`\r\n }`}\r\n >\r\n {values.ModeName !== \"Drayage\" ? (\r\n <CardHeaderToolbar>\r\n <button\r\n className=\"btn btn-light-primary py-3 pl-5 pr-4\"\r\n onClick={() => {\r\n try {\r\n const currentItem =\r\n listMultiStopsShipping.length > 0 &&\r\n listMultiStopsShipping[\r\n listMultiStopsShipping?.length - 1\r\n ];\r\n if (\r\n currentItem &&\r\n currentItem.Type === \"Drop\" &&\r\n !currentItem?.IsNew\r\n ) {\r\n setRowItem(currentItem);\r\n setShowModalConfirmationPosition(true);\r\n } else {\r\n Notification(\r\n \"errorClick\",\r\n \"Stop should be a drop type to set position\"\r\n );\r\n }\r\n } catch (err) {\r\n console.log(err);\r\n }\r\n }}\r\n >\r\n <i\r\n class=\"fas fa-arrow-circle-up\"\r\n style={{ fontSize: \"18px\" }}\r\n ></i>\r\n </button>\r\n <button\r\n type=\"button\"\r\n className=\"btn btn-success mr-4 ml-4\"\r\n onClick={() => {\r\n fetchNewStop(true);\r\n }}\r\n >\r\n <i className=\"fas fa-plus mr-3\" />\r\n Add Stop\r\n </button>\r\n {showSaveArrows && (\r\n <button\r\n type=\"button\"\r\n className=\"btn btn-light-primary py-3 pl-md-8 pr-md-8 ml-5\"\r\n onClick={async () => {\r\n const listPut = [];\r\n listMultiStopsShipping.length > 0 &&\r\n listMultiStopsShipping.forEach((item, index) => {\r\n listPut.push({\r\n StopId: item.Id,\r\n Position: index + 1,\r\n });\r\n });\r\n await SavePositions(listPut);\r\n }}\r\n >\r\n <i className=\"fas fa-save mr-3\" />\r\n Save Positions\r\n </button>\r\n )}\r\n <button\r\n className=\"btn btn-light-primary py-3 pl-md-8 pr-md-8 ml-5\"\r\n onClick={() => {\r\n try {\r\n setIsCollapsedReceiving(\r\n isCollapsedReceiving ? false : true\r\n );\r\n } catch (err) {\r\n console.log(err);\r\n }\r\n }}\r\n >\r\n {isCollapsedReceiving ? (\r\n <i class=\"fas fa-chevron-up\" style={{ fontSize: \"18px\" }}></i>\r\n ) : (\r\n <i\r\n class=\"fas fa-chevron-down\"\r\n style={{ fontSize: \"18px\" }}\r\n ></i>\r\n )}\r\n </button>\r\n </CardHeaderToolbar>\r\n ) : (\r\n <CardHeaderToolbar>\r\n <button\r\n className=\"btn btn-light-primary py-3 pl-md-8 pr-md-8 ml-5\"\r\n onClick={() => {\r\n try {\r\n setIsCollapsedReceiving(\r\n isCollapsedReceiving ? false : true\r\n );\r\n } catch (err) {\r\n console.log(err);\r\n }\r\n }}\r\n >\r\n {isCollapsedReceiving ? (\r\n <i class=\"fas fa-chevron-up\" style={{ fontSize: \"18px\" }}></i>\r\n ) : (\r\n <i\r\n class=\"fas fa-chevron-down\"\r\n style={{ fontSize: \"18px\" }}\r\n ></i>\r\n )}\r\n </button>\r\n </CardHeaderToolbar>\r\n )}\r\n </CardHeader>\r\n <CardBody className={isCollapsedReceiving ? \"d-none\" : \"\"}>\r\n <div className=\"row mb-5\">\r\n <Col xl=\"12\" lg=\"12\" md=\"12\">\r\n <div className=\" flex-wrap align-items-center pb-5\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg mr-3\"\r\n >\r\n Company Name <span className=\"text-danger\">*</span> :\r\n </a>\r\n <span className=\"font-weight-bold\">\r\n <CreatableSelect\r\n isClearable\r\n className=\"mt-4\"\r\n name=\"ConsigneeId\"\r\n id=\"ConsigneeId\"\r\n value={ViewModelOptions?.Consignees.filter(\r\n (a) => a.Id === values?.ConsigneeId\r\n ).map((a) => {\r\n return {\r\n value: a.Id,\r\n label: a.Name,\r\n };\r\n })}\r\n options={ViewModelOptions?.Consignees.map((a) => {\r\n return {\r\n value: a.Id,\r\n label: a.Name,\r\n };\r\n })}\r\n onChange={async (newValue) => {\r\n if (newValue !== null) {\r\n if (newValue?.__isNew__) {\r\n setmodalAddresses(true);\r\n setCountryValue({\r\n value: \"US\",\r\n label: \"United States\",\r\n });\r\n\r\n handleCountryChange(\"US\");\r\n var value = {\r\n ...AddressObjectPost,\r\n };\r\n value.Name = newValue.label;\r\n setAddressObjectPost(value);\r\n setIsShipperSelected(false);\r\n } else {\r\n setFieldValue(\"ConsigneeId\", newValue?.value);\r\n setFieldValue(\r\n \"ConsigneeCompanyName\",\r\n newValue?.label\r\n );\r\n }\r\n } else {\r\n setFieldValue(\"ConsigneeId\", null);\r\n setFieldValue(\"ConsigneeCompanyName\", \"\");\r\n\r\n let values = { ...consignee };\r\n values = {\r\n ConsigneeId: 0,\r\n ConsigneeAddress: \"\",\r\n ConsigneeCity: \"\",\r\n ConsigneeState: \"\",\r\n ConsigneeZipCode: \"\",\r\n ConsigneePhoneNumber: \"\",\r\n ConsigneeFax: \"\",\r\n ConsigneeContactName: \"\",\r\n ConsigneeEmail: \"\",\r\n };\r\n setConsignee(values);\r\n }\r\n if (!newValue?.__isNew__) {\r\n await fetchSelectedAddress(\r\n newValue !== null ? newValue.value : null,\r\n false,\r\n false\r\n );\r\n }\r\n }}\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n </Col>\r\n <div className=\"col-xl-4 col-lg-4 col-md-4 border-right\">\r\n <div className=\" flex-wrap align-items-center pb-5\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg mr-3\"\r\n >\r\n Street Address :\r\n </a>\r\n <span className=\"text-muted font-weight-bold\">\r\n <input\r\n type=\"text\"\r\n className=\"form-control mt-4\"\r\n name=\"ConsigneeStreet\"\r\n id=\"ConsigneeStreet\"\r\n disabled={true}\r\n label=\"Street\"\r\n value={consignee?.ConsigneeAddress}\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n <div className=\" flex-wrap align-items-center pb-5\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg mr-3\"\r\n >\r\n City :\r\n </a>\r\n <span className=\"text-muted font-weight-bold\">\r\n <input\r\n type=\"text\"\r\n className=\"form-control mt-4\"\r\n name=\"ConsigneeCity\"\r\n disabled={true}\r\n id=\"ConsigneeCity\"\r\n value={consignee?.ConsigneeCity}\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n <div className=\" flex-wrap align-items-center pb-5\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg mr-3\"\r\n >\r\n State :\r\n </a>\r\n <span className=\"text-muted font-weight-bold\">\r\n <input\r\n type=\"text\"\r\n className=\"form-control mt-4\"\r\n name=\"ConsigneeState\"\r\n id=\"ConsigneeState\"\r\n disabled={true}\r\n value={consignee?.ConsigneeState}\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n <div className=\" flex-wrap align-items-center pb-5\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg mr-3\"\r\n >\r\n Zip :\r\n </a>\r\n <span className=\"text-muted font-weight-bold\">\r\n <input\r\n type=\"text\"\r\n className=\"form-control mt-4\"\r\n name=\"ConsigneeZipCode\"\r\n id=\"ConsigneeZipCode\"\r\n disabled={true}\r\n value={consignee?.ConsigneeZipCode}\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n </div>\r\n <div className=\"col-xl-4 col-lg-4 col-md-4 border-right\">\r\n <div className=\" flex-wrap align-items-center pb-5\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg mr-3\"\r\n >\r\n Contact Name :\r\n </a>\r\n <span className=\"text-muted font-weight-bold\">\r\n <input\r\n type=\"text\"\r\n className=\"form-control mt-4\"\r\n name=\"ConsigneeContactName\"\r\n disabled={true}\r\n value={consignee?.ConsigneeContactName}\r\n id=\"ConsigneeContactName\"\r\n label=\"Contact\"\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n <div className=\" flex-wrap align-items-center pb-5\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg mr-3\"\r\n >\r\n Contact Phone :\r\n </a>\r\n <span className=\"text-muted font-weight-bold\">\r\n <input\r\n type=\"tel\"\r\n className=\"form-control mt-4\"\r\n name=\"ConsigneePhoneNumber\"\r\n disabled={true}\r\n id=\"ConsigneePhoneNumber\"\r\n value={consignee?.ConsigneePhoneNumber}\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n <div className=\" flex-wrap align-items-center pb-5\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg mr-3\"\r\n >\r\n Contact Fax :\r\n </a>\r\n <span className=\"text-muted font-weight-bold\">\r\n <input\r\n type=\"tel\"\r\n className=\"form-control mt-4\"\r\n name=\"ConsigneeFax\"\r\n id=\"ConsigneeFax\"\r\n disabled={true}\r\n value={consignee?.ConsigneeFax}\r\n label=\"Fax\"\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n <div className=\" flex-wrap align-items-center pb-5\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg mr-3\"\r\n >\r\n Contact Email :\r\n </a>\r\n <span className=\"text-muted font-weight-bold\">\r\n <input\r\n type=\"email\"\r\n className=\"form-control mt-4\"\r\n name=\"EmailText\"\r\n id=\"EmailText\"\r\n disabled={true}\r\n value={consignee?.ConsigneeEmail}\r\n label=\"Email\"\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n </div>\r\n <div className=\"col-xl-4 col-lg-4 col-md-4 border-right\">\r\n <div className=\" flex-wrap align-items-center pb-3\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary font-size-lg mr-3\"\r\n >\r\n MABD:<span className=\"text-danger\">*</span>\r\n </a>\r\n <span className=\"text-muted font-weight-bold\">\r\n <TextField\r\n id=\"MustArriveByDate\"\r\n type=\"date\"\r\n value={String(\r\n moment(values.MustArriveByDate).format(\"YYYY-MM-DD\")\r\n )}\r\n onChange={(e) => {\r\n setFieldValue(\"MustArriveByDate\", e.target.value);\r\n }}\r\n className=\"form-control mt-4\"\r\n InputLabelProps={{\r\n shrink: true,\r\n }}\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n\r\n <div className=\" flex-wrap align-items-center pb-5\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg mr-3\"\r\n >\r\n DEL # :\r\n </a>\r\n <span className=\"text-muted font-weight-bold\">\r\n {\" \"}\r\n <input\r\n type=\"text\"\r\n className=\"form-control mt-4\"\r\n name=\"ConsigneeNumber\"\r\n id=\"ConsigneeNumber\"\r\n value={values?.ConsigneeNumber}\r\n label=\"PU\"\r\n onChange={(e) => {\r\n setFieldValue(\"ConsigneeNumber\", e.target.value);\r\n }}\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n <div className=\" flex-wrap align-items-center pb-5\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg mr-3\"\r\n >\r\n Special Req :\r\n </a>\r\n <span className=\"font-weight-bold\">\r\n <Select\r\n isMulti\r\n className=\"basic-multi-select mt-4\"\r\n classNamePrefix=\"select\"\r\n name=\"ConsigneeSpecialReq\"\r\n id=\"ConsigneeSpecialReq\"\r\n value={ViewModelOptions?.SpecialReqs.filter(function(el) {\r\n return (\r\n values?.ConsigneeSpecialReq?.indexOf(el.Name) >= 0\r\n );\r\n }).map((a) => {\r\n return {\r\n value: a.Name,\r\n label: a.Name,\r\n };\r\n })}\r\n options={ViewModelOptions?.SpecialReqs.map((a) => {\r\n return {\r\n value: a.Name,\r\n label: a.Name,\r\n };\r\n })}\r\n onChange={(newValue) => {\r\n if (newValue !== null) {\r\n setFieldValue(\r\n \"ConsigneeSpecialReq\",\r\n newValue.map((a) => a.value)\r\n );\r\n } else {\r\n setFieldValue(\"ConsigneeSpecialReq\", []);\r\n }\r\n }}\r\n label=\"Load Board\"\r\n inputId=\"react-select-single\"\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n <div className=\" flex-wrap align-items-center pb-5\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <CheckboxLargeWB\r\n className=\"font-size-md\"\r\n text=\"APPT\"\r\n name=\"ConsigneeApptRequired\"\r\n id=\"ConsigneeApptRequired\"\r\n checked={\r\n values.ConsigneeApptRequired === true ? true : false\r\n }\r\n onChange={(event) => {\r\n setFieldValue(\r\n \"ConsigneeApptRequired\",\r\n event.target.checked\r\n );\r\n }}\r\n />\r\n </div>\r\n </div>\r\n <div className=\" flex-wrap align-items-center pb-5\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg mr-3\"\r\n >\r\n ETA Date:\r\n </a>\r\n <span className=\" font-weight-bold\">\r\n <DateTime30GL\r\n defaultvalue={values.EstimatedTimeArrival}\r\n onChange={(newValue) => {\r\n setFieldValue(\"EstimatedTimeArrival\", newValue);\r\n }}\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n </div>\r\n <div className=\"col-xl-8 col-lg-8 col-md-8 border-right\">\r\n <div className=\" flex-wrap align-items-center pb-5\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg mr-3\"\r\n >\r\n Note :\r\n </a>\r\n <span className=\"text-muted font-weight-bold\">\r\n <textarea\r\n className=\"form-control\"\r\n id=\"ReceivingNote\"\r\n rows=\"3\"\r\n value={values.ReceivingNote}\r\n onChange={(e) => {\r\n setFieldValue(\"ReceivingNote\", e.target.value);\r\n }}\r\n ></textarea>\r\n </span>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <Row className=\"pt-5 mb-5\">\r\n <Col xl=\"4\" lg=\"4\" md=\"4\" className=\"\">\r\n <div className=\" flex-wrap align-items-center pb-5\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg mr-3\"\r\n >\r\n DEL APPT Date:\r\n </a>\r\n <span className=\" font-weight-bold\">\r\n <DateTime30GL\r\n defaultvalue={values.DeliveryAppointmentDate}\r\n onChange={(newValue) => {\r\n setFieldValue(\"DeliveryAppointmentDate\", newValue);\r\n }}\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n </Col>\r\n <Col xl=\"2\" lg=\"2\" md=\"3\" className=\"\">\r\n <div className=\" flex-wrap align-items-center pb-5\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg mr-3\"\r\n >\r\n DEL to Time :\r\n </a>\r\n <span className=\" font-weight-bold\">\r\n <input\r\n className={`form-control mt-4`}\r\n value={\r\n values.DeliveryAppointmentDateTo === null ||\r\n values.DeliveryAppointmentDateTo === \"\"\r\n ? \"\"\r\n : values.DeliveryAppointmentDateTo.length > 4\r\n ? moment(values.DeliveryAppointmentDateTo).format(\r\n \"HH:mm\"\r\n )\r\n : values.DeliveryAppointmentDateTo\r\n }\r\n placeholder=\"00:00\"\r\n onKeyUp={(e) => {\r\n if (e.keyCode === 8) {\r\n setFieldValue(\"\", \"\");\r\n return;\r\n }\r\n }}\r\n onChange={(e) => {\r\n var value = e.target?.value;\r\n if (!value || value === \"\") {\r\n setFieldValue(\"DeliveryAppointmentDateTo\", \"\");\r\n }\r\n if (value.length === 2) value += \":\";\r\n if (value.length > 5) value = value[5];\r\n if (value.length > 4) {\r\n setFieldValue(\r\n \"DeliveryAppointmentDateTo\",\r\n moment().format(\"YYYY-MM-DDT\") + value\r\n );\r\n } else {\r\n setFieldValue(\"DeliveryAppointmentDateTo\", value);\r\n }\r\n }}\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n </Col>\r\n <Col xl=\"4\" lg=\"4\" md=\"3\">\r\n <div className=\" flex-wrap align-items-center pb-5\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg mr-3\"\r\n >\r\n Entered By :\r\n </a>\r\n <input\r\n type=\"tel\"\r\n className=\"form-control mt-4\"\r\n name=\"EnteredBy\"\r\n id=\"EnteredBy\"\r\n disabled={true}\r\n value={values.DeliveryAppointmentDateEnteredBy}\r\n label=\"Entered By\"\r\n />\r\n </div>\r\n </div>\r\n </Col>\r\n <Col xl=\"2\" lg=\"2\" md=\"2\" className=\"mt-5 pt-5\">\r\n <div className=\" flex-wrap align-items-center pb-5\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <CheckboxLargeWB\r\n className=\"font-size-md\"\r\n name=\"ConsigneeDt\"\r\n text=\"D/T\"\r\n id=\"ConsigneeDt\"\r\n checked={values.ConsigneeDt === true ? true : false}\r\n onChange={(event) => {\r\n setFieldValue(\"ConsigneeDt\", event.target.checked);\r\n }}\r\n />\r\n </div>\r\n </div>\r\n </Col>\r\n {values.ConsigneeDt === true ? (\r\n <>\r\n <Col xl=\"4\" lg=\"4\" md=\"4\" className=\"\">\r\n <div className=\" flex-wrap align-items-center pb-5\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg mr-3\"\r\n >\r\n Empty Date:\r\n </a>\r\n <span className=\" font-weight-bold\">\r\n <DateTime30GL\r\n defaultvalue={values.DeliveryAppointmentRecoveryDate}\r\n onChange={(newValue) => {\r\n setFieldValue(\r\n \"DeliveryAppointmentRecoveryDate\",\r\n newValue\r\n );\r\n }}\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n </Col>\r\n </>\r\n ) : (\r\n \"\"\r\n )}\r\n </Row>\r\n <Row className=\" mb-5\">\r\n <Col xl=\"4\" lg=\"4\" md=\"4\" className=\"\">\r\n <div className=\" flex-wrap align-items-center pb-5\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg mr-3\"\r\n >\r\n Arrival Date :\r\n </a>\r\n <span className=\"font-weight-bold\">\r\n <DateTime30GL\r\n defaultvalue={values.ConsigneeArrivalDate}\r\n onChange={(newValue) => {\r\n setFieldValue(\"ConsigneeArrivalDate\", newValue);\r\n }}\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n </Col>\r\n <Col xl=\"4\" lg=\"4\" md=\"4\">\r\n <div className=\" flex-wrap align-items-center pb-5\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg mr-3\"\r\n >\r\n Entered By :\r\n </a>\r\n <input\r\n type=\"tel\"\r\n className=\"form-control mt-4\"\r\n name=\"EnteredBy\"\r\n id=\"EnteredBy\"\r\n disabled={true}\r\n value={values.ConsigneeArrivalDateEnteredBy}\r\n label=\"Entered By\"\r\n />\r\n </div>\r\n </div>\r\n </Col>\r\n <Col xl=\"4\" lg=\"4\" md=\"4\">\r\n <div className=\" flex-wrap align-items-center pb-5\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg mr-3\"\r\n >\r\n Entry Date/Time :\r\n </a>\r\n <span className=\"text-muted font-weight-bold\">\r\n <input\r\n type=\"tel\"\r\n className=\"form-control mt-4\"\r\n name=\"ConsigneeArrivalDateEnteredDate\"\r\n id=\"ConsigneeArrivalDateEnteredDate\"\r\n disabled={true}\r\n value={\r\n values.ConsigneeArrivalDateEnteredDate === null\r\n ? \"\"\r\n : moment(\r\n values.ConsigneeArrivalDateEnteredDate\r\n ).format(\"MM-DD-YYYY, h:mm A\")\r\n }\r\n label=\"Entered By\"\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n </Col>\r\n </Row>\r\n <Row className=\" mb-5\">\r\n <Col xl=\"4\" lg=\"4\" md=\"4\" className=\"\">\r\n <div className=\" flex-wrap align-items-center pb-5\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg mr-3\"\r\n >\r\n Departure Date :\r\n </a>\r\n <span className=\"font-weight-bold\">\r\n <DateTime30GL\r\n defaultvalue={values.ConsigneeDepartureDate}\r\n onChange={(newValue) => {\r\n setFieldValue(\"ConsigneeDepartureDate\", newValue);\r\n }}\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n </Col>\r\n <Col xl=\"4\" lg=\"4\" md=\"4\">\r\n <div className=\" flex-wrap align-items-center pb-5\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg mr-3\"\r\n >\r\n Entered By :\r\n </a>\r\n <input\r\n type=\"tel\"\r\n className=\"form-control mt-4\"\r\n name=\"EnteredBy\"\r\n id=\"EnteredBy\"\r\n disabled={true}\r\n value={values.ConsigneeDepartureDateEnteredBy}\r\n label=\"Entered By\"\r\n />\r\n </div>\r\n </div>\r\n </Col>\r\n <Col xl=\"4\" lg=\"4\" md=\"4\">\r\n <div className=\" flex-wrap align-items-center pb-5\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg mr-3\"\r\n >\r\n Entry Date/Time :\r\n </a>\r\n <span className=\"text-muted font-weight-bold\">\r\n <input\r\n type=\"tel\"\r\n className=\"form-control mt-4\"\r\n name=\"ConsigneeDepartureDateEnteredDate\"\r\n id=\"ConsigneeDepartureDateEnteredDate\"\r\n disabled={true}\r\n value={\r\n values.ConsigneeDepartureDateEnteredDate === null\r\n ? \"\"\r\n : moment(\r\n values.ConsigneeDepartureDateEnteredDate\r\n ).format(\"MM-DD-YYYY, h:mm A\")\r\n }\r\n label=\"Entered By\"\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n </Col>\r\n </Row>\r\n <Row className=\" mb-5\">\r\n <Col xl=\"4\" lg=\"4\" md=\"4\" className=\"\">\r\n <div className=\" flex-wrap align-items-center pb-5\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg mr-3\"\r\n >\r\n POD :\r\n </a>\r\n <span className=\"font-weight-bold\">\r\n <input\r\n type=\"text\"\r\n className=\"form-control mt-4\"\r\n name=\"Pod\"\r\n id=\"Pod\"\r\n value={values?.Pod}\r\n label=\"Pod\"\r\n onChange={(e) => {\r\n setFieldValue(\"Pod\", e.target.value);\r\n }}\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n </Col>\r\n </Row>\r\n </CardBody>\r\n </Card>\r\n {values.ModeName === \"Drayage\" && (\r\n <Card>\r\n <CardHeader\r\n title={`${\r\n ViewModelOptions?.Shippers.length > 0 &&\r\n ViewModelOptions?.Shippers.filter(\r\n (a) => a.Id === values?.EmptyReturnLocationId\r\n )[0]?.Name\r\n ? `Receiving 2 Details | Company Name : ${\r\n ViewModelOptions?.Shippers.filter(\r\n (a) => a.Id === values?.EmptyReturnLocationId\r\n )[0]?.Name\r\n }`\r\n : `Receiving 2 Details | Select a company`\r\n }`}\r\n >\r\n {values.ModeName !== \"Drayage\" ? (\r\n <CardHeaderToolbar>\r\n <button\r\n type=\"button\"\r\n className=\"btn btn-success mr-4\"\r\n onClick={async () => {\r\n await GetViewModelStops();\r\n setShowStop(true);\r\n }}\r\n >\r\n <i className=\"fas fa-plus mr-3\" />\r\n Add Stops\r\n </button>\r\n </CardHeaderToolbar>\r\n ) : (\r\n <CardHeaderToolbar>\r\n <button\r\n className=\"btn btn-light-primary py-3 pl-md-8 pr-md-8 ml-5\"\r\n onClick={() => {\r\n try {\r\n setIsCollapsedReceiving2(\r\n isCollapsedReceiving2 ? false : true\r\n );\r\n } catch (err) {\r\n console.log(err);\r\n }\r\n }}\r\n >\r\n {isCollapsedReceiving2 ? (\r\n <i\r\n class=\"fas fa-chevron-up\"\r\n style={{ fontSize: \"18px\" }}\r\n ></i>\r\n ) : (\r\n <i\r\n class=\"fas fa-chevron-down\"\r\n style={{ fontSize: \"18px\" }}\r\n ></i>\r\n )}\r\n </button>\r\n </CardHeaderToolbar>\r\n )}\r\n </CardHeader>\r\n <CardBody className={isCollapsedReceiving2 ? \"d-none\" : \"\"}>\r\n <div className=\"row mb-5\">\r\n <Col xl=\"12\" lg=\"12\" md=\"12\" className=\"mb-5\">\r\n <div className=\" flex-wrap align-items-center pb-5\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg mr-3\"\r\n >\r\n Company Name :\r\n </a>\r\n <span className=\"font-weight-bold\">\r\n <CreatableSelect\r\n className=\"mt-4\"\r\n isClearable\r\n name=\"EmptyReturnLocationId\"\r\n id=\"EmptyReturnLocationId\"\r\n label=\"Company\"\r\n value={ViewModelOptions?.Shippers.filter(\r\n (a) => a.Id === values?.EmptyReturnLocationId\r\n ).map((a) => {\r\n return {\r\n value: a.Id,\r\n label: a.Name,\r\n };\r\n })}\r\n options={ViewModelOptions?.Shippers.map((a) => {\r\n return {\r\n value: a.Id,\r\n label: a.Name,\r\n };\r\n })}\r\n onChange={async (newValue) => {\r\n if (newValue !== null) {\r\n if (newValue?.__isNew__) {\r\n setmodalAddresses(true);\r\n setCountryValue({\r\n value: \"US\",\r\n label: \"United States\",\r\n });\r\n\r\n handleCountryChange(\"US\");\r\n var value = {\r\n ...AddressObjectPost,\r\n };\r\n value.Name = newValue.label;\r\n setAddressObjectPost(value);\r\n } else {\r\n setFieldValue(\r\n \"EmptyReturnLocationId\",\r\n newValue?.value\r\n );\r\n }\r\n } else {\r\n setFieldValue(\"EmptyReturnLocationId\", null);\r\n let values = { ...shipper2 };\r\n values = {\r\n ShipperId: 0,\r\n ShipperAddress: \"\",\r\n ShipperCity: \"\",\r\n ShipperState: \"\",\r\n ShipperZipCode: \"\",\r\n ShipperPhoneNumber: \"\",\r\n ShipperFax: \"\",\r\n ShipperContactName: \"\",\r\n ShipperEmail: \"\",\r\n };\r\n setShipper2(values);\r\n }\r\n setFieldValue(\"IsEditedReceiving2\", true);\r\n if (!newValue?.__isNew__) {\r\n await fetchSelectedAddress(\r\n newValue !== null ? newValue.value : null,\r\n true,\r\n true\r\n );\r\n }\r\n }}\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n </Col>\r\n <div className=\"col-xl col-lg col-md-5 border-right\">\r\n <div className=\" flex-wrap align-items-center pb-5\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg mr-3\"\r\n >\r\n Street Address :\r\n </a>\r\n <span className=\"text-muted font-weight-bold\">\r\n <input\r\n type=\"text\"\r\n className=\"form-control mt-4\"\r\n name=\"ShipperAddress\"\r\n disabled={true}\r\n id=\"ShipperAddress\"\r\n value={shipper2?.ShipperAddress}\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n <div className=\" flex-wrap align-items-center pb-5\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg mr-3\"\r\n >\r\n City :\r\n </a>\r\n <span className=\"text-muted font-weight-bold\">\r\n <input\r\n type=\"text\"\r\n className=\"form-control mt-4\"\r\n name=\"ShipperCity\"\r\n disabled={true}\r\n id=\"ShipperCity\"\r\n value={shipper2?.ShipperCity}\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n <div className=\" flex-wrap align-items-center pb-5\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg mr-3\"\r\n >\r\n State :\r\n </a>\r\n <span className=\"text-muted font-weight-bold\">\r\n <input\r\n type=\"text\"\r\n className=\"form-control mt-4\"\r\n name=\"ShipperState\"\r\n disabled={true}\r\n id=\"ShipperState\"\r\n value={shipper2?.ShipperState}\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n <div className=\" flex-wrap align-items-center pb-5\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg mr-3\"\r\n >\r\n Zip :\r\n </a>\r\n <span className=\"text-muted font-weight-bold\">\r\n <input\r\n type=\"text\"\r\n className=\"form-control mt-4\"\r\n name=\"ShipperZipCode\"\r\n id=\"ShipperZipCode\"\r\n disabled={true}\r\n value={shipper2?.ShipperZipCode}\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n </div>\r\n <div className=\"col-xl col-lg col-md-5 border-right\">\r\n <div className=\" flex-wrap align-items-center pb-5\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg mr-3\"\r\n >\r\n Contact Name :\r\n </a>\r\n <span className=\"text-muted font-weight-bold\">\r\n <input\r\n type=\"text\"\r\n className=\"form-control mt-4\"\r\n name=\"ShipperContactName\"\r\n disabled={true}\r\n id=\"ShipperContactName\"\r\n label=\"Contact\"\r\n value={shipper2?.ShipperContactName}\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n <div className=\" flex-wrap align-items-center pb-5\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg mr-3\"\r\n >\r\n Contact Phone :\r\n </a>\r\n <span className=\"text-muted font-weight-bold\">\r\n <input\r\n type=\"tel\"\r\n className=\"form-control mt-4\"\r\n name=\"ShipperPhoneNumber\"\r\n id=\"ShipperPhoneNumber\"\r\n disabled={true}\r\n value={shipper2?.ShipperPhoneNumber}\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n <div className=\" flex-wrap align-items-center pb-5\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg mr-3\"\r\n >\r\n Contact Fax :\r\n </a>\r\n <span className=\"text-muted font-weight-bold\">\r\n <input\r\n type=\"tel\"\r\n className=\"form-control mt-4\"\r\n name=\"ShipperFax\"\r\n id=\"ShipperFax\"\r\n disabled={true}\r\n value={shipper2?.ShipperFax}\r\n label=\"Fax\"\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n <div className=\" flex-wrap align-items-center pb-5\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg mr-3\"\r\n >\r\n Contact Email :\r\n </a>\r\n <span className=\"text-muted font-weight-bold\">\r\n <input\r\n type=\"email\"\r\n className=\"form-control mt-4\"\r\n name=\"ShipperEmail\"\r\n disabled={true}\r\n id=\"ShipperEmail\"\r\n value={shipper2?.ShipperEmail}\r\n label=\"Email\"\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n </div>\r\n <div className=\"col-xl col-lg col-md-5 border-right\">\r\n <div className=\" flex-wrap align-items-center pb-3\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary font-size-lg mr-3\"\r\n >\r\n Reported Empty:\r\n </a>\r\n <span className=\"text-muted font-weight-bold\">\r\n <TextField\r\n id=\"ReportedEmpty\"\r\n type=\"date\"\r\n value={String(\r\n moment(values.ReportedEmpty).format(\"YYYY-MM-DD\")\r\n )}\r\n onChange={(e) => {\r\n setFieldValue(\"ReportedEmpty\", e.target.value);\r\n }}\r\n className=\"form-control mt-4\"\r\n InputLabelProps={{\r\n shrink: true,\r\n }}\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n <div className=\" flex-wrap align-items-center pb-5\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg mr-3\"\r\n >\r\n DEL # :\r\n </a>\r\n <span className=\"text-muted font-weight-bold\">\r\n {\" \"}\r\n <input\r\n type=\"text\"\r\n className=\"form-control mt-4\"\r\n name=\"ConsigneeNumber\"\r\n id=\"ConsigneeNumber\"\r\n value={values?.ConsigneeNumber}\r\n label=\"PU\"\r\n onChange={(e) => {\r\n setFieldValue(\"ConsigneeNumber\", e.target.value);\r\n }}\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n\r\n <div className=\" flex-wrap align-items-center pb-5\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <CheckboxLargeWB\r\n className=\"font-size-md\"\r\n text=\"APPT\"\r\n name=\"EmptyReturnApptRequired\"\r\n id=\"EmptyReturnApptRequired\"\r\n checked={\r\n values.EmptyReturnApptRequired === false ? false : true\r\n }\r\n onChange={(event) => {\r\n setFieldValue(\r\n \"EmptyReturnApptRequired\",\r\n event.target.checked\r\n );\r\n }}\r\n />\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <Row className=\"pt-5 mb-5\">\r\n <Col xl=\"4\" lg=\"4\" md=\"4\" className=\"\">\r\n <div className=\" flex-wrap align-items-center pb-5\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg mr-3\"\r\n >\r\n DEL APPT Date:\r\n </a>\r\n <span className=\" font-weight-bold\">\r\n <DateTime30GL\r\n defaultvalue={values.EmptyReturnDeliveryAppointmentDate}\r\n onChange={(newValue) => {\r\n setFieldValue(\r\n \"EmptyReturnDeliveryAppointmentDate\",\r\n newValue\r\n );\r\n }}\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n </Col>\r\n <Col xl=\"2\" lg=\"2\" md=\"3\" className=\"\">\r\n <div className=\" flex-wrap align-items-center pb-5\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg mr-3\"\r\n >\r\n DEL to Time :\r\n </a>\r\n <span className=\" font-weight-bold\">\r\n <input\r\n className={`form-control mt-4`}\r\n value={\r\n values?.EmptyReturnDeliveryAppointmentDateTo ===\r\n null ||\r\n values?.EmptyReturnDeliveryAppointmentDateTo === \"\"\r\n ? \"\"\r\n : values?.EmptyReturnDeliveryAppointmentDateTo\r\n ?.length > 4\r\n ? moment(\r\n values?.EmptyReturnDeliveryAppointmentDateTo\r\n ).format(\"HH:mm\")\r\n : values?.EmptyReturnDeliveryAppointmentDateTo\r\n }\r\n placeholder=\"00:00\"\r\n onKeyUp={(e) => {\r\n if (e.keyCode === 8) {\r\n setFieldValue(\"\", \"\");\r\n return;\r\n }\r\n }}\r\n onChange={(e) => {\r\n var value = e.target?.value;\r\n if (!value || value === \"\") {\r\n setFieldValue(\r\n \"EmptyReturnDeliveryAppointmentDateTo\",\r\n \"\"\r\n );\r\n }\r\n if (value.length === 2) value += \":\";\r\n if (value.length > 5) value = value[5];\r\n if (value.length > 4) {\r\n setFieldValue(\r\n \"EmptyReturnDeliveryAppointmentDateTo\",\r\n moment().format(\"YYYY-MM-DDT\") + value\r\n );\r\n } else {\r\n setFieldValue(\r\n \"EmptyReturnDeliveryAppointmentDateTo\",\r\n value\r\n );\r\n }\r\n }}\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n </Col>\r\n <Col xl=\"4\" lg=\"4\" md=\"3\">\r\n <div className=\" flex-wrap align-items-center pb-5\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg mr-3\"\r\n >\r\n Entered By :\r\n </a>\r\n <input\r\n type=\"tel\"\r\n className=\"form-control mt-4\"\r\n name=\"EmptyReturndeliveryAppointmentDateEnteredBy\"\r\n id=\"EmptyReturndeliveryAppointmentDateEnteredBy\"\r\n disabled={true}\r\n value={values.EmptyReturndeliveryAppointmentDateEnteredBy}\r\n label=\"Entered By\"\r\n />\r\n </div>\r\n </div>\r\n </Col>\r\n {/* <Col xl=\"2\" lg=\"2\" md=\"2\" className=\"mt-5 pt-5\">\r\n <div className=\" flex-wrap align-items-center pb-5\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <CheckboxLargeWB\r\n className=\"font-size-md\"\r\n name=\"ConsigneeDt\"\r\n text=\"D/T\"\r\n id=\"ConsigneeDt\"\r\n checked={values.ConsigneeDt === true ? true : false}\r\n onChange={(event) => {\r\n setFieldValue(\"ConsigneeDt\", event.target.checked);\r\n }}\r\n />\r\n </div>\r\n </div>\r\n </Col> */}\r\n </Row>\r\n <Row className=\" mb-5\">\r\n <Col xl=\"4\" lg=\"4\" md=\"4\" className=\"\">\r\n <div className=\" flex-wrap align-items-center pb-5\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg mr-3\"\r\n >\r\n Arrival Date :\r\n </a>\r\n <span className=\"font-weight-bold\">\r\n <DateTime30GL\r\n defaultvalue={values.EmptyReturnArrivalDate}\r\n onChange={(newValue) => {\r\n setFieldValue(\"EmptyReturnArrivalDate\", newValue);\r\n setFieldValue(\"EmptyReturnDepartureDate\", newValue);\r\n }}\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n </Col>\r\n <Col xl=\"4\" lg=\"4\" md=\"4\">\r\n <div className=\" flex-wrap align-items-center pb-5\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg mr-3\"\r\n >\r\n Entered By :\r\n </a>\r\n <input\r\n type=\"tel\"\r\n className=\"form-control mt-4\"\r\n name=\"EmptyReturnArrivalDateEnteredBy\"\r\n id=\"EmptyReturnArrivalDateEnteredBy\"\r\n disabled={true}\r\n value={values.EmptyReturnArrivalDateEnteredBy}\r\n label=\"Entered By\"\r\n />\r\n </div>\r\n </div>\r\n </Col>\r\n <Col xl=\"4\" lg=\"4\" md=\"4\">\r\n <div className=\" flex-wrap align-items-center pb-5\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg mr-3\"\r\n >\r\n Entry Date/Time :\r\n </a>\r\n <span className=\"text-muted font-weight-bold\">\r\n <input\r\n type=\"tel\"\r\n className=\"form-control mt-4\"\r\n name=\"EmptyReturnArrivalDateEnteredDate\"\r\n id=\"EmptyReturnArrivalDateEnteredDate\"\r\n disabled={true}\r\n value={\r\n values.EmptyReturnArrivalDateEnteredDate === null\r\n ? \"\"\r\n : moment(\r\n values.EmptyReturnArrivalDateEnteredDate\r\n ).format(\"MM-DD-YYYY, h:mm A\")\r\n }\r\n label=\"Entered By\"\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n </Col>\r\n </Row>\r\n <Row className=\" mb-5\">\r\n <Col xl=\"4\" lg=\"4\" md=\"4\" className=\"\">\r\n <div className=\" flex-wrap align-items-center pb-5\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg mr-3\"\r\n >\r\n Departure Date :\r\n </a>\r\n <span className=\"font-weight-bold\">\r\n <DateTime30GL\r\n defaultvalue={values.EmptyReturnDepartureDate}\r\n onChange={(newValue) => {\r\n setFieldValue(\"EmptyReturnDepartureDate\", newValue);\r\n }}\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n </Col>\r\n <Col xl=\"4\" lg=\"4\" md=\"4\">\r\n <div className=\" flex-wrap align-items-center pb-5\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg mr-3\"\r\n >\r\n Entered By :\r\n </a>\r\n <input\r\n type=\"tel\"\r\n className=\"form-control mt-4\"\r\n name=\"EmptyReturnDepartureDateEnteredBy\"\r\n id=\"EmptyReturnDepartureDateEnteredBy\"\r\n disabled={true}\r\n value={values.EmptyReturnDepartureDateEnteredBy}\r\n label=\"Entered By\"\r\n />\r\n </div>\r\n </div>\r\n </Col>\r\n <Col xl=\"4\" lg=\"4\" md=\"4\">\r\n <div className=\" flex-wrap align-items-center pb-5\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg mr-3\"\r\n >\r\n Entry Date/Time :\r\n </a>\r\n <span className=\"text-muted font-weight-bold\">\r\n <input\r\n type=\"tel\"\r\n className=\"form-control mt-4\"\r\n name=\"EmptyReturnDepartureDateEnteredDate\"\r\n id=\"EmptyReturnDepartureDateEnteredDate\"\r\n disabled={true}\r\n value={\r\n values.EmptyReturnDepartureDateEnteredDate === null\r\n ? \"\"\r\n : moment(\r\n values.EmptyReturnDepartureDateEnteredDate\r\n ).format(\"MM-DD-YYYY, h:mm A\")\r\n }\r\n label=\"Entered By\"\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n </Col>\r\n </Row>\r\n <Row className=\" mb-5\">\r\n <Col xl=\"4\" lg=\"4\" md=\"4\" className=\"\">\r\n <div className=\" flex-wrap align-items-center pb-5\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg mr-3\"\r\n >\r\n POD :\r\n </a>\r\n <span className=\"font-weight-bold\">\r\n <input\r\n type=\"text\"\r\n className=\"form-control mt-4\"\r\n name=\"EmptyReturnPod\"\r\n id=\"EmptyReturnPod\"\r\n value={values?.EmptyReturnPod}\r\n label=\"Pod\"\r\n onChange={(e) => {\r\n setFieldValue(\"EmptyReturnPod\", e.target.value);\r\n }}\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n </Col>\r\n </Row>\r\n </CardBody>\r\n </Card>\r\n )}\r\n\r\n <Card>\r\n <CardHeader title=\"Commodity Details\">\r\n <CardHeaderToolbar>\r\n <button\r\n type=\"button\"\r\n onClick={addClick.bind(this)}\r\n className=\"btn btn-light-success py-3 pl-md-8 pr-md-8\"\r\n >\r\n <i\r\n className={`fas fa-plus fa-sm`}\r\n style={{\r\n paddingRight: \"initial\",\r\n }}\r\n ></i>{\" \"}\r\n </button>\r\n <button\r\n type=\"button\"\r\n onClick={async () => {\r\n setIsLinearProgress(true);\r\n await GetItemsTms(SO);\r\n setIsLinearProgress(false);\r\n }}\r\n className=\"btn btn-light-info py-3 pl-md-8 pr-md-8 ml-5\"\r\n >\r\n <i\r\n className={`fas fa-sync-alt fa-sm`}\r\n style={{\r\n paddingRight: \"initial\",\r\n }}\r\n ></i>{\" \"}\r\n </button>\r\n {itemsTms.length > 0 && (\r\n <button\r\n type=\"button\"\r\n disabled={\r\n !itemsTms.some((x) => (x?.Id && x.IsEditMode) || x?.IsPost)\r\n }\r\n class=\"btn btn-light-primary py-3 pl-md-8 pr-md-8 ml-5\"\r\n id=\"tmsItemsSave\"\r\n onClick={async () => {\r\n try {\r\n itemsTms?.length > 0 &&\r\n itemsTms.map(async (el, i) => {\r\n if (el?.Id && el?.IsEditMode) {\r\n el.ShipmentId = SO;\r\n await PutItemTms(el?.Id, el);\r\n Notification(\r\n \"success\",\r\n `Item #: ${el?.Id} has been updated successfully`\r\n );\r\n }\r\n if (el?.IsPost) {\r\n el.ShipmentId = SO;\r\n\r\n await PostItemTms(el);\r\n }\r\n if (i === itemsTms.length - 1) {\r\n setTimeout(async () => {\r\n await GetItemsTms(SO);\r\n }, 500);\r\n }\r\n });\r\n } catch (err) {}\r\n }}\r\n >\r\n <i\r\n class=\"fas fa-save fa-sm\"\r\n style={{\r\n paddingRight: \"initial\",\r\n }}\r\n ></i>\r\n </button>\r\n )}\r\n <button\r\n className=\"btn btn-light-primary py-3 pl-md-8 pr-md-8 ml-5\"\r\n onClick={() => {\r\n try {\r\n setIsCollapsedCommodity(isCollapsedCommodity ? false : true);\r\n } catch (err) {\r\n console.log(err);\r\n }\r\n }}\r\n >\r\n {isCollapsedCommodity ? (\r\n <i class=\"fas fa-chevron-up\" style={{ fontSize: \"18px\" }}></i>\r\n ) : (\r\n <i class=\"fas fa-chevron-down\" style={{ fontSize: \"18px\" }}></i>\r\n )}\r\n </button>\r\n </CardHeaderToolbar>\r\n </CardHeader>\r\n <CardBody className={isCollapsedCommodity ? \"d-none\" : \"\"}>\r\n {isLinearProgress && <LinearProgress />}\r\n <div className=\"col-xl-12 col-lg-12\">\r\n {ItemsTmsComponent(values)}\r\n <div className=\"form-group row mt-5\">\r\n <div className=\"col\">\r\n <LoadingDialog />\r\n </div>\r\n </div>\r\n </div>\r\n </CardBody>\r\n </Card>\r\n\r\n {/* Drag and Drop / Items */}\r\n <Card>\r\n <CardHeader title=\"Warehouse Items\">\r\n <CardHeaderToolbar>\r\n <button\r\n className=\"btn btn-light-primary py-3 pl-md-8 pr-md-8 ml-5\"\r\n onClick={() => {\r\n try {\r\n setIsCollapsedCommodityDrag(\r\n isCollapsedCommodityDrag ? false : true\r\n );\r\n } catch (err) {\r\n console.log(err);\r\n }\r\n }}\r\n >\r\n {isCollapsedCommodityDrag ? (\r\n <i class=\"fas fa-chevron-up\" style={{ fontSize: \"18px\" }}></i>\r\n ) : (\r\n <i class=\"fas fa-chevron-down\" style={{ fontSize: \"18px\" }}></i>\r\n )}\r\n </button>\r\n </CardHeaderToolbar>\r\n </CardHeader>\r\n <CardBody className={isCollapsedCommodityDrag ? \"d-none\" : \"\"}>\r\n <div className=\"col-xl-12 col-lg-12\">\r\n <Row className=\"mb-md-15\">\r\n <Col>\r\n <BootstrapTable\r\n wrapperClasses=\"table-responsive\"\r\n bordered={false}\r\n classes=\"table table-head-custom table-vertical-center\"\r\n bootstrap4\r\n id=\"SPFsList\"\r\n keyField=\"Id\"\r\n noDataIndication={\r\n <h4 style={{ textAlign: \"center\" }} className=\"text-muted\">\r\n {\"There is no data available at the moment\"}.\r\n </h4>\r\n }\r\n data={initProduct?.ShipmentItems}\r\n pagination={paginationFactory({\r\n showTotal: true,\r\n sizePerPage: 5,\r\n sizePerPageList: [\r\n { text: \"5\", value: 5 },\r\n { text: \"10\", value: 10 },\r\n ],\r\n })}\r\n columns={columnsItems}\r\n ></BootstrapTable>\r\n </Col>\r\n </Row>\r\n <Row>\r\n <Col>\r\n <label className=\"font-weight-boldest\">Total Quantity :</label>\r\n <div\r\n className=\"label label-lg label-light-primary label-inline border-0 w-100 font-weight-bold text-center p-5 my-5 justify-content-start\"\r\n style={{ fontSize: \"15px\" }}\r\n >\r\n {calculateTotalItems(initProduct?.ShipmentItems, \"Quantity\")}\r\n </div>\r\n </Col>\r\n <Col>\r\n {\" \"}\r\n <Col>\r\n <label className=\"font-weight-boldest\">Total Weight :</label>\r\n <div\r\n className=\"label label-lg label-light-primary label-inline border-0 w-100 font-weight-bold text-center p-5 my-5 justify-content-start\"\r\n style={{ fontSize: \"15px\" }}\r\n >\r\n {calculateTotalItems(initProduct?.ShipmentItems, \"Weight\")}\r\n </div>\r\n </Col>\r\n </Col>\r\n <Col>\r\n {\" \"}\r\n <Col>\r\n <label className=\"font-weight-boldest\">Total Cube :</label>\r\n <div\r\n className=\"label label-lg label-light-primary label-inline border-0 w-100 font-weight-bold text-center p-5 my-5 justify-content-start\"\r\n style={{ fontSize: \"15px\" }}\r\n >\r\n {calculateTotalItems(initProduct?.ShipmentItems, \"Cube\")}\r\n </div>\r\n </Col>\r\n </Col>\r\n </Row>\r\n <div className=\"form-group row mt-5\">\r\n <div className=\"col\">\r\n <LoadingDialog />\r\n </div>\r\n </div>\r\n </div>\r\n </CardBody>\r\n </Card>\r\n\r\n {values?.FreightChargeId === 98 && (\r\n <Card>\r\n <CardHeader className=\"border-bottom-0\" title=\"AP/Invoicing\">\r\n <CardHeaderToolbar>\r\n <button\r\n className=\"btn btn-light-primary py-3 pl-md-8 pr-md-8 ml-5\"\r\n onClick={() => {\r\n try {\r\n setIsCollapsedInvoicing(\r\n isCollapsedInvoincing ? false : true\r\n );\r\n } catch (err) {\r\n console.log(err);\r\n }\r\n }}\r\n >\r\n {isCollapsedInvoincing ? (\r\n <i class=\"fas fa-chevron-up\" style={{ fontSize: \"18px\" }}></i>\r\n ) : (\r\n <i\r\n class=\"fas fa-chevron-down\"\r\n style={{ fontSize: \"18px\" }}\r\n ></i>\r\n )}\r\n </button>\r\n </CardHeaderToolbar>\r\n </CardHeader>\r\n <CardBody className={isCollapsedInvoincing ? \"d-none\" : \"\"}>\r\n <div className=\"row mb-md-20\">\r\n <div className=\"col\">\r\n <ChargesValues\r\n values={values}\r\n ChargesId={(values?.Id ?? \"\") + \"Charges\"}\r\n />\r\n <h3 className=\"mb-3\">Bill To Rating</h3>\r\n {values?.CustomerId && (\r\n <>\r\n <ChargesFunction\r\n isInbound={false}\r\n isPayable={false}\r\n type=\"Charges\"\r\n ChargesId={(values?.Id ?? \"\") + \"Charges\"}\r\n list={values?.Charges ?? []}\r\n ReloadCalc={ReloadCalc}\r\n setChargesTotal={setChargesTotal}\r\n setChergesFun={(a) => {\r\n setCharges(a);\r\n }}\r\n values={values}\r\n />\r\n </>\r\n )}\r\n </div>\r\n </div>\r\n </CardBody>\r\n </Card>\r\n )}\r\n <Card>\r\n <CardHeader\r\n className=\"border-bottom-0\"\r\n title={\r\n <>\r\n Vendors Rating\r\n {values?.Id && (\r\n <LockPayblesButton\r\n isPrimary={true}\r\n Id={values?.Id}\r\n IsReceipt={false}\r\n FreightChargeId={values?.FreightChargeId}\r\n ArePayablesReadOnly={values?.ArePayablesReadOnly}\r\n setArePayablesReadOnly={(e) => {\r\n setFieldValue(\"ArePayablesReadOnly\", e);\r\n }}\r\n />\r\n )}\r\n </>\r\n }\r\n >\r\n <CardHeaderToolbar>\r\n <button\r\n className=\"btn btn-light-primary py-3 pl-md-8 pr-md-8 ml-5\"\r\n onClick={() => {\r\n try {\r\n setIsCollapsedInvoicing(isCollapsedInvoincing ? false : true);\r\n } catch (err) {\r\n console.log(err);\r\n }\r\n }}\r\n >\r\n {isCollapsedInvoincing ? (\r\n <i class=\"fas fa-chevron-up\" style={{ fontSize: \"18px\" }}></i>\r\n ) : (\r\n <i class=\"fas fa-chevron-down\" style={{ fontSize: \"18px\" }}></i>\r\n )}\r\n </button>\r\n </CardHeaderToolbar>\r\n </CardHeader>\r\n <CardBody className={isCollapsedInvoincing ? \"d-none\" : \"\"}>\r\n <div className=\"row border-bottom pb-4\">\r\n <div className=\"col\">\r\n {values?.Vendors.filter(\r\n (x) => x?.CarrierId !== null && x?.CarrierId !== \"\"\r\n ).length > 0 ? (\r\n <>\r\n {values?.Vendors.filter(\r\n (x) => x?.CarrierId !== null && x?.CarrierId !== \"\"\r\n ).map((el, i) => (\r\n <>\r\n {i > 0 && <br />}\r\n\r\n <h4>\r\n Vendor Name :{\" \"}\r\n <b className=\"text-primary\">\r\n {el?.VendorName ?? \"Empty\"}\r\n </b>\r\n </h4>\r\n <ChargesValues\r\n values={values}\r\n ChargesId={(values?.Id ?? \"\") + \"Payables\" + i}\r\n index={i}\r\n />\r\n <div className=\"bg-light position-relative rounded my-5 p-5\">\r\n <b\r\n id={`vendor${values?.Id ?? \"\"}${i}`}\r\n style={{\r\n position: \"absolute\",\r\n left: \"-100px\",\r\n top: \"-250px\",\r\n width: \"0px\",\r\n opacity: \"0\",\r\n }}\r\n />\r\n <ChargesFunction\r\n isInbound={false}\r\n isPayable={true}\r\n type=\"Payables\"\r\n ChargesId={(values?.Id ?? \"\") + \"Payables\" + i}\r\n list={el.Payables ?? []}\r\n ReloadCalc={ReloadCalc}\r\n colorTable={\"bg-white\"}\r\n IsReadOnly={values?.ArePayablesReadOnly ?? false}\r\n setChargesTotal={setPayblesTotal}\r\n setChergesFun={(a = []) =>\r\n setFieldValue(`Vendors[${i}].Payables`, a)\r\n }\r\n />\r\n </div>\r\n </>\r\n ))}\r\n </>\r\n ) : (\r\n <Nodatafound />\r\n )}\r\n </div>\r\n\r\n <div className=\"col-12 text-center mt-8\">\r\n <div className=\" flex-wrap align-items-center pb-5\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg mr-3\"\r\n >\r\n Margin Amount :\r\n </a>\r\n <span className=\"text-muted font-weight-bold\">\r\n ${\" \"}\r\n {currencyFormat(\r\n parseFloat(\r\n ChargesTotal === null ||\r\n ChargesTotal === \"\" ||\r\n ChargesTotal === undefined\r\n ? 0\r\n : ChargesTotal\r\n ) -\r\n parseFloat(\r\n PayblesTotal === null ||\r\n PayblesTotal === \"\" ||\r\n PayblesTotal === undefined\r\n ? 0\r\n : PayblesTotal\r\n )\r\n )}\r\n </span>\r\n </div>\r\n </div>\r\n <div className=\" flex-wrap align-items-center pb-10\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg mr-3\"\r\n >\r\n Margin Percentage :\r\n </a>\r\n <span className=\"text-muted font-weight-bold\">\r\n {currencyFormat(\r\n ((parseFloat(\r\n ChargesTotal === null ||\r\n ChargesTotal === \"\" ||\r\n ChargesTotal === undefined\r\n ? 0\r\n : ChargesTotal\r\n ) -\r\n parseFloat(\r\n PayblesTotal === null ||\r\n PayblesTotal === \"\" ||\r\n PayblesTotal === undefined\r\n ? 0\r\n : PayblesTotal\r\n )) /\r\n parseFloat(\r\n ChargesTotal === \"\" ||\r\n ChargesTotal === null ||\r\n ChargesTotal === undefined\r\n ? 0\r\n : ChargesTotal\r\n )) *\r\n 100\r\n )}\r\n %\r\n </span>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </CardBody>\r\n </Card>\r\n\r\n <Card>\r\n <CardHeader className=\"border-bottom-0\" title=\"Attachments\">\r\n <CardHeaderToolbar>\r\n <button\r\n className=\"btn btn-light-primary py-3 pl-md-8 pr-md-8 ml-5\"\r\n onClick={() => {\r\n try {\r\n setIsCollapsedAttachments(\r\n isCollapsedAttachments ? false : true\r\n );\r\n } catch (err) {\r\n console.log(err);\r\n }\r\n }}\r\n >\r\n {isCollapsedAttachments ? (\r\n <i class=\"fas fa-chevron-up\" style={{ fontSize: \"18px\" }}></i>\r\n ) : (\r\n <i class=\"fas fa-chevron-down\" style={{ fontSize: \"18px\" }}></i>\r\n )}\r\n </button>\r\n </CardHeaderToolbar>\r\n </CardHeader>\r\n <CardBody className={isCollapsedAttachments ? \"d-none\" : \"\"}>\r\n {values !== null &&\r\n AttachmentTypes.length > 0 &&\r\n AccessLevels.length > 0 ? (\r\n <OrderAttachementsV2\r\n id={SO}\r\n AttachmentList={values.Attachments || []}\r\n AttachmentTypes={AttachmentTypes}\r\n AccessLevels={AccessLevels}\r\n Type=\"shipment\"\r\n />\r\n ) : (\r\n \"\"\r\n )}\r\n </CardBody>\r\n </Card>\r\n </>\r\n );\r\n}\r\n\r\nconst ChargesValues = ({ values, ChargesId, index = 0 }) => {\r\n function IdAddCharges(id) {\r\n return id + \"\" + ChargesId;\r\n }\r\n return (\r\n <div>\r\n <input\r\n type=\"hidden\"\r\n id={IdAddCharges(\"C_CustomerId\")}\r\n value={values?.CustomerId ?? \"\"}\r\n />\r\n <input\r\n type=\"hidden\"\r\n id={IdAddCharges(\"C_ServiceId\")}\r\n value={values?.ServiceId ?? \"\"}\r\n />\r\n <input\r\n type=\"hidden\"\r\n id={IdAddCharges(\"C_ModeId\")}\r\n value={values?.ModeId ?? \"\"}\r\n />\r\n <input\r\n type=\"hidden\"\r\n id={IdAddCharges(\"C_ServiceLevelId\")}\r\n value={values?.ServiceLevelId ?? \"\"}\r\n />\r\n <input\r\n type=\"hidden\"\r\n id={IdAddCharges(\"C_EquipmentTypeId\")}\r\n value={values?.EquipmentTypeId ?? \"\"}\r\n />\r\n <input\r\n type=\"hidden\"\r\n id={IdAddCharges(\"C_EquipmentSizeId\")}\r\n value={values?.EquipmentSizeId ?? \"\"}\r\n />\r\n <input\r\n type=\"hidden\"\r\n id={IdAddCharges(\"C_PuAppointment\")}\r\n value={values?.PuAppointment ?? \"\"}\r\n />\r\n <input\r\n type=\"hidden\"\r\n id={IdAddCharges(\"C_ReceivedDate\")}\r\n value={values?.ReceivedDate ?? \"\"}\r\n />\r\n <input\r\n type=\"hidden\"\r\n id={IdAddCharges(\"C_PickedUpDate\")}\r\n value={values?.PickedUpDate ?? \"\"}\r\n />\r\n <input\r\n type=\"hidden\"\r\n id={IdAddCharges(\"C_fromCity\")}\r\n value={values?.ShipperCity ?? \"\"}\r\n />\r\n <input\r\n type=\"hidden\"\r\n id={IdAddCharges(\"C_fromAddress\")}\r\n value={values?.ShipperAddress ?? \"\"}\r\n />\r\n <input\r\n type=\"hidden\"\r\n id={IdAddCharges(\"C_fromState\")}\r\n value={values?.ShipperState ?? \"\"}\r\n />\r\n <input\r\n type=\"hidden\"\r\n id={IdAddCharges(\"C_fromZipCode\")}\r\n value={values?.ShipperZipCode ?? \"\"}\r\n />\r\n\r\n <input\r\n type=\"hidden\"\r\n id={IdAddCharges(\"C_toCity\")}\r\n value={values?.ConsigneeCity ?? \"\"}\r\n />\r\n <input\r\n type=\"hidden\"\r\n id={IdAddCharges(\"C_toAddress\")}\r\n value={values?.ConsigneeAddress ?? \"\"}\r\n />\r\n <input\r\n type=\"hidden\"\r\n id={IdAddCharges(\"C_toState\")}\r\n value={values?.ConsigneeState ?? \"\"}\r\n />\r\n <input\r\n type=\"hidden\"\r\n id={IdAddCharges(\"C_toZipCode\")}\r\n value={values?.ConsigneeZipCode ?? \"\"}\r\n />\r\n <input\r\n type=\"hidden\"\r\n id={IdAddCharges(\"C_CarrierId\")}\r\n value={values?.Vendors[index]?.CarrierId ?? \"\"}\r\n />\r\n </div>\r\n );\r\n};\r\n\r\nfunction Nodatafound() {\r\n return (\r\n <div className=\"w-100 row mt-5 pt-5\">\r\n <div className=\"col-lg-3\" />\r\n <div className=\"col-lg-2 text-right\">\r\n <i\r\n className=\"fas fa-quote-left\"\r\n style={{ fontSize: \"70px\", opacity: 0.3 }}\r\n />\r\n </div>\r\n <div className=\"col-lg-4 mt-2\">\r\n <p className=\"h1 mt-5\" style={{ opacity: 0.3 }}>\r\n No Vendor found\r\n </p>\r\n </div>\r\n <div className=\"col-lg-3\" />\r\n </div>\r\n );\r\n}\r\n","import { IconButton, LinearProgress } from \"@material-ui/core\";\r\nimport CloseIcon from \"@material-ui/icons/Close\";\r\nimport low from \"lowdb\";\r\nimport LocalStorage from \"lowdb/adapters/LocalStorage\";\r\nimport React, { useEffect, useState } from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { currencyFormat, ReturnEmptyOrString } from \"../../../../../_metronic/_helpers/ATHelpers\";\r\nimport { Notification } from \"../../../Notification\";\r\nimport $ from \"jquery\";\r\nconst adapter = new LocalStorage(\"db\");\r\nconst db = low(adapter);\r\n//************************ FUNCTIONS *************************************/\r\n function CalculateAmount({\r\n Rate = 0,\r\n Quantity = 0,\r\n rateType,\r\n MinCharge = 0,\r\n MaxCharge = 0,\r\n FreeTime = 0,\r\n }) {\r\n let amount = 0;\r\n switch (rateType) {\r\n case \"Days\":{ \r\n if (FreeTime > 0) {\r\n amount = Quantity < FreeTime ? 0 : (Quantity - FreeTime) * Rate;\r\n } else {\r\n amount = Rate * Quantity;\r\n }\r\n break;\r\n }\r\n case \"Hours\": { \r\n if (FreeTime > 0) {\r\n amount = Quantity < FreeTime ? 0 : (Quantity - FreeTime) * Rate;\r\n } else {\r\n amount = Rate * Quantity;\r\n }\r\n break;\r\n }\r\n case \"Weight\":\r\n amount = Rate * Quantity;\r\n break;\r\n case \"Volume\":\r\n amount = Rate * Quantity;\r\n break;\r\n case \"Quantity\":\r\n amount = Rate * Quantity;\r\n break;\r\n case \"Distance\":\r\n amount = Rate * Quantity;\r\n break;\r\n case \"Revenue\":\r\n amount = Rate * Quantity;\r\n break;\r\n case \"Cost\":\r\n amount = Rate * Quantity;\r\n break;\r\n case \" Dsp Time\":\r\n amount = Rate * Quantity;\r\n break;\r\n default:\r\n amount = Rate * Quantity;\r\n break;\r\n }\r\n if (MinCharge > 0 && amount < MinCharge && Quantity > 0) amount = MinCharge;\r\n if (MaxCharge > 0 && amount > MaxCharge) amount = MaxCharge;\r\n return amount;\r\n }\r\n//*************************************************************/\r\nexport function BillToRating({\r\n objectTms,\r\n setCharges,\r\n charges = []\r\n}) {\r\n const catchError = [];\r\n // const [Charges, setCharges] = useState(catchError);\r\n const [ChargesModal, setChargesAdded] = useState(catchError);\r\n const [noteModal, setNoteModal] = useState({ Show: false });\r\n const [modalCharges, setModalCharges] = useState(false);\r\n const [loadingCharges, setLoaderCharges] = useState(false);\r\n const [shipmentDetail, setShipmentDetail] = useState(null);\r\n const [totalRates, setTotalRates] = useState(0.00);\r\n\r\n //************************ USE EFFECT *************************************/\r\n useEffect(() => {\r\n try {\r\n setShipmentDetail(objectTms);\r\n if(objectTms?.Id !== undefined){\r\n if (objectTms?.Charges?.length > 0) {\r\n const currentCharges = objectTms?.Charges;\r\n currentCharges?.length > 0 &&\r\n currentCharges.map((x) => {\r\n x.TotalRate = CalculateAmount({\r\n Rate: x.Rate,\r\n Quantity: x.Quantity,\r\n rateType: x.RateType,\r\n MinCharge: x.MinCharge,\r\n MaxCharge: x.MaxCharge,\r\n FreeTime: x.FreeTime,\r\n });\r\n });\r\n setCharges(currentCharges);\r\n } else {\r\n if(objectTms?.IsReloadCharges){\r\n const result = GetCalculated();\r\n try {\r\n if (\r\n charges.every(\r\n (x) =>\r\n x.Quantity === 0 ||\r\n x?.Quantity === undefined ||\r\n x?.Quantity === \"0\"\r\n )\r\n ) {\r\n setCharges(result);\r\n } else {\r\n let values = [...charges];\r\n values = values?.filter(\r\n (x) =>\r\n x.Quantity !== 0 ||\r\n x?.Quantity === \"0\" ||\r\n x?.Quantity === undefined\r\n );\r\n setCharges(values);\r\n }\r\n } catch (err) {} \r\n }\r\n }\r\n }\r\n } catch (err) {\r\n console.log(err);\r\n }\r\n },[objectTms]);\r\n useEffect(() => {\r\n let total = 0;\r\n charges?.length > 0 &&\r\n charges.map((x) => {\r\n total += x?.TotalRate ?? 0;\r\n });\r\n setTotalRates(currencyFormat(total));\r\n }, [charges, ChargesModal]);\r\n\r\n useEffect(() => {\r\n if (!Array.isArray(charges)) setCharges([]);\r\n }, [charges]); \r\n useEffect(() => {\r\n if (ChargesModal?.length === 0) setModalCharges(false);\r\n }, [ChargesModal]);\r\n //*************************************************************/\r\n //************************API*************************************/\r\n const paramsAddresses = `&fromCity=${shipmentDetail?.ShipperCity}&fromAddress=${shipmentDetail?.ShipperAddress}&fromState=${shipmentDetail?.ShipperState}&fromZipCode=${shipmentDetail?.ShipperZipCode}&toCity=${shipmentDetail?.ConsigneeCity}&toAddress=${shipmentDetail?.ConsigneeAddress}&toState=${shipmentDetail?.ConsigneeState}&toZipCode=${shipmentDetail?.ConsigneeZipCode}`;\r\n async function GetCalculated() {\r\n return await fetch(\r\n `${window.$apiurl}/ordersRating/GetCalculatedCharges?customerId=${shipmentDetail?.CustomerId}&serviceId=${shipmentDetail?.ServiceId}&serviceLevelId=&ModeId=${shipmentDetail?.ModeId}&isInbound=false&isPayable=false&carrierId=&equipmentTypeId=&equipmentSizeId=${paramsAddresses}&date=`,\r\n {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n }\r\n )\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n const result = res[1];\r\n return result;\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n async function GetCharges() {\r\n return await fetch(\r\n `${window.$apiurl}/ordersRating/GetCharges?customerId=${shipmentDetail?.CustomerId}&serviceId=${shipmentDetail?.ServiceId}&serviceLevelId=&ModeId=${shipmentDetail?.ModeId}&isInbound=false&isPayable=false&carrierId=&equipmentTypeId=&equipmentSizeId=${paramsAddresses}&date=`,\r\n {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n }\r\n )\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n const result = res[1];\r\n return result;\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n//*************************************************************/\r\n\r\n return (\r\n <div className=\"row RatesParent\">\r\n {loadingCharges && (\r\n <div className=\"col-lg-12\">\r\n <LinearProgress />\r\n </div>\r\n )}\r\n <div className=\"col-md-12\">\r\n <div className=\"table-responsive\">\r\n <table className=\"table table-head-custom table-head-bg table-borderless table-vertical-center\">\r\n <thead>\r\n <tr className=\"text-left text-uppercase\">\r\n <th>Code</th>\r\n <th>Name</th>\r\n <th>Rate</th>\r\n <th>Quantity</th>\r\n <th>Total</th>\r\n <th>Note</th>\r\n <th>Remove</th>\r\n </tr>\r\n </thead>\r\n\r\n <tbody className=\"border-0\">\r\n {charges?.length > 0 &&\r\n charges.map((x, index) => (\r\n <>\r\n {x?.Invoice !== undefined && x.Invoice !== \"\" && (\r\n <>\r\n <tr className=\"mt-5\">\r\n <td className={`border-0`}>\r\n <b className=\"pr-3\">Invoice :</b>\r\n <b>\r\n <span className=\"rounded-pill bg-dark text-white px-2 py-1 ml-1 Charges\">\r\n {x?.Invoice ?? \"Empty\"}\r\n </span>\r\n </b>\r\n </td>\r\n </tr>\r\n </>\r\n )}\r\n <tr\r\n className={`${\r\n x?.Invoice !== \"\" ? \"border-left\" : \" \"\r\n } border-light-dark`}\r\n >\r\n <td className={`border-0`}>\r\n <div className=\"label label-lg label-light-primary label-inline border-0 w-100 font-weight-bold text-center p-md-6 my-5 justify-content-start\">\r\n {x?.Code}\r\n </div>\r\n </td>\r\n <td className={`border-0`}>\r\n <div className=\"label label-lg label-light-info label-inline border-0 w-100 font-weight-bold text-center p-md-6 my-5 justify-content-start\">\r\n {x?.Name}\r\n </div>\r\n </td>\r\n <td className={`border-0 Rate`}>\r\n {x?.IsVariable}\r\n <input\r\n className={`form-control ${\r\n !x?.IsEdited ? \"bg-light\" : \"\"\r\n } ${x?.IsVariable ? \"border-primary\" : \"\"}`}\r\n value={x?.Rate}\r\n readOnly={!x?.IsEdited}\r\n onDoubleClick={(e) => {\r\n try {\r\n if (x?.IsVariable) {\r\n e.target.readOnly = false;\r\n let values = [...charges];\r\n values[index].IsEdited = true;\r\n setCharges(values);\r\n }\r\n } catch (err) {}\r\n }}\r\n onChange={(e) => {\r\n try {\r\n const value = e.target.value;\r\n let values = JSON.parse(JSON.stringify(charges));\r\n if (index > -1) {\r\n values[index].Rate = value;\r\n values[index].TotalRate = CalculateAmount({\r\n Rate: value,\r\n Quantity: x?.Quantity,\r\n rateType: x?.RateType,\r\n MinCharge: x?.MinCharge,\r\n MaxCharge: x?.MaxCharge,\r\n FreeTime: x?.FreeTime,\r\n });\r\n setCharges(values);\r\n }\r\n } catch (err) {}\r\n }}\r\n />\r\n </td>\r\n <td className={`border-0`}>\r\n <input\r\n type=\"number\"\r\n className={`form-control ${(x?.Quantity ===\r\n undefined ||\r\n x?.Quantity === 0 ||\r\n x?.Quantity === \"0\") &&\r\n `border ${\r\n (objectTms?.ModeName === \"OTR (Over The Road)\" ||\r\n objectTms?.ModeName === \"Intermodal Rail (COFC)\")\r\n ? \" border-danger\"\r\n : \"\"\r\n }`}`}\r\n disabled={\r\n x?.IsReadOnly || objectTms?.ModeName === \"LTL\"\r\n }\r\n value={x?.Quantity ?? 0}\r\n onChange={(e) => {\r\n const value = e.target.value;\r\n var values = JSON.parse(JSON.stringify(charges));\r\n if (index > -1) {\r\n values[index].Quantity = value;\r\n const total = CalculateAmount({\r\n Rate: x?.Rate,\r\n Quantity: value,\r\n rateType: x?.RateType,\r\n MinCharge: x?.MinCharge,\r\n MaxCharge: x?.MaxCharge,\r\n FreeTime: x?.FreeTime,\r\n });\r\n values[index].TotalRate = total;\r\n setCharges(values);\r\n }\r\n }}\r\n />\r\n </td>\r\n <td className={`border-0`}>\r\n <input\r\n className=\"form-control\"\r\n disabled={true}\r\n value={\r\n x?.TotalRate ? currencyFormat(x?.TotalRate) : 0\r\n }\r\n />\r\n </td>\r\n <td className={`border-0`}>\r\n <button\r\n type=\"button\"\r\n className=\"btn btn-light-primary w-100\"\r\n onClick={() => {\r\n setNoteModal({\r\n Show: true,\r\n Id: x?.ChargeId,\r\n Index: index,\r\n Code: x?.Code,\r\n Note: x?.Note,\r\n index: index,\r\n });\r\n }}\r\n >\r\n <i\r\n className={`${\r\n x?.Note ? \"fas\" : \"far\"\r\n } fa-sticky-note fa-sm`}\r\n ></i>\r\n </button>\r\n </td>\r\n <td className={`border-0`}>\r\n <button\r\n type=\"button\"\r\n className=\"btn btn-light-danger w-100\"\r\n disabled={x?.IsReadOnly}\r\n onClick={() => {\r\n try {\r\n let chargesList = [...charges];\r\n let chargesModalList = [...ChargesModal];\r\n chargesList.splice(index, 1);\r\n // if (x?.OriAddSup !== 2)\r\n chargesModalList.push({\r\n Id: x?.ChargeId,\r\n ChargeId: x?.Id,\r\n Rate: x?.Rate,\r\n Name: x?.Name,\r\n Code: x?.Code,\r\n Quantity: 1,\r\n RateType: x?.RateType,\r\n MinCharge: x?.MinCharge,\r\n MaxCharge: x?.MaxCharge,\r\n FreeTime: x?.FreeTime,\r\n IsVariable: x?.IsVariable || false,\r\n Invoice: x?.Invoice,\r\n InvoiceId: x?.InvoiceId,\r\n OriAddSup: x?.OriAddSup,\r\n IsReadOnly: x?.IsReadOnly || false,\r\n });\r\n setTimeout(() => {\r\n setCharges(chargesList);\r\n setChargesAdded(chargesModalList);\r\n }, 1);\r\n } catch (err) {\r\n console.log(err);\r\n }\r\n }}\r\n >\r\n <i className={`fas fa-times fa-sm`}></i>\r\n </button>\r\n </td>\r\n </tr>\r\n {(x?.FreeTime || x?.MinCharge || x?.MaxCharge) && (\r\n <tr\r\n className={`${\r\n x?.Invoice !== \"\" ? \"border-left \" : \"\"\r\n } border-light-dark`}\r\n >\r\n <td className={`border-0`}></td>\r\n <td className={`border-0`}></td>\r\n <td className=\"row mb-0 border-0 place-content-center py-0\">\r\n {(x?.FreeTime || null) !== null && (\r\n <button\r\n type=\"button\"\r\n className=\"btn btn-primary text-center btn-sm p-2\"\r\n >\r\n FT : {ReturnEmptyOrString(x?.FreeTime)}\r\n </button>\r\n )}\r\n {(x?.MinCharge || null) !== null && (\r\n <button\r\n type=\"button\"\r\n className=\"btn btn-info text-center mx-2 btn-sm p-2\"\r\n >\r\n Min : {ReturnEmptyOrString(x?.MinCharge)}\r\n </button>\r\n )}\r\n {(x?.MaxCharge || null) !== null && (\r\n <button\r\n type=\"button\"\r\n className=\"btn btn-warning text-center btn-sm p-2\"\r\n >\r\n Max : {ReturnEmptyOrString(x?.MaxCharge)}\r\n </button>\r\n )}\r\n </td>\r\n <td className={`border-0`}></td>\r\n <td className={`border-0`}></td>\r\n <td className={`border-0`}></td>\r\n </tr>\r\n )}\r\n </>\r\n ))}\r\n </tbody>\r\n <tbody className=\"border-0\">\r\n {charges?.length > 0 && (\r\n <tr>\r\n <td className=\"text-right border-0\" colSpan=\"4\">\r\n <b\r\n className=\"label label-light-info label-inline mr-2 p-4\"\r\n style={{ fontSize: \"13px\", fontWeight: \"700\" }}\r\n >\r\n Total :\r\n </b>\r\n </td>\r\n <td className={`border-0 RateAllTotal`}>\r\n <span\r\n className=\"label label-light-primary label-inline mr-2 p-4\"\r\n style={{ fontSize: \"12px\", fontWeight: \"600\" }}\r\n >\r\n {totalRates}\r\n </span>\r\n </td>\r\n <td className=\"border-0\"></td>\r\n </tr>\r\n )}\r\n {(objectTms?.ModeName === \"OTR (Over The Road)\" ||\r\n objectTms?.ModeName === \"Intermodal Rail (COFC)\") && (\r\n <tr>\r\n <td\r\n colSpan=\"12\"\r\n className=\"border-0\"\r\n style={{ textAlign: \"right\" }}\r\n >\r\n <button\r\n className=\"btn btn-light-success w-40\"\r\n onClick={async () => {\r\n try {\r\n setLoaderCharges(true);\r\n const result = await GetCharges();\r\n if (result.length > 0) {\r\n var tempList = result;\r\n console.log(charges);\r\n const listChargesModal = Array.isArray(charges)\r\n ? [...charges]\r\n : [];\r\n listChargesModal !== undefined &&\r\n listChargesModal?.length > 0 &&\r\n listChargesModal.map((item) => {\r\n tempList = tempList?.filter(\r\n (y) => y?.Id !== item?.ChargeId\r\n );\r\n });\r\n if (tempList?.length > 0) {\r\n setChargesAdded(tempList);\r\n setModalCharges(true);\r\n }\r\n } else {\r\n Notification(\r\n \"info\",\r\n \"There is no charges to add\"\r\n );\r\n }\r\n setLoaderCharges(false);\r\n } catch (err) {\r\n console.log(err);\r\n setLoaderCharges(false);\r\n }\r\n }}\r\n >\r\n <i className=\"fas fa-plus fa-sm\"></i> Add Charges\r\n </button>\r\n <button\r\n className=\"btn btn-light-info w-40 ml-5\"\r\n onClick={async () => {\r\n try {\r\n setLoaderCharges(true);\r\n const result = await GetCalculated();\r\n if (result?.length > 0) {\r\n if (charges?.length === 0) {\r\n result.map((item) => (item.ChargeId = item.Id));\r\n setCharges(result);\r\n } else {\r\n let calculatedCharges = charges;\r\n result.map((item, index) => {\r\n const currentCharge = charges.find(\r\n (x) => x.ChargeId === item.Id\r\n );\r\n if (\r\n currentCharge === null ||\r\n currentCharge === undefined\r\n ) {\r\n item.ChargeId = item.Id;\r\n calculatedCharges.push(item);\r\n }\r\n // else{\r\n // if (\r\n // currentCharge.Quantity !== 0 ||\r\n // currentCharge.Quantity !== undefined ||\r\n // currentCharge.Quantity !== null\r\n // ) {\r\n // }\r\n // }\r\n });\r\n setCharges(calculatedCharges);\r\n }\r\n }\r\n } catch (err) {\r\n console.log(err);\r\n setLoaderCharges(false);\r\n }\r\n setLoaderCharges(false);\r\n }}\r\n >\r\n <i class=\"fas fa-square-root-alt\"></i> Calculated\r\n </button>\r\n </td>\r\n </tr>\r\n )}\r\n </tbody>\r\n </table>\r\n </div>\r\n </div>\r\n {/* Modal Add Rate */}\r\n <Modal\r\n id=\"modalCharges\"\r\n show={modalCharges}\r\n aria-labelledby=\"example-modal-sizes-title-lg\"\r\n >\r\n <Modal.Header closeButton>\r\n <Modal.Title\r\n id=\"example-modal-sizes-title-lg\"\r\n style={{ marginRight: \"18rem\" }}\r\n >\r\n Customer Charges\r\n </Modal.Title>\r\n <IconButton\r\n className=\"MuiButtonBase-root MuiIconButton-root jss179\"\r\n aria-label=\"Close\"\r\n onClick={() => {\r\n try {\r\n setModalCharges(false);\r\n } catch (err) {}\r\n }}\r\n >\r\n <CloseIcon />\r\n </IconButton>\r\n </Modal.Header>\r\n <Modal.Body>\r\n <div className=\"row bg-light\">\r\n <div className={`col-lg-6 mt-5 mb-5`}>Name</div>\r\n <div className={`col-lg-3 mt-5 mb-5`}>Rate</div>\r\n <div className={`col-lg-3 mt-5 mb-5`}>Add</div>\r\n </div>\r\n {ChargesModal &&\r\n ChargesModal.length > 0 &&\r\n ChargesModal.map((x, index) => (\r\n <div className=\"row\">\r\n <div className={`col-lg-6 mt-5 mb-5`}>\r\n <b className={`text-black title mr-2`}>{x?.Name}</b>\r\n </div>\r\n <div className={`col-lg-3 mt-5 mb-5`}>\r\n <span\r\n className=\"label label-light-primary label-inline mr-2 p-4\"\r\n style={{ fontSize: \"12px\", fontWeight: \"600\" }}\r\n >\r\n {x?.Rate}\r\n </span>\r\n </div>\r\n <div className={`col-lg-3 mt-2`}>\r\n <button\r\n id=\"addChargeBtn\"\r\n type=\"button\"\r\n class=\"btn btn-light-success w-100\"\r\n onClick={() => {\r\n try {\r\n let valuesCharges = [...charges];\r\n let values = [...ChargesModal];\r\n let b;\r\n let c;\r\n b = values?.find((y) => y?.Id === x?.Id);\r\n c = values?.filter((y) => y?.Id !== x?.Id);\r\n if (b) {\r\n var color = 0;\r\n valuesCharges.push({\r\n Id: b?.Id,\r\n ChargeId: b?.Id,\r\n Rate: b?.Rate,\r\n Name: b?.Name,\r\n Code: b?.Code,\r\n Quantity: 0,\r\n RateType: b?.RateType,\r\n MinCharge: b?.MinCharge,\r\n MaxCharge: b?.MaxCharge,\r\n FreeTime: b?.FreeTime,\r\n IsVariable: x?.IsVariable || false,\r\n Invoice: \"\",\r\n OriAddSup: color,\r\n IsReadOnly: false,\r\n });\r\n }\r\n //fetchDataList\r\n setCharges(valuesCharges);\r\n setChargesAdded(c);\r\n } catch (err) {}\r\n }}\r\n >\r\n <i className={`fas fa-plus fa-sm`}></i>\r\n </button>\r\n </div>\r\n </div>\r\n ))}\r\n </Modal.Body>\r\n <Modal.Footer>\r\n <div>\r\n <button\r\n type=\"button\"\r\n onClick={() => {\r\n try {\r\n setModalCharges(false);\r\n } catch (err) {}\r\n }}\r\n className=\"btn btn-light btn-elevate\"\r\n >\r\n Close\r\n </button>\r\n </div>\r\n </Modal.Footer>\r\n </Modal>\r\n {/* Modal Notes */}\r\n <Modal\r\n show={noteModal?.Show}\r\n aria-labelledby=\"example-modal-sizes-title-lg\"\r\n >\r\n <Modal.Header>\r\n <Modal.Title id=\"example-modal-sizes-title-lg\">\r\n Note : {noteModal?.Code}\r\n </Modal.Title>\r\n <IconButton\r\n className=\"MuiButtonBase-root MuiIconButton-root jss179\"\r\n aria-label=\"Close\"\r\n onClick={() => setNoteModal({ Show: false })}\r\n >\r\n <CloseIcon />\r\n </IconButton>\r\n </Modal.Header>\r\n <Modal.Body className=\"row\">\r\n <textarea\r\n id=\"NoteCharges\"\r\n className=\"form-control\"\r\n rows=\"3\"\r\n defaultValue={noteModal?.Note}\r\n onChange={(e) => {\r\n try {\r\n let values = { ...noteModal };\r\n values.Note = e.target.value;\r\n setNoteModal(values);\r\n } catch (err) {}\r\n }}\r\n ></textarea>\r\n </Modal.Body>\r\n <Modal.Footer>\r\n <div>\r\n <button\r\n type=\"button\"\r\n onClick={() => setNoteModal({ Show: false })}\r\n className=\"btn btn-light btn-elevate\"\r\n >\r\n Cancel\r\n </button>\r\n <button\r\n type=\"button\"\r\n onClick={() => {\r\n try {\r\n let values = [...charges];\r\n values[noteModal?.Index].Note = noteModal?.Note;\r\n setCharges(values);\r\n setNoteModal({ Show: false });\r\n } catch (err) {}\r\n }}\r\n className=\"btn btn-primary btn-elevate ml-2\"\r\n >\r\n Save\r\n </button>\r\n </div>\r\n </Modal.Footer>\r\n </Modal>\r\n </div>\r\n );\r\n}\r\n\r\nexport function VendorRating({\r\n objectTms,\r\n setVendorsPayables,\r\n vendorPayables = []\r\n}) {\r\n const catchError = [];\r\n const [ChargesModal, setChargesAdded] = useState(catchError);\r\n const [shipmentDetail, setShipmentDetail] = useState(null);\r\n const [noteModal, setNoteModal] = useState(false);\r\n const [modalCharges, setModalCharges] = useState(false);\r\n const [totalRates, setTotalRates] = useState(0);\r\n const [loadingCharges, setLoaderCharges] = useState(false);\r\n //************************ USE EFFECT *************************************/\r\n useEffect(() => {\r\n try {\r\n if (objectTms?.Id !== undefined) {\r\n setShipmentDetail(objectTms);\r\n console.log(\"🚀 ~ file: Charges.js ~ line 747 ~ useEffect ~ objectTms\", objectTms)\r\n const currentCharges = objectTms?.Vendors[0]?.Payables;\r\n if (currentCharges !== undefined && currentCharges?.length > 0) {\r\n currentCharges?.length > 0 &&\r\n currentCharges.forEach((x) => {\r\n x.TotalRate = CalculateAmount({\r\n Rate: x.Rate,\r\n Quantity: x.Quantity,\r\n rateType: x.RateType,\r\n MinCharge: x.MinCharge,\r\n MaxCharge: x.MaxCharge,\r\n FreeTime: x.FreeTime,\r\n });\r\n });\r\n setVendorsPayables(currentCharges);\r\n } else {\r\n if (objectTms?.IsReloadPayables) {\r\n const result = GetCalculated();\r\n try {\r\n if (\r\n vendorPayables.every(\r\n (x) =>\r\n x.Quantity === 0 ||\r\n x?.Quantity === undefined ||\r\n x?.Quantity === \"0\"\r\n )\r\n ) {\r\n setVendorsPayables(result);\r\n } else {\r\n let values = [...vendorPayables];\r\n values = values?.filter(\r\n (x) =>\r\n x.Quantity !== 0 ||\r\n x?.Quantity === \"0\" ||\r\n x?.Quantity === undefined\r\n );\r\n setVendorsPayables(values);\r\n }\r\n } catch (err) {}\r\n setVendorsPayables(result);\r\n }\r\n }\r\n }\r\n } catch (err) {\r\n console.log(err);\r\n }\r\n }, [objectTms]);\r\n useEffect(() => {\r\n if (!Array.isArray(vendorPayables)) setVendorsPayables([]);\r\n }, [vendorPayables]);\r\n useEffect(() => {\r\n if (objectTms?.Vendors === undefined || objectTms?.Vendors?.length === 0){ \r\n setVendorsPayables([]);\r\n }\r\n }, [objectTms?.Vendors]);\r\n useEffect(() => {\r\n if (ChargesModal?.length === 0) setModalCharges(false);\r\n }, [ChargesModal]);\r\n useEffect(() => {\r\n try {\r\n let total = 0;\r\n vendorPayables !== undefined &&\r\n vendorPayables.length > 0 &&\r\n vendorPayables.map((x) => {\r\n total += x?.TotalRate ?? 0;\r\n });\r\n setTotalRates(currencyFormat(total));\r\n } catch (err) {\r\n console.log(err);\r\n }\r\n }, [vendorPayables, ChargesModal]);\r\n\r\n //*************************************************************/\r\n //************************API*************************************/\r\n const paramsAddresses = `&fromCity=${shipmentDetail?.ShipperCity}&fromAddress=${shipmentDetail?.ShipperAddress}&fromState=${shipmentDetail?.ShipperState}&fromZipCode=${shipmentDetail?.ShipperZipCode}&toCity=${shipmentDetail?.ConsigneeCity}&toAddress=${shipmentDetail?.ConsigneeAddress}&toState=${shipmentDetail?.ConsigneeState}&toZipCode=${shipmentDetail?.ConsigneeZipCode}`;\r\n async function GetCalculated() {\r\n return await fetch(\r\n `${window.$apiurl}/ordersRating/GetCalculatedCharges?customerId=${shipmentDetail?.CustomerId}&serviceId=${shipmentDetail?.ServiceId}&serviceLevelId=&ModeId=${shipmentDetail?.ModeId}&isInbound=false&isPayable=true&carrierId=${shipmentDetail?.Vendors[0]?.CarrierId ?? null}&equipmentTypeId=&equipmentSizeId=${paramsAddresses}&date=`,\r\n {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n }\r\n )\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n const result = res[1];\r\n return result;\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n async function GetCharges() {\r\n return await fetch(\r\n `${window.$apiurl}/ordersRating/GetCharges?customerId=${shipmentDetail?.CustomerId}&serviceId=${shipmentDetail?.ServiceId}&serviceLevelId=&ModeId=${shipmentDetail?.ModeId}&isInbound=false&isPayable=true&carrierId=${shipmentDetail?.Vendors[0]?.CarrierId ?? null}&equipmentTypeId=&equipmentSizeId=${paramsAddresses}&date=`,\r\n {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n }\r\n )\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n const result = res[1];\r\n return result;\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n //*************************************************************/\r\n\r\n return (\r\n <div className=\"row RatesParent\">\r\n {loadingCharges && (\r\n <div className=\"col-lg-12\">\r\n <LinearProgress />\r\n </div>\r\n )}\r\n <div className=\"col-md-12\">\r\n <div className=\"table-responsive\">\r\n <table className=\"table table-head-custom table-head-bg table-borderless table-vertical-center\">\r\n <thead>\r\n <tr className=\"text-left text-uppercase\">\r\n <th>Code</th>\r\n <th>Name</th>\r\n <th>Rate</th>\r\n <th>Quantity</th>\r\n <th>Total</th>\r\n <th>Note</th>\r\n <th>Remove</th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n {vendorPayables?.length > 0 &&\r\n vendorPayables.map((x, index) => (\r\n <>\r\n {x?.Invoice !== undefined && x.Invoice !== \"\" && (\r\n <>\r\n <tr className=\"mt-5\">\r\n <td className={`border-0`}>\r\n <b className=\"pr-3\">Invoice :</b>\r\n <b>\r\n <span className=\"rounded-pill bg-dark text-white px-2 py-1 ml-1 Charges\">\r\n {x?.Invoice ?? \"Empty\"}\r\n </span>\r\n </b>\r\n </td>\r\n </tr>\r\n </>\r\n )}\r\n <tr\r\n className={`${\r\n x?.Invoice !== \"\" ? \"border-left\" : \" \"\r\n } border-light-dark`}\r\n >\r\n <td className={`border-0`}>\r\n <div className=\"label label-lg label-light-primary label-inline border-0 w-100 font-weight-bold text-center p-md-6 my-5 justify-content-start\">\r\n {x?.Code}\r\n </div>\r\n </td>\r\n <td className={`border-0`}>\r\n <div className=\"label label-lg label-light-info label-inline border-0 w-100 font-weight-bold text-center p-md-6 my-5 justify-content-start\">\r\n {x?.Name}\r\n </div>\r\n </td>\r\n <td className={`border-0 Rate`}>\r\n {x?.IsVariable}\r\n <input\r\n className={`form-control ${\r\n !x?.IsEdited ? \"bg-light\" : \"\"\r\n } ${x?.IsVariable ? \"border-primary\" : \"\"}`}\r\n value={x?.Rate}\r\n disabled={objectTms?.ModeName === \"LTL\"}\r\n readOnly={!x?.IsEdited}\r\n onDoubleClick={(e) => {\r\n try {\r\n if (x?.IsVariable) {\r\n e.target.readOnly = false;\r\n let values = [...vendorPayables];\r\n values[index].IsEdited = true;\r\n setVendorsPayables(values);\r\n }\r\n } catch (err) {}\r\n }}\r\n onChange={(e) => {\r\n try {\r\n let values = JSON.parse(\r\n JSON.stringify(vendorPayables)\r\n );\r\n if (index > -1) {\r\n values[index].Rate = e.target.value;\r\n values[index].TotalRate = CalculateAmount({\r\n Rate: e.target.value,\r\n Quantity: x?.Quantity,\r\n rateType: x?.RateType,\r\n MinCharge: x?.MinCharge,\r\n MaxCharge: x?.MaxCharge,\r\n FreeTime: x?.FreeTime,\r\n });\r\n setVendorsPayables(values);\r\n }\r\n } catch (err) {}\r\n }}\r\n />\r\n </td>\r\n <td className={`border-0`}>\r\n <input\r\n type=\"number\"\r\n className={`form-control ${(x?.Quantity ===\r\n undefined ||\r\n x?.Quantity === 0 ||\r\n x?.Quantity === \"0\") &&\r\n `border ${\r\n (objectTms?.ModeName === \"OTR (Over The Road)\" ||\r\n objectTms?.ModeName === \"Intermodal Rail (COFC)\")\r\n ? \" border-danger\"\r\n : \"\"\r\n }`}`}\r\n disabled={\r\n x?.IsReadOnly || objectTms?.ModeName === \"LTL\"\r\n }\r\n value={x?.Quantity ?? 0}\r\n onChange={(e) => {\r\n var values = JSON.parse(\r\n JSON.stringify(vendorPayables)\r\n );\r\n if (index > -1) {\r\n values[index].Quantity = e.target.value;\r\n const total = CalculateAmount({\r\n Rate: x?.Rate,\r\n Quantity: e.target.value,\r\n rateType: x?.RateType,\r\n MinCharge: x?.MinCharge,\r\n MaxCharge: x?.MaxCharge,\r\n FreeTime: x?.FreeTime,\r\n });\r\n values[index].TotalRate = total;\r\n setVendorsPayables(values);\r\n }\r\n }}\r\n />\r\n </td>\r\n <td className={`border-0`}>\r\n <input\r\n className=\"form-control\"\r\n disabled={true}\r\n value={\r\n x?.TotalRate ? currencyFormat(x?.TotalRate) : 0\r\n }\r\n />\r\n </td>\r\n <td className={`border-0`}>\r\n <button\r\n type=\"button\"\r\n className=\"btn btn-light-primary w-100\"\r\n onClick={() => {\r\n setNoteModal({\r\n Show: true,\r\n Id: x?.ChargeId,\r\n Index: index,\r\n Code: x?.Code,\r\n Note: x?.Note,\r\n index: index,\r\n });\r\n }}\r\n >\r\n <i\r\n className={`${\r\n x?.Note ? \"fas\" : \"far\"\r\n } fa-sticky-note fa-sm`}\r\n ></i>\r\n </button>\r\n </td>\r\n <td className={`border-0`}>\r\n <button\r\n type=\"button\"\r\n className=\"btn btn-light-danger w-100\"\r\n disabled={x?.IsReadOnly}\r\n onClick={() => {\r\n try {\r\n let a = [...vendorPayables];\r\n let b = [...ChargesModal];\r\n a = a?.filter((y) => y !== x);\r\n if (x?.OriAddSup !== 2)\r\n b.push({\r\n Id: x?.ChargeId,\r\n Rate: x?.Rate,\r\n Name: x?.Name,\r\n Code: x?.Code,\r\n Quantity: 1,\r\n RateType: x?.RateType,\r\n MinCharge: x?.MinCharge,\r\n MaxCharge: x?.MaxCharge,\r\n FreeTime: x?.FreeTime,\r\n IsVariable: x?.IsVariable || false,\r\n Invoice: x?.Invoice,\r\n InvoiceId: x?.InvoiceId,\r\n OriAddSup: x?.OriAddSup,\r\n IsReadOnly: x?.IsReadOnly || false,\r\n });\r\n setVendorsPayables(a);\r\n setChargesAdded(b);\r\n } catch (err) {\r\n console.log(err);\r\n }\r\n }}\r\n >\r\n <i className={`fas fa-times fa-sm`}></i>\r\n </button>\r\n </td>\r\n </tr>\r\n {(x?.FreeTime || x?.MinCharge || x?.MaxCharge) && (\r\n <tr\r\n className={`${\r\n x?.Invoice !== \"\" ? \"border-left \" : \"\"\r\n } border-light-dark`}\r\n >\r\n <td className={`border-0`}></td>\r\n <td className={`border-0`}></td>\r\n <td className=\"row mb-0 border-0 place-content-center py-0\">\r\n {(x?.FreeTime || null) !== null && (\r\n <button\r\n type=\"button\"\r\n className=\"btn btn-primary text-center btn-sm p-2\"\r\n >\r\n FT : {ReturnEmptyOrString(x?.FreeTime)}\r\n </button>\r\n )}\r\n {(x?.MinCharge || null) !== null && (\r\n <button\r\n type=\"button\"\r\n className=\"btn btn-info text-center mx-2 btn-sm p-2\"\r\n >\r\n Min : {ReturnEmptyOrString(x?.MinCharge)}\r\n </button>\r\n )}\r\n {(x?.MaxCharge || null) !== null && (\r\n <button\r\n type=\"button\"\r\n className=\"btn btn-warning text-center btn-sm p-2\"\r\n >\r\n Max : {ReturnEmptyOrString(x?.MaxCharge)}\r\n </button>\r\n )}\r\n </td>\r\n <td className={`border-0`}></td>\r\n <td className={`border-0`}></td>\r\n <td className={`border-0`}></td>\r\n </tr>\r\n )}\r\n </>\r\n ))}\r\n </tbody>\r\n <tbody className=\"border-0\">\r\n {vendorPayables?.length > 0 && (\r\n <tr>\r\n <td className=\"text-right border-0\" colSpan=\"4\">\r\n <b\r\n className=\"label label-light-info label-inline mr-2 p-4\"\r\n style={{ fontSize: \"13px\", fontWeight: \"700\" }}\r\n >\r\n Total :\r\n </b>\r\n </td>\r\n <td className={`border-0 RateAllTotal`}>\r\n <span\r\n className=\"label label-light-primary label-inline mr-2 p-4\"\r\n style={{ fontSize: \"12px\", fontWeight: \"600\" }}\r\n >\r\n {totalRates}\r\n </span>\r\n </td>\r\n <td className=\"border-0\"></td>\r\n </tr>\r\n )}\r\n {(objectTms?.ModeName === \"OTR (Over The Road)\" || \r\n objectTms?.ModeName === \"Intermodal Rail (COFC)\") && (\r\n <tr>\r\n <td\r\n colSpan=\"12\"\r\n className=\"border-0\"\r\n style={{ textAlign: \"right\" }}\r\n >\r\n <button\r\n className=\"btn btn-light-success w-40\"\r\n onClick={async () => {\r\n try {\r\n if (objectTms?.Vendors?.length > 0) {\r\n setLoaderCharges(true);\r\n const result = await GetCharges();\r\n if (result.length > 0) {\r\n var tempList = result;\r\n const listChargesModal = Array.isArray(\r\n vendorPayables\r\n )\r\n ? [...vendorPayables]\r\n : [];\r\n listChargesModal.map((item) => {\r\n tempList = tempList?.filter(\r\n (y) => y?.Id !== item?.ChargeId\r\n );\r\n });\r\n if (tempList?.length > 0) {\r\n setChargesAdded(tempList);\r\n setModalCharges(true);\r\n }\r\n } else {\r\n Notification(\r\n \"info\",\r\n \"There is no charges to add\"\r\n );\r\n }\r\n setLoaderCharges(false);\r\n } else {\r\n Notification(\r\n \"info\",\r\n \"Please Select a Vendor First\"\r\n );\r\n document\r\n .getElementById(\"Mode\")\r\n .scrollIntoView({ behavior: \"smooth\" });\r\n }\r\n } catch (err) {\r\n console.log(err);\r\n setLoaderCharges(false);\r\n }\r\n }}\r\n >\r\n <i className=\"fas fa-plus fa-sm\"></i> Add Charges\r\n </button>\r\n <button\r\n className=\"btn btn-light-info w-40 ml-5\"\r\n onClick={async () => {\r\n try {\r\n if (objectTms?.Vendors?.length > 0) {\r\n const result = await GetCalculated();\r\n if (result?.length > 0) {\r\n if (vendorPayables?.length === 0) {\r\n result.map((item) => (item.ChargeId = item.Id));\r\n setVendorsPayables(result);\r\n } else {\r\n let calculatedCharges = vendorPayables;\r\n result.map((item, index) => {\r\n const currentCharge = vendorPayables.find(\r\n (x) => x.ChargeId === item.Id\r\n );\r\n if (\r\n currentCharge === null ||\r\n currentCharge === undefined\r\n ) {\r\n item.ChargeId = item.Id;\r\n calculatedCharges.push(item);\r\n }\r\n });\r\n setVendorsPayables(calculatedCharges);\r\n }\r\n }\r\n } else {\r\n Notification(\r\n \"info\",\r\n \"Please Select a Vendor First\"\r\n );\r\n document\r\n .getElementById(\"Mode\")\r\n .scrollIntoView({ behavior: \"smooth\" });\r\n }\r\n } catch (err) {\r\n console.log(err);\r\n setLoaderCharges(false);\r\n }\r\n setLoaderCharges(false);\r\n }}\r\n >\r\n <i class=\"fas fa-square-root-alt\"></i> Calculated\r\n </button>\r\n </td>\r\n </tr>\r\n )}\r\n </tbody>\r\n </table>\r\n </div>\r\n </div>\r\n {/* Modal Add Rate */}\r\n <Modal\r\n id=\"modalCharges\"\r\n show={modalCharges}\r\n aria-labelledby=\"example-modal-sizes-title-lg\"\r\n >\r\n <Modal.Header closeButton>\r\n <Modal.Title\r\n id=\"example-modal-sizes-title-lg\"\r\n style={{ marginRight: \"18rem\" }}\r\n >\r\n Carrier Charges\r\n </Modal.Title>\r\n <IconButton\r\n className=\"MuiButtonBase-root MuiIconButton-root jss179\"\r\n aria-label=\"Close\"\r\n onClick={() => {\r\n try {\r\n setModalCharges(false);\r\n } catch (err) {}\r\n }}\r\n >\r\n <CloseIcon />\r\n </IconButton>\r\n </Modal.Header>\r\n <Modal.Body>\r\n <div className=\"row bg-light\">\r\n <div className={`col-lg-6 mt-5 mb-5`}>Name</div>\r\n <div className={`col-lg-3 mt-5 mb-5`}>Rate</div>\r\n <div className={`col-lg-3 mt-5 mb-5`}>Add</div>\r\n </div>\r\n {ChargesModal &&\r\n ChargesModal.length > 0 &&\r\n ChargesModal.map((x, index) => (\r\n <div className=\"row\">\r\n <div className={`col-lg-6 mt-5 mb-5`}>\r\n <b className={`text-black title mr-2`}>{x?.Name}</b>\r\n </div>\r\n <div className={`col-lg-3 mt-5 mb-5`}>\r\n <span\r\n className=\"label label-light-primary label-inline mr-2 p-4\"\r\n style={{ fontSize: \"12px\", fontWeight: \"600\" }}\r\n >\r\n {x?.Rate}\r\n </span>\r\n </div>\r\n <div className={`col-lg-3 mt-2`}>\r\n <button\r\n id=\"addChargeBtn\"\r\n type=\"button\"\r\n class=\"btn btn-light-success w-100\"\r\n onClick={() => {\r\n try {\r\n let valuesCharges = [...vendorPayables];\r\n let values = [...ChargesModal];\r\n let b;\r\n let c;\r\n b = values?.find((y) => y?.Id === x?.Id);\r\n c = values?.filter((y) => y?.Id !== x?.Id);\r\n if (b) {\r\n var color = 0;\r\n valuesCharges.push({\r\n Id: b?.Id,\r\n ChargeId: b?.Id,\r\n Rate: b?.Rate,\r\n Name: b?.Name,\r\n Code: b?.Code,\r\n Quantity: 0,\r\n RateType: b?.RateType,\r\n MinCharge: b?.MinCharge,\r\n MaxCharge: b?.MaxCharge,\r\n FreeTime: b?.FreeTime,\r\n IsVariable: x?.IsVariable || false,\r\n Invoice: \"\",\r\n OriAddSup: color,\r\n IsReadOnly: false,\r\n });\r\n }\r\n //fetchDataList\r\n setVendorsPayables(valuesCharges);\r\n setChargesAdded(c);\r\n } catch (err) {}\r\n }}\r\n >\r\n <i className={`fas fa-plus fa-sm`}></i>\r\n </button>\r\n </div>\r\n </div>\r\n ))}\r\n </Modal.Body>\r\n <Modal.Footer>\r\n <div>\r\n <button\r\n type=\"button\"\r\n onClick={() => {\r\n try {\r\n setModalCharges(false);\r\n } catch (err) {}\r\n }}\r\n className=\"btn btn-light btn-elevate\"\r\n >\r\n Close\r\n </button>\r\n </div>\r\n </Modal.Footer>\r\n </Modal>\r\n {/* Modal Notes */}\r\n <Modal\r\n show={noteModal?.Show}\r\n aria-labelledby=\"example-modal-sizes-title-lg\"\r\n >\r\n <Modal.Header>\r\n <Modal.Title id=\"example-modal-sizes-title-lg\">\r\n Note : {noteModal?.Code}\r\n </Modal.Title>\r\n <IconButton\r\n className=\"MuiButtonBase-root MuiIconButton-root jss179\"\r\n aria-label=\"Close\"\r\n onClick={() => setNoteModal({ Show: false })}\r\n >\r\n <CloseIcon />\r\n </IconButton>\r\n </Modal.Header>\r\n <Modal.Body className=\"row\">\r\n <textarea\r\n id=\"NoteCharges\"\r\n className=\"form-control\"\r\n rows=\"3\"\r\n defaultValue={noteModal?.Note}\r\n onChange={(e) => {\r\n try {\r\n let values = { ...noteModal };\r\n values.Note = e.target.value;\r\n setNoteModal(values);\r\n } catch (err) {}\r\n }}\r\n ></textarea>\r\n </Modal.Body>\r\n <Modal.Footer>\r\n <div>\r\n <button\r\n type=\"button\"\r\n onClick={() => setNoteModal({ Show: false })}\r\n className=\"btn btn-light btn-elevate\"\r\n >\r\n Cancel\r\n </button>\r\n <button\r\n type=\"button\"\r\n onClick={() => {\r\n try {\r\n let values = [...vendorPayables];\r\n values[noteModal?.Index].Note = noteModal?.Note;\r\n setVendorsPayables(values);\r\n setNoteModal({ Show: false });\r\n } catch (err) {}\r\n }}\r\n className=\"btn btn-primary btn-elevate ml-2\"\r\n >\r\n Save\r\n </button>\r\n </div>\r\n </Modal.Footer>\r\n </Modal>\r\n </div>\r\n );\r\n}","/* eslint-disable react-hooks/exhaustive-deps */\r\n// Form is based on Formik\r\n// Data validation is based on Yup\r\n// Please, be familiar with article first:\r\n// https://hackernoon.com/react-form-validation-with-formik-and-yup-8b76bda62e10\r\nimport {\r\n IconButton,\r\n Input,\r\n LinearProgress,\r\n makeStyles,\r\n Paper,\r\n Table,\r\n TableBody,\r\n TableCell,\r\n TableHead,\r\n TableRow,\r\n TextField,\r\n} from \"@material-ui/core\";\r\nimport CloseIcon from \"@material-ui/icons/Close\";\r\nimport React, { useEffect, useState } from \"react\";\r\nimport {\r\n Col,\r\n Modal,\r\n OverlayTrigger,\r\n Row,\r\n Spinner,\r\n Tooltip,\r\n} from \"react-bootstrap\";\r\nimport CreatableSelect from \"react-select/creatable\";\r\nimport BootstrapTable from \"react-bootstrap-table-next\";\r\nimport paginationFactory from \"react-bootstrap-table2-paginator\";\r\nimport Select from \"react-select\";\r\nimport {\r\n sortCaret,\r\n toAbsoluteUrl,\r\n headerSortingClasses,\r\n} from \"../../../../../../_metronic/_helpers\";\r\nimport {\r\n Card,\r\n CardBody,\r\n CardHeader,\r\n CardHeaderToolbar,\r\n CheckboxLargeWB,\r\n DenseTableSm,\r\n LoadingDialog,\r\n} from \"../../../../../../_metronic/_partials/controls\";\r\nimport low from \"lowdb\";\r\nimport LocalStorage from \"lowdb/adapters/LocalStorage\";\r\nimport { Notification } from \"../../../../Notification\";\r\nimport { Field } from \"formik\";\r\nimport axios from \"axios\";\r\nimport {\r\n currencyFormat,\r\n DateTime30GL,\r\n RequiredHtml,\r\n} from \"../../../../../../_metronic/_helpers/ATHelpers\";\r\nimport moment from \"moment\";\r\nimport { BillToRating, VendorRating } from \"../Charges\";\r\nimport { OrderAttachementsV2 } from \"../../Transload/FindOrders/product-edit/OrderAttachements\";\r\nimport SVG from \"react-inlinesvg\";\r\nvar Spinner2 = require(\"react-spinkit\");\r\nconst adapter = new LocalStorage(\"db\");\r\nconst db = low(adapter);\r\nconst useStyles = makeStyles((theme) => ({\r\n root: {\r\n width: \"100%\",\r\n },\r\n paper: {\r\n marginTop: theme.spacing(3),\r\n width: \"100%\",\r\n overflowX: \"auto\",\r\n marginBottom: theme.spacing(2),\r\n },\r\n}));\r\n\r\nexport function ServiceOrderLtlDetail({\r\n setFieldValue,\r\n values,\r\n setTab,\r\n setTextMasterOrder,\r\n statSHipmentId,\r\n setCharges,\r\n setLoaderSo,\r\n setVendorPayables,\r\n charges,\r\n loaderSo,\r\n vendorPayables,\r\n ModeSO,\r\n SO,\r\n carriers = [],\r\n getAssignment,\r\n initProduct,\r\n setinitProduct,\r\n ViewModelOptions,\r\n GetViewModel,\r\n GetSoData\r\n}) {\r\n const classes = useStyles();\r\n\r\n const [LoadingPost, setLoadingPost] = useState(false);\r\n useEffect(() => {\r\n if (SO) {\r\n GetItemsTms(SO);\r\n }\r\n }, [SO]);\r\n\r\n const Mode = [{ label: \"LTL\" }, { label: \"TL\" }, { label: \"Intermodal\" }].map(\r\n (Mode) => ({\r\n value: Mode.label,\r\n label: Mode.label,\r\n })\r\n );\r\n const [CreateSO, setCreateSO] = useState();\r\n const [isLinearProgress, setIsLinearProgress] = useState(false);\r\n const [loaderData, setLoaderData] = React.useState(false);\r\n const [AttachmentTypes, setAttachmentTypes] = useState([]);\r\n const [AccessLevels, setAccessLevels] = useState([]);\r\n const [modalAddresses, setmodalAddresses] = useState(false);\r\n const [IsShipperSelected, setIsShipperSelected] = useState(false);\r\n const [Country, setCountry] = useState([]);\r\n const [customers, setCustomers] = useState([]);\r\n const [states, setStates] = useState([]);\r\n const [countryIdFetch, setCountryValue] = useState({\r\n value: \"US\",\r\n label: \"United States\",\r\n });\r\n const [stateId, setStateId] = React.useState({\r\n value: \"\",\r\n label: \"Select\",\r\n });\r\n const [isCollapsedReceiving, setIsCollapsedReceiving] = useState(false);\r\n const [isCollapsedShipping, setIsCollapsedShipping] = useState(false);\r\n const [isCollapsedCarrier, setIsCollapsedCarrier] = useState(false);\r\n const [isCollapsedCommodity, setIsCollapsedCommodity] = useState(false);\r\n const [isCollapsedInvoicing, setIsCollapsedInvoicing] = useState(false);\r\n const [isCollapsedAttachments, setIsCollapsedAttachments] = useState(false);\r\n\r\n const [AddressObjectPost, setAddressObjectPost] = useState({\r\n Name: \"\",\r\n Address: \"\",\r\n City: \"\",\r\n State: \"\",\r\n PostalCode: \"\",\r\n CountryId: \"US\",\r\n Phone: \"\",\r\n Fax: \"\",\r\n Note: \"\",\r\n AddressTypeId: null,\r\n IsActive: true,\r\n Charges: [],\r\n ContactName: \"\",\r\n Email: \"\",\r\n CustomerId: null,\r\n });\r\n\r\n const fetchViewModelAsync = async () => {\r\n try {\r\n const result = await axios.get(\"api/ManageAddress/GetAllApi\");\r\n setCountry(result.data[\"Countries\"] || []);\r\n } catch (e) {}\r\n };\r\n\r\n const handleCountryChange = async (event) => {\r\n setStates([]);\r\n if (event !== \"\" && event !== null) {\r\n const result = await axios.get(`api/companyinfo/getstates/${event}`);\r\n if (result.status === 200) {\r\n if (result.data.length > 0) {\r\n const states = [];\r\n window.$StatesAddress = result.data;\r\n result.data.length > 0 &&\r\n result.data.map((item) => {\r\n states.push({ value: item.Id, label: item.Name });\r\n return null;\r\n });\r\n setStates(states);\r\n } else {\r\n Notification(\"warning\", \"This Country doesn't have any state.\");\r\n }\r\n }\r\n }\r\n };\r\n //Fetch Dynamic Address\r\n const [consignee, setConsignee] = useState({\r\n ConsigneeId: 0,\r\n ConsigneeAddress: \"\",\r\n ConsigneeCity: \"\",\r\n ConsigneeState: \"\",\r\n ConsigneeZipCode: \"\",\r\n ConsigneePhoneNumber: \"\",\r\n ConsigneeFax: \"\",\r\n ConsigneeContactName: \"\",\r\n ConsigneeEmail: \"\",\r\n ReceivingNote: \"\",\r\n });\r\n const [shipper, setShipper] = useState({\r\n ShipperId: 0,\r\n ShipperAddress: \"\",\r\n ShipperCity: \"\",\r\n ShipperState: \"\",\r\n ShipperZipCode: \"\",\r\n ShipperPhoneNumber: \"\",\r\n ShipperFax: \"\",\r\n ShipperContactName: \"\",\r\n ShipperEmail: \"\",\r\n ShippingNote: \"\",\r\n });\r\n async function fetchSelectedAddress(id, isShipper) {\r\n try {\r\n const result = await GetShipperAddress(id);\r\n var init = { ...initProduct };\r\n\r\n if (isShipper) {\r\n setFieldValue(\"ShipperCity\", result?.City);\r\n setFieldValue(\"ShipperState\", result?.State);\r\n setFieldValue(\"ShipperId\", result?.Id);\r\n setFieldValue(\r\n \"ShippingNote\",\r\n values.ShippingNote === \"\" || values.ShippingNote === null\r\n ? result?.Note\r\n : values.ShippingNote\r\n );\r\n let currentAddress = { ...shipper };\r\n currentAddress = {\r\n ShipperId: result?.Id,\r\n ShipperAddress: result?.Address,\r\n ShipperCity: result?.City,\r\n ShipperState: result?.State,\r\n ShipperZipCode: result?.ZipCode,\r\n ShipperPhoneNumber: result?.PhoneNumber,\r\n ShipperFax: result?.Fax,\r\n ShipperContactName: result?.ContactName,\r\n ShipperEmail: result?.Email,\r\n ShippingNote:\r\n values.ShippingNote === \"\" || values.ShippingNote === null\r\n ? result?.Note\r\n : values.ShippingNote,\r\n };\r\n init.ShipperCity = result?.City;\r\n init.ShipperState = result?.State;\r\n init.ShipperId = result?.Id;\r\n //setinitProduct(init);\r\n await getAssignment(\r\n {\r\n CustomerId: values.CustomerId ?? null,\r\n ShipperCity: result?.City,\r\n ShipperState: result?.State,\r\n ConsigneeCity: values.ConsigneeCity,\r\n ConsigneeState: values.ConsigneeState,\r\n },\r\n initProduct,\r\n true\r\n );\r\n setShipper(currentAddress);\r\n } else {\r\n setFieldValue(\"ConsigneeCity\", result?.City);\r\n setFieldValue(\"ConsigneeState\", result?.State);\r\n setFieldValue(\"ConsigneeId\", result?.Id);\r\n setFieldValue(\r\n \"ReceivingNote\",\r\n values.ReceivingNote === \"\" || values.ReceivingNote === null\r\n ? result?.Note\r\n : values.ReceivingNote\r\n );\r\n let currentAddress = { ...consignee };\r\n currentAddress = {\r\n ConsigneeId: result?.Id,\r\n ConsigneeAddress: result?.Address,\r\n ConsigneeCity: result?.City,\r\n ConsigneeState: result?.State,\r\n ConsigneeZipCode: result?.ZipCode,\r\n ConsigneePhoneNumber: result?.PhoneNumber,\r\n ConsigneeFax: result?.Fax,\r\n ConsigneeContactName: result?.ContactName,\r\n ConsigneeEmail: result?.Email,\r\n ReceivingNote:\r\n values.ReceivingNote === \"\" || values.ReceivingNote === null\r\n ? result?.Note\r\n : values.ReceivingNote,\r\n };\r\n init.ConsigneeCity = result?.City;\r\n init.ConsigneeState = result?.State;\r\n init.ConsigneeId = result?.Id;\r\n //setinitProduct(init);\r\n setConsignee(currentAddress);\r\n await getAssignment(\r\n {\r\n CustomerId: values.CustomerId ?? null,\r\n ShipperCity: values?.ShipperCity,\r\n ShipperState: values?.ShipperState,\r\n ConsigneeCity: values.ConsigneeCity,\r\n ConsigneeState: values.ConsigneeState,\r\n },\r\n initProduct,\r\n true\r\n );\r\n }\r\n } catch (err) {}\r\n }\r\n async function GetShipperAddress(id) {\r\n return await fetch(window.$apiurl + `/Tms/Address/${id}`, {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n if (res[0] === 200) {\r\n const result = res[1];\r\n return result;\r\n }\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n function GetAttachmentsViewModel() {\r\n fetch(window.$apiurl + `/api/shipmentviewmodel`, {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n setAttachmentTypes(res[1]?.AttachmentTypes || []);\r\n setAccessLevels(res[1]?.AccessLevels || []);\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n async function fetchSelectedAddressOnLoad(id, isShipper) {\r\n try {\r\n const result = await GetShipperAddress(id);\r\n if (isShipper) {\r\n let currentAddress = { ...shipper };\r\n currentAddress = {\r\n ShipperId: result?.Id,\r\n ShipperAddress: result?.Address,\r\n ShipperCity: result?.City,\r\n ShipperState: result?.State,\r\n ShipperZipCode: result?.ZipCode,\r\n ShipperPhoneNumber: result?.PhoneNumber,\r\n ShipperFax: result?.Fax,\r\n ShipperContactName: result?.ContactName,\r\n ShipperEmail: result?.Email,\r\n };\r\n setShipper(currentAddress);\r\n } else {\r\n let currentAddress = { ...consignee };\r\n currentAddress = {\r\n ConsigneeId: result?.Id,\r\n ConsigneeAddress: result?.Address,\r\n ConsigneeCity: result?.City,\r\n ConsigneeState: result?.State,\r\n ConsigneeZipCode: result?.ZipCode,\r\n ConsigneePhoneNumber: result?.PhoneNumber,\r\n ConsigneeFax: result?.Fax,\r\n ConsigneeContactName: result?.ContactName,\r\n ConsigneeEmail: result?.Email,\r\n };\r\n setConsignee(currentAddress);\r\n }\r\n } catch (err) {}\r\n }\r\n useEffect(() => {\r\n fetchSelectedAddressOnLoad(values.ShipperId, true);\r\n }, [values.ShipperId]);\r\n useEffect(() => {\r\n fetchSelectedAddressOnLoad(values.ConsigneeId, false);\r\n }, [values.ConsigneeId]);\r\n //******************************************************* */\r\n useEffect(() => {\r\n fetchViewModelAsync();\r\n GetAttachmentsViewModel();\r\n }, []);\r\n function postAddress() {\r\n setLoadingPost(true);\r\n let value = { ...AddressObjectPost };\r\n value.AddressTypeId = IsShipperSelected === true ? 11 : 5;\r\n return fetch(window.$apiurl + \"/address\", {\r\n method: \"post\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n\r\n body: JSON.stringify(value),\r\n })\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n const contentType = response.headers.get(\"content-type\");\r\n if (contentType && contentType.indexOf(\"application/json\") !== -1) {\r\n return response.json().then((data) => [statusCode, data]);\r\n } else {\r\n return response.text().then((text) => [statusCode, { Message: \"\" }]);\r\n }\r\n })\r\n .then(async (res) => {\r\n if (res[0] === 200) {\r\n Notification(\"success\", \"Address has been add successfuly\");\r\n setLoadingPost(false);\r\n\r\n setmodalAddresses(false);\r\n await GetViewModel();\r\n if (IsShipperSelected) {\r\n setFieldValue(\"ShipperId\", res[1].Id);\r\n } else {\r\n setFieldValue(\"ConsigneeId\", res[1].Id);\r\n }\r\n\r\n setAddressObjectPost({\r\n Name: \"\",\r\n Address: \"\",\r\n City: \"\",\r\n State: \"\",\r\n PostalCode: \"\",\r\n CountryId: \"US\",\r\n Phone: \"\",\r\n Fax: \"\",\r\n Note: \"\",\r\n AddressTypeId: null,\r\n IsActive: true,\r\n Charges: [],\r\n CustomerId: null,\r\n ContactName: \"\",\r\n Email: \"\",\r\n });\r\n } else {\r\n if (\r\n res[1].Message !== null &&\r\n res[1].Message !== undefined &&\r\n res[1].Message !== \"\"\r\n ) {\r\n Notification(\"errorClick\", res[1].Message);\r\n } else {\r\n Notification(\"errorClick\", \"Invalid Data\");\r\n }\r\n setLoadingPost(false);\r\n }\r\n })\r\n .catch((error) => {\r\n Notification(\"errorClick\", \"Invalid Data\");\r\n setLoadingPost(false);\r\n });\r\n }\r\n\r\n const [itemsTms, setItemsTms] = React.useState([\r\n {\r\n UnitCount: 1,\r\n Quantity: 1,\r\n CubeType: \"CBM\",\r\n Cube: 1,\r\n WeightType: \"LBS\",\r\n PurchaseOrder: \"\",\r\n UnitValue: \"in/lbs\",\r\n IsPost: false,\r\n IsEditMode: false,\r\n Pieces: 1,\r\n UnitOfMeasureId: 4,\r\n ShipmentId: SO,\r\n WeightMode: \"each\",\r\n WeightModeValue: { value: \"each\", label: \"each\" },\r\n Weight: \"1\",\r\n Length: \"\",\r\n Height: \"\",\r\n Width: \"\",\r\n PalletTypeId: null,\r\n FreightClass: \"\",\r\n FreightClassValue: { value: \"\", label: \"Select\" },\r\n Nmfc: \"\",\r\n IsHazardousMateriel: false,\r\n StopId: null,\r\n DeliveryStopId: null,\r\n StopValue: { value: \"\", label: \"Select\" },\r\n StopValueDelivery: { value: \"\", label: \"Select\" },\r\n UnitOfMeasureValue: { value: 4, label: \"Pallet\" },\r\n },\r\n ]);\r\n function addClick() {\r\n setItemsTms((prevState) => [\r\n ...prevState,\r\n {\r\n UnitCount: 1,\r\n Quantity: 1,\r\n CubeType: \"CBM\",\r\n PurchaseOrder: \"\",\r\n Cube: 1,\r\n WeightType: \"LBS\",\r\n IsPost: true,\r\n IsEditMode: false,\r\n UnitValue: \"in/lbs\",\r\n Pieces: 1,\r\n UnitOfMeasureId: 4,\r\n ShipmentId: SO,\r\n WeightMode: \"each\",\r\n WeightModeValue: { value: \"each\", label: \"each\" },\r\n Weight: \"1\",\r\n Length: \"\",\r\n Height: \"\",\r\n Width: \"\",\r\n FreightClass: \"\",\r\n PalletTypeId: null,\r\n FreightClassValue: { value: \"\", label: \"Select\" },\r\n Nmfc: \"\",\r\n IsHazardousMateriel: false,\r\n StopId: null,\r\n DeliveryStopId: null,\r\n StopValue: { value: \"\", label: \"Select\" },\r\n StopValueDelivery: { value: \"\", label: \"Select\" },\r\n UnitOfMeasureValue: { value: 4, label: \"Pallet\" },\r\n },\r\n ]);\r\n }\r\n function removeClick(i) {\r\n let data = [...itemsTms];\r\n data.splice(i, 1);\r\n setItemsTms(data);\r\n }\r\n async function PostItemTms(data) {\r\n if (\r\n data.Commodity === null ||\r\n data.Commodity === undefined ||\r\n data.Commodity === \"\"\r\n ) {\r\n Notification(\"errorClick\", \"Commodity is required\");\r\n return false;\r\n }\r\n if (\r\n data.Weight === null ||\r\n data.Weight === undefined ||\r\n data.Weight === \"\"\r\n ) {\r\n Notification(\"errorClick\", \"Weight is required\");\r\n return false;\r\n }\r\n if (\r\n data.HandlingAmount === null ||\r\n data.HandlingAmount === undefined ||\r\n data.HandlingAmount === \"\"\r\n ) {\r\n Notification(\"errorClick\", \"Handling Amount is required\");\r\n return false;\r\n }\r\n if (\r\n data.PackagingGroupId === null ||\r\n data.PackagingGroupId === undefined ||\r\n data.PackagingGroupId === \"\"\r\n ) {\r\n Notification(\"errorClick\", \"Packaging is required\");\r\n return false;\r\n }\r\n return fetch(window.$apiurl + `/tms/items`, {\r\n method: \"post\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(data),\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then(async (res) => {\r\n Notification(\"success\", `Item has been added successfully`);\r\n await GetItemsTms(SO);\r\n return res;\r\n })\r\n .catch((error) => {});\r\n }\r\n //******************** COST CALCULATION **************************\r\n const [showResults, setShowResults] = useState(false);\r\n const [modalPercentage, setModalPercentage] = useState(false);\r\n const [percentageValue, setPercentageValue] = useState(20);\r\n const [ratesCalculated, setRatesCalculated] = useState([]);\r\n const [totalPayable, setTotalPayable] = useState(\"\");\r\n const [totalReceivable, setTotalReceivable] = useState(\"\");\r\n const [totalMargin, setTotalMargin] = useState(\"\");\r\n const [datatable, setdatatable] = useState([]);\r\n const [isSpinnerLoading, setIsSpinnerLoading] = useState(false);\r\n const [showModalRates, setShowRatesModal] = useState(false);\r\n const [isCollapsedCommodityDrag, setIsCollapsedCommodityDrag] = useState(\r\n false\r\n );\r\n const [ratesRow, setRatesCarrierRow] = useState([]);\r\n const [allRates, setAllRatesCarrier] = useState([]);\r\n const [carrierRowSelect, setSelectCarrierRow] = useState(null);\r\n const [accessorialsList, setAccessorialsList] = useState([]);\r\n const [carriersHash, setCarriersHash] = useState([]);\r\n function calculateTotalItems(list, column) {\r\n try {\r\n let result = 0;\r\n if (list !== null && list !== undefined && list?.length > 0) {\r\n list.forEach((item) => {\r\n result += item[column];\r\n });\r\n }\r\n return currencyFormat(result);\r\n } catch (err) {\r\n console.log(err);\r\n }\r\n }\r\n const columnsItems = [\r\n {\r\n dataField: \"Id\",\r\n text: \"Id\",\r\n sortCaret: sortCaret,\r\n headerSortingClasses,\r\n },\r\n {\r\n dataField: \"PurchaseOrder\",\r\n text: \"Purchase Order\",\r\n sortCaret: sortCaret,\r\n },\r\n {\r\n dataField: \"UnitOfMeasure\",\r\n text: \"Unit Of Measure\",\r\n sortCaret: sortCaret,\r\n },\r\n {\r\n dataField: \"Sku\",\r\n text: \"Sku\",\r\n sortCaret: sortCaret,\r\n },\r\n {\r\n dataField: \"Upc\",\r\n text: \"Upc\",\r\n sortCaret: sortCaret,\r\n },\r\n {\r\n dataField: \"Container\",\r\n text: \"Container\",\r\n sortCaret: sortCaret,\r\n },\r\n {\r\n dataField: \"Description\",\r\n text: \"Description\",\r\n sortCaret: sortCaret,\r\n },\r\n {\r\n dataField: \"Quantity\",\r\n text: \"Quantity\",\r\n sortCaret: sortCaret,\r\n },\r\n {\r\n dataField: \"Weight\",\r\n text: \"Weight\",\r\n sortCaret: sortCaret,\r\n formatter: (cell, row) => {\r\n return currencyFormat(row.Weight);\r\n },\r\n },\r\n {\r\n dataField: \"Cube\",\r\n text: \"Cube\",\r\n sortCaret: sortCaret,\r\n formatter: (cell, row) => {\r\n return currencyFormat(row.Cube);\r\n },\r\n },\r\n {\r\n dataField: \"IsHazmat\",\r\n text: \"IsHazmat\",\r\n sortCaret: sortCaret,\r\n formatter: (cell, row) => {\r\n return (\r\n row.IsHazmat && (\r\n <OverlayTrigger\r\n overlay={\r\n <Tooltip id=\"products-edit-tooltip\">Hazardous Material</Tooltip>\r\n }\r\n >\r\n <a\r\n href={() => false}\r\n className=\"btn btn-icon btn-light btn-hover-light btn-sm mr-2\"\r\n >\r\n <span className=\"svg-icon svg-icon-md svg-icon-danger\">\r\n <SVG\r\n src={toAbsoluteUrl(\r\n \"/media/svg/icons/Communication/296395.svg\"\r\n )}\r\n />\r\n </span>\r\n </a>\r\n </OverlayTrigger>\r\n )\r\n );\r\n },\r\n },\r\n {\r\n dataField: \"IsHot\",\r\n text: \"IsHot\",\r\n sortCaret: sortCaret,\r\n formatter: (cell, row) => {\r\n return (\r\n row.IsHot && (\r\n <OverlayTrigger\r\n overlay={<Tooltip id=\"products-edit-tooltip\">Hot</Tooltip>}\r\n >\r\n <a\r\n href={() => false}\r\n className=\"btn btn-icon btn-light btn-hover-light btn-sm mr-2\"\r\n >\r\n <span className=\"svg-icon svg-icon-md svg-icon-danger\">\r\n <SVG\r\n src={toAbsoluteUrl(\r\n \"/media/svg/icons/Communication/fire.svg\"\r\n )}\r\n />\r\n </span>\r\n </a>\r\n </OverlayTrigger>\r\n )\r\n );\r\n },\r\n },\r\n {\r\n dataField: \"DamagedQuantity\",\r\n text: \"DamagedQuantity\",\r\n sortCaret: sortCaret,\r\n },\r\n {\r\n dataField: \"CasePack\",\r\n text: \"CasePack\",\r\n sortCaret: sortCaret,\r\n },\r\n ];\r\n const [LtlCarriers, setLtlCarriers] = useState([]);\r\n useEffect(() => {\r\n try {\r\n if (carriers?.length > 0) {\r\n let hashes = [];\r\n carriers.map((item) => {\r\n item.IsChecked = true;\r\n hashes.push(item.Hash);\r\n return null;\r\n });\r\n setCarriersHash(hashes || []);\r\n setLtlCarriers(carriers);\r\n }\r\n } catch (err) {}\r\n }, [carriers]);\r\n function fetchSelectedRates(value) {\r\n try {\r\n const ratesList = allRates;\r\n ratesList.length > 0 &&\r\n ratesList.map((item) => {\r\n if (!item.IsChangedPercentage) {\r\n item.Percentage = value;\r\n if (item.Name === \"DISCOUNT\" && item.Rate > 0) {\r\n item.Payable = item.Rate * -1;\r\n item.Rate = item.Rate * -1;\r\n } else {\r\n item.Payable = item.Rate;\r\n }\r\n item.Receivable = item.Payable + (item.Payable * value) / 100;\r\n item.Margin = item.Receivable - item.Payable;\r\n }\r\n return null;\r\n });\r\n\r\n //Totals\r\n var totalPayableCalc = calculateTotal(ratesList, false);\r\n setTotalPayable(totalPayableCalc);\r\n\r\n var totalReceivableCalc = calculateTotal(ratesList, true);\r\n setTotalReceivable(totalReceivableCalc);\r\n\r\n setTotalMargin(totalReceivableCalc - totalPayableCalc);\r\n let listRates = ratesList;\r\n\r\n const rates = ratesList.map((item) => {\r\n return item.Rate;\r\n });\r\n var max = Math.max.apply(null, rates);\r\n const minRate = ratesList.find((x) => x.Rate < 0);\r\n const maxRate = ratesList.find((x) => x.Rate === max);\r\n if (minRate !== null && minRate !== undefined) {\r\n listRates = listRates.filter(\r\n (x) =>\r\n x?.Rate !== 0 &&\r\n x.Rate !== minRate?.Rate &&\r\n x.Rate !== maxRate?.Rate\r\n );\r\n if (maxRate !== null && maxRate !== undefined) {\r\n listRates.push({\r\n Name: maxRate.Name,\r\n Receivable: maxRate.Receivable + minRate.Receivable,\r\n Payable: maxRate.Payable + minRate.Payable,\r\n Rate: maxRate.Payable + minRate.Payable,\r\n });\r\n }\r\n }\r\n\r\n listRates.length > 0 &&\r\n listRates.map((item) => {\r\n item.Margin = item.Receivable - item.Payable;\r\n item.Percentage = value;\r\n return null;\r\n });\r\n setRatesCalculated(listRates);\r\n } catch (err) {}\r\n }\r\n async function Select7LQuote(data) {\r\n return fetch(window.$apiurl + \"/Select7LQuote\", {\r\n method: \"post\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(data),\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n if (statusCode === 200) {\r\n GetSoData(SO);\r\n window.scrollTo({\r\n top: document.body.scrollHeight,\r\n behavior: \"smooth\",\r\n });\r\n }\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n try {\r\n const result = res[1];\r\n if (result[0] === 200) {\r\n Notification(\"success\", \"Success\");\r\n } else {\r\n if (\r\n result[1].ModelState !== null &&\r\n result[1].ModelState !== undefined &&\r\n result[1].ModelState !== \"\"\r\n ) {\r\n let modelState = result[1].ModelState;\r\n if (modelState)\r\n Object.keys(modelState).forEach(function(k) {\r\n modelState[k].forEach((element) => {\r\n Notification(\"errorClick\", element);\r\n });\r\n });\r\n } else if (\r\n result[1].Message !== null &&\r\n result[1].Message !== undefined &&\r\n result[1].Message !== \"\"\r\n ) {\r\n Notification(\"errorClick\", result[1].Message);\r\n } else {\r\n Notification(\"errorClick\", \"Bad Request\");\r\n }\r\n }\r\n setLoaderData(false);\r\n return res;\r\n } catch (err) {}\r\n })\r\n .catch((err) => {\r\n console.log(err);\r\n setLoaderData(false);\r\n });\r\n }\r\n function fetchCamelCaseSpaces(field) {\r\n try {\r\n const message = field;\r\n const result = message.replace(/([A-Z])/g, \" $1\");\r\n const finalResult = result.charAt(0).toUpperCase() + result.slice(1);\r\n return finalResult;\r\n } catch (err) {}\r\n }\r\n async function PostGenerate7LRates(data) {\r\n return fetch(window.$apiurl + \"/Get7LAvailableQuotes\", {\r\n method: \"post\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(data),\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n try {\r\n const a = res[1];\r\n if (a?.ModelState) {\r\n //Destination\r\n if (a?.ModelState[\"viewModel.DestinationCity\"]?.length > 0) {\r\n Notification(\r\n \"errorClick\",\r\n fetchCamelCaseSpaces(\r\n a?.ModelState[\"viewModel.DestinationCity\"][0]\r\n )\r\n );\r\n }\r\n if (a?.ModelState[\"viewModel.DestinationState\"]?.length > 0) {\r\n Notification(\r\n \"errorClick\",\r\n fetchCamelCaseSpaces(\r\n a?.ModelState[\"viewModel.DestinationState\"][0]\r\n )\r\n );\r\n }\r\n if (a?.ModelState[\"viewModel.DestinationZipcode\"]?.length > 0) {\r\n Notification(\r\n \"errorClick\",\r\n fetchCamelCaseSpaces(\r\n a?.ModelState[\"viewModel.DestinationZipcode\"][0]\r\n )\r\n );\r\n }\r\n\r\n //Origin\r\n if (a?.ModelState[\"viewModel.OriginCity\"]?.length > 0) {\r\n Notification(\r\n \"errorClick\",\r\n fetchCamelCaseSpaces(a?.ModelState[\"viewModel.OriginCity\"][0])\r\n );\r\n }\r\n if (a?.ModelState[\"viewModel.OriginState\"]?.length > 0) {\r\n Notification(\r\n \"errorClick\",\r\n fetchCamelCaseSpaces(a?.ModelState[\"viewModel.OriginState\"][0])\r\n );\r\n }\r\n if (a?.ModelState[\"viewModel.OriginZipcode\"]?.length > 0) {\r\n Notification(\r\n \"errorClick\",\r\n fetchCamelCaseSpaces(\r\n a?.ModelState[\"viewModel.OriginZipcode\"][0]\r\n )\r\n );\r\n }\r\n } else {\r\n if (a?.Message) {\r\n Notification(\"errorClick\", a?.Message);\r\n setdatatable([]);\r\n } else {\r\n a.length > 0 &&\r\n a.map((item, index) => {\r\n item.Id = index + 1;\r\n return null;\r\n });\r\n setdatatable(a || []);\r\n }\r\n }\r\n return a;\r\n } catch (err) {}\r\n })\r\n .catch((err) => {\r\n console.log(err);\r\n });\r\n }\r\n function fetchImgCarriers(name) {\r\n switch (name) {\r\n case \"XPO LOGISTICS\": {\r\n return toAbsoluteUrl(\"/media/images/carriers/CONWAY64x32.png\");\r\n }\r\n case \"XPO Freight\": {\r\n return toAbsoluteUrl(\"/media/images/carriers/CONWAY64x32.png\");\r\n }\r\n case \"FORWARD AIR, INC.\": {\r\n return toAbsoluteUrl(\"/media/images/carriers/FA64x32.png\");\r\n }\r\n case \"Forward Air\": {\r\n return toAbsoluteUrl(\"/media/images/carriers/FA64x32.png\");\r\n }\r\n case \"CENTRAL TRANSPORT\": {\r\n return toAbsoluteUrl(\"/media/images/carriers/CTI64x32.png\");\r\n }\r\n case \"OLD DOMINION FREIGHT LINE, INC.\": {\r\n return toAbsoluteUrl(\"/media/images/carriers/ODFL64x32.png\");\r\n }\r\n case \"YRC FREIGHT\": {\r\n return toAbsoluteUrl(\"/media/images/carriers/YRC64x32.png\");\r\n }\r\n case \"ROADRUNNER TRANSPORTATION SERVICES INC\": {\r\n return toAbsoluteUrl(\"/media/images/carriers/RR64x32.png\");\r\n }\r\n case \"Road Runner\": {\r\n return toAbsoluteUrl(\"/media/images/carriers/RR64x32.png\");\r\n }\r\n case \"YRC - Flashco\": {\r\n return toAbsoluteUrl(\"/media/images/carriers/YRC64x32.png\");\r\n }\r\n case \"SAIA MOTOR FREIGHT LINE, LLC\": {\r\n return toAbsoluteUrl(\"/media/images/carriers/SAIA64x32.png\");\r\n }\r\n case \"SAIA - Teragren\": {\r\n return toAbsoluteUrl(\"/media/images/carriers/SAIA64x32.png\");\r\n }\r\n case \"SAIA\": {\r\n return toAbsoluteUrl(\"/media/images/carriers/SAIA64x32.png\");\r\n }\r\n case \"REDDAWAY\": {\r\n return toAbsoluteUrl(\"/media/images/carriers/USFR64x32.png\");\r\n }\r\n case \"USF Reddaway\": {\r\n return toAbsoluteUrl(\"/media/images/carriers/USFR64x32.png\");\r\n }\r\n case \"Old Dominion\": {\r\n return toAbsoluteUrl(\"/media/images/carriers/ODFL64x32.png\");\r\n }\r\n case \"ArcBest - Global Med\": {\r\n return toAbsoluteUrl(\"/media/images/carriers/arcbest_logo.jpg\");\r\n }\r\n case \"ABF FREIGHT SYSTEM, INC.\": {\r\n return toAbsoluteUrl(\"/media/images/carriers/ABF64x32.png\");\r\n }\r\n default: {\r\n return toAbsoluteUrl(\"/media/images/carriers/delivery.png\");\r\n }\r\n }\r\n }\r\n function calculateTotal(ratesListParam, isReceivable, isItemEditable) {\r\n let listRates = ratesListParam;\r\n const rates = ratesListParam.map((item) => {\r\n return item.Rate;\r\n });\r\n var max = Math.max.apply(null, rates);\r\n const minRate = ratesListParam.find((x) => x.Rate < 0);\r\n const maxRate = ratesListParam.find((x) => x.Rate === max);\r\n if (minRate !== null && minRate !== undefined) {\r\n listRates = listRates.filter(\r\n (x) => x.Rate !== minRate?.Rate && x.Rate !== maxRate?.Rate\r\n );\r\n if (maxRate !== null && maxRate !== undefined) {\r\n listRates.push({\r\n Name: maxRate.Name,\r\n Receivable: maxRate.Receivable + minRate.Receivable,\r\n Payable: maxRate.Payable + minRate.Payable,\r\n Rate: maxRate.Payable + minRate.Payable,\r\n });\r\n }\r\n }\r\n\r\n let totalRatesPayable = 0;\r\n listRates.length > 0 &&\r\n listRates.map((item) => {\r\n totalRatesPayable += isReceivable ? item.Receivable : item.Payable;\r\n return null;\r\n });\r\n return totalRatesPayable;\r\n }\r\n const columnsLTLRate = [\r\n {\r\n dataField: \"Carrier\",\r\n text: \"Carrier\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n formatter: (cell, row) => {\r\n return (\r\n <>\r\n <div\r\n style={{\r\n display: \"inline-grid\",\r\n }}\r\n >\r\n <img\r\n alt=\"Img Carriers\"\r\n style={{ width: \"48px\" }}\r\n src={fetchImgCarriers(row?.Name)}\r\n />\r\n <span>{row?.Name}</span>\r\n </div>\r\n </>\r\n );\r\n },\r\n },\r\n {\r\n dataField: \"Number\",\r\n text: \"Number\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n },\r\n {\r\n dataField: \"RateRemarks\",\r\n text: \"Rate Remarks\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n },\r\n {\r\n dataField: \"Scac\",\r\n text: \"SCAC\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n },\r\n {\r\n dataField: \"TransitDays\",\r\n text: \"Transit Days\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n },\r\n {\r\n dataField: \"Total\",\r\n text: \"Total\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n formatter: (cell, row) => {\r\n return (\r\n <>\r\n <span>{currencyFormat(row?.Total)}</span>\r\n </>\r\n );\r\n },\r\n },\r\n {\r\n dataField: \"Actions\",\r\n text: \"Insurance\",\r\n formatter: (cell, row) => {\r\n return (\r\n <>\r\n <button\r\n type=\"button\"\r\n class=\"btn btn-primary m-4\"\r\n onClick={async () => {\r\n try {\r\n const selectObject = {\r\n Id: statSHipmentId,\r\n Total: row?.Total,\r\n Number: row?.Number,\r\n Hash: row?.Hash,\r\n Rates: row?.Rates,\r\n Percentage: percentageValue,\r\n };\r\n selectObject.Rates.length > 0 &&\r\n selectObject.Rates.map((item) => {\r\n if (item.Name === \"DISCOUNT\" && item.Rate > 0) {\r\n item.Payable = item.Rate * -1;\r\n item.Rate = item.Rate * -1;\r\n } else {\r\n item.Payable = item.Rate;\r\n }\r\n item.Payable = item.Rate;\r\n item.IsChangedPercentage = false;\r\n item.Receivable =\r\n item.Payable + (item.Payable * percentageValue) / 100;\r\n item.Margin = item.Receivable - item.Payable;\r\n item.Percentage = percentageValue;\r\n return null;\r\n });\r\n setAllRatesCarrier(selectObject.Rates);\r\n //Totals\r\n var totalPayableCalc = calculateTotal(\r\n selectObject.Rates,\r\n false\r\n );\r\n setTotalPayable(totalPayableCalc);\r\n\r\n var totalReceivableCalc = calculateTotal(\r\n selectObject.Rates,\r\n true\r\n );\r\n setTotalReceivable(totalReceivableCalc);\r\n\r\n setTotalMargin(totalReceivableCalc - totalPayableCalc);\r\n let listRates = selectObject.Rates;\r\n const rates = selectObject.Rates.map((item) => {\r\n return item.Rate;\r\n });\r\n var max = Math.max.apply(null, rates);\r\n const minRate = selectObject.Rates.find((x) => x.Rate < 0);\r\n const maxRate = selectObject.Rates.find(\r\n (x) => x.Rate === max\r\n );\r\n\r\n if (minRate !== null && minRate !== undefined) {\r\n listRates = listRates.filter(\r\n (x) =>\r\n x?.Rate !== 0 &&\r\n x?.Rate !== minRate?.Rate &&\r\n x?.Rate !== maxRate?.Rate\r\n );\r\n if (maxRate !== null && maxRate !== undefined) {\r\n listRates.push({\r\n Name: maxRate.Name,\r\n Receivable: maxRate.Receivable + minRate.Receivable,\r\n Payable: maxRate.Payable + minRate.Payable,\r\n Rate: maxRate.Payable + minRate.Payable,\r\n });\r\n }\r\n }\r\n listRates.length > 0 &&\r\n listRates.map((item) => {\r\n item.Margin = item.Receivable - item.Payable;\r\n item.Percentage = percentageValue;\r\n return null;\r\n });\r\n setRatesCarrierRow(row);\r\n setSelectCarrierRow(selectObject);\r\n setRatesCalculated(listRates);\r\n setModalPercentage(true);\r\n } catch (err) {}\r\n }}\r\n >\r\n <i className=\"flaticon2-shield pr3\"></i>\r\n Select\r\n </button>\r\n </>\r\n );\r\n },\r\n },\r\n ];\r\n const expandRowQuotes = {\r\n renderer: (row) => {\r\n if (row.Rates.length !== 0) {\r\n return (\r\n <Table>\r\n <TableHead>\r\n <TableRow>\r\n <TableCell>Name</TableCell>\r\n <TableCell>Rate</TableCell>\r\n </TableRow>\r\n </TableHead>\r\n <TableBody>\r\n {row.Rates.map((x) => (\r\n <TableRow>\r\n <TableCell>{x.Name}</TableCell>\r\n <TableCell>{x.Rate}</TableCell>\r\n </TableRow>\r\n ))}\r\n </TableBody>\r\n </Table>\r\n );\r\n }\r\n },\r\n showExpandColumn: true,\r\n expandByColumnOnly: true,\r\n };\r\n //************************************************************ */\r\n\r\n async function GetItemsTms(id) {\r\n return await fetch(window.$apiurl + `/tms/items/${id}`, {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n const a = res[1];\r\n const items = a?.Items;\r\n items?.length > 0 &&\r\n items.map((item) => {\r\n item.UnitCount = item.Quantity;\r\n item.FreightClassValue = {\r\n value: item.Class === \"\" ? \"\" : item.Class,\r\n label: item.Class === \"\" ? \"Select\" : item.Class,\r\n };\r\n item.WeightModeValue = {\r\n value: item.WeightMode === \"\" ? \"each\" : item.WeightMode,\r\n label: item.WeightMode === \"\" ? \"each\" : item.WeightMode,\r\n };\r\n item.FreightClass = item.Class;\r\n item.StopValue = { value: item.StopId, label: item.Stop };\r\n item.StopValueDelivery = {\r\n value: item.DeliveryStopId,\r\n label: item.DeliveryStop,\r\n };\r\n item.UnitOfMeasureValue = {\r\n value: item.UnitOfMeasure,\r\n label: item.UnitOfMeasure,\r\n };\r\n item.UnitValue = \"in/lbs\";\r\n item.CubeType = \"CBM\";\r\n item.WeightType = \"LBS\";\r\n item.UnitOfMeasureId = item.UnitOfMeasureId || 4;\r\n item.Pieces = 1;\r\n item.ShipmentId = SO;\r\n item.IsHazardousMateriel = item.IsHazmat;\r\n return null;\r\n });\r\n setItemsTms(items || []);\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n async function PutItemTms(id, data) {\r\n return fetch(window.$apiurl + `/tms/items/${id}`, {\r\n method: \"put\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(data),\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n return res;\r\n })\r\n .catch((error) => {});\r\n }\r\n async function DeleteItemTms(id) {\r\n return fetch(window.$apiurl + `/tms/items/${id}`, {\r\n method: \"delete\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n return res;\r\n })\r\n .catch((error) => {});\r\n }\r\n async function ClassCalculatorFunctionFetch(\r\n length,\r\n width,\r\n height,\r\n weight,\r\n index\r\n ) {\r\n return await fetch(\r\n window.$apiurl +\r\n `/FreightClass/CalculateClass?length=${length}&width=${width}&height=${height}&weight=${weight}\r\n &isMeter=false`,\r\n {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n }\r\n )\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n const a = res[1];\r\n let values = [...itemsTms];\r\n if (a) {\r\n try {\r\n values[index].FreightClass = a?.Result;\r\n values[index].FreightClassValue = {\r\n value: a?.Result,\r\n label: a?.Result,\r\n };\r\n } catch (err) {}\r\n } else {\r\n values[index].FreightClass = 0;\r\n values[index].FreightClassValue = {\r\n value: 0,\r\n label: 0,\r\n };\r\n }\r\n setItemsTms(values);\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n const suggestionsFreightClass = [\r\n { label: \"0\" },\r\n { label: \"50\" },\r\n { label: \"55\" },\r\n { label: \"60\" },\r\n { label: \"70\" },\r\n { label: \"77.5\" },\r\n { label: \"85\" },\r\n { label: \"92.5\" },\r\n { label: \"100\" },\r\n { label: \"110\" },\r\n { label: \"125\" },\r\n { label: \"150\" },\r\n { label: \"175\" },\r\n { label: \"200\" },\r\n { label: \"250\" },\r\n { label: \"300\" },\r\n { label: \"400\" },\r\n { label: \"500\" },\r\n ].map((suggestion) => ({\r\n value: suggestion.label,\r\n label: suggestion.label,\r\n }));\r\n function ItemsTmsComponent(values) {\r\n return itemsTms.map((el, i) => (\r\n <div className=\"card mt-md-9 bg-light\" key={i}>\r\n <div className=\"card-body\">\r\n <div className=\"row\">\r\n <div className=\"col\">\r\n <div className=\"row\">\r\n <div className=\"col-lg-6\">\r\n <span\r\n class=\"SoCommodity label label-info label-inline mr-2 mb-3 p-4\"\r\n style={{ fontSize: \"14px\" }}\r\n >\r\n {el?.IsPost ? \"New Item\" : `Item #: ${el?.Id}`}\r\n </span>\r\n </div>\r\n <div className=\"col-lg-6\" style={{ textAlignLast: \"right\" }}>\r\n <button\r\n onClick={async () => {\r\n if (el?.Id) {\r\n await DeleteItemTms(el?.Id);\r\n await GetItemsTms(SO);\r\n } else {\r\n removeClick(i);\r\n }\r\n Notification(\"success\", \"Success\");\r\n }}\r\n type=\"button\"\r\n class=\"btn btn-light-danger mr-2\"\r\n >\r\n <i\r\n class=\"fas fa-times fa-sm\"\r\n style={{ paddingRight: \"initial\" }}\r\n ></i>\r\n </button>\r\n </div>\r\n </div>\r\n\r\n <div className=\"p-2\">\r\n {/* First Row */}\r\n <div className=\"form-group row\">\r\n <div className=\"col-lg-3\">\r\n <label>PO#</label>\r\n <input\r\n component={Input}\r\n placeholder=\"PO#\"\r\n className=\"form-control\"\r\n value={el?.PurchaseOrder}\r\n onChange={(e) => {\r\n try {\r\n let values = [...itemsTms];\r\n values[i].PurchaseOrder = e.target.value;\r\n values[i].IsEditMode = true;\r\n setItemsTms(values);\r\n } catch (err) {}\r\n }}\r\n type=\"text\"\r\n name=\"PurchaseOrder\"\r\n />\r\n </div>\r\n {el?.IsPost === true ? (\r\n <div className=\"col-lg-3\">\r\n <label>Packaging</label>{\" \"}\r\n <span className=\"text-danger\">*</span>\r\n <Select\r\n name=\"PackagingGroupId\"\r\n onChange={(e) => {\r\n try {\r\n let values = [...itemsTms];\r\n values[i].PackagingGroupId = e.value;\r\n values[i].IsEditMode = true;\r\n setItemsTms(values);\r\n } catch (err) {}\r\n }}\r\n options={ViewModelOptions?.PackagingGroups?.map((x) => {\r\n return {\r\n value: x?.Id,\r\n label: x?.Name,\r\n };\r\n })}\r\n />\r\n </div>\r\n ) : (\r\n <div className=\"col-lg-3\">\r\n <label>Packaging</label>{\" \"}\r\n <span className=\"text-danger\">*</span>\r\n <Select\r\n name=\"PackagingGroupId\"\r\n value={ViewModelOptions?.PackagingGroups?.filter(\r\n (a) => a.Id === el?.PackagingGroupId\r\n ).map((x) => {\r\n return {\r\n value: x?.Id,\r\n label: x?.Name,\r\n };\r\n })}\r\n onChange={(e) => {\r\n try {\r\n let values = [...itemsTms];\r\n values[i].PackagingGroupId = e.value;\r\n values[i].IsEditMode = true;\r\n setItemsTms(values);\r\n } catch (err) {}\r\n }}\r\n options={ViewModelOptions?.PackagingGroups?.map((x) => {\r\n return {\r\n value: x?.Id,\r\n label: x?.Name,\r\n };\r\n })}\r\n />\r\n </div>\r\n )}\r\n {el?.IsPost === true ? (\r\n <div className=\"col-lg-3\">\r\n <label>Pallet Types</label>{\" \"}\r\n <span className=\"text-danger\">*</span>\r\n <Select\r\n name=\"PalletTypeId\"\r\n onChange={(e) => {\r\n try {\r\n let values = [...itemsTms];\r\n values[i].PalletTypeId = e.value;\r\n values[i].IsEditMode = true;\r\n setItemsTms(values);\r\n } catch (err) {}\r\n }}\r\n options={ViewModelOptions?.PalletTypes?.map((x) => {\r\n return {\r\n value: x?.Id,\r\n label: x?.Name,\r\n };\r\n })}\r\n />\r\n </div>\r\n ) : (\r\n <div className=\"col-lg-3\">\r\n <label>Pallet Types</label>{\" \"}\r\n <span className=\"text-danger\">*</span>\r\n <Select\r\n name=\"PackagingGroupId\"\r\n value={ViewModelOptions?.PalletTypes?.filter(\r\n (a) => a.Id === el?.PalletTypeId\r\n ).map((x) => {\r\n return {\r\n value: x?.Id,\r\n label: x?.Name,\r\n };\r\n })}\r\n onChange={(e) => {\r\n try {\r\n let values = [...itemsTms];\r\n values[i].PalletTypeId = e.value;\r\n values[i].IsEditMode = true;\r\n setItemsTms(values);\r\n } catch (err) {}\r\n }}\r\n options={ViewModelOptions?.PalletTypes?.map((x) => {\r\n return {\r\n value: x?.Id,\r\n label: x?.Name,\r\n };\r\n })}\r\n />\r\n </div>\r\n )}\r\n <div className=\"col-lg-3\">\r\n <label>Handling Amount</label>\r\n <span className=\"text-danger\">*</span>\r\n <input\r\n component={Input}\r\n placeholder=\"Handling\"\r\n className=\"form-control\"\r\n type=\"text\"\r\n value={el?.HandlingAmount}\r\n onChange={(e) => {\r\n try {\r\n let values = [...itemsTms];\r\n values[i].HandlingAmount = e.target.value;\r\n values[i].IsEditMode = true;\r\n setItemsTms(values);\r\n } catch (err) {}\r\n }}\r\n name=\"HandlingAmount\"\r\n />\r\n </div>\r\n\r\n <div className=\"col-lg-3 mt-4\">\r\n <label>Pieces</label>\r\n <input\r\n type=\"number\"\r\n className=\"form-control\"\r\n name=\"UnitCount\"\r\n component={Input}\r\n placeholder=\"Unit Count\"\r\n required={true}\r\n value={el?.Quantity}\r\n onChange={(e) => {\r\n try {\r\n let values = [...itemsTms];\r\n values[i].Quantity = e.target.value;\r\n values[i].IsEditMode = true;\r\n setItemsTms(values);\r\n } catch (err) {}\r\n }}\r\n min=\"0\"\r\n />\r\n </div>\r\n <div className=\"col-lg-3 mt-4\">\r\n <label>Weight</label>\r\n <span className=\"text-danger\">*</span>\r\n <input\r\n type=\"number\"\r\n name=\"Weight\"\r\n id=\"WeightId\"\r\n className=\"form-control\"\r\n component={Input}\r\n placeholder=\"Weight\"\r\n value={el?.Weight}\r\n min=\"0\"\r\n onChange={(e) => {\r\n try {\r\n let values = [...itemsTms];\r\n values[i].Weight = e.target.value;\r\n values[i].IsEditMode = true;\r\n setItemsTms(values);\r\n //Class Calculator\r\n if (\r\n el?.Length !== \"\" &&\r\n el?.Width !== \"\" &&\r\n el?.Height !== \"\" &&\r\n el?.Weight !== \"\"\r\n ) {\r\n ClassCalculatorFunctionFetch(\r\n el?.Length,\r\n el?.Width,\r\n el?.Height,\r\n el?.Weight,\r\n i\r\n );\r\n }\r\n } catch (err) {}\r\n }}\r\n />\r\n </div>\r\n\r\n <div className=\"col-lg-3 mt-4\">\r\n <label>NMFC</label>\r\n <input\r\n component={Input}\r\n placeholder=\"NMFC\"\r\n className=\"form-control\"\r\n value={el?.Nmfc}\r\n onChange={(e) => {\r\n try {\r\n let values = [...itemsTms];\r\n values[i].Nmfc = e.target.value;\r\n values[i].IsEditMode = true;\r\n setItemsTms(values);\r\n } catch (err) {}\r\n }}\r\n type=\"text\"\r\n name=\"Nmfc\"\r\n />\r\n </div>\r\n\r\n <div className=\"col-lg-3 mt-4\">\r\n <label>Commodity</label>\r\n <span className=\"text-danger\">*</span>\r\n <input\r\n component={Input}\r\n placeholder=\"Commodity\"\r\n className=\"form-control\"\r\n value={el?.Commodity}\r\n onChange={(e) => {\r\n try {\r\n let values = [...itemsTms];\r\n values[i].Commodity = e.target.value;\r\n values[i].IsEditMode = true;\r\n setItemsTms(values);\r\n } catch (err) {}\r\n }}\r\n type=\"text\"\r\n name=\"Commodity\"\r\n />\r\n </div>\r\n </div>\r\n {/* Second Row */}\r\n <div className=\"form-group row mb-0\">\r\n <div className=\"col-lg-3\">\r\n <label>Class</label>\r\n <span className=\"text-danger\">*</span>\r\n <Select\r\n name=\"FreightClass\"\r\n options={suggestionsFreightClass}\r\n value={el?.FreightClassValue}\r\n onChange={(e) => {\r\n try {\r\n let values = [...itemsTms];\r\n values[i].FreightClass = e.value;\r\n values[i].IsEditMode = true;\r\n values[i].FreightClassValue = e;\r\n setItemsTms(values);\r\n } catch (err) {}\r\n }}\r\n />\r\n </div>\r\n <div className=\"col-lg-3\">\r\n <label>Width</label>\r\n <span className=\"text-danger\">*</span>\r\n <input\r\n type=\"number\"\r\n name=\"Width\"\r\n id=\"WidthId\"\r\n className=\"form-control\"\r\n component={Input}\r\n placeholder=\"Width\"\r\n value={el?.Width}\r\n min=\"0\"\r\n onChange={(e) => {\r\n try {\r\n let values = [...itemsTms];\r\n values[i].Width = e.target.value;\r\n values[i].IsEditMode = true;\r\n setItemsTms(values);\r\n //Class Calculator\r\n if (\r\n el?.Length !== \"\" &&\r\n el?.Width !== \"\" &&\r\n el?.Height !== \"\" &&\r\n el?.Weight !== \"\"\r\n ) {\r\n ClassCalculatorFunctionFetch(\r\n el?.Length,\r\n el?.Width,\r\n el?.Height,\r\n el?.Weight,\r\n i\r\n );\r\n }\r\n } catch (err) {}\r\n }}\r\n />\r\n </div>\r\n <div className=\"col-lg-3\">\r\n <label>Height</label>\r\n <span className=\"text-danger\">*</span>\r\n <input\r\n type=\"number\"\r\n name=\"Height\"\r\n id=\"HeightId\"\r\n className=\"form-control\"\r\n component={Input}\r\n placeholder=\"Height\"\r\n value={el?.Height}\r\n min=\"0\"\r\n onChange={(e) => {\r\n try {\r\n let values = [...itemsTms];\r\n values[i].Height = e.target.value;\r\n values[i].IsEditMode = true;\r\n setItemsTms(values);\r\n //Class Calculator\r\n if (\r\n el?.Length !== \"\" &&\r\n el?.Width !== \"\" &&\r\n el?.Height !== \"\" &&\r\n el?.Weight !== \"\"\r\n ) {\r\n ClassCalculatorFunctionFetch(\r\n el?.Length,\r\n el?.Width,\r\n el?.Height,\r\n el?.Weight,\r\n i\r\n );\r\n }\r\n } catch (err) {}\r\n }}\r\n />\r\n </div>\r\n <div className=\"col-lg-3\">\r\n <label>Length</label>\r\n <span className=\"text-danger\">*</span>\r\n <input\r\n type=\"number\"\r\n name=\"Length\"\r\n id=\"LengthId\"\r\n className=\"form-control\"\r\n component={Input}\r\n placeholder=\"Length\"\r\n value={el?.Length}\r\n min=\"0\"\r\n onChange={(e) => {\r\n try {\r\n let values = [...itemsTms];\r\n values[i].Length = e.target.value;\r\n values[i].IsEditMode = true;\r\n setItemsTms(values);\r\n //Class Calculator\r\n if (\r\n el?.Length !== \"\" &&\r\n el?.Width !== \"\" &&\r\n el?.Height !== \"\" &&\r\n el?.Weight !== \"\"\r\n ) {\r\n ClassCalculatorFunctionFetch(\r\n el?.Length,\r\n el?.Width,\r\n el?.Height,\r\n el?.Weight,\r\n i\r\n );\r\n }\r\n } catch (err) {}\r\n }}\r\n />\r\n </div>\r\n <div className=\"col-lg-3 mt-md-12\">\r\n <CheckboxLargeWB\r\n className=\"font-size-md\"\r\n text=\"Is HazMat *\"\r\n name=\"IsHazardousMateriel\"\r\n id=\"IsHazardousMateriel\"\r\n checked={el?.IsHazardousMateriel}\r\n onChange={(e) => {\r\n try {\r\n let values = [...itemsTms];\r\n values[i].IsHazardousMateriel = e.target.checked;\r\n values[i].IsEditMode = true;\r\n setItemsTms(values);\r\n } catch (err) {}\r\n }}\r\n />\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n ));\r\n }\r\n return (\r\n <>\r\n <Modal\r\n size=\"lg\"\r\n show={CreateSO}\r\n onHide={setCreateSO}\r\n aria-labelledby=\"example-modal-sizes-title-sm\"\r\n >\r\n <Modal.Header>\r\n <Modal.Title id=\"example-modal-sizes-title-lg\">\r\n Baics Info\r\n </Modal.Title>\r\n <IconButton\r\n className={classes.button}\r\n aria-label=\"Close\"\r\n onClick={() => {\r\n setCreateSO(false);\r\n }}\r\n >\r\n <CloseIcon />\r\n </IconButton>\r\n </Modal.Header>\r\n <Modal.Body>\r\n <div className=\"form-group\">\r\n <div className=\"col\">\r\n <label className=\"mb-2\">Mode</label>\r\n <Select\r\n isClearable\r\n name=\"Mode\"\r\n id=\"Mode\"\r\n label=\"Mode\"\r\n inputId=\"react-select-single\"\r\n defaultValue={{\r\n value: ModeSO,\r\n label: ModeSO,\r\n }}\r\n options={Mode}\r\n />\r\n </div>\r\n </div>\r\n </Modal.Body>\r\n <Modal.Footer>\r\n <button\r\n type=\"submit\"\r\n onClick={() => setCreateSO(false)}\r\n className=\"btn btn-outline btn-elevate\"\r\n >\r\n Cancel\r\n </button>\r\n <button\r\n onClick={() => {\r\n alert();\r\n setTextMasterOrder(\"Back\");\r\n setTab(\"basic-new\");\r\n }}\r\n className=\"btn btn-primary btn-elevate\"\r\n >\r\n Save\r\n </button>\r\n </Modal.Footer>\r\n </Modal>\r\n <Modal\r\n show={modalAddresses}\r\n size=\"lg\"\r\n aria-labelledby=\"example-modal-sizes-title-lg\"\r\n >\r\n <Modal.Header>\r\n <Modal.Title id=\"example-modal-sizes-title-lg\">\r\n Create new Address\r\n </Modal.Title>\r\n <IconButton\r\n className=\"MuiButtonBase-root MuiIconButton-root jss179\"\r\n aria-label=\"Close\"\r\n onClick={() => {\r\n setmodalAddresses(false);\r\n }}\r\n >\r\n <CloseIcon />\r\n </IconButton>\r\n </Modal.Header>\r\n <Modal.Body>\r\n <form className=\"form form-label-right\">\r\n <div className=\"form-group row\">\r\n <div className={\"col-lg-12\"}>\r\n <label>Organisation Name</label>\r\n <input\r\n name=\"Name\"\r\n className=\"form-control\"\r\n placeholder=\"Organisation Name\"\r\n label=\"Organisation Name\"\r\n value={AddressObjectPost.Name}\r\n onChange={(e) => {\r\n let value = { ...AddressObjectPost };\r\n value.Name = e.target.value;\r\n setAddressObjectPost(value);\r\n }}\r\n required={true}\r\n />\r\n </div>\r\n </div>\r\n <div className=\"form-group\">\r\n <div className=\"col-lg-12 px-0\">\r\n <label>\r\n Address <RequiredHtml />\r\n </label>\r\n <input\r\n name=\"Address\"\r\n as=\"textarea\"\r\n onChange={(e) => {\r\n let value = { ...AddressObjectPost };\r\n value.Address = e.target.value;\r\n setAddressObjectPost(value);\r\n }}\r\n className=\"form-control\"\r\n />\r\n </div>\r\n </div>\r\n <div className=\"form-group row\">\r\n <div className=\"col-lg-4\">\r\n <label>City</label>\r\n\r\n <input\r\n name=\"City\"\r\n className=\"form-control\"\r\n placeholder=\"City\"\r\n onChange={(e) => {\r\n let value = { ...AddressObjectPost };\r\n value.City = e.target.value;\r\n setAddressObjectPost(value);\r\n }}\r\n label=\"City\"\r\n />\r\n </div>\r\n <div className=\"col-lg-4\">\r\n <label>Choose a state</label>\r\n <Select\r\n name=\"State\"\r\n label=\"State\"\r\n id=\"LocationState\"\r\n options={states}\r\n value={stateId}\r\n onChange={(e) => {\r\n setStateId(e);\r\n let value = { ...AddressObjectPost };\r\n if (e !== null) {\r\n value.State = e?.label;\r\n } else {\r\n value.State = \"\";\r\n }\r\n setAddressObjectPost(value);\r\n }}\r\n />\r\n </div>\r\n <div className=\"col-lg-4\">\r\n <label>Zip Code</label>\r\n\r\n <input\r\n name=\"PostalCode\"\r\n className=\"form-control\"\r\n placeholder=\"Zip Code\"\r\n onChange={(e) => {\r\n let value = { ...AddressObjectPost };\r\n value.PostalCode = e.target.value;\r\n setAddressObjectPost(value);\r\n }}\r\n label=\"Zip Code\"\r\n />\r\n </div>\r\n </div>\r\n <div className=\"form-group row\">\r\n <div className=\"col-lg-4\">\r\n <label>\r\n Country <RequiredHtml />\r\n </label>\r\n <CreatableSelect\r\n name=\"CountryId\"\r\n value={\r\n countryIdFetch.value === \"\"\r\n ? { value: \"US\", label: \"United States\" }\r\n : countryIdFetch\r\n }\r\n options={Country.map((x) => {\r\n return { value: x?.Id, label: x?.Name };\r\n })}\r\n onChange={(newValue) => {\r\n setCountryValue(newValue);\r\n handleCountryChange(newValue?.value);\r\n let value = { ...AddressObjectPost };\r\n if (newValue !== null) {\r\n value.CountryId = newValue?.value;\r\n } else {\r\n value.CountryId = \"\";\r\n }\r\n setAddressObjectPost(value);\r\n }}\r\n />\r\n </div>\r\n <div className=\"col-lg-4\">\r\n <label>Phone</label>\r\n\r\n <input\r\n name=\"Phone\"\r\n onChange={(e) => {\r\n let value = { ...AddressObjectPost };\r\n value.Phone = e.target.value;\r\n setAddressObjectPost(value);\r\n }}\r\n className=\"form-control\"\r\n placeholder=\"Phone\"\r\n label=\"Phone\"\r\n />\r\n </div>\r\n <div className=\"col-lg-4\">\r\n <label>Fax</label>\r\n\r\n <input\r\n name=\"Fax\"\r\n onChange={(e) => {\r\n let value = { ...AddressObjectPost };\r\n value.Fax = e.target.value;\r\n setAddressObjectPost(value);\r\n }}\r\n className=\"form-control\"\r\n placeholder=\"Fax\"\r\n label=\"Fax\"\r\n />\r\n </div>\r\n </div>\r\n <div className=\"form-group row\">\r\n <div className=\"col-lg-4\">\r\n <label>Contact Name</label>\r\n\r\n <input\r\n name=\"ContactName\"\r\n onChange={(e) => {\r\n let value = { ...AddressObjectPost };\r\n value.ContactName = e.target.value;\r\n setAddressObjectPost(value);\r\n }}\r\n className=\"form-control\"\r\n placeholder=\"Contact Name\"\r\n label=\"Contact Name\"\r\n />\r\n </div>\r\n <div className=\"col-lg-4\">\r\n <label>Contact Email</label>\r\n\r\n <input\r\n name=\"Email\"\r\n onChange={(e) => {\r\n let value = { ...AddressObjectPost };\r\n value.Email = e.target.value;\r\n setAddressObjectPost(value);\r\n }}\r\n className=\"form-control\"\r\n placeholder=\"Contact Email\"\r\n label=\"Contact Email\"\r\n />\r\n </div>\r\n </div>\r\n <div className=\"form-group row\">\r\n <div className=\"col-lg-12\">\r\n <label>Customer</label>\r\n <Select\r\n name=\"CustomerId\"\r\n options={\r\n ViewModelOptions?.Customers?.length > 0\r\n ? ViewModelOptions?.Customers.map((item) => {\r\n return {\r\n value: item.Id,\r\n label: item.Name,\r\n };\r\n })\r\n : []\r\n }\r\n onChange={(e) => {\r\n let value = { ...AddressObjectPost };\r\n value.CustomerId = e?.value;\r\n setAddressObjectPost(value);\r\n }}\r\n isClearable\r\n />\r\n </div>\r\n </div>\r\n <div className=\"form-group\">\r\n <div className=\"col-lg-12 px-0\">\r\n <label>Note</label>\r\n <input\r\n name=\"Note\"\r\n as=\"textarea\"\r\n className=\"form-control\"\r\n onChange={(e) => {\r\n let value = { ...AddressObjectPost };\r\n value.Note = e.target.value;\r\n setAddressObjectPost(value);\r\n }}\r\n />\r\n </div>\r\n </div>\r\n </form>\r\n </Modal.Body>\r\n <Modal.Footer>\r\n <button\r\n type=\"button\"\r\n onClick={() => {\r\n setmodalAddresses(false);\r\n }}\r\n className=\"btn btn-light btn-elevate\"\r\n >\r\n Cancel\r\n </button>\r\n <> </>\r\n <button\r\n type=\"submit\"\r\n disabled={LoadingPost}\r\n onClick={() => {\r\n postAddress();\r\n }}\r\n className=\"btn btn-primary btn-elevate\"\r\n >\r\n Save\r\n {LoadingPost && (\r\n <Spinner\r\n as=\"span\"\r\n animation=\"border\"\r\n size=\"sm\"\r\n role=\"status\"\r\n aria-hidden=\"true\"\r\n />\r\n )}\r\n </button>\r\n </Modal.Footer>\r\n </Modal>\r\n <Card>\r\n <CardHeader\r\n title={`${\r\n ViewModelOptions?.Shippers.length > 0 &&\r\n ViewModelOptions?.Shippers.filter(\r\n (a) => a.Id === values?.ShipperId\r\n )[0]?.Name\r\n ? `Shipping Details | Company Name : ${\r\n ViewModelOptions?.Shippers.filter(\r\n (a) => a.Id === values?.ShipperId\r\n )[0]?.Name\r\n }`\r\n : `Shipping Details | Select a company`\r\n }`}\r\n >\r\n <CardHeaderToolbar>\r\n <button\r\n className=\"btn btn-light-primary py-3 pl-md-8 pr-md-8 ml-5\"\r\n onClick={() => {\r\n try {\r\n setIsCollapsedShipping(isCollapsedShipping ? false : true);\r\n } catch (err) {\r\n console.log(err);\r\n }\r\n }}\r\n >\r\n {isCollapsedShipping ? (\r\n <i class=\"fas fa-chevron-up\" style={{ fontSize: \"18px\" }}></i>\r\n ) : (\r\n <i class=\"fas fa-chevron-down\" style={{ fontSize: \"18px\" }}></i>\r\n )}\r\n </button>\r\n </CardHeaderToolbar>\r\n </CardHeader>\r\n <CardBody className={isCollapsedShipping ? \"d-none\" : \"\"}>\r\n <div\r\n className={`col-lg-12 bg-light-${\r\n values?.IsCanceled\r\n ? \"danger\"\r\n : values?.OnHold\r\n ? \"warning\"\r\n : values.FreightChargeId !== 98\r\n ? \"primary\"\r\n : \"info\"\r\n } ${\r\n values?.IsCanceled\r\n ? \"text-danger\"\r\n : values?.OnHold\r\n ? \"text-warning\"\r\n : values.FreightChargeId !== 98\r\n ? \"text-primary\"\r\n : \"text-info\"\r\n } m-0 mb-2 p-0`}\r\n >\r\n <small style={{ fontSize: \"120%\" }} className=\"pr-3\">\r\n Shipment Status:{\" \"}\r\n <b>\r\n {\" \"}\r\n {values?.StatusName === \"Dispatched\"\r\n ? \"Out for Pickup\"\r\n : values?.StatusName}{\" \"}\r\n {values?.IsCanceled && \"(Canceled)\"}\r\n {values?.OnHold && \"(On Hold)\"}\r\n </b>\r\n </small>\r\n </div>\r\n <div className=\"row mb-5\">\r\n <Col xl=\"12\" lg=\"12\" md=\"12\">\r\n <div className=\" flex-wrap align-items-center pb-5\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg mr-3\"\r\n >\r\n Company Name :<span className=\"text-danger\">*</span>\r\n </a>\r\n <span className=\"font-weight-bold\">\r\n <CreatableSelect\r\n className=\"mt-4\"\r\n isClearable\r\n name=\"ShipperId\"\r\n id=\"ShipperId\"\r\n label=\"Company\"\r\n value={ViewModelOptions?.Shippers.filter(\r\n (a) => a.Id === values.ShipperId\r\n ).map((a) => {\r\n return {\r\n value: a.Id,\r\n label: a.Name,\r\n ValueId: a.ValueId,\r\n };\r\n })}\r\n options={ViewModelOptions?.Shippers.map((a) => {\r\n return {\r\n value: a.Id,\r\n label: a.Name,\r\n ValueId: a.ValueId,\r\n };\r\n })}\r\n onChange={async (newValue) => {\r\n if (newValue !== null) {\r\n if (newValue?.__isNew__) {\r\n setmodalAddresses(true);\r\n setCountryValue({\r\n value: \"US\",\r\n label: \"United States\",\r\n });\r\n\r\n handleCountryChange(\"US\");\r\n var value = {\r\n ...AddressObjectPost,\r\n };\r\n value.Name = newValue.label;\r\n setAddressObjectPost(value);\r\n setIsShipperSelected(true);\r\n } else {\r\n setFieldValue(\"ShipperId\", newValue?.value);\r\n }\r\n if (newValue?.ValueId !== null) {\r\n setFieldValue(\"ShipmentTypeId\", 1358);\r\n } else {\r\n setFieldValue(\"ShipmentTypeId\", 1357);\r\n }\r\n } else {\r\n setFieldValue(\"ShipperId\", null);\r\n let values = { ...shipper };\r\n values = {\r\n ShipperId: 0,\r\n ShipperAddress: \"\",\r\n ShipperCity: \"\",\r\n ShipperState: \"\",\r\n ShipperZipCode: \"\",\r\n ShipperPhoneNumber: \"\",\r\n ShipperFax: \"\",\r\n ShipperContactName: \"\",\r\n ShipperEmail: \"\",\r\n };\r\n setShipper(values);\r\n }\r\n if (!newValue?.__isNew__) {\r\n await fetchSelectedAddress(\r\n newValue !== null ? newValue.value : null,\r\n true\r\n );\r\n }\r\n }}\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n </Col>\r\n <div className=\"col-xl-4 col-lg-4 col-md-4 border-right\">\r\n <div className=\" flex-wrap align-items-center pb-5\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg mr-3\"\r\n >\r\n Street Address :\r\n </a>\r\n <span className=\"text-muted font-weight-bold\">\r\n <input\r\n type=\"text\"\r\n className=\"form-control mt-4\"\r\n name=\"ShipperAddress\"\r\n disabled={true}\r\n id=\"ShipperAddress\"\r\n value={shipper?.ShipperAddress}\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n <div className=\" flex-wrap align-items-center pb-5\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg mr-3\"\r\n >\r\n City :\r\n </a>\r\n <span className=\"text-muted font-weight-bold\">\r\n <input\r\n type=\"text\"\r\n className=\"form-control mt-4\"\r\n name=\"ShipperCity\"\r\n disabled={true}\r\n id=\"ShipperCity\"\r\n value={shipper?.ShipperCity}\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n <div className=\" flex-wrap align-items-center pb-5\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg mr-3\"\r\n >\r\n State :\r\n </a>\r\n <span className=\"text-muted font-weight-bold\">\r\n <input\r\n type=\"text\"\r\n className=\"form-control mt-4\"\r\n name=\"ShipperState\"\r\n disabled={true}\r\n id=\"ShipperState\"\r\n value={shipper?.ShipperState}\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n <div className=\" flex-wrap align-items-center pb-5\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg mr-3\"\r\n >\r\n Zip :\r\n </a>\r\n <span className=\"text-muted font-weight-bold\">\r\n <input\r\n type=\"text\"\r\n className=\"form-control mt-4\"\r\n name=\"ShipperZipCode\"\r\n id=\"ShipperZipCode\"\r\n disabled={true}\r\n value={shipper?.ShipperZipCode}\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n </div>\r\n <div className=\"col-xl-4 col-lg-4 col-md-4 border-right\">\r\n <div className=\" flex-wrap align-items-center pb-5\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg mr-3\"\r\n >\r\n Contact Name :\r\n </a>\r\n <span className=\"text-muted font-weight-bold\">\r\n <input\r\n type=\"text\"\r\n className=\"form-control mt-4\"\r\n name=\"ShipperContactName\"\r\n disabled={true}\r\n id=\"ShipperContactName\"\r\n label=\"Contact\"\r\n value={shipper?.ShipperContactName}\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n <div className=\" flex-wrap align-items-center pb-5\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg mr-3\"\r\n >\r\n Contact Phone :\r\n </a>\r\n <span className=\"text-muted font-weight-bold\">\r\n <input\r\n type=\"tel\"\r\n className=\"form-control mt-4\"\r\n name=\"ShipperPhoneNumber\"\r\n id=\"ShipperPhoneNumber\"\r\n disabled={true}\r\n value={shipper?.ShipperPhoneNumber}\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n <div className=\" flex-wrap align-items-center pb-5\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg mr-3\"\r\n >\r\n Contact Fax :\r\n </a>\r\n <span className=\"text-muted font-weight-bold\">\r\n <input\r\n type=\"tel\"\r\n className=\"form-control mt-4\"\r\n name=\"ShipperFax\"\r\n id=\"ShipperFax\"\r\n disabled={true}\r\n value={shipper?.ShipperFax}\r\n label=\"Fax\"\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n <div className=\" flex-wrap align-items-center pb-5\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg mr-3\"\r\n >\r\n Contact Email :\r\n </a>\r\n <span className=\"text-muted font-weight-bold\">\r\n <input\r\n type=\"email\"\r\n className=\"form-control mt-4\"\r\n name=\"ShipperEmail\"\r\n disabled={true}\r\n id=\"ShipperEmail\"\r\n value={shipper?.ShipperEmail}\r\n label=\"Email\"\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n </div>\r\n <div className=\"col-xl-4 col-lg-4 col-md-4 border-right\">\r\n <div className=\" flex-wrap align-items-center pb-3\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary font-size-lg mr-3\"\r\n >\r\n Req. Ship Date # :<span className=\"text-danger\">*</span>\r\n </a>\r\n <span className=\"text-muted font-weight-bold\">\r\n <TextField\r\n id=\"ReqShipDate\"\r\n type=\"date\"\r\n value={String(\r\n moment(values.ReqShipDate).format(\"YYYY-MM-DD\")\r\n )}\r\n onChange={(e) => {\r\n setFieldValue(\"ReqShipDate\", e.target.value);\r\n if (\r\n values?.ShipmentDate === \"\" ||\r\n values?.ShipmentDate === undefined ||\r\n values?.ShipmentDate === null\r\n ) {\r\n setFieldValue(\"ShipmentDate\", e.target.value);\r\n }\r\n }}\r\n className=\"form-control mt-4\"\r\n InputLabelProps={{\r\n shrink: true,\r\n }}\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n <div className=\" flex-wrap align-items-center pb-5\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg mr-3\"\r\n >\r\n PU # :\r\n </a>\r\n <span className=\"text-muted font-weight-bold\">\r\n <input\r\n type=\"text\"\r\n className=\"form-control mt-4\"\r\n name=\"ShipperNumber\"\r\n id=\"ShipperNumber\"\r\n value={values.ShipperNumber}\r\n onChange={(e) => {\r\n setFieldValue(\"ShipperNumber\", e.target.value);\r\n }}\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n <div className=\" flex-wrap align-items-center pb-5\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg mr-3\"\r\n >\r\n Seal # :\r\n </a>\r\n <span className=\"text-muted font-weight-bold\">\r\n <input\r\n type=\"text\"\r\n className=\"form-control mt-4\"\r\n name=\"SealNumber\"\r\n id=\"SealNumber\"\r\n value={values.SealNumber}\r\n onChange={(e) => {\r\n setFieldValue(\"SealNumber\", e.target.value);\r\n }}\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n <div className=\" flex-wrap align-items-center pb-5\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg mr-3\"\r\n >\r\n Special Req :\r\n </a>\r\n <span className=\"font-weight-bold\">\r\n <Select\r\n isMulti\r\n className=\"basic-multi-select mt-4\"\r\n classNamePrefix=\"select\"\r\n name=\"ShipperSpecialReq\"\r\n id=\"ShipperSpecialReq\"\r\n value={ViewModelOptions?.SpecialReqs.filter(function(el) {\r\n return values?.ShipperSpecialReq?.indexOf(el.Name) >= 0;\r\n }).map((a) => {\r\n return {\r\n value: a.Name,\r\n label: a.Name,\r\n };\r\n })}\r\n options={ViewModelOptions?.SpecialReqs.map((a) => {\r\n return {\r\n value: a.Name,\r\n label: a.Name,\r\n };\r\n })}\r\n onChange={(newValue) => {\r\n if (newValue !== null) {\r\n setFieldValue(\r\n \"ShipperSpecialReq\",\r\n newValue.map((a) => a.value)\r\n );\r\n } else {\r\n setFieldValue(\"ShipperSpecialReq\", []);\r\n }\r\n }}\r\n label=\"Load Board\"\r\n inputId=\"react-select-single\"\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n </div>\r\n <div className=\"col-xl-8 col-lg-8 col-md-8 border-right\">\r\n <div className=\" flex-wrap align-items-center pb-5\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg mr-3\"\r\n >\r\n Note :\r\n </a>\r\n <span className=\"text-muted font-weight-bold\">\r\n <textarea\r\n className=\"form-control\"\r\n id=\"ShippingNote\"\r\n rows=\"3\"\r\n value={values.ShippingNote}\r\n onChange={(e) => {\r\n setFieldValue(\"ShippingNote\", e.target.value);\r\n }}\r\n ></textarea>\r\n </span>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <Row className=\"pt-5 mb-5\">\r\n <Col xl=\"4\" lg=\"4\" md=\"4\" className=\"\">\r\n <div className=\" flex-wrap align-items-center pb-5\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-3 font-size-lg mr-3\"\r\n >\r\n PU APPT Date :\r\n <br />\r\n </a>\r\n <span className=\"font-weight-bold\">\r\n <DateTime30GL\r\n defaultvalue={values.PUAppointment}\r\n onChange={(newValue) => {\r\n setFieldValue(\"PUAppointment\", newValue);\r\n }}\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n </Col>\r\n <Col xl=\"2\" lg=\"2\" md=\"3\" className=\"\">\r\n <div className=\" flex-wrap align-items-center pb-5\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-3 font-size-lg mr-3\"\r\n >\r\n PU APPT to Time :\r\n <br />\r\n </a>\r\n <span className=\"font-weight-bold\">\r\n <input\r\n className={`form-control mt-4`}\r\n value={\r\n values.PUAppointementTo === null ||\r\n values.PUAppointementTo === \"\"\r\n ? \"\"\r\n : values.PUAppointementTo.length > 4\r\n ? moment(values.PUAppointementTo).format(\"HH:mm\")\r\n : values.PUAppointementTo\r\n }\r\n placeholder=\"00:00\"\r\n onKeyUp={(e) => {\r\n if (e.keyCode === 8) {\r\n setFieldValue(\"\", \"\");\r\n return;\r\n }\r\n }}\r\n onChange={(e) => {\r\n var value = e.target?.value;\r\n if (!value || value === \"\") {\r\n setFieldValue(\"PUAppointementTo\", \"\");\r\n }\r\n if (value.length === 2) value += \":\";\r\n if (value.length > 5) value = value[5];\r\n if (value.length > 4) {\r\n setFieldValue(\r\n \"PUAppointementTo\",\r\n moment().format(\"YYYY-MM-DDT\") + value\r\n );\r\n } else {\r\n setFieldValue(\"PUAppointementTo\", value);\r\n }\r\n\r\n //setborder(re.test(value) ? \"\" : \"border-danger\");\r\n }}\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n </Col>\r\n <Col xl=\"4\" lg=\"4\" md=\"3\">\r\n <div className=\" flex-wrap align-items-center pb-5\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg mr-3\"\r\n >\r\n Entered By :\r\n </a>\r\n <input\r\n type=\"tel\"\r\n className=\"form-control mt-4\"\r\n name=\"EnteredBy\"\r\n id=\"EnteredBy\"\r\n disabled={true}\r\n value={values.PUAppointmentEnteredBy}\r\n label=\"Entered By\"\r\n />\r\n </div>\r\n </div>\r\n </Col>\r\n <Col xl=\"2\" lg=\"2\" md=\"2\" className=\"mt-5 pt-5\">\r\n <div className=\" flex-wrap align-items-center pb-5\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <CheckboxLargeWB\r\n className=\"font-size-md\"\r\n name=\"ShipperDt\"\r\n text=\"D/T\"\r\n id=\"ShipperDt\"\r\n checked={values.ShipperDt === true ? true : false}\r\n onChange={(event) => {\r\n setFieldValue(\"ShipperDt\", event.target.checked);\r\n }}\r\n />\r\n </div>\r\n </div>\r\n </Col>\r\n {values.ShipperDt === true ? (\r\n <>\r\n <Col xl=\"4\" lg=\"4\" md=\"4\" className=\"\">\r\n <div className=\" flex-wrap align-items-center pb-5\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-3 font-size-lg mr-3\"\r\n >\r\n Empty Date:\r\n <br />\r\n </a>\r\n <span className=\"font-weight-bold\">\r\n <DateTime30GL\r\n defaultvalue={values.PUAppointmentDt}\r\n onChange={(newValue) => {\r\n setFieldValue(\"PUAppointmentDt\", newValue);\r\n }}\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n </Col>\r\n {/* <Col xl=\"4\" lg=\"4\" md=\"4\" className=\"\">\r\n <div className=\" flex-wrap align-items-center pb-5\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-3 font-size-lg mr-3\"\r\n >\r\n Recovery Date :\r\n <br />\r\n </a>\r\n <span className=\"font-weight-bold\">\r\n <DateTime30GL\r\n defaultvalue={values.PUAppointmentRecoveryDate}\r\n onChange={(newValue) => {\r\n setFieldValue(\r\n \"PUAppointmentRecoveryDate\",\r\n newValue\r\n );\r\n }}\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n </Col> */}\r\n </>\r\n ) : (\r\n \"\"\r\n )}\r\n </Row>\r\n <Row className=\" mb-5\">\r\n <Col xl=\"4\" lg=\"4\" md=\"4\" className=\"\">\r\n <div className=\" flex-wrap align-items-center pb-5\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg mr-3\"\r\n >\r\n Arrival Date :\r\n <br />\r\n </a>\r\n <span className=\"font-weight-bold\">\r\n <DateTime30GL\r\n defaultvalue={values.ShipperArrivalDate}\r\n onChange={(newValue) => {\r\n setFieldValue(\"ShipperArrivalDate\", newValue);\r\n }}\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n </Col>\r\n <Col xl=\"4\" lg=\"4\" md=\"4\">\r\n <div className=\" flex-wrap align-items-center pb-5\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg mr-3\"\r\n >\r\n Entered By :\r\n </a>\r\n <input\r\n type=\"tel\"\r\n className=\"form-control mt-4\"\r\n name=\"EnteredBy\"\r\n id=\"EnteredBy\"\r\n disabled={true}\r\n value={values.ShipperArrivalDateEnteredBy}\r\n label=\"Entered By\"\r\n />\r\n </div>\r\n </div>\r\n </Col>\r\n <Col xl=\"4\" lg=\"4\" md=\"4\">\r\n <div className=\" flex-wrap align-items-center pb-5\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg mr-3\"\r\n >\r\n Entry Date/Time :\r\n </a>\r\n <span className=\"text-muted font-weight-bold\">\r\n <input\r\n type=\"tel\"\r\n className=\"form-control mt-4\"\r\n name=\"ShipperArrivalDateEnteredDate\"\r\n id=\"ShipperArrivalDateEnteredDate\"\r\n disabled={true}\r\n value={\r\n values.ShipperArrivalDateEnteredDate === null\r\n ? \"\"\r\n : moment(values.ShipperArrivalDateEnteredDate).format(\r\n \"MM-DD-YYYY, h:mm A\"\r\n )\r\n }\r\n label=\"Entered By\"\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n </Col>\r\n </Row>\r\n <Row className=\" mb-5\">\r\n <Col xl=\"4\" lg=\"4\" md=\"4\" className=\"\">\r\n <div className=\" flex-wrap align-items-center pb-5\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg mr-3\"\r\n >\r\n Loaded Date :\r\n <br />\r\n </a>\r\n <span className=\"font-weight-bold\">\r\n <DateTime30GL\r\n defaultvalue={values.LoadedDate}\r\n disabled={true}\r\n onChange={(newValue) => {\r\n setFieldValue(\"LoadedDate\", newValue);\r\n }}\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n </Col>\r\n <Col xl=\"4\" lg=\"4\" md=\"4\">\r\n <div className=\" flex-wrap align-items-center pb-5\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg mr-3\"\r\n >\r\n Entered By :\r\n </a>\r\n <input\r\n type=\"text\"\r\n className=\"form-control mt-4\"\r\n name=\"LoadedDateEnteredBy\"\r\n id=\"LoadedDateEnteredBy\"\r\n disabled={true}\r\n value={values.LoadedDateEnteredBy}\r\n label=\"Entered By\"\r\n />\r\n </div>\r\n </div>\r\n </Col>\r\n <Col xl=\"4\" lg=\"4\" md=\"4\">\r\n <div className=\" flex-wrap align-items-center pb-5\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg mr-3\"\r\n >\r\n Entry Date/Time :\r\n </a>\r\n <span className=\"text-muted font-weight-bold\">\r\n <input\r\n type=\"tel\"\r\n className=\"form-control mt-4\"\r\n name=\"LoadedDateEnteredDate\"\r\n id=\"LoadedDateEnteredDate\"\r\n disabled={true}\r\n value={\r\n values.LoadedDateEnteredDate === null\r\n ? \"\"\r\n : moment(values.LoadedDateEnteredDate).format(\r\n \"MM-DD-YYYY, h:mm A\"\r\n )\r\n }\r\n label=\"Entered By\"\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n </Col>\r\n </Row>\r\n <Row className=\" mb-5\">\r\n <Col xl=\"4\" lg=\"4\" md=\"4\" className=\"\">\r\n <div className=\" flex-wrap align-items-center pb-5\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg mr-3\"\r\n >\r\n Departure Date :\r\n <br />\r\n </a>\r\n <span className=\"font-weight-bold\">\r\n <DateTime30GL\r\n defaultvalue={values.ShipperDepartureDate}\r\n onChange={(newValue) => {\r\n setFieldValue(\"ShipperDepartureDate\", newValue);\r\n }}\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n </Col>\r\n <Col xl=\"4\" lg=\"4\" md=\"4\">\r\n <div className=\" flex-wrap align-items-center pb-5\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg mr-3\"\r\n >\r\n Entered By :\r\n </a>\r\n <input\r\n type=\"tel\"\r\n className=\"form-control mt-4\"\r\n name=\"EnteredBy\"\r\n id=\"EnteredBy\"\r\n disabled={true}\r\n value={values.ShipperDepartureDateEnteredBy}\r\n label=\"Entered By\"\r\n />\r\n </div>\r\n </div>\r\n </Col>\r\n <Col xl=\"4\" lg=\"4\" md=\"4\">\r\n <div className=\" flex-wrap align-items-center pb-5\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg mr-3\"\r\n >\r\n Entry Date/Time :\r\n </a>\r\n <span className=\"text-muted font-weight-bold\">\r\n <input\r\n type=\"tel\"\r\n className=\"form-control mt-4\"\r\n name=\"ShipperDepartureDateEnteredDate\"\r\n id=\"ShipperDepartureDateEnteredDate\"\r\n disabled={true}\r\n value={\r\n values.ShipperDepartureDateEnteredDate === null\r\n ? \"\"\r\n : moment(\r\n values.ShipperDepartureDateEnteredDate\r\n ).format(\"MM-DD-YYYY, h:mm A\")\r\n }\r\n label=\"Entered By\"\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n </Col>\r\n </Row>\r\n </CardBody>\r\n </Card>\r\n <Card>\r\n <CardHeader\r\n title={`${\r\n ViewModelOptions?.Consignees.length > 0 &&\r\n ViewModelOptions?.Consignees.filter(\r\n (a) => a.Id === values?.ConsigneeId\r\n )[0]?.Name\r\n ? `Receiving Details | Company Name : ${\r\n ViewModelOptions?.Consignees.filter(\r\n (a) => a.Id === values?.ConsigneeId\r\n )[0]?.Name\r\n }`\r\n : `Receiving Details | Select a company`\r\n }`}\r\n >\r\n <CardHeaderToolbar>\r\n <button\r\n className=\"btn btn-light-primary py-3 pl-md-8 pr-md-8 ml-5\"\r\n onClick={() => {\r\n try {\r\n setIsCollapsedReceiving(isCollapsedReceiving ? false : true);\r\n } catch (err) {\r\n console.log(err);\r\n }\r\n }}\r\n >\r\n {isCollapsedReceiving ? (\r\n <i class=\"fas fa-chevron-up\" style={{ fontSize: \"18px\" }}></i>\r\n ) : (\r\n <i class=\"fas fa-chevron-down\" style={{ fontSize: \"18px\" }}></i>\r\n )}\r\n </button>\r\n </CardHeaderToolbar>\r\n </CardHeader>\r\n <CardBody className={isCollapsedReceiving ? \"d-none\" : \"\"}>\r\n <div className=\"row mb-5\">\r\n <Col xl=\"12\" lg=\"12\" md=\"12\">\r\n <div className=\" flex-wrap align-items-center pb-5\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg mr-3\"\r\n >\r\n Company Name :<span className=\"text-danger\">*</span>\r\n </a>\r\n <span className=\"font-weight-bold\">\r\n <CreatableSelect\r\n isClearable\r\n className=\"mt-4\"\r\n name=\"ConsigneeId\"\r\n id=\"ConsigneeId\"\r\n value={ViewModelOptions?.Consignees.filter(\r\n (a) => a.Id === values.ConsigneeId\r\n ).map((a) => {\r\n return {\r\n value: a.Id,\r\n label: a.Name,\r\n };\r\n })}\r\n options={ViewModelOptions?.Consignees.map((a) => {\r\n return {\r\n value: a.Id,\r\n label: a.Name,\r\n };\r\n })}\r\n onChange={async (newValue) => {\r\n if (newValue !== null) {\r\n if (newValue?.__isNew__) {\r\n setmodalAddresses(true);\r\n setCountryValue({\r\n value: \"US\",\r\n label: \"United States\",\r\n });\r\n\r\n handleCountryChange(\"US\");\r\n var value = {\r\n ...AddressObjectPost,\r\n };\r\n value.Name = newValue.label;\r\n setAddressObjectPost(value);\r\n setIsShipperSelected(false);\r\n } else {\r\n setFieldValue(\"ConsigneeId\", newValue?.value);\r\n }\r\n } else {\r\n setFieldValue(\"ConsigneeId\", null);\r\n let values = { ...consignee };\r\n values = {\r\n ConsigneeId: 0,\r\n ConsigneeAddress: \"\",\r\n ConsigneeCity: \"\",\r\n ConsigneeState: \"\",\r\n ConsigneeZipCode: \"\",\r\n ConsigneePhoneNumber: \"\",\r\n ConsigneeFax: \"\",\r\n ConsigneeContactName: \"\",\r\n ConsigneeEmail: \"\",\r\n };\r\n setConsignee(values);\r\n }\r\n if (!newValue?.__isNew__) {\r\n await fetchSelectedAddress(\r\n newValue !== null ? newValue.value : null,\r\n false\r\n );\r\n }\r\n }}\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n </Col>\r\n <div className=\"col-xl-4 col-lg-4 col-md-4 border-right\">\r\n <div className=\" flex-wrap align-items-center pb-5\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg mr-3\"\r\n >\r\n Street Address :\r\n </a>\r\n <span className=\"text-muted font-weight-bold\">\r\n <input\r\n type=\"text\"\r\n className=\"form-control mt-4\"\r\n name=\"ConsigneeStreet\"\r\n id=\"ConsigneeStreet\"\r\n disabled={true}\r\n label=\"Street\"\r\n value={consignee?.ConsigneeAddress}\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n <div className=\" flex-wrap align-items-center pb-5\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg mr-3\"\r\n >\r\n City :\r\n </a>\r\n <span className=\"text-muted font-weight-bold\">\r\n <input\r\n type=\"text\"\r\n className=\"form-control mt-4\"\r\n name=\"ConsigneeCity\"\r\n disabled={true}\r\n id=\"ConsigneeCity\"\r\n value={consignee?.ConsigneeCity}\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n <div className=\" flex-wrap align-items-center pb-5\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg mr-3\"\r\n >\r\n State :\r\n </a>\r\n <span className=\"text-muted font-weight-bold\">\r\n <input\r\n type=\"text\"\r\n className=\"form-control mt-4\"\r\n name=\"ConsigneeState\"\r\n id=\"ConsigneeState\"\r\n disabled={true}\r\n value={consignee?.ConsigneeState}\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n <div className=\" flex-wrap align-items-center pb-5\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg mr-3\"\r\n >\r\n Zip :\r\n </a>\r\n <span className=\"text-muted font-weight-bold\">\r\n <input\r\n type=\"text\"\r\n className=\"form-control mt-4\"\r\n name=\"ConsigneeZipCode\"\r\n id=\"ConsigneeZipCode\"\r\n disabled={true}\r\n value={consignee?.ConsigneeZipCode}\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n </div>\r\n <div className=\"col-xl-4 col-lg-4 col-md-4 border-right\">\r\n <div className=\" flex-wrap align-items-center pb-5\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg mr-3\"\r\n >\r\n Contact Name :\r\n </a>\r\n <span className=\"text-muted font-weight-bold\">\r\n <input\r\n type=\"text\"\r\n className=\"form-control mt-4\"\r\n name=\"ConsigneeContactName\"\r\n disabled={true}\r\n value={consignee?.ConsigneeContactName}\r\n id=\"ConsigneeContactName\"\r\n label=\"Contact\"\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n <div className=\" flex-wrap align-items-center pb-5\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg mr-3\"\r\n >\r\n Contact Phone :\r\n </a>\r\n <span className=\"text-muted font-weight-bold\">\r\n <input\r\n type=\"tel\"\r\n className=\"form-control mt-4\"\r\n name=\"ConsigneePhoneNumber\"\r\n disabled={true}\r\n id=\"ConsigneePhoneNumber\"\r\n value={consignee?.ConsigneePhoneNumber}\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n <div className=\" flex-wrap align-items-center pb-5\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg mr-3\"\r\n >\r\n Contact Fax :\r\n </a>\r\n <span className=\"text-muted font-weight-bold\">\r\n <input\r\n type=\"tel\"\r\n className=\"form-control mt-4\"\r\n name=\"ConsigneeFax\"\r\n id=\"ConsigneeFax\"\r\n disabled={true}\r\n value={consignee?.ConsigneeFax}\r\n label=\"Fax\"\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n <div className=\" flex-wrap align-items-center pb-5\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg mr-3\"\r\n >\r\n Contact Email :\r\n </a>\r\n <span className=\"text-muted font-weight-bold\">\r\n <input\r\n type=\"email\"\r\n className=\"form-control mt-4\"\r\n name=\"EmailText\"\r\n id=\"EmailText\"\r\n disabled={true}\r\n value={consignee?.ConsigneeEmail}\r\n label=\"Email\"\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n </div>\r\n <div className=\"col-xl-4 col-lg-4 col-md-4 border-right\">\r\n <div className=\" flex-wrap align-items-center pb-3\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary font-size-lg mr-3\"\r\n >\r\n MABD: <span className=\"text-danger\">*</span>\r\n </a>\r\n <span className=\"text-muted font-weight-bold\">\r\n <TextField\r\n id=\"MustArriveByDate\"\r\n type=\"date\"\r\n value={String(\r\n moment(values.MustArriveByDate).format(\"YYYY-MM-DD\")\r\n )}\r\n onChange={(e) => {\r\n setFieldValue(\"MustArriveByDate\", e.target.value);\r\n }}\r\n className=\"form-control mt-4\"\r\n InputLabelProps={{\r\n shrink: true,\r\n }}\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n <div className=\" flex-wrap align-items-center pb-5\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg mr-3\"\r\n >\r\n DEL # :\r\n </a>\r\n <span className=\"text-muted font-weight-bold\">\r\n {\" \"}\r\n <input\r\n type=\"text\"\r\n className=\"form-control mt-4\"\r\n name=\"ConsigneeNumber\"\r\n id=\"ConsigneeNumber\"\r\n value={values.ConsigneeNumber}\r\n label=\"PU\"\r\n onChange={(e) => {\r\n setFieldValue(\"ConsigneeNumber\", e.target.value);\r\n }}\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n <div className=\" flex-wrap align-items-center pb-5\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg mr-3\"\r\n >\r\n Special Req :\r\n </a>\r\n <span className=\"font-weight-bold\">\r\n <Select\r\n isMulti\r\n className=\"basic-multi-select mt-4\"\r\n classNamePrefix=\"select\"\r\n name=\"ConsigneeSpecialReq\"\r\n id=\"ConsigneeSpecialReq\"\r\n value={ViewModelOptions?.SpecialReqs.filter(function(el) {\r\n return (\r\n values?.ConsigneeSpecialReq?.indexOf(el.Name) >= 0\r\n );\r\n }).map((a) => {\r\n return {\r\n value: a.Name,\r\n label: a.Name,\r\n };\r\n })}\r\n options={ViewModelOptions?.SpecialReqs.map((a) => {\r\n return {\r\n value: a.Name,\r\n label: a.Name,\r\n };\r\n })}\r\n onChange={(newValue) => {\r\n if (newValue !== null) {\r\n setFieldValue(\r\n \"ConsigneeSpecialReq\",\r\n newValue.map((a) => a.value)\r\n );\r\n } else {\r\n setFieldValue(\"ConsigneeSpecialReq\", []);\r\n }\r\n }}\r\n label=\"Load Board\"\r\n inputId=\"react-select-single\"\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n <div className=\" flex-wrap align-items-center pb-5\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg mr-3\"\r\n >\r\n ETA:\r\n </a>\r\n <span className=\" font-weight-bold\">\r\n <DateTime30GL\r\n defaultvalue={values.EstimatedTimeArrival}\r\n onChange={(newValue) => {\r\n setFieldValue(\"EstimatedTimeArrival\", newValue);\r\n }}\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n </div>\r\n <div className=\"col-xl-8 col-lg-8 col-md-8 border-right\">\r\n <div className=\" flex-wrap align-items-center pb-5\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg mr-3\"\r\n >\r\n Note :\r\n </a>\r\n <span className=\"text-muted font-weight-bold\">\r\n <textarea\r\n className=\"form-control\"\r\n id=\"ReceivingNote\"\r\n rows=\"3\"\r\n value={values.ReceivingNote}\r\n onChange={(e) => {\r\n setFieldValue(\"ReceivingNote\", e.target.value);\r\n }}\r\n ></textarea>\r\n </span>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <Row className=\"pt-5 mb-5\">\r\n <Col xl=\"4\" lg=\"4\" md=\"4\" className=\"\">\r\n <div className=\" flex-wrap align-items-center pb-5\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg mr-3\"\r\n >\r\n DEL APPT Date:\r\n </a>\r\n <span className=\" font-weight-bold\">\r\n <DateTime30GL\r\n defaultvalue={values.DeliveryAppointmentDate}\r\n onChange={(newValue) => {\r\n setFieldValue(\"DeliveryAppointmentDate\", newValue);\r\n }}\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n </Col>\r\n <Col xl=\"2\" lg=\"2\" md=\"3\" className=\"\">\r\n <div className=\" flex-wrap align-items-center pb-5\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg mr-3\"\r\n >\r\n DEL to Time :\r\n </a>\r\n <span className=\" font-weight-bold\">\r\n <input\r\n className={`form-control mt-4`}\r\n value={\r\n values.DeliveryAppointmentDateTo === null ||\r\n values.DeliveryAppointmentDateTo === \"\"\r\n ? \"\"\r\n : values.DeliveryAppointmentDateTo.length > 4\r\n ? moment(values.DeliveryAppointmentDateTo).format(\r\n \"HH:mm\"\r\n )\r\n : values.DeliveryAppointmentDateTo\r\n }\r\n placeholder=\"00:00\"\r\n onKeyUp={(e) => {\r\n if (e.keyCode === 8) {\r\n setFieldValue(\"\", \"\");\r\n return;\r\n }\r\n }}\r\n onChange={(e) => {\r\n var value = e.target?.value;\r\n if (!value || value === \"\") {\r\n setFieldValue(\"DeliveryAppointmentDateTo\", \"\");\r\n }\r\n if (value.length === 2) value += \":\";\r\n if (value.length > 5) value = value[5];\r\n if (value.length > 4) {\r\n setFieldValue(\r\n \"DeliveryAppointmentDateTo\",\r\n moment().format(\"YYYY-MM-DDT\") + value\r\n );\r\n } else {\r\n setFieldValue(\"DeliveryAppointmentDateTo\", value);\r\n }\r\n }}\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n </Col>\r\n <Col xl=\"4\" lg=\"4\" md=\"3\">\r\n <div className=\" flex-wrap align-items-center pb-5\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg mr-3\"\r\n >\r\n Entered By :\r\n </a>\r\n <input\r\n type=\"tel\"\r\n className=\"form-control mt-4\"\r\n name=\"EnteredBy\"\r\n id=\"EnteredBy\"\r\n disabled={true}\r\n value={values.DeliveryAppointmentDateEnteredBy}\r\n label=\"Entered By\"\r\n />\r\n </div>\r\n </div>\r\n </Col>\r\n <Col xl=\"2\" lg=\"2\" md=\"2\" className=\"mt-5 pt-5\">\r\n <div className=\" flex-wrap align-items-center pb-5\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <CheckboxLargeWB\r\n className=\"font-size-md\"\r\n name=\"ConsigneeDt\"\r\n text=\"D/T\"\r\n id=\"ConsigneeDt\"\r\n checked={values.ConsigneeDt === true ? true : false}\r\n onChange={(event) => {\r\n setFieldValue(\"ConsigneeDt\", event.target.checked);\r\n }}\r\n />\r\n </div>\r\n </div>\r\n </Col>\r\n {values.ConsigneeDt === true ? (\r\n <>\r\n <Col xl=\"4\" lg=\"4\" md=\"4\" className=\"\">\r\n <div className=\" flex-wrap align-items-center pb-5\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg mr-3\"\r\n >\r\n Empty Date:\r\n </a>\r\n <span className=\" font-weight-bold\">\r\n <DateTime30GL\r\n defaultvalue={values.DeliveryAppointmentRecoveryDate}\r\n onChange={(newValue) => {\r\n setFieldValue(\r\n \"DeliveryAppointmentRecoveryDate\",\r\n newValue\r\n );\r\n }}\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n </Col>\r\n </>\r\n ) : (\r\n \"\"\r\n )}\r\n </Row>\r\n <Row className=\" mb-5\">\r\n <Col xl=\"4\" lg=\"4\" md=\"4\" className=\"\">\r\n <div className=\" flex-wrap align-items-center pb-5\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg mr-3\"\r\n >\r\n Arrival Date :\r\n </a>\r\n <span className=\"font-weight-bold\">\r\n <DateTime30GL\r\n defaultvalue={values.ConsigneeArrivalDate}\r\n onChange={(newValue) => {\r\n setFieldValue(\"ConsigneeArrivalDate\", newValue);\r\n }}\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n </Col>\r\n <Col xl=\"4\" lg=\"4\" md=\"4\">\r\n <div className=\" flex-wrap align-items-center pb-5\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg mr-3\"\r\n >\r\n Entered By :\r\n </a>\r\n <input\r\n type=\"tel\"\r\n className=\"form-control mt-4\"\r\n name=\"EnteredBy\"\r\n id=\"EnteredBy\"\r\n disabled={true}\r\n value={values.ConsigneeArrivalDateEnteredBy}\r\n label=\"Entered By\"\r\n />\r\n </div>\r\n </div>\r\n </Col>\r\n <Col xl=\"4\" lg=\"4\" md=\"4\">\r\n <div className=\" flex-wrap align-items-center pb-5\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg mr-3\"\r\n >\r\n Entry Date/Time :\r\n </a>\r\n <span className=\"text-muted font-weight-bold\">\r\n <input\r\n type=\"tel\"\r\n className=\"form-control mt-4\"\r\n name=\"ConsigneeArrivalDateEnteredDate\"\r\n id=\"ConsigneeArrivalDateEnteredDate\"\r\n disabled={true}\r\n value={\r\n values.ConsigneeArrivalDateEnteredDate === null\r\n ? \"\"\r\n : moment(\r\n values.ConsigneeArrivalDateEnteredDate\r\n ).format(\"MM-DD-YYYY, h:mm A\")\r\n }\r\n label=\"Entered By\"\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n </Col>\r\n </Row>\r\n <Row className=\" mb-5\">\r\n <Col xl=\"4\" lg=\"4\" md=\"4\" className=\"\">\r\n <div className=\" flex-wrap align-items-center pb-5\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg mr-3\"\r\n >\r\n Departure Date :\r\n </a>\r\n <span className=\"font-weight-bold\">\r\n <DateTime30GL\r\n defaultvalue={values.ConsigneeDepartureDate}\r\n onChange={(newValue) => {\r\n setFieldValue(\"ConsigneeDepartureDate\", newValue);\r\n }}\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n </Col>\r\n <Col xl=\"4\" lg=\"4\" md=\"4\">\r\n <div className=\" flex-wrap align-items-center pb-5\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg mr-3\"\r\n >\r\n Entered By :\r\n </a>\r\n <input\r\n type=\"tel\"\r\n className=\"form-control mt-4\"\r\n name=\"EnteredBy\"\r\n id=\"EnteredBy\"\r\n disabled={true}\r\n value={values.ConsigneeDepartureDateEnteredBy}\r\n label=\"Entered By\"\r\n />\r\n </div>\r\n </div>\r\n </Col>\r\n <Col xl=\"4\" lg=\"4\" md=\"4\">\r\n <div className=\" flex-wrap align-items-center pb-5\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg mr-3\"\r\n >\r\n Entry Date/Time :\r\n </a>\r\n <span className=\"text-muted font-weight-bold\">\r\n <input\r\n type=\"tel\"\r\n className=\"form-control mt-4\"\r\n name=\"ConsigneeDepartureDateEnteredDate\"\r\n id=\"ConsigneeDepartureDateEnteredDate\"\r\n disabled={true}\r\n value={\r\n values.ConsigneeDepartureDateEnteredDate === null\r\n ? \"\"\r\n : moment(\r\n values.ConsigneeDepartureDateEnteredDate\r\n ).format(\"MM-DD-YYYY, h:mm A\")\r\n }\r\n label=\"Entered By\"\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n </Col>\r\n </Row>\r\n <Row className=\" mb-5\">\r\n <Col xl=\"4\" lg=\"4\" md=\"4\" className=\"\">\r\n <div className=\" flex-wrap align-items-center pb-5\">\r\n <div className=\"flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg mr-3\"\r\n >\r\n POD :\r\n </a>\r\n <span className=\"font-weight-bold\">\r\n <input\r\n type=\"text\"\r\n className=\"form-control mt-4\"\r\n name=\"Pod\"\r\n id=\"Pod\"\r\n value={values?.Pod}\r\n label=\"Pod\"\r\n onChange={(e) => {\r\n setFieldValue(\"Pod\", e.target.value);\r\n }}\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n </Col>\r\n </Row>\r\n </CardBody>\r\n </Card>\r\n <Card>\r\n <CardHeader title=\"Carrier Selection\">\r\n <CardHeaderToolbar>\r\n <button\r\n className=\"btn btn-light-primary py-3 pl-md-8 pr-md-8 ml-5\"\r\n onClick={() => {\r\n try {\r\n setIsCollapsedCarrier(isCollapsedCarrier ? false : true);\r\n } catch (err) {\r\n console.log(err);\r\n }\r\n }}\r\n >\r\n {isCollapsedCarrier ? (\r\n <i class=\"fas fa-chevron-up\" style={{ fontSize: \"18px\" }}></i>\r\n ) : (\r\n <i class=\"fas fa-chevron-down\" style={{ fontSize: \"18px\" }}></i>\r\n )}\r\n </button>\r\n </CardHeaderToolbar>{\" \"}\r\n </CardHeader>\r\n <CardBody className={isCollapsedCarrier ? \"d-none\" : \"\"}>\r\n <div>\r\n <Row>\r\n <div className=\"col-xl-12 col-lg-12\">\r\n <div\r\n className=\"label label-lg label-light-info label-inline border-0 w-100 font-weight-bold text-center p-5 my-5 justify-content-start\"\r\n style={{\r\n fontSize: \"15px\",\r\n }}\r\n >\r\n LTL Accessorials\r\n </div>\r\n <div className=\"p-5\">\r\n <div class=\"form-group\">\r\n <div class=\"checkbox-inline\">\r\n <label className=\"font-weight-bolder pr-5\">ORIG:</label>\r\n <label class=\"checkbox\">\r\n <input\r\n type=\"checkbox\"\r\n name=\"Checkboxes2\"\r\n onChange={(e) => {\r\n try {\r\n var accessorialList = accessorialsList;\r\n if (e.target.checked) {\r\n accessorialList.push(\"APD\");\r\n } else {\r\n accessorialList = accessorialList.filter(\r\n (x) => x !== \"APD\"\r\n );\r\n }\r\n setAccessorialsList(accessorialList);\r\n } catch (err) {}\r\n }}\r\n />\r\n <span></span>\r\n Appointment\r\n </label>\r\n <label class=\"checkbox\">\r\n <input\r\n type=\"checkbox\"\r\n name=\"Checkboxes2\"\r\n onChange={(e) => {\r\n try {\r\n var accessorialList = accessorialsList;\r\n if (e.target.checked) {\r\n accessorialList.push(\"CSD\");\r\n } else {\r\n accessorialList = accessorialList.filter(\r\n (x) => x !== \"CSD\"\r\n );\r\n }\r\n setAccessorialsList(accessorialList);\r\n } catch (err) {}\r\n }}\r\n />\r\n <span></span>\r\n Construction\r\n </label>\r\n <label class=\"checkbox\">\r\n <input\r\n type=\"checkbox\"\r\n name=\"Checkboxes2\"\r\n onChange={(e) => {\r\n try {\r\n var accessorialList = accessorialsList;\r\n if (e.target.checked) {\r\n accessorialList.push(\"EXD\");\r\n } else {\r\n accessorialList = accessorialList.filter(\r\n (x) => x !== \"EXD\"\r\n );\r\n }\r\n setAccessorialsList(accessorialList);\r\n } catch (err) {}\r\n }}\r\n />\r\n <span></span>\r\n Exhibition\r\n </label>\r\n <label class=\"checkbox\">\r\n <input\r\n type=\"checkbox\"\r\n name=\"Checkboxes2\"\r\n onChange={(e) => {\r\n try {\r\n var accessorialList = accessorialsList;\r\n if (e.target.checked) {\r\n accessorialList.push(\"IND\");\r\n } else {\r\n accessorialList = accessorialList.filter(\r\n (x) => x !== \"IND\"\r\n );\r\n }\r\n setAccessorialsList(accessorialList);\r\n } catch (err) {}\r\n }}\r\n />\r\n <span></span>\r\n Inside\r\n </label>\r\n <label class=\"checkbox\">\r\n <input\r\n type=\"checkbox\"\r\n name=\"Checkboxes2\"\r\n onChange={(e) => {\r\n try {\r\n var accessorialList = accessorialsList;\r\n if (e.target.checked) {\r\n accessorialList.push(\"LFD\");\r\n } else {\r\n accessorialList = accessorialList.filter(\r\n (x) => x !== \"LFD\"\r\n );\r\n }\r\n setAccessorialsList(accessorialList);\r\n } catch (err) {}\r\n }}\r\n />\r\n <span></span>\r\n Liftgate\r\n </label>\r\n <label class=\"checkbox\">\r\n <input\r\n type=\"checkbox\"\r\n name=\"Checkboxes2\"\r\n onChange={(e) => {\r\n try {\r\n var accessorialList = accessorialsList;\r\n if (e.target.checked) {\r\n accessorialList.push(\"MID\");\r\n } else {\r\n accessorialList = accessorialList.filter(\r\n (x) => x !== \"MID\"\r\n );\r\n }\r\n setAccessorialsList(accessorialList);\r\n } catch (err) {}\r\n }}\r\n />\r\n <span></span>\r\n Military\r\n </label>\r\n <label class=\"checkbox\">\r\n <input\r\n type=\"checkbox\"\r\n name=\"Checkboxes2\"\r\n onChange={(e) => {\r\n try {\r\n var accessorialList = accessorialsList;\r\n if (e.target.checked) {\r\n accessorialList.push(\"RSD\");\r\n } else {\r\n accessorialList = accessorialList.filter(\r\n (x) => x !== \"RSD\"\r\n );\r\n }\r\n setAccessorialsList(accessorialList);\r\n } catch (err) {}\r\n }}\r\n />\r\n <span></span>\r\n Residential\r\n </label>\r\n <label class=\"checkbox\">\r\n <input\r\n type=\"checkbox\"\r\n name=\"Checkboxes2\"\r\n onChange={(e) => {\r\n try {\r\n var accessorialList = accessorialsList;\r\n if (e.target.checked) {\r\n accessorialList.push(\"SCD\");\r\n } else {\r\n accessorialList = accessorialList.filter(\r\n (x) => x !== \"SCD\"\r\n );\r\n }\r\n setAccessorialsList(accessorialList);\r\n } catch (err) {}\r\n }}\r\n />\r\n <span></span>\r\n School\r\n </label>\r\n </div>\r\n </div>\r\n <div class=\"form-group\">\r\n <div class=\"checkbox-inline\">\r\n <label className=\"font-weight-bolder pr-5\">DEST:</label>\r\n <label class=\"checkbox\">\r\n <input\r\n type=\"checkbox\"\r\n name=\"Checkboxes2\"\r\n onChange={(e) => {\r\n try {\r\n var accessorialList = accessorialsList;\r\n if (e.target.checked) {\r\n accessorialList.push(\"APO\");\r\n } else {\r\n accessorialList = accessorialList.filter(\r\n (x) => x !== \"APO\"\r\n );\r\n }\r\n setAccessorialsList(accessorialList);\r\n } catch (err) {}\r\n }}\r\n />\r\n <span></span>\r\n Appointment\r\n </label>\r\n <label class=\"checkbox\">\r\n <input\r\n type=\"checkbox\"\r\n name=\"Checkboxes2\"\r\n onChange={(e) => {\r\n try {\r\n var accessorialList = accessorialsList;\r\n if (e.target.checked) {\r\n accessorialList.push(\"CSO\");\r\n } else {\r\n accessorialList = accessorialList.filter(\r\n (x) => x !== \"CSO\"\r\n );\r\n }\r\n setAccessorialsList(accessorialList);\r\n } catch (err) {}\r\n }}\r\n />\r\n <span></span>\r\n Construction\r\n </label>\r\n <label class=\"checkbox\">\r\n <input\r\n type=\"checkbox\"\r\n name=\"Checkboxes2\"\r\n onChange={(e) => {\r\n try {\r\n var accessorialList = accessorialsList;\r\n if (e.target.checked) {\r\n accessorialList.push(\"EXO\");\r\n } else {\r\n accessorialList = accessorialList.filter(\r\n (x) => x !== \"EXO\"\r\n );\r\n }\r\n setAccessorialsList(accessorialList);\r\n } catch (err) {}\r\n }}\r\n />\r\n <span></span>\r\n Exhibition\r\n </label>\r\n <label class=\"checkbox\">\r\n <input\r\n type=\"checkbox\"\r\n name=\"Checkboxes2\"\r\n onChange={(e) => {\r\n try {\r\n var accessorialList = accessorialsList;\r\n if (e.target.checked) {\r\n accessorialList.push(\"INO\");\r\n } else {\r\n accessorialList = accessorialList.filter(\r\n (x) => x !== \"INO\"\r\n );\r\n }\r\n setAccessorialsList(accessorialList);\r\n } catch (err) {}\r\n }}\r\n />\r\n <span></span>\r\n Inside\r\n </label>\r\n <label class=\"checkbox\">\r\n <input\r\n type=\"checkbox\"\r\n name=\"Checkboxes2\"\r\n onChange={(e) => {\r\n try {\r\n var accessorialList = accessorialsList;\r\n if (e.target.checked) {\r\n accessorialList.push(\"LFO\");\r\n } else {\r\n accessorialList = accessorialList.filter(\r\n (x) => x !== \"LFO\"\r\n );\r\n }\r\n setAccessorialsList(accessorialList);\r\n } catch (err) {}\r\n }}\r\n />\r\n <span></span>\r\n Liftgate\r\n </label>\r\n <label class=\"checkbox\">\r\n <input\r\n type=\"checkbox\"\r\n name=\"Checkboxes2\"\r\n onChange={(e) => {\r\n try {\r\n var accessorialList = accessorialsList;\r\n if (e.target.checked) {\r\n accessorialList.push(\"MIO\");\r\n } else {\r\n accessorialList = accessorialList.filter(\r\n (x) => x !== \"MIO\"\r\n );\r\n }\r\n setAccessorialsList(accessorialList);\r\n } catch (err) {}\r\n }}\r\n />\r\n <span></span>\r\n Military\r\n </label>\r\n <label class=\"checkbox\">\r\n <input\r\n type=\"checkbox\"\r\n name=\"Checkboxes2\"\r\n onChange={(e) => {\r\n try {\r\n var accessorialList = accessorialsList;\r\n if (e.target.checked) {\r\n accessorialList.push(\"RSO\");\r\n } else {\r\n accessorialList = accessorialList.filter(\r\n (x) => x !== \"RSO\"\r\n );\r\n }\r\n setAccessorialsList(accessorialList);\r\n } catch (err) {}\r\n }}\r\n />\r\n <span></span>\r\n Residential\r\n </label>\r\n <label class=\"checkbox\">\r\n <input\r\n type=\"checkbox\"\r\n name=\"Checkboxes2\"\r\n onChange={(e) => {\r\n try {\r\n var accessorialList = accessorialsList;\r\n if (e.target.checked) {\r\n accessorialList.push(\"SCO\");\r\n } else {\r\n accessorialList = accessorialList.filter(\r\n (x) => x !== \"SCO\"\r\n );\r\n }\r\n setAccessorialsList(accessorialList);\r\n } catch (err) {}\r\n }}\r\n />\r\n <span></span>\r\n School\r\n </label>\r\n </div>\r\n </div>\r\n <div class=\"form-group\">\r\n <div class=\"checkbox-inline\">\r\n <label className=\"font-weight-bolder pr-5\">OTHER:</label>\r\n <label class=\"checkbox\">\r\n <input\r\n type=\"checkbox\"\r\n name=\"Checkboxes2\"\r\n onChange={(e) => {\r\n try {\r\n var accessorialList = accessorialsList;\r\n if (e.target.checked) {\r\n accessorialList.push(\"HAZ\");\r\n } else {\r\n accessorialList = accessorialList.filter(\r\n (x) => x !== \"HAZ\"\r\n );\r\n }\r\n setAccessorialsList(accessorialList);\r\n } catch (err) {}\r\n }}\r\n />\r\n <span></span>\r\n Hazmat\r\n </label>\r\n <label class=\"checkbox\">\r\n <input\r\n type=\"checkbox\"\r\n name=\"Checkboxes2\"\r\n onChange={(e) => {\r\n try {\r\n var accessorialList = accessorialsList;\r\n if (e.target.checked) {\r\n accessorialList.push(\"SSH\");\r\n } else {\r\n accessorialList = accessorialList.filter(\r\n (x) => x !== \"SSH\"\r\n );\r\n }\r\n setAccessorialsList(accessorialList);\r\n } catch (err) {}\r\n }}\r\n />\r\n <span></span>\r\n Single Shipment\r\n </label>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div className=\"col-xl-12 col-lg-12\">\r\n <div\r\n className=\"label label-lg label-light-info label-inline border-0 w-100 font-weight-bold text-center p-5 my-5 justify-content-start\"\r\n style={{\r\n fontSize: \"15px\",\r\n }}\r\n >\r\n Carriers\r\n </div>\r\n </div>\r\n <div className=\"p-5\">\r\n <div className=\"col-xl-12 col-lg-12\">\r\n <div class=\"form-group\">\r\n <div class=\"checkbox-inline\">\r\n {LtlCarriers.length > 0 &&\r\n LtlCarriers.map((item, index) => (\r\n <label\r\n class=\"checkbox pr-3 mb-md-8\"\r\n style={{\r\n display: \"inline-grid\",\r\n width: \"11%\",\r\n }}\r\n >\r\n <input\r\n type=\"checkbox\"\r\n name=\"Checkboxes2\"\r\n checked={item.IsChecked}\r\n onChange={(e) => {\r\n try {\r\n let values = [...LtlCarriers];\r\n var stringfyJson = JSON.stringify(values);\r\n var parseJson = JSON.parse(stringfyJson);\r\n parseJson[index].IsChecked = e.target.checked;\r\n var currentList = carriersHash;\r\n if (e.target.checked) {\r\n currentList.push(item.Hash);\r\n } else {\r\n currentList = currentList.filter(\r\n (x) => x !== item.Hash\r\n );\r\n }\r\n setCarriersHash(currentList);\r\n setLtlCarriers(parseJson);\r\n } catch (err) {}\r\n }}\r\n />\r\n <span></span>\r\n <div class=\"symbol-list d-flex flex-wrap\">\r\n <div class=\"symbol mr-3\">\r\n <img\r\n src={fetchImgCarriers(item.Name)}\r\n className=\"pb-3\"\r\n alt={item.Name}\r\n />\r\n </div>\r\n </div>\r\n {item.Name}\r\n </label>\r\n ))}\r\n </div>\r\n </div>\r\n </div>\r\n {/* Button Generate */}\r\n <div className=\"col-xl-12 col-lg-12\">\r\n <button\r\n type=\"button\"\r\n className=\"btn btn-primary\"\r\n onClick={async () => {\r\n try {\r\n if (carriersHash.length === 0) {\r\n Notification(\r\n \"error\",\r\n \"You should select a carrier first.\"\r\n );\r\n return false;\r\n }\r\n setIsSpinnerLoading(true);\r\n const postObject = {\r\n Id: SO,\r\n OriginCity: values?.ShipperAddress,\r\n OriginState: values?.ShipperState,\r\n OriginZipcode: values?.ShipperZipCode?.split(\r\n \"-\"\r\n ).shift(),\r\n OriginCountry: \"US\",\r\n DestinationCity: values?.ConsigneeCity,\r\n DestinationState: values?.ConsigneeState,\r\n DestinationZipcode: values?.ConsigneeZipCode?.split(\r\n \"-\"\r\n ).shift(),\r\n DestinationCountry: \"US\",\r\n AccessorialsList: accessorialsList,\r\n CarrierHashes: carriersHash,\r\n };\r\n setShowResults(true);\r\n await PostGenerate7LRates(postObject);\r\n setIsSpinnerLoading(false);\r\n } catch (err) {\r\n setIsSpinnerLoading(false);\r\n }\r\n }}\r\n >\r\n Generate\r\n </button>\r\n </div>\r\n </div>\r\n </Row>\r\n <br />\r\n {showResults ? (\r\n <>\r\n {!isSpinnerLoading ? (\r\n <>\r\n <BootstrapTable\r\n // ref={ n => this.node = n }\r\n keyField=\"Id\"\r\n data={datatable}\r\n columns={columnsLTLRate}\r\n pagination={paginationFactory({\r\n showTotal: true,\r\n sizePerPageList: [\r\n { text: \"5\", value: 5 },\r\n { text: \"10\", value: 10 },\r\n {\r\n text: \"All\",\r\n value: datatable?.length,\r\n },\r\n ],\r\n })}\r\n wrapperClasses=\"table-responsive stopfont\"\r\n classes=\"table table-head-custom table-vertical-center mt-4\"\r\n bootstrap4\r\n bordered={false}\r\n expandRow={expandRowQuotes}\r\n />\r\n\r\n <Modal\r\n show={modalPercentage}\r\n size=\"lg\"\r\n aria-labelledby=\"example-modal-sizes-title-lg\"\r\n >\r\n <Modal.Header>\r\n <Modal.Title id=\"example-modal-sizes-title-lg\">\r\n Percentage Rate Carrier :{\" \"}\r\n {ratesRow?.Code + \" - \" + ratesRow?.Name} #:{\" \"}\r\n {ratesRow?.Number}\r\n </Modal.Title>\r\n <IconButton\r\n className=\"MuiButtonBase-root MuiIconButton-root jss179\"\r\n aria-label=\"Close\"\r\n onClick={() => {\r\n setModalPercentage(false);\r\n setPercentageValue(20);\r\n setTotalReceivable(\"0.00\");\r\n setTotalPayable(\"0.00\");\r\n setTotalMargin(\"0.00\");\r\n setLoaderData(false);\r\n }}\r\n >\r\n <CloseIcon />\r\n </IconButton>\r\n </Modal.Header>\r\n <Modal.Body className=\"row\">\r\n <div className=\"col-lg-12 mb-md-10\">\r\n <label>Percentage (%)</label>\r\n <Field\r\n className=\"form-control\"\r\n type=\"number\"\r\n value={percentageValue}\r\n onChange={(e) => {\r\n setPercentageValue(e.target.value);\r\n fetchSelectedRates(e.target.value);\r\n }}\r\n />\r\n </div>\r\n\r\n <div className=\"col-lg-12\">\r\n <Paper className={classes.paper}>\r\n <Table\r\n className={`LineItems ${classes.table}`}\r\n size=\"small\"\r\n >\r\n <TableHead>\r\n <TableRow>\r\n <TableCell align=\"left\">Name</TableCell>\r\n <TableCell align=\"left\">Payable</TableCell>\r\n <TableCell align=\"left\">Receivable</TableCell>\r\n <TableCell align=\"left\">Margin</TableCell>\r\n <TableCell align=\"left\">Percentage</TableCell>\r\n </TableRow>\r\n </TableHead>\r\n <TableBody>\r\n {ratesCalculated?.map((row, index) => (\r\n <TableRow key={row.name}>\r\n <TableCell\r\n align=\"left\"\r\n className={\r\n row.Name === \"DISCOUNT\"\r\n ? \"text-danger\"\r\n : \"\"\r\n }\r\n >\r\n {row.Name}\r\n </TableCell>\r\n <TableCell\r\n align=\"left\"\r\n className={\r\n row.Name === \"DISCOUNT\"\r\n ? \"text-danger\"\r\n : \"\"\r\n }\r\n >\r\n {currencyFormat(row.Payable)}\r\n </TableCell>\r\n <TableCell\r\n align=\"left\"\r\n className={\r\n row.Name === \"DISCOUNT\"\r\n ? \"text-danger\"\r\n : \"\"\r\n }\r\n >\r\n {currencyFormat(row.Receivable)}\r\n </TableCell>\r\n <TableCell\r\n align=\"left\"\r\n className={\r\n row.Name === \"DISCOUNT\"\r\n ? \"text-danger\"\r\n : \"\"\r\n }\r\n >\r\n {currencyFormat(row.Margin)}\r\n </TableCell>\r\n <TableCell\r\n align=\"left\"\r\n className={\r\n row.Name === \"DISCOUNT\"\r\n ? \"text-danger\"\r\n : \"\"\r\n }\r\n >\r\n <input\r\n disabled={\r\n row.Name === \"DISCOUNT\" ? true : false\r\n }\r\n type=\"number\"\r\n value={row.Percentage}\r\n className=\"form-control\"\r\n onChange={(e) => {\r\n try {\r\n const values = [...ratesCalculated];\r\n const value = e.target.value;\r\n values[index].Percentage = value;\r\n values[index].Payable = row.Payable;\r\n values[index].Rate = row.Payable;\r\n values[index].Receivable =\r\n row.Payable +\r\n (row.Payable * value) / 100;\r\n values[index].Margin =\r\n row.Receivable - row.Payable;\r\n\r\n var totalReceivableCalc = calculateTotal(\r\n values,\r\n true,\r\n true\r\n );\r\n setPercentageValue(\"\");\r\n setTotalReceivable(\r\n totalReceivableCalc\r\n );\r\n\r\n setTotalMargin(\r\n totalReceivableCalc - totalPayable\r\n );\r\n setRatesCalculated(values);\r\n } catch (err) {}\r\n }}\r\n />\r\n </TableCell>\r\n </TableRow>\r\n ))}\r\n <TableRow>\r\n <TableCell align=\"left\">\r\n <span className=\"font-weight-boldest\">\r\n Totals\r\n </span>\r\n </TableCell>\r\n <TableCell align=\"left\">\r\n <span className=\"font-weight-boldest\">\r\n {currencyFormat(totalPayable)}\r\n </span>\r\n </TableCell>\r\n <TableCell align=\"left\">\r\n <span className=\"font-weight-boldest\">\r\n {currencyFormat(totalReceivable)}\r\n </span>\r\n </TableCell>\r\n <TableCell align=\"left\">\r\n <span className=\"font-weight-boldest\">\r\n {currencyFormat(totalMargin)}\r\n </span>\r\n </TableCell>\r\n </TableRow>\r\n </TableBody>\r\n </Table>\r\n </Paper>\r\n </div>\r\n </Modal.Body>\r\n <Modal.Footer>\r\n <div>\r\n <button\r\n type=\"button\"\r\n onClick={() => {\r\n setModalPercentage(false);\r\n setPercentageValue(20);\r\n setTotalReceivable(\"0.00\");\r\n setTotalPayable(\"0.00\");\r\n setTotalMargin(\"0.00\");\r\n }}\r\n className=\"btn btn-light btn-elevate\"\r\n >\r\n Close\r\n </button>\r\n <></>\r\n <button\r\n type=\"button\"\r\n onClick={async () => {\r\n try {\r\n setLoaderData(true);\r\n let selectedObject = carrierRowSelect;\r\n selectedObject.Rates = ratesCalculated;\r\n selectedObject.AccessorialsList = accessorialsList;\r\n selectedObject.Id = SO;\r\n await Select7LQuote(selectedObject);\r\n //DispatchReport\r\n await GetViewModel(statSHipmentId);\r\n setModalPercentage(false);\r\n setPercentageValue(20);\r\n setTotalReceivable(\"0.00\");\r\n setTotalPayable(\"0.00\");\r\n setTotalMargin(\"0.00\");\r\n setLoaderData(false);\r\n setLoaderSo(true);\r\n } catch (err) {\r\n setLoaderData(false);\r\n }\r\n }}\r\n className=\"btn btn-primary btn-elevate ml-4\"\r\n >\r\n Save Quote\r\n </button>\r\n </div>\r\n </Modal.Footer>\r\n </Modal>\r\n\r\n <Modal\r\n show={showModalRates}\r\n size=\"lg\"\r\n aria-labelledby=\"example-modal-sizes-title-lg\"\r\n >\r\n <Modal.Header>\r\n <Modal.Title id=\"example-modal-sizes-title-lg\">\r\n Rate Carrier :{\" \"}\r\n {ratesRow?.Code + \" - \" + ratesRow?.Name}\r\n </Modal.Title>\r\n <IconButton\r\n className=\"MuiButtonBase-root MuiIconButton-root jss179\"\r\n aria-label=\"Close\"\r\n onClick={() => setShowRatesModal(false)}\r\n >\r\n <CloseIcon />\r\n </IconButton>\r\n </Modal.Header>\r\n <Modal.Body className=\"row\">\r\n <DenseTableSm\r\n rowsName={[\r\n {\r\n Name: \"Name\",\r\n Title: \"Name\",\r\n },\r\n {\r\n Name: \"Rate\",\r\n Title: \"Rate\",\r\n },\r\n ]}\r\n rows={ratesRow?.Rates || []}\r\n />\r\n </Modal.Body>\r\n <Modal.Footer>\r\n <div>\r\n <button\r\n type=\"button\"\r\n onClick={() => setShowRatesModal(false)}\r\n className=\"btn btn-light btn-elevate\"\r\n >\r\n Close\r\n </button>\r\n </div>\r\n </Modal.Footer>\r\n </Modal>\r\n </>\r\n ) : (\r\n <div className=\"col-12\">\r\n <div className=\"row justify-content-center my-10\">\r\n <Spinner2 name=\"folding-cube\" color=\"blue\" />\r\n </div>\r\n </div>\r\n )}\r\n <LoadingDialog isLoading={loaderData} />\r\n </>\r\n ) : null}\r\n </div>\r\n </CardBody>\r\n </Card>\r\n <Card>\r\n <CardHeader title=\"Commodity Details\">\r\n <CardHeaderToolbar>\r\n <button\r\n className=\"btn btn-light-primary py-3 pl-md-8 pr-md-8 ml-5\"\r\n onClick={() => {\r\n try {\r\n setIsCollapsedCommodity(isCollapsedCommodity ? false : true);\r\n } catch (err) {\r\n console.log(err);\r\n }\r\n }}\r\n >\r\n {isCollapsedCommodity ? (\r\n <i class=\"fas fa-chevron-up\" style={{ fontSize: \"18px\" }}></i>\r\n ) : (\r\n <i class=\"fas fa-chevron-down\" style={{ fontSize: \"18px\" }}></i>\r\n )}\r\n </button>\r\n </CardHeaderToolbar>{\" \"}\r\n </CardHeader>\r\n <CardBody className={isCollapsedCommodity ? \"d-none\" : \"\"}>\r\n {isLinearProgress && <LinearProgress />}\r\n <div className=\"col-xl-12 col-lg-12\">\r\n {ItemsTmsComponent(values)}\r\n <div className=\"form-group row mt-5\">\r\n <div className=\"col\">\r\n <button\r\n type=\"button\"\r\n onClick={addClick.bind(this)}\r\n style={{\r\n float: \"right\",\r\n width: \"12%\",\r\n }}\r\n className=\"btn btn-light-success w-40\"\r\n >\r\n <i\r\n className={`fas fa-plus fa-sm`}\r\n style={{\r\n paddingRight: \"initial\",\r\n }}\r\n ></i>{\" \"}\r\n </button>\r\n <button\r\n type=\"button\"\r\n onClick={async () => {\r\n setIsLinearProgress(true);\r\n await GetItemsTms(SO);\r\n setIsLinearProgress(false);\r\n }}\r\n style={{\r\n float: \"right\",\r\n width: \"12%\",\r\n }}\r\n className=\"btn btn-light-info w-40 mr-5\"\r\n >\r\n <i\r\n className={`fas fa-sync-alt fa-sm`}\r\n style={{\r\n paddingRight: \"initial\",\r\n }}\r\n ></i>{\" \"}\r\n </button>\r\n {itemsTms.length > 0 && (\r\n <button\r\n type=\"button\"\r\n id=\"tmsItemsSave\"\r\n disabled={\r\n !itemsTms.some(\r\n (x) => (x?.Id && x.IsEditMode) || x?.IsPost\r\n )\r\n }\r\n class=\"btn btn-light-primary mr-5\"\r\n style={{\r\n float: \"right\",\r\n width: \"12%\",\r\n }}\r\n onClick={async () => {\r\n try {\r\n itemsTms?.length > 0 &&\r\n itemsTms.map(async (el) => {\r\n if (el?.Id && el?.IsEditMode) {\r\n await PutItemTms(el?.Id, el);\r\n Notification(\r\n \"success\",\r\n `Item #: ${el?.Id} has been updated successfully`\r\n );\r\n setTimeout(async () => {\r\n await GetItemsTms(SO);\r\n }, 500);\r\n }\r\n if (el?.IsPost) {\r\n el.ShipmentId = SO;\r\n await PostItemTms(el);\r\n }\r\n });\r\n } catch (err) {}\r\n }}\r\n >\r\n <i\r\n class=\"fas fa-save fa-sm\"\r\n style={{\r\n paddingRight: \"initial\",\r\n }}\r\n ></i>\r\n </button>\r\n )}\r\n <LoadingDialog isLoading={loaderData} />\r\n </div>\r\n </div>\r\n </div>\r\n </CardBody>\r\n </Card>\r\n\r\n {/* Drag and Drop / Items */}\r\n <Card>\r\n <CardHeader title=\"Warehouse Items\">\r\n <CardHeaderToolbar>\r\n <button\r\n className=\"btn btn-light-primary py-3 pl-md-8 pr-md-8 ml-5\"\r\n onClick={() => {\r\n try {\r\n setIsCollapsedCommodityDrag(\r\n isCollapsedCommodityDrag ? false : true\r\n );\r\n } catch (err) {\r\n console.log(err);\r\n }\r\n }}\r\n >\r\n {isCollapsedCommodityDrag ? (\r\n <i class=\"fas fa-chevron-up\" style={{ fontSize: \"18px\" }}></i>\r\n ) : (\r\n <i class=\"fas fa-chevron-down\" style={{ fontSize: \"18px\" }}></i>\r\n )}\r\n </button>\r\n </CardHeaderToolbar>\r\n </CardHeader>\r\n <CardBody className={isCollapsedCommodityDrag ? \"d-none\" : \"\"}>\r\n <div className=\"col-xl-12 col-lg-12\">\r\n <Row className=\"mb-md-15\">\r\n <Col>\r\n <BootstrapTable\r\n wrapperClasses=\"table-responsive\"\r\n bordered={false}\r\n classes=\"table table-head-custom table-vertical-center\"\r\n bootstrap4\r\n id=\"SPFsList\"\r\n keyField=\"Id\"\r\n noDataIndication={\r\n <h4 style={{ textAlign: \"center\" }} className=\"text-muted\">\r\n {\"There is no data available at the moment\"}.\r\n </h4>\r\n }\r\n data={initProduct?.ShipmentItems}\r\n pagination={paginationFactory({\r\n showTotal: true,\r\n sizePerPage: 5,\r\n sizePerPageList: [\r\n { text: \"5\", value: 5 },\r\n { text: \"10\", value: 10 },\r\n ],\r\n })}\r\n columns={columnsItems}\r\n ></BootstrapTable>\r\n </Col>\r\n </Row>\r\n <Row>\r\n <Col>\r\n <label className=\"font-weight-boldest\">Total Quantity :</label>\r\n <div\r\n className=\"label label-lg label-light-primary label-inline border-0 w-100 font-weight-bold text-center p-5 my-5 justify-content-start\"\r\n style={{ fontSize: \"15px\" }}\r\n >\r\n {calculateTotalItems(initProduct?.ShipmentItems, \"Quantity\")}\r\n </div>\r\n </Col>\r\n <Col>\r\n {\" \"}\r\n <Col>\r\n <label className=\"font-weight-boldest\">Total Weight :</label>\r\n <div\r\n className=\"label label-lg label-light-primary label-inline border-0 w-100 font-weight-bold text-center p-5 my-5 justify-content-start\"\r\n style={{ fontSize: \"15px\" }}\r\n >\r\n {calculateTotalItems(initProduct?.ShipmentItems, \"Weight\")}\r\n </div>\r\n </Col>\r\n </Col>\r\n <Col>\r\n {\" \"}\r\n <Col>\r\n <label className=\"font-weight-boldest\">Total Cube :</label>\r\n <div\r\n className=\"label label-lg label-light-primary label-inline border-0 w-100 font-weight-bold text-center p-5 my-5 justify-content-start\"\r\n style={{ fontSize: \"15px\" }}\r\n >\r\n {calculateTotalItems(initProduct?.ShipmentItems, \"Cube\")}\r\n </div>\r\n </Col>\r\n </Col>\r\n </Row>\r\n <div className=\"form-group row mt-5\">\r\n <div className=\"col\">\r\n <LoadingDialog isLoading={loaderData} />\r\n </div>\r\n </div>\r\n </div>\r\n </CardBody>\r\n </Card>\r\n <Card>\r\n <CardHeader className=\"border-bottom-0\" title=\"AP/Invoicing\">\r\n <CardHeaderToolbar>\r\n <button\r\n className=\"btn btn-light-primary py-3 pl-md-8 pr-md-8 ml-5\"\r\n onClick={() => {\r\n try {\r\n setIsCollapsedInvoicing(isCollapsedInvoicing ? false : true);\r\n } catch (err) {\r\n console.log(err);\r\n }\r\n }}\r\n >\r\n {isCollapsedInvoicing ? (\r\n <i class=\"fas fa-chevron-up\" style={{ fontSize: \"18px\" }}></i>\r\n ) : (\r\n <i class=\"fas fa-chevron-down\" style={{ fontSize: \"18px\" }}></i>\r\n )}\r\n </button>\r\n </CardHeaderToolbar>{\" \"}\r\n </CardHeader>\r\n <CardBody className={isCollapsedInvoicing ? \"d-none\" : \"\"}>\r\n <div className=\"row mb-md-20\">\r\n <div className=\"col\">\r\n <h3 className=\"mb-3\">Bill To Rating </h3>\r\n <BillToRating\r\n objectTms={values}\r\n setCharges={setCharges}\r\n charges={charges}\r\n />\r\n </div>\r\n </div>\r\n <div className=\"row\">\r\n <div className=\"col\">\r\n <h3 className=\"mb-3\">Vendor Rating </h3>\r\n <VendorRating\r\n setFieldValue={setFieldValue}\r\n objectTms={values}\r\n setVendorsPayables={setVendorPayables}\r\n vendorPayables={vendorPayables}\r\n />\r\n </div>\r\n </div>\r\n </CardBody>\r\n </Card>\r\n <Card>\r\n <CardHeader className=\"border-bottom-0\" title=\"Attachments\">\r\n <CardHeaderToolbar>\r\n <button\r\n className=\"btn btn-light-primary py-3 pl-md-8 pr-md-8 ml-5\"\r\n onClick={() => {\r\n try {\r\n setIsCollapsedAttachments(\r\n isCollapsedAttachments ? false : true\r\n );\r\n } catch (err) {\r\n console.log(err);\r\n }\r\n }}\r\n >\r\n {isCollapsedAttachments ? (\r\n <i class=\"fas fa-chevron-up\" style={{ fontSize: \"18px\" }}></i>\r\n ) : (\r\n <i class=\"fas fa-chevron-down\" style={{ fontSize: \"18px\" }}></i>\r\n )}\r\n </button>\r\n </CardHeaderToolbar>{\" \"}\r\n </CardHeader>\r\n <CardBody className={isCollapsedAttachments ? \"d-none\" : \"\"}>\r\n {values !== null &&\r\n AttachmentTypes.length > 0 &&\r\n AccessLevels.length > 0 ? (\r\n <OrderAttachementsV2\r\n id={SO}\r\n AttachmentList={values.Attachments || []}\r\n AttachmentTypes={AttachmentTypes}\r\n AccessLevels={AccessLevels}\r\n Type=\"shipment\"\r\n />\r\n ) : (\r\n \"\"\r\n )}\r\n </CardBody>\r\n </Card>\r\n </>\r\n );\r\n}\r\n","import React, { useEffect, useState } from \"react\";\r\nimport $ from \"jquery\";\r\nimport Select from \"react-select\";\r\nimport { Notification } from \"../../../../Notification\";\r\nimport BootstrapTable from \"react-bootstrap-table-next\";\r\nimport low from \"lowdb\";\r\nimport LocalStorage from \"lowdb/adapters/LocalStorage\";\r\nimport { Modal, OverlayTrigger, Spinner, Tooltip } from \"react-bootstrap\";\r\nimport SVG from \"react-inlinesvg\";\r\nimport paginationFactory from \"react-bootstrap-table2-paginator\";\r\nimport {\r\n sortCaret,\r\n headerSortingClasses,\r\n toAbsoluteUrl,\r\n} from \"../../../../../../_metronic/_helpers\";\r\nimport CloseIcon from \"@material-ui/icons/Close\";\r\n\r\nimport { momentDate } from \"../../../../../../_metronic/_helpers/ATHelpers\";\r\nimport { IconButton } from \"@material-ui/core\";\r\nconst adapter = new LocalStorage(\"db\");\r\nconst db = low(adapter);\r\nlet SelectedGroupNote2 = null;\r\n\r\nconst NotesType = [\r\n { value: 14, label: \"Tracking\" },\r\n { value: 15, label: \"Delay\" },\r\n { value: 16, label: \"Issue\" },\r\n { value: 17, label: \"Appointment\" },\r\n { value: 18, label: \"Rate\" },\r\n { value: 19, label: \"Assessorial\" },\r\n];\r\n\r\nexport function TmsNotesGroup({ id, setmodalNotes, modalNotes }) {\r\n const [SONotesData, setSONotesData] = useState([]);\r\n const [GroupNotesData, setGroupNotesData] = useState();\r\n const [loadingPostNote, setloadingPostNote] = useState();\r\n const [NewText, setNewText] = useState(\"\");\r\n const [SelectedGroupNote, setSelectedGroupNote] = useState(null);\r\n //tableDataC\r\n let columns = [\r\n {\r\n dataField: \"Type\",\r\n text: \"Type\",\r\n sort: true,\r\n headerSortingClasses,\r\n },\r\n {\r\n dataField: \"OpenedBy\",\r\n text: \"Opened By\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n },\r\n {\r\n dataField: \"Updated\",\r\n text: \"Last Updated\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n formatter: (cell, row) => {\r\n return (\r\n <>\r\n <div className=\"align-items-center\">\r\n <span>{momentDate(row.Updated)}</span>\r\n </div>\r\n </>\r\n );\r\n },\r\n },\r\n {\r\n dataField: \"UpdatedBy\",\r\n text: \"Updated By\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n },\r\n {\r\n dataField: \"Note\",\r\n text: \"Note\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n },\r\n {\r\n dataField: \"Actions\",\r\n text: \"Actions\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n formatter: (cell, row) => {\r\n return (\r\n <>\r\n <OverlayTrigger\r\n overlay={<Tooltip id=\"customers-edit-tooltip\">See more</Tooltip>}\r\n >\r\n <a\r\n href={() => false}\r\n onClick={() => {\r\n if (SelectedGroupNote2 === row.Id) {\r\n setSelectedGroupNote(null);\r\n SelectedGroupNote2 = null;\r\n } else {\r\n getDetailGroupNote(row.Id);\r\n setSelectedGroupNote(row.Id);\r\n SelectedGroupNote2 = row.Id;\r\n }\r\n if (!$(\"#GroupNotesId\").is(\":hidden\")) {\r\n $(\"#GroupNotesId\").toggle(\"slow\");\r\n }\r\n if (!$(\"#NotesId\").is(\":hidden\")) {\r\n $(\"#NotesId\").toggle(\"slow\");\r\n }\r\n }}\r\n className={`btn btn-icon btn-light btn-hover-success btn-sm mx-3`}\r\n >\r\n <span className={`svg-icon svg-icon-md svg-icon-success`}>\r\n <SVG\r\n src={toAbsoluteUrl(\"/media/svg/icons/Code/Info-circle.svg\")}\r\n />\r\n </span>\r\n </a>\r\n </OverlayTrigger>\r\n </>\r\n );\r\n },\r\n },\r\n ];\r\n let columnsNote = [\r\n {\r\n dataField: \"AddedBy\",\r\n text: \"AddedBy\",\r\n sort: true,\r\n headerSortingClasses,\r\n },\r\n {\r\n dataField: \"Created\",\r\n text: \"Date/Time\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n formatter: (cell, row) => {\r\n return (\r\n <>\r\n <div className=\"align-items-center\">\r\n <span>{momentDate(row.Created)}</span>\r\n </div>\r\n </>\r\n );\r\n },\r\n },\r\n {\r\n dataField: \"Body\",\r\n text: \"Note\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n },\r\n {\r\n dataField: \"Actions\",\r\n text: \"Actions\",\r\n sort: true,\r\n sortCaret: sortCaret,\r\n formatter: (cell, row) => {\r\n return (\r\n <>\r\n <OverlayTrigger\r\n overlay={\r\n <Tooltip id=\"customers-edit-tooltip\">Delete Note</Tooltip>\r\n }\r\n >\r\n <a\r\n href={() => false}\r\n onClick={() => {\r\n DeleteNote(row.Id);\r\n }}\r\n className={`btn btn-icon btn-light btn-hover-danger btn-sm mx-3`}\r\n >\r\n <span className={`svg-icon svg-icon-md svg-icon-danger`}>\r\n <SVG\r\n src={toAbsoluteUrl(\"/media/svg/icons/General/Trash.svg\")}\r\n />\r\n </span>\r\n </a>\r\n </OverlayTrigger>\r\n </>\r\n );\r\n },\r\n },\r\n ];\r\n function getDetailGroupNote(GroupId) {\r\n var myHeaders = new Headers();\r\n myHeaders.append(\"Authorization\", `bearer ${db.read().getState().Token}`);\r\n\r\n var requestOptions = {\r\n method: \"GET\",\r\n headers: myHeaders,\r\n redirect: \"follow\",\r\n };\r\n\r\n fetch(`${window.$apiurl}/Tms/Notes/${GroupId}`, requestOptions)\r\n .then((response) => response.text())\r\n .then((result) => {\r\n let obj = JSON.parse(result);\r\n setGroupNotesData(obj || []);\r\n })\r\n .catch((error) => console.log(\"error\", error));\r\n }\r\n function getSoNotes(_id) {\r\n if (_id !== null && _id !== undefined) {\r\n var myHeaders = new Headers();\r\n myHeaders.append(\"Authorization\", `bearer ${db.read().getState().Token}`);\r\n\r\n var requestOptions = {\r\n method: \"GET\",\r\n headers: myHeaders,\r\n redirect: \"follow\",\r\n };\r\n\r\n fetch(`${window.$apiurl}/Tms/GroupNotes/${_id}`, requestOptions)\r\n .then((response) => response.text())\r\n .then((result) => {\r\n let obj = JSON.parse(result);\r\n setSONotesData(obj || []);\r\n })\r\n .catch((error) => console.log(\"error\", error));\r\n }\r\n }\r\n\r\n function getSoNotesfirst(_id) {\r\n if (_id !== null && _id !== undefined) {\r\n var myHeaders = new Headers();\r\n myHeaders.append(\"Authorization\", `bearer ${db.read().getState().Token}`);\r\n\r\n var requestOptions = {\r\n method: \"GET\",\r\n headers: myHeaders,\r\n redirect: \"follow\",\r\n };\r\n\r\n fetch(`${window.$apiurl}/Tms/GroupNotes/${_id}`, requestOptions)\r\n .then((response) => response.text())\r\n .then((result) => {\r\n let obj = JSON.parse(result);\r\n setSONotesData(obj || []);\r\n if (obj.length > 0) {\r\n setmodalNotes(true);\r\n }\r\n })\r\n .catch((error) => console.log(\"error\", error));\r\n }\r\n }\r\n useEffect(() => {\r\n getSoNotesfirst(id);\r\n }, [id]);\r\n //End Table Data\r\n //Functions\r\n\r\n async function PostNote(id, bodytext, cat, category) {\r\n setloadingPostNote(true);\r\n return await fetch(`${window.$apiurl}/Tms/Notes`, {\r\n method: \"post\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify({\r\n body: bodytext,\r\n CategoryId: cat,\r\n GroupId: category,\r\n ShipmentId: id,\r\n }),\r\n })\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then(async (res) => {\r\n if (res?.length > 0 && res[0] === 200) {\r\n setTimeout(() => {\r\n setNewText(\"\");\r\n $(\"#GroupNotesId\").toggle(\"slow\");\r\n $(\"#NewTextNots\").val(\"\");\r\n }, 50);\r\n getSoNotes(id);\r\n if (SelectedGroupNote2 !== null && SelectedGroupNote2 !== \"\") {\r\n getDetailGroupNote(SelectedGroupNote2);\r\n }\r\n Notification(\"success\", \"Note has been saved successfully\");\r\n if (category !== \"\") {\r\n $('[name=\"CategoryId\"]').val(\"\");\r\n }\r\n $(\"#NewTextNots\").val(\"\");\r\n }else{\r\n Notification(\"errorClick\", res[1]?.Message);\r\n }\r\n setloadingPostNote(false);\r\n })\r\n .catch((error) => {\r\n getSoNotes(id);\r\n if (SelectedGroupNote2 !== null && SelectedGroupNote2 !== \"\") {\r\n getDetailGroupNote(SelectedGroupNote2);\r\n }\r\n Notification(\"success\", \"Note has been saved successfully\");\r\n if (category !== \"\") {\r\n $('[name=\"CategoryId\"]').val(\"\");\r\n }\r\n $(\"#NewTextNots\").val(\"\");\r\n setloadingPostNote(false);\r\n });\r\n }\r\n\r\n async function DeleteNote(_id) {\r\n return await fetch(`${window.$apiurl}/Tms/Notes/${_id}`, {\r\n method: \"Delete\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then(async (res) => {\r\n Notification(\"success\", \"Note is Deleted successfully\");\r\n getSoNotes(id);\r\n if (SelectedGroupNote2 !== null && SelectedGroupNote2 !== \"\") {\r\n getDetailGroupNote(SelectedGroupNote2);\r\n }\r\n })\r\n .catch((error) => {\r\n Notification(\"success\", \"Note is Deleted successfully\");\r\n getSoNotes(id);\r\n if (SelectedGroupNote2 !== null && SelectedGroupNote2 !== \"\") {\r\n getDetailGroupNote(SelectedGroupNote2);\r\n }\r\n });\r\n }\r\n\r\n //EndFunctions\r\n\r\n //htmlRenderCardFunction\r\n function CardFunction({ data }) {\r\n return (\r\n <>\r\n <BootstrapTable\r\n wrapperClasses=\"table-responsive\"\r\n classes=\"table table-head-custom table-vertical-center\"\r\n bootstrap4\r\n pagination={paginationFactory({\r\n showTotal: true,\r\n sizePerPageList: [\r\n { text: \"5\", value: 5 },\r\n { text: \"10\", value: 10 },\r\n { text: \"25\", value: 25 },\r\n ],\r\n })}\r\n bordered={false}\r\n keyField=\"Id\"\r\n data={data?.Notes || []}\r\n columns={columnsNote}\r\n />\r\n <br />\r\n </>\r\n );\r\n }\r\n //htmlRenderCardFunction\r\n return (\r\n <>\r\n <Modal\r\n show={modalNotes}\r\n size=\"xl\"\r\n aria-labelledby=\"example-modal-sizes-title-lg\"\r\n >\r\n <Modal.Header>\r\n <Modal.Title id=\"example-modal-sizes-title-lg\">Notes</Modal.Title>\r\n <IconButton\r\n className=\"MuiButtonBase-root MuiIconButton-root jss179\"\r\n aria-label=\"Close\"\r\n onClick={() => {\r\n setmodalNotes(false);\r\n }}\r\n >\r\n <CloseIcon />\r\n </IconButton>\r\n </Modal.Header>\r\n <Modal.Body>\r\n <form className=\"form form-label-right\">\r\n <div className=\"form-group\">\r\n <div className=\"mb-5\">\r\n <button\r\n type=\"button\"\r\n className=\"btn btn-light-primary mr-2 w-100 mb-5\"\r\n onClick={() => {\r\n $('[name=\"CategoryId\"]').val(\"\");\r\n $(\"#NewTextNots\").val(\"\");\r\n $(\"#GroupNotesId\").toggle(\"slow\");\r\n if (!$(\"#NotesId\").is(\":hidden\")) {\r\n $(\"#NotesId\").toggle(\"slow\");\r\n }\r\n }}\r\n >\r\n <i className=\"fas fa-plus mr-2\"></i> Add New Group\r\n </button>\r\n </div>\r\n <div className=\"mb-5\">\r\n <BootstrapTable\r\n wrapperClasses=\"table-responsive\"\r\n classes=\"table table-head-custom table-vertical-center\"\r\n bootstrap4\r\n pagination={paginationFactory({\r\n showTotal: true,\r\n sizePerPageList: [\r\n { text: \"5\", value: 5 },\r\n { text: \"10\", value: 10 },\r\n { text: \"25\", value: 25 },\r\n ],\r\n })}\r\n bordered={false}\r\n keyField=\"Id\"\r\n data={SONotesData}\r\n columns={columns}\r\n />\r\n </div>\r\n\r\n <div\r\n className=\"mb-5\"\r\n id=\"GroupNotesId\"\r\n style={{ display: \"none\" }}\r\n >\r\n <label>Text</label>\r\n <textarea\r\n className=\"form-control mb-5\"\r\n rows=\"4\"\r\n id=\"NewTextNots\"\r\n onBlur={(e) => setNewText(e.target.value)}\r\n ></textarea>\r\n <div className=\"row\">\r\n <div className=\"mb-5 col-lg-8 w-100 mt-5\">\r\n <Select\r\n name=\"CategoryId\"\r\n label=\"Select Category\"\r\n options={NotesType}\r\n />\r\n </div>\r\n <div className=\"m-auto col-lg-4 text-center\">\r\n <button\r\n type=\"button\"\r\n disabled={loadingPostNote}\r\n className=\"btn btn-light-success mr-2 w-100 mb-5 m-auto\"\r\n onClick={async () => {\r\n if (NewText === \"\")\r\n Notification(\"warning\", \"Text is Empty\");\r\n else {\r\n await PostNote(\r\n id,\r\n NewText,\r\n $('[name=\"CategoryId\"]').val(),\r\n \"\"\r\n );\r\n }\r\n }}\r\n >\r\n <i className=\"fas fa-save mr-2\"></i> Save\r\n {loadingPostNote && (\r\n <Spinner\r\n as=\"span\"\r\n animation=\"border\"\r\n size=\"sm\"\r\n role=\"status\"\r\n aria-hidden=\"true\"\r\n />\r\n )}\r\n </button>\r\n </div>\r\n </div>\r\n <br />\r\n <br />\r\n <br />\r\n <br />\r\n </div>\r\n <div className=\"mb-5\" id=\"NotesId\" style={{ display: \"none\" }}>\r\n <label>Text</label>\r\n <textarea\r\n className=\"form-control mb-5\"\r\n rows=\"4\"\r\n id=\"NewTextNots\"\r\n onBlur={(e) => setNewText(e.target.value)}\r\n ></textarea>\r\n <div className=\"row\">\r\n <div className=\"mb-5 col-lg-8 w-100 mt-5\">\r\n <Select\r\n name=\"CategoryId\"\r\n label=\"Select Category\"\r\n isDisabled\r\n options={NotesType}\r\n value={NotesType.filter(\r\n (a) => a.value === GroupNotesData?.CategoryId\r\n )}\r\n />\r\n </div>\r\n <div className=\"m-auto col-lg-4 text-center\">\r\n <button\r\n type=\"button\"\r\n className=\"btn btn-light-success mr-2 w-100 mb-5 m-auto\"\r\n disabled={loadingPostNote}\r\n onClick={async () => {\r\n if (NewText === \"\")\r\n Notification(\"warning\", \"Text is Empty\");\r\n else {\r\n var a = await PostNote(\r\n id,\r\n NewText,\r\n GroupNotesData?.CategoryId,\r\n SelectedGroupNote2\r\n );\r\n setTimeout(() => {\r\n setNewText(\"\");\r\n $(\"#NotesId\").toggle(\"slow\");\r\n $(\"#NewTextNots\").val(\"\");\r\n }, 50);\r\n }\r\n }}\r\n >\r\n <i className=\"fas fa-save mr-2\"></i> Save\r\n {loadingPostNote && (\r\n <Spinner\r\n as=\"span\"\r\n animation=\"border\"\r\n size=\"sm\"\r\n role=\"status\"\r\n aria-hidden=\"true\"\r\n />\r\n )}\r\n </button>\r\n </div>\r\n </div>\r\n <br />\r\n <br />\r\n <br />\r\n <br />\r\n </div>\r\n {SelectedGroupNote !== null ? (\r\n <>\r\n <div className=\"mb-5 mt-5 pt-5\">\r\n <button\r\n type=\"button\"\r\n className=\"btn btn-light-primary mr-2 w-100 mb-5\"\r\n onClick={() => {\r\n $('[name=\"CategoryId\"]').val(\"\");\r\n $(\"#NewTextNots\").val(\"\");\r\n $(\"#NotesId\").toggle(\"slow\");\r\n if (!$(\"#GroupNotesId\").is(\":hidden\")) {\r\n $(\"#GroupNotesId\").toggle(\"slow\");\r\n }\r\n }}\r\n >\r\n <i className=\"fas fa-plus mr-2\"></i> Add New Note\r\n </button>\r\n </div>\r\n <CardFunction data={GroupNotesData} />\r\n </>\r\n ) : (\r\n \"\"\r\n )}\r\n </div>\r\n </form>\r\n </Modal.Body>\r\n <Modal.Footer>\r\n <button\r\n type=\"button\"\r\n onClick={() => {\r\n setmodalNotes(false);\r\n }}\r\n className=\"btn btn-light btn-elevate\"\r\n >\r\n Close\r\n </button>\r\n <> </>\r\n </Modal.Footer>\r\n </Modal>\r\n </>\r\n );\r\n}\r\n","/* eslint-disable react-hooks/exhaustive-deps */\r\n/* eslint-disable no-script-url,jsx-a11y/anchor-is-valid,jsx-a11y/role-supports-aria-props */\r\nimport React, { useEffect, useRef, useState, Fragment } from \"react\";\r\nimport { shallowEqual, useSelector } from \"react-redux\";\r\nimport Select from \"react-select\";\r\nimport {\r\n Card,\r\n CardBody,\r\n CardHeader,\r\n CardHeaderToolbar,\r\n CheckboxLargeWB,\r\n ModalProgressBar,\r\n CheckboxLarge,\r\n} from \"../../../../../../_metronic/_partials/controls\";\r\nimport { Dropdown } from \"react-bootstrap\";\r\nimport CloseIcon from \"@material-ui/icons/Close\";\r\nimport { ServiceOrderFtlDetail } from \"./ServiceOrderFtlDetail\";\r\nimport { ServiceOrderLtlDetail } from \"./ServiceOrderLtlDetail\";\r\nimport low from \"lowdb\";\r\nimport LocalStorage from \"lowdb/adapters/LocalStorage\";\r\nimport { Formik } from \"formik\";\r\nimport { Modal, OverlayTrigger, Spinner, Tooltip } from \"react-bootstrap\";\r\nimport { Notification } from \"../../../../Notification\";\r\nimport { ActivityFunction } from \"../../../../../../_metronic/_helpers/ATHelpers\";\r\nimport moment from \"moment\";\r\nimport { IconButton, TextField, Typography } from \"@material-ui/core\";\r\nimport { DropdownCustomTo } from \"../../../../../../_metronic/_partials/dropdowns\";\r\nimport DynamicReport from \"../../../../../pages/DynamicReport/DynamicReport\";\r\nimport { BLFORM } from \"../../../../../pages/BL/BLFORM\";\r\nimport { CKEditor } from \"@ckeditor/ckeditor5-react\";\r\nimport CreatableSelect from \"react-select/creatable\";\r\nimport ClassicEditor from \"@ckeditor/ckeditor5-build-classic\";\r\nimport { DRAYAGEFORM } from \"../../../../../pages/Drayage/DRAYAGEFORM\";\r\nimport Swal from \"sweetalert2\";\r\nimport Skeleton from \"@mui/material/Skeleton\";\r\nimport { TmsNotesGroup } from \"./TmsNotes\";\r\nimport { ClickFun } from \"../../../../../SpecificTabs\";\r\nimport { BlFormMulti } from \"../../../../../pages/BL/BlFormMulti\";\r\nimport { RateConfirmationBeta } from \"../../../../../pages/Drayage/RateConfirmationBeta\";\r\nimport {\r\n ChargesOriAddSup,\r\n NigativePositiveStop,\r\n} from \"../../Transload/FindOrders/product-Containers/remark-edit-dialog/ChargesFunction\";\r\nconst adapter = new LocalStorage(\"db\");\r\nconst db = low(adapter);\r\n\r\nexport function ProductTMSDetail({ history, SO, setEditModal, setMo }) {\r\n // const layoutDispatch = useContext(LayoutContext.Dispatch);\r\n const { actionsLoading, productForEdit } = useSelector(\r\n (state) => ({\r\n actionsLoading: state.products.actionsLoading,\r\n productForEdit: state.products.productForEdit,\r\n }),\r\n shallowEqual\r\n );\r\n const [ViewModelOptions, setViewModelOptions] = useState(null);\r\n const [showBol, setBol] = useState(false);\r\n const [showBolMulti, setBolMulti] = useState(false);\r\n const [showDispatchReport, setRateConfirmation] = useState(false);\r\n const [showDispatchReportMulti, setRateConfirmationMulti] = useState(false);\r\n const [LoadingPost, setLoadingPCost] = useState(false);\r\n const [ModalActivities, setModalActivities] = useState(false);\r\n const [ShowDeleteSOModal, setShowDeleteSOModal] = useState(false);\r\n const [ShowCancelSOModal, setShowCancelSOModal] = useState(false);\r\n const [charges, setCharges] = useState([]);\r\n const [vendorPayables, setVendorPayables] = useState([]);\r\n const [showModalSend, setshowModalSend] = useState(false);\r\n const [IsCollapsedBasic, setIsCollapsedBasic] = useState(false);\r\n const [EmailAddressList, setEmailAddressList] = useState([]);\r\n const [ToDataDefeault, setToDataDefeault] = useState([]);\r\n const [SubjectData, setSubjectData] = useState(null);\r\n const [includCCData, setincludCCData] = useState(false);\r\n const [ShowLoadBidsModal, setShowLoadBidsModal] = useState(false);\r\n const [includBol, setincludBol] = useState(false);\r\n const [includOutboundDispatch, setincludOutboundDispatch] = useState(true);\r\n const [includShipmentManifest, setincludShipmentManifest] = useState(false);\r\n const [BodyData, setBodyData] = useState(\"\");\r\n const [AttachmentData, setAttachmentData] = useState([]);\r\n const [AttachementList, setAttachementList] = useState(null);\r\n const [isLoadingSubmit, setisLoadingSubmit] = useState(false);\r\n const [isLoadingSend, setisLoadingSend] = useState(false);\r\n const [ToData, setToData] = useState(null);\r\n const [AccessLevels, setAccessLevels] = useState([]);\r\n const [AttachmentTypes, setAttachmentTypes] = useState([]);\r\n const [modalNotes, setmodalNotes] = useState(false);\r\n const [loaderSo, setLoaderSo] = useState(false);\r\n const [ReloadCalc, setReloadCalc] = useState(0);\r\n const [LoadingDuplicateSo, setLoadingDuplicateSo] = useState(false);\r\n const [initProduct, setinitProduct] = useState({\r\n id: undefined,\r\n So: \"\",\r\n MO: \"\",\r\n Customer: \"\",\r\n PU: \"\",\r\n Mode: \"\",\r\n Del: \"\",\r\n Vendors: [],\r\n });\r\n\r\n //Multi MO\r\n\r\n const [inputList, setInputList] = useState([null]);\r\n\r\n function handleChangeProccess(i, event) {\r\n let values = [...inputList];\r\n values[i] = event?.value === undefined ? \"\" : event?.value;\r\n setInputList(values);\r\n }\r\n const handleAddClick = () => {\r\n setInputList([...inputList, null]);\r\n };\r\n //End Multi MO\r\n const [loaderSoStop, setLoaderSoStop] = useState(false);\r\n function GetSoData(SO, isloaderSo) {\r\n if (SO === undefined) {\r\n return;\r\n }\r\n var myHeaders = new Headers();\r\n myHeaders.append(\"Authorization\", `Bearer ${db.read().getState().Token}`);\r\n\r\n var requestOptions = {\r\n method: \"GET\",\r\n headers: myHeaders,\r\n redirect: \"follow\",\r\n };\r\n\r\n fetch(`${window.$apiurl}/Tms/ServiceOrders/${SO}`, requestOptions)\r\n .then(async (response) => {\r\n if (response.status === 401) {\r\n history.push(\"/error/401\");\r\n }\r\n return response.text();\r\n })\r\n .then((result) => {\r\n var obj = JSON.parse(result);\r\n window.AutoRating = obj?.AutoRating;\r\n if (obj?.Shipment?.Vendors?.length === 0) {\r\n obj.Shipment.Vendors.push({\r\n EmptyLocation: \"\",\r\n FreightChargeId: 98,\r\n TruckNumber: \"\",\r\n ItemVendorId: null,\r\n DriverPhone: \"\",\r\n DriverName: \"\",\r\n ContactId: \"\",\r\n Created: \"\",\r\n EnteredBy: \"\",\r\n CarrierId: \"\",\r\n VendorId: \"\",\r\n });\r\n }\r\n setinitProduct(obj?.Shipment);\r\n if (isloaderSo) {\r\n setLoaderSoStop(false);\r\n }\r\n setInputList(\r\n obj?.Shipment?.OrderIds?.length > 0 ? obj?.Shipment?.OrderIds : [null]\r\n );\r\n\r\n setLoaderSo(false);\r\n })\r\n .catch((error) => console.log(\"error\", error));\r\n }\r\n\r\n useEffect(() => {\r\n GetSoData(SO);\r\n fetchUsersAsync();\r\n }, [SO]);\r\n\r\n function GetViewModel() {\r\n var myHeaders = new Headers();\r\n myHeaders.append(\"Authorization\", `Bearer ${db.read().getState().Token}`);\r\n\r\n var requestOptions = {\r\n method: \"GET\",\r\n headers: myHeaders,\r\n redirect: \"follow\",\r\n };\r\n\r\n fetch(`${window.$apiurl}/Tms/GetViewModel`, requestOptions)\r\n .then((response) => response.text())\r\n .then((result) => {\r\n var data = JSON.parse(result);\r\n setViewModelOptions(data);\r\n })\r\n .catch((error) => console.log(\"error\", error));\r\n }\r\n useEffect(() => {\r\n GetViewModel();\r\n }, []);\r\n function CheckStops(params) {\r\n var myHeaders = new Headers();\r\n myHeaders.append(\"Authorization\", `Bearer ${db.read().getState().Token}`);\r\n\r\n var requestOptions = {\r\n method: \"GET\",\r\n headers: myHeaders,\r\n redirect: \"follow\",\r\n };\r\n\r\n fetch(`${window.$apiurl}/tms/checkstops/${params}`, requestOptions)\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n const contentType = response.headers.get(\"content-type\");\r\n if (contentType && contentType.indexOf(\"application/json\") !== -1) {\r\n return response.json().then((data) => [statusCode, data]);\r\n } else {\r\n return response.text().then((text) => [statusCode, { Message: \"\" }]);\r\n }\r\n })\r\n .then((result) => {\r\n if (result[0] === 200) {\r\n if (\r\n result[1].Message !== null &&\r\n result[1].Message !== undefined &&\r\n result[1].Message !== \"\"\r\n ) {\r\n Notification(\r\n \"infoClick\",\r\n <span dangerouslySetInnerHTML={{ __html: result[1].Message }} />\r\n );\r\n }\r\n } else {\r\n if (\r\n result[1].ModelState !== null &&\r\n result[1].ModelState !== undefined &&\r\n result[1].ModelState !== \"\"\r\n ) {\r\n let modelState = result[1].ModelState;\r\n if (modelState)\r\n Object.keys(modelState).forEach(function(k) {\r\n modelState[k].forEach((element) => {\r\n Notification(\"errorClick\", element);\r\n });\r\n });\r\n } else if (\r\n result[1].Message !== null &&\r\n result[1].Message !== undefined &&\r\n result[1].Message !== \"\"\r\n ) {\r\n Notification(\"errorClick\", result[1].Message);\r\n } else {\r\n Notification(\"errorClick\", \"Bad Request\");\r\n }\r\n }\r\n })\r\n .catch((error) => {\r\n console.log(\"error\", error);\r\n });\r\n }\r\n function GetMilageFunctions(\r\n ShipperState,\r\n ShipperCity,\r\n ConsigneeState,\r\n ConsigneeCity,\r\n shipmentData\r\n ) {\r\n var myHeaders = new Headers();\r\n myHeaders.append(\"Authorization\", `Bearer ${db.read().getState().Token}`);\r\n\r\n var requestOptions = {\r\n method: \"GET\",\r\n headers: myHeaders,\r\n redirect: \"follow\",\r\n };\r\n\r\n fetch(\r\n `${window.$apiurl}/tracking/getdistance?fromcity=${ShipperCity}&fromstate=${ShipperState}&destCity=${ConsigneeCity}&destState=${ConsigneeState}`,\r\n requestOptions\r\n )\r\n .then((response) => response.text())\r\n .then((result) => {\r\n var data = JSON.parse(result);\r\n var _initProduct = { ...shipmentData };\r\n _initProduct.TotalMiles = data;\r\n setinitProduct(_initProduct);\r\n })\r\n .catch((error) => console.log(\"error\", error));\r\n }\r\n useEffect(() => {\r\n if (\r\n initProduct?.ShipperState !== null &&\r\n initProduct?.ShipperState !== \"\" &&\r\n initProduct?.ShipperState !== undefined &&\r\n initProduct?.ShipperCity !== null &&\r\n initProduct?.ShipperCity !== \"\" &&\r\n initProduct?.ShipperCity !== undefined &&\r\n initProduct?.ConsigneeState !== null &&\r\n initProduct?.ConsigneeState !== \"\" &&\r\n initProduct?.ConsigneeState !== undefined &&\r\n initProduct?.ConsigneeCity !== null &&\r\n initProduct?.ConsigneeCity !== \"\" &&\r\n initProduct?.ConsigneeCity !== undefined\r\n ) {\r\n GetMilageFunctions(\r\n initProduct?.ShipperState,\r\n initProduct?.ShipperCity,\r\n initProduct?.ConsigneeState,\r\n initProduct?.ConsigneeCity,\r\n initProduct\r\n );\r\n } else {\r\n var _initProduct = { ...initProduct };\r\n if (\r\n (initProduct?.ShipperState === null ||\r\n initProduct?.ShipperState === \"\" ||\r\n initProduct?.ShipperState === undefined ||\r\n initProduct?.ShipperCity === null ||\r\n initProduct?.ShipperCity === \"\" ||\r\n initProduct?.ShipperCity === undefined) &&\r\n initProduct?.ConsigneeState !== null &&\r\n initProduct?.ConsigneeState !== \"\" &&\r\n initProduct?.ConsigneeState !== undefined &&\r\n initProduct?.ConsigneeCity !== null &&\r\n initProduct?.ConsigneeCity !== \"\" &&\r\n initProduct?.ConsigneeCity !== undefined\r\n ) {\r\n _initProduct.TotalMiles = \"Shipping address not found\";\r\n setinitProduct(_initProduct);\r\n } else if (\r\n (initProduct?.ConsigneeState === null ||\r\n initProduct?.ConsigneeState === \"\" ||\r\n initProduct?.ConsigneeState === undefined ||\r\n initProduct?.ConsigneeCity === null ||\r\n initProduct?.ConsigneeCity === \"\" ||\r\n initProduct?.ConsigneeCity === undefined) &&\r\n initProduct?.ShipperState !== null &&\r\n initProduct?.ShipperState !== \"\" &&\r\n initProduct?.ShipperState !== undefined &&\r\n initProduct?.ShipperCity !== null &&\r\n initProduct?.ShipperCity !== \"\" &&\r\n initProduct?.ShipperCity !== undefined\r\n ) {\r\n _initProduct.TotalMiles = \"Receiving address not found\";\r\n setinitProduct(_initProduct);\r\n } else {\r\n _initProduct.TotalMiles = \"Shipping and receiving addresses not found\";\r\n setinitProduct(_initProduct);\r\n }\r\n }\r\n }, [\r\n initProduct?.ShipperCity,\r\n initProduct?.ShipperState,\r\n initProduct?.ConsigneeCity,\r\n initProduct?.ConsigneeState,\r\n ]);\r\n\r\n function Save(values) {\r\n //Start Validation\r\n let hasError = false;\r\n var valuesClone = JSON.parse(JSON.stringify(values));\r\n //chack basic info\r\n\r\n if (valuesClone.OnHold) {\r\n Notification(\"errorClick\", \"SO is On Hold\");\r\n return;\r\n }\r\n\r\n if (\r\n valuesClone.WarehouseId === null ||\r\n valuesClone.WarehouseId === \"\" ||\r\n valuesClone.WarehouseId === undefined\r\n ) {\r\n Notification(\"errorClick\", \"Branch is required\");\r\n hasError = true;\r\n }\r\n\r\n if (\r\n valuesClone.ShipmentTypeId === null ||\r\n valuesClone.ShipmentTypeId === \"\" ||\r\n valuesClone.ShipmentTypeId === undefined\r\n ) {\r\n Notification(\"errorClick\", \"Shipment Type is required\");\r\n hasError = true;\r\n }\r\n\r\n if (\r\n valuesClone.ModeName !== \"Drayage\" &&\r\n (valuesClone.ShipmentDate === null ||\r\n valuesClone.ShipmentDate === \"\" ||\r\n valuesClone.ShipmentDate === undefined)\r\n ) {\r\n Notification(\"errorClick\", \"Shipment Date is required\");\r\n hasError = true;\r\n }\r\n\r\n if (\r\n valuesClone.ModeId === null ||\r\n valuesClone.ModeId === \"\" ||\r\n valuesClone.ModeId === undefined\r\n ) {\r\n Notification(\"errorClick\", \"Mode is required\");\r\n hasError = true;\r\n }\r\n\r\n if (\r\n (valuesClone.ModeName === \"OTR (Over The Road)\" ||\r\n valuesClone.ModeName === \"Reefer FTL\" ||\r\n valuesClone.ModeName === \"Flatbed\") &&\r\n (valuesClone.StatusName === \"\" || valuesClone.StatusName === \"New\") &&\r\n (valuesClone.MaxBuy === null ||\r\n valuesClone.MaxBuy === \"\" ||\r\n valuesClone.MaxBuy === undefined)\r\n ) {\r\n Notification(\"errorClick\", \"Max Buy is required\");\r\n hasError = true;\r\n }\r\n\r\n //check shipper\r\n if (\r\n valuesClone.ShipperId === null ||\r\n valuesClone.ShipperId === undefined ||\r\n valuesClone.ShipperId === \"\" ||\r\n valuesClone.ShipperId === 0 ||\r\n valuesClone.ShipperId === \"0\"\r\n ) {\r\n Notification(\"errorClick\", \"Shipping Company is required\");\r\n hasError = true;\r\n }\r\n\r\n if (\r\n valuesClone.ModeName !== \"Drayage\" &&\r\n (valuesClone.ReqShipDate === null ||\r\n valuesClone.ReqShipDate === undefined ||\r\n valuesClone.ReqShipDate === \"\")\r\n ) {\r\n Notification(\"errorClick\", \"Req. Ship Date is required\");\r\n hasError = true;\r\n }\r\n\r\n //check consignee\r\n if (\r\n valuesClone.ConsigneeId === null ||\r\n valuesClone.ConsigneeId === undefined ||\r\n valuesClone.ConsigneeId === \"\" ||\r\n valuesClone.ConsigneeId === 0 ||\r\n valuesClone.ConsigneeId === \"0\"\r\n ) {\r\n Notification(\"errorClick\", \"Receiving Company is required\");\r\n hasError = true;\r\n }\r\n\r\n if (\r\n valuesClone.ModeName !== \"Drayage\" &&\r\n (valuesClone.MustArriveByDate === null ||\r\n valuesClone.MustArriveByDate === undefined ||\r\n valuesClone.MustArriveByDate === \"\")\r\n ) {\r\n Notification(\"errorClick\", \"Must Arrive By Date (MABD) is required\");\r\n hasError = true;\r\n }\r\n\r\n //Order Assignments Check\r\n\r\n if (\r\n valuesClone.CapacityAssigneeId === null ||\r\n valuesClone.CapacityAssigneeId === undefined ||\r\n valuesClone.CapacityAssigneeId === \"\"\r\n ) {\r\n Notification(\"errorClick\", \"Capacity Assignment is required\");\r\n hasError = true;\r\n }\r\n if (\r\n valuesClone.CapacityOperationId === null ||\r\n valuesClone.CapacityOperationId === undefined ||\r\n valuesClone.CapacityOperationId === \"\"\r\n ) {\r\n Notification(\"errorClick\", \"Capacity Operations is required\");\r\n hasError = true;\r\n }\r\n if (\r\n valuesClone.CommercialAssigneeId === null ||\r\n valuesClone.CommercialAssigneeId === undefined ||\r\n valuesClone.CommercialAssigneeId === \"\"\r\n ) {\r\n Notification(\"errorClick\", \"Commercial Assignment is required\");\r\n hasError = true;\r\n }\r\n if (\r\n valuesClone.CommercialOperationId === null ||\r\n valuesClone.CommercialOperationId === undefined ||\r\n valuesClone.CommercialOperationId === \"\"\r\n ) {\r\n Notification(\"errorClick\", \"Commercial Operations is required\");\r\n hasError = true;\r\n }\r\n\r\n if (\r\n document.getElementsByClassName(\"SoCommodity\").length === 0 &&\r\n valuesClone.ShipmentTypeId === 1357\r\n ) {\r\n Notification(\"errorClick\", \"Minimum 1 commodity required\");\r\n hasError = true;\r\n }\r\n //End Validation\r\n if (hasError) {\r\n return false;\r\n }\r\n\r\n var chargeslist = charges;\r\n if (NigativePositiveStop(chargeslist)) return false;\r\n chargeslist = ChargesOriAddSup(chargeslist);\r\n valuesClone.OrderIds = inputList;\r\n valuesClone.Charges = Array.isArray(chargeslist) ? chargeslist : [];\r\n /* if (valuesClone?.Vendors?.length > 0) {\r\n valuesClone.Vendors[0].Payables = Array.isArray(vendorPayables)\r\n ? vendorPayables\r\n : [];\r\n } */\r\n //inputList\r\n if (valuesClone.Vendors.length === 1) {\r\n if (valuesClone.Vendors[0].CarrierId === \"\") {\r\n valuesClone.Vendors = [];\r\n }\r\n }\r\n\r\n setLoadingPCost(true);\r\n var myHeaders = new Headers();\r\n myHeaders.append(\"Authorization\", `Bearer ${db.read().getState().Token}`);\r\n myHeaders.append(\"Content-Type\", \"application/json\");\r\n\r\n var raw = JSON.stringify(valuesClone);\r\n\r\n var requestOptions = {\r\n method: \"PUT\",\r\n headers: myHeaders,\r\n body: raw,\r\n redirect: \"follow\",\r\n };\r\n\r\n fetch(`${window.$apiurl}/Tms/ServiceOrders/${SO}`, requestOptions)\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n const contentType = response.headers.get(\"content-type\");\r\n if (contentType && contentType.indexOf(\"application/json\") !== -1) {\r\n return response.json().then((data) => [statusCode, data]);\r\n } else {\r\n return response.text().then((text) => [statusCode, { Message: \"\" }]);\r\n }\r\n })\r\n .then((result) => {\r\n try {\r\n if (result[0] === 200) {\r\n var buttnRefresh = document.getElementById(\"refreshTrackingTMS\");\r\n if (\r\n result[1].Message !== null &&\r\n result[1].Message !== undefined &&\r\n result[1].Message !== \"\"\r\n ) {\r\n if (document.getElementById(\"tmsItemsSave\")) {\r\n document.getElementById(\"tmsItemsSave\").click();\r\n }\r\n\r\n Notification(\r\n \"success\",\r\n \"Service Order has been Updated successfully\"\r\n );\r\n Notification(\r\n \"infoClick\",\r\n <span\r\n dangerouslySetInnerHTML={{\r\n __html: result[1].Message,\r\n }}\r\n />\r\n );\r\n GetSoData(SO);\r\n var buttnRefresh = document.getElementById(\"refreshTrackingTMS\");\r\n if (buttnRefresh) {\r\n buttnRefresh.click();\r\n }\r\n getAttachmentData();\r\n } else {\r\n if (document.getElementById(\"tmsItemsSave\")) {\r\n document.getElementById(\"tmsItemsSave\").click();\r\n }\r\n //Stops Items one click\r\n try {\r\n const list = document.querySelectorAll(\".postStop\");\r\n list.forEach((x) => {\r\n if (!x.classList.contains(\"disabled\")) {\r\n x.click();\r\n }\r\n });\r\n } catch (err) {\r\n console.log(err);\r\n }\r\n Notification(\r\n \"success\",\r\n \"Service Order has been Updated successfully\"\r\n );\r\n CheckStops(SO);\r\n GetSoData(SO);\r\n if (buttnRefresh) {\r\n buttnRefresh.click();\r\n }\r\n getAttachmentData();\r\n }\r\n } else {\r\n if (\r\n result[1].ModelState !== null &&\r\n result[1].ModelState !== undefined &&\r\n result[1].ModelState !== \"\"\r\n ) {\r\n let modelState = result[1].ModelState;\r\n if (modelState)\r\n Object.keys(modelState).forEach(function(k) {\r\n modelState[k].forEach((element) => {\r\n Notification(\"errorClick\", element);\r\n });\r\n });\r\n } else if (\r\n result[1].Message !== null &&\r\n result[1].Message !== undefined &&\r\n result[1].Message !== \"\"\r\n ) {\r\n Notification(\"errorClick\", result[1].Message);\r\n } else {\r\n Notification(\"errorClick\", \"Bad Request\");\r\n }\r\n }\r\n setLoadingPCost(false);\r\n } catch (err) {\r\n console.log(err);\r\n }\r\n })\r\n .catch((error) => {\r\n console.log(\"error\", error);\r\n setLoadingPCost(false);\r\n });\r\n }\r\n const saveProduct = (values) => {\r\n if (\r\n values.ModeName === \"Intermodal Rail (COFC)\" &&\r\n values.ShipperDepartureDate !== null &&\r\n values.ShipperDepartureDate !== \"\" &&\r\n (values.Equipment === \"\" || values.Equipment === null)\r\n ) {\r\n Notification(\r\n \"errorClick\",\r\n \"Trailer # required when entering departure date/time\"\r\n );\r\n return;\r\n }\r\n if (\r\n values?.IsTeam === true &&\r\n values.Vendors[0]?.IsTeam === false &&\r\n values.Vendors[0]?.VendorId !== initProduct.Vendors[0]?.VendorId\r\n ) {\r\n Swal.fire({\r\n title: \"Are you sure?\",\r\n text: \"you want to not assign the put the carrier as team !\",\r\n icon: \"warning\",\r\n showCancelButton: true,\r\n confirmButtonColor: \"#3085d6\",\r\n cancelButtonColor: \"#d33\",\r\n confirmButtonText: \"Yes, Save it!\",\r\n }).then((result) => {\r\n if (result.isConfirmed) {\r\n Save(values);\r\n }\r\n });\r\n } else {\r\n Save(values);\r\n }\r\n };\r\n const btnRef = useRef();\r\n //Send Email\r\n async function SaveShipementAattachement() {\r\n if (\r\n document.getElementById(\"shipmentAttachmentList\").files[0] === undefined\r\n ) {\r\n Notification(\"error\", \"Please select Attachment\");\r\n return;\r\n }\r\n setisLoadingSubmit(true);\r\n var formdata = new FormData();\r\n const inputElement = document.getElementById(\"shipmentAttachmentList\");\r\n const AccessLevelId = document.getElementById(\"shipmentAccessLevelIdList\")\r\n .value;\r\n const AttachmentTypeId = document.getElementById(\r\n \"shipmentAttachmentTypeIdList\"\r\n ).value;\r\n formdata.append(\r\n \"File\",\r\n inputElement.files[0],\r\n inputElement.value.split(\"\\\\\")[2]\r\n );\r\n var requestOptions = {\r\n method: \"POST\",\r\n body: formdata,\r\n redirect: \"follow\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n },\r\n };\r\n let response = await fetch(\r\n `${window.$apiurl}/transload/shipments/addattachment?shipmentId=` +\r\n SO +\r\n \"&accessLevelId=\" +\r\n AccessLevelId +\r\n \"&attachmentTypeId=\" +\r\n AttachmentTypeId,\r\n requestOptions\r\n );\r\n await response.json();\r\n var inputs = document.querySelectorAll(\".ShipmentsAttachmentCheckBox\");\r\n for (var i = 0; i < inputs.length; i++) {\r\n inputs[i].checked = false;\r\n }\r\n setisLoadingSubmit(false);\r\n getAttachmentData();\r\n setAttachmentData([]);\r\n }\r\n async function getAttachmentData() {\r\n if (SO === undefined) {\r\n return;\r\n }\r\n var myHeaders = new Headers();\r\n myHeaders.append(\"Authorization\", `bearer ${db.read().getState().Token}`);\r\n myHeaders.append(\"Content-Type\", \"application/json\");\r\n myHeaders.append(\"X-FP-API-KEY\", \"iphone\");\r\n var requestOptions = {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: myHeaders,\r\n redirect: \"follow\",\r\n };\r\n fetch(window.$apiurl + \"/shipments/getsendemail/\" + SO, requestOptions)\r\n .then((response) => response.text())\r\n .then((result) => {\r\n const resultobj = JSON.parse(result);\r\n setAttachementList(resultobj.Attachments);\r\n })\r\n .catch((error) => console.log(\"error\", error));\r\n }\r\n\r\n const deleteProduct = async () => {\r\n if (ToData === null) {\r\n Notification(\"error\", \"Please fill email Info\");\r\n return;\r\n }\r\n // server request for deleting product by id\r\n setisLoadingSend(true);\r\n var data = {};\r\n if (window.SendDispatchShipmentsList !== undefined) {\r\n data = {\r\n Ids: window.SendDispatchShipmentsList?.map(function(item) {\r\n return item.id;\r\n }),\r\n Emails: ToData,\r\n Subject: SubjectData,\r\n Body: BodyData,\r\n IncludeCc: includCCData,\r\n Attachments: AttachmentData,\r\n Bol: includBol,\r\n OutboundDispatch: includOutboundDispatch,\r\n ShipmentManifest: includShipmentManifest,\r\n };\r\n } else {\r\n data = {\r\n Emails: ToData,\r\n Subject: SubjectData,\r\n Body: BodyData,\r\n IncludeCc: includCCData,\r\n Attachments: AttachmentData,\r\n Bol: includBol,\r\n OutboundDispatch: includOutboundDispatch,\r\n ShipmentManifest: includShipmentManifest,\r\n };\r\n }\r\n\r\n var raw = JSON.stringify(data);\r\n var requestOptions = {\r\n method: \"POST\",\r\n body: raw,\r\n redirect: \"follow\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n };\r\n var url = \"\";\r\n if (window.SendDispatchShipmentsList !== undefined) {\r\n url = \"/shipmentsmanagement/sendMultiEmail\";\r\n } else {\r\n url = `/shipments/sendEmail/` + SO;\r\n }\r\n let response = await fetch(`${window.$apiurl}${url}`, requestOptions);\r\n if (response.status === 200) {\r\n Notification(\"success\", \"Email sent successfuly for Shipment ID \" + SO);\r\n setToData(null);\r\n setToDataDefeault(null);\r\n setSubjectData(null);\r\n setBodyData(\"\");\r\n setincludCCData(false);\r\n setincludBol(false);\r\n setincludOutboundDispatch(false);\r\n setincludShipmentManifest(false);\r\n setAttachmentData([]);\r\n } else {\r\n Notification(\"error\", \"invalid data\");\r\n }\r\n setisLoadingSend(false);\r\n setshowModalSend(false);\r\n };\r\n\r\n const fetchUsersAsync = async () => {\r\n try {\r\n if (SO !== null && SO !== undefined) {\r\n var myHeaders = new Headers();\r\n myHeaders.append(\r\n \"Authorization\",\r\n `bearer ${db.read().getState().Token}`\r\n );\r\n myHeaders.append(\"Content-Type\", \"application/json\");\r\n myHeaders.append(\"X-FP-API-KEY\", \"iphone\");\r\n var requestOptions = {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: myHeaders,\r\n redirect: \"follow\",\r\n };\r\n fetch(window.$apiurl + \"/shipments/getsendemail/\" + SO, requestOptions)\r\n .then((response) => response.text())\r\n .then((result) => {\r\n const resultobj = JSON.parse(result);\r\n var obj = [];\r\n var obj2 = [];\r\n\r\n resultobj.Emails.map((item) => {\r\n obj.push({ value: item.Email, label: item.Email });\r\n obj2.push({ Email: item.Email, Name: item.Email });\r\n return null;\r\n });\r\n\r\n setToDataDefeault(obj);\r\n setToData(obj2);\r\n setEmailAddressList(obj);\r\n setAttachementList(resultobj.Attachments);\r\n })\r\n .catch((error) => console.log(\"error\", error));\r\n\r\n fetch(window.$apiurl + \"/carriers/transport/getviewmodel\", {\r\n method: \"get\",\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n Accept: \"application/json, text/plain, */*\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then((response) => response.text())\r\n .then((result) => {\r\n const objs = JSON.parse(result);\r\n setAccessLevels(objs?.AccessLevels || []);\r\n setAttachmentTypes(objs?.AttachmentTypes || []);\r\n })\r\n .catch((error) => console.log(\"error\", error));\r\n }\r\n } catch (e) {}\r\n };\r\n const [assignment, setAssignment] = useState({\r\n CapacityAssigneeId: null,\r\n CapacityAssigneeIsGroup: false,\r\n CapacityOperationId: null,\r\n CapacityOperationIsGroup: false,\r\n CommercialAssigneeId: null,\r\n CommercialAssigneeIsGroup: false,\r\n CommercialOperationId: null,\r\n CommercialOperationIsGroup: false,\r\n });\r\n useEffect(() => {\r\n let currentValueAssignment = { ...assignment };\r\n if (initProduct?.CapacityAssigneeId) {\r\n currentValueAssignment.CapacityAssigneeId =\r\n initProduct?.CapacityAssigneeId;\r\n }\r\n if (initProduct?.CapacityAssigneeIsGroup) {\r\n currentValueAssignment.CapacityAssigneeIsGroup =\r\n initProduct?.CapacityAssigneeIsGroup;\r\n }\r\n\r\n if (initProduct?.CapacityOperationId) {\r\n currentValueAssignment.CapacityOperationId =\r\n initProduct?.CapacityOperationId;\r\n }\r\n if (initProduct?.CapacityOperationIsGroup) {\r\n currentValueAssignment.CapacityOperationIsGroup =\r\n initProduct?.CapacityOperationIsGroup;\r\n }\r\n\r\n if (initProduct?.CommercialAssigneeId) {\r\n currentValueAssignment.CommercialAssigneeId =\r\n initProduct?.CommercialAssigneeId;\r\n }\r\n if (initProduct?.CommercialAssigneeIsGroup) {\r\n currentValueAssignment.CommercialAssigneeIsGroup =\r\n initProduct?.CommercialAssigneeIsGroup;\r\n }\r\n\r\n if (initProduct?.CommercialOperationId) {\r\n currentValueAssignment.CommercialOperationId =\r\n initProduct?.CommercialOperationId;\r\n }\r\n if (initProduct?.CommercialOperationIsGroup) {\r\n currentValueAssignment.CommercialOperationIsGroup =\r\n initProduct?.CommercialOperationIsGroup;\r\n }\r\n setAssignment(currentValueAssignment);\r\n if (\r\n initProduct?.CustomerId !== null &&\r\n initProduct?.CustomerId !== undefined &&\r\n initProduct?.CustomerId !== \"\"\r\n ) {\r\n getAssignment(initProduct, currentValueAssignment, false);\r\n }\r\n }, [initProduct]);\r\n useEffect(() => {\r\n console.log(\"useEffectassignment\", assignment);\r\n setAssignment(assignment);\r\n }, [assignment]);\r\n\r\n async function getAssignment(currentValue, oldValue, isCustomer) {\r\n if (\r\n currentValue?.CustomerId !== null &&\r\n currentValue?.CustomerId !== undefined\r\n ) {\r\n var myHeaders = new Headers();\r\n myHeaders.append(\"Authorization\", `Bearer ${db.read().getState().Token}`);\r\n\r\n var requestOptions = {\r\n method: \"GET\",\r\n headers: myHeaders,\r\n redirect: \"follow\",\r\n };\r\n\r\n fetch(\r\n `${window.$apiurl}/tms/customer/${currentValue?.CustomerId}?shippingCity=${currentValue?.ShipperCity}&shippingstate=${currentValue?.ShipperState}&receivingCity=${currentValue?.ConsigneeCity}&receivingState=${currentValue?.ConsigneeState}&ModeId=${currentValue.ModeId}`,\r\n requestOptions\r\n )\r\n .then((response) => response.text())\r\n .then((result) => {\r\n var obj = JSON.parse(result);\r\n if (isCustomer) {\r\n if (\r\n (obj.CapacityAssigneeId !== null &&\r\n obj.CapacityAssigneeId !== oldValue?.CapacityAssigneeId) ||\r\n (obj.CapacityOperationId !== null &&\r\n obj.CapacityOperationId !== oldValue?.CapacityOperationId) ||\r\n (obj.CommercialAssigneeId !== null &&\r\n obj.CommercialAssigneeId !== oldValue?.CommercialAssigneeId) ||\r\n (obj.CommercialOperationId !== null &&\r\n obj.CommercialOperationId !== oldValue?.CommercialOperationId)\r\n ) {\r\n Swal.fire({\r\n title: \"Are you sure?\",\r\n text: \"You want to override the assignments ?\",\r\n icon: \"warning\",\r\n showCancelButton: true,\r\n confirmButtonColor: \"#3085d6\",\r\n cancelButtonColor: \"#d33\",\r\n confirmButtonText: \"Yes, Change it!\",\r\n cancelButtonText: \"No\",\r\n }).then((result) => {\r\n if (result.isConfirmed) {\r\n let NewObj = {};\r\n if (\r\n obj.CapacityAssigneeId !== null &&\r\n obj.CapacityAssigneeId !== oldValue?.CapacityAssigneeId\r\n ) {\r\n NewObj.CapacityAssigneeId = obj.CapacityAssigneeId;\r\n NewObj.CapacityAssigneeIsGroup =\r\n obj.CapacityAssigneeIsGroup;\r\n } else {\r\n NewObj.CapacityAssigneeId = initProduct.CapacityAssigneeId;\r\n NewObj.CapacityAssigneeIsGroup =\r\n initProduct.CapacityAssigneeIsGroup;\r\n }\r\n if (\r\n obj.CapacityOperationId !== null &&\r\n obj.CapacityOperationId !== oldValue?.CapacityOperationId\r\n ) {\r\n NewObj.CapacityOperationId = obj.CapacityOperationId;\r\n NewObj.CapacityOperationIsGroup =\r\n obj.CapacityOperationIsGroup;\r\n } else {\r\n NewObj.CapacityOperationId =\r\n initProduct.CapacityOperationId;\r\n NewObj.CapacityOperationIsGroup =\r\n initProduct.CapacityOperationIsGroup;\r\n }\r\n if (\r\n obj.CommercialAssigneeId !== null &&\r\n obj.CommercialAssigneeId !== oldValue?.CommercialAssigneeId\r\n ) {\r\n NewObj.CommercialAssigneeId = obj.CommercialAssigneeId;\r\n NewObj.CommercialAssigneeIsGroup =\r\n obj.CommercialAssigneeIsGroup;\r\n } else {\r\n NewObj.CommercialAssigneeId =\r\n initProduct.CommercialAssigneeId;\r\n NewObj.CommercialAssigneeIsGroup =\r\n initProduct.CommercialAssigneeIsGroup;\r\n }\r\n if (\r\n obj.CommercialOperationId !== null &&\r\n obj.CommercialOperationId !==\r\n oldValue?.CommercialOperationId\r\n ) {\r\n NewObj.CommercialOperationId = obj.CommercialOperationId;\r\n NewObj.CommercialOperationIsGroup =\r\n obj.CommercialOperationIsGroup;\r\n } else {\r\n NewObj.CommercialOperationId =\r\n initProduct.CommercialOperationId;\r\n NewObj.CommercialOperationIsGroup =\r\n initProduct.CommercialOperationIsGroup;\r\n }\r\n setAssignment(NewObj);\r\n }\r\n });\r\n }\r\n } else {\r\n if (\r\n oldValue?.CapacityAssigneeId === null ||\r\n oldValue?.CapacityAssigneeId === undefined ||\r\n oldValue?.CapacityAssigneeId === \"\" ||\r\n oldValue?.CapacityAssigneeId === \"null\"\r\n ) {\r\n oldValue.CapacityAssigneeId = obj?.CapacityAssigneeId;\r\n oldValue.CapacityAssigneeIsGroup = obj?.CapacityAssigneeIsGroup;\r\n\r\n }\r\n if (\r\n oldValue?.CapacityOperationId === null ||\r\n oldValue?.CapacityOperationId === undefined ||\r\n oldValue?.CapacityOperationId === \"\" ||\r\n oldValue?.CapacityOperationId === \"null\"\r\n ) {\r\n oldValue.CapacityOperationId = obj?.CapacityOperationId;\r\n oldValue.CapacityOperationIsGroup = obj?.CapacityOperationIsGroup;\r\n\r\n }\r\n if (\r\n oldValue?.CommercialAssigneeId === null ||\r\n oldValue?.CommercialAssigneeId === undefined ||\r\n oldValue?.CommercialAssigneeId === \"\" ||\r\n oldValue?.CommercialAssigneeId === \"null\"\r\n ) {\r\n oldValue.CommercialAssigneeId = obj?.CommercialAssigneeId;\r\n oldValue.CommercialAssigneeIsGroup =\r\n obj?.CommercialAssigneeIsGroup;\r\n }\r\n \r\n if (\r\n oldValue?.CommercialOperationId === null ||\r\n oldValue?.CommercialOperationId === undefined ||\r\n oldValue?.CommercialOperationId === \"\" ||\r\n oldValue?.CommercialOperationId === \"null\"\r\n ) {\r\n oldValue.CommercialOperationId = obj?.CommercialOperationId;\r\n oldValue.CommercialOperationIsGroup =\r\n obj?.CommercialOperationIsGroup;\r\n }\r\n \r\n let NewObj = {\r\n CapacityAssigneeId: oldValue.CapacityAssigneeId,\r\n CapacityAssigneeIsGroup: oldValue.CapacityAssigneeIsGroup,\r\n CapacityOperationId: oldValue.CapacityOperationId,\r\n CapacityOperationIsGroup: oldValue.CapacityOperationIsGroup,\r\n CommercialAssigneeId: oldValue.CommercialAssigneeId,\r\n CommercialAssigneeIsGroup: oldValue.CommercialAssigneeIsGroup,\r\n CommercialOperationId: oldValue.CommercialOperationId,\r\n CommercialOperationIsGroup: oldValue.CommercialOperationIsGroup,\r\n };\r\n setAssignment(NewObj);\r\n }\r\n })\r\n .catch((error) => console.log(\"error\", error));\r\n }\r\n }\r\n\r\n async function NextStatusCancel() {\r\n const noteValue = document.getElementById(\"valueNoteCancel\").value;\r\n\r\n if (noteValue === \"\" || noteValue === undefined || noteValue === null) {\r\n Notification(\"error\", \"please fill cencled note\");\r\n return;\r\n }\r\n\r\n await fetch(`${window.$apiurl}/transload/shipments/addnote/${SO}`, {\r\n method: \"post\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: `{\"body\":\"${noteValue}\",\"CategoryId\":12,\"accessLevelId\":5}`,\r\n })\r\n .then((response) => {\r\n if (response.status !== 200) {\r\n Notification(\"error\", \"Note Note Add\");\r\n }\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n await fetch(`${window.$apiurl}/ShipmentActions/updateSingleStatus`, {\r\n method: \"post\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: `{\"Id\":${SO},\"IsCancel\":true}`,\r\n })\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n const contentType = response.headers.get(\"content-type\");\r\n if (contentType && contentType.indexOf(\"application/json\") !== -1) {\r\n return response.json().then((data) => [statusCode, data]);\r\n } else {\r\n return response.text().then((text) => [statusCode, { Message: \"\" }]);\r\n }\r\n })\r\n .then((result) => {\r\n if (result[0] === 200) {\r\n if (\r\n result[1].Message !== null &&\r\n result[1].Message !== undefined &&\r\n result[1].Message !== \"\"\r\n ) {\r\n Notification(\"infoClick\", result[1].Message);\r\n } else {\r\n if (result[0] === 200) {\r\n Notification(\"success\", \"Cancel SO is successful\");\r\n }\r\n GetSoData(SO);\r\n }\r\n } else {\r\n if (\r\n result[1].Message !== null &&\r\n result[1].Message !== undefined &&\r\n result[1].Message !== \"\"\r\n ) {\r\n Notification(\"errorClick\", result[1].Message);\r\n } else {\r\n Notification(\"errorClick\", \"invalid request\");\r\n }\r\n }\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n document.getElementById(\"valueNoteCancel\").value = \"\";\r\n setShowCancelSOModal(false);\r\n\r\n return;\r\n }\r\n\r\n return (\r\n <Formik\r\n enableReinitialize={true}\r\n initialValues={initProduct}\r\n onSubmit={(values) => {\r\n values.CapacityAssigneeId = assignment.CapacityAssigneeId;\r\n values.CapacityAssigneeIsGroup = assignment.CapacityAssigneeIsGroup;\r\n values.CapacityOperationId = assignment.CapacityOperationId;\r\n values.CapacityOperationIsGroup = assignment.CapacityOperationIsGroup;\r\n values.CommercialAssigneeId = assignment.CommercialAssigneeId;\r\n values.CommercialAssigneeIsGroup = assignment.CommercialAssigneeIsGroup;\r\n values.CommercialOperationId = assignment.CommercialOperationId;\r\n values.CommercialOperationIsGroup =\r\n assignment.CommercialOperationIsGroup;\r\n saveProduct(values);\r\n }}\r\n >\r\n {({ handleSubmit, setFieldValue, values }) => {\r\n function EmailTypeChangedFuction(params) {\r\n switch (params) {\r\n case \"BOL\":\r\n setBodyData(\r\n `<p>Hello,</p><p>Please find Mitco BOL attached, thank you!</p>`\r\n );\r\n setSubjectData(`Mitco BOL Notice: SO # ${SO}`);\r\n setincludBol(true);\r\n setincludOutboundDispatch(false);\r\n setincludShipmentManifest(false);\r\n break;\r\n case \"Rate Confirmation\":\r\n setincludBol(false);\r\n setincludOutboundDispatch(true);\r\n setincludShipmentManifest(false);\r\n if (values?.Vendors.length > 0) {\r\n setBodyData(\r\n `<p>Hello ${\r\n values?.Vendors[0]?.CarrierId === \"\" ||\r\n values?.Vendors[0]?.CarrierId === undefined\r\n ? \"\"\r\n : ViewModelOptions?.Vendors?.filter(\r\n (a) => a.Id === values?.Vendors[0]?.VendorId\r\n )[0]?.Name\r\n },</p><p>Please find Mitco Rate Confirmation attached for Order # ${SO}. Please reply back with confirmation of receipt and acceptance, thank you!</p>`\r\n );\r\n }\r\n\r\n setSubjectData(`Mitco Rate Confirmation: SO # ${SO}`);\r\n break;\r\n case \"Tracking Request\":\r\n setincludBol(false);\r\n setincludOutboundDispatch(false);\r\n setincludShipmentManifest(false);\r\n if (values.Vendors.length > 0) {\r\n var myHeaders = new Headers();\r\n myHeaders.append(\r\n \"Authorization\",\r\n `bearer ${db.read().getState().Token}`\r\n );\r\n\r\n var requestOptions = {\r\n method: \"GET\",\r\n headers: myHeaders,\r\n redirect: \"follow\",\r\n };\r\n\r\n fetch(\r\n `${window.$apiurl}/tms/getemail/${SO}?vendorId=${values.Vendors[0]?.Id}`,\r\n requestOptions\r\n )\r\n .then((response) => response.text())\r\n .then((result) => {\r\n let dataemail = JSON.parse(result);\r\n setToDataDefeault(dataemail?.Emails || []);\r\n setAttachementList(dataemail?.Attachments || []);\r\n setBodyData(\r\n `<p>Hello ${\r\n ViewModelOptions?.Vendors?.filter(\r\n (a) => a.Id === values?.Vendors[0]?.VendorId\r\n )[0].Name\r\n },</p><p>Please reply back with the latest update for the below shipment. Please be sure to include:</p><p><br data-cke-filler=\"true\"></p><p>Current location</p><p>Current ETA</p><p>If delayed, details & cause of delay</p><p><br data-cke-filler=\"true\"></p><p><strong>Shipper</strong>: ${\r\n dataemail?.Shipment?.FromCity !== null\r\n ? dataemail?.Shipment?.FromCity\r\n : \"\"\r\n }/${\r\n dataemail?.Shipment?.FromState !== null\r\n ? dataemail?.Shipment?.FromState\r\n : \"\"\r\n }</p><p><strong>Receiver</strong>: ${\r\n dataemail?.Shipment?.ToCity !== null\r\n ? dataemail?.Shipment?.ToCity\r\n : \"\"\r\n }/${\r\n dataemail?.Shipment?.ToState !== null\r\n ? dataemail?.Shipment?.ToState\r\n : \"\"\r\n }</p><p><strong>Order #</strong>: ${SO}</p><p><br data-cke-filler=\"true\"></p><p>Thank you!</p>`\r\n );\r\n setshowModalSend(true);\r\n })\r\n .catch((error) => console.log(\"error\", error));\r\n }\r\n\r\n setSubjectData(`Mitco Tracking Request: SO # ${SO}`);\r\n break;\r\n default:\r\n setBodyData(\"\");\r\n setSubjectData(\"\");\r\n break;\r\n }\r\n }\r\n function duplicateSo() {\r\n setLoadingDuplicateSo(true);\r\n var myHeaders = new Headers();\r\n myHeaders.append(\r\n \"Authorization\",\r\n `bearer ${db.read().getState().Token}`\r\n );\r\n myHeaders.append(\"Content-Type\", \"application/json\");\r\n\r\n var raw = JSON.stringify({\r\n Id: SO,\r\n });\r\n\r\n var requestOptions = {\r\n method: \"POST\",\r\n headers: myHeaders,\r\n body: raw,\r\n redirect: \"follow\",\r\n };\r\n\r\n fetch(`${window.$apiurl}/tms/ServiceOrders/Duplicate`, requestOptions)\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n const contentType = response.headers.get(\"content-type\");\r\n if (\r\n contentType &&\r\n contentType.indexOf(\"application/json\") !== -1\r\n ) {\r\n return response.json().then((data) => [statusCode, data]);\r\n } else {\r\n return response\r\n .text()\r\n .then((text) => [statusCode, { Message: \"\" }]);\r\n }\r\n })\r\n .then((result) => {\r\n if (result[0] === 200) {\r\n Notification(\r\n \"success\",\r\n `Service Order (${SO}) has been Duplicated successfully`\r\n );\r\n ClickFun(\r\n \"\",\r\n \"/TransportManagementSystems/SoDetail/\",\r\n result[1].Id\r\n );\r\n } else {\r\n if (\r\n result[1].Message !== null &&\r\n result[1].Message !== undefined &&\r\n result[1].Message !== \"\"\r\n ) {\r\n Notification(\"errorClick\", result[1].Message);\r\n } else {\r\n Notification(\"errorClick\", \"Invalid Data\");\r\n }\r\n }\r\n setLoadingDuplicateSo(false);\r\n })\r\n .catch((error) => {\r\n console.log(\"error\", error);\r\n });\r\n }\r\n return (\r\n <>\r\n <DynamicReport\r\n setShowModal={setBol}\r\n showModal={showBol}\r\n id={SO}\r\n title={`BOL Shipment ID#: ${SO}`}\r\n reportContent={<BLFORM id={SO} />}\r\n />\r\n <DynamicReport\r\n setShowModal={setRateConfirmation}\r\n showModal={showDispatchReport}\r\n id={SO}\r\n title={`Rate Confirmation Shipment ID#: ${SO}`}\r\n reportContent={<DRAYAGEFORM id={SO} />}\r\n />\r\n <DynamicReport\r\n setShowModal={setBolMulti}\r\n showModal={showBolMulti}\r\n id={SO}\r\n title={`BOL Multi Shipment ID#: ${SO}`}\r\n reportContent={<BlFormMulti id={SO} />}\r\n />\r\n <DynamicReport\r\n setShowModal={setRateConfirmationMulti}\r\n showModal={showDispatchReportMulti}\r\n id={SO}\r\n title={`Rate Confirmation Multi Shipment ID#: ${SO}`}\r\n reportContent={<RateConfirmationBeta id={SO} />}\r\n />\r\n <Modal\r\n size=\"lg\"\r\n show={ShowCancelSOModal}\r\n aria-labelledby=\"example-modal-sizes-title-lg\"\r\n >\r\n <Modal.Header>\r\n <Modal.Title>\r\n Are you sure that you want to{\" \"}\r\n {initProduct.IsCanceled === true ? \"UnCancel\" : \"Cancel\"} this\r\n Shipment ?\r\n </Modal.Title>\r\n <IconButton\r\n aria-label=\"Close\"\r\n onClick={(e) => {\r\n setShowCancelSOModal(false);\r\n }}\r\n >\r\n <CloseIcon />\r\n </IconButton>\r\n </Modal.Header>\r\n <Modal.Body>\r\n <label>\r\n {initProduct.IsCanceled === true ? \"UnCancel\" : \"Cancel\"}{\" \"}\r\n Confirmation Note\r\n </label>\r\n <textarea\r\n className=\"form-control mb-5\"\r\n rows=\"4\"\r\n id=\"valueNoteCancel\"\r\n ></textarea>\r\n </Modal.Body>\r\n <Modal.Footer>\r\n <button\r\n variant=\"secondary\"\r\n className=\"btn btn-danger btn-elevate\"\r\n onClick={(e) => {\r\n setShowCancelSOModal(false);\r\n }}\r\n >\r\n No\r\n </button>\r\n\r\n <button\r\n variant=\"secondary\"\r\n className=\"btn btn-light btn-elevate ml-5\"\r\n onClick={async (e) => {\r\n await NextStatusCancel();\r\n }}\r\n >\r\n Yes\r\n </button>\r\n </Modal.Footer>\r\n </Modal>\r\n <Modal\r\n show={ShowDeleteSOModal}\r\n aria-labelledby=\"example-modal-sizes-title-lg\"\r\n >\r\n <Modal.Header closeButton>\r\n <Modal.Title id=\"example-modal-sizes-title-lg\">\r\n Service Order Delete\r\n </Modal.Title>\r\n </Modal.Header>\r\n <Modal.Body>\r\n <span>\r\n Are you sure to permanently delete this Service Order?\r\n </span>\r\n </Modal.Body>\r\n <Modal.Footer>\r\n <div>\r\n <button\r\n type=\"button\"\r\n onClick={() => {\r\n setShowDeleteSOModal(false);\r\n }}\r\n className=\"btn btn-light btn-elevate mr-3\"\r\n >\r\n Cancel\r\n </button>\r\n <> </>\r\n <button\r\n type=\"button\"\r\n onClick={() => {\r\n return fetch(\r\n window.$apiurl + `/Tms/ServiceOrders/${SO}`,\r\n {\r\n method: \"delete\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${\r\n db.read().getState().Token\r\n }`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n }\r\n )\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n const contentType = response.headers.get(\r\n \"content-type\"\r\n );\r\n if (\r\n contentType &&\r\n contentType.indexOf(\"application/json\") !== -1\r\n ) {\r\n return response\r\n .json()\r\n .then((data) => [statusCode, data]);\r\n } else {\r\n return response\r\n .text()\r\n .then((text) => [statusCode, { Message: \"\" }]);\r\n }\r\n })\r\n .then((result) => {\r\n if (result[0] === 200) {\r\n Notification(\r\n \"success\",\r\n \"Service Order has been Deleted successfully\"\r\n );\r\n setShowDeleteSOModal(false);\r\n if (\r\n window.TMSEditSOCommingFrom === \"CapacityBoard\"\r\n ) {\r\n document\r\n .getElementById(\"openCapacityBoardPage2\")\r\n .click();\r\n } else {\r\n document.getElementById(\"LoadBoardGrid\").click();\r\n }\r\n\r\n //history.push(`/TransportManagementSystems`);\r\n } else {\r\n if (\r\n result[1].ModelState !== null &&\r\n result[1].ModelState !== undefined &&\r\n result[1].ModelState !== \"\"\r\n ) {\r\n let modelState = result[1].ModelState;\r\n if (modelState)\r\n Object.keys(modelState).forEach(function(k) {\r\n modelState[k].forEach((element) => {\r\n Notification(\"errorClick\", element);\r\n });\r\n });\r\n } else if (\r\n result[1].Message !== null &&\r\n result[1].Message !== undefined &&\r\n result[1].Message !== \"\"\r\n ) {\r\n Notification(\"errorClick\", result[1].Message);\r\n } else {\r\n Notification(\"errorClick\", \"Bad Request\");\r\n }\r\n }\r\n })\r\n .catch((error) => {});\r\n }}\r\n className=\"btn btn-delete btn-danger\"\r\n >\r\n Delete\r\n </button>\r\n </div>\r\n </Modal.Footer>\r\n </Modal>\r\n <Modal\r\n size=\"xl\"\r\n show={ModalActivities}\r\n aria-labelledby=\"example-modal-sizes-title-lg\"\r\n >\r\n <Modal.Header>\r\n <div className=\"row w-100\">\r\n <div className=\"col-lg-6\">\r\n <h3 className=\"font-weight-bolder text-dark\">\r\n SO Activities ID: {values?.Id}\r\n </h3>\r\n </div>\r\n </div>\r\n <IconButton\r\n className=\"MuiButtonBase-root MuiIconButton-root jss179\"\r\n aria-label=\"Close\"\r\n onClick={() => {\r\n setModalActivities(false);\r\n }}\r\n >\r\n <CloseIcon />\r\n </IconButton>\r\n </Modal.Header>\r\n <Modal.Body className=\"overlay-block\">\r\n <ActivityFunction Activitys={values?.Activities || []} />\r\n </Modal.Body>\r\n </Modal>\r\n <Modal\r\n size=\"xl\"\r\n show={showModalSend}\r\n aria-labelledby=\"example-modal-sizes-title-lg\"\r\n >\r\n <Modal.Header>\r\n <Modal.Title id=\"example-modal-sizes-title-lg\">\r\n Shipment Send\r\n </Modal.Title>\r\n <IconButton\r\n className=\"MuiButtonBase-root MuiIconButton-root jss179\"\r\n aria-label=\"Close\"\r\n onClick={() => {\r\n setshowModalSend(false);\r\n }}\r\n >\r\n <CloseIcon />\r\n </IconButton>\r\n </Modal.Header>\r\n <Modal.Body>\r\n <div className=\"col-lg-12\">\r\n <div className=\"row\">\r\n <div className=\"col-lg-12\">\r\n <p className=\"mb-3\">Email Type: </p>\r\n <Select\r\n options={[\r\n { label: \"BOL\", value: \"BOL\" },\r\n {\r\n label: \"Rate Confirmation\",\r\n value: \"Rate Confirmation\",\r\n },\r\n {\r\n label: \"Tracking Request\",\r\n value: \"Tracking Request\",\r\n },\r\n ]}\r\n isClearable\r\n isSearchable\r\n onChange={(e) => {\r\n EmailTypeChangedFuction(e !== null ? e.value : null);\r\n }}\r\n ></Select>\r\n </div>\r\n <div className=\"col-lg-12 mt-5\">\r\n <p className=\"mb-3\">To: </p>\r\n {EmailAddressList && (\r\n <CreatableSelect\r\n isMulti\r\n name=\"To\"\r\n id=\"To\"\r\n value={ToDataDefeault}\r\n options={EmailAddressList}\r\n className=\"basic-multi-select\"\r\n classNamePrefix=\"select\"\r\n onChange={(e) => {\r\n var obj = [];\r\n var objDefeault = [];\r\n if (e) {\r\n e.map((item) => {\r\n obj.push({\r\n Email: item.value,\r\n Name: item.value,\r\n });\r\n objDefeault.push({\r\n value: item.value,\r\n label: item.value,\r\n });\r\n return null;\r\n });\r\n }\r\n setToDataDefeault(objDefeault);\r\n setToData(obj);\r\n }}\r\n />\r\n )}\r\n\r\n <CheckboxLarge\r\n Size=\"12px\"\r\n name=\"includCC\"\r\n text=\"Include me on CC\"\r\n onChange={(event) => {\r\n setincludCCData(event.target.checked);\r\n }}\r\n />\r\n </div>\r\n <div className=\"col-lg-12 mt-5\">\r\n <p className=\"mb-3\">Subject: </p>\r\n <input\r\n name=\"Subject\"\r\n className=\"form-control\"\r\n placeholder=\"Subject\"\r\n value={SubjectData}\r\n onChange={(event) => {\r\n setSubjectData(event.target.value);\r\n }}\r\n />\r\n </div>\r\n <div className=\"col-lg-12 mt-5\">\r\n <p className=\"mb-3\">Body: </p>\r\n\r\n <CKEditor\r\n name=\"Body\"\r\n Id=\"Body\"\r\n label=\"Body\"\r\n editor={ClassicEditor}\r\n config={{\r\n removePlugins: [\r\n \"Image\",\r\n \"ImageCaption\",\r\n \"ImageStyle\",\r\n \"ImageToolbar\",\r\n \"ImageUpload\",\r\n \"MediaEmbed\",\r\n ],\r\n }}\r\n data={BodyData}\r\n onBlur={(event, editor) => {\r\n const data = editor.getData();\r\n setBodyData(data);\r\n }}\r\n />\r\n </div>\r\n <div className=\"col-lg-12\">\r\n <div className=\"row\">\r\n <div className=\"col-lg-12 mt-5\">\r\n <h4>Attachments</h4>\r\n </div>\r\n\r\n {AttachementList?.map((item, index) => {\r\n return (\r\n <div className=\"col-lg-12 row mt-5\">\r\n <div className=\"col-lg-12 row ml-0\">\r\n <CheckboxLarge\r\n Size=\"12px\"\r\n name={`xxxxx${index}`}\r\n value={item.Id}\r\n className=\"ShipmentsAttachmentCheckBox\"\r\n onChange={(event) => {\r\n var obj = AttachmentData;\r\n obj.push(event.target.value);\r\n setAttachmentData(obj);\r\n }}\r\n />\r\n <a\r\n className=\"mt-3\"\r\n target=\"_blank\"\r\n rel=\"noopener noreferrer\"\r\n href={`${item.Path}`}\r\n >\r\n {item.Name}\r\n </a>\r\n </div>\r\n </div>\r\n );\r\n })}\r\n </div>\r\n </div>\r\n <div className=\"col-lg-12\">\r\n <div className=\"row mt-10\">\r\n <div className=\"col-lg-4\">\r\n <p>Add Attachment</p>\r\n <input\r\n id=\"shipmentAttachmentList\"\r\n type=\"file\"\r\n name=\"shipmentAttachmentList\"\r\n //component={Input}\r\n placeholder=\"Add Attachment\"\r\n label=\"Add Attachment\"\r\n />\r\n </div>\r\n <div className=\"col-lg-3\">\r\n <p>Attachment Type</p>\r\n <select\r\n className=\"form-control form-control-sm font-weight-bold mr-4 border-0 bg-light\"\r\n name=\"shipmentAttachmentTypeIdList\"\r\n id=\"shipmentAttachmentTypeIdList\"\r\n label=\"Attachment Type\"\r\n >\r\n {AttachmentTypes.map((item, index) => (\r\n <option key={index} value={item.Id}>\r\n {item.Name}\r\n </option>\r\n ))}\r\n </select>\r\n </div>\r\n <div className=\"col-lg-3\">\r\n <p>Access Level</p>\r\n <select\r\n className=\"form-control form-control-sm font-weight-bold mr-4 border-0 bg-light\"\r\n name=\"shipmentAccessLevelIdList\"\r\n id=\"shipmentAccessLevelIdList\"\r\n label=\"Access Level\"\r\n >\r\n {AccessLevels.map((item, index) => (\r\n <option key={index} value={item.Id}>\r\n {item.Name}\r\n </option>\r\n ))}\r\n </select>\r\n </div>\r\n <div className=\"col-lg-2 mt-8\">\r\n <button\r\n type=\"button\"\r\n onClick={SaveShipementAattachement}\r\n disabled={isLoadingSubmit}\r\n className=\"btn btn-primary btn-elevate\"\r\n >\r\n Save Attachment\r\n {isLoadingSubmit && (\r\n <Spinner\r\n as=\"span\"\r\n animation=\"border\"\r\n size=\"sm\"\r\n role=\"status\"\r\n aria-hidden=\"true\"\r\n />\r\n )}\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </Modal.Body>\r\n <Modal.Footer>\r\n <div>\r\n <button\r\n type=\"button\"\r\n onClick={() => {\r\n setshowModalSend(false);\r\n }}\r\n className=\"btn btn-light btn-elevate\"\r\n >\r\n Cancel\r\n </button>\r\n <> </>\r\n <button\r\n type=\"button\"\r\n onClick={deleteProduct}\r\n disabled={isLoadingSend}\r\n className=\"btn btn-delete btn-primary\"\r\n >\r\n Send Email\r\n {isLoadingSend && (\r\n <Spinner\r\n as=\"span\"\r\n animation=\"border\"\r\n size=\"sm\"\r\n role=\"status\"\r\n aria-hidden=\"true\"\r\n />\r\n )}\r\n </button>\r\n </div>\r\n </Modal.Footer>\r\n </Modal>\r\n <button\r\n className={`btn btn-icon btn-primary btn-hover-primary btnCollapseLeft ${\r\n IsCollapsedBasic ? \"mb-5 collapsedClass\" : \"\"\r\n }`}\r\n onClick={() => {\r\n try {\r\n setIsCollapsedBasic(IsCollapsedBasic ? false : true);\r\n } catch (err) {\r\n console.log(err);\r\n }\r\n }}\r\n >\r\n {IsCollapsedBasic ? (\r\n <i\r\n class=\"fas fa-chevron-right\"\r\n style={{ fontSize: \"13px\" }}\r\n ></i>\r\n ) : (\r\n <i class=\"fas fa-chevron-left\" style={{ fontSize: \"13px\" }}></i>\r\n )}\r\n </button>\r\n <TmsNotesGroup\r\n values={values}\r\n id={SO}\r\n modalNotes={modalNotes}\r\n setmodalNotes={setmodalNotes}\r\n />\r\n <div className=\"row\">\r\n <div\r\n className={`${\r\n IsCollapsedBasic ? \"d-none fade\" : \"col-xl-3\"\r\n } col-lg-3 col-md-4 fade show`}\r\n >\r\n <div className={`row ${IsCollapsedBasic ? \"widthBasic\" : \"\"}`}>\r\n <div className=\"col-xl-12 col-lg-12 col-md-12\">\r\n <Card className=\"bg-transparent shadow-none header-detail mb-2\">\r\n <CardHeader>\r\n <CardHeaderToolbar className=\"pl-0 align-content-top mt-0\">\r\n {!IsCollapsedBasic && (\r\n <Fragment>\r\n <button\r\n type=\"submit\"\r\n disabled={LoadingPost}\r\n className=\"btn btn-primary ml-2\"\r\n onClick={handleSubmit}\r\n >\r\n Save\r\n {LoadingPost && (\r\n <Spinner\r\n as=\"span\"\r\n animation=\"border\"\r\n size=\"sm\"\r\n role=\"status\"\r\n aria-hidden=\"true\"\r\n />\r\n )}\r\n </button>\r\n <button\r\n className=\"btn btn-warning ml-2\"\r\n onClick={() => {\r\n setModalActivities(true);\r\n }}\r\n >\r\n Activities\r\n </button>\r\n <Dropdown\r\n className=\"dropdown-inline position-unset pl-3\"\r\n alignLeft\r\n >\r\n <Dropdown.Toggle\r\n className=\"btn btn-sm btn-icon btn-bg-light\"\r\n variant=\"transparent\"\r\n id=\"dropdown-toggle-top\"\r\n as={DropdownCustomTo}\r\n >\r\n <i className=\"fas fa-cogs text-warning\" />\r\n </Dropdown.Toggle>\r\n <Dropdown.Menu className=\"dropdown-menu dropdown-menu-sm dropdown-menu-right topFixedMenu\">\r\n <ul className=\"navi navi-hover py-5\">\r\n <li className=\"navi-item\">\r\n <a\r\n className=\"navi-link\"\r\n onClick={() => {\r\n setmodalNotes(true);\r\n }}\r\n >\r\n <span className=\"navi-icon\">\r\n <i className=\"fas fa-sticky-note text-primary\"></i>\r\n </span>\r\n <span className=\"navi-text text-primary\">\r\n Notes\r\n </span>\r\n </a>\r\n </li>\r\n {/* <li className=\"navi-item\">\r\n <a\r\n className=\"navi-link\"\r\n onClick={() => {\r\n setRateConfirmation(true);\r\n }}\r\n >\r\n <span className=\"navi-icon\">\r\n <i className=\"fas fa-file-invoice text-info\"></i>\r\n </span>\r\n <span className=\"navi-text text-info\">\r\n Rate Confirmation\r\n </span>\r\n </a>\r\n </li> */}\r\n <li className=\"navi-item\">\r\n <a\r\n className=\"navi-link\"\r\n onClick={() => {\r\n setRateConfirmationMulti(true);\r\n }}\r\n >\r\n <span className=\"navi-icon\">\r\n <i className=\"fas fa-file-invoice text-info\"></i>\r\n </span>\r\n <span className=\"navi-text text-info\">\r\n Rate Confirmation\r\n </span>\r\n </a>\r\n </li>\r\n {/* <li className=\"navi-item\">\r\n <a\r\n className=\"navi-link\"\r\n onClick={() => {\r\n setBol(true);\r\n }}\r\n >\r\n <span className=\"navi-icon\">\r\n <i className=\"fas fa-file-alt text-warning\"></i>\r\n </span>\r\n <span className=\"navi-text text-warning\">\r\n BOL\r\n </span>\r\n </a>\r\n </li> */}\r\n <li className=\"navi-item\">\r\n <a\r\n className=\"navi-link\"\r\n onClick={() => {\r\n setBolMulti(true);\r\n }}\r\n >\r\n <span className=\"navi-icon\">\r\n <i className=\"fas fa-file-alt text-warning\"></i>\r\n </span>\r\n <span className=\"navi-text text-warning\">\r\n BOL\r\n </span>\r\n </a>\r\n </li>\r\n <li className=\"navi-item\">\r\n <a\r\n className=\"navi-link\"\r\n onClick={() => {\r\n setshowModalSend(true);\r\n setincludShipmentManifest(false);\r\n setincludOutboundDispatch(false);\r\n setincludBol(false);\r\n setBodyData(\"\");\r\n setSubjectData(\"\");\r\n }}\r\n >\r\n <span className=\"navi-icon\">\r\n <i className=\"fas fa-envelope text-success\"></i>\r\n </span>\r\n <span className=\"navi-text text-success\">\r\n Send Email\r\n </span>\r\n </a>\r\n </li>\r\n <li className=\"navi-item\">\r\n <a\r\n className=\"navi-link \"\r\n style={{\r\n pointerEvents:\r\n LoadingDuplicateSo && \"none\",\r\n cursor:\r\n LoadingDuplicateSo && \"default\",\r\n }}\r\n onClick={() => {\r\n duplicateSo();\r\n }}\r\n >\r\n <span className=\"navi-icon\">\r\n <i className=\"fas fa-clone text-dark\"></i>\r\n </span>\r\n <span className=\"navi-text text-dark\">\r\n Duplicate SO\r\n </span>\r\n </a>\r\n </li>\r\n {values?.StatusName !== \"New\" && (\r\n <li className=\"navi-item\">\r\n <a\r\n className=\"navi-link\"\r\n onClick={() => {\r\n setShowLoadBidsModal(true);\r\n }}\r\n >\r\n <span className=\"navi-icon\">\r\n <i className=\"fa fa-gavel text-primary\"></i>\r\n </span>\r\n <span className=\"navi-text text-primary\">\r\n Load Bids\r\n </span>\r\n </a>\r\n </li>\r\n )}\r\n <li className=\"navi-item\">\r\n <a\r\n className=\"navi-link\"\r\n onClick={() => {\r\n Swal.fire({\r\n title: \"Are you sure?\",\r\n text: `you want to ${\r\n initProduct.OnHold === true\r\n ? \"Unmake on hold\"\r\n : \"Make on hold\"\r\n } This SO`,\r\n icon: \"warning\",\r\n showCancelButton: true,\r\n confirmButtonColor: \"#3085d6\",\r\n cancelButtonColor: \"#d33\",\r\n confirmButtonText: `Yes, ${\r\n initProduct.OnHold === true\r\n ? \"Unmake on hold\"\r\n : \"make on hold\"\r\n } it!`,\r\n }).then((result) => {\r\n if (result.isConfirmed) {\r\n fetch(\r\n `${window.$apiurl}/tms/ServiceOrders/MakeOnHold`,\r\n {\r\n method: \"post\",\r\n withCredentials: true,\r\n headers: {\r\n Accept:\r\n \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${\r\n db.read().getState().Token\r\n }`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\":\r\n \"application/json\",\r\n },\r\n body: `{\r\n \"Id\": ${SO},\r\n \"OnHold\": ${!initProduct.OnHold}\r\n }`,\r\n }\r\n )\r\n .then((response) => {\r\n if (response.status !== 200) {\r\n Notification(\r\n \"error\",\r\n \"error\"\r\n );\r\n } else {\r\n GetSoData(SO);\r\n Notification(\r\n \"success\",\r\n `SO is ${\r\n initProduct.OnHold ===\r\n true\r\n ? \"UnHold\"\r\n : \"Hold\"\r\n } successfully`\r\n );\r\n }\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n });\r\n }}\r\n >\r\n <span className=\"navi-icon\">\r\n <i className=\"fas fa-times-circle text-warning\"></i>\r\n </span>\r\n <span className=\"navi-text text-warning\">\r\n {initProduct.OnHold === true\r\n ? \"Unmake on hold\"\r\n : \"Make on hold\"}\r\n </span>\r\n </a>\r\n </li>\r\n <li className=\"navi-item\">\r\n <a\r\n className=\"navi-link\"\r\n onClick={() => {\r\n setShowCancelSOModal(true);\r\n }}\r\n >\r\n <span className=\"navi-icon\">\r\n <i className=\"fas fa-times-circle text-danger\"></i>\r\n </span>\r\n <span className=\"navi-text text-danger\">\r\n {initProduct.IsCanceled === true\r\n ? \"UnCancel\"\r\n : \"Cancel\"}\r\n </span>\r\n </a>\r\n </li>\r\n <li className=\"navi-item\">\r\n <a\r\n className=\"navi-link\"\r\n onClick={() => {\r\n setShowDeleteSOModal(true);\r\n }}\r\n >\r\n <span className=\"navi-icon\">\r\n <i className=\"fas fa-trash-alt text-danger\"></i>\r\n </span>\r\n <span className=\"navi-text text-danger\">\r\n Delete\r\n </span>\r\n </a>\r\n </li>\r\n </ul>\r\n </Dropdown.Menu>\r\n </Dropdown>\r\n </Fragment>\r\n )}\r\n </CardHeaderToolbar>\r\n </CardHeader>\r\n </Card>\r\n </div>\r\n <div className=\"col-xl-12 col-lg-12 col-md-12\">\r\n <Card className={`${IsCollapsedBasic ? \"d-none\" : \"\"}`}>\r\n <CardHeader\r\n className=\"border-bottom-0 headerTitleExpand\"\r\n title={!IsCollapsedBasic ? \"Basic Info\" : \"\"}\r\n ></CardHeader>\r\n <CardBody>\r\n <div className={IsCollapsedBasic ? \"d-none\" : \"\"}>\r\n <div className=\"d-flex flex-wrap align-items-center pb-5\">\r\n <div className=\"d-flex flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg\"\r\n >\r\n SO #\r\n </a>\r\n <a className=\"text-parimary font-weight-bold\">\r\n <input\r\n type=\"text\"\r\n className=\"form-control \"\r\n name=\"MOText\"\r\n id=\"SOText\"\r\n value={SO}\r\n disabled\r\n />\r\n </a>\r\n </div>\r\n </div>\r\n <div className=\"d-flex flex-wrap align-items-center pb-5\">\r\n <div className=\"d-flex flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n {inputList !== undefined &&\r\n inputList.map((x, i) => (\r\n <>\r\n <a\r\n href={() => false}\r\n onClick={() => {\r\n setMo(inputList[0]);\r\n }}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg\"\r\n >\r\n MO #\r\n </a>\r\n <div className=\"form-group\">\r\n <div className=\"d-flex align-items-center justify-content-between\">\r\n <div className={`col-11 pl-0`}>\r\n <Select\r\n isSearchable={true}\r\n isClearable\r\n id=\"Proccess\"\r\n label=\"Process#\"\r\n name=\"Process\"\r\n isOptionDisabled={(option) =>\r\n option.disabled === \"yes\"\r\n }\r\n value={ViewModelOptions?.MasterOrders?.filter(\r\n (a) => a === x\r\n ).map((suggestion) => ({\r\n value: suggestion,\r\n label: suggestion,\r\n }))}\r\n options={ViewModelOptions?.MasterOrders?.map(\r\n (suggestion) => {\r\n if (\r\n inputList.filter(\r\n (a) =>\r\n String(a) ===\r\n String(suggestion)\r\n ).length > 0\r\n ) {\r\n return {\r\n value: suggestion,\r\n label: suggestion,\r\n disabled: \"yes\",\r\n };\r\n } else {\r\n return {\r\n value: suggestion,\r\n label: suggestion,\r\n disabled: \"no\",\r\n };\r\n }\r\n }\r\n )}\r\n onChange={handleChangeProccess.bind(\r\n this,\r\n i\r\n )}\r\n />\r\n </div>\r\n\r\n <div className=\"\">\r\n {i === 0 ? (\r\n <button\r\n type=\"button\"\r\n className=\"btn btn-light-success w-40\"\r\n onClick={() => handleAddClick()}\r\n >\r\n <i\r\n className=\"fas fa-plus fa-sm\"\r\n style={{\r\n paddingRight: \"initial\",\r\n }}\r\n ></i>\r\n </button>\r\n ) : (\r\n <button\r\n type=\"button\"\r\n className=\"btn btn-light-danger\"\r\n onClick={() => {\r\n const list = [...inputList];\r\n list.splice(i, 1);\r\n setInputList(list);\r\n }}\r\n >\r\n <i\r\n className=\"fas fa-trash\"\r\n style={{\r\n paddingRight: \"initial\",\r\n }}\r\n ></i>\r\n </button>\r\n )}\r\n </div>\r\n </div>\r\n </div>\r\n </>\r\n ))}\r\n </div>\r\n </div>\r\n <div className=\"d-flex flex-wrap align-items-center pb-5\">\r\n <div className=\"d-flex flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg\"\r\n >\r\n Cust Ref #\r\n </a>\r\n <span className=\"text-muted font-weight-bold\">\r\n <input\r\n type=\"text\"\r\n className=\"form-control\"\r\n name=\"CustomerReferenceNumber\"\r\n id=\"CustomerReferenceNumber\"\r\n value={values.CustomerReferenceNumber}\r\n onChange={(e) => {\r\n setFieldValue(\r\n \"CustomerReferenceNumber\",\r\n e.target.value\r\n );\r\n }}\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n <div className=\"d-flex flex-wrap align-items-center pb-5\">\r\n <div className=\"d-flex flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg\"\r\n >\r\n Customer\r\n </a>\r\n <span className=\"font-weight-bold\">\r\n <Select\r\n isClearable\r\n name=\"CustomerId\"\r\n value={ViewModelOptions?.Customers?.filter(\r\n (a) => a.Id === values.CustomerId\r\n ).map((a) => {\r\n return {\r\n value: a.Id,\r\n label: a.Code + \"-\" + a.Name,\r\n };\r\n })}\r\n options={ViewModelOptions?.Customers.map(\r\n (a) => {\r\n return {\r\n value: a.Id,\r\n label: a.Code + \"-\" + a.Name,\r\n };\r\n }\r\n )}\r\n onChange={async (e) => {\r\n if (e !== null) {\r\n setFieldValue(\"CustomerId\", e.value);\r\n setFieldValue(\r\n \"BillToId\",\r\n ViewModelOptions?.Customers?.filter(\r\n (a) => a.Id === e.value\r\n )[0]?.BillToId\r\n );\r\n } else {\r\n setFieldValue(\"CustomerId\", null);\r\n setFieldValue(\"BillToId\", null);\r\n }\r\n await getAssignment(\r\n {\r\n CustomerId: e?.value ?? null,\r\n ShipperCity: values.ShipperCity,\r\n ShipperState: values.ShipperState,\r\n ConsigneeCity: values.ConsigneeCity,\r\n ConsigneeState: values.ConsigneeState,\r\n ModeId: values.ModeId,\r\n },\r\n initProduct,\r\n true\r\n );\r\n setReloadCalc((y) => y + 1);\r\n }}\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n <div className=\"d-flex flex-wrap align-items-center pb-5\">\r\n <div className=\"d-flex flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg\"\r\n >\r\n Bill To\r\n </a>\r\n <span className=\"font-weight-bold\">\r\n <Select\r\n isClearable\r\n value={ViewModelOptions?.GenericAddresses?.filter(\r\n (a) => a.Id === values.BillToId\r\n ).map((a) => {\r\n return {\r\n value: a.Id,\r\n label: a.Name,\r\n };\r\n })}\r\n options={ViewModelOptions?.GenericAddresses.map(\r\n (a) => {\r\n return {\r\n value: a.Id,\r\n label: a.Name,\r\n };\r\n }\r\n )}\r\n onChange={(e) => {\r\n if (e !== null) {\r\n setFieldValue(\"BillToId\", e.value);\r\n } else {\r\n setFieldValue(\"BillToId\", null);\r\n }\r\n }}\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n <div className=\"d-flex flex-wrap align-items-center pb-5\">\r\n <div className=\"d-flex flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg\"\r\n >\r\n Branch <span className=\"text-danger\">*</span>\r\n </a>\r\n <span className=\"font-weight-bold\">\r\n <Select\r\n isClearable\r\n value={ViewModelOptions?.Warehouses?.filter(\r\n (a) => a.Id === values.WarehouseId\r\n ).map((a) => {\r\n return {\r\n value: a.Id,\r\n label: a.Name,\r\n };\r\n })}\r\n options={ViewModelOptions?.Warehouses.map(\r\n (a) => {\r\n return {\r\n value: a.Id,\r\n label: a.Name,\r\n };\r\n }\r\n )}\r\n onChange={(e) => {\r\n if (e !== null) {\r\n setFieldValue(\"WarehouseId\", e.value);\r\n setFieldValue(\"WarehouseName\", e.label);\r\n } else {\r\n setFieldValue(\"WarehouseId\", null);\r\n setFieldValue(\"WarehouseName\", \"\");\r\n }\r\n }}\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n <div className=\"d-flex flex-wrap align-items-center pb-5\">\r\n <div className=\"d-flex flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg\"\r\n >\r\n Freight Charge\r\n </a>\r\n <span className=\"font-weight-bold\">\r\n <Select\r\n isClearable\r\n value={ViewModelOptions?.FreightCharges?.filter(\r\n (a) => a.Id === values.FreightChargeId\r\n ).map((a) => {\r\n return {\r\n value: a.Id,\r\n label: a.Name,\r\n };\r\n })}\r\n options={ViewModelOptions?.FreightCharges?.map(\r\n (a) => {\r\n return {\r\n value: a.Id,\r\n label: a.Name,\r\n };\r\n }\r\n )}\r\n onChange={(e) => {\r\n if (e !== null) {\r\n setFieldValue(\"FreightChargeId\", e.value);\r\n } else {\r\n setFieldValue(\"FreightChargeId\", null);\r\n }\r\n }}\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n <div className=\"d-flex flex-wrap align-items-center pb-5\">\r\n <div className=\"d-flex flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg\"\r\n >\r\n Shipment Type{\" \"}\r\n <span className=\"text-danger\">*</span>\r\n </a>\r\n <span className=\"font-weight-bold\">\r\n <Select\r\n isClearable\r\n value={ViewModelOptions?.ShipmentTypes?.filter(\r\n (a) =>\r\n String(a.Id) ===\r\n String(values.ShipmentTypeId)\r\n ).map((a) => {\r\n return {\r\n value: a.Id,\r\n label: a.Name,\r\n };\r\n })}\r\n options={ViewModelOptions?.ShipmentTypes?.map(\r\n (a) => {\r\n return {\r\n value: a.Id,\r\n label: a.Name,\r\n };\r\n }\r\n )}\r\n onChange={(e) => {\r\n if (e !== null) {\r\n setFieldValue(\"ShipmentTypeId\", e.value);\r\n } else {\r\n setFieldValue(\"ShipmentTypeId\", null);\r\n }\r\n }}\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n <div className=\"d-flex flex-wrap align-items-center pb-5\">\r\n <div className=\"d-flex flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg\"\r\n >\r\n Shipment Date{\" \"}\r\n <span className=\"text-danger\">*</span>\r\n </a>\r\n <span className=\"text-muted font-weight-bold\">\r\n <TextField\r\n id=\"ShipmentDate\"\r\n type=\"date\"\r\n value={String(\r\n moment(values.ShipmentDate).format(\r\n \"YYYY-MM-DD\"\r\n )\r\n )}\r\n onChange={(e) => {\r\n setFieldValue(\r\n \"ShipmentDate\",\r\n e.target.value\r\n );\r\n }}\r\n className=\"form-control mt-3\"\r\n InputLabelProps={{\r\n shrink: true,\r\n }}\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n <div className=\"d-flex flex-wrap align-items-center pb-5\">\r\n <div className=\"d-flex flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg\"\r\n >\r\n Mode <span className=\"text-danger\">*</span>\r\n </a>\r\n <span className=\"font-weight-bold\">\r\n <Select\r\n name=\"Mode\"\r\n id=\"Mode\"\r\n label=\"Mode\"\r\n inputId=\"react-select-single\"\r\n value={ViewModelOptions?.Modes?.filter(\r\n (a) => a.Id === values.ModeId\r\n ).map((a) => {\r\n return {\r\n value: a.Id,\r\n label: a.Name,\r\n };\r\n })}\r\n options={ViewModelOptions?.Modes.map((a) => {\r\n return {\r\n value: a.Id,\r\n label: a.Name,\r\n };\r\n })}\r\n onChange={(e) => {\r\n setFieldValue(\"ModeId\", e.value);\r\n setFieldValue(\"ModeName\", e.label);\r\n }}\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n <div className=\"d-flex flex-wrap align-items-center pb-5\">\r\n <div className=\"d-flex flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg\"\r\n >\r\n Total Miles\r\n </a>\r\n <span className=\"text-muted font-weight-bold\">\r\n <input\r\n type=\"text\"\r\n className=\"form-control\"\r\n name=\"TotalMiles\"\r\n id=\"TotalMiles\"\r\n disabled={true}\r\n value={values.TotalMiles}\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n {values.ModeName !== \"Intermodal Rail (COFC)\" &&\r\n values.ModeName !== \"Drayage\" && (\r\n <div className=\"d-flex flex-wrap align-items-center pb-5\">\r\n <div className=\"d-flex flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <span className=\"font-weight-bold\">\r\n <CheckboxLargeWB\r\n className=\"font-size-md\"\r\n name=\"IsTeam\"\r\n text=\"Team\"\r\n id=\"IsTeam\"\r\n checked={\r\n values?.IsTeam === true ? true : false\r\n }\r\n onChange={(event) => {\r\n setFieldValue(\r\n \"IsTeam\",\r\n event.target.checked\r\n );\r\n }}\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n )}\r\n </div>\r\n </CardBody>\r\n </Card>\r\n </div>\r\n\r\n <div\r\n className={`${\r\n IsCollapsedBasic ? \"d-none\" : \"\"\r\n } col-xl-12 col-lg-12 col-md-12`}\r\n >\r\n <Card>\r\n <CardHeader\r\n className=\"border-bottom-0\"\r\n title=\"Vendor Details\"\r\n >\r\n <div className=\"separator separator-dashed my-3\"></div>\r\n </CardHeader>\r\n <CardBody className=\"p-0\">\r\n {values?.Vendors?.map((items, indexs) => {\r\n return (\r\n <div className=\"card card-custom gutter-b bg-light mb-5\">\r\n <div class=\"card-header bg-light py-1\">\r\n <div class=\"card-title\">\r\n <h4\r\n class=\"card-label text-truncate opacity-0\"\r\n style={{ maxWidth: \"150px\" }}\r\n >\r\n Vendor Name\r\n </h4>\r\n </div>\r\n <div class=\"card-toolbar\">\r\n <button\r\n type=\"button\"\r\n id={`vendorUp${values?.Id ?? \"\"}${indexs}`}\r\n className={`btn btn-icon btn-sm btn-light-primary mr-1`}\r\n onClick={() => {\r\n var ele = document.getElementById(\r\n `vendor${values?.Id ?? \"\"}${indexs}`\r\n );\r\n if (ele)\r\n ele.scrollIntoView({\r\n behavior: \"smooth\",\r\n block: \"start\",\r\n });\r\n }}\r\n >\r\n <i class=\"fas fa-chevron-down\" />\r\n </button>\r\n <button\r\n type=\"button\"\r\n class={`btn btn-icon btn-sm mr-1 btn-light-${\r\n indexs === 0 ? \"success\" : \"danger\"\r\n } mr-2 btn-sm`}\r\n onClick={() => {\r\n var i = indexs + 1;\r\n if (indexs === 0) {\r\n var array = [\r\n ...values.Vendors,\r\n {\r\n EmptyLocation: \"\",\r\n FreightChargeId: 98,\r\n TruckNumber: \"\",\r\n DriverPhone: \"\",\r\n DriverName: \"\",\r\n ItemVendorId: null,\r\n ContactId: \"\",\r\n Created: \"\",\r\n EnteredBy: \"\",\r\n CarrierId: \"\",\r\n VendorId: \"\",\r\n },\r\n ];\r\n setFieldValue(`Vendors`, array);\r\n } else {\r\n var _arrayobj = JSON.parse(\r\n JSON.stringify(values.Vendors)\r\n ); // 2nd parameter means remove one item only\r\n _arrayobj.splice(indexs, 1);\r\n setFieldValue(`Vendors`, _arrayobj);\r\n }\r\n }}\r\n >\r\n <i\r\n class={`fas ${\r\n indexs === 0 ? \"fa-plus\" : \"fa-times\"\r\n } fa-sm`}\r\n style={{ paddingRight: \"initial\" }}\r\n ></i>\r\n </button>\r\n </div>\r\n </div>\r\n <div className=\"card-body py-0\">\r\n <div className=\"d-flex flex-wrap align-items-center pb-5\">\r\n <div className=\"d-flex flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg\"\r\n >\r\n Vendor\r\n </a>\r\n <span className=\"font-weight-bold\">\r\n <Select\r\n isClearable\r\n name=\"Mode\"\r\n id={`Vendors[${indexs}].VendorId`}\r\n isDisabled={values.ModeName === \"LTL\"}\r\n label={`Vendors[${indexs}].VendorId`}\r\n inputId=\"react-select-single\"\r\n isOptionDisabled={(option) =>\r\n option.disabled === \"yes\"\r\n }\r\n value={ViewModelOptions?.Vendors?.filter(\r\n (a) =>\r\n a.Id ===\r\n values?.Vendors[indexs]?.VendorId\r\n ).map((a) => {\r\n return {\r\n value: a.Id,\r\n label: a.Name,\r\n };\r\n })}\r\n options={ViewModelOptions?.Vendors?.filter(\r\n (a) => a.IsActive\r\n )?.map((suggestion) => {\r\n if (!suggestion.IsActive) {\r\n return {\r\n value: suggestion.Id,\r\n label: suggestion.Name,\r\n disabled: \"yes\",\r\n };\r\n } else {\r\n return {\r\n value: suggestion.Id,\r\n label: suggestion.Name,\r\n disabled: \"no\",\r\n };\r\n }\r\n })}\r\n onChange={(e) => {\r\n if (e !== null) {\r\n setFieldValue(\r\n `Vendors[${indexs}].VendorId`,\r\n e.value\r\n );\r\n try {\r\n const currentVendor = ViewModelOptions?.Vendors?.find(\r\n (x) => x.Id === e.value\r\n );\r\n setFieldValue(\r\n `Vendors[${indexs}].CarrierId`,\r\n currentVendor?.CarrierId\r\n );\r\n setFieldValue(\r\n `Vendors[${indexs}].VendorName`,\r\n currentVendor?.Name\r\n );\r\n } catch (err) {}\r\n } else {\r\n setFieldValue(\r\n `Vendors[${indexs}].VendorId`,\r\n \"\"\r\n );\r\n setFieldValue(\r\n `Vendors[${indexs}].CarrierId`,\r\n \"\"\r\n );\r\n }\r\n console.log(\r\n \"values.Id\",\r\n values?.Vendors[indexs]?.Id\r\n );\r\n setFieldValue(\r\n `Vendors[${indexs}].ItemVendorId`,\r\n values?.Vendors[indexs]?.Id ===\r\n undefined\r\n ? null\r\n : values?.Vendors[indexs]?.Id\r\n );\r\n setReloadCalc((y) => y + 1);\r\n }}\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n <div className=\"d-flex flex-wrap align-items-center pb-5\">\r\n <div className=\"d-flex flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg\"\r\n >\r\n Booked By\r\n </a>\r\n <span className=\"text-muted font-weight-bold\">\r\n <input\r\n type=\"text\"\r\n className=\"form-control\"\r\n name=\"Booked By\"\r\n id=\"BookedBy\"\r\n label=\"Booked By\"\r\n value={\r\n values?.Vendors?.length > 0\r\n ? values?.Vendors[indexs]?.EnteredBy\r\n : \"\"\r\n }\r\n disabled\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n <div className=\"d-flex flex-wrap align-items-center pb-5\">\r\n <div className=\"d-flex flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg\"\r\n >\r\n Booked Date\r\n </a>\r\n <span className=\"text-muted font-weight-bold\">\r\n <input\r\n type=\"text\"\r\n className=\"form-control\"\r\n name=\"Booked By\"\r\n id=\"BookedBy\"\r\n label=\"Booked By\"\r\n value={\r\n values?.Vendors[indexs]?.Created !==\r\n null &&\r\n values?.Vendors[indexs]?.Created !==\r\n \"\" &&\r\n values?.Vendors[indexs]?.Created !==\r\n undefined\r\n ? moment(\r\n values?.Vendors[indexs]?.Created\r\n ).format(\"YYYY-MM-DD hh:mm A\")\r\n : \"\"\r\n }\r\n disabled\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n <div className=\"d-flex flex-wrap align-items-center pb-5\">\r\n <div className=\"d-flex flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg\"\r\n >\r\n Freight Charge\r\n </a>\r\n <span className=\"font-weight-bold\">\r\n <Select\r\n isClearable\r\n name=\"FreightChargeId\"\r\n id={`Vendors[${indexs}].FreightChargeId`}\r\n label={`Vendors[${indexs}].FreightChargeId`}\r\n inputId=\"react-select-single\"\r\n value={ViewModelOptions?.FreightCharges?.filter(\r\n (a) =>\r\n a.Id ===\r\n values?.Vendors[indexs]\r\n ?.FreightChargeId\r\n )?.map((a) => {\r\n return {\r\n value: a.Id,\r\n label: a.Name,\r\n };\r\n })}\r\n options={ViewModelOptions?.FreightCharges?.map(\r\n (a) => {\r\n return {\r\n value: a.Id,\r\n label: a.Name,\r\n };\r\n }\r\n )}\r\n onChange={(e) => {\r\n if (e !== null) {\r\n setFieldValue(\r\n `Vendors[${indexs}].FreightChargeId`,\r\n e.value\r\n );\r\n } else {\r\n setFieldValue(\r\n `Vendors[${indexs}].FreightChargeId`,\r\n null\r\n );\r\n }\r\n }}\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n {values.ModeName !==\r\n \"Intermodal Rail (COFC)\" && (\r\n <>\r\n <div className=\"d-flex flex-wrap align-items-center pb-5\">\r\n <div className=\"d-flex flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg\"\r\n >\r\n Dispatcher\r\n </a>\r\n <span className=\"font-weight-bold\">\r\n <Select\r\n isClearable\r\n name=\"Mode\"\r\n id={`Vendors[${indexs}].ContactId`}\r\n label={`Vendors[${indexs}].ContactId`}\r\n inputId=\"react-select-single\"\r\n value={ViewModelOptions?.Vendors?.filter(\r\n (a) =>\r\n a.Id ===\r\n values?.Vendors[indexs]\r\n ?.VendorId\r\n )[0]\r\n ?.Contacts?.filter(\r\n (a) =>\r\n a.Id ===\r\n values?.Vendors[indexs]\r\n ?.ContactId\r\n )\r\n .map((a) => {\r\n return {\r\n value: a.Id,\r\n label: a.Name,\r\n };\r\n })}\r\n options={ViewModelOptions?.Vendors?.filter(\r\n (a) =>\r\n a.Id ===\r\n values?.Vendors[indexs]\r\n ?.VendorId\r\n )[0]\r\n ?.Contacts?.filter(\r\n (a) => a.IsDispatcher === true\r\n )\r\n .map((a) => {\r\n return {\r\n value: a.Id,\r\n label: a.Name,\r\n };\r\n })}\r\n onChange={(e) => {\r\n if (e !== null) {\r\n setFieldValue(\r\n `Vendors[${indexs}].ContactId`,\r\n e.value\r\n );\r\n } else {\r\n setFieldValue(\r\n `Vendors[${indexs}].ContactId`,\r\n null\r\n );\r\n }\r\n }}\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n {values.ModeName !== \"Drayage\" && (\r\n <>\r\n <div className=\"d-flex flex-wrap align-items-center pb-5\">\r\n <div className=\"d-flex flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg\"\r\n >\r\n Driver Name\r\n </a>\r\n <span className=\"text-muted font-weight-bold\">\r\n <input\r\n type=\"text\"\r\n className=\"form-control\"\r\n name={`Vendors[${indexs}].DriverName`}\r\n id={`Vendors[${indexs}].DriverName`}\r\n label=\"Driver Name\"\r\n value={\r\n values?.Vendors[indexs]\r\n ?.DriverName\r\n }\r\n onChange={(e) => {\r\n setFieldValue(\r\n `Vendors[${indexs}].DriverName`,\r\n e.target.value\r\n );\r\n }}\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n <div className=\"d-flex flex-wrap align-items-center pb-5\">\r\n <div className=\"d-flex flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg\"\r\n >\r\n Driver Phone\r\n </a>\r\n <span className=\"text-muted font-weight-bold\">\r\n <input\r\n type=\"text\"\r\n className=\"form-control\"\r\n name={`Vendors[${indexs}].DriverPhone`}\r\n id={`Vendors[${indexs}].DriverPhone`}\r\n label=\"Driver Phone\"\r\n value={\r\n values?.Vendors[indexs]\r\n ?.DriverPhone\r\n }\r\n onChange={(e) => {\r\n setFieldValue(\r\n `Vendors[${indexs}].DriverPhone`,\r\n e.target.value\r\n );\r\n }}\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n </>\r\n )}\r\n </>\r\n )}\r\n {values.ModeName === \"OTR (Over The Road)\" && (\r\n <div className=\"d-flex flex-wrap align-items-center pb-5\">\r\n <div className=\"d-flex flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg\"\r\n >\r\n Tractor #\r\n </a>\r\n <span className=\"text-muted font-weight-bold\">\r\n <input\r\n type=\"text\"\r\n className=\"form-control\"\r\n name={`Vendors[${indexs}].TruckNumber`}\r\n id={`Vendors[${indexs}].TruckNumber`}\r\n value={\r\n values.Vendors[indexs]?.TruckNumber\r\n }\r\n onChange={(e) => {\r\n setFieldValue(\r\n `Vendors[${indexs}].TruckNumber`,\r\n e.target.value\r\n );\r\n }}\r\n label=\"Tractor\"\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n )}\r\n\r\n {values.ModeName !== \"Intermodal Rail (COFC)\" &&\r\n values.ModeName !== \"Drayage\" && (\r\n <div className=\"d-flex flex-wrap align-items-center pb-5\">\r\n <div className=\"d-flex flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg\"\r\n >\r\n Empty Loc\r\n </a>\r\n <span className=\"text-muted font-weight-bold\">\r\n <input\r\n type=\"text\"\r\n className=\"form-control\"\r\n name={`Vendors[${indexs}].EmptyLocation`}\r\n id={`Vendors[${indexs}].EmptyLocation`}\r\n label=\"Loc\"\r\n value={\r\n values?.Vendors[indexs]\r\n ?.EmptyLocation\r\n }\r\n onChange={(e) => {\r\n setFieldValue(\r\n `Vendors[${indexs}].EmptyLocation`,\r\n e.target.value\r\n );\r\n }}\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n )}\r\n\r\n {indexs === 0 ? (\r\n <>\r\n {values.ModeName ===\r\n \"Intermodal Rail (COFC)\" ? (\r\n <div className=\"d-flex flex-wrap align-items-center pb-5\">\r\n <div className=\"d-flex flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg\"\r\n >\r\n Trailer #\r\n </a>\r\n <span className=\"text-muted font-weight-bold\">\r\n <input\r\n type=\"text\"\r\n className=\"form-control\"\r\n name=\"Equipment\"\r\n id=\"Equipment\"\r\n value={values.Equipment}\r\n onChange={(e) => {\r\n setFieldValue(\r\n \"Equipment\",\r\n e.target.value\r\n );\r\n }}\r\n label=\"Trailer\"\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n ) : (\r\n \"\"\r\n )}\r\n\r\n <div className=\"d-flex flex-wrap align-items-center pb-5\">\r\n <div className=\"d-flex flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg\"\r\n >\r\n PRO #\r\n </a>\r\n <span className=\"text-muted font-weight-bold\">\r\n <input\r\n type=\"text\"\r\n className=\"form-control\"\r\n name=\"ProNumber\"\r\n id=\"ProNumber\"\r\n value={values.ProNumber}\r\n onChange={(e) => {\r\n setFieldValue(\r\n \"ProNumber\",\r\n e.target.value\r\n );\r\n }}\r\n label=\"Pro Number\"\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n\r\n <div className=\"d-flex flex-wrap align-items-center pb-5\">\r\n <div className=\"d-flex flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <CheckboxLargeWB\r\n className=\"font-size-md\"\r\n name=\"MarkEmpty\"\r\n text=\"Mark OFP\"\r\n id=\"MarkEmpty\"\r\n checked={\r\n values?.MarkEmpty === true\r\n ? true\r\n : false\r\n }\r\n onChange={(event) => {\r\n setFieldValue(\r\n \"MarkEmpty\",\r\n event.target.checked\r\n );\r\n }}\r\n />\r\n </div>\r\n </div>\r\n <div className=\"d-flex flex-wrap align-items-center pb-5\">\r\n <div className=\"d-flex flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <CheckboxLargeWB\r\n className=\"font-size-md\"\r\n name=\"VendorConfirmed\"\r\n text=\"Confirmed\"\r\n id=\"VendorConfirmed\"\r\n checked={\r\n values?.VendorConfirmed === true\r\n ? true\r\n : false\r\n }\r\n onChange={(event) => {\r\n setFieldValue(\r\n \"VendorConfirmed\",\r\n event.target.checked\r\n );\r\n }}\r\n />\r\n </div>\r\n </div>\r\n </>\r\n ) : (\r\n <>\r\n {values.ModeName ===\r\n \"Intermodal Rail (COFC)\" ? (\r\n <div className=\"d-flex flex-wrap align-items-center pb-5\">\r\n <div className=\"d-flex flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg\"\r\n >\r\n Trailer #\r\n </a>\r\n <span className=\"text-muted font-weight-bold\">\r\n <input\r\n type=\"text\"\r\n className=\"form-control\"\r\n name={`values.Vendors[${indexs}].Equipment`}\r\n id={`values.Vendors[${indexs}].Equipment`}\r\n value={\r\n values.Vendors[indexs].Equipment\r\n }\r\n onChange={(e) => {\r\n setFieldValue(\r\n `values.Vendors[${indexs}].Equipment`,\r\n e.target.value\r\n );\r\n }}\r\n label=\"Trailer\"\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n ) : (\r\n \"\"\r\n )}\r\n </>\r\n )}\r\n </div>\r\n </div>\r\n );\r\n })}\r\n </CardBody>\r\n </Card>\r\n </div>\r\n <div\r\n className={`${\r\n IsCollapsedBasic ? \"d-none\" : \"\"\r\n } col-xl-12 col-lg-12 col-md-12`}\r\n >\r\n <Card>\r\n <CardHeader\r\n className=\"border-bottom-0\"\r\n title=\"Order Assignments\"\r\n >\r\n <div className=\"separator separator-dashed my-3\"></div>\r\n </CardHeader>\r\n <CardBody>\r\n <div className=\"d-flex flex-wrap align-items-center pb-5\">\r\n <div className=\"d-flex flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg\"\r\n >\r\n Capacity Assignment{\" \"}\r\n <span className=\"text-danger\">*</span>\r\n </a>\r\n <span className=\"font-weight-bold\">\r\n <Select\r\n isClearable\r\n name=\"CapacityAssigneeId\"\r\n id=\"CapacityAssigneeId\"\r\n inputId=\"react-select-single\"\r\n value={ViewModelOptions?.Users?.filter(\r\n (a) =>\r\n a.Id === assignment?.CapacityAssigneeId &&\r\n a.IsGroup ===\r\n (assignment?.CapacityAssigneeIsGroup ===\r\n null\r\n ? false\r\n : assignment?.CapacityAssigneeIsGroup)\r\n ).map((a) => {\r\n return {\r\n value: a.Id,\r\n label: a.Name,\r\n };\r\n })}\r\n options={ViewModelOptions?.Users?.map((a) => {\r\n return {\r\n value: a.Id,\r\n label: a.Name,\r\n IsGroup: a.IsGroup,\r\n };\r\n })}\r\n onChange={(e) => {\r\n let valueAssigment = { ...assignment };\r\n if (e !== null) {\r\n setFieldValue(\r\n \"CapacityAssigneeId\",\r\n e.value\r\n );\r\n valueAssigment.CapacityAssigneeId =\r\n e?.value;\r\n } else {\r\n setFieldValue(\"CapacityAssigneeId\", null);\r\n valueAssigment.CapacityAssigneeId = null;\r\n }\r\n setFieldValue(\r\n \"CapacityAssigneeIsGroup\",\r\n e !== null ? e.IsGroup : null\r\n );\r\n valueAssigment.CapacityAssigneeIsGroup =\r\n e !== null ? e.IsGroup : null;\r\n setAssignment(valueAssigment);\r\n }}\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n <div className=\"d-flex flex-wrap align-items-center pb-5\">\r\n <div className=\"d-flex flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg\"\r\n >\r\n Capacity Operations{\" \"}\r\n <span className=\"text-danger\">*</span>\r\n </a>\r\n <span className=\"font-weight-bold\">\r\n <Select\r\n isClearable\r\n name=\"CapacityOperationId\"\r\n id=\"CapacityOperationId\"\r\n inputId=\"react-select-single\"\r\n value={ViewModelOptions?.Users?.filter(\r\n (a) =>\r\n a.Id === assignment?.CapacityOperationId &&\r\n a.IsGroup ===\r\n (assignment?.CapacityOperationIsGroup ===\r\n null\r\n ? false\r\n : assignment?.CapacityOperationIsGroup)\r\n ).map((a) => {\r\n return {\r\n value: a.Id,\r\n label: a.Name,\r\n };\r\n })}\r\n options={ViewModelOptions?.Users?.map((a) => {\r\n return {\r\n value: a.Id,\r\n label: a.Name,\r\n IsGroup: a.IsGroup,\r\n };\r\n })}\r\n onChange={(e) => {\r\n let valueAssigment = { ...assignment };\r\n if (e !== null) {\r\n setFieldValue(\r\n \"CapacityOperationId\",\r\n e.value\r\n );\r\n valueAssigment.CapacityOperationId =\r\n e?.value;\r\n } else {\r\n setFieldValue(\"CapacityOperationId\", null);\r\n valueAssigment.CapacityOperationId = null;\r\n }\r\n setFieldValue(\r\n \"CapacityOperationIsGroup\",\r\n e !== null ? e.IsGroup : null\r\n );\r\n valueAssigment.CapacityOperationIsGroup =\r\n e !== null ? e.IsGroup : null;\r\n setAssignment(valueAssigment);\r\n }}\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n <div className=\"d-flex flex-wrap align-items-center pb-5\">\r\n <div className=\"d-flex flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg\"\r\n >\r\n Commercial Assignment{\" \"}\r\n <span className=\"text-danger\">*</span>\r\n </a>\r\n <span className=\"font-weight-bold\">\r\n <Select\r\n isClearable\r\n name=\"CommercialAssigneeId\"\r\n id=\"CommercialAssigneeId\"\r\n inputId=\"react-select-single\"\r\n value={ViewModelOptions?.Users?.filter(\r\n (a) =>\r\n a.Id === assignment?.CommercialAssigneeId &&\r\n a.IsGroup ===\r\n (assignment?.CommercialAssigneeIsGroup ===\r\n null\r\n ? false\r\n : assignment?.CommercialAssigneeIsGroup)\r\n ).map((a) => {\r\n return {\r\n value: a.Id,\r\n label: a.Name,\r\n };\r\n })}\r\n options={ViewModelOptions?.Users?.map((a) => {\r\n return {\r\n value: a.Id,\r\n label: a.Name,\r\n IsGroup: a.IsGroup,\r\n };\r\n })}\r\n onChange={(e) => {\r\n let valueAssigment = { ...assignment };\r\n if (e !== null) {\r\n setFieldValue(\r\n \"CommercialAssigneeId\",\r\n e.value\r\n );\r\n valueAssigment.CommercialAssigneeId =\r\n e?.value;\r\n } else {\r\n setFieldValue(\"CommercialAssigneeId\", null);\r\n valueAssigment.CommercialAssigneeId = null;\r\n }\r\n setFieldValue(\r\n \"CommercialAssigneeIsGroup\",\r\n e !== null ? e.IsGroup : null\r\n );\r\n valueAssigment.CommercialAssigneeIsGroup =\r\n e !== null ? e.IsGroup : null;\r\n setAssignment(valueAssigment);\r\n }}\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n <div className=\"d-flex flex-wrap align-items-center pb-5\">\r\n <div className=\"d-flex flex-column flex-grow-1 my-lg-0 my-2 mr-2\">\r\n <a\r\n href={() => false}\r\n className=\"text-dark font-weight-bold text-hover-primary mb-1 font-size-lg\"\r\n >\r\n Commercial Operations{\" \"}\r\n <span className=\"text-danger\">*</span>\r\n </a>\r\n <span className=\"font-weight-bold\">\r\n <Select\r\n isClearable\r\n name=\"CommercialOperationId\"\r\n id=\"CommercialOperationId\"\r\n inputId=\"react-select-single\"\r\n value={ViewModelOptions?.Users?.filter(\r\n (a) =>\r\n a.Id ===\r\n assignment?.CommercialOperationId &&\r\n a.IsGroup ===\r\n (assignment?.CommercialOperationIsGroup ===\r\n null\r\n ? false\r\n : assignment?.CommercialOperationIsGroup)\r\n ).map((a) => {\r\n return {\r\n value: a.Id,\r\n label: a.Name,\r\n };\r\n })}\r\n options={ViewModelOptions?.Users?.map((a) => {\r\n return {\r\n value: a.Id,\r\n label: a.Name,\r\n IsGroup: a.IsGroup,\r\n };\r\n })}\r\n onChange={(e) => {\r\n let valueAssigment = { ...assignment };\r\n if (e !== null) {\r\n setFieldValue(\r\n \"CommercialOperationId\",\r\n e.value\r\n );\r\n valueAssigment.CommercialOperationId =\r\n e?.value;\r\n } else {\r\n setFieldValue(\r\n \"CommercialOperationId\",\r\n null\r\n );\r\n valueAssigment.CommercialOperationId = null;\r\n }\r\n setFieldValue(\r\n \"CommercialOperationIsGroup\",\r\n e !== null ? e.IsGroup : null\r\n );\r\n valueAssigment.CommercialOperationIsGroup =\r\n e !== null ? e.IsGroup : null;\r\n setAssignment(valueAssigment);\r\n }}\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n </CardBody>\r\n </Card>\r\n </div>\r\n </div>\r\n </div>\r\n <div\r\n className={`${\r\n IsCollapsedBasic\r\n ? \"col-xl-12 col-lg-12 col-md-12\"\r\n : \"col-xl-9 col-md-8\"\r\n } col-lg-9 btn-fade`}\r\n >\r\n <ul className=\"sticky-toolbar nav flex-column pl-2 pr-2 pt-3 pb-3 mt-4\">\r\n <OverlayTrigger\r\n placement=\"left\"\r\n overlay={<Tooltip id=\"layout-tooltip\">Back</Tooltip>}\r\n >\r\n <li className=\"nav-item mb-2\" data-placement=\"left\">\r\n <button\r\n type=\"button\"\r\n onClick={() => {\r\n if (\r\n String(window.activeTab)\r\n .toLocaleLowerCase()\r\n .includes(\"CapacityBoard\".toLocaleLowerCase())\r\n ) {\r\n var ele = document.getElementById(\r\n \"openCapacityBoardPage2\"\r\n );\r\n ele.value = inputList[0];\r\n ele.click();\r\n } else if (\r\n String(window.activeTab)\r\n .toLocaleLowerCase()\r\n .includes(\"TrackingBoard\".toLocaleLowerCase())\r\n ) {\r\n var ele2 = document.getElementById(\r\n \"openMODetailPage3\"\r\n );\r\n ele2.value = inputList[0];\r\n ele2.click();\r\n } else {\r\n if (inputList.length > 0) {\r\n if (\r\n inputList[0] !== null &&\r\n inputList[0] !== \"\" &&\r\n inputList[0] !== undefined\r\n ) {\r\n if (\r\n String(window.activeTab)\r\n .toLocaleLowerCase()\r\n .includes(\r\n \"CapacityBoard\".toLocaleLowerCase()\r\n )\r\n ) {\r\n var ele1 = document.getElementById(\r\n \"openMODetailPage2\"\r\n );\r\n ele1.value = inputList[0];\r\n ele1.click();\r\n } else if (\r\n String(window.activeTab)\r\n .toLocaleLowerCase()\r\n .includes(\r\n \"TrackingBoard\".toLocaleLowerCase()\r\n )\r\n ) {\r\n var ele3 = document.getElementById(\r\n \"openTMSDetailPage3\"\r\n );\r\n ele3.value = inputList[0];\r\n ele3.click();\r\n } else {\r\n var ele4 = document.getElementById(\r\n \"openMODetailPage\"\r\n );\r\n if (ele4) {\r\n ele4.value = inputList[0];\r\n ele4.click();\r\n }\r\n }\r\n } else {\r\n setEditModal(false);\r\n }\r\n } else {\r\n setEditModal(false);\r\n }\r\n }\r\n }}\r\n className=\"btn btn-sm btn-icon btn-bg-light\"\r\n >\r\n <i className=\"fa fa-arrow-left\"></i>\r\n </button>\r\n </li>\r\n </OverlayTrigger>\r\n\r\n <OverlayTrigger\r\n placement=\"left\"\r\n overlay={\r\n <Tooltip id=\"documentations-tooltip\">Save</Tooltip>\r\n }\r\n >\r\n <li className=\"nav-item mb-2\" data-placement=\"left\">\r\n <button\r\n type=\"submit\"\r\n disabled={LoadingPost}\r\n className=\"btn btn-sm btn-icon btn-bg-light btn-text-primary btn-hover-primary\"\r\n onClick={handleSubmit}\r\n >\r\n <i class=\"fas fa-save\"></i>\r\n {LoadingPost === true ? (\r\n <Spinner\r\n as=\"span\"\r\n animation=\"border\"\r\n size=\"sm\"\r\n role=\"status\"\r\n aria-hidden=\"true\"\r\n />\r\n ) : (\r\n \"\"\r\n )}\r\n </button>\r\n </li>\r\n </OverlayTrigger>\r\n <OverlayTrigger\r\n placement=\"left\"\r\n overlay={\r\n <Tooltip id=\"documentations-tooltip\">Activities</Tooltip>\r\n }\r\n >\r\n <li className=\"nav-item mb-2\" data-placement=\"left\">\r\n <button\r\n className=\"btn btn-sm btn-icon btn-bg-light btn-text-warning btn-hover-warning\"\r\n onClick={() => {\r\n setModalActivities(true);\r\n }}\r\n >\r\n <i class=\"fas fa-history\"></i>\r\n </button>\r\n </li>\r\n </OverlayTrigger>\r\n\r\n <OverlayTrigger\r\n placement=\"left\"\r\n overlay={\r\n <Tooltip id=\"layout-tooltip\">More Options</Tooltip>\r\n }\r\n >\r\n <li className=\"nav-item mb-2\">\r\n <Dropdown\r\n className=\"dropdown-inline position-unset pt-2\"\r\n alignLeft\r\n drop={\"left\"}\r\n >\r\n <Dropdown.Toggle\r\n className=\"btn btn-icon btn-light-warning btn-hover-warning btn-sm\"\r\n id=\"dropdown-toggle-top\"\r\n as={DropdownCustomTo}\r\n >\r\n <i className=\"fas fa-cogs text-warning\" />\r\n </Dropdown.Toggle>\r\n <Dropdown.Menu className=\"dropdown-menu dropdown-menu-sm dropdown-menu-left topFixedMenu\">\r\n <ul className=\"navi navi-hover py-5\">\r\n <li className=\"navi-item\">\r\n <a\r\n className=\"navi-link\"\r\n onClick={() => {\r\n setmodalNotes(true);\r\n }}\r\n >\r\n <span className=\"navi-icon\">\r\n <i className=\"fas fa-sticky-note text-primary\"></i>\r\n </span>\r\n <span className=\"navi-text text-primary\">\r\n Notes\r\n </span>\r\n </a>\r\n </li>\r\n {/* <li className=\"navi-item\">\r\n <a\r\n className=\"navi-link\"\r\n onClick={() => {\r\n setRateConfirmation(true);\r\n }}\r\n >\r\n <span className=\"navi-icon\">\r\n <i className=\"fas fa-file-invoice text-info\"></i>\r\n </span>\r\n <span className=\"navi-text text-info\">\r\n Rate Confirmation\r\n </span>\r\n </a>\r\n </li> */}\r\n <li className=\"navi-item\">\r\n <a\r\n className=\"navi-link\"\r\n onClick={() => {\r\n setRateConfirmationMulti(true);\r\n }}\r\n >\r\n <span className=\"navi-icon\">\r\n <i className=\"fas fa-file-invoice text-info\"></i>\r\n </span>\r\n <span className=\"navi-text text-info\">\r\n Rate Confirmation\r\n </span>\r\n </a>\r\n </li>\r\n <li className=\"navi-item\">\r\n <a\r\n className=\"navi-link\"\r\n onClick={() => {\r\n setBolMulti(true);\r\n }}\r\n >\r\n <span className=\"navi-icon\">\r\n <i className=\"fas fa-file-alt text-warning\"></i>\r\n </span>\r\n <span className=\"navi-text text-warning\">\r\n BOL\r\n </span>\r\n </a>\r\n </li>\r\n {/* <li className=\"navi-item\">\r\n <a\r\n className=\"navi-link\"\r\n onClick={() => {\r\n setBol(true);\r\n }}\r\n >\r\n <span className=\"navi-icon\">\r\n <i className=\"fas fa-file-alt text-warning\"></i>\r\n </span>\r\n <span className=\"navi-text text-warning\">\r\n BOL\r\n </span>\r\n </a>\r\n </li> */}\r\n <li className=\"navi-item\">\r\n <a\r\n className=\"navi-link\"\r\n onClick={() => {\r\n setshowModalSend(true);\r\n setincludShipmentManifest(false);\r\n setincludOutboundDispatch(false);\r\n setincludBol(false);\r\n setBodyData(\"\");\r\n setSubjectData(\"\");\r\n }}\r\n >\r\n <span className=\"navi-icon\">\r\n <i className=\"fas fa-envelope text-success\"></i>\r\n </span>\r\n <span className=\"navi-text text-success\">\r\n Send Email\r\n </span>\r\n </a>\r\n </li>\r\n <li className=\"navi-item\">\r\n <a\r\n className=\"navi-link \"\r\n style={{\r\n pointerEvents: LoadingDuplicateSo && \"none\",\r\n cursor: LoadingDuplicateSo && \"default\",\r\n }}\r\n onClick={() => {\r\n duplicateSo();\r\n }}\r\n >\r\n <span className=\"navi-icon\">\r\n <i className=\"fas fa-clone text-dark\"></i>\r\n </span>\r\n <span className=\"navi-text text-dark\">\r\n Duplicate SO\r\n </span>\r\n </a>\r\n </li>\r\n {values?.StatusName !== \"New\" && (\r\n <li className=\"navi-item\">\r\n <a\r\n className=\"navi-link\"\r\n onClick={() => {\r\n setShowLoadBidsModal(true);\r\n }}\r\n >\r\n <span className=\"navi-icon\">\r\n <i className=\"fa fa-gavel text-primary\"></i>\r\n </span>\r\n <span className=\"navi-text text-primary\">\r\n Load Bids\r\n </span>\r\n </a>\r\n </li>\r\n )}\r\n <li className=\"navi-item\">\r\n <a\r\n className=\"navi-link\"\r\n onClick={() => {\r\n Swal.fire({\r\n title: \"Are you sure?\",\r\n text: `you want to ${\r\n initProduct.OnHold === true\r\n ? \"Unmake on hold\"\r\n : \"Make on hold\"\r\n } This SO`,\r\n icon: \"warning\",\r\n showCancelButton: true,\r\n confirmButtonColor: \"#3085d6\",\r\n cancelButtonColor: \"#d33\",\r\n confirmButtonText: `Yes, ${\r\n initProduct.OnHold === true\r\n ? \"Unmake on hold\"\r\n : \"Make on hold\"\r\n } it!`,\r\n }).then((result) => {\r\n if (result.isConfirmed) {\r\n fetch(\r\n `${window.$apiurl}/tms/ServiceOrders/MakeOnHold`,\r\n {\r\n method: \"post\",\r\n withCredentials: true,\r\n headers: {\r\n Accept:\r\n \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${\r\n db.read().getState().Token\r\n }`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: `{\r\n \"Id\": ${SO},\r\n \"OnHold\": ${!initProduct.OnHold}\r\n }`,\r\n }\r\n )\r\n .then((response) => {\r\n if (response.status !== 200) {\r\n Notification(\"error\", \"error\");\r\n } else {\r\n GetSoData(SO);\r\n Notification(\r\n \"success\",\r\n `SO is ${\r\n initProduct.OnHold === true\r\n ? \"Unmake on hold\"\r\n : \"Make on hold\"\r\n } successfully`\r\n );\r\n }\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n });\r\n }}\r\n >\r\n <span className=\"navi-icon\">\r\n <i className=\"fas fa-times-circle text-warning\"></i>\r\n </span>\r\n <span className=\"navi-text text-warning\">\r\n {initProduct.OnHold === true\r\n ? \"Unmake on hold\"\r\n : \"Make on hold\"}\r\n </span>\r\n </a>\r\n </li>\r\n <li className=\"navi-item\">\r\n <a\r\n className=\"navi-link\"\r\n onClick={() => {\r\n setShowCancelSOModal(true);\r\n }}\r\n >\r\n <span className=\"navi-icon\">\r\n <i className=\"fas fa-times-circle text-danger\"></i>\r\n </span>\r\n <span className=\"navi-text text-danger\">\r\n {initProduct.IsCanceled === true\r\n ? \"UnCancel\"\r\n : \"Cancel\"}\r\n </span>\r\n </a>\r\n </li>\r\n <li className=\"navi-item\">\r\n <a\r\n className=\"navi-link\"\r\n onClick={() => {\r\n setShowDeleteSOModal(true);\r\n }}\r\n >\r\n <span className=\"navi-icon\">\r\n <i className=\"fas fa-trash-alt text-danger\"></i>\r\n </span>\r\n <span className=\"navi-text text-danger\">\r\n Delete\r\n </span>\r\n </a>\r\n </li>\r\n </ul>\r\n </Dropdown.Menu>\r\n </Dropdown>\r\n </li>\r\n </OverlayTrigger>\r\n </ul>\r\n <button\r\n className={`btn btn-icon btn-primary btn-hover-primary btnCollapseLeft ${\r\n IsCollapsedBasic ? \"mb-5 collapsedClass\" : \"\"\r\n }`}\r\n onClick={() => {\r\n try {\r\n setIsCollapsedBasic(IsCollapsedBasic ? false : true);\r\n } catch (err) {\r\n console.log(err);\r\n }\r\n }}\r\n >\r\n {IsCollapsedBasic ? (\r\n <i\r\n class=\"fas fa-chevron-right\"\r\n style={{ fontSize: \"13px\" }}\r\n ></i>\r\n ) : (\r\n <i\r\n class=\"fas fa-chevron-left\"\r\n style={{ fontSize: \"13px\" }}\r\n ></i>\r\n )}\r\n </button>\r\n <Card className=\"bg-transparent mb-0 shadow-none Service-order\">\r\n {actionsLoading && <ModalProgressBar />}\r\n <CardBody className=\"pt-0 px-0\">\r\n <ul className=\"nav nav-tabs nav-tabs-line \" role=\"tablist\">\r\n <li className=\"nav-item\">\r\n <a\r\n className={`nav-link font-weight-bolder font-size-h6 active`}\r\n data-toggle=\"tab\"\r\n role=\"tab\"\r\n aria-selected={\"basic\".toString()}\r\n >\r\n Service Order\r\n </a>\r\n </li>\r\n </ul>\r\n <div className=\"mt-md-7\">\r\n {values.ModeName !== null &&\r\n values.ModeName !== undefined &&\r\n values.ModeName !== \"\" ? (\r\n <>\r\n {values.ModeName === \"LTL\" ||\r\n values.ModeName === \"Reefer LTL\" ? (\r\n <ServiceOrderLtlDetail\r\n setFieldValue={setFieldValue}\r\n values={values}\r\n carriers={ViewModelOptions?.LtlCarriers}\r\n setVendorPayables={setVendorPayables}\r\n vendorPayables={vendorPayables}\r\n setLoaderSo={setLoaderSo}\r\n setCharges={setCharges}\r\n charges={charges}\r\n ReloadCalc={ReloadCalc}\r\n loaderSo={loaderSo}\r\n actionsLoading={actionsLoading}\r\n product={productForEdit || initProduct}\r\n btnRef={btnRef}\r\n ModeSO={values.ModeName}\r\n SO={SO}\r\n saveProduct={saveProduct}\r\n getAssignment={getAssignment}\r\n initProduct={initProduct}\r\n setinitProduct={setinitProduct}\r\n ViewModelOptions={ViewModelOptions}\r\n GetViewModel={GetViewModel}\r\n GetSoData={GetSoData}\r\n />\r\n ) : (\r\n <ServiceOrderFtlDetail\r\n loaderSoStop={loaderSoStop}\r\n setLoaderSoStop={setLoaderSoStop}\r\n setFieldValue={setFieldValue}\r\n setVendorPayables={setVendorPayables}\r\n vendorPayables={vendorPayables}\r\n setCharges={setCharges}\r\n charges={charges}\r\n ReloadCalc={ReloadCalc}\r\n values={values}\r\n actionsLoading={actionsLoading}\r\n product={productForEdit || initProduct}\r\n btnRef={btnRef}\r\n SO={SO}\r\n saveProduct={saveProduct}\r\n getAssignment={getAssignment}\r\n initProduct={initProduct}\r\n setinitProduct={setinitProduct}\r\n ViewModelOptions={ViewModelOptions}\r\n GetViewModel={GetViewModel}\r\n GetSoData={GetSoData}\r\n setShowLoadBidsModal={setShowLoadBidsModal}\r\n ShowLoadBidsModal={ShowLoadBidsModal}\r\n />\r\n )}\r\n </>\r\n ) : (\r\n <Fragment>\r\n <div\r\n className=\"card mb-md-8\"\r\n style={{ height: \"300px\" }}\r\n >\r\n <div className=\"card-body\">\r\n <Typography variant=\"Error Occured\">\r\n {values.ModeName == null ||\r\n values.ModeName === undefined ||\r\n values.ModeName === \"\" ? (\r\n <Fragment>\r\n <Skeleton\r\n animation=\"wave\"\r\n width=\"100%\"\r\n className=\"mb-5\"\r\n />\r\n <Skeleton\r\n animation=\"wave\"\r\n width=\"100%\"\r\n className=\"mb-5\"\r\n />\r\n <Skeleton\r\n animation=\"wave\"\r\n width=\"100%\"\r\n className=\"mb-5\"\r\n />\r\n <Skeleton\r\n animation=\"wave\"\r\n width=\"100%\"\r\n className=\"mb-5\"\r\n />\r\n <Skeleton\r\n animation=\"wave\"\r\n width=\"100%\"\r\n className=\"mb-5\"\r\n />\r\n </Fragment>\r\n ) : (\r\n \"h1\"\r\n )}\r\n </Typography>\r\n </div>\r\n </div>\r\n <div\r\n className=\"card mb-md-8\"\r\n style={{ height: \"300px\" }}\r\n >\r\n <div className=\"card-body\">\r\n <Typography variant=\"\">\r\n {values.ModeName == null ||\r\n values.ModeName === undefined ||\r\n values.ModeName === \"\" ? (\r\n <Fragment>\r\n <Skeleton\r\n animation=\"wave\"\r\n width=\"100%\"\r\n className=\"mb-5\"\r\n />\r\n <Skeleton\r\n animation=\"wave\"\r\n width=\"100%\"\r\n className=\"mb-5\"\r\n />\r\n <Skeleton\r\n animation=\"wave\"\r\n width=\"100%\"\r\n className=\"mb-5\"\r\n />\r\n <Skeleton\r\n animation=\"wave\"\r\n width=\"100%\"\r\n className=\"mb-5\"\r\n />\r\n <Skeleton\r\n animation=\"wave\"\r\n width=\"100%\"\r\n className=\"mb-5\"\r\n />\r\n </Fragment>\r\n ) : (\r\n \"h1\"\r\n )}\r\n </Typography>\r\n </div>\r\n </div>\r\n <div\r\n className=\"card mb-md-8\"\r\n style={{ height: \"300px\" }}\r\n >\r\n <div className=\"card-body\">\r\n <Typography variant=\"\">\r\n {values.ModeName == null ||\r\n values.ModeName === undefined ||\r\n values.ModeName === \"\" ? (\r\n <Fragment>\r\n <Skeleton\r\n animation=\"wave\"\r\n width=\"100%\"\r\n className=\"mb-5\"\r\n />\r\n <Skeleton\r\n animation=\"wave\"\r\n width=\"100%\"\r\n className=\"mb-5\"\r\n />\r\n <Skeleton\r\n animation=\"wave\"\r\n width=\"100%\"\r\n className=\"mb-5\"\r\n />\r\n <Skeleton\r\n animation=\"wave\"\r\n width=\"100%\"\r\n className=\"mb-5\"\r\n />\r\n <Skeleton\r\n animation=\"wave\"\r\n width=\"100%\"\r\n className=\"mb-5\"\r\n />\r\n </Fragment>\r\n ) : (\r\n \"h1\"\r\n )}\r\n </Typography>\r\n </div>\r\n </div>\r\n <div\r\n className=\"card mb-md-8\"\r\n style={{ height: \"300px\" }}\r\n >\r\n <div className=\"card-body\">\r\n <Typography variant=\"\">\r\n {values.ModeName == null ||\r\n values.ModeName === undefined ||\r\n values.ModeName === \"\" ? (\r\n <Fragment>\r\n <Skeleton\r\n animation=\"wave\"\r\n width=\"100%\"\r\n className=\"mb-5\"\r\n />\r\n <Skeleton\r\n animation=\"wave\"\r\n width=\"100%\"\r\n className=\"mb-5\"\r\n />\r\n <Skeleton\r\n animation=\"wave\"\r\n width=\"100%\"\r\n className=\"mb-5\"\r\n />\r\n <Skeleton\r\n animation=\"wave\"\r\n width=\"100%\"\r\n className=\"mb-5\"\r\n />\r\n <Skeleton\r\n animation=\"wave\"\r\n width=\"100%\"\r\n className=\"mb-5\"\r\n />\r\n </Fragment>\r\n ) : (\r\n \"h1\"\r\n )}\r\n </Typography>\r\n </div>\r\n </div>\r\n </Fragment>\r\n )}\r\n </div>\r\n </CardBody>\r\n </Card>\r\n <Card\r\n className=\"bg-transparent mt-0 shadow-none header-detail\"\r\n style={{ float: \"right\" }}\r\n >\r\n <CardHeader>\r\n <CardHeaderToolbar className=\"pl-0 align-content-end\">\r\n <button\r\n type=\"submit\"\r\n disabled={LoadingPost}\r\n className=\"btn btn-primary ml-2\"\r\n onClick={handleSubmit}\r\n >\r\n Save\r\n {LoadingPost && (\r\n <Spinner\r\n as=\"span\"\r\n animation=\"border\"\r\n size=\"sm\"\r\n role=\"status\"\r\n aria-hidden=\"true\"\r\n />\r\n )}\r\n </button>\r\n <button\r\n className=\"btn btn-warning ml-2\"\r\n onClick={() => {\r\n setModalActivities(true);\r\n }}\r\n >\r\n Activities\r\n </button>\r\n </CardHeaderToolbar>\r\n </CardHeader>\r\n </Card>\r\n </div>\r\n </div>\r\n </>\r\n );\r\n }}\r\n </Formik>\r\n );\r\n}\r\n","/* eslint-disable */\r\n\"use strict\";\r\n\r\nimport { KTUtil } from \"./util\";\r\n\r\n// Component Definition\r\nvar KTOffcanvas = function(elementId, options) {\r\n // Main object\r\n var the = this;\r\n var init = false;\r\n\r\n // Get element object\r\n var element = KTUtil.getById(elementId);\r\n var body = KTUtil.getBody();\r\n\r\n if (!element) {\r\n return;\r\n }\r\n\r\n // Default options\r\n var defaultOptions = {\r\n customClass: ''\r\n };\r\n\r\n ////////////////////////////\r\n // ** Private Methods ** //\r\n ////////////////////////////\r\n\r\n var Plugin = {\r\n construct: function(options) {\r\n if (KTUtil.data(element).has('offcanvas')) {\r\n the = KTUtil.data(element).get('offcanvas');\r\n } else {\r\n // Reset offcanvas\r\n Plugin.init(options);\r\n\r\n // Build offcanvas\r\n Plugin.build();\r\n\r\n KTUtil.data(element).set('offcanvas', the);\r\n }\r\n\r\n return the;\r\n },\r\n\r\n init: function(options) {\r\n the.events = [];\r\n\r\n // merge default and user defined options\r\n the.options = KTUtil.deepExtend({}, defaultOptions, options);\r\n\r\n the.classBase = the.options.baseClass;\r\n the.classCustom = the.options.customClass;\r\n the.classShown = the.classBase + '-on';\r\n the.classOverlay = the.classBase + '-overlay';\r\n the.target;\r\n\r\n the.state = KTUtil.hasClass(element, the.classShown) ? 'shown' : 'hidden';\r\n },\r\n\r\n build: function() {\r\n // offcanvas toggle\r\n if (the.options.toggleBy) {\r\n if (typeof the.options.toggleBy === 'string') {\r\n KTUtil.addEvent(KTUtil.getById(the.options.toggleBy), 'click', function(e) {\r\n e.preventDefault();\r\n the.target = this;\r\n Plugin.toggle();\r\n });\r\n } else if (the.options.toggleBy && the.options.toggleBy[0]) {\r\n if (the.options.toggleBy[0].target) {\r\n for (var i in the.options.toggleBy) {\r\n KTUtil.addEvent(KTUtil.getById(the.options.toggleBy[i].target), 'click', function(e) {\r\n e.preventDefault();\r\n the.target = this;\r\n Plugin.toggle();\r\n });\r\n }\r\n } else {\r\n for (var i in the.options.toggleBy) {\r\n KTUtil.addEvent(KTUtil.getById(the.options.toggleBy[i]), 'click', function(e) {\r\n e.preventDefault();\r\n the.target = this;\r\n Plugin.toggle();\r\n });\r\n }\r\n }\r\n\r\n } else if (the.options.toggleBy && the.options.toggleBy.target) {\r\n KTUtil.addEvent( KTUtil.getById(the.options.toggleBy.target), 'click', function(e) {\r\n e.preventDefault();\r\n the.target = this;\r\n Plugin.toggle();\r\n });\r\n }\r\n }\r\n\r\n // offcanvas close\r\n var closeBy = KTUtil.getById(the.options.closeBy);\r\n if (closeBy) {\r\n KTUtil.addEvent(closeBy, 'click', function(e) {\r\n e.preventDefault();\r\n the.target = this;\r\n Plugin.hide();\r\n });\r\n }\r\n },\r\n\r\n isShown: function() {\r\n return (the.state == 'shown' ? true : false);\r\n },\r\n\r\n toggle: function() {;\r\n Plugin.eventTrigger('toggle');\r\n\r\n if (the.state == 'shown') {\r\n Plugin.hide();\r\n } else {\r\n Plugin.show();\r\n }\r\n },\r\n\r\n show: function() {\r\n if (the.state == 'shown') {\r\n return;\r\n }\r\n\r\n Plugin.eventTrigger('beforeShow');\r\n\r\n Plugin.toggleClass('show');\r\n\r\n // Offcanvas panel\r\n KTUtil.addClass(body, the.classShown);\r\n KTUtil.addClass(element, the.classShown);\r\n\r\n if (the.classCustom.length > 0) {\r\n KTUtil.addClass(body, the.classCustom);\r\n }\r\n\r\n the.state = 'shown';\r\n\r\n if (the.options.overlay) {\r\n the.overlay = KTUtil.insertAfter(document.createElement('DIV') , element );\r\n KTUtil.addClass(the.overlay, the.classOverlay);\r\n\r\n KTUtil.addEvent(the.overlay, 'click', function(e) {\r\n e.stopPropagation();\r\n e.preventDefault();\r\n Plugin.hide(the.target);\r\n });\r\n }\r\n\r\n Plugin.eventTrigger('afterShow');\r\n },\r\n\r\n hide: function() {\r\n if (the.state == 'hidden') {\r\n return;\r\n }\r\n\r\n Plugin.eventTrigger('beforeHide');\r\n\r\n Plugin.toggleClass('hide');\r\n\r\n KTUtil.removeClass(body, the.classShown);\r\n KTUtil.addClass(body, the.classPush);\r\n KTUtil.removeClass(element, the.classShown);\r\n\r\n if (the.classCustom.length > 0) {\r\n KTUtil.removeClass(body, the.classCustom);\r\n }\r\n\r\n the.state = 'hidden';\r\n\r\n if (the.options.overlay && the.overlay) {\r\n KTUtil.remove(the.overlay);\r\n }\r\n\r\n Plugin.eventTrigger('afterHide');\r\n },\r\n\r\n toggleClass: function(mode) {\r\n var id = KTUtil.attr(the.target, 'id');\r\n var toggleBy;\r\n\r\n if (the.options.toggleBy && the.options.toggleBy[0] && the.options.toggleBy[0].target) {\r\n for (var i in the.options.toggleBy) {\r\n if (the.options.toggleBy[i].target === id) {\r\n toggleBy = the.options.toggleBy[i];\r\n }\r\n }\r\n } else if (the.options.toggleBy && the.options.toggleBy.target) {\r\n toggleBy = the.options.toggleBy;\r\n }\r\n\r\n if (toggleBy) {\r\n var el = KTUtil.getById(toggleBy.target);\r\n\r\n if (mode === 'show') {\r\n KTUtil.addClass(el, toggleBy.state);\r\n }\r\n\r\n if (mode === 'hide') {\r\n KTUtil.removeClass(el, toggleBy.state);\r\n }\r\n }\r\n },\r\n\r\n eventTrigger: function(name, args) {\r\n for (var i = 0; i < the.events.length; i++) {\r\n var event = the.events[i];\r\n if (event.name == name) {\r\n if (event.one == true) {\r\n if (event.fired == false) {\r\n the.events[i].fired = true;\r\n return event.handler.call(this, the, args);\r\n }\r\n } else {\r\n return event.handler.call(this, the, args);\r\n }\r\n }\r\n }\r\n },\r\n\r\n addEvent: function(name, handler, one) {\r\n the.events.push({\r\n name: name,\r\n handler: handler,\r\n one: one,\r\n fired: false\r\n });\r\n }\r\n };\r\n\r\n //////////////////////////\r\n // ** Public Methods ** //\r\n //////////////////////////\r\n\r\n /**\r\n * Set default options\r\n * @param options\r\n */\r\n the.setDefaults = function(options) {\r\n defaultOptions = options;\r\n };\r\n\r\n /**\r\n * Check if canvas is shown\r\n * @returns {boolean}\r\n */\r\n the.isShown = function() {\r\n return Plugin.isShown();\r\n };\r\n\r\n /**\r\n * Set to hide the canvas\r\n */\r\n the.hide = function() {\r\n return Plugin.hide();\r\n };\r\n\r\n /**\r\n * Set to show the canvas\r\n */\r\n the.show = function() {\r\n return Plugin.show();\r\n };\r\n\r\n /**\r\n * Attach event\r\n * @param name\r\n * @param handler\r\n */\r\n the.on = function(name, handler) {\r\n return Plugin.addEvent(name, handler);\r\n };\r\n\r\n /**\r\n * Attach event that will be fired once\r\n * @param name\r\n * @param handler\r\n */\r\n the.one = function(name, handler) {\r\n return Plugin.addEvent(name, handler, true);\r\n };\r\n\r\n ///////////////////////////////\r\n // ** Plugin Construction ** //\r\n ///////////////////////////////\r\n\r\n // Run plugin\r\n Plugin.construct.apply(the, [options]);\r\n\r\n // Init done\r\n init = true;\r\n\r\n // Return plugin instance\r\n return the;\r\n};\r\n\r\n// webpack support\r\nif (typeof module !== 'undefined' && typeof module.exports !== 'undefined') {\r\n // module.exports = KTOffcanvas;\r\n}\r\n\r\nexport default KTOffcanvas;","import { IconButton } from \"@material-ui/core\";\r\nimport React from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport CloseIcon from \"@material-ui/icons/Close\";\r\nexport default function DynamicReport({\r\n showModal,\r\n setShowModal,\r\n id,\r\n title,\r\n reportContent\r\n}) {\r\n return (\r\n <Modal\r\n id=\"modalReports\"\r\n size=\"xl\"\r\n show={showModal}\r\n fullscreen={true}\r\n onHide={() => {\r\n setShowModal(false);\r\n }}\r\n aria-labelledby=\"example-modal-sizes-title-lg\"\r\n >\r\n <Modal.Header>\r\n <div className=\"row w-100\">\r\n <div className=\"col-lg-6\">\r\n <h3 className=\"font-weight-bolder text-dark\">Preview {title}</h3>\r\n </div>\r\n </div>\r\n <IconButton\r\n \r\n aria-label=\"Close\"\r\n onClick={() => {\r\n setShowModal(false);\r\n }}\r\n >\r\n <CloseIcon />\r\n </IconButton>\r\n </Modal.Header>\r\n <Modal.Body className=\"modalReportBody\">{reportContent}</Modal.Body>\r\n <Modal.Footer>\r\n <button\r\n type=\"button\"\r\n onClick={() => {\r\n setShowModal(false);\r\n }}\r\n className=\"btn btn-light btn-elevate\"\r\n >\r\n Close\r\n </button>\r\n </Modal.Footer>\r\n </Modal>\r\n );\r\n}","import low from \"lowdb\";\r\nimport LocalStorage from \"lowdb/adapters/LocalStorage\";\r\nimport React, { Fragment, useRef } from \"react\";\r\nimport { Helmet } from \"react-helmet\";\r\nimport { useReactToPrint } from \"react-to-print\";\r\nimport {\r\n currencyFormat,\r\n momentDateOnly,\r\n momentTime\r\n} from \"../../../_metronic/_helpers/ATHelpers\";\r\nimport { CheckboxLargeWB } from \"../../../_metronic/_partials/controls\";\r\nimport { Notification } from \"../../modules/Notification\";\r\nimport { CheckboxLargeWBFob } from \"./CheckboxLargeWBFob\";\r\n\r\nconst adapter = new LocalStorage(\"db\");\r\nconst db = low(adapter);\r\nfunction IsValidAddress(str, isFirstItem) {\r\n if (str === null || str === undefined || str === \"\") {\r\n return \"\";\r\n } else {\r\n return isFirstItem === true ? str : \", \" + str;\r\n }\r\n}\r\nfunction formatDate(date) {\r\n if (date) {\r\n var d = new Date(date),\r\n month = \"\" + (d.getMonth() + 1),\r\n day = \"\" + d.getDate(),\r\n year = d.getFullYear();\r\n\r\n if (month.length < 2) month = \"0\" + month;\r\n if (day.length < 2) day = \"0\" + day;\r\n\r\n const result = [month, day, year].join(\"-\");\r\n if (result !== \"NaN/NaN/NaN\") {\r\n return result;\r\n } else {\r\n return \"--/--/----\";\r\n }\r\n } else {\r\n return \"--/--/----\";\r\n }\r\n}\r\n\r\nclass ComponentToPrint extends React.Component {\r\n constructor() {\r\n super();\r\n var obj = {\r\n Carriers: [],\r\n Items: [],\r\n };\r\n this.state = { data: obj , stops : [] };\r\n }\r\n\r\n async componentDidMount() {\r\n await fetch(window.$apiurl + \"/ShipmentBilling/BOLV2/\" + this.props.id, {\r\n method: \"get\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n if (statusCode !== 200) {\r\n Notification(\"error\", \"No data found !\");\r\n }\r\n const json = await response.json();\r\n this.setState({ data: json?.ViewModel , stops : json?.Stops});\r\n })\r\n .then((res) => {\r\n return res[1];\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n render() {\r\n const formData = this.state.data;\r\n const stopsItems = this.state.stops;\r\n if (formData.IsHeavy) {\r\n Notification(\"warning\", \"This Load is Heavy\");\r\n }\r\n //Freight\r\n if (formData.FreightChargesterms === \"Prepaid\") {\r\n document.getElementById(\"PrepaidCheck\").checked = true;\r\n }\r\n if (formData.FreightChargesterms === \"Collect\") {\r\n document.getElementById(\"CollectCheck\").checked = true;\r\n }\r\n if (formData.FreightChargesterms === \"Third Party Billing\") {\r\n document.getElementById(\"PartyCheck\").checked = true;\r\n }\r\n return (\r\n <>\r\n <Helmet>\r\n <title>eMPower | BILL OF LADING \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n false} class=\"mb-5 max-w-100px\">\r\n \r\n \r\n \r\n \r\n {/* \r\n Cecilia Chapman, 711-2880 Nulla St, Mankato\r\n Mississippi 96522\r\n */}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {/* First Data */}\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {\" \"}\r\n {formData.PuAppointment && (\r\n <>\r\n PickupAppointment Date:{\" \"}\r\n {momentDateOnly(formData.PuAppointment)}{\" \"}\r\n {`(${momentTime(formData.PuAppointment)} -\r\n ${momentTime(formData.PuAppointmentTo)})`}\r\n \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {\" \"}\r\n {formData.AppointmentDate && (\r\n <>\r\n Appointment Date :{\" \"}\r\n {momentDateOnly(formData.AppointmentDate)}{\" \"}\r\n {`(${momentTime(formData.AppointmentDate)} -\r\n ${momentTime(formData.AppointmentDateTo)})`}\r\n \r\n )}\r\n \r\n \r\n \r\n \r\n
    \r\n {\" \"}\r\n Date: {formatDate(formData.BOLDate)}\r\n \r\n BILL OF LADING\r\n \r\n Page\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Bill of Lading Number:\r\n \r\n {formData.BolNumber}\r\n {\" \"}\r\n

    \r\n Customer Ref # :\r\n \r\n {formData.CustomerRefNumber}\r\n {\" \"}\r\n



    \r\n

    \r\n \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n SHIP FROM\r\n
    \r\n Name:{\" \"}\r\n \r\n {formData.ShipFromAddress?.Name}\r\n \r\n
    \r\n Address:{\" \"}\r\n \r\n {formData.ShipFromAddress?.Street}\r\n \r\n
    \r\n City/State/Zip:{\" \"}\r\n \r\n {IsValidAddress(\r\n formData.ShipFromAddress?.City?.replace(\r\n / /g,\r\n \"\"\r\n ),\r\n true\r\n ) +\r\n IsValidAddress(\r\n formData.ShipFromAddress?.State,\r\n false\r\n ) +\r\n IsValidAddress(\r\n formData.ShipFromAddress?.ZipCode,\r\n false\r\n )}\r\n \r\n
    \r\n Phone:{\" \"}\r\n \r\n {formData.ShipFromAddress?.Phone}\r\n \r\n
    \r\n SID#:{\" \"}\r\n \r\n {formData?.ShippersRefNo}\r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n SHIP TO{\" \"}\r\n
    \r\n Name:{\" \"}\r\n \r\n {formData.ShipToAddress?.Name}\r\n \r\n \r\n CARRIER NAME:{\" \"}\r\n \r\n {formData.Carriers?.length > 0 &&\r\n formData.Carriers?.length > 0\r\n ? formData.Carriers[0]?.CompanyName\r\n : \"\"}\r\n \r\n
    \r\n Address:{\" \"}\r\n \r\n {formData.ShipToAddress?.Street}\r\n \r\n \r\n Trailer number:{\" \"}\r\n \r\n {formData.EquipmentIdNumber}\r\n \r\n
    \r\n City/State/Zip:{\" \"}\r\n \r\n {IsValidAddress(\r\n formData.ShipToAddress?.City?.replace(\r\n / /g,\r\n \"\"\r\n ),\r\n true\r\n ) +\r\n IsValidAddress(\r\n formData.ShipToAddress?.State,\r\n false\r\n ) +\r\n IsValidAddress(\r\n formData.ShipToAddress?.ZipCode,\r\n false\r\n )}\r\n \r\n \r\n Seal number(s):{\" \"}\r\n \r\n {formData.SealNumber}\r\n \r\n
    \r\n Phone:{\" \"}\r\n \r\n {formData.ShipToAddress?.Phone}\r\n \r\n \r\n SCAC:{\" \"}\r\n \r\n {formData.Carriers?.length > 0\r\n ? formData.Carriers[0]?.SCAC\r\n : \"\"}\r\n \r\n
    Location#: \r\n Pro number:{\" \"}\r\n \r\n {formData.ProNumber !== null &&\r\n formData.ProNumber !== undefined &&\r\n formData.ProNumber !== \"\"\r\n ? formData.ProNumber\r\n : this.props.id}\r\n \r\n
    \r\n CID#:{\" \"}\r\n \r\n {formData?.ConsigneRefNo}\r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n THIRD PARTY FREIGHT CHARGES BILL TO:{\" \"}\r\n
    \r\n Name:{\" \"}\r\n \r\n {formData.ThirdPartyAddress?.Name}\r\n \r\n \r\n Freight Charge Terms:

    \r\n \r\n (freight charges are prepaid unless marked\r\n collect)\r\n \r\n

    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n Address:{\" \"}\r\n \r\n {formData.ThirdPartyAddress?.Street}\r\n \r\n
    \r\n City/State/Zip:{\" \"}\r\n \r\n {IsValidAddress(\r\n formData.ThirdPartyAddress?.City?.replace(\r\n / /g,\r\n \"\"\r\n ),\r\n true\r\n ) +\r\n IsValidAddress(\r\n formData.ThirdPartyAddress?.State,\r\n false\r\n ) +\r\n IsValidAddress(\r\n formData.ThirdPartyAddress?.ZipCode,\r\n false\r\n )}\r\n \r\n
    \r\n Phone:{\" \"}\r\n \r\n {formData.ThirdPartyAddress?.Phone}\r\n \r\n
    \r\n SPECIAL INSTRUCTIONS:{\" \"}\r\n

    \r\n {formData.Carriers?.length > 0 &&\r\n (formData.Carriers[0]?.SpecialInstructions ===\r\n null\r\n ? \"\"\r\n : formData.Carriers[0]\r\n ?.SpecialInstructions)}\r\n

    \r\n \r\n {formData.HZName !== null\r\n ? formData.HZName !== false\r\n ? formData.HZName\r\n : \"\"\r\n : \"\"}\r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n {/*
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n PALLET/SLIP\r\n \r\n \r\n \r\n {formData.CustomerORders?.length > 0 &&\r\n formData.CustomerORders &&\r\n formData.CustomerORders?.map((item, index) => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ))}\r\n {formData.CustomerORders?.length > 0 && (\r\n \r\n \r\n GRAND TOTAL\r\n \r\n \r\n \r\n \r\n )}\r\n \r\n
    \r\n CUSTOMER ORDER INFORMATION\r\n
    \r\n CUSTOMER ORDER NUMBER{\" \"}\r\n \r\n # PKGS{\" \"}\r\n \r\n WEIGHT\r\n \r\n ADDITIONAL SHIPPER INFO\r\n
    \r\n {item.CustomerOrderNUmber}\r\n \r\n {(item.PKGS !== null &&\r\n item.PKGS !== undefined\r\n ? item.PKGS\r\n : \"\") +\r\n \" \" +\r\n (item.PKGSType || \"\")}\r\n \r\n {(item.Weight !== null &&\r\n item.Weight !== undefined\r\n ? item.Weight.toFixed(2)\r\n : \"\") +\r\n \" \" +\r\n (item.WeightType !== null &&\r\n item.WeightType !== undefined\r\n ? item.WeightType\r\n : \"\")}\r\n \r\n \r\n \r\n \r\n
    \r\n {formData.TotalPKGS === undefined\r\n ? \"\"\r\n : formData.TotalPKGS +\r\n \" \" +\r\n (formData.CustomerORders?.length > 0 &&\r\n (formData.CustomerORders[0]?.PKGSType !==\r\n null\r\n ? formData.CustomerORders[0]?.PKGSType\r\n : \"\"))}\r\n \r\n {formData.TotalOrderWeight === undefined\r\n ? \"\"\r\n : formData.TotalOrderWeight.toFixed(2) +\r\n \" \" +\r\n (formData.CustomerORders?.length > 0 &&\r\n (formData.CustomerORders[0]\r\n ?.WeightType !== null\r\n ? formData.CustomerORders[0]?.WeightType\r\n : \"\"))}\r\n
    \r\n
    \r\n
    */}\r\n
    \r\n
    \r\n {formData.CustomerId === 2271 &&\r\n formData.IsTransportation === false &&\r\n formData.PalletCount !== null ? (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ITEM NO\r\n \r\n \r\n PACKAGE{\" \"}\r\n \r\n \r\n WEIGHT (LBS)\r\n \r\n \r\n H.M.(X)\r\n \r\n \r\n COMMODITY DESCRIPTION

    \r\n \r\n Commodities requiring special or additional\r\n care or attention in handling or stowing{\" \"}\r\n \r\n

    \r\n \r\n must be so marked and packaged as to ensure\r\n safe transportation with ordinary care.{\" \"}\r\n \r\n

    \r\n \r\n See Section 2(e) of NMFC Item 360\r\n \r\n \r\n \r\n LTL ONLY{\" \"}\r\n \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {/* HZ CHECK */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n GRAND TOTAL\r\n \r\n \r\n {formData.PalletCount}\r\n \r\n \r\n GRAND TOTAL\r\n \r\n \r\n {formData.TotalWeight === undefined\r\n ? \"\"\r\n : currencyFormat(formData.TotalWeight)}\r\n \r\n \r\n \r\n \r\n
    \r\n CARRIER INFORMATION\r\n
    \r\n QTY\r\n \r\n Type\r\n \r\n NMFC #{\" \"}\r\n \r\n CLASS\r\n
    \r\n {formData.PalletCount}\r\n Pallet\r\n {formData.TotalWeight === undefined\r\n ? \"\"\r\n : currencyFormat(formData.TotalWeight)}\r\n \r\n \r\n \r\n FAK\r\n
    \r\n \r\n ) : (\r\n <>\r\n {formData.Items?.length > 0 &&\r\n formData.Items?.length <= 50 && (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ITEM NO\r\n \r\n \r\n PACKAGE{\" \"}\r\n \r\n \r\n WEIGHT (LBS)\r\n \r\n \r\n H.M.(X)\r\n \r\n \r\n COMMODITY DESCRIPTION

    \r\n \r\n Commodities requiring special or\r\n additional care or attention in handling\r\n or stowing{\" \"}\r\n \r\n

    \r\n \r\n must be so marked and packaged as to\r\n ensure safe transportation with ordinary\r\n care.{\" \"}\r\n \r\n

    \r\n \r\n See Section 2(e) of NMFC Item 360\r\n \r\n \r\n \r\n LTL ONLY{\" \"}\r\n \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n {formData.Items?.length > 0 &&\r\n formData.Items.map((item, index) => (\r\n \r\n \r\n \r\n \r\n \r\n {/* HZ CHECK */}\r\n \r\n \r\n \r\n \r\n \r\n ))}\r\n \r\n \r\n GRAND TOTAL\r\n \r\n \r\n {formData.TotalPackages}\r\n \r\n \r\n GRAND TOTAL\r\n \r\n \r\n {formData.TotalWeight === undefined\r\n ? \"\"\r\n : currencyFormat(formData.TotalWeight)}\r\n \r\n \r\n \r\n \r\n
    \r\n CARRIER INFORMATION\r\n
    \r\n QTY\r\n \r\n Type\r\n \r\n NMFC #{\" \"}\r\n \r\n CLASS\r\n
    \r\n {item.ItemNo}\r\n \r\n {item.PackageQty}\r\n \r\n {item.PackageType}\r\n \r\n {currencyFormat(item.Weight)}\r\n \r\n \r\n \r\n {item.CommodityDescription === \"\"\r\n ? item.ItemDescription\r\n : item.CommodityDescription}\r\n \r\n {item.NMFC}\r\n \r\n {item.Class}\r\n
    \r\n )}\r\n \r\n )}\r\n {formData.Items?.length > 50 && (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ITEM NO\r\n \r\n \r\n HANDLING\r\n \r\n \r\n PACKAGE{\" \"}\r\n \r\n \r\n WEIGHT\r\n \r\n \r\n H.M.(X)\r\n \r\n \r\n COMMODITY DESCRIPTION

    \r\n \r\n Commodities requiring special or additional\r\n care or attention in handling or stowing{\" \"}\r\n \r\n

    \r\n \r\n must be so marked and packaged as to ensure\r\n safe transportation with ordinary care.{\" \"}\r\n \r\n

    \r\n \r\n See Section 2(e) of NMFC Item 360\r\n \r\n \r\n \r\n LTL ONLY{\" \"}\r\n \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n GRAND TOTAL\r\n \r\n \r\n \r\n \r\n \r\n
    \r\n CARRIER INFORMATION\r\n
    \r\n QTY\r\n \r\n Type\r\n \r\n NMFC #{\" \"}\r\n \r\n CLASS\r\n
    \r\n {formData.TotalPackages}\r\n \r\n {formData.TotalWeight === undefined\r\n ? \"\"\r\n : currencyFormat(formData.TotalWeight) +\r\n \" \" +\r\n (formData.Items?.length > 0 &&\r\n formData.Items[0]?.WeightType)}\r\n
    \r\n

    \r\n There are {formData.Items?.length} items on this BOL\r\n - See packing list below\r\n

    \r\n \r\n )}\r\n
    \r\n
    \r\n {/* Stops Table */}\r\n {stopsItems?.length > 0 && (\r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {stopsItems?.length > 0 &&\r\n stopsItems.map((item, index) => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ))}\r\n \r\n
    \r\n Stops\r\n
    \r\n Id\r\n \r\n Name\r\n \r\n Type\r\n \r\n Full Address\r\n
    {item.Id}{item.Name}{item.Type}\r\n {item.Street !== null &&\r\n item.Street !== undefined &&\r\n item.Street !== \"\" ? (\r\n {`${item.Street}`}\r\n ) : (\r\n \"Empty\"\r\n )}\r\n\r\n {`${item.City ??\r\n \"-\"} ${item.State ??\r\n \"-\"} ${item.ZipCode ?? \"-\"}`}\r\n
    \r\n
    \r\n
    \r\n )}\r\n {/* Notes */}\r\n {formData.Notes?.length > 0 && (\r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {formData.Notes?.length > 0 &&\r\n formData.Notes.map((item, index) => (\r\n \r\n \r\n \r\n \r\n ))}\r\n \r\n
    \r\n SHIPMENT NOTES\r\n
    \r\n Note\r\n \r\n Created\r\n
    {item.Body}{formatDate(item.CreatedAt)}
    \r\n
    \r\n
    \r\n )}\r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n Where the rate is dependent on value, shippers are\r\n required to state specifically in writing the\r\n agreed or declared value of the property as\r\n follows: Noting a value is not a request for\r\n Additional Cargo Liability under OD Rules 100,\r\n Item 574. COD Amount: $ ______________________\r\n “The agreed or declared value of the property is\r\n specifically stated by the shipper to be not\r\n exceeding

    \r\n _________________ per ___________________.”\r\n
    \r\n COD Amount: $ {formData.CodAmount}\r\n

    \r\n \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n {formData.IsHeavy === true\r\n ? \"NOTE - This Load is Heavy\"\r\n : \"\"}\r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n RECEIVED, subject to the rates, classifications\r\n and rules that have been established by the\r\n Carrier and are available on request to the\r\n Shipper (Shipper defined in 49 U.S.C.A. §\r\n 13102(13)(c)), and to all applicable state and\r\n federal regulations. Shipper 1) warrants it has\r\n read all applicable contract(s) or Carrier’s\r\n applicable tariff(s) and the limitation of\r\n liability provisions set forth therein; and 2) has\r\n actual knowledge of and accepts the applicable\r\n contract or tariff terms, including the limits on\r\n carrier liability. Carriers’ tariff(s), including\r\n OD Rules 100, take precedence in the event of any\r\n terms or conditions conflicts.\r\n \r\n The carrier shall not make delivery of this\r\n shipment without payment of freight and all other\r\n lawful charges.

    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n SHIPPER SIGNATURE / DATE\r\n

    \r\n \r\n This is to certify that the above named\r\n materials are properly classified, described,\r\n packaged, marked and labeled, and are in\r\n proper condition for transportation according\r\n to the applicable regulations of the U.S. DOT\r\n \r\n

    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n CARRIER SIGNATURE / PICKUP DATE

    \r\n

    \r\n \r\n Carrier acknowledges receipt of packages and\r\n required placards. Carrier certifies emergency\r\n response information was made available and/or\r\n carrier has the U.S. DOT emergency response\r\n guidebook or equivalent documentation in the\r\n vehicle.\r\n \r\n

    \r\n

    \r\n

    \r\n \r\n \r\n Property described above is received in good\r\n order, except as noted\r\n \r\n \r\n

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n CUSTOMER SIGNATURE / DATE\r\n

    \r\n {\"\"}\r\n

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {formData.Items?.length > 50 && (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ITEM NO\r\n \r\n \r\n HANDLING\r\n \r\n \r\n PACKAGE{\" \"}\r\n \r\n \r\n WEIGHT\r\n \r\n \r\n H.M.(X)\r\n \r\n \r\n COMMODITY DESCRIPTION

    \r\n \r\n Commodities requiring special or additional\r\n care or attention in handling or stowing{\" \"}\r\n \r\n

    \r\n \r\n must be so marked and packaged as to ensure\r\n safe transportation with ordinary care.{\" \"}\r\n \r\n

    \r\n \r\n See Section 2(e) of NMFC Item 360\r\n \r\n \r\n \r\n LTL ONLY{\" \"}\r\n \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n {formData.Items?.length > 0 &&\r\n formData.Items.map((item, index) => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n {/* HZ CHECK */}\r\n \r\n \r\n \r\n \r\n \r\n ))}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n GRAND TOTAL\r\n \r\n \r\n \r\n \r\n \r\n
    \r\n CARRIER INFORMATION\r\n
    \r\n QTY\r\n \r\n Type\r\n \r\n NMFC #{\" \"}\r\n \r\n CLASS\r\n
    {item.ItemNo}{item.Handling}{item.PackageQty}{item.PackageType}\r\n {item.Weight + \" \" + item.WeightType}\r\n \r\n \r\n \r\n {item.CommodityDescription === \"\"\r\n ? item.ItemDescription\r\n : item.CommodityDescription}\r\n {item.NMFC}{item.Class}
    {formData.TotalPackages}\r\n {formData.TotalWeight === undefined\r\n ? \"\"\r\n : formData.TotalWeight +\r\n \" \" +\r\n (formData.Items?.length > 0 &&\r\n formData.Items[0]?.WeightType)}\r\n
    \r\n )}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n );\r\n }\r\n}\r\n\r\nexport function BLFORM({id}) {\r\n const paramId = window.location.pathname.split(\"/\")[4];\r\n const componentRef = useRef();\r\n const handlePrint = useReactToPrint({\r\n content: () => componentRef.current,\r\n });\r\n return (\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n Print BLForm\r\n \r\n {/* */}\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n );\r\n}\r\n","import React, {createContext} from \"react\";\r\nimport {useMemo} from \"react\";\r\nimport {useContext} from \"react\";\r\n\r\nconst I18N_CONFIG_KEY = process.env.REACT_APP_I18N_CONFIG_KEY || \"i18nConfig\";\r\nconst initialState = {\r\n selectedLang: \"en\"\r\n };\r\n\r\nfunction getConfig() {\r\n const ls = localStorage.getItem(I18N_CONFIG_KEY);\r\n if (ls) {\r\n try {\r\n return JSON.parse(ls);\r\n } catch (er) {\r\n console.error(er);\r\n }\r\n }\r\n return initialState;\r\n}\r\n\r\n// Side effect\r\nexport function setLanguage(lang) {\r\n localStorage.setItem(I18N_CONFIG_KEY, JSON.stringify({ selectedLang: lang }));\r\n window.location.reload();\r\n}\r\n\r\nconst I18nContext = createContext();\r\n\r\nexport function useLang() {\r\n return useContext(I18nContext).selectedLang;\r\n}\r\n\r\nexport function withI18n(Component) {\r\n class WithI18n extends React.Component {\r\n static displayName = `WithI18n(${Component.displayName || Component.name})`;\r\n\r\n static contextType = I18nContext;\r\n\r\n render() {\r\n return ;\r\n }\r\n }\r\n\r\n return WithI18n;\r\n}\r\n\r\nexport const I18nConsumer = I18nContext.Consumer;\r\n\r\nexport function MetronicI18nProvider({ children }) {\r\n const lang = useMemo(getConfig, []);\r\n\r\n return {children};\r\n}\r\n","import React from \"react\";\r\nimport {useLang} from \"./Metronici18n\";\r\nimport {IntlProvider} from \"react-intl\";\r\nimport \"@formatjs/intl-relativetimeformat/polyfill\";\r\nimport \"@formatjs/intl-relativetimeformat/dist/locale-data/en\";\r\nimport \"@formatjs/intl-relativetimeformat/dist/locale-data/de\";\r\nimport \"@formatjs/intl-relativetimeformat/dist/locale-data/es\";\r\nimport \"@formatjs/intl-relativetimeformat/dist/locale-data/fr\";\r\nimport \"@formatjs/intl-relativetimeformat/dist/locale-data/ja\";\r\nimport \"@formatjs/intl-relativetimeformat/dist/locale-data/zh\";\r\n\r\nimport deMessages from \"./messages/de\";\r\nimport enMessages from \"./messages/en\";\r\nimport esMessages from \"./messages/es\";\r\nimport frMessages from \"./messages/fr\";\r\nimport jaMessages from \"./messages/ja\";\r\nimport zhMessages from \"./messages/zh\";\r\n\r\nconst allMessages = {\r\n de: deMessages,\r\n en: enMessages,\r\n es: esMessages,\r\n fr: frMessages,\r\n ja: jaMessages,\r\n zh: zhMessages\r\n};\r\n\r\nexport function I18nProvider({ children }) {\r\n const locale = useLang();\r\n const messages = allMessages[locale];\r\n\r\n return (\r\n \r\n {children}\r\n \r\n );\r\n}\r\n","export * from \"./I18nProvider\";\r\nexport * from \"./Metronici18n\";","/* eslint-disable no-unused-vars */\r\nimport React, {\r\n useEffect,\r\n useContext,\r\n createContext,\r\n useState,\r\n useCallback,\r\n} from \"react\";\r\nimport { isEqual, isFunction } from \"lodash\";\r\nimport { initialFilter } from \"./RemarksUIHelper\";\r\n\r\nconst RemarksUIContext = createContext();\r\n\r\nexport function useRemarksUIContext() {\r\n return useContext(RemarksUIContext);\r\n}\r\n\r\nexport const RemarksUIConsumer = RemarksUIContext.Consumer;\r\n\r\nexport function ContainersUIProvider({\r\n currentProductId,\r\n children,\r\n showing,\r\n setshowing,\r\n id,\r\n}) {\r\n const [productId, setProductId] = useState(currentProductId);\r\n const [queryParams, setQueryParamsBase] = useState(initialFilter);\r\n const [ids, setIds] = useState([]);\r\n const setQueryParams = useCallback((nextQueryParams) => {\r\n setQueryParamsBase((prevQueryParams) => {\r\n if (isFunction(nextQueryParams)) {\r\n nextQueryParams = nextQueryParams(prevQueryParams);\r\n }\r\n\r\n if (isEqual(prevQueryParams, nextQueryParams)) {\r\n return prevQueryParams;\r\n }\r\n\r\n return nextQueryParams;\r\n });\r\n }, []);\r\n\r\n function Check(name) {\r\n try {\r\n return !id ? window.$NewReceipts[name] : \"\";\r\n } catch (error) {\r\n return \"\";\r\n }\r\n }\r\n\r\n const [selectedId, setSelectedId] = useState(null);\r\n const [showEditRemarkDialog, setShowEditRemarkDialog] = useState(false);\r\n const [showAssigntoOutbound, setShowAssigntoOutbound] = useState(false);\r\n const initRemark = {\r\n id: undefined,\r\n OrderId: currentProductId,\r\n CustomerId: Check(\"CustomerId\"),\r\n BillToId: Check(\"BillToId\"),\r\n CustomerRefNumber1: Check(\"CustomerRefNumber\"),\r\n CustomerRefNumber2: Check(\"CustomerRefNumber2\"),\r\n ShipperId: Check(\"ShipperId\"),\r\n ConsigneeId: Check(\"ConsigneeId\"),\r\n MasterBill: Check(\"MasterBill\"),\r\n WarehouseId: Check(\"WarehouseId\"),\r\n Charges: [],\r\n TotalCubeType2:\"CBM\",\r\n TotalWeightType2:\"KGS\",\r\n };\r\n useEffect(() => {\r\n initRemark.productId = currentProductId;\r\n initRemark.carId = currentProductId;\r\n setProductId(currentProductId);\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [currentProductId]);\r\n\r\n useEffect(() => {\r\n if (showing) openEditRemarkDialog();\r\n }, [showing]);\r\n\r\n useEffect(() => {\r\n if (id) setSelectedId(id);\r\n }, [id]);\r\n\r\n const openAssigntoOutboundDialog = () => {\r\n setSelectedId(undefined);\r\n setShowAssigntoOutbound(true);\r\n };\r\n const openNewRemarkDialog = () => {\r\n setSelectedId(undefined);\r\n setShowEditRemarkDialog(true);\r\n };\r\n const openEditRemarkDialog = (id) => {\r\n setSelectedId(id);\r\n setShowEditRemarkDialog(true);\r\n };\r\n const closeEditRemarkDialog = () => {\r\n setSelectedId(undefined);\r\n if (setshowing) setshowing(false);\r\n setShowEditRemarkDialog(false);\r\n setShowAssigntoOutbound(false);\r\n };\r\n const [showDeleteRemarkDialog, setShowDeleteRemarkDialog] = useState(false);\r\n const openDeleteRemarkDialog = (id) => {\r\n setSelectedId(id);\r\n setShowDeleteRemarkDialog(true);\r\n };\r\n const closeDeleteRemarkDialog = () => {\r\n setSelectedId(undefined);\r\n setShowDeleteRemarkDialog(false);\r\n };\r\n\r\n const [showDeleteRemarksDialog, setShowDeleteRemarksDialog] = useState(false);\r\n const openDeleteRemarksDialog = () => {\r\n setShowDeleteRemarksDialog(true);\r\n };\r\n const closeDeleteRemarksDialog = () => {\r\n setShowDeleteRemarksDialog(false);\r\n };\r\n\r\n const [showFetchRemarksDialog, setShowFetchRemarksDialog] = useState(false);\r\n const openFetchRemarksDialog = () => {\r\n setShowFetchRemarksDialog(true);\r\n };\r\n const closeFetchRemarksDialog = () => {\r\n setShowFetchRemarksDialog(false);\r\n };\r\n\r\n const value = {\r\n ids,\r\n setIds,\r\n productId,\r\n setProductId,\r\n queryParams,\r\n setQueryParams,\r\n initRemark,\r\n selectedId,\r\n showEditRemarkDialog,\r\n openNewRemarkDialog,\r\n openAssigntoOutboundDialog,\r\n showAssigntoOutbound,\r\n openEditRemarkDialog,\r\n closeEditRemarkDialog,\r\n showDeleteRemarkDialog,\r\n openDeleteRemarkDialog,\r\n closeDeleteRemarkDialog,\r\n showDeleteRemarksDialog,\r\n openDeleteRemarksDialog,\r\n closeDeleteRemarksDialog,\r\n openFetchRemarksDialog,\r\n closeFetchRemarksDialog,\r\n showFetchRemarksDialog,\r\n };\r\n\r\n return (\r\n \r\n {children}\r\n \r\n );\r\n}\r\n","import {\r\n Button,\r\n Icon,\r\n IconButton,\r\n makeStyles,\r\n Table,\r\n TableBody,\r\n TableCell,\r\n TableHead,\r\n TableRow,\r\n} from \"@material-ui/core\";\r\nimport CloseIcon from \"@material-ui/icons/Close\";\r\nimport clsx from \"clsx\";\r\nimport FileSaver from \"file-saver\";\r\nimport $ from \"jquery\";\r\nimport low from \"lowdb\";\r\nimport LocalStorage from \"lowdb/adapters/LocalStorage\";\r\nimport PDFViewer from \"pdf-viewer-reactjs\";\r\nimport React, { useEffect, useState } from \"react\";\r\nimport {\r\n Accordion,\r\n Alert,\r\n Card,\r\n Modal,\r\n OverlayTrigger,\r\n Tooltip,\r\n} from \"react-bootstrap\";\r\nimport FileViewer from \"react-file-viewer\";\r\nimport SVG from \"react-inlinesvg\";\r\nimport QRCode from \"react-qr-code\";\r\nimport CreatableSelect from \"react-select/creatable\";\r\nimport { toAbsoluteUrl } from \"../../../../../../../_metronic/_helpers\";\r\nimport {\r\n ActivityFunction,\r\n currencyFormat,\r\n momentDate,\r\n momentDateOnly,\r\n strip,\r\n} from \"../../../../../../../_metronic/_helpers/ATHelpers\";\r\nimport {\r\n AttachementsComponent,\r\n CheckboxLargeWB,\r\n DenseTable,\r\n EnhancedTable,\r\n} from \"../../../../../../../_metronic/_partials/controls\";\r\nimport { Notification } from \"../../../../../Notification\";\r\nimport \"../../customers-table/FileViewerStyle.css\";\r\nimport { PeoplesComponent } from \"../Functions/Main\";\r\nimport { IsValid, IsValidColumn } from \"../Functions/Validation\";\r\nconst adapter = new LocalStorage(\"db\");\r\nconst db = low(adapter);\r\nconst useStyles = makeStyles((theme) => ({\r\n typography: {\r\n padding: theme.spacing(2),\r\n },\r\n}));\r\nexport default function DetailMangment({\r\n Id,\r\n setShow,\r\n isReporting,\r\n isDashboard,\r\n isLulusDashboardException,\r\n}) {\r\n const [DetailActivityRatesInfo, setDetailActivityRatesInfo] = useState(null);\r\n const [Detail, setDetail] = useState();\r\n const [Attachments, setAttachmentsList] = useState();\r\n const classes = useStyles();\r\n\r\n useEffect(() => {\r\n GetModel();\r\n GetAttachments();\r\n }, []);\r\n const [Users, setUsers] = useState([]);\r\n useEffect(() => {\r\n GetUsers(setUsers);\r\n }, []);\r\n\r\n // Fetch data related to fuel surcharge\r\n const [fuelSurcharge, setFuelSurcharge] = useState(0);\r\n const [method, setMethod] = useState(\"\");\r\n const [distance, setDistance] = useState(0);\r\n const [surcharge, setSurcharge] = useState(0);\r\n\r\n useEffect(() => {\r\n GetFuelSurcharge();\r\n }, []);\r\n async function GetFuelSurcharge() {\r\n return await fetch(`${window.$apiurl}/GetFuelSurcharge/` + Id, {\r\n method: \"get\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n var a = res[1];\r\n if (a.fuelSurcharge) {\r\n setFuelSurcharge(a.fuelSurcharge);\r\n setDistance(a.distance);\r\n setSurcharge(a.surcharge);\r\n setMethod(a.method);\r\n if (method === \"\") {\r\n setMethod(\"Standard\");\r\n } else {\r\n setMethod(a.method);\r\n }\r\n } else {\r\n Notification(\"error\", \"Fuel Surcharge :\" + a.error.message);\r\n }\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n\r\n async function GetUsers() {\r\n return await fetch(`${window.$apiurl}/users`, {\r\n method: \"get\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n if (res[0] === 200) {\r\n setUsers(res[1] ?? []);\r\n }\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n\r\n //const users = await GetUsers();\r\n\r\n const [customerName, setCustomerName] = useState(\"\");\r\n async function GetModel() {\r\n setDetailActivityRatesInfo(null);\r\n return await fetch(`${window.$apiurl}/receiptsmanagement/details/` + Id, {\r\n method: \"get\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then(async (res) => {\r\n var a = res[1];\r\n setCustomerName(a?.CustomerName);\r\n if (a?.CustomerName === \"Lulus\") {\r\n await GetExceptionList(Id, true);\r\n }\r\n a.Charges.forEach((x) => {\r\n x.InvoiceDate = momentDate(x?.InvoiceDate);\r\n x.Payable = x?.Payable || 0;\r\n x.FreightChargeName = x.FreightChargeName ?? \"-\";\r\n });\r\n\r\n a.Charges.push({\r\n BillAmount: (a?.TotalReceivable).toFixed(2),\r\n ChargeDescription: \"\",\r\n FreightChargeName: \"Total :\",\r\n Code: \"\",\r\n InvoiceDate: \"\",\r\n InvoiceNumber: \"\",\r\n Margin: (a?.Revenue).toFixed(2),\r\n MarginPercentage:\r\n a?.TotalReceivable === 0\r\n ? 0\r\n : ((a?.Revenue / a?.TotalReceivable) * 100).toFixed(2),\r\n PayableAmount: (a?.TotalPayable).toFixed(2),\r\n PayableCode: (a?.TotalPayable).toFixed(2),\r\n VendorName: \"\",\r\n VendorReference: \"\",\r\n });\r\n\r\n a.Vendors.forEach((x) => {\r\n x.Name = x.VendorAddress?.CompanyName ?? \"\";\r\n });\r\n\r\n if (a?.Status?.length > 0)\r\n a.Status.sort((a, b) => a.Position - b.Position).forEach((x) => {\r\n /**/ if (x.Name === \"Dispatched\") x.value = a?.DispatchDate;\r\n else if (x.Name === \"Discharged\") x.value = a?.DischargeDate;\r\n else if (x.Name === \"Released\") x.value = a?.ReleaseDate;\r\n else if (x.Name === \"Appointed\") x.value = a?.AppointementDate;\r\n else if (x.Name === \"Picked Up\") x.value = a?.PickupDate;\r\n else if (x.Name === \"Load Received\") x.value = a?.ReceivedDate;\r\n else if (x.Name === \"Devanned\") x.value = a?.DevanDate;\r\n else if (x.Name === \"Closed\") x.value = a?.ClosedDate;\r\n else if (x.Name === \"Terminated\") x.value = a?.TerminatedDate;\r\n else if (x.Name === \"New\") x.value = a?.Created;\r\n else if (x.Name === \"Planned\") x.value = a?.PlannedDate;\r\n else if (x.Name === \"QC\") x.value = a?.QcDate;\r\n else if (x.Name === \"Ready to process\") x.value = a?.ProcessedDate;\r\n });\r\n\r\n a.Notes.forEach((x) => {\r\n x.Created = momentDate(x?.Created);\r\n x.Body = strip(x?.Body);\r\n });\r\n a.attachments.forEach((x) => {\r\n x.Created = momentDate(x?.Created);\r\n });\r\n\r\n a.ReceiptItems.forEach((x) => {\r\n x.PoEta = momentDateOnly(x?.PoEta);\r\n x.AstrayQuantity = x?.AstrayQuantity ?? 0;\r\n x.PoExpectedDate = momentDateOnly(x?.PoExpectedDate);\r\n x.ReceivedDate = momentDateOnly(x?.ReceivedDate);\r\n x.ProcessedDate = momentDateOnly(x?.ProcessedDate);\r\n x.Weight = currencyFormat(x?.Weight);\r\n x.Cube = currencyFormat(x?.Cube);\r\n x.IsHot = x.IsHot ? (\r\n \r\n \r\n \r\n ) : (\r\n <>\r\n );\r\n x.IsHazardousMaterial = x.IsHazardousMaterial ? (\r\n \r\n \r\n \r\n ) : (\r\n <>\r\n );\r\n\r\n x.Pieces2 = x?.UnitCount * x?.Pieces;\r\n x.Location = (\r\n <>\r\n {x.Location}\r\n {x.LocationCode && (\r\n \r\n {x.LocationCode}\r\n \r\n }\r\n >\r\n false}\r\n className=\"btn btn-icon btn-light btn-hover-light btn-sm\"\r\n >\r\n \r\n \r\n \r\n \r\n \r\n )}\r\n \r\n );\r\n });\r\n\r\n a.Activities.sort(function (a, b) {\r\n return new Date(b.Created) - new Date(a.Created);\r\n });\r\n a.Activities.forEach((x, i) => {\r\n x.id = i;\r\n });\r\n if (isDashboard) {\r\n setDetailActivityRatesInfo(\r\n a?.Activities.filter(\r\n (a) => a.Action === \"Container return attempt has been added\"\r\n ) || []\r\n );\r\n } else if (isReporting) {\r\n setDetailActivityRatesInfo(\r\n a?.Activities.filter(\r\n (a) => a.Action === \"Container return attempt has been added\"\r\n ) || []\r\n );\r\n } else {\r\n setDetailActivityRatesInfo(a?.Activities || []);\r\n }\r\n setDetail(a);\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n async function GetAttachments() {\r\n return await fetch(\r\n `${window.$apiurl}/transload/receipts/getattachments/` + Id,\r\n {\r\n method: \"get\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n }\r\n )\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n var a = res[1];\r\n a.forEach((x) => {\r\n x.DateCreated = momentDate(x?.Created);\r\n });\r\n setAttachmentsList(a || []);\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n\r\n const [exceptionsRmList, setExceptionList] = useState([]);\r\n const [checkedIsActive, setIsActiveFilter] = useState(true);\r\n\r\n async function filterDisposition(value) {\r\n try {\r\n const exceptions = await GetExceptionList(Id, checkedIsActive);\r\n let currentList = [];\r\n if (value === \"\") {\r\n currentList = exceptions.filter(\r\n (x) =>\r\n String(x.Disposition).includes(String(\"\")) &&\r\n (checkedIsActive\r\n ? String(x.isActive).includes(String(true))\r\n : String(x.isActive).includes(String(false)))\r\n );\r\n } else {\r\n currentList = exceptions.filter(\r\n (x) =>\r\n String(x.Disposition).includes(String(value)) &&\r\n (checkedIsActive\r\n ? String(x.isActive).includes(String(true))\r\n : String(x.isActive).includes(String(false)))\r\n );\r\n }\r\n setExceptionList(currentList);\r\n } catch (err) { }\r\n }\r\n async function GetExceptionList(id, isActive) {\r\n return await fetch(\r\n `${window.$apiurl}/sku/exceptions?id=${id}&isActive=${isActive}`,\r\n {\r\n method: \"get\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n }\r\n )\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n var a = res[1];\r\n a.forEach((x) => {\r\n x.RequestDate = momentDate(x?.RequestDate);\r\n });\r\n setExceptionList(a || []);\r\n return a;\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n function getExtension(path) {\r\n var basename = path.split(/[\\\\/]/).pop(),\r\n pos = basename.lastIndexOf(\".\");\r\n if (basename === \"\" || pos < 1) return \"\";\r\n return basename.slice(pos + 1);\r\n }\r\n const onError = (e) => {\r\n console.log(e, \"error in file-viewer\");\r\n };\r\n const [type, setFileType] = useState(\"\");\r\n const [filePath, setFilePath] = useState(\"\");\r\n async function SecureFileFetch(receiptId, attachmentId) {\r\n return await fetch(\r\n window.$apiurl +\r\n `/generic/attachment/secureFile/${receiptId}/${attachmentId}?isReceipt=true&isQuote=false`,\r\n {\r\n method: \"get\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n }\r\n )\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then(async (res) => {\r\n try {\r\n const data = res[1];\r\n const fileType = getExtension(data.AttachmentFile);\r\n setFileType(fileType.toLowerCase());\r\n setFilePath(data.AttachmentFile);\r\n setDisabledDownload(false);\r\n } catch (err) { }\r\n return res[1];\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n const [showAttachment, setShowAttachment] = useState(false);\r\n const [disabledDownload, setDisabledDownload] = useState(true);\r\n useEffect(() => {\r\n if (!showAttachment) {\r\n setFilePath(\"\");\r\n setFileType(\"\");\r\n }\r\n }, [showAttachment]);\r\n function CardFunction({ x, index, New, id }) {\r\n return (\r\n <>\r\n \r\n \r\n \r\n {x?.CreatedBy}\r\n \r\n

    \r\n {momentDate(x?.Created)}\r\n

    \r\n \r\n Download :\r\n \r\n false}\r\n onClick={async () => {\r\n setShowAttachment(true);\r\n await SecureFileFetch(id, x.Id);\r\n }}\r\n role=\"button\"\r\n className=\"btn btn-light-primary btn-elevate py-1\"\r\n >\r\n {x?.FileName}\r\n \r\n \r\n\r\n {/* Detail Attachments */}\r\n
    \r\n
    \r\n Attachment Type :{\" \"}\r\n {x?.Type}\r\n
    \r\n
    \r\n Access Level :{\" \"}\r\n {x?.AccessLevel}\r\n
    \r\n
    \r\n
    \r\n
    \r\n Eq Size :{\" \"}\r\n {x?.Type}\r\n
    \r\n
    \r\n Eq Type :{\" \"}\r\n {x?.AccessLevel}\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n );\r\n }\r\n\r\n const [showModalRemoveException, setModalRemoveException] = useState(false);\r\n const [exceptionId, setExceptionId] = useState(null);\r\n const [notesExceptionShow, setNotesExceptionsModal] = useState(false);\r\n const [exceptionNotesList, setExceptionNotesList] = useState([]);\r\n\r\n async function RemoveException() {\r\n return fetch(window.$apiurl + \"/sku/exceptions/remove/\" + exceptionId, {\r\n method: \"put\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n // body: JSON.stringify(someData),\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then(() => { })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n const [dispositionFilter, setDispositionFilter] = useState({\r\n value: \"\",\r\n label: \"Select\",\r\n });\r\n const listDisposition = [\r\n { value: \"New\", label: \"New\" },\r\n { value: \"Accept\", label: \"Accept\" },\r\n { value: \"Hold\", label: \"Hold\" },\r\n { value: \"Reject\", label: \"Reject\" },\r\n { value: \"Other\", label: \"Other\" },\r\n ];\r\n const [QRCodeShow, setQRCodeShow] = useState(false);\r\n return (\r\n <>\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n {IsValid(\"Order Number\", Detail?.OrderNumebr)}\r\n
    \r\n
    \r\n {IsValid(\r\n \"Receive Number\",\r\n Detail?.ReceiptNumber +\r\n (Detail?.EquipmentRef ? \" - \" + Detail?.EquipmentRef : \"\")\r\n )}\r\n
    \r\n
    \r\n {IsValid(\"Invoice No\", Detail?.InvoiceNumber)}\r\n
    \r\n
    \r\n {IsValid(\"Invoice Date\", momentDate(Detail?.InvoiceDate))}\r\n
    \r\n
    \r\n
    \r\n \r\n {\r\n setQRCodeShow(true);\r\n }}\r\n />\r\n
    \r\n
    \r\n
    \r\n
    \r\n {IsValid(\"Order Number\", Detail?.OrderNumebr)}\r\n
    \r\n
    \r\n {IsValid(\r\n \"Receive Number\",\r\n Detail?.ReceiptNumber +\r\n (Detail?.EquipmentRef ? \" - \" + Detail?.EquipmentRef : \"\")\r\n )}\r\n
    \r\n
    \r\n {IsValid(\"Invoice No\", Detail?.InvoiceNumber)}\r\n
    \r\n
    \r\n {IsValid(\"Invoice Date\", momentDate(Detail?.InvoiceDate))}\r\n
    \r\n
    \r\n
    \r\n {\r\n setQRCodeShow(false);\r\n }}\r\n aria-labelledby=\"example-modal-sizes-title-lg\"\r\n >\r\n \r\n \r\n

    QR code for receipt {Detail?.ReceiptNumber}

    \r\n
    \r\n {\r\n setQRCodeShow(false);\r\n }}\r\n >\r\n \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n {\r\n setShow(false);\r\n }}\r\n >\r\n \r\n \r\n \r\n\r\n \r\n \r\n <>\r\n \r\n \r\n
    Container Basic
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n Customer\r\n
    \r\n {IsValid(\"Customer Code\", Detail?.CustomerCode)}\r\n {IsValid(\"Customer Name\", Detail?.CustomerName)}\r\n {IsValid(\"Customer Address\", Detail?.CustomerAddress1)}\r\n {IsValid(\r\n \"City,State,Zip Code\",\r\n Detail?.CustomerCity +\r\n \", \" +\r\n Detail?.CustomerState +\r\n \", \" +\r\n Detail?.CustomerZipCode\r\n )}\r\n {IsValid(\"Customer Ref No 1\", Detail?.CustomerReference1)}\r\n {IsValid(\"Customer Ref No 2\", Detail?.CustomerReference2)}\r\n {IsValid(\"Fuel Surcharge Method \", method)}\r\n
    \r\n\r\n
    \r\n \r\n Bill To\r\n
    \r\n {IsValid(\"Bill To Code\", Detail?.BillToCode)}\r\n {IsValid(\"Bill To Name\", Detail?.BillToName)}\r\n {IsValid(\"Bill To Address1\", Detail?.BillToAddress1)}\r\n {IsValid(\r\n \"City,State,Zip Code\",\r\n Detail?.BillToCity +\r\n \", \" +\r\n Detail?.BillToState +\r\n \", \" +\r\n Detail?.BillToZipCode\r\n )}\r\n {IsValid(\"Billing Ref No 1\", Detail?.BillingReference1)}\r\n {IsValid(\"Billing Ref No 2\", Detail?.BillingReference2)}\r\n
    \r\n\r\n
    \r\n \r\n Pickup Location\r\n
    \r\n {IsValid(\"Pickup Location Code\", Detail?.ShipperCode)}\r\n {IsValid(\"Pickup Location Name\", Detail?.ShipperName)}\r\n {IsValid(\"Pickup Location Address1\", Detail?.ShipperAddress1)}\r\n {IsValid(\r\n \"City,State,Zip Code\",\r\n Detail?.ShipperCity +\r\n \", \" +\r\n Detail?.ShipperState +\r\n \", \" +\r\n Detail?.ShipperZipCode\r\n )}\r\n {IsValid(\r\n \"Pickup Appointment\",\r\n momentDate(Detail?.PickupOnDate)\r\n )}\r\n {/* {IsValid(\"Pickup Date\", momentDate(Detail?.PickupDate))} */}\r\n {IsValid(\"Origins Shipper\", Detail?.OriginsShipper)}\r\n
    \r\n\r\n
    \r\n \r\n Ship to Location\r\n
    \r\n {IsValid(\"Ship to Location Code\", Detail?.ConsigneeCode)}\r\n {IsValid(\"Ship to Location Name\", Detail?.ConsigneeName)}\r\n {IsValid(\r\n \"Ship to Location Address1\",\r\n Detail?.ConsigneeAddress1\r\n )}\r\n {IsValid(\r\n \"City,State,Zip Code\",\r\n Detail?.ConsigneeCity +\r\n \", \" +\r\n Detail?.ConsigneeState +\r\n \", \" +\r\n Detail?.ConsigneeZipCode\r\n )}\r\n {IsValid(\r\n \"delivery appointment\",\r\n momentDate(Detail?.DeliveryOnDate)\r\n )}\r\n {/* {IsValid(\"delivery Date\", momentDate(Detail?.DeliveryDate))} */}\r\n
    \r\n
    \r\n \r\n Dates\r\n
    \r\n\r\n {Detail?.Status?.length > 0 &&\r\n Detail?.Status.map((x) =>\r\n IsValid(x.Name, momentDate(x?.value))\r\n )}\r\n
    \r\n {Detail?.ServiceName === \"Drayage\" && (\r\n <>\r\n
    \r\n \r\n Oder Details - Drayage\r\n
    \r\n {IsValidColumn(\"Mode Name\", Detail?.ModeName)}\r\n {IsValidColumn(\"Vessel\", Detail?.Vessel)}\r\n {IsValidColumn(\"Seal Number\", Detail?.SealNumber)}\r\n {IsValidColumn(\"Service Level\", Detail?.ServiceLevel)}\r\n {IsValidColumn(\"Voyage Number\", Detail?.VesselVoyage)}\r\n {IsValidColumn(\"Cartons\", Detail?.Cartons)}\r\n {IsValidColumn(\"Equipment Type\", Detail?.EquipmentType)}\r\n {IsValidColumn(\r\n \"ETA\",\r\n momentDate(Detail?.Created)?.slice(0, 10)\r\n )}\r\n {IsValidColumn(\"Weight\", Detail?.TotalWeight1)}\r\n {IsValidColumn(\"Equipment Number\", Detail?.EquipmentRef)}\r\n {IsValidColumn(\"MBL\", Detail?.MasterBill)}\r\n {IsValidColumn(\"Cube\", Detail?.TotalCube1)}\r\n
    \r\n \r\n )}\r\n {Detail?.ServiceName === \"Domestic Transportation\" && (\r\n
    \r\n \r\n Order Details - LTL\r\n
    \r\n {IsValidColumn(\"Mode Name\", Detail?.ModeName)}{\" \"}\r\n {IsValidColumn(\"Cartons\", Detail?.Cartons)}\r\n {IsValidColumn(\"Service Level\", Detail?.ServiceLevel)}\r\n {IsValidColumn(\"Pallets\", Detail?.Pallets)}\r\n {IsValidColumn(\"Equipment Type\", Detail?.EquipmentType)}\r\n {IsValidColumn(\"Weight\", Detail?.TotalWeight1)}\r\n {IsValidColumn(\"Equipment Number\", Detail?.EquipmentTypeId)}\r\n {IsValidColumn(\"Cube\", Detail?.TotalCube1)}\r\n
    \r\n )}\r\n\r\n
    \r\n \r\n Totals\r\n
    \r\n {IsValid(\"Cube\", Detail?.ReceiptItems.length > 0 ? (Detail?.TotalCube1?.toFixed(2) + \" CBM\") : (Detail?.TotalCube2 + \" \" + Detail?.TotalCubeType2))}\r\n {IsValid(\"Weight\", Detail?.ReceiptItems.length > 0 ? (Detail?.TotalWeight1?.toFixed(2) + \" KGS\") : (Detail?.TotalWeight2 + \" \" + Detail?.TotalWeightType2))}\r\n {IsValid(\"Cartons\", Detail?.Cartons)}\r\n {IsValid(\"Pallets\", Detail?.Pallets)}\r\n\r\n {isReporting === true\r\n ? \"\"\r\n : IsValid(\"Bill Amount\", Detail?.TotalReceivable)}\r\n {isReporting === true\r\n ? \"\"\r\n : IsValid(\"Payable Amount\", Detail?.TotalPayable)}\r\n {IsValid(\"Surcharge\", surcharge + \" cents\")}\r\n {IsValid(\"Distance\", distance + \" miles\")}\r\n {IsValid(\"Total Fuel Surchage\", fuelSurcharge + \" $\")}\r\n
    \r\n\r\n
    \r\n \r\n Vessel Voyage\r\n
    \r\n\r\n {IsValid(\"Vessel Name\", Detail?.Vessel)}\r\n {IsValid(\"Voyage Number\", Detail?.VesselVoyage)}\r\n {IsValid(\"Eta\", momentDate(Detail?.Eta))}\r\n
    \r\n
    \r\n \r\n Others *\r\n
    \r\n\r\n {IsValid(\"Master Bill\", Detail?.MasterBill)}\r\n {IsValid(\"Service\", Detail?.ServiceName)}\r\n {IsValid(\"Mode\", Detail?.ModeName)}\r\n {IsValid(\"Service Level\", Detail?.ServiceLevel)}\r\n {IsValid(\"Equipment Size\", Detail?.EquipmentSize)}\r\n {IsValid(\"Equipment Type\", Detail?.EquipmentType)}\r\n {IsValid(\"Freight Charge Terms\", Detail?.FreightCharge)}\r\n
    \r\n
    \r\n \r\n \r\n \r\n
    Line Item Detail
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n {Detail?.CustomerName === \"Lulus\" ? (\r\n \r\n ) : (\r\n \r\n )}\r\n
    \r\n
    \r\n
    \r\n {new URLSearchParams(window.location.search).get(\"type\") !==\r\n \"PortView\" &&\r\n window.location.href.indexOf(\"GlobalDashboard\") === -1 &&\r\n window.location.href.indexOf(\"LulusDashboard\") === -1 &&\r\n window.location.href.indexOf(\"Search\") === -1 ? (\r\n \r\n \r\n
    Rates
    \r\n
    \r\n \r\n \r\n ) : (\r\n \"\"\r\n )}\r\n\r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n \r\n \r\n
    Vendors
    \r\n
    \r\n \r\n \r\n \r\n <>\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n\r\n \r\n \r\n
    Notes
    \r\n
    \r\n \r\n \r\n \r\n <>\r\n
    \r\n
    \r\n {isReporting === true ? (\r\n word.AccessLevelId === 4\r\n ) || []\r\n }\r\n />\r\n ) : (\r\n \r\n )}\r\n
    \r\n
    \r\n
    \r\n
    \r\n {isReporting === true ? (\r\n word.AccessLevelId === 4\r\n ) || []\r\n }\r\n />\r\n ) : (\r\n \r\n )}\r\n
    \r\n
    \r\n \r\n
    \r\n \r\n \r\n
    Attachments
    \r\n
    \r\n \r\n \r\n \r\n <>\r\n
    \r\n
    \r\n {/* Header */}\r\n
    \r\n

    \r\n Receipt Attachments\r\n

    \r\n
    \r\n {isDashboard && (\r\n \r\n )}\r\n\r\n {isReporting === true\r\n ? Attachments?.length > 0 &&\r\n Attachments?.filter(\r\n (word) => word.AccessLevel === \"Public\"\r\n ).map((x, index) => (\r\n \r\n ))\r\n : !isDashboard &&\r\n Attachments?.length > 0 &&\r\n Attachments?.map((x, index) => (\r\n \r\n ))}\r\n
    \r\n
    \r\n\r\n {/* Modal Attachment Viewer */}\r\n {\r\n setShowAttachment(false);\r\n }}\r\n aria-labelledby=\"example-modal-sizes-title-lg\"\r\n >\r\n \r\n \r\n Attachment Viewer for RM #: {Detail?.ReceiptNumber}\r\n \r\n {\r\n setShowAttachment(false);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n <>\r\n
    \r\n
    \r\n \r\n {\r\n const fileName = filePath.replace(\r\n /^.*[\\\\\\/]/,\r\n \"\"\r\n );\r\n console.log(fileName);\r\n FileSaver(filePath, fileName);\r\n }}\r\n >\r\n Download\r\n {\" \"}\r\n
    \r\n
    \r\n {type === \"pdf\" ? (\r\n
    \r\n \r\n \r\n
    \r\n
    \r\n ) : (\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n )}\r\n \r\n \r\n \r\n {\r\n setShowAttachment(false);\r\n }}\r\n className=\"btn btn-light btn-elevate w-25\"\r\n >\r\n Close\r\n \r\n \r\n \r\n \r\n \r\n {new URLSearchParams(window.location.search).get(\"type\") !==\r\n \"PortView\" &&\r\n window.location.href.indexOf(\"LulusDashboard\") === -1 &&\r\n window.location.href.indexOf(\"Search\") === -1 ? (\r\n \r\n \r\n
    ACTIVITIES
    \r\n
    \r\n \r\n \r\n ) : (\r\n \"\"\r\n )}\r\n \r\n {DetailActivityRatesInfo !== null ? (\r\n \r\n ) : (\r\n
    \r\n
    \r\n
    \r\n Loading Data ...\r\n
    \r\n
    \r\n
    \r\n )}\r\n
    \r\n\r\n {customerName === \"Lulus\" && (\r\n <>\r\n \r\n \r\n
    Exceptions
    \r\n
    \r\n \r\n \r\n \r\n <>\r\n
    \r\n
    \r\n \r\n {\r\n if (e !== null) {\r\n setDispositionFilter(e);\r\n await filterDisposition(e.value);\r\n } else {\r\n setDispositionFilter(null);\r\n await filterDisposition(\"\");\r\n }\r\n }}\r\n />\r\n
    \r\n
    \r\n {\r\n setIsActiveFilter(e.target.checked);\r\n await GetExceptionList(Id, e.target.checked);\r\n }}\r\n />\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n \r\n \r\n Request Id\r\n Request Date\r\n FileName\r\n Exception Type\r\n Disposition\r\n Notes\r\n {!db.getState().User.IsCustomer &&\r\n !isLulusDashboardException &&\r\n exceptionsRmList.some(\r\n (x) => x.isActive === true\r\n ) && Actions}\r\n \r\n \r\n \r\n {exceptionsRmList.map((x) => (\r\n \r\n \r\n {x.RequestId}\r\n \r\n \r\n {momentDate(x?.RequestDate)}\r\n \r\n \r\n {\" \"}\r\n \r\n {x?.FileName}\r\n \r\n \r\n {x.ExcpetionType}\r\n {x.Disposition}\r\n \r\n false}\r\n onClick={async () => {\r\n try {\r\n const currentList = await GetExceptionList(\r\n Id,\r\n checkedIsActive\r\n );\r\n const notesExceptions = currentList.find(\r\n (c) => c.RequestId === x.RequestId\r\n );\r\n console.log(notesExceptions);\r\n setExceptionId(x.RequestId);\r\n notesExceptions.Notes.length > 0 &&\r\n notesExceptions.Notes.forEach(\r\n (item) => {\r\n if (item.AccessLevelId === 4) {\r\n item.AccessLevel = \"Public\";\r\n } else {\r\n item.AccessLevel = \"Private\";\r\n }\r\n item.CreatedAt = momentDate(\r\n item?.CreatedAt\r\n );\r\n }\r\n );\r\n setExceptionNotesList(\r\n notesExceptions?.Notes || []\r\n );\r\n setNotesExceptionsModal(true);\r\n } catch (err) { }\r\n }}\r\n role=\"button\"\r\n className=\"btn btn-light-primary btn-elevate py-1\"\r\n >\r\n Show Notes\r\n \r\n \r\n {!db.getState().User.IsCustomer &&\r\n !isLulusDashboardException &&\r\n x?.isActive && (\r\n \r\n {\r\n setModalRemoveException(true);\r\n setExceptionId(x?.RequestId);\r\n }}\r\n >\r\n {x?.Disposition === \"New\" ? (\r\n <>\r\n {\" \"}\r\n Delete{\" \"}\r\n \r\n ) : (\r\n <>\r\n {\" \"}\r\n Close{\" \"}\r\n \r\n )}\r\n \r\n \r\n )}\r\n \r\n ))}\r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n )}\r\n {/* \r\n \r\n
    Ticketing system
    \r\n
    \r\n \r\n \r\n \r\n <>\r\n \r\n \r\n */}\r\n \r\n \r\n
    \r\n {\" \"}\r\n PO Locations\r\n
    \r\n
    \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n
    \r\n PEOPLES\r\n
    \r\n
    \r\n \r\n \r\n\r\n \r\n \r\n \r\n {/* PO ACTIVITIES */}\r\n \r\n \r\n \r\n\r\n \r\n {\r\n setShow(false);\r\n }}\r\n className=\"btn btn-light btn-elevate w-25\"\r\n >\r\n Close\r\n \r\n \r\n\r\n {/* Modal Remove Exception */}\r\n {\r\n setModalRemoveException(false);\r\n }}\r\n aria-labelledby=\"example-modal-sizes-title-lg\"\r\n >\r\n \r\n Remove Exception ID #: {exceptionId}\r\n {\r\n setModalRemoveException(false);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n Are you sure that you want to Remove this Exception ?\r\n \r\n \r\n {\r\n setModalRemoveException(false);\r\n }}\r\n >\r\n No\r\n \r\n\r\n {\r\n await RemoveException();\r\n await GetExceptionList(Detail?.ReceiptNumber, checkedIsActive);\r\n setIsActiveFilter(false);\r\n Notification(\r\n \"success\",\r\n `Exception #: ${exceptionId} has been removed from Receipt #: ${Detail?.Id} successfully`\r\n );\r\n setModalRemoveException(false);\r\n window.$FilterExceptionsOn = true;\r\n $(\"#ReLoadTableId\").trigger(\"click\");\r\n if (\r\n document.getElementsByClassName(\"text-info\")[1]?.parentElement\r\n ?.nodeName === \"LI\"\r\n ) {\r\n document\r\n .getElementsByClassName(\"text-info\")[1]\r\n .parentElement.click();\r\n } else if (\r\n document.getElementsByClassName(\"text-info\")[0]?.parentElement\r\n ?.nodeName === \"LI\"\r\n ) {\r\n document\r\n .getElementsByClassName(\"text-info\")[0]\r\n .parentElement.click();\r\n }\r\n }}\r\n >\r\n Yes\r\n \r\n \r\n \r\n\r\n \r\n \r\n Exception's Notes #: {exceptionId}\r\n {\r\n setNotesExceptionsModal(false);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n {\r\n setNotesExceptionsModal(false);\r\n }}\r\n className=\"btn btn-light btn-elevate w-25\"\r\n >\r\n Close\r\n \r\n \r\n
    \r\n \r\n );\r\n}\r\n\r\nasync function GetLocations(\r\n Id,\r\n setList,\r\n setLocationsType,\r\n setLocationSelected\r\n) {\r\n return await fetch(\r\n `${window.$apiurl}/transload/GetLocationsByReceipt?id=${Id}`,\r\n {\r\n method: \"get\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n }\r\n )\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n try {\r\n var list = res[1];\r\n setLocationsType(list?.locationsType ?? []);\r\n setList(list?.viewModal ?? []);\r\n setLocationSelected(list?.locations ?? []);\r\n } catch (error) {\r\n Notification(\"error\", \"error\");\r\n }\r\n })\r\n .catch((error) => {\r\n Notification(\"error\", \"error\");\r\n });\r\n}\r\n\r\nfunction PoLocations({ Id }) {\r\n const [list, setList] = useState([]);\r\n const [LocationsType, setLocationsType] = useState([]);\r\n const [LocationSelected, setLocationSelected] = useState([]);\r\n\r\n useEffect(() => {\r\n window.LocatiosType = [];\r\n if (Id) GetLocations(Id, setList, setLocationsType, setLocationSelected);\r\n }, [Id]);\r\n\r\n useEffect(() => {\r\n if (LocationSelected?.length > 0) {\r\n setTimeout(() => {\r\n var el = document.getElementById(\"timelinehorizontal\");\r\n if (el) {\r\n el.scrollLeft = 10000;\r\n el.removeAttribute(\"style\");\r\n }\r\n }, 3000);\r\n }\r\n }, [LocationSelected]);\r\n\r\n return (\r\n
    \r\n {/* timeline */}\r\n
    \r\n \r\n
      \r\n {LocationSelected.map((x, index) => (\r\n \r\n
      \r\n \r\n \r\n {x?.User ?? \"Empty\"} moved {x?.EquipmentRef} to:\r\n \r\n \r\n {momentDate(x?.Created)}\r\n
      \r\n
      \r\n {(x?.Locations ?? []).map((child, index1) => (\r\n

      \r\n {child?.LocationName}{\" \"}\r\n - {child?.LocationType}\r\n

      \r\n ))}\r\n
      \r\n \r\n ))}\r\n
    \r\n
    \r\n
    \r\n {/* timeline */}\r\n
    \r\n );\r\n}\r\n","import React, { useState } from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport \"../../customers-table/FileViewerStyle.css\";\r\nimport DetailMangment from \"./DetailMangment\";\r\nexport default function ModelManagmentFirstDashboard({\r\n container,\r\n receiptId,\r\n isReporting,\r\n isDashboard,\r\n isLulusDashboardException,\r\n }) {\r\n const [Show, setShow] = useState(false);\r\n return (\r\n <>\r\n {\r\n setShow(false);\r\n }}\r\n aria-labelledby=\"example-modal-sizes-title-lg\"\r\n >\r\n \r\n \r\n setShow(true)}\r\n type=\"button\"\r\n className={`alert alert-light-info px-2 py-1 mt-3 text-primary bg-light`}\r\n value={container === \"N/A\" ? `${container} (LTL)` : `${container}`}\r\n />\r\n \r\n );\r\n }\r\n ","import React from \"react\";\r\nimport {\r\n NotificationContainer,\r\n NotificationManager,\r\n} from \"react-notifications\";\r\nimport \"react-notifications/lib/notifications.css\";\r\n\r\nexport function Notification(type, message) {\r\n switch (type) {\r\n case \"info\": {\r\n NotificationManager.info(message);\r\n break;\r\n }\r\n case \"success\": {\r\n NotificationManager.success(message);\r\n break;\r\n }\r\n case \"successQuick\": {\r\n NotificationManager.success(message, \"\", 1100);\r\n break;\r\n }\r\n case \"warning\": {\r\n NotificationManager.warning(message);\r\n break;\r\n }\r\n case \"error\": {\r\n NotificationManager.error(message);\r\n break;\r\n }\r\n case \"infoClick\": {\r\n NotificationManager.info(\r\n message,\r\n \"Click to Close\",\r\n 900000,\r\n () => {\r\n NotificationManager.remove(message);\r\n },\r\n true\r\n );\r\n break;\r\n }\r\n case \"errorClick\": {\r\n NotificationManager.error(\r\n message,\r\n \"Click to Close\",\r\n 900000,\r\n () => {\r\n NotificationManager.remove(message);\r\n },\r\n true\r\n );\r\n break;\r\n }\r\n }\r\n\r\n return ;\r\n}\r\n","import React, { useEffect, useState } from \"react\";\r\nimport { Modal, Spinner, OverlayTrigger, Tooltip } from \"react-bootstrap\";\r\nimport SVG from \"react-inlinesvg\";\r\nimport {\r\n Input,\r\n TextArea,\r\n CreatableSelect3,\r\n} from \"../../../../../../../../_metronic/_partials/controls\";\r\nimport { Field } from \"formik\";\r\nimport { LinearProgress, IconButton } from \"@material-ui/core\";\r\nimport { ReturnEmptyOrString } from \"../../../../../../../../_metronic/_helpers/ATHelpers\";\r\nimport { toAbsoluteUrl } from \"../../../../../../../../_metronic/_helpers\";\r\nimport $ from \"jquery\";\r\nimport { default as JsNative } from \"jquery\";\r\nimport CloseIcon from \"@material-ui/icons/Close\";\r\nimport { Notification } from \"../../../../../../Notification\";\r\nimport low from \"lowdb\";\r\nimport LocalStorage from \"lowdb/adapters/LocalStorage\";\r\nimport {\r\n AddSpace3,\r\n AutoRateComponent,\r\n AutoRatingCharges,\r\n AutoRatingItem,\r\n CalculateCharge,\r\n CategoryTotalId,\r\n ChargesColor,\r\n ChargesColorCategory,\r\n ChargesFirstColumn,\r\n ChargesRemoveComponent,\r\n checkIs0,\r\n CheckIsNigativeRate,\r\n CheckRateInCharges,\r\n GetLengthRound,\r\n InputValueCharge,\r\n InvoiceorBill,\r\n isChangeFunction,\r\n IsRounding,\r\n isVariableOpenDefault,\r\n listdistinctFunction,\r\n MenuListComposition,\r\n numberofSort,\r\n RateClassName,\r\n RateReadOnly,\r\n RemoveDuplicate,\r\n RemoveSpace,\r\n RoundToFixed,\r\n SetSubTotal,\r\n SortAndRename,\r\n SortOnlyCharge,\r\n Spinner2s,\r\n StartAutoRate,\r\n} from \"./ChargesFunction\";\r\nconst adapter = new LocalStorage(\"db\");\r\nconst db = low(adapter);\r\n\r\nconst catchError = [];\r\nexport const OneMoveMasterVendors = ({\r\n item,\r\n countId,\r\n Vendorsf = [],\r\n isInboundV = false,\r\n isPayableV = true,\r\n S_ChargesReadOnly = false,\r\n isShipment = false,\r\n ZipCode = false,\r\n ChargesId = \"\",\r\n TotalPallets = 0,\r\n GetChargesLink = \"/ordersRating/GetCharges\",\r\n GetCalculatedLink = \"/ordersRating/GetCalculatedCharges\",\r\n ParmPickUp = \"\",\r\n FreightChargeId,\r\n setFieldValue = false,\r\n}) => {\r\n const [VendorContact, setVendorContact] = useState([]);\r\n const [VendorDetail, setVendorDetail] = useState(null);\r\n const [VendorDelete, setVendorDelete] = useState(false);\r\n const [Vendors, setVendors] = useState([]);\r\n const [CarrierIdS, setCarrierIdS] = useState(0);\r\n const [ChargesFunctionOne, setChargesFunctionOne] = useState(false);\r\n const [FreightChargeList, setFreightChargeList] = useState([]);\r\n const [BillToOptionsList, setBillToOptionsList] = useState([]);\r\n const [VendorTypeOptionsList, setVendorTypeOptionsList] = useState([]);\r\n const [FreightChargeIdSelected, setFreightChargeIdSelected] = useState(null);\r\n const [BillToIdSelected, setBillToIdSelected] = useState(null);\r\n const [defaultFreightChargeId, setdefaultFreightChargeId] = useState(\r\n FreightChargeId\r\n );\r\n const [VendorTypeId, setVendorTypeId] = useState(item?.VendorTypeId);\r\n\r\n function setFieldValueF(a, b) {\r\n if (setFieldValue) setFieldValue(a, b);\r\n else window.setFieldValue(a, b);\r\n }\r\n\r\n useEffect(() => {\r\n setTimeout(() => {\r\n setChargesFunctionOne(true);\r\n }, 1000);\r\n window.OneMoveMasterVendors = Object.keys(item).length !== 0;\r\n setBillToIdSelected(item?.BillToId || null);\r\n\r\n var freightChargeId = +(\r\n document.querySelector('input[name=\"FreightChargeId\"]:checked')?.value ??\r\n 0\r\n );\r\n\r\n setdefaultFreightChargeId(freightChargeId);\r\n setFreightChargeIdSelected(\r\n item?.FreightChargeId || freightChargeId || null\r\n );\r\n }, []);\r\n\r\n const [ChargesReadOnly, setChargesReadOnly] = useState(\r\n item?.ArePayablesReadOnly\r\n );\r\n\r\n useEffect(() => {\r\n setChargesReadOnly(item?.ArePayablesReadOnly);\r\n }, [item?.ArePayablesReadOnly]);\r\n\r\n useEffect(() => {\r\n setFieldValueF(`Vendors[${countId}].ItemVendorId`, item?.Id);\r\n }, [item?.Id]);\r\n\r\n useEffect(() => {\r\n Vendorsf.forEach((x) => {\r\n let c = \"#000000\";\r\n if (x?.AlertType === \"Danger\") c = \"#ff5555\";\r\n else if (x?.AlertType === \"Warning\") c = \"#bbb000\";\r\n x.Color = c;\r\n });\r\n var v = Vendorsf.filter((x) => !!x?.IsActive || x?.Id === item?.VendorId);\r\n setVendors(v);\r\n\r\n setFreightChargeList(window.FreightCharges ?? []);\r\n setVendorTypeOptionsList(window.VendorTypeListOption ?? []);\r\n setBillToOptionsList(window.BillToOptionsList ?? []);\r\n }, [Vendorsf]);\r\n\r\n useEffect(() => {\r\n setCarrierIdS(item?.CarrierId || 0);\r\n }, [item?.CarrierId]);\r\n\r\n useEffect(() => {\r\n item.IdOrg = item?.Id;\r\n }, [item?.Id]);\r\n\r\n var listChargesSelect = [];\r\n var listChargesModel = VendorDetail?.Charges;\r\n if (listChargesModel) {\r\n listChargesModel.map((item, countId) => {\r\n listChargesSelect.push(item);\r\n });\r\n }\r\n function getVendorAddress(Id) {\r\n var myHeaders = new Headers();\r\n myHeaders.append(\"Authorization\", `Bearer ${db.read().getState()?.Token}`);\r\n\r\n var requestOptions = {\r\n method: \"GET\",\r\n headers: myHeaders,\r\n redirect: \"follow\",\r\n };\r\n\r\n return fetch(\r\n `${\r\n window.$apiurl\r\n }/TransloadReceipts/Address/${Id}?isCustomer=${false}&iswarehouse=${false}`,\r\n requestOptions\r\n )\r\n .then((response) => response.text())\r\n .then((result) => {\r\n var obj = JSON.parse(result);\r\n return obj;\r\n })\r\n .catch((error) => console.log(\"error\", error));\r\n }\r\n //Charges Rates Modal\r\n return (\r\n <>\r\n {!VendorDelete && (\r\n
    \r\n setChargesReadOnly(window.ChargesReadOnly)}\r\n />\r\n\r\n \r\n
    \r\n {(item?.IsDeletable || item?.IsDeletable === undefined) && (\r\n {\r\n setFieldValueF(`Vendors[${countId}]`, undefined);\r\n setVendorDelete(true);\r\n }}\r\n >\r\n )}\r\n
    \r\n
    \r\n \r\n {\r\n return {\r\n value: x?.Id,\r\n label: x?.Code + \" - \" + x?.Name,\r\n color: x?.Color,\r\n };\r\n })}\r\n valueSelect={item?.VendorId || 0}\r\n ColorBool={FreightChargeIdSelected === 98}\r\n onChange={async (newValue) => {\r\n var a = newValue?.value;\r\n var b = Vendors.find((x) => x.Id == a);\r\n if (window.OneMoveMasterVendors === true) {\r\n if (\r\n b?.AlertType === \"Danger\" &&\r\n FreightChargeIdSelected === 98\r\n ) {\r\n const alertMessage = b?.AlertMessage || [];\r\n alertMessage.map((x) => {\r\n const c =\r\n b?.AlertType === \"Danger\" ? \"error\" : \"warning\";\r\n Notification(c, newValue?.label + \" : \" + x);\r\n });\r\n }\r\n window.OneMoveMasterVendors = false;\r\n }\r\n setTimeout(() => {\r\n window.OneMoveMasterVendors = true;\r\n }, 3000);\r\n setFieldValueF(`Vendors[${countId}].VendorId`, a);\r\n setFieldValueF(`Vendors[${countId}].Id`, a);\r\n let obj = await getVendorAddress(a);\r\n setVendorContact(obj?.Contacts || []);\r\n setVendorDetail(obj);\r\n setCarrierIdS(obj?.CarrierId ?? 0);\r\n }}\r\n />\r\n {VendorDetail?.AlertType === \"Danger\" &&\r\n FreightChargeIdSelected === 98 && (\r\n \r\n * This Vendor is not Certified\r\n \r\n )}\r\n
    \r\n
    \r\n {ReturnEmptyOrString(VendorDetail?.CompanyName)}\r\n
    \r\n {ReturnEmptyOrString(VendorDetail?.Address)}
    \r\n {ReturnEmptyOrString(VendorDetail?.City)}.{\" \"}\r\n {ReturnEmptyOrString(VendorDetail?.State)}{\" \"}\r\n {ReturnEmptyOrString(VendorDetail?.ZipCode)}\r\n
    \r\n
    \r\n
    \r\n
    \r\n {\r\n return {\r\n value: x?.Id,\r\n label: x?.Name,\r\n };\r\n })}\r\n valueSelect={item?.ContactId || 0}\r\n onChange={async (newValue) => {\r\n setFieldValueF(\r\n `Vendors[${countId}].ContactId`,\r\n newValue?.value\r\n );\r\n }}\r\n />\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    {item?.VendorTypeId}
    \r\n {\r\n return {\r\n value: x?.Id,\r\n label: x?.Name,\r\n };\r\n })}\r\n valueSelect={\r\n item?.VendorTypeId || VendorTypeOptionsList[0]?.Id\r\n }\r\n onChange={async (newValue) => {\r\n setVendorTypeId(newValue?.value);\r\n setFieldValueF(\r\n `Vendors[${countId}].VendorTypeId`,\r\n newValue?.value\r\n );\r\n }}\r\n />\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    {item?.FreightChargeId}
    \r\n {\r\n return {\r\n value: x?.Id,\r\n label: x?.Name,\r\n };\r\n })}\r\n isDisabled={\r\n !(item?.IsDeletable || item?.IsDeletable === undefined)\r\n }\r\n valueSelect={\r\n item?.FreightChargeId ?? defaultFreightChargeId\r\n }\r\n onChange={async (newValue) => {\r\n setFreightChargeIdSelected(newValue?.value);\r\n setFieldValueF(\r\n `Vendors[${countId}].FreightChargeId`,\r\n newValue?.value\r\n );\r\n }}\r\n />\r\n
    \r\n
    \r\n
    \r\n
    \r\n {FreightChargeIdSelected === 100 && (\r\n <>\r\n
    {item?.VendorTypeId}
    \r\n {\r\n return {\r\n value: x.Id,\r\n label:\r\n `${!!x?.Code ? x?.Code + \"-\" : \"\"}` +\r\n (x?.Name !== undefined ? x?.Name : x?.CompanyName),\r\n };\r\n })}\r\n onChange={async (newValue) => {\r\n setBillToIdSelected(newValue?.value);\r\n setFieldValueF(\r\n `Vendors[${countId}].BillToId`,\r\n newValue?.value\r\n );\r\n }}\r\n />\r\n
    \r\n {ReturnEmptyOrString(\r\n BillToOptionsList.filter(\r\n (a) => a.Id === BillToIdSelected\r\n )[0]?.Name !== undefined\r\n ? BillToOptionsList.filter(\r\n (a) => a.Id === BillToIdSelected\r\n )[0]?.Name\r\n : BillToOptionsList.filter(\r\n (a) => a.Id === BillToIdSelected\r\n )[0]?.CompanyName\r\n )}\r\n
    \r\n {ReturnEmptyOrString(\r\n BillToOptionsList.filter(\r\n (a) => a.Id === BillToIdSelected\r\n )[0]?.Address1 !== undefined\r\n ? BillToOptionsList.filter(\r\n (a) => a.Id === BillToIdSelected\r\n )[0]?.Address1\r\n : BillToOptionsList.filter(\r\n (a) => a.Id === BillToIdSelected\r\n )[0]?.Address\r\n )}{\" \"}\r\n
    \r\n {ReturnEmptyOrString(\r\n BillToOptionsList.filter(\r\n (a) => a.Id === BillToIdSelected\r\n )[0]?.City\r\n )}\r\n .{\" \"}\r\n {ReturnEmptyOrString(\r\n BillToOptionsList.filter(\r\n (a) => a.Id === BillToIdSelected\r\n )[0]?.State\r\n )}{\" \"}\r\n {ReturnEmptyOrString(\r\n BillToOptionsList.filter(\r\n (a) => a.Id === BillToIdSelected\r\n )[0]?.ZipCode\r\n )}\r\n
    \r\n \r\n )}\r\n
    \r\n
    \r\n {ChargesFunctionOne && VendorDetail?.Id && (\r\n \r\n )}\r\n
    \r\n
    \r\n
    \r\n )}\r\n \r\n );\r\n};\r\n\r\nconst ChargesFunction = ({\r\n isInbound,\r\n isPayable,\r\n type,\r\n list,\r\n ChargesId = \"\",\r\n VendorTypeId,\r\n CarrierIdS,\r\n countId,\r\n isShipment,\r\n S_ChargesReadOnly,\r\n GetCalculatedLink,\r\n ZipCode,\r\n GetChargesLink,\r\n VendorDetail,\r\n TotalPallets,\r\n ParmPickUp,\r\n isVariableOpen = isVariableOpenDefault,\r\n setFieldValue = { setFieldValue },\r\n}) => {\r\n const [ChargeModel, setChargeModel] = useState({\r\n Show: false,\r\n Type: \"success\",\r\n });\r\n const [Charges, setCharges] = useState(list);\r\n const [ChargesRemove, setChargesRemove] = useState([]);\r\n const [ChargesN, setChargesN] = useState(catchError);\r\n const [loadingCharges, setloadingCharges] = useState(true);\r\n const [FilterCharges, setFilterCharges] = useState(\"\");\r\n const [AutoRatingModal, setAutoRatingModal] = useState(false);\r\n const [AutoRatingCheck, setAutoRatingCheck] = useState([]);\r\n const [NoteModal, setNoteModal] = useState({\r\n Show: false,\r\n Id: 0,\r\n Code: \"\",\r\n });\r\n //vendor\r\n const [ReloadCalc, setReloadCalc] = useState(0);\r\n function setReloadCalcF() {\r\n setReloadCalc((y) => y + 1);\r\n }\r\n\r\n useEffect(() => {\r\n if (!ChargeModel?.Show) CalcTotal();\r\n }, [ChargeModel]);\r\n\r\n useEffect(() => {\r\n if (CarrierIdS) GetPayableForVendor({ button: false });\r\n else setloadingCharges(false);\r\n }, [ReloadCalc, VendorTypeId, CarrierIdS]);\r\n\r\n function FieldID(name) {\r\n return document.getElementById(name)?.value ?? \"\";\r\n }\r\n\r\n const GetPayableForVendor = ({ button }) => {\r\n setloadingCharges(true);\r\n\r\n const customerId = FieldID(\"C_CustomerId\" + ChargesId);\r\n const serviceId = FieldID(\"C_ServiceId\" + ChargesId);\r\n const modeId = FieldID(\"C_ModeId\" + ChargesId);\r\n const serviceLevelId = FieldID(\"C_ServiceLevelId\" + ChargesId);\r\n const equipmentTypeId = FieldID(\"C_EquipmentTypeId\" + ChargesId);\r\n const equipmentSizeId = FieldID(\"C_EquipmentSizeId\" + ChargesId);\r\n const date = isShipment\r\n ? FieldID(\"C_PuAppointment\" + ChargesId)\r\n : FieldID(\"C_ReceivedDate\" + ChargesId);\r\n const CarrierId = CarrierIdS;\r\n const fromCity = FieldID(\"C_fromCity\" + ChargesId);\r\n const fromAddress = FieldID(\"C_fromAddress\" + ChargesId);\r\n const fromState = FieldID(\"C_fromState\" + ChargesId);\r\n const fromZipCode = FieldID(\"C_fromZipCode\" + ChargesId);\r\n const toCity = FieldID(\"C_toCity\" + ChargesId);\r\n const toAddress = FieldID(\"C_toAddress\" + ChargesId);\r\n const toState = FieldID(\"C_toState\" + ChargesId);\r\n const toZipCode = FieldID(\"C_toZipCode\" + ChargesId);\r\n\r\n try {\r\n var myHeaders = new Headers();\r\n myHeaders.append(\"Authorization\", `bearer ${db.read().getState().Token}`);\r\n myHeaders.append(\"Content-Type\", \"application/json\");\r\n myHeaders.append(\"X-FP-API-KEY\", \"iphone\");\r\n var requestOptions = {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: myHeaders,\r\n redirect: \"follow\",\r\n };\r\n let thisLink = GetChargesLink;\r\n if (\r\n GetChargesLink === \"/ordersRating/GetCharges\" ||\r\n GetChargesLink === \"/ordersrating/GetChargesForPickup\"\r\n )\r\n thisLink += `?customerId=${customerId}&serviceId=${serviceId}&serviceLevelId=${serviceLevelId}&ModeId=${modeId}&isInbound=${isInbound}&isPayable=${isPayable}&carrierId=${CarrierId}&equipmentTypeId=${equipmentTypeId}&equipmentSizeId=${equipmentSizeId}&fromCity=${fromCity}&fromAddress=${fromAddress}&fromState=${fromState}&fromZipCode=${fromZipCode}&toCity=${toCity}&toAddress=${toAddress}&toState=${toState}&toZipCode=${toZipCode}&date=${date}${ParmPickUp}&VendorTypeId=${VendorTypeId}`;\r\n\r\n fetch(window.$apiurl + thisLink, requestOptions)\r\n .then((response) => response.json())\r\n .then(async (result) => {\r\n try {\r\n setChargesN([]);\r\n\r\n //vendor only\r\n var thisList = window[\"List\" + type + countId + ChargesId];\r\n thisList = thisList.filter(\r\n (x) => x?.VendorId === +VendorDetail?.Id\r\n );\r\n //vendor only\r\n\r\n let chargesVar = thisList;\r\n\r\n chargesVar = CheckRateInCharges(\r\n chargesVar,\r\n result,\r\n S_ChargesReadOnly,\r\n setChargesRemove\r\n );\r\n\r\n if (type === \"Payables\") {\r\n var findv = chargesVar.find(\r\n (x) => !x.IsReadOnly && x?.VendorBillId !== null\r\n );\r\n if (findv)\r\n window[\"List\" + type + countId + ChargesId + \"v\"] = [\r\n findv.VendorBillId,\r\n findv.VendorBill,\r\n ];\r\n else window[\"List\" + type + countId + ChargesId + \"v\"] = [];\r\n }\r\n\r\n let objCalc = [];\r\n if (button) objCalc = await GetPayableForVendorCalc();\r\n else\r\n objCalc =\r\n chargesVar?.length === 0 ? await GetPayableForVendorCalc() : [];\r\n\r\n var idv = \"List\" + type + countId + ChargesId + \"v\";\r\n objCalc = RemoveDuplicate(chargesVar, objCalc, type, idv);\r\n\r\n chargesVar = JSON.parse(JSON.stringify(chargesVar));\r\n chargesVar.forEach((x) => {\r\n x.Id2 = x?.Id;\r\n x.Id = x?.ChargeId;\r\n });\r\n let allObjs = chargesVar.concat(objCalc);\r\n\r\n let resArr = [];\r\n allObjs.filter(function(item) {\r\n resArr.push({ ...item, ChargeId: item?.Id });\r\n });\r\n\r\n var a = [];\r\n (result || []).forEach((x) => {\r\n var i = allObjs.find((y) => y?.Id === x?.Id);\r\n if (i === undefined) a.push(x);\r\n });\r\n\r\n //get auto rate\r\n resArr = (await StartAutoRate(resArr, ChargesId)) ?? [];\r\n\r\n setCharges(resArr || []);\r\n setChargesN(a || []);\r\n setloadingCharges(false);\r\n\r\n if (button)\r\n setTimeout(() => {\r\n document.getElementById(\"AutoRatingBtn\" + countId).click();\r\n }, 1000);\r\n } catch (err) {\r\n console.error(err);\r\n }\r\n })\r\n .catch((error) => console.log(\"error\", error));\r\n } catch (e) {}\r\n };\r\n\r\n async function GetPayableForVendorCalc() {\r\n if (S_ChargesReadOnly === true) return [];\r\n const customerId = FieldID(\"C_CustomerId\" + ChargesId);\r\n const serviceId = FieldID(\"C_ServiceId\" + ChargesId);\r\n const modeId = FieldID(\"C_ModeId\" + ChargesId);\r\n const serviceLevelId = FieldID(\"C_ServiceLevelId\" + ChargesId);\r\n const equipmentTypeId = FieldID(\"C_EquipmentTypeId\" + ChargesId);\r\n const equipmentSizeId = FieldID(\"C_EquipmentSizeId\" + ChargesId);\r\n const date = isShipment\r\n ? FieldID(\"C_PuAppointment\" + ChargesId)\r\n : FieldID(\"C_ReceivedDate\" + ChargesId);\r\n const CarrierId = CarrierIdS;\r\n const fromCity = FieldID(\"C_fromCity\" + ChargesId);\r\n const fromAddress = FieldID(\"C_fromAddress\" + ChargesId);\r\n const fromState = FieldID(\"C_fromState\" + ChargesId);\r\n const fromZipCode = FieldID(\"C_fromZipCode\" + ChargesId);\r\n const toCity = FieldID(\"C_toCity\" + ChargesId);\r\n const toAddress = FieldID(\"C_toAddress\" + ChargesId);\r\n const toState = FieldID(\"C_toState\" + ChargesId);\r\n const toZipCode = FieldID(\"C_toZipCode\" + ChargesId);\r\n\r\n let thisLink = GetCalculatedLink;\r\n if (\r\n GetCalculatedLink === \"/ordersRating/GetCalculatedCharges\" ||\r\n GetCalculatedLink === \"/ordersrating/GetCalculatedChargesForPickup\"\r\n )\r\n thisLink += `?customerId=${customerId}&serviceId=${serviceId}&serviceLevelId=${serviceLevelId}&ModeId=${modeId}&isInbound=${isInbound}&isPayable=${isPayable}&carrierId=${CarrierId}&equipmentTypeId=${equipmentTypeId}&equipmentSizeId=${equipmentSizeId}&fromCity=${fromCity}&fromAddress=${fromAddress}&fromState=${fromState}&fromZipCode=${fromZipCode}&toCity=${toCity}&toAddress=${toAddress}&toState=${toState}&toZipCode=${toZipCode}&date=${date}${ParmPickUp}&VendorTypeId=${VendorTypeId}`;\r\n\r\n return await fetch(window.$apiurl + thisLink, {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n const a = [];\r\n res[1].map((x) => {\r\n var quantity = TotalPallets;\r\n if (x.MinCharge > 0 && x.MaxCharge > 0) quantity = 1;\r\n a.push({ ...x, Calc: true, Quantity: quantity });\r\n });\r\n return a;\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n\r\n function CalcTotal() {\r\n var sum = 0;\r\n $(`.RatesTotal-${type + countId + ChargesId}`).each(function() {\r\n var a = Number(\r\n $(this)\r\n .find(\"input\")\r\n .val()\r\n );\r\n $(this)\r\n .find(\"input\")\r\n .val(a.toFixed(2));\r\n sum += a;\r\n });\r\n $(`.RateAllTotal-${type + countId}-${ChargesId} span`).text(AddSpace3(sum));\r\n\r\n document\r\n .querySelectorAll(`.Charges2-${type + countId + ChargesId} span`)\r\n .forEach((element) => {\r\n var category = element.getAttribute(\"data-Name\");\r\n var invoice = element.getAttribute(\"data-Invoice\");\r\n var vendorBill = element.getAttribute(\"data-VendorBill\");\r\n var filter = Charges.filter(\r\n (x) =>\r\n x?.Category === category &&\r\n ((x?.Invoice === invoice && type === \"Charges\") ||\r\n (x?.VendorBill === vendorBill && type === \"Payables\"))\r\n );\r\n var a = filter.reduce(\r\n (total, x) =>\r\n CalculateCharge({\r\n Rate: x?.Rate,\r\n Quantity: RoundToFixed(\r\n x?.Quantity ?? 0,\r\n x?.Rounding,\r\n x?.IsRounding\r\n ),\r\n rateType: x?.RateType,\r\n MinCharge: x?.MinCharge,\r\n MaxCharge: x?.MaxCharge,\r\n FreeTime: x?.FreeTime,\r\n OriAddSup: x?.OriAddSup,\r\n }) + total,\r\n 0\r\n );\r\n element.innerText = \"Sub Total : \" + AddSpace3(a);\r\n\r\n var str =\r\n \".\" +\r\n CategoryTotalId(\r\n category,\r\n invoice,\r\n vendorBill,\r\n `${type}-${countId}-${ChargesId}`,\r\n type\r\n );\r\n SetSubTotal(a, str);\r\n });\r\n }\r\n\r\n useEffect(() => {\r\n let a = [];\r\n\r\n Charges.map((x) =>\r\n a.push({\r\n ...x,\r\n ChargeId: x?.ChargeId || x?.Id,\r\n Code: x?.Code,\r\n Name: x?.Name,\r\n Quantity:\r\n RoundToFixed(x?.Quantity ?? 0, x?.Rounding, x?.IsRounding) || 0,\r\n Rate: x?.Rate,\r\n Position: x?.Position,\r\n CategoryPosition: x?.CategoryPosition,\r\n OriAddSup: x?.OriAddSup,\r\n Invoice: x?.Invoice || \"\",\r\n InvoiceId: +x?.InvoiceId || null,\r\n VendorId: VendorDetail?.Id || null, //vendor only\r\n IsReadOnly: x?.IsReadOnly || false,\r\n Note: x?.Note,\r\n MinCharge: x?.MinCharge,\r\n MaxCharge: x?.MaxCharge,\r\n FreeTime: x?.FreeTime,\r\n RateType: x?.RateType,\r\n Calcul: x?.Calcul,\r\n Category: x?.Category,\r\n DateEnd: x?.DateEnd,\r\n DateStart: x?.DateStart,\r\n QuoteId: x?.QuoteId,\r\n Rounding: x?.Rounding,\r\n CalculName: x?.CalculName,\r\n RatingTable: x?.RatingTable,\r\n })\r\n );\r\n\r\n a.forEach((x) => {\r\n if (x.InvoiceId === numberofSort) x.InvoiceId = null;\r\n else if (x.VendorBillId === numberofSort) x.VendorBillId = null;\r\n });\r\n\r\n window[\"List\" + type + countId + ChargesId] = a;\r\n if (type === \"Charges\") {\r\n window.OnemoveMasterCharges = a;\r\n }\r\n if (type === \"Payables\") {\r\n setFieldValue(`Vendors[${countId}].Payables`, a);\r\n }\r\n CalcTotal();\r\n }, [Charges, ChargesN]);\r\n\r\n function CheckHidden(param1, param2) {\r\n return param1?.toLowerCase()?.includes(param2?.toLowerCase())\r\n ? \"row\"\r\n : \"d-none\";\r\n }\r\n\r\n return (\r\n
    \r\n {/* Only Vendors */}\r\n setReloadCalcF()}\r\n />\r\n\r\n \r\n \r\n \r\n
    Customer Charges
    \r\n
    \r\n setFilterCharges(e.target.value?.trim() ?? \"\")}\r\n />\r\n
    \r\n \r\n setChargeModel({ Show: false, Type: \"success\" })}\r\n >\r\n \r\n \r\n
    \r\n \r\n {listdistinctFunction(\r\n ChargeModel?.Type === \"info\" ? Charges : ChargesN,\r\n ChargeModel?.Type,\r\n ChargeModel?.Show\r\n )?.map((x, index) => (\r\n \r\n \r\n
    \r\n \r\n {\" \"}\r\n {x.Code}\r\n }\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n {x?.Name}\r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n 0 && x.MaxCharge > 0 ? 1 : x?.Quantity ?? 0\r\n }\r\n />\r\n \r\n \r\n
    \r\n
    \r\n {\r\n const isInfo = ChargeModel?.Type === \"info\";\r\n let a = JSON.parse(JSON.stringify(Charges)) || [];\r\n var listCharge = isInfo ? Charges : ChargesN;\r\n var c = ChargesN?.filter((y) => y?.Id !== x?.Id);\r\n var b = listCharge?.find((y) => y?.Id === x?.Id);\r\n if (b || isInfo) {\r\n var color = 0;\r\n if (ChargeModel?.Type === \"primary\") color = 1;\r\n else if (isInfo) color = 2;\r\n\r\n /* var quantity = TotalPallets ?? 0;\r\n if (b.MinCharge > 0 && b.MaxCharge > 0) quantity = 1; */\r\n\r\n var value = +document.getElementById(\r\n \"ChargeN\" + index + ChargesId\r\n ).value;\r\n value = CheckIsNigativeRate(value, x?.OriAddSup);\r\n\r\n if (type === \"Payables\") {\r\n b.VendorBillId = numberofSort;\r\n b.VendorBill = \"Empty\";\r\n\r\n var find =\r\n window[\"List\" + type + countId + ChargesId + \"v\"];\r\n if (find && find.length > 0) {\r\n b.VendorBillId = find[0];\r\n b.VendorBill = find[1];\r\n }\r\n }\r\n\r\n a.push({\r\n ...b,\r\n Id: b?.Id,\r\n ChargeId: b?.Id,\r\n Rate: b?.Rate,\r\n Name: b?.Name,\r\n Code: b?.Code,\r\n Quantity: value,\r\n RateType: b?.RateType,\r\n MinCharge: b?.MinCharge,\r\n MaxCharge: b?.MaxCharge,\r\n Position: b?.Position,\r\n CategoryPosition: b?.CategoryPosition,\r\n FreeTime: b?.FreeTime,\r\n Calcul: b?.Calcul,\r\n Category: b?.Category,\r\n IsVariable: x?.IsVariable || false,\r\n Invoice: \"\",\r\n VendorId: VendorDetail?.Id || null,\r\n OriAddSup: color,\r\n IsReadOnly: false,\r\n DateEnd: FieldID(\"DateEnd\" + index + ChargesId),\r\n DateStart: FieldID(\"DateStart\" + index + ChargesId),\r\n QuoteId: b?.QuoteId,\r\n Rounding: b?.Rounding,\r\n CalculName: b?.CalculName,\r\n RatingTable: b?.RatingTable,\r\n });\r\n }\r\n\r\n setCharges(a);\r\n if (!isInfo) setChargesN(c);\r\n\r\n setTimeout(() => {\r\n if (\r\n (c?.length === 0 && !isInfo) ||\r\n (a?.length === 0 && isInfo)\r\n )\r\n setChargeModel({ Show: false, Type: \"success\" });\r\n }, 1);\r\n }}\r\n >\r\n \r\n \r\n
    \r\n
    \r\n ))}\r\n {(ChargeModel?.Type === \"info\" ? Charges : ChargesN)?.length ===\r\n 0 && (\r\n
    \r\n \r\n
    \r\n )}\r\n \r\n \r\n
    \r\n setChargeModel({ Show: false, Type: \"success\" })}\r\n className=\"btn btn-light btn-elevate\"\r\n >\r\n Cancel\r\n \r\n
    \r\n
    \r\n \r\n\r\n {/* Auto Rating ---------------------------------------- */}\r\n \r\n {/* Auto Rating ---------------------------------------- */}\r\n\r\n \r\n \r\n \r\n Note : {NoteModal?.Code}\r\n \r\n setNoteModal({ Show: false })}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n setNoteModal({ Show: false })}\r\n className=\"btn btn-light btn-elevate\"\r\n >\r\n Cancel\r\n \r\n {!(S_ChargesReadOnly\r\n ? true\r\n : Charges[NoteModal?.index]?.IsReadOnly) && (\r\n {\r\n var note = JsNative(\"#NoteCharges\").val();\r\n if (NoteModal?.index > -1) {\r\n let c = Charges;\r\n c[NoteModal?.index].Note = note;\r\n setCharges([]);\r\n setTimeout(() => {\r\n setCharges(c || []);\r\n setNoteModal({ Show: false });\r\n }, 1);\r\n }\r\n }}\r\n className=\"btn btn-primary btn-elevate ml-2\"\r\n >\r\n OK\r\n \r\n )}\r\n
    \r\n
    \r\n \r\n {loadingCharges && (\r\n
    \r\n \r\n
    \r\n )}\r\n
    \r\n
    \r\n
    \r\n {Charges?.map((x, index) => (\r\n

    {x?.Calcul}

    \r\n ))}\r\n
    \r\n \r\n \r\n \r\n Code\r\n Name\r\n Rate\r\n Quantity\r\n Total\r\n Remove\r\n Action\r\n \r\n \r\n {SortAndRename(Charges, type)?.map((x, index) => {\r\n const iiii =\r\n x?.ChargeId +\r\n \"\" +\r\n index +\r\n \"\" +\r\n countId +\r\n ChargesId +\r\n (x?.Invoice ?? \"\") +\r\n (x?.VendorBill ?? \"\");\r\n return (\r\n <>\r\n \r\n \r\n\r\n {x?.CategoryAppend !== \"\" && (\r\n <>\r\n \r\n \r\n \r\n \r\n {x?.Category}\r\n \r\n Sub Total : 0.00\r\n \r\n \r\n \r\n \r\n \r\n \r\n )}\r\n\r\n \r\n \r\n {isChangeFunction(x)}\r\n \r\n \r\n \r\n \r\n {x?.Name}\r\n \r\n {x?.IsVariable}\r\n {\r\n if (e.detail === 2 && x?.IsVariable === true) {\r\n e.target.readOnly = false;\r\n $(e.target).removeClass(\"bg-light\");\r\n }\r\n }}\r\n onBlur={(e) => {\r\n const value = CheckIsNigativeRate(\r\n +e.target.value,\r\n x?.OriAddSup\r\n );\r\n e.target.value = value;\r\n\r\n var b = JSON.parse(JSON.stringify(Charges));\r\n var a = b.findIndex(\r\n (y) =>\r\n y.ChargeId === x?.ChargeId &&\r\n y.OriAddSup === x?.OriAddSup &&\r\n y?.InvoiceId === x?.InvoiceId &&\r\n y?.VendorBillId === x?.VendorBillId\r\n );\r\n if (a > -1) {\r\n b[a].Rate = value;\r\n setCharges(b);\r\n }\r\n const c = CalculateCharge({\r\n Rate: value,\r\n Quantity: RoundToFixed(\r\n x?.Quantity ?? 0,\r\n x?.Rounding,\r\n x?.IsRounding\r\n ),\r\n rateType: x?.RateType,\r\n MinCharge: x?.MinCharge,\r\n MaxCharge: x?.MaxCharge,\r\n FreeTime: x?.FreeTime,\r\n OriAddSup: x?.OriAddSup,\r\n });\r\n $(`.RatesTotal${iiii} input`).val(c.toFixed(2));\r\n }}\r\n />\r\n \r\n \r\n \r\n {\r\n var value = +e.target.value;\r\n if (type === \"Payables\" && value < 0) {\r\n value = CheckIsNigativeRate(value, x?.OriAddSup);\r\n e.target.value = value;\r\n }\r\n\r\n var b = JSON.parse(JSON.stringify(Charges));\r\n var a = b.findIndex(\r\n (y) =>\r\n y.ChargeId === x?.ChargeId &&\r\n y.OriAddSup === x?.OriAddSup &&\r\n y?.InvoiceId === x?.InvoiceId &&\r\n y?.VendorBillId === x?.VendorBillId\r\n );\r\n if (a > -1) {\r\n b[a].Quantity = value;\r\n setCharges(b);\r\n }\r\n const c = CalculateCharge({\r\n Rate: x?.Rate,\r\n Quantity: value,\r\n rateType: x?.RateType,\r\n MinCharge: x?.MinCharge,\r\n MaxCharge: x?.MaxCharge,\r\n FreeTime: x?.FreeTime,\r\n OriAddSup: x?.OriAddSup,\r\n });\r\n $(`.RatesTotal${iiii} input`).val(c.toFixed(2));\r\n }}\r\n onChange={(e) => {\r\n if (x?.IsRounding === true)\r\n GetLengthRound(e, x?.Rounding);\r\n }}\r\n defaultValue={InputValueCharge(x, S_ChargesReadOnly)}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n {\r\n let a = Charges || [];\r\n let b = ChargesN || [];\r\n a = a?.filter((y) => y !== x);\r\n if (x?.OriAddSup !== 2)\r\n b.push({\r\n ...x,\r\n Id: x?.ChargeId,\r\n Rate: x?.Rate,\r\n Name: x?.Name,\r\n Code: x?.Code,\r\n Quantity: 1,\r\n RateType: x?.RateType,\r\n MinCharge: x?.MinCharge,\r\n MaxCharge: x?.MaxCharge,\r\n FreeTime: x?.FreeTime,\r\n Position: x?.Position,\r\n CategoryPosition: x?.CategoryPosition,\r\n Calcul: x?.Calcul,\r\n Category: x?.Category,\r\n IsVariable: x?.IsVariable || false,\r\n Invoice: x?.Invoice,\r\n InvoiceId: x?.InvoiceId,\r\n OriAddSup: x?.OriAddSup,\r\n IsReadOnly: x?.IsReadOnly || false,\r\n DateEnd: x?.DateEnd,\r\n DateStart: x?.DateStart,\r\n QuoteId: x?.QuoteId,\r\n Rounding: x?.Rounding,\r\n CalculName: x?.CalculName,\r\n RatingTable: x?.RatingTable,\r\n });\r\n\r\n setCharges(a);\r\n setChargesN(b);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n {\r\n var autoRatingCheck = [x?.Id];\r\n setAutoRatingCheck(autoRatingCheck);\r\n\r\n var find = SortOnlyCharge(\r\n Charges,\r\n autoRatingCheck\r\n ).length;\r\n\r\n if (find > 0) setAutoRatingModal(true);\r\n else\r\n AutoRatingCharges({\r\n setAutoRatingModal: setAutoRatingModal,\r\n setCharges: setCharges,\r\n Charges: Charges,\r\n bool: true,\r\n AutoRatingCheck: AutoRatingCheck,\r\n IndexId: ChargesId,\r\n });\r\n }}\r\n >\r\n \r\n \r\n }\r\n Child2={\r\n {\r\n setNoteModal({\r\n Show: true,\r\n Id: x?.ChargeId,\r\n Code: x?.Code,\r\n Note: x?.Note,\r\n index: index,\r\n });\r\n }}\r\n >\r\n \r\n \r\n }\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {(x?.FreeTime || null) !== null && (\r\n \r\n FT : {ReturnEmptyOrString(x?.FreeTime)}\r\n \r\n )}\r\n {(x?.MinCharge || null) !== null && (\r\n \r\n Min : {ReturnEmptyOrString(x?.MinCharge)}\r\n \r\n )}\r\n {(x?.MaxCharge || null) !== null && (\r\n \r\n Max : {ReturnEmptyOrString(x?.MaxCharge)}\r\n \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n {x?.SubTotal && (\r\n \r\n \r\n \r\n \r\n \r\n \r\n Sub Total\r\n

    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )}\r\n \r\n \r\n );\r\n })}\r\n \r\n \r\n \r\n \r\n

    \r\n Total\r\n

    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n {ChargesRemove?.length > 0 && (\r\n \r\n )}\r\n {Charges?.length === 0 && }\r\n
    \r\n {Charges.findIndex((x) => x?.IsReadOnly === true) === -1 && (\r\n {\r\n setChargeModel({ Show: true, Type: \"success\" });\r\n }}\r\n disabled={\r\n S_ChargesReadOnly || ChargesN?.length === 0 || loadingCharges\r\n }\r\n >\r\n Add Charge\r\n \r\n )}\r\n {Charges.findIndex((x) => x?.IsReadOnly === true) > -1 && (\r\n <>\r\n {\r\n setChargeModel({ Show: true, Type: \"primary\" });\r\n }}\r\n disabled={\r\n S_ChargesReadOnly ||\r\n ChargesN?.length === 0 ||\r\n Charges.findIndex((x) => x?.OriAddSup === 2 && !x?.IsReadOnly) >\r\n -1\r\n }\r\n >\r\n Add Additional\r\n \r\n {\r\n setChargeModel({ Show: true, Type: \"info\" });\r\n }}\r\n disabled={\r\n S_ChargesReadOnly ||\r\n Charges?.length === 0 ||\r\n Charges.findIndex((x) => x?.OriAddSup === 1 && !x?.IsReadOnly) >\r\n -1\r\n }\r\n >\r\n Add Supplemental\r\n \r\n \r\n )}\r\n {ZipCode && PickUp Zip Code : {ZipCode}}\r\n
    \r\n
    \r\n {\r\n var list = [];\r\n Charges.filter((y) => !y?.IsReadOnly).forEach((x) =>\r\n list.push(x?.Id)\r\n );\r\n setAutoRatingCheck(list);\r\n\r\n var find = SortOnlyCharge(Charges).length;\r\n if (find > 0) setAutoRatingModal(true);\r\n else\r\n AutoRatingCharges({\r\n setAutoRatingModal: setAutoRatingModal,\r\n setCharges: setCharges,\r\n Charges: Charges,\r\n bool: true,\r\n AutoRatingCheck: AutoRatingCheck,\r\n IndexId: ChargesId,\r\n });\r\n }}\r\n >\r\n Auto Rate\r\n \r\n\r\n {\r\n //get type --------------------------------------------------\r\n var type = e.target.getAttribute(\"data-type\");\r\n\r\n var list = [];\r\n Charges.filter((x) => type.includes(x.Calcul)).forEach((x) => {\r\n if (type.includes(\"perdaychassis\")) {\r\n x.DateStart = FieldID(\"C_PickedUpDate\" + ChargesId);\r\n x.DateEnd = FieldID(\"C_TerminatedDate\" + ChargesId);\r\n }\r\n list.push(x?.Id);\r\n });\r\n var autoRatingCheck = list;\r\n setAutoRatingCheck(list);\r\n\r\n //get type --------------------------------------------------\r\n\r\n var find = SortOnlyCharge(Charges, autoRatingCheck).length;\r\n if (find > 0) setAutoRatingModal(true);\r\n else\r\n AutoRatingCharges({\r\n setAutoRatingModal: setAutoRatingModal,\r\n setCharges: setCharges,\r\n Charges: Charges,\r\n bool: true,\r\n AutoRatingCheck: AutoRatingCheck,\r\n IndexId: ChargesId,\r\n });\r\n }}\r\n />\r\n
    \r\n
    \r\n {\r\n GetPayableForVendor({ button: true });\r\n }}\r\n >\r\n {loadingCharges && (\r\n \r\n )}\r\n Calculated\r\n \r\n
    \r\n
    \r\n );\r\n};\r\n","import axios from \"axios\";\r\n\r\nexport const REMARKS_URL = \"api/FindOrderContainers\";\r\n\r\n// CREATE => POST: add a new remark to the server\r\nexport function createRemark(remark) {\r\n return axios.post(REMARKS_URL, { remark });\r\n}\r\n\r\n// READ\r\n// Server should return filtered remarks by productId\r\nexport function getAllProductRemarksByProductId(productId) {\r\n return axios.get(`${REMARKS_URL}?productId=${productId}`);\r\n}\r\n\r\nexport function getRemarkById(remarkId) {\r\n return axios.get(`${REMARKS_URL}/${remarkId}`);\r\n}\r\n\r\n// Server should return sorted/filtered remarks and merge with items from state\r\n// TODO: Change your URL to REAL API, right now URL is 'api/remarksfind/{productId}'. Should be 'api/remarks/find/{productId}'!!!\r\nexport function findRemarks(queryParams, productId) {\r\n return axios.post(`${REMARKS_URL}find/${productId}`, { queryParams });\r\n}\r\n\r\n// UPDATE => PUT: update the remark\r\nexport function updateRemark(remark) {\r\n return axios.put(`${REMARKS_URL}/${remark.id}`, { remark });\r\n}\r\n\r\n// DELETE => delete the remark\r\nexport function deleteRemark(remarkId) {\r\n return axios.delete(`${REMARKS_URL}/${remarkId}`);\r\n}\r\n\r\n// DELETE Remarks by ids\r\nexport function deleteRemarks(ids) {\r\n return axios.post(`${REMARKS_URL}/deleteRemarks`, { ids });\r\n}\r\n","import {createSlice} from \"@reduxjs/toolkit\";\r\n\r\nconst initialRemarksState = {\r\n listLoading: false,\r\n actionsLoading: false,\r\n totalCount: 0,\r\n entities: null,\r\n remarkForEdit: undefined,\r\n lastError: null\r\n};\r\nexport const callTypes = {\r\n list: \"list\",\r\n action: \"action\"\r\n};\r\n\r\nexport const remarksSlice = createSlice({\r\n name: \"remarks\",\r\n initialState: initialRemarksState,\r\n reducers: {\r\n catchError: (state, action) => {\r\n state.error = `${action.type}: ${action.payload.error}`;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = false;\r\n } else {\r\n state.actionsLoading = false;\r\n }\r\n },\r\n startCall: (state, action) => {\r\n state.error = null;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = true;\r\n } else {\r\n state.actionsLoading = true;\r\n }\r\n },\r\n // getRemarkById\r\n remarkFetched: (state, action) => {\r\n state.actionsLoading = false;\r\n state.remarkForEdit = action.payload.remarkForEdit;\r\n state.error = null;\r\n },\r\n // findRemarks\r\n remarksFetched: (state, action) => {\r\n const { totalCount, entities } = action.payload;\r\n state.listLoading = false;\r\n state.error = null;\r\n state.entities = entities;\r\n state.totalCount = totalCount;\r\n },\r\n // createRemark\r\n remarkCreated: (state, action) => {\r\n state.actionsLoading = false;\r\n state.error = null;\r\n state.entities.push(action.payload.remark);\r\n },\r\n // updateRemark\r\n remarkUpdated: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.map(entity => {\r\n if (entity.id === action.payload.remark.id) {\r\n return action.payload.remark;\r\n }\r\n return entity;\r\n });\r\n },\r\n // deleteRemark\r\n remarkDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(el => el.id !== action.payload.id);\r\n },\r\n // deleteRemarks\r\n remarksDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(\r\n el => !action.payload.ids.includes(el.id)\r\n );\r\n },\r\n // remarksUpdateState\r\n remarksStatusUpdated: (state, action) => {\r\n state.actionsLoading = false;\r\n state.error = null;\r\n const { ids, status } = action.payload;\r\n state.entities = state.entities.map(entity => {\r\n if (ids.findIndex(id => id === entity.id) > -1) {\r\n entity.status = status;\r\n }\r\n return entity;\r\n });\r\n }\r\n }\r\n});\r\n","import * as requestFromServer from \"./remarksCrud\";\r\nimport {remarksSlice, callTypes} from \"./remarksSlice\";\r\n\r\nconst {actions} = remarksSlice;\r\n\r\nexport const fetchRemarks = (queryParams, productId) => dispatch => {\r\n dispatch(actions.startCall({ callType: callTypes.list }));\r\n if (!productId) {\r\n return dispatch(actions.remarksFetched({ totalCount: 0, entities: null }));\r\n }\r\n\r\n return requestFromServer\r\n .findRemarks(queryParams, productId)\r\n .then(response => {\r\n const { totalCount, entities } = response.data;\r\n dispatch(actions.remarksFetched({ totalCount, entities }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't find remarks\";\r\n dispatch(actions.catchError({ error, callType: callTypes.list }));\r\n });\r\n};\r\n\r\nexport const fetchRemark = id => dispatch => {\r\n if (!id) {\r\n return dispatch(actions.remarkFetched({ remarkForEdit: undefined }));\r\n }\r\n\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .getRemarkById(id)\r\n .then(response => {\r\n const remark = response.data;\r\n dispatch(actions.remarkFetched({ remarkForEdit: remark }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't find remark\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const deleteRemark = id => dispatch => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .deleteRemark(id)\r\n .then(response => {\r\n dispatch(actions.remarkDeleted({ id }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't delete remark\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const createRemark = remarkForCreation => dispatch => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .createRemark(remarkForCreation)\r\n .then(response => {\r\n const { remark } = response.data;\r\n dispatch(actions.remarkCreated({ remark }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't create remark\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const updateRemark = remark => dispatch => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .updateRemark(remark)\r\n .then(() => {\r\n dispatch(actions.remarkUpdated({ remark }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't update remark\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const deleteRemarks = ids => dispatch => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .deleteRemarks(ids)\r\n .then(() => {\r\n console.log(\"delete return\");\r\n dispatch(actions.remarksDeleted({ ids }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't delete remarks\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n","import React, { useState } from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport UpdateShipmentStatus from \"../../../../../../pages/shipment/UpdateShipmentStatus\";\r\n\r\nconst ProductStatusCssClasses = [\"success\", \"info\", \"success\"];\r\nexport const StatusColumnFormatter = (cellContent, row) => {\r\n return ;\r\n};\r\n\r\nconst StatusColumnFormatter2 = ({ row }) => {\r\n const [show, setshow] = useState(false);\r\n if (row.StatusId === 20 || row.StatusId === null) {\r\n return (\r\n \r\n New\r\n \r\n );\r\n }\r\n const close = () => {\r\n setshow(false);\r\n //document.getElementById(\"ReLoadTableId\").click();\r\n };\r\n const SaveDone = () => {\r\n setshow(false);\r\n //document.getElementById(\"ReLoadTableId\").click();\r\n };\r\n const shipmentStatus = window.ShipmentStatus || [];\r\n return (\r\n
    \r\n \r\n close}\r\n ShipmentId={row.id}\r\n StatusId={row.ParentStatusId - 1}\r\n SaveDone={SaveDone}\r\n />\r\n \r\n setshow(true)}\r\n >\r\n {row.Status}\r\n \r\n
    \r\n );\r\n};\r\n","import React, { useState } from \"react\";\r\nimport { OneMoveMaster } from \"../../../../../eMPower/pages/Transload/FindOrders/product-Containers/remark-edit-dialog/OneMoveMaster\";\r\nimport SVG from \"react-inlinesvg\";\r\nimport { Modal, OverlayTrigger, Tooltip } from \"react-bootstrap\";\r\nimport { toAbsoluteUrl } from \"../../../../../../../_metronic/_helpers\";\r\nimport SaveIcon from \"@material-ui/icons/Save\";\r\nimport { Link } from \"react-router-dom\";\r\nimport low from \"lowdb\";\r\nimport { Notification } from \"../../../../../../../app/modules/Notification\";\r\nimport LocalStorage from \"lowdb/adapters/LocalStorage\";\r\nimport {\r\n currencyFormat,\r\n Export,\r\n} from \"../../../../../../../_metronic/_helpers/ATHelpers\";\r\nimport { ChargesModel } from \"../../../Transload/FindOrders/product-Containers/remark-edit-dialog/ChargesFunction\";\r\nconst adapter = new LocalStorage(\"db\");\r\nconst db = low(adapter);\r\nexport function ActionsColumnFormatter(\r\n cellContent,\r\n row,\r\n rowIndex,\r\n {\r\n openEditCustomerDialog,\r\n openDeleteCustomerDialog,\r\n setOutboundManifest,\r\n setRateConfirmation,\r\n setPL,\r\n setBol,\r\n setRowItem,\r\n setModeItem,\r\n }\r\n) {\r\n const OneMoveMasterFunction = () => {\r\n const [OneMoveMasterShow, setOneMoveMasterShow] = useState(false);\r\n return (\r\n <>\r\n {\r\n setOneMoveMasterShow(false);\r\n }}\r\n >\r\n \r\n \r\n \r\n );\r\n };\r\n async function GetShipmentManifest(link) {\r\n return await fetch(window.$apiurl + link, {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n return res[1];\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n return (\r\n <>\r\n \r\n\r\n BOL}\r\n >\r\n false}\r\n className=\"btn btn-icon btn-light btn-hover-primary btn-sm ml-1\"\r\n onClick={() => {\r\n setRowItem(row?.id);\r\n setBol(true);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n P & L}\r\n >\r\n false}\r\n className=\"btn btn-icon btn-light btn-hover-primary btn-sm ml-1\"\r\n role=\"button\"\r\n onClick={() => {\r\n setRowItem(row?.id);\r\n setPL(true);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n {/* Export */}\r\n \r\n Export Shipment Manifest (XLSX)\r\n \r\n }\r\n >\r\n {\r\n try {\r\n let data = [];\r\n const currentList = [];\r\n if (row.CustomerName !== \"Lulus\") {\r\n data = await GetShipmentManifest(\r\n `/Shipments/OutboundManifest/${row?.id}`\r\n );\r\n if (data.ShipItems.length > 0) {\r\n data.ShipItems.map((item) => {\r\n currentList.push({\r\n PO: item.PurchaseOrder,\r\n SKU: item.Sku,\r\n Description: item.Description,\r\n CasePack: item.CasePack,\r\n ShipQTY: item.ShipQuantity,\r\n ShipUOM: item.ShipUom,\r\n Weight_LBS: currencyFormat(item.Weight),\r\n Cube_CBM: currencyFormat(item.Cube),\r\n ItemQty: item.Pieces,\r\n Container: item.EquipmentRef,\r\n });\r\n return item;\r\n });\r\n Export(currentList, \"excel\", `Shipment_Manifest#_${row?.id}`);\r\n } else {\r\n Notification(\r\n \"warning\",\r\n `No Data Items on this Shipment# ${row?.id}`\r\n );\r\n }\r\n } else {\r\n data = await GetShipmentManifest(\r\n `/pallets/GetPalletByShipment/${row?.id}`\r\n );\r\n data.pallets?.length > 0 &&\r\n data.pallets.map((itemX) => {\r\n itemX.ItemsList.length > 0 &&\r\n itemX.ItemsList.map((itemY) => {\r\n itemY.PalletId = itemX.Id;\r\n currentList.push(itemY);\r\n return itemY;\r\n });\r\n return itemX;\r\n });\r\n if (data.pallets?.length > 0) {\r\n Export(currentList, \"excel\", `Shipment_Manifest#_${row?.id}`);\r\n } else {\r\n Notification(\r\n \"warning\",\r\n `No Data Items on this Shipment# ${row?.id}`\r\n );\r\n }\r\n }\r\n } catch (err) {\r\n console.log(err);\r\n }\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n {/* Export */}\r\n \r\n Export Shipment Manifest (CSV)\r\n \r\n }\r\n >\r\n {\r\n try {\r\n let data = [];\r\n const currentList = [];\r\n if (row.CustomerName !== \"Lulus\") {\r\n data = await GetShipmentManifest(\r\n `/Shipments/OutboundManifest/${row?.id}`\r\n );\r\n if (data.ShipItems.length > 0) {\r\n data.ShipItems.forEach((item) => {\r\n currentList.push({\r\n PO: item.PurchaseOrder,\r\n SKU: item.Sku,\r\n Description: item.Description,\r\n CasePack: item.CasePack,\r\n ShipQTY: item.ShipQuantity,\r\n ShipUOM: item.ShipUom,\r\n Weight_LBS: currencyFormat(item.Weight),\r\n Cube_CBM: currencyFormat(item.Cube),\r\n ItemQty: item.Pieces,\r\n Container: item.EquipmentRef,\r\n });\r\n });\r\n Export(currentList, \"csv\", `Shipment_Manifest#_${row?.id}`);\r\n } else {\r\n Notification(\r\n \"warning\",\r\n `No Data Items on this Shipment# ${row?.id}`\r\n );\r\n }\r\n } else {\r\n data = await GetShipmentManifest(\r\n `/pallets/GetPalletByShipment/${row?.id}`\r\n );\r\n data.pallets?.length > 0 &&\r\n data.pallets.forEach((itemX) => {\r\n itemX.ItemsList.length > 0 &&\r\n itemX.ItemsList.forEach((itemY) => {\r\n itemY.PalletId = itemX.Id;\r\n currentList.push(itemY);\r\n });\r\n });\r\n if (data.pallets?.length > 0) {\r\n Export(currentList, \"csv\", `Shipment_Manifest#_${row?.id}`);\r\n } else {\r\n Notification(\r\n \"warning\",\r\n `No Data Items on this Shipment# ${row?.id}`\r\n );\r\n }\r\n }\r\n } catch (err) {\r\n console.log(err);\r\n }\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n Shipment Manifest\r\n }\r\n >\r\n false}\r\n className=\"btn btn-icon btn-light btn-hover-primary btn-sm ml-2\"\r\n onClick={() => {\r\n setRowItem(row?.id);\r\n setOutboundManifest(true);\r\n localStorage.setItem(\r\n \"SmManifestCustomer\",\r\n JSON.stringify(row?.CustomerName)\r\n );\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n Rate Confirmation\r\n }\r\n >\r\n false}\r\n className=\"btn btn-icon btn-light btn-hover-primary btn-sm ml-1\"\r\n onClick={() => {\r\n setRowItem(row?.id);\r\n setModeItem(row?.Mode);\r\n setRateConfirmation(true);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n New Note}\r\n >\r\n false}\r\n title=\"New Note\"\r\n className=\"btn btn-icon btn-light btn-hover-warning btn-sm ml-1\"\r\n onClick={() => openEditCustomerDialog(row.id)}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n <> \r\n Send Documents}\r\n >\r\n false}\r\n className=\"btn btn-icon btn-light btn-hover-primary btn-sm ml-1\"\r\n onClick={() => {\r\n window.SendDispatchShipmentsList = undefined;\r\n openDeleteCustomerDialog(row.id);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n","import React from \"react\";\r\nimport { toAbsoluteUrl } from \"../../../../../../../_metronic/_helpers\";\r\nimport SVG from \"react-inlinesvg\";\r\nimport { OverlayTrigger, Tooltip } from \"react-bootstrap\";\r\nexport const AlertsColumnFormatter = (cellContent, row) => {\r\n return (\r\n <>\r\n {row.FfAlert && (\r\n \r\n
    \r\n \r\n }\r\n >\r\n false} className=\"btn btn-icon btn-light btn-hover-warning btn-sm ml-1\">\r\n \r\n \r\n \r\n \r\n \r\n )}\r\n {row.PickupAllert && (\r\n \r\n The pickup date passed and no vendor has been selected\r\n \r\n }\r\n >\r\n false} className=\"btn btn-icon btn-light btn-hover-warning btn-sm mx-3\">\r\n \r\n \r\n \r\n \r\n \r\n )}\r\n {row.IsDispatchReportSent && (\r\n \r\n The outbound dispatch report have been sent to the carrier\r\n \r\n }\r\n >\r\n false} className=\"btn btn-icon btn-light btn-hover-light btn-sm mx-3\">\r\n \r\n \r\n \r\n \r\n \r\n )}\r\n {row.AlertHeavy && (\r\n This Shipment is heavy\r\n }\r\n >\r\n false} className=\"btn btn-icon btn-light btn-hover-light btn-sm mx-3\">\r\n \r\n \r\n \r\n \r\n \r\n )}\r\n {row.AlertHot && (\r\n Hot}\r\n >\r\n false} className=\"btn btn-icon btn-light btn-hover-light btn-sm mx-3\">\r\n \r\n \r\n \r\n \r\n \r\n )}\r\n {row.AlertDate && (\r\n \r\n Shipment has Pickup or Delivery Appointment Date\r\n \r\n }\r\n >\r\n false} className=\"btn btn-icon btn-light btn-hover-primary btn-sm mx-3\">\r\n \r\n \r\n \r\n \r\n \r\n )}\r\n {row.AlertHazardousMaterial && (\r\n \r\n Shipment contain Hazardous materials\r\n \r\n }\r\n >\r\n false}\r\n className=\"btn btn-icon btn-light btn-hover-danger btn-sm mx-3\"\r\n //onClick={() => openEditProductPage(row.id)}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n )}\r\n \r\n );\r\n};\r\n","// TODO: Rename all formatters\r\nexport {StatusColumnFormatter} from \"./StatusColumnFormatter\";\r\nexport {TypeColumnFormatter} from \"./TypeColumnFormatter\";\r\nexport {ActionsColumnFormatter} from \"./ActionsColumnFormatter\";\r\nexport {PriceColumnFormatter} from \"./PriceColumnFormatter\";\r\nexport {ShipDateColumnFormatter} from \"./ShipDateColumnFormatter\";\r\nexport {DeliveryDateColumnFormatter} from \"./DeliveryDateColumnFormatter\";\r\nexport {AlertsColumnFormatter} from \"./AlertsColumnFormatter\";\r\nexport {DateColumnFormatter} from \"./DateColumnFormatter\";\r\n","import React, { useRef } from \"react\";\r\nimport { useReactToPrint } from \"react-to-print\";\r\nimport { Notification } from \"../../modules/Notification\";\r\nimport { CheckboxLargeWB } from \"../../../_metronic/_partials/controls\";\r\nimport { useParams } from \"react-router-dom\";\r\nimport low from \"lowdb\";\r\nimport LocalStorage from \"lowdb/adapters/LocalStorage\";\r\nimport { Link } from \"react-router-dom\";\r\nimport { Helmet } from \"react-helmet\";\r\nimport { currencyFormat } from \"../../../_metronic/_helpers/ATHelpers\";\r\n\r\nconst adapter = new LocalStorage(\"db\");\r\nconst db = low(adapter);\r\nfunction IsValidAddress(str, isFirstItem) {\r\n if (str === null || str === undefined || str === \"\") {\r\n return \"\";\r\n } else {\r\n return isFirstItem === true ? str : \", \" + str;\r\n }\r\n}\r\nfunction formatDate(date) {\r\n if (date) {\r\n var d = new Date(date),\r\n month = \"\" + (d.getMonth() + 1),\r\n day = \"\" + d.getDate(),\r\n year = d.getFullYear();\r\n\r\n if (month.length < 2) month = \"0\" + month;\r\n if (day.length < 2) day = \"0\" + day;\r\n\r\n const result = [month, day, year].join(\"/\");\r\n if (result !== \"NaN/NaN/NaN\") {\r\n return result;\r\n } else {\r\n return \"--/--/----\";\r\n }\r\n } else {\r\n return \"--/--/----\";\r\n }\r\n}\r\nfunction tConvert(time) {\r\n if (time === null || time === undefined || time === \"\") {\r\n return \"\";\r\n }\r\n // Check correct time format and split into components\r\n time = time.toString().match(/^([01]\\d|2[0-3])(:)([0-5]\\d)(:[0-5]\\d)?$/) || [\r\n time,\r\n ];\r\n\r\n if (time.length > 1) {\r\n // If time format correct\r\n time = time.slice(1); // Remove full string match value\r\n time[5] = +time[0] < 12 ? \"AM\" : \"PM\"; // Set AM/PM\r\n time[0] = +time[0] % 12 || 12; // Adjust hours\r\n }\r\n return time.join(\"\"); // return adjusted time or original string\r\n}\r\nclass ComponentToPrint extends React.Component {\r\n constructor() {\r\n super();\r\n var obj = {\r\n Carriers: [],\r\n Items: [],\r\n };\r\n this.state = { data: obj };\r\n }\r\n async componentDidMount() {\r\n await fetch(\r\n window.$apiurl + \"/ShipmentBilling/Outbound/report/\" + this.props.id,\r\n {\r\n method: \"get\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n }\r\n )\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n if (statusCode !== 200) {\r\n Notification(\"error\", \"No data found !\");\r\n }\r\n const json = await response.json();\r\n this.setState({ data: json });\r\n })\r\n .then((res) => {\r\n return res[1];\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n\r\n render() {\r\n const formData = this.state.data;\r\n\r\n return (\r\n <>\r\n \r\n eMPower | Drayage Form\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n {/* First Data */}\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n {formData.Title}\r\n

    \r\n {formData.BillTo?.Name}\r\n

    \r\n {formData.BillTo?.Address1 === undefined\r\n ? \" \"\r\n : formData.BillTo?.Address1}\r\n {(formData.BillTo?.Address2 === undefined) |\r\n (formData.BillTo?.Address2 === null)\r\n ? \" \"\r\n : formData.BillTo?.Address2}\r\n

    \r\n {formData.BillTo?.City === undefined\r\n ? \" \"\r\n : formData.BillTo?.City}\r\n ,{\" \"}\r\n {formData.BillTo?.State === undefined\r\n ? \" \"\r\n : formData.BillTo?.State}{\" \"}\r\n {formData.BillTo?.ZipCode === undefined\r\n ? \" \"\r\n : formData.BillTo?.ZipCode}\r\n

    \r\n {formData.BillTo?.Phone === undefined\r\n ? \" \"\r\n : formData.BillTo?.Phone}\r\n

    \r\n {formData.BillTo?.Reference === undefined\r\n ? \" \"\r\n : formData.BillTo?.Reference}\r\n

    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    Carrier NamePickUp Date Delivery DateShipment IdEquipment NumberShipper Ref
    \r\n {formData.CarrierName}\r\n \r\n {formatDate(formData.ReadyDate)}\r\n \r\n {formatDate(formData.DateNeeded)}\r\n \r\n {formData.LoadNumber}\r\n \r\n {formData.Equipment}\r\n \r\n {formData.ShipperRef}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    ServiceModeService LevelEquipment SizeEquipment Type
    \r\n {formData.Service}\r\n \r\n {formData.Mode}\r\n \r\n {formData.ServiceLevel}\r\n \r\n {formData.EquipmentSize}\r\n \r\n {formData.EquipmentType}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {(formData?.ReceivingNote !== null &&\r\n formData?.ReceivingNote !== \"\") ||\r\n (formData?.ShippingNote !== null &&\r\n formData?.ShippingNote !== \"\") ? (\r\n \r\n \r\n \r\n ) : (\r\n \"\"\r\n )}\r\n\r\n \r\n \r\n \r\n \r\n
    \r\n Shipper Information\r\n
    \r\n Name: {formData.Shipper?.ShipperAddress?.Name}\r\n
    \r\n Address:{\" \"}\r\n {IsValidAddress(\r\n formData.Shipper?.ShipperAddress?.Address1,\r\n true\r\n ) +\r\n IsValidAddress(\r\n formData.Shipper?.ShipperAddress?.City.replace(\r\n / /g,\r\n \"\"\r\n ),\r\n false\r\n ) +\r\n IsValidAddress(\r\n formData.Shipper?.ShipperAddress?.State,\r\n false\r\n ) +\r\n IsValidAddress(\r\n formData.Shipper?.ShipperAddress?.ZipCode,\r\n false\r\n )}\r\n
    Contact: {formData.Shipper?.Contact}
    Phone: {formData.Shipper?.Phone}
    \r\n Pick Up Time From-To:{\" \"}\r\n {tConvert(formData.Shipper?.ReadyTime)}\r\n
    Pickup Notes: {formData?.ShippingNote}
    Pickup #: {formData?.ShipperNumber}
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {(formData?.ReceivingNote !== null &&\r\n formData?.ReceivingNote !== \"\") ||\r\n (formData?.ShippingNote !== null &&\r\n formData?.ShippingNote !== \"\") ? (\r\n \r\n \r\n \r\n ) : (\r\n \"\"\r\n )}\r\n \r\n \r\n \r\n \r\n
    \r\n Consignee Information\r\n
    \r\n Name: {formData.Consignee?.ShipperAddress?.Name}\r\n
    \r\n Address:{\" \"}\r\n {IsValidAddress(\r\n formData.Consignee?.ShipperAddress?.Address1,\r\n true\r\n ) +\r\n IsValidAddress(\r\n formData.Consignee?.ShipperAddress?.City.replace(\r\n / /g,\r\n \"\"\r\n ),\r\n false\r\n ) +\r\n IsValidAddress(\r\n formData.Consignee?.ShipperAddress?.State,\r\n false\r\n ) +\r\n IsValidAddress(\r\n formData.Consignee?.ShipperAddress?.ZipCode,\r\n false\r\n )}\r\n
    \r\n Contact:{\" \"}\r\n {(formData.Consignee?.Contact === undefined) |\r\n (formData.Consignee?.Contact === null)\r\n ? \" \"\r\n : formData.Consignee?.Contact}\r\n
    \r\n Phone:{\" \"}\r\n {(formData.Consignee?.Phone === undefined) |\r\n (formData.Consignee?.Phone === null)\r\n ? \" \"\r\n : formData.Consignee?.Phone}\r\n
    \r\n Delivery Time From-To:{\" \"}\r\n {tConvert(formData.Consignee?.CloseTime)}\r\n
    \r\n Delivery Notes: {formData?.ReceivingNote}\r\n
    Delivery #: {formData?.ConsigneeNumber}
    \r\n
    \r\n
    \r\n
    \r\n {/* Items */}\r\n
    \r\n

    Shipment Items

    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n {/* */}\r\n \r\n {/* */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {/* */}\r\n \r\n {/* */}\r\n \r\n \r\n \r\n
    PCSPackage TypePiecesHAZMATList of ItemsTotal Weight (LBS)
    \r\n {formData.Items?.handlingUnit}\r\n \r\n {formData.Items?.PackageType}\r\n {item.Pieces}\r\n \r\n {item.ListOfItems}\r\n {formData.Items?.TotalLBSWeight !== 0\r\n ? currencyFormat(formData.Items?.TotalLBSWeight)\r\n : currencyFormat(formData.Items?.TotalWeight)}\r\n
    \r\n
    \r\n
    \r\n\r\n {/* Vendors */}\r\n
    \r\n

    Payables

    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {formData.Vendors?.length > 0 &&\r\n formData.Vendors?.map(\r\n (item, index) =>\r\n item.Payables?.length > 0 &&\r\n item.Payables?.map((itemX, index) => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ))\r\n )}\r\n {formData.Vendors?.length > 0 &&\r\n formData.Vendors?.map((item, index) => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n GRAND TOTAL\r\n \r\n \r\n {\"$ \" + currencyFormat(item.Total)}\r\n \r\n \r\n ))}\r\n \r\n
    Carrier NameCarrier ReferenceNameRateQuantityTotal
    \r\n {item.VendorAddress?.CompanyName}\r\n \r\n {item.VendorNumber}\r\n \r\n {itemX.Name}\r\n \r\n {currencyFormat(itemX.Rate)}\r\n \r\n {itemX.Quantity}\r\n \r\n {currencyFormat(itemX.Total)}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n This confirmation governs the movement of the\r\n above-referenced freight as of the specified and\r\n hereby amends, is incorporated by reference and\r\n becomes a part of the certain transportation\r\n contract by and between “Broker” and “Contract\r\n carrier”. Carrier Agrees to sign the\r\n confirmation and return it to the broker via\r\n email and carrier shall be conclusively presumed\r\n and compensatory that the freight would not have\r\n been tendered to Carrier at higher rates and\r\n that not shipments handled under such rates will\r\n subsequently be subject to a later claim for\r\n undercharges. IF AGREED SERVICES ARE FULFILLED,\r\n RATES ARE NOT NEGOTIABLE.Carrier MUST email\r\n tracing@mitcoglobal.com For any pickup and\r\n delivery appointments that are required. Failure\r\n to comply with appointments will result in a\r\n penalty of $150.00 Per Appointment.\r\n \r\n

    \r\n \r\n The undersigned accepts the referenced shipment\r\n on behalf of the carrier and acknowledge as\r\n correct the information contained herein, the\r\n carrier agrees to the terms of the Master\r\n agreement previously executed between our\r\n companies. Invoicing by the carrier and payment\r\n by Mitco Ltd., constitutes acceptance of this\r\n agreement and creates a valid contract for\r\n carriage shipment.\r\n \r\n

    \r\n \r\n When loading, the driver must count and inspect\r\n his/her load. The Driver/Carrier is responsible\r\n for piece count and condition of load at time of\r\n delivery.{\" \"}\r\n \r\n For payment of freight charges, we must\r\n receive original and signed Bill of lading and\r\n Proof of Delivery with a carrier invoice\r\n \r\n . Payment will be made 30 days after all\r\n required paperwork is received at Mitco Ltd.,\r\n facilities. Carrier will send a POD for load to\r\n tracing@mitcoglobal.com within 48 hours of\r\n delivery or carrier will be assessed a $50 late\r\n fee per day until received at that email.\r\n Carrier will send the invoice and POD to\r\n accounting@mitcoglobal.com. We are not\r\n responsible for Overweight. If Dimensions,\r\n Weight, Quantity or type of commodity are\r\n different than those consigned in our Load\r\n Confirmation Agreement, the carrier or Broker\r\n contracted MUST notify Mitco Ltd. Before picking\r\n up and request a WRITTEN AUTHORIZATION. Mitco\r\n Ltd. will not pay any extra charges without\r\n AUTHORIZATION, and will only approve changes to\r\n charges via revised rate confirmation. In and\r\n out times must be provided on POD for all pickup\r\n and deliveries.{\" \"}\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n Phone: (253) 245-2102 | Fax: (253) 891-0601\r\n

    \r\n Please sign and return via email to ensure payment\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n Carrier Signature:________________________\r\n \r\n Driver Name:{\" \"}\r\n \r\n {formData.Vendors?.length === 0 ||\r\n formData.Vendors === undefined ||\r\n formData.Vendors[0].DriverName === \"\" ||\r\n formData.Vendors[0].DriverName === null\r\n ? \"________________________\"\r\n : formData.Vendors[0].DriverName}\r\n \r\n
    \r\n Signature Date:________________________\r\n \r\n Driver Phone#:{\" \"}\r\n \r\n {formData.Vendors?.length === 0 ||\r\n formData.Vendors === undefined ||\r\n formData.Vendors[0].DriverPhone === \"\" ||\r\n formData.Vendors[0].DriverPhone === null\r\n ? \" ________________________\"\r\n : formData.Vendors[0].DriverPhone}\r\n \r\n
    \r\n MC#: {formData.MCNumber}\r\n \r\n Truck Number:{\" \"}\r\n \r\n {formData.Vendors?.length === 0 ||\r\n formData.Vendors === undefined ||\r\n formData.Vendors[0].TruckNumber === \"\" ||\r\n formData.Vendors[0].TruckNumber === null\r\n ? \" ________________________\"\r\n : formData.Vendors[0].TruckNumber}\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n Please call (253) 245-2102 immediately with any\r\n questions, concerns, or problems!

    \r\n Send Invoicing to: Mitco Limited Logistics. |\r\n 2302 B Street NW #101 | Auburn, WA. 98001\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n );\r\n }\r\n}\r\n\r\nexport function DRAYAGEFORM({ id }) {\r\n const paramId = window.location.pathname.split(\"/\")[4];\r\n const componentRef = useRef();\r\n const handlePrint = useReactToPrint({\r\n content: () => componentRef.current,\r\n });\r\n return (\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n Print Drayage Form\r\n \r\n {/* \r\n Download\r\n */}\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n );\r\n}\r\n","import { Line, Chart } from \"react-chartjs-2\";\r\nimport React, { useState } from \"react\";\r\nimport zoomPlugin from \"chartjs-plugin-zoom\";\r\nimport moment from \"moment\";\r\n\r\nChart.register(zoomPlugin); // REGISTER PLUGIN\r\nconst Colors = [\r\n \"#8950FC\",\r\n \"#95371d\",\r\n \"#4ca1af\",\r\n \"#b3c43c\",\r\n \"#fe8a71\",\r\n \"#5a3662\",\r\n \"#3c78ae\",\r\n \"#a2738c\",\r\n \"#869890\",\r\n \"#ec9f0a\",\r\n];\r\n\r\nconst Chart2 = ({ props, isReporting }) => {\r\n console.log(\"props\", props);\r\n const [randomNumber, setrandomNumber] = useState(1);\r\n\r\n var data = [];\r\n if (props.length > 0) {\r\n var objects = [];\r\n Object.keys(props[0]).map((a, i) => {\r\n if (i !== 0) {\r\n objects.push(a);\r\n }\r\n });\r\n data = {\r\n labels: props?.map((a) => {\r\n return moment(a[Object.keys(props[0])[0]]).format(\"ddd, MMM DD\");\r\n }),\r\n datasets: objects.map((b, i) => ({\r\n type: \"bar\",\r\n label: String(b),\r\n backgroundColor:\r\n b === \"Dispatched\"\r\n ? \"#8950FC\"\r\n : b === \"Picked Up\"\r\n ? \"#95371d\"\r\n : b === \"Load Received\"\r\n ? \"#4ca1af\"\r\n : b === \"QC\"\r\n ? \"#b3c43c\"\r\n : b === \"Ready to process\"\r\n ? \"#fe8a71\"\r\n : b === \"Processed\"\r\n ? \"#5a3662\"\r\n : b === \"Palletized\"\r\n ? \"#3c78ae\"\r\n : b === \"Lulu's Chico DC\"\r\n ? \"#a2738c\"\r\n : b === \"Lulu'S Pennsylvania DC\"\r\n ? \"#869890\"\r\n : b === \"OnHand\"\r\n ? \"#FFA800\"\r\n : Colors[i],\r\n hidden:\r\n window.reportingGraph[String(b)] !== undefined\r\n ? window.reportingGraph[String(b)]\r\n : false,\r\n borderWidth: 2,\r\n fill: false,\r\n data: props?.map((a) => a[String(b)]),\r\n })),\r\n };\r\n }\r\n\r\n const options = {\r\n plugins: {\r\n legend: {\r\n onClick: function(evt, item) {\r\n Object.keys(props[0]).map((a) => {\r\n if (item.text === a) {\r\n window.reportingGraph[a] = !item.hidden;\r\n }\r\n });\r\n setrandomNumber(Math.random());\r\n },\r\n },\r\n scales: {\r\n yAxes: [\r\n {\r\n ticks: {\r\n autoSkip: true,\r\n maxTicksLimit: 10,\r\n beginAtZero: true,\r\n },\r\n gridLines: {\r\n display: false,\r\n },\r\n },\r\n ],\r\n xAxes: [\r\n {\r\n gridLines: {\r\n display: false,\r\n },\r\n },\r\n ],\r\n },\r\n zoom: {\r\n zoom: {\r\n wheel: {\r\n enabled: isReporting === true ? true : false, // SET SCROOL ZOOM TO TRUE\r\n },\r\n mode: \"x\",\r\n speed: 100,\r\n },\r\n pan: {\r\n enabled: true,\r\n mode: \"x\",\r\n speed: 100,\r\n },\r\n },\r\n },\r\n };\r\n\r\n return (\r\n <>\r\n {props.length > 0 ? (\r\n \r\n ) : (\r\n

    \r\n There is no data available at the moment\r\n

    \r\n )}\r\n \r\n );\r\n};\r\n\r\nexport default Chart2;\r\n","/* eslint-disable */\r\n\"use strict\";\r\n// DOCS: https://javascript.info/cookie\r\n\r\n// Component Definition \r\nexport var KTCookie = function() {\r\n return {\r\n // returns the cookie with the given name,\r\n // or undefined if not found\r\n getCookie: function(name) {\r\n var matches = document.cookie.match(new RegExp(\r\n \"(?:^|; )\" + name.replace(/([\\.$?*|{}\\(\\)\\[\\]\\\\\\/\\+^])/g, '\\\\$1') + \"=([^;]*)\"\r\n ));\r\n return matches ? decodeURIComponent(matches[1]) : undefined;\r\n },\r\n // Please note that a cookie value is encoded,\r\n // so getCookie uses a built-in decodeURIComponent function to decode it.\r\n setCookie: function(name, value, options) {\r\n if (!options) {\r\n options = {};\r\n }\r\n\r\n options = Object.assign({}, {path: '/'}, options);\r\n\r\n if (options.expires instanceof Date) {\r\n options.expires = options.expires.toUTCString();\r\n }\r\n\r\n var updatedCookie = encodeURIComponent(name) + \"=\" + encodeURIComponent(value);\r\n\r\n for (var optionKey in options) {\r\n if (!options.hasOwnProperty(optionKey)) {\r\n continue;\r\n }\r\n updatedCookie += \"; \" + optionKey;\r\n var optionValue = options[optionKey];\r\n if (optionValue !== true) {\r\n updatedCookie += \"=\" + optionValue;\r\n }\r\n }\r\n\r\n document.cookie = updatedCookie;\r\n },\r\n // To delete a cookie, we can call it with a negative expiration date:\r\n deleteCookie: function(name) {\r\n setCookie(name, \"\", {\r\n 'max-age': -1\r\n })\r\n }\r\n }\r\n}();\r\n\r\n// webpack support\r\nif (typeof module !== 'undefined' && typeof module.exports !== 'undefined') {\r\n // module.exports = KTCookie;\r\n}\r\n","export const defaultSorted = [{ dataField: \"id\", order: \"desc\" }];\r\nexport const sizePerPageList = [\r\n { text: \"1\", value: 1 },\r\n { text: \"3\", value: 3 },\r\n { text: \"5\", value: 5 },\r\n];\r\nexport const initialFilter = {\r\n filter: {\r\n text: \"\",\r\n },\r\n sortOrder: \"asc\", // asc||desc\r\n sortField: \"id\",\r\n pageNumber: 1,\r\n pageSize: 5,\r\n};\r\n","/* eslint-disable no-restricted-imports */\r\nimport React, { useState, useEffect } from \"react\";\r\nimport { shallowEqual, useSelector } from \"react-redux\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { ModalProgressBar } from \"../../../../../../../../_metronic/_partials/controls\";\r\nimport CloseIcon from \"@material-ui/icons/Close\";\r\nimport IconButton from \"@material-ui/core/IconButton\";\r\n\r\nexport function RemarkEditDialogHeader({ id, onHide }) {\r\n const [title, setTitle] = useState(\"\");\r\n // Remarks Redux state\r\n const { remarkForEdit, actionsLoading } = useSelector(\r\n (state) => ({\r\n remarkForEdit: state.remarks.remarkForEdit,\r\n actionsLoading: state.remarks.actionsLoading,\r\n }),\r\n shallowEqual\r\n );\r\n\r\n useEffect(() => {\r\n let _title = id ? \"\" : \"Add Container\";\r\n if (remarkForEdit && id) {\r\n _title = `Edit Container id: ${id} - Number : `;\r\n }\r\n\r\n setTitle(_title);\r\n // eslint-disable-next-line\r\n }, [remarkForEdit, actionsLoading]);\r\n\r\n return (\r\n <>\r\n {actionsLoading && }\r\n \r\n \r\n {title}\r\n \r\n \r\n {\r\n onHide(false);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n );\r\n}\r\n","import React, { useEffect, useMemo } from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { shallowEqual, useDispatch, useSelector } from \"react-redux\";\r\nimport * as actions from \"../../../../../_redux/Transload/FindOrderContainers/remarksActions\";\r\nimport { RemarkEditForm } from \"./RemarkEditForm\";\r\nimport { RemarkEditDialogHeader } from \"./RemarkEditDialogHeader\";\r\nimport { AssignToOutbound } from \"./AssignToOutbound\";\r\nimport { useRemarksUIContext } from \"../RemarksUIContext\";\r\nimport axios from \"axios\";\r\n\r\nexport function RemarkEditDialog() {\r\n // Remarks UI Context\r\n const remarksUIContext = useRemarksUIContext();\r\n const remarksUIProps = useMemo(() => {\r\n return {\r\n id: remarksUIContext.selectedId,\r\n setIds: remarksUIContext.setIds,\r\n productId: remarksUIContext.productId,\r\n queryParams: remarksUIContext.queryParams,\r\n showEditRemarkDialog: remarksUIContext.showEditRemarkDialog,\r\n showAssigntoOutbound: remarksUIContext.showAssigntoOutbound,\r\n closeEditRemarkDialog: remarksUIContext.closeEditRemarkDialog,\r\n openEditRemarkDialog: remarksUIContext.openEditRemarkDialog,\r\n initRemark: remarksUIContext.initRemark,\r\n };\r\n }, [remarksUIContext]);\r\n\r\n // Remarks Redux state\r\n const dispatch = useDispatch();\r\n const { actionsLoading, remarkForEdit } = useSelector(\r\n (state) => ({\r\n actionsLoading: state.remarks.actionsLoading,\r\n remarkForEdit: state.remarks.remarkForEdit,\r\n }),\r\n shallowEqual\r\n );\r\n\r\n useEffect(() => {\r\n // server request for getting remark by seleted id\r\n if (remarksUIProps.id) dispatch(actions.fetchRemark(remarksUIProps.id));\r\n }, [remarksUIProps.id, dispatch]);\r\n\r\n const saveRemark = async (remark) => {\r\n if (!remarksUIProps.id) {\r\n // server request for creating remarks\r\n dispatch(actions.createRemark(remark)).then(() => {\r\n // refresh list after deletion\r\n dispatch(\r\n actions.fetchRemarks(\r\n remarksUIProps.queryParams,\r\n remarksUIProps.productId\r\n )\r\n ).then(() => {\r\n if (window.$NewReceiptsID && window.ContainerSaveClose === false) {\r\n remarksUIProps.openEditRemarkDialog(window.$NewReceiptsID);\r\n window.$NewReceiptsID = undefined;\r\n }\r\n\r\n if (window.ContainerSaveClose === true)\r\n remarksUIProps.closeEditRemarkDialog();\r\n });\r\n });\r\n } else {\r\n if (window.ReceiptManagmetShow) {\r\n await axios\r\n .put(\"api/FindOrderContainers/\" + window.ReceiptId, {\r\n remark: remark,\r\n })\r\n .then(() => {\r\n if (window.ContainerSaveClose === true) {\r\n remarksUIProps.closeEditRemarkDialog();\r\n setTimeout(() => {\r\n if (window.receiptEditCommingFrom.indexOf(\"Billing\") > -1) {\r\n document\r\n .getElementsByClassName(\"text-info\")[0]\r\n .parentElement.click();\r\n }\r\n if (window.receiptEditCommingFrom.indexOf(\"ReceiptsManagement\") > -1) {\r\n document.getElementById(\"ReLoadTableId\").click();\r\n document.getElementById(\"refreshReceiptException\").click();\r\n }\r\n }, 500);\r\n }\r\n });\r\n } else {\r\n // server request for updating remarks\r\n dispatch(actions.updateRemark(remark)).then(() => {\r\n // refresh list after deletion\r\n dispatch(\r\n // refresh list after deletion\r\n actions.fetchRemarks(\r\n remarksUIProps.queryParams,\r\n remarksUIProps.productId\r\n )\r\n ).then(() => {\r\n // clear selections list\r\n remarksUIProps.setIds([]);\r\n if (window.ContainerSaveClose === true)\r\n remarksUIProps.closeEditRemarkDialog();\r\n });\r\n });\r\n }\r\n }\r\n };\r\n return (\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n );\r\n}\r\n","export function removeCSSClass(ele, cls) {\r\n const reg = new RegExp(\"(\\\\s|^)\" + cls + \"(\\\\s|$)\");\r\n ele.className = ele.className.replace(reg, \" \");\r\n}\r\n\r\nexport function addCSSClass(ele, cls) {\r\n ele.classList.add(cls);\r\n}\r\n\r\nexport const toAbsoluteUrl = pathname => process.env.PUBLIC_URL + pathname;\r\n","import * as utils from \"./LocalStorageHelpers\";\r\n\r\nconst localStorageLastLocationKey = \"metronic-lastLocation\";\r\n\r\nfunction acceptLocation(lastLocation) {\r\n if (\r\n lastLocation &&\r\n lastLocation.pathname &&\r\n lastLocation.pathname !== \"/\" &&\r\n lastLocation.pathname.indexOf(\"auth\") === -1 &&\r\n lastLocation.pathname !== \"/logout\"\r\n ) {\r\n return true;\r\n }\r\n\r\n return false;\r\n}\r\n\r\nexport function saveLastLocation(lastLocation) {\r\n if (acceptLocation(lastLocation)) {\r\n utils.setStorage(\r\n localStorageLastLocationKey,\r\n JSON.stringify(lastLocation),\r\n 120\r\n );\r\n }\r\n}\r\n\r\nexport function forgotLastLocation() {\r\n utils.removeStorage(localStorageLastLocationKey);\r\n}\r\n\r\nexport function getLastLocation() {\r\n const defaultLocation = { pathname: \"/\", title: \"Dashboard\"};\r\n const localStorateLocations = utils.getStorage(localStorageLastLocationKey);\r\n if (!localStorateLocations) {\r\n return { pathname: \"/\", title: \"Dashboard\"};\r\n }\r\n\r\n try {\r\n const result = JSON.parse(localStorateLocations);\r\n return result;\r\n } catch (error) {\r\n console.error(error);\r\n return defaultLocation;\r\n }\r\n}\r\n\r\nexport function getCurrentUrl(location) {\r\n return location.pathname.split(/[?#]/)[0];\r\n}\r\n\r\nexport function checkIsActive(location, url) {\r\n const current = getCurrentUrl(location);\r\n if (!current || !url) {\r\n return false;\r\n }\r\n\r\n if (current === url) {\r\n return true;\r\n }\r\n\r\n if (current.indexOf(url) > -1) {\r\n return false;\r\n }\r\n\r\n return false;\r\n}\r\n","/* Pagination Helprs */\r\nimport React from \"react\";\r\n\r\nexport const getPagesCount = (totalSize, sizePerPage) => {\r\n return Math.ceil(totalSize / sizePerPage);\r\n};\r\n\r\nexport const getPages = (page, pagesCount, paginationSize) => {\r\n const result = [];\r\n if (!page) {\r\n return result;\r\n }\r\n\r\n if (pagesCount === 1) {\r\n result.push(1);\r\n return result;\r\n }\r\n\r\n if (pagesCount < page) {\r\n return result;\r\n }\r\n\r\n if (pagesCount < paginationSize + 1) {\r\n for (let i = 1; i < pagesCount + 1; i++) {\r\n result.push(i);\r\n }\r\n return result;\r\n }\r\n\r\n if (page === 1) {\r\n for (let i = 1; i < paginationSize + 1; i++) {\r\n if (i < pagesCount) {\r\n result.push(i);\r\n }\r\n }\r\n return result;\r\n }\r\n\r\n if (page === pagesCount) {\r\n for (let i = pagesCount - paginationSize + 1; i <= pagesCount; i++) {\r\n if (i <= pagesCount) {\r\n result.push(i);\r\n }\r\n }\r\n return result;\r\n }\r\n\r\n const shiftCount = Math.floor(paginationSize / 2);\r\n if (shiftCount < 1) {\r\n result.push(page);\r\n return result;\r\n }\r\n\r\n //\r\n if (page < shiftCount + 2) {\r\n for (let i = 1; i < paginationSize + 1; i++) {\r\n result.push(i);\r\n }\r\n return result;\r\n }\r\n\r\n if (pagesCount - page < shiftCount + 2) {\r\n for (let i = pagesCount - paginationSize; i < pagesCount + 1; i++) {\r\n result.push(i);\r\n }\r\n return result;\r\n }\r\n\r\n for (let i = page - shiftCount; i < page; i++) {\r\n if (i > 0) {\r\n result.push(i);\r\n }\r\n }\r\n result.push(page);\r\n for (let i = page + 1; i < page + shiftCount + 1; i++) {\r\n if (i <= pagesCount) {\r\n result.push(i);\r\n }\r\n }\r\n\r\n return result;\r\n};\r\n\r\nexport function getHandlerTableChange(setQueryParams) {\r\n return (type, { page, sizePerPage, sortField, sortOrder, data }) => {\r\n const pageNumber = page || 1;\r\n setQueryParams((prev) =>\r\n type === \"sort\"\r\n ? { ...prev, sortOrder, sortField }\r\n : type === \"pagination\"\r\n ? { ...prev, pageNumber, pageSize: sizePerPage }\r\n : prev\r\n );\r\n };\r\n}\r\n\r\nexport function PleaseWaitMessage({ entities }) {\r\n return <>{entities === null &&
    Please wait...
    };\r\n}\r\n\r\nexport function NoRecordsFoundMessage({ entities }) {\r\n const customersList = entities === null ? [] : entities;\r\n return (\r\n <>\r\n {customersList.length === 0 && entities !== null && (\r\n
    No records found
    \r\n )}\r\n \r\n );\r\n}\r\n","import React from \"react\";\r\n\r\nfunction SelectionCheckbox({ isSelected, onChange,Id }) {\r\n return (\r\n <>\r\n \r\n \r\n \r\n );\r\n}\r\n\r\nfunction groupingItemOnSelect(props) {\r\n const { ids, setIds, customerId } = props;\r\n if (ids.some((id) => id === customerId)) {\r\n setIds(ids.filter((id) => id !== customerId));\r\n } else {\r\n const newIds = [...ids];\r\n newIds.push(customerId);\r\n setIds(newIds);\r\n }\r\n}\r\n\r\nfunction groupingAllOnSelect(props) {\r\n const { isSelected, setIds, entities } = props;\r\n if (!isSelected) {\r\n const allIds = [];\r\n entities.forEach((el) => allIds.push(el.id));\r\n setIds(allIds);\r\n } else {\r\n setIds([]);\r\n }\r\n\r\n return isSelected;\r\n}\r\n\r\n// check official documentations: https://react-bootstrap-table.github.io/react-bootstrap-table2/storybook/index.html?selectedKind=Row%20Selection&selectedStory=Custom%20Selection%20Column%20Header%20Style&full=0&addons=1&stories=1&panelRight=0&addonPanel=storybook%2Factions%2Factions-panel\r\nexport function getSelectRow(props) {\r\n const { entities, ids, setIds ,isSelectAll} = props;\r\n return {\r\n mode: \"checkbox\",\r\n clickToSelect: true,\r\n hideSelectAll: isSelectAll ? true : false,\r\n selectionHeaderRenderer: () => {\r\n const isSelected =\r\n entities && entities.length > 0 && entities.length === ids?.length;\r\n const props = { isSelected, entities, setIds };\r\n return (\r\n groupingAllOnSelect(props)}\r\n />\r\n );\r\n },\r\n selectionRenderer: ({ rowIndex }) => {\r\n const isSelected = ids?.some((el) => el === entities[rowIndex]?.id);\r\n const props = { ids, setIds, customerId: entities[rowIndex]?.id };\r\n return (\r\n groupingItemOnSelect(props)}\r\n />\r\n );\r\n },\r\n };\r\n}\r\n","/* Pagination Helprs */\r\nimport React from \"react\";\r\nimport SVG from \"react-inlinesvg\";\r\nimport { toAbsoluteUrl } from \"./AssetsHelpers\";\r\n\r\nexport const sortCaret = (order, column) => {\r\n if (!order) return (\r\n \r\n \r\n \r\n );\r\n else if (order === \"asc\")\r\n return (\r\n \r\n \r\n \r\n );\r\n else if (order === \"desc\")\r\n return (\r\n \r\n \r\n \r\n );\r\n return null;\r\n};\r\n\r\nexport const headerSortingClasses = (column, sortOrder, isLastSorting, colIndex) => (\r\n (sortOrder === 'asc' || sortOrder === \"desc\") ? 'sortable-active' : ''\r\n);","import {\r\n Zoom,\r\n Typography,\r\n Switch,\r\n makeStyles,\r\n Popover,\r\n FormControlLabel,\r\n Button,\r\n} from \"@material-ui/core\";\r\nimport React from \"react\";\r\nconst useStyles = makeStyles((theme) => ({\r\n typography: {\r\n padding: theme.spacing(2),\r\n },\r\n}));\r\n\r\nexport function SimplePopover({\r\n body = <>,\r\n titleButton = \"\",\r\n classBtn = \"\",\r\n}) {\r\n const classes = useStyles();\r\n const [anchorEl, setAnchorEl] = React.useState(null);\r\n\r\n function handleClick(event) {\r\n setAnchorEl(event.currentTarget);\r\n }\r\n\r\n function handleClose() {\r\n setAnchorEl(null);\r\n }\r\n\r\n const open = Boolean(anchorEl);\r\n const id = open ? \"simple-popover\" : undefined;\r\n\r\n return (\r\n
    \r\n \r\n {titleButton}\r\n \r\n \r\n {body}\r\n \r\n
    \r\n );\r\n}\r\n\r\nexport function SimpleZoom({ body = <>, titleButton = \"\" }) {\r\n const classes = useStyles();\r\n const [checked, setChecked] = React.useState(false);\r\n\r\n function handleChange() {\r\n setChecked((prev) => !prev);\r\n }\r\n\r\n return (\r\n
    \r\n }\r\n label={titleButton}\r\n />\r\n
    \r\n {body}\r\n
    \r\n
    \r\n );\r\n}\r\n","export * from \"./AssetsHelpers\";\r\nexport * from \"./LocalStorageHelpers\";\r\nexport * from \"./RouterHelpers\";\r\nexport * from \"./TablePaginationHelpers\";\r\nexport * from \"./TableRowSelectionHelpers\";\r\nexport * from \"./TableSortingHelpers\";\r\nexport * from \"./SimplePopover\";\r\n","import React from \"react\";\r\n\r\nexport function IsValid(name, str, Components = false) {\r\n try {\r\n if (str?.includes(\"null\") || str?.includes(\"undefined\")) str = undefined;\r\n } catch (error) {}\r\n return (\r\n <>\r\n
    \r\n
    \r\n {name}\r\n
    \r\n
    \r\n {Components ? (\r\n Components\r\n ) : (\r\n <>: {str || Empty}\r\n )}\r\n
    \r\n
    \r\n \r\n );\r\n}\r\nexport function IsValidColumn(name, str) {\r\n try {\r\n if (str?.includes(\"null\") || str?.includes(\"undefined\")) str = undefined;\r\n } catch (error) {}\r\n return (\r\n <>\r\n
    \r\n
    \r\n {name}\r\n
    \r\n
    \r\n {str || Empty}\r\n
    \r\n
    \r\n \r\n );\r\n}\r\n","/* eslint-disable no-script-url,jsx-a11y/anchor-is-valid,jsx-a11y/role-supports-aria-props */\r\nimport React, { useEffect, useState } from \"react\";\r\nimport { useDispatch } from \"react-redux\";\r\nimport Select from \"react-select\";\r\nimport {\r\n Card,\r\n CardBody,\r\n CardHeader,\r\n CardHeaderToolbar,\r\n} from \"../../../../../../_metronic/_partials/controls\";\r\nimport * as actions from \"../../../_redux/products/productsActions\";\r\nimport CloseIcon from \"@material-ui/icons/Close\";\r\nimport CreatableSelect from \"react-select/creatable\";\r\nimport { Formik } from \"formik\";\r\nimport low from \"lowdb\";\r\nimport LocalStorage from \"lowdb/adapters/LocalStorage\";\r\nimport { Modal, OverlayTrigger, Spinner, Tooltip } from \"react-bootstrap\";\r\nimport { IconButton, makeStyles } from \"@material-ui/core\";\r\nimport { Notification } from \"../../../../Notification\";\r\nimport { RequiredHtml } from \"../../../../../../_metronic/_helpers/ATHelpers\";\r\nimport axios from \"axios\";\r\nimport { ProductMODetail } from \"../master-order-detail/ProductDetail\";\r\nconst adapter = new LocalStorage(\"db\");\r\nconst db = low(adapter);\r\n\r\nconst initProduct = {\r\n id: undefined,\r\n Mo: \"Auto Populate\",\r\n CustomerId: null,\r\n ConsigneeId: null,\r\n ShipperId: null,\r\n BillToId: null,\r\n CustomerRefNumber: \"\",\r\n MustArriveByDate: \"\",\r\n RequiredShipDate: \"\",\r\n ConsigneeNumber: \"\",\r\n ShipperNumber: \"\",\r\n};\r\nconst useStyles = makeStyles((theme) => ({\r\n root: {\r\n width: \"100%\",\r\n },\r\n heading: {\r\n fontSize: theme.typography.pxToRem(15),\r\n fontWeight: theme.typography.fontWeightRegular,\r\n },\r\n}));\r\nexport function OrderCreation({\r\n history,\r\n /* match: {\r\n params: { Mode, MO },\r\n }, */\r\n Mode,\r\n MO,\r\n}) {\r\n // Subheader\r\n // Tabs\r\n const [modalAddresses, setmodalAddresses] = useState(false);\r\n const [IsShipperSelected, setIsShipperSelected] = useState(false);\r\n const [MODetail, setMODetail] = useState(false);\r\n\r\n const [ViewModelOptions, setViewModelOptions] = useState(null);\r\n const dispatch = useDispatch();\r\n // const layoutDispatch = useContext(LayoutContext.Dispatch);\r\n\r\n useEffect(() => {\r\n dispatch(actions.fetchProduct(MO));\r\n }, [MO, dispatch]);\r\n\r\n //GetViewModel\r\n function GetViewModel() {\r\n var myHeaders = new Headers();\r\n myHeaders.append(\"Authorization\", `Bearer ${db.read().getState().Token}`);\r\n\r\n var requestOptions = {\r\n method: \"GET\",\r\n headers: myHeaders,\r\n redirect: \"follow\",\r\n };\r\n\r\n fetch(`${window.$apiurl}/Tms/GetViewModel`, requestOptions)\r\n .then(async (response) => {\r\n if (response.status === 401) {\r\n history.push(\"/error/401\");\r\n }\r\n return response.text();\r\n })\r\n .then((result) => {\r\n var data = JSON.parse(result);\r\n setViewModelOptions(data);\r\n })\r\n .catch((error) => console.log(\"error\", error));\r\n }\r\n useEffect(() => {\r\n GetViewModel();\r\n }, []);\r\n //End Get ViewModel\r\n\r\n const backToProductsList = () => {\r\n document.getElementById(\"LoadBoardGrid\").click();\r\n };\r\n\r\n const classes = useStyles();\r\n const [ShowLegs, setShowLegs] = useState();\r\n const [Country, setCountry] = useState([]);\r\n const [customers, setCustomers] = useState([]);\r\n const [states, setStates] = useState([]);\r\n const [countryIdFetch, setCountryValue] = useState({\r\n value: \"US\",\r\n label: \"United States\",\r\n });\r\n const [stateId, setStateId] = React.useState({\r\n value: \"\",\r\n label: \"Select\",\r\n });\r\n const [LoadingPost, setLoadingPost] = useState(false);\r\n const [AddressObjectPost, setAddressObjectPost] = useState({\r\n Name: \"\",\r\n Address: \"\",\r\n City: \"\",\r\n State: \"\",\r\n PostalCode: \"\",\r\n CountryId: \"US\",\r\n Phone: \"\",\r\n Fax: \"\",\r\n Note: \"\",\r\n AddressTypeId: null,\r\n IsActive: true,\r\n Charges: [],\r\n ContactName: \"\",\r\n Email: \"\",\r\n CustomerId: null,\r\n });\r\n //Fetch Dynamic Address\r\n const [consignee, setConsignee] = useState({\r\n ConsigneeId: 0,\r\n ConsigneeAddress: \"\",\r\n ConsigneeCity: \"\",\r\n ConsigneeState: \"\",\r\n ConsigneeZipCode: \"\",\r\n ConsigneePhoneNumber: \"\",\r\n ConsigneeFax: \"\",\r\n ConsigneeContactName: \"\",\r\n ConsigneeEmail: \"\",\r\n });\r\n const [shipper, setShipper] = useState({\r\n ShipperId: 0,\r\n ShipperAddress: \"\",\r\n ShipperCity: \"\",\r\n ShipperState: \"\",\r\n ShipperZipCode: \"\",\r\n ShipperPhoneNumber: \"\",\r\n ShipperFax: \"\",\r\n ShipperContactName: \"\",\r\n ShipperEmail: \"\",\r\n });\r\n async function fetchSelectedAddress(id, isShipper) {\r\n try {\r\n const result = await GetShipperAddress(id);\r\n if (isShipper) {\r\n let currentAddress = { ...shipper };\r\n currentAddress = {\r\n ShipperId: result?.Id,\r\n ShipperAddress: result?.Address,\r\n ShipperCity: result?.City,\r\n ShipperState: result?.State,\r\n ShipperZipCode: result?.ZipCode,\r\n ShipperPhoneNumber: result?.PhoneNumber,\r\n ShipperFax: result?.Fax,\r\n ShipperContactName: result?.ContactName,\r\n ShipperEmail: result?.Email,\r\n };\r\n setShipper(currentAddress);\r\n } else {\r\n let currentAddress = { ...consignee };\r\n currentAddress = {\r\n ConsigneeId: result?.Id,\r\n ConsigneeAddress: result?.Address,\r\n ConsigneeCity: result?.City,\r\n ConsigneeState: result?.State,\r\n ConsigneeZipCode: result?.ZipCode,\r\n ConsigneePhoneNumber: result?.PhoneNumber,\r\n ConsigneeFax: result?.Fax,\r\n ConsigneeContactName: result?.ContactName,\r\n ConsigneeEmail: result?.Email,\r\n };\r\n setConsignee(currentAddress);\r\n }\r\n } catch (err) {}\r\n }\r\n async function GetShipperAddress(id) {\r\n return await fetch(window.$apiurl + `/Tms/Address/${id}`, {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\", //it can be iPhone or your any other attribute\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n if (res[0] === 200) {\r\n const result = res[1];\r\n return result;\r\n }\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n //******************************************************* */\r\n async function GetCustomers() {\r\n return await fetch(`${window.$apiurl}/quoting/viewmodel`, {\r\n method: \"get\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n var a = res[1];\r\n const obj = [];\r\n a?.Customers.length > 0 &&\r\n a.Customers.map((item) => {\r\n obj.push({ value: item.Id, label: item.Name });\r\n return null;\r\n });\r\n setCustomers(obj);\r\n window.$customersAddress = a.Customers;\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n const fetchViewModelAsync = async () => {\r\n try {\r\n const result = await axios.get(\"api/ManageAddress/GetAllApi\");\r\n setCountry(result.data[\"Countries\"] || []);\r\n } catch (e) {}\r\n };\r\n const handleCountryChange = async (event) => {\r\n setStates([]);\r\n if (event !== \"\" && event !== null) {\r\n const result = await axios.get(`api/companyinfo/getstates/${event}`);\r\n if (result.status === 200) {\r\n if (result.data.length > 0) {\r\n const states = [];\r\n window.$StatesAddress = result.data;\r\n result.data.length > 0 &&\r\n result.data.map((item) => {\r\n states.push({ value: item.Id, label: item.Name });\r\n return null;\r\n });\r\n setStates(states);\r\n } else {\r\n Notification(\"warning\", \"This Country doesn't have any state.\");\r\n }\r\n }\r\n }\r\n };\r\n useEffect(() => {\r\n fetchViewModelAsync();\r\n GetCustomers();\r\n }, []);\r\n\r\n const Services = [{ label: \"Transportation\" }].map((Services) => ({\r\n value: Services.label,\r\n label: Services.label,\r\n }));\r\n return (\r\n {\r\n setLoadingPost(true);\r\n var myHeaders = new Headers();\r\n myHeaders.append(\r\n \"Authorization\",\r\n `Bearer ${db.read().getState().Token}`\r\n );\r\n myHeaders.append(\"Content-Type\", \"application/json\");\r\n\r\n var raw = JSON.stringify(values);\r\n\r\n var requestOptions = {\r\n method: \"POST\",\r\n headers: myHeaders,\r\n body: raw,\r\n redirect: \"follow\",\r\n };\r\n\r\n fetch(`${window.$apiurl}/Tms/MasterOrders`, requestOptions)\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n const contentType = response.headers.get(\"content-type\");\r\n if (contentType && contentType.indexOf(\"application/json\") !== -1) {\r\n return response.json().then((data) => [statusCode, data]);\r\n } else {\r\n return response\r\n .text()\r\n .then((text) => [statusCode, { Message: \"\" }]);\r\n }\r\n })\r\n .then((result) => {\r\n if (result[0] === 200) {\r\n Notification(\"success\", `MO has been Aadd successfully`);\r\n setLoadingPost(false);\r\n setMODetail(result[1].Id);\r\n } else {\r\n if (\r\n result[1].ModelState !== null &&\r\n result[1].ModelState !== undefined &&\r\n result[1].ModelState !== \"\"\r\n ) {\r\n let modelState = result[1].ModelState;\r\n if (modelState)\r\n Object.keys(modelState).forEach(function(k) {\r\n modelState[k].forEach((element) => {\r\n Notification(\"errorClick\", element);\r\n });\r\n });\r\n } else if (\r\n result[1].Message !== null &&\r\n result[1].Message !== undefined &&\r\n result[1].Message !== \"\"\r\n ) {\r\n Notification(\"errorClick\", result[1].Message);\r\n } else {\r\n Notification(\"errorClick\", \"invalid request\");\r\n }\r\n setLoadingPost(false);\r\n }\r\n })\r\n .catch((error) => {\r\n console.log(\"error\", error);\r\n Notification(\"errorClick\", \"invalid request\");\r\n setLoadingPost(false);\r\n });\r\n }}\r\n >\r\n {({ values, handleSubmit, setFieldValue }) => {\r\n function postAddress() {\r\n setLoadingPost(true);\r\n let value = { ...AddressObjectPost };\r\n value.AddressTypeId = IsShipperSelected === true ? 11 : 5;\r\n return fetch(window.$apiurl + \"/address\", {\r\n method: \"post\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n\r\n body: JSON.stringify(value),\r\n })\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n const contentType = response.headers.get(\"content-type\");\r\n if (\r\n contentType &&\r\n contentType.indexOf(\"application/json\") !== -1\r\n ) {\r\n return response.json().then((data) => [statusCode, data]);\r\n } else {\r\n return response\r\n .text()\r\n .then((text) => [statusCode, { Message: \"\" }]);\r\n }\r\n })\r\n .then(async (res) => {\r\n if (res[0] === 200) {\r\n Notification(\"success\", \"Address has been add successfuly\");\r\n setmodalAddresses(false);\r\n setLoadingPost(false);\r\n\r\n await GetViewModel();\r\n if (IsShipperSelected) {\r\n setFieldValue(\"ShipperId\", res[1].Id);\r\n await fetchSelectedAddress(res[1].Id, true);\r\n } else {\r\n setFieldValue(\"ConsigneeId\", res[1].Id);\r\n await fetchSelectedAddress(res[1].Id, false);\r\n }\r\n\r\n setAddressObjectPost({\r\n Name: \"\",\r\n Address: \"\",\r\n City: \"\",\r\n State: \"\",\r\n PostalCode: \"\",\r\n CountryId: \"US\",\r\n Phone: \"\",\r\n Fax: \"\",\r\n Note: \"\",\r\n AddressTypeId: null,\r\n IsActive: true,\r\n Charges: [],\r\n CustomerId: null,\r\n ContactName: \"\",\r\n Email: \"\",\r\n });\r\n } else {\r\n if (\r\n res[1].Message !== null &&\r\n res[1].Message !== undefined &&\r\n res[1].Message !== \"\"\r\n ) {\r\n Notification(\"errorClick\", res[1].Message);\r\n } else {\r\n Notification(\"errorClick\", \"Invalid Data\");\r\n }\r\n setLoadingPost(false);\r\n }\r\n })\r\n .catch((error) => {\r\n Notification(\"errorClick\", \"Invalid Data\");\r\n setLoadingPost(false);\r\n });\r\n }\r\n return (\r\n <>\r\n {MODetail && (\r\n \r\n )}\r\n {!MODetail && (\r\n
    \r\n \r\n \r\n \r\n Create Service Leg\r\n \r\n {\r\n setShowLegs(false);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n setShowLegs(false)}\r\n className=\"btn btn-outline btn-elevate\"\r\n >\r\n Cancel\r\n \r\n {\r\n history.push(`/TransportManagementSystems/MORDER/New`);\r\n }}\r\n className=\"btn btn-primary btn-elevate\"\r\n >\r\n Save\r\n \r\n \r\n \r\n \r\n \r\n \r\n Add new Address\r\n \r\n {\r\n setmodalAddresses(false);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n {\r\n let value = { ...AddressObjectPost };\r\n value.Name = e.target.value;\r\n setAddressObjectPost(value);\r\n }}\r\n required={true}\r\n />\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n {\r\n let value = { ...AddressObjectPost };\r\n value.Address = e.target.value;\r\n setAddressObjectPost(value);\r\n }}\r\n className=\"form-control\"\r\n />\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n\r\n {\r\n let value = { ...AddressObjectPost };\r\n value.City = e.target.value;\r\n setAddressObjectPost(value);\r\n }}\r\n label=\"City\"\r\n />\r\n
    \r\n
    \r\n \r\n {\r\n setStateId(e);\r\n let value = { ...AddressObjectPost };\r\n if (e !== null) {\r\n value.State = e?.label;\r\n } else {\r\n value.State = \"\";\r\n }\r\n setAddressObjectPost(value);\r\n }}\r\n />\r\n
    \r\n
    \r\n \r\n\r\n {\r\n let value = { ...AddressObjectPost };\r\n value.PostalCode = e.target.value;\r\n setAddressObjectPost(value);\r\n }}\r\n label=\"Zip Code\"\r\n />\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n {\r\n return { value: x?.Id, label: x?.Name };\r\n })}\r\n onChange={(newValue) => {\r\n setCountryValue(newValue);\r\n handleCountryChange(newValue?.value);\r\n let value = { ...AddressObjectPost };\r\n if (newValue !== null) {\r\n value.CountryId = newValue?.value;\r\n } else {\r\n value.CountryId = \"\";\r\n }\r\n setAddressObjectPost(value);\r\n }}\r\n />\r\n
    \r\n
    \r\n \r\n\r\n {\r\n let value = { ...AddressObjectPost };\r\n value.Phone = e.target.value;\r\n setAddressObjectPost(value);\r\n }}\r\n className=\"form-control\"\r\n placeholder=\"Phone\"\r\n label=\"Phone\"\r\n />\r\n
    \r\n
    \r\n \r\n\r\n {\r\n let value = { ...AddressObjectPost };\r\n value.Fax = e.target.value;\r\n setAddressObjectPost(value);\r\n }}\r\n className=\"form-control\"\r\n placeholder=\"Fax\"\r\n label=\"Fax\"\r\n />\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n\r\n {\r\n let value = { ...AddressObjectPost };\r\n value.ContactName = e.target.value;\r\n setAddressObjectPost(value);\r\n }}\r\n className=\"form-control\"\r\n placeholder=\"Contact Name\"\r\n label=\"Contact Name\"\r\n />\r\n
    \r\n
    \r\n \r\n\r\n {\r\n let value = { ...AddressObjectPost };\r\n value.Email = e.target.value;\r\n setAddressObjectPost(value);\r\n }}\r\n className=\"form-control\"\r\n placeholder=\"Contact Email\"\r\n label=\"Contact Email\"\r\n />\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    \r\n Carrier Name :{\" \"}\r\n {customer?.CarrierName | \"\"}\r\n

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

    Carrier Phone :

    \r\n
    \r\n {/* {\r\n fetchStartTracking(customer?.Id);\r\n }}\r\n >\r\n Start Tracking{\" \"}\r\n {(customer?.TrackingEnabled || StartTrackingState) &&\r\n \"( Enabled )\"}\r\n */}\r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n {\r\n setFieldValue(\r\n \"ProofOfDeliveryDate\",\r\n event.target.value\r\n );\r\n }}\r\n />\r\n
    \r\n \r\n \r\n {\r\n setFieldValue(\"ActualPickupDate\", event.target.value);\r\n }}\r\n />\r\n
    \r\n \r\n \r\n {\r\n setFieldValue(\"Arrival\", event.target.value);\r\n }}\r\n />\r\n
    \r\n\r\n \r\n \r\n {\r\n setFieldValue(\"Departure\", event.target.value);\r\n }}\r\n />\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n {/* {\r\n setFieldValue(\"Notes\", event.target.value);\r\n }}\r\n /> */}\r\n {\r\n setFieldValue(\"Notes\", e.target.value);\r\n }}\r\n >\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n {ShipmentAccessLevels.length === 0 && }\r\n
    \r\n
    \r\n \r\n {\r\n setFieldValue(\r\n \"PickupReadyDateTime\",\r\n event.target.value\r\n );\r\n }}\r\n />\r\n
    \r\n
    \r\n \r\n {\r\n setFieldValue(\r\n \"DeliveryEstimatedDateTime\",\r\n event.target.value\r\n );\r\n }}\r\n />\r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n {ShipmentStatus.map((item, index) => (\r\n {\r\n filterStatus(item.Id);\r\n setStatusStatId2(item.Id);\r\n setStatusStatId(item.ParentId);\r\n }}\r\n >\r\n {item.Abbreviation}\r\n \r\n ))}\r\n \r\n Select Other Status\r\n \r\n \r\n \r\n {ShipmentStatusSumParent.map((item, index) => (\r\n {\r\n handleClose(item.Id);\r\n setStatusStatId2(item.Id);\r\n setStatusStatId(item.ParentId);\r\n }}\r\n >\r\n {item.Name}\r\n \r\n ))}\r\n \r\n
    \r\n\r\n
    \r\n \r\n Cancel\r\n \r\n <> \r\n handleSubmit()}\r\n className=\"btn btn-primary btn-elevate\"\r\n >\r\n Save\r\n \r\n
    \r\n
    \r\n
    \r\n \r\n )}\r\n \r\n \r\n );\r\n}\r\n","import $ from \"jquery\";\r\nimport low from \"lowdb\";\r\nimport LocalStorage from \"lowdb/adapters/LocalStorage\";\r\nimport React, { useEffect, useState } from \"react\";\r\nimport { Card } from \"react-bootstrap\";\r\nimport { momentDate } from \"../../../../../../../_metronic/_helpers/ATHelpers\";\r\nimport { CreatableSelect2 } from \"../../../../../../../_metronic/_partials/controls\";\r\nimport { Notification } from \"../../../../../Notification\";\r\nconst adapter = new LocalStorage(\"db\");\r\nconst db = low(adapter);\r\n\r\nexport function OrderNotes({ id, Type, newOnly = false }) {\r\n const [NotesList, setNotesList] = useState([]);\r\n const [CategorysList, setCategorysList] = useState([]);\r\n const [AccessLevels, setAccessLevels] = useState([]);\r\n const [ListNewOnly, setListNewOnly] = useState(false);\r\n const [NewText, setNewText] = useState(\"\");\r\n useEffect(() => {\r\n if (id) {\r\n async function fetchMyAPI() {\r\n getNots();\r\n }\r\n fetchMyAPI();\r\n }\r\n }, [id]);\r\n\r\n async function GetNotes(id) {\r\n return await fetch(`${window.$apiurl}/transload/${Type}/getnotes/${id}`, {\r\n method: \"get\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then(async (res) => {\r\n return res[1];\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n async function PostNote(id, bodytext, cat, AccessLevelId) {\r\n return await fetch(`${window.$apiurl}/transload/${Type}/addnote/${id}`, {\r\n method: \"post\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify({\r\n body: bodytext,\r\n CategoryId: cat,\r\n AccessLevelId: AccessLevelId,\r\n }),\r\n })\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then(async (res) => {\r\n Notification(\"success\", \"Note has been saved successfully\");\r\n })\r\n .catch((error) => {\r\n Notification(\"success\", \"Note has been saved successfully\");\r\n });\r\n }\r\n\r\n async function DeleteNote(id) {\r\n return await fetch(`${window.$apiurl}/generic/notes/${id}`, {\r\n method: \"Delete\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then(async (res) => {\r\n getNots();\r\n Notification(\"success\", \"Note is Deleted successfully\");\r\n })\r\n .catch((error) => {\r\n getNots();\r\n Notification(\"success\", \"Note is Deleted successfully\");\r\n });\r\n }\r\n function CardFunction({ x, index }) {\r\n const [Showing, setShowing] = useState(false);\r\n const [Text, setText] = useState(\"\");\r\n const [Category, setCategory] = useState(\"\");\r\n\r\n async function PutNote(id, bodytext, CategoryId) {\r\n return await fetch(`${window.$apiurl}/generic/notes/${id}`, {\r\n method: \"put\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify({ body: bodytext, CategoryId: CategoryId }),\r\n })\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then(async (res) => {\r\n Notification(\"success\", \"Note has been saved successfully\");\r\n setShowing(false);\r\n })\r\n .catch((error) => {\r\n Notification(\"success\", \"Note has been saved successfully\");\r\n setShowing(false);\r\n });\r\n }\r\n const [titleBtnDeletePut, setTitleBtnDeletePut] = useState(\"Delete\");\r\n return (\r\n <>\r\n \r\n \r\n \r\n {x?.CreatedBy}\r\n \r\n \r\n {momentDate(x?.CreatedAt)}\r\n \r\n {x?.UpdatedAt !== null &&\r\n ` - edited (${momentDate(x?.UpdatedAt)})`}\r\n \r\n \r\n
    \r\n {x?.CategoryId !== null &&\r\n CategorysList.find((y) => y.Id === x?.CategoryId)?.Name !==\r\n undefined && (\r\n
    \r\n {\" \"}\r\n {CategorysList.find((y) => y.Id === x?.CategoryId)?.Name}\r\n
    \r\n )}\r\n \r\n {!Showing && (!Text ? x?.Body : Text)}\r\n {Showing && (\r\n <>\r\n {\r\n setCategory(event.target.value);\r\n }}\r\n >\r\n \r\n {CategorysList.map((item, index) => (\r\n \r\n ))}\r\n \r\n {\r\n setText(event.target.value);\r\n }}\r\n >\r\n \r\n )}\r\n \r\n {db.getState().User?.Email === x?.UserEmail && (\r\n \r\n {\r\n if (Showing) {\r\n await PutNote(\r\n x?.Id,\r\n Text === \"\" ? x?.Body : Text,\r\n Category === \"\" ? x?.CategoryId : Category\r\n );\r\n getNots();\r\n } else {\r\n setTitleBtnDeletePut(\"Close\");\r\n setShowing(true);\r\n }\r\n }}\r\n >\r\n {!Showing && (\r\n <>\r\n Edit\r\n \r\n )}\r\n {Showing && (\r\n <>\r\n Save\r\n \r\n )}\r\n \r\n\r\n {db.getState().User?.Email === x?.UserEmail && (\r\n {\r\n if (titleBtnDeletePut === \"Delete\") {\r\n await DeleteNote(x?.Id);\r\n getNots();\r\n } else {\r\n setTitleBtnDeletePut(\"Delete\");\r\n setShowing(false);\r\n }\r\n }}\r\n >\r\n {titleBtnDeletePut === \"Delete\" && (\r\n \r\n )}\r\n {titleBtnDeletePut === \"Close\" && (\r\n \r\n )}\r\n {titleBtnDeletePut}\r\n \r\n )}\r\n
    \r\n )}\r\n \r\n \r\n
    \r\n \r\n );\r\n }\r\n async function getNots() {\r\n var a = await GetNotes(id);\r\n var list = a?.Notes || [];\r\n\r\n if (ListNewOnly === false && newOnly) {\r\n setListNewOnly([]);\r\n list.forEach((x, i) => {\r\n setListNewOnly((y) => [...y, x.Id]);\r\n });\r\n list = [];\r\n } else if (newOnly) {\r\n list.forEach((x, i) => {\r\n var find = ListNewOnly.find((y) => y === x.Id);\r\n if (find) x.notShowing = true;\r\n });\r\n }\r\n\r\n setNotesList(list);\r\n setCategorysList(a?.Categories || []);\r\n setAccessLevels(a?.AccessLevels || []);\r\n }\r\n return (\r\n <>\r\n
    \r\n {\r\n $(\".NotesId\").toggle(\"slow\");\r\n }}\r\n >\r\n Add New Note\r\n \r\n
    \r\n\r\n
    \r\n \r\n setNewText(e.target.value)}\r\n >\r\n
    \r\n
    \r\n {\r\n return {\r\n value: x?.Id,\r\n label: x?.Name,\r\n };\r\n })}\r\n />\r\n
    \r\n
    \r\n {\r\n return {\r\n value: x?.Id,\r\n label: x?.Name,\r\n };\r\n })}\r\n placeholder=\"Access Level\"\r\n />\r\n
    \r\n
    \r\n \r\n {\r\n if (NewText === \"\") Notification(\"warning\", \"Text is Empty\");\r\n else {\r\n await PostNote(\r\n id,\r\n NewText,\r\n $('[name=\"CategoryId\"]').val(),\r\n $('[name=\"AccessLevelId\"]').val()\r\n );\r\n getNots();\r\n setTimeout(() => {\r\n setNewText(\"\");\r\n $(\".NotesId\").toggle(\"slow\");\r\n $(\"#NewTextNots\").val(\"\");\r\n }, 50);\r\n }\r\n }}\r\n >\r\n Save\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n {(NotesList ?? []).filter((x) => x?.notShowing !== true)?.map((x, index) => (\r\n getNots()} />\r\n ))}\r\n \r\n );\r\n}\r\nexport function OrderNotesV2({ id, Type,notesList,AccessLevels,CategorysList, newOnly = false }) {\r\n const [ListNewOnly, setListNewOnly] = useState(false);\r\n const [NotesList, setNotesList] = useState(notesList === null ?[]:notesList);\r\n const [NewText, setNewText] = useState(\"\");\r\n // useEffect(() => {\r\n // if (id) {\r\n // async function fetchMyAPI() {\r\n // getNots();\r\n // }\r\n // fetchMyAPI();\r\n // }\r\n // }, [id]);\r\n\r\n async function GetNotes(id) {\r\n return await fetch(`${window.$apiurl}/transload/${Type}/getnotes/${id}`, {\r\n method: \"get\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then(async (res) => {\r\n return res[1];\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n async function PostNote(id, bodytext, cat, AccessLevelId) {\r\n return await fetch(`${window.$apiurl}/transload/${Type}/addnote/${id}`, {\r\n method: \"post\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify({\r\n body: bodytext,\r\n CategoryId: cat,\r\n AccessLevelId: AccessLevelId,\r\n }),\r\n })\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then(async (res) => {\r\n Notification(\"success\", \"Note has been saved successfully\");\r\n })\r\n .catch((error) => {\r\n Notification(\"success\", \"Note has been saved successfully\");\r\n });\r\n }\r\n\r\n async function DeleteNote(id) {\r\n return await fetch(`${window.$apiurl}/generic/notes/${id}`, {\r\n method: \"Delete\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then(async (res) => {\r\n getNots();\r\n Notification(\"success\", \"Note is Deleted successfully\");\r\n })\r\n .catch((error) => {\r\n getNots();\r\n Notification(\"success\", \"Note is Deleted successfully\");\r\n });\r\n }\r\n function CardFunction({ x, index }) {\r\n const [Showing, setShowing] = useState(false);\r\n const [Text, setText] = useState(\"\");\r\n const [Category, setCategory] = useState(\"\");\r\n\r\n async function PutNote(id, bodytext, CategoryId) {\r\n return await fetch(`${window.$apiurl}/generic/notes/${id}`, {\r\n method: \"put\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify({ body: bodytext, CategoryId: CategoryId }),\r\n })\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then(async (res) => {\r\n Notification(\"success\", \"Note has been saved successfully\");\r\n setShowing(false);\r\n })\r\n .catch((error) => {\r\n Notification(\"success\", \"Note has been saved successfully\");\r\n setShowing(false);\r\n });\r\n }\r\n const [titleBtnDeletePut, setTitleBtnDeletePut] = useState(\"Delete\");\r\n return (\r\n <>\r\n \r\n \r\n \r\n {x?.CreatedBy}\r\n \r\n \r\n {momentDate(x?.CreatedAt)}\r\n \r\n {x?.UpdatedAt !== null &&\r\n ` - edited (${momentDate(x?.UpdatedAt)})`}\r\n \r\n \r\n
    \r\n {x?.CategoryId !== null &&\r\n CategorysList.find((y) => y.Id === x?.CategoryId)?.Name !==\r\n undefined && (\r\n
    \r\n {\" \"}\r\n {CategorysList.find((y) => y.Id === x?.CategoryId)?.Name}\r\n
    \r\n )}\r\n \r\n {!Showing && (!Text ? x?.Body : Text)}\r\n {Showing && (\r\n <>\r\n {\r\n setCategory(event.target.value);\r\n }}\r\n >\r\n \r\n {CategorysList.map((item, index) => (\r\n \r\n ))}\r\n \r\n {\r\n setText(event.target.value);\r\n }}\r\n >\r\n \r\n )}\r\n \r\n {db.getState().User?.Email === x?.UserEmail && (\r\n \r\n {\r\n if (Showing) {\r\n await PutNote(\r\n x?.Id,\r\n Text === \"\" ? x?.Body : Text,\r\n Category === \"\" ? x?.CategoryId : Category\r\n );\r\n getNots();\r\n } else {\r\n setTitleBtnDeletePut(\"Close\");\r\n setShowing(true);\r\n }\r\n }}\r\n >\r\n {!Showing && (\r\n <>\r\n Edit\r\n \r\n )}\r\n {Showing && (\r\n <>\r\n Save\r\n \r\n )}\r\n \r\n\r\n {db.getState().User?.Email === x?.UserEmail && (\r\n {\r\n if (titleBtnDeletePut === \"Delete\") {\r\n await DeleteNote(x?.Id);\r\n getNots();\r\n } else {\r\n setTitleBtnDeletePut(\"Delete\");\r\n setShowing(false);\r\n }\r\n }}\r\n >\r\n {titleBtnDeletePut === \"Delete\" && (\r\n \r\n )}\r\n {titleBtnDeletePut === \"Close\" && (\r\n \r\n )}\r\n {titleBtnDeletePut}\r\n \r\n )}\r\n
    \r\n )}\r\n \r\n \r\n
    \r\n \r\n );\r\n }\r\n async function getNots() {\r\n var a = await GetNotes(id);\r\n var list = a?.Notes || [];\r\n\r\n if (ListNewOnly === false && newOnly) {\r\n setListNewOnly([]);\r\n list.forEach((x, i) => {\r\n setListNewOnly((y) => [...y, x.Id]);\r\n });\r\n list = [];\r\n } else if (newOnly) {\r\n list.forEach((x, i) => {\r\n var find = ListNewOnly.find((y) => y === x.Id);\r\n if (find) x.notShowing = true;\r\n });\r\n }\r\n\r\n setNotesList(list);\r\n }\r\n return (\r\n <>\r\n
    \r\n {\r\n $(\".NotesId\").toggle(\"slow\");\r\n }}\r\n >\r\n Add New Note\r\n \r\n
    \r\n\r\n
    \r\n \r\n setNewText(e.target.value)}\r\n >\r\n
    \r\n
    \r\n {\r\n return {\r\n value: x?.Id,\r\n label: x?.Name,\r\n };\r\n })}\r\n onChange={(newValue) => {\r\n var a = newValue?.value;\r\n }}\r\n />\r\n
    \r\n
    \r\n {\r\n return {\r\n value: x?.Id,\r\n label: x?.Name,\r\n };\r\n })}\r\n onChange={(newValue) => {\r\n var a = newValue?.value;\r\n }}\r\n placeholder=\"Access Level\"\r\n />\r\n
    \r\n
    \r\n \r\n {\r\n if (NewText === \"\") Notification(\"warning\", \"Text is Empty\");\r\n else {\r\n var a = await PostNote(\r\n id,\r\n NewText,\r\n $('[name=\"CategoryId\"]').val(),\r\n $('[name=\"AccessLevelId\"]').val()\r\n );\r\n getNots();\r\n setTimeout(() => {\r\n setNewText(\"\");\r\n $(\".NotesId\").toggle(\"slow\");\r\n $(\"#NewTextNots\").val(\"\");\r\n }, 50);\r\n }\r\n }}\r\n >\r\n Save\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n {NotesList.filter((x) => x?.notShowing !== true)?.map((x, index) => (\r\n getNots()} />\r\n ))}\r\n \r\n );\r\n}","import {createSlice} from \"@reduxjs/toolkit\";\r\n\r\nconst initialSpecificationsState = {\r\n listLoading: false,\r\n actionsLoading: false,\r\n totalCount: 0,\r\n entities: null,\r\n specificationForEdit: undefined,\r\n lastError: null\r\n};\r\nexport const callTypes = {\r\n list: \"list\",\r\n action: \"action\"\r\n};\r\n\r\nexport const specificationsSlice = createSlice({\r\n name: \"specifications\",\r\n initialState: initialSpecificationsState,\r\n reducers: {\r\n catchError: (state, action) => {\r\n state.error = `${action.type}: ${action.payload.error}`;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = false;\r\n } else {\r\n state.actionsLoading = false;\r\n }\r\n },\r\n startCall: (state, action) => {\r\n state.error = null;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = true;\r\n } else {\r\n state.actionsLoading = true;\r\n }\r\n },\r\n // getSpecificationById\r\n specificationFetched: (state, action) => {\r\n state.actionsLoading = false;\r\n state.specificationForEdit = action.payload.specificationForEdit;\r\n state.error = null;\r\n },\r\n // findSpecifications\r\n specificationsFetched: (state, action) => {\r\n const { totalCount, entities } = action.payload;\r\n state.listLoading = false;\r\n state.error = null;\r\n state.entities = entities;\r\n state.totalCount = totalCount;\r\n },\r\n // createSpecification\r\n specificationCreated: (state, action) => {\r\n state.actionsLoading = false;\r\n state.error = null;\r\n state.entities.push(action.payload.specification);\r\n },\r\n // updateSpecification\r\n specificationUpdated: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.map(entity => {\r\n if (entity.id === action.payload.specification.id) {\r\n return action.payload.specification;\r\n }\r\n return entity;\r\n });\r\n },\r\n // deleteSpecification\r\n specificationDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(el => el.id !== action.payload.id);\r\n },\r\n // deleteSpecifications\r\n specificationsDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(\r\n el => !action.payload.ids.includes(el.id)\r\n );\r\n }\r\n }\r\n});\r\n","import {createSlice} from \"@reduxjs/toolkit\";\r\n\r\nconst initialRemarksState = {\r\n listLoading: false,\r\n actionsLoading: false,\r\n totalCount: 0,\r\n entities: null,\r\n remarkForEdit: undefined,\r\n lastError: null\r\n};\r\nexport const callTypes = {\r\n list: \"list\",\r\n action: \"action\"\r\n};\r\n\r\nexport const ContactInformation = createSlice({\r\n name: \"ContactInformation\",\r\n initialState: initialRemarksState,\r\n reducers: {\r\n catchError: (state, action) => {\r\n state.error = `${action.type}: ${action.payload.error}`;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = false;\r\n } else {\r\n state.actionsLoading = false;\r\n }\r\n },\r\n startCall: (state, action) => {\r\n state.error = null;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = true;\r\n } else {\r\n state.actionsLoading = true;\r\n }\r\n },\r\n // getRemarkById\r\n remarkFetched: (state, action) => {\r\n state.actionsLoading = false;\r\n state.remarkForEdit = action.payload.remarkForEdit;\r\n state.error = null;\r\n },\r\n // findRemarks\r\n remarksFetched: (state, action) => {\r\n const { totalCount, entities } = action.payload;\r\n state.listLoading = false;\r\n state.error = null;\r\n state.entities = entities;\r\n state.totalCount = totalCount;\r\n },\r\n // createRemark\r\n remarkCreated: (state, action) => {\r\n state.actionsLoading = false;\r\n state.error = null;\r\n state.entities.push(action.payload.remark);\r\n },\r\n // updateRemark\r\n remarkUpdated: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.map(entity => {\r\n if (entity.id === action.payload.remark.id) {\r\n return action.payload.remark;\r\n }\r\n return entity;\r\n });\r\n },\r\n // deleteRemark\r\n remarkDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(el => el.id !== action.payload.id);\r\n },\r\n // deleteRemarks\r\n remarksDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(\r\n el => !action.payload.ids.includes(el.id)\r\n );\r\n },\r\n // remarksUpdateState\r\n remarksStatusUpdated: (state, action) => {\r\n state.actionsLoading = false;\r\n state.error = null;\r\n const { ids, status } = action.payload;\r\n state.entities = state.entities.map(entity => {\r\n if (ids.findIndex(id => id === entity.id) > -1) {\r\n entity.status = status;\r\n }\r\n return entity;\r\n });\r\n }\r\n }\r\n});\r\n","import {createSlice} from \"@reduxjs/toolkit\";\r\n\r\nconst initialRemarksState = {\r\n listLoading: false,\r\n actionsLoading: false,\r\n totalCount: 0,\r\n entities: null,\r\n remarkForEdit: undefined,\r\n lastError: null\r\n};\r\nexport const callTypes = {\r\n list: \"list\",\r\n action: \"action\"\r\n};\r\n\r\nexport const CarrierAttachment = createSlice({\r\n name: \"CarrierAttachment\",\r\n initialState: initialRemarksState,\r\n reducers: {\r\n catchError: (state, action) => {\r\n state.error = `${action.type}: ${action.payload.error}`;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = false;\r\n } else {\r\n state.actionsLoading = false;\r\n }\r\n },\r\n startCall: (state, action) => {\r\n state.error = null;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = true;\r\n } else {\r\n state.actionsLoading = true;\r\n }\r\n },\r\n // getRemarkById\r\n remarkFetched: (state, action) => {\r\n state.actionsLoading = false;\r\n state.remarkForEdit = action.payload.remarkForEdit;\r\n state.error = null;\r\n },\r\n // findRemarks\r\n remarksFetched: (state, action) => {\r\n const { totalCount, entities } = action.payload;\r\n state.listLoading = false;\r\n state.error = null;\r\n state.entities = entities;\r\n state.totalCount = totalCount;\r\n },\r\n // createRemark\r\n remarkCreated: (state, action) => {\r\n state.actionsLoading = false;\r\n state.error = null;\r\n state.entities.push(action.payload.remark);\r\n },\r\n // updateRemark\r\n remarkUpdated: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.map(entity => {\r\n if (entity.id === action.payload.remark.id) {\r\n return action.payload.remark;\r\n }\r\n return entity;\r\n });\r\n },\r\n // deleteRemark\r\n remarkDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(el => el.id !== action.payload.id);\r\n },\r\n // deleteRemarks\r\n remarksDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(\r\n el => !action.payload.ids.includes(el.id)\r\n );\r\n },\r\n // remarksUpdateState\r\n remarksStatusUpdated: (state, action) => {\r\n state.actionsLoading = false;\r\n state.error = null;\r\n const { ids, status } = action.payload;\r\n state.entities = state.entities.map(entity => {\r\n if (ids.findIndex(id => id === entity.id) > -1) {\r\n entity.status = status;\r\n }\r\n return entity;\r\n });\r\n }\r\n }\r\n});\r\n","import {createSlice} from \"@reduxjs/toolkit\";\r\n\r\nconst initialRemarksState = {\r\n listLoading: false,\r\n actionsLoading: false,\r\n totalCount: 0,\r\n entities: null,\r\n remarkForEdit: undefined,\r\n lastError: null\r\n};\r\nexport const callTypes = {\r\n list: \"list\",\r\n action: \"action\"\r\n};\r\n\r\nexport const InsuranceInformation = createSlice({\r\n name: \"InsuranceInformation\",\r\n initialState: initialRemarksState,\r\n reducers: {\r\n catchError: (state, action) => {\r\n state.error = `${action.type}: ${action.payload.error}`;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = false;\r\n } else {\r\n state.actionsLoading = false;\r\n }\r\n },\r\n startCall: (state, action) => {\r\n state.error = null;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = true;\r\n } else {\r\n state.actionsLoading = true;\r\n }\r\n },\r\n // getRemarkById\r\n remarkFetched: (state, action) => {\r\n state.actionsLoading = false;\r\n state.remarkForEdit = action.payload.remarkForEdit;\r\n state.error = null;\r\n },\r\n // findRemarks\r\n remarksFetched: (state, action) => {\r\n const { totalCount, entities } = action.payload;\r\n state.listLoading = false;\r\n state.error = null;\r\n state.entities = entities;\r\n state.totalCount = totalCount;\r\n },\r\n // createRemark\r\n remarkCreated: (state, action) => {\r\n state.actionsLoading = false;\r\n state.error = null;\r\n state.entities.push(action.payload.remark);\r\n },\r\n // updateRemark\r\n remarkUpdated: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.map(entity => {\r\n if (entity.id === action.payload.remark.id) {\r\n return action.payload.remark;\r\n }\r\n return entity;\r\n });\r\n },\r\n // deleteRemark\r\n remarkDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(el => el.id !== action.payload.id);\r\n },\r\n // deleteRemarks\r\n remarksDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(\r\n el => !action.payload.ids.includes(el.id)\r\n );\r\n },\r\n // remarksUpdateState\r\n remarksStatusUpdated: (state, action) => {\r\n state.actionsLoading = false;\r\n state.error = null;\r\n const { ids, status } = action.payload;\r\n state.entities = state.entities.map(entity => {\r\n if (ids.findIndex(id => id === entity.id) > -1) {\r\n entity.status = status;\r\n }\r\n return entity;\r\n });\r\n }\r\n }\r\n});\r\n","import { createSlice } from \"@reduxjs/toolkit\";\r\n\r\nconst initialCustomersState = {\r\n listLoading: false,\r\n actionsLoading: false,\r\n totalCount: 0,\r\n entities: null,\r\n customerForEdit: undefined,\r\n lastError: null,\r\n};\r\nexport const callTypes = {\r\n list: \"list\",\r\n action: \"action\",\r\n};\r\n\r\nexport const ReceiptsManagmentSlice = createSlice({\r\n name: \"ReceiptsManagment\",\r\n initialState: initialCustomersState,\r\n reducers: {\r\n catchError: (state, action) => {\r\n state.error = `${action.type}: ${action.payload.error}`;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = false;\r\n } else {\r\n state.actionsLoading = false;\r\n }\r\n },\r\n startCall: (state, action) => {\r\n state.error = null;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = true;\r\n } else {\r\n state.actionsLoading = true;\r\n }\r\n },\r\n // getCustomerById\r\n customerFetched: (state, action) => {\r\n state.actionsLoading = false;\r\n state.customerForEdit = action.payload.customerForEdit;\r\n state.error = null;\r\n },\r\n // findCustomers\r\n customersFetched: (state, action) => {\r\n const { totalCount, entities } = action.payload;\r\n state.listLoading = false;\r\n state.error = null;\r\n state.entities = entities;\r\n state.totalCount = totalCount;\r\n },\r\n // createCustomer\r\n customerCreated: (state, action) => {\r\n state.actionsLoading = false;\r\n state.error = null;\r\n state.entities.push(action.payload.customer);\r\n },\r\n // updateCustomer\r\n customerUpdated: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.map((entity) => {\r\n if (entity.id === action.payload.customer.id) {\r\n return action.payload.customer;\r\n }\r\n return entity;\r\n });\r\n },\r\n // deleteCustomer\r\n customerDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(\r\n (el) => el.id !== action.payload.id\r\n );\r\n },\r\n // deleteCustomers\r\n customersDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(\r\n (el) => !action.payload.ids.includes(el.id)\r\n );\r\n },\r\n // customersUpdateState\r\n customersStatusUpdated: (state, action) => {\r\n state.actionsLoading = false;\r\n state.error = null;\r\n const { ids, status } = action.payload;\r\n state.entities = state.entities.map((entity) => {\r\n if (ids.findIndex((id) => id === entity.id) > -1) {\r\n entity.status = status;\r\n }\r\n return entity;\r\n });\r\n },\r\n },\r\n});\r\n","import { createSlice } from \"@reduxjs/toolkit\";\r\n\r\nconst initialCustomersState = {\r\n listLoading: false,\r\n actionsLoading: false,\r\n totalCount: 0,\r\n entities: null,\r\n customerForEdit: undefined,\r\n lastError: null,\r\n statuses: null,\r\n};\r\nexport const callTypes = {\r\n list: \"list\",\r\n action: \"action\",\r\n};\r\n\r\nexport const PalletsManagmentSlice = createSlice({\r\n name: \"PalletsManagment\",\r\n initialState: initialCustomersState,\r\n reducers: {\r\n catchError: (state, action) => {\r\n state.error = `${action.type}: ${action.payload.error}`;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = false;\r\n } else {\r\n state.actionsLoading = false;\r\n }\r\n },\r\n startCall: (state, action) => {\r\n state.error = null;\r\n if (action.payload.callType === callTypes.list) {\r\n state.listLoading = true;\r\n } else {\r\n state.actionsLoading = true;\r\n }\r\n },\r\n // getCustomerById\r\n customerFetched: (state, action) => {\r\n state.actionsLoading = false;\r\n state.customerForEdit = action.payload.customerForEdit;\r\n state.error = null;\r\n },\r\n // findCustomers\r\n customersFetched: (state, action) => {\r\n const { totalCount, entities, statuses } = action.payload;\r\n state.listLoading = false;\r\n state.error = null;\r\n state.entities = entities;\r\n state.totalCount = totalCount;\r\n state.statuses = statuses;\r\n },\r\n // createCustomer\r\n customerCreated: (state, action) => {\r\n state.actionsLoading = false;\r\n state.error = null;\r\n state.entities.push(action.payload.customer);\r\n },\r\n // updateCustomer\r\n customerUpdated: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.map((entity) => {\r\n if (entity.id === action.payload.customer.id) {\r\n return action.payload.customer;\r\n }\r\n return entity;\r\n });\r\n },\r\n // deleteCustomer\r\n customerDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(\r\n (el) => el.id !== action.payload.id\r\n );\r\n },\r\n // deleteCustomers\r\n customersDeleted: (state, action) => {\r\n state.error = null;\r\n state.actionsLoading = false;\r\n state.entities = state.entities.filter(\r\n (el) => !action.payload.ids.includes(el.id)\r\n );\r\n },\r\n // customersUpdateState\r\n customersStatusUpdated: (state, action) => {\r\n state.actionsLoading = false;\r\n state.error = null;\r\n const { ids, status } = action.payload;\r\n state.entities = state.entities.map((entity) => {\r\n if (ids.findIndex((id) => id === entity.id) > -1) {\r\n entity.status = status;\r\n }\r\n return entity;\r\n });\r\n },\r\n },\r\n});\r\n","import * as requestFromServer from \"./customersCrud\";\r\nimport {customersSlice, callTypes} from \"./customersSlice\";\r\n\r\nconst {actions} = customersSlice;\r\n\r\nexport const fetchCustomers = queryParams => dispatch => {\r\n dispatch(actions.startCall({ callType: callTypes.list }));\r\n return requestFromServer\r\n .findCustomers(queryParams)\r\n .then(response => {\r\n const { totalCount, entities } = response.data;\r\n dispatch(actions.customersFetched({ totalCount, entities }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't find customers\";\r\n dispatch(actions.catchError({ error, callType: callTypes.list }));\r\n });\r\n};\r\n\r\nexport const fetchCustomer = id => dispatch => {\r\n if (!id) {\r\n return dispatch(actions.customerFetched({ customerForEdit: undefined }));\r\n }\r\n\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .getCustomerById(id)\r\n .then(response => {\r\n const customer = response.data;\r\n dispatch(actions.customerFetched({ customerForEdit: customer }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't find customer\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const deleteCustomer = id => dispatch => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .deleteCustomer(id)\r\n .then(response => {\r\n dispatch(actions.customerDeleted({ id }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't delete customer\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const createCustomer = customerForCreation => dispatch => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .createCustomer(customerForCreation)\r\n .then(response => {\r\n const { customer } = response.data;\r\n dispatch(actions.customerCreated({ customer }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't create customer\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const updateCustomer = customer => dispatch => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .updateCustomer(customer)\r\n .then(() => {\r\n dispatch(actions.customerUpdated({ customer }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't update customer\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const updateCustomersStatus = (ids, status) => dispatch => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .updateStatusForCustomers(ids, status)\r\n .then(() => {\r\n dispatch(actions.customersStatusUpdated({ ids, status }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't update customers status\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n\r\nexport const deleteCustomers = ids => dispatch => {\r\n dispatch(actions.startCall({ callType: callTypes.action }));\r\n return requestFromServer\r\n .deleteCustomers(ids)\r\n .then(() => {\r\n dispatch(actions.customersDeleted({ ids }));\r\n })\r\n .catch(error => {\r\n error.clientMessage = \"Can't delete customers\";\r\n dispatch(actions.catchError({ error, callType: callTypes.action }));\r\n });\r\n};\r\n","import axios from \"axios\";\r\n\r\nexport const CUSTOMERS_URL = \"api/customers\";\r\n\r\n// CREATE => POST: add a new customer to the server\r\nexport function createCustomer(customer) {\r\n return axios.post(CUSTOMERS_URL, { customer });\r\n}\r\n\r\n// READ\r\nexport function getAllCustomers() {\r\n return axios.get(CUSTOMERS_URL);\r\n}\r\n\r\nexport function getCustomerById(customerId) {\r\n return axios.get(`${CUSTOMERS_URL}/${customerId}`);\r\n}\r\n\r\n// Method from server should return QueryResultsModel(items: any[], totalsCount: number)\r\n// items => filtered/sorted result\r\nexport function findCustomers(queryParams) {\r\n return axios.post(`${CUSTOMERS_URL}/find`, { queryParams });\r\n}\r\n\r\n// UPDATE => PUT: update the customer on the server\r\nexport function updateCustomer(customer) {\r\n return axios.put(`${CUSTOMERS_URL}/${customer.id}`, { customer });\r\n}\r\n\r\n// UPDATE Status\r\nexport function updateStatusForCustomers(ids, status) {\r\n return axios.post(`${CUSTOMERS_URL}/updateStatusForCustomers`, {\r\n ids,\r\n status,\r\n });\r\n}\r\n\r\n// DELETE => delete the customer from the server\r\nexport function deleteCustomer(customerId) {\r\n return axios.delete(`${CUSTOMERS_URL}/${customerId}`);\r\n}\r\n\r\n// DELETE Customers by ids\r\nexport function deleteCustomers(ids) {\r\n return axios.post(`${CUSTOMERS_URL}/deleteCustomers`, { ids });\r\n}\r\n","// Form is based on Formik\r\n// Data validation is based on Yup\r\n// Please, be familiar with article first:\r\n// https://hackernoon.com/react-form-validation-with-formik-and-yup-8b76bda62e10\r\nimport React, { useEffect, useState } from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { Formik, Form, Field } from \"formik\";\r\nimport { CKEditor } from \"@ckeditor/ckeditor5-react\";\r\nimport ClassicEditor from \"@ckeditor/ckeditor5-build-classic\";\r\nimport * as Yup from \"yup\";\r\nimport {\r\n Input,\r\n Select,\r\n DatePickerField,\r\n} from \"../../../../../../_metronic/_partials/controls\";\r\nimport SelectPagination from \"../../../../../../_metronic/_partials/widgets/Select/SelectPagination\";\r\nimport low from \"lowdb\";\r\nimport LocalStorage from \"lowdb/adapters/LocalStorage\";\r\nimport { Notification } from \"../../../../Notification\";\r\n\r\nconst adapter = new LocalStorage(\"db\");\r\nconst db = low(adapter);\r\n// Validation schema\r\nconst CustomerEditSchema = Yup.object().shape();\r\n\r\nexport function CustomerEditForm({\r\n saveCustomer,\r\n customer,\r\n actionsLoading,\r\n onHide,\r\n}) {\r\n const [ReceiptsIds, setReceiptsIds] = useState([]);\r\n const [Category, setCategory] = useState([]);\r\n const [AccessLevel, setAccessLevel] = useState([]);\r\n\r\n const [Selected, setSelected] = useState([]);\r\n const [Titles, setTitles] = useState([\r\n { Title: \"Ship OTR\" },\r\n { Title: \"Closed area at the port\" },\r\n { Title: \"Restricted empty returns / Chassis shortage\" },\r\n { Title: \"Terminal Hold\" },\r\n { Title: \"No 856\" },\r\n { Title: \"Peel pile\" },\r\n ]);\r\n\r\n useEffect(() => {\r\n GetReceiptsIds(setReceiptsIds);\r\n GetViewModel(setCategory, setAccessLevel);\r\n }, []);\r\n\r\n useEffect(() => {\r\n //if (!customer?.id) GetAllTitles(setTitles);\r\n }, [customer?.id]);\r\n\r\n useEffect(() => {\r\n customer = JSON.parse(JSON.stringify(customer));\r\n var a = [];\r\n (customer?.Containers ?? []).forEach((x) => {\r\n var r = ReceiptsIds.find((y) => y.Id === x);\r\n a.push({\r\n value: x,\r\n label: r?.Id + \" - \" + r?.EquipmentRef,\r\n });\r\n });\r\n setSelected(a);\r\n }, [customer, ReceiptsIds]);\r\n\r\n return (\r\n <>\r\n {\r\n var a = [];\r\n (Selected ?? []).forEach((x) => {\r\n a.push(x.value);\r\n });\r\n values.ContainersIds = a;\r\n\r\n if (!values?.Title) Notification(\"error\", \"Title is Empty\");\r\n if (!values?.Body) Notification(\"error\", \"Body is Empty\");\r\n if (!values?.CategoryId)\r\n Notification(\"error\", \"Please Select Category\");\r\n if (!values?.AccessLevelId)\r\n Notification(\"error\", \"Please Select Access Level\");\r\n if (a?.length === 0)\r\n Notification(\"error\", \"Please Select Containers Ids\");\r\n\r\n if (\r\n a?.length === 0 ||\r\n !values?.Title ||\r\n !values?.Body ||\r\n !values?.CategoryId ||\r\n !values?.AccessLevelId\r\n )\r\n return false;\r\n saveCustomer(values);\r\n }}\r\n >\r\n {({ handleSubmit, setFieldValue, values }) => (\r\n <>\r\n \r\n {actionsLoading && (\r\n
    \r\n
    \r\n
    \r\n )}\r\n
    \r\n
    \r\n {/* First Name */}\r\n
    \r\n {values?.id ? (\r\n \r\n ) : Titles?.length > 0 ? (\r\n {\r\n if (newValue?.value)\r\n setFieldValue(\"Title\", newValue?.value);\r\n }}\r\n options={Titles.filter(\r\n (v, i, a) =>\r\n a.findIndex((t) => t.Title === v.Title) === i\r\n ).map((x) => {\r\n return {\r\n value: x?.Title,\r\n label: x?.Title,\r\n };\r\n })}\r\n />\r\n ) : (\r\n \r\n )}\r\n
    \r\n
    \r\n \r\n {\r\n setFieldValue(\"Body\", editor.getData());\r\n }}\r\n />\r\n
    \r\n
    \r\n\r\n
    \r\n {/* Select Category */}\r\n
    \r\n \r\n {\r\n return {\r\n value: x?.Id,\r\n label: x?.Name,\r\n };\r\n })}\r\n value={{\r\n value: values?.CategoryId,\r\n label: Category.find((x) => x.Id === values?.CategoryId)\r\n ?.Name,\r\n }}\r\n onChange={(newValue) => {\r\n setFieldValue(\"CategoryId\", newValue?.value);\r\n }}\r\n />\r\n
    \r\n {/* Access Level */}\r\n
    \r\n \r\n {\r\n return {\r\n value: x?.Id,\r\n label: x?.Name,\r\n };\r\n })}\r\n value={{\r\n value: values?.AccessLevelId,\r\n label: AccessLevel.find(\r\n (x) => x.Id === values?.AccessLevelId\r\n )?.Name,\r\n }}\r\n onChange={(newValue) => {\r\n setFieldValue(\"AccessLevelId\", newValue?.value);\r\n }}\r\n />\r\n
    \r\n\r\n
    \r\n \r\n {ReceiptsIds?.length > 0 && (\r\n {\r\n return {\r\n value: x?.Id,\r\n label: x?.Id + \" - \" + x?.EquipmentRef,\r\n };\r\n })}\r\n value={(Selected ?? []).map((x) => {\r\n return {\r\n value: x?.value,\r\n label: x?.label,\r\n };\r\n })}\r\n onChange={(newValue) => {\r\n var a = [];\r\n (newValue ?? []).forEach((x) => {\r\n a.push(x.value);\r\n });\r\n setFieldValue(\"ContainersIds\", a);\r\n setSelected(newValue ?? []);\r\n }}\r\n />\r\n )}\r\n
    \r\n\r\n
    \r\n
    \r\n \r\n \r\n
    \r\n \r\n Is Hot\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n Cancel\r\n \r\n <> \r\n handleSubmit()}\r\n className=\"btn btn-primary btn-elevate\"\r\n >\r\n Save\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n );\r\n}\r\n\r\nasync function GetReceiptsIds(setReceiptsIds) {\r\n var getContainersNumber = window.GetContainersNumber ?? [];\r\n if (getContainersNumber.length > 0) {\r\n setReceiptsIds(getContainersNumber);\r\n return;\r\n }\r\n\r\n return await fetch(\r\n window.$apiurl + \"/receiptsmanagement/GetContainersNumber\",\r\n {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n }\r\n )\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n if (res[0] === 200) {\r\n setReceiptsIds(res[1] ?? []);\r\n window.GetContainersNumber = res[1] ?? [];\r\n }\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n}\r\n\r\nasync function GetViewModel(setCategory, setAccessLevel) {\r\n return await fetch(`${window.$apiurl}/notes/GetViewModel`, {\r\n method: \"get\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then(async (res) => {\r\n if (res[0] === 200) {\r\n setCategory(res[1]?.Categories ?? []);\r\n setAccessLevel(res[1]?.AccessLevels ?? []);\r\n }\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n}\r\n\r\nasync function GetAllTitles(setTitles) {\r\n return await fetch(window.$apiurl + \"/notes/GetAllTitles\", {\r\n method: \"GET\",\r\n withCredentials: true,\r\n headers: {\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n if (res[0] === 200) {\r\n setTitles(res[1] ?? []);\r\n }\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n}\r\n","import { Button, Icon, IconButton } from \"@material-ui/core\";\r\nimport CloseIcon from \"@material-ui/icons/Close\";\r\nimport clsx from \"clsx\";\r\nimport $ from \"jquery\";\r\nimport { Form, Formik } from \"formik\";\r\nimport low from \"lowdb\";\r\nimport LocalStorage from \"lowdb/adapters/LocalStorage\";\r\nimport React, { useEffect, useState } from \"react\";\r\nimport { Accordion, Alert, Modal, Spinner } from \"react-bootstrap\";\r\nimport * as Yup from \"yup\";\r\nimport { Notification } from \"../../../../../../Notification\";\r\nimport { ChargesFunction, VendorListComp } from \"./RemarkEditForm\";\r\nimport {\r\n ChargesOriAddSup,\r\n NigativePositiveStop,\r\n LockPayblesButton,\r\n} from \"./ChargesFunction\";\r\nconst adapter = new LocalStorage(\"db\");\r\nconst db = low(adapter);\r\n// Validation schema\r\nconst catchError = [];\r\n\r\nexport function ChargesOnly({ actionsLoading, onHide, isId = false, path }) {\r\n const [Model, setModel] = useState({});\r\n const [Vendors, setVendors] = useState(catchError);\r\n const [ReloadCalc, setReloadCalc] = useState(0);\r\n const [ChargesFunctionOne, setChargesFunctionOne] = useState(false);\r\n const [ChargesFunctionModel, setChargesFunctionModel] = useState(false);\r\n const [FreightChargeId, setFreightChargeId] = useState(\"\");\r\n const [AutoQuantity, setAutoQuantity] = useState(\"\");\r\n\r\n let RemarkEditSchema = Yup.object().shape({\r\n OrderId: Yup.string().required(\"Order Option is required\"),\r\n CustomerId: Yup.string().required(\"Customer Option is required\"),\r\n });\r\n\r\n function setReloadCalcF() {\r\n setReloadCalc((y) => y + 1);\r\n }\r\n\r\n useEffect(() => {\r\n GetViewmodel();\r\n window.ContainerSaveClose = false;\r\n window.OneMoveMasterVendors = false;\r\n\r\n // Auto Rate\r\n window.ARCartons = undefined;\r\n window.ARTotalWeight1 = undefined;\r\n window.ARTotalWeight2 = undefined;\r\n window.ARTotalCube1 = undefined;\r\n }, []);\r\n\r\n function SetFieldValueFunction(setFieldValue) {\r\n window.setFieldValue = setFieldValue;\r\n }\r\n\r\n async function GetViewmodel() {\r\n return await fetch(window.$apiurl + \"/vendors\", {\r\n method: \"get\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n const data = await response.json();\r\n setAutoQuantity(window.$Containers_AutoChares);\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n GetData(isId);\r\n\r\n const baseData = res[1];\r\n const vendorList = baseData[\"Vendors\"] || catchError;\r\n\r\n vendorList.forEach((x) => {\r\n let c = \"#000000\";\r\n if (x?.AlertType === \"Danger\") c = \"#ff5555\";\r\n else if (x?.AlertType === \"Warning\") c = \"#bbb000\";\r\n x.Color = c;\r\n });\r\n\r\n window.FreightCharges = baseData[\"FreightCharges\"] || catchError;\r\n window.VendorTypeListOption = baseData[\"VendorTypes\"] || catchError;\r\n window.BillToOptionsList = baseData[\"BillTo\"] || catchError;\r\n\r\n setVendors(vendorList);\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n\r\n async function GetData(isId) {\r\n return await fetch(window.$apiurl + \"/\" + path + \"/charges/\" + isId, {\r\n method: \"get\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n if (res[0] === 200) {\r\n window.C_ChargesReadOnly =\r\n res[1]?.Receipt?.AreChargesReadOnly || false;\r\n window.C_PayablesReadOnly =\r\n res[1]?.Receipt?.ArePayablesReadOnly || false;\r\n\r\n if (path === \"transloadreceipts\") {\r\n res[1].Charges = res[1].Receipt.Charges;\r\n res[1].Vendors = res[1].Receipt.Vendors;\r\n res[1].FreightChargeId = res[1].Receipt?.FreightChargeId;\r\n res[1].ArePayablesReadOnly = res[1].Receipt?.ArePayablesReadOnly;\r\n res[1].Id = isId;\r\n } else {\r\n res[1].Charges = res[1].ViewModel.Charges;\r\n res[1].Vendors = res[1].ViewModel.Vendors;\r\n res[1].FreightChargeId = res[1].ViewModel?.FreightChargeId;\r\n res[1].ArePayablesReadOnly = res[1].ViewModel?.ArePayablesReadOnly;\r\n res[1].Id = isId;\r\n }\r\n\r\n window.AutoRating = res[1]?.AutoRating;\r\n window.ContainerIsHot = res[1]?.IsHot ?? false;\r\n setModel(res[1]);\r\n setChargesFunctionOne(true);\r\n }\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n\r\n async function PutData(isId, viewModal, onHide, hide) {\r\n return await fetch(window.$apiurl + \"/\" + path + \"/charges/\" + isId, {\r\n method: \"put\",\r\n withCredentials: true,\r\n headers: {\r\n Accept: \"application/json, text/plain, */*\",\r\n Authorization: `bearer ${db.read().getState().Token}`,\r\n \"X-FP-API-KEY\": \"iphone\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(viewModal),\r\n })\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n if (statusCode === 200) {\r\n ClosePopup();\r\n Notification(\"success\", \"success\");\r\n if (hide) onHide(false);\r\n } else Notification(\"error\", \"error\");\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n\r\n function ClosePopup() {\r\n const href = window.location.href;\r\n if (href.indexOf(\"Billing\") > -1) {\r\n if (\r\n document.getElementsByClassName(\"text-info\")[0]?.parentElement\r\n ?.nodeName === \"LI\"\r\n ) {\r\n document.getElementsByClassName(\"text-info\")[0].parentElement.click();\r\n } else if (\r\n document.getElementsByClassName(\"text-info\")[1]?.parentElement\r\n ?.nodeName === \"LI\"\r\n ) {\r\n document.getElementsByClassName(\"text-info\")[0].parentElement.click();\r\n }\r\n } else if (href.indexOf(\"ReceiptsManagement\") > -1) {\r\n document.getElementById(\"ReLoadTableId\").click();\r\n document.getElementById(\"refreshReceiptException\").click();\r\n } else if (href.indexOf(\"ShipmentsManagement\") > -1) {\r\n document.getElementById(\"ReLoadTableId\").click();\r\n document.getElementById(\"refreshShipmentsException\").click();\r\n }\r\n }\r\n\r\n function handleSubmit2(values, hide) {\r\n if (NigativePositiveStop(values.Charges)) return false;\r\n values.Charges = ChargesOriAddSup(values.Charges);\r\n\r\n var viewModal = { Charges: values?.Charges, Vendors: values?.Vendors };\r\n PutData(isId, viewModal, onHide, hide);\r\n }\r\n\r\n return (\r\n <>\r\n {}}\r\n >\r\n {({ handleSubmit, setFieldValue, values }) => (\r\n <>\r\n \r\n \r\n {path === \"transloadreceipts\" ? \"Container\" : \"Shipment\"} id:{\" \"}\r\n {isId}\r\n \r\n {\r\n onHide(false);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n {SetFieldValueFunction(setFieldValue)}\r\n\r\n \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Charges\r\n \r\n {\r\n setChargesFunctionModel(false);\r\n setReloadCalcF();\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n Do you want to remove the rates?\r\n \r\n \r\n
    \r\n {\r\n setChargesFunctionModel(false);\r\n }}\r\n className=\"btn btn-light btn-elevate mr-2\"\r\n >\r\n No\r\n \r\n {\r\n setChargesFunctionModel(false);\r\n setFieldValue(\"Charges\", []);\r\n setReloadCalcF();\r\n }}\r\n className=\"btn btn-success btn-elevate\"\r\n >\r\n Yes\r\n \r\n
    \r\n
    \r\n \r\n {((path !== \"transloadreceipts\" &&\r\n values?.FreightChargeId === 98) ||\r\n path === \"transloadreceipts\") && (\r\n <>\r\n \r\n \r\n
    \r\n Receivables{\" \"}\r\n {!values?.CustomerId && (\r\n \r\n * Note : Please Select Customer\r\n \r\n )}\r\n {!ChargesFunctionOne && (\r\n \r\n )}\r\n
    \r\n \r\n \r\n \r\n \r\n <>\r\n
    \r\n
    \r\n {ChargesFunctionOne &&\r\n values?.Charges?.length > -1 &&\r\n values?.CustomerId ? (\r\n \r\n ) : (\r\n \r\n )}\r\n
    \r\n
    \r\n \r\n \r\n \r\n )}\r\n \r\n \r\n
    \r\n Vendors List\r\n {values?.Id && (\r\n {\r\n window.C_PayablesReadOnly = e;\r\n window.ChargesReadOnly = e;\r\n setFieldValue(\"ArePayablesReadOnly\", e);\r\n var eles = document.querySelectorAll(\r\n \".setChargesReadOnly\"\r\n );\r\n eles.forEach((ele) => {\r\n ele.click();\r\n });\r\n }}\r\n />\r\n )}\r\n {!values?.CustomerId && (\r\n \r\n * Note : Please Select Customer\r\n \r\n )}\r\n {!ChargesFunctionOne && (\r\n \r\n )}\r\n
    \r\n
    \r\n \r\n \r\n \r\n {ChargesFunctionOne &&\r\n values?.Charges?.length > -1 &&\r\n values?.CustomerId ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n \r\n
    \r\n
    \r\n \r\n {\r\n if (window.ReceiptManagmetShow) {\r\n $(\"#ReLoadTableId\").trigger(\"click\");\r\n }\r\n onHide();\r\n if (window.location.href.indexOf(\"Billing\") > -1) {\r\n document\r\n .getElementsByClassName(\"text-info\")[0]\r\n .parentElement.click();\r\n }\r\n }}\r\n className=\"btn btn-light btn-elevate\"\r\n >\r\n Close\r\n \r\n {\r\n if (!e.target.classList.contains(\"disabled\")) {\r\n handleSubmit2(values, false);\r\n }\r\n }}\r\n id=\"AddContainerID\"\r\n className=\"btn btn-primary btn-elevate SaveDisabled disabled\"\r\n >\r\n Save\r\n \r\n {\r\n if (!e.target.classList.contains(\"disabled\")) {\r\n handleSubmit2(values, true);\r\n }\r\n }}\r\n className=\"btn btn-primary btn-elevate SaveDisabled disabled\"\r\n >\r\n Save & Close\r\n {!ChargesFunctionOne && (\r\n \r\n )}\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n );\r\n}\r\n","/* eslint-disable no-script-url,jsx-a11y/anchor-is-valid,jsx-a11y/role-supports-aria-props */\r\nimport React, { useEffect, useState } from \"react\";\r\nimport {\r\n Card,\r\n CardBody,\r\n CardHeader,\r\n CardHeaderToolbar,\r\n CheckboxLargeWB,\r\n Pagination,\r\n} from \"../../../../../../_metronic/_partials/controls\";\r\nimport { Formik } from \"formik\";\r\nimport BootstrapTable from \"react-bootstrap-table-next\";\r\nimport low from \"lowdb\";\r\nimport LocalStorage from \"lowdb/adapters/LocalStorage\";\r\nimport Select from \"react-select\";\r\nimport CloseIcon from \"@material-ui/icons/Close\";\r\nimport { RangeDatePicker } from \"react-google-flight-datepicker\";\r\nimport {\r\n ButtonToolbar,\r\n Modal,\r\n OverlayTrigger,\r\n ProgressBar,\r\n Spinner,\r\n Tooltip,\r\n} from \"react-bootstrap\";\r\nimport {\r\n NoRecordsFoundMessage,\r\n PleaseWaitMessage,\r\n SimpleZoom,\r\n sortCaret,\r\n toAbsoluteUrl,\r\n} from \"../../../../../../_metronic/_helpers\";\r\nimport SVG from \"react-inlinesvg\";\r\nimport {\r\n Button,\r\n IconButton,\r\n Icon,\r\n ListItemIcon,\r\n ListItemText,\r\n makeStyles,\r\n Menu,\r\n MenuItem,\r\n} from \"@material-ui/core\";\r\nimport moment from \"moment\";\r\nimport paginationFactory, {\r\n PaginationProvider,\r\n} from \"react-bootstrap-table2-paginator\";\r\nimport { ProductTMSDetail } from \"../product-detail/ProductDetail\";\r\nimport { ProductMODetail } from \"../master-order-detail/ProductDetail\";\r\nimport {\r\n DateTime30minInterval,\r\n Export,\r\n DateTime30GL,\r\n StatesUs,\r\n} from \"../../../../../../_metronic/_helpers/ATHelpers\";\r\n\r\nimport Axios from \"axios\";\r\nimport { Notification } from \"../../../../Notification\";\r\nimport { ClickFun } from \"../../../../../SpecificTabs\";\r\nimport { withStyles } from \"@material-ui/styles\";\r\nimport { useHistory } from \"react-router-dom\";\r\nconst adapter = new LocalStorage(\"db\");\r\nconst db = low(adapter);\r\n\r\nconst StyledMenu = withStyles({\r\n paper: {\r\n border: \"1px solid #d3d4d5\",\r\n },\r\n})((props) => (\r\n \r\n));\r\nconst StyledMenuItem = withStyles((theme) => ({\r\n root: {\r\n \"&:focus\": {\r\n backgroundColor: theme.palette.primary.main,\r\n \"& .MuiListItemIcon-root, & .MuiListItemText-primary\": {\r\n color: theme.palette.common.white,\r\n },\r\n },\r\n },\r\n}))(MenuItem);\r\nvar totalItemsNew = 0;\r\nconst useStyles = makeStyles((theme) => ({\r\n button: {\r\n margin: theme.spacing(1),\r\n },\r\n input: {\r\n display: \"none\",\r\n },\r\n}));\r\nvar typingTimer;\r\nconst ProductStatusCssClasses = [\r\n \"success\",\r\n \"info\",\r\n \"success\",\r\n \"warning\",\r\n \"danger\",\r\n];\r\nconst data = [\r\n {\r\n Location: \"Detroit IL\",\r\n EntredBy: \"Tyler Keaton\",\r\n leftover: \"2015\",\r\n Status: \"In Transit - Location and ETA updates\",\r\n Dates: \"10/04/2021\",\r\n time: \"07:45\",\r\n Alerts: \"Weather Delay\",\r\n Notes: \"Carrier: Best Time Express\",\r\n },\r\n {\r\n Location: \"Chicago IL\",\r\n EntredBy: \"Tyler Keaton\",\r\n leftover: \"2015\",\r\n Status: \"Empty At Delivery\",\r\n Dates: \"12/04/2021\",\r\n time: \"05:45\",\r\n Alerts: \"Breakdown\",\r\n Notes: \"\",\r\n },\r\n {\r\n Location: \"Chicago IL\",\r\n EntredBy: \"Tyler Keaton\",\r\n leftover: \"2015\",\r\n Status: \"Delivered Drop\",\r\n Dates: \"14/04/2021\",\r\n time: \"08:53\",\r\n Alerts: \"None\",\r\n Notes: \"\",\r\n },\r\n];\r\nexport function TrackingLoadBoardPage() {\r\n const history = useHistory();\r\n\r\n const [TrackingObject, setTrackingObject] = useState({\r\n ShipmentId: 0,\r\n TraceCode: \"\",\r\n EtaDate: \"\",\r\n TimeZone: \"\",\r\n Country: \"\",\r\n City: \"\",\r\n State: \"\",\r\n Note: \"\",\r\n NextTrackingDue:\r\n new Date().toISOString().substr(0, 10) +\r\n \"T\" +\r\n new Date(new Date().setTime(new Date().getTime() + 6 * 60 * 60 * 1000))\r\n .getHours()\r\n .toString()\r\n .padStart(2, \"0\") +\r\n \":\" +\r\n (new Date(\r\n new Date().setTime(new Date().getTime() + 6 * 60 * 60 * 1000)\r\n ).getMinutes() > 30\r\n ? \"30\"\r\n : \"00\") +\r\n \":00\",\r\n });\r\n\r\n useEffect(() => {\r\n const element = document.querySelector(\".wrapper2\");\r\n const element2 = document.querySelector(\".wrapper1\");\r\n if (element)\r\n element.addEventListener(\"scroll\", (event) => {\r\n element2.scrollLeft = event.target.scrollLeft;\r\n });\r\n if (element2)\r\n element2.addEventListener(\"scroll\", (event) => {\r\n element.scrollLeft = event.target.scrollLeft;\r\n });\r\n }, []);\r\n\r\n const classes = useStyles();\r\n const [FilterTrackingBoard, setFilterTrackingBoard] = useState({\r\n CustomerId: [],\r\n CarrierId: [],\r\n statusId: [],\r\n CapacityOperationId: [],\r\n CommercialAssigneeId: [],\r\n CommercialOperationId: [],\r\n modeId: [],\r\n ShipmentTypeId: [],\r\n capacityAssigneeId: [],\r\n originCity: \"\",\r\n originState: \"\",\r\n freightChargeId: 98,\r\n IsCanceled: false,\r\n destinationCity: \"\",\r\n destinationState: \"\",\r\n ShipStartDate: \"\",\r\n ShipEndDate: \"\",\r\n DeliveryStartDate: \"\",\r\n DeliveryEndDate: \"\",\r\n SearchText: \"\",\r\n CurrentEvent: [],\r\n });\r\n useEffect(() => console.log(FilterTrackingBoard), [FilterTrackingBoard]);\r\n const [anchorEl, setAnchorEl] = React.useState(null);\r\n const [CustomersList, setCustomersList] = useState([]);\r\n const [CarriersList, setCarriersList] = useState([]);\r\n const [StatusList, setStatusList] = useState([]);\r\n const [CurrentEventList, setCurrentEventList] = useState([]);\r\n const [ShipmentTypeList, setShipmentTypeList] = useState([]);\r\n const [freightCharges, setFreightCharges] = useState([]);\r\n const [ModesList, setModesList] = useState([]);\r\n const [UsersList, setUsersList] = useState([]);\r\n const [TrackingBoard, setTrackingBoard] = useState([]);\r\n const [TrackingBoardExport, setTrackingBoardExport] = useState([]);\r\n const [LoadingData, setLoadingData] = useState(false);\r\n const [EditModal, setEditModal] = useState(false);\r\n const [MODetail, setMODetail] = useState(false);\r\n const [LoadBoardGrid, setLoadBoardGrid] = useState(true);\r\n const [Country, setCountry] = useState([]);\r\n const [ShowTrace, setShowTrace] = useState(false);\r\n const [SoSelectedId, setSoSelectedId] = useState(null);\r\n const [TrackingStatusOptions, setTrackingStatusOptions] = useState([]);\r\n const [IsFilterHide, setIsFilterHide] = useState(false);\r\n const [LoadingPost, setLoadingPost] = useState(false);\r\n const [ExportLoadingData, setExportLoadingData] = useState(false);\r\n const [ShowAlert, setShowAlert] = useState();\r\n const [ShowInfo, setShowInfo] = useState({\r\n ShipmentId: null,\r\n EventName: \"\",\r\n Note: \"\",\r\n });\r\n const [states, setStates] = useState([]);\r\n const [countryIdFetch, setCountryValue] = useState({\r\n value: \"US\",\r\n label: \"United States\",\r\n });\r\n function handleClick(event) {\r\n setAnchorEl(event.currentTarget);\r\n }\r\n function handleClose() {\r\n setAnchorEl(null);\r\n }\r\n const columnTrackingBoard = [\r\n {\r\n dataField: \"Id\",\r\n text: \"SO#\",\r\n sort: true,\r\n hidden: false,\r\n sortCaret: sortCaret,\r\n classes: (cell, row) => {\r\n if (row?.IsCanceled) {\r\n return \"bg-light-warning text-center pr-0 text-primary font-weight-bolder\";\r\n } else {\r\n return \"text-center pr-0 text-primary font-weight-bolder\";\r\n }\r\n },\r\n formatter: (cell, row) => {\r\n return (\r\n false}\r\n title={`${row.OnHold ? \"OnHold\" : \"\"}`}\r\n className={`navi-link ${row.OnHold ? \"text-warning\" : \"text-primary\"}`}\r\n onClick={(e) => {\r\n ClickFun(e, `/TransportManagementSystems/SoDetail/`, row.Id);\r\n }}\r\n >\r\n {row.Id}\r\n \r\n );\r\n },\r\n headerClasses: \"text-center pr-3\",\r\n style: {\r\n minWidth: \"100px\",\r\n },\r\n },\r\n {\r\n dataField: \"CustomerName\",\r\n text: \"Customer\",\r\n sort: true,\r\n hidden: false,\r\n sortCaret: sortCaret,\r\n classes: (cell, row) => {\r\n if (row?.IsCanceled) {\r\n return \"bg-light-warning\";\r\n } else {\r\n return \"\";\r\n }\r\n },\r\n formatter: (cell, row) => {\r\n if (\r\n row.CustomerName !== null &&\r\n row.CustomerName !== \"\" &&\r\n row.CustomerName !== undefined\r\n ) {\r\n return (\r\n <>\r\n {row.CustomerName + \" \"}\r\n \r\n {row.CustomerCode}\r\n \r\n }\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n },\r\n },\r\n {\r\n dataField: \"Status\",\r\n text: \"Status\",\r\n sort: true,\r\n hidden: false,\r\n classes: (cell, row) => {\r\n if (row?.IsCanceled) {\r\n return \"bg-light-warning\";\r\n } else {\r\n return \"\";\r\n }\r\n },\r\n sortCaret: sortCaret,\r\n formatter: (cell, row) => {\r\n return row?.IsCanceled ? (\r\n Cancelled}\r\n >\r\n \r\n {row.Status}\r\n \r\n \r\n ) : (\r\n \r\n {row.Status}\r\n \r\n );\r\n },\r\n },\r\n {\r\n text: \"Next Tracking Due\",\r\n dataField: \"NextTrackingDue\",\r\n sort: true,\r\n hidden: false,\r\n sortCaret: sortCaret,\r\n classes: (cell, row) => {\r\n if (row?.IsCanceled) {\r\n return \"bg-light-warning\";\r\n } else {\r\n return \"\";\r\n }\r\n },\r\n formatter: (cell, row) => {\r\n return row.NextTrackingDue !== null && row.NextTrackingDue !== undefined\r\n ? moment(row.NextTrackingDue).format(\"MM/DD/YYYY, hh:mm A\")\r\n : \"\";\r\n },\r\n },\r\n {\r\n text: \"ETA\",\r\n dataField: \"EstimatedTimeArrival\",\r\n sort: true,\r\n hidden: false,\r\n sortCaret: sortCaret,\r\n classes: (cell, row) => {\r\n if (row?.IsCanceled) {\r\n return \"bg-light-warning\";\r\n } else {\r\n return \"\";\r\n }\r\n },\r\n formatter: (cell, row) => {\r\n return row.EstimatedTimeArrival !== null && row.EstimatedTimeArrival !== undefined\r\n ? moment(row.EstimatedTimeArrival).format(\"MM/DD/YYYY, hh:mm A\")\r\n : \"\";\r\n },\r\n },\r\n {\r\n dataField: \"Carrier\",\r\n text: \"Carrier\",\r\n sort: true,\r\n hidden: false,\r\n sortCaret: sortCaret,\r\n classes: (cell, row) => {\r\n if (row?.IsCanceled) {\r\n return \"bg-light-warning\";\r\n } else {\r\n return \"\";\r\n }\r\n },\r\n formatter: (cell, row) => {\r\n if (\r\n row.Carrier !== null &&\r\n row.Carrier !== \"\" &&\r\n row.Carrier !== undefined\r\n ) {\r\n return (\r\n <>\r\n {row.Carrier + \" \"}\r\n \r\n {row.CarrierCode}\r\n \r\n }\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n },\r\n },\r\n {\r\n text: \"Trailer #\",\r\n dataField: \"Equipment\",\r\n sort: true,\r\n hidden: false,\r\n classes: (cell, row) => {\r\n if (row?.IsCanceled) {\r\n return \"bg-light-warning\";\r\n } else {\r\n return \"\";\r\n }\r\n },\r\n sortCaret: sortCaret,\r\n },\r\n {\r\n text: \"Current Event\",\r\n dataField: \"CurrentEvent\",\r\n sort: true,\r\n hidden: false,\r\n sortCaret: sortCaret,\r\n classes: (cell, row) => {\r\n if (row?.IsCanceled) {\r\n return \"bg-light-warning\";\r\n } else {\r\n return \"\";\r\n }\r\n },\r\n },\r\n {\r\n dataField: \"CurrentCity\",\r\n text: \"Current Loc\",\r\n sort: true,\r\n hidden: true,\r\n sortCaret: sortCaret,\r\n classes: (cell, row) => {\r\n if (row?.IsCanceled) {\r\n return \"bg-light-warning\";\r\n } else {\r\n return \"\";\r\n }\r\n },\r\n formatter: (cell, row) => {\r\n return (\r\n (row.CurrentCity !== null && row.CurrentCity !== \"\"\r\n ? row.CurrentCity\r\n : \"\") +\r\n (row.CurrentState !== null && row.CurrentState !== \"\"\r\n ? \", \" + row.CurrentState\r\n : \"\")\r\n );\r\n },\r\n },\r\n {\r\n dataField: \"CurrentCity\",\r\n text: \"Current Loc City\",\r\n sort: true,\r\n hidden: false,\r\n sortCaret: sortCaret,\r\n classes: (cell, row) => {\r\n if (row?.IsCanceled) {\r\n return \"bg-light-warning\";\r\n } else {\r\n return \"\";\r\n }\r\n },\r\n formatter: (cell, row) => {\r\n return row.CurrentCity !== null && row.CurrentCity !== \"\"\r\n ? row.CurrentCity\r\n : \"\";\r\n },\r\n },\r\n {\r\n dataField: \"CurrentState\",\r\n text: \"Current Loc State\",\r\n sort: true,\r\n hidden: false,\r\n sortCaret: sortCaret,\r\n classes: (cell, row) => {\r\n if (row?.IsCanceled) {\r\n return \"bg-light-warning\";\r\n } else {\r\n return \"\";\r\n }\r\n },\r\n formatter: (cell, row) => {\r\n return row.CurrentState !== null && row.CurrentState !== \"\"\r\n ? row.CurrentState\r\n : \"\";\r\n },\r\n },\r\n {\r\n dataField: \"Alert\",\r\n text: \"Alert\",\r\n sort: true,\r\n hidden: false,\r\n classes: (cell, row) => {\r\n if (row?.IsCanceled) {\r\n return \"bg-light-warning\";\r\n } else {\r\n return \"\";\r\n }\r\n },\r\n style: (cell, row) => {\r\n if (row.Alert !== \"\" && row.Alert !== null) {\r\n return {\r\n background: \"#f7dfaf\",\r\n };\r\n }\r\n },\r\n sortCaret: sortCaret,\r\n },\r\n {\r\n text: \"Trace Notes\",\r\n dataField: \"AlertNotes\",\r\n sort: true,\r\n hidden: false,\r\n sortCaret: sortCaret,\r\n classes: (cell, row) => {\r\n if (row?.IsCanceled) {\r\n return \"bg-light-warning\";\r\n } else {\r\n return \"\";\r\n }\r\n },\r\n style: (cell, row) => {\r\n if (row.Alert !== \"\" && row.Alert !== null) {\r\n return {\r\n background: \"#f7dfaf\",\r\n };\r\n }\r\n },\r\n },\r\n {\r\n text: \"Last Updated\",\r\n dataField: \"LastTracking\",\r\n sort: true,\r\n hidden: false,\r\n sortCaret: sortCaret,\r\n classes: (cell, row) => {\r\n if (row?.IsCanceled) {\r\n return \"bg-light-warning\";\r\n } else {\r\n return \"\";\r\n }\r\n },\r\n formatter: (cell, row) => {\r\n return row.LastTracking !== null && row.LastTracking !== undefined\r\n ? moment(row.LastTracking).format(\"MM/DD/YYYY, hh:mm A\")\r\n : \"\";\r\n },\r\n },\r\n {\r\n text: \"Updated By\",\r\n dataField: \"LastTrackingBy\",\r\n sort: true,\r\n hidden: false,\r\n sortCaret: sortCaret,\r\n classes: (cell, row) => {\r\n if (row?.IsCanceled) {\r\n return \"bg-light-warning\";\r\n } else {\r\n return \"\";\r\n }\r\n },\r\n },\r\n {\r\n text: \"PU Date\",\r\n dataField: \"PUAppointment\",\r\n sort: true,\r\n hidden: false,\r\n sortCaret: sortCaret,\r\n classes: (cell, row) => {\r\n if (row?.IsCanceled) {\r\n return \"bg-light-warning\";\r\n } else {\r\n return \"\";\r\n }\r\n },\r\n formatter: (cell, row) => {\r\n return row.PUAppointment !== null && row.PUAppointment !== undefined\r\n ? moment(row.PUAppointment).format(\"MM/DD/YYYY, hh:mm A\")\r\n : \"\";\r\n },\r\n },\r\n {\r\n text: \"Shipper\",\r\n dataField: \"FromCompanyName\",\r\n sort: true,\r\n hidden: false,\r\n sortCaret: sortCaret,\r\n classes: (cell, row) => {\r\n if (row?.IsCanceled) {\r\n return \"bg-light-warning\";\r\n } else {\r\n return \"\";\r\n }\r\n },\r\n },\r\n {\r\n dataField: \"FromCity\",\r\n text: \"PU City\",\r\n sort: true,\r\n hidden: false,\r\n sortCaret: sortCaret,\r\n classes: (cell, row) => {\r\n if (row?.IsCanceled) {\r\n return \"bg-light-warning\";\r\n } else {\r\n return \"\";\r\n }\r\n },\r\n formatter: (cell, row) => {\r\n return row.FromCity;\r\n },\r\n },\r\n {\r\n text: \"PU State\",\r\n dataField: \"PUState\",\r\n sort: true,\r\n hidden: false,\r\n sortCaret: sortCaret,\r\n classes: (cell, row) => {\r\n if (row?.IsCanceled) {\r\n return \"bg-light-warning\";\r\n } else {\r\n return \"\";\r\n }\r\n },\r\n formatter: (cell, row) => {\r\n return row.FromState;\r\n },\r\n },\r\n\r\n {\r\n text: \"Del Date\",\r\n dataField: \"DeliveryAppointmentDate\",\r\n sort: true,\r\n hidden: false,\r\n sortCaret: sortCaret,\r\n classes: (cell, row) => {\r\n if (row?.IsCanceled) {\r\n return \"bg-light-warning\";\r\n } else {\r\n return \"\";\r\n }\r\n },\r\n formatter: (cell, row) => {\r\n return row.DeliveryAppointmentDate !== null &&\r\n row.DeliveryAppointmentDate !== undefined\r\n ? moment(row.DeliveryAppointmentDate).format(\"MM/DD/YYYY, hh:mm A\")\r\n : \"\";\r\n },\r\n },\r\n {\r\n dataField: \"ToCompanyName\",\r\n text: \"Receiver\",\r\n sort: true,\r\n hidden: false,\r\n sortCaret: sortCaret,\r\n classes: (cell, row) => {\r\n if (row?.IsCanceled) {\r\n return \"bg-light-warning\";\r\n } else {\r\n return \"\";\r\n }\r\n },\r\n },\r\n {\r\n dataField: \"ToCity\",\r\n text: \"Del City\",\r\n hidden: false,\r\n sort: true,\r\n sortCaret: sortCaret,\r\n classes: (cell, row) => {\r\n if (row?.IsCanceled) {\r\n return \"bg-light-warning\";\r\n } else {\r\n return \"\";\r\n }\r\n },\r\n },\r\n {\r\n dataField: \"ToState\",\r\n text: \"Del State\",\r\n hidden: false,\r\n sort: true,\r\n sortCaret: sortCaret,\r\n classes: (cell, row) => {\r\n if (row?.IsCanceled) {\r\n return \"bg-light-warning\";\r\n } else {\r\n return \"\";\r\n }\r\n },\r\n },\r\n {\r\n text: \"Total Receivables\",\r\n dataField: \"TotalReceivables\",\r\n sort: true,\r\n hidden: false,\r\n sortCaret: sortCaret,\r\n classes: (cell, row) => {\r\n if (row?.IsCanceled) {\r\n return \"bg-light-warning\";\r\n } else {\r\n return \"\";\r\n }\r\n },\r\n },\r\n {\r\n text: \"Total Payables\",\r\n dataField: \"TotalPayables\",\r\n sort: true,\r\n hidden: false,\r\n sortCaret: sortCaret,\r\n classes: (cell, row) => {\r\n if (row?.IsCanceled) {\r\n return \"bg-light-warning\";\r\n } else {\r\n return \"\";\r\n }\r\n },\r\n },\r\n {\r\n dataField: \"Actions\",\r\n text: \"Actions\",\r\n hidden: false,\r\n formatter: (cell, row) => {\r\n return (\r\n <>\r\n Add Alert}\r\n >\r\n {\r\n setSoSelectedId(row.Id);\r\n setShowInfo({\r\n ShipmentId: row.Id,\r\n EventName: \"\",\r\n Note: \"\",\r\n });\r\n setShowAlert(true);\r\n }}\r\n className=\"btn btn-icon btn-light btn-hover-warning btn-sm\"\r\n >\r\n \r\n \r\n \r\n \r\n \r\n Add Trace Log\r\n }\r\n >\r\n {\r\n setSoSelectedId(row.Id);\r\n setShowTrace(true);\r\n }}\r\n className=\"btn btn-icon btn-light btn-hover-success btn-sm ml-3\"\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n },\r\n },\r\n ];\r\n const [columns, setcolumns] = useState(columnTrackingBoard || []);\r\n //Column Visibility\r\n (\r\n JSON.parse(localStorage.getItem(\"ColumnVisibility_TrackingBoard\")) || []\r\n ).forEach((x) => {\r\n const a = columnTrackingBoard.find(\r\n (y) => y?.dataField + y?.text === x?.dataField + x?.text\r\n );\r\n if (a) a.hidden = x?.hidden || false;\r\n });\r\n const [AddressObjectPost, setAddressObjectPost] = useState({\r\n Name: \"\",\r\n Address: \"\",\r\n City: \"\",\r\n State: \"\",\r\n PostalCode: \"\",\r\n CountryId: \"US\",\r\n Phone: \"\",\r\n Fax: \"\",\r\n Note: \"\",\r\n AddressTypeId: null,\r\n IsActive: true,\r\n Charges: [],\r\n ContactName: \"\",\r\n Email: \"\",\r\n CustomerId: null,\r\n });\r\n function handleSubmitTraceLog() {\r\n if (\r\n document.getElementById(\"LocationCity\").value === \"\" ||\r\n document.getElementsByName(\"LocationState\")[0].value === \"\"\r\n ) {\r\n Notification(\"error\", \"State and City are required\");\r\n return;\r\n }\r\n if (document.getElementsByName(\"StatusCode\")[0].value === \"\") {\r\n Notification(\"error\", \"Trace Code is required\");\r\n return;\r\n }\r\n if (\r\n TrackingObject.EtaDate === null ||\r\n TrackingObject.EtaDate === undefined ||\r\n TrackingObject.EtaDate === \"\"\r\n ) {\r\n Notification(\"error\", \"EtaDate and time is required\");\r\n return;\r\n }\r\n setLoadingPost(true);\r\n const StatusCode = document.getElementsByName(\"StatusCode\")[0].value;\r\n\r\n var nextTracking = TrackingObject.NextTrackingDue;\r\n\r\n var EtaDate = moment(TrackingObject.EtaDate).format(\"YYYY-MM-DD\");\r\n var EtaTime = moment(TrackingObject.EtaDate).format(\"HH:mm:ss\");\r\n\r\n const LocationCity = document.getElementById(\"LocationCity\").value;\r\n const LocationState = document.getElementsByName(\"LocationState\")[0].value;\r\n const LocationCountry = document.getElementsByName(\"Countrytracking\")[0]\r\n .value;\r\n const data = {\r\n ShipmentId: SoSelectedId,\r\n StatusCode: StatusCode,\r\n TraceDate: new Date().toISOString().substr(0, 10),\r\n TraceTime:\r\n new Date()\r\n .getHours()\r\n .toString()\r\n .padStart(2, \"0\") +\r\n \":\" +\r\n new Date().getMinutes(),\r\n EtaDate: EtaDate,\r\n EtaTime: EtaTime,\r\n Note: TrackingObject.Note,\r\n LocationCity: LocationCity,\r\n LocationState: LocationState,\r\n LocationCountry: LocationCountry,\r\n NextTracking: nextTracking,\r\n };\r\n var myHeaders = new Headers();\r\n myHeaders.append(\"Authorization\", `bearer ${db.read().getState().Token}`);\r\n myHeaders.append(\"Content-Type\", \"application/json\");\r\n myHeaders.append(\"X-FP-API-KEY\", \"iphone\");\r\n var raw = JSON.stringify(data);\r\n var requestOptions = {\r\n method: \"POST\",\r\n withCredentials: true,\r\n headers: myHeaders,\r\n body: raw,\r\n redirect: \"follow\",\r\n };\r\n fetch(`${window.$apiurl}/tracking`, requestOptions)\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n const contentType = response.headers.get(\"content-type\");\r\n if (contentType && contentType.indexOf(\"application/json\") !== -1) {\r\n return response.json().then((data) => [statusCode, data]);\r\n } else {\r\n return response.text().then((text) => [statusCode, { Message: \"\" }]);\r\n }\r\n })\r\n .then((result) => {\r\n if (result[0] === 200) {\r\n setLoadingPost(false);\r\n setShowTrace(false);\r\n Notification(\r\n \"success\",\r\n \"Trace Log Add Successfuly on Shipment ID \" + SoSelectedId\r\n );\r\n //fetchClassificationsAsync();\r\n GetDataByStatus(\r\n FilterTrackingBoard.CustomerId,\r\n FilterTrackingBoard.CarrierId,\r\n FilterTrackingBoard.statusId,\r\n FilterTrackingBoard.CapacityOperationId,\r\n FilterTrackingBoard.CommercialAssigneeId,\r\n FilterTrackingBoard.CommercialOperationId,\r\n FilterTrackingBoard.modeId,\r\n FilterTrackingBoard.ShipmentTypeId,\r\n FilterTrackingBoard.capacityAssigneeId,\r\n FilterTrackingBoard.originCity,\r\n FilterTrackingBoard.originState,\r\n FilterTrackingBoard.destinationCity,\r\n FilterTrackingBoard.destinationState,\r\n FilterTrackingBoard.ShipStartDate,\r\n FilterTrackingBoard.ShipEndDate,\r\n FilterTrackingBoard.DeliveryStartDate,\r\n FilterTrackingBoard.DeliveryEndDate,\r\n paginationOptionsNew.page,\r\n paginationOptionsNew.sizePerPage,\r\n paginationOptionsNew.sortField,\r\n paginationOptionsNew.sortOrder,\r\n FilterTrackingBoard.freightChargeId,\r\n FilterTrackingBoard.IsCanceled,\r\n FilterTrackingBoard.CurrentEvent\r\n );\r\n setTrackingObject({\r\n ShipmentId: 0,\r\n TraceCode: \"\",\r\n EtaDate: \"\",\r\n TimeZone: \"\",\r\n Country: \"\",\r\n City: \"\",\r\n State: \"\",\r\n Note: \"\",\r\n NextTrackingDue:\r\n new Date().toISOString().substr(0, 10) +\r\n \"T\" +\r\n new Date(\r\n new Date().setTime(new Date().getTime() + 6 * 60 * 60 * 1000)\r\n )\r\n .getHours()\r\n .toString()\r\n .padStart(2, \"0\") +\r\n \":\" +\r\n (new Date(\r\n new Date().setTime(new Date().getTime() + 6 * 60 * 60 * 1000)\r\n ).getMinutes() > 30\r\n ? \"30\"\r\n : \"00\") +\r\n \":00\",\r\n });\r\n } else {\r\n if (\r\n result[1].ModelState !== null &&\r\n result[1].ModelState !== undefined &&\r\n result[1].ModelState !== \"\"\r\n ) {\r\n let modelState = result[1].ModelState;\r\n if (modelState)\r\n Object.keys(modelState).forEach(function (k) {\r\n modelState[k].forEach((element) => {\r\n Notification(\"errorClick\", element);\r\n });\r\n });\r\n } else if (\r\n result[1].Message !== null &&\r\n result[1].Message !== undefined &&\r\n result[1].Message !== \"\"\r\n ) {\r\n Notification(\"errorClick\", result[1].Message);\r\n } else {\r\n Notification(\"errorClick\", \"Bad Request\");\r\n }\r\n setLoadingPost(false);\r\n }\r\n })\r\n .catch((error) => {\r\n setShowTrace(false);\r\n setLoadingPost(false);\r\n Notification(\"error\", error);\r\n });\r\n }\r\n const [paginationOptionsNew, setpaginationOptionsNew] = useState({\r\n custom: true,\r\n totalSize: totalItemsNew,\r\n sortField: \"Id\",\r\n sortOrder: \"desc\",\r\n sizePerPageList: [\r\n { text: \"10\", value: 10 },\r\n { text: \"25\", value: 25 },\r\n { text: \"50\", value: 50 },\r\n {\r\n text: String(totalItemsNew),\r\n value: totalItemsNew,\r\n },\r\n ],\r\n sizePerPage: 10,\r\n page: 1,\r\n fromLoading: true,\r\n });\r\n async function fetchMyAPI2(type, entityName) {\r\n try {\r\n await GetApiExport(\r\n FilterTrackingBoard.CustomerId,\r\n FilterTrackingBoard.CarrierId,\r\n FilterTrackingBoard.statusId,\r\n FilterTrackingBoard.CapacityOperationId,\r\n FilterTrackingBoard.CommercialAssigneeId,\r\n FilterTrackingBoard.CommercialOperationId,\r\n FilterTrackingBoard.modeId,\r\n FilterTrackingBoard.ShipmentTypeId,\r\n FilterTrackingBoard.capacityAssigneeId,\r\n FilterTrackingBoard.originCity,\r\n FilterTrackingBoard.originState,\r\n FilterTrackingBoard.destinationCity,\r\n FilterTrackingBoard.destinationState,\r\n FilterTrackingBoard.ShipStartDate,\r\n FilterTrackingBoard.ShipEndDate,\r\n FilterTrackingBoard.DeliveryStartDate,\r\n FilterTrackingBoard.DeliveryEndDate,\r\n paginationOptionsNew.page,\r\n paginationOptionsNew.sizePerPage,\r\n paginationOptionsNew.sortField,\r\n paginationOptionsNew.sortOrder,\r\n FilterTrackingBoard.freightChargeId,\r\n FilterTrackingBoard.IsCanceled,\r\n FilterTrackingBoard.CurrentEvent,\r\n true,\r\n {\r\n Type: type,\r\n Entity: entityName,\r\n }\r\n );\r\n } catch (err) {\r\n console.log(err);\r\n }\r\n }\r\n async function GetDataByStatus(\r\n Customers,\r\n carriers,\r\n statusId,\r\n CapacityOperationId,\r\n CommercialAssigneeId,\r\n CommercialOperationId,\r\n modeId,\r\n ShipmentTypeId,\r\n capacityAssigneeId,\r\n originCity,\r\n originState,\r\n destinationCity,\r\n destinationState,\r\n ShipStartDate,\r\n ShipEndDate,\r\n DeliveryStartDate,\r\n DeliveryEndDate,\r\n page,\r\n sizePerPage,\r\n sortField,\r\n sortOrder,\r\n FreightChargeId,\r\n IsCanceled,\r\n CurrentEvent\r\n ) {\r\n if (modeId !== \"\" && modeId !== null && modeId !== undefined) {\r\n var listmodeId = modeId.map((a) => a.value);\r\n modeId = \"&modeId=\" + listmodeId.join(\"&modeId=\");\r\n } else {\r\n modeId = \"\";\r\n }\r\n\r\n if (\r\n CurrentEvent !== \"\" &&\r\n CurrentEvent !== undefined &&\r\n CurrentEvent !== null\r\n ) {\r\n var trackingEvents = CurrentEvent.map((a) => a.label);\r\n CurrentEvent =\r\n \"&trackingEvents=\" + trackingEvents.join(\"&trackingEvents=\");\r\n } else {\r\n CurrentEvent = \"\";\r\n }\r\n\r\n if (\r\n ShipmentTypeId !== \"\" &&\r\n ShipmentTypeId !== null &&\r\n ShipmentTypeId !== undefined\r\n ) {\r\n var listShipmentTypeId = ShipmentTypeId.map((a) => a.value);\r\n ShipmentTypeId =\r\n \"&ShipmentTypeId=\" + listShipmentTypeId.join(\"&ShipmentTypeId=\");\r\n } else {\r\n ShipmentTypeId = \"\";\r\n }\r\n var listcapacityAssigneeId = \"\";\r\n if (\r\n capacityAssigneeId !== \"\" &&\r\n capacityAssigneeId !== null &&\r\n capacityAssigneeId !== undefined\r\n ) {\r\n listcapacityAssigneeId = capacityAssigneeId.map((a) => {\r\n if (a.IsGroup) {\r\n return \"&capacityAssigneeGroupId=\" + a.value;\r\n } else {\r\n return \"&capacityAssigneeId=\" + a.value;\r\n }\r\n });\r\n } else {\r\n listcapacityAssigneeId = \"\";\r\n }\r\n\r\n var listCapacityOperationId = \"\";\r\n\r\n if (\r\n CapacityOperationId !== \"\" &&\r\n CapacityOperationId !== null &&\r\n CapacityOperationId !== undefined\r\n ) {\r\n listCapacityOperationId = CapacityOperationId.map((a) => {\r\n if (a.IsGroup) {\r\n return \"&capacityOperationGroupId=\" + a.value;\r\n } else {\r\n return \"&CapacityOperationId=\" + a.value;\r\n }\r\n });\r\n } else {\r\n listCapacityOperationId = \"\";\r\n }\r\n\r\n var listCommercialAssigneeId = \"\";\r\n\r\n if (\r\n CommercialAssigneeId !== \"\" &&\r\n CommercialAssigneeId !== null &&\r\n CommercialAssigneeId !== undefined\r\n ) {\r\n listCommercialAssigneeId = CommercialAssigneeId.map((a) => {\r\n if (a.IsGroup) {\r\n return \"&commercialAssigneeGroupId=\" + a.value;\r\n } else {\r\n return \"&CommercialAssigneeId=\" + a.value;\r\n }\r\n });\r\n } else {\r\n listCommercialAssigneeId = \"\";\r\n }\r\n\r\n var listCommercialOperationId = \"\";\r\n\r\n if (\r\n CommercialOperationId !== \"\" &&\r\n CommercialOperationId !== null &&\r\n CommercialOperationId !== undefined\r\n ) {\r\n listCommercialOperationId = CommercialOperationId.map((a) => {\r\n if (a.IsGroup) {\r\n return \"&commercialOperationGroupId=\" + a.value;\r\n } else {\r\n return \"&CommercialOperationId=\" + a.value;\r\n }\r\n });\r\n } else {\r\n listCommercialOperationId = \"\";\r\n }\r\n if (statusId !== \"\" && statusId !== null && statusId !== undefined) {\r\n var liststatus = statusId.map((a) => a.value);\r\n statusId = \"&statusId=\" + liststatus.join(\"&statusId=\");\r\n } else {\r\n statusId = \"\";\r\n }\r\n if (carriers !== \"\" && carriers !== null && carriers !== undefined) {\r\n var listcarriers = carriers.map((a) => a.value);\r\n carriers = \"&CarrierId=\" + listcarriers.join(\"&CarrierId=\");\r\n } else {\r\n carriers = \"\";\r\n }\r\n if (Customers !== \"\" && Customers !== null && Customers !== undefined) {\r\n var listCustomers = Customers.map((a) => a.value);\r\n Customers = \"&CustomerId=\" + listCustomers.join(\"&CustomerId=\");\r\n } else {\r\n Customers = \"\";\r\n }\r\n setLoadingData(true);\r\n\r\n var myHeaders = new Headers();\r\n myHeaders.append(\"Authorization\", `Bearer ${db.read().getState().Token}`);\r\n\r\n var requestOptions = {\r\n method: \"GET\",\r\n headers: myHeaders,\r\n redirect: \"follow\",\r\n };\r\n\r\n await fetch(\r\n `${window.$apiurl}/tms/tracking?search=${FilterTrackingBoard.SearchText\r\n }&originCity=${originCity}&originState=${originState}&destinationCity=${destinationCity}&destinationState=${destinationState}&ShipStartDate=${ShipStartDate}&ShipEndDate=${ShipEndDate}&DeliveryStartDate=${DeliveryStartDate}&DeliveryEndDate=${DeliveryEndDate}&freightChargeId=${FreightChargeId}&IsCanceled=${IsCanceled}${listCapacityOperationId === null ? \"\" : listCapacityOperationId\r\n }${listcapacityAssigneeId === null ? \"\" : listcapacityAssigneeId}${modeId === null ? \"\" : modeId\r\n }\r\n ${CurrentEvent === null ? \"\" : CurrentEvent}\r\n ${ShipmentTypeId === null ? \"\" : ShipmentTypeId}${listCommercialAssigneeId === null ? \"\" : listCommercialAssigneeId\r\n }${listCommercialOperationId === null ? \"\" : listCommercialOperationId}${statusId === null ? \"\" : statusId\r\n }${carriers === null ? \"\" : carriers}${Customers === null ? \"\" : Customers\r\n }&pageNumber=${page}&pageSize=${sizePerPage}&sortField=${sortField}&sortOrder=${sortOrder}`,\r\n requestOptions\r\n )\r\n .then((response) => response.text())\r\n .then((result) => {\r\n setLoadingData(false);\r\n var dataObj = JSON.parse(result);\r\n paginationOptionsNew.totalSize =\r\n dataObj?.Pagination?.TotalItemCount || 0;\r\n paginationOptionsNew.sizePerPageList = [\r\n { text: \"10\", value: 10 },\r\n { text: \"25\", value: 25 },\r\n { text: \"50\", value: 50 },\r\n {\r\n text: String(dataObj?.Pagination?.TotalItemCount || 0),\r\n value: dataObj?.Pagination?.TotalItemCount || 0,\r\n },\r\n ];\r\n setTrackingBoard(dataObj?.Shipments || []);\r\n return dataObj?.Shipments;\r\n })\r\n .catch((error) => console.log(\"error\", error));\r\n }\r\n async function GetApiExport(\r\n Customers,\r\n carriers,\r\n statusId,\r\n CapacityOperationId,\r\n CommercialAssigneeId,\r\n CommercialOperationId,\r\n modeId,\r\n ShipmentTypeId,\r\n capacityAssigneeId,\r\n originCity,\r\n originState,\r\n destinationCity,\r\n destinationState,\r\n ShipStartDate,\r\n ShipEndDate,\r\n DeliveryStartDate,\r\n DeliveryEndDate,\r\n page,\r\n sizePerPage,\r\n sortField,\r\n sortOrder,\r\n FreightChargeId,\r\n IsCanceled,\r\n CurrentEvent,\r\n isExport = false,\r\n dataExport = null\r\n ) {\r\n if (modeId !== \"\" && modeId !== null && modeId !== undefined) {\r\n var listmodeId = modeId.map((a) => a.value);\r\n modeId = \"&modeId=\" + listmodeId.join(\"&modeId=\");\r\n } else {\r\n modeId = \"\";\r\n }\r\n\r\n if (\r\n CurrentEvent !== \"\" &&\r\n CurrentEvent !== undefined &&\r\n CurrentEvent !== null\r\n ) {\r\n var trackingEvents = CurrentEvent.map((a) => a.label);\r\n CurrentEvent =\r\n \"&trackingEvents=\" + trackingEvents.join(\"&trackingEvents=\");\r\n } else {\r\n CurrentEvent = \"\";\r\n }\r\n\r\n if (\r\n ShipmentTypeId !== \"\" &&\r\n ShipmentTypeId !== null &&\r\n ShipmentTypeId !== undefined\r\n ) {\r\n var listShipmentTypeId = ShipmentTypeId.map((a) => a.value);\r\n ShipmentTypeId =\r\n \"&ShipmentTypeId=\" + listShipmentTypeId.join(\"&ShipmentTypeId=\");\r\n } else {\r\n ShipmentTypeId = \"\";\r\n }\r\n var listcapacityAssigneeId = \"\";\r\n if (\r\n capacityAssigneeId !== \"\" &&\r\n capacityAssigneeId !== null &&\r\n capacityAssigneeId !== undefined\r\n ) {\r\n listcapacityAssigneeId = capacityAssigneeId.map((a) => {\r\n if (a.IsGroup) {\r\n return \"&capacityAssigneeGroupId=\" + a.value;\r\n } else {\r\n return \"&capacityAssigneeId=\" + a.value;\r\n }\r\n });\r\n } else {\r\n listcapacityAssigneeId = \"\";\r\n }\r\n\r\n var listCapacityOperationId = \"\";\r\n\r\n if (\r\n CapacityOperationId !== \"\" &&\r\n CapacityOperationId !== null &&\r\n CapacityOperationId !== undefined\r\n ) {\r\n listCapacityOperationId = CapacityOperationId.map((a) => {\r\n if (a.IsGroup) {\r\n return \"&capacityOperationGroupId=\" + a.value;\r\n } else {\r\n return \"&CapacityOperationId=\" + a.value;\r\n }\r\n });\r\n } else {\r\n listCapacityOperationId = \"\";\r\n }\r\n\r\n var listCommercialAssigneeId = \"\";\r\n\r\n if (\r\n CommercialAssigneeId !== \"\" &&\r\n CommercialAssigneeId !== null &&\r\n CommercialAssigneeId !== undefined\r\n ) {\r\n listCommercialAssigneeId = CommercialAssigneeId.map((a) => {\r\n if (a.IsGroup) {\r\n return \"&commercialAssigneeGroupId=\" + a.value;\r\n } else {\r\n return \"&CommercialAssigneeId=\" + a.value;\r\n }\r\n });\r\n } else {\r\n listCommercialAssigneeId = \"\";\r\n }\r\n\r\n var listCommercialOperationId = \"\";\r\n\r\n if (\r\n CommercialOperationId !== \"\" &&\r\n CommercialOperationId !== null &&\r\n CommercialOperationId !== undefined\r\n ) {\r\n listCommercialOperationId = CommercialOperationId.map((a) => {\r\n if (a.IsGroup) {\r\n return \"&commercialOperationGroupId=\" + a.value;\r\n } else {\r\n return \"&CommercialOperationId=\" + a.value;\r\n }\r\n });\r\n } else {\r\n listCommercialOperationId = \"\";\r\n }\r\n if (statusId !== \"\" && statusId !== null && statusId !== undefined) {\r\n var liststatus = statusId.map((a) => a.value);\r\n statusId = \"&statusId=\" + liststatus.join(\"&statusId=\");\r\n } else {\r\n statusId = \"\";\r\n }\r\n if (carriers !== \"\" && carriers !== null && carriers !== undefined) {\r\n var listcarriers = carriers.map((a) => a.value);\r\n carriers = \"&CarrierId=\" + listcarriers.join(\"&CarrierId=\");\r\n } else {\r\n carriers = \"\";\r\n }\r\n if (Customers !== \"\" && Customers !== null && Customers !== undefined) {\r\n var listCustomers = Customers.map((a) => a.value);\r\n Customers = \"&CustomerId=\" + listCustomers.join(\"&CustomerId=\");\r\n } else {\r\n Customers = \"\";\r\n }\r\n setLoadingData(true);\r\n\r\n var myHeaders = new Headers();\r\n myHeaders.append(\"Authorization\", `Bearer ${db.read().getState().Token}`);\r\n\r\n var requestOptions = {\r\n method: \"GET\",\r\n headers: myHeaders,\r\n redirect: \"follow\",\r\n };\r\n\r\n await fetch(\r\n `${window.$apiurl}/tms/tracking?search=${FilterTrackingBoard.SearchText\r\n }&originCity=${originCity}&originState=${originState}&destinationCity=${destinationCity}&destinationState=${destinationState}&ShipStartDate=${ShipStartDate}&ShipEndDate=${ShipEndDate}&DeliveryStartDate=${DeliveryStartDate}&DeliveryEndDate=${DeliveryEndDate}&freightChargeId=${FreightChargeId}&IsCanceled=${IsCanceled}${listCapacityOperationId === null ? \"\" : listCapacityOperationId\r\n }${listcapacityAssigneeId === null ? \"\" : listcapacityAssigneeId}${modeId === null ? \"\" : modeId\r\n }\r\n ${CurrentEvent === null ? \"\" : CurrentEvent}\r\n ${ShipmentTypeId === null ? \"\" : ShipmentTypeId}${listCommercialAssigneeId === null ? \"\" : listCommercialAssigneeId\r\n }${listCommercialOperationId === null ? \"\" : listCommercialOperationId}${statusId === null ? \"\" : statusId\r\n }${carriers === null ? \"\" : carriers}${Customers === null ? \"\" : Customers\r\n }&pageNumber=${page}&pageSize=${isExport ? \"999999999\" : sizePerPage\r\n }&sortField=${sortField}&sortOrder=${sortOrder}`,\r\n requestOptions\r\n )\r\n .then((response) => response.text())\r\n .then((result) => {\r\n setLoadingData(false);\r\n var dataObj = JSON.parse(result);\r\n paginationOptionsNew.totalSize =\r\n dataObj?.Pagination?.TotalItemCount || 0;\r\n paginationOptionsNew.sizePerPageList = [\r\n { text: \"10\", value: 10 },\r\n { text: \"25\", value: 25 },\r\n { text: \"50\", value: 50 },\r\n {\r\n text: String(dataObj?.Pagination?.TotalItemCount || 0),\r\n value: dataObj?.Pagination?.TotalItemCount || 0,\r\n },\r\n ];\r\n if (isExport) {\r\n if (\r\n dataObj?.Shipments === null &&\r\n dataObj?.Shipments === undefined &&\r\n dataObj?.Shipments?.length > 0\r\n ) {\r\n Notification(\"error\", \"Something Wrong\");\r\n setExportLoadingData(false);\r\n return false;\r\n }\r\n Export(\r\n dataObj?.Shipments || [],\r\n dataExport?.Type,\r\n dataExport?.Entity\r\n );\r\n setExportLoadingData(false);\r\n }\r\n return dataObj?.Shipments;\r\n })\r\n .catch((error) => console.log(\"error\", error));\r\n }\r\n function GetTrackingBoardViewModel() {\r\n var myHeaders = new Headers();\r\n myHeaders.append(\"Authorization\", `Bearer ${db.read().getState().Token}`);\r\n\r\n var requestOptions = {\r\n method: \"GET\",\r\n headers: myHeaders,\r\n redirect: \"follow\",\r\n };\r\n\r\n fetch(`${window.$apiurl}/loadboard/GetLBViewModel`, requestOptions)\r\n .then((response) => response.text())\r\n .then((result) => {\r\n var obj = JSON.parse(result);\r\n setCustomersList(obj?.Customers || []);\r\n setCarriersList(obj?.Carriers || []);\r\n setStatusList(obj?.Statuses || []);\r\n setCurrentEventList(obj.Events || []);\r\n setShipmentTypeList(obj?.ShipmentTypes || []);\r\n setFreightCharges(obj?.FreightCharges || []);\r\n setModesList(obj?.Modes || []);\r\n setUsersList(obj?.Updators || []);\r\n })\r\n .catch((error) => console.log(\"error\", error));\r\n }\r\n function GetTrackingBoardData() {\r\n setLoadingData(true);\r\n var myHeaders = new Headers();\r\n myHeaders.append(\"Authorization\", `Bearer ${db.read().getState().Token}`);\r\n\r\n var requestOptions = {\r\n method: \"GET\",\r\n headers: myHeaders,\r\n redirect: \"follow\",\r\n };\r\n\r\n fetch(`${window.$apiurl}/tms/tracking`, requestOptions)\r\n .then(async (response) => {\r\n if (response.status === 401) {\r\n history.push(\"/error/401\");\r\n }\r\n return response.text();\r\n })\r\n .then((result) => {\r\n var dataObj = JSON.parse(result);\r\n setTrackingBoard(dataObj?.Shipments || []);\r\n let _paginationOptionsNew = { ...paginationOptionsNew };\r\n _paginationOptionsNew.fromLoading = true;\r\n _paginationOptionsNew.totalSize =\r\n dataObj?.Pagination?.TotalItemCount || 0;\r\n _paginationOptionsNew.sizePerPageList = [\r\n { text: \"10\", value: 10 },\r\n { text: \"25\", value: 25 },\r\n { text: \"50\", value: 50 },\r\n {\r\n text: String(dataObj?.Pagination?.TotalItemCount || 0),\r\n value: dataObj?.Pagination?.TotalItemCount || 0,\r\n },\r\n ];\r\n _paginationOptionsNew.page = 1;\r\n setpaginationOptionsNew(_paginationOptionsNew);\r\n setLoadingData(false);\r\n })\r\n .catch((error) => console.log(\"error\", error));\r\n }\r\n useEffect(() => {\r\n GetTrackingBoardViewModel();\r\n GetTrackingBoardData();\r\n GetTrackingStatus();\r\n handleCountryChange();\r\n fetchViewModelAsyncCountry();\r\n }, []);\r\n\r\n const fetchViewModelAsyncCountry = async () => {\r\n try {\r\n const result = await Axios.get(\"api/ManageAddress/GetAllApi\");\r\n setCountry(result.data[\"Countries\"] || []);\r\n } catch (e) { }\r\n };\r\n const handleCountryChange = async (event) => {\r\n setStates([]);\r\n if (event === \"\" || event === null || event === undefined) {\r\n event = \"US\";\r\n }\r\n\r\n const result = await Axios.get(`api/companyinfo/getstates/${event}`);\r\n if (result.status === 200) {\r\n if (result.data.length > 0) {\r\n const states = [];\r\n window.$StatesAddress = result.data;\r\n result.data.length > 0 &&\r\n result.data.map((item) => {\r\n states.push({ value: item.Id, label: item.Name });\r\n });\r\n setStates(states);\r\n } else {\r\n Notification(\"warning\", \"This Country doesn't have any state.\");\r\n }\r\n }\r\n };\r\n async function GetTrackingStatus() {\r\n var myHeaders = new Headers();\r\n myHeaders.append(\"Authorization\", `bearer ${db.read().getState().Token}`);\r\n\r\n var requestOptions = {\r\n method: \"GET\",\r\n headers: myHeaders,\r\n redirect: \"follow\",\r\n };\r\n\r\n fetch(`${window.$apiurl}/tracking/statuses`, requestOptions)\r\n .then(async (response) => {\r\n const statusCode = response.status;\r\n const data = await response.json();\r\n return Promise.all([statusCode, data]);\r\n })\r\n .then((res) => {\r\n if (res[0] === 200) {\r\n const a = res[1];\r\n setTrackingStatusOptions(a || []);\r\n }\r\n })\r\n .catch((error) => console.log(\"error\", error));\r\n }\r\n\r\n const [IsCancel, setIsCancel] = React.useState({ value: 1, label: \"Active\" });\r\n const listCanceled = [\r\n { value: 1, label: \"Active\" },\r\n { value: 2, label: \"Canceled\" },\r\n ];\r\n return (\r\n <>\r\n \r\n \r\n \r\n Add Trace Log\r\n \r\n {\r\n setShowTrace(false);\r\n setTrackingObject({\r\n ShipmentId: 0,\r\n TraceCode: \"\",\r\n EtaDate: \"\",\r\n TimeZone: \"\",\r\n Country: \"\",\r\n City: \"\",\r\n State: \"\",\r\n Note: \"\",\r\n NextTrackingDue:\r\n new Date().toISOString().substr(0, 10) +\r\n \"T\" +\r\n new Date(\r\n new Date().setTime(\r\n new Date().getTime() + 6 * 60 * 60 * 1000\r\n )\r\n )\r\n .getHours()\r\n .toString()\r\n .padStart(2, \"0\") +\r\n \":\" +\r\n (new Date(\r\n new Date().setTime(\r\n new Date().getTime() + 6 * 60 * 60 * 1000\r\n )\r\n ).getMinutes() > 30\r\n ? \"30\"\r\n : \"00\") +\r\n \":00\",\r\n });\r\n }}\r\n >\r\n \r\n \r\n \r\n\r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n a.Code === \"33\"\r\n ).map((x) => {\r\n return {\r\n value: x.Code,\r\n label: x.EventName,\r\n };\r\n })}\r\n options={TrackingStatusOptions.map((x) => {\r\n return {\r\n value: x.Code,\r\n label: x.EventName,\r\n };\r\n })}\r\n />\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n {\r\n var trackingObject = { ...TrackingObject };\r\n trackingObject.EtaDate = newValue;\r\n setTrackingObject(trackingObject);\r\n }}\r\n />\r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n {\r\n return { value: x?.Id, label: x?.Name };\r\n })}\r\n onChange={(newValue) => {\r\n setCountryValue(newValue);\r\n handleCountryChange(newValue?.value);\r\n let value = { ...AddressObjectPost };\r\n if (newValue !== null) {\r\n value.CountryId = newValue?.value;\r\n } else {\r\n value.CountryId = \"\";\r\n }\r\n setAddressObjectPost(value);\r\n }}\r\n />\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n {\r\n return {\r\n value: x.label,\r\n label: x.label,\r\n };\r\n })}\r\n />\r\n
    \r\n
    \r\n \r\n {\r\n var trackingObject = { ...TrackingObject };\r\n trackingObject.NextTrackingDue = newValue;\r\n setTrackingObject(trackingObject);\r\n }}\r\n />\r\n
    \r\n
    \r\n \r\n {\r\n var trackingObject = { ...TrackingObject };\r\n trackingObject.Note = e.target.value;\r\n setTrackingObject(trackingObject);\r\n }}\r\n >\r\n
    \r\n
    \r\n
    \r\n \r\n {\r\n handleSubmitTraceLog();\r\n }}\r\n className=\"btn btn-primary btn-elevate\"\r\n >\r\n Save\r\n {LoadingPost && (\r\n \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n Add Alert\r\n {\r\n setShowInfo({ ShipmentId: null, EventName: \"\", Note: \"\" });\r\n setShowAlert(false);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n
    \r\n {\r\n return { value: a.Alerts, label: a.Alerts };\r\n })}\r\n onChange={(e) => {\r\n if (e !== null) {\r\n let value = { ...ShowInfo };\r\n value.EventName = e.value;\r\n setShowInfo(value);\r\n }\r\n }}\r\n />\r\n
    \r\n
    \r\n \r\n {\r\n let value = { ...ShowInfo };\r\n value.Note = e.target.value;\r\n setShowInfo(value);\r\n }}\r\n >\r\n
    \r\n
    \r\n \r\n setShowAlert(false)}\r\n className=\"btn btn-outline btn-elevate\"\r\n >\r\n Cancel\r\n \r\n\r\n {\r\n setLoadingPost(true);\r\n var myHeaders = new Headers();\r\n myHeaders.append(\r\n \"Authorization\",\r\n `bearer ${db.read().getState().Token}`\r\n );\r\n myHeaders.append(\"Content-Type\", \"application/json\");\r\n myHeaders.append(\"X-FP-API-KEY\", \"iphone\");\r\n var raw = JSON.stringify(ShowInfo);\r\n var requestOptions = {\r\n method: \"POST\",\r\n withCredentials: true,\r\n headers: myHeaders,\r\n body: raw,\r\n redirect: \"follow\",\r\n };\r\n fetch(`${window.$apiurl}/Tracking/Alert`, requestOptions)\r\n .then(async (response) => {\r\n const statusCode = await response.status;\r\n const contentType = response.headers.get(\"content-type\");\r\n if (\r\n contentType &&\r\n contentType.indexOf(\"application/json\") !== -1\r\n ) {\r\n return response.json().then((data) => [statusCode, data]);\r\n } else {\r\n return response\r\n .text()\r\n .then((text) => [statusCode, { Message: \"\" }]);\r\n }\r\n })\r\n .then((result) => {\r\n if (result[0] === 200) {\r\n setLoadingPost(false);\r\n setShowAlert(false);\r\n Notification(\r\n \"success\",\r\n \"Alert Add Successfuly on Shipment ID \" + SoSelectedId\r\n );\r\n GetDataByStatus(\r\n FilterTrackingBoard.CustomerId,\r\n FilterTrackingBoard.CarrierId,\r\n FilterTrackingBoard.statusId,\r\n FilterTrackingBoard.CapacityOperationId,\r\n FilterTrackingBoard.CommercialAssigneeId,\r\n FilterTrackingBoard.CommercialOperationId,\r\n FilterTrackingBoard.modeId,\r\n FilterTrackingBoard.ShipmentTypeId,\r\n FilterTrackingBoard.capacityAssigneeId,\r\n FilterTrackingBoard.originCity,\r\n FilterTrackingBoard.originState,\r\n FilterTrackingBoard.destinationCity,\r\n FilterTrackingBoard.destinationState,\r\n FilterTrackingBoard.ShipStartDate,\r\n FilterTrackingBoard.ShipEndDate,\r\n FilterTrackingBoard.DeliveryStartDate,\r\n FilterTrackingBoard.DeliveryEndDate,\r\n paginationOptionsNew.page,\r\n paginationOptionsNew.sizePerPage,\r\n paginationOptionsNew.sortField,\r\n paginationOptionsNew.sortOrder,\r\n FilterTrackingBoard.freightChargeId,\r\n FilterTrackingBoard.IsCanceled,\r\n FilterTrackingBoard.CurrentEvent\r\n );\r\n } else {\r\n if (\r\n result[1].ModelState !== null &&\r\n result[1].ModelState !== undefined &&\r\n result[1].ModelState !== \"\"\r\n ) {\r\n let modelState = result[1].ModelState;\r\n if (modelState)\r\n Object.keys(modelState).forEach(function (k) {\r\n modelState[k].forEach((element) => {\r\n Notification(\"errorClick\", element);\r\n });\r\n });\r\n } else if (\r\n result[1].Message !== null &&\r\n result[1].Message !== undefined &&\r\n result[1].Message !== \"\"\r\n ) {\r\n Notification(\"errorClick\", result[1].Message);\r\n } else {\r\n Notification(\"errorClick\", \"Bad Request\");\r\n }\r\n setLoadingPost(false);\r\n }\r\n })\r\n .catch((error) => {\r\n Notification(\"error\", error);\r\n });\r\n setShowAlert(false);\r\n }}\r\n className=\"btn btn-primary btn-elevate\"\r\n >\r\n Save\r\n {LoadingPost && (\r\n \r\n )}\r\n \r\n \r\n \r\n {\r\n setEditModal(false);\r\n setLoadBoardGrid(false);\r\n setMODetail(e.target.value);\r\n }}\r\n />\r\n {\r\n setMODetail(false);\r\n setLoadBoardGrid(false);\r\n setEditModal(e.target.value);\r\n }}\r\n />\r\n {\r\n setMODetail(false);\r\n setEditModal(false);\r\n setLoadBoardGrid(true);\r\n }}\r\n />\r\n {EditModal && (\r\n \r\n )}\r\n {MODetail && }\r\n {!EditModal && !MODetail && (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n Export as\r\n save\r\n {ExportLoadingData && (\r\n \r\n )}\r\n \r\n \r\n {\r\n fetchMyAPI2(\"excel\", `Tracking_Board_`);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n {\r\n fetchMyAPI2(\"csv\", `Tracking_Board_`);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n {\r\n fetchMyAPI2(\"json\", `Tracking_Board_`);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n GetDataByStatus(\r\n FilterTrackingBoard.CustomerId,\r\n FilterTrackingBoard.CarrierId,\r\n FilterTrackingBoard.statusId,\r\n FilterTrackingBoard.CapacityOperationId,\r\n FilterTrackingBoard.CommercialAssigneeId,\r\n FilterTrackingBoard.CommercialOperationId,\r\n FilterTrackingBoard.modeId,\r\n FilterTrackingBoard.ShipmentTypeId,\r\n FilterTrackingBoard.capacityAssigneeId,\r\n FilterTrackingBoard.originCity,\r\n FilterTrackingBoard.originState,\r\n FilterTrackingBoard.destinationCity,\r\n FilterTrackingBoard.destinationState,\r\n FilterTrackingBoard.ShipStartDate,\r\n FilterTrackingBoard.ShipEndDate,\r\n FilterTrackingBoard.DeliveryStartDate,\r\n FilterTrackingBoard.DeliveryEndDate,\r\n paginationOptionsNew.page,\r\n paginationOptionsNew.sizePerPage,\r\n paginationOptionsNew.sortField,\r\n paginationOptionsNew.sortOrder,\r\n FilterTrackingBoard.freightChargeId,\r\n FilterTrackingBoard?.IsCanceled,\r\n FilterTrackingBoard.CurrentEvent\r\n );\r\n }}\r\n className=\"btn btn-success ml-5\"\r\n >\r\n Refresh\r\n \r\n {\r\n document\r\n .getElementById(\"CleareAllFilterDataButton\")\r\n .click();\r\n }}\r\n className=\"btn btn-warning ml-5\"\r\n >\r\n Clear Filter\r\n \r\n {\r\n setIsFilterHide(!IsFilterHide);\r\n }}\r\n className=\"btn btn-primary ml-5\"\r\n >\r\n {IsFilterHide === false ? \"Hide\" : \"Show\"} Filter\r\n \r\n \r\n \r\n \r\n {\r\n GetDataByStatus(\r\n values.CustomerId,\r\n values.CarrierId,\r\n values.statusId,\r\n values.CapacityOperationId,\r\n values.CommercialAssigneeId,\r\n values.CommercialOperationId,\r\n values.modeId,\r\n values.ShipmentTypeId,\r\n values.capacityAssigneeId,\r\n values.originCity,\r\n values.originState,\r\n values.destinationCity,\r\n values.destinationState,\r\n values.ShipStartDate,\r\n values.ShipEndDate,\r\n values.DeliveryStartDate,\r\n values.DeliveryEndDate,\r\n paginationOptionsNew.page,\r\n paginationOptionsNew.sizePerPage,\r\n paginationOptionsNew.sortField,\r\n paginationOptionsNew.sortOrder,\r\n values.freightChargeId ?? 98,\r\n values?.IsCanceled,\r\n values.CurrentEvent\r\n );\r\n }}\r\n >\r\n {({ values, handleSubmit, setFieldValue }) => {\r\n const CleareAllFilterData = () => {\r\n setpaginationOptionsNew({\r\n custom: true,\r\n totalSize: totalItemsNew,\r\n sortField: \"Id\",\r\n sortOrder: \"desc\",\r\n sizePerPageList: [\r\n { text: \"10\", value: 10 },\r\n { text: \"25\", value: 25 },\r\n { text: \"50\", value: 50 },\r\n {\r\n text: String(totalItemsNew),\r\n value: totalItemsNew,\r\n },\r\n ],\r\n sizePerPage: 10,\r\n page: 1,\r\n fromLoading: true,\r\n });\r\n setFilterTrackingBoard({\r\n CustomerId: [],\r\n CarrierId: [],\r\n statusId: [],\r\n CapacityOperationId: [],\r\n CommercialAssigneeId: [],\r\n CommercialOperationId: [],\r\n modeId: [],\r\n capacityAssigneeId: [],\r\n originCity: \"\",\r\n originState: \"\",\r\n freightChargeId: 98,\r\n IsCanceled: false,\r\n destinationCity: \"\",\r\n destinationState: \"\",\r\n ShipStartDate: \"\",\r\n ShipEndDate: \"\",\r\n DeliveryStartDate: \"\",\r\n DeliveryEndDate: \"\",\r\n SearchText: \"\",\r\n CurrentEvent: [],\r\n });\r\n GetDataByStatus(\r\n [],\r\n [],\r\n [],\r\n [],\r\n [],\r\n [],\r\n [],\r\n [],\r\n \"\",\r\n \"\",\r\n \"\",\r\n \"\",\r\n \"\",\r\n \"\",\r\n \"\",\r\n \"\",\r\n 1,\r\n 10,\r\n \"Id\",\r\n \"desc\",\r\n 98,\r\n false,\r\n []\r\n );\r\n\r\n setFieldValue(\"capacityAssigneeId\", []);\r\n setFieldValue(\"modeId\", []);\r\n setFieldValue(\"CurrentEvent\", []);\r\n setFieldValue(\"statusId\", []);\r\n setFieldValue(\"CarrierId\", []);\r\n setFieldValue(\"CustomerId\", []);\r\n setFieldValue(\"CapacityOperationId\", []);\r\n setFieldValue(\"CommercialAssigneeId\", []);\r\n setFieldValue(\"CommercialOperationId\", []);\r\n setFieldValue(\"originCity\", \"\");\r\n setFieldValue(\"originState\", \"\");\r\n setFieldValue(\"destinationCity\", \"\");\r\n setFieldValue(\"destinationState\", \"\");\r\n setFieldValue(\"SearchText\", \"\");\r\n setFieldValue(\"ShipStartDate\", \"\");\r\n setFieldValue(\"ShipEndDate\", \"\");\r\n setFieldValue(\"DeliveryStartDate\", \"\");\r\n setFieldValue(\"DeliveryEndDate\", \"\");\r\n setFieldValue(\"freightChargeId\", \"\");\r\n setFieldValue(\"IsCanceled\", null);\r\n };\r\n const GetHandlerTableChangeNew = (type, newState) => {\r\n if (type === \"sort\") {\r\n let values = { ...paginationOptionsNew };\r\n values.sortField = newState.sortField;\r\n values.sortOrder = newState.sortOrder;\r\n values.fromLoading = false;\r\n setpaginationOptionsNew(values);\r\n if (\r\n newState.sortField !== paginationOptionsNew.sortField ||\r\n newState.sortOrder !== paginationOptionsNew.sortOrder\r\n ) {\r\n GetDataByStatus(\r\n FilterTrackingBoard.CustomerId,\r\n FilterTrackingBoard.CarrierId,\r\n FilterTrackingBoard.statusId,\r\n FilterTrackingBoard.CapacityOperationId,\r\n FilterTrackingBoard.CommercialAssigneeId,\r\n FilterTrackingBoard.CommercialOperationId,\r\n FilterTrackingBoard.modeId,\r\n FilterTrackingBoard.ShipmentTypeId,\r\n FilterTrackingBoard.capacityAssigneeId,\r\n FilterTrackingBoard.originCity,\r\n FilterTrackingBoard.originState,\r\n FilterTrackingBoard.destinationCity,\r\n FilterTrackingBoard.destinationState,\r\n FilterTrackingBoard.ShipStartDate,\r\n FilterTrackingBoard.ShipEndDate,\r\n FilterTrackingBoard.DeliveryStartDate,\r\n FilterTrackingBoard.DeliveryEndDate,\r\n paginationOptionsNew.page,\r\n paginationOptionsNew.sizePerPage,\r\n newState.sortField,\r\n newState.sortOrder,\r\n FilterTrackingBoard.freightChargeId,\r\n FilterTrackingBoard.IsCanceled,\r\n FilterTrackingBoard.CurrentEvent\r\n );\r\n }\r\n }\r\n if (type === \"pagination\") {\r\n let values = { ...paginationOptionsNew };\r\n values.sizePerPage = newState.sizePerPage;\r\n values.page =\r\n newState.page === undefined ? 1 : newState.page;\r\n values.fromLoading = false;\r\n setpaginationOptionsNew(values);\r\n GetDataByStatus(\r\n FilterTrackingBoard.CustomerId,\r\n FilterTrackingBoard.CarrierId,\r\n FilterTrackingBoard.statusId,\r\n FilterTrackingBoard.CapacityOperationId,\r\n FilterTrackingBoard.CommercialAssigneeId,\r\n FilterTrackingBoard.CommercialOperationId,\r\n FilterTrackingBoard.modeId,\r\n FilterTrackingBoard.ShipmentTypeId,\r\n FilterTrackingBoard.capacityAssigneeId,\r\n FilterTrackingBoard.originCity,\r\n FilterTrackingBoard.originState,\r\n FilterTrackingBoard.destinationCity,\r\n FilterTrackingBoard.destinationState,\r\n FilterTrackingBoard.ShipStartDate,\r\n FilterTrackingBoard.ShipEndDate,\r\n FilterTrackingBoard.DeliveryStartDate,\r\n FilterTrackingBoard.DeliveryEndDate,\r\n newState.page === undefined ? 1 : newState.page,\r\n newState.sizePerPage,\r\n paginationOptionsNew.sortField,\r\n paginationOptionsNew.sortOrder,\r\n FilterTrackingBoard.freightChargeId,\r\n FilterTrackingBoard.IsCanceled,\r\n FilterTrackingBoard.CurrentEvent\r\n );\r\n }\r\n };\r\n return (\r\n \r\n
    \r\n
    \r\n
    \r\n {!IsFilterHide && (\r\n
    \r\n {\r\n CleareAllFilterData();\r\n }}\r\n >\r\n
    \r\n

    Customers

    \r\n {\r\n return { value: a.Id, label: a.Name };\r\n })}\r\n className=\"basic-multi-select\"\r\n classNamePrefix=\"select\"\r\n onChange={(e) => {\r\n if (e !== null) {\r\n let paginationOption = { ...paginationOptionsNew };\r\n paginationOption.page = 1;\r\n setpaginationOptionsNew(paginationOption)\r\n setFieldValue(\"CustomerId\", e);\r\n let val = { ...FilterTrackingBoard };\r\n val.CustomerId = e;\r\n setFilterTrackingBoard(val);\r\n } else {\r\n let paginationOption = { ...paginationOptionsNew };\r\n paginationOption.page = 1;\r\n setpaginationOptionsNew(paginationOption)\r\n setFieldValue(\"CustomerId\", []);\r\n let val = { ...FilterTrackingBoard };\r\n val.CustomerId = [];\r\n setFilterTrackingBoard(val);\r\n }\r\n handleSubmit();\r\n }}\r\n />\r\n
    \r\n
    \r\n

    Carriers

    \r\n {\r\n return { value: a.Id, label: a.Name };\r\n })}\r\n onChange={(e) => {\r\n if (e !== null) {\r\n let paginationOption = { ...paginationOptionsNew };\r\n paginationOption.page = 1;\r\n setpaginationOptionsNew(paginationOption)\r\n setFieldValue(\"CarrierId\", e);\r\n let val = { ...FilterTrackingBoard };\r\n val.CarrierId = e;\r\n setFilterTrackingBoard(val);\r\n } else {\r\n let paginationOption = { ...paginationOptionsNew };\r\n paginationOption.page = 1;\r\n setpaginationOptionsNew(paginationOption)\r\n setFieldValue(\"CarrierId\", null);\r\n let val = { ...FilterTrackingBoard };\r\n val.CarrierId = [];\r\n setFilterTrackingBoard(val);\r\n }\r\n handleSubmit();\r\n }}\r\n />\r\n
    \r\n
    \r\n

    Modes

    \r\n {\r\n return { value: a.Id, label: a.Name };\r\n })}\r\n onChange={(e) => {\r\n if (e !== null) {\r\n let paginationOption = { ...paginationOptionsNew };\r\n paginationOption.page = 1;\r\n setpaginationOptionsNew(paginationOption)\r\n setFieldValue(\"modeId\", e);\r\n let val = { ...FilterTrackingBoard };\r\n val.modeId = e;\r\n setFilterTrackingBoard(val);\r\n } else {\r\n let paginationOption = { ...paginationOptionsNew };\r\n paginationOption.page = 1;\r\n setpaginationOptionsNew(paginationOption)\r\n setFieldValue(\"modeId\", null);\r\n let val = { ...FilterTrackingBoard };\r\n val.modeId = [];\r\n setFilterTrackingBoard(val);\r\n }\r\n handleSubmit();\r\n }}\r\n />\r\n
    \r\n
    \r\n

    Shipment Type

    \r\n\r\n {\r\n return { value: a.Id, label: a.Name };\r\n })}\r\n onChange={(e) => {\r\n if (e !== null) {\r\n let paginationOption = { ...paginationOptionsNew };\r\n paginationOption.page = 1;\r\n setpaginationOptionsNew(paginationOption)\r\n setFieldValue(\"ShipmentTypeId\", e);\r\n let val = { ...FilterTrackingBoard };\r\n val.ShipmentTypeId = e;\r\n setFilterTrackingBoard(val);\r\n } else {\r\n let paginationOption = { ...paginationOptionsNew };\r\n paginationOption.page = 1;\r\n setpaginationOptionsNew(paginationOption)\r\n setFieldValue(\"ShipmentTypeId\", null);\r\n let val = { ...FilterTrackingBoard };\r\n val.ShipmentTypeId = [];\r\n setFilterTrackingBoard(val);\r\n }\r\n handleSubmit();\r\n }}\r\n />\r\n
    \r\n
    \r\n

    Statuses

    \r\n {\r\n return { value: a.Id, label: a.Name };\r\n })}\r\n onChange={(e) => {\r\n if (e !== null) {\r\n let paginationOption = { ...paginationOptionsNew };\r\n paginationOption.page = 1;\r\n setpaginationOptionsNew(paginationOption)\r\n setFieldValue(\"statusId\", e);\r\n let val = { ...FilterTrackingBoard };\r\n val.statusId = e;\r\n setFilterTrackingBoard(val);\r\n } else {\r\n let paginationOption = { ...paginationOptionsNew };\r\n paginationOption.page = 1;\r\n setpaginationOptionsNew(paginationOption)\r\n setFieldValue(\"statusId\", null);\r\n let val = { ...FilterTrackingBoard };\r\n val.statusId = [];\r\n setFilterTrackingBoard(val);\r\n }\r\n handleSubmit();\r\n }}\r\n />\r\n
    \r\n
    \r\n

    Current Event

    \r\n {\r\n return { value: a.Code, label: a.EventName };\r\n })}\r\n onChange={(e) => {\r\n console.log(\"E\", e);\r\n if (e !== null) {\r\n let paginationOption = { ...paginationOptionsNew };\r\n paginationOption.page = 1;\r\n setpaginationOptionsNew(paginationOption)\r\n setFieldValue(\"CurrentEvent\", e);\r\n let val = { ...FilterTrackingBoard };\r\n val.CurrentEvent = e;\r\n setFilterTrackingBoard(val);\r\n } else {\r\n let paginationOption = { ...paginationOptionsNew };\r\n paginationOption.page = 1;\r\n setpaginationOptionsNew(paginationOption)\r\n setFieldValue(\"CurrentEvent\", []);\r\n let val = { ...FilterTrackingBoard };\r\n val.CurrentEvent = [];\r\n setFilterTrackingBoard(val);\r\n }\r\n handleSubmit();\r\n }}\r\n />\r\n
    \r\n
    \r\n

    Freight Charge

    \r\n 0\r\n ? freightCharges.map((item) => {\r\n return {\r\n value: item.Id,\r\n label: item.Name,\r\n };\r\n })\r\n : []\r\n }\r\n isClearable\r\n value={\r\n values?.freightChargeId\r\n ? {\r\n value: values?.freightChargeId,\r\n label: freightCharges?.find(\r\n (x) => x.Id === values?.freightChargeId\r\n )?.Name,\r\n }\r\n : {\r\n value: 98,\r\n label: freightCharges?.find(\r\n (x) => x.Id === 98\r\n )?.Name,\r\n }\r\n }\r\n onChange={(e) => {\r\n setFieldValue(\r\n \"freightChargeId\",\r\n e?.value ?? null\r\n );\r\n let paginationOption = { ...paginationOptionsNew };\r\n paginationOption.page = 1;\r\n setpaginationOptionsNew(paginationOption)\r\n let val = { ...FilterTrackingBoard };\r\n val.freightChargeId = e?.value ?? null;\r\n setFilterTrackingBoard(val);\r\n handleSubmit();\r\n }}\r\n />\r\n
    \r\n
    \r\n \r\n {\r\n let value = e?.value;\r\n if (value === 1) {\r\n value = false;\r\n } else if (value === 2) {\r\n value = true;\r\n } else {\r\n value = \"\";\r\n }\r\n setIsCancel(e ?? null);\r\n let paginationOption = { ...paginationOptionsNew };\r\n paginationOption.page = 1;\r\n setpaginationOptionsNew(paginationOption)\r\n setFieldValue(\"IsCanceled\", value ?? null);\r\n let val = { ...FilterTrackingBoard };\r\n val.IsCanceled = value ?? null;\r\n setFilterTrackingBoard(val);\r\n handleSubmit();\r\n }}\r\n isClearable\r\n options={listCanceled}\r\n value={IsCancel}\r\n />\r\n
    \r\n
    \r\n

    Capacity Assignment

    \r\n {\r\n return {\r\n value: a.Id,\r\n label: a.Name,\r\n IsGroup: a.IsGroup,\r\n };\r\n })}\r\n onChange={(e) => {\r\n if (e !== null) {\r\n let paginationOption = { ...paginationOptionsNew };\r\n paginationOption.page = 1;\r\n setpaginationOptionsNew(paginationOption)\r\n setFieldValue(\"capacityAssigneeId\", e);\r\n let val = { ...FilterTrackingBoard };\r\n val.capacityAssigneeId = e;\r\n setFilterTrackingBoard(val);\r\n } else {\r\n let paginationOption = { ...paginationOptionsNew };\r\n paginationOption.page = 1;\r\n setpaginationOptionsNew(paginationOption)\r\n setFieldValue(\"capacityAssigneeId\", null);\r\n let val = { ...FilterTrackingBoard };\r\n val.capacityAssigneeId = [];\r\n setFilterTrackingBoard(val);\r\n }\r\n handleSubmit();\r\n }}\r\n />\r\n
    \r\n
    \r\n

    Capacity Operations

    \r\n {\r\n return {\r\n value: a.Id,\r\n label: a.Name,\r\n IsGroup: a.IsGroup,\r\n };\r\n })}\r\n onChange={(e) => {\r\n if (e !== null) {\r\n let paginationOption = { ...paginationOptionsNew };\r\n paginationOption.page = 1;\r\n setpaginationOptionsNew(paginationOption)\r\n setFieldValue(\"CapacityOperationId\", e);\r\n let val = { ...FilterTrackingBoard };\r\n val.CapacityOperationId = e;\r\n setFilterTrackingBoard(val);\r\n } else {\r\n let paginationOption = { ...paginationOptionsNew };\r\n paginationOption.page = 1;\r\n setpaginationOptionsNew(paginationOption)\r\n setFieldValue(\"CapacityOperationId\", null);\r\n let val = { ...FilterTrackingBoard };\r\n val.CapacityOperationId = [];\r\n setFilterTrackingBoard(val);\r\n }\r\n handleSubmit();\r\n }}\r\n />\r\n
    \r\n
    \r\n

    Commercial Assignment

    \r\n {\r\n return {\r\n value: a.Id,\r\n label: a.Name,\r\n IsGroup: a.IsGroup,\r\n };\r\n })}\r\n onChange={(e) => {\r\n if (e !== null) {\r\n let paginationOption = { ...paginationOptionsNew };\r\n paginationOption.page = 1;\r\n setpaginationOptionsNew(paginationOption)\r\n setFieldValue(\"CommercialAssigneeId\", e);\r\n let val = { ...FilterTrackingBoard };\r\n val.CommercialAssigneeId = e;\r\n setFilterTrackingBoard(val);\r\n } else {\r\n let paginationOption = { ...paginationOptionsNew };\r\n paginationOption.page = 1;\r\n setpaginationOptionsNew(paginationOption)\r\n setFieldValue(\"CommercialAssigneeId\", null);\r\n let val = { ...FilterTrackingBoard };\r\n val.CommercialAssigneeId = [];\r\n setFilterTrackingBoard(val);\r\n }\r\n handleSubmit();\r\n }}\r\n />\r\n
    \r\n
    \r\n

    Commercial Operations

    \r\n {\r\n return {\r\n value: a.Id,\r\n label: a.Name,\r\n IsGroup: a.IsGroup,\r\n };\r\n })}\r\n onChange={(e) => {\r\n if (e !== null) {\r\n setFieldValue(\"CommercialOperationId\", e);\r\n let paginationOption = { ...paginationOptionsNew };\r\n paginationOption.page = 1;\r\n setpaginationOptionsNew(paginationOption)\r\n let val = { ...FilterTrackingBoard };\r\n val.CommercialOperationId = e;\r\n setFilterTrackingBoard(val);\r\n } else {\r\n let paginationOption = { ...paginationOptionsNew };\r\n paginationOption.page = 1;\r\n setpaginationOptionsNew(paginationOption)\r\n setFieldValue(\"CommercialOperationId\", null);\r\n let val = { ...FilterTrackingBoard };\r\n val.CommercialOperationId = [];\r\n setFilterTrackingBoard(val);\r\n }\r\n handleSubmit();\r\n }}\r\n />\r\n
    \r\n
    \r\n

    Origin City

    \r\n {\r\n setFieldValue(\"originCity\", e.target.value);\r\n let paginationOption = { ...paginationOptionsNew };\r\n paginationOption.page = 1;\r\n setpaginationOptionsNew(paginationOption)\r\n let val = { ...FilterTrackingBoard };\r\n val.originCity = e.target.value;\r\n setFilterTrackingBoard(val);\r\n clearTimeout(typingTimer);\r\n typingTimer = setTimeout(function () {\r\n handleSubmit();\r\n }, 500);\r\n }}\r\n />\r\n
    \r\n
    \r\n

    Origin State

    \r\n \r\n a.Name === FilterTrackingBoard.originState\r\n ).map((item) => {\r\n return { value: item.Name, label: item.Name };\r\n })}\r\n options={StatesUs.map((item) => {\r\n return { value: item.Name, label: item.Name };\r\n })}\r\n onChange={(e) => {\r\n setFieldValue(\r\n \"originState\",\r\n e === null ? \"\" : e?.value\r\n );\r\n let paginationOption = { ...paginationOptionsNew };\r\n paginationOption.page = 1;\r\n setpaginationOptionsNew(paginationOption)\r\n let val = { ...FilterTrackingBoard };\r\n val.originState = e === null ? \"\" : e?.value;\r\n setFilterTrackingBoard(val);\r\n\r\n handleSubmit();\r\n }}\r\n />\r\n
    \r\n
    \r\n

    Destination City

    \r\n {\r\n setFieldValue(\r\n \"destinationCity\",\r\n e.target.value\r\n );\r\n let paginationOption = { ...paginationOptionsNew };\r\n paginationOption.page = 1;\r\n setpaginationOptionsNew(paginationOption)\r\n let val = { ...FilterTrackingBoard };\r\n val.destinationCity = e.target.value;\r\n setFilterTrackingBoard(val);\r\n\r\n clearTimeout(typingTimer);\r\n typingTimer = setTimeout(function () {\r\n handleSubmit();\r\n }, 500);\r\n }}\r\n />\r\n
    \r\n
    \r\n

    Destination State

    \r\n \r\n a.Name ===\r\n FilterTrackingBoard.destinationState\r\n ).map((item) => {\r\n return { value: item.Name, label: item.Name };\r\n })}\r\n options={StatesUs.map((item) => {\r\n return { value: item.Name, label: item.Name };\r\n })}\r\n onChange={(e) => {\r\n setFieldValue(\r\n \"destinationState\",\r\n e === null ? \"\" : e?.value\r\n );\r\n let paginationOption = { ...paginationOptionsNew };\r\n paginationOption.page = 1;\r\n setpaginationOptionsNew(paginationOption)\r\n let val = { ...FilterTrackingBoard };\r\n val.destinationState =\r\n e === null ? \"\" : e?.value;\r\n setFilterTrackingBoard(val);\r\n\r\n handleSubmit();\r\n }}\r\n />\r\n
    \r\n
    \r\n

    Ship Date Start - End

    \r\n {\r\n if (startDate === null) {\r\n setFieldValue(\"ShipStartDate\", \"\");\r\n } else {\r\n setFieldValue(\r\n \"ShipStartDate\",\r\n moment(startDate).format(\"YYYY-MM-DD\")\r\n );\r\n }\r\n if (endDate === null) {\r\n setFieldValue(\"ShipEndDate\", \"\");\r\n } else {\r\n setFieldValue(\r\n \"ShipEndDate\",\r\n moment(endDate).format(\"YYYY-MM-DD\")\r\n );\r\n }\r\n let val = { ...FilterTrackingBoard };\r\n val.ShipStartDate = moment(startDate).format(\r\n \"YYYY-MM-DD\"\r\n );\r\n val.ShipEndDate = moment(endDate).format(\r\n \"YYYY-MM-DD\"\r\n );\r\n setFilterTrackingBoard(val);\r\n handleSubmit();\r\n }}\r\n />\r\n
    \r\n
    \r\n

    Delivery Date Start - End

    \r\n {\r\n if (startDate === null) {\r\n setFieldValue(\"DeliveryStartDate\", \"\");\r\n } else {\r\n setFieldValue(\r\n \"DeliveryStartDate\",\r\n moment(startDate).format(\"YYYY-MM-DD\")\r\n );\r\n }\r\n if (endDate === null) {\r\n setFieldValue(\"DeliveryEndDate\", \"\");\r\n } else {\r\n setFieldValue(\r\n \"DeliveryEndDate\",\r\n moment(endDate).format(\"YYYY-MM-DD\")\r\n );\r\n }\r\n let paginationOption = { ...paginationOptionsNew };\r\n paginationOption.page = 1;\r\n setpaginationOptionsNew(paginationOption)\r\n let val = { ...FilterTrackingBoard };\r\n val.DeliveryStartDate = moment(\r\n startDate\r\n ).format(\"YYYY-MM-DD\");\r\n val.DeliveryEndDate = moment(endDate).format(\r\n \"YYYY-MM-DD\"\r\n );\r\n setFilterTrackingBoard(val);\r\n handleSubmit();\r\n }}\r\n />\r\n
    \r\n
    \r\n

    Search

    \r\n {\r\n setFieldValue(\"SearchText\", e.target.value);\r\n let paginationOption = { ...paginationOptionsNew };\r\n paginationOption.page = 1;\r\n setpaginationOptionsNew(paginationOption)\r\n let val = { ...FilterTrackingBoard };\r\n val.SearchText = e.target.value;\r\n setFilterTrackingBoard(val);\r\n clearTimeout(typingTimer);\r\n typingTimer = setTimeout(function () {\r\n handleSubmit();\r\n }, 500);\r\n }}\r\n />\r\n
    \r\n
    \r\n )}\r\n\r\n
    \r\n
    \r\n \r\n Column visibility{\" \"}\r\n \r\n \r\n }\r\n body={\r\n
    \r\n {columns?.map((x) => (\r\n
    \r\n {\r\n let a = columns;\r\n a.forEach((y) => {\r\n if (\r\n y?.dataField + y?.text ===\r\n x?.dataField + x?.text\r\n ) {\r\n y.hidden = !y.hidden;\r\n }\r\n });\r\n setcolumns([]);\r\n setTimeout(() => {\r\n setcolumns(a);\r\n localStorage.setItem(\r\n \"ColumnVisibility_TrackingBoard\",\r\n JSON.stringify(a)\r\n );\r\n }, 1);\r\n }}\r\n />\r\n
    \r\n ))}\r\n
    \r\n }\r\n />\r\n {LoadingData && (\r\n \r\n )}\r\n {columns.length > 0 ? (\r\n <>\r\n \r\n \r\n {({ paginationProps, paginationTableProps }) => {\r\n return (\r\n \r\n \r\n There is no data available at the\r\n moment.\r\n \r\n }\r\n data={TrackingBoard}\r\n columns={columns}\r\n defaultSorted={[\r\n { dataField: \"Id\", order: \"desc\" },\r\n ]}\r\n onTableChange={GetHandlerTableChangeNew}\r\n {...paginationTableProps}\r\n >\r\n \r\n \r\n \r\n \r\n );\r\n }}\r\n \r\n \r\n ) : \"\"}\r\n\r\n
    \r\n
    \r\n \r\n );\r\n }}\r\n \r\n \r\n \r\n \r\n )}\r\n \r\n );\r\n}\r\n","export const defaultSorted = [{ dataField: \"id\", order: \"desc\" }];\r\nexport const sizePerPageList = [\r\n { text: \"1\", value: 1 },\r\n { text: \"3\", value: 3 },\r\n { text: \"5\", value: 5 },\r\n];\r\nexport const initialFilter = {\r\n filter: {\r\n text: \"\",\r\n },\r\n sortOrder: \"asc\", // asc||desc\r\n sortField: \"id\",\r\n pageNumber: 1,\r\n pageSize: 5,\r\n};\r\n","import { Button, IconButton, LinearProgress } from \"@material-ui/core\";\r\nimport CloseIcon from \"@material-ui/icons/Close\";\r\nimport $ from \"jquery\";\r\nimport low from \"lowdb\";\r\nimport LocalStorage from \"lowdb/adapters/LocalStorage\";\r\nimport React, { useEffect, useState } from \"react\";\r\nimport {\r\n Col,\r\n Form,\r\n Modal,\r\n OverlayTrigger,\r\n Spinner,\r\n Tooltip\r\n} from \"react-bootstrap\";\r\nimport BootstrapTable from \"react-bootstrap-table-next\";\r\nimport paginationFactory from \"react-bootstrap-table2-paginator\";\r\nimport SVG from \"react-inlinesvg\";\r\nimport Select, { components, PlaceholderProps } from \"react-select\";\r\nimport {\r\n headerSortingClasses,\r\n SimpleZoom,\r\n sortCaret,\r\n toAbsoluteUrl\r\n} from \"../../../../../../../_metronic/_helpers\";\r\nimport { momentDate } from \"../../../../../../../_metronic/_helpers/ATHelpers\";\r\nimport { CheckboxLargeWB } from \"../../../../../../../_metronic/_partials/controls\";\r\nimport SelectPagination from \"../../../../../../../_metronic/_partials/widgets/Select/SelectPagination\";\r\nimport { Notification } from \"../../../../../Notification\";\r\nimport \"../../customers-table/FileViewerStyle.css\";\r\nimport { IsValid } from \"../Functions/Validation\";\r\nconst adapter = new LocalStorage(\"db\");\r\nconst db = low(adapter);\r\nexport function UpdateTicketStatus({ data, handleChangeTicketObject }) {\r\n return (\r\n
    \r\n \r\n \r\n TicketSubject\r\n {\r\n var value = { data };\r\n value.TicketSubject = e.target.value;\r\n handleChangeTicketObject(value);\r\n }}\r\n />\r\n \r\n \r\n Owner\r\n \r\n \r\n \r\n \r\n \r\n Category\r\n {\r\n var value = { data };\r\n if (e === null) {\r\n value.CategoryId = \"\";\r\n } else {\r\n value.CategoryId = e.value;\r\n }\r\n handleChangeTicketObject(value);\r\n }}\r\n />\r\n \r\n \r\n Priority\r\n \r\n \r\n \r\n FileAttachement\r\n